獲得用於控制遊戲程序的運行的輸入的製作方法
2023-05-29 09:55:31 2
專利名稱:獲得用於控制遊戲程序的運行的輸入的製作方法
技術領域:
一般來說,本發明涉及人機接口,具體來說,涉及處理用於跟蹤一個或多個控制器的用戶操縱的多通道輸入。
背景技術:
計算機娛樂系統通常包括手持控制器、遊戲控制器或其它控制器。用戶或玩家使用控制器向娛樂系統發送命令或其它指令,以便控制正在玩的視頻遊戲或其它才莫擬。例如,控制器可配備由用戶操作的操縱器、如操縱杆。操縱杆的被操縱變量從模擬值轉換成數字值,該數字值被發送給遊戲機主機。控制器還可配備可由用戶操作的按鈕。正是針對這些及其它背景信息因素髮展了本發明。
結合附圖通過參考以下詳細描述,可易於理解本發明的理論,附
圖包括
圖1是示出根據本發明的一個實施例進行操作的視頻遊戲系統的實物電i 各圖2是根據本發明的一個實施例製作的控制器的透視圖;圖3是示出根據本發明的一個實施例、可用於控制器的加速計的三維示意圖4是根據本發明一個實施例、用於混合各種控制輸入的系統的框圖5A是圖1的視頻遊戲系統的一部分的框圖5B是根據本發明的一個實施例、用於跟蹤視頻遊戲系統的控制器的方法的流程圖5C是示出根據本發明的一個實施例、用於在視頻遊戲系統上的遊戲進行期間利用位置和/或取向信息的方法的流程圖6是示出根據本發明的一個實施例的視頻遊戲系統的框圖;以
及
圖7是根據本發明的一個實施例的視頻遊戲系統的單元處理器實現的框圖。
具體實施例描述
雖然為了便於說明,以下詳細描述包含許多具體細節,但是,本領域的技術人員會理解,對以下細節的許多變化和變更處於本發明的範圍之內。因此,提出以下描述的本發明的示範實施例,而不失要求權益的本發明的一般性並且沒有對要求權益的本發明施加限制。
本文所述的方法、設備、方案和系統的各種實施例提供用戶對整個控制器主體本身的移動、運動和/或操縱的檢測、捕捉和跟蹤。用戶對整個控制器主體的所檢測移動、運動和/或操縱可作為附加命令用來控制所進行的遊戲或其它才莫擬的各個方面。
檢測和跟蹤用戶對遊戲控制器主體的操縱的步驟可通過不同方式來實現。例如,例如加速計或陀螺儀等慣性傳感器、例如數位相機等圖像捕"t足單元可與計算機娛樂系統配合使用,以便檢測手持控制器主體的運動,並將它們轉換成遊戲中的動作。例如在標題為"三維輸入
控制的系統、方法和設備"的美國專利申請ll/382033 (代理人檔案號SCEA06INRT1)中描述了跟蹤具有慣性傳感器的控制器的示例,通過引用將其結合到本文中。例如在標題為"用於檢測和跟蹤遊戲控制器主體的用戶操縱的方案"的美國專利申請11/382034 (代理人檔案號SCEA05082US00)中描述了使用圖像捕捉來跟蹤控制器的示例,通過引用將其結合到本文中。另外,還可使用話筒陣列和適當的信號處理以聲學方式跟蹤控制器和/或用戶。在美國專利申請11/381721中描述了這種聲跟蹤的示例,通過引用將其結合到本文中。
聲感測、慣性感測和圖像捕捉可單獨地或者以任何組合用於檢測控制器的許多不同類型的運動,例如上下移動、扭轉移動、左右移動、急拉移動、棒式運動、俯衝運動等。這類運動可對應於各種命令,使得運動淨皮轉換成遊戲中的動作。檢測和跟蹤用戶對遊戲控制器主體的操縱可用來實現許多不同類型的遊戲、衝莫擬等,這允許用戶例如參加刀劍或光劍戰鬥,使用棍棒跟蹤物品的形狀,參加許多不同類型的體育賽事,參加屏幕上的戰鬥或其它對抗等。遊戲程序可配置成跟蹤控制器的運動,並且從^皮跟蹤運動中識別出某些預先記錄的姿勢。這些姿勢中的一個或多個的識別可觸發遊戲狀態的變化。
在本發明的實施例中,可在用於姿勢識別的分析之前混合從這些不同來源得到的控制器路徑信息。可通過改進識別姿勢的可能性的方式混合來自不同來源(例如聲、慣性和圖像捕捉)的跟蹤數據。
參照圖1,示出才艮據本發明的一個實施例進行才喿作的系統IOO。如圖所示,計算機娛樂控制臺102可與電視或其它視頻顯示器104耦合, 以便在其中顯示視頻遊戲或其它才莫擬的圖像。遊戲或其它才莫擬可存儲 在插入控制臺102的DVD、 CD、閃速存儲器、USB存儲器或者其它存儲 器^h質106上。用戶或玩家108操縱遊戲控制器110來控制視頻遊戲 或其它模擬。在圖2中看到,遊戲控制器110包括慣性傳感器112, 它響應遊戲控制器110的位置、運動、取向或者取向的變化而產生信 號。除了慣性傳感器之外,遊戲控制器110還可包括常規*控制輸入裝 置,例如操縱杆lll、按鈕113、 Rl、 Ll等。
在操作中,用戶108以物理方式移動控制器110。例如,控制器 110可由用戶108朝任何方向移動,例如上、下、到一側、到另一側、 扭轉、翻滾、搖晃、急拉、俯沖等。控制器110本身的這些移動可由 相機112通過經由分析來自慣性傳感器112的信號進行跟蹤、以下面 所述的方式來檢測和捕捉。
再參照圖1,系統100可以可選地包括相機或其它視頻圖像捕才足 裝置114,它可定位成使得控制器110在相機的視野116之內。來自 圖像捕捉裝置114的圖像的分析可與來自慣性傳感器112的數據的分 析結合使用。如圖2所示,控制器110可以可選地配備例如發光二極 管(LED) 202、 204、 206、 208等光源,以幫助通過^L頻分析進行跟蹤。
它們可安裝到控制器110的主體上。本文所使用的術語"主體"用於 描述遊戲控制器110中將用手握住(或者在它是可佩戴遊戲控制器時 佩戴)的部分。
例如在授予發明人Gary M. Zalewski、標題為"用於檢測和跟蹤 遊戲控制器主體的用戶操縱的方案"的美國專利申請號11/382034 (代 理人檔案號SCEA05082US00)中描述為了跟蹤控制器110而對這類S見 頻圖像的分析,通過引用將其結合到本文中。控制臺102可包括聲換 能器,例如話筒陣列118。控制器110還可包括聲信號生成器210(例 如喇叭),從而提供聲源以幫助具有話筒陣列118的控制器110的聲跟 蹤以及適當的聲信號處理,如美國專利申請11/381724中所述,通過引用將其結合到本文中。
一般來說,來自慣性傳感器112的信號用於生成控制器110的位 置和取向數據。這種數據可用來計算控制器110的移動的許多物理方 面,例如它沿任何軸的加速度和速度、它的傾斜、俯仰、偏航、翻滾 以及控制器110的任何遙測點。本文所使用的"遙測" 一般指的是遠 程測量受關注信息並向系統或者向系統的設計人員或操作員淨艮告。
檢測和跟蹤控制器110的移動的能力使得能夠確定是否執行控制 器110的任何預定移動。也就是說,控制器110的某些移動才莫式或姿 勢可預先定義並用作遊戲或其它^t擬的輸入命令。例如,控制器110 的向下俯沖姿勢可定義為一個命令,控制器110的扭轉姿勢可定義為 另一個命令,控制器110的搖晃姿勢可定義為另一個命令,依此類推。
i1^^,用戶108以物理方式移動控制器110的方式用作用於控制遊戲
的另一個輸入,它為用戶提供更刺激更愉快的體驗。
作為示例而不是限制,慣性傳感器112可以是加速計。圖3示出 採取在四個點例如通過彈簧306、 308、 310、 312與框架304彈性耦合 的簡單質量塊302的形式的加速計300的一個示例。俯仰軸和翻滾軸 (分別由X和Y表示)位於與框架相交的平面中。偏航軸Z定向為與包 ^^俯仰軸X和翻滾軸Y的平面垂直。框架304可通過任何適當方式安 裝到控制器110。當框架304 (以及遊戲控制器110)加速和/或旋轉時, 質量塊302可相對於框架304位移,並且彈簧306、 308、 n0、 3U可 按以下方式伸長或壓縮,該方式取決於俯仰和/或翻滾和/或偏航的平 移和/或旋轉加速的數量和方向和/或角度。質量塊302的位移和/或彈 簧306、 308、 310、 312的壓縮或伸長可採用例如適當的傳感器314、 316、 318、 320來感測,並且^ 皮轉換成以已知或預定方式與俯仰和/或 翻滾的加速量相關的信號。
存在許多不同的方式來跟蹤質量塊的位置和/或施加到其上的力, 其中包括電阻應變計材料、光子傳感器、-茲傳感器、霍耳效應裝置、 壓電裝置、電容傳感器等。本發明的實施例可包括任何數量和類型的傳感器或者傳感器類型的組合。通過示例而不是限制,傳感器314、 316、 318、 320可以是設置在質量塊302上的間隙近接式電極。質量 塊與各電極之間的電容隨質量塊相對於各電極的位置而改變。各電極 可連接到電路,該電路產生與質量塊302相對於電極的電容(因此與質 量塊相對於電極的接近度)相關的信號。另外,彈簧306、 308、 310、 312可包括電阻應變計傳感器,它們產生與彈簧的壓縮和伸長相關的 信號。
在一些實施例中,框架304可用萬向架安裝到控制器110, <吏得 加速計300相對於俯仰和/或翻滾和/或偏航軸保持固定取向。這樣, 控制器軸X、 Y、 Z可直接映射到實際空間中的對應軸,而無需考慮控 制器軸相對於實際空間坐標軸的傾斜。
如上所述,可分析來自慣性、圖像捕捉和聲源的數據,以生成跟 蹤控制器110的位置和/或取向的路徑。如圖4的框圖所示,根據本發 明的一個實施例的系統400可包括慣性分析器402、圖像分析器404 和聲學分析器406。這些分析器中的每個接收來自感測環境401的信 號。分^f器402、 404、 406可通過硬體、軟體(或固件)或者它們中的 兩個或更多的某種組合來實現。分析器中的每個產生與受關注對象的 位置和/或取向相關的跟蹤信息。作為示例,受關注對象可以是上述控 制器110。圖像分析器404可結合美國專利申請11/3820M(代理人檔 案號SCEA05082US00)中所述的方法進行工作、按照它形成場以及相對 它進行操作。慣性分析器402可結合標題為"三維輸入控制的系統、 方法和設備,,的美國專利申請11/382033 (代理人檔案號SCEA06INRT1) 中所述的方法進行工作、按照它形成場以及相對它進行操作。聲學分 析器406可結合美國專利申請11/381, 724中所述的方法進行工作、按 照它形成場以及相對它進行操作。
分析器402、 404和406可被看作與位置和/或取向信息的輸入的 不同通道關聯。混合器408可接受多個輸入通道,並且這類通道可包 含表徵感測環境401的樣本數據,通常從通道的角度看。慣性分析器402、圖像分析器404和聲學分析器406生成的位置和/或取向信息可 耦合到混合器408的輸入。混合器408和分析器402、 404、 406可由 遊戲軟體程序410來查詢,並且可配置成響應事件而中斷遊戲軟體。 事件可包括姿勢識別事件、聯動變化、配置變化、設置噪聲等級、設 置取樣率、變更映射鏈等,下面論述其示例。混合器408可結合本文 所述的方法進行工作、按照它形成場以及相對它進行操作。
如上所述,來自例如慣性傳感器、視頻圖像和/或聲學傳感器等的 不同輸入通道的信號可分別由慣性分析器402、圖像分析器404和聲 學分析器406進行分析,以便根據本發明方法在進行;f見頻遊戲期間確 定控制器110的運動和/或取向。這種方法可實現為處理器可讀介質中 存儲的並且在數字處理器上運行的一系列(a series of)處理器可執行 程序代碼指令。例如,如圖5A所示,視頻遊戲系統100可包括具有通 過硬體或者軟體來實現的慣性分析器402、圖像分析器404和聲學分 析器406的控制臺102。作為示例,分析器402、 404、 406可實現為 運行於適當處理器單元502上的軟體指令。作為示例,處理器單元502 可以是數字處理器,例如視頻遊戲控制臺中常用類型的微處理器。指 令的一部分可存儲在存儲器506中。備選地,慣性分析器402、圖像 分析器404和聲學分析器406可通過硬體、例如專用集成電路(ASIC) 來實現。這種分析器硬體可設置在控制器IIO或者控制臺102上,或 者可遠程設置在其它位置。在硬體實現中,分析器402、 404、 406可 以是響應例如來自處理器502或者例如通過USB纜線、無線連4妄或者 通過網絡所連接的其它某個遠程設置的源的外部信號而可編程的。
慣性分析器402可包括或者實現分析慣性傳感器112生成的信號 並且利用與控制器110的位置和/或取向有關的信息的指令。類似地, 圖像分析器404可實現分析圖像捕捉單元114所捕捉的圖像的指令。 另外,聲學分析器可實現分析話筒陣列118所捕捉的圖像的指令。如 圖5B的流程圖510所示,這些信號和/或圖像可由分衝斤器402、 404、 406接收,如框512所示。信號和/或圖像可由分析器402、 404、 406
18進行分析,以確定與控制器110的位置和/或取向有關的慣性跟蹤信息
403、 圖像跟蹤信息405和聲學跟蹤信息407,如框514所示。跟蹤信 息403、 405、 407可與一個或多個自由度相關。優選地跟蹤六個自由 度,以表徵控制器110或其它^皮跟蹤對象的操縱。這類自由度可與沿 x、 y和z軸的控制器傾斜、偏航、翻滾以及位置、速度或加速度相關。
如框516所示,混合器408混合慣性信息403、圖像信息405和 聲學信息407,以生成精確的位置和/或取向信息(orientation information) 409。作為示例,混合器4G8可糹艮據遊戲或環境條件來 對慣性、圖像和聲學跟蹤信息403、 405、 407應用不同的權重,並取 加權平均。另外,混合器408可包括它自己的混合器分析器412,分 析器412分析組合的位置/取向信息,並生成包含其它分析器生成的信 息的組合的它自己的所得"混合器"信息。
在本發明的一個實施例中,混合器408可將分布值賦予來自分析 器402、 404、 406的跟蹤信息403、 405、 407。如上所述,可對輸入 控制數據的某些集合求平均。但是,在本實施例中,在對輸入控制數 據求平均之前對它賦予某個值,由此,來自某些分析器的輸入控制數 據比來自其它分析器的輸入控制數據具有更大的分析重要性。
混合器408在本系統的上下文中可承擔多種功能性,包括觀測、 校正、穩定、推導、組合、路由選擇、混合、報告、緩沖、中斷其它 過程和分析。這可相對於從分析器402、 404、 406的一個或多個所接 收的跟蹤信息403、 405、 407來執行。雖然分析器402、 404、 406的 每個可接收和/或推導某些跟蹤信息,但是混合器408可實現成優化所 接收的跟蹤信息403、 405、 407的使用,並生成精確的跟蹤信息409。
分析器402、 404、 406和混合器408優選地配置成為跟蹤信息提 供相似的輸出格式。來自任何分析器元件402、 404、 406的跟蹤信息 參數可映射到分析器中的單個參數。備選地,通過處理來自分析器402、
404、 406的一個或多個的一個或多個跟蹤信息參數,混合器408可形 成分析器402、 404、 406的任一個的跟蹤信息。混合器可組合取自分析器402、 404、 406的相同參數類型的跟蹤信息的兩個或更多元素, 和/或對於分析器生成的跟蹤信息的多個參數執行功能,以創建具有從 輸入的多個通道生成的有益效果的輸出的合成集合。
精確的跟蹤信息409可在採用系統100進行^L頻遊戲期間使用, 如框518所示。在某些實施例中,可相對於用戶108在遊戲進行期間 做出的姿勢來使用位置和/或取向信息。在一些實施例中,混合器408 可結合姿勢識別器505進行操作,以便將遊戲環境中的至少一個動作 與來自用戶的一個或多個用戶動作(例如空間中的控制器的操縱)關 聯。
如圖5C的流程圖520所示,可使用位置和/或取向信息來跟蹤控 制器110的路徑,如框522所示。作為示例而不是限制,該路徑可包 括表示控制器的質量塊的中心相對於某種坐標系的位置的點的集合。 各位置點可通過一個或多個坐標、例如笛卡兒坐標系中的X、 Y和Z坐 標來表示。時間可與路徑上的各點關聯,使得可監測路徑的形狀和控 制器沿路徑的進度。另外,集合中的各點可關聯了表示控制器的取向、 例如控制器圍繞其質量塊的中心旋轉的一個或多個角度的數據。此外, 路徑上的各點可關聯了控制器的質量塊的中心的速度和加速度以及控 制器圍繞其質量塊的中心的角旋轉和角加速度的速率的值。
如框524所示,可以將糹皮跟蹤的路徑與對應於已知和/或預先記錄 的姿勢508的一個或多個存儲的路徑進行比較,這些已知和/或預先記 錄的姿勢508與所進行的視頻遊戲的上下文相關。識別器505可配置 成識別用戶或過程音頻鑑別姿勢等。例如,用戶可由識別器505通過 姿勢來識別,並且姿勢可以是用戶特定的。這種特定姿勢可被記錄並 包含在存儲器506所存儲的預先記錄姿勢508之中。記錄過程可以可 選地存儲在姿勢的記錄期間生成的音頻。感測環境^皮取樣到多通道分 析器中並進行處理。處理器可參考姿勢模型以根據語音或聲波圖、以 高精度和性能來確定和鑑別和/或識別用戶或對象。
如圖5A所示,表示姿勢的數據508可存儲在存儲器506中。姿勢的示例包括但不限於投擲物體,例如球;擺動對象,例如球棒或高 爾夫球棒;抽吸手泵;開或者關門或窗;轉動方向盤或其它車輛控制; 武術動作,例如拳擊;砂紙打磨動作;塗蠟和除蠟;油漆房屋;握手; 發出格格的響聲;翻滾;擲橄欖球;轉動把手運動;3D滑鼠移動;滾 動移動;已知剖面的移動;任何可記錄移動;沿任何向量的來回移動, 即,對輪胎充氣,但在空間中以某個任意取向進行;沿路徑的移動; 具有準確停止和開始時間的移動;在噪聲層、樣條中可記錄、跟蹤和 重複的基於任何時間的用戶操縱;等等。這些姿勢中的每個可從路徑 數據預先記錄並作為基於時間的才莫型存儲。路徑和存儲的姿勢的比較 可從假定穩態開始,如果路徑偏離穩態,則路徑可通過消除過程與存 儲的姿勢進行比較。在框526,如果沒有匹配,則在框522,分析器可 繼續跟蹤控制器110的路徑。如果路徑(或者它的一部分)與存儲的姿 勢之間存在充分匹配,則遊戲的狀態可改變,如528所示。遊戲狀態 的改變可包括但不限於中斷、發送控制信號、改變變量等。
這裡是可能發生這種情況的一個示例。在確定控制器UO已經離 開穩態時,分析器402、 404、 406或412跟蹤控制器110的移動。只 要控制器110的路徑符合存儲的姿勢才莫型508中所定義的路徑,則那 些姿勢是可能的"命中"。如果控制器110的路徑(在噪聲容差設定內) 偏離任何姿勢模型508,則從命中列表中刪除那個姿勢模型。各姿勢 參考^t型包括記錄姿勢的時基。分析器402、 404、 406或412在適當 的時間索引將控制器路徑數據與存儲的姿勢508進行比較。穩態條件 的出現重置時鐘。在偏離穩態時(即,在噪聲閾值之外跟蹤移動時), 對命中列表加載所有可能的姿勢才莫型。啟動時鐘,並且將控制器的移 動與命中列表進行比較。比較同樣是走查(walk through)時間。如果
命中列表中的任何姿勢到達姿勢結束,則是一次命中。
在某些實施例中,混合器408和/或各個分析器402、 404、 406、 412可通知遊戲程序關於發生某些事件的時間。這類事件的示例包括 下列各項
21中斷達到的零加速度點(X和/或Y和/或Z軸) 在某些遊戲
情況中,當控制器的加速度在拐點改變時,分析器可通知或中斷遊戲 程序中的例程。例如,用戶108可使用控制器110來控制表示橄欖球 模擬遊戲中的四分衛的遊戲替身。分析器可經由根據來自慣性傳感器 112的信號生成的路徑來跟蹤控制器(表示橄欖J求)。控制器110的加 速度的特定變化可發信號通知發球。這時,分析器可觸發程序(例如物 理才莫擬包)中的另一個例程,根據發球點處控制器的位置和/或速度和/ 或取向來;f莫擬橄欖球的軌跡。 中斷識別的新姿勢
另外,分析器可通過一個或多個輸入來配置。這類輸入的示例包 括但不限於
設置噪聲等級(X、 Y或Z軸) 噪聲等級可以是分析遊戲中用 戶的手的抖動時所使用的參考容差。
設置取樣率。本文所使用的"取樣率"可指分析器對於來自慣性 傳感器的信號進行取樣的頻度。取樣率可設置成對信號過取樣或者求 平均。
設置聯動(gearing)。本文所使用的"聯動" 一般指控制器移動與 遊戲中出現的移動的比率。控制視頻遊戲的上下文中的這種"聯動" 的示例可見於2006年5月7日提交的美國專利申請號11/382040 (代 理人檔案號No.: SONYP058D),通過引用將它結合到本文中。
設置映射鏈。本文所使用的"映射鏈"指的是姿勢模型的圖。可 使姿勢模型圖適合於特定輸入通道(例如僅從慣性傳感器信號生成的 路徑數據)或者在混合器單元中形成的混合通道。
可由與慣性分析器402相似的兩個或更多不同的分析器服務於三 個輸入通道。具體來說,它們可包括如本文所述的慣性分析器402, 例如在授予發明人Gary M. Zalewski的美國專利申請11/382034、標 題為"用於檢測和跟蹤遊戲控制器主體的用戶操縱的方案"(代理人檔 案號SCEA05082US00)中所述的視頻分析器,其通過引用結合到本文中,以及例如通過引用結合到本文中的美國專利申請11/381721中所 述的聲學分析器。分析器可用映射鏈來配置。映射鏈可在遊戲進^f亍期 間由遊戲換出,例如可設置到分析器或者混合器。
又參照圖5B的框512,本領域的技術人員會知道,存在許多方式 從慣性傳感器112生成信號。本文描述了其中的幾個示例。參照框514, 存在許多方式來分析框512中生成的傳感器信號以獲得與控制器110 的位置和/或取向相關的跟蹤信息。作為示例而不是限制,跟蹤信息可 包括但不限於單獨地或者在任何組合中與下列參數有關的信息
控制器取向。控制器110的取向可按照相對於某種參考取向的俯 仰(pitch)、翻滾(roll)或偏航(yaw)角度、例如以弧度來表示。控 制器取向的變化速率(例如角速度或角加速度)還可包含在位置和/或 取向信息中。例如,在慣性傳感器112包括陀螺傳感器的情況下,可 直接獲得與俯仰、翻滾或偏航的角度成比例的一個或多個輸出值的形 式的控制器取向信息。
控制器位置(例如某個參考系中控制器110的笛卡兒坐標X、 Y、
Z)
控制器X軸速度
控制器Y軸速度
控制器Z軸速度
控制器X軸加速度
控制器Y軸加速度
控制器Z軸加速度
要注意,相對於位置、速度和加速度,位置和/或取向信息可按照 與笛卡兒不同的坐標系來表示。例如,柱面或J求面坐標可用於位置、 速度和加速度。相對於X、 Y和Z軸的加速度信息可直接從加速計類型 傳感器獲得,如本文所述。X、 Y和Z加速度可對於自某個初始時刻的 時間進行積分,以確定X、 Y和Z速度的變化。可通過將速度變化與初 始時刻的X、 Y和Z速度的已知值相加,來計算這些速度。X、 Y和Z
23速度可對於時間進行積分,以確定控制器的X、 Y和Z位移。可通過將 位移與初始時刻的已知X、 Y和Z位置相加,來確定X、 Y和Z位置。
穩態Y/N -這個特定信息表示控制器是否處於穩態,它可定義為 任何位置,也可經過變化。在一個優選實施例中,穩態位置可以是控 制器以大約水平取向保持在大致與用戶腰部齊平的高度的位置。
"自最後一次穩態的時間" 一般指的是與自最後一次檢測到穩態 (如上所述)以來經過多長時間段相關的數據。如前面所述,時間的確 定可實時、按處理器周期或取樣周期來計算。對於相對於初始點來重 置控制器的跟蹤以確保遊戲環境中映射的人物或對象的準確度,"自 最後一次穩態的時間"會是重要的。對於確定遊戲環境中隨後可能運 行的可用動作/姿勢(排除在外或者包含在內),這個數據也會是重要 的。
"識別的最後一次姿勢" 一般指的是由姿勢識別器505 (可以通過 硬體或軟體來實現)識別的最後一次姿勢。對於前一個姿勢可與隨後可 識別的可能姿勢或者遊戲環境中發生的另外某個動作相關的事實,識 別的最後一次姿勢的標識會是重要的。 識別的最後 一次姿勢的時間
可在任何時間通過遊戲程序或軟體對上述輸出進行取樣。 在本發明的一個實施例中,混合器408可將分布值賦予來自分析 器402、 404、 406的跟蹤信息403、 405、 407。如上所述,可對輸入 控制數據的某些集合求平均。但是,在本實施例中,在對輸入控制數 據求平均之前向它賦予某個值,由此,來自某些分析器的輸入控制數 據比來自其它分析器的輸入控制數據具有更大的分析重要性。
例如,混合器408可需要與加速度和穩態相關的跟蹤信息。然後, 混合器408將接收跟蹤信息403、 405、 407,如上所述。跟蹤信息可 包括與加速度和穩態相關的參數,例如以上所述。在對表示這個信息 的數據求平均之前,混合器408可將分布值賦予跟蹤信息數據集403、 405、 407。例如,能以90%的值對於來自慣性分析器402的x和y加
24速度參數進行加權。但是,可僅以10%對於來自圖像分析器406的x 和y加速度參數進行加權。聲學分析器跟蹤信息407在涉及加速度參 數時能以0%進行加權,即,該數據沒有值。
類似地,來自慣性分析器402的Z軸跟蹤信息參數能以10%進行 加權,而圖像分析器Z軸跟蹤信息能以90%進行加權。聲學分析器跟 蹤信息407同樣能以0%值進行加權,但是來自聲學分析器406的穩態 跟蹤信息能以100%進行加權,其中其餘分析器跟蹤信息能以0°/ 進行加 權。
在賦予適當的分布權重之後,可結合那個權重來對輸入控制數據 求平均,以得出加權平均輸入控制數據集,該數據集隨後由姿勢識別 器505進行分析,並且與遊戲環境中的特定動作關聯。關聯的值可由 混合器408或者由特定遊戲標題預先定義。這些值也可以是混合器408 識別來自各個分析器的特定數據質量、因而進行下面進一步論述的動 態調整的結果。調整也可以是構建在特定數據在特定環境中具有特定 值和/或響應給定遊戲標題的特性時的歷史知識庫的結果。
混合器408可配置成在遊戲進行期間動態操作。例如,當混合器 408接收各種輸入控制數據時,它可識別到某個數據始終在可接受的 數據範圍或質量之外或者反映可指示相關輸入裝置的處理錯誤的損壞 數據。
另外,現實世界環境的某些條件可改變。例如,用戶的家庭遊戲 環境中的自然光可能在早晨轉到下午時不斷增加,從而導致圖像數據 捕捉的問題。此外,鄰居或家人可能隨一天中時間的推移而變得更嘈 雜,從而導致音頻數據捕捉時出現問題。同樣,如果用戶已經進行數 小時遊戲,則他們的反應能力變得不太敏銳,因而導致慣性數據的解 釋的問題。
在這些情況下,或者在特定形式的輸入控制數據的質量成為問題 的任何其它情況下,混合器408可將分布權重(weight)動態重新賦予 來自特定裝置的數據的特定集合,使得給予特定輸入控制數據更多或更少重要性,如上所述。類似地,遊戲環境可隨特定遊戲的需要改變 的遊戲過程而改變,因而需要重新賦值或者需要特定輸入控制數據。
類似地,混合器408可根據處理錯誤或者可由姿勢識別器505生 成的反饋數據識別到傳遞到姿勢識別器505的某個數據;波不正確地處 理、糹爰t曼地處理或者完全沒有處理。響應這個反饋或者識別到這些處 理困難(例如,當圖像分析數據在可接受範圍之內的同時,在由姿勢識 別器505進行關聯時產生錯誤),混合器408可調整從哪一個分析器尋 求哪一個輸入控制數據以及在如果有的情況下的時間。在輸入控制數 據被傳遞給混合器408之前,混合器408也可需要適當的分析器對輸 入控制數據的某些分析和處理,它可重新處理數據(例如對數據求平 均),使得構成關於有效且適當地處理傳遞給姿勢識別器505的數據的 另一層保證。
在一些實施例中,混合器408可識別到某個數據已損壞、無效或 者超出特定變量之外,並且可需要與那個數據相關的特定輸入控制數 據或變量,使得它可取代不正確數據,或者相對於必要變量適當地分 析和計算某個數據。
根據本發明的實施例,上述類型的視頻遊戲系統和方法可按照圖 6所示方式來實現。視頻遊戲系統600可包括處理器601和存儲器 602 (例如RAM、 DRAM、 ROM等)。另夕卜,如果要實現並行處理,則視頻 遊戲系統600可具有多個處理器601。存儲器602包括數據和遊戲程 序代碼604,它可包括如上所述進行配置的部分。具體來說,存儲器 602可包括慣性信號數據606,該慣性信號數據606可包括如上所述的 已存儲控制器路徑信息。存儲器602還可包含已存儲的姿勢數據608, 例如表示與遊戲程序604相關的一個或多個姿勢的數據。運行於處理 器602的編碼指令可實現多輸入混合器605,它可按照以上所述進行 配置以及起作用。
系統600還可包括眾所周知的支持功能610,例如輸入/輸出(I/O) 元件611、電源(P/S)612、時鐘(CLK)613和高速緩存614。設備600可以可選地包括存儲程序和/或數據的大容量存儲裝置615,例如磁碟 驅動器、CD-ROM驅動器、磁帶驅動器等。控制器還可以可選地包括顯 示單元616和用戶接口單元618,以便於控制器600與用戶之間的交 互。顯示單元616可採取顯示文本、數字、圖形符號或圖像的陰極射 線管(CRT)或平板屏幕的形式。用戶接口 618可包括鍵盤、滑鼠、操縱 杆、光筆或其它裝置。另外,用戶接口 618可包括話筒、攝像機或其 它信號變換裝置,以提供待分析的信號的直接捕捉。系統600的處理 器601、存儲器602和其它組件可經由系統總線620相互交換信號(例 如代碼指令和數據),如圖6所示。
話筒陣列622可通過1/0功能611與系統600耦合。話筒陣列可 包括大約2個至大約8個話筒,優選地大約4個話筒,其中相鄰話筒 分隔開小於大約4釐米、優選地為大約1釐米與大約2釐米之間的距 離。優選地,陣列622中的話筒是全向話筒。可選圖像捕捉單元623 (例 如攝像機)可通過I/O功能611與設備600耦合。與相機機械耦合的一 個或多個指向執行機構625可經由I/O功能611與處理器601交換信 號。
本文所使用的術語"I/O" —般指向系統600以及向外圍裝置傳遞 數據或傳遞來自系統600以及外圍裝置的數據的任何程序、操作或裝 置。每一個數據傳遞可看作是來自 一個裝置的輸出以及到另 一個裝置 的輸入。外圍裝置包括例如鍵盤和滑鼠等的只輸入裝置、例如印表機 等的只輸出裝置以及例如要充當輸入以及輸出裝置的可寫CD-ROM等 裝置。術語"外圍裝置"包括例如滑鼠、鍵盤、印表機、監測器、 話筒、遊戲控制器、相機、外部Zip驅動器或掃描儀等的外部裝置以 及例如CD-ROM驅動器、CD-R驅動器或內部數據機等的內部裝置 或者例如閃速存儲器讀取器/寫入器、硬碟驅動器等的其它外設。
在本發明的某些實施例中,設備600可以是4見頻遊戲單元,它可 包括經由I/O功能611與處理器有線(例如USB纜線)或無線耦合的控 制器630。控制器630可具有模擬操縱杆控制項631和常規按鈕633,它們提供進行視頻遊戲期間常用的控制信號。這類視頻遊戲可實現為來
自可存儲在存儲器602或者例如與大容量存儲裝置615關聯等的其它 處理器可讀介質中的程序604的處理器可讀數據和/或指令。在一些實 施例中,混合器605可接收來自才莫擬操縱杆控制項631和按4醜633的輸 入。
操縱杆控制項631 —般可配置成使得向左或向右移動控制杆發送信 號通知沿X軸的移動,而將控制杆向前(向上)或向後(向下)移動則發 信號通知沿Y軸的移動。在配置用於三維移動的操縱杆中,向左(逆時 針)或向右(順時針)扭轉操縱杆可發信號通知沿Z軸的移動。這三個軸 -X、 Y和Z-通常分別稱作翻滾、俯仰和偏航,特別是相對於飛行器。
遊戲控制器630可包括可操作以與處理器602、遊戲控制器630 中的至少一個或者它們兩者進行數字通信的通信接口 。通信接口可包 括通用異步接收器發射器("UART" )。 UART可以可操作以接收用於控 制跟蹤裝置的操作、或者用於從跟蹤裝置傳送與另一個裝置進行通信 的信號的控制信號。備選地,通信接口包括通用串行總線("USB") 控制器。USB控制器可以可操作以接收用於控制跟蹤裝置的操作、或 者用於從跟蹤裝置傳送與另 一個裝置進行通信的信號的控制信號。
另外,控制器630可包括一個或多個慣性傳感器632,其可經由 慣性信號向處瑄器601提供位置和/或取向信息。取向信息可包括角信 息,例如控制器630的傾斜、翻滾或偏4元。作為示例,慣性傳感器632 可包括任何數量的加速計、陀螺儀或傾斜傳感器或者它們的任何組合。 在一個優選實施例中,慣性傳感器632包括傾斜傳感器,適合於感 測遊戲控制器630相對於傾斜和翻滾軸的取向;第一加速計,適合於 感測沿偏航軸的加速度;以及第二加速計,適合於感測相對於偏航軸 的角加速度。加速計可實現為例如MEMS裝置,包括通過一個或多個彈 簧安裝的質量塊,其中具有用於感測質量塊相對於一個或多個方向的 位移的傳感器。來自傳感器的取決於質量塊的位移的信號可用來確定 遊戲控制器630的加速度。這類技術可通過來自可存儲在存儲器602
28中並且由處理器601運行的遊戲程序604的指令來實現。
作為示例,適合作為慣性傳感器632的加速計可以是例如通過彈 簧、在三或四個點上與框架彈性耦合的簡單質量塊。俯仰和翻滾軸位 於與安裝到遊戲控制器630的框架相交的平面中。當框架(和遊戲控制 器630)圍繞俯仰和翻滾軸旋轉時,質量塊將在重力的影響下位移,並 且彈簧將以取決於俯仰和/或翻滾的角度的方式伸長或壓縮。質量塊的
位移可被感測並轉換成取決於俯仰和/或翻滾量的信號。圍繞偏航軸的 角加速度或者沿偏航軸的線性加速度還可產生彈簧的壓縮和/或伸長 或者質量塊的運動的特徵圖,它們可被感測並且轉換成取決於角或線 性加速度的量的信號。這種加速計裝置可通過跟蹤質量塊的移動或者 彈簧的壓縮和膨脹力,來測量圍繞偏航軸的傾斜、翻滾角加速度以及 沿偏航軸的線性加速度。存在許多不同的方式來跟蹤質量塊的位置和/ 或施加到其上的力,其中包括電阻應變計材料、光子傳感器、磁傳感 器、霍耳效應裝置、壓電裝置、電容傳感器等。
另外,遊戲控制器630可包括一個或多個光源634,例如發光二 極管(LED)。光源634可用來區分一個控制器與另一個控制器。例如, 一個或多個LED可通過使LED才莫式代碼閃爍或保持來實現這個方面。 作為示例,5個LED能以線性或二維;漠式設置在遊戲控制器630上。 雖然LED的線性陣列是優選的,但是,LED可以備選地設置成矩形模 式或者拱形模式,以便於當分析圖像捕捉單元623所得到的LED模式 的圖像時確定LED陣列的圖像平面。此外,LED才莫式代碼還可用於在 遊戲進行期間確定遊戲控制器630的定位。例如,LED可幫助識別控 制器的傾斜、偏航和翻滾。這種檢測模式可幫助在遊戲、如飛行器飛 行遊戲等中提供更好的用戶/感覺。圖像捕捉單元623可捕捉包含遊戲 控制器630和光源634的圖像。這類圖像的分析可確定遊戲控制器的 位置和/或取向。這種分析可通過存儲在存儲器602中並且由處理器 601運行的程序代碼指令604來實現。為了便於通過圖像捕捉單元623 捕捉光源634的圖像,光源634可設置在遊戲控制器630的兩個或更多不同的側面上,例如設置在正面和背面上(如陰影所示)。這種布置
允許圖像捕捉單元623根據用戶保持遊戲控制器630的方式對於遊戲 控制器630的不同取向來獲得光源634的圖像。
另外,光源634可通過例如脈衝碼、幅度調製或頻率調製格式向 處理器601提供遙測信號。這類遙測信號可指明按下哪些操縱杆按鈕 和/或按下這類按鈕的力度。例如通過脈衝編碼、脈寬調製、頻率調製 或光強(幅度)調製,可將遙測信號編碼成光信號。處理器601可對來 自光信號的遙測信號進行解碼,並響應解碼的遙測信號而運行遊戲命 令。可從圖像捕捉單元623所得到的遊戲控制器630的圖像分析中對 遙測信號進行解碼。備選地,設備600可包括專用於接收來自光源634 的遙測信號的獨立光學傳感器。例如在2006年5月4日提交的授予 Richard L. Marks等人的美國專利申請號11/429414、標題為"與計 算機程序接口的強度和輸入裝置的計算機圖像及音頻處理"(代理人檔 案號No. SONYP052)中描述了結合確定與電腦程式接口的強度量來 使用LED,通過引用將它完整地結合到本文中。另外,包含光源634 的圖像的分析可用於遙測以及確定遊戲控制器630的位置和/或取向。 這類技術可通過可存儲在存儲器602中並且由處理器601運行的程序 604的指令來實現。
處理器601可與來自圖像捕捉單元623所檢測的光源634的光學 信號和/或來自話筒陣列622所檢測的聲信號的聲源位置和表徵信息 結合使用來自慣性傳感器632的慣性信號,以便推導關於控制器630 和/或其用戶的位置和/或取向的信息。例如,"聲雷達"聲源位置和 表徵可與話筒陣列622結合用於跟蹤移動語音,同時遊戲控制器的運 動(通過慣性傳感器632和/或光源634)^皮單獨跟蹤。在聲雷達中,在 運行時選擇預先校準的監聽區域,並且濾除預先校準的監聽區域外部 的源發出的聲音。預先校準的監聽區域可包括與圖像捕捉單元623的 大量焦點或視野對應的監聽區域。在2006年5月4曰提交的授予 Xiadong Mao的標題為"用於目標聲音檢測和表徵的方法及設備"的美國專利申請號11/381724中詳細描述了聲雷達的示例,通過引用將 它結合到本文中。向處理器601提供控制信號的不同才莫式的任何數量 的不同組合可與本發明的實施例結合使用。這類技術可通過可存儲在 存儲器602中並且由處理器601運行的程序代碼指令604來實現,並 且可選地可包括一個或多個指令,這些指令指導一個或多個處理器在
的源發出的聲音。預先校準的監聽區域可包括與圖像捕捉單元623的 大量焦點或視野對應的監聽區域。
程序604可選地可包括一個或多個指令,這些指令指導一個或多 個處理器從話筒陣列622的話筒M。...MM中產生離散時域輸入信號 xjt),確定監聽扇區(sector),以及在半盲源分隔中使用監聽扇區來 選擇有限脈沖響應濾波器係數,以便分出來自輸入信號xm (t)的不同聲 源。程序604還可包括將一個或多個分數延遲應用於與來自參考話筒 M。的輸入信號x。 (t)不同的所選輸入信號xm (t)的指令。每個分數延遲 可選擇成優化來自話筒陣列的離散時域輸出信號y(t)的信噪比。分數 延遲可選擇成使得來自參考話筒M。的信號在時間上相對於來自陣列的 其它話筒的信號是第一個。程序604還可包括將分數延時A引入話筒 陣列的輸出信號y(t)的指令,使得y(t+A)=x(t+A)*b +x(t-l+ A)*b1+x(t-2+A)*b2+...+ x(t-N+A)*bN,其中A在0與士1之間。在 2006年5月4日提交的授予XiadongMao的標題為"超小型話筒陣列" 的美國專利申請號11/381729中詳細描述了這類技術的示例,通過引 用結合其完整公開。
程序604可包括一個或多個指令,這些指令在運行時使系統600 選擇包含聲源的預先校準的監聽扇區。這類指令可使設備確定聲源是 否位於初始扇區中或者位於初始扇區的特定一側。如果聲源不在預設 扇區中,則指令可在運行時選擇預設扇區的特定一側的不同扇區。該 不同扇區的特徵可在於最接近最佳值的輸入信號的衰減。這些指令在 運行時可計算來自話筒陣列622的輸入信號的衰減以及對最佳值的衰減。指令可在運行時使設備600確定一個或多個扇區的輸入信號的衰 減值,並且選擇衰減最接近最佳值的扇區。例如在2006年5月4曰提 交的授予Xiadong Mao的標題為"用於目標聲音檢測的方法和設備" 的美國專利申請11/381725中描述了這種技術的示例,通過引用將其 公開結合到本文中。
來自慣性傳感器632的信號可提供部分跟蹤信息輸入,而從圖像 捕41單元623通過跟蹤一個或多個光源634所生成的信號可提供另一 部分跟蹤信息輸入。作為示例而不是限制,這類"混合模式"信號可 用於橄欖球類型視頻遊戲中,其中四分衛在向左的頭碰頭假動作之後 向右擲球。具體來說,持有控制器630的遊戲玩家可把頭轉向左邊, 並在進行將控制器好像是橄欖球一樣擺向右方的擲動作的同時發出聲 音。與"聲雷達"程序代碼結合的話筒陣列622可跟蹤用戶的語音。 圖像捕捉單元623可跟蹤用戶頭部的運動或者跟蹤不需要聲音或者使 用控制器的其它命令。傳感器632可跟蹤遊戲控制器(表示橄欖球)的 運動。圖像捕捉單元623還可跟蹤控制器630上的光源634。可在達 到遊戲控制器630的加速度的一定量和/或方向時,或者在通過按下控 制器630上的按鈕所觸發的^4建命令時,用戶可鬆開"球"。
在本發明的某些實施例中,例如來自加速計或陀螺儀的慣性信號 可用來確定控制器630的位置。具體來說,來自加速計的加速度信號 可相對於時間積分一次,以確定速度的變化,並且速度可相對於時間 進行積分,以確定位置的變化。如果某個時間的初始位置和速度的值 為已知,則可使用這些值以及速度和位置的變化來確定絕對位置。雖 然可令使用慣性傳感器的位置確定比使用圖像捕捉單元623和光源 634更快,但是,慣性傳感器632可能經過稱作"漂移"的一種類型 的錯誤,其中隨時間累積的錯誤可導致從慣性信號所計算的操縱杆631 的位置(以陰影表示)與遊戲控制器630之間的實際位置的不一致。本 發明的實施例允許多種方式來處理這類錯誤。
例如,可通過將控制器630的初始位置重置為等於當前計算的位置,手動^fe消漂移。用戶可使用控制器630上的按鈕的一個或多個來 觸發重置初始位置的命令。備選地,可通過將當前位置重置為根據從 圖像捕捉單元623得到的圖像所確定的作為參考的位置,來實現基於 圖像的漂移。例如當用戶觸發遊戲控制器630上的按鈕的一個或多個 時,可手動實現這種基於圖像的漂移補償。備選地,例如以定期時間 間隔或者響應遊戲進行而自動實現基於圖像的漂移補償。這類技術可
來實現。
在某些實施例中,可能希望補償慣性傳感器信號中的寄生數據。 例如,可對於來自慣性傳感器632的信號進行過取樣,並從過取樣信 號計算滑動平均值,以便從慣性傳感器信號中去除寄生數據。在一些 情況下,可能希望對信號進行過取樣,並從數據點的某個子集中排除 高和/或低值,以及從其餘數據點計算滑動平均值。此外,其它數據取 樣和操縱技術可用於調整來自慣性傳感器的信號,以便去除或減小寄 生數據的重要性。技術的選擇可取決於信號的性質、對信號執行的計 算、遊戲進行的性質或者它們的兩個或更多的某種組合。這類技術可 通過可存儲在存儲器602中並且由處理器601運行的程序604的指令 來實現。
處理器601可響應由存儲器602存儲及檢索並且由處理器才莫塊601 運行的數據606和程序604的程序代碼指令而執行如上所述的慣性信 號數據606的分析。程序604的代碼部分可符合多種不同程式語言的 任一種,例如彙編、C++、 JAVA或許多其它語言。處理器才莫塊601形 成通用計算機,它在運行例如程序代碼604等程序時成為專用計算機。 雖然程序代碼604在本文中描述為通過軟體來實現並且運行於通用計 算機,但是,本領域的技術人員會知道,任務管理的方法備選地可使 用例如專用集成電路(ASIC)或其它硬體電路等的硬體來實現。因此, 應當理解,本發明的實施例可以整體或部分通過軟體、硬體或者它們 兩者的組合來實現。
33在一個實施例中,程序代碼604其中還可包括處理器可讀指令集, 該指令集實現具有與圖5B的方法510和圖5C的方法520或者它們的 兩個或更多的某種組合一樣的特徵的方法。程序代碼604 —般可包括 一個或多個指令,這些指令指導一個或多個處理器分析來自慣性傳感 器632的信號,以便生成位置和/或取向信息,並在進行視頻遊戲期間 利用該信息。
程序代碼604可選地可包括處理器可執行指令,其中包括一個或 多個指令,它們在運行時使圖像捕捉單元623監測圖像捕捉單元623 前面的視野,識別視野中的光源634中的一個或多個,檢測從光源634 發出的光線的變化;以及響應檢測到變化而觸發對處理器601的輸入 命令。例如在2004年1月16日提交的授予Richard L. Marks的標題 為"用於光輸入裝置的方法和設備"的美國專利申請號10/759782中 描述了與圖像捕捉裝置結合使用LED來觸發遊戲控制器中的動作,通 過引用將它完整地結合到本文中。
程序代碼604可選地可包括處理器可執行指令,其中包括一個或 多個指令,它們在運行時使用來自慣性傳感器的信號以及從圖像捕捉 單元通過跟蹤一個或多個光源所生成的信號作為對遊戲系統的輸入, 如上所述。程序代碼604可選地可包括處理器可執行指令,其中包括 在運行時補償慣性傳感器632中的漂移的一個或多個指令。
另外,程序代碼604可選地可包括處理器可執行指令,其中包括 在運行時調整控制器操縱對遊戲環境的聯動和映射的一個或多個指 令。這種特徵允許用戶改變遊戲控制器630的操縱對遊戲狀態的"聯 動"。例如,遊戲控制器630的45度旋轉可與遊戲對象的45度旋轉 聯動。但是,這種1: 1聯動比可修改成使得控制器的X度旋轉(或者傾 斜或偏航或"操縱")轉換成遊戲對象的Y旋轉(或者傾斜或偏航或"操 縱")。聯動可以是l:l比率、l:2比率、1:X比率或者X:Y比率,其 中X和Y可取任意值。另外,輸入通道到遊戲控制的映射還可隨時間 或者即時修改。修改可包括改變姿勢軌跡才莫型、修改位置、標度、姿勢的閾值等。這種映射可以經過編程、隨機、重疊、交錯等,以便為
用戶提供動態範圍的操縱。映射、聯動或比率的修改可由遊戲程序604 按照遊戲進行、遊戲狀態、通過設置在遊戲控制器630上的用戶修改 器按鈕(小鍵盤等)或者廣泛地響應輸入通道來調整。輸入通道可包括 但不限於用戶音頻、控制器生成的音頻、控制器生成的跟蹤音頻、控 制器按鈕狀態、攝像機輸出、包括加速計數據、傾斜、偏航、翻滾、 位置、加速度的控制器遙測數據以及來自傳感器的能夠跟蹤用戶或者 對於對象的用戶操縱的任何其它數據。
在某些實施例中,遊戲程序604可通過預定的時間相關方式隨時 間從一種方案或比率到另一種方案分別改變映射或聯動。聯動和映射 變化可通過各種方式應用於遊戲環境。在一個示例中,當人物健康時, 視頻遊戲人物可按照一種聯動方案來控制,而當人物的健康惡化時, 系統可調整控制器命令,因此迫使用戶加劇控制器的移動以向人物示 意命令。當例如可能要求用戶調整輸入以便在新映射下重新獲得人物 的控制時,變得迷失方向的視頻遊戲人物可迫使改變輸入通道的映射。 修改輸入通道到遊戲命令的轉換的映射方案也可在遊戲進行期間改 變。這種轉換可響應遊戲狀態或者響應輸入通道的一個或多個元素下 發出的修改命令而通過各種方式進行。聯動和映射還可配置成影響輸 入通道的一個或多個元素的配置和/或處理。
另外,例如喇叭、蜂鳴器、號角、風笛等的聲音發射器636可安 裝到操縱杆控制器630。在某些實施例中,聲音發射器能以可分離方 式安裝到操縱杆控制器630的"主體(body)"。在程序代碼604定位 和表徵釆用話筒陣列622所檢測的聲音的"聲雷達"實施例中,聲音 發射器636可提供可由話筒陣列622檢測並且由程序代碼604用來跟 蹤遊戲控制器630的位置的音頻信號。聲音發射器636還可用於將附 加"輸入通道"從遊戲控制器630提供給處理器601。可定期用脈衝 發送來自聲音發射器636的音頻信號,以便提供使聲雷達跟蹤位置的 信標。音頻信號(用脈衝發送或其它方式)可以是可聽的或者是超聲波的。聲雷達可跟蹤遊戲控制器630的用戶操縱,並且其中這種操縱跟
蹤可包括與遊戲控制器630的位置和取向(例如俯仰、翻滾或偏航角)
有關的信息。脈沖能以適當的工作周期來觸發,這是本領域的技術人
員能夠應用的。脈沖可根據從系統仲裁的控制信號來發起。系統600 (通
過程序代碼604)可協調與處理器601耦合的兩個或更多操縱杆控制器
6 30之間的控制信號的分發,以確保可跟蹤多個控制器。
在某些實施例中,混合器605可配置成獲得用於使用從遊戲控制
器630上的例如才莫擬操縱杆控制項631和按鈕633等常規控制項所接收的
輸入來控制遊戲程序604的運行的輸入。具體來說,接收混合器605
可接收來自控制器630的控制器輸入信息。控制器輸入信息可包括下 列至少一個a)識別遊戲控制器的用戶可移動控制杆相對於控制杆的
靜止位置的當前位置的信息,或者b)識別遊戲控制器中包含的開關 是否為活動的信息。混合器605還可接收來自正使用控制器630的環 境的補充輸入信息。作為示例而不是限制,補充輸入信息可包括下列 一個或多個i)從環境中的圖像捕捉裝置(例如圖像捕捉單元623)所 得到的信息;和/或ii)來自與遊戲控制器或用戶的至少一個關聯的 慣性傳感器(例如慣性傳感器632)的信息;和/或iii)從環境中的聲 換能器所得到的聲信息(例如來自話筒陣列622,可能與聲發射器636 生成的聲信號結合)。
控制器輸入信息還可包括識別壓力敏感按鈕是否為活動的信息。 通過處理控制器輸入信息和補充輸入信息以產生組合輸入,混合器605 可獲得用於控制遊戲程序604的運行的組合輸入。
組合輸入可包括用於在遊戲程序604的運行期間控制相應的各個 功能的各個合併輸入。可通過合併關於特定單獨功能的控制器輸入信 息以及關於特定單獨功能的補充輸入信息,來獲得各個合併輸入的至 少一些。組合輸入可包括用於在遊戲程序604的運行期間控制某個功 能的合併輸入,並且可通過合併關於該功能的控制器輸入信息以及關 於該功能的補充輸入信息,來獲得合併輸入的至少一些。在這類情況
36下,可通過求表示控制器輸入信息的值與表示補充輸入信息的值的平 均,來執行合併。作為示例,可按照一比一的比率求控制器輸入信息 的值與補充輸入信息的值的均值。備選地,控制器輸入信息和補充輸 入信息均可^皮賦予不同的權重,並且可按照所賦權重、作為控制器輸 入信息和補充輸入信息的值的加權平均,來執行求均值。
在一些實施例中,控制器輸入信息或者補充輸入信息的第一個的 值可用作對遊戲程序的修改輸入,用於修改對於按照控制器輸入信息 或者補充輸入信息的第二個的至少一個所激活的仍然活動的功能的控
制。補充輸入信息可包括通過操作慣性傳感器632所得到的慣性傳感 器信息和/或表示用戶可移動對象的取向的取向信息。備選地,補充輸 入信息包括指示用戶可移動對象的位置或取向的至少一個的信息。這 裡所使用的"用戶可移動對象"可指控制器630或者安裝到控制器630 的主體的產品,並且補充輸入信息包括指示用戶可移動對象的取向的 信息。作為示例,這種取向信息可包括指示俯仰、偏;杭或翻滾中的至 少一個的信息。
在一些實施例中,可通過將表示控制杆(例如模擬操縱杆631其中 之一)的位置的控制器輸入信息的值與表示用戶可移動對象的取向的 補充輸入信息的值合併,來獲得組合輸入。如上所述,用戶可移動對 象可包括安裝到遊戲控制器630的對象和/或遊戲控制器630,以及當 控制杆向後移動、同時俯仰增加到正(昂頭(nose-up))值時,組合輸入 可反映增強的上仰輸入。類似地,當控制杆向前移動、同時俯仰減少 到負(下沖)值時,組合輸入可反映增強的俯衝輸入。
可通過指定表示控制杆的位置的控制器輸入信息的值作為粗控制 信息以及指定表示用戶可移動對象的取向的補充輸入信息的值作為細 控制信息,來獲得組合輸入。備選地,可通過指定識別遊戲控制器的 開關是否為活動的控制器輸入信息的值作為粗控制信息以及指定表示 用戶可移動對象的取向的補充輸入信息的值作為細控制信息,來獲得 組合輸入。另外,可通過指定表示用戶可移動對象的取向的補充輸入信息的值作為粗控制信息以及指定表示控制杆的位置的控制器輸入信
息的值作為細控制信息,來獲得組合輸入。此外,還可通過指定識別
遊戲控制器的開關是否為活動的控制器輸入信息的值作為細控制信息
以及指定表示用戶可移動對象的取向的補充輸入信息的值作為粗控制
信息,來獲得組合輸入。在所有這些情況或者其中的任一個情況中,
組合輸入可表示按照細控制信息調整相對較小數量的粗控制信息的值。
在一些實施例中,可通過將控制器輸入信息所表示的值與補充輸
入信息所表示的值加法組合,使得組合輸入向遊戲程序604提供具有 比控制器輸入信息或者補充輸入信息單獨取的值的任一個更高或更低 的值的信號,來獲得組合輸入。備選地,組合輸入可向遊戲程序604 提供具有平滑值的信號,平滑值信號隨時間經過比控制器輸入信息或 者補充輸入信息單獨取的值的任一個更緩慢的變化。組合輸入還可向 遊戲程序提供具有增加的信號內容的高清晰度信號。高清晰度信號可 隨時間經過比控制器輸入信息或者補充輸入信息單獨取的值的任一個 更迅速的變化。
雖然根據與視頻遊戲控制器630的遊戲相關的示例描述了本發明 的實施例,但是,包括系統600在內的本發明的實施例可以在任何用 戶操縱主體、塑造對象、旋鈕、結構等之上使用,其中具有慣性感測 能力以及無線或其它方式的慣性傳感器信號傳輸能力。
作為示例,本發明的實施例可在並行處理系統上實現。這類並行 處理系統通常包括兩個或更多處理器元件,它們配置成使用獨立處理 器並行運行程序的若干部分。作為示例而不是限制,圖7示出根據本 發明的一個實施例的一種類型的cell處理器700。 cell處理器700可 用作圖6的處理器601或者圖5A的處理器502。在圖7所示的示例中, cell處理器700包括主存儲器702、功率處理器元件(PPE) 704和多個 協同處理器元件(SPE) 706。在圖7所示的示例中,cell處理器700包 括單個PPE 704和八個SPE 706。在這種配置中,SPE 706中的七個可用於並行處理,而 一個可保留作為另外七個中的 一個出故障時的備用。
備選地,cell處理器可包括多組PPE(PPE組)和多組SPE(SPE組)。在 這種情況下,硬體資源可在一組中的單元之間共享。但是,SPE和PPE 對軟體必須表現為獨立元件。因此,本發明的實施例並不局限於與圖 7所示的配置配合使用。
主存儲器702通常包括通用和非易失性存儲裝置以及用於例如系 統配置、數據傳遞同步、存儲器映射1/0和1/0子系統等功能的專用 硬體寄存器或陣列。在本發明的實施例中,視頻遊戲程序703可常駐 主存儲器702中。存儲器702還可包含信號數據709。視頻程序703 可包括慣性、圖像以及以上針對圖4、圖5A、圖5B或圖5C所述或者 它們的某種組合所配置的聲學分析器和混合器。程序703可在PPE上 運行。程序703可分為可在SPE和/或PPE上運行的多個信號處理任務。
作為示例,PPE 704可以是具有關聯的Ll和L2高速緩存的64位 PowerPC處理器單元(PPU) 。 PPE 704是通用處理單元,它可訪問系統 管理資源(例如存儲器保護表)。硬體資源可明確映射到PPE所看到的 實際地址空間。因此,PPE可通過使用適當的有效地址值直接對這些 資源的任一個尋址。PPE 704的主要功能是管理和分配cell處理器700 中的SPE 706的任務。
雖然圖7中僅示出單個PPE,但在一些cell處理器實現、如cell 寬帶引擎架構(CBEA)中,eel 1處理器700可具有組織成PPE組的多個 PPE, PPE組中可存在多於一個PPE。這些PPE組可共享對主存儲器702 的存取。此外,cell處理器700可包括兩組或更多組SPE。 SPE組也 可共享對主存儲器702的存取。這類配置落入本發明的範圍之內。
各SPE 706包括協同處理器單元(SPU)以及它自己的本地存儲區 LS。本地存儲區LS可包括一個或多個獨立的存儲器存儲區,每一個與 特定SPU關聯。各SPU可配置成僅運行來自它自己的關聯的本地存儲 域中的指令(包括數據加載和數據存儲操作)。在這種配置中,可通過 從存儲器流控制器(MFC)發出直接存儲器存取(DMA)命令以便向(單獨SPE的)本地存儲域傳遞數據或傳遞來自本地存儲域的數據,來執行本 地存儲區LS與系統700的其它位置之間的數據傳遞。與PPE 704相比, SPU是不太複雜的計算單元,因為它們不執行任何系統管理功能。SPU 一般具有單指令多數據(SIMD)能力,並且通常處理數據並發起任何所 需數據傳遞(服從PPE所建立的訪問屬性),以便執行其分配任務。SPU 的目的是實現需要較高計算單元密度的應用,並且可有效地使用提供 的指令集。PPE 704所管理的系統中的大量SPE允許對於大範圍應用 的節省成本的處理。
各SPE 706可包括專用存儲器流控制器(MFC),它包括可保持和處 理存儲器保護以及訪問準許信息的關聯存儲器管理單元。MFC提供 cell處理器的主存儲裝置與SPE的本地存儲裝置之間的數據傳遞、保 護和同步的初步方法。MFC命令描述待執行的傳遞。傳遞數據的命令 有時稱作MFC直接存儲器存取(DMA)命令(或MFC DMA命令)。
各MFC可同時支持多個DMA傳遞,並且可保持和處理多個MFC命
址(EA)。本地存儲地址可以僅對其關聯SPE的本地存卞者區直接尋址。 有效地址可具有更一般應用,例如,它可以能夠引用主存儲裝置,包 括所有SPE本地存儲區,如果它們混疊到實際地址空間。
為了幫助SPE 706之間和/或SPE 706與PPE 704之間的通信,SPE 706和PPE 704可包括依靠信令事件的信號通知寄存器。PPE 704和 SPE 706可通過星形拓樸結構進行耦合,其中PPE 704充當向SPE 706 傳送消息的路由器。備選地,各SPE 706和PPE 704可具有稱作郵箱 的單向信號通知寄存器。郵箱可由SPE 706用來主持作業系統(OS)同步。
eel 1處理器700可包括輸入/輸出(I/O)功能708, cell處理器700 可通過該功能與例如話筒陣列712以及可選圖像捕捉單元713及遊戲 控制器7 30等的外圍裝置接口 。遊戲控制器單元可包括慣性傳感器7 32 和光源734。另外,元件互連總線710可連接上述各種組件。各SPE
40和PPE可通過總線接口單元BIU來訪問總線710。 cell處理器700還 可包括通常存在於處理器中的兩個控制器控制總線710與主存儲器 702之間的數據流的存儲器接口控制器MIC以及控制I/O 708與總線 710之間的數據流的總線接口控制器BIC。雖然MIC、 BIC、 BIU和總線 710的要求對於不同的實現可能極大地改變,但是本領域的技術人員 會熟悉其功能以及用於實現它們的電路。
cell處理器700還可包括內部中斷控制器IIC。 IIC組件管理提 供給PPE的中斷的優先級。IIC允許處理來自cell處理器700的其它 組件的中斷,而無需使用主系統中斷控制器。IIC可^L看作是第二級 控制器。主系統中斷控制器可處理cell處理器外部始發的中斷。
在本發明的實施例中,可使用PPE 704和/或SPE 706的一個或多 個並行執行某些計算、如上述分數延遲。各分數延遲計算可作為一個 或多個獨立任務來運行,在它們變為可用時不同SPE 706可進行這些任務。
雖然以上是對本發明的優選實施例的完整描述,但是能夠使用各 種備選、修改和等效方案。因此,本發明的範圍不應當參照以上描述 來確定,而是應當參照所附權利要求及其完整的等效範圍共同確定。
的任何其它特徵進行組合。在以下權利要求書中,"一個"指的是該 詞之後的一項或多項的數量,除非另加說明。所附權利要求書不是要 理解為包含部件加功能限制,除非在給定權利要求中使用詞語"用於... 的部件"明確描述這種限制。
權利要求
1. 一種獲得用於控制遊戲程序的運行的輸入的方法,包括從用戶可操縱遊戲控制器接收控制器輸入信息,所述控制器輸入信息包括下列至少一個a)識別所述遊戲控制器的用戶可移動控制杆相對於所述控制杆的靜止位置的當前位置的信息,或者b)識別所述遊戲控制器中包含的開關是否為活動的信息;接收來自正使用所述控制器的環境的補充輸入信息;以及通過處理所述控制器輸入信息和所述補充輸入信息以產生組合輸入,來獲得用於控制所述遊戲程序的運行的所述組合輸入。
2. 如權利要求l所述的方法,其中,所述組合輸入包括用於在所 述遊戲程序的運行期間控制相應各個功能的各個合併輸入,並且通過 合併有關特定單獨功能的所述控制器輸入信息以及有關所述特定單獨 功能的所述補充輸入信息,來獲得所述各個合併輸入的至少 一些。
3. 如權利要求l所述的方法,其中,所述組合輸入包括用於在所 述遊戲程序的運行期間控制某個功能的合併輸入,並且通過合併有關 所述功能的所述控制器輸入信息以及有關所述功能的所述補充輸入信 息,來獲得所述合併輸入的至少一些。
4. 如權利要求2或3所述的方法,其中,通過求表示所述控制器 輸入信息的值與表示所述補充輸入信息的值的均值,來執行所迷合併。
5. 如權利要求4所述的方法,其中,按照一比一的比率求所述控 制器輸入信息的值與所述補充輸入信息的值的均值。
6. 如權利要求4所述的方法,其中,所述控制器輸入信息和所述 補充輸入信息均糹皮賦予不同的權重,並且按照所賦權重、作為控制器 輸入信息和補充輸入信息的所述值的加權平均,來執行求均值步驟。
7. 如權利要求l所述的方法,還包括使用所述控制器輸入信息 或者所述補充輸入信息的第一個的值作為對所述遊戲程序的修改輸 入,用於修改對於按照所述控制器輸入信息或者所述補充輸入信息的第二個的至少 一個所激活的仍然活動的功能的控制。
8. 如權利要求2、 3或7所述的方法,其中,所述補充輸入信息 包括通過操作慣性傳感器所得到的慣性傳感器信息或者表示用戶可移 動對象的取向的取向信息的至少一個。
9. 如權利要求8所述的方法,其中,所述慣性傳感器安裝到所述 遊戲控制器,並且所述慣性傳感器包括加速計或陀螺儀的至少 一個。
10. 如權利要求2或8所述的方法,其中,所述補充輸入信息包 括指示用戶可移動對象的位置或取向的至少一個的信息。
11. 如權利要求10所述的方法,其中,所述用戶可移動對象包括 所述遊戲控制器或者安裝到所述遊戲控制器的主體的產品的至少一 個,並且所述補充輸入信息包括指示所述用戶可移動對象的取向的信 自
12. 如權利要求IO所述的方法,其中,所述補充輸入信息包括指 示俯仰、偏4元或翻滾的至少一個的信息。
13. 如權利要求12所述的方法,其中,所述補充輸入信息包括指 示俯仰、偏航或翻滾的信息。
14. 如權利要求10至13中的任一項所述的方法,其中,通過將 表示所述控制杆的位置的控制器輸入信息的值與表示所述用戶可移動 對象的取向的所述補充輸入信息的值合併,來獲得所述組合輸入。
15. 如權利要求14所述的方法,其中,所述用戶可移動對象包括 安裝到所述遊戲控制器的對象或者所述遊戲控制器的至少一個,以及 當所述控制杆向後移動、同時俯仰增加到正(昂頭)值時,所述組合輸 入反映增強的上仰輸入。
16. 如權利要求15所述的方法,其中,所述用戶可移動對象包括 安裝到所述遊戲控制器的對象或者所述遊戲控制器的至少一個,以及 當所述控制杆向前移動、同時俯仰減小到負(下沖)值時,所述組合輸 入反映增強的俯衝輸入。
17. 如權利要求14所述的方法,其中,通過指定表示所述控制杆的位置的所述控制器輸入信息的值作為粗控制信息以及指定表示所述 用戶可移動對象的取向的所述補充輸入信息的值作為細控制信息,來 獲得所述組合輸入,其中所述組合輸入表示按照所述細控制信息調整 相對較小數量的所述粗控制信息的值。
18. 如權利要求14或17所述的方法,其中,通過指定識別所述 遊戲控制器的開關是否為活動的所述控制器輸入信息的值作為粗控制 信息以及指定表示所述用戶可移動對象的取向的所述補充輸入信息的 值作為細控制信息,來獲得所述組合輸入,其中所述組合輸入表示按 照所述細控制信息調整相對較'J 、數量的所述粗控制信息的值。
19. 如權利要求14或18所述的方法,其中,通過指定表示所述 用戶可移動對象的取向的所述補充輸入信息的值作為粗控制信息以及 指定表示所述控制杆的位置的所述控制器輸入信息的值作為細控制信 息,來獲得所述組合輸入,其中所述組合輸入表示按照所述細控制信 息調整相對較小數量的所述粗控制信息的值。
20. 如權利要求14、 17或19所述的方法,其中,通過指定識別 所述遊戲控制器的開關是否為活動的所述控制器輸入信息的值作為細 控制信息以及指定表示所述用戶可移動對象的取向的所述補充輸入信 息的值作為粗控制信息,來獲得所述組合輸入,其中所述組合輸入表 示按照所述細控制信息調整相對較小數量的所述粗控制信息的值。
21. 如權利要求l、 2或3所述的方法,其中,通過將所述控制器 輸入信息所表示的值與所述補充輸入信息所表示的值加法組合,使得 所述組合輸入向所述遊戲程序提供具有比所述控制器輸入信息或者所 述補充輸入信息單獨取的值更高的值的信號,來獲得所迷組合輸入。
22. 如權利要求l、 2或3所述的方法,其中,通過將所述控制器 輸入信息所表示的值與所述補充輸入信息所表示的值減法組合,使得 所述組合輸入向所述遊戲程序提供具有比所述控制器輸入信息或者所 述補充輸入信息單獨取的值更低的值的信號,來獲得所述組合輸入。
23. 如權利要求l、 2或3所述的方法,其中,所述組合輸入向所述遊戲程序提供具有平滑值的信號,所迷平滑值信號隨時間經過比所 述控制器輸入信息或者所述補充輸入信息單獨取的值的任一個更緩慢 的變化。
24. 如權利要求l、 2或3所述的方法,其中,所述組合輸入向所 述遊戲程序提供具有增加的信號內容的高清晰度信號,所述高清晰度 信號隨時間經過比所述控制器輸入信息或者所述補充輸入信息單獨取 的值的任一個更迅速的變化。
25. 如權利要求l、 2或3中的任一項所述的方法,其中,所述補 充輸入信息包括從環境中的聲換能器所得到的聲信息。
26. 如權利要求l、 2或3中的任一項所述的方法,其中,所述控 制器輸入信息包括識別壓力敏感按鈕是否為活動的信息。
27. 如權利要求l、 2或3中的任一項所述的方法,其中,所述補 充輸入信息包括下列至少一個i)從環境中的圖像捕捉裝置所得到的 信息,ii)來自與所述遊戲控制器或用戶的至少一個關聯的慣性傳感 器的信息,或者iii)來自環境中的聲換能器的信息。
28. 如權利要求l、 2或3中的任一項所述的方法,其中,所述補 充輸入信息包括從環境中的圖像捕捉裝置所得到的信息、來自與所述 遊戲控制器或用戶的至少一個關聯的慣性傳感器的信息以及來自環境 中的聲換能器的信息。
全文摘要
公開了獲得用於控制遊戲的運行的輸入的方法。在本發明的實施例中,可在姿勢識別的分析之前,混合來自慣性、圖像捕捉和聲源的控制器路徑信息。
文檔編號A63F13/02GK101484221SQ200780025400
公開日2009年7月15日 申請日期2007年4月14日 優先權日2006年5月4日
發明者G·M·扎列夫斯基, R·L·馬克斯, X·毛 申請人:美國索尼電腦娛樂公司