ഉത്ഭവവും വിപുലമായ ഉപയോഗവും
Reed–Solomon കോഡുകൾ 1960 ൽ Irving S. Reed ഉം Gustave Solomon ഉം വിവരിച്ചു. ഒറ്റ ബിറ്റുകൾക്ക് പകരം സാധാരണയായി ബൈറ്റുകളായ മുഴുവൻ ചിഹ്നങ്ങളിലാണ് ഇവ പ്രവർത്തിക്കുന്നത്; അതിനാൽ പോറൽ അല്ലെങ്കിൽ പാട് പോലുള്ള കൂട്ടമായ കേടുപാടുകൾ കൈകാര്യം ചെയ്യാൻ ഇവ മികച്ചതാണ്.
ഇതേ കുടുംബത്തിലെ കോഡുകൾ CD, DVD, Blu-ray ഡിസ്കുകളിലെ ഡേറ്റയെയും, ചില ഡിജിറ്റൽ ടെലിവിഷൻ, ഉപഗ്രഹ ലിങ്കുകളിലും, Data Matrix ECC 200, Aztec code, 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
- കൂട്ടമായ കേടുപാട് വിതറാൻ ബ്ലോക്കുകൾ ഇന്റർലീവ് ചെയ്യുന്നു