Từ dữ liệu thành mẫu mã
Tạo mã QR bắt đầu bằng việc chọn chế độ mã hóa phù hợp với dữ liệu: số, chữ và số, byte hoặc kanji. Bộ mã hóa chuyển dữ liệu thành các bit, chia thành các từ mã 8 bit và thêm các từ mã sửa lỗi Reed–Solomon theo mức đã chọn. Sau đó nó chọn phiên bản nhỏ nhất còn chứa vừa.
Các từ mã được xếp vào lưới theo đường ngoằn ngoèo, bỏ qua các mẫu cố định. Cuối cùng, bộ mã hóa áp dụng một trong tám mẫu mặt nạ để phá các vùng trống lớn hoặc hình dạng gây nhầm lẫn, và ghi mặt nạ cùng mức sửa lỗi vào thông tin định dạng.
- Chọn chế độ mã hóa
- Mã hóa dữ liệu và thêm các từ mã sửa lỗi
- Chọn phiên bản (kích thước)
- Đặt các mẫu định vị, đồng bộ và căn chỉnh
- Điền các mô-đun dữ liệu
- Áp dụng mặt nạ tốt nhất trong tám mặt nạ và ghi thông tin định dạng
Từ ảnh camera thành dữ liệu
Giải mã chạy lại các bước trên theo chiều ngược lại. Trình quét tìm ba ô định vị, có tỷ lệ tối sáng 1:1:3:1:1 nổi bật so với hầu hết hình ảnh, rồi dùng chúng cùng các mẫu đồng bộ và căn chỉnh để dựng lại lưới. Nó đọc thông tin định dạng, gỡ mặt nạ và thu các từ mã.
Sau đó phép giải mã Reed–Solomon sửa những từ mã bị đọc sai, tối đa đến giới hạn của mức sửa lỗi. Nếu hư hại quá nhiều, mã sẽ không đọc được thay vì trả về dữ liệu sai, đó là lý do mã QR hiếm khi cho kết quả loạn ký tự.
Vì sao kích thước và độ tương phản quan trọng
Mỗi bước đều dựa vào việc camera phân biệt được mô-đun tối với mô-đun sáng. Mô-đun nhỏ, độ tương phản thấp, chói sáng, nhòe hoặc thiếu vùng trống đều khiến nhiều mô-đun trở nên mơ hồ hơn, mà sửa lỗi chỉ hấp thụ được đến một mức nhất định. Giữ dữ liệu ngắn, độ tương phản mạnh và lề thoáng sẽ giúp bộ giải mã làm việc dễ nhất.