డేటా నుంచి ప్యాటర్న్కు
QR కోడ్ తయారీ డేటాకు సరిపోయే ఎన్కోడింగ్ మోడ్ను ఎంచుకోవడంతో మొదలవుతుంది: సంఖ్యా, ఆల్ఫాన్యూమరిక్, బైట్ లేదా కాంజీ. ఎన్కోడర్ డేటాను బిట్లుగా మార్చి, వాటిని 8-బిట్ కోడ్వర్డ్లుగా విభజించి, ఎంచుకున్న స్థాయిలో Reed–Solomon ఎర్రర్ కరెక్షన్ కోడ్వర్డ్లను జోడిస్తుంది. తర్వాత సరిపోయే అతి చిన్న వెర్షన్ను ఎంచుకుంటుంది.
కోడ్వర్డ్లు స్థిరమైన ప్యాటర్న్లను దాటవేస్తూ జిగ్జాగ్ మార్గంలో గ్రిడ్లో అమరుతాయి. చివరగా, పెద్ద ఖాళీ ప్రాంతాలను, గందరగోళపరిచే ఆకారాలను తగ్గించడానికి ఎన్కోడర్ ఎనిమిది మాస్క్ ప్యాటర్న్లలో ఒకదాన్ని వర్తింపజేసి, మాస్క్ను, ఎర్రర్ కరెక్షన్ స్థాయిని ఫార్మాట్ ఇన్ఫర్మేషన్లో నమోదు చేస్తుంది.
- ఎన్కోడింగ్ మోడ్ను ఎంచుకోవడం
- డేటాను ఎన్కోడ్ చేసి, ఎర్రర్ కరెక్షన్ కోడ్వర్డ్లను జోడించడం
- వెర్షన్ (పరిమాణం) ఎంచుకోవడం
- ఫైండర్, టైమింగ్, అలైన్మెంట్ ప్యాటర్న్లను ఉంచడం
- డేటా మాడ్యూళ్లను నింపడం
- ఎనిమిది మాస్క్లలో ఉత్తమమైనదాన్ని వర్తింపజేసి, ఫార్మాట్ ఇన్ఫర్మేషన్ రాయడం
కెమెరా ఇమేజ్ నుంచి డేటాకు
డీకోడింగ్ ఇవే దశలను వెనుకకు నడుపుతుంది. స్కానర్ మూడు ఫైండర్ ప్యాటర్న్లను కనుగొంటుంది; వాటి ముదురు, లేత 1:1:3:1:1 నిష్పత్తి చాలా చిత్రాల నుంచి ప్రత్యేకంగా కనిపిస్తుంది. వాటిని టైమింగ్, అలైన్మెంట్ ప్యాటర్న్లతో కలిపి గ్రిడ్ను మ్యాప్ చేస్తుంది. ఫార్మాట్ ఇన్ఫర్మేషన్ చదివి, మాస్క్ను తొలగించి, కోడ్వర్డ్లను సేకరిస్తుంది.
తర్వాత Reed–Solomon డీకోడింగ్, ఎర్రర్ కరెక్షన్ స్థాయి పరిమితి వరకు, తప్పుగా చదివిన కోడ్వర్డ్లను సరిచేస్తుంది. చాలా ఎక్కువ దెబ్బతిన్నట్లయితే, కోడ్ తప్పు డేటాను ఇవ్వకుండా చదవడంలో విఫలమవుతుంది; అందుకే QR కోడ్లు అరుదుగా గందరగోళ ఫలితాలను ఇస్తాయి.
పరిమాణం, కాంట్రాస్ట్ ఎందుకు ముఖ్యం
ప్రతి దశ, కెమెరా ముదురు మాడ్యూళ్లను లేత మాడ్యూళ్ల నుంచి వేరు చేయగలగడంపై ఆధారపడుతుంది. చిన్న మాడ్యూళ్లు, తక్కువ కాంట్రాస్ట్, గ్లేర్, అస్పష్టత లేదా క్వైట్ జోన్ లేకపోవడం ఇవన్నీ ఎక్కువ మాడ్యూళ్లను సందేహంలోకి నెడతాయి, ఎర్రర్ కరెక్షన్ కొంతవరకే భరించగలదు. డేటాను చిన్నగా, కాంట్రాస్ట్ను బలంగా, అంచును స్పష్టంగా ఉంచితే డీకోడర్కు పని అత్యంత సులువవుతుంది.