Ultra HDR

Android 14 obsługuje kompresję zdjęć w ultra HDR za pomocą formatu obrazu JPEG_R. Ten format jest zgodny z wsteczną kompatybilnością z obrazami JPEG SDR i obsługuje renderowanie treści w HDR. Szczegółowe informacje o specyfikacji formatu ultra HDR znajdziesz w artykule Specyfikacja formatu obrazu ultra HDR w wersji 1.0.

Implementacja

W tej sekcji opisano, jak zaimplementować funkcję ultra HDR.

Implementacja referencyjna

Ramka i usługa aparatu AOSP obejmują referencyjne wdrożenie Ultra HDR.

Oprócz funkcji referencyjnych w ramach kamery możesz zaimplementować funkcję Ultra HDR w interfejsie HAL kamery i reklamować obsługę wyjścia JPEG_R w taki sam sposób, jak inne strumienie wyjściowe HAL kamery. W tym scenariuszu interfejs HAL aparatu musi wygenerować niezbędną mapę odzyskiwania i ostateczny obraz JPEG_R zgodnie ze specyfikacją Ultra HDR. Możesz zoptymalizować i dostosować końcowy wynik w zależności od możliwości sprzętu i oprogramowania urządzenia.

Opcje implementacji

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

  • Minimalna: w tej konfiguracji funkcja wyjścia Ultra HDR za pomocą usługi strumieniowego obrazu złożonego z kamery jest domyślnie wyłączona. Aby włączyć implementację referencji JpegRCompositeStream, ustaw właściwość systemową ro.camera.enableCompositeAPI0JpegR na true. Wszystkie procesy i kodowanie są wykonywane w oprogramowaniu, więc ta opcja może spowodować wydłużenie czasu oczekiwania i spadek wydajności.
  • Umiarkowany: jeśli wybierzesz tę opcję, implementacja JpegRCompositeStream używa dostarczonego przez HAL pliku SDR JPEG jako obrazu podstawowego i ramki P010 do obliczenia mapy przywracania. Ta opcja obejmuje przetwarzanie oprogramowania na ścieżce danych, ale jest stosunkowo nieznaczne w porównaniu z opcją minimalną.
  • Rozszerzona: komponent HAL aparatu reklamuje i obsługuje bezpośrednio strumień wyjściowy JPEG_R. Ta opcja umożliwia producentom urządzeń wprowadzanie optymalizacji pod kątem konkretnych urządzeń i może znacznie poprawić jakość obrazów.

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 jest ustawiona na false, Ultra HDR jest domyślnie włączone za pomocą JpegRCompositeStream na urządzeniach obsługujących 10-bitowe wyjście i jednoczesne 10- i 8-bitowe przechwytywanie.

Weryfikacja

Aby sprawdzić działanie funkcji ultra HDR na swoim urządzeniu, przeprowadź poniższe testy.

Testy CTS

Testy ITS

Testy ręczne

Do testów ręcznych użyj implementacji przykładowej funkcji do przechwytywania zdjęć w formacie Ultra HDR, która obsługuje konfigurowanie i przechwytywanie zdjęć w formacie JPEG_R.