Android 9 以降を搭載したデバイスは、モノクロカメラに対応しています。Android 10 では、Y8 ストリーム形式、モノクロおよび近赤外線(NIR)カラーフィルタ配列の静的メタデータ、モノクロカメラに関する DngCreator
関数に対するサポートが追加されています。
そのため、デバイス メーカーはモノクロまたは NIR カメラデバイスを実装し、Y8 ストリーム形式を使用してメモリ使用量を削減できます。論理マルチカメラ デバイスを構成する物理カメラとしてモノクロカメラを使用し、低照度ノイズ特性を改善できます。
実装
ハードウェア要件
この機能を実装するには、デバイスにモノクロカメラ センサーと、センサー出力を処理する画像信号処理装置(ISP)が必要です。
モノクロカメラの実装
カメラデバイスをモノクロカメラとしてアドバタイズするには、カメラ HAL が次の要件を満たしている必要があります。
android.sensor.info.colorFilterArray
がMONO
またはNIR
に設定されている。- 必須キーの
BACKWARD_COMPATIBLE
がサポートされ、MANUAL_POST_PROCESSING
がサポートされていない。 android.control.awbAvailableModes
にAUTO
のみが含まれ、android.control.awbState
がandroid.control.awbLock
に応じてCONVERTED
またはLOCKED
に設定されている。android.colorCorrection.mode
、android.colorCorrection.transform
、android.colorCorrection.gains
が使用可能なリクエストキーと結果キーに含まれていない。そのため、カメラデバイスがLIMITED
である。色に関連する次の静的メタデータキーが指定されていない。
android.sensor.referenceIlluminant*
android.sensor.calibrationTransform*
android.sensor.colorTransform*
android.sensor.forwardMatrix*
android.sensor.neutralColorPoint
android.sensor.greenSplit
すべてのカラーチャネルの値が次のメタデータキーと同じ。
android.sensor.blackLevelPattern
android.sensor.dynamicBlackLevel
android.statistics.lensShadingMap
android.tonemap.curve
android.sensor.noiseProfile
にカラーチャネルが 1 つのみ指定されている。
Y8 ストリーム形式をサポートするモノクロ デバイスの場合、カメラ HAL は必須ストリームの組み合わせ(再処理を含む)で YUV_420_888
形式と Y8 形式との入れ替えをサポートする必要があります。
この機能では、次の公開 API が使用されます。
- Y8 画像形式
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- モノクロカメラ機能(Android 9 で導入)
カメラ HAL について詳しくは、docs.html をご覧ください。関連する公開 API について詳しくは、ImageFormat、CameraCharacteristics、CaptureRequest、CaptureResult をご覧ください。
検証
モノクロカメラの実装を検証するには、次の CTS テストと VTS テストを実施します。
CTS テスト
testMonochromeCharacteristics
CaptureRequestTest
CaptureResultTest
StillCaptureTest
DngCreatorTest
VTS テスト
getCameraCharacteristics
processMultiCaptureRequestPreview