Android 14 obsługuje przechwytywanie skompresowanych obrazów Ultra HDR
w formacie
JPEG_R. Ten format jest wstecznie zgodny z obrazami SDR JPEG i obsługuje renderowanie treści HDR.
Szczegółowe informacje o specyfikacji formatu Ultra HDR znajdziesz w dokumencie
Ultra HDR Image Format v1.0.
Implementacja
W tej sekcji opisujemy, jak wdrożyć funkcję Ultra HDR.
Implementacja referencyjna
Platforma aparatu AOSP i usługa aparatu obejmują referencyjną implementację Ultra HDR.
Oprócz referencyjnej funkcjonalności w platformie aparatu możesz zaimplementować Ultra HDR w HAL aparatu i reklamować obsługę danych wyjściowych JPEG_R w taki sam sposób jak inne strumienie wyjściowe HAL aparatu. W tym przypadku,
HAL aparatu musi wygenerować niezbędną mapę odzyskiwania i końcowy JPEG_R
obraz zgodnie ze specyfikacją
Ultra HDR.
Możesz zoptymalizować i dostroić końcowe dane wyjściowe w zależności od możliwości sprzętowych i programowych urządzenia.
Opcje implementacji
Producenci urządzeń mogą zdecydować się na te poziomy obsługi Ultra HDR na swoich urządzeniach:
- Minimalny: w tej konfiguracji dane wyjściowe Ultra HDR przez funkcję strumienia złożonego usługi aparatu są domyślnie wyłączone. Aby włączyć implementację referencyjną
JpegRCompositeStream, ustaw właściwość systemowąro.camera.enableCompositeAPI0JpegRnatrue. Ponieważ wszystkie procesy i kodowanie są wykonywane w oprogramowaniu, ta opcja może spowodować zwiększenie opóźnienia i zmniejszenie wydajności. - Umiarkowany: w tej opcji implementacja
JpegRCompositeStreamużywa pliku SDR JPEG dostarczonego przez HAL jako obrazu bazowego i ramki P010 do obliczenia mapy odzyskiwania. Ta opcja obejmuje przetwarzanie oprogramowania w ścieżce danych, ale jest stosunkowo niewielka w porównaniu z opcją minimalną. - Rozszerzony: HAL aparatu reklamuje i obsługuje bezpośrednio strumień wyjściowy
JPEG_R. Ta opcja umożliwia producentom urządzeń wdrażanie optymalizacji specyficznych dla 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 jest ustawiona na false, Ultra HDR jest domyślnie włączony przez
JpegRCompositeStream na urządzeniach obsługujących
10-bitowe dane wyjściowe
i
jednoczesne przechwytywanie 10-bitowe i 8-bitowe.
Weryfikacja
Aby sprawdzić, czy funkcja Ultra HDR działa na Twoim urządzeniu, uruchom te testy.
Testy CTS
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegRImageReaderTest.java#testJpegRImageReaderTest.java#testJpegRDisplayP3PerformanceTest.java#testSingleCaptureStillCaptureTest.java# testJpegRCapture
Testy ITS
Testy ręczne
Aby przeprowadzić testy ręczne, użyj
przykładowej implementacji przechwytywania obrazu Ultra HDR,
która obejmuje obsługę konfiguracji i przechwytywania Ultra HDR w formacie
JPEG_R.