Kamery monochromatyczne

Urządzenia z systemem Android 9 lub nowszym obsługują kamery monochromatyczne. Android 10 zapewnia dodatkową obsługę formatu strumienia Y8, statycznych metadanych tablicy filtrów kolorów monochromatycznych i bliskiej podczerwieni (NIR) oraz funkcji DngCreator dla kamer monochromatycznych.

Dzięki tej możliwości producenci urządzeń mogą wdrożyć kamerę monochromatyczną lub NIR i zmniejszyć zużycie pamięci, korzystając z formatu strumienia Y8. Kamera monochromatyczna może służyć jako podstawowa kamera fizyczna logicznego urządzenia składającego się z wielu kamer, aby uzyskać lepszą charakterystykę szumu przy słabym oświetleniu.

Realizacja

Wymagania sprzętowe

Aby wdrożyć tę funkcję, urządzenie musi być wyposażone w monochromatyczny czujnik kamery i procesor sygnału obrazu (ISP) do przetwarzania sygnału wyjściowego czujnika.

Implementacja kamery monochromatycznej

Aby reklamować urządzenie z kamerą jako kamerę monochromatyczną, warstwa HAL kamery musi spełniać następujące wymagania:

  • android.sensor.info.colorFilterArray jest ustawiony na MONO lub NIR .
  • Obsługiwane są wymagane klucze BACKWARD_COMPATIBLE , a MANUAL_POST_PROCESSING nie jest obsługiwany.
  • android.control.awbAvailableModes zawiera tylko AUTO , a android.control.awbState jest albo CONVERTED , albo LOCKED w zależności od android.control.awbLock .
  • android.colorCorrection.mode , android.colorCorrection.transform i android.colorCorrection.gains nie są dostępne w kluczach żądań i wyników. W rezultacie urządzenie z kamerą jest LIMITED .
  • Brakuje następujących statycznych kluczy metadanych związanych z kolorami:

    • android.sensor.referenceIlluminant*
    • android.sensor.calibrationTransform*
    • android.sensor.colorTransform*
    • android.sensor.forwardMatrix*
    • android.sensor.neutralColorPoint
    • android.sensor.greenSplit
  • Wszystkie kanały kolorów mają te same wartości następujących kluczy metadanych:

    • android.sensor.blackLevelPattern
    • android.sensor.dynamicBlackLevel
    • android.statistics.lensShadingMap
    • android.tonemap.curve
  • android.sensor.noiseProfile ma tylko jeden kanał koloru.

W przypadku urządzeń monochromatycznych obsługujących formaty strumieni Y8 warstwa HAL kamery musi obsługiwać zamianę formatów YUV_420_888 w obowiązkowych kombinacjach strumieni (w tym ponowne przetwarzanie) na formaty Y8.

W tej funkcji używane są następujące publiczne interfejsy API:

Więcej szczegółów na temat warstwy HAL kamery można znaleźć w pliku docs.html . Aby uzyskać więcej informacji na temat powiązanych publicznych interfejsów API, zobacz ImageFormat , CameraCharacteristics , CaptureRequest i CaptureResult .

Walidacja

Aby sprawdzić poprawność implementacji kamery monochromatycznej, przeprowadź następujące testy CTS i VTS.

Testy CTS

  • testMonochromeCharacteristics
  • CaptureRequestTest
  • CaptureResultTest
  • StillCaptureTest
  • DngCreatorTest

Testy VTS

  • getCameraCharacteristics
  • processMultiCaptureRequestPreview