מקור ושימוש רחב יותר
קודי Reed–Solomon תוארו בידי אירווינג ס. ריד וגוסטב סולומון ב-1960. הם פועלים על סמלים שלמים, בדרך כלל בתים, ולא על ביטים בודדים, ולכן הם מתאימים לטיפול בפגיעות רצופות כמו שריטה או כתם.
אותה משפחת קודים מגנה על נתונים בדיסקים של CD, DVD ו-Blu-ray, בחלק מקישורי הטלוויזיה הדיגיטלית והלוויינים, ובברקודים דו-ממדיים אחרים כולל Data Matrix ECC 200, Aztec code ו-PDF417.
איך קודי QR משתמשים בו
קוד QR מתייחס לכל מילת קוד של 8 ביטים כאל איבר של השדה הסופי GF(256), שנבנה בעזרת הפולינום הפרימיטיבי x^8 + x^4 + x^3 + x^2 + 1 (הקסה 0x11D). מילות קוד הנתונים מחולקות בפולינום יוצר, והשארית הופכת למילות קוד תיקון השגיאות שמצורפות אליהן.
קודים גדולים מפצלים את הנתונים שלהם לכמה בלוקים, לכל אחד מילות קוד משלו לתיקון שגיאות. הבלוקים משולבים זה בזה כשמילות הקוד מוצבות ברשת, כך שכתם נזק בודד מתפזר על פני בלוקים רבים ולא מציף בלוק אחד.
כמה הוא יכול לתקן
עם n מילות קוד של תיקון שגיאות בבלוק, מפענח יכול לתקן עד n/2 מילות קוד שמיקומן לא ידוע, או עד n מילות קוד שמיקומן ידוע, שנקראות מחיקות. במקרים מעורבים הכלל הוא שכל שגיאה נספרת פעמיים וכל מחיקה פעם אחת.
לכן קוד שאזור נקי ושטוח בו מכוסה בלוגו יכול עדיין להיסרק: קורא חכם יכול להתייחס לאזור המכוסה כמחיקות, בעוד נזק אקראי קשה יותר לתיקון כי המפענח צריך קודם למצוא אותו.
- שגיאות לא ידועות: עד מחצית ממספר מילות הקוד של התיקון
- מחיקות (מיקומים ידועים): עד מספר מילות הקוד של התיקון
- שדה: GF(256), פולינום 0x11D
- הבלוקים משולבים כדי לפזר נזק רצוף