사실을 들여다보면

QR 코드의 일부가 긁히거나 더러워져도 읽히는 비결은 같은 그림을 여러 번 저장해서가 아닙니다. 데이터에 오류 정정용 정보를 계산해 함께 넣어 두고, 스캐너가 남아 있는 조각으로 빠진 부분을 추론하도록 설계했기 때문입니다.

QR 코드는 글자와 숫자를 작은 흑백 칸의 배열로 바꿉니다. 여기에 리드-솔로몬 오류 정정이라는 수학적 부호를 더합니다. 읽힌 값에 오류가 섞여 있어도 이 여분의 부호가 어느 부분이 잘못되었는지 찾고 원래 데이터 블록을 복원하는 데 도움을 줍니다.

오류 정정 강도는 L, M, Q, H 네 단계로 선택할 수 있습니다. DENSO WAVE가 제시하는 대략적인 복원 비율은 각각 코드워드의 7%, 15%, 25%, 30%입니다. 강한 단계를 쓰면 더 많이 복구할 수 있지만 같은 크기에 담을 수 있는 실제 데이터는 줄어듭니다.

세 모서리의 큰 네모는 데이터 자체가 아니라 위치 탐지 패턴입니다. 카메라는 이를 보고 코드의 방향과 크기를 빠르게 파악합니다. 주변의 빈 여백과 작은 정렬 패턴도 칸의 위치를 계산하는 데 중요합니다.

그래서 '30%를 가려도 무조건 된다'는 뜻은 아닙니다. 손상이 특정 핵심 패턴을 없애거나, 초점이 흐리거나, 대비와 여백이 부족하면 정정 한도 안처럼 보여도 실패할 수 있습니다. 복원 비율도 단순한 화면 면적이 아니라 코드워드 기준입니다.

QR 코드가 끈질기게 읽히는 능력은 여분 정보와 구조 표시가 함께 만든 결과입니다. 중요한 코드를 만들 때는 내용을 지나치게 많이 넣지 않고, 충분한 크기와 대비, 여백을 확보하는 것이 오류 정정만큼 중요합니다.