Ultra HDR

Unter Android 14 wird das Aufnehmen von komprimierten Ultra-HDR-Bildern im Bildformat JPEG_R unterstützt. Dieses Format ist abwärtskompatibel mit SDR-JPEG-Bildern und unterstützt das HDR-Rendering von Inhalten. Details 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 enthalten eine Referenzimplementierung für Ultra HDR.

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 bewerben. 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 Systemattribut ro.camera.enableCompositeAPI0JpegR auf true 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 erfolgt eine Softwareverarbeitung im Datenpfad, die jedoch im Vergleich zur minimalen Option 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, die die Bildqualität erheblich verbessern können.

Wenn Sie die JpegRCompositeStream-Implementierung deaktivieren möchten, legen Sie die Build-Eigenschaft 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.

Validierung

Führen Sie die folgenden Tests aus, um die Ultra HDR-Funktion auf Ihrem Gerät zu validieren.

CTS-Tests

ITS-Tests

Manuelle Tests

Für manuelle Tests können Sie die Beispielimplementierung für die Aufnahme von Ultra-HDR-Bildern verwenden, die Unterstützung für die Konfiguration und Aufnahme von Ultra-HDR mit dem Bildformat JPEG_R bietet.