दोषरहित संपीड़न
दोषरहित संपीड़न वह जगह है जहां कोई डेटा गुम नहीं होता है। जो कुछ भी दर्ज किया गया है वह पूरी तरह से पुनर्प्राप्त किया जा सकता है। यह पाठ या बाइनरी फ़ाइलों के लिए अच्छी तरह से काम करता है जहां सबसे छोटी त्रुटि दिखाई देगी।
फाइल कंप्रेशन फाइल को स्कैन करके पैटर्न के लिए काम करता है, और उन पैटर्नों को किसी और चीज़ में ट्रांसलेट करता है जो कम जगह लेता है।
उदाहरण के लिए "AAAAAAAA" को "8A" में बदल दिया जा सकता है।
दी कि यह कैसे काम करता है क्योंकि तब आपको समस्या होती है कि अगर "8A" प्लेनटेक्स्ट में होता। आप फ़ाइल को अनलॉक्ड कर देंगे और यह गलत होगा। शुरू करने के लिए एक अच्छी जगह विकिपीडिया या LZW डेटा संपीड़न एल्गोरिथम है ।
इस प्रतिलिपि के लिए कुछ सरल रूप से नीचे दिए गए कॉपी-कोड हैं:
STRING = get input character
WHILE there are still input characters DO
CHARACTER = get input character
IF STRING+CHARACTER is in the string table then
STRING = STRING+character
ELSE
output the code for STRING
add STRING+CHARACTER to the string table
STRING = CHARACTER
END of IF
END of WHILE
output the code for STRING
सभी संपीड़न एक लुकअप डिक्शनरी का उपयोग करते हैं जो फ़ाइल को संपीड़ित और विघटित करने के लिए उपयोग किया जाता है। शब्दकोश जितना बड़ा होगा, उतना ही आप इसे संपीड़ित कर सकते हैं, हालांकि आप लॉ ऑफ डिमिनिशिंग रिटर्न्स में भाग लेते हैं ।
यह भी ध्यान देने योग्य है कि संपीड़न हमेशा एक छोटी फ़ाइल नहीं देता है। ऐसी स्थितियां हैं (छोटी फ़ाइलों के साथ, या यादृच्छिक डेटा को संपीड़ित करते समय ) कि आपको संपीड़न के बाद एक छोटी फ़ाइल नहीं मिलेगी। यादृच्छिक डेटा को संपीड़ित करने की क्षमता से संबंधित कुछ मजेदार चुनौतियां हैं ।
"हानिपूर्ण संपीड़न
उपरोक्त दोषरहित संपीड़न से संबंधित है । वीडियो / ऑडियो अनुप्रयोगों जैसे एमपी 3, जेपीजी और एच .264 में उपयोग किए जाने वाले अन्य प्रकार के संपीड़न उदाहरण हैं हानिरहित संपीड़न ।
हानिपूर्ण संपीड़न डेटा को छोड़ने से काम करता है जिसे कम से कम देखा जा सकता है। ऑडियो में यह 30,000 हर्ट्ज और 100 हर्ट्ज से नीचे की ध्वनियों के साथ-साथ अन्य विभिन्न चीजों के साथ है। चित्र (स्थैतिक) में यह विभिन्न चीजों को हटा देता है और डेटा को त्यागने के साथ-साथ पिक्सल्स को एक साथ मिला देता है।
हानिपूर्ण संपीड़न परिवर्तन कोडिंग का एक रूप है । यह समग्र आकार को कम करने के लिए डेटा औसत करता है। उदाहरण के लिए एक छवि में 10 पिक्सल का एक ब्लॉक, थोड़ा अलग रंगों के सभी को एक साथ एक रंग में विलय किया जा सकता है और इस प्रकार संकुचित किया जा सकता है।
वीडियो कम्प्रेशन में अक्सर निर्देशों को केवल redraw पिक्सेल पर रखा जाएगा जो कि अंतिम फ्रेम या कीफ़्रेम के बाद बदल गए हैं ।