Bokeh aparatu to efekt małej głębi pola powstały przez rozmycie fragmentów odpowiednią scenę, aby nie była skupiona na ostrości. W przypadku aparatów na urządzeniach mobilnych efekt bokeh to uzyskaną przy użyciu informacji o głębi pozyskanych za pomocą obrazu stereo z dwóch lub z podwójnych fotodiod (PD) w jednym aparacie.
Począwszy od Androida 11, platformy Android obsługuje implementacje bokeh i udostępnia interfejsy API do udostępniania tej funkcji z aplikacjami innych firm.
Implementacja
Aby włączyć funkcję bokeh aparatu na swoim urządzeniu, wykonaj te czynności:
Reklamuj firmę
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
:Ten tag ma format tablicy krotek z 3 liczbą całkowitą, z każdą krotką w formacie
{mode, maxWidth, maxHeight}
. Oprócz{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}
, HAL aparatu musi podaj też jedno lub obaANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE
iANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS
trybów wraz ze swoją odpowiadające maksymalnemu rozmiarowi strumieniowania.Reklamuj
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES
:Ten tag ma format tablicy
{minZoomRatio, maxZoomRatio}
, który zawiera wszystkie zakresy współczynnika powiększenia dla włączonej sceny rozszerzonej w takiej samej kolejności jak wANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
Zakres powiększenia[1.0, 1.0]
oznacza, że powiększenie nie jest obsługiwane.Wypełnij
ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
wANDROID_CONTROL_AVAILABLE_MODES
Aby aplikacja mogła uruchamiać funkcję bokeh, musi ustawić atrybut ANDROID_CONTROL_MODE
do ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
i
ANDROID_CONTROL_EXTENDED_SCENE_MODE
na jeden z obsługiwanych trybów rozszerzonych scen.
Pamiętaj, że wdrożenie funkcji bokeh może zwiększyć wykorzystanie pamięci z powodu
do obliczeń stereo.
Jeśli nie można zastosować obsługiwanego trybu rozszerzonej sceny na klatkę, co spowoduje
nieoczekiwane opóźnienia po włączeniu/wyłączeniu, dołącz
ANDROID_CONTROL_EXTENDED_SCENE_MODE
in
ANDROID_REQUEST_AVAILABLE_SESSION_KEYS
Jednocześnie zastosuj
ICameraDeviceSession::isReconfigurationRequired()
metoda, której należy unikać
dla trybów rozszerzonych, które nie wymagają ponownej konfiguracji.
Weryfikacja
Aby sprawdzić działanie funkcji bokeh na urządzeniu, uruchom następujące polecenie CTS, VTS i Testy weryfikatora CTS:
CtsCameraTestCases
VtsHalCameraProviderV2_4TargetTest
CameraBokehTest
w weryfikatorze CTS