(57)【要約】【課題】ユーザ操作の入力に対するフィードバックの応答時間を短縮する。【解決手段】ディスプレイと、ディスプレイの前面に配置されるタッチパネルと、ディスプレイに対する描画処理を行い、タッチパネルからの所定のユーザ操作の入力に応じて、所定の処理を行うプロセッサと、ディスプレイの画面内の所定のユーザ操作を受け付け可能な領域の情報である操作受付領域情報を、プロセッサから受信し、操作受付領域情報に対応するタッチパネルの領域内で所定のユーザ操作の入力を検出した場合に、所定のユーザ操作の入力に対するフィードバックの出力を所定のデバイスに指示するタッチパネルコントローラと、を備える情報処理装置である。【選択図】図３
2016031723.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイと、
前記ディスプレイの前面に配置されるタッチパネルと、
前記ディスプレイに対する描画処理を行い、前記タッチパネルからの所定のユーザ操作の入力に応じて、所定の処理を行うプロセッサと、
前記ディスプレイの画面内の前記所定のユーザ操作を受け付け可能な領域の情報である操作受付領域情報を、前記プロセッサから受信し、
前記操作受付領域情報に対応する前記タッチパネルの領域内で前記所定のユーザ操作の入力を検出した場合に、前記所定のユーザ操作の入力に対するフィードバックの出力を所定のデバイスに指示する、
タッチパネルコントローラと、
を備える情報処理装置。
【請求項２】
前記タッチパネルコントローラは、前記操作受付領域情報に対応する前記タッチパネルの領域内で前記所定のユーザ操作の入力を検出して前記所定のデバイスに前記フィードバックの出力を指示した場合に、前記所定のユーザ操作の入力の検出を停止する、
請求項１に記載の情報処理装置。
【請求項３】
前記タッチパネルコントローラは、前記プロセッサから前記所定のユーザ操作の入力に応じた所定の処理の実行による前記操作受付領域情報の更新の通知を受けた場合に、前記所定のユーザ操作の入力の検出を再開する、
請求項２に記載の情報処理装置。
【請求項４】
前記タッチパネルコントローラは、
前記プロセッサの前記描画処理の実行の度に前記操作受付領域情報を受信し、
前記ディスプレイから画面描画の更新の同期信号を受信し、
前記操作受付領域情報を前記同期信号の受信に応じて更新する、
請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
ディスプレイと、
前記ディスプレイの前面に配置されるタッチパネルと、
前記ディスプレイに対する描画処理を行い、前記タッチパネルからの所定のユーザ操作の入力に応じて、所定の処理を行うプロセッサと、
タッチパネルコントローラと、
を備える情報処理装置において、
前記タッチパネルコントローラが、
前記ディスプレイの画面内の前記所定のユーザ操作を受け付け可能な領域の情報である操作受付領域情報を、前記プロセッサから受信し、
前記操作受付領域情報に対応する前記タッチパネルの領域内で前記所定のユーザ操作の入力を検出した場合に、前記所定のユーザ操作の入力に対するフィードバックの出力を所定のデバイスに指示する、
情報処理方法。
【請求項６】
ディスプレイと、
前記ディスプレイの前面に配置されるタッチパネルと、
前記ディスプレイに対する描画処理を行い、前記タッチパネルからの所定のユーザ操作の入力に応じて、所定の処理を行うプロセッサと、
タッチパネルコントローラと、
を備える情報処理装置において、
前記タッチパネルコントローラに、
前記ディスプレイの画面内の前記所定のユーザ操作を受け付け可能な領域の情報である操作受付領域情報を、前記プロセッサから受信させ、
前記操作受付領域情報に対応する前記タッチパネルの領域内で前記所定のユーザ操作の入力を検出した場合に、前記所定のユーザ操作の入力に対するフィードバックの出力を所定のデバイスに指示させる、
ための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
例えば、タッチパネルを備える携帯端末において、タッチパネルに対するユーザ操作の入力に対して、該ユーザ操作の受付確認として、振動、音声、表示変化等でユーザにフィードバックを返す技術がある。例えば、画面上に表示されるボタンに対してユーザが押し込みを行い、携帯端末が所定量の圧力を検出した場合には、携帯端末は、振動素子を動作させてユーザに触感のフィードバックを行う。このフィードバックにより、ユーザは、ボタンの押し込み動作が確定されたことを認識する。このように、ユーザの触覚に対してフィードバックを返す技術をハプティクスと称する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−５０９２０号公報
【特許文献２】特開２００６−１３４０８５号公報
【特許文献３】特開昭６３−６４１１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザ操作の入力とフィードバックを返すまでのタイムラグが大きいと、ユーザに対して携帯端末の操作性が悪いと感じさせてしまうことがあった。
【０００５】
本発明の一態様は、ユーザ操作の入力に対するフィードバックの応答時間を短縮する情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の態様の一つは、
ディスプレイと、
前記ディスプレイの前面に配置されるタッチパネルと、
前記ディスプレイに対する描画処理を行い、前記タッチパネルからの所定のユーザ操作の入力に応じて、所定の処理を行うプロセッサと、
前記ディスプレイの画面内の前記所定のユーザ操作を受け付け可能な領域の情報である操作受付領域情報を、前記プロセッサから受信し、
前記操作受付領域情報に対応する前記タッチパネルの領域内で前記所定のユーザ操作の入力を検出した場合に、前記所定のユーザ操作の入力に対するフィードバックの出力を所定のデバイスに指示する、
タッチパネルコントローラと、
を備える情報処理装置である。
【発明の効果】
【０００７】
開示の情報処理装置、情報処理方法、及び情報処理プログラムによれば、ユーザ操作の入力に対するフィードバックの応答時間を短縮することができる。
【図面の簡単な説明】
【０００８】
【図１】タッチパネルに対する押し込み操作の操作荷重と時間との関係の一例を示す図である。
【図２】携帯端末のハードウェア構成の一例を示す図である。
【図３】携帯端末の機能構成の一例を示す図である。
【図４】フィードバック判定部の処理のフローチャートの一例である。
【図５】タッチパネルコントローラのボタン情報の更新のタイミングチャートの一例である。
【図６】タッチパネルコントローラのフィードバック制御の実施時のタイミングチャートの一例である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１０】
＜第１実施形態＞
図１は、タッチパネルに対する押し込み操作の操作荷重と時間との関係の一例を示す図である。図１に示されるように、タッチパネルに対する押し込み操作の操作荷重は、押し込み操作の時間が経過するほど大きくなる。押し込み操作の操作荷重が押下検出閾値Ｎｔｈに達してからハプティクスの振動が開始されるまでにタイムラグがあるため、タッチパネルに対してユーザが掛ける荷重が押下検出閾値Ｎｔｈよりも大きいＮ１となる。そのため、タッチパネルに対して余計な荷重をかけることとなる。
【００１１】
例えば、ディスプレイに表示されているボタンの配置は、ＣＰＵ（Central Processing
device）によって描画されており、ボタンの配置情報はＣＰＵが保持している。そのた
め、押し込み操作の検出によるハプティクスのフィードバックでは、タッチパネルコントローラ、ＣＰＵ、フィードバックコントローラ、振動素子の順に処理が行われる。ＣＰＵは、フィードバックの処理の他に、複数のアプリケーションの処理も並行して行っているため、タッチパネルコントローラやフィードバックコントローラに比べて、処理に時間が掛かる。
【００１２】
第１実施形態では、タッチパネルコントローラは、タッチオブジェクトの配置情報をＣＰＵから受信し、該タッチオブジェクトに対する押し込み操作を検出したら、フィードバックコントローラに対してフィードバックの指示を出す。これによって、フィードバックはＣＰＵの処理を介さずにユーザに返されることとなり、押し込み操作が検出されてからハプティクスの振動が開始されるまでのタイムラグが短縮される。タッチオブジェクトは、接触等の所定のユーザ操作の入力が受け付けられる領域を有するオブジェクトである。タッチオブジェクトには、例えば、ボタン、アイコン、キャラクタ等がある。第１実施形態では、ボタンをタッチオブジェクトの一例として、説明する。
【００１３】
＜携帯端末の構成＞
図２は、携帯端末１のハードウェア構成の一例を示す図である。携帯端末１は、例えば、スマートフォン、タブレット端末、携帯ゲーム機、音楽プレイヤ等のタッチパネルを備える情報処理装置である。携帯端末１は、ＣＰＵ  １０１、ＲＡＭ（Random Access Memory）  １０２、不揮発性メモリ１０３、ディスプレイ１０４、タッチパネル１０５、タッチパネルコントローラ１０６、ＲＦ（Radio Frequency）部１０７、ベースバンド処理部
１０８、フィードバックコントローラ１０９、振動素子１１０を備える。
【００１４】
ＲＡＭ  １０２は、例えば、ＤＲＡＭ等の揮発性メモリであって、ＣＰＵ  １０１に作業領域を提供する。不揮発性メモリ１０３は、例えば、フラッシュメモリであり、ＯＳ（Operating System）や各種プログラム、及びプログラムの実行に用いられるデータ等を格納する。
【００１５】
不揮発性メモリ１０３には、ボタン情報伝達プログラムが格納されている。ボタン情報伝達プログラムは、ＣＰＵ  １０１がタッチパネルコントローラ１０６に、ディスプレイ１０４に表示されるボタンの配置情報を通知するためのプログラムである。
【００１６】
ＣＰＵ  １０１は、不揮発性メモリ１０３に格納されるプログラムをＲＡＭ  １０２の作業領域に展開し、展開された命令を実行することによって、各ハードウェア構成を制御する。
【００１７】
ディスプレイ１０４は、例えば、液晶ディスプレイ（Liquid Crystal Display，ＬＣＤ）である。ディスプレイ１０４は、フレームバッファ用のメモリを有しており、フレームバッファに書き込まれた画面データを表示する。フレームバッファには、ＣＰＵ  １０１によって画像データの描画が行われる。
【００１８】
タッチパネル１０５は、位置入力装置の１つであって、ディスプレイ１０４の表面に配置されている。タッチパネル１０５は、第１実施形態では、静電容量方式とする。ただし、これに限られない。例えば、タッチパネル１０５は、圧力検出可能であれば、抵抗膜方式，表面弾性波方式，赤外線方式，電磁誘導方式等であってもよい。
【００１９】
タッチパネルコントローラ１０６は、タッチパネル１０５の電流や電圧といった物理量を所定周期でサンプリングして、電流変化及び電圧変化をもとに、該変化の位置と圧力変化量を検出し、ＣＰＵ  １０１に出力する。また、第１実施形態では、タッチパネルコントローラ１０６は、タッチパネルコントローラ１０６の内蔵メモリに格納されるファームウェアを実行する。
【００２０】
該ファームウェアの実行により、タッチパネルコントローラ１０６は、ＣＰＵ  １０１からディスプレイ１０４に表示されているボタンの配置情報を受信する。タッチパネルコントローラ１０６は、タッチパネル１０５上のボタンの領域内に所定閾値以上の圧力の発生を検出した場合に、フィードバックコントローラ１０９に振動素子１１０の駆動を指示する。タッチパネルコントローラ１０６が備えるファームウェアの詳細については、後述される。タッチパネルコントローラ１０６が備えるファームウェアは、「情報処理プログラム」の一例である。
【００２１】
タッチパネルコントローラ１０６は、例えば、プロセッサとメモリ等を含むＩＣ（Integrated Circuit）チップである。また、これに限られず、タッチパネルコントローラ１０６は、ＣＰＵ  １０１のＩＣチップに内蔵されていてもよい。
【００２２】
フィードバックコントローラ１０９は、第１実施形態では、ＣＰＵ  １０１に加えてタッチパネルコントローラ１０６とも信号線で接続されている。フィードバックコントローラ１０９は、ＣＰＵ  １０１又はタッチパネルコントローラ１０６からの指示により、振動素子１１０を所定のパターンで駆動させる。フィードバックコントローラ１０９は、ＩＣチップ上に形成される電子回路である。フィードバックコントローラ１０９は、「所定の装置」の一例である。
【００２３】
ＲＦ部１０７は、アンテナと接続しており、アンテナを通じて受信した無線信号をベースバンド信号に変換してベースバンド処理部１０８に出力する。ベースバンド処理部１０８は、ＲＦ部１０７から入力されたベースバンド信号に対して、アナログ／デジタル変換や復調等の処理を行いＣＰＵ  １０１に出力する。
【００２４】
ベースバンド処理部１０８は、ＣＰＵ  １０１から入力される電気信号に対して変調やデジタルアナログ変換を行い、ベースバンド信号に変換してＲＦ部１０７に出力する。Ｒ
Ｆ部１０７は、ベースバンド処理部１０８から入力されたベースバンド信号を無線信号に変換してアンテナ１１０を通じて送信する。ＲＦ部１０７、ベースバンド処理部１０８は、例えば、第３世代移動通信システム，第２世代移動通信システム，ＬＴＥ（Long Term Evolution），Wireless LAN，Bluetooth（登録商標）等のうちのいずれか１つ又は複数に対応する電子回路である。
【００２５】
なお、携帯端末１のハードウェア構成は、図２に示されるものに限定されず、適宜、追加、置換、削除等の変更が可能である。例えば、携帯端末１は、図２に示される構成に加えて、スピーカやマイクロフォン、赤外線通信部やＩＣカード通信部等を備えてもよい。携帯端末１は、「情報処理装置」の一例である。「情報処理装置」の一例には、携帯端末１の他に、例えば、タッチパネルを備える据置型のＰＣ、ゲーム機、券売機等がある。
【００２６】
図３は、携帯端末１の機能構成の一例を示す図である。携帯端末１は、機能構成として、フィードバック判定部１１、座標検出部１２、圧力検出部１３、ボタン情報伝達部１４、描画部１５を含む。フィードバック判定部１１、座標検出部１２、圧力検出部１３はタッチパネルコントローラ１０６の機能構成である。ボタン情報伝達部１４、描画部１５は、ＣＰＵ  １０１の機能構成である。
【００２７】
座標検出部１２、圧力検出部１３は、それぞれ、電子回路で実現される機能構成である。座標検出部１２は、タッチパネル１０５上の接触位置を検出する。圧力検出部１３は、タッチパネル１０５上の接触の圧力を検出する。
【００２８】
ここで、第１実施形態では、タッチパネル１０５の面上で互いに直交する２直線をＸ軸、Ｙ軸と定義する。また、Ｘ軸、Ｙ軸の双方に対して直交する直線、すなわち、タッチパネル１０５の面に対する法線方向をＺ軸とする。なお、ディスプレイ１０４の画面上にもＸ軸、Ｙ軸が設定されており、タッチパネル１０５のＸ軸、Ｙ軸と対応していることとする。
【００２９】
すなわち、座標検出部１２は、タッチパネル１０５上のタッチ位置のＸ座標及びＹ座標を検出し、圧力検出部１３は、タッチ位置のＺ座標を検出する。例えば、座標検出部１２、圧力検出部１３は、所定のサンプリング周期でタッチパネル１０５上の電流変化又は電圧変化をサンプリングし、Ｘ、Ｙ、Ｚ座標の連続する所定サンプリング数の平均値を、所定のスキャン周期で、フィードバック判定部１１に出力する。サンプリング周期は、例えば、６００〜１２００分の１秒である。スキャン周期は、例えば、６０〜１２０分の１秒である。
【００３０】
フィードバック判定部１１は、ディスプレイ１０４に表示中のボタンに対する押し込み操作の発生を検出し、フィードバックコントローラ１０９に振動素子１１０の駆動を指示する。具体的には、フィードバック判定部１１は、ディスプレイ１０４に表示中のボタンの配置の情報を、ＣＰＵ  １０１から受信し、保持する。ディスプレイ１０４に表示中のボタンの表示領域の情報を、以降、ボタン情報と称する。
【００３１】
フィードバック判定部１１は、所定のスキャン周期で圧力検出部１３から入力される圧力（ｚ）が所定の閾値以上であることを検出すると、タッチパネル１０５上のタッチ位置の座標（ｘ，ｙ）がボタンの領域内であるかを判定する。タッチ位置がボタンの領域内である場合には、フィードバック判定部１１は、フィードバックコントローラ１０９に対して振動素子１１０の駆動を指示する。以降、フィードバック判定部１１の上述の処理をフィードバック制御と称する。また、以降、フィードバックコントローラ１０９に対して振動素子１１０の駆動を指示することを、フィードバックの指示をする、とも言う。
【００３２】
フィードバックコントローラ１０９に対して、フィードバックの指示を行う場合には、フィードバック判定部１１は、ＣＰＵ  １０１に対して、タッチ位置の座標（ｘ，ｙ，ｚ）ととともに、フィードバック処理済みの通知を行う。タッチパネルコントローラ１０６とＣＰＵ  １０１との間には、フィードバック処理済みの通知用の信号線が、制御バスとは別に、設置されている。フィードバック処理済みの通知信号がアサートされている間は、フィードバック判定部１１は、フィードバックコントローラ１０９に対してフィードバックの指示を行うか否かの判定を停止する。なお、タッチ位置の座標（ｘ，ｙ，ｚ）は、制御バスで送られる。
【００３３】
ＣＰＵ  １０１からボタン情報更新信号がアサートされると、フィードバック処理済みの通知信号のアサートは停止し、フィードバック判定部１１のフィードバック制御が有効化される。ボタン情報更新信号は、例えば、ディスプレイ１０４の表示内容の更新によりボタン情報の内容が更新されたことを通知する信号である。
【００３４】
フィードバック処理済みの信号とボタン情報更新信号とを用いることによって、ＣＰＵ
１０１が押し込み操作の情報を受信して画面情報を更新するまで、フィードバック判定部１１のフィードバックコントローラ１０９の制御が停止することができる。これによって、フィードバック判定部１１のボタンに対する押し込み操作に対するフィードバックの誤通知を抑制することができる。また、フィードバック判定部１１がＣＰＵ  １０１に対してフィードバック処理済みの信号を送ることによって、タッチ位置の座標を受信したＣＰＵ  １０１がフィードバックコントローラ１０９に対して指示を行うことを抑制することができる。
【００３５】
フィードバック判定部１１は、ディスプレイ１０４のディスプレイコントローラと信号線で接続されており、ディスプレイコントローラからの画面更新の同期信号を受信する。フィードバック判定部１１は、ディスプレイ１０４からの同期信号により、画面更新のタイミングでＣＰＵ  １０１から受信するボタン情報を更新する。
【００３６】
フィードバック判定部１１は、タッチパネルコントローラ１０６のプロセッサがファームウェアを実行することによって実現される機能の一つである。ただし、これに限られず、フィードバック判定部１１は、例えば、ＦＰＧＡ（Field-Programmable Gate Array）
によってハードウェアとして実現されてもよい。
【００３７】
ボタン情報伝達部１４は、ＣＰＵ  １０１が不揮発性メモリ１０３に格納されているボタン情報伝達プログラムを実行することによって実現される機能構成の一つである。ボタン情報伝達部１４は、フレームバッファ１６に描画される画像情報に含まれるボタン情報を、描画部１５がフレームバッファ１６に画像情報を描画するタイミングでタッチパネルコントローラ１０６に通知する。例えば、描画部１５が、所定のフレームレートでフレームバッファ１６に画像情報を書き込む場合には、ボタン情報伝達部１４は、該フレームレートでタッチパネルコントローラ１０６に通知することになる。ボタン情報には、ボタンの座標（ｘ，ｙ）の情報が含まれている。ボタン情報は、「操作受付領域情報」の一例である。
【００３８】
また、ＣＰＵ  １０１では、タッチパネルコントローラ１０６からフィードバック処理済みの通知と、タッチ位置の座標（ｘ，ｙ，ｚ）を受けると、例えば、アプリケーション（図示せず）が、画面情報を再構成し、ボタン情報の内容を更新する。ボタン情報伝達部１４は、ボタン情報の内容が更新された旨を通知するためのボタン情報更新通知の信号をタッチパネルコントローラ１０６に出力する。ボタン情報更新通知を受けると、フィードバック判定部１１は、フィードバック制御を有効化するので、ボタン情報更新通知は、フィードバック制御の有効化を指示する信号であるとも言える。
【００３９】
描画部１５は、例えば、ＯＳの機能の一つである。描画部１５は、所定の周期で、フレームバッファ１６に画像情報を描画する。画像情報は、ディスプレイ１０４に表示される画像データであって、例えば、アプリケーション（図示せず）によって作成される。描画部１５のフレームバッファ１６に対するフレームレートは、例えば、６０ｆｐｓである。
【００４０】
なお、図３に示される機能構成は一例であってこれに限られない。フレームバッファ１６は、図３では、ディスプレイ１０４に備えられているが、ＣＰＵ  １０１に備えられていてもよい。
【００４１】
ＣＰＵ  １０１とタッチパネルコントローラ１０６との間の信号線について、フィードバック処理済みの通知とボタン情報更新通知とには、それぞれ、専用の信号線が設けられる。ボタン情報の通知には、制御バスが用いられる。なお、信号線の使用方法については、これに限られない。例えば、ボタン情報更新通知には、制御バスが用いられてもよい。
【００４２】
＜処理の流れ＞
図４は、フィードバック判定部１１の処理のフローチャートの一例である。図４に示されるフローチャートは、座標検出部１２及び圧力検出部１３からタッチ位置座標（ｘ，ｙ，ｚ）が所定のスキャン周期で入力される度に開始される。
【００４３】
ＯＰ１では、フィードバック判定部１１は、フィードバック制御が有効であるか否かを判定する。初期状態は、フィードバック制御は有効である。フィードバック制御が有効である場合には（ＯＰ１：ＹＥＳ）、処理がＯＰ２に進む。フィードバック制御が無効である場合には（ＯＰ１：ＮＯ）、処理がＯＰ７に進む。
【００４４】
ＯＰ２では、フィードバック判定部１１は、タッチ位置の圧力（ｚ）が閾値以上であるか否かを判定する。タッチ位置の圧力（ｚ）が閾値以上である場合には（ＯＰ２：ＹＥＳ）、処理がＯＰ３に進む。タッチ位置の圧力（ｚ）が閾値未満である場合には（ＯＰ２：ＮＯ）、フィードバック制御の対象である押し込み操作が発生していないとみなせるため、処理がＯＰ７に進む。
【００４５】
ＯＰ３では、フィードバック判定部１１は、タッチ位置の座標（ｘ，ｙ）にボタンが存在するか否かを判定する。タッチ位置の座標（ｘ，ｙ）にボタンが存在する場合には（ＯＰ３：ＹＥＳ）、フィードバック制御の対象であるボタンの押し込みの操作が発生したことが確定され、処理がＯＰ４に進む。タッチ位置の座標（ｘ，ｙ）にボタンが存在しない場合には（ＯＰ３：ＮＯ）、フィードバック制御の対象であるボタンの押し込み操作が発生していないとみなせるため、処理がＯＰ７に進む。
【００４６】
ＯＰ４〜ＯＰ６は、フィードバック制御の処理である。ＯＰ４では、フィードバック判定部１１は、ＣＰＵ  １０１に対してフィードバック処理済みの通知の信号をアサートする。次に処理がＯＰ５に進む。
【００４７】
ＯＰ５では、フィードバック判定部１１は、フィードバックコントローラ１０９に対して、振動素子１１０の駆動を指示する。次に処理がＯＰ６に進む。
【００４８】
ＯＰ６では、フィードバック判定部１１は、フィードバック制御を無効化する。次に処理がＯＰ７に進む。
【００４９】
ＯＰ７では、フィードバック判定部１１は、ＣＰＵ  １０１に対してタッチ位置の座標（ｘ，ｙ，ｚ）を通知する。次に処理がＯＰ８に進む。
【００５０】
ＯＰ８では、フィードバック判定部１１は、フィードバック制御が無効であるか否かを判定する。フィードバック制御が有効である場合には（ＯＰ８：ＮＯ）、図４に示される処理が終了する。フィードバック制御が無効である場合には（ＯＰ８：ＹＥＳ）、処理がＯＰ９に進む。例えば、フィードバック制御の対象となるユーザ操作が発生していない場合には、ＯＰ８ではフィードバック制御は有効化されている。フィードバック制御の対象となるユーザ操作が発生している場合には、ＯＰ８ではフィードバック制御は無効化されている。
【００５１】
ＯＰ９では、フィードバック判定部１１は、ボタン情報更新通知の信号の受信を待機する。フィードバック判定部１１がＣＰＵ  １０１からボタン情報更新通知の信号を受信した場合には（ＯＰ９：ＹＥＳ）、処理がＯＰ１０に進む。例えば、タッチ位置の座標（ｘ，ｙ，ｚ）の通知から所定時間経過後にもＣＰＵ  １０１からボタン情報更新通知の信号が受信されない場合には（ＯＰ９：ＮＯ）、図４に示される処理が終了する。
【００５２】
ＯＰ１０では、ＣＰＵ  １０１からボタン情報更新通知の信号を受信したので、フィードバック判定部１１は、フィードバック処理済みの通知の信号をネゲートし、フィードバック制御を有効化する。その後、図４に示される処理が終了する。
【００５３】
なお、図４に示されるフローチャートは、一例であって、処理の順番等は、適宜、変更可能である。例えば、ＯＰ２、ＯＰ３の処理は実行順が入れ替わってもよい。
【００５４】
図５は、タッチパネルコントローラ１０６のボタン情報の更新のタイミングチャートの一例である。例えば、フレームレートは６０ｆｐｓであり、１フレームは６０分の１秒である。画面情報は、ＣＰＵ  １０１からディスプレイ１０４のフレームバッファ１６に書き込まれる情報である。
【００５５】
例えば、ディスプレイ１０４が１フレームの画面を描画している間（画面描画（ｎ−１））に、ＣＰＵ  １０１は次のフレームの画面情報（ｎ）をディスプレイ１０４のフレームバッファに書き込む。それに伴って、ＣＰＵ  １０１は、タッチパネルコントローラ１０６に対してボタン情報（ｎ）を送信する。
【００５６】
タッチパネルコントローラ１０６は、受信したボタン情報（ｎ）を一旦バッファに格納する。タッチパネルコントローラ１０６は、ディスプレイ１０４からの同期信号を用いてフレーム区間を判別し、ディスプレイ１０４が次のフレームの画面の描画を開始するタイミング（画面描画（ｎ））に合わせて、ボタン情報（ｎ−１）からボタン情報（ｎ）に更新する。
【００５７】
図６は、タッチパネルコントローラ１０６のフィードバック制御の実施時のタイミングチャートの一例である。図６中の「タッチパネルスキャン」は、フィードバック判定部１１に座標検出部１２及び圧力検出部１３からタッチ位置の座標（ｘ，ｙ，ｚ）が入力されるタイミングである。ボタン情報更新信号は、ボタン情報の内容が更新されたことを示す情報であって、ＣＰＵ  １０１からタッチパネルコントローラ１０６に通知される。
【００５８】
ディスプレイ１０４に表示中のボタンに対する押し込み操作を検出した場合には、タッチパネルコントローラ１０６は、フィードバックコントローラ１０９に対してフィードバック制御を行う（Ｓ１）。
【００５９】
これとともに、フィードバックコントローラ１０９は、フィードバック処理済みの通知の信号をアサートし、タッチ位置の座標情報(ｘ，ｙ，ｚ)をＣＰＵ  １０１に対して送信
する（Ｓ２）。ＣＰＵ  １０１がフィードバック処理済みの通知の信号とタッチ位置の座標情報（ｘ，ｙ，ｚ）を受信して、画面情報を更新すると、ボタン情報更新通知の信号がアサートされる。
【００６０】
タッチパネルコントローラ１０６は、ボタン情報（ｎ＋１）を受信し、ボタン情報更新信号のアサートを検出した後の、同期信号の受信タイミングで、ボタン情報をボタン情報（ｎ＋１）に更新する（Ｓ３）。該ボタン情報の更新のタイミングで、タッチパネルコントローラ１０６は、フィードバック処理済みの通知の信号をネゲートする。これによって、タッチパネルコントローラ１０６は、フィードバック制御が有効化されたことをＣＰＵ
１０１に通知する。ＣＰＵ  １０１は、フィードバック処理済みの通知の信号のネゲートを検出して、ボタン情報更新信号をネゲートする（Ｓ４）。
【００６１】
例えば、図６において、ボタン情報（ｎ）は、ＣＰＵ  １０１がフィードバック処理済みの通知の信号と座標情報（ｘ，ｙ，ｚ）との受信を受ける前のボタン情報である。ボタン情報（ｎ＋１）は、ＣＰＵ  １０１がフィードバック処理済みの通知の信号と座標情報（ｘ，ｙ，ｚ）との受信を受けて画面情報とともに内容が更新された後のボタン情報である。すなわち、ボタン情報（ｎ）とボタン情報（ｎ＋１）とは内容が異なる。
【００６２】
フィードバック処理済みの通知がアサートされている間は、フィードバック判定部１１のフィードバック制御は無効化される。フィードバック判定部１１は、ＣＰＵ  １０１がフィードバック処理済みの通知の信号と座標情報（ｘ，ｙ，ｚ）との受信を受ける前にＣＰＵ  １０１から通知されたボタン情報（ｎ）を保持する間は、フィードバック制御を行わない。これによって、ＣＰＵ  １０１が保持するボタン情報（ｎ＋１）とタッチパネルコントローラ１０６とが保持するボタン情報（ｎ）との内容が一致していない場合に、フィードバック判定部１１がフィードバック制御を行うことはなく、フィードバックの誤通知を抑制することができる。
【００６３】
＜第１実施形態の作用効果＞
タッチパネルコントローラ１０６がフィードバック判定部１１を備え、フィードバック制御を行うことによって、ＣＰＵ  １０１を介さずにフィードバックの処理が行われるので、フィードバックの応答時間を短縮することができる。例えば、タッチパネルコントローラ１０６のスキャン周期を短くすることによって、フィードバックの応答時間は、１０ｍｓｅｃ以下に抑えることができる。これによって、ユーザのタッチパネル１０５に対して荷重をかけ続けるという動作を低減することができる。
【００６４】
また、タッチパネルコントローラ１０６は、フィードバックコントローラ１０９に指示を出す際に、ＣＰＵ  １０１に対して、フィードバック処理済みの通知を行い、ＣＰＵ  １０１からボタン情報更新通知を受信するまでフィードバック制御を無効化する。これによって、タッチパネルコントローラ１０６とＣＰＵ  １０１とで保持するボタン情報の内容の整合が取れていない間にフィードバック制御が行われ、フィードバックの誤通知をしてしまうことを抑制することができる。また、ＣＰＵ  １０１が重複してフィードバックコントローラ１０９に指示を出すことを抑制することができる。
【００６５】
＜変形例＞
第１実施形態では、ユーザへのフィードバックとして、振動素子１１０による振動を返すことを例に説明されたが、ユーザへのフィードバックは、これに限られない。例えば、ユーザへのフィードバックとして、スピーカからクリック音等の所定の音声が流されてもよい。この場合には、フィードバック判定部１１のフィードバック制御の対象は、フィードバックコントローラ１０９と振動素子１１０とに代わり、オーディオＩＣとスピーカとになる。
【００６６】
また、例えば、ユーザへのフィードバックとして、ボタン等の操作オブジェクトの表示態様を変化させてもよい。この場合には、フィードバック判定部１１のフィードバック制御の対象は、ディスプレイコントローラになる。ディスプレイコントローラは、予め変化後の操作オブジェクトの表示態様を保持しておくことで、フィードバック判定部１１からの指示が入力された場合に、該操作オブジェクトの変化後の表示態様を用いて画像情報を作成し描画する。
【００６７】
また、第１実施形態では、フィードバック制御の対象のユーザ操作がボタンを押し込むという操作であったが、フィードバック制御の対象のユーザ操作はこれに限られない。例えば、フィードバック制御の対象のユーザ操作は、表示されている所定のオブジェクトをダブルクリックする、表示されている複数のオブジェクトが所定の軌跡で辿られる、等であってもよい。フィードバック判定部１１に保持される、フィードバック制御の対象となるオブジェクトの領域の情報及びユーザ操作の情報の内容を変更することで、フィードバック制御の対象となるオブジェクト及びユーザ操作に多様性を持たせることができる。第１実施形態において、フィードバック制御の対象となるオブジェクトの領域の情報は、ボタン情報に相当する。また、第１実施形態において、フィードバック制御の対象となるユーザ操作の情報は、押下検出閾値に相当する。フィードバック制御の対象となるオブジェクトの領域の情報は、「操作受付領域情報」の一例である。
【００６８】
また、第１実施形態では、ＣＰＵ  １０１は、ディスプレイ１０４に対する描画処理の度に、ボタン情報をタッチパネルコントローラ１０６に通知するが、ボタン情報の通知方法はこれに限られない。例えば、ボタン情報は、ボタン情報の内容に更新が有った場合に、タッチパネルコントローラ１０６に通知されるようにしてもよい。
【００６９】
なお、第１実施形態では、ＣＰＵ  １０１が、ディスプレイ１０４に対する描画処理を行い、ボタン情報をタッチパネルコントローラ１０６に通知するが、これに限られない。例えば、情報処理装置がＧＰＵ（Graphics Processing Unit）を備え、該ＧＰＵがディスプレイ１０４への描画処理を行っている場合には、該ＧＰＵがボタン情報を保持することになるので、該ＧＰＵがタッチパネルコントローラ１０６にボタン情報を通知する。
【００７０】
＜記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００７１】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ＲＯＭ（リードオンリーメモリ）等がある。さらに、ＳＳＤ（Solid State Drive）は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ
等に固定された記録媒体としても利用可能である。
【符号の説明】
【００７２】
１      携帯端末
１１    フィードバック判定部
１２    座標検出部
１３    圧力検出部
１４    ボタン情報伝達部
１５    描画部
１６    フレームバッファ
１０１  ＣＰＵ
１０４  ディスプレイ
１０５  タッチパネル
１０６  タッチパネルコントローラ
１０９  フィードバックコントローラ
１１０  振動素子
【図１】
2016031723.tif 000003
【図２】
2016031723.tif 000004
【図３】
2016031723.tif 000005
【図４】
2016031723.tif 000006
【図５】
2016031723.tif 000007
【図６】
2016031723.tif 000008