Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る
このページは Cloud Translation API によって翻訳されました。
Switch to English

カメラボケ

カメラのボケは、シーンの一部をぼかして焦点が合わないようにすることで作成される浅い被写界深度効果です。モバイルデバイスのカメラでは、2台のカメラのステレオビジョンまたは1台のカメラのデュアルフォトダイオード(PD)から取得した深度情報を使用してボケ味を実現します。

Android 11以降、Androidプラットフォームはボケの実装をサポートし、サードパーティのアプリで機能を利用できるようにするAPIを提供します。

実装

デバイスでカメラボケ機能を使用できるようにするには、次の手順を実行します。

  • ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZESアドバタイズしANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES

    このタグは3整数のタプル配列の形式であり、各タプルは{mode, maxWidth, maxHeight}形式です。加え{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}カメラHALが必要があり、リストの一方または両方ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTUREANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUSそれらの対応する最大ストリーミングサイズのモード。

  • ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGESアドバタイズしANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES

    このタグは{minZoomRatio, maxZoomRatio}配列の形式であり{minZoomRatio, maxZoomRatio}と同じ順序で、有効な拡張シーンモードのすべてのズーム比範囲が含まれていANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES[1.0, 1.0]ズーム範囲は、ズームがサポートされていないことを意味します。

  • ANDROID_CONTROL_USE_EXTENDED_SCENE_MODEANDROID_CONTROL_AVAILABLE_MODESます。

アプリがボケ機能をトリガーするには、アプリはANDROID_CONTROL_MODEANDROID_CONTROL_USE_EXTENDED_SCENE_MODE設定し、 ANDROID_CONTROL_EXTENDED_SCENE_MODEをサポートされている拡張シーンモードの1つに設定する必要があります。ボケを実装すると、ステレオ計算のために余分なメモリ消費につながる可能性があることに注意してください。

サポートされている拡張シーンモードをフレームごとに適用できず、有効/無効にしたときに予期しない遅延が発生する場合は、 ANDROID_CONTROL_EXTENDED_SCENE_MODEANDROID_REQUEST_AVAILABLE_SESSION_KEYSます。同時に、 ICameraDeviceSession::isReconfigurationRequired()メソッドを実装して、再構成を必要としない拡張シーンモードの再構成を回避します。

検証

デバイスのボケ機能を検証するには、次のCTS、VTS、およびCTSVerifierテストを実行します。

  • CtsCameraTestCases
  • VtsHalCameraProviderV2_4TargetTest
  • CTSベリファイアのCameraBokehTest