EZ QR

Kỹ thuật đằng sau ma trận

Đối với người dùng bình thường, mã QR chỉ là một hình vuông gồm các pixel đen trắng lộn xộn. Nhưng từ quan điểm kỹ thuật, phát minh năm 1994 của Denso Wave là một bậc thầy về hình học, xử lý tín hiệu và toán học sửa lỗi.

Không giống như mã vạch tuyến tính tiêu chuẩn, chỉ biểu thị một chuỗi số dọc theo một trục, mã QR là một hệ tọa độ động, tự điều chỉnh. Đây là logic kỹ thuật chính xác đằng sau cách chúng hoạt động, cách các điểm đánh dấu cấu trúc của chúng căn chỉnh camera và phép toán nâng cao giúp chúng có thể đọc được trong những điều kiện khắc nghiệt.


1. Hình học định hướng: Các mẫu tìm kiếm và căn chỉnh

Phần dễ nhận biết nhất của mã QR là ba hình vuông lớn lồng nhau ở các góc. Về mặt kỹ thuật, chúng được gọi là Mẫu Finder.

\ ăn bản Tỷ lệ mẫu của Finder (Trên mọi góc độ): [Đen] [Trắng] [ Đen ] [Trắng] [Đen] 1 : 1 : 3 : 1 : 1 \

Tại sao lại có chính xác ba Mẫu Finder?

Trong hình học tọa độ hai chiều, cần có chính xác ba điểm phân biệt để xác định tỷ lệ, góc quay và độ nghiêng của mặt phẳng phẳng trong không gian:

  1. Xoay (Hướng lên): Vì góc thứ tư (dưới cùng bên phải) thiếu mẫu nên máy quét ngay lập tức biết hình ảnh bị lộn ngược hay nghiêng và xoay lưới dữ liệu kỹ thuật số.
  2. Tỷ lệ (Khoảng cách): Khoảng cách vật lý giữa ba điểm cho cảm biến máy ảnh biết chính xác khoảng cách của mã, cho phép phần mềm chia tỷ lệ lưới kỹ thuật số cho phù hợp.
  3. Phối cảnh/Độ nghiêng (Góc): Nếu bạn quét mã QR từ một góc cạnh sắc nét, ba điểm sẽ tạo thành một hình tam giác không đều chứ không phải là một hình tam giác vuông hoàn hảo. Máy quét sử dụng các góc méo để "làm phẳng" về mặt toán học và làm phẳng hình ảnh trước khi đọc dữ liệu.

Tỷ lệ quét 1:1:3:1:1

Các mẫu công cụ tìm được xây dựng dưới dạng hình vuông mô-đun $7\times7$ lồng nhau. Bất kể cảm biến laser hoặc máy ảnh quét qua tâm của các ô vuông này ở góc nào, tỷ lệ mô-đun đen, trắng và đen luôn không đổi về mặt toán học: 1 phần đen, 1 phần trắng, 3 phần đen, 1 phần trắng, 1 phần đen.

Vì tỷ lệ hình học cụ thể này hầu như không bao giờ xuất hiện một cách tự nhiên trong văn bản hoặc đồ họa nên máy ảnh có thể tách biệt ba góc ra khỏi nền hình ảnh phức tạp chỉ trong một phần nghìn giây.

Các hình vuông nhỏ hơn bên trong dùng để làm gì?

Khi mã QR tăng kích thước phiên bản (từ Phiên bản 2 lên Phiên bản 40), chúng kết hợp các ô vuông lồng nhau, nhỏ hơn được gọi là Mẫu căn chỉnh.

Khi mã QR được in trên bề mặt cong (như lon soda) hoặc bị biến dạng về mặt vật lý trên tờ rơi giấy nhăn, lưới tổng thể sẽ bị biến dạng. Các mẫu căn chỉnh hoạt động như các điểm neo cục bộ. Máy quét sử dụng chúng để tự động hiệu chỉnh lại lưới tọa độ trên bề mặt bị biến dạng, đảm bảo rằng sự biến dạng ở một góc không làm hỏng khả năng đọc của phần còn lại của mã.


2. Cách mã hóa dữ liệu: Ánh xạ nhị phân sang Silicon

Về cốt lõi, mã QR là bản dịch vật lý của mã nhị phân. Cảm biến hình ảnh của máy ảnh đăng ký các mô-đun tối hấp thụ ánh sáng dưới dạng nhị phân 1 và các mô-đun ánh sáng phản chiếu ánh sáng dưới dạng nhị phân 0 .

Trước khi hiển thị, dữ liệu đầu vào (chẳng hạn như URL) được xử lý thông qua một trong bốn chế độ mã hóa:

  • Số: Tốt nhất cho số thô (ánh xạ 3 chữ số thành 10 bit).
  • Chữ và số: Hỗ trợ chữ in hoa, số và ký hiệu cơ bản (ánh xạ 2 ký tự thành 11 bit).
  • Byte: Mã hóa UTF-8 tiêu chuẩn (mỗi ký tự được chuyển đổi thành biểu diễn nhị phân 8 bit tiêu chuẩn của nó).
  • Kanji: Được tối ưu hóa cho các ký tự tiếng Nhật 2 byte.

Đối với URL tiêu chuẩn như https://ez-qr-generator.com, trình tạo sẽ sử dụng chế độ Byte. Chuỗi được chuyển đổi thành một chuỗi byte 8 bit, sau đó được ánh xạ vật lý vào lưới bắt đầu từ góc dưới bên phải, ngoằn ngoèo lên và xuống trong khi bỏ qua các mẫu cấu trúc.


3. Sửa lỗi Reed-Solomon: Xây dựng lại dữ liệu bị hỏng

Đặc điểm nổi bật của mã QR là khả năng quét ngay cả khi bị rách một phần, bẩn hoặc bị che khuất. Độ tin cậy này được tạo ra bởi [Reed-Solomon Error Correction](https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_ Correction)—chính là toán học dựa trên đa thức được dùng để truyền dữ liệu từ các tàu thăm dò không gian sâu (như Voyager) và để tiếp tục phát nhạc trên các đĩa CD âm thanh bị trầy xước.

Khi mã QR được tạo, hệ thống không chỉ ghi URL của bạn. Nó xử lý các byte dữ liệu nhị phân của bạn dưới dạng hệ số của một phương trình đa thức toán học phức tạp. Bằng cách sử dụng các hệ số này, trình tạo sẽ tính toán các "byte chẵn lẻ" dư thừa và thêm chúng vào cuối dữ liệu.

Tùy thuộc vào mức sửa lỗi đã chọn, các byte chẵn lẻ này chiếm tỷ lệ phần trăm khác nhau của lưới:

  • Mức L (Thấp): Khôi phục tới 7% dữ liệu bị mất.
  • Cấp M (Trung bình): Khôi phục lên tới 15% dữ liệu bị mất.
  • Cấp Q (Phần tư): Khôi phục lên tới 25% dữ liệu bị mất.
  • Cấp H (Cao): Khôi phục tới 30% dữ liệu bị mất (rất khuyến khích đối với các mã được tạo kiểu tùy chỉnh có biểu trưng ở giữa).

Khi điện thoại quét mã bị hỏng, phần mềm đọc sẽ nhập các pixel còn sót lại vào công thức đa thức. Nhờ các đặc tính toán học của [mã Reed-Solomon](https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_ Correction), máy quét có thể giải quyết các biến bị thiếu, xác định tọa độ chính xác của các pixel bị hỏng và tái tạo lại URL gốc về mặt toán học mà không cần hình ảnh trực quan rõ ràng.


4. Bước ẩn: Các mẫu mặt nạ toán học

Nếu mã QR tự nhiên chứa một khối lớn, không bị gián đoạn gồm các mô-đun toàn màu đen hoặc toàn màu trắng, thì máy quét quang học có thể dễ dàng mất dấu vị trí của chúng trên lưới. Máy quét yêu cầu chuyển đổi thường xuyên giữa các mô-đun tối và sáng để giữ cho đồng hồ đọc bên trong của chúng được đồng bộ hóa.

Để ngăn chặn các khối đơn sắc lớn, đặc tả mã QR sử dụng tám mẫu mặt nạ toán học.

\ ăn bản Ví dụ về công thức tạo mặt nạ (Mặt nạ 0): Áp dụng XOR cho pixel nếu: (hàng + cột) % 2 == 0
Trình tạo chạy mã QR thô của bạn thông qua tất cả tám công thức tạo mặt nạ bằng thao tác XOR (đảo ngược các pixel được chỉ định dựa trên công thức lưới toán học).

Để quyết định sử dụng mặt nạ nào, trình tạo sẽ đánh giá tám kết quả theo hệ thống tính điểm phạt nghiêm ngặt:

  1. Hình phạt 1: Trừ điểm nếu năm mô-đun liên tiếp cùng màu trở lên trong một hàng hoặc cột trở lên bị trừ điểm.
  2. Hình phạt 2: Trừ điểm cho bất kỳ khối $2\times2$ nào cùng màu.
  3. Hình phạt 3: Trừ điểm đối với các mẫu giống với mẫu tìm kiếm 1:1:3:1:1 (để tránh nhầm lẫn với máy quét).
  4. Hình phạt 4: Trừ điểm nếu tỷ lệ tổng thể của các mô-đun đen trắng khác biệt đáng kể so với tỷ lệ phân chia hoàn hảo 50/50.

Mặt nạ có số điểm phạt thấp nhất sẽ được áp dụng vĩnh viễn vào lưới. Sau đó, mã định danh cho mặt nạ cụ thể đó (0 đến 7) được ghi trực tiếp vào mô-đun siêu dữ liệu bên cạnh các mẫu công cụ tìm, cho ứng dụng quét biết chính xác công thức toán học nào sẽ sử dụng để đảo ngược mặt nạ và đọc dữ liệu cơ bản.

Sẵn sàng tạo mã miễn phí đầu tiên của bạn?

Trải nghiệm tốc độ cực nhanh của EZ QR Generator hoàn toàn miễn phí.

Tạo ngay

How it works

Please remember to check this QR with your phone before you print it! If it scans, maybe you want to buy me a coffee? ☕