15 बिट में क्या होता है
फ़ील्ड की शुरुआत 5 डेटा बिट से होती है: 2 बिट एरर करेक्शन लेवल के लिए और 3 बिट मास्क पैटर्न की संख्या के लिए। फिर BCH एरर करेक्शन के दस और बिट जोड़े जाते हैं, जिससे यह BCH(15,5) कोड बनता है।
15 बिट के इस नतीजे को फिर तय पैटर्न 101010000010010 से XOR किया जाता है। इससे फ़ील्ड कभी पूरी तरह हल्का नहीं हो पाता, जो कोड का किनारा ढूँढते रीडर को भ्रमित कर सकता था।
- एरर करेक्शन लेवल के बिट: L = 01, M = 00, Q = 11, H = 10
- मास्क पैटर्न: 3 बिट, 000 से 111
- एरर करेक्शन: 10 BCH बिट
- तय XOR मास्क: 101010000010010
यह कहाँ संग्रहीत होता है
एक प्रति ऊपर-बाएँ फ़ाइंडर पैटर्न के चारों ओर, उसके सेपरेटर के पास वाली पंक्ति और स्तंभ में लिपटी होती है। दूसरी प्रति ऊपर-दाएँ फ़ाइंडर के नीचे के हिस्से और नीचे-बाएँ फ़ाइंडर के बगल वाले हिस्से में बँटी होती है।
दो प्रतियों का मतलब है कि एक कोना खराब होने पर भी कोड डिकोड हो सकता है। नीचे-बाएँ वाली प्रति के बगल में एक अकेला मॉड्यूल होता है जो हमेशा गहरा रहता है, जिसे डार्क मॉड्यूल कहते हैं और जो डेटा का हिस्सा नहीं है।
इसे सबसे पहले क्यों पढ़ा जाता है
स्कैनर तब तक डेटा डिकोड नहीं कर सकता जब तक उसे यह न पता हो कि कौन-सा मास्क हटाना है और कोडवर्ड डेटा तथा एरर करेक्शन में कैसे बँटे हैं। फ़ॉर्मैट इन्फ़ॉर्मेशन दोनों सवालों का जवाब देता है, इसलिए फ़ाइंडर पैटर्न ढूँढते ही इसे पढ़ा जाता है। Micro QR कोड एक ही 15-बिट फ़ॉर्मैट फ़ील्ड इस्तेमाल करते हैं, जो चिह्न का वर्शन भी एन्कोड करता है।