Bản phát hành Android 13 có một số thay đổi đối với Camera ITS. Ngoài các thay đổi gia tăng như phiên bản Python và gói được cập nhật cũng như các bản cập nhật phần cứng kiểm thử, Android 13 còn hỗ trợ kiểm thử video.
Trang này tóm tắt các thay đổi của Camera ITS đối với Android 13. Những thay đổi này thuộc 7 danh mục lớn:
- Python và các phiên bản gói
- Bổ sung tệp cấu hình
- Thử nghiệm các thay đổi
- Các bài kiểm tra mới trên máy tính bảng
- Thử nghiệm video
- Bản cập nhật và bổ sung phần cứng
- Hỗ trợ kiểm thử trên thiết bị có thể gập lại
Python và các phiên bản gói
Android 13 hỗ trợ các phiên bản Python sau đây ngoài các phiên bản và thư viện Python được hỗ trợ trong Android 12:
- Python 3.9.2
- OpenCV 4.2.0
- Numpy 1.20.3
- Matplotlib 3.3.4
- Scipy 1.6.2
- pySerial 3.5
- Pillow 8.3.1
- PyYAML 5.4.1
- Mobly 1.11
- FFmpeg 4.4.1
Nội dung bổ sung cho tệp cấu hình
Do việc bổ sung chế độ kiểm soát ánh sáng cho kiểm thử test_auto_flash.py
, tệp config.yml
cần có thêm 2 tham số cho tay điều khiển và kênh ánh sáng. Để xác định xem thiết bị đang kiểm thử (DUT) có phải là thiết bị có thể gập lại hay không, tệp config.yml
yêu cầu phải có tham số bổ sung thứ ba được thêm vào cả phần dựa trên máy tính bảng và phần kết hợp cảm biến.
TestBeds:
- Name: TEST_BED_TABLET_SCENES
# Test configuration for scenes[0:4, 6, _change]
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
- serial: 5B16001229
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False" # "True" or "False"; quotes needed
lighting_cntl: <controller-type> # "arduino" or "None"; quotes needed
lighting_ch: <controller-channel>
camera: 0
foldable_device: "False". # set "True" if testing foldable
scene: <scene-name> # if <scene-name> runs all scenes
Kiểm thử các thay đổi
scene1_1/test_black_white.py
Thử nghiệm test_black_white
có tính năng kiểm tra độ bão hoà kênh nhất quán với các phiên bản Android trước. Điều này có nghĩa là cấp độ API đầu tiên bắt buộc để kiểm tra độ bão hoà kênh là Android 10.
scene1_2/test_yuv_plus_raw.py
Thử nghiệm test_yuv_plus_raw
xử lý các cảm biến không phải 16:9 hoặc 4:3 để hỗ trợ tốt hơn cho RAW. Nếu không tìm thấy định dạng chung giữa định dạng RAW của cảm biến và định dạng chụp YUV, thì kiểm thử sẽ so sánh ảnh chụp RAW với ảnh chụp YUV lớn nhất, ngay cả khi tỷ lệ khung hình khác nhau.
scene2_a/test_faces.py
test_faces
được tái cấu trúc thành test_num_faces
.
scene2_a/test_num_faces.py
Thử nghiệm test_num_faces
xử lý việc cắt cảm biến và đặt các hình chữ nhật khuôn mặt một cách chính xác trên những bức ảnh chụp bằng camera siêu rộng đã được cắt.
scene3/test_lens_position.py
Thử nghiệm test_lens_position
không còn được dùng trong Android 13 nữa.
scene6/test_zoom.py
Thử nghiệm test_zoom
được tái cấu trúc để giúp việc kiểm thử hệ thống 3 và 4 camera trở nên dễ dàng hơn. Nếu camera kiểm thử chính xác trong phạm vi tỷ lệ thu phóng gấp 10 lần, thì quy trình kiểm thử sẽ thoát đúng cách. Điều này cho phép thực hiện kiểm thử thu phóng ở một khoảng cách biểu đồ duy nhất.
scene_change/test_scene_change.py
Thử nghiệm test_scene_change
không còn được dùng trong Android 13 nữa.
Các bài kiểm tra mới trên máy tính bảng
Android 13 có 2 quy trình kiểm thử mới dựa trên máy tính bảng. Cả hai quy trình kiểm thử này đều bắt buộc đối với các thiết bị ra mắt bằng Android 13, nhưng sẽ được bỏ qua đối với các thiết bị nâng cấp lên Android 13.
Scene | Tên bài kiểm tra | Cấp độ API đầu tiên | Nội dung mô tả |
---|---|---|---|
2_a | test_auto_flash | 33 | Xác nhận rằng các cảnh tối sẽ kích hoạt đèn flash tự động. |
2_b | test_yuv_jpg_capture_sameness | 33 | Xác nhận rằng ảnh chụp tĩnh YUV và JPEG giống hệt nhau về từng bit. |
scene2_a/test_auto_flash.py
Android 13 thêm kiểm thử test_auto_flash
.
Tham số
flash
: Bỏ qua kiểm thử nếu không có đèn flash.
Phương thức
Bài kiểm thử định cấu hình yêu cầu chụp cho chế độ tự động bật đèn flash và trình bày một cảnh yêu cầu sự kiện đèn flash. Đèn trong giàn thử nghiệm và máy tính bảng sẽ tắt để tạo cảnh tối cho thuật toán phơi sáng tự động. Thử nghiệm này định cấu hình một chuỗi các lần chụp NUM_FRAMES
khi bật tính năng đèn flash tự động. Nếu chế độ cài đặt AE_STATE
trả về FLASH_REQUIRED
, thì kiểm thử sẽ xác minh rằng đèn flash được kích hoạt trong các bức ảnh chụp.
Bạn có thể điều khiển ánh sáng theo cách thủ công khi được nhắc hoặc tự động bằng bộ điều khiển Arduino có thêm tính năng điều khiển ánh sáng để kiểm thử tự động. Thư mục tiện ích lighting_control_utils
mới tập trung mã để kiểm soát ánh sáng trong các bài kiểm thử.
scene2_a/test_yuv_jpeg_capture_sameness.py
Android 13 thêm kiểm thử test_yuv_jpeg_capture_sameness
.
Tham số
streamUseCase
: Xác định xem camera có hỗ trợ trường hợp sử dụng luồng hay không.android.jpeg.quality
: Đặt chất lượng JPEG thành 100.
Phương thức
Bài kiểm thử này chụp 2 hình ả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. Thử nghiệm này đặt jpeg.quality
thành 100 và ghi lại một yêu cầu về bề mặt kép. Sau đó, công cụ này 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. Sai số cho phép được đặt thành 1%.
Thử nghiệm video
Camera ITS bổ sung tính năng hỗ trợ kiểm thử video trong Android 13.
Android 13 bổ sung các bài kiểm thử sau:
Scene | Tên bài kiểm tra | Cấp độ API đầu tiên | Nội dung mô tả |
---|---|---|---|
4 | test_preview_stabilization_fov | 33 | Xác nhận rằng chế độ xem trước video không bị cắt quá nhiều khi bật tính năng ổn định. |
4 | test_video_aspect_ratio_and_crop | 33 | Xác nhận FoV, tỷ lệ khung hình và việc cắt định dạng video. |
sensor_fusion | test_preview_stabilition | 33 | Xác nhận rằng tính năng chống rung khi xem trước hoạt động. |
sensor_fusion | test_video_stabilition | 33 | Xác nhận tính năng chống rung video hoạt động. |
scene4/test_preview_stabilization_fov.py
Android 13 thêm kiểm thử test_preview_stabilization_fov
. Thử nghiệm này kiểm tra các kích thước xem trước được hỗ trợ để đảm bảo FoV không bị cắt không đúng cách.
Phương thức
Bài kiểm thử này ghi lại 2 video, một video có bật tính năng ổn định bản xem trước và một video có tắt tính năng ổn định bản xem trước. 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ề trường nhìn trong 2 video nằm trong phạm vi quy cách.
Cụ thể, kiểm thử sẽ kiểm tra các thông số sau có và không có tính năng ổn định bản xem trước:
- Độ tròn của vòng tròn vẫn không đổi.
- Tâm của vòng tròn vẫn ổn định.
- Kích thước của vòng tròn thay đổi không quá 20%, tức là FoV thay đổi tối đa 20%.
scene4/test_video_aspect_ratio_and_crop.py
Android 13 thêm kiểm thử test_video_aspect_ratio_and_crop
. Tương tự như thử nghiệm test_aspect_ratio_and_crop
đối với ảnh chụp tĩnh, thử nghiệm này sẽ kiểm tra các định dạng video được hỗ trợ để đảm bảo khung hình video không bị kéo giãn hoặc cắt xén không đúng cách.
Chúng tôi kiểm thử tất cả chất lượng video do người dùng tự báo cáo. Ngoài ra, nếu camera hỗ trợ video HLG10
, thì video 10 bit sẽ được kiểm thử.
Android 13 thêm phương thức get_available_video_qualities
vào its_session_utils
. Để chia sẻ mã chung với các kiểm thử hiện có, Android 13 cũng bao gồm 2 hàm tiện ích mới là image_fov_utils
và video_processing_utils
.
Phương thức
Thử nghiệm này chụp một hình ảnh tham chiếu ở định dạng RAW hoặc định dạng JPEG có độ phân giải cao nhất nếu không hỗ trợ định dạng RAW. Từ hình ảnh tham chiếu, kích thước và vị trí của hình tròn sẽ được xác định. Sau đó, video Shorts sẽ được quay ở tất cả các chất lượng video được hỗ trợ. Khung hình tham chiếu cuối cùng được trích xuất từ mỗi chất lượng video. Từ khung tham chiếu, trường nhìn (FoV), tâm (cắt) và tỷ lệ khung hình được tính cho từng chất lượng video.
Để tính toán FoV, quy trình kiểm thử sẽ so sánh kích thước vòng tròn khung hình video với kích thước vòng tròn được tính toán từ kích thước định dạng video và hình ảnh tham chiếu. Đối với quy trình kiểm tra cắt, thử nghiệm sẽ so sánh việc căn giữa khung hình video với việc căn giữa hình ảnh tham chiếu. Đối với quy trình kiểm tra tỷ lệ khung hình, bằng cách sử dụng cảnh (một vòng tròn đen lớn trên nền trắng), quy trình kiểm thử sẽ xác định tỷ lệ khung hình của vòng tròn và xác minh rằng khung hình không bị biến dạng.
sensor_fusion/test_preview_stabilization.py
Android 13 bổ sung quy trình kiểm thử test_preview_stabilization
, quy trình này kiểm thử tất cả các chất lượng xem trước được hỗ trợ lên đến 1920x1080. Bài kiểm thử này sử dụng giàn kiểm thử kết hợp cảm biến và yêu cầu bộ điều khiển kết hợp cảm biến phiên bản 2 mới hoặc bản nâng cấp chương trình cơ sở của các phiên bản bộ điều khiển Arduino trước đó. Để biết thêm thông tin về bộ điều khiển mới, hãy xem phần Các bản cập nhật và bổ sung về phần cứng.
Phương thức
Điện thoại di chuyển từ từ theo góc khoảng 15 độ khi tính năng ổn định bản xem trước được bật. Sau đó, độ xoay của hình ảnh sẽ được so sánh với độ xoay của con quay hồi chuyển.
sensor_fusion/test_video_stabilization.py
Android 13 bổ sung kiểm thử test_video_stabilization
, kiểm thử này kiểm thử chất lượng video được hỗ trợ lên đến 1920x1080. Chất lượng video có độ phân giải thấp QCIF sẽ không được tính. Bài kiểm thử này sử dụng giàn kiểm thử kết hợp cảm biến và yêu cầu bộ điều khiển kết hợp cảm biến phiên bản 2 mới hoặc bản nâng cấp chương trình cơ sở của các phiên bản bộ điều khiển Arduino trước đó. Để biết thêm thông tin về bộ điều khiển mới, hãy xem phần Các bản cập nhật và bổ sung về phần cứng.
Phương thức
Thiết bị kiểm thử di chuyển điện thoại từ từ theo góc khoảng 15 độ khi tính năng ổn định bản xem trước được bật. Sau đó, độ xoay của hình ảnh sẽ được so sánh với độ xoay của con quay hồi chuyển.
Bản cập nhật và bổ sung phần cứng
Android 13 có bản nâng cấp cho bộ điều khiển hợp nhất cảm biến phiên bản 2 dựa trên Arduino. Bản nâng cấp này bao gồm cả thay đổi về phần cứng và phần mềm cơ sở. Bản nâng cấp này cho phép bộ điều khiển đặt tốc độ xoay và điều khiển ánh sáng. Bản nâng cấp này cũng bao gồm một tấm chắn mới (như trong Hình 1), cung cấp 3 kênh xoay và 3 kênh điều khiển ánh sáng.
Hình 1. Arduino shield rev2.0 có chế độ xoay và điều khiển ánh sáng
Ngoài ra, đối với phiên bản 13, bạn phải cập nhật chương trình cơ sở của các bộ điều khiển hiện có để bật chế độ kiểm soát tốc độ quay. Bạn có thể tải phần mềm này xuống từ:
Để biết thêm thông tin về bộ điều khiển mới, hãy xem bài viết Bộ điều khiển hợp nhất cảm biến Android 13.
Hỗ trợ kiểm thử trên thiết bị có thể gập lại
Android 13 có hỗ trợ kiểm thử cho các thiết bị có thể gập lại. Để bật API nhiều camera cho thiết bị có thể gập lại, bạn cần có trạng thái điện thoại (Folded
hoặc Unfolded
) trong quá trình kiểm thử.
Để bật tính năng thăm dò trạng thái điện thoại cho tất cả DUT, kể cả điện thoại không gập lại, hãy chạy lệnh adb sau khi DUT được kết nối với máy chủ lưu trữ.
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier