JIS X 0508:2010 バーコードシンボル体系仕様―PDF417 | ページ 18

82
X 0508 : 2010 (ISO/IEC 15438 : 2006)
計算することができる。計算結果は,最も近い整数値に切り上げられる。行数は,そのあと,コード
語総数から,次の式によって計算する。
(n+k) = (r×c)
b) シンボルの縦横比Aは,クワイエットゾーンを含むシンボルの幅に対する高さの比率である。指定値
Aに合わせるときは,縦列数 (c) に対応して,次の式を解くことができる。式では,クワイエットゾ
ーンがXによって正確に表されることが前提になっているが,あらゆるケースでこの式を用いて,縦
列数 (c) を概算することができる。
H rY 2QV
A
W 17X c 73
ここに,A, c, H, QV, r, W, X 及び Y は,箇条4で定義している。
QV 2X
列数を表すには,
n k
r
c
ここに,n及びkは,箇条4で定義している。
異なった式で表現すると,
n k Y
Y 4X (n k) 4c
c (n k) 4cX X
A 2 2
(17c 73) (17c 73c) 17c 73c
したがって,
2 Y
A (17c 73c) (n k) 4c 0
X
この式で表すことができる
17Ac2 (73A )4c (n k) / X
xをcにして,次の2次方程式に代入すると,
ax2 bx c 0
次の2次方程式の解から
2
b b 4ac
x
2a
2次方程式のパラメタ値を代えて,負の値を無視して2次方程式を解くと,
2 5.0
(73A )4 (73A )4 4 (17 A) (nk) / X
c
2 (17A)
nの値は埋め草コード語の数に依存しており,マトリックスパラメタが決定されるまで,不明である。
しかし,元コード語の数は分かっている。m+1 ≦ nとして,上記の方程式に代入すると
5.0
(73A )4 (73A )4 24 (17A) (m 1 k) / X
c
2 (17A)

――――― [JIS X 0508 pdf 86] ―――――

                                                                                             83
X 0508 : 2010 (ISO/IEC 15438 : 2006)
cをプラスの値として解くことは,整数でない結果を生む。cの最も近い整数値は,縦横比を完成させる
ために,列数の最適値を生む。
列数は,次の式によって得ることができる。
r INT (m 1 k/)
if (cr) ≧ m1 k c
then r 1
同様に, (cr) (n k) ,埋め草コード語数は, (nk) (m 1 k)
例 達成縦横比 A=0.5 PDF417シンボルのためのm+l+k=277,X=0.33 mm,Y=1 mmとすると,
5.0
2 277 .100
( 73)5.0 4 (73 )5.0 4 (417 )5.0
.033
c
(217 )5.0
325. 1( 056 28 539) 5.0
c
17
325. 1720.
c
17
1395.
c .821 8
17
277
r INT 1 INT(34)6. 1 35
c
(m 1 k) ≦ (cr) 929
277 ≦ 280929
必要な埋め草コード語数は,
(c r) (m 1 k)
280 277 3
このシンボルは,35行×8列で,幅が68.97 mm,高さが36.32 mmであり,縦横比は,0.527になる。
O.2 パラメタが調整できない場合のガイドライン
シンボルが必要なラベルサイズに適合しない場合,
a) 可能であれば,データ内容を減らす。
b) ラベルサイズの一方又は両方の寸法を大きくする。
c) 誤り訂正レベルを下げる。
d) モジュールの幅 (X) 又はモジュールの高さ (Y) を小さくする。

――――― [JIS X 0508 pdf 87] ―――――

84
X 0508 : 2010 (ISO/IEC 15438 : 2006)
附属書P
(参考)
誤り訂正コード語を作成するための係数の計算−計算例
各誤り訂正レベルに対する係数を計算するときは,次に示している生成多項式を用いる。
gk x x 3 x 32 x 3k
33 .... x
2 k 1 k
0 x
1 2x ... x
k 1 x
ここに, gk は,生成多項式
kは,誤り訂正コード語の総数
αjは,生成多項式gk(x) によって作られた係数
最初に,上の多項式を展開する。次に,上から係数の剰余を計算する。
for αj = α0 ... αk−1
BEGIN
αj = αj mod 929
END
例 誤り訂正レベル1用の生成多項式係数を計算する。
s = 1 誤り訂正レベル1
k = 2s+1=4 誤り訂正コード語の数
g4(x) = (x−3)(x−32)(x−33)(x−34)
= 59 049−29 160x+3 510x2−120x3+x4
α0 = 59 049 mod 929 =522
α1 = −29 160 mod 929 =568
α2 = 3 510 mod 929 =723
α3 = −120 mod 929 =809
注記 附属書Fには,PDF417シンボルの符号化に必要な,すべての誤り訂正レベル係数値を含んで
いる。

――――― [JIS X 0508 pdf 88] ―――――

                                                                                             85
X 0508 : 2010 (ISO/IEC 15438 : 2006)
附属書Q
(参考)
誤り訂正コード語の生成−計算例
誤り訂正コード語を作成するには,5.10に示している手法が用いられる。次の例で用いている表記法は,
5.10で用いている表記法と同じである。
例 PDF417のデータは,先頭にシンボル長記述子を付けて,5, 453, 178, 121, 239のコード語で表現す
る。埋め草コード語はない。
n = 5 シンボル長記述子を含むコード語数
d4 = 5
d3 = 453
d2 = 178
d1 = 121
d0 = 239
誤り訂正レベル1を選択すれば,次の数値が決定する。
s = 1
k = 2l+1 = 4
=
α0, ..., α3 522, 568, 723, 809
注記 この例は,五つのデータコード語及び四つの誤り訂正コード語だけをもった簡単な架空の例で
あるが,誤り訂正コード語生成のすべての手順を完全に例示しており,データコード語の数及
び誤り訂正コード語の数を増加することで実際の問題に拡張可能である。
計算は,次のようにする。
E0, ..., E3をゼロに初期化する。
t1=(d4+E3) od 929=(5+0) od 929=5
t2=(t1×α3) od 929=(5×809) od 929=329
t3=929−t2=929−329=600
E3=(E2+t3) od 929=(0+600) od 929=600
t2=(t1×α2) od 929=(5×723) od 929=828
t3=929−t2=929−828=101
E2=(E1+t3) od 929=(0+101) od 929=101

――――― [JIS X 0508 pdf 89] ―――――

86
X 0508 : 2010 (ISO/IEC 15438 : 2006)
t2=(t1×α1) od 929=(5×568) od 929=53
t3=929−t2=929−53=876
E1=(E0+t3) od 929=(0+876) od 929=876
t2=(t1×α0) od 929=(5×522) od 929=752
t3=929−t2=929−752=177
E0=t3 mod 929=177 mod 929=177
t1=(d3+E3) od 929=(453+600) od 929=124
t2=(t1×α3) od 929=(124×809) od 929=913
t3=929−t2=929−913=16
E3=(E2+t3) od 929=(101+16) od 929=117
t2=(t1×α2) od 929=(124×723) od 929=468
t3=929−t2=929−468=461
E2=(E1+t3) od 929=(876+461) od 929=408
t2=(t1×α1) od 929=(124×568) od 929=757
t3=929−t2=929−757=172
E1=(E0+t3) od 929=(177+172) od 929=349
t2=(t1×α0) od 929=(124×522) od 929=627
t3=929−t2=929−627=302
E0=t3 mod 929=302 mod 929=302
t1=(d2+E3) od 929=(178+117) od 929=295
t2=(t1×α3) od 929=(295×809) od 929=831
t3=929−t2=929−831=98
E3=(E2+t3) od 929=(408+98) od 929=506
t2=(t1×α2) od 929=(295×723) od 929=544
t3=929−t2=929−544=385
E2=(E1+t3) od 929=(349+385) od 929=734
t2=(t1×α1) od 929=(295×568) od 929=340
t3=929−t2=929−340=589
E1=(E0+t3) od 929=(302+589) od 929=891

――――― [JIS X 0508 pdf 90] ―――――

次のページ PDF 91

JIS X 0508:2010の引用国際規格 ISO 一覧

  • ISO/IEC 15438:2006(IDT)

JIS X 0508:2010の国際規格 ICS 分類一覧

JIS X 0508:2010の関連規格と引用規格一覧