10-bitowy sygnał z aparatu

Urządzenia z Androidem 13 lub nowszym obsługują 10-bitowe dane wyjściowe z kamery za pomocą profili dynamicznego zakresu, które mogą być konfigurowane przez klienta kamery w ramach konfiguracji strumienia. Producenci urządzeń mogą dodać obsługę 10-bitowych profili zakresu dynamicznego, takich jak HLG10, HDR 10, HDR 10+ i Dolby Vision.

Obsługa 10-bitowego wyjścia z kamery umożliwia klientom kamery wykrywanie obsługiwanych 10-bitowych profili zakresu dynamicznego urządzenia przez wywołanie getSupportedProfiles. Następnie framework zwraca instancję DynamicRangeProfiles, która zawiera informacje o obsługiwanych profilach zakresu dynamicznego oraz, w razie ich dostępności, ograniczenia żądania rejestrowania. Musisz mieć obsługiwany profil HLG10. Zalecany profil zakresu dynamicznego jest podany w polu REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE.

Klienci kamery mogą konfigurować kombinacje strumieni, wywołując setDynamicRangeProfile. Więcej informacji o obowiązkowych kombinacjach strumieni wyjściowych znajdziesz w tabeli Dodatkowe konfiguracje gwarantowanych 10-bitowych danych wyjściowych w artykule Zwykłe przechwytywanie.

Wymagania

Aby obsługiwać 10-bitowe wyjście z kamery, urządzenie musi mieć 10-bitowy czujnik z odpowiednim interfejsem ISP. Szczegółowe informacje o powiązanych wymaganiach dotyczących zgodności w przypadku obsługi 10-bitów znajdziesz w sekcji 7.5. Kamery w CDD.

Implementacja

Aby zapewnić obsługę 10-bitowego wyjścia z aparatu, producenci urządzeń muszą wykonać te integracje Camera AIDL HAL:

  • Uwzględnij ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT w funkcjach aparatu.
  • Wypełnij element ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP wszystkimi obsługiwanymi profilami zakresu dynamicznego oraz bitmapą ich ograniczeń. Musisz mieć obsługiwany profil HLG10. Musisz też podać zalecany profil zakresu dynamicznego, aby poinformować klientów aparatów o optymalnym obsługiwanym formacie.
  • Upewnij się, że podczas konfigurowania strumienia w formacie P010 uwzględniono obsługę wartości profilu zakresu dynamicznego lub obsługę formatu zdefiniowanego przez implementację (ImageFormat.PRIVATE).
  • W zależności od profilu dynamicznego zakresu ustawiaj statyczne lub dynamiczne metadane bufora przetworzonych buforów Gralloc 4 przed powiadomieniem usługi aparatu.

Więcej informacji o 10-bitowym wyjściu aparatu w Camera HAL znajdziesz w metadata_definitions.xml:

Przykład implementacji komponentu HAL aparatu obsługującego 10-bitowe dane wyjściowe aparatu znajdziesz w artykule /hardware/google/camera/devices/EmulatedCamera/hwl.

Weryfikacja

Aby sprawdzić implementację 10-bitowego wyjścia z aparatu i upewnić się, że aplikacje innych firm mogą włączyć tę funkcję, zalecamy wykonanie tych 3 etapów weryfikacji.

W przypadku weryfikacji wizualnej 10-bitowego wyjścia z kamery zakłada się, że urządzenie obsługuje wyświetlanie HDR (wyświetlacz o jasności co najmniej 1000 nitów), a aplikacja do wyświetlania filmów (np. Zdjęcia Google) obsługuje odtwarzanie filmów HDR.

Testowanie poprawności działania interfejsu API

Aby sprawdzić prawidłowość działania interfejsu API w przypadku 10-bitowego wyjścia z kamery, uruchom te testy CTS, ITS i VTS:

Porównanie aparatu w systemie i aplikacji innej firmy

Zdecydowanie zalecamy, aby wyniki nagrywania filmów 10-bitowych za pomocą aplikacji innej firmy były podobne, a najlepiej identyczne, do tych uzyskanych w natywnej aplikacji aparatu. Oznacza to, że ustawienia takie jak ekspozycja, zakres dynamiczny i kolor powinny być przenoszone z natywnej aplikacji do aplikacji innych firm. Aby sprawdzić, jak aplikacja innej firmy obsługująca 10-bitowe wyjście z kamery działa na Twoim urządzeniu, użyj aplikacji Camera2Video z GitHuba. Poniższe wskazówki mają na celu zilustrowanie widocznych aspektów HDR bez obiektywnych liczb ze względu na zmienność czujników, paneli, warunków oglądania i preferencji dostawców.

Sugerowane sceny do porównania

Aby porównać natywną aplikację aparatu z aplikacją innej firmy, nagraj filmy z różnych scen za pomocą natywnej aplikacji aparatu i próbnej aplikacji Camera2Video. Oto sugerowane sceny do porównania:

  • Scena o średnim lub słabym oświetleniu z jasnym obiektem, np. świecą lub małym jasnym światłem, które tworzy znaczny zakres jasności. Potwierdza to zachowanie automatycznej ekspozycji i zakres dynamiczny.
  • Jasna scena plenerowa z żywymi kolorami i odbijające światło obiekty, takie jak chromowane zderzaki samochodu, które tworzą jasne refleksy. Potwierdza to renderowanie jasnych scen z jeszcze jaśniejszymi punktami.
  • Średnia scena o niskim zakresie dynamicznym, np. naturalna scena wewnątrz domu lub biura. Potwierdza to, że w przypadku mniej ekstremalnych warunków oświetleniowych wszystko działa zgodnie z oczekiwaniami.

W przypadku wszystkich scen zalecamy, aby w kadrze były osoby i twarze, co pozwoli zweryfikować ekspozycję, kolorystykę i sposób odwzorowania odcienia skóry. Zmniejszenie różnic między ujęciami ułatwia porównywanie kolejnych ujęć.

Porównywanie standardowego zakresu dynamicznego i HDR

Aby sprawdzić, czy korzystanie z 10-bitowego profilu zakresu dynamiki jest korzystniejsze niż korzystanie z profilu standardowego zakresu dynamiki, porównaj materiały nagrane w standardzie SDR (bez profilu HDR) z materiałami HDR. W ten sposób sprawdzisz, czy kluczowe aspekty HDR są widoczne na nagraniach. Aby porównać obrazy SDR i HDR, użyj próbnej aplikacji Camera2Videozaproponowanych scen, aby porównać natywną aplikację aparatu z aplikacjami innych firm.

Oto najważniejsze aspekty, które należy sprawdzić w zalecanych scenach. Panele wyświetlaczy obsługujące HDR różnią się poziomem jasności (mierzonym w nitach lub lumenach), więc podane niżej liczby mają charakter przykładowy:

  • W scenie o średnim lub słabym oświetleniu jasne punkty światła świecy lub małego światła są renderowane z maksymalną jasnością dla wyświetlacza (do 1000 nitów) w klipie HDR i z maksymalną jasnością dla SDR (około 100 nitów) w klipie SDR. W klipie HDR jasne punkty powinny wyróżniać się na ekranie, odzwierciedlając sposób, w jaki użytkownik odbiera rzeczywisty zakres dynamiczny sceny. W porównaniu z klipem HDR klip SDR powinien być mniej jasny i mniej wyrazisty.
  • W scenie z jasnym wyjściem, w zależności od ustawień urządzenia, klip HDR pokazuje widoczną różnicę w jasności ekranu w porównaniu z klipem SDR. W przypadku klipu HDR jasność ekranu całej sceny (w zależności od marginesu) powinna być wyższa, na przykład do 800 nitów, a w przypadku jasnych elementów, takich jak chromowane zderzaki, powinna wynosić maksymalną jasność.
  • W przypadku nagrania w pomieszczeniu o średnim, niskim zakresie dynamiki klipy HDR i SDR są podobne pod względem kolorów i odcieni, a nagranie HDR może być jaśniejsze niż SDR. Obraz HDR nie może być ciemniejszy niż obraz SDR. Jeśli nie możesz tego zrobić, upewnij się, że aplikacja innej firmy działa tak samo jak domyślna aplikacja aparatu.