10-bitowy sygnał z aparatu

W przypadku urządzeń z Androidem 13 lub nowszym Android obsługuje 10-bitowe dane wyjściowe z aparatu za pomocą profili zakresu dynamicznego, które klient aparatu może skonfigurować w ramach konfiguracji strumienia. Producenci urządzeń mogą dodać obsługę 10-bitowych profili zakresu dynamicznego, takich jak HLG10, HDR10, HDR10+ 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 funkcji getSupportedProfiles. Framework zwraca wtedy instancję DynamicRangeProfiles, która zawiera informacje o obsługiwanych profilach zakresu dynamicznego oraz, jeśli są dostępne, ograniczenia żądania przechwytywania. HLG10 Profil musi być obsługiwany. Zalecany profil zakresu dynamicznego jest podany w polu REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE.

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

Wymagania

Aby obsługiwać 10-bitowe dane wyjściowe z aparatu, urządzenie musi mieć czujnik aparatu o 10-bitowej lub wyższej rozdzielczości z odpowiednią obsługą ISP. Szczegółowe informacje o wymaganiach dotyczących zgodności związanych z obsługą 10-bitowego koloru znajdziesz w sekcji 7.5. Kamery w dokumencie CDD.

Implementacja

Aby zapewnić obsługę 10-bitowego wyjścia z aparatu, producenci urządzeń muszą przeprowadzić następujące integracje interfejsu HAL AIDL aparatu:

  • Uwzględnij ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT w możliwościach aparatu.
  • Wypełnij pole ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP wszystkimi obsługiwanymi profilami zakresu dynamicznego i mapą bitową ich ograniczeń. HLG10 Profil musi być obsługiwany. Musisz też podać zalecany profil zakresu dynamicznego, aby poinformować klientów aparatu o optymalnym obsługiwanym formacie.
  • Zapewnij obsługę wartości profilu zakresu dynamicznego podczas konfiguracji strumienia w przypadku strumieni korzystających z formatu P010 lub obsługę formatu zdefiniowanego przez implementację (ImageFormat.PRIVATE).
  • W zależności od profilu zakresu dynamicznego ustaw statyczny lub dynamiczny bufor metadanych przetworzonych buforów Gralloc 4 przed powiadomieniem usługi aparatu.

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

Przykładową implementację komponentu HAL aparatu obsługującą 10-bitowe dane wyjściowe znajdziesz w tym artykule: /hardware/google/camera/devices/EmulatedCamera/hwl.

Weryfikacja

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

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

Testowanie poprawności działania interfejsu API

Aby przetestować poprawność działania interfejsu API 10-bitowego wyjścia z kamery, uruchom te testy CTS, ITS i VTS:

Porównanie natywnej aplikacji aparatu i aplikacji innej firmy

Zdecydowanie zalecamy, aby wyniki nagrywania 10-bitowych filmów za pomocą aplikacji innej firmy były podobne, jeśli nie identyczne, jak w przypadku natywnej aplikacji aparatu. Oznacza to, że ustawienia, takie jak ekspozycja, zakres dynamiczny i kolor, powinny być przenoszone z aplikacji natywnej do aplikacji innych firm. Aby sprawdzić, jak aplikacja innej firmy obsługująca 10-bitowe dane wyjściowe z kamery nagrywa filmy na Twoim urządzeniu, użyj przykładowej aplikacji Camera2Video w serwisie GitHub. Poniższe wskazówki ilustrują widoczne aspekty HDR bez podawania 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 w kilku różnych scenach za pomocą natywnej aplikacji aparatu i przykładowej aplikacji Camera2Video. Oto sugerowane sceny do porównania:

  • Scena z średnim lub słabym oświetleniem, na której znajduje się jasny obiekt, np. świeca lub małe jasne światło, które tworzy znaczny zakres jasności. Potwierdza to działanie automatycznej ekspozycji i zakres dynamiczny.
  • Jasna scena plenerowa z żywymi kolorami i odblaskowymi obiektami, takimi jak chromowane zderzaki samochodu, które tworzą jasne odblaski. Potwierdza to renderowanie jasnych scen z jeszcze jaśniejszymi światłami.
  • Scena o średnim zakresie dynamiki, np. naturalna scena w pomieszczeniu w domu lub biurze. Potwierdza to, że mniej ekstremalne warunki oświetleniowe działają zgodnie z oczekiwaniami.

W przypadku wszystkich scen zalecamy, aby na zdjęciu były osoby i twarze, co pozwoli sprawdzić ekspozycję, kolor i odcień skóry. Zmniejszenie różnic między kolejnymi zdjęciami ułatwia porównywanie ich ze sobą.

Porównanie standardowego i wysokiego zakresu dynamicznego

Aby mieć pewność, że używanie profilu o 10-bitowym zakresie dynamiki przynosi korzyści w porównaniu z profilem o standardowym zakresie dynamiki, porównaj nagrania wideo w SDR (bez profilu HDR) z filmami HDR. Sprawdź, czy w nagraniach widać kluczowe aspekty HDR. Aby porównać SDR i HDR, użyj przykładowej aplikacji Camera2Videosugerowanych scen do porównania natywnej aplikacji aparatu i aplikacji innych firm.

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

  • W scenie o średnim lub słabym oświetleniu jasne obszary świecy lub małego światła są renderowane z maksymalną jasnością wyświetlacza (prawdopodobnie do 1000 nitów) w klipie HDR i z maksymalną jasnością SDR (około 100 nitów) w klipie SDR. W klipie HDR jasne elementy powinny być wyraźnie widoczne na wyświetlaczu, odzwierciedlając to, jak użytkownik postrzega prawdziwy zakres dynamiczny sceny. W porównaniu z klipem HDR klip SDR powinien być bardziej płaski i mniej jasny.
  • W scenie z jasnym obrazem klip HDR może wykazywać widoczną różnicę w jasności ekranu w porównaniu z klipem SDR, w zależności od ustawień urządzenia. W przypadku klipu HDR jasność ekranu dla całej sceny (w zależności od zakresu dynamiki) powinna być wyższa, np. do 800 nitów, a w przypadku jasnych świateł, takich jak chromowane zderzaki, jeszcze wyższa, w pobliżu maksymalnej jasności.
  • W przypadku nagrań w pomieszczeniach o średnim i niskim zakresie dynamiki klipy HDR i SDR mają podobne kolory i odcienie, przy czym nagranie HDR może być jaśniejsze niż SDR. HDR nie powinien być ciemniejszy niż SDR. Jeśli wybór ustawień to uniemożliwia, zadbaj o to, aby działanie aplikacji innej firmy było zgodne z działaniem natywnej aplikacji aparatu.