Bokeh kamera adalah efek depth-of-field dangkal yang dibuat dengan memburamkan bagian-bagian pemandangan sehingga tidak fokus. Pada kamera pada perangkat seluler, bokeh dicapai dengan menggunakan informasi kedalaman yang diperoleh dari penglihatan stereo dari dua kamera atau dari fotodioda ganda (PD) dari satu kamera.
Mulai dari Android 11, platform Android mendukung implementasi bokeh dan menyediakan API agar fitur tersebut tersedia untuk aplikasi pihak ketiga.
Penerapan
Untuk membuat fitur bokeh kamera tersedia di perangkat Anda, lakukan hal berikut:
Beriklan
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
:Tag ini dalam format array tuple tiga bilangan bulat, dengan setiap tuple dalam format
{mode, maxWidth, maxHeight}
. Selain{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}
, HAL kamera juga harus mencantumkan satu atau keduaANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE
danANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS
streaming maksimum yang sesuai.Beriklan
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES
:Tag ini dalam format
{minZoomRatio, maxZoomRatio}
, yang berisi semua rentang rasio zoom untuk mode pemandangan diperpanjang yang diaktifkan, dalam urutan yang sama seperti diANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
. Rentang zoom[1.0, 1.0]
berarti zoom tidak didukung.Isi
ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
diANDROID_CONTROL_AVAILABLE_MODES
.
Agar aplikasi memicu fitur bokeh, aplikasi harus menyetel ANDROID_CONTROL_MODE
ke ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
dan ANDROID_CONTROL_EXTENDED_SCENE_MODE
ke salah satu mode pemandangan diperpanjang yang didukung. Perhatikan bahwa menerapkan bokeh dapat menyebabkan konsumsi memori ekstra karena komputasi stereo.
Jika mode adegan diperpanjang yang didukung tidak dapat diterapkan per bingkai dan mengakibatkan penundaan yang tidak terduga saat diaktifkan/dinonaktifkan, sertakan ANDROID_CONTROL_EXTENDED_SCENE_MODE
di ANDROID_REQUEST_AVAILABLE_SESSION_KEYS
. Pada saat yang sama, terapkan metode ICameraDeviceSession::isReconfigurationRequired()
untuk menghindari konfigurasi ulang untuk mode pemandangan yang diperluas yang tidak memerlukan konfigurasi ulang.
Validasi
Untuk memvalidasi fitur bokeh di perangkat Anda, jalankan pengujian CTS, VTS, dan CTS Verifier berikut:
-
CtsCameraTestCases
-
VtsHalCameraProviderV2_4TargetTest
-
CameraBokehTest
di CTS Verifier