उत्पत्ति और व्यापक उपयोग
Reed–Solomon कोड का वर्णन 1960 में Irving S. Reed और Gustave Solomon ने किया था। वे अकेले बिट की जगह पूरे प्रतीकों, यानी आम तौर पर बाइट, पर काम करते हैं, जिससे वे खरोंच या धब्बे जैसे लगातार नुक़सान को सँभालने में अच्छे हैं।
कोड का यही परिवार CD, DVD और Blu-ray डिस्क पर, कुछ डिजिटल टेलीविज़न और सैटेलाइट लिंक में, और Data Matrix ECC 200, Aztec कोड तथा PDF417 समेत दूसरे 2D बारकोड में डेटा की रक्षा करता है।
QR कोड इसका इस्तेमाल कैसे करते हैं
QR कोड हर 8-बिट कोडवर्ड को परिमित क्षेत्र GF(256) का अवयव मानता है, जिसे आदिम बहुपद x^8 + x^4 + x^3 + x^2 + 1 (हेक्स 0x11D) से बनाया गया है। डेटा कोडवर्ड को एक जनरेटर बहुपद से भाग दिया जाता है, और शेषफल उनके साथ जुड़े एरर करेक्शन कोडवर्ड बन जाता है।
बड़े कोड अपने डेटा को कई ब्लॉक में बाँटते हैं, हर एक के अपने एरर करेक्शन कोडवर्ड के साथ। कोडवर्ड को ग्रिड में रखते समय ब्लॉक आपस में इंटरलीव किए जाते हैं, ताकि नुक़सान का एक धब्बा किसी एक ब्लॉक पर भारी पड़ने की जगह कई ब्लॉक में फैल जाए।
यह कितना ठीक कर सकता है
किसी ब्लॉक में n एरर करेक्शन कोडवर्ड हों, तो डिकोडर n/2 तक ऐसे कोडवर्ड ठीक कर सकता है जिनकी जगह अज्ञात है, या n तक ऐसे जिनकी जगह ज्ञात है, जिन्हें इरेज़र कहते हैं। मिले-जुले मामलों में नियम यह है कि हर त्रुटि दो गिनी जाती है और हर इरेज़र एक।
इसीलिए साफ़, समतल हिस्से को ढकने वाले लोगो वाला कोड भी स्कैन हो सकता है: समझदार रीडर ढके हुए क्षेत्र को इरेज़र मान सकता है, जबकि बेतरतीब नुक़सान ठीक करना ज़्यादा कठिन है क्योंकि डिकोडर को पहले उसे ढूँढना पड़ता है।
- अज्ञात त्रुटियाँ: EC कोडवर्ड की संख्या के आधे तक
- इरेज़र (ज्ञात जगहें): EC कोडवर्ड की संख्या तक
- क्षेत्र: GF(256), बहुपद 0x11D
- लगातार नुक़सान फैलाने के लिए ब्लॉक इंटरलीव किए जाते हैं