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

หน้านี้อธิบายข้อกำหนด การกำหนดค่า และการตรวจสอบฟีเจอร์การลดแสงเนื้อหา SDR สำหรับการจัดองค์ประกอบ SDR และ HDR แบบผสม

Android 13 ปรับปรุงการรองรับการแสดงองค์ประกอบ SDR และ HDR บนหน้าจอพร้อมกันด้วยฟีเจอร์ต่อไปนี้

  • การปรับโทนความสว่าง HDR ให้เป็นช่วงที่เข้ากันได้กับ SDR

    เมื่อใช้ libtonemap การแมปโทนสีสามารถสอดคล้องกันระหว่าง ฮาร์ดแวร์ 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 ที่รองรับ

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

ปัญหา

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

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

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

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