15비트에 담긴 것
필드는 5개의 데이터 비트로 시작해요. 오류 정정 레벨에 2비트, 마스크 패턴 번호에 3비트를 써요. 여기에 BCH 오류 정정 10비트를 더해 BCH(15,5) 코드가 돼요.
이렇게 나온 15비트를 고정 패턴 101010000010010과 XOR해요. 이렇게 하면 필드가 전부 밝은 모듈이 되는 일이 없어서, 코드의 가장자리를 찾는 리더가 헷갈리지 않아요.
- 오류 정정 레벨 비트: L = 01, M = 00, Q = 11, H = 10
- 마스크 패턴: 3비트, 000에서 111
- 오류 정정: BCH 10비트
- 고정 XOR 마스크: 101010000010010
저장되는 위치
한 사본은 왼쪽 위 파인더 패턴의 분리선 옆 행과 열을 따라 그 둘레를 감싸요. 두 번째 사본은 오른쪽 위 파인더 아래 영역과 왼쪽 아래 파인더 옆 영역에 나뉘어 있어요.
사본이 둘이라서 한쪽 모서리가 손상돼도 코드를 해독할 수 있어요. 왼쪽 아래 사본 옆에는 항상 어두운 모듈 하나가 있는데, 이를 다크 모듈이라고 하며 데이터에 포함되지 않아요.
가장 먼저 읽는 이유
스캐너는 어떤 마스크를 벗겨야 하는지, 코드워드가 데이터와 오류 정정으로 어떻게 나뉘는지 알기 전에는 데이터를 해독할 수 없어요. 포맷 정보가 이 두 가지를 알려 주므로 파인더 패턴을 찾은 직후에 읽어요. Micro QR코드는 기호의 버전까지 함께 인코딩하는 15비트 포맷 필드를 하나만 써요.