البيانات الوصفية والضوابط

دعم البيانات الوصفية

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

معظم هذه المعلومات هي خاصية ثابتة للنظام الفرعي للكاميرا، وبالتالي يمكن الاستعلام عنها قبل تكوين أي خطوط أنابيب إخراج أو إرسال أي طلبات. تعمل واجهات برمجة تطبيقات الكاميرا الجديدة على توسيع المعلومات التي توفرها طريقة getCameraInfo() بشكل كبير لتوفير هذه المعلومات للتطبيق.

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

على سبيل المثال، إذا قام أحد التطبيقات بتعيين مدة الإطار على 0 في طلب ما، فيجب أن تقوم طبقة تصديق الأجهزة (HAL) بربط مدة الإطار بالحد الأدنى الحقيقي لمدة الإطار لهذا الطلب، والإبلاغ عن الحد الأدنى للمدة في بيانات تعريف نتيجة الإخراج.

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

التحكم لكل إعداد

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

دعم بيانات الاستشعار الخام

بالإضافة إلى تنسيقات البكسل التي تدعمها واجهة برمجة التطبيقات القديمة، تضيف واجهة برمجة التطبيقات الجديدة متطلبًا لدعم بيانات الاستشعار الأولية (Bayer RAW)، سواء لتطبيقات الكاميرا المتقدمة أو لدعم ملفات الصور الأولية.