Kiểm tra ITS cho máy ảnh

Trang này cung cấp danh sách đầy đủ các bài kiểm thử trong Bộ kiểm thử hình ảnh của máy ảnh (ITS). Bộ kiểm thử này là một phần của Trình xác minh Bộ kiểm thử khả năng tương thích với Android (CTS). 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à là 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.

Cổng ITS của máy ảnh kiểm thử 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
  • scene1: Độ 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 bài kiểm thử 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_combination: Tổ hợp tính năng

Hãy xem từng phần để biết nội dung mô tả về từng cảnh.

scene0

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 đứng yên để kiểm thử con quay hồi chuyển và độ rung.

test_jitter

Đo độ trễ trong dấu thời gian của máy ảnh.

Các API đã kiểm thử:

Đạt: Có ít nhất 30 ms chênh lệch giữa các khung hình.

test_jitter_plot.png

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à các đố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ử:

Đạ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ử:

Đạt: Yêu cầu và ghi lại các giá trị siêu dữ liệu khớp trên tất cả các cảnh quay.

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à từ kế. 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: Nhận được sự kiện cho mỗi cảm biến.

test_solid_color_test_pattern

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 không hỗ trợ tính năng tắt tiếng máy ảnh, thì các mẫu kiểm thử màu đồng nhất chỉ được kiểm thử nếu tính năng này đượ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 những máy ảnh không hỗ trợ hình ảnh RAW, chỉ màu đen mới được kiểm thử.

Các API đã kiểm thử:

Đạ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:

  1. Chụp ảnh cho tất cả các mẫu kiểm thử được hỗ trợ.
  2. 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ử:

Đạt: Các mẫu kiểm thử được hỗ trợ được tạo chính xác.

test_test_patterns_2

test_test_patterns_2.jpg

test_tonemap_curve

Kiểm thử việc chuyển đổi mẫu kiểm thử từ RAW sang YUV bằng bản đồ 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).

Các API đã kiểm thử:

Đạt: YUV và RAW trông giống nhau.

test_tonemap_curve_raw_2

test_tonemap_curve_raw_2.jpg

test_tonemap_curve_yuv_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ử:

Đạ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ử:

Đạt: Thiết bị không rung khi bị tắt tiếng bằng API hạn chế âm thanh của máy ảnh.

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 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ụ.

Bạn có thể kiểm thử máy ảnh RFoV trong WFoV hoặc thiết bị kiểm thử 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

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 trình kích hoạt trước khi chụp. 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ử:

Đạt: AE hội tụ.

test_auto_vs_manual

Các thử nghiệm chụp ảnh tự động và thủ công trông giống nhau.

Các API đã kiểm thử:

Đạ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

test_auto_vs_manual_auto.jpg

test_auto_vs_manual_wb

test_auto_vs_manual_wb.jpg

test_auto_vs_manual_manual_wb_tm

test_auto_vs_manual_manual_wb_tm.jpg

test_black_white

Kiểm thử để đảm bảo thiết bị tạo ra hình ả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ử:

Chuyển: Tạo hình ảnh đen trắng. Các kênh bão hoà của hình ảnh trắng có giá trị RGB là [255, 255, 255] với biên độ sai số dưới 1%.

test_black_white_black test_black_white_black
test_black_white_black.jpg test_black_white_white.jpg

test_black_white_plot_means

test_black_white_plot_means.png

test_burst_capture

Xác minh rằng toàn bộ quy trình chụp có thể theo kịp tốc độ chụp ở kích thước đầy đủ và thời gian CPU.

Các API đã kiểm thử:

Chuyển: Chụp một loạt hình ảnh ở kích thước đầy đủ, kiểm tra tình trạng bỏ khung hình và độ sáng 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ử:

Đạ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

test_burst_sameness_manual_mean.jpg

test_burst_sameness_manual_plot_means

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ử:

Đạt: Siêu dữ liệu hợp lệ cho tất cả các lần chụp và chế độ cài đặt thủ công không bị 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

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.

Các API đã kiểm thử:

Đạ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

test_crop_region_raw_comp_raw_crop.jpg

test_crop_region_raw_comp_raw_full

test_crop_region_raw_comp_raw_full.jpg

test_crop_region_raw_comp_yuv_crop

test_crop_region_raw_comp_yuv_crop.jpg

test_crop_region_raw_yuv_full

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 toàn bộ hình ảnh và tạo các bản vá của 5 vùng khác nhau (góc và giữa). Chụp hình ảnh với chế độ cắt đượ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ử:

Đạ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ố của 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ử:

Đạ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

test_dng_noise_model_plog.png

test_ev_compensation_advanced

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 độ phơi 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.

Các API đã kiểm thử:

Đạ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

test_ev_compensation_advanced_plot_means.png

test_ev_compensation_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ử:

Đạt: 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ù EV có giá trị độ sáng ổn định.

test_ev_compensation_basic

test_ev_compensation_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 theo 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ử:

Đạ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 phẳng khi giá trị của ISO*exposure không đổi trên không gian gain đã kiểm thử.

Cơ chế không đạt:

  • Trong test_exposure_plot_means.png, khi giá trị hệ số tăng (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ố tăng thấp.

test_exposure_plot_means

test_exposure_plot_means.png

test_exposure_mult=1.00 test_exposure_mult=64.00
test_exposure_mult=1.00.jpg test_exposure_mult=64.00.jpg

test_jpeg

Kiểm thử hình ảnh YUV đã chuyển đổi 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_jpeg_fmt=jpg.jpg test_jpeg=fmt=yuv.jpg

test_latching

Kiểm thử các chế độ cài đặt (độ phơi sáng và độ lợi) trên khung bên phải cho máy ảnh FULLLEVEL_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=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=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=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=09.jpg test_latching_i=10.jpg test_latching_i=11.jpg
test_latching_i=12.jpg
test_latching_i=12.jpg

test_latching_plot_means

test_latching_plot_means.png

test_linearity

Kiểm thử để đảm bảo rằng quá trình xử lý thiết bị có thể được đảo ngược thành pixel tuyến tính. Ghi lại một trình tự các cảnh quay bằng cách hướng thiết bị vào một mục tiêu đồng nhất.

Các API đã kiểm thử:

Đạt: Giá trị R, G, B phải tăng tuyến tính khi độ nhạy tăng.

test_linearity_plot_means

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 thử này 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 nằm trong CTS.

Các API đã kiểm thử:

Đạt: Các ảnh chụp trông nhất quán.

test_locked_burst_frame0

test_locked_burst_frame0.jpg

test_locked_burst_frame1

test_locked_burst_frame1.jpg

test_locked_burst_frame2

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 bản đồ 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ử:

Đạt: Giá trị R và B tăng lên theo phép biến đổi.

test_param_color_correction_plot_means

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

test_param_color_correction_req=0.jpg

test_param_color_correctness_req=1

test_param_color_correctness_req=1.jpg (Tăng cường R)

test_param_color_correction_req=2

test_param_color_correction_req=2.jpg (Tăng cường B)

test_param_flash_mode

Kiểm thử việc á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

test_param_flash_mode_1.jpg

test_param_flash_mode_1_tile

test_param_flash_mode_1_tile.jpg

test_param_flash_mode_2

test_param_flash_mode_2.jpg

test_param_flash_mode_2_tile

test_param_flash_mode_2_tile.jpg

test_param_noise_reduction

Kiểm thử để đảm bảo thông số android.noiseReduction.mode được áp dụng đúng cách khi được đặt. Chụp ảnh khi máy ảnh có ánh sáng yếu. Sử dụng độ lợi tương tự cao để đảm bảo hình ảnh được chụp bị nhiễu. Chụp 3 hình ảnh, cho chế độ NR tắt, "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 nhiễu) càng cao thì chất lượng hình ả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

test_param_noise_reduction_plot_SNRs.png

0: TẮT, 1: NHANH, 2: CAO, 3: TỐI THIỂU , 4: ZSL

test_param_noise_reduction_high_gain_nr=0

test_param_noise_reduction_high_gain_nr=0.jpg

test_param_noise_reduction_high_gain_nr=1

test_param_noise_reduction_high_gain_nr=1.jpg

test_param_noise_reduction_high_gain_nr=2

test_param_noise_reduction_high_gain_nr=2.jpg

test_param_noise_reduction_high_gain_nr=3

test_param_noise_reduction_high_gain_nr=3.jpg

test_param_noise_reduction_low_gain

test_param_noise_reduction_low_gain.jpg

test_param_shading_mode

Kiểm thử việc áp dụng tham số android.shading.mode.

Các API đã kiểm thử:

Đạt: Chế độ tô bóng được chuyển đổi và bản đồ tô bóng của ống kính được sửa đổi như dự kiến.

test_param_shading_mode_ls_maps_mode_0_loop_0

test_param_shading_mode_ls_maps_mode_0_loop_0.png

test_param_shading_mode_ls_maps_mode_1_loop_0

test_param_shading_mode_ls_maps_mode_1_loop_0.png

test_param_shading_mode_ls_maps_mode_2_loop_0

test_param_shading_mode_ls_maps_mode_2_loop_0.png

test_param_tonemap_mode

Kiểm thử để đảm bảo tham số android.tonemap.mode được áp dụng. Áp dụng các đường cong bản đồ tông màu khác nhau cho từng kênh R, G, B và kiểm tra để đảm bảo rằng hình ảnh đầu ra được sửa đổi như mong đợi. Bài kiểm thử này bao gồm hai bài kiểm thử, test1 và test2.

Các API đã kiểm thử:

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 đối với hình ảnh n=1.
  • test2: Cùng một bản đồ tông màu, nhưng có độ dài khác nhau. Hình ảnh giống hệt nhau.
test_param_tonemap_mode_n=0.jpg test_param_tonemap_mode_n=1.jpg
test_param_tonemap_mode_n=0.jpg test_param_tonemap_mode_n=1.jpg

test_post_raw_sensitivity_boost

Kiểm tra độ nhạy của ảnh RAW sau khi tăng. Chụp một tập hợp hình ảnh RAW và YUV với độ nhạy khác nhau, đăng tổ hợp tăng độ nhạy RAW và kiểm tra xem trung bình pixel đầu ra có khớp với chế độ cài đặt yêu cầu hay không.

Các API đã kiểm thử:

Đạt: Hình ảnh RAW sẽ tối hơn khi độ tăng tăng lên, trong khi hình ảnh YUV vẫn giữ nguyên độ sáng

test_post_raw_sensitivity_boost_raw_s=3583_boost=0100

test_post_raw_sensitivity_boost_raw_s=3583_boost=0100.jpg

test_post_raw_sensitivity_boost_raw_s=1792_boost=0200

test_post_raw_sensitivity_boost_raw_s=1792_boost=0200.jpg

test_post_raw_sensitivity_boost_raw_s=0896_boost=0400

test_post_raw_sensitivity_boost_raw_s=0896_boost=0400.jpg

test_post_raw_sensitivity_boost_raw_s=0448_boost=0800

test_post_raw_sensitivity_boost_raw_s=0448_boost=0800.jpg

test_post_raw_sensitivity_boost_raw_s=0224_boost=1600

test_post_raw_sensitivity_boost_raw_s=0224_boost=1600.jpg

test_post_raw_sensitivity_boost_raw_s=0112_boost=3199

test_post_raw_sensitivity_boost_raw_s=0112_boost=3199.jpg

test_post_raw_sensitivity_boost_raw_plot_means

test_post_raw_sensitivity_boost_raw_plot_means.png

test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199

test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199.jpg

test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800

test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg

test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400

test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400.jpg

test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200

test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200.jpg

test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100

test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100.jpg

test_post_raw_sensitivity_boost_yuv_plot_means

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.

Các API đã kiểm thử:

Đạ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 số liệu thống kê trung tâm.

test_raw_burst_sensitivity_variance

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ử:

Đạt: Việc tăng ISO (mức tăng) giúp các pixel nhạy cảm hơn với ánh sáng, do đó, đồ thị sẽ di chuyển sang trái.

test_raw_exposure_s=55

test_raw_exposure_s=55.png

(10⁰ là 1 ms, 10¹ là 10 ms, 10⁻¹ là 0,1 ms)

test_raw_exposure_s=132

test_raw_exposure_s=132.png

test_raw_exposure_s=209

test_raw_exposure_s=209.png

test_raw_exposure_s=286

test_raw_exposure_s=286.png

test_raw_exposure_s=363

test_raw_exposure_s=363.png

test_raw_exposure_s=440

test_raw_exposure_s=440.png

test_raw_sensitivity

Chụp một tập hợp hình ảnh thô với độ nhạy tăng dần và đo độ nhiễu (hệ số biến thiên) ở 10% hình ảnh ở giữa. 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ử:

Đạt: Phương sai tăng lên theo từng lần chụp.

test_raw_sensitivity_variance

test_raw_sensitivity_variance.png

test_reprocess_noise_reduction

Kiểm thử android.noiseReduction.mode được áp dụng để xử lý lại các yêu cầu. Chụp ảnh được xử lý lại khi máy ảnh có ánh sáng yếu. 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ử:

Đạt: FAST >= OFF, HQ >= FAST, HQ >> OFF

Biểu đồ SNR điển hình so với NR_MODE

Biểu đồ SNR điển hình so với NR_MODE

test_tonemap_sequence

Kiểm thử một chuỗi ảnh chụp với các đường cong bản đồ tông màu khác nhau. 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 hình 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

test_tonemap_sequence_i=0.jpg

test_tonemap_sequence_i=1

test_tonemap_sequence_i=1.jpg

test_tonemap_sequence_i=2

test_tonemap_sequence_i=2.jpg

test_tonemap_sequence_i=3

test_tonemap_sequence_i=3.jpg

test_tonemap_sequence_i=4

test_tonemap_sequence_i=4.jpg

test_tonemap_sequence_i=5

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 sẽ không được lưu, nhưng bạn có thể lưu hình ảnh bằng cách bật debug_mode.

Các API đã kiểm thử:

Đạ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

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

test_yuv_plus_dng.jpg

test_yuv_plus_jpeg

Kiểm thử việc chụp một khung hình dưới dạng cả đầu ra 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.

Các API đã kiểm thử:

Đạ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_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 giá trị RGB 10% ở giữa của hình ảnh được chuyển đổi RGB. Nhật kýandroid.shading.mode.

Các API đã kiểm thử:

Đạt: Hình ảnh YUV và hình ảnh thô 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 3,5%.

test_yuv_plus_raw_shading=1_raw.jpg test_yuv_plus_raw_shading=1_yuv.jpg
test_yuv_plus_raw_shading=1_raw.jpg test_yuv_plus_raw_shading=1_yuv.jpg

scene2_a

scene2_a có ba khuôn mặt với nền xám và trang phục trung tính. Các khuôn mặt đượ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

scene2_a

test_autoframing

Kiểm thử hành vi tự động lấy khung hình của thiết bị máy ảnh. 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ử:

Đạ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ử:

Đạ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 chính xác hay không. Quy trình kiểm thử chỉ kiểm tra các hiệu ứng OFFMONO, nhưng lưu hình ảnh cho tất cả các hiệu ứng được hỗ trợ.

Các API đã kiểm thử:

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

test_effects_MONO.jpg

test_format_combos

Kiểm thử nhiều kiểu kết hợp định dạng đầu ra.

Các API đã kiểm thử:

Đạ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ử:

Đạt: Tìm thấy 3 khuôn mặt.

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_reprocess_uv_swap

Kiểm thử để đảm bảo rằng quá trình xử lý lại YUV không hoán đổi các 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.

Các API đã kiểm thử:

Đạt: Các mặt phẳng U và V không bị hoán đổi.

test_reprocess_uv_swap

test_reprocess_uv_swap.png

scene2_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.

Các API đã kiểm thử:

Đạt: Tìm thấy 3 khuôn mặt.

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_yuv_jpeg_capture_sameness

Chụp hai hình ảnh bằng các định dạng YUV và JPEG phổ biến lớn nhất có 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 luồng được hỗ trợ đều tương tự như YUV với trường hợp sử dụng STILL_CAPTURE.

Các API đã kiểm thử:

Đạ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.

Các API đã kiểm thử:

Đạt: Tìm thấy 3 khuôn mặt.

test_num_faces_fd_mode_1

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ư được chỉ định trong mục 2.2.7.2 Máy ảnh 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 camera 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 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

Kiểm thử để đảm bảo rằng chế độ chụp mặc định của máy ảnh là Ultra HDR cho lớp hiệu suất 15 như được chỉ định trong mục 2.2.7.2 Máy ảnh 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.

Các API đã kiểm thử:

Đạ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ử:

Đạ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.

Các API đã kiểm thử:

Đạt: Tìm thấy 3 khuôn mặt.

scene2_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.png

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.

Các API đã kiểm thử:

Đạt: Tìm thấy 3 khuôn mặt.

test_num_faces_fd_mode_1

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 để công cụ tìm biểu đồ hoạt động tối ưu.

test_edge_enhancement

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 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

test_edge_enhancement_edge=0.jpg

test_edge_enhancement_edge=1

test_edge_enhancement_edge=1.jpg (chế độ nhanh)

test_edge_enhancement_edge=2

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 giữa hình ảnh.

Đạt: Hình ảnh không bị lật, phản chiếu hoặc xoay.

test_flip_mirror_scene_patch

test_flip_mirror_scene_patch.jpg

test_imu_drift

Kiểm tra xem đơn vị đo lường quán tính (IMU) có đầu ra ổn định trong 30 giây hay không trong khi thiết bị đứng yên và chụp bản xem trước có độ phân giải cao.

Các API đã kiểm thử:

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 chỉ số 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) độ lệch của con quay hồi chuyển dưới 1 độ/giây.

test_imu_drift_gyro_drift.png

test_imu_drift_gyro_drift.png

test_imu_drift_rotation_vector_drift.png

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 cho các cảm biến hướng ngang hay không.

Các API đã kiểm thử:

Đạt: Kiểm thử có thể xác định vị trí của một biểu đồ có độ xoay dự kiến (0 độ khi chế độ ghi đè từ ngang sang dọc bị tắt, 90 độ khi chế độ này được bật).

test_landscape_to_portrait

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. Bạn nên xác nhận cờ chuyển động của ống kính 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 với ống kính đứng yên ở khoảng cách 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ử:

Đạ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) trong test_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) trong test_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 thử xem các phương thức xử lý lại được hỗ trợ để tăng cường 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.

Các API đã kiểm thử:

Đạt: Độ sắc nét cho các chế độ cạnh 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

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

scene4

test_30_60fps_preview_fov_match

Kiểm thử để đảm bảo rằng 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 tỷ lệ khung hình của vòng tròn không đổi, tâm của vòng tròn vẫn ổn định và bán kính của vòng tròn không đổi.

Các API đã kiểm thử:

Đạ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:

  • Kích thước của vòng tròn trong video 30 khung hình/giây khác biệt đáng kể so với video 60 khung hình/giây.
  • Vòng tròn trong hình ảnh được chụp bị méo do quy trình xử lý.
  • Vòng tròn trong hình ảnh được chụp bị cắt do yêu cầu chụp có tỷ lệ khung hình cực đại làm giảm chiều cao hoặc chiều rộng của hình ảnh.
  • Vòng tròn trong hình ảnh được chụp có hình ảnh phản chiếu ở giữa và không được tô kín hoàn toàn.

test_aspect_ratio_and_crop

Kiểm thử xem hình ảnh có bị biến dạng hoặc bị cắt ngoài dự kiến trong quy trình xử lý hình ảnh hay không. Chụp ảnh một vòng tròn trên tất cả định dạng. Xác minh rằng vòng tròn không bị méo, không di chuyển khỏi tâm hình ảnh và không thay đổi kích thước không chính xác với các tỷ lệ khung hình hoặc độ phân giải khác nhau.

Các API đã kiểm thử:

Đạ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 ở chính giữa cảnh được 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 đôi 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 được chụp bị cắt do yêu cầu chụp có tỷ lệ khung hình cực đại làm giảm chiều cao hoặc chiều rộng của hình ảnh.
  • Vòng tròn trong hình ảnh được chụp có hình ả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 vòng tròn. Ánh xạ tâm vòng tròn đế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 trở lại toạ độ pixel và so sánh với toạ độ gốc dưới dạng một quy trình 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ử:

Đạ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ặc LENS_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 máy ảnh 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ư kiểm thử test_aspect_ratio_and_crop cho ảnh tĩ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 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).

Các API đã kiểm thử:

Đạ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 FoV được cắt bớt phù hợp. Thử nghiệm này sẽ quay hai video, một video có tính năng ổn định khi xem trước ON và một video khác có tính năng ổn định 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ử:

Đạ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 một vòng tròn bên trong một hình vuông trên tất cả định dạng video. Trích xuất các khung hình chính và xác minh 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 và kích thước vòng tròn không thay đổi đối với định dạng không đổi hoặc có độ phân giải khác nhau (kiểm tra trường nhìn).

Các API đã kiểm thử:

Đạ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 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:

scene5

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 hình YUV có 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 giá trị đạt hoặc không đạt bằng cách so sánh với giá trị y trung tâm. Kiểm thử độ đồng nhất màu được đánh giá trong không gian r/g và b/g.

Các API đã kiểm thử:

Đạ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ử.

scene6

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 chương trình 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 đồ.

scene6

scene6

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ử:

Đạt: Độ lệch trung bình gốc (RMS) 3D giữa hình ảnh RAW được cắt theo tỷ lệ và hình ảnh RAW FoV đầy đủ nhỏ hơn ngưỡng được đặt trong kiểm thử.

test_zoom

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 các vòng tròn có lớn hơn khi máy ảnh thu phóng 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ử:

Đạ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

test_zoom để tìm đường viền của vòng tròn gần trung 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 được dùng để hội tụ 3A và chụp ảnh.

Các API đã kiểm thử:

Đạt: Kích thước tương đối của vòng tròn được chụp chính xác so với siêu dữ liệu kết quả 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ử:

Đạ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 trong video và bản xem trước.

VGA_640x480_key_frame.png

VGA_640x480_key_frame.png (trước khi phóng to)

preview_640x480_key_frame.png

preview_640x480_key_frame.png (trước khi thu phóng)

VGA_640x480_key_frame_zoomed.png

VGA_640x480_key_frame.png (sau khi thu phóng)

preview_640x480_key_frame_zoomed.png

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ử:

Đạ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ừ 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.

test_zoom

hình ảnh test_preview_zoom cho thấy vòng tròn được chọn gần trung 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ợ được 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ử:

Đạt: Bạn có thể đạt được cả tỷ lệ thu phóng tối thiểu và tối đa cho mỗi SessionConfiguration được hỗ trợ được liệt kê trong CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION.

scene7

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 phần tư được tô bằng một màu khác nhau. Ở 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

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ẽ dẫn đến 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).

Quy trình kiểm tra AE đảm bảo rằng độ thay đổi của độ chói nằm trong phạm vi dự kiến cho cả hình ảnh chụp bằng ống kính UW và W. Quy trình kiểm tra AWB xác minh rằng tỷ lệ R/G và B/G nằm trong các giá trị ngưỡng cho cả hình ảnh chụp bằng ố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ử:

Đạ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 AF: Độ sắc nét của hình ảnh giữa hình ảnh chụp bằng ống kính UW và W phải thấp hơn 2%.

scene8

Scene8 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 chân dung được chụp với độ phơi sáng khác nhau hoặc được phủ một sắc thái màu khác nhau (sắc thái xanh dương, tăng độ phơi sáng, giảm độ phơi sáng, sắc thái 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

scene8

test_ae_awb_regions

Kiểm thử để đảm bảo rằng các giá trị RGB và độ chói khác nhau khi quay video xem trước ở các vùng phơi sáng tự động (AE) và cân bằng trắng tự động (AWB) khác nhau.

Quy trình kiểm thử sẽ ghi lại một bản xem trước dài 8 giây, đo sáng AE và AWB trên mỗi góc phần tư trong 2 giây. 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 hình được trích xuất để thực hiện các bước kiểm tra AE và AWB sau:

  • 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ử:

Đạt: Cả hai quy trình kiểm tra AE và AWB đều đạt.

Cơ chế không thành công:

  • Việc phát hiện chính xác cả 4 điểm đánh dấu ArUco là điều cần thiết cho thử nghiệm này. Nếu không phát hiện được trong lần đầu tiên, hệ thống sẽ thử phát hiện lần thứ hai bằng cách sử dụng phiên bản hình ảnh đen trắng. Hình ảnh thang màu xám sau đây đại diện cho bước xử lý phụ.

    Điểm đánh dấu ArUco không căn chỉnh

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.

scene9

scene9

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.

Các API đã kiểm thử:

Đạt: Tệp JPEG được nén, ghi và đọc lại đúng cách từ ổ đĩa.

test_jpeg_quality

Kiểm tra chất lượng nén 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.)

test_jpeg_quality

Matrice DQT luma/chroma trung bình của máy ảnh sau Pixel 4 so với chất lượng JPEG

test_jpeg_quality không thành công

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

test_preview_frame_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 thử này chạy trên tất cả các máy ảnh hiển thị với ứng dụng bên thứ ba.

Các API đã kiểm thử:

Đạ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 các 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 tất cả các 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 ảnh 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

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ử:

Đạ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.

scene_low_light

scene_low_light

test_night_extension

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 của đường cong Hilbert
  • 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ử:

Đạ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.

scene_low_light_night_pass

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 này hỗ trợ chế độ AE tăng cường ánh sáng yếu, thì quy trình kiểm thử này cũng đượ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 của đường cong Hilbert
  • 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ử:

Đạt: Giá trị luma trung bình của 6 hình vuông đầ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 hình vuông liên tiếp cho đến hình vuông 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.

test_auto_flash

Kiểm thử tính năng tự động bật đèn flash trong cảnh tối cho máy ảnh mặt sau và máy ảnh mặt trước. Đối với máy ảnh mặt trước, tính năng tự động bật đèn flash sử dụng màn hình để chiếu sáng cảnh chứ không phải đè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 chụp flash, bạn phải tắt đèn trong thiết bị 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. 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ử:

Đạ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.

Các API đã kiểm thử:

Mật khẩu:

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 độ cường độ đèn flash tăng từ không có đèn flash đến FLASH_SINGLE_STRENGTH_MAX_LEVEL. Khi chế độ tự động phơi sáng là ON_AUTO_FLASH, độ sáng của các mảng hình ảnh sẽ nằm trong phạm vi dung sai khi 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, quy trình 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, quy trình kiểm thử sẽ chạy một trình tự chụp trước với trình kích hoạt aePrecapture được đặt thành START và đặt ý định chụp thành Preview để chụp 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.

Các API đã kiểm thử:

Đạ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 khoảng (68, 102).

test_preview_min_frame_rate

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, người vận hành kiểm thử phải tắt đèn trong thiết bị kiểm thử bằng tay hoặc bằng bộ điều khiển.

Các API đã kiểm thử:

Đạ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 mức 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 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. Xác minh rằng cường độ đèn pin vẫn giữ nguyên trong suốt thời lượng của một loạt ảnh, 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ử:

Mật khẩu:

Khi chế độ tự động phơi sáng là ON hoặc OFF, độ sáng của các mảng ảnh chụp liên tiếp sẽ tăng lên khi mức độ cường độ đèn flash tăng từ không có đèn flash lên FLASH_TORCH_STRENGTH_MAX_LEVEL. Khi chế độ tự động phơi sáng là ON_AUTO_FLASH, độ sáng của các mảng ảnh chụp liên tiếp nằm trong phạm vi dung sai khi cường độ đèn flash tăng từ không có đèn flash lên FLASH_TORCH_STRENGTH_MAX_LEVEL.

cảm_biến_hợp_nhất

Các thử nghiệm hợp nhất cảm biến yêu cầu điện thoại di chuyển theo một cách 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 hợp nhất 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

Biểu đồ hợp nhất cảm biến trong Rig

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 rằng tâm quang học của ống kính thay đổi nội tại khi ống kính di chuyển do tính năng chống rung hình ảnh quang học (OIS). Nếu hỗ trợ các mẫu nội tại của ống kính, hãy kiểm tra để đảm bảo rằng tâm quang học của các mẫu nội tại của ống kính thay đổi khi ống kính di chuyển do tính năng ổn định hình ảnh quang học (OIS).

Các API đã kiểm thử:

Đạt: Tâm quang học của ống kính thay đổi 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 học của mẫu nội tại của ống kính sẽ thay đổi từ một pixel trở lên.

test_lens_intrinsic_calibration_example.png

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ử:

Đạ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ử sẽ tính toán các điểm lý tưởng dựa trên các yếu tố nội tại và ngoại tại 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. Các điểm nổi bật màu xanh lục và màu đỏ trên hình ảnh được dùng để phát hiện trực quan vùng lỗi méo.

test_preview_distortion_example.jpg

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 đỏ

Các API đã kiểm thử:

Đạ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.

Các API đã kiểm thử:

Đạ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 có tính năng ổn định

  • Mẫu video chưa được ổ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ờ. Động tác di chuyển là khoảng 2 giây cho một lượt. 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 thông 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ử. Chuyển động theo hướng x và y cho thấy điện thoại không được gắn chắc chắn trên tấm gắn, làm giảm khả năng kiểm thử đạt. Số chu kỳ trong biểu đồ phụ thuộc vào tốc độ ghi để lưu khung hình.

    test_sensor_fusion_gyro_events.png

    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.png

    test_sensor_fusion_plot_rotations

Các API đã kiểm thử:

Đạ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: Chênh lệch con quay hồi chuyển của máy ảnh chưa được hiệu chỉnh chính xác trong phạm vi +/-1 ms.
  • 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 mà con quay hồi chuyển và độ xoay máy ảnh thay đổi đáng kể khi máy ảnh xoay qua các phần của biểu đồ không phẳng.
  • 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 ở camera trước vì camera sau thường có một điểm nhô lên so với 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 tấm gắn.

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ử:

Đạt: Góc xoay tối đa trên các khung hình ít hơn 60% 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 có tính năng ổn định

  • Mẫu video chưa được ổn định

feature_combination

Các kiểm thử feature_combination xác minh rằng các tính năng hoạt động đúng cách khi nhiều tính năng máy ảnh được bật cùng một lúc. Các bài 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ợ. Bài kiểm thử này rất tốn bộ nhớ, vì vậy, bạn nên sử dụng máy chủ lưu trữ có RAM tối thiểu 128 GB.

Đối với Android 15 trở lên, tệp cấu hình bao gồm một trường log_feature_combo_support, mặc định là False. Khi trường log_feature_combo_support được đặt thành True, quy trình kiểm thử sẽ chạy tất cả các tổ hợp tính năng được hỗ trợ và ghi lại kết quả vào tệp proto mà không làm bài kiểm thử không đạt. Để kiểm thử việc tuân thủ, bạn phải đặt trường log_feature_combo_support thành False.

Các API đã kiểm thử:

Đạ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 bạn bật tính năng chống rung khi xem trước.
  • 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 xem trước đã ghi khớp với hệ màu đã đặt.
  • Ảnh chụp Ultra HDR có bản đồ độ lợi hợp lệ.