(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022191706
(43)【公開日】2022-12-28
(54)【発明の名称】入力装置、入力方法、及び入力プログラム
(51)【国際特許分類】
G06F 3/01 20060101AFI20221221BHJP
G06F 3/0346 20130101ALI20221221BHJP
【FI】
G06F3/01 570
G06F3/01 510
G06F3/0346 422
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2021100090
(22)【出願日】2021-06-16
(71)【出願人】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100167302
【弁理士】
【氏名又は名称】種村 一幸
(74)【代理人】
【識別番号】100135817
【弁理士】
【氏名又は名称】華山 浩伸
(72)【発明者】
【氏名】杉山 晃一
【テーマコード(参考)】
5B087
5E555
【Fターム(参考)】
5B087AA07
5B087BC06
5B087BC26
5B087BC32
5B087DJ03
5E555AA12
5E555AA62
5E555BA02
5E555BA38
5E555BB02
5E555BB38
5E555BC04
5E555CA29
5E555CA42
5E555CB66
5E555CC05
5E555EA22
5E555FA00
(57)【要約】
【課題】ユーザーのジェスチャー操作を検出して表示画面の入力位置に対して入力処理を行う入力装置においてユーザーのジェスチャー操作の変化によって入力位置がユーザーの意図しない方向に変化することを防止することが可能な入力装置、入力方法、及び入力プログラムを提供する。
【解決手段】入力装置は、ユーザーのジェスチャー操作の操作位置を判定する操作位置判定部と、前記操作位置が移動した場合に前記操作位置の移動量に基づいて前記入力位置の移動ベクトルを算出する移動ベクトル算出部と、第1ジェスチャー操作を検出した場合に前記入力位置において第1入力処理を実行し、第2ジェスチャー操作を検出した場合に前記入力位置において第2入力処理を実行する入力処理部と、第1ジェスチャー操作から第2ジェスチャー操作への変化を判定した場合に前記移動ベクトルを補正する移動ベクトル補正部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザーのジェスチャー操作を検出して表示画面の入力位置に対して入力処理を行う入力装置であって、
前記ユーザーの前記ジェスチャー操作を検出するジェスチャー操作検出部と、
前記ジェスチャー操作検出部が検出した前記ジェスチャー操作の操作位置を判定する操作位置判定部と、
前記操作位置が移動した場合に、前記操作位置の移動量に基づいて前記入力位置を移動させる移動方向及び移動量からなる移動ベクトルを算出する移動ベクトル算出部と、
前記ジェスチャー操作検出部が前記ユーザーの第1ジェスチャー操作を検出した場合に前記入力位置において第1入力処理を実行し、前記ジェスチャー操作検出部が前記ユーザーの第2ジェスチャー操作を検出した場合に前記入力位置において第2入力処理を実行する入力処理部と、
前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定するジェスチャー操作変化判定部と、
前記ジェスチャー操作変化判定部が前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定した場合に、前記移動ベクトルを補正する移動ベクトル補正部と、
を備える入力装置。
【請求項2】
前記移動ベクトル補正部は、前記移動ベクトル算出部が算出した前記移動量に対して予め設定された所定の補正移動量を減算することにより前記移動ベクトルを補正する、
請求項1に記載の入力装置。
【請求項3】
前記移動ベクトル補正部は、前記移動ベクトル算出部が算出した前記移動ベクトルに対して、予め設定された補正移動方向及び補正移動量からなる補正移動ベクトルを減算することにより前記移動ベクトルを補正する、
請求項1に記載の入力装置。
【請求項4】
前記移動ベクトル補正部は、前記移動ベクトル算出部が算出した前記移動量に対して予め設定された1よりも小さい値である所定の補正係数を乗算することにより前記移動ベクトルを補正する、
請求項1に記載の入力装置。
【請求項5】
前記移動ベクトル補正部は、前記移動ベクトル算出部が算出した前記移動量が予め設定された所定の上限値よりも大きい場合に、前記移動量が前記上限値以下となるように、前記移動ベクトルを補正する、
請求項1から請求項4のいずれか1項に記載の入力装置。
【請求項6】
前記ジェスチャー操作を撮像する撮像部を備え、
前記操作位置判定部は、前記撮像部が撮像した前記ジェスチャー操作の撮像画像に基づいて、前記ジェスチャー操作の基準点を判定し、当該基準点の位置に基づいて前記操作位置を判定する、
請求項1から請求項5のいずれか1項に記載の入力装置。
【請求項7】
前記操作位置判定部は、前記撮像部が撮像した前記ジェスチャー操作の撮像画像の重心位置を前記基準点として判定する、
請求項6に記載の入力装置。
【請求項8】
前記操作位置判定部は、前記撮像部が撮像した前記ジェスチャー操作の撮像画像に基づいて、前記ユーザーの手指の骨格、角度、及び位置の少なくともいずれかの第1手指情報を作成し、当該第1手指情報に基づいて前記基準点の位置を判定する、
請求項6に記載の入力装置。
【請求項9】
前記移動ベクトル補正部は、前記第1ジェスチャー操作の前記基準点の位置から前記第2ジェスチャー操作の前記基準点の位置に基準点が変化することによる前記入力位置の移動を相殺するように、前記移動ベクトルを補正する、
請求項6から請求項8のいずれか1項に記載の入力装置。
【請求項10】
前記ジェスチャー操作変化判定部は、前記ジェスチャー操作検出部が検出した前記ユーザーのジェスチャー操作と前記第1ジェスチャー操作及び前記第2ジェスチャー操作との近似度を算出し、当該近似度に基づいて前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定する、
請求項1から請求項9のいずれか1項に記載の入力装置。
【請求項11】
前記ジェスチャー操作を撮像する撮像部を備え、
前記ジェスチャー操作変化判定部は、前記撮像部が撮像した前記ユーザーのジェスチャー操作の撮像画像に基づいて、前記ユーザーの手指の骨格、角度、及び位置の少なくともいずれかの第2手指情報を作成し、当該第2手指情報に基づいて前記近似度を判定する、
請求項10に記載の入力装置。
【請求項12】
前記ジェスチャー操作変化判定部は、前記近似度の時間変化量が所定の第1基準値よりも大きい場合に、前記第1ジェスチャー操作から前記第2ジェスチャー操作へ変化したと判定する、
請求項10又は請求項11に記載の入力装置。
【請求項13】
前記移動ベクトル補正部は、前記近似度の前記時間変化量が前記第1基準値よりも大きいと判定された時点から所定の継続時間が経過するまでの間、前記移動ベクトルを補正する、
請求項12に記載の入力装置。
【請求項14】
前記移動ベクトル補正部は、前記近似度の前記時間変化量が前記第1基準値よりも大きいと判定された時点から前記近似度の前記時間変化量が前記第1基準値以下と判定されるまでの間、前記移動ベクトルを補正する、
請求項13に記載の入力装置。
【請求項15】
前記移動ベクトル補正部は、前記近似度の前記時間変化量が所定の第2基準値よりも大きい場合に、前記近似度の前記時間変化量が前記第2基準値よりも小さい場合と比較して、前記移動ベクトルを補正する補正効果を大きくする、
請求項12から請求項14のいずれか1項に記載の入力装置。
【請求項16】
ユーザーのジェスチャー操作を検出して表示画面の入力位置に対して入力処理を行う入力方法であって、
一又は複数のプロセッサーが、
前記ユーザーの前記ジェスチャー操作を検出するジェスチャー操作検出ステップと、
前記ジェスチャー操作検出ステップにおいて検出した前記ジェスチャー操作の操作位置を判定する操作位置判定ステップと、
前記操作位置が移動した場合に、前記操作位置の移動量に基づいて前記入力位置を移動させる移動方向及び移動量からなる移動ベクトルを算出する移動ベクトル算出ステップと、
前記ジェスチャー操作検出ステップにおいて前記ユーザーの第1ジェスチャー操作を検出した場合に前記入力位置において第1入力処理を実行し、前記ジェスチャー操作検出ステップにおいて前記ユーザーの第2ジェスチャー操作を検出した場合に前記入力位置において第2入力処理を実行する入力ステップと、
前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定するジェスチャー操作変化判定ステップと、
前記ジェスチャー操作変化判定ステップにおいて前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定した場合に、前記移動ベクトルを補正する移動ベクトル補正ステップと、
を実行する入力方法。
【請求項17】
ユーザーのジェスチャー操作を検出して表示画面の入力位置に対して入力処理を行う入力プログラムであって、
前記ユーザーの前記ジェスチャー操作を検出するジェスチャー操作検出ステップと、
前記ジェスチャー操作検出ステップにおいて検出した前記ジェスチャー操作の操作位置を判定する操作位置判定ステップと、
前記操作位置が移動した場合に、前記操作位置の移動量に基づいて前記入力位置を移動させる移動方向及び移動量からなる移動ベクトルを算出する移動ベクトル算出ステップと、
前記ジェスチャー操作検出ステップにおいて前記ユーザーの第1ジェスチャー操作を検出した場合に前記入力位置において第1入力処理を実行し、前記ジェスチャー操作検出ステップにおいて前記ユーザーの第2ジェスチャー操作を検出した場合に前記入力位置において第2入力処理を実行する入力ステップと、
前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定するジェスチャー操作変化判定ステップと、
前記ジェスチャー操作変化判定ステップにおいて前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定した場合に、前記移動ベクトルを補正する移動ベクトル補正ステップと、
を一又は複数のプロセッサーに実行させるための入力プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示画面に対するユーザーのジェスチャー操作による入力を受け付ける入力装置、入力方法、及び入力プログラムに関する。
【背景技術】
【0002】
従来、表示パネルの表示画面に対してジェスチャー操作による入力(画面操作)を行なうことが可能な入力装置が知られている。例えば、特許文献1には、ユーザーが機器に向かって手を一本指の形状にすると、ディスプレイ上に数字「1」のアイコンが表示されるとともに、1番目のメニューであるテレビの表示が強調表示され、手を二本指の形状にすると、ディスプレイ上に数字「2」のアイコンが表示されるとともに、2番目のメニューであるネットワークの表示が強調表示され、一定時間同じ手の形状を維持することで、1番目のメニュー又は2番目のメニューが選択されるインターフェース装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、前記入力装置は、例えばユーザーの手によるジェスチャー操作により指示された表示画面上の位置(入力位置)を、手の位置(操作位置)に基づいて特定する。例えば、前記入力装置は、ユーザーの指の関節の位置や、ジェスチャー操作時の手を投影した全体領域の中心(重心)位置などを入力位置として特定する。しかし、この方法では、例えばユーザーが手を開く操作(第1ジェスチャー操作)から手を閉じる(握る)操作(第2ジェスチャー操作)に変化させた場合に前記入力位置がユーザーの意図しない方向に変化する問題が生じる。
【0005】
本発明の目的は、ユーザーのジェスチャー操作を検出して表示画面の入力位置に対して入力処理を行う入力装置においてユーザーのジェスチャー操作の変化によって入力位置がユーザーの意図しない方向に変化することを防止することが可能な入力装置、入力方法、及び入力プログラムを提供することにある。
【課題を解決するための手段】
【0006】
本発明の一の態様に係る入力装置は、ユーザーのジェスチャー操作を検出して表示画面の入力位置に対して入力処理を行う入力装置であって、前記ユーザーの前記ジェスチャー操作を検出するジェスチャー操作検出部と、前記ジェスチャー操作検出部が検出した前記ジェスチャー操作の操作位置を判定する操作位置判定部と、前記操作位置が移動した場合に、前記操作位置の移動量に基づいて前記入力位置を移動させる移動方向及び移動量からなる移動ベクトルを算出する移動ベクトル算出部と、前記ジェスチャー操作検出部が前記ユーザーの第1ジェスチャー操作を検出した場合に前記入力位置において第1入力処理を実行し、前記ジェスチャー操作検出部が前記ユーザーの第2ジェスチャー操作を検出した場合に前記入力位置において第2入力処理を実行する入力処理部と、前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定するジェスチャー操作変化判定部と、前記ジェスチャー操作変化判定部が前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定した場合に、前記移動ベクトルを補正する移動ベクトル補正部と、を備える。
【0007】
本発明の他の態様に係る入力方法は、ユーザーのジェスチャー操作を検出して表示画面の入力位置に対して入力処理を行う入力方法であって、一又は複数のプロセッサーが、前記ユーザーの前記ジェスチャー操作を検出するジェスチャー操作検出ステップと、前記ジェスチャー操作検出ステップにおいて検出した前記ジェスチャー操作の操作位置を判定する操作位置判定ステップと、前記操作位置が移動した場合に、前記操作位置の移動量に基づいて前記入力位置を移動させる移動方向及び移動量からなる移動ベクトルを算出する移動ベクトル算出ステップと、前記ジェスチャー操作検出ステップにおいて前記ユーザーの第1ジェスチャー操作を検出した場合に前記入力位置において第1入力処理を実行し、前記ジェスチャー操作検出ステップにおいて前記ユーザーの第2ジェスチャー操作を検出した場合に前記入力位置において第2入力処理を実行する入力ステップと、前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定するジェスチャー操作変化判定ステップと、前記ジェスチャー操作変化判定ステップにおいて前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定した場合に、前記移動ベクトルを補正する移動ベクトル補正ステップと、を実行する方法である。
【0008】
本発明の他の態様に係る入力プログラムは、ユーザーのジェスチャー操作を検出して表示画面の入力位置に対して入力処理を行う入力プログラムであって、前記ユーザーの前記ジェスチャー操作を検出するジェスチャー操作検出ステップと、前記ジェスチャー操作検出ステップにおいて検出した前記ジェスチャー操作の操作位置を判定する操作位置判定ステップと、前記操作位置が移動した場合に、前記操作位置の移動量に基づいて前記入力位置を移動させる移動方向及び移動量からなる移動ベクトルを算出する移動ベクトル算出ステップと、前記ジェスチャー操作検出ステップにおいて前記ユーザーの第1ジェスチャー操作を検出した場合に前記入力位置において第1入力処理を実行し、前記ジェスチャー操作検出ステップにおいて前記ユーザーの第2ジェスチャー操作を検出した場合に前記入力位置において第2入力処理を実行する入力ステップと、前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定するジェスチャー操作変化判定ステップと、前記ジェスチャー操作変化判定ステップにおいて前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定した場合に、前記移動ベクトルを補正する移動ベクトル補正ステップと、を一又は複数のプロセッサーに実行させるためのプログラムである。
【発明の効果】
【0009】
本発明によれば、ユーザーのジェスチャー操作を検出して表示画面の入力位置に対して入力処理を行う入力装置においてユーザーのジェスチャー操作の変化によって入力位置がユーザーの意図しない方向に変化することを防止することが可能な入力装置、入力方法、及び入力プログラムを提供することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本発明の実施形態に係る表示装置の構成を示すブロック図である。
【
図2】
図2は、本発明の実施形態に係る表示装置における仮想操作面の一例を示す模式図である。
【
図3】
図3は、従来の表示装置における入力操作の一例を示す図である。
【
図4A】
図4Aは、従来の表示装置における入力操作の操作位置の一例を示す図である。
【
図4B】
図4Bは、従来の表示装置における入力操作の操作位置の一例を示す図である。
【
図5】
図5は、従来の表示装置における入力操作の一例を示す図である。
【
図6】
図6は、本発明の実施形態に係る表示装置におけるジェスチャー操作及び入力操作用アイコンの表示形態の変化の様子を示す図である。
【
図7】
図7は、本発明の実施形態に係る表示装置で実行される表示制御処理の手順の一例を説明するためのフローチャートである。
【
図8】
図8は、本発明の実施形態に係る表示装置における仮想操作面の設定方法の一例を示す図である。
【
図9】
図9は、本発明の実施形態に係る表示装置における仮想操作面の設定方法の一例を示す図である。
【
図10】
図10は、本発明の実施形態に係る表示装置における仮想操作面の設定方法の一例を示す図である。
【
図11】
図11は、本発明の実施形態に係る表示装置における仮想操作面の設定方法の一例を示す図である。
【
図12】
図12は、本発明の実施形態に係る表示装置における仮想操作面の設定方法の一例を示す図である。
【
図13】
図13は、本発明の実施形態に係る表示装置における仮想操作面の設定方法の一例を示す図である。
【
図14】
図14は、本発明の実施形態に係る表示装置における仮想操作面の設定方法の一例を示す図である。
【
図15】
図15は、本発明の実施形態に係る表示装置における仮想操作面の設定方法の一例を示す図である。
【
図16】
図16は、本発明の実施形態に係る表示装置における仮想操作面の設定方法の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照しながら、本発明の実施形態について説明する。なお、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格を有さない。
【0012】
図1に示すように、本発明の実施形態に係る表示装置1は、制御部11と、記憶部12と、表示パネル13と、操作部14と、モーションセンサ15とを備えている。
図2には、表示装置1の模式図を示している。モーションセンサ15は、表示パネル13の上部に設置され、ユーザーの入力操作を検出する。
【0013】
表示装置1は、表示画面13Aに対するユーザーの非接触による入力操作(例えばジェスチャー操作)を受け付ける。例えば、表示装置1は、仮想操作面R2においてユーザーの前記入力操作を検出すると、表示画面13Aに対するユーザーの前記入力操作に応じた入力処理を実行する。例えば、ユーザーが仮想操作面R2の所定の位置をタッチ操作した場合に、表示装置1は、仮想操作面R2におけるタッチ位置(操作位置)に対応する表示画面13A上の位置(入力位置)を検出してタッチ入力を受け付ける。また、表示装置1は、ユーザーのジェスチャー操作を検出して表示画面13Aの入力位置に対して入力処理を行う。表示装置1は、本発明の入力装置の一例である。以下、表示装置1の具体的構成について説明する。
【0014】
モーションセンサ15は、例えば2個のカメラと3個の赤外線LEDとを備え、所定の検知範囲においてユーザーの前記入力操作を検知する。モーションセンサ15は、検知情報を制御部11に出力する。前記検知情報には、モーションセンサ15を基準とした検出対象物(例えばユーザーの手、指先、スタイラスペン、支持棒など)の位置座標(X座標、Y座標、Z座標)が含まれる。モーションセンサ15は、例えばユーザーの手(右手RH、左手LH)の甲(掌)、指の関節、手指の骨格、角度、位置などを検知することが可能である。モーションセンサ15は、周知の技術を適用することができる。モーションセンサ15及びカメラは、本発明の撮像部の一例である。
【0015】
表示パネル13は、画像を表示するディスプレイであり、例えば液晶ディスプレイである。操作部14は、マウス、キーボードなどの操作機器である。なお、操作部14は、タッチパネルで構成されてもよい。
【0016】
記憶部12は、各種の情報を記憶するHDD(Hard Disk Drive)又はSSD(Solid State Drive)などの不揮発性の記憶部である。具体的には、記憶部12には、操作領域情報D1、仮想操作面情報D2などのデータが記憶される。
【0017】
操作領域情報D1は、表示パネル13の表示画面13Aにおける操作領域R1を示す情報である。操作領域R1は、表示画面13Aのうちユーザーが仮想操作面R2を介して入力操作を行うことが可能な領域、すなわちユーザーの入力操作を受け付け可能な領域である。操作領域R1は、表示画面13Aの全領域に設定されてもよいし、表示画面13Aの一部の領域に設定されてもよい。例えば表示画面13Aの全領域が操作領域R1に設定される場合、操作領域情報D1には、操作領域R1を規定する座標情報として、表示画面13Aの四隅の座標C11~C14(
図2参照)の情報が含まれる。操作領域情報D1は、操作領域R1が設定又は更新されるごとに記憶部12に登録される。
【0018】
仮想操作面情報D2は、表示画面13Aに対するユーザーの前記入力操作を受け付ける仮想操作面R2の領域を示す情報である。具体的には、仮想操作面R2は、操作領域R1に対応しており、仮想操作面R2を規定する四隅の座標C21~C24(
図2参照)と操作領域R1を規定する座標C11~C14とが対応付けられる。仮想操作面情報D2には、仮想操作面R2を規定する四隅の座標C21~C24の情報が含まれる。仮想操作面情報D2は、仮想操作面R2が設定又は更新されるごとに記憶部12に登録される。仮想操作面R2の大きさ及び位置は、予め設定されてもよいし、ユーザーの操作により設定されてもよい。
【0019】
また、記憶部12には、制御部11に後述の表示制御処理(
図7参照)を実行させるための表示制御プログラムなどの制御プログラムが記憶されている。例えば、前記表示制御プログラムは、CD又はDVDなどのコンピュータ読取可能な記録媒体に非一時的に記録され、表示装置1が備えるCDドライブ又はDVDドライブなどの読取装置(不図示)で読み取られて記憶部12に記憶される。なお、前記表示制御プログラムは、クラウドサーバーから配信されて記憶部12に記憶されてもよい。
【0020】
制御部11は、CPU、ROM、及びRAMなどの制御機器を有する。前記CPUは、各種の演算処理を実行するプロセッサーである。前記ROMは、前記CPUに各種の演算処理を実行させるためのBIOS及びOSなどの制御プログラムが予め記憶される不揮発性の記憶部である。前記RAMは、各種の情報を記憶する揮発性又は不揮発性の記憶部であり、前記CPUが実行する各種の処理の一時記憶メモリー(作業領域)として使用される。そして、制御部11は、前記ROM又は記憶部12に予め記憶された各種の制御プログラムを前記CPUで実行することにより表示装置1を制御する。
【0021】
ところで、従来の技術では、例えばユーザーの手によるジェスチャー操作により指示された表示画面13A上の位置(入力位置)を、手の位置(操作位置)に基づいて特定する。例えば、従来の表示装置は、ユーザーの指の関節の位置や、ジェスチャー操作時の手を投影した全体領域の中心(重心)位置などを入力位置として特定する。しかし、この方法では、例えばユーザーが手を開く操作(第1ジェスチャー操作)から手を閉じる操作(第2ジェスチャー操作)に変化させた場合に前記入力位置がユーザーの意図しない方向に変化する問題が生じる。以下、この問題の具体例を説明する。
【0022】
図3~
図5は、従来の技術により生じる前記問題を説明するための図である。例えば
図3に示す商品注文画面に、選択対象の画像として「注文」、「戻る」、「その他」の各選択ボタン画像が表示されている場合に、ユーザーが仮想操作面R2において右手RHの掌を表示画面13Aに翳す操作(第1ジェスチャー操作)をして上下左右方向(X方向及びY方向)に移動させると、表示画面13A上の入力操作用アイコンM1が、当該移動操作に応じて移動する。ユーザーは所望の商品を注文する場合、表示画面13Aに表示された「注文」の選択ボタン画像を押下するために、入力操作用アイコンM1が「注文」の選択ボタン画像に重なった状態で右手RHを閉じる操作(第2ジェスチャー操作)を行う。これにより、ユーザーは、所望の商品を選択(注文)する操作を行うことができる。
【0023】
ここで、従来の表示装置は、
図4Aに示すように、ユーザーの手(手を開いた状態)を投影した全体領域F1の中心(重心)位置P0(操作位置)を入力位置として特定する。このため、ユーザーが手を閉じた場合には、
図4Bに示すように、前記操作位置が、全体領域F1の中心位置P0から全体領域F2の中心位置P2に移動する。このため、表示画面13A上の前記入力位置も、前記操作位置の移動に応じて変化する。なお、前記入力位置の移動量及び移動方向からなる移動ベクトルは、操作位置の移動量(中心位置P0から中心位置P1への移動量)に基づいて算出される。
【0024】
このため、例えば
図5に示すように、ユーザーが仮想操作面R2において右手RHの掌を開いたまま上下左右方向(X方向及びY方向)に移動させて入力操作用アイコンM1が「注文」の選択ボタン画像に重なった状態で右手RHを閉じる操作を行った場合に、前記入力位置が下側に移動して「戻る」の選択ボタン画像を押下する操作が受け付けられてしまう場合がある。このように、従来の技術では、ユーザーのジェスチャー操作の変化に伴って、前記入力位置がユーザーの意図しない方向に変化する問題が生じる。これに対して、本実施形態に係る表示装置1では、以下に示すように、ユーザーのジェスチャー操作の変化によって入力位置がユーザーの意図しない方向に変化することを防止することが可能である。
【0025】
具体的に、制御部11は、
図1に示すように、操作面設定部111、入力操作検出部112、操作位置判定部113、表示処理部114、移動ベクトル算出部115、入力処理部116、ジェスチャー操作変化判定部117、及び移動ベクトル補正部118などの各種の処理部を含む。なお、制御部11は、前記CPUで前記表示制御プログラム及びに従った各種の処理を実行することによって、操作面設定部111、入力操作検出部112、操作位置判定部113、表示処理部114、移動ベクトル算出部115、入力処理部116、ジェスチャー操作変化判定部117、及び移動ベクトル補正部118として機能する。また、制御部11に含まれる一部又は全部の処理部が電子回路で構成されていてもよい。なお、前記表示制御プログラムは、複数のプロセッサーを前記各種の処理部として機能させるためのプログラムであってもよい。
【0026】
操作面設定部111は、ユーザーの入力操作を受け付ける仮想操作面R2を設定する。例えば
図2に示すように、操作面設定部111は、表示画面13AからZ方向に所定距離だけ離れた位置に仮想操作面R2を設定する。操作面設定部111は、予め設定された大きさの仮想操作面R2を予め設定された位置に設定してもよいし、ユーザーの操作に応じた大きさの仮想操作面R2をユーザーの指定した位置に設定してもよい。詳細は後述([仮想操作面設定方法]参照)するが、例えばユーザーは、所定のジェスチャー操作を行うことにより所望の大きさの仮想操作面R2を所望の位置に設定することができる。
【0027】
入力操作検出部112は、ユーザーの所定のジェスチャー操作を含む入力操作を検出する。具体的には、入力操作検出部112は、操作面設定部111により設定された仮想操作面R2においてユーザーの前記入力操作を検出する。例えば、入力操作検出部112は、モーションセンサ15から取得する検知情報に基づいて、仮想操作面R2における検知座標(操作位置)を検出し、当該検知座標から操作領域R1における入力座標(入力位置)を算出する。前記入力操作には、所定の入力処理を実行させるジェスチャー操作、表示画面13Aに手書き画像を描画させる描画操作などが含まれる。入力操作検出部112は、本発明のジェスチャー操作検出部の一例である。
【0028】
ここで、仮想操作面R2と操作領域R1の比率を、「W2:W1=H2:H1=a:b」とした場合(
図2参照)、入力操作検出部112は、仮想操作面R2における検知座標[sx,sy]に基づいて、入力座標[dx、dy]をdx=sx×b/a、dy=sy×b/aの式で算出することができる。なお、表示解像度[rx,ry]は、Min[dx、dy]=[0,0]、Max[dx、dy]=[dx、dy]である。
【0029】
ここでは、入力操作検出部112が前記ジェスチャー操作を検出する場合の具体例について説明する。
【0030】
例えばユーザーは、表示画面13Aに表示される入力操作用アイコンM1(例えばマウスカーソル画像)を移動させたい場合に、第1ジェスチャー操作を行う。前記第1ジェスチャー操作は、例えば表示画面13Aの前でユーザーが右手RHを開く操作(例えば右手RHを「パー」の形にする操作)である。また例えばユーザーは、表示画面13Aに表示される入力操作用アイコンM1で選択対象を選択(クリック)したい場合に、第2ジェスチャー操作を行う。前記第2ジェスチャー操作は、例えば表示画面13Aの前でユーザーの右手RHを閉じる操作(例えば右手RHを「グー」の形にする操作)である。入力操作検出部112は、前記第1ジェスチャー操作及び前記第2ジェスチャー操作を検出する。
【0031】
なお、第1ジェスチャー操作及び第2ジェスチャー操作の組み合わせ、上述の例に限定されない。例えば、前記第1ジェスチャー操作が、右手RHの人差し指を立てるポーズあり、かつ前記第2ジェスチャー操作が、右手RHを閉じるポーズであってもよい。また、前記第1ジェスチャー操作が、右手RHを開いて垂直に立てたポーズであり、かつ前記第2ジェスチャー操作が、右手RHを開いて90度に倒したポーズであってもよい。また、前記第1ジェスチャー操作が、右手RHを開くポーズであり、かつ前記第2ジェスチャー操作が、右手RHの親指を立てるポーズ又は右手RHのOKサインのポーズであってもよい。
【0032】
また、入力操作検出部112は、前記第1ジェスチャー操作及び前記第2ジェスチャー操作に近似(類似)する第3ジェスチャー操作を検出する。前記第3ジェスチャー操作は、例えば前記第1ジェスチャー操作から前記第2ジェスチャー操作に変化する途中のジェスチャー操作であり、例えば右手RHの「パー」の形と「グー」の形の間の形のジェスチャーである。
【0033】
入力操作検出部112は、ユーザーの手指の骨格、角度、及び位置の少なくともいずれかの手指情報に基づいて、前記第1ジェスチャー操作、前記第2ジェスチャー操作、及び前記第3ジェスチャー操作を検出する。また、入力操作検出部112は、前記手指情報に応じた手の握り度合いGn(後述)に基づいて、前記第1ジェスチャー操作、前記第2ジェスチャー操作、及び前記第3ジェスチャー操作を検出する。例えば、入力操作検出部112は、前記第1ジェスチャー操作に対応する握り度合いGnの第1閾値を予め設定しておき、検出した握り度合いGnが前記第1閾値未満である場合に前記第1ジェスチャー操作を検出する。また例えば、入力操作検出部112は、前記第2ジェスチャー操作に対応する握り度合いGnの第2閾値(但し、第1閾値<第2閾値とする。)を予め設定しておき、検出した握り度合いGnが前記第2閾値以上の場合に前記第2ジェスチャー操作を検出する。また、入力操作検出部112は、検出した握り度合いGnが前記第1閾値以上かつ第2閾値未満の場合に前記第3ジェスチャー操作を検出する。
【0034】
なお、記憶部12には、所定のジェスチャー操作と当該ジェスチャー操作に対応する操作内容とを互いに関連付けた設定情報が予め記憶されている。例えば、前記第1ジェスチャー操作及び前記第3ジェスチャー操作には、入力操作用アイコンM1の移動操作が関連付けられ、前記第2ジェスチャー操作には、入力操作用アイコンM1による選択操作(クリック操作)が関連付けられている。前記所定のジェスチャー操作には、仮想操作面R2を設定するためのジェスチャー操作(後述の[仮想操作面設定方法]参照)が含まれてもよい。また、前記所定のジェスチャー操作は、表示装置1を使用するユーザーごとに個別に設定されてもよい。
【0035】
操作位置判定部113は、入力操作検出部112が検出した前記ジェスチャー操作の仮想操作面R2における操作位置を判定する。具体的には、操作位置判定部113は、モーションセンサ15が撮像した前記ジェスチャー操作の撮像画像に基づいて、前記ジェスチャー操作の基準点を判定し、当該基準点の位置に基づいて前記操作位置を判定する。また、操作位置判定部113は、モーションセンサ15が撮像した前記ジェスチャー操作の撮像画像の重心位置を前記基準点として判定する。例えば、操作位置判定部113は、モーションセンサ15が撮像した前記ジェスチャー操作の撮像画像に基づいて、ユーザーの手指の骨格、角度、及び位置の少なくともいずれかの第1手指情報を作成し、当該第1手指情報に基づいて前記基準点の位置を判定する。
図4Aに示す中心位置P0及び
図4Bに示す中心位置P1は、前記基準点の一例である。
【0036】
表示処理部114は、各種情報を表示パネル13の表示画面13Aに表示させる。例えば、表示処理部114は、入力操作用アイコンM1の画像(マウスカーソル画像)、ユーザーが入力操作用アイコンM1を操作して選択可能な選択対象の画像(例えば
図3の「注文」、「戻る」、「その他」の各選択ボタン画像)などを表示画面13Aに表示させる。また、表示処理部114は、入力操作用アイコンM1を操作位置判定部113が判定した操作位置に対応する前記入力位置に表示させる。
【0037】
なお、表示処理部114は、入力操作用アイコンM1を、ジェスチャー操作の種類に応じて異なる表示態様で表示させてもよい。例えば、表示処理部114は、入力操作検出部112がユーザーの前記第1ジェスチャー操作を検出した場合に、入力操作用アイコンM1を第1表示形態で表示画面13Aに表示させる。また、表示処理部114は、入力操作検出部112がユーザーの前記第2ジェスチャー操作を検出した場合に、入力操作用アイコンM1を第2表示形態で表示画面13Aに表示させる。具体的には、
図6に示すように、表示処理部114は、入力操作検出部112がユーザーの前記第1ジェスチャー操作(「パー」のポーズ)を検出した場合に、入力操作用アイコンM1を第1のサイズ(大きさ)かつ第1の色(白色)で表示させる。一方、表示処理部114は、入力操作検出部112がユーザーの前記第2ジェスチャー操作(「グー」のポーズ)を検出した場合に、入力操作用アイコンM1を第1のサイズよりも小さい第2のサイズかつ第2の色(黒色)で表示させる。
【0038】
移動ベクトル算出部115は、ユーザーの前記ジェスチャー操作の操作位置が移動した場合に、前記操作位置の移動量に基づいて前記入力位置を移動させる移動方向及び移動量からなる移動ベクトルを算出する。例えば
図4A及び
図4Bに示すように、ユーザーが手を開いた状態から閉じた状態にジェスチャー操作を変化させた場合に、移動ベクトル算出部115は、前記操作位置に対応する前記基準点(中心位置P0,P1)の移動方向及び移動量に基づいて、前記入力位置の移動方向及び移動量(移動ベクトル)を算出する。なお、移動ベクトル算出部115は、例えば仮想操作面R2と操作領域R1の比率(
図2参照)に基づいて、前記操作位置の移動ベクトルを前記入力位置の移動ベクトルに換算する。
【0039】
入力処理部116は、ユーザーの入力操作に応じた前記入力位置において入力処理を実行する。入力処理部116は、入力操作検出部112がユーザーの第1ジェスチャー操作を検出した場合に前記入力位置において第1入力処理を実行し、入力操作検出部112がユーザーの第2ジェスチャー操作を検出した場合に前記入力位置において第2入力処理を実行する。例えば入力処理部116は、入力操作検出部112が入力操作用アイコンM1を前記第1ジェスチャー操作に応じて移動させる移動操作を検出した場合に、表示画面13A上の入力操作用アイコンM1を移動させる。また、例えば入力処理部116は、入力操作検出部112が入力操作用アイコンM1により選択対象を選択させる選択操作を検出した場合に、表示画面13A上の選択対象に応じた処理を実行する。例えば、入力操作検出部112が表示画面13A上の「注文」の選択ボタン画像を選択する操作を検出した場合に、入力処理部116は、「注文」の選択ボタン画像に割り当てられた注文処理を実行する。また、入力操作検出部112が前記描画操作を検出した場合に、入力処理部116は、表示画面13Aに手書き画像を描画する描画処理を実行する。入力処理部116は、本発明の入力処理部の一例である。
【0040】
ジェスチャー操作変化判定部117は、前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定する。例えば、ジェスチャー操作変化判定部117は、ユーザーの手を開いた状態から閉じた状態への変化を判定する。
【0041】
具体的には、ジェスチャー操作変化判定部117は、入力操作検出部112が検出したユーザーのジェスチャー操作(例えば前記第3ジェスチャー操作)と、前記第1ジェスチャー操作(手を開いた状態)及び前記第2ジェスチャー操作(手を閉じた状態)のそれぞれとの近似度を算出し、当該近似度に基づいて前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定する。また、ジェスチャー操作変化判定部117は、モーションセンサ15が撮像したユーザーのジェスチャー操作(前記第3ジェスチャー操作)の撮像画像に基づいて、ユーザーの手指の骨格、角度、及び位置の少なくともいずれかの第2手指情報を作成し、当該第2手指情報に基づいて前記近似度を判定する。例えば、ジェスチャー操作変化判定部117は、前記近似度の時間変化量が所定の第1基準値よりも大きい場合に、前記第1ジェスチャー操作から前記第2ジェスチャー操作へ変化したと判定する。
【0042】
ここで、
図6を参照して前記近似度の判定方法の一例を説明する。例えば、ジェスチャー操作変化判定部117は、入力操作検出部112がユーザーの前記第3ジェスチャー操作を検出した場合に、前記第3ジェスチャー操作と前記第1ジェスチャー操作及び前記第2ジェスチャー操作のそれぞれとの近似度を算出する。ジェスチャー操作変化判定部117は、前記第2手指情報に基づいて前記近似度を算出する。前記近似度は、ユーザーの手の握り度合いGnを示す指標である。
図6には、時間変化に伴って変化するユーザーの手の握り度合いGnを示している。
【0043】
例えば
図6に示すように、前記第1ジェスチャー操作(手を開く操作)は握り度合いGnが「0」(又は0~0.1)に設定されており、前記第2ジェスチャー操作(手を握る操作)は握り度合いGnが「1」(又は0.9~1)に設定されている。前記第1ジェスチャー操作及び前記第2ジェスチャー操作のそれぞれに対応する握り度合いGnの情報は予め記憶部12に記憶される。ここで、入力操作検出部112がユーザーの前記第3ジェスチャー操作を検出すると、ジェスチャー操作変化判定部117は、ユーザーの手指の骨格、角度、及び位置の少なくともいずれかの前記第2手指情報に基づいて、前記第3ジェスチャー操作に対応する握り度合いGnを算出する。握り度合いGnが「0」に近い程、前記第3ジェスチャー操作が前記第1ジェスチャー操作に近似することを示し、握り度合いGnが「1」に近い程、前記第3ジェスチャー操作が前記第2ジェスチャー操作に近似することを示している。ジェスチャー操作変化判定部117は、前記第3ジェスチャー操作に対応する握り度合いGnに基づいて、前記第1ジェスチャー操作と前記第3ジェスチャー操作との近似度A1、及び、前記第2ジェスチャー操作と前記第3ジェスチャー操作との近似度A2を算出する。そして、ジェスチャー操作変化判定部117は、近似度A1,A2に基づいて前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定する。また、ジェスチャー操作変化判定部117は、近似度A1,A2の時間変化量が所定の第1基準値よりも大きい場合に、前記第1ジェスチャー操作から前記第2ジェスチャー操作へ変化したと判定する。
【0044】
移動ベクトル補正部118は、ジェスチャー操作変化判定部117が前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定した場合に、前記移動ベクトルを補正する。
【0045】
例えば、移動ベクトル補正部118は、移動ベクトル算出部115が算出した前記移動量に対して予め設定された所定の補正移動量を減算することにより前記移動ベクトルを補正する。また例えば、移動ベクトル補正部118は、移動ベクトル算出部115が算出した前記移動ベクトルに対して、予め設定された補正移動方向及び補正移動量からなる補正移動ベクトルを減算することにより前記移動ベクトルを補正する。例えば、ユーザーの前記ジェスチャー操作の操作位置の移動量と、当該移動量に対応する補正移動量との複数の組み合わせが記憶部12に予め登録されてもよい。移動ベクトル補正部118は、記憶部12を参照して、移動ベクトル算出部115が算出した前記移動量に対応する前記補正移動量を取得して、前記移動ベクトルを補正する。
【0046】
他の実施形態として、移動ベクトル補正部118は、移動ベクトル算出部115が算出した前記移動量に対して予め設定された1よりも小さい値である所定の補正係数を乗算することにより前記移動ベクトルを補正してもよい。例えば、ユーザーの前記ジェスチャー操作の操作位置の移動量と、当該移動量に対応する補正係数との複数の組み合わせが記憶部12に予め登録されてもよい。移動ベクトル補正部118は、記憶部12を参照して、移動ベクトル算出部115が算出した前記移動量に対応する前記補正係数を取得して、前記移動ベクトルを補正する。
【0047】
また他の実施形態として、移動ベクトル補正部118は、移動ベクトル算出部115が算出した前記移動量が予め設定された所定の上限値よりも大きい場合に、前記移動量が前記上限値以下となるように、前記移動ベクトルを補正してもよい。前記上限値は、予め記憶部12に登録されてもよい。移動ベクトル補正部118は、移動ベクトル算出部115が算出した前記移動量が前記上限値よりも大きい場合に、前記移動ベクトルを補正する補正処理を実行する。この構成によれば、必要な場合に限って補正処理を実行するため、処理負荷を低減することができる。
【0048】
このように、移動ベクトル補正部118は、前記第1ジェスチャー操作の前記基準点(
図4Aの中心位置P0)の位置から前記第2ジェスチャー操作の前記基準点(
図4Bの中心位置P1)の位置に基準点が変化することによる前記入力位置の移動を相殺するように、前記移動ベクトルを補正する。
【0049】
ここで、ジェスチャー操作変化判定部117が、前記近似度の時間変化量が所定の第1基準値よりも大きい場合に、前記第1ジェスチャー操作から前記第2ジェスチャー操作へ変化したと判定する構成の場合に、移動ベクトル補正部118は、前記近似度の前記時間変化量が第1基準値よりも大きいと判定された時点から所定の継続時間が経過するまでの間、前記移動ベクトルを補正してもよい。これにより、前記補正処理を前記継続時間に限定して実行することができるため、処理負荷を低減することができる。なお、前記継続時間は、前記近似度の大きさに対応付けて予め設定されてもよい。
【0050】
また、移動ベクトル補正部118は、前記近似度の前記時間変化量が第1基準値よりも大きいと判定された時点から前記近似度の前記時間変化量が前記第1基準値以下と判定されるまでの間、前記移動ベクトルを補正してもよい。これにより、前記移動ベクトルの移動量を所定量まで確実に減少させることができる。
【0051】
また、移動ベクトル補正部118は、前記近似度の前記時間変化量が所定の第2基準値よりも大きい場合に、前記近似度の前記時間変化量が前記第2基準値よりも小さい場合と比較して、前記移動ベクトルを補正する補正効果を大きくしてもよい。これにより、ジェスチャー操作の変化度合いに応じて前記移動ベクトルを補正することができるため、効率的に補正処理を実行することができる。
【0052】
上述のように、移動ベクトル補正部118による補正処理により、前記基準点の位置をユーザーのジェスチャー操作の変化に関わらず固定することができるため、ジェスチャー操作の変化による入力位置の移動を防止することができる。
【0053】
[表示制御処理]
以下、
図7を参照しつつ、表示装置1の制御部11によって実行される表示制御処理について説明する。
【0054】
なお、本発明は、前記表示制御処理に含まれる一又は複数のステップを実行する表示制御方法(本発明の入力方法の一例)の発明として捉えることができ、ここで説明する表示制御処理に含まれる一又は複数のステップが適宜省略されてもよい。なお、前記表示制御処理における各ステップは同様の作用効果を生じる範囲で実行順序が異なってもよい。さらに、ここでは制御部11が前記表示制御処理における各ステップを実行する場合を例に挙げて説明するが、複数のプロセッサーが当該表示制御処理における各ステップを分散して実行する表示制御方法も他の実施形態として考えられる。
【0055】
先ずステップS11において、制御部11は、ユーザーの入力操作を検出したか否かを判定する。具体的には、制御部11は、仮想操作面R2においてユーザーの前記入力操作を検出する。例えば、制御部11は、モーションセンサ15から取得する検知情報に基づいて、仮想操作面R2における検知座標を検出し、当該検知座標から表示画面13Aの操作領域R1における入力座標を算出する。制御部11が前記入力操作を検出した場合(S11:Yes)、処理はステップS12に移行する。制御部11が前記入力操作を検出しない場合(S11:No)、処理はステップS18に移行する。
【0056】
ステップS12において、制御部11は、ユーザーの所定のジェスチャー操作を検出したか否かを判定する。例えば、制御部11は、ユーザーの手指の骨格、角度、及び位置の少なくともいずれかの手指情報に基づいて、ユーザーの右手RHを開く操作(右手RHを「パー」の形にする操作)、又は、ユーザーの右手RHを閉じる操作(右手RHを「グー」の形にする操作)を検出する。制御部11がユーザーの前記ジェスチャー操作を検出した場合(S12:Yes)、処理はステップS13に移行する。一方、制御部11がユーザーの前記ジェスチャー操作を検出しない場合(S12:No)、処理はステップS17に移行する。ステップS12は、本発明のジェスチャー操作検出ステップの一例である。
【0057】
次にステップS13において、制御部11は、前記ジェスチャー操作の操作位置を判定する。具体的には、制御部11は、モーションセンサ15が撮像した前記ジェスチャー操作の撮像画像に基づいて、仮想操作面R2における前記ジェスチャー操作の基準点を判定し、当該基準点の位置に基づいて前記操作位置を判定する。例えば、制御部11は、モーションセンサ15が撮像した前記ジェスチャー操作の撮像画像に基づいて、ユーザーの手指の骨格、角度、及び位置の少なくともいずれかの第1手指情報を作成し、当該第1手指情報に基づいて前記基準点(例えば
図4Aに示す中心位置P0)の位置を判定し、当該基準点の位置に基づいて前記操作位置を判定する。ステップS13は、本発明の操作位置判定ステップの一例である。
【0058】
また、ステップS13において、制御部11は、入力操作用アイコンM1を、判定した前記操作位置に対応する表示画面13A上の入力位置に表示させる。
【0059】
次にステップS14において、制御部11は、ユーザーの前記ジェスチャー操作に対応する入力処理を実行する。例えば、ユーザーが仮想操作面R2において右手RHを開いた状態(前記第1ジェスチャー操作)で上下左右方向(X方向及びY方向)に移動させると、制御部11は、当該移動操作を受け付けて、表示画面13Aに表示された入力操作用アイコンM1をユーザーの右手RHの動きに追従するように移動させる。ステップS14は、本発明の入力ステップの一例である。
【0060】
またステップS14において、制御部11は、ユーザーの前記ジェスチャー操作の操作位置が移動した場合に、前記操作位置の移動量に基づいて前記入力位置を移動させる移動方向及び移動量からなる移動ベクトルを算出する。制御部11は、前記操作位置の移動ベクトルに基づいて前記入力位置の移動ベクトルを算出して、表示画面13A上の入力操作用アイコンM1を移動させる。ステップS14は、本発明の移動ベクトル算出ステップの一例である。
【0061】
次にステップS15において、制御部11は、前記ジェスチャー操作が変化したか否かを判定する。具体的には、制御部11は、検出したユーザーのジェスチャー操作と、前記第1ジェスチャー操作(手を開いた状態)及び前記第2ジェスチャー操作(手を閉じた状態)との近似度を算出し、当該近似度に基づいて前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定する。例えば、制御部11は、前記近似度の時間変化量が所定の第1基準値よりも大きい場合に、検出したジェスチャー操作が、前記第1ジェスチャー操作から前記第2ジェスチャー操作へ変化したと判定する。前記ジェスチャー操作が変化した場合(S15:Yes)、処理はステップS16に移行する。前記ジェスチャー操作が変化しない場合(S15:No)、処理はステップS18に移行する。ステップS15は、本発明のジェスチャー操作変化判定ステップの一例である。
【0062】
次にステップS16において、制御部11は、前記入力位置の移動ベクトルを補正する。例えば、制御部11は、ユーザーの前記ジェスチャー操作の操作位置の前記移動量に対応する前記入力位置の移動量に対して予め設定された所定の補正移動量を減算することにより前記移動ベクトルを補正する。
【0063】
また、制御部11は、算出した前記移動量に対して予め設定された1よりも小さい値である所定の補正係数を乗算することにより前記移動ベクトルを補正してもよい。また、制御部11は、算出した前記移動量が予め設定された所定の上限値よりも大きい場合に、前記移動量が前記上限値以下となるように、前記移動ベクトルを補正してもよい。
【0064】
このように、制御部11は、前記第1ジェスチャー操作の前記基準点(
図4Aの中心位置P0)の位置から前記第2ジェスチャー操作の前記基準点(
図4Bの中心位置P1)の位置に基準点が変化することによる前記入力位置の移動を相殺するように、前記移動ベクトルを補正する。ステップS16は、本発明の移動ベクトル補正ステップの一例である。
【0065】
次にステップS17において、制御部11は、ユーザーの前記ジェスチャー操作に対応する入力処理を実行する。例えば、制御部11は、補正後の前記移動ベクトルに基づいて、入力操作用アイコンM1による入力処理を実行する。例えば、表示画面13Aにおいて、入力操作用アイコンM1が「注文」の選択ボタン画像に重なる位置において、制御部11が前記第1ジェスチャー操作(手を開いた状態)から前記第2ジェスチャー操作(手を閉じた状態)への変化を判定すると、制御部11は、前記入力位置の変化を相殺して、「注文」の選択ボタン画像に割り当てられた注文処理を実行する。
【0066】
次にステップS18において、制御部11は、前記入力操作が終了したか否かを判定する。前記入力操作が終了した場合(S18:Yes)、制御部11は前記表示制御処理を終了する。前記入力操作が終了しない場合(S18:No)、制御部11はステップS11に戻る。
【0067】
以上のようにして、制御部11は、前記表示制御処理を実行する。
【0068】
以上説明したように、本実施形態に係る表示装置1は、ユーザーの前記ジェスチャー操作を検出し、検出した前記ジェスチャー操作の操作位置を判定する。また、表示装置1は、前記操作位置が移動した場合に、前記操作位置の移動量に基づいて前記入力位置を移動させる移動方向及び移動量からなる移動ベクトルを算出する。また、表示装置1は、前記ユーザーの第1ジェスチャー操作を検出した場合に前記入力位置において第1入力処理を実行し、前記ユーザーの第2ジェスチャー操作を検出した場合に前記入力位置において第2入力処理を実行する。また、表示装置1は、前記第1ジェスチャー操作から前記第2ジェスチャー操作への変化を判定した場合に前記移動ベクトルを補正する。具体的には、表示装置1は、ジェスチャー操作の基準点の移動に伴う前記入力位置の移動を相殺するように、前記移動ベクトルを補正する。
【0069】
これにより、例えばユーザーが手を開く操作(第1ジェスチャー操作)から手を閉じる(握る)操作(第2ジェスチャー操作)に変化させた場合に前記入力位置がユーザーの意図しない方向に変化することを防止することができる。
【0070】
[仮想操作面設定方法]
操作面設定部111は、ユーザーの所定の設定用ジェスチャー操作に基づいて所望の大きさの仮想操作面R2を所望の位置に設定してもよい。
【0071】
具体的には、操作面設定部111は、ユーザーの設定用ジェスチャー操作を検出する。具体的には、操作面設定部111は、モーションセンサ15から取得する検知情報に基づいて、前記設定用ジェスチャー操作を検出する。例えば、操作面設定部111は、前記検知情報に含まれる座標情報に基づいてユーザーの手の形状を特定して、記憶部12に予め登録された複数のジェスチャー操作のうち該当するジェスチャー操作を特定する。
【0072】
操作面設定部111は、ユーザーの所定の第1設定用ジェスチャー操作を検出した場合に、当該第1設定用ジェスチャー操作に応じた領域を表示画面13Aに対するユーザーの入力操作を受け付ける仮想操作面R2として設定する。なお、操作面設定部111は、前記第1設定用ジェスチャー操作が所定時間継続して行われた場合に仮想操作面R2を設定してもよい。前記第1設定用ジェスチャー操作は、例えば左手LH及び右手RHのそれぞれの掌を表示画面13Aに向けて翳す操作である。すなわち、前記第1設定用ジェスチャー操作は、ユーザーが仮想操作面R2を設定するための設定操作である。
【0073】
例えば
図8に示すように、ユーザーが左手LHの掌を左上の任意の位置で表示画面13Aに翳し、右手RHの掌を右下の任意の位置で表示画面13Aに翳すと、操作面設定部111は、モーションセンサ15から取得する検知情報に基づいて、左手LHの座標Ph1と、右手RHの座標Ph2と、左手LH及び右手RHを翳す第1設定用ジェスチャー操作とを検出する。操作面設定部111は、第1設定用ジェスチャー操作を検出すると、左手LHの座標Ph1と右手RHの座標Ph2とに基づいて仮想操作面R2を設定する。
【0074】
例えば
図8に示すように、操作面設定部111は、左手LHの位置(座標Ph1)と右手RHの位置(座標Ph2)とを結ぶ線を対角線とする矩形の仮想操作面R2を設定する。具体的には、操作面設定部111は、左手LHの座標Ph1及び右手RHの座標Ph2に基づいて矩形の角部の座標C21~C24(
図2参照)を算出して仮想操作面R2を設定する。
【0075】
また、例えば、操作面設定部111は、表示画面13Aから所定距離L1だけ離れた位置に仮想操作面R2を設定する。なお、所定距離L1は、左手LHの座標Ph1(Z座標)及び右手RHの座標Ph2(Z座標)に対応する距離である。
【0076】
また、例えば、操作面設定部111は、縦横比が表示画面13Aの縦横比と同一比率の仮想操作面R2を設定してもよい。具体的には、
図9に示すように、操作面設定部111は、表示画面13Aの縦横比(H1:W1)と仮想操作面R2の縦横比(H2:W2)とが同一(H1:W1=H2:W2)となる仮想操作面R2を設定する。
【0077】
このように、表示画面13A(操作領域R1)の大きさと仮想操作面R2の大きさは、同一であってもよいし異なってもよい。ここで、仮想操作面R2が操作領域R1よりも小さい場合は、大型の表示パネル13をユーザーの手元で操作する用途に好適である。これに対して、仮想操作面R2が操作領域R1よりも大きい場合は、小型の表示パネル13を離れた位置で操作する用途に好適である。
【0078】
また、
図10に示すように、操作面設定部111は、表示画面13Aに対して平行でない所定角度d1を有する仮想操作面R2を設定してもよい。すなわち、仮想操作面R2は、表示画面13Aに対して斜め方向に設定されてもよい。例えば、操作面設定部111は、左手LHの座標Ph1(Z座標)と、右手RHの座標Ph2(Z座標)とに基づいて所定角度d1を設定する。これにより、ユーザーは表示画面13Aに対して斜め方向から入力操作を行うことが可能になる。なお、操作面設定部111は、所定角度d1の情報を表示画面13Aに表示させてもよい。これにより、ユーザーは表示画面13Aに対する仮想操作面R2の角度(傾き度合い)を把握することができる。
【0079】
また、操作面設定部111は、表示画面13Aの一部の領域に対応する仮想操作面R2を設定してもよい。例えば
図11に示すように、操作面設定部111は、表示画面13Aの一部(左側領域)の操作領域R1に対応する仮想操作面R2を設定する。操作領域R1の位置及び大きさは、ユーザーの設定操作により設定することが可能である。なお、仮想操作面R2を設定するユーザーが操作領域R1を把握し易いように、操作面設定部111は、仮想操作面R2を設定する際に、
図12に示すように、操作領域R1を示すオブジェクト画像T1を表示画面13Aに表示させてもよい。
【0080】
なお、操作面設定部111は、周知の座標変換(射影変換、アフィン変換など)を利用して、第1設定用ジェスチャー操作に対応する座標に基づいて表示画面13Aの操作領域R1に関連付けられた仮想操作面R2を設定することができる。
【0081】
また、操作面設定部111は、設定した仮想操作面R2を調整する処理を実行してもよい。具体的には、操作面設定部111は、仮想操作面R2が設定された後にユーザーの所定の第2設定用ジェスチャー操作を検出した場合に、第2設定用ジェスチャー操作に基づいて仮想操作面R2の大きさ及び位置の少なくともいずれかを変更する。前記第2設定用ジェスチャー操作は、例えば右手RHによる指差し操作(
図13参照)である。
【0082】
例えば
図13に示すように、仮想操作面R2が設定された後にユーザーが右手RHで表示画面13Aを指差し操作した場合に、操作面設定部111は、モーションセンサ15から取得する検知情報に基づいて、右手RHの座標Ph3と、右手RHによる指差し操作の第2設定用ジェスチャー操作とを検出する。操作面設定部111は、前記第2設定用ジェスチャー操作を検出すると、右手RHの座標Ph3に基づいて仮想操作面R2を移動可能に設定し、ユーザーによる仮想操作面R2の移動操作を受け付ける。例えばユーザーが右手RHを指差しの状態のまま左方向に動かすと、操作面設定部111は、仮想操作面R2を右手RHの移動量に応じた分だけ左方向に移動させる。すなわち、操作面設定部111は、移動後の右手RHの座標Ph3に仮想操作面R2を設定する。
【0083】
また、例えば
図14に示すように、仮想操作面R2が設定された後にユーザーが左手LHを翳したまま右手RHの拳を握る操作をした場合に、操作面設定部111は、モーションセンサ15から取得する検知情報に基づいて、左手LHの座標Ph1と、右手RHの座標Ph2と、左手LHを翳し右手RHを握る第2設定用ジェスチャー操作とを検出する。操作面設定部111は、前記第2設定用ジェスチャー操作を検出すると、右手RHの座標Ph2に基づいて仮想操作面R2の大きさを変更可能に設定し、ユーザーによる仮想操作面R2の大きさの変更操作を受け付ける。例えばユーザーが右手RHを拳を握ったまま右下方向に動かすと、操作面設定部111は、仮想操作面R2を右手RHの移動量に応じた分だけ大きさ(面積)を拡大する。すなわち、操作面設定部111は、左手LHの座標Ph1と移動後の右手RHの座標Ph2により規定される仮想操作面R2を設定する。
【0084】
図15に示す例では、仮想操作面R2が設定された後にユーザーが右手RHを翳したまま左手LHの拳を握る操作をした場合の例を示している。この場合、操作面設定部111は、モーションセンサ15から取得する検知情報に基づいて、左手LHの座標Ph1と、右手RHの座標Ph2と、右手RHを翳し左手LHを握る第2設定用ジェスチャー操作とを検出する。操作面設定部111は、前記第2設定用ジェスチャー操作を検出すると、左手LHの座標Ph1に基づいて仮想操作面R2の大きさを変更可能に設定し、ユーザーによる仮想操作面R2の大きさの変更操作を受け付ける。例えばユーザーが左手LHを拳を握ったまま右下方向に動かすと、操作面設定部111は、仮想操作面R2を左手LHの移動量に応じた分だけ大きさ(面積)を縮小する。すなわち、操作面設定部111は、右手RHの座標Ph2と移動後の左手LHの座標Ph1により規定される仮想操作面R2を設定する。
【0085】
なお、操作面設定部111は、仮想操作面R2が設定された後に前記第2設定用ジェスチャー操作を検出した場合に、仮想操作面R2を示すオブジェクト画像T2を前記第2設定用ジェスチャー操作に応じて表示画面13Aに表示させてもよい。
図16には、大きさが変更された後の仮想操作面R2を示すオブジェクト画像T2の一例を示している。この構成によれば、ユーザーは、仮想操作面R2の変更後の大きさ、位置などを視覚的に把握することが可能になる。
【0086】
なお、本発明の表示装置は、各請求項に記載された発明の範囲において、以上に示された各実施形態を自由に組み合わせること、或いは各実施形態を適宜、変形又は一部を省略することによって構成されることも可能である。
【符号の説明】
【0087】
1 :表示装置
13 :表示パネル
13A :表示画面
15 :モーションセンサ
111 :操作面設定部
112 :入力操作検出部
113 :操作位置判定部
114 :表示処理部
115 :移動ベクトル算出部
116 :入力処理部
117 :ジェスチャー操作変化判定部
118 :移動ベクトル補正部