(57)【特許請求の範囲】
【請求項１】
処理ユニット、メモリ、ディスプレイ、深度カメラを備える計算処理システムで実行される計算実行方法であって、
前記処理ユニットは、
ａ  前記深度カメラを用いてユーザ深度画像を取得し、
ｂ  取得した前記ユーザ深度画像を用いてユーザに対応する多数点の空間位置を決定し、
ｃ  バーチャル操作領域内に位置する前記ユーザに対応する多数点の位置を少なくとも決定し、
ｄ  前記バーチャル操作領域内に位置するユーザに対応する決定した前記位置を用いて前記ユーザのバーチャル影を生成し、
ｅ  前記ディスプレイに生成した前記ユーザのバーチャル影を表示し、
ｆ  前記ユーザの操作イベントを検出するよう表示した前記ユーザのバーチャル影を用い、
前記計算処理システムは、前記ディスプレイとは異なる第二のディスプレイと、前記ディスプレイのための第一のバーチャル光源と、前記第二のディスプレイのための、前記第一のバーチャル光源とは異なる第二のバーチャル光源と、を有し、
前記処理ユニットは、前記ユーザの第二のバーチャル影を生成することを更に行い、
前記ユーザのバーチャル影は、前記バーチャル光源の空間位置に基づき生成され、
前記ユーザの第二のバーチャル影は、前記第二のバーチャル光源の空間位置に基づき生成され、
前記第二のバーチャル光源による前記第二のバーチャル影の一部が前記ディスプレイに生成されるべき場合は、前記ディスプレイには前記第二のバーチャル光源に基づいたバーチャル影の一部が生成される
計算実行方法。
【請求項２】
前記深度カメラは前記ディスプレイの前に位置するユーザの深度画像を取得するよう構成される、請求項１記載の計算実行方法。
【請求項３】
前記バーチャル操作領域は前記ディスプレイの直前に位置する予め定められた深度の領域である、請求項１又は請求項２記載の計算実行方法。
【請求項４】
前記バーチャル光源は前記ユーザの頭上後方に位置する平行光源である、請求項１〜３の何れか１項記載の計算実行方法。
【請求項５】
前記ユーザの空間位置に基づき前記バーチャル光源の空間位置を変更する、ことを更に含む、請求項１〜４の何れか１項記載の計算実行方法。
【請求項６】
前記ユーザから受け取ったコマンドに基づき前記バーチャル光源の空間位置を変更する、ことを更に含む、請求項１〜４の何れか１項記載の計算実行方法。
【請求項７】
前記ユーザのバーチャル影のピクセル値はバーチャルスクリーン表面と前記バーチャル影のピクセルに対応する点との間の距離に基づき計算される、請求項１〜６の何れか１項記載の計算実行方法。
【請求項８】
前記バーチャルスクリーン表面に近い点に対応するバーチャル影のピクセルには高いピクセル強度値が設定される、請求項７記載の計算実行方法。
【請求項９】
前記バーチャル操作領域内に位置する多数点のうちアクティブ領域内の点に対応するバーチャル影のピクセルは前記バーチャル影の残りとは異なる色を用いて前記ディスプレイで表される、請求項１〜８の何れか１項記載の計算実行方法。
【請求項１０】
ユーザ位置と予め定められた閾値とに基づき前記バーチャル影のタイプを変更する、ことを更に含む、請求項１〜８の何れか１項記載の計算実行方法。
【請求項１１】
前記バーチャル影のタイプは前記ユーザと前記ディスプレイとの間の距離が前記予め定められた閾値よりも下回ったときに変更される、請求項１０記載の計算実行方法。
【請求項１２】
アクティブであるか否かでユーザを分類する、ことを更に含む、請求項１〜１１の何れか１項記載の計算実行方法。
【請求項１３】
前記ユーザと前記ディスプレイとの間の距離が予め定められた閾値よりも小さいときに前記ユーザがアクティブであると分類する、請求項１２記載の計算実行方法。
【請求項１４】
前記ユーザと前記ディスプレイとの間の距離が予め定められた閾値よりも大きいときに前記ユーザをアクティブでないと分類する、請求項１２記載の計算実行方法。
【請求項１５】
前記ｆにおいて、前記ユーザがアクティブであると分類されたときのみ、ユーザ操作イベントを検知する、請求項１２記載の計算実行方法。
【請求項１６】
前記ユーザがアクティブであるか否かの分類に顔検知操作の実行を含み、前記ディスプレイに前記ユーザの顔が表示されたことを検知したときのみ、前記ユーザがアクティブであると分類する、請求項１２記載の計算実行方法。
【請求項１７】
前記ｆにおいて、ユーザ操作イベントはグラフィカルユーザインターフェイスウィジェットのホットスポットを用いて前記ユーザのバーチャル影のうち少なくとも位置の重複に基づき検出される、請求項１〜請求項１６の何れか１項記載の計算実行方法。
【請求項１８】
前記グラフィカルユーザインターフェイスウィジェットのホットスポットは複数のセンサピクセルを備え、前記ユーザ操作イベントは前記複数のセンサピクセルのうち少なくとも２つのセンサピクセルを用いて前記ユーザのバーチャル影のうち少なくとも位置の重複に基づき検出される、請求項１７記載の計算実行方法。
【請求項１９】
前記ディスプレイでの前記グラフィカルユーザインターフェイスウィジェットへの前記バーチャル影の近接に基づき前記ユーザのバーチャル影を変換する、ことを更に含む、請求項１７記載の計算実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ユーザインターフェイス技術、より詳細には影を用いて大型ディスプレイを操作する方法、システム及びプログラムに関する。
【背景技術】
【０００２】
当業者に理解されている通り、深度カメラを用いたジェスチャ操作は、特にゲームアプリケーションで認知度が高まっている。しかしながら、一般にジェスチャ操作では、特に複数ユーザが同時にシステムを操作しようとしたときに信頼性問題が起こることがある。ユーザの骨格（スケルトン）追跡に基づくシステムは、ユーザの立ち位置がディスプレイから近すぎる或いは遠すぎるときに悪くなり、なおまた信頼性問題に悩まされる。すなわち、これら現存システムのユーザは、ディスプレイのオブジェクト操作において実際の距離を理解し難い。更にはユーザの骨格表示が、フィードバックが通常直観的でないようなユーザへのフィードバック操作の提供に用いられたとすると、ユーザ経験を悪くする結果をもたらし、最も一般的なユーザのシステム操作を過度に複雑にさえするかもしれない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第８２３０３６７号公報
【特許文献２】米国特許公開２０１４０３１３３６３号公報
【非特許文献】
【０００４】
【非特許文献１】コワン（Ｃｏｗａｎ）、「シャドウパペット：影操作を用いたモバイルプロジェクタフォンのコロケートされた操作のサポート（ShadowPuppets : Supporting collocated interaction with mobile projector phones using hand shadows）」、コンピュータヒューマンインタラクション会報（Proc. Of  CHI）、２０１１年、Ｐ.２７０７−２７１６
【非特許文献２】暦本、「ブライトシャドウ：ロバストなジェスチャ認識に向けた同期イルミネーションを用いた影センシング（Shadow sensing with synchronous illuminations for robust gesture recognition）」、コンピュータヒューマンインタラクション拡張概要（CHI Extended abstracts）、２００８年、Ｐ.２７６９−２７７４
【非特許文献３】シューメーカー（Shoemaker）ら、「シャドウリーチング：大型ディスプレイ操作の新たな観点（Shadow reaching: New perspective on interaction for large displays）」、ユーザインターフェイスのソフトウェアと技術会報（Ｐｒｏｃ．ｏｆ  ＵＩＳＴ）、２００７年、Ｐ.５３−５６
【非特許文献４】シューメーカー（Shoemaker）ら、「超大型壁ディスプレイに向けた身体中心とした操作技術（Body-centric interaction techniques for very large wall displays）」、コンピュータヒューマンインタラクション会報（Proc． of NorCHI）、２０１０年
【非特許文献５】タン（Tan）ら、「プリエンプティブシャドウ：プロジェクタからの激光除去（Pre-emptive  shadows: eliminating the blinding light from projectors）」、コンピュータヒューマンインタラクション拡張概要（CHI Extended abstracts）、２００２年、Ｐ.６８２−６８３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、大型ディスプレイのユーザ操作に必要な、新たなそして改善されたシステム、方法及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
本発明の第１の態様は、処理ユニット、メモリ、ディスプレイ、深度カメラを備える計算処理システムで実行される計算実行方法であって、前記処理ユニットは、ａ  前記深度カメラを用いてユーザ深度画像を取得し、ｂ  取得した前記ユーザ深度画像を用いてユーザに対応する多数点の空間位置を決定し、ｃ  バーチャル操作領域内に位置する前記ユーザに対応する多数点の位置を少なくとも決定し、ｄ  前記バーチャル操作領域内に位置するユーザに対応する決定した前記位置を用いて前記ユーザのバーチャル影を生成し、ｅ  前記ディスプレイに生成した前記ユーザのバーチャル影を表示し、ｆ  前記ユーザの操作イベントを検出するよう表示した前記ユーザのバーチャル影を用いる。
【０００７】
本発明の第２の態様は、第１の態様の計算実行方法であって、前記深度カメラは前記ディスプレイの前に位置するユーザの深度画像を取得するよう構成される。
【０００８】
本発明の第３の態様は、第１または第２の態様の計算実行方法であって、前記バーチャル操作領域は前記ディスプレイの直前に位置する予め定められた深度の領域である。
【０００９】
本発明の第４の態様は、第１〜第３の何れかの態様の計算実行方法であって、前記ユーザのバーチャル影はバーチャル光源の空間位置とバーチャルスクリーン表面に基づき生成される。
【００１０】
本発明の第５の態様は、第４の態様の計算実行方法であって、前記バーチャル光源は前記ユーザの頭上後方に位置する平行光源である。
【００１１】
本発明の第６の態様は、第４の態様の計算実行方法であって、前記ユーザの空間位置に基づき前記バーチャル光源の空間位置を変更する、ことを更に含む。
【００１２】
本発明の第７の態様は、第４の態様の計算実行方法であって、前記ユーザから受け取ったコマンドに基づきバーチャル光源の空間位置を変更する、ことを更に含む。
【００１３】
本発明の第８の態様は、第４〜第７の何れかの計算実行方法であって、前記ユーザのバーチャル影のピクセル値はバーチャルスクリーン表面と前記バーチャル影のピクセルに対応する点との間の距離に基づき計算される。
【００１４】
本発明の第９の態様は、第８の態様の計算実行方法であって、前記バーチャルスクリーン表面に近い点に対応するバーチャル影のピクセルには高いピクセル強度値が設定される。
【００１５】
本発明の第１０の態様は、第１〜第９の何れかの態様の計算実行方法であって、前記バーチャル操作領域内に位置する多数点のうち点に対応するバーチャル影のピクセルは前記バーチャル影の残りとは異なる色を用いて前記ディスプレイで表される。
【００１６】
本発明の第１１の態様は、第１〜第９の何れかの態様の計算実行方法であって、ユーザ位置と予め定められた閾値とに基づき前記バーチャル影のタイプを変更する、ことを更に含む。
【００１７】
本発明の第１２の態様は、第１１の態様の計算実行方法であって、前記バーチャル影のタイプは前記ユーザと前記ディスプレイとの間の距離が前記予め定められた閾値よりも下回ったときに変更される。
【００１８】
本発明の第１３の態様は、第１〜第１２の何れかの態様の計算実行方法であって、アクティブであるか否かでユーザを分類する、ことを更に含む。
【００１９】
本発明の第１４の態様は、第１３の態様の計算実行方法であって、前記ユーザと前記ディスプレイとの間の距離が予め定められた閾値よりも小さいときに前記ユーザがアクティブであると分類する。
【００２０】
本発明の第１５の態様は、第１３の態様の計算実行方法であって、前記ユーザと前記ディスプレイとの間の距離が予め定められた閾値よりも大きいときに前記ユーザをアクティブでないと分類する。
【００２１】
本発明の第１６の態様は、第１３の態様の計算実行方法であって、前記ｆにおいて、前記ユーザがアクティブであると分類されたときのみ、ユーザ操作イベントを検知する。
【００２２】
本発明の第１７の態様は、第１３の態様の計算実行方法であって、前記ユーザがアクティブであるか否かの分類に顔検知操作の実行を含み、前記ディスプレイに前記ユーザの顔が表示されたことを検知したときのみ、前記ユーザがアクティブであると分類する。
【００２３】
本発明の第１８の態様は、第１３〜第１７の何れかの態様の計算実行方法であって、前記計算処理システムは第二のディスプレイを備え、前記処理ユニットは、前記ユーザの第二のバーチャル影を生成する、ことを更に含み、前記ユーザのバーチャル影はバーチャル光源の空間位置に基づき生成され、前記ユーザの第二のバーチャル影は第二のバーチャル光源の空間位置に基づき生成される。
【００２４】
本発明の第１９の態様は、第１〜第１８の何れかの態様の計算実行方法であって、前記ｆにおいて、ユーザ操作イベントはグラフィカルユーザインターフェイスウィジェットのホットスポットを用いて前記ユーザのバーチャル影のうち少なくとも位置の重複に基づき検出される。
【００２５】
本発明の第２０の態様は、第１９の態様の計算実行方法であって、前記グラフィカルユーザインターフェイスウィジェットのホットスポットは複数のセンサピクセルを備え、前記ユーザ操作イベントは前記複数のセンサピクセルのうち少なくとも２つのセンサピクセルを用いて前記ユーザのバーチャル影のうち少なくとも位置の重複に基づき検出される。
【００２６】
本発明の第２１の態様は、第１９の態様の計算実行方法であって、前記ディスプレイでの前記グラフィカルユーザインターフェイスウィジェットや前記グラフィカルユーザインターフェイスウィジェットのタイプへの前記バーチャル影の近接に基づき前記ユーザのバーチャル影を変換する、ことを更に含む。
【００２７】
本発明の第２２の態様は、プログラムであって、ａ  深度カメラを用いてユーザ深度画像を取得し、ｂ  取得した前記ユーザ深度画像を用いてユーザに対応する多数点の空間位置を決定し、ｃ  バーチャル操作領域内に位置する前記ユーザに対応する多数点の位置を少なくとも決定し、ｄ  前記バーチャル操作領域内に位置するユーザに対応する決定した前記位置を用いて前記ユーザのバーチャル影を生成し、ｅ  ディスプレイに生成した前記ユーザのバーチャル影を表示し、ｆ  前記ユーザの操作イベントを検出するよう表示した前記ユーザのバーチャル影を用いる、処理を、コンピュータに実行させる。
【００２８】
本発明の第２３の態様は、処理ユニット、メモリ、ディスプレイ、深度カメラを備える計算処理システムであって、ａ  深度カメラを用いてユーザ深度画像を取得する手段と、
ｂ  取得した前記ユーザ深度画像を用いてユーザに対応する多数点の空間位置を決定する手段と、ｃ  バーチャル操作領域内に位置する前記ユーザに対応する多数点の位置を少なくとも決定する手段と、ｄ  前記バーチャル操作領域内に位置するユーザに対応する決定した前記位置を用いて前記ユーザのバーチャル影を生成する手段と、ｅ  前記ディスプレイに生成した前記ユーザのバーチャル影を表示する手段と、ｆ  ユーザの操作イベントを検出するよう表示した前記ユーザのバーチャル影を用いる手段と、を備えている。
【００２９】
本発明に関する更なる態様は、以下の記載で部分的に説明され、また記載から部分的に明白であり、発明の実施により習得することができる。本発明の態様は、以下の詳細な記載及び特許請求の範囲において特に指摘された要素、及び種々の要素と態様との組み合わせによって実施及び達成することができる。
【００３０】
上述または以下の記載は単なる例示や説明であり、特許請求の範囲に記載の発明もしくはその適用をいかなる形であれ制限することを意図したものではないことを理解されたい。
【発明の効果】
【００３１】
大型ディスプレイのユーザ操作に必要な改善が図れる。
【図面の簡単な説明】
【００３２】
【図１】影を用いた大型ディスプレイ操作についてのシステムアーキテクチャ１００の実施例を示す。
【図２】バーチャルなスクリーン表面とバーチャルな操作領域例を示す。
【図３】人の位置に基づく影のタイプを変更する例を示す。
【図４】ユーザの位置に基づいた、バーチャル光源を動的に変更する例を示す。
【図５】３つの独立したバーチャル光源を伴う３つの独立したディスプレイ（ディスプレイ１、ディスプレイ２、ディスプレイ３）の実施例を示す。
【図６Ａ】複数のセンサピクセルを持つホットスポットが組み込まれた、水平方向のＧＵＩウィジェットボタンを示す。
【図６Ｂ】複数のセンサピクセルを持つホットスポットが組み込まれた、垂直方向のＧＵＩウィジェットボタンを示す。
【図７】垂直方向のＧＵＩウィジェットボタンの人の操作の効果を改善するユーザの影変換を示す。
【図８】影を用いて大型ディスプレイを操作する計算処理システムの実施例を示す。
【発明を実施するための形態】
【００３３】
本明細書に組み込まれ本明細書の一部を構成する添付図面は、本発明の実施形態を例示し、説明と相俟って本発明の技術の原理の説明及び例示に供される。
【００３４】
以下の詳細な記述において、添付の図面を参照する。添付の図面において、同様の機能を有する構成要素は同様の参照符号を付されている。添付の図面は例示のためのものであり、限定を意図するものではない。特定の実施例及び実装は本発明の原理と矛盾しない。これらの実装は当業者が実施できる程度に十分詳細に記述され、またその他の実装が使用されてもよく、様々な構成要素の構造の変更及び／もしくは置き換えが本発明の範囲及び思想から逸脱することなく可能であることは理解されるだろう。したがって、以下の詳細な記述は、限定的に解釈されるべきではない。さらに、記述される本発明の異なる実施例は、汎用計算機上で稼働するソフトウェアの形態によっても、専用ハードウェアの形態によっても、ソフトウェア及びハードウェアの組み合わせによっても、実装可能である。
【００３５】
上述または従来の技術に関連する他の課題に対応するために、ここに記述される一つもしくは複数の実施例は、プレゼンテーションや他のアプリケーションのために大型ディスプレイを操作するシステム、方法を提供する。ここに記述される一つもしくは複数の実施例によって提供される特定の操作例には、スライド変更、ポインタ操作、ユーザへのフィードバック提供をも含んでも良い。特に、一つもしくは複数の記述される実施例は、大型ディスプレイについてユーザインターフェイスを実行するよう輪郭（シルエット）や影ベースアプローチを用いる。これを達成するために、記述されるシステムは、適切に位置づけられたバーチャル光源に基づきユーザの影を生成し、ユーザへのフィードバック提供に関して生成された影をディスプレイに表示する。
【００３６】
図１は、影を用いた大型ディスプレイ操作についてのシステムアーキテクチャ１００の実施例を示す。一つもしくは複数の実施例において、システム１００は、図１の例に示される通り、デジタルコンテンツをユーザに表示するように構成された大型ディスプレイ１０２、ディスプレイの上に配置された深度センサ１０１を含む。一つもしくは複数の実施例において、深度センサ１０１は深度イメージングカメラであってもよい。本技術分野で知られている通り、深度イメージングカメラは、従来画像（色等）のみならず、取得画像（深度画像）のピクセル各々についての深度情報も提供する。すなわち、深度センサ１０１は、ディスプレイ１０２の前にいる人１０３の３次元（３Ｄ）点を多数感知するよう構成される。ディスプレイ１０２や深度センサ１０１の空間位置は知られているため、人１０３に対応する多数の３Ｄ点のグローバル座標は、深度センサ１０１によって与えられた深度画像情報から引き出すことができる。システム１００は更に、深度センサ１０１から深度画像情報を受け取り、ディスプレイ１０２にコンテンツを表示し影を生成するコンピュータシステム１０４を含んでもよい。
「３Ｄ情報に基づくバーチャル操作領域」
【００３７】
一つもしくは複数の実施例について、図２の例に示される通り、深度センサ１０１から上述の３Ｄ情報を用いて、バーチャルスクリーン表面２０１及びバーチャル操作領域２０２は決定される。バーチャルスクリーン表面２０１及びバーチャル操作領域２０２両方の一実施例は、図２に示す通りディスプレイ１０２の前に位置する。一つもしくは複数の実施例について、バーチャル操作領域２０２は予め定められた深度領域である。この深度は、ディスプレイ１０２でのユーザ操作中にこの領域内に位置するようユーザの直観で決定されてもよい。
【００３８】
一つもしくは複数の実施例について、ユーザ１０３の頭上後方のバーチャルな平行光源２０３は、バーチャルスクリーン表面２０１で操作者の影を生成する。一つの実施例について、バーチャルな影画像２０４は、ユーザに対応する上述の多数の３Ｄ点から、図２に示される通り、座標変換によって生成される。特に、バーチャル影画像のピクセル値は、バーチャルスクリーン表面２０１から対応する３Ｄ点までの距離から計算される。一つの実施例において、多数の３Ｄ点のうちバーチャルスクリーン表面２０１に近い点は、表面２０１から離れた点よりも高いピクセル強度値が設定される。
【００３９】
一つもしくは複数の実施例について、多数の３Ｄ点のバーチャル操作領域２０２内の一部はバーチャル影画像２０４のアクティブ領域２０５で生成する。一つもしくは複数の実施例について、アクティブ領域２０２内の多数点のピクセルは異なる色（赤等）で示されてもよい。一つもしくは複数の実施例について、ユーザはアクティブ領域２０５を用いてディスプレイコンテンツを操作又はポイントすることが可能となる。
【００４０】
一つもしくは複数の実施例について、影２０４のタイプはバーチャルスクリーン表面２０１に関連して、人１０３の位置に基づき変更されてもよい。例えばこれは、影外観の変更又は適切な変換を用いることや、人１０３からバーチャルスクリーン表面２０１までの距離に基づき影のタイプを変更することで実行できる。図３に示される例には、人１０３の位置に基づく影２０４のタイプの変更が示されている。
【００４１】
図３に関して、人１０３がディスプレイ１０２から遠く離れているときに、深度センサ１０１によって与えられた多数の３Ｄ点を用いて、システム１００によって人の輪郭が生成され、ディスプレイ１０２には影２０４として与えられる。人１０３が影２０４に気付き、ディスプレイ１０２に向かって歩くと、影２０４が徐々に大きくなる。一つの実施例において、この結果は、バーチャルスクリーン表面２０１の背後に置かれたプロジェクション中央に透視変換を用いて実行される。すなわちこのケースでは、バーチャル光源２０３がバーチャルスクリーン表面２０１の背後に置かれている。一つの実施例において、人１０３が予め決定された閾値３０１よりもディスプレイ１０２に近づいたときに、影２０４は、人が影画像２０４の操作が可能となるよう上述のタイプ（アクティブ領域周辺を異なる色表現にする等）に変更する。
「バーチャル光源、バーチャル操作領域、バーチャルスクリーン表面」
【００４２】
次に、バーチャル光源２０３、バーチャル操作領域２０２、バーチャルスクリーン表面２０１を操作する新規な方法が記述される。一つの実施例について、バーチャル光源２０３は操作者（ユーザ）の位置によって動的に制御される。光源２０３は、図４に示される通り、ユーザの腕がバーチャルスクリーン表面２０１の前かつバーチャル操作領域２０２内の都合のよい場所に位置付けられるよう、動かされる。詳細には、図４は、ユーザ１０３の位置に基づき、バーチャル光源２０３を動的に移動させる実施例を示す。
【００４３】
当業者に理解されている通り、ユーザ１０３の空間位置は、ユーザ頭部の３次元座標によって決定され、その位置には床平面Ｘ、Ｙ座標及び床レベルより上のユーザ頭部の高さを決定するＺ座標を含む。様々な実施例において、それら３次元座標は、ユーザの骨格追跡を要することなく多数の３次元点を用いることで、上述の深度画像を用いて決定されてもよい。
【００４４】
一つもしくは複数の実施例について、バーチャル光源２０３からの光源方向は、ユーザによって手動で変更されてもよい。ユーザの利き手（右利きの人の右手）がバーチャル操作領域２０２を操作するためものである間は、利き手でない手や他の身体の一部はバーチャル光源２０３の位置を制御するのに用いられてもよい。例えば、利き手でない手は、バーチャル光源２０３を上下左右に動かすようジェスチャをするために用いられてもよい。これは、人１０３がディスプレイ１０２の上部に届くのが難しいときやとても大きいディスプレイ１０２を用いて仕事をするときに、役立つものであろう。
「複数ユーザの操作、複数ディスプレイの操作」
【００４５】
一つもしくは複数の実施例について、複数のユーザ１０３に対処するために、システム１００は深度イメージングカメラ１０１の深度チャンネルに加え、ＲＧＢカラーチャンネルを用いるよう構成される。この目的のため、深度情報に加え、カラー情報が与えられる深度イメージングカメラ１０１を用いてもよい。
【００４６】
システム１００の一実施例で実行される一つの機能は、アクティブなユーザ１０３と、アクティブでないユーザ１０３を分類することである。一実施例において、ユーザ分類は、ユーザ１０３とディスプレイ１０２との間の距離に基づき、ディスプレイ１０２からとても離れているユーザ１０３は、アクティブでないと分類される。これを達成するために、予め定められた距離閾値がアクティブでないユーザを特定するのに用いられてもよい。他の実施例では、機械学習技術がユーザ１０３の身体の一部の特徴に適用されてもよい。他の変形例において、システム１００は、ディスプレイ１０２に顔を向けていないユーザ１０３をアクティブでないと分類するために、顔検出を適用してもよい。当業者に理解されている通り、システム１００はアクティブなユーザとアクティブでないユーザとを認識するために、上述した技術の一つを用いてもよいし、または上述した技術を適切に組み合わせて用いてもよい。
【００４７】
一つもしくは複数の実施例について、複数のディスプレイ１０２の操作について、各々のディスプレイ１０２は別々のバーチャル光源２０３に関連付けられてもよい。ユーザ１０３に関するディスプレイ１０２の可視領域は、ユーザの手や体の一部に基づき計算されてもよい。そして影２０４は、例えば図５に示される通り、適切なバーチャル光源２０３を用いることによってビジュアル領域に生成される。図５において、３つの独立したディスプレイ１０２（ディスプレイ１、ディスプレイ２、ディスプレイ３）は、３つの独立したビジュアル光源２０３に関連付けられる。各々のディスプレイ１０２は、対応するビジュアル光源２０３の位置とディスプレイ１０２に関連するユーザ１０３の位置に基づき影２０４を表示する。
「ジェスチャベースのＧＵＩウィジェット操作」
【００４８】
一つもしくは複数の実施例について、ディスプレイ１０２に表示される影２０４は、例えば、特許文献２のジェスチャベースのグラフィカルユーザインターフェイス（ＧＵＩ）ウィジェット操作を用いてもよい。そのようなウィジェットは、ユーザのジェスチャを受入れる際立ったホットスポットに組み入れられてもよい。例えば、ボタンウィジェットのストライプ状のホットスポットでスワイプジェスチャを行うことでボタンクリックイベントを作動させる。当業者に理解されている通り、深度センサを用いたゲームで一般的な空間での不可視なジェスチャとは異なり、上述のジェスチャベースのグラフィカルユーザインターフェイスウィジェットはよりロバストで、ユーザへ可視的な合図及びフィードバックを与える。
【００４９】
当業者に理解されている一般的なＧＵＩウィジェットは、ここに上述された影ベースの操作技術を用いて機能してもよい。例えば、システム１００が、ディスプレイ１０２で表示されたユーザの手の影を検出し、それが、ある時間内に（例えば１秒）ディスプレイ１０２で表示されたボタンウィジェットの位置（例えば３０％）をカバー（例えば重複）すると、システム１００はボタンクリックイベントを生成するよう構成されてもよい。変形例において、システム１００は、そのようなイベントのきっかけのために、様々な時間間隔やオーバーラップ閾値の程度を用いてもよい。しかしながら、当業者に理解されている通り、そのようなユーザインターフェイスは、誤ったウィジェット実行を減らすより高度な制約のある、上述の特許文献２のジェスチャベースのグラフィカルユーザインターフェイスウィジェット程ロバストである必要はない。
【００５０】
特に、上述の特許文献２に記載されたジェスチャベースのグラフィカルユーザインターフェイスウィジェットは、ジェスチャ認識器で処理される影によって生成されたオクルージョンパタンや複数のセンサピクセルを組み込んだホットスポットでユーザが実行するジェスチャを検知するよう構成されてもよい。様々な実施例において、例えば図６Ａ、図６Ｂに示されている通り、ジェスチャベースのグラフィカルユーザインターフェイスウィジェットは、横方向または縦方向に位置づけられてもよい。特に、図６Ａは複数のセンサピクセル６０２を持つホットスポット６０３を組み込んだ横方向のボタンＧＵＩウィジェット６０１を示す。一方、図６Ｂは複数のセンサピクセル６０２を持つホットスポット６１３を組み込んだ縦方向のボタンＧＵＩウィジェット６１１を示す。上述のウィジェットは複数の隣接するセンサピクセル６０２の連続したオクルージョンを検知することによって、図６Ａ、図６Ｂに示される通り、ユーザの手の影６１４（図２の２０５に対応）が予め定められた期間を超えることによって、作動する。
【００５１】
当業者に理解されている通り、図６Ｂに示す縦方向のウィジェットボタン６１１を用いるとき、図６Ｂに示す通り、同時にすべてのセンサピクセルを覆わないように、縦方向の手の影６１４は実質上横方向に回転されなければならない。一方で、実生活で、手の影を横方向にするような状態に手を動かすことは、ユーザにとって困難かもしれない。この問題に対応するために、システム１００の一つもしくは複数の実施例において、ユーザの（縦方向の）手の影６１４が実質的に横方向に向くように、影を縦方向のウィジェットボタン６１１に近づけたときに自動的にバーチャル光源２０３を動かすよう構成される。すなわち、バーチャル光源２０３を移動させることで、システム１００は、縦方向のボタンＧＵＩウィジェット６１１の動作に干渉するやり方で影がセンサピクセルをオクルードしないように、影を回転する。
【００５２】
図７は、縦方向のＧＵＩウィジェットボタンとの人のインタラクションの有効性を改善するユーザの影変換を示す。特に、システム１００がユーザの影２０４がボタン６１１に近づいたときに、システム１００は、ウィジェット６１１への干渉を減らすよう、影２０４を影７０４に変換するためにバーチャル光源２０３を位置変更するよう構成される。当業者に理解されている通り、縦方向に位置づけられたウィジェットボタンに関連するバーチャル光源２０３の位置変更例は一つの好例であり、システム１００は、ＧＵＩウィジェットの他のタイプの有効性を改善するためにバーチャル光源２０３を位置変更するために構成されてもよい。このように上述例は、制限された判断によって解釈されるべきものではない。
「コンピュータプラットフォーム例」
【００５３】
図８は、影を用いて大型ディスプレイを操作する計算処理システム８００の実施例を示す。一つもしくは複数の実施例において、計算処理システム８００は、当業者によく知られているデスクトップコンピュータまたはデスクトップ通信デバイスのフォームファクタ内で実装されてもよい。変形例において、計算処理システム８００は、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、スマートフォンをベースに実装されてもよい。
【００５４】
計算処理システム８００はデータ・バス８０４あるいは計算処理システム８００の様々なハードウェアの間で情報を伝達するためのその他の相互接続機構もしくは通信機構を含んでもよい。中央処理ユニット（ＣＰＵあるいは単にプロセッサ）８０１はデータ・バス８０４に接続され、情報を処理し、その他の計算処理タスク及び制御タスクを実行する。計算処理システム８００は、ランダム・アクセス・メモリ（ＲＡＭ）もしくはその他の動的記憶装置などのメモリ８１２を含む。メモリ８１２は、データ・バス８０４に接続され、様々な情報及びプロセッサ８０１によって実行される命令を記憶する。メモリ８１２は、磁気ディスク、光ディスク、半導体フラッシュ・メモリ・デバイス、もしくは、その他の不揮発性記憶デバイスなどの永久記憶装置を含んでいてもよい。
【００５５】
一つもしくは複数の実施例において、プロセッサ８０１によって命令を実行する間、一時的な変数もしくはその他の中間的な情報を記憶するために、メモリ８１２が使用されてもよい。計算処理システム８００は、さらに、リード・オンリー・メモリ（ＲＯＭもしくはＥＰＲＯＭ）８０２もしくはその他の半導体記憶装置を含んでもよいが、含むか否かは任意である。リード・オンリー・メモリ（ＲＯＭもしくはＥＰＲＯＭ）８０２もしくはその他の半導体記憶装置は、データ・バス８０４に接続され、計算処理システム８００の操作に必要なファームウェア、ＢＩＯＳ(basic input-output system)、計算処理システム８００の様々な構成パラメータなどの静的情報及びプロセッサ８０１のための命令を記憶する。
【００５６】
一つもしくは複数の実施例において、計算処理システム８００は、図１に示す大型ディスプレイ１０２を備えていてもよく、大型ディスプレイ１０２は、データ・バス８０４に接続され、上述の技術に関連して生成された影及び様々なコンテンツを表示する。変形例において、大型ディスプレイ１０２は、（図示しない）グラフィック・コントローラ及び／もしくはグラフィック・プロセッサと関連付けられていてもよい。大型ディスプレイ１０２は、例えば、当業者にはよく知られているＴＦＴ(thin-film transistor)技術または有機ＬＥＤ(organic light emitting diode)技術を用いたＬＣＤ(liquid crystal display)として実装されていてもよい。異なる実施例において、大型ディスプレイ１０２は、計算処理システム８００のその他の構成要素と同じ一般的な筐体に含まれていてもよい。変形例において、大型ディスプレイ１０２は、テーブルまたはデスクの上といった、筐体の外側に配置されていてもよい。計算処理システム８００は、大型ディスプレイ１０２に表示する様々なコンテンツを記憶するコンテンツストレージ８０３を備えていてもよい。
【００５７】
一つもしくは複数の実施例において、計算処理システム８００は、大型ディスプレイ１０２上のカーソルを制御するために、またコマンドの選択指示をプロセッサ８０１に送り方向情報を通信するための、マウスやトラックボール、タッチパッドもしくはカーソル方向キーなどの、マウス／ポインティングデバイスなどのカーソル制御装置８１０を含む一つもしくは複数の入力デバイスを備えてもよい。この入力デバイスは、典型的には、平面上の位置を特定するために、第１の軸（例えばｘ）及び第２の軸（例えばｙ）という２つの軸における２つの自由度を有してよい。
【００５８】
計算処理システム８００は、さらに、キーボード８０６と共に、上述したユーザ１０３の深度画像を取得する深度イメージングカメラ１０１を備えていてもよく、キーボード８０６及び深度イメージングカメラ１０１は、ユーザコマンド（ジェスチャを含む）及び写真や動画を含むがこれらに限定されない情報をプロセッサ８０１に通信するためにデータ・バス８０４に接続されていてもよい。
【００５９】
一つもしくは複数の実施例において、計算処理システム８００は、データ・バス８０４に接続されているネットワーク・アダプタ８０５などの通信インターフェイスをさらに備えていてもよい。ネットワーク・アダプタ８０５は、ローカルエリアネットワーク（LAN）及び／もしくはＩＳＤＮアダプタ８０７の少なくとも一つを用いて、計算処理システム８００とインターネット８０８との間での通信を確立することができる。ネットワーク・アダプタ８０５は、計算処理システム８００とインターネット８０８との間で、双方向データ通信を提供してもよい。計算処理システム８００のローカルエリアネットワークアダプタ８０７は、統合デジタルサービス網（ISDN）カードあるいはモデムであってよく、これにより、インターネットサービスプロバイダのハードウェア（不図示）を用いてインターネット８０８に接続する、電話回線とのデータ通信を確立する。他の例として、ネットワーク・アダプタ８０５は、ローカルエリアネットワークのインターフェイス・カード（LAN  NIC）であってよく、これにより、インターネット８０８と互換性を有する通信を提供してよい。ある実施例において、ローカルエリアネットワーク（LAN）アダプタ８０７は、様々なタイプのデジタルデータストリームを伝送するための電気的もしくは電磁的な信号を送受信する。
【００６０】
一つもしくは複数の実施例において、一般的に、インターネット８０８は、一つもしくは複数のサブ−ネットワークを介して、計算処理システム８００に類似するシステムを用いて実行されてもよい遠隔ビデオ会議システムのようなその他のネットワーク資源へのデータ通信を提供する。したがって、計算処理システム８００は、遠隔メディア・サーバ、ウェブ・サーバ、その他のコンテンツ・サービス、その他のネットワーク・データ・ストレージ資源などの、インターネット８０８のいずれかの位置に置かれている様々なネットワーク資源にアクセスすることができる。一つもしくは複数の実施例において、計算処理システム８００はメッセージ、メディア、及び、アプリケーション・プログラム・コードを含むその他のデータを、ネットワーク・アダプタ８０５によって、インターネット８０８を含む様々なネットワークを介して、送受信する。例示的なインターネットにおいて、計算処理システム８００がネットワーク・クライアントとして動作する場合、計算処理システム８００上で稼働しているアプリケーション・プログラムのコードもしくはデータを計算処理システム８００は要求することができる。同様に、計算処理システム８００は、その他のネットワーク資源へ様々なデータもしくは計算処理コードを送信することができる。
【００６１】
一つもしくは複数の実施例において、ここに記述される機能は、メモリ８１２に含まれる一つもしくは複数の命令の一つもしくは複数のシーケンスを実行するプロセッサ８０１に応じて、計算処理システム８００によって実装される。命令は、他のコンピュータ読取可能媒体からメモリ８１２に読み込まれてもよい。メモリ８１２に含まれている命令のシーケンスを実行することによって、ここに記述されている様々な処理のステップがプロセッサ８０１によって実行される。変形例において、本発明の実施例を実装するために、ソフトウェアの命令に代えて、もしくは、ソフトウェアの命令と組み合わせて、ハードウェアによって実現されている回路が使用されてもよい。すなわち、本発明の実施例は、ハードウェア回路及びソフトウェアの任意の特定の組み合わせに限定されるものではない。
【００６２】
ここで使用される用語「コンピュータ読取可能媒体」は、プロセッサ８０１へ実行するための命令を提供する際に関与する任意の媒体であってよい。コンピュータ読取可能媒体は、機械読取可能媒体の単なる一例であり、ここに記述される方法及び／もしくは技術の何れかを実装するための命令を搬送することができる。このような媒体は、不揮発性媒体、揮発性媒体などを含むが、これらに限定されない、多くの形態を採ることができる。
【００６３】
非一時コンピュータ読取可能媒体の一般的な形態は、例えば、フロッピー（登録商標）・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープ、もしくは、任意のその他の磁気媒体、ＣＤ−ＲＯＭ、任意のその他の光媒体、パンチカード、紙テープ、孔パターンを有する任意のその他の物理的な媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、フラッシュ・ドライブ、メモリ・カード、任意のその他のメモリ・チップ、もしくはカートリッジ、もしくは、コンピュータがそこから読み取ることができる任意のその他の媒体を含む。コンピュータ読取可能媒体の様々な形態は、プロセッサ８０１への、一つもしくは複数の実行する命令の一つもしくは複数のシーケンスの搬送に関連してもよい。例えば、命令は、遠隔コンピュータから磁気ディスクにまず搬送されてもよい。代替的に、遠隔コンピュータは、遠隔コンピュータのダイナミック・メモリに命令をロードし、インターネット８０８によって指示を送信してもよい。詳細には、コンピュータの命令は、当業者にはよく知られている様々なネットワーク・データ通信プロトコルを用いて、インターネット８０８を介して、遠隔コンピュータから計算処理システム８００のメモリ８１２へ、ダウンロードされてもよい。
【００６４】
一つもしくは複数の実施例において、計算処理システム９００のメモリ８１２は、以下のソフトウェア・プログラム、アプリケーション、もしくは、モジュールのいずれかを記憶してもよい。
１．オペレーティング・システム（ＯＳ）８１３。オペレーティング・システム（ＯＳ）８１３は、基本システム・サービスを実装し、計算処理システム９００の様々なハードウェア構成要素を管理する携帯型装置用オペレーティング・システムであってもよい。
【００６５】
２．ネットワークコミュニケーションモジュール８１４。ネットワークコミュニケーションモジュール８１４は、例えば、一つまたは複数のネットワークプロトコルスタックを含んでもよい。ネットワークプロトコルスタックは、ネットワーク・アダプタ８０５を用いて、計算処理システム８００とインターネット８０８の様々なネットワークエントリとの間のネットワーク接続を確立するために使用される。
【００６６】
３．アプリケーション８１５。アプリケーション８１５は、例えば、計算処理システム８００のプロセッサ８０１によって実行される一連のソフトウェアを含んでよく、これによって、計算処理システム８００は、予め定められたある処理、例えば、ここに記述される技術を用いて影を生成すること、深度カメラ１０１を用いてユーザの深度画像を取得すること、などを実行してもよい。一つもしくは複数の実施例において、アプリケーション８１５は、ここに記述される機能を組み入れた独創的なユーザインターフェイスアプリケーション８１６を含んでもよい。
【００６７】
一つもしくは複数の実施例において、独創的なユーザインターフェイスアプリケーション８１６は、深度カメラ１０１を用いてユーザ１０３の深度画像を取得するために深度画像キャプチャモジュール８１７を含む。また、独創的なユーザインターフェイスアプリケーション８１６は上述の技術に関連して影生成を実行する影生成モジュール８１８を含んでもよい。更に、ジェスチャベースのグラフィカルユーザインターフェイスウィジェットを生成し影を用いたユーザインタラクションを検知するＧＵＩウィジェットインタラクションモジュール８１９が提供されてもよい。様々な例において、適切なユーザインタフェイスイベントは、検出されたユーザインタラクションに基づきユーザインターフェイスアプリケーション８１６によって生成されてもよい。
【００６８】
最後に、ここに記述される処理及び技術は特定の装置の何れかに固有に関連するものではなく、適切に組み合わせられた構成要素の何れかによって実装されてもよいことが理解されるべきである。さらに、様々な種類の汎用目的装置が本明細書に記載される技術に従って使用されてもよい。本明細書に記載される方法ステップを実行するために専用装置を構築することは有利であるかもしれない。本発明は、特定の例示に関連して記述されているが、この記述は、限定ではなく、例示を意図している。多くの異なるハードウェア、ソフトウェア及びファームウェアの組み合わせが本発明を実行するために適切であることは、当業者には明らかである。例えば、ソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、Ｏｂｊｅｃｔｉｖｅ−Ｃ、ｐｅｒｌ、ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）、現在知られているもしくは今後開発されるプログラミング言語もしくはスクリプト言語の何れかなどの様々なプログラミング言語もしくは記述言語によって実装されてもよい。
【００６９】
さらに、本明細書に記載された詳細及び実行を考慮すれば、本発明のその他の実装が当業者には明らかであろう。記述された実装の様々な態様及び／もしくは構成要素は、遠隔装置の物理状態を伝達するシステム及び方法を個別に、もしくは、任意に組み合わせて使用することができる。詳細及び例は例示としてのみ考慮されることを意図し、本発明の真の範囲及び思想は特許請求の範囲の記載によって示される。
【符号の説明】
【００７０】
１００  システムアーキテクチャ
１０１  深度センサ
１０２  ディスプレイ
１０３  人
１０４  コンピュータシステム
８０１  プロセッサ
８１２  メモリ
【図１】
0006686345.tif 000002
【図２】
0006686345.tif 000003
【図３】
0006686345.tif 000004
【図４】
0006686345.tif 000005
【図５】
0006686345.tif 000006
【図６Ａ】
0006686345.tif 000007
【図６Ｂ】
0006686345.tif 000008
【図７】
0006686345.tif 000009
【図８】
0006686345.tif 000010