(57)【要約】  良好な触感を提供できる駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法を提供する。  駆動制御装置は、表示部と、表示部の表示面側に配設され、操作面を有するトップパネルと、操作面に行われる操作入力の座標を検出する座標検出部と、操作面に振動を発生させる振動素子とを含む電子機器の振動素子を駆動する駆動制御装置であって、操作面に超音波帯の固有振動を発生させる駆動信号の振幅の時間変化を表す基本波形であって、時系列的に配列される所定の数の振幅値で構築される基本波形を表す基本波形データを格納するデータ格納部と、基本波形データの周波数又は振幅を変化させた第１波形を表す第１波形データを生成する波形生成部と、基本波形と、第１波形とを合成した合成波形を表す第１合成波形データを生成する波形合成部と、第１合成波形データに基づいて駆動信号の振幅を変化させることにより、振動素子を駆動する駆動制御部とを含む。
2016120956.tif 000002
【特許請求の範囲】
【請求項１】
表示部と、前記表示部の表示面側に配設され、操作面を有するトップパネルと、前記操作面に行われる操作入力の座標を検出する座標検出部と、前記操作面に振動を発生させる振動素子とを含む電子機器の前記振動素子を駆動する駆動制御装置であって、
前記操作面に超音波帯の固有振動を発生させる駆動信号の振幅の時間変化を表す基本波形であって、時系列的に配列される所定の数の振幅値で構築される基本波形を表す基本波形データを格納するデータ格納部と、
前記基本波形の周波数又は振幅を変化させた第１波形を表す第１波形データを生成する波形生成部と、
前記基本波形と、前記第１波形とを合成した第１合成波形、又は、複数の前記第１波形を合成した第１合成波形を表す第１合成波形データを生成する波形合成部と、
前記第１合成波形データに基づいて前記駆動信号の振幅を変化させることにより、前記振動素子を駆動する駆動制御部と
を含む、駆動制御装置。
【請求項２】
前記波形生成部は、前記基本波形データのデータ点数を前記基本周波数に対する前記第１波形の第１周波数の比に応じて減らすことによって、前記基本波形の基本周波数よりも高くされる第１周波数を有する前記第１波形を表す前記第１波形データを生成する、請求項１記載の駆動制御装置。
【請求項３】
前記駆動制御部は、前記第１合成波形データのデータ点数を、前記操作面への操作入力の位置の時間的変化度合に応じて減らすことによって、前記第１合成波形の第２周波数よりも高くされる第３周波数を有する第２合成波形を表す第２合成波形データを生成し、前記第２合成波形データを用いて前記駆動信号の振幅を変化させることにより、前記振動素子を駆動する、請求項１又は２記載の駆動制御装置。
【請求項４】
前記駆動制御部は、前記操作入力の位置の時間的変化度合の基本値に対する、前記操作入力の位置の時間的変化度合の比ｎを用いて、前記第１合成波形データのデータ点数を１／ｍｎ（ｍは２以上の自然数又は１より大きい小数、ｎは０以上の自然数）にすることにより、前記第２合成波形データを生成する、請求項３記載の駆動制御装置。
【請求項５】
前記波形生成部は、前記基本波形データのデータ点数を、前記操作面への操作入力の位置の時間的変化度合に応じて減らすことによって、前記基本波形の基本周波数よりも高くされる第１周波数を有する前記第１波形を表す前記第１波形データを生成する、請求項１又は２記載の駆動制御装置。
【請求項６】
前記波形生成部は、前記操作入力の位置の時間的変化度合の基本値に対する、前記操作入力の位置の時間的変化度合の比ｎを用いて、前記基本波形データのデータ点数を１／ｍｎ（ｍは２以上の自然数又は１より大きい小数、ｎは０以上の自然数）にすることにより、前記第１波形データを生成する、請求項５記載の駆動制御装置。
【請求項７】
前記駆動制御部は、さらに、前記操作入力の接触荷重に応じて、前記駆動信号の振幅を変化させる、請求項１乃至６のいずれか一項記載の駆動制御装置。
【請求項８】
前記データ格納部は、前記基本波形データのデータ点数の１／Ｘ（Ｘは任意の小数）のデータ点数と、前記基本波形の周波数のＸ倍の周波数とを有するサブ基本波形を表すサブ基本波形データをさらに格納しており、
前記波形生成部は、さらに、前記サブ基本波形の周波数又は振幅を変化させた第１サブ波形を表す第１サブ波形データを生成し、
前記波形合成部は、前記第１合成波形データが表す前記第１合成波形を、前記基本波形、前記第１波形、前記サブ基本波形、及び前記第１サブ波形を合成することによって、又は、複数の前記第１波形と複数の第１サブ波形とを合成することによって生成する、請求項１乃至７のいずれか一項記載の駆動制御装置。
【請求項９】
前記駆動信号は、一定の周波数と一定の位相で前記操作面に超音波帯の固有振動を発生させる駆動信号である、請求項１乃至８のいずれか一項記載の駆動制御装置。
【請求項１０】
前記操作面は平面視で長辺と短辺を有する矩形状であり、前記駆動制御部が前記振動素子を振動させることにより、前記操作面の前記長辺又は前記短辺の方向に振幅が変化する定在波が生じる、請求項１乃至９のいずれか一項記載の駆動制御装置。
【請求項１１】
前記駆動制御部は、所定時間経過後の前記操作入力の位置を当該位置の時間的変化度合に応じて推定し、推定した操作入力の位置に応じて、前記固有振動の強度が変化するように前記振動素子を駆動する、請求項１乃至１０のいずれか一項記載の駆動制御装置。
【請求項１２】
前記基本波形の周波数又は振幅を変化させる変化量が前記操作面への操作入力によって入力されると、前記変化量を表すデータを生成して前記データ格納部に格納するデータ生成部をさらに含み、
前記波形生成部は、前記データ格納部に格納された前記データに基づいて前記基本波形の周波数又は振幅を変化させた第１波形を表す第１波形データを生成する、請求項１乃至１１のいずれか一項記載の駆動制御装置。
【請求項１３】
前記表示部と、
前記表示部の表示面側に配設され、操作面を有する前記トップパネルと、
前記操作面に行われる操作入力の座標を検出する前記座標検出部と、
前記操作面に振動を発生させる前記振動素子と、
請求項１乃至１２のいずれか一項記載の駆動制御装置と
を含む電子機器。
【請求項１４】
表示部と、前記表示部の表示面側に配設され、操作面を有するトップパネルと、前記操作面に行われる操作入力の座標を検出する座標検出部と、前記操作面に振動を発生させる振動素子とを含む電子機器の前記振動素子を駆動する駆動制御プログラムであって、
前記操作面に超音波帯の固有振動を発生させる駆動信号の振幅の時間変化を表す基本波形であって、時系列的に配列される所定の数の振幅値で構築される基本波形を表す基本波形データを格納するデータ格納部を有するコンピュータに、
前記基本波形の周波数又は振幅を変化させる変化量が前記操作面への操作入力によって入力されると、前記変化量を表すデータを前記データ格納部に格納することと、
前記データ格納部に格納された前記データに基づいて前記基本波形の周波数又は振幅を変化させた第１波形を表す第１波形データを生成することと、
前記基本波形と、前記第１波形とを合成した第１合成波形、又は、複数の前記第１波形を合成した第１合成波形を表す第１合成波形データを生成することと、
前記第１合成波形データに基づいて前記駆動信号の振幅を変化させる振動パターンで前記振動素子を駆動することと
を実行させる駆動制御プログラム。
【請求項１５】
前記表示部に画像を表示させた状態で、前記操作面への操作入力によって前記画像の一部に対応する領域が指定されると、前記座標検出部によって検出される前記操作入力の座標に基づき、前記領域を表すデータを作成することと、
前記領域に関連付ける前記振動パターンが前記操作面への操作入力によって指定されると、前記領域を表すデータと前記振動パターンを表すデータとを関連付けることと、
前記表示部に画像を表示させた状態で、前記領域の内部で前記操作面への操作入力が行われると、前記領域を表すデータに関連付けられた前記振動パターンで前記駆動信号の振幅を変化させることと
をさらに含む、請求項１４記載の駆動制御プログラム。
【請求項１６】
表示部と、前記表示部の表示面側に配設され、操作面を有するトップパネルと、前記操作面に行われる操作入力の座標を検出する座標検出部と、前記操作面に振動を発生させる振動素子とを含む電子機器の前記振動素子を駆動する駆動制御方法であって、
前記操作面に超音波帯の固有振動を発生させる駆動信号の振幅の時間変化を表す基本波形であって、時系列的に配列される所定の数の振幅値で構築される基本波形を表す基本波形データを格納するデータ格納部を有するコンピュータが、
前記基本波形の周波数又は振幅を変化させた第１波形を表す第１波形データを生成し、
前記基本波形と、前記第１波形とを合成した第１合成波形、又は、複数の前記第１波形を合成した第１合成波形を表す第１合成波形データを生成し、
前記第１合成波形データに基づいて前記駆動信号の振幅を変化させることにより、前記振動素子を駆動する、駆動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法に関する。
【背景技術】
【０００２】
従来より、表示手段と、使用者の操作部位の前記表示手段への接触状態を検出する接触検出手段と、前記表示手段に接触している前記操作部位に対し、所定の触感を与える触感振動を発生させる触感振動発生手段とを備える触感呈示装置がある（例えば、特許文献１参照）。
【０００３】
この触感呈示装置は、さらに、前記接触検出手段による検出結果に基づいて、前記触感振動を発生させるための波形データを生成する振動波形データ生成手段を備える。また、この触感呈示装置は、さらに、前記振動波形データ生成手段により生成された前記波形データに対し超音波を搬送波として変調処理を行い、該変調処理により生成された超音波変調信号を、前記触感振動を発生させるための信号として前記触感振動発生手段に出力する超音波変調手段とを備える。
【０００４】
また、前記超音波変調手段は、周波数変調又は位相変調のどちらか一方を行う。また、前記超音波変調手段は、更に振幅変調を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２３１６０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、従来の触感呈示装置の超音波の周波数は、可聴帯域より高い周波数（およそ２０ｋＨｚ以上）であればよく、超音波の周波数自体に特に工夫はなされていないため、良好な触感を提供できないおそれがある。
【０００７】
そこで、良好な触感を提供できる駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施の形態の駆動制御装置は、表示部と、前記表示部の表示面側に配設され、操作面を有するトップパネルと、前記操作面に行われる操作入力の座標を検出する座標検出部と、前記操作面に振動を発生させる振動素子とを含む電子機器の前記振動素子を駆動する駆動制御装置であって、前記操作面に超音波帯の固有振動を発生させる駆動信号の振幅の時間変化を表す基本波形であって、時系列的に配列される所定の数の振幅値で構築される基本波形を表す基本波形データを格納するデータ格納部と、前記基本波形の周波数又は振幅を変化させた第１波形を表す第１波形データを生成する波形生成部と、前記基本波形と、前記第１波形とを合成した第１合成波形、又は、複数の前記第１波形を合成した第１合成波形を表す第１合成波形データを生成する波形合成部と、前記第１合成波形データに基づいて前記駆動信号の振幅を変化させることにより、前記振動素子を駆動する駆動制御部とを含む。
【発明の効果】
【０００９】
良好な触感を提供できる駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１の電子機器を示す斜視図である。
【図２】実施の形態１の電子機器を示す平面図である。
【図３】図２に示す電子機器のＡ−Ａ矢視断面を示す図である。
【図４】超音波帯の固有振動によってトップパネルに生じる定在波のうち、トップパネルの短辺に平行に形成される波頭を示す図である。
【図５】電子機器のトップパネルに生じさせる超音波帯の固有振動により、操作入力を行う指先に掛かる動摩擦力が変化する様子を説明する図である。
【図６】実施の形態１の電子機器の構成を示す図である。
【図７】メモリに格納される第１データを示す図である。
【図８】メモリに格納される第２データを示す図である。
【図９】メモリに格納される第３データを示す図である。
【図１０】基本波形を示す図である。
【図１１】係数行列に含まれる第１周波数倍率及び振幅増倍係数とを表形式で示す図である。
【図１２】図１０に示す基本波形と、図１１に示す第１周波数倍率及び振幅増倍係数とによって生成される３つの第１波形を重ねて示す図である。
【図１３】図１２に示す３つの第１波形を合成して得る第１合成波形を示す図である。
【図１４】実施の形態１の電子機器の駆動制御装置の駆動制御部が実行する処理を示すフローチャートである。
【図１５】図１４の処理の詳細な処理内容を示すフローチャートである。
【図１６】図１５に示すフローチャートの変形例による処理を示すフローチャートである。
【図１７】シフト係数行列を生成する処理を説明する図である。
【図１８】実施の形態１の変形例の電子機器の断面を示す図である。
【図１９】実施の形態１の変形例の電子機器を示す図である。
【図２０】実施の形態１の変形例の電子機器のタッチパッドの断面を示す図である。
【図２１】実施の形態１の変形例の電子機器の動作状態を示す平面図である。
【図２２】実施の形態２で追加的に用いる第２基本波形を示す図である。
【図２３】実施の形態２のメモリに格納される第２データを示す図である。
【図２４】実施の形態２のメモリに格納される第３データを示す図である。
【図２５】第１周波数倍率と振幅増倍係数を設定する際に用いられるダイアログボックスがディスプレイパネルに表示された状態を示す図である。
【図２６】利用者が振幅データの設定対象として選択した画像を表す図である。
【図２７】図２６に示す画像に振幅データを設定する際のディスプレイパネルの様子を示す図である。
【図２８】トップパネルに生じる振動パターンを示す図である。
【図２９】利用者が超音波振動設定アプリケーションを利用して画像に超音波の振動を設定する際に、駆動制御装置のデータ生成部が実行する処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法を適用した実施の形態について説明する。
【００１２】
＜実施の形態１＞
図１は、実施の形態１の電子機器１００を示す斜視図である。
【００１３】
電子機器１００は、一例として、タッチパネルを入力操作部とする、スマートフォン端末機、タブレット型コンピュータ、又はゲーム機等である。電子機器１００は、タッチパネルを入力操作部とする機器であればよいため、例えば、携帯情報端末機、又は、ＡＴＭ（Automatic Teller Machine）のように特定の場所に設置されて利用される機器であってもよい。
【００１４】
電子機器１００の入力操作部１０１は、タッチパネルの下にディスプレイパネルが配設されており、ディスプレイパネルにＧＵＩ(Graphic User Interface)による様々なボタン１０２Ａ、又は、スライダー１０２Ｂ等（以下、ＧＵＩ操作部１０２と称す）が表示される。
【００１５】
電子機器１００の利用者は、通常、ＧＵＩ操作部１０２を操作するために、指先で入力操作部１０１に触れる。
【００１６】
次に、図２を用いて、電子機器１００の具体的な構成について説明する。
【００１７】
図２は、実施の形態１の電子機器１００を示す平面図であり、図３は、図２に示す電子機器１００のＡ−Ａ矢視断面を示す図である。なお、図２及び図３では、図示するように直交座標系であるＸＹＺ座標系を定義する。
【００１８】
電子機器１００は、筐体１１０、トップパネル１２０、両面テープ１３０、振動素子１４０、タッチパネル１５０、ディスプレイパネル１６０、及び基板１７０を含む。
【００１９】
筐体１１０は、例えば、樹脂製であり、図３に示すように凹部１１０Ａに基板１７０、ディスプレイパネル１６０、及びタッチパネル１５０が配設されるとともに、両面テープ１３０によってトップパネル１２０が接着されている。
【００２０】
トップパネル１２０は、平面視で長方形の薄い平板状の部材であり、透明なガラス、又は、ポリカーボネートのような強化プラスティックで作製される。トップパネル１２０の表面（Ｚ軸正方向側の面）１２０Ａは、電子機器１００の利用者が操作入力を行う操作面の一例である。
【００２１】
トップパネル１２０は、Ｚ軸負方向側の面に振動素子１４０が接着され、平面視における四辺が両面テープ１３０によって筐体１１０に接着されている。なお、両面テープ１３０は、トップパネル１２０の四辺を筐体１１０に接着できればよく、図３に示すように矩形環状である必要はない。
【００２２】
トップパネル１２０のＺ軸負方向側にはタッチパネル１５０が配設される。トップパネル１２０は、タッチパネル１５０の表面を保護するために設けられている。なお、トップパネル１２０の表面１２０Ａに、さらに別なパネル又は保護膜等が設けられていてもよい。
【００２３】
トップパネル１２０は、Ｚ軸負方向側の面に振動素子１４０が接着された状態で、振動素子１４０が駆動されることによって振動する。実施の形態１では、トップパネル１２０の固有振動周波数でトップパネル１２０を振動させて、トップパネル１２０に定在波を生じさせる。ただし、トップパネル１２０には振動素子１４０が接着されているため、実際には、振動素子１４０の重さ等を考慮した上で、固有振動周波数を決めることが好ましい。
【００２４】
振動素子１４０は、トップパネル１２０のＺ軸負方向側の面において、Ｙ軸正方向側において、Ｘ軸方向に伸延する短辺に沿って接着されている。振動素子１４０は、超音波帯の振動を発生できる素子であればよく、例えば、ピエゾ素子のような圧電素子を含むものを用いることができる。
【００２５】
振動素子１４０は、後述する駆動制御部から出力される駆動信号によって駆動される。振動素子１４０が発生する振動の振幅（強度）及び周波数は駆動信号によって設定される。また、振動素子１４０のオン／オフは駆動信号によって制御される。
【００２６】
なお、超音波帯とは、例えば、約２０ｋＨｚ以上の周波数帯をいう。実施の形態１の電子機器１００では、振動素子１４０が振動する周波数は、トップパネル１２０の振動数と等しくなるため、振動素子１４０は、トップパネル１２０の固有振動数で振動するように駆動信号によって駆動される。
【００２７】
タッチパネル１５０は、ディスプレイパネル１６０の上（Ｚ軸正方向側）で、トップパネル１２０の下（Ｚ軸負方向側）に配設されている。タッチパネル１５０は、電子機器１００の利用者がトップパネル１２０に触れる位置（以下、操作入力の位置と称す）を検出する座標検出部の一例である。
【００２８】
タッチパネル１５０の下にあるディスプレイパネル１６０には、ＧＵＩによる様々なボタン等（以下、ＧＵＩ操作部と称す）が表示される。このため、電子機器１００の利用者は、通常、ＧＵＩ操作部を操作するために、指先でトップパネル１２０に触れる。
【００２９】
タッチパネル１５０は、利用者のトップパネル１２０への操作入力の位置を検出できる座標検出部であればよく、例えば、静電容量型又は抵抗膜型の座標検出部であればよい。ここでは、タッチパネル１５０が静電容量型の座標検出部である形態について説明する。タッチパネル１５０とトップパネル１２０との間に隙間があっても、静電容量型のタッチパネル１５０は、トップパネル１２０への操作入力を検出できる。
【００３０】
また、ここでは、タッチパネル１５０の入力面側にトップパネル１２０が配設される形態について説明するが、トップパネル１２０はタッチパネル１５０と一体的であってもよい。この場合、タッチパネル１５０の表面が図２及び図３に示すトップパネル１２０の表面１２０Ａになり、操作面を構築する。また、図２及び図３に示すトップパネル１２０を省いた構成であってもよい。この場合も、タッチパネル１５０の表面が操作面を構築する。また、この場合には、操作面を有する部材を、当該部材の固有振動で振動させればよい。
【００３１】
また、タッチパネル１５０が静電容量型の場合は、トップパネル１２０の上にタッチパネル１５０が配設されていてもよい。この場合も、タッチパネル１５０の表面が操作面を構築する。また、タッチパネル１５０が静電容量型の場合は、図２及び図３に示すトップパネル１２０を省いた構成であってもよい。この場合も、タッチパネル１５０の表面が操作面を構築する。また、この場合には、操作面を有する部材を、当該部材の固有振動で振動させればよい。
【００３２】
ディスプレイパネル１６０は、例えば、液晶ディスプレイパネル又は有機ＥＬ(Electroluminescence)パネル等の画像を表示できる表示部であればよい。ディスプレイパネル１６０は、筐体１１０の凹部１１０Ａの内部で、図示を省略するホルダ等によって基板１７０の上（Ｚ軸正方向側）に設置される。
【００３３】
ディスプレイパネル１６０は、後述するドライバＩＣ(Integrated Circuit)によって駆動制御が行われ、電子機器１００の動作状況に応じて、ＧＵＩ操作部、画像、文字、記号、図形等を表示する。
【００３４】
基板１７０は、筐体１１０の凹部１１０Ａの内部に配設される。基板１７０の上には、ディスプレイパネル１６０及びタッチパネル１５０が配設される。ディスプレイパネル１６０及びタッチパネル１５０は、図示を省略するホルダ等によって基板１７０及び筐体１１０に固定されている。
【００３５】
基板１７０には、後述する駆動制御装置の他に、電子機器１００の駆動に必要な種々の回路等が実装される。
【００３６】
以上のような構成の電子機器１００は、トップパネル１２０に利用者の指が接触し、指先の移動を検出すると、基板１７０に実装される駆動制御部が振動素子１４０を駆動し、トップパネル１２０を超音波帯の周波数で振動させる。この超音波帯の周波数は、トップパネル１２０と振動素子１４０とを含む共振系の共振周波数であり、トップパネル１２０に定在波を発生させる。
【００３７】
電子機器１００は、超音波帯の定在波を発生させることにより、トップパネル１２０を通じて利用者に触感を提供する。
【００３８】
次に、図４を用いて、トップパネル１２０に発生させる定在波について説明する。
【００３９】
図４は、超音波帯の固有振動によってトップパネル１２０に生じる定在波のうち、トップパネル１２０の短辺に平行に形成される波頭を示す図であり、図４の（Ａ）は側面図、（Ｂ）は斜視図である。図４の（Ａ）、（Ｂ）では、図２及び図３と同様のＸＹＺ座標を定義する。なお、図４の（Ａ）、（Ｂ）では、理解しやすさのために、定在波の振幅を誇張して示す。また、図４の（Ａ）、（Ｂ）では振動素子１４０を省略する。
【００４０】
トップパネル１２０のヤング率Ｅ、密度ρ、ポアソン比δ、長辺寸法ｌ、厚さｔと、長辺方向に存在する定在波の周期数ｋとを用いると、トップパネル１２０の固有振動数（共振周波数）ｆは次式（１）、（２）で表される。定在波は１／２周期単位で同じ波形を有するため、周期数ｋは、０．５刻みの値を取り、０．５、１、１．５、２・・・となる。
【００４１】
【数１】
2016120956.tif 000003
【００４２】
【数２】
2016120956.tif 000004
なお、式（２）の係数αは、式（１）におけるｋ２以外の係数をまとめて表したものである。
【００４３】
図４の（Ａ）、（Ｂ）に示す定在波は、一例として、周期数ｋが１０の場合の波形である。例えば、トップパネル１２０として、長辺の長さｌが１４０ｍｍ、短辺の長さが８０ｍｍ、厚さｔが０．７ｍｍのGorilla（登録商標）ガラスを用いる場合には、周期数ｋが１０の場合に、固有振動数ｆは３３．５［ｋＨｚ］となる。この場合は、周波数が３３．５［ｋＨｚ］の駆動信号を用いればよい。
【００４４】
トップパネル１２０は、平板状の部材であるが、振動素子１４０（図２及び図３参照）を駆動して超音波帯の固有振動を発生させると、図４の（Ａ）、（Ｂ）に示すように撓むことにより、表面１２０Ａ（図２及び図３参照）に定在波が生じる。
【００４５】
なお、ここでは、１つの振動素子１４０がトップパネル１２０のＺ軸負方向側の面において、Ｙ軸正方向側において、Ｘ軸方向に伸延する短辺に沿って接着される形態について説明するが、振動素子１４０を２つ用いてもよい。２つの振動素子１４０を用いる場合は、もう１つの振動素子１４０をトップパネル１２０のＺ軸負方向側の面において、Ｙ軸負方向側において、Ｘ軸方向に伸延する短辺に沿って接着すればよい。この場合に、２つの振動素子１４０は、トップパネル１２０の２つの短辺に平行な中心線を対称軸として、軸対称になるように配設すればよい。
【００４６】
また、２つの振動素子１４０を駆動する場合は、周期数ｋが整数の場合は同一位相で駆動すればよく、周期数ｋが小数（整数部と小数部を含む数）の場合は逆位相で駆動すればよい。
【００４７】
次に、図５を用いて、電子機器１００のトップパネル１２０に生じさせる超音波帯の固有振動について説明する。
【００４８】
図５は、電子機器１００のトップパネル１２０に生じさせる超音波帯の固有振動により、操作入力を行う指先に掛かる動摩擦力が変化する様子を説明する図である。図５の（Ａ）、（Ｂ）では、利用者が指先でトップパネル１２０に触れながら、指をトップパネル１２０の奥側から手前側に矢印に沿って移動する操作入力を行っている。なお、振動のオン／オフは、振動素子１４０（図２及び図３参照）をオン／オフすることによって行われる。
【００４９】
また、図５の（Ａ）、（Ｂ）では、トップパネル１２０の奥行き方向において、振動がオフの間に指が触れる範囲をグレーで示し、振動がオンの間に指が触れる範囲を白く示す。
【００５０】
超音波帯の固有振動は、図４に示すようにトップパネル１２０の全体に生じるが、図５の（Ａ）、（Ｂ）には、利用者の指がトップパネル１２０の奥側から手前側に移動する間に振動のオン／オフを切り替える動作パターンを示す。
【００５１】
このため、図５の（Ａ）、（Ｂ）では、トップパネル１２０の奥行き方向において、振動がオフの間に指が触れる範囲をグレーで示し、振動がオンの間に指が触れる範囲を白く示す。
【００５２】
図５の（Ａ）に示す動作パターンでは、利用者の指がトップパネル１２０の奥側にあるときに振動がオフであり、指を手前側に移動させる途中で振動がオンになっている。
【００５３】
一方、図５の（Ｂ）に示す動作パターンでは、利用者の指がトップパネル１２０の奥側にあるときに振動がオンであり、指を手前側に移動させる途中で振動がオフになっている。
【００５４】
ここで、トップパネル１２０に超音波帯の固有振動を生じさせると、トップパネル１２０の表面１２０Ａと指との間にスクイーズ効果による空気層が介在し、指でトップパネル１２０の表面１２０Ａをなぞったときの動摩擦係数が低下する。
【００５５】
従って、図５の（Ａ）では、トップパネル１２０の奥側にグレーで示す範囲では、指先に掛かる動摩擦力は大きく、トップパネル１２０の手前側に白く示す範囲では、指先に掛かる動摩擦力は小さくなる。
【００５６】
このため、図５の（Ａ）に示すようにトップパネル１２０に操作入力を行う利用者は、振動がオンになると、指先に掛かる動摩擦力の低下を感知し、指先の滑り易さを知覚することになる。このとき、利用者はトップパネル１２０の表面１２０Ａがより滑らかになることにより、動摩擦力が低下するときに、トップパネル１２０の表面１２０Ａに凹部が存在するように感じる。
【００５７】
一方、図５の（Ｂ）では、トップパネル１２０の奥前側に白く示す範囲では、指先に掛かる動摩擦力は小さく、トップパネル１２０の手前側にグレーで示す範囲では、指先に掛かる動摩擦力は大きくなる。
【００５８】
このため、図５の（Ｂ）に示すようにトップパネル１２０に操作入力を行う利用者は、振動がオフになると、指先に掛かる動摩擦力の増大を感知し、指先の滑り難さ、あるいは、引っ掛かる感じを知覚することになる。そして、指先が滑りにくくなることにより、動摩擦力が高くなるときに、トップパネル１２０の表面１２０Ａに凸部が存在するように感じる。
【００５９】
以上より、図５の（Ａ）と（Ｂ）の場合は、利用者は指先で凹凸を感じ取ることができる。このように人間が凹凸の知覚することは、例えば、"触感デザインのための印刷物転写法とSticky-band Illusion"(第11回計測自動制御学会システムインテグレーション部門講演会論文集 (SI2010, 仙台)____174-177, 2010-12)に記載されている。また、"Fishbone Tactile Illusion"(日本バーチャルリアリティ学会第10 回大会論文集(2005 年9 月))にも記載されている。
【００６０】
なお、ここでは、振動のオン／オフを切り替える場合の動摩擦力の変化について説明したが、これは、振動素子１４０の振幅（強度）を変化させた場合も同様である。
【００６１】
次に、図６を用いて、実施の形態１の電子機器１００の構成について説明する。
【００６２】
図６は、実施の形態１の電子機器１００の構成を示す図である。
【００６３】
電子機器１００は、振動素子１４０、アンプ１４１、タッチパネル１５０、ドライバＩＣ(Integrated Circuit)１５１、ディスプレイパネル１６０、ドライバＩＣ１６１、制御部２００、正弦波発生器３１０、及び振幅変調器３２０を含む。
【００６４】
制御部２００は、アプリケーションプロセッサ２２０、通信プロセッサ２３０、波形生成部２４０Ａ、波形合成部２４０Ｂ、駆動制御部２４０Ｃ、データ生成部２４０Ｄ、及びメモリ２５０を有する。制御部２００は、例えば、ＩＣチップで実現される。
【００６５】
また、波形生成部２４０Ａ、波形合成部２４０Ｂ、駆動制御部２４０Ｃ、データ生成部２４０Ｄ、メモリ２５０、正弦波発生器３１０、及び振幅変調器３２０は、駆動制御装置３００を構築する。なお、ここでは、アプリケーションプロセッサ２２０、通信プロセッサ２３０、波形生成部２４０Ａ、波形合成部２４０Ｂ、駆動制御部２４０Ｃ、データ生成部２４０Ｄ、及びメモリ２５０が１つの制御部２００によって実現される形態について説明するが、波形生成部２４０Ａ、波形合成部２４０Ｂ、駆動制御部２４０Ｃ、及びデータ生成部２４０Ｄは、制御部２００の外部に別のＩＣチップ又はプロセッサとして設けられていてもよい。
【００６６】
この場合には、メモリ２５０に格納されているデータのうち、駆動制御部２４０Ｃの駆動制御に必要なデータは、メモリ２５０とは別のメモリに格納して、駆動制御装置３００の内部に設ければよい。また、波形生成部２４０Ａ、波形合成部２４０Ｂ、駆動制御部２４０Ｃ、及びデータ生成部２４０Ｄが別々のＩＣチップ又はプロセッサによって実現されてもよい。また、波形生成部２４０Ａ、波形合成部２４０Ｂ、駆動制御部２４０Ｃ、及びデータ生成部２４０Ｄのうちのいずれか２つ又は３つが同一のＩＣチップ又はプロセッサによって実現されてもよい。
【００６７】
図６では、筐体１１０、トップパネル１２０、両面テープ１３０、及び基板１７０（図２参照）は省略する。また、ここでは、アンプ１４１、ドライバＩＣ１５１、ドライバＩＣ１６１、アプリケーションプロセッサ２２０、通信プロセッサ２３０、波形生成部２４０Ａ、波形合成部２４０Ｂ、駆動制御部２４０Ｃ、データ生成部２４０Ｄ、メモリ２５０、正弦波発生器３１０、及び振幅変調器３２０について説明する。
【００６８】
アンプ１４１は、駆動制御装置３００と振動素子１４０との間に配設されており、駆動制御装置３００から出力される駆動信号を増幅して振動素子１４０を駆動する。
【００６９】
ドライバＩＣ１５１は、タッチパネル１５０に接続されており、タッチパネル１５０への操作入力があった位置を表す位置データを検出し、位置データを制御部２００に出力する。この結果、位置データは、アプリケーションプロセッサ２２０、駆動制御部２４０Ｃ、及びデータ生成部２４０Ｄに入力される。なお、位置データが駆動制御部２４０Ｃに入力されることは、位置データが駆動制御装置３００に入力されることと等価である。
【００７０】
また、ドライバＩＣ１５１は、位置データを検出する際に、操作入力によってトップパネル１２０の表面１２０Ａに触れている指先の面積（接触面積）を表す面積データを駆動制御部２４０Ｃに出力する。接触面積は、操作入力の接触荷重に応じて変化する。
【００７１】
操作入力の接触荷重とは、指先が表面１２０Ａを押圧する際に、トップパネル１２０にかかる荷重である。指先がトップパネル１２０を押圧する力が強ければ、接触荷重は大きくなり、指先の変形量が増えるため、接触面積は大きくなる。一方、指先がトップパネル１２０を押圧する力が弱ければ、接触荷重は小さくなり、指先の変形量が減るため、接触面積は小さくなる。
【００７２】
なお、タッチパネル１５０が静電容量型である場合は、ドライバＩＣ１５１が検出する静電容量によって接触面積を検出すればよい。接触面積が大きくなれば、静電容量は増大し、接触面積が小さくなれば、静電容量は低下する。また、タッチパネル１５０が抵抗膜型である場合は、ドライバＩＣ１５１が検出する抵抗値によって接触面積を検出すればよい。接触面積が大きくなれば、抵抗値は低下し、接触面積が小さくなれば、抵抗値は増大する。
【００７３】
ドライバＩＣ１６１は、ディスプレイパネル１６０に接続されており、駆動制御装置３００から出力される描画データをディスプレイパネル１６０に入力し、描画データに基づく画像をディスプレイパネル１６０に表示させる。これにより、ディスプレイパネル１６０には、描画データに基づくＧＵＩ操作部又は画像等が表示される。
【００７４】
アプリケーションプロセッサ２２０は、電子機器１００の種々のアプリケーションを実行する処理を行う。
【００７５】
通信プロセッサ２３０は、電子機器１００が３Ｇ(Generation)、４Ｇ(Generation)、LTE(Long Term Evolution)、WiFi等の通信を行うために必要な処理を実行する。
【００７６】
波形生成部２４０Ａは、２つの所定の条件が揃った場合に、メモリ２５０に格納される基本波形データが表す基本波形の周波数又は振幅を変化させた第１波形を表す第１波形データを生成する。なお、２つの所定の条件については後述する。
【００７７】
基本波形データは、基本波形を表すデータである。基本波形は、トップパネル１２０の表面１２０Ａ（操作面）に超音波帯の固有振動を発生させる駆動信号の振幅を時間的に変化させるために用いられる基本的な波形である。基本波形は、時系列的に配列される所定の数の振幅値によって構築される包絡線によって表される。基本波形データは、時系列的に配列される基本振幅値であって、基本波形の包絡線を構築する所定の数の振幅値を表す基本振幅値で構築される。
【００７８】
波形生成部２４０Ａは、基本波形データの周波数（基本周波数）よりも高い第１周波数の第１波形データを生成する場合は、基本周波数に対する第１周波数の比（第１周波数倍率）に応じて基本波形データを間引いてデータ点数を減らすことによって、第１波形データを生成する。
【００７９】
基本波形データに含まれる複数の基本振幅値同士の時間軸方向における間隔と、データ点数が間引かれて生成される第１波形データに含まれる複数の第１振幅値同士の時間軸方向における間隔とは等しくされる。
【００８０】
このため、上述のようにデータ点数を減らすことは、第１周波数倍率に応じて基本波形データの周波数を増大させた第１波形データを生成することである。
【００８１】
すなわち、基本波形データを間引いてデータ点数を減らして生成される第１波形データが表す第１波形は、第１周波数倍率に応じて、基本波形を時間軸方向に短縮した波形になる。
【００８２】
第１波形は、時系列的に配列される所定の数の振幅値によって構築される包絡線によって表される。第１波形データは、時系列的に配列され、第１波形の包絡線を構築する所定の数の第１振幅値で構築される。第１振幅値のデータ点数は、基本振幅値のデータ点数に比べて、第１周波数倍率に応じて少なくなっている。
【００８３】
また、波形生成部２４０Ａは、基本波形データの振幅を変化させる場合は、基本振幅値に所定の係数（振幅増倍係数）を乗算する。波形生成部２４０Ａは、基本波形データの振幅を変化させるとともに、基本周波数よりも高い第１周波数に周波数を変化させた第１波形データを生成する場合は、第１周波数倍率に応じて基本波形データを間引いてデータ点数を減らすとともに、振幅を振幅増倍係数倍することによって、第１波形データを生成する。
【００８４】
この場合に、第１波形は、第１周波数倍率に応じて基本波形を時間軸方向に短縮するとともに、振幅が振幅増倍係数倍にされた波形になる。
【００８５】
なお、基本波形と第１波形については、図７乃至図９を用いて後述する。
【００８６】
波形合成部２４０Ｂは、基本波形と、第１波形とを合成した第１合成波形、又は、複数の前記第１波形を合成した第１合成波形を表す第１合成波形データを生成する。波形の合成は、基本波形に含まれる振幅を表す複数の基本振幅値と、第１波形に含まれる振幅を表す複数の第１振幅値とを時間的な位置を合わせて合成することによって行われる。
【００８７】
すなわち、時間的な位置が互いに等しい基本振幅値と第１振幅値とが合成されることにより、第１合成振幅値によって構築される第１合成波形データが生成される。基本振幅値と第１振幅値との合成は、振幅値同士を加算することによって行われる。このため、第１合成振幅値は、基本振幅値と、第１振幅値との和で与えられる。
【００８８】
第１合成波形データは、上述のようにして求められるため、第１合成波形は、基本波形を表す包絡線と、第１波形を表す包絡線とを合成した包絡線によって表される。
【００８９】
また、複数の第１波形を合成する場合は、複数の第１振幅値のデータを時間的な位置を合わせて合成すればよい。
【００９０】
なお、第１周波数倍率と振幅増倍係数がともに'１'である場合に生成される第１波形は、基本波形と同一の波形を有する。このような第１波形を、基本波形の周波数又は振幅を変化させた第１波形と合成することは、２つの第１波形を合成することとして捉えることができるとともに、基本波形と第１波形とを合成することとして捉えることができる。
【００９１】
第１合成波形データは、後述する第２合成波形データ及び第３合成波形データを生成するために用いられる。第２合成波形データ及び第３合成波形データは、振動素子１４０の駆動に用いる駆動信号の強度（振幅）を変調するための振幅値の時間的な変化を表す波形データである。このため、第１合成波形データは、駆動信号の振幅を時間的に変化させるために用いられるデータである。なお、第１合成波形については、図１０を用いて後述する。
【００９２】
駆動制御部２４０Ｃは、２つの所定の条件が揃った場合に、第１合成波形データに基づいて第３合成波形データを生成し、振幅データとして第３合成波形データを振幅変調器３２０に出力する。第３合成波形データは、振動素子１４０の駆動に用いる駆動信号の強度（振幅）を変調するための振幅値の時間的な変化を表す波形データである。
【００９３】
また、駆動制御部２４０Ｃは、２つの所定の条件が揃った場合に、位置データを波形生成部２４０Ａに出力する。
【００９４】
第３合成波形データは、操作入力の位置の時間的変化度合に応じて第１合成波形データを間引いてデータ点数を減らして第２合成波形データを生成するとともに、第２合成波形データの振幅値を操作入力の接触荷重に応じて変化させることによって生成される。
【００９５】
ここで、第１合成波形データに含まれる複数の第１合成振幅値同士の時間軸方向における間隔と、データ点数が間引かれて生成される第２合成波形データに含まれる複数の第２合成振幅値同士の時間軸方向における間隔とは等しくされる。
【００９６】
このため、上述のようにデータ点数を減らすことは、時間的変化度合に応じて第１合成波形データの周波数を増大させた第２合成波形データを生成することである。
【００９７】
従って、第３合成波形データは、操作入力の位置の時間的変化度合に応じて第１合成波形データの周波数を増大させて第２合成波形データを生成するとともに、第２合成波形データの振幅値を操作入力の接触荷重に応じて変化させることによって生成される。
【００９８】
なお、上述したように、駆動制御部２４０Ｃは、２つの所定の条件が揃った場合に、位置データを波形生成部２４０Ａに出力する。
【００９９】
上述のように、波形生成部２４０Ａに位置データが入力されてから、当該位置データに基づいて駆動制御部２４０Ｃが駆動信号を算出するまでの所要時間はΔｔである。すなわち、所要時間Δｔの間に、波形生成部２４０Ａは、駆動制御部２４０Ｃから入手する位置データを用いて第１波形データを生成し、波形合成部２４０Ｂは複数の第１波形を合成して第１合成波形データを生成し、駆動制御部２４０Ｃは、第１合成波形データに基づいて、最終的な振幅データを生成する。
【０１００】
なお、ドライバＩＣ１５１から波形生成部２４０Ａに位置データが直接的に入力され、入力された位置データを用いて波形生成部２４０Ａが第１波形データを生成するようにしてもよい。
【０１０１】
データ生成部２４０Ｄは、利用者の操作入力の内容に応じて、第１データと第３データを生成する。また、第１データ及び第３データに加えて、第２データも生成するようにしてもよい。第１データ、第２データ、及び第３データは、メモリ２５０に格納される。第１データ、第２データ、及び第３データについては、図７乃至図９を用いて後述する。
【０１０２】
ここで、第３合成波形データの生成処理について説明する前に、第３合成波形データの生成処理以外に駆動制御部２４０Ｃが実行する処理について説明する。
【０１０３】
２つの所定の条件のうちの１つ目の所定の条件に用いる位置データの時間的変化度合としては、利用者の指先がトップパネル１２０の表面１２０Ａに沿って移動する速度を用いる。利用者の指先の移動速度は、ドライバＩＣ１５１から入力される位置データの時間的な変化度合に基づいて、駆動制御部２４０Ｃが算出する。
【０１０４】
また、実施の形態１の駆動制御装置３００は、利用者の指先がトップパネル１２０の表面１２０Ａに沿って移動したときに、指先に掛かる動摩擦力を変化させるためにトップパネル１２０を振動させる。動摩擦力は、指先が移動しているときに発生するため、駆動制御部２４０Ｃは、移動速度が所定の閾値速度以上になったときに、振動素子１４０を振動させる。移動速度が所定の閾値速度以上になることは、１つ目の所定の条件である。
【０１０５】
従って、駆動制御部２４０Ｃが出力する振幅データが表す振幅値は、移動速度が所定の閾値速度未満のときはゼロであり、移動速度が所定の閾値速度以上になると、移動速度に応じて所定の振幅値に設定される。
【０１０６】
なお、閾値速度は、利用者がトップパネル１２０の表面１２０Ａに触れた指先を移動させながら操作入力を行う際における指先の移動速度の最低速度として設定すればよい。このような最低速度は、実験結果に基づいて設定してもよく、タッチパネル１５０の分解能等に応じて設定してもよい。
【０１０７】
また、実施の形態１の駆動制御装置３００は、操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にある場合に、振幅データを振幅変調器３２０に出力する。操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にあることは、２つ目の所定条件である。
【０１０８】
操作入力を行う指先の位置が振動を発生させるべき所定の領域内にあるかどうかは、操作入力を行う指先の位置が、振動を発生させるべき所定の領域の内部にあるか否かに基づいて判定される。
【０１０９】
ここで、ディスプレイパネル１６０に表示するＧＵＩ操作部、画像を表示する領域、又は、ページ全体を表す領域等のディスプレイパネル１６０上における位置は、当該領域を表す領域データによって特定される。領域データは、すべてのアプリケーションにおいて、ディスプレイパネル１６０に表示されるすべてのＧＵＩ操作部、画像を表示する領域、又は、ページ全体を表す領域について存在する。
【０１１０】
このため、２つ目の所定条件として、操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にあるかどうかを判定する際には、電子機器１００が起動しているアプリケーションの種類が関係することになる。アプリケーションの種類により、ディスプレイパネル１６０の表示が異なるからである。
【０１１１】
また、アプリケーションの種類により、トップパネル１２０の表面１２０Ａに触れた指先を移動させる操作入力の種類が異なるからである。トップパネル１２０の表面１２０Ａに触れた指先を移動させる操作入力の種類としては、例えば、ＧＵＩ操作部を操作する際には、所謂フリック操作がある。フリック操作は、指先をトップパネル１２０の表面１２０Ａに沿って、はじく（スナップする）ように比較的短い距離移動させる操作である。
【０１１２】
また、ページを捲る場合には、例えば、スワイプ操作を行う。スワイプ操作は、指先をトップパネル１２０の表面１２０Ａに沿って掃くように比較的長い距離移動させる操作である。スワイプ操作は、ページを捲る場合の他に、例えば、写真を捲る場合に行われる。また、ＧＵＩ操作部によるスライダー（図１のスライダー１０２Ｂ参照）をスライドさせる場合には、スライダーをドラッグするドラッグ操作が行われる。
【０１１３】
ここで一例として挙げるフリック操作、スワイプ操作、及びドラッグ操作のように、トップパネル１２０の表面１２０Ａに触れた指先を移動させる操作入力は、アプリケーションによる表示の種類によって使い分けられる。このため、操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にあるかどうかを判定する際には、電子機器１００が起動しているアプリケーションの種類が関係することになる。
【０１１４】
駆動制御部２４０Ｃは、領域データを用いて、ドライバＩＣ１５１から入力される位置データが表す位置が、振動を発生させるべき所定の領域の内部にあるか否かを判定する。
【０１１５】
アプリケーションの種類を表すデータと、操作入力が行われるＧＵＩ操作部等を表す領域データと、振動パターンを表すパターンデータとを関連付けた第１データは、メモリ２５０に格納されている。
【０１１６】
ここで、振動パターンとは、正弦波発生器３１０から出力される超音波帯の正弦波信号の振幅が、駆動制御部２４０Ｃが出力する振幅データによって変調されることにより、トップパネル１２０に生じる超音波振動の時間変化の包絡線のパターンである。この振動パターンは、利用者が指先で実際に感じ取ることのできる振動のパターンである。振動パターンによる振動の周波数は、人間の指先で感知される周波数帯域にあるようにするために、例えば、１ｋＨｚ以下に設定することが好ましい。
【０１１７】
また、駆動制御部２４０Ｃは、ドライバＩＣ１５１から駆動制御装置３００に位置データが入力されてから、当該位置データに基づいて駆動信号が算出されるまでの所要時間の間における指先の位置の変化分を補間するために、次の処理を行う。
【０１１８】
駆動制御装置３００は、所定の制御周期毎に演算を行う。これは駆動制御部２４０Ｃも同様である。このため、ドライバＩＣ１５１から駆動制御装置３００に位置データが入力されてから、当該位置データに基づいて駆動制御部２４０Ｃが駆動信号を算出するまでの所要時間をΔｔとすると、所要時間Δｔは、制御周期に等しい。
【０１１９】
ここで、指先の移動速度は、ドライバＩＣ１５１から駆動制御装置３００に入力される位置データが表す点（ｘ１、ｙ１）を始点とし、所要時間Δｔが経過した後の指先の位置を終点（ｘ２、ｙ２）とするベクトルの速度として求めることができる。
【０１２０】
駆動制御部２４０Ｃは、ドライバＩＣ１５１から駆動制御装置３００に入力される位置データが表す点（ｘ２、ｙ２）を始点とし、所要時間Δｔが経過した後の指先の位置を終点（ｘ３、ｙ３）とするベクトルを求めることにより、所要時間Δｔ経過後の座標（ｘ３、ｙ３）を推定する。
【０１２１】
実施の形態１の電子機器１００では、上述のようにして所要時間Δｔ経過後の座標を推定することにより、所要時間Δｔの間における指先の位置の変化分を補間する。
【０１２２】
このような所要時間Δｔ経過後の座標を推定する演算は、駆動制御部２４０Ｃが行う。駆動制御部２４０Ｃは、推定座標が振動を発生させるべき所定の領域の内部にあるか否かを判定し、振動を発生させるべき所定の領域の内部にある場合に振動を発生させる。従って、２つ目の所定の条件は、推定座標が振動を発生させるべき所定の領域の内部にあることである。
【０１２３】
以上より、駆動制御部２４０Ｃが振幅データを振幅変調器３２０に出力するために必要な２つの所定の条件は、指先の移動速度が所定の閾値速度以上であることと、推定座標が振動を発生させるべき所定の領域の内部にあることである。
【０１２４】
駆動制御部２４０Ｃは、指先の移動速度が所定の閾値速度以上であり、推定座標が振動を発生させるべき所定の領域の内部にある場合に、第３合成波形データを生成して、振幅データとして振幅変調器３２０に出力する。
【０１２５】
次に、駆動制御部２４０Ｃが実行する第３合成波形データの生成処理について説明する。
【０１２６】
実施の形態１では、時間的変化度合に応じて第１合成波形データを間引いてデータ点数を減らす際に、駆動制御部２４０Ｃは、次のような処理を行う。
【０１２７】
ここで、ｖは操作入力の移動速度、ｖ０は基準速度である。基準速度ｖ０は、操作入力の移動速度ｖの基準として用いることができる既知の速度であればよく、例えば、上述した閾値速度を用いてもよい。
【０１２８】
また、Int(γ)は、γの値を整数に変換する関数を表しており、例えば、小数点以下切り捨て、又は、小数点第一位を四捨五入等を行うことによって整数値を導出する。
【０１２９】
駆動制御部２４０Ｃは、次式（３）、（４）、（５）を用いて、移動速度ｖから、速度比γ、周波数シフト量ｓｆ、第２周波数倍率ａｆを求める。
【０１３０】
【数３】
2016120956.tif 000005
式（３）は、基準速度ｖ０に対する操作入力の移動速度ｖの比を対数で求める式である。式（４）は、式（３）で求まる比を整数化して周波数シフト量ｓｆを求める式である。このため、式（４）によって求まる整数は、基準速度ｖ０に対する操作入力の移動速度ｖの比を整数で表す。式（５）は、２のｓｆ乗の値として第２周波数倍率ａｆを求める式である。
【０１３１】
駆動制御部２４０Ｃは、第１合成波形データに含まれる第１合成振幅値のデータ点数を１／ａｆにした第２合成波形データを生成する。すなわち、駆動制御部２４０Ｃは、第１時間軸方向において第１合成振幅値のデータを（ａｆ−１）個おきに抽出することにより、データ点数を１／ａｆにした第２合成波形データを生成する。
【０１３２】
第１合成振幅値を（ａｆ−１）個おきに抽出してデータ点数を１／ａｆにすることは、第２周波数倍率ａｆの値に応じて第１合成振幅値を間引いてデータ点数を減らすことであり、第１合成振幅値の周波数に第２周波数倍率ａｆを乗じた周波数の第２合成波形データを生成することである。
【０１３３】
このようにして、第１合成振幅値から第２合成振幅値が生成される。
【０１３４】
以上のようにして、駆動制御部２４０Ｃは、第１合成波形データから第２合成波形データを生成する。
【０１３５】
なお、第２合成波形データは、振幅データとして駆動制御部２４０Ｃから振幅変調器３２０に出力され、正弦波発生器３１０から出力される超音波帯の正弦波信号の振幅を変調するために用いられる。
【０１３６】
第２合成波形の振動は、人間の指先で感知される周波数帯域であるようにするために、例えば、第２合成波形の周波数帯域を１ｋＨｚ以下に設定することが好ましい。このため、基本波形の周波数は、第１周波数倍率及び第２周波数倍率ａｆを考慮して、例えば、１ｋＨｚよりも低い周波数に設定されることが好ましい。
【０１３７】
なお、式（３）、（４）、（５）では、２のｓｆ乗の値として第２周波数倍率ａｆを求めているが、２よりも大きい自然数又は１より大きい小数（整数部と小数部とを含む数）を用いてもよい。すなわち、式（５）は一般式としてａｆ＝ｍｎであってもよい。ここで、ｍは２以上の自然数又は１より大きい小数であり、ｎは０以上の自然数であり、基準速度ｖ０に対する操作入力の移動速度ｖの比を表す。ｍの値が小数である場合には、第１合成波形のデータ点数がｍｎで割り切れるような整数の値に設定すればよい。また、ｍの値が小数である場合に、第１合成波形データの最後のデータ点の第１合成振幅値がゼロにならない場合は、ゼロに設定するような処理を行うようにすればよい。
【０１３８】
また、実施の形態１では、第２合成波形データによって与えられる駆動信号の振幅値を操作入力の接触荷重に応じて変化させて第３合成波形データを生成する際に、駆動制御部２４０Ｃは次のような処理を行う。ここで、駆動制御部２４０Ｃは、ドライバＩＣ１５１から駆動制御部２４０Ｃに入力される面積データが表す接触面積に基づいて操作入力の接触荷重を求める。
【０１３９】
駆動制御部２４０Ｃは、次式（６）により、接触荷重から振幅倍率ａａを求め、第２合成波形データに含まれる第２合成振幅値を振幅倍率ａａ倍した第３合成波形データを振幅データとして振幅変調器３２０に出力する。
【０１４０】
ここで、ｗは接触荷重、ｗｍａｘは最大振幅を出力する接触荷重の値を表す。
【０１４１】
【数４】
2016120956.tif 000006
以上のようにして、駆動制御部２４０Ｃは、第２合成波形データの振幅を振幅倍率ａａ倍して第３合成波形データを生成する。
【０１４２】
メモリ２５０は、第１データ、第２データ、及び第３データを格納する。第１データ、第２データ、及び第３データについては、図７乃至図９を用いて後述する。
【０１４３】
また、メモリ２５０は、アプリケーションプロセッサ２２０がアプリケーションの実行に必要とするデータ及びプログラム、及び、通信プロセッサ２３０が通信処理に必要とするデータ及びプログラム等を格納する。メモリ２５０は、データ格納部の一例である。
【０１４４】
正弦波発生器３１０は、トップパネル１２０を固有振動数で振動させるための駆動信号を生成するのに必要な正弦波を発生させる。例えば、トップパネル１２０を３３．５［ｋＨｚ］の固有振動数ｆで振動させる場合は、正弦波の周波数は、３３．５［ｋＨｚ］となる。正弦波発生器３１０は、超音波帯の正弦波信号を振幅変調器３２０に入力する。正弦波発生器３１０が出力する正弦波は、振幅が変調される前の駆動信号であり、一定の周波数と一定の位相で前記操作面に超音波帯の固有振動を発生させる正弦波である。
【０１４５】
振幅変調器３２０は、駆動制御部２４０Ｃから入力される振幅データを用いて、正弦波発生器３１０から入力される正弦波信号の振幅を変調して駆動信号を生成する。この駆動信号は、所定の振動パターンを有する。振幅変調器３２０は、正弦波発生器３１０から入力される超音波帯の正弦波信号の振幅のみを変調し、周波数及び位相は変調せずに、所定の振動パターンの駆動信号を生成する。
【０１４６】
このため、振幅変調器３２０が出力する駆動信号は、正弦波発生器３１０から入力される超音波帯の正弦波信号の振幅のみを変調した超音波帯の正弦波信号である。振幅が変調されるパターンは、所定の振動パターンを表す。なお、振幅データがゼロの場合は、駆動信号の振幅はゼロになる。これは、振幅変調器３２０が駆動信号を出力しないことと等しい。
【０１４７】
次に、図７乃至図９を用いて、メモリ２５０に格納される、第１データ、第２データ、及び第３データについて説明する。
【０１４８】
図７は、メモリ２５０に格納される第１データを示す図である。
【０１４９】
第１データは、アプリケーションの種類を表すアプリケーションＩＤ(Identification)と、操作入力が行われるＧＵＩ操作部等が表示される領域の座標値を表す領域データと、振動パターンを表すパターンデータとを関連付けたデータである。
【０１５０】
図７では、アプリケーションＩＤとして、app_id1を示す。また、領域データとして、操作入力が行われるＧＵＩ操作部等が表示される領域の座標値を表す式f1~f4を示す。また、振動パターンを表すパターンデータとして、Ｐ１〜Ｐ４を示す。
【０１５１】
なお、第１データに含まれるアプリケーションＩＤで表されるアプリケーションは、スマートフォン端末機、タブレット型コンピュータ、又は、ゲーム機等で利用可能なあらゆるアプリケーションを含み、電子メールの編集モードも含む。
【０１５２】
図８は、メモリ２５０に格納される第２データを示す図である。
【０１５３】
第２データは、基本波形の種類を表す基本波形ＩＤ(Identification)と、波形データ列とを関連付けたデータである。波形データ列は、基本波形データである。
【０１５４】
図８には、基本波形ＩＤとしてfw_id1~fw_id3を示す。また、波形データ列として、[a1, a2, a3,・・・, a3072]、[b1, b2, b3,・・・, b3072]、[c1, c2, c3,・・・, c1024]を示す。
【０１５５】
波形データ列[a1, a2, a3,・・・, a3072]は、３０７２個の基本振幅値a1~a3072を含む。波形データ列[b1, b2, b3,・・・, b3072]と[c1, c2, c3,・・・, c1024]は、それぞれ、３０７２個の基本振幅値b1~b3072と、１０２４個の基本振幅値c1~c1024とを含む。
【０１５６】
波形データ列[a1, a2, a3,・・・, a3072]、[b1, b2, b3,・・・, b3072]、[c1, c2, c3,・・・, c1024]は、それぞれ、基本振幅値a1~a3072、b1~b3072、c1~c1024によって構築される包絡線を表す。３つの包絡線は、基本波形ＩＤがfw_id1~fw_id3の基本波形を表す。
【０１５７】
図９は、メモリ２５０に格納される第３データを示す図である。
【０１５８】
第３データは、振動パターンと、基本波形ＩＤと、係数行列とを関連付けたデータである。図９には、振動パターンを表すパターンデータとして、Ｐ１〜Ｐ４を示す。基本波形ＩＤとしてfw_id1~fw_id3を示す。また、係数行列として、図９に示すような４つの行列を示す。なお、振動パターンは図７に示す振動パターンと同一であり、基本波形ＩＤは、図８に示す基本波形ＩＤと同一である。
【０１５９】
係数行列は、図９では一例として、３行８列、又は、３行６列の行列の形式のデータである。係数行列は、基本周波数に対する第１周波数の比（第１周波数倍率）と、第１波形の周期数と、基本波形の振幅に対する第１波形の振幅の倍率（振幅増倍係数）とを表す情報を含む。
【０１６０】
基本周波数に対する第１周波数の倍率は、係数行列の行数によって表される。係数行列の最も上の行の倍率は１倍であり、上から２行目の行の倍率は２倍であり、上から４行目の行の倍率は４倍である。
【０１６１】
第１波形の周期数は、係数行列の列数によって表される。図９に示す３行８列の係数行列は、最大で８周期の第１波形を規定することができ、３行６列の係数行列は、最大で６周期の第１波形を規定することができる。
【０１６２】
基本波形の振幅に対する第１波形の振幅の倍率（振幅増倍係数）は、基本波形データの振幅を変化させて第１波形データを生成する際に、基本振幅値に乗算する係数である。振幅増倍係数は、係数行列に含まれる成分によって表される。
【０１６３】
図９において、振動パターンＰ１で基本波形ＩＤがfw_id1の係数行列は、第１周波数倍率が１倍の振幅増倍係数としてａ１１、ａ１２、０、０、０、０、０、０を含む。また、第１周波数倍率が２倍の振幅増倍係数としてａ２１、ａ２２、ａ２３、ａ２４、０、０、０、０を含む。さらに、第１周波数倍率が４倍の振幅増倍係数としてａ３１、ａ３２、ａ３３、ａ３４、ａ３５、ａ３６、ａ３７、ａ３８を含む。
【０１６４】
これは、第１周波数倍率が１倍の場合には、基本周波数の１倍の第１周波数を有する第１波形であって、１周期目〜２周期目に、それぞれ、基本波形の振幅をａ１１、ａ１２倍した第１振幅を有する第１波形を生成することを意味する。また、３周期目〜８周期目の係数はすべて０であるため、第１振幅は０に設定される。すなわち、３周期目〜８周期目には、第１波形を生成しないことを意味する。
【０１６５】
また、第１周波数倍率が２倍の場合には、基本周波数の２倍の第１周波数を有する第１波形であって、１周期目〜４周期目に、それぞれ、基本波形の振幅をａ２１、ａ２２、ａ２３、ａ２４倍した第１振幅を有する第１波形を生成することを意味する。また、５周期目〜８周期目の係数はすべて０であるため、第１振幅は０に設定される。すなわち、５周期目〜８周期目には、第１波形を生成しないことを意味する。
【０１６６】
また、第１周波数倍率が４倍の場合には、基本周波数の４倍の第１周波数を有する第１波形であって、１周期目〜８周期目に、それぞれ、基本波形の振幅をａ３１、ａ３２、ａ３３、ａ３４、ａ３５、ａ３６、ａ３７、ａ３８倍した第１振幅を有する第１波形を生成することを意味する。
【０１６７】
なお、ここでは、３行８列、又は、３行６列の係数行列について説明したが、係数行列の行数は１行以上であれば何行であってもよく、列数は１列以上であれば何列であってもよい。係数行列の行数によって表される第１周波数の倍率は、最も上の行で１倍であり、２行目以下は、行数をβとすると、２βで表される。
【０１６８】
次に、図１０乃至図１３を用いて、基本波形、第１波形、及び第１合成波形の波形と、係数行列に含まれる第１周波数倍率及び振幅増倍係数とについて説明する。
【０１６９】
図１０は、基本波形を示す図である。図１０に一例として示す基本波形は、３０７２個の基本振幅値によって構築される包絡線として与えられる。振幅は、５つのピークを有し、１５３６番目の振幅が最大になっている。このような振幅を表す基本振幅値は、図８に示す波形データ列によって設定される。
【０１７０】
図１１は、係数行列に含まれる第１周波数倍率及び振幅増倍係数とを表形式で示す図である。図１１に示す第１周波数倍率及び振幅増倍係数は、図１０に示す基本波形に適用できるように構築されている。
【０１７１】
図１１に示す表では、下側の行から上側の行に向かって第１周波数倍率が１倍、２倍、４倍と増大するように表されている。また、表の横方向にはデータ点の範囲を示す。
【０１７２】
図１１に示す表の各行は、３０７２個のデータ点に含まれる基本波形又は第１波形の周期数に等しい数の列に分けられている。このため、第１周波数倍率が１倍の行は１列、第１周波数倍率が２倍の行は２列、第１周波数倍率が４倍の行は４列に分けられている。
【０１７３】
また、図１１に示す表に記載されている数値は、振幅増倍係数を示す。例えば、第１周波数倍率が１倍の行の振幅増倍係数は'２'であるため、３０７２個の第１振幅値は、それぞれ、３０７２個の基本振幅値を２倍したものになる。
【０１７４】
第１周波数倍率が２倍の行の振幅増倍係数は、データ点が１から１５３６までは'０．８'であり、データ点が１５３７から３０７２までは'０'である。このため、データ点が１から１５３６までは基本周波数の２倍の第１周波数で、基本波形の０．８倍の振幅を有する第１波形が得られる。なお、この第１波形の第１振幅値は、３０７２個の基本振幅値を１つおきに（２つに１つを）抽出し、振幅を０．８倍にしたものである。なお、データ点が１５３７から３０７２までは'０'であるため、第１波形の第１振幅値は、０であり、第１波形は生成されない。
【０１７５】
第１周波数倍率が４倍の行の振幅増倍係数は、データ点が１から７６８までは'１'であり、データ点が７６９から１５３６までは'０．５'であり、データ点が１５３７から３０７２までは'０'である。
【０１７６】
このため、データ点が１から７６８までは基本周波数の４倍の第１周波数で、基本波形の１倍の振幅を有する第１波形が得られる。また、データ点が７６９から１５３６までは基本周波数の４倍の第１周波数で、基本波形の０．５倍の振幅を有する第１波形が得られる。
【０１７７】
なお、この第１波形の第１振幅値は、３０７２個の基本振幅値を３つおきに（４つに１つを）抽出し、振幅を１倍と０．５倍にしたものである。なお、データ点が１５３７から３０７２までは'０'であるため、第１波形の第１振幅値は、０であり、第１波形は生成されない。
【０１７８】
図１２は、図１０に示す基本波形と、図１１に示す第１周波数倍率及び振幅増倍係数とによって生成される３つの第１波形を重ねて示す図である。第１波形の生成は、波形生成部２４０Ａ（図６参照）によって行われる。図１２には、波形生成部２４０Ａによって生成される３つの第１波形を重ねて示す。
【０１７９】
実線で示す波形は、第１周波数倍率が１倍の第１波形であり、破線で示す波形は、第１周波数倍率が２倍の第１波形であり、一点鎖線で示す波形は、第１周波数倍率が４倍の第１波形である。
【０１８０】
このように、図１０に示す基本波形から、図１１に示す第１周波数倍率及び振幅増倍係数とによって生成される３つの第１波形を生成することができる。
【０１８１】
図１３は、図１２に示す３つの第１波形を合成して得る第１合成波形を示す図である。第１合成波形は、波形合成部２４０Ｂ（図６参照）によって行われる。
【０１８２】
図１１に示す第１周波数倍率及び振幅増倍係数を用いて、図１０に示す基本波形の周波数及び振幅を変化させて生成される３つの第１波形（図１２参照）を合成することにより、図１３に示すようにランダムな振幅が変化する第１合成波形を生成することができる。これは、１つの基本波形から、様々な第１合成波形を生成できることを示している。
【０１８３】
また、ここでは第２合成波形を示さないが、上述したように、駆動制御部２４０Ｃは、第１合成波形データに含まれる第１合成振幅値を、第２周波数倍率ａｆの値に応じて間引いてデータ点数を減らすことにより、第１合成振幅値の周波数に第２周波数倍率ａｆを乗じた周波数の第２合成波形データを生成する。
【０１８４】
例えば、操作入力の位置の移動速度に応じて求まる第２周波数倍率ａｆが'４'である場合は、図１３に示す第１合成波形の周波数を４倍にした第２合成波形が生成される。
【０１８５】
また、上述したように、駆動制御部２４０Ｃは、操作入力の接触荷重に応じて、第２合成波形データの振幅値を変化させて第３合成波形データを生成する。
【０１８６】
従って、例えば、操作入力の位置の移動速度に応じて求まる第２周波数倍率ａｆが'４'であり、かつ、接触荷重が操作入力の位置の変化に応じて増大する場合は、図１３に示す第１合成波形の周波数を４倍にした第２合成波形の振幅を接触荷重の増大に伴って増幅した第３合成波形データが振幅データとして生成される。
【０１８７】
次に、図１４を用いて、実施の形態１の電子機器１００の駆動制御装置３００の駆動制御部２４０Ｃが実行する処理について説明する。
【０１８８】
図１４は、実施の形態１の電子機器１００の駆動制御装置３００の駆動制御部２４０Ｃが実行する処理を示すフローチャートである。
【０１８９】
電子機器１００のＯＳ（Operating System）は、所定の制御周期毎に電子機器１００を駆動するための制御を実行する。このため、駆動制御装置３００は、所定の制御周期毎に演算を行う。これは駆動制御部２４０Ｃも同様であり、駆動制御部２４０Ｃは、図１４に示すフローを所定の制御周期毎に繰り返し実行する。
【０１９０】
ここで、ドライバＩＣ１５１から駆動制御装置３００に位置データが入力されてから、当該位置データに基づいて振幅変調器３２０が駆動信号を算出するまでの所要時間をΔｔとすると、所要時間Δｔは、制御周期に略等しい。
【０１９１】
制御周期の１周期の時間は、ドライバＩＣ１５１から駆動制御装置３００に位置データが入力されてから、当該位置データに基づいて駆動信号が算出されるまでの所要時間Δｔに相当するものとして取り扱うことができる。
【０１９２】
駆動制御部２４０Ｃは、電子機器１００の電源がオンにされることにより、処理をスタートさせる。
【０１９３】
駆動制御部２４０Ｃは、現在の位置データが表す座標と、現在のアプリケーションの種類とに応じて、現在操作入力が行われているＧＵＩ操作部について、振動パターンと関連付けられた領域データを取得する（ステップＳ１）。
【０１９４】
駆動制御部２４０Ｃは、移動速度が所定の閾値速度以上であるか否かを判定する（ステップＳ２）。移動速度は、ベクトル演算によって算出すればよい。なお、閾値速度は、所謂フリック操作、スワイプ操作、又はドラッグ操作等のように指先を移動させながら操作入力を行う際における指先の移動速度の最低速度として設定すればよい。このような最低速度は、実験結果に基づいて設定してもよく、タッチパネル１５０の分解能等に応じて設定してもよい。
【０１９５】
駆動制御部２４０Ｃは、ステップＳ２で移動速度が所定の閾値速度以上であると判定した場合は、現在の位置データが表す座標と、移動速度とに基づき、Δｔ時間後の推定座標を演算する（ステップＳ３）。
【０１９６】
駆動制御部２４０Ｃは、Δｔ時間後の推定座標が、ステップＳ１で求めた領域データが表す領域Ｓｔの中になるか否かを判定する（ステップＳ４）。
【０１９７】
駆動制御部２４０Ｃは、Δｔ時間後の推定座標が、ステップＳ１で求めた領域データが表す領域Ｓｔの中にあると判定する場合は、振幅値を算出する（ステップＳ５）。ステップＳ５において駆動制御部２４０Ｃが振幅値を求める処理は、上述したように、駆動制御部２４０Ｃが、第１合成波形データを用いて、操作入力の位置の移動速度と接触荷重に応じて、最終的に出力する振幅データの振幅値を求める処理である。このため、ステップＳ５は、波形生成部２４０Ａ、波形合成部２４０Ｂ、及び駆動制御部２４０Ｃによって行われる処理である。
【０１９８】
駆動制御部２４０Ｃは、振幅データを出力する（ステップＳ６）。これにより、振幅変調器３２０において、正弦波発生器３１０から出力される正弦波の振幅が変調されることによって駆動信号が生成され、振動素子１４０が駆動される。
【０１９９】
一方、ステップＳ２で移動速度が所定の閾値速度以上ではないと判定した場合（Ｓ２：ＮＯ）と、ステップＳ４でΔｔ時間後の推定座標が、ステップＳ１で求めた領域データが表す領域Ｓｔの中にないと判定した場合は、駆動制御部２４０Ｃは、振幅値をゼロに設定する（ステップＳ７）。
【０２００】
この結果、駆動制御部２４０Ｃは、振幅値がゼロの振幅データが出力され、振幅変調器３２０において、正弦波発生器３１０から出力される正弦波の振幅がゼロに変調された駆動信号が生成される。このため、この場合は、振動素子１４０は駆動されない。
【０２０１】
図１５は、図１４に示すステップＳ５の処理の詳細な処理内容を示すフローチャートである。図１５に示す処理は、波形生成部２４０Ａ、波形合成部２４０Ｂ、及び駆動制御部２４０Ｃによって実行される処理である。なお、図１５に示す処理は、電子機器１００（図６参照）がアプリケーションを実行しているときに行われるため、図７に示すアプリケーションＩＤは、特定されているものとして説明する。
【０２０２】
波形生成部２４０Ａは、第１データ（図７参照）の領域データを参照し、位置データが含まれる領域データに対応する振動パターンを決定する（ステップＳ５１）。
【０２０３】
次に、波形生成部２４０Ａは、第３データ（図９参照）を参照し、振動パターンに対応する基本波形ＩＤと係数行列を決定する（ステップＳ５２）。これにより、第１周波数倍率、第１波形の周期数、振幅増倍係数が決定する。
【０２０４】
次に、波形生成部２４０Ａは、第２データ（図８参照）を参照し、ステップＳ５２で取得した基本波形ＩＤに対応する波形データ列を決定する（ステップＳ５３）。これにより、基本振幅値が決定し、基本振幅値によって構築される包絡線が定まる。包絡線は、基本波形を表す。ステップＳ５３では、例えば、図１０のような基本波形が決定する。
【０２０５】
次に、波形生成部２４０Ａは、波形データ列と係数行列を用いて、第１波形データを生成する（ステップＳ５４）。例えば、図１０のような基本波形に対して、図１１に示すような第１周波数倍率と振幅増倍係数を用いると、図１２に示すような３つの第１波形を表す３つの第１波形データが生成される。
【０２０６】
次に、波形合成部２４０Ｂは、複数の第１波形データを合成し、第１合成波形データを生成する（ステップＳ５５）。例えば、図１２に示すような３つの第１波形が合成されると、図１３に示すような第１合成波形を表す第１合成波形データを生成される。なお、複数の第１波形データのうちの１つは、基本波形データと同一であってもよい。
【０２０７】
次に、駆動制御部２４０Ｃは、操作入力の移動速度ｖから、第２周波数倍率ａｆを計算する（ステップＳ５６）。第２周波数倍率ａｆは、式（３）、（４）、（５）を用いて求められる。
【０２０８】
次に、駆動制御部２４０Ｃは、第１合成波形データに含まれる第１合成振幅値のデータ点数を１／ａｆにした第２合成波形データを生成する（ステップＳ５７）。すなわち、駆動制御部２４０Ｃは、第１時間軸方向において第１合成振幅値を（ａｆ−１）個おきに抽出することにより、データ点数を１／ａｆにした第２合成波形データを生成する。
【０２０９】
例えば、第２周波数倍率ａｆが'２'であり、第１合成波形データのデータ点数が１５３６である場合は、駆動制御部２４０Ｃは、１つおきに（２つにつき１つの）第１合成振幅値を抽出して、データ点数が７６８の第２合成波形データを生成する。この場合、第２合成波形データの周波数は、第１合成波形データの周波数の２倍である。
【０２１０】
駆動制御部２４０Ｃは、接触荷重から振幅倍率ａａを計算する（ステップＳ５８）。接触荷重は、上述のように操作入力の接触面積に基づいて求められる。
【０２１１】
駆動制御部２４０Ｃは、ステップＳ５７で生成した第２合成波形データに含まれる第２合成振幅値に振幅倍率ａａを乗算して第３合成波形データを生成する（ステップＳ５９）。第３合成波形データの振幅値は、最終的に振幅データとして駆動制御部２４０Ｃから振幅変調器３２０に出力される。
【０２１２】
以上により、振幅データの振幅値が設定される。
【０２１３】
以上、実施の形態１の電子機器１００によれば、トップパネル１２０の超音波帯の固有振動を発生させて利用者の指先に掛かる動摩擦力を変化させるので、利用者に良好な触感を提供することができる。
【０２１４】
また、実施の形態１の電子機器１００は、正弦波発生器３１０で発生される超音波帯の正弦波の振幅のみを振幅変調器３２０で変調することによって駆動信号を生成している。正弦波発生器３１０で発生される超音波帯の正弦波の周波数は、トップパネル１２０の固有振動数に等しく、また、この固有振動数は振動素子１４０を加味して設定している。
【０２１５】
すなわち、正弦波発生器３１０で発生される超音波帯の正弦波の周波数又は位相を変調することなく、振幅のみを振幅変調器３２０で変調することによって駆動信号を生成している。
【０２１６】
従って、トップパネル１２０の超音波帯の固有振動をトップパネル１２０に発生させることができ、スクイーズ効果による空気層の介在を利用して、指でトップパネル１２０の表面１２０Ａをなぞったときの動摩擦係数を確実に低下させることができる。また、Sticky-band Illusion効果、又は、Fishbone Tactile Illusion効果により、トップパネル１２０の表面１２０Ａに凹凸が存在するような良好な触感を利用者に提供することができる。
【０２１７】
また、制御周期の１周期の時間に相当する所要時間Δｔが経過した後の座標を推定して得る推定座標が振動を発生させるべき所定の領域の内部にある場合に振動を発生させるので、実際に指先が所定のＧＵＩ操作部等に触れている間に振動を発生させることができる。
【０２１８】
なお、制御周期の１周期の時間に相当する所要時間Δｔ分の遅れが問題にならない場合は、推定座標の演算を行わなくてもよい。
【０２１９】
また、以上では、トップパネル１２０に凹凸が存在するような触感を利用者に提供するために、振動素子１４０のオン／オフを切り替える形態について説明した。振動素子１４０をオフにするとは、振動素子１４０を駆動する駆動信号が表す振幅値をゼロにすることである。
【０２２０】
しかしながら、このような触感を提供するために、必ずしも振動素子１４０をオンからオフにする必要はない。例えば、振動素子１４０のオフの状態の代わりに、振幅を小さくして振動素子１４０を駆動する状態を用いてもよい。例えば、振幅を１／５程度に小さくすることにより、振動素子１４０をオンからオフにする場合と同様に、トップパネル１２０に凹凸が存在するような触感を利用者に提供してもよい。
【０２２１】
この場合は、振動素子１４０の振動の強弱を切り替えるような駆動信号で振動素子１４０を駆動することになる。この結果、トップパネル１２０に発生する固有振動の強弱が切り替えられ、利用者の指先に凹凸が存在するような触感を提供することができる。
【０２２２】
振動素子１４０の振動の強弱を切り替えるために、振動を弱くする際に振動素子１４０をオフにすると、振動素子１４０のオン／オフを切り替えることになる。振動素子１４０のオン／オフを切り替えることは、振動素子１４０を断続的に駆動することである。
【０２２３】
以上、実施の形態１によれば、良好な触感を提供できる駆動制御装置３００、電子機器１００、及び駆動制御方法を提供することができる。
【０２２４】
また、以上では、基本波形データをメモリ２５０に格納しておき、基本波形データと、係数行列に含まれる第１周波数倍率及び振幅増倍係数とに基づいて第１波形を求め、複数の第１波形に基づいて第１合成波形を求める。また、第１合成波形に基づいて、第２合成波形を求め、さらに、第２合成波形に基づいて、振幅データとして用いる第３合成波形を求めることができる。
【０２２５】
このため、メモリ２５０に格納しておく波形を表すデータは、基本波形データだけでよい。基本波形データは１種類であってもよい。１種類の基本波形データのみがメモリ２５０に格納されている場合であっても、係数行列に含まれる第１周波数倍率及び振幅増倍係数を様々な値に設定することにより、様々な第１波形を表す第１波形データを生成することができ、様々な振幅データを生成することができる。
【０２２６】
従って、実施の形態１によれば、メモリ２５０に格納するデータ量を大幅に削減することができる。これは、例えば、複数種類の振幅データを出力するために、各振幅データに応じた波形データを保持する必要がある場合に比べて、データ量を大幅に削減することを意味する。
【０２２７】
また、第２周波数倍率ａｆを用いて第２合成波形データのデータ点数を第１合成波形データよりも減らせば、操作入力の速度の増加に応じて第２合成波形データの周波数を第１合成波形データよりも高くすることができるので、操作性をより向上させることができる。
【０２２８】
また、第２合成波形データに振幅倍率ａａを用いて振幅を増大した第３合成波形データを用いれば、接触荷重の増加に応じて第３合成波形データの振幅値を第２合成波形データよりも大きくすることができるので、操作性をより向上させることができる。
【０２２９】
なお、第２合成波形データに振幅倍率ａａを用いて振幅を増大した第３合成波形データを生成しない場合は、第２合成波形データを振幅データとして用いて振動素子１４０を駆動することになる。
【０２３０】
さらに、第２周波数倍率ａｆを用いて第１合成波形データよりもデータ点数を減らした第２合成波形データをも生成しない場合は、第１合成波形データを振幅データとして用いて振動素子１４０を駆動することになる。
【０２３１】
また、第１合成波形データに振幅倍率ａａを用いて振幅を増大した合成波形データを生成する場合は、振幅倍率ａａを用いて振幅を増大した合成波形データを振幅データとして用いて振動素子１４０を駆動することになる。
【０２３２】
なお、以上では、基本波形の周波数及び振幅を変化させた第１波形を表す第１波形データを生成する形態について説明したが、基本波形の周波数又は振幅のいずれか一方を変化させた第１波形を表す第１波形データを生成してもよい。
【０２３３】
また、以上では、波形合成部２４０Ｂが生成する第１合成波形データに基づいて駆動制御部２４０Ｃが第２合成波形データを生成し、さらに振幅データとして生成する第３合成波形データを用いて振動素子１４０の駆動に用いる駆動信号の強度を調整する形態について説明した。
【０２３４】
第３合成波形データは、操作入力の位置の時間的変化度合に応じて第１合成波形データのデータ点数を間引いて減らして第２合成波形データを生成するとともに、第２合成波形データの第２合成振幅値を操作入力の接触荷重に応じて変化させることによって生成される。
【０２３５】
しかしながら、駆動制御部２４０Ｃは、操作入力の位置の時間的変化度合に応じて第１合成波形データのデータ点数を減らなくてもよい。また、駆動制御部２４０Ｃは、第２合成波形データの第２合成振幅値を操作入力の接触荷重に応じて変化させなくてもよい。
【０２３６】
また、駆動制御部２４０Ｃは、操作入力の位置の時間的変化度合に応じて第１合成波形データのデータ点数を減らさずに、第１合成波形データの第１合成振幅値を操作入力の接触荷重に応じて変化させてもよい。
【０２３７】
さらに、駆動制御部２４０Ｃは、操作入力の位置の時間的変化度合に応じて第１合成波形データのデータ点数を減らさずに、かつ、第２合成波形データの第２合成振幅値を操作入力の接触荷重に応じて変化させなくてもよい。この場合は、駆動制御部２４０Ｃが振幅データとして出力する振幅データは、波形合成部２４０Ｂによって生成される第１合成波形データと等しくなる。
【０２３８】
また、以上では、第１データ、第２データ、及び第３データのうち、第２データは予めメモリ２５０に格納されており、利用者の操作入力の内容に応じて、第１データと第３データがデータ生成部２４０Ｄによって生成される形態について説明した。
【０２３９】
しかしながら、第２データも利用者の操作入力の内容に応じてデータ生成部２４０Ｄによって生成されてもよい。
【０２４０】
また、第２データに加えて第１データと第３データのうちのいずれか一方がメモリ２５０に予め格納されており、利用者が第１データと第３データのうちのいずれか他方を生成するようにしてもよい。
【０２４１】
また、以上では、駆動制御装置３００がデータ生成部２４０Ｄを含む形態について説明した。データ生成部２４０Ｄは、利用者の操作入力の内容に応じて、第１データと第３データ、又は、第１データ、第２データ、及び第３データを生成する。
【０２４２】
しかしながら、駆動制御装置３００は、データ生成部２４０Ｄを含まなくてもよい。この場合には、駆動制御装置３００は、メモリ２５０に予め格納されている第１データ、第２データ、及び第３データに基づいて生成される超音波振動を利用者の操作入力に応じて発生させる。
【０２４３】
また、以上では、波形生成部２４０Ａが第１波形データを生成し、波形合成部２４０Ｂが基本波形データと第１波形データを合成して第１合成波形データを生成し、第１合成波形データに基づいて駆動制御部２４０Ｃが第２合成波形データ及び第３合成波形データを生成する形態について説明した。しかしながら、波形生成部２４０Ａ、波形合成部２４０Ｂ、及び駆動制御部２４０Ｃの処理は、次のように変形してもよい。
【０２４４】
図１６は、図１５に示すフローチャートの変形例による処理を示すフローチャートである。図１６に示す処理は、波形生成部２４０Ａ、波形合成部２４０Ｂ、及び駆動制御部２４０Ｃによって実行される処理である。なお、図１６に示す処理は、電子機器１００（図６参照）がアプリケーションを実行しているときに行われるため、図７に示すアプリケーションＩＤは、特定されているものとして説明する。
【０２４５】
また、ステップＳ５１〜Ｓ５３の処理は、図１５に示すステップＳ５１〜Ｓ５３と同一であるため、説明を省略する。
【０２４６】
波形生成部２４０Ａは、ステップＳ５３で波形データ列を決定すると、操作入力の移動速度ｖから、周波数シフト量ｓｆを計算する（ステップＳ１５４）。周波数シフト量ｓｆは、式（４）によって求まる。
【０２４７】
次に、波形生成部２４０Ａは、係数行列の成分を周波数シフト量ｓｆだけ高周波数側の行にシフトしたシフト係数行列を生成する（ステップＳ１５５）。
【０２４８】
例えば、係数行列が図９に示す振動パターンＰ１に対応する３行８列の係数行列であり、周波数シフト量ｓｆが'２'である場合には、３行８列の係数行列の成分を２行下側（高周波数側）にシフトし、周波数倍率が１倍である最も上の行と、上から２行目との成分（２行８列の成分）がすべて'０'である、５行８列のシフト係数行列を生成する。なお、この処理については、図１７を用いて後述する。
【０２４９】
波形生成部２４０Ａは、接触荷重から振幅倍率ａａを計算する（ステップＳ１５６）。接触荷重は、上述のように操作入力の接触面積に基づいて求められる。波形生成部２４０Ａは、駆動制御部２４０Ｃから入力される面積データが表す接触面積に基づいて操作入力の接触荷重を求める。なお、ドライバＩＣ１５１から波形生成部２４０Ａに直接的に位置データと接触面積を表すデータとが入力されるようにしてもよい。
【０２５０】
次に、波形生成部２４０Ａは、ステップＳ１５５で生成したシフト係数行列のすべての成分に、ステップＳ１５６で計算した振幅倍率ａａを乗算した乗算係数行列を生成する（ステップＳ１５７）。
【０２５１】
次に、波形合成部２４０Ｂは、ステップＳ５３で決定した波形データ列と、乗算係数行列とによって求まる複数の第１波形データを合成し、第１合成波形データを生成する（ステップＳ１５８）。
【０２５２】
以上により、振幅データの振幅値が設定される。
【０２５３】
ステップＳ１５８で生成された第１合成波形データは、駆動制御部２４０Ｃによって振幅データとして振幅変調器３２０（図６参照）に出力される。
【０２５４】
図１７は、ステップＳ１５５でシフト係数行列を生成する処理を説明する図である。
【０２５５】
図１７の上側に示すように、３行８列の係数行列があるとする。また、周波数シフト量ｓｆが'２'であるとする。周波数シフト量ｓｆが'２'であることは、第２周波数倍率ａｆが４倍であることに対応する。
【０２５６】
図１７の上側に示す３行８列の係数行列では、最も上の行（第１周波数倍率は１倍）で、振幅増倍係数は、ａ１１、ａ１２、０、０、０、０、０、０に設定されている。また、上から２行目（第１周波数倍率は２倍）で、振幅増倍係数は、ａ２１、ａ２２、ａ２３、ａ２４、０、０、０、０に設定されている。また、上から３行目（第１周波数倍率は４倍）で、振幅増倍係数は、ａ３１、ａ３２、ａ３３、ａ３４、ａ３５、ａ３６、ａ３７、ａ３８に設定されている。
【０２５７】
このような場合に、波形生成部２４０Ａは、３行８列の係数行列の成分を周波数シフト量ｓｆの分だけ下側（高周波数側）にシフトし、行のシフトによってブランクになる行の成分をすべて'０'に設定する。
【０２５８】
ここでは、周波数シフト量ｓｆは'２'であるため、図１７の上側に示す３行８列の係数行列の成分を２行下側（高周波数側）にシフトし、周波数倍率が１倍である最も上の行と、上から２行目との成分（２行８列の成分）がすべて'０'に設定する。
【０２５９】
このような処理により、波形生成部２４０Ａは、図１７の下側に示す５行８列のシフト係数行列を生成する。
【０２６０】
そして、波形生成部２４０Ａは、シフト係数行列のすべての成分に振幅倍率ａａを乗算した乗算係数行列を生成し、波形合成部２４０Ｂは、波形データ列と、乗算係数行列とによって求まる複数の第１波形データを合成して、第１合成波形データを生成する。
【０２６１】
図１６に示す処理によって生成される第１合成波形データは、駆動制御部２４０Ｃによって振幅データとして振幅変調器３２０（図６参照）に出力される。
【０２６２】
以上、図１６の処理によれば、図１５に示す処理のように第１合成波形データに含まれる第１合成振幅値のデータ点数を１／ａｆにした第２合成波形データを生成する工程を含まない。
【０２６３】
このため、図１６のフローチャートに示す処理を用いて振幅データを生成すれば、図１５に示す処理よりも計算量を減らすことができる。
【０２６４】
ここで、図１８乃至図２２を用いて、実施の形態１の電子機器１００の変形例について説明する。
【０２６５】
図１８は、実施の形態１の変形例の電子機器１００Ａの断面を示す図である。図１８に示す断面は、図３に示すＡ−Ａ矢視断面に対応する断面である。図１８では図３と同様に直交座標系であるＸＹＺ座標系を定義する。
【０２６６】
電子機器１００Ａは、筐体１１０Ｂ、トップパネル１２０、パネル１２１、両面テープ１３０、振動素子１４０、タッチパネル１５０、ディスプレイパネル１６０Ａ、及び基板１７０を含む。
【０２６７】
電子機器１００Ａは、図３に示す電子機器１００のタッチパネル１５０を裏面側（Ｚ軸負方向側）に設けた構成を有する。このため、図３に示す電子機器１００と比べると、両面テープ１３０、振動素子１４０、タッチパネル１５０、及び基板１７０が裏面側に配設されている。
【０２６８】
筐体１１０Ｂには、Ｚ軸正方向側の凹部１１０Ａと、Ｚ軸負方向側の凹部１１０Ｃとが形成されている。凹部１１０Ａの内部には、ディスプレイパネル１６０Ａが配設され、トップパネル１２０で覆われている。また、凹部１１０Ｃの内部には、基板１７０とタッチパネル１５０が重ねて設けられ、パネル１２１は両面テープ１３０で筐体１１０Ｂに固定され、パネル１２１のＺ軸正方向側の面には、振動素子１４０が設けられている。
【０２６９】
図１８に示す電子機器１００Ａにおいて、パネル１２０Ａへの操作入力に応じて、振動素子１４０のオン／オフを切り替えることによってパネル１２０Ａに超音波帯の固有振動を発生させれば、図３に示す電子機器１００と同様に、利用者が指先の感覚でディスプレイパネル１６０に表示される画像に対応した触感を知覚できる電子機器１００Ａを提供することができる。
【０２７０】
なお、図１８には、裏面側にタッチパネル１５０を設けた電子機器１００Ａを示すが、図３に示す構造と図１８に示す構造とを合わせて、表面側と裏面側とにそれぞれタッチパネル１５０を設けてもよい。
【０２７１】
図１９は、実施の形態１の変形例の電子機器１００Ｂを示す図である。電子機器１００Ｂは、ノートブック型のＰＣ（Personal Computer:パーソナルコンピュータ）である。
【０２７２】
ＰＣ１００Ｂは、ディスプレイパネル１６０Ｂ１とタッチパッド１６０Ｂ２を含む。
【０２７３】
図２０は、実施の形態１の変形例の電子機器１００Ｂのタッチパッド１６０Ｂ２の断面を示す図である。図２０に示す断面は、図３に示すＡ−Ａ矢視断面に対応する断面である。図２０では図３と同様に直交座標系であるＸＹＺ座標系を定義する。
【０２７４】
タッチパッド１６０Ｂ２は、図３に示す電子機器１００から、ディスプレイパネル１６０を取り除いた構成を有する。
【０２７５】
図１９に示すようなＰＣとしての電子機器１００Ｂにおいて、タッチパッド１６０Ｂ２への操作入力に応じて、振動素子１４０のオン／オフを切り替えることによってトップパネル１２０に超音波帯の固有振動を発生させれば、図３に示す電子機器１００と同様に、タッチパッド１６０Ｂ２への操作入力の移動量に応じて、利用者の指先に触感を通じて操作感を提供することができる。
【０２７６】
また、ディスプレイパネル１６０Ｂ１の裏面に振動素子１４０を設けておけば、図３に示す電子機器１００と同様に、ディスプレイパネル１６０Ｂ１への操作入力の移動量に応じて、利用者の指先に触感を通じて操作感を提供することができる。この場合は、ディスプレイパネル１６０Ｂ１の代わりに、図３に示す電子機器１００を設ければよい。
【０２７７】
図２１は、実施の形態１の変形例の電子機器１００Ｃの動作状態を示す平面図である。
【０２７８】
電子機器１００Ｃは、筐体１１０、トップパネル１２０Ｃ、両面テープ１３０、振動素子１４０、タッチパネル１５０、ディスプレイパネル１６０、及び基板１７０を含む。
【０２７９】
図２１に示す電子機器１００Ｃは、トップパネル１２０Ｃが曲面ガラスであること以外は、図３に示す実施の形態１の教育用触感提供装置１００の構成と同様である。
【０２８０】
トップパネル１２０Ｃは、平面視における中央部がＺ軸正方向側に突出するように湾曲している。図２１には、トップパネル１２０ＣのＹＺ平面における断面形状を示すが、ＸＺ平面における断面形状も同様である。
【０２８１】
このように、曲面ガラスのトップパネル１２０Ｃを用いることにより、良好な触感を提供できる。特に、画像として表示する物体の実物の形状が湾曲している場合に有効的である。
【０２８２】
＜実施の形態２＞
実施の形態２の駆動制御装置及び電子機器は、それぞれ、実施の形態１の駆動制御装置３００及び電子機器１００と同様の構成を有する。実施の形態２の駆動制御装置及び電子機器は、メモリ２５０に格納される第２データ及び第３データの構造が実施の形態１の構造と異なる。
【０２８３】
図２２は、実施の形態２で追加的に用いる第２基本波形を示す図である。図２２に一例として示す第２基本波形は、２０４８個の基本振幅値によって構築される包絡線として与えられる。振幅は、５つのピークを有し、１０２４番目の振幅が最大になっている。このような振幅を表す基本振幅値は、図２３に示す波形データ列によって設定される。
【０２８４】
実施の形態２では、図１０に示す基本波形を第１基本波形として用いるとともに、図２２に示す第２基本波形を用いて、振幅データを生成する。第２基本波形は、サブ基本波形の一例である。
【０２８５】
図２２に示す第２基本波形は、図１０に示す基本波形の基本周波数の１．５倍の第２基本周波数を有する。第２基本周波数は、基本周波数の１．５倍に限られるものではないが、基本周波数の整数倍ではなく、小数（整数部と小数部とを含む数）倍であれば任意の数値であってよい。
【０２８６】
図２３は、実施の形態２のメモリ２５０に格納される第２データを示す図である。
【０２８７】
実施の形態２の第２データは、図８に示す基本波形ＩＤがfw_id1の波形データ列に、[α1, α2, α3,・・・, α2048]を加えたデータ形式を有する。波形データ列[α1, α2, α3,・・・, α2048]は、２０４８個の基本振幅値α1~α2048を含む。
【０２８８】
波形データ列[α1, α2, α3,・・・, α2048]は、基本振幅値α1~α2048によって構築される包絡線を表す。この包絡線は、図２２に示す基本波形ＩＤがfw_id1の第２基本波形を表す。
【０２８９】
図２４は、実施の形態２のメモリ２５０に格納される第３データを示す図である。
【０２９０】
実施の形態２の第３データは、図９に示す第３データに対して、第２基本波形に対応する係数行列を追加した構造を有する。
【０２９１】
図２４には、一例として、振動パターンＰ１で基本波形ＩＤがfw_id21の係数行列を示す。この係数行列は、図９に示す振動パターンＰ１で基本波形ＩＤがfw_id1の係数行列を第１係数行列として含み、次のような第２係数行列を追加したものである。
【０２９２】
第２係数行列は、第１周波数倍率が１倍の振幅増倍係数としてα１１、α１２、α１３、０、０、０、０、０、０、０、０、０を含む。また、第１周波数倍率が２倍の振幅増倍係数としてα２１、α２２、α２３、α２４、α２５、α２６、０、０、０、０、０、０を含む。さらに、第１周波数倍率が４倍の振幅増倍係数としてα３１、α３２、α３３、α３４、α３５、α３６、α３７、α３８、α３９、α３１０、α３１１、α３１２を含む。
【０２９３】
図２４に示す係数行列の第１係数行列は、図２３に示す第１基本波形から第１波形を生成するために用いられ、第２係数行列は、図２３に示す第２基本波形から第１波形を生成するために用いられる。第２基本波形から生成される第１波形は、第１サブ波形の一例である。
【０２９４】
第１基本波形から生成される第１波形と、第２基本波形から生成される第１波形とは、波形合成部２４０Ｂによって合成され、第１合成波形が生成される。その後は、実施の形態１と同様に、第１合成波形に基づいて、第２合成波形が生成される。
【０２９５】
実施の形態２では、上述のようにして、図１０に示す基本波形を第１基本波形として用いるとともに、図２２に示す第２基本波形を用いて、振幅データを生成する。
【０２９６】
図２２に示す第２基本波形は、図１０に示す基本波形の基本周波数の１．５倍の第２基本周波数を有する。実施の形態２では、第１基本波形の小数倍の周波数を有する第２基本波形を追加的に用いることにより、実施の形態１よりもさらに様々な振幅データを生成するができる。
【０２９７】
次に、図２５乃至図２９を用いて、利用者が振幅データを設定する方法について説明する。利用者は、電子機器１００（図１及び図６参照）にインストールされた超音波振動設定アプリケーションを起動して、以下の処理を行うことにより、好みの画像等に好みの超音波振動を設定することができる。なお、超音波振動設定アプリケーションは、データ生成部２４０Ｄ（図６参照）が実行する。
【０２９８】
図２５は、第１周波数倍率と振幅増倍係数を設定する際に用いられるダイアログボックス１６１がディスプレイパネル１６０に表示された状態を示す図である。ダイアログボックス１６１は、超音波振動設定アプリケーションが起動され、第１周波数倍率と振幅増倍係数を設定するモードが選択されるとディスプレイパネル１６０に表示される。
【０２９９】
ダイアログボックス１６１は、第１波形を設定するために用いる第１周波数倍率と振幅増倍係数を設定することができる。なお、ここでは、基本周波数Ａ及びＢを有する２個の基本波形を用いて第１周波数倍率と振幅増倍係数を設定する形態について説明する。
【０３００】
ダイアログボックス１６１の表示は、図１１に表形式で示す係数行列に含まれる第１周波数倍率及び振幅増倍係数の表示と同様である。ダイアログボックス１６１には、テキストボックス１６１Ａ、１６１Ａ２、１６１Ａ４、１６１Ａ８、１６１Ｂ、１６１Ｂ２、１６１Ｂ４、１６１Ｂ８、終了ボタン１６１Ｃ、データ初期化ボタン１６１Ｄ、及び振動パターンを選択するドロップダウンリスト１６１Ｅが表示される。
【０３０１】
テキストボックス１６１Ａ、１６１Ａ２、１６１Ａ４、１６１Ａ８、１６１Ｂ、１６１Ｂ２、１６１Ｂ４、１６１Ｂ８は、振幅増倍係数を入力する入力領域又は入力部である。ここではすべてのテキストボックスの振幅増倍係数が'０'である状態を示すが、利用者が任意の値を各テキストボックスに入力することができる。
【０３０２】
テキストボックス１６１Ａは、基本周波数Ａの第１基本波形に対して、第１周波数倍率が１倍の第１波形について、振幅増倍係数を入力する入力部である。ここでは、一例として、基本周波数Ａの第１基本波形は、データ点数が３０７２個の基本振幅値を有する基本波形であり、図２５では、２個のテキストボックス１６１Ａを用いて、第１周波数倍率が１倍の第１波形について、２周期分の振幅増倍係数を入力することができる。
【０３０３】
テキストボックス１６１Ａ２、１６１Ａ４、１６１Ａ８は、それぞれ、基本周波数Ａに対して、第１周波数倍率が２倍、４倍、８倍の周波数の第１波形の振幅増倍係数を入力する入力部である。このため、図２５には、４個のテキストボックス１６１Ａ２、８個のテキストボックス１６１Ａ４、１６個のテキストボックス１６１Ａ８を示す。
【０３０４】
テキストボックス１６１Ｂは、基本周波数Ｂの第２基本波形に対して、第１周波数倍率が１倍の第１波形について、振幅増倍係数を入力する入力部である。ここでは、一例として、基本周波数Ｂは、基本周波数Ａの１．５倍である。基本周波数Ｂの第２基本波形は、データ点数が２０４８個の基本振幅値を有する基本波形であり、図２５では、３個のテキストボックス１６１Ｂを用いて、第１周波数倍率が１倍の第１波形について、３周期分の振幅増倍係数を入力することができる。
【０３０５】
テキストボックス１６１Ｂ２、１６１Ｂ４、１６１Ｂ８は、それぞれ、基本周波数Ｂに対して、第１周波数倍率が２倍、４倍、８倍の周波数の第１波形の振幅増倍係数を入力する入力部である。このため、図２５には、６個のテキストボックス１６１Ｂ２、１２個のテキストボックス１６１Ｂ４、２４個のテキストボックス１６１Ｂ８を示す。
【０３０６】
利用者は、図２５に示すダイアログボックス１６１を用いて、振幅増倍係数及び第１周波数倍率を任意の値に設定することができる。
【０３０７】
以上のようなダイアログボックス１６１に利用者が振幅増倍係数を入力することにより、基本周波数Ａの第１基本波形と基本周波数Ｂの第２基本波形に基づく、振動パターンＰ１と振動パターンＰ２とが生成されたこととする。振動パターンＰ１とＰ２は、互いに異なる。振動パターンＰ１、Ｐ２によってトップパネル１２０に生じる振動については、図２８を用いて後述する。
【０３０８】
なお、ここでは、共通の基本波形に基づいて、２つの振動パターンＰ１及びＰ２を生成する形態について説明するが、２つの振動パターンＰ１及びＰ２は、互いに異なる基本波形から生成することも可能である。
【０３０９】
以上のような処理を利用者が行うことにより、振動パターン、基本波形ＩＤ、及び係数行列を含む第３データがデータ生成部２４０Ｄによって作成される。データ生成部２４０Ｄは、第３データをメモリ２５０に格納する。
【０３１０】
上述のように利用者が振幅増倍係数を入力した場合には、振動パターンは、振動パターンＰ１及びＰ２であり、基本波形ＩＤは、基本周波数Ａ及びＢの基本波形の基本波形ＩＤである。なお、基本周波数Ａ及びＢの基本波形の基本波形ＩＤは、基本波形データ（波形データ列）と関連付けられて第２データとして予めメモリ２５０に格納されている。
【０３１１】
また、係数行列は、テキストボックス１６１Ａ、１６１Ａ２、１６１Ａ４、１６１Ａ８、１６１Ｂ、１６１Ｂ２、１６１Ｂ４、１６１Ｂ８に設定される振幅増倍係数を含む係数行列である。
【０３１２】
図２６は、利用者が振幅データの設定対象として選択した画像を表す図である。図２７は、図２６に示す画像に振幅データを設定する際のディスプレイパネル１６０の様子を示す図である。
【０３１３】
利用者は、電子機器１００（図１及び図６参照）で起動している超音波振動設定アプリケーションで図２５に示すように振幅増倍係数又は第１周波数倍率を設定して振動パターンＰ１及びＰ２を作成した後に、図２６に示すようにディスプレイパネル１６０に画像４００を表示させることができる。画像４００には、桃の実４０１と葉４０２の画像が含まれている。
【０３１４】
ここでは、図２６を用いて、画像４００に超音波振動を設定する処理について説明する。
【０３１５】
超音波振動設定アプリケーションは、利用者が画像４００に超音波振動を設定できるようにするために、グラフィック用の設計ツールを起動する。グラフィック用の設計ツールとしては、例えば、画像４００に含まれる実４０１と葉４０２の輪郭を認識してキャンバス４００Ａに表示し、利用者が自由にペイントすることができ、さらにペイントした領域に利用者が自由に振動パターンを設定できるものであればよい。
【０３１６】
例えば、図２７では、キャンバス４００Ａの下側にパレット４０３が表示され、濃いグレーのペイントと、薄いグレーのペイントを用いて、キャンバス４００Ａの内部を自由に塗り分けられるようになっている。濃いグレーで表示されるボタン４０３Ａを押して、ペイントする領域を指定すれば、指定した領域が濃いグレーにペイントされる。また、薄いグレーで表示されるボタン４０３Ｂを押して、ペイントする領域を指定すれば、指定した領域が薄いグレーにペイントされる。
【０３１７】
濃いグレーのペイントで塗られる領域には、振動パターンＰ１が設定され、薄いグレーのペイントで塗られる領域には、振動パターンＰ２が設定されるようになっている。
【０３１８】
なお、ここでは、濃いグレーのペイントと薄いグレーのペイントを示すが、実際には、例えば、濃いグレーのペイントは赤色のペイントであり、薄いグレーのペイントは緑色のペイントであることとする。また、ここには、一例として２色のペイントを示すが、３色以上のペイントが用意されていてもよい。
【０３１９】
利用者は、図２７に示すように、キャンバス４００Ａに表示される実４０１Ａと葉４０２Ａの輪郭に沿って、実４０１Ａを濃いグレーでペイントし、葉４０２Ａを薄いグレーでペイントする。
【０３２０】
このような処理を利用者が行うことにより、超音波振動設定アプリケーションは、濃いグレーでペイントされた領域の領域データと、振動パターンＰ１とを関連付けるとともに、薄いグレーでペイントされた領域の領域データと、振動パターンＰ２とを関連付けることにより、第１データを作成する。このようにしてデータ生成部２４０Ｄによって作成される第１データは、図７に示す第１データと同様である。データ生成部２４０Ｄは、第１データをメモリ２５０に格納する。
【０３２１】
なお、図２７に示すキャンバス４００Ａは、図２６に示す画像４００とレイヤーを分けて、同時に表示してもよい。このようにすれば、利用者は、画像４００を見ながら、キャンバス４００Ａでペイントを行うことができる。
【０３２２】
また、最初に画像４００のデータを読み込んだ際に、画像処理によって自動的に領域分割を行い、各領域を暫定的に塗り分けたデフォルトの状態を生成するようにし、デフォルトの状態からペイントを開始するようにしてもよい。
【０３２３】
図２８は、トップパネル１２０に生じる振動パターンＰ１、Ｐ２を示す図である。図２８において、横軸は時間軸を表し、縦軸は駆動制御部２４０から出力される振幅データの振幅値を表す。
【０３２４】
図２８に示す振動パターンＰ１及びＰ２は、図２６に示す桃の実４０１及び葉４０２の模擬的な触感を実現するために、利用者が図２５に示すダイアログボックス１６１に好みの第１周波数倍率及び振幅増倍係数を設定した場合に得られるものとして説明する。
【０３２５】
前提条件として、図２６に示す桃の実４０１及び葉４０２の模擬的な触感を実現するための振動パターンＰ１、Ｐ２を含む第３データ（図９参照）、及び、図２７に示すように桃の実４０１と葉４０２との領域を表す領域データと振動パターンＰ１、Ｐ２とを関連付けた第１データ（図７参照）が生成されていることとする。
【０３２６】
ここで、利用者が図２６に示す点Ａから点Ｂ、Ｃ、Ｄを経て点Ｅまで、桃の画像４００に合わせてトップパネル１２０の表面１２０Ａをなぞる操作入力を行ったとする。点Ａは桃の実４０１及び葉４０２以外の点であり、点Ｂは葉４０２の端であり、点Ｃは葉４０２と実４０１の境界であり、点Ｄは実４０１の端であり、点Ｅは、桃の実４０１及び葉４０２以外の点である。
【０３２７】
このような操作入力が行われると、駆動制御装置３００は図２８に示すように振動素子１４０を駆動する。
【０３２８】
時刻ｔ１において利用者の指先が点Ａに触れると、点Ａは桃の実４０１及び葉４０２以外の点であり、振動パターンＰ１及びＰ２は設定されていないため、駆動制御装置３００は振動素子１４０を駆動しない。このため、振幅はゼロである。
【０３２９】
時刻ｔ２において利用者の指先が点Ｂに到達すると、葉４０２に対応する振動パターンＰ２による振動がトップパネル１２０に発生する。これにより利用者は指先を通じて桃の葉４０２に触れ始めたことを感知することができる。
【０３３０】
その後、点Ｃに至るまで、振動パターンＰ２による振動がトップパネル１２０に生じるため、利用者は指先を通じて桃の葉４０２の表面の滑らかさを触感で感知することができる。振動パターンＰ２による振幅Ａ１００は、桃の葉４０２の滑らかな触感を表現するために、比較的大きな値に設定されている。振幅が大きければ、スクイーズ効果によって指先にかかる動摩擦力が小さくなり、滑りやすくなるからである。
【０３３１】
時刻ｔ３において利用者の指先が点Ｃに到達すると、実４０１に対応する振動パターンＰ１による振動がトップパネル１２０に発生する。すなわち、時刻ｔ３において、振動パターンＰ２から振動パターンＰ１に切り替わる。これにより利用者は指先を通じて桃の実４０１に触れ始めたことを感知することができる。
【０３３２】
振動パターンＰ１は、実４０１の表面の少しざらざらした感じと、滑らかな感じとを合わせたような触感を表現するために、振動パターンＰ２による振幅Ａ１００よりも小さな振幅値を有するように設定されている。また、振動パターンＰ１は、実４０１の表面の少しざらざら感を出すために、振幅が変動するように設定されている。
【０３３３】
このような理由から、振動パターンＰ１は、振幅Ａ５０±３に設定されている。振幅Ａ５０±３は、変動の中心が振幅Ａ１００の半分のＡ５０で、変動幅が正方向及び負方向にＡ５０の３／５０であることを意味する。
【０３３４】
このため、時刻ｔ３において利用者の指先が点Ｃに到達すると、振幅が小さくなることから、利用者の指先にかかる動摩擦力は大きくなり、利用者は指先で、凸な部分に接触したような触感を得る。
【０３３５】
桃の実４０１よりも葉４０２の方が触り心地が滑らかであることから、利用者は、実４０１に割り当てる振動パターンＰ１の振幅Ａ５０±３を、葉４０２に割り当てられる振動パターンＰ２の振幅Ａ１００よりも小さく設定したものである。
【０３３６】
その後、点Ｄに至るまで、振動パターンＰ１による振動がトップパネル１２０に生じるため、利用者は指先を通じて桃の実４０１の表面の滑らかさとざらざら感を触感で感知することができる。
【０３３７】
時刻ｔ４において利用者の指先が点Ｄに達すると、点Ｄは、桃の実４０１と、桃の実４０１及び葉４０２以外の点との境界であるため、点Ｄを過ぎた時点で振動パターンＰ１による駆動は終了し、振幅はゼロになる。
【０３３８】
その後、時刻ｔ５で利用者の指先が点Ｅに達した時点で、利用者は指先をトップパネル１２０から離す。
【０３３９】
以上のように、利用者は、好みの画像４００に好みの振動パターンＰ１、Ｐ２による触感を設定することができる。
【０３４０】
そして、設定後に利用者が画像４００に触れると、画像４００に触れる位置に応じて、利用者が設定した好みの振動パターンＰ１、Ｐ２による振動がトップパネル１２０に発生する。
【０３４１】
すなわち、実施の形態２の駆動制御装置３００によれば、利用者の好みの振動パターンＰ１、Ｐ２を好みの画像４００に自由に設定することができる。
【０３４２】
図２９は、利用者が超音波振動設定アプリケーションを利用して画像に超音波の振動を設定する際に、駆動制御装置３００のデータ生成部２４０Ｄが実行する処理を示すフローチャートである。
【０３４３】
データ生成部２４０Ｄは、利用者の操作入力によって超音波振動設定アプリケーションが選択されると、処理をスタートさせる。
【０３４４】
まず、データ生成部２４０Ｄは、超音波振動設定アプリケーションを起動する（ステップＳ１０１）。これにより、利用者は、ディスプレイパネル１６０に好みの画像４００（図２６参照）を表示させることができるようになる。
【０３４５】
次に、データ生成部２４０Ｄは、利用者によって選択された画像４００を認識してキャンバスに表示し、キャンバス４００Ａの下側にパレット４０３を表示する（ステップＳ１０２）。
【０３４６】
次に、データ生成部２４０Ｄは、パレット４０３の内部のボタン４０３Ａ又はボタン４０３Ｂがダブルクリックされたかどうかを判定する（ステップＳ１０３）。ここで、ボタン４０３Ａ又は４０３Ｂのダブルクリックは、第１周波数倍率と振幅増倍係数を設定するダイアログボックス１６１を表示するコマンドである。
【０３４７】
データ生成部２４０Ｄは、ボタン４０３Ａ又はボタン４０３Ｂがダブルクリックされた（Ｓ１０３：ＹＥＳ）と判定すると、ディスプレイパネル１６０にダイアログボックス１６１を表示する（ステップＳ１０４）。これにより、利用者は、ダイアログボックス１６１の中のテキストボックスに、振幅増倍係数を設定することができるようになる。
【０３４８】
次に、データ生成部２４０Ｄは、各テキストボックスに入力された数値をメモリ２５０に保持する（ステップＳ１０５）。
【０３４９】
次に、データ生成部２４０Ｄは、終了ボタン１６１Ｃが押されたかどうかを判定する（ステップＳ１０６）。
【０３５０】
データ生成部２４０Ｄは、終了ボタン１６１Ｃが押された（Ｓ１０６：ＹＥＳ）と判定すると、ステップＳ１０５でテキストボックスに入力された振幅増倍係数に基づいて第３データを生成する（ステップＳ１０７）。なお、データ生成部２４０Ｄは、終了ボタン１６１Ｃが押されていない（Ｓ１０６：ＮＯ）と判定すると、フローをステップＳ１０５にリターンする。
【０３５１】
ステップＳ１０７の処理が終了すると、データ生成部２４０Ｄは、ダイアログボックス１６１を非表示にする（ステップＳ１０８）。ステップＳ１０８の処理が終了すると、データ生成部２４０Ｄは、フローをステップＳ１０３にリターンする。
【０３５２】
データ生成部２４０Ｄは、ステップＳ１０３において、パレット４０３の内部のボタン４０３Ａ又はボタン４０３Ｂがダブルクリックされていない（Ｓ１０３：ＮＯ）と判定すると、フローをステップＳ１０９に進める。
【０３５３】
データ生成部２４０Ｄは、グラフィック用の設計ツールを起動する（ステップＳ１０９）。これにより、利用者はキャンバス４００Ａに自由にペイントすることができるようになる。
【０３５４】
例えば、図２７では、ボタン４０３Ａをシングルクリックした後、キャンバス４００Ａ上でペイントする領域を指定すれば、指定した領域が濃いグレーにペイントされる。また、薄いグレーで表示されるボタン４０３Ｂをシングルクリックした後、キャンバス４００Ａ上でペイントする領域を指定すれば、指定した領域が薄いグレーにペイントされる。
【０３５５】
データ生成部２４０Ｄは、濃いグレーのペイントで塗られた領域に振動パターンＰ１を設定し、薄いグレーのペイントで塗られた領域に振動パターンＰ２を設定する。
【０３５６】
データ生成部２４０Ｄは、終了コマンドが入力されたかどうかを判定する（ステップＳ１１０）。終了コマンドは、予め設定されていれば、どのようなコマンドでもよく、例えば、キャンバス４００Ａ及びパレット４０３以外の領域をダブルクリックする動作をグラフィック用の設計ツールの終了コマンドとして設定しておけばよい。
【０３５７】
データ生成部２４０Ｄは、終了コマンドが入力された（Ｓ１１０：ＹＥＳ）と判定すると、キャンバス４００Ａにペイントされた色のデータに基づいて、濃いグレーと薄いグレーに塗られた領域の座標を表す領域データを生成し、さらに、領域データと振動パターンに基づいて第１データを生成する（ステップＳ１１１）。
【０３５８】
データ生成部２４０Ｄは、ステップＳ１１１で第１データを生成すると、超音波振動設定アプリケーションを終了する（ステップＳ１１２）。
【０３５９】
以上で、データ生成部２４０Ｄによる音波振動設定アプリケーションの実行処理が終了する（エンド）。
【０３６０】
なお、データ生成部２４０Ｄは、ステップＳ１１０において、終了コマンドが入力されていない（Ｓ１１０：ＮＯ）と判定すると、フローをステップＳ１０３にリターンする。
【０３６１】
以上のように設定した第１データ及び第３データと、メモリ２５０に予め格納されている第２データとを用いれば、図２６に示す実４０１と葉４０２の画像に指先が触れるときに、利用者の好みの触感を表す超音波の振動を発生させることができる。
【０３６２】
また、実施の形態２の駆動制御装置３００は、図２５乃至図２９を用いて説明したように、利用者の好みの振動パターンＰ１、Ｐ２を好みの画像４００に自由に設定することができる。
【０３６３】
従って、利用者にとって非常に利用価値の高い駆動制御装置３００及び電子機器１００を提供することができる。  以上、本発明の例示的な実施の形態の駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０３６４】
１００、１００Ａ、１００Ｂ、１００Ｃ  電子機器
１１０  筐体
１２０  トップパネル
１３０  両面テープ
１４０  振動素子
１５０  タッチパネル
１６０  ディスプレイパネル
１７０  基板
２００  制御部
２２０  アプリケーションプロセッサ
２３０  通信プロセッサ
２４０Ａ  波形生成部
２４０Ｂ  波形合成部
２４０Ｃ  駆動制御部
２４０  データ生成部
２５０  メモリ
３００  駆動制御装置
３１０  正弦波発生器
３２０  振幅変調器
【図１】
2016120956.tif 000007
【図２】
2016120956.tif 000008
【図３】
2016120956.tif 000009
【図４】
2016120956.tif 000010
【図５】
2016120956.tif 000011
【図６】
2016120956.tif 000012
【図７】
2016120956.tif 000013
【図８】
2016120956.tif 000014
【図９】
2016120956.tif 000015
【図１０】
2016120956.tif 000016
【図１１】
2016120956.tif 000017
【図１２】
2016120956.tif 000018
【図１３】
2016120956.tif 000019
【図１４】
2016120956.tif 000020
【図１５】
2016120956.tif 000021
【図１６】
2016120956.tif 000022
【図１７】
2016120956.tif 000023
【図１８】
2016120956.tif 000024
【図１９】
2016120956.tif 000025
【図２０】
2016120956.tif 000026
【図２１】
2016120956.tif 000027
【図２２】
2016120956.tif 000028
【図２３】
2016120956.tif 000029
【図２４】
2016120956.tif 000030
【図２５】
2016120956.tif 000031
【図２６】
2016120956.tif 000032
【図２７】
2016120956.tif 000033
【図２８】
2016120956.tif 000034
【図２９】
2016120956.tif 000035
【国際調査報告】
2016120956.tif 000036
2016120956.tif 000037
2016120956.tif 000038
2016120956.tif 000039