JP2019008631A - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2019008631A JP2019008631A JP2017125073A JP2017125073A JP2019008631A JP 2019008631 A JP2019008631 A JP 2019008631A JP 2017125073 A JP2017125073 A JP 2017125073A JP 2017125073 A JP2017125073 A JP 2017125073A JP 2019008631 A JP2019008631 A JP 2019008631A
- Authority
- JP
- Japan
- Prior art keywords
- gesture
- touch
- distance
- information processing
- processing apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
【課題】ユーザが繰り返し動作をしなくとも表示の変更を継続することを目的とする。【解決手段】操作面の操作対象に対するジェスチャを検出する検出手段と、検出手段により検出されたジェスチャに応じて操作対象の表示を変更する制御手段と、を有し、制御手段は、ジェスチャがマルチタッチのジェスチャであり、マルチタッチのジェスチャに関する値の総変化量が閾値以上の場合、表示の変更を継続するよう制御する。【選択図】図4
Description
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
タッチパネルをつけたディスプレイや、赤外線タッチセンサ・距離画像センサ等をつけたプロジェクタ投影面に表示されるUI(ユーザインターフェース)オブジェクトを操作するジェスチャ認識技術が広まっている。特に、タッチ操作は、タッチ、ドラッグ、フリック、拡大縮小、回転等様々な直感操作が実現されている。
特許文献1では、入力の間に1つ以上の接触の離昇を決定し、離昇の速度を決定し、離昇の速度に基づき複数の速度範囲に対応する複数の減衰率の1つを選択し、その選択された減衰率に基づき入力の動きを継続させる技術が開示されている。
特許文献2では、ジェスチャ操作が同じジェスチャ方向に、予め定められた回数、連続して繰り返された場合、画面移動変形型機能を実行させるための継続アイコンを表示面に表示させる技術が開示されている。
特許文献1では、入力の間に1つ以上の接触の離昇を決定し、離昇の速度を決定し、離昇の速度に基づき複数の速度範囲に対応する複数の減衰率の1つを選択し、その選択された減衰率に基づき入力の動きを継続させる技術が開示されている。
特許文献2では、ジェスチャ操作が同じジェスチャ方向に、予め定められた回数、連続して繰り返された場合、画面移動変形型機能を実行させるための継続アイコンを表示面に表示させる技術が開示されている。
二点をタッチしてその二点間の距離の変化に応じて表示を拡大縮小させる拡大縮小ジェスチャや、二点間の角度の変化に応じて表示を回転させる回転ジェスチャでは、ユーザが二点をタッチする手等の操作体の可動範囲に限りがある。そのため、所望の大きさや角度になるまでユーザが何度も繰り返しジェスチャを行う必要がある場合がある。また特許文献2では繰り返し動作を検知することで継続アイコンを表示させる技術が開示されている。しかし、ユーザが、継続アイコンを選択する操作をするために操作種類の切り替えを行うことなく、二点の位置を移動させる操作中に、操作対象を所望の大きさや角度に変更できることが望ましい。また、二点の位置を移動させる操作を操作対象が所望の大きさや角度になるまで繰り返さなくても、所望の大きさや角度に変更できることが望ましい。
また、所望の倍率又は角度に至らず動かせる限界まで大きく手指を動かしてジェスチャする場合、手を操作面から離すまでの間に自然と二点間の距離又は角度が逆方向に動いてしまい、所望と逆方向の拡大縮小又は回転が発生してしまうことがある。
また、所望の倍率又は角度に至らず動かせる限界まで大きく手指を動かしてジェスチャする場合、手を操作面から離すまでの間に自然と二点間の距離又は角度が逆方向に動いてしまい、所望と逆方向の拡大縮小又は回転が発生してしまうことがある。
本発明の情報処理装置は、操作面の操作対象に対するジェスチャを検出する検出手段と、前記検出手段により検出された前記ジェスチャに応じて前記操作対象の表示を変更する制御手段と、を有し、前記制御手段は、前記ジェスチャがマルチタッチのジェスチャであり、前記マルチタッチのジェスチャに関する値の総変化量が閾値以上の場合、前記表示の変更を継続するよう制御する。
本発明によれば、ユーザが、操作対象が所望の大きさや角度になるまで、二点の位置を移動させる操作を、繰り返さなくても、表示の変更を継続することができる。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
図1は、画像処理装置のハードウェア構成の一例を示す図である。CPU(中央処理装置)201は、画像処理装置全体を制御する。ROM202は、プログラム等を格納する。RAM203は、CPU201のワークエリアを提供するために用いられる。記憶装置204は、ハードディスク等の記憶装置であり、データやプログラムを格納する。距離画像センサ205は、画角に含む各画素までの距離を取得する。距離画像センサ205は、赤外光等の光を投射してその反射時間によって測定するものや、パターン光を照射してそのパターン形状から距離を計測するもの、又はステレオカメラ等、どのようなものでもよい。本実施形態では後述する入力部101が入力するデータは距離画像センサ205によって取得された距離画像として説明する。表示装置206は、UIオブジェクトやテキスト情報等の画像を表示するためのディスプレイ、プロジェクタ等である。CPU201が、ROM202又は記憶装置204に記憶されたプログラムに基づき処理を実行することによって後述する図3の機能構成及び後述する図4に示すフローチャートの処理が実現される。
図1は、画像処理装置のハードウェア構成の一例を示す図である。CPU(中央処理装置)201は、画像処理装置全体を制御する。ROM202は、プログラム等を格納する。RAM203は、CPU201のワークエリアを提供するために用いられる。記憶装置204は、ハードディスク等の記憶装置であり、データやプログラムを格納する。距離画像センサ205は、画角に含む各画素までの距離を取得する。距離画像センサ205は、赤外光等の光を投射してその反射時間によって測定するものや、パターン光を照射してそのパターン形状から距離を計測するもの、又はステレオカメラ等、どのようなものでもよい。本実施形態では後述する入力部101が入力するデータは距離画像センサ205によって取得された距離画像として説明する。表示装置206は、UIオブジェクトやテキスト情報等の画像を表示するためのディスプレイ、プロジェクタ等である。CPU201が、ROM202又は記憶装置204に記憶されたプログラムに基づき処理を実行することによって後述する図3の機能構成及び後述する図4に示すフローチャートの処理が実現される。
図2は、画像処理装置の設置例を示す図である。操作台301は、画像を投影する操作台である。操作台301が基本的な操作面である。表示装置206は、操作台301へUIや情報の画像を投影する。ユーザは、表示装置206によって操作面に投影された画像に対してタッチ等の操作を行う。距離画像センサ205は、ユーザの操作を検出する本装置の入力として、各画素に距離情報を保持する距離画像を取得する。
図3は、画像処理装置の機能構成の一例を示す図である。入力部101は、データを入力する。本実施形態では入力部101は、距離画像センサ205によって取得された距離画像を入力データとして入力する。操作体検出部102は、入力された距離画像から手等の操作体を検出する。位置取得部103は、操作体の位置を取得する。タッチ検出部104は、操作面へのタッチ及びタッチ位置を検出する。ジェスチャ検出部105は、タッチ中の拡大縮小、回転等のジェスチャを検出する。制御部106は、ジェスチャ検出部105によって検出されるジェスチャに従ってUIオブジェクトの挙動を制御する。表示部107は、制御部106に従って制御されたUIオブジェクトを表示装置206に表示する。
図4は、画像処理装置における操作検出の情報処理の一例を示すフローチャートである。
S401において、入力部101は、データを入力する。本実施形態では入力部101は、入力データとして距離画像センサ205から取得された距離画像を入力する。図5は、距離画像の画像座標系と三次元位置座標系との関係を示す図である。図5(a)は距離画像である。画像中の各座標(x、y)に、距離画像センサ205からの距離Dを保持する。図5(b)は操作面での三次元座標(X,Y,Z)を表す図である。三次元位置座標系と画像座標系との変換式は式(1)で表される。
ここで、Dは距離画像の各画素から取得する距離であり、r00〜r22、t0〜t2、fx、fy、cx、cyはセンサ設置時にキャリブレーションによって予め求めるパラメータである。キャリブレーションで求めるパラメータは、三次元位置座標(X,Y、Z)と画像座標(x,y)との対応関係が取れた既知の点がパラメータ数以上あれば、最小二乗法等で値を予め計算しておくことができる。このパラメータを用いて、式(1)により距離画像の(x、y、D)を三次元位置座標系に変換することができる。
S401において、入力部101は、データを入力する。本実施形態では入力部101は、入力データとして距離画像センサ205から取得された距離画像を入力する。図5は、距離画像の画像座標系と三次元位置座標系との関係を示す図である。図5(a)は距離画像である。画像中の各座標(x、y)に、距離画像センサ205からの距離Dを保持する。図5(b)は操作面での三次元座標(X,Y,Z)を表す図である。三次元位置座標系と画像座標系との変換式は式(1)で表される。
次に、S402において、操作体検出部102は、手等の操作体を入力データから検出する。
図6は、S402の処理の概要を説明するための図である。距離画像601は、入力データである距離画像である。操作面602は、距離画像601に映る操作面である。操作体603は、距離画像601に映る手等の操作体である。操作体は手でなくとも、二点をタッチ可能な器具等でもよい。操作体検出部102は、距離画像601における操作体603の領域を検出する。操作体検出部102による操作体603の領域を検出する方法は背景差分、フレーム間差分、機械学習による手検出等、どのような方法でもよい。操作体検出部102は、更に、距離画像601における一つ以上の指先位置を検出する。図6において指先位置604は操作体603の指先位置を示す。図6の例では、操作体検出部102は、人差し指の指先と親指の指先との二点を指先位置として検出している。操作体検出部102による操作体603の領域からの指先位置604の検出方法は、輪郭形状やテンプレートマッチング、機械学習による指先検出等、どのようなものでもよい。
図6は、S402の処理の概要を説明するための図である。距離画像601は、入力データである距離画像である。操作面602は、距離画像601に映る操作面である。操作体603は、距離画像601に映る手等の操作体である。操作体は手でなくとも、二点をタッチ可能な器具等でもよい。操作体検出部102は、距離画像601における操作体603の領域を検出する。操作体検出部102による操作体603の領域を検出する方法は背景差分、フレーム間差分、機械学習による手検出等、どのような方法でもよい。操作体検出部102は、更に、距離画像601における一つ以上の指先位置を検出する。図6において指先位置604は操作体603の指先位置を示す。図6の例では、操作体検出部102は、人差し指の指先と親指の指先との二点を指先位置として検出している。操作体検出部102による操作体603の領域からの指先位置604の検出方法は、輪郭形状やテンプレートマッチング、機械学習による指先検出等、どのようなものでもよい。
S403において、位置取得部103は、操作体検出部102が検出した距離画像中の指先位置を入力として、式(1)に基づき三次元座標中の指先位置を操作位置として取得する。
S404において、制御部106は、後述する拡大縮小又は回転動作の継続中か否かを判定する。制御部106は、継続中の場合(S404においてYes)、S412へ進み、継続中でない場合(S404においてNo)、S405へ進む。例えば、制御部106は、RAM203等にUIオブジェクトの表示の変更を継続させる旨の情報が記憶されている場合、拡大縮小又は回転動作の継続中であると判定する。一方、制御部106は、RAM203等にUIオブジェクトの表示の変更を継続させる旨の情報が記憶されていない場合、拡大縮小又は回転動作の継続中でないと判定する。
S405において、タッチ検出部104は、操作位置のタッチ/非タッチ及びそのタッチ位置を検出する。タッチ検出の様子を図7に示す。図7は、操作面を水平に見た図である。操作面701は、三次元座標における操作面を表す。タッチ判定閾値702は、タッチ判定のために操作面701から設定された高さのタッチ判定閾値を表す。タッチ検出部104は、指先の高さが操作面701からタッチ判定閾値702以内の高さのときにタッチとみなし、指先の高さが操作面701からタッチ判定閾値702の高さよりも離れている場合には非タッチとみなす。タッチ検出部104は、操作位置のタッチを検出した場合(S405においてYes)、S406へ進み、検出しなかった場合(S405においてNo)、S414へ進む。
S404において、制御部106は、後述する拡大縮小又は回転動作の継続中か否かを判定する。制御部106は、継続中の場合(S404においてYes)、S412へ進み、継続中でない場合(S404においてNo)、S405へ進む。例えば、制御部106は、RAM203等にUIオブジェクトの表示の変更を継続させる旨の情報が記憶されている場合、拡大縮小又は回転動作の継続中であると判定する。一方、制御部106は、RAM203等にUIオブジェクトの表示の変更を継続させる旨の情報が記憶されていない場合、拡大縮小又は回転動作の継続中でないと判定する。
S405において、タッチ検出部104は、操作位置のタッチ/非タッチ及びそのタッチ位置を検出する。タッチ検出の様子を図7に示す。図7は、操作面を水平に見た図である。操作面701は、三次元座標における操作面を表す。タッチ判定閾値702は、タッチ判定のために操作面701から設定された高さのタッチ判定閾値を表す。タッチ検出部104は、指先の高さが操作面701からタッチ判定閾値702以内の高さのときにタッチとみなし、指先の高さが操作面701からタッチ判定閾値702の高さよりも離れている場合には非タッチとみなす。タッチ検出部104は、操作位置のタッチを検出した場合(S405においてYes)、S406へ進み、検出しなかった場合(S405においてNo)、S414へ進む。
S406において、ジェスチャ検出部105は、マルチタッチジェスチャを検出する。マルチタッチジェスチャとは、ひとつの手の人差し指と親指、又は二つの手のそれぞれの一本指のように、二つのタッチ位置の軌跡によるジェスチャである。本実施形態では、二つのタッチ位置の二点間距離が変化することに基づき倍率を取得する拡大・縮小と、二つのタッチ位置を結ぶ線の角度が変化することに基づき回転角を取得する回転とをマルチタッチジェスチャとする。ジェスチャ検出部105はマルチタッチジェスチャを検出した場合(S406においてYes)、S407へ進み、マルチタッチジェスチャを検出しない場合(S406においてNo)、S414へ進む。
S407において、制御部106は、マルチタッチジェスチャに基づく拡大縮小又は回転の制御をUIオブジェクトの画像に対して行う。制御部106は、マルチタッチジェスチャのタッチ位置とUIオブジェクトの位置とのヒット判定を行って操作対象のUIオブジェクトを決定し、そのUIオブジェクトを制御する。制御部106は、マルチタッチジェスチャが拡大・縮小であれば、その倍率に併せて操作対象のUIオブジェクトの画像を拡大・縮小させる。また、制御部106は、マルチタッチジェスチャが回転であれば、その回転角に併せて操作対象のUIオブジェクトの画像を回転させる。
S407において、制御部106は、マルチタッチジェスチャに基づく拡大縮小又は回転の制御をUIオブジェクトの画像に対して行う。制御部106は、マルチタッチジェスチャのタッチ位置とUIオブジェクトの位置とのヒット判定を行って操作対象のUIオブジェクトを決定し、そのUIオブジェクトを制御する。制御部106は、マルチタッチジェスチャが拡大・縮小であれば、その倍率に併せて操作対象のUIオブジェクトの画像を拡大・縮小させる。また、制御部106は、マルチタッチジェスチャが回転であれば、その回転角に併せて操作対象のUIオブジェクトの画像を回転させる。
S408において、位置取得部103は、マルチタッチ開始時における操作体の二点間距離の可動範囲又は角度の可動範囲を推定する。推定方法はどのようなものでもよいが、次に代表的な例を示す。
図8は、回転ジェスチャに関する回転角度の可動範囲の推定方法の一例を示す図である。手の方向801は、距離画像から求められる手の方向である。位置取得部103は、手の重心位置、手先位置、操作面への侵入位置等の代表点二点を結ぶことで手の方向801を得ることができる。手の可動範囲802は、手の方向801に対して設定された手の角度の可動範囲である。二点の方向803は、マルチタッチ開始時の二点を結ぶ方向である。位置取得部103は、手の可動範囲802を二点の方向803に対する相対角に変換することで回転角度の可動範囲を得ることができる。
図9は、拡大ジェスチャ・縮小ジェスチャに関する二点間距離の可動範囲の推定方法の一例を示す図である。図9(a)にはマルチタッチで縮小する可動限界である指先をくっつけた際のときの指先二点の三次元位置を表している。二点間距離901は、指先をくっつけた際の二点間距離であり、これに相当する値を可動範囲の最小値として予め設定すればよい。
可動範囲の最大値も同様に予め二点間距離を設定してもよいが、この場合は手の大きさによる二点間距離の最大値の違いを無視することになる。手の大きさの違いを加味した可動範囲の推定方法を図9(b)、図9(c)に示す。
図8は、回転ジェスチャに関する回転角度の可動範囲の推定方法の一例を示す図である。手の方向801は、距離画像から求められる手の方向である。位置取得部103は、手の重心位置、手先位置、操作面への侵入位置等の代表点二点を結ぶことで手の方向801を得ることができる。手の可動範囲802は、手の方向801に対して設定された手の角度の可動範囲である。二点の方向803は、マルチタッチ開始時の二点を結ぶ方向である。位置取得部103は、手の可動範囲802を二点の方向803に対する相対角に変換することで回転角度の可動範囲を得ることができる。
図9は、拡大ジェスチャ・縮小ジェスチャに関する二点間距離の可動範囲の推定方法の一例を示す図である。図9(a)にはマルチタッチで縮小する可動限界である指先をくっつけた際のときの指先二点の三次元位置を表している。二点間距離901は、指先をくっつけた際の二点間距離であり、これに相当する値を可動範囲の最小値として予め設定すればよい。
可動範囲の最大値も同様に予め二点間距離を設定してもよいが、この場合は手の大きさによる二点間距離の最大値の違いを無視することになる。手の大きさの違いを加味した可動範囲の推定方法を図9(b)、図9(c)に示す。
図9(b)にはマルチタッチ中に取得される距離画像を表している。マルチタッチの指先902は、距離画像中で検出される二点のマルチタッチの指先である。図9(c)には三次元座標におけるマルチタッチ時の指の状態を表している。マルチタッチの指先位置903は、三次元座標におけるマルチタッチの指先位置である。二点間距離904は、三次元座標における指先距離である。ここで更に、位置取得部103は、マルチタッチを行う指の交点905を検出する。位置取得部103は、交点905を、距離画像から画像特徴に基づき検出してもよいし、三次元座標中の指先位置から検出してもよい。例えば、位置取得部103は、距離画像中のマルチタッチの指先902の周辺の操作体領域のデプス情報から、三次元座標中の指先の傾きを求め、傾き方向に伸ばした二つの線の近接点を交点とする。二つの線906は、三次元座標中のマルチタッチの指先位置903から指先の傾き方向に伸ばした線である。位置取得部103は、これらの線の近接点として交点905を求める。位置取得部103は、交点905を求めたら、交点に対する二つの線906の操作面に対する垂直方向角度を求める。垂直方向角度907はこのようにして求められた垂直方向角度である。
この垂直方向角度907に対し、手を開いたときの最大角度を予め設定する。そして、位置取得部103は、二つの線906の長さを固定して垂直方向角度907を最大角度に設定したときの二点間距離904を再計算する。そして、位置取得部103は、この距離を二点間距離の可動範囲の最大値とする。
以上のように、S408において、位置取得部103は、回転の場合の二点の回転角度、拡大、縮小の場合の二点間距離のそれぞれの可動範囲を推定する。
この垂直方向角度907に対し、手を開いたときの最大角度を予め設定する。そして、位置取得部103は、二つの線906の長さを固定して垂直方向角度907を最大角度に設定したときの二点間距離904を再計算する。そして、位置取得部103は、この距離を二点間距離の可動範囲の最大値とする。
以上のように、S408において、位置取得部103は、回転の場合の二点の回転角度、拡大、縮小の場合の二点間距離のそれぞれの可動範囲を推定する。
S409において、制御部106は、拡大、縮小の場合の二点間距離、又は回転の場合の二点を結ぶ線の角度がタッチ中に変化した総変化量が閾値以上か否かを判定する。制御部106は、閾値以上と判定した場合(S409においてYes)、S410へ進み、閾値未満と判定した場合(S409においてNo)、S414へ進む。拡大、縮小の場合の二点間距離の総変化量とは、タッチ中に二点間距離がどれほど大きく、又は小さく変化したかを表す。回転の場合の角度がタッチ中に変化した総変化量とは、タッチ中に二点を結ぶ線の角度が時計回り又は反時計回りにどれほど変わったかを表す。2回以上、拡大/縮小/回転の操作を繰り返した場合は、タッチ中に移動した距離の総和が相変化量である。制御部106は、総変化量の閾値を、S408で求めた、回転、拡大、縮小の可動範囲(最大値と最小値との差)に基づき決定する。例えば総変化量が可動範囲のX%(120%など)に達するということは、1回の操作では足りないほど、ユーザは大きく拡大縮小、又は回転させたいということを意図するため、制御部106は、繰り返し操作しなくとも制御が継続されるようS410へ進む。
但し本実施形態はこれに限るものでない。例えば、制御部106は、S408の可動範囲を逐次推定するのではなく、総変化量が設定された設定値に達したか否かで判定してもよい。この場合、処理の流れからS408は不要となる。
但し本実施形態はこれに限るものでない。例えば、制御部106は、S408の可動範囲を逐次推定するのではなく、総変化量が設定された設定値に達したか否かで判定してもよい。この場合、処理の流れからS408は不要となる。
S410において、位置取得部103は、マルチタッチを行う指先の速度を取得する。位置取得部103は、拡大・縮小の場合は二点間距離の変動速度を求め、回転の場合は回転角の変動速度を求める。
S411において、制御部106は、S410で取得した速度に基づいて操作対象となるUIオブジェクトの拡大縮小動作又は回転動作を継続させる。継続中においてはその時点の速度に応じて、UIオブジェクトの拡大・縮小又は回転が、二点の指先の位置に関わらず継続される。例えば、制御部106は、RAM203等にUIオブジェクトの表示の変更を継続させる旨の情報を記憶する。
S411において、制御部106は、S410で取得した速度に基づいて操作対象となるUIオブジェクトの拡大縮小動作又は回転動作を継続させる。継続中においてはその時点の速度に応じて、UIオブジェクトの拡大・縮小又は回転が、二点の指先の位置に関わらず継続される。例えば、制御部106は、RAM203等にUIオブジェクトの表示の変更を継続させる旨の情報を記憶する。
S412において、制御部106は、設定された速度減衰率に応じて単位時間ごとに拡大縮小又は回転動作の速度を減衰させる。制御部106は、式(2)に基づいて減衰させてもよいし、他の式に基づいて減衰させてもよい。
v(t)=αv(t−1) 式(2)
ここで、v(t)は時刻tの速度である。αは減衰率で1以下の値である。
更に、制御部106は、速度が所定値以下になった場合は動作の継続を停止させる。このような速度変更により、拡大・縮小や回転の動作が、慣性を持ったように制御され、その後、摩擦を持ったように徐々に速度が減衰されて停止する動作をユーザは体感することができる。
v(t)=αv(t−1) 式(2)
ここで、v(t)は時刻tの速度である。αは減衰率で1以下の値である。
更に、制御部106は、速度が所定値以下になった場合は動作の継続を停止させる。このような速度変更により、拡大・縮小や回転の動作が、慣性を持ったように制御され、その後、摩擦を持ったように徐々に速度が減衰されて停止する動作をユーザは体感することができる。
S413において、制御部106は、操作体の位置に基づいて継続する拡大縮小又は回転動作の変更を行う。本実施形態では操作体である指を含む手の高さに応じて速度変更を行う例を説明する。図10は、S413で継続動作の変更に用いる操作体の位置情報の一例を示す図である。手の先端1001は、操作体である手の先端である。先端の高さh1,h2は、手の先端1001の三次元座標の高さ(操作面との距離)を表す。重心1002は、操作体の重心である。操作体の重心高さh3は重心1002の三次元座標の高さ(操作面との距離)を表す。操作体の先端の高さh1,h2がそれぞれタッチ判定閾値702以下に存在するときはタッチとみなされ、タッチ判定閾値702よりも高くに存在するときは非タッチとみなされる。操作体高さ閾値1003は、操作体の重心高さh3の操作体高さ閾値である。この操作体高さ閾値1003以上に重心が上がる場合に、制御部106は、継続していた動作速度を0にして停止する。操作体の二つの指の高さh1,h2の何れか一方がタッチ判定閾値702から上がると、制御部106は、操作体の重心高さh3に応じて拡大・縮小又は回転の速度を減衰させる。制御部106は、操作体の重心高さh3の高さが高ければ高いほど大きく減衰するよう減衰率を設定し、式(3)により減衰させる。
v'(t)=β(h3)v(t) 式(3)
ここで、v(t)は時刻tの変更前の速度である。v'(t)は時刻tの変更後の速度である。βは減衰率で操作体の重心高さh3の関数である。
更に、操作体の重心高さh3が操作体高さ閾値1003を超えると、制御部106は、速度v'(t)を0にして停止する。
v'(t)=β(h3)v(t) 式(3)
ここで、v(t)は時刻tの変更前の速度である。v'(t)は時刻tの変更後の速度である。βは減衰率で操作体の重心高さh3の関数である。
更に、操作体の重心高さh3が操作体高さ閾値1003を超えると、制御部106は、速度v'(t)を0にして停止する。
また、ここで、制御部106は、操作体の重心高さh3を上げると速度を減衰するが、停止前に再度、操作体の重心高さh3を下げたときに、操作体の重心高さh3を上げる前の速度に戻るように、加速させる制御をしてもよい。
操作体の高さの基準として操作体の重心高さh3を使用するのは、h1,h2と比較して手を上げたときの操作体の姿勢によらず安定するからである。しかし本実施形態はこれに限るものではない。例えば、制御部106は、操作体の重心高さの代わりに操作体先端の高さh1、h2の何れか(例えば高い方又は低い方)を用い、その高さに応じて同様に速度を変更してもよい。
このように、S412による速度減衰率に加え、操作体の位置に基づいて減衰率を更にかけることにより、ユーザが手を上げるとすぐに動作を止めたり、手の位置に応じて減衰度合いを変えたりといった微妙な変更が可能となる。
S414において、表示部107は、S404〜S413に述べた制御に基づいて拡大・縮小、回転させたUIオブジェクトを、表示装置206に表示する。
S415において、例えば、制御部106は、S401〜S414を終了するか否かを判定する。制御部106は、終了すると判定すると(S415においてYes)、図4に示すフローチャートの処理を終了し、終了しないと判定すると(S415においてNo)、S401に戻る。
操作体の高さの基準として操作体の重心高さh3を使用するのは、h1,h2と比較して手を上げたときの操作体の姿勢によらず安定するからである。しかし本実施形態はこれに限るものではない。例えば、制御部106は、操作体の重心高さの代わりに操作体先端の高さh1、h2の何れか(例えば高い方又は低い方)を用い、その高さに応じて同様に速度を変更してもよい。
このように、S412による速度減衰率に加え、操作体の位置に基づいて減衰率を更にかけることにより、ユーザが手を上げるとすぐに動作を止めたり、手の位置に応じて減衰度合いを変えたりといった微妙な変更が可能となる。
S414において、表示部107は、S404〜S413に述べた制御に基づいて拡大・縮小、回転させたUIオブジェクトを、表示装置206に表示する。
S415において、例えば、制御部106は、S401〜S414を終了するか否かを判定する。制御部106は、終了すると判定すると(S415においてYes)、図4に示すフローチャートの処理を終了し、終了しないと判定すると(S415においてNo)、S401に戻る。
以上の処理によって実現されるUIオブジェクトの拡大縮小、回転の動作の様子を図11〜13に示す。
図11は、ユーザがマルチタッチによって拡大操作をする様子を表す図である。図11(a−1)はマルチタッチ開始時を三次元座標の横から見た図である。図11(a−2)は図11(a−1)を上から見た図である。UIオブジェクト1101はユーザが操作するUIオブジェクトである。開始時ではS405において指先二点のタッチが検出される。ここで指先を小さく広げると、S407により指先二点間距離の拡大率に伴ってUIオブジェクトが拡大される。また逆に指先を小さく閉じると、S407により指先二点間距離の縮小率に伴ってUIオブジェクトが縮小される。
次に、図11(b−1)はマルチタッチで大きく指を開いた時点を三次元座標の横から見た図である。図11(b−2)は図11(b−1)を上から見た図である。S407により指先二点間距離の拡大率に伴ってUIオブジェクトが拡大される。更に、二つの指先の距離が所定値以上変化したことにより、S411においてその時点の速度で拡大を継続するよう制御される。
次に、図11(c−1)はマルチタッチ後、手を上に上げ始めた時点を三次元座標の横から見た図である。図11(c−2)は図11(c−1)を上から見た図である。図11(c−1)において指先間距離は図11(b−1)と比較して短くなっているものの、図11(b−1)の段階で拡大継続と制御されたため、UIオブジェクトが縮小されることはない。むしろ、拡大が継続されているので、図11(c−2)ではUIオブジェクトが更に拡大する。
図11は、ユーザがマルチタッチによって拡大操作をする様子を表す図である。図11(a−1)はマルチタッチ開始時を三次元座標の横から見た図である。図11(a−2)は図11(a−1)を上から見た図である。UIオブジェクト1101はユーザが操作するUIオブジェクトである。開始時ではS405において指先二点のタッチが検出される。ここで指先を小さく広げると、S407により指先二点間距離の拡大率に伴ってUIオブジェクトが拡大される。また逆に指先を小さく閉じると、S407により指先二点間距離の縮小率に伴ってUIオブジェクトが縮小される。
次に、図11(b−1)はマルチタッチで大きく指を開いた時点を三次元座標の横から見た図である。図11(b−2)は図11(b−1)を上から見た図である。S407により指先二点間距離の拡大率に伴ってUIオブジェクトが拡大される。更に、二つの指先の距離が所定値以上変化したことにより、S411においてその時点の速度で拡大を継続するよう制御される。
次に、図11(c−1)はマルチタッチ後、手を上に上げ始めた時点を三次元座標の横から見た図である。図11(c−2)は図11(c−1)を上から見た図である。図11(c−1)において指先間距離は図11(b−1)と比較して短くなっているものの、図11(b−1)の段階で拡大継続と制御されたため、UIオブジェクトが縮小されることはない。むしろ、拡大が継続されているので、図11(c−2)ではUIオブジェクトが更に拡大する。
次に、図11(d−1)はタッチとみなされなくなるまで手を上に上げた時点を三次元座標の横から見た図である。図11(d−2)は図11(d−1)を上から見た図である。図11(d−1)においては、S412における単位時間ごとの速度変更及びS413における操作体の重心高さに基づく継続動作の変更により拡大速度は弱まる。しかしそれでも、図11(c−2)と比較して図11(d−2)のUIオブジェクトは更に拡大する。
そして、図11(e−1)は操作体の重心高さが操作体高さ閾値1003よりも高くなるほど手を上に上げた時点を三次元座標の横から見た図である。図11(e−2)は図11(e−1)を上から見た図である。操作体の重心高さが操作体高さ閾値1003よりも高くなるため、S413における操作体の重心高さに基づく継続動作の変更によりUIオブジェクトの拡大が停止される。
以上のように、画像処理装置は、手を大きく開く拡大操作を検出することにより、繰り返し動作なく拡大を継続することができる。
また、図11(c−1)のように拡大操作後にタッチ判定閾値702を超える高さへ指先が上がる前に指先間距離が短くなってしまう場合でも、画像処理装置は、拡大を継続させることができるため、拡大後に誤って縮小されるような誤動作を防ぐことができる。
そして、図11(e−1)は操作体の重心高さが操作体高さ閾値1003よりも高くなるほど手を上に上げた時点を三次元座標の横から見た図である。図11(e−2)は図11(e−1)を上から見た図である。操作体の重心高さが操作体高さ閾値1003よりも高くなるため、S413における操作体の重心高さに基づく継続動作の変更によりUIオブジェクトの拡大が停止される。
以上のように、画像処理装置は、手を大きく開く拡大操作を検出することにより、繰り返し動作なく拡大を継続することができる。
また、図11(c−1)のように拡大操作後にタッチ判定閾値702を超える高さへ指先が上がる前に指先間距離が短くなってしまう場合でも、画像処理装置は、拡大を継続させることができるため、拡大後に誤って縮小されるような誤動作を防ぐことができる。
図12は、ユーザがマルチタッチによって縮小操作をする様子を表す図である。図12(a−1)はマルチタッチ開始時を三次元座標の横から見た図である。図12(a−2)は図12(a−1)を上から見た図である。開始時ではS405において指先二点のタッチが検出される。ここで指先を小さく閉じると、S407により指先二点間距離の縮小率に伴ってUIオブジェクトが縮小される。また逆に指先を小さく広げると、指先二点間距離の拡大率に伴ってUIオブジェクトが拡大される。
次に、図12(b−1)はマルチタッチで大きく指を閉じた時点を三次元座標の横から見た図である。図12(b−2)は図12(b−1)を上から見た図である。S407により指先二点間距離の縮小率に伴ってUIオブジェクトが縮小される。更に、二つの指先の距離が所定値以上変化したことにより、S411においてその時点の速度で縮小を継続するよう制御される。
次に、図12(c−1)はマルチタッチ後、手を上に上げ始めた時点を三次元座標の横から見た図である。図12(c−2)は図12(c−1)を上から見た図である。図12(c−1)において指先間距離は図12(b−1)と比較して長くなっているものの、図12(b−1)の段階で縮小継続と制御されたため、UIオブジェクトが拡大されることはない。むしろ、縮小が継続されているので、図12(c−2)ではUIオブジェクトが更に縮小する。
次に、図12(b−1)はマルチタッチで大きく指を閉じた時点を三次元座標の横から見た図である。図12(b−2)は図12(b−1)を上から見た図である。S407により指先二点間距離の縮小率に伴ってUIオブジェクトが縮小される。更に、二つの指先の距離が所定値以上変化したことにより、S411においてその時点の速度で縮小を継続するよう制御される。
次に、図12(c−1)はマルチタッチ後、手を上に上げ始めた時点を三次元座標の横から見た図である。図12(c−2)は図12(c−1)を上から見た図である。図12(c−1)において指先間距離は図12(b−1)と比較して長くなっているものの、図12(b−1)の段階で縮小継続と制御されたため、UIオブジェクトが拡大されることはない。むしろ、縮小が継続されているので、図12(c−2)ではUIオブジェクトが更に縮小する。
次に、図12(d−1)はタッチとみなされなくなるまで手を上に上げた時点を三次元座標の横から見た図である。図12(d−2)は図12(d−1)を上から見た図である。図12(d−1)においては、S412における単位時間ごとの速度変更及びS413における操作体の重心高さに基づく継続動作の変更はあり縮小速度は弱まる。しかしそれでも、図12(c−2)と比較して図12(d−2)のUIオブジェクトは更に縮小する。
そして、図12(e−1)は操作体の重心高さが操作体高さ閾値1003よりも高くなるほど手を上に上げた時点を三次元座標の横から見た図である。図12(e−2)は図12(e−1)を上から見た図である。操作体の重心高さが操作体高さ閾値1003よりも高くなるため、S413における操作体の重心高さに基づく継続動作の変更によりUIオブジェクトの縮小が停止される。
以上のように、画像処理装置は、手を大きく閉じる縮小操作を検出することにより、繰り返し動作なく縮小を継続することが可能となる。
また、図12(c−1)のように縮小操作後にタッチ判定閾値702を超える高さへ指先が上がる前に指先間距離が短くなってしまう場合でも、画像処理装置は、縮小を継続させることができるため、縮小後に誤って拡大されるような誤動作を防ぐことができる。
そして、図12(e−1)は操作体の重心高さが操作体高さ閾値1003よりも高くなるほど手を上に上げた時点を三次元座標の横から見た図である。図12(e−2)は図12(e−1)を上から見た図である。操作体の重心高さが操作体高さ閾値1003よりも高くなるため、S413における操作体の重心高さに基づく継続動作の変更によりUIオブジェクトの縮小が停止される。
以上のように、画像処理装置は、手を大きく閉じる縮小操作を検出することにより、繰り返し動作なく縮小を継続することが可能となる。
また、図12(c−1)のように縮小操作後にタッチ判定閾値702を超える高さへ指先が上がる前に指先間距離が短くなってしまう場合でも、画像処理装置は、縮小を継続させることができるため、縮小後に誤って拡大されるような誤動作を防ぐことができる。
図13は、ユーザがマルチタッチによって回転操作をする様子を表す図である。図13(a−1)はマルチタッチ開始時を三次元座標の横から見た図である。図13(a−2)は図13(a−1)を上から見た図である。開始時ではS405において指先二点のタッチが検出される。ここで指先を時計回り又は反時計回りに小さく回転させると、S407により指先二点を結ぶ線の回転角の変化に伴ってUIオブジェクトが回転される。
次に、図13(b−1)はマルチタッチで反時計回りに指を大きく回転させた時点を三次元座標の横から見た図である。図13(b−2)は図13(b−1)を上から見た図である。S407により指先二点を結ぶ線の回転角に伴ってUIオブジェクトが回転される。更に、回転角が所定値以上に回転したことにより、S411においてその時点の速度で回転を継続するよう制御される。
次に、図13(c−1)はマルチタッチ後、手を上に上げ始めた時点を三次元座標の横から見た図である。図13(c−2)は図13(c−1)を上から見た図である。図12(c−2)において指先の角度は図13(b−2)と比較して時計回りに戻っているものの、図13(b−2)の段階で回転継続と制御されたため、UIオブジェクトが逆回転されることはない。むしろ、回転が継続されているので、図13(c−2)ではUIオブジェクトが更に反時計回りに回転する。
次に、図13(b−1)はマルチタッチで反時計回りに指を大きく回転させた時点を三次元座標の横から見た図である。図13(b−2)は図13(b−1)を上から見た図である。S407により指先二点を結ぶ線の回転角に伴ってUIオブジェクトが回転される。更に、回転角が所定値以上に回転したことにより、S411においてその時点の速度で回転を継続するよう制御される。
次に、図13(c−1)はマルチタッチ後、手を上に上げ始めた時点を三次元座標の横から見た図である。図13(c−2)は図13(c−1)を上から見た図である。図12(c−2)において指先の角度は図13(b−2)と比較して時計回りに戻っているものの、図13(b−2)の段階で回転継続と制御されたため、UIオブジェクトが逆回転されることはない。むしろ、回転が継続されているので、図13(c−2)ではUIオブジェクトが更に反時計回りに回転する。
次に、図13(d−1)はタッチとみなされなくなるまで手を上に上げた時点を三次元座標の横から見た図である。図13(d−2)は図13(d−1)を上から見た図である。図13(d−1)においては、S412における単位時間ごとの速度変更及びS413における操作体の重心高さに基づく継続動作の変更があり回転速度は弱まる。しかしそれでも、図13(c−2)と比較して図13(d−2)UIオブジェクトは更に反時計回りに回転する。
そして、図13(e−1)は操作体の重心高さが操作体高さ閾値1003よりも高くなるほど手を上に上げた時点を三次元座標の横から見た図である。図13(e−2)は図13(e−1)を上から見た図である。操作体の重心高さが操作体高さ閾値1003よりも高くなるため、S413における操作体の重心高さに基づく継続動作の変更によりUIオブジェクトの回転が停止される。
以上のように、画像処理装置は、手を大きく回転させる操作を検出することにより、繰り返し操作なく回転を継続することが可能となる。
また、図13(c−2)のように回転操作後にタッチ判定閾値702を超える高さへ指先が上がる前に指先が逆方向に戻ってしまう場合でも、画像処理装置は、回転を継続させることができるため、回転後に誤って逆回転されるような誤動作を防ぐことができる。
そして、図13(e−1)は操作体の重心高さが操作体高さ閾値1003よりも高くなるほど手を上に上げた時点を三次元座標の横から見た図である。図13(e−2)は図13(e−1)を上から見た図である。操作体の重心高さが操作体高さ閾値1003よりも高くなるため、S413における操作体の重心高さに基づく継続動作の変更によりUIオブジェクトの回転が停止される。
以上のように、画像処理装置は、手を大きく回転させる操作を検出することにより、繰り返し操作なく回転を継続することが可能となる。
また、図13(c−2)のように回転操作後にタッチ判定閾値702を超える高さへ指先が上がる前に指先が逆方向に戻ってしまう場合でも、画像処理装置は、回転を継続させることができるため、回転後に誤って逆回転されるような誤動作を防ぐことができる。
<実施形態2>
実施形態1の図10において、継続する拡大縮小又は回転の速度を変更するために、操作体の高さとして操作体の重心1002の高さh3を用いて説明した。しかし本実施形態はこれに限るものではない。実施形態1に記載の通り、操作体先端の高さh1、h2の何れか(例えば高い方/低い方)とし、その高さに応じて同様に速度変更してもよい。
また、高さに応じて速度の減衰率βを変えて減衰させなくとも、所定の高さに達したときに停止すればよい。
又は、操作体先端の高さh1、h2の何れか又は両方がタッチ判定閾値702の高さより上回り、非タッチとなった時点で拡大縮小又は回転の継続を停止するようにしてもよい。
実施形態1の図10において、継続する拡大縮小又は回転の速度を変更するために、操作体の高さとして操作体の重心1002の高さh3を用いて説明した。しかし本実施形態はこれに限るものではない。実施形態1に記載の通り、操作体先端の高さh1、h2の何れか(例えば高い方/低い方)とし、その高さに応じて同様に速度変更してもよい。
また、高さに応じて速度の減衰率βを変えて減衰させなくとも、所定の高さに達したときに停止すればよい。
又は、操作体先端の高さh1、h2の何れか又は両方がタッチ判定閾値702の高さより上回り、非タッチとなった時点で拡大縮小又は回転の継続を停止するようにしてもよい。
<実施形態3>
実施形態1では、図1及び図2に示すハードウェア構成で、距離画像センサ205によって取得した距離画像を入力部101の入力として、距離画像から操作体を検出し、マルチタッチを検出するとして説明した。しかし本実施形態はこれに限るものではない。表示装置206がプロジェクタではなく任意のディスプレイであり、また距離画像センサ205がなく、任意のディスプレイにタッチパネル207が付いている構成でもよい。
この場合、S401で入力されるデータはタッチパネルから得られるタッチ中の座標となる。タッチする各位置の座標が直接得られるのでS402、S403は不要である。更に、S408を不要としてS409の閾値を予め設定し、S413における操作体位置に基づく継続動作の変更を、何れか又は両方のタッチ位置が非タッチとときに速度変更するという構成をとればよい。この場合でも、タッチ中の二点間距離の総変化量又は二点を結ぶ線の角度の総変化量が閾値を超えるまで拡大・縮小、又は回転を操作した時点でこれらの動作が継続され、手をタッチパネルから離した時点で動作が停止するという形態が実現できる。
実施形態1では、図1及び図2に示すハードウェア構成で、距離画像センサ205によって取得した距離画像を入力部101の入力として、距離画像から操作体を検出し、マルチタッチを検出するとして説明した。しかし本実施形態はこれに限るものではない。表示装置206がプロジェクタではなく任意のディスプレイであり、また距離画像センサ205がなく、任意のディスプレイにタッチパネル207が付いている構成でもよい。
この場合、S401で入力されるデータはタッチパネルから得られるタッチ中の座標となる。タッチする各位置の座標が直接得られるのでS402、S403は不要である。更に、S408を不要としてS409の閾値を予め設定し、S413における操作体位置に基づく継続動作の変更を、何れか又は両方のタッチ位置が非タッチとときに速度変更するという構成をとればよい。この場合でも、タッチ中の二点間距離の総変化量又は二点を結ぶ線の角度の総変化量が閾値を超えるまで拡大・縮小、又は回転を操作した時点でこれらの動作が継続され、手をタッチパネルから離した時点で動作が停止するという形態が実現できる。
<実施形態4>
実施形態1では、S413において制御部106が操作体の位置(手の重心高さや指先の高さ、タッチか否か)に基づいて速度変更又は停止を行っている。しかし本実施形態はこのステップがなくとも適用可能である。制御部106は、S409で設定された二点間距離の拡大ジェスチャ・縮小ジェスチャ又は設定された回転角の回転ジェスチャを検出し、これに伴ってS411で拡大・縮小又は回転の動作を継続するようにしてもよい。
実施形態1では、S413において制御部106が操作体の位置(手の重心高さや指先の高さ、タッチか否か)に基づいて速度変更又は停止を行っている。しかし本実施形態はこのステップがなくとも適用可能である。制御部106は、S409で設定された二点間距離の拡大ジェスチャ・縮小ジェスチャ又は設定された回転角の回転ジェスチャを検出し、これに伴ってS411で拡大・縮小又は回転の動作を継続するようにしてもよい。
<実施形態5>
実施形態1では、検出する拡大・縮小又は回転ジェスチャに、片手の二本指で行う片手マルチタッチ操作を想定して可動範囲を設定している。しかし、マルチタッチは片手マルチタッチのほか、両手の一本指、計二本で行う両手マルチタッチ操作も存在する。そこで本実施形態は、片手マルチタッチか両手マルチタッチかを判定して処理を区別する一例を説明する。
図14は、距離画像中に検出されるマルチタッチの指先位置の一例を示す図である。図14(a)は片手マルチタッチ時の距離画像中の指先の一例を示す図である。図14(b)は両手マルチタッチ時の距離画像中の指先の一例を示す図である。操作体検出部102は、図14(a)、図14(b)から距離画像中の操作体領域を検出し、更に指先位置を取得する。ジェスチャ検出部105は、操作体検出部102が検出した操作体領域、及び指先位置に基づき、指先位置を一つの操作体領域から得た片手マルチタッチか、二つの操作体領域から得た両手マルチタッチかを判定することができる。
このとき、画像処理装置は、S408〜S411の二点間距離/角度による動作継続を、片手マルチタッチのときのみ適用し、両手マルチタッチのときはS407のみの通常の拡大・縮小又は回転としてもよい。
又は、画像処理装置は、S409において判定する二点間距離/角度の閾値を片手マルチタッチのときと両手マルチタッチのときとで切り替えてもよい。同様に、画像処理装置は、S408の可動範囲の取得する設定の指先間角度や取得方法を片手マルチタッチのときと両手マルチタッチのときとで切り替えてもよい。
片手マルチタッチは両手マルチタッチと比較して二点間距離/角度の可動範囲が狭い。したがって以上の実装により、片手マルチタッチ時のみに特化して繰り返し動作をなくし、指先がタッチ状態から上がる前に指先位置が戻ってしまうことによる誤動作を防ぐことができる。又は片手マルチタッチと両手マルチタッチとでそれぞれ最適な二点間距離/角度に基づいて繰り返し操作をなくすことができる。
実施形態1では、検出する拡大・縮小又は回転ジェスチャに、片手の二本指で行う片手マルチタッチ操作を想定して可動範囲を設定している。しかし、マルチタッチは片手マルチタッチのほか、両手の一本指、計二本で行う両手マルチタッチ操作も存在する。そこで本実施形態は、片手マルチタッチか両手マルチタッチかを判定して処理を区別する一例を説明する。
図14は、距離画像中に検出されるマルチタッチの指先位置の一例を示す図である。図14(a)は片手マルチタッチ時の距離画像中の指先の一例を示す図である。図14(b)は両手マルチタッチ時の距離画像中の指先の一例を示す図である。操作体検出部102は、図14(a)、図14(b)から距離画像中の操作体領域を検出し、更に指先位置を取得する。ジェスチャ検出部105は、操作体検出部102が検出した操作体領域、及び指先位置に基づき、指先位置を一つの操作体領域から得た片手マルチタッチか、二つの操作体領域から得た両手マルチタッチかを判定することができる。
このとき、画像処理装置は、S408〜S411の二点間距離/角度による動作継続を、片手マルチタッチのときのみ適用し、両手マルチタッチのときはS407のみの通常の拡大・縮小又は回転としてもよい。
又は、画像処理装置は、S409において判定する二点間距離/角度の閾値を片手マルチタッチのときと両手マルチタッチのときとで切り替えてもよい。同様に、画像処理装置は、S408の可動範囲の取得する設定の指先間角度や取得方法を片手マルチタッチのときと両手マルチタッチのときとで切り替えてもよい。
片手マルチタッチは両手マルチタッチと比較して二点間距離/角度の可動範囲が狭い。したがって以上の実装により、片手マルチタッチ時のみに特化して繰り返し動作をなくし、指先がタッチ状態から上がる前に指先位置が戻ってしまうことによる誤動作を防ぐことができる。又は片手マルチタッチと両手マルチタッチとでそれぞれ最適な二点間距離/角度に基づいて繰り返し操作をなくすことができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
以上、上述した各実施形態の処理によれば、ユーザが所望の大きさや角度になるまで、二点の位置を移動させる操作を、繰り返さなくとも、例えば、倍率又は角度等の表示の変更を継続することができる。
201 CPU
204 記憶装置
206 表示装置
204 記憶装置
206 表示装置
Claims (15)
- 操作面の操作対象に対するジェスチャを検出する検出手段と、
前記検出手段により検出された前記ジェスチャに応じて前記操作対象の表示を変更する制御手段と、
を有し、
前記制御手段は、前記ジェスチャがマルチタッチのジェスチャであり、前記マルチタッチのジェスチャに関する値の総変化量が閾値以上の場合、前記表示の変更を継続するよう制御する情報処理装置。 - 前記マルチタッチのジェスチャは、マルチタッチの拡大ジェスチャであり、
前記制御手段は、前記拡大ジェスチャに応じて前記操作対象の表示を拡大するよう変更し、前記拡大ジェスチャに関する値として、前記拡大ジェスチャに関する二点間の距離の総変化量が閾値以上の場合、前記表示の拡大を継続するよう制御する請求項1記載の情報処理装置。 - 前記マルチタッチのジェスチャは、マルチタッチの縮小ジェスチャであり、
前記制御手段は、前記縮小ジェスチャに応じて前記操作対象の表示を縮小するよう変更し、前記縮小ジェスチャに関する値として、前記縮小ジェスチャに関する二点間の距離の総変化量が閾値以上の場合、前記表示の縮小を継続するよう制御する請求項1記載の情報処理装置。 - 前記二点間の距離の可動範囲を推定する推定手段を更に有し、
前記閾値は、前記推定手段により推定された前記二点間の距離の可動範囲である請求項2又は3記載の情報処理装置。 - 前記マルチタッチのジェスチャは、マルチタッチの回転ジェスチャであり、
前記制御手段は、前記回転ジェスチャに応じて前記操作対象の表示を回転するよう変更し、前記回転ジェスチャに関する値として、前記回転ジェスチャに関する回転角度の総変化量が閾値以上の場合、前記表示の回転を継続するよう制御する請求項1記載の情報処理装置。 - 前記回転角度の可動範囲を推定する推定手段を更に有し、
前記閾値は、前記推定手段により推定された前記回転角度の可動範囲である請求項5記載の情報処理装置。 - 前記制御手段は、速度減衰率に応じて単位時間ごとに前記表示の変更の速度を減衰させる請求項1乃至6何れか1項記載の情報処理装置。
- 前記操作対象は、前記操作面に表示された画像である請求項1乃至7何れか1項記載の情報処理装置。
- 前記操作対象を操作する操作体の前記操作面からの距離を計測する計測手段を更に備え、
前記制御手段は、前記計測手段で計測された距離が操作体の高さ閾値以上の場合、前記表示の変更の継続を終了する請求項1乃至8何れか1項記載の情報処理装置。 - 前記制御手段は、前記操作体の前記操作面からの距離がタッチ判定の閾値を超え前記操作体の高さ閾値未満の場合、前記距離に応じて前記表示の変更の速度を減衰させ、前記距離が前記操作体の高さ閾値以上の場合、前記表示の変更の継続を終了する請求項9記載の情報処理装置。
- 前記操作体は、人の手であり、
前記制御手段は、前記人の手の第1の指先位置、又は第2の指先位置の前記操作面からの距離がタッチ判定の閾値を超え前記手の重心位置の前記操作面からの距離が前記操作体の高さ閾値未満の場合、前記距離に応じて前記表示の変更の速度を減衰させ、前記手の重心位置の前記操作面からの距離が前記操作体の高さ閾値以上の場合、前記表示の変更の継続を終了する請求項10記載の情報処理装置。 - 前記制御手段は、前記ジェスチャが一つの操作体で行われたマルチタッチのジェスチャか、二つの操作体で行われたマルチタッチのジェスチャかを判定し、前記ジェスチャが一つの操作体で行われたマルチタッチのジェスチャであり、前記マルチタッチのジェスチャに関する値の総変化量が閾値以上の場合、前記表示の変更を継続するよう制御する請求項1乃至11何れか1項記載の情報処理装置。
- 前記制御手段は、前記ジェスチャが一つの操作体で行われたマルチタッチのジェスチャか、二つの操作体で行われたマルチタッチのジェスチャかを判定し、前記一つの操作体で行われたマルチタッチのジェスチャと前記二つの操作体で行われたマルチタッチのジェスチャとで前記閾値を変更する請求項1乃至11何れか1項記載の情報処理装置。
- 情報処理装置が実行する情報処理方法であって、
操作面の操作対象に対するジェスチャを検出する検出工程と、
前記検出工程により検出された前記ジェスチャに応じて前記操作対象の表示を変更する制御工程と、
を含み、
前記制御工程では、前記ジェスチャがマルチタッチのジェスチャであり、前記マルチタッチのジェスチャに関する値の総変化量が閾値以上の場合、前記表示の変更を継続するよう制御する情報処理方法。 - コンピュータを、請求項1乃至13何れか1項記載の情報処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017125073A JP2019008631A (ja) | 2017-06-27 | 2017-06-27 | 情報処理装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017125073A JP2019008631A (ja) | 2017-06-27 | 2017-06-27 | 情報処理装置、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019008631A true JP2019008631A (ja) | 2019-01-17 |
Family
ID=65028960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017125073A Pending JP2019008631A (ja) | 2017-06-27 | 2017-06-27 | 情報処理装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019008631A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021026672A (ja) * | 2019-08-08 | 2021-02-22 | 富士通コネクテッドテクノロジーズ株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
-
2017
- 2017-06-27 JP JP2017125073A patent/JP2019008631A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021026672A (ja) * | 2019-08-08 | 2021-02-22 | 富士通コネクテッドテクノロジーズ株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
JP7264765B2 (ja) | 2019-08-08 | 2023-04-25 | Fcnt株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10503316B1 (en) | Information processor, information processing method, and computer program | |
CN113099115B (zh) | 具有相机的电子装置 | |
Wang et al. | Empirical evaluation for finger input properties in multi-touch interaction | |
EP2972669B1 (en) | Depth-based user interface gesture control | |
JP5456529B2 (ja) | グラフィカル・ユーザ・インターフェース・オブジェクトを操作する方法及びコンピュータシステム | |
US7605804B2 (en) | System and method for fine cursor positioning using a low resolution imaging touch screen | |
JP5515067B2 (ja) | 操作入力装置および操作判定方法並びにプログラム | |
US20160110053A1 (en) | Drawing Support Tool | |
KR101318244B1 (ko) | 3차원 사용자 인터페이스 구현 시스템 및 구현 방법 | |
KR20100041006A (ko) | 3차원 멀티 터치를 이용한 사용자 인터페이스 제어방법 | |
WO2012039140A1 (ja) | 操作入力装置および方法ならびにプログラム | |
TWI451309B (zh) | Touch device and its control method | |
US20140267121A1 (en) | Method using a predicted finger location above a touchpad for controlling a computerized system | |
JP6923361B2 (ja) | 位置計測装置の操作方法 | |
JP2012022458A (ja) | 情報処理装置およびその制御方法 | |
KR102198596B1 (ko) | 간접 입력의 명확화 기법 | |
JP7340927B2 (ja) | 3dオブジェクトの設計のための描画平面を定義するための方法 | |
JP2019008631A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6033061B2 (ja) | 入力装置およびプログラム | |
KR101535738B1 (ko) | 비접촉 동작 제어가 가능한 스마트 디바이스 및 이를 이용한 비접촉 동작 제어 방법 | |
JP6008904B2 (ja) | 表示制御装置、表示制御方法、及び、プログラム | |
KR20110006251A (ko) | 터치 패널 입력장치, 방법 및 이를 이용한 모바일 기기 | |
JP6505317B2 (ja) | 表示制御装置 | |
Sekiguchi et al. | VolGrab: Realizing 3D View Navigation by Aerial Hand Gestures | |
Takahashi et al. | Extending Three-Dimensional Space Touch Interaction using Hand Gesture |