การเปิดตัว Android 13 มีการเปลี่ยนแปลงหลายอย่างเกิดขึ้นกับ กล้องไอที นอกจาก การเปลี่ยนแปลงที่เพิ่มขึ้น เช่น เวอร์ชัน Python และเวอร์ชันแพ็กเกจที่อัปเดตแล้ว รวมถึงการทดสอบ การอัปเดตฮาร์ดแวร์, Android 13 รองรับการทดสอบวิดีโอ
หน้านี้จะสรุปการเปลี่ยนแปลงของระบบไอทีในกล้องถ่ายรูปสำหรับ Android ธันวาคม การเปลี่ยนแปลงจะแบ่งออกเป็น 7 หมวดหมู่กว้างๆ ดังนี้
- เวอร์ชันของ Python และแพ็กเกจ
- การเพิ่มไฟล์การกำหนดค่า
- การเปลี่ยนแปลงทดสอบ
- การทดสอบใหม่ในแท็บเล็ต
- การทดสอบวิดีโอ
- การอัปเดตและการเพิ่มฮาร์ดแวร์
- การรองรับการทดสอบแบบพับได้
เวอร์ชันของ Python และแพ็กเกจ
Android 13 รองรับ Python เวอร์ชันต่อไปนี้ใน นอกเหนือจากเวอร์ชัน Python และไลบรารีที่รองรับใน Android 12:
- Python 3.9.2
- OpenCV 4.2.0
- ตัวเลข 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
การเพิ่มไฟล์การกำหนดค่า
เนื่องจากมีการเพิ่มการควบคุมการจัดแสงสำหรับการทดสอบ test_auto_flash.py
ไฟล์ config.yml
ต้องการพารามิเตอร์เพิ่มเติม 2 รายการสำหรับตัวควบคุมและ
สำหรับการจัดแสง เพื่อระบุว่าอุปกรณ์อยู่ระหว่างการทดสอบ (DUT) เป็นแบบพับได้หรือไม่
ไฟล์ config.yml
ต้องการพารามิเตอร์เพิ่มเติมอันดับ 3 ซึ่งจะต้อง
ลงในทั้งส่วนที่ใช้แท็บเล็ตและส่วนฟิวชันเซ็นเซอร์
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
ทดสอบการเปลี่ยนแปลง
โหมด1_1/test_black_white.py
การทดสอบ test_black_white
มีการตรวจสอบความอิ่มตัวของช่อง
สอดคล้องกับ Android เวอร์ชันก่อนหน้า ซึ่งหมายความว่า จำเป็นต้องใช้
API ระดับแรกสำหรับการตรวจสอบความอิ่มตัวของช่องทางคือ Android
10.
ฉาก 1_2/test_yuv_plus_raw.py
การทดสอบ test_yuv_plus_raw
จะจัดการกับเซ็นเซอร์ที่ไม่ใช่ 16:9 หรือ 4:3 เพื่อให้
สนับสนุนสขช.ได้ดีกว่า หากการทดสอบไม่พบรูปแบบที่ใช้กันทั่วไป
ระหว่างรูปแบบเซ็นเซอร์ RAW กับรูปแบบการบันทึกภาพ YUV โดยการทดสอบจะเปรียบเทียบ
ไฟล์ข้อมูล RAW เพื่อให้ได้ภาพ YUV ที่ใหญ่ที่สุด แม้ว่าสัดส่วนภาพจะ
แตกต่างกัน
โหมด2_a/test_faces.py
เปลี่ยนโครงสร้างภายในโค้ด test_faces
เป็น test_num_faces
แล้ว
Scene2_a/test_num_faces.py
การทดสอบ test_num_faces
จะจัดการการครอบตัดเซ็นเซอร์และตำแหน่ง
รูปสี่เหลี่ยมผืนผ้าของใบหน้าที่ถูกต้องในภาพที่ถ่ายจากกล้อง UW ที่ครอบตัด
Scene3/test_lens_position.py
การทดสอบ test_lens_position
เลิกใช้งานแล้วใน Android
ธันวาคม
โหมด6/test_zoom.py
การทดสอบ test_zoom
มีการเปลี่ยนโครงสร้างภายในโค้ดเพื่อให้ทดสอบ 3 และ 4 ได้ง่ายขึ้น
กล้อง หากกล้องทดสอบในช่วงการซูมอย่างถูกต้องในช่วงการซูม 10 เท่า
ทำให้การทดสอบออกอย่างถูกต้อง วิธีนี้ทำให้สามารถทดสอบการซูมได้ในครั้งเดียว
ระยะทางในแผนภูมิ
เปลี่ยนโหมด/ทดสอบ_โหมด_change.py
การทดสอบ test_scene_change
เลิกใช้งานแล้วใน Android
ธันวาคม
การทดสอบใหม่ในแท็บเล็ต
Android 13 มีการทดสอบใหม่ในแท็บเล็ต 2 รายการ การทดสอบทั้ง 2 รายการได้รับการกำหนดให้ใช้กับอุปกรณ์ที่มี Android 13 แต่ข้ามไปสำหรับอุปกรณ์ที่อัปเกรดเป็น Android 13
บรรยากาศ | ชื่อการทดสอบ | API ระดับแรก | คำอธิบาย |
---|---|---|---|
2_ก | test_auto_flash | 33 | ตรวจสอบว่าฉากที่มืดทริกเกอร์แฟลชอัตโนมัติ |
2_ข | test_yuv_jpg_capture_sameness | 33 | ยืนยันว่าการจับภาพ YUV และ JPEG ยังคงถูกต้องเหมือนกันทุกประการ |
โหมด 2_a/test_auto_flash.py
Android 13 เพิ่มการทดสอบ test_auto_flash
พารามิเตอร์
flash
: ข้ามการทดสอบหาก Flash ไม่พร้อมใช้งาน
วิธีการ
การทดสอบจะกำหนดค่าคำขอจับภาพสำหรับแฟลชอัตโนมัติและนำเสนอฉาก
ต้องมีเหตุการณ์แฟลช แสงสว่างในเครื่องทดสอบและแท็บเล็ต
ปิดการนำเสนอฉากที่มืดสำหรับอัลกอริทึมการรับแสงอัตโนมัติ การทดสอบ
กำหนดค่าลำดับการจับภาพ NUM_FRAMES
ที่เปิดใช้แฟลชอัตโนมัติ หาก
การตั้งค่า AE_STATE
แสดงผล FLASH_REQUIRED
ซึ่งการทดสอบยืนยันว่าแฟลช
ในการจับภาพ
คุณสามารถควบคุมการจัดแสงด้วยตนเองได้เมื่อได้รับแจ้ง หรือควบคุมโดยอัตโนมัติด้วย
ตัวควบคุม Arduino ที่มาพร้อมกับการควบคุมแสงสว่างสำหรับการทดสอบอัตโนมัติ ใหม่
โฟลเดอร์ยูทิลิตี lighting_control_utils
จะรวมโค้ดสำหรับการควบคุม
การจัดแสงในการทดสอบ
ฉาก 2_a/test_yuv_jpeg_capture_sameness.py
Android 13 เพิ่ม test_yuv_jpeg_capture_sameness
การทดสอบ
พารามิเตอร์
streamUseCase
: กำหนดว่ากล้องรองรับกรณีการใช้งานสตรีมหรือไม่android.jpeg.quality
: ตั้งค่าคุณภาพ JPEG เป็น 100
วิธีการ
การทดสอบนี้จะบันทึกรูปภาพ 2 รูปโดยใช้รูปแบบ YUV และ JPEG ทั่วไปที่ใหญ่ที่สุด
สัดส่วนภาพเท่ากับรูปแบบ JPEG ที่ใหญ่ที่สุด ซึ่งไม่เกินความละเอียด
1920x1440 การทดสอบจะตั้งค่า jpeg.quality
เป็น 100 และจับภาพพื้นผิวคู่
อีกครั้ง จากนั้นจะแปลงรูปภาพทั้ง 2 รูปเป็นอาร์เรย์ RGB และคำนวณราก 3 มิติ
ความต่างของรูปสี่เหลี่ยมจัตุรัส (RMS) ระหว่างรูปทั้งสอง ความแตกต่างของความอดทน
มีค่าเป็น 1%
การทดสอบวิดีโอ
Camera ITS เพิ่มการรองรับการทดสอบวิดีโอใน Android ธันวาคม
Android 13 เพิ่มการทดสอบต่อไปนี้
บรรยากาศ | ชื่อการทดสอบ | API ระดับแรก | คำอธิบาย |
---|---|---|---|
4 | test_preview_stabilization_fov | 33 | ตรวจสอบว่าตัวอย่างวิดีโอไม่ครอบตัดมากเกินไปเมื่อเปิดระบบกันภาพสั่น |
4 | อัตราส่วนและการครอบตัดวิดีโอทดสอบ | 33 | ยืนยันรูปแบบวิดีโอ FoV, สัดส่วนภาพ และการครอบตัด |
เซ็นเซอร์ฟิวชัน | test_preview_stabilition | 33 | ยืนยันว่าระบบกันภาพสั่นตัวอย่างใช้งานได้ |
เซ็นเซอร์ฟิวชัน | ทดสอบการสั่นไหวของวิดีโอ | 33 | ยืนยันว่าระบบกันภาพวิดีโอสั่นทำงาน |
โหมด 4/test_preview_stabilization_fov.py
Android 13 เพิ่ม test_preview_stabilization_fov
การทดสอบ การทดสอบนี้จะตรวจสอบขนาดตัวอย่างที่รองรับเพื่อให้มั่นใจว่าไม่มี FoV
มีการครอบตัดอย่างไม่เหมาะสม
วิธีการ
การทดสอบจะบันทึกวิดีโอ 2 รายการ โดยรายการหนึ่งเปิดการป้องกันภาพสั่นไหวและอีกคลิปหนึ่งเปิดอยู่ เมื่อปิดการป้องกันภาพสั่นไหว เลือกเฟรมตัวแทนจากแต่ละเฟรม และวิเคราะห์วิดีโอเพื่อให้มั่นใจว่าการเปลี่ยนแปลงด้าน FoV ของวิดีโอทั้ง 2 รายการ ภายในข้อกำหนดเฉพาะ
โดยเฉพาะอย่างยิ่ง การทดสอบจะตรวจสอบพารามิเตอร์ต่อไปนี้ที่มีและไม่มี การป้องกันภาพสั่นไหว:
- ความกลมของวงกลมจะคงที่
- จุดกึ่งกลางของวงกลมนั้นคงที่
- ขนาดของวงกลมจะเปลี่ยนไม่เกิน 20% ซึ่งหมายความว่า FoV จะเปลี่ยนไป ไม่เกิน 20%
อัตราส่วน 4/test_video_aspect_ratio_and_crop.py
Android 13 เพิ่ม test_video_aspect_ratio_and_crop
การทดสอบ คล้ายกับ test_aspect_ratio_and_crop
การทดสอบการจับภาพยังคงนิ่ง
การทดสอบนี้จะตรวจสอบรูปแบบวิดีโอที่รองรับ
เพื่อให้แน่ใจว่าเฟรมของวิดีโอไม่ยืดหรือครอบตัดอย่างไม่เหมาะสม
ระบบจะทดสอบคุณภาพวิดีโอที่รายงานด้วยตนเองทั้งหมด นอกจากนี้ หาก
กล้องรองรับวิดีโอ HLG10
และมีการทดสอบวิดีโอ 10 บิตแล้ว
Android 13 เพิ่ม get_available_video_qualities
ไปยัง its_session_utils
เพื่อแชร์โค้ดทั่วไป
กับการทดสอบที่มีอยู่ Android 13 ยังมี
ฟังก์ชันยูทิลิตี image_fov_utils
และ video_processing_utils
วิธีการ
การทดสอบจะถ่ายภาพอ้างอิงในรูปแบบ RAW หรือรูปภาพสูงสุด รูปแบบความละเอียด JPEG หากไม่รองรับ RAW จากรูปภาพอ้างอิง ระบบจะกำหนดขนาดและตำแหน่งของแวดวง วิดีโอสั้นจะถ่ายด้วยแท็กทั้งหมด คุณภาพวิดีโอที่รองรับ เฟรมอ้างอิงสุดท้ายจะถูกดึงจาก คุณภาพวิดีโอ จากเฟรมอ้างอิง ขอบเขตการมองเห็น (FoV) การจัดกึ่งกลาง (ครอบตัด) และอัตราส่วนจะได้รับการคำนวณสำหรับคุณภาพวิดีโอแต่ละรายการ
สำหรับการคำนวณ FoV การทดสอบจะเปรียบเทียบขนาดวงกลมของเฟรมวิดีโอกับ ขนาดวงกลมที่คำนวณจากขนาดรูปแบบภาพและวิดีโออ้างอิง สำหรับการตรวจสอบการครอบตัด การทดสอบจะเปรียบเทียบเฟรมวิดีโอที่อยู่ตรงกลางกับข้อมูลอ้างอิง ให้อยู่กึ่งกลางรูปภาพ สำหรับการตรวจสอบสัดส่วนภาพ ให้ใช้ฉาก ซึ่งเป็น วงกลมสีดำขนาดใหญ่บนพื้นหลังสีขาว การทดสอบจะเป็นตัวกำหนดสัดส่วนภาพ ของวงกลม และตรวจสอบว่ากรอบไม่บิดเบี้ยว
Sensor_fusion/test_preview_stabilization.py
Android 13 เพิ่มการทดสอบ test_preview_stabilization
ซึ่งจะทดสอบคุณภาพการแสดงตัวอย่างที่รองรับทั้งหมดถึง 1920x1080 การทดสอบใช้
อุปกรณ์ทดสอบฟิวชันเซ็นเซอร์และ
ต้องใช้ตัวควบคุมฟิวชันเซ็นเซอร์เวอร์ชัน 2 ใหม่หรืออัปเกรดเฟิร์มแวร์
ตัวควบคุม Arduino เวอร์ชันก่อนหน้า สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับตัวควบคุมใหม่
ดูการอัปเดตฮาร์ดแวร์และส่วนเพิ่มเติม
วิธีการ
โทรศัพท์ค่อยๆ เคลื่อนผ่านมุมประมาณ 15 องศาพร้อมภาพตัวอย่าง เปิดระบบกันภาพสั่นแล้ว แล้วเปรียบเทียบการหมุนของรูปภาพกับ การหมุนเครื่องวัดการหมุน
Sensor_fusion/test_video_stabilization.py
Android 13 เพิ่มการทดสอบ test_video_stabilization
ซึ่งจะทดสอบคุณภาพวิดีโอที่รองรับถึง 1920x1080 วิดีโอความละเอียดต่ำ QCIF
ได้รับการยกเว้น การทดสอบใช้เมธอด
การผสมผสานเซ็นเซอร์ และ
ต้องใช้ตัวควบคุมฟิวชันเซ็นเซอร์เวอร์ชัน 2 ใหม่หรืออัปเกรดเฟิร์มแวร์
ตัวควบคุม Arduino เวอร์ชันก่อนหน้า สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับตัวควบคุมใหม่
ดูการอัปเดตฮาร์ดแวร์และส่วนเพิ่มเติม
วิธีการ
อุปกรณ์ทดสอบเคลื่อนโทรศัพท์ช้าๆ ผ่านมุมประมาณ 15 องศาโดย เปิดใช้การป้องกันภาพสั่นไหว แล้วเปรียบเทียบการหมุนของรูปภาพกับ การหมุนของเครื่องวัดการหมุน
การอัปเดตและการเพิ่มฮาร์ดแวร์
Android 13 มีการอัปเกรดแอปเป็น Arduino ตัวควบคุมฟิวชันเซ็นเซอร์รุ่น 2 การอัปเกรดนี้มีทั้งการเปลี่ยนแปลงฮาร์ดแวร์และเฟิร์มแวร์ การอัปเกรดช่วยให้ ตัวควบคุมเพื่อตั้งค่าความเร็วในการหมุนและการควบคุมแสง นอกจากนี้การอัปเกรดยัง มีโล่ใหม่ (แสดงในรูปที่ 1) ซึ่งมี 3 ช่อง ได้แก่ การหมุน และการควบคุมแสง 3 ช่อง
รูปที่ 1 Arduino Shield rev2.0 พร้อมการควบคุมการหมุนและแสง
นอกจากนี้ สำหรับ 13 เฟิร์มแวร์ของ ต้องอัปเดตตัวควบคุมเพื่อเปิดใช้การควบคุมความเร็วในการหมุน เฟิร์มแวร์นี้ สามารถดาวน์โหลดได้จาก
ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวควบคุมใหม่ได้ที่ ตัวควบคุมฟิวชันเซ็นเซอร์ของ Android 13
การสนับสนุนการทดสอบแบบพับได้
Android 13 มีการทดสอบการรองรับอุปกรณ์แบบพับได้
อุปกรณ์ หากต้องการเปิดใช้
API กล้องหลายตัว
อุปกรณ์แบบพับได้ สถานะโทรศัพท์
ต้องระบุ (Folded
หรือ Unfolded
) ระหว่างการทดสอบ
เพื่อเปิดใช้แบบสำรวจสถานะโทรศัพท์สำหรับ DUT ทั้งหมด ซึ่งรวมถึงอุปกรณ์แบบพับไม่ได้
ให้เรียกใช้คำสั่ง adb ต่อไปนี้หลังจากเชื่อมต่อ DUT กับโฮสต์แล้ว
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier