Android 14 unterstützt die Aufnahme von komprimierten Ultra-HDR-Bildern im Bildformat JPEG_R
. Dieses Format ist abwärtskompatibel mit SDR-JPEG-Bildern und unterstützt das HDR-Rendering von Inhalten.
Weitere Informationen zur Ultra-HDR-Format-Spezifikation finden Sie unter Ultra-HDR-Bildformat v1.0.
Implementierung
In diesem Abschnitt wird beschrieben, wie du die Ultra-HDR-Funktion implementierst.
Referenzimplementierung
Das AOSP-Kamera-Framework und der Kameradienst enthalten eine Referenzimplementierung für Ultra-HDR.
Zusätzlich zu den Referenzfunktionen 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 angeben. In diesem Szenario muss die HAL der Kamera die erforderliche Wiederherstellungskarte und das endgültige JPEG_R
-Bild gemäß der Ultra-HDR-Spezifikation generieren.
Sie können die endgültige Ausgabe je nach Hardware- und Softwarefunktionen des Geräts optimieren.
Implementierungsoptionen
Gerätehersteller können für ihre Geräte die folgenden Ultra-HDR-Unterstützungsstufen auswählen:
- Minimal:In dieser Konfiguration ist die Ultra-HDR-Ausgabe über die Funktion „Composite Stream“ des Kameradiensts standardmäßig deaktiviert. Wenn Sie die Referenzimplementierung für
JpegRCompositeStream
aktivieren möchten, 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 geringeren Leistung führen. - Mäßig:Bei dieser Option verwendet die
JpegRCompositeStream
-Implementierung eine von HAL bereitgestellte SDR-JPEG-Datei als Basisbild und einen P010-Frame, um eine Wiederherstellungskarte zu berechnen. Bei dieser Option wird Software innerhalb des Datenpfads verarbeitet, was im Vergleich zur minimalen Option jedoch relativ gering ist. - Umfassend:Die Kamera-HAL bewirbt und unterstützt den
JPEG_R
-Ausgabestream direkt. Mit dieser Option können Gerätehersteller gerätespezifische Optimierungen implementieren und die Bildqualität erheblich verbessern.
Wenn Sie die JpegRCompositeStream
-Implementierung deaktivieren möchten, legen Sie die Build-Eigenschaft ro.camera.disableJpegR
auf true
fest. Wenn dieses Build-Attribut nicht festgelegt oder auf false
gesetzt ist, ist Ultra HDR auf Geräten, die die 10-Bit-Ausgabefunktion und die gleichzeitige 10- und 8-Bit-Aufnahme unterstützen, standardmäßig über JpegRCompositeStream
aktiviert.
Zertifizierungsstufe
Führen Sie die folgenden Tests aus, um die Ultra-HDR-Funktion auf Ihrem Gerät zu prüfen.
CTS-Tests
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR
ImageReaderTest.java#testJpegR
ImageReaderTest.java#testJpegRDisplayP3
PerformanceTest.java#testSingleCapture
StillCaptureTest.java# testJpegRCapture
ITS-Tests
Manuelle Tests
Verwende für manuelle Tests die Beispielimplementierung für die Ultra HDR-Bilderfassung. Sie umfasst Unterstützung für die Konfiguration und Aufnahme von Ultra HDR mit dem Bildformat JPEG_R
.