10-bitowe wyjście kamery

W przypadku urządzeń z systemem Android 13 lub nowszym system Android obsługuje 10-bitowy sygnał wyjściowy z kamery za pośrednictwem profili zakresu dynamicznego, które mogą być konfigurowane przez klienta kamery w ramach konfiguracji strumienia. Producenci urządzeń mogą dodać obsługę 10-bitowych profili zakresu dynamiki, takich jak HLG10, HDR 10, HDR 10+ i Dolby Vision.

Obsługa 10-bitowego wyjścia kamery umożliwia klientom kamer wykrywanie obsługiwanych 10-bitowych profili zakresu dynamicznego urządzenia poprzez wywołanie getSupportedProfiles . Następnie platforma zwraca instancję DynamicRangeProfiles , która zawiera informacje o obsługiwanych profilach zakresu dynamicznego i, jeśli są dostępne, ograniczenia żądań przechwytywania. Profil HLG10 musi być obsługiwany. Zalecany profil zakresu dynamiki znajduje się w polu REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE .

Klienci kamer mogą konfigurować kombinacje strumieni, wywołując metodę setDynamicRangeProfile . Aby uzyskać więcej informacji na temat obowiązkowych kombinacji strumieni wyjściowych, zobacz tabelę dodatkowych gwarantowanych konfiguracji 10-bitowego wyjścia w sekcji Regularne przechwytywanie .

Wymagania

Aby obsługiwać 10-bitowy sygnał wyjściowy kamery, urządzenie musi być wyposażone w czujnik kamery obsługujący 10-bitowy lub wyższy format i obsługujący odpowiedniego dostawcę usług internetowych. Aby uzyskać szczegółowe informacje na temat powiązanych wymagań zgodności dla obsługi 10-bitowej, zobacz sekcję 7.5. Kamery w CDD.

Realizacja

Aby zapewnić obsługę 10-bitowego sygnału wyjściowego kamery, producenci urządzeń muszą wykonać następujące integracje Camera AIDL HAL:

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

Więcej szczegółów na temat 10-bitowego sygnału wyjściowego kamery w warstwie Camera HAL można znaleźć w pliku metadata_definitions.xml :

Aby zapoznać się z referencyjną implementacją Camera HAL obsługującą 10-bitowe wyjście kamery, zobacz /hardware/google/camera/devices/EmulatedCamera/hwl .

Walidacja

Aby sprawdzić implementację 10-bitowego sygnału wyjściowego kamery i upewnić się, że aplikacje innych firm będą mogły włączyć tę funkcję, zalecamy wykonanie następujących trzech etapów sprawdzania.

W celu wizualnej weryfikacji 10-bitowego sygnału wyjściowego kamery zakłada się, że urządzenie obsługuje wyświetlanie obrazu HDR (wyświetlacz o wartości ponad 1000 nitów), a aplikacja do oglądania wideo (na przykład Zdjęcia Google) obsługuje odtwarzanie wideo HDR.

Przetestuj poprawność funkcjonalną API

Aby przetestować poprawność funkcjonalną API 10-bitowego wyjścia kamery, wykonaj następujące testy CTS, ITS kamery i VTS:

Porównaj natywną kamerę i aplikację innej firmy

Zdecydowanie zalecamy, aby wyniki przechwytywania 10-bitowych filmów za pomocą aplikacji innej firmy były podobne, jeśli nie identyczne, z natywną aplikacją aparatu. Oznacza to, że opcje dostrajania, takie jak ekspozycja, zakres dynamiczny i kolor, powinny zostać przeniesione z aplikacji natywnej do aplikacji innych firm. Aby sprawdzić działanie nagrywania wideo aplikacji innej firmy obsługującej 10-bitowe wyjście kamery na Twoim urządzeniu, użyj przykładowej aplikacji Camera2Video w serwisie GitHub. Poniższe wytyczne służą zilustrowaniu widocznych aspektów HDR bez liczb obiektywnych, 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, przechwytuj filmy przy użyciu kilku różnych scen, zarówno za pomocą natywnej aplikacji aparatu, jak i przykładowej aplikacji Camera2Video. Poniżej znajdują się sugerowane sceny do wykorzystania w celach porównawczych:

  • Scena od średniego do słabego oświetlenia z jasnym obiektem, takim jak świeca lub małe jasne światło, które tworzy znaczny zakres jasności. Potwierdza to zachowanie automatycznej ekspozycji i zakres dynamiczny.
  • Jasna scena plenerowa z żywymi kolorami i odblaskowymi obiektami, takimi jak chromowane zderzaki w samochodzie, co tworzy jasne akcenty. Potwierdza to renderowanie jasnych scen z jeszcze jaśniejszymi światłami.
  • Scena o średnim zakresie dynamiki i niskim zakresie dynamiki, taka jak naturalna scena w pomieszczeniu w domu lub biurze. Potwierdza to, że mniej ekstremalne warunki oświetleniowe zachowują się zgodnie z oczekiwaniami.

W przypadku wszystkich scen zalecamy sprawdzenie ekspozycji, koloru i odcienia skóry przez ludzi i twarze. Zmniejszenie zmienności między strzałami ułatwia bezpośrednie porównania.

Porównaj standardowy zakres dynamiki i wysoki zakres dynamiki

Aby upewnić się, że użycie 10-bitowego profilu zakresu dynamicznego przynosi zauważalne korzyści w porównaniu ze standardowym profilem zakresu dynamicznego, porównaj nagrania wideo przy użyciu SDR (bez profilu HDR) z filmami HDR, aby potwierdzić, że w przechwyconych nagraniach pojawiają się kluczowe aspekty HDR. Aby porównać SDR i HDR, użyj przykładowej aplikacji Camera2Video i sugerowanych scen , aby porównać natywną aplikację aparatu z aplikacjami innych firm.

Poniżej przedstawiono kluczowe aspekty do sprawdzenia w sugerowanych scenach. Panele wyświetlaczy obsługujące HDR różnią się poziomem jasności (mierzonym w nitach lub lumenach), dlatego podane poniżej liczby mają charakter przykładowy:

  • W scenach od średniego do słabego oświetlenia jasne światła świecy lub małego światła są renderowane z maksymalną jasnością wyświetlacza (prawdopodobnie do 1000 nitów) w klipie HDR i renderowane z maksymalną jasnością dla SDR (około 100 nits) w klipie SDR. W klipie HDR jasne światła powinny wychodzić z wyświetlacza, oddając użytkownikowi postrzeganie prawdziwego zakresu dynamiki sceny. W porównaniu z klipem HDR klip SDR powinien wyglądać na bardziej płaski i mniej jasny.
  • W jasnej scenie wyjściowej, w zależności od dostrojenia urządzenia, klip HDR wykazuje wyraźną różnicę w jasności ekranu w porównaniu z klipem SDR. W przypadku klipu HDR jasność ekranu dla całej sceny (w zależności od wysokości nadproża) powinna być wyższa, na przykład do 800 nitów, a w przypadku jasnych elementów, takich jak chromowane zderzaki, powinna być jeszcze większa, w okolicach maksymalnej jasności.
  • W przypadku przechwytywania w pomieszczeniach w średnim zakresie i niskim zakresie dynamiki klipy HDR i SDR mają podobne kolory i odcienie, przy czym ujęcia HDR są potencjalnie jaśniejsze niż w przypadku SDR. HDR nie powinien być ciemniejszy niż SDR. Jeśli opcje dostrajania uniemożliwiają to, upewnij się, że zachowanie aplikacji innej firmy odpowiada zachowaniu natywnej aplikacji aparatu.