(57)【要約】【課題】移動操作が可能なユーザインタフェースの使用性（ユーザビリティー）を向上させる。【解決手段】情報処理装置は、移動可能なユーザインタフェース要素（ＵＩ要素）を表示装置に表示させ、表示装置に対してユーザー操作が検知された第１の位置に基づいてＵＩ要素が表示装置上で表示される第２の位置を決定する。ユーザー操作の検知が終了したときの第２の位置を記憶しておき、ユーザー操作の検知が開始した場合、そのときの第１の位置と記憶されている第２の位置との距離を算出し、ＵＩ要素を第１の位置と第２の位置のうちいずれか一方に、算出結果に応じて選択的に表示するよう制御する。【選択図】図４
2017117435.tif 000002
【特許請求の範囲】
【請求項１】
移動可能なユーザインタフェース要素（ＵＩ要素）を表示装置に表示させる表示制御手段と、
前記表示装置に対するユーザー操作を検知する検知手段と、
前記ユーザー操作が前記表示装置上で検知された第１の位置を取得する取得手段と、
前記取得された第１の位置に基づいて前記ＵＩ要素が前記表示装置上で表示される第２の位置を決定する決定手段と、
前記検知手段による前記ユーザー操作の検知が終了したときの前記第２の位置を記憶する記憶手段と、
ユーザー操作の検知が新たに開始されたときの第３の位置と前記記憶手段に記憶されている第２の位置との距離を算出する算出手段とを備え、
前記表示制御手段は、前記ユーザー操作の検知が新たに開始された場合、前記ＵＩ要素を、前記第３の位置に基づき決定される第４の位置および前記記憶手段に記憶されている第２の位置のうちいずれか一方に、前記算出された距離に応じて選択的に表示するよう制御する
ことを特徴とする情報処理装置。
【請求項２】
前記表示制御手段は、前記検知手段により前記ユーザー操作の検知が開始した後に継続してドラッグ操作が検知された場合は、前記ドラッグ操作に応じて、前記ＵＩ要素を前記算出された距離に応じて選択された位置から移動して表示させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示制御手段は、前記ユーザー操作の継続時間が閾値より短い場合は、前記ＵＩ要素が前記表示装置上で表示される位置を変更しないで表示させる
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記表示制御手段は、前記ユーザー操作の継続時間が閾値より長い場合は、前記算出された距離にかかわらず、前記ＵＩ要素を前記第４の位置に表示させる
ことを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記記憶手段は過去の複数の第２の位置を記憶し、前記算出された距離は前記第３の位置と前記複数の第２の位置に基づく
ことを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記算出された距離は、前記複数の第２の位置のうち、前記ＵＩ要素が表示されていた時間に基づき選択された前記第２の位置に基づく
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記算出された距離は、前記複数の第２の位置のうち、ユーザーによって選択された位置に基づく
ことを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記ＵＩ要素は、前記表示装置上に表示される操作領域で所定の方向にスライド操作可能であり、前記表示装置に表示されるコンテンツの再生箇所を示すものである
ことを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記コンテンツは、連続撮影画像および動画像および複数の静止画像および音声のうち少なくとも１つを含む
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記表示制御手段は、前記ＵＩ要素の前記第２の位置または前記第４の位置に対応するコンテンツを前記表示装置に表示させる
ことを特徴とする請求項８または９に記載の情報処理装置。
【請求項１１】
前記ＵＩ要素は、前記表示装置上に表示される画像上で移動可能であり、前記画像の画素を指定するものである
ことを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項１２】
前記ＵＩ要素は、前記表示装置上に表示される操作領域で移動可能であり、コンテンツの調整値を示すものである
ことを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項１３】
前記記憶手段は、さらに前記ユーザー操作の検知が終了したときの時間を前記第２の位置に関連付けて記憶し、
前記表示制御手段は、前記ユーザー操作の検知が終了したときの時間からの経過時間に応じて、選択された位置に前記ＵＩ要素を表示するよう制御する
ことを特徴とする請求項１から１２のいずれか１項に記載の情報処理装置。
【請求項１４】
表示装置へのタッチ操作を検知する検知手段と、
前記表示装置への第１のタッチ操作に応答して、前記第１のタッチ操作に対応する第１の位置に基づく処理を実行する第１の処理手段と、
前記処理の実行に用いられた前記第１の位置を記憶する記憶手段と、
前記表示装置への第２のタッチ操作が検知されたとき、前記記憶されている第１の位置と前記第２のタッチ操作に対応する第２の位置との距離を算出する算出手段と、
前記距離が所定値より小さければ、前記第２のタッチ操作に応答して、前記第１の位置に基づく処理を実行し、前記距離が前記所定値より大きければ、前記第２のタッチ操作に応答して、前記第２の位置に基づく処理を実行する第２の処理手段と、
を備えることを特徴とする情報処理装置。
【請求項１５】
前記処理は、前記位置に基づき、スライダーをスライダーバー上に表示する処理であることを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記処理は、前記位置に基づき、動画に含まれる複数のフレームのうちいずれかを選択する処理である
ことを特徴とする請求項１４に記載の情報処理装置。
【請求項１７】
画像が前記表示装置に表示され、
前記処理は、前記位置に基づき、前記画像に含まれる画素を指定する処理である
ことを特徴とする請求項１４に記載の情報処理装置。
【請求項１８】
操作領域が前記表示装置に表示され、
前記処理は、前記位置に基づき、コンテンツを調整するのに用いられるパラメータを指定する
ことを特徴とする請求項１４に記載の情報処理装置。
【請求項１９】
前記処理手段は、前記第２のタッチ操作の継続時間が所定値より長い場合は、前記算出された距離に関わらず、前記第２のタッチ操作に応答して、前記第２の位置に基づく処理を実行する
ことを特徴とする請求項１４から１８のいずれか１項に記載の情報処理装置。
【請求項２０】
前記記憶手段は、さらに、前記第１の位置が取得された時間を前記処理の実行に用いられた前記第１の位置と関連付けて記憶し、
前記処理手段は、前記記憶されている時間から第２の位置が取得されるまでの経過時間が所定値より長い場合は、前記算出された距離に関わらず、前記第２のタッチ操作に応答して、前記第２の位置に基づく処理を実行する
ことを特徴とする請求項１４から１８のいずれか１項に記載の情報処理装置。
【請求項２１】
移動可能なユーザインタフェース要素（ＵＩ要素）を表示装置に表示させるステップと、
前記表示装置に対するユーザー操作を検知するステップと、
前記ユーザー操作が前記表示装置上で検知された第１の位置を取得するステップと、
前記取得された第１の位置に基づいて前記ＵＩ要素が前記表示装置上で表示される第２の位置を決定するステップと、
前記ユーザー操作の検知が終了したときの前記第２の位置を記憶するステップと、
ユーザー操作の検知が新たに開始されたときの第３の位置と前記記憶されている第２の位置との距離を算出するステップと、
前記ユーザー操作の検知が新たに開始された場合、前記ＵＩ要素を、前記第３の位置に基づき決定される第４の位置および前記第２の位置のうちいずれか一方に、前記算出された距離に応じて選択的に表示するよう制御するステップを有する
ことを特徴とする情報処理装置の制御方法。
【請求項２２】
表示装置への第１のタッチ操作を検知するステップと、
前記第１のタッチ操作に応答して、前記第１のタッチ操作に対応する第１の位置に基づく処理を実行するステップと、
前記処理の実行に用いられた前記第１の位置を記憶するステップと、
前記表示装置への第２のタッチ操作が検知されたとき、前記記憶されている第１の位置と前記第２のタッチ操作に対応する第２の位置との距離を算出するステップと、
前記距離が所定値より小さければ、前記第２のタッチ操作に応答して、前記第１の位置に基づく処理を実行し、前記距離が前記所定値より大きければ、前記第２のタッチ操作に応答して、前記第２の位置に基づく処理を実行するステップを有する
ことを特徴とする情報処理装置の制御方法。
【請求項２３】
コンピュータを請求項１から２０のいずれか１項に記載の情報処理装置の各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザー操作に応答して位置を指定可能なユーザインタフェース機能を持つ情報処理装置およびその制御方法およびプログラムに関する。
【背景技術】
【０００２】
位置を指定するためのユーザインタフェース（ＵＩ）の一つとして、シークバーが知られている。シークバーは、例えば、連続撮影された画像群の中から表示画像を選択するために用いることができる。このようなＧＵＩの他の例として、スライダーバーやスクロールバーなども挙げられる。
【０００３】
特許文献１は、連続撮影が可能な撮像装置であって、スライド操作可能なＧＵＩを用いてユーザが連続撮影画像群の中から１つの画像を選択可能な撮像装置を開示する。特許文献１では、ユーザが指を使い、スライドバーに沿ってノブを左右方向にドラッグ操作することで、当該スライド量に応じた時間に撮影された撮影画像を表示エリアに表示することが行われている。
【０００４】
また、スマートフォンやタブレット等のモバイル機器において、タッチした位置の画素に基づいてホワイトバランスなどの調整値を変更できる機能がある。例えば、ユーザは操作コントロール（カーソルなどのインジケータ）で画像中の画素を指定し、指定された画素に基づいて表示される画像のホワイトバランスを変更するという方法がある。その際に、ユーザが画像の所望位置を容易に選択可能なＵＩが求められている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１８３５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１のようにタッチパネル上でユーザが指を使ってノブを操作する場合、細かな位置を正確に指定することは難しい。特に、スライドバー全体の長さが短い場合に、大量の撮影画像を割り当てると、各画像はスライドバー中の極めて狭い範囲に対応する。したがって、ユーザが所望の画像の位置をタッチ操作で指定するのは非常に難しく、以前に指定したものと同じ画像を再び指定することも困難であった。
【０００７】
上記の問題は、シークバーに限らず、任意のユーザインタフェース要素、特に表示面積が小さなユーザインタフェース要素を移動させる際に生じる。また、上記の問題は、タッチ操作によって入力を行う場合だけでなく、任意のポインティングデバイス（ポインティング入力装置）を用いて入力を行う場合にも生じる。
【０００８】
上記実情を鑑みて、本発明は、ユーザー操作に応答して位置を指定可能なユーザインタフェースの使用性（ユーザビリティー）を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様に係る情報処理装置は、移動可能なユーザインタフェース要素（ＵＩ要素）を表示装置に表示させる表示制御手段と、前記表示装置に対するユーザー操作を検知する検知手段と、前記ユーザー操作が前記表示装置上で検知された第１の位置を取得する取得手段と、前記取得された第１の位置に基づいて前記ＵＩ要素が前記表示装置上で表示
される第２の位置を決定する決定手段と、前記検知手段による前記ユーザー操作の検知が終了したときの前記第２の位置を記憶する記憶手段と、ユーザー操作の検知が新たに開始されたときの第３の位置と前記記憶手段に記憶されている第２の位置との距離を算出する算出手段とを備え、前記表示制御手段は、前記ユーザー操作の検知が新たに開始された場合、前記ＵＩ要素を、前記第３の位置に基づき決定される第４の位置および前記記憶手段に記憶されている第２の位置のうちいずれか一方に、前記算出された距離に応じて選択的に表示するよう制御することを特徴とする。
【００１０】
本発明の一態様に係る情報処理装置は、表示装置へのタッチ操作を検知する検知手段と、前記タッチ操作に対応する位置に基づく処理を実行する処理手段と、前記処理の実行に用いられた前記位置を記憶する記憶手段と、前記表示装置へのタッチ操作に対応する位置に基づいて距離を算出する算出手段と、を備え、前記検知手段は、前記表示装置への第１のタッチ操作と第２のタッチ操作を検知し、前記記憶手段は、前記第１のタッチ操作に対応する第１の位置を記憶し、前記算出手段は、前記表示装置への第２のタッチ操作が検出されたとき、前記記憶されている第１の位置と前記第２のタッチ操作に対応する第２の位置との距離を算出し、前記処理手段は、前記第１のタッチ操作に応答して、前記第１のタッチ操作に対応する前記第１の位置に基づく処理を実行し、前記距離が所定値より小さければ、前記第２のタッチ操作に応答して、前記第１の位置に基づく処理を実行し、前記距離が前記所定値より大きければ、前記第２のタッチ操作に応答して、前記第２の位置に基づく処理を実行することを特徴とする。
【００１１】
本発明の一態様に係る情報処理装置の制御方法は、移動可能なユーザインタフェース要素（ＵＩ要素）を表示装置に表示させるステップと、前記表示装置に対するユーザー操作を検知するステップと、前記ユーザー操作が前記表示装置上で検知された第１の位置を取得するステップと、前記取得された第１の位置に基づいて前記ＵＩ要素が前記表示装置上で表示される第２の位置を決定するステップと、前記ユーザー操作の検知が終了したときの前記第２の位置を記憶するステップと、ユーザー操作の検知が新たに開始されたときの第３の位置と前記記憶されている第２の位置との距離を算出するステップと、前記ユーザー操作の検知が新たに開始された場合、前記ＵＩ要素を、前記第３の位置に基づき決定される第４の位置および前記第２の位置のうちいずれか一方に、前記算出された距離に応じて選択的に表示するよう制御するステップを有することを特徴とする。
ことを特徴とする。
【００１２】
本発明の一態様に係る情報処理装置の制御方法は、表示装置への第１のタッチ操作を検知するステップと、前記第１のタッチ操作に応答して、前記第１のタッチ操作に対応する第１の位置に基づく処理を実行するステップと、前記処理の実行に用いられた前記第１の位置を記憶するステップと、前記表示装置への第２のタッチ操作が検知された時、前記記憶されている第１の位置と前記第２のタッチ操作に対応する第２の位置との距離を算出するステップと、前記距離が所定値より小さければ、前記第２のタッチ操作に応答して、前記第１の位置に基づく処理を実行し、前記距離が前記所定値より大きければ、前記第２のタッチ操作に応答して、前記第２の位置に基づく処理を実行するステップを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ユーザー操作に応答して位置を指定可能なユーザインタフェースの使用性が向上し、ユーザーは所望の位置を指定することが容易になる。
【図面の簡単な説明】
【００１４】
【図１】実施例に係る情報処理装置の構成を示すブロック図。
【図２】実施例に係る情報処理装置の機能を示すブロック図。
【図３】実施例に係るシークバーＵＩの例を示す図。
【図４】実施例１に係るシークバーＵＩの制御方法を示すフローチャート。
【図５】実施例１に係るシークバーＵＩの動作例を説明する図。
【図６】実施例２に係るシークバーＵＩの制御方法を示すフローチャート。
【図７】実施例３に係るシークバーＵＩの制御方法を示すフローチャート。
【図８】実施例４に係るシークバーＵＩの例を示す図。
【図９】実施例４に係るシークバーＵＩの制御方法を示すフローチャート。
【図１０】実施例６に係る閾値設定ＵＩの例を示す図。
【図１１】実施例７に係る操作コントロールの制御方法を示すフローチャート。
【図１２】実施例７に係るモバイル機器１００の表示画面の一例を示す図。
【図１３】実施例７に係る操作コントロールの制御方法の一例を示す図。
【図１４】実施例８に係る操作コントロールの制御方法を示すフローチャート。
【図１５】実施例９に係る操作コントロールの制御方法を示すフローチャート。
【図１６】実施例９に係る操作コントロールの制御方法の一例を示す図。
【図１７】実施例１０に係る操作コントロールの制御方法を示すフローチャート。
【図１８】実施例１１に係る各設定の設定ＵＩの一例を示す図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施例を詳細に説明する。なお、以下に説明する実施例は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施例に限定されるものではない。
【００１６】
また、本発明はプログラムコードを記録した記憶媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体からプログラムコードを読出し実行することによっても実現できる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、プログラムコード自体及びそのプログラムコードを非一時的に記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリーカード、ＲＯＭ等を用いることができる。
【００１７】
また、記憶媒体から読み出されたプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部又は全部を行い、その処理によって上記実施例の機能が実現される態様も本発明に含まれることは言うまでもない。
【００１８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。そして、その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施例の機能が実現される態様も本発明に含まれることは言うまでもない。
【００１９】
以下では、ポインティングデバイスとして主にタッチパネルを例に用いる。ポインティングデバイスは、ポイント開始、ドラッグ、ポイント終了などの入力が可能な入力装置である。ポインティングデバイスの例は、タッチパネル、タッチパッド、マウス、ポインティングスティック、トラックボール、ジョイスティック、ペンタブレットなどが挙げられる。タッチパネルを用いる場合には、ポイント操作はタッチ操作と呼ばれる。また、ポイント操作開始およびポイント操作終了のことを、以下ではそれぞれタッチオンおよびタッチオフと称する。
【００２０】
＜装置構成＞
図１は、本発明の一実施例に係るスマートフォンやタブレットなどのモバイル機器１００の内部構成図である。モバイル機器１００は、ＣＰＵ１０１と、ＤＲＡＭ１０２と、通信部１０６と、表示部１０７と、入力部１０８と、ＳＳＤ１０９とから構成されている。
【００２１】
ＣＰＵ（Central Processing Unit・中央処理装置）１０１は、入力された信号やプロ
グラムに従って、各種の演算や、モバイル機器１００を構成する各部分の制御を行う。ＣＰＵ１０１は、ＤＲＡＭ１０２に読み込まれた制御プログラム１０３を実行することにより、図２に示すようなシークバーＵＩ制御機能２００を提供する。すなわち、ＣＰＵ１０１は、入力取得部２０１、位置決定部２０２、位置記憶部２０３、ＵＩ表示制御部２０４、処理実行部２０５として機能する。入力取得部２０１は、入力部１０８からの入力を取得する。位置決定部２０２は、シークバーＵＩのノブ位置を決定する。位置記憶部２０３は、ノブの参照位置を記憶する。ＵＩ表示制御部２０４は、シークバーＵＩを表示部１０７に表示するためのデータを表示部１０７に出力する。処理実行部２０５は、ユーザによるシークバーＵＩへの入力に応じて、表示画像の変更などの所定の処理を実行する。これらの機能部の詳細は後述する。
【００２２】
ＤＲＡＭ(Dynamic Random Access Memory)１０２は、一次記憶装置である。ＤＲＡＭ１０２には、プログラム記憶部１１０から読み込まれた制御プログラム１０３およびオペレーティングシステム１０５が格納される。制御プログラム１０３は、モバイル機器１００が画像管理を行うためのプログラムが含まれる。オペレーティングシステム１０５は、モバイル機器の基本的な動作を行うためのプログラムが含まれる。ＤＲＡＭ１０２の一部は、ＣＰＵ１０１が各プログラムを実行する際の作業用メモリ（ワーキングメモリ）１０４として使用される。
【００２３】
ＳＳＤ（Solid State Drive）１０９は、不揮発性のフラッシュメモリを用いた二次（
補助）記憶装置である。モバイル機器のように携帯するユースケースが多い機器においては、これまでPCで一般的であったHDD（Hard Disk Drive）では無く、消費電力が少なく衝撃にも強いSSDが使用されるのが一般的である。
【００２４】
プログラム記憶部１１０には、本モバイル機器１００が各種機能を実行するためのプログラムおよび基本オペレーティングシステムプログラムが格納されている。これらのプログラムは、一次メモリとしてより高速に読み書き可能なＤＲＡＭ１０２に読み込まれ、ＣＰＵ１０１に逐次読み込まれ実行される。ＳＳＤ１０９、ＤＲＡＭ１０２、ＣＰＵ１０１によりプログラムが実行されモバイル機器としての機能が実行される動作は、現在一般的なモバイル機器と同様である。
【００２５】
ＳＳＤ１０９には、複数の画像データ１１１、１１２、１１３、１１４が格納されている。これらの画像データは、撮像装置において撮影されたＪＰＥＧファイルである。図では撮像装置内の画像IMG_0001.JPG〜IMG_0100.JPGの１００枚の画像ファイルの内、IMG_0001.JPG〜IMG_0004.JPGの４枚の画像ファイルが転送済であることを示している。動画、連写画像、音声についても同様である。
【００２６】
表示部１０７は、液晶ディスプレイなどの画像表示装置である。モバイル機器では表示部１０７が本体と一体に設けられることが一般的であるが、モバイル機器本体とは異なる表示装置がモバイル機器に接続されても良い。表示部１０７は、画像データを含む様々な情報と、ユーザー操作のためのコントロール（ＵＩ要素あるいはＵＩオブジェクトとも称する）を表示する。入力部１０８は、ユーザがモバイル機器１００に対して入力を行うための構成である。入力部１０８は、本実施例においては、モバイル機器で一般的に使用さ
れているタッチパネルから構成されるものとする。タッチパネルは、画像表示装置上でのユーザのタッチ操作を検知する。タッチパネルの方式は特に限定されず、静電容量方式、抵抗膜方式、表面弾性波方式など既存の任意の方式を採用可能である。
【００２７】
通信部１０６は、無線通信あるいは有線通信により他の機器とのデータの送受信を行う。通信部１０６は、例えば、無線ＬＡＮなどの無線接続による通信や、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルなどの有線接続による通信を提供する。通信部１０６は、外部装置と直接接続してもよいし、サーバを経由したり、インターネットなどのネットワークを介して外部装置と接続したりしてもよい。
【００２８】
＜シークバーＵＩ＞
図３Ａ〜３Ｃを参照して、本実施例において利用するシークバー・ユーザインタフェースについて説明する。ここでは、コンテンツとして連続撮影された複数の静止画像を例にあげ、これらの中から表示される静止画像を切り替えるためにシークバーＵＩを用いるユースケースを例に説明する。図３Ａは表示画面の例を示し、表示画面は画像表示エリア３０１とシークバーＵＩ３００とを含む。
【００２９】
図３ＢはシークバーＵＩ３００の詳細構成を示す図である。シークバーＵＩ３００は、横長の矩形の操作領域であるトラック３１０と、トラック３１０に沿って左右の方向に移動可能なノブ３２０とを備える。なお、「ノブ」は、「サム」、「インジケータ」、「タブ」などとも称される。ノブは現在、連続撮影された複数の画像全体における表示中の画像の位置を示し、ユーザは、ノブ３２０を移動させることで、画像表示エリア３０１に表示される画像を切り替えることができる。画像表示エリア３０１には、ノブ３２０の位置に対応する画像が表示される。例えば、連続撮影画像が１４０枚の場合、ノブ３２０がトラック３１０の左端にあれば１枚目の画像が表示され、ノブ３２０がトラック３１０の右端にあれば１４０枚目の画像が表示され、左から２４／１４０の位置にあれば２４枚目の画像が表示される。
【００３０】
シークバーＵＩ３００のトラック３１０には、連続撮影画像の内容が分かりやすいように、連続撮影画像の一部の画像のサムネイル３３０が表示される。図３Ｂの例では７枚のサムネイルが一列に表示されており、それぞれは連続撮影画像の０／６，１／６，・・・，６／６の位置の画像のサムネイルである。シークバーＵＩ３００のノブ３２０は、サムネイル３３０の列に沿って移動する。
【００３１】
ノブ３２０の基本的な移動方法は以下の通りである。なお、ここではシークバーＵＩの基本的な動作を説明し、本実施例におけるシークバーＵＩの動作の詳細は後述する。ユーザがトラック３１０上の任意の位置をタッチオン（ポイント開始）すると、その位置にノブ３２０が移動する。ユーザがノブ３２０をドラッグすると、それに応じてノブ３２０が移動する。より具体的には、まず、ドラッグの開始位置（タッチオン位置）にノブ３２０が移動し、その後ドラッグの移動量に応じてノブ３２０が移動する。
【００３２】
また、画像表示エリア３０１に表示される画像を切り替えることでも、ノブ３２０の位置を移動することができる。ユーザが、例えば画像表示エリア３０１でスワイプ操作を行うと、画像表示エリア３０１に表示される画像が切り替えられ、それに応じてノブ３２０も切り替え後の画像と対応する位置に移動する。
【００３３】
なお、シークバーＵＩ３００の具体的な表示の態様は図３Ｂに限られない。シークバーＵＩは、トラック３１０に沿ってノブ３２０を移動可能であれば良く、例えば、トラック３１０にサムネイルを表示しなくても良い。図３Ｃは、シークバーＵＩ３００の他の例を示す。
【００３４】
シークバーＵＩ３００は、コンピュータ内部では、シークバーＵＩオブジェクトとして管理される。シークバーＵＩオブジェクトは、ノブ３２０の位置などの内部状態（変数）と、各種イベント発生時の処理（関数）を含む。ユーザが表示部１０７上でシークバーＵＩに対する操作を行う場合の、コンピュータ内部の動作を簡単に説明する。入力部１０８からの入力はＯＳにイベントとして渡され、このイベントがＯＳからシークバーＵＩオブジェクトに渡される。当該イベントに応じて、シークバーＵＩの内部状態が変更され、この変更に応じて予め定義された動作が行われる。より具体的には、トラック３１０上でのタッチオンやドラッグ入力のイベントに応じて、ノブ３２０の位置を表す内部変数が更新され、当該更新に伴って、ノブ３２０の表示位置の更新処理および画像表示エリア３０１に表示する画像の切り替え処理が行われる。
【００３５】
このようなシークバーＵＩにおいては、特に表示対象の連続撮影画像の枚数が多い場合に、ユーザがノブ３２０の位置を正確にタッチすることが難しい。したがって、ユーザが以前に指定したものと同じ画像を再び指定することが困難である。
【００３６】
＜実施例１＞
図２〜４を参照して、本発明の一実施例に係るシークバーＵＩの制御方法について説明する。図４に示す制御では、シークバー内での直近のタッチオフ時（ポイント終了時）のノブ位置と、タッチオン時（ポイント開始時）のタッチオンイベントが取得された位置（タッチオン位置、ポイント開始位置）との間の距離に基づいて、ノブの位置を決定する。なお、以下では簡単のために、シークバーＵＩにおけるノブの位置のことを、シークバー位置とも称する。
【００３７】
ステップＳ４０１において、入力取得部２０１が、シークバーＵＩ３００内でのタッチオンイベントを取得したかどうかを判定する。シークバーＵＩ３００内でのタッチオンイベントが取得されない場合（Ｓ４０１−ＮＯ）には、タッチオンイベントが取得されるまで待機する。タッチオンイベントが取得された場合（Ｓ４０１−ＹＥＳ）には、処理はステップＳ４０２に進む。
【００３８】
ステップＳ４０２において、位置決定部２０２は、位置記憶部２０３内にシークバー内でのタッチオフ時のノブ位置(xOFF, yOFF)が保持されているかを判定する。タッチオフ時のノブ位置を保持していない場合（Ｓ４０２−ＮＯ）には、処理はステップＳ４０５に進む。ステップＳ４０５では、位置決定部２０２は、ノブ位置をタッチオン位置(xON, yON)に設定する。
【００３９】
一方、位置記憶部２０３がタッチオフ時のノブ位置を保持している場合（Ｓ４０２−ＹＥＳ）は、処理はステップＳ４０３に進む。ステップＳ４０３では、位置決定部２０２が、タッチオフ時のノブ位置(xOFF, yOFF)とシークバーＵＩ３００内でタッチオン位置(xON, yON)の距離rを算出する。距離rはr=[(xON-xOFF)2+ (yON-yOFF)2]1/2により算出できる
。なお、(xON, yON)はタッチオン時のタッチ位置であるが、(xOFF, yOFF)はタッチオフ時のタッチ位置ではなくノブ位置である点に留意されたい。
【００４０】
ステップＳ４０４において、位置決定部２０２は、距離rが所定の閾値αより大きい（
距離r > 閾値α）かどうかを判定する。距離rが閾値αより大きい（距離r > 閾値α）場
合は、処理はステップＳ４０５に進み、位置決定部２０２は、ノブ位置をタッチオン位置(xON, yON)に設定する。一方、距離rが閾値α以下（距離r≦閾値α）の場合は、処理はステップＳ４０６に進み、位置決定部２０２がノブ位置を、保持されていたタッチオフ時のノブ位置(xOFF, yOFF)に設定する。
【００４１】
ステップＳ４０３において、距離rはノブの移動方向に沿った距離として求められても
よい。本例では、ノブはx方向に移動するので、距離r = |xON - xOFF|としてもよい。ま
た、位置記憶部２０３に記憶されるノブ位置を、ノブの描画領域としても良い。この場合、タッチオン位置とノブ位置との間の距離は、タッチオン位置がノブ描画領域内であればゼロ、タッチオン位置がノブ描画外であればタッチオン位置とノブ描画領域との間の最短距離とすればよい。
【００４２】
閾値αの大きさは、予め定められた値であっても良いし、ノブ３２０の幅に応じて動的に決定される値であっても良い（ノブ３２０の幅が変化する場合）。閾値αは、例えば、ユーザがタッチ操作を行う際の、指とタッチパネルの接触領域の大きさと同程度（例えば、１〜１．５倍程度）とすることができる。また、閾値αは、ノブ３２０の幅の半分の１〜１０倍程度とすることができる。また、閾値αとして、上記のように求められる複数の値から所定の基準で選択される値、例えば、これら複数の値のうちの最小値や最大値を採用することもできる。
【００４３】
ステップＳ４０７において、入力取得部２０１がタッチオフイベントを取得したかどうかを判定する。タッチオフイベントが取得されていない場合は、ドラッグなどの操作が続いていて、指がタッチパネルから離れていないことを意味する。ドラッグ操作が行われている間は、位置決定部２０２は、タッチオン位置(xON, yON)と現在のタッチ位置(x, y)に応じてノブ位置を決定する（Ｓ４０９）。例えば、位置決定部２０２は、ステップＳ４０５またはＳ４０６において決定されたノブ位置に対して、移動量(x-xON, y-yON)あるいはx方向移動量(x-xON, 0)を足し合わせた位置を、新しいノブ位置として決定する。
【００４４】
ステップＳ４０７においてタッチオフイベントが取得されている場合は、処理はステップＳ４０８に進み、タッチオフイベントが取得された時のノブ位置を位置記憶部２０３に格納する。位置記憶部２０３にすでにノブ位置(xOFF, yOFF)が保持されている場合には、新しい値で上書き更新される。
【００４５】
なお、前回のタッチオフ時からほとんど時間が経過していない場合、前回のタッチオフ時のノブ位置の近傍がタッチオンされたときは、ユーザが同じノブ位置を指定したい可能性が高い。一方、前回のタッチオフ時から長時間が経過している場合、前回のタッチオフ時のノブ位置の近傍がタッチオンされたとしても、ユーザが同じノブ位置を指定したい可能性が低下していると考えられる。そこで、ステップＳ４０８において、タッチオフイベントが取得された時間をノブ位置と関連付けて位置記憶部２０３に記憶する。そして、ステップＳ４０２では、現在時刻が、ノブ位置に関連付けて記憶された時間から所定時間以上経過していれば、タッチオフ時のノブ位置を保持していない（Ｓ４０２でＮｏ）と判定するようにしてもよい。あるいは、ノブ位置と関連づけて記憶された時間が所定時間を経過すると、ノブ位置とともに位置記憶部２０３から消去するようにしてもよい。これらのような構成によって、前回のタッチオフ時のノブ位置からの距離だけでなく、前回のタッチオフ時からの経過時間にも応じて、選択的に前回のタッチオフ時のノブ位置を利用するので、よりユーザの意図に合った正確なノブ位置を指定することができる。
【００４６】
上記のフローチャートでは明示しなかったが、ノブ位置の更新に伴い、ＵＩ表示制御部２０４がシークバーＵＩ３００の表示を更新するとともに、処理実行部２０５が所定の処理を行う。処理実行部２０５が行う処理の例は、画像表示エリア３０１に表示する画像を変更する処理である。ステップＳ４０５，Ｓ４０６，Ｓ４０９においてノブ位置が更新された場合には、これらの処理が実行される。
【００４７】
図５Ａ〜５Ｆは、上述したシークバーＵＩ制御方法の例における、シークバーＵＩを含む画面表示の例である。以下、図５Ａ〜５Ｆを参照して、上述のシークバーＵＩ制御方法
の動作例を説明する。
【００４８】
図５Ａは、モバイル機器１００が連写画像からベストショット画像を選択するプログラムを実行する際に、表示部１０７に表示されるユーザインタフェース５０１を示す。ここでは、連写画像として１４０枚の画像が撮影され、ＳＳＤ１０９に格納されているものとして説明する。ただし、カメラ（不図示）が撮影した連写画像やその他の外部装置が保持している連写画像をモバイル機器１００に転送しながら、モバイル機器１００において表示しても良い。複数の連写画像の具体的なフォーマットは任意であり、複数の連写画像が１つのファイルに格納されていても良いし、それぞれが異なるファイルに格納されていても良い。
【００４９】
表示５０２の左側の数値は、現在表示中の画像番号を指す。画像番号は、連写画像の先頭から何番目に撮影されたものであるかを示す。表示５０２の右側の数値は、連写画像の全枚数を示している。チェックボックス５０３は、連写画像のうちベストショットをユーザが選択（指定）するために用いられる。ユーザは、現在表示されている画像をベストショットとして選択する場合は、チェックボックス５０３をオンにする。ユーザがプレビュー画像５０４をタッチオンすることによって、チェックボックス５０３にチェックが入るように構成してもよい。チェックボックス５０３にチェックを入れた後に所定の操作を行うことにより（あるいは何もしなくても）、チェックされたプレビュー画像に対応する画像がベストショット画像として保存またはマーキングされる。
【００５０】
プレビュー画像５０４は、連写画像のうち、シークバー位置（シークバーＵＩにおけるノブの位置）に対応する画像を拡大して表示したものである。シークバーＵＩは、トラック５０７と、トラック５０７に沿って移動可能なノブ５０５から構成される。ノブ５０５は、タッチオンやドラッグなどの操作によって、サムネイルが並んだトラック５０７を左右に移動する。シークバーＵＩのトラック５０７には、連写画像のサムネイル画像が表示される。可能であれば（連写画像の全枚数が少なければ）、連写画像の全てのサムネイル画像がトラック５０７に重畳して表示される。しかしながら、連写画像の全てのサムネイル画像が表示できない場合（サムネイル画像が所定の基準よりも小さくなる場合も含む）は、連写画像のうちの一部の画像のサムネイル画像がトラック５０７に重畳して表示される。
【００５１】
図５Ａにおいて、位置５０６（xOFF, yOFF）は、ユーザーがシークバーＵＩからタッチオフした時のノブ位置である。この位置５０６が、位置記憶部２０３に保持される。図５Ｂは、図５Ａでのタッチオフの後、ユーザが再びシークバーＵＩをタッチオンした位置５０８（xON, yON）を示す。シークバーＵＩ上でタッチオンイベントが取得されると、前回のタッチオフ時のノブ位置５０６と、タッチオン位置５０８との間の距離rが算出される
。図５Ｂにおいて斜線で示される領域５１４は、タッチオフ時のノブ位置５０６から閾値α以内の距離にある領域を示す。なお、説明のために領域５１４を図面に描いているが、本実施例では、領域５１４は実際は画面上には表示されない。もっとも、領域５１４は画面上で明示的に表示されても良い。
【００５２】
本例では、タッチオン位置５０８とタッチオフ時のノブ位置５０６との間の距離rは閾
値α以下である。すると、図５Ｃに示すように、位置決定部２０２は、タッチオンイベントが取得された際のノブ位置５０９を前回のタッチオフ時のノブ位置５０６と同一とし、位置５０６を開始位置としてノブの移動を有効にする。すなわち、タッチオン位置(xON, yON)がタッチオン前のタッチオフ時のノブ位置(xOFF, yOFF)と近い場合、ノブ位置を変更しない。そして、ユーザがタッチオンに続けてドラッグ操作を行うと、ドラッグ量に応じた量だけノブが位置５０６から移動する。
【００５３】
図５Ｄにおいて、位置５１０は、ユーザが再びシークバーＵＩからタッチオフした時のノブ位置である。上述のように、タッチオフ位置５１１とノブ位置５１０は異なる。位置記憶部２０３に保持されるノブ位置は、位置５０６から位置５１０に更新される。図５Ｅは、図５Ｄでのタッチオフの後、ユーザが再びシークバーＵＩをタッチオンした位置５１２を示す。上記と同様に、前回のタッチオフ時のノブ位置５１０とタッチオン位置５１２との間の距離rが算出される。今回は距離rが閾値αより大きい。すると、図５Ｅに示すように、位置決定部２０２は、タッチオンイベントが取得された際の位置５１２をノブ位置５１３とし、位置５１３を開始位置としてノブの移動を有効にする。すなわち、タッチオン位置がタッチオン前のタッチオフ時のノブ位置から遠い場合、ノブ位置をタッチオン位置に変更する。そして、ユーザがタッチオンに続けてドラッグ操作を行うと、ドラッグ量に応じた量だけノブがタッチオン位置５１２（５１３）から移動する。
なお、条件によって、上記で説明したような本実施例を選択的に実施するようにしてもよい。例えば、ユーザにより予め実施することが設定されていたり、特定のモードで動作していたり、特定のＵＩ要素を操作されていたりするなどの条件を満たす場合に上述の本実施例を実施する。条件を満たさない場合は、前回のタッチオフ時のノブ位置と新たなタッチオン位置の距離が閾値より短くても新たなタッチオン位置に応じてノブ位置を決定する。
【００５４】
本実施例によれば、ユーザのタッチオン操作によりシークバーＵＩ上の位置を指定する場合に、前回のタッチオフ位置と今回のタッチオン位置との間の距離に応じて、シークバー（ノブ）位置を決定する。具体的には、上記距離が小さければ前回のタッチオフ時のノブ位置を再度、ノブ位置として決定し、上記距離が大きければ今回のタッチオン位置をノブ位置として決定する。そのため、ユーザがタッチオフした後、再び同じ位置を指定したいと思い、前回のタッチオフ時のノブ位置の近傍をタッチオンした場合、前回のタッチオフ時のノブ位置が指定される。ユーザは前回のタッチオフ時のノブ位置を正確にタッチオンする必要はないので、ユーザは以前と同じノブ位置を再び指定することが容易になる。一方、ユーザが前回のタッチオフ時のノブ位置から離れた位置をタッチオンした場合、ユーザは全く新しい位置を指定したい可能性が高いので、今回のタッチオン位置と対応する位置にノブ位置を移動する。よって、ユーザは特別な操作をすることなく、容易に、意図に合った正確なノブ位置を指定することが可能になる。
【００５５】
＜実施例２＞
図６を参照して、本発明の一実施例に係るシークバーＵＩの制御方法について説明する。本実施例の制御は基本的に上記実施例と同様であるが、ユーザの誤操作によるシークバーの移動を防止する機能が付加される。以下では、実施例１との相違点を主に説明する。
【００５６】
本実施例では、誤操作を防止するためにタッチオンイベントの検知後に所定時間経過してから、シークバー（ノブ）の移動を開始させる。そのために実施例１の処理（図４）に対してステップＳ６０１〜Ｓ６０２の処理が追加されている。
【００５７】
タッチオンイベントの検知後のステップＳ６０１において、位置決定部２０２は、タッチオン継続時間tを算出する。ステップＳ６０２において、位置決定部２０２は、タッチ
オン継続時間tが閾値時間βよりも大きいかどうかを判定する。タッチオン継続時間tが閾値βよりも大きければ、実施例１と同様にステップＳ４０２以降の処理が実行される。タッチオン継続時間tが閾値β以下であれば、処理を終了する。
【００５８】
タッチオン継続時間tは、タッチオンイベントが検知されてから、タッチ位置を所定量
以上動かさずにタッチし続けている時間である。フローチャートでは、説明の簡略化のために、タッチオン継続時間tを求めてから閾値時間βとの比較を行うように描いている。
しかしながら、実質的に同じ位置のタッチが継続している時間が、閾値時間βを超えたら
ステップＳ４０２以降の処理を実行し、閾値時間βの経過前にタッチオフあるいは所定量以上のドラッグが発生したら処理を終了するように構成してもよい。
【００５９】
本実施例によれば、閾値時間β以下のタッチ入力を無効し、閾値時間β以上のタッチ入力（いわゆるロングタップ）が行われる場合に処理を有効とすることができる。すなわち、ユーザーが誤って画面を触れた場合にシークバーを移動させないという効果が得られる。
【００６０】
なお、上記の説明では、タッチオンの継続時間だけに基づいて処理の開始を判断しているが、その他の要素を考慮に入れても良い。例えば、タッチオンされてから閾値β時間経過するまでの間に、タッチ位置が閾値距離以上移動した場合には、入力を無効としても良い。
【００６１】
また、本実施例でのステップＳ４０２以降における「タッチオン位置」は、タッチオンイベントが発生したときのタッチ位置としても良いし、タッチオン発生から閾値時間βが経過した時点におけるタッチ位置としても良い。
【００６２】
＜実施例３＞
図７を参照して、本発明の一実施例に係るシークバーＵＩの制御方法について説明する。本実施例では、ユーザがロングタップしたときには、シークバーのノブをタッチ位置に移動させることを意図したと判断して、タッチオフ時のノブ位置とタッチオン位置の比較を行わない。
【００６３】
ステップＳ７０１のタッチオン継続時間tの算出処理は、実施例２のステップＳ６０１
と同様である。ステップＳ７０２では、タッチオン継続時間tと閾値γとの比較を行い、
タッチオン継続時間tが閾値時間γ以下である場合（Ｓ７０２−ＮＯ）、すなわちロング
タップがされていないときは、処理はステップＳ４０２に進み、実施例１と同様の処理が行われる。一方、タッチオン継続時間tが閾値時間γよりも大きい場合（Ｓ７０２−ＹＥ
Ｓ）、すなわちロングタップがされたときは、ステップＳ４０５に進み、ノブ位置をタップオン位置に設定する。
【００６４】
閾値時間γは、実施例２における閾値時間βと同じであっても良いし、異なっても良い。実施例２と３を組み合わせる場合にはγをβよりも大きくする（β＜γ）。
【００６５】
本実施例によれば、ユーザーが意図的にロングタップ操作を行った場合は、タッチオフ時のノブ位置とタッチオン位置の距離に関わらず、ノブ位置をタッチオンした位置へ移動できる。
【００６６】
なお、上記処理の代わりに以下に示す処理を行ってもよい。タッチオンイベントが取得されたら、即座にステップＳ４０２以降の処理を行い、ノブ位置を変更させる。そして、その後にロングタップイベントが検出されたら、ロングタップ位置（タッチオン位置）にノブを移動させる。このようにしても、同様の効果が得られる。
【００６７】
＜実施例４＞
実施例１〜３では、タッチオフ時のノブ位置とタッチオン位置の距離に応じて処理を切り替えている。しかしながら、シークバーＵＩのノブの位置は、シークバーに対するタッチ操作以外でも変化する。例えば、動画像や音声ファイルを再生している場合は、再生箇所に応じてノブ位置が切り替えられる。本実施例では、動画ファイルの再生・編集にシークバーＵＩを用いる。
【００６８】
図８Ａは、モバイル機器１００が動画像を構成する画像からベストショット画像を選択するプログラムを実行する際に、表示部１０７に表示されるユーザインタフェース８０１を示す。表示８０２は、動画像を構成する総フレーム数と、現在のフレーム位置を表す。チェックボタン８０３は、ベストショット画像を選択するために用いられる。プレビュー画像８０４は現在指定されているフレーム画像を表示したものである。画面下部のシークバーＵＩは、ノブ８０５と、動画像の所定枚数（ここでは７枚）のサムネイル画像が一列に表示されたトラック８０７とから構成される。音声コントロール８０８は、動画の再生、一時停止、コマ送り、コマ戻しなどの操作を行うために用いられる。再生と一時停止は、交互に切り替えて表示される。
【００６９】
図８Ｂは、モバイル機器１００が音声ファイルを編集するプログラムを実行する際に、表示部１０７に表示されるユーザインタフェース８１１を示す。ユーザインタフェース８１１の基本的な構成は、図８Ａのユーザインタフェース８０１と同様である。相違点は、現在位置の音声波形８１４が画面中央に表示される点と、トラック８１７にサムネイル等が表示されない点である。
【００７０】
本実施例の基本的な構成は実施例１と同様であるため処理を繰り返さない。図９は本実施例におけるシークバーＵＩの制御方法を示すフローチャートである。
【００７１】
図９を参照して、本実施例におけるシークバーＵＩの制御方法を説明する。ステップＳ９０１において、入力取得部２０１が、シークバーＵＩ内でのタッチオンイベントを取得したかどうかを判定する。シークバーＵＩ内でのタッチオンイベントが取得されない場合（Ｓ９０１−ＮＯ）には、タッチオンイベントが取得されるまで待機する。タッチオンイベントが取得された場合（Ｓ４０１−ＹＥＳ）には、処理はステップＳ９０２に進む。
【００７２】
ステップＳ９０２では、動画ファイルが再生中であるか否かが判定される。動画再生中ではない場合（Ｓ９０２−ＮＯ）は、実施例１（図４）のステップＳ４０２以降と同じ処理が実行される。一方、動画再生中の場合（Ｓ９０２−ＹＥＳ）は、処理はステップＳ９０３に進む。
【００７３】
ステップＳ９０３〜Ｓ９０９は、実施例１（図４）におけるステップＳ４０３〜Ｓ４０９の処理と基本的に同様である。異なる点は、タッチオフ時のノブ位置(xOFF, yOFF)の代わりに、現在のノブ位置(xCUR, yCUR)が用いられる点である。したがって、ステップＳ９０３，Ｓ９０６の処理内容が異なる。
【００７４】
なお、本実施例においては、動画が再生中であるか一時停止中であるかにかかわらずステップＳ９０３以降の処理を実施しても良い。こうすることで、現在のノブ位置の付近をタッチすると、現在のノブ位置から移動を開始させることができる。また、本実施例は、動画や音声などを再生・編集する場合だけでなく、実施例１〜３のような連続撮影画像を表示する際にも適用できる。
【００７５】
＜実施例５＞
実施例１〜４では、タッチオン位置と、ある一つの参照位置（直近のタッチオフ時のノブ位置または現在のノブ位置）との間の距離にしたがって、処理を切り替えている。本実施例では、複数の参照位置との比較により、ノブ位置を決定する。したがって、位置記憶部２０３には複数の参照位置が記憶される。複数の参照位置は、過去におけるシークバーＵＩ内での複数のタッチオフ操作時（ポイント終了操作時）のノブ位置や、現在のノブ位置を含む。また、過去のタッチオフ操作時のノブ位置は、より具体的には、直近の所定回のタッチオフ時のノブ位置や、直近の所定時間以内のタッチオフ時のノブ位置とすることができる。そして、位置決定部２０２は、タッチオン位置とこれら全ての参照位置との間
の距離を算出し、いずれかの参照位置との間の距離が閾値以下であれば当該参照位置がタッチされたものとみなす。２つ以上の参照位置について距離が閾値以下となる場合には、タッチオン位置と最も近い参照位置がタッチされたものとみなせばよい。
【００７６】
また、ノブ位置が参照位置となるために、さらに次のような条件を加えることもできる。例えば、タッチオフした後のノブ位置が所定時間以上の間、例えば画像等のコンテンツの表示切り替えが行われなかったために、その位置に停止しているという条件を満たす場合に、このノブ位置を参照位置として記憶する。ある程度の時間、固定される位置は、例えばその位置と対応して表示される画像等のコンテンツが重要と考えられる一方、すぐに変更されるノブ位置は、それと対応するコンテンツが重要でないと考えられるためである。また、タッチオフした後にユーザが所定の操作を行った場合に、このタッチオフ時のノブ位置を参照位置とし保持するようにしても良い。所定の操作は、例えば、ユーザがこのタッチオフ時のノブ位置を参照位置として記憶することを明示的あるいは黙示的に指示する操作である。
【００７７】
＜実施例６＞
実施例１〜５における閾値距離αや、実施例２，３におけるタッチオン継続時間の閾値β，γはユーザが設定可能とすることができる。図１０は、閾値αおよびβを設定するためのユーザインタフェースの例である。なお、ユーザインタフェースでは、距離の閾値αを「タッチの有効範囲」、時間の閾値βを「タッチの有効時間」という用語で表している。
【００７８】
環境設定ＵＩ１００１は、タッチの有効範囲を変更するためのスライダーコントロール１００２を含む。環境設定ＵＩ１００１においては、タッチの有効範囲１００５は、シークバーのノブ１００４の両側に表示される。ユーザがスライダーコントロール１００２を操作して値を変更すると、それに応じてノブ１００４の両側のタッチの有効範囲１００５も左右に伸び縮みして表示される。また、環境設定ＵＩ１００１は、タッチの有効時間を変更するためのスライダーコントロール１００３を含む。タッチの有効時間は、ユーザが誤ってタッチした場合にシークバーを移動しないようにするための閾値βとして使用される。ここでは、述べていないが、長押しした場合にシークバーの位置を移動するための有効時間（閾値γ）を設定するためのコントロールが別途あっても良いものとする。また、これらタッチの有効範囲や有効時間を用いた制御を実行する／しないを設定可能としても良い。
【００７９】
この例では、スライダーコントロールを用いて有効範囲や有効時間を指定する例を示したが、数値入力や、スピンコントロールなどを用いてこれらの値を入力するようにしてもよい。また、画面下部のシークバーＵＩの表示領域で、タッチの有効範囲を指定するようにしても良い。
【００８０】
＜実施例７＞
図２、図１１、図１２を用いて、本発明の一実施例に係る操作コントロールの制御方法について説明する。操作コントロールとは、例えば図１２の符号１２０２で示されるような、表示装置の画像表示エリア１２０１上に表示される矢印のカーソルなどである。図１１に示す制御では、操作画面上の直近のタッチオフ時の操作コントロール位置と、タッチオン時のタッチオンイベントが取得された位置（タッチオン位置、ポイント開始位置）との間の距離に応じて、操作コントロールの位置を決定する。以下、図１１の各ステップを詳述する。
【００８１】
ステップＳ１１０１において、入力取得部２０１が、画像表示エリア１２０１上でタッチオンイベントを取得したかどうかを判定する。画像表示エリア１２０１上でタッチオン
イベントが取得されない場合（Ｓ１１０１−ＮＯ）には、タッチオンイベントが取得されるまで待機する。タッチオンイベントが取得された場合（Ｓ１１０１−ＹＥＳ）には、処理はステップＳ１１０２に進む。
【００８２】
ステップＳ１１０２において、位置決定部２０２は、位置記憶部２０３内に操作画面上でのタッチオフ時の操作コントロール位置(xOFF, yOFF)を保持しているかを判定する。タッチオフ時の操作コントロール位置(xOFF, yOFF)が保持されていない場合（Ｓ１１０２−ＮＯ）には、処理はステップＳ１１０５に進む。ステップＳ１１０５では、位置決定部２０２は、操作コントロール位置をタッチオン位置(xON, yON)に設定する。
【００８３】
一方、位置記憶部２０３がタッチオフ時の操作コントロール位置を保持している場合（Ｓ１１０２−ＹＥＳ）は、処理はステップＳ１１０３に進む。ステップＳ１１０３では、位置決定部２０２が、タッチオフ時の操作コントロール位置(xOFF, yOFF)とタッチオン位置(xON, yON)の距離rを算出する。距離rはr=[(xON-xOFF)2+ (yON-yOFF)2]1/2により算出
できる。なお、(xON, yON)はタッチオン時のタッチ位置であるが、(xOFF, yOFF)はタッチオフ時のタッチ位置ではなく操作コントロール位置である点に留意されたい。
【００８４】
ステップＳ１１０４において、位置決定部２０２は、距離rが所定の閾値αより大きい
（距離r > 閾値α）かどうかを判定する。距離rが閾値αより大きい（距離r > 閾値α）
場合は、処理はステップＳ１１０５に進み、位置決定部２０２は、操作コントロール位置をタッチオン位置(xON, yON)に設定する。一方、距離rが閾値α以下である（距離r≦閾値α）場合は、処理はステップＳ１１０６に進み、位置決定部２０２が操作コントロール位置を、保持されていたタッチオフ時の操作コントロール位置(xOFF, yOFF)に設定する。
【００８５】
閾値αの大きさは、予め定められた所定値であっても良いし、操作コントロール１２０２の幅に応じて動的に決定される値であっても良い（操作コントロール１２０２の大きさが変化する場合）。閾値αは、例えば、ユーザがタッチ操作を行う際の、指とタッチパネルの接触領域の大きさと同程度（例えば、１〜１．５倍程度）とすることができる。また、閾値αは、ノブ３２０の幅の半分の１〜１０倍程度とすることができる。また、閾値αとして、上記のように求められる複数の値から所定の基準で選択される値、例えば、これら複数の値のうちの最小値や最大値を採用することもできる。
【００８６】
ステップＳ１１０７において、入力取得部２０１がタッチオフイベントを取得したかどうかを判定する。タッチオフイベントが取得されていない場合は、ドラッグなどの操作が続いていて、指がタッチパネルから離れていないことを意味する。ドラッグ操作が行われている間は、位置決定部２０２は、タッチオン位置(xON, yON)と現在のタッチ位置(x, y)に応じて操作コントロール位置を決定する（Ｓ１１０９）。例えば、位置決定部２０２は、ステップＳ１１０５またはＳ１１０６において決定された操作コントロール位置に対して、移動量(x-xON, y-yON)を足し合わせた位置を、新しい操作コントロール位置として決定する。
【００８７】
ステップＳ１１０７においてタッチオフイベントが取得されている場合は、処理はステップＳ１１０８に進み、タッチオフイベントが取得された時の操作コントロール位置を位置記憶部２０３に格納する。位置記憶部２０３にすでに操作コントロール位置(xOFF, yOFF)が保持されている場合には、新しい値で上書き更新される。
【００８８】
なお、前回のタッチオフ時からほとんど時間が経過していないタイミングで、前回のタッチオフ時の操作コントロール位置の近傍がタッチオンされた場合は、ユーザが同じ操作コントロール位置を指定したい可能性が高い。一方、前回のタッチオフ時から長時間が経過している場合、前回のタッチオフ時の操作コントロール位置の近傍がタッチオンされた
としても、ユーザが同じ操作コントロール位置を指定したい可能性が低下していると考えられる。そこで、ステップＳ１１０８において、タッチオフイベントが取得された時間を操作コントロール位置と関連付けて位置記憶部２０３に記憶する。そして、ステップＳ１１０２では、現在時刻が、操作コントロール位置に関連付けて記憶された時間から所定時間以上経過していれば、タッチオフ時の操作コントロール位置を保持していない（Ｓ１１０２でＮＯ）と判定するようにしてもよい。あるいは、操作コントロール位置と関連づけて記憶された時間が所定時間を経過すると、操作コントロール位置とともに位置記憶部２０３から消去されるようにしてもよい。このような構成によって、前回のタッチオフ時の操作コントロール位置からの距離だけでなく、前回のタッチオフ時からの経過時間にも応じて、選択的に前回のタッチオフ時の操作コントロール位置を利用できる。このため、ユーザの意図に合った正確な操作コントロール位置を指定することができる。
【００８９】
上記のフローチャートでは明示しなかったが、操作コントロール位置の更新に伴い、ＵＩ表示制御部２０４が図１２の操作コントロール１２０２の表示を更新するとともに、処理実行部２０５が所定の処理を行う。例えば、処理実行部２０５は、タッチオフ操作に応答して、タッチオフ操作に対応する位置に基づく処理を実行する。また、処理実行部２０５は、タッチオン操作に対応する位置と前回のタッチオフ操作に対応する位置との距離が所定値より小さければ、タッチオン操作に応答して、前回のタッチオフ操作に対応する位置に基づく処理を実行する。当該距離が所定値より大きければ、処理実行部２０５は、タッチオン操作に応答して、タッチオン操作に対応する位置に基づく処理を実行する。処理実行部２０５が行う処理の例は、画像表示エリア１２０１に表示する画像を変更する処理である。他にも例えば、操作コントロールがスライダーバー上のスライダーの位置を指定するような場合、操作コントロールの位置に応答してスライダーの位置が移動して表示される。また操作コントロールの位置によって動画に含まれる複数のフレームのうちいずれかが選択され、画像表示エリア１２０２に表示される画像が更新されてもよい。あるいは、操作コントロールの位置に基づいて、モバイル機器１００が有するコンテンツを調整するのに用いられるパラメータが指定されてもよい。たとえば、操作コントロールの位置によって、画像表示エリア１２０１に表示される画像に含まれる画素が指定され、指定された画素に応じて表示される画像の色温度などの表示特性が変更されてもよい。また、ステップＳ１１０５，Ｓ１１０６，Ｓ１１０９において操作コントロール位置が更新された場合には、これらの処理が実行される。
【００９０】
図１３Ａ〜図１３Ｆは、本発明の一実施例に係るＵＩ制御動作の例である。図１３Ａ〜図１３Ｆの例では、連写画像においてタッチオフ時の操作コントロール位置とタッチオン時の距離に応じて、タッチオン時の操作コントロールの位置が制御される。
【００９１】
まず、タッチオフ時の操作コントロール位置とその後のタッチオン位置との距離が閾値以内の場合について、図１３Ａ〜図１３Ｃを用いて説明する。符号１３０１で示される表示画面は、スマートフォンやタブレットなどのモバイル機器１００にインストールされたアプリの画像である。このアプリは、表示されている画像中の選択された画素に基づいてホワイトバランスを算出し、表示画像に適用するという機能を有する。表示される画像のファイル形式は特に限定されない。例えば、ＪＰＥＧファイル、ＲＡＷファイル、動画ファイルなどが表示されてもよい。また、表示される画像は、モバイル機器１００が保存するものであってもよいし、撮像機器に保存された連写画像をモバイル機器１００に転送しながら表示されてもよい。
【００９２】
図１３Ａの操作コントロール１３１０は、ドラッグなどの操作によって画像上を上下左右に移動し、所定位置の画素を指定するためのインジケータである。図１３Ａ〜図１３Ｆの例では、操作コントロールにはカーソルが用いられる。また、符号１３１１は、モバイル機器１００を操作するユーザーの手を示す。符号１３０２は、ユーザーが操作コントロ
ールをタッチオフした場合の操作コントロール位置(xOFF, yOFF)を示す。図１３Ｂの符号１３０３は、タッチオフの後、ユーザーが端末をタッチオンした位置(xON1, yON1)を示す。そして、位置決定部２０２が、タッチオフした場合の操作コントロール位置(xOFF, yOFF)とタッチオンした位置(xON1, yON1)との距離を算出する。算出された距離が閾値を超えない場合、図１３Ｃの符号１３０４のように、操作コントロール位置をタッチオフしたときの操作コントロール位置(xOFF, yOFF)に設定する。
【００９３】
次に、タッチオフ時の操作コントロール位置とタッチオン位置との距離が閾値を超えている場合について、図１３Ｄ〜図１３Ｆを用いて説明する。図１３Ｄの符号１３０５は、ユーザーが操作コントロールをタッチオフした場合の操作コントロール位置(xOFF, yOFF)である。符号１３０６は、タッチオフの後、ユーザーが端末をタッチオンした位置(xON2,
yON2)である。そして、位置決定部２０２が、タッチオフした場合の操作コントロール位置(xOFF, yOFF)とタッチオンした位置(xON2, yON2)との距離を算出する。算出された距離が閾値を超えた場合、図１３Ｆの符号１３０７のように、操作コントロールの位置がタッチオンした位置(xON2, yON2)に基づいて設定される。この例では、新たなタッチ位置１３０７の画素に基づいてホワイトバランスが算出され、図１３Ｆの表示画像に適用される。
【００９４】
＜実施例８＞
図１４は、本発明の一実施例に係る操作コントロールの制御の手順を示すフローチャートである。図１４の例では、タッチオフ時の操作コントロール位置とタッチオン時の距離が閾値を超えた場合も操作コントロールの移動が無効にされる。以下、図１４のフローチャートの各ステップを説明する。
【００９５】
ステップＳ１４０１において、入力取得部２０１が、画像表示エリア１２０１上でタッチオンイベントを取得したかを判定する。画像表示エリア１２０１上でタッチオンイベントが取得されない場合（Ｓ１４０１−ＮＯ）には、タッチオンイベントが取得されるまで待機する。タッチオンイベントが取得された場合（Ｓ１４０１−ＹＥＳ）には、処理はステップＳ１４０２に進む。
【００９６】
ステップＳ１４０２において、入力取得部２０１がタッチオンイベントからのタッチオン継続時間ｔを算出し、処理はステップＳ１４０３に進む。ステップＳ１４０３において、入力取得部２０１は、タッチオン継続時間ｔと所定の閾値βを比較し、タッチオン継続時間ｔが閾値βよりも大きいかどうかを判定する。タッチオン継続時間ｔが閾値β以下である場合（タッチオン継続時間ｔ ≦ 閾値β）、操作コントロールの位置の操作は無効にされ、処理は終了する。タッチオン継続時間が短い場合、ユーザーが誤って操作画面に触れた可能性が高く、この制御によって意図しない操作コントロールの移動が防止されるという効果がある。タッチオン時間ｔが閾値βよりも大きい場合（タッチオン継続時間ｔ >
閾値β）は、ユーザーが意図してタッチオンしたものと判断され、処理はステップＳ１
４０４に進む。
【００９７】
ステップＳ１４０４において、位置決定部２０２は、位置記憶部２０３内にタッチオフ時の操作コントロール位置(xOFF, yOFF)を保持しているかどうかを判定する。位置記憶部２０３がタッチオフ時の操作コントロール位置(xOFF, yOFF)を保持していない場合、ステップＳ１４０７において、操作コントロールの位置がタッチオン位置(xON, yON)に設定される。位置記憶部２０３が、タッチオフ時の操作コントロール位置を保持している場合、ステップＳ１４０５において、位置決定部２０２がタッチオフ時の操作コントロール位置(xOFF, yOFF)とタッチオン位置(xON, yON)の距離rを算出する。
【００９８】
ステップＳ１４０６において、位置決定部２０２は距離rが閾値αより大きい（距離r >閾値α）かどうかを判定する。距離rが閾値αより大きい（距離r > 閾値α）場合、ステ
ップＳ１４０７において、操作コントロールの位置がタッチオン位置(xON, yON)に設定される。距離rが閾値α以下（距離r ≦閾値α）の場合、ステップＳ１４０８において、操
作コントロールの位置がタッチオフ時の操作コントロール位置(xOFF, yOFF)に設定される。
【００９９】
ステップＳ１４０９において、入力取得部２０１がタッチオフイベントを取得したかを判定する。タッチオフイベントが取得されていない場合は、ドラッグなどの操作が続いていて、指がタッチパネルから離れていないことを意味する。ドラッグ操作が行われている間は、位置決定部２０２は、タッチオン位置(xON, yON)と現在のタッチ位置(x, y)に応じて操作コントロール位置を決定する（Ｓ１４１０）。例えば、位置決定部２０２は、ステップＳ１４０７またはＳ１４０８において決定された操作コントロール位置に対して、移動量(x-xON, y-yON)を足し合わせた位置を、新しい操作コントロール位置として決定する。
【０１００】
ステップＳ１４０９においてタッチオフイベントが取得されている場合は、処理はステップＳ１４１１に進み、タッチオフイベントが取得された時の操作コントロール位置を位置記憶部２０３に格納する。位置記憶部２０３にすでに操作コントロール位置(xOFF, yOFF)が保持されている場合には、新しい値で上書き更新される。
【０１０１】
＜実施例９＞
図１５は、本発明の一実施例に係る操作コントロールの制御の手順を示すフローチャートである。図１５の例では、表示画面においてタッチオフ時の操作コントロール位置が画面の端であった場合、再度タッチオンするときの操作コントロール位置を、タッチオフ時の操作コントロール位置から操作を再開しやすくする。以下、図１５に示すフローチャートの各ステップを説明する。
【０１０２】
ステップＳ１５０１において、入力取得部２０１が、タッチオンイベントを取得したかどうかを判定する。画像表示エリア１２０１上でタッチオンイベントが取得されない場合（Ｓ１５０１−ＮＯ）には、タッチオンイベントが取得されるまで待機する。画像表示エリア１２０１上でタッチオンイベントが取得されない場合、処理はステップＳ１５０２に進む。
【０１０３】
ステップＳ１５０２において、位置決定部２０２は、位置記憶部２０３内にタッチオフ時の操作コントロール位置(xOFF, yOFF)を保持しているかどうかを判定する。タッチオフ時の操作コントロール位置が保持されていない場合（Ｓ１５０２−ＮＯ）には、処理はステップＳ１５０５に進む。ステップＳ１５０５では、位置決定部２０２は、操作コントロール位置をタッチオン位置(xON, yON)に設定する。
【０１０４】
一方、位置記憶部２０３がタッチオフ時の操作コントロール位置を保持している場合、ステップＳ１５０３において、入力取得部２０１はタッチオフ位置(xOFF, yOFF)が端末の端であるかを判定する。後述するが、操作コントロールはタッチする指と重ならないように表示される。これは、操作コントロールがユーザーの指で隠れることを防止し、ユーザーがどこを指しているかが分かるようにするためである。例えば、右手の指でタッチ操作する場合、指で指した位置の左上に操作コントロールが位置し、指と重ならないように表示される。そして、ステップＳ１５０３で述べている端末の端とは、画面の右端ならびに下端を指す。指で指した位置の左上に操作コントロールが表示されている状態で、指を画面の右端ならびに下端へ移動した場合、操作コントロールよりも先に指が画面の外（タッチセンサの領域外）に出てしまう。この状態では、操作コントロールの操作ができない。そのため、再度、タッチオンして操作コントロールが画面の右端ならびに下端へ移動しやすくなるように、閾値の大きさが変更される。タッチオフ位置(xOFF, yOFF)が端末の端で
ある場合（Ｓ１５０３−ＹＥＳ）、ステップＳ１５０４で閾値αがδ（αよりも大きな値）に変更され、処理はステップＳ１５０６に進む。
【０１０５】
ステップＳ１５０６では、位置決定部２０２が、タッチオフ時の操作コントロール位置(xOFF, yOFF)とタッチオン位置(xON, yON)との距離rを算出する。ステップＳ１５０７に
おいて、位置決定部２０２は、距離rが所定の閾値α（またはδ）より大きい（距離r > 
閾値α（δ））かどうかを判定する。距離rが閾値α（δ）より大きい（距離r > 閾値α
（δ））場合は、処理はステップＳ１５０５に進み、位置決定部２０２は操作コントロール位置をタッチオン位置(xON, yON)に設定する。一方、距離rが閾値α（δ）以下である
（距離r≦閾値α（δ））場合、処理はステップＳ１５０８に進み、操作コントロール位
置をタッチオフ時の操作コントロール位置(xOFF, yOFF)に設定する。
【０１０６】
ステップＳ１５０９において、入力取得部２０１がタッチオフイベントを取得したかを判定する。タッチオフイベントが取得されていない場合は、ドラッグなどの操作が続いていて、指がタッチパネルから離れていないことを意味する。ドラッグ操作が行われている間は、位置決定部２０２は、タッチオン位置(xON, yON)と現在のタッチ位置(x, y)に応じて操作コントロール位置を決定する（Ｓ１５１０）。タッチオフイベントが取得された場合、処理はステップＳ１５１１に進み、タッチオフイベントが取得された時の操作コントロール位置を位置記憶部２０３に格納する。位置記憶部２０３にすでに操作コントロール位置(xOFF, yOFF)が保持されている場合には、新しい値で上書き更新される。
【０１０７】
図１６Ａ、図１６Ｂは、本発明の一実施例に係る操作画面の例である。図１６Ａ、図１６Ｂの例では、タッチオン時のタッチ位置が画面の端であった場合、閾値を大きくしタッチオフ時の操作コントロール位置から操作を再開しやすくするという制御が実現される。操作コントロール１６０１は、ドラッグなどの操作によって操作画面上を上下左右に移動し、所定位置の画素を指定するためのインジケータであり、本実施例では矢印のカーソルが用いられている。図１６Ａの例では、操作コントロール１６０１は、タッチする指１６０６と重ならないように表示される。これは、ユーザーがどこを指しているかが分かるようにするためである。図１６Ａ、図１６Ｂの例では、右手の指で操作画面をタッチして、指で指した位置の左上に、指と重ならないように操作コントロールが表示されている。
【０１０８】
符号１６０２は、再度タッチオンした場合、操作コントロールの移動をどの位置から開始させるか決めるための閾値であり、タッチオフ時の操作コントロール位置からの距離に対して設定される。図１６Ａでは、閾値１６０２が、タッチオフ時の操作コントロール位置１６０１を中心として、半径が閾値rinである円で示されている。閾値１６０２の領域
内でタッチオンされた場合は、タッチオフ時の操作コントロール位置から操作コントロールの移動が開始される。
【０１０９】
また、閾値１６０２の値は、操作画面上のタッチオンイベントが取得される位置によって変更されてもよい。例えば、本実施例では、符号１６０３で示される領域内でタッチオンイベントが取得される場合は、閾値はrinであるとする。右手の指の左上に操作コント
ロールが表示される場合、領域１６０３内では、タッチオンを維持し続けることで一度の操作で操作コントロールを移動可能である。
【０１１０】
一方、図１６Ｂに示す符号１６０４の領域を操作コントロールで選択しようとすると、操作コントロールよりも先に指が画面の外に出てしまう。このため、再度、タッチオンして前回のタッチオフ位置から操作コントロールの移動を有効にしてから、画面の右下ならびに下端へ移動する必要がある。この操作を容易にするため、タッチオフ位置が領域１６０４内であった場合、符号１６０５で示される閾値routを、符号１６０２で示される閾値rinよりも大きな値に変更する。これによって、再度タッチオンした場合、操作コントロ
ール位置が前回のタッチオフ位置に設定され易くなる。ここでは、右手の指でタッチオンした場合に左上に操作コントロールを表示した場合の例を示したが、左手の指でタッチオンした場合は右上に操作コントロールが表示され、領域１６０４が左端ならびに下端に変わることは言うまでもない。操作コントロールの表示をタッチ位置の左上または右上に切り換える手段については、後述する。
【０１１１】
＜実施例１０＞
図１７は、本発明の一実施例に係る画像処理の手順を示すフローチャートである。本実施例では、タッチオフ時に選択される画素に基づいて画像処理が実行されるものとする。図１７に示す例では、画像処理を実行中に、操作コントロールをタッチオフした後にタッチオンする場合、画像処理が中断され、新たなタッチオフ位置に基づいて画像処理が実行される。ステップＳ１７０１において、入力取得部２０１が、タッチオンイベントを取得したかを判定する。タッチオンイベントが取得されない場合（Ｓ１７０１−ＮＯ）には、タッチオンイベントが取得されるまで待機する。
【０１１２】
ステップＳ１７０２において、処理実行部２０５によって前回のタッチオフ位置の画素を用いて画像処理を実行されているかどうかが判定される。前回のタッチオフ位置に基づく処理が実行中の場合（Ｓ１７０２−ＹＥＳ）、処理はステップＳ１７０３に進む。前回のタッチオフ位置に基づく処理が実行されていない場合（Ｓ１７０２−ＮＯ）、処理はステップＳ１７０４に進む。ステップＳ１７０３では画像処理が中断され、処理はステップＳ１７０４に進む。
【０１１３】
ステップＳ１７０４において、位置決定部２０２が、前回のタッチオフ位置に基づいて操作コントロールの開始位置を決定する。この処理の説明は前述したので省略する。ステップＳ１７０５において、今回のタッチオフ位置による画素を用いて画像処理が実行される。本実施例では、ステップＳ１７０４の処理の前に前回のタッチオフ位置の画素を用いた画像処理を中断しているが、ステップＳ１７０４の処理の結果、操作コントロールの位置が変わる場合のみ画像処理を中断してもよいものとする。
【０１１４】
＜実施例１１＞
図１８は、本発明の一実施例に係るタッチの有効範囲、有効時間、操作コントロールの表示位置を設定するための設定画面の例である。符号１８０１は、タッチの有効範囲を変更するためのスライダーコントロールである。ここでは、この値を変更すると、画面下に表示された有効範囲を示す円１８０４の大きさが変わって表示される。符号１８０２は、タッチの有効時間を変更するためのスライダーコントロールである。この有効時間は、誤ってタッチした場合にシークバーや操作コントロールを移動しないようにするための閾値として使用される。符号１８０３は、操作コントロールの表示位置をタッチ位置の左上に表示するか、右上に表示するかを切り換えるためのタブである。ユーザーの利き手（右利き、左利き）に合わせてどちらに操作コントロールを表示するかを選択できる。また、この設定は、図１６Ａ、図１６Ｂで説明した閾値rin、routに対応する領域の設定の切り替
えにも使用される。このように操作コントロールの動作制御をユーザーの選択に合わせてカスタマイズすることができる。
【０１１５】
＜その他の実施例＞
上記の説明では、シークバーＵＩを用いて、連続撮影画像、動画、あるいは音声の１つの表示・再生位置を指定する動作を例に説明した。しかしながら、シークバーＵＩは、始点と終点の２つの位置を指定して、範囲を指定するために用いることができる。本発明はシークバーＵＩを用いてこのような複数の位置を指定する場合にも適用可能である。
【０１１６】
上記の説明では、シークバーＵＩを例に説明したが、シークバーＵＩと同様にスライド
操作可能なユーザインタフェースとして、スクロールバー、スライダーコントロールなどがある。このようなスライド操作が可能なユーザインタフェースに対しても、本発明が同様に適用できる。また、スライド操作（一方向の移動）だけでなく、任意の方向に移動操作可能なユーザインタフェース要素（ＵＩ要素）の位置を指定するためにも、本発明を適用可能である。
【０１１７】
上記の説明では、タッチオフ時のＵＩ要素の位置とタッチオン位置の距離に基づいて制御を行っているが、必ずしも２点間の距離に基づいて制御を行う必要は無い。例えば、タッチオフ時のＵＩ要素の描画領域を記憶しておき、当該描画領域とその周辺領域とを含む所定領域内がタッチオンされた場合は、タッチオフ時のＵＩ要素の位置がタッチオンされたとみなしても良い。所定領域（周辺領域）の形状は任意形状であって良い。所定領域は、例えば、ＵＩ要素との最短距離が所定距離以内の領域とすることができる。なお、実施例１では、ＵＩ要素の位置が点で表され、所定領域が当該位置から所定距離以内の領域として定義されている。これらの所定距離（閾値）は、予め定められていても良いし、実施例６のようにユーザが設定可能であっても良い。
【０１１８】
上記の説明では、本発明をモバイル機器に適用しているが、本発明の適用先はこれに限られない。例えば、パーソナルコンピュータ（ＰＣ）や、デジタルスチルカメラ、デジタルビデオカメラなど、任意の情報処理装置に対して適用することができる。
【０１１９】
また、実施例３のように、タッチオン継続時間を利用して操作コントロールの位置を決定する実施例を、実施例７〜１１に適用してもよい。
【０１２０】
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２１】
２０１：入力取得部    ２０２：位置決定部    ２０３：位置記憶部
【図１】
2017117435.tif 000003
【図２】
2017117435.tif 000004
【図３】
2017117435.tif 000005
【図４】
2017117435.tif 000006
【図５】
2017117435.tif 000007
【図６】
2017117435.tif 000008
【図７】
2017117435.tif 000009
【図８】
2017117435.tif 000010
【図９】
2017117435.tif 000011
【図１０】
2017117435.tif 000012
【図１１】
2017117435.tif 000013
【図１２】
2017117435.tif 000014
【図１３】
2017117435.tif 000015
【図１４】
2017117435.tif 000016
【図１５】
2017117435.tif 000017
【図１６】
2017117435.tif 000018
【図１７】
2017117435.tif 000019
【図１８】
2017117435.tif 000020