S3 बनावट संपीड़न

From Vigyanwiki

S3 टेक्सचर कम्प्रेशन (S3TC) (कभी-कभी डीएक्सटीएन, डीएक्सटीसी, या बीसीएन भी कहा जाता है) संबंधित लोस्सी कम्प्रेशन (हानिपूर्ण कम्प्रेशन) टेक्सचर कम्प्रेशन एल्गोरिथ्म का एक समूह है जो मूल रूप से इउर्चा एट अल (Iourcha et al) S3 ग्राफ़िक्स| द्वारा विकसित किया गया हैl S3 ग्राफ़िक्स, लिमिटेड[1][2] उनके सैवेज 3डी कंप्यूटर ग्राफ़िक्स एक्सेलरेटर में उपयोग के लिए है। कम्प्रेशन की विधि पहले प्रकाशित कलर सेल कम्प्रेशन के समान ही है,[3] जो बदले में 1970 के दशक के अंत में प्रकाशित ट्रंकेशन कोडिंग को ब्लॉक करें का रूपांतरण है। कुछ इमेज कम्प्रेशन एल्गोरिदम (उदाहरण के लिए JPEG) के विपरीत, S3TC के निश्चित-दर डेटा कम्प्रेशन ने एकल मेमोरी एक्सेस (cf. कलर सेल कम्प्रेशन और कुछ वेक्टर परिमाणीकरण योजनाओं) के साथ मिलकर इसे हार्डवेयर में टेक्सचरमैपिंग को कम्प्रेशन करने में उपयोग के लिए उपयुक्त बना दिया- त्वरित 3डी कंप्यूटर ग्राफिक्स इसके बाद माइक्रोसॉफ्ट के डायरेक्टएक्स (डायरेक्टएक्स 6.0 (DirectX 6.0̠) और ओपनजीएल 1.3 (OpenGL 1.3)) (जीएल_ईएक्सटी_टेक्सचर_कम्प्रेशन_s3tc ओपनजीएल डेवलपमेंट के माध्यम से) में सम्मिलित किए जाने से हार्डवेयर और सॉफ्टवेयर निर्माताओं के बीच प्रौद्योगिकी को व्यापक रूप से अपनाया गया है। जबकि S3 ग्राफ़िक्स अब ग्राफ़िक्स एक्सेलेरेटर बाज़ार में प्रतिस्पर्धी नहीं है, उदाहरण के लिए गेम कंसोल और ग्राफ़िक्स कार्ड में, अक्टूबर 2017 तक S3TC तकनीक के उपयोग के लिए लाइसेंस शुल्क लगाया और एकत्र किया गया है। S3TC के व्यापक उपयोग ने ओपनजीएल 1.3 ड्राइवर्स के लिए इसका समर्थन करने की वास्तविक आवश्यकता को जन्म दिया है, लेकिन S3TC की पेटेंट-भारित स्थिति ने ओपन-सोर्स सॉफ़्टवेयर कार्यान्वयन में एक बड़ी बाधा प्रस्तुत की है,[4] जबकि कार्यान्वयन दृष्टिकोण जो पेटेंट किए गए भागों से बचने की कोशिश करते थे, उपस्थित थे।[5]

पेटेंट

S3 टेक्सचर कंप्रेशन पर कई यूएसपीटीओ पेटेंट में से कुछ (जैसे यूएस 5956431 ए) 2 अक्टूबर, 2017 को समाप्त हो गए।[6] कम से कम एक निरंतरता पेटेंट, US6,775,417, में 165 दिन का विस्तार था। यह निरंतरता पेटेंट 16 मार्च, 2018 को समाप्त हो गया।

कोडेक्स

S3TC एल्गोरिथ्म के पांच रूप हैं (डीएक्सटी1 से डीएक्सटी5 नामित, प्रत्येक प्रारूप के लिए Microsoft द्वारा निर्दिष्ट फोरसीसी कोड को संदर्भित करते हुए), प्रत्येक को विशिष्ट प्रकार के इमेज डेटा के लिए डिज़ाइन किया गया है। सभी पिक्सेल के 4×4 ब्लॉक को 64-अंश या 128-बिट मात्रा में परिवर्तित करते हैं, जिसके परिणामस्वरूप 24-बिट आरजीबी कलर स्थान इनपुट डेटा के साथ 6:1 या 32-बिट आरजीबीए कलर स्थान इनपुट डेटा के साथ 4:1 का कम्प्रेशन अनुपात होता है। S3TC एक लोस्सी डेटा कम्प्रेशन कम्प्रेशन एल्गोरिदम है, जिसके परिणामस्वरूप इमेज गुणवत्ता में गिरावट आती है, एक प्रभाव जो समान मेमोरी आवश्यकताओं को बनाए रखते हुए टेक्सचररिज़ॉल्यूशन को बढ़ाने की क्षमता से कम हो जाता है। हाथ से खींची गई कार्टून जैसी छवियां अच्छी तरह से कम्प्रेशन नहीं होती हैं, न ही सामान्य मैपिंग डेटा, दोनों ही सामान्यतः कम्प्रेशन कलाकृतियाँ उत्पन्न करते हैं। एटीआई टेक्नोलॉजी का 3Dc कंप्रेशन एल्गोरिदम डीएक्सटी5 का एक संशोधन है जिसे सामान्य मानचित्रों के संबंध में S3TC की कमियों को दूर करने के लिए डिज़ाइन किया गया है। आईडी सॉफ्टवेयर ने डूम 3 में सामान्यमैप कम्प्रेशन मुद्दों के आसपास काम किया, कम्प्रेशन से पहले लाल घटक को अल्फा चैनल में ले जाया गया और पिक्सेल शेडर में रेंडरिंग के दौरान इसे वापस ले जाया गया।[7]

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

डीएक्सटी1

डीएक्सटी1 (ब्लॉक कंप्रेशन 1 या बीसी1 के रूप में भी जाना जाता है) S3TC का सबसे छोटा संस्करण है, जो 64 बिट आउटपुट में 16 इनपुट पिक्सल को संग्रहीत करता है, जिसमें दो 16-बिट आरजीबी 5:6:5 कलर मान सम्मिलित हैं। और , और एक 4×4 दो-बिट लुकअप टेबल।

अगर (इन रंगों की तुलना दो 16-बिट अहस्ताक्षरित संख्याओं के रूप में व्याख्या करके करें), फिर दो अन्य रंगों की गणना की जाती है, जैसे कि प्रत्येक घटक के लिए, और . यह मोड एप्पल वीडियो के मोड 0xC0 के समान काम करता है।[8]

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

फिर प्रत्येक पिक्सेल के लिए कलर मान निर्धारित करने के लिए लुकअप टेबल से परामर्श लिया जाता है, जिसका मान 0 के अनुरूप होता है और इसके अनुरूप 3 का मान .

डीएक्सटी2 और डीएक्सटी3

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

डीएक्सटी2 में, कलर डेटा की व्याख्या अल्फा द्वारा पूर्वगुणित किए जाने के रूप में की जाती है, डीएक्सटी3 में इसकी व्याख्या अल्फा द्वारा पूर्वगुणित नहीं किए जाने के रूप में की जाती है। सामान्यतः डीएक्सटी2/3 पारभासी और अपारदर्शी क्षेत्रों के बीच तेज अल्फा बदलाव वाली इमेज के लिए उपयुक्त होते हैं।

डीएक्सटी4 और डीएक्सटी5

डीएक्सटी4 और डीएक्सटी5 (सामूहिक रूप से ब्लॉक कंप्रेशन 3 या बीसी3 के रूप में भी जाना जाता है) 16 इनपुट पिक्सल को 128 बिट आउटपुट में परिवर्तित करता है, जिसमें 64 बिट अल्फा चैनल डेटा (दो 8-बिट अल्फा मान और एक 4×4 3-बिट लुकअप टेबल) सम्मिलित है। इसके बाद 64 बिट कलर डेटा (डीएक्सटी1 की तरह ही एन्कोड किया गया)।

अगर , फिर छह अन्य अल्फ़ा मानों की गणना की जाती है, जैसे कि , , , , , और .

अन्यथा, यदि , चार अन्य अल्फ़ा मानों की गणना इस प्रकार की जाती है , ,