पी.ए.क्यू.
PAQ दोषरहित डेटा संपीड़न अभिलेखों की श्रृंखला है जो सहयोगात्मक विकास के माध्यम से संपीड़न अनुपात को मापने वाले कई बेंचमार्क पर शीर्ष रैंकिंग तक पहुंच गई है (हालांकि गति और मेमोरी उपयोग की कीमत पर)। पीएक्यू के विशिष्ट संस्करणों ने हटर पुरस्कार और कैलगरी चुनौती जीता है।[1] पीएक्यू जीएनयू जनरल पब्लिक लाइसेंस के तहत वितरित मुफ्त सॉफ्टवेयर है।[2]
एल्गोरिदम
PAQ संदर्भ मिश्रण एल्गोरिथ्म का उपयोग करता है। संदर्भ मिश्रण आंशिक मिलान (पीपीएम) द्वारा भविष्यवाणी से संबंधित है जिसमें कंप्रेसर को भविष्यवक्ता और अंकगणितीय कोडर में विभाजित किया गया है, लेकिन इसमें भिन्नता है कि अगले-प्रतीक भविष्यवाणी की गणना बड़ी संख्या में मॉडल से संभाव्यता अनुमानों के भारित संयोजन का उपयोग करके की जाती है। विभिन्न सन्दर्भों पर आधारित। पीपीएम के विपरीत, किसी संदर्भ को सन्निहित होने की आवश्यकता नहीं है। अधिकांश PAQ संस्करण निम्नलिखित संदर्भों के लिए अगले-प्रतीक आँकड़े एकत्र करते हैं:
- एन-ग्राम|एन-ग्राम; प्रसंग अंतिम है n पूर्वानुमानित प्रतीक से पहले बाइट्स (जैसा कि पीपीएम में);
- संपूर्ण-शब्द एन-ग्राम, केस और गैर-वर्णमाला वर्णों को अनदेखा करना (पाठ फ़ाइलों में उपयोगी);
- विरल संदर्भ, उदाहरण के लिए, अनुमानित प्रतीक से पहले के दूसरे और चौथे बाइट्स (कुछ बाइनरी प्रारूपों में उपयोगी);
- एनालॉग संदर्भ, जिसमें पिछले 8- या 16-बिट शब्दों के उच्च-क्रम बिट्स शामिल हैं (मल्टीमीडिया फ़ाइलों के लिए उपयोगी);
- द्वि-आयामी संदर्भ (छवियों, तालिकाओं और स्प्रेडशीट के लिए उपयोगी); पंक्ति की लंबाई दोहराए जाने वाले बाइट पैटर्न की स्ट्राइड लंबाई ज्ञात करके निर्धारित की जाती है;
- विशेष मॉडल, जैसे x86 निष्पादन योग्य, विंडोज़ बिटमैप , टीआईएफएफ, या जेपीईजी छवियां; ये मॉडल केवल तभी सक्रिय होते हैं जब विशेष फ़ाइल प्रकार का पता लगाया जाता है।
सभी PAQ संस्करण समय में बिट की भविष्यवाणी करते हैं और संपीड़ित करते हैं, लेकिन मॉडल के विवरण और भविष्यवाणियों को संयुक्त और पोस्टप्रोसेस करने के तरीके में भिन्नता होती है। बार जब अगली-बिट संभावना निर्धारित हो जाती है, तो इसे अंकगणितीय कोडिंग द्वारा एन्कोड किया जाता है। संस्करण के आधार पर भविष्यवाणियों के संयोजन की तीन विधियाँ हैं:
- PAQ1 से PAQ3 तक, प्रत्येक पूर्वानुमान को बिट गणनाओं की जोड़ी के रूप में दर्शाया जाता है . इन गणनाओं को भारित योग द्वारा संयोजित किया जाता है, जिसमें लंबे संदर्भों को अधिक महत्व दिया जाता है।
- PAQ4 से PAQ6 में, पूर्वानुमानों को पहले की तरह संयोजित किया जाता है, लेकिन प्रत्येक मॉडल को दिए गए भार को अधिक सटीक मॉडल के पक्ष में समायोजित किया जाता है।
- PAQ7 और बाद में, प्रत्येक मॉडल गिनती की जोड़ी के बजाय संभावना को आउटपुट करता है। संभावनाओं को कृत्रिम तंत्रिका नेटवर्क का उपयोग करके संयोजित किया जाता है।
PAQ1SSE और बाद के संस्करण द्वितीयक प्रतीक अनुमान (SSE) का उपयोग करके भविष्यवाणी को पोस्टप्रोसेस करते हैं। किसी तालिका में नई भविष्यवाणी देखने के लिए संयुक्त भविष्यवाणी और छोटे संदर्भ का उपयोग किया जाता है। बिट एन्कोड होने के बाद, पूर्वानुमान त्रुटि को कम करने के लिए तालिका प्रविष्टि को समायोजित किया जाता है। एसएसई चरणों को विभिन्न संदर्भों के साथ पाइपलाइन किया जा सकता है या औसत आउटपुट के साथ समानांतर में गणना की जा सकती है।
अंकगणित कोडिंग
एक स्ट्रिंग s को सबसे छोटी बाइट स्ट्रिंग में संपीड़ित किया जाता है जो कि [0, 1] रेंज में बेस-256 बड़े एंडियन संख्या x का प्रतिनिधित्व करता है जैसे कि P(r < s) ≤ x < P(r ≤ s), जहां P(r < s) संभावना है कि यादृच्छिक स्ट्रिंग r जिसकी लंबाई s के समान है, शब्दकोषीय क्रम में s से कम होगी। ऐसा x खोजना हमेशा संभव है कि x की लंबाई शोर-चैनल कोडिंग प्रमेय से अधिकतम बाइट लंबी हो, -लॉग2पी(आर = एस) बिट्स. एस की लंबाई संग्रह शीर्षलेख में संग्रहीत है।
PAQ में अंकगणित कोडिंग प्रत्येक भविष्यवाणी के लिए x पर निचली और ऊपरी सीमा को बनाए रखते हुए कार्यान्वित की जाती है, प्रारंभ में [0, 1]। प्रत्येक भविष्यवाणी के बाद, वर्तमान सीमा को P(0) और P(1) के अनुपात में दो भागों में विभाजित किया जाता है, संभावना है कि s का अगला बिट क्रमशः 0 या 1 होगा, s के पिछले बिट्स को देखते हुए। फिर अगली बिट को नई श्रेणी के लिए संबंधित उपश्रेणी का चयन करके एन्कोड किया जाता है।
संख्या x को बिट भविष्यवाणियों की समान श्रृंखला बनाकर वापस स्ट्रिंग s में विघटित किया जाता है (चूंकि s के पिछले बिट्स ज्ञात हैं)। संपीड़न के साथ सीमा को विभाजित किया गया है। x वाला भाग नई श्रेणी बन जाता है, और संबंधित बिट को s से जोड़ दिया जाता है।
PAQ में, सीमा की निचली और ऊपरी सीमा को 3 भागों में दर्शाया गया है। सबसे महत्वपूर्ण आधार-256 अंक समान हैं, इसलिए उन्हें x के अग्रणी बाइट्स के रूप में लिखा जा सकता है। अगले 4 बाइट्स को मेमोरी में रखा जाता है, ताकि प्रमुख बाइट अलग हो। अनुगामी बिट्स को निचली सीमा के लिए सभी शून्य और ऊपरी सीमा के लिए सभी शून्य माना जाता है। निचली सीमा से और बाइट लिखकर संपीड़न समाप्त किया जाता है।
अनुकूली मॉडल भार
PAQ6 के माध्यम से PAQ संस्करणों में, प्रत्येक मॉडल अलग-अलग संदर्भों के सेट को गिनती की जोड़ी में मैप करता है, , शून्य बिट्स की गिनती, और , 1 बिट की गिनती। हाल के इतिहास का पक्ष लेने के लिए, विपरीत बिट देखे जाने पर 2 से अधिक की आधी गिनती को छोड़ दिया जाता है। उदाहरण के लिए, यदि किसी संदर्भ से जुड़ी वर्तमान स्थिति है और 1 देखा जाता है, तो गिनती (7, 4) में अपडेट हो जाती है।
एक बिट को अंकगणितीय रूप से उसकी संभाव्यता के आनुपातिक स्थान के साथ कोडित किया जाता है, या तो P(1) या P(0) = 1 - P(1)। संभावनाओं की गणना 0 और 1 की गणना के भारित योग द्वारा की जाती है:
- एस0 = एसi wiएन0i,
- एस1 = एसi wiएन1i,
- एस = एस0 + एस1,
- पी(0) = एस0 / एस,
- पी(1) = एस1 / एस,
कहाँ डब्ल्यूii-वें मॉडल का वजन है। PAQ3 के माध्यम से, वजन तय किया गया और तदर्थ तरीके से सेट किया गया। (आदेश-एन संदर्भों का भार एन था2.) PAQ4 से शुरुआत करते हुए, वज़न को उस दिशा में अनुकूल रूप से समायोजित किया गया था जो समान संदर्भ सेट में भविष्य की त्रुटियों को कम करेगा। यदि कोड किया जाने वाला बिट y है, तो वजन समायोजन है:
- एनi= एन0i + एन1i,
- त्रुटि = y – P(1),
- डब्ल्यूi← वीi+ [(एस एन1i − एस1 ni) / (एस0 S1)] गलती।
तंत्रिका-नेटवर्क मिश्रण
PAQ7 से शुरू होकर, प्रत्येक मॉडल भविष्यवाणी आउटपुट करता है (गिनती की जोड़ी के बजाय)। ये भविष्यवाणियाँ लॉजिस्टिक डोमेन में औसत हैं:
- एक्सi= खिंचाव(पीi(1)),
- पी(1) = स्क्वैश(Σi wiएक्सi),
जहां P(1) संभावना है कि अगला बिट 1, P होगाi(1) आई-वें मॉडल द्वारा अनुमानित संभावना है, और
- खिंचाव(x) = ln(x / (1 − x)),
- स्क्वैश(x) = 1 / (1 + ई−x) (खिंचाव का उलटा)।
प्रत्येक भविष्यवाणी के बाद, कोडिंग लागत को कम करने के लिए वजन को समायोजित करके मॉडल को अपडेट किया जाता है:
- डब्ल्यूi← वीi+ एक्सi(वाई - पी(1)),
जहां η सीखने की दर है (आमतौर पर 0.002 से 0.01), y अनुमानित बिट है, और (y − P(1)) भविष्यवाणी त्रुटि है। वेट अपडेट एल्गोरिदम पश्चप्रचार से अलग है जिसमें P(1)P(0) शब्द हटा दिए जाते हैं। ऐसा इसलिए है क्योंकि तंत्रिका नेटवर्क का लक्ष्य कोडिंग लागत को कम करना है, न कि मूल माध्य वर्ग त्रुटि।
पीएक्यू के अधिकांश संस्करण तंत्रिका नेटवर्क के लिए वजन के सेट के बीच चयन करने के लिए छोटे संदर्भ का उपयोग करते हैं। कुछ संस्करण एकाधिक नेटवर्क का उपयोग करते हैं जिनके आउटपुट एसएसई चरणों से पहले और नेटवर्क के साथ संयुक्त होते हैं। इसके अलावा, प्रत्येक इनपुट भविष्यवाणी के लिए कई इनपुट हो सकते हैं जो पी के गैर-रेखीय कार्य हैंi(1) खिंचाव के अतिरिक्त (पी(1))।
संदर्भ मॉडलिंग
प्रत्येक मॉडल एस के ज्ञात बिट्स को संदर्भों के सेट में विभाजित करता है और प्रत्येक संदर्भ को 8-बिट स्थिति द्वारा दर्शाए गए बिट इतिहास में मैप करता है। PAQ6 के माध्यम से संस्करणों में, राज्य काउंटरों की जोड़ी का प्रतिनिधित्व करता है (एन0, एन1). PAQ7 और बाद के संस्करणों में कुछ शर्तों के तहत, स्थिति अंतिम बिट या संपूर्ण अनुक्रम के मूल्य का भी प्रतिनिधित्व करती है। प्रत्येक मॉडल के लिए 256-प्रविष्टि तालिका का उपयोग करके राज्यों को संभावनाओं के आधार पर मैप किया जाता है। मॉडल द्वारा भविष्यवाणी के बाद, भविष्यवाणी त्रुटि को कम करने के लिए तालिका प्रविष्टि को थोड़ा (आमतौर पर 0.4%) समायोजित किया जाता है।
सभी PAQ8 संस्करणों में, प्रतिनिधित्व योग्य स्थितियाँ इस प्रकार हैं:
- 4 बिट तक के लिए सटीक बिट अनुक्रम।
- 5 से 15 बिट्स के अनुक्रमों के लिए गिनती की जोड़ी और नवीनतम बिट का संकेतक।
- 16 से 41 बिट्स के अनुक्रमों के लिए गिनती की जोड़ी।
राज्यों की संख्या 256 तक रखने के लिए, प्रतिनिधित्व योग्य गणनाओं पर निम्नलिखित सीमाएँ रखी गई हैं: (41, 0), (40, 1), (12, 2), (5, 3), (4, 4), ( 3, 5), (2, 12), (1, 40), (0, 41)। यदि कोई गिनती इस सीमा से अधिक हो जाती है, तो अगला राज्य n के समान अनुपात के लिए चुना जाता है0 से एन1. इस प्रकार, यदि वर्तमान स्थिति (n0 = 4, एन1 = 4, अंतिम बिट = 0) और 1 देखा जाता है, तो नई स्थिति (एन) नहीं है0 = 4, एन1 = 5, अंतिम बिट = 1). बल्कि, यह (एन0 = 3, एन1 = 4, अंतिम बिट = 1).
अधिकांश संदर्भ मॉडल हैश तालिकाओं के रूप में कार्यान्वित किए जाते हैं। कुछ छोटे संदर्भों को प्रत्यक्ष लुकअप तालिकाओं के रूप में कार्यान्वित किया जाता है।
पाठ प्रीप्रोसेसिंग
PAQ के कुछ संस्करण, विशेष रूप से PAsQDa, PAQAR (दोनों PAQ6 डेरिवेटिव), और PAQ8HP1 से PAQ8HP8 (PAQ8 डेरिवेटिव और हटर पुरस्कार प्राप्तकर्ता) बाहरी शब्दकोश में शब्दों को देखकर और उन्हें 1- से 3-बाइट कोड के साथ बदलकर टेक्स्ट फ़ाइलों को प्रीप्रोसेस करते हैं। . इसके अलावा, अपरकेस अक्षरों को विशेष वर्ण के साथ एन्कोड किया जाता है जिसके बाद लोअरकेस अक्षर आते हैं। PAQ8HP श्रृंखला में, शब्दकोश को वाक्यात्मक और शब्दार्थ संबंधी शब्दों को साथ समूहित करके व्यवस्थित किया जाता है। यह मॉडलों को संदर्भ के रूप में शब्दकोश कोड के सबसे महत्वपूर्ण बिट्स का उपयोग करने की अनुमति देता है।
तुलना
निम्नलिखित तालिका मैट महोनी द्वारा बड़े टेक्स्ट संपीड़न बेंचमार्क से नमूना है जिसमें 10 वाली फ़ाइल शामिल हैअंग्रेजी विकिपीडिया पाठ के 9 बाइट्स (1 गीगाबाइट, या 0.931 GiB)।
Program | Compressed size (bytes) | % of original size | Compression time (ns/B) | Memory (MiB) |
---|---|---|---|---|
PAQ8HP8 | 133,423,109 | 13.34 | 64 639 | 1849 |
PPMd | 183,976,014 | 18.4 | 880 | 256 |
bzip2 | 254,007,875 | 25.4 | 379 | 8 |
InfoZIP | 322,649,703 | 32.26 | 104 | 0.1 |
फ़ाइल संपीड़न बेंचमार्क की सूची के लिए दोषरहित संपीड़न#बेंचमार्क देखें।
इतिहास
निम्नलिखित PAQ एल्गोरिथम के प्रमुख संवर्द्धनों को सूचीबद्ध करता है। इसके अलावा, बड़ी संख्या में वृद्धिशील सुधार हुए हैं, जिन्हें छोड़ दिया गया है।
- PAQ1 को 6 जनवरी 2002 को मैट महोनी द्वारा जारी किया गया था। इसमें निश्चित वजन का उपयोग किया गया था और इसमें एनालॉग या विरल मॉडल शामिल नहीं था।
- PAQ1SSE/PAQ2 को 11 मई 2003 को सर्ज ओस्नाच द्वारा जारी किया गया था। इसने भविष्यवक्ता और एनकोडर के बीच माध्यमिक प्रतीक अनुमान (एसएसई) चरण जोड़कर संपीड़न में उल्लेखनीय सुधार किया। एसएसई संक्षिप्त संदर्भ और वर्तमान भविष्यवाणी इनपुट करता है और तालिका से नई भविष्यवाणी आउटपुट करता है। फिर वास्तविक बिट मान को प्रतिबिंबित करने के लिए तालिका प्रविष्टि को समायोजित किया जाता है।
- 9 अक्टूबर 2003 को जारी PAQ3N ने विरल मॉडल जोड़ा।
- मैट महोनी द्वारा 15 नवंबर 2003 को जारी PAQ4 में अनुकूली भार का उपयोग किया गया। PAQ5 (दिसंबर 18, 2003) और PAQ6 (दिसंबर 30, 2003) नए एनालॉग मॉडल सहित मामूली सुधार थे। इस बिंदु पर, पीएक्यू सर्वश्रेष्ठ पीपीएम कम्प्रेसर के साथ प्रतिस्पर्धी था और उसने डेटा संपीड़न समुदाय का ध्यान आकर्षित किया, जिसके परिणामस्वरूप अप्रैल 2004 तक बड़ी संख्या में वृद्धिशील सुधार हुए। बर्टो डेस्टासियो ने मॉडलों को ट्यून किया और बिट काउंट डिस्काउंटिंग शेड्यूल को समायोजित किया। जोहान डी बॉक ने यूजर इंटरफ़ेस में सुधार किया। डेविड ए. स्कॉट ने अंकगणित कोडर में सुधार किया। फैबियो बफोनी ने गति में सुधार किया।
- 20 मई 2004 से 27 जुलाई 2004 की अवधि के दौरान, अलेक्जेंडर रतुश्न्याक ने PAQAR के सात संस्करण जारी किए, जिसमें कई नए मॉडल, संदर्भ द्वारा चयनित वजन के साथ कई मिक्सर, प्रत्येक मिक्सर आउटपुट में एसएसई चरण जोड़कर महत्वपूर्ण संपीड़न सुधार किए गए। और इंटेल निष्पादन योग्य फ़ाइलों के संपीड़न को बेहतर बनाने के लिए प्रीप्रोसेसर जोड़ना। PAQAR 2004 के अंत तक शीर्ष रैंक वाले कंप्रेसर के रूप में खड़ा था, लेकिन पिछले PAQ संस्करणों की तुलना में काफी धीमा था।
- 18 जनवरी 2005 से 7 फरवरी 2005 की अवधि के दौरान, प्रेज़ेमिस्लाव स्किबिंस्की ने अंग्रेजी शब्दकोश प्रीप्रोसेसर के साथ PAQ6 और PAQAR पर आधारित PASqDa के चार संस्करण जारी किए। इसने कैलगरी कॉर्पस पर शीर्ष रैंकिंग हासिल की लेकिन अधिकांश अन्य बेंचमार्क पर नहीं।
- PAQ6 के संशोधित संस्करण ने 10 जनवरी 2004 को मैट महोनी द्वारा कैलगरी चैलेंज जीता। अलेक्जेंडर रतुश्न्याक द्वारा PAQAR के दस बाद के संस्करणों द्वारा इसे बेहतर बनाया गया। सबसे हालिया 5 जून 2006 को प्रस्तुत किया गया था, जिसमें कुल 589,862 बाइट्स का संपीड़ित डेटा और प्रोग्राम स्रोत कोड शामिल था।
- PAQ7 को दिसंबर 2005 में मैट महोनी द्वारा रिलीज़ किया गया था। PAQ7, PAQ6 और वेरिएंट (PAQAR, PAsQDa) का पूर्ण पुनर्लेखन है। संपीड़न अनुपात PAQAR के समान था लेकिन 3 गुना तेज़ था। हालाँकि इसमें x86 और शब्दकोश का अभाव था, इसलिए यह विंडोज़ निष्पादनयोग्य और अंग्रेजी पाठ फ़ाइलों के साथ-साथ PAsQDa को संपीड़ित नहीं करता था। इसमें रंगीन बीएमपी, टीआईएफएफ और जेपीईजी फाइलों के मॉडल शामिल हैं, इसलिए ये फाइलें बेहतर तरीके से संपीड़ित होती हैं। PAQ6 से प्राथमिक अंतर यह है कि यह ग्रेडिएंट डिसेंट मिक्सर के बजाय मॉडलों को संयोजित करने के लिए तंत्रिका नेटवर्क का उपयोग करता है। अन्य विशेषता प्रोग्राम फ़ाइल ेल-, वर्ड- और पीडीएफ-फ़ाइलों में एम्बेडेड जेपीईजी और बिटमैप छवियों को संपीड़ित करने की PAQ7 की क्षमता है।
- PAQ8A को 27 जनवरी 2006 को, PAQ8C को 13 फरवरी 2006 को जारी किया गया था। ये प्रत्याशित PAQ8 के प्रायोगिक प्री-रिलीज़ थे। इसने PAQ7 (कुछ मामलों में खराब संपीड़न) में कई समस्याओं को ठीक किया। PAQ8A में (x86) निष्पादनयोग्यों को संपीड़ित करने के लिए मॉडल भी शामिल है।
- PAQ8F को 28 फरवरी, 2006 को जारी किया गया था। PAQ8F में PAQ8A की तुलना में 3 सुधार थे: अधिक मेमोरी कुशल संदर्भ मॉडल, संपीड़न में सुधार के लिए नया अप्रत्यक्ष संदर्भ मॉडल, और विंडोज़ में ड्रैग और ड्रॉप का समर्थन करने के लिए नया उपयोगकर्ता इंटरफ़ेस। यह PAQ8B/C/D/E वेरिएंट की तरह अंग्रेजी शब्दकोश का उपयोग नहीं करता है।
- PAQ8G को प्रेज़ेमिस्लाव स्किबिंस्की द्वारा 3 मार्च 2006 को रिलीज़ किया गया था। PAQ8G PAQ8F है जिसमें शब्दकोश जोड़े गए हैं और पुन: डिज़ाइन किए गए टेक्स्टफ़िल्टर के रूप में कुछ अन्य सुधार किए गए हैं (जो गैर-पाठ्य फ़ाइलों पर संपीड़न प्रदर्शन को कम नहीं करता है)
- PAQ8H को 22 मार्च 2006 को अलेक्जेंडर रतुश्न्याक द्वारा जारी किया गया और 24 मार्च 2006 को अद्यतन किया गया। PAQ8H हैमॉडल में कुछ सुधारों के साथ PAQ8G पर आधारित।
- PAQ8I को 18 अगस्त 2006 को पावेल एल. होलोबोरोडको द्वारा 24 अगस्त, 4 सितंबर और 13 सितंबर को बग फिक्स के साथ जारी किया गया था। इसमें पोर्टेबल बिटमैप#पीजीएम उदाहरण फ़ाइलों के लिए ग्रेस्केल छवि मॉडल जोड़ा गया था।
- PAQ8J को बिल पेटिस द्वारा 13 नवंबर 2006 को रिलीज़ किया गया था। यह PAQ8HP5 से लिए गए कुछ टेक्स्ट मॉडल सुधारों के साथ PAQ8F पर आधारित था। इस प्रकार, इसमें PAQ8G से पाठ शब्दकोश या PAQ8I से PGM मॉडल शामिल नहीं थे।
- सर्ज ओस्नाच ने मॉडलिंग सुधारों की श्रृंखला जारी की: 16 नवंबर 2006 को PAQ8JA, 21 नवंबर को PAQ8JB और 28 नवंबर को PAQ8JC।
- PAQ8JD को बिल पेटिस द्वारा 30 दिसंबर 2006 को रिलीज़ किया गया था। तब से इस संस्करण को कई प्रोसेसरों के लिए 32 बिट माइक्रोसॉफ़्ट विंडोज़ और 32 और 64 बिट लिनक्स में पोर्ट किया गया है।
- PAQ8K को बिल पेटिस द्वारा 13 फरवरी 2007 को रिलीज़ किया गया था। इसमें बाइनरी फ़ाइलों के लिए अतिरिक्त मॉडल शामिल हैं।
- PAQ8L को मैट महोनी द्वारा 8 मार्च 2007 को रिलीज़ किया गया था। यह PAQ8JD पर आधारित है और गतिशील मार्कोव संपीड़न मॉडल जोड़ता है।
- PAQ8O को 24 अगस्त 2007 को एंड्रियास मॉर्फिस द्वारा जारी किया गया था। इसमें PAQ8L की तुलना में बेहतर BMP फ़ाइल स्वरूप और JPEG मॉडल शामिल हैं। वैकल्पिक रूप से SSE2 समर्थन और 64-बिट Linux के लिए संकलित किया जा सकता है। 64-बिट ओएस के तहत एल्गोरिदम में उल्लेखनीय प्रदर्शन लाभ हैं।
- PAQ8P को एंड्रियास मॉर्फिस द्वारा 25 अगस्त 2008 को जारी किया गया था। इसमें बेहतर BMP मॉडल शामिल है और WAV मॉडल जोड़ा गया है।
- PAQ8PX को 25 अप्रैल 2009 को जन ओन्ड्रस द्वारा जारी किया गया था। इसमें बेहतर WAV कम्प्रेशन और EXE कम्प्रेशन जैसे विभिन्न सुधार शामिल हैं।
- PAQ8KX को 15 जुलाई 2009 को जन ओन्ड्रस द्वारा जारी किया गया था। यह PAQ8K के साथ PAQ8PX का संयोजन है।
- PAQ8PF को लवपिंपल द्वारा 9 सितंबर 2009 को बिना सोर्स कोड (जिसके लिए GPL लाइसेंस की आवश्यकता होती है) के बिना जारी किया गया था। यह 7% खराब संपीड़ित करता है, लेकिन PAQ8PX v66 (1 एमबी अंग्रेजी पाठ से मापा गया) की तुलना में 7 गुना तेज है।
- PAQ9A को मैट महोनी द्वारा 31 दिसंबर 2007 को जारी किया गया था। नया प्रयोगात्मक संस्करण. इसमें विशिष्ट फ़ाइल प्रकारों के लिए मॉडल शामिल नहीं हैं, इसमें LZP प्रीप्रोसेसर है और 2 जीबी से अधिक की फ़ाइलों का समर्थन करता है।
- ZPAQ को 12 मार्च 2009 को मैट महोनी द्वारा जारी किया गया था। यह नए संग्रह प्रारूप का उपयोग करता है जिसे डिज़ाइन किया गया है ताकि वर्तमान ZPAQ प्रोग्राम भविष्य के ZPAQ संस्करणों द्वारा बनाए गए अभिलेखागार को डीकंप्रेस करने में सक्षम हो सके।[3] (ऊपर सूचीबद्ध विभिन्न पीएक्यू वेरिएंट इस तरह से आगे संगत नहीं हैं)। यह बाइटकोड प्रोग्राम में डीकंप्रेसन एल्गोरिदम को निर्दिष्ट करके इसे प्राप्त करता है जो प्रत्येक निर्मित संग्रह फ़ाइल में संग्रहीत होता है।[4]
हटर पुरस्कार
श्रृंखला PAQ8HP1 से PAQ8HP8 को हटर पुरस्कार प्रस्तुतिकरण के रूप में 21 अगस्त 2006 से 18 जनवरी 2007 तक अलेक्जेंडर रतुश्न्याक द्वारा जारी किया गया था। हटर पुरस्कार विकिपीडिया के स्रोत से प्राप्त 100 एमबी अंग्रेजी और एक्सएमएल डेटा सेट का उपयोग करके पाठ संपीड़न प्रतियोगिता है। PAQ8HP श्रृंखला को PAQ8H से फोर्क किया गया था। कार्यक्रमों में टेक्स्ट प्रीप्रोसेसिंग शब्दकोश और विशेष रूप से बेंचमार्क के अनुरूप मॉडल शामिल हैं। सभी गैर-पाठ मॉडल हटा दिए गए. शब्दकोशों को वाक्य-विन्यास और शब्दार्थ से संबंधित शब्दों को समूहीकृत करने और सामान्य प्रत्यय द्वारा शब्दों को समूहीकृत करने के लिए व्यवस्थित किया गया था। पूर्व रणनीति संपीड़न में सुधार करती है क्योंकि संबंधित शब्द (जो समान संदर्भ में प्रकट होने की संभावना है) को उनके शब्दकोश कोड के उच्च क्रम बिट्स पर मॉडल किया जा सकता है। बाद वाली रणनीति शब्दकोश को संपीड़ित करना आसान बनाती है। डीकंप्रेसन प्रोग्राम और संपीड़ित शब्दकोश का आकार प्रतियोगिता रैंकिंग में शामिल है।
27 अक्टूबर 2006 को इसकी घोषणा की गई[5] कि PAQ8HP5 ने यूरो|€3,416 का हटर पुरस्कार जीता।
30 जून 2007 को, रतुश्न्याक के PAQ8HP12 को €1732 के दूसरे हटर पुरस्कार से सम्मानित किया गया,[6] अपने पिछले रिकॉर्ड में 3.46% का सुधार हुआ।
PAQ व्युत्पत्तियाँ
मुफ़्त सॉफ़्टवेयर होने के कारण, PAQ को किसी भी व्यक्ति द्वारा संशोधित और पुनर्वितरित किया जा सकता है जिसके पास इसकी प्रतिलिपि है। इसने अन्य लेखकों को पीएक्यू कम्प्रेशन इंजन को फोर्क (सॉफ्टवेयर विकास) करने और ग्राफिकल यूज़र इंटरफ़ेस या बेहतर गति (संपीड़न अनुपात की कीमत पर) जैसी नई सुविधाएं जोड़ने की अनुमति दी है। उल्लेखनीय PAQ डेरिवेटिव में शामिल हैं:
- WinUDA 0.291, PAQ6 पर आधारित लेकिन तेज़[7]
- UDA 0.301, PAQ8I एल्गोरिथम पर आधारित[7]* KGB पुरालेखपाल, PAQ6 पर आधारित[8] (बीटा संस्करण PAQ7 पर आधारित है)।
- एमिलकॉन्ट PAQ6 पर आधारित है[9]
- पीज़िप जीयूआई फ्रंटएंड (विंडोज और लिनक्स के लिए) LPAQ के लिए,[10] ZPAQ और विभिन्न PAQ8* एल्गोरिदम[11]
- PWCM (PAQ वेटेड कॉन्टेक्स्ट मिक्सिंग) WinRK में प्रयुक्त PAQ एल्गोरिदम का स्वतंत्र रूप से विकसित बंद स्रोत कार्यान्वयन है।[12]
- PAQCompress कई नए PAQ संस्करणों के लिए ग्राफिकल यूजर इंटरफेस है, जिसमें PAQ8PX, PAQ8PXD और PAQ8PXV के नवीनतम रिलीज शामिल हैं। जब भी कोई नया संस्करण जारी होता है तो इसे अपडेट किया जाता है। सॉफ़्टवेयर समझदारी से फ़ाइल नाम में एक्सटेंशन जोड़ता है जिसका उपयोग वह सही PAQ संस्करण का उपयोग करके फ़ाइल को डीकंप्रेस करने के लिए कर सकता है। सॉफ्टवेयर खुला स्रोत है.[13]
- परफेक्ट कंप्रेस[14]एक कंप्रेशन सॉफ्टवेयर है जिसमें यूसीए (अल्ट्रा कंप्रेस्ड आर्काइव) की सुविधा है। संपीड़न प्रारूप जिसमें PAQ8PX v42 से v65 शामिल है और जो अब डिफ़ॉल्ट UCA कंप्रेसर के रूप में PAQ8PF, PAQ8KX, या PAQ8PXPRE का उपयोग कर सकता है। इसके अलावा, परफेक्टकंप्रेस फ़ाइलों को PAQ8PX v42 से v67, और ZPAQ में संपीड़ित कर सकता है, और संस्करण 6.0 के अनुसार, फ़ाइलों को LPAQ और PAQ8PF बीटा 1 से बीटा 3 में संपीड़ित कर सकता है। परफेक्टकंप्रेस v6.10 ने हाल ही में जारी PAQ8PXPRE के लिए समर्थन संपीड़न पेश किया है। परफेक्टकंप्रेस 6.12 PAQ8KX श्रृंखला के लिए समर्थन प्रस्तुत करता है।[15]
- फ्रंटपीएक्यू, पीएक्यू के लिए छोटा गुई। नवीनतम संस्करण फ्रंटPAQ v8 है जो PAQ8PX, PAQ8PF और FP8 को सपोर्ट करता है। सॉफ़्टवेयर अब अपडेट नहीं किया गया है और उपयोगकर्ताओं को PAQCompress का उपयोग करने के लिए प्रोत्साहित किया जाता है, जो नवीनतम PAQ रिलीज़ को लागू करता है।[16]
यह भी देखें
- संग्रह प्रारूपों की सूची
- फ़ाइल संग्रहकर्ताओं की तुलना
संदर्भ
- ↑ "The Compression/SHA-1 Challenge". Mailcom.com. Retrieved 2010-05-19.
- ↑ "Homepage of the PAQ compressors". Retrieved 2007-07-10.
You may download, use, copy, modify, and distribute these programs under the terms of the GNU general public license
- ↑ "Ubuntu Manpage: zpaq - PAQ open standard maximum compressor". manpages.ubuntu.com.
- ↑ "ZPAQ स्तर 1 विशिष्टता" (PDF). Retrieved 2010-09-03.
- ↑ James Bowery. Alexander Ratushnyak Wins First Hutter Prize Payout. Published October 27, 2006. Retrieved October 30, 2006.[dead link]
- ↑ http://prize.hutter1.net/award2.gif[bare URL image file]
- ↑ 7.0 7.1 dwing's homepage Archived February 24, 2007, at the Wayback Machine
- ↑ "केजीबी आर्काइवर होमपेज". Kgbarchiver.net. Archived from the original on 2009-01-05. Retrieved 2010-05-19.
- ↑ "एमिलकॉन्ट अल्ट्राकम्प्रेशन". Freewebs.com. Archived from the original on 2010-09-10. Retrieved 2010-05-19.
- ↑ Matt Mahoney (2007). "LPAQ". Retrieved 2013-12-29.
- ↑ "पीज़िप". पीज़िप. Retrieved 2013-10-06.
- ↑ "एकल फ़ाइल डेटा संपीड़न बेंचमार्क, संपीड़न अनुपात पर क्रमबद्ध". Maximumcompression.com. 2007-04-14. Archived from the original on 2009-04-17. Retrieved 2010-05-19.
- ↑ "पीएक्यूकंप्रेस". Moisés Cardona (in English). 2019-01-10. Retrieved 2019-03-05.
- ↑ "परफेक्टकंप्रेस आधिकारिक वेबसाइट". Moises-studios.110mb.com. 2010-04-03. Retrieved 2010-05-19.
- ↑ "परफेक्टकंप्रेस आधिकारिक फेसबुक पेज". Facebook.com. Retrieved 2010-05-19.
- ↑ "FrontPAQ - GUI frontend for PAQ8PF and PAQ8PX". encode.su. Retrieved 2019-07-26.
अग्रिम पठन
- David Salomon, Giovanni Motta, (with contributions by David Bryant), Handbook of Data Compression, 5th edition, Springer, 2009, ISBN 1-84882-902-7, 5.15 PAQ, pp. 314–319
- Byron Knoll, Nando de Freitas, A Machine Learning Perspective on Predictive Coding with PAQ, University of British Columbia, Vancouver, Canada, August 17, 2011
बाहरी संबंध
- Official website
- Compiled linux binaries - Linux command-line executables download.