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