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
JpegRCompositeStreamaktivieren möchten, legen Sie das Systemattributro.camera.enableCompositeAPI0JpegRauftruefest. 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#testImageReaderBuilderWithBLOBAndJpegRImageReaderTest.java#testJpegRImageReaderTest.java#testJpegRDisplayP3PerformanceTest.java#testSingleCaptureStillCaptureTest.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.