情報処理学会 インタラクション 2016
IPSJ Interaction 2016

163C72
2016/3/4

AquaTop Display 上での Android スマートフォン操作システム菅原 智行1,a)

的場 やすし3,b)

佐藤 俊樹2,c)

小池 英樹2,d)

概要：スマートフォンの普及にともない，浴室にスマートフォンを持ち込んで入浴中に使用する人が増えている．これに対し著者らは，水面を対話型ディスプレイとする AquaTop Display を開発している．しかし，AquaTop 上で動作する web ブラウザ，動画プレーヤー等は PC 上に個々に開発する必要があった．
本研究では Android スマートフォンと AquaTop Display を接続することで，Android アプリケーションがそのまま AquaTop Display 上で表示・操作可能となるシステムを開発した．

A Framework for Interaction with Android Smartphone on AquaTopDisplay
Tomoyuki Sugawara1,a)Yasushi Matoba3,b)Toshiki Sato2,c)Hideki Koike2,d)Abstract: With the spread of smartphones, many people bring it into bathroom to browse Internet or tosee movies. The authors developed an interactive surface system on the water, named AquaTop Display.
However, applications on AquaTop Display such as web browser or movie player should be developed on thePC. We developed a system which integrates AquaTop Display and Android smartphone. The users caninteract with the smartphone by touching the screen which is projected on the water.

1. はじめにウザや動画プレイヤー等の個々のアプリケーションは PC上で個別に開発する必要があった．

スマートフォンの普及に伴いスマートフォンを浴室に本研究では，Android スマートフォンと AquaTop Dis-

持ち込んで入浴中に使用する人が増えている. これに対play を連携させることで，Android のアプリケーションをし著者らは，水面を対話型ディスプレイとする AquaTop

そのまま AquaTop Display 上で動作させ，ユーザが水面上

Display[1] を開発し，スマートフォン等の電子デバイスをのジェスチャでこれらを操作することを可能とした．この保持することなく水面で web ブラウジングや動画視聴を可

結果，ユーザは普段使い慣れたアプリケーションを浴室でも能とした．しかし AquaTop Display においては，web ブラ同じように使用することができる．また，新しい Androidアプリケーションが開発された時，AquaTop Display 用の

1

23a)
b)
c)
d)

東京工業大学 工学部 情報工学科
department of computer science,school of engineering,TokyoInstitute of Technology
東京工業大学 大学院情報理工学研究科
Graduate School of Information Science and Engineering,Tokyo Institute of Technology電気通信大学 大学院情報システム学研究科
Graduate School of Information Systems, The University ofElectro-Communications
sugawara.t.af@m.titech.ac.jp
matoba@vogue.is.uec.ac.jp
toshiki@cs.titech.ac.jp
koike@cs.titech.ac.jp© 2016 Information Processing Society of Japan

アプリケーションを新たに開発する必要がない．

2. 実装
2.1 システム構成
図 1 に本システムの構成，図 2 に実際に開発した実験機の概観を示す．AquaTop Display 同様，浴槽には入浴剤 (大日精化工業 WMP478 ホワイト) で白濁させた水が入っている．水面上方には映像投影用のプロジェクタ，手指検出用の深度カメラ (Kinect for Windows，以下 Kinect)，画像処理

1076

情報処理学会 インタラクション 2016
IPSJ Interaction 2016

163C72
2016/3/4

図 3
図 1

システム構成図

図 2

Android 端末との通信システム外観用，映像投影用の PC(MacBook Pro 15inch, OS:Windows8) が接続されている．また，今回は Android の実機を使用せず，PC 上で Android エミュレータ Genymotion を動作させ，Nexus7 (OS version 4.2.2) をエミュレートした．
後述するように，Android との連携には Android DebugBridge(ADB) を使用した．
2.2 手指の検出
AquaTop Display と同様に入浴剤を投入し背景差分を

図 4

水面上での Android 画面投影・操作の様子．

行う. このうち一般的に水面上で手や指でタッチやジェスチャを行う水面からの高さを経験的に 50〜1000mm と決め, 背景差分の値がこの値の部分を取り出した 2 値化画像を作成し, 2 値化画像の面積が閾値内の領域を手として認識する
その後, 取得した手から, 指が何本どこにあるかを調べる．認識には k-curvature algorithm を用い，手の輪郭点を結んだ曲線のうち, 指先付近では角度が小さくなるため, 角度が閾値以下の部分を指として認識する.

3. まとめと今後の課題
水面型インタラクティブサーフェス AquaTop Display
上で Android スマートフォンを操作するシステムについて述べた．Android スマートフォンのアプリケーションがそのまま使用できるため，AquaTop Display 用の個別アプリケーションを開発する必要がなくなった．また利用者は普段使用して慣れているスマートフォンと全く同じインタフェースを AquaTop Display 上で使用することが可能と2.3 Android との通信
Android と の デ ー タ 通 信 に は Android Debug Bridge(ADB) を使用した. ADB とコアプログラムを連携する
方法には,C 言語の system 関数などによりコマンドプロンなった．
今後は，まずエミュレータの代わりに Android の実機を使用したシステムを開発する．また，細かな入力への対応やオクルージョンの問題を解決する予定である．

プトなどを経由して呼び出す方法があるが, この方法では

1 回の呼び出しごとに ADB プログラムが一度起動し終了するため実時間性が失われる. そこで，ADB プログラムをfork し,pipe で繋ぎ, それを介して必要な文字列をコアプロ

参考文献
[1]

グラムから送信することで，この問題を解決した．

Android は Linux ベースであるため, イベント送信についても Linux の入力プロトコルを使用することが可能であ[2]

る. このプロトコルに適したバイナリデータを図 3 のように，Androd 端末に ADB シェルを通し, イベントが発生したフレームごとに送信する.

© 2016 Information Processing Society of Japan[3]

Yoichi Takahashi, Yasushi Matoba, Hideki Koike:
AquaTop display: interactive water surface for viewing
and manipulating information in a bathroom. In 2013
ACM international conference on Interactive tabletops
and surfaces(ITS’13), pp.155-164, 2013
Linux Input System の 使 い 方 (2015/12/16 確 認)
http://www.tatapa.org/~takuo/input_subsystem/
input_subsystem.html
Multi-touch (MT) Protocol (2015/12/16 確認)
https://www.kernel.org/doc/Documentation/input/
multi-touch-protocol.txt

1077