Efekt bokeh w aparacie to efekt małej głębi ostrości, który powstaje przez rozmycie części sceny, tak aby nie były ostre. W aparatach w urządzeniach mobilnych efekt bokeh uzyskuje się za pomocą informacji o głębi uzyskanych dzięki stereoskopii z 2 aparatów lub z 2 fotodiod (PD) pojedynczego aparatu.
Od Androida 11 platforma Androida obsługuje implementacje efektu bokeh i udostępnia interfejsy API, które umożliwiają korzystanie z tej funkcji w aplikacjach innych firm.
Implementacja
Aby udostępnić na urządzeniu funkcję efektu bokeh w aparacie:
reklamuj
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES:ten tag ma format tablicy 3 liczb całkowitych, a każda krotka ma format
{mode, maxWidth, maxHeight}. Oprócz{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}HAL aparatu musi też zawierać co najmniej jeden z trybówANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTUREiANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUSz odpowiadającymi im maksymalnymi rozmiarami strumieniowania.reklamuj
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:ten tag ma format tablicy
{minZoomRatio, maxZoomRatio}, która zawiera wszystkie zakresy współczynnika powiększenia dla włączonego rozszerzonego trybu sceny w tej samej kolejności co 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_MODEwANDROID_CONTROL_AVAILABLE_MODES.
Aby aplikacja mogła wywołać funkcję efektu bokeh, musi ustawić ANDROID_CONTROL_MODE na ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE, a ANDROID_CONTROL_EXTENDED_SCENE_MODE na jeden z obsługiwanych rozszerzonych trybów sceny.
Pamiętaj, że implementacja efektu bokeh może spowodować dodatkowe zużycie pamięci ze względu na obliczenia stereoskopowe.
Jeśli obsługiwany rozszerzony tryb scenerii nie może być stosowany na klatkę i powoduje nieoczekiwane opóźnienia po włączeniu lub wyłączeniu, dodaj ANDROID_CONTROL_EXTENDED_SCENE_MODE do ANDROID_REQUEST_AVAILABLE_SESSION_KEYS. Jednocześnie zaimplementuj metodę ICameraDeviceSession::isReconfigurationRequired(), aby uniknąć ponownej konfiguracji w przypadku rozszerzonych trybów sceny, które nie wymagają ponownej konfiguracji.
Weryfikacja
Aby zweryfikować funkcję efektu bokeh na urządzeniu, uruchom te testy CTS, VTS i CTS Verifier:
CtsCameraTestCasesVtsHalCameraProviderV2_4TargetTestCameraBokehTestw CTS Verifier