ڈیٹا سے پیٹرن تک
QR کوڈ بنانے کا آغاز ڈیٹا کے مطابق انکوڈنگ موڈ چننے سے ہوتا ہے: عددی، الفا نیومیرک، بائٹ یا کانجی۔ انکوڈر ڈیٹا کو بٹس میں بدلتا ہے، انہیں 8 بٹ کے کوڈورڈز میں تقسیم کرتا ہے اور چنے گئے لیول پر Reed–Solomon ایرر کریکشن کوڈورڈز شامل کرتا ہے۔ پھر وہ سب سے چھوٹا ورژن چنتا ہے جس میں سب سما جائے۔
کوڈورڈز کو گرڈ میں زگ زیگ راستے سے رکھا جاتا ہے جو مقررہ پیٹرنز کو چھوڑ دیتا ہے۔ آخر میں انکوڈر آٹھ ماسک پیٹرنز میں سے ایک لگاتا ہے تاکہ بڑے خالی حصے یا الجھانے والی شکلیں ٹوٹ جائیں، اور ماسک اور ایرر کریکشن لیول کو فارمیٹ انفارمیشن میں درج کرتا ہے۔
- انکوڈنگ موڈ چنیں
- ڈیٹا انکوڈ کریں اور ایرر کریکشن کوڈورڈز شامل کریں
- ورژن (سائز) چنیں
- فائنڈر، ٹائمنگ اور الائنمنٹ پیٹرن رکھیں
- ڈیٹا ماڈیولز بھریں
- آٹھ ماسکس میں سے بہترین لگائیں اور فارمیٹ انفارمیشن لکھیں
کیمرے کی تصویر سے ڈیٹا تک
ڈی کوڈنگ انہی مراحل کو الٹی ترتیب میں چلاتی ہے۔ اسکینر تین فائنڈر پیٹرن ڈھونڈتا ہے، جن کا گہرے اور ہلکے کا 1:1:3:1:1 تناسب زیادہ تر تصاویر میں الگ نظر آتا ہے، اور انہیں ٹائمنگ اور الائنمنٹ پیٹرنز کے ساتھ گرڈ کا نقشہ بنانے میں استعمال کرتا ہے۔ وہ فارمیٹ انفارمیشن پڑھتا ہے، ماسک ہٹاتا ہے اور کوڈورڈز جمع کرتا ہے۔
پھر Reed–Solomon ڈی کوڈنگ ان کوڈورڈز کی مرمت کرتی ہے جو غلط پڑھے گئے ہوں، ایرر کریکشن لیول کی حد تک۔ اگر بہت زیادہ خراب ہو تو کوڈ غلط ڈیٹا لوٹانے کے بجائے پڑھنے میں ناکام ہو جاتا ہے، اسی لیے QR کوڈ سے شاذ ہی الٹا سیدھا نتیجہ ملتا ہے۔
سائز اور کنٹراسٹ کیوں اہم ہیں
ہر قدم اس پر منحصر ہے کہ کیمرہ گہرے ماڈیولز کو ہلکے سے الگ پہچان سکے۔ چھوٹے ماڈیولز، کم کنٹراسٹ، چمک، دھندلاہٹ یا کوائٹ زون کی کمی زیادہ ماڈیولز کو شک میں ڈال دیتی ہے، اور ایرر کریکشن صرف ایک حد تک سنبھال سکتی ہے۔ ڈیٹا کو مختصر، کنٹراسٹ کو مضبوط اور حاشیے کو صاف رکھنے سے ڈی کوڈر کا کام سب سے آسان ہو جاتا ہے۔