Cara kerja QR code

Juga disebut: encoding QR code, decoding QR code, how QR codes work

Definisi

QR code bekerja dengan mengubah data menjadi codeword, menambahkan koreksi kesalahan Reed–Solomon, dan menempatkan bit dalam kisi di sekitar pola tetap yang membantu kamera menemukan, meluruskan, dan membacanya.

Dari data menjadi pola

Membuat QR code dimulai dengan memilih encoding mode yang sesuai dengan data: numerik, alfanumerik, byte, atau kanji. Encoder mengubah data menjadi bit, membaginya menjadi codeword 8-bit, dan menambahkan codeword koreksi kesalahan Reed–Solomon pada level yang dipilih. Lalu ia memilih versi terkecil yang muat.

Codeword ditempatkan di kisi dengan jalur zigzag yang melewati pola tetap. Terakhir, encoder menerapkan salah satu dari delapan mask pattern untuk memecah area kosong yang luas atau bentuk yang membingungkan, dan mencatat mask serta level koreksi kesalahan di format information.

  • Pilih encoding mode
  • Encode data dan tambahkan codeword koreksi kesalahan
  • Pilih versi (ukuran)
  • Tempatkan finder, timing, dan alignment pattern
  • Isi modul data
  • Terapkan mask terbaik dari delapan mask dan tulis format information

Dari gambar kamera menjadi data

Decoding menjalankan langkah yang sama secara terbalik. Scanner menemukan tiga finder pattern, yang rasio gelap-terangnya 1:1:3:1:1 menonjol dari kebanyakan gambar, lalu memakainya bersama timing dan alignment pattern untuk memetakan kisi. Ia membaca format information, melepas mask, dan mengumpulkan codeword.

Decoding Reed–Solomon kemudian memperbaiki codeword yang salah terbaca, sampai batas level koreksi kesalahan. Jika terlalu banyak yang rusak, kode gagal terbaca alih-alih mengembalikan data yang salah, itulah sebabnya QR code jarang menghasilkan hasil yang kacau.

Mengapa ukuran dan kontras penting

Setiap langkah bergantung pada kemampuan kamera membedakan modul gelap dari terang. Modul kecil, kontras rendah, silau, buram, atau quiet zone yang hilang membuat makin banyak modul diragukan, dan koreksi kesalahan hanya bisa menyerap sampai batas tertentu. Menjaga data tetap pendek, kontras kuat, dan margin bersih membuat tugas decoder paling mudah.

Pertanyaan yang sering diajukan

Bagaimana ponsel tahu di mana QR code berada?

Ia mencari tiga finder pattern berbentuk kotak besar di sudut-sudutnya. Rasio khasnya 1:1:3:1:1 memungkinkan scanner menemukannya dari sudut mana pun dan menentukan orientasi.

Mengapa QR code punya mask pattern?

Mask membalik modul dengan pola tertentu agar kode terhindar dari area solid yang luas dan bentuk yang mirip finder pattern. Encoder mencoba kedelapan mask dan memilih yang paling andal terbaca.

Bisakah QR code dibaca terbalik?

Bisa. Finder pattern memberi tahu scanner orientasinya, sehingga QR code bisa dibaca pada rotasi apa pun.

Sumber dan standar

Semua istilah