QR코드 이야기
본문
전화번호를 공유할 때, 자신의 직급 - 이름 등이 담긴 명함, WIFI 비밀번호 공유, SNS 2차 인증 등 QR는 우리 일상생활에서 매우 다양하고 유용하게 사용되고 있습니다. 오늘은 이러한 QR코드에 대해 알아보도록 하겠습니다.
1. QR코드란?
토요타의 자회사인 덴소 웨이브가 각 부품들을 구별하기 위해 1994년 개발한 QR code (큐알코드)는 빠른 응답 코드(Quick Response Code)의 약자입니다. 1차원 바코드에서 진화한 정사각형 모양의 격자로 표시되는 2차원 바코드입니다.
2. QR코드의 작동 방식
- 1. 스마트폰 카메라, QR코드 스캐너가 QR코드의 패턴을 식별 및 분석합니다.
- 2 . QR코드의 ECC(오류 정정 코드)를 통해 소프트웨어에서 인식한 QR코드의 손상된 데이터를 복구합니다.
- 3. 최종적으로 인코딩 되었던 데이터를 추출하여 해당 데이터에 따라 지정된 동작을 수행합니다.
(ex qr코드의 데이터가 링크라면 링크로 리다이렉트시킴)
3. QR코드의 구조
□ 파인더 패턴/위치 지정 패턴 (디코더 소프트웨어에서 QR코드의 위치 인식에 도움을 줌)
□ 타이밍 패턴 (디코더 소프트웨어에서 QR코드의 좌표를 검출하는데 도움을 줌)
■ 인코딩 된 데이터와 오류 정정 코드
■ 형식 정보
□ 타이밍 패턴 (디코더 소프트웨어에서 QR코드의 좌표를 검출하는데 도움을 줌)
■ 인코딩 된 데이터와 오류 정정 코드
■ 형식 정보
이밖에도 디코더 소프트웨어의 비대칭도를 보정하기 위한 얼라이트 패턴(=정렬 패턴), 버전 정보(QR 코드의 크기와 데이터 용량을 나타냄) 항목 등이 있습니다.
또한 QR코드는 색을 거꾸로 읽었을 때를 대비하여 오류 정정 기능을 가지고 있는데 오류 정정 단계는 4단계로 구분됩니다.
- 레벨 L : 약 7% 오류 정정 가능
- 레벨 M : 약 15% 오류 정정 가능
- 레벨 Q : 약 25% 오류 정정 가능
- 레벨 M : 약 30% 오류 정정 가능
참고로 일부 회사나 QR코드 생성 유저들은 QR코드의 뛰어난 데이터 복원기능을 믿고 QR코드에 회사 로고 등을 추가하는 경우도 있습니다. (물론 잘 작동합니다.)
4. QR코드 생성
QR코드는 QR코드 생성 앱, 웹 사이트 등에서 생성할 수 있는데, 이 때 정적 QR코드의 겅우 숫자, 알파벳(+특수문자), 8bit 바이너리 데이터, 일본어를 저장할 수 있습니다.
- 숫자 (0-9)
3개의 숫자가 10bit로 인코딩 되며, 이론적으로 최대 7089개의 숫자가 QR코드에 저장될 수 있습니다.
- 알파벳 + 특수문자
2개의 문자가 11bit로 인코딩 되며, 이론적으로는 최대 4296개의 문자를 저장할 수 있습니다.
- 8bit 바이너리 데이터터
이론적으로 촤대 2953개의 데이터를 저장할 수 있습니다.
5. QR코드는 크게 정적 QR코드와 동적 QR코드 두 유형으로 나뉘게 됩니다.
- 정적(고정형) QR코드:
정적 QR코드는 데이터를 패턴에 '직접 저장' 하므로 수정할 수 없습니다. 이러한 특성 때문에 자주, 쉽게 바뀌지 않는 WiFi 비밀번호, 이름, 전화번호 등의 데이터를 저장에 유용합니다.
(정적 QR코드를 생성할 때는 서버에 따로 저장하지 않기 때문에 서버 용량을 차지하지 않습니다)
- 동적(유동형) QR코드:
정적 QR코드는 코드 패턴 자체에 데이터를 직접 저장하는 반면, 동적 QR 코드는 단축 URL을 패턴에 저장합니다.
이 방식을 통해 단축 URL로 연결되는 페이지에서 QR코드 유효기한, 접근 가능 이용자 등을 지정할 수 있으며 사진 - 동영상 등의 미디어를 포함시킬 수 있습니다. 자주 바뀌거나 보다 더 큰 대용량의 데이터 등을 저장하기에 알맞습니다.
또한 QR코드와 연결된 데이터를 수정할 수 있습니다.
(QR코드 자체의 기능은 아닙니다, QR코드의 기능과 웹 기술을 융합한 기술)
(이 방식으로 QR코드를 생성할 경우 단축URL과 연결되는 페이지를 서버에 저장하고, 심지어 미디어를 포함시킨다면 해당 미디어 또한 서버에 저장해야 합니다.)
또한 QR코드는 색을 거꾸로 읽었을 때를 대비하여 오류 정정 기능을 가지고 있는데 오류 정정 단계는 4단계로 구분됩니다.
- 레벨 L : 약 7% 오류 정정 가능
- 레벨 M : 약 15% 오류 정정 가능
- 레벨 Q : 약 25% 오류 정정 가능
- 레벨 M : 약 30% 오류 정정 가능
참고로 일부 회사나 QR코드 생성 유저들은 QR코드의 뛰어난 데이터 복원기능을 믿고 QR코드에 회사 로고 등을 추가하는 경우도 있습니다. (물론 잘 작동합니다.)
4. QR코드 생성
QR코드는 QR코드 생성 앱, 웹 사이트 등에서 생성할 수 있는데, 이 때 정적 QR코드의 겅우 숫자, 알파벳(+특수문자), 8bit 바이너리 데이터, 일본어를 저장할 수 있습니다.
- 숫자 (0-9)
3개의 숫자가 10bit로 인코딩 되며, 이론적으로 최대 7089개의 숫자가 QR코드에 저장될 수 있습니다.
- 알파벳 + 특수문자
2개의 문자가 11bit로 인코딩 되며, 이론적으로는 최대 4296개의 문자를 저장할 수 있습니다.
- 8bit 바이너리 데이터터
이론적으로 촤대 2953개의 데이터를 저장할 수 있습니다.
5. QR코드는 크게 정적 QR코드와 동적 QR코드 두 유형으로 나뉘게 됩니다.
- 정적(고정형) QR코드:
정적 QR코드는 데이터를 패턴에 '직접 저장' 하므로 수정할 수 없습니다. 이러한 특성 때문에 자주, 쉽게 바뀌지 않는 WiFi 비밀번호, 이름, 전화번호 등의 데이터를 저장에 유용합니다.
(정적 QR코드를 생성할 때는 서버에 따로 저장하지 않기 때문에 서버 용량을 차지하지 않습니다)
- 동적(유동형) QR코드:
정적 QR코드는 코드 패턴 자체에 데이터를 직접 저장하는 반면, 동적 QR 코드는 단축 URL을 패턴에 저장합니다.
이 방식을 통해 단축 URL로 연결되는 페이지에서 QR코드 유효기한, 접근 가능 이용자 등을 지정할 수 있으며 사진 - 동영상 등의 미디어를 포함시킬 수 있습니다. 자주 바뀌거나 보다 더 큰 대용량의 데이터 등을 저장하기에 알맞습니다.
또한 QR코드와 연결된 데이터를 수정할 수 있습니다.
(QR코드 자체의 기능은 아닙니다, QR코드의 기능과 웹 기술을 융합한 기술)
(이 방식으로 QR코드를 생성할 경우 단축URL과 연결되는 페이지를 서버에 저장하고, 심지어 미디어를 포함시킨다면 해당 미디어 또한 서버에 저장해야 합니다.)
좋아요0
이 글을 좋아요하셨습니다
등록된 댓글이 없습니다.