2진수로 변환되는 가로형 바코드, 담을 수 있는 정보의 양이 한정적
QR코드, 가로-세로에 정보 저장… 셀 크기가 클수록 더 많이 담겨
일정 패턴 사용해 빠른 인식 가능…연락처-사진 공유 등 일상서 활용
서울의 한 재래시장 전통과자 가게에 QR코드 안내판이 설치돼 있다. 이 QR코드를 통해 해당 상점을 카카오톡 친구로 추가하면 새로운 소식 등을 받아볼 수 있다. 이처럼 QR코드는 일상 속에서 다양하게 쓰이고 있다. 동아일보 DB
식품 포장지에는 영양 성분과 알레르기 유발 물질 등의 식품 정보가 표시됩니다. 그러나 제한된 포장지 면적에 작은 글씨로 빼곡하게 표시돼 내용을 확인하기 어려운 경험을 한 번쯤은 해 보셨을 겁니다.
이에 최근 식품의약품안전처는 식품 포장지에서 QR코드를 인식해 식품 정보를 자세히 확인할 수 있도록 하는 식품·의약품 표시제도 개선 정책을 발표했습니다. 기존 포장지에 표시되는 정보뿐만 아니라 조리법, 건강정보, 회수 대상 상품 여부 등도 QR코드를 통해 확인할 수 있다고 합니다.
● 코로나19 유행으로 QR코드 사용 늘어 QR코드는 신종 코로나바이러스 감염증(코로나19) 팬데믹 이후 전 세계에서 더 널리 활용되고 있습니다. 코로나19 확산기에 스마트폰을 꺼내 QR코드로 인증하는 장면이 일상이 됐습니다. 이제는 식당 출입을 위해 QR코드를 사용하진 않지만, QR코드는 여전히 다양한 분야에서 활용되며 디지털 시대를 사는 우리 삶의 일부가 됐다고 해도 과언이 아닙니다.
여러분도 학습 자료에 접근하거나, 연락처를 공유하거나, 공유 자전거를 이용하는 등 다양한 상황에서 QR코드를 사용해 본 적 있을 겁니다. 이번 지면에서는 QR코드에 대해서 알아보겠습니다.
QR코드는 흔히 2차원 바코드라고 하는데요, 바코드는 말 그대로 ‘막대(bar)’로 된 ‘부호(code)’입니다. 굵기가 다른 검은색과 흰색 막대를 특정한 형태로 조합해 기계가 읽을 수 있는 형태로 정보를 표현합니다. 예를 들면, 〈그림 1〉과 같이 흑백 막대의 차이를 이용하여 2진수 0과 1을 나타냅니다.
검은색은 빛을 흡수하고, 흰색은 빛을 반사하죠? 서로 다른 반사율을 가진 검은색과 흰색의 막대는 광선을 이용하는 스캐너를 통해 감지돼 0과 1로 분류됩니다. 컴퓨터가 읽을 수 있는 2진수로 변환되는 겁니다. 컴퓨터는 이러한 비트열을 해석해 제품의 가격, 크기, 무게 등과 같은 정보를 처리할 수 있습니다. 바코드가 우리 주변의 물건들을 디지털 세상과 연결하는 역할을 하는 것이죠.
그러나 바코드는 가로 방향으로만 정보를 담을 수 있어 저장할 수 있는 정보의 양에 제약이 있습니다. 더 많은 정보를 담을 수 있는 방법이 필요해 2차원, 즉 가로와 세로 방향으로 정보를 저장할 수 있는 QR코드가 개발됐습니다. QR코드는 바코드와 같이 정보를 시각적으로 표현하고, 기능면에서도 비슷합니다. 이 때문에 더 이상 바(bar)는 없지만 ‘2차원 바코드’라고 부르기도 합니다.
● 정사각형의 바코드 탄생, QR코드 QR코드는 셀이라고 부르는 작은 정사각형의 점으로 구성됩니다. 가로와 세로를 활용해 최소 21×21셀에서 최대 177×177셀 크기까지 가능해 길이가 긴 인터넷주소(URL), 사진, 동영상, 명함 등을 담을 수 있습니다. 데이터양이 늘어날수록 셀이 많이 필요해 QR코드의 크기가 커지게 됩니다. 〈그림 2〉의 QR코드를 스마트폰 카메라로 스캔해서 비교해 볼까요?
두 코드를 주의 깊게 살펴보면 4개 모서리 중 3개는 동일한 패턴을 보입니다. 이는 위치검출패턴으로 ‘여기에 코드가 있다’는 위치 정보입니다. 코드 이미지가 회전되더라도, 즉 360도 어느 방향에서든 빠르게 인식이 가능하도록 설계돼 있습니다.
여기에 얽힌 일화를 하나 소개해 드리겠습니다. 코드에 위치검출패턴이 있더라도 비슷한 패턴이 근처에 있으면 코드 스캐너는 그것을 코드라고 착각할 수 있겠죠? 이를 방지하기 위해 전단지나 잡지 등에 있는 그림이나 문자 등을 모두 흑백으로 바꾸고, 면적 비율을 조사해 가장 덜 사용되는 비율을 찾아냈다고 합니다. 그게 바로 1:1:3:1:1입니다.
〈그림 3〉과 같이 검은색 셀과 흰색 셀이 1:1:3:1:1의 비율을 갖는 패턴을 사용함으로써 배경의 영향을 받지 않고 안정적이고 빠르게 인식이 가능하도록 한 것입니다. 참고로 QR코드는 ‘빠른 응답(Quick Response)’ 코드의 줄임말입니다.
그리고 QR코드는 코드의 일부분이 오염되거나 손상된 경우 오류 정정 기능을 통해 데이터의 일부를 복원할 수 있습니다. 최근 생성형 AI를 활용하여 QR코드와 다양한 이미지를 결합해 단순한 흑백 패턴을 벗어나 매력적인 시각적 요소를 포함하는 코드를 종종 볼 수 있습니다. 이는 QR코드의 오류 정정 기능 덕분이기도 합니다. 여러분도 QR코드 생성기를 검색해 쉽게 QR코드를 만들어 볼 수 있습니다. 어떤 용도로 만들지 벌써 궁금해지네요.
김학인 한성과학고 교사