SoDeep IconSoDeep
·
Cách mã QR vẫn hoạt động khi bị trầy xước

Cách mã QR vẫn hoạt động khi bị trầy xước

@Sâu Thuật Toán · 18 tháng 6, 2026

Mã QR là "kẻ sống dai" nhờ tư duy dự phòng dữ liệu cực đoan. Ngay cả khi bị trầy xước hay mất tới 30% diện tích, nó vẫn hoạt động trơn tru nhờ một hệ thống tự sửa lỗi thông minh.

Bí mật nằm ở việc nó tạo ra các "mảnh ghép dự phòng" và rải đều khắp bề mặt. Giống như một câu đố mà mỗi mảnh ghép đều chứa một phần thông tin của mảnh bên cạnh, giúp bức tranh luôn toàn vẹn.

Khi máy quét gặp vết bẩn, nó chỉ việc dùng logic để suy luận ra phần bị mất từ những mảnh còn lại. Một cơ chế bù đắp dữ liệu cực kỳ thực dụng mà không cần đến sự hoàn hảo.

Khoan, làm sao máy quét biết chính xác cái gì bị mất mà bù vào?

Nó không hề "đoán mò" đâu. Hãy tưởng tượng một phép tính: 2 + 3 + 4 = 9. Nếu vết bẩn che mất số 3, máy quét vẫn thấy "2 + ? + 4 = 9" và dễ dàng tính ra số thiếu là 3.

Dữ liệu QR được mã hóa thành các phương trình toán học. Các "mảnh dự phòng" chính là những kết quả tính toán dư thừa được cài cắm sẵn từ lúc tạo mã.

Khi bị rách, máy quét chỉ cần giải ngược các phương trình này để tìm lại ẩn số. Miễn là hư hại không quá nặng, nó luôn khôi phục được dữ liệu gốc chính xác 100%.

Ranh giới nào khiến đống phương trình đó không còn giải nổi nữa?

Mọi "siêu năng lực" đều có giới hạn. Trong thế giới QR, ranh giới đó thường dừng lại ở mức 30% diện tích. Nếu vết bẩn che khuất quá con số này, máy quét sẽ chính thức "bó tay" vì phương trình xuất hiện quá nhiều ẩn số cùng lúc.

Lúc này, các mảnh dự phòng không còn đủ để "gánh" phần dữ liệu bị mất. Nó giống như việc bạn cố đoán một câu văn 10 chữ nhưng bị gạch xóa mất tận 7 chữ, manh mối còn lại là quá ít để khôi phục nguyên bản.

Thực tế, bạn có thể chọn "độ lì lợm" cho mã QR khi tạo ra nó. Muốn mã càng bền bỉ trước trầy xước, bạn phải chấp nhận nhồi nhét nhiều dữ liệu dự phòng hơn, khiến các ô vuông nhỏ trở nên dày đặc và phức tạp hơn hẳn.

Ủa, vậy muốn nhét nhiều chữ mà vẫn bền thì cái mã phải to phình ra à?

Đúng vậy, mã QR có các "phiên bản" từ 1 đến 40. Càng nhiều thông tin và càng nhiều lớp "bảo hiểm" dự phòng, số lượng ô vuông li ti sẽ càng tăng lên để có đủ chỗ chứa.

Nó giống như việc bạn xếp gạch. Muốn xây một bức tường vừa cao để chứa nhiều tin, vừa dày để khó đổ, bạn buộc phải dùng nhiều gạch hơn. Kết quả là "ma trận" QR sẽ trở nên dày đặc, chi tiết và trông rối mắt hơn hẳn.

Tuy nhiên, nếu bạn cố in hàng nghìn ô vuông đó lên một diện tích quá nhỏ, camera sẽ bị "cận thị" và không thể phân biệt nổi trắng đen. Đó là giới hạn vật lý mà phần mềm không thể cứu vãn.

Mấy cái ô vuông to ở góc có dùng để chứa dữ liệu không?

Không đâu, đó là những "mỏ neo" định vị. Nếu coi đống dữ liệu li ti là nội dung cuốn sách, thì ba ô vuông lớn ở góc chính là cái bìa giúp máy quét biết đâu là đầu, đâu là đuôi.

Nhờ chúng, bạn có thể quét mã khi điện thoại đang cầm ngược, nghiêng hay thậm chí là bị méo. Máy quét sẽ tìm ba "cột mốc" này trước để dựng lại khung hình chuẩn, sau đó mới bắt đầu giải mã các ô nhỏ bên trong.

Nếu thiếu những ô vuông này, máy quét sẽ lạc lối giữa một rừng điểm đen trắng mà không biết phải bắt đầu từ đâu. Nó là quy tắc logic để biến một đống hỗn độn thành thông tin có cấu trúc.

Trải nghiệm duyệt thẻ →

Chủ đề liên quan

Cơ chế AI tự động tô màu cho những thước phim đen trắng cũCơ chế tự động lấy nét vào mắt người của máy ảnhCơ chế nắn chỉnh giọng hát của công nghệ Auto-tuneCách nếm thử một muỗng để biết vị cả nồi canhCách thuật toán nhận diện và lọc bỏ các đánh giá ảoCách mạng xã hội gợi ý những người bạn có thể biết