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

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

توافق Android مع تقنية النطاق العالي الديناميكية (HDR)

في ما يلي أهم مراحل توفُّر تقنية HDR على أجهزة Android على مدار عدة سنوات:

Android 7

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

Android 13

  • إتاحة المعالجة الكاملة لالتقاط الفيديوهات بتقنية HDR وتشفيرها وعرضها
  • تقديم تركيبة مختلطة من SDR وHDR، لتحديد نطاقات مختلفة من الإضاءة القابلة للعرض بين SDR وHDR

Android 14

  • إتاحة الصور بتقنية النطاق العالي الديناميكية (HDR) باستخدام ميزة دقة HDR الفائقة

شهدت ميزة التقاط لقطات الشاشة بنطاق عالي الديناميكية (HDR) أيضًا تطورًا وخضعت لعدد من التغييرات على مرّ السنين.

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

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

Android 9

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

Android 13

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

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

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

Android 14

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

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

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

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

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

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: مقارنة بين Android 14 وAndroid 15-QPR1 للمثال 1

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

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

    الشكل 2: مقارنة بين Android 14 وAndroid 15-QPR1 للمثال 2

Android 16

على غرار ميزة دقة HDR الفائقة، تُخزِّن لقطات الشاشة بنطاق عالي الديناميكية خريطة اكتساب في ملف لقطة الشاشة لاستعادة تمثيل HDR أثناء العرض. ومع ذلك، على عكس دقة 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 المُشفَّر لخريطة الكسب.

يعرض الشكل التالي تنسيق أجزاء ملف PNG:

تنسيق أجزاء ملف PNG

الشكل 3: تنسيق أجزاء ملف PNG

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