  

移動操作だけで指示方向を制御できるポインタ
古井 陽之助  日本アイ・ビー・エム（株） 東京基礎研究所〒  神奈川県大和市下鶴間 
従来のリアルタイムグループウェアシステムで用いられるテレポインタは向きが固定されており、使用者は指示意図を表現するためにポインタの向きを用いることができない。これは、向きを制御する方法を提供することによって解決することができる。しかしながら、テレポインタはしばしばシステムポインタを兼ねて用いられるので、その制御方法はシステムポインタのためにすでに割り当てられている操作を再定義するものであるべきではない。本論文は、向きを制御するための機能を備えた新しいテレポインタ、   について述べる。   の機能は、マウスなどのポインティングデバイスの動きによってのみ制御され、マウスボタンのクリックなどの操作を必要としないので、システムポインタを兼ねたテレポインタとして使用することができる。

                   !" #$ %& ' (#$ % )$$ (                                                                                                                                                                                 

 はじめに指示意図を表現することがある。このような動作をジェスチャリングと呼ぶ 。
従来のテレポインタは、上述のようなシステムポインタとの違いについての考察に基づいてはデザインされていない。矢印の向き、すなわちポインタの指示方向は固定であり、必ずしも指示対象物の方を向いていない。そこで著者は、指示方向を制御できるようなテレポインタをデザインすることを考えた。
一方、テレポインタが同時にシステムポインタとしても用いられる場合がしばしばある。したがって、テレポインタへの制御操作はシステムポインタとしての入力操作と衝突しないこと、つまりマウスクリックなどにテレポインタの制御機能を割り当てないことが望ましい。
著者の考案した（図 ）は、指示方向を動きのみで制御するポインタである。本論文では、   の基本設計や特長を今日、計算機システムの  において使用されるマウスポインタもしくはシステムポインタは、非常に馴染み深いインタフェースになっている。システムポインタは、使用者がシステムに対して画面上の座標（）を指定するために用いられる。システムポインタは多くの場合矢印の形をしていて、先端は常に  がどこにあるかを示しており、向きは固定されている。
一方、リアルタイム電子会議システムにおけるテレポインタは、複数の使用者がシステムを介して共有している仮想空間内のオブジェクトを指し示すために用いられるインタフェースである。テレポインタも多くの場合矢印のように向きを持つ形をしている。しかし、システムポインタの指示対象が点であるのと異なり、テレポインタの指示対象は広がりを持つオブジェクトである。そのため、使用者はテレポインタを動かすことによって     

図  方向を示す場合

図      の場合、移動方向と指示方向が、 から ! までは一致、! から " までは直交している。
説明するとともに、著者の実装した評価用プロトタイプについて報告する。また、テレポインタ以外にもアプリケーションがあると考え、その一例として実装したシューティングゲームについても述べる。
本論文の構成は以下の通りである。 節では、ジェスチャリングにおいて従来のテレポインタの持つ 問題について議論する。 節では、の基本設計、利点、実装方法を説明する。 節では、テレポインタ以外のアプリケーション実装例について述べる。 節では、本論文のまとめと今後の課題を述べる。

図  経路を示す場合
次に、ポインタの指示方向が制御できればジェスチャリングがより適切に行える場合について説明する。図 のように経路を示す場合を考える。従来のテレポインタを使用する場合、経路はポインタの移動軌跡によってのみ示され、ポインタの指示方向は経路とは全く関係がない（図 ）。しかし、もしポインタの指示方向が制御できるなら、経路はポインタの移動軌跡と指示方向の両方によっ。て強調される（図 ）図 は、ジェスチャリングにポインタの指示方向制御を組み合わせることのできるもう一つの例である。この図のようにオブジェクトを示す場合、使 ジェスチャリングにおける問題

従来のリアルタイム電子会議システムでは、 節で述べたようにテレポインタの指示方向を制御することができない。本節では、ジェスチャリングにおいて従来のテレポインタの持つ問題について議論する。
指示方向の制御
まず、ポインタの指示方向が制御できればジェスチャリングが不要になる場合について説明する。
図 のように方向を示す場合を考える。指示方向が固定されている従来のテレポインタを使用すると、もし示す方向がポインタの指示方向と異なるならば、示す方向に沿ってポインタを動かさなくては。しかし、もしポインタの指示ならない（図 ）方向で方向を示すことができれば、このジェスチャ。
リングは必要無い（図 ）図  オブジェクトを示す場合

 ポインタの位置
 モードキーなどによる一時切り替え
 メニュー選択などによるコマンド入力
 はポインタが画面上のどの位置にあるかに応用者はオブジェクトの周りを囲むようにテレポイ。しかし、従来のテレポインタを動かす（図 ）ンタを使用する場合、ポインタがオブジェクトを正しく指すのはある角度からのみである（図 ではオブジェクトの右下）。もしポインタの指示方向が制御できるなら、ポインタは常に建物を指すようにできる（図 ）。
図 、図 、図 の例から、ポインタの指示方向を制御できることが有用であることが判る。また、
図 の例ではポインタの指示方向と移動方向は一致するが、図 の例では一致しないことから、指示方向の制御方法は状況に応じて異なっていなければならないことが判る。したがって、ポインタの指示方向を制御する方法に加え、その制御方法を切り替える方法も必要である。
必ずポインタが指示対象物の方を指すようになっ  !ているシステムの例としては、 が挙げられる。
  は、リアルタイム協業のためのポインティング方式である。この方式では、前提として指示対象物は三次元空間の中心に一つだけ存在する。人差し指を突き出した手の形をしたポインタの指示方向は、常に中心を向いている。またポインタは、指示対象物を中心とする球面座標上か、あるいは中心に向かって前後に  は、明らかに複動くことができる。
数のオブジェクトを扱うには不向きであるが、ポインタの指示方向を、図  の例を三次元に拡張したような形で活用しているという点で興味深い。
システムポインタとの兼用
テレポインタはシステムポインタを兼ねることが多い。このような場合、 節で述べたように、テレポインタへの制御操作がシステムポインタとしての入力操作と衝突しないことが望ましい。例えば、マウスクリック操作にテレポインタを制御するための機能を割り当てると、テレポインタを使用している間はシステムポインタとしてマウスクリック操作を行うことができない。このような場合、テレポインタがシステムポインタを兼ねることができず、テレポインタとシステムポインタの切り替え操作を導入する必要がある。
テレポインタはマーカと共に多くのリアルタイム電子会議システムに採用されているが、マーカと比べたときのテレポインタの長所の一つはその操作の簡単さにある。上記のような切り替え操作の導入は、テレポインタの持つ長所である操作の簡単さを失わせることになる。
従来技術においてはポインタへの制御は次のような方法で行われていた。

じて動作モードを変える方法である。グラフィカルな " ブラウザにおいてリンクの上にポインタを移動させるとポインタの形状が手の形に変わるといったものがこの例である。 では、あらかじめ画面上に配置されている各表示要素や画面上の座標に関連付けてモードをプログラムしておく。これには、モード切り替えが自動的に起こるというメリットがあるが、使用者の任意によってモード切り替えを行う場合には  や  の方式を用いることになる。
 は、ドラッグ操作のようにマウスボタンの一つを押したままマウスを動かす場合や、 #  $
" % & の   #   または '(   のファイル選択操作におけるコントロールキーやシフトキーを押したままのマウスクリックなどが例として挙げられる。
 は、例えば描画アプリケーションにおけるペン先の色や太さをメニューなどから選択するような場合に用いられる。 との違いは、モード切り替えの操作や元のモードへの復帰操作に要する操作の手数が多く、使用者の負担が大きい点である。
これを軽減するために適用できる方法としては、以下のようなものが挙げられる。しかしいずれも、結局はシステムポインタの操作と衝突するか、デバイスを追加する必要がある。
# #   では、円を放射状に区切った )   を非表示で起動し、その円の中心から外側へとポインタを動かす方向によってメニュー項目を選択する。  )  の起動はクリックで行われる。
 *  + では、使用者はあらかじめ定義されたジェスチャをポインタで行ってコマンドを入力する。コマンド入力のためのジェスチャと通常の操作を区別するためにモード切り替えを必要とする。
# $   ,  - では、複数のモードを使用者の任意でポインタに割り当てておき  によって切り替える。この手法の身近な例としては、描画ソフトのペンモードにおいて左ボタンと右ボタンに異なる色を割り当てる操作が挙げられる。
./  /    ./  /     や  では、あらかじめ機能を割り当てた透明な   ごしに操作対象物をクリックすることによって、モード切り替え操作無しでクリックの役割を使い分ける。これを実際に効率よく操作するずれかに動くと横モードになる。ある一定時間以上、移動距離がある一定範囲内に収まっている場合、停止モードになる。

  ジェスチャリングにおける問題の解決
 指示方向の制御   によって使用者はポインタの指示方向を制御できる。 つのジェスチャリングモードのうち、縦モードは図  の動作に、横モードは図  の動作に対応する。
システムポインタとの兼用   は動きによって制御され、制御操作がシステムポインタとしての操作と衝突しない。そのため、モード切り替えのための特別な操作方法や追加のポインティングデバイスを導入する必要が無い。
帯域幅が狭いときの表現力指示方向を制御できるので、帯域幅が狭くデータ転送量が制限されてテレポインタの動きが間引きされるような場合でも、指示意図をより伝達しやすい。



図  ジェスチャリングモードの切り替えには、ポインタとは別に    を操作するためのデバイスを用意して、両手で二つのデバイスを操作しなければならない。また、  ではマウスの傾きを検出してオブジェクトの回転操作などを行うが、この機能を利用するためには、今日一般に普及しているのとは異なる、傾きを検出できるマウスを用いなければならない。
帯域幅が狭いときの表現力
リアルタイム電子会議システムは、ときに通信の帯域幅が小さいネットワークにおいて使用される。このような環境では、データ通信量を抑えるためにしばしばポインタの動きが間引きされ、結果として使用者の入力した動きが正確に再現されない。指示方向が固定された従来のポインタを使うと、図 や図 のような例では、動きの間引きが大きくなるほど使用者の指示意図を把握するのが困難になる。しかし、ポインタの動きのみならず指示方向も使用者が制御できれば、動きが間引きされても指示意図の把握は比較的容易になる。

  実現方法

   の実現方法を以下に説明する。計算機システムは、使用者によるポインタの移動操作を離散的な座標データの列としてとらえる。以
下の手順はこの座標データ列から、ポインタの 移動を検出し、  移動方向を判定し、  前後左右を判定し、  指示方向を決定するものである。
静止・移動判定

時間による判定 後述する  の移動方向判定や の前後左右判定には、使用者がポインタを直前まで停止していたかどうかが影響する。そのため、使用者による入力の時間的連続性を判定する必要がある。新たに座標が入力されたとき、その時刻と、その前に座標が入力された時刻とを比較する。両者の差がある一定時間  を越えていれば、いったん静止したポインタが移動したものと判定する。 はパラメータとして調整できる。

     基本設計

   の基本設計における要点は以下の 点である。

 状況に応じたやり方（モード）でポインタの指示方向を変える。   は縦モード、横モード、停止モードの  つのジェスチャリングモードを持つ。縦モードでは指示方向は移動方向と一。横モードでは指示方向は移致する（図 0）
動方向と直交する（図 ）。停止モードではその直前の指示方向を保つ。
ポインタのモード切り替えを、ポインタそれ自体の動きによって行う。   は現在の指示方向と移動方向を比較して、次のジェスチャリングモードを決定する（図 ）。指示方向に対して前後いずれかに動くと縦モードになり、左右い距離による判定 座標と座標の間の距離があまり近いと、後述の方法によって算出されるポインタの移動方向が荒い精度でしか得られず、使用者の意図を正しく反映しなくなる。そのため、ポインタが十分な距離を移動するまで、入力された座標をスキップする。具体的には、最後にポインタが移動した先の座標をピボットとする。新たに座標が入力されたとき、これとポインタのその時点における指示方向に対して、 で求めた移動方向が前後左右のいずれであるかを判定する。このとき、縦モードでは左右へのズレを、横モードでは前後へのズレを許容する（図-）。これは、使用者の意図しない操作のズレのために後述の  においてポインタの向きが変わってしまうと、操作性が低下するためである。  と  はパラメータとして調整できる。
縦モード 指示方向から左右   度を前、その対頂角を後ろ、残りを左右とする（図 -）。

図 + 1 から 2 を通って , へ

横モード 指示方向から左右   度を前、その対頂角を後ろ、残りを左右とする（図 -）。
停止モード 指示方向から左右  度を前、その対。
頂角を後ろ、残りを左右とする（図 -）! モードと指示方向の決定

ポインタの指示方向は、図 に示されるようにして決定される。 において移動方向が前と判定されたら、ジェスチャリングモードを縦モードへ移行して、ポインタの指示方向を移動方向と同じとする。後ろと判定されたら、ジェスチャリング
モードは縦モードへ移行するが、ポインタの指示方向は移動方向と反対とする。左右と判定されたら、横モードへ移行し、ポインタの指示方向は移動方向に対して垂直になるようにする。

図 - 前後左右判定における場合分け#$ 縦モード #$ 横モード # $ 停止モード
ピボットとの距離を計算し、ある一定値（移動中は  、停止中は  ）を 越えていれば、ポインタが新たなピボットに移動したものと判定する。 および  はパラメータとして調整できる。

 ! プロトタイプ

上述の手順を実現するプロトタイプを 3* アプレッ
ト  4 として実装した。このプロトタイ
プでは、背景画像の上で矢印の形をしたポインタを動かせる（図 ）。また、キー入力によってポインタの軌跡を記録できる。ただし、ポインタの使用感を評価するためのものであるため、リアルタイム電子会議機能は提供せず、ローカルな計算機のみで動作する。
このプロトタイプ実装の初期段階においては、各パラメータは以下の通りであった。
 5 66 ミリ秒 5  5 - ドット  5   5  度 移動方向の判定入力された離散的な座標データ列は、ポインティングデバイスの特性や座標データの離散化過程のために、実際のユーザ操作の連続的な動きを正しく反映しないことがある。この問題を解決するた
めに、離散的な座標データをもとに、ユーザ操作と同じと見なすことのできる滑らかな曲線を計算して、これからポインタの移動方向を判定する。
後述するプロトタイプでは、図 +の例のようにして移動方向を判定する。この例では、点 1 において停止モードにあったポインタが、移動を開始して点 2 を通って点 , に至っており、システムが捕らえたのは点 10 20 , の座標データである。このとき、点 2 における移動方向は直線 12 の方向とする。また点 , における移動方向は、点 10 20 ,を結ぶ円弧の点 2 を通る接線の方向とする。
移動方向の前後左右判定

この段階のプロトタイプを著者自身で試したところ、いくつか問題が見られたが、各パラメータを調整することで解消できることも判った。以下
ではこれらの問題と調整方法を述べる。
使用者がポインタをまっすぐ動かしているつもりでも、座標データのわずかなズレのために移動方向を変えたとシステムが判定し、結果として不パラメータセット'()*)++()*)+()*) +()*)/)))++/)))+/))) +/)))

 %  &  ' % , ()  & , *)  , -  , %)  , *)) % , ()  & , *)  , -  , %)  , %)) % , ()  & , *)  , *  , .  , *)) % , ()  & , *)  , *  , .  , %)) % , /)  & , )  , -  , %)  , *)) % , /)  & , )  , -  , %)  , %)) % , /)  & , )  , *  , .  , *)) % , /)  & , )  , *  , .  , %))表  パラメータセットの一覧

 操作を実行して意にモードが切り替わることがあった。これは、縦モード時の前後判定しきい値   を  度より大きく、横モード時の   を  度より小さくして、前後左右判定でズレを吸収することによって解消できることが判った。特に   5 760   5 6 の場合、ポインタをいったん停止するまでモードは切り替わることがない（ただし、ポインティングデバイ
スとしてペンを使用する場合、ポインタを完全に停止させるのがマウスや  . に比べて難しいため、このような設定では使いづらいことも判った）。
上記の調整でも、ポインタが動き出す瞬間のズレは吸収できないので、移動方向の判定結果が使用者の意図と異なることがあった。これは、停止中の移動判定しきい値  を移動中の  より大きくして、移動開始時の移動方向判定がより正確に行われるようにすれば解消できることが判った。
また、使用者はポインタを見ただけではその時点のジェスチャリングモードを知ることができない、つまり入力に対するフィードバックを得られないことも、誤操作の原因となった。これを解消するため、縦モードのときはポインタを青で、横モードのときは赤で、停止モードのときは黒でというように異なる色で描画して、使用者が視覚的にフィードバックを得られるようにした。

図 ! (4の実行画面例,  ) 66#89:;#  $ " % & 7" ブラウザ <   <*   46+=
実験の概要は以下の通りである。まず、著者が自身の試行に基づいて代表的と考える ! つのパラメー
タセットを作成した。これを表 に挙げる。次に、様々なジェスチャリングの基本パターンとなると考える + の操作パターンを作成した。また、これらのパターンの実行環境として、  4 のサブクラスとして 3* アプレット (4 （図!）を実装した。いずれのパターンも (4 において以下のような手順で実行される。
 ポインタを下部のスタートから上向きにしたままで中央の回転領域に進入させ、
 回転領域内で、ゴールにある黄色い矢印の向きに合うよう方向転換し、 ゴールへと抜ける。
方向転換中に回転領域をはみだした場合は失敗とみなす。ゴールが上下左右のいずれの台形になるか、また黄色い矢印が上下左右のいずれを向くか
で、操作パターンの数は + となる。! つのパラメー
タセットのそれぞれについてこれを繰り返すので、被験者は上記操作を ! 回行うことになる。

 " 評価実験

上述のプロトタイプを用いて行った簡単な実験について述べる。この実験の目的は、パラメータの調整によって操作性が向上するか、様々なジェスチャリングを失敗なく実行できるようになるかどうかを確認することである。ただし、パラメータ特性は計算機システムの性能やデバイスの性質などによって異なることが想像され、多種多様な条件下でのパラメータ特性を明らかにするためには膨大な量の実験が必要になる。今回は一定の条件下におけるおおまかな調整にとどめた。実験に使った計算機環境は以下の表の通りである。

+

#$ 被験者の平均値#$ 被験者 ! の平均値
図 6 パラメータセットごとの失敗回数# $ 被験者 " の平均値

ゴール・黄矢印 被験者 被験者 ! 被験者 " 被験者 0
左・下--) %./) *(*)%&%)
左・左&1)(() %&%)**)
左・右(() %21) %%.)%&()
左・上22)
1&) %).)%)2)上・下-&) %-)) %*&)%*&)
上・左(() %./) %./)%*-)
上・右(() &*%) %%))
11)
上・上.)
())
..)
%-)
右・下%*%) %*-) %2&)%&%)
右・左(%) %&%) %&%)%*-)
右・右*&)(()
11)&&)
右・上2/)
1-)())--)
下・下-%)/*) %1()--)
下・左(%) %*&) %%))%%()
下・右(() %&() %)2)%%))
下・上2/)(()(%)/2)
平均./) %%1/ %&-)
/2.

#$ 被験者 0 の平均値

# $ 全員の平均値
図 7 パラメータセットごとの平均値

表  +66>; における回転所要時間 ) 

これを  人の被験者に実行してもらい、上記 の所要時間を操作結果のデータとした。被験者はいずれも東京基礎研究所の所員であり、日常業務においてマウスを使用している。  については予め知識はあるものの特に使用訓練などはしていなかった。実験前には、一通り   の特徴について説明を与えた。また、操作を繰り返すうちに慣れて実験結果が偏ることが予想されたので、これを緩和するために予め + パターンを簡単に練習してもらった。また被験者ごとに実行するパターンの順序を変えた。
この実験結果を図 7と図 6に挙げる。図 70
0 0 % は各被験者・各パラメータセットごとに + パターンの操作結果を平均しグラフにしたものである。図 7 は全被験者についての平均値をグラフにしたものである。これらの平均値は成功したもののみを対象に算出した。また、図 6は失敗回数をグラフにしたものである。
図 7 および図 6によると、! つのパラメータセットの中で +66>; が、所要時間の平均値が最も小さく（777) ）、また失敗回数が最も少ない（6回）。このことから、! つの中では +66>; を最適なパラメータセットと考える。表 にこの +66>;における各被験者の操作結果を挙げる。パターンごとにばらつきがあるが、これはパターン自体の難易度によるものと考えられる。例えばスタートからゴールまで一直線に動かすだけの「上・上」操作に比べ、図 !の「右・下」操作は明らかに難しい。
結論として、パラメータ調整が操作性の向上に効果があること、またマウスを日頃使っている者なら一通りの説明とある程度の練習で  の方向転換操作ができるようになる（ようなパラメータセットが存在する）ことが判った。

! テレポインタ以外のアプリケーション!  シューティングゲーム 4 のサブクラスとしてシューティングゲーム  4 を実装した（図 ）。ポインタの挙動に関する処理手順は   のものをそのまま用いている。相違は、ポインタの形状、クリック操作にビーム発射機能を割り当てたこと、-図  4

こと、2 システムポインタを兼ねることがあるた
めテレポインタとしての操作と衝突するおそれがあること、, 帯域幅が狭く動きが間引きされるときに指示意図の表現力が低下すること、について述べ、これらを解決する方法として筆者が考案し  を説明した。  た は、4 指示方向を変えるためのジェスチャリングモードを複数持つ、4 ジェスチャリングモードの切り替えをポインタそれ自体の動きによって行う、という特徴を持つ。また、プロトタイプを実装して行った評価実験について述べた。今後も評価を進めていく予定である。の実行画面例

謝辞
中島周氏、坂入隆氏、曽谷俊男氏をはじめ日本アイビーエム（株）東京基礎研究所の皆様のご助言とご協力に感謝します。

そして標的が現われることである。ポインタはふいご状のオブジェクトとして、標的は黒い丸として描画される。標的は四方から現われる。使用者
はポインタを操作して標的に照準を合わせ、クリックによってビームを放って標的に命中させる。この一連の操作において、  の仕組み
によってポインタの動きに高い自由度が得られる。
実際に使ってみたところ、ビームを標的にうまく命中させるために、指示方向の制御にはテレポインタにおいてよりも高い精度が必要であることが判った。このようなアプリケーションによる相違は、操作性を向上させるために各パラメータを調整する上での相違となるものと予想される。

参考文献

3%4 !  5    6 " 7  8 ! 9  !   :    :   "; </2  *.1*(2 %//2
3&4 "  =  0 9   6    ! :  5  "   +  6 :   "; <11  /.%))
%/11
3*4 >    >  "  ?  6:        > :  @'"; </( A   %//(
324 8   >  !  9 :;   " 6  0 6   B :   C;  </%  %*-%22 A  %//%
3.4 8   > 7 '  > !   !  9 : 0    >C;          :   "; /- 6 %//-
3(4 6   "     6   9 : !  ;    B   @' 6   5  9  :   C; </-  2..2 %//-
3-4 6  6 = :6   "  0
 6  C  ;  :   "; <11 1//2  %/11
314   :7 7 D         : 5   "; /(  %//(      !  仮想美術館内の移動と視線制御（案のみ）

他にも例えば、仮想三次元空間における視線制御に応用することができるだろう。この場合、使用者の操作対象はポインタではなく、仮想三次元空間における自分の位置である。ポインタの指示方
向は、自分の視線の方向に相当する。
具体的な例として、仮想三次元空間に構築された仮想美術館の中を歩く場合について考える。壁際などに展示してある美術品を眺めながら移動するときは、視線と移動方向は直角をなすことになる。また、展示品に近寄ったり遠ざかったりといった前後の移動を行うときは視線と移動方向は一致する。展示品を眺めながらではなく、求める展示品を探したりあてもなくさまようような移動もありうる。視線の向きをポインタの指示方向に置き換えれば、移動方向と異なる方向の視線も同じ方
  の方式で制御できる。
向の視線も " おわりに本論文は、まずリアルタイム電子会議システムにおけるジェスチャリングを行う際に従来のポインタが持っていた問題 1 指示方向の制御ができない 