手を左右に振ると、スペースインベーダー風のロケットが、iPhoneの画面内を移動した。本体から約15cmは指が離れているのにゲームができるのは、ソナー(無改造のスマホ本体から音を出す)で操作しているからだ。
南京大学(中国)コンピューター科学技術部の王煒(ワン・ウェイ)准教授と劉・X・アレックス研究員が作ったソフトウェアは、電話の内蔵スピーカーから17~23kHz(人間の可聴周波数の上限で、若い人でもわずかにしか聞こえない)の周波数で音を出す。反射音を内蔵マイクで検知して分析すると、4mm以下の誤差で、手などの物体の位置を計測できる。
キッチンから手術室ままで、物が散乱している場所で役に立つはずだが、直接タッチせずに操作できる電子機器は、安価な技術では実現できなかった。低コストのコンピューター用ジェスチャー制御機能の開発は、過去にも提案があった(“Leaping into the Gesture-Control Era”参照)。だが、王准教授と劉研究員は、ジェスチャー制御を、追加ハードウェアなしに、低価格で、しかも現在のどのスマホにも搭載できると考えている。
スマホがエコーロケーション(反響定位)に使用されたのは、これが初めてではない。ワシントン大学のシャイアム・ゴラコタ助教授(MIT Technology Reviewの2014年度35歳未満のイノベ―ター)は、フィンガーIOプロジェクトの一部として、似た手法を用いた。ゴラコタ助教授は、高周波数音と内蔵ハードウェアを使って、人間の手の位置を確認できるかどうかを研究した。だが、ゴラコタ助教授は、ソナーで直接電話を操作できる王准教授と劉研究員の研究に感銘を受けた。「凄く優れている」と思ったのは、この手法がリアルタイムで使えるように実装されていたからだ。
人間の動きに対する応答には少し時間がかかる。王准教授は、スマホは15ミリ秒で動きを検知し、処理できるという。現実的には、人間は遅延をほとんど識別できないが、制御できること自体が素晴らしいことだ。最初は、手全体を動かしたくなるが、少し練習すれば、指一本動かすだけで操作できるようになる。
動画に登場するアプリは現在研究プロジェクトでのみ提供されており、どの国のアプリストアでも購入できない。だが、王准教授と劉研究員は、この機能をAPI化にして、開発者がエコーロケーションシステムを、iPhoneやアンドロイドのアプリに実装できるようにする予定だ。Webページをスクロールしたり、電子書籍のページをめくったりするために使われるだろう、という。
このテクノロジーは、グーグルの「プロジェクト・ソリ」の一部として提案された機能と、よく似ている。だが、グーグルの研究者の手法では、機器に追加できる専用のレーダーチップを作ろうとしていた。レーダーはソナーより正確だが、別の機能をスマホに搭載することになり、コストが増えてしまう。
王准教授は、ハードウェアメーカーは、単に既存のスマホのマイクとスピーカーの位置を最適化するだけでもよいという。ミリメートル以下の精度にするには、スマホが音を送受信する周波数を高める必要があるが、ハードウェア・コストは、レーダーよりは安上がりのはずだ。
一方で、王准教授と劉研究員は研究室でソフトウェアを改善し続ける。スマートウォッチやVRゴーグル向けのテクノロジーを開発し、画面を見て操作できない(しにくい)問題を解決するつもりだ。また、個々の指を検出する新しいアルゴリズムも作るつもりだ。すでに、手の動きは十分正確に追跡できており、90%以上の精度で文字を書くしぐさから文字を識別できるという。