專利名稱:共享虛擬空間中便攜式設備的校準的制作方法
技術領域:
本發明涉及用于以便攜式設備控制虛擬場景的視圖的方法、設備和計算機程序, 并且更具體地涉及用于在虛擬或增強現實中使能多玩家互動的方法、設備和計算機程序。
背景技術:
虛擬現實(VR)是用戶通過標準輸入設備或專用多向輸入設備的使用可以與虛擬環境或虛擬人造物(virtual artifact)互動的計算機仿真環境,不論該環境是真實世界的模擬還是想象的世界。仿真的環境可以類似于真實世界,例如,用于飛行員或戰斗訓練的仿真,或者它可以顯著地不同于現實,如在VR游戲中。虛擬現實一般用來描述公共地關聯于其身處其境的、高度可視的、三維(3D)環境的大量應用。計算機輔助設計(CAD)軟件、圖形硬件加速、頭戴顯示器、數據庫手套(database gloves)和小型化的發展已經幫助推廣該概念。
增強現實(AR)提供物理真實世界環境的實況視圖,該真實世界環境的要素與虛擬計算機生成的影像合并(或由其增強)以創建混合現實。增強傳統上是實時的并且以具有環境要素的語義背景,諸如比賽期間電視上的體育比分。借助于高級AR技術(例如,增加計算機視覺和物體識別),關于用戶周圍真實世界的信息變得有互動性并且是數字地可用的。
術語增強虛擬(AV)也用在虛擬現實世界中并且類似于AR。增強虛擬也指將真實世界物體合并到虛擬世界中。作為虛擬連續(Virtuality Continuum)中的中間情況,AV指的是其中例如物理物體或人的物理要素動態集成到虛擬時間中,且可以與虛擬世界實時互動的主要虛擬空間。術語VR在本申請中作為統稱術語,除非另有說明,也包括AR和AV。
VR游戲通常要求大量計算機資源。VR游戲的手持設備中的實現很罕見并且現有游戲寧可是具有基本VR效果的簡單。另外,多玩家AR游戲允許在虛擬世界中玩家的互動, 但是,該互動限于虛擬世界中由玩家操縱的物體(例如,汽車、球拍、球等)。虛擬世界是計算機生成的并且獨立于玩家和便攜式設備的位置。當創建“現實的”虛擬現實體驗時,不考慮玩家互相之間和玩家關于他們周圍的相對位置。
正是在此背景下出現了發明的實施例。發明內容
本發明的實施例提供用于生成通過至少第一和第二設備可觀看的互動空間的方法、系統和計算機程序。應當認可的是,本發明可以以多種方式實現,諸如處理、裝置、系統、 設備或計算機可讀介質上的方法。以下描述本發明的多個發明性實施例。
在一個實施例中,方法包括從第一設備檢測第二設備的位置或者反之亦然的操作。此外,同步信息數據在第一和第二設備之間交換以在三維(3D)空間中識別相對于設備的物理位置的3D空間中的參考點。設備在設定該參考點時建立其他設備的3D空間中的物理位置。方法進一步包括用于在第一和第二設備的顯示器中生成互動場景的視圖的操作。 互動場景綁定于參考點并且包括虛擬物體。視圖示出全部或部分互動場景并且示出如從相應設備的當前位置觀察到的互動場景。在3D空間中移動設備使得根據當前位置改變視圖。
在另一實施例中,提供用于生成通過至少第一和第二設備可觀看的互動空間的方法。在一個方法操作中,檢測到第一設備和第二設備之間的輕敲,在輕敲之后,在第一和第二設備之間交換同步信息數據以在檢測到輕敲時在3D空間中識別相對于第一和第二設備的物理位置的3D空間中的參考點。另外,方法在第一和第二設備的相應顯示器中生成互動場景的視圖。該互動場景綁定于參考點并且包括虛擬物體,其中每個視圖示出如從相應設備的當前位置觀察到的互動場景。在3D空間中的設備移動使得相應視圖根據當前位置改變。
在再一實施例中,呈現在便攜式設備當中共享虛擬現實的便攜式設備。該便攜式設備包括位置模塊、通信模塊、視圖生成器和顯示器。位置模塊跟蹤便攜式設備的位置并且配置為檢測參考便攜式設備的位置的第二設備的位置。通信模塊用來在便攜式設備和第二設備之間交換同步信息數據。基于同步信息在3D空間中識別關于便攜式設備的物理位置的3D空間中的參考點。此外,視圖生成器創建綁定于參考點并且包括虛擬物體的互動場景的視圖。視圖示出全部或部分互動場景并且示出如從相應設備的當前位置觀察的互動場景。當設備由玩家在3D空間中移動時,視圖根據設備的當前位置而改變。顯示器用來示出視圖。
發明的其他方面將由下列結合附圖的詳細描述而變得清晰,以示例的方式示出發明的原理。
可以通過參考下列結合附圖的描述而最佳地理解本發明,在附圖中
圖I根據一個實施例描繪同步便攜式設備到空間中的參考點之前的用戶;
圖2圖示以便攜式設備觀察的虛擬現實場景;
圖3根據一個實施例圖示便攜式設備的移動如何在顯示器上具有如在虛擬空間中移動相機時的類似效果;
圖4根據一個實施例示出當轉動便攜式設備時在顯示器上示出的圖像中的改變的二維展示;
圖5根據一個實施例圖示如何通過網絡連接玩互動游戲;
圖6根據一個實施例圖示輕敲兩個便攜式設備以同步它們的位置的處理;
圖7根據一個實施例示出輕敲之后的兩個便攜式設備;
圖8依據發明的一個實施例圖示圍繞參考點的虛擬場景的創建;
圖9根據一個實施例描繪相同空間中的兩個玩家,在相同空間中,虛擬現實已經圍繞桌面上的參考點創建;
處理;
圖IOA-圖IOB根據一個實施例圖示使用圖像識別檢測另一便攜式設備的位置的圖11根據一個實施例示出如何通過找到第二設備中的光源來檢測第二設備;圖12圖示根據一個實施例通過找到第二設備的顯示器來檢測第二設備;圖13示出用于經由推算定位(dead reckoning)跟蹤便攜式設備的實施例;圖14根據一個實施例圖示如何使用背景中的靜態特征來調整推算定位;
圖15圖示用于多玩家環境的校準方法的一個實施例;
圖16根據一個實施例描繪多玩家虛擬現實游戲;
圖17依據發明的一個實施例示出用于生成通過至少第一和第二設備可觀看的互動空間的算法流程;
圖18圖示可用來實現發明的實施例的設備的結構;
圖19是依據本發明的一個實施例的、其中各個用戶A到用戶E與游戲客戶端1102 互動的場景A到場景E的示例性圖示,該客戶端1102經由因特網連接到服務器處理;以及
圖20圖示信息服務提供商結構的實施例。
具體實施方式
下列實施例描述用于生成通過至少第一和第二設備可觀看的互動空間的方法、裝置和計算機程序。然而,對于本領域技術人員顯然的是,可以沒有這些具體細節中的一些或全部地實踐本發明。在其他例子中,沒有詳細描述熟知的處理操作以便于不使本發明不必要地模糊。
圖I根據一個實施例描繪同步便攜式設備到空間中的參考點之前的用戶。便攜式設備102放在桌子上為同步便攜式設備到參考點做準備。用戶102已經將便攜式設備放置在將用作參考點或錨點(anchor)的點上以建立圍繞該點的虛擬現實。在圖I中示出的情況下,便攜式設備位于桌子的大致中心,并且一旦同步了便攜式設備就建立圍繞桌子中心的虛擬世界。便攜式設備可以以各種方式同步,諸如按下便攜式設備104上的按鈕、觸摸便攜式設備上的觸敏屏幕、讓該設備靜止不動一段時間(例如,5秒)、輸入聲音命令等。
一旦便攜式設備接收到要同步的輸入,就復位便攜式設備中的位置跟蹤模塊。該便攜式設備可以包括如下面參考圖18描述的多個位置跟蹤模塊,諸如加速度計、磁力計、 全球定位系統(GPS)設備、相機、深度相機、指南針、陀螺儀等。
便攜式設備可以是很多類型中的一個,諸如,手持便攜式游戲設備、手機、平板、筆記本、上網本、個人數字助理(PDA)等。參考便攜式游戲設備描述發明的實施例,但是原理可以應用于帶有顯示器的任何便攜式電子設備。發明的原理也可以應用于游戲控制器或者連接到帶有顯示器的計算設備的其他輸入設備。
圖2圖示以便攜式設備觀察的虛擬現實場景。在關于參考點106同步設備104后, 便攜式設備將開始顯示虛擬現實108的視圖。通過仿真便攜式設備的后部的相機在圍繞參考點106的3D空間內移動來創建顯示器中的視圖。圖2描繪包括棋盤的虛擬現實。便攜式設備104能夠在設備來回移動時檢測運動并且確定其相對參考點106的相對位置。位置和位置確定可以以不同方法和不同精度級別來完成。例如,可以通過分析相機捕捉的圖像, 或者通過從慣性系統、GPS、超聲三角測量、WiFi通信、推算定位(DR)等獲得的數據,或者以上組合來檢測位置。
當用戶輸入命令以設定參考點時,全部運動傳感設備歸零或校準到空間中的那個位置。例如,用戶可以將設備放置在桌上并且按下按鈕以校準全部運動傳感數據(加速度計、陀螺儀、GPS等)。從此以后,用于設備的全部所捕獲的位置信息被記錄并且經由慣性導航跟蹤相對于初始校準位置進行處理。全部后續所捕獲的位置信息被認為相對于設備校準位置(參考點)。
在一個實施例中,設備保持關于參考點106的、在便攜式設備的空間中的位置的軌跡,以及便攜式設備的空間中的位置。該位置被用來確定相機的觀看角度,即,便攜式設備用作到虛擬場景中的相機。如果便攜式設備朝向右,則視圖將轉向右,等等。換而言之, 觀看角度定義為原點在顯示器的中心(或設備的其他部分)并且具有垂直并遠離該顯示器的方向的向量。在另一實施例中,僅跟蹤空間中的位置,并且計算顯示器中的視圖,就像相機從便攜式設備所在并朝向參考點的空間中的位置指向。
在一些現有實現中,AR標簽放置在桌子上,并且用作用于產生增強現實的受托人標記(fiduciary marker)。該AR標簽可以是物體或圖畫,其在出現在真實環境的所捕獲的圖像流中時被識別。該AR標簽用作使能真實環境內的位置的確定的受托人標記。由于3D 空間內的校準和便攜式設備的位置跟蹤,發明的實施例去除了 AR標簽的需要。另外,位置信息允許便攜式設備中的游戲傳遞真實的3D虛擬體驗。此外,聯網的便攜式設備的陣列可以用來創建共享虛擬世界,如同下面參考圖15和圖16描述的。
圖3根據一個實施例圖示便攜式設備的移動如何在顯示器上具有如在虛擬空間中移動相機時的類似效果。圖3示出虛擬球體內的汽車302。假定便攜式設備是從球體內的點指向汽車302、隨著便攜式設備在球體內移動可以獲得汽車的多個視圖。例如,從“北極點”的視圖將示出汽車的頂部,并且從“南極點”的視圖將示出汽車的底部。同樣在圖3 中示出的是汽車側面、前面、后面的視圖。
在一個實施例中,玩家可以輸入命令以改變或翻轉虛擬世界的視圖。例如,在汽車的情況下,玩家從看汽車的前面轉向看汽車的后面,仿佛場景旋轉了 180°并且軸垂直地穿過參考點。這樣,玩家不必移動空間以獲得不同的觀看角度。其他輸入可以產生不同效果, 諸如90°轉向、視圖的縮放(使虛擬世界看起來更小或更大)、關于X, y或z軸旋轉等。在另一實施例中,在用戶的手上的便攜式設備的翻轉(即180°旋轉)將使虛擬世界的視圖上下翻轉。
圖4根據一個實施例示出當轉動便攜式設備時在顯示器上示出的圖像上的改變的二維展示。便攜式設備402以觀看角α朝向墻體,導致墻體上的投影410。因此,便攜式設備402上的視圖將對應于投影410。當設備402轉動角度β時,便攜式設備停在位置 404。視圖也轉動角度β同時維持相機觀看角度a。其結果是,便攜式設備上的視圖對應于投影412。應當注意的是,屏幕上的視圖獨立于諸如位置408和406之類的眼睛位置,并且該視圖與玩家在哪里無關。顯示器上的圖像取決于用作虛擬相機的便攜式設備的位置。
圖5根據一個實施例圖示如何通過網絡連接玩互動游戲。很多類型的游戲在共享空間內是可能的。例如,便攜式設備可以用作球拍來玩乒乓球游戲。來回移動設備仿佛在那里球拍可以擊中虛擬球。玩家看到該球在屏幕和對手的屏幕之間漂浮。在戰爭游戲的實施例中,玩家看便攜式設備并且將彈射器朝向敵人的壁壘。玩家向后拉設備以裝載彈射器, 并且然后按下按鈕以將彈射器向敵人的壁壘發射。
如圖5所示,當玩家在不同位置時也可以創建共享空間。玩家已經建立網絡連接以玩游戲。每個玩家同步他的設備到玩家的空間中的參考點,并且創建諸如乒乓桌的虛擬現實。對手示出在桌子的他那一側之后,在其中,對手的設備的移動匹配對手的球拍的運動。為了甚至更真實的游戲體驗,游戲也可以添加化身以拿著球拍。在玩的期間,每個設備保持設備的運動和位置的跟蹤。此信息與其他設備共享以使其他設備能放置匹配設備的運動的虛擬球拍。也共享諸如球的位置和移動的其他游戲信息。
圖6根據一個實施例圖示輕敲兩個便攜式設備以同步它們的位置的處理。用于設定共同的虛擬或增強空間的一個方法包括輕敲兩個便攜式設備。輕敲意味著輕輕地用一個設備撞擊另一個。在圖6示出的情形中,兩個玩家正分別拿著便攜式設備604和606。為了校準兩個設備到相同的參考點,玩家通過將兩個設備放置在一起來輕敲設備。在圖6中,背靠背地放置兩個設備,但是對于校準任何位置都是可能的,諸如前對后。檢測輕敲的關鍵是一個或兩個設備注意到運動中的突然改變,諸如設備的猛然減速。
例如,兩個設備都可以向對方移動,并且當他們輕敲時,兩個設備都停止。設備中諸如陀螺儀612和加速度計614之類的慣性模塊注意到動量的改變并且隨后可以建立輕敲。在另一情形下,一個便攜式設備是靜止的而另一個便攜式設備向該靜止設備移動。當設備輕敲時,移動設備將注意到動量的猛然改變而因為動量的小改變可以歸結于玩家的手的自然運動,靜止設備可能或可能未檢測到輕敲。為了檢測輕敲,一個設備檢測到輕敲就足夠了,而不要求兩個設備都同時檢測到輕敲。在一個實施例中,兩個設備都檢測到輕敲并且如果檢測基本同時,則確定輕敲已經發生了。為了確定檢測是否同時,設備交換關于該事件的定時信息。
在另一實施例中,一旦便攜式設備602和602同步到相同的虛擬空間,則它們的移動以加速度計614跟蹤,使能創建穩定和持續的增強現實環境,無論用戶如何移動便攜式設備。在再一實施例中,慣性移動信息可以用相機606或610捕獲的圖形數據補充。圖形數據可以用來檢測另一設備并估計設備之間的距離,如同下面參考圖IOA-圖12討論的。
圖7根據一個實施例示出輕敲之后的兩個便攜式設備。輕敲可以通過使便攜式設備接觸來完成,但是輕敲也可以在不使兩個設備實際接觸而完成。全部所要求的是,它們運動的改變在大致相同的時間發生。例如,如果玩家的手指在第一設備之后,則在第二設備接觸玩家的手指時檢測到輕敲,引起設備的運動的改變。
一旦由任一設備或兩個設備都檢測到輕敲,便攜式設備就交換數據以確認輕敲已經發生。例如,設備可以經由WiFi或超聲通信來進行通信。如同之前在圖I-圖2中所討論的,創建參考點。參考點可以位于設備的背面的一些地方,諸如當設備輕敲時每個設備的中心。在另一實施例中,可以使用TransferJet接口進行數據的交換。TransferJet是在在兩個設備之間檢測到緊密接近時使能通信的接口。
應當注意的是,每個設備的實際參考點在用于兩個設備的空間中可以不是實際相同的點。換而言之,每個設備可以具有不同的參考點,盡管在大多數情況下,參考點將互相接近。重要的事情是,兩個設備建立參考點并隨后開始跟蹤虛擬或增強空間周圍的移動。結果是共同虛擬空間。參考點可以設定在便攜式設備的背部的中央、顯示器的中央、相機所在地、加速度計所在地等。
一旦設定參考點,運動跟蹤模塊復位到零以設定原點來測量空間中的位置。此操作這里指的是校準便攜式設備,并且便攜式設備的三維位置的計算參考此原點計算。
圖8依據發明的一個實施例圖示圍繞參考點的虛擬場景的創建。在圖7的兩個便攜式設備被拉開時,創建虛擬或增強現實游戲區域。對應于便攜式設備所在的3D空間中的位置指定諸如戰士 804和806的虛擬物體。3D空間中的坐標原點是參考點808。因為虛擬物體相對空間中的點定位,所以不需要SLAM或ARTAG用于維持增強現實。
通過圍繞游戲世界物理地移動便攜式設備來控制關聯于來自顯示器的視圖的虛擬相機,其中該游戲世界已經放置在參考真實世界的固定位置上。應當注意的是,虛擬世界不限于便攜式設備之間的空間,而是可以擴展并覆蓋任何便攜式設備之上、之下和之后的區域。
圖9根據一個實施例描繪相同空間中的兩個玩家906a_906b,在該空間中虛擬現實已經圍繞桌子904上的參考點902創建。玩家906a-906b已經同步它們的設備908a和 908b到位于桌子904頂部的共同參考點902。因為點P0902是參考點,所以PO也是坐標原點并且它具有坐標(XO=O,YO=O, ZO=O)ο玩家在房間內,但是虛擬現實這里也指虛擬場景, 延伸到房間的物理邊界之外。
在一個示例實施例中,虛擬場景綁定到參考點,因為虛擬場景(即通過設備的屏幕看到的)的幾何是至少部分地基于參考點。例如,虛擬場景中的虛擬物體的坐標可以關于參考點確定。在一個實施例中,參考點是坐標原點,因此參考點具有坐標(0,O, O)。
可以使用任何測量標準來測量坐標。但是,為了提供視覺示例,而不限制所使用的實際坐標,如果虛擬場景的坐標以米來測量,則具有坐標(1,O, O)的物體將位于參考點右邊一米處。當然,真實或虛擬的物體的坐標可以在場景改變時動態地更新,諸如當虛擬物體在場景內移動時。并且,可以通過計算機(例如,互動程序)設定的動作、用戶的動作所驅動的動作或兩者的組合來定義改變。另外,出于清晰的目的,互動程序可以是任何類型的程序, 諸如視頻游戲、商用程序、因特網接口或簡單的圖形用戶接口之類,該圖形用戶接口提供到數據、到其他用戶、到程序或到可能或不可能由說話人顯示或投影的對象的訪問。
更進一步,其他實施例可以具有不同坐標系或使用縮放。例如,取代笛卡爾系的坐標系可以是極坐標、球坐標、拋物線坐標等。另外,參考點不必是坐標系的原點,并且可以放置在不同地方。出于提供示例的目的,參考點可以位于坐標(5,5,5)以在必須在5米之外的點中使用負坐標值之前使能在每個方向上5米的緩沖。在另一情形下,建立虛擬物體以縮放并且坐標也以一比例測量。例如,虛擬物體可以以1:10的比例建立,并且幾何軸也可以具有1:10的比例,從而坐標(1,0,O)的物體在“真實”世界中是I米遠而在虛擬世界中是 10米遠。
在圖9中,虛擬物體包括直升機914a_914c、云、鳥、太陽906等。隨著玩家906a和 906b移動他們的設備,虛擬場景的視圖改變,仿佛玩家正將相機拿入虛擬世界中。應當注意的是,在設備908a和908b中示出的視圖可以包括或可以不包括參考點。例如,盡管基于設備908a和參考點902的位置計算設備908a中的視圖,但是玩家906a拿著的設備908a遠離參考點902地朝向,所以參考點902在設備908a中不可觀看。此外,可以在玩家的顯示器中看到實際參考點作為某種標記(諸如,“X”),以讓玩家知道參考點的所在。在其他實施例中,參考點不可觀看并且僅作為地理位置存在而無任何具體標記。
除了桌子904之外,房間還包括其他靜態物體,諸如電視912和窗戶910。太陽918 通過窗戶910可見。應當注意的是,虛擬太陽916不必對應于真實的太陽918。在一個實施例中,虛擬太陽916可以放置在真實太陽918的所在地,或光源在房間中的所在地。這樣, 虛擬或增強世界中的光照和陰影將創造匹配房間中的光照和陰影的真實的效果。
如在圖9中所見,僅因為便攜式設備同步到了桌子上的點,所以虛擬物體不必在桌子上或靠近參考點。虛擬物體可以位于空間內的任何地方。當便攜式設備包括相機時,10房間內的靜態特征可以由便攜式設備使用以通過以來自它們相機的視圖來調整它們的慣性測量以維持當前位置的精確測量。便攜式設備中的圖像分析可以檢測窗戶的邊緣、光源、 桌子的邊緣、墻體上的繪畫、電視等。下面參考圖13-圖14描述更多細節。
在一個實施例中,玩家可以通過將設備再次放置在參考點上來做便攜式設備的快速校準,并且然后輸入命令以復位設備中的運動檢測模塊。
圖IOA-圖IOB根據一個實施例圖示使用圖像識別檢測另一便攜式設備的位置的處理。如在圖IOA中所見,如果兩個便攜式設備都是相同的型號并且包括相機1006,則可以使用相機捕獲的圖像來同步兩個設備。例如,便攜式設備1002以相機1006拍攝圖像。因為便攜式設備1002已經接收了同步命令,所以便攜式設備1002對其他便攜式設備1004的后部掃描圖像。在圖IOB中示出的所拍攝的圖像的示意圖。
便攜式設備1022已經檢測到矩形1010,其匹配正被搜索的便攜式設備的特性。矩形1010具有水平軸1012和垂直軸1014。水平軸1012相對水平1018傾斜角度α。因為便攜式設備1002知道其他便攜式設備1004的尺寸,所以便攜式設備1002做出合適的數學計算,將圖像中的便攜式設備的大小與真實測量比較以確定便攜式設備1004的距離、位置和朝向。
一旦便攜式設備知道便攜式設備1004的相對位置,便攜式設備1002和1004交換位置信息以設定共同的參考點并建立該參考點周圍的共同的虛擬或增強現實。
圖11根據一個實施例示出如何通過找到第二設備中的光源來檢測第二設備。除了便攜式設備1102具有由其他便攜式設備檢測到的光源,圖11的同步處理類似于以上參考圖10描述的處理。當便攜式設備在同步處理中時,打開光源以促進相機拍攝的圖像內的光的檢測。光源可以是發光二極管(LED)、紅外光、相機閃光燈等。
在另一實施例中,一個便攜式設備中的深度相機被用來測量到其他設備的距離。 一旦知道距離,參考點就可以基于任一設備的位置來設定。諸如圖像數據的額外數據也可以用來補充設備的相對位置的計算。
應當注意的是,兩個設備在大致相同的時間都檢測到彼此是可能的。在此情況下, 便攜式設備的相對位置的計算可以通過一個便攜式設備或通過另一個來完成,或可以是由兩個便攜式設備進行的測量的組合。
圖12圖示根據一個實施例通過找到第二設備的顯示器來檢測第二設備。當校準便攜式設備1206和1208到共同空間時,諸如便攜式設備1208的設備之一被“轉過來”,從而顯示器1202面朝便攜式設備1206中的相機。例如,便攜式設備1208已經示出要求用戶 “將設備轉過來以使顯示器面朝另一便攜式設備”的消息。
隨后可以點亮顯示器1202,諸如例如顯示白色屏幕。顯示器的亮度促進由便攜式設備1206檢測顯示器。點亮的顯示器對大多背景示出高對比度,包括在很多情況下,拿著設備的玩家的前方。可以添加其他圖案或色彩到顯示器以改進其檢測。例如,圖12示出內部帶有正方圖案的圓形用于更容易使用幾何學識別顯示器。
用于校準兩個設備(也指配對)的其他方法可以在于2009年12月24日提交的標題為“WIRELESS DEVICE PAIRING METHODS(無線設備配對方法)”的美國申請號12/647,291 (代理人卷號S0NYP095A);于2009年12月24日提交的標題為“WIRELESS DEVICE PAIRING AND GROUPINGMETHODS (無線設備配對和分組方法)”的美國申請號12/647,296 (代理人卷號 S0NYP095B)和于 2009 年 12 月 24 日提交的標題為 “WIRELESS DEVICEMULTIMEDIA FEED SWITCHING(無線設備多媒體饋送交換)”的美國申請號12/647,299(代理人卷號S0NYP095C) 中找到,它們通過引用合并于此。
在另一實施例中,便攜式設備1208具有兩個顯示器,一個在前且一個在后。在此情況下,不需要將便攜式設備1208轉過來以使顯示器面朝其他玩家。便攜式設備1206將能夠從便攜式設備1208檢測前方的顯示器或后方的顯示器以進行校準。
圖13示出用于經由推算定位跟蹤便攜式設備的實施例。如果便攜式設備裝備有離開用戶臉部朝向的相機,則可以經由推算定位和慣性導航知道設備的位置。另外,相機真實世界視圖可以與計算機生成的圖形混合。
推算定位是基于之前確定的位置估計當前位置或方位(fix)并且基于在經過的時間和路線上的已知或估計的速度預計該位置的處理。推算定位的缺點是由于新位置僅從之前的位置計算,所以處理的誤差是累積性的,從而位置方位的誤差隨時間增長。
圖13示出已經校準到桌子1310上的點的兩個便攜式設備。久而久之,設備1302A 已經繞房間前行,如在推算定位測量的軌跡1306中所觀察的。軌跡1306中的點示出使用上次測量之后的便攜式設備1302A的之前位置和移動來估計位置的次數(times)。另一方面,實際軌跡1308示出空間中便攜式設備的實際軌跡。隨時間經過,由于推算定位的本質和誤差積累,測量的軌跡趨向離真實軌跡越來越遠。但是,可以調節推算定位跟蹤以校正與真實軌跡的偏差,如下面參考圖14描述的。
圖14根據一個實施例圖示如何在背景中使用靜態特征調整推算定位。推算定位偏移通常很小,但是一段時間的誤差積累可以創造離實際路線的較大的偏差。在一個實施例中,DR誤差用跟蹤房間內的諸如桌子1301的邊緣、窗戶、電視等之類的靜態圖案的視頻校正,如之前參考圖9描述的。
誤差校正可以以每個DR位置測量或以特定間隔或者以每特定數量的測量進行。 為了進行校正,DR計算設備的位置并且相機拍攝設備前面的圖像。便攜式設備保持一個或多個靜態特征的跟蹤,并且將該靜態特征的實際位置與預計位置比較。因為靜態特征不移動,所以差別歸因于DR推算誤差。重新計算位置以便于在相同的地方具有預計的靜態特征和測量的靜態特征。
在另一實施例中,便攜式設備互相通信并且通過交換DR和特征信息來協調兩個設備的運動跟蹤。這樣,可以獲得房間中的靜態物體的真實3D模型。
圖15圖示用于多玩家環境的校準方法的一個實施例。將從設備傳感器(加速度計、GPS、指南針、深度相機等)獲得的位置信息傳送到其他鏈接的設備以增強虛擬空間中的協同保持的數據。在創建同步到共同參考點1502的共同共享空間的一個實施例中,第一玩家1504A將她的設備同步到相對于參考點1502的3D空間中。其他玩家在共享空間中建立與第一玩家的通信鏈接以交換位置和游戲信息。相對位置可以以不同方式獲得,諸如使用 WiFi三角測量和ping測試以確定相對位置。另外,視覺信息可以用來確定其他位置,諸如檢測其他玩家的臉部以及從他們的臉部確定游戲設備的可能位置。
在一個實施例中,借助于超聲通信和方向性麥克風,使用音頻三角測量來確定相對位置。可以使用多個頻率來進行音頻三角測量。一旦設備已經交換位置信息,諸如超聲、 WiFi或藍牙之類的無線通信用來同步剩余的設備到參考點1502。在全部設備校準之后,設備知曉參考點1502和它們相對于參考點1502的相對位置。應當認可的是,可以使用其他方法來校準多設備到共享參考點。例如,通過將設備依次放置在參考點上,全部設備可以校準到相同的參考點。
通過使用由房間內的光源決定的陰影和光照可以使虛擬場景甚至更加真實。通過使用相機饋送(feed),游戲環境和角色使光照和陰影受真實世界的影響。這意味著,玩家的手將投影陰影在虛擬人物或者物體上,如同手進入虛擬世界中以與虛擬物體互動。游戲世界陰影和光照由真實世界陰影和光照調整,以盡可能獲得最佳效果。
圖16根據一個實施例描繪多玩家虛擬現實游戲。當校準的位置數據和圖像分析數據與高速連通性組合時,位置信息和游戲信息可以在每個設備之間交換,選擇所述設備以參與共享空間游戲體驗。這允許每個玩家的系統訪問來自全部其他玩家的相機視圖和位置信息,以一起同步它們的校準位置并共享虛擬空間(也指共享空間)。
在玩家1602A-1602C已經參考共同3D空間中的點(諸如桌子上的點)同步或校準它們的便攜式設備之后,創建共同虛擬場景1604。每個玩家都具有虛擬場景1604的視圖, 仿佛虛擬場景(在此情況下是戰斗板游戲)在玩家前的桌子上是真實的。便攜式設備用作相機,從而當玩家來回移動設備時,視圖改變。其結果是,每個顯示器上的實際視圖獨立于其他顯示器中的視圖并且該視圖是僅基于便攜式設備相對于虛擬場景的相對位置的,該虛擬場景錨定于3D空間中的實際物理位置。
通過與便攜式設備之間的高速通信一起使用多個相機、加速度計和其他機械設備來確定位置,可以創建3D運動捕獲類體驗,其允許玩家以可信的方式看到并且可能觸摸虛擬游戲人物和環境。
共享空間1604使用設備的高速連通性來在參與共享空間游戲體驗的設備之間交換信息。通過將設備轉向持續在每個設備之間的空間上的穩定的“魔法窗戶”,來通過該設備觀看共享空間1604游戲區域,通過使用每個設備之間的運動跟蹤、圖像分析和信息的高度持續性的組合,即使在設備來回移動時,游戲區域在穩定的位置出現。
圖17依據發明的一個實施例示出用于生成通過至少第一和第二設備可觀看的互動空間的算法流程。算法描述在每個便攜式設備上進行的處理流程,并且對第一設備和第二設備描述獨立的流程。關于第一設備,方法以操作1702開始,在操作1702中,檢測到第二設備的位置或者接收第二設備已經檢測到第一設備的通知。方法進行到操作1704,其中與第二設備交換同步信息數據以識別3D空間中的參考點。該參考點有關空間中第一和第二設備的物理位置。另外,兩個設備都在設定參考點時建立其他設備的3D空間中的物理位置。
方法從操作1704前進到操作1706,用于在顯示器中生成包括參考點和一個或多個虛擬物體的互動場景的視圖。該視圖示出如從設備的當前位置觀察的互動場景的透視。 在顯示器中示出視圖之后,在操作1708中進行檢查以確定第一設備是否已經移動。如果第一設備已經移動,則方法前進到操作1710以根據第一設備的新位置來改變用于顯示的視角。如果設備未移動,則方法循環回操作1706以繼續更新顯示,諸如反應在玩游戲期間的虛擬物體的改變。
在操作1702、1704和1706期間,第一設備可以與第二設備交換游戲和位置跟蹤信息。第二設備進行類似于第一設備在操作1712、1714、1716、1718和1720中進行的方法。
圖18圖示可以用來實現發明的實施例的設備的結構。便攜式設備是計算設備并且包括出現在計算設備中的典型模塊,諸如,處理器、存儲器(RAM、R0M等)、電池或其他電源以及永久存儲器(諸如硬盤)之類。通信模塊允許便攜式設備與其他便攜式設備、其他計算機、服務器等交換信息。通信模塊包括通用串行總線(USB)連接器、通信鏈路(諸如以太網之類)、超聲通信、藍牙和WiFi。
輸入模塊包括輸入按鈕和傳感器、麥克風、觸敏屏幕、相機(前向、后向、深度相機) 和讀卡器。諸如鍵盤或鼠標之類的其他輸入/輸出設備也可以經由諸如USB或藍牙之類的通信鏈路連接到便攜式設備。輸出模塊包括顯示器(帶有觸敏屏幕)、發光二極管(LED)、震動觸感反饋和揚聲器。其他輸出設備也可以經由通信模塊連接到便攜式設備。
可以由位置模塊使用來自不同設備的信息以計算便攜式設備的位置。這些模塊包括磁力計、加速度計、陀螺儀、GPS和指南針。另外,位置模塊可以分析用相機和麥克風捕獲的聲音或圖像數據,以計算位置。更進一步,位置模塊可以進行諸如WiFi ping測試或超聲測試之類的測試以確定便攜式設備的位置或附近其他設備的位置。
如之前描述的,虛擬現實生成器使用由位置模塊計算的位置創建虛擬或增強現實。視圖生成器基于虛擬現實和位置創建在顯示器上示出的視圖。該視圖生成器也可以使用應用于多揚聲器系統的方向性效果產生源自虛擬現實生成器的聲音。
應當認可的是,在圖21中圖示的實施例是便攜式設備的示例性實現。其他實施例可以使用不同模塊、模塊的子集或指定有關任務到不同模塊。因此,在圖21中圖示的實施例不應當解釋為排他的或限制性的,而是示例性或示意性的。
圖19是依據本發明的一個實施例的其中用戶A到用戶E與游戲客戶端1102互動的場景A到場景E的示例性圖示,該客戶端1102經由因特網連接到服務器處理。游戲客戶端是允許用戶經由因特網連接服務器應用和處理的設備。游戲客戶端允許用戶訪問和回放在線娛樂內容,諸如但不限于游戲、電影、音樂和照片。另外,游戲客戶端可以提供對諸如 VOIP、文本聊天協議和電子郵件之類的在線通信應用的訪問。
用戶經由控制器與游戲客戶端互動。在一些實施例中,控制器是游戲客戶端專用控制器,而在其他實施例中,控制器可以是鍵盤和鼠標的組合。在一個實施例中,游戲客戶端是獨立設備,能夠輸出音頻和視頻信號以通過監視器/電視和關聯的音頻裝備創建多媒體環境。例如,游戲客戶端可以是但不限于薄客戶端、內部PCI-express卡、外部 PCI-express設備、ExpresCard設備、內部、外部或無線USB設備、或者Firewire設備等。 在其他實施例中,游戲客戶端與電視或諸如DVR、藍光播放器、DVD播放器或多通道接收器之類的其他多媒體設備集成。
在圖22的場景A內,用戶A使用與游戲客戶端1102A配對的控制器100與在監視器106上顯示的客戶端應用互動。類似地,在場景B內,用戶B使用與游戲客戶端1102B配對的控制器100與在監視器106上顯示的另一客戶端應用互動。場景C圖示當用戶C看著顯示來自游戲客戶端1102C的游戲和好友列表的監視器時在用戶C后面的視圖。雖然圖22 示出單一服務器處理模塊,但是在一個實施例中,存在遍布世界的多個服務器處理模塊。每個服務器處理模塊包括用于用戶對話控制、共享/通信邏輯、用戶地理位置和負載平衡處理服務的多個子模塊。此外,服務器處理模塊包括網絡處理和分布式存儲。
當游戲客戶端1102連接服務器處理模塊時,可以使用用戶對話控制來驗證用戶。所驗證的用戶可以具有關聯的虛擬化分布式存儲和虛擬化網絡處理。可以存儲為用戶的虛擬化分布式存儲的一部分的示例項包括所購買的媒體,諸如但不限于游戲、視頻和音樂等。 另外,分布式存儲可以用來保存多個游戲的游戲狀態、單獨游戲的個性化設置和游戲客戶端的通用設置。在一個實施例中,服務器處理的用戶地理位置模塊用來確定用戶和他們各自的游戲客戶端的地理位置。用戶的地理位置可以由共享/通信邏輯和負載平衡處理服務兩者使用,以基于地理位置和多服務器處理模塊的處理需求優化性能。虛擬化網絡處理和網絡存儲中的一個或兩者將允許來自客戶端的處理任務對利用不足的(多個)服務器處理模塊是動態變換的。因此,負載平衡可以用來最小化與存儲器的撤回(recall from)以及與服務器處理模塊和游戲客戶端之間的數據傳輸兩者相關聯的延遲。
服務器處理模塊具有服務應用A和服務應用B的例子。服務器處理模塊能夠支持如服務器應用Xl和服務器應用X2所指示的多個服務器應用。在一個實施例中,服務器處理是基于集群計算結構,該集群計算結構允許集群內的多個處理器處理服務器應用。在另一實施例中,將不同類型的多計算機處理方案應用于處理服務器應用。這允許縮放服務器處理,以便于容納執行多客戶端應用和對應的服務器應用的大量游戲客戶端。替代地,可以縮放服務器處理以容納更苛刻的圖像處理或游戲、視頻壓縮抑或應用復雜性所必須的增加的計算需求。在一個實施例中,服務器處理模塊經由服務器應用進行主要的處理。這允許在中心放置相對昂貴的組件(諸如圖像處理器、RAM和通用處理器之類)并降低游戲客戶端的成本。將所處理的服務器應用數據經由因特網發送回對應的游戲客戶端,以在監視器上顯不O
場景C圖示可以由游戲客戶端和服務器處理模塊執行的示例性應用。例如,在一個實施例中,游戲客戶端1102C允許用戶C創建和觀看包括用戶A、用戶B、用戶D和用戶E 的好友列表1120。如所示,在場景C中,用戶C能夠在監視器106C上看到各個用戶的實時圖像或化身。服務器處理執行游戲客戶端1102C與用戶A、用戶B、用戶D和用戶E各自的游戲客戶端1102的各個應用。因為服務器處理知道游戲客戶端B執行應用,所以用戶A的好友列表可以指示游戲用戶B正在玩哪個游戲。更進一步,在一個實施例中,用戶A可以在直接來自于用戶B的游戲視頻中實際觀看。這通過僅將所處理的用戶B的服務器應用數據除了發送到游戲客戶端B之外還發送到游戲客戶端A而實現。
除了能夠觀看來自好友的視頻之外,通信應用可以允許好友之間的實時通信。當應用于之前的示例時,這允許用戶A在觀看用戶B的實時視頻時提供鼓勵或提示。在一個實施例中,通過客戶端/服務器應用建立雙向實時聲音通信。在另一實施例中,客戶端/服務器應用使能文本聊天。在再一實施例中,客戶端/服務器應用將語音轉換為文本用于在好友的屏幕上顯示。
場景D和場景E圖示各自的用戶D和用戶E分別與游戲控制臺1110D和1110E互動。每個游戲控制臺1110D和1110E都連接到服務器處理模塊并圖示服務處理模塊對游戲控制臺和游戲客戶端兩者協調游戲進行的網絡。
圖20圖示信息服務提供商結構的實施例。信息服務提供商(ISP)250將大量信息服務傳遞到地理上分散并經由網絡266連接的用戶262。ISP可以只傳遞諸如股票價格更新之類的一類服務,或諸如廣播媒體、新聞、體育、游戲等之類的多種服務。另外,由每個ISP 供應的服務是動態的,即,服務可以在任何時間點上添加或撤走。因此,將具體類型的服務提供給具體個體的ISP可以隨著時間改變。例如,當用戶在她本地時,用戶可以由鄰近用戶的ISP服務,并且在該用戶旅行到不同城市時,該用戶可以由不同ISP服務。本地ISP將傳輸所要求的信息和數據到新ISP,從而用戶信息“跟隨”用戶到新城市,使得數據更靠近用戶并且更易于訪問。在另一實施例中,可以在管理用戶的信息的主ISP和在來自管理者ISP 的控制下直接與用戶對接的服務器ISP之間建立主-服務器(master-server)關系。在其他實施例中,當客戶環繞世界移動時,將數據從一個ISP傳輸到另一 ISP以使得在對服務用戶更好的位置上的ISP是傳遞這些服務的ISP。
ISP 250包括應用服務提供商(ASP) 252,其通過網絡將基于計算機的服務提供給消費者。使用ASP模型供應的軟件有時也被稱為按需軟件或軟件即服務(SaaS)。提供對具體應用程序(諸如消費者關系管理之類)的訪問的簡單形式是通過使用諸如HTTP之類的標準協議。通過由賣主提供的專用客戶端軟件或諸如薄客戶端之類的其他遠程接口,應用軟件駐留在賣主的系統上并且由用戶通過使用HTML的網頁瀏覽器訪問。
在廣闊地理區域上傳遞的服務經常使用云計算。云計算是計算的一種類型,其中, 將可動態縮放并通常虛擬化的資源作為在因特網上的服務提供。用戶不需要是支持他們的 “云”中的技術基礎架構的專家。云計算可以分為不同服務,諸如基礎架構即服務(IaaS)、平臺即服務(PaaS)和軟件即服務(SaaS)之類。云計算服務通常在線提供公共商務應用,其從網頁瀏覽器訪問,而將軟件和數據存儲在服務器上。術語云基于如何在計算機網絡圖中描繪因特網用作因特網的隱喻,并且是其掩蓋的復雜基礎構架的抽象。
此外,ISP 250包括游戲處理服務器(GPS) 254,其由游戲客戶端用來玩單人或多人視頻游戲。在因特網上玩的大多數視頻游戲經由到游戲服務器的連接操作。典型地,游戲使用專用服務器應用,該專用服務器應用收集來自玩家的數據并將其分配給其他玩家。這比端到端的安排更高效和有效,但是它要求獨立服務器來管理服務器應用。在另一實施例中,GPS建立玩家和他們的各自的游戲娛樂設備之間的通信來交換信息而不依賴中心化的 GPS。
專用GPS是獨立于客戶端運行的服務器。這樣的服務器通常運行在定位于數據中心里的專用硬件上,提供更多帶寬和專用處理能力。專用服務器對于大多數基于PC的多人游戲是承載游戲服務器的優選方法。巨量多人在線游戲運行在通常由擁有游戲權益的軟件公司管理的專用服務器上,允許他們控制和更新內容。
廣播處理服務器(BPS) 256將音頻或視頻信號分發給觀眾。對非常窄的范圍的觀眾廣播有時稱為窄廣播。廣播分發的最后環節是信號如何達到聽眾或觀看者,并且它可以如以無線電臺或TV臺地通過大氣到達天線或接收器,或可以經由電臺或直接來自于網絡通過有線TV或有線無線電(或“無線電纜”)達到。因特網也可以將無線電或TV帶給接受者,特別是借助于允許共享信號和帶寬的多址通信。歷史上,廣播用地理地區來劃界,諸如國家廣播或地區廣播之類。但是,隨著快速因特網的拓展,因為內容可以達到幾乎世界上的任何國家,不用地理定義廣播。
存儲服務提供商(SSP) 258提供計算機存儲空間和相關管理服務。SSP也供應周期性備份和歸檔。通過將存儲作為服務供應,用戶可以訂購所要求的更多存儲。另一主要優勢是SSP包括備份服務且如果用戶的計算機的硬盤驅動損壞,用戶將不會丟失他們的全部數據。此外,多個SSP可以有用戶數據的完全或部分拷貝,允許用戶以獨立于用戶所在地或用來訪問數據的設備的高效方式訪問數據。例如,用戶可以在家庭計算機中訪問個人文件,以及當用戶在行進中在移動電話中訪問個人文件。
通信提供商260向用戶提供連接性。一種通信提供商是供應對因特網的訪問的因特網服務提供商(ISP)。ISP使用適于傳遞因特網協議數據電文的數據傳輸技術(諸如,撥號、DSL、電纜調制解調器、無線或專用高速互連之類)連接其消費者。通信提供商也可以提供消息服務,諸如電郵、即時消息和SMS發短信之類。另一類通信提供商是網絡服務提供商 (NSP),其通過提供對因特網的直接骨干網訪問來出售帶寬或網絡訪問。網絡服務提供商可以由電信公司、數據承載商、無線通信提供商、因特網服務提供商、供應高速因特網訪問的有線電視運營商等構成。
數據交換268互連ISP 253內的多個模塊并且將這些模塊經由網絡266連接到用戶262。數據交換268可以覆蓋小的區域,其中ISP 250的全部模塊處于緊密鄰近,或當不同模塊地理分散時,可以覆蓋大的地理區域。例如,數據交換268可以包括數據中心的機柜內的快速千兆以太網(或更快),或者洲際虛擬局域網絡(VLAN)。
用戶262借助于客戶端設備264訪問遠程服務,該客戶端設備264包括至少CPU、 顯示器和I/o。客戶端設備可以是PC、移動電話、上網本、PDA等。在一個實施例中,ISP 250 識別客戶端使用的設備的類型,并且調整所采用的通信方法。在其他情況下,客戶端設備使用諸如html之類的標準通信方法來訪問ISP 250。
信息服務提供商(ISP) 250將多個信息服務傳遞到地理上分散且經由網絡266連接的用戶262。ISP可以僅傳遞諸如股票價格更新之類的一類服務,或者傳遞諸如廣播媒體、新聞、體育、游戲等的多種服務。另外,由每個ISP供應的服務是動態的,S卩,服務可以在任何時間點上添加或撤走。因此,將具體類型的服務提供給具體個體的ISP可以隨著時間改變。例如,當用戶在她本地時,用戶可以由鄰近用戶的ISP服務,并且在該用戶旅行到不同城市時,該用戶可以由不同ISP服務。本地ISP將傳輸所要求的信息和數據到新ISP,從而用戶信息“跟隨”用戶到新城市,使得數據更靠近用戶并且更易于訪問。在另一實施例中, 可以在管理用戶的信息的管理者ISP和在來自管理者ISP的控制下直接與用戶對接的服務器ISP之間建立管理者-服務器關系。在其他實施例中,當客戶環繞世界移動時,將數據從一個ISP傳輸到另一 ISP以使在更好的位置服務用戶的ISP成為傳遞這些服務的ISP。
ISP 250包括應用服務提供商(ASP) 252,其通過網絡提供基于計算機的服務到消費者。使用ASP模型供應的軟件有時也稱為按需軟件或軟件即服務(SaaS)。提供對具體應用程序(諸如消費者關系管理)的訪問的簡單形式是通過使用諸如HTTP之類的標準協議。 通過由賣主提供的特殊目的客戶端軟件或諸如薄客戶端之類的其他遠程接口,應用軟件駐留在賣主的系統并且由用戶通過使用HTML的網頁瀏覽器訪問。
在廣闊地理區域上傳遞的服務經常使用云計算。云計算是計算的一種類型,其中, 將可動態縮放并通常虛擬化的資源作為服務在因特網上提供。用戶不需要是支持他們的 “云”中的技術基礎架構的專家。云計算可以分為不同服務,諸如基礎架構即服務(IaaS)、平臺即服務(PaaS)和軟件即服務(SaaS)。云計算服務通常在線提供公共商務應用,其從網頁瀏覽器訪問,而將軟件和數據存儲在服務器上。術語云基于如何在計算機網絡圖中描繪因特網用作因特網的隱喻,并且是其掩蓋的復雜基礎構架的抽象。
此外,ISP 250包括游戲處理服務器(GPS) 254,其由游戲客戶端用來玩單人或多人視頻游戲。在因特網上玩的大多數視頻游戲經由到游戲服務器的連接操作。典型地,游戲使用專用服務器應用,該專用服務器應用收集來自玩家的數據并將其分配給其他玩家。 這比端到端的安排更高效和有效,但是它要求獨立服務來管理服務器應用。在另一實施例中,GPS建立玩家和他們的各自的游戲娛樂設備之間的通信來交換信息而不依賴中心化的 GPS。
專用GPS是獨立于客戶端運行的服務器。這樣的服務器通常運行在數據中心里的專用硬件上,提供更多帶寬和專用處理能力。專用服務器對于大多數基于PC的多人游戲是管理游戲服務器的優選方法。巨量多人在線游戲運行在通常由擁有游戲權益的軟件公司管理的專用服務器上,允許他們控制和更新內容。
廣播處理服務器(BPS) 256將音頻或視頻信號分配給觀眾。對非常窄的范圍的觀眾廣播有時稱為窄廣播。廣播分配的最后環節是信號如何達到聽眾或觀看者,并且它可以借助于無線電臺或TV臺通過大氣到達天線或接收器,或可以經由電臺或直接來自于網絡通過有線TV或有線無線電(或“無線電纜”)達到。因特網也可以將無線電或TV帶給接受者,特別是借助于允許共享信號和帶寬的多址通信。歷史上,廣播用地理地區來劃界,諸如國家廣播或地區廣播。但是,隨著于快速因特網的拓展,因為內容可以達到幾乎世界上的任何國家,不用地理定義廣播。
存儲服務提供商(SSP) 258提供計算機存儲空間和相關管理服務。SSP也供應周期性備份和歸檔。通過將存儲作為服務供應,用戶可以訂購所要求的更多存儲。另一主要優勢是SSP包括備份服務且如果用戶的計算機的硬盤驅動損壞,用戶將不會丟失他們的全部數據。此外,多個SSP可以有用戶數據的完全或部分拷貝,允許用戶以獨立于用戶所在地或用來訪問數據的設備的高效方式訪問數據。例如,用戶可以在家庭計算機中訪問個人文件,以及當用戶在行進中在移動電話中訪問個人文件。
通信提供商260向用戶提供連接性。一種通信提供商是供應對因特網的訪問的因特網服務提供商(ISP)。ISP使用適于傳遞因特網協議數據電文的數據傳輸技術(諸如,撥號、DSL、電纜調制解調器、無線或專用高速互連)連接其消費者。通信提供商也可以提供消息服務,諸如電郵、即時消息和SMS發短信。另一類通信提供商是網絡服務提供商(NSP),其通過提供對因特網的直接骨干網訪問來出售帶寬或網絡訪問。網絡服務提供商可以由電信公司、數據承載商、無線通信提供商、因特網服務提供商、供應高速因特網訪問的有線電視運營商等構成。
數據交換268互連ISP 253內的多個模塊并且將這些模塊經由網絡266連接到用戶262。數據交換268可以覆蓋小的區域,其中ISP 250的全部模塊緊密鄰近,或當不同模塊地理分散時,可以覆蓋大的地理區域。例如,數據交換268可以包括數據中心的機柜內的快速千兆以太網(或更快),或者洲際虛擬局域網絡(VLAN)。
用戶262以客戶端設備264訪問遠程服務,該客戶端設備264包括至少CPU、顯示器和I/O。客戶端設備可以是PC、移動電話、上網本、PDA等。在一個實施例中,ISP 250識別客戶端使用的設備的類型,并且調整所采用的通信方法。在其他情況下,客戶端設備使用諸如html之類的標準通信方法來訪問ISP 250。
本發明的實施例可以以各種計算機系統配置實踐,該計算機系統配置包括手持設備、微處理器系統、基于微處理器或可編程消費電子器件、微計算機、主機計算機等。發明也可以在由通過網絡鏈接的遠程處理設備進行任務的分布式計算環境中實踐。
借助于以上實施例,應當明白的是,發明可以采用各種計算實現的操作,包括存儲在計算機系統中的數據。這些操作是那些要求物理量的物理操縱的操作。這里描述的、形成發明的部分的操作的任一種是有用的機器操作。發明也涉及用于進行這些操作的設備或裝置。裝置可以為了要求的目的而特殊構建的,諸如特殊目的計算機。雖然定義為特殊目的計算機,但是該計算機也可以進行不是該特殊目的的部分的其他處理、程序執行或例行程序,且仍然能夠為特殊目的而操作。替代地,操作可以由通用目的計算機處理,選擇性激活該通用目的計算機或由存儲在計算機存儲器、緩存或從網絡獲得的一個或多個計算機程序配置該通用目的計算機。當數據通過網絡獲得時,該數據可以由網絡上的其他計算機,例如,計算資源的云處理。
本發明的實施例也可以定義為將數據從一個狀態轉換為另一狀態的機器。所轉換的數據可以保存到存儲裝置并隨后由處理器控制。處理器因此將數據從一個事物轉換為另一個。此外,方法可以由可以通過網絡連接的一個或多個機器或處理器處理。每個機器可以將數據從一個狀態或事物轉換為另一個,也可以處理數據、保存數據到存儲裝置,通過網絡傳輸數據、顯示結果或將結果傳遞給另一機器。
本發明的一個或多個實施例也可以作為在計算機可讀介質上的計算機可讀代碼來實施。計算機可讀介質是可以存儲數據的任何數據存儲器件,該數據之后可以由計算機系統讀取。計算機可讀介質的示例包括硬盤驅動、附網存儲裝置(NAS)、只讀存儲器、隨機訪問存儲器、CD-ROM、CD-R、CD-RW、磁帶和其他光和非光數據存儲器件。計算機可讀介質可以包括分布在網絡耦接的計算機系統上的計算機可讀有形介質,從而計算機可讀代碼以分布式存儲和執行。
盡管方法操作以具體順序描述,但是應當明白的是,可以在操作之間進行其他輔助操作,或者可以調整操作從而它們在略微不同的時間發生,或者可以在允許處理操作以關聯于處理的各種間隔發生的系統中分布,只要以合適的方式進行重疊操作的處理。
盡管之前的發明已經出于清晰理解的目的而詳細描述,顯然的是,可以在所附權利要求的范圍內實踐特定修改和改進。因此,本實施例被認為是示意性的而非限制性的,且發明不限于這里給出的細節,但是可以在所附權利要求的范圍和等效物內修改。
權利要求
1.一種用于生成通過至少第一和第二設備可觀看的互動空間的方法,所述方法包括從所述第一設備檢測所述第二設備的位置或者從所述第二設備檢測所述第一設備的位置;在所述第一設備和第二設備之間交換同步信息數據以在三維(3D)空間中識別相對于所述第一和第二設備的物理位置的3D空間中的參考點,其中,所述第一和第二設備在設定所述參考點時建立其他設備的3D空間中的物理位置;在所述第一和第二設備的相應顯示器中生成互動場景的視圖,所述互動場景綁定于所述參考點并且包括虛擬物體,每個視圖示出全部或部分所述互動場景并且示出如從相應設備的當前位置所觀察到的互動場景,其中在所述3D空間中的設備移動使得相應視圖根據所述當前位置改變。
2.根據權利要求I所述的方法,其中,從所述第一設備檢測所述第二設備的位置進一步包括檢測所述第一設備已經在第一時間輕敲了第一物體;接收所述第二設備已經在第二時間輕敲了第二物體的信息;當所述第一時間和所述第二時間基本同時時,確定所述第一設備已經輕敲了所述第二設備。
3.根據權利要求I所述的方法,其中,從所述第一設備檢測所述第二設備的位置進一步包括在以所述第一設備中的相機拍攝的圖像中識別所述第二設備。
4.根據權利要求I所述的方法,其中,從所述第一設備檢測所述第二設備的位置進一步包括在以所述第一設備中的相機拍攝的圖像中檢測所述第二設備中的光源。
5.根據權利要求I所述的方法,其中,從所述第一設備檢測所述第二設備的位置進一步包括使用深度相機檢測所述第一設備和所述第二設備之間的距離。
6.根據權利要求I所述的方法,其中,從所述第一設備檢測所述第二設備的位置進一步包括在以所述第一設備中的相機拍攝的圖像中識別所述第二設備的顯示器。
7.根據權利要求I所述的方法,其中,從所述第一設備檢測所述第二設備的位置進一步包括在以所述第一設備中的相機拍攝的圖像中識別所述第二設備的顯示器中的圖案。
8.根據權利要求I所述的方法,進一步包括通過所述第一設備跟蹤所述第一設備的運動。
9.根據權利要求8所述的方法,其中,跟蹤所述第一設備的運動進一步包括使用推算定位來確定所述第一設備的當前位置。
10.根據權利要求9所述的方法,其中,跟蹤所述第一設備的運動進一步包括使用圖像信息跟蹤所述3D空間中的靜態特征的位置;和基于所述靜態特征的位置校正推算定位中的偏移。
11.根據權利要求10所述的方法,其中,所述靜態特征從由桌子的邊緣、房間中的角落、窗戶或電視機構成的組中選擇。
12.根據權利要求I所述的方法,進一步包括當識別到所述參考點時,復位所述第一設備和所述第二設備中的位置跟蹤模塊。
13.一種用于生成通過至少第一和第二設備可觀看的互動空間的方法,所述方法包括檢測所述第一設備和所述第二設備之間的輕敲;在所述第一設備和所述第二設備之間交換同步信息數據以在檢測到所述輕敲時在三維(3D)空間中識別相對于所述第一和第二設備的物理位置的3D空間中的參考點; 在所述第一和第二設備的相應顯示器中生成互動場景的視圖,所述互動場景綁定于所述參考點并且包括虛擬物體,每個視圖示出全部或部分所述互動場景并示出如從相應設備的當前位置所觀察到的互動場景,其中,在3D空間中的設備移動使得相應視圖根據所述當前位置改變。
14.根據權利要求13所述的方法,其中,檢測輕敲進一步包括檢測所述第一設備已經在第一時間輕敲了第一物體;接收所述第二設備已經在第二時間輕敲了第二物體的信息;確定當所述第一和所述第二時間基本同時時,所述第一設備已經輕敲了所述第二設備。
15.根據權利要求14所述的方法,其中,第一設備已經輕敲第一物體進一步包括識別所述第一設備的運動的突然改變。
16.根據權利要求15所述的方法,其中,識別所述突然改變基于來自3軸加速度計的信肩、O
17.根據權利要求13所述的方法,其中,配置每個設備用于與所述虛擬物體的互動。
18.一種用于在便攜式設備當中共享虛擬現實的便攜式設備,所述便攜式設備包括位置模塊,用于跟蹤所述便攜式設備的位置,所述位置模塊配置以參考所述便攜式設備的位置檢測第二設備的位置;通信模塊,用于在所述便攜式設備和所述第二設備之間交換同步信息數據,其中,基于所述同步信息在三維(3D)空間中識別相對于便攜式設備的物理位置的3D空間中的參考占.視圖生成器,創建綁定于所述參考點且包括虛擬物體的互動場景的視圖,所述視圖示出如從所述便攜式設備的當前位置所觀察到的全部或部分互動場景,其中所述3D空間中的便攜式設備移動使得所述視圖根據所述當前位置改變;和顯示器,用于示出所述視圖。
19.根據權利要求18所述的便攜式設備,其中,所述位置模塊包括位置跟蹤模塊,所述位置跟蹤模塊包括3軸加速度計;3軸陀螺儀;和相機。
20.根據權利要求19所述的便攜式設備,其中,所述位置跟蹤模塊進一步包括GPS模塊;和深度相機。
全文摘要
呈現了用于生成通過至少第一和第二設備可觀看的互動空間的方法、系統和計算機程序。該方法包括從第一設備檢測第二設備的位置或者反之亦然的操作。此外,同步信息數據在第一和第二設備之間交換以在三維(3D)空間中識別相對于設備的物理位置的三維空間中的參考點。設備在設定該參考點時建立其他設備的3D空間中的物理位置。該方法進一步包括用于在第一和第二設備的顯示器中生成互動場景的視圖的操作。互動場景綁定于參考點并且包括虛擬物體。顯示器中的視圖示出從相應設備的當前位置觀察到的互動場景。在3D空間中移動設備使得根據當前位置的視角改變視圖。
文檔編號G06F3/033GK102939139SQ201180028950
公開日2013年2月20日 申請日期2011年1月26日 優先權日2010年4月13日
發明者G.韋辛, T.米勒 申請人:索尼電腦娛樂美國公司