(57)【要約】      （修正有）【課題】グラフィカルユーザインタフェース（ＧＵＩ）ライブラリにおいてビューポート・ウィジェットに対するジェスチャ操作を可能とする方法を提供する。【解決手段】他と区別できる色を持つピクセルの小さな集合であって、ビューポート座標系及びカメラ座標系の双方においてその位置が既知である検出用画素塊がビューポート上にレンダリングされた検出グリッドにおいて、指１０８（又はスタイラス）で遮蔽された遮蔽パターンをカメラ１０２を使用して検出し、その位置において遮蔽イベントを起こさせ、パンやズーム、回転などを行う連続操作を含むジェスチャの検出を可能にする。【選択図】図１
2015179491.tif 000002
【特許請求の範囲】
【請求項１】
中央処理ユニットとカメラとメモリを備える電子システムが実行する、ユーザが行うジェスチャを複数の検出用画素塊を含むユーザインタフェースを用いて検出する為の方法であって、
前記方法は、
ａ．前記カメラが、前記複数の検出用画素塊の画像を取得し、
ｂ．前記中央処理ユニットが、前記取得した複数の検出用画素塊の画像において、前記ユーザが行うジェスチャによる前記複数の検出用画素塊の内の少なくとも一部の遮蔽を識別し、
ｃ．前記中央処理ユニットが、前記識別した前記複数の検出用画素塊の少なくとも一部の遮蔽に基づいて、前記ユーザが行うジェスチャを検出する、
ことを含む、方法。
【請求項２】
プロジェクタが、前記複数の検出用画素塊を表示面上に投影し、
前記プロジェクタが、前記表示面上にコンテンツを投影する、
ことを更に含み、
前記投影された複数の検出用画素塊は実質的にすべての投影されたコンテンツと重なり合う、請求項１に記載の方法。
【請求項３】
電子表示装置が、前記複数の検出用画素塊を表示し、
前記電子表示装置が、コンテンツを表示する、
ことを更に含み、
前記表示された複数の検出用画素塊は実質的に前記表示されたコンテンツ全体と重なり合う、請求項１に記載の方法。
【請求項４】
前記ｂにおいて、前記複数の検出用画素塊の前記少なくとも一部の遮蔽は、前記取得した複数の検出用画素塊の画像内の前記検出用画素塊に対応する位置における色値に基づいて識別される、請求項１に記載の方法。
【請求項５】
前記複数の検出用画素塊の少なくとも一部の前記識別された遮蔽が所定の遮蔽パターンに一致し、かつ前記識別された遮蔽が所定の時間間隔の間存続するという条件に基づいて押し操作イベントを検出することを更に含む、請求項１に記載の方法。
【請求項６】
前記複数の検出用画素塊が表示面上に表示または投影され、かつ前記ジェスチャの検出が前記押し操作イベントの検出に応答して実行される、請求項５に記載の方法。
【請求項７】
前記押し操作イベントの検出に応答して、前記複数の検出用画素塊を表示面上に表示するか又は前記複数の検出用画素塊を表示面上に投影することを更に含み、
前記複数の検出用画素塊が最初は前記検出された押し操作イベントの周りに配置される、請求項５に記載の方法。
【請求項８】
前記複数の検出用画素塊は最後に識別されたユーザ生成イベントの位置を中心に円盤形状に配置される、請求項７に記載の方法。
【請求項９】
前記押し操作イベントが以前に検出されていて、かつ
ｉ．前記複数の検出用画素塊の少なくとも一部の前記識別された遮蔽は、第２の所定の時間間隔の間には発生しないか、又は
ｉｉ．前記複数の検出用画素塊の少なくとも一部の前記識別された遮蔽は、第３の所定の時間間隔の間、前記押し操作イベントの場所において発生する、
という条件に基づいてリリース操作イベントを検出することを更に含む、請求項５に記載の方法。
【請求項１０】
前記リリース操作イベントの検出に応答して、前記ジェスチャの検出を中止することを更に含む、請求項９に記載の方法。
【請求項１１】
前記ユーザのジェスチャの検出に応答して、前記ジェスチャに関連するコマンドを発行することを更に含む、請求項１に記載の方法。
【請求項１２】
前記ジェスチャに関連するコマンドは、画像のパンコマンド及び画像のズームコマンド、画像の回転コマンドから成る群より選択される、請求項１１に記載の方法。
【請求項１３】
前記ユーザのジェスチャの方向を検出することを更に含み、前記発行されるコマンドは、少なくとも部分的に前記ジェスチャの検出された方向に基づく、請求項１１に記載の方法。
【請求項１４】
前記ユーザのジェスチャの速度を検出することを更に含み、前記発行されるコマンドは、少なくとも部分的に前記ジェスチャの検出された速度に基づく、請求項１１に記載の方法。
【請求項１５】
前記ジェスチャは、前記複数の検出用画素塊を表示する面への物理的接触なしに前記ユーザによって実行される、請求項１に記載の方法。
【請求項１６】
前記取得した複数の検出用画素塊の画像において前記複数の検出用画素塊のそれぞれに対応する位置を識別することによって較正操作を実行し、かつ前記識別された位置に情報を格納することを更に含む、請求項１に記載の方法。
【請求項１７】
前記複数の検出用画素塊はグリッド状に配置され、
前記ｃにおける前記ジェスチャの検出は、ユーザ生成イベントを検出することを含み、
前記ユーザ生成イベントは、前記グリッド状に配置された第１の検出用画素塊と、前記第１の検出用画素塊に隣接する少なくとも１つの第２の検出用画素塊が所定の遮蔽パターンに従って遮蔽される条件に基づいて検出され、
前記ユーザ生成イベントの位置は前記第１の検出用画素塊の位置である、請求項１に記載の方法。
【請求項１８】
前記複数の検出用画素塊はグリッド状に配置され、
前記ｃにおいて、前記ジェスチャの検出は、ユーザ生成イベントを検出することを含み、
前記ユーザ生成イベントは、前記グリッド状に配置された第１の検出用画素塊と、前記第１の検出用画素塊に隣接する少なくとも１つの第２の検出用画素塊とが遮蔽され、かつ前記グリッド状に配置された検出用画素塊の少なくとも１つの第３の検出用画素塊が遮蔽されないという条件に基づいて検出され、
前記第１、第２、第３の検出用画素塊は、所定の遮蔽パターンに従っており、かつ
前記ジェスチャの位置は前記第１の検出用画素塊の位置である、請求項１に記載の方法。
【請求項１９】
前記ｃにおいて前記ジェスチャは所定の時間間隔内の２つの異なる時間において識別された２つの遮蔽に基づいて検出される、請求項１に記載の方法。
【請求項２０】
前記２つの識別された遮蔽は相互に所定の距離内で起きる、請求項１９に記載の方法。
【請求項２１】
前記検出されたジェスチャは連続的なジェスチャである、請求項１に記載の方法。
【請求項２２】
ジェスチャウィジェットを提供することを更に含み、
前記複数の検出用画素塊が表示面上に表示または投影され、かつ
前記ジェスチャの検出は、前記ユーザにより前記提供されたジェスチャウィジェットの作動の検出に応答して実行される、請求項１に記載の方法。
【請求項２３】
中央処理ユニットと、カメラと、メモリとを備える電子システムに、ユーザが行うジェスチャを複数の検出用画素塊を用いて検出させる、一組のコンピュータ実行可能命令を包含するプログラムであって、前記プログラムは、
ａ．前記カメラに、前記複数の検出用画素塊の画像を取得させ、
ｂ．前記中央処理ユニットに、前記取得された複数の検出用画素塊の画像において、前記ユーザが行うジェスチャによる、前記複数の検出用画素塊の内の少なくとも一部の遮蔽を識別させ、
ｃ．前記中央処理ユニットに、前記識別された前記複数の検出用画素塊の少なくとも一部の遮蔽に基づいて、前記ユーザが行うジェスチャを検出させる、
プログラム。
【請求項２４】
ａ．複数の検出用画素塊を備えるユーザインタフェースをユーザに提供するためのユーザインタフェース生成モジュールと、
ｂ．前記ユーザインタフェースの画像を取得するためのカメラと、
ｃ．前記ユーザインタフェースの取得された画像において、前記ユーザが行うジェスチャによる、複数の検出用画素塊の少なくとも一部の遮蔽を識別するための、遮蔽識別モジュールと、
ｄ．前記識別された前記複数の検出用画素塊の少なくとも一部の遮蔽に基づいて、前記ユーザが行うジェスチャを検出するための、ジェスチャ検出モジュールと、
を含む、電子システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に計算機装置のユーザインタフェースに関し、より具体的には、遮蔽パターンの検出に基づくジェスチャ制御を可能とするシステムと方法に関する。
【背景技術】
【０００２】
ジェスチャ入力は現在では計算機システムを操作する一般的な方法である。ユーザ操作のためにジェスチャを利用する装置の例としては、スマートフォンやタブレットのタッチスクリーンやゲームシステムのエアモード・タッチレスジェスチャコントローラがある。カメラを使用した投影表示面に対する簡単で低コストのジェスチャ操作機能を提供するシステム例は、例えば、Ｋａｎｅ，Ｓ．Ｋ．，Ｄ．Ａｖｒａｈａｍｉ，Ｊ．Ｏ．Ｗｏｂｂｒｏｃｋ，Ｂ．Ｈａｒｒｉｓｏｎ，Ａ．Ｄ．Ｒｅａ，Ｍ．Ｐｈｉｌｉｐｏｓｅ，及びＡ．ＬａＭａｒｃａによる「Ｂｏｎｆｉｒｅ：  ａ  ｎｏｍａｄｉｃ  ｓｙｓｔｅｍ  ｆｏｒ  ｈｙｂｒｉｄ  ｌａｐｔｏｐ−ｔａｂｌｅｔｏｐ  ｉｎｔｅｒａｃｔｉｏｎ（ボンファイア：ラップトップとテーブルトップのハイブリッド操作のためのノマディックシステム）」（Ｐｒｏｃ．  ｏｆ  ＵＩＳＴ  ’０９，  ｐｐ．１２９−１３８）と、Ｋｊｅｌｄｓｅｎ，Ｒ．，Ｃ．，Ｐｉｎｇａｌｉ，Ｇ．，Ｈａｒｔｍａｎ，Ｊ．，Ｌｅｖａｓ，Ｔ．，及びＰｏｄｌａｓｅｃｋ，Ｍ，による「Ｉｎｔｅｒａｃｔｉｎｇ  ｗｉｔｈ  ｓｔｅｅｒａｂｌｅ  ｐｒｏｊｅｃｔｅｄ  ｄｉｓｐｌａｙｓ（操作可能な投影ディスプレイの操作）」（Ｉｎｔｌ．  Ｃｏｎｆ．  ｏｎ  Ａｕｔｏｍａｔｉｃ  Ｆａｃｅ  ａｎｄ  Ｇｅｓｔｕｒｅ  Ｒｅｃｏｇｎｉｔｉｏｎ  （ＦＧＲ  ’０２），  ｐｐ．４０２−４０７）がある。
【０００３】
タッチレスのユーザインタフェースがより望ましい別の状況は、例えば、Ａｖｉｖ，Ａ．，Ｇｉｂｓｏｎ，Ｋ．，Ｍｏｓｓｏｐ，Ｅ．，Ｂｌａｚｅ，Ｍ．，及びＳｍｉｔｈ，Ｊ．による「Ｓｍｕｄｇｅ  ａｔｔａｃｋｓ  ｏｎ  ｓｍａｒｔｐｈｏｎｅ  ｔｏｕｃｈ  ｓｃｒｅｅｎｓ（スマートフォンのタッチスクリーンへの汚れ攻撃）」（Ｐｒｏｃ．  ｏｆ  ４ｔｈ  ＵＳＥＮＩＸ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｏｆｆｅｎｓｉｖｅ  Ｔｅｃｈｎｏｌｏｇｉｅｓ（ＷＯＯＴ  ’１０））に記述されている。
【０００４】
米国特許出願第１３／８６５，９９０号明細書には、指または手の追跡に代わって、グラフィカルユーザインタフェース・ウィジェットを監視するためにカメラを利用した、面へのタッチ及びタッチレス操作を可能とする手法が開示されている。ウィジェットにはホットスポットが設計されており、ユーザがウィジェット上でジェスチャをすると、システムがホットスポット上（より正確には、ホットスポット内の複数の検出用画素上）の遮蔽パターンを探す。ホットスポットは視覚的に目立っており、ユーザにフィードバックを与えるように設計されている。また、上記の米国特許出願第１３／８６５，９９０号明細書に記載のシステムは、個別のイベント（ボタンのクリックなど）を生成するためのユーザ操作・ウィジェットのみをサポートしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願第１３／８６５，９９０号明細書
【非特許文献】
【０００６】
【非特許文献１】Ｋａｎｅ，Ｓ．Ｋ．，Ｄ．Ａｖｒａｈａｍｉ，Ｊ．Ｏ．Ｗｏｂｂｒｏｃｋ，Ｂ．Ｈａｒｒｉｓｏｎ，Ａ．Ｄ．Ｒｅａ，Ｍ．Ｐｈｉｌｉｐｏｓｅ，及びＡ．ＬａＭａｒｃａによる「Ｂｏｎｆｉｒｅ：ａ  ｎｏｍａｄｉｃ  ｓｙｓｔｅｍ  ｆｏｒ  ｈｙｂｒｉｄ  ｌａｐｔｏｐ−ｔａｂｌｅｔｏｐ  ｉｎｔｅｒａｃｔｉｏｎ（ボンファイア：ラップトップとテーブルトップのハイブリッド操作のためのノマディックシステム）」（Ｐｒｏｃ．ｏｆ  ＵＩＳＴ  ’０９，  ｐｐ．１２９−１３８）
【非特許文献２】Ｋｊｅｌｄｓｅｎ，Ｒ．，Ｃ．，Ｐｉｎｇａｌｉ，Ｇ．，Ｈａｒｔｍａｎ，Ｊ．，Ｌｅｖａｓ，Ｔ．，及びＰｏｄｌａｓｅｃｋ，Ｍ，による「Ｉｎｔｅｒａｃｔｉｎｇ  ｗｉｔｈ  ｓｔｅｅｒａｂｌｅ  ｐｒｏｊｅｃｔｅｄ  ｄｉｓｐｌａｙｓ（操作可能な投影ディスプレイとの操作）」（Ｉｎｔｌ．  Ｃｏｎｆ．  ｏｎ  Ａｕｔｏｍａｔｉｃ  Ｆａｃｅ  ａｎｄ  Ｇｅｓｔｕｒｅ  Ｒｅｃｏｇｎｉｔｉｏｎ  （ＦＧＲ  ’０２），  ｐｐ．  ４０２−４０７）
【非特許文献３】Ａｖｉｖ，Ａ．，Ｇｉｂｓｏｎ，Ｋ．，Ｍｏｓｓｏｐ，Ｅ．，Ｂｌａｚｅ，Ｍ．，及びＳｍｉｔｈ，Ｊ．による「Ｓｍｕｄｇｅ  ａｔｔａｃｋｓ  ｏｎ  ｓｍａｒｔｐｈｏｎｅ  ｔｏｕｃｈ  ｓｃｒｅｅｎｓ（スマートフォンのタッチスクリーンへの汚れ攻撃）」（Ｐｒｏｃ．  ｏｆ  ４ｔｈ  ＵＳＥＮＩＸ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｏｆｆｅｎｓｉｖｅ  Ｔｅｃｈｎｏｌｏｇｉｅｓ（ＷＯＯＴ  ’１０））
【非特許文献４】Ｃｅｌｌｕｏｎ  Ｍａｇｉｃ  Ｃｕｂｅ  ｐｒｏｊｅｃｔｉｏｎ  ｋｅｙｂｏａｒｄ  （ｈｔｔｐ：／／ｃｅｌｌｕｏｎ．ｃｏｍ／ｐｒｏｄｕｃｔｓ．ｐｈｐ、  閲覧日：２０１４年３月１４日）
【非特許文献５】Ｈａｒｒｉｓｏｎ，Ｃ，Ｂｅｎｋｏ，及びＨ．，Ｗｉｌｓｏｎ，Ａ．による「ＯｍｎｉＴｏｕｃｈ：ｗｅａｒａｂｌｅ  ｍｕｌｔｉｔｏｕｃｈ  ｉｎｔｅｒａｃｔｉｏｎ  ｅｖｅｒｙｗｈｅｒｅ（オム二タッチ：装着可能なマルチタッチでの操作をどこでも可能に）」（Ｐｒｏｃ．ＵＩＳＴ’１１，ｐｐ．４４１−４５０，Ｓａｎｔａ  Ｂａｒｂａｒａ，ＣＡ）
【非特許文献６】Ｌｉａｏ，Ｃ．  ｅｔ  ａｌ．「Ｆｉｎｅ−ｇｒａｉｎｅｄ  ｃｒｏｓｓ−ｍｅｄｉａ  ｉｎｔｅｒａｃｔｉｏｎ  ｗｉｔｈ  ｄｏｃｕｍｅｎｔｓ  ｖｉａ  ａ  ｐｏｒｔａｂｌｅ  ｈｙｂｒｉｄ  ｐａｐｅｒ−ｌａｐｔｏｐ  ｉｎｔｅｒｆａｃｅ（携帯ペーパーラップトップインタフェースによりドキュメントと精細なクロスメディア操作を行う）」（Ｐｒｏｃ．ｏｆＡＣＭ  Ｍｕｌｔｉｍｅｄｉａ  ２０１０，  ｐｐ．３６１−３７０）
【非特許文献７】Ｌｉａｏ，Ｃ．  ｅｔ  ａｌ．「ＭｉｘＰａｄ：Ａｕｇｍｅｎｔｉｎｇ  ｉｎｔｅｒａｃｔｉｖｅ  ｐａｐｅｒ  ｗｉｔｈ  ｍｉｃｅ  ＆  ｋｅｙｂｏａｒｄｓ  ｆｏｒ  ｆｉｎｅ−ｇｒａｉｎｅｄ  ｃｒｏｓｓ−ｍｅｄｉａ  ｉｎｔｅｒａｃｔｉｏｎ  ｗｉｔｈ  ｄｏｃｕｍｅｎｔｓ（ミックスパッド：ドキュメントとの精細なクロスメディア操作のために操作可能ペーパーにマウスとキーボードを付加する）」（ＵｂｉＣｏｍｐ  ２０１１  （ｄｅｍｏ），ｐｐ．５３９−５４０）
【非特許文献８】Ｗａｃｈｓ，  Ｊ．  ｅｔ  ａｌ．「Ａ  ｇｅｓｔｕｒｅ−ｂａｓｅｄ  ｔｏｏｌ  ｆｏｒ  ｓｔｅｒｉｌｅ  ｂｒｏｗｓｉｎｇ  ｏｆ  ｒａｄｉｏｌｏｇｙ  ｉｍａｇｅｓ（放射線画像を無菌状態でブラウズするための身ぶり手ぶりに基づくツール）」(Ｊ．Ａｍｅｒｉｃａｎ  Ｍｅｄｉｃａｌ  Ｉｎｆｏｒｍａｔｉｃｓ  Ａｓｓｏｃ．，  １５（３）  ３２１−３２３  （２００８））
【非特許文献９】Ｗｅｌｌｎｅｒ，  Ｐ．「Ｔｈｅ  ＤｉｇｉｔａｌＤｅｓｋ  ｃａｌｃｕｌａｔｏｒ：  ｔａｎｇｉｂｌｅ  ｍａｎｉｐｕｌａｔｉｏｎ  ｏｎ  ａ  ｄｅｓｋ  ｔｏｐ  ｄｉｓｐｌａｙ（デジタルデスク計算機：デスクトップ表示において接触型操作を行う）」（Ｐｒｏｃ．  ＵＩＳＴ’９１，ｐｐ．２７−３３）
【非特許文献１０】Ｗｉｌｓｏｎ，Ａ．Ｄ．     「Ｕｓｉｎｇ  ａ  ｄｅｐｔｈ  ｃａｍｅｒａ  ａｓ  ａ  ｔｏｕｃｈ  ｓｅｎｓｏｒ（深度カメラをタッチセンサとして用いる）」（Ｐｒｏｃ．ＩＴＳ’１０，ｐｐ．６９−７２，２０１０年１１月７日−１０日、Ｓａａｂｒｕｃｋｅｎ，Ｇｅｒｍａｎｙ）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本明細書において記述する実施形態は、ユーザインタフェース実装の従来方法に関する１つ又は複数の上記及びその他の問題を実質的に取り除くための方法及びシステムに係わる。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、中央処理ユニットとカメラとメモリを備える電子システムが実行する、ユーザが行うジェスチャを複数の検出用画素塊を含むユーザインタフェースを用いて検出する為の方法であって、方法は、カメラが、複数の検出用画素塊の画像を取得し、中央処理ユニットが、取得した複数の検出用画素塊の画像において、ユーザが行うジェスチャによる複数の検出用画素塊の内の少なくとも一部の遮蔽を識別し、中央処理ユニットが、識別された複数の検出用画素塊の少なくとも一部の遮蔽に基づいて、ユーザが行うジェスチャを検出する、ことを含む。
【０００９】
本発明の第２の態様は、本発明の第１の態様において、プロジェクタが、複数の検出用画素塊を表示面上に投影し、プロジェクタが、表示面上にコンテンツを投影する、ことを更に含み、投影された複数の検出用画素塊は実質的にすべての投影されたコンテンツと重なり合う。
【００１０】
本発明の第３の態様は、本発明の第１の態様において、電子表示装置が、複数の検出用画素塊を表示し、電子表示装置が、コンテンツを表示する、ことを更に含み、表示された複数の検出用画素塊は実質的に表示されたコンテンツ全体と重なり合う。
【００１１】
本発明の第４の態様は、本発明の第１の態様において、複数の検出用画素塊の少なくとも一部の遮蔽は、取得された複数の検出用画素塊の画像内の検出用画素塊に対応する位置における色値に基づいて識別される。
【００１２】
本発明の第５の態様は、本発明の第１の態様において、複数の検出用画素塊の少なくとも一部の識別された遮蔽が所定の遮蔽パターンに一致し、かつ識別された遮蔽が所定の時間間隔の間存続するという条件に基づいて押し操作イベントを検出することを更に含む。
【００１３】
本発明の第６の態様は、本発明の第５の態様において、複数の検出用画素塊が表示面上に表示または投影され、かつジェスチャの検出が押し操作イベントの検出に応答して実行される。
【００１４】
本発明の第７の態様は、本発明の第５の態様において、押し操作イベントの検出に応答して、複数の検出用画素塊を表示面上に表示するか又は複数の検出用画素塊を表示面上に投影することを更に含み、複数の検出用画素塊が最初は検出された押し操作イベントの周りに配置される。
【００１５】
本発明の第８の態様は、本発明の第７の態様において、複数の検出用画素塊は最後に識別されたユーザ生成イベントの位置を中心に円盤形状に配置される。
【００１６】
本発明の第９の態様は、本発明の第５の態様において、押し操作イベントが以前に検出されていて、かつ複数の検出用画素塊の少なくとも一部の識別された遮蔽は、第２の所定の時間間隔の間には発生しないか、又は複数の検出用画素塊の少なくとも一部の識別された遮蔽は、第３の所定の時間間隔の間、押し操作イベントの場所において発生する、という条件に基づいてリリース操作イベントを検出することを更に含む。
【００１７】
本発明の第１０の態様は、本発明の第９の態様において、リリース操作イベントの検出に応答して、前記ジェスチャの検出を中止することを更に含む。
【００１８】
本発明の第１１の態様は、本発明の第１の態様において、ユーザのジェスチャの検出に応答して、ジェスチャに関連するコマンドを発行することを更に含む。
【００１９】
本発明の第１２の態様は、本発明の第１１の態様において、ジェスチャに関連するコマンドは、画像のパンコマンド及び画像のズームコマンド、画像の回転コマンドから成る群より選択される。
【００２０】
本発明の第１３の態様は、本発明の第１１の態様において、ユーザのジェスチャの方向を検出することを更に含み、発行されるコマンドは、少なくとも部分的にジェスチャの検出された方向に基づく。
【００２１】
本発明の第１４の態様は、本発明の第１１の態様において、ユーザのジェスチャの速度を検出することを更に含み、発行されるコマンドは、少なくとも部分的にジェスチャの検出された速度に基づく。
【００２２】
本発明の第１５の態様は、本発明の第１の態様において、ジェスチャは、複数の検出用画素塊を表示する面への物理的接触なしにユーザによって実行される。
【００２３】
本発明の第１６の態様は、本発明の第１の態様において、取得された複数の検出用画素塊の画像において複数の検出用画素塊のそれぞれに対応する位置を識別することによって較正操作を実行し、かつ識別された位置に情報を格納することを更に含む。
【００２４】
本発明の第１７の態様は、本発明の第１の態様において、複数の検出用画素塊はグリッド状に配置され、ジェスチャの検出は、ユーザ生成イベントを検出することを含み、ユーザ生成イベントは、グリッド状配置における第１の検出用画素塊と、第１の検出用画素塊に隣接する少なくとも１つの第２の検出用画素塊が所定の遮蔽パターンに従って遮蔽される条件に基づいて検出され、ユーザ生成イベントの位置は第１の検出用画素塊の位置である。
【００２５】
本発明の第１８の態様は、本発明の第１の態様において、複数の検出用画素塊はグリッド状に配置され、ジェスチャの検出は、ユーザ生成イベントを検出することを含み、ユーザ生成イベントは、グリッド状配置における第１の検出用画素塊と、第１の検出用画素塊に隣接する少なくとも１つの第２の検出用画素塊とが遮蔽され、かつグリッド状検出用画素塊配置の少なくとも１つの第３の検出用画素塊が遮蔽されないという条件に基づいて検出され、第１、第２、第３の検出用画素塊は、所定の遮蔽パターンに従っており、かつジェスチャの位置は第１の検出用画素塊の位置である。
【００２６】
本発明の第１９の態様は、本発明の第１の態様において、ジェスチャは所定の時間間隔内の２つの異なる時間において識別された２つの遮蔽に基づいて検出される。
【００２７】
本発明の第２０の態様は、本発明の第１９の態様において、  ２つの識別された遮蔽は相互に所定の距離内で起きる。
【００２８】
本発明の第２１の態様は、本発明の第１の態様において、検出されたジェスチャは連続的なジェスチャである。
【００２９】
本発明の第２２の態様は、本発明の第１の態様において、ジェスチャウィジェットを提供することを更に含み、複数の検出用画素塊が表示面上に表示または投影され、かつジェスチャの検出は、ユーザにより提供されたジェスチャウィジェットの作動の検出に応答して実行される。
【００３０】
本発明の第２２の態様は、中央処理ユニットと、カメラと、メモリとを備える電子システムに、ユーザが行うジェスチャを複数の検出用画素塊を用いて検出させる、一組のコンピュータ実行可能命令を包含するプログラムであって、プログラムは、カメラに、複数の検出用画素塊の画像を取得させ、中央処理ユニットに、取得された複数の検出用画素塊の画像において、ユーザが行うジェスチャによる、複数の検出用画素塊の内の少なくとも一部の遮蔽を識別させ、中央処理ユニットに、識別された複数の検出用画素塊の少なくとも一部の遮蔽に基づいて、ユーザが行うジェスチャを検出させる。
【００３１】
本発明の第２３の態様は、複数の検出用画素塊を備えるユーザインタフェースをユーザに提供するためのユーザインタフェース生成モジュールと、ユーザインタフェースの画像を取得するためのカメラと、ユーザインタフェースの取得された画像において、ユーザが行うジェスチャによる、複数の検出用画素塊の少なくとも一部の遮蔽を識別するための、遮蔽識別モジュールと、識別された複数の検出用画素塊の少なくとも一部の遮蔽に基づいて、ユーザが行うジェスチャを検出するための、ジェスチャ検出モジュールと、を含む電子システムである。
【００３２】
本発明に関するその他の態様は、以下の説明で部分的に説明され、また説明から部分的に明白であり、又は本発明の実行により習得することができる。本発明の態様は、以下の詳細な説明及び添付の特許請求の範囲において特に指摘された要素及び種々の要素と態様との組合せによって、実現及び達成することができる。
【００３３】
上記及び以下の記述はいずれも、単に例示及び説明を目的とするものであり、特許請求の範囲に記載の発明もしくはその適用を限定することは全く意図していないことを理解されたい。
【００３４】
本明細書に組み込まれ、本明細書の一部をなす添付の図面が、本発明の実施形態を例示し、説明と相俟って本発明の概念の説明及び例示に供する。
【図面の簡単な説明】
【００３５】
【図１】ビューポート・ウィジェットに対するジェスチャ操作を可能とするシステムの例示的実施形態を示す図である。
【図２】ユーザジェスチャ検出のためにユーザインタフェース・検出用画素塊を使用するシステムの別の例示的実施形態を示す図である。
【図３】ユーザジェスチャ検出のためにユーザインタフェース・検出用画素塊を使用するシステムの更に別の例示的実施形態を示す図である。
【図４】カメラで取得した画像における、コンテンツと重なる検出用画素塊から成る検出グリッドの例示的拡大像を示す図である。
【図５】遮蔽パターンのいくつかの例示的実施形態を示す図である。
【図６】検出用画素塊の遮蔽に基づくユーザジェスチャ検出の操作プロセス手順を例示的に示す図である。
【図７】実際の場面における、ジェスチャと上記のジェスチャベースのユーザインタフェースとのインタラクションプロセスの例示的ステップを示す図である。
【図８】実際の場面における、ジェスチャと上記のジェスチャベースのユーザインタフェースとのインタラクションプロセスの例示的ステップを示す図である。
【図９】実際の場面における、ジェスチャと上記のジェスチャベースのユーザインタフェースとのインタラクションプロセスの例示的ステップを示す図である。
【図１０】実際の場面における、ジェスチャと上記のジェスチャベースのユーザインタフェースとのインタラクションプロセスの例示的ステップを示す図である。
【図１１】コンテンツと重なる検出用画素塊の動的な遮蔽パターンの解析によりユーザジェスチャを検出する電子システムの例示的実施形態を示す図である。
【図１２】映像処理モジュールの例示的実施形態を示す図である。
【発明を実施するための形態】
【００３６】
以下の詳細な記述においては添付図面を参照する。ここで同一の機能的要素は同様の参照番号で示される。前述の添付図面は、本発明の原理に整合する特定の実施形態及び実装を例示するものであり、それに限定するものではない。これらの実装形態は、当業者による本発明の実行を可能とすべく詳細に記述される。また、他の実装も利用可能であること、及び本発明の範囲及び精神から逸脱することなく様々な要素の構造上の変更及び／又は代替が行われてもよいことを理解されたい。従って、以下の詳細な記述は本発明を制限するものとして解釈されるべきではない。更に、記述される本発明の様々な実施形態は、汎用コンピュータ上で実行されるソフトウェア、専用ハードウェア、あるいはソフトウェアとハードウェアの組合せ、のいずれの形態において実施されてもよい。
【００３７】
従来の技術に関する上記及びその他の課題に対処するために、本明細書において記述する一つ又は複数の実施形態は、グラフィカルユーザインタフェース（ＧＵＩ）ライブラリにおいてビューポート・ウィジェットに対するジェスチャ操作を可能とする手法を実装する。一つ又は複数の実施形態において、記述するシステムと方法によって可能となるジェスチャ操作には、指（又はスタイラスやその他の好適な物体）でビューポートのコンテンツの、パンやズーム、回転などを行う連続的なユーザ生成イベントが含まれてよい。本明細書における、ユーザ生成イベントという用語は、連続的ユーザ生成イベント並びにその他の例えばある特定の位置にユーザの指やその他の好適な物体が単に置かれているようなイベントの両方を含む。従ってこの用語は、ユーザと上記のインタフェースとの任意の双方向型操作を包含する。一つ又は複数の実施形態において、前述のジェスチャ操作は、ビューポート上に描画された検出グリッド内の遮蔽パターン（ｏｃｃｌｕｓｉｏｎ  ｐａｔｔｅｒｎ）をカメラで検出することによって可能となる。検出グリッドは検出用画素塊（ｓｅｎｓｏｒ  ｂｌｏｂ）から成り、これは他と区別できる色をした画素の小さな集合であってよい。検出用画素塊は、ビューポート座標系及びカメラ座標系の双方においてその位置が知られており、指（又はスタイラスやその他の好適な物体）で遮蔽された場合にその位置において遮蔽イベントにトリガを掛ける。さらに一つ又は複数の実施形態において、意図しないジェスチャを排除し、操作に関するビジュアルガイドとフィードバックを与え、検出グリッドとビューポートのコンテンツとの視覚干渉を最小化する強固な手法が提供される。
【００３８】
図１はビューポート・ウィジェットに対するジェスチャ操作を可能とするシステムの例示的実施形態１００を示す図である。図示した実施形態１００には、コンテンツ１０７と複数の検出用画素塊１０５とを含むグラフィカルユーザインタフェース表示を、プロジェクタ１０１の照射範囲１０６内に位置する表示面１０４上に投影する、プロジェクタ１０１が組み込まれている。図１に示すように、検出用画素塊１０５は表示面１０４上のコンテンツ１０７と重なる。カメラ１０２は表示面１０４が視野の中に入るように配置されて、表示面１０４上に投影されるグラフィカルユーザインタフェースの映像を取得し、表示された検出用画素塊１０５との関連で、ユーザ１０８の手によって行われるジェスチャを検出する。一つ又は複数の実施形態において、カメラ１０２はプロジェクタ１０１の隣又はその近くに配置されてよい。一つ又は複数の実施形態において、プロジェクタ１０１とカメラ１０２は、市場で容易に入手可能な普通の既製部品である。
【００３９】
上記のように、プロジェクタ１０１によって表示面１０４上に投影されたグラフィカルユーザインタフェースは、以下で詳細を述べるように、一つ又は複数の検出用画素塊１０５を含んでもよい。一実施形態において、表示面１０４は、机またはテーブルの頂面などの水平面であってよい。この構成において、プロジェクタ１０１とカメラ１０２は表示面１０４の上方に取り付けられている。別の実施形態においては、表示面１０４は垂直に配向されてもよい。カメラ１０２によって取得された映像はコンピュータシステム１０３送信され、そこで図１１に関連して詳細を説明する映像処理モジュール１１１８によって処理されて、表示面１０４上に表示された検出用画素塊１０５の遮蔽パターンに基づいて、ユーザの手１０８かスタイラスなどの他の任意の物体によるユーザのジェスチャが検出される。一実施形態において、ユーザは一つ又は複数の指又は他の任意の好適な物体を用いて、図１の例示的実施形態１００に関連して利用可能なジェスチャを実行してよい。一つ又は複数の実施形態において、コンピュータシステム１０３は更に、図１に示すようなプロジェクタ１０１を制御するように構成されていてもよい。ユーザのジェスチャを検出すると、コンピュータシステム１０３が対応する操作を遂行するように構成されていてもよい。一つ又は複数の実施形態において検出用画素塊１０５は、赤外領域の光のようなユーザには見えない光を用いて表示面１０４上に投影される。この構成においては、これらの検出用画素塊の遮蔽を検出するために赤外線に感応するカメラ１０２が使用されてもよい。
【００４０】
図２はユーザジェスチャ検出のためにユーザインタフェース・検出用画素塊を使用するシステムの別の例示的実施形態２００を示す図である。実施形態２００において、図１のプロジェクタ１０１と表示面１０４に代わって電子表示パネル２０１が用いられ、その面２０２上にグラフィカルユーザインタフェースが表示される。一つ又は複数の実施形態において、電子表示パネル２０１は、ＬＣＤパネルやプラズマ表示パネル、当業者には周知の他の任意の種類の電子情報表示装置であってよい。実施形態１００と同様に、カメラ１０２は電子表示パネル２０１の表示面２０２がその視野に入るように配置されて、表示パネル２０１に表示されたグラフィカルユーザインタフェース、並びにユーザの手１０８または別の物体で行われるジェスチャの映像を取得する。
【００４１】
図３は、ユーザジェスチャ検出のためにユーザインタフェース・検出用画素塊を使用するシステムの更に別の例示的実施形態３００を示す図である。図３に示す実施形態３００は発光アレイ３０１を更に含み、複数の検出用画素塊１０５を表示面１０４上に投影するようになっている。プロジェクタ１０１で表示面１０４上に投影されたコンテンツ１０７が発光アレイ３０１で投影される検出用画素塊１０５によって覆われるように、発光アレイ３０１が配置、配向される。実施形態１００と同様に、カメラ１０２はコンテンツ１０７と検出用画素塊１０５とを視野内に収めるように配置される。一つ又は複数の実施形態において、発光アレイ３０１は半導体レーザアレイまたは発光ダイオードアレイである。一つ又は複数の実施形態において、発光アレイ３０１は好適な光学系を備えて、投射される検出用画素塊１０５が適切にフォーカシングされるようになっていてもよい。一つ又は複数の実施形態において検出用画素塊１０５は、赤外領域の光のようなユーザには見えない光を用いて発光アレイ３０１により表示面１０４上に投影される。
【００４２】
更に別の実施形態において、検出用画素塊１０５は、紙やその他の物体、媒体などの平坦面上に永続的に印刷されていてもよい。この実施形態ではカメラは、検出用画素塊の印刷された紙を視野内に収めるように配置され、検出用画素塊と、印刷された検出用画素塊に関連するユーザのジェスチャの映像を取得する。本明細書で記述する本発明の概念は、ユーザのジェスチャの検出に関連して利用可能な検出用画素塊を表示または具現化する、いかなる特定の媒体にも限定されるものではないことを理解されたい。ユーザの体の一部または他の物体による、投影または表示、印刷された検出用画素塊の動的な遮蔽情報を提供できるシステムであれば、任意のものがここで記述するジェスチャ検出機能を実装するために利用可能である。
【００４３】
一つ又は複数の実施形態において検出用画素塊１０５は、コンテンツ１０７の全体に描画された、他と区別できる色をした画素の小さな集合である。様々な実施形態において、複数の検出用画素塊１０５は、同一または異なる色を持っている。同一の検出用画素塊内で異なる色が使われてもよい。コンピュータシステム１０３は各検出用画素塊１０５の位置座標を、ビューポート座標系とカメラの座標系の両方で格納する。検出用画素塊のこれらの位置座標１０５は、以下で詳細を説明する較正手順を利用して取得してもよい。カメラ１０２を利用してコンピュータシステム１０３が検出用画素塊の位置に発生する色の変化を検出し、その検出された色の変化に基づいて、対応位置での遮蔽イベントにトリガを掛ける。検出用画素塊の大きさは、ハードウェア装置の小さな変位に対してシステムがどれだけの性能を有するか、また、目視可能な検出用画素塊の存在で視覚的なコンテンツ１０７のどれだけが遮蔽されるかということに影響する。一つ又は複数の実施形態において、検出用画素塊１０５の大きさは上記の因子をバランスさせるように経験的に設定されるが、その最適値は簡単な較正手順で決定されてもよい。
【００４４】
一つ又は複数の実施形態において検出グリッドは、コンテンツ１０７と重なる、均等に配置された検出用画素塊１０５のＭｘＮのグリッドである。一つ又は複数の実施形態において、検出グリッド内の各検出用画素塊１０５は独立して機能し、位置情報が付加された遮蔽イベントの全てがコンピュータシステム１０３内に集積される。検出グリッドの大きさが、システムの検出能力の空間分解能と、表示された視覚コンテンツ１０７と検出用画素塊１０５との視覚干渉の度合いに影響する。検出グリッド内での隣接する検出用画素塊１０５同士の間隔の決定には、人の指の幅が重要な指標となる。検出グリッドに関する前述の全てのパラメータは経験的に決定されることが多いが、単純な較正手順で自動的に計算されてもよい。さらに、その較正手順には、ビューポート内の検出用画素塊１０５の正確な位置を決定するために、カメラ１０２で取得した静止画像及び／又はビデオフレームに対する画像解析の実行が含まれてもよい。
【００４５】
図４は、カメラ１０２で取得した画像における、コンテンツ１０７と重なる検出用画素塊１０５で構成される検出グリッドの拡大像の一例を示す。この図では、検出用画素塊４０４と４０５が遮蔽されている。一つ又は複数の実施形態において、遮蔽された検出用画素塊４０４または４０５を検出した後、コンピュータシステム１０３は近隣領域４０２と４０３内のそれぞれについて、隣接する画素塊が遮蔽されているかどうかをチェックし、後で詳細を述べる所定の検出用画素塊遮蔽パターンを検出するように構成されている。
【００４６】
一つ又は複数の実施形態において、遮蔽パターン（ＯＰ）とは、遮蔽イベントが発生する検出グリッドにおける特別に設計された検出用画素塊の位置パターンである。遮蔽パターンは検出されると、その遮蔽パターンの中心位置に指（又はスタイラスあるいは他の好適な物体）が存在することを表す。一実施形態において遮蔽パターンは、３ｘ３の検出用画素塊のブロックで定義され、その中心の検出用画素塊が遮蔽イベントを起動させ、また同時に最大でも所定数（例えば２つ）の他の検出用画素塊もまた遮蔽イベントを起動させる。そしてこれらの検出用画素塊同士は（たがいに隣接して）接続されていなければならない。このように一般的には、検出用画素塊のブロック内での遮蔽された検出用画素塊の最小数と、遮蔽された検出用画素塊の最大数と、その他の制約条件、例えば、遮蔽された検出用画素塊が（たがいに隣接して）接続されていなければならないというような制約条件とに基づいて、遮蔽パターンが検出されてよい。一つ又は複数の実施形態において遮蔽パターンとしては、検出用画素塊のブロックの中心の画素塊から一つ又は複数の端部の画素塊へ連続的に検出用画素塊が遮蔽されていることが要求される場合もある。一般的に言えば遮蔽パターンは、物体（指など）による検出用画素塊のブロック内の検出用画素塊の遮蔽に一致してよい。本発明は、遮蔽パターンの検出に使用される例示的な３ｘ３の検出用画素塊のブロックに限られるものではなく、他の任意の検出用画素塊のブロックが利用され得ることを理解されたい。また、ユーザのジェスチャの検出には多様な遮蔽パターンが利用され得る。
【００４７】
図５は、いくつかの遮蔽パターンの例示的実施形態５０１、５０２、５０３、５０４、５０５、５０６を示している。図５に示す各パターンの例は、遮蔽された検出用画素塊４０５と遮蔽されていない検出用画素塊１０５とを含んでいる。上で述べたように、本発明の概念はここに示した遮蔽パターンに限られるものではなく、他の多くの遮蔽パターンの使用も可能である。一つ又は複数の実施形態において、複数の遮蔽パターンが検出グリッド内に同時に検出されてもよい。これは指（または他の好適な物体）がコンテンツ１０７上にある場合などのような、複数の位置でのユーザ生成イベントの同時検出を可能とする。当業者には理解されるように、このことによって、本説明のシステムが複数の指（好適な物体）による操作機能を可能とするとともに、複数ユーザによる操作の検出の可能性ももたらす。
【００４８】
当業者には理解されるように、本発明システムで認識できる遮蔽パターンには他の多くの設計があり得る。一つ又は複数の実施形態において、遮蔽パターンは、指（またはスタイラスや他の好適な物体）がパターンの特定の位置（通常は中心）に存在するような、ユーザ生成イベントの発生を表す。潜在的には、指（またはスタイラスや他の好適な物体）による遮蔽を、（指やポインタやスタイラスのような形状ではない）他の物体による遮蔽から区別することのできる任意のパターンを、遮蔽パターンとしての使用に適しているとしてよい。そのようなパターンは通常、指の形に似た薄く細長いストリップ形状をしている。すなわちこのパターンでは、塗りつぶされた円が通常薄く長いストリップを形成し、その周りに中空の円がある。ただしパターンのパラメータ（パターンの全体形状、パターン内の塗りつぶされた円の数、など）は、システム構成やユーザの指（または他の好適な物体）の幅に強く影響され、大部分は実験によって決定される。発明者らによって行われた実験では、前述の３ｘ３のブロックパターンが最も良好な結果をもたらすことが分かった。
【００４９】
一つ又は複数の実施形態において、ユーザ生成のイベントにより起動された例示的ビューポートのジェスチャ操作には、検出された指の動きに基づく、ビューポートのコンテンツのパンやズーム、回転が含まれてよい。様々な実施形態においてシステムは、１つの指または手と、２つの指または手のジェスチャの両方を検出できるようになっていてもよい。２本の指（２つの手）によるジェスチャを検出する場合、システムは、ビューポート上の２つの異なる位置における２つの個別の遮蔽パターンを検出することにより、２つの指の動的な位置を検出する。一つ又は複数の実施形態において、動的な遮蔽パターンを経時的に解析することで、一連の指の運動イベントにトリガをかけ、ビューポートがパンやズーム、回転操作を実装することを可能とする。一実装において、第１の遮蔽パターンが検出された後、所定の時間間隔（例えば２００ミリ秒）内に第２の遮蔽パターンが検出され、かつ、第１と第２の遮蔽が相互に所定の空間距離内にある場合に、ユーザジェスチャが認識される。言い換えれば、複数の検出された遮蔽が時間と位置に関する所定の制約を満足すれば、ユーザジェスチャとして認識される。
【００５０】
一つ又は複数の実施形態において、意図しないジェスチャを排除し、ジェスチャ操作の間における検出グリッドとビュアーポートのコンテンツとの間の視覚的な干渉を最小化するための堅牢な技術がいくつか提供される。一つ又は複数の実施形態において、意図しないジェスチャを排除するこの技術は、“押し操作”イベントと“リリース操作”イベントを含んでもよい。一般的にこれらの２つのイベントは、偶然によって作動させられる可能性が低い。一実施形態において、指が同一位置に所定の時間（例えば２００ミリ秒）の間連続的に置かれている場合に、押し操作イベントが発生する。一実施形態において、パンやズーム、回転操作のいずれかが行われる前には、押し操作イベントが検出されなければならないようにシステムが構成されている。
【００５１】
一つ又は複数の実施形態において、前述の押し操作イベントが特定のユーザの指に関して前以って検出されていて、それに加えて次の２つの条件の内の１つが満たされた場合に、リリース操作イベントが発生したと判定される。１）この指が同一の位置に連続的に存在する状態がある所定の時間（例えば２００ミリ秒）の間続くこと、または２）この指が連続的に存在しない状態が所定の時間（例えば２００ミリ秒）の間続くこと、である。一実施形態において、リリース操作イベントが検出されると、パンやズーム、回転操作のいずれもが終了したことを表す。当業者には理解されるように、説明した実施形態においては、パンやズーム、回転操作は常に押し操作イベントによって開始され、リリース操作イベントによって終了されなければならないので、ビューポートのコンテンツを混乱させるような意図しないジェスチャは全て排除される。
【００５２】
一つ又は複数の実施形態において、検出用画素塊１０５のグリッドと、ビューポートに表示されたコンテンツ１０７との視覚的な干渉が最小化される技術も提供される。具体的には、前述の押し操作イベントが起きる前には、検出グリッドの全検出用画素塊が見えていて、ビューポートの最大領域が与えられる。押し操作イベントが発生すると、押し操作イベントの位置から特定の距離内にある検出用画素塊のみが見えて、他の全ての検出用画素塊は見えなくなる。すなわち、検出用画素塊グリッドが指の位置付近を中心とする検出用画素塊円盤に変化する。図９、１０の要素９０１を参照されたい。この手法により、ジェスチャ操作の間、検出用画素塊とビューポートのコンテンツとの視覚的な干渉が最小化される。視覚的な検出用画素塊の円盤はまた、ユーザの指の動作に対する視覚的ガイドとフィードバックとして作用する。円盤の半径によってユーザがどこまで、またどれだけ早く指を動かせるかが決定される。リリース操作イベントが起きると、検出グリッド内の全検出用画素塊が再び見えるようになり、ビューポートの最大範囲が与えられる。
【００５３】
一つ又は複数の実施形態において、押し操作イベントを検出した場合、ユーザの指が引き続き移動すれば、検出円盤が指に沿って移動し、その時の指の位置の周りに中心があるようにする。一実施形態において検出円盤の大きさは、システム設計によって前以って決定される。当業者には理解されるように、検出円盤の大きさは、ユーザがどれだけ早く指を移動させることができるかということと、目に見える検出用画素塊によってどれだけ多くのビューポートコンテンツが干渉を受けるか、ということに影響する。一般的に、検出円盤が大きいほど、ユーザは指をより速く移動させることができ、より効率的な操作を行うことができる。ただし、検出円盤が大きければ、より大きなビューポート部分が覆われて、ビューポートコンテンツの大きな部分と干渉する。
【００５４】
一つ又は複数の実施形態において、この問題を克服するためにシステムはその大きさを動的に変化させることのできる検出円盤を生成するようになっている。この目的を達成するための例示的アルゴリズムを次に簡単に記述する。
【００５５】
１．このシステムはまず、指の位置の周りのビューポートコンテンツを解析する。考えられるコンテンツ解析の方法としては、当業者には周知の、関心点の検出と特徴解析がある。
【００５６】
２．次いでこのシステムは、指の位置の周りのビューポートコンテンツの重要度を判定する。
【００５７】
３．最後に、システムは、指位置の周りのビューポートコンテンツの重要度に基づいて、指位置付近に中心を持つ検出円盤の大きさを決定する。
【００５８】
一つ又は複数の実施形態において、図９の検出円盤９０１の大きさは一般的に、その時の指位置の周りのビューポートコンテンツの重要度に逆比例する。重要なコンテンツの領域において、重要領域の大部分を覆わないようにするために検出円盤はより小さいことが望ましい。さらに、重要なコンテンツの領域において、ユーザは詳細を見ようとして、通常指を高速では動かそうとしない。その一方で、ユーザは重要でない領域ではより効率的な操作をするために指をより高速で動かすことが多いので、重要でないコンテンツ領域においては検出円盤がより大きいことが望ましい。さらには、コンテンツの重要な領域の大部分と重なることよりも、コンテンツの重要でない部分の大部分をより大きなサイズの円盤で覆うことが受け入れやすい。
【００５９】
一実施例においてコンテンツ領域の重要さは、当業者には周知の画像解析技術を利用して特定可能な、その領域内の視覚的特徴の数によって判定される。例えば、コンテンツの空白領域は識別できる画像特徴を持たない。そのため重要ではないと見なされるであろう。その一方で、より多くの生地構造を持つコンテンツ部分は、より多くの識別し得る画像特徴を含んでいるので、より重要であると見なされるであろう。
【００６０】
一つ又は複数の実施形態において、検出グリッドによる視覚干渉をより小さくするために、検出グリッドはユーザがジェスチャ操作を実行しているときにだけ見えるようにできる。一実装においては、ユーザが検出グリッドを随時オン、オフすることができる。検出グリッドがオフのときは、ビューポートのジェスチャ操作機能が無効にされる。様々な実施形態において、上記のシステムは、以下のアルゴリズムの１つに従って運転されてもよい。
【００６１】
１．ユーザは、図７のジェスチャボタン７０１などの、ビューポートの外部にあるウィジェット（例えばジェスチャボタン）を用いて検出グリッドをオンしてもよい。検出グリッドは、ビューポートの外部にあるウィジェット（例えばジェスチャボタン７０１）を用いてユーザがオフするまではオンのままである。検出グリッドがオンの間に、ユーザはビューポートでジェスチャ操作を実行してよい。
【００６２】
２．ユーザはビューポートの外部にあるウィジェット（例えばジェスチャボタン７０１）を用いて検出グリッドをオンしてもよい。次にユーザはジェスチャ操作の実行に進む。ジェスチャ操作が完了すると、検出グリッドが自動的にオフとなる。
【００６３】
図６は、検出用画素塊の遮蔽に基づくユーザジェスチャ検出の操作プロセス手順６００を例示的に示す。先ずステップ６０１においてシステムが、プロジェクタ１０１と表示面１０４、または電子表示装置２０１のいずれかによりビューポートにコンテンツ１０７を表示する。ステップ６０２においてシステムは外部トリガ信号の検出を試みる。ステップ６０３において、システムは上記の外部トリガ信号の有無を確認する。例えば、ユーザがビューポートの外部にあるボタンを押した場合にはトリガ信号が存在する。ステップ６０３においてシステムがトリガ信号を検出できなかった場合には、操作はステップ６０１に戻る。そうでない場合には操作はステップ６０４へ進む。
【００６４】
ステップ６０４において、システムは検出用画素塊のグリッドをビューポートコンテンツ１０７の上に重ねて表示する。ステップ６０５において、システムはカメラ１０２を用いてカメラの視野に遮蔽イベントが発生していないかどうかを判定する。遮蔽イベントの有無はステップ６０６で確認される。ステップ６０６において遮蔽イベントが発生していないと判定されると、操作はステップ６０１に戻る。そうでない場合には、操作はステップ６０７に進む。ステップ６０７において、検出された遮蔽イベントに基づいてシステムは所定の遮蔽パターンがないかどうか検出を試みる。ステップ６０８においてシステムは、所定の遮蔽パターンが検出されたかどうかを判定する。ステップ６０８において遮蔽パターンのないことが検出されると、操作はステップ６０１に戻る。そうでない場合には、操作は次のステップ６０９に進む。このステップ６０９において、システムは検出された遮蔽パターンに基づいて指の位置を検出する。
【００６５】
ステップ６１０においてシステムは、詳細を上述した押し操作イベントがないかどうかの検出を試みる。ステップ６１１において、システムは押し操作イベントが実際に発生しているかどうかを検査する。押し操作イベントが発生していれば、押し操作イベントが発生している検出用画素塊位置の辺りに中心を持つ検出円盤の中に検出グリッドが収縮する。ステップ６１２を参照されたい。次に操作はステップ６１３に移る。そうでない場合には、操作は直接ステップ６１３に移る。
【００６６】
ステップ６１３において、システムはジェスチャ操作が検出されたかどうかを判定する。例えば、１本の指だけが配置されその指の移動が検出された場合、パン操作が起動される。別の例では、２本の指が配置されてその指の内の少なくとも１つの移動が検出されると、ズーム操作が起動される。ステップ６１４において、システムは検出されたジェスチャ操作を実行する。そこにはビューポートコンテンツ１０７の操作も含まれてよい。次いでステップ６１５において、システムはリリース操作イベントの発生の有無を検出しようとする。ステップ６１６においてリリース操作イベントが発生していると判定されると、ステップ６１７に見られるように検出円盤は全面の検出グリッドに戻る。それによりシステム操作はステップ６０１に戻って、操作手順６００が繰り返される。
【００６７】
図７、８、９、１０は、実際の場面における上記のジェスチャベースのユーザインタフェースとジェスチャの操作プロセスの例示的ステップを示す。図７に示す場面７００では、コンテンツ１０７が表示面１０４に表示され、検出グリッドは見えない。ここでは表示されたコンテンツ１０７とのジェスチャによる操作はできない。一つ又は複数の実施形態においてビューポートの外部にジェスチャボタン７０１があって、ユーザが前述したジェスチャ操作機能を始動させるための外部トリガを発生させることが可能である。図８に示す場面８００では、ユーザの手１０８によって作動可能である、ビューポート外部のジェスチャボタン７０１を用いて、ユーザが検出用画素塊１０５のグリッドを作動させる。図９の場面９００では、ユーザが、検出用画素塊位置を所定の時間、例えば２００ミリ秒だけ手１０８の指で指示して、押し操作イベントを起動する。これに応答して検出用画素塊１０５のグリッドが、検出用画素塊円盤９０１内に収縮する。最後に図１０の場面１０００において、ユーザは指を移動させて表示された地図上でパン操作を実行する。この時検出用画素塊円盤９０１の中心はユーザの指の位置に追従する。上で説明した操作場面並びに上記の特定のユーザのジェスチャは例示でしかなく、本明細書に記載の概念に基づいてもっと多くの操作機能とサポートされるユーザジェスチャを実装できることに留意されたい。
【００６８】
コンテンツと重なる検出用画素塊の遮蔽の動的パターンを解析することによりユーザジェスチャを検出する電子システム１１００の例示的実施形態を図１１に示す。一つ又は複数の実施形態において、電子システム１１００は、当業者には周知のデスクトップコンピュータのフォームファクタ内に実装されてもよい。代替の実施形態では、電子システム１１００は、ラップトップまたはノートブックコンピュータをベースとして実装されてもよい。
【００６９】
電子システム１１００には、電子システム１１００の様々なハードウェア部品全体に亘り、あるいは部品同士の間で情報を交換するための、データバス１１０４またはその他の相互接続や通信機構と、そのデータバス１１０４に電気的に連結されて情報を処理し、その他の計算や制御タスクを実行するための中央処理ユニット（ＣＰＵまたは単にプロセッサ）１１０１とが、含まれていてよい。また電子システム１１００には、データバス１１０４に連結されて様々な情報やプロセッサ１１０１で実行される命令を格納するための、ランダムアクセスメモリ（ＲＡＭ）や他の動的記憶装置などのメモリ１１１２も含まれる。メモリ１１１２にはまた、磁気ディスク、光学ディスク、固体フラッシュメモリ装置や、その他の不揮発性固体記憶装置などの、持続性記憶装置が含まれてもよい。
【００７０】
一つ又は複数の実施形態においてメモリ１１１２は、プロセッサ１１０１により命令を実行する際の一時的な変数やその他の中間情報を格納するために利用されてもよい。任意選択により、電子システム１１００には更に、データバス１１０４に連結された読み出し専用メモリ（ＲＯＭまたはＥＰＲＯＭ）１１０２やその他の静的記憶装置が含まれていて、電子システム１１００の運転に必要なファームウェアや基本入出力システム（ＢＩＯＳ）、並びに電子システム１１００の様々な設定パラメータなどのプロセッサ１１０１のための静的な情報や命令が格納されてもよい。
【００７１】
一つ又は複数の実施形態において、電子システム１１００には表示装置２０１が組み込まれていてもよい。これはまたデータバス１１０４に電気的に連結されて、本明細書に記載の検出用画素塊１０５のグリッドを組み込んだユーザインタフェースなどの、電子システム１１００のユーザへの様々な情報を表示してもよい。代替の実施形態において、表示装置２０１はグラフィックコントローラ及び／又はグラフィックプロセッサ（図示せず）に関連付けられていてもよい。表示装置２０１は、いずれも当業者にはよく知られている、例えば薄膜トランジスタ（ＴＦＴ）技術を利用して製造された液晶ディスプレイ（ＬＣＤ）や、有機発光ダイオード（ＯＬＥＤ）として実装されていてもよい。様々な実施形態において、表示装置２０１は電子システム１１００の他の部品とともに、同一の全体筐体の中に組み込まれてもよい。これとは別の実施形態では、表示装置２０１はそのような筐体の外側、例えばテーブルまたは机の上に配置されてもよい。一つ又は複数の実施形態において、電子システム１１００には更に、本明細書に記載の検出用画素塊を組み込んだユーザインタフェースなどのような情報を、表示面１０４上に投影するように構成されたプロジェクタまたはミニプロジェクタ１０１が組み込まれていてもよい（図１参照）。
【００７２】
一つ又は複数の実施形態において、電子システム１１００は更にデータバス１１０４に電気接続された音声再生装置１１２５を組み込んでいて、ＭＰＥＧ−３ファイルや、例えばＭＰＥＧ−４などの様々な映像ファイルの音声トラックなどの、当業者にはよく知られた種々の音声ファイルを再生するように構成されていてもよい。そのために、電子システム１１００は波形または音声プロセッサまたは類似の装置（図示せず）を組み込んでいてもよい。
【００７３】
一つ又は複数の実施形態において、電子システム１１００は、方向情報やコマンド選択をプロセッサ１１０１に知らせ、またディスプレイ２０１上でカーソル移動を制御するための、マウス、トラックボール、タッチパッド、カーソル方向キーなどの、マウス／ポインティングデバイス１１１０のような一つ又は複数の入力装置を含んでいてもよい。この入力デバイスは一般的に、第１の軸（たとえばｘ軸）及び第２の軸（例えばｙ軸）の２つ軸における自由度２を有しており、これにより平面上の位置を特定することができる。
【００７４】
電子システム１１００は更に、静止画像と、本明細書に記述の検出グリッドの映像を含む様々な物体の映像を取得するためのカメラ１０３、並びにキーボード１１０６を組み込んでいてよい。これらはすべて、データバス１１０４に連結されて、これに限定されないが画像や映像、更に（ジェスチャを含む）ユーザコマンドを含む情報をプロセッサ１１０１に通信するようになっていてもよい。
【００７５】
一つ又は複数の実施形態において、電子システム１１００はさらに、データバス１１０４に連結されたネットワークインタフェース１１０５のような通信インタフェースを含んでもよい。ネットワークインタフェース１１０５は、電子システム１１００と、ＷＩＦＩインタフェース１１０７、セルラーネットワーク（ＧＳＭ（登録商標）またはＣＤＭＡ）アダプタ１１０８及び／又はローカルエリアネットワーク（ＬＡＮ）アダプタ１１０９の少なくとも１つを利用するインターネット１１２４との間の接続を確立するように構成されていてもよい。ネットワークインタフェース１１０５は電子システム１１００とインターネット１１２４の間の双方向データ通信を可能とするようになっていてもよい。ＷＩＦＩアダプタ１１０７は、当業者には周知の、８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ及び／又は８０２．１１ｎプロトコル並びにブルートゥースプロトコルに準拠して動作してよい。電子システム１１００のＬＡＮアダプタ１１０９は、例えば、総合デジタル通信網（ＩＳＤＮ）カードまたはモデムを利用して実装されて、インターネットサービスプロバイダのハードウェア（図示せず）を利用してインターネット１１２４に接続された対応する種類の電話線とのデータ通信接続を提供してもよい。別の例としては、ＬＡＮアダプタ１１０９は、ローカルエリアネットワーク・インタフェースカード（ＬＡＮ  ＮＩＣ）であって、互換性のあるＬＡＮ及びインターネット１１２４へのデータ通信接続を提供してもよい。例示的実施形態において、ＷＩＦＩアダプタ１１０７、セルラーネットワーク（ＧＳＭ（登録商標）またはＣＤＭＡ）アダプタ１１０８及び／又はＬＡＮアダプタ１１０９は、様々な種類の情報を表すデジタルデータストリームを搬送する電気信号または電磁信号を送受信する。
【００７６】
一つ又は複数の実施形態において、インターネット１１２４は典型的には一つ又は複数のサブネットワークを介して他のネットワークソースへデータ通信を提供する。こうして、電子システム１１００はインターネット１１２４上の任意の場所にある種々のネットワークリソース、例えばリモートメディアサーバ、ウェブサーバ、他のコンテンツサーバ、並びに他のネットワーク上のデータ格納リソース、などへのアクセスが可能となる。一つ又は複数の実施形態において、電子システム１１００は、ネットワークインタフェース１１０５によってインターネット１１２４を含む様々なネットワークを通じて、メッセージや媒体や、アプリケーションプログラムコードを含むその他のデータを送受信するように構成されている。インターネットの例では、電子システム１１００がネットワークのクライアントとして作用する場合に、電子システム１１００上で実行するアプリケーションプログラム用のコードやデータを要求してもよい。同様に、他のネットワークリソースへ様々なデータやコンピュータコードを送信してもよい。
【００７７】
一つ又は複数の実施形態において、本明細書に記載した機能は、メモリ１１１２内に保持される一つ又は複数の命令の一つ又は複数のシーケンスを実行するプロセッサ１１０１に応答して、電子システム１１００によって実装される。そのような命令は、別のコンピュータ可読媒体からメモリ１１１２へ読み込まれてもよい。メモリ１１１２に保持された命令のシーケンスを実行することにより、プロセッサ１１０１に本明細書に記載の様々なプロセスステップを実行させる。代替の実施形態では、本発明の実施形態を実装するのに、ソフトウェアによる命令に替えて、あるいはソフトウェアによる命令と組み合わせて、配線による回路が使用されてもよい。従って、ここに記載した本発明の実施形態は、ハードウェア回路及び／又はソフトウェアのいかなる特定の組み合わせにも限定されない。
【００７８】
本明細書で用いられる「コンピュータ可読媒体」という用語は、プロセッサ１１０１に実行命令を与えることに関与する任意の媒体を指す。コンピュータ可読媒体は、マシン可読媒体の単なる一例であり、本明細書に記載の任意の方法及び／又は技術を実装するための命令を伝える。このような媒体は多様な形態を取ることができ、不揮発性媒体、及び揮発性媒体が含まれるが、これに限定されことはない。
【００７９】
非一時的なコンピュータ可読媒体の一般的形態には、例えば、フロッピディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープ、又は他の任意の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光学媒体、パンチカード、紙テープ、孔パターンを有するその他の任意の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、フラッシュドライブ、メモリカード、その他の任意のメモリチップ又はメモリカートリッジ、あるいはコンピュータが読み出し可能な他の任意の媒体、が含まれる。様々な形態のコンピュータ可読媒体が、プロセッサ１１０１での実行のために、１つまたは複数の命令の１つまたは複数のシーケンスの伝送に関与し得る。例えば、最初は命令がリモートコンピュータから磁気ディスクで搬送されてもよい。又は、リモートコンピュータが命令をダイナミックメモリに書込み、インターネット１１２４で命令を送信することもできる。具体的にはコンピュータ命令は、当分野で周知の様々なネットワークデータ通信プロトコルを利用して、インタフェース１１２４を介して前述のリモートコンピュータから電子システム１１００のメモリ１１１２へダウンロードされてもよい。
【００８０】
一つ又は複数の実施形態において、電子システム１１００のメモリ１１１２は、以下のソフトウェアプログラムやアプリケーション、モジュールの任意のものを格納してもよい。
【００８１】
１．基本システム業務を実装し、電子システム１１００の様々なハードウェア部品を管理する、オペレーティングシステム（ＯＳ）１１１３。オペレーティングシステム（ＯＳ）１１１３の例示的実施形態は当業者には周知であり、現在知られているか最新開発の移動用オペレーティングシステムの全てを含んでよい。
【００８２】
２．アプリケーション１１１４は、例えば、電子システム１１００のプロセッサ１１０１によって実行される一組のソフトウェアアプリケーションを含み、これは電子システム１１００に、表示装置２０１上にユーザインタフェースを表示したり、カメラ１０３を利用してユーザのジェスチャを検出したりするような、特定の所定の機能を実行させてよい。一つ又は複数の実施形態において、アプリケーション１１１４は以下に詳述する本発明のジェスチャインタフェース・アプリケーション１１１５並びにユーザアプリケーション１１２０を含んでよい。
【００８３】
３．データ格納部１１２１は、例えば、較正モジュール１１１９によって生成される較正データを格納するための較正データ格納部１１２２と、ユーザジェスチャの識別のために利用される、検出グリッド内の検出用画素塊の遮蔽パターンを格納するための、遮蔽パターン格納部１１２３とを含んでよい。
【００８４】
一つ又は複数の実施形態において、本発明のジェスチャインタフェース・アプリケーション１１１５は、ユーザインタフェース生成モジュール１１１６を包含し、これは電子システム１１００のディスプレイ２０１またはプロジェクタ１０１を利用して本明細書に記載した検出グリッドを組み込んだユーザインタフェースを生成するように構成されている。本発明のジェスチャインタフェース・アプリケーション１１１５は更に、カメラ１０３に遮蔽された検出用画素塊の映像をキャプチャさせるためのビデオキャプチャモジュールと、カメラ１０３により取得した映像を処理して検出用画素塊の動的な遮蔽パターンに基づいてユーザジェスチャを検出するための映像処理モジュールと、検出グリッドの検出用画素塊１０５に対応する位置を検出、格納するための較正モジュール１１１９、を含んでよい。ユーザジェスチャを検出すると、本発明のジェスチャインタフェース・アプリケーション１１１５が適切な制御コマンドをユーザアプリケーション１１２０へ送信してもよい。
【００８５】
図１２は、映像処理モジュール１１１１の例示的実施形態を示す。一つ又は複数の実施形態において図１２に示すように映像処理モジュール１１１８には、取得されたユーザインタフェースの画像中の検出用画素塊１０５の少なくとも一部の遮蔽を識別する、遮蔽識別モジュール１２０１と、表示コンテンツ１０７上の検出グリッドにある検出用画素塊１０５の識別された遮蔽パターンに基づいてユーザが行ったジェスチャを検出する、ジェスチャ検出モジュール１２０２とが含まれる。上記のモジュール１２０１と１２０２は、上に述べた方法に従って動作する。
【００８６】
最後に、本明細書中に記載されたプロセス及び技術は特定の装置に生得的に関係するものではなく、構成要素の任意の適切な組み合わせによって実装可能であることを理解されたい。更に、種々のタイプの汎用デバイスを、本明細書に記載の教示にしたがって使用することが可能である。本明細書に記載された方法のステップを実行するための専用装置を構築することが有利であることも判明するであろう。本発明を特定の例に関連して記載したが、これらは全ての点において限定的ではなく説明的であることを意図している。ハードウェア、ソフトウェア、及びファームウェアの多くの異なる組み合わせが本発明の実行に好適であることが、当業者には理解されるであろう。例えば、前述のソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、オブジェクティブＣ、ｐｅｒｌ、ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）などの広範なプログラム言語あるいはスクリプト言語、並びに、現在既知又は最新開発のプログラム言語あるいはスクリプト言語によって実装することが可能である。
【００８７】
さらに、ここに開示した本発明の明細書を考察し、本発明を実施すれば、本発明の他の実装が当業者には明らかとなるであろう。記述された実施形態の各種態様及び／又は構成要素は、複数の検出用画素塊の遮蔽パターンを利用してユーザのジェスチャを検出するシステム及び方法において、単独もしくは任意の組み合わせで利用することが可能である。明細書及び実施例は例示としてのみ理解されるべきであり、本発明の真の範囲と精神は添付の特許請求の範囲によって示されるものとする。
【図１】
2015179491.tif 000003
【図２】
2015179491.tif 000004
【図３】
2015179491.tif 000005
【図４】
2015179491.tif 000006
【図５】
2015179491.tif 000007
【図６】
2015179491.tif 000008
【図７】
2015179491.tif 000009
【図８】
2015179491.tif 000010
【図９】
2015179491.tif 000011
【図１０】
2015179491.tif 000012
【図１１】
2015179491.tif 000013
【図１２】
2015179491.tif 000014