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 naMONO
lubNIR
. - Obsługiwane są wymagane klucze
BACKWARD_COMPATIBLE
, aMANUAL_POST_PROCESSING
nie jest obsługiwany. -
android.control.awbAvailableModes
zawiera tylkoAUTO
, aandroid.control.awbState
jest alboCONVERTED
, alboLOCKED
w zależności odandroid.control.awbLock
. -
android.colorCorrection.mode
,android.colorCorrection.transform
iandroid.colorCorrection.gains
nie są dostępne w kluczach żądań i wyników. W rezultacie urządzenie z kamerą jestLIMITED
. 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:
- Format obrazu Y8
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- Możliwość aparatu MONOCHROMOWEGO (wprowadzona w systemie Android 9)
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