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