Máy ảnh đơn sắc

Các thiết bị chạy Android 9 trở lên có thể hỗ trợ camera đơn sắc. Android 10 hỗ trợ thêm định dạng luồng Y8, siêu dữ liệu tĩnh của mảng bộ lọc màu đơn sắc và gần hồng ngoại (NIR) cũng như các hàm DngCreator cho camera đơn sắc.

Với khả năng này, nhà sản xuất thiết bị có thể triển khai thiết bị camera đơn sắc hoặc camera cận hồng ngoại và giảm mức sử dụng bộ nhớ bằng cách sử dụng định dạng luồng Y8. Camera đơn sắc có thể đóng vai trò là camera vật lý cơ bản của thiết bị nhiều camera logic để đạt được các đặc điểm nhiễu trong điều kiện ánh sáng yếu tốt hơn.

Triển khai

Yêu cầu về phần cứng

Để triển khai tính năng này, thiết bị của bạn phải có cảm biến camera đơn sắc và bộ xử lý tín hiệu hình ảnh (ISP) để xử lý đầu ra của cảm biến.

Triển khai camera đơn sắc

Để quảng cáo thiết bị camera là camera đơn sắc, Camera HAL phải đáp ứng các yêu cầu sau:

  • android.sensor.info.colorFilterArray được đặt thành MONO hoặc NIR.
  • Các khoá bắt buộc BACKWARD_COMPATIBLE được hỗ trợ và MANUAL_POST_PROCESSING không được hỗ trợ.
  • android.control.awbAvailableModes chỉ chứa AUTOandroid.control.awbStateCONVERTED hoặc LOCKED tuỳ thuộc vào android.control.awbLock.
  • android.colorCorrection.mode, android.colorCorrection.transformandroid.colorCorrection.gains không có trong các khoá yêu cầu và kết quả hiện có. Do đó, thiết bị camera là LIMITED.
  • Các khoá siêu dữ liệu tĩnh liên quan đến màu sau đây không có:

    • android.sensor.referenceIlluminant*
    • android.sensor.calibrationTransform*
    • android.sensor.colorTransform*
    • android.sensor.forwardMatrix*
    • android.sensor.neutralColorPoint
    • android.sensor.greenSplit
  • Tất cả các kênh màu đều có cùng giá trị cho các khoá siêu dữ liệu sau đây:

    • android.sensor.blackLevelPattern
    • android.sensor.dynamicBlackLevel
    • android.statistics.lensShadingMap
    • android.tonemap.curve
  • android.sensor.noiseProfile chỉ có một kênh màu.

Đối với các thiết bị đơn sắc hỗ trợ định dạng luồng Y8, Camera HAL phải hỗ trợ việc hoán đổi các định dạng YUV_420_888 trong các tổ hợp luồng bắt buộc (bao gồm cả quá trình xử lý lại) với các định dạng Y8.

Các API công khai sau đây được sử dụng trong tính năng này:

Để biết thêm thông tin chi tiết về Camera HAL, hãy xem docs.html. Để biết thêm thông tin về các API công khai liên quan, hãy xem ImageFormat, CameraCharacteristics, CaptureRequest, và CaptureResult.

Xác nhận kết quả

Để xác thực việc triển khai camera đơn sắc, hãy chạy các bài kiểm thử CTS và VTS sau đây.

Kiểm thử CTS

  • testMonochromeCharacteristics
  • CaptureRequestTest
  • CaptureResultTest
  • StillCaptureTest
  • DngCreatorTest

Kiểm thử VTS

  • getCameraCharacteristics
  • processMultiCaptureRequestPreview