4.11. إلغاء نمط Bayer (Debayering)

يحمل إطار Bayer الخام قناة لون واحدة فقط لكل بكسل. تحويله إلى صورة RGB عادية بثلاث قنوات يعني ملء القناتين المفقودتين عند كل بكسل عبر الاستيفاء من البكسلات المجاورة ذات اللون المناسب. هذا الاستيفاء هو إلغاء نمط Bayer (ويُسمى أيضاً إزالة الفسيفساء demosaicing). وتهيمن على هذا المجال حفنة من عائلات الخوارزميات.

4.11.1. البكسل الفائق (Super-pixel)

يُختزل الأسلوب الأرخص كل بلاطة Bayer بحجم 2x2 -- خلية حمراء واحدة، وخلية زرقاء واحدة، وخليتان خضراوان -- إلى بكسل خرج واحد:

  • تكون القناة الحمراء هي قيمة الخلية الحمراء؛

  • تكون القناة الزرقاء هي قيمة الخلية الزرقاء؛

  • تكون القناة الخضراء هي متوسط الخليتين الخضراوين.

تصبح كل بلاطة دخل 2x2 بكسل خرج واحداً، فتكون الصورة النهائية نصف عرض المستشعر ونصف ارتفاعه، وبربع عدد البكسلات. البكسل الفائق سريع وخالٍ من تشوهات الاستيفاء، لكن كلفة الدقة تجعله ملاذاً أخيراً -- فنادراً ما يُستخدم.

4.11.2. الاستيفاء الثنائي الخطي (Bilinear)

يحسب الاستيفاء الثنائي الخطي متوسط أقرب البكسلات ذات اللون المناسب بدلاً من النسخ أو التلخيص. ويعتمد المتوسط الدقيق على اللون الذي يسجله البكسل المركزي، لأن الحالات الأربع توزّع القنوات المفقودة حول جوار 3x3 بطرق مختلفة.

بكسل أخضر في صف أحمر-أخضر. تحسب القيمة الحمراء المفقودة متوسط الجارين الأحمرين على اليسار واليمين؛ وتحسب الزرقاء المفقودة متوسط الجارين الأزرقين أعلى وأسفل.

A 3 column by 3 row Bayer-pattern neighbourhood centred on a green pixel in a red-green row. The cells to the left and right of the centre are red; the cells above and below are blue; the corner cells are green. White arrows point inward from the two red cells and the two blue cells into the centre.

يأتي الأحمر المفقود من الجارين الأحمرين الأفقيين؛ والأزرق المفقود من الجارين الأزرقين الرأسيين.

بكسل أخضر في صف أخضر-أزرق. الشكل نفسه مع تبديل الأحمر والأزرق. تحسب القيمة الحمراء المفقودة متوسط الجارين الأحمرين أعلى وأسفل؛ وتحسب الزرقاء المفقودة متوسط الجارين الأزرقين على اليسار واليمين.

A 3 column by 3 row Bayer-pattern neighbourhood centred on a green pixel in a green-blue row. The cells above and below the centre are red; the cells to the left and right are blue; the corner cells are green. White arrows point inward from the two red cells and the two blue cells into the centre.

يأتي الأحمر المفقود من الجارين الأحمرين الرأسيين؛ والأزرق المفقود من الجارين الأزرقين الأفقيين.

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

A 3 column by 3 row Bayer-pattern neighbourhood centred on a red pixel. The four cardinal neighbours (above, below, left, right) are green; the four diagonal corner cells are blue. White arrows point inward from all eight neighbours into the centre.

يأتي الأخضر المفقود من الجيران الخضر الأربعة الأصليين؛ والأزرق المفقود من الجيران الزرق الأربعة القطريين.

بكسل أزرق. انعكاس لحالة الأحمر. يحسب الأخضر المفقود متوسط الجيران الخضر الأربعة الأصليين، ويحسب الأحمر المفقود متوسط الجيران الحمر الأربعة القطريين.

A 3 column by 3 row Bayer-pattern neighbourhood centred on a blue pixel. The four cardinal neighbours are green; the four diagonal corner cells are red. White arrows point inward from all eight neighbours into the centre.

يأتي الأخضر المفقود من الجيران الخضر الأربعة الأصليين؛ والأحمر المفقود من الجيران الحمر الأربعة القطريين.

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

4.11.3. ما وراء الاستيفاء الثنائي الخطي

توجد مجموعة من خوارزميات إلغاء نمط Bayer الأفضل. بعضها يستخدم جواراً أكبر من الصليب الصغير من الجيران بنفس اللون في الاستيفاء الثنائي الخطي ويرجّح العينات بمعاملات مختارة بعناية أكبر؛ وبعضها الآخر يكشف اتجاه الحواف المحلية ويحيّز الاستيفاء على امتداد ذلك الاتجاه فتبقى الحافة العابرة لشبكة البكسلات حادة بدلاً من أن تلطُف. وكلا الأسلوبين يقلل من الهالات اللونية وتلطيف الحواف اللذين يخلّفهما الاستيفاء الثنائي الخطي، على حساب مزيد من العمليات الحسابية لكل بكسل ومزيد من السيليكون (أو مزيد من الحوسبة على جانب الـ MCU).

تختلف جودة إلغاء نمط Bayer المتاحة على أي OpenMV Cam معينة باختلاف المنصة -- فهي تعتمد على ما يوفره المستشعر والـ MCU في تلك الكاميرا.

4.11.4. أين يُجرى إلغاء نمط Bayer

يقوم معالج إشارة الصورة (ISP) -- سواء على شريحة المستشعر نفسها أو على جانب الـ MCU -- بإلغاء نمط Bayer لكل إطار قبل مغادرته خط أنابيب التصوير في معظم الحالات. ويتلقى كود المستخدم صورة RGB نهائية بثلاث قنوات دون أن يلمس الفسيفساء الخام إطلاقاً.

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