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.
Details zur Ultra-HDR-Formatspezifikation 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 enthalten eine Ultra HDR-Referenzimplementierung.
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 dieselbe Weise wie andere Kamera-HAL-Ausgabestreams ankündigen. In diesem Szenario muss die Kamera-HAL 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 Gerätehardware und Softwarefunktionen optimieren und anpassen.
Implementierungsoptionen
Gerätehersteller können für ihre Geräte die folgenden Stufen der Ultra HDR-Unterstützung festlegen:
- Minimal:In dieser Konfiguration ist die Ultra HDR-Ausgabe über die Composite-Stream-Funktion des Kameradienstes standardmäßig deaktiviert. Wenn Sie die Referenzimplementierung
JpegRCompositeStream
aktivieren möchten, legen Sie das Systemattributro.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. - Mittel:Bei dieser Option wird bei der
JpegRCompositeStream
-Implementierung eine vom HAL bereitgestellte SDR-JPEG-Datei als Basisbild und ein P010-Frame verwendet, um eine Wiederherstellungskarte zu berechnen. Bei dieser Option wird Software im Datenpfad verarbeitet, allerdings in relativ geringem Umfang im Vergleich zur minimalen Option. - Umfassend:Die Kamera-HAL bewirbt und unterstützt den
JPEG_R
-Ausgabestream direkt. Mit dieser Option können Gerätehersteller gerätespezifische Optimierungen implementieren, die die Bildqualität erheblich verbessern können.
Wenn Sie die JpegRCompositeStream
-Implementierung deaktivieren möchten, legen Sie das Build-Attribut ro.camera.disableJpegR
auf true
fest. Wenn diese Build-Property nicht festgelegt oder auf false
gesetzt ist, wird Ultra HDR standardmäßig über JpegRCompositeStream
auf Geräten aktiviert, die 10‑Bit-Ausgabe und gleichzeitige 10‑ und 8‑Bit-Aufnahme unterstützen.
Zertifizierungsstufe
Führen Sie die folgenden Tests aus, 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
Für manuelle Tests können Sie die Beispielimplementierung für die Aufnahme von Ultra-HDR-Bildern verwenden, die die Konfiguration und Aufnahme von Ultra-HDR mit dem Bildformat JPEG_R
unterstützt.