ماسکنگ کیا کرتی ہے
ڈیٹا اور ایرر کریکشن بٹس رکھنے کے بعد کچھ حصوں میں ایک رنگ کی لمبی قطاریں یا فائنڈر پیٹرن جیسی شکلیں بن سکتی ہیں۔ ماسکنگ اسے یوں ٹھیک کرتی ہے کہ جہاں کوئی سادہ فارمولا درست ہو وہاں ماڈیولز الٹ دیتی ہے، جس سے گہرا اور ہلکا زیادہ یکساں پھیل جاتا ہے۔
ماسک صرف ڈیٹا اور ایرر کریکشن والے حصے پر لگتا ہے۔ فائنڈر، ٹائمنگ اور الائنمنٹ پیٹرن، فارمیٹ اور ورژن انفارمیشن، اور ڈارک ماڈیول پر کبھی ماسک نہیں لگتا۔
آٹھ ماسک
ماسک 000 سے 111 تک نمبر شدہ ہیں۔ ہر ایک ماڈیول کی قطار i اور کالم j پر ایک شرط سے بیان ہوتا ہے؛ جہاں شرط پوری ہو وہ ماڈیول الٹ دیا جاتا ہے۔ ریڈر ماسک نمبر فارمیٹ انفارمیشن سے جانتا ہے اور اسی ماسک کو دوبارہ لگا کر اسے ختم کرتا ہے۔
- 000: (i + j) mod 2 = 0، شطرنج کا تختہ
- 001: i mod 2 = 0، باری باری قطاریں
- 010: j mod 3 = 0، ہر تیسرا کالم
- 011: (i + j) mod 3 = 0، ترچھی دھاریاں
- 100 سے 111: قطاروں، کالموں اور حاصل ضرب کے مزید پیچیدہ مجموعے
بہترین ماسک کیسے چنا جاتا ہے
انکوڈر آٹھوں ماسک آزماتا ہے اور ہر نتیجے کو چار پینلٹی اصولوں سے اسکور کرتا ہے۔ سب سے کم کل پینلٹی والا ماسک استعمال ہوتا ہے، جو تیار کوڈ کو کیمروں کے لیے پڑھنا آسان بناتا ہے۔
کچھ جنریٹر مکمل جانچ چھوڑ کر مقررہ ماسک استعمال کرتے ہیں، جس سے درست کوڈ تو بنتا ہے لیکن اسکین کرنا کچھ زیادہ مشکل ہو سکتا ہے۔ Micro QR کوڈز چار ماسک کا چھوٹا سیٹ اور اپنا اسکورنگ اصول استعمال کرتے ہیں۔
- اصول 1: قطار یا کالم میں ایک رنگ کی لمبی قطاریں
- اصول 2: ایک رنگ کے 2 × 2 بلاکس
- اصول 3: وہ پیٹرن جو 1:1:3:1:1 کے فائنڈر تناسب سے ملتے جلتے ہوں
- اصول 4: گہرے اور ہلکے ماڈیولز کے درمیان مجموعی عدم توازن