องค์ประกอบ 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 อย่างน้อย 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 ซึ่งจะช่วยปรับปรุงคุณภาพของรูปภาพ แต่ อาจทำให้อายุการใช้งานแบตเตอรี่ลดลง