สำหรับอุปกรณ์ที่ใช้ Android 13 ขึ้นไป Android จะรองรับเอาต์พุตกล้อง 10 บิตผ่านโปรไฟล์ช่วงไดนามิกที่ไคลเอ็นต์กล้องสามารถกําหนดค่าได้เป็นส่วนหนึ่งของการกำหนดค่าสตรีม ผู้ผลิตอุปกรณ์สามารถเพิ่มการรองรับโปรไฟล์ช่วงไดนามิก 10 บิต เช่น HLG10, HDR 10, HDR 10+ และ Dolby Vision
การรองรับเอาต์พุตกล้อง 10 บิตช่วยให้ไคลเอ็นต์กล้องค้นพบโปรไฟล์ช่วงไดนามิก 10 บิตที่รองรับของอุปกรณ์โดยการเรียกใช้ getSupportedProfiles
จากนั้นเฟรมเวิร์กจะแสดงอินสแตนซ์ของ DynamicRangeProfiles
ซึ่งประกอบด้วยข้อมูลเกี่ยวกับโปรไฟล์ช่วงไดนามิกที่รองรับและข้อจำกัดของคำขอบันทึก (หากมี) อุปกรณ์ต้องรองรับโปรไฟล์ HLG10
โปรไฟล์ของช่วงไดนามิกที่แนะนำจะแสดงอยู่ในช่อง REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE
โปรแกรมรับส่งข้อมูลของกล้องสามารถกำหนดค่าการผสมผสานสตรีมได้โดยเรียกใช้ setDynamicRangeProfile
ดูข้อมูลเพิ่มเติมเกี่ยวกับชุดค่าผสมสตรีมเอาต์พุตที่ต้องระบุได้ที่ตารางการกำหนดค่าเพิ่มเติมที่รับประกันสำหรับเอาต์พุต 10 บิตในการบันทึกปกติ
ข้อกำหนด
หากต้องการรองรับเอาต์พุตกล้อง 10 บิต อุปกรณ์ต้องมีเซ็นเซอร์กล้องที่รองรับ 10 บิตขึ้นไปและรองรับ ISP ที่เกี่ยวข้อง โปรดดูรายละเอียดเกี่ยวกับข้อกำหนดความเข้ากันได้ที่เกี่ยวข้องสำหรับการรองรับ 10 บิตที่ส่วน 7.5 กล้องใน CDD
การใช้งาน
หากต้องการรองรับเอาต์พุตกล้อง 10 บิต ผู้ผลิตอุปกรณ์ต้องทำการผสานรวม Camera AIDL HAL ต่อไปนี้
- มาพร้อม
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
ในความสามารถของกล้อง - ป้อนข้อมูล
ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP
ด้วยโปรไฟล์ช่วงไดนามิกที่รองรับทั้งหมดและบิตแมปของข้อจำกัด อุปกรณ์ต้องรองรับโปรไฟล์HLG10
นอกจากนี้ คุณยังต้องใส่โปรไฟล์ช่วงไดนามิกที่แนะนำ เพื่อแจ้งให้ไคลเอ็นต์กล้องทราบถึงรูปแบบที่รองรับซึ่งเหมาะสมที่สุด - ตรวจสอบว่ารองรับค่าโปรไฟล์ช่วงไดนามิกระหว่างการกำหนดค่าสตรีมสำหรับสตรีมที่ใช้รูปแบบ P010 หรือรองรับรูปแบบที่กําหนดโดยการใช้งาน (
ImageFormat.PRIVATE
) - ตั้งค่าบัฟเฟอร์ข้อมูลเมตาแบบคงที่หรือแบบไดนามิกของบัฟเฟอร์ Gralloc 4 ที่ประมวลผลแล้วก่อนแจ้งบริการกล้อง ทั้งนี้ขึ้นอยู่กับโปรไฟล์ช่วงไดนามิก
ดูรายละเอียดเพิ่มเติมเกี่ยวกับเอาต์พุตกล้อง 10 บิตใน HAL ของกล้องได้ที่หัวข้อต่อไปนี้ใน metadata_definitions.xml
DYNAMIC_RANGE_TEN_BIT
- รายละเอียด HAL สำหรับ
availableDynamicRangeProfilesMap
recommendedTenBitDynamicRangeProfile
10BIT_OUTPUT
ดูการใช้งาน Camera HAL อ้างอิงที่รองรับเอาต์พุตกล้อง 10 บิตได้ที่
/hardware/google/camera/devices/EmulatedCamera/hwl
การตรวจสอบความถูกต้อง
หากต้องการตรวจสอบการใช้งานเอาต์พุตจากกล้อง 10 บิตและตรวจสอบว่าแอปของบุคคลที่สามเปิดใช้ฟีเจอร์นี้ได้ เราขอแนะนำให้ทำการตรวจสอบ 3 ขั้นตอนต่อไปนี้
- ทดสอบความถูกต้องของฟังก์ชันการทำงานของ API
- เปรียบเทียบกล้องในตัวกับแอปของบุคคลที่สาม
- เปรียบเทียบช่วงไดนามิกมาตรฐานกับช่วงไดนามิกสูง
สำหรับการตรวจสอบภาพเอาต์พุตจากกล้อง 10 บิต จะถือว่าอุปกรณ์รองรับการแสดงผล HDR (จอแสดงผล 1,000 นิตขึ้นไป) และแอปดูวิดีโอ (เช่น Google Photos) รองรับการเล่นวิดีโอ HDR
ทดสอบความถูกต้องของฟังก์ชันการทํางานของ API
หากต้องการทดสอบความถูกต้องของฟังก์ชัน API สำหรับเอาต์พุตกล้อง 10 บิต ให้เรียกใช้การทดสอบ CTS, ITS ของกล้อง และ VTS ต่อไปนี้
hardware/interfaces/camera/provider/aidl/vts/
: ทดสอบการค้นพบ การกําหนดค่า และสตรีมมิงพื้นฐาน รวมถึงตรวจสอบว่ามีข้อมูลเมตา HDR หรือไม่ หากจําเป็นtests/camera/src/android/hardware/camera2/cts/
: ตรวจสอบว่ากล้องทำงานตามข้อกำหนดของ AOSP APIcts/apps/CameraITS
: confirm that the general video behavior is consistent when HDR profiles are used การทดสอบที่เฉพาะเจาะจงคือtests/scene4/test_video_aspect_ratio_and_crop.py
เปรียบเทียบกล้องในตัวกับแอปของบุคคลที่สาม
เราขอแนะนำเป็นอย่างยิ่งว่าผลลัพธ์ของการจับภาพวิดีโอ 10 บิตด้วยแอปของบุคคลที่สามจะคล้ายกับแอปกล้องที่มาพร้อมเครื่อง (หรือไม่เหมือนกันทุกประการ) ซึ่งหมายความว่าตัวเลือกในการปรับแต่ง เช่น การรับแสง ช่วงไดนามิก และสี ควรย้ายจากแอปที่มาพร้อมเครื่องไปยังแอปของบุคคลที่สาม หากต้องการยืนยันลักษณะการบันทึกวิดีโอของแอปของบุคคลที่สามที่รองรับเอาต์พุตกล้อง 10 บิตในอุปกรณ์ ให้ใช้แอปตัวอย่าง Camera2Video ใน GitHub คำแนะนำต่อไปนี้มีไว้เพื่อแสดงภาพด้านที่มองเห็นได้ของ HDR โดยไม่มีตัวเลขที่เป็นกลาง เนื่องจากเซ็นเซอร์ แผง สภาพการรับชม และความต้องการของผู้ให้บริการมีความแตกต่างกัน
ฉากที่แนะนำสำหรับการเปรียบเทียบ
หากต้องการเปรียบเทียบระหว่างแอปกล้องในตัวกับแอปของบุคคลที่สาม ให้บันทึกวิดีโอโดยใช้ฉากต่างๆ หลายฉากด้วยทั้งแอปกล้องในตัวและแอปตัวอย่าง Camera2Video ฉากที่แนะนําให้ใช้เปรียบเทียบมีดังนี้
- ฉากที่มีแสงปานกลางถึงแสงน้อยซึ่งมีวัตถุสว่าง เช่น เทียนหรือแสงสว่างเล็กๆ ที่สว่าง ซึ่งสร้างช่วงความสว่างที่กว้าง ซึ่งจะยืนยันลักษณะการทํางานของการเปิดรับแสงอัตโนมัติและช่วงไดนามิก
- ฉากกลางแจ้งที่สว่างสดใสและมีสีสันสดใส รวมถึงวัตถุสะท้อนแสง เช่น กันชนโครเมียมของรถยนต์ ซึ่งทำให้เกิดจุดไฮไลต์ที่สว่าง ซึ่งจะยืนยันการแสดงผลสำหรับฉากที่สว่างโดยมีไฮไลต์ที่สว่างยิ่งขึ้น
- ฉากที่มีช่วงแสงน้อยและระดับกลาง เช่น ฉากธรรมชาติในร่มในบ้านหรือที่ทำงาน วิธีนี้จะช่วยยืนยันว่าสภาพแสงที่สว่างจ้าน้อยลง ทำงานตามที่คาดไว้
สำหรับฉากทั้งหมด เราขอแนะนำให้มีผู้คนและใบหน้าเพื่อยืนยันการจัดการการเปิดรับแสง สี และโทนสีผิว การลดความแตกต่างของช็อตแต่ละช็อตช่วยให้เปรียบเทียบช็อตต่อช็อตได้ง่ายขึ้น
เปรียบเทียบช่วงไดนามิกมาตรฐานกับช่วงไดนามิกสูง
โปรดตรวจสอบว่าการใช้โปรไฟล์ช่วงไดนามิก 10 บิตให้ประโยชน์มากกว่าโปรไฟล์ช่วงไดนามิกมาตรฐานหรือไม่ โดยเปรียบเทียบวิดีโอที่บันทึกโดยใช้ SDR (ไม่มีโปรไฟล์ HDR) กับวิดีโอ HDR เพื่อยืนยันว่าแง่มุมหลักของ HDR ปรากฏในวิดีโอที่บันทึก หากต้องการเปรียบเทียบ SDR กับ HDR ให้ใช้แอปตัวอย่าง Camera2Video และฉากที่แนะนำเพื่อเปรียบเทียบแอปกล้องในตัวกับแอปของบุคคลที่สาม
ต่อไปนี้คือสิ่งสำคัญที่ต้องตรวจสอบในฉากที่แนะนำ แผงแสดงผลที่รองรับ HDR มีระดับความสว่างแตกต่างกันไป (วัดเป็นนิตหรือลูเมน) ดังนั้นตัวเลขต่อไปนี้เป็นเพียงตัวอย่าง
- ในฉากที่มีแสงปานกลางถึงแสงน้อย ระบบจะแสดงผลไฮไลต์ที่สว่างของเทียนหรือแสงขนาดเล็กที่ความสว่างสูงสุดสำหรับจอแสดงผล (อาจสูงถึง 1,000 นิต) ในคลิป HDR และแสดงผลที่ความสว่างสูงสุดสำหรับ SDR (ประมาณ 100 นิต) ในคลิป SDR ในคลิป HDR ไฮไลต์ที่สว่างควรโดดเด่นบนจอแสดงผล ซึ่งจะสื่อถึงสิ่งที่ผู้ใช้รับรู้เกี่ยวกับช่วงไดนามิกจริงของฉาก เมื่อเทียบกับคลิป HDR คลิป SDR ควรปรากฏว่าดูจืดชืดและสว่างน้อยกว่า
- ในฉากเอาต์พุตที่สว่าง คลิป HDR จะแสดงความสว่างของหน้าจอที่แตกต่างอย่างชัดเจนเมื่อเทียบกับคลิป SDR ทั้งนี้ขึ้นอยู่กับการปรับแต่งของอุปกรณ์ สำหรับคลิป HDR ความสว่างของหน้าจอสำหรับฉากโดยรวม (ขึ้นอยู่กับ Headroom) ควรสูงกว่า เช่น สูงสุด 800 นิต และยิ่งกว่านั้นสำหรับไฮไลต์ที่สว่าง เช่น กันชนโครเมียม ควรมีความสว่างสูงสุด
- ในการจับภาพช่วงไดนามิกต่ำระดับกลางในอาคาร คลิป HDR และ SDR จะมีสีและโทนคล้ายกัน โดยคลิป HDR อาจสว่างกว่า SDR HDR ไม่ควรมืดกว่า SDR หากการปรับแต่งตัวเลือกทำให้ดำเนินการนี้ไม่ได้ ให้ตรวจสอบว่าลักษณะการทํางานของแอปของบุคคลที่สามตรงกับลักษณะการทํางานของแอปกล้องเนทีฟ