JP6425416B2 - ユーザインタフェース装置およびユーザインタフェース制御プログラム - Google Patents
ユーザインタフェース装置およびユーザインタフェース制御プログラム Download PDFInfo
- Publication number
- JP6425416B2 JP6425416B2 JP2014097872A JP2014097872A JP6425416B2 JP 6425416 B2 JP6425416 B2 JP 6425416B2 JP 2014097872 A JP2014097872 A JP 2014097872A JP 2014097872 A JP2014097872 A JP 2014097872A JP 6425416 B2 JP6425416 B2 JP 6425416B2
- Authority
- JP
- Japan
- Prior art keywords
- liquid
- hand
- plane
- information
- gesture
- 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.)
- Active
Links
Landscapes
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Description
また、浴槽等の水面に気泡によるスクリーンを形成し、映像を表示する技術も提案されている(例えば特許文献2,3参照)。
表示制御手段は、流体シミュレーションにより、投影表示される情報を液面上で移動させる制御を含むことが好ましい。
また、「情報」は、文字、静止画、動画のいずれであってもよく、アイコンや操作ボタン、スライドレバー等のGUI部品であってもよい。
1.1 浴室環境での使用
本実施形態のインタラクティブシステムは、浴室環境で使用されることを想定している。この使用環境の観点から以下の要求事項がある。
・映像閲覧可能なシステム
・入浴時における身体動作を活かした入力
・デバイス装着・把持が不要
・システム導入が容易
入浴時におけるコンテンツとして、TV やインターネットの閲覧、ゲームなどの映像閲覧に対する需要があることが分かっている。このことから映像を表示し、表示された情報とインタラクション可能なシステムが必要となってくると考えられる。
浴室内で映像閲覧でき一般的に普及しているものとして浴室用TV があるが操作を行うために本体の操作ボタンに直接さわらならければならない。そのため湯船に浸かっている状態では体を動かし、本体まで手を伸ばさなければならないので、リラックスして入浴している状況においては操作性として問題がある。入浴中にスマートフォンなどの携帯端末で情報閲覧ということもされているが、端末を操作中に常時把持しなければならないという点で問題がある。浴槽に浸かっている状況を想定すると、入浴者の体は水の中に入っている状態が一般的であるため、入浴時の自然な体の動きを入力として用いる必要性があると考えられる。
インタラクティブシステムにおいて人間の動きを認識するためにセンサやマーカを身に着けるシステムがいくつかあるが、入浴行為を考えた際に入浴者がデバイスを装着したり、持ったりするのは水の中に入ることによって破損してしまうというハードウェア面の問題や、装着により生じる束縛感という点で浴室環境には適していない。よって認識のためのデバイスを装着・把持しないシステム構築が重要である。
インタラクティブなディスプレイシステムにおいて、手指による入力の検出のためにディスプレイ面に特別なセンサやディスプレイ周囲にIR レーザを設置しなければならないものがあるが、浴槽に埋め込まなければならなかったり、そもそも実現不可能であったりといった問題がある。よって、できるだけシンプルで、設置が容易なシステムが望まれる。
また、本実施形態のインタラクティブシステムでは、実世界指向ユーザインタフェースの実現を目指すこととし、どういった要求があるのかを考える。実世界指向ユーザインタフェースにとって最も重要な要素は、実物体と同じように対話可能なことである。入力に関しては、実物体に対して行う動作をそのままバーチャルなオブジェクトの操作に割り当てられれば、より自然で直観性のある入力手法になると考えられる。また、情報表示に関しては、表示される情報が実世界と同じような挙動を示すことで、実世界と同様の操作で情報を扱うことが可能になる。
以上の要求分析に基づき、普段PC やスマートフォン等で行なっている情報閲覧を、情報機器を持ち込まずに浴槽で実現するために、以下の2つを設計指針として、実現手段を検討した。
(a) 浴槽の水面を情報表示領域とし、ここで文字、画像、動画情報を閲覧する。
(b) 表示された情報を手指ジェスチャで操作する。その際、水の特徴を活用したインタラクションを設計する。
テーブルトップのような従来の2次元かつ硬いサーフェスではタッチ操作が主流である。しかし、本研究で対象とする浴槽ディスプレイは表示媒体が液体であり、また利用者が中に浸かることに起因する特徴的かつ自然な操作が考えられる。本発明者は入浴中のさまざまな身体動作を検討した結果、特に以下の操作に着目した。
入浴時、手指は水中にあることが多い。この状態で水面に表示される情報を選択する場合、上からのタッチよりも水面下から指を突き出して選択することが自然かつ容易である。また、指を突き出すということは水面を貫くと言い換えられる。したがって、水面に表示されている情報を裏側から突き刺す動作は、情報のポインティング(選択)操作に直感的に結びつくと思われる。この動作は、空中に腕を上げる必要があるタッチ動作に比べ、水の浮力のため身体的負担が少ないのも利点の1つである。また、複数本の指を認識することで従来のサーフェスシステムにおけるマルチタッチ同様の操作も行える。さらに水中に指を引き込むなど水特有の他の操作への拡張も考えられる。
水を手で流す(かく)動作も入浴中には一般的に行われる。実世界では水面に浮いているものを集めたり拡散させたりするのにこの動作を行う。本実施形態ではこの実世界での動作と直感的に結びつくように、水面に浮かぶ情報を集めたり拡散させたりする操作にこの動作を使用することとした。具体的には、水を流す動作をスクロールや動画の早送りや巻き戻しの制御といった情報が流れるような状況における情報操作に利用可能である。従来のサーフェスシステムにおいても、例えばサーフェス上に表示された仮想のカードを集める操作や動画の早送り・巻き戻し操作に似たようなジェスチャを使用したものがあったが、水中でのstrokingジェスチャにおいては水の抵抗による触覚フィードバックがあるため、より現実感のある操作が可能である。また、これも水面付近で手を動かすだけでいいので身体的負担も少ない。
水の上に浮かぶものをすくいあげて移動するという行為も一般的である。この「選択して移動する」という動作はGUI のドラッグ・アンド・ドロップに直感的に対応する。よって本実施形態では、この動作を、水面の情報を選択して移動する操作に対応させることとした。また、水は物理的なオブジェクトであるため、実物体を持つ触覚的な感覚に加え、映像投影による視覚的な効果で情報を手のひら上で持っている感覚が得られる。よって水面に投影された情報をすくい上げて選択する操作は、従来のGUIよりも直感的な入力操作になると考えられる。
子供の水遊び時など、水面を叩く動作がよく見られる。一般的なサーフェスシステムの場合、ディスプレイ破損の危険性や利用者の痛みから叩く動作は行われない。しかし、水面ディスプレイにおいてはこれが可能である。例えば、子供が水遊びをする時に水面を全力で叩くという動作を浴室やプールの中で行っていることがある。これも水ならではの身体動作であると考えられる。叩く動作によって水面にどのような変化が起こるのかを考えると、水面が大きく波打つということがあげられる。水面が波打つことによって水面へ投影した映像が乱れるので、直感的には情報を壊すような表現になる。したがって、叩く動作は、終了や削除という操作やアプリケーションモードからトップメニューへの復帰操作に対応させることが考えられる。
図2は、本実施形態のインタラクティブシステム1の基本的な構成を模式的に示したものである。図に示したように、本システム1は、白濁した水2が蓄えられた浴槽3、白濁した水面上に映像を投影するためのプロジェクタ4、水面での手指操作を撮影する深度カメラ5、プロジェクタ4と深度カメラ5に接続されたPC6からなる。本システム1では、浴槽3を白濁剤を溶かした水2で満たし、浴槽3上方に設置したプロジェクタ4により映像を投影する。また、手指認識処理に用いる深度画像を取得するために同じく浴槽3の上部に深度カメラ5を設置する。PC6では、深度カメラ5から得た深度画像から手指の認識を行い、その認識結果に基づいて、ユーザによるジェスチャ操作内容を特定し、その操作に応じた情報をプロジェクタ4に描画させる。また、このインタラクティブシステム1を利用したアプリケーション特有の処理も行う。
ここで、浴槽3の中の水2は、白濁させて完全な不透明な状態であることが好ましいが、これに限らない。例えば、完全な不透明ではなく、やや透明であるような半透明の状態でもよいし、また、白濁に限らず、灰色や生成色や泥水のような褐色を有する半透明の状態であってもよい。即ち、静止画や動画等の表示内容が視認可能に投影できる状態であればよい。
本システムでは水面付近での手指の動作を入力として用いる。手指を認識する手法としては、RGB カメラを用いて、肌色に近い領域を抽出し、手指を検出する手法が知られているが、照明変化の影響もあり非常に不安定である。深度カメラを用いた手法では、照明変化による影響に強いことに加えて、手指の3 次元の動きも計測できるため3 次元的なジェスチャの認識も可能となる。よって本システムでは浴槽上方の深度カメラから得られた深度画像により、手指を認識する手法を用いている。本システムでは、手と指先を区別して認識すること可能である。また、指に関しては水面下から突き出される指と水面上から水面に触る指をそれぞれ分けて認識することができるようになっている。
事前の処理としてカメラ座標とディスプレイ座標との変換を行うため、射影変換を用いたカメラキャリブレーションを行う必要がある。この処理は、図4に示したように、深度カメラで取得した画像中にあるプロジェクタによる表示領域の4頂点(図4右)を、取得画像自体の4 頂点(図4左)に対応させる変換行列を用いて射影変換を行う。原画像の座標(x、 y)と変換後の座標(x′、 y′)における射影変換の一般式は次のようになる。
背景差分を行うためにあらかじめ深度カメラ画像の画角内に手が入っていない状態での深度画像を取得する(図5)。この時取得される深度は水面の深度である。この水面の深度画像を背景画像として用い、ジェスチャ動作中の各フレームでの入力深度画像(ジェスチャ画像;図6)と背景画像の差分を取ることで前景画像が取得できる。この前景画像では水面との差がある、つまり水面上に存在する物体が検出される。なお、図6の入力深度画像の例では、点線で丸印を付した部分に水面上の物体(手)が表されており、前景画像では、この水面上の物体が表されている。次に、ユーザの体の動きによって水面が波立ち水面の深度値が細かく変わりノイズになることに対処するために、例えば差分値が2cm以上と閾値を決めて2 値化を行う。この処理により、水面上に存在する物体の2値画像が得られる(図7)。
前の処理で得られた2 値画像は複数の領域が検出されるため領域を分割する必要がある。得られた2 値画像に対し、輪郭線抽出処理を行うことで、2 値画像中の連結領域の境界をチェーンコード化し、領域の輪郭情報を検出する。図8を参照して、領域抽出するための具体的なアルゴリズムを以下に示す。
「 (1) 入力画像を端から順に走査し、最初に現れた物体領域を最初の輪郭画素とする。
(2) 見つけた輪郭画素と隣接する領域を左回りに調べ、先と同様に最初の物体領域を輪郭画素とする。
(3) 中心を新たに見つけた輪郭画素に移動し、再び隣接する領域を調べる。
(4) 上記の操作を開始点に戻るまで繰り返すことで得られた閉曲線を輪郭とする。
得られた輪郭領域内の画素数を取得することによって領域の面積を取得することができる。」
(出典:奈良先端科学技術大学院大学OpenCVプログラミングブック制作チーム著、「OpenCV プログラミングブック」、株式会社毎日コミュニケーションズ出版、2007年9月26日、p146-147)
手と水面下から出る指の区別は、抽出された領域の面積で行う。手の領域は指の領域と比較して面積が大きくなることから、単純な閾値処理によって手と指の領域を区別している。ここで用いる閾値は経験的に決めた値である。図9Aは認識対象の手(左側)と指(右側)の実際の状態を表しており、図9Bは、2値画像における手(左側)、指(右側)の領域を表したものである。
次に領域の中心点の算出方法について述べる。本実施形態では領域の中心座標に領域の重心を用いる。以下に領域の重心位置と慣性主軸の算出方法を述べる。これらは、画像のモーメントを用いており、座標(x, y) での画素値をf (x, y) と表すと、座標(x, y) におけるf (x, y) の(p + q) 次のモーメントは次のような式で求められる。
得られた腕領域画像において領域の重心座標は手首付近になってしまい、手の中心として用いることができない。そこで2 値画像の腕領域の中から手の領域だけを切り出す必要がある。そこで腕の出ている向きを利用して手の領域を検出する。腕の向き識別は、手領域が認識に利用しているエリアの各辺に接している点から10pixel 分中心に近い点までの点の中で、どの点と交差しているかにより行う。図10に方向検出のイメージ図を示す。
検出されたものを対応づける前フレームで検出された手と、現在のフレームで検出された手の対応関係を調べる。直前のフレームから今のフレームで検出された手の位置に近い手を探すことで、手の対応づけが行うことができる。まず前フレームで検出されたすべての手の位置と、現在のフレームで検出された全ての手の位置の距離をそれぞれ調べ、5cm以内のもっとも位置の近い手を同じ手として判断する。また、現在のフレームで検出された腕について、前フレームにおいて位置の近い手が発見できなかった場合には、これを新しく検出された手であるとみなす。逆に、前フレームで検出された腕で、現在のフレームで位置の近い腕が見つからなかった場合は、この腕は無くなったものとみなす。これを行うことで、手が複数本検出された場合にもそれぞれ個別に手の追跡が可能である。
ユーザが浴槽内にいる場合、ユーザの体の動きによって水面の深度値は細かく変化してしまうので、背景差分によって得られた2 値画像にノイズが発生してしまう。このような細かいノイズは水面下から突き出した指として誤認識してしまう可能性があり問題である。水によるノイズは現フレームで検出されていたとしても、数フレーム後には検出されなくなる一方で、指は随時検出され続けるので、0.2 秒以上検出され続けた領域を指領域として認識することにしている。
入浴者の体の動きによって背景差分の基準面である水面の深度値が変化するので、背景差分ができなくなってしまう。例えば、肩まで浸かっている状態から上半身を水面上に出した場合は、水位が急激に下がるので深度値が変化してしまう。この問題に対処するために、認識に使用している領域の8 割以上が背景の深度値と比較して3cm 以上変化している場合深度画像を取得し、背景画像を更新する。これにより、お湯につかる、体を出すなどの水面の全体的な深度が急激に変わる場合に対処可能となる。
本システムでは、第2項で検討した水面付近における身体動作をインターフェースとして用いるためにどのように実装するのかを述べる。具体的には、手指認識で得られる、手の中心座標、手の深度情報、手の面積の大きさ、水面から突き出した指の中心座標、水面下から突き出した指の深度情報を利用し、以下のジェスチャの認識を行う。
指を使った動作は操作点が小さいので水を流す動作やすくう動作と比較して細かい操作が行える。例えばアイコンを突き刺すことによるGUI を用いた操作ということも可能である。突き出した指は複数本検出できることからジェスチャとして考えられるのは、マルチタッチスクリーンにおけるマルチタッチジェスチャと似た操作である。指を1本突き出すことによるポインティングや指を2 本突き出すことによるピンチのジェスチャを本システムでは用いることにする。検出アルゴリズムとしては、指認識で得られた結果から指それぞれにID を割り振り、対応付けられた指のデータからアイコン上で指が何本突き出されているかを認識する。対応付けられた指の前フレームと今のフレームの座標差から移動量を算出することでジェスチャの認識を行っている。
水面付近の身体動作において、水を流す動作は非常に自然な動作でありスクロールや情報の全体的な移動、動画の制御などに利用することにする。水を流す動作において、手の下部は水の中に入っていて、上部は水面上に出ており、手は傾いている状態である。よって認識において手の深度が水面付近であること、傾いていることの判定と手の中心座標の動きの推移が重要な要素になってくる。本システムでは実装として、手の座標、深度、面積を用いて認識を行う。
さらに、水を流すジェスチャの認識処理について、図12のフローチャートを用いて詳細に説明する。
まず、PC6は、手指認識を行うことにより、手の中心座標、手の深度情報、手の面積の大きさを取得する(S201)。
そして、取得した手の深度情報に基づいて、手が水面近くにあるか否かを判定する(S203)。具体的には、取得した手における水面からの深度が6cm以下の画像あれば手が水面近くにあると判定する。
S203において、手が水面近くにあると判定された場合(YES)、手が傾いているか否かを判定する(S205)。例えば、手の領域を囲む矩形のアスペクト比(ここでは、短辺の長さに対する長辺の長さの比)が所定の閾値Th1以上であれば、手が傾いていると判定し、短辺の長さに対する長辺の長さの比が所定の閾値Th1未満であれば、手は傾いていないと判定する。
S205において、手が傾いていると判定された場合(YES)、前フレームにおける手の中心座標と現在のフレームにおける手の中心座標とを比較することにより、前フレームとの距離差を算出すると共に、手が移動した方向を特定する(S207)。前フレームとの距離差があれば、前フレームにおける手の位置から現在のフレームにおける手の位置まで手が移動していると判定できる。
そこで、PC6は、流すジェスチャを使用する(S209)。これにより、後述するように、流体シミュレーションを用いることで、流すジェスチャに応じて水面に表示された情報が流れるように移動させることができる。
このように、S201〜S211の処理を繰り返し実行することにより、水を流すジェスチャを認識することができる。
水面付近での身体動作において、水をすくう動作は非常に自然な動作であり、水面に浮かんでいる物体を移動するというドラッグの操作に用いることとする。人間が水をすくう動作を行う際には、初めに水面付近で両手を合わせることで手の中に水をため、その後手を水面上に動かすことですくいあげる。両手を合わせた状態のまま手の位置を動かすことで移動を行い、両手を離すことで水を望んだ位置に流し落とすという一連の流れですくい流すという動作を行っている。この動作を画像処理によって認識する手法を以下に説明する。
さらに、水をすくうジェスチャの認識処理について、図13のフローチャートを用いて詳細に説明する。
まず、PC6は、手指認識を行うことにより、手の深度情報、および手の面積の大きさを取得する(S301)。
そして、すくい上げている状態か否かを判断するフラグScoopFlgが“True”になっているか“False”になっているかを判定する(S303)。初期値としてはScoopFlgは、“False”に設定されている。
ScoopFlgが、“False”に設定されている場合、PC6は、取得した手の深度情報に基づいて、水面近くに手があるか否かを判定する(S305)。具体的には、取得した手における水面からの深度が6cm以下の画像あれば手が水面近くにあると判定する。
S305において、水面近くに手があると判定された場合(YES)、取得した手の面積の大きさに基づいて、両手を近づけた状態か否かを判定する(S307)。具体的には、手の領域面積が所定の閾値Th2以上の場合、両手を近づけた状態であると判定し、手の領域面積が所定の閾値Th2未満の場合、左右の手が離れた状態であると判定する。
S307において、両手を近づけた状態であると判定された場合(YES)、水をすくい上げている状態に入ったと判断できるので、PC6は、ScoopFlgを“True”に設定する(S309)。
そして、システムが終了していない場合(S320;NO)、処理をS301に移行した後、再度、ScoopFlgが“True”になっているか“False”になっているかを判定する(S303)。このとき、S309において、ScoopFlgが“True”に設定されているので、処理をS311へ移行する。
S311において、PC6は、S307の処理と同様に、取得した手の面積の大きさに基づいて両手を近づけた状態か否かを判定する。
S311において、両手を近づけた状態であると判定された場合(YES)、水をすくい上げている状態が継続していると判断できるので、PC6は、すくい上げ状態での処理を実行する(S313)。
一方、S311において、両手を近づけた状態ではない判定された場合(NO)、両手が離れた状態と判断できるので、PC6は、両手から水が流れ落ちる状態、すなわち流し落としとして認識し(S315)、ScoopFlgを“False”に設定する(S317)。
水面を叩くジェスチャは終了や削除といった操作に利用する。人間が叩く動作を行う際はまず予備動作として叩く面の上方で手を静止させる。その後、勢いよく水面に向かって手を動かす。この一連の流れで叩く動作は行われる。この流れを画像処理により認識する。
さらに、水面をたたくジェスチャの認識処理について、図14のフローチャートを用いて詳細に説明する。
まず、PC6は、手指認識を行うことにより、手の深度情報、および手の面積の大きさを取得する(S401)。
そして、たたくジェスチャが待機状態であるか判断するフラグBangReadyが“True”になっているか“False”になっているかを判定する(S403)。初期値としてはBangReadyは、“False”に設定されている。
BangReadyが、“False”に設定されている場合、PC6は、取得した手の深度情報に基づいて、手の深度が水面から15cm以上離れているか否かを判定する(S405)。
S405において、手の深度が水面から15cm以上離れていると判定された場合(YES)、取得した手の面積の大きさに基づいて、手が水面に対して水平になっているか否かを判定する(S407)。具体的には、手の領域面積が所定の閾値Th3以上の場合、手が水面に対して水平になっていると判定する。
S407において、手が水面に対して水平になっていると判定された場合(YES)、水面を叩くために待機している状態、即ち、水面をたたくジェスチャに入ったと判断できるので、PC6は、BangReadyを“True”に設定する(S409)。
そして、システムが終了していない場合(S430;NO)、処理をS401に移行した後、再度、BangReadyが“True”になっているか“False”になっているかを判定する(S403)。このとき、S409において、BangReadyが“True”に設定されているので、ここでは処理をS411へ移行する。
そして、S411において、待機状態になってから1秒以内であれば(S411;YES)、PC6は、取得した手の深度情報に基づいて、水面近くに手があるか否かを判定する(S413)。具体的には、取得した手における水面からの深度が6cm以下の画像あれば手が水面近くにあると判定する。
S413において、水面近くに手があると判定された場合(YES)、手が待機状態にあった位置から水面まで降下したことになる。
そこで、PC6は、数フレーム前における手の深度と、現在のフレームにおける手の深度との差が大きいか否かを判定する(S415)。
S415において、数フレーム前における手の深度と、現在のフレームにおける手の深度との差が大きいと判定された場合(YES)、手が勢いよく水面に向かって降下されていると判断できるので、PC6は、叩くジェスチャを使用する(S417)。これにより、後述するように、流体シミュレーションを用いることで、叩くジェスチャに応じて水面に表示された情報が乱れる様子を表現することができる。
そして、PC6は、BangReadyを“False”に設定する(S419)。
一方、S411において、待機状態になってから1秒を越えると(S411;NO)、叩くジェスチャではなく、単に手が待機しているだけであると判断できるので、PC6は、BangReadyを“False”に設定する(S421)。
本システムでは、水面下からの指の突出しと水面上からのタッチを区別して認識可能である。水面上からのタッチの検出方法を以下に述べる。
本システムでは水面をディスプレイとして用いていることから、投影される個々の情報を実物体が浮遊するように表示することで、実物体(水や浮かんでいるもの)と仮想物体(投影される情報)を一体化した拡張現実感を得られるのではないかと考えられる。既存のテーブルトップディスプレイにおいては物理シミュレーションを適応することにより実世界に近いインタラクションを行うことが提案されている。そこで、水環境においては流体シミュレーションを適用することでリアルな情報提示を試みる。流体シミュレーションの様子を図15に示す。
(1) 流す動作による流体の追加
(2) 流体の更新
(3) シミュレーション結果の適応上の処理を毎フレーム繰り返し行うことにより、表示された情報へ流体シミュレーションを適応している。入浴時において水の流れは手で流す動作により生成されているので、流すジェスチャを流体の追加に用いる。流すジェスチャが検出されたら、手領域の各ピクセルの座標に流体を追加する。この時の流体の初期スピードは前フレームと現フレームの差を用いている。その後、粘性や拡散のパラメータに応じて流体の座標と進行方向のベクトルが変化する。流体シミュレーションでは各座標での流れのベクトルが取得できるので、流体シミュレーションを適応するオブジェクトの座標での流れのベクトルを用いて、オブジェクトの座標を更新する。これらの処理により、水面上に浮いている情報が水の流れに沿って移動するような表現が可能となる。
以下では、本システムを用いた応用例について説明する。
現在のPC の一般的ユーザインタフェースであるデスクトップシステムでは情報がアイコンとして表示されており、各アイコンをマウスや指によって操作する。このデスクトップにおけるメタファーを水面に拡張したウォータートップシステムを実現する。従来のデスクトップでは一定の位置に情報が表示され続けるが、ウォータートップでは、流体シミュレーション機能を利用し、水の流れに応じて情報が水面を浮遊しているように表示される。また、浮遊している情報を手指のジェスチャ入力によって選択や消去、フルスクリーンでの閲覧が可能になっている。なお、表示に利用した情報は静止画像と動画を用いた。ウォータートップの外観を図16 に示す。図16の左側はメインモードのトップメニューを示している。トップメニューに表示されている情報をすくい、再生用のアイコンに流し落とすことによって、トップメニューから、図16の右側のフルスクリーンモード(アプリケーションモード)へ遷移し、叩くジェスチャによってフルスクリーンモードからトップメニューへ遷移する。トップメニューとフルスクリーンモードではそれぞれ手指の動作によってインタラクションが可能となっている。例えば、トップメニューに表示されているアイコンをすくい、フォルダアイコン、ゴミ箱アイコン等に落とす操作ができる。
以下、各モードでのインタラクションについての詳細に述べていく。
指の突出しはポインティングの操作に用いている。流すやすくうなどは動きが大きい動作であるので細かい操作を行うのには適していない。よって指の突出しはポインティングによるファイルへの細かい操作に用いることにする。また、複数本の指を用いたマルチフィンガーでのジェスチャが可能である。
また、停止、音量の調整や再生位置の細かい操作についてはアイコンやスライダを指の突出しによるポインティングで操作する。
流すジェスチャによって流れを追加し、流体シミュレーションを画像や動画に適応することで、一度に情報全体を移動させることが可能である。例えば、水をかき集める動作を行うことで情報が自身の手元に集まったり、左から右に流すことによって右側に情報をすべて集めたりといった操作が可能である(図19)。また、流体シミュレーションによって自動的に情報が動くので、情報が水面に浮かんでいるような表現が可能となっている。これにより、実世界に近い自然な情報表示が行えるので、ユーザに実世界とバーチャルがシームレスにつながった情報提示が実現できていると考えられる。
さらに、トップメニューで表示されていた画像を流すジェスチャでスクロールしながらフルスクリーンで閲覧することができる。
すくうジェスチャは情報を特定の場所へ移動する操作に用いる。情報をすくって再生アイコンに流し落とすことで動画の再生、フォルダに流し落としフォルダ内に移動、浴槽外に流し落とすことで削除といった操作を実装した。図21にすくう動作によって動画の閲覧を開始するまでの流れを示す。すくい上げの判定に関しては、すくうジェスチャが認識された時に、オブジェクトが手領域の中に存在すればそのオブジェクトをすくい上げたと判定した。流した落した際の情報の座標はジェスチャの検出が終了する1フレーム前の手の座標を用いた。
アプリケーションモードにおいて叩く動作を行うと、水面の表示が乱れるので、その映像がもういらないものであるという直感的イメージに基づき、そのアプリケーションが終了し、ウォータートップのメインモードに戻る。
スマートフォン等の情報機器で人気のあるアプリケーションの1つはゲームであろう。
本システムの目的は、浴室にスマートフォン等を持ち込まなくても同等なことができる環境の実現であるから、複数のゲームの実装も行った。その際、今までのコントローラを利用したゲームとは違う水特有のインタラクションを利用するようなコンテンツを開発した。
水面下から指の突出しと指を倒す動作により自身の指から弾を発射し、敵に当てるシューティングゲームを作成した(図22)。指を水面上に突き出すと指の周りをまとうようにエフェクトが表示され、この状態のまま指を倒すと倒した方向に弾を撃つことができる。弾を撃つことによって画面上に現れる敵を倒して遊ぶことができる。また、実物体(例えば、お風呂で使用される子ども用のアヒルのおもちゃ)を敵(攻撃対象)として利用することにより、よりリアリティのあふれるゲームが実現できる。このとき、実物体はカメラで位置をトラッキングしており、攻撃操作に対して、その位置に応じた反応をする。指の認識は何本でも可能で、多人数で同時に遊ぶことも可能である。
水面上に表示される金魚を時間内に何匹すくえるかを競うゲームを作成した。金魚すくいは水の中の金魚をすくいあげるゲームなので、実際に手ですくって、落とすことができるという点で実世界のゲームをデジタル技術で再現できている。また、すくうという水の特性を活かした入力を有効活用できている。さらに、CG の仮想的な金魚を、実際の水とともに手ですくうという操作が、実世界と仮想世界を融合したゲームとして実現されている。図24にゲームを行っている様子を示す。
流すジェスチャによって流体シミュレーションの流れを作り、水面に浮かんでいるボールを敵のゴールにいれるという対戦型のホッケーゲームを作成した。流体シミュレーションの結果に基づいて、流れに乗ってボールが動くので本当に水面に浮いている物体を流しあっているような感覚が得られる。流体シミュレーションによる流れの表現と水を流すという水特有の入力を利用することにより、水環境特有の新しいゲームが作成できた。図25にゲームを行っている様子を示す。
7.2.3 火の玉シューティングゲーム
両手を用いて火の玉を飛ばすことで敵を倒すゲームである、火の玉シューティングゲームを実現することができる。
図26は、浴槽3の水面上にある手を上方から見た図であり、火の玉シューティングゲームにおいて、火の玉を飛ばす動作を説明した図である。(a)は、両手の準備動作を示しており、(b)は、火の玉を飛ばしている様子を示している。
図26(a)に示すように、水面上で右手11aと左手11bとを水面に対して傾けた状態で、右手11aをA1方向に移動すると共に左手11bをA2方向に移動し、図26(b)に示すように、手の付け根である両手の手根部を合わせた状態で数秒間維持する。このとき、PC6は、右手11aおよび左手11bそれぞれに対して、手の領域を囲む矩形のアスペクト比(ここでは、短辺の長さに対する長辺の長さの比)が所定の閾値Th1以上であれば、手が傾いていると判定し、この傾いている2つの手が接触して数秒間維持することで、火の玉発射の準備が整ったと判定する。
そこで、PC6は、右手11aおよび左手11bの手の平の近傍の位置に、火の玉12aを投影させる。このとき、初めは小さい円形状の火の玉とし、除々に直径を大きくして投影させてもよい。
そして、右手11aおよび左手11bが、押し出すようにB1方向に移動されると、PC6は、流体シミュレーションを用いて、火の玉12aをB3方向に移動させ、火の玉12bに示すように、右手11aおよび左手11bから離れさせる。これにより、右手11aおよび左手11bから火の玉12aが発射される。
このように、右手11aおよび左手11bの動きに応じて、火の玉12aを水面上に投影し、発射させることにより、火の玉シューティングゲームを実現することができる。
また、図示しないが、火の玉が発射された先に、敵キャラクターを投影させ、火の玉が敵キャラクターに命中すると、敵キャラクターが爆発した映像を投影した後、敵キャラクター消去するようにしてもよい。
さらに、火の玉が敵キャラクターに命中した際、敵キャラクターの爆発を模擬して、水面から水しぶきをあげるようにしてもよい。
図27は、水しぶきをあげるように構成した浴槽3の平面図である。
図27に示すように、浴槽3の底面には、複数の爆発エフェクト用スピーカ3aと、複数の触覚フィードバック用スピーカ3bとが設置されている。図示しないが、これらのスピーカは、PC6と電気的に接続され、PC6からの指示にしたがって、振動を発生する。
爆発エフェクト用スピーカ3aは、PC6からの指示にしたがって、火の玉が敵キャラクターに命中した際、オンする。
触覚フィードバック用スピーカ3bは、PC6からの指示にしたがって、火の玉が発射されたときに、オンする。
図28は、水しぶきをあげる状態を説明した図である。
図28に示すように、具体的には、爆発エフェクト用スピーカ3aのそれぞれには、水面と平行な平面(x−y平面)において、所定の命中領域3aaが設定されている。そして、PC6は、敵キャラクターを水面上に表示しているときに、火の玉12aの位置座標が、敵キャラクターが表示されている命中領域3aa内に入ったと判定した場合、火の玉12aの位置座標が入った命中領域3aaに対応する爆発エフェクト用スピーカ3aをオンにする。これにより、爆発エフェクト用スピーカ3aから振動が発生し、この振動により爆発エフェクト用スピーカ3aの上方の水面から水しぶき2aが発生するので、まるで、火の玉が敵キャラクターに命中したときに、爆発して水しぶき2aがあがったような演出を行うことができる。
さらに、触覚フィードバック用スピーカ3bのそれぞれには、水面と平行な平面(x−y平面)上において、所定の触覚領域3baが設定されている。そして、PC6は、火の玉12aを発射したときの手の位置座標が触覚領域3ba内に入ったと判定した場合、火の玉12aを発射した位置座標を含む触覚領域3baに対応する触覚フィードバック用スピーカ3bをオンにする。これにより、触覚フィードバック用スピーカ3bから振動が発生し、この振動が火の玉12aを発射した手に伝わるので、ゲームのユーザは、発射したときの衝撃を体感することができる。
なお、触覚フィードバック用スピーカ3bは、指向性スピーカを用いてもよく、この場合、火の玉12aを発射したときの手の位置座標が触覚領域3ba内に入ったと判定した場合、触覚領域3baの近傍に設けられた触覚フィードバック用スピーカ3bをオンにすることにより、火の玉12aを発射した位置座標を含む触覚領域3baに向かって発振する。これにより、複数の触覚フィードバック用スピーカ3bを用いて、ゲームのユーザに振動を伝えることができるので、ユーザに対してより効率的に火の玉を発射したときの衝撃を感じさせることができる。
以上のように、本実施形態のインタラクティブシステムは、浴槽内の水面を大型ディスプレイとして用い、入浴時の身体動作を入力として利用した対話的な水面ディスプレイシステムであり、浴室環境における新たな情報との対話手法が実現される。特に、単に従来のインタラクティブサーフェスにおけるマルチタッチ技術をそのまま適用するのではなく、水中での手指の動作に着目し、これを情報入力に適用した結果、自然で直感的な対話が実現できる。また、流体シミュレーションの導入は、手指の動きに応じて表示される仮想物体が浮遊する感覚を与えることができる。さらに、水を流すジェスチャで情報を移動させるという自然な対話機能を実現できる。さらにまた、ジェスチャの認識のために深度カメラによる画像を用いていることから、特殊なセンサやマーカをユーザが装着する必要がなく、入浴時に拘束感を与えないシステムとなっている。また、システムの構築に際して、赤外線光源や特殊なセンサを浴槽に組み込む必要がなく、プロジェクタと深度カメラを設置すればよいだけなので、比較的容易にシステムを導入することができる。
本実施形態において、白濁剤は前述のものに限定されず、表示の視認性が確保される程度の不透明状態を生じさせ得るものであれば他の白濁剤でもよい。また、特許文献2、3のように気泡を用いてもよい。
本実施形態では、
(a) 浴槽の水面を情報表示領域とし、ここで文字、画像、動画情報を閲覧する。
(b) 表示された情報を手指ジェスチャで操作する。その際、水の特徴を活用したインタラクションを設計する。
ことを前提としたインタラクティブシステム(ユーザインタフェース装置)について説明したが、これに限らない。
浴槽3の水面を情報表示領域とする替わりに、液体を落下させることにより平行な平面を形成するとともに、平行な平面の間に不透明状態の気体を充満させた液体平面形成手段を備えるようにしてもよい。なお、ここでは、落下させる液体は不透明状態の液体として説明するが、不透明であっても透明であってもどちらでもよい。
図29および図30は、本発明の実施形態の変形例2の構成を示した図である。なお、本発明の実施形態の変形例2の構成のうち、本発明の実施形態として説明したユーザインタフェース装置が備える構成と同一符号を附した構成については、それぞれ同一であるので、説明を省略する。
液体平面形成手段53は、ポンプ51の駆動により浴槽3内からくみ上げられた白濁した水2を落下させることにより平行な平面61,62を形成する水落下部53aと、水落下部53aにより形成された平行な平面61,62の間に、不透明状態の気体を充満させる加湿器53bとを備えている。ここで、不透明状態の気体は、例えば、白色のミストを含む気体などであり、不透明であればよい。
このように、不透明状態の液体を落下させることにより平行な平面を形成するとともに、平行な平面の間に不透明状態の気体を充満させた液体平面形成手段53を備えているので、ユーザAの正面に、平面61が矩形の情報表示領域として出現することになる。
そして、プロジェクタ4は、PC6の指示に基づいて、矩形の情報表示領域として出現した平面61に、様々な映像を投影する。
エアコンプレッサ55は、空気を圧縮することにより高圧エアを生成し、チューブなどにより接続された電磁弁71〜74に高圧エアを供給する。電磁弁71〜73は、制御装置7からの指示により開閉され、電磁弁74は、三方弁であり制御装置7からの指示によりオン/オフされる。
制御装置7の指示により、電磁弁74がオンされると、エアコンプレッサ55からの高圧エアがチューブ74aにより供給され、高圧エアの押圧力によりエアシリンダ91のシリンダ軸が前方へスライド移動する。これにより、ひよこキャラクター92が平面61,62を突き抜け、ユーザA側に出現する。また、電磁弁74がオフされると、エアコンプレッサ55からの高圧エアがチューブ74bにより供給され、高圧エアの押圧力によりエアシリンダ91のシリンダ軸が後方へスライド移動する。これにより、ひよこキャラクター92が平面61,62の背面位置に戻される。
また、空気砲93も、ユーザAから見て平面61,62の背面に設けられおり、制御装置7の指示により、電磁弁73が開されると、エアコンプレッサ55からの高圧エアを平面61,62に向かって放出する。これにより、高圧エアが平面61,62を突き抜け、水しぶきがユーザAまで到達することになる。
空気砲83は、空気砲93と同一構成を有しており、制御装置7の指示により、電磁弁71が開されると、エアコンプレッサ55からの高圧エアを平面61,62に向かって放出する。これにより、高圧エアが平面61,62を突き抜けることになる。
カメラ85は、矩形の情報表示領域である平面61の四隅に設けられたLEDランプ63a〜63dが発光したLED光を撮像し、撮像した画像データをPC6へ送信する。PC6は、受信した画像データに基づいて、LEDランプ63a〜63dの位置を算出し、この算出したLEDランプ63a〜63dの位置に基づいて、空気放出筒81の向きを算出する。
スイッチ87は、ユーザAの操作により、オン/オフ信号を制御装置7に供給する。
制御装置7は、スイッチ87,88からのオン/オフ信号や、PC6からの指示に基づいて、電磁弁71〜74の動作を制御する。
スピーカ41は、PC6からの指示により、例えば、ゲーム音楽や、あひるの会話などの音声を出力する。
図31は、本発明の実施形態の変形例2のユーザインタフェース装置において、シューティングゲームのゲーム開始準備処理の処理手順を示したフローチャートである。
図31に示すように、まず、PC6は、プロジェクタ4から、例えば、「Sキーを押してください。ゲームを開始します。」などのメッセージを投影させ、平面61上に表示させる(S501)。
PC6は、ユーザ操作により、接続されたキーボードなどの入力デバイスからSキーの入力操作が行われると(S503;YES)、プロジェクタ4から、ゲームスタートを伝えるスタート画面を表示させる(S505)。
ひよこキャラクター92が平面61,62を突き抜け、ユーザA側に出現すると、PC6は、プロジェクタ4から、例えば、「助けて!」などのメッセージを表示させる(S509)と共に、スピーカ41から、「助けて!」とあひるが叫ぶような音声を出力する(S511)。
その後、PC6は、制御装置7を介して、電磁弁74をオフする(S513)。電磁弁74がオフされると、エアコンプレッサ55からの高圧エアの供給が停止し、エアシリンダ91のシリンダ軸が後方へスライド移動する。これにより、ひよこキャラクター92が平面61,62の裏側の位置に戻り、ユーザAからは見えなくなる。
図32は、本発明の実施形態の変形例2のユーザインタフェース装置において、シューティングゲームのゲーム処理の処理手順を示したフローチャートである。
図32に示すように、まず、PC6は、プロジェクタ4から、平面61上に小型の敵キャラクター5匹を投影させる(S601)。この敵キャラクター5匹は、一カ所に留まることなく、矩形の情報表示領域である平面61上でランダムに動き回るように表示する。
そして、制御装置7は、空気砲83または空気砲84のトリガーがオンになったか否かを判定する(S603)。具体的には、制御装置7は、ユーザによりスイッチ87がオン操作されると、空気砲83のトリガーがオンになったと判定し、ユーザによりスイッチ88がオン操作されると、空気砲84のトリガーがオンになったと判定する。
S605において、タイムアップしたと判定された場合(YES)、ゲームオーバーとして処理を終了する。
一方、S603において、空気砲83または空気砲84のトリガーがオンになっていると判定された場合(YES)、PC6は、オンされた空気砲の照準が情報表示領域内に入っているか否かを判定する(S607)。例えば、空気砲83がオンされたとすると、PC6は、カメラ85から受信した画像データに基づいて、LEDランプ63a〜63dの位置を算出し、この算出したLEDランプ63a〜63dの位置に基づいて、空気砲83の向きを算出し、算出した向きから空気砲83の照準が情報表示領域内に入っているか否かを判定する。
そして、PC6は、オンされた空気砲の照準が敵キャラクターに当たっているか、即ち、敵キャラクターの表示領域内に入っているか否かを判定する(S611)。
一方、S611において、オンされた空気砲の照準が敵キャラクターに当たったと判定された場合(YES)、PC6は、プロジェクタ4から、当たった敵キャラクターの爆発を表示し(S615)、敵キャラクター数を“1”だけ減算する(S617)。
次に、PC6は、敵キャラクター数が“1”未満になった場合(S619;YES)、敵キャラクターが全滅したと判定し、次ステージにゲームを遷移させる(S621)。
図33に示すように、まず、PC6は、プロジェクタ4から、平面61上に大型の敵キャラクター1匹を投影させる(S701)。この敵キャラクター1匹は、一カ所に留まることなく、矩形の情報表示領域である平面61上でランダムに動き回るように表示する。
そして、制御装置7は、空気砲83または空気砲84のトリガーがオンになったか否かを判定する(S703)。具体的には、制御装置7は、ユーザによりスイッチ87がオン操作されると、空気砲83のトリガーがオンになったと判定し、ユーザによりスイッチ88がオン操作されると、空気砲84のトリガーがオンになったと判定する。
S705において、タイムアップしたと判定された場合(YES)、ゲームオーバーとして処理を終了する。
一方、S703において、空気砲83または空気砲84のトリガーがオンになっていると判定された場合(YES)、PC6は、オンされた空気砲の照準が情報表示領域内に入っているか否かを判定する(S707)。例えば、空気砲83がオンされたとすると、PC6は、カメラ85から受信した画像データに基づいて、LEDランプ63a〜63dの位置を算出し、この算出したLEDランプ63a〜63dの位置に基づいて、空気砲83の向きを算出し、算出した向きから空気砲83の照準が情報表示領域内に入っているか否かを判定する。
そして、PC6は、オンされた空気砲の照準が敵キャラクターに当たっているか、即ち、大型の敵キャラクターの表示領域内に入っているか否かを判定する(S711)。
一方、S711において、オンされた空気砲の照準が敵キャラクターに当たったと判定された場合(YES)、PC6は、プロジェクタ4から、当たった敵キャラクターの爆発を表示する(S715)。このとき、爆発の大きさは、図32に示したフローチャートのS615における爆発の大きさと同等としてもよいし、敵キャラクターの大きさに応じて、大きい爆発としてもよい。
そして、PC6は、電磁弁73を0.1(秒)間だけ“開”とする(S717)。これにより、空気砲93から高圧エアが噴射し、噴射した高圧エアが平面61,62を突き抜け、水しぶきがユーザAまで到達するので、ユーザはよりゲームの迫力を感じることができる。
ひよこキャラクター92が平面61,62を突き抜け、ユーザA側に出現すると、PC6は、プロジェクタ4から、例えば、「ありがとう!」などのメッセージを表示させる(S721)と共に、スピーカ41から、「ありがとう!」とあひるが叫ぶような音声を出力する(S723)。
その後、PC6は、制御装置7を介して、電磁弁74をオフする(S74)。電磁弁74がオフされると、エアコンプレッサ55からの高圧エアの供給が停止し、エアシリンダ91のシリンダ軸が後方へスライド移動する。これにより、ひよこキャラクター92が平面61,62の裏側の位置に戻り、ユーザAからは見えなくなる。
なお、液体平面形成手段により形成される平面は、水の落下により形成されるので、完全な平面には限らず、多少の凹凸があってもよい。
また、本発明の実施形態の変形例2のユーザインタフェース装置では、液体平面形成手段53は、ポンプ51の駆動により浴槽3内からくみ上げられた白濁した水2を落下させることにより互いに平行な平面61,62をプロジェクタ4からの投影方向に垂直になるように形成した。
ここで、平行な平面61,62と垂直になるように、すなわち、プロジェクタ4からの投影方向に平行な平面を形成する2枚の平板を、上方から見て平面61,62とで矩形を形成するように配置するようにしてもよい。そして、平面61,62と2枚の平板とにより四面を形成し、この四面で囲まれた内部に不透明状態の気体を充満させるようにしてもよい。
さらに、2枚の平板の代わりに落下する水2により平面を形成するようにしてもよい。具体的には、液体平面形成手段53が、平行な平面61,62に加えて、互いに平行な平面をプロジェクタ4からの投影方向に平行になるように、ポンプ51の駆動により浴槽3内からくみ上げられた白濁した水2を落下させる。これにより、平面61,62と、プロジェクタ4からの投影方向に平行になるように形成された互いに平行な平面とにより四面を囲み、この四面で囲まれた内部に不透明状態の気体を充満させるようにしてもよい。
2 白濁した水
3 浴槽
4 プロジェクタ
5 深度カメラ
6 PC
3a 爆発エフェクト用スピーカ
3b 触覚フィードバック用スピーカ
7 制御装置
41 スピーカ
51 ポンプ
52 配管
53 液体平面形成手段
53a 水落下部
53b 加湿器
55 エアコンプレッサ
63a〜63d LEDランプ
71〜74 電磁弁
81,82 空気放出筒
83,84,93 空気砲
85,86 カメラ
87,88…スイッチ
91…エアシリンダ
92…キャラクター
Claims (11)
- 液体と不透明状態の気体との組み合わせ、または不透明状態の液体で平面を形成した液体平面形成手段と、
前記液体平面形成手段により形成された平面に対して情報を投影表示させる投影表示手段と、
前記液体平面形成手段により形成された平面に対する入力操作を検出する入力検出手段と、
前記入力検出手段によって検出された入力操作に応じて、前記投影表示手段に投影表示させる情報を制御する表示制御手段とを備え、
前記入力検出手段は、背景である前記平面までの距離を背景画像として取得すると共に、各フレームにおける前記平面又は対象物までの距離を入力深度画像として取得する深度カメラを有し、前記取得した背景画像と入力深度画像との差分を示す背景差分の経時的変化に基づいて前記入力操作を検出し、該検出は、前記平面に対する対象物の接触の検出を含むことを特徴とするユーザインタフェース装置。 - 前記深度カメラは、前記平面に対して赤外光を照射し、前記照射した赤外光の反射光を読み取ることにより前記背景差分を取得することを特徴とする請求項1に記載のユーザインタフェース装置。
- 前記深度カメラは、前記平面に対して光を所定のパターンとして照射し、前記照射した光の反射光の所定パターンの幾何学的な形状の変化を読み取ることにより、前記背景差分を取得することを特徴とする請求項1または2に記載のユーザインタフェース装置。
- 前記入力検出手段は、前記対象物であるユーザによる前記平面への接触を含むジェスチャの入力を認識するジェスチャ認識手段であり、
前記背景画像と、前記入力深度画像のうち前記ジェスチャの動作中を表す1以上のジェスチャ画像との差分を求めることによって、前記ジェスチャの動作領域を表す前景画像を取得し、前記ジェスチャの動作領域の面積の経時的変化に基づいて、前記ジェスチャの動作内容を特定するジェスチャ解析部を有することを特徴とする請求項1から3のいずれか1項に記載のユーザインタフェース装置。 - 前記液体平面形成手段は、不透明状態の液体が蓄えられた液体槽であり、
前記投影表示手段は、該液体槽の液面に対して情報を投影表示させ、
前記表示制御手段は、前記ジェスチャ認識手段によって認識されたジェスチャに応じて、前記投影表示手段に投影表示させる情報を制御する
ことを特徴とする請求項1から4のいずれか1項に記載のユーザインタフェース装置。 - 前記ジェスチャ認識手段は、前記ユーザが前記液面下から指を突き出す動作、前記ユーザが前記液面付近において前記液体を流す動作、前記ユーザが前記液体をすくう動作、前記ユーザが前記液面を叩く動作のうちの少なくとも1つの動作を認識するものであることを特徴とする請求項5に記載のユーザインタフェース装置。
- 前記表示制御手段は、流体シミュレーションにより、前記投影表示される情報を前記液面上で移動させるものであることを特徴とする請求項5または6のいずれか1項に記載のユーザインタフェース装置。
- 前記ジェスチャ認識手段は、前記ユーザが前記液面付近において前記液体を流す動作を認識するものであり、
前記表示制御手段は、前記認識された液体を流す動作に応じて、前記流体シミュレーションにより、前記投影表示される情報の移動の向きや速さを決定するものであることを特徴とする請求項7に記載のユーザインタフェース装置。 - 前記液体槽は前記ユーザが内部に入ることができるものであり、
前記ユーザは、前記液体に浸かることができるものであることを特徴とする請求項5から8のいずれか1項に記載のユーザインタフェース装置。 - 前記液体平面形成手段は、液体を落下させることにより平行な平面を形成するとともに、前記平行な平面の間に不透明状態の気体を充満させ、
空気を放出する空気放出筒を備え、
前記入力検出手段は、前記空気を放出した際の前記空気放出筒の向きを検出し、
前記表示制御手段は、前記入力検出手段によって認識された前記空気放出筒の向きに応じて、前記投影表示手段に投影表示させる情報を制御する
ことを特徴とする請求項1から4のいずれか1項に記載のユーザインタフェース装置。 - 液体と不透明状態の気体との組み合わせ、または不透明状態の液体で平面を形成した液体平面形成手段と、
前記液体平面形成手段により形成された平面に対して情報を投影表示させる投影表示手段と、
背景である前記平面までの距離を背景画像として取得すると共に、各フレームにおける前記平面又は対象物までの距離を入力深度画像として取得する深度カメラを有し、取得した背景画像と入力深度画像との差分を示す背景差分の経時的変化に基づいて、前記液体平面形成手段により形成された平面に対する入力操作を検出し、該検出は、前記平面に対する対象物の接触の検出を含む入力検出手段と、を備えた装置と接続されたコンピュータに、
前記入力検出手段によって検出された入力操作に応じて、前記投影表示手段に投影表示させる情報を制御する制御ステップを、
実行させるためのユーザインタフェース制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014097872A JP6425416B2 (ja) | 2013-05-10 | 2014-05-09 | ユーザインタフェース装置およびユーザインタフェース制御プログラム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013100744 | 2013-05-10 | ||
JP2013100744 | 2013-05-10 | ||
JP2014097872A JP6425416B2 (ja) | 2013-05-10 | 2014-05-09 | ユーザインタフェース装置およびユーザインタフェース制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014238828A JP2014238828A (ja) | 2014-12-18 |
JP6425416B2 true JP6425416B2 (ja) | 2018-11-21 |
Family
ID=52135899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014097872A Active JP6425416B2 (ja) | 2013-05-10 | 2014-05-09 | ユーザインタフェース装置およびユーザインタフェース制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6425416B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6547366B2 (ja) * | 2015-03-27 | 2019-07-24 | セイコーエプソン株式会社 | インタラクティブプロジェクター |
JP6559788B2 (ja) * | 2015-09-09 | 2019-08-14 | チームラボ株式会社 | 情報提供装置 |
JP6651814B2 (ja) | 2015-11-30 | 2020-02-19 | 富士通株式会社 | 領域抽出装置、領域抽出プログラム、及び領域抽出方法 |
JP6699479B2 (ja) * | 2016-09-15 | 2020-05-27 | オムロン株式会社 | 操作装置、遊技機、および制御方法 |
US11107287B2 (en) | 2017-10-05 | 2021-08-31 | Sony Corporation | Information processing apparatus and information processing method |
JP7135444B2 (ja) * | 2018-05-29 | 2022-09-13 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
JP7236193B2 (ja) * | 2018-09-27 | 2023-03-09 | メイコーエンベデッドプロダクツ株式会社 | 異常検知装置、異常検知方法、プログラム |
JP7012944B2 (ja) * | 2018-10-11 | 2022-01-31 | オムロン株式会社 | シミュレーション装置、シミュレーション方法及びシミュレーションプログラム |
CN109669362B (zh) * | 2019-01-29 | 2024-01-30 | 柳州工学院 | 一种与家用浴缸配套的物联网智能控制装置 |
JP2020144413A (ja) | 2019-03-04 | 2020-09-10 | セイコーエプソン株式会社 | 表示方法および表示装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011118725A (ja) * | 2009-12-04 | 2011-06-16 | Sharp Corp | 情報処理機器、情報処理方法および情報処理プログラム |
US8702507B2 (en) * | 2011-04-28 | 2014-04-22 | Microsoft Corporation | Manual and camera-based avatar control |
CN102841733B (zh) * | 2011-06-24 | 2015-02-18 | 株式会社理光 | 虚拟触摸屏系统以及自动切换交互模式的方法 |
-
2014
- 2014-05-09 JP JP2014097872A patent/JP6425416B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014238828A (ja) | 2014-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6425416B2 (ja) | ユーザインタフェース装置およびユーザインタフェース制御プログラム | |
JP7537016B2 (ja) | 三次元環境と相互作用するためのデバイス、方法、及びグラフィカルユーザインタフェース | |
RU2554548C2 (ru) | Воплощение визуального представления с помощью изученного ввода от пользователя | |
JP6776400B1 (ja) | プログラム、方法、および情報端末装置 | |
CN104740869A (zh) | 一种融合真实环境的虚实结合的交互方法及系统 | |
KR20230159481A (ko) | 프로그램, 방법, 및 정보 처리 장치 | |
CN103501869A (zh) | 手动和基于相机的游戏控制 | |
KR101794233B1 (ko) | 모션 인식 및 특수 효과 제어기술을 이용한 체감형 게임 콘텐츠 제공 시스템 | |
JP7369674B2 (ja) | プログラム、方法、および視聴端末 | |
JP2011258158A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
US20220323862A1 (en) | Program, method, and information processing terminal | |
JP2021053179A (ja) | プログラム、方法、および視聴端末 | |
WO2020262332A1 (ja) | ゲームプログラム、ゲーム方法、および情報端末装置 | |
CN109416614A (zh) | 应用程序控制程序、应用程序控制方法以及应用程序控制系统 | |
KR20220024602A (ko) | 게임 프로그램, 게임 방법, 및 정보 단말 장치 | |
KR101326869B1 (ko) | 가상환경 제작을 지원하는 가상 골프 시뮬레이션 장치 및 그 방법 | |
US20220241692A1 (en) | Program, method, and terminal device | |
JP6826645B1 (ja) | プログラム、方法、および端末装置 | |
JP2022000218A (ja) | プログラム、方法、情報処理装置、およびシステム | |
JP2021010756A (ja) | プログラム、方法、および情報端末装置 | |
JP2011239936A (ja) | ゲーム装置、ゲーム処理方法、ならびに、プログラム | |
JP5213913B2 (ja) | プログラム及び画像生成システム | |
Joyce III et al. | Implementation and capabilities of a virtual interaction system | |
Clifton et al. | Don't open that door: designing gestural interactions for interactive narratives | |
JP7377790B2 (ja) | ゲームプログラム、ゲーム方法、および情報端末装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170124 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170124 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170619 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171010 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20171016 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20171102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180813 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181023 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6425416 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |