QR코드의 원리를 알아보자!

발행일 발행호수 2601
글자 크기 조절
공유하기
주소가 복사되었습니다.
원하는 곳에 붙여넣기(Ctrl+V)해주세요.
인쇄하기
북마크추가

전자출입명부시스템이 일상화되며 QR코드는 우리 일상 속에 빠르게 자리 잡았습니다. QR코드는 카드사에서 간편 결제 수단으로, 포털 사이트에선 간편 로그인 수단으로, 기업에서는 마케팅 수단으로, 명함이나 책 등에서는 인쇄물만으로 부족한 정보를 제공하는 용도로도 쓰이고 있는데요. 체스판 무늬의 작은 네모가 어떻게 이렇게나 다양하게 사용될 수 있는 걸까요? 지금부터 QR코드의 원리에 대해 알아보도록 하겠습니다.

1.바코드부터 알아야 한다.

QR코드를 설명하기 위해서는 바코드부터 알아야 합니다. QR코드는 바코드와 인식 원리가 같고, 바코드의 단점을 보완하기 위해 만들어진 코드이기 때문입니다.

컴퓨터는 0과 1만 사용하는 2진법으로 정보를 처리합니다. 전기 신호의 ON과 OFF만 구분할 수 있기 때문이죠. 검정색은 모든 빛을 흡수하고, 하얀색은 모든 빛을 반사하는 성질이 있는데요. 바코드는 하얀색 선이 반사한 빛을 신호로 감지하여 0으로, 검정색 선에서는 신호가 없으니 1로 인식하여 정보를 처리합니다. 바코드의 굵기가 조금씩 달라 보이는 것은 사실 같은 길이의 막대가 연속해서 배치된 것입니다.

바코드 아래에는 해당 바코드를 십진수로 나타낸 13자리의 숫자가 있는데요. 처음 세 자리는 국가 코드, 다음 네 자리는 제조업체 코드, 마지막 한 자리는 검증 코드로, 실질적으로는 다섯 자리만 제품 코드로 사용됩니다. 따라서 바코드로 표시할 수 있는 제품의 정보는 20글자에 불과했습니다. 영어가 아닌 문자는 표시할 수도 없었죠.

1994년 일본의 덴소웨이브社는 이러한 단점을 보완하여 QR코드를 개발합니다.

2.QR코드는 2차원 바코드

바코드는 가로로만 정보를 표시할 수 있었지만 QR코드는 가로와 세로로 동시에 표시할 수 있어 ‘2차원 바코드’라고도 불립니다. 가로와 세로의 조합이 가능해지며 표시할 수 있는 정보의 종류와 양이 획기적으로 증가했는데요. 다행히도 개발사 덴소웨이브가 특허권을 행사하지 않겠다고 선언하여 QR코드는 누구나 다양한 목적으로 쉽게 제작 및 사용할 수 있습니다. 아래의 표에 바코드와 QR코드를 비교해 두었으니 참고하시면 좋을 것 같습니다.

3.QR코드의 구조

QR코드를 기능적으로 세 부분으로 나누면, 빠르고 정확한 인식을 위한 패턴 영역, 정보 영역, 오류 정정 영역이 있습니다. 지금부터는 왼쪽의 그림을 참고하시기 바랍니다.

‘위치 검출 패턴’은 어느 쪽이 위쪽인지 알려줍니다. 덕분에 360° 어느 방향에서나 인식이 가능합니다. 흑백이 교대로 배치된 ‘타이밍 패턴’은 좌표의 역할을 하구요. ‘정렬 패턴’은 QR코드의 크기가 커졌을 때 생기는 왜곡이나 셀 이탈을 방지합니다. ‘포맷 정보’는 오류 정정률과 인식 보정에 대한 정보를, ‘버전 정보’는 셀의 크기를 알려줍니다.

QR코드 가운데에 신앙신보 로고를 넣어도 정상적으로 인식이 되는 이유는 오류 정정 영역 때문입니다. 가능한 복원률 이상 손상되지 않으면 인식이 가능합니다. 실질적인 정보 데이터는 지금까지 설명드린 부분을 제외한 영역에 들어있습니다.

▲ 오류 정정 부호의 배열 (출처:https://www.keyence.co.kr/)

4.QR코드의 사용 시 주의점

QR코드는 Quick Response 코드의 준말로, 처리 속도가 굉장히 빠릅니다. 또 모양만 보고는 무슨 내용인지 짐작할 수 없기 때문에 QR코드는 사람들로 하여금 호기심을 불러일으킵니다. 또 QR코드 생성 사이트를 이용하면 누구나 쉽게 만들 수 있다는 장점도 있습니다. 하지만 이러한 장점들이 반대로 치명적인 단점이 되기도 하는데요. 큐싱(QR코드+피싱)이라는 용어가 생길 정도로 악성코드나 유해 웹사이트 주소를 담아 유포하는 악용 사례들이 많다고 합니다. QR코드를 스캔하는 것만으로도 개인 정보가 유출되거나 결제가 되기도 한다고 하니 호기심에 아무 QR코드나 찍어보지 마세요. 검증된 기관이나 기업에서 제공하는 QR코드만 신중하게 접속하셔야 합니다!

공유하기
주소가 복사되었습니다.
원하는 곳에 붙여넣기(Ctrl+V)해주세요.
인쇄하기
북마크추가
관련 글 읽기