4.12. خط أنابيب الـ ISP

معالج إشارة الصورة (ISP) هو خط الأنابيب العتادي الذي يحوّل قيم البكسلات الخام من المستشعر إلى صورة ملونة نهائية. وتُعد التصحيحات على مستوى البكسل على المستشعر المراحل الأولى من ذلك الخط. وبعد تشغيلها، تقوم بقية خط الأنابيب بمعالجة اللون وتنسيق الخرج بترتيب ثابت على كل إطار.

A vertical pipeline diagram with eight labelled boxes, top to bottom: statistics extraction, auto white balance, debayering, colour matrix correction, gamma correction, image scaling, image cropping, and pixel packing. An arrow at the top is labelled "corrected Bayer pixels" and an arrow at the bottom is labelled "finished frame".

مراحل معالجة اللون والخرج في الـ ISP. يشغّل خط الأنابيب كل مرحلة على كل بكسل في الإطار قبل أن تبدأ التي تليها.

4.12.1. المراحل

تطبّق كل مرحلة تحويلاً واحداً محدداً جيداً بدورها. والترتيب مهم -- إذ تفترض المراحل اللاحقة أن السابقة قد جرت بالفعل، كما تأخذ مرحلتان مدخلاتهما من خرج الإطار السابق أيضاً.

  1. استخراج الإحصاءات يقيس متوسط السطوع لكل منطقة ومجاميع كل قناة من إطار Bayer المصحَّح. وتغذّي هذه الأرقام حلقات التحكم في التعريض التلقائي والكسب التلقائي وموازنة البياض التلقائية، التي تحدّث عندئذٍ إعدادات المستشعر للإطار التالي.

  2. كسوب موازنة البياض التلقائية تقيس كل بكسل Bayer بمضاعِف خاص بكل لون -- البكسلات الحمراء بكسب R، والخضراء بكسب G، والزرقاء بكسب B -- دافعةً المرجع الأبيض للمشهد نحو الرمادي المحايد بحيث تبدو الألوان المسجّلة كما رأتها العين. وتأتي المضاعفات من إحصاءات AWB للإطار السابق.

  3. إلغاء نمط Bayer يعيد بناء قناتي اللون المفقودتين عند كل بكسل من فسيفساء Bayer، محوّلاً البيانات الخام ذات القناة الواحدة لكل بكسل إلى RGB بثلاث قنوات. (انظر إلغاء نمط Bayer (Debayering).) وكل ما يلي هذه المرحلة يعمل على بكسلات RGB بدلاً من فسيفساء Bayer.

  4. تصحيح مصفوفة اللون (CCM) يطبّق ضرب مصفوفة 3x3 على كل بكسل RGB ليطابق استجابة الأحمر-الأخضر-الأزرق الأصلية للمستشعر مع فضاء لوني قياسي. فلمرشحات كل مستشعر استجابتها الطيفية الخاصة، التي ليست تماماً ما يتوقعه أي معيار؛ والمصفوفة تحويل مُعاير لكل مستشعر يحوّل "RGB المستشعر" إلى "RGB القياسي".

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

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

  7. قص الصورة يستخرج مستطيلاً فرعياً من الإطار المُحجَّم ويتخلص من البكسلات خارجه. ويُستخدم لالتقاط منطقة اهتمام، أو لمطابقة نسبة عرض إلى ارتفاع معينة، أو لإسقاط حافة لا يحتاجها التطبيق.

  8. تعبئة البكسلات تحوّل التمثيل الداخلي لكل قناة (عادةً 10 أو 12 بِتّاً لكل قناة) إلى تنسيق الخرج المختار، وتكتب النتيجة إلى RAM.

4.12.2. التغذية الراجعة لحلقة التحكم

تشكّل المرحلتان 1 و2 حلقة تحكم تمتد عبر عدة إطارات. فالإحصاءات المستخرجة من الإطار N تخبر المستشعر كم كان المشهد ساطعاً وكيف كان توازن لونه في ذلك الإطار؛ ويستخدم متحكمو التعريض التلقائي والكسب التلقائي وموازنة البياض التلقائية تلك الأرقام لاختيار قيم سجلات جديدة للتعريض والكسب وموازنة البياض للإطار N+1. وتدخل القيم الجديدة حيز التنفيذ عند قراءة الإطار التالي، وتعود إحصاءات الإطار الجديد، فتُغلق الحلقة.

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

4.12.3. أين يعمل الـ ISP

هناك ترتيبان شائعان.

  • ISP على المستشعر يشغّل خط الأنابيب بأكمله داخل شريحة المستشعر ويُخرج صورة RGB نهائية. ويكتفي الـ MCU بجمع النتيجة.

  • ISP خارج المستشعر يقع في الـ MCU أو الـ SoC المضيف. يُخرج المستشعر Bayer خاماً؛ ويشغّل سيليكون الـ MCU (أو كود مشغّله) خط الأنابيب قبل تسليم الإطار النهائي إلى كود المستخدم.

يؤثر هذا التقسيم في تنسيقات الخرج التي يمكن للمستشعر تسليمها للمستخدم مباشرةً. فالمستشعر ذو الـ ISP الكامل على الشريحة يتيح للمستخدم الاختيار من أي تنسيق نهائي تدعمه الشريحة. أما المستشعر الذي يفتقر إليه فيُخرج Bayer فقط، وتحدث تحويلات التنسيق في سيليكون الـ MCU أو برمجياً.