Eclipsa 動画を統合

モバイル デバイスでのハイ ダイナミック レンジ(HDR)動画の配信には、多くの場合、異なるパネル間で視覚的な不整合が生じるという大きな欠陥があります。標準ダイナミック レンジ(SDR)要素と HDR 要素が混在するコンテンツ フィードを閲覧する場合、レンダリング パイプラインはそれらのバランスを取るのに苦労します。これにより、不規則で不快な遷移や、予期しない明るさの急上昇が発生します。

コンテンツ クリエイターにとって、この統一性の欠如は芸術的な意図を損なうものです。プロ仕様のモニターで細心の注意を払ってグレーディングされた HDR 動画でも、一般向けのデバイスで視聴すると、ハイライトがクリップされたり、トーンが色あせたり、シャドウがつぶれたりすることがあります。

Eclipsa 動画は、こうしたクロスデバイス エコシステムの課題を解決するために設計された最新の HDR 動画標準です。SMPTE ST 2094-50 仕様に基づいて構築された Eclipsa 動画により、ディスプレイは物理的なハードウェア機能とリアルタイムの周囲光条件の両方に基づいて、コンテンツ マッピングを動的に適応させることができます。Jetpack Media3 ExoPlayer と標準の Camera2 キャプチャ パイプラインに組み込まれたゼロ構成の統合により、Eclipsa 動画は、モバイル エンジニアリング チームに、あらゆる画面で芸術的な意図を維持する次世代のハードウェア適応型動画ストリーミングを実装するための、費用ゼロで摩擦のないパスを提供します。

SMPTE ST 2094-50 の技術的なアーキテクチャ

モバイル ディスプレイは、輝度ヘッドルーム(ディスプレイの基準ホワイト ポイントを超える輝度量)が大きく異なります。ディスプレイのハードウェア制限が HDR 動画のマスタリング要件と一致しない場合、ハイライトがクリップされるか、くすんで見えます。画面の実際のヘッドルームと基準ホワイト ポイントは、周囲光センサーがパネルを周囲の環境に合わせて調整するにつれて動的に変化します。

SMPTE ST 2094-50 は、次の 2 つの主要な柱を通じて視覚的な一貫性を確保する 2 層のメタデータを導入することで、この問題を解決します。

参照白色点アンカー

これにより、SDR 要素のピーク輝度をディスプレイの基準ホワイト ポイントに直接マッピングする厳格なベースラインが確立されます。このアンカーを超える輝度値は、HDR ハイライト専用に予約されています。この予測可能なアンカー メカニズムにより、SDR レイヤと HDR レイヤが画面上で合成されるときに、互いにウォッシュアウトすることなく、意図した視覚的な関係が維持されます。

ヘッドルーム適応型ゲイン曲線

クリエイターは、静的なトーン マッピング曲線を強制するのではなく、利用可能なヘッドルームが限られている場合にどのようにスケーリングするかをディスプレイ パイプラインに指示するパラメータ メタデータを埋め込みます。この規格により、クリエイターは、ターゲット パネルでハイライトをソフトクリップするか、ハードクリップするか、中間調とシャドウを圧縮して明るい領域の細部を積極的に保持するかを、きめ細かく柔軟に選択できます。

プラットフォーム サポート

Eclipsa 動画の再生とキャプチャのプラットフォーム レベルのサポートは、Android 17(API レベル 37)で導入されました。

再生を実装する

標準のアプリ開発では、Media3 ExoPlayer が Eclipsa 動画をすぐにサポートします。SMPTE 2094-50 メタデータが埋め込まれたファイルを解析する際、ExoPlayer はメタデータをシームレスに抽出して適用するため、カスタム プレーヤー構成は必要ありません。

  • 標準のプレーヤーの初期化: プレーヤー サーフェスをインスタンス化するには、Media3 ExoPlayer の概要をご覧ください。

  • トラックのオーバーライド: アプリが特定の HDR プロファイルをプログラムでクエリまたはロックする場合は、Media3 トラック選択 API をご覧ください。

再生パイプラインを Jetpack Media3 にオフロードすることをおすすめします。ExoPlayer は、低レベルのコンテナ抽出をネイティブに処理します。これにより、Android 16(API レベル 36)以前のレガシー レンダリング レイヤに存在する既知のプラットフォーム レベルのデコード アーティファクトを完全に回避できます。

動画撮影を実装する

デバイスから Eclipsa 動画を録画するには、互換性のあるダイナミック レンジ プロファイルを割り当てて SMPTE 2094-50 メタデータを生成するようにカメラ パイプラインを構成する必要があります。

CameraCharacteristics を使用してデバイスのサポートが検証されたら、DynamicRangeProfiles.HLG10_SMPTE_2094_50 プロファイルを使用してストリームをエンコーダ サーフェスにルーティングします。カメラ セッションでダイナミック レンジ プロファイルをクエリして構成する方法については、HDR 動画キャプチャをご覧ください。

SMPTE 2094-50 メタデータには、明示的なコーデック構成は必要ありません。Android メディア フレームワークは、アクティブなダイナミック プロファイルにメタデータが存在する場合、自動的にメタデータをアタッチして渡します。

互換性とパフォーマンスに関する考慮事項

パフォーマンスをモニタリングするには、アクティブな Display オブジェクトを取得し、getOverlaySupport() から返された OverlayProperties で LutProperties を確認して、ハードウェア アクセラレーション パスの可用性を特定します。

ハードウェア アクセラレーション機能がないデバイス向けに、Exoplayer で Eclipsa 動画レンダリングをオプトアウトするサポートが開発中です。

参考情報