(57)【要約】【課題】  ジェスチャー操作を用いた機能発動において、意図しない機能の発動をより確実に防ぐ。【解決手段】  表示画面上へのタッチ入力を検出する検出手段（Ｓ５０４）と、  タッチ入力での現在までのタッチ位置の移動に応じて、該タッチ入力でのジェスチャー操作で実行可能な機能を表す情報を表示するように制御する表示制御手段（Ｓ４０１〜Ｓ４１３、Ｓ５１２）と、  タッチ位置の移動が第１の条件を満たすと、該タッチ入力でのジェスチャー操作で実行可能な機能を確定する確定手段（Ｓ５１２）と、  前記確定手段で機能が確定されている状態で前記タッチ入力が解除されると、前記確定手段で確定している機能を実行するように制御し（Ｓ６１４）、  前記確定手段で機能が確定されていない状態で前記タッチ入力が解除されると、前記表示制御手段で表示された情報が表す機能を実行しないように制御する（Ｓ５１７、Ｓ６１０）制御手段とを有する。【選択図】  図６
2011039989.tif 000002
【特許請求の範囲】
【請求項１】
表示手段の表示画面上へのタッチ入力を検出する検出手段と、
前記検出手段で検出しているタッチ入力での現在までのタッチ位置の移動に応じて、該タッチ入力でのジェスチャー操作で実行可能な機能を表す情報を前記表示手段に表示するように制御する表示制御手段と、
前記検出しているタッチ入力でのタッチ位置の移動が第１の条件を満たすと、該検出しているタッチ入力でのジェスチャー操作で実行可能な機能を確定する確定手段と、
前記確定手段で機能が確定されている状態で前記タッチ入力が解除されると、前記確定手段で確定している機能を実行するように制御し、
前記確定手段で機能が確定されていない状態で前記タッチ入力が解除されると、前記表示制御手段で表示された情報が表す機能を実行しないように制御する制御手段と
を有することを特徴とする表示制御装置。
【請求項２】
前記確定手段による確定をキャンセルするキャンセル手段をさらに有することを特徴とする請求項１に記載の表示制御装置。
【請求項３】
前記キャンセル手段は、前記確定手段による確定の後に、該タッチ入力でのタッチ位置の移動が第２の条件を満たすと前記確定をキャンセルすることを特徴とする請求項２に記載の表示制御装置。
【請求項４】
前記１の条件は、前記検出しているタッチ入力でのタッチ位置の前記表示画面上の第１の方向の移動成分が所定距離以上となった後に、該タッチ位置の前記表示画面上で該第１の方向と垂直な第２の方向の移動成分が所定距離以上となることであり、
前記第２の条件は、前記確定手段による確定の後に、前記検出しているタッチ入力でのタッチ位置の前記第１の方向と１８０度反対の第３の方向の移動成分が所定距離以上となるか、該タッチ位置の前記第２の方向と１８０度反対の第４の方向の移動成分が所定距離以上となるかの少なくとも一方であることを特徴とする請求項３に記載の表示制御装置。
【請求項５】
前記第２の条件は、前記確定手段による確定の後に、前記検出しているタッチ入力でのタッチ位置が前記表示制御手段によって表示されている前記情報の表示位置から離れる方向に移動することであることを特徴とする請求項３に記載の表示制御装置。
【請求項６】
前記キャンセル手段は、前記確定手段による確定の後に、前記表示画面上へのタッチ入力ではない操作部材への操作を検知すると前記確定をキャンセルすることを特徴とする請求項２に記載の表示制御装置。
【請求項７】
前記表示制御手段の振動を検知する振動検知手段を更に有し、
前記キャンセル手段は、前記振動検知手段によって振動を検知しても前記確定をキャンセルしないことを特徴とする請求項６に記載の表示制御装置。
【請求項８】
前記表示制御手段は、前記確定手段による確定に応じて、確定された機能を識別可能に表示するように制御することを特徴とする請求項１乃至７のいずれか１項に記載の表示制御装置。
【請求項９】
前記表示制御手段は、前記確定手段による確定の前は、前記検出手段で検出しているタッチ入力を継続するジェスチャー操作で実行可能な機能を複数表示するように制御することを特徴とする請求項１乃至８のいずれか１項に記載の表示制御装置。
【請求項１０】
前記表示制御手段は、前記キャンセル手段によって前記確定がキャンセルされると、前記情報の表示を終了するように制御することを特徴とする請求項２乃至９のいずれか１項に記載の表示制御装置。
【請求項１１】
前記情報が表す機能は、前記表示手段に表示されている画像に対して実行可能な機能であり、
前記表示制御手段は、前記情報を前記画像に重畳して表示するように制御することを特徴とする請求項１乃至１０のいずれか１項に記載の表示制御装置。
【請求項１２】
前記表示制御手段は、前記情報を、該情報が表す機能を実行するために前記検出しているタッチ入力でのタッチ位置を移動すべき位置に表示するように制御することを特徴とする請求項１乃至１１のいずれか１項に記載の表示制御装置。
【請求項１３】
前記確定手段は、前記第１の条件を満たして第１の機能を確定した後、前記検出しているタッチ入力でのタッチ位置の移動が第３の条件を満たすと、第１の機能に代えて第２の機能を確定することを特徴とする請求項１乃至１２のいずれか１項に記載の表示制御装置。
【請求項１４】
表示手段の表示画面上へのタッチ入力を検出する検出ステップと、
前記検出ステップで検出しているタッチ入力での現在までのタッチ位置の移動に応じて、該タッチ入力でのジェスチャー操作で実行可能な機能を表す情報を前記表示手段に表示するように制御する表示制御ステップと、
前記検出しているタッチ入力でのタッチ位置の移動が第１の条件を満たすと、該検出しているタッチ入力でのジェスチャー操作で実行可能な機能を確定する確定ステップと、
前記確定ステップで機能が確定されている状態で前記タッチ入力が解除されると、前記確定ステップで確定している機能を実行するように制御し、
前記確定ステップで機能が確定されていない状態で前記タッチ入力が解除されると、前記表示制御ステップで表示された情報が表す機能を実行しないように制御する制御ステップと
を有することを特徴とする表示制御方法。
【請求項１５】
コンピュータを、
表示手段の表示画面上へのタッチ入力を検出する検出手段、
前記検出手段で検出しているタッチ入力での現在までのタッチ位置の移動に応じて、該タッチ入力でのジェスチャー操作で実行可能な機能を表す情報を前記表示手段に表示するように制御する表示制御手段、
前記検出しているタッチ入力でのタッチ位置の移動が第１の条件を満たすと、該検出しているタッチ入力でのジェスチャー操作で実行可能な機能を確定する確定手段、
前記確定手段で機能が確定されている状態で前記タッチ入力が解除されると、前記確定手段で確定している機能を実行するように制御し、
前記確定手段で機能が確定されていない状態で前記タッチ入力が解除されると、前記表示制御手段で表示された情報が表す機能を実行しないように制御する制御手段
として機能させるためのプログラム。
【請求項１６】
コンピュータを、
表示手段の表示画面上へのタッチ入力を検出する検出手段、
前記検出手段で検出しているタッチ入力での現在までのタッチ位置の移動に応じて、該タッチ入力でのジェスチャー操作で実行可能な機能を表す情報を前記表示手段に表示するように制御する表示制御手段、
前記検出しているタッチ入力でのタッチ位置の移動が第１の条件を満たすと、該検出しているタッチ入力でのジェスチャー操作で実行可能な機能を確定する確定手段、
前記確定手段で機能が確定されている状態で前記タッチ入力が解除されると、前記確定手段で確定している機能を実行するように制御し、
前記確定手段で機能が確定されていない状態で前記タッチ入力が解除されると、前記表示制御手段で表示された情報が表す機能を実行しないように制御する制御手段
として機能させるためのプログラムを記憶したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネルへのジェスチャー操作入力のための表示制御装置及び表示制御方法に関する。
【背景技術】
【０００２】
近年、表示部にタッチパネルを備え、直感的な操作が可能となったデジタル機器が登場している。それらの機器ではタッチパネルで構成される表示画面上に置かれているボタンアイコンで機能を実行させるだけでなく、ジェスチャー認識させて機能を呼び出すことも可能である。ジェスチャー認識による機能発動では、タッチパネルに対する入力軌跡が所定の軌跡パターンに該当した場合に、軌跡パターンに予め割り当てられた機能を発動する。軌跡のパターンに対しては様々な機能を割り当てることが可能であり、ユーザ任意の機能を割り当てることもできる。
【０００３】
このようなジェスチャー認識による機能発動を利用する際、ユーザがジェスチャーのためのドラッグ（以下、ジェスチャー操作とも称する）を行っている途中で誤ったジェスチャー操作をしていることに気づく場合がある。そのため、ジェスチャー操作の途中でジェスチャー認識による機能発動をキャンセルする技術が求められている。
【０００４】
例えば特許文献１では、ドラッグによるストロークの途中で静止したままジェスチャー取り消しタイムアウト期間を超えた場合や、ストロークが大きすぎた場合にジェスチャー認識による機能発動をキャンセルする方法が開示されている。また、ジェスチャーの途中で他の入力装置からの入力があった場合にジェスチャー認識による機能発動をキャンセルをする方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０８−０１６３１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載の方法では、ジェスチャー操作を行い、タッチパネルを離した後にジェスチャー認識が実行される。そのため、ユーザは現在までのジェスチャー操作が装置にどのように認識されているかをジェスチャー操作の途中で確認することができず、タッチパネルを離してみるまではどのような機能が発動されるのか分からなかった。そのため、意図しない機能を発動してしまうパターンを誤って入力していた場合にも、ユーザはそれに気づくことができないためにキャンセルできず、意図しない機能が実行されてしまうという問題があった。
【０００７】
本発明は上記の課題に鑑み、ジェスチャー操作を用いた機能発動において、意図しない機能の発動をより確実に防ぐことができる表示制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の表示制御装置は、
表示手段の表示画面上へのタッチ入力を検出する検出手段と、
前記検出手段で検出しているタッチ入力での現在までのタッチ位置の移動に応じて、該タッチ入力でのジェスチャー操作で実行可能な機能を表す情報を前記表示手段に表示するように制御する表示制御手段と、
前記検出しているタッチ入力でのタッチ位置の移動が第１の条件を満たすと、該検出しているタッチ入力でのジェスチャー操作で実行可能な機能を確定する確定手段と、
前記確定手段で機能が確定されている状態で前記タッチ入力が解除されると、前記確定手段で確定している機能を実行するように制御し、
前記確定手段で機能が確定されていない状態で前記タッチ入力が解除されると、前記表示制御手段で表示された情報が表す機能を実行しないように制御する制御手段と
を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ジェスチャー操作の途中でどのような機能が発動されるのかを識別した上でジェスチャー操作を行えるので、より確実に意図しない機能の発動を防ぐことができる。
【図面の簡単な説明】
【００１０】
【図１】デジタルカメラのブロック図。
【図２】ジェスチャー動作とアプリケーションの割り当てを示す図。
【図３】ジェスチャー認識処理のフローチャート。
【図４】ガイダンス表示のフローチャート。
【図５】ジェスチャー確定のフローチャート。
【図６】ジェスチャー機能発動のフローチャート。
【図７】（ａ）は、画像のみが表示されているディスプレイの図、（ｂ）は、ジェスチャー認識時のガイダンス表示図。
【図８】（ａ）は、ジェスチャー確定時のガイダンス表示図、（ｂ）は、ジェスチャー発動後の図。
【図９】ジェスチャー機能発動のフローチャート。
【図１０】ジェスチャー機能発動のフローチャート。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の好適な実施形態を説明する。
【００１２】
図１は本発明が実施されうる表示制御装置の一例としてのデジタルカメラ１００の構成例を示している。ＣＰＵ１０１はコンテンツ管理装置の動作を制御する演算処理装置であり、入力部１０５等を介してユーザからの指示受け付けをし、後述する各種プログラムを実行し、ディスプレイ１０４の表示制御を行う。撮像部１０２では画像の撮影を行う。メモリ１０３はＣＰＵ１０１のワークエリアとして使用される。ディスプレイ１０４は本実施形態によるグラフィックユーザインターフェースを表示するための表示部であり、この表示部上に後述する画像や表示アイテムが表示される。入力部１０５は、ユーザからの指示を受け付けるための入力部であり、本実施形態では、ディスプレイ１０４の表示画面上に設けられたタッチパネル１１３を含む入力デバイスである。すなわち、入力部１０５は、ディスプレイ１０４の表示画面上へのタッチ入力を検出し、その情報をＣＰＵ１０１に提供する。ユーザは入力部１０５を使用することで、コンテンツ管理プログラムを実行できるような構成となっている。
【００１３】
記録媒体ドライブ１０６は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、フラッシュメモリ等からなる外部記録媒体１０８に格納されているデータの読み出しや、外部記録媒体１０８にデータの書き込みを行う装置である。外部記録媒体１０８には、撮像部１０２で撮像された画像や、ＣＰＵ１０１が実行するプログラムが記憶されているものとする。Ｉ／Ｆ１０７は通信回線１０９を介してネットワーク１１０と接続される。センサ１１２は、加速度センサ等からなる振動検知手段であり、デジタルカメラ１００の姿勢や振動の検出を行う。ＣＰＵ１０１はセンサ１１２で検出した振動に基づいてディスプレイ１０４に表示されている画像の切り替えや回転などの各種機能を実行することができる。ＣＰＵ１０１がＩ／Ｆ１０７を介してネットワーク１１０上にあるプログラムを実行することも可能であり、ネットワーク１１０上のプログラムにも本発明を適用できる。
【００１４】
上述のように、入力部１０５はタッチパネル１１３を有し、タッチパネル１１３への接触位置を検出し、検出した位置を内部バス１１１を通じてＣＰＵ１０１に通知する。ＣＰＵ１０１は、通知された接触位置に基づいて、タッチパネル１１３を指やペンで触れる（以下タッチダウンと称する）、離す（以下タッチアップ、又はタッチ入力の解除と称する）、触れたまま移動する（以下ドラッグと称する）といった操作を検出する。なお、ＣＰＵ１０１は、タッチパネル１１３上をタッチダウンから一定距離以上のドラッグを経てタッチアップをしたときにストロークが描かれたと判断する。そして、このストロークの形状が、予め登録されているジェスチャーのいずれかに該当する場合、ＣＰＵ１０１は、該当したジェスチャーに対応付けられている機能を実行する。
【００１５】
本実施形態における前提条件を述べる。デジタルカメラ１００が認識できる、ユーザの操作指示を示すジェスチャーパターンを図２に示す。本例では、１ストローク中に第１の方向（本例ではＹ方向）のタッチ入力の移動軌跡とこれに続く第２の方向（本例ではＸ方向）のタッチ入力の移動軌跡を持つ４つのストロークパターンとする。より厳密には、表示画面上でのタッチ位置の第１の方向の移動成分が所定距離以上となった後に、該タッチ位置の前記表示画面上で該第１の方向と垂直な第２の方向の移動成分が所定距離以上となるストロークパターンである（第１の条件）。移動軌跡とは、タッチ入力のドラッグにより描かれる軌跡である。そして、これらパターンをジェスチャー１、ジェスチャー２、ジェスチャー３、ジェスチャー４と名づける。なお、タッチ入力のＸ成分、Ｙ成分とは、図７の（ａ）に示した座標系７００におけるＸ方向、Ｙ方向のタッチ入力成分である。またこれらジェスチャーにあらかじめ割り当てられた機能をそれぞれ機能Ｆ１、機能Ｆ２、機能Ｆ３、機能Ｆ４とし、ここでは機能Ｆ１に割り当てられた機能を画像の消去、Ｆ２では画像の保護、Ｆ３では画像の回転、Ｆ４では画像のスライドショーとする。例えばジェスチャー１を認識確定した場合、画像の消去というアプリケーションを呼び出すことができるものとする。
【実施例１】
【００１６】
実施例１では、ジェスチャー操作による機能発動の前に、現在までのタッチ入力位置の移動に応じてどのような機能を発動できるのかをユーザに認識させ、その上で現在までの移動と反対方向への移動があると機能発動をキャンセルする例を説明する。
【００１７】
図３は無入力の状態からガイダンス表示処理までの流れを説明したフローチャートである。無入力の状態とは、図７の（ａ）のように、ディスプレイ１０４には外部記録媒体１０８に格納されている画像が表示されている状態で入力部１０５から何の入力もされていない状態である。なお後述する図３、図４、図５、図６のフローチャートにより示される処理は、外部記録媒体１０８に記憶されたプログラムをＣＰＵ１０１が実行することで実現する。
【００１８】
Ｓ３０１において、ＣＰＵ１０１は、入力部１０５からの入力イベントを監視する。ここでいう入力イベントとは、タッチパネル１１３へのタッチ入力（タッチアップ、タッチダウン、ドラッグ）、およびタッチパネル１１３以外の入力機器からの操作イベントなどがあげられる。入力イベントが発生すると処理はＳ３０２へ進む。Ｓ３０２において、ＣＰＵ１０１は、Ｓ３０１で検出した入力イベントがタッチダウンイベントか否かを判定する。タッチダウンイベントと判定された場合は、Ｓ３０３において、ＣＰＵ１０１は、タッチの開始点として、その座標をＰ（Ｘｏ，Ｙｏ）としメモリ１０３に保持し、再びイベント監視を行い次のイベント受信まで待機する（Ｓ３０１）。一方、Ｓ３０２でタッチダウンイベントでないと判定された場合は、処理はＳ３０４へ進む。
【００１９】
Ｓ３０４では、ＣＰＵ１０１はイベントがタッチアップイベントか否かを判定する。タッチアップイベントと判定した場合はＳ３０５に進み、ＣＰＵ１０１は、タッチ開始点Ｐをメモリ１０３からクリアし、イベント監視を行い次のイベント受信まで待機する（Ｓ３０１）。一方、Ｓ３０４でタッチアップイベントでないと判定された場合は、処理はＳ３０６へ進む。
【００２０】
Ｓ３０６では、ＣＰＵ１０１は、入力イベントがドラッグイベントか否かを判定する。ドラッグイベントと判定された場合はＳ３０７に進み、ＣＰＵ１０１は、そのときタッチしている点を現在点とし、その座標をＣ（Ｘ，Ｙ）としてメモリ１０３に保持する。そしてＳ３０８へ進む。一方、Ｓ３０６でドラッグイベントでないと判定された場合は、処理はＳ３１５へ進む。
【００２１】
Ｓ３０８では、ＣＰＵ１０１は、開始点の座標Ｐから現在点の座標Ｃまでの移動量、すなわち距離を算出し、Ｘ成分における距離をＳｘ、Ｙ成分における距離をＳｙとしてメモリ１０３に保持する。そして、Ｓ３０９〜Ｓ３１１では、入力部１０５によって検出されているタッチ入力の軌跡がジェスチャー操作の一部（図２により示したジェスチャーパターンの一部）であるかどうかを判定する。まず、Ｓ３０９において、ＣＰＵ１０１は、Ｘ成分の距離Ｓｘが閾値Ｂ１を超えたか否かを判定する。Ｘ成分の距離Ｓｘが閾値Ｂ１を超えた場合、すなわち、Ｘ方向へのタッチ入力の移動量が閾値Ｂ１を超えた場合にはジェスチャー認識候補からはずれＳ３１６へ進み、超えない場合にはＳ３１０へ進む。ここでＸ成分の距離が閾値Ｂ１を超えたというのは、タッチ入力がＸ方向に移動しすぎたためにＹ方向のストロークではないと認識され、デジタルカメラ１００が認識できるジェスチャーパターンに当てはまらないことを意味する。よってジェスチャー認識候補からはずれる。
【００２２】
Ｓ３１０において、ＣＰＵ１０１は、Ｙ成分の距離Ｓｙが閾値Ａ１（＜０）を下回ったか否かを判定する。下回った場合はＳ３１２へ進み、下回っていない場合はＳ３１１へ進む。ここでいうＹ成分の距離Ｓｙが閾値Ａ１を下回ったとは、Ｙ成分のストロークの負の方向（タッチパネル上における上方向とする）への移動量が距離｜Ａ１｜を上回ったことを意味する。一方、Ｓ３１１において、ＣＰＵ１０１は、Ｙ成分の距離Ｓｙが閾値Ａ２（＞０）を超えたか否かを判定する。超えた場合はＳ３１３へ進み、超えていない場合はＳ３０１へ進む。ここでいうＹ成分の距離Ｓｙが閾値Ａ２を超えたとは、Ｙ成分のストロークの正の方向（タッチパネル上における下方向とする）への移動量が距離｜Ａ２｜を上回ったことを意味する。なおＳ３１０およびＳ３１１でＡ１＜０、Ａ２＞０としたが、正負の値を逆にしてもよい。また｜Ａ１｜＝｜Ａ２｜として上下の閾値の距離を一定としてもよいし、｜Ａ１｜≠｜Ａ２｜として正負に応じて一定でないとしてもよい。
【００２３】
以上のようにして、Ｓ３１０、Ｓ３１１の判定により、タッチ入力の移動量がＹ軸・負方向へ｜Ａ１｜を上回った場合、またはＹ軸・正方向へ｜Ａ２｜を上回った場合、当該タッチ入力はジェスチャー認識候補と判定される。すなわち、タッチ入力の開始からの移動量が第１の方向へ所定量を超えた場合に、当該タッチ入力の移動軌跡はジェスチャー操作の一部であると判定されたことになる。そして、Ｓ３１２では、ＣＰＵ１０１はＹ成分の距離Ｓｙが閾値Ａ１を下回ったという情報をメモリ１０３へ保持する。そしてＳ３１４へ進む。Ｓ３１３では、ＣＰＵ１０１はＹ成分の距離Ｓｙが閾値Ａ２を超えたという情報をメモリ１０３へ保持する。そしてＳ３１４へ進む。Ｓ３１４において、ＣＰＵ１０１は後述するガイダンス以外の文字情報を非表示にする。そして、図４に示すガイダンス表示処理へ進む。なおガイダンス以外の文字情報とは、図７の（ａ）に示すように画像７０１に重畳して表示される画像７０１の撮影日時７０２や画像７０１を撮影した際の撮影設定値７０３などの情報を指す。
【００２４】
一方Ｓ３１５では、ＣＰＵ１０１は、検出されたイベントがタッチパネル以外の物理ボタンなどの入力インベントか否かの判定を行う。タッチパネル以外の入力イベントと判定した場合はＳ３１６へ進み、タッチパネルの入力イベントと判定した場合はＳ３０１へと進む。Ｓ３１６では、ＣＰＵ１０１は、Ｓ３０７やＳ３０８で算出したジェスチャー認識情報を消去し、本処理を終了する。すなわち、タッチパネルへの操作中であっても、物理ボタンへの操作など、タッチパネル以外の操作があった場合にはそちらを優先してジェスチャーの認識処理を終了する。Ｓ３０８の後にタッチアップを検知してもジェスチャーによる機能は発動しない。
【００２５】
図４はガイダンス表示処理のフローチャートであり、図３のＳ３１４に続く処理である。ガイダンス表示処理では、ジェスチャー操作の一部（すなわち、ジェスチャー認識候補）であると判定されたタッチ入力について、当該タッチ入力を継続することで確定され得るジェスチャー操作を候補として選択し、ガイダンス表示を行う。まず、Ｓ４０１において、ＣＰＵ１０１はＹ成分の距離が閾値Ａ１を下回ったかどうかを判定する。この判定に関しては、Ｓ３１２もしくはＳ３１３によって保持した情報を用いる。下回ったと判定した場合は処理はＳ４０２へ進む。この時点でジェスチャー操作の候補は図２のジェスチャー１とジェスチャー２である。他方、下回らなかったと判定した場合は、Ｙ成分の距離が閾値Ａ２を上回った場合であり、処理はＳ４０８へ進む。この時点で、ジェスチャー操作の候補は図２のジェスチャー３とジェスチャー４である。
【００２６】
Ｓ４０２〜Ｓ４０７の処理を開始する時点では、当該タッチ入力を継続することで特定され得るジェスチャーの候補として図２のジェスチャー１，２が選択されることになる。したがって、これら選択されたジェスチャーの候補に関するガイダンス表示をディスプレイ１０４上に行ってもよい。しかしながら、本実施形態では、更に操作性を向上するために、その時点で実行可能でない機能が割り当てられているジェスチャーのガイダンス表示を禁止し、実行可能な機能が割り当てられているジェスチャーのみをガイダンス表示する。まず、Ｓ４０２において、ＣＰＵ１０１は、機能Ｆ１が有効かつ機能Ｆ２が有効であるか否かの判定をする。つまり現在ディスプレイ１０４上に表示されている画像に対して、画像を消去ができるか、そして、画像保護できるか状態かを判定することを意味する。機能Ｆ１も機能Ｆ２も有効である場合はＳ４０３へ進んで実行可能な機能を複数表示し、否の場合にはＳ４０４へ進む。
【００２７】
Ｓ４０３ではジェスチャー１とジェスチャー２のガイダンスを表示する。ここでいうガイダンスとは図７の（ｂ）に示すように機能名や図形を表示させることを意味する。機能名７１１はジェスチャー１の機能名を表しており、画像７０１に重畳して表示される。図形７１２はジェスチャー１の機能を発動するためにストロークすべき方向を表しており、画像７０１に重畳して表示される。機能名７１１と図形７１２により、ユーザは指をこのままタッチパネルから離さずに左方向（図形７１２の表す方向）に移動すればジェスチャー１の操作が認識され、画像７０１を消去できることがわかる。同様に、機能名７１３と図形７１４はジェスチャー２に関するものであり、指を右に動かせばジェスチャー２の操作が認識され、画像７０１を保護できることを表している。機能名７１１と図形７１２、機能名７１３と図形７１４は、それぞれのジェスチャーの機能を発動させるためにタッチ位置を移動させるべき位置に表示される。例えば、ジェスチャー１はＹ方向にＡ１（＜０）、すなわち画面上で上方向に所定距離動いた後に、Ｘ方向にＤ１（＜０）、すなわち画面上で左方向に所定量動くストロークで確定される。したがってジェスチャー１に割り当てられた機能を実行するためには、タッチ位置が左上に移動することになる。この移動を促すために、ジェスチャー１のガイダンスである機能名７１１と図形７１２は、ディスプレイ１０４の表示画面の左上領域（ｘ座標が画面中央より左側で、Ｙ座標が画面中央より上側の領域）に表示される。同様の理由により、ジェスチャー２のガイダンスである機能名７１３と図形７１４は、ディスプレイ１０４の表示画面の右上領域（ｘ座標が画面中央より右側で、Ｙ座標が画面中央より上側の領域）に表示される。
【００２８】
またＳ４０１の判定によりＹ方向のストロークが負の方向（上方向）へ進んだことを意味するので、その後に認識できるジェスチャーパターンはジェスチャー１もしくはジェスチャー２に限られたことになる。この場合、図７の（ｂ）のようにジェスチャー１とジェスチャー２に関するガイダンスのみを表示することで、その後Ｘ成分のストロークを描いても認識できないジェスチャーパターンに関しては表示する必要がなくなる。そのため、残りのパターンのガイドを表示させるための表示エリアを有効に使用することが可能となる。
【００２９】
Ｓ４０４において、ＣＰＵ１０１は、機能Ｆ１が有効かつ機能Ｆ２が無効であるか否かの判定をする。つまり現在ディスプレイ１０４上に表示されている画像に対して、画像を消去ができるが、画像保護ができない状態かを判定することを意味する。Ｆ１のみが有効である場合はＳ４０５へ進み、否の場合にはＳ４０６へ進む。Ｓ４０５では、ＣＰＵ１０１は、ジェスチャー１に関するガイダンスのみをディスプレイ１０４に表示し、ジェスチャー２に関するガイダンスは表示しない。Ｓ４０６では、ＣＰＵ１０１は、機能Ｆ１が無効かつ機能Ｆ２が有効であるか否かの判定をする。Ｆ２のみが有効である場合はＳ４０７へ進み、否の場合にはジェスチャー認識処理へ進む。Ｓ４０７では、ＣＰＵ１０１は、ジェスチャー２に関するガイダンスのみをディスプレイ１０４に表示し、ジェスチャー１に関するガイダンスは表示しない。
【００３０】
一方Ｓ４０８へ進む場合は、Ｙ方向のストロークが正の方向（下方向）へ進んだことを意味する。つまりその後のジェスチャーパターンはジェスチャー３もしくはジェスチャー４に限られたことになる。よってこの後のＳ４０８、Ｓ４１０、Ｓ４１２の各処理は、機能Ｆ１が機能Ｆ３であり、機能Ｆ２が機能Ｆ４であることを除いて前述のＳ４０２、Ｓ４０４、Ｓ４０６と同様である。なお、上述したジェスチャー１，２と同様の理由により、ジェスチャー３のガイダンスである機能名と図形は、ディスプレイ１０４の表示画面の左下領域（ｘ座標が画面中央より左側で、Ｙ座標が画面中央より下側の領域）に表示される。また、ジェスチャー４のガイダンスである機能名と図形は、ディスプレイ１０４の表示画面の右下領域（ｘ座標が画面中央より右側で、Ｙ座標が画面中央より下側の領域）に表示される。
【００３１】
以上説明したように、ジェスチャー認識途中で、その後にタッチ入力を継続すると特定され得るジェスチャーで実行可能な機能名を表すガイダンスを表示する。これによって、ユーザは現在行っているジェスチャー操作を継続することでどのような機能を発動することができるのかを識別することができる。すなわち、現在までのところユーザが意図するジェスチャー操作が行えているか否かを確認することができる。また、タッチ入力を継続することで確定され得るジェスチャーで実行可能な機能名を表すガイダンスとともに、その機能を発動するためにストロークすべき方向を表すガイダンスを表示する。これによってユーザはその後どのような操作をすればジェスチャー認識させることができるかということが視覚的にわかりやすくなり、その結果ジェスチャー操作が容易になる。
【００３２】
なおＳ４０５の説明で機能Ｆ２が無効の場合はガイダンスを表示しないと述べたが、表示形態を変えるなどして有効である場合の表示と区別して表示してもよい。この場合、例えば機能Ｆ１、Ｆ２がともに有効でない場合に、その旨をユーザに知らせることができるようになる。すなわち、ユーザは、ジェスチャー操作の候補は存在するものの、実行できる機能に対応したジェスチャー操作は存在しないことを知ることができる。またガイダンスは機能名や図形と述べたが、例えばＸ成分の移動を示す矢印をガイダンスとして含めても良い。またガイダンス表示は静止している例を示したが、ストロークを描く操作のガイドをアニメーション表現を用いることによって操作を誘導するようにしても良い。
【００３３】
またＳ３１４でジェスチャー操作の候補以外の操作に関わる情報を非表示にすることにより、ジェスチャー認識とは関係のない情報を非表示にし、伝えたい情報だけを表示することができる。そのため、ユーザが操作がしやすくなるとともに、限られた表示エリアをジェスチャー認識のガイドで利用できるので有効に使うことができるといった効果がある。
【００３４】
また本実施形態ではジェスチャー操作のみ述べたが、タッチパネル上で可能な操作というのはジェスチャー操作だけではない。たとえば、タッチダウン後、Ｘ成分の正方向にドラッグさせた場合は次の画像表示させたり、負の方向にドラッグさせた場合は前の画像を表示させたりする操作も可能である。つまり一つの画面で複数の操作ができるのが望ましい。ただし、この場合、ユーザが次の画像表示の操作をしたつもりが誤ってすこしでもＹ成分にドラッグしたことにより図４のガイダンス表示処理においてジェスチャーのガイダンスが表示されてしまう可能性がある。このようなガイダンス表示は、画像送りをしたいユーザにとっては邪魔なガイダンスとなってしまう。そのために本実施形態ではＳ３１０、Ｓ３１１で述べたように、Ｙ成分の距離が閾値に達する前にガイダンスを表示させないようにして、ジェスチャー認識と画像送り処理を区別している。よって画像閲覧時には関係のないガイド表示を気にすることなく快適な画像閲覧ができるといった効果がある。
【００３５】
次にジェスチャー認識途中からジェスチャー確定した際に表示してあるガイダンスを変化させる場合について説明する。図５は図４に続くジェスチャー認識処理で、Ｙ成分の距離Ｓｙが閾値Ａ１を下回っていた（上方向のストロークだった）場合のフローチャートである。この場合、ジェスチャーの候補はジェスチャー１かジェスチャー２である。
【００３６】
Ｓ５０１およびＳ５０２は前述のＳ３０１およびＳ３０２と同様である。Ｓ５０２でタッチダウンイベントと判定した場合はＳ５０１へ進み、タッチダウンイベントでないと判定した場合はＳ５０３へ進む。Ｓ５０３は前述のＳ３０４と同様である。タッチアップイベントであると判定した場合Ｓ５１６へ進み、タッチアップイベントでないと判定した場合はＳ５０４へと進む。Ｓ５０４は前述のＳ３０６と同様である。ドラッグイベントであると判定した場合はＳ５０５へと進み、ドラッグイベントでないと判定した場合はＳ５１５へと進む。
【００３７】
Ｓ５０５およびＳ５０６は前述のＳ３０７およびＳ３０８と同様である。Ｓ５０６を終えると、処理Ｓ５０７へと進む。Ｓ５０７において、ＣＰＵ１０１は、Ｓ５０６で算出したＳｘ、Ｓｙの値がそれぞれ同一ストローク内での最大値Ｓｘ＿ｍａｘ、Ｓｙ＿ｍａｘよりも大きい場合は、Ｓｘ＿ｍａｘ、Ｓｙ＿ｍａｘにＳｘ、Ｓｙを代入し、最大値の更新を行う。同様にＳｘ、Ｓｙの値が同一ストローク内での最小値Ｓｘ＿ｍｉｎ，Ｓｙ＿ｍｉｎよりも小さい場合は、Ｓｘ＿ｍｉｎ、Ｓｙ＿ｍｉｎにＳｘ、Ｓｙを代入し、最小値の更新を行う。そして処理はＳ５０８へ進む。
【００３８】
Ｓ５０８において、ＣＰＵ１０１は、Ｙ方向に対して逆向きに動いたか否かの判定を行う。動いたと判定した場合はＳ５１７へと進んでジェスチャー認識情報をクリアし、動いていないと判定した場合はＳ５０９へと進む。Ｓ５０８の判定を細かく述べる。例えばＹ成分に対して負の方向へストロークしていた場合は、Ｓｙ＿ｍｉｎの値は負の値であり、Ｓｙも負の値である。ここでＳｙ＿ｍｉｎの値とＳｙの値の差異を演算する。差異がある場合は現在点ＣがＹ成分のストロークに対して逆向きに動いたことを意味する。逆にＹ成分に対して正の方向へストロークしていた場合はＳｙ＿ｍａｘの値とＳｙの値の差異を演算する。このようにすることで、ストロークがジェスチャーパターン通りの動きをしているかの判定をすることが可能となる。
【００３９】
また前述したＳｙ＿ｍｉｎの値とＳｙの値に差異にマージンをもたせてもよい。つまりＳｙ＿ｍｉｎの値とＳｙの値に差異が所定量を超えたとき、逆向きに動いたとする判定する方法である。例えば所定量をＢ２とし、Ｓｙ−Ｓｙ＿ｍｉｎ＞Ｂ２となった場合に逆向きに動いたと判定する。これにより、指などのように一点をタッチしているつもりでも、タッチパネルデバイスに入力された座標が微小な動きを検出するような場合の誤検出を防ぐことが可能となる。
【００４０】
Ｓ５０９では、ＣＰＵ１０１はＸ方向に対して逆向きに動いたか否かの判定を行う。動いたと判定した場合はＳ５１７へと進んでジェスチャー認識情報をクリアし、動いていないと判定した場合はＳ５１０へと進む。ここでＳ５０９の詳細を、ジェスチャー２を確定する場合を例にとって説明する。ジェスチャー２の認識途中の操作ではＸ成分の正方向へストロークを描いている途中なので、Ｓｘ＿ｍａｘの値は正の値であり、Ｓｘも正の値である。ここでＳｘ＿ｍａｘの値とＳｘの値の差異を演算する。差異がある場合は現在点ＣがＸ成分の正方向のストロークに対して逆向きに動いたことを意味する。逆向きに動いたと判定した場合はＳ５１６へ進みジェスチャー情報をクリアする。また前述したＳ５０８での説明と同様に例えば所定量をＢ３とし、Ｓｘ＿ｍａｘ−Ｓｘ＞Ｂ３とすることで誤った操作をしたときにＳ５１６へ進んでしまうのを防ぐようにしてもよい。ジェスチャー１を確定する場合に関しても同様である。この場合、Ｓｘ＿ｍｉｎ、Ｓｘは負の値であるので、Ｓｘ＿ｍｉｎの値とＳｘの値の差異を演算することで、現在点ＣがＸ成分の負方向のストロークに対して逆向きに動いたことを判定する。
【００４１】
このように、ジェスチャー操作の途中で、タッチ入力を継続することで実行可能な機能名を表示した上で、Ｓ５０３、Ｓ５０８、Ｓ５０９、Ｓ５１５のいずれかでＹｅｓと判定される操作をすると、ジェスチャー操作による機能発動をしないようにすることができる。従ってユーザは、ジェスチャー操作の途中で表示される機能名を見て、現在までのジェスチャー操作では意図する機能が発動できないことが分かった場合に、ジェスチャー操作をキャンセルして、表示された機能名の機能を発動しないようにするこができる。このように、ジェスチャー操作による意図しない機能の発動を防止することができる。
【００４２】
Ｓ５１０では、Ｘ成分の負方向の距離Ｓｘが閾値を下回ったか否かの判定を行う。下回ったと判定した場合はＳ５１１へと進み、下回っていないと判定した場合はＳ５１３へと進む。ここでの判定はＸ成分の距離がジェスチャー１を認識させるための必要な距離を満たしたかどうか否かの判定である。Ｓ５１１では機能Ｆ１が発動できるか否かの判定を行う。発動できると判定した場合はＳ５１２へ進み、発動できないと判定した場合Ｓ５１７へと進む。
【００４３】
一方、Ｓ５１３では、Ｘ成分の正方向の距離Ｓｘが閾値を超えたか否かの判定を行う。超えたと判定した場合はＳ５１４へと進み、超えていないと判定した場合はＳ５０１へと進む。ここでの判定はＸ成分の距離がジェスチャー２を認識させるための必要な距離を満たしたかどうかの判定である。Ｓ５１４では機能Ｆ２が発動できるか否かの判定を行う。発動できると判定した場合はＳ５１２へ進み、発動できないと判定した場合Ｓ５１７へと進む。
【００４４】
Ｓ５１２において、ＣＰＵ１０１は、図８の（ａ）のようにジェスチャーガイダンスの表示を確定モードの表示へと変更し、ジェスチャーを確定する。ジェスチャーが確定すると、現在のタッチ入力でのジェスチャー操作で実行可能な機能が確定される。確定したジェスチャーの情報はメモリ１０３に保持する。本例では、ジェスチャー２の操作が確定した状態が示されている。図８の（ａ）では、図７（ｂ）に比べてジェスチャー１の機能名７１１と図形７１２，７１４が消去され、ジェスチャー２の確定を示す表示８０１が表示された状態となっている。このように表示することで、ユーザは現在までのストロークでジェスチャー２が装置に認識されたことがわかり、ここで指を離せばジェスチャー２に割り当てられた機能が発動することが識別できる。なお、確定した状態を示す表示はこれに限られるものではないことは明らかである。例えば、機能名７１３の表示を保持したままタッチ入力の移動方向を示す図形（例えば図形７１４）のみをを消去することで、確定状態を示すようにしても良い。また、機能名７１３や図形７１４を消去せずに、機能名７１３や図形７１４の色や形などの表示形態を変更して確定状態を示すようにしても良いし、機能名７１３や図形７１４に枠やマークを付すなどして確定状態を示すようにしても良い。
【００４５】
また、Ｓ５１５は前述のＳ３１５と同様である。タッチパネル以外の入力イベントと判定した場合はＳ５１６へ進み、タッチパネルの入力イベントと判定した場合はＳ５０１へと進む。Ｓ５１６では、ＣＰＵ１０１は、Ｓ３０５で記憶したタッチ開始点情報の消去を行い、処理をＳ５１７へ進める。Ｓ５１７は前述のＳ３１６と同様である。Ｓ５１８において、ＣＰＵ１０１は図４のフローチャートの処理（ガイダンス表示処理）にて表示したガイダンスを非表示にし、図７の（ａ）に示した表示状態へ戻し、処理を終了する。Ｓ５１８の後にタッチアップを検知してもジェスチャーによる機能は発動しない。
【００４６】
なお、図５では機能Ｆ１もしくはＦ２を確定する場合のジェスチャー確定の例を述べたが、機能Ｆ３もしくはＦ４を確定する場合のジェスチャー確定についてもＹ方向の正負を逆にして同様の処理を行うため、説明は省略する。
【００４７】
図６はジェスチャー確定後のジェスチャーに割り当てられた機能を発動する場合のフローチャートであり、図５のＳ５１２に続く処理である。Ｓ６０１およびＳ６０２は前述のＳ３０１およびＳ３０２と同様である。Ｓ６０２にてタッチダウンイベントだと判定した場合Ｓ６０１へ進み、タッチダウンイベントでないと判定した場合はＳ６０３へと進む。Ｓ６０３は前述のＳ３０４と同様である。タッチアップイベントであると判定した場合Ｓ６１３へとすすみ、タッチアップイベントでないと判定した場合はＳ６０４へと進む。Ｓ６０４は前述のＳ３０６と同様である。ドラッグイベントであると判定した場合はＳ６０５へと進み、ドラッグイベントでないと判定した場合はＳ６１２へと進む。
【００４８】
Ｓ６０５からＳ６０７は前述のＳ５０５からＳ５０７と同様である。Ｓ６０８で、ＣＰＵ１０１は、タッチ入力のＹ成分が逆向きになったか、すなわち確定したジェスチャーのストロークのＹ方向（第１の方向）に対して１８０度反対向き（第３の方向）に動いたかどうかを判定する。Ｙ成分が逆向きに動いたと判定した場合はＳ６０９へ処理を進め、動いていないと判定した場合はＳ６１０へ処理を進める。また、Ｓ６０９において、ＣＰＵ１０１は、タッチ入力のＸ成分が逆向きになったか、すなわち確定したジェスチャーのストロークのＸ方向（第２の方向）に対して１８０度反対向き（第４の方向）に動いたかどうかを判定する。Ｘ成分が逆向きに動いたと判定した場合はＳ６１０へ処理を進め、動いていないと判定した場合は処理をＳ６０１へ戻す。なお、Ｓ６０８，Ｓ６０９における判定の方法はＳ５０８，Ｓ５０９で説明したとおりである。
【００４９】
Ｓ６１０では、ここまでに取得したジェスチャー認識情報を消去する。すなわち、Ｓ５１２で確定されたジェスチャーの情報をメモリ１０３から消去することで、ジェスチャーの確定をキャンセルする。Ｓ６１１は前述のＳ５１８と同様である。Ｓ６１１の後にタッチアップを検知してもジェスチャーによる機能は発動しない。また、Ｓ６１２は前述のＳ３１５と同様である。タッチパネル以外の入力イベントと判定した場合はＳ６１０へ進み、タッチパネルの入力イベントと判定した場合はＳ６０１へと進む。Ｓ６１３は前述のＳ５１８と同様である。Ｓ６１３の後に、ＣＰＵ１０１は割り当てられた機能を発動（実行）し（Ｓ６１４）、機能を実行した旨（８０２）を図８の（ｂ）のように表示する（Ｓ６１５）。
【００５０】
このように、Ｓ５１２でジェスチャーが確定された後からでも、ユーザがタッチアップするまでは、Ｓ６０８，Ｓ６０９、Ｓ６１２でＹｅｓと判定される操作をすることにより、確定したジェスチャーに割り当てられた機能を実行しないようにすることができる。Ｓ６０８，Ｓ６０９、Ｓ６１２でＹｅｓと判定されることが第２の条件に相当する。すなわちユーザは、Ｓ５１２での確定モードの表示を見て確定されたジェスチャーに割り当てられた機能を確認することで、意図する機能が発動されるか否かを確認することができる。意図しない機能が発動されることが分かった場合には、それからでもジェスチャー操作をキャンセルして確定モードで表示された機能を実行しないようにすることができる。
以上説明したように、ジェスチャー操作による機能発動の前に、現在までのタッチ位置の移動でどのような機能を発動することが可能なのかをユーザに識別可能に表示し、その上でジェスチャー認識をキャンセルして機能発動を行わないようにすることができる。すなわち、ユーザは現在行っている途中のジェスチャー操作が誤っているか否かを認識することができ、誤っていた場合には現在行っているジェスチャー操作をキャンセルすることができる。従って、ジェスチャー操作によってユーザが意図しない機能が発動されてしまうことをより確実に防止することができる。
【実施例２】
【００５１】
実施例２では、ジェスチャー確定後にジェスチャーをキャンセルする他の方法の例を説明する。図９は、実施例１で説明した図５のＳ５１２に続く処理であり、ジェスチャー確定後に機能名表示方向以外へドラッグした場合のジェスチャーキャンセルのフローチャートである。図９のフローチャートにより示される処理は、外部記録媒体１０８に記憶されたプログラムをＣＰＵ１０１が実行することで実現する。
【００５２】
Ｓ９０１〜Ｓ９０５は前述のＳ６０１からＳ６０５と同様であるので説明を省略する。
【００５３】
Ｓ９０６ではガイダンスの表示位置と現在の点との距離を算出する。ここで、Ｓｔとは現在（時間ｔ）のガイダンスの表示位置と現在タッチしてる点との距離であり、Ｓｔ−１とは一つ前の時間（時間ｔ−１）のガイダンスの表示位置とタッチしていた点との距離である。本実施例では、ガイダンスの表示位置を、図８（ａ）で前述したジェスチャーの確定を表す表示８０１の表示領域の重心座標とする。ただしこれに限られるものではなく、ジェスチャーの確定を表す表示８０１の表示領域のうち、ディスプレイ１０４の中心座標から最も遠い座標としてもよい。ガイダンスの表示位置と現在の点との距離を算出するとＳ９０７へ進む。
【００５４】
Ｓ９０７ではＳ９０６で求めたＳｔがＳｔ−１よりも大きいか否かの判定を行う。大きいと判定した場合はＳ９０８へと進み、大きくないと判定した場合はＳ９０１へと進む。
【００５５】
Ｓ９０８〜Ｓ９０９、Ｓ９１０、Ｓ９１１〜Ｓ９１３は、それぞれ前述のＳ６１０〜Ｓ６１１、Ｓ６１２、Ｓ６１３〜Ｓ６１５と同様であるので説明を省略する。
【００５６】
以上説明したように、実施例２においては、ガイダンスを表示してガイダンスの表示位置へのドラッグを促し、ガイダンスの表示位置から離れる方向のドラッグを行うとジェスチャー認識がキャンセルされる。すなわち、ドラッグがガイダンス表示位置へと向かっている限りはジェスチャー認識をキャンセルしないよう制御することにより、確実に割り当て機能を発動させることが可能となる。
【実施例３】
【００５７】
実施例３では、ジェスチャー確定後に確定したジェスチャーをキャンセルし、かつ、タッチアップすることなくもう一方のジェスチャー機能を発動する例を述べる。
【００５８】
図１０は、実施例１で説明した図５のＳ５１２に続く処理であり、ジェスチャー確定後にジェスチャーをキャンセルし、かつ、タッチアップすることなくもう一方のジェスチャー機能を発動する場合のフローチャートである。図１０のフローチャートにより示される処理は、外部記録媒体１０８に記憶されたプログラムをＣＰＵ１０１が実行することで実現する。
【００５９】
Ｓ１００１〜Ｓ１０１５は前述のＳ６０１〜Ｓ６１５と同様の処理であるので説明を省略する。
【００６０】
Ｓ１００９でＸ方向に対して逆向きに動いたと判定した場合はＳ１０１６へ進み、否と判定した場合はＳ１００１へ進む。
【００６１】
Ｓ１０１６では、ＸがＳ３０３で記憶したタッチ開始点のＸ座標Ｘ０よりも小さいか否かを判定する。これは、Ｘ方向に対してタッチ開始位置をまたぐほど反対に動いたか否かの判定である（第３の条件）。小さいと判定した場合はＳ１０１７へ進み、小さくないと判定した場合はＳ１００１へ進む。
【００６２】
Ｓ１０１７では、Ｘ方向に他方のジェスチャーに割り当てられた機能を発動できるか否かを判定する。発動できると判定した場合はＳ１０１８へ進み、発動できないと判定した場合はＳ１０１０へ進む。Ｘ方向に他方のジェスチャーとは、Ｙ方向のストローク方向が同じで、Ｘ方向が反対方向のジェスチャーである。すなわち、ジェスチャー１に対してＸ方向に他方のジェスチャーはジェスチャー２、ジェスチャー２に対してＸ方向に他方のジェスチャーはジェスチャー１である。同様に、ジェスチャー３に対してＸ方向に他方のジェスチャーはジェスチャー４、ジェスチャー４に対してＸ方向に他方のジェスチャーはジェスチャー３である。
【００６３】
Ｓ１０１８では、Ｓ５１２で表示した確定モードでのガイダンス表示を消去し、Ｓ１０１９へ進む。
【００６４】
Ｓ１０１９ではＳ５１２で確定したジェスチャー（第１の機能）に代わり、Ｓ５１２で確定したジェスチャーに対してＸ方向に他方のジェスチャー（第２の機能）を確定し、確定モードでガイダンス表示する。
【００６５】
以上説明したように、ジェスチャー確定後でも、もう一方の方向へドラッグした際に確定済みのジェスチャーをキャンセルし、もう一方のジェスチャーを確定することにより、ジェスチャー確定後でも再選択が可能となる。
【００６６】
なお、上述の各実施例において、センサ１１２で検知した振動をトリガとして発動される機能がある場合に、ジェスチャー操作の途中でセンサ１１２によって振動を検知しても、振動をトリガとする機能は発動せず、ジェスチャー操作はキャンセルされない。これは、装置の振動はジェスチャー操作によるタッチが原因で起きてしまう可能性があるため、操作部材の操作に比べてユーザが意図した操作である可能性が低いためである。これにより、意図しないタイミングでのジェスチャーのキャンセルを防ぐことができる。
【００６７】
なお、上記実施形態では、本発明の表示制御装置をデジタルカメラに適用した場合を説明したが、これに限られるものではない。携帯情報端末（ＰＤＡ）等、タッチ入力が可能なあらゆる情報処理装置に適用が可能であることは明らかである。
【００６８】
また、上記実施形態では、ジェスチャーパターンとして、上下・左右の組み合わせによる単純なストロークを示したが、これに限られるものではない。例えば、上下方向と斜め方向の移動軌跡の組合せとしても良いし、曲線の移動軌跡を用いるようにしてもよい。更に、上記実施形態では上下方向と左右方向の２種類の移動軌跡で形成されたジェスチャーパターンを示したが、上方向→右方向→斜め右上方向といったように３種類以上の移動軌跡で形成されジェスチャーパターンを用いることもできる。
【００６９】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【００７０】
なお、上述した制御は１つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。
【００７１】
なお、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【００７２】
（他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2011039989.tif 000003
【図２】
2011039989.tif 000004
【図３】
2011039989.tif 000005
【図４】
2011039989.tif 000006
【図５】
2011039989.tif 000007
【図６】
2011039989.tif 000008
【図７】
2011039989.tif 000009
【図８】
2011039989.tif 000010
【図９】
2011039989.tif 000011
【図１０】
2011039989.tif 000012