(57)【特許請求の範囲】
【請求項１】
第１オブジェクトポイントが映像で表示される位置及びユーザの両目の位置を用いて、ユーザに前記第１オブジェクトポイントの位置として認識される第１座標値を算出するオブジェクト位置推定部と、
ユーザのポインティング位置である第２座標値を前記第１座標値と比較して前記ポインティング位置が前記第１オブジェクトポイントに対応するか否かを判断するポインティング判断部と、
ユーザデバイスに関連する複数の識別要素の位置を用いてポインティング位置である前記第２座標値を算出するポインティング位置推定部であって、映像認識された前記複数の識別要素の方向及び前記複数の識別要素相互間の変位情報を利用して前記第２座標値を算出し、前記ポインティング位置推定部は、更に前記識別要素とポインティング位置との相対的変位を変更するユーザ操作に応じて前記第２座標値を算出する、ポインティング位置推定部と
を含むコンピュータ装置。
【請求項２】
前記映像は、左映像と右映像とを含む立体映像であり、
前記オブジェクト位置推定部は、前記左映像における前記第１オブジェクトポイントが表示される位置から左目の位置への第１直線と、前記右映像における前記第１オブジェクトポイントが表示される位置から右目の位置への第２直線との交点の座標を前記第１座標値として算出する、請求項１に記載のコンピュータ装置。
【請求項３】
前記交点が生じない場合、前記オブジェクト位置推定部は、前記第１直線に直交し、前記第２直線に直交する線分の中点座標を前記第１座標値として算出する、請求項２に記載のコンピュータ装置。
【請求項４】
前記ポインティング位置推定部は、少なくとも１つの前フレームにおいて入力された前記識別要素の位置を用いて、現フレームにおいて入力される前記識別要素の位置を補正し、前記補正された前記識別要素の位置を用いて前記第２座標値を算出する、請求項１に記載のコンピュータ装置。
【請求項５】
前記ポインティング位置推定部は、現フレームに先行する少なくとも１つの前フレームに対応して算出された第２座標値を利用して、現フレームで算出される第２座標値を補正し、前記補正された第２座標値を前記ポインティング位置として決定する、請求項１に記載のコンピュータ装置。
【請求項６】
前記ポインティング位置推定部は、ユーザデバイスに関連する識別要素が映像認識された第１形状を、予め与えられた前記識別要素の形状である第２形状と比較してポインティング位置である前記第２座標値を算出する、請求項１〜５のうちの何れか一項に記載のコンピュータ装置。
【請求項７】
前記識別要素は、前記ユーザデバイスに備えられるスイッチのオン・オフの変更により認識可能な状態と認識不可能な状態のうちのいずれか一種類に変更可能な光源を含む、請求項６に記載のコンピュータ装置。
【請求項８】
前記相対的変位を変更するユーザ操作は、前記ユーザデバイスに含まれるホイール操作によって識別される、請求項１に記載のコンピュータ装置。
【請求項９】
前記相対的変位を変更するユーザ操作は、前記ユーザデバイスに備えられる圧力センサのセンシング値によって識別される、請求項１に記載のコンピュータ装置。
【請求項１０】
前記ポインティング判断部は、前記第２座標値と前記第１座標値との距離が閾値未満である場合、前記ポインティング位置を前記第１オブジェクトポイントとして決定する、請求項１〜９のうちの何れか一項に記載のコンピュータ装置。
【請求項１１】
前記オブジェクト位置推定部は、ユーザの両目の位置を用いて、グローバル座標系における第１オブジェクトポイントの座標値をユーザ認識座標系における座標値である第１座標値に変換する変換関数を決定し、
前記ポインティング判断部は、ポインティング位置である第２座標値を前記第１座標値と比較して前記ポインティング位置が前記第１オブジェクトポイントに対応するか否かを判断する、請求項１に記載のコンピュータ装置。
【請求項１２】
前記ポインティング判断部は、前記第２座標値と前記第１座標値との距離が閾値未満である場合、前記ポインティング位置を前記第１オブジェクトポイントとして決定する、請求項１１に記載のコンピュータ装置。
【請求項１３】
前記オブジェクト位置推定部は、ユーザの両目の位置を用いて、グローバル座標系における第１オブジェクトポイントの座標値をユーザ認識座標系における座標値である第１座標値に変換する変換関数を決定し、
前記ポインティング判断部は、ポインティング位置である第２座標値に前記変換関数の逆関数を適用してグローバル座標系における第３座標値を決定し、（ｉ）前記第３座標値を前記グローバル座標系における第１オブジェクトポイントの座標値と比較して、又は（ｉｉ）前記第１座標値を前記第２座標値と比較して、前記ポインティング位置が前記第１オブジェクトポイントに対応するか否かを判断する、請求項１に記載のコンピュータ装置。
【請求項１４】
少なくとも１つのプロセッサを含むコンピュータ装置が３次元相互作用的なユーザ体験を提供する方法において、前記方法は、
第１オブジェクトポイントが映像で表示される位置及びユーザの両目の位置を用いて、ユーザに前記第１オブジェクトポイントの位置として認識される第１座標値を算出するステップと、
ユーザデバイスに関連する複数の識別要素の位置を用いてユーザのポインティング位置である第２座標値を算出するステップであって、映像認識された前記複数の識別要素の方向及び前記複数の識別要素相互間の変位情報を利用して前記第２座標値を算出し、前記ステップは、前記識別要素とポインティング位置との相対的変位を変更するユーザ操作に応じて前記第２座標値を算出することを更に含む、ステップと、
前記第１座標値と前記第２座標値とを比較して前記ポインティング位置が前記第１オブジェクトポイントに対応するか否かを判断するステップと、
を含む方法。
【請求項１５】
前記ユーザの両目の位置及び前記ユーザのポインティング位置は、１つのカメラの映像から算出される、請求項１４に記載の方法。
【請求項１６】
前記第２座標値を算出するステップは、少なくとも１つの前フレームで入力された前記識別要素の位置を用いて、現フレームで入力される前記識別要素の位置を補正し、前記補正された前記識別要素の位置を用いて前記第２座標値を算出する、請求項１４に記載の方法。
【請求項１７】
請求項１４〜１６のうち何れか一項に記載の方法を前記コンピュータ装置に実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
デバイスとユーザとの間の３次元（３Ｄ）相互作用（３−ｄｉｍｅｎｓｉｏｎａｌ  ｉｎｔｅｒａｃｔｉｏｎ）の効果を提供する装置及び方法等が提供される。より詳細には、３Ｄディスプレイデバイスから出力される映像に対するユーザのポインティング入力及び操作を処理する装置及び方法等が提供される。
【背景技術】
【０００２】
３次元相互作用的な技術の活用の一例としてユーザが立体映像のオブジェクトを選択して動かすなどのユーザー体験（ＵＸ：Ｕｓｅｒ  Ｅｘｐｅｒｉｅｎｃｅ）を提供する技術がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、３次元相互作用的なユーザー体験を提供するコンピュータ装置を提供することにある。
【課題を解決するための手段】
【０００４】
本発明の一実施形態によると、第１オブジェクトポイントが映像で表示される位置及びユーザの両目の位置を用いて、ユーザに前記第１オブジェクトポイントの位置として認識される第１座標値を算出するオブジェクト位置推定部と、ユーザのポインティング位置である第２座標値を前記第１座標値と比較して前記ポインティング位置が前記第１オブジェクトポイントに対応するか否かを判断するポインティング判断部（ｐｏｉｎｔｉｎｇ  ｄｅｔｅｒｍｉｎｅｒ）を含むコンピュータ装置が提供される。前記映像は、左映像と右映像とを含む立体映像であってもよい。前記ポインティング判断部は、前記第２座標値と前記第１座標値との距離が閾値未満である場合、前記ポインティング位置が前記第１オブジェクトポイントであるものとして決定してもよい。
【０００５】
一実施形態によると、前記オブジェクト位置推定部は、前記左映像における前記第１オブジェクトポイントが表示される位置から前記両目のうち左目の位置への第１直線と、前記右映像における前記第１オブジェクトポイントが表示される位置から前記両目のうち右目の位置への第２直線との交点の座標を前記第１座標値として算出する。一方、前記交点が生じない場合に、前記オブジェクト位置推定部は前記第１直線に直交し、前記第２直線に直交する線分の中点座標を前記第１座標値として算出してもよい。
【０００６】
一実施形態に係るコンピュータ装置は、ユーザデバイスに関連する少なくとも１つの識別要素の位置を用いてポインティング位置である前記第２座標値を算出するポインティング位置推定部をさらに含む。前記少なくとも１つの識別要素は、複数のマーカに対応してもよい。それにより、前記ポインティング位置推定部は、映像認識された前記複数のマーカの方向及び前記複数のマーカ相互間の変位情報を利用して前記第２座標値を算出する。一実施形態に係る前記ポインティング位置推定部は、少なくとも１つの前フレームで入力された前記少なくとも１つの識別要素の位置を用いて、現フレームで入力される前記少なくとも１つの識別要素の位置を補正し、前記補正された前記少なくとも１つの識別要素の位置を用いて前記第２座標値を算出する。別の一実施形態によると、前記ポインティング位置推定部は、現フレームに先行する少なくとも１つの前フレームに対応して算出された第２座標値を利用して、現フレームで算出される第２座標値を補正する。そして、ポインティング位置推定部が前記補正された第２座標値を前記ポインティング位置として決定してもよい。
【０００７】
一実施形態に係るコンピュータ装置は、ユーザデバイスに関連にする少なくとも１つの識別要素が映像認識された第１形状を、予め与えられた前記識別要素の形状の第２形状と比較してポインティング位置の前記第２座標値を算出するポインティング位置推定部をさらに含んでもよい。この実施形態で、前記少なくとも１つの識別要素は、光源又は光源によって光を出す発光要素を含む。光源又は発光要素は、前記ユーザデバイスに備えられるスイッチのオン・オフの変更によって、ついたり又は消えてもよい。従って、このようなオン・オフの状態により識別要素は認識可能な状態であってもよく、又は認識不可能な状態であってもよい。
【０００８】
別の一実施形態に係るコンピュータ装置は、ユーザデバイスに関連する少なくとも１つの識別要素の位置を算出し、前記少なくとも１つの識別要素とポインティング位置の相対的変位とを用いて前記第２座標値を算出するポインティング位置推定部をさらに含む。相対的変位は、設定される値であってもよく、ユーザ操作によって変更されてもよい。例示的に、しかし、限定されないように、前記相対的変位を変更する前記ユーザ操作は、前記ユーザデバイスに備えられるホイール（ｗｈｅｅｌ）の操作によって識別されてもよい。また、前記相対的変位を変更する前記ユーザ操作は、前記ユーザデバイスに備えられる圧力センサのセンシング値によって識別されてもよい。
【０００９】
別の一実施形態によると、ユーザの両目の位置を用いて、グローバル座標系における第１オブジェクトポイントの座標値をユーザ認識座標系（ｕｓｅｒ  ｒｅｃｏｇｎｉｔｉｏｎ  ｃｏｏｒｄｉｎａｔｅ  ｓｙｓｔｅｍ）における座標値である第１座標値に変換する変換関数を決定するオブジェクト位置推定部と、ポインティング位置の第２座標値を前記第１座標値と比較して前記ポインティング位置が前記第１オブジェクトポイントに対応するか否かの可否を判断するポインティング判断部とを含むコンピュータ装置が提供される。前記ポインティング判断部は、前記第２座標値と前記第１座標値との距離が閾値未満である場合、前記ポインティング位置を前記第１オブジェクトポイントとして決定してもよい。
【００１０】
また別の一実施形態によると、ユーザの両目の位置を用いて、グローバル座標系における第１オブジェクトポイントの座標値をユーザ認識座標系における座標値である第１座標値に変換する変換関数を決定するオブジェクト位置推定部と、ポインティング位置の第２座標値に前記変換関数の逆関数を適用してグローバル座標系の第３座標値を決定し、前記第３座標値を前記第１座標値と比較して前記ポインティング位置が前記第１オブジェクトポイントに対応するか否かの可否を判断するポインティング判断部とを含むコンピュータ装置が提供される。
【００１１】
また別の一実施形態によると、少なくとも１つのプロセッサを含むコンピュータ装置が３次元相互作用的なユーザー体験を提供するコンピュータ方法が提供される。前記方法は、第１オブジェクトポイントが映像で表示される位置及びユーザの両目の位置を用いて、ユーザに前記第１オブジェクトポイントの位置として認識される第１座標値を算出するステップと、ユーザのポインティング位置である第２座標値を算出するステップと、前記第１座標値と前記第２座標値とを比較して前記ポインティング位置が前記第１オブジェクトポイントに対応するか否かの可否を判断するステップとを含む。一実施形態によると、前記ユーザの両目の位置及び前記ユーザのポインティング位置は、１つのカメラの映像から算出されてもよい。一方、前記第２座標値を算出するステップは、ユーザデバイスに関連する少なくとも１つの識別要素の位置を用いてポインティング位置の前記第２座標値を算出してもよい。この場合、前記第２座標値を算出するステップは、少なくとも１つの前フレームで入力された前記少なくとも１つの識別要素の位置を用いて、現フレームで入力される前記少なくとも１つの識別要素の位置を補正し、前記補正された前記少なくとも１つの識別要素の位置を用いて前記第２座標値を算出してもよい。
【発明の効果】
【００１２】
３次元相互作用的なユーザー体験を提供するコンピュータ装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係るコンピュータ装置を示すブロック図である。
【図２】一実施形態に係るユーザー体験を提供する装置の応用を説明するための図である。
【図３】一実施形態によりオブジェクトの位置を推定する方法を説明するための図である。
【図４Ａ】オブジェクトの位置を推定する過程を説明するための図である。
【図４Ｂ】オブジェクトの位置を推定する過程を説明するための図である。
【図５Ａ】一実施形態に係るコンピュータ装置を示すブロック図である。
【図５Ｂ】ポインティング位置を推定する過程を説明するための図である。
【図６Ａ】一実施形態に係るポインティングデバイスの構造と動作を示す。
【図６Ｂ】一実施形態に係るポインティングデバイスの構造と動作を示す。
【図６Ｃ】一実施形態に係るポインティングデバイスの構造と動作を示す。
【図６Ｄ】一実施形態に係るポインティングデバイスの構造と動作を示す。
【図７Ａ】ポインティング位置を算出する過程を説明するための図である。
【図７Ｂ】ポインティング位置を算出する過程を説明するための図である。
【図８Ａ】別の一実施形態に係るポインタデバイス構造と動作を示す。
【図８Ｂ】別の一実施形態に係るポインタデバイス構造と動作を示す。
【図９Ａ】ポインティング位置を算出する過程を説明するための図である。
【図９Ｂ】ポインティング位置を算出する過程を説明するための図である。
【図１０Ａ】別の一実施形態に係るポインタデバイス構造及び応用を示す。
【図１０Ｂ】別の一実施形態に係るポインタデバイス構造及び応用を示す。
【図１１】一実施形態に係るコンピュータ方法を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、実施形態に添付の図面を参照しながら詳細に説明する。しかし、このような実施形態によって権利範囲が制限されたり限定されることはない。各図面に提示された同一の参照符号は同一の部材を示す。
【００１５】
以下、説明で用いられる用語は、関連する技術分野において、一般的、且つ普遍的であるものとして選択されたが、技術の発達及び／又は変化、慣例、技術者の選好などにより他の用語があってもよい。従って、以下、説明で用いられる用語は技術的思想を限定するものと理解されなければならず、実施形態を説明するための例示的用語として理解されなければならない。
【００１６】
また、特定の場合は出願人が任意に選定した用語もあり、この場合、該当する説明の部分で詳細なその意味を記載する。従って、以下、説明で用いられる用語は、単純な用語の名称ではないその用語が有する意味と明細書全般にわたった内容を基に理解されなければならない。
【００１７】
図１は、一実施形態に係るコンピュータ装置を示すブロック図である。
【００１８】
装置１００はオブジェクト位置推定部１１０を含む。オブジェクト位置推定部１１０は、オブジェクトポイントが映像で表示される位置及びユーザの両目の位置を用いて、ユーザに自覚されるオブジェクトの位置を算出する。例示的に、前記映像は、立体映像であってもよい。オブジェクトポイントが映像で表示される位置は、特定ポイントが立体映像の左映像と右映像とにおいてそれぞれ表示される位置に対応する。そして、ユーザの両目の位置は、カメラによって人の目を撮影した映像から算出され得る。一実施形態における装置１００は、ユーザの両目の位置を推定する推定部（図示せず）をさらに含んでもよい。オブジェクト位置推定に関しては、図３〜図４Ｂを参照してより詳細に後述する。
【００１９】
そして、ポインティング判断部１２０は、ユーザのポインティング位置を前記オブジェクトの位置と比較して、どこがポインティングされているのか算出する。例示的に、空間座標値を考慮して、オブジェクトポイントのうち第１ポイントとポインティング位置の第２ポイントとが閾値未満の距離にある時、前記第１ポイントがポインティングされているものとして決定することができる。一実施形態によると、ユーザのポインティング位置は別途に算出されて装置１００に与えられる値であってもよい。そして、ユーザのポインティング位置はユーザが握ったり、手に着用する（ｗｅａｒａｂｌｅ）ポインタデバイスを映像認識することによって推定してもよい。これについては、図５Ａ〜図９Ｂを参照して詳細に後述する。
【００２０】
一方、立体映像で提供されるオブジェクト座標がユーザの視点でどのように自覚（認識）されるかを判断することは、座標移動又は座標変換として理解されてもよい。固定された座標をグローバル座標としてもよい。例えば、表示画面の中心を原点として中心における法線方向をｚ軸とする固定された座標を考えてみることができる。ある一瞬の立体映像におけるオブジェクトの位置は、このグローバル座標において一定の座標値を有する。ところが、ユーザの視聴位置によりユーザが認識するオブジェクトの座標値は変わることができる。これをユーザ認識座標系として表してもよい。それにより、オブジェクト位置推定部１１０の役割は、グローバル座標系におけるオブジェクトポイントの座標値をユーザ認識座標系における座標値に座標変換することと理解することができる。そして、ポインティング判断部１２０は、ユーザ認識座標系に座標変換されたオブジェクトポイントを、ポインティング位置の座標と比較してポインティング位置を判断するものと理解することができる。
【００２１】
また、オブジェクト位置推定部１１０が前記座標変換に対応する変換関数を決定するものと見ると、ポインティング判断部１２０は、ユーザ認識座標におけるポインティング位置に前記変換関数の逆関数を適用してグローバル座標系におけるポインティング位置を探すことができる。そして、グローバル座標系内におけるオブジェクトポイントとポインティング位置とを比較することによってポインティングの可否を判断することができる。以下では具体的な実施形態を説明する。
【００２２】
図２は、一実施形態に係るユーザー体験を提供する装置の応用を説明するための図である。
【００２３】
ディスプレイ２００によって立体映像が提供されてもよく、立体映像を提供する方式は多様なものであってもよい。例えば、立体式（ｓｔｅｒｅｏｓｃｏｐｉｃ  ｔｙｐｅ）、多視点式（ｍｕｌｔｉ−ｖｉｅｗ  ｔｙｐｅ）などの様々な方式が可能である。また、立体映像を提供する方式は、メガネ式又は裸眼式のうちいずれも可能である。このようなディスプレイ２００によって提供される３Ｄ映像にオブジェクト２１０が含まれている。
【００２４】
実施形態によると、ユーザ２２０は、ポインティングデバイス２３０を用いてオブジェクト２１０の特定ポイント２１１をポインティングすることができる。このようなポインティング入力の認識は、オブジェクト２１０を選択し、動かしたり回したり、オブジェクト２１０に図を描写するなどの応用に用いられてもよい。例えば、医療分野における応用において、心臓の特定血管を指定したり、マーキングをしておいたり、遠隔にある（ｒｅｍｏｔｅ）手術装備で心臓を切開するなどのインターフェース接続が可能である。このような応用が活性化され、様々な分野に適用されるためには、ユーザ２２０がポインティングする場所がどこであるかを正確かつ精巧に認識することが重要である。
【００２５】
ところが、同一の入力３Ｄ映像と視差情報とによって立体映像が提供されても、ユーザ２２０が自覚するオブジェクト２１０の位置は変わる。例えば、提供される映像が変わらなくてもユーザの目の位置２２１が上下左右に変わることによってユーザ２２０にはオブジェクト２１０の位置も変わるように認知される。ユーザは、自身が認知するオブジェクト２１０の位置に基づいて、特定のポイント２１１をポインティングしようとするが、この部分が実際のオブジェクト２１０のどの部分であるかを把握することが必要である。一実施形態によると、１つのカメラ２０１によって識別されるユーザの両目の位置とポインタ２３０の位置とに基づいて、ユーザがオブジェクト２１０のどの部分をポインティングするかを判断する。具体的な内容は図３以下を参照して説明する。
【００２６】
図３は、一実施形態によりオブジェクトの位置を推定する方法を説明するための図である。
【００２７】
ここに示された例は、図２の立体映像に対応し、表示された座標軸は表示画面の中心を原点とする３次元座標系に関連する。位置３００のカメラからユーザの両目の位置ベクトルが認識されてもよい。ベクトルｅＬは左目３２１の位置ベクトルであり、ベクトルｅＲは右目３２２の位置ベクトルである。ポイント３１１は、左映像に位置３０１で示され、右映像に位置３０２で示される点である。ｉＬは位置３０１の位置ベクトルであり、ｉＲは位置３０２の位置ベクトルである。ベクトルｉＬのポイント３０１が左目に見え、ベクトルｉＲにポイント３０２が右目に見えることによって、ユーザは空間上の位置３１１にオブジェクトがあるものと自覚する。ｏは、このポイント３１１の位置ベクトルである。ポイント３１１は、オブジェクト３１０の一部であってもよい。そして、ｐは、ユーザがポインティングデバイス３３０を用いて入力するポインティング位置３３１の位置ベクトルである。
【００２８】
実施形態によると、このポイント３１１の位置ベクトルｏとポインティング位置３３１の位置ベクトルｐとを推定する。また、推定されたベクトルｏとベクトルｐの相対的位置の差に基づいてユーザがポインティングする位置を決定する。一台のカメラが撮影し、撮影した映像から目の位置を識別して左目の位置ベクトルｅＬと右目の位置ベクトルｅＲが推定されてもよい。それにより、映像内に左目と右目の２次元座標が導き出される。人間の平均的な両目間の距離（Ｉｎｔｅｒ  Ｐｕｐｉｌ  Ｄｉｓｔａｎｃｅ：ＩＰＤ）は、（性別や年齢及び人種により偏差があるが）概略６ｃｍ程度である。このＩＰＤ値が上記において導き出された左目及び右目の位置によって３次元位置ベクトルｅＬとｅＲとを決定するのに用いられてもよい。位置ベクトルｅＬとｅＲが求められれば、オブジェクトポイント３１１の位置ベクトルｏを求めることができる。図４Ａ及び４Ｂを参照してより詳細に説明する。
【００２９】
図４Ａ及び４Ｂは、オブジェクトの位置を推定する過程を説明するための図である。
【００３０】
両目の位置４１１，４１２と映像にポイントの位置４０１，４０２が全て同一の平面上にある場合が図４Ａに示される。このようにポイントと両目とが全て同一の平面にある場合には、ポイント４０１からポイント４１１への第１直線と、ポイント４０２からポイント４１２への第２直線は、一点で交差する。この点４００が人によって認識されるオブジェクトポイントである。左目の位置４１１ベクトルｅＬからポイント４０１の位置ベクトルｉＬを引いて求めるベクトルＬと、右目の位置４１２ベクトルｅＲからポイント４０２の位置ベクトルｉＲを引いて求めるベクトルＲとを用いてオブジェクトポイントの位置ベクトルｏを求めることは、以下の式（１）及び式（２）で提示された方程式を解くことで理解することができる。
【００３１】
【数１】
0006777391.tif 000002
しかし、上記のようにポイントと両目とが全て同一の平面にある場合は珍しく、図４Ｂのように、一般的には両目の位置４３１，４３２と映像におけるポイントの位置４２１，４２２が同一の平面にない。それにより、拡大図４０５に見えるように、ポイント４２１からポイント４３１への第１直線と、ポイント４２２からポイント４３２への第２直線とは、捻れた位置になる。このような場合には、第１直線と第２直線とに最も近い点４０６を求めて、この点４０６をオブジェクトポイントとして推定する。例えば、第１直線にも直交して、第２直線にも直交する線分の中点がオブジェクトポイントとなる。このような過程によってオブジェクトポイントの位置ベクトルｏは、以下の式（３）〜式（５）の方程式を解くことによって求めることができる。
【００３２】
【数２】
0006777391.tif 000003
このような過程によって、映像内のすべての点に対するオブジェクトポイントの位置ベクトルを求めれば、ユーザが認識する立体映像の正確な位置が分かる。これは、左映像と右映像によって決定されるオブジェクトの位置を、現在のユーザの両目の位置から認識される位置へ座標移動することと理解してもよい。このようにオブジェクトポイントの位置ベクトルｏが推定されれば、ポインティング位置ｐと比較することによって、ユーザがオブジェクトポイントをポインティングするか否かの可否を判断することができる。例示的に、ポインティング位置の位置ベクトルｐを求める過程を図５Ａ以下を参照して説明する。
【００３３】
図５Ａは、一実施形態に係るコンピュータ装置を示すブロック図である。
【００３４】
装置１０１は、オブジェクト位置推定部１１１及びポインティング判断部１２１の他に、ポインティング位置推定部１３１を含む。オブジェクト位置推定部１１１の動作や実施形態に関しては図１、図３〜図４Ｂを参照して上述したものと同一である。そして、ポインティング判断部１２１は、ユーザのポインティング位置を前記オブジェクトの位置と比較して、どこがポインティングされているかを算出する。ユーザがポインティングする場所がオブジェクトの中のどこであるかを正確に判断するものがポインティング判断部１２１である。例示的に、ポインティング判断部１２１は、認識されたポインティング位置と閾値との距離内にあるオブジェクトポイントを現在のポインティング位置として決定してもよい。ポインティング判断部１２１の動作は図１を参照して上述した。
【００３５】
本実施形態における装置１０１は、ポインティング位置推定部１３１を含む。ポインティング位置推定部１３１は、映像認識されるポインティングデバイスの識別要素を用いて、ユーザが現在ポインティングをしている位置を算出する。以下、ポインティングデバイスの多様な形態及びポインティング位置推定部１３１がポインティング位置を算出する内容を詳細に説明する。図５Ｂ以下を参照する。
【００３６】
図５Ｂは、ポインティング位置を推定する過程を説明するための図である。
【００３７】
上述したように、カメラの位置５００からポインティングデバイス５１０を撮影すると、ポインティング位置５１１の位置ベクトルｐがポインティング位置推定部１３１によって算出される。カメラがポインティングデバイス５１０を撮影すると、カメラの位置５００からポインティング位置５１１に向かった方向ベクトルｕが分かる。実施形態によると、方向ベクトルｕを用いてポインティング位置５１１を算出し、カメラの位置ベクトルｓを用いてポインティング位置ベクトルｐを求める。カメラを２つ以上使えばポインタの三次元位置をすぐに把握することができるが、実現費用が高くなり、カメラ間の精巧なキャリブレーション問題（ｃａｌｉｂｒａｔｉｏｎ  ｉｓｓｕｅ）が生じ得る。以下では与えられたパラメータの位置ベクトルｓ、方向ベクトルｕを用いてポインティング位置ベクトルｐを求めるいくつかの実施形態が提示される。
【００３８】
図６Ａ〜６Ｄは、一実施形態に係るポインティングデバイスの構造と動作を示す。
【００３９】
実施形態に係るデバイス６００の側面図が図６Ａに示された。このデバイス６００は、ペンと類似した形である。マーカ６１１，６１２，６１３が取り付けられたリングが前端部に設置され、その先にはポインティングのためのニードル６１４が配置されている。このニードルの先端部分（ｔｉｐ）であるポインタ６１５がポインティング位置と認識されてもよい。マーカ及びニードルチップの位置のポインタは、発光ダイオード（ＬＥＤ）のような素子で実現されてもよい。又は、マーカやポインタが蛍光塗料を用いて識別されてもよい。マーカは互いに同一の距離ｄを保持するように構成されている。そして、マーカの中心にあるニードルはマーカを通過する平面に直交する方向に取り付けて、ｈの長さの先にポインタが位置する。
【００４０】
図６Ｂは、前端部からポインティングデバイス６００を見た前面図であり、図６Ｃは、反対側からポインティングデバイスを見た背面図である。図６Ｂに示したように、マーカ６１１，６１２，６１３は互いに一定の間隔を有するようにリング６３０上に配置され、ポインタ位置６１５はこのマーカの位置からの変位によって算出されてもよい。算出過程は図７Ａ及び７Ｂを参照してより詳細に後述する。
【００４１】
再度、図６Ａを参照する。例示的に、ペンホルダ（ｐｅｎ  ｈｏｌｄｅｒ）６２０の部分に１つ以上のボタン６２１が取り付けられてもよい。このボタン６２１は、クリックを検出する機械的なスイッチによって実現されてもよく、及び／又はタッチ感応入力モジュール（ｔｏｕｃｈ−ｓｅｎｓｉｔｉｖｅ  ｉｎｐｕｔ  ｍｏｄｕｌｅ）によって実現されてもよい。このボタン６２１によってユーザは３Ｄ空間上にあるオブジェクトを選択したり、マーキングしたり、動かしたり、回転させたり、又は、医療分野における切開などのインタラクション作業を行うことができる。一実施形態によると、デバイス６００にはホイール形態のボタン６２２が含まれてもよい。このボタン６２２はマウスのように、画面の拡大や縮小、コンテンツスクロールなどのインタラクションを可能にする機能が割り当てられてもよい。
【００４２】
しかし、別の実施形態におけるボタン６２２は、ユーザがポインタ６１５の位置を調整できるように機能を割り当てることができる。このような位置調整は、ｈ値をボタン６２２によって調整することと理解してもよいが、調整は、実際のニードル６１４の長さやポインタ６１５の位置と関係なく、マーカに対するポインティング位置の相対的変移を調整するソフトウェア的処理によって実現することができる。勿論、ボタン６２２で外部に突出したニードル６１４の物理的な長さを調整することも排除することはできない。このようにして、ユーザは応用や自身の好みに合うようにポインティングの位置と手の距離とを調整することができる。さらに、ボタン６２２も圧力を検出する圧力センサによって実現してもよい。ユーザが強く押すと、ポインティング位置がユーザから遠ざかるようなインタラクションを可能にしてもよい。図６Ｄでは、ユーザがオブジェクト６０５の位置６０６をポインティングする様子が示されている。
【００４３】
図７Ａ及び７Ｂは、図６Ａのポインティングデバイスに関する実施形態におけるポインティング位置を算出する過程を説明するための図である。
【００４４】
図７Ａのカメラの位置７００の位置ベクトルをｓ、位置７００から第１マーカの位置７１０への方向ベクトルをｕ１、第２マーカの位置７２０への方向ベクトルをｕ２、第３マーカの位置７３０への方向ベクトルをｕ３で表すと、各マーカの位置ベクトルｐ１、ｐ２、及びｐ３は、下の式のように表される。ｒ、ｓ、及びｔは、カメラの位置７００とマーカとの間の距離である。
【００４５】
【数３】
0006777391.tif 000004
それにより、ｒ、ｓ、及びｔは、以下の式（７）の連立方程式を解いて求めることができる。
【００４６】
【数４】
0006777391.tif 000005
このようにマーカの位置ベクトルｐ１、ｐ２、及びｐ３が求められれば、ポインティング位置の位置ベクトルｐが求められる。図７Ｂに示したように、ポインタ位置７０１は、マーカの位置の中心点７０２から、ノーマル（ｎｏｒｍａｌ）方向にｈ程離れている。ｖは、マーカの位置が成し遂げる平面のノーマルベクトルである。そして、以下の式を参照すると、マーカの位置ベクトルｐ１、ｐ２、及びｐ３からポインティング位置のベクトルｐを求めることができる。
【００４７】
【数５】
0006777391.tif 000006
上述した実施形態の他にポインティングデバイスは、異なる多様な形であってもよい。例えば、マーカの個数も３個ではなく、４個以上であってもよく、又は、１個や２個であってもよい。さらに、マーカレス（ｍａｒｋｅｒ−ｌｅｓｓ）画像認識ベースによってポインティングがなされてもよい。１個のマーカを備える例示的な別の実施形態が下記に提示される。
【００４８】
図８Ａ及び８Ｂは、別の一実施形態に係るポインタデバイス構造と動作を示す。
【００４９】
図８Ａに示されたポインティングデバイスもペンや手術用ナイフと類似の形態をしている。ペン後方の円形構造物８１０内に識別要素８１１が円形に配置されている。さらに配置され得る識別要素８１２は、円形の識別要素８１１と同一の平面に存在してもよい。ペンの前部にはニードル８１３が配置されている。本実施形態におけるボタン８３０は、ポインタのオン／オフを操作することができるように機能が付与される。ボタン８３０を押した状態がポインティングデバイスがオンになったものに、ボタン８３０を押さなかった状態がオフになったものに、それぞれ対応することができる。ボタン８３０を押してデバイスを活性化させることは、電波を用いて伝えてもよい。しかし、図示された実施形態においては、デバイスがオンになった場合、円形の識別要素８１１の部分にＬＥＤ光が発光されることで、カメラによって認識され得る。ボタンによってデバイスがオフにされた場合、後の部分８２０に配置された識別要素８２１及び識別要素８２２の光が消えてもよい。図８Ｂにおいては、このような実施形態に係るユーザのポインティングデバイス８５０の操作が示されている。ポインティング位置８３０は、予め指定された識別要素からの相対的変位によって認識されてもよく、ユーザの操作によってオブジェクトの位置８４０がポインティングされたことを検出してもよい。このような実施形態に係るポインティング位置の算出については、図９Ａ及び９Ｂを参照して後述する。
【００５０】
図９Ａ及び図９Ｂは、前記図８Ａのポインティングデバイスの実施形態によりポインティング位置を算出する過程を説明するための図である。識別要素の形（この例においては、一定の大きさを有する円及び／又は円と同一の平面にある直線）が用いられる。図９Ａで示されたものを参照すると、大きさが分かっている円を用いて、円の中心の位置と法線ベクトルＮが求められる。
【００５１】
まず、図９Ａにおいて、大きさが分かっている空間上の円であるマーカが撮影されると、撮影された映像におけるマーカは、円又は楕円に投影される。ここで、空間上の円形のマーカを構成する点などの集合をＰｐと定義し、その点などをカメラの中心に投影する時、映像の平面上に投影された点の逆に投射した集合を以下の式のようにＰｕと定義する。
【００５２】
【数６】
0006777391.tif 000007
ここで、ｘｕ、ｙｕは映像の平面に投影されたマーカの点の位置であり、ｆはカメラの焦点距離である。ｋはスケールパラメータである。Ｐｐは円として定義されており、Ｐｕは円又は楕円の形になるため、この２点の集合は一般的には２次曲線の方程式を満たし、ここで、それぞれの点の集合に対する楕円の行列をそれぞれＱｐとＱｕとする。
【００５３】
【数７】
0006777391.tif 000008
一方、空間上の円と投影された円又は楕円は、投影空間上において、同一の点を原点として有するため、ＰｐとＰｕは回転の関係を有し、このときの回転行列をＲｐとする。従って、式（１１）におけるＰｕ値にＲｐＰｐを代入すると、ＱｕとＱｐの関係を下記の式（１２）のように求めることができる。
【００５４】
【数８】
0006777391.tif 000009
上記の式（１３）におけるＶ∧Ｖは、Ｑｕに固有値分解を適用した式である。Ｖは固有ベクトルの行列である。λ１、λ２、λ３はＱｕの固有値であり、∧は固有値の対角行列である。この式を式（１２）に適用すると、最終的な回転行列Ｒは、下記の式（１４）のように示すことができる。
【００５５】
【数９】
0006777391.tif 000010
すると、中心点の位置ベクトルＣと法線ベクトルＮは下記のように求めることができる。ＣとＮはそれぞれ２つの解決策であるため、曖昧さを避けるために同心円を用いて共通する解決策を求める。
【００５６】
【数１０】
0006777391.tif 000011
【００５７】
そして、図９Ｂにおいては、ポインティングデバイスの姿勢を求めるために円のような平面上にある直線を用いて、回転値を求める方式が提示されている。示された例においては、円の中心に向かって円と同一の平面にある直線を用いて、正確な回転値が求められる。円にある光は下記のように算出される。
【００５８】
【数１１】
0006777391.tif 000012
ここで、座標［ｘｐ、ｙｐ、１］は、直線上の点の映像座標［ｘｕ、ｙｕ、１］にカメラの内部パラメータの逆行列を掛けてカメラ座標に変換した後、ｚ軸の値を１に正規化した座標であり、ｗはこの座標のスケールパラメータである。図９Ｂにおける映像の平面上の直線は、ｗの値によって多様な空間上の座標値を有してもよく、このうち、実際のマーカが存在する平面Π上に直線が存在するようにするｗを探す。逆に投射された点がΠ上に存在するか判断するためには、Πのノーマルベクトルｎと平面上の点ｃとｗ［ｘｐ、ｙｐ、１］を連結した直線の内積を求める。内積値が０である場合、ｎと（ｃ−ｗ［ｘｐ、ｙｐ、１］）は垂直な関係にあり、よってｗ［ｘｐ、ｙｐ、１］は平面Π上にある。
【００５９】
【数１２】
0006777391.tif 000013
式（１９）におけるｎ１、ｎ２、ｎ３は、それぞれ平面Πのノーマルベクトルｎのｘ、ｙ、ｚ軸に対する値であり、ｃ１、ｃ２、ｃ３は平面Π上の点ｃのｘ、ｙ、ｚ軸に対する値である。
【００６０】
【数１３】
0006777391.tif 000014
前記式を参照すると、円と同一の平面Πにある直線が映像に投影された時、映像の直線上にある点（ｘｕ、ｙｕ）が逆に投射される。逆に投射された光と平面Πが出会う点を円の中心のｊ軸として設定する。法線ベクトルＮの方向はｋ軸として設定し、ｊ軸とｋ軸の外積によってｉ軸が決定される。このように３つの軸を列ベクトル（ｃｏｌｕｍｎ  ｖｅｃｔｏｒ）として有する３×３行列がカメラ座標のモデル（円形の識別要素）の回転行列になる。そして、カメラ座標のモデルの距離と姿勢値を用いて、ポインティングチップの最終的な位置と姿勢が推定されてもよい。
【００６１】
図１０Ａ及び１０Ｂは、別の一実施形態に係るポインティングデバイス構造及び応用を示す。図１０Ａの実施形態では、ポインタデバイス１０１０が人の指１０００に嵌めることができる形態で実現された。ニードルチップに備わっているポインタ１０１１によってユーザは空間上のポインティング位置を調整することができる。このような実施形態におけるデバイス１０１０は、複数のマーカを含んでもよい。図１０Ｂにおいては、ユーザの指にこのようなデバイスが複数個用いられる応用が提示されている。デバイス１０２１，１０２２，１０２３，１０２４はそれぞれ互いに区分される識別要素を有し、従ってポインティング位置はそれぞれ独立的な４個の位置に決定される。このような応用によると、オブジェクトを握ったり、形を変えたり、又は動かしたりなどのインタラクションがより直観的に提供され得る。
【００６２】
図１１は、一実施形態に係るコンピュータ方法を示すフローチャートである。
【００６３】
ステップＳ１１１０において、ユーザの両目の位置ベクトルｅＬとｅＲが入力される。そして、ポインティング位置を推定した結果であるベクトルｐが入力される。一実施形態によると、このようなポインティング位置のベクトルｐは入力されてもよく、直接算出されてもよい。算出される過程に関しては図５Ｂ〜図９Ｂを参照して上述した。
【００６４】
それによりステップＳ１１２０で、オブジェクトの位置ｏが推定される。オブジェクト位置推定部は、オブジェクトポイントが映像で表示される位置及びユーザの両目の位置を用いて、ユーザに自覚されるオブジェクトの位置を算出する。オブジェクト位置推定に関しては、図３〜図４Ｂを参照して説明した。図１で上述したように、このようなオブジェクトの位置を推定する過程は、座標移動又は座標変換として理解することができる。固定されたグローバル座標におけるオブジェクトポイントをユーザの両目の位置によって変わるユーザ認識座標系で座標変換する。そして、またこのようなオブジェクト位置推定は、前記座標変換に関連する変換関数を探す過程として理解することができる。
【００６５】
ステップＳ１１３０ではポインティング判断部がユーザ認識座標系で座標変換されたオブジェクトポイントを、ポインティング位置の座標と比較してポインティング位置を判断する。また、図１を参照して説明したように、この過程はポインティング判断部がユーザ認識座標におけるポインティング位置に前記変換関数の逆関数を適用してグローバル座標系におけるポインティング位置を探し、座標値の差によりポインティングの有無を決定するものと理解することができる。ここで、関連の多様な実施形態は図１〜図９Ｂを参照して上述された。
【００６６】
以上で説明された装置は、ハードウェア構成要素、ソフトウェア構成要素、及び／又はハードウェア構成要素及びソフトウェア構成要素の組合で実現してもよい。例えば、実施形態で説明された装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は、命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答できる様々な任意の装置として、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて実現されてもよい。処理装置はオペレーティングシステム（ＯＳ）及び前記オペレーティングシステム上で行われる１つ以上のソフトウェアアプリケーションを行ってもよい。また、処理装置は、ソフトウェアの実行に応答して、データをアクセス、格納、操作、処理及び生成してもよい。理解の便宜のために、処理装置は１つが使用されるものと説明される場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含んでいることが分かる。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含んでもよい。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【００６７】
ソフトウェアはコンピュータプログラム、コード、命令、又は、これらのうちの１つ以上の組合を含んでもよく、希望の通りに動作するように処理装置を構成したり独立的又は結合的に処理装置を命令してもよい。ソフトウェア及び／又はデータは、処理装置によって解釈されたり処理装置に命令又はデータを提供するために、いかなる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、又は送信される信号波に永久的又は一時的に具体化できる。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散し、分散された方法で格納されたり実行されてもよい。ソフトウェア及びデータは１つ以上のコンピュータ読取可能な記録媒体に格納されてもよい。
【００６８】
実施形態に係る方法は、多様なコンピュータ手段を介して行われることができるプログラム命令形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。前記コンピュータ読取可能な記録媒体はプログラム命令、データファイル、データ構造などを単独で又は組合せて含んでもよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなくインタープリタなどを用いてコンピュータによって実行できる高級言語コードが含まれる。前記ハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同様である。
【００６９】
上述のように、限定された図面によって実施形態が説明されたが、当該技術分野で通常の知識を有する者であれば、前記の記載から多様な修正及び変形が可能である。例えば、説明された技術が説明された方法と異なる順序で行われたり、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組合せたり、他の構成要素又は均等物によって代替、置換されても適切な結果が達成される。
【００７０】
従って、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だければはく特許請求の範囲と均等なものなどによって定められるものである。
【図１】
0006777391.tif 000015
【図２】
0006777391.tif 000016
【図３】
0006777391.tif 000017
【図４Ａ】
0006777391.tif 000018
【図４Ｂ】
0006777391.tif 000019
【図５Ａ】
0006777391.tif 000020
【図５Ｂ】
0006777391.tif 000021
【図６Ａ】
0006777391.tif 000022
【図６Ｂ】
0006777391.tif 000023
【図６Ｃ】
0006777391.tif 000024
【図６Ｄ】
0006777391.tif 000025
【図７Ａ】
0006777391.tif 000026
【図７Ｂ】
0006777391.tif 000027
【図８Ａ】
0006777391.tif 000028
【図８Ｂ】
0006777391.tif 000029
【図９Ａ】
0006777391.tif 000030
【図９Ｂ】
0006777391.tif 000031
【図１０Ａ】
0006777391.tif 000032
【図１０Ｂ】
0006777391.tif 000033
【図１１】
0006777391.tif 000034