Mã QR hoạt động như thế nào

Còn gọi là: mã hóa mã QR, giải mã mã QR, How QR codes work

Định nghĩa

Mã QR hoạt động bằng cách chuyển dữ liệu thành các từ mã, thêm phần sửa lỗi Reed–Solomon, rồi đặt các bit vào lưới xung quanh những mẫu cố định giúp camera tìm, nắn thẳng và đọc mã.

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.

Câu hỏi thường gặp

Điện thoại biết mã QR ở đâu bằng cách nào?

Nó tìm ba ô định vị hình vuông lớn ở các góc. Tỷ lệ 1:1:3:1:1 đặc trưng giúp máy quét nhận ra chúng từ mọi góc và suy ra hướng của mã.

Vì sao mã QR có mẫu mặt nạ?

Mặt nạ đảo các mô-đun theo một quy luật cố định để mã tránh những vùng đặc lớn và các hình giống ô định vị. Bộ mã hóa thử cả tám mặt nạ và giữ lại mặt nạ cho kết quả đọc ổn định nhất.

Mã QR có đọc được khi bị lộn ngược không?

Có. Các ô định vị cho máy quét biết hướng, nên mã QR đọc được ở mọi góc xoay.

Nguồn và tiêu chuẩn

Tất cả thuật ngữ