एलियास गामा कोडिंग: Difference between revisions

From Vigyanwiki
No edit summary
(change some hinglish words in hind, minor changes ,etc)
Line 72: Line 72:
#2<sup>N</sup> के मान के साथ, पूर्णांक के पहले अंक तक पहुंचने वाले अंक को ध्यान में रखते हुए, पूर्णांक के शेष N अंकों को पढ़ें।
#2<sup>N</sup> के मान के साथ, पूर्णांक के पहले अंक तक पहुंचने वाले अंक को ध्यान में रखते हुए, पूर्णांक के शेष N अंकों को पढ़ें।


==<s>उपयोग</s>==
==उपयोग==
गामा कोडिंग का उपयोग उन अनुप्रयोगों में किया जाता है जहां सबसे बड़ा एन्कोडेड मान समय से पहले ज्ञात नहीं होता है, या डेटा संपीड़न डेटा में जिसमें छोटे मान बड़े मानों की तुलना में अधिक बार होते हैं।
गामा कोडिंग का उपयोग उन अनुप्रयोगों में किया जाता है जहां सबसे बड़ा एन्कोडेड मान समय से पहले ज्ञात नहीं होता है, या डेटा को संपीड़न करने के लिए जिसमें छोटे मान बड़े मूल्यों की तुलना में बहुत अधिक होते हैं।


गामा कोडिंग [[इलियास डेल्टा कोड]] में एक बिल्डिंग ब्लॉक है।
गामा कोडिंग [[इलियास डेल्टा कोड|एलियास डेल्टा कोड]] में एक बिल्डिंग ब्लॉक है।


== सामान्यीकरण ==<!-- This section is linked from [[Elias delta coding]] -->
== सामान्यीकरण ==<!-- This section is linked from [[Elias delta coding]] -->
{{See also|Variable-length quantity#Zigzag encoding}}
{{See also|Variable-length quantity#Zigzag encoding}}
गामा कोडिंग शून्य या नकारात्मक पूर्णांकों को कोड नहीं करती है।
गामा कोडिंग शून्य या नकारात्मक पूर्णांकों कोड नहीं करती है। शून्य को संभालने का एक तरीका कोडिंग से पहले 1 जोड़ना और फिर डिकोडिंग के बाद 1 घटाना है। एक अन्य तरीका प्रत्येक नॉनज़ीरो कोड को 1 के साथ उपसर्ग करना है और फिर कोड शून्य को एकल 0 के रूप में जोड़ना है।
शून्य को संभालने का एक तरीका कोडिंग से पहले 1 जोड़ना और फिर डिकोडिंग के बाद 1 घटाना है।
दूसरा तरीका यह है कि प्रत्येक गैर-शून्य कोड के पहले एक 1 लगाएं और फिर शून्य को एक 0 के रूप में कोड करें।


सभी पूर्णांकों को कोड करने का एक तरीका एक आक्षेप स्थापित करना है, पूर्णांकों (0, −1, 1, −2, 2, −3, 3, ...) को (1, 2, 3, 4, 5, 6) में मैप करना है। , 7, ...) कोडिंग से पहले। सॉफ़्टवेयर में, यह गैर-नकारात्मक इनपुट को विषम आउटपुट में और नकारात्मक इनपुट को सम आउटपुट में मैप करके सबसे आसानी से किया जाता है, इसलिए सबसे कम महत्वपूर्ण बिट एक उलटा [[साइन बिट]] बन जाता है:<br/>
सभी पूर्णांकों को कोड करने का एक तरीका कोडिंग से पहले (1, 2, 3, 4, 5, 6, 7, ...) के लिए एक बीज, मानचित्रण पूर्णांक (0, −1, 1, −2, 2, −3, 3, ...) सेट करना है। सॉफ़्टवेयर में, यह गैर-नकारात्मक इनपुट को विषम आउटपुट में मैप करके और यहां तक कि आउटपुट में नकारात्मक इनपुट को मैप करके सबसे आसानी से किया जाता है, इसलिए कम से कम महत्वपूर्ण बिट एक उल्टा संकेत बिट बन जाता है:<br/><math>\begin{cases}
<math>\begin{cases}
x \mapsto 2x+1 & \mathrm{when~} x \geq 0 \\
x \mapsto 2x+1 & \mathrm{when~} x \geq 0 \\
x \mapsto -2x  & \mathrm{when~} x < 0 \\
x \mapsto -2x  & \mathrm{when~} x < 0 \\
\end{cases}</math>
\end{cases}</math>
[[एक्सपोनेंशियल-[[गोलोम्ब कोडिंग]]]] गामा कोड को एक चापलूसी पावर-लॉ वितरण के साथ पूर्णांकों में सामान्यीकृत करती है, जैसे गोलोम्ब कोडिंग यूनरी कोड को सामान्यीकृत करती है।
 
इसमें संख्या को एक सकारात्मक भाजक, आमतौर पर 2 की घात, से विभाजित करना, भागफल से एक अधिक के लिए गामा कोड लिखना और शेष को एक साधारण बाइनरी कोड में लिखना शामिल है।
घातीय-[[गोलोम्ब कोडिंग]] गामा कोड को एक चापलूसी पावर-लॉ वितरण के साथ पूर्णांकों में सामान्यीकृत करती है, जैसे गोलोम्ब कोडिंग यूनरी कोड को सामान्यीकृत करती है। इसमें संख्या को एक सकारात्मक विभाजक से विभाजित करना सम्मिलित है, आमतौर पर 2 की शक्ति, भागफल से एक अधिक के लिए गामा कोड लिखना और शेष को एक साधारण बाइनरी कोड में लिखना।


==यह भी देखें==
==यह भी देखें==
* एलियास डेल्टा कोडिंग|एलियास डेल्टा (δ) कोडिंग
* एलियास डेल्टा (δ) कोडिंग
* एलियास ओमेगा कोडिंग|एलियास ओमेगा (ω) कोडिंग
* एलियास ओमेगा (ω) कोडिंग
* [[पद (संख्या प्रारूप)]]
* [[पद (संख्या प्रारूप)|सकारात्मक (संख्या प्रारूप)]]


==संदर्भ==
==संदर्भ==

Revision as of 21:29, 6 July 2023

एलियास कोड या एलियास गामा कोड पीटर एलियास द्वारा विकसितएक सार्वभौमिक कोड एन्कोडिंग सकारात्मक पूर्णांक है।[1]: 197, 199  इसका उपयोग सबसे अधिक तब किया जाता है जब पूर्णांक कोडिंग होती है जिनके ऊपरी-बाध्य को पहले से निर्धारित नहीं किया जा सकता है।

एनकोडिंग

किसी संख्या को x ≥ 1 कोड करने के लिए:

  1. मान लीजिए कि इसमें 2 की उच्चतम शक्ति है, इसलिए 2एन ≤ x <2एन+1 है।
  2. फिर शून्य बिट्स लिखें
  3. के बाइनरी रूप को जोड़ें, एक बाइनरी संख्या।

उसी प्रक्रिया को व्यक्त करने का एक समकक्ष तरीका:

  1. यूनरी में को एनकोड करें; यही है, जैसे कि शून्य के बाद एक है।
  2. के शेष द्विआधारी अंकों को के इस प्रतिनिधित्व के लिए में जोड़ें।

एक संख्या का प्रतिनिधित्व करने के लिए , इलियास गामा (γ) बिट्स का उपयोग करता है। [1]: 199 

कोड शुरू होता है (कोड के लिए निहित संभाव्यता वितरण स्पष्टता के लिए जोड़ा जाता है):

Number Binary γ encoding Implied probability
1 = 20 + 0 1 1 1/2
2 = 21 + 0 1 0 0 1 0 1/8
3 = 21 + 1 1 1 0 1 1 1/8
4 = 22 + 0 1 00 00 1 00 1/32
5 = 22 + 1 1 01 00 1 01 1/32
6 = 22 + 2 1 10 00 1 10 1/32
7 = 22 + 3 1 11 00 1 11 1/32
8 = 23 + 0 1 000 000 1 000 1/128
9 = 23 + 1 1 001 000 1 001 1/128
10 = 23 + 2 1 010 000 1 010 1/128
11 = 23 + 3 1 011 000 1 011 1/128
12 = 23 + 4 1 100 000 1 100 1/128
13 = 23 + 5 1 101 000 1 101 1/128
14 = 23 + 6 1 110 000 1 110 1/128
15 = 23 + 7 1 111 000 1 111 1/128
16 = 24 + 0 1 0000 0000 1 0000 1/512
17 = 24 + 1 1 0001 0000 1 0001 1/512

डिकोडिंग

एलियास गामा-कोडित पूर्णांक को डीकोड करने के लिए:

  1. स्ट्रीम से 0 को पढ़ें और गिनें जब तक आप पहले 1 तक नहीं पहुंच जाते। शून्य की इस गिनती को N कहते हैं।
  2. 2N के मान के साथ, पूर्णांक के पहले अंक तक पहुंचने वाले अंक को ध्यान में रखते हुए, पूर्णांक के शेष N अंकों को पढ़ें।

उपयोग

गामा कोडिंग का उपयोग उन अनुप्रयोगों में किया जाता है जहां सबसे बड़ा एन्कोडेड मान समय से पहले ज्ञात नहीं होता है, या डेटा को संपीड़न करने के लिए जिसमें छोटे मान बड़े मूल्यों की तुलना में बहुत अधिक होते हैं।

गामा कोडिंग एलियास डेल्टा कोड में एक बिल्डिंग ब्लॉक है।

सामान्यीकरण

गामा कोडिंग शून्य या नकारात्मक पूर्णांकों कोड नहीं करती है। शून्य को संभालने का एक तरीका कोडिंग से पहले 1 जोड़ना और फिर डिकोडिंग के बाद 1 घटाना है। एक अन्य तरीका प्रत्येक नॉनज़ीरो कोड को 1 के साथ उपसर्ग करना है और फिर कोड शून्य को एकल 0 के रूप में जोड़ना है।

सभी पूर्णांकों को कोड करने का एक तरीका कोडिंग से पहले (1, 2, 3, 4, 5, 6, 7, ...) के लिए एक बीज, मानचित्रण पूर्णांक (0, −1, 1, −2, 2, −3, 3, ...) सेट करना है। सॉफ़्टवेयर में, यह गैर-नकारात्मक इनपुट को विषम आउटपुट में मैप करके और यहां तक कि आउटपुट में नकारात्मक इनपुट को मैप करके सबसे आसानी से किया जाता है, इसलिए कम से कम महत्वपूर्ण बिट एक उल्टा संकेत बिट बन जाता है:

घातीय-गोलोम्ब कोडिंग गामा कोड को एक चापलूसी पावर-लॉ वितरण के साथ पूर्णांकों में सामान्यीकृत करती है, जैसे गोलोम्ब कोडिंग यूनरी कोड को सामान्यीकृत करती है। इसमें संख्या को एक सकारात्मक विभाजक से विभाजित करना सम्मिलित है, आमतौर पर 2 की शक्ति, भागफल से एक अधिक के लिए गामा कोड लिखना और शेष को एक साधारण बाइनरी कोड में लिखना।

यह भी देखें

संदर्भ

  1. 1.0 1.1 Elias, Peter (March 1975). "Universal codeword sets and representations of the integers". IEEE Transactions on Information Theory. 21 (2): 194–203. doi:10.1109/tit.1975.1055349.


अग्रिम पठन