Aparat bokeh

Bokeh aparatu to efekt płytkiej głębi ostrości powstający poprzez rozmycie części sceny w taki sposób, że nie są one ostre. W aparatach na urządzeniach mobilnych efekt bokeh uzyskuje się na podstawie informacji o głębi uzyskanych z obrazu stereo z dwóch kamer lub z podwójnych fotodiod (PD) pojedynczego aparatu.

Począwszy od Androida 11, platforma Android obsługuje implementacje bokeh i udostępnia interfejsy API umożliwiające udostępnienie tej funkcji aplikacjom innych firm.

Realizacja

Aby udostępnić funkcję bokeh aparatu w swoim urządzeniu, wykonaj następujące czynności:

  • Reklamuj ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES :

    Ten znacznik ma format tablicy krotek składającej się z trzech liczb całkowitych, a każda krotka ma format {mode, maxWidth, maxHeight} . Oprócz {ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0} , warstwa HAL kamery musi również wyświetlać jeden lub oba tryby ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE i ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS z odpowiadającymi im maksymalnymi rozmiarami przesyłania strumieniowego.

  • 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 scen, w tej samej kolejności, co w ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES . Zakres zoomu [1.0, 1.0] oznacza, że ​​zoom nie jest obsługiwany.

  • Wypełnij ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE w ANDROID_CONTROL_AVAILABLE_MODES .

Aby aplikacja mogła uruchomić funkcję bokeh, musi ustawić ANDROID_CONTROL_MODE na ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE i ANDROID_CONTROL_EXTENDED_SCENE_MODE na jeden z obsługiwanych rozszerzonych trybów scen. Należy pamiętać, że wdrożenie efektu bokeh może prowadzić do dodatkowego zużycia pamięci ze względu na obliczenia stereo.

Jeśli obsługiwanego rozszerzonego trybu scen nie można zastosować do klatki i powoduje to nieoczekiwane opóźnienia po włączeniu/wyłączeniu, uwzględnij ANDROID_CONTROL_EXTENDED_SCENE_MODE w ANDROID_REQUEST_AVAILABLE_SESSION_KEYS . Jednocześnie zaimplementuj metodę ICameraDeviceSession::isReconfigurationRequired() , aby uniknąć ponownej konfiguracji w przypadku rozszerzonych trybów scen, które nie wymagają ponownej konfiguracji.

Walidacja

Aby sprawdzić funkcję bokeh na swoim urządzeniu, uruchom następujące testy CTS, VTS i CTS Verifier:

  • CtsCameraTestCases
  • VtsHalCameraProviderV2_4TargetTest
  • CameraBokehTest w CTS Verifier
,

Bokeh aparatu to efekt płytkiej głębi ostrości powstający poprzez rozmycie części sceny w taki sposób, że nie są one ostre. W aparatach na urządzeniach mobilnych efekt bokeh uzyskuje się na podstawie informacji o głębi uzyskanych z obrazu stereo z dwóch kamer lub z podwójnych fotodiod (PD) pojedynczego aparatu.

Począwszy od Androida 11, platforma Android obsługuje implementacje bokeh i udostępnia interfejsy API umożliwiające udostępnienie tej funkcji aplikacjom innych firm.

Realizacja

Aby udostępnić funkcję bokeh aparatu w swoim urządzeniu, wykonaj następujące czynności:

  • Reklamuj ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES :

    Ten znacznik ma format tablicy krotek składającej się z trzech liczb całkowitych, a każda krotka ma format {mode, maxWidth, maxHeight} . Oprócz {ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0} , warstwa HAL kamery musi również wyświetlać jeden lub oba tryby ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE i ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS z odpowiadającymi im maksymalnymi rozmiarami przesyłania strumieniowego.

  • 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 scen, w tej samej kolejności, co w ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES . Zakres zoomu [1.0, 1.0] oznacza, że ​​zoom nie jest obsługiwany.

  • Wypełnij ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE w ANDROID_CONTROL_AVAILABLE_MODES .

Aby aplikacja mogła uruchomić funkcję bokeh, musi ustawić ANDROID_CONTROL_MODE na ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE i ANDROID_CONTROL_EXTENDED_SCENE_MODE na jeden z obsługiwanych rozszerzonych trybów scen. Należy pamiętać, że wdrożenie efektu bokeh może prowadzić do dodatkowego zużycia pamięci ze względu na obliczenia stereo.

Jeśli obsługiwanego rozszerzonego trybu scen nie można zastosować do klatki i powoduje to nieoczekiwane opóźnienia po włączeniu/wyłączeniu, uwzględnij ANDROID_CONTROL_EXTENDED_SCENE_MODE w ANDROID_REQUEST_AVAILABLE_SESSION_KEYS . Jednocześnie zaimplementuj metodę ICameraDeviceSession::isReconfigurationRequired() , aby uniknąć ponownej konfiguracji w przypadku rozszerzonych trybów scen, które nie wymagają ponownej konfiguracji.

Walidacja

Aby sprawdzić funkcję bokeh na swoim urządzeniu, uruchom następujące testy CTS, VTS i CTS Verifier:

  • CtsCameraTestCases
  • VtsHalCameraProviderV2_4TargetTest
  • CameraBokehTest w CTS Verifier