بالنسبة إلى الأجهزة التي تعمل بنظام التشغيل Android 13 والإصدارات الأحدث، يتيح Android إخراج الكاميرا بمعدّل 10 بت من خلال ملفات تعريف النطاق الديناميكي التي يمكن لعميل الكاميرا ضبطها كجزء من إعدادات البث. يمكن لمصنّعي الأجهزة إضافة دعم لملفات تعريف النطاق الديناميكي بمعدّل 10 بت، مثل HLG10 وHDR 10 وHDR 10+ وDolby Vision.
يتيح دعم إخراج الكاميرا بمعدّل 10 بت لعملاء الكاميرا اكتشاف ملفات تعريف النطاق الديناميكي بمعدّل 10 بت
المتوافقة مع الجهاز من خلال استدعاء
getSupportedProfiles.
بعد ذلك، يعرض إطار العمل نموذجًا من
DynamicRangeProfiles،
الذي يتضمّن معلومات عن ملفات تعريف النطاق الديناميكي المتوافقة، وقيود طلبات الالتقاط إن
توفرت. يجب أن يكون ملف تعريف
HLG10
متوافقًا. يتم إدراج ملف تعريف النطاق الديناميكي المقترَح في
الحقل
REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE.
يمكن لعملاء الكاميرا ضبط مجموعات البث من خلال استدعاء
setDynamicRangeProfile.
لمزيد من المعلومات عن مجموعات البث الإلزامي، يُرجى الاطّلاع على جدول
الإعدادات الإضافية المضمونة لإخراج البيانات بمعدّل 10 بت في مقالة
الالتقاط العادي.
المتطلبات
لدعم إخراج الكاميرا بمعدّل 10 بت، يجب أن يتضمّن الجهاز مستشعر كاميرا بمعدّل 10 بت أو أعلى مع دعم ISP ذي صلة. لمعرفة التفاصيل عن متطلبات التوافق ذات الصلة لدعم معدّل 10 بت، يُرجى الاطّلاع على القسم 7.5. الكاميرات في مستند تعريف التوافق (CDD)
التنفيذ
لتوفير دعم إخراج الكاميرا بمعدّل 10 بت، على مصنّعي الأجهزة إجراء عمليات الدمج التالية في Camera AIDL HAL:
- تضمين
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BITفي إمكانات الكاميرا - تعبئة
ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAPبجميع ملفات تعريف النطاق الديناميكي المتوافقة وصورة نقطية للقيود المفروضة عليها يجب أن يكون ملف تعريفHLG10متوافقًا. يجب أيضًا تضمين ملف تعريف نطاق ديناميكي مقترَح لإعلام عملاء الكاميرا بالتنسيق المتوافق الأمثل. - ضمان دعم قيمة ملف تعريف النطاق الديناميكي أثناء إعداد البث للبيانات التي تستخدم تنسيق P010 أو دعم تنسيق محدّد للتنفيذ
ImageFormat.PRIVATE - استنادًا إلى ملف تعريف النطاق الديناميكي، اضبط مخزن البيانات الوصفية الثابتة أو الديناميكية لمخازن Gralloc 4 التي تمت معالجتها قبل إشعار خدمة الكاميرا.
لمزيد من التفاصيل عن إخراج الكاميرا بمعدّل 10 بت في Camera HAL، يُرجى الاطّلاع على ما يلي في metadata_definitions.xml:
DYNAMIC_RANGE_TEN_BIT- تفاصيل HAL لـ
availableDynamicRangeProfilesMap recommendedTenBitDynamicRangeProfile10BIT_OUTPUT
للحصول على نموذج لتنفيذ Camera HAL الذي يتيح إخراج الكاميرا بمعدّل 10 بت، يُرجى الاطّلاع على
/hardware/google/camera/devices/EmulatedCamera/hwl.
التحقق من صحة البيانات
للتحقق من صحة تنفيذ إخراج الكاميرا بمعدّل 10 بت والتأكّد من أنّ التطبيقات الخارجية يمكنها تفعيل الميزة، ننصحك بإجراء مراحل التحقق الثلاث التالية:
- اختبار صحة وظائف واجهة برمجة التطبيقات
- مقارنة تطبيق الكاميرا الأصلي والتطبيق الخارجي
- مقارنة النطاق الديناميكي العادي والنطاق العالي الديناميكية
للتحقق من صحة إخراج الكاميرا بمعدّل 10 بت، يُفترَض أنّ الجهاز يتيح عرض النطاق العالي الديناميكية (شاشة عرض تزيد عن 1,000 نِت)، وأنّ تطبيق عرض الفيديو (مثل "صور Google") يتيح تشغيل فيديوهات النطاق العالي الديناميكية.
اختبار صحة وظائف واجهة برمجة التطبيقات
لاختبار صحة وظائف واجهة برمجة التطبيقات لإخراج الكاميرا بمعدّل 10 بت، شغِّل اختبارات CTS وcamera ITS وVTS التالية:
hardware/interfaces/camera/provider/aidl/vts/: لاختبار الاكتشاف الأساسي والإعداد والبث، والتحقّق من توفّر البيانات الوصفية ذات تنسيق HDR عند الحاجةtests/camera/src/android/hardware/camera2/cts/: للتأكّد من أنّ الكاميرا تعمل وفقًا لمواصفات AOSP APIcts/apps/CameraITS: للتأكّد من أنّ سلوك الفيديو العام متسق عند استخدام ملفات تعريف HDR الاختبار المحدّد هوtests/scene4/test_video_aspect_ratio_and_crop.py.
مقارنة تطبيق الكاميرا الأصلي والتطبيق الخارجي
ننصحك بشدة بالتأكّد من أنّ نتائج التقاط فيديوهات بمعدّل 10 بت باستخدام تطبيق خارجي مشابهة، إن لم تكن مطابقة، لتطبيق الكاميرا الأصلي. ويعني ذلك أنّ خيارات الضبط، مثل درجة الإضاءة والنطاق الديناميكي والألوان، يجب أن تنتقل من التطبيق الأصلي إلى التطبيقات الخارجية. للتحقّق من سلوك تسجيل الفيديو في تطبيق خارجي يتيح إخراج الكاميرا بمعدّل 10 بت على جهازك ، استخدِم التطبيق Camera2Video النموذجي على GitHub. توضّح الإرشادات التالية الجوانب المرئية للنطاق العالي الديناميكية بدون أرقام موضوعية، بسبب التباين في المستشعرات واللوحات وظروف العرض وتفضيلات مورّد الجهاز.
المَشاهد المقترَحة للمقارنة
لإجراء مقارنة بين تطبيق الكاميرا الأصلي وتطبيق خارجي، التقط فيديوهات باستخدام عدة مَشاهد مختلفة بكلّ من تطبيق الكاميرا الأصلي وتطبيق Camera2Video النموذجي. في ما يلي مَشاهد مقترَحة لاستخدامها في المقارنة:
- مشهد بإضاءة متوسطة إلى منخفضة مع جسم ساطع، مثل شمعة أو ضوء ساطع صغير يُنشئ نطاقًا كبيرًا من السطوع. يؤكّد ذلك سلوك درجة الإضاءة التلقائية والنطاق الديناميكي. يؤكّد ذلك سلوك درجة الإضاءة التلقائية والنطاق الديناميكي.
- مشهد خارجي ساطع بألوان زاهية وأجسام عاكسة، مثل مصدّات مطلية بالكروم على سيارة، ما يُنشئ مناطق ساطعة. يؤكّد ذلك العرض للمَشاهد الساطعة مع مناطق أكثر سطوعًا. يؤكّد ذلك العرض للمَشاهد الساطعة مع مناطق أكثر سطوعًا.
- مشهد متوسط المدى بنطاق ديناميكي منخفض، مثل مشهد طبيعي داخلي في منزل أو مكتب. يؤكّد ذلك أنّ ظروف الإضاءة الأقل حدة تعمل على النحو المتوقّع. يؤكّد ذلك أنّ ظروف الإضاءة الأقل حدة تعمل على النحو المتوقّع.
بالنسبة إلى جميع المَشاهد، ننصحك بعرض أشخاص ووجوه للتحقّق من درجة الإضاءة والألوان والتعامل مع لون البشرة. يؤدي تقليل التباين بين اللقطات إلى تسهيل المقارنات المتتالية.
مقارنة النطاق الديناميكي العادي والنطاق العالي الديناميكية
للتأكّد من وجود فائدة ملحوظة من استخدام ملف تعريف النطاق الديناميكي بمعدّل 10 بت بدلاً من ملف تعريف النطاق الديناميكي العادي، قارِن بين لقطات الفيديو باستخدام النطاق الديناميكي العادي (بدون ملف تعريف HDR) وفيديوهات النطاق العالي الديناميكية للتأكّد من ظهور الجوانب الرئيسية للنطاق العالي الديناميكية في اللقطات. لمقارنة النطاق الديناميكي العادي والنطاق العالي الديناميكية، استخدِم الـ تطبيق Camera2Video النموذجي والمَشاهد المقترَحة لمقارنة تطبيق الكاميرا الأصلي والتطبيقات الخارجية.
في ما يلي الجوانب الرئيسية التي يجب التحقّق منها في المَشاهد المقترَحة: تختلف لوحات العرض التي تتيح النطاق العالي الديناميكية في مستويات السطوع (مقاسة بوحدة النِت أو اللومن)، لذا فإنّ الأرقام التالية هي أمثلة فقط:
- في المشهد بإضاءة متوسطة إلى منخفضة، يتم عرض المناطق الساطعة في الشمعة أو الضوء الصغير عند أقصى درجة سطوع للشاشة (ربما تصل إلى 1,000 نِت) في مقطع الفيديو بالنطاق العالي الديناميكية، ويتم عرضها عند أقصى درجة سطوع للنطاق الديناميكي العادي (حوالي 100 نِت) في مقطع الفيديو بالنطاق الديناميكي العادي. في مقطع الفيديو بالنطاق العالي الديناميكية، يجب أن تظهر المناطق الساطعة خارج الشاشة، ما يعكس إدراك المستخدم للنطاق الديناميكي الحقيقي للمشهد. مقارنةً بمقطع الفيديو بالنطاق العالي الديناميكية، يجب أن يبدو مقطع الفيديو بالنطاق الديناميكي العادي أكثر سطوعًا وأقل وضوحًا.
- في مشهد الإخراج الساطع، استنادًا إلى إعدادات الضبط في الجهاز، يعرض مقطع الفيديو بالنطاق العالي الديناميكية فرقًا واضحًا في سطوع الشاشة مقارنةً بمقطع الفيديو بالنطاق الديناميكي العادي. بالنسبة إلى مقطع الفيديو بالنطاق العالي الديناميكية، يجب أن يكون سطوع الشاشة للمشهد العام (استنادًا إلى المساحة المتاحة) أعلى، مثلاً، ما يصل إلى 800 نِت، وأكثر من ذلك بالنسبة إلى المناطق الساطعة، مثل المصدّات المطلية بالكروم، أي حوالي أقصى درجة سطوع.
- في اللقطة الداخلية متوسطة المدى بنطاق ديناميكي منخفض، يكون مقطعا الفيديو بالنطاق العالي الديناميكية والنطاق الديناميكي العادي متشابهَين في الألوان والدرجات، مع إمكانية أن يكون مقطع الفيديو بالنطاق العالي الديناميكية أكثر سطوعًا من مقطع الفيديو بالنطاق الديناميكي العادي. يجب ألا يكون النطاق العالي الديناميكية أغمق من النطاق الديناميكي العادي. إذا كانت خيارات الضبط تجعل ذلك مستحيلاً، تأكَّد من أنّ سلوك التطبيق الخارجي يطابق سلوك تطبيق الكاميرا الأصلي.