Kamera-Bokeh ist ein Effekt mit geringer Schärfentiefe, bei dem Teile einer Szene verschwommen dargestellt werden, sodass sie nicht im Fokus sind. Bei Kameras auf Mobilgeräten wird der Bokeh-Effekt durch Tiefeninformationen erzielt, die durch die Stereosicht von zwei Kameras oder durch duale Fotodioden (PDs) einer einzelnen Kamera gewonnen werden.
Ab Android 11 unterstützt die Android-Plattform Bokeh-Implementierungen und bietet APIs, um die Funktion für Drittanbieter-Apps verfügbar zu machen.
Implementierung
So aktivieren Sie die Bokeh-Funktion der Kamera auf Ihrem Gerät:
Werbung für
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES:Dieses Tag hat das Format eines Arrays mit Tupeln aus drei Ganzzahlen, wobei jedes Tupel das Format
{mode, maxWidth, maxHeight}hat. Zusätzlich zu{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}muss in der Kamera-HAL auch einer oder beide der ModiANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTUREundANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUSmit den entsprechenden maximalen Streaminggrößen aufgeführt sein.Werben
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:Dieses Tag hat das Format eines
{minZoomRatio, maxZoomRatio}-Arrays, das alle Zoomverhältnisbereiche für einen aktivierten erweiterten Szenenmodus in derselben Reihenfolge wie inANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZESenthält. Ein Zoom-Bereich von[1.0, 1.0]bedeutet, dass Zoom nicht unterstützt wird.Füllen Sie
ANDROID_CONTROL_USE_EXTENDED_SCENE_MODEinANDROID_CONTROL_AVAILABLE_MODESaus.
Damit eine App die Bokeh-Funktion auslösen kann, muss sie ANDROID_CONTROL_MODE auf ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE und ANDROID_CONTROL_EXTENDED_SCENE_MODE auf einen der unterstützten erweiterten Szenenmodi festlegen.
Die Implementierung von Bokeh kann aufgrund der Stereoberechnung zu einem zusätzlichen Arbeitsspeicherverbrauch führen.
Wenn ein unterstützter erweiterter Szenenmodus nicht pro Frame angewendet werden kann und beim Aktivieren/Deaktivieren zu unerwarteten Verzögerungen führt, füge ANDROID_CONTROL_EXTENDED_SCENE_MODE in ANDROID_REQUEST_AVAILABLE_SESSION_KEYS ein. Implementieren Sie gleichzeitig die Methode ICameraDeviceSession::isReconfigurationRequired(), um eine erneute Konfiguration für erweiterte Szenenmodi zu vermeiden, die keine erneute Konfiguration erfordern.
Zertifizierungsstufe
Führen Sie die folgenden CTS-, VTS- und CTS Verifier-Tests aus, um die Bokeh-Funktion auf Ihrem Gerät zu validieren:
CtsCameraTestCasesVtsHalCameraProviderV2_4TargetTestCameraBokehTestin der CTS‑Prüfung