(57)【特許請求の範囲】
【請求項１】
３次元のオブジェクトに対するユーザのジェスチャに応答する方法であって、少なくとも１つのオブジェクトが表示装置上に表示され、
前記方法は、
画像キャプチャ装置を使用してキャプチャされたユーザの手のジェスチャを検出する工程と、
前記ジェスチャおよびユーザの眼の位置の３Ｄ座標を計算する工程と、
前記少なくとも１つのオブジェクトの位置の３Ｄ座標を前記ユーザの眼の位置の関数として計算する工程と、
前記ジェスチャの前記位置から前記画像キャプチャ装置までの距離、前記ジェスチャの位置から各オブジェクトまでの距離、および各オブジェクトのサイズを計算する工程と、
アクセス可能な各オブジェクトに対し、前記ジェスチャの前記位置から前記画像キャプチャ装置までの距離、前記ジェスチャの位置から前記各オブジェクトまでの距離、および前記各オブジェクトのサイズを使用して、前記ジェスチャに応答する確率値を計算する工程と、
最大の確率値を有する１つのオブジェクトを選択する工程と、
前記１つのオブジェクトの前記ジェスチャに応答する工程と、を含む、前記方法。
【請求項２】
前記画像キャプチャ装置が同一の焦点距離を有する水平に配置された２つのカメラを含む、請求項１に記載の方法。
【請求項３】
前記３Ｄ座標は、前記選択ジェスチャの左右の画像の２Ｄ座標、前記カメラの焦点距離、および、前記カメラ間の距離に基づいて計算される、請求項２に記載の方法。
【請求項４】
前記オブジェクトの位置の３Ｄ座標が前記ユーザの左右の眼の位置の３Ｄ座標および前記左右のビューにおける前記オブジェクトの３Ｄ座標に基づいて計算される、請求項３に記載の方法。
【請求項５】
３次元のオブジェクトに対するユーザのジェスチャに応答するシステムであって、少なくとも１つのオブジェクトが表示装置上に表示され、
前記システムは、
画像キャプチャ装置を使用してキャプチャされたユーザの手のジェスチャを検出する工程と、
前記ジェスチャおよびユーザの眼の位置の３Ｄ座標を計算する工程と、
前記少なくとも１つのオブジェクトの位置の３Ｄ座標を前記ユーザの眼の位置の関数として計算する工程と、
前記ジェスチャの前記位置から前記画像キャプチャ装置までの距離、前記ジェスチャの位置から各オブジェクトまでの距離、および各オブジェクトのサイズを計算する工程と、
アクセス可能な各オブジェクトに対し、前記ジェスチャの前記位置から前記画像キャプチャ装置までの距離、前記ジェスチャの位置から前記各オブジェクトまでの距離、および前記各オブジェクトのサイズを使用して、前記ジェスチャに応答する確率値を計算する工程と、
最大の確率値を有する１つのオブジェクトを選択する工程と、
前記１つのオブジェクトの前記ジェスチャに応答する工程と、を実行するように構成されたプロセッサを含む、前記システム。
【請求項６】
前記画像キャプチャ装置が同一の焦点距離を有する水平に配置された２つのカメラを含む、請求項５に記載のシステム。
【請求項７】
前記３Ｄ座標は、前記選択ジェスチャの左右の画像の２Ｄ座標、前記カメラの焦点距離、および、前記カメラ間の距離に基づいて計算される、請求項６に記載のシステム。
【請求項８】
前記オブジェクトの位置の３Ｄ座標が前記ユーザの左右の眼の位置の３Ｄ座標および前記左右のビューにおける前記オブジェクトの３Ｄ座標に基づいて計算される、請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３Ｄシステムにおいてユーザによるクリック動作に応答する方法およびシステムに関する。より具体的には、本発明は、応答確率の値を使用する３Ｄシステムにおいてユーザによるクリック動作に応答するフォールト・トレラントな方法およびシステムに関する。
【背景技術】
【０００２】
１９９０年代の初めになってようやく、ユーザは、Ｍｉｃｒｏｓｏｆｔ社のＭＳ−ＤＯＳＴＭ（商標）オペレーティング・システムや多くの様々なＵＮＩＸの亜種のうちのいずれかなど、キャラクタ・ユーザ・インタフェース（ＣＵＩ）を通じて、大抵のコンピュータとのインタラクションを行うようになった。完全な機能を提供するために、テキストベースのインタフェースは、経験不足のユーザにとって直感的とは程遠い不可解なコマンドおよびオプションをしばしば含むことが多かった。キーボードは、独自のものではないにしても、ユーザによってコンピュータに対してコマンドを与える最も重要な装置であった。
【０００３】
大抵の現代のコンピュータ・システムは、２次元的なグラフィカル・ユーザ・インタフェース（ＧＵＩ）を使用している。これらのグラフィカル・ユーザ・インタフェースは、通常、ウインドウを使用して情報を管理し、ボタンを使用してユーザが入力を行えるようにするものである。この新しいパラダイムは、マウスの導入とともに、人々がコンピュータを使用する方法に大変革をもたらした。ユーザは、もはや、難解なキーワードやコマンドを覚えておく必要はなくなった。
【０００４】
グラフィカル・ユーザ・インタフェースは、キャラクタ・ユーザ・インタフェースよりも直感的であり、便利であるものの、ユーザは、依然として、キーボードやマウスなどの装置を使用しなければならない。タッチ・スクリーンは、手の中に持つ必要があるような中間的な装置を必要とすることなく、ユーザが表示されているものとの直接のインタラクションを行えるようにするキー装置である。しかしながら、ユーザは、依然として、装置に触れることが必要であり、このため、ユーザの活動が制限されてしまっている。
【０００５】
近年、知覚的リアリティの向上が、次世代の表示装置の変革を推進する主要な力の１つとなっている。これらの表示装置は、３次元（３Ｄ）グラフィカル・ユーザ・インタフェースを使用してより直感的なインタラクションを提供する。したがって、多くの概念的な３Ｄ入力装置が設計され、ユーザが便利にコンピュータと通信できるようになっている。しかしながら、３Ｄ空間が複雑であるため、通常、これらの３Ｄ入力装置は、マウスなどの従来の２Ｄ入力装置よりも利便性が劣るものである。さらに、ユーザは、依然として、何らかの入力装置を使用しなければならないため、インタラクションの自然さが大幅に損なわれている。
【０００６】
なお、人と人との間の通信手段として、スピーチ（音声）およびジェスチャが最も一般的に使用されている。３Ｄユーザ・インタフェース、例えば、仮想現実および拡張現実の発達により、ユーザがコンピュータと簡便且つ自然なインタラクションを行うことを可能とする音声認識およびジェスチャ認識システムに対する現実の需要がある。音声認識システムは、コンピュータでの用途を模索中であり、ジェスチャ認識システムは、典型的な家庭向け、ビジネス向けのユーザに対し、ユーザが自己の手ではない何らかの装置に頼ることがなければ、堅牢且つ正確な、リアルタイムの動作を提供するのが大変困難である。２Ｄグラフィカル・ユーザ・インタフェースにおいては、クリックするコマンドは、単純なマウス装置によって簡便に実施することができるが、最も重要な動作である。残念ながら、この動作は、ジェスチャ認識システムにおける最も難しい動作である。その理由は、ユーザが見ている３Ｄユーザ・インタフェースに対する指の空間的な位置を正確に取得することが困難だからである。
【０００７】
ジェスチャ認識システムを用いた３Ｄユーザ・インタフェースにおいては、ユーザが見ているボタンの３Ｄ位置に対する指の空間的な位置を正確に取得することが困難である。したがって、従来のコンピュータにおける最も重要な動作であると考えられるクリック動作を行うことが困難である。本発明は、この問題を解決する方法およびシステムを提供する。
【０００８】
関連技術として、英国特許２４６２７０９号（ＧＢ２４６２７０９Ａ）は、複合ジェスチャ入力を判定する方法を開示している。
【発明の概要】
【０００９】
本発明の一態様によれば、３次元で表示されるオブジェクトのユーザの選択ジェスチャに応答する方法が提供される。この方法は、表示装置を使用して少なくとも１つのオブジェクトを表示するステップと、画像キャプチャ装置を使用してキャプチャされたユーザの選択ジェスチャを検出するステップと、画像キャプチャ装置の出力に基づいて、この少なくとも１つのオブジェクトのうちの１つのオブジェクトがこのユーザによって選択されたかどうかをユーザの眼の位置、およびユーザの選択ジェスチャと表示装置との間の距離の関数として判定するステップと、を含む。
【００１０】
本発明の別の態様によれば、３次元で表示されたオブジェクトのユーザの選択ジェスチャに応答するシステムが提供される。このシステムは、表示装置を使用して少なくとも１つのオブジェクトを表示する手段と、画像キャプチャ装置を使用してキャプチャされたユーザの選択ジェスチャを検出する手段と、画像キャプチャ装置の出力に基づいて、この少なくとも１つのオブジェクトのうちの１つのオブジェクトがこのユーザによって選択されたかどうかをユーザの眼の位置、ユーザの選択ジェスチャと表示装置との間の距離の関数として判定する手段と、を含む。
【００１１】
本発明のこれらの態様、特徴および利点、また、その他の態様、特徴および利点は、添付図面と併せて以下の説明から明らかになるであろう。
【図面の簡単な説明】
【００１２】
【図１】本発明に係るインタラクション・システムの基本的なコンピュータ端末の実施形態を示す例示的な図である。
【図２】図１の例示的なインタラクション・システムにおいて使用される一組のジェスチャの例を示す例示的な図である。
【図３】両眼視のジオメトリ・モデルを示す例示的な図である。
【図４】２つのカメラ画像上のシーン・ポイントの透視投影のジオメトリ表現を示す例示的な図である。
【図５】画面座標系と３Ｄリアル・ワールド座標系との間の関係を示す例示的な図である。
【図６】画面座標および眼の位置による３Ｄリアル・ワールド座標の計算の仕方を示す例示的な図である。
【図７】本発明の実施形態に係る３Ｄリアル・ワールド座標系におけるユーザのクリック動作に応答する方法を示すフローチャートである。
【図８】本発明の実施形態に係るコンピュータ装置の例示的なブロック図である。
【発明を実施するための形態】
【００１３】
以下の説明において、本発明の実施形態の様々な態様について説明する。説明の目的で、完全な理解ができるように、特定の構成および詳細について記載する。しかしながら、本明細書中で提供する特定の詳細な事項に限定されることなく、本発明を実施できることも当業者には明らかとなるであろう。
【００１４】
本実施形態は、３Ｄシステムにおいてユーザによるクリックするジェスチャに応答する方法を開示する。本方法は、表示されたボタンがユーザのクリックするジェスチャに応答すべき確率値を定義する。この確率値は、クリックがなされたときの指の位置、ユーザの眼の位置に依存するボタンの位置、さらに、ボタンのサイズに従って計算される。最大のクリック確率を有するボタンがユーザのクリック動作に応答して起動される。
【００１５】
図１は、本発明の実施形態に係るコンピュータ・インタラクション・システムの基本的な構成を例示している。２つのカメラ１０および１１は、それぞれ、モニタ１２（例えば、６０インチ対角画面サイズのＴＶ）の上面の各側に位置している．これらのカメラは、ＰＣコンピュータ１３に接続されている（カメラは、モニタに組み込まれていてもよい）。ユーザ１４は、一対の赤青メガネ１５、シャッター・メガネ、または他の種類のメガネをかけて、または、モニタ１２が自動立体視表示装置である場合にはメガネをかけずに、モニタ１２上に表示された立体コンテンツを見る。
【００１６】
動作の際には、ユーザ１４は、カメラ１０および１１の３次元的な視野の中でジェスチャを行うことによって、コンピュータ１３上で動作する１つ以上のアプリケーションを制御する。ジェスチャは、カメラ１０および１１を使用して取り込まれ、ビデオ信号に変換される。そして、コンピュータ１３は、ユーザ１４によって行われた特定のハンド・ジェスチャを検出、識別するために、任意のソフトウェア・プログラムを使用してビデオ信号を処理する。アプリケーションは、制御信号に応答し、モニタ１２上に結果を表示する。
【００１７】
このシステムは、廉価なカメラを備えた標準的な家庭用、または、ビジネス用のコンピュータ上で容易に動作するため、公知のシステムの中では、他のものと比べて、大抵のユーザにとって入手しやすいものである。さらに、３Ｄ空間のインタラクションを必要とするどのようなタイプのコンピュータ・アプリケーションにも、このシステムを使用することができる。例示的なアプリケーションとして、３Ｄのゲームや３ＤのＴＶが挙げられる。
【００１８】
図１は、従来のスタンドアロン型のコンピュータ１３と連携したインタラクション・システムの動作を例示しているが、勿論、ラップトップ、ワークステーション、タブレット、テレビジョン、セットトップ・ボックスなど、他のタイプの情報処理装置にも、このシステムを利用することができる。本明細書中で使用されている用語「コンピュータ」は、これらの、さらに、その他のプロセッサベースの装置を含むように意図されている。
【００１９】
図２は、例示的な実施形態におけるインタラクション・システムによって認識される一組のジェスチャを示している。このシステムは、認識技術（例えば、手の境界分析に基づくもの）およびトレーシング技術を利用してジェスチャを識別する。認識されたジェスチャは、「クリックする」、「ドアを閉める」、「左にスクロールする」、「右に曲がる」などのアプリケーション・コマンドにマッピングすることができる。押す、左に振る、右に振るなどのジェスチャは、認識が容易である。ジェスチャのクリックもまた、認識が容易であるが、ユーザが見ている３Ｄユーザ・インタフェースに対するクリック・ポイントの正確な位置を識別することは比較的に困難である。
【００２０】
理論的には、カメラが２つあるシステムでは、これらのカメラの焦点距離と２つのカメラの間の距離とが与えられれば、どのような空間的なポイントの位置も、２つのカメラ上のポイントの画像の位置によって取得することができる。しかしながら、シーン内の同一のオブジェクトに対し、ユーザが異なる位置にある立体コンテンツを見ている場合には、このユーザが、オブジェクトが空間内の異なる位置にあると考えるであろう。図２において、右手を使用しているジェスチャが例示されているが、ユーザは、この代わりに左手、または、身体の他の部分を使用することもできる。
【００２１】
図３を参照すると、離れたポイントに対し、画面平面上で左右のビューを使用している両眼視のジオメトリ・モデルが示されている。図３において、ポイント３１および３０は、それぞれ、左のビューおよび右のビューにおける同一のシーン・ポイントの画像ポイントである。換言すれば、ポイント３１および３０は、左右の画面平面上へのシーン内の３Ｄポイントの投影ポイントである。ポイント３４および３５がそれぞれ左右の眼となる位置にユーザが立っている場合には、ユーザは、シーン・ポイントを、左右の眼で、ポイント３１および３０からそれぞれ見ているものの、このシーン・ポイントがポイント３２の位置にあると考えるであろう。ポイント３６および３７がそれぞれ左右の眼となる別の位置にユーザが立っている場合には、ユーザは、このシーン・ポイントがポイント３３の位置にあると考えるであろう。したがって、同一のシーンのオブジェクトに対し、ユーザは、その空間的な位置が自己の位置の変化に応じて変化したことに気づくであろう。ユーザが自己の手を用いてオブジェクトを「クリック」しようとすると、ユーザは、異なる空間的な位置をクリックすることになるであろう。結果として、ジェスチャ認識システムは、ユーザが異なる位置でクリックしていると認識するであろう。コンピュータは、ユーザがアプリケーションの異なるアイテムをクリックしていると認識することになるため、アプリケーションに対して誤ったコマンドを発するであろう。
【００２２】
この問題を解決するための一般的な方法は、システムが「仮想の手」を表示して、ユーザに対し、システムが認識しているユーザの手の位置を知らせることである。仮想の手が素手によるインタラクションの自然さを台無しにしてしまうことは明らかである。
【００２３】
この問題を解決するための別の一般的な方法は、ユーザが自己の位置を変更する度に、ユーザがジェスチャ認識システムに対し、その座標系を再較正するように求めることにより、ジェスチャ認識システムがユーザのクリック・ポイントをインタフェースとなるオブジェクトに正しくマッピングできるようにすることである。これには、大変な不便さを伴うことがよくある。多くの場合、ユーザは、自己の位置を変更することなく、単に、体の姿勢を若干変更し、さらに多くの場合、ユーザは、単に、自己の頭の位置を変更するだけであり、その変更に気がついていない。これらの場合には、ユーザの眼の位置が変更される度に座標系を再較正することは、現実的ではない。
【００２４】
さらに、ユーザが自己の眼の位置を変更しない場合であっても、ユーザは、特に、比較的小さなオブジェクトをクリックする場合、オブジェクトを必ずしも正確にクリックできていないことに気がつくことが多い。この理由は、空間内でクリックを行うことが困難だからである。ユーザは、自己の人差し指の方向および速度を正確に制御するのには十分に器用ではないことがあり、ユーザの手が揺れたり、ユーザの指または手がオブジェクトを隠したりすることがある。ジェスチャ認識システムの精度は、さらに、クリックするコマンドの正確さに影響を与える。例えば、特に、ユーザがカメラから遠く離れている場合には、指の動きが速すぎてカメラ・トラッキング・システムによる認識を精度良く行えないことがある。
【００２５】
したがって、インタラクション・システムがフォールト・トレラントであり（ユーザの不確かなコマンドに対して、正常な動作を保ち続ける能力を有し）、ユーザの眼の位置の小さな変化やジェスチャ認識システムの精度が低いことにより、頻繁に誤ったコマンドが発せられないようにすることに対する強い要請が存在する。すなわち、たとえ、ユーザがオブジェクトをクリックしていないことをシステムが検出しても、このシステムが、ユーザのクリックするジェスチャに応答してオブジェクトの起動を判定することが妥当となる場合がある。オブジェクトに対してクリック・ポイントが近づくほど、オブジェクトがクリックする（すなわち、起動する）ジェスチャに応答する確率が高まることは明らかである。
【００２６】
さらに、ユーザからカメラまでの距離により、ジェスチャ認識システムの精度が大幅に損なわれることは明らかである。ユーザがカメラから遠く離れている場合、システムは、クリック・ポイントを不正確に認識しがちである。他方で、画面上のボタン、または、より一般的には、起動されるべきオブジェクトのサイズも正確性に大きな影響を与える。大きなオブジェクトほどユーザにとってクリックしやすい。
【００２７】
従って、オブジェクトの応答度は、クリック・ポイントからカメラまでの距離、クリック・ポイントからオブジェクトまでの距離、さらに、オブジェクトのサイズに基づいて判定される。
【００２８】
図４は、カメラ２Ｄ画像座標系（４３０および４３１）と３Ｄリアル・ワールド座標系４００との関係を例示している。より具体的には、３Ｄリアル・ワールド座標系４００の原点は、左側のカメラ節点Ａ４１０と右側のカメラ節点Ｂ４１１とを結んだ線の中心に位置するように定義される。左側の画像および右側の画像の上の３Ｄシーン・ポイント（Ｘｐ，Ｙｐ，Ｚｐ）４６０の透視投影は、それぞれ、ポイントＰ１（Ｘ’Ｐ１，Ｙ’Ｐ１）４４０およびＰ２（Ｘ”Ｐ２，Ｙ”Ｐ２）４４１で表される。ポイントＰ１およびポイントＰ２の視差は、以下のように定義される。
ｄＸＰ＝Ｘ”ｐ２−Ｘ’Ｐ１                            等式（１）
および
ｄＹＰ＝Ｙ”Ｐ２−Ｙ’Ｐ１                            等式（２）
【００２９】
実際には、これらのカメラは、視差のうちの一方の値が常に零（０）とみなされるように配置される。一般性を失うことなく、本発明においては、図１における２つのカメラ１０および１１は、水平に並べられる。したがって、ｄＹＰ＝０である。カメラ１０および１１は、同一であることを想定するため、同一の焦点距離ｆ４５０を有する。右側の画像と左側の画像との間の距離は、２つのカメラの基線ｂ４２０である。
【００３０】
ＸＺ平面およびＸ軸上の３Ｄシーン・ポイントＰ（ＸＰ，ＹＰ，ＺＰ）４６０の透視投影をポイントＣ（ＸＰ，０，ＺＰ）４６１およびポイントＤ（ＸＰ，０，０）４６２でそれぞれ表す。図４を観察すると、ポイントＰ１とポイントＰ２との間の距離は、ｂ−ｄｘｐである。三角形ＰＡＢを観察すると、以下のことが分かる。
【数１】
0005846662.tif 000002
等式（３）
三角形ＰＡＣを観察すると、以下のことがわかる。
【数２】
0005846662.tif 000003
等式（４）
三角形ＰＤＣを観察すると、以下のことがわかる。
【数３】
0005846662.tif 000004
等式（５）
三角形ＡＣＤを観察すると、以下のことがわかる。
【数４】
0005846662.tif 000005
等式（６）
等式（３）および（４）から、以下の等式を得ることができる。
【数５】
0005846662.tif 000006
等式（７）
従って、以下の等式を得ることができる。
【数６】
0005846662.tif 000007
等式（８）
等式（５）および（８）から、以下の等式を得ることができる。
【数７】
0005846662.tif 000008
等式（９）
等式（６）および（９）から、以下の等式を得ることができる。
【数８】
0005846662.tif 000009
等式（１０）
【００３１】
等式（８）、（９）、および（１０）から、シーン・ポイントＰの３Ｄリアル・ワールド座標（Ｘｐ，Ｙｐ，Ｚｐ）を左右の画像におけるシーン・ポイントの２Ｄ画像座標に従って計算することができる。
【００３２】
クリック・ポイントからカメラまでの距離は、３Ｄリアル・ワールド座標系におけるクリック・ポイントのＺ座標の値であり、これは、左右の画像におけるクリック・ポイントの２Ｄ画像座標によって計算することができる。
【００３３】
図５は、画面座標系の座標と３Ｄリアル・ワールド座標系の座標との間の変換の仕方を説明するために、画面座標系と３Ｄリアル・ワールド座標系との関係を例示している。３Ｄリアル・ワールド座標系における画面座標系の原点Ｑを（ＸＱ，ＹＱ，ＺＱ）とする（これは、システムにとって既知である）。画面ポイントＰは、画面座標（ａ、ｂ）を有する。そこで、３Ｄリアル・ワールド座標系におけるポイントＰの座標は、Ｐ（ＸＱ＋ａ，ＹＱ＋ｂ，ＺＱ）である。従って、画面座標が与えられれば、それを３Ｄリアル・ワールド座標に変換することができる。
【００３４】
次に、図６は、画面座標および眼の位置による３Ｄリアル・ワールド座標の計算の仕方を説明するために例示されている。図６において、与えられた座標の全ては、３Ｄリアル・ワールド座標である。ユーザの左眼および右眼のＹ座標およびＺ座標がそれぞれ同じであると仮定することが合理的である。ユーザの左眼ＥＬ（ＸＥＬ，ＹＥ，ＺＥ）５１０および右眼ＥＲ（ＸＥＲ，ＹＥ，ＺＥ）５１１の座標は、等式（８）、（９）、および（１０）に従って、左右のカメラ画像における眼の画像座標によって計算することができる。上述したように、左のビューＱＬ（ＸＱＬ，ＹＱ，ＺＱ）５２０および右のビューＱＲ（ＸＱＲ，ＹＱ，ＺＱ）５２１におけるオブジェクトの座標は、それぞれの画面座標によって計算することができる。ユーザは、オブジェクトが位置ｐ（Ｘｐ，Ｙｐ，Ｚｐ）５００にあると感じるであろう。
【００３５】
三角形ＡＢＤおよびＦＧＤを観察すると、以下の等式を得ることができる。
【数９】
0005846662.tif 000010
等式（１１）
三角形ＦＤＥおよびＦＡＣを観察すると、以下の等式を得ることができる。
【数１０】
0005846662.tif 000011
等式（１２）
等式（１１）および（１２）から、以下の等式を得ることができる。
【数１１】
0005846662.tif 000012
等式（１３）
【００３６】
三角形ＦＤＥおよびＦＡＣを観察すると、以下の等式を得ることができる。
【数１２】
0005846662.tif 000013
等式（１４）
従って、以下の等式を得ることができる。
【数１３】
0005846662.tif 000014
等式（１５）
等式（１１）および（１５）から、以下の等式を得ることができる。
【数１４】
0005846662.tif 000015
等式（１６）
同様に、台形ＱＲＦＤＰおよびＱＲＦＡＥＲを観察すると、以下の等式を得ることができる。
【数１５】
0005846662.tif 000016
等式（１７）
したがって、以下の等式を得ることができる。
【数１６】
0005846662.tif 000017
等式（１８）
等式（１１）および（１８）から、以下の等式を得ることができる。
【数１７】
0005846662.tif 000018
等式（１９）
【００３７】
等式（１３）、（１６）、および（１９）から、オブジェクトの３Ｄリアル・ワールド座標は、左右のビューにおけるオブジェクトの画面座標およびユーザの左右の眼の位置によって計算することができる。
【００３８】
上述したように、オブジェクトの応答度の判定は、クリック・ポイントからカメラまでの距離ｄ、クリック・ポイントからオブジェクトまでの距離ｃ、さらに、オブジェクトのサイズｓに基づく。
【００３９】
クリック・ポイントからオブジェクトまでの距離ｃは、３Ｄリアル・ワールド座標系におけるクリック・ポイントおよびオブジェクトの座標によって計算される。左右の画像におけるクリック・ポイントの２Ｄ画像座標によって計算される、３Ｄリアル・ワールド座標系におけるクリック・ポイントの座標が（Ｘ１，Ｙ１，Ｚ１）であり、左右のビューにおけるオブジェクトの画面座標、さらに、ユーザの左右の眼の３Ｄリアル・ワールド座標によって計算される、３Ｄリアル・ワールド座標系におけるオブジェクトの座標が（Ｘ２，Ｙ２，Ｚ２）であると仮定する。クリック・ポイント（Ｘ１，Ｙ１，Ｚ１）からオブジェクト（Ｘ２，Ｙ２，Ｚ２）までの距離は、以下のように計算することができる。
【数１８】
0005846662.tif 000019
等式（２０）
【００４０】
クリック・ポイントからカメラまでの距離ｄは、３Ｄリアル・ワールド座標系におけるクリック・ポイントのＺ座標の値であり、これは、左右の画像におけるクリック・ポイントの２Ｄ画像座標によって計算することができる。図４に例示されているように、３Ｄリアル・ワールド座標系の軸Ｘは、単に、２つのカメラを結ぶ線であり、原点は、この線の中心である。したがって、２つのカメラの座標系のＸ−Ｙ平面は、３Ｄリアル・ワールド座標系のＸ−Ｙ平面と重なる。結果として、クリック・ポイントから任意のカメラ座標系のＸ−Ｙ平面までの距離は、３Ｄリアル・ワールド座標系におけるクリック・ポイントのＺ座標の値となる。なお、「ｄ」の正確な定義は、「クリック・ポイントから３Ｄリアル・ワールド座標系のＸ−Ｙ平面までの距離」または、「クリック・ポイントから任意のカメラ座標系のＸ−Ｙ平面までの距離」である。３Ｄリアル・ワールド座標系におけるクリック・ポイントの座標が（Ｘ１，Ｙ１，Ｚ１）であると仮定すると、３Ｄリアル・ワールド座標系におけるクリック・ポイントのＺ座標の値がＺ１であるため、クリック・ポイント（Ｘ１，Ｙ１，Ｚ１）からカメラまでの距離は、以下のように計算することができる。
ｄ＝Ｚ１
等式（２１）
【００４１】
オブジェクトの３Ｄリアル・ワールド座標が計算されると、オブジェクトのサイズｓを計算できるようになる。コンピュータ・グラフィックスにおいては、境界ボックスは、オブジェクトを完全に含む最小の尺度（面積、容積、または、より大きな寸法のパイパーボリューム）を有するクローズド・ボックスである。本発明においては、オブジェクトのサイズは、オブジェクトの境界ボックスの測定の共通の定義である。大抵の場合、「ｓ」は、オブジェクトの境界ボックスの長さ、幅、および高さのうちの最大のものとして定義される。
【００４２】
オブジェクトがユーザのクリックするジェスチャに応答すべき応答確率値は、上述したクリック・ポイントからカメラまでの距離ｄ、クリック・ポイントからオブジェクトまでの距離ｃ、およびオブジェクトのサイズｓに基づいて定義される。一般的な原理によれば、クリック・ポイントからカメラまでの距離が遠ざかるほど、または、クリック・ポイントからオブジェクトまでの距離が近づくほど、または、オブジェクトが小さくなるほど、オブジェクトの応答確率が大きくなる。オブジェクトのボリューム（塊）の中にクリック・ポイントが存在する場合には、このオブジェクトの応答確率は１であり、このオブジェクトは、当然にクリックするジェスチャに応答する。
【００４３】
応答確率の計算を例示するために、クリック・ポイントからカメラまでの距離ｄに関わる確率を以下のように計算することができる。
【数１９】
0005846662.tif 000020
等式（２２）
【００４４】
さらに、クリック・ポイントからオブジェクトまでの距離ｃに関わる確率は、以下のように計算することができる。
【数２０】
0005846662.tif 000021
等式（２３）
【００４５】
さらに、オブジェクトのサイズｓに関わる確率は、以下のように計算することができる。
【数２１】
0005846662.tif 000022
等式（２４）
【００４６】
最終的な応答確率は、上記３つの確率の積によって計算することができる。
Ｐ＝Ｐ（ｄ）Ｐ（ｃ）Ｐ（ｓ）
【００４７】
ここで、ａ１、ａ２、ａ３、ａ４、ａ５、ａ６、ａ７、およびａ８、は、定数値である。以下、ａ１、ａ２、ａ３、ａ４、ａ５、ａ６、ａ７、およびａ８についての実施形態を説明する。
【００４８】
なお、これらのパラメータは、表示装置のタイプに依存するが、表示装置自体は、画面とユーザとの間の平均距離に影響を及ぼす。例えば、表示装置がＴＶシステムである場合には、画面とユーザとの間の平均距離がコンピュータ・システムや携帯型ゲーム・システムのものよりも大きくなる。
【００４９】
Ｐ（ｄ）についていえば、原理的には、カメラからクリック・ポイントまでの距離が遠くなるほど、オブジェクトの応答確率が大きくなる。最大の確率は１である。オブジェクトがユーザの眼に近い場合、ユーザは、オブジェクトを容易にクリックすることができる。特定のオブジェクトでは、カメラからユーザまでの距離が近くなるほど、ユーザの眼からオブジェクトまでの距離が近くなる。したがって、ユーザが、カメラの十分に近くにいるが、オブジェクトをクリックしない場合、ユーザは、オブジェクトをクリックすることを望んでいない可能性が非常に高い。したがって、ｄが特定の値よりも小さく、ユーザがオブジェクトをクリックしないことをシステムが検出した場合には、このオブジェクトの応答確率は非常に小さい。
【００５０】
例えば、ＴＶシステムにおいては、ｄが１メータ以下であるときに応答確率Ｐ（ｄ）が０．１となり、ｄが８メータであるときに応答確率Ｐ（ｄ）が０．９９となるようにこのシステムを設計することができる。すなわち、
ａ１＝１であり、
ｄ＝１のとき、
【数２２】
0005846662.tif 000023
となり、
ｄ＝８のとき、
【数２３】
0005846662.tif 000024
となる。
【００５１】
この２つの等式により、ａ２およびａ３は、それぞれ、ａ２＝０．９６９３、ａ３＝０．０７０７として計算される。
【００５２】
しかしながら、コンピュータ・システムにおいては、ユーザは、画面により近づくことになる。したがって、ｄが２０センチメートル以下であるときに応答確率Ｐ（ｄ）が０．１となり、ｄが２メートルであるときに応答確率Ｐ（ｄ）が０．９９となるようにシステムを設計することができる。すなわち、
ａ１＝０．２であり、
ｄ＝０．２のとき、
【数２４】
0005846662.tif 000025
となり、
ｄ＝２のとき、
【数２５】
0005846662.tif 000026
となる。
【００５３】
そこで、ａ１、ａ２、およびａ３は、それぞれ、ａ１＝０．２、ａ２＝０．１９２１、ａ３は、ａ３＝０．０１８２として計算される。
【００５４】
Ｐ（ｃ）については、ユーザがオブジェクトから２センチメートル離れた位置をクリックする場合には、応答確率は、０．０１に近くなる。そこで、ｃが２センチメートル以上のときに応答確率Ｐ（ｃ）が０．０１となるようにシステムを設計することができる。すなわち、
ａ５＝０．０２であり、
ｅｘｐ（−ａ４×０．０２）＝０．０１となる。
そこで、ａ５およびａ４は、それぞれ、ａ５＝０．０２、ａ４＝２３０．２５８５と計算される。
【００５５】
同様に、Ｐ（ｓ）については、オブジェクトのサイズｓが５センチメートル以上のとき、応答確率Ｐ（ｓ）が０．０１となるようにシステムを設計することができる。すなわち、
ａ６＝０．０１であり、
ａ８＝０．０５のとき、
ｅｘｐ（−ａ７×０．０５）＝０．０１となる。
そこで、ａ６、ａ７、ａ８は、それぞれ、ａ６＝０．０１、ａ７＝９２．１０３４、およびａ８＝０．０５と計算される。
【００５６】
本実施形態においては、クリック動作が検出されると、全てのオブジェクトの応答確率が計算される。最大の応答確率を有するオブジェクトがユーザのクリック動作に応答する。
【００５７】
図７は、本発明の実施形態に係る３Ｄリアル・ワールド座標系におけるユーザのクリック動作に応答する方法を示すフローチャートである。以下、図１、図４、図５、図６を参照してこの方法を説明する。
【００５８】
ステップ７０１において、画面上に複数の選択可能なオブジェクトが表示される。ユーザは、例えば、図１に示されているように、メガネをかけて、または、メガネをかけないで、３Ｄリアル・ワールド座標系における選択可能なオブジェクトの各々を認識することができる。そこで、ユーザは、ユーザが望むタスクを実行するために、選択可能なオブジェクトのうちの１つをクリックする。
【００５９】
ステップ７０２において、画面上に設けられた２つのカメラを使用してユーザのクリック動作がキャプチャされ、ビデオ信号に変換される。次に、コンピュータ１３は、ユーザのクリック動作を検出、識別するためにプログラムされた任意のソフトウェアを使用してビデオ信号を処理する。
【００６０】
ステップ７０３において、図４に示されているように、コンピュータ１３は、ユーザのクリック動作の位置の３Ｄ座標を計算する。座標は、左右の画像におけるシーン・ポイントの２Ｄ画像座標に従って計算される。
【００６１】
ステップ７０４において、図４に示されているコンピュータ１３によって、ユーザの眼の位置の３Ｄ座標が計算される。ユーザの眼の位置は、２つのカメラ１０および１１によって検出される。カメラ１０および１１によって生成されたビデオ信号は、ユーザの眼の位置をキャプチャしたものである。左右の画像におけるシーン・ポイントの２Ｄ画像座標に従って３Ｄ座標が計算される。
【００６２】
ステップ７０５において、コンピュータ１３は、図６に示されているユーザの眼の位置に依存して画面上の全ての選択可能なオブジェクトの位置の３Ｄ座標を計算する。
【００６３】
ステップ７０６において、コンピュータは、クリック・ポイントからカメラまでの距離、クリック・ポイントから各選択可能なオブジェクトまでの距離、さらに、各選択可能なオブジェクトのサイズを計算する。
【００６４】
ステップ７０７において、コンピュータ１３は、クリック・ポイントからカメラまでの距離、クリック・ポイントから各選択可能なオブジェクトまでの距離、さらに、各選択可能なオブジェクトのサイズを使用して、各選択可能なオブジェクトに対するクリック動作に応答する確率値を計算する。
【００６５】
ステップ７０８において、コンピュータ１３は、最大の確率値を有するオブジェクトを選択する。
【００６６】
ステップ７０９において、コンピュータ１３は、最大の確率値を有する選択されたオブジェクトのクリック動作に応答する。したがって、たとえユーザが、自己がクリックしたいと望むオブジェクトを正確にクリックしない場合であっても、オブジェクトがユーザのクリック動作に応答することがある。
【００６７】
図８は、本発明の実施形態に係るシステム８１０の例示的なブロック図を示している。システム８１０は、３ＤのＴＶセット、コンピュータ・システム、タブレット、携帯用ゲーム、スマートフォンなどとすることができる。システム８１０は、ＣＰＵ（中央演算処理装置）８１１、画像キャプチャ装置８１２、ストレージ８１３、表示装置８１４、およびユーザ入力モジュール８１５を含む。図８に示すように、ＲＡＭ（ランダム・アクセス・メモリ）などのメモリ８１６をＣＰＵ８１１に接続することができる。
【００６８】
画像キャプチャ装置８１２は、ユーザのクリック動作をキャプチャするための要素である。そこで、ＣＰＵ８１１は、ユーザのクリック動作を検出、識別するために、ユーザのクリック動作のビデオ信号を処理する。さらに、画像キャプチャ装置８１２は、ユーザの眼をキャプチャし、ＣＰＵ８１１は、ユーザの眼の位置を計算する。
【００６９】
表示装置８１４は、現在のテキスト、画像、ビデオ、および他のコンテンツをシステム８１０のユーザに対して視覚的に再生出力するように構成される。表示装置８１４は、３Ｄコンテンツに適したどのようなタイプのものに適用されてもよい。
【００７０】
ストレージ８１３は、画像キャプチャ装置８１２を駆動、動作させるため、さらに、既に説明した検出および計算を処理するため、ＣＰＵ８１１のためのソフトウェア・プログラムおよびデータを記憶するように構成される。
【００７１】
ユーザ入力モジュール８１５には、文字またはコマンドを入力するためのキーやボタンを含めることができ、さらに、キーやボタンを用いて入力された文字やコマンドを認識する機能を持たせることができる。システムの使用アプリケーションに依存して、ユーザ入力モジュール８１５を省略することができる。
【００７２】
本発明の実施形態によれば、システムは、フォールト・トレラントである。たとえユーザがオブジェクトを正確にクリックしない場合であっても、クリック・ポイントがオブジェクトの近くにある場合、オブジェクトが極めて小さい場合、さらに／または、クリック・ポイントがカメラから遠く離れている場合には、オブジェクトはクリックに応答することがある。
【００７３】
本発明の原理のこれらの特徴および利点、さらに、その他の特徴および利点は、本明細書の開示内容に基づいて、関連する技術に関して通常の技術を有するものであれば容易に解明できるであろう。本発明の原理の開示内容は、ハードウェア、ソフトウェア、ファームウェア、特定目的用途のプロセッサ、または、これらを組み合わせた様々な形態で実施できることが理解できよう。
【００７４】
より好ましくは、本発明の原理の開示内容は、ハードウェアおよびソフトウェアを組み合わせて実施される。さらに、ソフトウェアは、プログラム・ストレージ・ユニットに上に現実的に実装されるアプリケーション・プログラムとして実施される。アプリケーション・プログラムは、適切なアーキテクチャからなるマシンにアップロードされ、このマシンによって実行されるようにしてもよい。好ましくは、このマシンは、１つ以上の中央処理装置（ＣＰＵ）、ランダム・アクセス・メモリ（ＲＡＭ）、入出力（Ｉ／Ｏ）インタフェースなどのハードウェアを有するコンピュータ・プラットフォーム上で実施される。また、コンピュータ・プラットフォームは、オペレーティング・システムおよびマイクロインストラクション・コードを含むようにしてもよい。本明細書中で開示される様々な処理および機能は、マイクロインストラクション・コードの一部を構成するものでもよいし、アプリケーション・プログラムの一部を構成するものであってもよいし、これらをどのように組み合わせたものであってもよいし、ＣＰＵによって実行されるものであってもよい。さらに、追加的なデータ記憶装置等、コンピュータ・プラットフォームに様々な他の周辺機器を結合するようにしてもよい。
【００７５】
さらに、添付図面に示すシステムの構成要素および方法のステップの幾つかは、好ましくは、ソフトウェアの形態によって実施されるため、システムの構成要素または処理機能ブロック間の実際の結合は、本発明の原理をプログラムする方法によって異なる場合があることが理解できよう。本明細書の開示する内容に基づいて、関連する技術における通常の技術知識を有するものであれば、本発明の原理の実施形態または構成、さらに、類似した実施形態または構成を企図できるであろう。
【００７６】
添付図面を参照して本明細書中で例示的な実施形態について説明したが、本発明の原理はこれらの実施形態に厳格に限定されるものではなく、関連技術に関して通常の技術を有する者であれば、本発明の原理の範囲または精神を逸脱することなく、様々な変更、改変を施すことが可能であることが理解できるであろう。このような変更、改変は、全て、添付の請求の範囲に記載されたような本発明の原理の範囲に含まれるように意図されている。
【図１】
0005846662.tif 000027
【図２】
0005846662.tif 000028
【図３】
0005846662.tif 000029
【図４】
0005846662.tif 000030
【図５】
0005846662.tif 000031
【図６】
0005846662.tif 000032
【図７】
0005846662.tif 000033
【図８】
0005846662.tif 000034