JIS는 5년이 넘기 전에 재검토된다.
JIS X0510「二次元コードシンボル-QRコード-基本仕様 (이차원 코드 심볼 QR코드 기본사양)」은 1999년에 만들어졌기 때문에 2004년에 JIS X0510(2004)로 개정되었다.
여기에서는 인코딩 부분에서 변경된 것을 확인할 것이다.
2004년판 규격은 QR코드 모델 2나 마이크로 QR코드를 추천한다. 그래서인지 1999년판 규격에서는 본문에 있던 QR코드 모델 1이 2004년판 규격에서는 부록으로 옮겨졌다.
또한 2004년판 규격에는 부록에 마이크로 QR코드에 대한 설명이 추가되었다.
JIS X0510(2004)로 오면서 용어가 약간 바뀌었다.
# 역자주 - 일본의 표준이기 때문에 일본 용어가 바뀐 것이며, 이는 따로 해석하지 않겠다.
영문 표기 | JIS X0510(1999) | JIS X0510(2004) |
---|---|---|
remainder bit | 剰余ビット | 残余ビット |
remainder codeword | 剰余コード語 | 残余コード語 |
structured append | 連結 | 構造的連接 |
# 필자주 -「連結」이란 말이 상당히 보급되어 있는데 이것을 「構造的連接」라고 하는 것이 과연 옳을까 하는 생각이 들긴 한다.
QR코드 인코딩 방식에 모든 바이너리 데이터를 인코딩할 수 있는 8bit 바이너리 데이터 모드가 추가되었다.
JIS는 이 모드를 사용할 때 아래와 같은 사항을 참고적으로 제시하고 있다.
바이너리 데이터로 인코딩할 문자 집합은 QR코드를 사용하는 어플리케이션이 지정하는 문자 집합으로 한다.
그 문자 집합이 어플리케이션에 따라 다르면 시스템이 복잡해지므로, 국제적인 어플리케이션은 JIS X0201, ISO 8859-15, JIS X0211-1(UTF-8)의 사용을 추천한다.
한 나라에 한정된 어플리케이션의 경우에는 ISO 8859의 각 부분을 사용하는 것을, 일본에서는 JIS X0201을 사용하는 것을 추천한다.
# 필자주 - 필자는 개인적으로 명확하게 문자 코드를 지정하는 구조가 도입됬으면 좋겠다고 생각한다.
일본은 JIS를 추천하고, 세계는 UTF-8을 추천한다.
UTF-8이 모든 나라에서 쓰이면 문제는 없어지겠지만 현실은 그렇지 않다는 점이 매우 아쉽다.
2004년판 규격에서 마스크 모드 결정 방법이 약간 수정되었다.
특성 | 조건 | 가중치 |
---|---|---|
한 행이나 한 열에서 같은 색이 계속 반복됨 | (5+i)개의 단위 정사각형의 색이 같음 | 3+i |
한 개의 색만을 가지고 있는 블럭이 존재함 | 블럭의 크기 : 2*2 | 3 |
b1:w1:b3:w1:b1패턴이 행이나 열에 나타남 | b는 검은색 칸, w는 하얀색 칸을 의미함 | 40 |
각 색의 비율이 10% 이상 차이남 | 한 색의 비율 = 50±(5+k)% ~ 50±(5+(k+1))% | 10*k |
변경된 부분은 세번째 것으로, 1:1:3:1:1의 부분에서 「비율 4의 폭이상의 밝은 패턴」이라는 조건이 더해졌다.
또, 구체성이 있는 예가 참고로 기재되었다.
1999년판 규격에서는 약간 이상하게 해석되는 부분이 있어, 이 점은 매우 좋다고 생각한다.
예를 들어 조건 1에 대해서는 연속해서 5개의 색이 같다면 가중치는 3, 6개의 색이 같다면 가중치는 4이다.
또한 조건 2에 대해서는 같은 색의 3x3 블럭이 있을 경우 이는 2x2 블럭이 4개 있는 것으로 생각되어 가중치는 12이다.
# 필자주 - 추가로 필자도 1999년판 규격에서는 이 부분의 해석이 곤란했기 때문에 이번 개정으로 모두 해결될 것이라고 생각했지만 마스크 모드가 일치하지 않았다.
2004년판 규격에 있는 QR코드 모델 2에 그림 1, 그림 21, 부록 G의 그림 2 등이 있지만, 이것들과 완전히 일치시킬 수는 없었다.
물론 필자의 방법이 잘못되었을 수도 있지만..
사실 필자 개인적으로는 부록 G에 아래 표 처럼 각각의 마스크 패턴마다 총 가중치를 계산하여 적어주었으면 한다.
마스크 모드 | 조건 1 | 조건 2 | 조건 3 | 조건 4 | 총 가중치 |
---|---|---|---|---|---|
000 | |||||
001 | |||||
010 | |||||
: | |||||
111 |
반대로 JIS X0510(1999) 부록 8의 결과와 JIS X0510(2004) 부록 G의 결과가 다른 것으로부터 생각해보면,
마스크 모드는「극단적인 경우만 줄일 수 있으면 좋다」라고 생각해도 좋을 것 같다.
아래의 표는 JIS X0510(1999) 부록 8, JIS X0510(2004) 부록 G를 이용하여 "01234567"을
버전 1, 오류 정정 단계 M, 숫자 모드로 인코딩 했을 때의 마스크 모드에 따른 차이를 나타낸 것이다.
만들어진 QR코드를 직접 읽어보면 어떤 마스크 모드라도 문제 없이 읽어낼 수 있다는 것을 알 수 있다.
마스크 모드 | QR코드 | 비고 |
---|---|---|
000 | ||
001 | ||
010 | JIS X0510(2004) 부록 G의 결과 | |
011 | JIS X0510(1999) 부록 8의 결과 | |
100 | ||
101 | ||
110 | ||
111 |
(끝)