View in English

  • メニューを開く メニューを閉じる
  • Apple Developer
検索
検索を終了
  • Apple Developer
  • ニュース
  • 見つける
  • デザイン
  • 開発
  • 配信
  • サポート
  • アカウント
次の内容に検索結果を絞り込む

クイックリンク

5 クイックリンク

ビデオ

メニューを開く メニューを閉じる
  • コレクション
  • トピック
  • すべてのビデオ
  • 利用方法

その他のビデオ

ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。

  • 概要
  • トランスクリプト
  • HEVCビデオとアルファ

    HEVCビデオにアルファチャンネルのサポートが追加されたため、AppとWebの両方で、ビデオをカスタムの背景に合成できるようになりました。このセッションでは、互換性のあるメディアの作成方法と、再生のベストプラクティスを紹介します。

    リソース

    • HEVC Video with Alpha Interoperability Profile
    • Using HEVC Video with Alpha
      • HDビデオ
      • SDビデオ
    • プレゼンテーションスライド(PDF)

    関連ビデオ

    WWDC19

    • Webデベロッパのための新機能
  • このビデオを検索

    (音楽) こんにちは シヴァ・サンダーです 今日はアルファ付き HEVCビデオのご紹介です

    イメージファイルの アルファチャンネルはご存知でしょう

    アプリケーションやWebなど 至る所で見られます

    イメージファイルに アルファチャンネルがあれば― 色だけでなく 透明度の情報を 持たせることができます

    このため 複雑で丸みのある イメージを作り出し― 様々な背景に対しても 自然に見えるのです

    アルファと透明度は 主にPNGのような 静止画フォーマットとして― Webでよく使われます

    ビデオで使われるのは珍しく―

    プロ向けの ビデオワークフローツールでした

    Apple ProRes 4444のような プロ用のフォーマットは― データレートが極めて高く 配信には向きません

    2017年 Appleは HEIFフォーマットに対応し― 静止画を圧縮するための― 先進のLossy圧縮技術が 使えるようになりました

    HEIFもアルファチャンネル対応です

    今年から HEIFシーケンスに 対応しているので― 1つのファイルに 複数のイメージを入れられます

    HEIFシーケンスも アルファチャンネルに対応します

    ビデオにアルファを含めるためには― 低いビットレートである必要がある という認識がありました そこで ビデオファイルの アルファチャンネルに対応するため― Lossy圧縮技術を 使うことにしたのです

    アルファ付き HEVCビデオの再生は― iOS 13とtvOS 13とmacOS Catalinaの すべてのデバイスで対応しています エンコードはHEVCエンコーダのある すべてのデバイスに対応しています

    配信可能な低ビットレートを 提供するアルファ付きビデオの― フォーマットがあれば 機会が広がります

    あなたのアプリケーションの 表現力を豊かにする― 深みのあるムービーが 作成できるのです

    アニメーションのように 表示できます このように複雑な背景の上で 動かすことができ― 映像に深みを与え 複雑なインタラクションも期待できます

    ムービーは音と同期できるので― キャラクターが話すこともできます 高度な技術 アルファチャンネル コンテンツ あなたに やった!

    SpriteKitとSceneKitとMetalを使い ゲームに統合できます このコンテキストで サンプルコードを用意しました SceneKitのシーンを HEVCビデオに記録するコードと― SpriteKitシーンに 他のものを レンダリングするコードです これでキャラクターに 命を吹き込めます アルファ付きHEVCビデオは― iOS 13のSafariと macOS Catalinaに対応しています

    Safariでは Webページに対応する 画像かどうかを判断できます

    Media Capabilities APIについての 詳細は― “What's New in Authentication”の ビデオをご覧ください

    低ビットレートでアルファ付き ビデオを配信する機能があれば― 背景を除去するアプリケーションが 使えます

    これはiPhoneで撮影された グリーンスクリーンの前に立つ私です

    ここにいたかったな

    Core Imageフィルタ付きの custom video compositorで― グリーンの背景を透明にして アルファ付きビデオに エクスポートしました

    ここにいたかったな

    これで好きな背景に オーバーレイできます

    ここにいたかったな

    アルファ付きHEVCビデオの ムービーを作成するための― サンプルコードを 私たちは提供しています

    では その仕組みとは? ムービーファイルには 様々な種類の メディアのトラックが含まれています

    ビデオトラックは ビデオフレームを含みます アルファ付きHEVCビデオは― 1つのビデオトラックの中に 含まれます

    トラックの各フレームには レイヤと呼ばれる2つの部分があり― 各レイヤは HEVCコーデックを使って 圧縮されています

    ベースレイヤには フレームの カラーイメージが含まれており アルファレイヤには フレームの アルファチャンネルが含まれています

    HEVCシンタックスによって 2つのレイヤは識別されています

    そのため アルファレイヤの処理法を 知らないHEVCデコーダは― アルファを無視し ベースレイヤだけを表示します

    では使い方を説明しましょう

    アルファエンコーディング付きの HEVCは― 多数のAV Foundation APIに 統合されています では コンテンツ作成を 見てみましょう

    アルファ付きのビデオフレームを レンダリングして― AVAssetWriterでエンコードし ムービーファイルに 書き込むことができます

    AVAssetExportSessionのある 新しいプリセットを使って― Apple ProRes 4444を含む アルファ付きビデオフォーマットを― アルファ付きHEVCに トランスポートできます この新しいHEVCプリセットは 末尾にWithAlphaと付きます

    またAVAssetExportSessionで 特定の背景色にして― アルファ付きのムービーを アルファなしのムービーに変換できます これはアルファ付きHEVCに対応しない Playerで再生できます

    またはアルファビデオ エンコーダの付いたHEVCを― VTCompressionSessionで 使うこともできます

    AV Foundationの Playback APIでは― アルファ付きHEVCはAVPlayerと AVPlayerLayerに対応しています Core AnimationやAppKitやUIKitで 作成したアプリケーションが対象です

    AVPlayerLayerのビデオは― 透明の背景と その他のレイヤと ビューで表示されます

    あるいは AVPlayerItemVideoOutputを使い― デコードされたビデオフレームに アクセスすることも可能です これはMetalやSpriteKitなどを 使っているカスタムレンダリングに― ビデオフレームを 取り入れたい場合に最適です

    もし他の方法で フレームをデコードしたい場合― AVAssetImageGeneratorを使い ムービーの個々のフレームである― アルファ付きCGImageを 作成することもできます

    AVAssetReaderを使って― 非Playbackのワークフローで使われる ビデオフレームも抽出できます

    また VTDecompressionSessionを 使って― アルファ付きHEVCビデオデコーダも 作成できます

    要するにアルファ付きHEVCは― ビデオコーデックのレベルで AV Foundationに統合されるので― これらの身近なAPIワークフローに うまく適合します

    では これをコードで どう実現するかをお見せします

    ムービーをエンコードする時― AVAssetWriterInputや VTCompressionSessionの設定では― AVVideoCodecType.hevcWithAlphaを 使ってください これがアルファチャンネルの エンコードを指示するシグナルです エンコードされたファイルは 標準のHEVC Codec Typeで― 後方互換性があります アルファを理解しない HEVC Playerは― アルファの部分は無視し ベースビデオレイヤのみを表示します

    アルファチャンネルには― ビデオデータをファイルに 書き込む方法が2つあります プリマルチプライ・アルファと ストレート・アルファです ストレートは非プリマルチプライ・ アルファとも呼ばれます

    どちらも一長一短がありますが その話は省略します

    ここでは両方サポートされていることを お伝えしておきます

    不慣れな方には― プリマルチプライ・アルファが おすすめです GPUをベースにしたレンダリングの 仕上がりがよくなります

    コードを見てみましょう アルファモードを指定するには― Compression Sessionか Buffer Attachmentを設定してください しかし 設定とBuffer Attachmentの 両方が指定され― マッチしなければ エンコード処理は失敗します

    より高度なAPIは一定品質で エンコードされた― アルファチャンネルが必要です なぜならアルファチャンネルの エンコードアーティファクトは― ベースレイヤに同じアーティファクトを 求めるからです 高度なAPIは必要に応じて ベースレイヤのビットレートと― アルファチャンネルの質を 別々にコントロールできます

    コードでは― TargetQualityForAlphaのパラメータで アルファレイヤの質を指定できます

    0と1の間で配置しますが 1はLosslessに近いです 指定したビットレートの パラメータは― ベースレイヤのみに適用され アルファレイヤは無視します

    アルファチャンネルを 検出するには―

    AVMediaCharacteristicで containsAlphaChannelを試すか―

    formatDiscription.extensionsで containsAlphaChannelをテストします

    アルファ付きHEVCムービーを エクスポートする場合― determineCompatibility APIを使い そのアルファをバリデートします

    このバリデーションは アカウントのソースムービーにのみ 対応します もし 新しい アルファチャンネルの作成に ビデオコンポジションを 使っている場合は― バリデーションは 省略しなければなりません

    エコシステムには たくさんの ビデオPlayerがありますが― 多くはアルファ付きHEVCはもちろん HEVCにも対応していません

    無地の背景を焼き付ければ アルファチャンネルを除去できます この変換を簡単にする便利なAPIと サンプルコードを追加しました

    Appleのメディアではない フレームワークに― サポートをビルドしたい場合は― 相互運用が可能な プロファイルの仕様書をご覧ください ここで少し お見せしましょう

    要約すると アルファ付きHEVCビデオは すばらしいということです HEVCが持つ 最先端の圧縮技術を 大いに活用しています iOS 13とtvOS 13と macOS Catalinaに対応しており―

    最近のデバイスではハードウェア アクセラレーションも使います

    アプリケーションに使用する AV Foundationと相性がよく―

    WebでもSafariでの使用に最適です

    アルファ付きHEVCは― デベロッパとユーザの両方に クリエイティブな表現の機会を与えます ぜひ あなたのアプリケーションで 活用してください ありがとうございました

Developer Footer

  • ビデオ
  • WWDC19
  • HEVCビデオとアルファ
  • メニューを開く メニューを閉じる
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    メニューを開く メニューを閉じる
    • アクセシビリティ
    • アクセサリ
    • App Extension
    • App Store
    • オーディオとビデオ(英語)
    • 拡張現実
    • デザイン
    • 配信
    • 教育
    • フォント(英語)
    • ゲーム
    • ヘルスケアとフィットネス
    • アプリ内課金
    • ローカリゼーション
    • マップと位置情報
    • 機械学習
    • オープンソース(英語)
    • セキュリティ
    • SafariとWeb(英語)
    メニューを開く メニューを閉じる
    • 英語ドキュメント(完全版)
    • 日本語ドキュメント(一部トピック)
    • チュートリアル
    • ダウンロード(英語)
    • フォーラム(英語)
    • ビデオ
    Open Menu Close Menu
    • サポートドキュメント
    • お問い合わせ
    • バグ報告
    • システム状況(英語)
    メニューを開く メニューを閉じる
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles(英語)
    • フィードバックアシスタント
    メニューを開く メニューを閉じる
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program(英語)
    • News Partner Program(英語)
    • Video Partner Program(英語)
    • セキュリティ報奨金プログラム(英語)
    • Security Research Device Program(英語)
    Open Menu Close Menu
    • Appleに相談
    • Apple Developer Center
    • App Store Awards(英語)
    • Apple Design Awards
    • Apple Developer Academy(英語)
    • WWDC
    Apple Developerアプリを入手する
    Copyright © 2025 Apple Inc. All rights reserved.
    利用規約 プライバシーポリシー 契約とガイドライン