बनावट की फ़िल्टरिंग

From alpha
Jump to navigation Jump to search

कंप्यूटर चित्रलेख में, टेक्सचर फ़िल्टरिंग या टेक्सचर स्मूथिंग एक बनावट का मानचित्रण पिक्सेल के लिए टेक्सचर रंग निर्धारित करने के लिए उपयोग की जाने वाली विधि है, जो पास के टेक्सेल (ग्राफिक्स) (बनावट के पिक्सेल) के रंगों का उपयोग करती है। बनावट फ़िल्टरिंग की दो मुख्य श्रेणियां हैं, आवर्धन फ़िल्टरिंग और लघुकरण फ़िल्टरिंग।[1]स्थिति के आधार पर बनावट फ़िल्टरिंग या तो एक प्रकार का पुनर्निर्माण फ़िल्टर है जहां अंतराल (आवर्धन) को भरने के लिए विरल आंकड़े को प्रक्षेपित किया जाता है, या एक प्रकार का स्थानिक एंटी-एलियासिंग | एंटी-एलियासिंग (एए), जहां बनावट के नमूने उच्च आवृत्ति पर मौजूद होते हैं बनावट भरण (न्यूनीकरण) के लिए आवश्यक नमूना आवृत्ति के लिए आवश्यक। सीधे शब्दों में कहें तो फ़िल्टरिंग बताता है कि किसी बनावट को कई अलग-अलग आकृतियों, आकार, कोणों और पैमानों पर कैसे लागू किया जाता है। चुने गए फ़िल्टर एल्गोरिदम के आधार पर परिणाम धुंधलापन, विवरण, स्थानिक अलियासिंग, अस्थायी अलियासिंग और अवरोधन की अलग-अलग डिग्री दिखाएगा। परिस्थितियों के आधार पर फ़िल्टरिंग सॉफ़्टवेयर (जैसे सॉफ़्टवेयर रेंडरिंग पैकेज) या वास्तविक समय के लिए हार्डवेयर या ग्राफ़िक्स प्रोसेसिंग युनिट त्वरित रेंडरिंग या दोनों के मिश्रण में की जा सकती है। अधिकांश सामान्य इंटरैक्टिव ग्राफ़िकल अनुप्रयोगों के लिए आधुनिक टेक्सचर फ़िल्टरिंग बनावट मानचित्रण इकाई द्वारा की जाती है जो मेमोरी कैशिंग और कैश प्रीफ़ेचिंग | प्री-फ़ेच के माध्यम से मेमोरी एक्सेस को अनुकूलित करती है और उपयोगकर्ता और डेवलपर के लिए उपलब्ध एल्गोरिदम के चयन को लागू करती है।

बनावट फ़िल्टरिंग के कई तरीके हैं, जो गणना जटिलता, मेमोरी बैंडविड्थ और छवि गुणवत्ता के बीच अलग-अलग व्यापार-बंद बनाते हैं।

फ़िल्टरिंग की आवश्यकता

किसी भी मनमानी 3डी सतह के लिए बनावट मानचित्रण प्रक्रिया के दौरान, atexture lookup यह पता लगाने के लिए होता है कि प्रत्येक पिक्सेल केंद्र बनावट पर कहाँ पड़ता है। 3डी गेम और फिल्मों में अधिकांश सतहों के विशिष्ट त्रिकोणों से बनी बनावट-मैप वाली बहुभुज सतहों के लिए, उस सतह का प्रत्येक पिक्सेल (या बहु नमूना उपघटन विरोधी) कुछ त्रिकोण और बैरीसेंट्रिक समन्वय प्रणाली के एक सेट से जुड़ा होगा, जो हैं किसी बनावट के भीतर एक स्थिति प्रदान करने के लिए उपयोग किया जाता है। ऐसी स्थिति पिक्सेल ग्रिड पर पूरी तरह से स्थित नहीं हो सकती है, जिससे इन मामलों के लिए कुछ फ़ंक्शन की आवश्यकता होती है। दूसरे शब्दों में, चूंकि बनावट वाली सतह दर्शक के सापेक्ष मनमानी दूरी और अभिविन्यास पर हो सकती है, एक पिक्सेल आमतौर पर सीधे एक टेक्सल से मेल नहीं खाता है। पिक्सेल के लिए सर्वोत्तम रंग निर्धारित करने के लिए किसी प्रकार की फ़िल्टरिंग लागू करनी होगी। अपर्याप्त या गलत फ़िल्टरिंग छवि में आर्टिफैक्ट (अवलोकन) (छवि में त्रुटियां) के रूप में दिखाई देगी, जैसे 'अवरुद्धता', टेढ़ी-मेढ़ी, या झिलमिलाहट।

एक पिक्सेल और स्क्रीन पर प्रदर्शित टेक्सल/टेक्सल्स के बीच विभिन्न प्रकार के पत्राचार हो सकते हैं। ये दर्शक के सापेक्ष बनावट वाली सतह की स्थिति पर निर्भर करते हैं, और प्रत्येक मामले में फ़िल्टरिंग के विभिन्न रूपों की आवश्यकता होती है। दुनिया में एक वर्गाकार सतह पर मैप की गई एक वर्गाकार बनावट को देखते हुए, कुछ देखने की दूरी पर एक स्क्रीन पिक्सेल का आकार बिल्कुल एक टेक्सल के समान होता है। इसके करीब, टेक्सल्स स्क्रीन पिक्सल से बड़े होते हैं, और उन्हें उचित रूप से स्केल करने की आवश्यकता होती है - एक प्रक्रिया जिसे बनावट आवर्धन के रूप में जाना जाता है। अधिक दूर, प्रत्येक टेक्सल एक पिक्सेल से छोटा होता है, और इसलिए एक पिक्सेल कई टेक्सल को कवर करता है। इस मामले में बनावट लघुकरण के माध्यम से, कवर किए गए टेक्सल्स के आधार पर एक उपयुक्त रंग चुनना होगा। ग्राफ़िक्स अप्लिकेशन प्रोग्रामिंग अंतरफलक जैसे ओपनजीएल प्रोग्रामर को लघुकरण और आवर्धन फ़िल्टर के लिए अलग-अलग विकल्प सेट करने की अनुमति देता है।[1]

ध्यान दें कि ऐसे मामले में भी जहां पिक्सेल और टेक्सल बिल्कुल एक ही आकार के हैं, एक पिक्सेल आवश्यक रूप से एक टेक्सल से मेल नहीं खाएगा। यह गलत तरीके से संरेखित या घुमाया जा सकता है, और चार पड़ोसी टेक्सल्स के हिस्सों को कवर कर सकता है। इसलिए किसी न किसी रूप में फ़िल्टरिंग की अभी भी आवश्यकता है।

मिपमैपिंग

मिपमैपिंग एक मानक तकनीक है जिसका उपयोग बनावट लघुकरण के दौरान आवश्यक कुछ फ़िल्टरिंग कार्य को सहेजने के लिए किया जाता है।[2] यह कैश सुसंगतता के लिए भी अत्यधिक फायदेमंद है - इसके बिना दूर की बनावट से नमूने के दौरान मेमोरी एक्सेस पैटर्न बेहद खराब स्थानीयता प्रदर्शित करेगा, कोई फ़िल्टरिंग नहीं होने पर भी प्रदर्शन पर प्रतिकूल प्रभाव डालेगा।

बनावट आवर्धन के दौरान, किसी भी पिक्सेल के लिए देखे जाने वाले टेक्सल्स की संख्या हमेशा चार या उससे कम होती है; हालाँकि, लघुकरण के दौरान, जैसे-जैसे बनावट वाला बहुभुज दूर होता जाता है, संभावित रूप से पूरी बनावट एक ही पिक्सेल में गिर सकती है। इसके लिए इसके 'सभी' टेक्सल्स को पढ़ने और पिक्सेल रंग को सही ढंग से निर्धारित करने के लिए उनके मूल्यों को संयोजित करने की आवश्यकता होगी, जो एक बेहद महंगा ऑपरेशन है। मिपमैपिंग बनावट को पहले से फ़िल्टर करके और इसे छोटे आकार में एक पिक्सेल तक संग्रहीत करके इससे बचता है। जैसे-जैसे बनावट वाली सतह दूर होती जाती है, लागू की जाने वाली बनावट पूर्व-फ़िल्टर किए गए छोटे आकार में बदल जाती है। मिपमैप के विभिन्न आकारों को 'स्तर' के रूप में संदर्भित किया जाता है, जिसमें स्तर 0 सबसे बड़ा आकार होता है (दर्शक के निकटतम उपयोग किया जाता है), और बढ़ती दूरी पर बढ़ते स्तर का उपयोग किया जाता है।

फ़िल्टरिंग विधियाँ

यह अनुभाग कम्प्यूटेशनल लागत और छवि गुणवत्ता के बढ़ते क्रम में सबसे आम बनावट फ़िल्टरिंग विधियों को सूचीबद्ध करता है।

निकटतम-पड़ोसी प्रक्षेप

निकटतम-पड़ोसी इंटरपोलेशन सबसे सरल और सबसे कठिन फ़िल्टरिंग विधि है - यह पिक्सेल रंग के लिए पिक्सेल केंद्र के निकटतम टेक्सल के रंग का उपयोग करता है। सरल होते हुए भी, इसके परिणामस्वरूप बड़ी संख्या में कलाकृतियाँ उत्पन्न होती हैं - आवर्धन के दौरान बनावट में 'रुकावट',[3] और लघुकरण के दौरान अलियासिंग और झिलमिलाहट।[4] आवर्धन के दौरान यह विधि तेज़ है लेकिन लघुकरण के दौरान मेमोरी के माध्यम से प्रगति मनमाने ढंग से बड़ी हो जाती है और स्थानिक रूप से सुसंगत बनावट पहुंच और कैश-लाइन पुन: उपयोग की कमी के कारण यह अक्सर एमआईपी-मैपिंग की तुलना में कम कुशल हो सकती है।[5]


मिपमैपिंग के साथ निकटतम-पड़ोसी

यह विधि अभी भी निकटतम पड़ोसी इंटरपोलेशन का उपयोग करती है, लेकिन मिपमैपिंग जोड़ती है - पहले निकटतम मिपमैप स्तर को दूरी के अनुसार चुना जाता है, फिर पिक्सेल रंग प्राप्त करने के लिए निकटतम टेक्सल केंद्र का नमूना लिया जाता है। यह लघुकरण के दौरान अलियासिंग और झिलमिलाहट को काफी कम कर देता है लेकिन इसे पूरी तरह से समाप्त नहीं करता है। ऐसा करने से यह रैस्टराइज़ेशन के दौरान टेक्सचर मेमोरी के माध्यम से मनमाने ढंग से बड़ी पहुंच से बचने के माध्यम से टेक्सचर मेमोरी एक्सेस और कैश-लाइन पुन: उपयोग में सुधार करता है। यह आवर्धन के दौरान रुकावट में मदद नहीं करता है क्योंकि प्रत्येक आवर्धित टेक्सल अभी भी एक बड़े आयत के रूप में दिखाई देगा।

रैखिक मिपमैप फ़िल्टरिंग

आमतौर पर कम उपयोग किए जाने वाले, ओपनजीएल और अन्य एपीआई व्यक्तिगत मिपमैप्स से निकटतम-पड़ोसी नमूने का समर्थन करते हैं, जबकि नमूने के लिए प्रासंगिक दो निकटतम मिपमैप्स को रैखिक रूप से प्रक्षेपित करते हैं।

बिलिनियर फ़िल्टरिंग

बिलिनियर फ़िल्टरिंग में, पिक्सेल केंद्र के चार निकटतम टेक्सल्स का नमूना लिया जाता है (निकटतम मिपमैप स्तर पर), और उनके रंगों को दूरी के अनुसार भारित माध्य द्वारा संयोजित किया जाता है।[6] यह आवर्धन के दौरान दिखाई देने वाली 'अवरुद्धता' को हटा देता है, क्योंकि अब पिक्सेल केंद्र टेक्सल सीमा को पार करने पर अचानक उछाल के बजाय एक टेक्सल से दूसरे टेक्सल में रंग परिवर्तन की एक सहज ढाल होती है।[7] आवर्धन फ़िल्टरिंग के लिए बिलिनियर फ़िल्टरिंग आम है। जब इसका उपयोग लघुकरण के लिए किया जाता है तो इसे अक्सर मिपमैपिंग के साथ प्रयोग किया जाता है; हालाँकि इसका उपयोग इसके बिना किया जा सकता है, लेकिन बहुत अधिक छोटा होने पर यह निकटतम-पड़ोसी फ़िल्टरिंग के समान अलियासिंग और झिलमिलाती समस्याओं से ग्रस्त होगा। हालाँकि, मामूली न्यूनीकरण अनुपात के लिए, इसका उपयोग एक सस्ते हार्डवेयर त्वरित भारित बनावट सुपरसैंपल के रूप में किया जा सकता है।

निंटेंडो 64 ने बिलिनियर फ़िल्टरिंग के एक असामान्य संस्करण का उपयोग किया जहां हार्डवेयर अनुकूलन चिंताओं के कारण चार के बजाय केवल तीन पिक्सेल का उपयोग किया जाता है। यह कुछ बनावटों में ध्यान देने योग्य त्रिकोणीय पूर्वाग्रह का परिचय देता है।[8]


त्रिरेखीय फ़िल्टरिंग

तीन सतह से छानना , मिपमैप्ड बिलिनियरली फ़िल्टर की गई छवियों में देखी जाने वाली एक सामान्य कलाकृति का एक उपाय है: सीमाओं पर गुणवत्ता में अचानक और बहुत ही ध्यान देने योग्य परिवर्तन जहां रेंडरर एक मिपमैप स्तर से दूसरे पर स्विच करता है। ट्रिलिनियर फ़िल्टरिंग दो निकटतम मिपमैप स्तरों (एक उच्च और एक निम्न गुणवत्ता) पर बनावट लुकअप और बिलिनियर फ़िल्टरिंग करके इसे हल करता है, और फिर परिणामों को रैखिक प्रक्षेपित करता है।[9] इसके परिणामस्वरूप दर्शक से दूरी बढ़ने पर बनावट की गुणवत्ता में सहज गिरावट आती है, बजाय अचानक गिरावट की एक श्रृंखला के। बेशक, स्तर 0 के करीब केवल एक मिपमैप स्तर उपलब्ध है, और एल्गोरिदम बिलिनियर फ़िल्टरिंग पर वापस आ जाता है।

एनिस्ट्रोपिक फिल्टरिंग

अनिसोट्रोपिक फ़िल्टरिंग वर्तमान उपभोक्ता 3डी ग्राफिक्स प्रोसेसिंग यूनिट में उपलब्ध उच्चतम गुणवत्ता वाली फ़िल्टरिंग है। सरल, आइसोट्रोपिक तकनीकें केवल वर्गाकार मिपमैप्स का उपयोग करती हैं जिन्हें फिर द्वि- या ट्रिलिनियर फ़िल्टरिंग का उपयोग करके प्रक्षेपित किया जाता है। (आइसोट्रोपिक का अर्थ सभी दिशाओं में समान है, और इसलिए इसका उपयोग उस प्रणाली का वर्णन करने के लिए किया जाता है जिसमें सभी मानचित्र आयतों या अन्य चतुर्भुजों के बजाय वर्ग होते हैं।)

जब कोई सतह कैमरे के सापेक्ष उच्च कोण पर होती है, तो बनावट के लिए भरण क्षेत्र लगभग वर्गाकार नहीं होगा। किसी खेल में फर्श के सामान्य मामले पर विचार करें: भरण क्षेत्र जितना लंबा है उससे कहीं अधिक चौड़ा है। इस मामले में, कोई भी वर्गाकार मानचित्र उपयुक्त नहीं है। परिणाम धुंधलापन और/या चमकदार होता है, यह इस बात पर निर्भर करता है कि फिट कैसे चुना गया है। अनिसोट्रोपिक फ़िल्टरिंग बनावट को गैर-वर्ग आकार के रूप में नमूना करके इसे ठीक करता है। लक्ष्य बनावट स्थान में प्रक्षेपित पिक्सेल फ़ुटप्रिंट से मेल खाने के लिए एक बनावट का नमूना लेना है, और ऐसा फ़ुटप्रिंट हमेशा बनावट के साथ अक्ष पर संरेखित नहीं होता है। इसके अलावा, नमूना सिद्धांत से निपटने पर एक पिक्सेल थोड़ा वर्गाकार नहीं होता है[10] इसलिए इसका पदचिह्न प्रक्षेपित वर्ग नहीं होगा। टेक्सचर स्पेस में फ़ुटप्रिंट असेंबली, टेक्सचर स्पेस में अनुमानित पिक्सेल के परिकलित फ़ंक्शन के कुछ सन्निकटन का नमूना लेती है, लेकिन विवरण अक्सर अनुमानित होते हैं,[11] नमूना सिद्धांत के बारे में अत्यधिक मालिकाना और राय से परिपूर्ण। यद्यपि संकल्पनात्मक रूप से लक्ष्य अनुमानित आकार भिन्न होने पर एक अक्ष पर अलियासिंग बनाम दूसरे पर धुंधलापन के बीच संघर्ष से बचने के लिए उचित अभिविन्यास के अधिक सही अनिसोट्रोपिक नमूने का नमूना लेना है।

अनिसोट्रोपिक कार्यान्वयन में, फ़िल्टरिंग में मध्यवर्ती या अंतिम परिणाम के निर्माण के दौरान पारंपरिक मिपमैपिंग के वर्ग मानचित्रों को फ़िल्टर करने के लिए उपयोग किए जाने वाले समान फ़िल्टरिंग एल्गोरिदम शामिल हो सकते हैं।

प्रतिशत करीब फ़िल्टरिंग

गहराई-आधारित छाया मानचित्रण गहराई-मैप किए गए बनावट के साथ एक दिलचस्प प्रतिशत क्लोजर फ़िल्टर (पीसीएफ) का उपयोग कर सकता है जो लागू किए जा सकने वाले बनावट फ़िल्टर के प्रकार के बारे में किसी की धारणा को व्यापक बनाता है। पीसीएफ में प्रकाश स्रोत से दृश्य का गहराई का नक्शा प्रस्तुत किया जाता है। दृश्य के बाद के प्रतिपादन के दौरान इस गहराई मानचित्र को प्रकाश की स्थिति से वापस दृश्य में प्रक्षेपित किया जाता है और प्रक्षेप्य गहराई समन्वय और प्राप्त बनावट नमूना गहराई के बीच तुलना की जाती है। प्रक्षेप्य समन्वय प्रकाश से दृश्य पिक्सेल की गहराई होगी लेकिन गहराई मानचित्र से प्राप्त गहराई उस प्रक्षेपित दिशा के साथ दृश्य की गहराई का प्रतिनिधित्व करेगी। इस तरह से रेंडर किए गए पिक्सेल के लिए प्रकाश की दृश्यता और इसलिए प्रकाश द्वारा रोशनी का निर्धारण किया जा सकता है। तो यह टेक्सचरिंग ऑपरेशन एक बूलियन परीक्षण है कि क्या पिक्सेल जलाया जाता है, हालांकि किसी दिए गए पिक्सेल के लिए कई नमूनों का परीक्षण किया जा सकता है और बूलियन परिणामों को संक्षेप और औसत किया जा सकता है। इस तरह से सैंपल किए गए टेक्सल स्थान और यहां तक ​​कि घबराए हुए गहराई मानचित्र प्रक्षेपण स्थान जैसे अलग-अलग मापदंडों के संयोजन में एक पोस्ट-गहराई-तुलना औसत या करीब नमूनों का प्रतिशत और इसलिए प्रकाशित एक पिक्सेल के लिए गणना की जा सकती है। गंभीर रूप से, बूलियन परिणामों का योग और प्रतिशत मान का सृजन प्रक्षेप्य गहराई और नमूना लाने की गहराई तुलना के बाद किया जाना चाहिए, इसलिए यह गहराई तुलना बनावट फ़िल्टर का एक अभिन्न अंग बन जाती है। इस प्रतिशत का उपयोग रोशनी की गणना को महत्व देने के लिए किया जा सकता है और न केवल एक बूलियन रोशनी या छाया मूल्य बल्कि एक नरम छाया पेनम्ब्रा परिणाम प्रदान किया जा सकता है।[12][13] इसका एक संस्करण आधुनिक हार्डवेयर में समर्थित है जहां तुलना की जाती है और दूरी के अनुसार पोस्ट बूलियन तुलना बिलिनियर फ़िल्टर लागू किया जाता है[14]


यह भी देखें

संदर्भ

  1. 1.0 1.1 "Chapter 9 - OpenGL Programming Guide". Glprogramming.com. 2009-02-13. Filtering. Retrieved 2018-01-14.
  2. Williams, Lance (1983). "पिरामिड पैरामीट्रिक्स" (PDF). ACM SIGGRAPH Computer Graphics. 17 (3): 1–11. doi:10.1145/964967.801126. ISSN 0097-8930.
  3. "Game Engine Design: Texture Mapping" (PDF). uncc.edu. Texture Magnification.
  4. "Game Engine Design: Texture Mapping" (PDF). uncc.edu. Texture Minification.
  5. Hendrik Lensch (2007-11-29). "Computer Graphics: Texture Filtering & Sampling Theory" (PDF). Max Planck Society. MipMaps. Retrieved 2018-01-14.
  6. Markus Hadwiger (2015-03-09). "GPU and GPGPU Programming Lecture 12: GPU Texturing 2" (PDF). KAUST. Texture Reconstruction: Magnification.
  7. Markus Hadwiger (2015-03-09). "GPU and GPGPU Programming Lecture 12: GPU Texturing 2" (PDF). KAUST. Texture Anti-Aliasing: MIP Mapping.
  8. "Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing". Retrieved 14 November 2022.
  9. Hendrik Lensch (2007-11-29). "Computer Graphics: Texture Filtering & Sampling Theory" (PDF). Max Planck Society. MipMapping II. Retrieved 2018-01-14.
  10. Alvy Ray Smith (1995-07-17). "A Pixel Is Not A Little Square! (And a Voxel is Not a Little Cube) - Technical Memo 6" (PDF). cs.princeton.edu. Retrieved 2018-01-14.
  11. Hendrik Lensch (2007-11-29). "Computer Graphics: Texture Filtering & Sampling Theory" (PDF). Max Planck Society. Anisotropic Filtering. Retrieved 2018-01-14.
  12. Reeves, William T.; Salesin, David H.; Cook, Robert L. (1987-08-01). "गहराई के मानचित्रों के साथ एंटीएलियास्ड छाया का प्रतिपादन" (PDF). ACM SIGGRAPH Computer Graphics. Association for Computing Machinery (ACM). 21 (4): 283–291. doi:10.1145/37402.37435. ISSN 0097-8930. Archived from the original (PDF) on 2018-01-15.
  13. Randima Fernando (2008-07-02). "प्रतिशत-करीब नरम छाया" (PDF). NVIDIA Corporation. Retrieved 2018-01-14.
  14. "WebGL WEBGL_depth_texture Khronos Ratified Extension Specification". Khronos.org. 2014-07-15. Retrieved 2018-01-14.