(57)【要約】【課題】  マウス等の座標入力装置を用いてコンピュータにおける処理の可変量データを入力する場合に、画面上の疑似ダイヤルを操作する方法で、スライド操作と回転操作を組み合わせることにより広範囲な数値を入力する。【解決手段】  コンピュータの画面に表示した疑似ダイヤルを、座標入力装置からの座標データによって操作する場合、座標の変位を直接利用して可変量データとするスライドモードと、座標の軌跡が円弧を描いていることを検出し、その軌跡の長さを利用して可変量データとする回転モードを設定することによって、より大きな値での変化を可能とし、それらのモードをスムーズに遷移できるようにすることによって、自然な操作性を提供する。【選択図】図８
2005115681.tif 000002
【特許請求の範囲】
【請求項１】
画面上に表示したアイコンを疑似ダイヤルとして、座標入力装置の入力に基づき前記疑似ダイヤルを操作してその可変量を制御する疑似ダイヤル制御方法において、
前記座標入力装置の入力軌跡座標がスライド動作しているスライドモードか、円弧を描く動作をしている回転モードかを判別し、
前記スライドモードとして判別されたときは小さな変位を与え、前記回転モードとして判別されたときは大きな変位を与え、
これら２つのモードをスムーズに切り替えることによって広範囲な可変量データの制御をおこなう疑似ダイヤル制御方法。
【請求項２】
前記回転モードは、入力軌跡座標の変位ベクトルについて、現在および１つ前のベクトルの外積を計算することにより、軌跡座標の回転角と回転半径に応じた変位量を累積しながら、可変量データを得る請求項１に記載の疑似ダイヤル制御方法。
【請求項３】
前記疑似ダイヤルは、画面上に表示した円盤状のダイヤルであり、ダイヤル可変量の操作に応じて円盤が回転している表示をする請求項１に記載の疑似ダイヤル制御方法。
【請求項４】
前記座標入力装置の入力軌跡座標の変化が所定値よりも小さい変位の時は、回転角の計算をしないで、最小の変化量を与える請求項１に記載の疑似ダイヤル制御方法。
【請求項５】
画面上に表示したアイコンを疑似ダイヤルとして、座標入力装置の入力に基づき前記疑似ダイヤルを操作してその可変量を制御する疑似ダイヤル制御装置において、
前記座標入力装置の入力軌跡座標がスライド動作しているスライドモードか、円弧を描く動作をしている回転モードかを判別する手段と、
前記スライドモードとして判別されたときは小さな変位を与え、前記回転モードとして判別されたときは大きな変位を与える与える手段と、を備え、
これら２つのモードをスムーズに切り替えることによって広範囲な可変量データの制御をおこなう疑似ダイヤル制御装置。
【請求項６】
画面上に表示したアイコンを疑似ダイヤルとして、座標入力装置の入力に基づき前記疑似ダイヤルを操作してその可変量を制御する疑似ダイヤル制御プログラムにおいて、
前記座標入力装置の入力軌跡座標がスライド動作しているスライドモードか、円弧を描く動作をしている回転モードかを判別し、
前記スライドモードとして判別されたときは小さな変位を与え、前記回転モードとして判別されたときは大きな変位を与え、
これら２つのモードをスムーズに切り替えることによって広範囲な可変量データの制御をおこなう各手順を実行する疑似ダイヤル制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータや情報処理機器において、スクロールバーや模擬ダイヤル形式の可変量データ入力を行う疑似ダイヤル制御方法及び装置ならびにプログラムに関する。
【背景技術】
【０００２】
コンピュータ装置などでは、表示やデータ処理のための数値パラメータを設定するのに、画面上にスクロールバーや模擬ダイヤルといった数値入力方法を用いて入力を容易にしている。スクロールバーでは、データの件数が多くて画面におさまらない量を四角の領域で表現し、マウス等の座標入力装置によって表示部分をスクロールすることができる。しかしながら、１万行におよぶ文章を表示させた場合には、スクロールバーによって表示行を直接指定しようとしても、その操作は表示装置の座標分解能に制限されるために、細かい表示行の調整はできない。そのため、特定のアイコンをマウスボタンでクリックして１行あるいは１ページ単位のスクロール動作を行う必要があり、ボタン操作の繰り返しが多くなると操作しづらいという問題があった。
【０００３】
また、ダイヤル模擬入力装置では、マウスの回転を検出することによって、ダイヤルを回転しているのと同じ自然な感覚で可変量データを制御することができる。しかし、ダイヤルの操作性が十分でなければスクロールバーにとって替わる程の顕著な優位性があるとはいえないため、それほど普及はしていない。
スクロールバーやダイヤル模擬入力装置は、一般にグラフィカルユーザインターフェイス機能のコンピュータプログラムとして実現される。従って、CRT装置等の図形表示画面と、マウス等の座標入力装置を有するコンピュータあるいは類似のデータ処理端末において、座標入力装置からの座標入力データを処理するプログラムの処理アルゴリズムによって改良することができる。これまでにこのようなダイヤル方式模擬入力装置の実現方法は、特許文献１〜３に記載がある。
【０００４】
特許文献１の「座標入力制御装置及び方法」は、CAD等で用いられてきた装置であるダイヤルを備えた回転入力デバイスを模した模擬ダイヤルの方法である。円形のダイヤルを画面上に配置し、直感的なインターフェイスを提供している。しかしながら、コンピュータの画面は様々な情報表示のために常に最適なデザインを要求されるものであり、比較的表示画面を占有する円形の疑似ダイヤルよりも、他の情報表示のための画面を優先すると、より小さな表示で操作可能なスクロールバーで代用してしまうことも多く、疑似ダイヤルはそれほど普及してはいない。
【０００５】
特許文献２の「ジョグダイアルの模擬入力装置」は、ビデオ編集等で使われてきたジョグダイヤル装置を模した方法である。使い慣れた実物に近い操作感を実現できるものと期待されるが、実際にジョグダイヤルを備えた機器も安価で販売されているため、模擬入力装置はそれほど重宝されてはいない。
特許文献３の「座標位置入力によるコンピュータの制御方法」は、このようなダイヤル方式の模擬入力装置をソフトウエアシステムの部品として捉え、様々な応用プログラムから利用可能なスクロール機能プログラムとして実現したものである。マウスの回転操作によってスクロールできるという新しいユーザインターフェイスの妙案であるが、スクロールの微調整には通常のスクロールバーが必要なため、結局なくても目的の操作ができてしまう事もあり、ユーザインターフェイスのブレークスルーというのにはもう一段の改良が期待されている。
【０００６】
一方で装置的な改良としては、例えばマウス装置にスクロール専用のボタンを装備することでスクロールバーの操作性を向上させる方法が普及しているが、２つ以上の制御量を疑似ダイヤルで操作する場合には、スクロール専用ボタンとマウス操作の両方を使い分ける必要があり、自然で使いやすい操作とは言えなくなる。したがって、画面スクロール以外に用いる汎用の疑似ダイヤル装置のためには特別なボタンを使わない方法が望ましい。
【特許文献１】特開平９ー１９８２１９号公報
【特許文献２】特開平９ー２３０９９３号公報
【特許文献３】特開２００２−２２２０３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、マウス等の座標入力装置を用いてコンピュータにおける処理の可変量データを入力する場合に、画面上の疑似ダイヤルを操作する方法で、スライド操作と回転操作を組み合わせることにより広範囲な数値を入力することを目的としている。スクロールバーのようにスライドさせる方法では、大きな範囲の量を制御しにくい。また、ダイヤル式の入力方法では、微調整が難しい。これらの点を克服するために、スクロールバーとダイヤルを融合させたようなユーザインターフェイスを考案する必要がある。本発明によって、可変量データを設定するための疑似ダイヤルの作成方法を示し、グラフィカルユーザインターフェイスの操作性を向上させる。
【課題を解決するための手段】
【０００８】
本発明は、コンピュータの画面に表示した疑似ダイヤルを、座標入力装置からの座標データによって操作する場合、座標の変位を直接利用して可変量データとするスライドモードと、座標の軌跡が円弧を描いていることを検出し、その軌跡の長さを利用して可変量データとする回転モードを設定することによって、より大きな値での変化を可能とし、それらのモードをスムーズに遷移できるようにすることによって、自然な操作性を提供する。
【０００９】
本発明は、ダイヤル方式の模擬入力装置の改良として、コンピュータプログラムにて実施する。まず、図４に示すような円盤を横から見た様なダイヤルを画面上に表示する。このダイヤル上でマウスボタンを押したまま左右に動かすことで、図３に示すように、可変量を制御するスライドモードとなる。大きな変位を与えるためには、マウスを右に移動させながら右回転を開始する、或いは左に回転させながら左回転を開始する。すると、ダイヤルは右或いは左回転モードとなり、回転している間可変量を増加し続ける。したがって、操作した後にマウスを元の位置に戻すこともできる。そして、マウスボタンを放すことによって、可変量の制御を終了する。操作者は、設定した可変量に従って画面の表示情報が更新されることを通じて変化を認知するので、可変量を直接数値で表示するのも効果的である。画面上に円盤を縦に表示させてスライドモードを上下動作にしてもよいし、斜めに配置してもよい。
【００１０】
この方法では、可変量を制御するのはマウス座標の変化量であり、回転操作を行った後にはマウスの位置が元に戻っているために、ただちに次の動作に移ることができるのが特徴である。そしてスクロールバーでの操作で必要になるクリック操作は何度も繰り返す場合には疲れるものであったのに比べ、マウスボタンを押しながらの回転やスライドの操作はそれほど疲れない。マウスによるアイコンのドラッグ操作のように、最後に所定の位置にアイコンを運ぶ必要がなく、相対的なマウス座標の変位を与えるだけでよい。
【００１１】
操作性の向上を図るために、この回転モードとスライドモードを、スムーズに状態遷移することによって自然な操作感を実現した。そして、逆回転操作に対応することで、自然な調整動作が可能になった。さらに、回転半径に比例した大きさの変位量を得ることで、広いダイナミックレンジを実現した。また、従来の発明ではいずれも、マウスの微小な動作による座標の変位があった場合に処理せずにスキップしていたが、これを最小ステップ変化の動作として採用したことにより、可変量入力の微調整が容易になった。図２は、本発明を実施するコンピュータプログラム全体の処理の流れ図である。マウス操作が微小であった場合の処理、逆回転の判別、そして回転の継続を判断しながら、目的の可変量を制御していく。従来はマウスの軌跡座標の回転を検出するために様々な方法が使われているが、ベクトルの外積を用いることによって、画期的に少ない計算で正確な量を得ることができた。
【発明の効果】
【００１２】
本発明における模擬ダイヤル入力方法は、次の点で従来より優れている。まず、計算手順が画期的に少なく、特殊関数も必要がない。加減乗除だけで実施可能である。これは、携帯電話や小型の情報処理端末における実装において必要不可欠な技術を提供するものである。
そして、画面に表示するダイヤルが小さく、かつ回転を認識しやすい表示であるため、限られた計算機の画面を有効に利用することができる。すなわち、グラフィカルユーザインターフェイスの方法として実用面で優れている。例えば１万行におよぶ文章のスクロール操作に利用すると、スライドモードでは、実際の画面のスクロール量を直接マウスで指定することができるので数行や半ページなどの量を非常に直感的に与えることができるし、回転操作では次々にページをめくるのに類似している。回転モードでは、一回転で４ページといった対応をさせれば、回転数によっておおまかな移動頁を把握することができる。
【００１３】
さらに、回転モードへのスムーズな移行によって自然な操作性のままに、大きな可変量を操ることが容易になっている。特に回転の逆転を正しく検出して反映する処理は、可変量データ入力の微調整において行われる人間の自然な操作であり、欠かすことができない機能である。特にスクロールバーの操作においては、過剰に操作した量を回復するのに、画面上に遠い場所にある逆向き一行移動のアイコンを探してクリックしなければならなかったのに比べて、非常に操作が楽になっている。
【００１４】
また、従来の模擬ダイヤルでは扱わなかった座標の微小変位を、最小可変量として扱う処理により、可変量データの微調整がしやすくなっている。マウス装置の物理的な不具合のために座標値の微小な変化がスムーズに得られないことがしばしばおこるが、そのような場合にも微調整の操作に支障がないのは大変実用的な効果である。本来、マウスを細かく動かすときは微調整をしようとしている時であり、マウスの回転操作の判定をする必要はなく、微調整を支援すればよい。微調整の時には最小ステップでの数値制御をするのが最も使いやすい。本発明で提案しているマウス動作のモードは、操作者の意図に近いモードに自然に状態遷移するようになっている。実際にこの方法を実装したプログラムを操作しながら改良を継続した結果であり、改良点の積み重ねによって具体化することができた。ここにあげたどの機能が欠如しても真に使いやすい模擬ダイヤルとはいえないと考えられた。
【００１５】
本発明は、他に例がなく、グラフィカルユーザインターフェイス機能としての新規性も見いだせるものと考えている。装置としてのダイヤルとしては、テレビ等の音量調節等に使われている従来の可変抵抗器には、回転型とスライド型の２種類がある。操作性に優劣の議論はあるものの、時として、その両方があると便利だと感じる時がある。しかしながら、その装置全体の操作性を総合的に考慮した時には、実際に両方を備えても便利ではないと思われる。本発明は、この２種類の可変抵抗器を同時に使うことのできる方法ともいえる。すなわち、左右に動作させることにより微調整が可能で、1/4回転といったより大きなステップでの可変量の設定が可能である。物理的なダイヤルでは実現できない操作を仮想ダイヤルによって具体化している点に特徴がある。
【００１６】
ユーザインターフェイスの操作として、手になじんだ操作は、車の運転のように、意図的に考えなくても思い付いただけで手が動くようになるものである。それは大脳を使わないで、小脳等による運動神経によって操作できるようになっていることである。スクロールバーの操作では、操作が行き過ぎたら、まず画面で逆方向のアイコンを探してクリックする必要があるため、思考の中断がさけられない。これは、文章の執筆活動等においては、その知的作業を阻害していることになる。本発明の方法では、一度ダイヤルを選択した後は、糸巻きで糸をたぐる様な自然なマウス操作になっているため、そのような阻害が非常に少ない。本発明は、マウスのドラッグ操作を拡張した新しい操作方法としての疑似ダイヤルの概念を現実的で確かなものにすることができる。
【発明を実施するための最良の形態】
【００１７】
図１は、本発明を実施する対象となるコンピュータ等の情報端末機器におけるグラフィカルユーザインターフェースを実現するハードウエアの基本構成図である。マウス等の座標入力装置は、表示装置の画面上に表示したカーソルを動作させてそのカーソル座標をある時間ごとに逐次応用プログラムに通知する。応用プログラムは、通知されたカーソル座標に従い、オペレーティングシステムに図形表示命令を出す。マウスのカーソル座標からスライド移動を検出すると、そのスライド移動に対応して実際の画面をスクロールさせることができ、一方、マウスの回転操作を検出すると、一回転で４ページといった対応をさせて頁を移動させることができる。
【００１８】
まず、このようなマウスのカーソル座標から回転を検出する方法について説明する。図５に１、２、３と書かれている矩形は、カーソル座標として通知された座標の点列で、表示画面を構成する格子点上の３つの点である。これらの点を図６に示すように直線で結んだ２つのベクトルを考える。n番目に通知されたマウスのカーソル座標と、一つ前の座標との変位ベクトルをDnとする。マウスの軌跡が円弧であった場合には、変位ベクトルDnは、一定の角度θで回転することになる。したがって、ベクトルの変化した角度を求め、それが連続して同じ符号が継続していれば円弧であると判断できる。これは既に報告されている通りである。角度を求めるには、ベクトルの外積を使うのが便利である。
Dn  ×  Dn-1  ＝  ｜Dn-1｜・｜Dn-1｜sin(θ)                  （１）
であるから、ベクトルの大きさを一定にすればsin(θ)の値が得られる。ベクトルの外積をＤnのｘ，ｙ成分を（ＤＸn，ＤＹn）を使って書くと、
sin(θ)＝（ＤＸnＤＹn-1 - ＤＹn ＤＸn-1）／（｜Dn｜・｜Dn-1｜）  （２）
【００１９】
したがって、マウスの座標が通知された時に、マウス座標Pnとマウスの軌跡Dnをメモリに保存しておけば、目的の角度を計算できる。ここでは、正確な角度データをsin()関数の逆関数Sin-1(x)を使って求める必要はなく、次の近似をする。
θ≒sin(θ)                                                  （３）
この近似では、θが90°に近くても最大57°（=180/π）を与えるが、大きな角度の過小評価は操作性上それほど問題にならない。もし、より正確な角度を得たい場合には、テイラー展開による近似式を用いてもよい。
Sin-1(x)≒x + x3/6                                          （４）
【００２０】
さらに、長さを規格化した変位ベクトルDnと一つ前の変位ベクトルDn-1との和ベクトルEnを求めてその長さを規格化しておき、それと変位ベクトルとの外積を計算すると、求めたい角度θの半分の値が得られるのでこれを２倍して角度とする。
もし、回転動作が大きい半径であった場合に、より大きな変位量を与えるには、ベクトルの大きさ|Dn|を小さめにしておくと、（２）式で得る角度の値はその分だけ大きくなる。
回転動作の回転角の大きさで可変量を制御すれば、一回で４ページといった比率を設定して、可変量を設定することができる。一方で、回転動作によって描かれた円弧の大きさに応じて可変量を制御することもできる。ベクトルの外積の大きさは、２つのベクトルによって作られる平行四辺形の面積に対応するので、この値をそのまま利用すればよい。ただし、この場合は、マウスを一回転させた時の可変量の大きさは円弧の描き方によって異なり、大きく描くほど大きな変位を与えることになる。
【００２１】
こうして得た角度データはマウスの座標データの振れにより細かい変位を持つため、平滑化した時系列データとして採用する。そのため、求めた角度データもメモリに保存し、単純加算平均をとることにより平滑化する。ベクトルの大きさを計算するのには通常2乗根の計算が必要となるが、ここでは正確な数値は必要がないため、次のような近似が有効である。
｜Dn｜＝√（ＤＸn2＋ＤＹn2）
≒  ＤＸn＋ＤＹn−（ＤＸn・ＤＹn）／（ＤＸn＋ＤＹn）      （５）
この近似では、ＤＸnとＤＹnが近い値を持つ時、すなわちマウスを斜めに動かしている場合に最大６％大きく見積もることになるが、疑似ダイヤルの操作における角度の計算においては、許容される誤差である。これはテイラー展開による１次までの近似である。
f（ｘ）    ＝  √ｘ                                    （６）
f（ａ＋ｘ）≒  ｆ（ａ）＋ｘ・ｆ’（ａ）
＝  √ａ  −  ｘ／（２√ａ）                        （７）
ここで、ａ＝（ＤＸn+ＤＹn)2  および  ｘ＝２ＤＸn・ＤＹn  とおくことで（５）式を得る
【００２２】
次に処理の全体について説明する。図８は、ダイヤル操作のモードを状態遷移図で表したものである。スライドモードおよび左右の回転モードに加えて、増減の最小値を与えて回転する２つのモードの計５つのモードが存在する。このモード遷移をスムーズに行うことが自然な操作性の実現に重要であるが、これは図２に示した処理の流れ図によって実現できる。
【００２３】
マウスボタンを押しながらマウスを動かすことによって、スライドモードで疑似ダイヤルの制御を開始する。ここで説明した回転角の計算と平滑化の処理はステップＳ３、Ｓ４である。求めた角度データをステップＳ７で累積することで、同符号の角度が連続したことを検出する。累積値がもしあらかじめ設定した回転判定閾値に到達したならばステップＳ８で回転モードになる。回転モードは右回転と左回転があり、それぞれ正負の符号に対応する。累積値には上限を設定しておき、その飽和累積値以上は増加しないものとする。それによって、回転ではない動作がある程度継続すると、累積値が回転判定閾値に達しなくなり、回転モードを終了しスライドモードになる。この時のカーソル座標の系列を図７に示す。これにより、無造作なマウスの操作によってダイヤルの操作が異常になることを防ぐことができる。さらに、図１１のように回転が反転した場合は、ステップＳ５においてすみやかに回転方向を反転する。
【００２４】
図９には、マウスの左右移動から、左右回転に移行する４つの全ての組み合わせを示している。このうち、マウスの移動と回転がスムーズにつながる２つの場合には、スライドモードから回転モードへ移行する。そうでない２つの場合はスライドモードを継続する。
【００２５】
図７に示す例のように、マウスのカーソル座標の変化が小さい場合には回転角は離散的な値を変化するだけでなく、回転の判定や逆転の判定が難しくなる。そのため、指定したよりも小さい変位の時は、回転角の計算をしないで、最小の変化量を与えるものとする。これは処理の初めにステップＳ１でベクトルの長さを計算し、ステップＳ２で判定する。
スライドモードになると操作が直接反映されるため、自然にモード変化を察知することができるが、現在のモードをダイヤル表示に反映させておくのが望ましい。
【実施例】
【００２６】
本発明を実装したコンピュータプログラムのフローチャートと疑似プログラム例を図１２に示す。このプログラムは関数として定義されており、マウスから通知される点列の座標x、yを次々に与えることによって、可変量データvalを更新して終了する。この関数を次々に呼び出すことで目的の可変量制御を行う。
【００２７】
メモリに保存する変数は、一つ前の座標Gxold,GyoldおよびベクトルGdx,Gdy、角度の累積値Gtheta、一つ前の角度Gaold、そしてモードを現すrotmodeである。これらは０に初期化しておく。一番最初は一つ前の座標値を設定するだけになる。S０１では、一つ前の点の座標を減算してベクトルを求め、S０２でベクトルの距離を求める。ここで、ベクトルの長さdlenが指定した大きさLACCよりも大きかった場合には（S０３）、固定値LACCを設定すると（S０４）、半径に応じて加速度的に増加する変位量を与えることができる。もしベクトルの長さが短い場合には（S０５）最小値での変位とするため、angle=0とおく（S０６）。S０７ではベクトルの外積から角度を計算する。逆回転されたか調べるため、x方向の変位が大きい場合には（S０８）、方向のベクトルの符号が反転していたら（S０９）、逆回転の処理をする（S１０）。y方向の時も同様である（S１１、S１２）。S１３で求めた角度と一つ前の角度の加算平均をとり平滑化する。S１４で角度の累積変数Gthetaに保存する。角度の累積変数には上限値MAXANGを設定しておき、絶対値がこれを超えないようにする（S１５、S１６、S１７、S１８）。角度の累積値が指定した値THROTよりも大きければ、回転モードとする（S１９、S２０、S２１、S２２）。S２３以下は最小値での変位設定である。正回転モードの時には（S２３）、角度angleが小さいか、小さい逆回転だった場合には（S２４）最小値を設定する（S２５）。負回転モードの時も（S２６）同様である。スライドモードの時は（S２９）、単純に座標の変位を変位量データとして採用する（S３０）。S３１にて変位量を可変量データに加算する。S３２ではベクトルを保存し、S３３では座標をメモリに保存する。
回転角の大きさで可変量を制御する場合は、ステップS０７における分母の値GGFPは、ベクトルの大きさdlenに比例した量とし、回転動作の大きさに応じて可変量を制御する場合には、GGFPを定数とする。
【図面の簡単な説明】
【００２８】
【図１】コンピュータ等の情報端末のシステム構成図である。
【図２】コンピュータプログラムによる処理全体の流れ図である。
【図３】疑似ダイヤル装置を制御するためのスライドおよび回転のマウス操作を説明する図である。
【図４】疑似ダイヤルとして、円盤を横から見たようなダイヤルを表示する図である。その側面には部分的に太い線があり、回転するに従って移動するので回転方向がわかる。その様子を示すために４つ並べている。
【図５】カーソル座標の系列を示す図である。
【図６】カーソル座標のなすベクトルを示す図である。
【図７】微小な変位となるカーソル座標の系列を示す図である。
【図８】マウスによる操作モードの状態遷移図である。
【図９】モード移行の組み合わせを示す図である。
【図１０】回転モードからスライドモードに移行して微調整する例を示す図である。
【図１１】回転モードで逆回転する場合の例を示す図である。
【図１２】本発明を実施するプログラムの完全な流れ図と疑似プログラムコードを例示する図である。
【図１】
2005115681.tif 000003
【図２】
2005115681.tif 000004
【図３】
2005115681.tif 000005
【図４】
2005115681.tif 000006
【図５】
2005115681.tif 000007
【図６】
2005115681.tif 000008
【図７】
2005115681.tif 000009
【図８】
2005115681.tif 000010
【図９】
2005115681.tif 000011
【図１０】
2005115681.tif 000012
【図１１】
2005115681.tif 000013
【図１２】
2005115681.tif 000014