ارائه ویدیو با «دامنه پویای بالا» (HDR) در دستگاههای همراه اغلب از یک نقص عمده رنج میبرد: ناهماهنگی بصری در پانلهای مختلف. هنگام مرور فیدهای محتوای مختلط که عناصر «دامنه پویای استاندارد» (SDR) و HDR باهم وجود دارند، خطوط لوله پردازشی برای ایجاد تعادل بین آنها با مشکل مواجه میشوند. این امر منجر به انتقالهای نامنظم و ناهنجار و افزایش ناگهانی و غیرقابلپیشبینی روشنایی میشود.
برای محتواسازان، این عدم یکنواختی هدف هنری را بهخطر میاندازد. ویدیویی با دامنه پویای بالا که بهدقت در مانیتوری حرفهای درجهبندی شده است، ممکن است هنگام مشاهده در دستگاه مصرفکننده با سفیدشدگی نواحی پرنور، رنگهای بیروح، یا سایههای درهمرفته ارائه شود.
ویدیو Eclipsa یک استاندارد ویدیو HDR مدرن است که برای حل دقیق این چالشهای بومسازگان بیندستگاهی طراحی شده است. ویدیو Eclipsa که براساس مشخصات SMPTE ST 2094-50 ساخته شده است، به نمایشگرها امکان میدهد تا نگاشت محتوا را بهطور پویا براساس قابلیتهای سختافزاری فیزیکی و شرایط نور محیطی همزمان تطبیق دهند. ویدیو Eclipsa با پشتیبانی از ادغام داخلی بدون پیکربندی در Jetpack Media3 ExoPlayer و خطوط لوله ضبط استاندارد Camera2، به تیمهای مهندسی تلفن همراه مسیری بدون هزینه و بدون اصطکاک برای پیادهسازی جاریسازی ویدیویی سازگار با سختافزار نسل بعدی ارائه میدهد که هدف هنری را در هر صفحهای حفظ میکند.
معماری فنی SMPTE ST 2094-50
نمایشگرهای تلفن همراه ازنظر فضای روشنایی (میزان روشنایی موجود بالاتر از نقطه سفید مرجع نمایشگر) تفاوتهای چشمگیری با یکدیگر دارند. وقتی محدودیتهای سختافزاری نمایشگر با الزامات مسترینگ ویدیو HDR مطابقت نداشته باشد، بخشهای روشن ویدیو برش میخورند یا کدر بهنظر میرسند. وقتی حسگرهای نور محیطی پانل را با محیط اطراف تنظیم میکنند، فضای بالای واقعی صفحهنمایش و درجه سفیدی مرجع بهطور پویا تغییر میکند.
SMPTE ST 2094-50 این مشکل را با معرفی فراداده دولایه حل میکند که سازگاری بصری را ازطریق دو ستون اصلی تضمین میکند:
لنگر سفید مرجع
این کار خط پایهای دقیق ایجاد میکند که اوج روشنایی عناصر SDR را مستقیماً به درجه سفیدی مرجع نمایشگر نگاشت میکند. هر مقدار درخشندگی که از این لنگر فراتر رود، صرفاً برای برجستهسازیهای HDR رزرو میشود. این سازوکار لنگراندازی قابلپیشبینی تضمین میکند که وقتی لایههای SDR و HDR باهم در صفحهنمایش ترکیب میشوند، رابطه بصری موردنظرشان را بدون محو کردن یکدیگر حفظ کنند.
منحنیهای بهره تطبیقی با حاشیه رشد
بهجای تحمیل منحنی نگاشت رنگمایه ایستا، محتواسازان فراداده پارامتری را جاسازی میکنند که به خط لوله نمایشگر دستور میدهد دقیقاً چگونه مقیاسبندی کند وقتی فضای محدود در دسترس است. این استاندارد به محتواسازان انعطافپذیری دقیقی میدهد تا انتخاب کنند که آیا پانل هدف باید نواحی پرنور را بهصورت نرم یا سخت برش دهد، یا رنگهای میانه و سایهها را فشرده کند تا جزئیات دقیقتر در مناطق روشن بهطور فعال حفظ شود.
پشتیبانی پلاتفرم
پشتیبانی در سطح پلاتفرم برای ضبط و بازپخش ویدیو Eclipsa در Android 17 (سطح ایپیآی ۳۷) معرفی شده است.
پیادهسازی بازپخش
برای توسعه برنامه استاندارد، Media3 ExoPlayer پشتیبانی آمادهای برای ویدیو Eclipsa ارائه میدهد. هنگام تجزیه فایلهای جاسازیشده با فراداده SMPTE 2094-50، ExoPlayer فراداده را بهطور یکپارچه استخراج و اعمال میکند و نیازی به پیکربندیهای سفارشی پخشکننده ندارد.
مقداردهی اولیه پخشکننده استاندارد: برای نمونهسازی سطح پخشکننده، به نمای کلی Media3 ExoPlayer مراجعه کنید.
لغو کردن قطعه: اگر برنامهتان بهصورت برنامهنویسیشده نمایههای HDR خاصی را پُرسمان یا قفل میکند، به Media3 track selection API مراجعه کنید.
توصیه میکنیم خطوط لوله بازپخش را به Jetpack Media3 منتقل کنید. ExoPlayer بهطور بومی استخراج محفظه سطح پایین را مدیریت میکند، که بهطور کامل مصنوعات رمزگشایی شناختهشده در سطح پلاتفرم را که در لایههای رندر قدیمی در Android 16 (سطح API ۳۶) و پایینتر وجود دارد، دور میزند.
پیادهسازی ضبط ویدیو
برای ضبط ویدیو Eclipsa از دستگاه، خط لوله دوربین شما باید پیکربندی شود تا با اختصاص دادن نمایه دامنه پویای سازگار، فراداده SMPTE 2094-50 تولید کند.
پساز اینکه پشتیبانی دستگاه بااستفاده از CameraCharacteristics اعتبارسنجی شد،
جاریسازی را بااستفاده از نمایه DynamicRangeProfiles.HLG10_SMPTE_2094_50 به سطح کدبندتان
هدایت کنید. برای دریافت دستورالعملهای مربوط به نحوه
پرسوجو و پیکربندی نمایههای دامنه پویا در جلسههای دوربین، به
ضبط ویدیو HDR مراجعه کنید.
هیچ پیکربندی کدک صریحی برای فراداده SMPTE 2094-50 لازم نیست. چارچوب رسانه Android بهطور خودکار فراداده را پیوست میکند و اگر در نمایه پویای فعال وجود داشته باشد، آن را منتقل میکند.
ملاحظات سازگاری و عملکرد
برای نظارت بر عملکرد، شیء فعال Display را بازیابی کنید و
LutProperties را در OverlayProperties برگرداندهشده توسط getOverlaySupport() بررسی کنید تا
دردسترس بودن مسیرهای شتابیافته سختافزاری را شناسایی کنید.
برای دستگاههایی که قابلیتهای شتاب سختافزاری ندارند، پشتیبانی از انصراف از پرداز ویدیو Eclipsa در Exoplayer درحال توسعه است.
منابع بیشتر
- مشخصات SMPTE ST 2094-50
- HDR Explorer: برنامه وب برای بررسی فراداده SMPTE ST 2094-50 و منحنیهای بهره