Komposisi SDR dan HDR Campuran

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

Android 13 meningkatkan dukungan untuk menyajikan komposisi SDR dan HDR di layar dengan memperkenalkan fitur:

  • Memetakan nada luminans HDR ke rentang yang kompatibel dengan SDR.

    Dengan 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 secara bersamaan dengan HDR saat ini.

    Saat konten HDR ditampilkan di layar, kecerahan layar akan ditingkatkan menjadi mengakomodasi peningkatan rentang luminans konten HDR. Konten SDR apa pun yang juga ada di layar akan diredupkan dengan mulus saat kecerahan layar meningkat agar kecerahan persepsi konten SDR tidak berubah. OEM dapat mengonfigurasi tampilan bawaan untuk meredupkan konten SDR di layar saat bersama konten HDR.

Persyaratan OEM

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

  • Implementasikan versi AIDL dari HWC, yang mencakup dukungan untuk peredupan dengan akselerasi perangkat keras di saluran warna perangkat. Rujuk ke AIDL untuk HWC untuk menerapkan persyaratan fungsionalitasnya.

  • Meredupkan overlay hardware secara akurat di HWC memerlukan hardware khusus untuk menskalakan cahaya linear overlay. Implementasi tanpa rekomendasi hardware diperlukan untuk mengalihkan komposisi ke GPU oleh SurfaceFlinger, sehingga pengurasan baterai dan kemungkinan peredupan berkualitas rendah.

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

Konfigurasi

Fitur komposisi konten SDR dan HDR campuran dapat dikonfigurasi sesuai karakteristik perangkat layar bawaan, sehingga kompromi antara daya tahan baterai, burn-in, dan fidelitas konten telah dibangun.

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

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

    Jika sdrHdrRatioMap ditentukan, maka sebagai bagian dari pengendalian layar kecerahan, DisplayManagerService menyampaikan titik putih SDR yang diinginkan ke SurfaceFlinger agar SurfaceFlinger dapat mengirimkan rasio peredupan yang sesuai per ke HWC.

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

  • minimumHdrPercentOfScreen , dengan nilai mulai dari 0 hingga 100, mengontrol kapan tinggi panel mode kecerahan hanya boleh diaktifkan. Dengan Android 13, nilai minimum ini dapat disetel untuk mengaktifkan mode kecerahan dalam lebih banyak situasi, seperti skenario picture-in-picture. AOSP versi sebelumnya telah memperbaiki nilai ini hingga 50%.

Lihat blok kode berikut untuk elemen utama 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, seiring peningkatan SDR elemen konten diredupkan.

  • Masa pakai baterai dapat berkurang dalam skenario berikut:

    • Implementasi HWC yang mengalihkan operasi peredupan ke GPU dapat akan menyebabkan peningkatan penggunaan GPU.

    • Tampilkan konfigurasi yang memungkinkan batas lebih rendah untuk pengaktifan mode kecerahan tinggi dapat meningkatkan penggunaan daya untuk menjalankan layar pada kecerahan.

  • Kesehatan layar dapat terpengaruh karena meningkatnya waktu yang dihabiskan di lingkungan mode kecerahan, yang dapat menyebabkan masalah jangka panjang seperti layar berbayang kesehatan.

Validasi

OEM dapat menggunakan uji VTS, yang termasuk sebagai bagian dari rangkaian pengujian HWC, untuk periksa ketepatan peredupan dan untuk memvalidasi rasio peredupan input.

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

OEM harus menjalankan pengujian manual untuk memvalidasi bahwa kualitas gambar SDR yang diredupkan yang kurang baik dapat diterima. OEM dapat memutar konten untuk standar HDR yang disertakan perangkat mendukung lebih dari SurfaceView untuk memvalidasi bahwa setiap elemen SDR yang diputar bersama konten HDR tidak menjadi terlalu terang.

Masalah

Meredupkan gambar SDR dapat menyebabkan black crush, atau hilangnya informasi menjadi lebih gelap area gambar asli. Hal ini disebabkan oleh nilai warna yang lebih gelap yang cenderung lebih sedikit kode gelap.

Implementasi untuk peredupan yang menyebabkan pemerasan hitam yang tidak dapat diterima harus mengimplementasikan algoritma dithering, yang menginjeksikan noise ke dalam gambar akhir sehingga efek garis berwarna berkurang.

Implementasi HWC yang tidak dapat mengubah gambar dalam lokasi di pipeline warna harus meminta agar SurfaceFlinger diterapkan peredupan dan dithering pada GPU.

Implementasi juga dapat menyesuaikan nilai sdrHdrRatioMap untuk membatasi jumlah peredupan untuk elemen SDR. Meredupkan ke tingkat kecerahan sangat rendah memerlukan penggunaan GPU, yang meningkatkan kualitas gambar tetapi dapat daya tahan baterai.