إتاحة البيانات الوصفية
لإتاحة حفظ ملفات الصور الأولية من خلال إطار عمل Android، يجب توفُّر ملف بيانات وصفية أساسي عن خصائص أداة الاستشعار. ويشمل ذلك معلومات مثل مساحات الألوان ووظائف تظليل العدسة.
إنّ معظم هذه المعلومات هي خاصيّة ثابتة للنظام الفرعي للكاميرا، وبالتالي يمكن
الاستعلام عنها قبل ضبط أيّ قنوات إخراج أو إرسال أي
طلبات. تعمل واجهات برمجة تطبيقات الكاميرا الجديدة على توسيع نطاق المعلومات المقدَّمة من خلال getCameraInfo()
لتوفير هذه المعلومات لتطبيق.
بالإضافة إلى ذلك، يتطلب التحكّم اليدوي في النظام الفرعي للكاميرا ملاحظات من الأجهزة المتنوعة حول حالتها الحالية والمَعلمات الفعلية المستخدَمة في التقاط إطار معيّن. يجب تضمين القيم الفعلية لعناصر التحكّم (وقت التعرّض ومدة اللقطة والحساسية) كما تستخدمها الأجهزة في البيانات الوصفية للإخراج. هذا أمر ضروري حتى تعرف التطبيقات متى حدث التقريب أو التقريب، وكي يتمكّن التطبيق من تعويض الإعدادات الحقيقية المستخدَمة لالتقاط الصور.
على سبيل المثال، إذا ضبط تطبيق مدة اللقطة على 0 في طلب، على HAL ضبط مدة اللقطة على الحد الأدنى الفعلي لمدة اللقطة لذلك الطلب، والإبلاغ عن الحد الأدنى المضبوط في البيانات الوصفية لنتيجة الإخراج.
لذلك، إذا كان التطبيق بحاجة إلى تنفيذ روتين مخصّص لميزة "التحكّم الذكي بالصور" (مثلاً، لقياس كثافة اللقطات العالية الديناميكية بشكل صحيح)، يجب أن يعرف التطبيق الإعدادات المستخدَمة لالتقاط أحدث مجموعة من النتائج التي تلقّاها لتعديل الإعدادات الخاصة بالطلب التالي. لذلك، تضيف واجهة برمجة التطبيقات الجديدة للكاميرا قدرًا كبيرًا من البيانات الوصفية الديناميكية إلى كل لقطة يتم التقاطها. ويشمل ذلك المَعلمات المطلوبة والمَعلمات الفعلية المستخدَمة في عملية الالتقاط، بالإضافة إلى بيانات وصفية إضافية لكل إطار، مثل الطوابع الزمنية ومخرجات أداة إنشاء الإحصاءات.
التحكّم في كلّ إعداد
بالنسبة إلى معظم الإعدادات، من المتوقّع أن يتم تغييرها في كل إطار، بدون حدوث تقطُّع أو تأخير كبير في بثّ الإطارات الناتجة. من الناحية المثالية، يجب التحكّم في معدّل عرض اللقطات في الإخراج فقط من خلال حقل مدة اللقطة في طلب الالتقاط ، ويجب أن يكون مستقلاً عن أي تغييرات في إعدادات وحدات المعالجة. في الواقع، من المعروف أنّ بعض عناصر التحكّم المحدّدة تتغيّر ببطء، ويشمل ذلك درجة دقة الإخراج وتنسيق الإخراج لمسار معالجة الكاميرا، بالإضافة إلى عناصر التحكّم التي تؤثّر في الأجهزة المادية، مثل مسافة تركيز عدسة الكاميرا. سيتم توضيح المتطلبات الدقيقة لكل مجموعة عناصر تحكّم لاحقًا.
إتاحة بيانات أجهزة الاستشعار الأوّلية
بالإضافة إلى تنسيقات البكسل المتوافقة مع واجهة برمجة التطبيقات القديمة، تضيف واجهة برمجة التطبيقات الجديدة شرطًا للتوافق مع بيانات أجهزة الاستشعار الأوّلية (Bayer RAW)، وذلك لكلّ من تطبيقات الكاميرا المتقدّمة ودعم ملفات الصور الأوّلية.