(57)【特許請求の範囲】
【請求項１】
操作面に対する接触を検出する検出部と、
前記操作面を振動させる振動素子と、
前記操作面が振動している状態で前記検出部によって検出される前記接触の継続時間に基づいて前記振動素子の振動を低減または停止させる素子制御部と、
前記接触が移動状態か停止状態かを判定する移動判定部と
を備え、
前記素子制御部は、
前記接触の継続時間が前記移動判定部の判定結果に応じて異なる閾値時間以上になった場合に、前記振動素子の振動を低減または停止させること
を特徴とする入力装置。
【請求項２】
前記素子制御部は、
前記移動判定部によって前記接触が前記停止状態であると判定された場合、前記閾値時間を第１時間とし、前記移動判定部によって前記接触が前記移動状態であると判定された場合、前記閾値時間を前記第１時間よりも長い第２時間とすること
を特徴とする請求項１に記載の入力装置。
【請求項３】
前記素子制御部は、
前記接触が前記停止状態である場合と前記接触が前記移動状態である場合とで異なる重み付けで前記閾値時間を決定すること
を特徴とする請求項１に記載の入力装置。
【請求項４】
前記素子制御部は、
前記操作面が振動している状態で前記検出部による前記接触の前回の継続時間と停止時間とに基づいて、前記閾値時間を変更すること
を特徴とする請求項１〜３のいずれか一つに記載の入力装置。
【請求項５】
前記素子制御部は、
前記操作面に定在波が生じるように前記振動素子を制御し、
前記移動判定部は、
前記接触が前記定在波の半波以上移動する場合に前記接触が前記移動状態であると判定すること
を特徴とする請求項１〜４のいずれか一つに記載の入力装置。
【請求項６】
前記素子制御部は、
前記振動素子の振動強度、振動周波数および周辺温度の少なくとも一つに応じた前記閾値時間に基づいて前記振動素子の振動を低減または停止させること
を特徴とする請求項１〜５のいずれか一つに記載の入力装置。
【請求項７】
前記検出部は、
前記接触の面積を検出し、
前記素子制御部は、
前記検出部によって検出された前記接触の面積に応じた前記閾値時間に基づいて前記振動素子の振動を低減または停止させること
を特徴とする請求項１〜６のいずれか一つに記載の入力装置。
【請求項８】
操作面に対する接触を検出する検出工程と、
前記操作面が振動している状態で前記検出工程によって検出される前記接触の継続時間に基づいて前記操作面を振動させる振動素子の振動を低減または停止させる素子制御工程と、
前記接触が移動状態か停止状態かを判定する移動判定工程と
を含み、
前記素子制御工程は、
前記接触の継続時間が前記移動判定工程の判定結果に応じて異なる閾値時間以上になった場合に、前記振動素子の振動を低減または停止させること
を特徴とする入力装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力装置および入力装置の制御方法に関する。
【背景技術】
【０００２】
従来、ユーザに触覚を与えることで入力を受け付けたことを知らせる入力装置が知られている。かかる入力装置では、たとえばユーザによる押圧力に応じて振動を発生させることで、ユーザに対して入力を受け付けたことを知らせている（たとえば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２３５６１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の入力装置では、ユーザが振動する操作面を長時間連続して触り続ける場合に、入力装置の振動がユーザと操作面との間で熱に変換され、操作面の温度が上昇するおそれがあった。
【０００５】
本発明は、上記に鑑みてなされたものであって、操作面を適切な温度に制御することができる入力装置および入力装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本実施形態に係る入力装置は、検出部と、振動素子と、素子制御部とを備える。検出部は、操作面に対する接触を検出する。振動素子は、操作面を振動させる。素子制御部は、操作面が振動している状態で検出部によって検出される接触の継続時間に基づいて振動素子の振動を低減または停止させる。
【発明の効果】
【０００７】
実施形態の一態様によれば、操作面を適切な温度に制御することができる。
【図面の簡単な説明】
【０００８】
【図１Ａ】図１Ａは、本実施形態に係る入力装置の概要を示す図である。
【図１Ｂ】図１Ｂは、本実施形態に係る入力装置の制御方法の概要を示す図である。
【図２】図２は、本実施形態に係る入力装置の構成例を示すブロック図である。
【図３Ａ】図３Ａは、パネルの定在波の模式図である。
【図３Ｂ】図３Ｂは、座標情報の一例を示す図である。
【図４Ａ】図４Ａは、移動判定部の判定結果が一定である場合のカウンタ部による処理を示す図である。
【図４Ｂ】図４Ｂは、移動判定部の判定結果が変化する場合のカウンタ部による処理を示す図である。
【図４Ｃ】図４Ｃは、継続時間が停止する場合のカウンタ部による処理を示す図である。
【図５】図５は、本実施形態に係る入力装置の処理手順を示すフローチャートである。
【図６】図６は、本実施形態に係る入力装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
以下に、添付図面を参照して、本発明に係る入力装置および入力装置の制御方法の実施形態を詳細に説明する。なお、以下に示す実施形態により、この発明が限定されるものではない。
【００１０】
＜１．入力装置の概要＞
まず、本実施形態に係る入力装置の概要について図１Ａを用いて説明する。図１Ａは、本実施形態に係る入力装置１の概略を示す図である。
【００１１】
入力装置１は、たとえばタッチパッドやスマートフォンなど入力デバイス機能を有する装置である。また、図１Ａに示すように、入力装置１は、操作面Ｐと、振動素子３０ａ、３０ｂとを有する。操作面Ｐは、たとえば静電容量方式の情報入力機能を有するパネルにより構成され、ユーザが指やタッチペンなどのポインティングデバイスで操作面Ｐに接触すると、入力装置１は、操作面Ｐにおけるユーザの接触を検出する。
【００１２】
振動素子３０は、たとえば圧電素子であり、操作面Ｐを高周波振動させることができる。たとえば、ユーザが指で操作面Ｐを押下した状態で振動素子３０を振動させると、かかる振動により、指と操作面Ｐとの間に空気層が形成され、指と操作面Ｐとの間の摩擦力が変化する。このような状態で指を動かすと、変化した摩擦力に応じた触覚を指に与えることができる。
【００１３】
このように、本実施形態に係る入力装置１は、振動素子３０を用いて操作面Ｐを振動させることで、ユーザに触覚を与える入力装置である。
【００１４】
ところで、ユーザの指が振動している操作面Ｐに触れると、ユーザの指と操作面Ｐとが接触する位置（以下、「接触位置」と記載する）では、操作面Ｐの振動が熱に変換される。かかる熱は、振動している状態の操作面Ｐにユーザの指が連続して触れる継続時間に応じて蓄積される。そして、かかる継続時間が長くなると、蓄積された熱によって接触位置の温度が上昇して、操作面Ｐの温度が上昇してしまう。
【００１５】
そこで、本実施形態に係る入力装置１は、継続時間に基づいて振動素子３０の振動を低減または停止させることにより、操作面Ｐを適切な温度に制御することとした。以下、図１Ｂを用いて本実施形態に係る入力装置１の制御方法の概要について説明する。
【００１６】
図１Ｂは、本実施形態に係る入力装置の制御方法の概要を示す図である。図１Ｂの上図には、振動素子３０のＯＮ／ＯＦＦの状態を示している。また、横軸には、時刻を示しており、ユーザは、時刻ｔ０から操作面Ｐの接触位置Ｐ１（Ｘ１，Ｙ１）に常に触れているものとする（図１Ａ参照）。そして、下図の縦軸に示す「接触温度」は、接触位置Ｐ１の温度を意味する。また、同図に示す接触温度Ｄは、たとえば４０度である。
【００１７】
図１Ｂに示す時刻ｔ０〜ｔ１の間は、振動素子３０がＯＦＦである。この状態において、操作面Ｐは振動しないので、接触位置Ｐ１の接触温度は上昇しない。つづいて、時刻ｔ１において、入力装置１は、たとえば図示しない上位層から振動素子３０のＯＮ要求信号が入力されると、振動素子３０をＯＦＦからＯＮにする。振動素子３０がＯＮになると、操作面Ｐも振動し、接触温度が徐々に上昇する。ここで、入力装置１は、時刻ｔ１、すなわち振動素子３０をＯＮにするタイミングで継続時間の計測を開始する。ここで、継続時間とは、操作面Ｐが振動している状態で入力装置１によって検出される操作面Ｐに対する接触の継続時間を意味するものとする。
【００１８】
つづいて、時刻ｔ２になると、接触位置Ｐ１の接触温度は接触温度Ｄに到達する。ここで、入力装置１は、計測した継続時間に基づいて振動素子３０の振動を低減または停止させる。図１Ｂの例では、入力装置１は、振動素子３０をＯＮからＯＦＦ、すなわち振動素子３０を停止させる。たとえば、入力装置１は、継続時間に対して閾値時間を設け、かかる継続時間が閾値時間を超えた場合に、振動素子３０をＯＦＦにする。
【００１９】
振動素子３０がＯＦＦになると、操作面Ｐは振動しないので接触温度は下降し、所定時間経過後に時刻ｔ１以前と同様の接触温度まで下がる。これにより、入力装置１は、操作面を適切な温度に制御することができる。なお、入力装置１は、時刻ｔ２において、振動素子３０の振動を低減させることにしてもよい。一方、たとえば、時刻ｔ２において、入力装置１が振動素子３０をＯＦＦに制御しない場合、図１Ｂの破線で示すように、接触温度Ｄを超えて上昇してしまう。
【００２０】
ここで、継続時間に対する接触温度の上昇率は、計算や実験等によって導出することができる。したがって、継続時間と、かかる上昇率とから接触温度Ｄに到達する時間を予め導出することができる。そして、入力装置１は、かかる導出した時間を閾値時間として記憶しておき、計測した継続時間が閾値時間以上になった場合に、振動素子３０の振動を低減または停止させる。
【００２１】
このように、本実施形態に係る入力装置１は、継続時間に基づいて振動素子３０の振動を低減または停止させる。これにより、ユーザと操作面Ｐとの間の接触温度は、接触温度Ｄを超えないので、操作面Ｐを適切な温度に制御することができる。
【００２２】
また、入力装置１は、継続時間を計測し、かかる継続時間と予め記憶された閾値時間とに基づいて振動素子３０をＯＦＦに制御するので、煩雑な処理や接触位置Ｐ１の接触温度を測定する温度センサ等を必要としない。これにより、入力装置１の小型化や、製造コストを削減することもできる。以下、入力装置１について詳細に説明する。
【００２３】
＜２．入力装置１の構成例＞
まず、図２を用いて、本実施形態に係る入力装置１の構成について説明する。図２は、本実施形態に係る入力装置１の構成例を示すブロック図である。図２に示すように、入力装置１は、制御部１０と、記憶部２０と、振動素子３０と、パネル３１とを備える。
【００２４】
＜２．１．パネル３１＞
入力装置１のパネル３１は、たとえばタッチパッド等の平板状のセンサを有し、ユーザの接触操作による入力操作を受け付ける操作面Ｐを備える。ユーザが操作面Ｐに接触すると、パネル３１はユーザの接触位置に応じたセンサ値を制御部１０に出力する。
【００２５】
＜２．２．振動素子３０＞
振動素子３０は、たとえば圧電素子などの圧電アクチュエータであって、制御部１０から入力される駆動電圧に応じて伸縮することで、パネル３１を振動させる。なお、振動素子３０は、たとえば、操作面Ｐを超音波領域で振動させる素子である。また、振動素子３０は、パネル３１と接触するように配置される。なお、振動素子３０の個数は、一つであっても、二つ以上であってもよい。また、ここでは、振動素子３０として圧電素子を用いる場合について説明したが、これに限られず、たとえば操作面Ｐを超音波周波数帯で振動させる素子であればよい。
【００２６】
＜２．３．制御部１０＞
制御部１０は、振動素子３０の振動を制御し、操作面Ｐを適切な温度に制御する。制御部１０は、たとえば、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）およびＲＡＭ（Random  Access  Memory）、入出力ポートなどを有するマイクロコンピュータや各種の回路を含む。かかるマイクロコンピュータのＣＰＵは、ＲＯＭに記憶されているプログラムを読み出して実行することにより、後述する制御を実現する。制御部１０は、検出部１１と、移動判定部１２と、素子制御部１３とを備える。かかる検出部１１、移動判定部１２および素子制御部１３の機能は、例えば、上記ＣＰＵが上記プログラムを読み出して実行することにより実現される。
【００２７】
なお、検出部１１、移動判定部１２および素子制御部１３は、それぞれ一部または全部がＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成されてもよい。
【００２８】
＜２．３．１．検出部１１＞
検出部１１は、操作面Ｐに対する接触を検出する。具体的には、検出部１１は、パネル３１から入力されるセンサ値に基づいて、操作面Ｐにおける接触位置を検出し、接触位置の情報（以下、「接触位置情報」と記載する）を生成する。検出部１１は、生成した接触位置情報を移動判定部１２に出力する。
【００２９】
ここで、検出部１１には、図示しない上位層から入力される振動素子３０のＯＮ／ＯＦＦの動作状況を示す信号が入力されるものとする。検出部１１は、かかる信号が現在振動素子３０がＯＮであることを意味する信号であった場合に、接触位置情報を移動判定部１２に出力するものとする。すなわち、検出部１１は、操作面Ｐが振動している状態で接触を検出する場合に、接触位置情報を移動判定部１２に出力する。換言すると、検出部１１は、操作面Ｐが振動していない場合、もしくは、接触を検出していない場合のうち少なくとも一方に当てはまる場合に接触位置情報を出力しないものとする。なお、検出部１１は、振動素子３０のＯＮ／ＯＦＦの動作状況を示す信号を素子制御部１３より取得することにしてもよい。また、後述する移動判定部１２が、かかる信号を取得し振動素子３０がＯＮである場合に、接触の移動／停止を判定することにしてもよい。
【００３０】
また、たとえば、検出部１１が、所定周期でユーザの接触位置を検出することで、ユーザが操作面Ｐ上を移動し接触位置が変化した場合であっても、検出部１１はかかる変化に追従して接触位置を検出することができる。また、検出部１１は、ユーザと操作面Ｐとが同時に２点以上で接触している場合であっても、それぞれの接触位置を追従して検出することもできる。
【００３１】
＜２．３．２．移動判定部１２＞
移動判定部１２は、操作面Ｐに対する接触が停止状態か移動状態かを判定する。具体的には、移動判定部１２は、検出部１１から入力される時間的に連続する複数の接触位置情報と記憶部２０に予め記憶された座標情報２１とに基づいて、かかる接触位置が停止状態か移動状態かを判定する。移動判定部１２は、かかる判定結果を素子制御部１３に出力する。
【００３２】
ここで、図３Ａおよび図３Ｂを用いて座標情報２１について説明する。図３Ａは、パネル３１の定在波Ｗの模式図である。図３Ｂは、座標情報２１の一例を示す図である。図３Ａに示すように、素子制御部１３は、パネル３１に所定の定在波Ｗが生じるように振動素子３０を振動させる。なお、かかる定在波Ｗは、Ｘ軸に沿って所定の距離間隔で交互に繰り返す腹および節を有するものとする。
【００３３】
ここで、パネル３１の定在波Ｗの腹に相当する箇所では、操作面Ｐは振動するが、節に相当する箇所では、操作面Ｐは振動しない。したがって、ユーザが定在波Ｗの腹では、操作面Ｐの振動がユーザと操作面Ｐとの間で熱に変換されるが、定在波Ｗの節では、ユーザと操作面Ｐとの間で熱に変換されない。つまり、定在波Ｗの腹と節とでは、操作面Ｐの振動がユーザと操作面Ｐとの間で熱に変換される効率が異なる。
【００３４】
そして、定在波Ｗにおける腹と節との間隔は、ユーザの指の幅よりも狭いので、ユーザが指で操作面Ｐに触れると、ユーザの指は、定在波Ｗの腹と節との両方に触れることになる。
【００３５】
ここで、定在波Ｗの腹と節との座標および距離間隔は、定在波Ｗの周波数によって規定された固有値となる。そこで、入力装置１は、定在波Ｗの周波数に対応したかかる固有値を座標情報２１として予め記憶しておくことができる。
【００３６】
具体的には、座標情報２１は、操作面Ｐの所定座標と、かかる所定座標が定在波Ｗの腹もしくは節に対応するかを関連付けた情報である。図３Ｂの例では、座標情報２１には、座標Ｘ１が定在波Ｗの腹として、座標Ｘ２が定在波Ｗの節として記憶される。同様に、座標Ｘ３が腹、座標Ｘ４が節として記憶される。
【００３７】
また、上述したように、定在波Ｗの腹および節は所定の距離間隔で交互に繰り返すので、座標Ｘ１、Ｘ２、Ｘ３、Ｘ４の間隔はすべて等しくなる。したがって、座標情報２１は、周波数における少なくとも一つの腹もしくは節の位置を示す座標と、定在波Ｗの半波の距離（隣接する二つの腹から腹までの距離）との情報であってもよい。
【００３８】
ここで、移動判定部１２は、検出部１１より入力される時間的に連続する複数の接触位置情報から操作面Ｐに対する接触の移動ベクトルを算出する。そして、移動判定部１２は、かかる算出したベクトルと座標情報２１とを照合し、算出したベクトルが、Ｘ軸に沿って定在波Ｗの半波以下である場合に、接触が停止状態と判定する。
【００３９】
すなわち、たとえば、移動判定部１２は、算出したベクトルが、Ｘ軸に沿って定在波Ｗの半波以下であった場合、Ｙ軸方向に沿って定在波Ｗの半波以上であっても停止状態として判定する。また、移動判定部１２は、接触を停止状態とする判定結果（以下、「停止状態信号」と記載する）を素子制御部１３に出力する。
【００４０】
一方、移動判定部１２は、かかる算出したベクトルが、Ｘ軸に沿って定在波Ｗの半波以上である場合に、接触が移動状態と判定する。そして、移動判定部１２は、接触を移動状態とする判定結果（以下、「移動状態信号」と記載する）を素子制御部１３に出力する。
【００４１】
なお、移動判定部１２は、検出部１１より入力される接触位置情報に２点以上の接触が含まれる場合（すなわち、ユーザが操作面Ｐに２点以上で触れている場合）、かかる２点以上のそれぞれの接触に対して、接触が停止状態か移動状態かを判定する。そして、移動判定部１２は、２点以上の接触のうち少なくとも１点の接触が停止状態と判定した場合、他の接触によらず、停止状態信号を素子制御部１３に出力する。
【００４２】
このように、移動判定部１２は、算出したベクトルが、Ｘ軸に沿って定在波Ｗの半波以上である場合に、かかる接触を移動状態と判定することで、かかる判定結果に基づいて振動素子３０を制御する素子制御部１３は、操作面Ｐの温度を適切に制御することができる。
【００４３】
＜２．３．３．素子制御部１３＞
素子制御部１３は、継続時間を計測し、かかる継続時間が移動判定部１２の判定結果に応じた閾値時間以上になった場合、振動素子３０の振動を低減または停止させる。また、素子制御部１３は、カウンタ部１３ａと、時間判定部１３ｂと、振動制御部１３ｃとを備える。
【００４４】
＜２．３．３．１．カウンタ部１３ａ＞
カウンタ部１３ａは、移動判定部１２の判定結果に応じて重み付けしたカウンタ値を設定し、設定したカウンタ値によって継続時間をカウントする。ここで、重み付けとは、単位時間当たりのカウンタ値の増幅率を意味するものとする。また、単位時間当たりのカウンタ値の増幅率は、継続時間に対する接触温度の上昇率に相当する。したがって、カウンタ部１３ａのカウンタ値は、現在の接触位置の接触温度に相当する。カウンタ部１３ａによってカウントされたカウンタ値は時間判定部１３ｂに入力される。なお、カウンタ値の増幅率は、予め実験等によって導出され、導出された増幅率に関する情報は、記憶部２０にパラメータ情報２２として記憶される。
【００４５】
カウンタ部１３ａは、移動判定部１２より停止状態信号が入力された場合、パラメータ情報２２から停止状態に該当する増幅率を呼び出し、かかる増幅率を設定する。
【００４６】
同様に、カウンタ部１３ａは、移動判定部１２より移動状態信号が入力された場合、パラメータ情報２２から移動状態に該当する増幅率を呼び出し、移動状態に対応する増幅率にカウンタ値を設定する。
【００４７】
なお、ここで、停止状態におけるカウンタ値の増幅率は、移動状態におけるカウンタ値の増幅率よりも高い値になるように設定される。これは、停止状態の場合は、移動状態の場合に比べて接触温度の上昇が早いためである。
【００４８】
具体的には、上述したように、接触位置の定在波Ｗの節に相当する箇所では、操作面Ｐの振動は熱に変換されないため、接触温度は上昇しないが、腹に相当する箇所では、操作面Ｐの振動が熱に変換されるので接触温度が上昇する。また、定在波Ｗの腹と節との間隔は、ユーザの指の幅よりも狭い。
【００４９】
したがって、ユーザが指で操作面Ｐに触れた場合、ユーザの指は腹と節との両方に触れることになる。ここで、接触が停止状態の場合、ユーザの指と接触する腹に相当する箇所では、接触温度が局所的に上昇することになる。
【００５０】
一方、接触が移動状態の場合、ユーザの指は、接触温度が上昇する腹と上昇しない節とを交互に移動することになる。したがって、接触温度の上昇は、腹と節とで平均化されるので、接触が移動状態の場合は、停止状態の場合に比べて接触温度がゆっくり上昇することになる。したがって、停止状態におけるカウンタ値の増幅率は、移動状態におけるカウンタ値の増幅率よりも高い値が設定されている。
【００５１】
ここで、図４を用いて、カウンタ部１３ａによる処理の例について説明する。図４Ａは、移動判定部１２の判定結果が一定である場合のカウンタ部１３ａによる処理を示す図である。図４Ｂは、移動判定部１２の判定結果が変化する場合のカウンタ部１３ａによる処理を示す図である。図４Ｃは、継続時間が停止する場合のカウンタ部１３ａによる処理を示す図である。
【００５２】
まず、図４Ａを用いて、移動判定部１２の判定結果が一定である場合のカウンタ部１３ａによる処理について説明する。たとえば、図４Ａに示す時刻ｔ０から、カウンタ部１３ａに入力される移動判定部１２の判定結果が同じであるものとする。この場合、カウンタ部１３ａは、時刻ｔ０において、移動判定部１２より入力される判定結果に応じてカウンタの増幅率を設定し、かかるカウンタで継続時間のカウントを開始する。
【００５３】
具体的には、時刻ｔ０において、移動判定部１２より停止状態信号が入力されると、カウンタ部１３ａは、停止状態に応じた増幅率を設定する。この場合、たとえば、図４Ａに示す線分Ａ１に沿ってカウンタ値が増加するものとする。すなわち、図４Ａに示す線分Ａ１の傾きが停止状態に応じた増幅率に相当する。そして、カウンタ部１３ａは、停止状態が信号入力されるタイミング、すなわち、時刻ｔ０より継続時間のカウントを開始する。
【００５４】
一方、時刻ｔ０において、移動判定部１２より移動状態信号が入力されると、カウンタ部１３ａは、移動状態に応じた増幅率に設定する。この場合、たとえば、図４Ａに示す線分Ａ２に沿ってカウンタ値が増加するものとする。すなわち、図４Ａに示す線分Ａ２の傾きが移動状態に応じた増幅率に相当する。そして、カウンタ部１３ａは、移動状態信号が入力されるタイミング、すなわち、時刻ｔ０より継続時間のカウントを開始する。
【００５５】
ここで、停止状態のカウンタ値は、時刻ｔａでカウンタ閾値Ｔｈに到達する一方、移動状態のカウンタ値は、時刻ｔｂでカウンタ閾値Ｔｈに到達する。ここで、上述したようにカウンタ値は、現在の接触位置の接触温度に相当するので、カウンタ閾値Ｔｈとは、接触温度が、所定温度（たとえば４０度）に応じて決まる値となる。
【００５６】
カウンタ値がカウンタ閾値Ｔｈ以上になると、素子制御部１３は後述の制御によって、振動素子３０の振動を低減または停止させる。なお、移動状態と停止状態とに応じてカウンタ値の増幅率を異なるようにすることで、移動状態の場合にカウンタ値がカウンタ閾値Ｔｈに到達するまでの閾値時間が、停止状態の場合にカウンタ値がカウンタ閾値Ｔｈに到達するまでの閾値時間より長くすることができる。すなわち、移動判定部１２の判定結果に応じて閾値時間が異なる。これにより、継続時間が移動判定部１２の判定結果に応じた閾値時間以上になった場合に、振動素子３０の振動を低減または停止させることができるので、入力装置１は、操作面Ｐの温度を適切に制御することができる。
【００５７】
ここで、たとえば、カウンタ部１３ａは、移動判定部１２より停止状態信号および移動状態信号が交互に入力された場合、かかる信号の変化に応じて上述したカウンタ値の増幅率を設定することもできる。
【００５８】
次に、図４Ｂを用いて移動判定部１２の判定結果が変更される場合のカウンタ部１３ａの処理について説明する。004図４Ｂの時刻ｔ０〜ｔｃおよび時刻ｔｄ〜ｔｅおいて、カウンタ部１３ａには、移動判定部１２より停止状態信号が入力され、時刻ｔｃ〜ｔｄにおいて移動状態信号が入力されるとする。
【００５９】
ここで、カウンタ部１３ａは、時刻ｔ０において、停止状態信号が入力されると停止状態に応じたカウンタ値の増幅率を設定し、時刻ｔ０から、線分Ａ１に沿ってカウンタ値を増加させる。そして、時刻ｔｃにおいて、カウンタ部１３ａは、移動判定部１２より移動状態信号が入力されると、停止状態に応じたカウンタ値の増幅率から、移動状態に応じたカウンタ値の増幅率に設定する。
【００６０】
ここで、カウンタ部１３ａは、時刻ｔｃにおいて停止状態においてカウントを終了した時のカウンタ値Ｂａから線分Ａ２に沿ってカウンタ値を増加させる。そして、時刻ｔｄにおいて、カウンタ部１３ａは、移動判定部１２より再度停止状態信号が入力されると、移動状態に応じたカウンタの増幅率から、停止状態に応じたカウンタの増幅率に設定する。
【００６１】
時刻ｔｄ以降、カウンタ部１３ａは、移動状態においてカウントを終了した時のカウンタ値Ｂｂから線分Ａ１に沿ってカウンタ値を増加させる。そして、時刻ｔｅにおいて、カウンタ部１３ａのカウンタ値がカウンタ閾値Ｔｈ以上になるので、素子制御部１３は、後述の制御によって振動素子３０の振動を低減または停止させることになる。
【００６２】
この場合、素子制御部１３は、接触が停止状態である場合と、移動状態である場合とで異なる重み付けで閾値時間を決定することになる。これにより、操作面Ｐの接触温度は所定の温度を超えて上昇しないので、入力装置１は、接触温度を適切に制御することができる。
【００６３】
また、一時的にユーザが指を操作面Ｐから離したり、振動素子３０の振動がＯＦＦされたりすることで、接触位置の接触温度が一時的に低下する場合がある。ここで、カウンタ部１３ａは、カウンタ値を増加させず、たとえば、単位時間当たりの接触温度の低下率に応じた増幅率によってカウンタ値を減少させる。なお、かかる接触温度の低下率に応じた増幅率は、パラメータ情報２２に予め記憶されるものとする。ここで図４Ｃを用いて、継続時間が停止される場合のカウンタ部１３ａによる処理について説明する。
【００６４】
たとえば、図４Ｃに示す時刻ｔ０〜ｔｆにおいて、カウンタ部１３ａは、移動判定部１２より停止状態信号が入力されると、停止状態に応じたカウンタ値の増幅率を設定し、時刻ｔ０から、線分Ａ１に沿ってカウンタ値を増加させる。つづいて、時刻ｔｆ〜ｔｇの期間には、カウンタ部１３ａには、移動判定部１２より停止状態信号および移動状態信号のいずれの信号も入力されない。
【００６５】
この場合、ユーザの指が操作面Ｐから離れた、もしくは、振動素子３０の振動がＯＦＦになったことを意味する。したがって、時刻ｔｆにおいて、カウンタ部１３ａは、パラメータ情報２２より、接触温度の低下率に応じた増幅率を呼び出し、カウンタ値をかかる増幅率に設定する。そして、時刻ｔｆ以降は、カウンタ部１３ａは、カウンタ値Ｂｄより線分Ａ３に沿ってカウントを減少させることになる。
【００６６】
ここで、たとえば、時刻ｔｇにおいて、カウンタ部１３ａに、移動判定部１２より停止状態信号が再度入力されると、停止状態に応じたカウンタ値の増幅率を設定し、時刻ｔｇ以降は、カウンタ値Ｂｃよりカウンタ値を線分Ａ１に沿って増加させる。
【００６７】
そして、時刻ｔｉで、カウンタ値は、カウンタ閾値Ｔｈに到達するので、素子制御部１３は、後述の制御によって振動素子３０の振動を低減または停止させることになる。
【００６８】
また、たとえば、時刻ｔｇ以降、カウンタ部１３ａに、移動判定部１２より停止状態信号および移動状態信号のいずれの信号も入力されなかった場合、図４Ｃの時刻ｔｇ以降に破線で示すように、時刻ｔｈでカウンタ値が初期値（ここでは、初期値が「０」であるものとする）になるまで減少する。したがって、たとえば、時刻ｔｇ以降は、カウンタ部１３ａに、移動判定部１２より停止状態信号および移動状態信号のいずれかの信号が入力された場合に、カウンタ値「０」からカウントを開始することになる。
【００６９】
このように、カウンタ部１３ａは、ユーザの指が操作面Ｐから離れた場合もしくは、振動素子３０の振動がＯＦＦになった場合に、接触温度の減少に応じてカウンタ値を低減させてカウントするようにする。
【００７０】
そして、カウンタ部１３ａは、減少させたカウンタ値が初期値に戻った場合、カウンタ値をリセットする。一方、カウンタ部１３ａは、減少させたカウンタ値が初期値に戻る前に、再度停止状態信号もしくは移動状態信号のいずれかが入力された場合、すなわち、操作面Ｐが振動している状態で検出部１１が接触を検出した場合に、減少させたカウンタ値からカウントを再開させる。
【００７１】
したがって、カウンタ部１３ａは、前回のカウンタ値に基づいて閾値時間を変更することになる。これにより、閾値時間を適切に変更することができるので、入力装置１は、操作面Ｐを適切な温度に制御することができる。
【００７２】
なお、図４Ａ〜図４Ｃでは、説明の便宜上、カウンタ値の増幅率を線分Ａ１〜Ａ３として、説明したが、カウンタ値の増幅率は、線分Ａ１〜Ａ３に限られない。すなわち、カウンタ値の増幅率は、継続時間に応じて増幅率が異なる関数や、曲線または、それらの組み合わせなどであってもよい。かかる増幅率は、たとえば、実験等によって最適化することができる。
【００７３】
また、カウンタ部１３ａは、操作面Ｐに対する接触の位置に応じてカウンタの増幅率を変更することにしてもよい。具体的には、たとえば操作面Ｐの振動素子３０に近い位置では、遠い位置に比べて、カウンタの増幅率を高く設定する。これは、振動素子３０の振動による発熱のため、振動素子３０に近い位置では操作面Ｐの温度が高くなるおそれがあるためである。
【００７４】
＜２．３．３．２．時間判定部１３ｂ＞
図２の時間判定部１３ｂは、カウンタ部１３ａから入力されるカウンタ値がカウンタ閾値Ｔｈ以上か否かを判定し、振動制御部１３Ｃに対してカウンタ値がカウンタ閾値Ｔｈ以上になった旨を伝える信号（以下、「超過信号」と記載する）を出力する。
【００７５】
上述したように、カウンタ閾値Ｔｈは、時間閾値に相当するので、時間判定部１３ｂは、カウンタ値がカウンタ閾値Ｔｈ以上か否かを判定することで、継続時間が閾値時間以上か否かを判定することになる。
【００７６】
＜２．３．３．３．振動制御部１３ｃ＞
振動制御部１３ｃは、図示しない上位層から入力される振動素子３０のＯＮ／ＯＦＦや、振動強度、振動周波数などの指示信号に基づいて振動素子３０の振動を制御する。そして、振動制御部１３ｃは、時間判定部１３ｂから超過信号が入力された場合に上位層から入力される指示信号によらず、振動素子３０の振動を低減または停止させる。
【００７７】
振動素子３０の振動が低減または停止すると、接触温度も下降するので、操作面Ｐの温度は、接触温度Ｄを超えて上昇しない。これにより、入力装置１は、操作面Ｐの温度を適切に制御することができる。
【００７８】
ここで、振動制御部１３ｃは、振動素子３０の振動を低減または停止させると、かかる制御結果を上位層に出力するものとする。上位層は、かかる制御結果が入力されると、図示しないスピーカおよび表示部のうち少なくとも一方から、操作面Ｐの接触温度の上昇に伴って振動素子３０の振動を低減または停止させた旨をユーザに通知する。このように、振動素子３０が停止した旨をユーザに通知することで、ユーザに、振動素子３０および操作面Ｐの振動が停止した原因を容易に理解させることができる。
【００７９】
＜２．４．記憶部２０＞
記憶部２０は、移動判定部１２、素子制御部１３が行う処理に必要な情報として、たとえば前述した座標情報２１、パラメータ情報２２および閾値時間情報２３を記憶するとともに、各種処理結果を記憶する。記憶部２０は、たとえばＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置である。
【００８０】
＜３．制御処理＞
つづいて、本実施形態に係る入力装置１によって実行される処理手順について図５を用いて説明する。図５は、本実施形態に係る入力装置１が実行する処理手順を示すフローチャートであり、操作面Ｐが接触操作を受け付けている間、入力装置１の制御部１０によって繰り返し実行される処理である。
【００８１】
図５に示すように、入力装置１の検出部１１が操作面Ｐにおける接触を検出すると（ステップＳ１０１）、検出部１１は、操作面Ｐが振動しているか否かを判定する（ステップＳ１０２）。
【００８２】
この判定において、操作面Ｐが振動していない場合（ステップＳ１０２，Ｎｏ）、操作面Ｐにおける接触位置の接触温度は、上昇しないので、処理を終了する。一方、ステップＳ１０２の判定において、操作面Ｐが振動していると判定された場合（ステップＳ１０２，Ｙｅｓ）、移動判定部１２は、検出部１１より入力される接触位置情報に基づいて、接触が停止状態か移動状態かを判定する（ステップＳ１０３）。
【００８３】
つづいて、カウント部１３ａは、移動判定部１２の判定結果に応じてカウンタの増幅率を決定し、カウントを開始する（ステップＳ１０４）。そして、時間判定部１３ｂは、カウント部１３ａよりカウンタ値を所定周期で取得し、かかるカウンタ値がカウンタ閾値Ｔｈ以上であるかを判定する（ステップＳ１０５）。
【００８４】
この判定において、カウンタ値がカウンタ閾値Ｔｈ以上であった場合（ステップＳ１０５，Ｙｅｓ）、時間判定部１３ｂは、継続時間が閾値時間以上であるとして振動制御部１３ｃに超過信号を出力する。振動制御部１３ｃは、時間判定部１３ｂから超過信号が入力されると、振動素子３０の振動を低減または停止させ（ステップＳ１０６）、処理を終了する。
【００８５】
一方、ステップＳ１０５の判定において、カウンタ値がカウンタ閾値Ｔｈ未満であった場合、制御部１０は、継続時間が閾値時間未満であるとして接触が継続中か否かを判定する（ステップＳ１０７）。この判定において、接触が継続していない場合（ステップＳ１０７，Ｎｏ）、操作面Ｐの接触位置の接触温度は正常であるので、処理を終了する。
【００８６】
一方、ステップＳ１０７の判定において、接触が継続中であった場合（ステップＳ１０７，Ｙｅｓ）、カウンタ部１３ａによるカウントを継続し（ステップＳ１０８）、ステップＳ１０５以降の処理を繰り返すことになる。
【００８７】
＜４．ハードウェア構成＞
本実施形態に係る入力装置１は、図６に一例として示す構成のコンピュータ６００で実現することができる。図６は、入力装置１の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【００８８】
コンピュータ６００は、ＣＰＵ（Central  Processing  Unit）６１０と、ＲＯＭ（Read  Only  Memory）６２０と、ＲＡＭ（Random  Access  Memory）６３０と、ＨＤＤ（Hard  Disk  Drive）６４０とを備える。また、コンピュータ６００は、メディアインターフェイス（Ｉ／Ｆ）６５０と、通信インターフェイス（Ｉ／Ｆ）６６０と、入出力インターフェイス（Ｉ／Ｆ）６７０とを備える。
【００８９】
なお、コンピュータ６００は、ＳＳＤ（Solid  State  Drive）を備え、かかるＳＳＤがＨＤＤ６４０の一部または全ての機能を実行するようにしてもよい。また、ＨＤＤ６４０に代えてＳＳＤを設けることとしてもよい。
【００９０】
ＣＰＵ６１０は、ＲＯＭ６２０およびＨＤＤ６４０の少なくとも一方に格納されるプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ６２０は、コンピュータ６００の起動時にＣＰＵ６１０によって実行されるブートプログラムや、コンピュータ６００のハードウェアに依存するプログラムなどを格納する。ＨＤＤ６４０は、ＣＰＵ６１０によって実行されるプログラムおよびかかるプログラムによって使用されるデータ等を格納する。
【００９１】
メディアＩ／Ｆ６５０は、記憶媒体６８０に格納されたプログラムやデータを読み取り、ＲＡＭ６３０を介してＣＰＵ６１０に提供する。ＣＰＵ６１０は、かかるプログラムを、メディアＩ／Ｆ６５０を介して記憶媒体６８０からＲＡＭ６３０上にロードし、ロードしたプログラムを実行する。あるいは、ＣＰＵ６１０は、かかるデータを用いてプログラムを実行する。記憶媒体６８０は、たとえばＤＶＤ（Digital  Versatile  Disc）などの光磁気記録媒体やＳＤカード、ＵＳＢメモリなどである。
【００９２】
通信Ｉ／Ｆ６６０は、ネットワーク６９０を介して他の機器からデータを受信してＣＰＵ６１０に送り、ＣＰＵ６１０が生成したデータを、ネットワーク６９０を介して他の機器へ送信する。あるいは、通信Ｉ／Ｆ６６０は、ネットワーク６９０を介して他の機器からプログラムを受信してＣＰＵ６１０に送り、ＣＰＵ６１０がかかるプログラムを実行する。
【００９３】
ＣＰＵ６１０は、入出力Ｉ／Ｆ６７０を介して、図示しないディスプレイ等の表示部、スピーカ等の出力部、キーボードやマウス、ボタン等の入力部を制御する。ＣＰＵ６１０は、入出力Ｉ／Ｆ６７０を介して、入力部からデータを取得する。また、ＣＰＵ６１０は、生成したデータを入出力Ｉ／Ｆ６７０を介して表示部や出力部に出力する。
【００９４】
たとえば、コンピュータ６００が入力装置１として機能する場合、コンピュータ６００のＣＰＵ６１０は、ＲＡＭ６３０上にロードされたプログラムを実行することにより、検出部１１と、移動判定部１２と、素子制御部１３の各機能を実現する。
【００９５】
コンピュータ６００のＣＰＵ６１０は、たとえばこれらのプログラムを記憶媒体６８０から読み取って実行するが、他の例として、他の装置からネットワーク６９０を介してこれらのプログラムを取得してもよい。また、ＨＤＤ６４０は、記憶部２０が記憶する情報を記憶することができる。
【００９６】
上述してきたように本実施形態に係る入力装置１は、検出部１１と、振動素子３０と、素子制御部１３とを備える。検出部１１は、操作面Ｐに対する接触を検出する。振動素子３０は、操作面Ｐを振動させる。素子制御部１３は、操作面Ｐが振動している状態で検出部１１によって検出される接触の継続時間に基づいて振動素子３０の振動を低減または停止させる。
【００９７】
したがって、本実施形態にかかる入力装置１によれば、操作面Ｐの温度を適切に制御することができる。
【００９８】
＜５．変形例＞
なお、上述してきた実施形態では、カウンタ部１３ａが、移動判定部１２の判定結果に応じてカウンタ値の増幅率を設定する場合について例示したが、これに限られない。すなわち、カウンタ部１３ａは、図示しない上位層から入力される振動素子３０の振動強度および周辺温度の情報に応じてカウンタ部１３ａの増幅率を設定してもよい。また、同様にカウンタ値の初期値を設定することもできる。
【００９９】
具体的には、たとえば振動素子３０の振動強度が大きい場合、振動強度が小さい場合に比べ、カウンタ部１３ａの増幅率を高く設定する。これは、振動強度が大きいほど、操作面Ｐの振動のエネルギーが増大するので、かかる増大したエネルギーによって、ユーザの指と操作面Ｐとの間で変換される熱も大きくなるためである。
【０１００】
このように、カウンタ部１３ａは、振動素子３０の振動強度に応じて増幅率を設定するので、かかる増幅率に応じてカウンタ閾値Ｔｈに到達するまでの時間、すなわち、閾値時間を調整することができる。これにより、入力装置１は、振動素子３０の振動強度に応じて操作面Ｐを適切な温度に制御することができる。
【０１０１】
また、カウンタ部１３ａは、周辺温度に応じてカウンタ値の初期値を変更することで、カウンタ閾値Ｔｈに到達するまでの時間、すなわち、閾値時間を変更することもできる。具体的には、たとえば、周囲温度が高い場合は、周囲温度が低い場合に比べてカウンタ値を高い値の初期値に変更する。
【０１０２】
カウンタ値の初期値が高くなると、初期値およびカウンタ閾値Ｔｈ間の差分は小さくなる。したがって、カウンタ値が初期値からカウンタ閾値Ｔｈに到達するまでの時間も短くなることになる。一方、周囲温度が低い場合は、周囲温度が高い場合に比べてカウンタ値を低い値の初期値に変更する。カウンタ値の初期値が低くなると、初期値およびカウンタ閾値Ｔｈ間の差分は大きくなる。したがって、カウンタ値が初期値からカウンタ閾値Ｔｈに到達するまでの時間は長くなることになる。
【０１０３】
このように、カウンタ部１３ａは、周辺温度に応じてカウンタ値の初期値を変更することで、周辺温度に応じて閾値時間を調整することができる。これにより、入力装置１は、周辺温度に応じて操作面Ｐを適切な温度に制御することができる。なお、カウンタ部１３ａは、周辺温度に応じてカウンタ閾値Ｔｈを変更することにしてもよい。
【０１０４】
また、たとえば、カウンタ部１３ａは、図示しない上位層あるいは振動制御部１３ｃより、振動素子３０の振動周波数の情報を取得し、かかる振動周波数に応じてカウンタ値の増幅率を設定することにしてもよい。
【０１０５】
さらに、カウンタ部１３ａは、振動素子３０の振動強度、振動周波数、および周辺温度の少なくとも一つに応じてカウンタ値の増幅率を設定することにしてもよい。この場合、閾値時間は、振動素子３０の振動強度、振動周波数および周辺温度の少なくとも一つに応じて変更されることになる。これにより、入力装置１は、振動素子３０の振動強度、振動周波数および周辺温度に応じて、操作面Ｐを適切な温度に制御することができる。
【０１０６】
また、カウンタ部１３ａは、操作面Ｐにおける接触面積に応じてカウンタ値の増幅率を調整することにしてもよい。なお、この場合、検出部１１は、接触の面積を検出できるものとする。たとえば、ユーザがタッチペンを用いて振動する操作面Ｐに触れる場合、タッチペンと操作面Ｐとの間では操作面Ｐの振動は熱に変換されにくい。そのため、操作面Ｐの温度は上昇しない。これは、タッチペンの接触の面積が、ユーザの指の接触の面積に比べて小さく、またタッチペンはユーザの指に比べて振動が熱に変化しにくいためである。
【０１０７】
ここで、検出部１１は、接触の面積を検出することができるものとする。そして、素子制御部１３は、検出部１１より接触の面積の情報を取得し、かかる接触の面積と予め記憶部２０に記憶された所定値とを比較する。比較の結果、接触の面積が所定値以下であった場合に、カウンタ部１３ａは、たとえば、かかるカウンタ値の増幅率を「０」もしくは、限りなく小さい値に設定することにしてもよい。あるいは、カウンタ閾値Ｔｈを大きな値としてもよい。また、カウンタ部１３ａでのカウントを行わないようにしてもよい。これにより、カウンタ値がカウンタ閾値Ｔｈに到達するまでの閾値時間を設けない、もしくは、限りなく長い閾値時間を設定することができる。
【０１０８】
これにより、ユーザが指以外で操作面Ｐを操作する場合の閾値時間を長く設定することができ、ユーザは振動する操作面Ｐに対して長く接触操作を行うことができる。なお、カウンタ部１３ａは、接触の面積の大きさに応じて増幅率を設定することにしてもよい。この場合、カウンタ部１３ａは、たとえば、所定値以上であった場合、接触の面積が大きいほど、増幅率を高く設定する。これは、接触の面積が大きくなるほど、操作面Ｐの振動が熱に変換される面積が大きくなるので、かかる面積に応じて変換される熱の総量も大きくなるためである。したがって、カウンタ部１３ａは、接触面積に応じて増幅率を調整することで、操作面Ｐの温度を適切に制御することができる。
【０１０９】
上述してきた実施形態では、移動判定部１２の判定結果に応じてカウンタ部１３ａが増幅率を調整してカウントすることで、閾値時間を設定する場合について、例示したが、これに限られない。すなわち、カウンタ部１３ａは、継続時間に対して重み付けせずに、時間判定部１３ｂが、移動判定部１２の判定結果に応じて閾値時間に対して重み付けをして、閾値時間を変更させるようにしてもよいし、また、これらの組み合わせで閾値時間を変更することにしてもよい。
【０１１０】
また、上述してきた入力装置１に、上位層を含める構成にしてもよいし、上位層を含まない構成にしてもよい。入力装置１が上位層を含む構成の場合、たとえば、スマートフォンやタブレットなで構成される。また、入力装置１が上位層を含まない構成の場合、タッチパッドなどで構成されることになる。
【０１１１】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な様態は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲および、その均等物によって定義される統括的な発明の概念の精神または範囲から逸脱することなく、様々な変化が可能である。
【符号の説明】
【０１１２】
１      入力装置
１０    制御部
１１    検出部
１２    移動判定部
１３    素子制御部
１３ａ  カウンタ部
１３ｂ  時間判定部
１３ｃ  振動制御部
３０    振動素子
３１    パネル
Ｐ      操作面
【図１Ａ】
0006585510.tif 000002
【図１Ｂ】
0006585510.tif 000003
【図２】
0006585510.tif 000004
【図３Ａ】
0006585510.tif 000005
【図３Ｂ】
0006585510.tif 000006
【図４Ａ】
0006585510.tif 000007
【図４Ｂ】
0006585510.tif 000008
【図４Ｃ】
0006585510.tif 000009
【図５】
0006585510.tif 000010
【図６】
0006585510.tif 000011