ハイライト
visionOS の 3D 動画コンテンツ配信は既存の HLS ワークフローの上に構築され、MV-HEVC で立体動画をエンコードします。新しい視差輪郭(parallax contour)メタデータにより字幕と 3D 映像の深度衝突を回避し、2D と 3D で同じ音声・字幕リソースを共有できます。
主要内容
既存の 2D ワークフローは完全互換
動画プラットフォームはすでに HLS で 2D コンテンツを配信していますか?大部分の作業は完了しています。
(00:51)visionOS の 2D 動画再生能力は iPhone、iPad、Apple TV と完全に同一です。既存の HLS ストリームは空間コンピューティングプラットフォームで再生するために一切変更を要しません。Apple の目標は、visionOS への 2D コンテンツ配信を他のプラットフォームとまったく同じにすることです。
空間コンピューティングプラットフォームの再生能力
(02:15)visionOS は以下の再生仕様をサポートします:
- 最大 4K 解像度
- 90Hz リフレッシュレート、24fps コンテンツは自動的に 96Hz モードを使用
- SDR と HDR のサポート
これらの仕様はハイエンドテレビに匹敵し、最高品質のコンテンツを完全に体験できます。
3D 立体動画: MV-HEVC
(05:37)3D 動画の核心は立体視覚 — 左右の目にわずかに異なる画像を提供し、脳が視差で深度を知覚します。Apple は MV-HEVC(Multiview HEVC)エンコーディングを採用しています:
- 単一の動画トラックに左右の目の 2 つのビューを含む
- 「2D Plus Delta」戦略: ベース 2D ビューは標準 HEVC でエンコード、右目は左眼との差分のみをエンコード
- 2D プレイヤーはベースビューのみを見て正常に再生
- 3D プレイヤーは 2 つのビューをデコードして立体画面を表示
- Apple Silicon は MV-HEVC デコードをネイティブサポート
新しい Video Extended Usage(VEXU)box が軽量シグナルとして、動画が立体フォーマットかどうかを識別します。
字幕と深度衝突
(09:17)3D 動画の重要な課題: 字幕が画面内の前景オブジェクトと深度で衝突し、視聴時の不快感を引き起こす可能性があります。
Apple の解決策は視差輪郭(parallax contour)メタデータです:
- 各フレームを 10×10 のグリッドに分割
- 各グリッド領域の最小視差値を記録
- 再生時にシステムが自動的に字幕の深度を調整し、前景オブジェクトとの重なりを回避
- 同じ 2D 字幕リソースが 2D と 3D の両方の体験に使える
HLS 適応
(13:03)3D コンテンツの HLS 配信には以下の更新が必要です:
- HLS 仕様バージョンを 12 に更新
- 新しい
REQ-VIDEO-LAYOUTタグで立体動画を識別 - fragmented MP4 timed metadata で視差情報を運搬するサポート
- 2D と 3D 動画を同一プレイリストに混在可能
詳細
2D コンテンツ制作フローの振り返り
(00:41)既存の HLS 配信フローは 3 ステップです:
- エンコーディング: 動画は HEVC でエンコード、音声は言語と役割(対話、音声解説)ごとにエンコード、字幕は WebVTT
- パッケージング: Apple HLS ツールでエンコード済みメディアを fMP4 セグメントとプレイリストに変換
- 配信: CDN 経由でクライアントに配布
音声の準備
(02:33)音声制作は 2D と同じです。以下の両方を提供することを推奨します:
- Spatial Audio フォーマット(ヘッドトラッキング対応)
- ステレオフォールバックトラック(すべてのデバイスで確実な再生を保証)
2D と 3D 動画が同じ編集を使う場合、同じ音声リソースを共有できます。
MV-HEVC エンコーディングの詳細
(06:48)MV-HEVC の技術詳細:
単一フレーム構造:
+------------------+
| Base HEVC ビュー | ← 2D プレイヤーで見える(例: 左目)
| (左/右目の基礎画像) |
+------------------+
| Delta エンコード | ← 右目と基礎画像との差分
| (視差差分データ) |
+------------------+
キーポイント:
- ベースビューは標準 HEVC エンコーディング、2D デコーダーが直接再生可能
- Delta データが左右の目の差分を記述、3D デコーダーが完全な立体ペアを計算
- 2 つのビューを独立エンコードするより効率的
- VEXU box が立体フォーマットと含まれる眼ビューを識別
視差輪郭メタデータの制作
(11:20)視差輪郭メタデータを制作するステップ:
- 左右の目の同期動画トラックを準備
- 視差/差分分析を実行し、各領域の深度情報を生成
- 視差情報を metadata payload としてパッケージング
- timed metadata track に書き込み、動画トラックと関連付け
- 同一ファイルに多重化、HLS パッケージング時にメタデータを含むセグメントを自動生成
ストレージと解像度のバランスとして 10×10 グリッドを推奨します。
HLS プレイリストの例
(13:57)3D 動画をサポートする multivariant playlist:
#EXTM3U
#EXT-X-VERSION:12
# 3D 動画ストリーム
#EXT-X-STREAM-INF:BANDWIDTH=8000000,REQ-VIDEO-LAYOUT="CH-STEREO"
3d_video_1080p.m3u8
# 2D 動画ストリーム(フォールバック)
#EXT-X-STREAM-INF:BANDWIDTH=4000000
2d_video_1080p.m3u8
# 2D iFrame ストリーム(サムネイルスクラブ)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=2000000
2d_iframe_1080p.m3u8
# 音声ストリーム(2D/3D 共有)
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="English",LANGUAGE="en",URI="audio_en.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="中国語",LANGUAGE="zh",URI="audio_zh.m3u8"
# 字幕ストリーム(2D/3D 共有)
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",LANGUAGE="en",URI="subtitles_en.m3u8"
キーポイント:
#EXT-X-VERSION:12: HLS 仕様バージョン 12 がREQ-VIDEO-LAYOUTをサポートREQ-VIDEO-LAYOUT="CH-STEREO": 立体動画ストリームを識別- 3D と 2D 動画は同一プレイリストに共存可能だが、読み込み後は自動切り替えしない
- サムネイルシークをサポートするため 2D iFrame ストリームを含めることを推奨
3D コンテンツの快適性ガイドライン
(14:46)3D コンテンツのデザインは視聴快適性を考慮する必要があります:
- 極端な視差を避ける(正負どちらの方向も大きすぎてはいけない)
- フォーカス困難を引き起こす高周波運動を避ける
- ウィンドウ違反(window violations)による深度衝突を避ける
- スクリーンサイズが快適性に影響、ユーザーは距離を調整してスクリーンサイズを変更可能
重要ポイント
-
動画プラットフォームに 3D コンテンツサポートを追加する
- 何を作るか: 既存の HLS ワークフローに MV-HEVC エンコーディングを追加し、visionOS ユーザーに 3D 動画を提供
- 価値がある理由: visionOS ユーザーは没入型視聴体験を期待し、3D コンテンツは差別化要因
- 始め方: MV-HEVC 対応のエンコーディングツールを使用し、既存の HEVC ワークフローに立体ビューエンコーディングを追加
-
既存の字幕リソースを 3D コンテンツに再利用する
- 何を作るか: 3D 動画に視差輪郭メタデータを追加し、既存の WebVTT 字幕が 3D 再生に自動適応
- 価値がある理由: 字幕の再制作が不要、同一リソースが 2D と 3D の両ユーザーをサービス
- 始め方: 動画ポストプロダクションで視差分析を実行し、10×10 グリッドの視差輪郭データを生成
-
HLS ストリームに Spatial Audio を追加する
- 何を作るか: 既存の音声ワークフローに Spatial Audio フォーマットを追加し、ステレオフォールバックを維持
- 価値がある理由: visionOS のヘッドトラッキング対応空間オーディオはコア体験、フォールバックで互換性を確保
- 始め方: Dolby Atmos または Apple Spatial Audio 対応のエンコーディングツールを使用し、HLS プレイリストで両方の音声バリアントを宣言
-
CDN キャッシュ戦略を最適化する
- 何を作るか: 3D 動画(MV-HEVC)のビットレートは通常 2D より高いため、CDN キャッシュと配信戦略を調整
- 価値がある理由: visionOS ユーザーは 4K 3D 体験を期待、帯域幅とキャッシュ容量を確保する必要がある
- 始め方: MV-HEVC の 2D HEVC に対するビットレート増分を分析し、CDN エッジキャッシュ設定を調整
-
2D/3D 混合プレイリストを構築する
- 何を作るか: 同一 HLS プレイリストに 2D と 3D 動画バリアントを提供し、プレイヤーがデバイス能力に応じて選択
- 価値がある理由: 1 つのプレイリストですべての Apple デバイスをカバーし、コンテンツ管理を簡素化
- 始め方:
#EXT-X-VERSION:12とREQ-VIDEO-LAYOUTタグでバリアントを整理
関連セッション
- Create a great spatial playback experience — visionOS 上の動画再生のフレームワークと API
- Support HDR video in your app — App で HDR 動画をサポート
- Explore immersive sound design — 空間オーディオと没入型サウンドデザイン
コメント
GitHub Issues · utterances