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