/ / हफमैन कोडिंग के असली दुनिया के अनुप्रयोग क्या हैं? - एल्गोरिदम, संपीड़न, हफमैन-कोड

हफमैन कोडिंग के असली दुनिया के अनुप्रयोग क्या हैं? - एल्गोरिदम, संपीड़न, हफमैन-कोड

मुझे बताया गया है कि हफमैन कोडिंग का उपयोग किया जाता है बेकार डेटा संपीड़न एल्गोरिदम के रूप में, लेकिन मुझे यह भी बताया गया है कि वास्तविक डेटा संपीड़न सॉफ्टवेयर करता है नहीं हफमैन कोडिंग को नियोजित करें, क्योंकि यदि कुंजी को विकेंद्रीकृत पर्याप्त वितरित नहीं किया जाता है, तो संपीड़ित फ़ाइल ऑरगिनल फ़ाइल से भी बड़ी हो सकती है।

इससे मुझे आश्चर्य होता है कि क्या हफमैन कोडिंग का कोई असली दुनिया अनुप्रयोग है?

उत्तर:

उत्तर № 1 के लिए 23

हफमैन का व्यापक रूप से सभी मुख्यधारा के संपीड़न प्रारूपों में उपयोग किया जाता है, जिन्हें आप जीजेपीआईपी, पीकेजेआईपी (विनज़िप इत्यादि) और बीजेआईपी 2 से, जेपीईजी और पीएनजी जैसे छवि प्रारूपों में प्राप्त कर सकते हैं।

सभी संपीड़न योजनाओं में पैथोलॉजिकल डेटा-सेट होते हैं जिन्हें अर्थपूर्ण रूप से संपीड़ित नहीं किया जा सकता है; ऊपर सूचीबद्ध संग्रह प्रारूपों को बस "स्टोर" ऐसी फ़ाइलों को असम्पीडित होने पर असम्पीडित किया गया है।

नई अंकगणित और रेंज कोडिंग योजनाओं के कारण अक्सर टाला जाता है पेटेंट मुद्दों, जिसका अर्थ है हफमैन संपीड़न उद्योग का कार्य-घोड़ा बना हुआ है।


जवाब के लिए 4 № 2

देख विकिपीडिया विषय पर लेख:

हफमैन कोडिंग आज अक्सर एक के रूप में प्रयोग किया जाता हैकुछ अन्य संपीड़न विधि के लिए "बैक एंड"। डिफलेट (पीकेजेआईपी के एल्गोरिदम) और मल्टीमीडिया कोडेक्स जैसे जेपीईजी और एमपी 3 में फ्रंट-एंड मॉडल और क्वांटिज़ेशन है जिसके बाद हफमैन कोडिंग है।


जवाब के लिए 3 № 3

वास्तविक दुनिया के बहुत सारे अनुप्रयोग हैंहफमैन एन्कोडिंग का। ज़िप शायद सबसे व्यापक रूप से उपयोग किया जाने वाला संपीड़न उपकरण है जो हफमैन एन्कोडिंग को इसके आधार के रूप में उपयोग करता है। पिछले महीने Google द्वारा जारी किए गए सबसे कुशल लापरवाही संपीड़न एल्गोरिदम, ब्रोटली संपीड़न का नवीनतम भी हफमैन कोडिंग का उपयोग करता है। इसके अलावा, ब्रोटली भी एलजेड 77 और कुछ अन्य मौलिक लापरवाही संपीड़न एल्गोरिदम का उपयोग करता है। को देखें Brotli।


जवाब के लिए 2 № 4

जब कोई वहां संपीड़न एल्गोरिदम मानता हैप्रत्येक के लिए अक्सर लाभ और नुकसान होते हैं। यह संपीड़न की प्रकृति है जो इनपुट का एक सेट देती है, उस डेटा के लिए बेहतर और खराब संपीड़न एल्गोरिदम मौजूद है।

हफमैन वास्तव में कुछ चीजों में वास्तव में अच्छा है। सबसे विशेष रूप से डेटा के साथ जो ऑर्डर दोहराता है और इसमें वर्ण स्थान का उप-सेट होता है। उदाहरण के लिए अंग्रेजी भाषा पाठ फाइलें। अंग्रेजी भाषा में एक ही अक्षरों के बाद एक ही अक्षर होते हैं।

अगर आपके प्रोफेसर या पुस्तक ने आपको इंप्रेशन दिया हैकि हफमैन का उपयोग नहीं किया जाता है, वे गलत हैं। उदाहरण के लिए इंटरनेट के साथ और उससे लगभग सभी संचार कुछ हफमैन एन्कोड किए गए हैं। (कई संचार प्रोटोकॉल इसका उपयोग करते हैं।) अधिकांश छवि फ़ाइलें (जेपीईजी) हफमैन एन्कोडेड हैं। अधिकांश संगीत फ़ाइलें (एमपी 3) हफमैन एन्कोडेड हैं। वहां कई अन्य उदाहरण हैं।

एक कारण हफमैन का उपयोग किया जाता है क्योंकि यह हो सकता हैअनुकूली हफमैन नामक थोड़ा अलग एल्गोरिदम के माध्यम से "खोजा"। जैसे ही आप फ़ाइल पढ़ते हैं, आप हफमैन कोड सीखते हैं और "जैसे ही आप जाते हैं"। यह एक सरलीकृत अवलोकन है, लेकिन आपको विचार मिलता है।

उपयोग की समस्या को हल करने के लिए सबसे अच्छा एल्गोरिदम उपयोग करने के लिए, ज़िप फ़ाइलों को किसी दिए गए फ़ाइल के लिए सबसे अच्छा क्या है इसके आधार पर कई अलग-अलग संपीड़न का उपयोग करने की अनुमति देता है।


जवाब के लिए 0 № 5

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