Bokeh kamera adalah efek depth-of-field dangkal yang dibuat dengan memburamkan bagian adegan sehingga tidak menjadi fokus. Pada kamera di perangkat seluler, bokeh dicapai menggunakan informasi kedalaman yang diperoleh dari stereo vision dari dua kamera atau dari fotodioda ganda (PD) dari satu kamera.
Mulai dari Android 11, platform Android mendukung implementasi bokeh dan menyediakan API untuk menyediakan fitur tersebut ke aplikasi pihak ketiga.
Implementasi
Agar 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 kedua modeANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE
danANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS
dengan ukuran streaming maksimum yang sesuai.Iklankan
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES
:Tag ini dalam format array
{minZoomRatio, maxZoomRatio}
, yang berisi semua rentang rasio zoom untuk mode tampilan yang diperluas yang diaktifkan, dalam urutan yang sama seperti dalamANDROID_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 dapat memicu fitur bokeh, aplikasi harus menetapkan ANDROID_CONTROL_MODE
ke ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
dan
ANDROID_CONTROL_EXTENDED_SCENE_MODE
ke salah satu mode scene yang diperluas yang didukung.
Perhatikan bahwa menerapkan bokeh dapat menyebabkan konsumsi memori tambahan karena
komputasi stereo.
Jika mode scene yang diperluas yang didukung tidak dapat diterapkan per frame dan menyebabkan
keterlambatan yang tidak terduga saat diaktifkan/dinonaktifkan, sertakan
ANDROID_CONTROL_EXTENDED_SCENE_MODE
dalam
ANDROID_REQUEST_AVAILABLE_SESSION_KEYS
. Pada saat yang sama, terapkan
metode ICameraDeviceSession::isReconfigurationRequired()
untuk menghindari
konfigurasi ulang untuk mode scene 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