iOS/PadOSアプリ『ZIGCAM』をリリースしました
テクニカルディレクターの森岡です。TDAでは先週iOS/iPad対応のアプリケーション『ZIGCAM』をリリースしました。
ZIGCAMは何ができるのか?
ZIGCAMは『さまざまな情報を付加したカメラ映像をリアルタイムに転送するアプリケーション』です。これだけだとわかりづらいので内容を説明していきます。
iPhoneはセンサーの宝庫
現在のスマートフォンはカメラやマイクだけでなく、さまざまなセンサを積んでいるため、さまざまなデータを取得しています。とりわけ強力なものがフロントカメラについているDepth Cameraと呼ばれる近距離の物体の凹凸を検出するカメラ、そして最近のiPhone PROやiPad PROに搭載されている、Depth Cameraよりもより遠くの凹凸を計測できるLiDARです。これらによってiPhoneではさまざなな新しい可能性が広がりつつあります。
iOS/iOS Frameworkの強力なAPI
また、センサーが搭載されているだけでなく、ソフトウェア部分でもiOSおよびPad OSのFrameworkは強力です。機械学習を使ったライブラリを数多く内包しており、World Trackingと呼ばれるカメラ=iPhoneが今、空間上の何処にどういう状態であるかを判定したり、People Segmentationと呼ばれる人物だけを覆うマスクを生成することができます。
開発上の課題
このようにセンサーとして、あるいはセンサーの処理デバイスとして非常に先進的で優秀なiPhoneおよびiOSですが、これらを利用したアプリケーション開発には課題があります。
まずはコンテンツをインストールする端末としての問題。小型で省電力に設計されたiPhoneなどのモバイルデバイスはCPUやGPUの処理能力としてはPCに劣っており、表現できることに制限が付きまといます。また、表示デバイスとしてはディスプレイサイズとしてはとても小さく、個人で体験する場合は兎も角、多人数で体験するようなコンテンツを開発するのには向きません。
次に開発環境としての問題。現状、多くのクリエイターは開発ツールとしてPCを選んでいると思います。PCのほうが作業効率が良く、また表現を拡張するためにシステムの拡張が容易だからです。iOSのアプリケーションの開発はハードルが高い上、開発環境はPCと大きく異なっているため学習コストも高いです。
なので『iPhoneの得意なところはiPhoneで処理し、他のことは他のデバイスや環境で処理するシステム・コンテンツ作り』を考えるのは当然ではないでしょうか。
iPhoneをシステムに組み込むためのアプリ
そこで開発したのがこのZIGSIMです。種々のセンサーのデータとフレームワークが書き出した情報をPCなどの他のデバイスに送信することで、iPhoneとそのフレームワークをKinectやウェブカメラのような外部デバイスの一部として扱うことができるようになります。
送信にはNDI™️というプロトコルを利用しています。NDIはNewtek社が開発したリアルタイム映像転送のプロトコルで、現在映像業界でスタンダードになりつつあります。
このNDIにはメタデータという形で映像以外の情報も付加させることができます。また、NDIではアルファチャンネルも転送可能なので、1チャンネルだけですが他の映像情報も合わせて送ることができます。
改めて、ZIGCAMでできること
ZIGCAMは『さまざまな情報を付加したカメラ映像をリアルタイムに転送するアプリケーション』です。NDIというプロトコルを利用して映像と情報を同時に送信します。送信可能な主な情報は以下の通りです。
カメラ映像(Color Image)
文字通り、カメラの取得したフルカラーの映像です。
深度映像(Depth Image)
2次元的に取得した奥行き情報です。映像として取り扱います。PROシリーズなどのLiDAR搭載機ではLiDARの取得した深度映像と機械学習ベースで予測した深度映像の2種類が選べます。通常のiPhoneでは機械学習ベースの深度映像のみとなります。
人物認識映像(People Segmentation Image)
機械学習によって推定された人体と認識されている部分のみのマスク映像です。
顔認識(Face Tracking data)
顔の座標や大きさ、目や口の開閉などの情報です。これらはメタデータとして受信してフレームごとにXML形式で付属しています。
空間認識(World Tracking data)
カメラ(スマートフォン)の空間上の位置や回転情報です。これらはメタデータとして受信してフレームごとにXML形式で付属しています。
人体認識(Body Tracking data)
人体のの空間上の位置や関節など各部位の位置情報です。これらはメタデータとして受信してフレームごとにXML形式で付属しています。
最後に
一般的なZIGCAMの説明については以上となります。あくまでツールなのでコンテンツというよちかはツールと呼ばれるのに近いアプリですが、それ故に応用範囲は非常に広いと思います。とりわけXRライブでは様々な用途に使えるかと思いますので、それはまた別の記事で紹介させていただければ、と思います。