visionOS

WWDC23:Vision Pro向け2D/3Dビデオコンテンツ配信

※本サイトは、アフィリエイト広告および広告による収益を得て運営しています。購入により売上の一部が本サイトに還元されることがあります。

Deliver video content for spatial experiences

Deliver video content for spatial experiences

WWDC23において、HTTP Live Streaming (HLS) を使用して、visionOS 向けにビデオコンテンツを準備し、配信する方法を紹介するセッション「Deliver video content for spatial experiences」が公開されています。

コンテンツのパイプラインを考えると、まずビデオ、オーディオ、キャプションのメディアエンコーディングから始めます。 次に、これらのメディアリソースをパッケージ化し、HLS 配信の準備を整える必要があり、これが、今日の 2D コンテンツの配信方法です。

3D コンテンツの配信の目標は、現在の 2D プロセスの上に構築することで、HLS は、断片化された MP4 のタイムドメタデータを新たにサポートし、重要な適応を可能にします。


2D video playback capabilities

2D video playback capabilities

Appleプラットフォームは最大4K解像度の再生に対応しており、最高品質の映像を体験できます。

ディスプレイのリフレッシュレートは90 Hzで、毎秒24フレームのビデオの場合は、特別な96 Hzモードが自動的に使用されます。

標準およびハイダイナミックレンジに対応しています。


Encode audio

Encode audio

ビデオに対応するオーディオについては、必要な数のソースオーディオストリームを特定し、作成し、その数は、対象とする音声言語のセットと、その音声の役割によって異なります。

ある役割はメインのダイアログかもしれませんし、別の役割は音声説明かもしれません。HLSを念頭に置いて、これらのソースを配信用にエンコードします。

フォールバックのステレオ・オーディオ・トラックとともに空間オーディオを配信することもできます。

こうすることで、空間オーディオをサポートするデバイスでの素晴らしい体験と、あらゆる場所での信頼できる再生が保証されます。


Package for HLS delivery

Package for HLS delivery

パッケージングとは、ソースメディアを様々なタイプのセグメントに変換し、信頼性の高い配信を可能にするプロセスで、これは、先のHLSストリーミングページで利用可能なAppleのHLSツールで行うことができます。

また、コンテンツプロバイダによっては、独自の制作ツール、ハードウェア、ワークフローを使用する場合もあります。また、そのようなサービスやツールを最初のグループに提供するベンダーもいるかもしれません。

パッケージングのゴールは、一連のメディアセグメント、それらの使用を促進するメディアプレイリスト、そしてそれらすべてを結びつけるマルチバリアントプレイリストを作成することです。

現在、最も一般的に使用されているのは、2 種類の HLS メディアセグメントで、断片化された MP4 メディアセグメントは、既にエンコードされたビデオやオーディオのムービーファイルから開始し、多数のリソースを生成することで生成されます。


3D video

3D video

3Dビデオとはビデオであり、映画トラックやネットワークストリームのフレームシーケンスです。

3Dビデオの「3D」は、ステレオスコピックと同じ意味で使われ、左目用の画像と、右目用の少し違った視点からのよく似た画像を提供します。

この左右の映像の違いは視差と呼ばれ、映像が表示されると立体的な奥行きを感じさせます。


Multiview video compression

Multiview video compression

3Dビデオフレームの伝送方法には選択肢がありますが、有用と思われる指針がいくつかあります。

すべてのステレオフレームに単一のビデオトラックを使うことで、従来の2Dビデオトラックによる制作が維持されます。

左と右の画像またはビューの両方が、どのような表示時間であっても、1つの圧縮されたフレームになります。

手元にフレームがあれば、両方のビューまたはステレオペアがあります。


MV-HEVC

MV-HEVC

ステレオフレームを提供するために「MV-HEVC」とも呼ばれるマルチビューHEVCの使用を紹介します。これはHEVCの拡張で「MV」はマルチビューを意味します。

各フレームで複数のビューを持ち、各フレームは圧縮された左右の画像のペアを持ちます。

MV-HEVCはHEVCを中核としているため、Appleシリコンはこれをサポートしています。

MV-HEVCでは、各圧縮フレームにベースとなるHEVCの2Dビューが格納されます。


In video track signaling

In video track signaling

3Dデコーダはもう一方のビューを計算して、対応する目に両方のビューを提示することができます。

ベースとなる2D画像間の差分は標準的なHEVC技術を使用し、左目と右目のビュー間の差分だけがステレオフレームに記述されるため、効率が達成されます。

ビデオフォーマット記述、またはMPEG-4のビジュアルサンプルエントリは、符号化タイプ、コーデック、各ビューの寸法、およびビデオフレームのデコードに必要なその他の詳細を示します。

ビデオフォーマット記述に新しい拡張「Video Extended Usage Box」(vexu)が導入されました。

このボックスは、ビデオが立体視であること、そしてどの立体視ビューが存在するかを示す、軽量で容易に発見可能な信号として機能します。HLS 配信の場合、これは左右両方になります。

この新しい VEXU ボックスを記述した仕様は、SDK とともに提供されます。


Depth in stereoscopic 3D

Depth in stereoscopic 3D

2D制作と同様に、MV-HEVCを使用したローカルムービーを使用することができ、他の2Dビデオと同様に動作するはずです。

左と右の画像が対応する目に提示されることで、立体的な奥行きの知覚が生じ、相対的な奥行きの感覚が得られます。

ビデオシーンの物体は、視差の量の違いにより、他の物体よりも近く見えたり遠く見えたりします。

立体的な奥行きの3つの主要なゾーンが定義でき、それらは、視差の手がかりのないスクリーン平面、スクリーン平面の前方にオブジェクトが知覚される負の視差、スクリーン平面の後方にオブジェクトが知覚される正の視差です。

キャプションのような要素が、負の視差の手がかりと同じフレーム領域で視差なしでレンダリングされると、奥行きの競合が生じ、視聴時に不快感が生じます。


Adapting captions to 3D video

Adapting captions to 3D video

ステレオスコピック・ビデオでは、奥行きの衝突やビジュアル・エレメントがビデオに重なるのを避けることが重要です。

新しいキャプションフォーマットや既存のフォーマットの変更を要求する代わりに、各ビデオフレームの視差を特徴付ける方法を提供します。

この視差は、ある部分は視聴者に近く、ある部分は視聴者から遠いというように、フレーム全体で変化することがあります。

Appleはこれを視差の輪郭と呼び、ビデオトラックのフレームと同期したメタデータトラックにメタデータとして記録します。

3D映像をタイル化し、各タイルの奥行き視差を示すと、それを使って、キャプションがステレオ映像の要素に干渉しないようにすることができ、再生中、キャプションの視差は、奥行きの衝突を避けるために自動的に調整されます。


Audio and 3D video

Audio and 3D video

3Dビデオでのオーディオ使用に関しては、2D配信と同じオーディオ使用が可能です。

プラットフォームはヘッドトラッキングをサポートしているので、空間オーディオフォーマットの使用を検討してください。

2Dと3Dで同じ音声を共有するには、映像のタイミングを合わせる必要があり、異なる場合は、2Dと3Dのアセット間でオーディオトラックを分ける必要があります。

3Dのパッケージングに目を向けると、最新のHLSツールが細部にまで配慮しており、3Dアセットは2Dとほぼ同じプロセスを実現しています。


HLS multivariant playlist format update

HLS multivariant playlist format update

Appleのツールを使用しないほとんどの制作システムは、リリースされる新しい仕様を使って同等の機能を構築できます。

独自のプレイリストを構築したり、プレイリストを検査する場合は、いくつかの変更点に注意してください。

REQ-VIDEO-LAYOUTは、ビデオが立体視であることを示すビデオストリーム用の新しいタグで、属性値は、ビデオがステレオかどうかを示します。

アセットが 3D として読み込まれた場合、2D に切り替わることはありません。

2D ビデオは変更されず、同じプレイリストで 3D ビデオと混在させることができます。

REQ-VIDEO-LAYOUTは、HLS仕様の新しいバージョンを必要とするため、バージョンは12に更新されています。

これはSDKで文書化されています。


関連記事

この記事のハッシュタグ から関連する記事を表示しています。

新着記事