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

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

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

أتاح Android استخدام تكنولوجيا HDR من خلال العديد من الإنجازات:

Android 7

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

Android 13

Android 14

  • التوافق مع صور HDR باستخدام Ultra HDR

تطوّرت ميزة أخذ لقطات شاشة بنطاق HDR وتغيّرت أيضًا.

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

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

Android 9

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

Android 13

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

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

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

Android 14

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

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

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

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

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

‫Android 15-QPR1

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

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

تحسّن هذه الخوارزمية بشكل كبير لقطات الشاشة بين الإصدارين Android 14 وAndroid 15-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

على غرار دقة 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 بترميز base64.

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

تخطيط أجزاء PNG

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

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