टेक्सचर फ़िल्टरिंग

From Vigyanwiki

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

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

छानने की आवश्यकता

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

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

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

मिपमैपिंग

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

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

छानने के तरीके

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

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

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

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

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

रैखिक मिपमैप निस्पंदन

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

द्विरैखिक निस्पंदन

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

त्रिरैखिक निस्पंदन

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

विषमदैशिक निस्पंदन

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

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

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

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

प्रतिशत करीब निस्पंदन

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

यह भी देखें

संदर्भ

  1. 1.0 1.1 "Chapter 9 - OpenGL Programming Guide". Glprogramming.com. 2009-02-13. Filtering. Retrieved 2018-01-14.
  2. Williams, Lance (1983). "Pyramidal parametrics" (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. Hendrik Lensch (2007-11-29). "Computer Graphics: Texture Filtering & Sampling Theory" (PDF). Max Planck Society. MipMapping II. Retrieved 2018-01-14.
  9. 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.
  10. Hendrik Lensch (2007-11-29). "Computer Graphics: Texture Filtering & Sampling Theory" (PDF). Max Planck Society. Anisotropic Filtering. Retrieved 2018-01-14.
  11. Reeves, William T.; Salesin, David H.; Cook, Robert L. (1987-08-01). "Rendering antialiased shadows with depth maps" (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.
  12. Randima Fernando (2008-07-02). "Percentage-Closer Soft Shadows" (PDF). NVIDIA Corporation. Retrieved 2018-01-14.
  13. "WebGL WEBGL_depth_texture Khronos Ratified Extension Specification". Khronos.org. 2014-07-15. Retrieved 2018-01-14.