เอาต์พุตกล้อง 10 บิต

สำหรับอุปกรณ์ที่ใช้ 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

ดูการใช้งาน Camera HAL อ้างอิงที่รองรับเอาต์พุตกล้อง 10 บิตได้ที่ /hardware/google/camera/devices/EmulatedCamera/hwl

การตรวจสอบความถูกต้อง

หากต้องการตรวจสอบการใช้งานเอาต์พุตจากกล้อง 10 บิตและตรวจสอบว่าแอปของบุคคลที่สามเปิดใช้ฟีเจอร์นี้ได้ เราขอแนะนำให้ทำการตรวจสอบ 3 ขั้นตอนต่อไปนี้

สำหรับการตรวจสอบภาพเอาต์พุตจากกล้อง 10 บิต จะถือว่าอุปกรณ์รองรับการแสดงผล HDR (จอแสดงผล 1,000 นิตขึ้นไป) และแอปดูวิดีโอ (เช่น Google Photos) รองรับการเล่นวิดีโอ HDR

ทดสอบความถูกต้องของฟังก์ชันการทํางานของ API

หากต้องการทดสอบความถูกต้องของฟังก์ชัน API สำหรับเอาต์พุตกล้อง 10 บิต ให้เรียกใช้การทดสอบ CTS, ITS ของกล้อง และ VTS ต่อไปนี้

เปรียบเทียบกล้องในตัวกับแอปของบุคคลที่สาม

เราขอแนะนำเป็นอย่างยิ่งว่าผลลัพธ์ของการจับภาพวิดีโอ 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 หากการปรับแต่งตัวเลือกทำให้ดำเนินการนี้ไม่ได้ ให้ตรวจสอบว่าลักษณะการทํางานของแอปของบุคคลที่สามตรงกับลักษณะการทํางานของแอปกล้องเนทีฟ