바코드와 QR코드는 일상에서 흔히 접할 수 있는 기술이죠. 바코드는 웬만한 상품에 거의 다 부착돼 있어요. 마트에서 장바구니에 담은 물건을 계산대에 올리면, 직원들은 바코드를 스캔해서 상품명과 가격을 확인하죠. QR코드는 오프라인 간편 결제나 전자출입명부, 웹사이트 접속 등 다양한 영역에서 사용되고 있어요.
겉보기에 바코드와 QR코드는 인간이 이해하기 어려운 패턴 속에 정보를 담는다는 점에서 비슷해 보입니다. 그런데 왜 두 기술은 서로 다른 영역에서 사용되는 걸까요. 두 기술에 어떤 차이가 있길래 그런 걸까요. 바코드와 QR코드의 탄생 배경부터 작동 방식의 차이까지 함께 알아봅시다.
바코드·QR코드, 어디서 왔니
바코드는 버나드 실버, 노만 조셉 우드랜드라는 두 사람에 의해 만들어졌어요. 1948년, 두 사람은 ‘자동으로 제품 정보를 입력할 수 있는 기술’이 필요하다는 야채가게 주인의 푸념을 우연히 듣게 됐는데요. 이를 계기로 바코드 개발에 착수했죠. 이후 두 사람은 두 가지 바코드 방식을 개발했어요. 첫 번째는 모스 부호에서 영감을 받았다고 하는데요. 단순히 모스 부호 점 아래로 선을 내려그었다고 해요. 두 번째는 모든 방향에서 인식 가능한 원형 방식이었다고 알려졌습니다.
두 사람은 특허까지 냈지만, 상용화로 이어지진 못했어요. 기술이 완전하지 못했거든요. 이후 우드랜드는 IBM에 입사해서, 현재 쓰이는 수평 바코드 개발에 성공하게 됩니다. 우드랜드가 개발한 방식은 곧 바코드 표준이 됐는데요. 이를 이용해 계산된 첫 제품은 67센트짜리 과일맛 껌이라고 해요.
QR코드는 1994년 도요타 자동차 자회사 덴소 웨이브라는 업체에서 개발했습니다. 덴소 웨이브는 자동차 부품을 제조하는 회사인데요. 산업이 고도화되면서, 바코드 시스템만으로 다양한 부품을 분류하기 어려워졌어요. 이에 덴소는 바코드를 대체할 새로운 시스템 개발에 나섰죠.
당시 개발팀 인원은 단 두명이었다고 해요. 개발팀을 이끌던 마사히로 하라는 그때를 이렇게 회상해요. “더 많은 정보를 담을 수 있고 쉽게 인식할 수 있는 코드를 개발하고 싶었다”고요. 개발팀은 코드 안에 다양한 정보를 담기 위해, 일차원인 바코드 방식을 개선하기로 결정합니다. 그 결과 이차원 정사각형 모양 QR코드가 만들어졌어요. 단 1년 반 만에요.
바코드 문제가 뭐길래...QR코드가 만들어진 이유는?
바코드는 이진법을 이용해요. 0과 1만으로 제품 정보를 읽는다는 겁니다. 바코드를 자세히 보면 검은 선과 흰 여백으로 구성돼 있는데요. 검은 선을 1, 흰 여백을 0으로 인식합니다. 여기에 선과 여백의 굵기에 따라 수를 달리 인식해요. 바코드 아래엔 십진수 숫자가 적혀있어요. 바코드가 내포한 이진수를 십진수로 표현한 겁니다. 이 십진수 수에 따라 바코드는 13자리 표준형, 8자리 단축형으로 나뉩니다.
표준형 기준 13자리 십진수 안에 모든 정보를 담아야 한다는 건데요. 그러다 보니 바코드는 많은 정보를 담기 어려워요. 제조 국가(앞 세 자리), 제조 회사(다음 네 자리), 상품 종류(그다음 다섯 자리) 정도만 표기할 수 있죠. 맨 마지막 한자리는 검증 코드로 쓰여서, 제품 정보를 담을 수 없고요.
QR코드는 정보량이 제한된 바코드의 문제점을 개선하기 위해 개발됐어요. QR코드는 1부터 40까지 다양한 버전이 있는데요. 가장 많은 정보량을 저장할 수 있는 40버전은 숫자를 최대 7089자까지 저장할 수 있어요. 영문·숫자 혼용은 최대 4296자, 영문은 최대 1817자까지 기록 가능합니다. 일본에서 개발된 기술이다 보니 한자나 일본어를 저장할 수도 있습니다. 바코드에 비하면 저장 가능한 정보가 대폭 늘어난 거죠.
QR코드는 바코드와 굉장히 유사합니다. QR코드는 보면 정사각형 안에 무수히 많은 검은색 점이 찍혀 있어요. 그 주위엔 흰색 여백이 있고요. QR코드는 바코드처럼 검은 점과 여백을 이진법으로 읽습니다. 대신 일자로만 검은 선을 나열할 수 있는 바코드와 달리, 이차원인 정사각형 형태이기에 더 많은 정보를 저장할 수 있는 거죠.
그럼 QR코드 구성 요소는?
QR코드를 보면, 모퉁이 세 곳에 위치한 커다란 사각형이 있어요. 커다란 사각형 안에 작은 사각형이 들어있는 형태죠. 이를 ‘위치찾기심볼’이라고 하는데요. 어느 방향에서든지 QR코드를 빠르게 인식할 수 있도록 해주는 역할입니다. 이를 기준으로 스캐너가 QR코드의 올바른 방향을 가늠하는 거죠.
위치찾기심볼 모양이 조금 독특하죠? 이 패턴은 그냥 만들어진 게 아니에요. 그냥 커다란 사각형으로 만들었다면, 스캐너가 인식하기 쉽지 않았을 겁니다. 위치찾기심볼은 덴소 QR코드 개발팀이 다양한 종이 인쇄물에서 잘 쓰이지 않는 비율을 분석해서 제작한 결과물이에요. 덴소에 따르면 종이 인쇄물에선 1:1:3:1:1 비율을 가진 형태가 잘 사용하지 않는다고 해요.
아래 이미지를 보면 어떤 말인지 이해되실 거예요. 위치찾기심볼은 어느 방향에서든지 1:1:3:1:1 비율이에요. 스캐너가 QR코드를 가로(A), 세로(B), 대각선(C)으로 바라보더라도 모두 1:1:3:1:1 비율인 걸 볼 수 있죠.
다음은 얼라인먼트 패턴입니다. ‘얼라이먼트 패턴’은 QR코드 우측 하단에 위치하는데요. QR코드가 훼손됐을 경우에도 인식할 수 있게 해주고, 스캔 방향을 도와줘요. 검은 점을 셀(Cell)이라고 부르는데요. ‘타이밍 패턴’은 셀 좌표를 인지할 수 있게 해줍니다. 이외 QR코드와 다른 공간을 분리해주는 흰색 여백, ‘마진’이 있어요.
테크플러스 윤정환 기자 (tech-plus@naver.com)