Android 14 bietet Unterstützung für die Aufnahme von Ultra HDR-komprimierten Bildern im JPEG_R
Bildformat. Dieses Format ist abwärtskompatibel mit SDR-JPEG-Bildern und unterstützt die HDR-Wiedergabe von Inhalten. Einzelheiten zur Spezifikation des Ultra HDR-Formats finden Sie unter Ultra HDR Image Format v1.0 .
Implementierung
In diesem Abschnitt wird beschrieben, wie Sie die Ultra HDR-Funktion implementieren.
Referenzimplementierung
Das AOSP-Kamera-Framework und der Kameradienst umfassen eine Referenz-Ultra-HDR-Implementierung.
Zusätzlich zur Referenzfunktionalität im Kamera-Framework können Sie Ultra HDR in der Kamera-HAL implementieren und die Unterstützung für die JPEG_R
Ausgabe auf die gleiche Weise wie bei anderen Kamera-HAL-Ausgabestreams ankündigen. In diesem Szenario muss die Kamera-HAL die erforderliche Wiederherstellungskarte und das endgültige JPEG_R
Bild gemäß der Definition in der Ultra HDR-Spezifikation generieren. Sie können die endgültige Ausgabe abhängig von den Hardware- und Softwarefunktionen des Geräts optimieren und abstimmen.
Umsetzungsmöglichkeiten
Gerätehersteller können sich für die folgenden Stufen der Ultra HDR-Unterstützung für ihre Geräte entscheiden:
- Minimal: In dieser Konfiguration ist die Ultra HDR-Ausgabe über die Composite-Stream-Funktionalität des Kameradienstes standardmäßig deaktiviert. Um die
JpegRCompositeStream
Referenzimplementierung zu aktivieren, legen Sie die Systemeigenschaftro.camera.enableCompositeAPI0JpegR
auftrue
fest. Da alle Prozesse und die Codierung in der Software ausgeführt werden, kann diese Option zu einer erhöhten Latenz und einer verringerten Leistung führen. - Moderat: Mit dieser Option verwendet die
JpegRCompositeStream
Implementierung eine von HAL bereitgestellte SDR-JPEG-Datei als Basisbild und einen P010-Frame, um eine Wiederherstellungskarte zu berechnen. Diese Option erfordert eine Softwareverarbeitung innerhalb des Datenpfads, ist jedoch im Vergleich zur Minimaloption relativ geringfügig. - Umfangreich: Die Kamera-HAL bewirbt und unterstützt den
JPEG_R
Ausgabestream direkt. Mit dieser Option können Gerätehersteller gerätespezifische Optimierungen implementieren und erhebliche Verbesserungen der Bildqualität erzielen.
Um die JpegRCompositeStream
Implementierung zu deaktivieren, legen Sie die Build-Eigenschaft ro.camera.disableJpegR
auf true
fest. Wenn diese Build-Eigenschaft nicht festgelegt oder auf false
festgelegt ist, wird Ultra HDR standardmäßig über JpegRCompositeStream
auf Geräten aktiviert, die eine 10-Bit-Ausgabefunktion und gleichzeitige 10- und 8-Bit-Erfassung unterstützen.
Validierung
Führen Sie die folgenden Tests durch, um die Ultra HDR-Funktion auf Ihrem Gerät zu validieren.
CTS-Tests
-
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR
-
ImageReaderTest.java#testJpegR
-
ImageReaderTest.java#testJpegRDisplayP3
-
PerformanceTest.java#testSingleCapture
-
StillCaptureTest.java# testJpegRCapture
ITS-Tests
Manuelle Tests
Um manuelle Tests durchzuführen, verwenden Sie die Beispielimplementierung für die Ultra HDR-Bilderfassung , die Unterstützung für die Konfiguration und Erfassung von Ultra HDR mit dem JPEG_R
-Bildformat umfasst.