HDR در اسکرین شات های اندروید

از زمان معرفی ویدیو با محدوده دینامیکی بالا (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مثال 1 در اندروید 15qpr

    شکل 1. مقایسه اندروید 14 و اندروید 15-QPR1 برای مثال 1.

  • مثال 2 تصویری از یک ویدیوی HDR است که با اسکرین شات های بعدی در بالای تنظیمات قرار گرفته است. در اندروید 14، رنگ های اسکرین شات به طور متوالی تیره تر می شوند. در Android 15-QPR1، تونمپر به درستی رنگ‌های رابط کاربری را تکرار کرده و حفظ می‌کند.

    اندروید 14 Android 15-QPR1
    مثال 2 در اندروید 14مثال 2 در اندروید 15qpr

    شکل 2. مقایسه اندروید 14 و اندروید 15-QPR1 برای مثال 2.