Halaman ini menjelaskan persyaratan, konfigurasi, dan validasi fitur peredupan konten SDR untuk komposisi campuran SDR dan HDR.
Android 13 meningkatkan dukungan untuk menghadirkan komposisi SDR dan HDR secara bersamaan di layar dengan memperkenalkan fitur berikut:
Pemetaan nada pencahayaan HDR ke rentang yang kompatibel dengan SDR.
Menggunakan
libtonemap
, pemetaan nada dapat dibuat konsisten antara Komposer Perangkat Keras (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 konten HDR.
Saat konten HDR ada di layar, kecerahan layar ditingkatkan untuk mengakomodasi peningkatan rentang pencahayaan konten HDR. Konten SDR apa pun yang juga ada di layar diredupkan dengan mulus saat kecerahan layar meningkat sehingga kecerahan persepsi konten SDR tidak berubah. OEM dapat mengonfigurasi tampilan bawaan mereka untuk meredupkan konten SDR di layar saat disajikan bersama konten HDR.
persyaratan OEM
Untuk menggunakan komposisi yang ditingkatkan untuk konten HDR dan SDR melalui peredupan konten SDR, ikuti persyaratan berikut:
Terapkan versi AIDL dari HWC, yang mencakup dukungan untuk peredupan yang dipercepat perangkat keras di jalur warna perangkat. Lihat AIDL untuk HWC untuk menerapkan fungsionalitas yang diperlukan.
Peredupan overlay perangkat keras yang akurat di HWC memerlukan perangkat keras khusus untuk menskalakan cahaya linier dari 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 tampilan bawaan, sehingga keseimbangan antara masa pakai baterai, burn-in, dan kesetiaan konten dapat ditetapkan.
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
memungkinkan peredupan SDR dan menentukan tabel pencarian (LUT) untuk memetakan kecerahan layar agar HDR ditampilkan ke titik putih SDR saat ada konten HDR di layar.Jika
sdrHdrRatioMap
didefinisikan, 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 implementasi HWC mendukung peredupan SDR.Elemen
minimumHdrPercentOfScreen
, dengan nilai mulai dari 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 memperbaiki nilai ini menjadi 50%.
Lihat blok kode berikut untuk elemen kunci dari 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:
Ketepatan konten HDR yang diputar di perangkat dapat meningkat, karena elemen konten SDR diredupkan.
Masa pakai baterai dapat berkurang dalam skenario berikut:
Implementasi HWC yang menunda operasi peredupan ke GPU dapat menyebabkan peningkatan penggunaan GPU.
Konfigurasi tampilan yang memungkinkan ambang batas yang lebih rendah untuk mengaktifkan mode kecerahan tinggi dapat meningkatkan konsumsi daya untuk menjalankan layar pada kecerahan yang lebih tinggi.
Kesehatan layar dapat terpengaruh karena peningkatan waktu yang dihabiskan dalam mode kecerahan tinggi, yang dapat menyebabkan masalah jangka panjang seperti burn-in dengan kesehatan tampilan.
Validasi
OEM dapat menggunakan pengujian VTS, yang disertakan sebagai bagian dari rangkaian pengujian HWC, untuk memeriksa kebenaran peredupan dan untuk memvalidasi rasio peredupan input .
Validasi untuk fitur ini bergantung pada perangkat, jadi tidak ada tes CTS atau GTS untuk mendukung ini.
OEM harus menjalankan tes 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 setiap elemen SDR yang diputar bersama konten HDR tidak menjadi terlalu terang.
Masalah
Peredupan gambar SDR dapat mengakibatkan black crush , atau hilangnya informasi di area yang lebih gelap dari gambar asli. Ini karena nilai warna yang lebih gelap runtuh ke kumpulan kode gelap yang lebih kecil.
Implementasi untuk peredupan yang menyebabkan black crush yang tidak dapat diterima harus menerapkan algoritme dithering, yang menyuntikkan noise ke dalam gambar akhir sehingga efek pita berkurang.
Implementasi HWC yang tidak dapat mengubah gambar di lokasi yang sesuai dalam saluran warna harus meminta agar 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 tetapi dapat mengurangi masa pakai baterai.