專利名稱:獲得用于控制游戲程序的運行的輸入的制作方法
技術領域:
一般來說,本發明涉及人機接口,具體來說,涉及處理用于跟蹤一個或多個控制器的用戶操縱的多通道輸入。
背景技術:
計算機娛樂系統通常包括手持控制器、游戲控制器或其它控制器。用戶或玩家使用控制器向娛樂系統發送命令或其它指令,以便控制正在玩的視頻游戲或其它模擬。例如,控制器可配備由用戶操作的操縱器、如操縱桿。操縱桿的被操縱變量從模擬值轉換成數字值,該數字值被發送給游戲機主機。控制器還可配備可由用戶操作的按鈕。正是針對這些及其它背景信息因素發展了本發明。
結合附圖通過參考以下詳細描述,可易于理解本發明的理論,附圖包括圖1是示出根據本發明的一個實施例進行操作的視頻游戲系統的實物電路圖;圖2是根據本發明的一個實施例制作的控制器的透視圖;圖3是示出根據本發明的一個實施例、可用于控制器的加速計的三維示意圖;圖4是根據本發明一個實施例、用于混合各種控制輸入的系統的框圖;圖5A是圖1的視頻游戲系統的一部分的框圖;圖5B是根據本發明的一個實施例、用于跟蹤視頻游戲系統的控制器的方法的流程圖;圖5C是示出根據本發明的一個實施例、用于在視頻游戲系統上的游戲進行期間利用位置和/或取向信息的方法的流程圖;圖6是示出根據本發明的一個實施例的視頻游戲系統的框圖;以及圖7是根據本發明的一個實施例的視頻游戲系統的單元處理器實現的框圖。具體實施例描述雖然為了便于說明,以下詳細描述包含許多具體細節,但是,本領域的技術人員會理解,對以下細節的許多變化和變更處于本發明的范圍之內。因此,提出以下描述的本發明的示范實施例,而不失要求權益的本發明的一般性并且沒有對要求權益的本發明施加限制。本文所述的方法、設備、方案和系統的各種實施例提供用戶對整個控制器主體本身的移動、運動和/或操縱的檢測、捕捉和跟蹤。用戶對整個控制器主體的所檢測移動、運動和/或操縱可作為附加命令用來控制所進行的游戲或其它模擬的各個方面。檢測和跟蹤用戶對游戲控制器主體的操縱的步驟可通過不同方式來實現。例如,例如加速計或陀螺儀等慣性傳感器、例如數碼相機等圖像捕捉單元可與計算機娛樂系統配合使用,以便檢測手持控制器主體的運動,并將它們轉換成游戲中的動作。例如在標題為“三維輸入控制的系統、方法和設備”的美國專利申請11/382033(代理人檔案號SCEA06INRT1)中描述了跟蹤具有慣性傳感器的控制器的示例,通過引用將其結合到本文中。例如在標題為“用于檢測和跟蹤游戲控制器主體的用戶操縱的方案”的美國專利申請11/382034(代理人檔案號SCEA05082US00)中描述了使用圖像捕捉來跟蹤控制器的示例,通過引用將其結合到本文中。另外,還可使用話筒陣列和適當的信號處理以聲學方式跟蹤控制器和/或用戶。在美國專利申請11/381721中描述了這種聲跟蹤的示例,通過引用將其結合到本文中。聲感測、慣性感測和圖像捕捉可單獨地或者以任何組合用于檢測控制器的許多不同類型的運動,例如上下移動、扭轉移動、左右移動、急拉移動、棒式運動、俯沖運動等。這類 運動可對應于各種命令,使得運動被轉換成游戲中的動作。檢測和跟蹤用戶對游戲控制器主體的操縱可用來實現許多不同類型的游戲、模擬等,這允許用戶例如參加刀劍或光劍戰斗,使用棍棒跟蹤物品的形狀,參加許多不同類型的體育賽事,參加屏幕上的戰斗或其它對抗等。游戲程序可配置成跟蹤控制器的運動,并且從被跟蹤運動中識別出某些預先記錄的姿勢。這些姿勢中的一個或多個的識別可觸發游戲狀態的變化。在本發明的實施例中,可在用于姿勢識別的分析之前混合從這些不同來源得到的控制器路徑信息。可通過改進識別姿勢的可能性的方式混合來自不同來源(例如聲、慣性和圖像捕捉)的跟蹤數據。參照圖1,示出根據本發明的一個實施例進行操作的系統100。如圖所示,計算機娛樂控制臺102可與電視或其它視頻顯示器104耦合,以便在其中顯示視頻游戲或其它模擬的圖像。游戲或其它模擬可存儲在插入控制臺102的DVD、CD、閃速存儲器、USB存儲器或者其它存儲器介質106上。用戶或玩家108操縱游戲控制器110來控制視頻游戲或其它模擬。在圖2中看到,游戲控制器110包括慣性傳感器112,它響應游戲控制器110的位置、運動、取向或者取向的變化而產生信號。除了慣性傳感器之外,游戲控制器110還可包括常規控制輸入裝置,例如操縱桿111、按鈕113、R1、LI等。在操作中,用戶108以物理方式移動控制器110。例如,控制器110可由用戶108朝任何方向移動,例如上、下、到一側、到另一側、扭轉、翻滾、搖晃、急拉、俯沖等。控制器110本身的這些移動可由相機112通過經由分析來自慣性傳感器112的信號進行跟蹤、以下面所述的方式來檢測和捕捉。再參照圖1,系統100可以可選地包括相機或其它視頻圖像捕捉裝置114,它可定位成使得控制器110在相機的視野116之內。來自圖像捕捉裝置114的圖像的分析可與來自慣性傳感器112的數據的分析結合使用。如圖2所示,控制器110可以可選地配備例如發光二極管(LED)202、204、206、208等光源,以幫助通過視頻分析進行跟蹤。它們可安裝到控制器110的主體上。本文所使用的術語“主體”用于描述游戲控制器110中將用手握住(或者在它是可佩戴游戲控制器時佩戴)的部分。例如在授予發明人Gary M. Zalewsk1、標題為“用于檢測和跟蹤游戲控制器主體的用戶操縱的方案”的美國專利申請號11/382034 (代理人檔案號SCEA05082US00)中描述為了跟蹤控制器110而對這類視頻圖像的分析,通過引用將其結合到本文中。控制臺102可包括聲換能器,例如話筒陣列118。控制器110還可包括聲信號生成器210 (例如喇ΒΛ ),從而提供聲源以幫助具有話筒陣列118的控制器110的聲跟蹤以及適當的聲信號處理,如美國專利申請11/381724中所述,通過引用將其結合到本文中。一般來說,來自慣性傳感器112的信號用于生成控制器110的位置和取向數據。這種數據可用來計算控制器110的移動的許多物理方面,例如它沿任何軸的加速度和速度、它的傾斜、俯仰、偏航、翻滾以及控制器110的任何遙測點。本文所使用的“遙測”一般指的是遠程測量受關注信息并向系統或者向系統的設計人員或操作員報告。檢測和跟蹤控制器110的移動的能力使得能夠確定是否執行控制器110的任何預定移動。也就是說,控制器110的某些移動模式或姿勢可預先定義并用作游戲或其它模擬的輸入命令。例如,控制器110的向下俯沖姿勢可定義為一個命令,控制器110的扭轉姿勢可定義為另一個命令,控制器110的搖晃姿勢可定義為另一個命令,依此類推。這樣,用戶108以物理方式移動控制器110的方式用作用于控制游戲的另一個輸入,它為用戶提供更刺激更愉快的體驗。作為示例而不是限制,慣性傳感器112可以是加速計。圖3示出采取在四個點例如通過彈簧306、308、310、312與框架304彈性耦合的簡單質量決302的形式的加速計300的一個示例。俯仰軸和翻滾軸(分別由X和Y表示)位于與框架相交的平面中。偏航軸Z定向為與包含俯仰軸X和翻滾軸Y的平面垂直。框架304可通過任何適當方式安裝到控制器110。當框架304 (以及游戲控制器110)加速和/或旋轉時,質量決302可相對于框架304位移,并且彈簧306、308、310、312可按以下方式伸長或壓縮,該方式取決于俯仰和/或翻滾和/或偏航的平移和/或旋轉加速的數量和方向和/或角度。質量塊302的位移和/或彈簧306、308、310、312的壓縮或伸長可采用例如適當的傳感器314、316、318、320來感測,并且被轉換成以已知或預定方式與俯仰和/或翻滾的加速量相關的信號。存在許多不同的方式來跟蹤質量決的位置和/或施加到其上的力,其中包括電阻應變計材料、光子傳感器、磁傳感器、霍耳效應裝置、壓電裝置、電容傳感器等。本發明的實施例可包括任何數量和類型的傳感器或者傳感器類型的組合。通過示例而不是限制,傳感器314、316、318、320可以是設置在質量塊302上的間隙近接式電極。質量塊與各電極之間的電容隨質量塊相對于各電極的位置而改變。各電極可連接到電路,該電路產生與質量塊302相對于電極的電容(因此與質量塊相對于電極的接近度)相關的信號。另外,彈簧306、308、310、312可包括電阻應變計傳感器,它們產生與彈簧的壓縮和伸長相關的信號。在一些實施例中,框架304可用萬向架安裝到控制器110,使得加速計300相對于俯仰和/或翻滾和/或偏航軸保持固定取向。這樣,控制器軸X、YZ可直接映射到實際空間中的對應軸,而無需考慮控制器軸相對于實際空間坐標軸的傾斜。如上所述,可分析來自慣性、圖像捕捉和聲源的數據,以生成跟蹤控制器110的位置和/或取向的路徑。如圖4的框圖所示,根據本發明的一個實施例的系統400可包括慣性分析器402、圖像分析器404和聲學分析器406。這些分析器中的每個接收來自感測環境401的信號。分析器402、404、406可通過硬件、軟件(或固件)或者它們中的兩個或更多的某種組合來實現。分析器中的每個產生與受關注對象的位置和/或取向相關的跟蹤信息。作為示例,受關注對象可以是上述控制器110。圖像分析器404可結合美國專利申請11/382034(代理人檔案號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進行分析,以便根據本發明方法在進行視頻游戲期間確定控制器110的運動和/或取向。這種方法可實現為處理器可讀介質中存儲的并且在數字處理器上運行的一系列(a series of)處理器可執行程序代碼指令。例如,如圖5A所示,視頻游戲系統100可包括具有通過硬件或者軟件來實現的慣性分析器402、圖像分析器404和聲學分析器406的控制臺102。作為示例,分析器402、404,406可實現為運行于適當處理器單元502上的軟件指令。作為示例,處理器單元502可以是數字處理器,例如視頻游戲控制臺中常用類型的微處理器。指令的一部分可存儲在存儲器506中。備選地,慣性分析器402、圖像分析器404和聲學分析器406可通過硬件、例如專用集成電路(ASIC)來實現。這種分析器硬件可設置在控制器110或者控制臺102上,或者可遠程設置在其它位置。在硬件實現中,分析器402、404、406可以是響應例如來自處理器502或者例如通過USB纜線、無線連接或者通過網絡所連接的其它某個遠程設置的源的外部信號而可編程的。慣性分析器402可包括或者實現分析慣性傳感器112生成的信號并且利用與控制器110的位置和/或取向有關的信息的指令。類似地,圖像分析器404可實現分析圖像捕捉單元114所捕捉的圖像的指令。另外,聲學分析器可實現分析話筒陣列118所捕捉的圖像的指令。如圖5B的流程圖510所示,這些信號和/或圖像可由分析器402、404、406接收,如框512所示。信號和/或圖像可由分析器402、404、406進行分析,以確定與控制器110的位置和/或取向有關的慣性跟蹤信息403、圖像跟蹤信息405和聲學跟蹤信息407,如框514所示。跟蹤信息403、405、407可與一個或多個自由度相關。優選地跟蹤六個自由度,以表征控制器110或其它被跟蹤對象的操縱。這類自由度可與沿X、y和z軸的控制器傾斜、偏航、翻滾以及位置、速度或加速度相關。如框516所示,混合器408混合慣性信息403、圖像信息405和聲學信息407,以生成精確的位置和/或取向信息(orientationinformation)409。作為示例,混合器408可根據游戲或環境條件來對慣性、圖像和聲學跟蹤信息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進行視頻游戲期間使用,如框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所示。游戲狀態的改變可包括但不限于中斷、發送控制信號、改變變量等。這里是可能發生這種情況的一個示例。在確定控制器110已經離開穩態時,分析器402、404、406或412跟蹤控制器110的移動。只要控制器110的路徑符合存儲的姿勢模型508中所定義的路徑,則那些姿勢是可能的“命中”。如果控制器110的路徑(在噪聲容差設定內)偏離任何姿勢模型508,則從命中列表中刪除那個姿勢模型。各姿勢參考模型包括記錄姿勢的時基。分析器402、404、406或412在適當的時間索引將控制器路徑數據與存儲的姿勢508進行比較。穩態條件的出現重置時鐘。在偏離穩態時(即,在噪聲閾值之外跟蹤移動時),對命中列表加載所有可能的姿勢模型。啟動時鐘,并且將控制器的移動與命中列表進行比較。比較同樣是走查(walk through)時間。如果命中列表中的任何姿勢到達姿勢結束,則是一次命中。在某些實施例中,混合器408和/或各個分析器402、404、406、412可通知游戲程序關于發生某些事件的時間。這類事件的示例包括下列各項中斷達到的零加速度點(X和/或Y和/或Z軸)在某些游戲情況中,當控制器的加速度在拐點改變時,分析器可通知或中斷游戲程序中的例程。例如,用戶108可使用控制器110來控制表示橄欖球模擬游戲中的四分衛的游戲替身。分析器可經由根據來自慣性傳感器112的信號生成的路徑來跟蹤控制器(表示橄欖球)。控制器110的加速度的特定變化可發信號通知發球。這時,分析器可觸發程序(例如物理模擬包)中的另一個例程,根據發球點處控制器的位置和/或速度和/或取向來模擬橄欖球的軌跡。中斷識別的新姿勢另外,分析器可通過一個或多個輸入來配置。這類輸入的示例包括但不限于設置噪聲等級(X、Y或Z軸)噪聲等級可以是分析游戲中用戶的手的抖動時所使用的參考容差。設置取樣率。本文所使用的“取樣率”可指分析器對于來自慣性傳感器的信號進行取樣的頻度。取樣率可設置成對信號過取樣或者求平均。設置聯動(gearing)。本文所使用的“聯動”一般指控制器移動與游戲中出現的移動的比率。控制視頻游戲的上下文中的這種“聯動”的示例可見于2006年5月7日提交的美國專利申請號11/382040 (代理人檔案號No. :S0NYP058D),通過引用將它結合到本文中。設置映射鏈。本文所使用的“映射鏈”指的是姿勢模型的圖。可使姿勢模型圖適合于特定輸入通道(例如僅從慣性傳感器信號生成的路徑數據)或者在混合器單元中形成的混合通道。可由與慣性分析器402相似的兩個或更多不同的分析器服務于三個輸入通道。具體來說,它們可包括如本文所述的慣性分析器402,例如在授予發明人Gary M. Zalewski的美國專利申請11/382034、標題為“用于檢測和跟蹤游戲控制器主體的用戶操縱的方案”(代理人檔案號SCEA05082US00)中所述的視頻分析器,其通過引用結合到本文中,以及例如通過引用結合到本文中的美國專利申請11/381721中所述的聲學分析器。分析器可用映射鏈來配置。映射鏈可在游戲進行期間由游戲換出,例如可設置到分析器或者混合器。又參照圖5B的框512,本領域的技術人員會知道,存在許多方式從慣性傳感器112生成信號。本文描述了其中的幾個不例。參照框514,存在許多方式來分析框512中生成的傳感器信號以獲得與控制器110的位置和/或取向相關的跟蹤信息。作為示例而不是限制,跟蹤信息可包括但不限于單獨地或者在任何組合中與下列參數有關的信息控制器取向。控制器110的取向可按照相對于某種參考取向的俯仰(pitch)、翻滾(roll)或偏航(yaw)角度、例如以弧度來表示。控制器取向的變化速率(例如角速度或角加速度)還可包含在位置和/或取向信息中。例如,在慣性傳感器112包括陀螺傳感器的情況下,可直接獲得與俯仰、翻滾或偏航的角度成比例的一個或多個輸出值的形式的控制器取向信息。控制器位置(例如某個參考系中控制器110的笛卡兒坐標X、Y、Z)
控制器X軸速度控制器Y軸速度控制器Z軸速度控制器X軸加速度控制器Y軸加速度控制器Z軸加速度要注意,相對于位置、速度和加速度,位置和/或取向信息可按照與笛卡兒不同的坐標系來表示。例如,柱面或球面坐標可用于位置、速度和加速度。相對于x、Y和Z軸的加速度信息可直接從加速計類型傳感器獲得,如本文所述。X、Y和Z加速度可對于自某個初始時刻的時間進行積分,以確定Χ、γ和Z速度的變化。可通過將速度變化與初始時刻的X、Y和Z速度的已知值相加,來計算這些速度。X、Y和Z速度可對于時間進行積分,以確定控制器的Χ、Υ和Z位移。可通過將位移與初始時刻的已知Χ、Υ和Z位置相加,來確定Χ、Υ和Z位置。穩態γ/N-這個特定信息表示控制器是否處于穩態,它可定義為任何位置,也可經過變化。在一個優選實施例中,穩態位置可以是控制器以大約水平取向保持在大致與用戶腰部齊平的高度的位置。“自最后一次穩態的時間”一般指的是與自最后一次檢測到穩態(如上所述)以來經過多長時間段相關的數據。如前面所述,時間的確定可實時、按處理器周期或取樣周期來計算。對于相對于初始點來重置控制器的跟蹤以確保游戲環境中映射的人物或對象的準確度,“自最后一次穩態的時間”會是重要的。對于確定游戲環境中隨后可能運行的可用動作/姿勢(排除在外或者包含在內),這個數據也會是重要的。“識別的最后一次姿勢” 一般指的是由姿勢識別器505 (可以通過硬件或軟件來實現)識別的最后一次姿勢。對于前一個姿勢可與隨后可識別的可能姿勢或者游戲環境中發生的另外某個動作相關的事實,識別的最后一次姿勢的標識會是重要的。識別的最后一次姿勢的時間可在任何時間通過游戲程序或軟件對上述輸出進行取樣。在本發明的一個實施例中,混合器408可將分布值賦予來自分析器402、404、406的跟蹤信息403、405、407。如上所述,可對輸入控制數據的某些集合求平均。但是,在本實施例中,在對輸入控制數據求平均之前向它賦予某個值,由此,來自某些分析器的輸入控制數據比來自其它分析器的輸入控制數據具有更大的分析重要性。例如,混合器408可需要與加速度和穩態相關的跟蹤信息。然后,混合器408將接收跟蹤信息403、405、407,如上所述。跟蹤信息可包括與加速度和穩態相關的參數,例如以上所述。在對表示這個信息的數據求平均之前,混合器408可將分布值賦予跟蹤信息數據集403、405、407。例如,能以90%的值對于來自慣性分析器402的x和y加速度參數進行加權。但是,可僅以10%對于來自圖像分析器406的1和7加速度參數進行加權。聲學分析器跟蹤信息407在涉及加速度參數時能以0%進行加權,即,該數據沒有值。類似地,來自慣性分析器402的Z軸跟蹤信息參數能以10%進行加權,而圖像分析器Z軸跟蹤信息能以90%進行加權。聲學分析器跟蹤信息407同樣能以0%值進行加權,但是來自聲學分析器406的穩態跟蹤信息能以100%進行加權,其中其余分析器跟蹤信息能以O %進行加權。在賦予適當的分布權重之后,可結合那個權重來對輸入控制數據求平均,以得出加權平均輸入控制數據集,該數據集隨后由姿勢識別器505進行分析,并且與游戲環境中的特定動作關聯。關聯的值可由混合器408或者由特定游戲標題預先定義。這些值也可以是混合器408識別來自各個分析器的特定數據質量、因而進行下面進一步論述的動態調整的結果。調整也可以是構建在特定數據在特定環境中具有特定值和/或響應給定游戲標題的特性時的歷史知識庫的結果。混合器408可配置成在游戲進行期間動態操作。例如,當混合器408接收各種輸入控制數據時,它可識別到某個數據始終在可接受的數據范圍或質量之外或者反映可指示相關輸入裝置的處理錯誤的損壞數據。另外,現實世界環境的某些條件可改變。例如,用戶的家庭游戲環境中的自然光可能在早晨轉到下午時不斷增加,從而導致圖像數據捕捉的問題。此外,鄰居或家人可能隨一天中時間的推移而變得更嘈雜,從而導致音頻數據捕捉時出現問題。同樣,如果用戶已經進行數小時游戲,則他們的反應能力變得不太敏銳,因而導致慣性數據的解釋的問題。在這些情況下,或者在特定形式的輸入控制數據的質量成為問題的任何其它情況下,混合器408可將分布權重(weight)動態重新賦予來自特定裝置的數據的特定集合,使得給予特定輸入控制數據更多或更少重要性,如上所述。類似地,游戲環境可隨特定游戲的需要改變的游戲過程而改變,因而需要重新賦值或者需要特定輸入控制數據。類似地,混合器408可根據處理錯誤或者可由姿勢識別器505生成的反饋數據識別到傳遞到姿勢識別器505的某個數據被不正確地處理、緩慢地處理或者完全沒有處理。響應這個反饋或者識別到這些處理困難(例如,當圖像分析數據在可接受范圍之內的同時,在由姿勢識別器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所
/Jn ο話筒陣列622可通過I/O功能611與系統600耦合。話筒陣列可包括大約2個至大約8個話筒,優選地大約4個話筒,其中相鄰話筒分隔開小于大約4厘米、優選地為大約I厘米與大約2厘米之間的距離。優選地,陣列622中的話筒是全向話筒。可選圖像捕捉單元623 (例如攝像機)可通過I/O功能611與設備600耦合。與相機機械耦合的一個或多個指向執行機構625可經由I/O功能611與處理器601交換信號。本文所使用的術語“I/O”一般指向系統600以及向外圍裝置傳遞數據或傳遞來自系統600以及外圍裝置的數據的任何程序、操作或裝置。每一個數據傳遞可看作是來自一個裝置的輸出以及到另一個裝置的輸入。外圍裝置包括例如鍵盤和鼠標等的只輸入裝置、例如打印機等的只輸出裝置以及例如要充當輸入以及輸出裝置的可寫CD-ROM等裝置。術語“外圍裝置”包括例如鼠標、鍵盤、打印機、監測器、話筒、游戲控制器、相機、外部Zip驅動器或掃描儀等的外部裝置以及例如CD-ROM驅動器、CD-R驅動器或內部調制解調器等的內部裝置或者例如閃速存儲器讀取器/寫入器、硬盤驅動器等的其它外設。在本發明的某些實施例中,設備600可以是視頻游戲單元,它可包括經由I/O功能611與處理器有線(例如USB纜線)或無線耦合的控制器630。控制器630可具有模擬操縱桿控件631和常規按鈕633,它們提供進行視頻游戲期間常用的控制信號。這類視頻游戲可實現為來自可存儲在存儲器602或者例如與大容量存儲裝置615關聯等的其它處理器可讀介質中的程序604的處理器可讀數據和/或指令。在一些實施例中,混合器605可接收來自模擬操縱桿控件631和按鈕633的輸入。操縱桿控件631 —般可配置成使得向左或向右移動控制桿發送信號通知沿X軸的移動,而將控制桿向前(向上)或向后(向下)移動則發信號通知沿Y軸的移動。在配置用于三維移動的操縱桿中,向左(逆時針)或向右(順時針)扭轉操縱桿可發信號通知沿Z軸的移動。這三個軸-X、Y和Z-通常分別稱作翻滾、俯仰和偏航,特別是相對于飛行器。游戲控制器630可包括可操作以與處理器602、游戲控制器630中的至少一個或者它們兩者進行數字通信的通信接口。通信接口可包括通用異步接收器發射器(“UART”)。UART可以可操作以接收用于控制跟蹤裝置的操作、或者用于從跟蹤裝置傳送與另一個裝置進行通信的信號的控制信號。備選地,通信接口包括通用串行總線(“USB”)控制器。USB控制器可以可操作以接收用于控制跟蹤裝置的操作、或者用于從跟蹤裝置傳送與另一個裝置進行通信的信號的控制信號。另外,控制器630可包括一個或多個慣性傳感器632,其可經由慣性信號向處理器601提供位置和/或取向信息。取向信息可包括角信息,例如控制器630的傾斜、翻滾或偏航。作為示例,慣性傳感器632可包括任何數量的加速計、陀螺儀或傾斜傳感器或者它們的任何組合。在一個優選實施例中,慣性傳感器632包括傾斜傳感器,適合于感測游戲控制器630相對于傾斜和翻滾軸的取向;第一加速計,適合于感測沿偏航軸的加速度;以及第二加速計,適合于感測相對于偏航軸的角加速度。加速計可實現為例如MEMS裝置,包括通過一個或多個彈簧安裝的質量塊,其中具有用于感測質量塊相對于一個或多個方向的位移的傳感器。來自傳感器的取決于質量塊的位移的信號可用來確定游戲控制器630的加速度。這類技術可通過來自可存儲在存儲器602中并且由處理器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. S0NYP052)中描述了結合確定與計算機程序接口的強度量來使用LED,通過引用將它完整地結合到本文中。另外,包含光源634的圖像的分析可用于遙測以及確定游戲控制器630的位置和/或取向。這類技術可通過可存儲在存儲器602中并且由處理器601運行的程序604的指令來實現。
處理器601可與來自圖像捕捉單元623所檢測的光源634的光學信號和/或來自話筒陣列622所檢測的聲信號的聲源位置和表征信息結合使用來自慣性傳感器632的慣性信號,以便推導關于控制器630和/或其用戶的位置和/或取向的信息。例如,“聲雷達”聲源位置和表征可與話筒陣列622結合用于跟蹤移動語音,同時游戲控制器的運動(通過慣性傳感器632和/或光源634)被單獨跟蹤。在聲雷達中,在運行時選擇預先校準的監聽區域,并且濾除預先校準的監聽區域外部的源發出的聲音。預先校準的監聽區域可包括與圖像捕捉單元623的大量焦點或視野對應的監聽區域。在2006年5月4日提交的授予XiadongMao的標題為“用于目標聲音檢測和表征的方法及設備”的美國專利申請號11/381724中詳細描述了聲雷達的示例,通過引用將它結合到本文中。向處理器601提供控制信號的不同模式的任何數量的不同組合可與本發明的實施例結合使用。這類技術可通過可存儲在存儲器602中并且由處理器601運行的程序代碼指令604來實現,并且可選地可包括一個或多個指令,這些指令指導一個或多個處理器在運行時選擇預先校準的監聽區域并且濾除從預先校準的監聽區域外部的源發出的聲音。預先校準的監聽區域可包括與圖像捕捉單元623的大量焦點或視野對應的監聽區域。程序604可選地可包括一個或多個指令,這些指令指導一個或多個處理器從話筒陣列622的話筒M0. . . Mm中產生離散時域輸入信號xm(t),確定監聽扇區(sector),以及在半盲源分隔中使用監聽扇區來選擇有限脈沖響應濾波器系數,以便分出來自輸入信號Xm(t)的不同聲源。程序604還可包括將一個或多個分數延遲應用于與來自參考話筒Mtl的輸入信號X(l(t)不同的所選輸入信號xm(t)的指令。每個分數延遲可選擇成優化來自話筒陣列的離散時域輸出信號y(t)的信噪比。分數延遲可選擇成使得來自參考話筒Mtl的信號在時間上相對于來自陣列的其它話筒的信號是第一個。程序604還可包括將分數延時Λ引入話筒陣列的輸出信號 y(t)的指令,使得y(t+A) = X (t+ Δ ) *b0+x (t-1+ Δ ) ^bi+x (t~2+ Δ )樸2+...+叉(卜奸八)*%,其中Λ在O與±1之間。在2006年5月4日提交的授予XiadongMao的標題為“超小型話筒陣列”的美國專利申請號11/381729中詳細描述了這類技術的示例,通過引用結合其完整公開。程序604可包括一個或多個指令,這些指令在運行時使系統600選擇包含聲源的預先校準的監聽扇區。這類指令可使設備確定聲源是否位于初始扇區中或者位于初始扇區的特定一側。如果聲源不在缺省扇區中,則指令可在運行時選擇缺省扇區的特定一側的不同扇區。該不同扇區的特征可在于最接近最佳值的輸入信號的衰減。這些指令在運行時可計算來自話筒陣列622的輸入信號的衰減以及對最佳值的衰減。指令可在運行時使設備600確定一個或多個扇區的輸入信號的衰減值,并且選擇衰減最接近最佳值的扇區。例如在2006年5月4日提交的授予Xiadong Mao的標題為“用于目標聲音檢測的方法和設備”的美國專利申請11/381725中描述了這種技術的示例,通過引用將其公開結合到本文中。來自慣性傳感器632的信號可提供部分跟蹤信息輸入,而從圖像捕捉單元623通過跟蹤一個或多個光源634所生成的信號可提供另一部分跟蹤信息輸入。作為示例而不是限制,這類“混合模式”信號可用于橄欖球類型視頻游戲中,其中四分衛在向左的頭碰頭假動作之后向右擲球。具體來說,持有控制器630的游戲玩家可把頭轉向左邊,并在進行將控制器好像是橄欖球一樣擺向右方的擲動作的同時發出聲音。與“聲雷達”程序代碼結合的話筒陣列622可跟蹤用戶的語音。圖像捕捉單元623可跟蹤用戶頭部的運動或者跟蹤不需要聲音或者使用控制器的其它命令。傳感器632可跟蹤游戲控制器(表示橄欖球)的運動。圖像捕捉單元623還可跟蹤控制器630上的光源634。可在達到游戲控制器630的加速度的一定量和/或方向時,或者在通過按下控制器630上的按鈕所觸發的按鍵命令時,用戶可松開“球”。在本發明的某些實施例中,例如來自加速計或陀螺儀的慣性信號可用來確定控制器630的位置。具體來說,來自加速計的加速度信號可相對于時間積分一次,以確定速度的變化,并且速度可相對于時間進行積分,以確定位置的變化。如果某個時間的初始位置和速度的值為已知,則可使用這些值以及速度和位置的變化來確定絕對位置。雖然可令使用慣性傳感器的位置確定比使用圖像捕捉單元623和光源634更快,但是,慣性傳感器632可能經過稱作“漂移”的一種類型的錯誤,其中隨時間累積的錯誤可導致從慣性信號所計算的操縱桿631的位置(以陰影表示)與游戲控制器630之間的實際位置的不一致。本發明的實施例允許多種方式來處理這類錯誤。例如,可通過將控制器630的初始位置重置為等于當前計算的位置,手動抵消漂移。用戶可使用控制器630上的按鈕的一個或多個來觸發重置初始位置的命令。備選地,可通過將當前位置重置為根據從圖像捕捉單元623得到的圖像所確定的作為參考的位置,來實現基于圖像的漂移。例如當用戶觸發游戲控制器630上的按鈕的一個或多個時,可手動實現這種基于圖像的漂移補償。備選地,例如以定期時間間隔或者響應游戲進行而自動實現基于圖像的漂移補償。這類技術可通過可存儲在存儲器602中并且由處理器601運行的程序代碼指令604來實現。在某些實施例中,可能希望補償慣性傳感器信號中的寄生數據。例如,可對于來自慣性傳感器632的信號進行過取樣,并從過取樣信號計算滑動平均值,以便從慣性傳感器信號中去除寄生數據。在一些情況下,可能希望對信號進行過取樣,并從數據點的某個子集中排除高和/或低值,以及從其余數據點計算滑動平均值。此外,其它數據取樣和操縱技術可用于調整來自慣性傳感器的信號,以便去除或減小寄生數據的重要性。技術的選擇可取決于信號的性質、對信號執行的計算、游戲進行的性質或者它們的兩個或更多的某種組合。這類技術可通過可存儲在存儲器602中并且由處理器601運行的程序604的指令來實現。處理器601可響應由存儲器602存儲及檢索并且由處理器模塊601運行的數據606和程序604的程序代碼指令而執行如上所述的慣性信號數據606的分析。程序604的代碼部分可符合多種不同編程語言的任一種,例如匯編、C++、JAVA或許多其它語言。處理器模塊601形成通用計算機,它在運行例如程序代碼604等程序時成為專用計算機。雖然程序代碼604在本文中描述為通過軟件來實現并且運行于通用計算機,但是,本領域的技術人員會知道,任務管理的方法備選地可使用例如專用集成電路(ASIC)或其它硬件電路等的硬件來實現。因此,應當理解,本發明的實施例可以整體或部分通過軟件、硬件或者它們兩者的組合來實現。在一個實施例中,程序代碼604其中還可包括處理器可讀指令集,該指令集實現具有與圖5B的方法510和圖5C的方法520或者它們的兩個或更多的某種組合一樣的特征的方法。程序代碼604 —般可包括一個或多個指令,這些指令指導一個或多個處理器分析來自慣性傳感器632的信號,以便生成位置和/或取向信息,并在進行視頻游戲期間利用該信息。程序代碼604可選地可包括處理器可執行指令,其中包括一個或多個指令,它們在運行時使圖像捕捉單元623監測圖像捕捉單元623前面的視野,識別視野中的光源634中的一個或多個,檢測從光源634發出的光線的變化;以及響應檢測到變化而觸發對處理器601的輸入命令。例如在2004年I月16日提交的授予Richard L. Marks的標題為“用于光輸入裝置的方法和設備”的美國專利申請號10/759782中描述了與圖像捕捉裝置結合使用LED來觸發游戲控制器中的動作,通過引用將它完整地結合到本文中。程序代碼604可選地可包括處理器可執行指令,其中包括一個或多個指令,它們在運行時使用來自慣性傳感器的信號以及從圖像捕捉單元通過跟蹤一個或多個光源所生成的信號作為對游戲系統的輸入,如上所述。程序代碼604可選地可包括處理器可執行指令,其中包括在運行時補償慣性傳感器632中的漂移的一個或多個指令。另外,程序代碼604可選地可包括處理器可執行指令,其中包括在運行時調整控制器操縱對游戲環境的聯動和映射的一個或多個指令。這種特征允許用戶改變游戲控制器630的操縱對游戲狀態的“聯動”。例如,游戲控制器630的45度旋轉可與游戲對象的45度旋轉聯動。但是,這種1:1聯動比可修改成使得控制器的X度旋轉(或者傾斜或偏航或“操縱”)轉換成游戲對象的Y旋轉(或者傾斜或偏航或“操縱”)。聯動可以是1:1比率、I 2比率、I 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耦合的兩個或更多操縱桿控制器630之間的控制信號的分發,以確保可跟蹤多個控制器。在某些實施例中,混合器605可配置成獲得用于使用從游戲控制器630上的例如模擬操縱桿控件631和按鈕633等常規控件所接收的輸入來控制游戲程序604的運行的輸入。具體來說,接收混合器605可接收來自控制器630的控制器輸入信息。控制器輸入信息可包括下列至少一個a)識別游戲控制器的用戶可移動控制桿相對于控制桿的靜止位置的當前位置的信息,或者b)識別游戲控制器中包含的開關是否為活動的信息。混合器605還可接收來自正使用控制器630的環境的補充輸入信息。作為示例而不是限制,補充輸入信息可包括下列一個或多個i)從環境中的圖像捕捉裝置(例如圖像捕捉單元623)所得到的信息;和/或ii)來自與游戲控制器或用戶的至少一個關聯的慣性傳感器(例如慣性傳感器632)的信息;和/或iii)從環境中的聲換能器所得到的聲信息(例如來自話筒陣列622,可能與聲發射器636生成的聲信號結合)。控制器輸入信息還可包括識別壓力敏感按鈕是否為活動的信息。通過處理控制器輸入信息和補充輸入信息以產生組合輸入,混合器605可獲得用于控制游戲程序604的運行的組合輸入。組合輸入可包括用于在游戲程序604的運行期間控制相應的各個功能的各個合并輸入。可通過合并關于特定單獨功能的控制器輸入信息以及關于特定單獨功能的補充輸入信息,來獲得各個合并輸入的至少一些。組合輸入可包括用于在游戲程序604的運行期間控制某個功能的合并輸入,并且可通過合并關于該功能的控制器輸入信息以及關于該功能的補充輸入信息,來獲得合并輸入的至少一些。在這類情況下,可通過求表示控制器輸入信息的值與表示補充輸入信息的值的平均,來執行合并。作為示例,可按照一比一的比率求控制器輸入信息的值與補充輸入信息的值的均值。備選地,控制器輸入信息和補充輸入信息均可被賦予不同的權重,并且可按照所賦權重、作為控制器輸入信息和補充輸入信息的值的加權平均,來執行求均值。
在一些實施例中,控制器輸入信息或者補充輸入信息的第一個的值可用作對游戲程序的修改輸入,用于修改對于按照控制器輸入信息或者補充輸入信息的第二個的至少一個所激活的仍然活動的功能的控制。補充輸入信息可包括通過操作慣性傳感器632所得到的慣性傳感器信息和/或表示用戶可移動對象的取向的取向信息。備選地,補充輸入信息包括指示用戶可移動對象的位置或取向的至少一個的信息。這里所使用的“用戶可移動對象”可指控制器630或者安裝到控制器630的主體的產品,并且補充輸入信息包括指示用戶可移動對象的取向的信息。作為示例,這種取向信息可包括指示俯仰、偏航或翻滾中的至少一個的信息。在一些實施例中,可通過將表示控制桿(例如模擬操縱桿631其中之一)的位置的控制器輸入信息的值與表示用戶可移動對象的取向的補充輸入信息的值合并,來獲得組合輸入。如上所述,用戶可移動對象可包括安裝到游戲控制器630的對象和/或游戲控制器630,以及當控制桿向后移動、同時俯仰增加到正(昂頭(nose-up))值時,組合輸入可反映增強的上仰輸入。類似地,當控制桿向前移動、同時俯仰減少到負(下沖)值時,組合輸入可反映增強的俯沖輸入。可通過指定表示控制桿的位置的控制器輸入信息的值作為粗控制信息以及指定表示用戶可移動對象的取向的補充輸入信息的值作為細控制信息,來獲得組合輸入。備選地,可通過指定識別游戲控制器的開關是否為活動的控制器輸入信息的值作為粗控制信息以及指定表示用戶可移動對象的取向的補充輸入信息的值作為細控制信息,來獲得組合輸入。另外,可通過指定表示用戶可移動對象的取向的補充輸入信息的值作為粗控制信息以及指定表示控制桿的位置的控制器輸入信息的值作為細控制信息,來獲得組合輸入。此外,還可通過指定識別游戲控制器的開關是否為活動的控制器輸入信息的值作為細控制信息以及指定表示用戶可移動對象的取向的補充輸入信息的值作為粗控制信息,來獲得組合輸入。在所有這些情況或者其中的任一個情況中,組合輸入可表示按照細控制信息調整相對較小數量的粗控制信息的值。在一些實施例中,可通過將控制器輸入信息所表不的值與補充輸入信息所表不的值加法組合,使得組合輸入向游戲程序604提供具有比控制器輸入信息或者補充輸入信息單獨取的值的任一個更高或更低的值的信號,來獲得組合輸入。備選地,組合輸入可向游戲程序604提供具有平滑值的信號,平滑值信號隨時間經過比控制器輸入信息或者補充輸入信息單獨取的值的任一個更緩慢的變化。組合輸入還可向游戲程序提供具有增加的信號內容的高清晰度信號。高清晰度信號可隨時間經過比控制器輸入信息或者補充輸入信息單獨取的值的任一個更迅速的變化。雖然根據與視頻游戲控制器630的游戲相關的示例描述了本發明的實施例,但是,包括系統600在內的本發明的實施例可以在任何用戶操縱主體、塑造對象、旋鈕、結構等之上使用,其中具有慣性感測能力以及無線或其它方式的慣性傳感器信號傳輸能力。作為示例,本發明的實施例可在并行處理系統上實現。這類并行處理系統通常包括兩個或更多處理器元件,它們配置成使用獨立處理器并行運行程序的若干部分。作為示例而不是限制,圖7示出根據本發明的一個實施例的一種類型的cel I處理器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通常包括通用和非易失性存儲裝置以及用于例如系統配置、數據傳遞同步、存儲器映射I/O和I/O子系統等功能的專用硬件寄存器或陣列。在本發明的實施例中,視頻游戲程序703可常駐主存儲器702中。存儲器702還可包含信號數據709。視頻程序703可包括慣性、圖像以及以上針對圖4、圖5A、圖5B或圖5C所述或者它們的某種組合所配置的聲學分析器和混合器。程序703可在PPE上運行。程序703可分為可在SPE和/或PPE上運行的多個信號處理任務。作為示例,PPE 704可以是具有關聯的LI和L2高速緩存的64位PowerPC處理器單元(PPU)。PPE 704是通用處理單元,它可訪問系統管理資源(例如存儲器保護表)。硬件資源可明確映射到PPE所看到的實際地址空間。因此,PPE可通過使用適當的有效地址值直接對這些資源的任一個尋址。PPE 704的主要功能是管理和分配cell處理器700中的SPE 706的任務。雖然圖7中僅示出單個PPE,但在一些cell處理器實現、如cell寬帶引擎架構(CBEA)中,cell處理器700可具有組織成PPE組的多個PPE,PPE組中可存在多于一個PPE。這些PPE組可共享對主存儲器702的存取。此外,cell處理器700可包括兩組或更多組SPE0 SPE組也可共享對主存儲器702的存取。這類配置落入本發明的范圍之內。各SPE 706包括協同處理器單元(SPU)以及它自己的本地存儲區LS。本地存儲區LS可包括一個或多個獨立的存儲器存儲區,每一個與特定SPU關聯。各SPU可配置成僅運行來自它自己的關聯的本地存儲域中的指令(包括數據加載和數據存儲操作)。在這種配置中,可通過從存儲器流控制器(MFC)發出直接存儲器存取(DMA)命令以便向(單獨SPE的)本地存儲域傳遞數據或傳遞來自本地存儲域的數據,來執行本地存儲區LS與系統700的其它位置之間的數據傳遞。與PPE 704相比,SPU是不太復雜的計算單元,因為它們不執行任何系統管理功能。SPU —般具有單指令多數據(SMD)能力,并且通常處理數據并發起任何所需數據傳遞(服從PPE所建立的訪問屬性),以便執行其分配任務。SPU的目的是實現需要較高計算單元密度的應用,并且可有效地使用提供的指令集。PPE 704所管理的系統中的大量SPE允許對于大范圍應用的節省成本的處理。各SPE 706可包括專用存儲器流控制器(MFC),它包括可保持和處理存儲器保護以及訪問準許信息的關聯存儲器管理單元。MFC提供cell處理器的主存儲裝置與SPE的本地存儲裝置之間的數據傳遞、保護和同步的初步方法。MFC命令描述待執行的傳遞。傳遞數據的命令有時稱作MFC直接存儲器存取(DMA)命令(或MFC DMA命令)。各MFC可同時支持多個DMA傳遞,并且可保持和處理多個MFC命令。各MFC DMA數據傳遞命令請求可包含本地存儲地址(LSA)和有效地址(EA)。本地存儲地址可以僅對其關聯SPE的本地存儲區直接尋址。有效地址可具有更一般應用,例如,它可以能夠引用主存儲裝置,包括所有SPE本地存儲區,如果它們混疊到實際地址空間。為了幫助SPE 706之間和/或SPE 706與PPE 704之間的通信,SPE706和PPE 704可包括依靠信令事件的信號通知寄存器。PPE 704和SPE 706可通過星形拓撲結構進行耦合,其中PPE 704充當向SPE 706傳送消息的路由器。備選地,各SPE 706和PPE 704可具有稱作郵箱的單向信號通知寄存器。郵箱可由SPE 706用來主持操作系統(OS)同步。cell處理器700可包括輸入/輸出(I/O)功能708,cell處理器700可通過該功能與例如話筒陣列712以及可選圖像捕捉單元713及游戲控制器730等的外圍裝置接口。游戲控制器單元可包括慣性傳感器732和光源734。另外,元件互連總線710可連接上述各種組件。各SPE和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可被看作是第二級控制器。主系統中斷控制器可處理cell處理器外部始發的中斷在本發明的實施例中,可使用PPE 704和/或SPE 706的一個或多個并行執行某些計算、如上述分數延遲。各分數延遲計算可作為一個或多個獨立任務來運行,在它們變為可用時不同SPE 706可進行這些任務。雖然以上是對本發明的優選實施例的完整描述,但是能夠使用各種備選、修改和等效方案。因此,本發明的范圍不應當參照以上描述來確定,而是應當參照所附權利要求及其完整的等效范圍共同確定。本文所述的無論是否優選的任何特征均可與本文所述的無論是否優選的任何其它特征進行組合。在以下權利要求書中,“一個”指的是該詞之后的一項或多項的數量,除非另加說明。所附權利要求書不是要理解為包含部件加功能限制,除非在給定權利要求中使用詞語“用于.· ·的部件”明確描述這種限制。
權利要求
1.一種用于控制程序的運行的控制器,包括 來自用戶可操縱控制器的控制器輸入信息的源,所述控制器輸入信息包括用于識別所述控制器上的用戶可移動開關或控制桿的當前狀態的信息; 來自所述控制器的補充輸入信息的源,其中所述補充輸入信息包括指示所述控制器的三維運動的信息;并且 其中,所述控制器輸入信息和所述補充輸入信息配置成通過處理所述控制器輸入信息和所述補充輸入信息以得到組合輸入而相組合,從而獲得用于控制所述程序的運行的所述組合輸入,其中通過指定所述控制器輸入信息的值作為粗控制信息以及指定表示所述用戶可移動對象的取向的所述補充輸入信息的值作為細控制信息或反之來獲得所述組合輸入。
2.如權利要求1所述的控制器,其中,所述控制器輸入信息和所述補充輸入信息配置成使得所述組合輸入包括用于在所述程序的運行期間控制某個功能的合并輸入,并且通過合并有關所述功能的所述控制器輸入信息以及有關所述功能的所述補充輸入信息來獲得所述合并輸入的至少一些。
3.如權利要求2所述的控制器,其中,通過求表示所述控制器輸入信息的值與表示所述補充輸入信息的值的均值,來執行所述合并。
4.如權利要求3所述的控制器,其中,按照一比一的比率求所述控制器輸入信息的值與所述補充輸入信息的值的均值。
5.如權利要求3所述的控制器,其中,所述控制器輸入信息和所述補充輸入信息均被賦予不同的權重,并且按照所賦權重、作為控制器輸入信息和補充輸入信息的所述值的加權平均,來執行所述求均值步驟。
6.如權利要求1所述的控制器,其中,所述控制器輸入信息或者所述補充輸入信息的第一個的值配置成用作對所述程序的修改輸入,以用于修改對于按照所述控制器輸入信息或者所述補充輸入信息的第二個的至少一個所激活的仍然活動的功能的控制。
7.如權利要求1所述的控制器,其中,所述補充信息的源包括所述控制器上的LED光源和漫射器,其中所述漫射器配置成使來自所述光源的光發生漫射,并且其中從所述LED光源在從圖像捕捉裝置所得到的圖像內的漫射圖像獲取所述補充輸入信息。
8.如權利要求1所述的控制器,其中,所述補充輸入信息還包括通過操作慣性傳感器所得到的慣性傳感器信息或者表示用戶可移動對象的取向的取向信息的至少一個。
9.如權利要求8所述的控制器,其中,所述慣性傳感器安裝到所述控制器,并且所述慣性傳感器包括加速計或陀螺儀的至少一個。
10.如權利要求1所述的控制器,其中,所述補充輸入信息包括指示用戶可移動對象的位置或取向的至少一個的信息。
11.如權利要求10所述的控制器,其中,所述用戶可移動對象包括所述控制器或者安裝到所述控制器的主體的產品的至少一個,并且所述補充輸入信息包括指示所述用戶可移動對象的取向的信息。
12.如權利要求10所述的控制器,其中,所述補充輸入信息包括指示俯仰、偏航或翻滾的至少一個的信息。
13.如權利要求12所述的控制器,其中,所述補充輸入信息包括指示俯仰、偏航或翻滾的信息。
14.如權利要求10所述的控制器,其中,通過將表示所述開關或控制桿的狀態的控制器輸入信息的值與表示所述用戶可移動對象的取向的所述補充輸入信息的值合并,來獲得所述組合輸入。
15.如權利要求14所述的控制器,其中,當所述控制桿向后移動、同時俯仰增加到正(昂頭)值時,所述組合輸入反映增強的上仰輸入。
16.如權利要求15所述的控制器,其中,當所述控制桿向前移動、同時俯仰減小到負(下沖)值時,所述組合輸入反映增強的俯沖輸入。
17.如權利要求14所述的控制器,其中,所述組合輸入表示按照所述細控制信息調整相對較小數量的所述粗控制信息的值。
18.如權利要求14所述的控制器,其中,通過指定識別所述控制器上的所述開關或控制桿是否為活動的所述控制器輸入信息的值作為粗控制信息以及指定表示所述用戶可移動對象的取向的所述補充輸入信息的值作為細控制信息來獲得所述組合輸入,其中所述組合輸入表示按照所述細控制信息調整相對較小數量的所述粗控制信息的值。
19.如權利要求14所述的控制器,其中,所述控制器輸入信息和所述補充信息配置成使得通過指定識別所述控制器上的所述開關或控制桿是否為活動的所述控制器輸入信息的值作為細控制信息以及指定表示所述用戶可移動對象的取向的所述補充輸入信息的值作為粗控制信息來獲得所述組合輸入,其中所述組合輸入表示按照所述細控制信息調整相對較小數量的所述粗控制信息的值。
20.如權利要求1所述的控制器,其中,所述控制器輸入信息和所述補充信息配置成使得通過將所述控制器輸入信息所表示的值與所述補充輸入信息所表示的值加法組合以使得所述組合輸入向所述程序提供具有比所述控制器輸入信息或者所述補充輸入信息單獨取的值的任一個更高的值的信號來獲得所述組合輸入。
21.如權利要求1所述的控制器,其中,所述控制器輸入信息和所述補充信息配置成使得通過將所述控制器輸入信息所表示的值與所述補充輸入信息所表示的值減法組合以使得所述組合輸入向所述程序提供具有比所述控制器輸入信息或者所述補充輸入信息單獨取的值的任一個更低的值的信號來獲得所述組合輸入。
22.如權利要求1所述的控制器,其中,所述控制器輸入信息和所述補充信息配置成使得所述組合輸入向所述程序提供具有平滑值的信號,所述平滑值信號隨時間經過比所述控制器輸入信息或者所述補充輸入信息單獨取的值的任一個更緩慢的變化。
23.如權利要求1所述的控制器,其中,所述控制器輸入信息和所述補充信息配置成使得所述組合輸入向所述程序提供具有增加的信號內容的高清晰度信號,所述高清晰度信號隨時間經過比所述控制器輸入信息或者所述補充輸入信息單獨取的值的任一個更迅速的變化。
24.如權利要求1所述的控制器,其中,所述補充輸入信息包括響應從所述控制器上的聲源發射的聲音從環境中的聲換能器所得到的聲信息。
25.如權利要求1所述的控制器,其中,所述控制器輸入信息包括識別壓力敏感按鈕是否為活動的信息。
26.如權利要求1所述的控制器,其中,所述補充輸入信息包括下列至少一個i)從環境中的圖像捕捉裝置所得到的信息,ii)來自與所述控制器或用戶的至少一個關聯的慣性傳感器的信息,或者iii)來自環境中的聲換能器的信息。
27.如權利要求1所述的控制器,其中,所述補充輸入信息包括從環境中的圖像捕捉裝置所得到的信息、來自與所述控制器或用戶的至少一個關聯的慣性傳感器的信息以及來自環境中的聲換能器的信息。
全文摘要
公開了獲得用于控制游戲的運行的輸入的方法。在本發明的實施例中,可在姿勢識別的分析之前,混合來自慣性、圖像捕捉和聲源的控制器路徑信息。
文檔編號A63F13/06GK102989174SQ20121049671
公開日2013年3月27日 申請日期2007年4月14日 優先權日2006年5月4日
發明者X.毛, R.L.馬克斯, G.M.扎列夫斯基 申請人:美國索尼電腦娛樂公司