ترشيح النسيج

فلتر Find-Edges كما هو مُطبق في Adobe Photoshop CS3
فلتر Find-Edges كما هو مُطبق في Adobe Photoshop CS3

في رسومات الحاسوب ، تعتبر عملية ترشيح النسيج أو تنعيم النسيج هي الطريقة المستخدمة لتحديد لون النسيج لبكسل تم تعيين نسيج له ، باستخدام ألوان البكسلات المجاورة (أي بكسلات النسيج).

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

يوجد نوعان رئيسيان من ترشيح النسيج: ترشيح التكبير وترشيح التصغير. [ 1 ] اعتمادًا على الحالة، يكون ترشيح النسيج إما نوعًا من مرشحات إعادة البناء حيث يتم استكمال البيانات المتفرقة لملء الفجوات (التكبير)، أو نوعًا من أنواع منع التعرج (AA) حيث توجد عينات النسيج بتردد أعلى من التردد المطلوب لملء النسيج (التصغير).

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

الحاجة إلى التصفية

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

قد توجد أنواع مختلفة من التوافق بين البكسل والـ texel/الـtexels التي يمثلها على الشاشة. يعتمد هذا التوافق على موضع السطح المزخرف بالنسبة للمشاهد، وتتطلب كل حالة أشكالًا مختلفة من الترشيح. عند وجود نسيج مربع مُسقط على سطح مربع في العالم، يكون حجم بكسل الشاشة عند مسافة مشاهدة معينة مساويًا تمامًا لحجم الـtexel. عند مسافة أقرب، تكون الـtexels أكبر من بكسلات الشاشة، وتحتاج إلى تكبيرها بشكل مناسب - وهي عملية تُعرف بتكبير النسيج . عند مسافة أبعد، يكون كل texel أصغر من البكسل، وبالتالي يغطي البكسل الواحد عدة texels. في هذه الحالة، يجب اختيار لون مناسب بناءً على الـtexels المغطاة، وذلك من خلال تصغير النسيج . تسمح واجهات برمجة تطبيقات الرسومات ، مثل OpenGL، للمبرمج بتحديد خيارات مختلفة لمرشحات التصغير والتكبير. [ 1 ]

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

رسم الخرائط الدقيقة

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

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

أساليب التصفية

يسرد هذا القسم أكثر طرق ترشيح النسيج شيوعًا، بترتيب تصاعدي حسب التكلفة الحسابية وجودة الصورة.

الاستيفاء باستخدام أقرب جار

يُعدّ استيفاء أقرب جار أبسط طرق الترشيح وأكثرها بدائية ، إذ يعتمد ببساطة على لون البكسل الأقرب إلى مركز البكسل لتحديد لون البكسل. ورغم بساطته، إلا أنه يُنتج العديد من التشوهات، مثل "تكتل" النسيج أثناء التكبير [ 3 ] ، والتشويه والوميض أثناء التصغير [ 4 ] . تتميز هذه الطريقة بالسرعة أثناء التكبير، ولكن أثناء التصغير، يصبح حجم البيانات المُستهلكة في الذاكرة كبيرًا جدًا، وغالبًا ما تكون أقل كفاءة من رسم خرائط MIP نظرًا لعدم وجود وصول متماسك مكانيًا إلى النسيج وإعادة استخدام خطوط التخزين المؤقت [ 5 ] .

أقرب جار مع رسم الخرائط الميبيبامبينغ

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

ترشيح الخرائط الخطية

على الرغم من أنها أقل استخدامًا، إلا أن OpenGL وواجهات برمجة التطبيقات الأخرى تدعم أخذ عينات الجوار الأقرب من خرائط mip الفردية مع الاستيفاء الخطي لخريطتي mip الأقرب ذات الصلة بالعينة.

الترشيح الثنائي الخطي

في الترشيح الثنائي الخطي ، تُؤخذ عينات من أقرب أربع وحدات بكسل نسيجية إلى مركز البكسل (على مستوى خريطة MIP الأقرب)، وتُدمج ألوانها بمتوسط ​​مرجح وفقًا للمسافة. [ 6 ] يُزيل هذا "التشويش" الذي يظهر أثناء التكبير، حيث يوجد الآن تدرج لوني سلس من وحدة بكسل نسيجية إلى أخرى، بدلًا من قفزة مفاجئة عند عبور مركز البكسل لحدود وحدة البكسل النسيجية. [ 7 ] يُعد الترشيح الثنائي الخطي شائعًا لترشيح التكبير. عند استخدامه للتصغير، غالبًا ما يُستخدم مع خريطة MIP؛ على الرغم من إمكانية استخدامه بدونها، إلا أنه سيُعاني من نفس مشاكل التعرج والوميض التي يُعاني منها ترشيح أقرب جار عند التصغير المفرط. مع ذلك، بالنسبة لنسب التصغير المعتدلة، يُمكن استخدامه كتقنية غير مكلفة لتسريع عينات النسيج الموزونة بواسطة الأجهزة.

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

الترشيح ثلاثي الخطوط

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

الترشيح غير المتناحي

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

عندما يكون السطح بزاوية حادة بالنسبة للكاميرا، لن تكون مساحة التعبئة للنسيج مربعة تقريبًا. لنأخذ مثالًا شائعًا لأرضية في لعبة: مساحة التعبئة أعرض بكثير من ارتفاعها. في هذه الحالة، لا تُناسب أي من الخرائط المربعة. والنتيجة هي ضبابية و/أو تذبذب، اعتمادًا على كيفية اختيار الملاءمة. يُصحح الترشيح غير المتناحي هذا عن طريق أخذ عينات من النسيج كشكل غير مربع. الهدف هو أخذ عينات من النسيج لمطابقة بصمة البكسل كما هي مُسقطة في فضاء النسيج، وهذه البصمة لا تكون دائمًا مُحاذية للمحاور مع النسيج. علاوة على ذلك، عند التعامل مع نظرية العينات، لا يكون البكسل مربعًا صغيرًا [ 10 وبالتالي لن تكون بصمته مربعًا مُسقطًا. يُمثل تجميع البصمة في فضاء النسيج عينة تقريبية للدالة المحسوبة للبكسل المُسقط في فضاء النسيج، لكن التفاصيل غالبًا ما تكون تقريبية [ 11 وهي ملكية خاصة للغاية ومُتأثرة بآراء حول نظرية العينات. من الناحية المفاهيمية، الهدف هو أخذ عينة متباينة الخواص أكثر دقة ذات اتجاه مناسب لتجنب التعارض بين التشويه على محور واحد مقابل التشويش على المحور الآخر عندما يختلف الحجم المسقط.

في التطبيقات غير المتناحية، قد تتضمن عملية الترشيح نفس خوارزميات الترشيح المستخدمة لترشيح الخرائط المربعة لتقنية mipmapping التقليدية أثناء إنشاء النتيجة الوسيطة أو النهائية.

تصفية أقرب النسبة المئوية

يمكن لتقنية رسم خرائط الظلال القائمة على العمق استخدام مرشح النسبة المئوية الأقرب (PCF) المثير للاهتمام مع نسيج مُعَلَّم بالعمق، مما يُوسِّع نطاق إدراك أنواع مرشحات النسيج التي يُمكن تطبيقها. في مرشح النسبة المئوية الأقرب، يتم رسم خريطة عمق للمشهد من مصدر الضوء. أثناء عملية الرسم اللاحقة للمشهد، تُسقط خريطة العمق هذه مرة أخرى على المشهد من موضع الضوء، وتُجرى مقارنة بين إحداثيات العمق الإسقاطية وعمق عينة النسيج المُستخرجة. ستكون الإحداثيات الإسقاطية هي عمق بكسل المشهد من الضوء، بينما سيمثل العمق المُستخرج من خريطة العمق عمق المشهد على طول اتجاه الإسقاط. بهذه الطريقة، يُمكن تحديد مدى رؤية البكسل المُرسم للضوء، وبالتالي إضاءته. لذا، فإن عملية النسيج هذه هي اختبار منطقي (Boolean) لتحديد ما إذا كان البكسل مُضاءً، ومع ذلك، يُمكن اختبار عينات متعددة لبكسل مُعين، ثم جمع نتائج الاختبار المنطقي وحساب متوسطها. بهذه الطريقة، وبالاقتران مع معايير متغيرة مثل موقع البكسل المأخوذة منه العينة، وحتى موقع إسقاط خريطة العمق المتذبذب، يمكن حساب متوسط ​​أو نسبة مئوية للعينات الأقرب، وبالتالي الأكثر إضاءة، بعد مقارنة العمق لكل بكسل. ومن المهم جدًا أن يتم جمع نتائج العمليات المنطقية وتوليد قيمة النسبة المئوية بعد مقارنة عمق الإسقاط وجلب العينة، بحيث تصبح هذه المقارنة جزءًا لا يتجزأ من مرشح النسيج. ويمكن استخدام هذه النسبة المئوية لترجيح حساب الإضاءة، وتوفير ليس فقط قيمة إضاءة أو ظل منطقية، بل أيضًا نتيجة شبه ظل ناعمة. [ 12 ] [ 13 ] يدعم الجهاز الحديث نسخة من هذه العملية، حيث تُجرى مقارنة ويُطبق مرشح ثنائي الخطية للمسافة بعد المقارنة المنطقية. [ 14 ]

انظر أيضاً

مراجع

  1. 1 2 "الفصل 9 - دليل برمجة OpenGL" . Glprogramming.com. 13-02-2009. التصفية . تم الاسترجاع في 14-01-2018 .
  2. ويليامز، لانس (1983). "البارامترات الهرمية" (ملف PDF) . مجلة ACM SIGGRAPH لرسومات الحاسوب . 17 (3): 1-11 . doi : 10.1145/964967.801126 . ISSN 0097-8930 . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 2016-06-06 . تم الاطلاع عليه بتاريخ 2017-02-14 . 
  3. "تصميم محرك الألعاب: رسم الخرائط النسيجية" (ملف PDF) . uncc.edu. تكبير النسيج. مؤرشف من الأصل (ملف PDF) بتاريخ 17 أبريل 2021. تم الاطلاع عليه بتاريخ 14 فبراير 2017 .
  4. "تصميم محرك الألعاب: رسم الخرائط النسيجية" (ملف PDF) . uncc.edu. تصغير حجم النسيج. مؤرشف من الأصل (ملف PDF) بتاريخ 17 أبريل 2021. تم الاطلاع عليه بتاريخ 14 فبراير 2017 .
  5. هندريك لينش (29 نوفمبر 2007). "رسومات الحاسوب: ترشيح النسيج ونظرية أخذ العينات" (ملف PDF) . جمعية ماكس بلانك . MipMaps . تاريخ الاسترجاع: 14 يناير 2018 .
  6. ماركوس هادويغر (9 مارس 2015). "محاضرة برمجة وحدة معالجة الرسومات ووحدة معالجة الرسومات للأغراض العامة، المحاضرة 12: معالجة نسيج وحدة معالجة الرسومات 2" (ملف PDF) . جامعة الملك عبد الله للعلوم والتقنية . إعادة بناء النسيج: التكبير. مؤرشف من الأصل (ملف PDF) بتاريخ 24 يناير 2021. تم الاطلاع عليه بتاريخ 14 فبراير 2017 .
  7. ماركوس هادويغر (9 مارس 2015). "برمجة وحدة معالجة الرسومات ووحدة معالجة الرسومات للأغراض العامة، المحاضرة 12: معالجة نسيج وحدة معالجة الرسومات 2" (ملف PDF) . جامعة الملك عبد الله للعلوم والتقنية . منع التعرجات في النسيج: رسم خرائط MIP. مؤرشف من الأصل (ملف PDF) بتاريخ 24 يناير 2021. تم الاطلاع عليه بتاريخ 14 فبراير 2017 .
  8. "نظام ألعاب فيديو مزود بمعالج مساعد يوفر رسومات ثلاثية الأبعاد عالية السرعة وفعالة ومعالجة إشارات صوتية رقمية" . تم الاطلاع عليه بتاريخ 14 نوفمبر 2022 .
  9. هندريك لينش (29-11-2007). "رسومات الحاسوب: ترشيح النسيج ونظرية أخذ العينات" (ملف PDF) . جمعية ماكس بلانك . MipMapping II . تاريخ الاسترجاع: 14-01-2018 .
  10. ألفي راي سميث (17 يوليو 1995). "البكسل ليس مربعًا صغيرًا! (والفوكسل ليس مكعبًا صغيرًا) - مذكرة فنية 6" (ملف PDF) . cs.princeton.edu . تاريخ الاسترجاع: 14 يناير 2018 .
  11. هندريك لينش (29 نوفمبر 2007). "رسومات الحاسوب: ترشيح النسيج ونظرية أخذ العينات" (ملف PDF) . جمعية ماكس بلانك . الترشيح غير المتناحي . تاريخ الاسترجاع: 14 يناير 2018 .
  12. ريفز، ويليام ت.؛ ساليسين، ديفيد هـ.؛ كوك، روبرت ل. (1987-08-01). "عرض الظلال المُنعّمة باستخدام خرائط العمق" (ملف PDF) . مجلة ACM SIGGRAPH لرسومات الحاسوب . 21 (4). رابطة آلات الحوسبة (ACM): 283-291 . doi : 10.1145/37402.37435 . ISSN 0097-8930 . S2CID 18320563. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 2018-01-15.  
  13. رانديما فرناندو (2008-07-02). "ظلال ناعمة أقرب بنسبة مئوية" (ملف PDF) . شركة NVIDIA . تم الاطلاع عليه بتاريخ 2018-01-14 .
  14. "مواصفات امتداد ويب جي إل WEBGL_depth_texture المعتمدة من كرونوس" . Khronos.org. 15-07-2014 . تم الاطلاع عليه بتاريخ 14-01-2018 .