Πώς λειτουργούν οι κωδικοί QR

Λέγεται και: κωδικοποίηση κωδικών QR, αποκωδικοποίηση κωδικών QR, how QR codes work

Ορισμός

Ο κωδικός QR λειτουργεί μετατρέποντας τα δεδομένα σε κωδικές λέξεις, προσθέτοντας διόρθωση σφαλμάτων Reed–Solomon και τοποθετώντας τα bit σε πλέγμα γύρω από σταθερά μοτίβα που βοηθούν την κάμερα να τον βρει, να τον ισιώσει και να τον διαβάσει.

Από τα δεδομένα στο μοτίβο

Η δημιουργία ενός κωδικού QR ξεκινά με την επιλογή τρόπου κωδικοποίησης που ταιριάζει στα δεδομένα: αριθμητικός, αλφαριθμητικός, byte ή kanji. Ο κωδικοποιητής μετατρέπει τα δεδομένα σε bit, τα χωρίζει σε κωδικές λέξεις των 8 bit και προσθέτει κωδικές λέξεις διόρθωσης σφαλμάτων Reed–Solomon στο επιλεγμένο επίπεδο. Έπειτα διαλέγει τη μικρότερη έκδοση που χωρά τα δεδομένα.

Οι κωδικές λέξεις τοποθετούνται στο πλέγμα σε διαδρομή ζιγκ-ζαγκ που προσπερνά τα σταθερά μοτίβα. Τέλος, ο κωδικοποιητής εφαρμόζει ένα από τα οκτώ μοτίβα μάσκας για να σπάσει μεγάλες κενές περιοχές ή μπερδεμένα σχήματα και καταγράφει τη μάσκα και το επίπεδο διόρθωσης σφαλμάτων στις πληροφορίες μορφής.

  • Επιλογή τρόπου κωδικοποίησης
  • Κωδικοποίηση των δεδομένων και προσθήκη κωδικών λέξεων διόρθωσης σφαλμάτων
  • Επιλογή της έκδοσης (μεγέθους)
  • Τοποθέτηση των μοτίβων εντοπισμού, χρονισμού και ευθυγράμμισης
  • Συμπλήρωση των μονάδων δεδομένων
  • Εφαρμογή της καλύτερης από τις οκτώ μάσκες και εγγραφή των πληροφοριών μορφής

Από την εικόνα της κάμερας στα δεδομένα

Η αποκωδικοποίηση εκτελεί τα ίδια βήματα αντίστροφα. Ο σαρωτής βρίσκει τα τρία μοτίβα εντοπισμού, των οποίων η αναλογία 1:1:3:1:1 σκούρου και ανοιχτού ξεχωρίζει από τις περισσότερες εικόνες, και τα χρησιμοποιεί μαζί με τα μοτίβα χρονισμού και ευθυγράμμισης για να χαρτογραφήσει το πλέγμα. Διαβάζει τις πληροφορίες μορφής, αφαιρεί τη μάσκα και συλλέγει τις κωδικές λέξεις.

Η αποκωδικοποίηση Reed–Solomon επιδιορθώνει έπειτα όσες κωδικές λέξεις διαβάστηκαν λάθος, μέχρι το όριο του επιπέδου διόρθωσης σφαλμάτων. Αν έχει καταστραφεί πάρα πολύ, ο κωδικός αποτυγχάνει να διαβαστεί αντί να επιστρέψει λάθος δεδομένα, γι' αυτό οι κωδικοί QR σπάνια δίνουν παραμορφωμένα αποτελέσματα.

Γιατί μετράνε το μέγεθος και η αντίθεση

Κάθε βήμα εξαρτάται από το αν η κάμερα ξεχωρίζει τις σκούρες μονάδες από τις ανοιχτές. Οι μικρές μονάδες, η χαμηλή αντίθεση, η αντανάκλαση, η θολούρα ή η έλλειψη ήσυχης ζώνης βάζουν περισσότερες μονάδες σε αμφιβολία και η διόρθωση σφαλμάτων μπορεί να απορροφήσει μόνο ένα μέρος. Τα σύντομα δεδομένα, η δυνατή αντίθεση και το καθαρό περιθώριο κάνουν τη δουλειά του αποκωδικοποιητή όσο πιο εύκολη γίνεται.

Συχνές ερωτήσεις

Πώς ξέρει το κινητό πού είναι ο κωδικός QR;

Ψάχνει για τα τρία μεγάλα τετράγωνα μοτίβα εντοπισμού στις γωνίες. Η χαρακτηριστική αναλογία 1:1:3:1:1 επιτρέπει στον σαρωτή να τα βρίσκει από κάθε γωνία και να καταλαβαίνει τον προσανατολισμό.

Γιατί οι κωδικοί QR έχουν μοτίβο μάσκας;

Η μάσκα αναστρέφει μονάδες με συγκεκριμένο μοτίβο, ώστε ο κωδικός να αποφεύγει μεγάλες συμπαγείς περιοχές και σχήματα που μοιάζουν με μοτίβα εντοπισμού. Ο κωδικοποιητής δοκιμάζει και τις οκτώ μάσκες και κρατά αυτή που διαβάζεται πιο αξιόπιστα.

Μπορεί να διαβαστεί ένας κωδικός QR ανάποδα;

Ναι. Τα μοτίβα εντοπισμού δείχνουν στον σαρωτή τον προσανατολισμό, οπότε ένας κωδικός QR μπορεί να διαβαστεί σε οποιαδήποτε περιστροφή.

Πηγές και πρότυπα

Όλοι οι όροι