IPSJ-Oneの追記(その1)

IPSJ-One、分野横断的に最新の研究トピックが知れて、大変勉強になりました。アツい人たちといると、とっても心地よいです。運営の皆様、登壇者の皆様、ありがとうございました。
今回5分のプレゼンでしたが、そのスライド作成の過程で研究を振り返ってみると、色々当時の記憶が蘇ってきてたので、追記ということでメモしておきます。

(1)センサ情報と映像をつなげるお話

まずはセンサ情報を今の映像配信サービスでどう流すか、というお話をしました。

もともとの研究のきっかけは、熊本の方から、「熊本と東京をつないだ遠隔ライブをやりたいので、協力してくれないか」というお誘いからでした。昔ニコニコ生放送を使った映像配信支援の
論文を書いてたことがあり、偶然その研究を知って、コンタクトしていただいたようです。もともとは上述した論文で作っていたシステムを使えないか、というお話だったのですが、せっかくやるなら何か新しいことをやりたいのだけど、それを許して頂けるなら、という我儘なお願いを聞いていただき、適宜相談の上お手伝いすることになりました。(新しいものが作れなかった場合は既に作っていたシステムを使う、というセーフティネットは一応用意)

この時点で決まっていたのは、
・一ヶ月後に本番
・出演アーティストは、
GUSTAVE COQUIOT と、Bird By Snow 。どちらも素晴らしいミュージシャンです!
・映像配信はUSTREAMで行う(安定した配信と高品質な音を流したい、という前提がありました)
ということでした。

何をやるか、とりあえずアーティストの方と相談の機会を設けてもらいました。通常のライブと遠隔ライブの、
・アーティスト目線での違い(たとえば観客からのフィードバックが乏しい)
・観客目線での違い(たとえばカメラで切り取られた視点からしか見えない)
などから、雑談まで、色々とお話させていただきました(ちなみにこの場には何故か東大暦本研のS藤さんにも同席してもらっていましたw)。
あとは、隣の研究室のN村先生と休憩中の雑談で、坂本龍一さんの遠隔ピアノライブをお手伝いしてたときの話を伺いました。「当時は遠隔で演奏したピアノのMIDI情報をネットで送信して、リモートのピアノが動く、みたいなことを行ってた」みたいなお話を聞けました。
これらの相談から、

(演奏側ー>観客側)
・アーティストの演奏してる全身のモーションデータをUSTREAMの映像と同期して届けて、
・そのモーションデータを視聴会場で再現し、観客がUSTREAMの映像に加え、自由な視点でアーティストの動きをみれるようにする

(観客側ー>演奏側)
・観客が一番見たがっている視点を抽出し(再現したアーティストの全身モーションに対する観客の注目点の抽出)、アーティスト側に送信
・その情報から、カメラや照明をコントロールして盛り上がりなどをフィードバック

というシステムを作ることにしました。一つチャレンジングなのが、「全身のモーションデータをUSTREAMの映像と同期して届ける」のをどうするか、という問題でした。今回は配信側と視聴側は1:1なのですが、通常は1:多なので、同期問題やスケーラビリティなどを考えると、別ストリームを用いて頑張って同期して届けるよりも、なんらかの形でUSTREAMの映像に付与できた方が今後のためにもよいのでは、ということになりました。

unknown

(当時のメモ)

映像にデータを埋め込む方式はいくつか提案されてますが、調べたところシックリくる方法が我々の調査力だと見当たりませんでした。そこで、「センサデータストリームをそのまま動画のQRコードに変換して映像と合成すればいけるのでは」、というアイデアを考え、プロトタイプを作って色々試験してみたところ、無事30FPS程度で読めることがわかったため、そのアプローチを採用しました。常に30FPSで全てが読めるわけではないのですが、もともとセンサデータ自体欠損もあるし、30枚のうち1、2枚が落ちても、センサデータを対象とする上では問題にならないだろう、と判断しました。

ということで、モーションデータを既存映像配信サービス上で送ることができ、(観客側ー>演奏側)のシステムもつくり、何とか(?)当日のライブを乗り切りました。

unknown
(アーティストの映像配信側システム。カメラ4台+Kinect。カメラ切替やズームインソフトなども手作り。)


Pasted Graphic
(2枚のスクリーン・プロジェクタを使い、USTREAMからの映像と、その映像から抽出したモーションデータから作ったCGをそれぞれ投影)

R0019937
(アーティストの方々と記念撮影)

その後、モーションデータだけではなくて様々なセンサデータを対象にし、
・センサデータフォーマット(今はバージョン3を実装中)
・QRコードのサイズをおさえるためのセンサデータの圧縮
(今はバージョン2を実装中)
などの課題に取り組みながら、少しずつ作ってきました。
データ再生側も、モーションデータの場合はCGだけじゃなくて実際にロボットを使ったりして、姿勢制御って難しいなぁなどと思いながら作ったり。リアルタイム記録 or 配信に関しては、センサデータと映像を同期させるために1/*(FPS) 秒以内にセンサデータのフォーマット化、圧縮、QRコードへの変換、映像と合成、を行う必要がある。つまりハードリアルタイム性が要求され、そのあたりも面白いところです。

そんなこんなで色々作りながらも、最終的には
tetujinさんの多大な努力の結果、Senbayアプリをリリースするに至りました。

なお、私たちの方式は映像の一部を二次元コードのために用いるという、かなり割り切った方式になってます。これにはもとの映像の美しさを損なうなど、利点と欠点があるので、あらゆるケースで正しいアプローチにはなりえないと思います。
映像になんらかのデータを埋め込む方式は、MPEG7(*1) や電子透かし技術(*2, *3)、など色々あるので、その辺りの動向をうまく見ながら、実際のサービスとして使えそうな・動きそうなものを作っていければ、と思います。また、今回のは欠損が許されるセンサデータを対象とする、ということで、ライブラリなどの普及性などからQRコードを活用しましたが、漏れのない信頼性の高いデータ転送を独自の二次元コードで行う、という研究(*4)もありましたので、こちらもご興味のある方はご覧ください。

(*1) Mpeg-7. http://mpeg.chiariglione.org/standards/mpeg-7.
(*2) Potdar, V. M. et. al . A survey of digital image watermarking techniques. In Industrial Informatics, 2005. INDIN. 2005, pp.709–716.
(*3) Tianxing Li et. al. HiLight: Hiding Bits in Pixel Translucency Changes, Mobicom2014, pp. 383-386
(*4) VCode - Pervasive Data Transfer Using Video Barcode


長くなったのでここでひとまずきります・・