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 की तरह ही एन्कोड किया गया)।

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

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

फिर प्रत्येक पिक्सेल के लिए अल्फा मान निर्धारित करने के लिए लुकअप टेबल से परामर्श लिया जाता है, जिसके अनुरूप मान 0 होता है और इसके अनुरूप 7 का मान . डीएक्सटी4 का कलर डेटा अल्फा द्वारा पूर्वगुणित होता है, जबकि डीएक्सटी5 का नहीं। क्योंकि डीएक्सटी4/5 एक इंटरपोलेटेड अल्फा योजना का उपयोग करते हैं, वे सामान्यतः डीएक्सटी2/3 की तुलना में अल्फा (पारदर्शिता) ग्रेडिएंट के लिए बेहतर परिणाम देते हैं।

आगे के प्रकार

बीसी4 और बीसी5

बीसी4 और बीसी5 (ब्लॉक कंप्रेशन 4 और 5) को डायरेक्ट3D 10 में जोड़ा गया है। वे डीएक्सटी4/5 (बीसी3) में पाए जाने वाले अल्फा चैनल एन्कोडिंग का पुन: उपयोग करते हैं।[9]

  • बीसी4 16 इनपुट सिंगल-चैनल (जैसे ग्रेस्केल) पिक्सल को आउटपुट के 64 बिट्स में संग्रहीत करता है, जो लगभग एन्कोड किया गया है[10]बीसी3 अल्फा की तरह ही। विस्तारित पैलेट उच्च गुणवत्ता प्रदान करता है।
  • बीसी5 आउटपुट के 128 बिट्स में 16 इनपुट डबल-चैनल (उदाहरण के लिए स्पर्शरेखा स्थान सामान्य मानचित्र) पिक्सेल संग्रहीत करता है, जिसमें बीसी4 की तरह एन्कोड किए गए प्रत्येक दो आधे भाग होते हैं।

बीसी6एच और बीसी7

डायरेक्ट3डी 11 में बीसी6एच (कभी-कभी बीसी6) और बीसी7 (ब्लॉक कम्प्रेशन 6एच और 7) जोड़े जाते हैं।[9]* बीसी6एच 16 इनपुट आरजीबी एचडीआर (फ्लोट16) पिक्सल को 128 बिट आउटपुट में एनकोड करता है। यह अनिवार्य रूप से फ्लोट16 को 16 चिह्न-परिमाण पूर्णांक मान के रूप में मानता है और ऐसे पूर्णांकों को रैखिक रूप से प्रक्षेपित करता है। यह बिना चिह्न परिवर्तन वाले ब्लॉकों के लिए अच्छा काम करता है। कुल 14 मोड परिभाषित किए गए हैं, हालांकि अधिकांश न्यूनतम रूप से भिन्न हैं: केवल दो भविष्यवाणी मोड वास्तव में उपयोग किए जाते हैं।[10]

  • बीसी7 16 इनपुट आरजीबी8/आरजीबीए 8 पिक्सल को 128 बिट आउटपुट में एन्कोड करता है। इसे अत्यधिक उन्नत बीसी3 के रूप में समझा जा सकता है।[10]

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

S3टीसी प्रारूप तुलना

FOURCC DX 10/11 name विवरण अल्फ़ा पूर्वगुणित? कम्प्रेशन रेश्यो टेक्सचर टाइप
डीएक्सटी1 बीसी1 1-बिट अल्फा / ओपेक यस 6:1 (24-बिट स्रोत छवि के लिए) सिंपल नॉन-अल्फा
डीएक्सटी2 बीसी2 एक्सप्लिसिट अल्फा यस 4:1 शार्प अल्फा
डीएक्सटी3 बीसी2 एक्सप्लिसिट अल्फा नो 4:1 शार्प अल्फा
डीएक्सटी4 बीसी3 इंटरपोलेटेड अल्फा यस 4:1 ग्रेडिएंट अल्फा
डीएक्सटी5 बीसी3 इंटरपोलेटेड अल्फा नो 4:1 ग्रेडिएंट अल्फा
बीसी4 इंटरपोलेटेड ग्रेस्केल 2:1 ग्रेडिएंट
बीसी5 इंटरपोलेटेड ट्व-चैनल 2:1 ग्रेडिएंट
बीसी6एच इंटरपोलेटेड एचडीआर (नो अल्फा) 6:1 ग्रेडिएंट
बीसी7 इंटरपोलेटेड अल्फा ? 4:1 ग्रेडिएंट


डेटा प्रीकंडीशनिंग

ऑन-डिस्क भंडारण और वितरण (टेक्सचरसुपरकंप्रेशन) के लिए बीसीएन टेक्सचर को और अधिक कम्प्रेशन किया जा सकता है। एक एप्लिकेशन इस अतिरिक्त परत को डीकंप्रेस करेगा और बीसीएन (BCn) डेटा को हमेशा की तरह जीपीयू को भेजेगा।

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

क्रंच एक अन्य उपकरण है जो आरडीओ करता है और वैकल्पिक रूप से आगे पुनः एन्कोडिंग करता है।[12]

2021 में, माइक्रोसॉफ्ट ने विशेष रूप से बीसीएन-कम्प्रेशन टेक्सचर के लिए बीसी पैक कम्प्रेशन एल्गोरिथ्म का उत्पादन किया। एक्सबॉक्स (Xbox) श्रृंखला X और S में बीसीपैक (BCPack) स्ट्रीम को डीकंप्रेस करने के लिए हार्डवेयर समर्थन है।[13]

यह भी देखें

संदर्भ

  1. US 5956431  "Fixed-rate block-based image compression with inferred pixel values"
  2. US 5956431, Iourcha, Konstantine I.; Nayak, Krishna S. & Hong, Zhou, "अनुमानित पिक्सेल मानों के साथ निश्चित-दर ब्लॉक-आधारित छवि संपीड़न के लिए प्रणाली और विधि", published Sep 21, 1999 
  3. "1990 IEEE Color Cell Compression Paper". Ieeexplore.ieee.org. doi:10.1109/TENCON.1990.152671. S2CID 62015990. {{cite journal}}: Cite journal requires |journal= (help)
  4. "S3TC situation on official DRI information page". Dri.freedesktop.org. Retrieved 2012-01-25.
  5. S2TC: A Possible Workaround For The S3TC Patent Situation on phoronix
  6. Yates, Tom (2017-02-15). "This is why I drink: a discussion of Fedora's legal state". LWN.net. Retrieved 2017-02-16. ... The patent on S3 texture compression expires on October 2, 2017, so Steam games might work better on Fedora after that date. ...
  7. Duffy, Robert (July 27, 2004). "DOOM 3 Video Requirements". Gamershell.com. Archived from the original on January 3, 2008. Retrieved 2012-01-25.
  8. Togni, Roberto, et al. "Apple RPZA". MultimediaWiki.
  9. 9.0 9.1 9.2 Reed, Nathan. "बीसीएन बनावट संपीड़न प्रारूप को समझना". Nathan Reed’s coding blog.
  10. 10.0 10.1 10.2 10.3 Giesen, Fabian “ryg” (4 October 2021). "जीपीयू बीसीएन डिकोडिंग". The ryg blog (in English). Retrieved 24 July 2023.
  11. "ऊडल बनावट संपीड़न". www.radgametools.com. Open source part mentioned: bc7enc_rdo
  12. "क्रंच ओपन सोर्स टेक्सचर कम्प्रेशन लाइब्रेरी". GitHub. Retrieved 2016-09-13.
  13. "डायरेक्टस्टोरेज अवलोकन - माइक्रोसॉफ्ट गेम डेवलपमेंट किट". 16 March 2023.


बाहरी संबंध