(57)【要約】【課題】より効果的な操作メニューを表示する操作メニュー制御プログラム、操作メニュー制御装置、及び、操作メニュー制御方法を提案する。【解決手段】表示画面において、操作対象がそれぞれ対応付けられた項目を有する操作メニューを表示する操作メニュー制御処理をコンピュータに実行させる操作メニュー制御プログラムであって、前記操作メニュー制御処理は、前記表示画面において、カーソル位置から基準範囲内に位置する１つまたは複数の操作対象を抽出する抽出工程と、前記抽出された操作対象と、前記項目との表示位置の距離に基づいて、前記操作対象と前記項目との対応関係を算出する項目対応算出工程と、前記算出された前記対応関係の表示位置に前記項目を有する操作メニューを表示する表示工程と、を有する。【選択図】図１０
2014149778.tif 000002
【特許請求の範囲】
【請求項１】
表示画面において、操作対象がそれぞれ対応付けられた項目を有する操作メニューを表示する操作メニュー制御処理をコンピュータに実行させる操作メニュー制御プログラムであって、
前記操作メニュー制御処理は、
前記表示画面において、カーソル位置から基準範囲内に位置する１つまたは複数の操作対象を抽出する抽出工程と、
前記抽出された操作対象と、前記項目との表示位置の距離に基づいて、前記操作対象と前記項目との対応関係を算出する項目対応算出工程と、
前記算出された前記対応関係の表示位置に前記項目を有する操作メニューを表示する表示工程と、を有する操作メニュー制御プログラム。
【請求項２】
請求項１において、
前記項目対応算出工程は、前記操作対象と、対応する前記項目との表示位置の各距離の総和が最小となる前記対応関係を算出する操作メニュー制御プログラム。
【請求項３】
請求項１または２において、
前記操作メニュー制御処理は、さらに、
各前記操作対象における一部または全部の領域であって前記操作メニューと重複しない非重複領域に比例して、前記操作メニューのサイズを算出する第１のサイズ算出工程と、を有し、
前記表示工程は、前記算出したサイズの前記操作メニューを、前記非重複領域と重複させずに表示する操作メニュー制御プログラム。
【請求項４】
請求項３において、
前記第１のサイズ算出工程は、前記非重複領域の外接図形の第１のサイズに比例する第２のサイズを、前記操作メニューのサイズとして算出する操作メニュー制御プログラム。
【請求項５】
請求項１または２において、
前記操作メニューは、基準サイズであって、
前記操作メニュー制御処理は、さらに、
各前記操作対象における一部または全部の領域であって前記操作メニューと重複しない非重複領域に反比例して、前記操作対象のサイズを算出する第２のサイズ算出工程と、を有し、
前記表示工程は、前記操作対象を前記算出したサイズに変更し、前記非重複領域と重複させずに前記操作メニューを表示する操作メニュー制御プログラム。
【請求項６】
請求項３乃至５のいずれかにおいて、
前記操作対象の表示は文字列を含み、
前記非重複領域は、前記操作対象における前記文字列の開始位置を含む部分領域である操作メニュー制御プログラム。
【請求項７】
請求項３乃至６のいずれかにおいて、
前記表示制御処理は、さらに、
前記操作メニューの重心位置、及び、前記非重複領域の外接図形の重心位置を算出する重心位置算出工程と、を有し、
前記表示工程は、前記操作メニューの重心位置と、前記外接図形の重心位置とが重なるように前記操作メニューを表示する操作メニュー制御プログラム。
【請求項８】
請求項７において、
前記表示工程は、前記操作対象の表示位置は変更せず、前記操作メニューの表示位置を変更して表示する操作メニュー制御プログラム。
【請求項９】
請求項７において、
前記表示工程は、前記操作メニューは基準表示位置に表示し、前記操作対象の表示位置を変更して表示する操作メニュー制御プログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記操作メニューは、前記操作対象を取り巻く形状である操作メニュー制御プログラム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記操作メニューは、環状である操作メニュー制御プログラム。
【請求項１２】
表示画面において、操作対象がそれぞれ対応付けられた項目を有する操作メニューを表示する操作メニュー制御装置であって、
前記表示画面において、カーソル位置から基準範囲内に位置する１つまたは複数の操作対象を抽出する抽出手段と、
前記抽出された操作対象と、前記項目との表示位置の距離に基づいて、前記操作対象と前記項目との対応関係を算出する項目対応算出手段と、
前記算出された前記対応関係の表示位置に前記項目を有する操作メニューを表示する表示手段と、を有する操作メニュー制御装置。
【請求項１３】
表示画面において、操作対象がそれぞれ対応付けられた項目を有する操作メニューを表示する操作メニュー制御方法であって、
前記表示画面において、カーソル位置から基準範囲内に位置する１つまたは複数の操作対象を抽出する抽出工程と、
前記抽出された操作対象と、前記項目との表示位置の距離に基づいて、前記操作対象と前記項目との対応関係を算出する項目対応算出工程と、
前記算出された前記対応関係の表示位置に前記項目を有する操作メニューを表示する表示工程と、を有する操作メニュー制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作メニュー制御プログラム、操作メニュー制御装置、及び、操作メニュー制御方法に関する。
【背景技術】
【０００２】
一般的なＧＵＩ（Graphical User Interface）において、マウス・キーボードやタッチパネル、タッチパッド、空間ジェスチャなどによって、表示画面上の操作対象を指示・選択することが行われる。例えば、空間ジェスチャでは、ユーザの手や指によるジェスチャが、表示装置の上部に設置されたセンサによって検出され、表示画面上のカーソルがジェスチャに対応して移動する。
【０００３】
ところが、カーソル操作に係る分解能が低く、カーソル操作の精度が低い場合がある。カーソル操作の精度が低く、表示画面上のリンクやボタン、アイコン等の操作対象の領域が狭い場合、ユーザは、空間ジェスチャに基づいて所望の操作対象の位置にカーソルを移動させることが困難になる。
【０００４】
そこで、リンクやボタン等の操作対象を指示、選択する操作を補助する技術が公開されている（例えば、特許文献１、２、非特許文献１）。例えば、所定の操作対象に対応する項目を有する操作メニューが新たに表示される技術が公開される。ユーザは、操作メニューにおいて、所望の操作対象に対応する項目を選択することによって、所望の操作対象の位置に的確にカーソル位置を移動させることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２８２３１１号公報
【特許文献２】特表２００６−５２００２４号公報
【非特許文献】
【０００６】
【非特許文献１】L.Findlater, et al, Enhanced Area Cursors: Reducing Fine Pointing Demands for People with Motor Impairments, in Proc. of UIST '10, ACM, pp.153-162 (2010)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の操作メニューによると、操作対象と、操作メニューにおける項目の対応関係が十分に考慮されていない。または、操作メニューのサイズや表示位置についても考慮されていない。このため、ユーザは、所望の操作対象を選択するに当たり、操作メニューにおいて所望の操作対象に対応する項目を探す必要があり、手間がかかった。
【０００８】
そこで、本発明は、より効果的な操作メニューを表示する操作メニュー制御プログラム、操作メニュー制御装置、及び、操作メニュー制御方法を提案する。
【課題を解決するための手段】
【０００９】
第１の側面は、表示画面において、操作対象がそれぞれ対応付けられた項目を有する操作メニューを表示する操作メニュー制御処理をコンピュータに実行させる操作メニュー制御プログラムであって、前記操作メニュー制御処理は、前記表示画面において、カーソル位置から基準範囲内に位置する１つまたは複数の操作対象を抽出する抽出工程と、前記抽出された操作対象と、前記項目との表示位置の距離に基づいて、前記操作対象と前記項目との対応関係を算出する項目対応算出工程と、前記算出された前記対応関係の表示位置に前記項目を有する操作メニューを表示する表示工程と、を有する。
【発明の効果】
【００１０】
第１の側面によれば、より効果的な操作メニューが表示される。
【図面の簡単な説明】
【００１１】
【図１】空間ジェスチャによるユーザインターフェースの一例について説明する図である。
【図２】操作メニューを用いたカーソル操作の一例について説明する図である。
【図３】操作メニューの他の例を示す第１の図である。
【図４】操作メニューの他の例を示す第２の図である。
【図５】本実施の形態例における操作メニュー制御装置の構成の例図である。
【図６】本実施の形態例における操作メニュー制御装置のブロック図の例図である。
【図７】操作メニューにおける項目と操作対象との対応関係について説明する図である。
【図８】操作メニューのサイズについて説明する図である。
【図９】操作メニューの表示位置について説明する図である。
【図１０】操作メニュー制御プログラムの処理の流れを説明するフローチャート図である。
【図１１】近傍の操作対象の抽出処理について説明する図である。
【図１２】操作対象とカーソル位置との距離について説明する図である。
【図１３】アンカー位置の設定例を示す図である。
【図１４】操作対象と操作メニューにおける項目との対応関係の算出を説明する図である。
【発明を実施するための形態】
【００１２】
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１３】
［空間ジェスチャ・インタフェース・システム］
図１は、空間ジェスチャによるユーザインターフェースを有するシステムの一例を示す図である。同図の例において、ユーザは、手ＨＮのジェスチャに基づいて、表示画面ＤＰ上のカーソルｐｐやボタン等の操作を指示する。
【００１４】
図１のシステムは、例えば、パーソナルコンピュータやＴＶ等の表示画面ＤＰ、センサＳＥを有する。なお、ユーザと表示画面ＤＰとは、例えば、１．５ｍ程度離れている。センサＳＥは、ユーザの手ＨＮの動きを検知し、動きの方向や動きの度合いを検知する。そして、ユーザの手ＨＮの動きに基づいて、表示画面ＤＰ上のカーソル位置ｐｐが移動される。空間ジェスチャとは、例えば、手ＨＮの左右上下方向への移動、手ＨＮの結び開き、身体のジャンプ等である。
【００１５】
図１のようなユーザインターフェースでは、カーソル操作の精度の分解能が低いことがある。この場合、空間ジェスチャに対応する表示画面ＤＰ上のカーソル位置ｐｐは、ガタガタとした軌跡をたどる。このため、ユーザは、表示画面ＤＰ上の狭い領域にカーソル位置ｐｐを移動させることが困難となる。例えば、カーソル位置ｐｐは、対象領域の周辺をさ迷い、意図しないリンクやボタンの領域に移動してしまうことがある。そこで、所望の操作対象を選択可能にする操作メニューが用いられる。
【００１６】
［操作メニュー］
図２は、操作メニューを用いたカーソル位置の移動操作の一連の流れについて説明する図である。同図の（Ａ）〜（Ｄ）は、時系列に遷移する表示画面を示す。操作メニューは、表示画面上の操作対象がそれぞれ対応付けられた項目を有するメニューであって、表示画面に重ねて表示される。また、項目は、ユーザが選択可能な領域を示す。操作メニューは、１つまたは複数の項目を有する。
【００１７】
［操作対象］
操作対象とは、例えば、画面上に表示されるボタンやリンクＬ１〜Ｌ６、メニューバーやドロップダウンリストにおける各選択肢等である。つまり、操作対象は、表示画面上に位置し、ユーザによって選択されることによって、当該操作対象に関連付けられた機能が実行される要素を示す。図２の例では、ｗｅｂページ内に表示されるリンクＬ１〜Ｌ６が、操作対象として例示される。
【００１８】
図２の（Ａ）において、初めに、ユーザが、空間ジェスチャに基づいて表示画面上におけるｗｅｂページのリンクＬ１〜Ｌ６の周辺にカーソル位置ｐｐを移動させる。ここで、ユーザが、操作メニューの表示を指示するジェスチャを行うと、カーソル位置ｐｐの周辺に位置する操作対象Ｌ１〜Ｌ４が抽出される。この例では、４つの操作対象Ｌ１〜Ｌ４が抽出される。そして、図２の（Ｂ）に示すような操作メニューＭＭが表示される。なお、操作メニューの表示を指示するジェスチャは、予め、設定される。
【００１９】
図２の（Ｂ）は、操作メニューＭＭの一例を示す。同図の操作メニューＭＭは、抽出された４つの操作対象Ｌ１〜Ｌ４が一対一に対応付けられた４つの項目ｔｍを有する。また、同図の例において、操作対象Ｌ１〜Ｌ４と項目ｔｍとが、ガイド線ｈｔによって対応付けられている。これにより、ユーザは、ガイド線ｈｔに基づいて、所望の操作対象が対応付けられた項目ｔｍを容易に検知することができる。また、同図の例において、操作対象Ｌ１〜Ｌ４に重ねて、項目ｔｍの相対位置を示す矢印（アイコン）ｙａが表示される。これにより、ユーザは、アイコンに基づいて、所望の操作対象が対応付けられた項目ｔｍを容易に検知することができる。
【００２０】
続いて、図２（Ｃ）において、ユーザは、操作メニューＭＭの項目ｔｍＡ〜ｔｍＤの中から、所望の操作対象に対応付けられた項目を選択する。この例において、所望の操作対象は、操作対象Ｌ１である。操作対象Ｌ１には、項目ｔｍＡが対応付けられる。また、項目ｔｍは、例えば、操作メニューＭＭにおける当該項目ｔｍが表示される円弧を通過するようにカーソルを移動させることで選択される。そこで、ユーザは、例えば、手を上に動かすジェスチャを行うことによって、カーソル位置を上部の円弧を通過するように移動させ、項目ｔｍＡを選択する。これにより、図２の（Ｄ）において、操作メニューＭＭが消えると共に、カーソル位置ｐｐが項目ｔｍＡに対応付けられた操作対象Ｌ１の領域に移動する。このように、操作メニューＭＭを利用することによって、ユーザは、所望の操作対象Ｌ１に対応する位置に、カーソル位置ｐｐを確実に移動させることが可能になる。
【００２１】
ここで、操作メニューＭＭの他の例について、具体例を例示する。
【００２２】
［操作メニューの例］
図３は、操作メニューＭＭの他の具体例を示す第１の例図である。同図の左上の環状の操作メニューＭＭ７は分割され、項目が分散して配置される。このように、操作メニューＭＭ７は、一連の領域である必要はなく、分割した領域によって構成されてもよい。また、同図の操作メニューＭＭ８は環状ではなく、矩形である。このように、操作メニューＭＭ８は、４角形、６角形など任意の形状であってもよい。なお、操作メニューＭＭにおける項目数はいずれの数であってもよい。また、操作メニューＭＭにおける項目のすべてが、操作対象に対応付けられていなくてもよい。
【００２３】
図４は、操作メニューＭＭの他の具体例を示す第２の例図である。同図の左上の操作メニューＭＭ９は、操作対象Ｌ１〜Ｌ４を取り囲むようにではなく、操作対象Ｌ１〜Ｌ４の近隣に表示される。このように、本実施の形態例における操作メニューＭＭは、必ずしも、操作対象を取り囲む位置に表示されていなくてもよい。また、同図の右上の操作メニューＭＭ１０は、左の操作メニューＭＭ９と同様にして、操作対象Ｌ１〜Ｌ４の近隣に表示されるが、操作メニューＭＭ９とは形状が異なる。操作メニューＭＭ１０は、ドーナッツ型の形状ではない。このように、本実施の形態例における操作メニューＭＭは、必ずしも、操作対象Ｌ１〜Ｌ４を取り囲む形状である必要はない。
【００２４】
また、図４の下に表示される操作メニューＭＭ１１は、分散して位置する操作対象Ｂ１、Ｂ２、Ｌ１１、Ｌ１２の間の領域に表示される。このように、操作対象Ｂ１、Ｂ２、Ｌ１１、Ｌ１２が近接せず、分散して位置する場合、操作メニューＭＭ１１は操作対象の間の領域に表示されてもよい。ところで、同図のように操作対象Ｂ１、Ｂ２、Ｌ１１、Ｌ１２が密集していない場合であっても、操作メニューＭＭ１１の利用は有効である。操作対象が密集していない場合であっても、ジェスチャに基づいて所望の操作対象の位置にカーソルを移動させることが困難なことがあるためである。ユーザは、操作メニューＭＭ１１を利用することによって、所望の操作対象の位置にカーソル位置を移動させることが可能になる。
【００２５】
また、図示していないが、たとえ、操作メニューＭＭの項目に対応付けられる操作対象が１つの場合であっても、操作メニューＭＭの利用は有効である。操作対象が密集しない場合と同様にして、操作対象が１つである場合であっても、ユーザは、操作メニューＭＭを利用することにより、当該１つの操作対象の位置に、確実にカーソル位置を移動させることができる。
【００２６】
［操作メニュー制御装置の構成］
図５は、本実施の形態例における操作メニュー制御装置１００の構成の一例を示す図である。同図の操作メニュー制御装置１００は、例えば、一般的なコンピュータである。操作メニュー制御装置１００は、例えば、ＣＰＵ（Central Processing Unit）１１、メモリ１２、ストレージ１３、ネットワーク装置１６、入力装置１４、表示装置１５を有する。各部は、バス１７を介して相互に接続される。
【００２７】
図５において、ストレージ１３は、操作メニュー制御装置１００全体の制御に係る情報を記憶する。ネットワーク装置１６は、例えば、外部の装置との通信処理を行う。また、入力装置１４は、例えば、センサによって生成されたユーザのジェスチャ情報や、キーボード等によって入力された操作情報等を受け付ける。表示装置１５は、例えば、コンピュータのモニタ、ＴＶ等の液晶画面や、プロジェクタによって投影される画面等である。メモリ１２は、例えば、本実施の形態例における操作メニュー制御処理を行う操作メニュー制御プログラムＰＲ等を記憶する。ＣＰＵ１１は、操作メニュー制御プログラムＰＲと協働して、操作メニュー制御処理を行う。なお、操作メニュー制御処理は、等価な処理を行うハードウェアによって実現されていても良い。
【００２８】
なお、ユーザのジェスチャ情報は、図示していないが、例えば、距離センサ、単眼カメラ、ステレオカメラ等のセンサによって生成される。または、ユーザのジェスチャ情報は、センサと、物体トラッキング装置との組み合わせによって取得されてもよい。また、ジェスチャ情報は、ユーザがジャイロセンサ、加速度センサ、超音波などを用いて姿勢や動きを検知可能な端末を装着し、当該端末装置から、操作メニュー制御装置１００に送信されてもよい。
【００２９】
［操作メニュー制御装置のブロック図］
図６は、本実施の形態例における操作メニュー制御装置１００のブロック図の一例を示す図である。操作メニュー制御装置１００は、例えば、位置取得部２１、操作対象取得部２２、近傍取得部２３、中心算出部２４、スケール算出部２５、対応算出部２６、画面表示部２７を有する。
【００３０】
位置取得部２１は、ユーザのジェスチャ情報を取得すると共に、図３の表示装置１５である表示画面におけるカーソルの位置を取得する。操作対象取得部２２は、表示画面上の操作対象の位置、及び、操作対象の形状を取得する。近傍取得部２３は、操作対象取得部２２によって取得された操作対象のうち、位置取得部２１で取得されたカーソル位置の近傍に位置する操作対象を抽出する。中心算出部２４は、抽出された操作対象に対応する領域の中心位置を算出する。スケール算出部２５は、表示する操作メニューのサイズを算出する。対応算出部２６は、抽出された操作対象と、操作メニューの項目との対応関係を算出する。
【００３１】
画面表示部２７は、スケール算出部２５によって算出されたサイズの操作メニューを、画面上における中心算出部２４によって算出された位置に表示する。また、このとき、操作メニューの各項目について、対応算出部２６によって算出された対応関係に基づいて、操作対象との対応関係が設定される。
【００３２】
ここで、操作メニューについて、より具体的に説明する。具体的に、操作メニューにおける項目と操作対象との対応関係、操作メニューのサイズ、操作メニューの表示位置について、順次説明する。
【００３３】
［操作対象と操作メニューの項目との対応関係］
図７は、操作メニューにおける項目と操作対象との対応関係について説明する図である。同図は、操作対象と項目との対応関係の異なる２つの操作メニューＭＭ１、ＭＭ２が表示される。同図において、４つの操作対象ｂＡ〜ｂＤが、操作メニューＭＭ１、ＭＭ２が有する８つの項目のいずれかに対応付けられる。
【００３４】
図７の（Ａ）は、操作対象ｂＡ〜ｂＤと、対応する項目との表示位置の間の距離が小さくなるように対応付けられた操作メニューＭＭ１である。ユーザは、所望の操作対象ｂＡ〜ｂＤについて、当該操作対象ｂＡ〜ｂＤと最も近い表示位置にある項目とを直感的に対応付け易い。そこで、操作メニューＭＭ１は、操作対象ｂＡ〜ｂＤと、対応する項目との表示位置の各距離の総和が最小となる対応関係に基づいて、項目の表示位置が設定される。これにより、ユーザは、所望の操作対象の近くに位置する項目を、所望の操作対象に対応する項目であると推定することで、より容易に、迅速に、所望の操作対象ｂＡ〜ｂＤに対応する項目を検知することができる。
【００３５】
一方、図７の（Ｂ）は、操作対象ｂＡ〜ｂＤと、対応する項目との表示位置の距離が考慮されていない操作メニューＭＭ２である。同図の操作メニューＭＭ２では、各操作対象ｂＡ〜ｂＤは、必ずしも、操作メニューＭＭ２の項目のうち近距離に位置する項目に対応付けられていない。これにより、所望の操作対象ｂＡ〜ｂＤに対応する項目ついて、ユーザが直感的に推定する項目と、実際に対応付けられる項目とは異なる場合がある。ユーザは、操作メニューＭＭ２によると、所望の操作対象ｂＡ〜ｂＤが対応付する項目を探す必要があり、項目の検知に手間がかかる。
【００３６】
このように、操作メニューについて、項目と操作対象との対応関係が考慮されることにより、ユーザは、項目と操作対象の対応関係をより直感的に推定可能になり、所望の操作対象に対応する項目を迅速に検知することができる。なお、図２の（Ｂ）に示すように、操作対象と項目とがガイド線ｈｔによって対応付けられる場合であっても、対応関係が考慮されない場合、ガイド線ｈｔが複雑になってしまう。これにより、かえって対応関係が検知し難くなる場合がある。続いて、操作メニューのサイズについて説明する。
【００３７】
［操作メニューのサイズ及び位置］
図８は、操作メニューのサイズ、及び、表示位置について説明する図である。同図は、サイズ、及び、表示位置の異なる２つの操作メニューＭＭ３、ＭＭ４が表示される。同図において、同一の操作対象ｂＡ〜ｂＤに対応して異なる操作メニューＭＭ３、ＭＭ４が表示される。
【００３８】
図８の（Ａ）は、操作対象ｂＡ〜ｂＤに基づいてサイズ、及び、表示位置が設定される操作メニューＭＭ３の一例である。同図の操作メニューＭＭ３は、操作対象ｂＡ〜ｂＤにおける一定の領域に基づいて、サイズが設定される。また、同図の操作メニューＭＭ３の表示位置は、一定の領域の中心位置に基づいて設定される。操作対象ｂＡ〜ｂＤにおける一定の領域とは、操作メニューＭＭ３と重複させず、ユーザに視認可能にする非重複領域である。非重複領域に基づくことにより、操作メニューＭＭ３のサイズは、操作対象ｂＡ〜ｂＤが識別可能であって、操作対象ｂＡ〜ｂＤに対して大き過ぎないサイズに設定される。
【００３９】
一方、図８の（Ｂ）は、サイズ、及び、表示位置が考慮されていない操作メニューＭＭ４の一例を示す。同図において、操作メニューＭＭ４のサイズは、操作対象ｂＡ〜ｂＤに対して必要以上に大きい。また、操作メニューＭＭ４の中心は、操作対象ｂＡ〜ｂＤに対応する領域の中心から離れた位置にある。これにより、ユーザは、操作対象ｂＡ〜ｂＤとの距離が近い項目を識別することが難しい。また、図示していないが、操作メニューＭＭ４が、操作対象ｂＡ〜ｂＤに対して小さすぎる場合、操作メニューが操作対象ｂＡ〜ｂＤにおいて視認されるべき領域と重複する。これにより、ユーザは、操作対象ｂＡ〜ｂＤを識別することができない。
【００４０】
このように、非重複領域に基づいて操作メニューのサイズが算出されることにより、ユーザは、操作対象ｂＡ〜ｂＤを識別可能になると共に、操作対象ｂＡ〜ｂＤの近くに位置する項目をより容易に検知可能になる。また、非重複領域の中心付近に操作メニューの中心が位置するように操作メニューが表示されることにより、ユーザは、操作対象ｂＡ〜ｂＤにおける非重複領域の近くに位置する項目を容易に検知可能になる。
【００４１】
図９は、操作メニューと操作対象との重複について説明する図である。同図は、操作対象との重複度合いの異なる２つの操作メニューＭＭ５、ＭＭ６が表示される。同図の（Ａ）において、操作メニューＭＭ５は、操作対象ｂＥ〜ｂＨと重複していない。一方、同図の（Ｂ）において、操作メニューＭＭ６は、操作対象ｂＩ〜ｂＬの一部の領域と重複する。このように、操作メニューＭＭは、操作対象と重複しないように配置されてもよいし、操作対象と部分的に重複するように配置されてもよい。ただし、部分的に重複させる場合、操作対象を視認可能にするために、少なくとも非重複領域とは重複しないように配置される。なお、同図の（Ｂ）に示すように、操作メニューＭＭ６における全ての領域が項目領域ｔｍとして利用されなくてもよい。操作メニューの一部の領域についてのみ、項目の領域ｔｍとして領域されてもよい。
【００４２】
このように、操作メニューについて、項目と操作対象との対応関係、サイズ、及び、表示位置が考慮されることによって、ユーザは、所望の操作対象に対応する項目を、探す手間を要することなく、より容易に、迅速に推定することができる。そこで、本実施の形態例における操作メニュー制御処理は、表示画面において、カーソル位置から基準範囲内に位置する１つまたは複数の操作対象を抽出する抽出工程と、抽出された操作対象と、項目との表示位置の距離に基づいて、操作対象と項目との対応関係を算出する項目対応算出工程とを有する。そして、操作メニュー制御処理は、算出された対応関係の表示位置に項目を有する操作メニューを表示する。
【００４３】
続いて、本実施の形態例における操作メニュー制御処理の流れについて説明する。
【００４４】
［操作メニュー制御処理の流れ］
図１０は、本実施の形態例における操作メニュー制御プログラムＰＲの処理の流れについて説明するフローチャート図である。まず、位置取得部２１は、ユーザの手の動きを検知し、カーソル位置の移動を指示するジェスチャが行われたか否かを検知する（Ｓ１１）。ジェスチャが検出された場合（Ｓ１１のＹＥＳ）、位置取得部２１は、ユーザの手の位置に対応した画面上のカーソル位置を算出する。
【００４５】
例えば、空間におけるユーザの手の位置の座標系は次のように設定される。空間における、表示装置の画面の水平方向はｘ軸（右方向が正）、垂直方向はｙ軸（下方向が正）として、画面の法線方向はz軸（画面から離れる方向が正）として設定される。位置取得部２１は、所定の時間間隔で、手の位置の座標(ｘｈ,ｙｈ,ｚｈ)を取得する。そして、取得した手の位置の座標に基づいて、画面上におけるカーソル座標(ｘ,ｙ)が計算される。このとき、カーソルの座標系は、画面の平面内の水平方向をｘ軸（右方向を正）、垂直方向をｙ軸（下方向を正）として設定される。
【００４６】
式１は、手の位置の座標(ｘｈ,ｙｈ,ｚｈ)に基づいて、カーソルの座標(ｘ,ｙ)を算出する数式の一例である。式１において、ａｘ、ｂｘ、ａｙ、ｂｙは、実数の定数である。実数の定数ａｘ、ｂｘ、ａｙ、ｂｙは、表示画面の解像度等に基づいて、実験的に定められる。
【００４７】
【数１】
2014149778.tif 000003
【００４８】
また、操作対象取得部２２は、表示画面上の操作対象の位置、及び、形状を取得する。操作対象取得部２２は、パン、ズーム等の処理によって表示画面の外に移動し、画面表示されてない操作対象については対象外とする。なお、本実施の形態例では、操作対象がｗｅｂページ内の矩形のリンクである場合について例示する。ただし、本実施の形態例における操作メニュー制御プログラムＰＲの処理は、リンク以外の操作対象や、矩形以外の操作対象に対しても有効である。
【００４９】
続いて、近傍取得部２３は、操作対象取得部２２によって取得された操作対象のうち、算出されたカーソル位置の近傍に位置する操作対象を取得する（Ｓ１２）。具体的に、近傍取得部２３は、取得された操作対象のうち、カーソル位置の基点として基準の距離範囲に位置する操作対象を取得する。近傍取得部２３の処理の詳細については、具体例に基づいて後述する。
【００５０】
次に、中心算出部２４及びスケール算出部２５は、抽出した操作対象の領域に基づいて、操作メニューＭＭの表示位置、及び、操作メニューＭＭのサイズを算出する（Ｓ１３）。具体的に、中心算出部２４及びスケール算出部２５は、操作対象上に設定される非重複領域に基づいて、操作メニューＭＭのサイズ及び表示位置を算出する。非重複領域は、操作メニューＭＭと重複させない領域であって、それぞれの操作対象において一様に設定される。非重複領域の設定処理、操作メニューＭＭのサイズ、及び、表示位置の算出処理の具体例については、後述する。
【００５１】
続いて、対応算出部２６は、操作メニューＭＭについて、項目と、対応する操作対象との表示位置の距離に基づいて、項目と操作対象との対応関係を算出する（Ｓ１４）。具体的に、対応算出部２６は、操作対象と、対応する項目との表示位置の各距離の総和が最小となる対応関係を算出する。処理の具体例については、後述する。そして、画面表示部２７は、中心算出部２４、スケール算出部２５、対応算出部２６の結果に基づいて、表示画面に操作メニューＭＭを表示する（Ｓ１５）。具体的に、画面表示部２７は、中心算出部２４によって算出された表示位置に、スケール算出部２５によって算出されたサイズの操作メニューＭＭを表示する。また、表示される操作メニューＭＭは、対応算出部２６によって算出された対応関係の表示位置に項目を有する。なお、画面表示部２７は、図２の（Ｂ）に示したように、操作メニューＭＭの項目と操作対象を結ぶガイド線ｈｔや、アイコンｙａをあわせて表示してもよい。
【００５２】
続いて、位置取得部２１は、操作メニューＭＭの項目を選択するジェスチャを検知する（Ｓ１６）。項目を選択するジェスチャが検出された場合（Ｓ１６のＹＥＳ）、選択された項目に対応する操作対象の表示位置にカーソルが移動され、操作対象が選択される（Ｓ１７）。一方、操作メニューＭＭを選択するジェスチャが検知されない場合（Ｓ１６のＮＯ）、操作メニューＭＭの表示は解除され、位置を指示するジェスチャの検出工程（Ｓ１１）に戻る。
【００５３】
なお、工程Ｓ１５において、画面表示部２７は、予め、設定された基準サイズの操作メニューＭＭを、基準表示位置に表示してもよい。即ち、画面表示部２７は、操作メニューＭＭをパン・ズームさせるのではなく、操作対象を含めた表示コンテンツの方をパン・ズームさせてもよい。この場合、操作メニューＭＭのサイズ、及び、表示位置に合わせて、操作対象のサイズ、及び、表示位置が変更される。
【００５４】
表示コンテンツをパン・ズームさせる場合、スケール算出部２５は、基準サイズの操作メニューＭＭと操作対象における非重複領域とが重複しない、操作対象のサイズを算出する。即ち、スケール算出部２５は、非重複領域のサイズに反比例した値に基づいて、操作対象のサイズを算出する。そして、算出された操作対象のサイズに基づいて、少なくとも操作対象を含む表示コンテンツ（ｗｅｂページ）が拡大、または、縮小される。また、画面表示部２７は、基準表示位置に表示された操作メニューＭＭの重心位置に、非重複領域の重心位置が重なるように、表示コンテンツの表示位置を移動させる。
【００５５】
このように、操作メニューＭＭのサイズが基準サイズに固定される場合、操作対象のサイズは、非重複領域のサイズに基づいて、操作対象が識別可能であって操作対象の近くに位置する項目をより容易に検知可能なサイズに変更（拡大、縮小）される。また、操作メニューＭＭの表示位置が基準表示位置に固定される場合、操作対象の表示位置は、非重複領域に基づいて、項目の近くに位置する操作対象をより容易に検知可能な表示位置に変更される。この結果、ユーザは、所望の操作対象に対応する項目をより容易に、迅速に検知可能になる。
【００５６】
なお、図４の操作メニューＭＭ９、ＭＭ１０のように、操作メニューは、必ずしも、操作対象を取り巻くように配置されなくてもよい。このような形態の操作メニューが表示される場合、表示位置、及び、サイズは算出されなくてもよい。画面表示部２７は、例えば、操作対象の近隣に、対応算出部２６によって算出された、操作対象と、対応する項目との表示位置の各距離の総和が最小となる対応関係を有する操作メニューＭＭ９、ＭＭ１０を表示する。このとき、画面表示部２７は、操作対象における非重複領域と重ならない位置に、操作メニューを表示してもよい。
【００５７】
また、図４の操作メニューＭＭ１１のように、複数の操作対象の間に操作メニューＭ１１が表示される場合、近傍取得部２３は、カーソル位置から所定の範囲内に位置する操作対象を取得する。そして、中心算出部２４及びスケール算出部２５は、抽出した操作対象における非重複領域と重ならないサイズの操作メニューを、非重複領域と重ならない位置に表示する。このとき、操作メニューは、例えば、複数の非重複領域の重心位置と、重心位置が重なるように表示されてもよい。
【００５８】
続いて、フローチャート図における各工程の処理について、具体例に基づいて説明する。
【００５９】
［近傍の操作対象の抽出（Ｓ１２）］
図１１は、近傍の操作対象の抽出処理について説明する図である。同図において、５つの操作対象ｂ１〜ｂ５が例示される。例えば、操作対象ｂ１〜ｂ５は、ｗｅｂページ内のリンクである。この例では、カーソル位置ｐｐから距離Ｒ以内に位置する操作対象ｂ１〜ｂ５であって、最大Ｎ個の操作対象ｂ１〜ｂ５が抽出される。例えば、Ｎ＝４であるものとする。同図の例において、全ての操作対象ｂ１〜ｂ５が、カーソル位置ｐｐから距離Ｒ以内に位置するものの、Ｎ個（４個）を超える。このため、操作対象ｂ１〜ｂ５のうち、斜線で示した、カーソル位置ｐｐからの距離が近い上位４つの操作対象ｂ２〜ｂ５が抽出される。
【００６０】
式２は、カーソル位置ｐｐの近傍の操作対象を取得する処理を示す式である。式２において、Ｗはすべての操作対象を、ｗはすべての操作対象のうち、表示画面内に表示される操作対象（図１１の例では、ｂ１〜ｂ５）を示す。また、Ｐは抽出された操作対象の集合であって、Ｒはカーソル位置ｐｐからの距離を示す定数である。また、式２において、関数ｄ(ｗ, ｐ)は、表示画面内に位置する操作対象ｗの表示位置とカーソル位置ｐｐとの距離を算出する関数である。
【００６１】
初期化
Ｐ ←φ
すべてのｗ∈Ｗ について
ｉｆ ｄ(ｗ, ｐｐ) < Ｒ
Ｐ ← Ｐ∪ｗ                                         ・・・ 式２
式２によると、表示画面内に位置する操作対象ｗについて、カーソル位置ｐｐとの距離が定数Ｒより小さい場合に、抽出対象の操作対象を示す集合Ｐに追加される。なお、抽出対象の操作対象の最大数がＮ個に設定される場合は、集合Ｐには、距離の小さい上位Ｎ個の操作対象が追加される。続いて、式２において、関数ｄ(ｗ, ｐ)にしたがって算出される距離について具体的に説明する。
【００６２】
図１２は、操作対象ｗとカーソル位置ｐｐとの距離について説明する図である。なお、関数ｄ(ｗ, ｐ)によって算出される距離は、この例に限定されるものではなく、いずれの方法に基づいてもよい。
【００６３】
図１２の（Ａ）は、操作対象ｂ２（ｗ）の領域にカーソル位置ｐｐ１がある場合を示す。この場合、関数ｄ(ｗ, ｐ)によって算出される距離は０となる。また、同図の（Ｂ）は、操作対象ｂ２の周辺にカーソル位置ｐｐ２、ｐｐ３がある場合を示す。この場合、操作対象ｂ２の境界線上におけるいずれかの点とカーソル位置ｐｐ２、ｐｐ３とのユークリッド距離の最小値が距離として算出される。例えば、カーソル位置ｐｐ２の場合、最小となるユークリッド距離は操作対象ｂ２の左下の頂点との距離Ｄ２となる。また、カーソル位置ｐｐ３の場合、操作対象ｂ２の境界辺への垂線の距離Ｄ３が、最小のユークリッド距離を示す。
【００６４】
図１２の（Ｃ−１）は、複数の操作対象ｂ２〜ｂ５におけるユークリッド距離の最小値について説明する。同図の例において、操作対象ｂ２、ｂ４、ｂ５は当該操作対象の頂点との距離、操作対象ｂ３は当該操作対象ｂ３の縦辺への垂線の距離、が最小のユークリッド距離として算出される。また、同図の（Ｃ−２）は、関数ｄ(ｗ, ｐ)の距離として、カーソル位置ｐｐ５と、操作対象ｂ２〜ｂ５の重心位置との距離が算出される場合を例示する。この場合、各操作対象ｂ２〜ｂ５について重心位置が算出され、カーソル位置ｐｐ５との距離が算出される。
【００６５】
［操作メニューのサイズ及び表示位置の算出（Ｓ１３）］
続いて、図１０のフローチャート図における工程１３の処理について、具体的に説明する。操作メニューのサイズ、及び、表示位置を算出するために、操作対象について非重複領域が設定される。前述したとおり、操作メニューのサイズ、及び、表示位置は、それぞれの操作対象において設定される非重複領域に基づいて算出される。
【００６６】
［非重複領域］
非重複領域は、操作メニューと重複させない操作対象の一部または全部の領域であって、ユーザから視認可能にする領域である。本実施の形態例において、非重複領域は、例えば、各操作対象に対して一様に設定される、１つまたは複数のアンカー位置に基づいて設定される。例えば、アンカー位置は、矩形の操作対象の四隅に設定される。この場合、各操作対象に対して設定されるアンカー位置の数は４つである。または、アンカー位置は、操作対象における１つの頂点（例えば左上頂点）からの一定距離の位置や、操作対象の重心位置に設定される。または、アンカー位置は、操作対象の領域の外接円、または凸包における重心位置に設定される。これらの場合、各操作対象に対して設定されるアンカー位置の数は１つである。
【００６７】
例えば、操作対象の表示内容が、リンクのように文字列を含む場合、操作対象における文字列の開始位置を含む部分領域が非重複領域として設定されてもよい。操作対象が文字列によって表記される場合、ユーザは、文字列の開始部分を検知することによって、文字列全体の内容を推定可能になる。このため、少なくとも文字列の開始位置が非重複領域として設定されることにより、ユーザは、操作対象であるリンクの内容を識別可能になる。これにより、非重複領域が小さく抑えられ、操作メニューのサイズが大きくなり過ぎることが回避される。
【００６８】
［アンカー位置の設定例］
図１３は、アンカー位置の設定例を示す図である。同図において、４つの操作対象ｂＡ〜ｂＤが例示される。同図の（Ａ）は、アンカー位置ａｐが操作対象の４つの頂点に設定される場合の例である。この方法によると、操作対象ｂＡ〜ｂＤの全ての領域が非重複領域として設定される。これは、例えば、ユーザが操作対象を識別するために、操作対象における全領域を視認することが有効である場合を示す。そして、すべてのアンカー位置ａｐを内包する外接矩形Ｂ１が設定される。また、同図の（Ｂ）は、アンカー位置ｂｐが、操作対象における左上頂点からの一定距離の位置に設定される場合の例である。この場合、操作対象ｂＡ〜ｂＤの一部の領域が非重複領域として設定される。そして、すべてのアンカー位置ｂｐを内包する外接矩形Ｂ２が設定される。
【００６９】
続いて、設定された外接矩形Ｂ１、Ｂ２のサイズに基づいて、操作メニューのサイズ、及び、表示位置が算出される。例えば、外接矩形Ｂ１、Ｂ２に対して余白が設けられた矩形のサイズにに基づいて、操作メニューのサイズが設定される。
【００７０】
［操作メニューのサイズの算出］
式３は、図１３において生成された外接矩形Ｂ１，Ｂ２に余白が設けられた矩形Ｂ´を示す式である。式３において、座標（ｂｘ,ｂｙ）は、外接矩形Ｂ１、Ｂ２の左上の座標を示す。また、値ｂｗは外接矩形Ｂ１、Ｂ２の幅、値ｂｈは外接矩形Ｂ１、Ｂ２の高さを示す。式３において、値ｓ１〜ｓ４は、外接矩形Ｂ１、Ｂ２の各辺に対応する余白の幅を示す定数である。具体的に、値ｓ１は左方向、値ｓ２は上方向、値ｓ３は右方向、値ｓ４は下方向における余白の幅を示す。または、余白の幅の値ｓ１〜ｓ４は、外接矩形Ｂ１、Ｂ２の幅ｂｗ、及び、高さｂｈに基づいて設定されてもよい。この場合、例えば、外接矩形Ｂ１、Ｂ２の幅ｂｗおよび高さｂｈに所定の係数を乗じた値が、余白の幅の値ｓ１〜ｓ４として算出される。
【００７１】
外接矩形Ｂ１，Ｂ２=（ｂｘ, ｂｙ, ｂｗ, ｂｈ）
矩形Ｂ´＝（ｂｘ−ｓ１, ｂｙ−ｓ２, ｂｗ＋ｓ１＋ｓ３, ｂｈ＋ｓ２＋ｓ４）
＝（ｂ‘ｘ, ｂ’ｙ, ｂ‘ｗ, ｂ’ｈ）                    ・・・式３
続いて、式３に基づいて算出された矩形Ｂ‘の幅ｂ’ｗ、高さｂ‘ｈに基づいて、操作メニューのサイズが算出される。操作メニューの幅及び高さは、例えば、関数Ｍａｘ(ｂ‘ｗ, ｂ’ｈ)の値に比例して算出される。関数Ｍａｘ(ｂ‘ｗ, ｂ’ｈ)は、矩形Ｂ‘の幅ｂ’ｗ、高さｂ‘ｈのうち、より大きい値を算出する関数である。例えば、操作メニューが環状の操作メニューである場合、矩形Ｂ‘の幅ｂ’ｗ、高さｂ‘ｈのうち、より大きい値が操作メニューの直径として算出される。または、矩形Ｂ‘の幅ｂ’ｗ、高さｂ‘ｈのうち、より大きい値に比例したサイズが操作メニューの直径として算出される。
【００７２】
ただし、この例に限定されるものではない。例えば、操作メニューの幅及び高さは、矩形Ｂ‘の対角線の長さに比例して算出されてもよい。また、操作メニューのサイズは、余白を設けた矩形Ｂ´のサイズではなく、外接矩形Ｂ１、Ｂ２の対角線の長さに比例したサイズとして算出されてもよい。このように、操作メニューのサイズは、各操作対象における一部または全部の領域であって操作メニューと重複しない非重複領域に比例して算出される。これにより、非重複領域の配置の分布に基づいて、非重複領域と重複することなく、非重複領域の大きさに連動した操作メニューのサイズが算出可能になる。
【００７３】
［中心位置の算出］
また、矩形Ｂ‘の重心位置が、操作対象における非重複領域の中心位置として算出される。これにより、算出された矩形Ｂ´の重心位置と、操作メニューの重心位置とが重なるように、操作メニューが表示される。具体的に、矩形Ｂ´の重心位置の座標に、操作メニューの重心位置が重なるように、操作メニューが表示される。これにより、操作対象の近くに位置する項目の検知が容易になる。一方、前述したように、操作メニューをパン・ズームさせるのではなく、少なくとも操作対象を含む表示コンテンツをパン・ズームさせる場合、予め設定された基準表示位置に表示される操作メニューの重心位置の座標に、矩形Ｂ´の重心位置が重なるように表示コンテンツが移動される。この場合についても、同様にして、操作対象の近くに位置する項目の検知が容易になる。
【００７４】
［対応関係の算出（Ｓ１４）］
図１４は、操作対象ｂＡ〜ｂＤと、操作メニューＭＭにおける項目ｍ１〜ｍ８との対応関係の算出処理について説明する図である。同図において、４つの操作対象ｂＡ〜ｂＤが例示される。また、操作メニューＭＭの８つの項目ｍ１〜ｍ８のうち、４つの項目について操作対象ｂＡ〜ｂＤと対応付けられる。本実施の形態例において、操作対象ｂＡ〜ｂＤと項目ｍ１〜ｍ８との対応関係として、例えば、操作対象ｂＡ〜ｂＤの代表位置ｘ１〜ｘ４と、項目ｍ１〜ｍ８の代表位置ａ（ｍ１）〜ａ（ｍ８）との距離の和が最小となる対応関係が算出される。ただし、この例に限定されるものではない。対応関係は、操作対象ｂＡ〜ｂＤの代表位置ｘ１〜ｘ４と、項目ｍ１〜ｍ８の代表位置ａ（ｍ１）〜ａ（ｍ８）との少なくとも１つの距離が最小となるように算出されてもよい。
【００７５】
操作対象ｂＡ〜ｂＤの代表位置ｘ１〜ｘ４は、各操作対象ｂＡ〜ｂＤの領域を代表する１点の位置である。代表位置ｘ１〜ｘ４は、例えば、操作対象ｂＡ〜ｂＤの領域における特定の位置（例えば左上頂点）からの所定距離の位置、操作対象ｂＡ〜ｂＤの領域の重心、操作対象ｂＡ〜ｂＤの領域の外接円または凸包の中心位置に設定される。この例において、代表位置ｘ１〜ｘ４は、操作対象ｂＡ〜ｂＤの領域の重心位置に設定される。また、項目ｍ１〜ｍ８の代表位置ａ（ｍ１）〜ａ（ｍ８）は、各項目ｍ１〜ｍ８の領域を代表する１点の位置である。項目ｍ１〜ｍ８の代表位置ａ（ｍ１）〜ａ（ｍ８）についても、操作対象ｂＡ〜ｂＤの代表位置ｘ１〜ｘ４と同様である。
【００７６】
式４は、操作対象ｂＡ〜ｂＤの代表位置ｘ１〜ｘ４と、項目ｍ１〜ｍ８の代表位置ａ（ｍ１）〜ａ（ｍ８）との距離の和が最小になる対応関係を算出する式である。式４において、ｘｉ(ｉ＝１, … ,Ｎ)は、操作対象ｂＡ〜ｂＤの代表位置ｘ１〜ｘ４を示す。また、式４において、ｍｃｉ（ｃｉ＝１, … ,Ｍ）は操作メニューにおける各項目を示し、ａ（ｍｃｉ）は、各項目における代表位置を示す。そして、関数ｄ（ｘｉ，ａ（ｍｃｉ））は、操作対象ｂＡ〜ｂＤの代表位置ｘ１〜ｘ４と、項目ｍ１〜ｍ８の代表位置ａ（ｍ１）〜ａ（ｍ８）との距離を算出する関数を示す。関数ｄ（ｘｉ，ａ（ｍｃｉ））は、例えば、ユークリッド距離に基づく。
【００７７】
【数２】
2014149778.tif 000004
【００７８】
式４に基づいて、操作対象ｂＡ〜ｂＤと項目ｍ１〜ｍ８との組み合わせ毎に、操作対象ｂＡ〜ｂＤの代表位置ｘ１〜ｘ４と、項目ｍ１〜ｍ８の代表位置ａ（ｍ１）〜ａ（ｍ８）との距離の和Ｅが算出される。そして、距離の和Ｅが最小値となる組み合わせが、操作対象ｂＡ〜ｂＤと項目ｍ１〜ｍ８の対応関係として算出される。これにより、操作対象ｂＡ〜ｂＤはそれぞれ、近い距離に位置する項目ｍ１〜ｍ８と対応付けられる。
【００７９】
以上のようにして、本実施の形態例における操作メニュー制御プログラムの操作メニュー制御処理は、表示画面においてカーソル位置から基準範囲内に位置する１つまたは複数の操作対象を抽出する抽出工程と、抽出された操作対象と、項目との表示位置の距離に基づいて、操作対象と項目との対応関係を算出する項目対応算出工程と、算出された対応関係の表示位置に項目を有する操作メニューを表示する表示工程と、を有する。
【００８０】
これにより、本実施の形態例における操作メニュー制御プログラムは、抽出した各操作対象が、近くの項目と対応付けられた操作メニューを表示することができる。ユーザは、所望の操作対象の近くに位置する項目を検知することによって、所望の操作対象に対応する項目をより容易に、迅速に推定することができ、所望の操作対象に対応する項目を探す手間が省ける。これにより、操作メニュー制御プログラムは、表示画面上に位置する複数の操作対象の選択をより容易にする、効果的な操作メニューを表示することができる。
【００８１】
また、本実施の形態例における操作メニュー制御プログラムは、項目との表示位置の距離に基づいて、抽出した操作対象の領域の分布に応じた対応関係を算出する。これにより、抽出された操作対象の形状、及び、配置の分布に関わらず、操作メニューにおける項目は、より近くに位置する操作対象に対応付けられる。したがって、ユーザは、抽出された操作対象の形状、及び、配置分布に関わらず、所望の操作対象に対応する項目をより容易に、迅速に検知することができる。
【００８２】
また、本実施の形態例における操作メニュー制御処理において、項目対応算出工程は、操作対象と、対応する項目との表示位置の各距離の総和が最小となる対応関係を算出する。これにより、操作メニュー制御プログラムは、操作対象それぞれが近い距離に位置する項目と対応付けられた操作メニューを表示することができる。これにより、ユーザは、所望の操作対象に対応する項目を、より迅速に、より容易に検知することができる。
【００８３】
また、本実施の形態例における操作メニュー制御処理は、さらに、各操作対象における一部または全部の領域であって操作メニューと重複しない非重複領域に比例して、操作メニューのサイズを算出する第１のサイズ算出工程と、を有し、表示工程は、算出したサイズの操作メニューを、非重複領域と重複させずに表示する。これにより、操作メニュー制御プログラムは、非重複領域に基づいて、操作対象が識別可能であって、操作対象の近くに位置する項目をより容易に検知可能なサイズの操作メニューを表示することができる。これにより、ユーザは、所望の操作対象に対応する項目を、より容易に、迅速に推定することができる。
【００８４】
また、本実施の形態例における操作メニュー制御処理において、第１のサイズ算出工程は、非重複領域の外接図形の第１のサイズに比例する第２のサイズを、操作メニューのサイズとして算出する。これにより、操作メニュー制御プログラムは、非重複領域の配置の分布に基づいて、すべての操作対象を識別可能であって、操作対象の近くに位置する項目をより容易に検知可能なサイズの操作メニューを表示することができる。
【００８５】
また、本実施の形態例における操作メニュー制御処理において、操作メニューは、基準サイズであって、各操作対象における一部または全部の領域であって操作メニューと重複しない非重複領域に反比例して、操作対象のサイズを算出する第２のサイズ算出工程を有し、表示工程は、操作対象を算出したサイズに変更し、非重複領域と重複させずに操作メニューを表示する。
【００８６】
このように、操作メニュー制御プログラムは、操作メニューのサイズが、予め、基準サイズに固定される場合、操作対象のサイズを、非重複領域に基づいて、操作対象が識別可能であって操作対象の近くに位置する項目をより容易に検知可能なサイズに変更することができる。これにより、ユーザは、操作対象に対応する項目をより容易に、迅速に検知可能になる。
【００８７】
また、本実施の形態例における操作メニュー制御処理において、操作対象の表示は文字列を含み、非重複領域は、操作対象における文字列の開始位置を含む部分領域である。操作対象が文字列によって表記される場合、ユーザは、文字列の開始部分を検知することによって、文字列全体の内容を推定可能になる。このため、操作メニュー制御プログラムは、少なくとも、文字列の開始位置を非重複領域とすることにより、操作対象を識別可能にしながら、非重複領域を小さく抑えて操作メニューのサイズが大きくなり過ぎることを回避することができる。
【００８８】
また、本実施の形態例における操作メニュー制御処理は、さらに、操作メニューの重心位置、及び、非重複領域の外接図形の重心位置を算出する重心位置算出工程と、を有し、表示工程は、操作メニューの重心位置と、外接図形の重心位置とが重なるように操作メニューを表示する。このように、操作メニュー制御プログラムは、非重複領域の中心と操作メニューの中心とが一致するように操作メニューを表示する。これにより、ユーザは、操作対象の近くに位置する項目をより容易に検知可能になり、所望の操作対象に対応する項目をより容易に、迅速に検知可能になる。
【００８９】
また、本実施の形態例における操作メニュー制御処理において、表示工程は、操作対象の表示位置は変更せず、操作メニューの表示位置を変更して表示する。これにより、操作メニュー制御プログラムは、少なくとも操作対象を含む表示コンテンツの表示位置を固定させたまま、操作対象の近くに位置する項目をより容易に検知可能になる位置に、操作メニューを表示させることができる。これにより、ユーザは、所望の操作対象に対応する項目を迅速に検知可能になる。
【００９０】
または、本実施の形態例における操作メニュー制御処理において、表示工程は、操作メニューは基準表示位置に表示し、操作対象の表示位置を変更して表示する。これにより、操作メニュー制御プログラムは、操作メニューの表示位置を固定させ、少なくとも操作対象を含む表示コンテンツを、項目の近くに位置する操作対象をより容易に検知可能になる位置に移動させることができる。これにより、ユーザは、所望の操作対象に対応する項目を迅速に検知可能になる。
【００９１】
以上の実施の形態をまとめると、次の付記のとおりである。
【００９２】
（付記１）
表示画面において、操作対象がそれぞれ対応付けられた項目を有する操作メニューを表示する操作メニュー制御処理をコンピュータに実行させる操作メニュー制御プログラムであって、
前記操作メニュー制御処理は、
前記表示画面において、カーソル位置から基準範囲内に位置する１つまたは複数の操作対象を抽出する抽出工程と、
前記抽出された操作対象と、前記項目との表示位置の距離に基づいて、前記操作対象と前記項目との対応関係を算出する項目対応算出工程と、
前記算出された前記対応関係の表示位置に前記項目を有する操作メニューを表示する表示工程と、を有する操作メニュー制御プログラム。
【００９３】
（付記２）
付記１において、
前記項目対応算出工程は、前記操作対象と、対応する前記項目との表示位置の各距離の総和が最小となる前記対応関係を算出する操作メニュー制御プログラム。
【００９４】
（付記３）
付記１または２において、
前記操作メニュー制御処理は、さらに、
各前記操作対象における一部または全部の領域であって前記操作メニューと重複しない非重複領域に比例して、前記操作メニューのサイズを算出する第１のサイズ算出工程と、を有し、
前記表示工程は、前記算出したサイズの前記操作メニューを、前記非重複領域と重複させずに表示する操作メニュー制御プログラム。
【００９５】
（付記４）
付記３において、
前記第１のサイズ算出工程は、前記非重複領域の外接図形の第１のサイズに比例する第２のサイズを、前記操作メニューのサイズとして算出する操作メニュー制御プログラム。
【００９６】
（付記５）
付記１または２において、
前記操作メニューは、基準サイズであって、
前記操作メニュー制御処理は、さらに、
各前記操作対象における一部または全部の領域であって前記操作メニューと重複しない非重複領域に反比例して、前記操作対象のサイズを算出する第２のサイズ算出工程と、を有し、
前記表示工程は、前記操作対象を前記算出したサイズに変更し、前記非重複領域と重複させずに前記操作メニューを表示する操作メニュー制御プログラム。
【００９７】
（付記６）
付記３乃至５のいずれかにおいて、
前記操作対象の表示は文字列を含み、
前記非重複領域は、前記操作対象における前記文字列の開始位置を含む部分領域である操作メニュー制御プログラム。
【００９８】
（付記７）
付記３乃至６のいずれかにおいて、
前記表示制御処理は、さらに、
前記操作メニューの重心位置、及び、前記非重複領域の外接図形の重心位置を算出する重心位置算出工程と、を有し、
前記表示工程は、前記操作メニューの重心位置と、前記外接図形の重心位置とが重なるように前記操作メニューを表示する操作メニュー制御プログラム。
【００９９】
（付記８）
付記７において、
前記表示工程は、前記操作対象の表示位置は変更せず、前記操作メニューの表示位置を変更して表示する操作メニュー制御プログラム。
【０１００】
（付記９）
付記７において、
前記表示工程は、前記操作メニューは基準表示位置に表示し、前記操作対象の表示位置を変更して表示する操作メニュー制御プログラム。
【０１０１】
（付記１０）
付記１乃至９のいずれかにおいて、
前記操作メニューは、前記操作対象を取り巻く形状である操作メニュー制御プログラム。
【０１０２】
（付記１１）
付記１乃至１０のいずれかにおいて、
前記操作メニューは、環状である操作メニュー制御プログラム。
【０１０３】
（付記１２）
表示画面において、操作対象がそれぞれ対応付けられた項目を有する操作メニューを表示する操作メニュー制御装置であって、
前記表示画面において、カーソル位置から基準範囲内に位置する１つまたは複数の操作対象を抽出する抽出手段と、
前記抽出された操作対象と、前記項目との表示位置の距離に基づいて、前記操作対象と前記項目との対応関係を算出する項目対応算出手段と、
前記算出された前記対応関係の表示位置に前記項目を有する操作メニューを表示する表示手段と、を有する操作メニュー制御装置。
【０１０４】
（付記１３）
表示画面において、操作対象がそれぞれ対応付けられた項目を有する操作メニューを表示する操作メニュー制御方法であって、
前記表示画面において、カーソル位置から基準範囲内に位置する１つまたは複数の操作対象を抽出する抽出工程と、
前記抽出された操作対象と、前記項目との表示位置の距離に基づいて、前記操作対象と前記項目との対応関係を算出する項目対応算出工程と、
前記算出された前記対応関係の表示位置に前記項目を有する操作メニューを表示する表示工程と、を有する操作メニュー制御方法。
【符号の説明】
【０１０５】
１００：操作メニュー制御装置、１１：ＣＰＵ、１２：メモリ、１３：ストレージ、１４：入力装置、１５：表示装置、１６：ネットワーク装置
【図１】
2014149778.tif 000005
【図２】
2014149778.tif 000006
【図３】
2014149778.tif 000007
【図４】
2014149778.tif 000008
【図５】
2014149778.tif 000009
【図６】
2014149778.tif 000010
【図７】
2014149778.tif 000011
【図８】
2014149778.tif 000012
【図９】
2014149778.tif 000013
【図１０】
2014149778.tif 000014
【図１１】
2014149778.tif 000015
【図１２】
2014149778.tif 000016
【図１３】
2014149778.tif 000017
【図１４】
2014149778.tif 000018