از زمان معرفی ویدیو با محدوده دینامیکی بالا (HDR)، سرویسهای استریم پخش ویدیوی HDR را با تمرکز بر تجربههای تمام صفحه آغاز کردهاند. اخیراً، برنامههای رسانههای اجتماعی پشتیبانی از ویدیوی HDR و Ultra HDR را راهاندازی کردهاند که نشاندهنده علاقه رو به رشد به پذیرش HDR در بین برنامههای مختلف است.
پشتیبانی اندروید از HDR
موارد زیر نقاط عطف پشتیبانی اندروید از فناوری HDR طی چندین سال است:
اندروید 7
- پشتیبانی اولیه از رمزگشایی و نمایش ویدیوی HDR.
- پیشرفت های مداوم در قابلیت های HDR.
اندروید 13
- پشتیبانی سرتاسری از فیلمبرداری HDR، رمزگذاری و نمایش.
- معرفی ترکیب SDR و HDR مختلط ، تعریف محدوده های مختلف روشنایی قابل نمایش بین SDR و HDR.
اندروید 14
- پشتیبانی از تصاویر HDR با Ultra HDR .
پشتیبانی از اسکرین شات با HDR نیز تکامل یافته و در طول سال ها دستخوش تغییرات زیادی شده است.
پیشرفت در قابلیت های اسکرین شات HDR
این بخش پیشرفت قابلیت اسکرین شات HDR در به روز رسانی های اخیر اندروید را دنبال می کند.
اندروید 9
SurfaceFlinger، سازنده گرافیک اندروید، پشتیبانی از ویدیوی HDR را معرفی می کند. رندر GPU از ویدئوهای HDR و تصاویر صفحه با یک نگاشت چند جمله ای پیچیده پشتیبانی می شود. این منحنی نگاشت تون همیشه معادل نگاشت تن نمایشگر نیست، بنابراین اسکرین شات ها با محتوای روی صفحه تفاوت دارند.
اندروید 13
یک پلاگین نگاشت آهنگ به بلوک رندر GPU SurfaceFlinger اضافه شده است، که OEM را قادر می سازد یک سایه زن GPU برای مطابقت با منحنی نگاشت آهنگ نمایشگر خود فراهم کند. اسکرینشاتها تقریباً با آنچه روی صفحه است مطابقت دارند، اما با تفاوتهای زیر:
- اسکرین شات ها در قالب SDR باقی می مانند. در نتیجه، وقتی در کنار یک صحنه HDR مشاهده میشود، مناطق HDR در اسکرین شات کمنورتر به نظر میرسند.
- روشنایی SDR مدیریت نمیشود، در نتیجه محتوای SDR درون تصویر به روشنی محتوای HDR ظاهر میشود.
به عبارت دیگر، هر ویدیوی HDR گرفته شده در اسکرین شات به ویدیوی SDR تبدیل می شود.
اندروید 14
Ultra HDR چالش مهمی برای گرفتن اسکرین شات است. برخلاف ویدیوها، تصاویر معمولاً در فریم بافر UI ارائه می شوند که دو مفهوم اصلی دارد:
- تصاویر نمی توانند پردازش تصویر، از جمله نقشه رنگی، که با رابط کاربری اطراف متفاوت است داشته باشند.
- برنامهها هنگام رندر کردن رابط کاربری خود مسئول نگاشت تون مبتنی بر منبع هستند.
برای کاهش این چالش، سه پیاده سازی بالقوه اسکرین شات وجود دارد:
- جزئیات HDR یک تصویر Ultra HDR را حفظ کنید، و در نتیجه یک رابط کاربری برنامه تاریک در تصویر ایجاد می شود.
- جزئیات رابط کاربری برنامه را حفظ کنید، که باعث بریده شدن تصویر Ultra HDR می شود.
- با روشن کردن رابط کاربری برنامه در حین برش دادن نکات برجسته HDR به خطر بیفتید.
اندروید 14 سومین رویکرد روشنتر کردن رابط کاربری برنامه و بریدهشدن نکات برجسته HDR را اجرا میکند.
Android 15-QPR1
SurfaceFlinger شامل یک الگوریتم محلی برای نقشه برداری از صفحه نمایش است. این فرآیند شامل:
- تقسیم تصویر ورودی به تصاویر کوچکتر
- محاسبه حداکثر روشنایی در هر تصویر، و حذف مقادیر کم درخشندگی در هر بخش.
- درون یابی درخشندگی های محاسبه شده از طریق محو کردن و نمونه برداری مجدد.
- اعمال یک توننگ رینهارد پارامتری بر روی تصویر ورودی، بر اساس مقادیر درخشندگی درونیابی شده.
این الگوریتم بهبودهای قابل توجهی از اسکرین شات را بین Android 14 و Android 15-QPR1 نشان می دهد، همانطور که در مثال های زیر نشان داده شده است:
مثال 1 تصویری از یک ویدیوی HDR است که در بالای صفحه Chrome حاوی Ultra HDR قرار گرفته است. رنگهای رابط کاربری بیشتر در اجرای جدید حفظ میشوند و تصویر دیگر بریده نمیشود.
اندروید 14 Android 15-QPR1 شکل 1. مقایسه اندروید 14 و اندروید 15-QPR1 برای مثال 1.
مثال 2 تصویری از یک ویدیوی HDR است که با اسکرین شات های بعدی در بالای تنظیمات قرار گرفته است. در اندروید 14، رنگ های اسکرین شات به طور متوالی تیره تر می شوند. در Android 15-QPR1، تونمپر به درستی رنگهای رابط کاربری را تکرار کرده و حفظ میکند.
اندروید 14 Android 15-QPR1 شکل 2. مقایسه اندروید 14 و اندروید 15-QPR1 برای مثال 2.
اندروید 16
مشابه Ultra HDR ، اسکرینشاتهای HDR یک نقشه گام را در فایل اسکرین شات ذخیره میکنند تا نمایش HDR را در حین رندر بازیابی کند. با این حال، برخلاف Ultra HDR، اسکرین شات در قالب PNG برای سازگاری با سیستمهایی که اسکرینشاتهای PNG را دریافت میکنند، باقی میماند.
جزئیات تولید اسکرین شات به شرح زیر است:
- هنگامی که محتوای HDR بر روی دستگاه نمایش داده می شود، یک عکس از صفحه نمایش با استفاده از پیکسل های FP16 ایجاد می شود.
- نقشهنگار محلی که در Android 15-QPR1 توضیح داده شده است، یک نمایش SDR پایه 8 بیتی ایجاد میکند.
- یک نقشه 8 بیتی با ترکیب بازنمود پایه SDR با اجرای HDR تولید می شود.
- بازنمود پایه SDR و gainmap در یک فایل PNG کدگذاری می شوند.
جزئیات رمزگذاری PNG به شرح زیر است:
- Gainmap بهعنوان یک تصویر PNG کدگذاری میشود که شامل یک قطعه gmAP است که حاوی فراداده ISO 21496-1 برای gainmap است.
- ارائه پایه SDR به عنوان یک تصویر PNG کدگذاری شده است که شامل یک قطعه gmAP است که حاوی نسخه فراداده ISO 21496-1 است. این تصویر PNG همچنین شامل یک تکه gdAT است که شامل تمام نقشه رمزگذاریشده PNG است.
شکل زیر طرح تکه های PNG را نشان می دهد:
شکل 3. چیدمان قطعات PNG.
با اندروید 16، کدک PNG از کدگذاری و رمزگشایی این PNG ها پشتیبانی می کند. برنامه ها می توانند یک PNG را با یک نقشه به همان شیوه Ultra HDR نمایش دهند.