برای دستگاههایی که Android نسخه 13 و بالاتر دارند، Android از خروجی دوربین 10 بیتی از طریق نمایههای محدوده پویا پشتیبانی میکند که میتواند توسط مشتری دوربین به عنوان بخشی از پیکربندی پخش جریانی پیکربندی شود. سازندگان دستگاه می توانند از پروفایل های محدوده دینامیکی 10 بیتی مانند HLG10، HDR 10، HDR 10+ و Dolby Vision پشتیبانی کنند.
پشتیبانی از خروجی دوربین 10 بیتی به مشتریان دوربین اجازه می دهد تا با تماس گرفتن getSupportedProfiles
پروفایل های دامنه پویا 10 بیتی پشتیبانی شده یک دستگاه را کشف کنند. سپس چارچوب نمونهای از DynamicRangeProfiles
را برمیگرداند که شامل اطلاعاتی در مورد نمایههای دامنه پویا پشتیبانیشده و در صورت وجود، محدودیتهای درخواست ضبط میشود. نمایه HLG10
باید پشتیبانی شود. نمایه محدوده دینامیکی توصیه شده در قسمت REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE
فهرست شده است.
کلاینتهای دوربین میتوانند ترکیبهای جریان را با فراخوانی setDynamicRangeProfile
پیکربندی کنند. برای اطلاعات بیشتر در مورد ترکیبات جریان خروجی اجباری، جدول تنظیمات تضمین شده اضافی خروجی 10 بیتی را در ضبط منظم ببینید.
الزامات
برای پشتیبانی از خروجی دوربین 10 بیتی، دستگاه باید دارای سنسور دوربین 10 بیتی یا بالاتر با پشتیبانی ISP مربوطه باشد. برای جزئیات در مورد الزامات سازگاری مرتبط برای پشتیبانی 10 بیتی، به بخش 7.5 مراجعه کنید. دوربین ها در CDD.
پیاده سازی
برای ارائه پشتیبانی از خروجی دوربین 10 بیتی، سازندگان دستگاه باید ادغامهای Camera AIDL HAL زیر را انجام دهند:
- شامل
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
در قابلیت های دوربین. -
ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP
با تمام نمایههای دامنه پویا پشتیبانی شده و یک بیت مپ از محدودیتهای آنها پر کنید. نمایهHLG10
باید پشتیبانی شود. همچنین باید یک نمایه محدوده دینامیکی توصیه شده برای اطلاع مشتریان دوربین از فرمت بهینه پشتیبانی شده اضافه کنید. - اطمینان حاصل کنید که از مقدار نمایه محدوده پویا در طول پیکربندی جریان برای جریانهایی که از قالب P010 استفاده میکنند یا از یک قالب تعریفشده توسط پیادهسازی پشتیبانی میکند (
ImageFormat.PRIVATE
). - بسته به نمایه دامنه پویا، قبل از اطلاع رسانی به سرویس دوربین، بافر فراداده ایستا یا پویا بافرهای پردازش شده Gralloc 4 را تنظیم کنید.
برای جزئیات بیشتر در مورد خروجی دوربین 10 بیتی در Camera HAL، به موارد زیر در metadata_definitions.xml
مراجعه کنید:
-
DYNAMIC_RANGE_TEN_BIT
- جزئیات HAL برای
availableDynamicRangeProfilesMap
-
recommendedTenBitDynamicRangeProfile
-
10BIT_OUTPUT
برای اجرای مرجع دوربین HAL که از خروجی دوربین 10 بیتی پشتیبانی می کند، به /hardware/google/camera/devices/EmulatedCamera/hwl
مراجعه کنید.
اعتبار سنجی
برای تأیید اجرای خروجی دوربین 10 بیتی خود و اطمینان از اینکه برنامه های شخص ثالث می توانند این ویژگی را فعال کنند، توصیه می کنیم سه مرحله اعتبار سنجی زیر را انجام دهید.
- صحت عملکرد API را تست کنید
- دوربین اصلی و برنامه شخص ثالث را مقایسه کنید
- محدوده دینامیکی استاندارد و محدوده دینامیکی بالا را مقایسه کنید
برای اعتبارسنجی بصری خروجی دوربین 10 بیتی، فرض بر این است که دستگاه از نمایش HDR (نمایشگر 1000 نیتی) پشتیبانی می کند و برنامه مشاهده ویدیو (به عنوان مثال، Google Photos) از پخش ویدیوی HDR پشتیبانی می کند.
صحت عملکرد API را تست کنید
برای تست صحت عملکرد API خروجی دوربین 10 بیتی، تست های CTS، دوربین ITS و VTS زیر را اجرا کنید:
-
hardware/interfaces/camera/provider/aidl/vts/
: آزمایشهایی برای کشف اولیه، پیکربندی، و جریان، و بررسی وجود ابرداده HDR در صورت لزوم. -
tests/camera/src/android/hardware/camera2/cts/
: اطمینان حاصل می کند که دوربین مطابق با مشخصات AOSP API رفتار می کند. -
cts/apps/CameraITS
: تأیید میکند که رفتار کلی ویدیو در هنگام استفاده از نمایههای HDR سازگار است. تست خاصtests/scene4/test_video_aspect_ratio_and_crop.py
است.
دوربین اصلی و برنامه شخص ثالث را مقایسه کنید
ما قویاً توصیه میکنیم که نتایج ضبط ویدیوهای 10 بیتی با یک برنامه شخص ثالث مشابه، اگر یکسان نباشد، با برنامه دوربین اصلی باشد. این بدان معناست که انتخابهای تنظیم، مانند نوردهی، محدوده دینامیکی و رنگ، باید از برنامه اصلی به برنامههای شخص ثالث منتقل شوند. برای تأیید رفتار ضبط ویدیوی یک برنامه شخص ثالث که از خروجی دوربین 10 بیتی در دستگاه شما پشتیبانی می کند، از برنامه نمونه Camera2Video در GitHub استفاده کنید. راهنمایی زیر برای نشان دادن جنبههای قابل مشاهده HDR بدون اعداد هدف، به دلیل تنوع سنسورها، پانلها، شرایط مشاهده، و ترجیحات فروشنده است.
صحنه های پیشنهادی برای مقایسه
برای مقایسه بین برنامه دوربین اصلی و یک برنامه شخص ثالث، با استفاده از چندین صحنه مختلف با برنامه دوربین اصلی و برنامه نمونه Camera2Video فیلم بگیرید. صحنه های زیر برای مقایسه پیشنهاد می شوند:
- یک صحنه نور متوسط تا کم نور با یک جسم روشن، مانند یک شمع یا نور روشن کوچک که محدوده قابل توجهی از روشنایی ایجاد می کند. این رفتار نوردهی خودکار و محدوده دینامیکی را تأیید می کند.
- صحنهای روشن در فضای باز با رنگهای زنده و اشیاء بازتابنده مانند سپرهای کرومی روی خودرو که برجستهسازیهای روشن ایجاد میکند. این رندر صحنه های روشن با هایلایت های روشن تر را تایید می کند.
- صحنهای با دامنه دینامیکی متوسط، مانند صحنههای طبیعی داخلی در خانه یا محل کار. این امر تأیید می کند که شرایط نوری کم تر مطابق انتظار رفتار می کنند.
برای همه صحنهها، توصیه میکنیم افراد و چهرهها را برای بررسی میزان نوردهی، رنگ و رنگ پوست داشته باشید. کاهش تنوع شات به شات، مقایسه پشت سر هم را آسان می کند.
محدوده دینامیکی استاندارد و محدوده دینامیکی بالا را مقایسه کنید
برای اطمینان از اینکه استفاده از نمایه محدوده دینامیکی 10 بیتی نسبت به یک نمایه محدوده دینامیکی استاندارد مزیت محسوسی دارد، فیلمبرداری با استفاده از SDR (بدون نمایه HDR) را با ویدیوهای HDR مقایسه کنید تا تأیید کنید که جنبههای کلیدی HDR در عکسها ظاهر میشوند. برای مقایسه SDR و HDR، از برنامه نمونه Camera2Video و صحنه های پیشنهادی برای مقایسه برنامه دوربین اصلی و برنامه های شخص ثالث استفاده کنید.
موارد زیر جنبه های کلیدی برای تأیید در صحنه های پیشنهادی است. پنلهای صفحهنمایش با قابلیت HDR در سطوح روشنایی (اندازهگیری شده برحسب nit یا لومن) متفاوت هستند، بنابراین اعداد زیر بهعنوان مثالهایی در نظر گرفته شدهاند:
- در صحنه های نور متوسط تا کم نور، نقاط برجسته روشن شمع یا نور کوچک با حداکثر روشنایی برای نمایشگر (احتمالاً تا 1000 نیت) در کلیپ HDR و با حداکثر روشنایی برای SDR (تقریباً 100) رندر می شوند. nits) در کلیپ SDR. در کلیپ HDR، نقاط برجسته روشن باید از نمایشگر بدرخشد و درک کاربر از محدوده دینامیکی واقعی صحنه را به تصویر بکشد. در مقایسه با کلیپ HDR، گیره SDR باید صاف تر و روشن تر به نظر برسد.
- در صحنه خروجی روشن، بسته به تنظیم دستگاه، گیره HDR تفاوت آشکاری در روشنایی صفحه نمایش در مقایسه با کلیپ SDR نشان می دهد. برای کلیپ HDR، روشنایی صفحه برای صحنه کلی (بسته به فضای سر) باید بیشتر باشد، به عنوان مثال، تا 800 نیت، و حتی بیشتر از آن برای نقاط برجسته روشن مانند ضربه گیرهای کرومی، در حدود حداکثر روشنایی.
- در فیلمبرداری داخلی با دامنه دینامیکی متوسط و پایین، گیره های HDR و SDR از نظر رنگ و تن مشابه هستند و تصویربرداری HDR به طور بالقوه روشن تر از SDR است. HDR نباید تیره تر از SDR باشد. اگر انتخاب های تنظیم این کار را غیرممکن می کند، مطمئن شوید که رفتار برنامه شخص ثالث با رفتار برنامه دوربین اصلی مطابقت دارد.