(57)【要約】ＧＵＩ制御方法は、画面上に表示された操作子をポインティングデバイス（３００）の動きに応じて移動するポインタ（３１０）により操作可能とするＧＵＩにおける操作子（４１０）及びポインタを制御する方法であって、ポインタを、操作子の動作に対応して定められる所定軌跡（Ｃ）からのずれが制限されるように、制御するポインタ制御工程を備える。
2008117375.tif 000002
【特許請求の範囲】
【請求項１】
画面上に表示された操作子をポインティングデバイスの動きに応じて移動するポインタにより操作可能とするＧＵＩにおける前記操作子及び前記ポインタを制御するＧＵＩ制御方法であって、
前記ポインタを、前記操作子の動作に対応して定められる所定軌跡からのずれが制限されるように、制御するポインタ制御工程を備える
ことを特徴とするＧＵＩ制御方法。
【請求項２】
前記ポインタ制御工程は、前記所定軌跡を、前記ポインタによる前記操作子の操作が開始される操作開始時に、前記ポインタと前記操作子との相対的な位置関係に基づいて定めることを特徴とする請求の範囲第１項に記載のＧＵＩ制御方法。
【請求項３】
前記操作子は、前記動作として回転動作が可能な回転操作子であって、
前記所定軌跡は、前記回転動作の中心を囲む軌跡である
ことを特徴とする請求の範囲第１項に記載のＧＵＩ制御方法。
【請求項４】
前記回転操作子は、円形状に表示されており、
前記所定軌跡は、前記円の外周として定められる
ことを特徴とする請求の範囲第３項に記載のＧＵＩ制御方法。
【請求項５】
前記回転操作子が基準速度以上の速度で回転動作している場合には、前記回転操作子を、前記ポインティングデバイスの動きに応じて前記回転動作を継続するように、制御する回転動作継続工程を更に備えることを特徴とする請求の範囲第３項に記載のＧＵＩ制御方法。
【請求項６】
前記ポインタが前記操作子上に位置するか否かを判定するポインタ位置判定工程を更に備え、
前記ポインタ制御工程は、前記ポインタ位置判定工程によって前記ポインタが前記操作子上に位置すると判定された場合には、前記ポインタを制御する
ことを特徴とする請求の範囲第１項に記載のＧＵＩ制御方法。
【請求項７】
前記ポインタ制御工程は、前記ポインタを前記所定軌跡に固定するように制御することを特徴とする請求の範囲第１項に記載のＧＵＩ制御方法。
【請求項８】
前記ポインティングデバイスは、マウスであり、
前記マウスのドラッグ操作を検出するドラッグ操作検出工程を更に備え、
前記ポインタ制御工程は、前記ドラッグ操作検出工程によって前記ドラッグ操作が検出されている期間中、前記ポインタを制御する
ことを特徴とする請求の範囲第１項に記載のＧＵＩ制御方法。
【請求項９】
前記ポインタ制御工程は、前記ポインタが移動する移動速度を調節する速度調節工程を含むことを特徴とする請求の範囲第１項に記載のＧＵＩ制御方法。
【請求項１０】
画面上に表示された操作子をポインティングデバイスの動きに応じて移動するポインタにより操作可能とするＧＵＩにおける前記操作子及び前記ポインタを制御するＧＵＩ制御装置であって、
前記ポインタを、前記操作子の動作に対応して予め定められた所定軌跡からのずれが小さくなるように、制御するポインタ制御手段を備える
ことを特徴とするＧＵＩ制御装置。
【請求項１１】
画面上に表示された操作子をポインティングデバイスの動きに応じて移動するポインタにより操作可能とするＧＵＩにおける前記操作子及び前記ポインタを制御するＧＵＩ制御装置として、コンピュータを機能させるコンピュータプログラムであって、
前記コンピュータを、前記ポインタを、前記操作子の動作に対応して予め定められた所定軌跡からのずれが小さくなるように、制御するポインタ制御手段として機能させる
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面上に表示された操作子をポインティングデバイスの動きに応じて移動するポインタにより操作可能とするＧＵＩ（Graphical User Interface）における操作子及びポインタを制御するＧＵＩ制御方法及び装置、並びにコンピュータをそのようなＧＵＩ制御方法を実現するための装置として機能させるコンピュータプログラムの技術分野に関する。
【背景技術】
【０００２】
近年、ＧＵＩを有するソフトウェアが多い。ＧＵＩにおいて、例えばマウス等のポインティングデバイスを用いて画面上のオブジェクトを操作する場合には、通常、ユーザは、オブジェクトを動かしたい方向に沿って、画面上のポインタを移動させることで、オブジェクトを操作する。例えば、音量を調節するための回転式のロータリーボリュームコントロール等の回転操作子を模擬したオブジェクト（以下、単に「回転操作子」とも呼ぶ）を操作する場合、ユーザは、ポインタを回転方向に沿って移動させることで、回転操作子を操作する。このようなポインティングデバイスによって回転操作子を操作する場合、ユーザがポインティングデバイスを回転方向に沿って高精度に動かすことは実際上困難であるため、ポインタが回転操作子上から外れてしまったり、ポインタが移動すべき軌跡からずれてしまったりするという問題点がある。この結果、ユーザが回転操作子を操作する操作性が低下してしまう。【０００３】
そこで、例えば、ユーザの操作性を高めるために、マウスの直線的な動き（例えば上下方向の動き）に応じて、画面上の回転操作子を回転させる方法が用いられることがある。この方法によれば、例えば、ユーザが、回転操作子上でマウスの左ボタンを押した状態にしてマウスを前後に動かすと、マウスポインタは、マウスの動きに応じて上下に移動し、回転操作子は、マウスポインタの移動とは別個独立に、マウスの動きに応じて回転する。【０００４】
一方、クラブやディスコ等の舞踏場において、音楽データないしは映像データに対して様々な特殊効果（イフェクト）を付加しつつ連続的に再生する際に用いられるＤＪ（Disc Jockey）機器を、コンピュータの表示画面に再現して機能させるソフトウェア（以下、「ＤＪソフトウェア」と呼ぶ）がある。このようなＤＪソフトウェアでは、例えばターンテーブルを模擬したジョグコントロール、ロータリーボリュームコントロール等の各種の回転操作子が画面上に表示されており、これら回転操作子をマウスによって操作可能とするものもある（例えば非特許文献１参照）。【０００５】
【非特許文献１】ＤＴＭマガジンＷｅｂページ、ニュース２００２年２月２６日、株式会社寺島情報企画、ＵＲＬ：http://www.dtmm.co.jp/dtmmnews/200212/news200212261.shtml
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したようなマウスの直線的な動きに応じて回転操作子を回転させる方法を用いた場合、例えば、ユーザが回転操作子を回転させる回転数が多くなると、マウスを例えば上方向など一定方向に移動させる移動距離が長くなってしまい、マウスを持上げて一旦回転動作を停止させて、マウスを元の位置に戻す動作が必要になり、実使用上、操作性が低いという技術的問題点がある。また、上述したＤＪソフトウェアでは、そのＤＪという特質上、これら回転操作子は、迅速に操作可能であることが望まれる。このため、上述したように回転操作子をマウスによって操作可能にする試みがなされているものの、その操作性が低いために、実際のターンテーブルをコントロールデバイスとして使用せざるを得ない場合もある。【０００７】
本発明は、例えば上述した問題点に鑑みなされたものであり、画面上に表示された操作子をポインティングデバイスの動きに応じて移動するポインタにより操作可能とするＧＵＩにおいて、画面上に表示された操作子を、ポインティングデバイスを用いて容易に操作可能とするＧＵＩ制御方法及び装置並びにコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
（ＧＵＩ制御方法）
本発明のＧＵＩ制御方法は上記課題を解決するために、画面上に表示された操作子をポインティングデバイスの動きに応じて移動するポインタにより操作可能とするＧＵＩにおける前記操作子及び前記ポインタを制御するＧＵＩ制御方法であって、前記ポインタを、前記操作子の動作に対応して定められる所定軌跡からのずれが制限されるように、制御するポインタ制御工程を備える。【０００９】
本発明のＧＵＩ制御方法によれば、例えばマウス、タッチパネル等であるポインティンデバイスを用いて、画面上に表示された、例えばジョグコントローラ（或いはジョグダイヤル）、ボリュームコントロールなどの操作子の操作を可能とするＧＵＩにおいて、操作子及びポインタを制御する。【００１０】
本発明では特に、ポインタは、ポインタ制御工程によって、操作子の動作に対応して定められる所定軌跡からのずれが制限されるように、制御される。【００１１】
「操作子の動作」とは、例えば直線動作、回転動作など、操作子が行い得る動きを意味する。より具体的には、例えば、回転可能に構成された操作子としてのジョグコントローラの動作は、回転動作であり、直線的に移動可能に構成された操作子としてのスライドフェーダの動作は、直線動作である。【００１２】
所定軌跡は、操作子の動作に応じて予め或いは操作開始時に定められ、当該所定軌跡上をポインタが移動することで操作子の動作が可能となる。言い換えれば、所定軌跡は、操作子を操作するためにポインタが移動すべき軌跡として予め或いは操作開始時に定められる。例えば、操作子がジョグコントローラである場合には、所定軌跡は、ジョグコントローラの回転動作に対応して、その回転動作の中心に一致した中心を有する円を描く軌跡として予め或いは操作開始時に定められる。或いは、例えば、操作子が直線動作を行うテンポスライダの場合には、所定軌跡は、テンポスライダの直線動作に対応して、その直線に沿った直線を描く軌跡として予め或いは操作開始時に定められる。尚、所定軌跡は、互いに異なる複数の所定軌跡として予め或いは操作開始時に定められ、該複数の所定軌跡が、時間の経過により或いはユーザからの要求により切り換えられるようにしてもよい。【００１３】
ポインタは、制御工程によって、所定軌跡からのずれが制限されるように制御される。例えば、操作子が例えばジョグコントローラ等の円形状を有する回転操作子である場合において、ポインタは、所定軌跡としての回転操作子の外周からのずれが小さくなるように制御される、或いは、所定軌跡としての回転操作子の外周よりも内側の範囲内でしか移動できないように制御される。典型的には、制御工程によって、ポインタは、外周上に拘束或いは固定される。よって、ポインタが所定軌跡からずれてしまいやすく、ポインタによって操作子を操作することが困難となる事態を回避できる。従って、ユーザは、画面上に表示された操作子を、ポインティングデバイスを用いて、意図したとおりに容易に操作することが可能になる。つまり、操作子のポインティングデバイスによる操作性を高めることができる。【００１４】
本発明のＧＵＩ制御方法の一の態様では、前記ポインタ制御工程は、前記所定軌跡を、前記ポインタによる前記操作子の操作が開始される操作開始時に、前記ポインタと前記操作子との相対的な位置関係に基づいて定める。【００１５】
この態様によれば、例えば、ポインティングデバイスがマウスである場合には、操作開始時としてのマウスダウンされた時（即ち、マウスのボタンが押下された時）に、所定軌跡がポインタ制御工程によって定められる。更に、例えば、操作子が回転動作可能な回転操作子である場合には、所定軌跡は、マウスダウンされた時のポインタの位置と回転動作の中心との距離を半径とし、該中心に一致する点を中心を有する円周として定められる。つまり、例えば、回転動作の中心の比較的近くでマウスダウンされたときには、所定軌跡は半径の比較的小さな円周として定められ、回転動作の中心の比較的遠くでマウスダウンされたときには、所定軌跡は半径の比較的大きな円周として定められる。よって、ユーザは、意図したとおりに、所定軌跡を定める或いは変更することができる。従って、操作子のポインティングデバイスによる操作性をより一層高めることができる。【００１６】
本発明のＧＵＩ制御方法の他の態様では、前記操作子は、前記動作として回転動作が可能な回転操作子であって、前記所定軌跡は、前記回転動作の中心を囲む軌跡である。【００１７】
この態様によれば、ユーザにとって比較的困難な回転操作子の操作を容易にすることができる。所定軌跡は、例えば円形或いは多角形を描く軌跡など、回転動作の中心を囲む軌跡として予め定められる。【００１８】
上述した操作子が回転操作子である一の態様では、前記回転操作子は、円形状に表示されており、前記所定軌跡は、前記円の外周として定められてもよい。【００１９】
この場合には、ユーザにとって比較的困難な回転操作子の操作を、より一層、容易にすることができる。更に、ポインタを、回転動作の中心から比較的離れた外周に概ね沿って移動させることができ、例えばポインタにより回転操作子を一定の角度だけ回転動作させる場合において、仮に所定軌跡が内周側に定められた場合と比較して、例えばマウスムーブイベント等の移動検出イベントの通知回数を多くすることができる。よって、回転操作子の回転動作の分解能を高めることが可能となる。【００２０】
上述した操作子が回転操作子である他の態様では、前記回転操作子が基準速度以上の速度で回転動作している場合には、前記回転操作子を、前記ポインティングデバイスの動きに応じて前記回転動作を継続するように、制御する回転動作継続工程を更に備えてもよい。【００２１】
この場合には、例えば、ポインティングデバイスの動きが上下方向或いは左右方向などに直線的な動きであっても、回転操作子の回転動作が継続される。よって、ユーザは、ポインティングデバイスを直線的に動かすことによって回転を維持することが可能となる。従って、回転操作子のポインティングデバイスによる操作性をより一層高めることができる。【００２２】
本発明のＧＵＩ制御方法の他の態様では、前記ポインタが前記操作子上に位置するか否かを判定するポインタ位置判定工程を更に備え、前記ポインタ制御工程は、前記ポインタ位置判定工程によって前記ポインタが前記操作子上に位置すると判定された場合には、前記ポインタを制御する。【００２３】
この態様によれば、例えば、ユーザは、例えばクリック等、ポインティングデバイスの移動以外の動作を殆ど行うことなく、操作子を操作しない非操作モードから操作する操作モードに切り換えることができる。【００２４】
尚、操作モードから操作モードへの切り換えは、例えば、ポインティングデバイスの移動以外の動作が行われたことを判定することによりなされてもよいし、例えば、ポインティングデバイスの所定の移動動作が行われたことを判定することによりなされてもよい。【００２５】
本発明のＧＵＩ制御方法の他の態様では、前記ポインタ制御工程は、前記ポインタを前記所定軌跡に固定するように制御する。【００２６】
この態様によれば、ポインタの描く軌跡は所定軌跡に一致するので、ユーザは、操作子をより一層容易に操作することができる。【００２７】
本発明のＧＵＩ制御方法の他の態様では、前記ポインティングデバイスは、マウスであり、前記マウスのドラッグ操作を検出するドラッグ操作検出工程を更に備え、前記ポインタ制御工程は、前記ドラッグ操作検出工程によって前記ドラッグ操作が検出されている期間中、前記ポインタを制御する。【００２８】
この態様によれば、ユーザは、マウスのドラッグ操作によって、ポインタ制御工程による制御を行うか否かを切り換えることができるので、例えばポインタ制御工程による制御によってポインタが不必要に所定軌跡に近づいてしまい、操作子のポインティングデバイスによる操作性が低下してしまうことを抑制或いは防止できる。【００２９】
本発明のＧＵＩ制御方法の他の態様では、前記ポインタ制御工程は、前記ポインタが移動する移動速度を調節する速度調節工程を含む。【００３０】
この態様によれば、速度調節工程によって、例えば、ポインタが操作子の操作開始位置から所定軌跡に移動する際の移動速度が調節される。即ち、速度調節工程によって、例えば、ポインタが移動する移動速度は、所定の値を超えないように、調節される。よって、ユーザにポインタの移動を自然な動きとして感じさせることができる。【００３１】
（ＧＵＩ制御装置）
本発明のＧＵＩ制御装置は上記課題を解決するために、画面上に表示された操作子をポインティングデバイスの動きに応じて移動するポインタにより操作可能とするＧＵＩにおける前記操作子及び前記ポインタを制御するＧＵＩ制御装置であって、前記ポインタを、前記操作子の動作に対応して予め定められた所定軌跡からのずれが小さくなるように、制御するポインタ制御手段を備える。【００３２】
本発明のＧＵＩ制御装置によれば、上述した本発明のＧＵＩ制御方法が享受する利益と同様の利益を享受することができる。【００３３】
尚、本発明のＧＵＩ制御装置においても、上述した本発明のＧＵＩ制御方法における各種態様と同様の各種態様を採ることが可能である。【００３４】
（コンピュータプログラム）
本発明のコンピュータプログラムは上記課題を解決するために、画面上に表示された操作子をポインティングデバイスの動きに応じて移動するポインタにより操作可能とするＧＵＩにおける前記操作子及び前記ポインタを制御するＧＵＩ制御装置として、コンピュータを機能させるコンピュータプログラムであって、前記コンピュータを、前記ポインタを、前記操作子の動作に対応して予め定められた所定軌跡からのずれが小さくなるように、制御するポインタ制御手段として機能させる。【００３５】
本発明のコンピュータプログラムによれば、上述した本発明のＧＵＩ制御方法及び装置が享受する利益と同様の利益を享受することができる。【００３６】
本発明のコンピュータプログラムによれば、当該コンピュータプログラムを格納するＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク等の記録媒体から、当該コンピュータプログラムをコンピュータに読み込んで実行させれば、或いは、当該コンピュータプログラムを、通信手段を介してコンピュータにダウンロードさせた後に実行させれば、上述した本発明のＧＵＩ方法を比較的簡単に実現できる。【００３７】
尚、本発明のコンピュータプログラムにおいても、上述した本発明のＧＵＩ制御方法及び装置における各種態様と同様の各種態様を採ることが可能である。【００３８】
本発明のこのような作用及び他の利得は次に説明する実施例から更に明らかにされる。【００３９】
以上説明したように、本発明のＧＵＩ制御方法は、制御工程を含む。本発明のＧＵＩ制御方法は、制御手段を備える。従って、ユーザは、画面上に表示された操作子を、意図したとおりに容易に操作することが可能になる。
【図面の簡単な説明】
【００４０】
【図１】本実施例に係る情報処理装置の構成を概念的に示すブロック図である。
【図２】本実施例に係る情報処理装置のマウスダウンイベント処理の流れを概念的に示すフローチャートである。
【図３】本実施例に係る情報処理装置のマウスドラッグイベント処理の流れを概念的に示すフローチャートである。
【図４】本実施例に係る情報処理装置のマウスアップイベント処理の流れを概念的に示すフローチャートである。
【図５】図２及び図３に示した各処理でのジョグコントロールとポインタとの位置関係を示す図（その１）である。
【図６】図２及び図３に示した各処理でのジョグコントロールとポインタとの位置関係を示す図（その２）である。
【図７】図２及び図３に示した各処理でのジョグコントロールとポインタとの位置関係を示す図（その３）である。
【図８】図２及び図３に示した各処理でのジョグコントロールとポインタとの位置関係を示す図（その４）である。
【図９】図２及び図３に示した各処理でのジョグコントロールとポインタとの位置関係を示す図（その５）である。
【図１０】図２及び図３に示した各処理でのジョグコントロールとポインタとの位置関係を示す図（その６）である。
【符号の説明】
【００４１】
１  情報処理装置
１００  コンピュータ本体
１１０  ポインタ制御部
１１１  速度調節部
１２０  ポインタ位置判定部
１３０  ドラッグ操作検出部
１４０  回転動作継続部
２００  ディスプレイ
３００  マウス
３１０  ポインタ
４１０  ジョグコントロール
【発明を実施するための最良の形態】
【００４２】
以下、本発明を実施するための最良の形態について実施例毎に順に図面に基づいて説明する。【００４３】
尚、以下の実施例は、ポインティングデバイスを用いて画面上の操作子を操作可能なＧＵＩを有するＤＪソフトウェアが組み込まれた情報処理装置に対して、本発明のＧＵＩ制御装置を適用した場合の実施例である。【００４４】
（基本構成）
先ず、本実施例に係るＧＵＩ制御装置が適用された情報処理装置の構成について、図１を参照して説明する。ここに図１は、本実施例に係る情報処理装置の構成を概念的に示すブロック図である。【００４５】
図１において、本実施例に係る情報処理装置１は、コンピュータ本体１００と、ディスプレイ２００と、本発明に係る「ポインティングデバイス」一例としてのマウス３００とを備えている。【００４６】
コンピュータ本体１００は、中央処理装置（ＣＰＵ：Central Processing Unit）、メモリ、ハードディスク装置等を含んでなる。【００４７】
ディスプレイ２００は、例えば液晶表示装置からなり、コンピュータ本体１００からの出力情報が表示される。【００４８】
マウス３００は、周知のマウス装置であり、ディスプレイ２００の画面２１０上に表示されたポインタ３１０の移動を制御することができる。ポインタ３１０の移動は、基本的には、所定時間毎にマウス３００から通知される、マウス３００の移動量に基づいて制御される。マウス３００は、左右２つのボタンを備えており、いずれかのボタンがユーザにより押下された場合には、マウス３００からコンピュータ本体１００へ該押下された旨が通知され、また、押下されたボタンが開放された場合には、マウス３００からコンピュータ本体１００へ該開放された旨が通知される。尚、マウス３００に代えて、トラックボール、ジョイスティック、タッチパネル等の他のポインティングデバイスを用いてもよい。【００４９】
コンピュータ本体１００には、ＧＵＩを有するＤＪソフトウェアが組み込まれており、ディプレイ２００の画面２１０上には、ジョグコントロール４１０、操作ボタン４２０、テンポスライダ４３０及び表示部５０が表示されている。ジョグコントロール４１０、操作ボタン４２０及びテンポスライダ４３０はそれぞれ、マウス３００の動きに応じたポインタ３１０の移動により操作可能となっている。【００５０】
ジョグコントロール４１０は、本発明に係る「操作子」の一例であり、固定点４１１を中心として両方向（即ち、時計回りの回転方向と反時計回りの回転方向）に回転自在な円盤形状の操作キーである。ユーザは、ジョグコントロール４１０上にポインタ３１０がある状態でマウス３００のボタンを押下して、該押下した状態でマウス３００を、ポインタ３１０の軌跡が固定点４１１を囲むように（例えば、固定点４１１を中心とした円を描くように）動かすことにより（つまり、ドラッグ操作することにより）、ジョグコントロール４１０を回転動作させることができる。ユーザがジョグコントロール４１０の回転方向と回転速度を適宜に変化させて操作すると、その回転方向に応じて、コンピュータ本体１００のハードディスク装置や外部のプレーヤーにローディングされたＣＤ或いはＤＶＤ等の光ディスクに記録されたコンテンツデータのフォワード再生とリバース再生を設定することができ、更に、その回転速度に応じて、コンピュータ本体１００に接続された図示しないスピーカやヘッドフォンで再生される楽曲等の音調等を変化させることができるようになっている。ジョグコントロール４１０上には、ジョグコントロール４１０が回転動作していることを視認可能にするためのマーク４１２が表示されている。【００５１】
尚、上記のフォワード再生とは、ＬＰ等のアナログレコードを順方向に回転させて楽曲等を再生させた場合と同様に、コンテンツデータを、記録されている順に再生することをいう。従って、ジョグコントロール４１０が時計回り方向に回転操作されるのに応じて、楽曲等を通常の音として再生するようになっている。一方、上記のリバース再生とは、アナログレコードを逆方向に回転させて音楽等を再生させた場合と同様に、コンテンツデータを、記録されている順とは逆の順番で再生することをいう。つまり、アナログレコードでは音楽等が連続記録（アナログ記録）されているため、アナログレコードを逆方向に回転させると、楽曲等を逆の方向から再生することになって、本来の音楽等とは違った擬音が再生されることになるが、ジョグコントロール４１０が反時計回り方向に回転操作されると、デジタル記録されている個々のコンテンツデータを逆の順番で再生することにより、あたかもアナログレコードを逆方向に回転させて再生させた場合と同様の擬音を生じさせるようになっている。【００５２】
このようにアナログレコードをリバース再生するのと同様の機能を備えたことで、例えばユーザ等がジョグコントロール４１０を時計回り方向と反時計回り方向へ敏速に往復回転を繰り返すと、所謂スクラッチ音と呼ばれる擬音（「キュキュ」、「ガシャガシャ」等の擬音）を生じさせることができる。そして、所謂ディスクジョッキーと呼ばれる演奏者が、上記のスクラッチ音等を生じさせるべくジョグコントロール４１０を操作すると、ＣＤやＤＶＤを用いてラップ音楽等を生成するための編集を行うことが可能となっている。【００５３】
操作ボタン４２０は、ユーザにより選択可能なボタンであって、ユーザが、操作ボタン４２０上にポインタ３１０を移動させてクリックすることで、情報処理装置１の動作を変更可能に構成されている。具体的には、ユーザは、操作ボタン４２０をクリックすることで、コンテンツデータの再生や早送りや巻き戻しや一時停止や所定のキューポイントからの再生開始等を指示することができる。【００５４】
テンポスライダ４３０は、例えば上下方向にスライド可能なスライダボタンを備えている。ユーザ等がスライダボタンを上下方向に移動させることで、コンテンツデータの再生速度を適宜変更することができる。例えば、スライダボタンを上方向に移動させることで、コンテンツデータの再生速度を相対的に遅くしたり、或いはスライダボタンを下方向に移動させることで、コンテンツデータの再生速度を相対的に速くしたりすることができる。【００５５】
表示部５０には、楽曲を含むコンテンツデータの再生に応じた各種情報が表示されている。例えば、表示部５０の上段には、現在再生しているコンテンツデータのトラック番号や、現在再生しているコンテンツデータの経過時間（即ち、現在の再生時間）や、現在情報処理装置１にローディングされている光ディスクに記録されているコンテンツデータの総トラック数等が表示される。また、表示部５０の下段には、再生時間軸に沿ったコンテンツデータのビート密度等がウェーブ表示されている。【００５６】
図１において、コンピュータ本体１００は、ポインタ制御部１１０、ポインタ位置判定部１２０、ドラッグ操作検出部１３０及び回転動作継続部１４０を備えている。【００５７】
ポインタ制御部１１０は、ポインタ３１０を、ジョグコントロール４１０の外周からのずれが小さくなるように、制御することが可能に構成されている。後に詳細に説明するが、ポインタ制御部１１０は、当該ポインタ制御部１１０がポインタ３１０を制御すべき制御モードにおいて、ポインタ３１０が外周からずれている場合には、ポインタ３１０をジョグコントロール４１０の外周上に移動させる。【００５８】
更に、ポインタ制御部１１０は、速度調節部１１１を有している。速度調節部１１１は、ポインタ３１０をジョグコントロール４１０の外周上に移動させる際の移動速度を調節することが可能に構成されている。【００５９】
ポインタ位置判定部１２０は、ポインタ３１０がジョグコントロール４１０上（或いはジョグコントロール内、即ち、ジョグコントロール４１０の外周よりも内側の部分のいずれか）に位置するか否かを判定可能に構成されている。【００６０】
ドラッグ操作検出部１３０は、マウス３００のドラッグ操作を検出することが可能に構成されている。【００６１】
回転動作継続部１４０は、ジョグコントロール４１０が基準速度以上の速度で回転動作している場合には、ジョグコントロール４１０を、マウス３００の動きに応じて回転動作を継続するように、制御することが可能に構成されている。【００６２】
（動作説明）
次に、上述のように構成された本実施例に係る情報処理装置の動作について、図１に加え図２から図１０を参照して説明する。尚、以下では、ユーザが、マウス３００を動かすことによりジョグコントロール４１０を回転動作させる際における情報処理装置１の動作を主に説明する。ここに図２から図４は、ユーザによりジョグコントローラが操作される際における本実施例に係る情報処理装置が行う処理の流れを概念的に示すフローチャートであり、図２は、マウスダウンイベント処理を示し、図３は、マウスドラッグイベント処理、図４は、マウスアップイベント処理を示す。図５から図１０は、図２及び図３に示した各処理でのジョグコントロールとポインタとの位置関係を示す図である。【００６３】
図１を参照して上述したように、ユーザは、ジョグコントロール４１０上でマウス３００のボタンを押下して、該押下した状態でマウス３００を、ポインタ３１０の軌跡が固定点４１１を囲むようにドラッグ操作することにより、ジョグコントロール４１０を回転動作させることができる。【００６４】
図２は、ユーザによりマウス３００のボタンが押下された場合における情報処理装置１の動作（以下、「マウスダウンイベント処理」と呼ぶ）の流れを示している。【００６５】
図３は、ユーザによりマウス３００のボタンが押下され、該押下された状態でマウス３００が動かされた場合における情報処理装置１の動作（以下、「マウスドラッグイベント処理」と呼ぶ）の流れを示している。【００６６】
図４は、ユーザによりマウス３００のボタンが押下された状態から開放された場合における情報処理装置１の動作（以下、「マウスアップイベント処理」とも呼ぶ）の流れを示している。【００６７】
ユーザがマウス３００によってジョグコントロール４１０を操作する際、コンピュータ本体１００では、マウスダウンイベント処理、マウスドラッグイベント処理及びマウスアップイベント処理が繰り返し行われることになる。【００６８】
先ず、図２に加え図５から図８を参照して、マウスダウンイベント処理について説明する。【００６９】
図２において、ユーザによりマウス３００のボタンが押下されると、マウス３００から該押下された旨の通知（即ち、マウスダウンイベント）がコンピュータ本体１００に出力され、マウスダウンイベント処理が開始される。【００７０】
マウスダウンイベント処理では、先ず、ポインタ３１０がジョグコントロール４１０内に位置するか否かが、ポインタ位置判定部１２０によって判定される（ステップＳ１０１）。即ち、図５において、ポインタ３１０の位置を示す基準点Ｐが、ジョグコントロール４１０の外周を示す外周円Ｃ内に位置するか否かが判定される。尚、基準点Ｐの座標は（Ｘｐ、Ｙｐ）である。また、外周円Ｃは、本発明に係る「所定軌跡」の一例である。【００７１】
ポインタ３１０がジョグコントロール４１０内に位置しないと判定された場合には（ステップＳ１０１：ＮＯ）、マウスダウンイベント処理は終了する。つまり、ポインタ３１０がジョグコントロール４１０内に位置しない場合には、ユーザにはジョグコントロール４１０を操作する意思がないものと判定され、その後の処理は行われない。【００７２】
一方、ポインタ３１０がジョグコントロール４１０内にあると判定された場合には（ステップＳ１０１：ＹＥＳ）、ポインタ制御部１１０が制御状態にされる、即ち、制御モードにセットされる（ステップＳ１０２）。より具体的には、ポインタ制御部１１０がポインタ３１０を制御すべき制御状態であることを示すフラグが立てられる。つまり、ポインタ３１０がジョグコントロール４１０内にある場合には、ユーザにはジョグコントロール４１０を操作する意思があるものと判定され、その後の処理が行われる。【００７３】
続いて、ジョグコントロール４１０の中心から見たポインタ３１０の位置の角度θが、ポインタ制御部１１０によって算出される（ステップＳ１０３）。より具体的には、図６に示すように、ジョグコントロール４１０の中心である固定点４１１とポインタ３１０の位置を示す基準点Ｐとを結ぶ線分の基準軸Ａに対する角度θが算出される。【００７４】
続いて、図２及び図７に示すように、ジョグコントロール４１０の中心である固定点４１１とポインタ３１０の基準点Ｐとを通る直線Ｌ１とジョグコントロール４１０の外周円Ｃとが交差する交点Ｑ１の座標（Ｘｑ１、Ｙｑ１）が、ポインタ制御部１１０によって算出される（ステップＳ１０４）。【００７５】
続いて、図２及び図８に示すように、ポインタ制御部１１０によって、ポインタ３１０は交点Ｑ１へ移動させられる（ステップＳ１０５）。即ち、ポインタ制御部１１０は、ポインタ３１０の基準点Ｐの座標（Ｘｐ、Ｙｐ）を、交点Ｑ１の座標（Ｘｑ１、Ｙｑ１）に一致させる。【００７６】
このように、マウスダウンイベント処理では、ポインタ３１０がジョグコントロール４１０内にある場合には、ポインタ制御部１１０は、ポインタ３１０をジョグコントロール４１０の外周上の点（上述の例では、図８中の交点Ｑ１）に移動させる。【００７７】
次に、図３に加え図９を参照して、マウスドラッグイベント処理について説明する。【００７８】
図３において、ユーザによりマウス３００のドラッグ操作が行われる（即ち、マウス３００のボタンが押下された状態で動かされる）と、マウス３００からドラッグ操作がされた旨の通知（即ち、マウスドラッグイベント）がコンピュータ本体１００に出力され、マウスドラッグイベント処理が開始される。即ち、ユーザによりマウス３００のボタンが押下され、該押下された状態でマウス３００が動かされると、マウスダウンイベント処理に続いてマウスドラッグイベント処理が行われる。マウスドラッグイベント処理は、ユーザによりマウス３００の押下されたボタンが開放されるまで（即ち、ドラッグ操作が継続されている期間中）行われ、押下されたボタンが開放される（即ち、ドラッグ操作が終わる）と、後述するマウスアップイベント処理が行われる。ユーザによりマウス３００のドラッグ操作が継続されている期間中には、マウス３００から所定時間ΔＴ毎にマウスドラッグイベントがコンピュータ本体１００に出力され、このマウスドラッグイベントに応じてマウスドラッグ処理が複数回行われる。【００７９】
マウスドラッグ処理では、先ず、制御モードであるか否かが判定される（ステップＳ２０１）。即ち、ポインタ制御部１１０が動作状態であることを示すフラグが立っているか否かがポインタ制御部１１０によって判定される。言い換えれば、マウスダウンイベント処理により制御モードにセットされたか否かが判定される。制御モードでないと判定された場合には（ステップＳ２０１：ＮＯ）、マウスドラッグイベント処理は終了する。【００８０】
一方、制御モードであると判定された場合には（ステップＳ２０１：ＹＥＳ）、図２におけるステップＳ１０３と同様に、ジョグコントロール４１０の中心から見たポインタ３１０の位置の角度θが、ポインタ制御部１１０によって算出される（ステップＳ２０３）。【００８１】
続いて、前回のポインタ３１０の位置の角度と今回のポインタ３１０の位置の角度とからジョグコントロール４１０の回転量及び回転速度が、ポインタ制御部３１０によって算出される（ステップＳ２０３）。即ち、図９に示すように、マウス３００のドラッグ操作によってポインタ３１０が点Ｐ１（前回のマウスドラッグイベントがあった時の位置）から点Ｐ２（今回のマウスドラッグイベントがあった時の位置、つまり現時点の位置）まで移動した場合において、固定点４１１と点Ｐ１とを結ぶ線分の基準軸Ａに対する角度θ１と、固定点４１１と点Ｐ２とを結ぶ線分の基準軸Ａに対する角度θ２とがそれぞれ算出される。角度θ１及びθ２とマウスドラッグイベント間の所定時間ΔＴとからジョグコントロール４１０の回転量及び回転速度が算出される。そして、ジョグコントロール４１０は、算出された回転速度で、算出された回転量だけ回転動作する。【００８２】
続いて、図３及び図９に示すように、固定点４１１と現時点の位置である点Ｐ１２とを通る直線Ｌ２とジョグコントロール４１０の外周円Ｃとが交差する交点Ｑ２の座標（Ｘｑ２、Ｙｑ２）が、ポインタ制御部１１０によって算出される（ステップＳ２０４）。【００８３】
続いて、ポインタ制御部１１０によって、ポインタ３１０は交点Ｑ２へ移動させられる（ステップＳ２０５）。即ち、ポインタ制御部１１０は、ポインタ３１０の基準点Ｐの座標（Ｘｐ、Ｙｐ）を、交点Ｑ２の座標（Ｘｑ２、Ｙｑ２）に一致させる。【００８４】
このように、マウスドラッグイベント処理では、ポインタ３１０がジョグコントロール４１０内にあるか否かにかかわらず、ポインタ制御部１１０は、ポインタ３１０をジョグコントロール４１０の外周上の点（上述の例では、図９中の交点Ｑ２）に移動させる。【００８５】
つまり、制御モードである場合、ユーザによりマウス３００のドラッグ操作が継続されている期間中、ポインタ３１０は、仮にジョグコントロール４１０の外周円Ｃ上からずれても、所定時間ΔＴ毎に、マウスドラッグイベント処理によって、ジョグコントロール４１０の外周円Ｃ上にある点に移動させられる。【００８６】
即ち、図１０に示すように、本実施例では特に、ユーザによりマウス３００のドラッグ操作が継続されている期間中、ポインタ３１０は、外周円Ｃ上からずれたとしても、所定時間ΔＴ毎に、外周上の点Ｑ１、Ｑ２、Ｑ３、Ｑ４・・・等に移動させられる。言い換えれば、ユーザがマウス３００によってジョグコントロール４１０を操作している期間中、ポインタ３１０は、ジョグコントロール４１０の外周円Ｃ上に拘束される。【００８７】
ここで、仮に、何らの対策も施さない場合には、例えば、ポインタ３１０がジョグコントロール４１０の中心である固定点４１１を囲む軌跡（理想的には固定点４１１を中心とする円状の軌跡）を描くように、ユーザがマウス３００を連続的に動かすことは実践上困難である。例えば、ポインタ３１０がジョグコントロール４１０の中心である固定点４１１を囲むように、ユーザがマウス３００を正確に回転運動させなければ、ユーザが意図した回転方向とは逆の方向にジョグコントロール４１０が回転動作してしまうおそれがある。このため、ユーザは、マウス３００によってジョグコントロール４１０をストレスなく操作することが困難になってしまう。【００８８】
しかるに、本実施例では特に、上述したように、ユーザがマウス３００によってジョグコントロール４１０を操作している期間中、ポインタ３１０を、ポインタ制御部１１０によって、ジョグコントロール４１０の外周円Ｃ上に拘束する。よって、ポインタ３１０が外周円Ｃ上からずれてしまい、ポインタ３１０によってジョグコントロール４１０を操作することが困難となる事態を回避できる。つまり、ポインタ３１０が外周円Ｃ上に拘束されるので、ユーザは、ポインタ３１０が現在位置する点から、移動させるべき外周円Ｃの接線方向にマウス３００を動かしさえすれば、容易にジョグコントロール４１０を意図したとおりに回転動作させるができる。即ち、ユーザは、ジョグコントロール４１０を、マウス３００を用いて、意図したとおりに容易に操作することが可能になる。【００８９】
更に、本実施例では特に、上述したように、ポインタ３１０を、ジョグコントロール４１０の外周円Ｃ上に拘束する。よって、ユーザは、ポインタ３１０を、ジョグコントロール４１０の中心である固定点４１１から比較的離れた外周円Ｃに概ね沿って移動させることができ、仮にポインタ３１０が外周円Ｃよりも内周側の円上に拘束される場合と比較して、例えばマウスムーブイベント等の移動検出イベントの通知回数を多くすることができる。よって、ジョグコントロール４１０の回転動作の分解能を高めることが可能となる。但し、ポインタ３１０が、外周円Ｃよりも内周側の固定点４１１を中心とする円上に拘束されるようにしてもよい。この場合にも、ユーザにとってのジョグコントロール４１０の操作性を高めることができる。【００９０】
加えて、本実施例では特に、ポインタ３１０を外周円Ｃ上に拘束するので、外周円Ｃの中心である固定点４１１とポインタ３１０との間の距離を、殆ど常に、外周円Ｃの半径と互いに同じにすることができる。よって、例えばマウスムーブイベント等の移動検出イベントの通知回数を殆ど常に一定とすることができ、ジョグコントロール４１０の回転速度の算出処理やポインタ３１０の位置の算出処理におけるバラツキの発生を低減或いは無くすことができる。【００９１】
更に、本実施例では特に、ポインタ３１０をジョグコントロール４１０の外周円Ｃ上に拘束するので、ユーザの操作感を高めることができる。即ち、ユーザが実際のターンテーブルをその外周表面に手を触れながら回転操作する感覚に似た感覚を、ユーザに与えることができる。【００９２】
尚、本実施例では、ポインタ３１０をジョグコントロール４１０の外周円Ｃ上に拘束するようにしたが、ジョグコントロール４１０の固定点４１１を囲む曲線或いは多角形上に拘束するようにしてもよい。更に、ポインタ３１０が拘束される軌跡は、外周円Ｃの外側、即ち、ジョグコントロール４１０の外側であってもよい。加えて、ポインタ３１０が拘束される軌跡は、常に同じである必要はなく、例えば、十六角形の軌跡と三十二角形の軌跡とが切り換えられるなど、互いに異なる複数の軌跡が切り換えられてもよい。更に加えて、本実施例では、制御モードにおけるマウスドラッグイベント毎にポインタ３１０を外周円Ｃ上に移動するように制御したが、外周円Ｃとポインタ３１０との距離が所定値よりも大きくなった場合にのみ、ポインタ３１０を外周円Ｃ上に移動するように制御してもよい。即ち、ポインタ３１０が外周円Ｃ上に拘束される度合いを緩和し、ユーザがポインタ３１０を外周円Ｃの半径方向にも所定範囲内で移動することができるようにしてもよい。或いは、ポインタ３１０を外周円Ｃよりも内側の範囲内でしか移動しかできないように制限してもよい。いずれの場合にも、ジョグコントロール４１０のマウス３００による操作性を高めることができる。【００９３】
更に尚、本実施例では、ポインタ３１０が拘束される軌跡は、外周円Ｃとして予め定められるように構成したが、例えば、マウスダウンイベントがあった時に定められるように構成してもよい。即ち、ポインタ３１０が拘束される軌跡は、マウスダウンイベントがあった時のポインタ３１０の位置と固定点４１１との距離を半径とし、固定点４１１を中心とした円周として定められてもよい。つまり、ポインタ３１０が拘束される軌跡は、ポインタ３１０が固定点４１１に比較的近い位置にある場合にマウスダウンイベントがあった時には、半径の比較的小さな円周として定められ、ポインタ３１０が固定点４１１から比較的遠い位置にある場合にマウスダウンイベントがあった時には、半径の比較的大きな円周として定められてもよい。この場合には、ユーザは、ポインタ３１０が拘束される軌跡を、意図したとおりに定める或いは変更することができる。従って、ジョグコントロール４１０のマウス３００による操作性をより一層高めることができる。【００９４】
加えて、本実施例では特に、ポインタ３１０を外周円Ｃ上の点に移動する際（即ち、図２を参照して上述したステップ１０５及び図３を参照して上述したステップＳ２０５）、速度調節部１１１によって、ポインタ３１０の移動速度を、所定の値を超えないように調節している。よって、表示上、ポインタ３１０が外周円Ｃ以外の点から外周円Ｃ上の点へ飛んでしまうのを防ぐことができる。従って、ユーザにポインタ３１０の移動を自然な動きとして感じさせることができる。【００９５】
更に、本実施例では特に、ジョグコントロール４１０が基準速度以上の速度で回転動作している場合には、ジョグコントロール４１０は、マウス３００の動きに応じて回転動作を継続するように、回転動作継続部１４０によって制御される。つまり、例えば、マウス３００の動きが上下方向或いは左右方向などに直線的な動きであっても、ジョグコントロール４１０の回転動作が継続されるように、回転動作継続部１４０によってジョグコントロール４１０が制御される。よって、ユーザは、マウス３００を例えば直線的に動かすことによっても回転を維持することが可能となる。従って、ジョグコントロール４１０のマウス３００による操作性をより一層高めることができる。【００９６】
次に、再び図４を参照して、マウスドラッグイベント処理について説明する。【００９７】
図４において、ユーザによりマウス３００のボタンが押下された状態から開放されると（例えば、ドラッグ操作が終了すると）、マウス３００のボタンが押下された状態から開放された旨の通知（即ち、マウスアップイベント）がコンピュータ本体１００に出力され、マウスアップイベント処理が開始される。【００９８】
マウスアップイベント処理では、制御モードがクリアされる（ステップＳ３０１）。より具体的には、ポインタ制御部１１０がポインタ３１０を制御すべき制御状態であることを示すフラグが下ろされる。つまり、ユーザがマウス３００のボタンを押下していない状態になると、ポインタ制御部１１０によるポインタ３１０の制御が終了する。【００９９】
このように、ユーザがマウス３００のボタンを押下していない状態では、ポインタ制御部１１０によるポインタ３１０の制御が終了するので、ユーザが意図しない、ポインタ制御部１１０によるポインタ３１０の移動が生じてしまうのを殆ど無くすことができる。よって、ジョグコントロール４１０のマウス３００による操作性をより一層高めることができる。【０１００】
尚、本実施例では、本発明に係る「操作子」として、ジョグコントロール４１０のような回転動作する回転操作子を例に説明したが、本発明に係るＧＵＩ制御方法は、例えば、図１を参照して上述したテンポスライダ４３０のような直線動作する操作子に対して適用してもよい。つまり、例えば、テンポスライダ４３０を操作する際、ポインタ３１０を、テンポスライダ４３０のスライダボタンが直線動作可能な軌跡に拘束するようにしてもよい。この場合には、テンポスライダ４３０のマウス３００による操作性を高めることができる。【０１０１】
以上説明したように、本実施例によれば、ポインタ制御部１１０によって、ポインタ３１０は、ジョグコントロール４１０の外周円Ｃ上に拘束されるので、ユーザは、ジョグコントロール４１０を、マウス３００を用いて、意図したとおりに容易に操作することが可能になる。従って、ＤＪソフトウェアにおいて、マウスという比較的簡易な装置を用いて、上述したスクラッチ音等を生じさせる操作などのＤＪ操作を行うことが実践上可能となり、実際のターンテーブルなどをコントロールデバイスとして使用しなくても済む。更に、マウスは、ターンテーブルに比べて小さく、比較的狭い場所でも用いることができるという利点もある。【０１０２】
本発明は、上述した実施例に限られるものではなく、請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴うＧＵＩ制御方法及び装置、並びにコンピュータプログラムもまた本発明の技術的範囲に含まれるものである。
【産業上の利用可能性】
【０１０３】
本発明のＧＵＩ制御方法及び装置並びにコンピュータプログラムは、画面上に表示された操作子をポインティングデバイスの動きに応じて移動するポインタにより操作可能とするＧＵＩに利用可能である。また、例えば民生用或いは業務用の各種コンピュータ機器に搭載される又は各種コンピュータ機器に接続可能なＧＵＩ制御装置等にも利用可能である。
【図１】
2008117375.tif 000003
【図２】
2008117375.tif 000004
【図３】
2008117375.tif 000005
【図４】
2008117375.tif 000006
【図５】
2008117375.tif 000007
【図６】
2008117375.tif 000008
【図７】
2008117375.tif 000009
【図８】
2008117375.tif 000010
【図９】
2008117375.tif 000011
【図１０】
2008117375.tif 000012
【国際調査報告】
2008117375.tif 000013
2008117375.tif 000014
2008117375.tif 000015
2008117375.tif 000016