(57)【要約】      （修正有）【課題】複数のオブジェクトをタッチする操作における操作性を向上させた情報処理装置を提供する。【解決手段】情報処理装置は、特定の処理に関連付けられた１以上のオブジェクトが表示されるタッチパネル１０２と、コントローラ１０１とを備える。コントローラ１０１は、操作指示子が、表示画面に近接した状態で指示する位置を検出する子指示位置検出部２０５と、指示位置検出部２０５によって検出される位置に基づいて、タッチパネル１０２に表示される１以上のオブジェクトに優先度を設定するオブジェクト優先度決定部２０３と、操作指示子がタッチパネル１０２に接触した位置及びオブジェクト優先度決定部２０３によって設定された優先度に応じて、操作指示子が指示するオブジェクトを選択するオブジェクト選択部２０４と、を備える。【選択図】図２
2015230693.tif 000002
【特許請求の範囲】
【請求項１】
操作指示子が、特定の処理に関連付けられた１以上のオブジェクトが表示される表示画面に近接した状態で指示する位置を検出する位置検出手段と、
前記位置検出手段によって検出される位置に基づいて、前記表示画面に表示される１以上のオブジェクトに優先度を設定する優先度決定手段と、
前記操作指示子が前記表示画面に接触した位置及び前記優先度決定手段によって設定された優先度に応じて、前記操作指示子が指示するオブジェクトを選択する選択手段と、を備えることを特徴とする、
情報処理装置。
【請求項２】
前記優先度決定手段は、前記表示画面に表示される１以上のオブジェクトのうち、前記位置検出手段で検出した位置に表示されるオブジェクト又は前記位置検出手段で検出した位置に補正値を加えた位置に表示されるオブジェクトに優先度を設定することを特徴とする、
請求項１に記載の情報処理装置。
【請求項３】
前記表示画面に複数のオブジェクトが表示される場合、
前記優先度決定手段は、前記複数のオブジェクトの各々について、前記操作指示子によって指示される時間に基づいて優先度を設定し、
前記選択手段は、前記操作指示子が前記表示画面に接触した位置と前記優先度とに応じて、前記複数のオブジェクトから処理を実行するオブジェクトを選択することを特徴とする、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記優先度決定手段は、前記操作指示子により指示される時間に、過去に選択されたオブジェクトの履歴を加味してオブジェクトに優先度を設定することを特徴とする、
請求項３に記載の情報処理装置。
【請求項５】
優先度が設定されたオブジェクトの表示形態を変更する表示制御手段を備える、
請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記優先度決定手段は、前記優先度を設定してから所定時間経過すると前記優先度をクリアすることを特徴とする、
請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記優先度決定手段は、前記操作指示子が指示する位置が最初に優先度を設定したオブジェクトの表示位置から所定の距離を超えて移動すると、前記優先度をクリアすることを特徴とする、
請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記操作指示子が前記表示画面に接触したタッチ領域を検出するタッチ領域検出手段を備えており、
前記選択手段は、前記タッチ領域検出手段で検出したタッチ領域に含まれるオブジェクトの表示領域の大きさと前記優先度とに応じてオブジェクトを選択することを特徴とする、
請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
前記選択手段は、前記タッチ領域に優先度が設定されたオブジェクトの表示領域が含まれないときに、前記タッチ領域に優先度が設定されていないオブジェクトの表示領域が含まれれば、前記タッチ領域に含まれる優先度が設定されていないオブジェクトの表示領域の大きさに応じてオブジェクトを選択することを特徴とする、
請求項８に記載の情報処理装置。
【請求項１０】
前記選択手段は、前記タッチ領域にオブジェクトの表示領域が含まれないときに、前記優先度に応じてオブジェクトを選択することを特徴とする、
請求項８又は９に記載の情報処理装置。
【請求項１１】
前記操作指示子と前記表示画面との距離により、前記操作指示子が前記表示画面に近接した状態であるか、または接触しているかを判定する近接状態判定手段を備えており、
前記優先度決定手段は、前記操作指示子が前記表示画面に近接した状態にあると判定されたときに前記オブジェクトに優先度を設定し、
前記選択手段は、前記操作指示子が前記表示画面に接触していると判定されたときに前記オブジェクトの選択を行うことを特徴とする、
請求項１〜１０のいずれか１項に記載の情報処理装置。
【請求項１２】
特定の処理に関連付けられた１以上のオブジェクトが表示される表示画面を備えた情報処理装置により実行される方法であって、
操作指示子が前記表示画面に近接した状態で指示する位置に基づいて、前記表示画面に表示される１以上のオブジェクトに優先度を設定し、
前記操作指示子が前記表示画面に接触した位置及び１以上のオブジェクトに設定した前記優先度に応じて、前記操作指示子が指示するオブジェクトを選択することを特徴とする、
入力方法。
【請求項１３】
特定の処理に関連付けられた１以上のオブジェクトが表示される表示画面を備えたコンピュータを、
操作指示子が、前記表示画面に近接した状態で指示する位置を検出する位置検出手段、
前記検出手段によって検出される位置に基づいて、前記表示画面に表示される１以上のオブジェクトに優先度を設定する優先度決定手段、
前記操作指示子が前記表示画面に接触した位置及び前記優先度決定手段によって設定された優先度に応じて、前記操作指示子が指示するオブジェクトを選択する選択手段
として機能させるためのコンピュータプログラム。
【請求項１４】
請求項１３記載のコンピュータプログラムが記録されたコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＵＩ（Graphic User Interface）により情報処理装置への入力を行う技術に関する。
【背景技術】
【０００２】
入力装置として表示装置と位置入力装置とを組み合わせたタッチパネルを採用する情報処理装置は、表示画面にＧＵＩオブジェクトを表示し、これが指やスタイラスペンでタッチ操作されることで処理を実行する。ＧＵＩオブジェクトは、所定の処理に関連付けられている。タッチパネルは、ＧＵＩオブジェクトがタッチ操作されることで、該ＧＵＩオブジェクトに関連付けられた処理を実行するためのデータを情報処理装置に送信する。情報処理装置は、入力装置から受信したデータに応じて処理を実行する。
【０００３】
入力装置としてタッチパネルを採用する情報処理装置には、カーナビゲーションシステム、スマートフォン、タブレットＰＣ（Personal Computer）等がある。タッチパネルを入力装置に用いることで、マウス等のポインティングデバイスを用いた入力操作よりも、指やスタイラスペン等による直感的な入力操作が可能となる。カーナビゲーションシステムやスマートフォンでは、小さな表示画面に複数の小さなＧＵＩオブジェクトが並んで表示される。そのために、ＧＵＩオブジェクトをタッチ操作する際に、ユーザが意図しないＧＵＩオブジェクトを誤操作することがある。特許文献１は、指やスタイラスペン等の操作手段がタッチパネルの表示画面に接近すると、その距離に応じてＧＵＩオブジェクトを拡大表示し、タッチされるオブジェクトを明示的に示すことで、ＧＵＩオブジェクトの誤操作を防止する発明を開示する。なお、本明細書では、タッチパネルの表示画面に指やスタイラスペンが接触せず近接した状態を、「ホバー状態」という。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１１６５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
指やスタイラスペン等の操作手段のホバー状態での位置に応じてＧＵＩオブジェクトが拡大表示されると、タッチの過程で操作手段が移動するのに応じて度々表示画面のレイアウトが変化する。そのためＧＵＩオブジェクトの表示位置が移動するなどし、ユーザが、タッチすべき位置を定めにくくなる可能性がある。
【０００６】
本発明は、上記の問題を解決するために、表示画面のレイアウトを維持しつつ、並んで表示された複数のオブジェクトをタッチする操作における操作性を向上させることを主たる課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決する本発明の情報処理装置は、操作指示子が、特定の処理に関連付けられた１以上のオブジェクトが表示される表示画面に近接した状態で指示する位置を検出する位置検出手段と、前記位置検出手段によって検出される位置に基づいて、前記表示画面に表示される１以上のオブジェクトに優先度を設定する優先度決定手段と、前記操作指示子が前記表示画面に接触した位置及び前記優先度決定手段によって設定された優先度に応じて、前記操作指示子が指示するオブジェクトを選択する選択手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、表示画面のレイアウトを維持しつつ、並んで表示された複数のオブジェクトをタッチする操作における操作性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置のハードウェア構成図。
【図２】情報処理装置内に形成される機能を表す機能ブロック図。
【図３】操作指示子の座標の軌跡の説明図。
【図４】操作指示子によるタッチ領域とタッチ領域の比との説明図。
【図５】管理テーブルの例示図。
【図６】ＧＵＩオブジェクトに関連付けられる処理を実行する処理を表すフローチャート。
【図７】ＧＵＩオブジェクトの優先度を決定する処理を表すフローチャート。
【図８】ＧＵＩオブジェクトを選択する処理を表すフローチャート。
【図９】情報処理装置内に形成される機能を表す機能ブロック図。
【図１０】ＧＵＩオブジェクトの優先度を決定する処理を表すフローチャート。
【図１１】ＧＵＩオブジェクトの優先度を決定する処理を表すフローチャート。
【図１２】ＧＵＩオブジェクトを選択する処理を表すフローチャート。
【図１３】（ａ）、（ｂ）はＧＵＩオブジェクトを選択する処理の説明図。
【発明を実施するための形態】
【００１０】
以下、図面を参照して実施形態を詳細に説明する。ただし、本実施形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
＜第１実施形態＞
（構成）
図１は、本実施形態の情報処理装置のハードウェア構成図である。情報処理装置１００は、入力装置としてタッチパネル１０２を備える。情報処理装置１００は、この他に、コントローラ１０１及び大容量記憶部１０３を備える。コントローラ１０１は、ＣＰＵ（Central Processing Unit）１０４、ＲＯＭ（Read Only Memory）１０５、及びＲＡＭ（Random Access Memory）１０６を備える。このような情報処理装置１００は、例えばカーナビゲーションシステムやスマートフォン、タブレットＰＣ等の、タッチパネル１０２を入力装置として備える機器により実現することができる。
【００１２】
コントローラ１０１は、情報処理装置１００全体の動作を制御する。そのために、ＣＰＵ１０４は、ＲＯＭ１０５や大容量記憶部１０３からコンピュータプログラムを読み出し、ＲＡＭ１０６を作業領域として用いて実行する。ＲＯＭ１０５や大容量記憶部１０３は、コンピュータプログラムや、プログラムの実行時に必要なデータを記憶する。ＲＡＭ１０６は、作業領域として用いられるために、処理に用いられるデータ等を一時的に記憶する。例えば、ＲＡＭ１０６には、後述する管理テーブルのように、処理に応じて内容が書き換えられるデータが記憶される。大容量記憶部１０３には、ハードディスクやＳＳＤ（Solid State Drive）等を用いることができる。
【００１３】
タッチパネル１０２は、表示装置と位置入力装置とを組み合わせたユーザインタフェースである。表示装置の表示画面には、コントローラ１０１の制御により、処理に関連付けられたＧＵＩオブジェクトを１以上含んで構成されるＧＵＩ画面が表示される。ＧＵＩオブジェクトは、例えばアプリケーションの表示を構成するボタン、テキストフィールドである。タッチパネル１０２へのタッチ操作は、ユーザの指やスタイラスペン等の操作指示子により行われる。位置入力装置は、操作指示子によるタッチを検出するタッチセンサを備えており、検出結果を表すデータ（タッチデータ）をコントローラ１０１に送信する。位置入力装置は、周期的にタッチ操作の検出を行ってタッチデータをコントローラ１０１に送信する。
【００１４】
なお、タッチパネル１０２（位置入力装置）は、操作指示子が実際に表示画面に接触している状態の他に、操作指示子が表示画面に接近したホバー状態も検出する。タッチパネル１０２が静電容量式の場合、位置入力装置は、操作指示子との間の静電容量の大きさにより、操作指示子がホバー状態にあるか接触しているかを区別して検出することができる。タッチ操作の検出は、静電容量式の他に、複数のセンサの組み合わせにより行ってもよい。タッチパネル１０２は、操作指示子がホバー状態にある場合も、接触している場合にも、検出結果を示すタッチデータをコントローラ１０１に送信する。
【００１５】
コントローラ１０１は、タッチパネル１０２から受信したタッチデータにより、操作指示子のホバー状態での位置や、操作指示子によりタッチされた表示画面上のタッチ位置を特定する。コントローラ１０１は、ＧＵＩ画面に含まれるＧＵＩオブジェクトの表示位置や大きさをＲＡＭ１０６に記憶しており、特定したタッチ位置がＧＵＩオブジェクトの表示領域内であれば、当該ＧＵＩオブジェクトに対するタッチ操作があったと認識する。そして、当該ＧＵＩオブジェクトに関連付けられた処理を実行する。ＧＵＩオブジェクトの表示領域は、表示位置及び大きさにより特定される。なお、タッチ操作は、タッチ位置がタッチされてから所定時間が経過する前にタッチが終了した（タッチ位置がリリースされた）ことが確認された時点で認識されるとしてもよい。このような操作を一般的に「タップ」と呼ぶ。以上説明した各構成要素は、必ずしも装置内で接続される構成に限定されず、一部が各種インターフェースを介して接続された外部装置であっても構わない。
【００１６】
図２は、ＣＰＵ１０４がコンピュータプログラムを実行することで情報処理装置１００（コントローラ１０１）に実現する機能を表す機能ブロック図である。コントローラ１０１には、近接検出部２０１、近接状態判定部２０２、オブジェクト優先度決定部２０３、オブジェクト選択部２０４、指示位置検出部２０５、タッチ領域検出部２０６、及び実行部２０７が形成される。
【００１７】
近接検出部２０１は、タッチパネル１０２から受信するタッチデータにより、操作指示子とタッチパネル１０２の表示画面との近接度を検出する。近接度は、例えば操作指示子とタッチパネル１０２の表示画面との間の距離の程度を表す。静電容量式のタッチパネル１０２では、操作指示子とタッチパネル１０２との間の静電容量により、近接度を算出することができる。例えば、静電容量の大きさが所定の閾値を越えているところでは、操作指示子とタッチパネル１０２の表示画面との距離は「０」であるとみなすことができる。近接検出部２０１は、タッチパネル１０２からタッチデータを周期的に受信して、受信する度に近接度を算出する。
【００１８】
近接状態判定部２０２は、近接検出部２０１で算出された近接度により操作指示子の近接状態、即ち操作指示子がタッチパネル１０２の表示画面をタッチしているか、或いはホバー状態にあるかを判定する。例えば、近接度が表す操作指示子とタッチパネル１０２の表示画面との距離が「０」であれば、近接状態判定部２０２は、操作指示子が表示画面をタッチ状態にあると判定する。近接度が表す距離が「０」より大きく且つ所定の距離未満であれば、近接状態判定部２０２は、ホバー状態にあると判定する。近接度が表す距離が所定の距離以上であれば、近接状態判定部２０２は、操作指示子が近接する位置にないと判定する。近接状態判定部２０２は、判定結果をオブジェクト優先度決定部２０３及びオブジェクト選択部２０４に送る。
【００１９】
指示位置検出部２０５は、タッチパネル１０２から受信するタッチデータにより、操作指示子が指示するＧＵＩ画面上の位置（座標）を検出する。そのために指示位置検出部２０５は、タッチデータから操作指示子が指示するタッチパネル１０２の表示画面上の座標を算出する。さらに、指示位置検出部２０５は、算出した表示画面上の座標を表示中のＧＵＩ画面上の座標へと変換する。このようにして指示位置検出部２０５は、操作指示子により指示されるＧＵＩ画面上の位置を検出する。指示位置検出部２０５は、検出したＧＵＩ画面上の位置（座標）を表す位置情報を出力する。
【００２０】
タッチ領域検出部２０６は、タッチパネル１０２から受信するタッチデータにより、操作指示子がタッチするＧＵＩ画面上の領域を検出する。そのためにタッチ領域検出部２０６は、タッチデータから表示画面上のタッチ領域を算出する。タッチ領域は、例えば操作指示子によりタッチされた領域に含まれる座標点の集合である。さらに、タッチ領域検出部２０６は、算出した表示画面上のタッチ領域を表示中のＧＵＩ画面上の領域へと変換する。このようにしてタッチ領域検出部２０６は、操作指示子によりタッチされるＧＵＩ画面上の領域を検出する。タッチ領域検出部２０６は、検出したＧＵＩ画面上の領域を表すタッチ領域情報を出力する。
【００２１】
オブジェクト優先度決定部２０３は、近接状態判定部２０２がホバー状態と判定した場合に、指示位置検出部２０５から取得した位置情報に基づいてＧＵＩオブジェクトの優先度を決定する。オブジェクト優先度決定部２０３は、例えば操作指示子がホバー状態で指示する時間が長い順に、ＧＵＩ画面に含まれるＧＵＩオブジェクトに優先度を設定する。具体的には、指示位置検出部２０５から得た位置情報で表される座標に位置するＧＵＩオブジェクトを判別し、該ＧＵＩオブジェクトが指示されている時間をカウントする。カウント値は、後述する管理テーブルによりＧＵＩオブジェクト毎にホバー時間として管理される。オブジェクト優先度決定部２０３は、ホバー時間に応じてＧＵＩオブジェクト毎に優先度を決定する。
【００２２】
ＧＵＩ画面内にＧＵＩオブジェクトＡ、ＧＵＩオブジェクトＢ、ＧＵＩオブジェクトＣの３つが表示される場合を例に、優先度について説明する。各ＧＵＩオブジェクトＡ、Ｂ、Ｃのホバー時間の割合が、６：３：１である場合、オブジェクト優先度決定部２０３は、ＧＵＩオブジェクトＡ、ＧＵＩオブジェクトＢ、ＧＵＩオブジェクトＣの順に優先度を決定する。優先度は、ホバー時間の割合に応じて、ＧＵＩオブジェクトＡに「０．６」、ＧＵＩオブジェクトＢに「０．３」、ＧＵＩオブジェクトＣに「０．１」が設定される。
【００２３】
オブジェクト選択部２０４は、近接状態判定部２０２がタッチ状態であると判定した場合に、タッチ領域検出部２０６から取得したタッチ領域情報と、オブジェクト優先度決定部２０３が決定した優先度とに基づいて、ＧＵＩオブジェクトを選択する。オブジェクト選択部２０４は、タッチ領域情報が表す操作指示子がタッチする領域に表示されるＧＵＩオブジェクトを判別する。複数のＧＵＩオブジェクトがタッチ領域に表示される場合、オブジェクト選択部２０４は、各ＧＵＩオブジェクトの表示領域に含まれるタッチ領域の大きさ（面積）の比を算出する。オブジェクト選択部２０４は、算出した比と優先度とにより、複数のＧＵＩオブジェクトから処理を実行する１つを選択する。
【００２４】
実行部２０７は、オブジェクト選択部２０４で選択されたＧＵＩオブジェクトに関連付けられる処理を実行する。本実施形態では、情報処理装置１００とタッチパネル１０２（入力装置）とが一体に構成され、情報処理装置１００は、操作指示子によりタッチされたＧＵＩオブジェクトに関連付けられる処理を実行する。そのためにコントローラ１０１には、実行部２０７が形成される。
【００２５】
図３は、指示位置検出部２０５で検出される操作指示子が指示する位置の説明図である。図３では、ＧＵＩ画面に５つのＧＵＩオブジェクト（ボタンＡ〜Ｅ）が含まれる。図３では、操作指示子がボタンＡ、Ｂ、Ｃをホバー状態で指示しており、ボタンＥ、Ｄを指示していない。オブジェクト優先度決定部２０３は、位置情報で表される位置にあるＧＵＩオブジェクトのカウント値をカウントアップしており、図３の例では、ボタンＡのカウント値が「６００」、ボタンＢのカウント値が「３００」、ボタンＣのカウント値が「１００」である。ボタンＤ、Ｅについては、カウント値が「０」である。この場合、優先度は、ボタンＡが「６００／１０００＝０．６」、ボタンＢが「３００／１０００＝０．３」、ボタンＣが「１００／１０００＝０．１」、ボタンＤ、Ｅがともに「０」となる。このように、ホバー状態で操作指示子により長時間指示されているＧＵＩオブジェクトが、より高い比重で重み付けされた優先度に決められる。
【００２６】
図４は、操作指示子によるタッチ領域とタッチ領域の比との説明図である。図３と同様に、ＧＵＩ画面は、５つのＧＵＩオブジェクト（ボタンＡ〜Ｅ）を含む。タッチ領域検出部２０６で検出されたタッチ領域は、楕円で表される。タッチ領域は、ボタンＡ、Ｂ、Ｃの表示領域に重なり、それぞれタッチ領域の比が「０．３」、「０．５」、「０．２」である。オブジェクト選択部２０４は、タッチ領域に含まれる座標により、操作指示子でタッチされたＧＵＩオブジェクトを判定し、各ＧＵＩオブジェクトの表示領域とタッチ領域との重なる部分の座標の数を算出する。算出された各ＧＵＩオブジェクトの表示領域とタッチ領域との重なる部分の座標の数の比がタッチ領域の比である。タッチ領域の比は、タッチ領域に含まれるＧＵＩオブジェクトの表示領域の大きさを表す。
【００２７】
オブジェクト選択部２０４は、各ＧＵＩオブジェクトのタッチ領域の比と優先度とから、ＧＵＩオブジェクトを選択する。例えばオブジェクト選択部２０４は、タッチ領域の比と優先度との積が最大となるＧＵＩオブジェクトを選択する。図４の場合、ボタンＡは「０．６×０．３＝０．１８」、ボタンＢは「０．３×０．５＝０．１５」、ボタンＣは「０．１×０．２＝０．０２」、ボタンＤ、Ｅは「０」となるため、オブジェクト選択部２０４は最大値となるボタンＡを選択する。
【００２８】
図５は、管理テーブルの例示図である。管理テーブルでは、ＧＵＩオブジェクトを「ＧＵＩオブジェクトＩＤ」により識別して、各ＧＵＩオブジェクトの「ホバー時間」、「優先度」、「タッチ領域」、「タッチ領域の比」を管理する。図５の例では、管理テーブルが、図３、図４のボタンＡ〜Ｅについて管理する。
【００２９】
オブジェクト優先度決定部２０３は、指示位置検出部２０５から取得する位置情報に含まれる座標がＧＵＩオブジェクトの表示領域に含まれる場合に、該ＧＵＩオブジェクトのホバー時間のカウント値をカウントアップする。カウント値から優先度が算出される。カウントアップ及び優先度の算出は、ホバー状態の座標が検出される度に行われる。オブジェクト優先度決定部２０３は、ホバー時間及び優先度を管理テーブルに記憶する。オブジェクト選択部２０４は、タッチ領域検出部２０６から取得するタッチ領域情報に含まれる座標とＧＵＩオブジェクトの表示領域とにより、タッチ領域及びタッチ領域の比を算出して、管理テーブルに記憶する。
【００３０】
（処理）
図６は、このような構成の情報処理装置１００により、操作指示子で指示されたＧＵＩオブジェクトに関連付けられる処理を実行する処理を表すフローチャートである。タッチパネル１０２は、周期的にタッチ操作の検出を行い、タッチデータをコントローラ１０１に入力している。
【００３１】
近接状態判定部２０２は、近接検出部２０１により近接度が検出されたか否かを判定する（Ｓ６０１）。近接度が検出されていると（Ｓ６０１：Y）、近接状態判定部２０２は、近接度に基づいて操作指示子がホバー状態にあるか否かを判定する（Ｓ６０２）。操作指示子がホバー状態にある場合（Ｓ６０２：Y）、オブジェクト優先度決定部２０３は、近接状態判定部２０２からホバー状態にあることの通知を取得して、ＧＵＩオブジェクトの優先度を決定する処理を実行する（Ｓ６０３）。ＧＵＩオブジェクトの優先度を決定する処理の詳細は後述する。
【００３２】
操作指示子がホバー状態にない場合（Ｓ６０２：N）、近接状態判定部２０２は、操作指示子がタッチパネル１０２の表示画面にタッチ状態にあるか否かを判定する（Ｓ６０４）。操作指示子がタッチ状態にある場合（Ｓ６０４：Y）、オブジェクト選択部２０４は、近接状態判定部２０２からタッチ状態にあることの通知を取得して、ＧＵＩオブジェクトを選択する処理を実行する（Ｓ６０５）。ＧＵＩオブジェクトを選択する処理の詳細は後述する。
【００３３】
オブジェクト選択部２０４によりＧＵＩオブジェクトが選択されると、実行部２０７は、オブジェクト選択部２０４から選択されたＧＵＩオブジェクトの情報を取得する。実行部２０７は、取得したＧＵＩオブジェクトの情報に基づいて、当該ＧＵＩオブジェクトに関連付けられた処理を実行する（Ｓ６０６）。以上により、ＧＵＩオブジェクトの処理が実行される。なお、操作指示子がタッチ状態にない場合（Ｓ６０４：N）、コントローラ１０１は、次のタッチデータによる処理のためにステップＳ６０１の処理に戻る。
【００３４】
図７は、ステップＳ６０３のＧＵＩオブジェクトの優先度を決定する処理を表すフローチャートである。
【００３５】
オブジェクト優先度決定部２０３は、指示位置検出部２０５から位置情報を取得する（Ｓ７０１）。オブジェクト優先度決定部２０３は、取得した位置情報に基づいて、操作指示子が指示するＧＵＩオブジェクトを特定する（Ｓ７０２）。オブジェクト優先度決定部２０３は、位置情報で表される操作指示子がホバー状態で指示する位置を、表示位置とサイズとで決まる表示領域内に含むＧＵＩオブジェクトを特定する。
【００３６】
オブジェクト優先度決定部２０３は、特定したＧＵＩオブジェクトに対するホバー時間を計時して管理テーブルに記憶する（Ｓ７０３）。オブジェクト優先度決定部２０３は、ホバー時間に基づいて優先度を決定して管理テーブルに記憶する（Ｓ７０４）。以上の処理により、図５に示す管理テーブルの「ホバー時間」及び「優先度」が設定される。
【００３７】
図８は、図６のステップＳ６０５のＧＵＩオブジェクトを選択する処理を表すフローチャートである。
【００３８】
オブジェクト選択部２０４は、タッチ領域検出部２０６からタッチ領域情報を取得する（Ｓ８０１）。オブジェクト選択部２０４は、タッチ領域情報に基づいてタッチ領域の比を算出する（Ｓ８０２）。例えば、オブジェクト選択部２０４は、タッチ領域情報が表すタッチ領域内の座標に基づいてＧＵＩオブジェクトを特定し、特定したＧＵＩオブジェクトの管理テーブルのタッチ領域の値をカウントアップする。オブジェクト選択部２０４は、タッチ領域内のすべての座標についてこの処理を行い、タッチ領域の値に基づいてタッチ領域の比を算出して、管理テーブルに記憶する。
【００３９】
オブジェクト選択部２０４は、管理テーブルを確認して、優先度が設定されたＧＵＩオブジェクトがタッチ領域内に存在するか否かを判定する（Ｓ８０３）。例えば、図５の管理テーブルでは、タッチ領域の比が「０」より大きいボタンＡ、Ｂ、Ｃに優先度が設定されている。この場合にオブジェクト選択部２０４は、優先度が設定されたＧＵＩオブジェクトがタッチ領域内に存在すると判定する。
【００４０】
優先度が設定されたＧＵＩオブジェクトがタッチ領域内に存在する場合（Ｓ８０３：Y）、オブジェクト選択部２０４は、タッチ領域の比と優先度とに基づいてＧＵＩオブジェクトを選択する（Ｓ８０４）。図５の管理テーブルでは、タッチ領域の比と優先度との積が最大となるボタンＡが選択される。ＧＵＩオブジェクトの選択後、或いは優先度が設定されたＧＵＩオブジェクトがタッチ領域内に存在しない場合（Ｓ８０３：N）、オブジェクト選択部２０４は、優先度を含む管理テーブルの内容をすべてクリアして処理を終了する（Ｓ８０５）。
【００４１】
図７のステップＳ７０２では、オブジェクト優先度決定部２０３が、位置情報に基づいてホバー時間を計時するＧＵＩオブジェクトを特定する。図８のステップＳ８０２では、オブジェクト選択部２０４が、タッチ領域情報に基づいてタッチ領域をカウントするＧＵＩオブジェクトを特定する。これらは、操作指示子が指示する位置の座標に基づいてＧＵＩオブジェクトを特定するが、検出した座標そのものではなく、補正した座標を用いてもよい。例えば、タッチパネル１０２に対するユーザの視線の角度によっては、ユーザが指で指示しているつもりの位置と、実際にタッチパネル１０２で検出する位置とにズレが生じる場合がある。この場合に、タッチパネル１０２で検出した位置の座標にズレを考慮した補正値を加えて、補正した座標によりＧＵＩオブジェクトを特定してもよい。
【００４２】
管理テーブルに記憶される優先度は、ホバー時間の比に応じて決められるが、ホバー時間の比以外の要素を加えて優先度を設定してもよい。例えば、ホバー時間に、ユーザの選択頻度や、直近で選択した順を加味してＧＵＩオブジェクトの優先度を設定してもよい。つまり、ＧＵＩオブジェクトが過去に選択された履歴をＲＡＭ１０６に記憶しておき、この履歴を考慮して優先度を設定してもよい。
【００４３】
このように本実施形態では、ホバー時間に基づいてＧＵＩオブジェクトに優先度を設定し、実際にタッチした位置に基づいてタッチ領域の比を設定し、優先度及びタッチ領域の比に基づいてＧＵＩオブジェクトを選択する。そのために、ホバー状態からのタッチ操作によるＧＵＩオブジェクトの誤操作の確率を低くすることができる。
【００４４】
＜第２実施形態＞ 
第２実施形態では、優先度に応じてタッチパネル１０２に表示されるＧＵＩオブジェクトの表示形態を変更する。情報処理装置１００のハードウェア構成は、第１実施形態と同様であるので説明を省略する。ＣＰＵ１０４がコンピュータプログラムを実行することにより形成される機能ブロックを図９に示す。図２の第１実施形態の機能ブロックとは、表示制御部１３０１が追加されたことで異なり、他の部分については同じ構成である。同じ構成については、説明を省略する。表示制御部１３０１は、管理テーブルを参照し、ＧＵＩ画面に含まれるＧＵＩオブジェクトの表示形態を優先度に基づいて変更する。
【００４５】
図１０は、表示制御部１３０１による表示制御を含む、第２実施形態のＧＵＩオブジェクトの優先度を決定する処理を表すフローチャートである。このフローチャートでは、まず、図７のステップＳ７０１〜Ｓ７０４の処理と同様の処理をオブジェクト優先度決定部２０３が行う。優先度が決定した後に、表示制御部１３０１は、ステップＳ７０４で決定した優先度に基づいて、タッチパネル１０２に表示されるＧＵＩオブジェクトの表示を変更する（Ｓ９０１）。
【００４６】
例えば、図５の管理テーブルでは、ボタンＡ、ボタンＢ、ボタンＣに優先度が設定される。表示制御部１３０１は、優先度に基づいて、ボタンの色、枠の線の太さ、色の変化による点滅の早さ等を変更して、ボタンＡ、ボタンＢ、ボタンＣに優先度が設定されていることを表す。単に優先度が設定されていることを表してもよく、優先度の高さに応じて表現を変えて、優先度の順位を表してもよい。
【００４７】
これによりユーザは、優先度が設定されたＧＵＩオブジェクトを、その表示形態の変化により確認しながらタッチ操作を行うことができる。なお、ＧＵＩオブジェクトの表示形態の変化は、例えば管理テーブルがクリアされることで元に戻される。
【００４８】
＜第３実施形態＞ 
第３実施形態では、ＧＵＩオブジェクトの優先度を決定する際のホバー状態について限定する。情報処理装置１００のハードウェア構成及び機能ブロックは、第１実施形態と同様であるので説明を省略する。図１１は、第３実施形態のＧＵＩオブジェクトの優先度を決定する処理を表すフローチャートである。
【００４９】
第１実施形態と同様に、指示位置検出部２０５から位置情報を取得したオブジェクト優先度決定部２０３は、ＧＵＩオブジェクトを特定する（Ｓ７０１、Ｓ７０２）。ＧＵＩオブジェクトを特定したオブジェクト優先度決定部２０３は、管理テーブルをクリアするか否かを判断する（Ｓ１００１）。オブジェクト優先度決定部２０３は、管理テーブルをクリアするか否かを、管理テーブルにホバー時間を記憶した際の前回時刻と現在時刻とを用いて判断する。オブジェクト優先度決定部２０３は、前回時刻と現在時刻との差が所定時間を超えている場合は管理テーブルをクリアし、所定時間内であればクリアしない。オブジェクト優先度決定部２０３は、現在時刻を管理テーブルへのホバー時間記憶時の最新時刻としてＲＡＭ１０６に記憶する。
【００５０】
管理テーブルをクリアする場合（Ｓ１００１：Y）、オブジェクト優先度決定部２０３は、管理テーブルをクリアして（Ｓ１００２）、ホバー時間を加算する（Ｓ７０３）。管理テーブルをクリアしない場合（Ｓ１００１：N）、オブジェクト優先度決定部２０３は、管理テーブルをクリアせずにホバー時間を加算する（Ｓ７０３）。その後、ＧＵＩオブジェクトの優先度を決定して、オブジェクト優先度決定部２０３は、ＧＵＩオブジェクトの優先度を決定する処理を終了する（Ｓ７０４）。
【００５１】
以上のように、ホバー時間を記憶する時間間隔が所定時間を超えている場合、オブジェクト優先度決定部２０３は、過去のホバー時間を用いることなく、最新のホバー時間によりＧＵＩオブジェクトの優先度を決定する。つまり、オブジェクト優先度決定部２０３は、管理テーブルの優先度を更新してから所定時間経過した場合、管理テーブルをクリアすることで最新の優先度の設定を行う。これにより、所定時間より前のユーザの操作がＧＵＩオブジェクトの優先度の決定に影響することを防止して、誤操作の可能性を低くする。
【００５２】
ホバー時間の限定の他に、操作指示子が指示する位置を限定してもよい。例えば、オブジェクト優先度決定部２０３は、管理テーブルに最初に記憶する操作指示子が指示するＧＵＩオブジェクトの位置を初期位置として、指示位置検出部２０５から取得する位置情報で表される位置との距離を算出する。オブジェクト優先度決定部２０３は、算出した距離が所定の距離を超える場合に管理テーブルをクリアし、所定の距離以内であれば管理テーブルをクリアしない。これにより、所定の距離より移動する操作がＧＵＩオブジェクトの優先度の決定に影響することを防止して、誤操作の可能性を低くする。
【００５３】
このようにホバー時間や操作指示子が指示する位置に制限を加えることで、操作指示子が広い範囲をホバー状態で移動した場合であっても、タッチ操作する付近でのホバー状態に応じてＧＵＩオブジェクトの優先度を決定することができる。なお、第３実施形態においても、第２実施形態のように優先度が設定されたＧＵＩオブジェクトの表示形態を変化させてもよい。
【００５４】
＜第４実施形態＞ 
ＧＵＩオブジェクトを選択する際に、優先度が設定されたＧＵＩオブジェクトがタッチされない場合がある。第４実施形態では、そのような場合の処理を示す。情報処理装置１００のハードウェア構成及び機能ブロックは、第１実施形態と同様であるので説明を省略する。図１２は、第４実施形態のＧＵＩオブジェクトを選択する処理を表すフローチャートである。
【００５５】
第１実施形態と同様に、オブジェクト選択部２０４は、タッチ領域情報をタッチ領域検出部２０６から取得してタッチ領域の比を算出し、タッチ領域に優先度が設定されたＧＵＩオブジェクトがあるか否かを判断する（Ｓ８０１、Ｓ８０２、Ｓ８０３）。ＧＵＩオブジェクトがある場合（Ｓ８０３：Y）、タッチ領域検出部２０６は、第１実施形態と同様に、ＧＵＩオブジェクトを選択して管理テーブルをクリアする（Ｓ８０４、Ｓ８０５）。
【００５６】
タッチ領域に優先度が設定されたＧＵＩオブジェクトがない場合（Ｓ８０３：N）、オブジェクト選択部２０４は、タッチ領域にＧＵＩオブジェクトがあるか否かを判断する（Ｓ１１０）。タッチ領域内にＧＵＩオブジェクトがある場合（Ｓ１１０１：Y）、オブジェクト選択部２０４は、タッチ領域内のＧＵＩオブジェクトのタッチ領域の比を確認して、これに基づいてＧＵＩオブジェクトを選択する（Ｓ１１０２）。オブジェクト選択部２０４は、タッチ領域の比が最も高いＧＵＩオブジェクトを選択する。タッチ領域内にＧＵＩオブジェクトがない場合（Ｓ１１０１：N）、オブジェクト選択部２０４は、優先度に基づいてＧＵＩオブジェクトを選択する（Ｓ１１０３）。オブジェクト選択部２０４は、優先度が最も高いＧＵＩオブジェクトを選択する。ＧＵＩオブジェクトを選択したオブジェクト選択部２０４は、管理テーブルをクリアして処理を終了する（Ｓ８０５）。
【００５７】
以上の処理により、タッチ領域に優先度が設定されたＧＵＩオブジェクトがない場合はタッチ領域の比に応じてＧＵＩオブジェクトが選択され、タッチ領域にＧＵＩオブジェクトがない場合は優先度に応じてＧＵＩオブジェクトが選択される。
【００５８】
図１３は、ＧＵＩオブジェクトを選択する処理の説明図である。図１３（ａ）は、タッチ領域に優先度が設定されたＧＵＩオブジェクトがない場合を表す。図１３（ｂ）は、タッチ領域にＧＵＩオブジェクトがない場合を表す。
【００５９】
図１３（ａ）では、操作指示子によるタッチ領域に優先度が設定されたＧＵＩオブジェクトであるボタンＡ、Ｂ、Ｃがなく、優先度が設定されていないＧＵＩオブジェクトであるボタンＤ、Ｅがある。この場合、オブジェクト選択部２０４は、タッチ領域の比によりＧＵＩオブジェクトを選択する。図１３（ａ）では、ボタンＤのタッチ領域の比が「０．７」、ボタンＥのタッチ領域の比が「０．３」であるために、オブジェクト選択部２０４は、ボタンＤを選択する。
【００６０】
図１３（ｂ）では、操作指示子によるタッチ領域にＧＵＩオブジェクトであるボタンＡ〜Ｅがない。この場合、オブジェクト選択部２０４は、優先度に応じて、ＧＵＩオブジェクトを選択する。ボタンＡの優先度が「０．６」、ボタンＢの優先度が「０．３」、ボタンＣの優先度が「０．１」、ボタンＤ、Ｅの優先度が「０」であるために、オブジェクト選択部２０４は、ボタンＡを選択する。
【００６１】
以上のような処理により、ユーザが優先度の設定されていないＧＵＩオブジェクトを選択したくなった場合に、優先度をクリアするための操作を行うことなく、所望のＧＵＩオブジェクトを選択することができ、ユーザの操作を簡素化できる（図１３（ａ））。
【００６２】
また、所望のＧＵＩオブジェクトが正確なタッチが困難な位置に表示される場合、ユーザは該ＧＵＩオブジェクトに優先度が高く設定されていることを確認して、ＧＵＩオブジェクトが表示されていない位置をタッチする（図１３（ｂ））。これにより、例えば、ＧＵＩオブジェクトの表示が小さい場合や他のＧＵＩオブジェクトが隣接する場合であっても、正確なＧＵＩオブジェクトの選択が可能である。そのために、あえてタッチが困難な位置をタッチしなくても、所望のＧＵＩオブジェクトが選択できる。なお、図１３（ｂ）のようにＧＵＩオブジェクトが表示されていない位置がタッチされた場合に、ＧＵＩオブジェクトの選択を行わずに処理を終了してもよい。この場合、ユーザの使用感が優先される。
【００６３】
第４実施形態は、第２実施形態や第３実施形態と組み合わせて行ってもよい。即ち、第２実施形態や第３実施形態に示すようにしてＧＵＩオブジェクトの優先度を設定した後に、第４実施形態のＧＵＩオブジェクトの選択が行われる。
【００６４】
以上の説明では、タッチパネル１０２と情報処理装置１００とが一体に構成される例を示したが、タッチパネル１０２は、情報処理装置１００から分離した状態で設けられていてもよい。例えば、デスクトップＰＣにタッチパネル１０２を搭載したディスプレイを接続した構成であっても、本実施形態と同様の処理を実現することができる。また、処理の実行を外部装置で行う構成であってもよい。この場合、実行部２０７は不要になる。例えば、タッチパネル１０２を、実行部２０７以外のコントローラ１０１の機能を備える入力装置として構成する。タッチパネル１０２は、外部装置に、選択したＧＵＩオブジェクトについての情報を送信して処理を実行させる。
【００６５】
［その他の実施形態］
また、本発明は、上述の実施形態の１以上の機能を実現するプログラムをネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６６】
１００…情報処理装置、１０１…コントローラ、１０２…タッチパネル、１０３…大容量記憶部、１０４…ＣＰＵ、１０５…ＲＯＭ、１０６…ＲＡＭ、２０１…近接検出部、２０２…近接状態判定部、２０３…オブジェクト優先度決定部、２０４…オブジェクト選択部、２０５…指示位置検出部、２０６…タッチ領域検出部
【図１】
2015230693.tif 000003
【図２】
2015230693.tif 000004
【図３】
2015230693.tif 000005
【図４】
2015230693.tif 000006
【図５】
2015230693.tif 000007
【図６】
2015230693.tif 000008
【図７】
2015230693.tif 000009
【図８】
2015230693.tif 000010
【図９】
2015230693.tif 000011
【図１０】
2015230693.tif 000012
【図１１】
2015230693.tif 000013
【図１２】
2015230693.tif 000014
【図１３】
2015230693.tif 000015