डिफ्लेट: Difference between revisions

From Vigyanwiki
Line 22: Line 22:
कम्प्रेशन दो चरणों के माध्यम से प्राप्त किया जाता है:
कम्प्रेशन दो चरणों के माध्यम से प्राप्त किया जाता है:


* पॉइंटर्स के साथ डुप्लिकेट स्ट्रिंग्स का मिलान और प्रतिस्थापन।
* पॉइंटर्स के साथ डुप्लिकेट स्ट्रिंग्स का मैच और प्रतिस्थापन।
* उपयोग की आवृत्ति के आधार पर भारित प्रतीक को नए, सिम्बल्स से बदलना।
* उपयोग की आवृत्ति के आधार पर भारित प्रतीक को नए, सिम्बल्स से बदलना।


=== डुप्लिकेट स्ट्रिंग उन्मूलन ===
=== डुप्लिकेट स्ट्रिंग एलिमिनेशन ===
{{main article|LZ77 and LZ78|LZSS}}
{{main article|LZ77 and LZ78|LZSS}}


कंप्रेस्ड ब्लॉकों के भीतर, यदि बाइट्स की एक डुप्लिकेट श्रृंखला (एक दोहराई गई स्ट्रिंग) देखी जाती है,तो उसके बजाय उस समान स्ट्रिंग के पिछले स्थान से लिंक करते हुए एक बैक-रेफरेंस (कंप्यूटर विज्ञान) डाला जाता है। पिछली स्ट्रिंग के एन्कोडेड मिलान में डुप्लिकेट की शुरुआत में 8-बिट लंबाई (3-258 बाइट्स) और 15-बिट दूरी (1-32,768 बाइट्स) होती है। सापेक्ष बैक-रेफरेंस किसी भी संख्या में ब्लॉक में किए जा सकते हैं, जब तक कि दूरी डिकोड किए गए इनकंप्रेसिब्ल डेटा के अंतिम 32 [[किबिबाइट]] (स्लाइडिंग विंडो कहा जाता है) के भीतर दिखाई देती है ।
कंप्रेस्ड ब्लॉकों के भीतर, यदि बाइट्स की एक डुप्लिकेट श्रृंखला (एक दोहराई गई स्ट्रिंग) देखी जाती है,तो उसके स्थान पर उस समान स्ट्रिंग के पिछले स्थान से लिंक करते हुए एक बैक-रेफरेंस (कंप्यूटर विज्ञान) डाला जाता है। पिछली स्ट्रिंग के एन्कोडेड मैच में डुप्लिकेट की प्रारम्भ में 8-बिट लंबाई (3-258 बाइट्स) और 15-बिट डिस्टेंस (1-32,768 बाइट्स) होती है। सापेक्ष बैक-रेफरेंस किसी भी संख्या में ब्लॉक में किए जा सकते हैं, जब तक कि डिस्टेंस डिकोड किए गए इनकंप्रेसिब्ल डेटा के अंतिम 32 [[किबिबाइट]] (स्लाइडिंग विंडो कहा जाता है) के भीतर दिखाई देती है ।


यदि दूरी लंबाई से कम है, तो डुप्लिकेट स्वयं ओवरलैप हो जाता है, जो पुनरावृत्ति का संकेत देता है। उदाहरण के लिए, 10 समान बाइट्स के एक रन को एक बाइट के रूप में एन्कोड किया जा सकता है, इसके बाद पिछले बाइट से शुरू करके लंबाई 9 की डुप्लिकेट बनाई जा सकती है।
यदि डिस्टेंस लंबाई से कम है, तो डुप्लिकेट स्वयं ओवरलैप हो जाता है, जो पुनरावृत्ति का संकेत देता है। उदाहरण के लिए, 10 समान बाइट्स के एक रन को एक बाइट के रूप में एन्कोड किया जा सकता है, इसके बाद पिछले बाइट से प्रारम्भ करके लंबाई 9 की डुप्लिकेट बनाई जा सकती है।


डुप्लिकेट सबस्ट्रिंग के लिए पूर्ववर्ती पाठ की खोज करना डिफ्लेट एल्गोरिदम का सबसे कम्प्यूटेशनल रूप से महंगा हिस्सा है, और वह ऑपरेशन जो कम्प्रेशन स्तर सेटिंग्स को प्रभावित करता है।
डुप्लिकेट सबस्ट्रिंग के लिए पूर्ववर्ती पाठ की खोज करना डिफ्लेट एल्गोरिदम का सबसे कम्प्यूटेशनल रूप से महंगा भाग है, और वह ऑपरेशन जो कम्प्रेशन स्तर सेटिंग्स को प्रभावित करता है।


=== बिट रिडक्शन ===
=== बिट रिडक्शन ===
{{main article|Huffman coding}}
{{main article|Huffman coding}}


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


एक ट्री बनाया गया है, जिसमें 288 सिम्बल्स के लिए जगह है:
एक ट्री बनाया गया है, जिसमें 288 सिम्बल्स के लिए जगह है:


* 0-255: शाब्दिक बाइट्स/सिम्बल्स 0-255 का प्रतिनिधित्व करते है ।
* 0-255: शाब्दिक बाइट्स/सिम्बल्स 0-255 का प्रतिनिधित्व करते है ।
* 256: ब्लॉक का अंत - अंतिम ब्लॉक होने पर प्रोसेसिंग बंद हो जाता है, अन्यथा अगले ब्लॉक पर प्रोसेसिंग शुरू बंद हो जाता है।
* 256: ब्लॉक का अंत - अंतिम ब्लॉक होने पर प्रोसेसिंग बंद हो जाता है, अन्यथा अगले ब्लॉक पर प्रोसेसिंग प्रारम्भ बंद हो जाता है।
* 257-285: अतिरिक्त बिट्स के साथ संयुक्त, 3-258 बाइट्स की एक मिलान लंबाई है।
* 257-285: अतिरिक्त बिट्स के साथ संयुक्त, 3-258 बाइट्स की एक मैच लंबाई है।
* 286, 287: उपयोग नहीं किया गया, रिजर्व्ड और अवैध लेकिन फिर भी ट्री का हिस्सा है।
* 286, 287: उपयोग नहीं किया गया, रिजर्व्ड और अवैध लेकिन फिर भी ट्री का भाग है।


मैच लंबाई कोड के बाद हमेशा दूरी कोड आएगा। पढ़े गए दूरी कोड के आधार पर, अंतिम दूरी उत्पन्न करने के लिए अतिरिक्त अतिरिक्त बिट्स पढ़े जा सकते हैं। दूरी ट्री में 32 सिम्बल्स के लिए स्थान होता है:
मैच लंबाई कोड के बाद हमेशा डिस्टेंस कोड आएगा। पढ़े गए डिस्टेंस कोड के आधार पर, अंतिम डिस्टेंस उत्पन्न करने के लिए अतिरिक्त अतिरिक्त बिट्स पढ़े जा सकते हैं। डिस्टेंस ट्री में 32 सिम्बल्स के लिए स्थान होता है:


* 0-3: 1-4 दूरियाँ
* 0-3: 1-4 डिस्टेंस
* 4-5: 1 अतिरिक्त बिट, दूरियाँ 5-8
* 4-5: 1 अतिरिक्त बिट, डिस्टेंस 5-8
* 6-7:  2 अतिरिक्त बिट्स, दूरियाँ 9-16
* 6-7:  2 अतिरिक्त बिट्स, डिस्टेंस 9-16
* 8-9: 3 अतिरिक्त बिट्स, दूरियाँ 17-32
* 8-9: 3 अतिरिक्त बिट्स, डिस्टेंस 17-32
*...
*...
* 26-27: 12 अतिरिक्त बिट्स, दूरियाँ 8,193-16,384
* 26-27: 12 अतिरिक्त बिट्स, डिस्टेंस 8,193-16,384
* 28-29: 13 अतिरिक्त बिट्स, दूरियाँ 16,385-32,768
* 28-29: 13 अतिरिक्त बिट्स, डिस्टेंस 16,385-32,768
*30-31: उपयोग नहीं किया गया, रिजर्व्ड और अवैध लेकिन फिर भी ट्री का हिस्सा।
*30-31: उपयोग नहीं किया गया, रिजर्व्ड और अवैध लेकिन फिर भी ट्री का भाग।


ध्यान दें कि मिलान दूरी सिम्बल्स 2-29 के लिए, अतिरिक्त बिट्स की संख्या की गणना <math>\left\lfloor\frac{n}{2}\right\rfloor-1</math> प्रकार की जा सकती है .
ध्यान दें कि मैच डिस्टेंस सिम्बल्स 2-29 के लिए, अतिरिक्त बिट्स की संख्या की गणना <math>\left\lfloor\frac{n}{2}\right\rfloor-1</math> प्रकार की जा सकती है .


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


== एनकोडर/कंप्रेसर ==
== एनकोडर/कंप्रेसर ==
कम्प्रेशन चरण के दौरान, यह एनकोडर है जो मिलान स्ट्रिंग की तलाश में बिताए गए समय की मात्रा को चुनता है। Zlib/gzip [[संदर्भ कार्यान्वयन]] उपयोगकर्ता को संभावित परिणामी कम्प्रेशन-स्तर बनाम एन्कोडिंग की गति के स्लाइडिंग पैमाने से चयन करने की अनुमति देता है। विकल्प <code>0</code> से लेकर होते हैं  (कम्प्रेशन का प्रयास न करें, केवल अकंप्रेस्ड आर्चिविंग करें)<code>9</code> 9 तक होते हैं जो zlib/gzip में संदर्भ कार्यान्वयन की अधिकतम क्षमता का प्रतिनिधित्व करते हैं।
कम्प्रेशन चरण के समय, यह एनकोडर है जो मैच स्ट्रिंग की अनुसंधान में बिताए गए समय की मात्रा को चुनता है। Zlib/gzip [[संदर्भ कार्यान्वयन]] उपयोगकर्ता को संभावित परिणामी कम्प्रेशन-स्तर बनाम एन्कोडिंग की गति के स्लाइडिंग पैमाने से चयन करने की अनुमति देता है। विकल्प <code>0</code> से लेकर (कम्प्रेशन का प्रयास न करें, केवल अकंप्रेस्ड आर्चिविंग करें) <code>9</code> तक होते हैं जो zlib/gzip में संदर्भ कार्यान्वयन की अधिकतम क्षमता का प्रतिनिधित्व करते हैं।


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


=== डिफ्लेट64/इन्हैंस्ड डिफ्लेट ===
=== डिफ्लेट64/इन्हैंस्ड डिफ्लेट ===
PKWARE द्वारा निर्दिष्ट डिफ्लेट64, डिफ्लेट का एक मालिकाना संस्करण है। यह मूल रूप से वही एल्गोरिदम है। जो परिवर्तन हुआ है वह है शब्दकोश का आकार 32 केबी से बढ़ाकर 64 केबी, दूरी कोड को 16 बिट तक विस्तारित करना ताकि वे 64 केबी की सीमा को संबोधित कर सकें, और लंबाई कोड, जिसे 16 बिट तक बढ़ाया गया है ताकि यह तीन से 65,538 बाइट्स की लंबाई को परिभाषित कर सके।<ref>{{Cite web |url=http://www.binaryessence.com/dct/imp/en000225.htm |title=Binary Essence – Deflate64 |access-date=22 May 2011 |archive-url=https://web.archive.org/web/20170621195505/http://www.binaryessence.com/dct/imp/en000225.htm |archive-date=21 June 2017 |url-status=bot: unknown }}</ref> इसके कारण डिफ्लेट64 का कम्प्रेशन समय लंबा हो जाता है, और संभावित रूप से डिफ्लेट की तुलना में थोड़ा अधिक कम्प्रेशन अनुपात होता है।<ref>{{Cite web |url=http://www.binaryessence.com/dct/apc/en000263.htm |title=Binary Essence – "Calgary Corpus" compression comparisons |access-date=22 May 2011 |archive-url=https://web.archive.org/web/20171227131819/http://www.binaryessence.com/dct/apc/en000263.htm |archive-date=27 December 2017 |url-status=bot: unknown }}</ref> कई मुफ़्त और/या ओपन सोर्स प्रोजेक्ट्स डिफ्लेट64 का समर्थन करते हैं, जैसे [[7-ज़िप]],<ref>{{Cite web|url=https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm|title=-एम (संपीड़न विधि सेट करें) स्विच|website=sevenzip.osdn.jp}}</ref> जबकि अन्य, जैसे [[zlib]], प्रक्रिया की स्वामित्व प्रकृति के परिणामस्वरूप ऐसा नहीं करते हैं<ref>History of Lossless Data Compression Algorithms – [http://ieeeghn.org/wiki/index.php/History_of_Lossless_Data_Compression_Algorithms#DEFLATE64 Deflate64]</ref> और डिफ्लेट की तुलना में प्रदर्शन में बहुत मामूली वृद्धि हुई।<ref>zlib FAQ – [https://www.zlib.net/zlib_faq.html#faq40 Does zlib support the new "Deflate64" format introduced by PKWare?]</ref>
PKWARE द्वारा निर्दिष्ट डिफ्लेट64, डिफ्लेट का एक संपदा संस्करण है। यह मूल रूप से वही एल्गोरिदम है, जो परिवर्तन हुआ है वह है शब्दकोश का आकार 32 केबी से बढ़ाकर 64 केबी, डिस्टेंस कोड को 16 बिट तक विस्तारित करना ताकि वे 64 केबी की सीमा को संबोधित कर सकें, और लंबाई कोड, जिसे 16 बिट तक बढ़ाया गया है ताकि यह तीन से 65,538 बाइट्स की लंबाई को परिभाषित कर सके।<ref>{{Cite web |url=http://www.binaryessence.com/dct/imp/en000225.htm |title=Binary Essence – Deflate64 |access-date=22 May 2011 |archive-url=https://web.archive.org/web/20170621195505/http://www.binaryessence.com/dct/imp/en000225.htm |archive-date=21 June 2017 |url-status=bot: unknown }}</ref> इसके कारण डिफ्लेट64 का कम्प्रेशन समय लंबा हो जाता है, और संभावित रूप से डिफ्लेट की तुलना में थोड़ा अधिक कम्प्रेशन अनुपात होता है।<ref>{{Cite web |url=http://www.binaryessence.com/dct/apc/en000263.htm |title=Binary Essence – "Calgary Corpus" compression comparisons |access-date=22 May 2011 |archive-url=https://web.archive.org/web/20171227131819/http://www.binaryessence.com/dct/apc/en000263.htm |archive-date=27 December 2017 |url-status=bot: unknown }}</ref> कई निर्बाध और/या ओपन सोर्स प्रोजेक्ट्स डिफ्लेट64 का समर्थन करते हैं, जैसे [[7-ज़िप]],<ref>{{Cite web|url=https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm|title=-एम (संपीड़न विधि सेट करें) स्विच|website=sevenzip.osdn.jp}}</ref> जबकि अन्य, जैसे [[zlib]], प्रक्रिया की स्वामित्व प्रकृति के परिणामस्वरूप ऐसा नहीं करते हैं<ref>History of Lossless Data Compression Algorithms – [http://ieeeghn.org/wiki/index.php/History_of_Lossless_Data_Compression_Algorithms#DEFLATE64 Deflate64]</ref> और डिफ्लेट की तुलना में प्रदर्शन में बहुत सामान्य वृद्धि हुई है।<ref>zlib FAQ – [https://www.zlib.net/zlib_faq.html#faq40 Does zlib support the new "Deflate64" format introduced by PKWare?]</ref>
== नए सॉफ्टवेयर में डिफ्लेट का उपयोग ==
== नए सॉफ्टवेयर में डिफ्लेट का उपयोग ==
डिफ्लेट का कार्यान्वयन कई भाषाओं में निःशुल्क उपलब्ध है। C (प्रोग्रामिंग भाषा) में लिखे गए ऐप्स आमतौर पर zlib लाइब्रेरी (अनुमेय zlib लाइसेंस के तहत) का उपयोग करते हैं। [[बोर्लैंड पास्कल]] (और संगत भाषाओं) में ऐप्स paszlib का उपयोग कर सकते हैं। [[C++]] में ऐप्स 7-ज़िप में बेहतर डिफ्लेट लाइब्रेरी का लाभ उठा सकते हैं। [[जावा (सॉफ़्टवेयर प्लेटफ़ॉर्म)]] और .NET फ़्रेमवर्क दोनों अपने पुस्तकालयों में डिफ्लेट के लिए आउट-ऑफ़-द-बॉक्स समर्थन प्रदान करते हैं (क्रमशः, <code>java.util.zip</code> और [https://docs.microsoft.com/en-us/dotnet/api/system.io.compression.deflatestream System.IO.Compression])। Ada (प्रोग्रामिंग भाषा) में ऐप्स [http://unzip-ada.sourceforge.net/ Zip-Ada] (शुद्ध) या [http://zlib-ada.sourceforge.net/ ZLib-Ada] का उपयोग कर सकते हैं।
डिफ्लेट का कार्यान्वयन कई भाषाओं में निःशुल्क उपलब्ध है। C (प्रोग्रामिंग भाषा) में लिखे गए ऐप्स सामान्यतः zlib लाइब्रेरी (अनुमेय zlib लाइसेंस के तहत) का उपयोग करते हैं। [[बोर्लैंड पास्कल]] (और संगत भाषाओं) में ऐप्स paszlib का उपयोग कर सकते हैं। [[C++]] में ऐप्स 7-ज़िप में बेहतर डिफ्लेट लाइब्रेरी का लाभ उठा सकते हैं। [[जावा (सॉफ़्टवेयर प्लेटफ़ॉर्म)]] और .NET फ़्रेमवर्क दोनों अपने लाइब्रेरीज में डिफ्लेट के लिए आउट-ऑफ़-द-बॉक्स समर्थन प्रदान करते हैं (क्रमशः, <code>java.util.zip</code> और [https://docs.microsoft.com/en-us/dotnet/api/system.io.compression.deflatestream System.IO.Compression])। Ada (प्रोग्रामिंग भाषा) में ऐप्स [http://unzip-ada.sourceforge.net/ Zip-Ada] (शुद्ध) या [http://zlib-ada.sourceforge.net/ ZLib-Ada] का उपयोग कर सकते हैं।


=== एनकोडर कार्यान्वयन ===
=== एनकोडर कार्यान्वयन ===
* PKZIP: पहला कार्यान्वयन, मूल रूप से PKZip के हिस्से के रूप में फिल काट्ज़ द्वारा किया गया
* PKZIP: पहला कार्यान्वयन, मूल रूप से PKZip के भाग के रूप में फिल काट्ज़ द्वारा किया गया
* zlib: इसके ओपन-सोर्स, अनुमेय लाइसेंस के कारण कई ऐप्स में मानक संदर्भ कार्यान्वयन अपनाया गया है। उच्च-प्रदर्शन वाले फ़ोर्क्स के लिए {{section link|Zlib#Forks}} देखें।
* zlib: इसके ओपन-सोर्स, अनुमेय लाइसेंस के कारण कई ऐप्स में मानक संदर्भ कार्यान्वयन अपनाया गया है। उच्च-प्रदर्शन वाले फ़ोर्क्स के लिए {{section link|Zlib#Forks}} देखें।
* [[क्रिप्टो++]]: संभावित [[भेद्यता (कंप्यूटिंग)]] को कम करने के उद्देश्य से C++ में एक सार्वजनिक-डोमेन कार्यान्वयन सम्मिलित है। लेखक, वेई दाई कहते हैं "यह कोड कम चतुर है, लेकिन उम्मीद है कि [zlib की तुलना में] अधिक समझने योग्य और रखरखाव योग्य है"।
* [[क्रिप्टो++]]: संभावित [[भेद्यता (कंप्यूटिंग)]] को कम करने के उद्देश्य से C++ में एक सार्वजनिक-डोमेन कार्यान्वयन सम्मिलित है। लेखक, वेई दाई कहते हैं "यह कोड कम चतुर है, लेकिन उम्मीद है कि [zlib की तुलना में] अधिक समझने योग्य और रखरखाव योग्य है"।
* 7-ज़िप: C++ में इगोर पावलोव द्वारा लिखित, यह संस्करण स्वतंत्र रूप से लाइसेंस प्राप्त है और सीपीयू उपयोग की कीमत पर zlib की तुलना में उच्च कम्प्रेशन प्राप्त करता है। डिफ्लेट64 आर्चिव फॉर्मेट का उपयोग करने का विकल्प है।
* 7-ज़िप: C++ में इगोर पावलोव द्वारा लिखित, यह संस्करण स्वतंत्र रूप से लाइसेंस प्राप्त है और सीपीयू उपयोग की कीमत पर zlib की तुलना में उच्च कम्प्रेशन प्राप्त करता है। डिफ्लेट64 आर्चिव फॉर्मेट का उपयोग करने का विकल्प है।
* पुटी 'sshzlib.c': साइमन टैथम द्वारा [[मेरा लाइसेंस|एमआईटी  लाइसेंस]] के तहत एक स्टैंडअलोन कार्यान्वयन, इसमें पूर्ण डिकोडिंग क्षमता है, लेकिन केवल स्टेटिक ट्री निर्माण का समर्थन करता है
* पुटी 'sshzlib.c': साइमन टैथम द्वारा [[मेरा लाइसेंस|एमआईटी  लाइसेंस]] के तहत एक स्टैंडअलोन कार्यान्वयन, इसमें पूर्ण डिकोडिंग क्षमता है, लेकिन केवल स्टेटिक ट्री निर्माण का समर्थन करता है
* लिबफ़्लेट:<ref>{{Cite web |url=http://plan9.bell-labs.com/sources/plan9/sys/src/libflate/ |title=Plan 9 from Bell Labs's /n/sources/plan9/sys/src/libflate |website=plan9.bell-labs.com |publisher=Lucent Technologies |archive-date=2006-03-15 |archive-url=https://web.archive.org/web/20060315063934/http://plan9.bell-labs.com/sources/plan9/sys/src/libflate/ |url-status=dead }}</ref> बेल लैब्स की योजना 9 का हिस्सा, डिफ्लेट कम्प्रेशन को लागू करता है
* लिबफ़्लेट:<ref>{{Cite web |url=http://plan9.bell-labs.com/sources/plan9/sys/src/libflate/ |title=Plan 9 from Bell Labs's /n/sources/plan9/sys/src/libflate |website=plan9.bell-labs.com |publisher=Lucent Technologies |archive-date=2006-03-15 |archive-url=https://web.archive.org/web/20060315063934/http://plan9.bell-labs.com/sources/plan9/sys/src/libflate/ |url-status=dead }}</ref> बेल लैब्स की योजना 9 का भाग, डिफ्लेट कम्प्रेशन को लागू करता है
* हाइपरबैक: डिफ्लेट64 स्टोरेज फॉर्मेट को लागू करने के विकल्प के साथ अपनी स्वयं की मालिकाना कम्प्रेशन लाइब्रेरी (C++ और असेंबली में) का उपयोग करता है
* हाइपरबैक: डिफ्लेट64 स्टोरेज फॉर्मेट को लागू करने के विकल्प के साथ अपनी स्वयं की मालिकाना कम्प्रेशन लाइब्रेरी (C++ और असेंबली में) का उपयोग करता है
* [[Zopfli]]: [[Google]] द्वारा [[अपाचे लाइसेंस]] के तहत C कार्यान्वयन; सीपीयू उपयोग की कीमत पर उच्चतम कम्प्रेशन प्राप्त करता है। ZopfliPNG पोर्टेबल नेटवर्क ग्राफ़िक्स फ़ाइलों के साथ उपयोग के लिए Zopfli का एक रूप है।
* [[Zopfli]]: [[Google]] द्वारा [[अपाचे लाइसेंस]] के तहत C कार्यान्वयन; सीपीयू उपयोग की कीमत पर उच्चतम कम्प्रेशन प्राप्त करता है। ZopfliPNG पोर्टेबल नेटवर्क ग्राफ़िक्स फ़ाइलों के साथ उपयोग के लिए Zopfli का एक रूप है।
Line 85: Line 85:
* एएचए 361-पीसीआई/एएचए362-पीसीआई एक्स [http://www.aha.com/ कॉमटेक एएचए] से {{Webarchive|url=https://web.archive.org/web/20061208005415/http://www.aha.com/ |date=2006-12-08 }}. कॉमटेक ने एक [[पीसीआई-एक्स]] कार्ड (पीसीआई-आईडी) तैयार किया: <code>193f:0001</code>) आने वाले इनकंप्रेसिब्ल डेटा के लिए 3.0 जीबी/एस (375 एमबी/एस) तक की दर पर डिफ्लेट का उपयोग करके स्ट्रीम को कंप्रेस्ड करने में सक्षम है। AHA361-PCIX के लिए [[लिनक्स (कर्नेल)]] [[डिवाइस ड्राइवर]] के साथ एक है<code>ahagzip</code>उपयोगिता और अनुकूलित<code>mod_डिफ्लेट_aha</code>[[अपाचे HTTP सर्वर]] से हार्डवेयर कम्प्रेशन का उपयोग करने में सक्षम। हार्डवेयर [[Xilinx]] Virtex ([[FPGA]]) FPGA और चार कस्टम AHA3601 एप्लिकेशन-विशिष्ट एकीकृत सर्किट पर आधारित है। AHA361/AHA362 बोर्ड केवल स्टेटिक हफ़मैन ब्लॉकों को संभालने तक ही सीमित हैं और समर्थन जोड़ने के लिए सॉफ़्टवेयर को संशोधित करने की आवश्यकता होती है - कार्ड पूर्ण डिफ्लेट विनिर्देश का समर्थन करने में सक्षम नहीं थे, जिसका अर्थ है कि वे केवल अपने स्वयं के आउटपुट को विश्वसनीय रूप से डीकोड कर सकते हैं (एक स्ट्रीम जिसमें कोई डायनामिक हफ़मैन प्रकार 2 ब्लॉक सम्मिलित नहीं थे)।
* एएचए 361-पीसीआई/एएचए362-पीसीआई एक्स [http://www.aha.com/ कॉमटेक एएचए] से {{Webarchive|url=https://web.archive.org/web/20061208005415/http://www.aha.com/ |date=2006-12-08 }}. कॉमटेक ने एक [[पीसीआई-एक्स]] कार्ड (पीसीआई-आईडी) तैयार किया: <code>193f:0001</code>) आने वाले इनकंप्रेसिब्ल डेटा के लिए 3.0 जीबी/एस (375 एमबी/एस) तक की दर पर डिफ्लेट का उपयोग करके स्ट्रीम को कंप्रेस्ड करने में सक्षम है। AHA361-PCIX के लिए [[लिनक्स (कर्नेल)]] [[डिवाइस ड्राइवर]] के साथ एक है<code>ahagzip</code>उपयोगिता और अनुकूलित<code>mod_डिफ्लेट_aha</code>[[अपाचे HTTP सर्वर]] से हार्डवेयर कम्प्रेशन का उपयोग करने में सक्षम। हार्डवेयर [[Xilinx]] Virtex ([[FPGA]]) FPGA और चार कस्टम AHA3601 एप्लिकेशन-विशिष्ट एकीकृत सर्किट पर आधारित है। AHA361/AHA362 बोर्ड केवल स्टेटिक हफ़मैन ब्लॉकों को संभालने तक ही सीमित हैं और समर्थन जोड़ने के लिए सॉफ़्टवेयर को संशोधित करने की आवश्यकता होती है - कार्ड पूर्ण डिफ्लेट विनिर्देश का समर्थन करने में सक्षम नहीं थे, जिसका अर्थ है कि वे केवल अपने स्वयं के आउटपुट को विश्वसनीय रूप से डीकोड कर सकते हैं (एक स्ट्रीम जिसमें कोई डायनामिक हफ़मैन प्रकार 2 ब्लॉक सम्मिलित नहीं थे)।
* [http://www.dranetworks.com/SC300.html StorCompress 300]/[http://www.dranetworks.com/SCMX3.html MX3] [http://www.dranetworks.com/ इंद्रा नेटवर्क्स] से। यह [[पीसीआई लोकल बस]] की एक श्रृंखला है (पीसीआई-आईडी: <code>17b4:0011</code>) या PCI-X कार्ड जिसमें एक से छह कम्प्रेशन इंजन होते हैं जिनकी प्रोसेसिंग गति 3.6 Gbit/s (450 MB/s) तक होने का दावा किया जाता है। कार्ड का एक संस्करण अलग ब्रांड WebEnhance के साथ उपलब्ध है जो विशेष रूप से [[संरक्षण क्षेत्र नियंत्रण कार्य]] या बैकअप उपयोग के बजाय वेब-सर्विंग उपयोग के लिए डिज़ाइन किया गया है; एक [[PCIe]] संशोधन, [http://www.indanetworks.com/SCMX4E.html MX4E] भी तैयार किया गया है।
* [http://www.dranetworks.com/SC300.html StorCompress 300]/[http://www.dranetworks.com/SCMX3.html MX3] [http://www.dranetworks.com/ इंद्रा नेटवर्क्स] से। यह [[पीसीआई लोकल बस]] की एक श्रृंखला है (पीसीआई-आईडी: <code>17b4:0011</code>) या PCI-X कार्ड जिसमें एक से छह कम्प्रेशन इंजन होते हैं जिनकी प्रोसेसिंग गति 3.6 Gbit/s (450 MB/s) तक होने का दावा किया जाता है। कार्ड का एक संस्करण अलग ब्रांड WebEnhance के साथ उपलब्ध है जो विशेष रूप से [[संरक्षण क्षेत्र नियंत्रण कार्य]] या बैकअप उपयोग के बजाय वेब-सर्विंग उपयोग के लिए डिज़ाइन किया गया है; एक [[PCIe]] संशोधन, [http://www.indanetworks.com/SCMX4E.html MX4E] भी तैयार किया गया है।
* [https://web.archive.org/web/20080912222617/http://www.aha.com/show_prod.php?id=36 AHA363-PCIe]/[https://web.archive.org/web/20090212202014/http://www.aha.com/show_prod.php?id=37 AHA364-PCI e]/[https://web.archive.org/web/20090820184941/http://www.aha.com/show_prod.php?id=38 AHA367-PCIe]। 2008 में, कॉमटेक ने दो PCIe कार्ड का उत्पादन शुरू किया (<code>PCI-ID: 193f:0363</code>/<code>193f:0364</code>) एक नए हार्डवेयर AHA3610 एनकोडर चिप के साथ। नई चिप को निरंतर 2.5 Gbit/s में सक्षम होने के लिए डिज़ाइन किया गया था। इनमें से दो चिप्स का उपयोग करके, AHA363-PCIe बोर्ड दो चैनलों (दो कम्प्रेशन और दो डीकंप्रेसन) का उपयोग करके 5.0 Gbit/s (625 MB/s) तक की दर पर डिफ्लेट को संसाधित कर सकता है। AHA364-PCIe वैरिएंट आउट-गोइंग [[ भार संतुलन ]]्स के लिए डिज़ाइन किए गए कार्ड का एक एन्कोड-केवल संस्करण है और इसके बजाय दो भौतिक कम्प्रेशन इंजनों को खिलाने वाले 32 स्वतंत्र वर्चुअल कम्प्रेशन चैनलों की अनुमति देने के लिए कई रजिस्टर सेट हैं। लिनक्स, [[ माइक्रोसॉफ़्ट विंडोज़ ]] और [[ ओपनसोलर ]] कर्नेल डिवाइस ड्राइवर संशोधित zlib सिस्टम लाइब्रेरी के साथ दोनों नए कार्डों के लिए उपलब्ध हैं ताकि डायनामिक रूप से लिंक किए गए एप्लिकेशन आंतरिक संशोधन के बिना स्वचालित रूप से हार्डवेयर समर्थन का उपयोग कर सकें। AHA367-PCIe बोर्ड (<code>PCI-ID: 193f:0367</code>) AHA363-PCIe के समान है लेकिन 10 Gbit/s (1250 MB/s) की निरंतर कम्प्रेशन दर के लिए चार AHA3610 चिप्स का उपयोग करता है। AHA362-PCIX के विपरीत, AHA363-PCIe और AHA367-PCIe बोर्ड पर डीकंप्रेसन इंजन पूरी तरह से डिफ्लेट के अनुरूप हैं।
* [https://web.archive.org/web/20080912222617/http://www.aha.com/show_prod.php?id=36 AHA363-PCIe]/[https://web.archive.org/web/20090212202014/http://www.aha.com/show_prod.php?id=37 AHA364-PCI e]/[https://web.archive.org/web/20090820184941/http://www.aha.com/show_prod.php?id=38 AHA367-PCIe]। 2008 में, कॉमटेक ने दो PCIe कार्ड का उत्पादन प्रारम्भ किया (<code>PCI-ID: 193f:0363</code>/<code>193f:0364</code>) एक नए हार्डवेयर AHA3610 एनकोडर चिप के साथ। नई चिप को निरंतर 2.5 Gbit/s में सक्षम होने के लिए डिज़ाइन किया गया था। इनमें से दो चिप्स का उपयोग करके, AHA363-PCIe बोर्ड दो चैनलों (दो कम्प्रेशन और दो डीकंप्रेसन) का उपयोग करके 5.0 Gbit/s (625 MB/s) तक की दर पर डिफ्लेट को संसाधित कर सकता है। AHA364-PCIe वैरिएंट आउट-गोइंग [[ भार संतुलन ]]्स के लिए डिज़ाइन किए गए कार्ड का एक एन्कोड-केवल संस्करण है और इसके बजाय दो भौतिक कम्प्रेशन इंजनों को खिलाने वाले 32 स्वतंत्र वर्चुअल कम्प्रेशन चैनलों की अनुमति देने के लिए कई रजिस्टर सेट हैं। लिनक्स, [[ माइक्रोसॉफ़्ट विंडोज़ ]] और [[ ओपनसोलर ]] कर्नेल डिवाइस ड्राइवर संशोधित zlib सिस्टम लाइब्रेरी के साथ दोनों नए कार्डों के लिए उपलब्ध हैं ताकि डायनामिक रूप से लिंक किए गए एप्लिकेशन आंतरिक संशोधन के बिना स्वचालित रूप से हार्डवेयर समर्थन का उपयोग कर सकें। AHA367-PCIe बोर्ड (<code>PCI-ID: 193f:0367</code>) AHA363-PCIe के समान है लेकिन 10 Gbit/s (1250 MB/s) की निरंतर कम्प्रेशन दर के लिए चार AHA3610 चिप्स का उपयोग करता है। AHA362-PCIX के विपरीत, AHA363-PCIe और AHA367-PCIe बोर्ड पर डीकंप्रेसन इंजन पूरी तरह से डिफ्लेट के अनुरूप हैं।
* [https://web.archive.org/web/20101203144755/http://www.cavium.com/processor_security_nitrox-III.html Nitrox] और [https://github.com/zerix/Cavium-SDK-2.0 /ट्री/मास्टर/उदाहरण/ज़िप ऑक्टियन]{{Dead link|date=November 2019 |bot=InternetArchiveBot |fix-attempted=yes }} [http://cavium.com कैवियम, इंक.] के प्रोसेसर में ZLIB और GZIP दोनों के साथ संगत हाई-स्पीड हार्डवेयर डिफ्लेट और इनफ्लेट इंजन होते हैं, साथ ही कुछ डिवाइस एक साथ कई डेटा स्ट्रीम को संभालने में सक्षम होते हैं।
* [https://web.archive.org/web/20101203144755/http://www.cavium.com/processor_security_nitrox-III.html Nitrox] और [https://github.com/zerix/Cavium-SDK-2.0 /ट्री/मास्टर/उदाहरण/ज़िप ऑक्टियन]{{Dead link|date=November 2019 |bot=InternetArchiveBot |fix-attempted=yes }} [http://cavium.com कैवियम, इंक.] के प्रोसेसर में ZLIB और GZIP दोनों के साथ संगत हाई-स्पीड हार्डवेयर डिफ्लेट और इनफ्लेट इंजन होते हैं, साथ ही कुछ डिवाइस एक साथ कई डेटा स्ट्रीम को संभालने में सक्षम होते हैं।
* [https://github.com/tomtor/HDL-deflate HDL-डिफ्लेट] जीपीएल एफपीजीए कार्यान्वयन।
* [https://github.com/tomtor/HDL-deflate HDL-डिफ्लेट] जीपीएल एफपीजीए कार्यान्वयन।
*[https://www.cast-inc.com/compression/gzip-losless-data-compression/zipaccel-c/ ZipAccel-C] से [https://www.cast-inc.com/ CAST Inc]। यह एक सिलिकॉन आईपी कोर है जो डिफ्लेट, ज़लिब और जीज़िप कम्प्रेशन का समर्थन करता है। ZipAccel-C को एप्लिकेशन-विशिष्ट एकीकृत सर्किट या [[क्षेत्र में प्रोग्राम की जा सकने वाली द्वार श्रंखला]] में कार्यान्वित किया जा सकता है, जो डायनेमिक और स्टेटिक हफ़मैन टेबल दोनों का समर्थन करता है, और 100Gbps से अधिक थ्रूपुट प्रदान कर सकता है। कंपनी Intel FPGA ([https://www.cast-inc.com/compression/gzip-losless-data-compression/gzip-rd-int/ ZipAccel-RD-INT]) के लिए कंप्रेशन/डीकंप्रेसन एक्सेलेरेटर बोर्ड संदर्भ डिज़ाइन प्रदान करती है। और Xilinx FPGAs ([https://www.cast-inc.com/compression/gzip-losless-data-compression/gzip-rd-xil/ ZipAccel-RD-XIL])।
*[https://www.cast-inc.com/compression/gzip-losless-data-compression/zipaccel-c/ ZipAccel-C] से [https://www.cast-inc.com/ CAST Inc]। यह एक सिलिकॉन आईपी कोर है जो डिफ्लेट, ज़ेडलिब और जीज़िप कम्प्रेशन का समर्थन करता है। ZipAccel-C कोASIC या FPGAs में कार्यान्वित किया जा सकता है, यह डायनामिक और स्टेटिक हफ़मैन दोनों तालिकाओं का समर्थन करता है, और 100Gbps से अधिक थ्रूपुट प्रदान कर सकता है। कंपनी Intel FPGA (ZipAccel-RD-INT) और Xilinx FPGAs (ZipAccel-RD-XIL) के लिए कंप्रेशन/डीकंप्रेसन एक्सेलेरेटर बोर्ड संदर्भ डिज़ाइन प्रदान करती है।।
* Intel [[Xeon]] E5-2600 और E5-2400 प्रोसेसर सीरीज (सैंडी ब्रिज-EP/EN) के लिए Intel Xeon चिपसेट (केव क्रीक) QuickAssist Technology का उपयोग करके हार्डवेयर कम्प्रेशन और डीकंप्रेसन का समर्थन करता है। चिपसेट के आधार पर, 5Gbit/s, 10Gbit/s, या 20Gbit/s की कम्प्रेशन और डीकंप्रेसन दरें उपलब्ध हैं।<ref name="quickassist">{{cite web
*CAST Inc. से ZipAccel-C। यह एक सिलिकॉन आईपी कोर है जो डिफ्लेट, ज़ेडलिब और जीज़िप संपीड़न का समर्थन करता है। ZipAccel-C को
* Intel [[Xeon]] E5-2600 और E5-2400 प्रोसेसर सीरीज (सैंडी ब्रिज-EP/EN) के लिए इंटेल कम्युनिकेशंस चिपसेट 89xx सीरीज (केव क्रीक) QuickAssist Technology का उपयोग करके हार्डवेयर कम्प्रेशन और डीकंप्रेसन का समर्थन करता है। चिपसेट के आधार पर, 5Gbit/s, 10Gbit/s, या 20Gbit/s की कम्प्रेशन और डीकंप्रेसन दरें उपलब्ध हैं।<ref name="quickassist">{{cite web
|url=https://www-ssl.intel.com/content/www/us/en/intelligent-systems/crystal-forest-server/embedded-intel-xeon-e5-2600-and-e5-2400-series-with-intel-communications-chipset-89xx.html
|url=https://www-ssl.intel.com/content/www/us/en/intelligent-systems/crystal-forest-server/embedded-intel-xeon-e5-2600-and-e5-2400-series-with-intel-communications-chipset-89xx.html
|title=Intel® Xeon® Processor E5-2600 and E5-2400 Series with Intel® Communications Chipset 89xx Series
|title=Intel® Xeon® Processor E5-2600 and E5-2400 Series with Intel® Communications Chipset 89xx Series
|access-date=2016-05-18
|access-date=2016-05-18
}}</ref>
}}</ref>
* IBM z15 (माइक्रोप्रोसेसर) CPU में RFC1951 द्वारा निर्दिष्ट हार्डवेयर डिफ्लेट कम्प्रेशन और डीकंप्रेसन के लिए z14 सिस्टम में उपयोग किए जाने वाले zEDC एक्सप्रेस I/O विस्तार कार्ड से नेस्ट एक्सेलेरेटर यूनिट (NXU) हार्डवेयर त्वरण का एक उन्नत संस्करण सम्मिलित है।<ref name="z15_announce">{{cite web
*IBM z15 (माइक्रोप्रोसेसर) CPU में RFC1951 द्वारा निर्दिष्ट हार्डवेयर डिफ्लेट कम्प्रेशन और डीकंप्रेसन के लिए z14 सिस्टम में उपयोग किए जाने वाले zEDC एक्सप्रेस I/O विस्तार कार्ड से नेस्ट एक्सेलेरेटर यूनिट (NXU) हार्डवेयर त्वरण का एक उन्नत संस्करण सम्मिलित है।<ref name="z15_announce">{{cite web
|url=https://www.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&supplier=877&letternum=ENUSZG19-0041
|url=https://www.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&supplier=877&letternum=ENUSZG19-0041
|title=IBM z15 का परिचय - मिशन-क्रिटिकल हाइब्रिड मल्टीक्लाउड के लिए एंटरप्राइज़ प्लेटफ़ॉर्म|website=[[IBM]]
|title=IBM z15 का परिचय - मिशन-क्रिटिकल हाइब्रिड मल्टीक्लाउड के लिए एंटरप्राइज़ प्लेटफ़ॉर्म|website=[[IBM]]
Line 107: Line 108:
|date=28 April 2021
|date=28 April 2021
}}</ref>
}}</ref>
* [[POWER9]] आर्किटेक्चर के साथ शुरुआत करते हुए, IBM ने [[POWER7]]|POWER7+ के साथ पेश किए गए पूर्व क्रिप्टो-केंद्रित नेस्ट एक्सेलेरेटर (NX) कोर में डिफ्लेट (जैसा कि RFC 1951 द्वारा निर्दिष्ट किया गया है) को कंप्रेस्ड और डीकंप्रेस करने के लिए हार्डवेयर समर्थन जोड़ा। यह समर्थन zlibNX लाइब्रेरी के माध्यम से [[IBM AIX]] 7.2 टेक्नोलॉजी लेवल 4 एक्सपेंशन पैक या AIX 7.2 टेक्नोलॉजी लेवल 5 सर्विस पैक 2 के साथ चलने वाले प्रोग्रामों के लिए उपलब्ध है।
* [[POWER9]] आर्किटेक्चर के साथ प्रारम्भ करते हुए, IBM ने [[POWER7|POWER7+]] के साथ पेश किए गए पूर्व क्रिप्टो-केंद्रित नेस्ट एक्सेलेरेटर (NX) कोर में डिफ्लेट (जैसा कि RFC 1951 द्वारा निर्दिष्ट किया गया है) को कंप्रेस्ड और डीकंप्रेस करने के लिए हार्डवेयर समर्थन जोड़ा। यह समर्थन zlibNX लाइब्रेरी के माध्यम से [[IBM AIX]] 7.2 टेक्नोलॉजी लेवल 4 एक्सपेंशन पैक या AIX 7.2 टेक्नोलॉजी लेवल 5 सर्विस पैक 2 के साथ चलने वाले प्रोग्रामों के लिए उपलब्ध है।
रेफरी नाम= zlibnx >{{cite web
रेफरी नाम= zlibnx >{{cite web
|url=https://www.ibm.com/docs/en/aix/7.2?topic=management-data-compression-by-using-zlibnx-library
|url=https://www.ibm.com/docs/en/aix/7.2?topic=management-data-compression-by-using-zlibnx-library
Line 143: Line 144:


=== हार्डवेयर डिकोडर ===
=== हार्डवेयर डिकोडर ===
* [https://web.archive.org/web/20171010000403/http://www.bitsim.com/en/our-design-model/#Blocks सीरियल इन्फ्लेट जीपीयू] BitSim से। इन्फ्लेट का हार्डवेयर कार्यान्वयन। एम्बेडेड सिस्टम के लिए बिटसिम के BADGE (बिटसिम एक्सेलेरेटेड डिस्प्ले ग्राफिक्स इंजन) नियंत्रक की पेशकश का हिस्सा।
* [https://web.archive.org/web/20171010000403/http://www.bitsim.com/en/our-design-model/#Blocks सीरियल इन्फ्लेट जीपीयू] BitSim से। इन्फ्लेट का हार्डवेयर कार्यान्वयन। एम्बेडेड सिस्टम के लिए बिटसिम के BADGE (बिटसिम एक्सेलेरेटेड डिस्प्ले ग्राफिक्स इंजन) नियंत्रक की पेशकश का भाग।
* [https://github.com/tomtor/HDL-deflate HDL-डिफ्लेट] जीपीएल एफपीजीए कार्यान्वयन।
* [https://github.com/tomtor/HDL-deflate HDL-डिफ्लेट] जीपीएल एफपीजीए कार्यान्वयन।
* [https://www.cast-inc.com/compression/gzip-losless-data-compression/zipaccel-d/ ZipAccel-D] से [https://www.cast-inc.com/ CAST Inc]। यह एक सिलिकॉन आईपी कोर है जो डिफ्लेट, ज़लिब और जीज़िप फ़ाइलों के डीकंप्रेसन का समर्थन करता है। ZipAccel-D IP कोर जिसे एप्लिकेशन-विशिष्ट एकीकृत सर्किट या फ़ील्ड-प्रोग्रामेबल गेट ऐरे|FPGAs में कार्यान्वित किया जा सकता है। कंपनी Intel FPGA ([https://www.cast-inc.com/compression/gzip-losless-data-compression/gzip-rd-int/ ZipAccel-RD-INT]) और Xilinx FPGAs ([https://www.cast-inc.com/compression/gzip-losless-data-compression/gzip-rd-xil/ ZipAccel-RD-XIL]) के लिए कंप्रेशन/डीकंप्रेसन एक्सेलेरेटर बोर्ड संदर्भ डिजाइन प्रदान करती है।
* [https://www.cast-inc.com/compression/gzip-losless-data-compression/zipaccel-d/ ZipAccel-D] से [https://www.cast-inc.com/ CAST Inc]। यह एक सिलिकॉन आईपी कोर है जो डिफ्लेट, ज़लिब और जीज़िप फ़ाइलों के डीकंप्रेसन का समर्थन करता है। ZipAccel-D IP कोर जिसे एप्लिकेशन-विशिष्ट एकीकृत सर्किट या फ़ील्ड-प्रोग्रामेबल गेट ऐरे|FPGAs में कार्यान्वित किया जा सकता है। कंपनी Intel FPGA ([https://www.cast-inc.com/compression/gzip-losless-data-compression/gzip-rd-int/ ZipAccel-RD-INT]) और Xilinx FPGAs ([https://www.cast-inc.com/compression/gzip-losless-data-compression/gzip-rd-xil/ ZipAccel-RD-XIL]) के लिए कंप्रेशन/डीकंप्रेसन एक्सेलेरेटर बोर्ड संदर्भ डिजाइन प्रदान करती है।
* IBM z15 (माइक्रोप्रोसेसर) CPU में RFC1951 द्वारा निर्दिष्ट हार्डवेयर डिफ्लेट कम्प्रेशन और डीकंप्रेसन के लिए z14 सिस्टम में उपयोग किए जाने वाले zEDC एक्सप्रेस I/O विस्तार कार्ड से नेस्ट एक्सेलेरेटर यूनिट (NXU) हार्डवेयर त्वरण का एक उन्नत संस्करण सम्मिलित है।<ref name="z15_announce"/><ref name="z15_techmanual"/>* POWER9 आर्किटेक्चर के साथ शुरुआत करते हुए, IBM ने POWER7|POWER7+ के साथ पेश किए गए पूर्व क्रिप्टो-केंद्रित नेस्ट एक्सेलेरेटर (NX) कोर में डिफ्लेट (जैसा कि RFC 1951 द्वारा निर्दिष्ट किया गया है) को कंप्रेस्ड और डीकंप्रेस करने के लिए हार्डवेयर समर्थन जोड़ा। यह समर्थन zlibNX लाइब्रेरी के माध्यम से IBM AIX 7.2 टेक्नोलॉजी लेवल 4 एक्सपेंशन पैक या AIX 7.2 टेक्नोलॉजी लेवल 5 सर्विस पैक 2 के साथ चलने वाले प्रोग्रामों के लिए उपलब्ध है।<ref name="zlibnx"/><ref name="power7_accel"/>
* IBM z15 (माइक्रोप्रोसेसर) CPU में RFC1951 द्वारा निर्दिष्ट हार्डवेयर डिफ्लेट कम्प्रेशन और डीकंप्रेसन के लिए z14 सिस्टम में उपयोग किए जाने वाले zEDC एक्सप्रेस I/O विस्तार कार्ड से नेस्ट एक्सेलेरेटर यूनिट (NXU) हार्डवेयर त्वरण का एक उन्नत संस्करण सम्मिलित है।<ref name="z15_announce"/><ref name="z15_techmanual"/>* POWER9 आर्किटेक्चर के साथ प्रारम्भ करते हुए, IBM ने POWER7|POWER7+ के साथ पेश किए गए पूर्व क्रिप्टो-केंद्रित नेस्ट एक्सेलेरेटर (NX) कोर में डिफ्लेट (जैसा कि RFC 1951 द्वारा निर्दिष्ट किया गया है) को कंप्रेस्ड और डीकंप्रेस करने के लिए हार्डवेयर समर्थन जोड़ा। यह समर्थन zlibNX लाइब्रेरी के माध्यम से IBM AIX 7.2 टेक्नोलॉजी लेवल 4 एक्सपेंशन पैक या AIX 7.2 टेक्नोलॉजी लेवल 5 सर्विस पैक 2 के साथ चलने वाले प्रोग्रामों के लिए उपलब्ध है।<ref name="zlibnx"/><ref name="power7_accel"/>
== यह भी देखें ==
== यह भी देखें ==
* आर्चिविंग फॉर्मेटों की सूची
* आर्चिविंग फॉर्मेटों की सूची

Revision as of 14:26, 7 August 2023

कम्प्यूटिंग में, डिफ्लेट (डिफ्लेट के रूप में शैलीबद्ध) एक लॉसलेस डेटा कम्प्रेशन फ़ाइल फॉर्मेट है जो LZ77_and_LZ78