2009-02-18 6 views
6

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

उत्तर

4

Run Length Encoding एक उदाहरण

+0

यहां तक ​​कि आरएलई को कुछ जानकारी चाहिए कि डेटा क्या है और आरएलई कैसे एन्कोड किया गया है। डिकंप्रेशन एल्गोरिदम को यह जानने की ज़रूरत है कि क्या यह बिट्स, या बाइट्स, रंग, या ध्वनि नमूने इत्यादि की गणना कर रहा था। –

+0

या तो संपीड़न/डिकंप्रेशन एल्गोरिदम स्वयं या हेडर में हार्ड कोड किया गया है। –

+0

हां, लेकिन आम तौर पर यह एल्गोरिदम में हार्ड-कोड किया गया है, जबकि हफमैन कोडिंग के लिए टेबल आमतौर पर संकुचित डेटा के साथ संग्रहीत होते हैं। –

5
बेशक

यह posible है किया जाएगा। दूसरों के बीच, कंप्रेसर के एलजेड परिवार को संपीड़ित डेटा के अलावा कुछ भी आउटपुट करने की आवश्यकता नहीं होती है, क्योंकि शब्दकोश को संपीड़न (या डिकंप्रेशन) प्रगति के रूप में ऑनलाइन बनाया गया है। आपके पास उन एलजेड-प्रकार एल्गोरिदम के लिए बहुत से संदर्भ कार्यान्वयन हैं। उदाहरण के लिए, LZMA, 7zip का घटक।

1

lzo दिमाग में स्प्रिंग्स। इसका उपयोग ओपनवीपीएन में किया जाता है, अच्छे परिणाम

0

आप हेडरलेस संपीड़ित आउटपुट के साथ संपीड़न एल्गोरिदम क्यों ढूंढ रहे हैं?

शायद (ए) आपके पास 2-तरफा टेलीफ़ोनी जैसी प्रणाली है जिसके लिए कम विलंबता स्ट्रीमिंग संपीड़न/डिकंप्रेशन की आवश्यकता होती है। जैच स्क्रिप्वेना द्वारा वर्णित संपीड़न एल्गोरिदम की अनुकूली कोडिंग श्रेणी और डिएगो सेविला और जेवियर द्वारा उल्लिखित dictionary compression एल्गोरिदम के एलजेड परिवार इस तरह के आवेदन के लिए उत्कृष्ट हैं। इन एल्गोरिदम के व्यावहारिक कार्यान्वयन आमतौर पर में बाइट या दो मेटाडाटा शुरुआत में (उन्हें (बी) अनुप्रयोगों के लिए बेकार बनाते हैं), लेकिन इसका विलंबता पर बहुत कम या कोई प्रभाव नहीं पड़ता है।

शायद (बी) आप मुख्य रूप से क्रिप्टोग्राफी में रूचि रखते हैं, और आप सुनते हैं कि संपीड़ित-पहले-एन्क्रिप्ट कुछ बेहतर सुरक्षा गुण देता है, जब तक संपीड़ित पाठ में मेटाडेटा हेडर "पालना" तय नहीं होता है। आधुनिक एन्क्रिप्शन एल्गोरिदम (जहां तक ​​हम जानते हैं) ऐसे "क्रिप्स" के लिए कमजोर नहीं हैं, लेकिन यदि आप पागल हैं तो आपको "बायक्टेक्टीव संपीड़न" (a, b, c इत्यादि) में रुचि हो सकती है। जब रिसीवर ऐसे संपीड़ित आउटपुट प्राप्त करता है (इन एल्गोरिदम को विशेष रूप से (ए) अनुप्रयोगों के लिए उपयोगी नहीं बनाते हैं तो ट्रांसमिशन (फ़्लिप बिट्स, डाले गए बिट्स, हटाए गए बिट्स इत्यादि) में त्रुटियों का पता लगाना संभव नहीं है।

शायद (सी) आप किसी अन्य कारण से हेडरलेस संपीड़न में रुचि रखते हैं। आकर्षक लगता है - यही कारण क्या है?

+0

आपका मतलब है "आधुनिक * एन्क्रिप्शन * एल्गोरिदम कमजोर नहीं हैं", है ना? –

+0

@ पीटरकॉर्डस: आप सही हैं। फिक्स्ड। –

संबंधित मुद्दे