以下、本発明の実施形態について図に基づいて説明する。なお、以下の各実施形態相互において、互いに同一もしくは均等である部分には、同一符号を付して説明を行う。
(第1実施形態)
第1実施形態に係る入力装置について説明する。本明細書では、例えば、図1に示すように自動車などの車両に搭載される車載装置1として適用された場合を代表例として説明するが、この用途に限定されるものではない。
車載装置1は、例えば図1に示すように、表示部10と、タッチパネル11と、ジェスチャ認識部12と、記憶部13と、音声認識部14と、音声合成部15と、通信部16と、制御部17とを有してなる。車載装置1は、例えば図2に示すように、車両VのサイドウィンドウV1に表示部10が搭載されたサイドウィンドウディスプレイとされ得る。この車載装置1は、乗員、すなわち操作者が表示部10に対してタッチ操作およびジェスチャ操作が可能な構成となっている。
なお、図2は、紙面左右方向を車両Vの進行可能な方向に沿った「車両全長方向」とし、紙面上において車両全長方向に直交する方向を「車幅方向」として、これらのなす平面に対する法線方向から車室内を見たときの平面図に相当する。図2では、車両全長方向において、座席V2、V3に着座した乗員が向き合う状態とされると共に、座席V2、V3に隣接するサイドウィンドウV1に表示部10が搭載された状態を示している。そして、図2に示す例では、座席V2またはV3に着座した乗員が、着座した状態のままサイドウィンドウディスプレイとされた車載装置1の入力操作が可能な状況となっている。
表示部10は、各種の映像等を表示する任意のディスプレイである。表示部10は、図2に示すようにサイドウィンドウディスプレイとされる場合には、透明ディスプレイ、例えば有機EL(エレクトロルミネッセンスの略)ディスプレイとされる。表示部10は、サイドウィンドウディスプレイへの適用に限られないが、映像等が表示される表示面が、少なくとも操作者が移動しないとその全域を触れることができない程度の所定以上の面積とされている。
タッチパネル11は、表示部10のうち表示面に対して重畳配置された透明体であり、操作者によるタッチ操作に用いられる。タッチパネル11は、表示部10に表示される映像等を透過させると共に、タッチパネル11のうち表示部10とは反対側の一面における操作者の接触箇所に応じた信号を出力する。タッチパネル11は、例えば、静電容量式とされ、複数の第1電極と複数の第2電極とが格子状に配列されると共に、任意の絶縁性材料により覆われてなる。この場合、タッチパネル11は、一面に指等の操作体が置かれたときに、一面における当該操作体の位置に応じて静電容量が変化する構成とされ、当該静電容量の信号を出力する構成とされる。タッチパネル11が出力する操作体の位置に応じた信号は、例えば、後述する制御部17に出力され、表示部10に表示された操作アイコン等に割り当てられた所定の車載機器等への入力操作に用いられる。
なお、タッチパネル11は、一面に指等の操作体が置かれたときに、その位置に応じた信号を出力する構成であればよく、静電容量式に限定されず、感圧式などの他の任意の方式とされてもよい。
表示部10およびタッチパネル11は、操作者との相対位置の変化が所定以下に制限された状況において、当該操作者が、手が届くことによりタッチ操作が可能な領域と、手が届かないことでタッチ操作ができない領域とを有する所定以上の大きさとされる。
以下、説明の便宜上、図3に示すように、上記した状況において、タッチパネル11のうち操作者の手が届き、タッチ操作が可能な領域、すなわち接触可能な領域を「第1領域111」と称することがある。また、同状況において、タッチパネル11のうち操作者の手が届かないためにタッチ操作ができない領域を「第2領域112」と称することがある。
なお、図3では、第1領域111と第2領域112との境界を便宜的に破線で示しているが、これらの区画について便宜的なものであり、明確な境界が存在するわけではない。また、第2領域112は、指などの操作体が接触した場合には、その接触された位置に応じた信号を出力する構成となっており、操作者が移動したり、体勢を変えたりした場合にはタッチ操作も可能な領域である。つまり、タッチパネル11における第1領域111および第2領域112は、タッチパネル11のサイズ、操作者の位置、姿勢や体格等の諸条件によりその面積や位置等が変化する。
ジェスチャ認識部12は、撮像部21から取得した画像データに基づいて、操作者の手や指等を用いたジェスチャを三次元的に認識する。ジェスチャ認識部12は、例えば、所定の一方向への指のスライドや回転といった各種のジェスチャを認識すると共に、各種のジェスチャに応じた信号を制御部17へ出力する。このジェスチャに応じた信号は、例えば、操作者の手が届ない第2領域112における非接触のジェスチャ操作に用いられるが、第1領域111におけるジェスチャ操作にも用いられ得る。
撮像部21は、操作者がジェスチャ操作を行う際の当該操作者の手や指などの身体形状であって、ジェスチャに用いる部分を撮像するカメラである。撮像部21は、例えば、可視光カメラ、近赤外カメラ、赤外線カメラ等の任意のカメラとされる。撮像部21は、例えば図1に示すように、車載装置1とは別体とされると共に、図示しない配線等により車載装置1に電気的に接続される。撮像部21で取得した画像データは、ジェスチャ認識部12に伝送され、操作者のジェスチャの特定に用いられる。
なお、撮像部21は、操作者の指等を撮像できる位置に設置されていればよく、例えば図2に示すように、車両Vの車室内における天井等の任意の箇所に設置される。
記憶部13には、例えば、表示部10に表示される操作アイコン等に係る情報、車載装置1の動作制御や車載機器等の機能を実行するための各種プログラムが格納されている。記憶部13は、例えば、不図示のROM、RAMや不揮発性RAM等により構成される記憶媒体である。
音声認識部14は、例えば、車両Vに搭載されるマイク22から取得した音声データに基づき、操作者による発話等を認識する。音声認識部14は、例えば、車載装置1とは別体のマイク22からの音声データに応じた信号を制御部17に出力する。音声認識部14から出力された信号は、音声入力等に用いられる。
マイク22は、操作者による発話等の音声が入力される任意の音声装置である。マイク22は、操作者による音声が入力される位置に配置されていればよく、車両Vの車室内における任意の位置に設置される。
音声合成部15は、例えば、車載装置1とは別体のスピーカ23を介して音声によるメッセージ等を通知する際の音声を合成する。音声合成部15は、例えば、制御部17から操作者へのメッセージ等に関するテキストデータが伝送され、当該テキストデータに応じた音声信号をスピーカ23に出力する。
スピーカ23は、例えば、音声合成部15から出力された音声信号に基づき、音声を出力する。スピーカ23は、操作者等がスピーカ23から出力される音声を聞き取ることができる箇所に搭載されていればよく、車両Vの任意の位置に設置される。
通信部16は、車両Vに搭載される任意の車載機器と不図示のネットワーク配線等を介して接続されており、制御部17と車載機器との通信に用いられる。
なお、車載機器としては、例えば図1に示すように、通信機器24、ナビゲーション装置25、オーディオ装置26、カーエアコン27や車両ECU(Electronic Control Unitの略)28等が挙げられるが、これらに限定されない。通信機器24は、例えばインターネットなどの外部ネットワークとの通信用であってもよいし、車両V内にある車載機器とは異なる他の電子機器との通信用であってもよい。
制御部17は、例えば、回路配線を備える不図示の基板上にCPU等が搭載されてなる電子制御ユニットであり、記憶部13に格納された各種プログラムを読み込んで実行する。制御部17は、タッチパネル11からの出力信号に基づいて、タッチパネル11のうち操作者の指が接触もしくは近接した位置を算出する。制御部17は、ジェスチャ認識部12からの出力信号に基づいて、タッチパネル11のうち操作者のジェスチャ操作に対応する位置を算出する。制御部17は、音声認識部14からの出力信号に基づいて、操作者の発話を特定し、必要に応じて音声合成部15や車載機器への信号を出力する。制御部17は、各種の映像等を表示部10に表示させる制御を行うと共に、表示部10に表示された操作アイコンに割り当てられたコンテンツを実行させるため、通信部16を介して車載機器への出力を行う。また、制御部17は、例えば、操作アイコン等に関連付けられた機能やジェスチャ認識部12が認識したジェスチャに対応する機能を実行する。
つまり、制御部17は、タッチパネル11からの出力信号に基づくタッチ操作による入力制御、およびジェスチャ認識部12からの出力信号に基づくジェスチャ操作による入力制御を行う。そして、制御部17は、タッチ操作およびジェスチャ操作のいずれか一方による入力制御を行うように、その切り替えを実行する構成とされている。
以上が、入力装置が適用される車載装置1の基本的な構成である。この車載装置1は、例えば、タッチパネル11が信号を制御部17に出力している場合には、タッチ操作が行われ、タッチパネル11が信号を制御部17に出力していない場合には、ジェスチャ操作が行われ得る構成とされている。
(操作系の切り替え)
次に、車載装置1におけるタッチ操作とジェスチャ操作との切り替えについて、図4A、図4Bに示す操作を代表例として説明する。
図4A、図4Bでは、断面を示すものではないが、見易くするため、操作者の操作位置に対応する位置を示すものとして表示部10に表示されるポインタPにハッチングを施している。また、図4A、図4Bでは、タッチパネル11のうち操作者による接触操作が可能な面を操作面11aとして、操作面11aのタッチ操作またはジェスチャ操作を行う操作者の頭上から見た、いわば「平面視」したときの状況を示している。さらに、図4A、図4Bでは、操作面11aに対する法線方向、すなわち操作面法線方向から表示部10およびタッチパネル11を見た、いわば「側面視」した状況を示している。図4Bでは、分かり易くするため、タッチパネル11から所定以上離れた操作者の手を破線で示している。
操作者が図4Aに示すようにタッチパネル11の操作面11aのうち第1領域111の任意の位置に一本の指を置き、その後、図4Bに続くように第2領域112にポインタPをジェスチャ操作で移動させる操作を行った場合について説明する。
図4Aに示すように、操作者が第1領域111の任意の場所に指を置いた場合、制御部17は、表示部10のうち操作者が指を置いた場所に相当する箇所にポインタPを表示させる制御を行う。操作者がタッチパネル11の操作面11aに触れたまま、第2領域112に向かって指をスライドさせると、制御部17の制御により、この指の位置に連動してポインタPが移動する。
ポインタPを表示部10のうち第1領域111に相当する位置から第2領域112に相当する位置に移動させる場合、図4Bに示すように、操作者は、タッチパネル11から指を離して、引き続き、非接触のジェスチャ操作を行うことになる。制御部17は、例えば、操作者がタッチパネル11から指を離したタイミングでタッチ操作からジェスチャ操作への切り替えを実行する。
なお、ジェスチャ操作時においては、撮像部21は、操作者の動きを撮影し、指の動きや形状を画像データとして生成し、ジェスチャ認識部12にデータを出力する。その後、ジェスチャ認識部12は、指の動きや向きに対応する信号を制御部17に出力する。そして、制御部17は、例えば、ジェスチャ認識部12により認識された指のなす直線と表示部10との交点にポインタPを表示させる制御を行う。また、撮像部21による撮像およびジェスチャ認識部12への信号出力、並びにジェスチャ認識部12から制御部17への信号出力については、ジェスチャ操作時だけでなく、タッチ操作時においても行われてもよい。
タッチ操作とジェスチャ操作との切り替えについては、例えば、「タッチパネル11からの信号出力の有無」、「タッチパネル11からの出力信号の強度」や「タッチ座標とジェスチャ座標との差」などに基づいて行われる。以下、タッチ操作とジェスチャ操作との切り替えを単に「操作系の切り替え」と称する。
具体的には、例えば、タッチパネル11が感圧式などの指等の操作体が接触した場合にのみ信号を出力する構成である場合には、制御部17は、タッチパネル11からの信号の出力、すなわちタッチ座標の出力がある場合にはタッチ操作に基づく制御を行う。この場合において、タッチパネル11からの信号出力、すなわちタッチ座標の出力がないときには、制御部17は、ジェスチャ操作に基づく制御へと切り替える。
なお、ここでいう「タッチ座標」とは、タッチパネル11からの信号に関連付けられ、タッチ操作時に用いられる座標系である。「ジェスチャ座標」とは、ジェスチャ認識部12からの信号に関連付けられ、主にジェスチャ操作時に用いられる座標系である。ジェスチャ座標は、タッチ座標におけるタッチ位置にも関連付けられると共に、タッチ操作からジェスチャ操作への切り替え時にスムーズに座標系の切り替えができるように、タッチ操作中にも内部処理がされている。
操作系の切り替えは、タッチパネル11からの出力信号の有無に代わって、タッチパネル11からの出力信号の強度に応じて行われてもよい。具体的には、タッチパネル11が静電センサ等のように操作者の指等の操作体が操作面11aと所定の距離内に近づいた場合に感度が高くなる、すなわち出力信号が大きくなる構成である場合には、操作系の切り替えは、この出力信号の強度により行われてもよい。より具体的には、操作者の指が操作面11aに触れているか、または所定の距離以内にある場合、タッチパネル11からの出力信号が所定以上の強度となるため、制御部17は、出力信号が当該閾値以上であれば、タッチ操作に基づく制御を行う。一方、タッチパネル11からの出力信号が当該閾値未満であるときには、制御部17は、タッチ操作からジェスチャ操作へ切り替える。
操作者の違和感を低減し、より滑らかにするためには、操作系の切り替えは、例えば、タッチ座標とジェスチャ座標との差に基づいて行われてもよい。
具体的には、例えば、ポインタPを所定の距離だけタッチ操作により移動させた場合について検討する。
タッチ座標における操作位置は、操作者がタッチパネル11に接触した際にタッチパネル11から出力される信号に基づいて算出される。そのため、タッチ座標におけるポインタPの移動量は、実際の操作者の指の移動量との差がほとんどない。
一方、ジェスチャ座標における操作位置は、ジェスチャ認識部12からの出力信号に基づいて算出される。例えば、操作者の指のなす直線と表示部10との交点がジェスチャ座標における操作位置として算出され、その操作位置の座標の変化量がジェスチャ座標における移動量となる。つまり、ジェスチャ座標における移動量は、操作者の指との物理的な接触によらずに算出される仮想的な数値であり、タッチ座標における移動量に比べて、実際の操作者の指の移動量との差が大きい。そして、タッチ座標における移動量とジェスチャ座標における移動量との差は、操作者によるポインタPの移動量が大きいほど大きくなる。
したがって、表示部10と操作者との相対位置の変化量が所定以下に制限されている状況においては、第1領域111内におけるポインタPの移動操作では、操作者の指の移動量が小さく、各座標における移動量の差は小さい。一方、同じ状況において、第2領域112にポインタPを移動させる場合、操作者の指の移動量が大きくなり、各座標における移動量の差は大きくなる。
そこで、タッチ座標における移動量とジェスチャ座標における移動量との差に閾値を設け、制御部17は、これらの移動量の差が所定の閾値以上の場合には、タッチ操作のままとし、タッチ操作に基づく入力制御を行ってもよい。逆に、これらの移動量の差が所定の閾値未満の場合には、制御部17は、タッチ操作からジェスチャ操作に切り替え、タッチ操作に基づく入力制御を行ってもよい。このような操作系の切り替えとすることにより、タッチ操作からジェスチャ操作への切り替え時に、座標差によるポインタPの位置ズレ(後述)を所定以下に抑えることができ、操作系のスムーズな切り替えを実行できる。つまり、両座標における移動量が所定の閾値以上の状態でタッチ操作からジェスチャ操作に切り替わると、ポインタPの表示位置が大きくずれてしまい違和感を覚えるため、上記の操作系の切り替え条件とすることでこのような事態を防止できる。
なお、操作系の切り替えに用いられる出力信号の強度や両座標の差における閾値は、例えば記憶部13に格納され、必要に応じて制御部17により読み込まれる。また、操作系の切り替えにおいては、タッチパネル11からの出力信号の強度と、両座標における移動量の差とを組み合わせてもよい。例えば、タッチパネル11からの出力信号の強度が閾値以上、かつ両座標における移動量が所定の値以上の場合には、制御部17は、タッチ操作を有効とし、タッチ操作に基づく入力制御を実行してもよい。また、タッチパネル11からの出力信号の強度が閾値未満、かつ両座標における移動量が所定の値未満の場合には、制御部17は、ジェスチャ操作を有効とし、ジェスチャ操作に基づく入力制御を実行してもよい。
また、タッチ操作かジェスチャ操作かを操作者が視覚的に把握し易くするため、図5に示すように、ポインタPの意匠をタッチ操作とジェスチャ操作とで異なるものとしてもよい。また、同様の目的で、図6に示すように、表示部10に表示されているアイコンのうち操作者が選択している選択アイコンを強調表示する場合、その意匠をタッチ操作とジェスチャ操作とで異なるものとしてもよい。意匠の変更の様式としては、ポインタPについては色、形状や大きさを変えたり、選択アイコンについては枠の色、太さや模様を変えたりすることが挙げられるが、視覚的に差異が認識できればよく、これらに限定されない。
なお、上記したポインタPの意匠の変更については、タッチ操作からジェスチャ操作に切り替える場合だけでなく、その逆の場合に適用してもよい。つまり、制御部17は、タッチ操作およびジェスチャ操作のいずれか一方から他方へ切り替える際に、座標ズレによる違和感を低減する制御を実行してもよい。
(座標系の切り替え)
次に、操作系の切り替え時におけるタッチ座標とジェスチャ座標との切り替えについて、図7~図10を参照して説明する。
図7、図10では、紙面左右方向をx方向とし、紙面上においてx方向に直交する方向をy方向として示すと共に、x方向におけるタッチ座標Txと同方向におけるジェスチャ座標Gxとを矢印で示している。また、図7、図10では、分かり易くするため、タッチ操作中の操作者の手を実線で示している。図7~図10では、ジェスチャ操作中の操作者の手を破線で示している。
以下の説明においては、説明の便宜上、操作系の切り替えに伴ってなされる、ポインタP等の現操作位置の表示に使用される座標の切り替えを単に「座標系の切り替え」と称する。また、座標系の切り替えを分かり易くするため、ここでは、ポインタPのy方向における座標を変化させず、x方向における座標を変化させるように、ポインタPを移動させる操作を行う場合を代表例として説明する。
制御部17は、例えば図7に示すように、タッチ操作からジェスチャ操作へ切り替えを行う際に、ポインタP等を表示させる現操作位置を算出するために用いる座標をタッチ座標からジェスチャ座標に切り替える制御を行う。
例えば、操作系の切り替えの直前におけるポインタPのタッチ座標をtx1として、制御部17は、図7に示すように、タッチ操作時においては、ポインタPをタッチ座標でのtx1に対応する位置に表示させる制御を行う。一方、ジェスチャ座標においてtx1に対応する位置をgx1として、制御部17は、ジェスチャ操作時においては、ポインタPをジェスチャ座標でのgx1に対応する位置に表示させる制御を行う。
このとき、図7に示すように、タッチ座標のtx1とジェスチャ座標gx1との間に所定以上のズレがある場合には、座標系の切り替えに伴って、ポインタPの表示位置が瞬間的に大きくずれてしまい、操作者に違和感を覚えさせ得る。
このようにタッチ座標とジェスチャ座標とを単純に切り替える場合において、座標系の切り替えに伴うポインタP等の位置ズレによる違和感を低減するため、制御部17は、座標系の切り替え時におけるポインタPの表示制御を実行することが好ましい。
例えば、図8に示すように、ポインタPをタッチ座標上での位置とジェスチャ座標上での位置とにおいて短時間で交互に数回表示させ、最終的に、切り替え後の座標系での位置にポインタPを表示させてもよい。つまり、制御部17は、操作系の切り替え時にポインタPが振動しているように表示をさせつつ、切り替え後の座標系での位置に表示させるといったアニメーション表示をさせることで、位置ズレによる違和感を低減する。また、図9に示すように、制御部17は、操作系の切り替え時においてポインタPの大きさを一時的に大きくし、切り替えた座標系における表示位置に集束するようにポインタPの大きさを元に戻すことで位置ズレによる違和感を低減してもよい。
また、制御部17は、例えば図10に示すように、タッチ操作からジェスチャ操作への切り替えを行う際に、ジェスチャ座標のオフセット処理を行った上で、タッチ座標からジェスチャ座標に切り替える制御を実行してもよい。
図7に示すように、操作系の切り替え直前におけるタッチ座標のtx1とジェスチャ座標のgx1との間にズレが生じている場合、制御部17は、図10に示すように、これらの差(tx1-gx1)の分だけジェスチャ座標の原点をオフセットしてもよい。これにより、オフセット後のジェスチャ座標のgx1とタッチ座標のtx1とが同じ位置となり、座標系を切り替えた後であっても、ポインタPは、操作系の切り替え前後において同じ位置に表示されることになる。このような表示制御により、操作者は、タッチ操作からジェスチャ操作への切り替えによる違和感を覚えることなく、よりスムーズにジェスチャ操作を続行することができる。
(処理動作例)
次に、車載装置1における処理動作例について、図11に示す操作を行った場合における処理動作例を代表例に、図12を参照して説明する。
図11では、操作者が表示部10のうち第1領域111内において表示されているアイコンを選択し、当該選択アイコンを第2領域112に移動させる操作を示している。また、図11では、分かり易くするため、断面を示すものではないが、操作するアイコンにハッチングを施している。さらに、図11では、第1領域111と第2領域112との境界を便宜的に破線で示すと共に、操作の順番を白抜き矢印で示している。
制御部17は、例えば車載装置1がONの状態となったら、図12に示す制御フローを実行する。
ステップS101では、制御部17は、タッチパネル11から信号を出力されたか否か、すなわちタッチパネル11の入力有無についての判定を行う。制御部17は、ステップS101にて肯定判定の場合、すなわちタッチパネル11から信号が出力されたと判定した場合には処理をステップS102に進め、否定判定の場合には処理を終了させる。
ステップS102では、制御部17は、タッチパネル11からの出力信号に基づいて算出された操作位置が、表示部10に表示された操作アイコン上であって、当該操作アイコンの移動を有効にできる位置であるか否かの判定を行う。ステップS102で肯定判定の場合には、制御部17は、処理をステップS103に進める。例えば、操作者がタッチパネル11に指を置いたまたは近接させた際に、表示部10に表示されるポインタPが操作アイコンの移動を有効にする位置にある状況等がこの場合に該当する。一方、否定判定の場合には、制御部17は、処理を終了させる。
ステップS103では、制御部17は、操作位置に表示されているアイコンを移動可能な状態にする制御を行う。その後、制御部17は、処理をステップS104に進める。
ステップS104では、制御部17は、タッチパネル11からの出力信号により算出される操作位置が、タッチ座標上で変化したか否かについて判定する。ステップS104で肯定判定の場合には、制御部17は、処理をステップS105に進める。例えば、操作者がタッチパネル11に触れた状態のまま、第1領域111から第2領域112に向かってスライド操作をしている状況等がこの場合に該当する。一方、ステップS104にて否定判定の場合には、制御部17は、処理をステップS106に進める。
ステップS105では、制御部17は、タッチ座標上での操作位置の変化に連動して、選択アイコン(移動が有効な状態とされたアイコン)を移動させる制御を行う。その後、制御部17は、処理をステップS107に進める。
ステップS106では、制御部17は、タッチパネル11からの入力がないか否かについて判定を行う。ステップS106で肯定判定の場合、すなわちタッチパネル11からの入力がないと判定した場合には、制御部17は、処理を後述のステップS113に進める。一方、ステップS106で否定判定の場合、すなわちタッチパネル11からの入力があると判定した場合には、制御部17は、処理をステップS104に戻す。
なお、S106での判定については、前述したように、タッチパネル11からの出力信号の有無、当該出力信号の強度、およびタッチ座標とジェスチャ座標との差などに基づいて実行され得る。
ステップS107では、制御部17は、ステップS106と同様に、タッチパネル11における入力がないか否かについて判定を行う。ステップS107にて肯定判定の場合、すなわちタッチパネル11からの入力がないと判定した場合には、制御部17は、処理をステップS108に進める。例えば、操作者がタッチパネル11から指を離し、タッチパネル11からの出力信号が制御部17に伝送されなくなった状況等がこの場合に該当する。一方、ステップS107で否定判定の場合、すなわちタッチパネル11からの入力があると判定した場合には、制御部17は、処理をステップS105に戻す。
ステップS108では、制御部17は、ジェスチャ操作を有効とし、タッチ操作からジェスチャ操作に切り替える。言い換えると、ステップS108では、制御部17は、タッチ操作に代えて、ジェスチャ操作に基づく入力制御を実行可能な状態とする。これにより、操作者は、ジェスチャ操作により車載機器への入力操作が可能となる。続けて、制御部17は、処理をステップS109に進める。
ステップS109では、制御部17は、所定時間内にジェスチャ座標上における操作位置の変化があるか否かについて判定を行う。ステップS109で肯定判定の場合、制御部17は、処理をステップS110に進める。一方、ステップS109で否定判定の場合、制御部17は、処理を後述のステップS112に進める。なお、この所定時間については、任意であり、適宜設定される。
ステップS110では、制御部17は、ジェスチャ座標上における操作位置の変化に連動して、選択アイコンを移動させる。続けて、制御部17は、処理をステップS111に進める。
ステップS111では、制御部17は、再度、所定時間内にジェスチャ座標上における操作位置の変化があるか否かについて判定を行う。ステップS111にて肯定判定の場合、制御部17は、処理をステップS110に戻す。一方、ステップS111にて否定判定の場合、制御部17は、処理をステップS112に進める。
なお、ステップS109およびS111では、制御部17は、ジェスチャ座標における操作位置の変化量が所定以上であるか否かを判定してもよい。また、ステップS109およびS111では、制御部17は、ジェスチャ座標における操作位置の変化量が所定以上であるか否かの判定において、上記と同様に所定の制限時間を設け、その所定時間内に判定を実行してもよい。ステップS109およびS111における否定判定の場合は、例えば、操作者がジェスチャ操作に用いていた指を一定時間停止させた状態にする状況等が該当する。言い換えると、この場合、「操作者が指差しの位置を一定時間停止させること」が選択アイコンの移動の終了条件とされているとも言える。
ステップS112では、制御部17は、選択アイコンの位置をジェスチャ座標における操作位置に決定する。そして、制御部17は、続くステップS113にて、当該選択アイコンの移動可能状態を無効とする制御を行う。これにより、例えば図11に示すように、選択アイコンは、表示部10のうち第2領域112の所定位置に固定された状態となり、その移動が終了する。その後、制御部17は、図12の制御フローの処理を終了する。
(処理動作の変形例)
上記の処理動作例では、「ジェスチャ座標における操作位置の変化」により、選択アイコンの移動終了が決定されていた。しかしながら、制御フローのうち選択アイコンの移動終了条件は、図12に示す例に限られず、図13~図15に示すように変更されてもよい。以降の説明では、図12を参照して説明した上記の処理動作とは相違する部分について主に説明する。
図13~図15では、図12に示す制御フローのうちステップS103からステップS106またはステップS112までの間を抜粋して示している。
図13に示す変形例では、制御部17は、ステップS107の後、処理をステップS114に進める。ステップS114では、制御部17は、所定時間内にタッチ操作によるタップがないか否かについて判定を行う。ステップS114にて肯定判定の場合、すなわち操作者が所定時間内にタッチ操作によるタップをしなかったと判定した場合、制御部17は、処理をステップS108に進める。一方、ステップS114にて否定判定の場合、制御部17は、処理をステップS112に進める。
制御部17は、ステップS108の後、ステップS110にて選択アイコンをジェスチャ座標における操作位置に移動させる処理を行い、次に、処理をステップS115に進める。ステップS115では、制御部17は、タップ動作に対応する操作者のジェスチャがないか否かについて判定を行う。ステップS115にて肯定判定の場合、すなわちタップ動作がないと判定した場合には、制御部17は、処理をステップS110に戻す。一方、ステップS115にて否定判定の場合、すなわちタップ動作があると判定した場合には、制御部17は、処理をステップS112に進める。
なお、操作者がタッチ操作によるタップの動作をしたか否かについては、例えば、タッチパネル11のうち所定の範囲内、かつ所定の時間内に少なくとも2回の断続的な出力信号が制御部17に伝送されたか否かにより判定可能である。また、操作者がジェスチャ操作によるタップの動作をしたか否かについては、例えば、所定の範囲内かつ所定の時間内に少なくとも2回の往復動作がされた場合に対応する信号が、ジェスチャ認識部12から制御部17に伝送されたか否かにより判定可能である。操作者によるタップ動作の有無の判定方法については、上記の例に限定されるものではない。
つまり、図13に示す変形例では、選択アイコンの移動終了条件が「タッチ操作またはジェスチャ操作によるタップ動作」となっている。また、図14に示すように、選択アイコンの移動終了条件は、「タッチ操作またはジェスチャ操作による押し込み動作」であってもよい。
図14に示す変形例では、制御部17は、ステップS105の後、処理をステップS116に進める。ステップS116では、制御部17は、所定時間内にタッチ操作による押し込み動作がないか否かについて判定を行う。ステップS116にて肯定判定の場合、すなわち操作者が所定時間内にタッチ操作による押し込み動作をしなかったと判定された場合、制御部17は、処理をステップS117に進める。一方、ステップS116にて否定判定の場合、すなわち操作者が所定時間内にタッチ操作による押し込み動作をしたと判定した場合、制御部17は、処理をステップS112に進める。
ステップS117では、制御部17は、図12におけるステップS107と同様に、タッチパネル11からの入力がないか否かについて判定を行う。ステップS117で肯定判定の場合、すなわちタッチパネル11からの入力がないと判定した場合には、制御部17は、処理をステップS108、S110の順に進める。一方、ステップS117で否定判定の場合、すなわちタッチパネル11からの入力があると判定した場合には、制御部17は、処理をステップS105に戻す。
制御部17は、ステップS110の後、処理をステップS118に進め、ジェスチャ操作による押し込みの動作がないか否かについて判定を行う。ステップS118で肯定判定の場合、すなわち押し込みのジェスチャがないと判定した場合には、制御部17は、処理をステップS110に戻す。一方、ステップS118で否定判定の場合、すなわち押し込みのジェスチャがあると判定した場合には、制御部17は、処理をステップS112に進める。
なお、操作者がタッチ操作による押し込みの動作をしたか否かについては、例えば、タッチパネル11が押圧センサを有した構成とされ、タッチパネル11から押圧に応じた信号を制御部17に伝送されたか否かにより判定可能である。また、操作者がジェスチャ操作による押し込みの動作をしたか否かについては、例えば、所定の範囲内かつ所定の時間内に少なくとも1回の往復動作がされた場合に対応する信号が、ジェスチャ認識部12から制御部17に伝送されたか否かにより判定可能である。操作者による押し込む動作の有無の判定方法については、上記の例に限定されるものではない。
さらに、図15に示す変形例のように、操作者による所定の発話をアイコンの移動終了条件としてもよい。図15に示す変形例は、ステップS116、S118に代わって、アイコンの移動を停止させる発話がないか否かを判定するステップS119、S120とされたものである。
ステップS119では、制御部17は、例えば、「はい」、「そこ」、「ストップ」等の所定の発話に対応した音声信号が、音声認識部14から出力されているか否かにより、停止の発話がないか否かを判定する。ステップS119で肯定判定の場合、すなわち操作者による停止の発話がないと判定した場合には、制御部17は、処理をステップS117に進める。一方、ステップS119で否定判定の場合、すなわち操作者による停止の発話があったと判定した場合には、制御部17は、処理をステップS112に進める。
ステップS120では、ステップS119と同様の判定を行い、制御部17は、肯定判定の場合には処理をステップS110に戻し、否定判定の場合には処理をステップS112に進める。
本実施形態によれば、操作者が移動しなければその全域をタッチ操作できないほどの大面積化された表示部10に対する入力操作において、タッチ操作とジェスチャ操作とをスムーズに切り替えることが可能な構成とされた入力装置となる。
(第2実施形態)
第2実施形態の入力装置について、図16~図18を参照して説明する。
本実施形態の入力装置は、例えば図16に示すように、制御部17がさらに補正部171を有する構成とされている点で上記第1実施形態と相違する。本実施形態では、この相違点について主に説明する。
(構成)
制御部17は、本実施形態では、補正部171を有してなる。制御部17は、本実施形態では、操作者がタッチ操作を行っている際に、タッチ座標における現操作位置の座標データおよびこれに対応するジェスチャ座標の座標データを随時取得し、これらの座標データを一組の座標データとして記憶部13に格納する。
補正部171は、一組の座標データを少なくとも2つ用いて、タッチ操作中にジェスチャ座標の補正を実行する。これは、タッチ操作からジェスチャ操作に切り替えた場合における操作方向やスケール感の変化を抑制することで、操作者が違和感を覚えることを抑止し、よりスムーズに操作系の切り替えを実行可能とするためである。この詳細については後述する。
(補正処理)
次に、補正部171におけるジェスチャ座標の補正処理の概要について図18を参照して説明するが、まず、対比のため、第1実施形態の入力装置における補正処理について図17を参照して説明する。
図17、図18では、見易くするため、x方向におけるタッチ座標Txおよびジェスチャ座標Gx、並びにz方向におけるジェスチャ座標Gzを矢印で示すと共に、タッチ座標系およびジェスチャ座標系の他の方向については省略している。また、図17では、タッチ座標系のx軸(Tx)とジェスチャ座標系のx軸(Gx)と重ねた例を示しているが、見易くするため、意図的にこれらをずらして示している。
例えば、タッチパネル11から座標T1(tx1、0、0)の信号が出力された場合において、T1に対応するジェスチャ座標G1を(gx1、0、gz1)とする。また、タッチパネル11から座標T2(tx2、0、0)の信号が出力された場合において、T2に対応するジェスチャ座標G2を(gx2、0、gz2)とする。
つまり、T1とG1とが一組の座標データに相当し、T2とG2とが他の一組の座標データに相当する。仮に、タッチ座標系の原点とジェスチャ座標系の原点とを一致させ、かつ、x、y、z軸の方向を合わせた場合、例えば図17に示すように、T1とG1、およびT2とG2はそれぞれ異なる位置となる。
なお、以下の説明では、シンプル化して理解を助けるため、タッチパネル11の操作面が平坦面であり、z方向のタッチ座標が0で固定されている例を代表例として述べる。
この場合において、タッチ座標系のT1においてタッチ操作からジェスチャ操作に切り替わる場合、上記第1実施形態の入力装置では、制御部17は、図17に示すように、ジェスチャ座標のオフセット処理を行い、T1とG1とが一致する処理を実行する。
言い換えると、この処理は、操作系の切り替えにおける現操作位置のタッチ座標とこれに対応するジェスチャ座標とによりなる一組の座標データのみを用いて、ジェスチャ座標の原点位置を再設定(補正)するものと言える。これにより、操作系の切り替え時のT1とG1とが一致するため、表示部10で表示されているポインタPの位置ズレが生じず、操作系の切り替えに伴う操作者の違和感を低減できる。
しかしながら、このオフセット処理は、操作系の切り替え時における一組の座標データのみを用いたものである。そのため、図17に示すように、T2とG2とによりなる他の一組の座標データにおいては、両座標の差、すなわちズレが生じたままとなり得る。この場合、ジェスチャ操作における指の移動量(ジェスチャ座標での移動量)と表示部10における移動量(タッチ座標での移動量)との乖離が生じてしまい、その差は、操作系の切り替えがなされた位置から離れるほど大きくなる。その結果、操作者の指の移動量が同じであっても、ジェスチャ座標系における指の位置に応じてポインタPの移動量が徐々に変化してしまい、操作者が違和感を覚えるおそれがある。
以下、便宜上、このタッチ座標およびジェスチャ座標のズレに起因する、ジェスチャ操作における指の移動量とポインタPの移動量との乖離を「スケール感の変化」と称することがある。
そこで、本実施形態の入力装置では、制御部17は、補正部171により、タッチ操作中において、ジェスチャ座標系の「原点」、「大きさ」および「傾き」の補正を行う。具体的には、補正部171は、例えばT1とG1、およびT2とG2の少なくとも二組の座標データを取得し、これらの座標データに基づき、タッチ操作中に随時ジェスチャ座標の補正を実行する。
まず、補正部171は、例えばT1とG1の一組の座標データに基づき、ジェスチャ座標の原点を補正する処理を行う。この処理は、上記したオフセット処理と同じであり、図18に示すように、ジェスチャ座標G1がタッチ座標T1と一致するように、ジェスチャ座標の原点G01を新たな原点G02に補正して移動させる。
具体的には、補正部171は、T1とG1との各成分での差分を補正量(mx、my、mz)として算出する。例えば図18に示す例では、mxは(tx1-gx1)、myは0、mzは-gz1となる。そして、補正部171は、算出した補正量の分だけ原点G01をG02に移動させ、G02を原点として再設定する。つまり、補正部171は、ジェスチャ座標の原点を補正し、タッチ座標の操作位置の座標データの位置(T1)に、これに対応するジェスチャ座標の座標データの位置(G1)を合わせる制御を実行する。
これにより、タッチ操作からジェスチャ操作に切り替わった時、表示部10に表示されるポインタPの位置が操作系の切り替え前後で同一となり、ポインタPの表示位置のズレが抑制される。
この時点では、T2とG2とによりなる他の一組の座標のズレが生じたままであるため、補正部171は、ジェスチャ座標の「大きさ」の補正を行う。具体的には、補正部171は、ジェスチャ座標系におけるG1とG2との距離、およびタッチ座標系におけるT1とT2との距離を算出し、これらの距離が略同一になるように、ジェスチャ座標のスケールを再設定する。
より具体的には、T1とT2との距離Dt、およびG1とG2との距離Dgは、図18に示す例では、三平方の定理により、それぞれ以下の数式で表される。
補正部171は、Dg×d1=Dtを満たす補正係数d1、すなわち距離Dgが距離Dtと同一となる補正係数d1を算出する。そして、補正部171は、ジェスチャ座標系のxyzそれぞれの軸方向について算出した補正係数d1を乗じる補正を行う。
これにより、ジェスチャ操作における指の移動量と表示部10で表示されるポインタPの移動量が同一となり、スケール感が同じとなるため、ジェスチャ操作への切り替え後の違和感がさらに低減される。本明細書では、このスケール感を合わせる補正を「ジェスチャ座標の大きさを補正する」と称している。
なお、上記では、一組の座標データを2つ用いた場合について説明したが、これに限定されない。例えば、一組の座標データを3つ以上用いる場合には、例えば最小二乗法によりタッチ座標系の直線成分とジェスチャ座標系の直線成分をそれぞれ算出し、各座標系の距離Dt、Dgおよび補正係数d1を算出してもよい。この場合、補正部171は、例えば、タッチ座標の3つ以上の座標データ間の最大距離と、ジェスチャ座標の3つ以上の座標データ間の最大距離とが同一となるように、ジェスチャ座標の大きさを補正する。
ジェスチャ座標の原点および大きさの補正だけでは、タッチ座標系の2点を繋ぐ方向(以下、「ベクトルVt」と称する)とジェスチャ座標系の2点を繋ぐ方向(以下、「ベクトルVg」と称する)との間にズレが残った状態となり得る。このベクトルVt、Vgのズレを解消するため、補正部171は、ジェスチャ座標の「傾き」の補正を行う。
例えば、ベクトルVtのx成分とタッチ座標のx軸とのなす角度をθxtとし、ベクトルVtのy成分とタッチ座標のy軸とのなす角度をθytとし、ベクトルVtのz成分とタッチ座標のz軸とのなす角度をθztとする。同様に、ベクトルVgのx成分とジェスチャ座標のx軸とのなす角度をθxgとし、ベクトルVgのy成分とジェスチャ座標のy軸とのなす角度をθygとし、ベクトルVgのz成分とジェスチャ座標のz軸とのなす角度をθzgとする。
補正部171は、ベクトルVtの各軸に対する角度θxt、θyt、θztとベクトルVgの各軸に対する角度θxg、θyg、θzgとが一致するようにするための補正係数d2を算出する。補正係数d2は、各成分それぞれ、θxt-θxg、θyt-θyg、θzt-θzgの差分で算出される。補正部171は、ジェスチャ座標のGx、Gy、Gzを算出した補正係数d2だけ回転させる処理を行う。これにより、ベクトルVt、Vgの向きが揃うため、ジェスチャ操作による指の操作方向とポインタPの移動方向とが一致し、操作感がさらに向上する。本明細書では、このベクトルVgの向きをベクトルVtに揃えるために行うジェスチャ座標の補正処理を「ジェスチャ座標の傾きを補正する」と称している。
上記したように、ジェスチャ座標における「原点」、「大きさ」、「傾き」を補正することにより、ジェスチャ操作への切り替えを行った後のポインタの表示位置、スケール感、操作方向がタッチ操作におけるそれらと一致することになる。そのため、操作系の切り替えが任意のタイミングで行われても、操作者がこれに伴う違和感を覚えることなく、スムーズにジェスチャ操作を実行することが可能な入力装置となる。
なお、ベクトルVt、Vgの各角度は、回転行列によりx軸、y軸、z軸回りの回転角を算出するなどの公知の方法により算出され得るが、その算出方法については任意である。また、上記したジェスチャ座標の「原点」、「大きさ」、「傾き」を補正すると、例えば図18に示すように、ジェスチャ座標のG1がG3(gx3、0、gz3)、G2がG4(gx4、0、gz4)となり、2組の座標データがそれぞれ一致することとなる。
(処理動作例)
次に、補正部171による補正を実行する際の制御フローの一例について、図19を参照して説明する。
本実施形態では、入力装置がONの状態になると、制御部17は、図19に示す制御フローを所定の間隔で実行する。
ステップS201では、制御部17は、タッチパネル11から信号を出力されたか否か、すなわちタッチパネル11の入力有無についての判定を行う。制御部17は、ステップS201にて肯定判定の場合、すなわちタッチパネル11から信号が出力されたと判定した場合には処理をステップS202に進め、否定判定の場合にはステップS201の処理を繰り返す。
ステップS202では、制御部17は、タッチ座標における出力座標とこれに対応するジェスチャ座標における出力座標を一組の座標データとして記憶部13に記憶させる制御を行い、処理をステップS203に進める。これにより、両座標における出力座標が同時に記憶部13によって記録されることが可能な状態となる。なお、両座標の出力座標が記録されるタイミングは、例えば、タッチ操作中の任意の時であってもよいし、操作系の切り替え時であってもよい。
ステップS203では、制御部17は、出力座標が1点以上記録されたか否かを判定し、肯定判定の場合には処理をステップS204に進め、否定判定の場合には処理をステップS201に戻す。
ステップS204では、補正部171は、上記したようにジェスチャ座標の原点を補正する処理を行う。これにより、任意のタイミングでタッチ操作からジェスチャ操作に切り替わった際に、表示部10でのポインタPの表示位置が操作系の切り替え前後で同一となる。制御部17は、ステップS204の後、処理をステップS205に進める。
ステップS205では、制御部17は、出力座標が2点以上記録されたか否かを判定し、肯定判定の場合には処理をステップS206に進め、否定判定の場合には処理をステップS201に戻す。
ステップS206では、補正部171は、上記したようにジェスチャ座標の大きさおよび傾きを補正する処理を行う。これにより、ジェスチャ操作への切り替え後におけるスケール感および操作方向が一致する状態となる。
以上が、本実施形態の入力装置での補正における処理動作例である。
本実施形態によれば、補正部171が、タッチ操作からジェスチャ操作への切り替え後におけるポインタPの表示位置、スケール感および操作方向を一致させる補正をタッチ操作中に随時実行する構成の入力装置となる。そのため、上記第1実施形態よりもさらにスムーズ操作系の切り替えが可能となる。
なお、本実施形態では、補正係数d1、d2がxyz成分いずれも同一である場合について説明したが、補正係数d1、d2がxyz成分のいずれかが異なる場合には、後述の変形例に係る構成により、ジェスチャ座標の補正精度を一層向上させることができる。
(第2実施形態の変形例)
上記では、タッチパネル11からの出力座標のデータに基づき、ジェスチャ座標の各種補正を実行する例について説明したが、タッチパネル11以外にタッチ操作が可能な入力体を備える場合、当該入力体からの出力座標のデータに基づく補正を実行してもよい。
例えば、補正部171は、タッチパネル11でのタッチ操作で得られるx、y成分のデータに基づき、ジェスチャ座標のx成分とy成分について上記の各種補正を行う。また、補正部171は、図示しない他の入力体(例えばタッチパッド等)でのタッチ操作で得られるz成分のデータに基づき、ジェスチャ座標のz成分について上記の各種補正を行ってもよい。このように、二以上の入力体により得られる出力座標のデータに基づいて、上記第2実施形態で述べた各種補正処理を行ってもよい。このような補正処理は、例えば1つの入力体から得られるタッチ座標のデータに基づく場合において、各座標での算出精度が異なるとき等に有効である。
具体的には、操作面が平坦形状とされたタッチパネル11では、当該操作面における一方向をx軸とし、これに直交する方向をy軸としたとき、操作面の法線方向となるz軸における出力座標の変化がない。つまり、操作面が二次元的形状のタッチパネル11、およびジェスチャ認識部12から得られる一組の座標データを2つ以上取得したとしても、ジェスチャ座標のz軸方向の成分についての補正精度が得られないおそれがある。
このような場合において、入力装置が、表示部10におけるポインタP等をz軸方向に沿って操作するのに用いられる別体のタッチパッド等を備える構成とされるとき、補正部171は、当該タッチパッドからのz軸の出力座標をジェスチャ座標の補正に用いる。これにより、補正部171は、xy成分についてはタッチパネル11から、z成分については別体のタッチパッドから、それぞれタッチ座標系の出力座標のデータとして取得できる。このタッチ座標の出力座標とジェスチャ座標の出力座標とを一組の座標データとして、二以上の一組の座標データを用いて上記第2実施形態で述べた補正を行うことにより、ジェスチャ座標のz成分の補正精度を向上させることができる。
本変形例によれば、タッチパネル11の操作面が平坦形状である場合であっても、ジェスチャ座標のxyz成分いずれも精度の高い補正を実行でき、操作系の切り替えに伴う操作者の違和感をより生じさせにくい入力装置となる。
(他の実施形態)
本発明は、実施例に準拠して記述されたが、本発明は当該実施例や構造に限定されるものではないと理解される。本発明は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらの一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本発明の範疇や思想範囲に入るものである。
(1)例えば、上記実施形態では、1点でタッチパネル11を操作する場合を例に説明したが、2点以上でタッチパネル11を操作する場合であっても同様に適用できる。
(2)上記実施形態では、表示部10が車両VのサイドウィンドウV1に搭載された例について説明したが、表示部10は、リアウィンドウやウィンドシールド等の他の部位に搭載されてもよい。また、上記した入力装置は、車載用途に適用された場合であっても、操作者が移動せずとも表示部10の表示面全域についてタッチ操作とジェスチャ操作とを駆使して入力操作が可能な構成とされる。
(3)音声入力をしない場合や音声によるメッセージ等を出力しない場合には、音声認識部14、音声合成部15、マイク22およびスピーカ23を有しない構成であってもよい。