Facebookが360写真と動画が簡単にPCで作成し、シェアできる、「360 Capture SDK」を発表した。
キューブマッピングという技術を使うことにより、従来のパフォーマンスと時間のかかるスティッチング必要としない、簡単で早い360コンテンツ作成がPCで可能になった。
概要
VRのソーシャルコンテンツは注目が高い分野で、様々なコンテンツが登場しているが、景色をまるでその人のとなりにいるかのように再現できるVRコンテンツはまだ難しい。
しかし、Facebookチームは360コンテンツ作成の方法を再考することで、この問題を解消した。
従来のプロセスではたくさんのバリエーションの写真を撮り、それをスティッチングでつなぎ合わせ、最後につなぎ合わせて制作したものをエンコードするのが通常だった。
今まではVRのためのベースラインハードウェアでハイクオリティのイメージを早く制作しながら、ゲームエンジンでコンテンツを撮影する必要があったが、360 Capture SDKを使えば、それらが全て360 Capture SDKのみで可能となる。
この新しいSDKを使えば、VRコンテンツが360写真または動画の形で即座に撮影し、その後そのままFacebookのNews FeedかVRヘッドセットで見れるようにアップロードするだけでいい。
360 Capture SDKの最大の特徴はキューブマッピング(cube mapping)という、今まで360°パノラマイメージを作るのに使われてきた従来のスティッチングに変わる技術を使っていることだ。
結果は以下の三つの点で違う。
- ● アクセシビリティ: VRコンテンツ制作にスーパーコンピューターが必要なく、前より気軽に360コンテンツが作成できるようになった。
キューブマッピングには360コンテンツのために必要なコンピューターパワーが少なく、VRに推奨されるハードウェアではあれば、クオリティを妥協することなく、1秒につき90フレーム(fps)を保持したまま、360コンテンツが作成できる。
また、360 Capture SDKはUnityやUreal Engineなど複数のゲームエンジンに対応しており、SDKプラグインも可能だ。
- ● クオリティ: ハイクオリティの360コンテンツをVRまたはNews Feedの両方で維持できる。
たとえば、News Feedでの最小画質は1080pと4Kの両方に対応しており、どちらの画質でもVRコンテンツの撮影が行える。 - ● スピード: VRと同等のクオリティの360動画を1秒30fpsで撮影しながら、90 fps パフォーマンスをOculus RiftなどのVRシステムで維持できる。
360 Capture SDKを使えば、ゲームコンテンツを360°で撮影したり、マーケティングビデオを360°コンテンツで制作したり、VR 360で自撮りなど、ソーシャルVRコンテンツが今までより簡単に作れるようになる。
キューブマッピングまでの道のり
キューブマッピングを使うことで、VRコンテンツを簡単に作成、ハイクオリティで再生できるようになるだけではなく、コンテンツを早く撮影することができるようになった。
360カメラで写真や動画を撮影
キューブマッピングを使うことで、VRコンテンツを簡単に作成、ハイクオリティで再生できるようになるだけではなく、コンテンツを早く撮影することができるようになった。
Facebookのチームはこれを達成するために、360カメラ撮影の以下の三つのステージに集中をしぼっている。
- 360°の視野をカバーするため、いろんな角度からの写真を撮影。しかし、その結果、イメージが重なっていしまう部分がでてくる。
- コンピュータービジョンプロセス(スティッチング)を使い、重なっている部分を消し、それらの写真を最終的なパノラマフレームにブレンドすることで、複数の写真を一つのパノラマファイルにつなげる。
- 最高のクオリティで再生できるように、最終的な360写真をハイクオリティでエンコードし、保存。
チャレンジ
VRで360コンテンツを撮影するのは難しい。
VRにはコンテンツを90 fpsでレンダリングする必要があるため、VRゲームとアプリがハイクオリティコンテンツを確保するため、すでにコンピューターの限界を押し上げている。
それが今後解消し、近いうち普通のコンピューターで360写真のための、複数の写真とスティッチ、エンコードが可能になるようになるのか不明瞭だった。
調査
Facebookのチームは、まずゲームエンジンで360写真を撮影する三つのステージのプラグインを調査した。
プラグインでは複数の写真を撮影、スティッチングし、360フレームにアウトプットする。
今までは撮影からスティッチングまでに20から40秒、さらに長くかかっていた。
そのため、Facebookチームは、この問題を解決し、360コンテンツをVRで即座に撮影できるソリューションを開発することを目標として、開発を進めてきた。
キューブマッピング
キューブマッピングはキューブの6つの面をつなげたもので、コンピューターグラフィックには長い間使われてきた技術で、スカイボックスやリフレクションプローブに使われることが多い。
キューブマップの利点:
- ● キューブマップにはそれぞれの面にゆがみがなく、どの面もそこからの視点を再現しているため、周囲のエリアを一つのキューブに変換できる。
ビデオコードはモーションベクターを直線にとらえるため、これがうまく働き、動きを曲げ、きれいにスフィア型にエンコードされるようになる。
- ● ピクセルが平等に分散されるため、余分な情報を含むポールがパノラマ投影のさいにできなくなる。
- ● どの面もキューブの面に該当する部分だけになるため、制作が簡単。
Facebookチームは360 video for News Feedを制作した時、このキューブマッピングがストリーミングクオリティを保てることに気付き、キューブマッピングをスティッチングプロセスの代わりにゲームエンジンで使った撮影方法を思いついた。
その結果、パフォーマンスをセーブし、スピードを上げることに成功した。
さらに、スティッチングとパノラマ投影の際にクオリティを損なわないため、キューブマップコンテンツはスティッチングコンテンツよりハイクオリティに仕上がる。
キューブマップ撮影の結果
キューブマッピングを360カメラプロセスをまねするのではなく、VRコンテンツを撮影するのに活用することにした結果、Oculus Riftで90 fpsのパフォーマンスを保ったまま、VR同等の360動画を30 fpsで、コンテンツのクオリティを妥協することなく、1秒以下の速さで撮影できるようになった。
また、再生時もハイクオリティを保ったままのコンテンツが配信できる。
さらに、360 Capture SDKはリアルタイム360動画も4Kの高画質で撮影することができ、キューブマップをダイレクトに撮影することで、レアソースのクオリティがスティッチングを使った時より、高く維持したままアウトプットができる。
実際、720pでのキューブマップフォーマットの体感クオリティは1080pのものと同じくらいに感じられるそうだ。
エコシステム
360 Capture SDKは多くのプラットフォームに対応しており、Unity、Unreal Engineなどのほとんどのゲームエンジンをサポート、UnityサポートはDLLで配信中で、360写真と動画のエンコードがPCでできる。
そして、メタデータ注入も可能で、VRコンテンツを撮影する人は、NVIDIAやAMD GPUも使える。
もちろん、この最新のキューブマップまたは最大クオリティのキューブストリップはFacebook 360でも使用可能だ。
参照元URL: https://code.facebook.com/posts/1868610470046578
Copyright © 2017 VR Inside All Rights Reserved.