혼합 SDR 및 HDR 구성

이 페이지에서는 혼합 SDR 및 HDR 구성을 위한 SDR 콘텐츠 흐림 기능의 요구 사항, 구성 및 유효성 검사에 대해 설명합니다.

Android 13은 다음 기능을 도입하여 화면에 SDR 및 HDR 구성을 동시에 표시하기 위한 지원을 개선합니다.

  • HDR 휘도를 SDR 호환 범위에 매핑하는 톤.

    libtonemap 을 사용하여 HWC(Hardware Composer), SurfaceFlinger 및 앱 간에 톤 매핑을 일관되게 만들 수 있습니다. OEM은 공급업체와 프레임워크 구성 요소 간에 공유할 고유한 톤 매핑 곡선을 구현할 수 있습니다.

  • HDR 콘텐츠와 동시에 표시되는 경우 화면 SDR 콘텐츠를 흐리게 합니다.

    HDR 콘텐츠가 화면에 표시되면 HDR 콘텐츠의 증가된 휘도 범위를 수용하기 위해 화면 밝기가 증가합니다. 화면에 있는 모든 SDR 콘텐츠는 SDR 콘텐츠의 지각 밝기가 변경되지 않도록 화면 밝기가 증가함에 따라 매끄럽게 흐려집니다. OEM은 HDR 콘텐츠와 함께 표시될 때 화면 SDR 콘텐츠를 어둡게 하도록 내장 디스플레이를 구성할 수 있습니다.

OEM 요구 사항

SDR 콘텐츠 디밍을 통해 향상된 HDR 및 SDR 콘텐츠 구성을 사용하려면 다음 요구 사항을 따르십시오.

  • 장치의 색상 파이프라인에서 하드웨어 가속 디밍에 대한 지원을 포함하는 AIDL 버전의 HWC를 구현합니다. 필요한 기능을 구현하려면 AIDL for HWC 를 참조하십시오.

  • HWC에서 하드웨어 오버레이를 정확하게 디밍하려면 오버레이의 선형 조명을 확장하기 위해 특정 하드웨어가 필요합니다. SurfaceFlinger에 의한 합성을 GPU로 지연시키려면 하드웨어가 충분하지 않은 구현이 필요하며, 이로 인해 배터리가 소모되고 품질이 저하될 수 있습니다.

  • 기기는 Display.getHdrCapabilities 에서 보고한 HDR 기술을 하나 이상 지원해야 합니다.

구성

SDR 및 HDR 혼합 콘텐츠 구성 기능은 내장된 디스플레이 장치 특성에 따라 구성할 수 있으므로 배터리 수명, 번인 및 콘텐츠 충실도 간의 균형이 설정됩니다.

향상된 구성을 활성화하고 조정하려면 스키마가 display-device-config.xsd 에 있는 디스플레이 구성을 통해 수행됩니다. 다음과 같은 새로운 핵심 요소는 디스플레이 구성을 설정하는 데 중요합니다.

  • sdrHdrRatioMap 요소는 SDR 디밍을 활성화하고 화면에 HDR 콘텐츠가 있을 때 HDR에 대한 화면 밝기를 SDR 화이트 포인트에 표시하도록 매핑하기 위한 조회 테이블(LUT)을 정의합니다.

    sdrHdrRatioMap 이 정의된 경우 화면 밝기 제어의 일부로 DisplayManagerService 가 원하는 SDR 화이트 포인트를 SurfaceFlinger에 전달하여 SurfaceFlinger가 레이어당 적절한 디밍 비율을 HWC에 보낼 수 있도록 합니다.

    sdrHdrRatioMap 이 정의되어 있지 않으면 HWC 구현이 SDR 디밍을 지원하더라도 SDR 디밍이 활성화되지 않습니다.

  • 0에서 100 사이의 값을 갖는 minimumHdrPercentOfScreen 요소는 패널의 고휘도 모드를 켤 수 있는 시기를 제어합니다. Android 13에서는 PIP(Picture-in-Picture) 시나리오와 같은 더 많은 상황에서 고휘도 모드를 사용하도록 이 임계값을 조정할 수 있습니다. 이전 버전의 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 콘텐츠 디밍 기능을 활성화하면 다음과 같은 상황이 발생할 수 있습니다.

  • SDR 콘텐츠 요소가 흐리게 표시되면 장치에서 재생되는 HDR 콘텐츠의 충실도가 증가할 수 있습니다.

  • 배터리 수명은 다음 시나리오에서 감소할 수 있습니다.

    • GPU에 디밍 작업을 연기하는 HWC 구현은 GPU 사용을 증가시킬 수 있습니다.

    • 고휘도 모드를 활성화하기 위해 더 낮은 임계값을 허용하는 디스플레이 구성은 더 높은 밝기에서 화면을 실행하기 위한 전력 소모를 증가시킬 수 있습니다.

  • 화면 상태는 고휘도 모드에서 보내는 시간 증가로 인해 영향을 받을 수 있으며, 이는 디스플레이 상태로 인한 번인과 같은 장기적인 문제를 일으킬 수 있습니다.

확인

OEM은 HWC 테스트 제품군의 일부로 포함된 VTS 테스트를 사용하여 디밍 정확성확인하고 입력 디밍 비율 을 검증할 수 있습니다.

이 기능에 대한 유효성 검사는 장치에 따라 다르므로 이를 지원하는 CTS 또는 GTS 테스트가 없습니다.

OEMS는 흐릿한 SDR 요소의 이미지 품질이 허용 가능한지 확인하기 위해 수동 테스트를 실행해야 합니다. OEM은 장치가 SurfaceView 를 통해 지원하는 HDR 표준에 대한 콘텐츠를 재생하여 HDR 콘텐츠와 함께 재생되는 SDR 요소가 지나치게 밝아지지 않는지 확인할 수 있습니다.

문제

SDR 이미지를 흐리게 하면 원본 이미지의 어두운 영역에서 검은색 크러시 가 발생하거나 정보가 손실될 수 있습니다. 이는 더 작은 어두운 코드 세트로 축소되는 더 어두운 색상 값 때문입니다.

허용할 수 없는 블랙 크러시를 유발하는 디밍 구현은 밴딩 효과가 감소되도록 최종 이미지에 노이즈를 주입하는 디더링 알고리즘을 구현해야 합니다.

색상 파이프라인의 적절한 위치에서 이미지를 디더링할 수 없는 HWC 구현은 SurfaceFlinger가 GPU에서 디밍 및 디더링을 적용하도록 요청해야 합니다.

구현에서는 sdrHdrRatioMap 의 값을 조정하여 SDR 요소의 디밍 양을 제한할 수도 있습니다. 매우 낮은 밝기 수준으로 디밍하려면 GPU를 사용해야 하므로 이미지 품질은 향상되지만 배터리 수명이 단축될 수 있습니다.