एन्कोड | डिकोड | संपीड़न

> tunstall | परिवर्तनीय | नियत <

// Tunstall कोडिंग – परिवर्तनीय से नियत लंबाई का इष्टतम संपीड़न

0 अक्षर
0 अक्षर

>> विशेषताएँ

[VAR→FIXED]

V2F एन्कोडिंग

परिवर्तनीय लंबाई अनुक्रमों को नियत लंबाई कोड में मैप करता है।

[OPTIMAL]

प्रायिकता-आधारित

शब्दकोश प्रतीकों के प्रायिकता वितरण से बनाया जाता है।

[DECODABLE]

आसान डिकोडिंग

नियत लंबाई कोड सरल और तेज़ डिकोडिंग की अनुमति देते हैं।

>> तकनीकी जानकारी

Tunstall कोडिंग कैसे काम करती है

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

Tunstall उदाहरण

टेक्स्ट: 'aabaa' जहाँ P(a)=0.8, P(b)=0.2

डिक्शनरी निर्माण (3-बिट कोड):
प्रारंभ: a, b
'a' का विस्तार: aa, ab
aa का विस्तार: aaa, aab
ab का विस्तार: aba, abb

अंतिम डिक्शनरी (8 कोड):
aaa → 000
aab → 001
aba → 010
abb → 011
aa  → 100
ab  → 101
a   → 110
b   → 111

एन्कोडिंग: 'aabaa' → 001 100 (aab + aa)

Tunstall कोडिंग क्यों उपयोग करें?

  • नियत लंबाई आउटपुट कोड
  • डिकोडर का सरल इम्प्लीमेंटेशन
  • सिंक्रनाइज़ेशन समस्याएँ नहीं
  • हार्डवेयर इम्प्लीमेंटेशन के लिए उपयुक्त
  • मेमोरीलेस स्रोतों के लिए इष्टतम

>> अक्सर पूछे जाने वाले प्रश्न

Tunstall कोडिंग क्या है?

Tunstall कोडिंग एक एंट्रोपी एन्कोडिंग विधि है जिसमें इनपुट की लंबाई परिवर्तनीय और आउटपुट की लंबाई नियत होती है। Huffman (नियत से परिवर्तनीय) के विपरीत, Tunstall परिवर्तनीय लंबाई वाले स्रोत अनुक्रमों को नियत लंबाई कोडवर्ड पर मैप करता है, जिससे यह उन अनुप्रयोगों के लिए आदर्श बनता है जिन्हें स्थिर बिटरेट की आवश्यकता होती है।

Tunstall बनाम Huffman कोडिंग?

Huffman: स्थिर इनपुट → परिवर्तनीय आउटपुट (जैसे 'a' → '0', 'b' → '10'). Tunstall: परिवर्तनीय इनपुट → नियत आउटपुट (जैसे 'aa' → '000', 'ab' → '001'). Tunstall हार्डवेयर और सिंक्रनाइज़ेशन के लिए बेहतर है, लेकिन आमतौर पर संपीड़न अनुपात थोड़ा कम होता है।

डिक्शनरी कैसे बनाई जाती है?

एकल प्रतीकों से शुरू करें। बार‑बार: 1) सबसे अधिक प्रायिकता वाले अनुक्रम को खोजें, 2) उसे हटाएँ और उसके सभी एक‑प्रतीक विस्तार जोड़ें, 3) तब तक जारी रखें जब तक वांछित डिक्शनरी आकार (n-बिट कोड के लिए 2^n) प्राप्त न हो जाए।

Tunstall कोडिंग कहाँ उपयोग होती है?

Tunstall कोडिंग का उपयोग वॉइस कॉम्प्रेशन, इमेज कोडिंग और ऐसी स्थितियों में होता है जहाँ नियत आउटपुट दर आवश्यक हो। यह विशेष रूप से हार्डवेयर इम्प्लीमेंटेशन और रीयल‑टाइम सिस्टम में उपयोगी है जहाँ परिवर्तनीय लंबाई वाले कोड टाइमिंग को जटिल बना देते हैं।