Table of Contents

EIF ファイルを記録してシミュレーション実行に使用する

EIF ファイル(EasyAR Input Frame file) は、EasyAR Sense が一連の入力フレームデータを保存するために使用するファイル形式です。この記事では、EIF ファイルを記録し、シミュレーション実行に使用する方法を主に説明します。

EIF ファイルと内容

EIF ファイルには、記録方法に応じて 2 つの実装があります。

  • オリジナル EIF 形式(通常の拡張子は .eif)

    オリジナルの EIF ファイルは、EasyAR 内部で定義されたデータ構造を使用して、画像や camera パラメータ、トラッキング状態などの追加情報を含む入力フレームデータをフレームごとに保存します。この形式は動画圧縮を行わず、JPEG 画像データなどをフレーム単位でエンコードするため、正確な再生に適しています。

  • EIF MKV 形式(通常の拡張子は .mkveif)

    MKV コンテナに基づく動画形式です。この形式では、入力フレームの情報を MKV コンテナにエンコードします。動画エンコードには H.264 を使用して画像データを圧縮し、IMU センサーデータや localization データなど、入力フレームのその他のメタデータをストリームまたは追加トラックとして保持します。これによりファイルサイズを大幅に削減でき、標準的な動画ストリーム処理も容易になります。

注記

EIF MKV 形式は現在、Android/iOS/macOS/visionOS での記録と Windows/macOS での再生のみをサポートしています。従来の EIF 形式にはこの制限はありません。

EIF の記録と再生

EasyAR は記録と再生のための一連の仕組みを提供しており、主に次のコンポーネントで制御します。

  • InputFrameRecorder / InputFramePlayer

    • 用途

      オリジナル EIF 形式に対応する記録および再生コンポーネントです。

    • 特徴

      記録中、入力されたすべての入力フレームは、画像、パラメータ、トラッキング状態などを含めてシリアライズされ保存されます。

  • VideoInputFrameRecorder / VideoInputFramePlayer

    • 用途

      EIF MKV 形式に対応する記録および再生コンポーネントです。

    • 特徴

      記録時には、ジャイロスコープ、加速度計、localization データなど、より多くのセンサーデータストリームをサポートし、それらをまとめて EIF MKV ファイルに格納します。再生側ではこれらのデータを出力するかどうかを選択できるため、記録時のさまざまな入力を PC 上で完全にシミュレートしやすくなります。

EIF を使用したシミュレーション実行の原理と実現できる効果

記録済みの EIF ファイルを入力データソースとして使用することは、物理カメラと関連センサーの完全なデータストリームを実行時に AR engine へ「再生」することに相当します。入力フレームシーケンスをシミュレートすることで、次のようになります。

  • AR engine は引き続き物理カメラのデータを取得していると認識します

    再生で出力される各フレームには、元のタイムスタンプ、camera パラメータ、トラッキング状態が含まれ、アルゴリズムはこれらのフレームをリアルタイムデータとして処理します。

  • PC や Unity Editor など、デバイス以外の環境で実際の実行時動作を再現できます

    これにより、実機なしで visual tracking、spatial map などの機能をデバッグでき、Windows/Mac 上で Mega などの機能をシミュレーション実行できます。

EIF を使用したシミュレーション実行では、次の効果を得られます。

  • 実際のデータフローを再現 カメラがない場合でも、planar image tracking、spatial localization、dense map generation などの AR 機能を実際の実行と同じように駆動できます。

  • 開発、デバッグ、診断が容易 記録された EIF ファイルは、トラッキング失敗の原因分析、特定入力に対する AR アルゴリズムの挙動検証、性能変動の確認に使用できます。

  • クロスプラットフォーム再生 EIF ファイルを異なるプラットフォーム間で転送し、スマートフォンで記録した AR Session の挙動を PC 上で再現できるため、デバイスなしでデバッグできます。

次のステップ

プラットフォーム別ガイド

EIF ファイルの記録とシミュレーション実行への使用は、プラットフォームと密接に関係しています。対象プラットフォームに応じて、次のガイドを参照して開発してください。