Daripada data kepada corak
Membuat kod QR bermula dengan memilih mod pengekodan yang sesuai dengan data: angka, abjad angka, bait atau kanji. Pengekod menukar data kepada bit, membahagikannya kepada kata kod 8 bit dan menambah kata kod pembetulan ralat Reed–Solomon pada tahap yang dipilih. Kemudian ia memilih versi terkecil yang muat.
Kata kod diletakkan dalam grid mengikut laluan zigzag yang melangkau corak tetap. Akhir sekali, pengekod menggunakan satu daripada lapan corak topeng untuk memecahkan kawasan kosong yang besar atau bentuk yang mengelirukan, dan merekodkan topeng serta tahap pembetulan ralat dalam maklumat format.
- Pilih mod pengekodan
- Kodkan data dan tambah kata kod pembetulan ralat
- Pilih versi (saiz)
- Letakkan corak pencari, pemasaan dan penjajaran
- Isi modul data
- Gunakan topeng terbaik daripada lapan topeng dan tulis maklumat format
Daripada imej kamera kepada data
Penyahkodan menjalankan langkah yang sama secara terbalik. Pengimbas mencari tiga corak pencari, yang nisbah gelap dan cerahnya 1:1:3:1:1 menonjol daripada kebanyakan imej, dan menggunakannya bersama corak pemasaan dan penjajaran untuk memetakan grid. Ia membaca maklumat format, membuang topeng dan mengumpulkan kata kod.
Penyahkodan Reed–Solomon kemudian membaiki mana-mana kata kod yang tersalah baca, sehingga had tahap pembetulan ralat. Jika terlalu banyak yang rosak, kod itu gagal dibaca dan bukannya memulangkan data yang salah, itulah sebabnya kod QR jarang menghasilkan keputusan yang kacau.
Kenapa saiz dan kontras penting
Setiap langkah bergantung pada kamera membezakan modul gelap daripada modul cerah. Modul kecil, kontras rendah, silau, kabur atau zon senyap yang tiada semuanya menjadikan lebih banyak modul meragukan, dan pembetulan ralat hanya dapat menampung setakat tertentu. Memastikan data pendek, kontras kuat dan jidar jelas memberikan tugas yang paling mudah kepada penyahkod.