SMAA: تعزيز تجانس المورفولوجي الفرعي


يستند هذا المقال إلى مجلات خورخي جيمينيز وخوسيه إيشفاريا وتياجو سوس ودييجو جوتيريز.

يمكن رؤية تنفيذ SMAA التجريبي الخاص بهم هنا (ملف. exe). على بلدي GTX 960 2GB يعمل بشكل جيد جدا.

الأساليب القديمة لمكافحة التعرج


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

طرق التجانس الحديثة


هناك العديد من الأساليب الحديثة القائمة على التصفية والتي تؤدي عملاً جيدًا ، على الرغم من كونها أدنى من النوعين المذكورين أعلاه. FXAA ، DEAA ، GPAA ، GBAA ، CSAA ، EQAA ، DLAA ... في هذه المقالة سوف نتحدث عن SMAA ، وسابقتها - MLAA. هذه الأساليب الحديثة المستندة إلى عامل التصفية لها مشاكلها الخاصة:

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

كما تعتقد ، لقد أثارنا هذه المشكلات لأننا نريد القضاء عليها.

الحواف المورفولوجية (MLAA)


MLAA تحاول تقييم تغطية الهندسة الأصلية. من أجل التنقيط الدقيق للمثلث الناعم ، من الضروري حساب مساحة التغطية لكل بكسل داخل المثلث من أجل مزجها بشكل صحيح مع الخلفية. يبدأ MLAA مع صورة غير مستعارة ويعكس العملية عن طريق توجيه الصور الظلية لحساب المساحات التي تغطيها. نظرًا لأنه يتعذر التعرف على الخلفية بعد التنقيط ، يمزج MLAA ذلك مع الجار ، على افتراض أن قيمته قريبة من قيمة الخلفية الأصلية. بمعنى آخر ، تعرف الخوارزمية الحدود (باستخدام معلومات حول اللون أو العمق) ، ثم تعثر على أنماط محددة فيها. يتم توفير التجانس من خلال المزج الذكي للبكسلات في الحدود. لدى MLAA تطبيقات على DirectX 10 و Mono Game (XNA). يتم تنفيذها بصدق في ألعاب مثل Fable II. قام مؤلفو MLAA لاحقًا بإنشاء SMAA ، أو الحواف المورفولوجية الفرعية المحسنة من البكسل الفرعي (البكسل الفرعي المانع للبكسل الفرعي) ، وهو الموضوع الرئيسي لهذه المقالة.


MLAA في العمل

البكسل المحسن المورفولوجي المحسن (SMAA)



مقارنة SMAA وغيرها من الطرق في Crysis 2

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


فوق - AA لا. في الوسط - MLAA ؛ أدناه - SMAA

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

التعرف على الحافة


يعد التعرف على الحافة خطوة هامة لأن الحواف غير المعترف بها تظل مشوهة. من ناحية أخرى ، فإن العديد من الحواف مع التصفية تقلل من جودة الصورة الملساء. يمكن استخدام معلومات مختلفة للتعرف على الحافة: اللون ، السطوع ، العمق ، السطح العادي والجمع بينهما. يستخدم SMAA luma لأربعة أسباب:

  1. عدد أقل من القطع الأثرية.
  2. السطوع مرئي دائمًا.
  3. يمكن التعامل مع تشويه التظليل.
  4. وأخيراً ، إنه أسرع من chroma.


اليسار والوسط: طرق أخرى للتعرف على الحافة ، مما يؤدي إلى ظهور التقاطعات والتحف الحمراء ؛ على اليمين: حواف حادة تمامًا SMAA

تذكر هذه الصورة. إليك طريقة عمل التعرف على الحافة: القيمة النهائية المحسوبة هي قيمة منطقية تسمى حد الحافة اليسرى . وبالمثل ، يتم حساب القيم المنطقية للحافة العليا. الصيغة

cmax=الحدالأقصى اليسار(cl،cr،cb،ci،c2l right)


el prime=el wedgecl>0.5.cmax


وتسمى جميع قيم ج دلتا النقيض .

معالجة الأنماط


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

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

الأنماط المائلة : لقد أضفنا طريقة جديدة تمامًا للتعرف على الأنماط المائلة. يتكون من المرحلتين التاليتين:

  1. البحث عن بعد قطري dlو drاليسار واليمين من الخطوط القطرية.
  2. الحصول على حواف متقاطعة e1و e2دولا.
  3. باستخدام هذا الإدخال ، نحدد نمطًا قطريًا محددًا للوصول إلى نسيج المنطقة المحسوب مسبقًا ، والحصول على المنطقة atو ab.

إذا فشل التعرف على الأنماط القطرية ، يبدأ التعرف على الأنماط المتعامدة.

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

fx(b1،b2،x)=x.b1(1x).b


أين b1و b2هما قيمتان ثنائيتان (0 أو 1) ، و xهي قيمة الاستيفاء.

النتائج


يعمل MLAA مع عينة واحدة لكل بكسل. مما يؤدي إلى أخذ عينات فرعية ، والتي بسببها يستحيل إعادة إنشاء عناصر بكسل فرعية حقيقية.


قارن MLAA مع SMAA وليس AA

ومع ذلك ، يعمل SMAA على مستوى البكسل الفرعي. وهذا يؤدي إلى ما يلي:

  • التباين المحلي
  • التعرف على الأنماط القطرية
  • العناصر الهندسية الحادة
  • البحث الدقيق

كل هذا يمكن رؤيته في الصورة أدناه ، حيث تتم مقارنة هذه الجوانب مع نتائج الطرق الأخرى. في الواقع ، يمكن أن ينتج SMAA نتائج قريبة من SSAA 16x.


تعتبر النفقات العامة التي تم إنشاؤها بواسطة كل من هذه الحلول ضئيلة. على وجه الخصوص ، يستغرق التباين المحلي 0.08 مللي ثانية فقط ، ويتطلب التعرف على العناصر الهندسية الحادة والمسافات الدقيقة 0.01 مللي ثانية ، وتضيف معالجة الأقطار 0.12 مللي ثانية إضافية. ببساطة ، SMAA سريع جدًا ، أبطأ من SSAA و MSAA ، لكنه أكثر فائدة وأقل كثافة في استخدام الموارد.

Source: https://habr.com/ru/post/ar440428/


All Articles