(57)【特許請求の範囲】
【請求項１】
ユーザ操作により指定された値に基づく情報を出力するグラフィカルユーザインタフェースにおけるユーザの操作位置に基づいて、該グラフィカルユーザインタフェースにおけるスライド可能範囲の一部である調整範囲を設定する設定部と、
前記スライド可能範囲の全体を表示させ続けながら、該スライド可能範囲の表示領域の一部に前記調整範囲を表示し、前記調整範囲における前記値の変化のペースを該調整範囲以外の非調整範囲における前記値の変化のペースより遅くするように前記グラフィカルユーザインタフェースを制御する制御部と
を備え、
前記設定部が、複数の前記操作位置のうち、第１操作位置と該第１操作位置の次に指定された第２操作位置とに基づいて、前記第１操作位置と前記スライド可能範囲の端部とを境界としかつ前記第２操作位置を含む前記調整範囲を設定する
情報処理装置。
【請求項２】
ユーザ操作により指定された値に基づく情報を出力するグラフィカルユーザインタフェースにおけるユーザの操作位置に基づいて、該グラフィカルユーザインタフェースにおけるスライド可能範囲の一部である調整範囲を設定する設定部と、
前記スライド可能範囲の全体を表示させ続けながら、該スライド可能範囲の表示領域の一部に前記調整範囲を表示し、前記調整範囲における前記値の変化のペースを該調整範囲以外の非調整範囲における前記値の変化のペースより遅くするように前記グラフィカルユーザインタフェースを制御する制御部と
を備え、
前記設定部が、複数の前記操作位置のうち、第１操作位置と該第１操作位置の次に指定された第２操作位置とに基づいて、ノブが前記第２操作位置から前記第１操作位置に向かって自動で移動した後に、該ノブの移動後の位置から該第１操作位置の間で第３操作位置が指定された場合に、該ノブの移動後の位置と該第１操作位置とを境界とする前記調整範囲を設定する
情報処理装置。
【請求項３】
ユーザ操作により指定された値に基づく情報を出力するグラフィカルユーザインタフェースにおけるユーザの操作位置に基づいて、該グラフィカルユーザインタフェースにおけるスライド可能範囲の一部である調整範囲を設定する設定部と、
前記スライド可能範囲の全体を表示させ続けながら、該スライド可能範囲の表示領域の一部に前記調整範囲を表示し、前記調整範囲における前記値の変化のペースを該調整範囲以外の非調整範囲における前記値の変化のペースより遅くするように前記グラフィカルユーザインタフェースを制御する制御部と
を備え、
前記設定部が、複数の前記操作位置のうち、第１操作位置と該第１操作位置の次に指定された第２操作位置とに基づいて、前記第２操作位置の次に前記第１操作位置と該第２操作位置との間で第３操作位置が指定された場合に、該第１操作位置と該第２操作位置とを境界とする前記調整範囲を設定する
情報処理装置。
【請求項４】
ユーザ操作により指定された値に基づく情報を出力するグラフィカルユーザインタフェースにおけるユーザの操作位置に基づいて、該グラフィカルユーザインタフェースにおけるスライド可能範囲の一部である調整範囲を設定する設定部と、
前記スライド可能範囲の全体を表示させ続けながら、前記調整範囲におけるユーザ操作によるノブの移動速度を該調整範囲以外の非調整範囲における前記ユーザ操作による前記ノブの移動速度よりも遅くすることで、前記調整範囲における前記値の変化のペースを前記非調整範囲における前記値の変化のペースより遅くするように前記グラフィカルユーザインタフェースを制御する制御部と
を備える情報処理装置。
【請求項５】
前記設定部が、複数の前記操作位置のうち、第１操作位置と該第１操作位置の次に指定された第２操作位置とに基づいて前記調整範囲を設定する、
請求項４に記載の情報処理装置。
【請求項６】
前記設定部が、前記第１操作位置と前記スライド可能範囲の端部とを境界としかつ前記第２操作位置を含む前記調整範囲を設定する、
請求項５に記載の情報処理装置。
【請求項７】
前記設定部が、前記第１操作位置と前記第２操作位置とを境界とする前記調整範囲を設定する、
請求項５に記載の情報処理装置。
【請求項８】
前記設定部が、前記第２操作位置の次に前記第１操作位置と該第２操作位置との間で第３操作位置が指定された場合に、該第１操作位置と該第２操作位置とを境界とする前記調整範囲を設定する、
請求項７に記載の情報処理装置。
【請求項９】
ノブが前記第２操作位置から前記第１操作位置に向かって自動で移動した後に、該ノブの移動後の位置から該第１操作位置の間で第３操作位置が指定された場合に、前記設定部が、該ノブの移動後の位置と該第１操作位置とを境界とする前記調整範囲を設定する、
請求項５に記載の情報処理装置。
【請求項１０】
情報処理装置が、ユーザ操作により指定された値に基づく情報を出力するグラフィカルユーザインタフェースにおけるユーザの操作位置に基づいて、該グラフィカルユーザインタフェースにおけるスライド可能範囲の一部である調整範囲を設定する設定ステップと、
前記情報処理装置が、前記スライド可能範囲の全体を表示させ続けながら、前記調整範囲におけるユーザ操作によるノブの移動速度を該調整範囲以外の非調整範囲における前記ユーザ操作による前記ノブの移動速度よりも遅くすることで、前記調整範囲における前記値の変化のペースを前記非調整範囲における前記値の変化のペースより遅くするように前記グラフィカルユーザインタフェースを制御する制御ステップと
を含む情報処理方法。
【請求項１１】
ユーザ操作により指定された値に基づく情報を出力するグラフィカルユーザインタフェースにおけるユーザの操作位置に基づいて、該グラフィカルユーザインタフェースにおけるスライド可能範囲の一部である調整範囲を設定する設定部と、
前記スライド可能範囲の全体を表示させ続けながら、前記調整範囲におけるユーザ操作によるノブの移動速度を該調整範囲以外の非調整範囲における前記ユーザ操作による前記ノブの移動速度よりも遅くすることで、前記調整範囲における前記値の変化のペースを前記非調整範囲における前記値の変化のペースより遅くするように前記グラフィカルユーザインタフェースを制御する制御部と
してコンピュータを機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一側面は、値をスライドさせるためのグラフィカルユーザインタフェースを制御する情報処理装置、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【０００２】
コンピュータのグラフィカルユーザインタフェース（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ））の一つとして、シークバー（ｓｅｅｋｂａｒ）などのような、スライド操作により値を変化させる部品が知られている。例えば下記特許文献１には映像再生位置を指定するシークバーを制御する情報処理装置が記載されている。この情報処理装置は、復号手段が映像データを復号する再生位置を制御するためのシークバーを表示すると共に、タイムスタンプ情報を元に定められるシークバー上の位置に、画像抽出手段により抽出された画像を表示する表示制御手段を備える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２３９２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載されているような従来のＧＵＩでは、スライド操作で大凡の位置を指定することは簡単であるが、細かな位置を指定することは困難である。そのためユーザにとってはそのＧＵＩで制御可能な値を所望のものに指定したりその値を微調整したりすることは容易でない。そこで、スライド操作を伴うグラフィカルユーザインタフェース上でより簡単に値を指定できることが望まれている。
【課題を解決するための手段】
【０００５】
本発明の一側面に係る情報処理装置は、ユーザ操作により指定された値に基づく情報を出力するグラフィカルユーザインタフェースにおけるユーザの操作位置に基づいて、該グラフィカルユーザインタフェースにおけるスライド可能範囲の一部である調整範囲を設定する設定部と、調整範囲における値の変化のペースを該調整範囲以外の非調整範囲における値の変化のペースより遅くするようにグラフィカルユーザインタフェースを制御する制御部とを備える。【０００６】
本発明の一側面に係る情報処理方法は、情報処理装置が、ユーザ操作により指定された値に基づく情報を出力するグラフィカルユーザインタフェースにおけるユーザの操作位置に基づいて、該グラフィカルユーザインタフェースにおけるスライド可能範囲の一部である調整範囲を設定する設定ステップと、情報処理装置が、調整範囲における値の変化のペースを該調整範囲以外の非調整範囲における値の変化のペースより遅くするようにグラフィカルユーザインタフェースを制御する制御ステップとを含む。【０００７】
本発明の一側面に係る情報処理プログラムは、ユーザ操作により指定された値に基づく情報を出力するグラフィカルユーザインタフェースにおけるユーザの操作位置に基づいて、該グラフィカルユーザインタフェースにおけるスライド可能範囲の一部である調整範囲を設定する設定部と、調整範囲における値の変化のペースを該調整範囲以外の非調整範囲における値の変化のペースより遅くするようにグラフィカルユーザインタフェースを制御する制御部としてコンピュータを機能させる。【０００８】
このような側面においては、グラフィカルユーザインタフェース上の操作位置に基づいて設定された調整範囲において値の変化のペースが非調整範囲における値の変化のペースよりも遅くなる。調整範囲において値が通常よりもゆっくりと変化するので、ユーザはその調整範囲において所望の値を容易に探すことができる。【０００９】
他の側面に係る情報処理装置では、設定部が、複数の操作位置のうち、第１操作位置と該第１操作位置の次に指定された第２操作位置とに基づいて調整範囲を設定してもよい。【００１０】
他の側面に係る情報処理装置では、設定部が、第１操作位置とスライド可能範囲の端部とを境界としかつ第２操作位置を含む調整範囲を設定してもよい。【００１１】
他の側面に係る情報処理装置では、設定部が、第１操作位置と第２操作位置とを境界とする調整範囲を設定してもよい。【００１２】
他の側面に係る情報処理装置では、設定部が、第２操作位置の次に第１操作位置と該第２操作位置との間で第３操作位置が指定された場合に、該第１操作位置と該第２操作位置とを境界とする調整範囲を設定してもよい。【００１３】
他の側面に係る情報処理装置では、ノブが第２操作位置から第１操作位置に向かって自動で移動した後に、該ノブの移動後の位置から該第１操作位置の間で第３操作位置が指定された場合に、設定部が、該ノブの移動後の位置と該第１操作位置とを境界とする調整範囲を設定してもよい。【００１４】
他の側面に係る情報処理装置では、設定部が、複数の操作位置のうち最も外側にある少なくとも二つの操作位置を境界とする調整範囲を設定してもよい。【００１５】
他の側面に係る情報処理装置では、制御部が、調整範囲におけるノブの移動速度を非調整範囲におけるノブの移動速度よりも遅くすることでグラフィカルユーザインタフェースを制御してもよい。【００１６】
他の側面に係る情報処理装置では、スライド制御部が、調整範囲をノブのスライド方向に沿って拡大表示することでグラフィカルユーザインタフェースを制御してもよい。【００１７】
他の側面に係る情報処理装置では、制御部が、所定のイベントに応じて調整範囲における値の変化のペースを非調整範囲における値の変化のペースと同じにしてもよい。
【発明の効果】
【００１８】
本発明の一側面によれば、スライド操作を伴うグラフィカルユーザインタフェース上でより簡単に値を指定することができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態に係る情報処理装置のハードウェア構成を示す図である。
【図２】実施形態に係る情報処理装置の機能構成を示すブロック図である。
【図３】ＧＵＩの一例であるシークバーを示す図である。
【図４】シークバーのノブの移動に関する一例を示す図である。
【図５】シークバーのノブの移動に関する別の例を示す図である。
【図６】調整範囲の設定を示す図である。
【図７】調整範囲の設定を示す図である。
【図８】調整範囲の設定を示す図である。
【図９】調整範囲の設定を示す図である。
【図１０】スライド操作の制御を示す図である。
【図１１】スライド操作の制御を示す図である。
【図１２】スライド操作の制御を示す図である。
【図１３】実施形態に係る情報処理装置の動作を示すフローチャートである。
【図１４】実施形態に係る情報処理プログラムの構成を示す図である。
【図１５】変形例における調整範囲の設定を示す図である。
【図１６】変形例における調整範囲の設定を示す図である。
【図１７】変形例におけるスライド操作の制御を示す図である。
【図１８】変形例におけるスライド操作の制御を示す図である。
【発明を実施するための形態】
【００２０】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００２１】
まず、実施形態に係る情報処理装置１０の機能および構成を説明する。情報処理装置１０はグラフィカルユーザインタフェース（ＧＵＩ）の機能をユーザに提供するコンピュータである。情報処理装置１０の種類は限定されない。例えば、情報処理装置１０は、サーバとして用いられる大型コンピュータでもよいし、据置型又は携帯型のパーソナルコンピュータ（ＰＣ）でもよい。あるいは、情報処理装置１０は、高機能携帯電話機（スマートフォン）や携帯電話機、携帯情報端末（ＰＤＡ）などの携帯端末でもよい。あるいは、情報処理装置１０はＧＵＩを提供する任意の家電製品でもよい。
【００２２】
情報処理装置１０の一般的なハードウェア構成を図１に示す。情報処理装置１０は、オペレーティングシステムやアプリケーション・プログラムなどを実行するＣＰＵ１０１と、ＲＯＭ及びＲＡＭで構成される主記憶部１０２と、ハードディスクやフラッシュメモリなどで構成される補助記憶部１０３と、ネットワークカードあるいは無線通信モジュールで構成される通信制御部１０４と、キーボードやマウスなどの入力装置１０５と、ディスプレイやプリンタなどの出力装置１０６とを備える。当然ながら、搭載されるハードウェアモジュールは情報処理装置１０の種類により異なる。例えば、据置型のＰＣは入力装置および出力装置としてキーボード、マウス、およびモニタを備えることが多いが、スマートフォンはタッチパネルが入力装置および出力装置として機能することが多い。
【００２３】
後述する情報処理装置１０の各機能要素は、ＣＰＵ１０１または主記憶部１０２の上に所定のソフトウェアを読み込ませ、ＣＰＵ１０１の制御の下で通信制御部１０４や入力装置１０５、出力装置１０６などを動作させ、主記憶部１０２または補助記憶部１０３におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部１０２または補助記憶部１０３内に格納される。
【００２４】
なお、情報処理装置１０は、通信ネットワークを介して相互に接続された複数のコンピュータまたは電子機器の集合でもよい。この場合には、情報処理装置１０の各機能要素は分散処理により実現される。
【００２５】
本実施形態における情報処理装置１０の特徴は、ユーザ操作（例えばスライド操作）により指定された値に基づく情報を出力するＧＵＩの制御方法である。このようなＧＵＩの例として、シークバー（ｓｅｅｋｂａｒ）、スクロールバー（ｓｃｒｏｌｌｂａｒ）、カラーピッカー（ｃｏｌｏｒ  ｐｉｃｋｅｒ）が挙げられる。シークバーおよびスクロールバーは１次元座標（すなわち、Ｘ軸）上で値を変化させるＧＵＩである。一方、ＲＧＢ値を制御するカラーピッカーは、Ｒ，Ｇ，Ｂに応じた三つの１次元座標上、または色が平面上に配置された２次元座標（すなわち、ＸＹ平面）上で値を変化させるＧＵＩである。もちろん、スライド操作を伴うＧＵＩの種類は上記のものに限定されない。これらのＧＵＩは一般にノブ（ｋｎｏｂ）（「スライダ（ｓｌｉｄｅｒ）」や「バー（ｂａｒ）」などとも表現される）という部品を備え、ユーザはこのノブを動かすことで値を変えることができる。ただし、本発明はノブを備えないＧＵＩにも適用可能である。
【００２６】
本明細書における「スライド操作」は、現在の値を直接または間接的に変える操作を意味する。ＧＵＩがノブを備えているならば、スライド操作は、現在の値を変えるために、その値に対応する位置にあるノブを直接または間接的に動かす操作も意味する。例えば、ノブをドラッグ（ｄｒａｇ）する操作はスライド操作の一種である。また、ノブを移動させるためのトラック（ｔｒａｃｋ）においてノブの現在位置以外の場所をクリックまたはタップすることで、その新たな場所にノブを移動させる操作もスライド操作の一種である。あるいは、スクロールバーの矢印をクリックしてノブを所定の単位距離（例えば、ノブの長さ）ずつ動かすこともスライド操作の一種である。あるいは、シークバーの早送りボタンまたは巻き戻しボタンを押すことで再生開始時点を変化させることもスライド操作の一種である。本明細書では、ＧＵＩ上でノブが移動できる範囲またはＧＵＩ上で値が変化する範囲を「スライド可能範囲」という。
【００２７】
本明細書における「値」は、ＧＵＩのスライド操作に応じて変化する任意の属性値を意味する。ＧＵＩはこの値を任意の場所に表示する。ＧＵＩがスライド操作されると、値はスライド操作により連続的に変化する。例えば、動画の再生開始時点を指定するシークバーにより変更可能な値はその再生開始時点であり、このシークバーがスライド操作を受け付けると再生開始時点が所定の間隔（例えば、１秒ずつ、３０秒ずつ、６０秒ずつなど）で変化する。ＧＵＩが画面をスクロールさせるスクロールバーであれば、変更可能な値は表示位置を示す座標またはページであり、このスクロールバーがスライド操作を受け付けると表示ページが１ページずつ変わったり、対応する座標が所定の間隔で（例えば１ずつ）変化したりする。ＧＵＩがカラーピッカーであれば変更可能な値はＲＧＢ値であり、このカラーピッカーがスライド操作を受け付けるとＲＧＢ値の３要素の値の少なくとも一つが所定の間隔で（例えば１ずつ）変化する。なお、値の種類はこれらに限定されない。
【００２８】
本明細書における「ユーザ操作により指定された値に基づく情報」は、その値に基づいて設定される情報、その値に対応する情報、またはその値そのものを示す情報を意味する。例えば、値が音楽の再生開始時点「３０分４５秒」であれば、その値に基づく情報は、その再生開始時点「３０分４５秒」から流れる音楽でもよい。あるいは、その再生開始時点そのものを示す情報、すなわち、「３０：４５」という文字列も、「３０分４５秒」という値に基づく情報となり得る。
【００２９】
情報処理装置１０は、スライド操作を受け付けるＧＵＩ上においてユーザが値の設定に迷っていると判定すると、その設定が容易になるようにスライド操作を制御する。この処理を実行するために情報処理装置１０は機能要素として判定部１１、範囲設定部１２、およびスライド制御部１３を備える。図２に示すこれらの要素は少なくとも一つのプロセッサ（ＣＰＵ１０１）などが動作することで実現される。
【００３０】
以下では、発明の理解を容易にするために、図３に示す動画再生アプリケーション２０のシークバー３０をＧＵＩの例として示す。シークバー３０は、棒状または帯状の操作領域であるトラック３１と、そのトラック３１の両端部３１ａ，３１ｂの間で移動可能なノブ３２とを備える。図３は、再生時間が９０分の動画ファイルが動画再生アプリケーションに読み込まれた状態を示している。図３の例では、ユーザはノブ３２を操作することで再生開始時点を０分０秒（００：００）から９０分０秒（９０：００）までの間で選択することができる。この再生開始時点が、シークバー３０でのユーザ操作に応じて変化する値である。シークバー３０はそのユーザ操作で指定された再生開始時点を任意の箇所に表示する。例えば、シークバー３０はトラック３１に隣接する領域に再生開始時点を表示したり、ノブ３２が操作されている間にそのノブ３２の上側に再生開始時点を表示したりする。
【００３１】
９０分という再生時間はトラック３１の長さに対応するので、ユーザはノブ３２を操作することで大よその再生開始時点を指定することができる。例えば、ユーザはトラック３１の中央付近にノブ３２を動かすことで４５分付近から動画を再生することができるし、端部３１ａから端部３１ｂに向かってノブ３２をトラック３１の長さの約２／３だけ動かせば６０分付近から動画を再生することができる。しかし、トラック３１の長さは限られるので、ユーザが再生開始時点を細かく指定することは難しい。このような背景を受けて、情報処理装置１０は値の設定がより容易になるようにスライド操作を制御する。
【００３２】
図２に戻って、判定部１１は、ＧＵＩにおけるユーザの操作位置を判定する機能要素である。ＧＵＩは、操作の開始または終了を示すイベントや、ノブの位置を示すパラメータなどの様々なデータを提供する。判定部１１はそのデータを取得することで、ＧＵＩにおけるノブの位置とその位置が指定された順序とを判定する。
【００３３】
判定部１１は、ユーザの一回または複数回の操作によるノブの動きからそのノブの位置を操作位置として判定する。ここで、一回の操作とは、ユーザがノブを操作対象として選択してからその選択を解除するまでの間に行われる操作である。例えば、ユーザがドラッグ操作によりノブを一方向に動かし続けたり何度も往復させ続けたりする操作は、一回の操作である。また、トラック上においてノブの現在位置とは別の位置にノブを移動させるために当該別の位置をクリックする操作も、一回の操作である。
【００３４】
ドラッグ操作などのように、一回の操作の間にノブが複数の位置を通る場合には、判定部１１はその一回の操作のみから複数の操作位置を判定してもよい。例えば、判定部１１は、その一回の操作が始まった時点のノブの位置、その操作中にノブの進行方向が変わった位置、およびその操作が終わった時点のノブの位置を操作位置として判定してもよい。あるいは判定部１１は、最後の一方向のスライドの始点および終点のみを操作範囲として判定してもよい。
【００３５】
図４の例を参照しながら、一回の操作からユーザの操作位置を判定する処理を具体的に説明する。図４は、スライド操作が始まる前に位置２０１にあるシークバー３０のノブ３２が位置２０２，２０３，２０４，２０５の順に連続してスライドされた例を示す。この場合には、判定部１１は操作位置２０１〜２０５がこの順序で指定されたと判定する。
【００３６】
クリックやタップなどのように一回の操作が一瞬で終わる場合には、判定部１１はその操作が行われた位置を操作位置として判定する。ユーザがクリックまたはタップを複数回行った場合には、判定部１１は複数の操作位置を判定する。
【００３７】
図５の例を参照しながら、複数回の操作からユーザの操作位置を判定する処理を具体的に説明する。図５は、１回目の操作で位置２１１が指定され、２回目の操作で位置２１２が指定され、３回目の操作で位置２１３が指定された例を示す。この場合にはシークバー３０のノブ３２は位置２１１から位置２１２へと瞬間的に移動し、その後位置２１２から位置２１３へと瞬間的に移動する。この例において判定部１１は位置２１１〜２１３がこの順序で指定されたと判定する。
【００３８】
このように操作位置の取得方法は様々であるが、いずれにしても、判定部１１は複数の操作位置を取得する。複数の操作位置が得られるということはユーザがＧＵＩ上での値の設定に迷っている可能性があるとの仮定に基づいて、判定部１１は複数の操作位置を判定する。
【００３９】
判定部１１は、判定した複数の操作位置を示すデータ（操作位置データ）を生成して、その操作位置データを範囲設定部１２に出力する。図４の例では、判定部１１は操作位置２０１〜２０５がこの順序で指定されたことを示す操作位置データを出力する。図５の例では、判定部１１は操作位置２１１〜２１３がこの順序で指定されたことを示す操作位置データを出力する。
【００４０】
一回の操作のみから操作位置データを生成する場合には、判定部１１はその操作が終了する前（例えばノブが所定の回数以上往復した時点、あるいは一回の操作が所定時間以上続いた場合）に操作位置データを出力してもよいし、一回の操作が終了した時点（ノブが操作対象でなくなった時点）で操作位置データを出力してもよい。判定部１１が操作の途中で操作位置データを出力した場合には、スライド操作の制御（後述する範囲設定部１２およびスライド制御部１３の処理）がその操作中に実行され得る。いずれにしても、操作位置データは少なくとも二つの操作位置を含む。
【００４１】
範囲設定部１２は、ＧＵＩにおける調整範囲を設定する機能要素である。調整範囲は、ＧＵＩ上における値の変化のペース（単位時間当たりの値の変化の速度）が、他の範囲における値の変化のペースよりも遅くなる領域である。調整範囲はＧＵＩのスライド可能範囲の一部である。ＧＵＩが起動した時点では、スライド可能範囲の全体において値の変化のペースは同じであり、本明細書ではこの時のペースを通常値ともいう。調整範囲が設定されると、ＧＵＩ上のスライド可能範囲はその調整範囲とそれ以外の範囲（非調整範囲）とに分けられる。調整範囲では値の変化のペースが通常値よりも低く設定され、非調整範囲では値の変化のペースは通常値に設定または維持される。
【００４２】
範囲設定部１２は判定部１１から入力された操作位置データに基づいて調整範囲を設定する。この設定については様々な手法が考えられる。
【００４３】
［第１の手法］
範囲設定部１２は複数の操作位置のうち最も外側にある少なくとも二つの操作位置を境界とする調整範囲を設定してもよい。この手法は、ユーザが複数の操作位置のすべてを含む操作範囲において所望の値を探しているとの推定に基づく。
【００４４】
図６を参照して、第１の手法をシークバー３０に適用する例を説明する。最も外側にある操作位置が、再生開始時点「２５：００」に相当する位置３０１と再生開始時点「４５：００」に相当する位置３０２とであるとする。この場合には、範囲設定部１２はこれらの位置３０１，３０２の間の範囲４０１を調整範囲として設定する。
【００４５】
［第２の手法］
操作位置データが、第１操作位置と、該第１操作位置の次に指定された第２操作位置とを示している場合には、範囲設定部１２は、第１操作位置とスライド可能範囲の端部とを境界としかつ第２操作位置を含む調整範囲を設定してもよい。この手法は、ユーザが第１操作位置を指定した後に第２操作位置を指定したならば、そのユーザは少なくとも第２操作位置を含む範囲で値を探している、との推定に基づく。
【００４６】
図７を参照して、第２の手法をシークバー３０に適用する一例を説明する。この例において第１操作位置は再生開始時点「４５：００」に相当する位置３０２であり、第２操作位置は再生開始時点「２５：００」に相当する位置３０１である。この場合には、範囲設定部１２はスライド可能範囲の端部３１ａから第１操作位置３０２に亘る範囲４０２を調整範囲として設定する。この調整範囲４０２は第２操作位置３０１を含む。なお、図７に示す順序「１番目」「２番目」は、二つの位置３０１，３０２の指定の先後関係を相対的に示す値であって、指定された順序の絶対値とは限らない。
【００４７】
図８を参照して、第２の手法をシークバー３０に適用する別の例を説明する。この例において第１操作位置は再生開始時点「２５：００」に相当する位置３０１であり、第２操作位置は再生開始時点「４５：００」に相当する位置３０２である。この場合には、範囲設定部１２は第１操作位置３０１からスライド可能範囲の端部３１ｂに亘る範囲４０３を調整範囲として設定する。この調整範囲４０３は第２操作位置３０２を含む。なお、図８に示す順序「１番目」「２番目」も図７と同様に相対的な値である。
【００４８】
［第３の手法］
第１操作位置、第２操作位置、第３操作位置の順にこれらの位置が指定され、かつ第３操作位置が第１操作位置と第２操作位置との間にある場合には、範囲設定部１２はその第１操作位置および第２操作位置を境界とする調整範囲を設定してもよい。この手法は、ユーザが第１操作位置と第２操作位置との間で別の位置を指定したならば、そのユーザは第１操作位置および第２操作位置の間で所望の値を探しているとの推定に基づく。
【００４９】
図９を参照して、第３の手法をシークバー３０に適用する例を説明する。この例において第１操作位置は再生開始時点「２５：００」に相当する位置３０１であり、第２操作位置は再生開始時点「４５：００」に相当する位置３０２であり、第３操作位置は再生開始時点「３０：００」に相当する位置３０３である。この場合には、範囲設定部１２は第１操作位置３０１から第２操作位置３０２に亘る範囲４０４を調整範囲として設定する。この調整範囲４０４は図６における範囲４０１と結果的に同じである。第１操作位置が位置３０２であり、第２操作位置が位置３０１であり、第３操作位置が位置３０３である場合にも、範囲設定部１２は範囲４０４を調整範囲として設定する。
【００５０】
このように調整範囲の設定方法は様々であるが、いずれにしても範囲設定部１２は設定した調整範囲を示すデータをスライド制御部１３に出力する。
【００５１】
スライド制御部１３は、調整範囲内でのスライド操作を制御する機能要素であり、設定部１３ａおよび解除部１３ｂを備える。調整範囲が設定された場合には、設定部１３ａがその調整範囲における値の変化のペースを非調整範囲における値の変化のペースより遅くするようにスライド操作を制御する。その後、調整範囲を解除してスライド操作の制御を元に戻す場合には、解除部１３ｂがスライド可能範囲の全体において値の変化のペースを通常値に設定する。
【００５２】
まず、設定部１３ａの機能を説明する。設定部１３ａは例えば下記の二つの手法のいずれかを用いてスライド操作を制御する。
【００５３】
［第１の手法］
設定部１３ａは、調整範囲内におけるノブの移動速度（スライドの速度）を下げることで該調整範囲内における値の変化のペースを通常より遅くしてもよい。この場合には、ユーザが調整範囲内でノブを非調整範囲での場合と同様に動かそうと思っても、調整範囲内ではノブの移動速度が遅く、したがって単位時間当たりのノブの移動距離が短い。そのため、ＧＵＩのスライド可能範囲での値の変化のペースは調整範囲において通常（非調整範囲）よりも遅くなる。
【００５４】
図１０を参照しながら、シークバー３０でスライドの速度を下げる処理を説明する。この例では調整範囲５０１は位置３０１から位置３０２に亘り、非調整範囲は端部３１ａから位置３０１までの範囲、および位置３０２から端部３１ｂまでの範囲である。ノブ３２が非調整範囲内にある場合には、設定部１３ａはそのノブ３２の速度を通常値Ｖａに維持する。この場合には単位時間当たりのノブ３２の移動距離が大きいので、ユーザから見ると、ノブをスライドさせることで再生開始時点が例えば「６０：００→６１：００→６２：００→６３：００→…」あるいは「６０：００→５９：００→５８：００→５７：００→…」のように大きく変わっていくように見える。一方、ノブ３２が調整範囲５０１内にある場合には、設定部１３ａはそのノブの速度をＶｂ（ただし、Ｖｂ＜Ｖａ）に設定する。この場合には単位時間当たりのノブの移動距離が通常より小さくなるので、ユーザから見ると、ノブをスライドさせることで再生開始時点が例えば「３５：００→３５：１０→３５：２０→３５：３０→…」あるいは「３５：００→３４：５０→３４：４０→３４：３０→…」のように小刻みに変わっていくように見える。言い方を変えると、ユーザからすれば調整範囲内ではノブの利きが悪くなったように見える。なお、ユーザから見た場合の再生開始時点の変化の幅は上記に限定されない。例えば、調整範囲において再生開始時点が１秒ずつ変わっていくように見えてもよい。
【００５５】
［第２の手法］
設定部１３ａは、ノブのスライド方向に沿って調整範囲を拡大表示することで該調整範囲内における値の変化のペースを通常より遅くしてもよい。この場合には、調整範囲と非調整範囲とでノブの移動速度は同じである。しかし、スライド方向に沿った調整範囲の長さが大きくなるので、ある特定の量だけ値を変化させるために必要なノブの移動距離は非調整範囲よりも調整範囲の方が長くなる。そのため、ノブの移動方向を示す軸に対応付けられた値の変化のペースは調整範囲において通常よりも遅くなる。
【００５６】
図１１を参照しながら、スライド方向に沿って調整範囲を拡大する処理を説明する。図１１の上段の例では調整範囲は再生開始時点が２５：００から４５：００までの範囲５０２であり、調整範囲５０２の両端部のいずれもがスライド可能範囲の端部３１ａ，３１ｂと異なる場合である。図１１の中段の例では調整範囲は再生開始時点が００：００から４５：００までの範囲５０３であり、したがって、調整範囲５０２とスライド可能範囲とでは始点は一致するが終点は異なる。図１１の下段の例では調整範囲は再生開始時点が２５：００から９０：００までの範囲５０４であり、したがって、調整範囲５０４とスライド可能範囲とでは始点は異なるが終点は一致する。図１１におけるいずれの例でも、拡大された調整範囲では、ある特定の量だけ値を変化させるために必要なノブの移動距離が長くなる。したがってユーザからすれば、調整範囲が設定される前はノブの移動に伴って再生開始時点が「３５：００→３６：００→３７：００→３８：００→…」あるいは「３５：００→３４：００→３３：００→３２：００→…」のように大きく変わっていくように見えていたのが、調整範囲の設定後には「３５：００→３５：１０→３５：２０→３５：３０→…」あるいは「３５：００→３４：５０→３４：４０→３４：３０→…」のように小刻みに変わっていくように見える。なお、ユーザから見た場合の再生開始時点の変化の幅は上記に限定されない。例えば、調整範囲において再生開始時点が１秒ずつ変わっていくように見えてもよい。
【００５７】
図１１の例では拡大された調整範囲を元のシークバー３０の中に描画したが、拡大された調整範囲の描画方法はこれに限定されない。例えば、設定部１３ａは拡大された調整範囲を元のシークバー３０の外に描画してもよい。図１２は、図１１の上段に示す調整範囲５０２がシークバー３０の外に描画される例を示す。この例では、調整範囲５０２を示す新たなシークバー３５の幅が元のシークバー３０の幅と同じに設定されている。
【００５８】
［第３の手法］
あるいは、設定部１３ａは、調整範囲内における値の変化のペースが非調整範囲における値の変化のペースよりも低くなるように、そのペースを直接変えてもよい。例えば、ユーザがシークバー上の早送りボタンまたは巻き戻しボタンを押すことに応じて、設定部１３ａは非調整範囲では再生開始時点をＴａ秒ずつ変化させ、調整範囲では再生開始時点をＴｂ秒ずつ変化させてもよい（ただし、Ｔｂ＜Ｔａ）。
【００５９】
次に、調整範囲における特別な制御を解除してスライド操作の制御を通常に戻す処理を説明する。設定部１３ａが調整範囲内における値の変化のペースを遅くする制御を始めると、解除部１３ｂはその制御を解除させるためのイベントが発生するのを待機し始める。イベントは、設定部１３ａが調整範囲におけるスライド操作を制御し始めた後に発生する信号である。解除部１３ｂはこのイベントを取得する。
【００６０】
例えば、解除部１３ｂは、ノブが調整範囲から非調整範囲に移ったというイベント（すなわち、ノブが調整範囲の外に出たというイベント）を取得してもよい。あるいは、解除部１３ｂは調整範囲の設定から所定の時間が経過したというイベントを取得してもよい。このイベントの例として、シークバー３０の調整範囲内における任意の再生開始時点から動画が所定の時間再生され続けたことを示すイベントが挙げられる。あるいは、解除部１３ｂは調整範囲の設定後にユーザによるノブの一回の操作（例えば一回のクリック操作またはドラッグ操作）が終了したというイベントを取得してもよい。このイベントの例として、カラーピッカーの調整範囲内において特定のＲＧＢ値が選択されたことを示すイベント、およびシークバー３０の調整範囲内において特定の再生開始時点が選択されたことを示すイベントが挙げられる。
【００６１】
このように解除部１３ｂが取得するイベントの種類は限定されない。いずれにしても、解除部１３ｂはイベントを取得すると、ＧＵＩのスライド可能範囲の全体において値の変化のペースを通常値に戻す。設定部１３ａが第１の手法によりスライド操作を調整した場合には、解除部１３ｂは調整範囲を解除してスライド可能範囲の全体においてノブの移動速度を通常値に変えることで、ＧＵＩを元の状態に戻す。設定部１３ａが第２の手法によりスライド操作を調整した場合には、解除部１３ｂは調整範囲を解除し当該範囲の拡大表示を終了することで、ＧＵＩを元の状態に戻す。設定部１３ａが第３の手法によりスライド操作を調整した場合には、解除部１３ｂは調整範囲を解除しスライド可能範囲の全体において値の変化のペースを通常値に戻すことで、ＧＵＩを元の状態に戻す。
【００６２】
次に、図１３を用いて、情報処理装置の動作を説明するとともに本実施形態に係る情報処理方法（スライド操作を制御する方法）について説明する。
【００６３】
まず、判定部１１がＧＵＩにおけるユーザの操作位置を判定する（ステップＳ１１、判定ステップ）。判定部１１はノブの操作に関するイベントまたはパラメータなどのデータをＧＵＩから取得し、そのデータを用いて操作位置を判定する。上述したように、判定部１１は一回の操作のみから、または複数回の操作から操作位置を判定することができる。続いて、判定部１１は１以上の操作位置およびその順序を示す操作位置データを生成する（ステップＳ１２）。
【００６４】
続いて、範囲設定部１２が操作位置データに基づいて調整範囲を設定する（ステップＳ１３、設定ステップ）。範囲設定部１２は例えば上記第１〜第３の手法のいずれかを用いて調整範囲を設定する。
【００６５】
続いて、スライド制御部１３において、設定部１３ａが調整範囲における値の変化のペースを遅くするようにスライド操作を制御する（ステップＳ１４、スライド制御ステップ）。その後、設定部１３ａはその調整範囲を解除するためのイベントが発生するまでその制御を継続する（ステップＳ１５；ＮＯ）。調整範囲を解除するためのイベントが発生した場合には（ステップＳ１５；ＹＥＳ）、解除部１３ｂがそのイベントに応じて調整範囲を解除し、スライド可能範囲の全体において値の変化のペースを通常値に設定する（ステップＳ１６）。この処理によりＧＵＩのスライド制御が初期状態に戻る。
【００６６】
次に、図１４を用いて、情報処理装置１０を実現するための情報処理プログラムＰ１を説明する。情報処理プログラムＰ１は、メインモジュールＰ１０、判定モジュールＰ１１、範囲設定モジュールＰ１２、およびスライド制御モジュールＰ１３を備える。スライド制御モジュールＰ１３は設定モジュールＰ１３ａおよび解除モジュールＰ１３ｂを備える。
【００６７】
メインモジュールＰ１０は、ＧＵＩの処理を統括的に制御する部分である。判定モジュールＰ１１、範囲設定モジュールＰ１２、およびスライド制御モジュールＰ１３を実行することにより実現される機能はそれぞれ、上記の判定部１１、範囲設定部１２、およびスライド制御部１３の機能と同様である。設定モジュールＰ１３ａおよび解除モジュールＰ１３ｂを実行することにより実現される機能はそれぞれ、設定部１３ａおよび解除部１３ｂの機能と同様である。
【００６８】
情報処理プログラムＰ１は、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、半導体メモリ等の有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、情報処理プログラムＰ１は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
【００６９】
以上説明したように、本実施形態によれば、ＧＵＩ上の操作位置に基づいて設定された調整範囲において値の変化のペースが非調整範囲における値の変化のペースよりも遅く設定される。すなわち、調整範囲でノブをスライドさせた時の単位時間当たりの値の変化量が、非調整範囲でノブをスライドさせた時の単位時間当たりの値の変化量よりも小さく設定される。ユーザの操作を受け付けたノブの動作をこのように制御することで、調整範囲において値が通常よりもゆっくりと変化する。このようなＧＵＩの制御により、ユーザはその調整範囲において所望の値を容易に探すことができる。
【００７０】
本実施形態では、複数の操作位置が判定され、少なくとも第１操作位置と該第１操作位置の次に指定された第２操作位置とに基づいて調整範囲が設定される。このように、複数の操作位置を得ることで、ユーザが所望の値を探していると推定される操作範囲を判定し、その操作範囲に対応する調整範囲を設定することができる。その結果、値の変化のペースを遅くする領域をユーザの意図に沿って設定できる。
【００７１】
例えば、第１操作位置とスライド可能範囲の端部とを境界としかつ第２操作位置を含む調整範囲を設定することで、広い範囲で値の変化のペースを遅くすることができる。また、第１操作位置と第２操作位置とを境界とする調整範囲を設定することで、ユーザ操作の範囲内で変化のペースを遅くすることができる。
【００７２】
あるいは、第１操作位置および第２操作位置に加えて第３操作位置を更に用いて調整範囲を設定してもよい。第１操作位置と該第２操作位置との間で第３操作位置が指定された場合には、ユーザが該第１操作位置と該第２操作位置との間で所望の値を探している確率が高いといえる。したがって、この仮定の下で、第３操作位置も考慮することで、値の変化のペースを遅くする領域をユーザの意図に沿って設定できる。
【００７３】
あるいは、複数の操作位置のうち最も外側にある少なくとも二つの操作位置を境界とする調整範囲を設定してもよい。この場合には、ユーザが所望の値を探していると推定される範囲を確実に捕捉して、その範囲での値の変化のペースを遅くすることができる。
【００７４】
本実施形態では、調整範囲におけるノブの移動速度を非調整範囲における該ノブの移動速度よりも遅くすることで、ユーザが所望の値を探す際のノブの操作性が向上する。あるいは、調整範囲をノブのスライド方向に沿って拡大表示する場合でも、ノブの移動速度を制御する場合と同様にノブの操作性が向上する。
【００７５】
本実施形態では、所定のイベントに応じて調整範囲における値の変化のペースを非調整範囲における値の変化のペースと同じにすることで、ＧＵＩのスライド操作の制御を初期状態に戻すことができる。
【００７６】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
【００７７】
値とこれに対応するノブの位置とが時間の経過に応じて自動で進み得るＧＵＩでは、情報処理装置１０はその時間経過も考慮して調整範囲を設定してもよい。このようなＧＵＩの例として、動画の再生中にノブ３２が再生時間の経過に伴って自動で進むシークバー３０が挙げられる。以下にこの変形について説明する。
【００７８】
図１５は、まず位置２２１が指定され、続いてその位置２２１より前の位置２２２が指定され、続いてノブ３２がその位置２２２から位置２２３まで自動で前進し、最後にその位置２２３と位置２２１との間にある位置２２４が指定された例を示す。したがって、ノブ３２は位置２２１から位置２２２へは瞬間的に移動し、位置２２２から位置２２３へは時間経過（動画の再生）に応じて移動し、位置２２３から位置２２４へは瞬間的に移動する。この例において、位置２２１，２２２，２２４はそれぞれ第１操作位置、第２操作位置および第３操作位置に相当する。
【００７９】
このように、第１操作位置および第２操作位置の間でノブが自動で移動し、かつ移動後のノブの位置と第１操作位置との間で新たな位置（第３操作位置）が指定された場合には、範囲設定部１２はノブの移動後の位置と第１操作位置との間を調整範囲として設定してもよい。図１５の例では、範囲設定部１２はノブ３２の自動移動後の位置２２３から第１操作位置２２１に亘る範囲４０５を調整範囲として設定する。すなわち、位置２２３，２２１は調整範囲４０５の境界である。この処理は、時間「２５：００から２５：１５」に亘る範囲がユーザの所望する範囲ではなかったと情報処理装置１０が推定することを意味する。このように、第１操作位置と第２操作位置との間の範囲から、ノブが自動で移動した範囲を除外することで、ユーザが所望の値を探していると思われる領域を絞り込むことができる。調整範囲が設定された後にスライド制御部１３が実行する処理は上記実施形態と同様である。
【００８０】
上述したように、スライド可能範囲が２次元状に広がるＧＵＩ（例えばカラーピッカー）にも本発明を適用することができる。図１６〜図１８を参照しながら、ＸＹ平面上でノブ４１を動かすことが可能なカラーピッカー４０におけるスライド操作の制御を説明する。
【００８１】
図１６に示すようにユーザがノブ４１を位置６０１、６０２，６０３，６０４の順に移したとすると、まず判定部１１がこれらの４点の位置が操作位置であると判定して、それらの位置を示す操作位置データを生成する。
【００８２】
続いて、範囲設定部１２がその操作位置データに基づいて調整範囲を設定する。例えば、範囲設定部１２は、複数の操作位置６０１〜６０４のＸ座標の最大値および最小値と該操作位置６０１〜６０４のＹ座標の最大値および最小値との組合せを用いて規定される矩形７０１を調整範囲として設定してもよい。あるいは、範囲設定部１２は、最後に指定された操作位置６０４（第２操作位置に相当する）および最後から２番目に指定された操作位置６０３（第１操作位置に相当する）を頂点とする矩形７０２を調整範囲として設定してもよい。なお、図では、矩形７０１の４頂点を便宜的に（Ｒ１，Ｇ１，Ｂ１），（Ｒ２，Ｇ２，Ｂ２），（Ｒ３，Ｇ３，Ｂ３），（Ｒ４，Ｇ４，Ｂ４）と示し、矩形７０２の４頂点を便宜的に（Ｒ５，Ｇ５，Ｂ５），（Ｒ６，Ｇ６，Ｂ６），（Ｒ７，Ｇ７，Ｂ７），（Ｒ８，Ｇ８，Ｂ８）と示す。
【００８３】
調整範囲が設定されると、スライド制御部１３の設定部１３ａが調整範囲内でのスライド操作を制御する。図１７に示すように、設定部１３ａは調整範囲７０１でのノブ４１の移動速度Ｖｄを、非調整範囲（カラーピッカー４０における調整範囲７０１以外の領域）における移動速度Ｖｃよりも小さくしてもよい。あるいは図１８に示すように、設定部１３ａは調整範囲７０１を拡大した範囲７０１Ａをカラーピッカー４０内で表示してもよい。もちろん、設定部１３ａはこの拡大された調整範囲７０１Ａを、カラーピッカー４０の元ウィンドウとは別のウィンドウとして表示してもよい。
【００８４】
解除部１３ｂの動作は上記実施形態と同様である。すなわち、解除部１３ｂはノブが調整範囲から非調整範囲に移ったというイベントを取得してもよい。あるいは、解除部１３ｂは調整範囲の設定後にユーザによるノブの一回の操作（例えば一回のクリック操作またはドラッグ操作）が終了したというイベントを取得してもよい。あるいは、解除部１３ｂは調整範囲の設定から所定の時間が経過したというイベントを取得してもよい。
【００８５】
情報処理装置が判定部、範囲設定部、およびスライド制御部の一部のみを備え、他の一以上のコンピュータが他の機能要素を備えてもよい。この場合には、情報処理装置と当該他のコンピュータとがネットワークを介して必要なデータを通信し合うことで、上記実施形態と同様の処理が実行される。例えば、情報処理装置が範囲設定部およびスライド制御部のみを備え、他のコンピュータが判定部を備えてもよい。
【符号の説明】
【００８６】
１０…情報処理装置、１１…判定部、１２…範囲設定部、１３…スライド制御部、１３ａ…設定部、１３ｂ…解除部、Ｐ１…情報処理プログラム、Ｐ１０…メインモジュール、Ｐ１１…判定モジュール、Ｐ１２…範囲設定モジュール、Ｐ１３…スライド制御モジュール、Ｐ１３ａ…設定モジュール、Ｐ１３ｂ…解除モジュール。
【要約】
一実施形態に係る情報処理装置は設定部および制御部を備える。設定部は、ユーザ操作により指定された値に基づく情報を出力するグラフィカルユーザインタフェースにおけるユーザの操作位置に基づいて、該グラフィカルユーザインタフェースにおけるスライド可能範囲の一部である調整範囲を設定する。制御部は、調整範囲における値の変化のペースを該調整範囲以外の非調整範囲における値の変化のペースより遅くするようにグラフィカルユーザインタフェースを制御する。【図１】
0005806416.tif 000002
【図２】
0005806416.tif 000003
【図３】
0005806416.tif 000004
【図４】
0005806416.tif 000005
【図５】
0005806416.tif 000006
【図６】
0005806416.tif 000007
【図７】
0005806416.tif 000008
【図８】
0005806416.tif 000009
【図９】
0005806416.tif 000010
【図１０】
0005806416.tif 000011
【図１１】
0005806416.tif 000012
【図１２】
0005806416.tif 000013
【図１３】
0005806416.tif 000014
【図１４】
0005806416.tif 000015
【図１５】
0005806416.tif 000016
【図１６】
0005806416.tif 000017
【図１７】
0005806416.tif 000018
【図１８】
0005806416.tif 000019