Profile

생각정리..

Lunight

[QRCode] 2차원 바코드 QR코드에 대하여





QR코드(AR code , Quick Respose code)


흑백 격자무늬 패턴으로 정보를 나타내는 매트릭스 형식의 이차원 바코드로 한,일,중,영,미국에서 많이 사용되며 덴소 웨이브(일본 도요타 자회사)의 등록상표에서 유래되었다. 

도요타 자동차만의 전용 차 키와 부품을 구별하고자 1994년에 개발되었다. 




특징 


바코드 형태(1차원)으로 숫자 문자 정보를 저장하는데 QR코드는 종횡 2차원 형태로 사진,동영상,지도,명함 등 다양한 정보를 담아낼 수 있다. 

버전은 1~40버전까지 다양하게 지원하며 버전별로 정보와 크기가 다르다. 

QR코드는 숫자 최대 7089 자, 영문자와 숫자[코드표가 따로 존재] 최대 4296 자, 8비트 바이트 최대 2953 바이트, 한자 1817 자를 담을 수 있다.(버전.40)


또한 한,일,중국어 모두 담아낼 수 있고 오염과 손상에 강하다. 오차 정정율을 4단계로 설정 할 수 있으며 가장 낮은 것이 약7%, 가장 높은 것이 약 30%까지 손실 되었을 경우 대응이 가능하다. 


360도 어느 방향에서도 인식이 가능하다. (3개의 위치찾기 심볼(Finder pattern)로 배경모양의 영향을 받지 않고 고속인식이 가능하다.)


연속기능을 지원하는데 여러 QR코드를 나뉘어 저장된 정보를 1개의 데이터로 연결하는 것이 가능하며 최대 16분할까지 가능하다.



구조



Find Pattern 

오른쪽 / 왼쪽 상단 , 그리고 왼쪽 하단 귀퉁이의 3by3 , 5by5 , 7by7의 상자로 둘러싸져 있는 네모상자로 이 패턴으로 360도에서 인식이 가능하다. 


Format Information

QR코드의 자세한 인코딩 정보를 담고있는 헤더


Version Information 

QT코드 보드 크기의 사이즈와 버전 정보를 담고있는 영역


Timing Belt

모든 QR코드에 항상 같은 위치에 같은 식별 패턴이 공통적으로 들어가는 영역


Alignment Pattern 

배열 패턴 , 실제 Find Pattern을 제외한 상대적으로 크기가 작은 네모들로 QR코드 원리에서 보드에 인코딩 될 때 일정하게 배열되도록 패턴을 잡는 부분


Encoded Information

위 5가지를 제외한 모든 부분으로 위 언금된 QR코드 요소는 BCH알고리즘에 의해 생성되며 QR코드는 숫자 , alpanumaric value, 유니코드, 간지체 등 담는 정보에 따라 인코딩 룰이 달라지고 각기 다른 방식의 인풋들도 함께 사용될 수 있다. 


판독원리 

카메라에서 QR코드 영상 입력 -> 흑백(bitmap)으로 변환 -> 흑백 영상에서 QR코드 찾기 -> QR코드 판독 -> 판독 데이터를 화면에 출력



안드로이드 QR코드 
     

   안드로이드도 QR코드 버전 40과 동일하며 일반 바코드 보다 인식률 , 복원력이 뛰어나다. 


안드로이드 기반 오픈소스인 Zxing 라이브러리(Android QR코드 오픈 소스)를 이용하여 개발할 경우 프로세스는 다음과 같다. 


1. 카메라에 들어오는 QR코드 영상을 변환하는 Image Conversion 


2. 이미지를 변환하여 0과 1로 이루어진 Raw Data로 변환하여 QR코드의 위치 인식 심볼을 검출하고 방향을 조정하여 패턴을 정렬(QR Detecting)


3. Raw Data를 디코딩하여 데이터 처리(QR Decoding)


QR코드 제작사인 Denso Wave에서 제공하는 QR코드 색상 사용 설명은 다음과 같은 주의점이 있다. 

“QR코드 스캐너의 경우, 붉은색 조명으로 QR코드를 인식하기 때문에 배경 및 인자색도 붉은 빛을 반

사 (또는 흡수)하는 경우, QR코드를 인식하지 못합니다. 역으로 말하면, 배경이 적색을 반사하고, 인자

색이 적색을 흡수하는 조합이면 인식 가능합니다. 예를 들어, 흰색 배경에 빨간색이나 녹색 배경에 파

란색 등은 인식할 수 없지만, 백색 또는 황색 등의 배경에 파란색이나 녹색으로 인쇄하는 경우 인식 가

능한 경우 입니다. 단, 색상의 농도 등도 영향을 주기 때문에 실제 사용되기 전에 충분한 사전 평가 및

시험이 필요합니다.기본은 흰색 배경에 검정색으로 인쇄바랍니다.”


PS. 제작 및 테스트가 필요한 부분


바코드 크기 

공식적으로 QR코드 실측법은 버전이 정해진 Cell을 몇 mm로 신쇄할지 결정하는데 Cell이 클수록 QR코드는 스캐너에서 안정적으로 인식할 수 있으나 

코드가 커지기 때문에 많은 인쇄공간이 필요하기 때문에 용도에 따라 결정할 필요가 있다. 

따라서 QR코드의 크기를 결정할 시에는 스캔거리 , Cell의 크기 , 스캐너의 성능 등을 고려해야 한다.


일반적으로 URL만 포함한 QR코드의 권장 사이즈는 1.25 X 1.25로 여백을 포함하지 않은 크기 


스캐너의 경우 밀도와 cell크기를 조금더 정밀하게 구성해야할 필요가 있다. 


QR코드의 지적재산에 대해

절차 , 사용료 , 상업적 목적에 대해 모두 무료로 어디서든 언제나 사용가능하기 때문에 제약을 받지 않는다. 

공식 홈페이지 : http://www.qrcode.com/ko/





'ETC' 카테고리의 다른 글

[Tip] USB Windows console에서 용량 복구하기  (0) 2018.11.05
[정책]Open Source 소프트웨어 정책 #1  (0) 2018.03.22