برونداد دوربین ۱۰ بیتی

برای دستگاه‌های دارای Android 13 و بالاتر، Android از برونداد دوربین ۱۰ بیتی ازطریق نمایه‌های محدوده پویا که مشتری دوربین می‌تواند آن‌ها را به‌عنوان بخشی از پیکربندی جاری‌سازی پیکربندی کند پشتیبانی می‌کند. سازندگان دستگاه می‌توانند پشتیبانی از نمایه‌های دامنه پویای ۱۰ بیتی مانند HLG10،‏ HDR 10،‏ HDR 10+‎، و Dolby Vision را اضافه کنند.

پشتیبانی از برونداد دوربین ۱۰ بیتی به کارخواه‌های دوربین امکان می‌دهد با فراخوانی getSupportedProfiles، نمایه‌های دامنه پویای ۱۰ بیتی پشتیبانی‌شده دستگاه را شناسایی کنند. سپس چارچوب نمونه‌ای از DynamicRangeProfiles برمی‌گرداند که شامل اطلاعاتی درباره نمایه‌های محدوده دینامیکی پشتیبانی‌شده و، درصورت وجود، محدودیت‌های درخواست ضبط است. نمایه HLG10 باید پشتیبانی شود. نمایه دامنه پویای توصیه‌شده در فیلد REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE فهرست شده است.

مشتریان دوربین می‌توانند با فراخوانی setDynamicRangeProfile ترکیب‌های جاری‌سازی را پیکربندی کنند. برای اطلاعات بیشتر درباره ترکیب‌های جاری‌سازی برونداد اجباری، جدول پیکربندی‌های تضمین‌شده اضافی برونداد ۱۰ بیتی در ضبط معمولی را ببینید.

الزامات

برای پشتیبانی از برونداد دوربین ۱۰ بیتی، دستگاه باید حسگر دوربین ۱۰ بیتی یا بالاتر با پشتیبانی ISP مربوطه داشته باشد. برای جزئیات مربوط به الزامات سازگاری برای پشتیبانی ۱۰ بیتی، بخش ۷.۵ را ببینید. دوربین‌ها در CDD.

پیاده‌سازی

برای پشتیبانی از برونداد دوربین ۱۰ بیتی، سازندگان دستگاه باید ادغام‌های زیر را در Camera AIDL HAL انجام دهند:

  • ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT را در قابلیت‌های دوربین لحاظ کنید.
  • ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP را با همه نمایه‌های محدوده پویا پشتیبانی‌شده و یک بیت‌مپ از محدودیت‌های آن‌ها پر کنید. نمایه HLG10 باید پشتیبانی شود. همچنین باید یک نمایه محدوده دینامیکی توصیه‌شده اضافه کنید تا مشتریان دوربین از قالب پشتیبانی‌شده بهینه مطلع شوند.
  • درطول پیکربندی جاری‌سازی برای جاری‌سازی‌هایی که از قالب P010 استفاده می‌کنند یا پشتیبانی از قالب تعریف‌شده پیاده‌سازی (ImageFormat.PRIVATE)، از پشتیبانی مقدار نمایه دامنه پویا اطمینان حاصل کنید.
  • بسته به نمایه محدوده پویا، بافر فراداده ثابت یا پویای بافرهای Gralloc 4 پردازش‌شده را قبل‌از مطلع کردن سرویس دوربین تنظیم کنید.

برای جزئیات بیشتر درباره خروجی دوربین ۱۰ بیتی در HAL دوربین، موارد زیر را در metadata_definitions.xml ببینید:

برای پیاده‌سازی مرجع HAL دوربین که از خروجی دوربین ۱۰ بیتی پشتیبانی می‌کند، به /hardware/google/camera/devices/EmulatedCamera/hwl مراجعه کنید.

اعتبارسنجی

برای اعتبارسنجی پیاده‌سازی خروجی دوربین ۱۰ بیتی و اطمینان از اینکه برنامه‌های شخص ثالث می‌توانند این ویژگی را فعال کنند، توصیه می‌کنیم سه مرحله اعتبارسنجی زیر را انجام دهید.

برای اعتبارسنجی تصویری برونداد دوربین ۱۰ بیتی، فرض می‌شود که دستگاه از نمایش HDR (نمایشگر با روشنایی بیش‌از ۱۰۰۰ نیت) پشتیبانی می‌کند و برنامه مشاهده ویدیو (برای مثال، Google Photos) از بازپخش ویدیو HDR پشتیبانی می‌کند.

آزمایش کردن صحت عملکرد میانای برنامه‌سازی کاربردی

برای آزمایش درستی عملکرد API خروجی دوربین ۱۰ بیتی، آزمایش‌های CTS،‏ ITS دوربین، و VTS زیر را اجرا کنید:

مقایسه دوربین بومی و برنامه طرف سوم

به‌شدت توصیه می‌کنیم مطمئن شوید که نتایج ضبط ویدیوهای ۱۰ بیتی با برنامه طرف سوم مشابه، اگر نه یکسان، با برنامه دوربین بومی باشد. این یعنی انتخاب‌های تنظیم، مانند نوردهی، محدوده دینامیکی، و رنگ، باید از برنامه بومی به برنامه‌های طرف سوم منتقل شوند. برای تأیید رفتار ضبط ویدیو برنامه طرف سوم که از برونداد دوربین ۱۰ بیتی در دستگاهتان پشتیبانی می‌کند، از برنامه نمونه Camera2Video در GitHub استفاده کنید. راهنمایی‌های زیر برای نشان دادن جنبه‌های نمایان HDR بدون اعداد هدف است، زیرا حسگرها، پانل‌ها، شرایط مشاهده، و ترجیحات فروشنده متغیر هستند.

صحنه‌های پیشنهادی برای مقایسه

برای مقایسه برنامه دوربین بومی و برنامه طرف سوم، بااستفاده از صحنه‌های مختلف با برنامه دوربین بومی و برنامه نمونه Camera2Video ویدیو ضبط کنید. صحنه‌های پیشنهادی برای استفاده در مقایسه عبارت‌اند از:

  • صحنه‌ای با نور متوسط تا کم با یک شیء روشن، مانند شمع یا نور روشن کوچکی که طیف قابل‌توجهی از روشنایی ایجاد می‌کند. این عملکرد نوردهی خودکار و محدوده پویا را تأیید می‌کند.
  • صحنه‌ای روشن در فضای باز با رنگ‌های پرطراوت و اشیای بازتابنده مانند سپرهای کرومی خودرو که نقاط روشن ایجاد می‌کند. این کار پردازش صحنه‌های روشن با نواحی پرنور حتی روشن‌تر را تأیید می‌کند.
  • صحنه‌ای با محدوده دینامیکی پایین و میان‌رده، مانند صحنه طبیعی در داخل خانه یا دفتر کار. این کار تأیید می‌کند که شرایط نوری کمتر شدید همان‌طور که انتظار می‌رود عمل می‌کند.

برای همه صحنه‌ها، توصیه می‌کنیم که افراد و چهره‌ها را برای تأیید نوردهی، رنگ، و مدیریت رنگ پوست داشته باشید. کاهش تفاوت بین عکس‌ها مقایسه پشت‌سرهم را آسان‌تر می‌کند.

مقایسه دامنه پویای استاندارد و دامنه پویای بالا

برای اطمینان از اینکه استفاده از نمایه محدوده پویای ۱۰ بیتی نسبت‌به نمایه محدوده پویای استاندارد مزیت محسوسی دارد، ضبط‌های ویدیویی را بااستفاده از SDR (بدون نمایه HDR) با ویدیوهای HDR مقایسه کنید تا مطمئن شوید که جنبه‌های کلیدی HDR در ضبط‌ها ظاهر می‌شوند. برای مقایسه SDR و HDR، از برنامه نمونه Camera2Video و صحنه‌های پیشنهادی برای مقایسه برنامه دوربین بومی و برنامه‌های شخص ثالث استفاده کنید.

موارد زیر جنبه‌های کلیدی‌ای هستند که باید در صحنه‌های پیشنهادی تأیید شوند. سطوح روشنایی (اندازه‌گیری‌شده با نیت یا لومن) در پانل‌های نمایشگر سازگار با HDR متفاوت است، بنابراین اعداد زیر به‌عنوان مثال ارائه شده‌اند:

  • در صحنه با نور متوسط تا کم، نقاط روشن شمع یا نور کوچک در کلیپ HDR با حداکثر روشنایی نمایشگر (احتمالاً تا ۱۰۰۰ نیت) و در کلیپ SDR با حداکثر روشنایی SDR (تقریباً ۱۰۰ نیت) پردازش می‌شود. در کلیپ HDR، بخش‌های روشن باید از نمایشگر بدرخشند و درک کاربر از دامنه پویای واقعی صحنه را ثبت کنند. درمقایسه با کلیپ HDR، کلیپ SDR باید تخت‌تر و با روشنایی کمتر نمایش داده شود.
  • در صحنه برونداد روشن، بسته به تنظیم دستگاه، کلیپ HDR در مقایسه با کلیپ SDR تفاوت آشکاری در روشنایی صفحه نشان می‌دهد. برای کلیپ HDR، روشنایی صفحه‌نمایش برای صحنه کلی (بسته به فضای بالای سر) باید بیشتر باشد، برای مثال تا ۸۰۰ نیت، و حتی برای نقاط روشن برجسته مانند سپر کروم، در حدود حداکثر روشنایی، بیشتر باشد.
  • در ضبط داخلی با دامنه پویای پایین و متوسط، کلیپ‌های HDR و SDR ازنظر رنگ و تُن مشابه هستند، اما ضبط HDR احتمالاً روشن‌تر از SDR است. ‫HDR نباید تاریک‌تر از SDR باشد. اگر انتخاب‌های تنظیم این کار را غیرممکن می‌کند، مطمئن شوید که رفتار برنامه طرف سوم با رفتار برنامه دوربین بومی مطابقت داشته باشد.