View in English

  • Apple Developer
    • 今すぐ始める

    「今すぐ始める」を詳しく見る

    • 概要
    • 学ぶ
    • Apple Developer Program

    最新情報

    • 最新ニュース
    • Hello Developer
    • プラットフォーム

    プラットフォームを詳しく見る

    • Appleプラットフォーム
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    特集

    • デザイン
    • 配信
    • ゲーム
    • アクセサリ
    • Web
    • Home
    • CarPlay
    • テクノロジー

    テクノロジーを詳しく見る

    • 概要
    • Xcode
    • Swift
    • SwiftUI

    特集

    • アクセシビリティ
    • App Intent
    • Apple Intelligence
    • ゲーム
    • 機械学習とAI
    • セキュリティ
    • Xcode Cloud
    • コミュニティ

    コミュニティを詳しく見る

    • 概要
    • 「Appleに相談」イベント
    • コミュニティによるイベント
    • デベロッパフォーラム
    • オープンソース

    特集

    • WWDC
    • Swift Student Challenge
    • デベロッパストーリー
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Center
    • ドキュメント

    ドキュメントを詳しく見る

    • ドキュメントライブラリ
    • テクノロジー概要
    • サンプルコード
    • ヒューマンインターフェイスガイドライン
    • ビデオ

    リリースノート

    • 注目のアップデート
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • ダウンロード

    ダウンロードを詳しく見る

    • すべてのダウンロード
    • オペレーティングシステム
    • アプリ
    • デザインリソース

    特集

    • Xcode
    • TestFlight
    • フォント
    • SF Symbols
    • Icon Composer
    • サポート

    サポートを詳しく見る

    • 概要
    • ヘルプガイド
    • デベロッパフォーラム
    • フィードバックアシスタント
    • お問い合わせ

    特集

    • アカウントヘルプ
    • App Reviewガイドライン
    • App Store Connectヘルプ
    • 近日導入予定の要件
    • 契約およびガイドライン
    • システムステータス
  • クイックリンク

    • イベント
    • ニュース
    • Forum
    • サンプルコード
    • ビデオ
 

ビデオ

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

その他のビデオ

  • 概要
  • Summary
  • トランスクリプト
  • コード
  • 高解像度の写真キャプチャの実装

    AVFoundationを使うと、アプリ内で超高解像度の写真を撮影できます。画像をキャプチャする際に、RAW、露出ブラケット、フル処理の3つのオプションを使い分けるタイミングを学びましょう。メインカメラ、望遠カメラ、超広角カメラで24MPおよび48MP画像の写真キャプチャを設定する方法を確認します。また、多くの写真を撮影してもアプリの応答性が維持されるようにする、写真の遅延処理についても解説します。

    関連する章

    • 0:00 - Introduction
    • 0:52 - High-resolution photos
    • 4:07 - Types of captures
    • 5:20 - Configure a capture session
    • 9:41 - Responsive capture best practices

    リソース

    • Capturing photos in RAW and Apple ProRAW formats
    • AVCam: Building a camera app
      • HDビデオ
      • SDビデオ

    関連ビデオ

    WWDC26

    • 応答性が高く起動の速いカメラアプリの構築
    • iOSアプリでのセンターフレームフロントカメラのサポート

    WWDC23

    • より応答性の高いカメラ体験の実現

    WWDC21

    • ビデオフォーマットを使ったハイクオリティな写真の撮影
    • ProRAW画像の撮影と処理
  • このビデオを検索

    こんにちは Mohit Setiaです Camera Softwareチームのエンジニアです 「高解像度写真撮影の実装」へ ようこそ カメラハードウェアの進化と コンピュテーショナルフォトグラフィにより 高解像度撮影が可能になりました この品質をフル活用するには トレードオフの管理が必要です 特に処理時間と 最終画質のバランスです 高品質な写真処理について 説明します アプリのトレードオフを 管理する方法もご紹介します まず高解像度写真の 各タイプを説明します

    次に設定と撮影方法を説明します 最後にプロセス全体を通じて アプリをレスポンシブに保つ方法を紹介します まず高解像度写真についてです プレビューストリームは スクリーン解像度の画像を提供します カメラのビューを表示するのに 適しています 写真撮影では高レベルの ディテールと低ノイズが求められます

    高解像度画像は 写真のトリミングにも必要です ディテールのズームや 画像解析にも欠かせません 高解像度撮影がこれを実現します 定義を説明しましょう 高解像度写真は通常12メガピクセルで プレビューストリームより高い解像度で シーンを撮影します

    24メガピクセルと48メガピクセルは さらに上を行きます カメラはさらに大きな 解像度で撮影します より多くのディテールと 鮮明さが得られます iPhone 14 Proと iPhone 14 Pro Maxから カメラシステムに48メガピクセルの Quadセンサーが搭載されました クアッドピクセルセンサー設計により フル解像度での撮影が可能です 最高レベルのディテールを 実現します または同色の2×2クラスターにピクセルを まとめより多くの光を取り込めます これはiPhoneで撮影した 48メガピクセルの写真です 海岸線の広大な風景が 映っています 崖、ビーチ、水平線まで 続く海が広がっています 標準写真の4倍の解像度です センサーからの1フレームで 撮影されています 海岸の100%クロップには 細かい岩が映っています 驚くほどの精細さで はっきりと確認できます 山の斜面にある 複雑なパターンも分かります これが48メガピクセルの力です より多くのディテール、鮮明さ そして探索できる情報が増えます iPhone 15から、カメラは 24メガピクセル写真に対応しました 24メガピクセルの写真撮影は 複数のステップで構成されます まずカメラはQuadセンサーの 結合ピクセルを使用します 12メガピクセルのマルチフレーム 合成HDR画像を生成します 次にPhotonic Engineと呼ばれる コンピュテーショナル画像処理パイプラインが 高解像度48MP画像と 組み合わせます フルセンサー解像度で撮影した 豊かなディテールを持つ画像です

    結果は驚くほどの品質の 24MP画像になります 12MP画像の2倍の解像度です ファイルサイズの増加は 約50%にとどまります 光とディテールのバランスを 取りながら 保存や共有に適した ファイルサイズを維持します iPhone 15から、カメラアプリは このモードがデフォルトです 24MPと48MPの 撮影サポートが拡張されました iPhone 16 Proの望遠カメラと iPhone 17の超広角カメラに対応しました 以上がiPhoneカメラで利用可能な 高解像度写真のタイプです iPhoneで利用可能な 高解像度写真の定義が分かりました 次はアプリでリクエストできる 高解像度撮影のタイプです まず最も一般的なケース 完全処理済み写真です これはマルチフレーム合成画像です Photonic Engineを通過し ダイナミックレンジを拡張して 細かいディテールを改善します

    2つ目はExposureブラケットです 同じシーンの 複数の露出フレームです ハイダイナミックレンジ写真の 作成に役立ちます 複数の露出から選択が必要な シナリオにも使えます 3つ目はBayer RAW写真です RAWはセンサーから直接得た 最小限の処理データです ポストプロセッシングや 編集用途に最適です 4つ目はAppleのProRAWです ProRAWはRAWの柔軟性と iPhoneの画像処理を組み合わせます 露出、色、ディテールの編集に より多くの柔軟性を提供します RAW形式について詳しくは WWDC 2021の「Capture and process ProRAW images」をご覧ください 次は 高解像度写真のための キャプチャーセッションの設定方法です まずAVCaptureSessionを 作成します その後セッションを設定します

    注意: 24MPと48MPの写真を サポートするのはphotoプリセットのみです 他のプリセットはサポートしていません 次にアプリに適した 優先度を選択します speed撮影は最速で 処理量が最小です balanced撮影は中程度の速度で 良好な品質を提供します quality撮影は時間はかかりますが 最高品質を提供します 詳細については WWDC 2021の「Capture High-Quality Photos Using Video Formats」をご覧ください AVCapturePhotoOutputの 設定中に maxPhotoQualityPrioritizationを 高解像度撮影のデモ用に qualityに設定します これによりセッションが3つすべての 優先度レベルのリソースを準備します speed、balanced、qualityです 一部の高解像度の利用可否は この設定に依存します この点については後ほど 説明します 次にこのセッションでリクエストする 最大サイズを選択します

    iOS 16から、デバイスの アクティブフォーマットで サポートされる最大写真サイズを 確認できます supportedMaxPhotoDimensionsは 現在のフォーマットで可能な すべての写真サイズを一覧します ここではデモ用に利用可能な 最大サイズを選択しています ユースケースに合ったサイズを 選んでください

    セッション設定をコミットする前に 写真出力の設定を完了してください

    コミット後に設定を変更すると 長時間のパイプライン再設定が発生します

    撮影準備ができたら maxPhotoDimensionsと photoQualityPrioritizationを 現在の撮影用の AVCapturePhotoSettingsに設定します そして写真撮影用の デリゲートを設定します maxPhotoDimensionsの設定は リクエストであり保証ではありません システムは光量、シーン、 利用可能な処理能力を考慮します 最適なパスを選択します 実際のサイズはAVCaptureResolvedSettings内の デリゲートに返されます 撮影完了時に デリゲートに通知します 各撮影でphotoQualityPrioritizationと maxPhotoDimensionsをカスタマイズできます つまり複数の品質レベルを サポートできます 同じセッション内で 異なるサイズも使えます 撮影間の長い再設定は不要です 高解像度撮影には 特定のリソース割り当てが必要です photoQualityPrioritizationと maxPhotoDimensionsに基づきます システムがリソースを 事前割り当てしていない場合 撮影時に割り当てが発生し 処理が遅くなる可能性があります この遅延を避けるには setPreparedPhotoSettingsArrayを使用します AVCapturePhotoOutput上で 将来の写真撮影の計画を伝えます

    例えばアプリに 48メガピクセルモードがある場合 そのモードが有効化された時点で setPreparedPhotoSettingsArrayを呼び出します 撮影前に リソースを準備しておきます 実装方法を説明します できるだけ早い段階で prepareSettingsオブジェクトを作成します

    適切なmaxPhotoDimensionsと photoQualityPrioritizationを設定します

    setPreparedPhotoSettingsArrayを 呼び出します 後ほど撮影準備ができたら prepareSettingsの設定に合わせた 新しいcaptureSettingsオブジェクトを作成します

    prepareSettingsオブジェクトを 再利用することはできません 実際の撮影には使えません

    新しいsettingsオブジェクトを作成し 設定が一致することを確認します 撮影が事前割り当てリソースと 一致するようにします 高解像度写真の撮影には 多数のピクセルの処理が必要です

    この処理には数秒かかる 場合があります アプリの応答性を確保するための ベストプラクティスを紹介します 処理中もアプリが高速で レスポンシブに保てます 写真リクエスト時は まずキャプチャーステージを経ます その後処理ステージに移ります AVCapturePhotoCaptureDelegate は このプロセス全体で通知を受け取ります 例えばdidCapturePhotoFor resolvedSettings とdidFinishCaptureFor resolvedSettings 処理継続中も アプリを最新状態に保ちます 処理時間は異なります 選択した写真品質の 優先度によって変わります quality優先度の写真は より長い処理時間を利用して 最高品質の画像で提供されます balanced優先度の写真は 最適な品質を提供します 一般的なケースに適した 処理時間で届きます speed優先度の写真は 最速の撮影方法です ただし長い処理で得られる 品質向上はありません

    12メガピクセルは3つすべての 優先度レベルで撮影できます

    48メガピクセル画像は前述の通り 1フレームのみのため balancedまたはquality優先度で 利用可能です 18メガピクセルと24メガピクセルは マルチフレーム合成画像で 処理に時間がかかるため quality優先度のみで利用可能です この表の18メガピクセルは iPhone 17のセンターフレームフロントカメラ のみで利用可能です センターフレームフロントカメラの詳細は WWDC 2026の「Support Center Stage front camera in your iOS app」をご覧ください AVCaptureResolvedSettingsには photoProcessingTimeRangeプロパティがあります 写真がデリゲートに届くまでの 予想時間を通知します 次の写真は前の写真の処理完了後 のみ撮影できます 2つの撮影間のこの遅延を ショットtoショット遅延と呼びます AVCapturePhotoOutput上の responsive captureを有効にすると 重複撮影が可能になります 前の写真のキャプチャーステージが完了すると 新しい撮影を開始できます 処理の完了を 待つ必要はありません AVCapturePhotoOutput上の captureReadinessプロパティを監視します 次の写真撮影可能な タイミングが分かります 2枚目のショットtoショット遅延を 短縮します 大切な瞬間を 逃さないようになります ただし各写真の処理時間は 以前と同じです 高品質撮影のショットtoショット遅延を さらに短縮するには deferred photo processingを 採用します deferred processingを 有効にすると 撮影直後に軽く処理された プロキシ写真が届きます didFinishCapturingDeferredPhotoProxy 経由で受け取ります デリゲートコールバックです 最終写真の処理は 2つの方法で行われます オンデマンドで写真ライブラリ経由で 最終写真をリクエストする場合 またはバックグラウンドで、システムが 条件が良いと判断した場合 デバイスがアイドル状態など WWDC23の「Create a More Responsive Camera Experience」をご覧ください deferred photo processingの 詳細が分かります deferred photo processingを有効にすると 応答性が大幅に向上します 次の撮影をブロックする 処理時間が削減されます

    すべての後続写真の ショットtoショット遅延をさらに短縮します

    短時間でより多くの 高品質写真を撮影できます

    このアプローチにより処理ステージの 時間が大幅に短縮されます キャプチャーステージは 変わりません Deferred processingにより写真の 処理完了に時間がかかっても 次の撮影をブロックしません その処理はバックグラウンドで 行われるため キャプチャーセッションとの メモリを共有しません これによりマルチフレーム合成撮影が 可能になります 18メガピクセルや 24メガピクセルなどです

    応答性をさらに優先するには AVCapturePhotoOutputの fast capture prioritizationを有効にします photoOutputでfast capture prioritizationをオンにすると システムが素早い連続撮影を 検出します

    写真品質を 最高品質設定から調整します balanced品質設定に変更します 写真撮影タイムラインで 急速な撮影リクエストがある場合 システムが写真品質優先度を balancedに動的に調整します balanced撮影はキャプチャーと 処理の時間が短いです

    連続撮影時に 速度が向上します iOS 27のiPhone 16と iPhone 17から システムはbalanced fast capturesも deferred processingで後処理します 処理時間をさらに最小化します より長い時間で高速な 撮影体験を提供します これを説明するために カメラチームメンバー間の 激しいバスケットボール試合を撮影しています 画面にはバスケットボールコートで アクションが展開されています まずDeferred Processingなし Responsive ShutterとFast capture prioritizationなしで開始します バスケットボールショットの 写真を撮ろうとする際に

    写真処理中に撮影ボタンが 回転し続けます 次のショットを 撮ることができません 結果として1枚の写真しか 撮れませんでした APIを使えばもっと良くなります 欲しい瞬間を捉えられます 応答性を管理するAPIを 使います

    次のショットではDeferred Processing、 Responsive ShutterとFast captureを有効にします

    今度は撮影ボタンが レスポンシブのままです 最高の瞬間を 捉えられます

    撮影ボタンを押すと AVCaptureSessionがQuality写真の 撮影を開始します しかし撮影を続けると 高速撮影を検出しBalanced撮影へ インテリジェントに移行します

    違いははっきりしています 1枚のブロックされた撮影対 同じ瞬間の5枚のレスポンシブショット はるかにレスポンシブな 撮影体験になりました このビデオではレスポンシブな 写真撮影アプリのベストプラクティスを紹介しました 最高品質と最高解像度の 写真を撮影できます 写真撮影アプリを作る場合は 目的の解像度を特定してください 24MPや48MPなどの 高解像度では トリミング、ズーム、探索のための ディテールが増えます ただしメモリと処理時間が より多く必要です ニーズに合った品質優先度を 選択してください Speed、balanced、qualityはそれぞれ 配信時間と画像忠実度のトレードオフです アプリの要件に合ったレベルを 選んでください 最高品質の撮影が必要な場合は deferred processingと responsive capturesをオンにしてください これらがなければ 各写真が次をブロックします アプリを使う人が二度と戻らない 瞬間を逃すかもしれません カメラアプリをさらに 最適化するには WWDC 2026の「Build a responsive camera app that launches quickly」をご覧ください 必要な時に高速で動作する カメラ体験を構築してください 品質が重要な時は 妥協しないようにしてください ありがとうございました

    • 5:26 - Configure the AVCaptureSession

      import AVFoundation
      
      private let session = AVCaptureSession()
      private func configureSession() {
          session.beginConfiguration()
          session.sessionPreset = .photo
      }
    • 6:11 - Configure AVCapturePhotoOutput

      import AVFoundation
      
      private let photoOutput = AVCapturePhotoOutput()
      private let configurePhotoOutput: () -> Void = {
          photoOutput.maxPhotoQualityPrioritization = .quality // or .balanced
      }
    • 6:38 - Add maxPhotoDimensions to AVCapturePhotoOutput

      import AVFoundation
      
      let supportedMaxPhotoDimensions = device?.activeFormat.supportedMaxPhotoDimensions ?? []
      if let largestDimension = supportedMaxPhotoDimensions.max(by: { lhs, rhs in
          Int(lhs.width) * Int(lhs.height) < Int(rhs.width) * Int(rhs.height)
      } ) {
          photoOutput?.maxPhotoDimensions = largestDimension
      }
      
      session?.commitConfiguration()
      session?.startRunning()
    • 7:21 - Update AVCapturePhotoSettings

      import AVFoundation
      
      let settings = AVCapturePhotoSettings()
      settings.maxPhotoDimensions = dimension.cmVideoDimensionsValue
      settings.photoQualityPrioritization = .quality
      
      var delegate: AVCapturePhotoCaptureDelegate?
      
      // Configure photo request delegate
      
      if let delegate {
       photoOutput?.capturePhoto(with: settings, delegate: delegate)
      }
    • 8:59 - Prepare resources for the capture

      import AVFoundation
      
      let prepareSettings = AVCapturePhotoSettings()
      prepareSettings.maxPhotoDimensions = photoOutput.maxPhotoDimensions
      prepareSettings.photoQualityPrioritization = .quality
      
      photoOutput.setPreparedPhotoSettingsArray([prepareSettings]) { prepared, error in
        if let error = error {
          print("Failed to prepare: \(error)")
            return
        }
        print("Pipeline prepared: \(prepared)")
      }
      
      // Later, when ready to capture — create NEW settings
      let captureSettings = AVCapturePhotoSettings()
      captureSettings.maxPhotoDimensions = photoOutput.maxPhotoDimensions
      captureSettings.photoQualityPrioritization = quality
      photoOutput.capturePhoto(with: captureSettings, delegate: self)
    • 0:00 - Introduction
    • The tradeoffs high-resolution photo capture requires — particularly between processing time and image quality — and what the session covers: photo types, configuring and capturing them, and keeping your app responsive.

    • 0:52 - High-resolution photos
    • Explore the different photo resolutions available across iPhone cameras, including 12MP, 24MP, and 48MP, and how the photonic engine balances light and detail.

    • 4:07 - Types of captures
    • Learn about the four types of high resolution captures you can request: fully processed photos, exposure brackets, Bayer RAW, and Apple ProRAW.

    • 5:20 - Configure a capture session
    • An overview of AVCaptureSession setup for high resolution photos. Learn how to select quality prioritization, configure maximum photo dimensions, and preallocate resources.

    • 9:41 - Responsive capture best practices
    • Keep your app fast and responsive by implementing overlapping captures, deferred photo processing, and fast capture prioritization to minimize shot-to-shot delay.

Developer Footer

  • ビデオ
  • WWDC26
  • 高解像度の写真キャプチャの実装
  • メニューを開く メニューを閉じる
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    メニューを開く メニューを閉じる
    • アクセシビリティ
    • アクセサリ
    • Apple Intelligence
    • App Extension
    • App Store
    • オーディオとビデオ(英語)
    • 拡張現実
    • デザイン
    • 配信
    • 教育
    • フォント(英語)
    • ゲーム
    • ヘルスケアとフィットネス
    • アプリ内課金
    • ローカリゼーション
    • マップと位置情報
    • 機械学習とAI
    • オープンソース(英語)
    • セキュリティ
    • 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(英語)
    • Mini Apps Partner 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 © 2026 Apple Inc. All rights reserved.
    利用規約 プライバシーポリシー 契約とガイドライン