Ultra HDR

Android 14 obsługuje zapisywanie skompresowanych zdjęć w formacie ultra HDR za pomocą formatu obrazu JPEG_R. Ten format jest wstecznie zgodny z obrazami JPEG w formacie SDR i obsługuje renderowanie treści w formacie HDR. Szczegółowe informacje o specyfikacji formatu Ultra HDR znajdziesz w tym dokumencie.

Implementacja

W tej sekcji opisujemy, jak wdrożyć funkcję Ultra HDR.

Implementacja referencyjna

Platforma kamery AOSP i usługa kamery obejmują referencyjną implementację Ultra HDR.

Oprócz funkcji referencyjnych w ramach aparatu możesz zaimplementować ultra HDR w komponencie HAL aparatu i ogłosić obsługę JPEG_R w taki sam sposób jak inne strumienie wyjściowe komponentu HAL aparatu. W tym scenariuszu HAL aparatu musi wygenerować niezbędną mapę odzyskiwania i końcowy obraz JPEG_R zgodnie ze specyfikacją ultra HDR. Możesz zoptymalizować i dostosować ostateczny wynik w zależności od możliwości sprzętowych i programowych urządzenia.

Opcje implementacji

Producenci urządzeń mogą zdecydować o tych poziomach obsługi Ultra HDR na swoich urządzeniach:

  • Minimalna: w tej konfiguracji renderowanie w ultra HDR za pomocą funkcji strumienia złożonego usługi aparatu jest domyślnie wyłączone. Aby włączyć implementację referencyjną JpegRCompositeStream, ustaw właściwość systemową ro.camera.enableCompositeAPI0JpegR na true. Ponieważ wszystkie procesy i kodowanie są wykonywane w oprogramowaniu, ta opcja może powodować zwiększenie opóźnień i spadek wydajności.
  • Umiarkowane: w tym przypadku JpegRCompositeStream implementacja używa dostarczonego przez HAL pliku JPEG SDR jako obrazu podstawowego i klatki P010 do obliczenia mapy odzyskiwania. Ta opcja obejmuje przetwarzanie oprogramowania na ścieżce danych, ale jest stosunkowo niewielkie w porównaniu z opcją minimalną.
  • Rozszerzona: komponent HAL aparatu reklamuje i obsługuje JPEG_R strumień wyjściowy bezpośrednio. Ta opcja umożliwia producentom urządzeń wdrażanie optymalizacji specyficznych dla danego urządzenia i może znacznie poprawić jakość obrazu.

Aby wyłączyć implementację JpegRCompositeStream, ustaw właściwość kompilacji ro.camera.disableJpegR na true. Jeśli ta właściwość kompilacji nie jest ustawiona lub ma wartość false, Ultra HDR jest domyślnie włączony przez JpegRCompositeStream na urządzeniach obsługujących 10-bitowe wyjście i jednoczesne przechwytywanie 10- i 8-bitowe.

Weryfikacja

Aby sprawdzić, czy funkcja Ultra HDR działa na urządzeniu, przeprowadź te testy.

Testy CTS

Testy ITS

Testy ręczne

Aby przeprowadzić testy ręczne, użyj przykładowej implementacji przechwytywania obrazów w formacie ultra HDR, która obejmuje obsługę konfiguracji i przechwytywania obrazów w formacie ultra HDR za pomocą JPEG_R.