(57)【要約】【課題】  ユーザがカーソルの移動方向を正確に指示できない場合であっても、所望の画像領域上に速やかにカーソルを移動させることを可能にする装置及び方法を提供する。【解決手段】  画面上に表示されている複数の画像領域のうち、いずれかへカーソルを移動させるためのカーソル移動支援装置であって、ユーザからカーソル位置の移動方向に関する情報を取得する手段と、前記画面上での現在カーソル位置を表す情報と、前記取得した移動方向に関する情報とに基づいて、前記画面上で次にカーソルを移動すべき画像領域の探索方法を決定し、当該決定された探索方法で前記画面上で次にカーソルを移動すべき画像領域を探索する探索手段と、前記探索手段により次にカーソルを移動すべき画像領域が見出されない場合に、前記探索手段に、探索方法を補正させる補正手段と、を含むことを特徴とするカーソル移動支援装置とする。【選択図】        図３
2005165449.tif 000002
【特許請求の範囲】
【請求項１】
画面上に表示されている複数の画像領域のうち、いずれかへカーソルを移動させるためのカーソル移動支援装置であって、
ユーザからカーソル位置の移動方向に関する情報を取得する手段と、
前記画面上での現在カーソル位置を表す情報と、前記取得した移動方向に関する情報とに基づいて、前記画面上で次にカーソルを移動すべき画像領域を探索する条件を決定し、当該決定された探索条件で前記画面上で次にカーソルを移動すべき画像領域を探索する探索手段と、
前記探索手段により次にカーソルを移動すべき画像領域が見出されない場合に、前記探索手段に、前記探索条件を補正させる補正手段と、
を含むことを特徴とするカーソル移動支援装置。
【請求項２】
請求項１に記載のカーソル移動支援装置において、
複数の互いに異なるカーソル位置の移動方向に関する情報が断続的に取得される場合には、
前記探索手段は、前記断続的に取得された移動方向に関する複数の情報のいずれか一つに基づいて決定される探索条件で、前記画面上で次にカーソルを移動すべき画像領域を探索し、
前記補正手段は、前記探索手段により次にカーソルを移動すべき画像領域が見出されない場合に、前記探索手段に対し、前記断続的に取得された移動方向に関する複数の情報に関する統計値に基づいて決定される探索条件にて探索させるよう、前記探索条件を補正させることを特徴とするカーソル移動支援装置。
【請求項３】
請求項１に記載のカーソル移動支援装置において、
前記探索手段は、前記画像領域をその周辺に所定拡張量だけ拡張した拡張領域を生成し、当該画像領域ごとに定められた拡張領域のうち、前記現在カーソル位置から前記取得した情報によって表される移動方向への線分と、最初に交差した拡張領域に対応する前記画像領域を探索するよう決定される探索条件で、前記画面上で次にカーソルを移動すべき画像領域を探索し、
前記補正手段は、前記移動方向に関する情報として、複数の互いに異なるカーソル位置の移動方向に関する情報が断続的に取得される場合には、当該複数の情報に基づいて前記所定拡張量を制御することを特徴とするカーソル移動支援装置。
【請求項４】
画面上に表示されている複数の画像領域のうち、いずれかへカーソルを移動させるためのカーソル移動支援方法であって、
ユーザからカーソル位置の移動方向に関する情報を取得するステップと、
前記画面上での現在カーソル位置を表す情報と、前記取得した移動方向に関する情報とに基づいて、前記画面上で次にカーソルを移動すべき画像領域の探索条件を決定し、当該決定された探索条件で前記画面上で次にカーソルを移動すべき画像領域を探索する探索ステップと、
前記探索ステップに於いて次にカーソルを移動すべき画像領域が見出されない場合に、前記探索条件を補正するステップと、
を含むことを特徴とするカーソル移動支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電話機などにおける画面上のカーソル移動を支援する装置及び方法に関する。
【背景技術】
【０００２】
携帯電話やＰＤＡ（Personal Digital Assistance）等の携帯端末装置に於いては、アドレスの登録やメールの送受信等の各種処理が行われる。これら携帯端末装置は一般に液晶ディスプレイなどの表示部を備えており、この表示部には処理に応じたユーザインタフェース画面が表示される。近年一般的なユーザインタフェース画面としては、ボタン画像やテキストエリア画像等の画像領域が複数表示され、ユーザは携帯端末装置が備える操作ボタンや、ポインティングデバイスを操作して、上記複数の画像領域のうちいずれかの画像領域上へカーソルを移動させて画像領域を選択し（フォーカスを合わせ）、当該選択された画像領域に対して文字列を入力したり、クリック操作をしたりといった指示操作を行っている。
【０００３】
従来、こうしたユーザインタフェース画面上でカーソルを移動する際には、ユーザによって行われるポインティングデバイスを用いた操作に基づき、当該操作内容に忠実にカーソルを移動していた。
【０００４】
また、特開平８−２３４８９８号公報には、カーソルを動かすことによって動作のための表示されたオプションを指定し、ボタンを押すことによって動作を開始することのできるジョイスティックまたはトラックボールが記載されている。
【特許文献１】特開平８−２３４８９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、上記従来の携帯端末装置においては、ユーザから指示されるカーソルの移動方向が正確でなく、所望の画像領域の方向とは異なる方向への誤った移動操作がされたときにも、カーソルは当該操作に基づく方向に忠実に移動されてしまうこととなり、操作性が低いという問題点があった。
【０００６】
本発明は、このような問題に鑑みてなされたものであり、ユーザから指示されるカーソルの移動方向が正確でない場合であっても、ユーザの所望の画像領域上への速やかなカーソル移動を支援し、操作性を高めることのできる装置及び方法を提供することをその目的の一つとする。
【課題を解決するための手段】
【０００７】
上記の問題を解決するため、本発明に係るカーソル移動支援装置は、画面上に表示されている複数の画像領域のうち、いずれかへカーソルを移動させるためのカーソル移動支援装置であって、ユーザからカーソル位置の移動方向に関する情報を取得する手段と、前記画面上での現在カーソル位置を表す情報と、前記取得した移動方向に関する情報とに基づいて、前記画面上で次にカーソルを移動すべき画像領域を探索する条件を決定し、当該決定された探索条件で前記画面上で次にカーソルを移動すべき画像領域を探索する探索手段と、前記探索手段により次にカーソルを移動すべき画像領域が見出されない場合に、前記探索手段に、前記探索条件を補正させる補正手段と、を含む。
【０００８】
また、本発明に係るカーソル移動支援装置の他の好適な態様に於いて、複数の互いに異なるカーソル位置の移動方向に関する情報が断続的に取得される場合には、前記探索手段は、前記断続的に取得された移動方向に関する複数の情報のいずれか一つに基づいて決定される探索条件で、前記画面上で次にカーソルを移動すべき画像領域を探索し、前記補正手段は、前記探索手段により次にカーソルを移動すべき画像領域が見出されない場合に、前記探索手段に対し、前記断続的に取得された移動方向に関する複数の情報に関する統計値に基づいて決定される探索条件にて探索させるよう、前記探索条件を補正させてもよい。
【０００９】
また、本発明に係るカーソル移動支援装置のさらに他の好適な態様に於いて、前記探索手段は、前記画像領域をその周辺に所定拡張量だけ拡張した拡張領域を生成し、当該画像領域ごとに定められた拡張領域のうち、前記現在カーソル位置から前記取得した情報によって表される移動方向への線分と、最初に交差した拡張領域に対応する前記画像領域を探索するよう決定される探索条件で、前記画面上で次にカーソルを移動すべき画像領域を探索し、前記補正手段は、前記移動方向に関する情報として、複数の互いに異なるカーソル位置の移動方向に関する情報が断続的に取得される場合には、当該複数の情報に基づいて前記所定拡張量を制御してもよい。
【００１０】
また、本発明に係るカーソル移動支援方法は、画面上に表示されている複数の画像領域のうち、いずれかへカーソルを移動させるためのカーソル移動支援方法であって、ユーザからカーソル位置の移動方向に関する情報を取得するステップと、前記画面上での現在カーソル位置を表す情報と、前記取得した移動方向に関する情報とに基づいて、前記画面上で次にカーソルを移動すべき画像領域の探索条件を決定し、当該決定された探索条件で前記画面上で次にカーソルを移動すべき画像領域を探索する探索ステップと、前記探索ステップに於いて次にカーソルを移動すべき画像領域が見出されない場合に、前記探索条件を補正するステップと、を含む。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面に基づいて説明する。図１は、本発明の一実施形態に係るカーソル移動支援装置を実装した携帯端末装置の概略の構成を示すブロック図である。また、図２は、この携帯端末装置の外観を示す説明図である。
【００１２】
携帯端末装置１は、操作部１０、記憶部２０、制御部３０、表示部４０を含んで構成される。このうち、制御部３０は、記憶部２０に格納されているプログラムや処理パラメータに基づいて動作しており、従来のものと同様の各種処理を行うほか、ユーザから操作部１０を介してカーソル移動の操作を受け入れたときに、表示部４０が表示する画面上の複数の画像領域の中から次にカーソルを移動すべき画像領域を探索する処理（カーソル移動支援処理）を行う。制御部３０が行うこのカーソル移動支援処理の具体的な内容については、後に詳しく説明する。
【００１３】
表示部４０は、液晶ディスプレイ等であり、制御部３０から受け取る指示に従って、画像領域Ｍ（図２参照）やカーソル等、画像や文字列で表現される情報をユーザに提示するユーザインタフェース画面を表示する。
【００１４】
操作部１０は、例えば、図２に示すようにスティック１２を備えるポインティングデバイスである。ユーザは、このスティック１２を傾倒させる方向によってカーソルの移動方向を指示し、また、傾倒させる角度によってカーソルの移動量を指示することになる。制御部３０は、こうしたユーザの指示操作によって、画面上のカーソル位置の移動方向などの情報（以下、ユーザ指示情報と呼ぶ）を受け入れることになる。なお、操作部１０は、図２に示すようなスティック１２を用いたものに限られず、その回転方向や回転量によって移動方向・移動量を取得するボール状の操作部であってもよいし、イメージセンサを用いたものであってもよい。また、タッチパッド等でもよい。この操作部１０は、２次元平面上の全ての方向（３６０度）を指示できるものでなくてもよく、例えば所定の限られた方向のみを指示可能なもの（例えば上下左右の４方向など）でもよい。
【００１５】
記憶部２０は、プログラムや処理パラメータ等を格納するコンピュータ読み取り可能な記録媒体を含む。また、この記憶部２０は、制御部３０が行う処理に関するデータを格納するワークメモリとしても動作する。具体的にはこの記憶部２０は、画面上での現在のカーソル位置を表す現在カーソル位置情報を記憶する。ここで、現在カーソル位置情報は、例えば、画面上に仮想的に設定された座標軸上の値（ｘ、ｙ座標の値など）で表現できる。
【００１６】
本実施の形態では、この記憶部２０は、現在画面上に表示されている複数の画像領域に関する画像領域情報を記憶している。ここで、画像領域情報は、例えば、画面上に表示される画像領域の数や配置に関する情報であり、制御部３０が提示するユーザインタフェース画面が複数ある場合には、記憶部２０には各ユーザインタフェース画面ごとに、それらに表示される画像領域についての画像領域情報を格納している。
【００１７】
ここで、制御部３０が行うカーソル移動支援処理について説明する。図３は、制御部３０のカーソル移動支援処理の一例を表す機能ブロック図である。この処理には、指示情報取得部３２、探索条件決定部３４、探索実行部３６、補正指示部３８が機能的に含まれる。
【００１８】
指示情報取得部３２は、操作部１０からユーザ指示情報の入力を受けて、このユーザ指示情報を探索条件決定部３４と補正指示部３８とに出力する。ここでユーザ指示情報には、ユーザから指示されるカーソル位置の移動方向に関するカーソル移動方向情報が少なくとも含まれる。また、ユーザ指示情報には、さらにユーザから指示されるカーソル位置の移動量に関するカーソル移動量情報が含まれてもよい。
【００１９】
カーソル移動方向情報は、画面上でカーソルが移動すべき方向を指示する情報であり、例えば、図２に示す操作部１０のスティック１２がユーザの操作によって破線のように傾けられた場合に、当該傾けられたスティック１２の傾斜方向の線分を、二次元平面Ｈ上に射影した場合に、前記仮想的に設定された座標軸ｘと当該射影の示す角度αに対応して、操作部１０がカーソルの移動方向を表す情報として生成する。即ち、カーソル移動方向情報は、例えば、画面上の現在のカーソル位置や所定の位置等を基準とした角度や関数（角度表示関数）等を表す。
【００２０】
カーソル移動量情報は、画面上でカーソルが移動すべき量を指示する情報であり、例えば、図２に示す操作部１０の破線のように傾けられたスティック１２と二次元平面Ｈとが成す角度βに対応して、操作部１０が画面上のカーソルの移動量を表す情報として生成する。即ち、カーソル移動量情報は、例えば、画面上の現在のカーソル位置や所定の位置等を基準とした距離やカーソルの移動速度等を表す。
【００２１】
探索条件決定部３４は、指示情報取得部３２からユーザ指示情報を受け取ると、記憶部２０から現在カーソル位置情報を読み出して、これらユーザ指示情報と現在カーソル位置情報とに基づいて、画面上で次にカーソルを移動すべき画像領域を探索する条件（探索条件）を決定する。探索条件決定部３４は、例えば、画面上の探索を開始する位置（探索開始位置）、探索を行う方向（探索方向）、探索を行う範囲（探索範囲）、探索する対象（探索対象）、探索対象を検出したと判断する条件（検出条件）等を探索条件として決定する。
【００２２】
またこの探索条件決定部３４は、補正指示部３８から補正指示が入力されると、当該補正指示に従って探索条件を補正（変更）し、当該補正後の探索条件を、新たな探索条件として決定する。
【００２３】
探索実行部３６は、探索条件決定部３４によって決定された探索条件で、次にカーソルを移動すべき画像領域を探索する。探索実行部３６は、探索条件決定部３４によって決定された探索条件で、次にカーソルを移動すべき画像領域を見出した場合（検出した場合）には、当該見出された画像領域の上にカーソルを移動させて、現在カーソル位置情報を更新する。またこの探索実行部３６は、探索条件決定部３４によって決定された探索条件で、次にカーソルを移動すべき画像領域を見出せなかった場合には、探索条件の補正要求を補正指示部３８に対して出力する。
【００２４】
補正指示部３８は、探索実行部３６から探索条件の補正要求が入力されると、探索条件決定部３４に対して探索条件の補正指示を出力する。具体的にこの補正指示部３８は、記憶部２０から読出される現在カーソル位置情報や画像領域情報などと、指示情報取得部３２が出力するユーザ指示情報などとに基づいて、探索条件の補正方法を決定し、当該決定した補正方法で探索条件の補正を行うよう探索条件決定部３４に指示してもよい。
【００２５】
この場合、補正指示部３８は、探索条件ごとに当該探索条件の補正方法を変更してもよい。例えば探索の方向と幅とで定められる探索条件については、補正指示部３８は探索方向に対する幅を拡張すべき旨の補正指示を出力する。また、探索方向と探索距離とで定められる探索条件については、当該探索距離を延長する補正指示を出力する。
【００２６】
また、取得するユーザ指示情報にぶれが生じ、カーソル位置の移動方向に関する情報が時間的に変動して取得される場合（断続的に互いに異なる情報が取得されるなどの場合）には、探索条件決定部３４や補正指示部３８は、次のようにして探索条件を決定し、または補正してもよい。
【００２７】
具体的に探索条件決定部３４は、断続的に取得される複数のユーザ指示情報のいずれか一つを代表情報として、この代表情報に基づいて探索条件を決定してもよいし、断続的に取得される複数のユーザ指示情報に基づく所定統計演算（例えば平均演算）を行って、当該統計演算結果に基づいて探索条件を決定してもよい。
【００２８】
また補正指示部３８は、例えば、断続的に取得される複数のユーザ指示情報に関する統計値（指示情報統計値）に基づいて補正指示を生成してもよい。例えば補正指示部３８は、指示情報統計値として、断続的に取得される複数のカーソル移動方向情報の平均値を算出し、この方向情報統計値に基づいて補正方法を決定する。
【００２９】
また、補正指示部３８は、ユーザ指示情報のぶれを表す指標（例えば、断続的に入力されるユーザ指示情報の偏差値）を情報変動値として算出し、この情報変動値が所定の閾値（変動閾値）を超えたと判断した場合に、ユーザ指示情報に対する所定統計値に基づいて補正方法を決定することとしてもよい。この場合、補正指示部３８は、情報変動値に基づいて探索条件の補正方法を変更してもよい。例えば、情報変動値の増加（ぶれの増加）に伴って、補正距離、補正角度、補正拡張量等に対する補正量を増加させたり、情報変動値が変動閾値を超える場合には、超えない場合に比べてより補正量を大きくする等の処理が考えられる。これらの処理を行う場合、補正量、変動閾値、限界条件等は、予め記憶部２０に格納しておいてもよいし、過去に行われた探索に関する履歴情報を記憶部２０に格納しておき、制御部３０が補正指示部３８の処理として、この履歴情報を参照して補正量、変動閾値、限界条件などを動的に（処理の度に）決定してもよい。
【００３０】
これらの処理によって、制御部３０は、図４に示すような動作を行うことになる。図４は、制御部３０が次にカーソルを移動すべき画像領域を探索する処理の一例を示すフロー図である。制御部３０は、ユーザ指示情報が取得されるまで待機しており（Ｓ１１０）、ユーザ指示情報が取得されると（Ｓ１１０においてＹｅｓの場合）、探索条件を決定し（Ｓ１２０）、この決定した探索条件で次にカーソルを移動すべき画像領域を探索する探索を行い（Ｓ１３０）、次にカーソルを移動すべき画像領域が見出されたかどうかを判断する（Ｓ１４０）。ここで次にカーソルを移動すべき画像領域が見出されれば、探索を終了して当該見出された画像領域上にカーソルを移動する（つまり、現在カーソル位置情報を更新する）処理を行って（Ｓ１７０）、処理を終了する。
【００３１】
また、ステップＳ１４０に於いて次にカーソルを移動すべき画像領域が見出されなければ（Ｎｏならば）、予め定められた限界条件を満たすかどうかを判断し（Ｓ１５０）、限界条件が満たされなければ、処理を終了する。また、ステップＳ１５０において限界条件を満たす場合には、探索条件の補正を行い（Ｓ１６０）、ステップＳ１２０に戻って、補正後の探索条件を決定する処理から繰返す。
【００３２】
ここで、限界条件の例としては、ステップＳ１２０にて決定した探索条件に基づくものでもよいし、探索条件の補正回数に関するものでもよいし、探索条件の補正量に基づくものでもよい。なお、図４の例において、ステップＳ１６０とステップＳ１５０との実行順序は逆順（つまり、探索条件の補正を行ってから、当該補正後の条件が、限界条件を満足するか否かを判断する順序）としてもよい。
【００３３】
次に探索の方法について以下に、いくつかの例を挙げて説明する。なお、以下の例では、記憶部２０に格納されている画像領域情報は、図５に示すように、各画像領域を識別するための情報（画像領域識別情報：番号ｋ及び名前（ボタンＡ等））と、各画像領域の画面上の位置を特定する情報（画像領域位置特定情報）とを関連づけたものであるとして説明する。ここで画像領域位置特定情報は、例えばｋ番目の画像領域について、それを囲む矩形の左上座標（Ｘｋｓ，Ｙｋｓ）と、右下座標（Ｘｋｅ，Ｙｋｅ）とによって画定できる。
【００３４】
またここでは、探索の具体的方法として、縦断探索法、横断探索法、放射探索法、図形設定探索法、拡張領域探索法及び角度分割探索法の６種類を図６乃至図１３を用いて説明する。また、図６乃至図１３に於いて同様の内容を示すものについては同一の符号を付し、重複する説明を省略する。
【００３５】
まず、縦断探索法について図６乃至図８を用いて説明する。この例では制御部３０の探索条件決定部３４は、当初は、現在カーソル位置情報が示す位置を探索開始位置として決定し、カーソル移動方向情報が表す方向を探索方向として決定する。この場合、探索実行部３６の処理として制御部３０は、当該決定された探索開始位置から当該探索方向に向う直線上で探索開始位置から最も近い画像領域を探索し、当該画像領域が見いだされた場合には、当該見いだされた画像領域を次にカーソルを移動すべき画像領域として決定する。
【００３６】
一方、当該画像領域が見いだされなかった場合には、補正指示部３８の処理として制御部３０は、探索開始位置を現在カーソル位置から上記探索方向に対して垂直な方向に所定の距離だけ移動させた２点（図６のＲ１，Ｑ１）を新たな探索開始位置として設定するよう探索条件決定部３４に指示する。これにより、制御部３０は図６のＲ１，Ｑ１のそれぞれを順次新たな探索開始位置として決定し、当該探索開始位置を補正後の探索開始位置として、新たに探索を行うことになる。
【００３７】
すなわち、縦断探索法は、指示されたカーソル移動方向に平行な探索線を複数設定し、各探索線のうち、現在のカーソル位置を通るものを初期探索線として、当該初期探索線に近い位置を通る探索線から順次注目探索線として決定し、注目探索線がいずれかの画像領域を通過する場合に、当該画像領域を次のカーソル移動位置として定めるものである。
【００３８】
図６に於いて、Ｐ１は現在カーソル位置情報が表す現在カーソル位置（Ｘ１，Ｙ１）を、θ１はカーソル移動方向情報が表す画面上の角度を、Ｌ１はＰ１からθ１が表す方向に延びる直線を、矩形の領域Ｍは画面上の画像領域の一つをそれぞれ示している。また、図７及び図８は、制御部３０が縦断探索法を用いて行う探索処理の一例を示すフロー図である。図８に示す処理は、図７に示す処理に続いて行われる。
【００３９】
まず、カーソル移動方向情報を取得した制御部３０は、取得したカーソル移動方向情報が表す画面上の角度θ１の大きさを所定の角度情報と比較し（Ｓ２１０）、角度θ１の大きさに応じて、後に探索開始位置の決定に用いる情報（探索開始位置決定情報）（図６の角度θ２及び図７の係数（ｎ１，ｎ２，ｎ３，ｎ４））を決定する（Ｓ２１０からＳ２１０ｄ）。
【００４０】
次に、制御部３０は、探索の幅Ｗを所定の探索幅（初期探索幅）Ｗ０に決定し（Ｓ２２０）、当該探索幅Ｗが所定の限界探索幅Ｗｍａｘ以下かどうかを判断する（Ｓ３１０）。そして、制御部３０は、ＷがＷｍａｘより大きければ探索を終了し、ＷがＷｍａｘ以下であれば、ステップＳ２１０からＳ２１０ｄに於いて決定した探索開始位置決定情報に基づいて、例えば、現在カーソル位置Ｐ１からθ１が示す方向に対して垂直な方向に所定の距離としての探索幅Ｗだけ離れた探索開始位置（例えば、図６に於いてＰ１からＷの整数倍ｉだけ離れたＱ１（Ｘｉ，Ｙｉ）及びＲ１（Ｘｉ′，Ｙｉ′））を決定する（Ｓ３２０）。
【００４１】
次に、制御部３０は、ステップＳ３２０に於いて決定された探索開始位置から角度θ１が示す探索方向に向かって所定の探索位置移動距離だけ離れた探索位置（図６のＱ２及びＲ２）を決定し（Ｓ４１０及びＳ５１０）、この探索位置が所定の限界探索範囲内であるかどうかを判断する。ここで、制御部３０は、例えば、限界探索範囲を特定する情報（限界探索範囲特定情報）と探索位置を特定する情報とに基づいて、例えば、限界探索範囲特定情報としてのＸ座標値（図８のＸｍｉｎ、Ｘｍａｘ）及びＹ座標値（図８のＹｍｉｎ、Ｙｍａｘ）と、探索位置のＸ座標値（例えば、図６のｘｉｊ、ｘｉｊ′）及びＹ座標値（例えば、図６のｙｉｊ、ｙｉｊ′）とをそれぞれ比較して（Ｓ４２０、Ｓ４３０、Ｓ５２０、Ｓ５３０）、探索位置が所定の限界探索範囲内であるかどうかを判断する。
【００４２】
そして、制御部３０は、探索位置が限界探索範囲外と判断した場合には、探索幅Ｗをさらに所定の補正幅だけ増加させ（Ｓ３３０）、探索開始位置を補正距離だけ移動させて（Ｓ３２０）、当該補正した探索範囲内で当該補正した探索開始位置から探索方向に向かって次にカーソルを移動すべき画像領域の探索を行う。一方、制御部３０は、探索位置が限界探索範囲内と判断した場合には、当該探索位置について、次にカーソルを移動すべき画像領域が見出されるかどうかを判断する（Ｓ４４０、Ｓ５４０）。
【００４３】
ここで、制御部３０は、この判断を探索条件決定部３４が決定する検出条件に基づいて行う。この場合、制御部３０は、例えば、画面上に表示される複数（例えば、ｎ個）の画像領域のそれぞれについての画像領域位置特定情報（例えば、図５の画像領域の位置を特定する座標値Ｘｋｓ、Ｘｋｅ、Ｙｋｓ、Ｙｋｅ）と、探索位置を特定する情報（例えば、図６の探索位置の座標値ｘｉｊ、ｙｉｊ）とを比較し、探索位置がいずれかの画像領域内に存するかどうかを判断する。この場合、制御部３０は、例えば、探索位置が、図５に示すデータテーブルのｋ番目の画像領域内に存すると判断した場合に、当該ｋ番目の画像領域を、次にカーソルを移動すべき画像領域と判断する。
【００４４】
次に、制御部３０は、ステップＳ４４０、Ｓ５４０に於いて次にカーソルを移動すべき画像領域を見出した場合には、当該画像領域上にカーソルを移動する処理を行う（Ｓ４５０、Ｓ５５０）。また、制御部３０は、ステップＳ４４０、Ｓ５４０に於いて次にカーソルを移動すべき画像領域が見出されない場合には、探索位置を探索方向にさらに探索位置移動距離だけ移動し（Ｓ４１０、Ｓ５１０）、当該補正された探索位置について、次にカーソルを移動すべき画像領域が見出されるかどうかの判断を行う。
【００４５】
なお、制御部３０は、例えば、一組の現在カーソル位置及びカーソル移動方向情報に基づいての最初の探索に於いて、ステップＳ２２０で初期探索幅を画面上の１ドット或いは１より大きい所定のドット数で決定してもよいし、ステップＳ３２０で現在カーソル位置Ｐ１を探索開始位置として決定してもよい。また、補正距離、探索位置移動距離、限界探索幅、限界探索範囲等は予め記憶部２０が記憶する所定のものでもよいし、制御部３０が探索条件の補正回数や画像領域情報等に基づいて決定してもよい。
【００４６】
なお、java（登録商標）言語におけるmouseEnteredイベントのように、ある画像領域上にカーソルが位置したことを検出し、イベント（通知）を発生してアプリケーション側に通知する機能が利用できる場合には、探索線に沿って擬似的に（つまり移動状態を表示させることなしに）カーソル位置を移動させる処理を行い、mouseEnteredのイベントを受け取った時点で画像領域が見出されたことにしてもよい。この場合、図５に示すようなデータテーブルを予め用意する必要はない。また、この機能を利用して、画面が変更された時点で新たに表示される画面を擬似的に走査しておき、データテーブルを作成し、その後このデータテーブルを用いた探索処理を行うようにしてもよい。
【００４７】
次に、横断探索法について図９を用いて説明する。図９は、制御部３０が横断探索法を用いて探索を行う場合の画面上の探索位置及び探索方向の一例を表す説明図である。この例に於いて、制御部３０は、現在カーソル位置Ｐ１からカーソル移動方向情報が表す方向(矢印Ｌ１方向)に対して垂直な方向に、所定の探索幅Ｗをもつ探索範囲を決定し、現在カーソル位置から当該探索幅Ｗだけ離れた探索開始位置（図９のＱ１）を決定する。そして、制御部３０は、この探索範囲内で、探索開始位置からＬ１方向に対して垂直な方向（図９のＱ１からＲ１に向かう方向）に探索位置を所定の探索位置移動距離だけ移動させながら次にカーソルを移動すべき画像領域を探索する。そして、制御部３０は、次にカーソルを移動すべき画像領域が見出されない場合には、探索開始位置をカーソル移動方向情報が表す方向に所定の補正距離だけ移動し、当該補正した探索開始位置から上述と同様の探索を行う。そして、制御部３０は、この探索範囲内で次にカーソルを移動すべき画像領域が見出されない場合には、探索幅をさらに所定の補正幅だけ拡張して（図９のＷの整数ｉ倍に）、当該補正した探索幅の探索範囲内で上述と同様の探索を行う。
【００４８】
すなわち、この横断探索法では、制御部３０は、現在のカーソル位置からカーソル移動方向情報によって示される向きへの直線を初期探索線として、この初期探索線に対して探索幅Ｗの位置にある２つの境界探索線を設定し、境界探索線の間をジグザグに移動しながら次にカーソルを移動するべき画像領域を探索するものである。そして探索されない場合に、探索幅Ｗを拡張する補正を行うこととすればよい。
【００４９】
次に、放射探索法について説明する。図１０は、制御部３０が放射探索法を用いて探索を行う場合の画面上の探索位置及び探索方向の一例を表す説明図である。この例に於いて、制御部３０は、現在カーソル位置Ｐ１を探索開始位置として決定し、現在カーソル位置Ｐ１からカーソル移動方向情報が表す方向（矢印Ｌ１方向）を探索方向として決定し、現在カーソル位置Ｐ１から探索方向に向かって、探索位置を所定の探索位置移動距離ずつ移動させながら次にカーソルを移動すべき画像領域の探索を行い、この方向に次にカーソルを移動すべき画像領域が見出されない場合には、探索方向を所定の補正方向量（所定の補正角度）だけ補正し、現在カーソル位置Ｐ１から当該補正した探索方向（θ２及びθ３が示す方向）に向かって探索を行う。このように、制御部３０は、次にカーソルを移動すべき画像領域が見出されない場合には、現在カーソル位置Ｐ１を始点として、探索方向（例えば、画面上の方向を表す角度）を補正することによって、扇形の探索範囲の中心角を拡張する補正を行う。
【００５０】
つまり、この場合、制御部３０は、現在のカーソル位置からカーソル移動方向情報によって示される向きへの直線を初期探索線として、この初期探索線の方向を中央とし、現在のカーソル位置を中心とした扇形の形状の探索領域を設定し、この扇形形状内に次に移動するべき探索領域が見いだされるまで、探索領域の中心角を拡張する補正を行うものである。
【００５１】
次に、図形設定探索法について図１１を用いて説明する。この例に於いて、制御部３０は、現在カーソル位置Ｐ１からカーソル移動方向情報が表す方向（図１１のＬ１方向）に向かって所定の幾何形状（多角形、円、楕円等）及び大きさの探索範囲を決定し、当該探索範囲内で次にカーソルを移動すべき画像領域が見出されない場合（当該探索範囲と重なり合う画像領域位置特定情報に関連する画像領域が見いだされない場合）には、当該探索範囲の形状或いは大きさを補正し、当該補正された探索範囲内で探索を行う。図１１は、制御部３０が楕円形の探索範囲を決定する場合の画面上の探索位置及び探索方向の一例を表す説明図である。この場合、制御部３０は、現在カーソル位置Ｐ１からＬ１方向に楕円の長軸（所定の長軸距離ａだけ離れた位置Ｐ２とＰ１とを結ぶ線分）を決定し、この長軸に直交する方向に短軸（Ｐ１とＰ２とを結ぶ線分の中点からＬ１方向に対して垂直な方向に所定の短軸距離ｂだけ離れた２つの位置Ｐ４及びＰ５を結ぶ線分）を決定し、楕円形の探索範囲を決定する。
【００５２】
この場合、制御部３０は、まず現在カーソル位置Ｐ１からＬ１方向に向かって、探索位置を所定の探索位置移動距離ずつ移動させながら、次にカーソルを移動すべき画像領域の探索を行い、次にカーソルを移動すべき画像領域が見出されない場合には、当該方向を所定の補正方向量（所定の補正角度等）だけ補正した探索方向を決定し、現在カーソル位置Ｐ１から当該補正した方向に向かって、当該探索範囲内で（図１１のＰ１から楕円上の位置Ｐ３及びＰ４に向かう方向に）探索を行う。そして、制御部３０は、この探索範囲内で次にカーソルを移動すべき画像領域が見出されない場合には、当該探索範囲の形状や大きさを補正して（例えば、楕円の長軸や短軸を補正して）、当該補正した探索範囲内で同様の探索を行う。なお、探索範囲の形状や大きさは図１１の例に限られない。
【００５３】
ここまでの説明においては、補正を行う際に、探索範囲を拡張することとしていたが、探索の対象となる画像領域を拡張する補正を行うこととしてもよい。そのような例としての拡張領域探索法について次に説明する。図１２は、制御部３０が拡張領域探索法を用いて探索を行う場合の画面上の探索位置及び探索方向の一例を表す説明図である。この例に於いて、制御部３０は、例えば、矩形の画像領域Ｍを所定の拡張量だけ拡張した拡張領域Ｎ１を探索対象として決定し、現在カーソル位置Ｐ１を探索開始位置として決定し、カーソル移動方向情報が示す方向（図１２のＬ１方向）を探索方向として決定する。この場合、制御部３０は、現在カーソル位置Ｐ１から探索方向に向かって、探索位置を所定の探索位置移動距離ずつ移動させながら、現在カーソル位置Ｐ１から探索方向へ延長した線分と最初に交差した拡張領域に対応する画像領域を探索する。そして、制御部３０は、この探索方向に画像領域が見出されない場合には、拡張領域Ｎ１をさらに所定の拡張量だけ拡張した拡張領域Ｎ２を生成し、再び現在カーソル位置Ｐ１から探索方向に向かって同様の探索を行う。即ち、図１２に示す例に於いては、制御部３０は、現在カーソル位置Ｐ１から探索方向に延長した線分と最初に交差した拡張領域Ｎ２に対応する画像領域Ｍを、次にカーソルを移動すべき画像領域として検出する。
【００５４】
なお、この場合、制御部３０が決定する拡張領域の形状は、画像領域をそのまま所定の倍率で拡張するものに限られず、例えば、画像領域の中心からの半径を決めて円形に設定してもよい。また、例えば、記憶部２０は、各画像領域を所定の拡張量（例えば、拡張倍率）だけ拡大した拡張領域について、その位置を特定するための情報（拡張領域位置特定情報）を予め記憶し、制御部３０は、この拡張領域位置特定情報に基づいて、探索対象が画像領域の場合と同様に、探索位置が拡張領域内に存するかどうか等を判断しながら探索を行ってもよい。また、制御部３０は、現在カーソル位置Ｐ１から探索方向に所定の探索幅をもつ探索範囲を決定し、当該探索範囲内で探索を行ってもよく、この場合、制御部３０は、例えば、この探索範囲と拡張領域との重なった面積が所定の面積（重複面積）よりも大きい場合に、次にカーソルを移動すべき画像領域が見出されたと判断するよう検出条件を決定してもよい。
【００５５】
ここで、制御部３０は、例えば、画像領域をその周辺に所定の拡張倍率だけ拡大した、画像領域と相似な形状の拡張領域を設定してもよいし、画像領域とは異なる形状の拡張領域を決定してもよい。また、この場合、制御部３０は、拡張量として拡張倍率に限らず関数等を用いてもよく、また、拡張量は画面上の複数の画像領域について共通でもよいし、各画像領域ごとに定めてもよい。
【００５６】
次に、より簡便な方法として、角度分割探索法について説明する。図１３は、制御部３０が角度分割探索法を用いて探索を行う場合の画面上の探索位置及び探索方向の一例を表す説明図である。この例に於いて、記憶部２０は、画面上の全範囲を、現在カーソル位置Ｐ１から所定の角度が示す方向ごとに分割した分割範囲（例えば、図１３のように０から９０度、９０から１８０度、１８０から２７０度、２７０から３６０度の４つの角度範囲）として記憶すると共に、各分割範囲内に於いて現在カーソル位置に最も近い画像領域を候補画像領域として各分割範囲ごとに記憶する（例えば、図１３の４つの画像領域Ｍ１、Ｍ２、Ｍ３、Ｍ４）。そして、制御部３０は、この記憶情報に基づいて、現在カーソル位置Ｐ１を基準としたカーソル移動方向情報が表す方向がいずれの分割範囲に属するかを判断し、当該方向が指し示す分割範囲内に対応して記憶されている候補画像領域を次にカーソルを移動すべき画像領域と判断する。なお、角度範囲の設定の仕方は図１３の例に限られない。
【００５７】
制御部３０はここに例示したような探索方法を用いて次にカーソルを移動するべき位置を決定することとしているが、これらの探索方法のいずれかを予め定めておくのではなく、これらの探索方法を組み合わせ、或いは切り替えながら探索条件を決定してもよい。例えば、制御部３０は、画面上に表示される画像領域の数や配置状況に基づいて設定される特定の指標（判断基準値）に基づいて、探索方法を選択してもよい。ここでの判断基準値としては、例えば、画面上に表示される画像領域の密集度（画面上の所定範囲内に存する画像領域の数）等を用いることができる。また、密集度は、画面内に存在する画像領域の総数として決定してもよいし、画像領域の総数を、画面の中心点或いは現在カーソル位置から各画像領域への距離の平均値を半径とする円の面積で除した値として決定してもよいし、現在カーソル位置から所定の距離範囲内に存在する画像領域の数として決定してもよい。制御部３０は、ユーザ指示情報を取得してから現在のカーソル位置に基づいて密集度を算出してもよい。
【００５８】
また、制御部３０は、事前に密集度を演算しておき、図１４に示すように、記憶部２０に格納しておいてもよい。
【００５９】
図１４は、図５に示したデータテーブルの変形例であり、画像領域識別情報、画像領域位置特定情報に加えて、各画像領域に対応させてその近傍の密集度Ｚ１及び遠方の密集度Ｚ２を含むデータテーブルの一例である。なお、図１４に示す密集度は、画面上に表示されている画像領域の総数を示している。
【００６０】
図１５は、制御部３０が、特定の指標（レベル値）に基づいて、上述の６つの探索方法のいずれかを選択する処理の一例を表すフロー図である。ここでレベル値は、例えば、制御部３０が行う探索処理の応答性（探索速度や探索精度等）を表す指標とすることができ、携帯端末装置１に於いて現在実行されている処理の内容ごと、または表示部４０が表示する画面ごと、或いは各画面上の画像領域の配置状況等に応じて決定できる。例えばユーザが操作部１０を介して入力する情報に基づいて決定してもよいし、現在の探索条件等に基づいて随時決定してもよい。
【００６１】
図１５に示す例に於いて、制御部３０は、携帯端末装置１に於いて現在実行されている処理の内容に基づいてレベル値を決定（Ｓ７１０）し、当該決定したレベル値と所定の閾値（レベル閾値Ｅ）とを比較（例えば、レベル値がレベル閾値より大きいかどうかを判断）する（Ｓ７２０）。そして、制御部３０は、例えば、レベル値がレベル閾値より大きい場合に、過去の探索に於ける誤検出率と所定の閾値（誤検出率閾値Ｆ）とを比較（例えば、誤検出率が所定誤検出率より大きいかどうかを判断）する（Ｓ７３０）。
【００６２】
ここで、誤検出率とは、例えば、制御部３０が、過去の探索処理に於いて、いったん次にカーソルを移動すべき画像領域を見出したと判断し、当該画像領域上にカーソルを移動してフォーカスを合わせたが、ユーザが当該画像領域に対して実際に何も操作しなかった場合、即ち、制御部３０がいずれかの画像領域にカーソルを移動したにも関わらず、ユーザがさらにカーソルの移動の操作を行った等、当該画像領域に対して文字入力やクリックといった操作を行わなかった場合（次にカーソルを移動すべき画像領域が誤って選択された場合）の回数と、制御部３０が過去の探索処理に於いて次にカーソルを移動すべき画像領域を見出したと判断した回数との割合として、制御部３０が算出する。この場合、誤検出率は、前回決定された探索条件による探索処理の正確性（探索精度）を表す情報であり、記憶部２０は、この誤検出率を随時記憶する。
【００６３】
次に、制御部３０は、誤検出率が誤検出率閾値Ｆ以下と判断すれば、前回と同じ探索方法を選択する（Ｓ７３２）。また、制御部３０は、レベル値がレベル閾値Ｅ以下と判断した場合、或いは誤検出率が誤検出率閾値Ｆより大きいと判断した場合には、画面上に表示されている画像領域の数と所定数（閾値Ｎ）との比較を行う（Ｓ７４０）。そして、制御部３０は、例えば、画像領域数が閾値Ｎ以下であれば、誤検出率と誤検出率閾値Ｆとを比較し（Ｓ７５０）、例えば、誤検出率が誤検出率閾値Ｆより小さければ角度分割探索法を選択し、誤検出率が誤検出率閾値Ｆより大きければ拡張領域探索法を選択する。
【００６４】
また、制御部３０は、画像領域数が閾値Ｎより大きいと判断した場合には、現在カーソル位置（現在フォーカスされている画像領域の位置）に対する周辺の画像領域の密集度(図１４の近傍密集度Ｚ１及び遠方密集度Ｚ２)と所定の密集度（第一乃至第三の所定密集度Ｄ１、Ｄ２、Ｄ３）とを比較する（Ｓ７６０〜Ｓ７８０）。そして、制御部３０は、例えば、近傍密集度Ｚ１が第一の密集度閾値Ｄ１より小さい場合には横断探索法を選択し（Ｓ７６２）、近傍密集度Ｚ１が第一の密集度閾値Ｄ１以上、且つ第二の密集度閾値Ｄ２未満の場合には縦断探索法を選択し（Ｓ７７２）、近傍密集度Ｚ１が第二の密集度閾値Ｄ２以上の場合には、さらに遠方密集度Ｚ２と第三の密集度閾値Ｄ３とを比較し（Ｓ７８０）、遠方密集度Ｚ２が第三の密集度閾値Ｄ３より小さい場合には放射探索法を選択し（Ｓ７８２）、遠方密集度Ｚ２が第三の密集度閾値Ｄ３より大きい場合には図形設定探索法を選択する（Ｓ７８４）。
【００６５】
なお、記憶部２０は、制御部３０が探索に使用した探索方法別に誤検出率を記憶しておき、制御部３０はこの記憶された誤検出率に基づいて探索方法を決定してもよい。この場合、制御部３０は、誤検出率が低い探索方法を優先的に選択するようにしてもよい。
【００６６】
また、探索方法は、ユーザから操作部１０を介して入力されることで設定されてもよい。図１６は、ユーザが探索方法を選択して設定する場合に表示部４０が表示する画面の一例を表す説明図である。図１５に示すように、表示部４０は、例えば、ユーザが画面上に表示される画像領域数の大小にのみ基づいて探索方法を簡易に選択したり、各画像領域の近傍及び遠方に於ける画像領域の密集度等に応じて探索方法を詳細に選択できるような画面を表示する。なお、このような探索方法の選択及び決定は、アプリケーションごとに予め設定されて記憶部２０が記憶してもよい。
【００６７】
次に、制御部３０がカーソル移動量情報に基づいて行う探索処理について説明する。この場合、カーソル移動量情報は、例えば、図２に示す操作部１０のスティック１２がユーザ操作によって傾けられた角度βに対応して、画面上の距離(探索距離)を表してもよいし、制御部３０が探索処理に用いる指標（移動量値）等を表してもよい。カーソル移動量情報が探索距離を表す場合、制御部３０は、例えば、カーソル移動方向情報に基づいて探索方向を決定し、当該探索方向に探索を行う距離（探索距離）をカーソル移動量情報に基づいて決定してもよい。
【００６８】
また、カーソル移動量情報が移動量値を表す場合、制御部３０は、移動量値の大きさに基づいて、次にカーソルを移動すべき画像領域の探索を継続するか否かを判断してもよい。この場合、例えば、記憶部２０は所定の移動量値範囲（所定移動量値範囲）を記憶し、制御部３０は、取得したカーソル移動量情報が表す移動量値の大きさと所定移動量値範囲とを比較し、当該移動量値の大きさに応じて、次にカーソルを移動すべき画像領域の探索を行ってもよい。この場合、例えば、制御部３０は、上述したような探索条件で探索を行い、次にカーソルを移動すべき画像領域として見出した画像領域の上にカーソルを移動したときに、ある所定移動量値範囲内の大きさの移動量値を所定の時間以上取得し続けると、そのカーソル位置からさらに継続して探索を行うようにしてもよい。
【００６９】
また、カーソル移動量情報が移動量値を表す場合、制御部３０は、例えば、取得する移動量値の大きさを判断し、移動量値が所定移動量範囲内であれば、画面上の現在カーソル位置から最も近い画像領域を選択し、移動量値が所定移動量範囲外であればより遠くの画像領域を選択するようにしてもよい。例えば、現在カーソル位置を予めカーソル移動方向情報によって特定される方向に上記移動量値分だけ仮想的に移動しておき、上述の各探索方法による探索を行ってもよい。
【００７０】
なお、記憶部２０は、例えば、所定移動量値範囲を複数記憶したり、所定の移動量値を記憶してもよく、制御部３０は、これらの数値範囲や値と取得した移動量値の大きさとを比較する等して、探索処理を決定してもよい。また、ポインティングデバイスとしてトラックボールのようにユーザがその操作量を保持しているということを検出できないものである場合には、そのユーザ操作の速度を表すカーソル移動量情報を生成し、制御部３０はこのカーソル移動量情報に基づいて探索処理を行うようにしてもよい。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施形態に係るカーソル移動支援装置を実装した携帯端末装置の概略の構成を示すブロック図である。
【図２】本発明の一実施形態に係るカーソル移動支援装置を実装した携帯端末装置の外観を示す説明図である。
【図３】本発明の一実施形態に係る制御部が行うカーソル移動支援処理の一例を示す機能ブロック図である。
【図４】本発明の一実施形態に係る制御部が行うカーソル移動支援処理の一例を示すフロー図である。
【図５】本発明の一実施形態に係る記憶部が記憶するデータテーブルの一例を示す図である。
【図６】本発明の一実施形態に係る制御部が縦断探索法によって行うカーソル移動支援処理の一例に於ける画面上の探索位置及び探索方向を示す説明図である。
【図７】本発明の一実施形態に係る制御部が縦断探索法によって行うカーソル移動支援処理の一例を示すフロー図である。
【図８】本発明の一実施形態に係る制御部が縦断探索法によって行うカーソル移動支援処理の一例を示すフロー図である。
【図９】本発明の一実施形態に係る制御部が横断探索法によって行うカーソル移動支援処理の一例に於ける画面上の探索位置及び探索方向を示す説明図である。
【図１０】本発明の一実施形態に係る制御部が放射探索法によって行うカーソル移動支援処理の一例に於ける画面上の探索位置及び探索方向を示す説明図である。
【図１１】本発明の一実施形態に係る制御部が図形設定探索法によって行うカーソル移動支援処理の一例に於ける画面上の探索位置及び探索方向を示す説明図である。
【図１２】本発明の一実施形態に係る制御部が拡張領域探索法によって行うカーソル移動支援処理の一例に於ける画面上の探索位置及び探索方向を示す説明図である。
【図１３】本発明の一実施形態に係る制御部が角度分割探索法によって行うカーソル移動支援処理の一例に於ける画面上の探索位置及び探索方向を示す説明図である。
【図１４】本発明の一実施形態に係る記憶部が記憶するデータテーブルの他の例を示す図である。
【図１５】本発明の一実施形態に係る制御部が行う探索方法の切り替え処理の一例を示すフロー図である。
【図１６】本発明の一実施形態に係る表示部がユーザによる探索方法の切り替えのために表示する画面の一例を示す図である。
【符号の説明】
【００７２】
１  携帯端末装置、１０  操作部、２０  記憶部、３０  制御部、３２  指示情報取得部、３４  探索条件決定部、３６  補正指示部、３８  探索実行部、４０  表示部。
【図１】
2005165449.tif 000003
【図２】
2005165449.tif 000004
【図３】
2005165449.tif 000005
【図４】
2005165449.tif 000006
【図５】
2005165449.tif 000007
【図６】
2005165449.tif 000008
【図７】
2005165449.tif 000009
【図８】
2005165449.tif 000010
【図９】
2005165449.tif 000011
【図１０】
2005165449.tif 000012
【図１１】
2005165449.tif 000013
【図１２】
2005165449.tif 000014
【図１３】
2005165449.tif 000015
【図１４】
2005165449.tif 000016
【図１５】
2005165449.tif 000017
【図１６】
2005165449.tif 000018