Untuk perangkat yang menjalankan Android 13 dan yang lebih tinggi, Android mendukung output kamera 10-bit melalui profil rentang dinamis yang dapat dikonfigurasi oleh klien kamera sebagai bagian dari konfigurasi streaming. Perangkat produsen dapat menambahkan dukungan untuk profil rentang dinamis 10-bit seperti HLG10, HDR 10, HDR 10+, dan Dolby Vision.
Dukungan output kamera 10-bit memungkinkan klien kamera menemukan jaringan 10-bit yang didukung
profil rentang dinamis perangkat
dengan memanggil
getSupportedProfiles
Kerangka kerja kemudian mengembalikan instance
DynamicRangeProfiles
,
yang mencakup informasi tentang profil rentang dinamis yang didukung dan, jika
yang tersedia, mencatat batasan permintaan. Tujuan
HLG10
harus didukung. Profil rentang dinamis yang direkomendasikan tercantum di
tindakan
REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE
kolom tersebut.
Klien kamera dapat mengonfigurasi kombinasi streaming dengan memanggil
setDynamicRangeProfile
Untuk mengetahui informasi selengkapnya tentang kombinasi streaming output wajib, lihat
Tabel konfigurasi jaminan tambahan output 10-bit di
Pengambilan gambar reguler.
Persyaratan
Untuk mendukung output kamera 10-bit, perangkat harus memiliki output kamera 10-bit atau yang lebih tinggi sensor kamera yang kompatibel dengan dukungan ISP terkait. Untuk detail tentang persyaratan kompatibilitas untuk dukungan 10-bit, lihat bagian 7.5. Kamera di CDD.
Implementasi
Untuk memberikan dukungan bagi output kamera 10-bit, produsen perangkat harus melakukan integrasi Camera AIDL HAL berikut:
- Sertakan
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
dalam kemampuan kamera yang sangat baik. - Isi
ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP
dengan semua profil rentang dinamis yang didukung dan bitmap batasannya. TujuanHLG10
harus didukung. Anda juga harus menyertakan saluran dinamis yang direkomendasikan rentang untuk memberi tahu klien kamera tentang format yang didukung secara optimal. - Memastikan dukungan untuk nilai profil rentang dinamis selama streaming
untuk streaming menggunakan
P010
atau dukungan untuk format yang ditentukan implementasi
(
ImageFormat.PRIVATE
). - Bergantung pada profil rentang dinamis, tetapkan metadata statis atau dinamis buffer Gralloc 4 yang telah diproses sebelum memberi tahu layanan kamera.
Untuk detail lebih lanjut tentang output kamera 10-bit di Camera HAL, lihat
berikut di metadata_definitions.xml
:
DYNAMIC_RANGE_TEN_BIT
- Detail HAL untuk
availableDynamicRangeProfilesMap
recommendedTenBitDynamicRangeProfile
10BIT_OUTPUT
Untuk implementasi HAL Kamera referensi yang mendukung output kamera 10-bit, lihat
/hardware/google/camera/devices/EmulatedCamera/hwl
Validasi
Untuk memvalidasi implementasi output kamera 10-bit dan memastikan bahwa aplikasi pihak ketiga dapat mengaktifkan fitur ini, sebaiknya lakukan tindakan berikut tiga tahap validasi.
- Menguji ketepatan fungsi API
- Membandingkan kamera native dan aplikasi pihak ketiga
- Membandingkan rentang dinamis standar dan rentang dinamis tinggi
Untuk validasi visual output kamera 10-bit, diasumsikan bahwa perangkat mendukung tampilan HDR (1000+ nits), dan aplikasi penampil video (untuk (misalnya, Google Foto) mendukung pemutaran video HDR.
Menguji ketepatan fungsi API
Untuk menguji ketepatan fungsi API dari output kamera 10-bit, jalankan berikut pengujian CTS, ITS kamera, dan VTS:
hardware/interfaces/camera/provider/aidl/vts/
: Menguji penemuan dasar, konfigurasi, dan streaming, serta memeriksa keberadaan metadata HDR jika diperlukan.tests/camera/src/android/hardware/camera2/cts/
: Memastikan kamera berperilaku sesuai dengan spesifikasi AOSP API.cts/apps/CameraITS
: Mengonfirmasi bahwa perilaku video secara umum sudah konsisten saat profil HDR digunakan. Pengujian spesifiknya adalahtests/scene4/test_video_aspect_ratio_and_crop.py
Membandingkan kamera native dan aplikasi pihak ketiga
Kami sangat menyarankan untuk memastikan bahwa hasil perekaman video 10-bit dengan aplikasi pihak ketiga serupa, bahkan jika tidak sama, dengan aplikasi kamera native. Ini berarti bahwa pilihan tuning, seperti eksposur, rentang dinamis, dan warna, harus dari aplikasi native ke aplikasi pihak ketiga. Untuk memverifikasi video perilaku perekaman aplikasi pihak ketiga yang mendukung output kamera 10-bit di gunakan Aplikasi contoh Camera2Video di GitHub. Panduan berikut berfungsi untuk menggambarkan aspek yang terlihat dari HDR tanpa angka objektif, karena bervariasi dari sensor, panel, kondisi tampilan, dan preferensi vendor.
Adegan yang disarankan untuk perbandingan
Untuk membuat perbandingan antara aplikasi kamera native dan aplikasi pihak ketiga, merekam video menggunakan beberapa adegan yang berbeda dengan aplikasi kamera native dan aplikasi contoh Camera2Video. Berikut ini adalah adegan yang disarankan untuk digunakan dalam perbandingan:
- Pemandangan cahaya tengah hingga cahaya redup dengan objek terang, seperti lilin atau cahaya terang kecil yang menciptakan rentang kecerahan yang signifikan. Ini mengonfirmasi perilaku eksposur otomatis dan rentang dinamis.
- Pemandangan luar ruangan yang terang dengan warna-warna cerah dan objek reflektif seperti seperti bumper krom di mobil, yang menghasilkan sorotan terang. Hal ini memastikan rendering untuk adegan cerah dengan sorotan yang lebih terang.
- Scene rentang dinamis menengah dan rendah seperti pemandangan alam dalam ruangan di rumah atau kantor. Hal ini memastikan perilaku kondisi pencahayaan yang tidak terlalu ekstrem sesuai yang diharapkan.
Untuk semua pemandangan, sebaiknya gunakan orang dan wajah untuk memverifikasi eksposur, warna, dan penanganan warna kulit. Mengurangi variasi shot-to-shot membuat model back-to-back jadi lebih mudah perbandingan.
Membandingkan rentang dinamis standar dan rentang dinamis tinggi
Untuk memastikan adanya manfaat yang dirasakan dari penggunaan rentang dinamis 10-bit pada profil rentang dinamis standar, membandingkan rekaman video menggunakan SDR (tidak ada profil HDR) pada video HDR untuk memastikan bahwa aspek utama HDR muncul hasil screenshot. Untuk membandingkan SDR dan HDR, gunakan Aplikasi contoh Camera2Video dan adegan yang disarankan untuk membandingkan kamera native aplikasi dan aplikasi pihak ketiga.
Berikut adalah aspek utama yang perlu diverifikasi dalam adegan yang disarankan. Panel layar yang mendukung HDR bervariasi tingkat kecerahannya (diukur dalam nit atau lumen), sehingga angka yang diberikan berikut dimaksudkan sebagai contoh:
- Di tempat dengan cahaya tengah hingga cahaya redup, sorotan terang dari lilin atau cahaya kecil dirender pada kecerahan maksimum untuk layar (mungkin lebih tinggi hingga 1.000 nit) dalam klip HDR, dan dirender pada kecerahan maksimum untuk SDR (sekitar 100 nit) dalam klip SDR. Di klip HDR, kecerahan sorotan harus terlihat menonjol dari layar, menangkap persepsi pengguna tentang rentang dinamis yang sebenarnya. Dibandingkan dengan klip HDR, Klip SDR akan terlihat lebih datar dan tidak terlalu terang.
- Dalam adegan output yang cerah, bergantung pada tuning perangkat, HDR klip menunjukkan perbedaan kecerahan layar yang jelas dibandingkan dengan klip SDR. Untuk klip HDR, kecerahan layar untuk keseluruhan adegan (bergantung pada kapasitas) harus lebih tinggi, misalnya, hingga 800 nit, dan terlebih lagi untuk sorotan terang seperti bumper chrome, di sekitar kecerahan maksimum.
- Pengambilan gambar dalam ruangan rentang dinamis rendah dan menengah, HDR dan SDR klip memiliki warna dan nuansa yang mirip, dengan penangkapan HDR berpotensi lebih terang dari SDR. HDR tidak boleh lebih gelap daripada SDR. Jika pilihan penyesuaian membuat hal ini tidak mungkin dilakukan, pastikan aplikasi pihak ketiga cocok dengan perilaku aplikasi kamera native.