Komposisi Campuran SDR dan HDR

Halaman ini menjelaskan persyaratan, konfigurasi, dan validasi fitur peredupan konten SDR untuk komposisi campuran SDR dan HDR.

Android 13 meningkatkan dukungan untuk menampilkan komposisi SDR dan HDR secara bersamaan di layar dengan memperkenalkan fitur berikut:

  • Pemetaan nada pencahayaan HDR ke rentang yang kompatibel dengan SDR.

    Dengan menggunakan libtonemap , pemetaan nada dapat dibuat konsisten antara Hardware Composer (HWC), SurfaceFlinger, dan aplikasi. OEM dapat menerapkan kurva pemetaan nada mereka sendiri untuk dibagikan antara vendor dan komponen kerangka kerja.

  • Meredupkan konten SDR di layar saat disajikan bersamaan dengan konten HDR.

    Saat konten HDR ditampilkan di layar, kecerahan layar ditingkatkan untuk mengakomodasi peningkatan rentang pencahayaan konten HDR. Konten SDR apa pun yang juga ada di layar akan diredupkan secara mulus seiring dengan peningkatan kecerahan layar sehingga kecerahan persepsi konten SDR tidak berubah. OEM dapat mengonfigurasi tampilan bawaannya untuk meredupkan konten SDR di layar saat disajikan bersama konten HDR.

Persyaratan OEM

Untuk menggunakan komposisi yang ditingkatkan pada konten HDR dan SDR melalui peredupan konten SDR, ikuti persyaratan berikut:

  • Menerapkan HWC versi AIDL, yang mencakup dukungan untuk peredupan yang dipercepat perangkat keras pada saluran warna perangkat. Lihat AIDL untuk HWC untuk mengimplementasikan fungsionalitas yang diperlukan.

  • Meredupkan overlay perangkat keras secara akurat di HWC memerlukan perangkat keras khusus untuk menskalakan cahaya linier overlay. Implementasi tanpa perangkat keras yang memadai diperlukan untuk menunda komposisi ke GPU oleh SurfaceFlinger, menyebabkan baterai terkuras dan kemungkinan peredupan berkualitas rendah.

  • Perangkat harus mendukung setidaknya satu teknologi HDR yang dilaporkan oleh Display.getHdrCapabilities .

Konfigurasi

Fitur komposisi konten campuran SDR dan HDR dapat dikonfigurasi sesuai dengan karakteristik perangkat layar internal, sehingga keseimbangan antara masa pakai baterai, burn-in, dan fidelitas konten dapat dicapai.

Mengaktifkan dan menyetel komposisi yang ditingkatkan dilakukan melalui konfigurasi tampilan yang skemanya terletak di display-device-config.xsd . Elemen kunci baru berikut ini penting dalam mengatur konfigurasi tampilan:

  • Elemen sdrHdrRatioMap mengaktifkan peredupan SDR dan menentukan tabel pencarian (LUT) untuk memetakan kecerahan layar untuk HDR agar ditampilkan ke titik putih SDR ketika ada konten HDR di layar.

    Jika sdrHdrRatioMap ditentukan, maka sebagai bagian dari pengontrolan kecerahan layar, DisplayManagerService mengomunikasikan titik putih SDR yang diinginkan ke SurfaceFlinger sehingga SurfaceFlinger dapat mengirimkan rasio peredupan yang sesuai per lapisan ke HWC.

    Jika sdrHdrRatioMap tidak ditentukan, peredupan SDR tidak diaktifkan, meskipun penerapan HWC mendukung peredupan SDR.

  • Elemen minimumHdrPercentOfScreen , dengan nilai berkisar antara 0 hingga 100, mengontrol kapan mode kecerahan tinggi panel diizinkan untuk diaktifkan. Dengan Android 13, ambang batas ini dapat disesuaikan untuk mengaktifkan mode kecerahan tinggi di lebih banyak situasi, seperti skenario gambar-dalam-gambar. Versi AOSP sebelumnya telah menetapkan nilai ini menjadi 50%.

Lihat blok kode berikut untuk elemen kunci konfigurasi tampilan:

<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>

Peringatan

Mengaktifkan fitur pemetaan nada dan peredupan konten SDR dapat menyebabkan situasi berikut:

  • Fidelitas konten HDR yang diputar di perangkat dapat meningkat, karena elemen konten SDR diredupkan.

  • Masa pakai baterai dapat berkurang dalam skenario berikut:

    • Penerapan HWC yang menunda operasi peredupan pada GPU dapat menyebabkan peningkatan penggunaan GPU.

    • Konfigurasi tampilan yang memungkinkan ambang batas lebih rendah untuk mengaktifkan mode kecerahan tinggi dapat meningkatkan penggunaan daya untuk menjalankan layar pada kecerahan lebih tinggi.

  • Kesehatan layar dapat terpengaruh karena bertambahnya waktu yang dihabiskan dalam mode kecerahan tinggi, yang dapat menyebabkan masalah jangka panjang seperti kelelahan pada kesehatan layar.

Validasi

OEM dapat menggunakan pengujian VTS, yang disertakan sebagai bagian dari rangkaian pengujian HWC, untuk memeriksa kebenaran peredupan dan memvalidasi rasio peredupan masukan .

Validasi untuk fitur ini bergantung pada perangkat, jadi tidak ada pengujian CTS atau GTS yang mendukung hal ini.

OEM harus menjalankan pengujian manual untuk memvalidasi bahwa kualitas gambar elemen SDR yang diredupkan dapat diterima. OEM dapat memutar konten untuk standar HDR yang didukung perangkat melalui SurfaceView untuk memvalidasi bahwa elemen SDR apa pun yang diputar bersama konten HDR tidak menjadi terlalu terang.

Masalah

Meredupkan gambar SDR dapat mengakibatkan black crush , atau hilangnya informasi di area yang lebih gelap dari gambar aslinya. Hal ini disebabkan nilai warna yang lebih gelap dipecah menjadi kumpulan kode gelap yang lebih kecil.

Implementasi untuk peredupan yang menyebabkan black crush yang tidak dapat diterima harus menerapkan algoritma dithering, yang memasukkan noise ke dalam gambar akhir sehingga efek banding berkurang.

Implementasi HWC yang tidak dapat mengubah gambar di lokasi yang sesuai dalam pipa warna harus meminta SurfaceFlinger menerapkan peredupan dan dithering pada GPU.

Implementasi juga dapat menyesuaikan nilai sdrHdrRatioMap untuk membatasi jumlah peredupan elemen SDR. Peredupan ke tingkat kecerahan yang sangat rendah memerlukan penggunaan GPU, yang meningkatkan kualitas gambar namun dapat mengurangi masa pakai baterai.