(57)【要約】【課題】ディスプレイに表示されたボタンのうちのいずれかを選択ボタンとしてポインタで選択する表示操作システムにおいて、ユーザの意思に反したボタンが選択されてしまうのを防止すること。【解決手段】ポインタに最も近いボタンをポインタの行先候補ボタンとして設定する（Ｓ１５）。ポインタがその行先候補ボタンの内部に無い場合には（Ｓ１６：ＮＯ）、ポインタの移動ベクトルと現在選択されている現在ボタンから行先候補ボタンへ向いた候補先ベクトルとが成すずれ角度を算出する（Ｓ１８〜Ｓ２０）。そのずれ角度が所定の角度範囲に含まれている場合には（Ｓ２２：ＹＥＳ）、その行先候補ボタンを選択ボタンとして決定する（Ｓ２３）。含まれていない場合には（Ｓ２２：ＮＯ）、他のボタンに対して、ステップＳ１５〜Ｓ２２の処理を実行する。【選択図】図５
2011107996.tif 000002
【特許請求の範囲】
【請求項１】
ポインタにより択一的に選択可能な複数のボタンが表示される表示手段と、
前記ポインタを移動させるためにユーザに操作され、所望する前記ポインタの動きに応じて操作内容を可変とすることができる操作手段と、
その操作手段の操作内容を検出する検出手段と、
その検出手段で検出された前記操作内容に応じた動きで前記ポインタを移動させるポインタ制御手段と、
前記ポインタに基づいて、ユーザが所望する前記ボタンを推定し選択ボタンとして決定するボタン決定手段と、を備える表示操作システムにおいて、
前記ボタン決定手段は、
前記ポインタの移動方向を示した移動ベクトルを算出する移動ベクトル算出手段を含み、
前記ポインタの現在の座標値と前記複数のボタンのそれぞれの座標値との間の距離である座標間距離及び前記移動ベクトルに基づいて、前記選択ボタンを決定することを特徴とする表示操作システム。
【請求項２】
前記ボタン決定手段は、
前記複数のボタンのうち、前記座標間距離が最も小さいボタンを前記ポインタの行き先の候補となる行先候補ボタンとして設定する行先候補ボタン設定手段と、
現在選択されている前記選択ボタンである現在ボタンから前記行先候補ボタンの所定の基準点へ向かう候補先ベクトルを算出する候補先ベクトル算出手段と、
前記移動ベクトルと前記候補先ベクトルとが成す角度をずれ角度として算出するずれ角度算出手段と、
前記ずれ角度が所定の角度範囲に含まれているか否かを判断する角度判断手段と、
前記ずれ角度が前記角度範囲に含まれている場合には前記行先候補ボタンを前記選択ボタンとして最終決定する一方で、前記ずれ角度が前記角度範囲に含まれていない場合には前記行先候補ボタンを前記選択ボタンとしない最終決定手段と、を含み、
前記ずれ角度が前記角度範囲に含まれていない場合には、前記最終決定手段で最終決定できるまで、他のボタンに対して、前記行先候補ボタン設定手段、前記候補先ベクトル算出手段、前記ずれ角度算出手段及び前記角度判断手段による処理を繰り返し実行することを特徴とする請求項１に記載の表示操作システム。
【請求項３】
前記候補先ベクトル算出手段は、前記現在ボタンを基点とした前記候補先ベクトルに換えて、前記ポインタの現在位置から前記行先候補ボタンの基準点へ向かう候補先ベクトルを算出することを特徴とする請求項２に記載の表示操作システム。
【請求項４】
前記候補先ベクトルの基点である前記現在ボタン又は前記ポインタの現在位置をベクトル基点として、
前記ボタン決定手段は、前記ベクトル基点と前記行先候補ボタンとの間の距離が大きいほど小さい幅となるように前記角度範囲を設定する角度範囲設定手段を含むことを特徴とする請求項２又は３に記載の表示操作システム。
【請求項５】
前記ボタン決定手段は、前記行先候補ボタンのサイズが小さいほど小さい幅となるように前記角度範囲を設定する角度範囲設定手段を含むことを特徴とする請求項２又は３に記載の表示操作システム。
【請求項６】
前記角度範囲設定手段は、
前記ベクトル基点から前記行先候補ボタンの各頂点へ向かう頂点ベクトルを算出する頂点ベクトル算出手段と、
前記頂点ベクトルごとに前記候補先ベクトルと成す角度を頂点角度として算出する頂点角度算出手段と、
その頂点角度算出手段で算出された前記頂点角度のうちの最大値及び最小値に基づいて、前記角度範囲の上下限値を設定する上下限値設定手段と、を含むことを特徴とする請求項４又は５に記載の表示操作システム。
【請求項７】
前記移動ベクトル算出手段は、前記ポインタの速さに相当する大きさの前記移動ベクトルを算出するものであり、
前記上下限値設定手段は、前記移動ベクトルの大きさが大きいほど前記角度範囲の幅が小さくなるように、前記頂点角度のうちの最大値及び最小値を補正して、その補正後の値を前記角度範囲の上下限値とすることを特徴とする請求項６に記載の表示操作システム。
【請求項８】
前記角度範囲設定手段は、現在を基準として過去の所定期間内に前記移動ベクトルの向きがどの程度変化したかを示した変化率を算出する変化率算出手段を含み、
前記上下限値設定手段は、前記変化率算出手段で算出された前記変化率が小さいほど前記角度範囲の幅が小さくなるように、前記頂点角度のうちの最大値及び最小値を補正して、その補正後の値を前記角度範囲の上下限値とすることを特徴とする請求項６又は７に記載の表示操作システム。
【請求項９】
前記角度範囲の上下限値の限界値が予め定められており、
前記角度範囲設定手段は、前記限界値の範囲内で、前記角度範囲を設定することを特徴とする請求項４〜８のいずれか１項に記載の表示操作システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが操作手段を操作することによって、表示手段に表示された複数のボタンのいずれかを選択する表示操作システムに関する。
【背景技術】
【０００２】
従来、例えば車両で用いられるナビゲーションシステムでは、表示手段であるディスプレイに、各数字に対応する数字ボタンや各仮名文字に対応する仮名ボタン等各種ボタンが画像として表示される。そして、例えば目的地設定操作をする際には、ユーザは、そのディスプレイに表示されたボタンを選択して目的地の住所や電話番号等、目的地を特定できる情報を入力することで、所望の目的地を設定することができる。
【０００３】
ここで、ディスプレイに表示されたボタンを選択する方法として、マウスやジョイスティック等、ユーザに操作される操作手段を利用する方法が知られている。具体的には、ディスプレイに表示された複数のボタンのいずれかを選択するためのポインタを移動させることによって所望のボタンを選択する。その際、操作手段が操作されると、その操作内容に応じた目的位置又は移動方向及び速さとする動きでポインタがディスプレイ上を移動する。すなわち、操作手段がジョイスティックの場合には、ユーザは、ジョイスティックを傾ける方向や傾ける角度等、ジョイスティックの操作を調節することによって、所望する目的位置又は移動方向及び速さでポインタを移動させることができる。そして、そのポインタを所望するボタンに合わせることによって、そのボタンを選択ボタンとして選択することができる。
【０００４】
そして従来、操作手段でのボタンの選択を容易にするために、ポインタを各ボタンの表示位置に正確に合わせなくてもボタンを選択できるようにした技術が提案されている（例えば、特許文献１、２参照）。これら特許文献１、２に開示されている技術は、外力を付与する電動モータ等の駆動手段が操作手段に接続されている。ユーザが操作手段でボタンを選択する際には、その駆動手段で操作手段に外力を付与して、ポインタに最も近いボタンにそのポインタを引き込ませる。その結果、ポインタに最も近いボタンが選択ボタンとして選択されることになる。これによれば、ユーザが所望するボタンの近くまでポインタを移動させれば、自動的にそのボタンにポインタが引き込まれるので、操作負担を軽減できる等のメリットがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１４１６７５号公報
【特許文献２】特開２００５−３３２３２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このように、特許文献１、２に開示されている技術は、ポインタの現在の座標値と複数のボタンのそれぞれの座標値との間の距離である座標間距離に基づいて、ユーザが所望するボタンを推定し選択ボタンとして決定するものである。しかしながら、座標間距離に基づいて選択ボタンを決定する方法では、以下に示すように、ユーザが意図しないボタンが選択されてしまう可能性がある。
【０００７】
ここで、図１２〜図１４は、このことを説明するための図である。図１２は、ディスプレイ５０に、ボタンＡ１１〜Ａ２７及びポインタＰが表示された状態図であり、（ａ）現在のディスプレイ５０を示した図、（ｂ）ユーザが意図したボタンＡｎが選択された場合のディスプレイ５０を示した図、（ｃ）ユーザが意図しないボタンＡｎが選択された場合のディスプレイ５０を示した図である。図１２に示すように、ディスプレイ５０には、その上段にボタンＡ１１〜Ａ１４が、その中段にボタンＡ２１〜Ａ２７が、その下段にボタンＡ３１が表示されている。
【０００８】
また、ディスプレイ５０には、ボタンＡｎのうちのいずれかを選択するためのポインタＰが表示されている。そして、ユーザが操作手段（図示外）を操作することによって、その操作内容に応じた動きでポインタＰが移動できるようになっている。なお、選択ボタンとして選択されているボタンＡｎには、そのことを示した強調枠１５が表示される。
【０００９】
ここで、現在、ボタンＡ２３が選択ボタンとして選択されており（図１２（ａ）参照）、ユーザは次にボタンＡ２７を選択したいと考えているとする（図１２（ｂ）参照）。この場合、ユーザは、操作手段を操作して、ポインタＰをボタンＡ２３からボタンＡ２７まで移動させる必要があるが、勢い余ってポインタＰがボタンＡ２７を通り超してしまうことがある。この場合、座標間距離に基づいて、選択ボタンを決定する方法によれば、ポインタＰに最も近いボタンＡｎが選択ボタンとして選択されることになる。そのため、図１２（ｃ）に示すように、ボタンＡ２７からの距離とボタンＡ３１からの距離とが等しい等距離線１０１よりもボタンＡ３１側の領域２０２にポインタＰが位置している場合には、ボタンＡ３１が選択ボタンとして選択されてしまうことになる。すなわち、ユーザの意図しないボタンが選択されてしまう。
【００１０】
また、図１３は、図１２の例において、選択できるボタンがボタンＡ２１、Ａ１４、Ａ２７、Ａ３１に限定されている状態を示した図である。なお、図１３には、ボタンＡ２１からの距離とボタンＡ１４からの距離とが等しい等距離線１０２、ボタンＡ１４からの距離とボタンＡ２７からの距離とが等しい等距離線１０３、ボタンＡ２７からの距離とボタンＡ３１からの距離とが等しい等距離線１０４を示している。ここで、現在、ボタンＡ２１が選択ボタンとして選択されており、ユーザは次にボタンＡ２７を選択したいと考えているとする。この場合、ポインタＰをボタンＡ２１からボタンＡ２７に移動させる必要があるが、その途中で、ポインタＰが、等距離線１０２、１０３よりもボタンＡ１４側の領域２０４を通過することがある。この場合、途中で、ボタンＡ１４が選択ボタンとして選択されてしまい、ユーザの意図に反することになる。特に、特許文献１、２のように自動的にポインタを選択ボタンに引き込ませるようにしている場合には、ポインタＰがボタンＡ１４に引き込まれてしまい、意図したボタンＡ２７が選択し難くなる。
【００１１】
また、図１４は、ディスプレイ５０の左上にボタンＡ４１が、左下にボタンＡ４２が、右下にボタンＡ４３が表示された状態を示した図である。なお、図１４には、ボタンＡ４１が選択される領域２０７、ボタンＡ４２が選択される領域２０８、ボタンＡ４３が選択される領域２０９も示している。この場合、例えば、ポインタＰをボタンＡ４１からボタンＡ４３に向けて移動させると、各領域２０７〜２０９の配置上、ポインタＰは、ボタンＡ４２が選択される領域２０８を通過せざるをえない。この場合も、意図しないボタンＡ４２が選択ボタンとして選択されてしまうことになる。
【００１２】
本発明は、上記した事情に鑑みてなされたものであり、ユーザが意図しないボタンが選択ボタンとして選択されてしまうのを防止することを課題とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明は、ポインタにより択一的に選択可能な複数のボタンが表示される表示手段と、
前記ポインタを移動させるためにユーザに操作され、所望する前記ポインタの動きに応じて操作内容を可変とすることができる操作手段と、
その操作手段の操作内容を検出する検出手段と、
その検出手段で検出された前記操作内容に応じた動きで前記ポインタを移動させるポインタ制御手段と、
前記ポインタに基づいて、ユーザが所望する前記ボタンを推定し選択ボタンとして決定するボタン決定手段と、を備える表示操作システムにおいて、
前記ボタン決定手段は、
前記ポインタの移動方向を示した移動ベクトルを算出する移動ベクトル算出手段を含み、
前記ポインタの現在の座標値と前記複数のボタンのそれぞれの座標値との間の距離である座標間距離及び前記移動ベクトルに基づいて、前記選択ボタンを決定することを特徴とする。
【００１４】
これによれば、ボタン決定手段が、座標間距離だけでなく、ポインタの移動ベクトルに基づいて選択ボタンを決定するので、ポインタに近いボタンであり、なおかつ、ポインタの移動方向に位置するボタンを選択ボタンとして決定することができる。ここで、ユーザは、選択ボタンとして選択したいボタンに向けてポインタを移動させると考えられるので、ポインタの移動方向、すなわち移動ベクトルの向きに位置するボタンが、ユーザが所望するボタンであると考えることができる。よって、勢い余ってポインタが所望するボタンを通り超してしまったり、ポインタの移動途中で、他のボタンの領域を通過したりしてしまった場合でも、移動ベクトルを考慮することによって他のボタンを選択ボタンとして決定してしまうことを防止できる。すなわち、ユーザが意図しないボタンが選択ボタンとして選択されてしまうのを防止できる。
【００１５】
また、本発明において、前記ボタン決定手段は、
前記複数のボタンのうち、前記座標間距離が最も小さいボタンを前記ポインタの行き先の候補となる行先候補ボタンとして設定する行先候補ボタン設定手段と、
現在選択されている前記選択ボタンである現在ボタンから前記行先候補ボタンの所定の基準点へ向かう候補先ベクトルを算出する候補先ベクトル算出手段と、
前記移動ベクトルと前記候補先ベクトルとが成す角度をずれ角度として算出するずれ角度算出手段と、
前記ずれ角度が所定の角度範囲に含まれているか否かを判断する角度判断手段と、
前記ずれ角度が前記角度範囲に含まれている場合には前記行先候補ボタンを前記選択ボタンとして最終決定する一方で、前記ずれ角度が前記角度範囲に含まれていない場合には前記行先候補ボタンを前記選択ボタンとしない最終決定手段と、を含み、
前記ずれ角度が前記角度範囲に含まれていない場合には、前記最終決定手段で最終決定できるまで、他のボタンに対して、前記行先候補ボタン設定手段、前記候補先ベクトル算出手段、前記ずれ角度算出手段及び前記角度判断手段による処理を繰り返し実行することを特徴とする。
【００１６】
これによれば、行先候補ボタン設定手段が、座標間距離が最も小さいボタンをポインタの行き先の候補となる行先候補ボタンとして設定する。そして、候補先ベクトル算出手段が、現在ボタンから行先候補ボタンの所定の基準点へ向かう候補先ベクトルを算出する。ここで、ユーザがその行先候補ボタンを次に選択ボタンとして選択したいと考えているとしたならば、ポインタを現在ボタンから行先候補ボタンに向けて移動させると考えられる。したがって、移動ベクトルと候補先ベクトルとは、ある程度向きが一致していると考えられる。一方で、候補先ベクトルは、行先候補ボタンの所定の基準点へ向かうベクトルであるので、その行先候補ボタンへ向けてポインタを移動させている場合であっても、行先候補ボタンのサイズ等を考慮すると、上記向きが厳密には一致していない場合もある。そのため、ずれ角度算出手段が、移動ベクトルと候補先ベクトルとが成す角度をずれ角度として算出する。そして、角度判断手段が、そのずれ角度が所定の角度範囲に含まれているか否かを判断する。
【００１７】
これにより、角度判断手段による判断結果に基づいて、行先候補ボタンにポインタを移動させる意思があるか否かを判断することができる。そして、ずれ角度が所定の角度範囲に含まれている場合には、行先候補ボタンにポインタを移動させる意思があると考えることができるので、最終決定手段が行先候補ボタンを選択ボタンとして最終決定する。反対に、ずれ角度が所定の角度範囲に含まれていない場合には、行先候補ボタンにポインタを移動させる意思がないと考えることができるので、その行先候補ボタンを選択ボタンとはしない。このように、ユーザが意図しないボタンが選択ボタンとして選択されてしまうのを防止できる。また、座標間距離が最も小さいボタンが行先候補ボタンとして設定されるので、ポインタに近いボタンを選択ボタンとして選択しやすくできる。
【００１８】
一方、ずれ角度が所定の角度範囲に含まれていない場合には、最終決定手段で最終決定できるまで、他のボタンに対して、行先候補ボタン設定手段、候補先ベクトル算出手段、ずれ角度算出手段及び角度判断手段による処理が繰り返し実行される。すなわち、ポインタに次に近いボタンから順に、各ボタンにポインタを移動させる意思があるか否かが判断されることになる。これによって、ポインタにできるだけ近く、なおかつ、ポインタの移動方向に位置するボタンを選択ボタンとして選択することができる。
【００１９】
また、上記候補先ベクトル算出手段において、現在ボタンを基点とした候補先ベクトルに換えて、ポインタの現在位置から行先候補ボタンの基準点へ向かう候補先ベクトルを算出するとしてもよい。
【００２０】
これによれば、ユーザが行先候補ボタンを次に選択ボタンとして選択したいと考えているとしたならば、ポインタを行先候補ボタンに向けて移動させると考えられるので、ポインタの現在位置を基点とした候補先ベクトルと移動ベクトルとも、ある程度向きが一致していると考えられる。よって、ポインタの現在位置を基点とした候補先ベクトルを用いて、上記行先候補ボタン設定手段、候補先ベクトル算出手段、ずれ角度算出手段、角度判断手段及び最終決定手段による処理を実行することで、行先候補ボタンにポインタを移動させる意思があるか否かを判断することができる。
【００２１】
また、本発明において、前記候補先ベクトルの基点である前記現在ボタン又は前記ポインタの現在位置をベクトル基点として、
前記ボタン決定手段は、前記ベクトル基点と前記行先候補ボタンとの間の距離が大きいほど小さい幅となるように前記角度範囲を設定する角度範囲設定手段を含むことを特徴とする。
【００２２】
これによれば、ポインタを行先候補ボタンの領域に移動させようとした場合に、現在ボタン又はポインタの現在位置と行先候補ボタンとの間の距離が小さければ、移動ベクトルの向きが候補先ベクトルの向きから多少ずれていたとしても、ポインタを行先候補ボタンの領域に移動させることができる。すなわち、現在ボタン又はポインタの現在位置であるベクトル基点と行先候補ボタンとの間の距離が小さければ、ずれ角度が多少大きくなっても、その行先候補ボタンにポインタを移動させる意思があると判断できる。一方で、ベクトル基点と行先候補ボタンとの間の距離が大きければ、移動ベクトルの向きが候補先ベクトルの向きからある程度ずれると、ポインタを行先候補ボタンの領域に移動させることができない。すなわち、ベクトル基点と行先候補ボタンとの間の距離が大きければ、ずれ角度がある程度大きくなると、その行先候補ボタンにポインタを移動させる意思はないと判断できる。このことを考慮して、角度範囲設定手段は、ベクトル基点と行先候補ボタンとの間の距離が小さければ、角度範囲を大きく設定し、ベクトル基点と行先候補ボタンとの間の距離が大きければ、角度範囲を小さく設定するので、ボタン決定手段は、行先候補ボタンにポインタを移動させる意思があるか否かを、その距離に応じて精度良く判断することができる。
【００２３】
また、本発明において、前記ボタン決定手段は、前記行先候補ボタンのサイズが小さいほど小さい幅となるように前記角度範囲を設定する角度範囲設定手段を含むことを特徴とする。
【００２４】
これによれば、ポインタを行先候補ボタンの領域に移動させようとした場合に、ベクトル基点と行先候補ボタンとの間の距離が同じとすると、小さいサイズの行先候補ボタンよりも大きいサイズの行先候補ボタンのほうが、ずれ角度が大きくても行先候補ボタンにポインタを移動させることができる。このことを考慮して、角度範囲設定手段が、行先候補ボタンのサイズが小さいほど小さい幅となるように角度範囲を設定するので、ボタン決定手段は、行先候補ボタンにポインタを移動させる意思があるか否かを、行先候補ボタンのサイズに応じて精度良く判断することができる。
【００２５】
また、本発明において、前記角度範囲設定手段は、
前記ベクトル基点から前記行先候補ボタンの各頂点へ向かう頂点ベクトルを算出する頂点ベクトル算出手段と、
前記頂点ベクトルごとに前記候補先ベクトルと成す角度を頂点角度として算出する頂点角度算出手段と、
その頂点角度算出手段で算出された前記頂点角度のうちの最大値及び最小値に基づいて、前記角度範囲の上下限値を設定する上下限値設定手段と、を含むことを特徴とする。
【００２６】
これによれば、頂点ベクトル算出手段が算出する頂点ベクトルは、ベクトル基点と行先候補ボタンとの間の距離や行先候補ボタンのサイズによって変わる。したがって、頂点角度算出手段が算出する頂点角度は、各頂点ベクトルと候補先ベクトルとが成す角度であるので、そのうちの最大値及び最小値は、ベクトル基点と行先候補ボタンとの間の距離及び行先候補ボタンのサイズを反映したものと言える。すなわち、ベクトル基点と行先候補ボタンとの間の距離が大きいほど、頂点角度の最大値及び最小値が小さくなると考えられる。また、行先候補ボタンのサイズが小さいほど、頂点角度の最大値及び最小値が小さくなると考えられる。したがって、上下限値設定手段が、頂点角度のうちの最大値及び最小値に基づいて、角度範囲の上下限値を設定するので、ベクトル基点と行先候補ボタンとの間の距離や行先候補ボタンのサイズを反映した角度範囲を設定することができる。よって、ボタン決定手段は、行先候補ボタンにポインタを移動させる意思があるか否かを、ベクトル基点と行先候補ボタンとの間の距離及び行先候補ボタンのサイズに応じて、精度良く判断することができる。
【００２７】
また、本発明において、前記移動ベクトル算出手段は、前記ポインタの速さに相当する大きさの前記移動ベクトルを算出するものであり、
前記上下限値設定手段は、前記移動ベクトルの大きさが大きいほど前記角度範囲の幅が小さくなるように、前記頂点角度のうちの最大値及び最小値を補正して、その補正後の値を前記角度範囲の上下限値とすることを特徴とする。
【００２８】
これによれば、ポインタを移動させる方向に対してユーザに迷いがある場合には、ポインタの移動速度は遅くなると考えられる。これに対し、迷いが無い場合には、ポインタの移動速度は、迷いが無い場合に比べて速くなると考えられる。このことを考慮して、移動ベクトル算出手段が、ポインタの速さに相当する大きさの移動ベクトルを算出し、上下限値設定手段が、移動ベクトルの大きさが大きいほど角度範囲の幅が小さくなるように、頂点角度のうちの最大値及び最小値を補正して、その補正後の値を角度範囲の上下限値とする。これにより、行先候補ボタンにポインタを移動させる意思があるか否かを、ユーザに迷いがあるか否かを考慮して、より精度良く判断することができる。
【００２９】
また、本発明において、前記角度範囲設定手段は、現在を基準として過去の所定期間内に前記移動ベクトルの向きがどの程度変化したかを示した変化率を算出する変化率算出手段を含み、
前記上下限値設定手段は、前記変化率算出手段で算出された前記変化率が小さいほど前記角度範囲の幅が小さくなるように、前記頂点角度のうちの最大値及び最小値を補正して、その補正後の値を前記角度範囲の上下限値とすることを特徴とする。
【００３０】
これによれば、ポインタを移動させる方向に対してユーザに迷いがある場合には、ポインタを移動させている最中にその移動方向がよく変化すると考えられる。これに対し、迷いが無い場合には、ポインタの移動方向はそれほど変化しないと考えられる。このことを考慮して、変化率算出手段が、現在を基準として過去の所定期間内に移動ベクトルの向きがどの程度変化したかを示した変化率を算出し、上下限値設定手段が、その変化率が小さいほど角度範囲の幅が小さくなるように、頂点角度のうちの最大値及び最小値を補正して、その補正後の値を角度範囲の上下限値とする。これにより、行先候補ボタンにポインタを移動させる意思があるか否かを、ユーザに迷いがあるか否かを考慮して、より精度良く判断することができる。
【００３１】
また、本発明において、前記角度範囲の上下限値の限界値が予め定められており、
前記角度範囲設定手段は、前記限界値の範囲内で、前記角度範囲を設定することを特徴とする。
【００３２】
これによれば、角度範囲の上下限値の限界値が予め定められており、角度範囲設定手段が、その限界値の範囲内で角度範囲を設定するので、角度範囲の下限を小さくしすぎることによって、行先候補ボタンが必要以上に選択ボタンとして選択しにくくなってしまうのを防止できる。また、角度範囲の上限を大きくしすぎることによって、行先候補ボタンが必要以上に選択ボタンとして選択しやすくなってしまうのを防止できる。
【図面の簡単な説明】
【００３３】
【図１】車室内における表示操作システム１の設置状態を示す図である。
【図２】操作デバイス２０の詳細を示した図である。
【図３】表示操作システム１の電気的構成を示すブロック図である。
【図４】ディスプレイ５０の表示内容の一例を示した図である。
【図５】引き込み先のボタンを決定するボタン決定処理の示したフローチャートである。
【図６】第一実施形態におけるずれ角度θや頂点ベクトルＤ、頂点角度αの算出の仕方を説明するための図である。
【図７】図５のステップＳ２１の角度範囲設定処理の詳細を示したフローチャートである。
【図８】過去１０回分の移動ベクトルＶを示した図である。
【図９】補正係数Ｋの一例を示した図である。
【図１０】第二実施形態におけるずれ角度θや頂点ベクトルＤ、頂点角度αの算出の仕方を説明するための図である。
【図１１】ディスプレイ、システム機器、操作デバイスの各種組み合わせを示した図である。
【図１２】ディスプレイ５０の表示内容を例示した図であり、ユーザの意思に反したボタンＡｎが選択されてしまうことを説明するための図である。
【図１３】ディスプレイ５０の表示内容を例示した図であり、ユーザの意思に反したボタンＡｎが選択されてしまうことを説明するための図である。
【図１４】ディスプレイ５０の表示内容を例示した図であり、ユーザの意思に反したボタンＡｎが選択されてしまうことを説明するための図である。
【発明を実施するための形態】
【００３４】
（第一実施形態）
以下、本発明の表示操作システムの第一実施形態を、図面を参照して説明する。図１は、本発明の表示操作システムを車両に適用した場合の、車室内における表示操作システム１の設置状態を示す図である。図２（ａ）は、図１の表示操作システム１における操作デバイス２０を側面方向から見た断面図、図２（ｂ）は、操作デバイス２０を平面方向から見た断面図である。図３は、図１の表示操作システム１の電気的構成を示すブロック図である。
【００３５】
図１の表示操作システム１は、ポインタにより択一的に選択可能な複数のボタンを、互いに隣接する形で表示することができるディスプレイ５０（表示手段）と、そのディスプレイ５０上にてポインタを移動操作するための操作デバイス（操作手段）２０と、それらディスプレイ５０と操作デバイス２０とを制御対象とする制御部１００とを主として備えて構成される。
【００３６】
ディスプレイ５０は、例えば周知の液晶表示装置等を用いることができる。操作デバイス２０は、ユーザにより操作される周知のポインティングデバイスを用いることができ、ここでは二次元操作自由度を有したジョイスティック型操作部である。なお、操作デバイス２０は、ジョイスティック型に限られず、同じく二次元操作自由度を有したスライダー型やトラックボール型等の他の種類の操作部であってもよい。
【００３７】
ここでの操作デバイス２０は、図２に示すように、装置筐体３１から突出する揺動支柱２１ａを有する操作装置本体２１と、揺動支柱２１ａの先端部に取り付けられる操作ノブ２２と、操作ノブ２２になされる操作に対し操作反力を付与するための第一及び第二のアクチュエータ２３、２４と、操作ノブ２２を介してなされる二次元操作入力変位を検出する第一及び第二の検出部（検出手段）２５、２６とを有して構成される。
【００３８】
操作装置本体２１は、図２に示すように、揺動支柱２１ａと、装置筐体３１と、装置筐体３１に対しｙ軸線周りに回転可能に固定されて揺動支柱２１ａをｙ軸線周りに揺動可能に支持する第一の揺動支持部材３２と、装置筐体３１に対しｙ軸線方向に直交するｘ軸線周りに回転可能に固定されて揺動支柱２１ａのｙ軸方向の揺動変位を許容する形で該揺動支柱２１ａを第一の揺動支持部材３２ごとｘ軸線周りに揺動可能に支持する第二の揺動支持部材３３と、を有して構成される。この構成の場合、操作ノブ２２をｘ軸方向（Ｘ−Ｘ方向）に操作すると、第一の揺動支持部材３２がｙ軸線周りに回転し、これにより揺動支柱２１ａがｙ軸線周りに揺動する。また、操作ノブ２２をｙ軸方向（Ｙ−Ｙ方向）に操作すると、第二の揺動支持部材３３がｘ軸周りに回転し、これにより、ｙ軸周りを揺動する揺動支柱２１ａを、これを支持する第一の揺動支持部材３２ごと、ｘ軸線周りに揺動する。
【００３９】
なお、本実施形態においては、第二の揺動支持部材３３にｘ軸方向に延びる開口３３ａが設けられており、揺動支柱２１ａの下端部が、当該開口３３ａ内を貫通する形で配置される。その開口幅（開口の延出方向及び深さ方向に対し直交する方向）は、揺動支柱２１ａの下端部の直径よりも若干大きい程度に形成されているため、揺動支柱２１ａの下端部は、第二の揺動支持部材３３に対し、ｘ軸方向（Ｘ−Ｘ方向：開口の延出方向）への変位は摺動の形で許容されるものの、ｙ軸方向（Ｙ−Ｙ方向：開口幅方向）への変位は妨げられる。つまり、操作ノブ２２をｘ軸方向（Ｘ−Ｘ方向）に操作すると、揺動支柱２１ａの下端部が第二の揺動支持部材３３の開口３３ａの開口長さ方向（開口の延出方向：ｘ軸方向）に摺動可能であるから、揺動支柱２１ａは、第二の揺動支持部材３３とは無関係に、ｙ軸周りを揺動する。他方、操作ノブ２２をｙ軸方向（Ｙ−Ｙ方向）に操作すると、揺動支柱２１ａの下端部が第二の揺動支持部材３３の開口３３ａの開口幅方向（Ｙ−Ｙ方向：ｙ軸方向）側の内壁面に当接し、これを押圧するので、揺動支柱２１ａは、第二の揺動支持部材３３と一体となって、ｘ軸線周りを揺動する。
【００４０】
つまり、揺動支柱２１ａは、ｘ軸周りとｙ軸周りの双方の揺動動作がそれぞれ独立に可能であり、これにより、操作ノブ２２は、予め定められた二次元操作面上にて操作される。そして、第一の揺動支持部材３２は、揺動支柱２１ａのｙ軸周りの揺動量に比例する回転量だけｙ軸周りに回転し、第二の揺動支持部材３３は、揺動支柱２１ａのｘ軸周りの揺動量に比例する回転量だけｘ軸周りに回転し、これらの回転量が検出部２５、２６により検出される。
【００４１】
アクチュエータ２３、２４は、揺動支柱２１ａを介して操作ノブ２２に操作反力を付与するものである。第一のアクチュエータ２３は、第一の揺動支持部材３２に連結され、揺動支柱２１ａをｙ軸周りに回転駆動し、第二のアクチュエータ２４は、第二の揺動支持部材３３に連結され、揺動支柱２１ａをｙ軸周りに回転駆動する。これら第一及び第二のアクチュエータ２３、２４には、ＤＣモータなどの電動モータを用いることができる。
【００４２】
検出部２５、２６は、揺動支柱２１ａの直交するｘ、ｙ軸周りの回転量（操作量）をそれぞれ検出するものである。第一及び第二の検出部２５、２６は、対応するアクチュエータ２３、２４の回転軸に連結されて、それら回転軸の回転方向と回転量とを検出し、それに応じた電気信号を出力するものであって、例えばロータリエンコーダなどを用いることができる。
【００４３】
また、操作装置本体２１には、揺動支柱２１ａ全体をｚ軸方向に押し込む操作（プッシュ操作）により決定入力を受け付ける決定スイッチ（押圧スイッチ）２９が設けられる。決定スイッチ２９は、押圧操作面を揺動支柱２１ａの下端面に対向させた形で配置され、該押圧操作面に所定の押圧変位を検出し、それに伴い所定の電気信号を出力するものであり、例えばタクトスイッチなどを用いることができる。
【００４４】
各種記憶部６０は、ボタンを選択指示するポインタのディスプレイ５０における位置を記憶するポインタ位置記憶部６１と、各種の画面毎に、表示されるボタンの画像や表示位置（配置位置）といったボタン情報を記憶するボタン情報記憶部６２と、各種の画面毎に、それら画面内の任意の地点において操作反力の標準反力レベル値を決定するための標準反力情報（演算式等）を記憶する標準反力情報記憶部６３と、本実施形態の表示操作システム１を実現するための各種動作プログラムを記憶する動作プログラム記憶部６５と、を備える。
【００４５】
動作プログラム記憶部６５に記憶される動作プログラムには、ディスプレイ５０にボタンを表示するためのプログラムや、操作デバイス２０の操作に応じて入力される検出部２５、２６からの検出信号に基づいて、ポインタの移動先の位置を算出するプログラム、算出されるポインタの移動先の位置に基づいて、ポインタをディスプレイ５０において移動させるプログラム、画面表示されたボタン上で、決定スイッチ２９の操作入力があった場合に、操作入力がされたボタンに対応する制御を実施させるプログラムといった、ポインティングデバイスにおける周知の各種動作プログラムが含まれる。
【００４６】
また、本実施形態においては、これらに加えて、算出されるポインタの指示位置において操作デバイス２０（操作ノブ２２）に付与する操作反力値を決定・設定する操作反力制御プログラム６５ａと、ディスプレイ５０に表示されているボタンのうち、ポインタの引き込み先のボタンをポインタに基づいて決定する引込ボタン判定プログラム６５ｂと、を動作プログラム記憶部６５に記憶している。
【００４７】
制御部１００は、図３に示すように、タイマー１００ａを備えたＣＰＵ又はＭＰＵである。制御部１００は、各種記憶部６０と、決定スイッチ２９から出力されるスイッチ信号を制御部１００に取り込む信号入力部４１と、第一及び第二の検出部２５、２６から出力される各検出信号を制御部１００に取り込む信号入力部４２と、制御部１００から出力されるアクチュエータ駆動信号に応じて第一及び第二のアクチュエータ２３、２４を駆動させる第一及び第二のモータドライバ４３、４４と、制御部１００から出力されるディスプレイ駆動信号に応じてディスプレイ５０を駆動させるディスプレイドライバ４５と接続する。
【００４８】
その制御部１００は、上記した動作プログラム記憶部６５に記憶されている各プログラムに従って、ディスプレイ５０にボタンを表示するボタン表示処理、ポインタをディスプレイ５０上で移動させるポインタ制御処理、引き込み先のボタン（選択ボタン）を決定するボタン決定処理、決定した引き込み先のボタンにポインタを引き込むようにアクチュエータ２３、２４を制御するアクチュエータ制御処理等、各種処理を実行する。
【００４９】
ここで、図４は、ボタン表示処理及びポインタ制御処理を実行した際のディスプレイ５０の表示内容の一例を示した図である。図４に示すように、制御部１００は、ディスプレイ５０に、その上段にボタンＡ１１〜Ａ１４を、その中段にボタンＡ２１〜Ａ２７を、その下段にボタンＡ３１を表示させる。これらボタンＡｎは、それぞれ種類が異なるボタンであり、例えば、上段のボタンＡ１１〜Ａ１４は数字に対応したボタンとされ、中段のボタンＡ２１〜Ａ２７は仮名文字に対応したボタンとされ、下段のボタンＡ３１は決定ボタンとされる。そして、制御部１００は、各ボタンＡｎに重ねて、対応する数字、仮名文字等を表示させる。これによって、ユーザは、どのボタンＡｎを選択すれば、どの情報を入力できるかを容易に把握できる。
【００５０】
また、制御部１００は、ボタンＡｎのうちのいずれかを選択するためのポインタＰがディスプレイ５０上に位置するように、その座標値を決定する。ただし、本実施形態では、ディスプレイ５０の見た目をシンプルにして、見た目をよくするために、ポインタＰをディスプレイ５０に表示しないようにしている。なお、図４の例では、説明の便宜のために、現在のポインタＰを示している。そして、ユーザが操作デバイス２０を操作することによって、制御部１００は、その操作内容に応じた移動方向及び速さでポインタＰを移動させる。具体的には、図２の座標系と図４の座標系が対応しており、操作デバイス２０の操作方向にポインタＰが移動するように、制御部１００は、ポインタＰの動きを制御する。例えば、操作デバイス２０が図２のＸ軸方向に操作（Ｙ軸周りに回転）された場合には、検出部２５、２６がその操作方向を示した電気信号を出力する。その電気信号は、信号入力部４２を介して制御部１００に入力される。そして、制御部１００は、入力された電気信号に基づいて操作デバイス２０がＸ軸方向に操作されたことを把握し、ポインタＰを図４のＸ軸方向に移動させる。なお、制御部１００が本発明の「ポインタ制御手段」に相当する。
【００５１】
また、操作デバイス２０の回転量とポインタＰの移動速さが対応しており、制御部１００は、検出部２５、２６が検出した操作デバイス２０の回転量に基づいて、その回転量が大きくなるほど大きな速さでポインタＰを移動させる。
【００５２】
なお、操作デバイス２０の回転量とポインタＰの移動先の位置とが対応したタイプの操作デバイス２０を用いることもできる。この場合、制御部１００は、検出部２５、２６が検出した操作デバイス２０の回転量に応じた位置にポインタＰを移動させる。
【００５３】
また、引き込み先のボタン（選択ボタン）として現在選択されているボタンＡｎである現在ボタンＢには、そのことを示した強調枠１５が表示される。このように強調枠１５を表示することによって、ユーザは、どのボタンＡｎが現在選択されているのかを容易に把握でき、さらに、強調枠１５を目印としてポインタＰを移動させるための操作を容易にすることができる。なお、図４の例では、ボタンＡ２３が引き込み先のボタンＢとして現在選択されている。
【００５４】
上記したように構成された表示操作システム１は、例えば、車両のナビゲーションシステムにおける目的地設定の際に適用される。具体的には、例えばディスプレイ５０に、目的地を特定できる情報としての住所、電話番号、施設名等を入力するための数字、仮名、アルファベット等、各種文字を示したボタンＡｎが表示される。また、ポインタＰがディスプレイ５０上に位置される。そして、ユーザは、操作デバイス２０を操作して、ポインタＰを所望するボタンＡｎに順番に合わせることによって、所望する目的地の情報を入力することができる。この際、ポインタＰを各ボタンＡｎの表示位置に正確に合わせなくてもボタンＡｎを選択できるように、ユーザが所望するボタンＡｎが推定されて、そのボタンＡｎにポインタＰが引き込まれるようにアクチュエータ２３、２４が制御される。
【００５５】
そこで次に、引き込み先のボタン（選択ボタン）を決定するボタン決定処理の詳細を説明する。ここで、図５は、ボタン決定処理を示したフローチャートである。なお、このボタン決定処理は、制御部１００によって、一定間隔で繰り返し実行される。なお、ボタン決定処理を実行する制御部１００が本発明の「ボタン決定手段」に相当する。
【００５６】
先ず、ステップＳ１１では、ポインタＰと各ボタンＡｎとの間の距離をそれぞれ算出する。具体的には、ポインタＰの座標値と各ボタンＡｎの辺の座標値との間の距離を座標間距離として算出する。なお、ポインタＰの座標値と各ボタンＡｎの中心点の座標値との間の距離を座標間距離として算出してもよい。そして、ステップＳ１２では、その座標間距離が小さい順に各ボタンＡｎを順位付け（Ｎ＝１、２・・・）する。すなわち、最も座標間距離が小さいボタンＡｎには順位Ｎ＝１を、次に座標間距離が小さいボタンＡｎには順位Ｎ＝２を付与し、他のボタンＡｎにも同じように順位Ｎを付与する。
【００５７】
続くステップＳ１３では、引き込み先のボタンとして現在選択されている現在ボタンＢの内部にポインタＰが有るか否かを判断する。現在ボタンＢの内部にポインタＰが有る場合には（Ｓ１３：ＹＥＳ）、ステップＳ１４で、引き込み先を現在ボタンＢに維持することを決定する。すなわち、ポインタＰの引き込み先は、現在ボタンＢに維持されることになる。その後、図５のフローチャートの処理を終了する。
【００５８】
一方、ステップＳ１３において、現在ボタンＢの内部にポインタＰが無い場合には（Ｓ１３：ＮＯ）、処理をステップＳ１５に進める。そして、ステップＳ１５では、ステップＳ１２の順位付けによる順位Ｎが最も高いボタンＡｎ、すなわち、最も座標間距離が小さいボタンＡｎを、ポインタＰの行き先の候補となる行先候補ボタンＣとして設定する。なお、ステップＳ１５を実行する制御部１００が本発明の「行先候補ボタン設定手段」に相当する。
【００５９】
続くステップＳ１６では、行先候補ボタンＣの内部にポインタＰが有るか否かを判断する。有る場合には（Ｓ１６：ＹＥＳ）、ステップＳ１７で、引き込み先をその行先候補ボタンＣに決定する。この場合、制御部１００は、その行先候補ボタンＣにポインタＰを引き込むように、アクチュエータ２３、２４を制御することになる。その後、図５のフローチャートの処理を終了する。
【００６０】
一方、ステップＳ１６において、行先候補ボタンＣの内部にポインタＰが無い場合には（Ｓ１６：ＮＯ）、ステップＳ１８以下の処理に進んで、ポインタＰの移動方向及び移動速さに基づいて、ユーザがその行先候補ボタンＣにポインタＰを移動させる意思があるか否かを判断する。ここで、図６は、その判断方法を説明するための図であり、現在ボタンＢ、行先候補ボタンＣ及びポインタＰを示している。以下、この図６も参照しながら、ステップＳ１８以下の処理を説明する。
【００６１】
ステップＳ１８では、向きがポインタＰの移動方向を示し、大きさがポインタＰの移動速さを示した移動ベクトルＶ（図６（ａ）参照）を算出する。その移動ベクトルＶは、例えば、現在の操作デバイス２０の操作方向及び操作量（操作ノブ２２の回転量）に基づいて算出する。なお、操作デバイス２０の操作量がポインタＰの移動先の位置に対応しているタイプの操作デバイス２０の場合には、移動前後でのポインタＰの移動距離がポインタＰの移動速さに対応していると考えられる。よって、この場合も、操作デバイス２０の操作方向及び操作量に基づいて、移動ベクトルＶを算出することができる。なお、ステップＳ１８を実行する制御部１００が本発明の「移動ベクトル算出手段」に相当する。
【００６２】
続くステップＳ１９では、現在ボタンＢの中心点Ｏ１（ベクトル基点）から行先候補ボタンＣの中心点Ｏ２（基準点）へ向かう候補先ベクトルＤ０（図６（ａ）参照）を算出する。なお、ステップＳ１９を実行する制御部１００が本発明の「候補先ベクトル算出手段」に相当する。
【００６３】
続くステップＳ２０では、移動ベクトルＶと候補先ベクトルＤ０とが成す角度θ（図６（ａ）参照）をずれ角度θとして算出する。なお、ステップＳ２０を実行する制御部１００が本発明の「ずれ角度算出手段」に相当する。
【００６４】
ここで、ユーザが行先候補ボタンＣにポインタＰを移動させる意思があるならば、移動ベクトルＶの向きは、候補先ベクトルＤ０の向きとある程度一致していると考えられる。つまり、ずれ角度θがある角度範囲（θｍｉｎ〜θｍａｘ）に含まれているか否かを判断することによって、行先候補ボタンＣにポインタＰを移動させる意思の有無を判断することができる。この際、ユーザがポインタＰをどのような向きや速度で移動させるか、すなわち、どのような移動ベクトルＶでポインタＰが移動させるかは、ユーザがポインタＰを移動させたいと考えているボタンＡｎに応じて変わってくると考えられる。例えば、移動先のボタンＡｎのサイズが大きいほど、ポインタＰの移動方向の自由度が大きくなる。したがって、上記角度範囲（θｍｉｎ〜θｍａｘ）を固定値とすると、例えばサイズが大きい行先候補ボタンＣに対しては、ポインタＰの移動方向の自由度が大きいにもかかわらず角度範囲（θｍｉｎ〜θｍａｘ）が小さすぎて、その行先候補ボタンＣに移動させる意思があると判断しにくくなってしまう。
【００６５】
また、ユーザがポインタＰの移動先を迷っている場合には、ポインタＰをゆっくり移動させたり、ポインタＰの移動方向が安定しなかったりする。この場合も、角度範囲（θｍｉｎ〜θｍａｘ）を固定値とすると、ユーザが意図した行先候補ボタンＣに対して意図なしと判断したり、反対に、ユーザが意図しない行先候補ボタンＣに対して意図ありと判断したりするおそれがある。このことを考慮して、ステップＳ２１では、行先候補ボタンＣのサイズやポインタＰの移動速さ等に応じた角度範囲（θｍｉｎ〜θｍａｘ）を設定する。具体的には、図７のフローチャートの処理を実行する。なお、ステップＳ２１を実行する制御部１００が本発明の「角度範囲設定手段」に相当する。
【００６６】
先ず、ステップＳ３１では、図６（ｂ）に示すように、現在ボタンＢの中心点Ｏ１から行先候補ボタンＣの各頂点ｎ１〜ｎ４へ向かう頂点ベクトルＤ１〜Ｄ４を算出する。なお、ステップＳ３１を実行する制御部１００が本発明の「頂点ベクトル算出手段」に相当する。
【００６７】
続くステップＳ３２では、頂点ベクトルＤ１〜Ｄ４ごとに候補先ベクトルＤ０と成す角度を頂点角度α１〜α４として算出する（図６（ｂ）参照）。この際、候補先ベクトルＤ０で分断される領域のうち、予め定めた一方の領域に含まれている頂点ｎ１〜ｎ４に対応する頂点角度α１〜α４はプラスの角度として算出し、他方の領域に含まれている頂点ｎ１〜ｎ４に対応する頂点角度α１〜α４はマイナスの角度として算出するようにする。例えば図６（ｂ）の例では、頂点ｎ２、ｎ３は候補先ベクトルＤ０で分断される一方の領域に含まれているのに対し、頂点ｎ１、ｎ４は他方の領域に含まれているので、頂点ｎ２、ｎ３に対応する頂点角度α２、α３は＋α２、＋α３として算出し、頂点ｎ１、ｎ４に対応する頂点角度α１、α４は−α１、−α４として算出する。なお、ステップＳ３２を実行する制御部１００が本発明の「頂点角度算出手段」に相当する。
【００６８】
続くステップＳ３３では、現在を基準として過去の所定期間内における移動ベクトルＶの大きさ｜Ｖ｜の平均値｜Ｖ｜ａｖｅを算出する。ここで、図８は、平均値｜Ｖ｜ａｖｅの算出方法を説明するための図であり、現在を基準として過去の所定期間内における移動ベクトルＶｔ〜Ｖｔ−９を示した図である。これら移動ベクトルＶｔ〜Ｖｔ−９はそれぞれ一定時間（例えば０．１秒）における移動ベクトルＶであり、現在を基準として過去１０回分の移動ベクトルＶである。そして、このステップＳ３３では、先ず各移動ベクトルＶｔ〜Ｖｔ−９の大きさ｜Ｖｔ｜、｜Ｖｔ−１｜、・・・、｜Ｖｔ−８｜、｜Ｖｔ−９｜を算出する。次いで、大きさ｜Ｖｔ｜、｜Ｖｔ−１｜、・・・、｜Ｖｔ−８｜、｜Ｖｔ−９｜の平均値｜Ｖ｜ａｖｅを算出する。
【００６９】
このように、平均値｜Ｖ｜ａｖｅを算出しているのは、現在の移動ベクトルＶの大きさ｜Ｖ｜がたまたま大きくなったり、小さくなったりした場合でも、正確な角度範囲（θｍｉｎ〜θｍａｘ）を設定できるようにするためである。
【００７０】
続くステップＳ３４では、現在を基準として過去の所定期間内に移動ベクトルＶの向きφがどの程度変化したかを示した変化率Δφを算出する。具体的には、移動ベクトルＶの平均値｜Ｖ｜ａｖｅを算出したときと同様に、現在を基準として過去１０回分の移動ベクトルＶｔ〜Ｖｔ−９に基づいて算出する。すなわち、先ず、各移動ベクトルＶｔ〜Ｖｔ−９の向きφｔ〜φｔ−９を、図８に示すように例えばＸ軸と成す角度として算出する。次いで、それら向きφｔ〜φｔ−９の平均値φａｖｅを算出する。次いで、向きφｔ〜φｔ−９のうちの最大値φｍａｘ、最小値φｍｉｎ及び平均値φａｖｅを下記式１に代入して、変化率Δφを算出する。なお、ステップＳ３４を実行する制御部１００が本発明の「変化率算出手段」に相当する。
（式１）  ｜φｍａｘ−φｍｉｎ｜／φａｖｅ
【００７１】
続くステップＳ３５では、角度範囲（θｍｉｎ〜θｍａｘ）の上下限値θｍａｘ、θｍｉｎを算出するための補正係数Ｋを、先に算出した移動ベクトルＶの平均値｜Ｖ｜ａｖｅ及び移動ベクトルＶの変化率Δφに基づいて決定する。本実施形態では、後述するように、頂点角度α１〜α４の最大値αｍａｘ、最小値αｍｉｎに基づいて、角度範囲（θｍｉｎ〜θｍａｘ）の上下限値θｍａｘ、θｍｉｎを算出している。そして、この補正係数Ｋは、その頂点角度α１〜α４の最大値αｍａｘ、最小値αｍｉｎを補正するための係数であり、値が大きくなるほど角度範囲（θｍｉｎ〜θｍａｘ）の幅が小さくなる係数である。
【００７２】
その補正係数Ｋは、具体的には、移動ベクトルＶの平均値｜Ｖ｜ａｖｅが大きいほど、大きな値となるように決定する。また、移動ベクトルＶの変化率Δφが小さいほど、大きな値となるように決定する。このように、移動ベクトルＶの平均値｜Ｖ｜ａｖｅや変化率Δφに基づいて補正係数Ｋを決定するために、例えば、移動ベクトルＶの平均値｜Ｖ｜ａｖｅや変化率Δφに応じた補正係数Ｋを予め定めて、各種記憶部６０に記憶しておく。
【００７３】
ここで、図９は、移動ベクトルＶの平均値｜Ｖ｜ａｖｅや変化率Δφに応じた補正係数Ｋを例示した図である。図９に示すように、移動ベクトルＶの平均値｜Ｖ｜ａｖｅを低速（０〜１９）、中速（２０〜２９）、高速（３０〜）の３段階に分ける。また、移動ベクトルＶの変化率Δφを、安定（０〜２９）、普通（３０〜９９）、不安定（１００〜）の３段階に分ける。そして、移動ベクトルＶの平均値｜Ｖ｜ａｖｅが大きいほど大きな値となり、移動ベクトルＶの変化率Δφが小さいほど大きな値となる補正係数Ｋが、各段階ごとに定められている。例えば、平均値｜Ｖ｜ａｖｅが低速で、変化率Δφが安定である場合には、補正係数Ｋは「２」となる。
【００７４】
図７の説明に戻り、続くステップＳ３６では、角度範囲（θｍｉｎ〜θｍａｘ）の上下限値θｍａｘ、θｍｉｎを算出する。具体的には、先ず、下記式２によって、頂点角度α１〜α４のうちの最小値αｍｉｎを算出する。図６（ｂ）の例では、頂点角度α４が最小値αｍｉｎとなる。また、下記式３によって、頂点角度α１〜α４のうちの最大値αｍａｘを算出する。図６（ｂ）の例では、頂点角度α２が最大値αｍａｘとなる。なお、下記式のＭｉｎは、後続する括弧内の数値のうち最小値を返す関数であり、Ｍａｘは、後続する括弧内の数値のうち最大値を返す関数である。
（式２）αｍｉｎ＝Ｍｉｎ（α１、α２、α３、α４）
（式３）αｍａｘ＝Ｍａｘ（α１、α２、α３、α４）
【００７５】
ここで、これら最小値αｍｉｎ、最大値αｍａｘは、行先候補ボタンＣのサイズや現在ボタンＢと行先候補ボタンＣとの間の距離を反映したものと言える。つまり、行先候補ボタンＣのサイズが大きくなるほど、最大値αｍａｘがプラス側に、最小値αｍｉｎがマイナス側に大きくなる。また、現在ボタンＢと行先候補ボタンＣとの距離が小さくなるほど、最大値αｍａｘがプラス側に、最小値αｍｉｎがマイナス側に大きくなる。
【００７６】
したがって、この最大値αｍａｘ、最小値αｍｉｎに基づいて、角度範囲の上下限値θｍａｘ、θｍｉｎを設定すれば、行先候補ボタンＣのサイズが大きく、現在ボタンＢと行先候補ボタンＣとの間の距離が小さくなるほど、大きな幅の角度範囲（θｍｉｎ〜θｍａｘ）を設定することができる。反対に、行先候補ボタンＣのサイズが小さく、現在ボタンＢと行先候補ボタンＣとの間の距離が大きければ、小さな幅の角度範囲（θｍｉｎ〜θｍａｘ）を設定することができる。つまり、ユーザが行先候補ボタンＣにポインタＰを移動させる意思があるか否かを正確に判断できる角度範囲（θｍｉｎ〜θｍａｘ）を設定することができる。
【００７７】
そして、本実施形態では、ユーザが行先候補ボタンＣにポインタＰを移動させる意思があるか否かをより正確に判断するために、さらにポインタＰの移動速さや変化率Δφを考慮して、最大値αｍａｘ、最小値αｍｉｎを補正して角度範囲の上下限値θｍａｘ、θｍｉｎを設定する。例えば、ユーザは、ポインタＰの移動先に迷いがなく、その方向に移動させる意思が強ければ、ポインタＰをある程度速く移動させると考えられ、反対に、迷いがあれば、ポインタＰをそれほど速く移動させないと考えられる。また、例えば、ユーザは、ポインタＰの移動先に迷いがなく、その方向に移動させる意思が強ければ、ポインタＰの変化率Δφが安定の値になると考えられ、反対に、迷いがあれば、ポインタＰの変化率Δφが不安定の値になると考えられる。
【００７８】
そこで、ポインタＰの移動速さや変化率Δφを反映した補正係数Ｋで最大値αｍａｘ、最小値αｍｉｎを補正して角度範囲の上下限値θｍａｘ、θｍｉｎを算出する。具体的には、角度範囲の上限値θｍａｘを算出するために、最大値αｍａｘを補正係数Ｋで除算する。ここで、補正係数Ｋは、上述したように、移動ベクトルＶの平均値｜Ｖ｜ａｖｅが大きく、移動ベクトルＶの変化率Δφが小さいほど大きな値となる係数である。したがって、最大値αｍａｘを補正係数Ｋで除算することによって、移動ベクトルＶの平均値｜Ｖ｜ａｖｅが大きいほど、最大値αｍａｘを小さな値となるように補正することができる。また、移動ベクトルＶの変化率Δφが小さいほど、最大値αｍａｘを小さな値となるように補正することができる。
【００７９】
同様にして、角度範囲の下限値θｍｉｎを算出するために、最小値αｍｉｎを補正係数Ｋで除算する。これにより、移動ベクトルＶの平均値｜Ｖ｜ａｖｅが大きいほど、最小値αｍｉｎを小さな値となるように補正することができる。また、移動ベクトルＶの変化率Δφが小さいほど、最小値αｍｉｎを小さな値となるように補正することができる。
【００８０】
そして、これら補正後の値を角度範囲の上下限値θｍａｘ、θｍｉｎとすることにより、ユーザに迷いがなくその方向に移動させる意思が強ければ、角度範囲（θｍｉｎ〜θｍａｘ）の幅を小さくすることができるので、より正確に、行先候補ボタンＣにポインタＰを移動させる意思があるか否かを判断できる角度範囲（θｍｉｎ〜θｍａｘ）を設定することができる。
【００８１】
ただし、上記したように角度範囲（θｍｉｎ〜θｍａｘ）を設定すると、遠くにあり、サイズが小さい行先候補ボタンＣに対する角度範囲（θｍｉｎ〜θｍａｘ）が必要以上に小さくなりすぎる場合があり、この場合、その行先候補ボタンＣを引き込み先のボタンとして選択しにくくなってしまう。反対に、近くにあり、サイズが大きい行先候補ボタンＣに対する角度範囲（θｍｉｎ〜θｍａｘ）が必要以上に大きくなりすぎる場合があり、この場合、その行先候補ボタンＣを引き込み先のボタンとして選択しやすくなってしまう。そこで、角度範囲の上下限値θｍａｘ、θｍｉｎに限界値θｍａｘｌｉｍｔ、θｍｉｎｌｉｍｔを定めて、下記式によって、限界値θｍａｘｌｉｍｔ、θｍｉｎｌｉｍｔの範囲内で、角度範囲の上下限値θｍａｘ、θｍｉｎを設定するようにする。
（式４）θｍａｘ＝Ｍｉｎ（αｍａｘ／Ｋ、θｍａｘｌｉｍｔ）
（式５）θｍｉｎ＝Ｍａｘ（αｍｉｎ／Ｋ、θｍｉｎｌｉｍｔ）
【００８２】
すなわち、式４によって、αｍａｘ／Ｋとθｍａｘｌｉｍｔのうち、小さいほうが角度範囲の上限値θｍａｘとなるので、αｍａｘ／Ｋがθｍａｘｌｉｍｔよりも小さければ、αｍａｘ／Ｋが角度範囲の上限値θｍａｘとなる。一方、αｍａｘ／Ｋがθｍａｘｌｉｍｔよりも大きくなった場合には、θｍａｘｌｉｍｔが角度範囲の上限値θｍａｘとなる。同様に、式５によって、αｍａｘ／Ｋとθｍｉｎｌｉｍｔのうち、大きいほうが角度範囲の下限値θｍｉｎとなる。
【００８３】
これによって、必要以上に小さい幅の角度範囲（θｍｉｎ〜θｍａｘ）や大きい幅の角度範囲（θｍｉｎ〜θｍａｘ）を設定してしまうのを防止できる。以上のようにして、角度範囲（θｍｉｎ〜θｍａｘ）を設定した後、図７のフローチャートの処理を終了して、図５のフローチャートの処理に戻る。なお、ステップＳ３３〜ステップＳ３６を実行する制御部１００が本発明の「上下限値設定手段」に相当する。
【００８４】
そして、図５のステップＳ２２では、ずれ角度θが設定した角度範囲（θｍｉｎ〜θｍａｘ）に含まれているか否かを判断する。含まれている場合には（Ｓ２２：ＹＥＳ）、ユーザはその行先候補ボタンＣにポインタＰを移動させる意思があると判断して、ステップＳ２３で、その行先候補ボタンＣを引き込み先のボタンとして決定する。この場合、制御部１００は、ポインタＰを行先候補ボタンＣに引き込むように、アクチュエータ２３、２４を制御する。そして、その行先候補ボタンＣに強調枠１５（図４参照）を表示して、現在、選択されていることを強調する。その後、図５のフローチャートの処理を終了する。なお、ステップＳ２２を実行する制御部１００が本発明の「角度判断手段」に相当する。また、ステップＳ２３を実行する制御部１００が本発明の「最終決定手段」に相当する。
【００８５】
一方、ステップＳ２２において、ずれ角度θが設定した角度範囲（θｍｉｎ〜θｍａｘ）に含まれていない場合には（Ｓ２２：ＮＯ）、ユーザはその行先候補ボタンＣにポインタＰを移動させる意思がないと判断して、ステップＳ１５の処理に戻る。そして、ステップＳ１５において、先の行先候補ボタンＣ以外のボタンＡｎのうちで、ステップＳ１２の順位付けによる順位Ｎが最も高いボタンＡｎを、次の行先候補ボタンＣとして設定する。つまり、先の行先候補ボタンＣの次に座標間距離が小さいボタンＡｎを、次の行先候補ボタンＣとして設定する。
【００８６】
そして、新たに設定した行先候補ボタンＣに対して、先に説明したステップＳ１５以下の処理を実行して、ユーザが新たな行先候補ボタンＣにポインタＰを移動させる意思があるか否かを判断する。その新たな行先候補ボタンＣにポインタＰを移動させる意思があると判断した場合には、その行先候補ボタンＣを引き込み先のボタンとして決定する（Ｓ２３）。一方、その新たな行先候補ボタンＣにポインタＰを移動させる意思がないと判断した場合には、残りのボタンＡｎに対して、引き込み先のボタンとして決定できるまで、ステップＳ１５〜ステップＳ２２の処理を繰り返し実行する。そして、引き込み先のボタンを決定した場合には、図５のフローチャートの処理を終了する。
【００８７】
以上説明したように、本実施形態の表示操作システム１では、ポインタＰの現在の座標値とボタンＡｎの座標値との間の距離である座標間距離の他に、ポインタＰの移動ベクトルＶを考慮して、引き込み先のボタンＡｎを決定しているので、ユーザが意図しないボタンＡｎが選択されてしまうのを防止できる。例えば、図１３の例では、ポインタＰをボタンＡ２７に移動させる途中で、ポインタＰがボタンＡ１４に近い領域２０４を通過する。この場合であっても、ポインタＰの移動ベクトルＶの向きは、ボタンＡ２７に向いており、ボタンＡ１４には向いていないので、ボタンＡ１４が引き込み先のボタンとして選択されてしまうのを防止できる。
【００８８】
また、図１４の例では、ポインタＰをボタンＡ４３に移動させる途中で、ポインタＰがボタンＡ４２に近い領域２０８を通過するが、この場合も移動ベクトルＶを考慮することによって、ボタンＡ４２が引き込み先のボタンとして選択されてしまうのを防止できる。
【００８９】
（第二実施形態）
次に、本発明の表示操作システムの第二実施形態を説明する。上記第一実施形態では、ポインタＰをディスプレイ５０に表示しないで、現在ボタンＢを基点として候補先ベクトルＤ０や頂点ベクトルＤｎを算出していた。このように現在ボタンＢを基点としているのは、ユーザは、ポインタＰが表示されないので、強調枠１５が表示される現在ボタンＢを基点にして、ポインタＰの移動操作をすると考えられるためである。この第二実施形態では、ポインタＰをディスプレイ５０に表示するととともに、ポインタＰの現在位置を基点として候補先ベクトルＤ０や頂点ベクトルＤｎを算出する実施形態である。以下、本実施形態について、上記第一実施形態と異なる部分を中心にして説明する。
【００９０】
本実施形態の表示操作システムの構成は、第一実施形態のそれ（図１〜図３）と同じである。また、制御部１００が実行する処理が第一実施形態と一部異なっている。すなわち、上述したように、制御部１００は、ポインタＰをディスプレイ５０に表示する。このようにポインタＰを表示することによって、ユーザは、ポインタＰの現在位置を容易に把握することができる。そして、ユーザは、そのポインタＰの現在位置を基点として、ポインタＰの移動操作をすると考えられる。そこで、制御部１００は、引き込み先のボタンを決定するボタン決定処理において、ポインタＰの現在位置を基点として候補先ベクトルＤ０や頂点ベクトルＤｎを算出する。
【００９１】
ここで、図１０は、本実施形態における候補先ベクトルＤ０や頂点ベクトルＤｎの算出の仕方を説明するための図であり、現在ボタンＢ、行先候補ボタンＣ及びポインタＰを示している。なお、図１０において、ポインタＰは実際に表示されている。制御部１００は、図５のフローチャートのステップＳ１９において、ポインタＰの現在位置（ベクトル基点）から行先候補ボタンＣの中心点Ｏ２へ向かう候補先ベクトルＤ０（図１０（ａ）参照）を算出する。続くステップＳ２０では、移動ベクトルＶとその候補先ベクトルＤ０とが成す角度θ（図１０（ａ）参照）をずれ角度θとして算出する。
【００９２】
また、図７の角度範囲設定処理において、ポインタＰの現在位置を基点として角度範囲（θｍｉｎ〜θｍａｘ）を設定する。すなわち、ステップＳ３１では、ポインタＰの現在位置から行先候補ボタンＣの各頂点ｎへ向かう頂点ベクトルＤｎを算出する（図１０（ｂ）参照）。続くステップＳ３２では、その頂点ベクトルＤ１〜Ｄ４ごとに候補先ベクトルＤ０と成す角度を頂点角度α１〜α４として算出する（図１０（ｂ）参照）。そして、第一実施形態と同様にして、その頂点角度α１〜α４を用いて、角度範囲の上下限値θｍｉｎ、θｍａｘを算出する（Ｓ３３〜Ｓ３６）。なお、その他の処理については第一実施形態と同じである。
【００９３】
このように、ポインタＰの現在位置を基点とした候補先ベクトルＤ０や頂点ベクトルＤｎに基づいて算出したずれ角度θと角度範囲（θｍｉｎ〜θｍａｘ）によっても、行先候補ボタンＣにポインタＰを移動させる意思があるか否かを判断することができる。特に、本実施形態のようにポインタＰが表示される場合には、ポインタＰの現在位置を基点としてポインタＰの移動操作をすると考えられるので、本実施形態の判断方法は好適である。
【００９４】
なお、本発明の表示操作システムは上記第一、第二実施形態に限定されず、特許請求の範囲の記載を逸脱しない範囲で種々変形することができる。例えば、上記実施形態では、操作デバイス２０として、アクチュエータ２３、２４で操作反力を付与できるタイプのものを用いているが、操作反力を付与しないタイプのものを用いても良い。この場合、上記処理によって引き込み先のボタンＡｎを決定した場合には、そのボタンＡｎを選択したことにして、強調枠１５をそのボタンＡｎに表示する。
【００９５】
また、上記実施形態では、制御部１００が、引き込み先のボタンＡｎを決定するボタン決定処理を実行していたが、操作デバイス２０等の他の機器が実行するようにしてもよい。そして、操作反力の付与の有無、ボタン決定処理の実行主体について、図１１のように組み合わせて表示操作システムを構成してもよい。すわなち、図１１（ａ）に示すように、操作デバイスは操作反力を付与するタイプのものを用い、その操作デバイスがボタン決定処理を実行するようにしてもよい。また、図１１（ｂ）に示すように、操作デバイスは操作反力を付与しないタイプのものを用い、その操作デバイスがボタン決定処理を実行するようにしてもよい。また、図１１（ｃ）は上記実施形態と同じ構成であり、操作デバイスは操作反力を付与するタイプのものを用い、システム機器（制御部１００に相当）がボタン決定処理を実行する。また、図１１（ｄ）に示すように、操作デバイスは操作反力を付与しないタイプのものを用い、システム機器（制御部１００に相当）がボタン決定処理を実行するようにしてもよい。
【００９６】
また、上記実施形態では、ディスプレイ５０に表示されるボタンＡｎは四角形として説明したが、四角形以外の多角形のボタンＡｎでも本発明を適用できる。この場合も、上記実施形態と同様に、ボタンＡｎの各頂点の頂点ベクトルＤｎ、頂点角度αを算出することで、ボタンＡｎのサイズ等に応じた角度範囲（θｍｉｎ〜θｍａｘ）を設定することができる。また、円形等、角のないボタンＡｎに対しても、本発明を適用することができる。この場合、例えば、ボタンＡｎの接線の方向となるように頂点ベクトルＤｎを定めれば、ボタンＡｎのサイズ等に応じた角度範囲（θｍｉｎ〜θｍａｘ）を設定することができる。
【００９７】
また、上記実施形態では、候補先ベクトルＤ０や頂点ベクトルＤｎを、現在ボタンや行先候補ボタンＣの中心点を基準として算出していたが、中心点以外の点を基準として算出してもよい。
【符号の説明】
【００９８】
１  表示操作システム
２０  操作デバイス
２５、２６  検出部
５０  ディスプレイ
１００  制御部
Ａｎ  ボタン
Ｂ  現在ボタン
Ｃ  行先候補ボタン
Ｐ  ポインタ
Ｖ  移動ベクトル
Ｄ０  候補先ベクトル
Ｄｎ  頂点ベクトル
θ  ずれ角度
α  頂点角度
Δφ  変化率
Ｋ  補正係数
【図１】
2011107996.tif 000003
【図２】
2011107996.tif 000004
【図３】
2011107996.tif 000005
【図４】
2011107996.tif 000006
【図５】
2011107996.tif 000007
【図６】
2011107996.tif 000008
【図７】
2011107996.tif 000009
【図８】
2011107996.tif 000010
【図９】
2011107996.tif 000011
【図１０】
2011107996.tif 000012
【図１１】
2011107996.tif 000013
【図１２】
2011107996.tif 000014
【図１３】
2011107996.tif 000015
【図１４】
2011107996.tif 000016