모두의 계산기
← 블로그로 돌아가기

디지털 생활

QR코드 모서리의 네모 세 개는 무엇일까? 방향 인식과 오류 정정 원리

QR코드의 위치 검출 패턴 세 개와 작은 격자, 여백의 역할을 설명합니다. 오류 정정 비율의 한계와 인쇄·스캔할 때 확인할 사항을 알아봅니다.

QR코드를 돌려 놓아도 휴대전화가 금방 읽는 이유는 검은 점을 무작정 처음부터 해석하지 않기 때문입니다. 먼저 코드가 어디에 있고 어느 방향인지 알아내야 합니다. 일반적인 정사각형 QR코드의 모서리 세 곳에 있는 큰 네모가 이 작업의 단서입니다. 장식이나 회사 로고가 아니라 카메라 영상 속에서 코드의 위치를 찾도록 만든 규칙적인 표식입니다.

큰 네모는 위치를 찾는 표식입니다

일반적인 QR코드에는 왼쪽 위와 오른쪽 위, 왼쪽 아래에 큰 위치 검출 패턴이 놓입니다. 코드가 회전하면 화면 속 위치도 함께 바뀌지만 세 표식 사이의 관계를 이용해 방향을 파악할 수 있습니다. 사진 속 문서와 배경에서 코드 후보를 찾은 뒤 내부 격자를 읽는 출발점이 됩니다. DENSO WAVE의 특징 설명은 세 모서리의 표식과 여러 방향에서 읽는 기능을 연결합니다.

네모의 중심을 가로지르면 검정과 흰색 구간의 폭이 1:1:3:1:1이라는 특징적인 비율을 보입니다. 주변 글자나 일반 무늬와 구분되는 패턴을 찾도록 설계한 것입니다. DENSO WAVE는 개발 과정에서 인쇄물 속에 흔하지 않은 비율을 조사했다고 설명합니다. QR코드 개발 역사에서 이 설계 배경을 확인할 수 있습니다. 단순히 검은 네모가 크기 때문에 눈에 잘 띈다는 설명보다 한 단계 더 구체적인 원리입니다.

세 모서리의 배치는 코드의 방향과 크기를 추정하는 데 도움이 됩니다. 네 번째 모서리가 다른 모습이라는 비대칭성도 방향을 구분하는 단서가 됩니다. 다만 위치 검출 패턴 세 개만 찾으면 어떤 왜곡도 완벽하게 해결된다고 설명하면 안 됩니다. 실제 판독기는 영상의 품질과 다른 기준 무늬를 함께 활용합니다. 심한 기울어짐과 흐림, 가림이 있으면 읽기 어려울 수 있습니다.

작은 네모와 줄무늬도 역할이 있습니다

코드 안에는 큰 네모 외에도 작은 정렬 패턴과 검정·흰색이 번갈아 나타나는 타이밍 패턴 등이 있습니다. 이들은 격자의 간격과 위치를 맞추는 데 쓰입니다. 데이터가 많아 코드가 커지면 기준점의 구성도 달라질 수 있습니다. 화면에 보이는 검은 부분을 전부 문자 정보라고 생각하면 이런 구조를 놓치게 됩니다. 일부는 데이터를 읽기 위한 안내 정보입니다.

일반적인 QR코드와 다른 이차원 코드도 구분해야 합니다. Micro QR처럼 더 작은 변형은 위치 검출 패턴의 개수와 구조가 다릅니다. 모든 이차원 바코드에 반드시 큰 네모 세 개가 있다는 규칙은 아닙니다. DENSO WAVE의 코드 종류 안내는 여러 형태를 설명합니다. 이 글에서 다루는 세 모서리의 설명은 일상에서 흔히 보는 일반적인 QR코드를 기준으로 합니다.

모듈 수와 버전이 정보량을 결정합니다

QR코드를 구성하는 가장 작은 검정 또는 흰색 칸을 모듈이라고 부릅니다. 일반 QR코드의 버전 1은 한 변에 21개 모듈이 있고, 버전이 하나 커질 때마다 한 변에 4개씩 늘어납니다. 버전 40은 177개입니다. 식으로 쓰면 한 변의 모듈 수는 21+4×(버전−1)입니다. DENSO WAVE의 버전 안내는 이 규칙과 용량의 관계를 설명합니다.

버전 3이라면 21+4×2=29이므로 29×29=841개의 모듈이 있습니다. 하지만 841비트를 모두 사용자 데이터에 쓸 수 있다는 뜻은 아닙니다. 위치 검출과 형식 정보, 오류 정정 등에도 공간이 필요합니다. 또한 같은 길이의 문자열이라도 숫자와 영문, 다른 언어의 문자처럼 인코딩 방식이 다르면 필요한 데이터 양이 달라집니다. 겉보기 글자 수만으로 코드 크기를 정확히 예측하기는 어렵습니다.

같은 인쇄 크기에 더 많은 데이터를 넣으면 칸이 작아질 수 있습니다. 카메라가 각 칸을 충분히 구분하지 못하면 판독이 어려워집니다. URL을 길게 넣거나 높은 오류 정정 수준을 선택했는데 코드 크기는 그대로 유지하면 이런 문제가 생길 수 있습니다. 정보를 많이 넣을 수 있다는 장점과 실제 인쇄·촬영 조건은 따로 고려해야 합니다. 내용이 적은 코드가 상대적으로 여유 있게 읽히는 이유입니다.

바깥의 흰 여백도 코드의 일부처럼 지켜야 합니다

QR코드 주변에는 다른 글자와 무늬가 없는 여백이 필요합니다. 일반 QR코드에서는 네 방향에 최소 4모듈 폭의 여백을 확보합니다. DENSO WAVE의 크기 안내는 코드 자체의 크기와 이 여백을 함께 계산합니다. 검은 테두리를 딱 붙이거나 사진 배경을 밀착시키면 판독기가 코드와 주변을 구분하기 어려울 수 있습니다.

버전 3의 한 변은 29모듈이므로 양쪽 여백 4모듈씩을 더한 전체 폭은 37모듈입니다. 한 모듈을 가정상 0.5밀리미터로 인쇄하면 전체 폭은 18.5밀리미터가 됩니다. 코드 무늬만 계산한 14.5밀리미터와 다릅니다. 이 크기가 모든 카메라와 촬영 거리에서 충분하다는 보증은 아니지만, 여백을 빼먹지 않고 레이아웃을 계산하는 방법을 보여줍니다.

오류 정정은 일부 정보가 손상돼도 복구를 돕습니다

QR코드에는 원래 정보 외에 복구를 위한 여분의 정보가 들어갑니다. 일부 코드워드가 잘못 읽히거나 손상됐을 때 수학적 관계를 이용해 복구를 시도합니다. 단순히 같은 문장을 여러 번 써 두는 것과는 다른 부호화 방식입니다. DENSO WAVE는 Reed–Solomon 부호와 오류 정정 수준을 설명합니다. 오류 정정 기능 안내를 보면 복구 능력을 높이면 필요한 데이터 공간도 늘어남을 알 수 있습니다.

보통 L·M·Q·H의 네 수준을 약 7%·15%·25%·30%라는 수치와 함께 소개합니다. 이 비율은 코드워드에 관한 복구 능력 설명이며 화면 면적의 해당 비율을 아무 위치나 덮어도 반드시 읽힌다는 뜻이 아닙니다. 위치 검출 패턴과 중요한 기준 정보가 가려지면 데이터 복구를 시작하기 전에 코드 자체를 찾지 못할 수 있습니다. 손상의 모양과 분포, 영상 품질도 결과에 영향을 줍니다.

가운데에 큰 로고를 넣어도 오류 정정이 있으니 무조건 안전하다는 디자인 요령은 위험합니다. 실제로 읽히는지 여러 기기와 인쇄 조건에서 확인해야 하며, 기준 패턴과 여백을 침범하지 않는 편이 좋습니다. 오류 정정은 우발적인 손상에 견디도록 돕는 기능이지 읽기 조건을 무시하고 마음대로 꾸미라는 허가가 아닙니다. 특히 결제와 안내에 쓰는 코드는 장식보다 확실한 판독이 먼저입니다.

구성 요소주된 역할주의할 점
큰 위치 검출 패턴 세 개영상에서 코드 위치와 방향 찾기가리거나 잘라내지 않기
타이밍·정렬 패턴격자 간격과 위치 확인단순 장식으로 생각하지 않기
데이터와 오류 정정 정보내용 전달과 일부 손상 복구30%를 임의 면적 가림 허용으로 읽지 않기
바깥 여백배경과 코드 구분일반 QR 기준 최소 4모듈 확보

코드에 웹페이지 전체가 들어 있는 것은 아닙니다

식당 메뉴 QR코드는 보통 메뉴 웹페이지로 가는 주소를 담습니다. 코드를 읽는 순간 사진과 메뉴 전체가 네모 안에서 복원되는 것이 아니라, 읽은 주소로 인터넷에 접속해 내용을 받는 것입니다. 주소가 유지되면 웹페이지 내용은 바뀔 수 있습니다. 반면 코드에 일반 텍스트를 직접 넣었다면 인터넷 없이도 그 문자를 읽을 수 있습니다. 무엇을 담았는지에 따라 필요한 연결이 다릅니다.

동적 QR이라는 이름의 서비스는 흔히 고정된 중간 주소를 코드에 넣고, 서버에서 최종 목적지를 바꾸는 방식을 사용합니다. 인쇄된 검은 칸이 원격으로 변하는 것은 아닙니다. 이 경우 중간 서비스의 운영과 계정, 구독 조건이 계속 중요할 수 있습니다. 장기간 사용할 인쇄물이라면 링크 유지와 변경 권한, 서비스 종료 때의 대응을 확인하는 편이 좋습니다.

안 읽힐 때는 정보보다 촬영 조건부터 확인합니다

카메라 렌즈를 닦고 코드 전체와 여백이 화면에 들어오도록 맞춥니다. 너무 가까워 초점이 맞지 않으면 조금 떨어져 보세요. 화면에 띄운 코드라면 밝기와 반사를 확인하고, 인쇄물은 구겨짐과 번짐이 있는지 살펴봅니다. 무작정 확대하면 코드 일부가 화면 밖으로 나가거나 작은 미리보기의 흐림만 커질 수 있습니다. 가능한 경우 원본 이미지에서 다시 시도하는 것이 좋습니다.

코드를 만들 때는 원래 격자를 흐리게 만드는 이미지 압축과 애매한 배율 축소를 줄입니다. 출력 크기에 맞는 선명한 이미지를 사용하고 실제 인쇄본을 스캔해 확인합니다. 컴퓨터 화면에서 잘 읽혔다는 사실이 작은 스티커와 반사 재질에서도 같다는 보장은 아닙니다. 사용자가 서 있을 거리와 조명, 기기의 다양성을 고려해 여유 있는 크기를 확보해야 합니다.

잘 읽히는 코드와 안전한 링크는 다릅니다

QR코드는 주소를 편하게 전달하는 수단이지 목적지의 신뢰성을 인증하는 도장처럼 작동하지 않습니다. 공격자가 정상 안내판 위에 다른 스티커를 붙이거나 사기 사이트 주소를 코드로 만들 수 있습니다. FTC의 QR 사기 안내는 이런 바꿔 붙이기와 피싱 위험을 설명합니다. 판독이 성공했다는 사실과 안전한 사이트라는 판단을 구분해야 합니다.

카메라가 보여주는 주소 미리보기를 확인하고, 결제나 로그인은 예상한 운영자의 공식 경로인지 살펴봅니다. 긴급하다는 문구와 함께 앱 설치나 인증번호 입력을 요구하면 잠시 멈추고 공식 안내를 확인하는 편이 좋습니다. QR코드를 읽기만 했다고 항상 즉시 모든 정보가 탈취되는 것은 아니지만, 뒤따르는 사이트와 행동에는 주의가 필요합니다. 익숙한 네모 모양이 신뢰를 대신하지는 않습니다.

모서리의 세 표식은 빠르게 위치와 방향을 찾게 하고, 격자와 오류 정정은 내용을 안정적으로 읽도록 돕습니다. 바깥 여백과 선명한 인쇄는 이 기능이 실제 환경에서 작동하게 하는 조건입니다. QR코드를 사용할 때는 모양의 설계 원리를 지키고, 읽은 뒤에는 목적지의 진위를 별도로 확인하면 됩니다. 편리한 인식 기술과 안전한 사용 판단을 함께 이해하는 것이 중요합니다.

참고 자료