لقطات شاشة لميزة "النطاق العالي الديناميكية" في Android

منذ طرح فيديوهات النطاق العالي الديناميكية (HDR)، بدأت خدمات البث المباشر ببث فيديوهات HDR مع التركيز على تجارب ملء الشاشة. في الآونة الأخيرة، أتاحت تطبيقات وسائل التواصل الاجتماعي إمكانية تسجيل الفيديو بنطاق عالي الديناميكية (HDR) وبجودة Ultra HDR، ما يشير إلى تزايد الاهتمام باستخدام هذه الميزة في مختلف التطبيقات.

التوافق مع النطاق العالي الديناميكية (HDR) على أجهزة Android

في ما يلي المراحل التي مرّت بها إتاحة تقنية HDR على Android على مدار عدة سنوات:

‫Android 7

  • توفير الدعم الأوّلي لفك ترميز الفيديو وعرضه بنطاق عالي الديناميكية (HDR)
  • تحسينات مستمرة في إمكانات HDR

Android 13

  • إتاحة التقاط الفيديو وترميزه وعرضه بنطاق عالي الديناميكية (HDR) بشكل كامل
  • تم تقديم تركيبة مختلطة من نطاق SDR ونطاق HDR، تحدّد نطاقات سطوع مختلفة يمكن عرضها بين نطاق SDR ونطاق HDR.

Android 14

تطوّر أيضًا دعم لقطات الشاشة بنطاق عالي الديناميكية، وأجريت عليها عدة تغييرات على مر السنين.

تحسينات في إمكانات التقاط لقطات شاشة بنطاق عالي الديناميكية

يتتبّع هذا القسم مدى تقدّم إمكانية أخذ لقطات شاشة بنطاق عالي الديناميكية في آخر تحديثات Android.

Android 9

تتيح أداة SurfaceFlinger، وهي أداة تركيب الرسومات في Android، إمكانية تشغيل الفيديو بنطاق عالي الديناميكية (HDR). تتوفّر إمكانية عرض الفيديو ولقطات الشاشة بنطاق عالي الديناميكية (HDR) باستخدام وحدة معالجة الرسومات (GPU) مع أداة معقّدة لتحديد درجات الألوان. لا يكون منحنى ربط الدرجات اللونية هذا مكافئًا دائمًا لأداة ربط الدرجات اللونية في الشاشة، لذا تختلف لقطات الشاشة عن المحتوى المعروض على الشاشة.

Android 13

تتم إضافة إضافة مطابقة الألوان إلى وحدة عرض SurfaceFlinger التي تستخدم وحدة معالجة الرسومات، ما يتيح للمصنّع الأصلي للجهاز توفير برنامج تظليل لوحدة معالجة الرسومات يتوافق مع منحنى مطابقة الألوان في شاشته. تتطابق لقطات الشاشة تقريبًا مع ما يظهر على الشاشة، ولكن مع الاختلافات التالية:

  • تبقى لقطات الشاشة بتنسيق النطاق العادي الديناميكية (SDR). نتيجةً لذلك، عند عرضها بجانب مشهد بنطاق عالي الديناميكية، تظهر مناطق النطاق العالي الديناميكية في لقطة الشاشة بشكل أكثر خفوتًا.
  • لا تتم إدارة سطوع النطاق العادي الديناميكية، ما يؤدي إلى ظهور المحتوى بالنطاق العادي الديناميكية في لقطة الشاشة بالسطوع نفسه الذي يظهر به المحتوى بالنطاق العالي الديناميكية.

بمعنى آخر، يتم تحويل أي فيديو HDR تم التقاطه في لقطة الشاشة إلى فيديو SDR.

Android 14

تمثّل ميزة "دقة HDR الفائقة" تحديًا كبيرًا عند أخذ لقطات شاشة. على عكس الفيديوهات، يتم عادةً عرض الصور ضمن إطار المخزن المؤقت لواجهة المستخدم، ما يؤدي إلى نتيجتين رئيسيتين:

  • يجب ألا تتضمّن الصور معالجة للصور، بما في ذلك تعيين الدرجات اللونية، تختلف عن واجهة المستخدم المحيطة.
  • تكون التطبيقات مسؤولة عن ربط درجات الألوان المستندة إلى المصدر عند عرض واجهة المستخدم.

للتخفيف من هذا التحدي، هناك ثلاثة طرق محتملة لتنفيذ ميزة أخذ لقطات الشاشة:

  • الحفاظ على تفاصيل النطاق العالي الديناميكية لصورة "دقة HDR فائقة"، ما يؤدي إلى تعتيم واجهة مستخدم التطبيق في لقطة الشاشة
  • الحفاظ على تفاصيل واجهة مستخدم التطبيق، ما يؤدي إلى اقتصاص صورة Ultra HDR
  • يمكنك حلّ هذه المشكلة من خلال زيادة سطوع واجهة مستخدم التطبيق مع إزالة الأجزاء الأكثر سطوعًا في محتوى HDR.

تنفّذ الإصدار 14 من نظام التشغيل Android الأسلوب الثالث المتمثل في تفتيح واجهة مستخدم التطبيق واقتصاص أبرز تفاصيل النطاق العالي الديناميكية.

‫Android 15-QPR1

يتضمّن SurfaceFlinger خوارزمية محلية لضبط الألوان في لقطات الشاشة. تشمل هذه العملية ما يلي:

  • تقسيم الصورة المُدخَلة إلى صور أصغر
  • احتساب الحد الأقصى للإنارة في كل صورة، وتجاهل قيم الإنارة المنخفضة ضمن كل قسم
  • تضمين قيم الإضاءة المحسوبة من خلال التمويه وإعادة أخذ العينات
  • تطبيق أداة تعيين نغمات Reinhard ذات المَعلمات على الصورة المدخلة، استنادًا إلى قيم الإضاءة الساطعة المستوفاة

تُظهر هذه الخوارزمية تحسينات كبيرة على لقطات الشاشة بين الإصدار 14 من نظام التشغيل Android والإصدار 15 من نظام التشغيل Android‏ (QPR1)، كما هو موضّح في الأمثلة التالية:

  • المثال 1 هو لقطة شاشة لفيديو HDR معروض فوق صفحة Chrome تتضمّن Ultra HDR. يتم الاحتفاظ بألوان واجهة المستخدم في الغالب في التنفيذ الجديد، ولن يتم اقتصاص الصورة بعد الآن.

    Android 14 ‫Android 15-QPR1
    المثال 1 في Android 14 المثال 1 في Android 15qpr

    الشكل 1. مقارنة بين الإصدار 14 من نظام التشغيل Android والإصدار 15 من نظام التشغيل Android‏ (QPR1) للمثال 1

  • المثال 2 هو لقطة شاشة لفيديو بنطاق عالي الديناميكية معروض فوق الإعدادات مع لقطات شاشة لاحقة. في Android 14، تصبح ألوان لقطة الشاشة أكثر قتامة بشكل متتابع. في الإصدار Android 15-QPR1، تعمل أداة ربط الدرجات اللونية على تكرار ألوان واجهة المستخدم والحفاظ عليها بشكل صحيح.

    Android 14 ‫Android 15-QPR1
    المثال 2 في Android 14 المثال 2 في Android 15qpr

    الشكل 2. مقارنة بين الإصدار 14 من نظام التشغيل Android والإصدار 15 من نظام التشغيل Android‏ (QPR1) للمثال 2

Android 16

على غرار Ultra HDR، تخزّن لقطات الشاشة بنطاق عالي الديناميكية خريطة كسب في ملف لقطة الشاشة لاسترداد تمثيل النطاق العالي الديناميكية أثناء العرض. ومع ذلك، على عكس Ultra HDR، تظل لقطة الشاشة بتنسيق PNG لتتوافق مع الأنظمة التي تستخدم لقطات شاشة بتنسيق PNG.

في ما يلي تفاصيل إنشاء لقطات الشاشة:

  • عند عرض محتوى HDR على الجهاز، يتم إنشاء لقطة شاشة باستخدام وحدات بكسل FP16.
  • تنتج أداة "تعديل الألوان" المحلية الموضّحة في Android 15 QPR1 عرضًا أساسيًا بتنسيق SDR وبدقة 8 بت.
  • يتم إنشاء خريطة كسب 8 بت من خلال الجمع بين العرض الأساسي بتنسيق SDR والعرض بتنسيق HDR.
  • يتم ترميز العرض الأساسي بنطاق SDR وخريطة الكسب في ملف PNG واحد.

في ما يلي تفاصيل ترميز PNG:

  • يتم ترميز خريطة كسب الإضاءة كصورة PNG تتضمّن جزء gmAP يحتوي على بيانات ISO 21496-1 الوصفية الخاصة بخريطة كسب الإضاءة.
  • يتم ترميز العرض الأساسي بتنسيق SDR كصورة PNG تتضمّن جزء gmAP يحتوي على إصدار البيانات الوصفية ISO 21496-1. تتضمّن صورة PNG هذه أيضًا جزء gdAT يحتوي على صورة PNG كاملة لـ gainmap مشفّرة.

يوضّح الشكل التالي تخطيط أجزاء PNG:

تخطيط أجزاء PNG

الشكل 3. تخطيط أجزاء PNG

في Android 16، يتيح برنامج ترميز PNG ترميز وفك ترميز ملفات PNG هذه. يمكن للتطبيقات عرض ملف PNG مع خريطة كسب بالطريقة نفسها التي يتم بها عرض Ultra HDR.