(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下に、添付図面を参照して、本発明に係る入力装置および入力装置の制御方法の実施形態を詳細に説明する。なお、以下に示す実施形態により、この発明が限定されるものではない。
【0010】
<1.入力装置の概要>
まず、本実施形態に係る入力装置の概要について
図1Aを用いて説明する。
図1Aは、本実施形態に係る入力装置1の概略を示す図である。
【0011】
入力装置1は、たとえばタッチパッドやスマートフォンなど入力デバイス機能を有する装置である。また、
図1Aに示すように、入力装置1は、操作面Pと、振動素子30a、30bとを有する。操作面Pは、たとえば静電容量方式の情報入力機能を有するパネルにより構成され、ユーザが指やタッチペンなどのポインティングデバイスで操作面Pに接触すると、入力装置1は、操作面Pにおけるユーザの接触を検出する。
【0012】
振動素子30は、たとえば圧電素子であり、操作面Pを高周波振動させることができる。たとえば、ユーザが指で操作面Pを押下した状態で振動素子30を振動させると、かかる振動により、指と操作面Pとの間に空気層が形成され、指と操作面Pとの間の摩擦力が変化する。このような状態で指を動かすと、変化した摩擦力に応じた触覚を指に与えることができる。
【0013】
このように、本実施形態に係る入力装置1は、振動素子30を用いて操作面Pを振動させることで、ユーザに触覚を与える入力装置である。
【0014】
ところで、ユーザの指が振動している操作面Pに触れると、ユーザの指と操作面Pとが接触する位置(以下、「接触位置」と記載する)では、操作面Pの振動が熱に変換される。かかる熱は、振動している状態の操作面Pにユーザの指が連続して触れる継続時間に応じて蓄積される。そして、かかる継続時間が長くなると、蓄積された熱によって接触位置の温度が上昇して、操作面Pの温度が上昇してしまう。
【0015】
そこで、本実施形態に係る入力装置1は、継続時間に基づいて振動素子30の振動を低減または停止させることにより、操作面Pを適切な温度に制御することとした。以下、
図1Bを用いて本実施形態に係る入力装置1の制御方法の概要について説明する。
【0016】
図1Bは、本実施形態に係る入力装置の制御方法の概要を示す図である。
図1Bの上図には、振動素子30のON/OFFの状態を示している。また、横軸には、時刻を示しており、ユーザは、時刻t0から操作面Pの接触位置P1(X1,Y1)に常に触れているものとする(
図1A参照)。そして、下図の縦軸に示す「接触温度」は、接触位置P1の温度を意味する。また、同図に示す接触温度Dは、たとえば40度である。
【0017】
図1Bに示す時刻t0〜t1の間は、振動素子30がOFFである。この状態において、操作面Pは振動しないので、接触位置P1の接触温度は上昇しない。つづいて、時刻t1において、入力装置1は、たとえば図示しない上位層から振動素子30のON要求信号が入力されると、振動素子30をOFFからONにする。振動素子30がONになると、操作面Pも振動し、接触温度が徐々に上昇する。ここで、入力装置1は、時刻t1、すなわち振動素子30をONにするタイミングで継続時間の計測を開始する。ここで、継続時間とは、操作面Pが振動している状態で入力装置1によって検出される操作面Pに対する接触の継続時間を意味するものとする。
【0018】
つづいて、時刻t2になると、接触位置P1の接触温度は接触温度Dに到達する。ここで、入力装置1は、計測した継続時間に基づいて振動素子30の振動を低減または停止させる。
図1Bの例では、入力装置1は、振動素子30をONからOFF、すなわち振動素子30を停止させる。たとえば、入力装置1は、継続時間に対して閾値時間を設け、かかる継続時間が閾値時間を超えた場合に、振動素子30をOFFにする。
【0019】
振動素子30がOFFになると、操作面Pは振動しないので接触温度は下降し、所定時間経過後に時刻t1以前と同様の接触温度まで下がる。これにより、入力装置1は、操作面を適切な温度に制御することができる。なお、入力装置1は、時刻t2において、振動素子30の振動を低減させることにしてもよい。一方、たとえば、時刻t2において、入力装置1が振動素子30をOFFに制御しない場合、
図1Bの破線で示すように、接触温度Dを超えて上昇してしまう。
【0020】
ここで、継続時間に対する接触温度の上昇率は、計算や実験等によって導出することができる。したがって、継続時間と、かかる上昇率とから接触温度Dに到達する時間を予め導出することができる。そして、入力装置1は、かかる導出した時間を閾値時間として記憶しておき、計測した継続時間が閾値時間以上になった場合に、振動素子30の振動を低減または停止させる。
【0021】
このように、本実施形態に係る入力装置1は、継続時間に基づいて振動素子30の振動を低減または停止させる。これにより、ユーザと操作面Pとの間の接触温度は、接触温度Dを超えないので、操作面Pを適切な温度に制御することができる。
【0022】
また、入力装置1は、継続時間を計測し、かかる継続時間と予め記憶された閾値時間とに基づいて振動素子30をOFFに制御するので、煩雑な処理や接触位置P1の接触温度を測定する温度センサ等を必要としない。これにより、入力装置1の小型化や、製造コストを削減することもできる。以下、入力装置1について詳細に説明する。
【0023】
<2.入力装置1の構成例>
まず、
図2を用いて、本実施形態に係る入力装置1の構成について説明する。
図2は、本実施形態に係る入力装置1の構成例を示すブロック図である。
図2に示すように、入力装置1は、制御部10と、記憶部20と、振動素子30と、パネル31とを備える。
【0024】
<2.1.パネル31>
入力装置1のパネル31は、たとえばタッチパッド等の平板状のセンサを有し、ユーザの接触操作による入力操作を受け付ける操作面Pを備える。ユーザが操作面Pに接触すると、パネル31はユーザの接触位置に応じたセンサ値を制御部10に出力する。
【0025】
<2.2.振動素子30>
振動素子30は、たとえば圧電素子などの圧電アクチュエータであって、制御部10から入力される駆動電圧に応じて伸縮することで、パネル31を振動させる。なお、振動素子30は、たとえば、操作面Pを超音波領域で振動させる素子である。また、振動素子30は、パネル31と接触するように配置される。なお、振動素子30の個数は、一つであっても、二つ以上であってもよい。また、ここでは、振動素子30として圧電素子を用いる場合について説明したが、これに限られず、たとえば操作面Pを超音波周波数帯で振動させる素子であればよい。
【0026】
<2.3.制御部10>
制御部10は、振動素子30の振動を制御し、操作面Pを適切な温度に制御する。制御部10は、たとえば、CPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)、入出力ポートなどを有するマイクロコンピュータや各種の回路を含む。かかるマイクロコンピュータのCPUは、ROMに記憶されているプログラムを読み出して実行することにより、後述する制御を実現する。制御部10は、検出部11と、移動判定部12と、素子制御部13とを備える。かかる検出部11、移動判定部12および素子制御部13の機能は、例えば、上記CPUが上記プログラムを読み出して実行することにより実現される。
【0027】
なお、検出部11、移動判定部12および素子制御部13は、それぞれ一部または全部がASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成されてもよい。
【0028】
<2.3.1.検出部11>
検出部11は、操作面Pに対する接触を検出する。具体的には、検出部11は、パネル31から入力されるセンサ値に基づいて、操作面Pにおける接触位置を検出し、接触位置の情報(以下、「接触位置情報」と記載する)を生成する。検出部11は、生成した接触位置情報を移動判定部12に出力する。
【0029】
ここで、検出部11には、図示しない上位層から入力される振動素子30のON/OFFの動作状況を示す信号が入力されるものとする。検出部11は、かかる信号が現在振動素子30がONであることを意味する信号であった場合に、接触位置情報を移動判定部12に出力するものとする。すなわち、検出部11は、操作面Pが振動している状態で接触を検出する場合に、接触位置情報を移動判定部12に出力する。換言すると、検出部11は、操作面Pが振動していない場合、もしくは、接触を検出していない場合のうち少なくとも一方に当てはまる場合に接触位置情報を出力しないものとする。なお、検出部11は、振動素子30のON/OFFの動作状況を示す信号を素子制御部13より取得することにしてもよい。また、後述する移動判定部12が、かかる信号を取得し振動素子30がONである場合に、接触の移動/停止を判定することにしてもよい。
【0030】
また、たとえば、検出部11が、所定周期でユーザの接触位置を検出することで、ユーザが操作面P上を移動し接触位置が変化した場合であっても、検出部11はかかる変化に追従して接触位置を検出することができる。また、検出部11は、ユーザと操作面Pとが同時に2点以上で接触している場合であっても、それぞれの接触位置を追従して検出することもできる。
【0031】
<2.3.2.移動判定部12>
移動判定部12は、操作面Pに対する接触が停止状態か移動状態かを判定する。具体的には、移動判定部12は、検出部11から入力される時間的に連続する複数の接触位置情報と記憶部20に予め記憶された座標情報21とに基づいて、かかる接触位置が停止状態か移動状態かを判定する。移動判定部12は、かかる判定結果を素子制御部13に出力する。
【0032】
ここで、
図3Aおよび
図3Bを用いて座標情報21について説明する。
図3Aは、パネル31の定在波Wの模式図である。
図3Bは、座標情報21の一例を示す図である。
図3Aに示すように、素子制御部13は、パネル31に所定の定在波Wが生じるように振動素子30を振動させる。なお、かかる定在波Wは、X軸に沿って所定の距離間隔で交互に繰り返す腹および節を有するものとする。
【0033】
ここで、パネル31の定在波Wの腹に相当する箇所では、操作面Pは振動するが、節に相当する箇所では、操作面Pは振動しない。したがって、ユーザが定在波Wの腹では、操作面Pの振動がユーザと操作面Pとの間で熱に変換されるが、定在波Wの節では、ユーザと操作面Pとの間で熱に変換されない。つまり、定在波Wの腹と節とでは、操作面Pの振動がユーザと操作面Pとの間で熱に変換される効率が異なる。
【0034】
そして、定在波Wにおける腹と節との間隔は、ユーザの指の幅よりも狭いので、ユーザが指で操作面Pに触れると、ユーザの指は、定在波Wの腹と節との両方に触れることになる。
【0035】
ここで、定在波Wの腹と節との座標および距離間隔は、定在波Wの周波数によって規定された固有値となる。そこで、入力装置1は、定在波Wの周波数に対応したかかる固有値を座標情報21として予め記憶しておくことができる。
【0036】
具体的には、座標情報21は、操作面Pの所定座標と、かかる所定座標が定在波Wの腹もしくは節に対応するかを関連付けた情報である。
図3Bの例では、座標情報21には、座標X1が定在波Wの腹として、座標X2が定在波Wの節として記憶される。同様に、座標X3が腹、座標X4が節として記憶される。
【0037】
また、上述したように、定在波Wの腹および節は所定の距離間隔で交互に繰り返すので、座標X1、X2、X3、X4の間隔はすべて等しくなる。したがって、座標情報21は、周波数における少なくとも一つの腹もしくは節の位置を示す座標と、定在波Wの半波の距離(隣接する二つの腹から腹までの距離)との情報であってもよい。
【0038】
ここで、移動判定部12は、検出部11より入力される時間的に連続する複数の接触位置情報から操作面Pに対する接触の移動ベクトルを算出する。そして、移動判定部12は、かかる算出したベクトルと座標情報21とを照合し、算出したベクトルが、X軸に沿って定在波Wの半波以下である場合に、接触が停止状態と判定する。
【0039】
すなわち、たとえば、移動判定部12は、算出したベクトルが、X軸に沿って定在波Wの半波以下であった場合、Y軸方向に沿って定在波Wの半波以上であっても停止状態として判定する。また、移動判定部12は、接触を停止状態とする判定結果(以下、「停止状態信号」と記載する)を素子制御部13に出力する。
【0040】
一方、移動判定部12は、かかる算出したベクトルが、X軸に沿って定在波Wの半波以上である場合に、接触が移動状態と判定する。そして、移動判定部12は、接触を移動状態とする判定結果(以下、「移動状態信号」と記載する)を素子制御部13に出力する。
【0041】
なお、移動判定部12は、検出部11より入力される接触位置情報に2点以上の接触が含まれる場合(すなわち、ユーザが操作面Pに2点以上で触れている場合)、かかる2点以上のそれぞれの接触に対して、接触が停止状態か移動状態かを判定する。そして、移動判定部12は、2点以上の接触のうち少なくとも1点の接触が停止状態と判定した場合、他の接触によらず、停止状態信号を素子制御部13に出力する。
【0042】
このように、移動判定部12は、算出したベクトルが、X軸に沿って定在波Wの半波以上である場合に、かかる接触を移動状態と判定することで、かかる判定結果に基づいて振動素子30を制御する素子制御部13は、操作面Pの温度を適切に制御することができる。
【0043】
<2.3.3.素子制御部13>
素子制御部13は、継続時間を計測し、かかる継続時間が移動判定部12の判定結果に応じた閾値時間以上になった場合、振動素子30の振動を低減または停止させる。また、素子制御部13は、カウンタ部13aと、時間判定部13bと、振動制御部13cとを備える。
【0044】
<2.3.3.1.カウンタ部13a>
カウンタ部13aは、移動判定部12の判定結果に応じて重み付けしたカウンタ値を設定し、設定したカウンタ値によって継続時間をカウントする。ここで、重み付けとは、単位時間当たりのカウンタ値の増幅率を意味するものとする。また、単位時間当たりのカウンタ値の増幅率は、継続時間に対する接触温度の上昇率に相当する。したがって、カウンタ部13aのカウンタ値は、現在の接触位置の接触温度に相当する。カウンタ部13aによってカウントされたカウンタ値は時間判定部13bに入力される。なお、カウンタ値の増幅率は、予め実験等によって導出され、導出された増幅率に関する情報は、記憶部20にパラメータ情報22として記憶される。
【0045】
カウンタ部13aは、移動判定部12より停止状態信号が入力された場合、パラメータ情報22から停止状態に該当する増幅率を呼び出し、かかる増幅率を設定する。
【0046】
同様に、カウンタ部13aは、移動判定部12より移動状態信号が入力された場合、パラメータ情報22から移動状態に該当する増幅率を呼び出し、移動状態に対応する増幅率にカウンタ値を設定する。
【0047】
なお、ここで、停止状態におけるカウンタ値の増幅率は、移動状態におけるカウンタ値の増幅率よりも高い値になるように設定される。これは、停止状態の場合は、移動状態の場合に比べて接触温度の上昇が早いためである。
【0048】
具体的には、上述したように、接触位置の定在波Wの節に相当する箇所では、操作面Pの振動は熱に変換されないため、接触温度は上昇しないが、腹に相当する箇所では、操作面Pの振動が熱に変換されるので接触温度が上昇する。また、定在波Wの腹と節との間隔は、ユーザの指の幅よりも狭い。
【0049】
したがって、ユーザが指で操作面Pに触れた場合、ユーザの指は腹と節との両方に触れることになる。ここで、接触が停止状態の場合、ユーザの指と接触する腹に相当する箇所では、接触温度が局所的に上昇することになる。
【0050】
一方、接触が移動状態の場合、ユーザの指は、接触温度が上昇する腹と上昇しない節とを交互に移動することになる。したがって、接触温度の上昇は、腹と節とで平均化されるので、接触が移動状態の場合は、停止状態の場合に比べて接触温度がゆっくり上昇することになる。したがって、停止状態におけるカウンタ値の増幅率は、移動状態におけるカウンタ値の増幅率よりも高い値が設定されている。
【0051】
ここで、
図4を用いて、カウンタ部13aによる処理の例について説明する。
図4Aは、移動判定部12の判定結果が一定である場合のカウンタ部13aによる処理を示す図である。
図4Bは、移動判定部12の判定結果が変化する場合のカウンタ部13aによる処理を示す図である。
図4Cは、継続時間が停止する場合のカウンタ部13aによる処理を示す図である。
【0052】
まず、
図4Aを用いて、移動判定部12の判定結果が一定である場合のカウンタ部13aによる処理について説明する。たとえば、
図4Aに示す時刻t0から、カウンタ部13aに入力される移動判定部12の判定結果が同じであるものとする。この場合、カウンタ部13aは、時刻t0において、移動判定部12より入力される判定結果に応じてカウンタの増幅率を設定し、かかるカウンタで継続時間のカウントを開始する。
【0053】
具体的には、時刻t0において、移動判定部12より停止状態信号が入力されると、カウンタ部13aは、停止状態に応じた増幅率を設定する。この場合、たとえば、
図4Aに示す線分A1に沿ってカウンタ値が増加するものとする。すなわち、
図4Aに示す線分A1の傾きが停止状態に応じた増幅率に相当する。そして、カウンタ部13aは、停止状態が信号入力されるタイミング、すなわち、時刻t0より継続時間のカウントを開始する。
【0054】
一方、時刻t0において、移動判定部12より移動状態信号が入力されると、カウンタ部13aは、移動状態に応じた増幅率に設定する。この場合、たとえば、
図4Aに示す線分A2に沿ってカウンタ値が増加するものとする。すなわち、
図4Aに示す線分A2の傾きが移動状態に応じた増幅率に相当する。そして、カウンタ部13aは、移動状態信号が入力されるタイミング、すなわち、時刻t0より継続時間のカウントを開始する。
【0055】
ここで、停止状態のカウンタ値は、時刻taでカウンタ閾値Thに到達する一方、移動状態のカウンタ値は、時刻tbでカウンタ閾値Thに到達する。ここで、上述したようにカウンタ値は、現在の接触位置の接触温度に相当するので、カウンタ閾値Thとは、接触温度が、所定温度(たとえば40度)に応じて決まる値となる。
【0056】
カウンタ値がカウンタ閾値Th以上になると、素子制御部13は後述の制御によって、振動素子30の振動を低減または停止させる。なお、移動状態と停止状態とに応じてカウンタ値の増幅率を異なるようにすることで、移動状態の場合にカウンタ値がカウンタ閾値Thに到達するまでの閾値時間が、停止状態の場合にカウンタ値がカウンタ閾値Thに到達するまでの閾値時間より長くすることができる。すなわち、移動判定部12の判定結果に応じて閾値時間が異なる。これにより、継続時間が移動判定部12の判定結果に応じた閾値時間以上になった場合に、振動素子30の振動を低減または停止させることができるので、入力装置1は、操作面Pの温度を適切に制御することができる。
【0057】
ここで、たとえば、カウンタ部13aは、移動判定部12より停止状態信号および移動状態信号が交互に入力された場合、かかる信号の変化に応じて上述したカウンタ値の増幅率を設定することもできる。
【0058】
次に、
図4Bを用いて移動判定部12の判定結果が変更される場合のカウンタ部13aの処理について説明する。004
図4Bの時刻t0〜tcおよび時刻td〜teおいて、カウンタ部13aには、移動判定部12より停止状態信号が入力され、時刻tc〜tdにおいて移動状態信号が入力されるとする。
【0059】
ここで、カウンタ部13aは、時刻t0において、停止状態信号が入力されると停止状態に応じたカウンタ値の増幅率を設定し、時刻t0から、線分A1に沿ってカウンタ値を増加させる。そして、時刻tcにおいて、カウンタ部13aは、移動判定部12より移動状態信号が入力されると、停止状態に応じたカウンタ値の増幅率から、移動状態に応じたカウンタ値の増幅率に設定する。
【0060】
ここで、カウンタ部13aは、時刻tcにおいて停止状態においてカウントを終了した時のカウンタ値Baから線分A2に沿ってカウンタ値を増加させる。そして、時刻tdにおいて、カウンタ部13aは、移動判定部12より再度停止状態信号が入力されると、移動状態に応じたカウンタの増幅率から、停止状態に応じたカウンタの増幅率に設定する。
【0061】
時刻td以降、カウンタ部13aは、移動状態においてカウントを終了した時のカウンタ値Bbから線分A1に沿ってカウンタ値を増加させる。そして、時刻teにおいて、カウンタ部13aのカウンタ値がカウンタ閾値Th以上になるので、素子制御部13は、後述の制御によって振動素子30の振動を低減または停止させることになる。
【0062】
この場合、素子制御部13は、接触が停止状態である場合と、移動状態である場合とで異なる重み付けで閾値時間を決定することになる。これにより、操作面Pの接触温度は所定の温度を超えて上昇しないので、入力装置1は、接触温度を適切に制御することができる。
【0063】
また、一時的にユーザが指を操作面Pから離したり、振動素子30の振動がOFFされたりすることで、接触位置の接触温度が一時的に低下する場合がある。ここで、カウンタ部13aは、カウンタ値を増加させず、たとえば、単位時間当たりの接触温度の低下率に応じた増幅率によってカウンタ値を減少させる。なお、かかる接触温度の低下率に応じた増幅率は、パラメータ情報22に予め記憶されるものとする。ここで
図4Cを用いて、継続時間が停止される場合のカウンタ部13aによる処理について説明する。
【0064】
たとえば、
図4Cに示す時刻t0〜tfにおいて、カウンタ部13aは、移動判定部12より停止状態信号が入力されると、停止状態に応じたカウンタ値の増幅率を設定し、時刻t0から、線分A1に沿ってカウンタ値を増加させる。つづいて、時刻tf〜tgの期間には、カウンタ部13aには、移動判定部12より停止状態信号および移動状態信号のいずれの信号も入力されない。
【0065】
この場合、ユーザの指が操作面Pから離れた、もしくは、振動素子30の振動がOFFになったことを意味する。したがって、時刻tfにおいて、カウンタ部13aは、パラメータ情報22より、接触温度の低下率に応じた増幅率を呼び出し、カウンタ値をかかる増幅率に設定する。そして、時刻tf以降は、カウンタ部13aは、カウンタ値Bdより線分A3に沿ってカウントを減少させることになる。
【0066】
ここで、たとえば、時刻tgにおいて、カウンタ部13aに、移動判定部12より停止状態信号が再度入力されると、停止状態に応じたカウンタ値の増幅率を設定し、時刻tg以降は、カウンタ値Bcよりカウンタ値を線分A1に沿って増加させる。
【0067】
そして、時刻tiで、カウンタ値は、カウンタ閾値Thに到達するので、素子制御部13は、後述の制御によって振動素子30の振動を低減または停止させることになる。
【0068】
また、たとえば、時刻tg以降、カウンタ部13aに、移動判定部12より停止状態信号および移動状態信号のいずれの信号も入力されなかった場合、
図4Cの時刻tg以降に破線で示すように、時刻thでカウンタ値が初期値(ここでは、初期値が「0」であるものとする)になるまで減少する。したがって、たとえば、時刻tg以降は、カウンタ部13aに、移動判定部12より停止状態信号および移動状態信号のいずれかの信号が入力された場合に、カウンタ値「0」からカウントを開始することになる。
【0069】
このように、カウンタ部13aは、ユーザの指が操作面Pから離れた場合もしくは、振動素子30の振動がOFFになった場合に、接触温度の減少に応じてカウンタ値を低減させてカウントするようにする。
【0070】
そして、カウンタ部13aは、減少させたカウンタ値が初期値に戻った場合、カウンタ値をリセットする。一方、カウンタ部13aは、減少させたカウンタ値が初期値に戻る前に、再度停止状態信号もしくは移動状態信号のいずれかが入力された場合、すなわち、操作面Pが振動している状態で検出部11が接触を検出した場合に、減少させたカウンタ値からカウントを再開させる。
【0071】
したがって、カウンタ部13aは、前回のカウンタ値に基づいて閾値時間を変更することになる。これにより、閾値時間を適切に変更することができるので、入力装置1は、操作面Pを適切な温度に制御することができる。
【0072】
なお、
図4A〜
図4Cでは、説明の便宜上、カウンタ値の増幅率を線分A1〜A3として、説明したが、カウンタ値の増幅率は、線分A1〜A3に限られない。すなわち、カウンタ値の増幅率は、継続時間に応じて増幅率が異なる関数や、曲線または、それらの組み合わせなどであってもよい。かかる増幅率は、たとえば、実験等によって最適化することができる。
【0073】
また、カウンタ部13aは、操作面Pに対する接触の位置に応じてカウンタの増幅率を変更することにしてもよい。具体的には、たとえば操作面Pの振動素子30に近い位置では、遠い位置に比べて、カウンタの増幅率を高く設定する。これは、振動素子30の振動による発熱のため、振動素子30に近い位置では操作面Pの温度が高くなるおそれがあるためである。
【0074】
<2.3.3.2.時間判定部13b>
図2の時間判定部13bは、カウンタ部13aから入力されるカウンタ値がカウンタ閾値Th以上か否かを判定し、振動制御部13Cに対してカウンタ値がカウンタ閾値Th以上になった旨を伝える信号(以下、「超過信号」と記載する)を出力する。
【0075】
上述したように、カウンタ閾値Thは、時間閾値に相当するので、時間判定部13bは、カウンタ値がカウンタ閾値Th以上か否かを判定することで、継続時間が閾値時間以上か否かを判定することになる。
【0076】
<2.3.3.3.振動制御部13c>
振動制御部13cは、図示しない上位層から入力される振動素子30のON/OFFや、振動強度、振動周波数などの指示信号に基づいて振動素子30の振動を制御する。そして、振動制御部13cは、時間判定部13bから超過信号が入力された場合に上位層から入力される指示信号によらず、振動素子30の振動を低減または停止させる。
【0077】
振動素子30の振動が低減または停止すると、接触温度も下降するので、操作面Pの温度は、接触温度Dを超えて上昇しない。これにより、入力装置1は、操作面Pの温度を適切に制御することができる。
【0078】
ここで、振動制御部13cは、振動素子30の振動を低減または停止させると、かかる制御結果を上位層に出力するものとする。上位層は、かかる制御結果が入力されると、図示しないスピーカおよび表示部のうち少なくとも一方から、操作面Pの接触温度の上昇に伴って振動素子30の振動を低減または停止させた旨をユーザに通知する。このように、振動素子30が停止した旨をユーザに通知することで、ユーザに、振動素子30および操作面Pの振動が停止した原因を容易に理解させることができる。
【0079】
<2.4.記憶部20>
記憶部20は、移動判定部12、素子制御部13が行う処理に必要な情報として、たとえば前述した座標情報21、パラメータ情報22および閾値時間情報23を記憶するとともに、各種処理結果を記憶する。記憶部20は、たとえばRAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置である。
【0080】
<3.制御処理>
つづいて、本実施形態に係る入力装置1によって実行される処理手順について
図5を用いて説明する。
図5は、本実施形態に係る入力装置1が実行する処理手順を示すフローチャートであり、操作面Pが接触操作を受け付けている間、入力装置1の制御部10によって繰り返し実行される処理である。
【0081】
図5に示すように、入力装置1の検出部11が操作面Pにおける接触を検出すると(ステップS101)、検出部11は、操作面Pが振動しているか否かを判定する(ステップS102)。
【0082】
この判定において、操作面Pが振動していない場合(ステップS102,No)、操作面Pにおける接触位置の接触温度は、上昇しないので、処理を終了する。一方、ステップS102の判定において、操作面Pが振動していると判定された場合(ステップS102,Yes)、移動判定部12は、検出部11より入力される接触位置情報に基づいて、接触が停止状態か移動状態かを判定する(ステップS103)。
【0083】
つづいて、カウント部13aは、移動判定部12の判定結果に応じてカウンタの増幅率を決定し、カウントを開始する(ステップS104)。そして、時間判定部13bは、カウント部13aよりカウンタ値を所定周期で取得し、かかるカウンタ値がカウンタ閾値Th以上であるかを判定する(ステップS105)。
【0084】
この判定において、カウンタ値がカウンタ閾値Th以上であった場合(ステップS105,Yes)、時間判定部13bは、継続時間が閾値時間以上であるとして振動制御部13cに超過信号を出力する。振動制御部13cは、時間判定部13bから超過信号が入力されると、振動素子30の振動を低減または停止させ(ステップS106)、処理を終了する。
【0085】
一方、ステップS105の判定において、カウンタ値がカウンタ閾値Th未満であった場合、制御部10は、継続時間が閾値時間未満であるとして接触が継続中か否かを判定する(ステップS107)。この判定において、接触が継続していない場合(ステップS107,No)、操作面Pの接触位置の接触温度は正常であるので、処理を終了する。
【0086】
一方、ステップS107の判定において、接触が継続中であった場合(ステップS107,Yes)、カウンタ部13aによるカウントを継続し(ステップS108)、ステップS105以降の処理を繰り返すことになる。
【0087】
<4.ハードウェア構成>
本実施形態に係る入力装置1は、
図6に一例として示す構成のコンピュータ600で実現することができる。
図6は、入力装置1の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【0088】
コンピュータ600は、CPU(Central Processing Unit)610と、ROM(Read Only Memory)620と、RAM(Random Access Memory)630と、HDD(Hard Disk Drive)640とを備える。また、コンピュータ600は、メディアインターフェイス(I/F)650と、通信インターフェイス(I/F)660と、入出力インターフェイス(I/F)670とを備える。
【0089】
なお、コンピュータ600は、SSD(Solid State Drive)を備え、かかるSSDがHDD640の一部または全ての機能を実行するようにしてもよい。また、HDD640に代えてSSDを設けることとしてもよい。
【0090】
CPU610は、ROM620およびHDD640の少なくとも一方に格納されるプログラムに基づいて動作し、各部の制御を行う。ROM620は、コンピュータ600の起動時にCPU610によって実行されるブートプログラムや、コンピュータ600のハードウェアに依存するプログラムなどを格納する。HDD640は、CPU610によって実行されるプログラムおよびかかるプログラムによって使用されるデータ等を格納する。
【0091】
メディアI/F650は、記憶媒体680に格納されたプログラムやデータを読み取り、RAM630を介してCPU610に提供する。CPU610は、かかるプログラムを、メディアI/F650を介して記憶媒体680からRAM630上にロードし、ロードしたプログラムを実行する。あるいは、CPU610は、かかるデータを用いてプログラムを実行する。記憶媒体680は、たとえばDVD(Digital Versatile Disc)などの光磁気記録媒体やSDカード、USBメモリなどである。
【0092】
通信I/F660は、ネットワーク690を介して他の機器からデータを受信してCPU610に送り、CPU610が生成したデータを、ネットワーク690を介して他の機器へ送信する。あるいは、通信I/F660は、ネットワーク690を介して他の機器からプログラムを受信してCPU610に送り、CPU610がかかるプログラムを実行する。
【0093】
CPU610は、入出力I/F670を介して、図示しないディスプレイ等の表示部、スピーカ等の出力部、キーボードやマウス、ボタン等の入力部を制御する。CPU610は、入出力I/F670を介して、入力部からデータを取得する。また、CPU610は、生成したデータを入出力I/F670を介して表示部や出力部に出力する。
【0094】
たとえば、コンピュータ600が入力装置1として機能する場合、コンピュータ600のCPU610は、RAM630上にロードされたプログラムを実行することにより、検出部11と、移動判定部12と、素子制御部13の各機能を実現する。
【0095】
コンピュータ600のCPU610は、たとえばこれらのプログラムを記憶媒体680から読み取って実行するが、他の例として、他の装置からネットワーク690を介してこれらのプログラムを取得してもよい。また、HDD640は、記憶部20が記憶する情報を記憶することができる。
【0096】
上述してきたように本実施形態に係る入力装置1は、検出部11と、振動素子30と、素子制御部13とを備える。検出部11は、操作面Pに対する接触を検出する。振動素子30は、操作面Pを振動させる。素子制御部13は、操作面Pが振動している状態で検出部11によって検出される接触の継続時間に基づいて振動素子30の振動を低減または停止させる。
【0097】
したがって、本実施形態にかかる入力装置1によれば、操作面Pの温度を適切に制御することができる。
【0098】
<5.変形例>
なお、上述してきた実施形態では、カウンタ部13aが、移動判定部12の判定結果に応じてカウンタ値の増幅率を設定する場合について例示したが、これに限られない。すなわち、カウンタ部13aは、図示しない上位層から入力される振動素子30の振動強度および周辺温度の情報に応じてカウンタ部13aの増幅率を設定してもよい。また、同様にカウンタ値の初期値を設定することもできる。
【0099】
具体的には、たとえば振動素子30の振動強度が大きい場合、振動強度が小さい場合に比べ、カウンタ部13aの増幅率を高く設定する。これは、振動強度が大きいほど、操作面Pの振動のエネルギーが増大するので、かかる増大したエネルギーによって、ユーザの指と操作面Pとの間で変換される熱も大きくなるためである。
【0100】
このように、カウンタ部13aは、振動素子30の振動強度に応じて増幅率を設定するので、かかる増幅率に応じてカウンタ閾値Thに到達するまでの時間、すなわち、閾値時間を調整することができる。これにより、入力装置1は、振動素子30の振動強度に応じて操作面Pを適切な温度に制御することができる。
【0101】
また、カウンタ部13aは、周辺温度に応じてカウンタ値の初期値を変更することで、カウンタ閾値Thに到達するまでの時間、すなわち、閾値時間を変更することもできる。具体的には、たとえば、周囲温度が高い場合は、周囲温度が低い場合に比べてカウンタ値を高い値の初期値に変更する。
【0102】
カウンタ値の初期値が高くなると、初期値およびカウンタ閾値Th間の差分は小さくなる。したがって、カウンタ値が初期値からカウンタ閾値Thに到達するまでの時間も短くなることになる。一方、周囲温度が低い場合は、周囲温度が高い場合に比べてカウンタ値を低い値の初期値に変更する。カウンタ値の初期値が低くなると、初期値およびカウンタ閾値Th間の差分は大きくなる。したがって、カウンタ値が初期値からカウンタ閾値Thに到達するまでの時間は長くなることになる。
【0103】
このように、カウンタ部13aは、周辺温度に応じてカウンタ値の初期値を変更することで、周辺温度に応じて閾値時間を調整することができる。これにより、入力装置1は、周辺温度に応じて操作面Pを適切な温度に制御することができる。なお、カウンタ部13aは、周辺温度に応じてカウンタ閾値Thを変更することにしてもよい。
【0104】
また、たとえば、カウンタ部13aは、図示しない上位層あるいは振動制御部13cより、振動素子30の振動周波数の情報を取得し、かかる振動周波数に応じてカウンタ値の増幅率を設定することにしてもよい。
【0105】
さらに、カウンタ部13aは、振動素子30の振動強度、振動周波数、および周辺温度の少なくとも一つに応じてカウンタ値の増幅率を設定することにしてもよい。この場合、閾値時間は、振動素子30の振動強度、振動周波数および周辺温度の少なくとも一つに応じて変更されることになる。これにより、入力装置1は、振動素子30の振動強度、振動周波数および周辺温度に応じて、操作面Pを適切な温度に制御することができる。
【0106】
また、カウンタ部13aは、操作面Pにおける接触面積に応じてカウンタ値の増幅率を調整することにしてもよい。なお、この場合、検出部11は、接触の面積を検出できるものとする。たとえば、ユーザがタッチペンを用いて振動する操作面Pに触れる場合、タッチペンと操作面Pとの間では操作面Pの振動は熱に変換されにくい。そのため、操作面Pの温度は上昇しない。これは、タッチペンの接触の面積が、ユーザの指の接触の面積に比べて小さく、またタッチペンはユーザの指に比べて振動が熱に変化しにくいためである。
【0107】
ここで、検出部11は、接触の面積を検出することができるものとする。そして、素子制御部13は、検出部11より接触の面積の情報を取得し、かかる接触の面積と予め記憶部20に記憶された所定値とを比較する。比較の結果、接触の面積が所定値以下であった場合に、カウンタ部13aは、たとえば、かかるカウンタ値の増幅率を「0」もしくは、限りなく小さい値に設定することにしてもよい。あるいは、カウンタ閾値Thを大きな値としてもよい。また、カウンタ部13aでのカウントを行わないようにしてもよい。これにより、カウンタ値がカウンタ閾値Thに到達するまでの閾値時間を設けない、もしくは、限りなく長い閾値時間を設定することができる。
【0108】
これにより、ユーザが指以外で操作面Pを操作する場合の閾値時間を長く設定することができ、ユーザは振動する操作面Pに対して長く接触操作を行うことができる。なお、カウンタ部13aは、接触の面積の大きさに応じて増幅率を設定することにしてもよい。この場合、カウンタ部13aは、たとえば、所定値以上であった場合、接触の面積が大きいほど、増幅率を高く設定する。これは、接触の面積が大きくなるほど、操作面Pの振動が熱に変換される面積が大きくなるので、かかる面積に応じて変換される熱の総量も大きくなるためである。したがって、カウンタ部13aは、接触面積に応じて増幅率を調整することで、操作面Pの温度を適切に制御することができる。
【0109】
上述してきた実施形態では、移動判定部12の判定結果に応じてカウンタ部13aが増幅率を調整してカウントすることで、閾値時間を設定する場合について、例示したが、これに限られない。すなわち、カウンタ部13aは、継続時間に対して重み付けせずに、時間判定部13bが、移動判定部12の判定結果に応じて閾値時間に対して重み付けをして、閾値時間を変更させるようにしてもよいし、また、これらの組み合わせで閾値時間を変更することにしてもよい。
【0110】
また、上述してきた入力装置1に、上位層を含める構成にしてもよいし、上位層を含まない構成にしてもよい。入力装置1が上位層を含む構成の場合、たとえば、スマートフォンやタブレットなで構成される。また、入力装置1が上位層を含まない構成の場合、タッチパッドなどで構成されることになる。
【0111】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な様態は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲および、その均等物によって定義される統括的な発明の概念の精神または範囲から逸脱することなく、様々な変化が可能である。