Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Ultra HDR
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Android 14 obsługuje kompresję zdjęć w ultra HDR za pomocą formatu obrazu JPEG_R
. Ten format jest zgodny wstecz 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 wdrożyć funkcję Ultra HDR.
Implementacja referencyjna
Ramka i usługa aparatu AOSP obejmują referencyjną implementację Ultra HDR.
Oprócz funkcji referencyjnych w ramach platformy aparatu możesz zaimplementować Ultra HDR w komponencie HAL aparatu i reklamować obsługę wyjścia JPEG_R
w taki sam sposób jak inne strumienie wyjścia komponentu HAL aparatu. 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ę referencyjną
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 zmniejszenie wydajności.
- Średni: w tym przypadku implementacja
JpegRCompositeStream
używa pliku JPEG SDR dostarczonego przez HAL jako obrazu bazowego i ramki P010 do obliczenia mapy odzyskiwania. 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ń wdrażanie optymalizacji dla poszczególnych urządzeń 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łączone za pomocą JpegRCompositeStream
na urządzeniach obsługujących 10-bitowe wyjście i jednoczesne 10- i 8-bitowe przechwytywanie.
Weryfikacja
Aby sprawdzić funkcję Ultra HDR na urządzeniu, uruchom te 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
.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-26 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-26 UTC."],[],[],null,["# Ultra HDR\n\nAndroid 14 provides support for capturing Ultra HDR\ncompressed images using the\n[`JPEG_R`](https://developer.android.com/reference/kotlin/android/graphics/ImageFormat#jpeg_r)\nimage format. This format is backward compatible with SDR JPEG images and\nsupports HDR rendering of content.\nFor details about the Ultra HDR format specification, see\n[Ultra HDR Image Format v1.0](https://developer.android.com/guide/topics/media/hdr-image-format).\n\nImplementation\n--------------\n\nThis section describes how to implement the Ultra HDR feature.\n\n### Reference implementation\n\nThe AOSP camera framework and camera service includes a reference Ultra HDR\nimplementation.\n\nIn addition to the reference functionality in the camera framework, you can\nimplement Ultra HDR within the camera HAL and advertise support for `JPEG_R`\noutput in the same way as other camera HAL output streams. In this scenario,\nthe camera HAL must generate the necessary recovery map and the final `JPEG_R`\nimage as defined by the\n[Ultra HDR specification](https://developer.android.com/guide/topics/media/hdr-image-format#introduction).\nYou can optimize and tune the final output depending on the device hardware\nand software capabilities.\n\n### Implementation options\n\nDevice manufacturers can decide on the following levels of Ultra HDR support for\ntheir devices:\n\n- **Minimal:** In this configuration, Ultra HDR output through the camera service composite stream functionality is disabled by default. To enable the `JpegRCompositeStream` reference implementation, set the `ro.camera.enableCompositeAPI0JpegR` system property to `true`. Because all processes and encoding is performed in software, this option can result in increased latency and decreased performance.\n- **Moderate:** With this option, the `JpegRCompositeStream` implementation uses a HAL-provided SDR JPEG file as a base image and a P010 frame to calculate a recovery map. This option involves software processing within the data path but is relatively minor compared to the minimal option.\n- **Extensive:** The camera HAL advertises and supports the `JPEG_R` output stream directly. This option lets device manufacturers implement device-specific optimizations and can provide significant image quality improvements.\n\nTo disable the `JpegRCompositeStream` implementation, set the\n`ro.camera.disableJpegR` build property to `true`. If this build property isn't\nset or is set to `false`, Ultra HDR is enabled by default through\n`JpegRCompositeStream` on devices supporting\n[10-bit output capability](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT)\nand\n[concurrent 10 and 8-bit capture](https://developer.android.com/reference/android/hardware/camera2/params/DynamicRangeProfiles#getProfileCaptureRequestConstraints(long)).\n\nValidation\n----------\n\nTo validate the Ultra HDR feature on your device, run the following tests.\n\n### CTS tests\n\n- [`ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/ImageReaderTest.java#815)\n- [`ImageReaderTest.java#testJpegR`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/ImageReaderTest.java#503)\n- [`ImageReaderTest.java#testJpegRDisplayP3`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/ImageReaderTest.java#526)\n- [`PerformanceTest.java#testSingleCapture`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/PerformanceTest.java#313)\n- [`StillCaptureTest.java# testJpegRCapture`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/StillCaptureTest.java#192)\n\n### ITS tests\n\n- [`scene4#test_aspect_ratio_and_crop`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/apps/CameraITS/tests/scene4/test_aspect_ratio_and_crop.py)\n\n### Manual tests\n\nTo perform manual tests, use the\n[sample implementation for Ultra HDR image capture](https://github.com/android/platform-samples/pull/56),\nwhich includes support for the configuration and capture of Ultra HDR using the\n`JPEG_R` image format."]]