(57)【特許請求の範囲】
【請求項１】
デジタルプロセッサ、メモリ、および周辺装置との間でデータを送受信する入出力装置を有するビデオゲームシステムにおいて実行されるゲームプログラムの実行中の個々の機能を制御するための入力を取得する方法であって、
ａ）ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはｂ）ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから前記入出力装置が受信するステップと、
前記コントローラが使用される環境から追加入力情報を前記入出力装置が受信するステップと、
前記デジタルプロセッサが、前記コントローラ入力情報と前記追加入力情報とを処理して組合せ入力を求めることによって、ゲームプログラムの実行を制御するための組合せ入力を取得するステップと、を含み、
前記組合せ入力は、前記ゲームプログラム実行中のそれぞれ個々の機能を制御するための個々の融合された入力を含み、
前記デジタルプロセッサは、前記個々の融合された入力の少なくとも一部を、特定の個々の機能に関連した前記コントローラ入力情報と、特定の個々の機能に関連した前記追加入力情報とを融合することによって求め、
前記追加入力情報は、前記ゲームコントローラに搭載された慣性センサの作動によって求められる慣性センサ情報またはユーザが移動可能な物体の方向を表す方向情報のうち少なくとも一つを含み、
前記ユーザが移動可能な物体は、前記ゲームコントローラまたは前記ゲームコントローラの本体に取り付けられた物体のうち少なくとも一つを含み、
前記追加入力情報は、前記ユーザが移動可能な物体の方向を示す情報を含み、
前記デジタルプロセッサは、前記コントロールスティックの位置を表すコントローラ入力情報の値と、前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値とを融合することによって、前記組合せ入力を求め、
前記デジタルプロセッサは、前記追加入力情報であるピッチが正の値（上昇）へと増加しつつ前記コントロールスティックが後方に動かされるとき、増大されたピッチアップ入力を前記組合せ入力に反映させるか、または、ピッチが負の値（下降）へと減少しつつ前記コントロールスティックが前方に動かされるとき、増大されたピッチダウン入力を前記組合せ入力に反映させる
ことを特徴とする方法。
【請求項２】
デジタルプロセッサ、メモリ、および周辺装置との間でデータを送受信する入出力装置を有するビデオゲームシステムにおいて実行されるゲームプログラムの実行中の個々の機能を制御するための入力を取得する方法であって、
ａ）ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはｂ）ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから前記入出力装置が受信するステップと、
前記コントローラが使用される環境から追加入力情報を前記入出力装置が受信するステップと、
前記デジタルプロセッサが、前記コントローラ入力情報と前記追加入力情報とを処理して組合せ入力を求めることによって、ゲームプログラムの実行を制御するための組合せ入力を取得するステップと、を含み、
前記組合せ入力は、前記ゲームプログラム実行中のそれぞれ個々の機能を制御するための個々の融合された入力を含み、
前記デジタルプロセッサは、前記個々の融合された入力の少なくとも一部を、特定の個々の機能に関連した前記コントローラ入力情報と、特定の個々の機能に関連した前記追加入力情報とを融合することによって求め、
前記追加入力情報は、前記ゲームコントローラに搭載された慣性センサの作動によって求められる慣性センサ情報またはユーザが移動可能な物体の方向を表す方向情報のうち少なくとも一つを含み、
前記ユーザが移動可能な物体は、前記ゲームコントローラまたは前記ゲームコントローラの本体に取り付けられた物体のうち少なくとも一つを含み、
前記追加入力情報は、前記ユーザが移動可能な物体の方向を示す情報を含み、
前記デジタルプロセッサは、前記コントロールスティックの位置を表すコントローラ入力情報の値と、前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値とを融合することによって、前記組合せ入力を求め、
前記デジタルプロセッサは、大まかな制御情報として前記コントロールスティックの位置を表すコントローラ入力情報の値を割り当て、微細な制御情報として前記ユーザが移動可能な物体の方向を表す追加入力情報の値を割り当てることによって、前記組合せ入力を求めるか、または、
前記デジタルプロセッサは、大まかな制御情報として前記ゲームコントローラのスイッチが作動中であるか否かを特定する前記コントローラ入力情報の値を割り当て、微細な制御情報として前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値を割り当てることによって、前記組合せ入力を求め、
前記組合せ入力は、前記微細な制御情報にしたがって調節された前記大まかな制御情報の値を表すことを特徴とする方法。
【請求項３】
デジタルプロセッサ、メモリ、および周辺装置との間でデータを送受信する入出力装置を有するビデオゲームシステムにおいて実行されるゲームプログラムの実行中の個々の機能を制御するための入力を取得する方法であって、
ａ）ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはｂ）ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから前記入出力装置が受信するステップと、
前記コントローラが使用される環境から追加入力情報を前記入出力装置が受信するステップと、
前記デジタルプロセッサが、前記コントローラ入力情報と前記追加入力情報とを処理して組合せ入力を求めることによって、ゲームプログラムの実行を制御するための組合せ入力を取得するステップと、を含み、
前記組合せ入力は、前記ゲームプログラム実行中のそれぞれ個々の機能を制御するための個々の融合された入力を含み、
前記デジタルプロセッサは、前記個々の融合された入力の少なくとも一部を、特定の個々の機能に関連した前記コントローラ入力情報と、特定の個々の機能に関連した前記追加入力情報とを融合することによって求め、
前記追加入力情報は、前記ゲームコントローラに搭載された慣性センサの作動によって求められる慣性センサ情報またはユーザが移動可能な物体の方向を表す方向情報のうち少なくとも一つを含み、
前記ユーザが移動可能な物体は、前記ゲームコントローラまたは前記ゲームコントローラの本体に取り付けられた物体のうち少なくとも一つを含み、
前記追加入力情報は、前記ユーザが移動可能な物体の方向を示す情報を含み、
前記デジタルプロセッサは、前記コントロールスティックの位置を表すコントローラ入力情報の値と、前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値とを融合することによって、前記組合せ入力を求め、
前記デジタルプロセッサは、大まかな制御情報として前記ゲームコントローラのスイッチが作動中であるか否かを特定する前記コントローラ入力情報の値を割り当て、微細な制御情報として前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値を割り当てることによって、前記組合せ入力を求め、
前記組合せ入力は、前記微細な制御情報にしたがって調節された前記大まかな制御情報の値を表すことを特徴とする方法。
【請求項４】
デジタルプロセッサ、メモリ、および周辺装置との間でデータを送受信する入出力装置を有するビデオゲームシステムにおいて実行されるゲームプログラムの実行中の個々の機能を制御するための入力を取得する方法であって、
ａ）ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはｂ）ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから前記入出力装置が受信するステップと、
前記コントローラが使用される環境から追加入力情報を前記入出力装置が受信するステップと、
前記デジタルプロセッサが、前記コントローラ入力情報と前記追加入力情報とを処理して組合せ入力を求めることによって、ゲームプログラムの実行を制御するための組合せ入力を取得するステップと、を含み、
前記組合せ入力は、前記ゲームプログラム実行中のそれぞれ個々の機能を制御するための個々の融合された入力を含み、
前記デジタルプロセッサは、前記個々の融合された入力の少なくとも一部を、特定の個々の機能に関連した前記コントローラ入力情報と、特定の個々の機能に関連した前記追加入力情報とを融合することによって求め、
前記追加入力情報は、前記ゲームコントローラに搭載された慣性センサの作動によって求められる慣性センサ情報またはユーザが移動可能な物体の方向を表す方向情報のうち少なくとも一つを含み、
前記ユーザが移動可能な物体は、前記ゲームコントローラまたは前記ゲームコントローラの本体に取り付けられた物体のうち少なくとも一つを含み、
前記追加入力情報は、前記ユーザが移動可能な物体の方向を示す情報を含み、
前記デジタルプロセッサは、前記コントロールスティックの位置を表すコントローラ入力情報の値と、前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値とを融合することによって、前記組合せ入力を求め、
前記デジタルプロセッサは、大まかな制御情報として前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値を割り当て、微細な制御情報として前記コントロールスティックの位置を表す前記コントローラ入力情報の値を割り当てることによって、前記組合せ入力を求め、
前記組合せ入力は、前記微細な制御情報にしたがって調節された前記大まかな制御情報の値を表すことを特徴とする方法。
【請求項５】
デジタルプロセッサ、メモリ、および周辺装置との間でデータを送受信する入出力装置を有するビデオゲームシステムにおいて実行されるゲームプログラムの実行中の個々の機能を制御するための入力を取得する方法であって、
ａ）ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはｂ）ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから前記入出力装置が受信するステップと、
前記コントローラが使用される環境から追加入力情報を前記入出力装置が受信するステップと、
前記デジタルプロセッサが、前記コントローラ入力情報と前記追加入力情報とを処理して組合せ入力を求めることによって、ゲームプログラムの実行を制御するための組合せ入力を取得するステップと、を含み、
前記組合せ入力は、前記ゲームプログラム実行中のそれぞれ個々の機能を制御するための個々の融合された入力を含み、
前記デジタルプロセッサは、前記個々の融合された入力の少なくとも一部を、特定の個々の機能に関連した前記コントローラ入力情報と、特定の個々の機能に関連した前記追加入力情報とを融合することによって求め、
前記追加入力情報は、前記ゲームコントローラに搭載された慣性センサの作動によって求められる慣性センサ情報またはユーザが移動可能な物体の方向を表す方向情報のうち少なくとも一つを含み、
前記ユーザが移動可能な物体は、前記ゲームコントローラまたは前記ゲームコントローラの本体に取り付けられた物体のうち少なくとも一つを含み、
前記追加入力情報は、前記ユーザが移動可能な物体の方向を示す情報を含み、
前記デジタルプロセッサは、前記コントロールスティックの位置を表すコントローラ入力情報の値と、前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値とを融合することによって、前記組合せ入力を求め、
前記デジタルプロセッサは、微細な制御情報として前記ゲームコントローラのスイッチが作動中であるか否かを特定する前記コントローラ入力情報の値を割り当て、大まかな制御情報として前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値を割り当てることによって、前記組合せ入力を求め、
前記組合せ入力は、前記微細な制御情報にしたがって調節された前記大まかな制御情報の値を表すことを特徴とする方法。
【請求項６】
前記デジタルプロセッサは、前記コントローラ入力情報によって表される値と、前記追加入力情報によって表される値とを加算的に組み合わせることによって前記組合せ入力を求め、その結果、前記組合せ入力が、コントローラ入力情報または追加入力情報の値のいずれか単独の値よりも小さな値を持つ信号を前記ゲームプログラムに対して提示することを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項７】
前記デジタルプロセッサは、前記組合せ入力として、前記コントローラ入力情報または前記追加入力情報の値のいずれか単独の値よりも時間変化がよりゆるやかな平滑化された値を持つ信号を前記ゲームプログラムに対して提示することを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項８】
前記デジタルプロセッサは、前記組合せ入力として、前記コントローラ入力情報または前記追加入力情報の値のいずれか単独の値よりも急速に時間変化し、かつ信号内容が増加した高解像度信号を前記ゲームプログラムに対して提示することを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項９】
前記追加入力情報は、環境中の音響トランスデューサから得られる音響情報を含むことを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項１０】
前記コントローラ入力情報は、前記ゲームコントローラに搭載された圧力感知式ボタンが作動中であるか否かを特定する情報を含むことを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項１１】
前記追加入力情報は、ｉ）環境中の撮像装置から得られる情報、ｉｉ）ゲームコントローラまたはユーザの少なくとも一つに関連付けられた慣性センサからの情報、またはｉｉｉ）環境中の音響トランスデューサから得られる情報のうち、少なくとも一つの情報を含むことを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項１２】
前記追加入力情報は、環境中の撮像装置から得られる情報と、ゲームコントローラまたはユーザの少なくとも一つに関連付けられた慣性センサからの情報と、環境中の音響トランスデューサから得られる情報とを含むことを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項１３】
デジタルプロセッサ、メモリ、および周辺装置との間でデータを送受信する入出力装置を有するビデオゲームシステムであって、該ゲームシステムで実行されるゲームプログラムにおいて実行中の個々の機能を制御するための入力を取得するゲームシステムであって、
前記入出力装置は、ａ）ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはｂ）ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから受信し、
前記デジタルプロセッサは、前記コントローラ入力情報と追加入力情報とを処理して前記ゲームプログラムの実行を制御するための組合せ入力を取得し、
前記組合せ入力は、前記ゲームプログラム実行中のそれぞれ個々の機能を制御するための個々の融合された入力を含み、
前記デジタルプロセッサは、前記個々の融合された入力の少なくとも一部を、特定の個々の機能に関連した前記コントローラ入力情報と、特定の個々の機能に関連した前記追加入力情報とを融合することによって求め、
前記追加入力情報は、前記ゲームコントローラに搭載された慣性センサの作動によって求められる慣性センサ情報またはユーザが移動可能な物体の方向を表す方向情報のうち少なくとも一つを含み、
前記ユーザが移動可能な物体は、前記ゲームコントローラまたは前記ゲームコントローラの本体に取り付けられた物体のうち少なくとも一つを含み、
前記追加入力情報は、前記ユーザが移動可能な物体の方向を示す情報を含み、
前記デジタルプロセッサは、前記コントロールスティックの位置を表すコントローラ入力情報の値と、前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値とを融合することによって、前記組合せ入力を求め、
前記デジタルプロセッサは、前記追加入力情報であるピッチが正の値（上昇）へと増加しつつ前記コントロールスティックが後方に動かされるとき、増大されたピッチアップ入力を前記組合せ入力に反映させるか、または、ピッチが負の値（下降）へと減少しつつ前記コントロールスティックが前方に動かされるとき、増大されたピッチダウン入力を前記組合せ入力に反映させる
ことを特徴とするシステム。
【請求項１４】
デジタルプロセッサ、メモリ、および周辺装置との間でデータを送受信する入出力装置を有するビデオゲームシステムであって、該ゲームシステムで実行されるゲームプログラムにおいて実行中の個々の機能を制御するための入力を取得するゲームシステムであって、
前記入出力装置は、ａ）ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはｂ）ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから受信し、
前記デジタルプロセッサは、前記コントローラ入力情報と追加入力情報とを処理して前記ゲームプログラムの実行を制御するための組合せ入力を取得し、
前記組合せ入力は、前記ゲームプログラム実行中のそれぞれ個々の機能を制御するための個々の融合された入力を含み、
前記デジタルプロセッサは、前記個々の融合された入力の少なくとも一部を、特定の個々の機能に関連した前記コントローラ入力情報と、特定の個々の機能に関連した前記追加入力情報とを融合することによって求め、
前記追加入力情報は、前記ゲームコントローラに搭載された慣性センサの作動によって求められる慣性センサ情報またはユーザが移動可能な物体の方向を表す方向情報のうち少なくとも一つを含み、
前記ユーザが移動可能な物体は、前記ゲームコントローラまたは前記ゲームコントローラの本体に取り付けられた物体のうち少なくとも一つを含み、
前記追加入力情報は、前記ユーザが移動可能な物体の方向を示す情報を含み、
前記デジタルプロセッサは、前記コントロールスティックの位置を表すコントローラ入力情報の値と、前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値とを融合することによって、前記組合せ入力を求め、
前記デジタルプロセッサは、大まかな制御情報として前記コントロールスティックの位置を表すコントローラ入力情報の値を割り当て、微細な制御情報として前記ユーザが移動可能な物体の方向を表す追加入力情報の値を割り当てることによって、前記組合せ入力を求めるか、または、
前記デジタルプロセッサは、大まかな制御情報として前記ゲームコントローラのスイッチが作動中であるか否かを特定する前記コントローラ入力情報の値を割り当て、微細な制御情報として前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値を割り当てることによって、前記組合せ入力を求め、
前記組合せ入力は、前記微細な制御情報にしたがって調節された前記大まかな制御情報の値を表す
ことを特徴とするシステム。
【請求項１５】
デジタルプロセッサ、メモリ、および周辺装置との間でデータを送受信する入出力装置を有するビデオゲームシステムであって、該ゲームシステムで実行されるゲームプログラムにおいて実行中の個々の機能を制御するための入力を取得するゲームシステムであって、
前記入出力装置は、ａ）ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはｂ）ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから受信し、
前記デジタルプロセッサは、前記コントローラ入力情報と追加入力情報とを処理して前記ゲームプログラムの実行を制御するための組合せ入力を取得し、
前記組合せ入力は、前記ゲームプログラム実行中のそれぞれ個々の機能を制御するための個々の融合された入力を含み、
前記デジタルプロセッサは、前記個々の融合された入力の少なくとも一部を、特定の個々の機能に関連した前記コントローラ入力情報と、特定の個々の機能に関連した前記追加入力情報とを融合することによって求め、
前記追加入力情報は、前記ゲームコントローラに搭載された慣性センサの作動によって求められる慣性センサ情報またはユーザが移動可能な物体の方向を表す方向情報のうち少なくとも一つを含み、
前記ユーザが移動可能な物体は、前記ゲームコントローラまたは前記ゲームコントローラの本体に取り付けられた物体のうち少なくとも一つを含み、
前記追加入力情報は、前記ユーザが移動可能な物体の方向を示す情報を含み、
前記デジタルプロセッサは、前記コントロールスティックの位置を表すコントローラ入力情報の値と、前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値とを融合することによって、前記組合せ入力を求め、
前記デジタルプロセッサは、大まかな制御情報として前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値を割り当て、微細な制御情報として前記コントロールスティックの位置を表す前記コントローラ入力情報の値を割り当てることによって、前記組合せ入力を求め、
前記組合せ入力は、前記微細な制御情報にしたがって調節された前記大まかな制御情報の値を表す
ことを特徴とするシステム。
【請求項１６】
デジタルプロセッサ、メモリ、および周辺装置との間でデータを送受信する入出力装置を有するビデオゲームシステムであって、該ゲームシステムで実行されるゲームプログラムにおいて実行中の個々の機能を制御するための入力を取得するゲームシステムであって、
前記入出力装置は、ａ）ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはｂ）ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから受信し、
前記デジタルプロセッサは、前記コントローラ入力情報と追加入力情報とを処理して前記ゲームプログラムの実行を制御するための組合せ入力を取得し、
前記組合せ入力は、前記ゲームプログラム実行中のそれぞれ個々の機能を制御するための個々の融合された入力を含み、
前記デジタルプロセッサは、前記個々の融合された入力の少なくとも一部を、特定の個々の機能に関連した前記コントローラ入力情報と、特定の個々の機能に関連した前記追加入力情報とを融合することによって求め、
前記追加入力情報は、前記ゲームコントローラに搭載された慣性センサの作動によって求められる慣性センサ情報またはユーザが移動可能な物体の方向を表す方向情報のうち少なくとも一つを含み、
前記ユーザが移動可能な物体は、前記ゲームコントローラまたは前記ゲームコントローラの本体に取り付けられた物体のうち少なくとも一つを含み、
前記追加入力情報は、前記ユーザが移動可能な物体の方向を示す情報を含み、
前記デジタルプロセッサは、前記コントロールスティックの位置を表すコントローラ入力情報の値と、前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値とを融合することによって、前記組合せ入力を求め、
前記デジタルプロセッサは、微細な制御情報として前記ゲームコントローラのスイッチが作動中であるか否かを特定する前記コントローラ入力情報の値を割り当て、大まかな制御情報として前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値を割り当てることによって、前記組合せ入力を求め、
前記組合せ入力は、前記微細な制御情報にしたがって調節された前記大まかな制御情報の値を表す
ことを特徴とするシステム。
【請求項１７】
前記デジタルプロセッサが、ゲームプログラムへの入力の修正として前記コントローラ入力情報または前記追加入力情報のうち第１の情報を利用して、コントローラ入力情報または追加入力情報のうち第２の情報の少なくとも一つに応じて起動された機能に対する制御を修正するステップをさらに含むことを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項１８】
前記慣性センサは、前記ゲームコントローラに取り付けられ、加速度計またはジャイロスコープのうち少なくとも一つであることを特徴とする請求１ないし５のいずれかに記載の方法。
【請求項１９】
前記ユーザが移動可能な物体は、前記ゲームコントローラまたは該ゲームコントローラ本体に取り付けられた物のうち少なくとも一つであり、前記追加入力情報は前記ユーザが移動可能な物体の方向を示す情報を含むことを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項２０】
前記追加入力情報はピッチ、ヨーまたはロールの少なくとも一つを示す情報を含むことを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項２１】
前記デジタルプロセッサは、コントロールステックの位置を表すコントローラ入力情報の値と、前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値とを融合して前記組合せ入力を求めることを特徴とする請求項１８ないし２０のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に人間とコンピュータとのインタフェースに関し、特に、一つまたは複数のコントローラのユーザによる操作を追跡するための複数チャネル入力処理に関する。
【背景技術】
【０００２】
通常、コンピュータエンタテインメントシステムは、手持ち型コントローラ、ゲームコントローラ、またはその他のコントローラを備える。ユーザすなわちプレイヤは、コントローラを使ってコマンドや他の指令をエンタテインメントシステムに送り、プレイ中のビデオゲームやその他のシミュレーションを制御する。例えば、コントローラには、ジョイスティックなどのユーザが操作するマニピュレータが設けられてもよい。ジョイスティック操作での変量は、ＡＤ変換されてゲームマシーンのメインフレームに送られる。コントローラには、ユーザが操作できるボタンも設けられる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、これら従来の情報要素およびその他の情報要素に関して進化したものである。
【課題を解決するための手段】
【０００４】
ゲームプログラムの実行を制御するための入力を取得する方法が開示される。ａ）ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはｂ）ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから受け取る。コントローラが使用される環境から追加入力情報を受け取る。コントローラ入力情報と追加入力情報とを処理して組合せ入力を得ることによって、ゲームプログラムの実行を制御するための組合せ入力を取得する。
【０００５】
本発明が教示するものは、添付の図面と併せて、以下の詳細な説明を考慮することによって容易に理解される。
【図面の簡単な説明】
【０００６】
【図１】本発明の一実施形態にしたがって作動するビデオゲームシステムを示す図である。
【図２】本発明の一実施形態にしたがって作られたコントローラの透視図である。
【図３】本発明の一実施形態によるコントローラに用いられる加速度計を示す３次元概略図である。
【図４】本発明の一実施形態による各種制御入力のミキシングシステムのブロック図である。
【図５Ａ】図１のビデオゲームシステム部のブロック図である。
【図５Ｂ】本発明の一実施形態によるビデオゲームシステムのコントローラ追跡方法を示すフロー図である。
【図５Ｃ】本発明の一実施形態によるビデオゲームシステムでのゲームプレイ中の、位置情報および／または方向情報の利用方法を示すフロー図である。
【図６】本発明の一実施形態によるビデオゲームシステムを示すブロック図である。
【図７】本発明の一実施形態によるビデオゲームシステムにおけるセルプロセッサ実装のブロック図である。
【発明を実施するための形態】
【０００７】
以下の詳細な説明には、説明のための多くの具体的な詳細事項が含まれるが、それらに対する多くの変更や修正も本発明の技術範囲に含まれることは、当業者であれば誰でも理解するであろう。したがって、以下に説明する本発明の好適な実施形態は、クレームされた発明の普遍性をなんら損なうことなく、また限定も行うことなく記載されている。
【０００８】
本明細書に記述した方法、装置、スキームおよびシステムに関する様々な実施形態は、ユーザによるコントローラ本体そのものの移動、動きおよび／または操作の検出、取り込み、および追跡を提供する。ユーザによるコントローラ本体全体の検出された移動、動き、および／または操作は、プレイ中のゲームや他のシミュレーションの様々な局面を制御する付加コマンドとして用いられる。
【０００９】
ユーザによるゲームコントローラ本体の操作の検出および追跡は、様々な態様で実現されうる。例えば、加速度計やジャイロスコープなどの慣性センサやデジタルカメラなどの撮像装置をコンピュータエンタテインメントシステムと共に使用し、手持ちのコントローラ本体の動きを検出してゲームの中のアクションにその動きを送ることができる。慣性センサによるコントローラ追跡の例は、例えば、米国特許出願第11/382,033号の”SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL”（代理人整理番号SCEA06INRTI）に開示されており、その開示内容は参照により本明細書に援用される。撮像装置を用いたコントローラ追跡の例は、例えば、米国特許出願第11/382,034号の”SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY”（代理人整理番号SCEA05082US00）に開示されており、その開示内容は参照により本明細書に援用される。さらに、コントローラおよび／またはユーザを、マイクロホン配列および適切な信号処理を用いて音響的に追跡することもできる。そのような音響追跡の例は、米国特許出願第11/381,721号に開示されており、その開示内容は参照により本明細書に援用される。
【００１０】
音響検出、慣性検出および撮像をそれぞれ独立に用いるかまたは組み合わせて用いることで、コントローラの多くの違った動き方、例えば上下動、ねじり、水平動、急な動き（jerking movements）、棒のような動き（wand-like motions）、急降下の動きなどを検出することができる。そのような動きは、様々なコマンドに対応し、ゲームの中のアクションに移されるようになされていてもよい。ユーザによるゲームコントローラ本体の操作を検出し追跡することによって、多くの違ったタイプのゲームやシミュレーションなどが実現できる。例えば、刀やライトセーバーで闘ったり、物の形をたどるために棒を使ったり、各種のスポーツイベントに参加したり、画面上での闘いやその他の遭遇戦等を行うことができる。ゲームプログラムは、コントローラの動きを追跡し、追跡した動きから事前に記録されているジェスチャを認識するように構成されていてもよい。こういった動きを一つ以上認識すると、ゲーム状態に変化が起きるようになされていてもよい。
【００１１】
本発明の実施形態では、これら異なったソースから得られるコントローラパス情報が、ジェスチャ認識の分析前に組み合わされてもよい。異なったソース（例えば音響、慣性および撮像）からの追跡データは、ジェスチャ認識の可能性を高めるような態様で組み合わせられる。
【００１２】
図１を参照する。本発明の一実施形態にしたがって作動するシステム１００が図示されている。図示のように、コンピュータエンタテインメントコンソール１０２は、テレビまたは他のビデオディスプレイ１０４に接続され、ビデオゲームや他のシミュレーションが画面上に表示される。ゲームまたは他のシミュレーションは、コンソール１０２に挿入されたＤＶＤ、ＣＤ，フラッシュメモリ、ＵＳＢメモリ、または他の記録媒体１０６に保存できる。ユーザすなわちプレイヤ１０８は、ゲームコントローラ１１０を操作してビデオゲームまたは他のシミュレーションを制御する。図２に示されるように、ゲームコントローラ１１０は、ゲームコントローラ１１０の位置、動き、方向、または方向の変化に応じて信号を生成する慣性センサ１１２を備える。この慣性センサに加えて、ゲームコントローラ１１０は、既知の制御入力装置、例えば、ジョイスティック１１１、ボタン１１３、Ｒ１、Ｌ１などを備えていてもよい。
【００１３】
操作中、ユーザ１０８はコントローラ１１０を物理的に動かす。例えば、コントローラ１１０は、ユーザ１０８によって、上下動、水平動、ねじり、ロール、振動、急な動き、または急降下など、どの方向に動かされてもよい。以下に説明する態様で慣性センサ１１２からの信号を分析して追跡するために、コントローラ１１０自体のこれらの動きがカメラ１１４によって検出され撮像されてもよい。
【００１４】
再び図１に戻り、システム１００は、カメラまたは他のビデオ撮像装置１１４を任意に具備してもよく、それらはコントローラ１１０がカメラ視野角１１６内に入るように配置される。画像撮像装置１１４からの画像の分析は、慣性センサ１１２からのデータの分析と併せて利用される。図２に示されるように、コントローラ１１０には、発光ダイオード（ＬＥＤ）２０２、２０４、２０６、２０８などの光源が任意に設けられ、画像分析による追跡を容易にするようになされてもよい。これらの光源はコントローラ１１０の本体に取り付けられてもよい。本明細書において、「本体」という用語は、手で保持する（または、着用できるゲームコントローラであれば着用する）ゲームコントローラ１１０の一部分を意味する。
【００１５】
コントローラ１１０の追跡目的のビデオ画像分析は、例えば、米国特許出願第11/382,034号の”SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY”（代理人整理番号SCEA05082US00）、発明者Gary M. Zalewskiに開示されており、その開示内容は参照により本明細書に援用される。コンソール１０２は、マイクロホン配列１１８などの音響トランスデューサ（変換器）を備えてもよい。コントローラ１１０はさらに、音響信号発生器２１０（例えば、スピーカ）も備え、コントローラ１１０の音響追跡を容易にする音源を、マイクロホン配列１１８や、米国特許出願第11/381,724号に開示されているような適切な音響信号処理装置に提供するようにしてもよい。前掲の米国特許出願の開示内容は、参照により本明細書に援用される。
【００１６】
一般に、慣性センサ１１２からの信号は、コントローラ１１０に対する位置データおよび方向データの生成に用いられる。そのようなデータは、コントローラ１１０の動きに関する多くの物理的側面、例えば、コントローラ１１０の場所の遠隔測定（テレメトリ）だけではなく、任意の軸方向の加速度や速度、傾斜、ピッチ、ヨー、ロールなどの計算に用いることができる。本明細書において、遠隔測定とは、一般に、対象の情報を遠隔で計測し、システムまたはシステムのデザイナやオペレータに報告することを言う。
【００１７】
コントローラ１１０の動きを検出し追跡できることにより、コントローラ１１０について予め決められた動きが行われているか否かがわかる。すなわち、コントローラ１１０の特定の動きのパターンまたはジェスチャを、ゲームまたは他のシミュレーションの入力コマンドとして予め決めて用いることができる。例えば、コントローラ１１０を下方に急降下させるジェスチャを一つのコマンドとして定義し、捻るジェスチャを別のコマンドとして定義し、振動させるジェスチャをさらに別のコマンドとして定義できる。このように、ユーザ１０８が物理的にコントローラ１１０を動かす態様を、ゲームを制御する別の入力として使用して、より刺激的で楽しい体験をユーザに与えることができる。
【００１８】
例示として、またいかなる限定を行うことなく、慣性センサ１１２は加速度計であってよい。図３に、フレーム３０４に４点で、例えばスプリング３０６、３０８、３１０、および３１２によって伸縮自在に取り付けられた単一質量３０２の形態での加速度計３００を示す。ピッチ軸およびロール軸（それぞれＸ軸、Ｙ軸で表示）はフレームを横断する面内にある。ヨー軸Ｚは、ピッチ軸Ｘとロール軸Ｙを含む平面に対して垂直に置かれている。フレーム３０４は適切な形態でコントローラ１１０に取り付けられている。フレーム３０４（およびゲームコントローラ１１０）の加速および／または回転に応じて、質量３０２はフレーム３０４に対して相対的に変位する。スプリング３０６、３０８、３１０、３１２は、並進加速度および／または回転加速度の量と方向、および／またはピッチ、ロール、ヨーの角度に応じて伸縮する。質量３０２の変位、および／またはスプリング３０６、３０８、３１０、３１２の伸縮量が、例えば適切なセンサ３１４、３１６、３１８、３２０を用いて計測され、公知のまたは確定可能な方法でピッチおよび／またはロールの加速度量に応じた信号に変換される。
【００１９】
質量の位置および／またはそれに働く力を追跡する方法には、抵抗歪みゲージ、音響センサ、磁気センサ、ホール素子、圧電素子、容量センサなど、多くの異なった方法がある。本発明の実施形態では、任意の数のセンサ、または任意のタイプ、任意の組み合わせのセンサを備えてもよい。例示として、またいかなる限定も行うことなく、センサ３１４、３１６、３１８、３２０は質量３２０の上方に配置されたギャップ封鎖電極とすることができる。質量と各電極間の静電容量は、各電極に対する質量の位置変化に応じて変わる。各電極は、電極に対しての質量３０２の静電容量に関する信号（したがって質量の接近に関する信号）を生成する回路に接続されてもよい。さらに、スプリング３０６、３０８、３１０、３１２は、伸縮に関連した信号を生成する抵抗歪みゲージを備えてもよい。
【００２０】
いくつかの実施形態では、フレーム３０４はコントローラ１１０に取り付けられるジンバルであってもよく、これによって、加速度計３００はピッチ軸、ロール軸、および／またはヨー軸に対して一定の方向を保つことができる。このような態様にすると、実空間座標軸に対するコントローラ軸の傾きを考慮することなく、コントローラのＸ軸、Ｙ軸、Ｚ軸を実空間における対応軸に直接にマッピングすることが可能になる。
【００２１】
上述のように、慣性ソース、撮像ソースおよび音響ソースからのデータを分析して、コントローラ１１０の位置および／または方向を追跡する経路を生成することができる。図４のブロック図に示されるように、本発明の一実施形態によるシステム４００は、慣性分析部４０２、画像分析部４０４、および音響分析部４０６を備えてもよい。これらの分析部はいずれも、被計測環境４０１からの信号を受信する。分析部４０２、４０６、４０８は、ハードウェア、ソフトウェア（またはファームウェア）、またはこれらの複数の組み合わせで実装される。各分析部は、対象物の位置および／または方向に関係する追跡情報を生成する。例示として、対象物は上述のコントローラ１１０であってよい。画像分析部４０４が一緒に作動し、下記の場、および米国特許出願第11/382,034号（代理人整理番号SCEA05082US00）に開示の方法に対する場を形成してもよい。慣性分析部４０２が一緒に作動し、下記の場、および米国特許出願第11/382,033号の”SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENTIONAL INPUT CONTROL”（代理人整理番号SCEA06INRT1）に開示の方法に対する場を形成してもよい。音響分析部４０６が一緒に作動し、下記の場、および米国特許出願第11/381,724号に開示の方法に対する場を形成してもよい。
【００２２】
分析部４０２、４０４および４０６は、位置情報および／または方向情報に関する入力の異なるチャネルに関連付けられると考えてもよい。ミキサ４０８は複数の入力チャネルを受け付けることができ、それらのチャネルは、チャネル視点からの被計測環境４０１を特徴付けるサンプルデータを含んでもよい。慣性分析部４０２、画像分析部４０４および音響分析部４０６で生成された位置および／または方向情報は、ミキサ４０８の入力に接続できる。ミキサ４０８および分析部４０２、４０４、４０６は、ゲームソフトウェアプログラム４１０の問い合わせを受けてもよく、イベントに応じてゲームソフトウェアを中断するように構成されてもよい。イベントには、ジェスチャ認識イベント、ギアリング変更、構成変更、ノイズレベル設定、サンプリングレート設定、マッピングチェーン変更などが含まれてよい。これらの例については後述する。ミキサ４０８が一緒に作動し、下記の場、およびここで説明する方法に対する場を形成してもよい。
【００２３】
上述のように、例えば、慣性センサ、ビデオ画像および／または音響センサなどの異なる入力チャネルからの信号は、それぞれ、慣性分析部４０２、画像分析部４０４および音響分析部４０６によって分析されて、本発明の方法によるビデオゲームプレイ中のコントローラ１１０の動きおよび方向を決定してもよい。そのような方法は、プロセッサ読み取り可能なメディアに保存され、デジタルプロセッサ上で実行されるプログラムコード指令を実行可能な、一連のプロセッサとして実装されてもよい。例えば、図５Ａに示されるように、ビデオゲームシステム１００は、ハードウェアまたはソフトウェアのいずれかで実装された慣性分析部４０２、画像分析部４０４および音響分析部４０６を有するコンソール１０２を具備してもよい。例示として、分析部４０２、４０４および４０６は、適切なプロセッサ５０２で作動するソフトウェア指令として実装されてもよい。例示として、プロセッサ５０２は、例えば、ビデオゲームコンソールに通常使用されるマイクロプロセッサのような、デジタルプロセッサであってもよい。指令の一部はメモリ５０６に保存されてもよい。代替的に、慣性分析部４０２、画像分析部４０４および音響分析部４０６は、例えば特定用途向け集積回路（ＡＳＩＣ）などのハードウェアとして実装されてもよい。そのような分析ハードウェアは、コントローラ１１０かまたはコンソール１０２上に設けられるか、または遠隔の場所に設けられてもよい。ハードウェアでの実装では、分析部４０２、４０４、４０６は、プロセッサ５０２からの外部信号、または、例えばＵＳＢケーブル、無線接続またはネットワークを介して接続される他の遠隔にあるソースからの外部信号に応じて、プログラム可能であってもよい。
【００２４】
慣性分析部４０２は、慣性センサ１１２により生成される信号を分析する命令を備えるか実装し、コントローラ１１０の位置および／または方向に関する情報を利用してもよい。同様に、画像分析部４０４は、撮像装置１１４で撮影された画像を分析する命令を実装してもよい。さらに、音響分析部は、マイクロホン配列１１８で捉えた像を分析する命令を実装してもよい。図５Ｂのフロー図５１０に示すように、これらの信号および／または画像は、ブロック５１２で示すように、分析部４０２、４０４、４０６で受け取られてもよい。信号および／または画像は分析部４０２、４０４、４０６で分析されて、ブロック５１４で示されるように、コントローラ１１０の位置および／または方向に関する慣性追跡情報４０３、画像追跡情報４０５および音響追跡情報４０７を決定してもよい。追跡情報４０３、４０５および４０７は、１以上の自由度に関連付けられる。コントローラ１１０または他の追跡物の操作を特徴付けるために、６自由度が追跡されることが好ましい。そのような自由度は、コントローラの傾き、ヨー、ロール、およびＸ軸、Ｙ軸、Ｚ軸方向の位置、速度または加速度と関連してもよい。
【００２５】
ブロック５１６で示されるように、ミキサ４０８は慣性情報４０３、画像情報４０５および音響情報４０７を組み合わせて、正確な位置情報および／または方向情報４０９を生成する。例示として、ミキサ４０８は、ゲームや環境条件に基づき慣性情報４０３、画像情報４０５、音響情報４０７に異なる重みを与え、荷重平均を求めてもよい。さらに、ミキサ４０８は、独自にミキサ分析部を備えて、組み合わされた位置／方向情報を分析し、他の分析部で生成された組み合わせ情報を包含する独自の「ミキサ」情報を生成してもよい。
【００２６】
本発明の実施形態では、ミキサ４０８は、分析部４０２、４０４、４０６からの追跡情報４０３、４０５、４０７に対して分配値を割り当ててもよい。上記の通り、入力コントロールデータセットの一部が平均されていてもよい。しかし、本実施形態においては、入力コントロールデータは、平均される前に、分析上の重要度を考慮した値が割り当てられる。
【００２７】
ミキサ４０８は、本システムの文脈において、観察、訂正、安定化、導出、結合、ルーティング、ミキシング、報告、緩衝、他の処理の中断、および分析などを含む多くの機能を持つことができる。そのような機能は、一つ以上の分析部４０２、４０４、４０６から受け取る追跡情報４０３、４０５、４０７に対して実行することができる。分析部４０２、４０４、４０６のそれぞれが特定の追跡情報を受信および／または導出している間、受信した追跡情報４０３、４０５、４０７の使用を最適化し正確な追跡情報４０９を生成するためにミキサ４０８を実装してもよい。
【００２８】
分析部４０２、４０４、４０６およびミキサ４０８は、同様の出力フォーマットを持つ追跡情報を提供するように構成されるのが好ましい。分析部４０２、４０４、４０６のいずれかからの追跡情報パラメータは、分析部における単一のパラメータにマッピングすることができる。代替的に、ミキサ４０８は、一つ以上の分析部４０２、４０４、４０６からの一つ以上の追跡情報パラメータを処理して、分析部４０２、４０４、４０６のいずれかに対して追跡情報を作成してもよい。ミキサは、分析部４０２、４０４、４０６から得られる同一タイプのパラメータを持つ追跡情報の複数の要素を組み合わせてもよく、および／または、分析部で生成される追跡情報の複数のパラメータにまたがる機能を実行して、複数の入力チャネルから生成される利点を有する合成出力セットを作り出してもよい。
【００２９】
正確な追跡情報４０９は、ブロック５１８で示されるように、システム１００でのビデオゲームプレイ中に利用できる。ある実施形態では、位置情報および／または方向情報を、ゲームプレイ中のユーザ１０８のジェスチャに関して利用することができる。いくつかの実施形態では、ミキサ４０８はジェスチャ認識部５０５と一緒に作動し、ゲーム環境中の少なくとも一つのアクションと、ユーザからの一つ以上のアクション（例えば、空間におけるコントローラの操作）とを関連付けてもよい。
【００３０】
図５Ｃのフロー図５２０に示されるように、コントローラ１１０の経路は、ブロック５２２で示される通り、位置情報および／または方向情報を用いて追跡することができる。例示として、またいかなる限定を与えることなく、この経路には、いくつかの座標系に対するコントローラの質量中心位置を示す点セットが含まれてもよい。各位置ポイントは、一つ以上の座標、例えば、デカルト座標系におけるＸ，Ｙ，Ｚ座標で表されてもよい。経路上の各点が時刻と関連付けられていてもよく、これによって、経路の形状と経路に沿ったコントローラの進行の両方を監視することができる。さらに、前記セットの各点は、コントローラの方向を表すデータ、例えば、コントローラの質量中心回りの一つ以上の回転角などと関連付けられてもよい。さらに、経路上の各点は、コントローラの質量中心の速度および加速度、質量中心回りのコントローラの角回転率および角加速度率の各値と関連付けられてもよい。
【００３１】
ブロック５２４に示されるように、追跡経路は、プレイ中のビデオゲームの状況に関連した既知のジェスチャおよび／または事前に記録されているジェスチャ５０８に対応する一つ以上の記憶された経路と比較されてもよい。認識部５０５は、ユーザを認識するか、または音声認証ジェスチャなどを処理するように構成されていてもよい。例えば、ユーザに特有のジェスチャを通して、認識部５０５によりユーザを特定してもよい。そのような特有のジェスチャは、メモリ５０６に保存されている事前に記録されたジェスチャ５０８に記録されて含められる。記録処理においては、任意に、ジェスチャの記録中に生成される音を保存してもよい。被計測環境がマルチチャネルの分析部でサンプリングされて処理される。プロセッサは、ジェスチャモデルを参照し、音声パターンまたは音響パターンに基づいて、高精度かつ高能率でユーザまたは物体を決定、認証、および／または特定できる。
【００３２】
図５Ａに示されるように、ジェスチャを表すデータ５０８はメモリ５０６に保存される。ジェスチャの例として、ボールのような物を投げる、バットやゴルフクラブのようなものを振る、手押しポンプを押す、ドアまたは窓を開閉する、ハンドルまたは他の車両コントロールを回す、格闘家がパンチなどを出す、研磨（sanding）動作、ワックス掛けとふき取り、家のペンキ塗り、振動、おしゃべり、ロール、フットボール投げ、ノブを回す動き、３Ｄマウスの動き、スクロール、既知の輪郭を持った動き、記録可能なあらゆる動き、あらゆるベクトルに沿った前後の動き、すなわち空間内の任意の方向に沿ったタイヤの空気入れ、小道に沿った移動、正確な停止時間と開始時間を持った動き、ノイズフロア内やスプライン内などで記録、追跡および繰り返し可能なユーザ操作に基づく任意の時刻、などがあるが、これらに限定されない。これらのジェスチャはそれぞれ、経路データから事前に記録し、時間基準のモデルとして保存できる。経路が安定状態から外れると、その経路が除去処理という保存ジェスチャと比較される、という安定状態についての仮定から、経路と保存ジェスチャとの比較がスタートする。ブロック５２６において一致しなければ、分析部はブロック５２２に戻ってコントローラ１１０の経路追跡を継続できる。経路（またはその一部分）と保存ジェスチャとの間で十分な一致があれば、５２８に示されるように、ゲーム状態を変えることができる。ゲーム状態の変化は、これらに限定されないが、中断、コントロール信号の送信、変数の変化などを含んでもよい。
【００３３】
起こり得る例を一つ示す。コントローラ１１０が経路の安定状態から外れたと判断すると、分析部４０２、４０４、４０６、または４１２はコントローラ１１０の動きを追跡する。コントローラ１１０の経路が保存されているジェスチャモデル５０８に定義される経路と合致している間は、これらのジェスチャは「ヒット」であり得る。コントローラ１１０の経路が、いずれかのジェスチャモデル５０８から外れると（耐ノイズ設定内で）、そのジェスチャモデルはヒットリストから除去される。各ジェスチャ参照モデルは、ジェスチャが記録される時間軸を備える。分析部４０２、４０４、４０６または４１２は、適切な時間指標で、コントローラの経路データを保存ジェスチャ５０８と比較する。安定状態条件が発生するとクロックをリセットする。安定状態から外れる（すなわち、ノイズしきい値外で動きが追跡される）と、ヒットリストには、可能性のあるジェスチャモデルすべてが入ってくる。クロックがスタートして、コントローラの動きがヒットリストと比較される。再び、時系列で見ると比較はたやすい。ヒットリスト内のいずれかのジェスチャがジェスチャの端に到達すると、それはヒットである。
【００３４】
ある実施形態では、ミキサ４０８および／または個々の分析部４０２、４０４、４０６、および４１２は、特定のイベントが発生する時間をゲームプログラムに通知してもよい。そのようなイベントの例には下記のものが含まれる。
【００３５】
・加速度０点への到達で中断（Ｘ軸、Ｙ軸、および／またはＺ軸）
あるゲーム状況において、コントローラの加速度が変曲点で変化すると、分析部は、ゲームプログラム内のルーチンに通知するかまたはルーチンを中断できる。例えば、ユーザ１０８は、コントローラ１１０を使ってフットボールシミュレーションゲーム内のクォータバックを表すゲームアバターを制御できる。分析部は、慣性センサ１１２からの信号から生成される経路を介して（フットボールを表す）コントローラを追跡してもよい。コントローラ１１０のある特定の加速度変化は、フットボールが投げられたことを信号発信してもよい。このときに、分析部はプログラム内の別のルーチン（例えば、物理シミュレーションパッケージ）をトリガして、投てき点におけるコントローラの位置、速度および／または方向に基づき、フットボールの軌道をシミュレーションできる。
【００３６】
・新しいジェスチャの認識で中断
【００３７】
また、分析部は一つ以上の入力で構成されてもよい。そのような入力の例を以下に示すが、これらに限定されない。
【００３８】
・ノイズレベルの設定（Ｘ軸、Ｙ軸またはＺ軸）
ノイズレベルは、ゲーム中のユーザの手の震えを分析するときの基準許容誤差であってもよい。
【００３９】
・サンプリングレート設定
本明細書において、サンプリングレートとは、分析部による慣性センサからの信号のサンプリング頻度を言う。サンプリングレートは信号のオーバーサンプリングかまたは平均化に設定されてもよい。
【００４０】
・ギアリング設定
本明細書において、ギアリングとは、概してゲーム内で起こる動きに対するコントローラの動きの比を言う。ビデオゲーム制御の文脈におけるこのような「ギアリング」の例は、2006年5月7日付米国特許出願第11/382,040号（代理人整理番号SONYP058D）に開示されており、その開示内容は参照により本明細書に援用される。
【００４１】
・マッピングチェーンの設定
本明細書において、マッピングチェーンとはジェスチャモデルのマップを言う。ジェスチャモデルマップは特定の入力チャネルに対して（例えば、慣性センサ信号だけから生成される経路データに対して）、またはミキサ装置に形成されるハイブリッドチャネルに対して作成される。慣性分析部４０２と同様の２台以上の異なった分析部によって、３つの入力チャネルが供給される。具体的には、これらには、ここで述べた慣性分析部４０２、例えばその開示内容が参照により本明細書に援用される米国特許出願第11/382,034号の”SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY”（代理人整理番号SCE05082US00）、発明者Gary M Zalewski、に開示されたビデオ分析部、および、例えばその開示内容が参照により本明細書に援用される米国特許出願第11/381,721号に開示される音響分析部が含まれてもよい。これら分析部はマッピングチェーンを用いて構成することができる。マッピングチェーンは、分析部やミキサに対する設定ができるように、ゲームプレイ中にゲームによって交換することができる。
【００４２】
再び図５Ｂ、ブロック５１２に戻る。当業者であれば、慣性センサ１１２からの信号を生成するには多くの方法があることは理解するであろう。とりわけ２〜３の例についてここで説明する。ブロック５１４を参照して、ブロック５１２で生成されるセンサ信号を分析しコントローラ１１０の位置および／または方向に関係する追跡情報を得るには多くの方法がある。例示として、またいかなる限定を行うことなく、追跡情報には、個別にまたは任意の組み合わせて以下のパラメータに関する情報が含まれるが、これらに限定されない。
【００４３】
・コントローラの方向
コントローラ１１０の方向は、ある基準方向に対するピッチ、ロール、またはヨー角（例えばラジアン）で表されてもよい。コントローラ方向の変化率（例えば、角速度または角加速度）は、位置情報および／または方向情報に含まれていてもよい。例えば、慣性センサ１１２がジャイロスコープセンサを含む場合、コントローラの方向情報は、ピッチ角、ロール角、またはヨー角に比例した一つ以上の出力値の形で直接求めることができる。
【００４４】
・コントローラの位置（例えば、ある基準フレームにおけるコントローラ１１０のデカルト座標Ｘ、Ｙ，Ｚ）
・コントローラのＸ軸速度
・コントローラのＹ軸速度
・コントローラのＺ軸速度
・コントローラのＸ軸加速度
・コントローラのＹ軸加速度
・コントローラのＺ軸加速度
【００４５】
位置、速度および加速度に関して、位置情報および／または方向情報がデカルト以外の座標系で表されてもよいことに注意する。例えば、円柱座標系または球座標系を位置、速度、加速度のために使用してもよい。Ｘ軸、Ｙ軸、Ｚ軸に対する加速度情報を、例えば本明細書で説明したような加速度計タイプのセンサから直接に求めてもよい。Ｘ速度、Ｙ速度、Ｚ速度における変化を決定するために、ある初期時刻からの時間に対してＸ加速度、Ｙ加速度、Ｚ加速度を積分してもよい。これらの速度は、初期時刻における既知の値であるＸ速度、Ｙ速度、およびＺ速度に速度変化を加えることで算出してもよい。コントローラのＸ変位、Ｙ変位およびＺ変位を決定するために、時間に対してＸ速度、Ｙ速度およびＺ速度を積分してもよい。Ｘ位置、Ｙ位置およびＺ位置は、初期時刻における既知のＸ位置、Ｙ位置およびＺ位置に変位を加えることで決定してもよい。
【００４６】
・安定状態 Ｙ／Ｎ
この特殊な情報はコントローラが安定状態にあるかどうかを示し、いずれの位置として定義することができ、また変化もする。好適な実施例では、安定状態にある位置とは、コントローラが、ユーザの腰とほぼ同じ高さにあっておおよそ水平方向に保持されているような位置としてもよい。
【００４７】
・前回の安定状態からの時間
「前回の安定状態からの時間」は、概して、（上述したような）安定状態が最後に検出された以降に経過した期間の長さに関係するデータを指す。その時間の決定は、前に注目したように、実時間、処理サイクル、またはサンプリング周期で計算されてもよい。「前回の安定状態からの時間」のデータ時間は、ゲーム環境におけるキャラクタまたは物体のマッピングの正確さを確保するために、初期点に関するコントローラの追跡をリセットすることに対して重要である。このデータはまた、ゲーム環境でその後に（排他的にまたは包括的に）実行される可能性のある利用可能なアクションおよび／またはジェスチャの決定に対しても重要である。
【００４８】
・認識された最後のジェスチャ
「認識された最後のジェスチャ」とは、概して、（ハードウェアまたはソフトウェアで実装可能な）ジェスチャ認識部５０５によって認識された最後のジェスチャを指す。後に認識される可能性のあるジェスチャまたはゲーム環境で起こる他のアクションに前回のジェスチャが関係し得るという事実に対して、認識された最後のジェスチャの特定は重要である。
【００４９】
・認識された最後のジェスチャ時間
【００５０】
上記の出力は、ゲームプログラムまたはソフトウェアでいつでもサンプリングできる。
【００５１】
本発明の一実施形態では、ミキサ４０８は、分析部４０２、４０４、４０６からの追跡情報４０３、４０５、４０７に対して、分配値を割り当ててもよい。上述したように、入力コントロールデータの特定のセットが平均化されてもよい。しかしながら、本実施形態では、入力コントロールデータには平均化される前にある値が割り当てられ、これによって、一部の分析部からの入力コントロールデータが他の分析部からのデータよりも分析上より重要となっている。
【００５２】
例えば、ミキサ４０８は、加速度と安定状態に関連した追跡情報を要求してもよい。ミキサ４０８は次に、上記の通り、追跡情報４０３、４０５、４０７を受け取る。追跡情報には、例えば上述したような加速度および安定状態に関係するパラメータが含まれていてもよい。この情報を表すデータを平均化する前に、ミキサ４０８は、追跡情報データセット４０３、４０５、４０７に分配値を割り当ててもよい。例えば、慣性分析部４０２からのＸ加速度パラメータおよびＹ加速度パラメータが９０％の値で重み付けされてもよい。しかし、画像分析部４０６からのＸ加速度データおよびＹ加速度データが、わずか１０％しか重み付けされなくてもよい。加速度パラメータに関係する音響分析部の追跡情報４０７には０％の重みを与える、すなわちデータ値がなくてもよい。
【００５３】
同様に、慣性分析部４０２からのＺ軸追跡情報パラメータには１０％の重み付けがなされ、画像分析部のＺ軸追跡情報には９０％の重み付けがなされてもよい。音響分析部の追跡情報４０７には再度０％の重み付けがなされ、音響分析部４０６からの安定状態追跡情報には１００％の重み付けがなされ、残りの分析部の追跡情報には０％の重み付けがなされてもよい。
【００５４】
適当な分配重みが割り当てられた後、入力コントロールデータはその重みと一緒に平均されて加重平均された入力コントロールデータセットとなり、その後ジェスチャ認識部５０５により分析されてゲーム環境におけるある特定のアクションと関連付けられる。関連付けられる値は、ミキサ４０８または特定のゲームタイトルによって事前に定義されていてもよい。それらの値は、種々の分析部からのデータのうち特定の品質のものを識別しこれにより後述するようなダイナミック調節を行うミキサ４０８の結果であってもよい。また、この調節は、特定の環境においておよび／または所与のゲームタイトルの特有性に応じて、特定のデータが特定の値となる時期について過去の知識を構築した結果であってもよい。
【００５５】
ミキサ４０８はゲームプレイ中、ダイナミックに作動するように構成されていてもよい。例えば、ミキサ４０８が様々な入力コントロールデータを受け取るとき、あるデータが、許容できる範囲またはデータ品質から連続して外れていること、または、関連した入力装置で処理エラーが起こったことを示す破損データを反映していることなどを認識してもよい。
【００５６】
さらに、実世界環境では、特定の条件が変化する場合もある。例えば、家庭のゲーム環境では、午前から午後になると自然光が増加し、このために画像データの撮像に問題が生じる。さらに、日が進むにつれて近所や家の中が騒々しくなり、音響データの取り込みに問題が生じる。同様に、ユーザが数時間もプレイを続けると反射が段々シャープではなくなり、このために慣性データの解釈に問題が生じる。
【００５７】
これらの例、または入力コントロールデータの特定のフォームの品質が問題になるような他の例においては、ミキサ４０８は、上記のように、特定の入力コントロールデータに多少とも重要性が与えられるような特定の装置からの特定のデータセットに対しては、分配重みを動的に再割り当てしてもよい。同様に、ゲーム環境がゲームの流れの中で変わるために、特定のゲームへのニーズが変わって、その結果、特定の入力コントロールデータに対する数値やニーズの再割り当てが要求されてもよい。
【００５８】
同様に、ミキサ４０８は、ジェスチャ認識部５０５に渡されるデータのうち、処理間違いデータ、処理スピードの遅いデータ、または処理間違いやジェスチャ認識部５０５で生成されるデータのフィードバックにまったく基づかないデータがあることを認識してもよい。このフィードバックに応じて、またはこれらの処理上の困難（例えば、画像分析データが許容範囲内にある間、ジェスチャ認識部５０５によって関連付けられるときにはエラーが生じる）を認識して、ミキサ４０８は、どの分析部からの、どの時間の入力コントロールデータに対しても調節できる。ミキサ４０８はさらに、データを渡される前に、適切な分析部による入力コントロールデータの分析と処理を要求してもよく、そのことによって、データの再処理（例えば、データの平均）を行ってジェスチャ認識部５０５に渡すデータが効果的に適切に処理されることをさらに保証するようになされていてもよい。
【００５９】
ある実施形態では、ミキサ４０８は、特定のデータが破損している、無効である、または特定の変数から外れている、などを認識し、そのデータに関連した特定の入力コントロールデータや変数を要求し、それによって、間違ったデータを置換したり、または必要な変数に対してデータを適切に分析または計算するようになされていてもよい。
【００６０】
本発明による実施形態では、上述のタイプのビデオゲームシステムと方法は、図６に示すように実装することができる。ビデオゲームシステム６００は、プロセッサ６０１とメモリ６０２（例えば、ＲＡＭ、ＤＲＡＭ、ＲＯＭなど）を備える。さらに、ビデオゲームシステム６００は、並列処理が実装されるのであれば、複数のプロセッサ６０１を備えてもよい。メモリ６０２はデータとゲームプログラムコード６０４を備え、上述のように構成された部分を備える。具体的には、メモリ６０２は上述したような保存コントローラ経路情報を含む慣性信号データ６０６を備えてもよい。メモリ６０２は、保存ジェスチャデータ６０８、例えば、ゲームプログラム６０４に関連した一つ以上のジェスチャを表すデータなどを含んでもよい。プロセッサ６０２で実行されるコード化された命令には、上述のように構成され機能する複数入力ミキサ６０５が実装されていてもよい。
【００６１】
システム６００はさらに、入出力（Ｉ／Ｏ）装置６１１、電源（Ｐ／Ｓ）６１２、クロック（ＣＬＫ）６１３およびキャッシュ６１４などの公知のサポート機能６１０を備えてもよい。装置６００は任意に、プログラムおよび／またはデータ保存のためのディスクドライブ、ＣＤ−ＲＯＭドライブ、テープドライブなどの大容量記憶装置６１５を備えてもよい。コントローラは任意に、コントローラ６３０とユーザとの相互作用を容易にするために、ディスプレイ装置６１６とユーザインタフェース６１８を備えてもよい。ディスプレイ装置６１６は、テキスト、数値、グラフ記号や画像を表示する陰極線管（ＣＲＴ）、またはフラットパネルスクリーンの形であってもよい。ユーザインタフェース６１８は、キーボード、マウス、ジョイスティック、ライトペンや他の装置を備えてもよい。また、ユーザインタフェース６１８は分析対象の信号を直接取り込むために、マイクロホン、ビデオカメラ、またはその他の信号変換装置を備えてもよい。システム６００のプロセッサ６０１、メモリ６０２、および他の部品は図６に示すように、システムバス６２０を介して、互いに信号（例えばコード命令およびデータ）を交換してもよい。
【００６２】
マイクロホン配列６２２は、入出力装置６１１を介してシステム６００に接続されてもよい。マイクロホン配列は、約２〜約８個のマイクロホン、好ましくは約４個を、隣接のマイクロホンとは約４ｃｍ未満、好ましくは約１〜２ｃｍの距離離間して備えてもよい。好適には、配列６２２のマイクロホンは無指向性マイクロホンである。オプションの撮像装置６２３（例えばデジタルカメラ）は、入出力装置６１１を介して装置６００に接続されてもよい。カメラに機械的に接続された一つ以上の位置決めアクチュエータ６２５が、入出力装置６１１を介してプロセッサ６０１との間で信号を交換してもよい。
【００６３】
本明細書では、「入出力装置」という用語は、概してシステム６００との間および周辺装置との間でデータを送受信するプログラム、操作または装置のいずれかを指す。すべてのデータ送受信は、ある装置からの出力と別の装置への入力と考えてよい。周辺装置には、キーボードやマウスなどの入力専用装置、プリンタなどの出力専用装置に加えて、入力装置および出力装置の両方として作動できる書き込み可能ＣＤ-ＲＯＭなどの装置が含まれてもよい。「周辺装置」という言葉には、マウス、キーボード、プリンタ、モニタ、マイクロホン、ゲームコントローラ、カメラ、外部Ｚｉｐドライバまたはスキャナなどの外部装置に加えて、ＣＤ−ＲＯＭドライブ、ＣＤ−Ｒドライブまたは内部モデムなどの内部装置、または、フラッシュメモリ読み取りおよび書き込みハードドライブなどの他の周辺装置が含まれる。
【００６４】
本発明のある実施形態では、装置６００は、有線（例えばＵＳＢケーブル）または無線を通した入出力装置６１１を介してプロセッサに接続されたコントローラ６３０を具備したビデオゲーム装置であってもよい。コントローラ６３０は、ビデオゲームプレイ中に通常使用されるコントロール信号を提供するアナログジョイスティックコントロール６３１と既知のボタン６３３を具備してもよい。そのようなビデオゲームは、メモリ６０２、または大容量記憶装置６１５に関連する他のプロセッサ読み取り可能媒体に保存されるプログラム６０４からの、プロセッサ読み取り可能データおよび／または指令として実装されてもよい。いくつかの実施形態では、ミキサ６０５は、アナログジョイスティックコントロール６３１とボタン６３３から入力を受信できる。
【００６５】
ジョイスティックコントロール６３１は、通常、コントロールスティックを左右に動かすとＸ軸沿いの動きの信号を発信し、前後（上下）に動かすとＹ軸沿いの信号を発信するように構成されていてもよい。３次元の動き用に構成されたジョイスティックでは、スティックを左（反時計回り）または右（時計回り）に捻るとＺ軸沿いの動きの信号を発信してもよい。これらＸ，Ｙ，Ｚの３軸は、特に航空機に関する場合に、それぞれロール、ピッチ、ヨーと呼ばれることがある。
【００６６】
ゲームコントローラ６３０は、プロセッサ６０２およびゲームコントローラ６３０の少なくとも一つまたはその両方と、デジタル通信を行うように作動するコミュニケーションインタフェースを備えてもよい。コミュニケーションインタフェースは、万能非同期送受信機（universal asynchronous receiver transmitter：ＵＡＲＴ）を具備してもよい。ＵＡＲＴは、追跡装置の稼動を制御するための、または他の装置と通信するために追跡装置からの信号を送信するためのコントロール信号を受信するよう動作可能であってもよい。代替的に、コミュニケーションインタフェースはＵＳＢコントローラを備えてもよい。ＵＳＢコントローラは、追跡装置の操作を制御するための、または他の装置と通信するために追跡装置からの信号を送信するためのコントロール信号を受信するように動作可能であってもよい。
【００６７】
さらに、コントローラ６３０は、慣性信号を介して位置情報および／または方向情報をプロセッサ６０１に提供できる一つ以上の慣性センサ６３２を備えてもよい。方向情報には、コントローラ６３０の傾き、ロールまたはヨーなどの角度情報が含まれていてもよい。例示として、慣性センサ６３２には、任意の数の加速度計、ジャイロスコープまたは傾斜センサ、またはこれらの任意の組み合わせが含まれていてもよい。好適な実施形態では、慣性センサ６３２には、傾斜およびロール軸に対するゲームコントローラ６３０の方向を検知するように適応された傾斜センサ、ヨー軸沿いの加速度を検知するように適応された第１の加速度計、およびヨー軸に対する角加速度を検知するように適応された第２の加速度計を備える。加速度計は、例えば、一つ以上のばねで取り付けられた質量と一つ以上の方向に対する質量の変位を検知するセンサとを備えるＭＥＭＳ装置として実装されてもよい。質量の変位に依存するセンサからの信号は、ゲームコントローラ６３０の加速度決定に用いられてもよい。そのような技術は、メモリ６０２に保存されプロセッサ６０１によって実行されるゲームプログラム６０４からの命令によって実現される。
【００６８】
例示として、慣性センサ６３２として適した加速度計は、例えば、ばねなどで、フレームに３〜４点で伸縮自在に接続された単一の質量であってもよい。ピッチ軸とロール軸は、ゲームコントローラ６３０に設けられたフレームと交差する面に存在する。フレーム（およびゲームコントローラ６３０）がピッチ軸、ロール軸の回りを回転するにつれて、質量が重力の影響下で変位し、ばねがピッチ角および／またはロール角に依存する態様で伸縮する。質量の変位が検知され、ピッチ量および／またはロール量に依存した信号に変換される。ヨー軸回りの角加速度またはヨー軸沿いの線形加速度は、ばねの伸縮または質量の動きの特徴的なパターンを生成し、それらのパターンは検知されて角加速度量または線形加速度量に応じた信号に変換される。そのような加速度計装置は、質量の動きおよびばねの伸縮力を追跡することによって、傾斜、ヨー軸回りのロール角加速度およびヨー軸沿いの線形加速度を計測できる。質量の位置および／またはそれに働く力を追跡する方法には多くの違った方法があり、それらの方法には、抵抗歪みゲージ、音響センサ、磁気センサ、ホール効果素子、圧電素子、容量センサなどが含まれる。
【００６９】
また、ゲームコントローラ６３０は、発光ダイオード（ＬＥＤ）などの光源６３４を一つ以上含んでもよい。光源６３４は、コントローラを他のコントローラと識別するために用いられる。例えば、一つ以上のＬＥＤがあれば、ＬＥＤのパターンコードをぱっと光らせたり保持することで識別できる。例示として、ゲームコントローラ６３０上に５個のＬＥＤが直線または２次元模様で設けることができる。ＬＥＤを直線状に配列することが好ましいが、他の方法として、四角形またはアーチ状に配置して、撮像装置６２３で得られたＬＥＤパターン画像の分析時に、ＬＥＤ配列の画面の決定を容易にするようになされてもよい。さらに、ＬＥＤパターンコードは、ゲームプレイ中のゲームコントローラ６３０の位置決定にも使用できる。例えば、ＬＥＤは、コントローラの傾斜、ヨーおよびロールの特定を助けることができる。この検出パターンによって、例えば飛行機ゲームなどのゲームで、ユーザによりよい感情を提供できる。撮像装置６２３は、ゲームコントローラ６３０と光源６３４を含む像を撮影してもよい。そのような画像を分析すると、ゲームコントローラの位置および／または方向が決定できる。そのような分析は、メモリ６０２に保存されプロセッサ６０１で実行されるプログラムコード命令６０４によって実現されてもよい。撮像装置６２３による光源６３４の撮像を容易にするために、光源６３４は、ゲームコントローラ６３０の複数の異なる端部、例えば、前方と後方に配置してもよい（図６に影として示す）。そのような配置することによって、撮像装置６２３は、ユーザのゲームコントローラ６３０の保持の仕方に応じたゲームコントローラ６３０の種々の方向に対して、光源６３４の像を得ることができる。
【００７０】
さらに、光源６３４は、例えば、パルスコード、振幅変調または周波数変調フォーマットでテレメトリ信号をプロセッサ６０１に提供してもよい。そのようなテレメトリ信号は、いずれのジョイスティックボタンが押されているか、および／またはどれ位強くボタンが押されているかを表してもよい。テレメトリ信号は、例えばパルス符号化、パルス幅変調、周波数変調または光強度（振幅）変調などによって、光信号に符号化されてもよい。プロセッサ６０１は、光信号からテレメトリ信号を復号化し、復号化されたテレメトリ信号に応じてゲームコマンドを実行してもよい。テレメトリ信号は、撮像装置６２３で得られたゲームコントローラ６３０の画像の分析から復号化されてもよい。または、装置６００は、光源６３４からのテレメトリ信号受信専用の独立した光学センサを具備してもよい。コンピュータプログラムとのインタフェースにおける強度決定に併せてのＬＥＤの使用は、例えば、2006年5月4日出願の米国特許出願第11/429,414号の”Computer Image and Audio Processing of Intensity and Input Devices for Interfacing With A Computer Program”（代理人整理番号SONYP052）、発明者Richard L. Marks et al.に開示されており、その開示内容は全体として、参照により本明細書に援用される。また、光源６３４を含む画像の分析は、テレメトリおよびゲームコントローラ６３０の位置および／または方向の決定にも用いることができる。そのような技術は、メモリ６０２に保存されプロセッサ６０１によって実行されるプログラム６０４の命令によって実現されてもよい。
【００７１】
プロセッサ６０１は、撮像装置６２３で検出された光源６３４からの光信号、および／またはマイクロホン配列６２２によって検出された音響信号からの音源場所と音源特性情報と共に、慣性センサ６３２からの慣性信号を用いて、コントローラ６３０および／またはユーザの場所および／または方向に関する情報を推測してもよい。例えば、「音響レーダ」の音源場所およびその特性は、マイクロホン配列６２２と共に用いられて、ゲームコントローラの動きが（慣性センサ６３２および／または光源６３４を通して）独立に追跡されている間、移動音源を追跡する。音響レーダ選択において、較正済み聴取領域が実行時間中に選択され、較正済み聴取領域以外の音源から発生した音はフィルタされて除かれる。較正済み聴取領域は、撮像装置６２３の焦点または視野にある音量に対応した聴取領域を含んでいてもよい。音響レーダの例は、2006年5月4日出願の米国特許出願第11/381,724号の”METHODS AND APPARATUS FOR TARGETED SOUND DETECTION AND CHARACTERIZATION”、発明者Xiadong Maoに詳細に開示されており、その開示内容は参照により本明細書に援用される。コントロール信号をプロセッサ６０１に供給するための種々の形態を種々組み合わせたものも、本発明の実施形態と併せて用いられてもよい。そのような技術は、メモリ６０２に保存されプロセッサ６０１で実行されるプログラムコード命令６０４によって実現されてもよく、また、任意に、実行時間中は較正済み聴取領域を選択し、較正済み聴取領域以外の音源から発生した音はフィルタをかけて除くための一つ以上のプロセッサを指揮する一以上の指令を含んでもよい。較正済み聴取領域は、撮像装置６２３の焦点または視野にある音量に対応した聴取領域を含んでいてもよい。
【００７２】
プログラム６０４は任意に、マイクロホン配列６２２のマイクロホンM０〜MMから離散時間領域入力信号Ｘｍ（t）を生成し、聴取セクタを決定し、有限インパルス応答フィルタ係数を選択するセミブラインド（semi-blind）音源分離において聴取セクタを用いて、入力信号Ｘｍ(t)から異なる音源を分離する一つ以上のプロセッサを指揮する一以上の命令を含んでもよい。プログラム６０４には、基準マイクロホンＭ０からの入力信号Ｘ０（ｔ）以外の選択入力信号Ｘｍ（ｔ）に、一つ以上の非整数遅延（fractional delay）を適用する命令をさらに備えてもよい。マイクロホン配列からの離散時間領域出力信号ｙ（ｔ）の信号対雑音比を最適化するために、各非整数遅延が選択されてもよい。非整数遅延は、基準マイクロホンＭ０からの信号が、配列の他のマイクロホンからの信号に対して最初であるように選択されてもよい。プログラム６０４は、非整数遅延Δを、y(t+Δ) = x(t+Δ)*b0 + x(t-1+Δ)*b1 + x(t-2+Δ)*b2 +…+ x(t-N+Δ)bNとなるようにマイクロホン配列の出力信号ｙ（ｔ）に導入する命令を含んでもよい。ここで、Δは０〜±１である。そのような技術の例は、2006年5月4日出願の米国特許出願第11/381,729号"ULTRA SMALL MICROPHONE ARRAY"、発明者Xiadong Maoに詳細に開示されており、その開示内容は参照により本明細書に援用される。
【００７３】
プログラム６０４は、実行されると、システム６００に、音源を含んだ事前較正済み聴取領域を選択させる一つ以上の命令を含んでもよい。そのような命令によって、音源が最初の領域内にあるか、またはその領域の特定の側にあるか否かを装置が判断するようになされていてもよい。音源が初期設定領域内に存在しない場合、命令は、実行時に、初期設定領域の特定の側にある別の領域を選択してもよい。別の領域は、最適値に最も近い入力信号の減衰によって特徴付けられてもよい。これらの命令は、実行されると、マイクロホン配列６２２からの入力信号の減衰と最適値への減衰を計算してもよい。命令は、実行されると、装置６００が、一つ以上の領域に対する入力信号の減衰値を決定し、減衰が最適値に最も近い領域を選択するようになされてもよい。そのような技術の例は、2006年5月4日出願の米国特許出願第11/381,725号の"METHOD AND APPARATUS FOR TARGETED SOUND DETECTION"、発明者Xiadong Maoに開示されており、その開示内容は参照により本明細書に援用される。
【００７４】
慣性センサ６３２からの信号は追跡情報入力の一部を提供し、撮像装置６２３による一つ以上の光源６３４の追跡から生成された信号は追跡情報入力の別の部分を提供する。例示として、またいかなる限定を行うことなく、そのような「混合モード」の信号は、フットボールタイプのビデオゲームで用いられ、ここでは、クォータバックが頭を左に動かすフェイントをかけた後ボールを右に投げる。具体的には、コントローラ６３０を保持したゲームプレイヤは、頭を左に向け、フットボールでするように、コントローラを右に振って投げる動作をしながら声を出す。「音響レーダ」プログラムコードと併せて、マイクロホン配列６２２はユーザの声を追跡できる。撮像装置６２３は、ユーザの頭の動きや、または、音やコントローラを必要としない他の命令を追跡できる。センサ６３２はゲームコントローラ（フットボールを表す）の動きを追跡してもよい。撮像装置６２３はまた、コントローラ６３０の光源６３４を追跡してもよい。ユーザは、ゲームコントローラ６３０の加速度がある量、および／またはある方向に達したとき、またはコントローラ６３０のボタンを押してトリガされるキーコマンドに基づいて、「ボール」を投げることができる。
【００７５】
本発明のある実施形態では、加速度計またはジャイロスコープなどからの慣性信号は、コントローラ６３０の位置決めに用いられてもよい。具体的には、加速度計からの加速度信号は、速度変化を決定するために一旦時間積分されてもよく、速度は位置変化を決定するために時間積分されてもよい。ある時刻における初期位置と速度が既知であれば、これらの値と速度および位置変化とを用いて絶対位置を決定できる。慣性センサを用いた位置決定は、撮像装置６２３や光源６３４を用いる方法よりも早く行えるが、慣性センサ６３２は「ドリフト」として知られるタイプの誤差が起こりやすい。これは、時間と共に累積される誤差によって、慣性信号から計算されるジョイスティックの位置（図６に影で示す）とゲームコントローラの実際の位置との間で不一致Ｄが生じうる現象である。本発明の実施形態では、様々な方法でそのような誤差を処理できる。
【００７６】
例えば、コントローラ６３０の初期位置を現在の計算位置と等しくなるように設定することにより、ドリフトを手動でキャンセルすることができる。ユーザは、コントローラ６３０の一つ以上のボタンを使って、初期位置を再設定する命令をトリガできる。代替的に、画像ベースのドリフトであれば、撮像装置６２３から得られた基準となる画像から決定される位置に現在位置を再設定することによりキャンセルすることができる。そのような画像ベースのドリフトに対する補償は、例えば、ユーザがゲームコントローラ６３０の一つ以上のボタンをトリガするときに、手動で行うことができる。または、画像ベースのドリフトに対する補償は、例えば、一定の間隔で、またはゲームプレイに応じて自動的に行える。そのような技術は、メモリ６０２に保存されプロセッサ６０１によって実行されるプログラムコード命令６０４によって実現される。
【００７７】
ある実施形態では、慣性センサ信号の誤りデータを補正することが望ましい。例えば、慣性センサ６３２からの信号をオーバーサンプリングし、オーバーサンプリングされた信号から移動平均（sliding average）を計算して、慣性センサ信号から誤りデータを取り除くことができる。ある状況では、信号をオーバーサンプリングし、高い値および／または低い値をデータポイントの一部のサブセットから除き、残りのデータポイントから移動平均を計算することが望ましい。また、慣性センサからの信号を調節して誤りデータから優位性を除去または軽減する他のデータサンプリング技術やデータ処理技術も使用できる。いずれの技術を選択するかは、信号の性質、信号に対しての計算、ゲームプレイの性質、またはこれらの複数の組み合わせに依存する。そのような技術は、メモリ６０２に保存されプロセッサ６０１によって実行されるプログラム６０４の命令によって実現される。
【００７８】
プロセッサ６０１は、上述のように、データ６０６と、メモリ６０２に保存、検索されプロセッサモジュール６０１によって実行されるプログラム６０４のプログラムコード命令とに応じて、慣性信号データ６０６の分析を実行する。プログラム６０４のコード部分は、アセンブリ、Ｃ＋＋、ＪＡＶＡ（登録商標）またはその他の多くの言語などの多くの異なるプログラム言語のいずれにも準拠してよい。プロセッサモジュール６０１は、プログラムコード６０４などのプログラムを実行するときに専用コンピュータとなる汎用コンピュータを形成する。ここでは、プログラムコード６０４はソフトウェアに組み込まれ、汎用コンピュータで実行されるように説明したが、当業者には、タスク管理方法は、別の方法として、特定用途向け集積回路（ＡＳＩＣ）やその他のハードウェア回路などのハードウェアを用いて実現されることは理解されるであろう。このように、本発明の実施形態は、全体であれ一部分であれ、ソフトウェア、ハードウェアおよびその両方の組み合わせで実現されることは理解されるべきである。
【００７９】
ある実施形態では、とりわけ、プログラムコード６０４は、図５Ｂの方法５１０と図５Ｃの方法５２０、またはこれらの複数の組み合わせに共通な特長を持った方法を実現するプロセッサ読み取り可能な命令セットを備えてもよい。プログラムコード６０４は、通常、一つ以上のプロセッサを指揮する一つ以上の命令を備えていて、慣性センサ６３２からの信号を分析し、位置情報および／または方向情報を生成して、ビデオゲームプレイ中、その情報を活用する。
【００８０】
プログラムコード６０４は、実行されると、撮像装置６２３に、前方の視野を監視し、視野内の一つ以上の光源６３４を特定し、光源６３４からの光の変化を検出させ、変化の検出に応じてプロセッサ６０１に対する入力指令をトリガさせる、一つ以上の命令を含んだプロセッサ実行可能指令を任意に備えてもよい。ゲームコントローラのアクションをトリガするために撮像装置と共にＬＥＤを使用することは、2004年1月16日出願の米国特許出願第10/759,782号の"METHOD AND APPARATUS FOR LIGHT INPUT DEVICE"、発明者Richard L. Marksに開示されており、その開示内容は参照により本明細書に援用される。
【００８１】
プログラムコード６０４は、実行されると上述のように、ゲームシステムへの入力として、慣性センサからの信号と一つ以上の光源を追跡する撮像装置からの信号とを用いる一つ以上の命令を含むプロセッサ実行可能な命令を、任意に含んでもよい。プログラムコード６０４は、実行されると、慣性センサ６３２のドリフトを補償する一つ以上の命令を含むプロセッサ実行可能な命令を、任意に備えてもよい。
【００８２】
さらに、プログラムコード６０４は、実行されると、ゲーム環境に対するコントローラ操作のギアリングおよびマッピングを調整する一つ以上の命令を含むプロセッサ実行可能な命令を、任意に備えてもよい。そのような特徴によって、ユーザは、ゲームコントローラ６３０の操作のゲーム状態に対する「ギアリング（比率）」を変えることができる。例えば、ゲームコントローラ６３０を４５°回転させると、ゲーム物体の４５°回転に一致する。しかし、この１：１伝動比は、コントローラのＸ°回転（または傾斜、ヨー、「操作」）がゲーム物体のＹ°回転（または傾斜、ヨー、「操作」）に変わるように変更できる。伝動比は１：１、１：２、１：ＸまたはＸ：Ｙにできる。ここでＸ，Ｙは任意の値である。さらに、ゲームコントローラへの入力チャネルのマッピングも、時間をかけて、または即座に変更できる。変更は、ジェスチャの軌跡モデルの変更、位置、スケール、ジェスチャしきい値などの変更を含む。そのようなマッピングは、ユーザに操作上のダイナミックレンジを提供するために、プログラム化されてもよいし、ランダムであってもよいし、段階的（tiered）であってもよいし、互い違い（staggered）であってもよい。マッピング、ギアリングまたは伝動比の変更は、ゲームコントローラ６３０にあるユーザ変更ボタン（キーパッドなど）を介したゲームプレイ、ゲーム状態に応じて、または広くは入力チャネルに応じて、ゲームプログラム６０４によって調節される。入力チャネルは、ユーザ音、コントローラで生成される音、コントローラで生成される音の追跡、コントローラボタン状態、ビデオカメラ出力、および、加速度計データ、傾斜、ヨー、ロール、位置、加速度、およびユーザまたはユーザが操作する物体を追跡できる他の任意のセンサからのデータを含むコントローラ遠隔操作データを含むことができるが、これらに限定されない。
【００８３】
ある実施形態では、ゲームプログラム６０４は、所定の時間依存態様において、あるスキームからの経過時間によるマッピングまたはギアリング、または別のスキームへの伝動比を、それぞれ変更することができる。ギアリングとマッピング変更は、種々の方法でゲーム環境に応用できる。一例では、ビデオゲームキャラクタは、キャラクタが健康なときには一つのギアリングスキーム下でキャラクタを制御し、キャラクタの健康が損なわれるにつれて、キャラクタにコマンドをジェスチャで伝えるためのコントローラの動きに悪影響を及ぼすように、システムがコントローラコマンドを適合させることもできる。方向感覚を失ったビデオゲームキャラクタには、ユーザとしての入力チャネルマッピングを変更しなければならず、例えば、新しいマッピングの下でキャラクタのコントロールを取り戻すように入力調節するよう要求してもよい。入力チャネルのゲームコマンドへの変換を変更するマッピングスキームは、ゲームプレイ中に変わってもよい。この変換は、ゲーム状態に応じて、または入力チャネルの一つ以上の要素の下で発行された修正コマンドに応じて、様々な方法で発生する。ギアリングおよびマッピングは、入力チャネルの一つ以上の要素の構成および／または処理に影響を及ぼすように構成されてもよい。
【００８４】
さらに、例えばスピーカ、ブザー、ホーンまたはパイプなどのサウンドエミッタ６３６がジョイスティックコントローラ６３０に取り付けられてもよい。ある実施形態では、サウンドエミッタはジョイスティックコントローラ６３０の「本体」に脱着可能に取り付けられてもよい。プログラムコード６０４によってマイクロホン配列６２２で検出した音の場所が特定され特性が明らかになる「音響レーダ」の実施例では、サウンドエミッタ６３６が、マイクロホン配列６２２によって検出可能でありプログラムコード６０４で用いられてゲームコントローラ６３０の位置を追跡する音響信号を提供してもよい。サウンドエミッタ６３６はさらに、ゲームコントローラ６３０からプロセッサ６０１へ、追加の「入力チャネル」を提供するように用いられてもよい。サウンドエミッタ６３６からの音響信号は、周期的にパルス化され、音響レーダが場所を追跡するためのビーコンを提供してもよい。音響信号（パルス化されたものまたはその他）は、可聴であっても超音波であってもよい。音響レーダはユーザのゲームコントローラ６３０の操作を追跡し、この場合、そのような操作の追跡には、ゲームコントローラ６３０の位置および方向に関する情報（例えば、ピッチ角、ロール角、ヨー角など）が含まれてもよい。パルスは、当業者が適用可能な適当なデューティサイクルでトリガされてもよく、また、システムから調整されたコントロール信号に基づいて開始されてもよい。システム６００は、（プログラムコード６０４を介して）プロセッサ６０１に接続された複数のジョイスティックコントローラ６３０の間でコントロール信号の送信を調整し、複数のコントローラの追跡が可能なことを保証してもよい。
【００８５】
ある実施形態では、ミキサ６０５は、アナログジョイスティックコントロール６３１やボタン６３３など、ゲームコントローラ６３０の既知のコントロールから受信した入力を使って、ゲームプログラム６０４の実行を制御するための入力を取得するように構成されてもよい。具体的には、ミキサ６０５の受信は、コントローラ６３０からのコントローラ入力情報の受信であってよい。コントローラ入力情報は、ａ）ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはｂ）ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含んでもよい。ミキサ６０５はさらに、コントローラ６３０が使用されている環境から追加入力情報を受け取ってもよい。例示として、またいかなる限定を行うことなく、追加入力情報には、ｉ）環境中の撮像装置（例えば、撮像装置６２３）から得られる情報、および／または、ｉｉ）ゲームコントローラまたはユーザの少なくとも一つに関連付けられた慣性センサ（例えば、慣性センサ６３２）からの情報、および／または、ｉｉｉ）環境中の音響トランスデューサから得られる音響情報（例えば、マイクロホン配列６２２からの音響情報、場合によってはサウンドエミッタ６３６で生成された音響信号とともに）、の一つ以上を含んでもよい。
【００８６】
コントローラ入力情報にはさらに、圧力感知式ボタンが作動中であるか否かを特定する情報が含まれてもよい。
ミキサ６０５は、コントローラ入力情報と追加入力情報とを処理して組合せ入力を求めることによって、ゲームプログラムの実行を制御するための組合せ入力を求めてもよい。
【００８７】
組合せ入力には、ゲームプログラム６０４実行中のそれぞれ個々の機能を制御する個々の融合された入力が含まれてもよい。個々の融合された入力の少なくとも一部は、特定の個々の機能に関連したコントローラ入力情報と特定の個々の機能に関連した追加入力情報とを融合することによって、求めることができる。組合せ入力には、ゲームプログラム６０４実行中の機能を制御する融合された入力を含む。融合された入力の少なくとも一部は、機能に関連したコントローラ入力情報と機能に関連した追加入力情報とを融合することによって、求めることができる。そのような場合、コントローラ入力情報を表す値と追加入力情報を表す値とを平均することで、融合を実行してもよい。例示として、コントローラ入力情報の値は、追加入力情報の値と１：１の割合で平均されてもよい。代替的に、コントローラ入力情報と追加入力情報にはそれぞれ異なる重みが割り当てられ、割り当てられた重みに応じてコントローラ入力情報の値と追加入力情報の値との加重平均として、平均を求めてもよい。
【００８８】
いくつかの実施形態では、コントローラ入力情報または追加入力情報の最初のものの値を、コントローラ入力情報または追加入力情報の第２のものの少なくとも一つに応じて起動される依然としてアクティブな機能に対する制御を修正するためのゲームプログラムに対する修正入力として、利用することができる。追加入力情報には、慣性センサ６３２の作動によって得られる慣性センサ情報、および／またはユーザの移動可能な物体の方向を表す方向情報が含まれてもよい。代替的に、追加入力情報には、ユーザの移動可能な物体の位置または方向の少なくとも一つを示す情報が含まれてもよい。本明細書において、ユーザの移動可能な物体とは、コントローラ６３０、またはコントローラ６３０本体に取り付けられた物を指してもよい。追加入力情報は、ユーザの移動可能な物体の方向を示す情報を含んでいてもよい。例示として、そのような方向情報には、ピッチ、ヨーまたはロールのうち少なくとも一つを示す情報が含まれてもよい。
【００８９】
いくつかの実施形態では、コントロールスティック（例えばアナログスティック６３１の一つ）の位置を表すコントローラ入力情報の値と、ユーザの移動可能な物体の方向を表す追加入力情報の値とを融合することによって、組合せ入力を求めてもよい。上述のように、ユーザの移動可能な物体は、ゲームコントローラ６３０に取り付けられた物体、および／またはゲームコントローラ６３０であってもよい。ピッチを正の値（上昇）へと増加させつつコントロールスティックを後方に動かすとき、組合せ入力が増大されたピッチアップ入力を反映してもよい。同様に、ピッチを負の値（下降）へと減少させつつコントロールスティックを前方に動かすとき、組合せ入力が増大されたピッチダウン入力を反映してもよい
【００９０】
大まかな制御情報としてコントロールスティックの位置を表すコントローラ入力情報の値を割り当て、微細な制御情報としてユーザが移動可能な物体の方向を表す追加入力情報の値を割り当てることによって、組合せ入力を求めてもよい。代替的に、大まかな制御情報としてゲームコントローラのスイッチが作動中であるか否かを特定するコントローラ入力情報の値を割り当て、微細な制御情報としてユーザが移動可能な物体の方向を表す追加入力情報の値を割り当てることによって、組合せ入力を求めてもよい。さらに、大まかな制御情報としてユーザが移動可能な物体の方向を表す追加入力情報の値を割り当て、微細な制御情報としてコントロールスティックの位置を表すコントローラ入力情報の値を割り当てることによって、組合せ入力を求めてもよい。さらに、微細な制御情報としてゲームコントローラのスイッチが作動中であるか否かを特定するコントローラ入力情報の値を割り当て、大まかな制御情報としてユーザが移動可能な物体の方向を表す追加入力情報の値を割り当てることによって、組合せ入力を求めてもよい。これらの場合のいずれか、またはすべての場合において、組合せ入力は、微細な制御情報に応じて比較的わずかな量だけ調節された大まかな制御情報の値を表してもよい。
【００９１】
いくつかの実施形態では、コントローラ入力情報によって表される値と追加入力情報によって表される値とを加算的に組み合わることによって組合せ入力が求められ、その結果、組合せ入力が、コントローラ入力情報または追加入力情報の値のいずれか単独の値よりも小さな値を持つ信号を提供するようにしてもよい。または、組合せ入力が、コントローラ入力情報または追加入力情報の値のいずれか単独の値よりも時間変化がよりゆるやかな平滑化された値を持つ信号をゲームプログラムに対して提供するようにしてもよい。組合せ入力が、増大した信号内容を有する高解像度信号をゲームプログラムに対して提供するようにしてもよい。高解像度信号は、コントローラ入力情報または追加入力情報の値のいずれか単独の値よりも急速な時間変化にさらされてもよい。
本発明の実施形態をビデオゲームコントローラ６３０に関連する例として記述したが、システム６００を含む本発明の実施形態は、慣性センシング能力を有し、かつ無線であれそれ以外の方法であれ慣性センサ信号送信能力を有するユーザにより操作される本体、成型品、ノブ、または構造物などのいずれにも使用することができる。
【００９２】
例示として、本発明の実施形態は、並列処理システムに実装することができる。このような並列処理システムは、通常、別々のプロセッサを用いて並列にプログラムの一部を実行するように構成される複数のプロセッサを備える。例示として、また限定を行うことなく、図７は本発明の実施形態によるあるタイプのセルプロセッサ７００を示す。セルプロセッサ７００は、図６のプロセッサ６０１、または図５Ａのプロセッサ５０２として使用することができる。図７の例では、セルプロセッサ７００は、メインメモリ７０２、パワープロセッサ要素（power processor element：ＰＰＥ）７０４、および多数の相乗的プロセッサ要素（synergistic processor element：ＳＰＥ）７０６を備える。図７の例では、セルプロセッサ７００は、１個のＰＰＥ７０４と８個のＳＰＥ７０６とを備える。このような構成では、７個のＳＰＥ７０６が並列処理に用いられ、１個は他の７個の一つが故障したときのバックアップとして確保されている。代替的に、セルプロセッサは、複数のＰＰＥからなる複数のグループ（ＰＰＥグループ）と、複数のＳＰＥからなる複数のグループ（ＳＰＥグループ）とを備えてもよく、そのような場合、１グループ内の各ユニットでハードウェアリソースが共有される。しかしながら、ＳＰＥとＰＰＥは、ソフトウェアにとって独立要素であるように見える必要がある。このように、本発明の実施形態は、図７に示される構成での使用に限定されるものではない。
【００９３】
メインメモリ７０２は、通常、汎用の不揮発性記憶装置に加えて、システム構成、データ同期転送、メモリーマップドＩ／Ｏ、およびＩ／Ｏサブシステムなどの機能に用いられる専用のハードウェアレジスタまたはアレイも備える。本発明の実施形態では、ビデオゲームプログラム７０３がメインメモリ７０２内に常駐してもよい。ビデオプログラム７０３は、図４、図５Ａ、図５Ｂおよび図５Ｃについて上述したような、またはこれらの組み合わせで表わされる慣性分析部、画像分析部、音響分析部、およびミキサを備えてもよい。プログラム７０３は、ＳＰＥおよび／またはＰＰＥで実行される複数の信号処理タスクに分割されてもよい。
【００９４】
例示として、ＰＰＥ７０４は、関連するキャッシュＬ１およびＬ２を持った６４ビットのパワーＰＣプロセッサユニット（ＰＰＵ）であってもよい。ＰＰＥ７０４は、システム管理リソース（例えば、メモリ保護テーブルなど）にアクセス可能な汎用処理装置である。ハードウェアリソースは、ＰＰＥに見られるように実アドレス空間に明示的にマップされてもよい。したがって、ＰＰＥは適当な実効アドレス値を用いて、直接これらのリソースのいずれにでもアドレス指定できる。ＰＰＥ７０４の主な機能は、セルプロセッサ７００のＳＰＥ７０６に対するタスク管理とタスク割り当てである。
【００９５】
図７では１個のＰＰＥだけが示されているが、セルブロードバンドエンジンアーキテクチャ（ＣＢＥＡ）などのセルプロセッサ実装では、セルプロセッサ７００は、複数のＰＰＥが存在するＰＰＥグループに系統だてられた複数のＰＰＥを有してもよい。これらのＰＰＥグループはメインメモリ７０２へのアクセスを共有してもよい。さらに、セルプロセッサ７００は二つ以上のＳＰＥを備えてもよい。ＳＰＥグループもメインメモリ７０２へのアクセスを共有してもよい。このような構成も本発明の範囲内である。
【００９６】
ＳＰＥ７０６のそれぞれは、ＳＰＵと独自のローカル記憶領域ＬＳとを含む。ローカル記憶領域ＬＳは、メモリ記憶内の一つ以上の分離領域を備えており、それぞれの領域は専用のＳＰＵと関連付けられている。各ＳＰＵは、独自の関連付けられた記憶領域内からの命令（データロードとデータ保存操作とを含む）だけを実行するように構成されてもよい。そのような構成では、ローカル記憶領域ＬＳとシステム７００のそれ以外の間とのデータ転送は、メモリフローコントローラ（ＭＦＣ）からダイレクトメモリアクセス（ＤＭＡ）命令を出すことによって行われ、（個々のＳＰＥの）ローカル記憶領域との間でデータ転送される。なんらシステム管理機能を果たさないＳＰＵは、ＰＰＥ７０４よりは簡単な構造のコンピュータ装置である。ＳＰＵは、一般にＳＩＭＤ（single instruction, multiple data）機能を有し、通常はデータ処理を行い、割り当てられたタスクを行うために（ＰＰＥにより設定されたアクセス特性にしたがって）要求されたデータ転送を開始する。ＳＰＵの目的は、より高いコンピュータ装置密度を要求するアプリケーションを可能として、提供された命令セットを有効に利用できるようにすることである。ＰＰＥ７０４で管理されるシステムにおけるかなり多くのＳＰＥは、広範囲のアプリケーションにおいて費用効果の高い処理を可能にする。
【００９７】
各ＳＰＥ７０６は、メモリ保護情報とアクセス許可情報を保持し処理できる関連メモリ管理ユニットを備えた専用のメモリフローコントローラ（ＭＦＣ）を備えている。ＭＦＣは、セルプロセッサのメイン記憶とＳＰＥのローカル記憶間でのデータ転送、保護および同期化のための主要な方法を提供する。ＭＦＣ命令は実行される転送を記述する。データ転送命令は、ＭＦＣダイレクトメモリアクセス（ＤＭＡ）命令（またはＭＦＣＤＭＡ命令）と呼ばれることがある。
【００９８】
各ＭＦＣは、同時に複数のＤＭＡ転送をサポートし、複数のＭＦＣ命令を維持、処理してもよい。各ＭＦＣＤＭＡデータ転送命令要求は、ローカルストレージアドレス（ＬＳＡ）と有効アドレス（ＥＡ）の両方を伴ってもよい。ローカルストレージアドレスは、関連するＳＰＥのローカルストレージアドレスだけに直接アドレス指定できる。実効アドレスは、例えば、実アドレス空間に名前を変えられれば、すべてのＳＰＥローカルストレージ領域を含むメイン記憶を参照できるなどの、もっと一般的なアプリケーションを備えてもよい。
【００９９】
ＳＰＥ７０６同士の間、および／またはＳＰＥ７０６とＰＰＥ７０４との間の通信を容易にするために、ＳＰＥ７０６とＰＰＥ７０４は、シグナリングイベントに関する信号通知レジスタを備えてもよい。ＰＰＥ７０４とＳＰＥ７０６は、ＰＰＥ７０４がＳＰＥ７０６にメッセージを送信するルータのように働くスター構成（topology）によって接続されてもよい。代替的に、各ＳＰＥ７０６とＰＰＥ７０４は、メールボックスと呼ばれる一方向信号通知レジスタを有してもよい。メールボックスは、ＳＰＥ７０６によって使用されＯＳの同期操作を主催する。
【０１００】
セルプロセッサ７００は、マイクロホン配列７１２、任意の撮像装置７１３およびゲームコントローラ７３０などの周辺装置とインタフェースできる入出力（Ｉ／Ｏ）機能を備えてもよい。ゲームコントローラユニットは慣性センサ７３２と光源７３４を備えてもよい。さらに、要素相互接続バス７１０は、上記に挙げた種々の部品を接続できる。各ＳＰＥおよびＰＰＥは、バスインタフェースユニット（ＢＩＵ）を介してバス７１０にアクセスできる。セルプロセッサ７００は、通常プロセッサに見られる二つのコントローラと、バス７１０とメインメモリ７０２の間のデータ流れを制御するメモリインタフェースコントローラ（ＭＩＣ）と、Ｉ／Ｏ７０８とバス７１０の間のデータ流れを制御するバスインタフェースコントローラ（ＢＩＣ）とを備えてもよい。ＭＩＣ、ＢＩＣ，ＢＩＵおよびバス７１０に対する要件は、実装が異なると大きく変わるが、当業者はそれらの機能および実装回路については精通しているだろう。
【０１０１】
セルプロセッサ７００は、内部割り込みコントローラ（ＩＩＣ）を備えてもよい。ＩＩＣ装置は、ＰＰＥに提示される割り込みの優先権を管理する。ＩＩＣによって、セルプロセッサ７００の他の要素からの割り込みを、メインシステムの割り込みコントローラを用いずに処理できる。ＩＩＣは第２レベルのコントローラと考えることもできる。メインシステムの割り込みコントローラは、セルプロセッサの外部で発生した割り込みを処理してもよい。
【０１０２】
本発明の実施形態では、上述の非整数遅延などの計算は、ＰＰＥ７０４および／または一つ以上のＳＰＥ７０６を用いて並列に実行されてもよい。各非整数遅延計算は、使用可能な異なるＳＰＥ７０６が別々に請け負う一つ以上の別々のタスクとして実行されてもよい。
【０１０３】
上記は、本発明の好適な実施形態に関する完全な記述であるが、種々の変形、変更および等価物を用いることが可能である。したがって、本発明の技術範囲は、上記の内容を参照して決定されるべきではなく、その代わりに、添付の特許請求の範囲およびそれらの等価物の全範囲と併せて決定されるべきである。本明細書で説明した好適なまたはそれ以外のすべての特徴は、本明細書に記載された他の好適なまたはそれ以外のいかなる特徴とも組み合わせることができる。特許請求の範囲においては、不定冠詞“Ａ”または“Ａｎ”は、特にそうでないと明確に述べられた場合を除いて、冠詞に続く品目の一つ以上の数量を指す。添付の特許請求の範囲は、”means for”の句を使って明確にそのような限定が行われない限り、ミーンズプラスファンクションの限定が含まれると解釈されるべきではない。
【０１０４】
優先権の主張
本出願は、2006年5月4日出願の”ULTARA SMALL MICROPHONE ARRAY”、米国特許出願第11/381,729号、発明者Xiao Dong Mao；2006年5月4日出願の”ECHO AND NOISE CANCELLATION”、米国特許出願第11/381,728号、発明者Xiao Dong Mao；2006年5月4日出願の”METHOD AND APPARATUS FOR TARGETED SOUND DETECTION“、発明者Xiao Dong Mao；2006年5月4日出願の”NOISE REMOVAL FOR ELECTRONIC DEVICE WITH FAR FIELD MICROPHONE CONSOLE”、米国特許出願第11/381,727号、発明者Xiao Dong Mao；2006年5月4日出願の”METHODS AND APPARATUS FOR TARGETED SOUND DETECTION AND CHARACTERIZATION”、米国特許出願第11/381,724号、発明者Xiao Dong Mao；および2006年5月4日出願の”SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACIVE PROCESSING”、米国特許出願第11/381,721号、発明者Xiao Dong Maoに対して優先権を主張し、その全開示内容が参照により本明細書に援用される。
【０１０５】
本出願は、2006年5月4日出願の”METHODS AND APPARATUS FOR ADJUSTING A LISTENING AREA FOR CAPTURING SOUNDS”、同時係属米国特許出願第11/418,988号、発明者Xiao Dong Mao；2006年5月4日出願の”METHODS AND APPARATUSES FOR CAPTURING AN AUDIO SIGNAL BASED ON VISUAL IMAGE”、同時係属米国特許出願第11/418,989号、発明者Xiao Dong Mao；2006年5月4日出願の”METHODS AND APPARATUS FOR CAPTURING AN AUDIO SIGNAL BASED ON A LOCATION OF THE SIGNAL”、同時係属出願第11/429,047号,発明者Xiao Dong Mao；2006年5月4日出願の”SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACTIVE PROCESSING”、同時係属出願第11/429,133号、発明者Richard Marks et al.；および2006年5月4日出願の”Computer Image and Audio Processing of Intensity and Input Devices for Interfacing With A Computer Program”、同時係属出願第11/429,414号、発明者Richard Marks et al.に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１０６】
本出願はさらに、2006年5月6日出願の”MULTI-INPUT GAME CONTROL MIXER”、米国特許出願第11/382,031号；2006年5月6日出願の”SYSTEM FOR TRACKING USER MANIPULATIONS WITHIN AN ENVIRONMENT”、米国特許出願第11/382,032号；2006年5月6日出願の”SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL”、米国特許出願第11/382,033号；2006年5月6日出願の”INERTIALLY TRACKABLE HAND-HELD CONTROLLER”、米国特許出願第11/382,035号；2006年5月6日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO VISUAL TRACKING”、米国特許出願第11/382,036号；2006年5月7日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO INERTIAL TRACKING”、米国特許出願第11/382,041号；および2006年5月6日出願の”SYSTEM FOR APPLYING GEARING EFFECTS TO ACOUSTIC TRACKING”、米国特許出願第11/382,038号；2006年5月7日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO MULTI-CHANNEL MIXED INPUT”、米国特許出願第11/382,040号；2006年5月6日出願の”SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY”、米国特許出願第11/382,034号；2006年5月6日出願の”SCHEME FOR TRANSLATING MONEMENTS OF A HAND-HELD CONTROLLER INTO INPUTS FOR A SYSTEM”、米国特許出願第11/382,O37号；2006年5月7日出願の”DETECTABLE AND TRACKABLE HAND-HELD CONTROLLER”、米国特許出願第11/382,043号；2006年5月7日出願の”METHOD FOR MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO GAME COMMANDS”、米国特許出願第11/382,039号；2006年5月6日出願の”CONTROLLER WITH INFRARED PORT”、米国意匠出願第29/259,349号；2006年5月6日出願の”CONTROLLER WITH TRACKING SENSORS”、米国意匠出願第29/259,350号；2006年5月6日出願の”DYNAMIC TARGET INTERFACE”、米国特許出願第60/798,031号；および2006年5月8日出願の”OBTAINING INPUT FOR CONTROLLING EXECUTION OF A GAME PROGRAM”、米国特許出願第11/382,250号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１０７】
本明細書はさらに、2006年5月8日出願の”SYSTEM AND METHOD FOR USING USER’S VISUAL/ADIOU ENVIRONMENT TO SELECT ADVERTISING”、米国特許出願第11/430,594号、発明者Gary Zalewski およびRiley R. Russellに対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１０８】
本明細書はさらに、2006年5月8日出願の”Using Audio/Visual Environment To Select Ads On Game Platform”、米国特許出願第11/430,593号、発明者Gary Zalewski およびRiley R. Russellに対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１０９】
本明細書はさらに、2006年5月8日出願の”Method and apparatus for use in determining lack of user activity in relation to a system”、米国同時係属出願第11/382,259号、発明者Gary Zalewski et al.に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１１０】
本明細書はさらに、2006年5月8日出願の”Method and apparatus for use in determining an activity level of a user in relation to a system”、米国特許出願第11/382,258号、発明者Gary Zalewski et al.に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１１１】
本明細書はさらに、2006年5月8日出願の”Hand-held controller having detectable elements for tracking purposes”、米国同時係属出願第11/382,251号、発明者Gary Zalewski et al.に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１１２】
本明細書はさらに、2006年5月8日出願の”TRACKING DEVICE FOR USE IN OBTAINING INFORMATION FOR CONTROLLING GAME PROGRAM EXECUTION”、米国同時係属出願第11/382,252号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１１３】
本明細書はさらに、2006年5月8日出願の”TRACKING DEVICE WITH SOUND EMITTER FOR USE IN OBTAINING INFORMATION FOR CONTROLLING GAME PROGRAM EXECUTION”、米国同時係属出願第11/382,256号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１１４】
本明細書はさらに、2006年5月8日出願の”VIDEO GAME CONTROLLER FRONT FACE”、米国同時係属出願第29/246,744号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１１５】
本明細書はさらに、2006年5月8日出願の”VIDEO GAME CONTOLLER”、米国意匠出願第29/246,743号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１１６】
本明細書はさらに、2006年5月8日出願の”VIDEO GAME CONTROLLER”、米国同時係属意匠出願第29/246,767号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１１７】
本明細書はさらに、2006年5月8日出願の”VIDEO GAME CONTROLLER”、米国同時係属意匠出願第29/246,768号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１１８】
本明細書はさらに、2006年5月8日出願の”ERGONOMIC GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,763号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１１９】
本明細書はさらに、2006年5月8日出願の”GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,759号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１２０】
本明細書はさらに、2006年5月8日出願の”DESIGN FOR OPTICAL GAME CONTROLLER INTERFACE”、米国同時係属意匠出願第29/246,765号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１２１】
本明細書はさらに、2006年5月8日出願の”DUAL GRIP GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,766号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１２２】
本明細書はさらに、2006年5月8日出願の”GAME INTERFACE DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,764号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１２３】
本明細書はさらに、2006年5月8日出願の”ERGONOMIC GAME INTERFACE DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,762号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０１２４】
関連出願に対する相互参照
本出願は、2005年9月15日出願の”AUDIO, VIDEO, SIMULATION,AND USER INTERFACE PARADIGMS”、米国仮出願番号第60/718,145号に関連し、その開示内容が参照によって本明細書に援用される。
【０１２５】
本出願は、2002年7月27日出願の”MAN-MACHINE INTERFACE USING A DEFORMABLE DEVICE”、米国特許出願第10/207,677号；2003年8月27日出願の”AUDIO INPUT SYSTEM”、米国特許出願第10/650,409号；2003年9月15日出願の”METHOD AND APPARATUS FOR ADJUSTING A VIEW OF A SCENE BEING DISPLAYED ACCORDING TO TRACKED HEAD MOTION”、米国特許出願第10/663,236号；2004年1月16日出願の”METHOD AND APPARATUS FOR LIGHT INPUT DEVICE”、米国特許出願第10/759,782号；2004年4月7日出願の”METHOD AND APPARATUS TO DETECT AND REMOVE AUDIO DISTURBANCES”、米国特許出願第10/820,469号；2005年12月12日出願の”METHOD FOR USING RELATIVE HEAD AND HAND POSITIONS TO ENABLE A POINTING INTERFACE VIA CAMERA TRACKING”、米国特許出願第11/301,673号；および2005年6月22日出願の”DELAY MATCHING IN AUDIO/VIDEO SYSTEM”、米国特許出願第11/165,473号に関連し、その開示内容が参照によって本明細書に援用される。
【０１２６】
本発明はさらに、2006年4月10日出願の”System And Method For Obtaining user Information From Voices”、米国同時係属特許出願第11/400,997号に関連し、その開示内容が参照によって本明細書に援用される。
【図１】
0005465948.tif 000002
【図２】
0005465948.tif 000003
【図３】
0005465948.tif 000004
【図４】
0005465948.tif 000005
【図５Ａ】
0005465948.tif 000006
【図５Ｂ】
0005465948.tif 000007
【図５Ｃ】
0005465948.tif 000008
【図６】
0005465948.tif 000009
【図７】
0005465948.tif 000010