หน้านี้อธิบายข้อกำหนด การกำหนดค่า และการตรวจสอบฟีเจอร์การลดแสงเนื้อหา SDR สำหรับองค์ประกอบ SDR และ HDR แบบผสม
Android 13 ปรับปรุงการรองรับการแสดงองค์ประกอบ SDR และ HDR บนหน้าจอพร้อมกันด้วยฟีเจอร์ต่อไปนี้
การปรับโทนความสว่าง HDR ให้เป็นช่วงที่เข้ากันได้กับ SDR
เมื่อใช้
libtonemap
คุณจะปรับโทนสีให้สอดคล้องกันระหว่าง Hardware Composer (HWC), SurfaceFlinger และแอปได้ OEM สามารถใช้เส้นโค้งการปรับโทนสีของตนเองเพื่อแชร์ระหว่างคอมโพเนนต์ของผู้ให้บริการและเฟรมเวิร์กการปรับความสว่างของเนื้อหา SDR บนหน้าจอให้สลัวลงเมื่อแสดงเนื้อหา HDR พร้อมกัน
เมื่อเนื้อหา HDR แสดงบนหน้าจอ ระบบจะเพิ่มความสว่างของหน้าจอเพื่อรองรับช่วงความสว่างที่เพิ่มขึ้นของเนื้อหา HDR เนื้อหา SDR ทั้งหมดที่แสดงบนหน้าจอจะค่อยๆ สลัวลงเมื่อความสว่างของหน้าจอเพิ่มขึ้นเพื่อให้ความสว่างที่รับรู้ของเนื้อหา SDR ไม่เปลี่ยนแปลง OEM สามารถกำหนดค่าจอแสดงผลในตัวให้ปรับความสว่างของเนื้อหา SDR บนหน้าจอให้สลัวลงเมื่อแสดงควบคู่ไปกับเนื้อหา HDR
ข้อกำหนดของ OEM
หากต้องการใช้การจัดองค์ประกอบที่ปรับปรุงแล้วสำหรับเนื้อหา HDR และ SDR ผ่านการลดแสงเนื้อหา SDR ให้ทำตามข้อกำหนดต่อไปนี้
ใช้ HWC เวอร์ชัน AIDL ซึ่งรองรับการลดแสงที่เร่งด้วยฮาร์ดแวร์ในไปป์ไลน์สีของอุปกรณ์ โปรดดูAIDL สำหรับ HWC เพื่อใช้ความสามารถที่จำเป็น
การลดแสงการวางซ้อนฮาร์ดแวร์ใน HWC อย่างถูกต้องต้องใช้ฮาร์ดแวร์เฉพาะเพื่อปรับขนาดแสงเชิงเส้นของการวางซ้อน การติดตั้งใช้งานที่ไม่มีฮาร์ดแวร์เพียงพอจะต้องเลื่อนการจัดองค์ประกอบไปยัง GPU โดย SurfaceFlinger ซึ่งจะทำให้แบตเตอรี่หมดและอาจทำให้ภาพสลัวและมีคุณภาพต่ำ
อุปกรณ์ต้องรองรับเทคโนโลยี HDR อย่างน้อย 1 รายการที่
Display.getHdrCapabilities
รายงาน
การกำหนดค่า
ฟีเจอร์การผสมเนื้อหา SDR และ HDR สามารถกำหนดค่าตามลักษณะของอุปกรณ์แสดงผลในตัว เพื่อให้ได้ค่าสมดุลระหว่างอายุการใช้งานแบตเตอรี่ อาการจอเบิร์น และคุณภาพของเนื้อหา
การเปิดใช้และการปรับแต่งการคอมโพสที่ได้รับการปรับปรุงจะทําได้ผ่านการกําหนดค่าการแสดงผลที่มีสคีมาอยู่ใน display-device-config.xsd
องค์ประกอบหลักใหม่ต่อไปนี้มีความสำคัญในการตั้งค่าการกำหนดค่าการแสดงผล
องค์ประกอบ
sdrHdrRatioMap
เปิดใช้การหรี่แสง SDR และกำหนดตารางการค้นหา (LUT) เพื่อจับคู่ความสว่างของหน้าจอสำหรับ HDR เพื่อแสดงจุดสีขาว SDR เมื่อมีเนื้อหา HDR บนหน้าจอหากมีการกําหนด
sdrHdrRatioMap
DisplayManagerService
จะสื่อสารจุดขาว SDR ที่ต้องการไปยัง SurfaceFlinger เพื่อที่ SurfaceFlinger จะส่งอัตราส่วนการลดแสงที่เหมาะสมต่อเลเยอร์ไปยัง HWC ในฐานะส่วนหนึ่งของการควบคุมความสว่างของหน้าจอหากไม่ได้กําหนด
sdrHdrRatioMap
ระบบจะไม่เปิดใช้การลดแสง SDR แม้ว่าการใช้งาน HWC จะรองรับการลดแสง SDR ก็ตามองค์ประกอบ
minimumHdrPercentOfScreen
ที่มีค่าตั้งแต่ 0 ถึง 100 จะควบคุมเวลาที่อนุญาตให้เปิดโหมดความสว่างสูงของแผง ใน Android 13 คุณสามารถปรับเกณฑ์นี้เพื่อเปิดใช้โหมดความสว่างสูงในสถานการณ์ต่างๆ ได้มากขึ้น เช่น สถานการณ์การแสดงภาพซ้อนภาพ AOSP เวอร์ชันก่อนหน้ากำหนดค่านี้เป็น 50%
ดูองค์ประกอบหลักของการกำหนดค่าการแสดงผลได้ที่บล็อกโค้ดต่อไปนี้
<displayConfiguration>
...
<highBrightnessMode>
...
<!--Percentage of the screen that must be covered by HDR layers until high brightness mode is enabled.
<minimumHdrPercentOfScreen>...</minimumHdrPercentOfScreen>
<!--sdrHdrRatioMap, backed by spline, must have at least two entries -->
<sdrHdrRatioMap>
<point>
<sdrNits>...</sdrNits>
<hdrRatio>...</hdrRatio>
</point>
<point>
<sdrNits>...</sdrNits>
<hdrRatio>...</hdrRatio>
</point>
<!--More interpolation points may be added –->
...
</sdrHdrRatioMap>
...
</highBrightnessMode>
...
</displayConfiguration>
ข้อจำกัด
การเปิดใช้ฟีเจอร์การปรับโทนสีและการหรี่แสงเนื้อหา SDR อาจทำให้เกิดสถานการณ์ต่อไปนี้
ความถูกต้องของเนื้อหา HDR ที่เล่นบนอุปกรณ์อาจเพิ่มขึ้นเนื่องจากองค์ประกอบเนื้อหา SDR จะสลัวลง
ระยะเวลาการใช้งานแบตเตอรี่อาจลดลงในกรณีต่อไปนี้
การใช้งาน HWC ที่เลื่อนการดำเนินการปรับความสว่างไปยัง GPU อาจทำให้ GPU ทำงานหนักขึ้น
การกำหนดค่าจอภาพที่อนุญาตให้ใช้เกณฑ์ที่ต่ำลงเพื่อเปิดใช้โหมดความสว่างสูงอาจเพิ่มปริมาณการใช้พลังงานเพื่อทำให้หน้าจอสว่างขึ้น
ประสิทธิภาพของหน้าจออาจได้รับผลกระทบเนื่องจากมีการใช้โหมดความสว่างสูงมากขึ้น ซึ่งอาจทำให้เกิดปัญหาในระยะยาว เช่น ภาพค้างในหน้าจอ
การตรวจสอบความถูกต้อง
OEM สามารถใช้การทดสอบ VTS ซึ่งรวมอยู่ในชุดทดสอบของ HWC เพื่อตรวจสอบความถูกต้องของการหรี่แสงและตรวจสอบอัตราส่วนการลดแสงอินพุต
การตรวจสอบสำหรับฟีเจอร์นี้ขึ้นอยู่กับอุปกรณ์ จึงไม่มีการทดสอบ CTS หรือ GTS ที่รองรับ
OEM ต้องทำการทดสอบด้วยตนเองเพื่อยืนยันว่าคุณภาพของรูปภาพองค์ประกอบ SDR ที่มืดลงนั้นยอมรับได้ OEM สามารถเล่นเนื้อหาสำหรับมาตรฐาน HDR ที่อุปกรณ์รองรับผ่าน SurfaceView
เพื่อตรวจสอบว่าองค์ประกอบ SDR ที่เล่นควบคู่ไปกับเนื้อหา HDR จะไม่สว่างจนเกินไป
ปัญหา
การทำให้ภาพ SDR สลัวอาจส่งผลให้เกิดการบีบอัดสีดำหรือการสูญเสียข้อมูลในบริเวณที่มืดกว่าของภาพต้นฉบับ สาเหตุคือค่าสีเข้มกว่าจะยุบลงเป็นชุดโค้ดสีเข้มชุดเล็ก
การใช้งานการหรี่แสงที่ทำให้เกิดปัญหาสีดำถูกบีบอัดจนไม่ยอมรับได้ต้องใช้อัลกอริทึมการสร้างภาพแรเงา ซึ่งจะใส่สัญญาณรบกวนลงในรูปภาพขั้นสุดท้ายเพื่อลดเอฟเฟกต์การแบ่งช่อง
การใช้งาน HWC ที่ไม่สามารถใช้การลดขนาดรูปภาพในตำแหน่งที่เหมาะสมในไปป์ไลน์สีได้ต้องขอให้ SurfaceFlinger ใช้การลดแสงและการลดขนาดรูปภาพใน GPU
การใช้งานยังสามารถปรับค่า sdrHdrRatioMap
เพื่อจำกัดระดับการลดแสงสำหรับองค์ประกอบ SDR ได้ด้วย การลดระดับความสว่างให้ต่ำมากต้องใช้ GPU ซึ่งจะช่วยปรับปรุงคุณภาพของรูปภาพได้ แต่อาจทำให้แบตเตอรี่มีอายุการใช้งานน้อยลง