องค์ประกอบ SDR และ HDR แบบผสม

หน้านี้อธิบายข้อกำหนด การกำหนดค่า และการตรวจสอบคุณสมบัติการลดแสงเนื้อหา 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 อย่างน้อยหนึ่งรายการที่รายงานโดย 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 เพื่อรองรับสิ่งนี้

OEMS ต้องทำการทดสอบด้วยตนเองเพื่อตรวจสอบว่าคุณภาพของภาพขององค์ประกอบ SDR ที่หรี่แสงนั้นเป็นที่ยอมรับได้ OEM สามารถเล่นเนื้อหาสำหรับมาตรฐาน HDR ที่อุปกรณ์รองรับผ่าน SurfaceView เพื่อตรวจสอบว่าองค์ประกอบ SDR ใดๆ ที่เล่นควบคู่ไปกับเนื้อหา HDR จะไม่สว่างจนเกินไป

ปัญหา

การหรี่ภาพ SDR อาจส่งผลให้เกิด การมืดดำ หรือการสูญเสียข้อมูลในบริเวณที่มืดกว่าของภาพต้นฉบับ นี่เป็นเพราะว่าค่าสีเข้มยุบลงมาเป็นโค้ดสีเข้มชุดเล็กๆ

การใช้งานสำหรับการหรี่แสงที่ทำให้เกิดรอยดำที่ยอมรับไม่ได้จะต้องใช้อัลกอริธึมการลดแสง ซึ่งจะส่งสัญญาณรบกวนเข้าไปในภาพสุดท้าย เพื่อลดเอฟเฟกต์แถบสี

การใช้งาน HWC ที่ไม่สามารถกระจายภาพในตำแหน่งที่เหมาะสมในไปป์ไลน์สีจะต้องขอให้ SurfaceFlinger ใช้การลดแสงและการกระจายสีบน GPU

การใช้งานยังสามารถปรับค่าของ sdrHdrRatioMap เพื่อจำกัดปริมาณการลดแสงสำหรับองค์ประกอบ SDR การหรี่แสงให้อยู่ในระดับความสว่างต่ำมากจำเป็นต้องใช้ GPU ซึ่งปรับปรุงคุณภาพของภาพ แต่สามารถลดอายุการใช้งานแบตเตอรี่ได้