Kiểm thử ITS bằng 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 (ITS) của Camera, đây là một phần của Trình xác minh Bộ kiểm thử tính tương thích (CTS) của Android. Các kiểm thử ITS là kiểm thử chức năng, tức là các kiểm thử này không đo lường chất lượng hình ảnh, nhưng tất cả các chức năng camera đượ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 rõ chức năng của từng kiểm thử và cách gỡ lỗi khi kiểm thử thất bại.

Camera ITS kiểm thử theo các thuộc tính bắt buộc của camera, cấp độ API và cấp độ lớ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 soát các kiểm thử được thêm vào một cấp độ API cụ thể nhằm kiểm thử trải nghiệm tiêu cực của người dùng đố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ổng cho 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 kiểm thử được nhóm theo cảnh như sau:

  • scene0: Ghi lại siêu dữ liệu, độ rung, con quay hồi chuyển, độ rung
  • scene1: Độ phơi sáng, độ nhạy, giá trị phơi sáng (EV), mức bù EV, YUV so với JPEG và RAW
  • scene2: Phát hiện khuôn mặt, các bài kiểm thử yêu cầu cảnh có màu
  • scene3: Tăng cường viền, chuyển động của ống kính
  • scene4: Tỷ lệ khung hình, cắt, góc nhìn
  • scene5: Hiện tượng đổ bóng ống kính
  • scene6: Thu phóng
  • scene7: Công tắc nhiều camera
  • scene8: Đo sáng theo vùng cân bằng trắng tự động (AWB) và độ phơi sáng tự động (AE)
  • scene9: Nén JPEG
  • scene_extensions: Tiện ích máy ảnh
  • scene_tele: Chuyển đổi ống kính tiêu cự dài
  • scene_flash: Autoflash, minimum frame rate
  • scene_video: Loại khung hình
  • sensor_fusion: Độ lệch thời gian của camera và con quay hồi chuyển
  • feature_combination: Tổ hợp tính năng
  • scene_ip: Tính tương đồng về hình ảnh giữa ứng dụng máy ảnh mặc định và Ứng dụng máy ảnh Jetpack (JCA)

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

scene0

Các bài kiểm thử không yêu cầu thông tin cụ thể về cảnh. 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à độ rung.

test_jitter

Đo độ rung trong dấu thời gian của camera.

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

Đạt: Có ít nhất 30 mili giây giữa các khung hình.

Trong hình sau, hãy lưu ý đến phạm vi trục y nhỏ. Độ trễ thực sự nhỏ trong biểu đồ này.

biểu đồ test_jitter

Hình 1. biểu đồ test_jitter.

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 camera. Thử nghiệm này sử dụng các giá trị độ phơi sáng và độ khuếch đại auto_capture_request vì nội dung hình ảnh không quan trọng.

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

Đạt: Cấp độ phần cứng, thẻ rollingShutterSkew, frameDuration, timestampSource, croppingType, blackLevelPattern, pixel_pitch, trường nhìn (FoV) và khoảng cách siêu tiêu điểm đều có giá trị hợp lệ.

test_request_capture_match

Kiểm thử để thiết bị ghi các giá trị phơi sáng và độ khuếch đại chính xác bằng cách đọc lại siêu dữ liệu chụp.

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

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

test_sensor_events

Đối với những thiết bị quảng cáo khả năng hỗ trợ hợp nhất cảm biến, kiểm thử này sẽ kiểm tra xem thiết bị có truy vấn và in các sự kiện cảm biến hay không. Các cảm biến dự kiến là gia tốc kế, con quay hồi chuyển và từ kế. Thử nghiệm này chỉ hoạt động nếu màn hình đang bật, tức là thiết bị không ở chế độ chờ.

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

Đạt: Nhận được các sự kiện cho từng cảm biến.

test_solid_color_test_pattern

Kiểm thử để đảm bảo các mẫu kiểm thử màu đơn được tạo đúng cách cho tính năng tắt tiếng camera. Nếu tính năng tắt tiếng camera được hỗ trợ, thì các mẫu kiểm thử màu đồng nhất cũng phải được hỗ trợ. 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 sẽ chỉ được kiểm thử nếu tính năng này được quảng cáo.

Nếu hình ảnh thô được hỗ trợ, thì việc chỉ định màu cũng đượ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 camera không hỗ trợ hình ảnh thô, chỉ có màu đen được kiểm thử.

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

Đạt: Các mẫu kiểm thử màu trơn được hỗ trợ có màu sắc chính xác và có độ biến thiên thấp trong hình ảnh.

test_test_pattern

Kiểm thử tham số android.sensor.testPatternMode để ghi lại các khung hình cho từng mẫu kiểm thử hợp lệ và kiểm tra để đảm bảo các khung hình được tạo đúng cách cho màu đơn sắc và thanh màu. Thử nghiệm 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 độ chính xác cho mẫu kiểm thử màu đồng nhất và thanh màu.

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

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

Ví dụ về test_test_patterns

Hình 2. Ví dụ về test_test_patterns.

test_tonemap_curve

Kiểm thử việc chuyển đổi mẫu kiểm thử từ định dạng thô sang YUV bằng phương pháp ánh xạ tông màu tuyến tính. Thử nghiệm này yêu cầu android.sensor.testPatternMode = 2 (COLOR_BARS) tạo ra một mẫu hình ảnh hoàn hảo để chuyển đổi tông màu. Xác minh rằng quy trình có đầu ra màu sắc phù hợp với ánh xạ 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 đã được kiểm thử:

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

Ví dụ thô về test_tonemap_curve

Hình 3. Ví dụ thô về test_tonemap_curve.

Ví dụ về YUV test_tonemap_curve

Hình 4. Ví dụ về YUV test_tonemap_curve.

test_unified_timestamp

Kiểm tra xem các sự kiện của 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 đã được kiểm thử:

Đạt: Dấu thời gian của chuyển động nằm giữa dấu thời gian của hai hình ảnh.

test_vibration_restriction

Kiểm thử xem chế độ rung của thiết bị có hoạt động như mong đợi hay không.

Các API đã được 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 camera.

scene1_1

scene1 là một biểu đồ màu xám. Biểu đồ màu xám phải bao phủ 30% FoV ở giữa của camera. Biểu đồ màu xám dự kiến sẽ thách thức 3A (AE, AWB và AF) ở 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 ảnh chỉ định toàn bộ cảnh, bao gồm cả các đối tượng đủ để 3A hội tụ.

Bạn có thể kiểm thử camera RFoV trong giàn kiểm thử WFoV hoặc RFoV. Nếu một camera RFoV được kiểm thử trong giàn kiểm thử WFoV, thì biểu đồ sẽ được điều chỉnh theo tỷ lệ 2/3 để chỉ định 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 nội dung mô tả chi tiết hơn về các giàn thử nghiệm camera, hãy xem phần Camera ITS-in-a-box.

ví dụ về scene1

Hình 5. Biểu đồ cảnh 1 có kích thước đầy đủ (trái), biểu đồ có tỷ lệ 2/3 (phải).

test_ae_precapture_trigger

Kiểm thử trạng thái AE khi sử dụng trình kích hoạt chụp trước. Chụp 5 yêu cầu thủ công khi tắt AE. Yêu cầu cuối cùng có một trình kích hoạt chụp trước AE, trình kích hoạt này sẽ bị bỏ qua vì AE bị vô hiệu hoá.

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

Đạt: AE hội tụ.

test_auto_vs_manual

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

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

Đạt: Mức tăng và 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 camera.

test_auto_vs_manual auto example

Hình 6. Ví dụ về test_auto_vs_manual tự động.

ví dụ về cân bằng trắng test_auto_vs_manual

Hình 7. Ví dụ về cân bằng trắng test_auto_vs_manual.

Ví dụ về phép biến đổi cân bằng trắng thủ công test_auto_vs_manual

Hình 8. Ví dụ về phép biến đổi cân bằng trắng thủ công test_auto_vs_manual.

test_black_white

Kiểm thử để đảm bảo thiết bị tạo ra hình ảnh đen trắng hoàn chỉnh. Chụp hai bức ảnh, bức ảnh đầu tiên có độ khuếch đại cực thấp và thời gian phơi sáng ngắn, dẫn đến bức ảnh đen và bức ảnh thứ hai có độ khuếch đại cực cao và thời gian phơi sáng dài, dẫn đến bức ảnh trắng.

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

Pass: Tạo ra hình ảnh đen trắng. Các 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ố dưới 1%.

test_black_white, ví dụ về màu đen

Hình 9. test_black_white, ví dụ về màu đen.

Ví dụ về phép biến đổi cân bằng trắng thủ công test_auto_vs_manual

Hình 10. test_black_white, ví dụ về màu trắng.

test_black_white plot means example

Hình 11. test_black_white, ví dụ về biểu đồ trung bình.

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 đã được kiểm thử:

Đạt: Chụp một loạt ả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 chuỗi gồm 50 bức ảnh bằng chế độ chụp thủ công và kiểm tra để đảm bảo tất cả đều giống hệt nhau. Sử dụng thử nghiệm này để xác định xem có khung hình rời rạc nào được xử lý khác đi hoặc có hiện tượng giả tạo hay không.

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

Đạt: Hình ảnh giống hệt nhau về mặt thị giác và giá trị RGB.

Thất bại: Cho thấy mức tăng hoặc giảm đột ngột của biểu đồ trung bình RGB ở đầu mỗi chuỗi

  • 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

Hình 12. Ví dụ về giá trị trung bình test_burst_sameness_manual.

test_burst_sameness_manual_plot_means

Hình 13. test_burst_sameness_manual_plot_means

test_crop_region_raw

Kiểm tra để đảm bảo rằng bạn không thể cắt các luồng RAW.

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

Đạt: Hình ảnh YUV bị cắt ở giữa nhưng hình ảnh RAW thì không.

test_crop_region_raw comp raw crop example

Hình 14. test_crop_region_raw comp raw crop example.

test_crop_region_raw comp raw full example

Hình 15. test_crop_region_raw comp raw full example.

Ví dụ về thành phần test_crop_region_raw YUV crop

Hình 16. test_crop_region_raw comp Ví dụ về vùng cắt YUV.

Ví dụ về test_crop_region_raw_yuv_full

Hình 17. test_crop_region_raw YUV full example.

test_crop_regions

Kiểm thử để đảm bảo các vùng cắt hoạt động. Lấy một hình ảnh đầy đủ và tạo các mảng của 5 vùng khác nhau (các góc và tâm). Chụp ảnh có chế độ cắt được đặt cho 5 khu vực. So sánh các giá trị của bản vá và hình ảnh bị cắt.

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

Đạt: Hình ảnh của vùng bị cắt khớp với mảng tương ứng với hình ảnh bị cắt.

test_ev_compensation

Kiểm thử để đảm bảo rằng chế độ bù giá trị phơi sáng (EV) được áp dụng. Bài kiểm tra bao gồm một phần cơ bản và một phần nâng cao.

Các kiểm thử cơ bản cho thấy tính năng bù phơi sáng được áp dụng bằng cách sử dụng một dải được tạo bằng CONTROL_AE_COMPENSATION_STEP. Tám khung hình được ghi lại ở mỗi giá trị bù.

Phần nâng cao tăng độ phơi sáng theo 8 bước và kiểm tra độ sáng đo được so với độ sáng dự kiến. Các giá trị dự kiến được tính từ độ sáng hình ảnh của hình ảnh không áp dụng bù EV và giá trị dự kiến sẽ bão hoà nếu các giá trị được tính vượt quá phạm vi giá trị hình ảnh thực tế. Thử nghiệm sẽ thất bại nếu các giá trị dự kiến và giá trị đo được không khớp hoặc nếu hình ảnh bị phơi sáng quá mức trong vòng 5 bước.

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

Đạt yêu cầu cơ bản về phần này: Hình ảnh cho thấy độ phơi sáng tăng dần mà không bị phơi sáng quá mức trong vòng 5 bước.

test_ev_compensation_basic

Hình 18. test_ev_compensation_basic.

Chế độ chuyển cảnh nâng cao: Ghi lại sự gia tăng độ chói khi chế độ cài đặt bù EV tăng lên. 8 khung hình được chụp cho mỗi chế độ bù EV đều có giá trị độ chói ổn định.

test_ev_compensation_advanced_plot_means

Hình 19. test_ev_compensation_advanced_plot_means.

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 chuỗi, hình ảnh sẽ bị nhiễu hơn. Xác minh rằng các giá trị trung bình của pixel mẫu gần nhau. Xác minh rằng hình ảnh không bị kẹp ở 0 hoặc 1 (điều này sẽ khiến hình ảnh trông giống như các đường thẳ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 đã được 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 bằng phẳng khi giá trị ISO*exposure không đổi trong không gian tăng ích đã kiểm thử.

Cơ chế thất bại: Trong hình sau, khi các giá trị hệ số nhân độ khuếch đại (trục x) tăng lên, các giá trị trung bình của mặt phẳng RGB được chuẩn hoá (trục y) bắt đầu lệch khỏi các giá trị hệ số nhân độ khuếch đại thấp.

test_exposure_plot_means

Hình 20. test_exposure_plot_means.

test_exposure_mult=1.00.jpg

Hình 21. test_exposure_mult=1.00.

test_exposure_mult=64.00

Hình 22. test_exposure_mult=64.00.

test_latching

Các chế độ cài đặt (độ phơi sáng và độ khuếch đại) sẽ được áp dụng cho khung hình bên phải của camera 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 bức ảnh. Kiểm tra để đảm bảo hình ảnh có các thuộc tính dự kiến.

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

Đạt: Hình ảnh [2, 3, 6, 8, 10, 12, 13] có ISO hoặc độ phơi sáng tăng lên và xuất hiện với giá trị trung bình RGB cao hơn trong biểu đồ ở hình sau.

test_latching plot means example

Hình 23. Ví dụ về biểu đồ test_latching.

test_latching i=00

Hình 24. test_latching i=00.

test_latching i=01

Hình 25. test_latching i=01.

test_latching i=02

Hình 26. test_latching i=02.

test_latching i=03

Hình 27. test_latching i=03.

test_latching i=04

Hình 28. test_latching i=04.

test_latching i=05

Hình 29. test_latching i=05.

test_latching i=06

Hình 30. test_latching i=06.

test_latching i=07

Hình 31. test_latching i=07.

test_latching i=08

Hình 32. test_latching i=08.

test_latching i=09

Hình 33. test_latching i=09.

test_latching i=10

Hình 34. test_latching i=10.

test_latching i=11

Hình 35. test_latching i=11.

test_latching i=12

Hình 36. test_latching i=12.

test_linearity

Các bài kiểm thử mà quá trình xử lý của thiết bị có thể được đảo ngược thành các pixel tuyến tính. Chụp một chuỗi ảnh khi thiết bị hướng vào một mục tiêu đồng nhất.

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

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

ví dụ về giá trị trung bình của biểu đồ test_linearity

Hình 37. Biểu đồ test_linearity có nghĩa là ví dụ.

test_locked_burst

Kiểm thử chế độ khoá 3A và chế độ chụp liên tục YUV (sử dụng chế độ cài đặt tự động). Thử nghiệm này được thiết kế để vượt qua ngay cả trên những thiết bị có giới hạn không có MANUAL_SENSOR hoặc PER_FRAME_CONTROLS. Bài kiểm thử này kiểm tra tính nhất quán của hình ảnh YUV trong khi kiểm tra tốc độ khung hình trong CTS.

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

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

Ví dụ về test_locked_burst frame0

Hình 38. Ví dụ về khung test_locked_burst 0.

Ví dụ về test_locked_burst frame1

Hình 39. Ví dụ về khung hình 1 của test_locked_burst.

test_locked_burst_frame2

Hình 40. Ví dụ về khung test_locked_burst 2.

scene1_2

scene 1_2 là bản sao có chức năng giống hệt scene 1_1, triển khai cấu trúc cảnh phụ để giảm bớt thời lượng mở rộng của scene 1.

test_param_color_correction

Kiểm thử rằng 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à độ khuếch đại khác nhau, đồng thời kiểm tra xem các giá trị đó có tương ứng khác nhau hay không. Các phép biến đổi và mức tăng được chọn để làm cho đầu ra ngày càng có màu đỏ hoặc xanh dương. Sử dụng một ánh xạ tông 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 để ánh xạ một nhóm màu sang một nhóm màu khác nhằm ước chừng sự xuất hiện của hình ảnh có dải tương phản động cao trong một phương tiện có dải tương phản động hạn chế hơn.

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

Đạt: Giá trị R và B tăng lên theo quá trình chuyển đổi.

Ví dụ về ý nghĩa của biểu đồ test_param_color_correction

Hình 41. Ví dụ về biểu đồ test_param_color_correction.

Trong các hình sau, trục x là yêu cầu chụp: 0 = unity, 1 = tăng cường màu đỏ và 2 = tăng cường màu xanh dương.

test_param_color_correction req=0 ví dụ về unity

Hình 42. test_param_color_correction req=0 ví dụ về unity.

test_param_color_correctness req=1 red boost example

Hình 43. test_param_color_correctness req=1 ví dụ về tăng cường màu đỏ.

test_param_color_correction req=2 blue boost example

Hình 44. test_param_color_correction req=2 ví dụ về tăng cường màu xanh dương.

test_param_flash_mode

Các kiểm thử được áp dụng tham số android.flash.mode. Đặt độ phơi sáng theo cách thủ công ở phía tối để biết rõ liệu đèn flash có bật hay không và sử dụng một ánh xạ tông màu tuyến tính. Kiểm tra tâm của hình ảnh ô để xem có một độ dốc lớn được tạo ra để xác minh xem đèn flash có bật hay không.

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

Đạt: Tâm của hình ảnh ô có một hiệu ứng chuyển màu lớn, tức là đèn flash đã bật.

ví dụ test_param_flash_mode 1

Hình 45. Ví dụ về test_param_flash_mode 1.

Ví dụ về thẻ test_param_flash_mode 1

Hình 46. Ví dụ về một ô test_param_flash_mode.

Ví dụ về test_param_flash_mode_2

Hình 47. Ví dụ 2 về test_param_flash_mode.

Ví dụ về ô test_param_flash_mode 2

Hình 48. test_param_flash_mode ví dụ về 2 ô.

test_param_noise_reduction

Kiểm thử để đảm bảo tham số android.noiseReduction.mode được áp dụng đúng cách khi được đặt. Chụp ảnh bằng camera trong điều kiện ánh sáng yếu. Sử dụng mức tăng tương tự cao để giúp đảm bảo hình ảnh chụp được có nhiều nhiễu. Chụp 3 bức ảnh, cho NR tắt, nhanh và chất lượng cao. Cũng chụp ảnh với độ khuếch đại thấp và tắt tính năng NR, đồng thời sử dụng phương sai của ảnh này làm đường cơ sở. Tỷ lệ tín hiệu trên nhiễu (SNR) càng cao thì chất lượng hình ảnh càng tốt.

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

Đạt: Tỷ lệ tín hiệu trên tạp âm (SNR) thay đổi theo các chế độ giảm tiếng ồn và hoạt động tương tự như biểu đồ sau:

Ví dụ về SNR của biểu đồ test_param_noise_reduction

Hình 49. Ví dụ về SNR của biểu đồ test_param_noise_reduction.

0: TẮT, 1: NHANH, 2: CHẤT LƯỢNG CAO, 3: TỐI THIỂU , 4: ZSL

test_param_noise_reduction high gain nr=0 example

Hình 50. Ví dụ về test_param_noise_reduction high gain nr=0.

test_param_noise_reduction high gain nr=1 example

Hình 51. Ví dụ về test_param_noise_reduction high gain nr=1.

test_param_noise_reduction high gain nr=2 example

Hình 52. Ví dụ về test_param_noise_reduction nr=2 có độ khuếch đại cao.

test_param_noise_reduction high gain nr=3 example

Hình 53. Ví dụ về test_param_noise_reduction high gain nr=3.

test_param_noise_reduction ví dụ về độ khuếch đại thấp

Hình 54. Ví dụ về độ khuếch đại thấp test_param_noise_reduction.

test_param_shading_mode

Các kiểm thử được áp dụng tham số android.shading.mode.

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

Đạt: Các chế độ đổ bóng được chuyển đổi và bản đồ đổ bóng ống kính được sửa đổi như mong đợi.

test_param_shading_mode bản đồ đổ bóng ống kính, ví dụ về chế độ 0 vòng lặp 0

Hình 55. test_param_shading_mode lens shading map, mode 0 loop 0 example.

test_param_shading_mode bản đồ đổ bóng ống kính, ví dụ về chế độ 1 vòng lặp 0

Hình 56. test_param_shading_mode lens shading map, mode 1 loop 0 example.

test_param_shading_mode bản đồ đổ bóng ống kính, ví dụ về chế độ 2 vòng lặp 0

Hình 57. test_param_shading_mode lens shading map, mode 2 loop 0 example.

test_param_tonemap_mode

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

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

Mật khẩu:

  • test1: Cả hai hình ảnh đều có một ánh xạ tông màu tuyến tính, nhưng n=1 có độ dốc cao 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 ánh xạ tông màu, nhưng có độ dài khác nhau. Các hình ảnh giống nhau.

test_param_tonemap_mode với n=0

Hình 58. test_param_tonemap_mode với n=0.

test_param_tonemap_mode với n=1

Hình 59. test_param_tonemap_mode với n=1.

test_post_raw_sensitivity_boost

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

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

Đạt: Hình ảnh thô sẽ tối hơn khi mức tăng cao hơn, trong khi độ sáng của hình ảnh YUV vẫn không đổi.

test_post_raw_sensitivity_boost raw s=3583 boost=0100 example

Hình 60. Ví dụ về test_post_raw_sensitivity_boost raw s=3583 boost=0100.

test_post_raw_sensitivity_boost raw s=1792 boost=0200 example

Hình 61. Ví dụ về test_post_raw_sensitivity_boost raw s=1792 boost=0200.

test_post_raw_sensitivity_boost raw s=0896 boost=0400 example

Hình 62. Ví dụ về test_post_raw_sensitivity_boost raw s=0896 boost=0400.

test_post_raw_sensitivity_boost raw s=0448 boost=0800 example

Hình 63. Ví dụ về test_post_raw_sensitivity_boost raw s=0448 boost=0800.

test_post_raw_sensitivity_boost raw s=0224 boost=1600 example

Hình 64. test_post_raw_sensitivity_boost raw s=0224 boost=1600 example.

test_post_raw_sensitivity_boost raw s=0112 boost=3199 example

Hình 65. test_post_raw_sensitivity_boost raw s=0112 boost=3199 example.

test_post_raw_sensitivity_boost raw plot means example

Hình 66. test_post_raw_sensitivity_boost ví dụ về giá trị trung bình của biểu đồ thô.

test_post_raw_sensitivity_boost YUV s=0112 boost=3199 example

Hình 67. test_post_raw_sensitivity_boost YUV s=0112 boost=3199 example.

test_post_raw_sensitivity_boost YUV s=0448 boost=0800 example

Hình 68. test_post_raw_sensitivity_boost YUV s=0448 boost=0800 example.

test_post_raw_sensitivity_boost YUV s=0896 boost=0400 example

Hình 69. test_post_raw_sensitivity_boost YUV s=0896 boost=0400 example.

test_post_raw_sensitivity_boost YUV s=1792 boost=0200 example

Hình 70. test_post_raw_sensitivity_boost YUV s=1792 boost=0200 example.

test_post_raw_sensitivity_boost YUV s=3585 boost=0100 example

Hình 71. Ví dụ về test_post_raw_sensitivity_boost YUV s=3585 boost=0100.

test_post_raw_sensitivity_boost_yuv_plot_means

Hình 72. test_post_raw_sensitivity_boost_yuv_plot_means

test_raw_exposure

Chụp một nhóm hình ảnh thô với thời gian phơi sáng tăng dần và đo các giá trị pixel.

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

Đạt: Tăng ISO (độ lợi) sẽ làm cho các pixel nhạy cảm hơn với ánh sáng, vì vậy, biểu đồ sẽ di chuyển sang trái.

Ví dụ về test_raw_exposure ISO=55

Hình 73. Ví dụ về ISO=55 test_raw_exposure.

10⁰ là 1 mili giây, 10¹ là 10 mili giây và 10⁻¹ là 0, 1 mili giây.

Ví dụ về ISO=132 test_raw_exposure

Hình 74. Ví dụ về test_raw_exposure ISO=132.

Ví dụ về test_raw_exposure ISO=209

Hình 75. Ví dụ về test_raw_exposure ISO=209.

Ví dụ về test_raw_exposure ISO=286

Hình 76. Ví dụ về test_raw_exposure ISO=286.

Ví dụ về test_raw_exposure ISO=363

Hình 77. Ví dụ về test_raw_exposure ISO=363.

test_raw_exposure_s=440

Hình 78. Ví dụ về test_raw_exposure ISO=440.

test_reprocess_noise_reduction

Các kiểm thử mà android.noiseReduction.mode được áp dụng cho các yêu cầu xử lý lại. Chụp ảnh được xử lý lại bằng camera trong điều kiện ánh sáng yếu. Sử dụng mức tăng tương tự cao để xác minh rằng hình ảnh chụp bị nhiễu. Chụp 3 bức ảnh được xử lý lại, cho chế độ khử nhiễu tắt, nhanh và chất lượng cao. Chụp một hình ảnh được xử lý lại với độ khuếch đại thấp và tắt tính năng giảm nhiễu, đồng thời sử dụng phương sai của hình ảnh này làm đường cơ sở.

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

Đạt: FAST >= OFF, HQ >= FAST và HQ >> OFF.

Biểu đồ SNR thông thường so với chế độ NR

Hình 79. Ví dụ điển hình về biểu đồ SNR so với chế độ NR.

test_tonemap_sequence

Kiểm thử một chuỗi cảnh quay với các đường cong ánh xạ tông màu khác nhau. Chụp 3 bức ảnh theo cách thủ công bằng một giản đồ tông màu tuyến tính. Chụp 3 bức ảnh thủ công bằng cách sử dụng phương thức ánh xạ tông màu mặc định. Tính toán độ lệch giữa mỗi cặp khung hình liên tiếp.

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

Đạt: Có 3 khung hình giống hệt nhau, sau đó là một nhóm khác gồm 3 khung hình giống hệt nhau.

test_tonemap_sequence i=0 example

Hình 80. Ví dụ về test_tonemap_sequence i=0.

test_tonemap_sequence i=1 example

Hình 81. Ví dụ về test_tonemap_sequence i=1.

test_tonemap_sequence i=2 example

Hình 82. Ví dụ về test_tonemap_sequence i=2.

test_tonemap_sequence i=3 example

Hình 83. Ví dụ về test_tonemap_sequence i=3.

test_tonemap_sequence_i=4 example

Hình 84. Ví dụ về test_tonemap_sequence i=4.

test_tonemap_sequence i=5 example

Hình 85. Ví dụ về test_tonemap_sequence i=5.

test_yuv_jpeg_all

Các kiểm thử hoạt động với tất cả kích thước và định dạng được báo cáo để chụp ảnh. Sử dụng yêu cầu thủ công với một ánh xạ tông màu tuyến tính để YUV và JPEG có giao diện giống nhau khi được chuyển đổi bằng mô-đun image_processing_utils. Theo mặc định, hình ảnh sẽ không được lưu, nhưng bạn có thể lưu bằng cách bật debug_mode.

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

Đạt: Tất cả các tâm ảnh đều có độ chênh lệch tối đa về căn bậc hai trung bình (RMS) (giá trị của tín hiệu) trong hình ảnh được chuyển đổi RGB với 3% hình ảnh YUV có độ phân giải cao nhất.

Ví dụ test_yuv_jpeg_all

Hình 86. Ví dụ về test_yuv_jpeg_all.

test_yuv_plus_dng

Kiểm tra xem các kích thước và định dạng được báo cáo cho tính năng chụp ảnh có hoạt động hay không.

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

Đạt: Kiểm thử hoàn tất và trả về những hình ảnh được yêu cầu.

Ví dụ về test_yuv_plus_dng

Hình 87. Ví dụ về test_yuv_plus_dng.

scene1_3

scene 1_3 là bản sao có chức năng giống hệt scene 1_1, triển khai cấu trúc cảnh phụ để giảm bớt thời lượng mở rộng của scene 1.

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. Bài kiểm thử bao gồm một lần chụp tự động, một lần chụp thủ công và một lần chụp tự động thứ hai.

Các API đã được 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. Vẽ biểu đồ hiệu chỉnh độ đổ bóng của ống kính cho các bức ảnh chụp.

test_capture_result_plot_lsc_auto_ch0

Hình 88. test_capture_result_plot_lsc_auto_ch0.

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ả phương sai đo được của một mảng trung tâm của thẻ xám trong các bức ảnh thô được chụp trong một phạm vi độ nhạy và so sánh các giá trị này với phương sai dự kiến ở mỗi độ nhạy theo mô hình nhiễu DNG trong HAL camera (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 xuống về Mô hình nhiễu DNG.

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

Đạt: Các tham số mô hình thô DNG đều chính xác. Giá trị RGB dự kiến khớp với giá trị RGB thực tế đo được.

test_dng_noise_model_plog

Hình 89. test_dng_noise_model_plog.

test_jpeg

Các thử nghiệm chuyển đổi hình ảnh YUV và hình ảnh JPEG trên thiết bị trông giống nhau. Thử nghiệm lấy 10% ở giữa của hình ảnh và tính toán giá trị RGB, đồng thời xác minh rằng các giá trị này khớp với nhau.

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

Đạt: Khoảng chênh lệch trung bình về RGB giữa mỗi hình ảnh nhỏ hơn 3%.

test_jpeg_fmt=jpg.jpg

Hình 90. test_jpeg_fmt=jpg.jpg.

test_jpeg=fmt=yuv.jpg

Hình 91. test_jpeg=fmt=yuv.jpg.

test_raw_burst_sensitivity

Chụp một nhóm hình ảnh thô với độ khuếch đại tăng dần và đo lường độ nhiễu. Chỉ chụp ảnh thô ở chế độ chụp liên tục.

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

Đạt: Mỗi cảnh quay đều có nhiều hạt hơn cảnh quay trước đó, vì độ khuếch đạ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

Hình 92. test_raw_burst_sensitivity_variance.

test_raw_sensitivity

Chụp một bộ hình ảnh thô với độ nhạy tăng dần và đo lường độ nhiễu (phương sai) ở 10% trung tâm của hình ảnh. Kiểm thử xem mỗi cảnh có nhiều hạt nhiễu hơn cảnh trước đó hay không.

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

Chuyền: Phương sai tăng lên theo mỗi cú sút.

test_raw_sensitivity_variance

Hình 93. test_raw_sensitivity_variance.

test_yuv_plus_jpeg

Kiểm thử việc chụp một khung hình duy nhất dưới dạng cả đầu ra YUV và JPEG. Sử dụng yêu cầu thủ công với một ánh xạ tông màu tuyến tính để YUV và JPEG có giao diện giống nhau khi được chuyển đổi bằng mô-đun image_processing_utils.

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

Đạt: Hình ảnh YUV và JPEG tương tự nhau và có sự khác biệt dưới 1% RMS (giá trị của tín hiệu).

test_yuv_plus_jpeg ở định dạng JPEG

Hình 94. test_yuv_plus_jpeg ở định dạng JPEG.

test_yuv_plus_jpeg có định dạng YUV

Hình 95. test_yuv_plus_jpeg ở định dạng YUV.

test_yuv_plus_raw

Kiểm thử việc chụp một khung hình dưới dạng cả đầu ra thô (thô 10 bit và thô 12 bit) và YUV nếu được hỗ trợ. Sử dụng yêu cầu thủ công với ánh xạ tông màu tuyến tính để dữ liệu thô và YUV dự kiến sẽ giống nhau. So sánh 10% giá trị RGB ở tâm của hình ảnh được chuyển đổi RGB. Nhật kýandroid.shading.mode.

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

Đạt: Hình ảnh YUV và hình ảnh thô tương tự nhau và có mức chênh lệch RMS (giá trị trung bình bình phương của tín hiệu) dưới 3,5%.

test_yuv_plus_raw_shading=1_raw.jpg

Hình 96. test_yuv_plus_raw_shading=1_raw.jpg.

test_yuv_plus_raw_shading=1_yuv.jpg

Hình 97. test_yuv_plus_raw_shading=1_yuv.jpg.

test_sensitivity_priority

Kiểm thử CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY trong nhiều chế độ cài đặt ISO để xác nhận mối tương quan giữa ISO cao hơn và mức độ nhiễu tăng lên.

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

Đạt: ISO càng cao thì mức độ nhiễu càng tăng.

Tiêu chí bỏ qua kiểm thử

Thử nghiệm test_sensitivity_priority.py sẽ bị bỏ qua nếu đáp ứng bất kỳ tiêu chí nào sau đây:

test_exposure_time_priority

Kiểm thử CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITY trong nhiều thời gian phơi sáng, kiểm tra độ sáng ổn định trong phạm vi mà ISO có thể bù.

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

Đạt: Độ sáng ổn định (trong phạm vi dung sai) trong các khoảng thời gian phơi sáng nếu ISO nằm trong phạm vi bù sáng.

Tiêu chí bỏ qua kiểm thử

Thử nghiệm test_exposure_time_priority sẽ bị bỏ qua nếu đáp ứng bất kỳ tiêu chí nào sau đây:

scene2_a

scene2_a có 3 khuôn mặt trên 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 chính xác để tính năng phát hiện khuôn mặt hoạt động tối ưu.

Ví dụ về scene2_a

Hình 98. Ví dụ về scene2_a.

test_autoframing

Kiểm thử hành vi tự động lấy khung hình của thiết bị camera. Thực hiện thao tác thu phóng lớn để không thấy khuôn mặt nào trong cảnh, 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 khi trạng thái hội tụ hay không (tức là khi AUTOFRAMING_STATE trong CaptureResult được đặt thành AUTOFRAMING_STATE_CONVERGED).

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

Đạt: Phát hiện được cả 3 khuôn mặt.

test_display_p3

Kiểm thử Hiển thị P3 chụp ở định dạng JPEG bằng API ColorSpaceProfiles. Kiểm thử để đảm bảo JPEG đã chụp có cấu hình ICC phù 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 đã được kiểm thử:

Đạt: Tệp JPEG chứa một cấu hình ICC Display P3 và các màu bên ngoài gam màu sRGB.

test_effects

Chụp khung hình cho các hiệu ứng camera được hỗ trợ và kiểm tra xem các hiệu ứng đó có được tạo đúng cách hay không. Bài kiểm thử chỉ kiểm tra 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 đã được kiểm thử:

Pass: Chụp ảnh cảnh có hiệu ứng OFF và ảnh đơn sắc có hiệu ứng được đặt thành MONO.

test_effects_MONO

Hình 99. test_effects_MONO.

test_exposure_keys_consistent

Bài kiểm thử này so sánh độ chói trung bình của một bản chụp có bật AE với một bản chụp có tắt AE, trong đó áp dụng các thông số phơi sáng theo cách thủ công (độ nhạy, thời gian phơi sáng, thời lượng khung hình, mức tăng độ nhạy sau khi xử lý thô) nhận được trong CaptureResult của bản chụp có bật AE.

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

Đạt: Mức chênh lệch tương đối về độ chói giữa hai bản chụp nhỏ hơn 4%.

test_format_combos

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

Các API đã được 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 đã được kiểm thử:

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

test_num_faces chế độ phát hiện khuôn mặt 1 ví dụ

Hình 100. Ví dụ về chế độ phát hiện khuôn mặt test_num_faces 1.

test_reprocess_uv_swap

Các kiểm thử mà 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 giá trị tuyệt đối của sự khác biệt (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 bản ghi được xử lý lại dẫn đến SAD tăng lên, thì đầu ra được giả định là có các mặt phẳng U và V chính xác.

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

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

test_reprocess_uv_swap

Hình 101. Ví dụ về test_reprocess_uv_swap.

scene2_b

test_preview_num_faces

Kiểm thử tính năng phát hiện khuôn mặt trong bản xem trước với độ đa dạng về tông da tăng lên trong các cảnh có khuôn mặt.

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

Đạt: Tìm thấy 3 khuôn mặt có các điểm trên khuôn mặt trong khung hình giới hạn khuôn mặt.

test_num_faces_fd_mode_1

Hình 102. Ví dụ về chế độ phát hiện khuôn mặt test_num_faces 1.

test_yuv_jpeg_capture_sameness

Chụp 2 bức ảnh bằng cách sử dụng các định dạng YUV và JPEG phổ biế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ề hai nền tảng. Chuyển đổi cả hai hình ảnh thành mảng RGB và tính toán sự khác biệt về căn bậc hai trung bình (RMS) 3D giữa hai hình ảnh.

Ngoài ra, 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ợ tương đối giống với YUV trong trường hợp sử dụng STILL_CAPTURE.

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

Đạt: Hình ảnh YUV và JPEG cho trường hợp sử dụng STILL_CAPTURE có sự khác biệt RMS (giá trị trung bình bình phương căn của tín hiệu) dưới 3%; hình ảnh YUV cho tất cả các trường hợp sử dụng được hỗ trợ có sự khác biệt RMS dưới 10% so với hình ảnh YUV trong 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 độ đa dạng về tông da tăng lên trong các cảnh khuôn mặt.

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

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

test_num_faces_fd_mode_1

Hình 103. Ví dụ về chế độ phát hiện khuôn mặt test_num_faces.

test_jpeg_capture_perf_class

Kiểm thử độ trễ chụp JPEG cho lớp hiệu suất S như được chỉ định trong mục 2.2.7.2 Camera trong CDD.

Đạt: PHẢI có độ trễ chụp ảnh JPEG bằng camera2 < 1000 ms cho độ phân giải 1080p theo đo lường của CTS camera PerformanceTest trong điều kiện ánh sáng ITS (3000K) cho cả camera chính.

test_camera_launch_perf_class

Kiểm thử độ trễ khi khởi chạy camera cho lớp hiệu suất S theo quy định tại mục 2.2.7.2 Camera 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 ánh sáng ITS (3000K) cho cả hai camera chính.

test_default_camera_hdr

Các bài kiểm thử mà chế độ chụp mặc định của camera là Ultra HDR cho lớp hiệu suất 15 như được chỉ định trong mục 2.2.7.2 Camera của CDD.

Đạt: Gói chụp ảnh mặc định của camera PHẢI là Ultra HDR đối với thiết bị có hiệu suất loại 15.

scene2_d

test_preview_num_faces

Kiểm thử tính năng phát hiện khuôn mặt trong bản xem trước với độ đa dạng về tông da tăng lên trong các cảnh có khuôn mặt.

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

Đạt: Tìm thấy 3 khuôn mặt có các điểm trên khuôn mặt trong khung hình giới hạn khuôn mặt.

scene2_e

test_continuous_picture

50 khung hình có độ phân giải VGA được ghi lại bằng chế độ cài đặt đầu tiên của yêu cầu ghi hình android.control.afMode = 4 (CONTINUOUS_PICTURE).

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

Đạt: Hệ thống 3A ổn định vào cuối 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 độ đa dạng về tông da tăng lên trong các cảnh khuôn mặt.

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

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

scene2_f

scene2_f có 3 khuôn mặt với nền trắng và quần áo màu trắng. Các khuôn mặt có nhiều tông màu da và độ tương phản cao với nền.

scene2_f example

Hình 104. Ví dụ về scene2_f.

test_preview_num_faces

Kiểm thử tính năng phát hiện khuôn mặt với độ đa dạng về tông da tăng lên trong các cảnh khuôn mặt.

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

Đạt: Tìm thấy 3 khuôn mặt có các điểm trên khuôn mặt trong khung hình giới hạn khuôn mặt.

test_num_faces_fd_mode_1

Hình 105. Ví dụ về test_num_faces_fd_mode_1.

scene2_g

scene2_g có 3 khuôn mặt hồ sơ với nền trắng và quần áo màu trắng. Các khuôn mặt có nhiều tông màu da và độ tương phản cao với nền.

scene2_g.png

Hình 106. Ví dụ về scene2_g.

test_preview_num_faces

Kiểm thử tính năng phát hiện khuôn mặt với độ đa dạng về tông da tăng lên trong các cảnh khuôn mặt.

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

Đạt: Tìm thấy 3 khuôn mặt có các điểm trên khuôn mặt trong khung hình giới hạn khuôn mặt.

test_preview_num_faces

Hình 107. Ví dụ về test_preview_num_faces.

scene3

scene3 sử dụng biểu đồ ISO12233 và hầu hết các bài kiểm tra đề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 để bộ tìm biểu đồ hoạt động tối ưu.

test_edge_enhancement

Kiểm thử để đảm bảo tham số android.edge.mode được áp dụng đúng cách. Chụp ảnh không xử lý lại cho từng chế độ cạnh và trả về độ sắc nét của hình ảnh đầu ra và siêu dữ liệu kết quả chụp. Xử lý một yêu cầu chụp với 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 đã cho.

Pass: Chế độ HQ (2) sắc nét hơn chế độ OFF (0). 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 đã được kiểm thử:

Các thông số camera bị ảnh hưởng:

  • EDGE_MODE

test_edge_enhancement_edge=0

Hình 108. Ví dụ về test_edge_enhancement edge=0.

test_edge_enhancement edge=1 example

Hình 109. Ví dụ về test_edge_enhancement edge=1 (chế độ nhanh).

Ví dụ về test_edge_enhancement edge=2

Hình 110. Ví dụ về test_edge_enhancement edge=2 (chế độ chất lượng cao).

test_flip_mirror

Kiểm tra xem hình ảnh có được định hướng đúng theo 7.5.2 Camera trước trong CDD hay không.

Bạn có thể nhận biết hình ảnh bị phản chiếu, lật hoặc xoay bằng tính năng hình kim cương ở gần tâm.

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

Ví dụ về bản vá cảnh test_flip_mirror

Hình 111. Ví dụ về bản vá cảnh test_flip_mirror.

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à ghi lại bản xem trước có độ phân giải cao.

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

Mật khẩu:

  • Độ lệch của con quay hồi chuyển nhỏ hơn 0,01 rad trong thời gian thử nghiệm.
  • Phương sai của số đọc con quay hồi chuyển nhỏ hơn 1E-7 rad2/s2/Hz trong thời gian thử nghiệm.
  • Độ lệch của vectơ xoay nhỏ hơn 0,01 rad trong thời gian thử nghiệm.
  • (Chưa bắt buộc) Độ lệch của con quay hồi chuyển nhỏ hơn 1 độ mỗi giây.

Ví dụ về độ lệch con quay hồi chuyển test_imu_drift

Hình 112. Ví dụ về độ lệch con quay hồi chuyển test_imu_drift.

Ví dụ về độ trôi của vectơ xoay test_imu_drift

Hình 113. Ví dụ về độ lệch vectơ xoay test_imu_drift.

test_landscape_to_portrait

Kiểm thử xem chế độ ghi đè từ hướng ngang sang hướng 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 đã được kiểm thử:

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

Ví dụ về test_landscape_to_portrait

Hình 114. Ví dụ về test_landscape_to_portrait.

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 bức ảnh, trong đó 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. Độ sắc nét cuối cùng sẽ ổn định khi ống 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 so với độ sắc nét trong vài khung hình đầu tiên khi ố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 khi ống kính đứng yên ở khoảng cách tiêu cự tối thiểu. Khung hình chính xác mà ống kính di chuyển không quan trọng: điều quan trọng là cờ di chuyển được xác nhận khi ống kính đang di chuyển.

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

Đạt: Cờ chuyển động của ống kính là True trong khung hình có sự thay đổi về độ sắc nét.

Cơ chế thất bại:

  • lens_moving: True (android.hardware.camera2.CaptureResult#LENS_STATE = 1) trong test_log.DEBUG chỉ được xác nhận trong những khung hình không thay đổi độ sắc nét.
  • Các khung hình có lens_moving: False (android.hardware.camera2.CaptureResult#LENS_STATE = 0) trong test_log.DEBUG có sự khác biệt về độ sắc nét so với một vài khung hình đầu tiên ở khoảng cách tiêu cự tối ưu hoặc một vài khung hình cuối cùng ở khoảng cách lấy nét 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ế độ khác nhau để chụp khi chế độ cạnh xử lý lại bị tắt.

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

Đạt: Độ sắc nét cho các chế độ cạnh 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ế độ là tương tự nhau.

Ví dụ về biểu đồ test_reprocess_edge_enhancement

Hình 115. Ví dụ về biểu đồ test_reprocess_edge_enhancement.

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ừ Android 15, bạn có thể sử dụng check_alignment.py trong thư mục công cụ để bật chế độ kiểm tra việc căn chỉnh DUT và biểu đồ.

Ví dụ về scene4

Hình 116. Ví dụ về scene4.

test_30_60fps_preview_fov_match

Kiểm thử để đảm bảo video xem trước 30 FPS và 60 FPS có cùng FoV. Bài kiểm thử này ghi lại 2 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à phân tích để xác minh rằng các thay đổi về FoV trong hai video nằm trong phạm vi quy cách. Kiểm tra để đảm bảo tỷ lệ khung hình của hình tròn không đổi, tâm của hình tròn không đổi và bán kính của hình tròn không đổi.

Các API đã được 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à mức thay đổi tỷ lệ khung hình tối đa giữa video 30 FPS và 60 FPS không quá 7,5%

Cơ chế thất bại:

  • Vòng tròn trong video 30 khung hình/giây có kích thước khác biệt đáng kể so với video 60 khung hình/giây.
  • Vòng tròn trong ảnh chụp bị biến dạng do 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 có tỷ lệ khung hình cực đoan 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 chụp được có một vết phản chiếu ở giữa và không xuất hiện đầy đủ.

test_aspect_ratio_and_crop

Kiểm tra xem hình ảnh có bị biến dạng hoặc cắt xén ngoài ý muốn trong quy trình xử lý hình ảnh hay không. Chụp ảnh một vòng tròn trên mọi định dạng. Xác minh rằng hình tròn không bị biến dạng, không di chuyển khỏi tâm của 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 đã được 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à FoV tối đa có thể được giữ nguyên.

Cơ chế thất bại:

  • Camera không thẳng hàng với vòng tròn xuất hiện trên máy tính bảng ở giữa cảnh được chụp.
  • Vòng tròn trong ảnh chụp bị biến dạng do quy trình xử lý.
  • Hình ảnh có độ phân giải thấp hơn sẽ bị 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à hình ảnh có độ phân giải thấp.
  • Vòng tròn trong hình ảnh đã chụp bị cắt do yêu cầu chụp có tỷ lệ khung hình cực đoan 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 chụp được có một vết phản chiếu ở giữa và không xuất hiện đầy đủ.

test_multi_camera_alignment

Kiểm thử các thông số hiệu chuẩn camera liên quan đến vị trí camera cho hệ thống nhiều camera. Sử dụng các camera phụ vật lý có nhiều camera, chụp ảnh bằng một trong các camera vật lý. Tìm tâm đường tròn. Chiếu tâm đường tròn vào toạ độ thế giới cho từng camera. So sánh sự khác biệt giữa tâm đường tròn của các camera theo toạ độ thế giới. Chiếu lại toạ độ thế giới về toạ độ pixel và so sánh với toạ độ gố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 camera có khác nhau hay không.

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

Đạt: Tâm và kích thước của vòng tròn đúng 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 camera và tiêu cự.

Cơ chế thất bại:

  • LENS_INTRINSIC_CALIBRATION, LENS_POSE_TRANSLATIONLENS_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 camera 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à siêu rộng bằng giàn kiểm thử RFoV. Để biết thêm thông tin, hãy xem Câu hỏi thường gặp về ITS-in-a-box của camera Q1.

test_preview_aspect_ratio_and_crop

Tương tự như kiểm thử test_aspect_ratio_and_crop đối với ảnh chụp tĩnh, kiểm thử này sẽ kiểm tra các định dạng xem trước được hỗ trợ để xác minh rằng các khung hình xem trước không bị kéo giãn hoặc cắt xén không đúng cách. 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 giữ vòng tròn ở giữa khung hình và kích thước vòng tròn không thay đổi đối với một định dạng cố định hoặc với các độ phân giải khác nhau (kiểm tra FoV).

Các API đã được 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à FoV 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 một cách thích hợp. Bài kiểm thử này quay 2 video, một video có tính năng chống rung khi xem trước ON và một video 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 để xác minh rằng các thay đổi về FoV trong hai video nằm trong phạm vi quy cách.

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

Đạt: Tỷ lệ khung hình của vòng tròn vẫn gần như không đổi, vị trí tâm của vòng tròn vẫn ổn định và kích thước của vòng tròn không thay đổi quá 20%.

test_video_aspect_ratio_and_crop

Quay video về một vòng tròn bên trong một hình vuông ở mọi đị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 bị 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 một định dạng cố định hoặc với độ phân giải khác (kiểm tra FoV).

Các API đã được 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 tối đa có thể được giữ nguyên.

scene5

scene5 yêu cầu một cảnh 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 sử dụng bộ khuếch tán sau đây: www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168.

Để chuẩn bị cảnh, hãy gắn một bộ khuếch tán trước camera và hướng camera vào một nguồn sáng khoảng 2000 lux. Hình ảnh được chụp cho scene5 yêu cầu ánh sáng khuếch tán mà không có đặc điểm nào rõ ràng. Sau đây là hình ảnh mẫu:

scene5 example

Hình 117. Ví dụ về cách chụp cảnh 5.

test_lens_shading_and_color_uniformity

Kiểm thử để đảm bảo chế độ hiệu chỉnh độ đổ bóng của ống kính được áp dụng đúng cách và màu sắc của cảnh đơn sắc đồng nhất đượ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ện tượng đổ bóng ống kính được đánh giá dựa trên kênh y. Đo giá trị trung bình y cho mỗi khối mẫu được chỉ định và xác định kết quả đạt hoặc không đạt bằng cách so sánh với giá trị y ở tâm. Bài kiểm tra tính đồng nhất về màu sắc được đánh giá trong không gian màu đỏ-xanh lục và xanh dương-xanh lục.

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

Đạt: Tại bán kính đã chỉ định của hình ảnh, phương sai của giá trị đỏ-xanh lục và xanh dương-xanh lục 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 điểm đánh dấu ArUco có thể nhận dạng riêng biệt. Các kiểm thử trong scene6 có thể nhạy cảm với việc căn chỉnh, vì vậy, từ phiên bản 15 trở đi, bạn có thể sử dụng check_alignment.py trong thư mục công cụ để bật chế độ kiểm tra việc căn chỉnh DUT và biểu đồ.

scene6

Hình 118. Ví dụ về 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 camera, tạo ra hình ảnh thô bị cắt.

Khi 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 ảnh trong phạm vi thu phóng, một ảnh thô có FoV đầy đủ và một ảnh thô bị cắt. Thử nghiệm này chuyển đổi hình ảnh thành mảng RGB, giảm tỷ lệ hình ảnh thô đã cắt có 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 sự khác biệt RMS 3D giữa hai hình ảnh.

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

Đạt: Chênh lệch RMS 3D giữa hình ảnh thô đã cắt giảm tỷ lệ và hình ảnh thô có FoV đầy đủ nhỏ hơn ngưỡng được đặt trong kiểm thử.

test_zoom

Kiểm tra hành vi thu phóng của camera từ ống kính siêu rộng sang ống kính rộng. Chụp ảnh trong phạm vi thu phóng và kiểm tra xem các điểm đánh dấu ArUco có lớn hơn khi máy ảnh phóng to hay không. Bài kiểm thử này cũng kiểm tra xem vị trí của điểm đánh dấu trung tâm có thay đổi một cách có thể dự đoán được trong mỗi lần chụp hay không. Khoảng cách từ tâm của điểm đánh dấu trung tâm đến tâm của hình ảnh có thể thay đổi với tốc độ không đổi theo tỷ lệ thu phóng cho đến khi chuyển đổi camera thực, hoặc có thể thay đổi đơn điệu theo hướng vị trí của cùng một điểm đánh dấu sau khi chuyển đổi camera thực. Bạn phải cài đặt Ứng dụng Camera Jetpack (JCA) trên thiết bị trước khi kiểm thử.

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

Đạt: Kích thước tương đối của điểm đánh dấu ArUco đã chụp chính xác so với tỷ lệ thu phóng được yêu cầu để xác minh rằng máy ảnh đang thu phóng chính xác và khoảng cách của điểm đánh dấu đến tâm hình ảnh thay đổi theo tiêu chí nêu trong phần mô tả kiểm thử.

test_zoom để tìm đường viền của điểm đánh dấu ArUco gần tâm nhất

Hình 119. test_zoom để tìm đường viền của điểm đánh dấu ArUco 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 camera. 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 điểm đánh dấu 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 bằng camera được dùng để hội tụ 3A và chụp ảnh.

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

Đạt: Kích thước tương đối của điểm đánh dấu được chụp chính xác so với siêu dữ liệu kết quả của tỷ lệ thu phóng.

test_preview_video_zoom_match

Các thử nghiệm cho thấy trong khi quay 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 đầu ra. Tính toán kích thước của điểm đánh dấu 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 điểm đánh dấu có tăng khi tỷ lệ thu phóng tăng hay không.

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

Đạt: Kích thước tương đối của điểm đánh dấu được ghi lại 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.

HD_1280x720_key_frame.png

Hình 120. HD_1280x720_key_frame.png (trước khi thu phóng).

preview_1280x720_key_frame.png

Hình 121. preview_1280x720_key_frame.png (trước khi phóng to).

HD_1280x720_key_frame_zoomed.png

Hình 122. HD_1280x720_key_frame.png (sau khi thu phóng).

preview_1280x720_key_frame_zoomed.png

Hình 123. preview_1280x720_key_frame.png (sau khi phóng to).

test_preview_zoom

Kiểm thử để đảm bảo tỷ lệ thu phóng của mỗi khung hình xem trước khớp với siêu dữ liệu chụp tương ứng từ ống kính siêu rộng đến ống kính rộng. Thử nghiệm này lấy các khung hình xem trước trong phạm vi thu phóng và tìm điểm đánh dấu ArUco gần tâm nhất. Sau đó, kiểm tra xem vị trí của điểm đánh dấu trung tâm có thay đổi một cách có thể dự đoán được trong mỗi lần chụp hay không. Khoảng cách từ tâm của điểm đánh dấu trung tâm đến tâm của hình ảnh có thể thay đổi với tốc độ không đổi theo tỷ lệ thu phóng cho đến khi chuyển đổi camera thực, hoặc có thể thay đổi đơn điệu theo hướng vị trí của cùng một điểm đánh dấu sau khi chuyển đổi camera thực.

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

Đạt: Kích thước tương đối của điểm đánh dấu ArUco đã 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 hình xem trước. Khoảng cách tương đối của điểm đánh dấu đã chọn so với tâm của 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 hình xem trước.

Hình ảnh test_preview_zoom cho thấy điểm đánh dấu đã chọn gần tâm nhất

Hình 124. Hình ảnh test_preview_zoom cho thấy điểm đánh dấu được 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ác cấu hình phiên được hỗ trợ có trong CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION. Đối với mỗi cấu hình đó, nếu CameraDeviceSetup#isSessionConfigurationSupported trả về true, thì quy trình kiểm thử sẽ xác minh rằng có thể đạt được dải tỷ lệ thu phóng được trả về trong CameraDeviceSetup#getSessionCharacteristics.

Các API đã được 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 từng SessionConfiguration được hỗ trợ có 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 4 góc ngoài của hình chữ nhật để hỗ trợ việc 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

Hình 125. scene7.

test_multi_camera_switch

Thử nghiệm này xác minh rằng trong quá trình ghi hình xem trước ở các tỷ lệ thu phóng khác nhau, việc chuyển đổi giữa ống kính siêu rộng (UW) và ống kính rộng (W) sẽ cho ra các giá trị RGB tương tự nhau.

Bài kiểm thử sử dụng các tỷ lệ thu phóng khác nhau trong phạm vi xác định trước để thực hiện bản ghi xem trước động và xác định điểm mà camera thực thay đổi. Điểm này đánh dấu sự 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 giao nhau sẽ được phân tích để xác định độ phơi sáng tự động (AE), cân bằng trắng tự động (AWB) và tự động lấy nét (AF).

Chế độ kiểm tra AE xác minh rằng sự thay đổi về độ chói nằm trong phạm vi dự kiến cho cả hình ảnh ống kính UW và W. Quy trình kiểm tra AWB xác minh rằng tỷ lệ giữa màu đỏ và màu xanh lục, cũng như màu xanh dương và màu xanh lục nằm trong các giá trị ngưỡng cho cả hình ảnh ống kính UW và W. Chế độ kiểm tra AF đánh giá giá trị ước tính độ sắc nét dựa trên độ lớn trung bình của độ dốc giữa hình ảnh ống kính UW và W.

Trong khi thực hiện thử nghiệm này, nếu hiệu ứng Moire ảnh hưởng đến kết quả, hãy sử dụng một máy tính bảng có độ phân giải cao hơn trong danh sách Danh sách máy tính bảng được Camera ITS phê duyệt.

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

Đạt: Để bài kiểm thử đạt, các bước kiểm tra AE và AWB phải đạt. Kết quả kiểm tra AF chỉ được dùng cho mục đích ghi nhật ký. Sau đây là các tiêu chí cho từng bước kiểm tra:

  • Kiểm tra AE: Sự thay đổi độ chói (giá trị Y) giữa hình ảnh ống kính siêu rộng và ống kính rộng phải nhỏ hơn 4% đối với tất cả các mảng màu nếu thiết bị hỗ trợ cả ae_regionsawb_regions. Nếu chỉ hỗ trợ ae_regions thì chỉ các giá trị của mảng màu xám mới phải đáp ứng tiêu chí.
  • Kiểm tra AWB: Chênh lệch giữa giá trị đỏ-xanh lục và xanh lam-xanh lục đối với hình ảnh ống kính UW và W phải nhỏ hơn 3% đối với mảng màu xám và phải nhỏ hơn 10% đối với các mảng màu khác nếu thiết bị hỗ trợ cả ae_regionsawb_regions.
  • Kiểm tra AF: Độ sắc nét của hình ảnh chụp bằng ống kính W phải cao hơn độ sắc nét của hình ảnh chụp bằng ống kính UW.

test_multi_camera_switch_gray_uw_y

Hình 126. Mảng màu xám được chụp bằng ống kính siêu rộng.

test_multi_camera_switch_gray_w_y

Hình 127. Mảng màu xám được chụp bằng ống kính W.

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 độ màu khác (sắc độ xanh dương, tăng độ phơi sáng, giảm độ phơi sáng, sắc độ vàng). Bốn điểm đánh dấu ArUco được căn chỉnh với 4 góc ngoài của hình chữ nhật để có được toạ độ chính xác của khung hình chữ nhật chính.

Ví dụ về scene8

Hình 128. Ví dụ về scene8.

test_ae_awb_regions

Kiểm tra xem giá trị RGB và độ chói có khác nhau hay không khi xem trước bản ghi ở các vùng AE và AWB khác nhau.

Bài kiểm thử sẽ quay một bản ghi xem trước dài 8 giây, thực hiện đ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 mỗi khu vực và dùng các khung hình đã 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 vùng có độ phơi sáng giảm có giá trị độ chói tăng hơn 1% so với khung hình đo sáng vùng 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ệ giữa màu đỏ và màu xanh dương (trong các giá trị RGB trung bình của hình ảnh) trong khung hình có vùng đo sáng màu xanh dương cao hơn 2% so với khung hình 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 đã được kiểm thử:

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

test_ae_awb_regions_dark_region

Hình 129. Đo sáng khung hình vùng tối với độ phơi sáng tăng lên.

test_ae_awb_regions_light_region

Hình 130. Vùng sáng đo sáng khung hình có độ phơi sáng giảm.

Cơ chế thất bại:

  • 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 bài kiểm thử này. Nếu lần phát hiện ban đầu không thành công, hệ thống sẽ thử phát hiện lần thứ hai bằng cách sử dụng phiên bản đen trắng của hình ảnh. Hình ảnh thang độ xám sau đây biểu thị bước xử lý thứ cấp:

    Điểm đánh dấu ArUco bị lệch

    Hình 131. Điểm đánh dấu ArUco bị lệch.

test_color_correction_mode_cct

Kiểm thử COLOR_CORRECTION_MODE ở nhiều nhiệt độ màu và sắc độ, xác minh các thay đổi về tỷ lệ RGB so với cảnh chụp, scene8.

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

Đạt: Tỷ lệ RGB cho thấy mức tăng hoặc giảm dự kiến so với nhiệt độ màu và sắc độ đã chọn.

Tiêu chí bỏ qua kiểm thử

Thử nghiệm test_color_correction_mode_cct sẽ bị bỏ qua nếu đáp ứng bất kỳ tiêu chí nào sau đây:

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

Hình 132. Ví dụ về scene9.

test_jpeg_high_entropy

Các kiểm thử cho thấy tính năng nén JPEG của camera hoạt động trên scene9 với entropy cao và hệ số chất lượng JPEG được đặt thành 100%. Hệ số thu phóng được tăng lên để xác minh rằng cảnh hiển thị trên máy tính bảng lấp đầy FoV của camera.

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

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

test_jpeg_quality

Kiểm thử chất lượng nén JPEG của camera. Bước chất lượng JPEG thông qua android.jpeg.quality và xác minh rằng các bảng lượng tử hoá thay đổi chính xác.

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

Đạt: Ma trận lượng tử hoá giảm khi chất lượng tăng. (Ma trận này biểu thị hệ số phân chia.)

Giá trị trung bình của ma trận DQT về độ chói và độ bão hoà của camera sau trên Pixel 4 so với chất lượng JPEG

Hình 133. Giá trị trung bình của ma trận DQT về độ chói và độ bão hoà 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 test_jpeg_quality

Hình 134. Ví dụ về kiểm thử không thành công.

scene_video

scene_video là một cảnh video gồm 4 vòng tròn có màu sắc 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.

Hình 135. Ví dụ về 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 vẫn duy trì với một cảnh động. Bài kiểm thử này chạy trên tất cả các camera được cung cấp cho ứng dụng bên thứ ba.

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

Đạt: Tốc độ khung hình xem trước ở mức tối đa của dải tốc độ khung hình được yêu cầu và mức 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 thử nghiệm.

scene_extensions

Các kiểm thử scene_extensions dành cho các tiện ích camera và phải sử dụng Camera ITS-in-a-Box, vì chúng 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 hiện tượng rò rỉ ánh sáng. Việc này có thể yêu cầu bạn phủ một tấm vải lên giàn thử nghiệm, DUT và máy tính bảng, 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ã QR có độ tương phản thấp ở bên phải.

scene_hdr

Hình 136. Ví dụ về scene_hdr.

test_hdr_extension

Kiểm thử tiện ích HDR. Chụp ảnh khi bật và tắ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 đã được kiểm thử:

Đạt: Tiện ích HDR giảm số lượng thay đổi về độ 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 các ô vuông có nhiều sắc độ xám trên nền đen và lưới các ô vuông được bao quanh bởi một đường viền màu đỏ. Các ô vuông được sắp xếp theo hướng đường cong Hilbert.

scene_low_light example

Hình 137. Ví dụ về scene_low_light.

test_night_extension

Kiểm thử tiện ích Night. Chụp ảnh khi bật tiện ích và thực hiện những việc sau:

  • Phát hiện sự hiện diện của 20 hình vuông
  • Tính toán độ chói bị giới hạn bởi mỗi hình vuông
  • Tính giá trị luma trung bình của 6 ô vuông đầu tiên theo hướng lưới đường cong Hilbert
  • Tính mức chênh lệch về giá trị độ chói của các ô vuông liên tiếp (ví dụ: ô vuông 2 – ô vuông 1) cho đến ô vuông 5 và 6 (ô vuông 6 – ô vuông 5), đồng thời tìm giá trị trung bình của 5 mức chênh lệch đã tính.

Đối với các thiết bị chạy Android 16 trở lên, yêu cầu chụp bao gồm một vùng đo lường tương ứng với hình chữ nhật giới hạn lưới ô vuông. Việc bổ sung này làm thay đổi tiêu chí đạt ngưỡng.

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

Mật khẩu:

  • Đối với các thiết bị chạy Android 16 trở lên, giá trị độ chói trung bình của 6 ô vuông đầu tiên phải ít nhất là 80 và mức chênh lệch trung bình về giá trị độ chói của các ô vuông liên tiếp cho đến ô vuông thứ 5 và thứ 6 phải ít nhất là 18, 75.
  • Đối với các thiết bị chạy Android 15 trở xuống, giá trị độ chói trung bình của 6 ô 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ị độ chói của các ô vuông liên tiếp cho đến ô vuông thứ 5 và thứ 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.

Ví dụ về bài kiểm thử cảnh đêm trong điều kiện thiếu sáng

Hình 138. Ví dụ về bài kiểm thử cảnh đêm trong điều kiện thiếu sáng.

test_low_light_boost_extension

Kiểm thử chế độ AE Tăng cường ánh sáng yếu. 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 camera ở 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ì thử nghiệm này cũng được thực hiện cho tiện ích camera ở chế độ ban đêm. Bài 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 độ chói bị giới hạn bởi mỗi hộp
  • Tính giá trị luma trung bình của 6 ô vuông đầu tiên theo hướng lưới đường cong Hilbert
  • Tính mức chênh lệch về giá trị độ chói của các ô vuông liên tiếp (ví dụ: ô vuông 2 – ô vuông 1) cho đến ô vuông 5 và 6 (ô vuông 6 – ô vuông 5), đồng thời tìm giá trị trung bình của 5 mức chênh lệch đã tính.

Đối với các thiết bị chạy Android 16 trở lên, yêu cầu chụp bao gồm một vùng đo lường tương ứng với hình chữ nhật giới hạn lưới ô vuông. Việc bổ sung này làm thay đổi tiêu chí đạt ngưỡng.

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

Mật khẩu:

  • Đối với các thiết bị chạy Android 16 trở lên, giá trị luma trung bình của 6 ô vuông đầu tiên phải ít nhất là 54 và mức chênh lệch trung bình về giá trị luma của các ô vuông liên tiếp cho đến ô vuông thứ 5 và thứ 6 phải ít nhất là 17.

  • Đối với các thiết bị chạy Android 15 trở xuống, giá trị độ chói trung bình của 6 ô vuông đầu tiên phải ít nhất là 70 và sự khác biệt trung bình về giá trị độ chói của các ô vuông liên tiếp cho đến ô vuông thứ 5 và thứ 6 phải ít nhất là 18.

scene_tele

Một yêu cầu quan trọng đối với các bài kiểm tra scene_tele là khoảng cách biểu đồ phải ít nhất bằng khoảng cách lấy nét tối thiểu của ống kính tele. Vì khoảng cách lấy nét tối thiểu này có thể khác nhau giữa các thiết bị, nên bạn phải định cấu hình chế độ thiết lập cho phù hợp với camera tele cụ thể.

thiết lập scene_tele dựa trên khoảng cách lấy nét của camera góc rộng và camera tele

Hình 139. Thiết lập scene_tele dựa trên khoảng cách lấy nét của camera góc rộng và camera tele.

Để biết thêm thông tin về cách thiết lập phần cứng kiểm thử, hãy xem phần Thiết lập giàn mở rộng từ xa.

scene6_tele

Cảnh scene6_tele bao gồm một lưới các điểm đánh dấu ArUco trên nền trắng.

Nếu ảnh chụp scene6_tele có vẻ bị phơi sáng quá mức trong giàn mô-đun, hãy tháo tấm trước của giàn mô-đun.

Ngắt kết nối giàn thử nghiệm WFoV khỏi phần mở rộng và tháo giá đỡ điện thoại.

Ngắt kết nối thiết bị kiểm thử WFoV khỏi phần mở rộng và tháo giá đỡ điện thoại

Hình 140. Ngắt kết nối giàn thử nghiệm WFoV khỏi phần mở rộng và tháo giá đỡ điện thoại.

remove_front_plate

Hình 141. Tháo tấm mặt trước.

test_zoom_tele

Kiểm thử hành vi thu phóng của camera từ ống kính rộng sang ống kính tele. Bài kiểm tra này giống với test_zoom, nhưng kiểm tra hành vi thu phóng của camera từ ống kính rộng sang ống kính tele.

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

Đạt: Kích thước tương đối của điểm đánh dấu ArUco đã chụp chính xác so với tỷ lệ thu phóng được yêu cầu để xác minh rằng máy ảnh đang thu phóng chính xác và khoảng cách của điểm đánh dấu đến tâm hình ảnh thay đổi theo các tiêu chí được liệt kê trong test_zoom.

test_preview_zoom_tele

Kiểm thử hành vi thu phóng của camera đối với các khung hình xem trước từ ống kính góc rộng đến ống kính tele. Bài kiểm thử này giống với test_preview_zoom, nhưng kiểm thử hành vi thu phóng của camera đối với các khung hình xem trước từ ống kính rộng đến ống kính tele.

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

Đạt: Kích thước tương đối của điểm đánh dấu ArUco đã chụp chính xác so với tỷ lệ thu phóng được yêu cầu để xác minh rằng máy ảnh đang thu phóng chính xác và khoảng cách của điểm đánh dấu đến tâm hình ảnh thay đổi theo các tiêu chí được liệt kê trong test_preview_zoom.

scene7_tele

scene7_tele giống với scene7, nhưng được thiết lập để kiểm thử ống kính tele. Đây 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ó một màu sắc 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 4 góc ngoài của hình chữ nhật để hỗ trợ việc 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.

test_multi_camera_switch_tele

Thử nghiệm này xác minh rằng trong quá trình ghi hình xem trước ở các tỷ lệ thu phóng khác nhau, việc chuyển đổi giữa ống kính góc rộng (W) và ống kính tele (tele) sẽ cho ra các giá trị RGB tương tự.

Bài kiểm thử sử dụng các tỷ lệ thu phóng khác nhau trong phạm vi xác định trước để thực hiện bản ghi xem trước động và xác định điểm mà camera thực thay đổi. Điểm này đánh dấu sự chuyển đổi từ ống kính W sang ống kính tele.

Các khung hình được chụp tại và trước điểm giao nhau sẽ được phân tích về AE, AWB và AF.

Quy trình kiểm tra AE xác minh rằng sự thay đổi về độ chói nằm trong phạm vi dự kiến cho cả hình ảnh ống kính W và ống kính tele. Quy trình kiểm tra AWB xác minh rằng tỷ lệ giữa màu đỏ và màu xanh lục, cũng như màu xanh dương và màu xanh lục nằm trong các giá trị ngưỡng cho cả hình ảnh ống kính W và ống kính tele. Chế độ kiểm tra AF đánh giá giá trị ước tính độ sắc nét dựa trên độ lớn độ dốc trung bình giữa hình ảnh ống kính W và ống kính tele.

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

Đạt: Để kiểm thử đạt, 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: Sự thay đổi độ chói giữa hình ảnh ống kính W và ống kính tele phải nhỏ hơn 4%.
  • Kiểm tra AWB: Trong không gian màu LAB, delta C giữa màu đỏ và màu xanh lục, màu xanh dương và màu xanh lục đối với ống kính góc rộng và ống kính tele không được vượt quá 10.
  • Kiểm tra AF: Độ sắc nét của hình ảnh do ống kính tele chụp phải cao hơn ống kính W.

scene_flash

Các bài kiểm tra scene_flash yêu cầu có cảnh tối trong hộp hợp nhất cảm biến.

test_auto_flash

Các bài kiểm thử cho biết đèn flash tự động được kích hoạt trong cảnh tối đối với camera sau và camera trước. Đối với camera trước, đèn flash tự động sử dụng màn hình để chiếu sáng cảnh, chứ không phải một thiết bị đèn flash vật lý. Bài kiểm thử này xác minh rằng đèn flash tự động được kích hoạt bằng cách kiểm tra xem tâm của hình ảnh ô có sáng hơn khi bật đèn flash tự động hay không. Để kích hoạt tính năng tự động nháy sáng, bạn phải tắt đèn trong giàn thử nghiệm. Đèn có thể tự động tắt bằng bộ điều khiển Arduino. Cảnh phải hoàn toàn tối để kiểm tra đúng cách. Bạn phải cài đặt Ứng dụng Camera Jetpack (JCA) trên thiết bị trước khi kiểm thử. Đèn flash tự động cho camera sau dựa vào trạng thái AE để kích hoạt, nhưng đèn flash tự động cho camera trước không dựa vào AE và luôn được kích hoạt.

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

Đạt: Tâm của hình ảnh ô có chế độ đèn flash tự động được bật sẽ sáng hơn hình ảnh cảnh gốc đối với tất cả các camera.

test_flash_strength

Các kiểm thử 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ợ chế độ kiểm soát cường độ đèn flash trong quá trình sử dụng camera ở chế độ SINGLE, thì cường độ đèn flash sẽ thay đổi theo các mức cường độ được yêu cầu khác nhau. Xác minh rằng chế độ kiểm soát cường độ đèn flash hoạt động với nhiều AE_MODES. Ví dụ: nếu chế độ phơi sáng tự động là ON hoặc OFF, thì mức cường độ đèn flash sẽ ảnh hưởng đến độ sáng. Nếu chế độ là ON_AUTO_FLASH, thì mức 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 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 để kiểm tra đúng cách.

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

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 hình ảnh sẽ tăng lên khi mức cường độ đèn flash tăng từ không có đèn flash lên FLASH_SINGLE_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ảng hình ảnh 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 của đèn LED không làm bão hoà hoặc làm đổi 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 Sensor Fusion Box để điều khiển đèn. Khi đèn được đặt thành OFF, quy trình kiểm thử sẽ chụp ảnh ở 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 chuỗi trước khi chụp với chế độ cài đặt trình kích hoạt aePrecapture 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 của 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, kiểm thử sẽ tính toán tỷ lệ đỏ-xanh lục và xanh dương-xanh lục, đồ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 đã được kiểm thử:

Đạt: Tỷ lệ đỏ – xanh lục và xanh dương – xanh lục nằm trong khoảng từ 0,95 đến 1,05. Giá trị trung bình của hình ảnh có đèn flash nằm trong khoảng (68, 102).

test_night_mode_indicator

Kiểm thử chức năng của chỉ báo chế độ ban đêm, một tính năng cho biết liệu camera có đang hoạt động trong điều kiện ánh sáng yếu hay không và có được lợi từ tiện ích Chế độ ban đêm chụp ảnh tĩnh bằng camera hay không. Tính năng này chỉ có trên những thiết bị hỗ trợ tiện ích Camera ở chế độ ban đêm.

Bài kiểm thử này kiểm tra để đảm bảo chỉ báo chế độ ban đêm phản ánh chính xác điều kiện ánh sáng trong quá trình xem trước bằng camera. Bài kiểm thử thực hiện các bước sau:

  1. Khởi chạy: Thử nghiệm khởi chạy một ItsSession và truy xuất các thuộc tính của camera. Thiết bị này cũng thiết lập kết nối với bộ điều khiển đèn.
  2. Điều kiện bỏ qua: Thử nghiệm sẽ bị bỏ qua nếu thiết bị không hỗ trợ cấp độ API bắt buộc hoặc tính năng chỉ báo chế độ ban đêm.
  3. Phiên Camera2:
    • Bài kiểm thử bắt đầu một phiên chụp xem trước bằng cách sử dụng phiên Camera2.
    • Đèn bật và một khung hình xem trước được chụp.
    • Bài kiểm thử này xác minh rằng chỉ báo chế độ ban đêm đang ở trạng thái OFF.
    • Đèn sẽ tắt và một khung hình xem trước sẽ được chụp.
    • Bài kiểm thử này xác minh rằng chỉ báo chế độ ban đêm đang ở trạng thái ON.
  4. Phiên tiện ích máy ảnh:
    • Thử nghiệm này lặp lại quy trình tương tự như đối với phiên Camera2, nhưng sử dụng phiên CameraExtension có tiện ích EXTENSION_NIGHT.
  5. Dọn dẹp: Thử nghiệm đóng ItsSession và giải phóng bộ điều khiển ánh sáng.

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

Mật khẩu:

  • Khi đèn bật, chỉ báo chế độ ban đêm phải ở trạng thái OFF.
  • Khi đèn tắt, chỉ báo chế độ ban đêm phải ở trạng thái ON.
  • Áp dụng cho cả phiên Camera2CameraExtension.

test_preview_min_frame_rate

Kiểm thử để đảm bảo tốc độ khung hình xem trước giảm đúng cách trong cảnh tối. Để 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 kiểm thử hoặc nhân viên kiểm thử phải tắt đèn theo cách thủ công.

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

Đạt: Tốc độ khung hình xem trước ở mức tối thiểu của dải 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

Các kiểm thử 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ợ chế độ kiểm soát cường độ đèn flash trong khi sử dụng camera ở chế độ TORCH, thì cường độ đèn pin sẽ thay đổi theo các mức cường độ được yêu cầu khác nhau. Xác minh rằng chế độ kiểm soát cường độ đèn flash hoạt động với nhiều AE_MODES. Ví dụ: nếu chế độ phơi sáng tự động là ON hoặc OFF, thì mức cường độ đèn flash sẽ ảnh hưởng đến độ sáng. Nếu chế độ là ON_AUTO_FLASH, thì mức 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 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 giàn kiểm thử. Đèn có thể tự động tắt bằng bộ điều khiển Arduino. Cảnh phải hoàn toàn tối để kiểm tra đúng cách.

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

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 chụp liên tục sẽ tăng khi mức cườ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ảng ảnh chụp liên tục 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_TORCH_STRENGTH_MAX_LEVEL.

sensor_fusion

Các bài kiểm thử hợp nhất cảm biến yêu cầu điện thoại phải di chuyển theo một cách cụ thể trước một mẫu bàn cờ và các điểm đánh dấu ArUco. Để có kết quả tối ưu, hãy xác minh rằng biểu đồ kiểm thử được gắn phẳng. Những biểu đồ không bằng phẳng sẽ ảnh hưởng đến các phép tính xoay cho nhiều thử nghiệm. 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 17x17 inch. (43x43 cm). Bạn có thể tự động hoá các quy trình kiểm thử sensor_fusion bằng Sensor Fusion Box.

Biểu đồ kết hợp cảm biến

Hình 142. Biểu đồ kết hợp cảm biến.

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

Hình 143. Biểu đồ kết hợp cảm biến lấp đầy mặt sau của hộp kết hợp cảm biến.

test_lens_intrinsic_calibration

Kiểm thử rằng tâm quang học của ống kính thay đổ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 các mẫu nội tại của ống kính được hỗ trợ, hãy kiểm thử xem tâm quang học của các mẫu nội tại của ống kính có thay đổi hay không khi ống kính di chuyển do OIS.

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

Đạt: Tâm quang học của ống kính thay đổi từ 1 pixel trở lên. Nếu các mẫu nội tại của ống kính được hỗ trợ, thì tâm quang học của các mẫu nội tại của ống kính sẽ thay đổi từ 1 pixel trở lên.

Hình sau đây là ví dụ về biểu đồ test_lens_intrinsic_calibration cho thấy những thay đổi về điểm chính theo pixel cho mỗi khung hình:

test_lens_intrinsic_calibration_example.png

Hình 144. Ví dụ về biểu đồ test_lens_intrinsic_calibration cho thấy những thay đổi về điểm chính theo pixel cho mỗi khung hình.

test_multi_camera_frame_sync

Các bài kiểm thử có dấu thời gian khung hình do camera logic ghi lại nằm trong khoảng 10 mili giây 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 đã được kiểm thử:

Đạt: Góc giữa các hình ảnh từ mỗi camera không thay đổi đáng kể khi điện thoại xoay.

test_preview_distortion

Kiểm thử để đảm bảo hiện tượng biến dạng được điều chỉnh trong từng khung hình xem trước được chụp ở nhiều mức thu phóng. Đối với mỗi khung hình xem trước, kiểm thử sẽ tính toán các điểm lý tưởng dựa trên các thông số nội tại và bên ngoài của camera.

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 biến dạng được tính dựa trên khoảng cách pixel RMS giữa các điểm thực tế và điểm lý tưởng. Đ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 khu vực có lỗi biến dạng.

test_preview_distortion_example.jpg

Hình 145. Hình ảnh bàn cờ với các điểm lý tưởng là màu xanh lục và các điểm thực tế là màu đỏ.

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

Đạt: Sai số biến dạng được chuẩn hoá của mỗi khung hình xem trước nhỏ hơn ngưỡng được đặt trong kiểm thử.

test_preview_stabilization

Các thử nghiệm cho thấy video xem trước ổn định xoay ít hơn con quay hồi chuyển.

Các API đã được 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 hình ảnh:

Hình 146. Video mẫu có sử dụng tính năng ổn định.

Hình 147. 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 camera và con quay hồi chuyển cho các ứng dụng thực tế tăng cường và thực tế ảo. Điện thoại được xoay 90 độ 10 lần trước mẫu bàn cờ. Thời gian di chuyển là khoảng 2 giây cho cả chiều đi và về. Thử nghiệm này sẽ bị bỏ qua nếu không có con quay hồi chuyển hoặc nếu tham số nguồn dấu thời gian REALTIME không được bật.

Thử nghiệm 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 vào giá treo tường, làm giảm khả năng vượt qua bài kiểm tra. Số chu kỳ trong biểu đồ phụ thuộc vào tốc độ ghi để lưu khung hình.

    Ví dụ về các sự kiện con quay hồi chuyển test_sensor_fusion

    Hình 148. Ví dụ về các sự kiện con quay hồi chuyển test_sensor_fusion.

  • test_sensor_fusion_plot_rotations: Cho biết sự liên kết của con quay hồi chuyển và các sự kiện trên camera. Biểu đồ này phải cho thấy chuyển động khớp giữa camera và con quay hồi chuyển trong khoảng +/-1 mili giây.

    Ví dụ về các phép xoay biểu đồ test_sensor_fusion

    Hình 149. Ví dụ về độ xoay biểu đồ test_sensor_fusion.

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

Đạt: Độ lệch của dấu thời gian máy ảnh và con quay hồi chuyển nhỏ hơn 1 mili giây theo 7.3.9 Cảm biến có độ trung thực cao trong CDD.

Cơ chế thất bại:

  • Lỗi độ lệch: Độ lệch của con quay hồi chuyển trong camera chưa được hiệu chỉnh chính xác trong khoảng +/-1 mili giây.
  • Giảm khung hình: Đường truyền không đủ nhanh để ghi lại 200 khung hình liên tục.
  • Lỗi ổ cắm: adb không thể kết nối với DUT đủ lâu để thực thi kiểm thử.
  • Biểu đồ không được gắn phẳng. Cốt truyện test_sensor_fusion_plot_rotations có những khung hình mà con quay hồi chuyển và độ xoay camera thay đổi đáng kể khi camera xoay qua các phần không bằng phẳng của biểu đồ.
  • Camera không được lắp đặt trên bề mặt phẳng. Biểu đồ test_sensor_fusion_gyro_events cho thấy chuyển động trên mặt phẳng X và Y. Lỗi này thường xảy ra hơn ở camera trước vì camera sau thường có một phần 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

Các thử nghiệm cho thấy video được ổn định xoay ít hơn con quay hồi chuyển.

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

Đạt: Góc xoay tối đa trên các khung hình nhỏ 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 hình ảnh.

Hình 150. Video mẫu có sử dụng tính năng ổn định.

Hình 151. Video mẫu không có tính năng ổn định.

test_video_stabilization_jca

Các thử nghiệm cho thấy video ổn định được quay bằng JCA xoay ít hơn so với con quay hồi chuyển. Bạn phải cài đặt JCA trên thiết bị trước khi kiểm thử.

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

Đạt: Góc xoay tối đa trên các khung hình được trích xuất từ video quay bằng JCA nhỏ hơn 70% góc xoay của con quay hồi chuyển.

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 camera đượ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 hợp nhất cảm biến.

test_feature_combination

Kiểm thử tất cả các tổ hợp của nhiều tổ hợp luồng, chế độ ổn định video, dải tốc độ khung hình mục tiêu, video HDR 10 bit và Ultra HDR mà thiết bị camera hỗ trợ.

Đối với Android 16 trở lên, 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 kết quả vào một tệp proto. Các câu lệnh khẳng định lỗi chỉ được gọi cho những tổ hợp tính năng mà isSessionConfigurationSupported trả về True.

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

scene_ip

Trong Android 16 trở lên, cảnh scene_ip cho phép kiểm tra tính chẵn lẻ của hình ảnh giữa ứng dụng máy ảnh mặc định và ứng dụng máy ảnh Jetpack (JCA) để xác định những điểm khác biệt chính giữa các hình ảnh đã chụp. JCA sao chép ảnh chụp màn hình của ứng dụng mạng xã hội và cung cấp một hình ảnh cơ sở mà sau đó các ứng dụng mạng xã hội sẽ xử lý và tinh chỉnh.

Yêu cầu về việc thiết lập phần cứng

Bạn phải thiết lập phần cứng như sau để chạy các bài kiểm thử scene_ip:

  • Các bài kiểm thử được thực thi trong ITS-in-a-box của camera Gen2.
  • Bộ điều khiển chiếu sáng và bộ điều khiển servo là một phần của giàn thử nghiệm Gen2, được dùng để kiểm soát môi trường thử nghiệm
  • Một biểu đồ tính năng thử nghiệm được đặt bên trong giàn Gen2.

test_chart_gen2

Hình 152. Ví dụ Gen2chart_sample.

Tiêu chí bỏ qua kiểm thử

Các kiểm thử scene_ip sẽ bị bỏ qua nếu đáp ứng bất kỳ tiêu chí nào sau đây:

  • Thiết bị có cấp độ API đầu tiên (first_api_level) là 35 trở xuống.
  • Thiết bị không phải là thiết bị điện thoại có camera trước và sau (ví dụ: máy tính bảng hoặc TV).

test_default_jca_ip

Chụp biểu đồ tính năng kiểm thử trong điều kiện ánh sáng được kiểm soát bằng ứng dụng camera mặc định và JCA, đồng thời thực hiện các bước kiểm tra sau:

  • FoV: Kiểm tra để đảm bảo ứng dụng máy ảnh mặc định và các bản chụp JCA có cùng FoV. Quy trình kiểm tra này sử dụng tính năng mã QR ở giữa được trích xuất từ hình ảnh biểu đồ chụp.

  • Độ sáng: Kiểm tra để đảm bảo độ chênh lệch độ sáng đo được giữa ứng dụng máy ảnh mặc định và JCA không vượt quá 10. Quy trình kiểm tra này sử dụng bản vá dải tương phản động để đo độ sáng.

  • Cân bằng trắng: Kiểm tra để đảm bảo sự khác biệt về cân bằng trắng giữa ứng dụng camera mặc định và JCA không vượt quá 4. Quy trình kiểm tra này sử dụng bản vá dải tương phản động để đo độ sáng.

Đạt yêu cầu cơ bản: Bài kiểm thử đạt yêu cầu về FoV, độ sáng và độ cân bằng trắng. Trong Android 16, bạn không bắt buộc phải thực hiện kiểm thử này (NOT_YET_MANDATED).