Από τα δεδομένα στο μοτίβο
Η δημιουργία ενός κωδικού QR ξεκινά με την επιλογή τρόπου κωδικοποίησης που ταιριάζει στα δεδομένα: αριθμητικός, αλφαριθμητικός, byte ή kanji. Ο κωδικοποιητής μετατρέπει τα δεδομένα σε bit, τα χωρίζει σε κωδικές λέξεις των 8 bit και προσθέτει κωδικές λέξεις διόρθωσης σφαλμάτων Reed–Solomon στο επιλεγμένο επίπεδο. Έπειτα διαλέγει τη μικρότερη έκδοση που χωρά τα δεδομένα.
Οι κωδικές λέξεις τοποθετούνται στο πλέγμα σε διαδρομή ζιγκ-ζαγκ που προσπερνά τα σταθερά μοτίβα. Τέλος, ο κωδικοποιητής εφαρμόζει ένα από τα οκτώ μοτίβα μάσκας για να σπάσει μεγάλες κενές περιοχές ή μπερδεμένα σχήματα και καταγράφει τη μάσκα και το επίπεδο διόρθωσης σφαλμάτων στις πληροφορίες μορφής.
- Επιλογή τρόπου κωδικοποίησης
- Κωδικοποίηση των δεδομένων και προσθήκη κωδικών λέξεων διόρθωσης σφαλμάτων
- Επιλογή της έκδοσης (μεγέθους)
- Τοποθέτηση των μοτίβων εντοπισμού, χρονισμού και ευθυγράμμισης
- Συμπλήρωση των μονάδων δεδομένων
- Εφαρμογή της καλύτερης από τις οκτώ μάσκες και εγγραφή των πληροφοριών μορφής
Από την εικόνα της κάμερας στα δεδομένα
Η αποκωδικοποίηση εκτελεί τα ίδια βήματα αντίστροφα. Ο σαρωτής βρίσκει τα τρία μοτίβα εντοπισμού, των οποίων η αναλογία 1:1:3:1:1 σκούρου και ανοιχτού ξεχωρίζει από τις περισσότερες εικόνες, και τα χρησιμοποιεί μαζί με τα μοτίβα χρονισμού και ευθυγράμμισης για να χαρτογραφήσει το πλέγμα. Διαβάζει τις πληροφορίες μορφής, αφαιρεί τη μάσκα και συλλέγει τις κωδικές λέξεις.
Η αποκωδικοποίηση Reed–Solomon επιδιορθώνει έπειτα όσες κωδικές λέξεις διαβάστηκαν λάθος, μέχρι το όριο του επιπέδου διόρθωσης σφαλμάτων. Αν έχει καταστραφεί πάρα πολύ, ο κωδικός αποτυγχάνει να διαβαστεί αντί να επιστρέψει λάθος δεδομένα, γι' αυτό οι κωδικοί QR σπάνια δίνουν παραμορφωμένα αποτελέσματα.
Γιατί μετράνε το μέγεθος και η αντίθεση
Κάθε βήμα εξαρτάται από το αν η κάμερα ξεχωρίζει τις σκούρες μονάδες από τις ανοιχτές. Οι μικρές μονάδες, η χαμηλή αντίθεση, η αντανάκλαση, η θολούρα ή η έλλειψη ήσυχης ζώνης βάζουν περισσότερες μονάδες σε αμφιβολία και η διόρθωση σφαλμάτων μπορεί να απορροφήσει μόνο ένα μέρος. Τα σύντομα δεδομένα, η δυνατή αντίθεση και το καθαρό περιθώριο κάνουν τη δουλειά του αποκωδικοποιητή όσο πιο εύκολη γίνεται.