
Cách mã QR vẫn hoạt động khi bị trầy xước
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.
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%.
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.
Đú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.
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.
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 ảnh
Cơ chế nắn chỉnh giọng hát của công nghệ Auto-tune
Cách nếm thử một muỗng để biết vị cả nồi canh
Cách thuật toán nhận diện và lọc bỏ các đánh giá ảo
Cách mạng xã hội gợi ý những người bạn có thể biết