(57)【要約】【課題】  情報処理装置に登録された多数のジェスチャから、ユーザが行ったジェスチャを検索するのにかかる処理負荷を低減する。【解決手段】  上記課題を解決するために、本発明は、複数のジェスチャを、開始位置から終了位置へのベクトルが類似するジェスチャ毎にグループとして記憶部２００に記憶し、検知部２０１が入力領域に対して行われるジェスチャを検知し、検知部２０１によりジェスチャの開始位置が検知された際、前記ジェスチャが終了したか否かに関わらず、決定部２０５が、前記開始位置に応じて、前記登録されたグループのうち少なくとも１つのグループを処理の対象に決定し、検知部２０１により前記ジェスチャの終了位置が検知された際、特定部２０７が、検知部２０１が検知したジェスチャの軌跡に応じて、前記決定手段によって決定されたグループに属するジェスチャの中から前記入力領域に対して行われたジェスチャを特定することを特徴とする。【選択図】  図２
2013097610.tif 000002
【特許請求の範囲】
【請求項１】
複数のジェスチャを、開始位置から終了位置へのベクトルが類似するジェスチャ毎にグループとして記憶する記憶手段と、
入力領域に対して行われるジェスチャを検知する検知手段と、
前記検知手段によりジェスチャの開始位置が検知された際、前記ジェスチャが終了したか否かに関わらず、前記開始位置に応じて、前記登録されたグループのうち、少なくとも１つのグループを処理の対象に決定する決定手段と、
前記検知手段により前記ジェスチャの終了位置が検知された際、該検知手段が検知したジェスチャの軌跡に応じて、前記決定手段によって決定されたグループに属するジェスチャの中から前記入力領域に対して行われたジェスチャを特定する特定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記入力領域において、前記グループ毎に登録されたジェスチャの開始が許可される領域を設定する設定手段を更に備え、
前記決定手段は、前記設定手段により設定された領域のうち、前記検知手段により検知されたジェスチャの開始位置を含む少なくとも１つの領域において、開始が許可されたジェスチャが属するグループを、処理の対象に決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定手段は、前記登録されたジェスチャのそれぞれが、前記入力領域に対して行われる場合に想定される最小の範囲のサイズを決定し、前記入力領域において、前記ジェスチャの開始位置となった場合に、前記ベクトルの方向に前記決定されたサイズの範囲が確保できるかどうかに基づいて、前記グループ毎に登録されたジェスチャの開始が許可される領域を設定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記決定手段は、前記検知手段により検知された開始位置において入力の開始が許可されたジェスチャが属するグループが複数存在する場合には、前記開始位置と、前記開始位置を含む複数の領域それぞれを代表する位置との間の距離に基づいて前記複数のグループの優先順を決定し、
前記特定手段は、前記優先順に従って１つずつ選択したグループに属するジェスチャの中から、前記入力領域に対して行われたジェスチャを特定した場合には、前記優先順においてそれより後のグループに対する検索は行わないことを特徴とする請求項２乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記複数のジェスチャのそれぞれが過去に入力された際の開始位置の情報に基づき、前記設定手段により設定された領域の範囲を修正する修正手段を更に備える
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
コンピュータに読み込み込ませ実行させることで、前記コンピュータを請求項１乃至５のいずれか１項に記載の情報処理装置として機能させることを特徴とするプログラム。
【請求項７】
記憶手段により、複数のジェスチャを、開始位置から終了位置へのベクトルが類似するジェスチャ毎にグループとして記憶する記憶工程と、
検知手段により、入力領域に対して行われるジェスチャを検知する検知工程と、
決定手段により、前記検知手段によりジェスチャの開始位置が検知された際、前記ジェスチャが終了したか否かに関わらず、前記開始位置に応じて、前記登録されたグループのうち、少なくとも１つのグループを処理の対象に決定する決定工程と、
特定手段により、前記検知手段により前記ジェスチャの終了位置が検知された際、該検知手段が検知したジェスチャの軌跡に応じて、前記決定手段によって決定されたグループに属するジェスチャの中から前記入力領域に対して行われたジェスチャを特定する特定工程と、
を備えることを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが行うジェスチャによって操作可能な情報処理装置に関する。
【背景技術】
【０００２】
ポインティングデバイスを用いてパターンや文字を入力領域上に描くことによって操作可能な情報処理装置が普及している。このようなポインティングデバイスによる操作のことを、ジェスチャ入力による操作、ジェスチャ認識による操作と呼ぶこともある。従来は、ジェスチャ入力を検知すると、機器内の辞書に登録された全てのジェスチャ入力の候補群から、実行されたジェスチャ入力を検索して特定していた。そのため、辞書に登録されているジェスチャの数が多くなった場合、検索対象の数も多くなり、実行されたジェスチャを特定するための処理に時間がかかる。従って、パフォーマンスを向上させるためには、登録されるジェスチャの数を増やすことが出来なかった。
そこで、特許文献１では、情報処理装置が認識可能な複数のジェスチャを、複数のセットに分類して辞書に登録する。そして、ユーザによって入力されたジェスチャの入力開始の位置、及び終了の位置がいずれの領域に含まれるかを判定した結果によって、入力領域に対して行われたジェスチャを優先して検索するセットを決定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１０９４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、ユーザは、必ず所定の領域内でジェスチャ入力を始め、所定の領域内で終了することが必要であった。従って、入力領域が大きくなるなどして、ユーザが手書き入力を行う位置や文字の大きさの自由度が増すと、必ずしも想定された位置や大きさで手書き入力がなされるとは限らないため、優先すべき文字セットを正しく選択できなくなるという課題があった。
本発明は、上記の課題を考慮してなされたものであり、情報処理装置に登録された多数のジェスチャから、ユーザが任意の位置で開始したジェスチャを認識するのにかかる処理負荷を低減することを目的とする。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明の情報処理装置は、複数のジェスチャを、開始位置から終了位置へのベクトルが類似するジェスチャ毎にグループとして登録する登録手段と、入力領域に対して行われるジェスチャを検知する検知手段と、前記検知手段によりジェスチャの開始位置が検知された際、前記ジェスチャが終了したか否かに関わらず、前記開始位置に応じて、前記登録されたグループのうち、少なくとも１つのグループを処理の対象に決定する決定手段と、前記検知手段により前記ジェスチャの終了位置が検知された際、該検知手段が検知したジェスチャの軌跡に応じて、前記決定手段によって決定されたグループに属するジェスチャの中から前記入力領域に対して行われたジェスチャを特定する特定手段と、備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、情報処理装置に登録された多数のジェスチャから、ユーザが任意の位置で開始したジェスチャを認識するのにかかる処理負荷を低減する。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置のハードウェア構成を示すブロック図
【図２】情報処理装置の機能構成を示すブロック図
【図３】登録ジェスチャのグループと開始許可領域の対応関係を示すリストの一例を示す概要図
【図４】開始許可領域の一例を示す概要図
【図５】メインの処理内容を示すフローチャート
【図６】領域設定処理の内容を示すフローチャート
【図７】ジェスチャ開始処理の内容を示すフローチャート
【図８】ジェスチャ認識処理の内容を示すフローチャート
【図９】履歴されたジェスチャ開始位置の分布の一例を示す概要図
【図１０】ジェスチャ認識処理の内容を示すフローチャート
【図１１】開始許可領域更新処理の内容を示すフローチャート
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。
【０００９】
［第１の実施形態］
本実施形態による情報処理装置では、認識可能な複数のジェスチャを、それぞれのジェスチャが描くパターンの開始位置から終了位置へのベクトルが類似するジェスチャ毎に分類したグループ化して管理する。そしてグループ毎に、入力領域上でそのグループに属するジェスチャの開始が許可された入力許可領域を設定する。入力許可領域は、入力領域のサイズと、グループに属するジェスチャのパターンを描くのに最低限必要な範囲のサイズを基に決定されるもので、入力許可領域内でジェスチャを開始した場合には、必ず入力領域上で終了位置までジェスチャを行うことができる。このように、実施形態では、ユーザがジェスチャを開始した開始座標が、いずれのグループの入力開始領域に含まれるかによって、入力領域に対して行われたジェスチャを特定するために検索を行う対象を限定し、ジェスチャ認識処理にかかる負荷を低減する。
【００１０】
図１を参照して、本発明に係る情報処理装置１００のハードウェア構成の一例について説明する。情報処理装置１００は、バス１０１、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、外部記憶装置１０６から構成される。
【００１１】
バス１０１は、各構成要素を接続し、アドレスバス、データバス及びコントロールバス等を含む。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２は、各種処理のための演算や論理判断などを行い、バス１０１に接続された各構成要素を制御する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４は、ＣＰＵ１０２のワークエリア（メインメモリ）として機能する。本実施形態では、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３が、図５〜図８、図１０、図１１のフローチャートにより後述する各種処理手順を含むＣＰＵによる制御のためのプログラムを格納し、プログラムメモリとして機能する。ただし、記憶装置１０５や外部記憶装置１０６などから各プログラムがロードされ、ＲＡＭ１０４をプログラムメモリとして使用することも可能である。あるいは、これらの組み合わせを用いても構わない。
【００１２】
記憶装置１０５は、本実施形態に係るデータや各種の制御プログラムを記憶しておくためのハードディスクなどの記憶装置である。本実施形態においては、情報処理装置１００を操作可能なジェスチャのパターンや、ジェスチャ操作によって指示される処理の内容を示すデータは、記憶装置１０５に保存されている。ただし、記憶装置１０５と同様の役割を果たすものとして、外部記憶装置１０６を用いることも可能である。ここで、外部記憶装置１０６とは、例えば、メディア（記憶媒体）と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ、ＭＯ、フラッシュメモリ等が知られている。このように、本実施形態において必要な情報は、ＲＡＭ１０４や記憶装置１０５、外部記憶装置１０６に保持されている。
【００１３】
入力装置１０７は外部装置からの情報を入力するための入力装置である。また、出力装置１０８は、情報処理装置１００にて処理された結果や保持している情報を外部装置に出力するための出力装置である。本実施形態では、入力装置１０７と出力装置１０８が一体化されたタッチパネルディスプレイ１０９が、情報処理装置１００に搭載されているものとする。ただし、これに限らず、入力装置１０７としては、例えば、マウス、トラックボール、タッチパネル等のポインティングデバイスや、キーボードや物理ボタン、各種センサなどを使用可能である。また、出力装置１０８としては、例えば、液晶ディスプレイ、ＣＲＴディスプレイやプロジェクタ等の表示出力装置や、情報処理装置１００が認識したジェスチャによって操作される他の情報処理装置１００を用いることもできる。尚、以下特に断らない限り、既に説明した図を用いて説明されたものには同一の符号を付し、その説明を省略する。
【００１４】
次に、図２（ａ）を参照して本発明に係る情報処理装置１００のソフトウェア構成の一例を説明する。情報処理装置１００は、記憶部２００、検知部２０１、取得部２０２、設定部２０３、判定部２０４、決定部２０５、特定部２０６、修正部２０７から構成される。
【００１５】
記憶部２００は、記憶装置１０５、及び外部記憶装置１０６によって構成され、本実施形態の情報処理装置１００を操作するために登録されている認識可能なジェスチャ（以下、登録ジェスチャ）を保持する。登録ジェスチャの一例を図３（ａ）に示す。本実施形態の例では、１６種類のジェスチャが登録されている。本実施形態では、１６種類のジェスチャを、それぞれのジェスチャが描くパターンの開始位置から終了位置へのベクトルの方向が同じジェスチャ毎に４つのグループに分け、それぞれのグループにはグループＩＤが割り振って管理している。例えば、グループＩＤが１のグループ（以下、グループ１）は、画面に向かって左上から開始し、右下で終了するパターンをもつジェスチャが属するグループである。同様に、グループ２には、画面に向かって右上で開始し、左下の終了位置に向かうベクトルを有するジェスチャが属する。グループ３には、画面に向かって左下で開始し、右上の終了位置に向かうベクトルを有するジェスチャが属する。そして、グループ４には、画面に向かって右下で開始し、左上の終了位置に向かうベクトルを有するジェスチャが属している。記憶部２００は、このように、複数の登録ジェスチャをグループとして記憶している。これらの登録ジェスチャは、それぞれが情報処理装置１００で実行される機能プログラムと関連付けられており、記憶部２００には、その関連を示す情報を保持している。さらに、後述する取得部２０２が取得するタッチパネルディスプレイ１０９の画面サイズや、設定部２０３によって以前に設定された開始許可領域を示す情報など、本実施形態において必要な情報が記憶部２００に保持されている。
【００１６】
検知部２０１は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４によって構成され、タッチパネルディスプレイ１０９の入力領域上を座標平面として、入力装置１０７によって入力された座標を取得する。本実施形態では、ユーザが入力領域に対して行うジェスチャの開始位置、終了位置、及びその間の軌跡の座標情報を取得し、ＲＡＭ１０４に保持する。取得部２０２は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４によって構成され、記憶部から、登録ジェスチャの情報および画面サイズを取得し、ＲＡＭ１０４に記憶する。
【００１７】
設定部２０３は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４によって構成され、取得部２０２が取得した登録ジェスチャの情報および画面サイズを利用して、登録ジェスチャの各グループに対する開始許可領域を設定する。その際、タッチパネルディスプレイ１０９上において登録ジェスチャが入力される場合に想定されるサイズを考慮し、画面サイズに対して、各グループのジェスチャを行うことが不可能な範囲を除いた領域を、開始許可領域として設定する。ここで各グループのジェスチャを行うことが不可能であるとは、各ジェスチャを最後まで行うのに十分な範囲を確保できないという意味である。開始許可領域の一例を図４に示す。図４では、タッチパネルディスプレイ１０９の入力領域４１に対する、登録ジェスチャの各グループに対応する開始許可領域を表している。図４（ａ）は、グループ１に属するジェスチャに対応する開始許可領域（領域Ｌ１）を示す。図３（ａ）で示したように、グループ１に属するジェスチャは画面に向かって左上から開始され、右下に進んで終了するパターンを有する。従って、画面の右及び下の端の領域は、その領域においてジェスチャの入力を開始したとしても、パターンを描くために十分に右下に進むことが不可能であるため、開始許可領域に含まれない。従って、グループ１のジェスチャに対しては、画面に向かって右及び下の端から、ジェスチャの開始を禁止する範囲（以下、開始禁止範囲）を設定し、開始禁止範囲を除く左上の領域Ｌ１を、開始許可領域として設定する。図４における開始許可領域４２は、その境界上において、登録ジェスチャの入力を開始した場合に、画面内に収まるように終了するのに必要十分な領域であり、開始禁止範囲は、開始許可領域の境界を含まない残りの範囲である。図４（ｂ）〜（ｄ）は、同様に、グループ２〜４のジェスチャに対して設定された開始許可領域である。すなわち、図４（ｂ）は、グループ２に対応する開始許可領域４４（領域Ｒ１）、図４（ｃ）はグループ３に対応する開始許可領域４６（領域Ｌ２）、図４（ｄ）はグループ４に対応する開始許可領域４８（領域Ｒ２）をあらわしている。また、図４（ｅ）は、入力領域上に設定された全ての開始許可領域と、その重複を表している。ここで、本実施形態のタッチパネルディスプレイ１０９においては、入力領域の画面サイズが４８０×６４０ｐｉｘｅｌであり、ジェスチャ開始禁止範囲の幅が９９ｐｉｘｅｌであるものとする。図４（ｅ）において、領域Ａは領域Ｌ１、領域Ｃは領域Ｒ１、領域Ｇは領域Ｌ２、領域Ｉは領域Ｒ２のみに含まれる領域（以下、独立領域）であるため、これらの領域において入力が開始された場合には、一意に対応する登録ジェスチャのグループを決定できる。一方、例えば、領域Ｂは領域Ｌ１と領域Ｒ１に重複して含まれる領域（以下、重複領域）である。同様に、領域Ｄ、領域Ｆ、領域Ｈは２つの開始許可領域に含まれ、領域Ｅは４つ全ての開始許可領域に含まれている。これらの重複領域において、ジェスチャが開始された場合には、対応する登録ジェスチャのグループが複数存在するため、優先順を決定して検索を行う必要がある。優先順を決定する処理については後述する。さらに設定部２０３は、設定した開始許可領域と各���ループとの対応関係を示すリストを生成し、ＲＡＭ１０４上に保持する。図３（ｂ）は、生成されたリストの一例を示す。
【００１８】
判定部２０４は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４によって構成され、図３（ｂ）に示したリストを参照し、検知部２０１が取得したジェスチャの開始位置の座標が含まれる領域が、独立領域か重複領域かを判定する。
【００１９】
決定部２０５は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４によって構成され、判定部２０４から判定結果を取得し、その結果に基づいて、入力領域に対して行われたジェスチャを特定するために、検索を行う対象となる登録ジェスチャのグループを決定する。判定の結果、ジェスチャが独立領域で開始されていた場合には、その領域に対応グループを検索対象に決定する。ジェスチャが、重複領域において開始されていた場合には、その領域に対応するグループを検索対象として決定した上で、開始座標の開始許可領域それぞれの代表座標との関係に基づいて、決定した複数のグループに優先順を設定する。優先順の設定方法は後述する。決定部２０５は、検索対象として決定した登録ジェスチャのグループのＩＤを、優先順を維持してＲＡＭ１０４上に保持する。
【００２０】
特定部２０６は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４によって構成され、登録ジェスチャの中から、入力領域に対して行われたジェスチャを特定し、ジェスチャを認識した結果として出力する。具体的には、登録ジェスチャのパターンと、入力領域に対して行われたジェスチャのパターンのマッチング度を求め、マッチング度が閾値以上であるものを検索結果として認識し、ＲＡＭ１０４上に保持する。そして、記憶部２００から取得した関連付け情報を参照し、入力領域に対して行われたジェスチャが指示する処理内容を、出力装置１０８に渡す。本実施形態の場合は、表示出力装置であるタッチパネルディスプレイ１０９は、情報処理装置１００と一体に構成されているので、特定部２０６は出力装置の表示制御部に結果を渡し、ジェスチャ操作の結果が画面に表示される。
【００２１】
なお、本発明は、これらの機能部をハードウェアで実現する情報処理装置によっても同様に実現可能である。
【００２２】
次に図５〜図７を参照して、開始許可領域の設定から認識処理までのフローを説明する。図５は、本実施形態の情報処理装置１００が実行するメイン処理を示すフローチャートである。まず、アプリケーションの起動に伴い、本実施形態におけるメイン処理が開始され、ステップＳ５０１において、既に設定された開始許可領域があるか判定する。具体的には、取得部２０２が記憶部２００に、以前に設定された開始許可領域の情報が格納されているかを判定する。アプリケーションの初回起動時、またはアプリケーションの更新後など既存の開始許可領域が使用できない場合（ステップＳ５０１でＮｏ）、ステップＳ５０２に進む。ステップＳ５０２では、後述する領域設定処理が実行され、終了するとメイン処理にリターンされてステップＳ５０３に進む。既に開始許可領域が設定されている場合（ステップＳ５０１でＹｅｓ）、ステップＳ５０２を省略してステップＳ５０３に進む。ステップＳ５０３では、検知部２０１が、入力装置１０７から、タッチパネルディアスプレイ１０９に対するジェスチャを開始するタッチ入力があったかを判定する。入力があった場合には、検知部２０１はその入力の開始位置の座標（開始座標）を取得して、ＲＡＭ１０４に保持してステップＳ５０４に進む。入力がない場合には、ジェスチャが入力されるまで待機する。ステップＳ５０４では、後述するジェスチャ開始処理が実行される。ジェスチャ開始処理が終了すると、再びメイン処理にリターンされて、ステップＳ５０５に進む。続くステップＳ５０５では、後述するジェスチャ認識処理が実行される。ジェスチャ認識処理が終了すると、メイン処理にリターンされて、ステップＳ５０６に進む。ステップＳ５０６では、これまでの処理によって認識された結果によって、情報処理装置１００に対して指示された機能プログラムを呼び出し、実行する。ジェスチャ認識処理（ステップＳ５０５）においてジェスチャが認識されていれば、その結果を受け、そのジェスチャ操作による指示を出力装置１０８に出力する。ステップＳ５０７では、操作が終了されるかどうかを判定する。アプリケーションにおいて所定の終了操作がなされた場合には、操作は終了と判定し（ステップＳ５０７でＹｅｓ）、処理を終了する。操作が終了されない場合（ステップＳ５０７でＮｏ）には、ステップＳ５０３に戻ってさらなるジェスチャにおる操作を待つ。以上が、本実施形態のために情報処理装置１００で実行されるメイン処理である。
【００２３】
次に、図６を参照して、ステップＳ５０２において実行される領域設定処理を説明する。
【００２４】
まず、ステップＳ６０１において、取得部２０２は、記憶部２００からタッチパネルディスプレイ１０９の入力領域のサイズと、登録ジェスチャのグループ情報を取得する。取得した情報は、ＲＡＭ１０４上に保持される。本実施形態では、上述したようにタッチパネルディスプレイ１０９の画面サイズは、４８０×６４０ｐｉｘｅｌである。また、記憶部２００には、図３（ａ）に示したようにグループＩＤが１〜４の４つのグループのジェスチャが記憶されている。続いて、ステップＳ６０２において、設定部２０３は、ＲＡＭ１０４上の登録ジェスチャの情報を参照し、領域を設定する処理の対象となるグループのＩＤを選択する。本実施形態では、グループＩＤの場号の昇順にグループを選択していくものとするので、初回の処理ではグループ１を選択し、ステップＳ６０３に進む。
【００２５】
次に、ステップＳ６０３において、設定部２０３は、取得部２０２から選択されたグループに属する登録ジェスチャが描くパターンの情報を取得する。例えば、グループ１に属しているジェスチャは、左上の開始位置から右下の終了位置に向かうパターンであるため、右方向と下方向の方向線分を持ち、また、全て垂直方向と水平方向が１：１の矩形範囲内で描くことができるパターンである。さらに、本実施形態のタッチパネルディスプレイの画面サイズ及び性能から、本実施形態における情報処理装置１００に対してこのようなジェスチャを行うためには、最低１００×１００ｐｉｘｅｌの領域が必要であるとする。ステップＳ６０３においては、このように、登録ジェスチャが描くパターンの方向と大きさに関する情報を取得する。
【００２６】
続くステップＳ６０４において、ステップＳ６０４は、処理対象となっているグループのジェスチャの開始禁止範囲を決定する。開始禁止範囲とは、入力装置１０７の入力領域において、その範囲内でジェスチャを開始すると、ジェスチャのパターンを終了位置まで描くことができなくなる範囲のことである。例えば、処理対象がグループ１のジェスチャの場合、画面の右端および下端においてジェスチャを開始しても、それ以上右下方向にタッチ位置を移動させることができないため、ジェスチャを完了できない。従って、画面の右端および下端では、グループ１に属するジェスチャの入力を禁止し、該当範囲において開始されたジェスチャについては、グループ１に属する登録ジェスチャの中に該当するものがあるかどうかの検索を行わないこととする。設定部２０３は、ステップＳ６０３で取得した登録ジェスチャ情報から、このような開始禁止範囲を決定する。グループ１の場合には、右方向及び下方向に１００ｐｉｘｅｌ以上の余裕がなければジェスチャを完了できないため、画面の右端及び下端から９９ｐｉｘｅｌの幅を持った帯状の範囲を、開始禁止範囲として決定する。
【００２７】
ステップＳ６０５において、設定部２０３は、タッチパネルディスプレイ１０９の入力領域全体から開始禁止範囲を除いた領域を、処理対象としているグループのジェスチャの開始許可領域として設定する。このように設定された開始許可領域の情報は、画面上を座標平面とした場合の範囲を示す情報として、記憶部２００に記憶される。例えば、グループ１の登録ジェスチャに対して設定される開始許可領域が、図４（ａ）に示す領域Ｌ１である。本実施形態では、タッチパネルディスプレイ１０９の入力領域を、向かって左下の端（画素）を原点（０，０）とし、１画素を１単位とした座標平面として管理する。従って、領域Ｌ１はＬ１（０：５４０，９９：４７９）という座標情報としてＲＡＭ１０４上に保持される。同様に、グループ２のジェスチャの開始許可領域は、図４（ｂ）に示す領域Ｒ１（９９：６３９，９９：４７９）と決定される。そして、グループ３に対応する開始許可領域は図４（ｃ）に示す領域Ｌ２（０：５４０，０：３８０）、グループ４に対応する開始許可領域は図４（４）に示す領域Ｒ２（９９：６３９，０：３８０）となる。
【００２８】
次に、ステップＳ６０６において、設定部２０３は、全てのグループに対して開始許可領域を設定し、その情報がＲＡＭ１０４上に保持されているかを判定する。全てのグループに対して処理が終わっていなければ（ステップＳ６０６でＮｏ）、ステップＳ６０８に進み、次に処理するグループのＩＤを選択して、ステップＳ６０３に戻る。全てのグループに対して、開始許可領域を設定していれば（ステップＳ６０６でＹｅｓ）、ステップＳ６０７に進む。最後にステップＳ６０７では、設定部２０３が、ＲＡＭ１０４上に保持されている全てのグループに対応する開始許可領域の範囲を整理し、複数のグループに重複して含まれる重複領域と、単一のグループにしか含まれない独立領域とを識別し、リストを生成する。例えば、図４（ｅ）において、領域Ａ（０：９８，３８１：４７９）は、領域Ｌ１にのみ含まれる範囲であり、それに対して領域Ｂ（９９：５４０，３８１：４７９）は領域Ｌ１及び領域Ｒ１に重複して含まれる。このようにして、画面上を９つの領域として識別する記号を割り当てて整理し、生成したリストを示したものが上述した図３（ｂ）である。図３（ｂ）のリストでは、各エリアの座標情報は省略したが、全てのエリアが同様に、ディスプレイの左上を原点とする座標平面での座標で管理されている。リストを生成したら、領域設定処理を終了し、呼び出し元のメイン処理にリターンする。以上が、本実施形態のために情報処理装置１００で実行されるジェスチャ開始処理である。
【００２９】
次に、図７を参照して、ステップＳ５０４における、ユーザがジェスチャを行うためのタッチを開始した時点での処理（ジェスチャ開始処理）を説明する。
【００３０】
まず、ステップＳ７０１において、検知部２０１はユーザがジェスチャを開始したタッチ位置の座標（開始座標）を検知する。そして、ステップＳ７０２において、判定部２０４が、領域設定処理において設定された９つの領域のうち、検知部２０１が検知した開始座標を含む領域の識別記号を取得する。９つの領域は、座標情報で管理されているので、例えば開始座標が（ｘ，ｙ）である場合、１≦ｘ≦９９であってかつ１≦ｙ≦９９であるなら、開始座標は領域Ａに含まれる。また、１００≦ｘ≦５４１であってかつ１≦ｙ≦９９であるなら、開始座標は領域Ｂに含まれる、という情報が得られるので、開始座標を含む領域の識別記号が取得される。次に、ステップＳ７０３において、判定部２０４が、ＲＡＭ１０４上に保持されているリスト（図３（ｂ））を参照し、開始座標が含まれる領域は重複領域であるか、すなわち複数の登録ジェスチャのグループに対応した開始許可領域内に含まれているのかを判定する。開始座標が重複領域に含まれていない、すなわち独立領域に含まれている場合（ステップＳ７０３でＮｏ）には、ステップＳ７０４に進む。ステップＳ７０４では、参照した上述のリストから、開始座標が含まれる独立領域が唯一対応する登録ジェスチャのグループＩＤを取得し、検索対象とするためにＲＡＭ１０４上に保持して、ジェスチャ開始処理を終了する。一方で、開始座標が重複領域に含まれていた場合（ステップＳ７０３でＹｅｓ）は、ステップＳ７０５に進む。
【００３１】
ステップＳ７０５では、決定部２０５が、開始座標を含む開始許可領域に対応する複数のグループのうち、１つのＩＤを選択する。本実施形態では、取得したＩＤの昇順に選択するため、初回の処理では一番若い番号のグループを選択するものとする。次に、ステップＳ７０６において、決定部２０５が、取得部２０２によって取得された画面サイズ情報と各グループの開始許可領域の情報をＲＡＭ１０４で参照し、選択したグループに対応する開始許可領域の代表座標を取得する。本実施形態において、代表座標とは、タッチパネルディスプレイ１０９の入力領域の四隅の点のうち、処理対象としている登録ジェスチャのグループの開始許可領域に含まれる座標である。例えば、図４（ａ）の場合、グループ１の開始許可領域である領域Ｌ１に含まれる四隅の点４３が、領域Ｌ１の代表座標となるので、点４３の座標（０，４７９）を取得する。同様に、領域Ｒ１の代表座標は点４５の座標（６３９，４７９）、領域Ｌ２の代表座標は点４７の座標（０，０）、領域Ｒ２の代表座標は点４９の座標（６３９，０）となる。ここで、四隅の座標を用いるのは、四隅の座標が、各開始許可領域における独立領域に含まれるので、独立領域に近い位置で開始されるジェスチャは、その独立領域に対応するグループの登録ジェスチャである可能性が高いと考えられることを利用するためである。また、本実施形態における登録ジェスチャ（図３（ａ））がいずれも矩形領域の四隅から始まり対角方向に進むため、ユーザがジェスチャを開始する位置が四隅に近い程、その方向から開始されるパターンを描こうとする意思が表れていると考えられるためである。続いて、ステップＳ７０７において、決定部２０５は、取得した代表座標と開始座標（ｘ，ｙ）との間の距離Ｄを求める。求められた距離Ｄは、ＲＡＭ１０４に保持される。続いて、ステップＳ７０８において、決定部２０５が、開始座標を含む領域に対応している登録ジェスチャのグループ全てに対して距離Ｄを求める処理が終了し、ＲＡＭ１０４に距離Ｄの情報が保持されているかどうかを判定する。距離Ｄを求める処理が終了していない場合は（ステップＳ７０８でＮｏ）、ステップＳ７１０に進み、次に処理対象とするグループのＩＤを選択し、ステップＳ７０６に戻る。距離Ｄを求める処理が終了している場合には（ステップＳ７０８でＹｅｓ）、処理はステップＳ７０９に進む。ステップＳ７０９においては、ＲＡＭ１０４に保持された距離Ｄが小さい順に優先順を決定し、登録ジェスチャのグループのＩＤを優先順に並び替えて、ＲＡＭ１０４上に保持する。以上で本実施形態におけるジェスチャ開始処理は終了し、呼び出し元のメイン処理にリターンされる。後のジェスチャ認識処理において、ここで保持されたグループＩＤ順に、登録ジェスチャの中から入力領域に対して行われたジェスチャを検索していく。
【００３２】
次に、図８を参照して、ステップＳ５０５における、入力領域に対して行われたジェスチャを、登録ジェスチャの中から特定する処理（ジェスチャ認識処理）を説明する。
【００３３】
まず、ステップＳ８０１において、特定部２０６が、ユーザのジェスチャが終了したかどうかを判定する。具体的には、検知部２０１から、タッチパネルディスプレイ１０９の入力領域に対するタッチが解放され、タッチ位置が検知されなくなったことを示す情報を受信したかどうかによって判定する。タッチが解放されない場合（ステップＳ８０１でＮｏ）は、ジェスチャの入力が継続中であるので、解放されるまで待機する。タッチが解放された場合（ステップＳ８０１でＹｅｓ）は、ステップＳ８０２に進む。ステップＳ８０２においては、特定部２０６が、ジェスチャが開始されてから終了されるまでに辿った軌跡を検知部２０１が検知しＲＡＭ１０４に保持している、その軌跡の座標情報を取得する。続くステップＳ８０３では、特定部２０６が、入力ジェスチャを検索するためにＲＡＭ１０４に保持していた登録ジェスチャのグループＩＤの中で、優先順が先頭のものを選択する。保持されているグループが１つであった場合には、該当する１つのグループのＩＤを選択する。そして、ステップＳ８０４に進み、選択したＩＤのグループに登録された複数の登録ジェスチャの中に、入力領域に対して行われたジェスチャに該当するジェスチャがあるか検索を行う。本実施形態では、特定部２０６が、複数の登録ジェスチャのパターンと入力領域に対して行われたジェスチャの軌跡座標が描くパターンをそれぞれ比較して行き、結果を一致度としてスコア化する。そして、例えば一致度９０％といった閾値以上のスコアを示す登録ジェスチャが存在した場合に、そのジェスチャを特定し、ＲＡＭ１０４上に登録ジェスチャ情報を保持する。なお、閾値を越える登録ジェスチャが複数該当してしまった場合には、それらのうち最もスコアが高いものを特定するものとする。続くステップＳ８０５では、検索の結果、特定部２０６が条件に該当するジェスチャを特定したかどうかを判定する。ジェスチャを特定した場合（ステップＳ８０５でＹｅｓ）には、ステップＳ８０６に進み、ステップＳ８０４でＲＡＭ１０４に保持した登録ジェスチャの情報を、ジェスチャを認識した結果としてメイン処理に返し、ジェスチャ認識処理を終了する。ジェスチャを特定していない場合（ステップＳ８０５でＮｏ）には、ステップＳ８０７に進む。ステップＳ８０７では、特定部２０６が、検索対象として保持されている全てのグループで検索処理が終了したかを判定する。全てのグループで検索が行われていなければ（ステップＳ８０７でＮｏ）、ステップＳ８０８に進み、優先順が次のグループのＩＤを選択して、ステップＳ８０４の処理に戻る。全てのグループの検索が終了した場合（ステップＳ８０７でＹｅｓ）、開始座標が含まれる領域で認識可能な登録ジェスチャが入力されていないとしてエラーを出力し、メイン処理にリターンする。
【００３４】
以上が、本実施形態のために情報処理装置１００で実行される一連の処理である。
【００３５】
なお、本実施形態の領域設定処理では、取得部２０２が取得する画面サイズは、タッチパネルディスプレイ１０９の画面解像度であった。ただし、これは一例である。例えば、アプリケーションのウインドウのサイズを取得しても良い。また、ウインドウ内のユーザが手書き認識可能な入力領域のサイズを取得しても良い。この場合、取得部２０２はウインドウ及び入力領域のサイズが変わる度に、新たに領域設定処理を行う。さらには、表示部とは別に用意されたタッチ入力専用の領域のサイズであっても良い。
【００３６】
また、本実施形態のジェスチャ開始処理では、開始座標と開始許可領域に含まれる画面の四隅の座標との距離を計算したがこれに限らない。例えば、開始座標と開始許可領域の重心の座標までの距離を計算しても良い。また、開始座標から四隅又は重心の座標までの距離を計算する際に、タッチパネルディスプレイ１０９の画面の縦横比率を考慮しても良い。例えば、画面の縦横比率が２：３の場合、横の長さを２／３倍してから計算を行う。
【００３７】
また、本実施形態のジェスチャ認識処理では、ユーザがタッチパネルディスプレイ１０９の入力領域からタッチ入力を解放した時点で、ジェスチャの認識処理を行ったがこれは一例である。例えば、ユーザのタッチ位置の移動を検知部２０１が検知する度にその座標を特定部２０６が取得し、登録ジェスチャとの比較を行っても構わない。また、ユーザが開始許可領域をタッチした時点で、操作可能なジェスチャを画面に一覧表示することもできる。各グループの登録ジェスチャの数が少ない場合には、このようにジェスチャのパターンを入力するより前に一覧表示を提示することで、ユーザが誤った位置で操作を行いエラーになる恐れを低減できるので効果的と言える。
【００３８】
以上のように、本実施形態によれば、情報処理装置１００に登録されたジェスチャを、開始位置から終了位置へのベクトルの方向が同じことに基づいてグループ分けする。そして、入力装置１０７の画面サイズ及びグループ化された登録ジェスチャを基に、グループ毎の開始許可領域を設定するので、ジェスチャが開始された時点で、入力領域に対して行われたジェスチャを検索するグループを絞り込むことができる。従って、ユーザが任意の位置で開始して、入力領域内で可能な限り自由な大きさで行ったジェスチャであっても、情報処理装置に登録された多数のジェスチャから検索するのにかかる処理負荷を低減することが可能になる。また、絞り込んだグループが複数であった場合には、入力座標と開始許可領域の代表座標との距離が小さい順に、検索を行うグループの優先順を決定する為、該当する可能性の高いジェスチャから検索をかけられるので、認識時間を削減することができる。
【００３９】
［第２の実施形態］
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。なお、第１の実施形態に準ずる箇所については、説明を省略する。
【００４０】
第１の実施形態では、入力領域の四隅に均等に設定された開始許可領域に対して、グループ化した登録ジェスチャを対応させ、ジェスチャの開始座標がいずれの領域に含まれるかを基に、入力ジェスチャとの比較による検索を行うグループを絞り込んだ。しかし、開始許可領域がこのように固定されていると、ユーザの利用状況に応じては、情報処理装置１００の操作性を低減させる場合があった。例えば、情報処理装置１００がタブレット型端末のようなデバイスであって、右利きのユーザが左手でデバイスを支え、右手でジェスチャ操作を行う頻度が高い場合には、ジェスチャは入力領域の画面に向かって右側に偏った位置で行われる可能性が高くなる。このような場合において、第１の実施形態のように均等に設定された開始許可領域（図４（ｅ）など）を設定していると、登録ジェスチャの各グループに対して適正な優先順が設定されないなど、ジェスチャ認識が必ずしも効率的に行われないことがある。このような課題を解決するため、第２の実施形態では、ユーザが各ジェスチャを入力した開始位置の履歴を基に、開始許可領域を修正する例を示す。
【００４１】
ハードウェア構成図は第１の実施形態と同様である。また、本実施形態においても、第１の実施形態同様、図３（ａ）に示した１２のパターンのジェスチャが登録されているものとする。
【００４２】
図２（ｂ）は、本実施形態における機能構成図である。第１の実施形態との違いは修正部２０７が追加されたことである。修正部２０７は、特定部２０６から、ジェスチャの認識の結果と、ユーザがジェスチャを開始した開始座標の情報を取得し、履歴情報を生成して記憶部２００に保存する。更に、生成した履歴情報を基に、設定部２０３が設定した開始許可領域の修正を行う。
【００４３】
開始許可領域修正の一例を概念図として図９に示す。図９（ａ）は、図４（ｃ）に相当するもので、入力領域４１において、開始許可領域４６（領域Ｌ２）が設定されている。領域Ｌ２においてジェスチャの開始が許可された登録ジェスチャは、第１の実施形態同様に、図３（ａ）に示したグループ３のジェスチャである。今、矢印９２は、グループ３の登録ジェスチャのうち、タッチを開始した指を画面に向かって上、右の順に動かすパターンを示しており、点９３は、矢印９２と同じグループ３のジェスチャがなされた直近の１０回の操作における開始座標を示すものとする。このように、グループ３の登録ジェスチャの入力が、領域Ｌ２の右下付近に偏って開始されるという傾向があるという場合、図９（ａ）のように設定された領域Ｌ２のうちの上側の部分は、矢印９２の登録ジェスチャの開始許可領域としての役割を果たしていない。このような場合に、第２の実施形態では、図９（ｂ）に示すように、領域Ｌ２を修正し、不必要な範囲を省いた開始許可領域９４を設定する。全てのグループのジェスチャに関して、同様の処理を行うと、当初図４（ｅ）のように設定されていた独立領域及び重複領域が、図９（ｃ）のように修正される。ここで、独立領域である領域Ａ及び領域Ｇは、図４（ｅ）よりも広くなっていることがわかる。つまり、当初は複数のグループの優先順を決定して順に入力ジェスチャと登録ジェスチャの比較を行っていた領域において、修正処理以降は、その優先順決定処理を省略して一意に１つのグループを選択するので、その分の処理負荷を低減することができる。
【００４４】
次に、図９及び図１０を参照して、第２の実施形態における情報処理装置１００の処理内容を説明する。尚、メイン処理、領域設定処理、ジェスチャ開始処理の流れは第１の実施形態に準ずるため、説明は省略する。
【００４５】
図９は、本実施形態におけるジェスチャ認識処理を示すフローチャートである。第１の実施形態との違いは、ステップＳ９００が追加されたことである。その他のステップＳ８０１からステップＳ８０９は第１の実施形態と同じである。本実施形態における処理では、ステップＳ８０６でジェスチャを認識した結果をメイン処理に返した後、ステップＳ９００に移行する。
【００４６】
次に、図１１を参照して領域修正処理（ステップＳ９００）を説明する。
【００４７】
まず、ステップＳ９０１において、修正部２０７が、今回のジェスチャ認識処理で認識した登録ジェスチャのグループの開始座標の履歴情報を記憶部２００から取得する。本実施形態では、登録ジェスチャのグループ毎に、直近１０回分の操作の開始座標が、参照可能な履歴情報として記憶部２００に記憶されているものとする。取得部２０２は、今回の処理における開始座標によって取得した履歴情報を更新し、ＲＡＭ１０４上に保持する。次に、ステップＳ９０２において、修正部２０７は、ＲＡＭ１０４上に保持した履歴情報から、開始座標の分布を解析する。本実施形態では、１０回分の開始座標のうち、開始許可領域の最も外側に相当する座標を特定し、その座標を保持する。ここでいう、外とは、図９の概要図で説明したように、開始許可領域を修正する際に可変となる２辺に近づく方向をいう。本実施形態では、入力領域の左下を原点として座標平面を設定しているので、例えば、図９（ａ）で示したグループ３（領域Ｌ２）の例では、１０回分の操作の開始座標のうち、ｘ軸方向で最も外側とは、ｘ，ｙ座標がそれぞれ最大である座標である。従って、２方向それぞれで最も外側と判断される２点の開始座標が特定される場合もある。この場合には、ｘ軸方向で最も外側の座標ｘ＿ｍａｘ、ｙ軸方向において最も外側の座標ｙ＿ｍａｘをそれぞれ保持する。最も外側の座標を特定したら、処理はステップＳ９０３に進む。ステップＳ９０３では、解析した履歴情報を基に、開始許可領域を必要十分な範囲に修正し、保持する。本実施形態では、ステップＳ９０２で保持した垂直方向または水平方向で最も外側にある座標（ｘ＿ｍａｘ，ｙ＿ｍａｘ）に対し、それぞれ１０ｐｉｘｅｌの余裕を持った領域を必要十分な範囲と判断する。すなわち、図９の例では、図９（ｂ）で修正された開始許可領域９４（領域Ｌ２）は、（０：ｘ＿ｍａｘ＋１０，０：ｙ＿ｍａｘ＋１０）という座標で示される領域になる。これによって、次回の操作でジェスチャ開始処理（ステップＳ５０４）では、修正された開始許可領域に基づいて、検索対象となるグループの選択が行われる。そして、ステップＳ９０４において、修正部２０７は、修正した開始許可領域の情報及び、ＲＡＭ１０４に保持していた開始座標の履歴情報を記憶部２００に保存する。従って、アプリケーションを終了した後、でも次回起動時のステップＳ５０１において、今回の処理で修正した開始許可領域の設定を記憶部２００から読み出し、領域設定処理（ステップＳ５０２）を省略することもできる。以上が、第２の実施形態において情報処理装置１００で実行される領域修正処理である。
【００４８】
なお、本実施形態では、ステップＳ９０１において取得する履歴情報は、今回のジェスチャ認識処理で認識した登録ジェスチャが属するグループのジェスチャの直近１０回分の操作の開始座標とした。ただし、これは一例であり、例えば直近１００回の履歴を取得しても良く、履歴を取得する回数はユーザが任意に設定可能としても良い。また、本実施形態では、ステップＳ９０２において開始座標の分布を解析する際には、最も外側の座標を特定していたが、これに限らない。例えばヒストグラムを生成し、フィッティングした分布関数を解析して、ステップＳ９０３において、その分布関数から導かれる妥当な範囲に開始許可領域を修正してもよい。このようにすることで、統計的なデータから妥当な開始許可領域を設定できるので、ユーザの個々の使い方により適切に対応した範囲を設定できる。あるいは、今回の処理１回分の履歴を、次回の操作で用いる開始許可領域に反映させる構成としてもよい。この場合には、各開始許可領域内に基準領域を定め、今回行われたジェスチャの開始座標が基準領域内であったか、基準領域外であったかに基づき、例えば１％ずつ開始許可領域を狭め、あるは広げる。このように、毎回少しずつ範囲を修正していくことで、極端なサイズ変更が行われるのを避けるとともに、ユーザの使用方法に合わせた開始許可領域を設定していくことができる。
【００４９】
ここまで説明した第２の実施形態では、ジェスチャ認識が行われる度に領域修正処理を行ったが、この場合、サンプルにする履歴の操作回数が多くなると、操作を行う度に領域修正処理にかかる処理負荷が大きくなり、その後の処理に遅延が生じる可能性がある。そこで、例えば、ジェスチャを認識する度に操作回数をカウントして履歴を保持し、１００回の操作毎に、１００回分の操作の履歴に基づいて領域修正処理を行うといった変形例を用いることもできる。こうすることで、取得する履歴の操作回数を増やして詳細な解析を行った場合でも、領域修正処理を行う回数を限定することができるので、必要以上の負荷をかけて操作性を低減させずにすむという利点がある。
【００５０】
以上のように、第２の実施形態では、ユーザが過去に行ったジェスチャから開始許可領域の範囲を修正するため、ジェスチャを繰り返し行うのに従って、ユーザの個々の操作方法に順応した適切な操作環境を整えていくことができる。また、開始許可領域を最適化していくため、重複領域が最小限となり、複数のグループに対して入力ジェスチャの検索を行う処理に係る負荷を削減することが可能となる。
【００５１】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013097610.tif 000003
【図２】
2013097610.tif 000004
【図３】
2013097610.tif 000005
【図４】
2013097610.tif 000006
【図５】
2013097610.tif 000007
【図６】
2013097610.tif 000008
【図７】
2013097610.tif 000009
【図８】
2013097610.tif 000010
【図９】
2013097610.tif 000011
【図１０】
2013097610.tif 000012
【図１１】
2013097610.tif 000013