Trang này cung cấp danh sách đầy đủ các bài kiểm tra trong Bộ kiểm tra hình ảnh trên máy ảnh (ITS). Đây là một phần của Trình xác minh Bộ kiểm tra tính tương thích (CTS) với Android. Kiểm thử ITS là kiểm thử chức năng, nghĩa là không đo lường chất lượng hình ảnh, mà tất cả các chức năng của máy ảnh được quảng cáo đều hoạt động như mong đợi. Tài liệu này giúp nhà phát triển và người kiểm thử hiểu được từng kiểm thử thực hiện chức năng gì và cách gỡ lỗi kiểm thử không thành công.
Camera ITS kiểm thử các cổng theo các thuộc tính máy ảnh bắt buộc, cấp độ API và cấp độ hiệu suất nội dung nghe nhìn (MPC). Đối với cấp độ API, ITS sử dụng ro.product.first_api_level
để kiểm thử cổng được thêm vào một cấp độ API cụ thể. Cấp độ này kiểm thử trải nghiệm người dùng tiêu cực đối với chức năng ở các cấp độ API thấp hơn. ITS sử dụng ro.vendor.api_level
để kiểm thử các tính năng được thêm vào một cấp độ API cụ thể yêu cầu khả năng phần cứng mới. Nếu ro.odm.build.media_performance_class
được xác định cho một thiết bị, thì ITS yêu cầu chạy các kiểm thử cụ thể tuỳ thuộc vào cấp MPC.
Các bài kiểm thử được nhóm theo cảnh như sau:
- scene0: Ghi lại siêu dữ liệu, độ giật, con quay hồi chuyển, độ rung
- cảnh1: Độ phơi sáng, độ nhạy, bù EV, YUV so với JPEG/RAW
- scene2: Phát hiện khuôn mặt, các thử nghiệm yêu cầu cảnh màu
- scene3: Cải thiện cạnh, chuyển động ống kính
- scene4: Tỷ lệ khung hình, cắt, trường nhìn
- scene5: Phân vùng bóng đổ của ống kính
- scene6: Thu phóng
- scene7: Chuyển đổi nhiều máy ảnh
- scene8: Đo sáng vùng AE và AWB
- scene9: Nén JPEG
- scene_extensions: Tiện ích máy ảnh
- scene_flash: Tự động bật đèn flash, tốc độ khung hình tối thiểu
- scene_video: Tần suất bị rớt khung hình
- sensor_fusion: Độ lệch thời gian của máy ảnh/con quay hồi chuyển
- feature_results: Các kiểu kết hợp tính năng
Xem từng phần để biết nội dung mô tả của từng cảnh.
cảnh0
Các kiểm thử Scene0 không yêu cầu thông tin cảnh cụ thể. Tuy nhiên, điện thoại phải ở trạng thái tĩnh để kiểm tra con quay hồi chuyển và kiểm tra độ rung.
test_jitter
Đo lường sự biến động trong dấu thời gian của máy ảnh.
API đã được kiểm thử:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
Đạt: Có ít nhất 30 ms chênh lệch giữa các khung hình.
test_jitter_plot.png (Lưu ý phạm vi trục y nhỏ. Độ trễ thực sự nhỏ trong biểu đồ này.)
test_metadata
Kiểm tra tính hợp lệ của các mục siêu dữ liệu. Xem xét kết quả chụp và đối tượng đặc điểm của máy ảnh. Bài kiểm thử này sử dụng các giá trị độ phơi sáng và độ lợi auto_capture_request
vì nội dung hình ảnh không quan trọng.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
android.hardware.camera2.CameraCharacteristics#SCALER_CROPPING_TYPE
android.hardware.camera2.CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
Đạt: Có thẻ cấp độ phần cứng, rollingShutterSkew
, frameDuration
, timestampSource
, croppingType
, blackLevelPattern
, pixel_pitch
, FoV, khoảng cách lấy nét siêu tiêu cự và các thẻ này có giá trị hợp lệ.
test_request_capture_match
Kiểm thử để đảm bảo thiết bị ghi chính xác các giá trị phơi sáng và độ lợi bằng cách đọc lại siêu dữ liệu chụp.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
Đạt: Yêu cầu và chụp giá trị siêu dữ liệu trùng khớp trên tất cả ảnh chụp.
test_sensor_events
Kiểm thử các truy vấn thiết bị và in ra các sự kiện cảm biến cho các thiết bị quảng cáo tính năng hỗ trợ hợp nhất cảm biến. Các cảm biến dự kiến là gia tốc kế, con quay hồi chuyển và la bàn. Quy trình kiểm thử này chỉ hoạt động nếu màn hình đang bật, nghĩa là thiết bị không ở chế độ chờ.
Các API đã kiểm thử:
Đạt: Các sự kiện cho mỗi cảm biến sẽ nhận được.
mẫu_kiểm_tra_kết_quả_kết_quả_thử_nghiệm
Kiểm thử để đảm bảo các mẫu kiểm thử màu đồng nhất được tạo đúng cách để tắt tiếng máy ảnh. Nếu hỗ trợ tính năng tắt tiếng máy ảnh, thì phải hỗ trợ các mẫu kiểm thử màu đồng nhất. Nếu tính năng tắt tiếng camera không được hỗ trợ, thì các mẫu kiểm thử màu đồng nhất chỉ được kiểm thử nếu chức năng đó được quảng cáo.
Nếu hình ảnh RAW được hỗ trợ, thì việc chỉ định màu cũng sẽ được kiểm thử. Các màu được kiểm thử là đen, trắng, đỏ, xanh dương và xanh lục. Đối với các máy ảnh không hỗ trợ hình ảnh RAW, chỉ có màu đen là được kiểm tra.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_DATA
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
Đạt: Các mẫu kiểm thử đồng nhất được hỗ trợ có màu chính xác và có độ biến thiên thấp trong hình ảnh.
test_test_pattern
Kiểm thử thông số android.sensor.testPatternMode
để chụp khung hình cho từng mẫu kiểm thử hợp lệ và kiểm tra để đảm bảo rằng các khung hình được tạo chính xác cho màu đồng nhất và thanh màu. Quy trình kiểm thử này bao gồm các bước sau:
- Chụp ảnh cho tất cả các mẫu kiểm thử được hỗ trợ.
- Thực hiện kiểm tra tính chính xác đơn giản cho mẫu kiểm thử màu đồng nhất và thanh màu.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
Đạt: Các mẫu kiểm thử được hỗ trợ được tạo chính xác.
test_test_patterns_2.jpg
test_tonemap_curve
Thử nghiệm việc chuyển đổi mẫu thử nghiệm từ RAW sang YUV bằng tông màu tuyến tính. Quy trình kiểm thử này yêu cầu android.sensor.testPatternMode = 2
(COLOR_BARS) để tạo một mẫu hình ảnh hoàn hảo cho việc chuyển đổi bản đồ tông màu. Đảm bảo quy trình có đầu ra màu sắc phù hợp với bản đồ tông màu tuyến tính và đầu vào hình ảnh lý tưởng (dựa vào test_test_patterns
).
API đã được kiểm thử:
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_TEST_PATTERN_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Đạt: YUV và RAW trông giống nhau.
test_tonemap_curve_raw_2.jpg
test_tonemap_curve_yuv_2.jpg
test_unified_timestamp
Kiểm tra xem sự kiện cảm biến hình ảnh và chuyển động có nằm trong cùng một miền thời gian hay không.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.hardware.Sensor#TYPE_GYROSCOPE
Đạt: Dấu thời gian chuyển động nằm giữa hai dấu thời gian hình ảnh.
test_vibration_restriction
Kiểm tra xem tính năng rung của thiết bị có hoạt động như mong đợi hay không.
Các API đã kiểm thử:
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.os.Vibrator
android.hardware.camera2.CameraDevice#setCameraAudioRestriction
Đạt: Thiết bị không rung khi bị API hạn chế âm thanh của máy ảnh tắt tiếng.
scene1
scene1 là một biểu đồ màu xám. Biểu đồ màu xám phải bao phủ 30% trung tâm của trường nhìn của máy ảnh. Biểu đồ màu xám dự kiến sẽ thách thức 3A (tự động phơi sáng, tự động cân bằng trắng, tự động lấy nét) ở mức độ vừa phải vì vùng trung tâm không có đặc điểm nào. Tuy nhiên, yêu cầu chụp chỉ định toàn bộ cảnh, bao gồm các tính năng đủ để 3A hội tụ.
Máy ảnh RFoV có thể được kiểm tra trong WFoV hoặc thiết bị kiểm tra RFoV. Nếu máy ảnh RFoV được kiểm thử trong giàn thử nghiệm WFoV, thì biểu đồ sẽ được điều chỉnh theo tỷ lệ ⅔ để đảm bảo một số ranh giới cho biểu đồ màu xám trong FoV nhằm giúp 3A hội tụ. Để biết thêm thông tin chi tiết về các thiết bị thử nghiệm máy ảnh, hãy xem phần Camera ITS-in-a-box.
scene1: Biểu đồ ở kích thước đầy đủ (bên trái). Biểu đồ theo tỷ lệ ⅔ (bên phải).
test_ae_precapture_trigger
Kiểm thử máy trạng thái AE khi sử dụng điều kiện kích hoạt thu thập trước. Ghi lại 5 yêu cầu thủ công khi AE bị tắt. Yêu cầu cuối cùng có một trình kích hoạt trước khi chụp AE, bạn nên bỏ qua yêu cầu này vì AE bị tắt.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
Đạt: AE hội tụ.
test_auto_vs_manual
Các thử nghiệm chụp ảnh tự động và ảnh thủ công trông giống nhau.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
Đạt: Độ lợi và phép biến đổi cân bằng trắng thủ công được báo cáo trong mỗi kết quả chụp khớp với cân bằng trắng tự động estimate
từ thuật toán 3A của máy ảnh.
test_auto_vs_manual_auto.jpg
test_auto_vs_manual_wb.jpg
test_auto_vs_manual_manual_wb_tm.jpg
test_black_white
Kiểm thử để đảm bảo rằng thiết bị tạo ra ảnh đen trắng đầy đủ. Chụp hai lần, lần đầu có độ lợi cực thấp và thời gian phơi sáng ngắn, dẫn đến ảnh màu đen, lần thứ hai có độ lợi cực cao và thời gian phơi sáng dài, dẫn đến ảnh màu trắng.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Chuyển: Tạo hình ảnh đen trắng. Kênh bão hoà của hình ảnh màu trắng có giá trị RGB là [255, 255, 255] với biên độ sai số nhỏ hơn 1%.
test_black_white_black.jpg | test_black_white_white.jpg |
test_black_white_plot_means.png
test_burst_capture
Xác minh rằng toàn bộ quy trình chụp có thể bắt kịp tốc độ chụp đầy đủ kích thước và thời gian của CPU.
Các API đã kiểm thử:
Đạt: Chụp một loạt hình ảnh có kích thước đầy đủ, kiểm tra tình trạng giảm khung hình và độ sáng của hình ảnh.
test_burst_sameness_manual
Chụp 5 loạt 50 ảnh bằng chế độ cài đặt chụp thủ công và kiểm tra để đảm bảo rằng tất cả các ảnh đều giống hệt nhau. Bạn có thể dùng quy trình kiểm thử này để xác định xem có khung hình nào được xử lý theo cách khác hay có hiện tượng nhiễu hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR
android.hardware.camera2.CameraMetadata#SYNC_MAX_LATENCY_PER_FRAME_CONTROL
Đạt: Hình ảnh giống hệt nhau về mặt hình ảnh và giá trị RGB.
Không đạt: Cho thấy sự tăng đột biến hoặc giảm của biểu đồ trung bình RGB ở đầu mỗi đợt phát
- Dung sai là 3% đối với
first_API_level
< 30 - Dung sai là 2% đối với
first_API_level
>= 30
test_burst_sameness_manual_mean.jpg
test_burst_sameness_manual_plot_means.png
test_capture_result
Kiểm thử để đảm bảo dữ liệu hợp lệ được trả về trong các đối tượng CaptureResult
. Thực hiện tính năng chụp tự động,
thủ công và tự động.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Đạt: Siêu dữ liệu có hiệu lực đối với tất cả các lần ghi và chế độ cài đặt thủ công không rò rỉ vào lần chụp tự động thứ hai. Lập biểu đồ hiệu chỉnh độ bóng của ống kính cho các ảnh chụp.
test_capture_result_plot_lsc_auto_ch0.png
test_crop_region_raw
Kiểm thử để đảm bảo rằng các luồng RAW không thể cắt được.
API đã được kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureResult#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
Đạt: Hình ảnh YUV được cắt theo tâm nhưng không phải hình ảnh RAW.
test_crop_region_raw_comp_raw_crop.jpg
test_crop_region_raw_comp_raw_full.jpg
test_crop_region_raw_comp_yuv_crop.jpg
test_crop_region_raw_yuv_full.jpg
test_crop_regions
Kiểm thử để đảm bảo các vùng cắt hoạt động. Chụp ảnh đầy đủ và tạo từng mảng của 5 khu vực khác nhau (góc và trung tâm). Chụp ảnh với tập hợp cắt cho 5 vùng. So sánh các giá trị của bản vá và hình ảnh đã cắt.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
Đạt: Hình ảnh của vùng đã cắt khớp với miếng vá tương ứng với hình ảnh đã cắt.
test_dng_noise_model
Xác minh rằng các tham số mô hình thô DNG là chính xác. Biểu đồ mô tả độ biến thiên được đo lường của một mảng trung tâm của thẻ xám trong các ảnh thô được chụp trong một phạm vi độ nhạy, đồng thời so sánh các giá trị này với độ biến thiên dự kiến ở mỗi độ nhạy theo mô hình nhiễu DNG trong HAL máy ảnh (dựa trên các tham số O,S được trả về trong các đối tượng kết quả chụp). Để biết thêm thông tin chi tiết về mô hình nhiễu DNG, hãy tải tài liệu sau đây về Mô hình nhiễu DNG.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_NOISE_PROFILE
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Đạt: Các tham số mô hình thô DNG là chính xác. Giá trị RGB dự kiến khớp với giá trị RGB thực tế được đo lường.
test_dng_noise_model_plog.png
test_ev_com=b đền bù_nâng_cao
Kiểm thử để đảm bảo rằng giá trị bù phơi sáng (EV) được áp dụng. Quy trình kiểm thử này tăng cường độ sáng trong 8 bước và kiểm tra độ sáng được đo lường so với độ sáng dự kiến. Giá trị dự kiến được tính từ độ sáng của hình ảnh mà không áp dụng hệ số bù EV và giá trị dự kiến sẽ bão hoà nếu giá trị được tính vượt quá phạm vi giá trị hình ảnh thực tế. Kiểm thử không đạt nếu giá trị dự kiến và giá trị đo không khớp hoặc hình ảnh bị phơi sáng quá mức trong vòng 5 bước.
API đã được kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
Đạt: Hình ảnh cho thấy độ phơi sáng tăng lên mà không bị phơi sáng quá mức trong vòng 5 bước.
test_ev_compensation_advanced_plot_means.png
test_ev_combenation_basic
Kiểm thử để đảm bảo rằng hệ thống áp dụng tính năng bù EV bằng cách sử dụng một dải được tạo bằng CONTROL_AE_COMPENSATION_STEP
. 8 khung hình được chụp ở mỗi giá trị bù sáng.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
Đạt: Ảnh chụp tăng độ sáng khi tăng chế độ cài đặt bù EV và 8 khung hình được chụp cho mỗi chế độ cài đặt bù trừ điện thoại EV có giá trị độ sáng ổn định.
test_ev_com=benthuation_basic.png
test_exposure_x_iso
Kiểm thử để đạt được độ phơi sáng không đổi khi ISO và thời gian phơi sáng thay đổi. Chụp một loạt ảnh có ISO và thời gian phơi sáng được chọn để cân bằng lẫn nhau.
Kết quả phải có cùng độ sáng nhưng trong trình tự, hình ảnh sẽ trở nên nhiễu hơn. Xác minh các giá trị trung bình của pixel mẫu gần nhau. Đảm bảo rằng hình ảnh không bị kẹp ở mức 0 hoặc 1 (điều này sẽ khiến hình ảnh trông giống như các đường phẳng). Bạn cũng có thể chạy kiểm thử bằng hình ảnh RAW bằng cách đặt cờ debug
trong tệp cấu hình.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Đạt: Hình ảnh có cùng độ sáng, nhưng bị nhiễu hơn khi ISO cao hơn. Các mặt phẳng RGB sẽ phẳng khi giá trị của ISO*exposure không đổi trong không gian gain đã kiểm thử.
Cơ chế không thành công:
- Trong
test_exposure_plot_means.png
, khi giá trị hệ số lợi (trục x) tăng lên, giá trị trung bình của mặt phẳng RGB chuẩn hoá (trục y) bắt đầu sai lệch so với giá trị hệ số lợi thấp.
test_exposure_plot_means.png
test_exposure_mult=1.00.jpg | test_exposure_mult=64.00.jpg |
test_jpeg
Các thử nghiệm đã chuyển đổi hình ảnh YUV và hình ảnh JPEG của thiết bị trông giống nhau. Kiểm thử lấy 10% hình ảnh ở giữa và tính toán giá trị RGB, đồng thời xác minh rằng các giá trị này khớp nhau.
Các API đã kiểm thử:
Đạt: Độ chênh lệch RGB trung bình giữa mỗi hình ảnh dưới 3%.
test_jpeg_fmt=jpg.jpg | test_jpeg=fmt=yuv.jpg |
test_latching
Các hoạt động kiểm thử mà chế độ cài đặt (độ phơi sáng và độ nhiễu) nằm trên khung hình bên phải cho camera FULL
và LEVEL_3
. Chụp một loạt ảnh bằng các yêu cầu liên tiếp, thay đổi các tham số yêu cầu chụp giữa các ảnh. Kiểm tra để đảm bảo hình ảnh có các thuộc tính dự kiến.
Các API đã kiểm thử:
Đạt: Hình ảnh [2, 3, 6, 8, 10, 12, 13] đã tăng ISO hoặc độ phơi sáng và hiển thị với giá trị trung bình RGB cao hơn trên test_latching_plot_means.png
.
test_latching_i=00.jpg | test_latching_i=01.jpg | test_latching_i=02.jpg | |
test_latching_i=03.jpg | test_latching_i=04.jpg | test_latching_i=05.jpg | |
test_latching_i=06.jpg | test_latching_i=07.jpg | test_latching_i=08.jpg | |
test_latching_i=09.jpg | test_latching_i=10.jpg | test_latching_i=11.jpg | |
test_latching_i=12.jpg |
test_latching_plot_means.png
test_linearity
Các chương trình kiểm thử cho thấy quá trình xử lý thiết bị có thể đảo ngược thành pixel tuyến tính. Chụp một chuỗi ảnh bằng cách thiết bị hướng vào một mục tiêu đồng nhất.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#BLACK_LEVEL_LOCK
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Đạt: Giá trị R, G, B phải tăng theo tỷ lệ với độ nhạy tăng lên.
test_linearity_plot_means.png
test_locked_burst
Kiểm thử khoá 3A và chụp nhanh YUV (sử dụng chế độ cài đặt tự động). Bài kiểm thử này được thiết kế để vượt qua ngay cả trên các thiết bị có giới hạn không có MANUAL_SENSOR
hoặc PER_FRAME_CONTROLS
.
Quy trình kiểm tra này sẽ kiểm tra tính nhất quán của hình ảnh YUV trong khi quy trình kiểm tra tốc độ khung hình diễn ra ở bộ tính năng CTS.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
Đạt: Các ảnh chụp trông nhất quán.
test_locked_burst_frame0.jpg
test_lock_burst_frame1.jpg
test_locked_burst_frame2.jpg
test_param_color_correction
Kiểm thử để đảm bảo các tham số android.colorCorrection.*
được áp dụng khi được đặt.
Chụp ảnh với các giá trị biến đổi và độ lợi khác nhau, đồng thời kiểm tra để đảm bảo rằng các ảnh đó trông khác nhau tương ứng. Biến đổi và độ lợi được chọn để làm cho đầu ra ngày càng có màu đỏ hoặc xanh dương. Sử dụng sơ đồ tông màu tuyến tính. Ánh xạ tông màu là một kỹ thuật được dùng trong quá trình xử lý hình ảnh để liên kết một nhóm màu với một nhóm màu khác nhằm ước chừng giao diện của hình ảnh có dải động cao trong một phương tiện có dải động bị hạn chế hơn.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
Đạt: Giá trị R và B tăng theo phép biến đổi.
test_param_color_correction_plot_means.png
*Trục x là các yêu cầu chụp: 0 = thống nhất, 1=tăng cường màu đỏ, 2= tăng cường màu xanh dương
test_param_color_correction_req=0.jpg
test_param_color_correctness_req=1.jpg (Tăng cường R)
test_param_color_correct_req=2.jpg (tăng B)
chế_độ_thông_số_thử_nghiệm
Các chương trình kiểm thử áp dụng tham số android.flash.mode
. Đặt thủ công độ phơi sáng ở phía tối để biết rõ liệu đèn flash có được kích hoạt hay không và sử dụng bản đồ tông màu tuyến tính. Kiểm tra phần giữa bằng hình ảnh xếp kề để xem có hiệu ứng chuyển màu lớn được tạo hay không nhằm xác minh xem đèn flash có được kích hoạt hay không.
Các API đã kiểm thử:
Đạt: Trung tâm của hình ảnh thẻ thông tin có độ dốc lớn, nghĩa là đèn flash đã được kích hoạt.
test_param_flash_mode_1.jpg
test_param_flash_mode_1_tile.jpg
test_param_flash_mode_2.jpg
test_param_flash_mode_2_tile.jpg
thử nghiệm_thông_số_noise_reduction
Các lần kiểm thử rằng tham số android.noiseReduction.mode
được áp dụng chính xác khi được đặt. Chụp ảnh khi máy ảnh có ánh sáng yếu. Sử dụng mức tăng analog cao để đảm bảo hình ảnh chụp bị nhiễu. Chụp 3 hình ảnh để tắt NR, "nhanh" và "chất lượng cao". Ngoài ra, hãy chụp một hình ảnh có độ lợi thấp và tắt tính năng NR, đồng thời sử dụng độ biến thiên của hình ảnh này làm đường cơ sở. SNR (Tỷ lệ tín hiệu trên nhiễu) càng cao thì chất lượng ảnh càng tốt.
Các API đã kiểm thử:
Đạt: Tỷ lệ tín hiệu trên tạp âm thay đổi theo các chế độ giảm tạp âm và hoạt động tương tự như biểu đồ bên dưới.
test_param_noise_reduction_plot_SNRs.png
0: TẮT, 1: NHANH, 2: HQ, 3: MIN , 4: ZSL
test_param_noise_reduction_high_gain_nr=0.jpg
test_param_noise_reduction_high_gain_nr=1.jpg
test_param_noise_reduction_high_gain_nr=2.jpg
test_param_noise_reduction_high_gain_nr=3.jpg
test_param_noise_reduction_low_gain.jpg
test_param_shading_mode
Các chương trình kiểm thử áp dụng tham số android.shading.mode
.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
Đạt: Chế độ tô bóng sẽ được chuyển và bản đồ đổ bóng ống kính được sửa đổi như mong đợi.
test_param_shading_mode_ls_maps_mode_0_loop_0.png
test_param_shading_mode_ls_maps_mode_1_loop_0.png
test_param_shading_mode_ls_maps_mode_2_loop_0.png
test_param_tonemap_mode
Các chương trình kiểm thử áp dụng tham số android.tonemap.mode. Áp dụng các đường cong phối màu khác nhau cho từng kênh R, G, B và kiểm tra xem hình ảnh đầu ra có được sửa đổi như mong đợi không. Chương trình kiểm thử này bao gồm 2 chương trình kiểm thử là test1 và test2.
Các API đã kiểm thử:
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_CONTRAST_MODE
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_FAST
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Mật khẩu:
- test1: Cả hai hình ảnh đều có bản đồ tông màu tuyến tính, nhưng n=1 có độ dốc lớn hơn. Kênh G (xanh lục) sáng hơn cho hình ảnh n=1.
- test2: Cùng một bản đồ tông màu, nhưng thời lượng khác nhau. Hình ảnh giống nhau.
test_param_tonemap_mode_n=0.jpg | test_param_tonemap_mode_n=1.jpg |
test_post_raw_sensitivity_boost
Kiểm tra việc tăng độ nhạy sau khi RAW. Chụp một tập hợp các hình ảnh RAW và YUV có độ nhạy khác nhau, đăng tổ hợp tăng độ nhạy RAW và kiểm tra xem giá trị pixel đầu ra có khớp với các chế độ cài đặt yêu cầu hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Đạt: Hình ảnh RAW sẽ tối hơn khi mức tăng, trong khi hình ảnh YUV vẫn duy trì độ sáng
test_post_raw_sensitivity_boost_raw_s=3583_boost=0100.jpg
test_post_raw_sensitivity_boost_raw_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_raw_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_raw_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_raw_s=0224_boost=1600.jpg
test_post_raw_sensitivity_boost_raw_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_raw_plot_means.png
test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100.jpg
test_post_raw_sensitivity_boost_yuv_plot_means.png
test_raw_burst_sensitivity
Chụp một nhóm hình ảnh thô với độ lợi tăng dần và đo độ nhiễu. Chỉ chụp ảnh thô, theo chế độ chụp liên tiếp.
API đã được kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
Đạt: Mỗi cảnh quay có nhiều tạp âm hơn cảnh quay trước đó, vì độ lợi đang tăng lên.
Sử dụng phương sai của ô lưới thống kê trung tâm.
test_raw_burst_sensitivity_variance.png
test_raw_exposure
Chụp một tập hợp hình ảnh thô với thời gian phơi sáng tăng dần và đo lường giá trị pixel.
Các API đã kiểm thử:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
Đạt: Việc tăng ISO (tăng) giúp các pixel nhạy cảm hơn với ánh sáng, vì vậy, biểu đồ sẽ di chuyển về phía bên trái.
test_raw_exposure_s=55.png
(100 là 1 mili giây, 101 là 10 mili giây, 10−1 là 0,1 mili giây)
test_raw_exposur_s=132.png
test_raw_exposur_s=209.png
test_raw_exposure_s=286.png
test_raw_exposure_s=363.png
test_raw_exposure_s=440.png
độ nhạy_kiểm_tra
Chụp một tập hợp hình ảnh thô có độ nhạy tăng dần và đo độ nhiễu (chênh lệch) ở giữa là 10% hình ảnh. Kiểm thử để đảm bảo mỗi lần chụp đều có nhiều tạp âm hơn lần chụp trước.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
Đạt: Phương sai tăng lên theo từng lần chụp.
test_raw_sensitivity_variance.png
test_reprocess_noise_reduction
Các hoạt động kiểm thử mà android.noiseReduction.mode
được áp dụng cho các yêu cầu xử lý lại.
Chụp hình ảnh được xử lý lại với máy ảnh thiếu sáng. Sử dụng độ lợi tương tự cao để đảm bảo hình ảnh chụp bị nhiễu. Chụp 3 hình ảnh được xử lý lại, cho chế độ NR tắt, "nhanh" và "chất lượng cao". Chụp một hình ảnh được xử lý lại với độ lợi thấp và tắt tính năng Giảm nhiễu (NR), đồng thời sử dụng độ biến thiên của hình ảnh này làm đường cơ sở.
Các API đã kiểm thử:
Pass: FAST >= OFF, HQ >= FAST, HQ >> TẮT
Biểu đồ SNR điển hình so với NR_MODE
test_tonemap_sequence
Thử nghiệm một chuỗi cảnh quay có nhiều đường cong tông màu. Chụp 3 ảnh thủ công bằng bản đồ tông màu tuyến tính. Chụp 3 ảnh thủ công bằng bản đồ tông màu mặc định. Tính toán delta giữa mỗi cặp khung liên tiếp.
Các API đã kiểm thử:
Đạt: Có 3 khung hình giống hệt nhau, theo sau là một nhóm 3 khung hình giống hệt nhau khác.
test_tonemap_sequence_i=0.jpg
test_tonemap_sequence_i=1.jpg
test_tonemap_sequence_i=2.jpg
test_tonemap_sequence_i=3.jpg
test_tonemap_sequence_i=4.jpg
test_tonemap_sequence_i=5.jpg
test_yuv_jpeg_all
Kiểm thử để đảm bảo tất cả kích thước và định dạng được báo cáo cho tính năng chụp ảnh đều hoạt động. Sử dụng yêu cầu thủ công với bản đồ tông màu tuyến tính để YUV và JPEG trông giống nhau khi được mô-đun image_processing_utils
chuyển đổi. Theo mặc định, hình ảnh không được lưu, nhưng bạn có thể lưu bằng cách bật debug_mode
.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
Đạt: Tất cả các tâm hình ảnh đều có độ chênh lệch RMS (giá trị trung bình bình phương gốc của tín hiệu) tối đa trong hình ảnh được chuyển đổi RGB với 3% hình ảnh YUV có độ phân giải cao nhất.
test_yuv_jpeg_all.png
test_yuv_plus_dng
Kiểm thử để đảm bảo kích thước và định dạng được báo cáo cho tính năng chụp ảnh hoạt động.
Các API đã kiểm thử:
Đạt: Kiểm thử hoàn tất và trả về các hình ảnh được yêu cầu.
test_yuv_plus_dng.jpg
test_yuv_plus_jpeg
Các bài kiểm thử chụp một khung hình duy nhất ở dạng đầu ra cả YUV và JPEG. Sử dụng yêu cầu thủ công với bản đồ tông màu tuyến tính để YUV và JPEG trông giống nhau khi được mô-đun image_processing_utils
chuyển đổi.
API đã được kiểm thử:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
Đạt: Hình ảnh YUV và JPEG tương tự nhau và có chênh lệch RMS (giá trị trung bình bình phương gốc của tín hiệu) dưới 1%.
test_yuv_plus_jpg_jpg.jpg | test_yuv_plus_jpeg_yuv.jpg |
test_yuv_plus_raw
Kiểm thử việc chụp một khung hình dưới dạng cả đầu ra RAW/RAW10/RAW12 và YUV nếu được hỗ trợ. Sử dụng yêu cầu thủ công với bản đồ tông màu tuyến tính để dự kiến là dữ liệu thô và YUV sẽ giống nhau. So sánh các giá trị RGB 10% ở giữa của hình ảnh đã chuyển đổi RGB. Nhật kýandroid.shading.mode
.
Các API đã kiểm thử:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.hardware.graphics.ImageFormat#RAW10
android.hardware.graphics.ImageFormat#RAW12
Đạt: Hình ảnh YUV và hình ảnh thô tương tự nhau và có sự chênh lệch nhỏ hơn 3,5% RMS (giá trị trung bình bình phương gốc của tín hiệu).
test_yuv_plus_raw_shading=1_raw.jpg | test_yuv_plus_raw_shading=1_yuv.jpg |
cảnh 2_a
scene2_a có ba khuôn mặt với nền xám và trang phục trung tính. Những khuôn mặt này được chọn để có nhiều tông màu da. Biểu đồ phải có hướng đúng để tính năng phát hiện khuôn mặt hoạt động tối ưu.
scene2_a
test_autoframing
Kiểm thử hoạt động tự động lấy khung hình của thiết bị camera. Thực hiện thu phóng lớn để không có khuôn mặt nào trong cảnh hiển thị, bật chế độ tự động lấy khung hình bằng cách đặt AUTOFRAMING
trong CaptureRequest
thành True
và xác minh xem có thể phát hiện tất cả khuôn mặt trong cảnh ban đầu hay không khi trạng thái hội tụ (tức là khi AUTOFRAMING_STATE
trong CaptureResult
được đặt thành AUTOFRAMING_STATE_CONVERGED
).
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AUTOFRAMING_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING_STATE
Đạt: Cả 3 khuôn mặt đều được phát hiện.
test_display_p3
Kiểm thử tính năng chụp Display P3 ở định dạng JPEG bằng API ColorSpaceProfiles
. Kiểm thử để đảm bảo rằng JPEG đã chụp có hồ sơ ICC thích hợp trong tiêu đề và hình ảnh chứa các màu nằm ngoài gam màu sRGB.
Các API đã kiểm thử:
android.hardware.camera2.params.ColorSpaceProfiles
android.hardware.camera2.params.SessionConfiguration#setColorSpace
Đạt: Tệp JPEG chứa cấu hình ICC Display P3 và các màu nằm ngoài gam màu sRGB.
test_effects
Chụp khung hình cho các hiệu ứng máy ảnh được hỗ trợ và kiểm tra xem các hiệu ứng đó có được tạo đúng cách hay không. Quy trình kiểm thử chỉ kiểm tra các hiệu ứng OFF
và MONO
, nhưng lưu hình ảnh cho tất cả các hiệu ứng được hỗ trợ.
API đã được kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_EFFECTS
android.hardware.camera2.CaptureRequest#CONTROL_EFFECT_MODE
Chuyển: Chụp ảnh cảnh có hiệu ứng OFF
và ảnh đơn sắc với hiệu ứng được đặt thành MONO
.
test_effects_MONO.jpg
các_định_dạng_thử_nghiệm
Kiểm thử nhiều kiểu kết hợp định dạng đầu ra.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes()
android.hardware.camera2.CameraCaptureSession#captureBurst()
Đạt: Tất cả các tổ hợp đều được ghi lại thành công.
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm thấy 3 khuôn mặt.
test_num_faces_fd_mode_1.jpg
test_reprocess_uv_swap
Kiểm thử việc tái xử lý YUV không hoán đổi mặt phẳng U và V. Điều này được phát hiện bằng cách tính tổng chênh lệch tuyệt đối (SAD) giữa hình ảnh được xử lý lại và ảnh chụp không được xử lý lại. Nếu việc hoán đổi các mặt phẳng U và V đầu ra của ảnh chụp được xử lý lại làm tăng SAD, thì đầu ra được giả định là có các mặt phẳng U và V chính xác.
API đã được kiểm thử:
android.hardware.camera2.CameraDevice#createCaptureSession
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureResult#NOISE_REDUCTION_MODE
Đạt: Các mặt phẳng U và V không bị hoán đổi.
test_reprocess_uv_swap.png
cảnh 2_b
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt với nhiều màu da hơn trong các cảnh có khuôn mặt.
API đã được kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm thấy 3 khuôn mặt.
test_num_faces_fd_mode_1.jpg
test_yuv_jpeg_capture_sameness
Chụp 2 hình ảnh bằng các định dạng YUV và JPEG phổ biến nhất với cùng tỷ lệ khung hình với định dạng JPEG lớn nhất không vượt quá độ phân giải 1920x1440.
Đặt jpeg.quality
thành 100 và ghi lại yêu cầu về nền tảng kép. Chuyển đổi cả hai hình ảnh thành mảng RGB và tính toán chênh lệch trung bình bình phương căn bậc hai (RMS) 3D giữa hai hình ảnh.
Ngoài ra, quy trình kiểm thử này xác minh rằng đầu ra YUV cho tất cả các trường hợp sử dụng phát trực tuyến được hỗ trợ tương tự một cách hợp lý với YUV với trường hợp sử dụng STILL_CAPTURE
.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES
android.hardware.camera2.CaptureRequest#JPEG_QUALITY
android.graphics.ImageFormat#JPEG
Đạt: Hình ảnh YUV và JPEG cho trường hợp sử dụng STILL_CAPTURE
có chênh lệch RMS (giá trị trung bình bình phương gốc của tín hiệu) dưới 3%; hình ảnh YUV cho tất cả trường hợp sử dụng được hỗ trợ có chênh lệch RMS dưới 10% so với hình ảnh YUV với trường hợp sử dụng STILL_CAPTURE
.
scene2_c
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt với nhiều màu da hơn trong các cảnh có khuôn mặt.
API đã được kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm thấy 3 khuôn mặt.
test_num_faces_fd_mode_1.jpg
test_jpeg_capture_perf_class
Kiểm thử độ trễ chụp ảnh JPEG cho lớp hiệu suất S như quy định trong phần 2.2.7.2 Camera trong CDD.
Đạt: PHẢI có độ trễ chụp ảnh JPEG camera2 < 1000 mili giây đối với độ phân giải 1080p được đo bằng PerformanceTest của máy ảnh CTS trong điều kiện chiếu sáng ITS (3000K) cho cả hai máy ảnh chính.
test_camera_launch_perf_class
Kiểm thử độ trễ khởi chạy máy ảnh cho lớp hiệu suất S như được chỉ định trong mục 2.2.7.2 Máy ảnh trong CDD.
Đạt: PHẢI có độ trễ khởi động camera2 (mở camera đến khung hình xem trước đầu tiên) < 600 mili giây theo đo lường của PerformanceTest camera CTS trong điều kiện chiếu sáng ITS (3000K) cho cả hai camera chính.
test_default_camera_hdr
Các quy trình kiểm thử mà máy ảnh mặc định chụp là Ultra HDR cho hiệu suất cấp 15 như nêu trong mục 2.2.7.2 Camera của CDD.
Đạt: Tính năng chụp gói máy ảnh mặc định PHẢI là Ultra HDR đối với thiết bị thuộc lớp hiệu suất 15.
scene2_d
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt với nhiều màu da hơn trong các cảnh có khuôn mặt.
API đã được kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm thấy 3 khuôn mặt.
scene2_e
test_continuous_picture
50 khung hình có độ phân giải VGA được chụp bằng chế độ cài đặt yêu cầu chụp đầu tiên
android.control.afMode = 4 (CONTINUOUS_PICTURE).
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#CONTROL_AF_STATE
android.hardware.camera2.CaptureResult#CONTROL_AWB_STATE
Đạt: Hệ thống 3A ổn định khi kết thúc quá trình chụp 50 khung hình.
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt với nhiều màu da hơn trong các cảnh có khuôn mặt.
API đã được kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm 3 khuôn mặt.
cảnh_f
scene2_f có ba khuôn mặt với nền màu trắng và quần áo màu trắng. Khuôn mặt có nhiều tông màu da và độ tương phản cao với nền.
scene2_f
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt với nhiều màu da hơn trong các cảnh có khuôn mặt.
API đã được kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm thấy 3 khuôn mặt.
test_num_faces_fd_mode_1.jpg
scene3
Scene3 sử dụng biểu đồ ISO12233 và hầu hết các bài kiểm thử đều sử dụng phương thức trích xuất biểu đồ để tìm biểu đồ trong cảnh. Vì lý do này, hầu hết hình ảnh đã lưu không có đường viền như hình ảnh cho cảnh 1, 2 hoặc 4, mà chỉ có biểu đồ. Biểu đồ phải ở đúng hướng để trình tìm biểu đồ hoạt động một cách tối ưu.
nâng_cao_thử_nghiệm
Kiểm thử để đảm bảo thông số android.edge.mode
được áp dụng đúng cách. Ghi lại hình ảnh không qua xử lý lại cho mỗi chế độ cạnh và trả về độ sắc nét của hình ảnh đầu ra cũng như siêu dữ liệu kết quả chụp. Xử lý yêu cầu chụp bằng một chế độ cạnh, độ nhạy, thời gian phơi sáng, khoảng cách lấy nét và tham số bề mặt đầu ra nhất định.
Đạt: Chế độ HQ
(2) sắc nét hơn chế độ OFF
(0). Chế độ FAST
(1) sắc nét hơn
so với chế độ OFF
. Chế độ HQ
sắc nét hơn hoặc bằng chế độ FAST
.
Các API đã kiểm thử:
Các tham số máy ảnh bị ảnh hưởng:
EDGE_MODE
test_edge_enhancement_edge=0.jpg
test_edge_enhancement_edge=1.jpg (chế độ nhanh)
test_edge_enhancement_edge=2.jpg (chế độ chất lượng cao)
test_flip_mirror
Kiểm tra xem hình ảnh có được định hướng đúng cách theo mục 7.5.2 của CDD về Máy ảnh mặt trước [C-1-5] hay không.
Bạn có thể xác định hình ảnh được phản chiếu, lật hoặc xoay bằng tính năng hình kim cương gần trung tâm.
Đạt: Hình ảnh không bị lật, phản chiếu hoặc xoay.
test_flip_mirror_scene_patch.jpg
test_imu_drift
Kiểm thử xem đơn vị đo lường quán tính (IMU) có đầu ra ổn định trong 30 giây khi thiết bị đứng yên và chụp bản xem trước có độ phân giải cao hay không.
Các API đã kiểm thử:
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_GYROSCOPE
android.hardware.Sensor#TYPE_ROTATION_VECTOR
Mật khẩu:
- Độ lệch của con quay hồi chuyển ít hơn 0,01 rad trong thời gian thử nghiệm.
- Độ lệch của kết quả đọc con quay hồi chuyển nhỏ hơn 1E-7 rad2/s2/Hz trong thời gian kiểm thử.
- Độ lệch của vectơ xoay nhỏ hơn 0,01 rad trong thời gian kiểm thử.
- (Chưa bắt buộc) độ trôi của con quay hồi chuyển dưới 1 độ mỗi giây.
test_imu_drift_gyro_drift.pngS
test_imu_drift_rotation_vector_drift.png
test_landscape_to_portrait
Kiểm thử xem chế độ ghi đè từ ngang sang dọc có hoạt động đúng cách đối với các cảm biến hướng ngang hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES
android.hardware.camera2.CameraCharacteristics#SENSOR_ORIENTATION
android.hardware.camera2.CameraCharacteristics#getCameraCharacteristics
Đạt: Quy trình kiểm thử có thể tìm thấy biểu đồ có chế độ xoay dự kiến (0 độ khi chế độ ghi đè từ chế độ ngang sang dọc bị tắt, 90 độ khi được bật).
test_landscape_to_portrait.png
test_lens_movement_reporting
Kiểm tra xem cờ chuyển động của ống kính có được báo cáo đúng cách hay không. Chụp một loạt 24 hình ảnh với 12 khung hình đầu tiên ở khoảng cách lấy nét tối ưu (do 3A tìm thấy) và 12 khung hình cuối cùng ở khoảng cách lấy nét tối thiểu. Khoảng khung hình 12, ống kính di chuyển khiến độ sắc nét giảm. Cuối cùng, độ sắc nét sẽ ổn định khi kính di chuyển đến vị trí cuối cùng. Cờ chuyển động của ống kính phải được xác nhận trong tất cả các khung hình có độ sắc nét trung bình đến độ sắc nét trong vài khung hình đầu tiên với ống kính đứng yên ở khoảng cách tiêu cự tối ưu và vài khung hình cuối cùng mà ống kính đứng yên trong khoảng tiêu cự tối thiểu. Khung chính xác mà ống kính di chuyển không quan trọng: điều được kiểm tra là cờ chuyển động được xác nhận khi ống kính đang di chuyển.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#LENS_STATE
android.hardware.camera2.CaptureResult#LENS_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#LENS_FOCUS_DISTANCE
Đạt: Cờ chuyển động của ống kính là True
trong khung có sự thay đổi về độ sắc nét.
Cơ chế không thành công:
lens_moving: True
(android.hardware.camera2.CaptureResult#LENS_STATE
= 1) trongtest_log.DEBUG
chỉ được xác nhận trong các khung hình mà độ sắc nét không thay đổi.- Các khung hình có
lens_moving: False
(android.hardware.camera2.CaptureResult#LENS_STATE
= 0) trongtest_log.DEBUG
có độ sắc nét khác so với vài khung hình đầu tiên ở khoảng cách tiêu cự tối ưu hoặc vài khung hình cuối cùng ở khoảng cách tiêu cự tối thiểu.
test_reprocess_edge_enhancement
Kiểm tra xem các phương thức tái xử lý được hỗ trợ để cải tiến cạnh có hoạt động đúng cách hay không. Xử lý yêu cầu chụp bằng một chế độ cạnh xử lý lại nhất định và so sánh các chế độ chụp khác với chế độ cạnh xử lý lại bị tắt.
API đã được kiểm thử:
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureRequest#REPROCESS_EFFECTIVE_EXPOSURE_FACTOR
Đạt: Độ sắc nét cho các chế độ viền khác nhau là chính xác. HQ
(chế độ 2) sắc nét hơn OFF
(chế độ 0) và mức độ cải thiện giữa các chế độ cũng tương tự nhau.
test_reprocess_edge_enhancement_plot.png
scene4
Scene4 bao gồm một vòng tròn màu đen trên nền trắng bên trong một hình vuông.
Các kiểm thử trong scene4 có thể nhạy cảm với việc căn chỉnh, vì vậy, bắt đầu từ phiên bản 15, bạn có thể sử dụng check_alignment.py
trong thư mục công cụ để bật tính năng kiểm tra DUT và căn chỉnh biểu đồ.
scene4
test_30_60fps_preview_fov_match
Kiểm thử để đảm bảo video xem trước ở tốc độ 30 FPS và 60 FPS có cùng FoV. Quy trình kiểm thử sẽ quay hai video, một video có tốc độ 30 khung hình/giây và một video có tốc độ 60 khung hình/giây. Một khung hình đại diện được chọn từ mỗi video và được phân tích để đảm bảo rằng các thay đổi về FoV trong hai video nằm trong thông số kỹ thuật. Kiểm thử để đảm bảo rằng tỷ lệ khung hình của vòng tròn không đổi, tâm của vòng tròn giữ ổn định và bán kính của vòng tròn không đổi.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
Đạt: Hình ảnh không bị kéo giãn, tâm của hình ảnh không khác nhau quá 3% và tỷ lệ khung hình thay đổi tối đa giữa video 30 FPS và 60 FPS không quá 7,5%
Cơ chế không thành công:
- Vòng tròn từ video 30 khung hình/giây có sự khác biệt đáng kể về kích thước so với video 60 khung hình/giây.
- Vòng tròn trong hình ảnh đã chụp bị làm méo bởi quy trình xử lý.
- Vòng tròn trong hình ảnh đã chụp bị cắt do yêu cầu chụp tỷ lệ khung hình quá mức làm giảm chiều cao hoặc chiều rộng của hình ảnh.
- Vòng tròn trong ảnh đã chụp có hình phản chiếu ở chính giữa và không xuất hiện đầy đủ.
test_aspect_ratio_and_crop
Kiểm tra xem hình ảnh có bị méo hình hoặc bị cắt đột ngột trong quy trình hình ảnh hay không. Chụp ảnh một vòng tròn ở tất cả các định dạng. Xác minh vòng tròn không bị méo, vòng tròn không di chuyển khỏi tâm hình ảnh và vòng tròn không thay đổi kích thước một cách không chính xác theo nhiều tỷ lệ khung hình hoặc độ phân giải.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
Đạt: Hình ảnh không bị kéo giãn, trung tâm của hình ảnh không khác nhau quá 3% và FoV (góc nhìn) tối đa có thể được giữ nguyên.
Cơ chế không thành công:
- Máy ảnh không được căn chỉnh với vòng tròn hiển thị trên máy tính bảng ở giữa cảnh đã chụp.
- Vòng tròn trong hình ảnh được chụp bị méo do quy trình xử lý.
- Hình ảnh có độ phân giải thấp hơn được cắt hai lần trong quy trình xử lý hình ảnh, tạo ra FoV khác nhau giữa hình ảnh có độ phân giải cao và thấp.
- Vòng tròn trong hình ảnh đã chụp bị cắt do yêu cầu chụp tỷ lệ khung hình quá mức làm giảm chiều cao hoặc chiều rộng của hình ảnh.
- Hình tròn trong ảnh chụp có hình phản chiếu ở giữa và không được tô kín hoàn toàn.
test_multi_camera_alignment
Kiểm thử các thông số hiệu chuẩn máy ảnh liên quan đến vị trí đặt máy ảnh cho hệ thống nhiều máy ảnh. Sử dụng máy ảnh phụ vật lý nhiều máy ảnh, chụp ảnh bằng một trong các máy ảnh vật lý. Tìm tâm của hình tròn. Chiếu tâm vòng tròn lên toạ độ thế giới cho mỗi máy ảnh. So sánh sự khác biệt giữa tâm vòng tròn của các máy ảnh theo toạ độ thế giới. Dựng lại toạ độ thế giới về toạ độ pixel và so sánh với toạ độ gốc dưới dạng một bước kiểm tra tính hợp lệ. So sánh kích thước vòng tròn để kiểm tra xem tiêu cự của các máy ảnh có khác nhau hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraCharacteristics#LENS_DISTORTION
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_ROTATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_TRANSLATION
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
Đạt: Tâm và kích thước của vòng tròn như dự kiến trong hình ảnh được chiếu so với hình ảnh được chụp bằng dữ liệu hiệu chuẩn máy ảnh và tiêu cự.
Cơ chế không thành công:
LENS_INTRINSIC_CALIBRATION
,LENS_POSE_TRANSLATION
hoặcLENS_POSE_ROTATION
là các giá trị thiết kế chứ không phải dữ liệu hiệu chuẩn thực tế.- Hệ thống máy ảnh không phù hợp với chế độ thiết lập kiểm thử. Ví dụ: kiểm thử hệ thống camera góc rộng và góc siêu rộng bằng giàn thử nghiệm RFoV. Để biết thêm thông tin, hãy xem Câu hỏi thường gặp 1 về giải pháp ITS-in-a-box cho máy ảnh.
test_preview_aspect_ratio_and_crop
Tương tự như quy trình kiểm thử test_aspect_ratio_and_crop đối với ảnh tĩnh, quy trình kiểm thử này sẽ kiểm tra các định dạng xem trước được hỗ trợ để đảm bảo khung hình xem trước không bị kéo giãn hoặc cắt không phù hợp. Xác minh rằng tỷ lệ khung hình của vòng tròn không thay đổi, hình ảnh được cắt giữ vòng tròn ở giữa khung và kích thước vòng tròn không thay đổi đối với định dạng không đổi hoặc với độ phân giải khác nhau (kiểm tra trường nhìn).
API đã được kiểm thử:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Hình ảnh không bị kéo giãn, trung tâm của hình ảnh không khác nhau quá 3% và FoV (góc nhìn) tối đa có thể được giữ nguyên.
test_preview_stabilization_fov
Kiểm tra các kích thước xem trước được hỗ trợ để đảm bảo cắt FoV cho phù hợp.
Thử nghiệm này sẽ quay hai video, một video có tính năng chống rung khi xem trước ON
và một video khác có tính năng chống rung khi xem trước OFF
. Một khung hình đại diện được chọn từ mỗi video và được phân tích để đảm bảo rằng các thay đổi về FoV trong hai video nằm trong thông số kỹ thuật.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Tỷ lệ khung hình của vòng tròn vẫn giữ nguyên, vị trí trung tâm của vòng tròn vẫn ổn định và kích thước của vòng tròn thay đổi không quá 20%.
test_video_aspect_ratio_and_crop
Quay video có một hình tròn bên trong một hình vuông trên tất cả các định dạng video. Trích xuất các khung chính và xác minh rằng tỷ lệ khung hình của vòng tròn không thay đổi, hình ảnh bị cắt sẽ giữ cho vòng tròn ở chính giữa và kích thước vòng tròn không thay đổi theo định dạng không đổi hoặc có độ phân giải khác (kiểm tra trường nhìn).
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Khung hình video không bị kéo giãn, tâm của khung hình không khác nhau quá 3% và FoV (góc nhìn) tối đa có thể được giữ nguyên.
scene5
Scene5 yêu cầu một cảnh màu xám được chiếu sáng đồng đều. Điều này được thực hiện bằng một bộ khuếch tán đặt trên ống kính máy ảnh. Bạn nên dùng bộ khuếch tán sau:
www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168
.
Để chuẩn bị cảnh quay, hãy gắn một bộ khuếch tán ánh sáng ở phía trước máy ảnh và hướng máy ảnh về phía nguồn sáng có độ sáng khoảng 2000 lux. Hình ảnh được chụp cho cảnh 5 yêu cầu ánh sáng khuếch tán mà không có đặc điểm rõ ràng. Sau đây là hình ảnh mẫu:
cảnh quay 5
test_lens_shading_and_color_uniformity
Kiểm thử để đảm bảo rằng tính năng chỉnh sửa bóng của ống kính được áp dụng đúng cách và màu sắc của cảnh đồng nhất đơn sắc được phân phối đồng đều. Thực hiện kiểm thử này trên khung YUV với 3A tự động. Hiệu ứng đổ bóng ống kính được đánh giá dựa trên kênh y. Đo lường giá trị y trung bình cho mỗi khối mẫu được chỉ định và xác định đạt hoặc không đạt bằng cách so sánh với giá trị y ở giữa. Kiểm thử độ đồng nhất màu được đánh giá trong không gian r/g và b/g.
API đã được kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
Đạt: Tại bán kính đã chỉ định của hình ảnh, độ biến thiên của giá trị r/g và b/g phải nhỏ hơn 20% để vượt qua bài kiểm thử.
cảnh 6
Scene6 là một lưới gồm các vòng tròn nhỏ với một hình vuông ở một góc để cho biết hướng. Bạn cần có các vòng tròn nhỏ để kiểm thử chức năng thu phóng trên một phạm vi lớn.
Các kiểm thử trong scene6 có thể nhạy cảm với việc căn chỉnh, vì vậy, bắt đầu từ phiên bản 15, bạn có thể sử dụng check_alignment.py
trong thư mục công cụ để bật tính năng kiểm tra DUT và căn chỉnh biểu đồ.
cảnh 6
test_in_sensor_zoom
Kiểm thử hành vi của tính năng thu phóng trong cảm biến của máy ảnh, tạo ra hình ảnh RAW đã cắt.
Với trường hợp sử dụng luồng được đặt thành CROPPED_RAW
, quy trình kiểm thử sẽ chụp hai lần trong phạm vi thu phóng, một hình ảnh RAW có trường nhìn đầy đủ (FoV) và một hình ảnh RAW đã cắt. Quy trình kiểm thử này chuyển đổi hình ảnh thành mảng RGB, giảm kích thước hình ảnh RAW đã cắt ở kích thước đầy đủ xuống kích thước do SCALER_RAW_CROP_REGION
báo cáo và tính toán chênh lệch trung bình gốc vuông (RMS) 3D giữa hai hình ảnh.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#SCALER_RAW_CROP_REGION
Đạt: Chênh lệch trung bình vuông gốc (RMS) của 3D giữa hình ảnh RAW bị cắt theo tỷ lệ và hình ảnh RAW đầy đủ nhỏ hơn ngưỡng đặt trong thử nghiệm.
thử_thu phóng
Kiểm thử hành vi thu phóng của máy ảnh. Chụp ảnh trong phạm vi thu phóng và kiểm tra xem vòng tròn có lớn hơn khi máy ảnh phóng to hay không. Đối với mỗi định dạng (YUV, JPEG), cùng một phiên chụp ảnh sẽ được dùng để hội tụ 3A và chụp ảnh.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
Đạt: Kích thước tương đối của vòng tròn được chụp chính xác so với tỷ lệ thu phóng được yêu cầu để đảm bảo máy ảnh đang thu phóng chính xác.
test_zoom để tìm đường bao của vòng tròn gần tâm nhất.
test_low_latency_zoom
Kiểm thử hành vi thu phóng có độ trễ thấp của máy ảnh. Chụp ảnh trong phạm vi thu phóng bằng android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM)
và kiểm tra xem các vòng tròn trong hình ảnh đầu ra có khớp với tỷ lệ thu phóng trong siêu dữ liệu chụp hay không. Cùng một phiên chụp ảnh bằng máy ảnh được dùng để hội tụ 3A và chụp ảnh.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_SETTINGS_OVERRIDES
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_SETTINGS_OVERRIDE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#CONTROL_SETTINGS_OVERRIDE
Đạt: Kích thước tương đối của vòng tròn được chụp là chính xác so với siêu dữ liệu kết quả về tỷ lệ thu phóng.
test_preview_video_zoom_match
Kiểm thử để đảm bảo rằng trong khi quay video và thu phóng, bản xem trước video và đầu ra video sẽ hiển thị và ghi lại cùng một kết quả. Tính toán kích thước của vòng tròn gần tâm nhất ở các tỷ lệ thu phóng khác nhau và kiểm tra xem kích thước của vòng tròn có tăng lên khi tỷ lệ thu phóng tăng lên hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
Đạt: Kích thước tương đối của vòng tròn được chụp chính xác so với tỷ lệ thu phóng yêu cầu trong video và bản xem trước.
VGA_640x480_key_frame.png (trước khi thu phóng)
preview_640x480_key_frame.png (trước khi thu phóng)
VGA_640x480_key_frame.png (sau khi thu phóng)
preview_640x480_key_frame.png (sau khi thu phóng)
test_preview_zoom
Kiểm thử tỷ lệ thu phóng của mỗi khung xem trước khớp với siêu dữ liệu chụp tương ứng. Quy trình kiểm thử sẽ lấy các khung xem trước trong phạm vi thu phóng và tìm đường viền của vòng tròn gần tâm nhất. Sau đó, kiểm thử sẽ kiểm tra để đảm bảo rằng vòng tròn đã chọn lớn hơn và tâm của vòng tròn di chuyển ra khỏi tâm của hình ảnh khi máy ảnh thu phóng.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
Đạt: Kích thước tương đối của vòng tròn đã chọn là chính xác đối với tỷ lệ thu phóng được báo cáo của kết quả chụp tương ứng cho tất cả các khung xem trước. Khoảng cách tương đối của vòng tròn đã chọn tính từ tâm hình ảnh là chính xác đối với tỷ lệ thu phóng được báo cáo của kết quả chụp tương ứng của tất cả các khung xem trước.
hình ảnh test_preview_zoom hiển thị vòng tròn đã chọn gần tâm nhất
test_session_characteristics_zoom
Kiểm thử phạm vi tỷ lệ thu phóng cho tất cả cấu hình phiên được hỗ trợ liệt kê trong CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
.
Đối với mỗi cấu hình đó, nếu CameraDeviceSetup#isSessionConfigurationSupported
trả về giá trị true, thì quy trình kiểm thử sẽ xác minh rằng bạn có thể đạt được phạm vi tỷ lệ thu phóng được trả về trong CameraDeviceSetup#getSessionCharacteristics
.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
android.hardware.camera2.CameraDevice.CameraDeviceSetup#isSessionConfigurationSupported
android.hardware.camera2.CameraDevice.CameraDeviceSetup#getSessionCharacteristics
Đạt: Bạn có thể đạt được cả tỷ lệ thu phóng tối thiểu và tối đa cho từng SessionConfiguration
được hỗ trợ nêu trong CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
.
cảnh 7
Scene7 là một khung hình chữ nhật được chia thành 4 góc phần tư bằng nhau, mỗi góc được tô một màu riêng. Ở giữa hình chữ nhật là biểu đồ cạnh nghiêng để kiểm tra độ sắc nét. Bốn điểm đánh dấu ArUco được căn chỉnh với bốn góc ngoài của hình chữ nhật để hỗ trợ lấy toạ độ chính xác của khung hình chữ nhật chính ở các tỷ lệ thu phóng khác nhau.
scene7
test_multi_camera_switch
Thử nghiệm này xác minh rằng trong quá trình quay video xem trước ở nhiều tỷ lệ thu phóng, việc chuyển đổi giữa ống kính siêu rộng (UW) và ống kính rộng (W) sẽ mang lại các giá trị RGB tương tự nhau.
Quy trình kiểm thử sử dụng nhiều tỷ lệ thu phóng trong phạm vi đã xác định trước để thực hiện việc quay video xem trước động và xác định thời điểm máy ảnh thực thay đổi. Điểm này đánh dấu điểm chuyển đổi từ ống kính UW sang ống kính W.
Các khung hình được chụp tại và trước điểm chuyển đổi được phân tích để biết độ phơi sáng tự động (AE), cân bằng trắng tự động (AWB) và tự động lấy nét (AF).
Tính năng kiểm tra AE đảm bảo rằng độ thay đổi độ sáng nằm trong phạm vi dự kiến cho cả hình ảnh của ống kính UW và W. Quá trình kiểm tra AWB xác minh rằng tỷ lệ R/G và B/G nằm trong giá trị ngưỡng cho cả hình ảnh ống kính UW và W. Tính năng kiểm tra AF đánh giá giá trị ước tính độ sắc nét dựa trên cường độ chuyển màu trung bình giữa hình ảnh của ống kính UW và W.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.media.CamcorderProfile
android.media.MediaRecorder
Đạt: Để kiểm thử đạt, tất cả các bước kiểm tra AE, AWB và AF đều phải đạt. Sau đây là tiêu chí cho từng bước kiểm tra:
- Kiểm tra AE: Độ thay đổi độ sáng giữa hình ảnh của ống kính UW và W phải nhỏ hơn 0,5%.
- Kiểm tra AWB: Sự khác biệt giữa các giá trị R/G và B/G cho hình ảnh của ống kính UW và W phải nhỏ hơn 0,5%.
- Kiểm tra lấy nét tự động: Sự thay đổi độ sắc nét giữa hình ảnh ống kính UW và W phải nhỏ hơn 2%.
scene8
Cảnh 8 là một khung hình chữ nhật được chia thành 4 vùng bằng nhau, mỗi vùng chứa một bức ảnh chân dung được chụp với độ phơi sáng khác nhau hoặc được phủ một màu sắc khác nhau (màu xanh dương, độ phơi sáng tăng, độ phơi sáng giảm, bóng màu vàng). Bốn điểm đánh dấu ArUco được căn chỉnh với bốn góc ngoài của hình chữ nhật để lấy toạ độ chính xác của khung hình chữ nhật chính.
scene8
các_khu_vực_test_ae_awb
Kiểm thử sự khác biệt về giá trị RGB và luma khi xem trước bản ghi ở các vùng tự động phơi sáng (AE) và cân bằng trắng tự động (AWB) khác nhau.
Bài kiểm thử này ghi lại bản ghi xem trước 8 giây, thực hiện đo sáng AE và AWB trên mỗi góc phần tư trong hai giây mỗi góc. Sau đó, quy trình kiểm thử sẽ trích xuất một khung hình từ bản ghi xem trước của từng khu vực và sử dụng các khung đã trích xuất để thực hiện các bước kiểm tra AE và AWB sau đây:
- Kiểm tra AE: Xác minh rằng khung hình đo sáng khu vực có độ phơi sáng giảm có giá trị luma tăng hơn 1% so với khung hình đo sáng khu vực có độ phơi sáng tăng. Điều này xác minh rằng hình ảnh được làm sáng khi đo sáng một vùng tối.
- Kiểm tra AWB: Xác minh rằng tỷ lệ màu đỏ so với màu xanh dương (trong giá trị RGB trung bình của hình ảnh) trong khung có vùng đo sáng màu xanh dương cao hơn 2% so với khung có vùng đo sáng màu vàng. Điều này xác minh rằng hình ảnh có giá trị RGB cân bằng khi đo sáng một vùng màu vàng (ấm) hoặc màu xanh dương (lạnh).
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONS
android.hardware.camera2.CameraCharacteristics#CONTROL_MAX_REGIONS_AE
android.hardware.camera2.CameraCharacteristics#CONTROL_MAX_REGIONS_AWB
Đạt: Cả hai quy trình kiểm tra AE và AWB đều đạt.
scene9
Scene9 bao gồm hàng nghìn vòng tròn có kích thước và màu sắc ngẫu nhiên để tạo một cảnh có khả năng lặp lại rất thấp nhằm nhấn mạnh các thuật toán nén JPEG.
cảnh 9
test_jpeg_high_entropy
Kiểm thử tính năng nén JPEG của máy ảnh trên scene9 với độ hỗn loạn cao và hệ số chất lượng JPEG được đặt thành 100%. Hệ số thu phóng được tăng lên để đảm bảo cảnh hiển thị trên máy tính bảng lấp đầy trường nhìn của máy ảnh.
API đã được kiểm thử:
Đạt: Tệp JPEG được nén đúng cách, ghi và đọc lại từ ổ đĩa.
test_jpeg_quality
Kiểm tra chất lượng nén ảnh JPEG của máy ảnh. Bước chất lượng JPEG thông qua android.jpeg.quality
và đảm bảo Bảng lượng tử hoá thay đổi chính xác.
Các API đã kiểm thử:
Đạt: Ma trận lượng tử hoá giảm khi chất lượng tăng. (Ma trận biểu thị hệ số chia.)
Độ sáng trung bình của ma trận DQT/sắc độ của camera sau trên Pixel 4 so với chất lượng JPEG
Ví dụ về kiểm thử không thành công
Xin lưu ý rằng đối với hình ảnh có chất lượng rất thấp (jpeg.quality < 50), mức độ nén trong ma trận lượng tử hoá sẽ không tăng lên.
scene_video
Cảnh scene_video
là một cảnh video. Ảnh này bao gồm 4 vòng tròn có màu khác nhau di chuyển qua lại ở các tốc độ khung hình khác nhau trên nền trắng.
scene_video
thử nghiệm_xem trước_khung_hình_drop
Kiểm thử để đảm bảo tốc độ khung hình xem trước được yêu cầu được duy trì với cảnh động. Quy trình kiểm tra này chạy trên tất cả các máy ảnh tiếp xúc với các ứng dụng bên thứ ba.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGE
android.media.CamcorderProfile
android.media.MediaRecorder
Đạt: Tốc độ khung hình xem trước ở mức tối đa trong phạm vi tốc độ khung hình được yêu cầu và độ biến thiên trung bình giữa các khung hình liên tiếp nhỏ hơn dung sai tương đối được đặt trong kiểm thử.
scene_extensions
Các kiểm thử scene_extensions
dành cho tiện ích máy ảnh và phải sử dụng Camera ITS-in-a-Box vì các kiểm thử này yêu cầu kiểm soát chính xác môi trường kiểm thử. Ngoài ra, bạn phải kiểm soát mọi tình trạng rò rỉ ánh sáng. Điều này có thể yêu cầu bạn phải che thiết bị thử nghiệm, thiết bị được kiểm thử (DUT) và máy tính bảng bằng vải chống thấm cũng như loại bỏ tình trạng rò rỉ ánh sáng từ màn hình trước của DUT.
scene_hdr
Cảnh scene_hdr
bao gồm một bức chân dung ở bên trái và một mã QR có độ tương phản thấp ở bên phải.
scene_hdr
test_hdr_extension
Kiểm thử tiện ích HDR. Chụp ảnh có và không bật tiện ích, đồng thời kiểm tra xem tiện ích có giúp phát hiện mã QR dễ dàng hơn hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
Đạt: Tiện ích HDR làm giảm số lần thay đổi độ tương phản cần thiết để phát hiện mã QR hoặc giảm độ dốc trên mã QR.
scene_low_light
Cảnh scene_low_light
bao gồm một lưới hình vuông có nhiều sắc độ màu xám trên nền đen và lưới hình vuông được liên kết bằng đường viền màu đỏ. Các hình vuông được sắp xếp theo hướng đường cong Hilbert.
cảnh_sáng_thấp
tiện_ích_ban_đêm
Kiểm thử tiện ích ban đêm. Chụp ảnh khi bật tiện ích và thực hiện các thao tác sau:
- Phát hiện sự hiện diện của 20 hình vuông
- Tính toán độ chói được giới hạn bởi mỗi hình vuông
- Tính toán giá trị luma trung bình của 6 hình vuông đầu tiên theo hướng lưới đường congHilbert
- Tính toán chênh lệch về giá trị luma của các hình vuông liên tiếp (ví dụ: hình vuông 2 – hình vuông 1) cho đến hình vuông 5 và 6 (hình vuông 6 – hình vuông 5) rồi tìm trung bình cộng của 5 chênh lệch đã tính.
Các API đã kiểm thử:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
Đạt: Giá trị luma trung bình của 6 hình vuông đầu tiên phải ít nhất là 85, và mức chênh lệch trung bình về giá trị luma của các hình vuông liên tiếp cho đến hình vuông 5 và 6 phải ít nhất là 17.
Biểu đồ độ chói sau đây cho thấy kết quả kiểm thử đạt yêu cầu.
test_low_light_boost_extension
Kiểm thử chế độ Tăng cường ánh sáng yếu AE. Nếu Camera2 hỗ trợ chế độ AE tăng cường ánh sáng yếu, thì thử nghiệm này sẽ được thực hiện cho Camera2. Nếu tiện ích máy ảnh ở chế độ ban đêm được hỗ trợ và tiện ích đó hỗ trợ chế độ AE tăng cường ánh sáng yếu, thì quá trình kiểm thử này cũng sẽ được thực hiện cho tiện ích máy ảnh ở chế độ ban đêm. Quy trình kiểm thử này đặt chế độ AE thành tăng cường ánh sáng yếu, lấy một khung hình từ bản xem trước và thực hiện các thao tác sau:
- Phát hiện sự hiện diện của 20 hộp
- Tính toán độ sáng được giới hạn bởi mỗi hộp
- Tính toán giá trị luma trung bình của 6 hình vuông đầu tiên theo hướng lưới đường congHilbert
- Tính toán chênh lệch về giá trị luma của các hình vuông liên tiếp (ví dụ: hình vuông 2 – hình vuông 1) cho đến hình vuông 5 và 6 (hình vuông 6 – hình vuông 5) rồi tìm trung bình cộng của 5 chênh lệch đã tính.
API đã được kiểm thử:
android.hardware.camera2.CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES
android.hardware.camera2.CameraMetadata#CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
Đạt: Giá trị luma trung bình của 6 ô đầu tiên phải ít nhất là 70, và mức chênh lệch trung bình về giá trị luma của các ô liên tiếp cho đến ô 5 và 6 phải ít nhất là 17.
scene_flash
Các thử nghiệm scene_flash
yêu cầu cảnh tối trong hộp hợp nhất cảm biến.
kiểm tra_tự động_flash
Các quá trình kiểm thử cho thấy tính năng flash tự động được kích hoạt trong cảnh tối cho máy ảnh mặt sau và mặt trước. Đối với máy ảnh mặt trước, tính năng flash tự động sử dụng màn hình để chiếu sáng cảnh, chứ không phải đơn vị đèn flash thực. Quy trình kiểm thử xác minh rằng tính năng tự động bật đèn flash được kích hoạt bằng cách kiểm tra để đảm bảo rằng trung tâm của hình ảnh xếp kề sáng hơn khi bật tính năng tự động bật đèn flash. Để kích hoạt tính năng tự động flash, bạn phải tắt đèn trong thiết bị kiểm thử. Bạn có thể tắt đèn tự động bằng bộ điều khiển Arduino. Cảnh phải hoàn toàn tối để quy trình kiểm thử hoạt động chính xác. Bạn phải cài đặt Ứng dụng máy ảnh Jetpack (JCA) trên thiết bị trước khi kiểm thử. Tính năng tự động bật đèn flash cho camera sau dựa vào trạng thái AE để kích hoạt, nhưng tính năng tự động bật đèn flash cho camera trước không dựa vào AE và luôn được kích hoạt.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureRequest#FLASH_MODE
Đạt: Trung tâm của hình ảnh xếp kề có bật tính năng tự động bật đèn flash sáng hơn hình ảnh cảnh gốc đối với tất cả máy ảnh.
test_flash_strength
Kiểm thử để đảm bảo rằng chế độ kiểm soát cường độ đèn flash ở chế độ SINGLE
được triển khai đúng cách.
Xác minh rằng nếu thiết bị hỗ trợ tính năng kiểm soát cường độ đèn flash trong khi sử dụng máy ảnh ở chế độ SINGLE
, thì cường độ đèn flash sẽ thay đổi theo các mức cường độ được yêu cầu. Xác minh rằng tính năng kiểm soát cường độ đèn flash hoạt động với nhiều AE_MODES
.
Ví dụ: nếu chế độ tự động phơi sáng là ON
hoặc OFF
, thì cường độ đèn flash sẽ ảnh hưởng đến độ sáng và nếu chế độ là ON_AUTO_FLASH
, thì cường độ đèn flash sẽ không ảnh hưởng đến độ sáng.
Để tiến hành kiểm thử, bạn phải tắt đèn trong giàn thử nghiệm. Bạn có thể tự động tắt đèn bằng bộ điều khiển Arduino.
Cảnh phải hoàn toàn tối để kiểm thử hoạt động chính xác.
API đã được kiểm thử:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_SINGLE_STRENGTH_MAX_LEVEL
Đạt:
Khi chế độ tự động phơi sáng là ON
hoặc OFF
, độ sáng của các mảng hình ảnh sẽ tăng lên khi mức độ mạnh của đèn flash tăng từ không có đèn flash đến FLASH_SINGLE_STRENGTH_MAX_LEVEL
.
Khi chế độ phơi sáng tự động là ON_AUTO_FLASH
, độ chênh lệch về độ sáng của các mảng hình ảnh sẽ nằm trong phạm vi dung sai vì mức độ cường độ đèn flash tăng từ không có đèn flash lên FLASH_SINGLE_STRENGTH_MAX_LEVEL
.
test_led_snapshot
Kiểm tra để đảm bảo ảnh chụp nhanh bằng đèn LED không làm bão hoà hoặc phủ màu hình ảnh.
Bài kiểm thử này thêm một bộ điều khiển ánh sáng vào hộp hợp nhất cảm biến để kiểm soát ánh sáng. Khi đèn được đặt thành OFF
, bài kiểm thử sẽ chụp ảnh với chế độ AUTO_FLASH
được đặt thành ON
. Trong quá trình chụp này, chương trình kiểm thử sẽ chạy một trình tự chụp trước với điều kiện kích hoạt aePrecapture
được đặt thành START
và đặt ý định chụp thành Preview
để chụp ảnh bằng đèn flash.
Vì ảnh chụp có một điểm nóng đặc biệt do đèn flash, nên quy trình kiểm thử sẽ tính toán giá trị trung bình của hình ảnh đèn flash trong toàn bộ ảnh chụp và xác minh xem giá trị đó có nằm trong phạm vi (68, 102) hay không. Để kiểm tra xem hình ảnh có cân bằng trắng hợp lý hay không, quy trình kiểm thử sẽ tính toán tỷ lệ R/G và B/G, đồng thời xác minh xem các tỷ lệ này có nằm trong khoảng từ 0,95 đến 1,05 hay không.
API đã được kiểm thử:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#FLASH_MODE
Đạt: Tỷ lệ R/G và B/G nằm trong khoảng từ 0,95 đến 1,05. Giá trị trung bình của hình ảnh chụp bằng đèn flash nằm trong phạm vi (68, 102).
tỷ lệ_xem trước_tối_nhất
Kiểm thử để đảm bảo tốc độ khung hình xem trước giảm chính xác trong cảnh tối. Để quy trình kiểm thử này hoạt động chính xác, bộ điều khiển phải tắt đèn trong giàn thử nghiệm hoặc người vận hành thử nghiệm phải tắt đèn theo cách thủ công.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGE
android.media.CamcorderProfile
android.media.MediaRecorder
Đạt: Tốc độ khung hình xem trước ở mức tối thiểu trong phạm vi tốc độ khung hình được yêu cầu và độ biến thiên giữa các khung hình nhỏ hơn dung sai tuyệt đối được đặt trong kiểm thử.
test_torch_strength
Kiểm thử để đảm bảo rằng chế độ kiểm soát cường độ đèn flash ở chế độ TORCH
được triển khai đúng cách.
Xác minh rằng nếu thiết bị hỗ trợ tính năng kiểm soát cường độ đèn flash trong khi sử dụng máy ảnh ở chế độ TORCH
, thì cường độ đèn pin sẽ thay đổi theo các mức cường độ được yêu cầu. Xác minh rằng tính năng kiểm soát độ mạnh đèn flash hoạt động với các AE_MODES
khác nhau.
Ví dụ: nếu chế độ tự động phơi sáng là ON
hoặc OFF
, thì cường độ đèn flash sẽ ảnh hưởng đến độ sáng và nếu chế độ là ON_AUTO_FLASH
, thì cường độ đèn flash sẽ không ảnh hưởng đến độ sáng.
Xác minh rằng độ mạnh đèn pin không thay đổi trong suốt thời gian chụp liên tục, mô phỏng một phiên quay video. Để tiến hành kiểm thử, bạn phải tắt đèn trong thiết bị kiểm thử. Bạn có thể tự động tắt đèn bằng trình điều khiển Arduino. Cảnh phải hoàn toàn tối để kiểm thử hoạt động chính xác.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_TORCH_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_TORCH_STRENGTH_MAX_LEVEL
Mật khẩu:
Khi chế độ phơi sáng tự động là ON
hoặc OFF
, độ sáng của các mảng ảnh liên tục tăng lên khi mức độ sáng đèn flash tăng từ không có đèn flash lên FLASH_TORCH_STRENGTH_MAX_LEVEL
.
Khi chế độ phơi sáng tự động là ON_AUTO_FLASH
, sự khác biệt về độ sáng của các mảnh chụp liên tục nằm trong dung sai vì mức độ cường độ đèn flash tăng từ không có flash lên FLASH_TORCH_STRENGTH_MAX_LEVEL
.
cảm_biến_hợp_nhất
Kiểm thử hợp nhất cảm biến yêu cầu chuyển động điện thoại cụ thể trước mẫu bàn cờ và điểm đánh dấu ArUco. Để có kết quả tối ưu, hãy đảm bảo rằng biểu đồ kiểm thử được gắn phẳng. Các biểu đồ không phẳng ảnh hưởng đến việc tính toán độ xoay cho nhiều bài kiểm thử. Biểu đồ phải lấp đầy mặt sau của hộp kết hợp cảm biến bằng cách in ở kích thước 17"x17" (43x43 cm). Bạn có thể tự động hoá các bài kiểm thử sensor_fusion
bằng Sensor Fusion Box (Hộp kết hợp cảm biến).
Biểu đồ hợp nhất cảm biến
Biểu đồ hợp nhất cảm biến lấp đầy mặt sau của hộp hợp nhất cảm biến
test_lens_intrinsic_calibration
Kiểm thử để đảm bảo tâm quang học của ống kính nội tại thay đổi khi ống kính di chuyển do tính năng ổn định hình ảnh quang học (OIS). Nếu các mẫu nội tại của ống kính được hỗ trợ, hãy kiểm tra xem tâm quang học của mẫu nội tại của ống kính thay đổi khi ống kính di chuyển nhờ tính năng ổn định hình ảnh quang học (OIS).
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Tâm quang học của ống kính thay đổi nội tại từ một pixel trở lên. Nếu mẫu nội tại của ống kính được hỗ trợ, thì tâm quang của mẫu nội tại của ống kính sẽ thay đổi ít nhất một điểm ảnh.
Ví dụ về biểu đồ test_lens_intrinsic_calibration
cho thấy sự thay đổi của các điểm chính tính bằng pixel cho mỗi khung hình
test_multi_camera_frame_sync
Kiểm thử để đảm bảo dấu thời gian khung hình do máy ảnh logic chụp nằm trong khoảng 10 ms bằng cách tính toán các góc của hình vuông trong bàn cờ để xác định dấu thời gian.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.params.OutputConfiguration#setPhysicalCameraId()
Đạt: Góc giữa hình ảnh từ mỗi máy ảnh không thay đổi đáng kể khi điện thoại được xoay.
test_preview_distortion
Kiểm thử để đảm bảo rằng sự méo hình được khắc phục trong mỗi khung xem trước được chụp ở nhiều mức thu phóng. Đối với mỗi khung xem trước, quy trình kiểm thử tính toán các điểm lý tưởng dựa trên hàm nội tại và ngoại vị của máy ảnh. Trong hình ảnh ví dụ, các điểm lý tưởng được hiển thị bằng màu xanh lục; các điểm thực tế được hiển thị bằng màu đỏ. Lỗi méo được tính toán dựa trên khoảng cách pixel trung bình gốc (RMS) giữa các điểm thực tế và điểm lý tưởng. Vùng sáng màu xanh lục và màu đỏ trên hình ảnh được dùng để phát hiện khu vực bị lỗi méo hình trực quan.
Hình ảnh bàn cờ với các điểm lý tưởng có màu xanh lục và các điểm thực tế có màu đỏ
API đã được kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.media.CamcorderProfile
android.media.MediaRecorder
Đạt: Lỗi méo được chuẩn hoá của mỗi khung xem trước nhỏ hơn ngưỡng được đặt trong kiểm thử.
test_preview_stabilization
Kiểm thử video xem trước được ổn định xoay ít hơn so với con quay hồi chuyển.
API đã được kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Góc xoay tối đa trên các khung hình nhỏ hơn 70% góc xoay của con quay hồi chuyển.
Sau đây là các video mẫu có và không có tính năng ổn định.
Video mẫu với tính năng chống rung
Video mẫu không có tính năng ổn định
test_sensor_fusion
Kiểm thử sự khác biệt về dấu thời gian giữa máy ảnh và con quay hồi chuyển cho các ứng dụng AR và VR. Điện thoại được xoay 90 độ 10 lần trước mẫu bàn cờ. Chuyển động bay khứ hồi khoảng 2 giây. Quy trình kiểm thử này sẽ bị bỏ qua nếu không có con quay hồi chuyển hoặc nếu bạn không bật tham số REALTIME
nguồn dấu thời gian.
Kiểm thử test_sensor_fusion
tạo ra một số biểu đồ. Hai biểu đồ quan trọng nhất để gỡ lỗi là:
test_sensor_fusion_gyro_events
: Hiển thị các sự kiện con quay hồi chuyển cho điện thoại trong quá trình kiểm thử. Việc chuyển động theo hướng x và y ngụ ý rằng điện thoại không được gắn một cách an toàn trên giá treo, giúp giảm xác suất vượt qua quá trình kiểm thử. Số chu kỳ trong biểu đồ phụ thuộc vào tốc độ ghi để lưu khung hình.test_sensor_fusion_gyro_events
test_sensor_fusion_plot_rotations
: Cho biết cách căn chỉnh con quay hồi chuyển và sự kiện máy ảnh. Biểu đồ này phải cho thấy chuyển động khớp giữa máy ảnh và con quay hồi chuyển trong khoảng +/-1 ms.test_sensor_fusion_plot_rotations
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#LENS_FACING
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CameraMetadata#SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureRequest#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
Đạt: Độ lệch của dấu thời gian của camera và con quay hồi chuyển nhỏ hơn 1 ms theo mục 7.3.9 của CDD về cảm biến có độ chân thực cao [C-2-14].
Cơ chế không thành công:
- Lỗi chênh lệch: Độ lệch của máy ảnh-con quay hồi chuyển không được hiệu chỉnh chính xác trong khoảng +/-1 mili giây.
- Thiếu khung hình: Quy trình không đủ nhanh để chụp 200 khung hình liên tiếp.
- Lỗi ổ cắm:
adb
không thể kết nối đáng tin cậy với DUT đủ lâu để thực thi kiểm thử. - Biểu đồ không được gắn phẳng. Biểu đồ
test_sensor_fusion_plot_rotations
có các khung hình trong đó con quay hồi chuyển và góc xoay của máy ảnh thay đổi đáng kể khi máy ảnh xoay qua các phần không phẳng của biểu đồ. - Máy ảnh không được gắn phẳng. Biểu đồ
test_sensor_fusion_gyro_events
cho thấy chuyển động trong mặt phẳng X và Y. Lỗi này thường gặp hơn ở máy ảnh mặt trước vì máy ảnh sau thường có một gờ nổi lên trên phần còn lại của thân điện thoại, tạo ra độ nghiêng khi gắn mặt sau của điện thoại vào giá treo.
test_video_stabilization
Kiểm thử video được ổn định xoay ít hơn so với con quay hồi chuyển.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Độ xoay góc tối đa trên khung hình nhỏ hơn 60% độ xoay của con quay hồi chuyển.
Sau đây là các video mẫu có và không có tính năng ổn định.
Video mẫu với tính năng chống rung
Mẫu video chưa được ổn định
feature_combination
Các hoạt động kiểm thử feature_combination
xác minh rằng các tính năng hoạt động đúng cách khi bạn bật nhiều tính năng máy ảnh cùng lúc. Các chương trình kiểm thử này sử dụng cùng một hình ảnh bàn cờ được dùng trong cảnh kết hợp cảm biến.
test_feature_combination
Kiểm thử tất cả các tổ hợp kết hợp luồng, tính năng ổn định bản xem trước, phạm vi FPS mục tiêu, video HDR 10 bit và Ultra HDR mà thiết bị máy ảnh hỗ trợ. Việc kiểm thử này tốn rất nhiều bộ nhớ, vì vậy, bạn nên sử dụng một máy chủ lưu trữ có ít nhất 128 GB RAM.
Đối với Android 15 trở lên, tệp cấu hình bao gồm trường log_feature_combo_support
, mặc định là False
. Khi bạn đặt trường log_feature_combo_support
thành True
, quy trình kiểm thử sẽ chạy mọi tổ hợp tính năng được hỗ trợ và ghi kết quả vào tệp proto mà không vượt qua quá trình kiểm thử. Để kiểm thử tính tuân thủ, bạn phải đặt trường log_feature_combo_support
thành False
.
Các API đã kiểm thử:
android.hardware.camera2.CameraDevice.CameraDeviceSetup#isSessionConfigurationSupported
android.hardware.camera2.CameraDevice.CameraDeviceSetup#createCaptureRequest
Đạt: Đối với mỗi tổ hợp tính năng được hỗ trợ:
- Luồng xem trước sẽ được ổn định nếu tính năng ổn định bản xem trước đang bật.
- Tốc độ khung hình xem trước nằm trong
AE_TARGET_FPS_RANGE
đã định cấu hình. - Hệ màu của luồng bản xem trước được ghi lại khớp với màu được thiết lập.
- Ảnh chụp Ultra HDR có bản đồ khuếch đại hợp lệ.