(57)【特許請求の範囲】
【請求項１】
リアルタイムシステムにおいて入力値を推定する方法であって、
当該方法は、前記リアルタイムシステムを実現する装置により：
−当該装置に組み込まれた少なくとも第１のセンサからの入力値を算出し；
−当該算出された入力値を前記装置上の算出された入力値の履歴に保存し：
−前記装置に組み込まれた少なくとも第２のセンサからの前記入力値の摂動因子成分を
推定し；
−算出された入力値の前記履歴に保存された入力値から前記摂動因子成分を除去することにより、入力値の修正された履歴を求め；
−入力値の当該修正された履歴から前記入力値を推定し:
−前記推定された入力値に前記推定された摂動因子成分を加算する
ことからなることを特徴とする方法。
【請求項２】
入力値の前記修正された履歴からの第１の入力値の推定は、これらの入力値の経時的進展のモデルに基づくことを特徴とする請求項１記載の方法。
【請求項３】
前記経時的進展のモデルは線形モデルであることを特徴とする請求項２記載の方法。
【請求項４】
前記修正された履歴からの第１の入力値の前記推定は、入力値の当該修正された履歴に適用されるべき一組の係数を最小２乗法を用いて求めることにあることを特徴とする請求項３記載の方法。
【請求項５】
前記入力は、前記装置に組み込まれたカメラによって取り込まれた画像における当該装置前方の被写体の投影であることを特徴とする請求項１ないし４のいずれかに記載の方法。
【請求項６】
前記被写体は前記装置のユーザの両目であることを特徴とする請求項５記載の方法。
【請求項７】
前記摂動因子は装置の動きであることを特徴とする請求項１ないし６のいずれかに記載の方法。
【請求項８】
前記少なくとも１つの第２のセンサは少なくとも１つのジャイロスコープからなることを特徴とする請求項７記載の方法。
【請求項９】
前記入力値の摂動因子成分を推定することは：
−前記ジャイロスコープの出力値の積算を行う演算子を適用することからなることを特徴とする請求項８記載の方法。
【請求項１０】
リアルタイムシステムにおいてフィードバックを求める方法であって、
当該方法は、前記リアルタイムシステムを実現する装置により：
−請求項１ないし７のいずれかに応じて入力値を推定し；そして
−当該推定された入力値に基づき前記フィードバックを求める
ことからなることを特徴とする方法。
【請求項１１】
リアルタイムシステムを実現する装置であって、当該リアルタイムシステムにおいて入力値を推定するために、当該装置は：
−当該装置に組み込まれた、少なくとも第１のセンサと；
−当該装置に組み込まれた、少なくとも第２のセンサと；
−前記少なくとも第１のセンサからの前記入力値を算出する手段と；
−前記算出された入力値を算出された入力値の履歴に保存する手段と：
−前記少なくとも第２のセンサからの前記入力値の摂動因子成分を推定する手段と；
−算出された入力値の前記履歴に保存された各入力値から前記摂動因子成分を除去することにより、入力値の修正された履歴を求める手段と；
−入力値の前記修正された履歴から前記入力値を推定する手段と：
−前記推定された入力値に前記推定された摂動因子成分を加算する手段と
からなることを特徴とする装置。
【請求項１２】
前記推定された入力値に基づきフィードバックを求める手段を
さらに備えることを特徴とする請求項１１記載の装置。
【請求項１３】
前記フィードバックは３Ｄ画面の視差バリアの調整であり、前記入力値は前記装置前方のユーザの両目の位置であることを特徴とする請求項１２記載の装置。
【請求項１４】
プログラム可能な装置のためのコンピュータプログラム製品であって、前記プログラム可能な装置に展開され、当該装置によって実行されるときに、請求項１ないし１０のいずれかに係る方法を実現するための一連の命令からなるコンピュータプログラム。
【請求項１５】
請求項１ないし１０のいずれかに係る方法を実現するためのコンピュータプログラムの命令を記憶するコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイムシステムにおいて入力の値を推定する方法及び装置に関し、特に、第１のセンサ、典型的にはカメラ、を用いて入力を追跡するリアルタイム対話型システム、に関する。
【背景技術】
【０００２】
リアルタイム対話型システムは、キープレス、アナログ入力などのユーザ入力と、表示、音声等のフィードバックの両者を必要とする。理想的なシステムにおいては、ユーザ入力を瞬時に考慮に入れることが可能であり、瞬間的に計算を行ってから遅延なしに出力する。なお、ユーザ入力は必ずしも自発的な入力である必要はない。顔の位置などのものごとは、ユーザはそれ自体をユーザ入力だと見做さないが、監視され得る。
【０００３】
現存するリアルタイムシステムにおいては、遅延は決してゼロとならず、遅延が大きくなる傾向があるほどシステムの動作はより違和感のあるものになる。
【０００４】
例えばビデオゲームにおいては、キープレスあるいはパッド操作と所望の画面上の効果が得られるまでの間の待ち時間を最適化しなければならない。待ち時間の最適化は、ユーザが可能な限り最良のゲーム感覚を味わえるようにするのに役立つ。ユーザ入力のあるものは、２値の押鍵状況とは対照的に、連続的な入力である。これは、例えばハンドル操作の場合がそうである。この場合、ユーザは瞬時にハンドルを別の角度に変えることができないし、回転速度を無限大にすることもできない。カメラ、ＩＲセンサ、超音波センサなどの非接触センサで測定したユーザの動き（頭部、手、胴体等）を利用するシステムでは、実際の身体の動きとシステムの認識との間に待ち時間を導入する何らかの処理及び/又はフィルタリングが行われることが多い。
【０００５】
典型的なリアルタイムシステムにおいては、任意の時刻ｔに情報が取り込まれる。当該システムは、連続入力の値をこの情報から算出する。したがって、この値がその後システムで利用可能となる。ひとたび利用可能になると、この入力の値は、フィードバックを生成するのに使われる。フィードバックが実際に発生する際、それは、時刻ｔに取り込まれた情報から算出された値に基づく。したがって、システムの待ち時間は、入力の値を算出する時間にフィードバックを生成する時間を加えた時間となる。
【０００６】
連続入力に関する待ち時間を改善する１つの方法は、入力が十分円滑に行われるとみなすことである。このようにみなせば、何らかの線形予測モデルを用いて将来の入力値を推定できる。そのようなシステムにおいては、任意の時刻ｔに連続入力の値が算出され、同時に当該入力の先行する値から時刻ｔ＋１における次回値が推定される。そして、その推定は時刻ｔ＋１でフィードバック関数を算出するのに用いられる。フィードバックが発生する際、それは、過去における連続入力の算出値ではなく、その瞬間の連続入力の値の推定値に基づく。連続入力の進展が十分線形であるとすれば、算出済みの古くなった値よりも、この推定値のほうがフィードバック時の入力の実際値により正確に対応すると考えられるからである。システムの待ち時間は、このように補償されてユーザのリアルタイムの体験が改善されてきた。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、連続系の線形性が何らかの摂動因子によって乱されるという事態が生じることがある。その場合、線形モデルに基づく、連続入力の未来予測が精度を失う。その結果、リアルタイムシステムの全体的な劣化が生じる。例えば、下記の実施形態の詳細では、リアルタイムシステムは携帯ゲーム機である。このゲーム機はカメラと３Ｄ画面を備えている。ユーザの良好な体験のために、３Ｄ画面のパラメータの中にはユーザの顔の位置に基づいて適合させられなければならないものがある。この適合を達成するために、ゲーム機に対するユーザの顔の相対的位置がリアルタイムで追跡される。この位置が、ゲーム機によって考慮される連続入力である。ゲーム機前方のユーザの頭部の動きは十分直線的であることがあり、したがって線形モデルを用いてその位置を正確に推定できてよい。しかし実際には、ユーザはゲームをしながらゲーム機を動かす。この動きは、プレーヤーの頭部の動きよりはるかに速く、直線的でないことがある。こうした動きが、顔位置追跡の性能を低下させる摂動因子を構成する。
【課題を解決するための手段】
【０００８】
本発明は、上述の問題点の少なくとも一つに対処すべくなされたものである。本発明は、摂動因子の存在下でのリアルタイムシステムにおける連続入力の推定を向上させることに関する。摂動因子は第２のセンサを用いて推定される。この推定に基づいて、入力算出値における摂動因子による成分が除去される。その後、摂動因子が除去された、先行する算出済みの入力値に基づき次の入力値が推定される。ついで、この推定は、摂動因子の推定を適用し戻すことによって訂正される。
【０００９】
本発明の第１の態様によれば、リアルタイムシステムにおいて入力値を推定する方法であって、当該方法は、前記リアルタイムシステムを実現する装置により：
当該装置に組み込まれた少なくとも第１のセンサからの入力値を算出し；
当該算出された入力値を前記装置上の算出された入力値の履歴に保存し：
前記装置に組み込まれた少なくとも第２のセンサからの前記入力値の摂動因子成分を推定し；
算出された入力値の前記履歴に保存された各入力値から前記摂動因子成分を除去することにより、入力値の修正された履歴を求め；
入力値の当該修正された履歴から前記入力値を推定する
ことからなることを特徴とする方法が提供される。
【００１０】
したがって、前記入力値は前記摂動因子から独立に推定されてよい。
【００１１】
一態様においては、前記方法は、前記推定された入力値に前記推定された摂動因子成分を加え戻すことをさらに含む。
【００１２】
したがって、前記推定された入力値は、前記摂動因子の影響が積算される。
【００１３】
一態様においては、入力値の前記修正された履歴からの第１の入力値の推定は、これらの入力値の経時的進展のモデルに基づく。
【００１４】
一態様においては、前記経時的進展のモデルは線形モデルである。
【００１５】
一態様においては、前記修正された履歴からの第１の入力値の前記推定は、入力値の当該修正された履歴に適用されるべき一組の係数を最小２乗法を用いて求めることにある。
【００１６】
一態様においては、前記入力は、前記装置に組み込まれたカメラによって取り込まれた画像における当該装置前方の被写体の投影である。
【００１７】
一態様においては、前記被写体は前記装置のユーザの両目である。
【００１８】
一態様においては、前記摂動因子は装置の動きである。
【００１９】
一態様においては、前記少なくとも１つの第２のセンサは少なくとも１つのジャイロスコープからなる。
【００２０】
一態様においては、前記入力値の摂動因子成分を推定することは、前記ジャイロスコープの出力値の積算を行う演算子を適用することからなる。
【００２１】
本発明の他の態様によれば、リアルタイムシステムにおいてフィードバックを求める方法であって、当該方法は、前記リアルタイムシステムを実現する装置により：本発明に応じて入力値を推定し；そして当該推定された入力値に基づき前記フィードバックを求めることからなることを特徴とする方法が提供される。
【００２２】
本発明の他の態様によれば、装置において視差バリアを調整するための入力を求める方法であって、当該方法は：
少なくとも、前記装置内のカメラによって取り込まれた画像に基づき、将来のある時刻において前記視差バリアを調整するための第１の値を予測し；
前記装置内のジャイロスコープからの第２の値であって、当該装置の動きの成分を示す第２の値を受信し；そして
−前記予測された第１の値から前記装置の動きの成分を除去して当該装置における前記視差バリアを調整するための更新された値を求める
ことからなることを特徴とする方法が提供される。
【００２３】
本発明の他の態様によれば、
カメラ；
ジャイロスコープ；
視差バリア；
実行可能な命令を記憶するメモリ；そして
前記メモリと通信して前記命令を実行するように構成されたプロセッサを備え、前記実行可能な命令は：
少なくとも、前記装置の前記カメラにより取り込まれた画像に基づき、将来のある時刻において前記視差バリアを調節するための第１の値を予測し；
前記装置内のジャイロスコープからの第２の値であって、当該装置の動きの成分を示す第２の値を受信し；そして
前記予測された第１の値から前記装置の動きの成分を除去して当該装置における前記視差バリアを調整するための更新された値を求めることを特徴とする装置が提供される。
【００２４】
本発明の他の態様によれば、リアルタイムシステムを実現する装置であって、当該リアルタイムシステムにおいて入力値を推定するために、当該装置は：
当該装置に組み込まれた、少なくとも第１のセンサと；
当該装置に組み込まれた、少なくとも第２のセンサと；
前記少なくとも第１のセンサからの前記入力値を算出する手段と；
前記算出された入力値を算出された入力値の履歴に保存する手段と：
前記少なくとも第２のセンサからの前記入力値の摂動因子成分を推定する手段と；
算出された入力値の前記履歴に保存された各入力値から前記摂動因子成分を除去することにより、入力値の修正された履歴を求める手段と；
入力値の前記修正された履歴から前記入力値を推定する手段と
からなることを特徴とする装置が提供される。
【００２５】
一態様においては、前記装置は、前記推定された入力値に基づきフィードバックを求める手段をさらに備える。
【００２６】
一態様においては、前記フィードバックは３Ｄ画面の視差バリアの調整であり、前記入力値は前記装置前方のユーザの両目の位置である。
【００２７】
本発明の他の態様によれば、プログラム可能な装置のためのコンピュータプログラム製品であって、前記プログラム可能な装置に展開され、当該装置によって実行されるときに、本発明に係る方法を実現するための一連の命令からなるコンピュータプログラムが提供される。
【００２８】
本発明の他の態様によれば、本発明に係る方法を実現するためのコンピュータプログラムの命令を記憶するコンピュータ読み取り可能な記憶媒体が提供される。
【００２９】
本発明に係る方法の少なくとも一部は、コンピュータ実現可能であってよい。したがって、本発明は全てハードウェア的な実施形態、全てソフトウェア的な実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、あるいは、全て一般に「回路」、「モジュール」、又は「システム」と本明細書中において称されたソフトウェアとハードウェアの両態様を結合した態様の形をとってよい。さらに、本発明は、コンピュータ使用可能なプログラムコードが具体化される、如何なる有形の表現媒体においてでも具体化されたコンピュータプログラムの形を取ってもよい。
【００３０】
本発明はソフトウェアとして実現可能なので、適切なキャリア媒体上で、プログラム可能な装置に供給されるコンピュータ読み取り可能なコードとして実現できる。有形で、非一時的なキャリア媒体には、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードディスクドライブ、磁気テープ装置、ソリッドステートメモリ装置などの記憶媒体が含まれてよい。一時的なキャリア媒体には、電気信号、電子信号、光信号、音響信号、磁気信号、あるいは電磁気信号、例えばマイクロウェーブまたはＲＦ信号、などの信号が含まれてよい。
【図面の簡単な説明】
【００３１】
【図１】本発明の特定の実施形態を説明するのに有用なシステムを示す図である。
【図２】本発明の一実施形態において使用される３Ｄ画面の構造を示す図である。
【図３】本発明の一実施形態における、ユーザの顔の位置の予測に基づく調整処理を示す図である。
【図４】本発明の一実施形態において使用される最小２乗法を示す図である。
【図５】本発明の一実施形態において装置の動きによって生じる被写体の動きを示す図である。
【図６】本発明の一実施形態における、３つの回転軸に対する組み込みジャイロスコープの回転を示す図である。
【図７】摂動因子の存在下での入力を予測する本発明の一実施形態に係る一般的な方法のステップを示す図である。
【図８】本発明の一つまたは複数の実施形態を実施するための演算装置の概略ブロック図である。
【発明を実施するための形態】
【００３２】
図１は、本発明の特定の実施形態を説明するのに用いられるシステムを示している。なお、本発明はこの特定のシステムに限定されるものではなく、同様の問題を有する多くのシステムにも適用可能である。
【００３３】
ユーザ１．１は、携帯ゲーム機、携帯電話機、タブレットコンピュータなどの携帯装置１．２を使用している。この携帯装置１．２は、一般に、表示画面１．４、カメラ１．３などからなる。カメラ１．３は、ゲーム機周囲の通常の画像、典型的には連続映像、を撮影可能である。ゲーム機の通常の使用の場合、ユーザ１．１は表示画面１．４を見るために、頭部１．５をゲーム機のおおよそ前方に置く。これは、ユーザの頭部１．５の画像がカメラ１．３によって取り込まれ得ることを意味する。周知の追跡アルゴリズムの中には、カメラ１．３が取り込む画像中のユーザの頭部１．５を追跡し、特にこれらの画像中の両目１．６の位置を特定できるようにするものがある。そのような追跡アルゴリズムの例は、E. Osuna、R. Freund、 F.
Girosi著 「Training support vector machines: an
application to face detection」（ Computer Vision and
Pattern Recognition,1997. Proceedings., 1997 IEEE Computer Society Conference
on , vol., no., pp.130,136, 17-19 Jun 1997）、P.N. Belhumeur、
J.P. Hespanha、 D. Kriegman著「Eigenfaces vs. Fisherfaces: recognition using class specific linear
projection」（Pattern Analysis and Machine Intelligence,
IEEE Transactions on , vol.19,no.7, pp.711,720, Jul 1997）、あるいは H.A. Rowley、 S. Baluja、 T. Kanade著 「Neural network-based face
detection」（Pattern Analysis and Machine Intelligence,IEEE
Transactions on , vol.20, no.1, pp.23,38, Jan 1998）に見られる。
【００３４】
ここに説明する特定の実施形態においては、画面１．４は３次元立体画面である。図２はこの画面の構造を示している。実画面２．１は、各々２つの部分に分割された画素からなる。１つの部分は、ユーザの左目に見える左画像を表示するのに用いられ、もう１つの部分は、ユーザの右目に見える右画像を表示するのに用いられる。優れた立体感を出すには、画素の右部分はユーザの左目に対して遮蔽され、他方、左部分はユーザの右目に対して遮蔽されなければならない。遮蔽手段２．２は一般に画面内に設けられる。本例では、この遮蔽手段は電子的に隠され得る細い縞２．５で出来ている。隠される細い縞が、画面の前方で変位可能な視差バリアを構成する。各画素の正しい部分を適切に遮蔽するためには、ユーザの目２．６の実際の位置に応じて、バリアの位置が調節されなければならない。
【００３５】
ユーザに良好な３Ｄ体験をもたらすために、ゲーム機はカメラが取り込んだ画像の中のユーザの頭部の位置をリアルタイムで追跡している。顔追跡アルゴリズムにより、画像内の顔の位置を特定し、両目の位置を見つけ出す。一般的には、両目の間にある中心点が基準点とされる。この中心点の位置から、画面中のバリアの正しい位置を算出して、取り込まれた画像内の自分の顔の位置を知るユーザのための正しい立体感のある画像を得ることができる。
【００３６】
取り込まれた画像内のユーザの顔の位置に関する情報が知られ、３Ｄ画面の調整に使用される際、算出時間のために、実際には顔は動いてしまっているかもしれない。すなわち、調整は、取り込み時の顔の位置に従って行われるので、ユーザの頭部の動きに関しては遅すぎてしまう可能性がある。
【００３７】
この不都合を克服するため、システムは、最後に取り込んだ画像中のユーザの顔の位置だけではなく、近い将来のユーザの顔の位置の予測値も算出する。この予測値は、３Ｄ画面の調整の瞬間におけるユーザの頭部の実際の位置により良く対応すると思われるので、３Ｄ画面の調整のために使用される。
【００３８】
図３は、ユーザの顔の位置の予測に基づく調整処理を示す。
【００３９】
ステップ３．１で、装置は任意の時刻ｔにおいて入力の算出を行う。本実施形態では、当該入力はユーザの顔の位置に相当する。この算出された入力は、経時的な入力値の履歴に保存される。
【００４０】
次に、ステップ３．２で、近い将来の時刻ｔ＋１における入力値の推定値が算出される。この推定は、入力値の保存された履歴から、例えばそれらの値の進展のモデルを用いて行われる。このモデルは、後述するように、典型的には線形である。
【００４１】
次に、ステップ３．３で、装置は時刻ｔ＋１におけるフィードバックを生成する。本例では、フィードバックは３Ｄ画面のバリアの調整に相当する。当該フィードバックは、その正確な時刻ｔ＋１における入力の推定値に基づいて算出されるものであって、過去において時刻ｔに算出された正確な入力値ではない。
【００４２】
予測が正確であれば、フィードバックは、ユーザに素晴らしいリアルタイム体験を待ち時間なしに与える入力の推定値に正確に合致する。予測の精度はモデルの精度に依存する。本実施形態のケースにおいては、なかんずくユーザの頭部の動きの円滑度に依存する。
【００４３】
線形適応予測は、これまでの位置の履歴に基づく正確な予測を立てる一般的な方法である。それは一組の係数―又は重みーを見つけて、現在の履歴に基づいて次の位置を予測する試みからなる。それらの係数は、現実に対する予測の誤差を最小化するように決定される。問題を解決する方法は少なくとも２つある。第１の解決法は最小２乗法であり、第２の解決法はブロイデン法である。
【００４４】
最小２乗法は、この種の線形問題を解決するための標準的な手法であり、その解決法が閉形式であるという利点を持つ。欠点は、履歴に変動がない場合、すなわち縮退の場合には、行列反転が失敗する可能性があるということである。
【００４５】
それに比して、ブロイデン法を活かした手法は、縮退のリスクのない反復プロセスである。この手法は、係数に最小の修正を加えることにより予測誤差を最小化しようとする。この最小の修正は、２組の係数の２乗ノルムを最小化するという意味に定義される。ブロイデン法については、“C. G. Broyden著「 On the discovery of the “good Broyden” method」 Math. Program., 87(2, Ser. B):209-213, 2000. Studies in algorithmic
optimization”を参照されたい。
【００４６】
最小２乗法は図４で示すように機能する。ここでは、３Ｄ基底４．４が装置にリンクされていることとする。なお、装置は世界内で動かず、したがって基底４．４は世界の基底とみなすこともできる。
【００４７】
世界内の被写体４．２は、自身の基底４．５、すなわち
0006381092.tif 000002
を有する画面空間４．１に投影される。被写体４．２の投影は画像ベースの点４．３となる。投影オペーレータはカメラである。換言すると、点４．３は、任意の時刻ｔにおける取り込まれた画像中の被写体４．２の位置である。
【００４８】
本実施形態の例では、被写体４．２は、ユーザの顔、より正確には両目の間の基準点であり、投影４．３は画面空間における当該点の取り込み画像中の位置である。
【００４９】
時刻iの、画面空間投影中の、装置に対する絶対被写体位置をXiとすると、先行するｎ個の位置の履歴Pi及びｎ個の係数Cは以下のように規定される。
0006381092.tif 000003
【００５０】
解決すべき問題は、履歴Piに基づいて時刻iにおける被写体の新しい
0006381092.tif 000004
を推定することである。
【００５１】
線形モデルに基づき、推定される
0006381092.tif 000005
【００５２】
したがって、この問題は、位置の全履歴P∞が与えられたとして、係数Ｃを算出することである。ベクトルＣは、すべての位置P∞を「最もよく」予測する一組の係数により定義される。そのようにＣは全履歴にわたる予測の２乗誤差を最小化する。
0006381092.tif 000006
【００５３】
最新の履歴に基づき、この履歴を「説明する」最良の基礎モデルを算出し、それからこのモデルを使用して新しい位置の予測を行うことができる。
【００５４】
このモデルを更新して、顔追跡アルゴリズムによって与えられる新たに算出された各位置を考慮に入れることが好都合である。
【００５５】
固定装置であれば、上記の方法は満足のいく結果をもたらす。ユーザの頭部の動きは、良好な予測を可能にし、したがってユーザに良好な３Ｄ体感をもたらすことができるほど円滑であることがある。あいにく、手持ち式の装置の場合は、ユーザはゲームをしながら装置に余分の動きを与えてしまう。例えば、ユーザはキーパッドを押す際に装置を動かしてしまうことが多い。こうした動きは、多くの場合、さもなければ線形予測可能なユーザの頭部の動きを摂動させる。装置の動きは、画面空間に投影される被写体の見かけの動きに強い加速度を生じさせる。
【００５６】
装置空間で推論すると、装置空間における被写体の動きは２つの動きが合成された結果と解釈してもよい。第１の動きは、装置空間における世界の動きと合成された世界内の被写体の動きに相当する。なお、装置空間における世界の動きは、実際には世界における装置の動きである。しかし、演算と画面空間における被写体の投影は装置空間で生じるので、装置空間における外界の動きを考察する。このことは、下記式のようにまとめられる。
0006381092.tif 000007
【００５７】
被写体、本例ではユーザの頭部、の世界内の動きが極めてかなり平滑で、したがって線形モデルにより精度よく予測可能なときには、装置空間における世界の動きの方がはるかに不規則である。この動きは、予測の精度を低下させる摂動因子として働く。したがって、ユーザの頭部の動きの予測精度を高めるには、この摂動因子をいかに処理するかが問題となる。
【００５８】
提案される解決法は、世界の動きを知るために装置に内蔵されたセンサをうまく利用することである。装置空間における世界の動きを推定できれば、この成分を世界内の被写体の動きから分離し、その後で世界内の被写体の動きを正確に予測することが可能になる。このセンサは、ジャイロスコープ、加速度計、カメラ、コンパス、テレメータ、ＩＲセンサ、圧力センサなどの異なるタイプのセンサであってよいが、それらに限定されない。実際、装置の動きに関する情報を伝えることのできるセンサであればいかなるセンサも利用可能である。本実施形態の詳細では、使用されるセンサはジャイロスコープである。
【００５９】
手持ち式装置の内蔵センサは、世界に対する装置の動きに関する情報を与える。この情報は、世界内の装置の動きにより発生した、画面空間内における被写体の投影の動きを推定するのに使用してよい。
【００６０】
図５（ａ）、５（ｂ）、及び５（ｃ）は、世界空間５．１に対する装置５．３の動きによって発生する被写体５．４の装置空間５．２及び画面空間５．７における動きを示している。図５（ｂ）及び５（ｃ）において、点線の被写体５．６は装置空間又は画面空間における被写体５．４の前回位置を示す。矢印５．５は、装置空間又は画面空間における被写体５．４の見かけの動きを示す。本例では、被写体５．４は世界空間５．１内に固定されているとみなされる。
【００６１】
図６は、装置空間の３つの回転軸Ｘ，Ｙ，Ｚに対する組み込みジャイロスコープによって与えられる相対的な回転を示している。
0006381092.tif 000008
【００６２】
0006381092.tif 000009
【００６３】
ゲイン(K)が正しければ、装置が世界に対して相対的に動いた場合、この演算により世界内の固定被写体の動きを画面空間において表すことができる。現実のシステムでは、ゲインはメーカーによって指定されているが、完全に正確なわけでは決してなく、センサ値のドリフトから保護されているわけでもない。
【００６４】
本発明では、これらの結果に基づき、センサ入力を予測と一体化する新しいモデルが導入される。この新モデルは、装置の動きに堅牢性をもたらすことにより予測の精度を向上させる。このモデルは完全には較正されていないセンサに対して堅牢であることも判明している。
【００６５】
世界内を移動する被写体の状況を考えてみる。この被写体の位置は、モバイル装置に接続された第１のセンサ、典型的にはカメラ、により取り込まれる。モバイル装置自体も外界において移動する。前述したように、本発明の関心事は、モバイル装置に対する被写体の相対的な動きを予測することである。より厳密に言えば、関心があるのは、モバイル装置にリンクした画面空間内への被写体の投影の動きである。投影は、カメラで連続画像を取り込むという動作である。
【００６６】
図７は、摂動因子の存在下での入力を予測する本発明の一実施形態に係る一般的な方法のステップを示している。
【００６７】
ステップ７．１では、任意の瞬間ｔにおいて、装置は第１のセンサからの入力を算出する。本実施例では、当該入力はユーザの顔の両目の位置に対応する。この算出された入力値は経時的な入力値の履歴に保存される。
【００６８】
ステップ７．２では、摂動成分が上記履歴に保存されている値から除去される。この除去は、摂動因子のせいで生じる入力の成分を推定することによって行われる。この推定は、主に、少なくとも第２のセンサに基づいて行われる。履歴に保存されている各値は、摂動因子の影響を抑制することによって修正される。
【００６９】
次に、ステップ７．３で、近い将来の時刻ｔ＋１における入力の値の最初の推定値が算出される。この推定は、入力値の進展のモデルを用いて、入力値の修正後の履歴に基づいて行われる。したがって、この推定は、摂動因子が存在しないかのように行われる。
【００７０】
ステップ７．４では、第２のセンサに基づいて推定された摂動因子の影響の推定値が前記入力の最初の推定値に加算される。これにより、入力の推定値に摂動因子の影響を再導入して、摂動因子の存在下の将来の入力の高精度の推定値を得ることができる。実施形態のあるものにおいては摂動因子から独立に入力値を推定することが関心事となり得ることを考慮して、このステップは適宜省略可能としてよい。
【００７１】
この高精度の推定値は、ステップ７．５において、正確な時刻ｔ＋１にフィードバックを生成するのに使用される。
【００７２】
したがって、入力が摂動因子を伴っていない場合のように、入力の推定値は当該入力の線形推定に基づく。摂動因子の影響は後に再導入され、入力の最終推定値が得られる。摂動因子の線形推定への影響が除去される。摂動因子の非線形性が、予測を劣化させることがなくなる。
【００７３】
実施形態の詳細では、前述のように、被写体のすべての算出された位置の履歴が保存される。
0006381092.tif 000010
【００７４】
本実施形態の目的は、依然として、被写体の動きが、世界空間内における装置そのものの動きと合成された被写体自身の世界空間内での動きにより生じるとした場合に、画面空間における被写体の投影の次の
0006381092.tif 000011
装置空間に関して言えば、世界内での装置の動きは、装置空間に対する世界の相対的な動きと見てよい。
【００７５】
１つの態様は、保存された位置Piの履歴中の、世界の動きに起因する動きの成分を除去することである。これは、世界に対する装置の最終的な位置、すなわち時刻xi-1の装置の位置に当該装置を静止させることを計算し、履歴に保存されたすべての位置を、すべての位置が算出された時に装置が固定されていれば取ったであろう位置に修正することとみなすことができる。
【００７６】
その処理のために、システム変換演算子STn(x)は以下のように定義される。
0006381092.tif 000012
ｎは適用されるステップの数を表す。それは履歴の序列であり、入力が取り込まれてから装置が動いた回数に対応する。この演算子は、ジャイロスコープの出力値の積算を行うことにより動作する。それにより、演算のｎステップ前まで遡る、装置空間に対する世界の相対的な動きが得られる。
【００７７】
位置の履歴を修正し装置の動きを除去するために、
0006381092.tif 000013
【００７８】
なお、
0006381092.tif 000014
これは、装置の位置が動かず最後の位置に対応するという事実のせいである。
【００７９】
装置の動きを考慮に入れない、被写体の投影の画面空間における位置の予測を表す時刻iにおける次の
0006381092.tif 000015
【００８０】
装置の世界内での動きにより構成される摂動因子を考慮にいれずに、画面空間における被写体の投影の位置がひとたび推定されると、
0006381092.tif 000016
【００８１】
なお、ジャイロスコープのゲインKは、ジャイロスコープの入力から装置の世界内での動きを推定するために用いられる演算子STの定義には使用されない。これは、センサを完全に較正する必要がないという、提案している方法の更なる利点の１つである。ジャイロスコープの不十分な較正のせいで装置の世界内での動きの予測に不正確が持ち込まれても、その動きを線形予測することにより補償できるからである。もちろん、不十分な較正は装置の動きの不十分な予測になり、その結果、装置の動きの除去が不十分になり、結局、そのより大きな部分が線形予測によって補われるべき線形部分に残ってしまうことになる。これは、ある程度、線形推定の精度を下げる。したがって、ほぼ完全に較正されたジャイロスコープを用いるのが好ましい。とは言え、提案される方法はセンサの較正のある程度の精度の悪さに対して堅牢である。実際、センサによってもたらされる結果に生じ得るドリフトを考慮するための定期的な較正ステップを実行する必要はない。
【００８２】
したがって、提案される方法は、画面空間における被写体の投影の次の位置の予測値を推定することを可能にする。すなわち、装置前方のユーザの両目の位置を追跡できる。その次の位置は、それに応じて３Ｄ画面の視差バリアを調整するために推定されてもよい。
【００８３】
装置の動きによって構成される摂動因子の存在下でのカメラによるユーザの顔の追跡に関して説明したが、異なる状況において同様の方法が適用されてもよい。リアルタイムシステムにおける入力がフィードバックを生成するのに使用され、かつ当該入力の線形の進展がある因子によって摂動される場合には、上記の方法を同様に適用してよい。
【００８４】
図８は、本発明の一つまたは複数の実施形態を実現するための演算装置８．０の概略ブロック図である。演算装置８．０は、マイクロコンピュータ、ワークステーション、光ポータブルデバイスなどの装置であってよい。演算装置８．０は、通信バスを有し、当該通信バスは以下のものに接続されている：
―ＣＰＵと表記されている、マイクロコンピュータなどの中央演算処理装置８．１；
―ＲＡＭと表記されている、本発明の実施形態の方法を実行可能なコード並びに本発明の実施形態に応じて、画像の少なくとも一部を符号化又は復号化する方法を実現するのに必要な変数やパラメータを記録するのに適合したレジスタを記憶し、そのメモリ容量が、例えば拡張ポートに接続されるオプションのＲＡＭにより拡張可能であるランダムアクセスメモリ８．２；
―ＲＯＭと表記されている、本発明の実施形態を実現するためのコンピュータプログラムを記憶するリードオンリーメモリ８．３；
―ネットワークインターフェース８．４は、主として、処理されるデジタルデータが送受信される通信ネットワークに接続される。ネットワークインターフェース８．４は単一のネットワークインターフェースであり得、一組の異なるネットワークインターフェース（例えば、有線と無線のインターフェース、あるいは異なる種類の有線または無線のインターフェース）からなるものでもあり得る。データパケットは、ＣＰＵ８．１で実行されるソフトウェアアプリケーションの制御下で、送信の際にはネットワークインターフェースに書き込まれ、受信の際にはネットワークインターフェースから読み取られる；
―ユーザインターフェース８．５は、ユーザからの入力を受け付けたり、ユーザのために情報を表示するのに使用されてよい；
―ＨＤと表記されているハードディスク８．６は、大容量記憶装置として設けられてよい；
―Ｉ／Ｏモジュール８．７は、ビデオ源やディスプレイなどの外部装置とのデータのやり取りに使用される。
【００８５】
実行可能なコードはリードオンリーメモリ８．３か、ハードディスク８．６か、あるいはディスクなどの着脱可能なデジタル媒体のいずれかに記憶されてよい。変形例としては、プログラムの実行可能なコードは、ネットワークインターフェース８．４を介して通信ネットワークにより受信され、実行される前にハードディスク８．６などの通信装置８．０の記憶手段の１つに記憶される。
【００８６】
中央演算処理装置８．１は、本発明の実施形態に係る単一もしくは複数のプログラムの各命令又はソフトウェアコードの各部分の実行を制御し、命令するのに適合している。それらの命令は前記の記憶手段の１つに記憶される。電源投入後、ＣＰＵ８．１は、ソフトウェアアプリケーションに関する命令を例えばプログラムＲＯＭ８．３又はハードディスク（ＨＤ）８．６から主たるＲＡＭメモリ８．２に展開して、そこから当該命令を実行することができる。そのようなソフトウェアアプリケーションがＣＰＵ８．１によって実行されることによって、図７のフローチャートの各ステップが実行される。
【００８７】
図７のアルゴリズムのステップはいずれも、プログラム可能な計算機、例えばＰＣ（パーソナルコンピュータ）、ＤＳＰ（デジタルシグナルプロセッサ）、マイクロコントローラなどが一組の命令又はプログラムを実行することにより、ソフトウェアで実現されてもよいし、機械又はＦＰＧＡ（フィールドプログラマブルゲートアレイ）若しくはＡＳＩＣ
（特定用途向け集積回路）などの専用コンポーネントによりハードウェアで実現されてもよい。
【００８８】
以上具体的な実施形態を参照しながら本発明を説明したが、本発明はこれらの実施形態に限定されるものではなく、本発明の精神および範囲を逸脱しないかぎり変更が可能であることは、当業者には明らかであろう。
【００８９】
また、前述の実施形態はあくまで例として説明されたにすぎず、したがって本発明の範囲を制限するものではなく、さらに多くの修正や変形が上述の説明のために実施形態を参照することにより可能であることも当業者には明らかであろう。本発明の範囲は、添付された請求項によってのみ決定される。特に、異なる実施形態の異なる特徴は適宜入れ替えてもよい。
【００９０】
また、請求項における「〜からなる」という文言は、他の要素や工程を排除するものではなく、「複数の」と記述されていなくても要素が複数であることを排除するものではない。異なる特徴が互いに異なる従属項において列挙されているということだけで、それらの特徴の組み合わせが好都合に使用できないということを示しているものではない。
【図１】
0006381092.tif 000017
【図２】
0006381092.tif 000018
【図３】
0006381092.tif 000019
【図４】
0006381092.tif 000020
【図５】
0006381092.tif 000021
【図６】
0006381092.tif 000022
【図７】
0006381092.tif 000023
【図８】
0006381092.tif 000024