X 0508:2010 (ISO/IEC 15438:2006)
(1)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
目 次
ページ
序文 ··································································································································· 1
1 適用範囲 ························································································································· 1
2 引用規格 ························································································································· 1
3 用語及び定義 ··················································································································· 2
4 記号,略号及び意味 ·········································································································· 4
4.1 記号 ···························································································································· 4
4.2 演算記号 ······················································································································ 4
4.3 略号 ···························································································································· 5
5 要求事項 ························································································································· 5
5.1 シンボル体系の特性 ······································································································· 5
5.1.1 基本特性 ···················································································································· 5
5.1.2 追加機能の概要 ··········································································································· 6
5.2 シンボルの構造 ············································································································· 6
5.2.1 PDF417シンボルのパラメタ ·························································································· 6
5.2.2 行パラメタ ················································································································· 7
5.2.3 コード語列 ················································································································· 7
5.3 基本的な符号化 ············································································································· 8
5.3.1 シンボルキャラクタの構造 ···························································································· 8
5.3.2 スタートキャラクタ及びストップキャラクタ ···································································· 9
5.4 高レベルな(データの)符号化························································································ 10
5.4.1 機能コード語 ············································································································· 10
5.4.2 テキスト圧縮モード ···································································································· 13
5.4.3 バイト圧縮モード ······································································································· 17
5.4.4 数字圧縮モード ·········································································································· 19
5.4.5 適切な圧縮モードを選択するには ·················································································· 20
5.4.6 PDF417予約コード語の処理 ························································································· 20
5.5 拡張チャネル解釈 ········································································································· 21
5.5.1 ECI指定番号の符号化 ································································································· 22
5.5.2 事前指定された拡張チャネル解釈 ·················································································· 22
5.5.3 圧縮モード内でのECIシーケンスの符号化 ······································································ 23
5.5.4 復号後の手順 ············································································································· 25
5.6 コード語列の決定 ········································································································· 25
5.7 誤りの検出及び訂正 ······································································································ 25
5.7.1 誤り訂正レベル ·········································································································· 25
5.7.2 誤り訂正能力 ············································································································· 26
X 0508:2010 (ISO/IEC 15438:2006) 目次
(2)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
ページ
5.7.3 誤り訂正コード語の定義 ······························································································ 26
5.8 シンボルの大きさ ········································································································· 27
5.8.1 モジュールの最小幅 (X) ······························································································· 27
5.8.2 行の高さ (Y) ············································································································· 27
5.8.3 クワイエットゾーン ···································································································· 27
5.9 シンボル形式の定義 ······································································································ 27
5.9.1 モジュールの縦横比の設定 ··························································································· 27
5.9.2 シンボルマトリックスの行及び縦列の設定 ······································································ 27
5.10 誤り訂正コード語の作成 ······························································································· 28
5.11 下位レベルの符号化 ····································································································· 30
5.11.1 クラスタ ·················································································································· 30
5.11.2 シンボルマトリックスの設定 ······················································································· 31
5.11.3 左右行指示子値の設定 ································································································ 31
5.11.4 行の符号化 ··············································································································· 31
5.12 コンパクトPDF417 ······································································································ 31
5.13 マクロPDF417 ············································································································ 31
5.13.1 圧縮モード及びマクロPDF417 ····················································································· 32
5.13.2 ECI及びマクロPDF417 ······························································································ 32
5.14 利用者向けガイドライン ······························································································· 32
5.14.1 可読解釈 ·················································································································· 32
5.14.2 自動識別機能 ············································································································ 32
5.14.3 利用者定義のアプリケーションパラメタ ········································································ 32
5.14.4 PDF417シンボルの品質 ······························································································ 33
5.15 参照復号アルゴリズム ·································································································· 33
5.16 誤り検出及び誤り訂正の手順 ························································································· 33
5.17 伝送データ ················································································································· 33
5.17.1 初期解釈の伝送データ ································································································ 33
5.17.2 拡張チャネル解釈 (ECI) の伝送手順············································································· 33
5.17.3 マクロPDF417用の伝送データ ···················································································· 34
5.17.4 ECI手続による予約コード語の伝送 ·············································································· 34
5.17.5 シンボル体系識別子 ··································································································· 35
5.17.6 旧手続による伝送 ······································································································ 35
附属書A(規定)PDF417シンボルキャラクタのバー スペース列での符号化及び復号化表 ················ 36
附属書B(規定)バイト圧縮モード用初期値キャラクタセット ····················································· 47
附属書C(規定)バイト圧縮モード符号化アルゴリズム······························································ 48
附属書D(規定)数字圧縮モード符号化アルゴリズム································································· 50
附属書E(規定)誤り訂正レベルの選択 ··················································································· 52
附属書F(規定)PDF417誤り訂正コード語計算のための係数表 ··················································· 53
附属書G(規定)コンパクトPDF417 ······················································································ 57
X 0508:2010 (ISO/IEC 15438:2006) 目次
(3)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
ページ
附属書H(規定)マクロPDF417 ···························································································· 58
附属書I(規定)PDF417品質試験 ·························································································· 66
附属書J(規定)PDF417の参照復号アルゴリズム ····································································· 67
附属書K(規定)誤り訂正の手順 ··························································································· 71
附属書L(規定)シンボル体系識別子······················································································ 73
附属書M(規定)PDF417旧規格適合復号器用伝送手順 ······························································ 74
附属書N(参考)コード語数を最小にするためのアルゴリズム ····················································· 80
附属書O(参考)シンボルマトリックス作成のガイドライン ······················································· 81
附属書P(参考)誤り訂正コード語を作成するための係数の計算−計算例 ······································ 84
附属書Q(参考)誤り訂正コード語の生成−計算例 ··································································· 85
附属書R(参考)除算回路による誤り訂正コード語の作成 ··························································· 89
附属書S(参考)PDF417を用いるための追加ガイドライン ························································· 90
参考文献 ···························································································································· 92
X 0508:2010 (ISO/IEC 15438:2006) 目次
(4)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
まえがき
この規格は,工業標準化法第12条第1項の規定に基づき,社団法人日本自動認識システム協会 (JAISA)
及び財団法人日本規格協会 (JSA) から,工業標準原案を具して日本工業規格を制定すべきとの申出があり,
日本工業標準調査会の審議を経て,経済産業大臣が制定した日本工業規格である。
この規格は,著作権法で保護対象となっている著作物である。
この規格の一部が,特許権,出願公開後の特許出願,実用新案権又は出願公開後の実用新案登録出願に
抵触する可能性があることに注意を喚起する。経済産業大臣及び日本工業標準調査会は,このような特許
権,出願公開後の特許出願,実用新案権及び出願公開後の実用新案登録出願にかかわる確認について,責
任はもたない。
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
日本工業規格 JIS
X 0508:2010
(ISO/IEC 15438:2006)
バーコードシンボル体系仕様−PDF417
Information technology-Automatic identification
and data capture techniques-PDF417 bar code symbology specification
序文
この規格は,2006年に第2版として発行されたISO/IEC 15438を基に,技術的内容及び対応国際規格の
構成を変更することなく作成した日本工業規格である。
なお,この規格で点線の下線を施してある参考事項は,対応国際規格にはない事項である。
1
適用範囲
この規格は,PDF417として知られるバーコードシンボル体系の特性,データキャラクタの符号化,シ
ンボル形式,寸法,誤り訂正の規則,参照復号アルゴリズム及び幾つかのアプリケーションパラメタを含
む要件について規定する。
注記 この規格の対応国際規格及びその対応の程度を表す記号を,次に示す。
ISO/IEC 15438 : 2006,Information technology−Automatic identification and data capture techniques
−PDF417 bar code symbology specification (IDT)
なお,対応の程度を表す記号 “IDT” は,ISO/IEC Guide 21-1に基づき,“一致している”こ
とを示す。
2
引用規格
次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成する。これらの
引用規格は,その最新版(追補を含む。)を適用する。
JIS X 0201 7ビット及び8ビットの情報交換用符号化文字集合
注記 対応国際規格:ISO/IEC 646 : 1991,Information technology−ISO 7-bit coded character set for
information interchange (MOD)
JIS X 0500-1 自動認識及びデータ取得技術−用語−第1部:一般
注記 対応国際規格:ISO/IEC 19762-1,Information technology−Automatic identification and data
capture (AIDC) techniques−Harmonized vocabulary−Part 1 : General terms relating to AIDC (IDT)
JIS X 0500-2 自動認識及びデータ取得技術−用語−第2部:光学的読取媒体
注記 対応国際規格:ISO/IEC 19762-2,Information technology−Automatic identification and data
capture (AIDC) techniques−Harmonized vocabulary−Part 2 : Optically readable media (ORM)
(IDT)
JIS X 0530 データキャリア識別子(シンボル体系識別子を含む)
注記 対応国際規格:ISO/IEC 15424,Information technology−Automatic identification and data capture
2
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
techniques−Data Carrier Identifiers (including Symbology Identifiers) (IDT)
ISO/IEC 8859-1,Information technology−8-bit single-byte coded graphic character sets−Part 1 : Latin
alphabet No.1
ISO/IEC 15415,Information technology−Automatic identification and data capture techniques−Bar code
print quality test specification−Two-dimensional symbols
ISO/IEC 24723,Information technology−Automatic identification and data capture techniques−EAN.UCC
Composite bar code symbology specification
AIM Inc. International Technical Standard : ITS/04-001,Extended Channel Interpretations−Part 1 :
Identification Schemes and Protocols
注記 AIM Global, 125 Warrendale-Bayne Road, Suite 100, Warrendale, PA 15086, USA.から出版された。
3
用語及び定義
この規格で用いる主な用語及び定義は,JIS X 0500-1及びJIS X 0500-2によるほか,次による。
3.1
基本チャネルモデル (basic channel model)
バーコードデータを符号化して伝送するための標準的なシステム。復号器からは,データメッセージバ
イトを出力するが,メッセージに関する制御情報は出力しない。
注記 このモデルに従った復号器は,基本チャネルモードで動作する。
3.2
バー スペース列 (bar-space sequence)
シンボルキャラクタを構成する各エレメント(バー及びスペース)を,モジュール幅で示した並び。
3.3
クラスタ (cluster)
3種類あるPDF417シンボルキャラクタサブセットのいずれか。これらはすべて,互いに排他である。
与えられたクラスタに含まれるシンボルキャラクタは,構造的にそれぞれ異なった規則に従っており,そ
の規則をシンボル体系の復号に用いる。
注記 5.11.1に示す。
3.4
圧縮モード (compaction mode)
8ビットのデータバイトを効率的にコード語に対応付けるPDF417のデータ圧縮アルゴリズム。テキス
ト,数字及びバイト圧縮モードの3種類がある。
3.5
e距離 (e-distance)
エレメントの先端から次の類似エレメントの先端まで,又は後端から次の後端までの距離。
3.6
誤り訂正コード語 (error correction codeword)
復号誤りの検出を可能にする誤り訂正レベルで決められたアルゴリズムを用いて計算した値を,符号化
したコード語。
3
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.7
拡張チャネル解釈 (extended channel interpretation : ECI)
PDF417を含む幾つかのシンボル体系で,規定値の解釈を異なる解釈に替える手順。
注記1 シンボルを生成する前に意図した内容は,シンボルをスキャンして復号した後で,元のフォ
ーマットでデータメッセージを生成し直すことができる。
注記2 5.5に示す。
3.8
拡張チャネルモデル (extended channel model)
データメッセージバイト及びそのメッセージに関する制御情報を符号化して送るシステム。復号器は,
このモデルに応じた拡張チャネルモードで動作する。制御情報の伝達は,拡張チャネル解釈 (ECI) のエス
ケープシーケンスで行う。
注記 復号器は,このモデルに応じた拡張チャネルモードで動作する。
3.9
機能コード語 (function codeword)
シンボル体系内のコード語であって,そのシンボル体系内の特定の動作を開始するもの。例えば,デー
タ符号化集合の切換え,圧縮法の実施,リーダのプログラミング,拡張チャネル解釈 (ECI) の実施であ
る。
3.10
グローバルラベル識別子 (global label identifier : GLI)
PDF417シンボル体系内の手順であって,拡張チャネル解釈 (ECI) に類似した働きをするもの。
注記 GLIシステムは,PDF417規格のようにシンボル体系に依存しないECIシステムの前身であり,
シンボル体系に依存していた。
3.11
マクロPDF417 (macro PDF417)
PDF417シンボル体系における手順であって,コンピュータファイルからのデータを,幾つかのPDF417
シンボルに分配するもの。
注記1 この処理をすると,単一シンボルに比べてデータ容量を増やすことができる。
注記2 この手順は,他のシンボル体系の構造的連接に類似している。
3.12
モード切換コード語 (mode latch codeword)
一つのモードから他のモードへ切り換えるときに用いるコード語。新しいモードは,別の切換コード語
若しくは一語切換コード語が明示若しくは暗示されるか,又はラベルの終わりに達するまで有効である。
3.13
モード一語切換コード語 (mode shift codeword)
一つのモードから他のモードへ,コード語一つ分だけ切り換えるときに用いるコード語。その後,符号
化機能は元のモードに戻る。
3.14
行指示コード語 (row indicator codeword)
各行のスタートキャラクタ又はストップキャラクタに隣接するコード語。PDF417シンボルの構造に関
する情報を,行識別,行総数,縦列総数及び誤り訂正レベルによって符号化する。
4
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.15
シンボル長記述子 (symbol length descriptor)
PDF417の最初のコード語で,シンボル中のデータコード語の総数を符号化したコード語。
4
記号,略号及び意味
4.1
記号
この規格では,次の記号を用いる。これらの記号は,数式の中で異なった方法で用いる場合がある。こ
れは,表記法を,より一般的な使用法に合わせるためのものであり,必ず本文の中で明確に定義する。
A
PDF417シンボルの縦横比
b
シンボルキャラクタのエレメント幅
c
データ領域の縦列数(スタート,ストップ及び行指示コード語を除く。)
d
すべての機能コード語を含むデータコード語
E
誤り訂正コード語
e
シンボルキャラクタの中で,エッジから類似エッジまでの寸法
F
行番号
f
代入誤り数
H
クワイエットゾーンを含むシンボルの高さ
K
クラスタ番号
k
誤り訂正コード語数
L
左の行指示子
l
消失誤り数
m
シンボル長記述子及び埋め草コード語が追加される前の元データのコード語数
n
シンボル長記述子及び埋め草コード語を含めたデータコード語の総数
p
シンボルキャラクタの幅
QH
水平方向のクワイエットゾーン
QV
垂直方向のクワイエットゾーン
R
右の行指示子
r
シンボルの行数
s
誤り訂正レベル
W
クワイエットゾーンを含むシンボルの幅
X
X寸法又はモジュールの幅
Y
モジュールの高さ(行の高さともいう。)
4.2
演算記号
この規格では,次の演算記号を用いる。
div
整数の除算で,演算結果は切り捨てる。
INT
整数値。小数部は切り捨てる。
mod
除算後の正の整数剰余。剰余が負の場合は,除数の値を加えて正の値にする。例えば,−29 160
を929で除すと,余りは−361になる。この数値に929を加えると568になる。
5
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4.3
略号
この規格では,次の略号を用いる。
ECI
拡張チャネル解釈
GLI
グローバルラベル識別子
5
要求事項
5.1
シンボル体系の特性
5.1.1
基本特性
PDF417は,次の基本特性をもつバーコードシンボル体系である。
a) 符号化可能なキャラクタ
1) テキスト圧縮モード(5.4.2参照)は,印刷可能なASCIIキャラクタのすべてを符号化できる。すな
わち,JIS X 0201 (ISO/IEC 646) (IRV : International Reference Version) に従った値32〜値126と選択
した制御文字とを符号化できる。
2) バイト圧縮モード(5.4.3参照)は,8ビットバイトで表現可能な256個をすべて符号化できる。こ
の中には,値0〜値127のすべてのASCIIキャラクタを含み,国際キャラクタを使用できるように
する。
3) 数字圧縮モード(5.4.4参照)は,数字データ列を効率的に符号化できる。
4) 811 800個までの異なったキャラクタ又はデータ解釈
5) 制御用の各種機能コード語
b) シンボルキャラクタの構成
(n, k, m) キャラクタで,17モジュール (n),バー4本及びスペース4本のエレメント (k),最大エレ
メント幅6モジュール (m)
c) 誤り訂正レベルが0の場合,シンボル当たりの最大データキャラクタ数は925データコード語であり,
次の符号化が可能である。
1) テキスト圧縮モード:1 850キャラクタ(コード語当たりのデータキャラクタ数が2の場合)
2) バイト圧縮モード:1 108キャラクタ(コード語当たりのデータキャラクタ数が1.2の場合)
3) 数字圧縮モード:2 710キャラクタ(コード語当たりのデータキャラクタ数が2.93の場合)
推奨する最小誤り訂正レベルでは,符号化可能なデータコード語は863で,次の符号化が可能であ
る。
4) テキスト圧縮モード:1 726キャラクタ(コード語当たりのデータキャラクタ数が2の場合)
5) バイト圧縮モード:1 033キャラクタ(コード語当たりのデータキャラクタ数が1.2の場合)
6) 数字圧縮モード:2 528キャラクタ(コード語当たりのデータキャラクタ数が2.93の場合)
d) シンボルサイズ
1) 行数:3〜90
2) 縦列数:1〜30
3) シンボル幅:90X〜583X(クワイエットゾーンを含む。)
4) 最大コード語容量:928コード語
5) 最大データコード語容量:925コード語
行数及び縦列数を選択できるので,適用業務における印字領域の要件に合わせて印刷するときに,
PDF417シンボルの縦横比を変えることができる。
6
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
e) 選択可能な誤り訂正
シンボル当たり2〜512コード語(5.7参照)
f)
データ以外の付加情報
1) 行当たり:クワイエットゾーンを含めて73モジュール。
2) シンボル当たり:最小三つのコード語を,シンボルキャラクタとして表示する。
g) コードの種類:連続形,マルチローシンボル体系
h) キャラクタ自己検査:あり
i)
双方向復号:可能
5.1.2
追加機能の概要
次の概要は,PDF417の固有又は任意な付加的機能である。
a) データ圧縮:(固有)多くのデータキャラクタをコード語に圧縮する3種類の手法を定義している。通
常,1コード語に1キャラクタを直接表現することはない(5.4.2〜5.4.4参照)。
b) 拡張チャネル解釈:(任意)これらの仕組みによって,最大811 800個の異なるデータ文字集合又は解
釈で符号化することができる(5.5参照)。
c) マクロPDF417:(任意)この仕組みによって,データファイルを,多数のPDF417シンボルの中に,
論理的,かつ,連続的に表現することができる。最大99 999個の異なるPDF417シンボルを,任意の
順序で読み取ってデータを関連付け又は連結し,正確に元のデータファイルを再構築することができ
る(5.13参照)。
d) “エッジから類似エッジまで”による復号:(固有)PDF417は,エッジから類似エッジまでのエレメ
ントを測定することによって復号することができる(5.3.1参照)。
e) 行また(跨)ぎ走査:(固有)次に示すPDF417の3種類の特性の組合せによって,容易に行また(跨)
ぎ走査を行うことができる。
− 水平方向の連携,又は自己同期
− 行識別
− 垂直方向の連携,現在の行を識別するためにクラスタ値を用いる
この組合せによって,各行で一つ以上の完全なシンボルキャラクタがコード語に復号されている限
り,1回の線走査で多数の行を横切っても,データの部分的な復号を行うことができる。復号のアル
ゴリズムによって,個々のコード語を,意味のあるマトリックスに配置することができる。
f)
誤り訂正:(固有)使用者は,9種類ある誤り訂正レベルの中から一つを選ぶことができる。レベル0
を除くすべてのレベルで,誤りを検出するだけでなく,誤って復号されたコード語及び欠けているコ
ード語を訂正することができる(5.7参照)。
g) コンパクトPDF417:(任意)比較的“汚れることが少ない”環境では,シンボルの面積を小さくする
ために,行の付加情報を減らすことができる(5.12参照)。
注記 初期のPDF417仕様では,コンパクト (Compact) PDF417は,トランケート (Truncated) PDF417
と呼ばれていた。 “Truncated” は,この語の一般的な使用法(切詰め)との関係で混乱する
可能性があるため,コンパクトPDF417の方が適切な用語である。
5.2
シンボルの構造
5.2.1
PDF417シンボルのパラメタ
各PDF417シンボルは,垂直方向に何段にも並んだ複数の行,少なくとも3行(最大で90行)で構成す
る。各行には,スタートパターン,ストップパターン及び行指示子の列を除き,最小1シンボルキャラク
7
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
タ(最大で30シンボルキャラクタ)を含めなければならない。シンボルの4辺全部に,クワイエットゾー
ンを含めなければならない。図1に,“PDF417 Symbology Standard”の文字列を符号化したPDF417シンボ
ルを示す。
図1−PDF417シンボルの構造
5.2.2
行パラメタ
PDF417の各行は,次の要素で構成する。
a) 先頭のクワイエットゾーン
b) スタートキャラクタ
c) 左行指示子のシンボルキャラクタ
d) 1個〜30個のシンボルキャラクタ
e) 右行指示子のシンボルキャラクタ
f)
ストップキャラクタ
g) 末尾のクワイエットゾーン
注記 “d)”で定義しているシンボルキャラクタ(又はコード語)の数は,PDF417シンボルデータ列
の数と同じである。
5.2.3
コード語列
PDF417シンボルには,最大928までのシンボルキャラクタ又はコード語を含めることができる。シン
ボルキャラクタという用語は,印刷されたバー及びスペースのパターンを表すときに,より適している。
コード語という用語は,シンボルキャラクタの数値を表すときに,より適している。コード語は,次の手
順で作成する。
a) 最初のコード語,シンボル長記述子では,常に,誤り訂正コード語の数を除き,シンボル長記述子自
体,データコード語及び埋め草コード語を含め,シンボル中のデータコード語の総数を符号化しなけ
ればならない。
b) データコード語は,符号化可能なキャラクタの最上位から続けなければならない。機能コード語を,
データ圧縮のために挿入してもよい。
c) 埋め草コード語によって,長方形マトリックスの中に,コード語列を配置できる。また,埋め草コー
ド語は,アプリケーションによって要求又は規定されている縦横比を達成するために,追加する行す
べてを埋めるのに用いてもよい。
クワイエットゾーン
スタートパターン
左行指示子
データコード語
右行指示子
ストップパターン
クワイエットゾーン
8
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
d) 任意のマクロPDF417制御ブロック
e) 誤り検出及び誤り訂正のための誤り訂正コード語
コード語は,シンボル長記述子の隣に最上位のコード語を配置し,左から右,上の行から下の行へと符
号化する。図2は,図1に示しているシンボルに類似したシンボルの例を示している。図2では,誤り訂
正レベル1を用いており,シンボルマトリックスを完全に埋めるために,埋め草キャラクタが一つ必要で
ある。
S
T
A
R
T
L1
d15
d14
R1
S
T
O
P
L2
d13
d12
R2
L3
d11
d10
R3
L4
d9
d8
R4
L5
d7
d6
R5
L6
d5
d4
R6
L7
d3
d2
R7
L8
d1
d0
R8
L9
E3
E2
R9
L10
E1
E0
R10
ここに,L,R,d及びEは,4.1で定義している。
d15
:シンボル長記述子(この例では,値は16)
d14〜d1 :データの符号化表現
d0
:埋め草コード語
図2−PDF417シンボル配置図の例
マトリックスの構成に関する規定及び助言を,5.9に示す。
5.3
基本的な符号化
5.3.1
シンボルキャラクタの構造
各PDF417シンボルキャラクタは,それぞれが1〜6のモジュール幅をもつ四つのバーエレメント及び四
つのスペースエレメントで構成しなければならない。四つのバーエレメント及び四つのスペースエレメン
トは,合計で17モジュールでなければならない。PDF417シンボルキャラクタは,キャラクタ内のe距離
を測定することによって,復号することができる。
各シンボルキャラクタは,シンボルキャラクタを8エレメントのモジュール幅で示す,8ディジットバ
ー スペース列で定義する。図3に,バー スペース列51111125のシンボルキャラクタを示す。
9
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
図3−PDF417シンボルの1キャラクタ
これらは,0〜928の番号が付けられた,929個のシンボルキャラクタ値(コード語)として定義されて
いる。
コード語は,互いに排他的な3種類のシンボル文字集合,すなわちクラスタによって表現する。それぞ
れのクラスタでは,929個の使用可能なPDF417コード語を,異なるバー スペースパターンで符号化する。
クラスタ番号は0,3及び6である。クラスタの定義は,スタートキャラクタ及びストップキャラクタを除
く,すべてのPDF417シンボルキャラクタに適用する。
クラスタ番号Kは,次の数式によって定義する。
K = (b1−b2+b3−b4+9) mod 9
ここに,b1,b2,b3及びb4は,四つのバーエレメントのモジュール幅である。
図3に示しているシンボルキャラクタのクラスタ番号Kを,次に示す。
K = (5−1+1−2+9) mod 9 = 3
シンボルキャラクタの各クラスタに対応するコード語及びバー スペース列を,附属書Aに示す。
5.3.2
スタートキャラクタ及びストップキャラクタ
スタートキャラクタ及びストップキャラクタは,表1に定義し,図4に示すように構成しなければなら
ない。
表1−スタートキャラクタ及びストップキャラクタのバー スペース列
キャラクタ
バー スペース列
B
S
B
S
B
S
B
S
B
スタート
8
1
1
1
1
1
1
3
ストップ
7
1
1
3
1
1
1
2
1
注記1 PDF417のスタートキャラクタ及びストップキャラクタは,6モジュールを超える幅のエレメ
ントをもっていることが特徴である。
注記2 ストップキャラクタには,1モジュール幅のバーエレメントが一つ余分にある。
スタートキャラクタ及びストップキャラクタは,すべての行で,同じバー スペース列をもっていなけれ
ばならない。
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17
5
1
1
1
1
1
2
5
モジュール番号
エレメント幅
b1
b2
b3
b4
s1
s2
s3
s4
10
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
図4−PDF417のスタートキャラクタ及びストップキャラクタ
5.4
高レベルな(データの)符号化
高レベル符号化は,データキャラクタを対応するコード語に変換する。
高レベル符号化を実行するには,データ圧縮法を用いる。データ圧縮では,次に示す3種類のモードを
定義しており,各モードによって,使用者定義のデータとコード語列との間に,それぞれ特有の効率的な
対応付けを定義している。PDF417には,次の3種類のデータ圧縮モードがある。
− テキスト圧縮モード(5.4.2参照)
− バイト圧縮モード(5.4.3参照)
− 数字圧縮モード(5.4.4参照)
与えられたデータバイトの文字列は,圧縮モード及びサブモード間での符号器の切換方法に従って,別
のコード語列によって表してもよい。PDF417シンボルでは,データを符号化する場合,特有の画一的な
方法はない。
900個のコード語(0〜899)を,各モード独自のデータ符号化及び他の機能のために用いる。残りの29
のコード語は,使用中の圧縮モードの種類に関係なく,特定の機能(5.4.1参照)に割り当てる。
PDF417では,拡張チャネル解釈システムを用いることもできる。このシステムによって,データの異
なる解釈を,シンボルの中に正確に符号化することができる(5.5参照)。
5.4.1
機能コード語
コード語900〜928は,次に示しているような機能コード語として指定している。
− モード間での切換用(5.4.1.1参照)
− 拡張チャネル解釈 (ECI) を用いた,高度なアプリケーション用(5.4.1.2参照)
− その他の高度なアプリケーション用(5.4.1.3及び5.4.1.4参照)
903〜912,914〜917及び919のコード語は,予約済みである。表2に,割り当てられた機能コード語及
び予約された全リストを示す。これらの機能を5.4.1.1〜5.4.1.5に示す。予約済みのコード語の処理につい
ては,5.4.6を参照。
スタートキャラクタ
ストップキャラクタ
11
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表2−PDF417機能コード語の割当て
コード語
機能
参照細分箇条
900
テキスト圧縮モードへの切換え
5.4.1.1
901
バイト圧縮モードへの切換え
5.4.1.1, 5.4.3.1
902
数字圧縮モードへの切換え
5.4.1.1
903〜912
予約済み
913
バイト圧縮モードへの一語切換え
5.4.1.1
914〜917,919
予約済み
918
合成シンボル(GS1合成シンボル以外の)で,一次元シンボル体系に関連した
連携フラグ
5.4.1.5
920
GS1合成シンボルで,一次元シンボル体系に関連した連携フラグ
5.4.1.5
921
バーコードリーダの初期化
5.4.1.4
922
マクロPDF417制御ブロックの終端コード語
5.13
923
マクロPDF417制御ブロックの,任意領域の始まりを示すコード語列のタグ
5.13
924
バイト圧縮モードへの切換え(901と異なった用い方)
5.4.1.1,5.4.3.1
925〜927
拡張チャネル解釈 (ECI) のための識別子
5.5
928
マクロPDF417制御ブロックの始まりを示すマクロ目印コード語
5.13
5.4.1.1
モード切換用機能コード語
一つのPDF417シンボルの中で,必要に応じて何度でもモードを切り換えることができる。適切なモー
ドの選択については,5.4.5を参照。
モード切換コード語を用いて,現在のモードから指定の目的モードに切り換えることができる。新しい
モードは,直接,別のモード切換えが用いられるまで有効である。コード語900〜902及びコード語924
に,この機能を割り当てる。表3に,これらの機能を定義する。
モード一語切換コード語913は,テキスト圧縮モードからバイト圧縮モードへ,一時的な切換えを引き
起こさなければならない。この切換えは,(コード語913の)次のコード語に対してだけ機能し,そのあと
は,テキスト圧縮モードの有効なサブモードに戻らなければならない。コード語913は,テキスト圧縮モ
ードでだけ用いることができる。使用法については5.4.2.4を参照。
表3−モードの定義及びモード切換コード語
目的モード
モード切換え
モード一語切換え
テキスト圧縮
900
バイト圧縮
901/924
913
数字圧縮
902
注記 表には,設定したモードに切り換えるときに用いるコード語を示す。
3種類のモード間で切り換えるときの規則を表4に規定し,図5に概略を示す。
12
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表4−モード変遷表のコード語及び機能
元のモード
目的のモード
テキスト
バイト
数字
テキスト
900モード切換え
913モード一語切換え
902モード切換え
901モード切換え
924モード切換え
バイト
900モード切換え 901モード切換え
902モード切換え
924モード切換え
数字
900モード切換え 901モード切換え
902モード切換え
924モード切換え
図5−使用可能なモード切換機能
バイト圧縮モードへ切り換えるときの,より完全な規則を,5.4.3.1に示す。
5.4.1.2
拡張チャネル解釈に切り換えるための機能コード語
拡張チャネル解釈のコード語を用いて,特定の解釈機能に切り換えることができ,別のECIコード語を
用いるか又はデータの終わりまで有効である。コード語925〜927を,この機能に割り当てる(5.5参照)。
5.4.1.3
マクロPDF417用機能コード語
マクロPDF417シンボル(5.13参照)では,マクロPDF417の制御ブロックの先頭にコード語928を用
いる。コード語922及びコード語923は,マクロPDF417の特殊機能のために用いる。
5.4.1.4
バーコードリーダ初期設定用機能コード語
コード語921を用いて,バーコードリーダに対し,シンボルに含まれているデータを,バーコードリー
ダを初期設定するためのプログラムとして解釈するように指示する。コード語921は,シンボル長記述子
900
900
901/924
913
901/924
902
902
900
901/924
902
モード一語切換え
モード切換え
テキスト
圧縮
バイト
圧縮
数字圧縮
13
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
のあと,最初のコード語として現れなければならない。マクロPDF417の初期設定手順の場合には,どの
シンボルにも,コード語921が現れなければならない。
バーコードリーダは,初期設定シンボルに含んでいるデータ又はシンボルのシーケンスを伝送してはな
らない。
5.4.1.5
合成シンボルの連携フラグのための機能コード語
コード語920は,ISO/IEC 24723に従うGS1一次元シンボルとの複合化のときの連携フラグとして用い
なければならない。
コード語918は,その他の合成シンボル体系での一次元シンボルの存在を示す連携フラグとして用いな
ければならない。
コード語920又はコード語918を用いるときは,シンボルのどの位置に現れてもよい。対象となる合成
シンボル体系仕様で,連携フラグの位置を特定してもよい。
ある合成シンボル体系を用いるアプリケーションを利用可能にするバーコードリーダは,関連合成シン
ボル体系仕様で指定されるように,すべてのコンポーネントからデータを復号して送ることが望ましい。
合成アプリケーションを利用可能にしていないバーコードリーダは,918又は920コード語を予約コード
語とみなしてもよい(5.4.6参照)。さらに,コード語918で示された合成アプリケーションを利用可能に
していないバーコードリーダは,二次元の合成コンポーネントを無視して,関連する一次元シンボルのデ
ータだけを送るという任意選択機能をもってもよい。
5.4.2
テキスト圧縮モード
テキスト圧縮モードには,すべての印刷可能なASCIIキャラクタ(すなわち32〜126の値),3種類の
ASCII制御文字,HT又はtab(ASCII値9),LF又は改行(ASCII値10)及びCR又は復帰(ASCII値13)
が含まれる。また,テキスト圧縮モードにも,モード内でだけ用いる切換キャラクタ及び一語切換キャラ
クタが含まれる。
テキスト圧縮モードでは,コード語当たり最大2キャラクタを符号化する。データをPDF417コード語
に変換する圧縮規則を,5.4.2.2に規定する。
5.4.2.1
テキスト圧縮サブモード
テキスト圧縮モードには,次の四つのサブモードがある。
− 英大文字(大文字アルファベット)
− 英小文字(小文字アルファベット)
− 混合(数字及び幾つかの句読点)
− 句読点
各サブモードには,サブモード切換キャラクタ及び一語切換キャラクタを含め,30キャラクタがある。
各シンボル開始時のPDF417圧縮モードは,常に,テキスト圧縮モードの英大文字サブモードでなけれ
ばならない。他のモードからテキスト圧縮モードへの切換コード語は,常に,テキスト圧縮モードの英大
文字サブモードにしなければならない。
すべてのキャラクタ及びそれらを5.4.2.2で30進法として扱うときの値を,表5に示す。
14
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表5−テキスト圧縮サブモードの規定
30進法の値
テキスト圧縮サブモード
英大文字
英小文字
混合
記号
キャラクタ
ASCII
キャラクタ
ASCII
キャラクタ
ASCII
キャラクタ
ASCII
0
A
65
a
97
0
48
;
59
1
B
66
b
98
1
49
<
60
2
C
67
c
99
2
50
>
62
3
D
68
d
100
3
51
@
64
4
E
69
e
101
4
52
[
91
5
F
70
f
102
5
53
\
92
6
G
71
g
103
6
54
]
93
7
H
72
h
104
7
55
̲
95
8
I
73
i
105
8
56
̀
96
9
J
74
j
106
9
57
~
126
10
K
75
k
107
&
38
!
33
11
L
76
l
108
CR
13
CR
13
12
M
77
m
109
HT
9
HT
9
13
N
78
n
110
,
44
,
44
14
O
79
o
111
:
58
:
58
15
P
80
p
112
#
35
LF
10
16
Q
81
q
113
-
45
-
45
17
R
82
r
114
.
46
.
46
18
S
83
s
115
$
36
$
36
19
T
84
t
116
/
47
/
47
20
U
85
u
117
+
43
“
34
21
V
86
v
118
%
37
|
124
22
W
87
w
119
*
42
*
42
23
X
88
x
120
=
61
(
40
24
Y
89
y
121
^
94
)
41
25
Z
90
z
122
pl
?
63
26
space
32
space
32
space
32
{
123
27
ll
as
ll
}
125
28
ml
ml
al
ʻ
39
29
ps
ps
ps
al
al=英大文字サブモードへの切換え
ml=混合サブモードへの切換え
as=英大文字サブモードへの一語切換え
pl=記号サブモードへの切換え
ll=英小文字サブモードへの切換え
ps=記号サブモードへの一語切換え
注記 上のキャラクタの欄に,隣のASCIIの欄に示しているバイト値に対するGLI 0及びECI 000003の規定の解釈
を示す。表の各項目には,コード語の半分,すなわち0〜29の範囲の値を示す(5.4.2.2参照)。
5.4.2.2
テキスト圧縮モードによる符号化の圧縮規則
テキスト圧縮モードでは,対のデータキャラクタが,一つのコード語の中で表現される。データキャラ
クタに割り当てる値0〜29(すなわち30進法)を,表5に示す。30進法対応値の各対では,最初又は左の
値に上位の値,例えば,hを指定し,もう一方に下位の値,例えば,lを指定する。
符号化するPDF417コード語を,次の式に示す。
15
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
d = h×30+l
ここに,dは,4.1で定義している。
この式は,テキスト圧縮モード内の一語切換え及び切換用の30進法対応値にも適用しなければならない。
適切な切換え及び一語切換値は,サブモード間で用いなければならない。もし,キャラクタ列の符号化の
結果,偶数個の30進法対応値にならない場合には,5.4.2.4を参照し,対応する機能を用いる。
次の例は,テキスト圧縮モードによる圧縮方法である。
例 符号化するデータ:PDF417
表6−テキスト圧縮符号化の例
キャラクタ対
h
l
h×30+l
コード語
PD
15
3
15×30+3
453
F ml
5
28
5×30+28
178
41
4
1
4×30+1
121
7 ps
7
29
7×30+29
239
注記1 ml(混合サブモードへの切換え)は,数字キャラクタを符号化するためにサブモードを切り
換えるときに用いる。
注記2 psは,この例では,埋め草値として用いており,他の一語切換値及び切換値を用いることが
できる(5.4.2.4参照)。
データPDF417は,453,178,121及び239のコード語で表す。
5.4.2.3
テキスト圧縮サブモードの切換え:切換え及び一語切換えの機能
サブモード一語切換えは,テキスト圧縮サブモードから他のモードへ,一つのデータキャラクタ分だけ
切り換えるときに用いなければならない。それに続くコード語では,一語切換えの直前に用いていたサブ
モードに戻る(ただし,埋め草としてpsを用いた場合を除く。5.4.2.4参照)。一語切換機能を,次に示す。
− ps=記号サブモードへの一語切換え
− as=英大文字サブモードへの一語切換え
サブモード切換えは,テキスト圧縮サブモードから他のモードへ切り換えるときに用いるが,新しいサ
ブモードは,直接,別の切換え又は一語切換えを用いるまで有効となる。切換機能を,次に示す。
− al=英大文字サブモードへの切換え
− ll=英小文字サブモードへの切換え
− ml=混合(数字及び他の記号)サブモードへの切換え
− pl=記号サブモードへの切換え
各テキスト圧縮サブモード内では,限定された切換機能及び一語切換機能を用いることができる。用い
ることができる機能を,表5に示す。表7にテキスト圧縮サブモード間の切換えを表形式で示し,図6に
概略図形式で示す。
注記 サブモード切換えの場合には,その後ろに別のサブモード切換え又はサブモード一語切換えを
続けることができるが,サブモード一語切換えの場合には,後ろに,サブモード一語切換えも,
サブモード切換えも続けることはできない。
16
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表7−テキスト圧縮サブモード変遷表
元のサブモード
目的のサブモード
英大文字
英小文字
混合
記号
英大文字
ll
ml
ps
英小文字
as
ml
ps
混合
al
ll
ps
pl
記号
al
図6−テキスト圧縮サブモードの切換え
5.4.2.4
テキスト圧縮モードで埋め草を用いるための手法
テキスト圧縮のキャラクタ列が偶数個の30進法対応値にならない場合は,キャラクタ列の終わりに埋め
草を追加する。表6に例を示す。テキスト圧縮モードには,特別なヌル関数はない。したがって,次の事
例に示す手法に従って,サブモード一語切換え又はサブモード切換えを用いる。
事例は,次のとおり。
a) キャラクタ列が,データの終わりまで続いているか又はテキスト圧縮モードのキャラクタ列の後ろに,
他の圧縮モードへの切換機能が続いている場合には,埋め草として任意のサブモード一語切換え又は
任意のモードからコード語900で切換え
サブモード切換え
サブモード一語切換え
ll = 英小文字サブモードへ切換え
ps = 記号サブモードへ一語切換え
ml = 混合サブモードへ切換え
as = 英大文字サブモードへ一語切換え
al = 英大文字サブモードへ切換え
pl = 記号サブモードへ切換え
ll
as
ll
al
al
ml
ml
ps
ps
pl
ps
英大文字
英小文字
混合
記号
17
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
サブモード切換えを用いることができる。
b) テキスト圧縮モードのキャラクタ列の後ろに,バイト圧縮モードのキャラクタを一つだけ符号化する
ためのバイト一語切換え(コード語913)が続いている場合は,バイト圧縮への一語切換えの前に用
いていたテキスト圧縮サブモードに従って,次の二つの手法を用いることができる。
1) テキスト圧縮サブモードが句読点以外の場合で,同じテキスト圧縮サブモードに復帰させる目的の
符号化のときは,30進法対応値の29 (ps) を用いる必要があり,復号器は,直前にpsが先行するコ
ード語913を無視する。
2) テキスト圧縮サブモードが句読点の場合は,30進数対応値の29 (al) を用いる。復号器は,英大文
字サブモードに戻れるよう,alを無視してはならない。
5.4.2.5
テキスト圧縮モードからの切換え
テキスト圧縮モードは,シンボルの終わり又は次に示している任意のコード語によって終了してもよい。
− 900(テキスト圧縮モード切換え)
− 901(バイト圧縮モード切換え)
− 902(数字圧縮モード切換え)
− 924(バイト圧縮モード切換え)
− 928(マクロPDF417制御ブロックの先頭)
− 923(マクロPDF417任意領域の先頭)
− 922(マクロPDF417の終端)
最後の三つのコード語は,マクロPDF417シンボルのマクロPDF417制御ブロック内でだけ現れる(5.13.1
参照)。また,テキスト圧縮モードは,予約コード語がある場合にも関連する(5.4.6参照)。
復号器は,テキスト圧縮モードの場合にコード語913(バイト圧縮モード一語切換え)を確認すると,
コード語913に続くコード語を単一のバイナリバイトとして復号し,そのあと,テキスト圧縮モードに戻
る。復号器が復帰するサブモードは,コード語913の前に有効で,直前に切り換えたサブモードである。
コード語913の直前のpsサブモード一語切換えは無視する。
復号器は,テキスト圧縮モードの場合にコード語900(テキスト圧縮モード切換え)を確認すると,英
大文字サブモードに再初期化する。
5.4.3
バイト圧縮モード
バイト圧縮モードは,8ビットのバイト列を,コード語の列に符号化することを可能にする。この符号
化は,256進法から900進法への変換によって実行し,5コード語に対して6バイトの圧縮比 (1.2 : 1) を
達成する。
すべてのキャラクタ及びその値(0〜255)を,附属書Bに示す。このキャラクタ及びその値は,図形文
字及び制御文字として解釈しなければならない。拡張チャネル解釈 (ECI) が実施される(5.5参照),この
解釈は,ECI 000003(5.5.2参照)として定義できる。
注記 初期のPDF417仕様では,初期キャラクタセットは,ECI 000002(MS-DOSオペレーティング
システムのコードページ)と一致していた。128未満のバイトキャラクタ値の解釈は変化せず,
PDF417の印刷及び読取りの機器動作にも影響しない。127を上回るバイトキャラクタ値を用い
る,新しいアプリケーションでは,現在のシステムと広い互換性を得るために,ECI 000003の
初期解釈をするのが望ましい。127を上回る値を利用した既存のアプリケーションでは,前の
とおりにデータの処理及び符号化をしてもよい。127を超える値について,初期解釈に依存し
ているアプリケーションで,この初期解釈を用いていることを通知したいときは,ECI 000002
18
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
を明示的に符号化してもよい。
5.4.3.1
バイト圧縮モードへの切換え
テキスト圧縮モード又は数字圧縮モードからバイト圧縮モードに切り換えるときは,次に示しているコ
ード語の一つを用いなければならない。
− モード切換924は,符号化しようとするバイト圧縮キャラクタの総数が6の整数倍の場合に用いなけ
ればならない。
− モード切換901は,符号化しようとするバイト圧縮キャラクタの総数が6の整数倍でない場合に用い
なければならない。
− モード一語切換913は,バイト圧縮キャラクタを一つだけ符号化する必要がある場合に,コード語901
の代わりに用いることができる。
5.4.3.2
モード一語切換913を用いた単一のバイト圧縮キャラクタを符号化するときの圧縮規則
単一のバイト圧縮キャラクタを符号化するときは,附属書Bに定義しているコード語を10進数対応値
(0〜255)のキャラクタにしなければならない。
5.4.3.3
モード切換924又は901を用いてバイト圧縮文字列を符号化するときの圧縮規則
バイト圧縮キャラクタデータを符号化するときは,次の手順に従わなければならない。
a) バイト圧縮キャラクタの総数を確定する。
b) 完全に6の倍数になっている場合は,モード切換924を用いなければならない。それ以外は,モード
切換901を用いなければならない。
c) バイト圧縮キャラクタ列を,左から右(最上位から最下位の文字)に向かって,6キャラクタずつの
列に分割する。6キャラクタに満たない場合には,手順g) に進む。
d) バイト圧縮モードで符号化しようとする6データバイトの10進数を,b5〜b0として割り付ける(ただ
し,b5は最初のデータバイト)。
e) 256進法から900進法への変換を実行し,五つのコード語列を作る。附属書Cには,そのアルゴリズ
ムを定義し,処理した例を示している。
f)
必要に応じて,手順c) から繰り返す。
g) モード切換901を用いるとき,最後のグループのバイト圧縮キャラクタ数は6未満であるが,この場
合,このグループに対するコード語列は,附属書Bで定義している各バイト圧縮キャラクタの10進
数対応値(0〜255)の列でなければならない。
注記 モード切換901に基づくバイト圧縮モードの場合は,符号化の対象になるバイトの総数が6の
倍数ではないと想定している。バイト圧縮モード符号化をしようとするバイトの数が偶然6の
整数倍になっている場合には,901又は924のいずれかのバイト圧縮切換えを符号化しなけれ
ばならず,これらの符号化規則に従って,正確に符号化して,シンボル中の任意の位置に置か
れる。例えば,924のコード語を第1又は第2のコード語として認識すると,それに続くバイ
ト圧縮モードのコード語列は,6の倍数のバイトを符号化しているものとみなす。対照的に,
901は,バイト圧縮モードのコード語列が二つの部分に分割され,いずれの部分も,6の倍数の
バイトを符号化することはない,任意の位置に置くことができる。
追加して,テキスト圧縮モード又は数字圧縮モードによる符号化が必要な場合は,適切な切換キャラク
タを用いなければならない(5.4.1.1参照)。
5.4.3.4
バイト圧縮モードからの切換え
バイト圧縮モードは,シンボルの終わり又は次に示している任意のコード語によって終了してもよい。
19
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
− 900(テキスト圧縮モード切換え)
− 901(バイト圧縮モード切換え)
− 902(数字圧縮モード切換え)
− 924(バイト圧縮モード切換え)
− 928(マクロPDF417制御ブロックの先頭)
− 923(マクロPDF417任意領域の先頭)
− 922(マクロPDF417の終端)
最後の三つのコード語は,マクロPDF417シンボルのマクロPDF417制御ブロックの中でだけ現れる
(5.13.1参照)。また,バイト圧縮モードは,予約コード語がある場合にも関連する(5.4.6参照)。
バイト圧縮モード中に,コード語901又は924を用いることによって,再びバイト圧縮モードを呼び出
すと,5.4.3.3に示すバイト圧縮モードが,バイト圧縮キャラクタを六つずつ区切る機能を終了し,新たな
区切りを開始する。この手順は,拡張チャネル解釈 (ECI) 指定番号の符号化を要求するときに必要になる
ことがある(5.5.3.2参照)。
バイト圧縮モードの復号処理中は,バイト圧縮モードがコード語の901又は924のどちらで呼び出され
たかによって,コード語の最終グループの処理が異なる。
コード語924によってバイト圧縮モードが呼び出された場合は,圧縮モード内のコード語の総数は5の
倍数でなければならない。これに当てはまらない場合には,シンボルは無効である。5コード語のグルー
プは,すべて6バイトのグループに復号する。
コード語901によってバイト圧縮モードが呼び出された場合は,最終グループのコード語を圧縮するこ
となく,コード語当たり1バイトとして直接解釈する。したがって,最後のグループが五つのコード語で
構成していれば,そのグループは,6バイトではなく,5バイトと解釈する。
5.4.4
数字圧縮モード
数字圧縮モードは,数字の列を10進法とみなし,900進法に変換することによってデータを圧縮する方
法であり,長い数字列の符号化に用いることが望ましい。数字圧縮モードによって,コード語当たり最大
2.93けたの数字を符号化する。
5.4.4.1
数字圧縮モードへの切換え
テキスト圧縮モード又はバイト圧縮モードの中では,モード切換902を用いて,数字圧縮モードを呼び
出してもよい。
5.4.4.2
連続的な数字の長い文字列を符号化するときの圧縮規則
数字データを圧縮するときには,次の手順を用いなければならない。
a) 数字の文字列を44けたのグループに分割する。最後のグループは44けたに満たない場合がある。
b) 各グループについて,最上位の位置に数字の1を付加し,先頭のゼロが失われないようにする。
例 元のデータ
00246812345678
手順b) の後のデータ
1 00246812345678
注記 先頭の数字1は,復号アルゴリズムの中で取り除く。
c) 10進法から900進法への変換を実行する。附属書Dに,このアルゴリズムを規定し,処理例を示す。
d) 必要に応じて,手順b) から繰り返す。
次の規則を用いて,数字圧縮モードでの正確なコード語数を求めることができる。
− 44けたのグループは,15のコード語に圧縮する。
− 44けたに満たない数字を含むグループについては,次の数式によってコード語数を計算することがで
20
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
きる。
コード語数=INT(けた数/3)+1
例 数字28けたの場合
INT (28/3)+1=9+1=10 コード語
5.4.4.3
数字圧縮モードからの切換え
数字圧縮モードは,シンボルの終わり又は次に示している任意のコード語によって終了してもよい。
− 900(テキスト圧縮モード切換え)
− 901(バイト圧縮モード切換え)
− 902(数字圧縮モード切換え)
− 924(バイト圧縮モード切換え)
− 928(マクロPDF417制御ブロックの先頭)
− 923(マクロPDF417任意領域の先頭)
− 922(マクロPDF417の終端)
最後の三つのコード語は,マクロPDF417シンボルのマクロPDF417制御ブロックの中でだけ現れる
(5.13.1参照)。また,数字圧縮モードは,予約コード語がある場合にも関連する(5.4.6参照)。
数字圧縮モード中にコード語902を用いることによって,再び数字圧縮モードを呼び出すと,5.4.4.2に
示す,数字圧縮モードによる区切り機能を終了して,新たな区切りを開始する。この手順は,拡張チャネ
ル解釈 (ECI) 指定番号の符号化を要求するときに必要になることがある(5.5.3.4参照)。
数字圧縮モードの復号処理において,900進法から10進法への変換の結果は,最上位の数字が“1”に
なっていなければならない。結果が“1”で始まっていない場合には,シンボルを無効として処理する。先
頭の“1”を取り除くと元の数字になる。
5.4.5
適切な圧縮モードを選択するには
PDF417シンボルの印刷及び読取りに対する基本的な処理機能のすべては,テキスト圧縮,バイト圧縮
及び数字圧縮の3種類のモードに対応していなければならない。テキスト圧縮の初期設定文字集合を,表
5に示す。バイト圧縮の初期設定文字集合を,附属書Bに示す。標準的なASCII文字ファイルを符号化す
る場合は,通常,バイト圧縮モードよりもテキスト圧縮モードの方が効率的である。その理由は,ASCII
キャラクタ値の9,10,13及び32〜126の圧縮度が高いからである。
長い数字列には,数字圧縮モードを用いることが望ましい。
コード語数を最小に抑えるためのモード間のアルゴリズムを,附属書Nに示す。
5.4.6
PDF417予約コード語の処理
5.4.6.1
概要
オープンシステムで用いる目的のPDF417シンボルでは,この規格で予約コード語(5.4.1参照)と規定
しているものは,どれも用いないほうがよい。ただし,復号機器は,5.17.4に示す拡張表記を用いて,予
約コード語の伝送に対応することが望ましい。また,復号機器には,予約シンボルを無効として処理する
選択肢をもたせてもよい。例えば,基本チャネルモードでの動作がこれに当てはまる。
受信システムでは,予約コード語に対する新しい定義をあらかじめ認識していない限り,予約コード語
を用いている拡張表記を含むデータを,無効にすることが望ましい。
5.4.6.2
将来的な予約コード語の作成法
この規格の今後の改正で定義する新しい機能コード語は,どのような場合でも,改正以前に存在する機
器との互換性を確保するよう,符号化の規則を規定しなければならない。特に,次の条件を満たしていな
21
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
ければならない。
− 新しい注目すべきコード語を符号化するときには,新しい圧縮モードコード語とは対照的に,すぐ後
ろに適切な圧縮モード切換えを続けるようにする。あとに続くデータコード語が,一連の解釈されな
い拡張コード語としてではなく,解釈されてバイト列として伝送されるようにするためである。この
方法によって,旧のPDF417規格及び新しいPDF417規格の両方に対応している復号機器によって,
望ましい結果が得られる。
− 受信システムでは,文字集合などの符号化拡張チャネル解釈 (ECI) の前に,拡張チャネル解釈 (ECI)
復号器が通知的拡張チャネル解釈 (ECI),すなわちマクロ制御ブロック及び解釈されない拡張コード
語を処理する。したがって,符号器は,次のように動作の順序を考慮する必要がある。
a) マクロ制御ブロック拡張チャネル解釈 (ECI) は,適切な順序で完全なバイト列を組み立てるときに
用いる。
b) 拡張データコード語は,新しい圧縮モード又は通知的拡張チャネル解釈 (ECI) の規則に従って,拡
張チャネル解釈 (ECI) 復号器によって変換され,その結果,出力されたデータバイトを,バイト列
内の適切な位置に挿入する。
c) 最後に,文字集合とその他の拡張チャネル解釈 (ECI) とを,バイト列結果に適用する。
5.5
拡張チャネル解釈
拡張チャネル解釈 (ECI) 手順によって出力されたデータ列は,規定値の文字集合とは異なる解釈をもつ
ことができる。ECI手順は,PDF417を含む多くのシンボル体系に対し,同じ内容で定義される。ECIは,
AIM Global, Inc.によって発表された。
注記 最初は,グローバルラベル識別子 (GLI) と呼ばれるシンボル体系特定の仕様が,PDF417に定
義されていた。ECIの符号化と復号化とは,初期のPDF417 GLIの仕様と同じである。ただし,
初期のPDF417 GLI仕様に従って復号されたメッセージの伝送手順は,ECIからの伝送手順と
は異なる。また,マクロPDF417でのECI使用法の解釈にも相違がある。この規格が初期及び
現在の手順を認めることによって,古い機器と新しい機器とが共存し続けることができる。
PDF417でサポートする解釈を大別すると,次の五つになる。
a) 文字集合(又はコードページ)
b) はん用解釈,例えばデータ暗号化及びデータ圧縮(シンボル体系の圧縮モードとは異なる。)
c) 閉鎖型システム用利用者定義の解釈
d) マクロPDF417用制御情報の伝送
e) 解釈されないPDF417コード語の伝送
拡張チャネル解釈手順のメッセージは,AIM Inc. International Technical Standard : ITS/04-001,パート
1にすべて明記されている。手順では,印刷前及び復号後のバイト値の特殊な解釈を指定するための一貫
した方法を規定している。
拡張チャネル解釈 (ECI) は,PDF417シンボルで符号化された,指定された3種類のコード語の一つと,
そのあとに続く一つ又は二つのコード語によって,6けたの数字で識別する(5.5.1参照)。
特定のECIは,圧縮モードの規則に従って符号化したメッセージの,どの位置ででも呼び出すことがで
きる(5.5.3参照)。
ECI手順は,シンボル体系識別子を伝送できる復号器の場合にだけ用いることができる(5.17.5参照)。
シンボル体系識別子を伝送できない復号器の場合は,ECIを含むどのようなシンボルからも,エスケー
プシーケンスを確実に伝送することはできない。
22
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
5.5.1
ECI指定番号の符号化
ECIは,5.5.3に示す条件に従って,データ列のどこからでも呼び出すことができる。一度ECIを呼び出
すと,どの圧縮モードにも切換えできる。用いる圧縮モードは,符号化される8ビットのデータ値で厳密
に決定し,起動中のECIには依存しない。例えば,範囲48〜57(10進数)の列は,その列が数字として
解釈できなくても,数字圧縮モードの場合に最も効率的に符号化される。
ECI指定番号は,927,926又は925のコード語によって始まる3種類のECIコード語列の一つによって
符号化される。ECI指定番号の符号化には,一つ又は二つの追加コード語が用いられる。符号化の規則を,
表8に示す。
表8−ECI指定番号の符号化
ECI指定番号
コード語列
コード語
範囲
000000〜000899
C0
927
C1
ECI̲no
C1=(0〜899)
000900〜810899
C0
926
C1
ECI̲no div 900 - 1
C1=(0〜899)
C2
ECI̲no mod 900
C2=(0〜899)
810900〜811799
C0
925
C1
ECI̲no - 810 900
C1=(0〜899)
注記1 ECI̲noは,ECI指定番号である。
PDF417には,811 800の設定可能なECI指定番号がある。
注記2 符号化方法は,PDF417の初期の仕様で利用できたGLI手法と同じで,AIM USA (1994) 及び
AIM Europe (1994) の仕様に組み込まれている。
次に,符号化の例を示す。
ECI=013579
コード語:[926] [(13 579 div 900) - 1] [13 579 mod 900]
=[926] [15 - 1] [79]
=[926] [14] [79]
5.5.2
事前指定された拡張チャネル解釈
次のECI(ECI 000000〜ECI 000003)は,PDF417を含む,既存のシンボル体系と互換性を保つために,
事前に割り当てられている。
− ECI 000000(初期のGLI 0と等しい。)は,初期のPDF417規格に従う符号器の,既定の符号化法を表
している。
− ECI 000001(初期のGLI 1と等しい。)は,JIS X 0201 (ISO/IEC 646 : 1991) 国際標準版(ANSI X3.4
と等しい。)と同じ0〜127のキャラクタ,及びISO/IEC 8859-1と同じ128〜255のキャラクタで,数
多くのシンボル体系のGLI符号化法を表している。
注記 ECI 000000(GLI 0に対応)とECI 000001(GLI 1に対応)とは,マクロPDF417シンボルセ
ットの符号化した各シンボルの先頭に,GLI 0復帰の手続を必要とする。この手続は,他の
拡張チャネル解釈 (ECI) では用いない。
− ECI 000002には,GLI 0復帰の手続を除いてECI 000000と同じコード表がある。
− ECI 000003には,GLI 0復帰の手続を除いてECI 000001と同じコード表がある。ECI 000003は,この
23
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
規格に適合した符号器のための標準の符号化手法である。
ECI 000000及びECI 000001は,利用者に定義されたECIを除き,他のECIでセットされたPDF417シ
ンボル又はマクロPDF417シンボルの中で,符号化してはならない。ECI 000002及びECI 000003は,それ
ぞれ互換性をもつ選択肢をECI 000000及びECI 000001に提供する。ECI 000000及びECI 000001は,新し
いアプリケーションの中で,用いてはならない。
5.5.3
圧縮モード内でのECIシーケンスの符号化
符号化の一般的な原理では,元データバイト列にECIを適用してバイト列を変更し,シンボル体系の圧
縮モードを用いて効率化を図り,変更されたバイト列をPDF417シンボルの中に符号化する。ECI符号化
及びシンボル体系圧縮仕様は,処理過程の独立した二つの論理層を形成する。
通常,ECI指定と圧縮モードとは混在するが,幾つかの組合せでは,非論理的な動作又は不確実な動作
が生成されることがある。次の項では,ECIエスケープシーケンスの有効な配置指定による,明確なECI
の組込方法を定義する。
5.5.3.1
ECI及びテキスト圧縮モード
ECIエスケープシーケンスは,テキスト圧縮モード内の任意の位置に設定できる。ECIエスケープシー
ケンスの直前に呼び出したサブモードは,その直後の符号化のために保持される。したがって,サブモー
ド切換え及びサブモード一語切換えは,ECIエスケープシーケンスをまた(跨)いで保持するので,ECI
エスケープシーケンス直前のサブモード一語切換えは無視されない。
5.5.3.2
ECI並びにモード切換924及び901を用いるバイト圧縮モード
バイト圧縮モードで,モード切換924を用いて符号化すると,符号器は,コード語924の直後又はコー
ド語924の後ろで五つのコード語ごとに区切った任意の境界にだけ,ECIエスケープシーケンスを配置で
きる。これは,復号されたバイト列の中で,エスケープシーケンスの明確な位置を復号器へ与えるのに必
要である。
バイト圧縮モードの924バージョンで,五つのコード語グループの後ろにECIエスケープシーケンスが
ある場合,復号器はエスケープシーケンス前のコード語とともに六つのデータバイトを出力し,エスケー
プシーケンスを出力し,更にバイト圧縮モードで復号するためのコード語の収集を続けなければならない。
復号器が,これらの規定された位置以外でECIエスケープシーケンスを見つけた場合,そのシンボルは無
効として扱わなければならない。
バイト圧縮モードでモード切換901を用いて符号化する場合,ECIエスケープシーケンスを次の位置に
配置できる。
− コード語901の直後
− 6バイトを符号化している五つのコード語セットの直後
− シーケンスの終わりにつながっている,任意の単一バイトコード語の直後
注記 復号器は,ECIエスケープシーケンスが五つのコード語セットに続いているという理由だけ
で,その五つのコード語が6バイトを符号化しているとみなすことはできない。その理由は,
長さ6N+5(Nは,整数)の入力列の場合,最後にある五つのコード語セットは,一つのコ
ード語当たり1バイトで5バイトしか符号化していないからである。したがって,復号器は,
5.4.3.4に定義したように901モードの終端位置を判断するために,ECIエスケープシーケン
スを過ぎて,シンボルの走査を進めなければならない。この901モードの終端情報に基づき,
五つのコード語グループがどのように符号化されているか,判断することができる。
図7は,バイト圧縮モードで符号化するときの,ECIエスケープシーケンスの有効な位置を示す。復号
24
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
器は,五つのコード語グループの中で,ECIエスケープシーケンスを見つけた場合,そのシンボルを無効
としなければならない。
[901]◆□□□□□◆□□□□□◆□◆□◆□◆□◆□◆
[924]◆□□□□□◆□□□□□◆
5コード語グループ
5コード語グループ
ここに, □ = バイト圧縮モードのコード語
◆ = ECIエスケープシーケンスの有効な位置
図7−バイト圧縮モードのECIエスケープシーケンスの有効位置
5.5.3.3
ECI及びモード一語切換913を用いるバイト圧縮モード
バイト圧縮モードで,モード一語切換913を用いて符号化するとき,ECIエスケープシーケンスを次の
ように配置できる。
− コード語913の直前
− コード語913の直後
− コード語913の後ろに続くコード語の直後
最初の二つの場合は,ECIエスケープシーケンスが符号化されたバイトの前に出力され,最後の場合は,
エスケープシーケンスが符号化されたバイトの後に出力される。
5.5.3.4
ECI及び数字圧縮モード
ECIエスケープシーケンスは,数字圧縮モード(5.4.4.2参照)で生成されるコード語グループの内部に
配置してはならない。ECIエスケープシーケンスは,数字圧縮モードの領域内では,(通常は)15コード
語のグループ間の境界にだけ,配置することができる。この配置は,復号された数字列の中で,復号器に
エスケープシーケンスの明確な位置を与えるために必要である。
したがって,ECIエスケープシーケンスは,次の位置にだけ配置することができる。
− コード語902の直後
− 15番目のコード語の後ろ
− 30番目のコード語の後ろ
− その他[15コード語グループの境界部(45番目,60番目など)]
符号器が,15コード語の倍数にならない位置にECIエスケープシーケンスを配置する必要がある場合,
5.4.4.2の手順b) で定義したように,ECIの前にある数字のブロックを完結したものとして処理しなけれ
ばならない。符号器は,別のコード語902をECIエスケープシーケンスの直後に配置して,数字圧縮モー
ドを再度呼び出さなければならない。
復号器がECIエスケープシーケンスを前に定義した境界部の一つで見つけた場合,エスケープシーケン
ス(もしあれば)の前にコード語と関連するデータバイトを出力しなければならず,その後エスケープシ
ーケンスを出力し,更に数字圧縮モードで復号化するためにコード語の収集を続けなければならない。復
号器は,これらの規定された位置以外でECIエスケープシーケンスを見つけた場合,そのシンボルを無効
としなければならない。
25
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
5.5.3.5
ECIの組合せ
ECIエスケープシーケンスの符号化に用いるコード語以外のコード語が,間に配置されない限り,一つ
のECIを有効に配置できる位置のとき,どの位置にでも二つ又はそれ以上のエスケープシーケンス(例え
ば,指定番号)を配置することができる。
5.5.4
復号後の手順
ECIデータを伝送するための手順を5.17.2に規定する。ECIを伝送するときは,シンボル体系識別子
(5.17.5参照)を用意し,適切な前置文字として伝送しなければならない。
5.6
コード語列の決定
符号化の過程では,次に定義するコード語の列を生成する。
dn−1 ... d0
ここに, d=シンボル長記述子及びすべての機能コード語を含むデータコード語
n=誤り訂正コード語を除く,シンボル長記述子を含むデータコード語
の総数
シンボル長記述子は,最初のデータコード語でなければならず,dn−1と表す。シンボル長記述子の値は,
データコード語の総数nと等しくなければならず,この数にはシンボル長記述子自体も含めなければなら
ないため,1〜926の範囲の値にしなければならない。
符号化の過程で,コード語の列が確立される。元のデータ自体のように,最上位データは,最初に現れ
なければならない。例えば,テキスト及び数字データは,左から右へ読まれる。コード語の列では,符号
化されたデータを含む最上位データコード語をdn−2として表さなければならない。最後のデータコード語
(又は,埋め草コード語)は,d0として表す。
行及び列のシンボルマトリックスの決定に用いる手順(5.9.2参照)では,データコード語列の最後に,
末尾埋め草コード語を追加できる。
5.7
誤りの検出及び訂正
各PDF417シンボルは,少なくとも二つの誤り訂正コード語を含んでいる。誤り訂正コード語には,誤
りの検出及び訂正の両方の機能がある。
5.7.1
誤り訂正レベル
PDF417シンボルの誤り訂正レベルは,シンボル作成のときに選択することができる。表9は,各誤り
訂正レベルに対する誤り訂正コード語の数を示す。
表9−誤り訂正レベル及び誤り訂正コード語
誤り訂正レベル
誤り訂正コード語の総数
0
2
1
4
2
8
3
16
4
32
5
64
6
128
7
256
8
512
26
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
5.7.2
誤り訂正能力
誤り訂正機能を用いて,ラベルの欠陥及び復号手順での誤読を補うことができる。誤り訂正レベルを指
定すると,PDF417シンボルに,特定の数の誤り訂正コード語が組み込まれる。用いている誤り訂正コー
ド語のアルゴリズムによって,次の2種類の誤りを修復することができる。
− 消失誤り 既知の箇所で,欠けているか又は復号化不能なコード語
− 代入誤り 不明の箇所で誤って復号化されたコード語
誤り訂正法では,消失を修復するときには一つ,及び代入誤りを修復するときには二つの誤り訂正コー
ド語が必要になる。誤り訂正レベルに従って,次の数式を満足するような組合せで,代入誤りと消失とを
修復することができる。
2
2
2
1−
+
+
s
f
l
≦
ここに,l(Lの小文字)は消失誤りの数,fは代入誤りの数,及びsは訂正レベルとする (4.1)。
なお,大部分の誤り訂正能力を消失誤りの修復に用いた場合,誤りが検出されない可能性が増す。この
ため,s=0(誤り訂正レベル0)の場合を除き,訂正する誤りが4個より少ない場合は,次のように,誤
り訂正能力を下げた方がよい。
3
2
2
1−
+
+
s
f
l
≦
ここに,l(Lの小文字)は消失誤りの数,fは代入誤りの数,及びsは訂正レベルとする (4.1)。
例 誤り訂正レベル3のPDF417シンボルには16個の誤り訂正コード語が含まれており,そのうち最
大14個を用いて,代入誤りと消失を修復することができる。それらのコード語によって,最大
13個の消失若しくは最大7個の代入誤りを修復するか,又は上記の数式に従い,消失l(Lの小
文字)個と代入誤りf個とを任意に組み合わせて修復することができる。表10に,用いることが
可能な組合せを示す。
表10−誤り訂正レベル3で使用可能な誤り訂正の組合せ
修復された代入誤り
修復された消失
組合せを決定する式
0
13又はそれ以下
3
2
2
1−
+
+
s
f
l
≦
(誤り数<4)
1
11又はそれ以下
2
9又はそれ以下
3
7又はそれ以下
4
6又はそれ以下
2
2
2
1−
+
+
s
f
l
≦
(誤り数≧4)
5
4又はそれ以下
6
2又はそれ以下
7
0
5.7.3
誤り訂正コード語の定義
誤り訂正コード語を定義するときは,次の2段階の手順を実行しなければならない。
a) 誤り訂正レベルを選択する。これは,利用者又はアプリケーションによって定義する任意選択であり,
附属書Eに示す。
b) 誤り訂正コード語を生成する。この手順は,5.10に示す一連の規則に従う。この手順は,埋め草コー
ド語(5.9.2参照)を含め,すべてのデータコード語が定義されるまで用いることはできない。
注記 5.3〜5.9,5.13及び5.14で規定する手順は,利用者にとって重要な内容である。5.10,5.11及び
5.15で規定する,より技術的な手順は,利用者が決定することなく,電子的に実行されること
27
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
が多い。
5.8
シンボルの大きさ
PDF417シンボルは,次に示した大きさの条件に適合していなければならない。
5.8.1
モジュールの最小幅 (X)
モジュールの最小幅は,シンボルの作成及び読取りに用いる機器の有無を十分に考慮し,運用上の基本
的な必要条件に合わせ,適用業務の仕様によって決定する必要がある。
モジュールの幅は,一つのシンボル全体で一定でなければならない。
注記 現在のバーコードシンボル品質測定規格(例えば,ISO/IEC 15415)では,シンボル品質の評価
に,寸法の絶対測定を考慮することは要求していない。したがって,これらの規格に基づく場
合は,大きさの最小値の条件に適合しないからといって,それ自体で,シンボルを排除する理
由にしてはならない。
5.8.2
行の高さ (Y)
少なくとも,誤り訂正推奨最小レベルを指定したシンボルの場合
X
Y
3
≧
誤り訂正推奨最小レベル未満のレベルを指定したシンボルの場合で,X寸法が小さいときは,行高さを
増やしてもよい(推奨誤り訂正レベルの詳細については,附属書Eを参照)。
5.8.3
クワイエットゾーン
− 水平方向のクワイエットゾーン(PDF417シンボルの左右)の最小幅:2X
− 垂直方向のクワイエットゾーン(PDF417シンボルの上下)の最小領域:2X
5.9
シンボル形式の定義
PDF417シンボルマトリックス,シンボル全体の大きさ及びシンボルの形状は,次の条件によって決ま
る。
a) モジュール幅,縦横比及び
b) シンボルマトリックスの行数及び縦列数
PDF417シンボルを作成するときは,これらのパラメタが,利用者の入力,アプリケーションの条件及
び初期設定の組合せによって選択する。選択の手順では,満足なフォームができるまで,何度でも手順を
繰り返すことができる。
5.9.1
モジュールの縦横比の設定
印刷するモジュールの縦横比は,次の二つの寸法によって設定する。
− X 最小細バー及び最小細スペースに必要な寸法
− Y 各行の高さに必要な寸法
これらのパラメタは,利用者又は用途によって定義する。これらのパラメタの値を決める主要な条件は,
適用業務分野で用いている印刷システム及び走査システムの分解能である。これらの条件を,5.14に示す。
5.9.2
シンボルマトリックスの行及び縦列の設定
シンボルマトリックスを決めるとき,言い換えると,行数r及び縦列数cを決めるときは,次のような,
幾つかの考慮すべき要素がある。
− 符号化するデータの量及び種類
− シンボル体系の基本的な規則,例えば,行数及び縦列数の範囲を決定する規則など(5.2.1及び5.2.2
を参照)
− シンボルの印刷で用いる物理的なスペース
28
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
− 行が長くなるほど,シンボルの付加情報(スタートキャラクタ,ストップキャラクタ,行指示子及び
クワイエットゾーン用スペース)が少なくなる
− クワイエットゾーンを含む行の長さは,用途によって指定されるか又は当然の条件になっている走査
線の長さよりも短くなければならない。
− バーコードリーダの種類。この種類によってシンボルの総体的な縦横比が決まることがある
− 選択した誤り訂正レベル
多くのアプリケーションにとって,シンボルの許容幅は重要な条件であり,縦列数を固定することによ
って,直接,シンボルマトリックスを決定することができる。附属書Oに,シンボルマトリックスの定義
に必要なガイドラインを詳細に示す。
選択した圧縮モードを用いて,元データの符号化が終了すると,シンボル長記述子及び埋め草コード語
を加える前の元データ数mが分かり,行の数,縦列の数及び誤り訂正レベル(これによって,誤り訂正コ
ード語数kが定まる。)の選択が終わると,次の数式によって,データコード語の総数nを求めることがで
きる。
k
r
c
n
−
×
=
ここに,c,k,n及びrは,4.1で定義している。
行及び縦列の数の関係で,マトリックスが埋め草コード語(通常は,値900を用いる。)を必要とする状
態になることがある。この状態は,次の場合に発生する。
1
+
>m
n
ここに,m及びnは,4.1で定義している。
シンボル長記述子は,上記で計算したnの値に設定する。したがって,次のようになる。
k
r
c
n
dn
−
×
=
=
−1
必要な埋め草コード語数は,(n−m)−1である。
埋め草コード語は,900の値をもっている必要があり,データコード語列の最下位の位置,言い換える
と,最下位の元データコード語の右側に配置する。ただし,マクロPDF417制御ブロックがある場合は,
その前に配置する。次に,この手順の例を示す。シンボル長記述子及び埋め草コード語の挿入以外,コー
ド語列は,元データを符号化したときに出力された,元の状態のままでなければならない。
例 m=246,c=12,r=24及びk=32の場合,n=(c×r)−k=(12×24)−32=256となる。
注記 表記法は,上記に示しているとおり。
シンボル長記述子の値はn=256。
埋め草コード語数=(n−m)−1=256−246−1=9。この例の場合,埋め草を行う前のデータコード語は,
数字圧縮モードへの切換え(コード語902)によって始まり,コード語423で終了し,埋め草には,すべ
てコード語900が用いられている。シンボル長記述子及び埋め草の追加については,次を参照。
最初のデータコード語列
dm−1 ... d0
コード語
902 ... 423
埋め草後のデータコード語列
dn−1 dn−2 ... d9 d8 ... d0
コード語
256 902 ... 423 900 ... 900
5.10 誤り訂正コード語の作成
誤り訂正コード語は,次に規定している方法を用いて作成する。これらのコード語は,シンボル長記述
子及びすべての埋め草コード語を含め,データコード語全体の値を基にして計算する。
コード語列は,次のように定義する。
29
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
dn−1,dn−2, .... d0
ここに,dn−1はシンボル長記述子である。
シンボルデータの多項式は,次のとおり。
0
1
2
2
1
1
...
)
(
d
x
d
x
d
x
d
x
d
n
n
n
n
+
+
+
+
=
−
−
−
−
次に,設定されたデータ列及び選択された誤り訂正レベルに対して,誤り訂正コード語が計算される方
法を,数学的に示す。すべての計算は,モジュロ929で実行する。
誤り訂正コード語は,シンボルデータ多項式d(x) にxkを乗じ,生成多項式g(x) で除した結果の,剰余
の係数の補数である。負の値は,値が≧0になるまで929を加えることによって,ガロア体GF (929) にま
とめる。
誤り訂正レベルに必要とされる誤り訂正コード語kの係数を計算するときは,次の生成多項式を用いな
ければならない。
)
3
)...(
3
)(
3
)(
3
(
)
(
3
2
k
k
x
x
x
x
x
g
−
−
−
−
=
k
k
k
x
x
x
x
+
+
+
+
+
=
−
−
1
1
2
2
1
0
...α
α
α
α
ここに, gk (x)=生成多項式,xは未知変数
k=誤り訂正コード語の総数
αj=生成多項式gk (x) から計算されるxの累乗の係数
係数の計算については,附属書Pに例を示している。
附属書Fに,各誤り訂正レベルについて,PDF417シンボルを符号化するときに必要な係数値のすべて
を示している。
誤り訂正コード語は,次に示す表記法を用い,次に定義しているアルゴリズムに従って計算する。
di=データコード語dn−1 ... d0
Ej=誤り訂正コード語Ek−1 ... E0
αj=生成多項式から計算されるxの累乗の係数(詳細については上記の説明文,値については
附属書Fを参照)
t1,t2,t3=一時変数
アルゴリズムは,次のとおり。
1.
データコード語列dn−1,dn−2 ... d0を識別する。
2.
誤り訂正コード語E0, ..., Ek−1を0の値に初期設定する。
3.
各データコード語di=dn−1 ... d0について,次の計算を行う。
BEGIN
t1=(di+Ek−1) mod 929
各誤り訂正コード語Ej=Ek−1 ... E1について,次の計算を行う。
BEGIN
t2=(t1×αj) mod 929
t3=929−t2
Ej=(Ej−1+t3) mod 929
END
t2=(t1×α0) mod 929
t3=929−t2
E0=t3 mod 929
30
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
END
4.
各誤り訂正コード語,Ej=E0 ... Ek−1について,補数を計算する。
BEGIN
if Ej≠0 then
Ej=929−Ej
endif
END
誤り訂正コード語計算の例については,附属書Qを参照。
このほか,除算回路を用いて誤り訂正コード語を作成する方法がある。その方法については,附属書R
を参照。
5.11 下位レベルの符号化
下位レベル符号化では,シンボルマトリックスが確定していれば,コード語が,対応するシンボルキャ
ラクタ(バー スペース列)に変換する。
図8に,PDF417シンボルについて,各データコード語,誤り訂正コード語及び行指示子に対応する位
置を,概略図で示す。
S
T
A
R
T
L1
dn−1
dn−2
R1
S
T
O
P
L2
R2
Lr−1
d0
Ek−1 Ek−2 Rr−1
Lr
E1
E0
Rr
ここに,
Lr:左の行指示子
Rr:右の行指示子
網目領域:データコード語領域
コード語領域の下の網目がない領域は,誤り訂正コード語領域を示す。
図8−標準的なPDF417シンボルのコード語の位置を示す概略図
5.11.1 クラスタ
PDF417では,局所行識別の方式を用いて,行から行への移動を確認する。
コード語セットは,三つのクラスタに分割される(5.3.1参照)。クラスタ番号として,0,3及び6を用
いる。各コード語及びクラスタを表すシンボルキャラクタそれぞれに対応するバー スペース列を,附属書
Aに示す。
行指示子及びコード語を符号化するとき,各行内のシンボルキャラクタ(バー スペースのパターン)は,
一つのクラスタだけからのものでなければならない。行1ではクラスタ0からのシンボルキャラクタ,行
2ではクラスタ3からのシンボルキャラクタ,行3ではクラスタ6からのシンボルキャラクタ,行4では
クラスタ0からのシンボルキャラクタ,以下同様にシンボルキャラクタを用いる。クラスタは,0,3,6
の順序で,連続して繰り返す。どの行でも,クラスタ番号Kは,次の数式によって計算することができる。
K=[(行番号−1)mod 3]×3
ここに,行には,l〜r(rは,4.1で定義している。)の番号が振られている。
31
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
隣接する二つの行が,いずれも異なるクラスタをもっているため,復号器は,PDF417シンボルを復号
するときに,行また(跨)ぎ走査方法を用いることができる。
5.11.2 シンボルマトリックスの設定
行及び縦列のシンボルマトリックスは,最終的に,5.9.2に示す手順によって設定する。この手順によっ
て,r及びcの値を与える。
5.11.3 左右行指示子値の設定
PDF417シンボルの行指示子は,幾つかの主要なパラメタ,すなわち,行番号 (F),行数 (r),縦列数 (c)
及び誤り訂正レベル (s) を符号化するコード語である。情報は,三つの行にわたって広がっており,その
サイクルは連続して繰り返される。行番号 (F) は,各行に符号化しなければならない。
5.11.3.1 左の行指示子
左の行指示子は,次の数式によって計算する。
KF=0の場合,LF=30×[(F−1) div 3]+(r−1) div 3
KF=3の場合,LF=30×[(F−1) div 3]+(s×3)+(r−1) mod 3
KF=6の場合,LF=30×[(F−1) div 3]+(c−1)
ここに,c,F,r,s及びKは,4.1で定義している。
5.11.3.2 右の行表示子
右の行指示子は,次の数式によって計算する。
KF=0の場合,RF=30×[(F−1) div 3]+(c−1)
KF=3の場合,RF=30×[(F−1) div 3]+(r−1) div 3
KF=6の場合,RF=30×[(F−1) div 3]+(s×3)+(r−1) mod 3
ここに,c,F,r,s及びKは,4.1で定義している。
5.11.4 行の符号化
各行では,次のシンボルキャラクタが,クラスタ番号に適合したものでなければならない。
− 左の行指示子
− データコード語及び/又は誤り訂正コード語を表した,縦列数と等しい数のシンボルキャラクタ
− 右の行指示子
スタートキャラクタ及びストップキャラクタは,すべての行で同じである。
シンボルは,各行にc(縦列数)のコード語を組み込んで,行単位で符号化する。最初の行では,最初
の縦列にシンボル長記述子を含める。最後の行には,幾つか又はすべての誤り訂正コード語を含める。
5.12 コンパクトPDF417
コンパクトPDF417シンボルは,任意に選択して利用できる。この任意選択を用いるときのコンパクト
PDF417は,附属書Gに適合していなければならない。
5.13 マクロPDF417
マクロPDF417は,ファイルデータを,幾つかのブロックに分割して,複数のPDF417シンボルで表す
仕組みである。この手法は,他のシンボル体系の構造化連接機能に類似している。
各PDF417シンボルの読取り又は復号の順序に関係なく,元のデータファイルが適切に復元されるよう
にするために,各マクロPDF417シンボルに制御情報を追加しなければならない。
最大99 999個のPDF417シンボルを,マクロPDF417でデータを符号化するのに用いてもよい。
マクロPDF417の詳細を,附属書Hに示す。
32
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
5.13.1 圧縮モード及びマクロPDF417
マクロPDF417の制御ブロックは,あらかじめ定義した符号化の手法があり,コード語928によって,
シンボル本体にあるすべての圧縮モードのシーケンスを終了する。区分番号領域は,数字圧縮モードで符
号化しなければならない。既定のマクロPDF417任意領域では,それぞれ,最初の圧縮モード及びサブモ
ードとして,無条件で特定のモードが決まっており,新しい任意領域が始まると,前の領域からの圧縮モ
ードを終了(H.2.3参照)し,初期モードを開始する。特に,連続した二つの任意領域の両方でテキスト
圧縮モードを用いている場合でも,コード語923があると,英大文字サブモードを初期設定に戻す。
5.13.2 ECI及びマクロPDF417
5.5.2に示す条件に従って,単一又はマクロPDF417セットのシンボルに符号化したメッセージの中で,
ECIを開始させることができる。呼び出したECIは,どの場合にも,符号化したデータの終わりまで又は
別のECIを確認するまで適用する。したがって,ECIの解釈は,複数のシンボルにわたって広げることが
できる。
データコード語列本体のECI解釈は,マクロPDF417制御ブロックにまでは及ばないが,次のシンボル
の冒頭で,自動的に再開する。ECIエスケープシーケンスが,制御ブロックの任意領域で直接符号化しな
い限り,また,そのECIが存在する領域の終わりで,その機能が自動的に終了しない限り,制御ブロック
のデータは,初期のECI (000003) を用いて解釈する。
注記 例えば,AIM USA (1994) 及びAIM Europe (1994) PDF417仕様に従って,GLIとして処理する
場合には,符号化によって,特に指定しなくても,当然,各シンボルの最初にGLI 0(ECI 000000
と同じ)に復帰する。GLI 1を次のシンボルでも有効に持続させようとする場合は,この次の
シンボルの先頭で,GLI 1を明確に符号化する。今後しばらくはこれら初期の規格に適合した
符号器の使用が予想されるため,5.17.6には,この仕様との互換性を確保する方法を紹介して
いる。
5.14 利用者向けガイドライン
5.14.1 可読解釈
PDF417シンボルは,大量のデータを符号化することができる。したがって,データキャラクタの可読
解釈は,あまり実用的ではない可能性がある。代替手段として,データそのものを表現する文ではなく,
データについての説明的な文をシンボルに添えてもよい。メッセージは,シンボルを囲む領域のどこにで
も印刷することができるが,シンボル自体を損なったり,クワイエットゾーンにはみ出したりすることは
できない。この規格では,字体及び文字の大きさは指定していないが,アプリケーション基準によって指
定することができる。
5.14.2 自動識別機能
PDF417は,多くのシンボル体系を含む自動識別環境で用いることができる(S.1参照)。
5.14.3 利用者定義のアプリケーションパラメタ
次に示すように,この規格の中で変数として指定しているPDF417シンボルのパラメタは,アプリケー
ション基準によって設定する。
5.14.3.1 シンボル体系及び大きさの特性
アプリケーション基準によって,次のデータ,シンボル体系及び大きさのパラメタを指定する。
a) 基本モードの初期の解釈を越えてデータ符号化を拡大する場合には,必要に応じて,拡張チャネル解
釈を選択して用いる。
b) シンボル中のデータ量は,固定,可変及び指定された最大限度までの可変のいずれかとして設定する
33
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
ことができる。
c) 誤り訂正レベルの選択
d) モジュール幅の範囲
e) モジュール高さの範囲
f)
シンボルパラメタ:縦横比の許容範囲及びシンボルの幅又は高さの最大値の有無
注記 その他,PDF417の適用業務を指定するときに考慮が必要な条件について,附属書O及び附属
書Sに示す。
5.14.3.2 試験仕様
シンボルを評価するためのパラメタは,ISO/IEC 15415に従って,品質のグレードを指定することによ
って定義しなければならない。
このグレードは,“グレード/測定開口径/ピーク応答波長”の形式で表現する。
次の例は,グレードを表すときに必要な値の種類を示している。
1.5/10/660
ここに, 1.5は,シンボル品質の総合グレード。
10は,測定開口径番号で,この例では,直径0.25 mm。
660は,ピーク応答波長(nm:ナノメートル)。
注記 ISO/IEC 15415は,アプリケーション仕様に基づくパラメタのグレード付けについて,選択の
指標を提供する。アプリケーション業務に適切な値は,アプリケーション基準の中で設定する。
5.14.4 PDF417シンボルの品質
PDF417シンボルの印刷品質は,行また(跨)ぎ走査を伴ったマルチローシンボル体系の評価のために,
ISO/IEC 15415で規定する方法で評価する。
注記 附属書Iに,ISO/IEC 15415で規定する方法の要約を示す。
5.15 参照復号アルゴリズム
PDF417の参照復号アルゴリズムを,附属書Jに示す。この参照復号アルゴリズムは,ISO/IEC 15415に
応じた印刷品質評価のための基準である。
5.16 誤り検出及び誤り訂正の手順
復号手続の一環として,シンボルの誤り訂正可能数の範囲内で,消失誤り及び代入誤りを訂正すること
ができる。誤り訂正は,附属書Kに示す手順を用いて行う。
5.17 伝送データ
5.17.1 初期解釈の伝送データ
テキスト圧縮,バイト圧縮又は数字圧縮のどのモードでデータを符号化した場合でも,すべてのデータ
コード語を利用者データに変換し,8ビットバイトとして伝送する。スタートキャラクタ,ストップキャ
ラクタ,行指示子,シンボル長記述子,モード切換コード語,埋め草コード語及び誤り訂正コード語は,
伝送しない。
5.17.2 拡張チャネル解釈 (ECI) の伝送手順
ECIを利用可能にしているシステムの場合には,伝送のときに必ず,シンボル体系識別子の接頭辞を用
いる(5.17.5及び附属書L参照)。マクロPDF417の制御ブロックを伝送する場合には,このブロックを,
ECI伝送手続に従って動作するエスケープシーケンスの,制御セットの一部として処理する(5.17.3及び
附属書H参照)。
3種類のコード語(925,926及び927)が,ECI値を符号化していることを知らせ,次のようにバイト
34
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
値として復号する。
a) ECIシーケンスが,コード語927で始まる場合
1) コード語927は,エスケープキャラクタ92として伝送する。このキャラクタは,初期の符号化では,
バックスラッシュ(\)を表す。
2) 次のコード語は,コード語の前にゼロを挿入することによって,6けたの数値に変換する。6けたの
数値は,48〜57の範囲で,対応する六つのバイト値として伝送する。
例 シンボルの符号化
[927] [123]
データ伝送(バイト)
92, 48, 48, 48, 49, 50, 51
ASCII解釈
\000123
b) ECIシーケンスがコード語926で始まる場合
1) コード語926は,エスケープキャラクタ92として伝送する。
2) 次の二つのコード語は,次の数式を用い,必要があれば先頭にゼロを挿入して,6けたの数値に変
換する。
[(最初のコード語)+1]×900+(2番目のコード語)
6けたの数値は,48〜57の範囲で,対応する六つのバイト値として伝送する。
例 シンボルの符号化
[926] [136] [156]
データ伝送(バイト)
92, 49, 50, 51, 52, 53, 54
ASCII解釈
\123456
c) ECIシーケンスが,コード語925で始まる場合
1) コード語925はエスケープキャラクタ92として伝送する。
2) 次のコード語は,810 900の値を加えることによって,6けたの値に変換する。6けたの数値は,48
〜57の範囲で,対応する六つのバイト値として伝送する。
例 符号化されるシンボル
[925] [456]
データ伝送(バイト)
92, 56, 49, 49, 51, 53, 54
ASCII解釈
\811356
このプロセスは,拡張チャネル解釈を開始するたびに繰り返す。
アプリケーションソフトウェアは,92を示す7バイトのエスケープシーケンス及びその後ろに続く六つ
のバイト(それぞれ範囲48〜57)を確認したら,符号化したデータが終わるまで又は別の単一バイトの92
を確認するまで,あとに続くキャラクタをすべて,6けたのシーケンスによって定義したECIからのもの
として解釈する必要がある。
バックスラッシュ又はバイト92によって表現する他のキャラクタを,符号化したデータとして用いる必
要がある場合には,次のように伝送する。バイト92をデータとして用いる場合には,必ず,その値のバイ
トを二つ伝送する。したがって,一つだけの場合は,常にエスケープキャラクタで,二つある場合は,真
のデータであることを示している。
例 符号化したデータ
A\\B\C
データの伝送
A\\\\B\\C
5.17.3 マクロPDF417用の伝送データ
マクロPDF417として伝送するデータの手順を,H.6に示す。
5.17.4 ECI手続による予約コード語の伝送
PDF417復号器が,ECI伝送手続に基づいて動作しているときは,6バイトの予約コード語のエスケープ
35
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
シーケンスを伝送することが望ましい。このシーケンスは,“\CnnnC”として解釈し,エスケープキャラ
クタ (92),後ろに続く “C” (67),予約コード語の10進値を表す3けたの数値及びシンボル体系独立の方
法でエスケープシーケンスを終了させる,もう一つの “C” が続く構成である。予約コード語に続くデー
タコード語の場合は,復号器によって,いずれかの圧縮モードに従って解釈することはない。その代わり
に,この段落の前段に示したものと同じ6バイトのエスケープシーケンスを用い,コード語を表す一連の
エスケープシーケンスとして伝送する。その他のデータコード語は,すべて,次のポイントの一つに到達
するまで,この方法で伝送する。
− シンボル中に符号化したデータの終わり
− 認識した圧縮モードへの切換え
− マクロPDF417制御ブロックの機能コード語(928, 923又は922)
テキスト圧縮モードから許されるのはコード語913(バイト一語切換え)だけである。したがって,解
釈されない拡張コード語を伝送する,この手順の間は,コード語913をコード語列の一部にすることはで
きない。
注記 将来,予約コード語が通信機能を提供したり,新しい圧縮モードを表したりするために定義し
た場合でも,この手順によって,どのような予約コード語のメッセージ構文も,適切に伝送す
ることができる。
5.17.5 シンボル体系識別子
一つのデータ(マクロPDF417,ECIなどの)構造を識別したときは,復号器によって伝送するデータの
接頭辞として,適切なシンボル体系識別子を追加するのが望ましい。PDF417に適用するシンボル体系識
別子を,附属書Lに示す。
5.17.6 旧手続による伝送
拡張チャネル解釈システムの導入は,多くのシンボル体系に共通し,PDF417を含めた既存のシンボル
体系に強い影響を与えた。符号化及び復号化の基本的な規則は,原文のAIM USA (1994) 及びAIM Europe
(1994) PDF417仕様でも,この規格でも同じである。ECI及びマクロPDF417の伝送内容は,形式が異なっ
ているが,伝送する情報は同じである。
すべての新しいPDF417復号機器及びソフトウェアは,この規格に適合することが望ましい。しかし,
旧規格に適合している機器は,今後も,長期間にわたって用いる可能性がある。附属書Mに,最新のECI
及びマクロPDF417に適合できない復号機器及びソフトウェアを用いるときに,従わなければならない規
則を示す。このように,新旧の復号機器が共存し続けることができる。
36
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書A
(規定)
PDF417シンボルキャラクタのバー スペース列での符号化及び復号化表
コード語
バー スペース列
コード語
バー スペース列
クラスタ0 クラスタ3 クラスタ6
クラスタ0 クラスタ3 クラスタ6
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
0
31111136
51111125
21111155
40
41121242
21113612
41115221
1
41111144
61111133
31111163
41
21121325
21114125
31115312
2
51111152
41111216
11111246
42
31121333
31114133
31115411
3
31111235
51111224
21111254
43
11121416
41114141
21116114
4
41111243
61111232
31111262
44
21121424
11114216
31116122
5
51111251
41111315
11111345
45
31121432
21114224
21116213
6
21111326
51111323
21111353
46
11121515
31114232
31116221
7
31111334
61111331
31111361
47
21121523
11114315
21116312
8
21111425
41111414
11111444
48
11121614
21114323
11121146
9
11111516
51111422
21111452
49
21122135
31114331
21121154
10
21111524
41111513
11111543
50
31122143
11114414
31121162
11
11111615
51111521
61112114
51
41122151
21114422
11121245
12
21112136
41111612
11112155
52
11122226
11114513
21121253
13
31112144
41112125
21112163
53
21122234
21114521
31121261
14
41112152
51112133
61112213
54
31122242
11115125
11121344
15
21112235
61112141
11112254
55
11122325
21115133
21121352
16
31112243
31112216
21112262
56
21122333
31115141
11121443
17
41112251
41112224
61112312
57
31122341
11115224
21121451
18
11112326
51112232
11112353
58
11122424
21115232
11121542
19
21112334
31112315
21112361
59
21122432
11115323
61122113
20
11112425
41112323
61112411
60
11123135
21115331
11122154
21
11113136
51112331
11112452
61
21123143
11115422
21122162
22
21113144
31112414
51113114
62
31123151
11116133
61122212
23
31113152
41112422
61113122
63
11123234
21116141
11122253
24
11113235
31112513
11113163
64
21123242
11116232
21122261
25
21113243
41112521
51113213
65
11123333
11116331
61122311
26
31113251
31112612
61113221
66
21123341
41121116
11122352
27
11113334
31113125
11113262
67
11124143
51121124
11122451
28
21113342
41113133
51113312
68
21124151
61121132
51123113
29
11114144
51113141
11113361
69
11124242
41121215
61123121
30
21114152
21113216
51113411
70
11124341
51121223
11123162
31
11114243
31113224
41114114
71
21131126
61121231
51123212
32
21114251
41113232
51114122
72
31131134
41121314
11123261
33
11115152
21113315
41114213
73
41131142
51121322
51123311
34
51116111
31113323
51114221
74
21131225
41121413
41124113
35
31121135
41113331
41114312
75
31131233
51121421
51124121
36
41121143
21113414
41114411
76
41131241
41121512
41124212
37
51121151
31113422
31115114
77
11131316
41121611
41124311
38
21121226
21113513
41115122
78
21131324
31122116
31125113
39
31121234
31113521
31115213
79
31131332
41122124
41125121
37
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語
バー スペース列
コード語
バー スペース列
クラスタ0 クラスタ3 クラスタ6
クラスタ0 クラスタ3 クラスタ6
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
80
11131415
51122132
31125212
125
21151124
51131222
11151341
81
21131423
31122215
31125311
126
31151132
41131313
11152151
82
11131514
41122223
21126113
127
11151215
51131321
11161142
83
11131613
51122231
31126121
128
21151223
41131412
11161241
84
11132126
31122314
21126212
129
31151231
41131511
12111146
85
21132134
41122322
21126311
130
11151314
31132115
22111154
86
31132142
31122413
11131145
131
21151322
41132123
32111162
87
11132225
41122421
21131153
132
11151413
51132131
12111245
88
21132233
31122512
31131161
133
21151421
31132214
22111253
89
31132241
31122611
11131244
134
11151512
41132222
32111261
90
11132324
21123116
21131252
135
11152124
31132313
12111344
91
21132332
31123124
11131343
136
11152223
41132321
22111352
92
11132423
41123132
21131351
137
11152322
31132412
12111443
93
11132522
21123215
11131442
138
11161115
31132511
22111451
94
11133134
31123223
11131541
139
31161131
21133115
12111542
95
21133142
41123231
61132112
140
21161222
31133123
62112113
96
11133233
21123314
11132153
141
21161321
41133131
12112154
97
21133241
31123322
21132161
142
11161511
21133214
22112162
98
11133332
21123413
61132211
143
32111135
31133222
62112212
99
11134142
31123421
11132252
144
42111143
21133313
12112253
100
21141125
21123512
11132351
145
52111151
31133321
22112261
101
31141133
21123611
51133112
146
22111226
21133412
62112311
102
41141141
11124116
11133161
147
32111234
21133511
12112352
103
11141216
21124124
51133211
148
42111242
11134115
12112451
104
21141224
31124132
41134112
149
22111325
21134123
52113113
105
31141232
11124215
41134211
150
32111333
31134131
62113121
106
11141315
21124223
31135112
151
42111341
11134214
12113162
107
21141323
31124231
31135211
152
12111416
21134222
52113212
108
31141331
11124314
21136112
153
22111424
11134313
12113261
109
11141414
21124322
21136211
154
12111515
21134321
52113311
110
21141422
11124413
11141144
155
22112135
11134412
42114113
111
11141513
21124421
21141152
156
32112143
11134511
52114121
112
21141521
11124512
11141243
157
42112151
11135123
42114212
113
11142125
11125124
21141251
158
12112226
21135131
42114311
114
21142133
21125132
11141342
159
22112234
11135222
32115113
115
31142141
11125223
11141441
160
32112242
11135321
42115121
116
11142224
21125231
61142111
161
12112325
11136131
32115212
117
21142232
11125322
11142152
162
22112333
41141114
32115311
118
11142323
11125421
11142251
163
12112424
51141122
22116113
119
21142331
11126132
51143111
164
12112523
41141213
32116121
120
11142422
11126231
41144111
165
12113135
51141221
22116212
121
11142521
41131115
31145111
166
22113143
41141312
22116311
122
21143141
51131123
11151143
167
32113151
41141411
21211145
123
11143331
61131131
21151151
168
12113234
31142114
31211153
124
11151116
41131214
11151242
169
22113242
41142122
41211161
38
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語
バー スペース列
コード語
バー スペース列
クラスタ0 クラスタ3 クラスタ6
クラスタ0 クラスタ3 クラスタ6
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
170
12113333
31142213
11211236
215
21213233
62111231
41215211
171
12113432
41142221
21211244
216
31213241
42111314
32125112
172
12114143
31142312
31211252
217
11213324
52111322
31216112
173
22114151
31142411
11211335
218
12122423
42111413
32125211
174
12114242
21143114
21211343
219
11213423
52111421
31216211
175
12115151
31143122
31211351
220
12123134
42111512
22126112
176
31211126
21143213
11211434
221
22123142
42111611
22126211
177
41211134
31143221
21211442
222
11214134
32112116
11221136
178
51211142
21143312
11211533
223
12123233
42112124
21221144
179
31211225
21143411
21211541
224
22123241
52112132
31221152
180
41211233
11144114
11211632
225
11214233
32112215
11221235
181
51211241
21144122
12121145
226
21214241
42112223
21221243
182
21211316
11144213
22121153
227
11214332
52112231
31221251
183
31211324
21144221
32121161
228
12124142
32112314
11221334
184
41211332
11144312
11212145
229
11215142
42112322
21221342
185
21211415
11144411
12121244
230
12124241
32112413
11221433
186
31211423
11145122
22121252
231
11215241
42112421
21221441
187
41211431
11145221
11212244
232
31221125
32112512
11221532
188
21211514
41151113
21212252
233
41221133
32112611
11221631
189
31211522
51151121
22121351
234
51221141
22113116
12131144
190
22121126
41151212
11212343
235
21221216
32113124
22131152
191
32121134
41151311
12121442
236
31221224
42113132
11222144
192
42121142
31152113
11212442
237
41221232
22113215
12131243
193
21212126
41152121
12121541
238
21221315
32113223
22131251
194
22121225
31152212
11212541
239
31221323
42113231
11222243
195
32121233
31152311
62122112
240
41221331
22113314
21222251
196
42121241
21153113
12122153
241
21221414
32113322
11222342
197
21212225
31153121
22122161
242
31221422
22113413
12131441
198
31212233
21153212
61213112
243
21221513
32113421
11222441
199
41212241
21153311
62122211
244
21221612
22113512
62132111
200
11212316
11154113
11213153
245
22131125
22113611
12132152
201
12121415
21154121
12122252
246
32131133
12114116
61223111
202
22121423
11154212
61213211
247
42131141
22114124
11223152
203
32121431
11154311
11213252
248
21222125
32114132
12132251
204
11212415
41161112
12122351
249
22131224
12114215
11223251
205
21212423
41161211
11213351
250
32131232
22114223
52133111
206
11212514
31162112
52123112
251
11222216
32114231
51224111
207
12122126
31162211
12123161
252
12131315
12114314
42134111
208
22122134
21163112
51214112
253
31222232
22114322
41225111
209
32122142
21163211
52123211
254
32131331
12114413
32135111
210
11213126
42111116
11214161
255
11222315
22114421
31226111
211
12122225
52111124
51214211
256
12131414
12114512
22136111
212
22122233
62111132
42124112
257
22131422
12115124
11231135
213
32122241
42111215
41215112
258
11222414
22115132
21231143
214
11213225
52111223
42124211
259
21222422
12115223
31231151
39
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語
バー スペース列
コード語
バー スペース列
クラスタ0 クラスタ3 クラスタ6
クラスタ0 クラスタ3 クラスタ6
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
260
22131521
22115231
11231234
305
12141413
32123123
63112211
261
12131612
12115322
21231242
306
22141421
42123131
13112252
262
12132125
12115421
11231333
307
11232413
21214115
13112351
263
22132133
12116132
21231341
308
21232421
22123214
53113112
264
32132141
12116231
11231432
309
11232512
32123222
13113161
265
11223125
51211115
11231531
310
12142124
21214214
53113211
266
12132224
61211123
12141143
311
22142132
31214222
43114112
267
22132232
11211164
22141151
312
11233124
32123321
43114211
268
11223224
51211214
11232143
313
12142223
21214313
33115112
269
21223232
61211222
12141242
314
22142231
22123412
33115211
270
22132331
11211263
11232242
315
11233223
21214412
23116112
271
11223323
51211313
12141341
316
21233231
22123511
23116211
272
12132422
61211321
11232341
317
11233322
21214511
12211136
273
12132521
11211362
12142151
318
12142421
12124115
22211144
274
12133133
51211412
11233151
319
11233421
22124123
32211152
275
22133141
51211511
11241134
320
11234132
32124131
12211235
276
11224133
42121115
21241142
321
11234231
11215115
22211243
277
12133232
52121123
11241233
322
21241115
12124214
32211251
278
11224232
62121131
21241241
323
31241123
22124222
12211334
279
12133331
41212115
11241332
324
41241131
11215214
22211342
280
11224331
42121214
11241431
325
21241214
21215222
12211433
281
11225141
61212131
12151142
326
31241222
22124321
22211441
282
21231116
41212214
11242142
327
21241313
11215313
12211532
283
31231124
51212222
12151241
328
31241321
12124412
12211631
284
41231132
52121321
11242241
329
21241412
11215412
13121144
285
21231215
41212313
11251133
330
21241511
12124511
23121152
286
31231223
42121412
21251141
331
12151115
12125123
12212144
287
41231231
41212412
11251232
332
22151123
22125131
13121243
288
21231314
42121511
11251331
333
32151131
11216123
23121251
289
31231322
41212511
12161141
334
11242115
12125222
12212243
290
21231413
32122115
11252141
335
12151214
11216222
22212251
291
31231421
42122123
11261132
336
22151222
12125321
12212342
292
21231512
52122131
11261231
337
11242214
11216321
13121441
293
21231611
31213115
13111145
338
21242222
12126131
12212441
294
12141116
32122214
23111153
339
22151321
51221114
63122111
295
22141124
42122222
33111161
340
11242313
61221122
13122152
296
32141132
31213214
13111244
341
12151412
11221163
62213111
297
11232116
41213222
23111252
342
11242412
51221213
12213152
298
12141215
42122321
13111343
343
12151511
61221221
13122251
299
22141223
31213313
23111351
344
12152123
11221262
12213251
300
32141231
32122412
13111442
345
11243123
51221312
53123111
301
11232215
31213412
13111541
346
11243222
11221361
52214111
302
21232223
32122511
63112112
347
11243321
51221411
43124111
303
31232231
31213511
13112153
348
31251122
42131114
42215111
304
11232314
22123115
23112161
349
31251221
52131122
33125111
40
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語
バー スペース列
コード語
バー スペース列
クラスタ0 クラスタ3 クラスタ6
クラスタ0 クラスタ3 クラスタ6
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
350
21251411
41222114
32216111
395
32211422
51231212
31321142
351
22161122
42131213
23126111
396
22211513
11231261
11321225
352
12161213
52131221
21311135
397
32211521
51231311
21321233
353
11252213
41222213
31311143
398
23121125
42141113
31321241
354
11252312
51222221
41311151
399
33121133
52141121
11321324
355
11252411
41222312
11311226
400
43121141
41232113
21321332
356
23111126
42131411
21311234
401
22212125
51232121
11321423
357
33111134
41222411
31311242
402
23121224
41232212
21321431
358
43111142
32132114
11311325
403
33121232
42141311
11321522
359
23111225
42132122
21311333
404
12212216
41232311
11321621
360
33111233
31223114
31311341
405
13121315
32142113
12231134
361
13111316
32132213
11311424
406
32212232
42142121
22231142
362
23111324
42132221
21311432
407
33121331
31233113
11322134
363
33111332
31223213
11311523
408
12212315
32142212
12231233
364
13111415
41223221
21311531
409
22212323
31233212
22231241
365
23111423
31223312
11311622
410
23121422
32142311
11322233
366
13111514
32132411
12221135
411
12212414
31233311
21322241
367
13111613
31223411
22221143
412
13121513
22143113
11322332
368
13112126
22133114
32221151
413
12212513
32143121
12231431
369
23112134
32133122
11312135
414
13122125
21234113
11322431
370
33112142
21224114
12221234
415
23122133
31234121
13141142
371
13112225
22133213
22221242
416
33122141
21234212
12232142
372
23112233
32133221
11312234
417
12213125
22143311
13141241
373
33112241
21224213
21312242
418
13122224
21234311
11323142
374
13112324
31224221
22221341
419
32213141
12144113
12232241
375
23112332
21224312
11312333
420
12213224
22144121
11323241
376
13112423
22133411
12221432
421
22213232
11235113
11331125
377
13112522
21224411
11312432
422
23122331
12144212
21331133
378
13113134
12134114
12221531
423
12213323
11235212
31331141
379
23113142
22134122
11312531
424
13122422
12144311
11331224
380
13113233
11225114
13131143
425
12213422
11235311
21331232
381
23113241
12134213
23131151
426
13123133
12145121
11331323
382
13113332
22134221
12222143
427
23123141
11236121
21331331
383
13114142
11225213
13131242
428
12214133
51241112
11331422
384
13114241
21225221
11313143
429
13123232
11241161
11331521
385
32211125
11225312
12222242
430
12214232
51241211
12241133
386
42211133
12134411
13131341
431
13123331
42151112
22241141
387
52211141
11225411
11313242
432
13124141
41242112
11332133
388
22211216
12135122
12222341
433
12215141
42151211
12241232
389
32211224
11226122
11313341
434
31311116
41242211
11332232
390
42211232
12135221
13132151
435
41311124
32152112
12241331
391
22211315
11226221
12223151
436
51311132
31243112
11332331
392
32211323
51231113
11314151
437
31311215
32152211
13151141
393
42211331
61231121
11321126
438
41311223
31243211
12242141
394
22211414
11231162
21321134
439
51311231
22153112
11333141
41
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語
バー スペース列
コード語
バー スペース列
クラスタ0 クラスタ3 クラスタ6
クラスタ0 クラスタ3 クラスタ6
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
440
31311314
21244112
11341124
485
23132231
23114222
13212341
441
41311322
22153211
21341132
486
11314124
13114313
14122151
442
31311413
21244211
11341223
487
12223223
23114321
13213151
443
41311421
12154112
21341231
488
22223231
13114412
12311126
444
31311512
11245112
11341322
489
11314223
13114511
22311134
445
22221116
12154211
11341421
490
21314231
13115123
32311142
446
32221124
11245211
12251132
491
13132421
23115131
12311225
447
42221132
51251111
11342132
492
12223421
13115222
22311233
448
21312116
42161111
12251231
493
13133132
13115321
32311241
449
22221215
41252111
11342231
494
12224132
13116131
12311324
450
41312132
32162111
11351123
495
13133231
52211114
22311332
451
42221231
31253111
21351131
496
11315132
62211122
12311423
452
21312215
22163111
11351222
497
12224231
12211163
22311431
453
31312223
21254111
11351321
498
31321115
52211213
12311522
454
41312231
43111115
12261131
499
41321123
62211221
12311621
455
21312314
53111123
11352131
500
51321131
12211262
13221134
456
22221413
63111131
11361122
501
31321214
52211312
23221142
457
32221421
43111214
11361221
502
41321222
12211361
12312134
458
21312413
53111222
14111144
503
31321313
52211411
13221233
459
31312421
43111313
24111152
504
41321321
43121114
23221241
460
22221611
53111321
14111243
505
31321412
53121122
12312233
461
13131116
43111412
24111251
506
31321511
42212114
13221332
462
23131124
43111511
14111342
507
22231115
43121213
12312332
463
33131132
33112115
14111441
508
32231123
53121221
13221431
464
12222116
43112123
14112152
509
42231131
42212213
12312431
465
13131215
53112131
14112251
510
21322115
52212221
14131142
466
23131223
33112214
54113111
511
22231214
42212312
13222142
467
33131231
43112222
44114111
512
41322131
43121411
14131241
468
11313116
33112313
34115111
513
21322214
42212411
12313142
469
12222215
43112321
24116111
514
31322222
33122114
13222241
470
22222223
33112412
13211135
515
32231321
43122122
12313241
471
32222231
33112511
23211143
516
21322313
32213114
21411125
472
11313215
23113115
33211151
517
22231412
33122213
31411133
473
21313223
33113123
13211234
518
21322412
43122221
41411141
474
31313231
43113131
23211242
519
22231511
32213213
11411216
475
23131421
23113214
13211333
520
21322511
42213221
21411224
476
11313314
33113222
23211341
521
13141115
32213312
31411232
477
12222413
23113313
13211432
522
23141123
33122411
11411315
478
22222421
33113321
13211531
523
33141131
32213411
21411323
479
11313413
23113412
14121143
524
12232115
23123114
31411331
480
13131611
23113511
24121151
525
13141214
33123122
11411414
481
13132124
13114115
13212143
526
23141222
22214114
21411422
482
23132132
23114123
14121242
527
11323115
23123213
11411513
483
12223124
33114131
13212242
528
12232214
33123221
21411521
484
13132223
13114214
14121341
529
22232222
22214213
11411612
42
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語
バー スペース列
コード語
バー スペース列
クラスタ0 クラスタ3 クラスタ6
クラスタ0 クラスタ3 クラスタ6
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
530
23141321
32214221
12321125
575
13151411
41313212
11422223
531
11323214
22214312
22321133
576
11333312
42222311
21422231
532
21323222
23123411
32321141
577
12242411
41313311
11422322
533
13141412
22214411
11412125
578
11333411
33132113
12331421
534
11323313
13124114
12321224
579
12243122
43132121
11422421
535
12232412
23124122
22321232
580
11334122
32223113
13241132
536
13141511
12215114
11412224
581
11334221
33132212
12332132
537
12232511
13124213
21412232
582
41341121
31314113
13241231
538
13142123
23124221
22321331
583
31341311
32223212
11423132
539
23142131
12215213
11412323
584
32251121
33132311
12332231
540
12233123
22215221
12321422
585
22251212
31314212
11423231
541
13142222
12215312
11412422
586
22251311
32223311
11431115
542
11324123
13124411
12321521
587
13161113
31314311
21431123
543
12233222
12215411
11412521
588
12252113
23133113
31431131
544
13142321
13125122
13231133
589
11343113
33133121
11431214
545
11324222
12216122
23231141
590
13161311
22224113
21431222
546
12233321
13125221
12322133
591
12252311
23133212
11431313
547
13143131
12216221
13231232
592
24111125
21315113
21431321
548
11325131
61311113
11413133
593
14111216
22224212
11431412
549
31331114
11311154
12322232
594
24111224
23133311
11431511
550
41331122
21311162
13231331
595
14111315
21315212
12341123
551
31331213
61311212
11413232
596
24111323
22224311
22341131
552
41331221
11311253
12322331
597
34111331
21315311
11432123
553
31331312
21311261
11413331
598
14111414
13134113
12341222
554
31331411
61311311
14141141
599
24111422
23134121
11432222
555
22241114
11311352
13232141
600
14111513
12225113
12341321
556
32241122
11311451
12323141
601
24111521
13134212
11432321
557
21332114
52221113
11414141
602
14112125
11316113
13251131
558
22241213
62221121
11421116
603
24112133
12225212
12342131
559
32241221
12221162
21421124
604
34112141
13134311
11433131
560
21332213
51312113
31421132
605
14112224
11316212
11441114
561
31332221
61312121
11421215
606
24112232
12225311
21441122
562
21332312
11312162
21421223
607
14112323
11316311
11441213
563
22241411
12221261
31421231
608
24112331
13135121
21441221
564
21332411
51312212
11421314
609
14112422
12226121
11441312
565
13151114
52221311
21421322
610
14112521
61321112
11441411
566
23151122
11312261
11421413
611
14113133
11321153
12351122
567
12242114
51312311
21421421
612
24113141
21321161
11442122
568
13151213
43131113
11421512
613
14113232
61321211
12351221
569
23151221
53131121
11421611
614
14113331
11321252
11442221
570
11333114
42222113
12331124
615
14114141
11321351
11451113
571
12242213
43131212
22331132
616
23211116
52231112
21451121
572
22242221
41313113
11422124
617
33211124
12231161
11451212
573
11333213
51313121
12331223
618
43211132
51322112
11451311
574
21333221
43131311
22331231
619
23211215
52231211
12361121
43
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語
バー スペース列
コード語
バー スペース列
クラスタ0 クラスタ3 クラスタ6
クラスタ0 クラスタ3 クラスタ6
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
620
33211223
11322161
11452121
665
33221123
54111122
12411512
621
23211314
51322211
15111143
666
22312115
44111213
12411611
622
33211322
43141112
25111151
667
23221214
54111221
13321124
623
23211413
42232112
15111242
668
33221222
44111312
23321132
624
33211421
43141211
15111341
669
22312214
44111411
12412124
625
23211512
41323112
15112151
670
32312222
34112114
13321223
626
14121116
42232211
14211134
671
33221321
44112122
23321231
627
24121124
41323211
24211142
672
22312313
34112213
12412223
628
34121132
33142112
14211233
673
23221412
44112221
22412231
629
13212116
32233112
24211241
674
22312412
34112312
12412322
630
14121215
33142211
14211332
675
23221511
34112411
13321421
631
33212132
31324112
14211431
676
22312511
24113114
12412421
632
34121231
32233211
15121142
677
14131115
34113122
14231132
633
13212215
31324211
14212142
678
24131123
24113213
13322132
634
23212223
23143112
15121241
679
13222115
34113221
14231231
635
33212231
22234112
14212241
680
14131214
24113312
12413132
636
13212314
23143211
13311125
681
33222131
24113411
13322231
637
14121413
21325112
23311133
682
12313115
14114114
12413231
638
24121421
22234211
33311141
683
13222214
24114122
21511115
639
13212413
21325211
13311224
684
23222222
14114213
31511123
640
23212421
13144112
23311232
685
24131321
24114221
41511131
641
14121611
12235112
13311323
686
12313214
14114312
21511214
642
14122124
13144211
23311331
687
22313222
14114411
31511222
643
24122132
11326112
13311422
688
14131412
14115122
21511313
644
13213124
12235211
13311521
689
12313313
14115221
31511321
645
14122223
11326211
14221133
690
13222412
53211113
21511412
646
24122231
61331111
24221141
691
14131511
63211121
21511511
647
13213223
11331152
13312133
692
13222511
13211162
12421115
648
23213231
11331251
14221232
693
14132123
53211212
22421123
649
13213322
52241111
13312232
694
24132131
13211261
32421131
650
14122421
51332111
14221331
695
13223123
53211311
11512115
651
14123132
43151111
13312331
696
14132222
44121113
12421214
652
13214132
42242111
15131141
697
12314123
54121121
22421222
653
14123231
41333111
14222141
698
13223222
43212113
11512214
654
13214231
33152111
13313141
699
14132321
44121212
21512222
655
32311115
32243111
12411116
700
12314222
43212212
22421321
656
42311123
31334111
22411124
701
13223321
44121311
11512313
657
52311131
23153111
32411132
702
14133131
43212311
12421412
658
32311214
22244111
12411215
703
13224131
34122113
11512412
659
42311222
21335111
22411223
704
12315131
44122121
12421511
660
32311313
13154111
32411231
705
41411114
33213113
11512511
661
42311321
12245111
12411314
706
51411122
34122212
13331123
662
32311412
11336111
22411322
707
41411213
33213212
23331131
663
32311511
11341151
12411413
708
51411221
34122311
12422123
664
23221115
44111114
22411421
709
41411312
33213311
13331222
44
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語
バー スペース列
コード語
バー スペース列
クラスタ0 クラスタ3 クラスタ6
クラスタ0 クラスタ3 クラスタ6
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
710
41411411
24123113
11513123
755
13233221
22315211
11533121
711
32321114
34123121
12422222
756
11415122
14134112
21541112
712
42321122
23214113
13331321
757
12324221
13225112
21541211
713
31412114
24123212
11513222
758
11415221
14134211
12451112
714
41412122
23214212
12422321
759
41421113
12316112
11542112
715
42321221
24123311
11513321
760
51421121
13225211
12451211
716
31412213
23214311
14241131
761
41421212
12316211
11542211
717
41412221
14124113
13332131
762
41421311
11411144
16111142
718
31412312
24124121
12423131
763
32331113
21411152
16111241
719
32321411
13215113
11514131
764
42331121
11411243
15211133
720
31412411
14124212
21521114
765
31422113
21411251
25211141
721
23231114
13215212
31521122
766
41422121
11411342
15211232
722
33231122
14124311
21521213
767
31422212
11411441
15211331
723
22322114
13215311
31521221
768
32331311
62321111
16121141
724
23231213
14125121
21521312
769
31422311
12321152
15212141
725
33231221
13216121
21521411
770
23241113
61412111
14311124
726
21413114
62311112
12431114
771
33241121
11412152
24311132
727
22322213
12311153
22431122
772
22332113
12321251
14311223
728
32322221
22311161
11522114
773
23241212
11412251
24311231
729
21413213
62311211
12431213
774
21423113
53231111
14311322
730
31413221
12311252
22431221
775
22332212
52322111
14311421
731
23231411
12311351
11522213
776
23241311
51413111
15221132
732
21413312
53221112
21522221
777
21423212
44141111
14312132
733
22322411
13221161
11522312
778
22332311
43232111
15221231
734
21413411
52312112
12431411
779
21423311
42323111
14312231
735
14141114
53221211
11522411
780
14151113
41414111
13411115
736
24141122
12312161
13341122
781
24151121
34142111
23411123
737
13232114
52312211
12432122
782
13242113
33233111
33411131
738
14141213
44131112
13341221
783
23242121
32324111
13411214
739
24141221
43222112
11523122
784
12333113
31415111
23411222
740
12323114
44131211
12432221
785
13242212
24143111
13411313
741
13232213
42313112
11523221
786
14151311
23234111
23411321
742
23232221
43222211
21531113
787
11424113
22325111
13411412
743
11414114
42313211
31531121
788
12333212
21416111
13411511
744
12323213
34132112
21531212
789
13242311
14144111
14321123
745
22323221
33223112
21531311
790
11424212
13235111
24321131
746
14141411
34132211
12441113
791
12333311
12326111
13412123
747
11414213
32314112
22441121
792
11424311
11421143
23412131
748
21414221
33223211
11532113
793
13243121
21421151
13412222
749
13232411
32314211
12441212
794
11425121
11421242
14321321
750
11414312
24133112
11532212
795
41431211
11421341
13412321
751
14142122
23224112
12441311
796
31432112
12331151
15231131
752
13233122
24133211
11532311
797
31432211
11422151
14322131
753
14142221
22315112
13351121
798
22342112
11431142
13413131
754
12324122
23224211
12442121
799
21433112
11431241
22511114
45
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語
バー スペース列
コード語
バー スペース列
クラスタ0 クラスタ3 クラスタ6
クラスタ0 クラスタ3 クラスタ6
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
800
21433211
11441141
32511122
845
33311114
34223111
11614121
801
13252112
45111113
22511213
846
33311213
33314111
31621112
802
12343112
45111212
32511221
847
33311312
25133111
31621211
803
11434112
45111311
22511312
848
33311411
24224111
22531112
804
11434211
35112113
22511411
849
24221114
23315111
21622112
805
15111116
45112121
13421114
850
23312114
15134111
22531211
806
15111215
35112212
23421122
851
33312122
14225111
21622211
807
25111223
35112311
12512114
852
34221221
13316111
13441112
808
15111314
25113113
22512122
853
23312213
12411143
12532112
809
15111413
35113121
23421221
854
33312221
22411151
13441211
810
15111512
25113212
12512213
855
23312312
12411242
11623112
811
15112124
25113311
13421312
856
24221411
12411341
12532211
812
15112223
15114113
12512312
857
23312411
13321151
11623211
813
15112322
25114121
13421411
858
15131114
12412151
31631111
814
15112421
15114212
12512411
859
14222114
11511134
22541111
815
15113132
15114311
14331122
860
15131213
21511142
21632111
816
15113231
15115121
13422122
861
25131221
11511233
13451111
817
24211115
54211112
14331221
862
13313114
21511241
12542111
818
24211214
14211161
12513122
863
14222213
11511332
11633111
819
34211222
54211211
13422221
864
15131312
11511431
16211132
820
24211313
45121112
12513221
865
13313213
12421142
16211231
821
34211321
44212112
31611113
866
14222312
11512142
15311123
822
24211412
45121211
41611121
867
15131411
12421241
25311131
823
24211511
44212211
31611212
868
13313312
11512241
15311222
824
15121115
35122112
31611311
869
14222411
11521133
15311321
825
25121123
34213112
22521113
870
15132122
21521141
16221131
826
14212115
35122211
32521121
871
14223122
11521232
15312131
827
24212123
34213211
21612113
872
15132221
11521331
14411114
828
25121222
25123112
22521212
873
13314122
12431141
24411122
829
14212214
24214112
21612212
874
14223221
11522141
14411213
830
24212222
25123211
22521311
875
13314221
11531132
24411221
831
14212313
24214211
21612311
876
42411113
11531231
14411312
832
24212321
15124112
13431113
877
42411212
11541131
14411411
833
14212412
14215112
23431121
878
42411311
36112112
15321122
834
15121511
15124211
12522113
879
33321113
36112211
14412122
835
14212511
14215211
13431212
880
32412113
26113112
15321221
836
15122123
63311111
11613113
881
42412121
26113211
14412221
837
25122131
13311152
12522212
882
32412212
16114112
23511113
838
14213123
13311251
13431311
883
33321311
16114211
33511121
839
24213131
54221111
11613212
884
32412311
45212111
23511212
840
14213222
53312111
12522311
885
24231113
36122111
23511311
841
15122321
45131111
11613311
886
34231121
35213111
14421113
842
14213321
44222111
14341121
887
23322113
26123111
24421121
843
15123131
43313111
13432121
888
33322121
25214111
13512113
844
14214131
35132111
12523121
889
22413113
16124111
23512121
46
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語
バー スペース列
コード語
バー スペース列
クラスタ0 クラスタ3 クラスタ6
クラスタ0 クラスタ3 クラスタ6
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
BSBSBSBS
890
23322212
15215111
13512212
910
12415121
11621123
22622111
891
24231311
14311151
14421311
911
51511112
21621131
14441111
892
22413212
13411142
13512311
912
51511211
11621222
13532111
893
23322311
13411241
15331121
913
42421112
11621321
12623111
894
22413311
12511133
14422121
914
41512112
12531131
16311122
895
15141113
22511141
13513121
915
42421211
11622131
16311221
896
25141121
12511232
32611112
916
41512211
11631122
15411113
897
14232113
12511331
32611211
917
33331112
11631221
25411121
898
24232121
13421141
23521112
918
32422112
14411141
15411212
899
13323113
12512141
22612112
919
33331211
13511132
15411311
900
14232212
11611124
23521211
920
31513112
13511231
16321121
901
15141311
21611132
22612211
921
32422211
12611123
15412121
902
12414113
11611223
14431112
922
31513211
22611131
24511112
903
13323212
21611231
13522112
923
24241112
12611222
24511211
904
14232311
11611322
14431211
924
23332112
12611321
15421112
905
12414212
11611421
12613112
925
24241211
13521131
14512112
906
13323311
12521132
13522211
926
22423112
12612131
15421211
907
15142121
11612132
12613211
927
23332211
12621122
14512211
908
14233121
12521231
32621111
928
21514112
12621221
33611111
909
13324121
11612231
23531111
47
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書B
(規定)
バイト圧縮モード用初期値キャラクタセット
B
C
B
C
B
C
B
C
B
C
B
C
B
C
B
C
0
NUL
32
Space
64
@
96
̀
128
160
NBSP
192
À
224
à
1
SOH
33
!
65
A
97
a
129
161
¡
193
Á
225
á
2
STX
34
“
66
B
98
b
130
162
¢
194
Â
226
â
3
ETX
35
#
67
C
99
c
131
163
£
195
Ã
227
ã
4
EOT
36
$
68
D
100
d
132
164
¤
196
Ä
228
ä
5
ENQ
37
%
69
E
101
e
133
165
¥
197
Å
229
å
6
ACK
38
&
70
F
102
f
134
166
¦
198
Æ
230
æ
7
BEL
39
ʻ
71
G
103
g
135
167
§
199
Ç
231
ç
8
BS
40
(
72
H
104
h
136
168
¨
200
È
232
è
9
HT
41
)
73
I
105
i
137
169
©
201
É
233
é
10
LF
42
*
74
J
106
j
138
170
ª
202
Ê
234
ê
11
VT
43
+
75
K
107
k
139
171
«
203
Ë
235
ë
12
FF
44
,
76
L
108
l
140
172
¬
204
Ì
236
ì
13
CR
45
-
77
M
109
m
141
173
SHY
205
Í
237
í
14
SO
46
.
78
N
110
n
142
174
®
206
Î
238
î
15
SI
47
/
79
O
111
o
143
175
¯
207
Ï
239
ï
16
DLE
48
0
80
P
112
p
144
176
°
208
Ð
240
ð
17
DC1
49
1
81
Q
113
q
145
177
±
209
Ñ
241
ñ
18
DC2
50
2
82
R
114
r
146
178
²
210
Ò
242
ò
19
DC3
51
3
83
S
115
s
147
179
³
211
Ó
243
ó
20
DC4
52
4
84
T
116
t
148
180
´
212
Ô
244
ô
21
NAK
53
5
85
U
117
u
149
181
μ
213
Õ
245
õ
22
SYN
54
6
86
V
118
v
150
182
¶
214
Ö
246
ö
23
ETB
55
7
87
W
119
w
151
183
·
215
×
247
÷
24
CAN
56
8
88
X
120
x
152
184
¸
216
Ø
248
ø
25
EM
57
9
89
Y
121
y
153
185
¹
217
Ù
249
ù
26
SUB
58
:
90
Z
122
z
154
186
º
218
Ú
250
ú
27
ESC
59
;
91
[
123
{
155
187
»
219
Û
251
û
28
IS4/FS
60
<
92
\
124
|
156
188
¼
220
Ü
252
ü
29
IS3/GS
61
=
93
]
125
}
157
189
½
221
Ý
253
ý
30
IS2/RS
62
>
94
^
126
~
158
190
¾
222
Þ
254
þ
31
IS1/US
63
?
95
̲
127
DEL
159
191
¿
223
ß
255
ÿ
注記1 この表は,JIS X 0201の参考1に“ISO/IEC 646国際基準版”として示す制御キャラクタ(バイト値00〜31)
を追加することで,ISO/IEC 8859-1に規定するキャラクタセットと一致する。
注記2 ASCIIで“\”となる10進92は,JIS X 0201などでは“¥”に相当する。
48
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書C
(規定)
バイト圧縮モード符号化アルゴリズム
この変換機能は,バイト圧縮モードで用いる。この機能では,六つのデータバイトを五つのPDF417デ
ータコード語に変換する。変換の数式を次に示す。
0
0
1
1
2
2
3
3
4
4
5
5
256
256
256
256
256
256
×
+
×
+
×
+
×
+
×
+
×
b
b
b
b
b
b
0
0
1
1
2
2
3
3
4
4
900
900
900
900
900
×
+
×
+
×
+
×
+
×
=
d
d
d
d
d
ここに, bは,10進数の0〜255を示す。
dは,データコード語を示す。
次のアルゴリズムを,256進法から900進法に変換するために用いてもよい。
1. tを,一時的な値と定義する。
2.
=
t
0
0
1
1
2
2
3
3
4
4
5
5
256
256
256
256
256
256
×
+
×
+
×
+
×
+
×
+
×
b
b
b
b
b
b
3.
各コード語の計算を,次に示す。
各々のデータコード語 di = d0 ... d4は,
BEGIN
di = t mod 900
t = t div 900
END
例 符号化するバイト圧縮モードのキャラクタb5 ... b0を (231, 101, 11, 97, 205, 2) とする。
六つのバイト圧縮モードキャラクタの10進値を用いて,合計tを計算する。
0
1
2
3
4
5
256
2
256
205
256
97
256
11
256
101
256
231
×
+
×
+
×
+
×
+
×
+
×
=
t
002
672
168
421
254
=
コード語0の計算
d0 = 254 421 168 672 002 mod 900 = 302
t = 254 421 168 672 002 div 900 = 282 690 187 413
コード語1の計算
d1 = 282 690 187 413 mod 900 = 213
t = 282 690 187 413 div 900 = 314 100 208
コード語2の計算
d2 = 314 100 208 mod 900 = 208
t = 314 100 208 div 900 = 349 000
49
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語3の計算
d3 = 349 000 mod 900 = 700
t = 349 000 div 900 = 387
コード語4の計算
d4 = 387 mod 900 = 387
t = 387 div 900 = 0
コード語列d4 ... d0は,387,700,208,213,302である。
50
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書D
(規定)
数字圧縮モード符号化アルゴリズム
この変換機能は,数字圧縮モードで用いる。この機能では,最大44の連続した数字を,15以下のPDF417
データコード語に変換する。
次のアルゴリズムを,10進法から900進法に変換するために用いてもよい。
1. tを,一時的な値と定義する。
2. tの初期値を,最大44けたの連続した数字のグループになるように設定し,先頭に1を追加する。
3.
各コード語の計算を,次に示す。
各々のデータコード語 di = d0 ... dn−1は,
BEGIN
di = t mod 900
t = t div 900
if t = 0 then
符号化の停止
endif
END
例 符号化する15けたの数字列を000213298174000とする。
数字列の先頭に1を追加した後の初期値tは,
t = 1 000 213 298 174 000
コード語0の計算
d0 = 1 000 213 298 174 000 mod 900 = 200
t = 1 000 213 298 174 000 div 900 = 1 111 348 109 082
コード語1の計算
d1 = 1 111 348 109 082 mod 900 = 282
t = 1 111 348 109 082 div 900 = 1 234 831 232
コード語2の計算
d2 = 1 234 831 232 mod 900 = 632
t = 1 234 831 232 div 900 = 1 372 034
コード語3の計算
d3 = 1 372 034 mod 900 = 434
t = 1 372 034 div 900 = 1 524
51
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コード語4の計算
d4 = 1 524 mod 900 = 624
t = 1 524 div 900 = 1
コード語5の計算
d5 = 1 mod 900 = 1
t = 1 div 900 = 0
コード語列d5 ... d0は,1,624,434,632,282,200である。
52
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書E
(規定)
誤り訂正レベルの選択
E.1
推奨最小誤り訂正レベル
誤り訂正の最小レベルは,表E.1にすることが望ましい。
表E.1−推奨誤り訂正レベル
データコード語数
最小誤り訂正レベル
1 〜 40
2
41 〜 160
3
161 〜 320
4
321 〜 863
5
表E.1を用いるために,データ容量からデータコード語の数を概算する場合は,テキスト圧縮モードの
ときは,データコード語当たり1.8のテキストキャラクタ数,数字圧縮モードのときは,データコード語
当たり2.9の数字,バイト圧縮モードのときは,データコード語当たり1.2のバイト数を目安にする。
明らかに,シンボルの損傷及び劣化が予想される場合は,誤り訂正レベルを上げるのが望ましい。閉鎖
システムに適用する場合は,推奨誤り訂正レベルよりも低いレベルを用いてもよい。
E.2
誤り訂正レベルについて利用者が考慮すべき事柄
アプリケーション標準の望ましい目的は,データ内容量を犠牲にすることなく,誤り訂正機能を用いる
ことである。
利用者は,誤り訂正レベルを選択するとき,次の条件を考慮することが望ましい。
a) 推奨誤り訂正レベル(表E.1に示す。)に従う。
b) シンボル当たりのデータコード語の最大数は,925である。したがって,データコード語数が大きく
なると,実行可能な誤り訂正の最大レベルが制限される。データコード語数が415を超えると,誤り
訂正レベル8を用いることができない。データコード語数が671を超えると,誤り訂正レベル7及び
8を用いることができない。データコード語数が799を超えると,誤り訂正レベル6,7及び8を用い
ることができない。データコード語数が863を超えると,誤り訂正レベル5を用いることができず,
このようなデータコード語数は推奨しない。
c) PDF417シンボルのコード語が欠ける,又は完全になくなる可能性がある場合は,誤り訂正レベルを8
まで,又は誤り訂正コード語数がアプリケーションに適した最大サイズのマトリックスを満たすレベ
ルまで上げてもよい。
d) 誤り訂正レベルを上げることによって,低い印刷品質を補うよりも,シンボルの品質を確保する方が
望ましい。誤り訂正レベルを上げる代わりに,X寸法を大きくするか,又はPDF417シンボルの印刷
品質を確保できるような特定の基材及び素材を指定する方がよい。
53
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書F
(規定)
PDF417誤り訂正コード語計算のための係数表
表F.1−誤り訂正レベル0の係数表
j
0
1
αj
27
917
表F.2−誤り訂正レベル1の係数表
j
0
1
2
3
αj
522
568
723
809
表F.3−誤り訂正レベル2の係数表
j
0
1
2
3
4
5
6
7
αj
237
308
436
284
646
653
428
379
表F.4−誤り訂正レベル3の係数表
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
αj
274
562
232
755
599
524
801
132
295
116
442
428
295
42
176
65
表F.5−誤り訂正レベル4の係数表
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
αj
361
575
922
525
176
586
640
321
536
742
677
742
687
284
193
517
j
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
αj
273
494
263
147
593
800
571
320
803
133
231
390
685
330
63
410
表F.6−誤り訂正レベル5の係数表
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
αj
539
422
6
93
862
771
453
106
610
287
107
505
733
877
381
612
j
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
αj
723
476
462
172
430
609
858
822
543
376
511
400
672
762
283
184
j
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
αj
440
35
519
31
460
594
225
535
517
352
605
158
651
201
488
502
j
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
αj
648
733
717
83
404
97
280
771
840
629
4
381
843
623
264
543
54
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表F.7−誤り訂正レベル6の係数表
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
αj
521
310
864
547
858
580
296
379
53
779
897
444
400
925
749
415
j
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
αj
822
93
217
208
928
244
583
620
246
148
447
631
292
908
490
704
j
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
αj
516
258
457
907
594
723
674
292
272
96
684
432
686
606
860
569
j
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
αj
193
219
129
186
236
287
192
775
278
173
40
379
712
463
646
776
j
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
αj
171
491
297
763
156
732
95
270
447
90
507
48
228
821
808
898
j
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
αj
784
663
627
378
382
262
380
602
754
336
89
614
87
432
670
616
j
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
αj
157
374
242
726
600
269
375
898
845
454
354
130
814
587
804
34
j
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
αj
211
330
539
297
827
865
37
517
834
315
550
86
801
4
108
539
表F.8−誤り訂正レベル7の係数表
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
αj
524
894
75
766
882
857
74
204
82
586
708
250
905
786
138
720
j
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
αj
858
194
311
913
275
190
375
850
438
733
194
280
201
280
828
757
j
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
αj
710
814
919
89
68
569
11
204
796
605
540
913
801
700
799
137
j
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
αj
439
418
592
668
353
859
370
694
325
240
216
257
284
549
209
884
j
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
αj
315
70
329
793
490
274
877
162
749
812
684
461
334
376
849
521
j
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
αj
307
291
803
712
19
358
399
908
103
511
51
8
517
225
289
470
j
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
αj
637
731
66
255
917
269
463
830
730
433
848
585
136
538
906
90
j
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
αj
2
290
743
199
655
903
329
49
802
580
355
588
188
462
10
134
j
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
αj
628
320
479
130
739
71
263
318
374
601
192
605
142
673
687
234
j
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
αj
722
384
177
752
607
640
455
193
689
707
805
641
48
60
732
621
j
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
αj
895
544
261
852
655
309
697
755
756
60
231
773
434
421
726
528
55
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表F.8−誤り訂正レベル7の係数表(続き)
j
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
αj
503
118
49
795
32
144
500
238
836
394
280
566
319
9
647
550
j
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
αj
73
914
342
126
32
681
331
792
620
60
609
441
180
791
893
754
j
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
αj
605
383
228
749
760
213
54
297
134
54
834
299
922
191
910
532
j
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
αj
609
829
189
20
167
29
872
449
83
402
41
656
505
579
481
173
j
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
αj
404
251
688
95
497
555
642
543
307
159
924
558
648
55
497
10
表F.9−誤り訂正レベル8の係数表
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
αj
352
77
373
504
35
599
428
207
409
574
118
498
285
380
350
492
j
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
αj
197
265
920
155
914
299
229
643
294
871
306
88
87
193
352
781
j
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
αj
846
75
327
520
435
543
203
666
249
346
781
621
640
268
794
534
j
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
αj
539
781
408
390
644
102
476
499
290
632
545
37
858
916
552
41
j
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
αj
542
289
122
272
383
800
485
98
752
472
761
107
784
860
658
741
j
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
αj
290
204
681
407
855
85
99
62
482
180
20
297
451
593
913
142
j
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
αj
808
684
287
536
561
76
653
899
729
567
744
390
513
192
516
258
j
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
αj
240
518
794
395
768
848
51
610
384
168
190
826
328
596
786
303
j
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
αj
570
381
415
641
156
237
151
429
531
207
676
710
89
168
304
402
j
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
αj
40
708
575
162
864
229
65
861
841
512
164
477
221
92
358
785
j
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
αj
288
357
850
836
827
736
707
94
8
494
114
521
2
499
851
543
j
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
αj
152
729
771
95
248
361
578
323
856
797
289
51
684
466
533
820
j
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
αj
669
45
902
452
167
342
244
173
35
463
651
51
699
591
452
578
j
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
αj
37
124
298
332
552
43
427
119
662
777
475
850
764
364
578
911
56
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表F.9−誤り訂正レベル8の係数表(続き)
j
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
αj
283
711
472
420
245
288
594
394
511
327
589
777
699
688
43
408
j
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
αj
842
383
721
521
560
644
714
559
62
145
873
663
713
159
672
729
j
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
αj
624
59
193
417
158
209
563
564
343
693
109
608
563
365
181
772
j
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
αj
677
310
248
353
708
410
579
870
617
841
632
860
289
536
35
777
j
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
αj
618
586
424
833
77
597
346
269
757
632
695
751
331
247
184
45
j
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
αj
787
680
18
66
407
369
54
492
228
613
830
922
437
519
644
905
j
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
αj
789
420
305
441
207
300
892
827
141
537
381
662
513
56
252
341
j
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
αj
242
797
838
837
720
224
307
631
61
87
560
310
756
665
397
808
j
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
αj
851
309
473
795
378
31
647
915
459
806
590
731
425
216
548
249
j
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
αj
321
881
699
535
673
782
210
815
905
303
843
922
281
73
469
791
j
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
αj
660
162
498
308
155
422
907
817
187
62
16
425
535
336
286
437
j
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
αj
375
273
610
296
183
923
116
667
751
353
62
366
691
379
687
842
j
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
αj
37
357
720
742
330
5
39
923
311
424
242
749
321
54
669
316
j
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
αj
342
299
534
105
667
488
640
672
576
540
316
486
721
610
46
656
j
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
αj
447
171
616
464
190
531
297
321
762
752
533
175
134
14
381
433
j
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
αj
717
45
111
20
596
284
736
138
646
411
877
669
141
919
45
780
j
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
αj
407
164
332
899
165
726
600
325
498
655
357
752
768
223
849
647
j
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
αj
63
310
863
251
366
304
282
738
675
410
389
244
31
121
303
263
57
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書G
(規定)
コンパクトPDF417
G.1
一般
印刷領域確保が最も重要で,かつ,シンボルの損傷が考えにくい場合は,コンパクトPDF417を用いて
もよい。例えば,事務所などで,ラベルの損傷が考えにくい環境では,図G.1に示すように,右の行指示
子を省略し,かつ,ストップパターンを1モジュール幅のバーに縮小してもよい。この処理によって,デ
ータ以外の付加情報は,行当たり4コード語から2コード語に削減される。引換えに,復号の性能,信頼
性,雑音,損傷,劣化,じんあいなどに対する耐久性は減少する。
この付加情報縮小バージョンは,コンパクトPDF417と呼ばれており,復号器は,PDF417規格と完全に
互換性がある。
6行未満のコンパクトPDF417の場合,誤り訂正がされない1か所だけで縦列数が符号化され,誤り訂
正がされない。そのため,品質の劣る印刷及び損傷に対して極めて弱い性質がある。
注記 例えば,AIM USA (1994) 及びAIM Europe (1994) が発表したPDF417の旧バージョンでは,ト
ランケイテドPDF417を技術的に同義として用いていた。コンパクトPDF417という呼称は,“ト
ランケイテド(省略された)”という用語の一般的な使用法との混同を避ける意味で,より適切
である。
図G.1−コンパクトPDF417
G.2
印刷品質
5.14.4で規定する標準的な印刷品質を,コンパクトPDF417に適用するが,ストップパターン(単一モ
ジュールのバーを除いた)の不在は,二つの例外を作る。
スタートパターン及びストップパターンのための走査反射率波形分析は,スタートパターンだけに適用
する。
コード語を生成するには,シンボルの上の行又は下の行の限定的な走査を必要とする(ISO/IEC 15415
では,スタートパターン及びストップパターンの両方の復号に,適用することができない。)。代わりに,
他の行では,スタートパターン及び少なくとも一つのコード語が,復号されたに違いない。
クワイエットゾーン
ストップパターン
クワイエットゾーン
行0
行1
行2
行3
行4
行5
クワイエットゾーン
クワイエットゾーン
スタート
パターン 左行指示子
データコード語
58
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書H
(規定)
マクロPDF417
H.1 マクロPDF417の概要
マクロPDF417は,大きすぎて一つのPDF417シンボルで表現できないファイルを,分割して表示する
標準機能である。マクロPDF417シンボルは,マクロPDF417制御ブロックの中に追加制御情報を含んで
いるという点で,通常のPDF417シンボルとは異なっている。
マクロPDF417では,大きなファイルを,複数のファイル区分に分割し,個々のシンボルに符号化する。
制御ブロックは,ファイルID,ファイル区分の連結順序及びファイルに関するその他の任意選択情報を定
義する。マクロPDF417復号器は,制御ブロックの情報を用い,シンボル走査の順序に関係なく,正確に
ファイルを復元する。
H.2 マクロPDF417の構文
それぞれのマクロPDF417シンボルは,制御情報を含むマクロPDF417制御ブロックを符号化する。制
御ブロックは,マクロ目印コード語 (928) で始まる。制御ブロックは,対応するデータブロックの後に続
き,制御ブロック中のコード語数がデータとして計数されて,シンボル長記述子の値に組み込まれる。制
御ブロックの終わりは,誤り訂正コード語の先頭で識別する。
注記 マクロPDF417制御ブロック以外の,利用者データを含まないシンボルも有効である。
制御ブロックには,少なくとも二つの必す(須)領域,すなわちファイル区分の連結順序(区分番号)
とファイルIDとの領域を含んでいなければならない。また,制御ブロックには,H.2.3に示す,任意の領
域を多数含めることができる。
図H.1に,マクロPDF417シンボル中の制御ブロックの位置を示す。
図H.1−PDF417シンボル配置図
シンボル長記述子(N)
符号化データ+埋め草
誤り訂正
標準PDF417の配置
シンボル長記述子(N)
マクロPDF417の配置
制御ブロック
符号化データ+埋め草
誤り訂正
928
区分番号
ファイルID
任意選択情報
制御ヘッダ
59
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
H.2.1 ファイル区分の連結順序(区分番号)
マクロPDF417では,各シンボルがファイル全体の1区分を表す。ファイル全体を復元するためには,
正しい順序で区分を配置する必要がある。この復元の手続を容易に進めるのが,制御ブロックに含まれて
いる制御情報である。ファイルが,j個のマクロPDF417シンボルの集合に分割されている場合は,各シン
ボルの制御ブロックの区分番号領域に,0〜 (j−1) の値を含む。この値は,分割配置されたシンボル内容
の相対位置と対応する。
区分番号領域は,コード語二つ分の長さで,5.4.4で定義している数字圧縮モードによって符号化する。
区分番号の値は,数字圧縮実行の前に,(必要ならば)先頭にゼロを埋め込み,5けたにしなければならな
い。数字圧縮モードに切り換えるときは,特に,モード切換え(コード語902)を指定する必要はない。
区分番号領域の最大許容値は,99 998である。したがって,マクロPDF417シンボルは,データファイル
の内容を最大99 999まで分割してもよい。
注記 これを換算すると,バイト圧縮モードの場合は約110 000 000バイト,テキスト圧縮モードの場
合は約184 000 000キャラクタ,数字圧縮モードの場合は約300 000 000キャラクタのデータ容
量になる。
H.2.2 ファイルID領域
それぞれ関連するマクロPDF417シンボルは,ファイルID領域に同じ値を含んでいる。これによって,
すべてのシンボルデータを復元したとき,分割された元のファイルの表現と同じになることを確実にする。
ファイルIDは,可変長の領域で,区分番号に続く最初のコード語で始まり,任意領域がある場合は,そ
の開始位置まで,任意領域がない場合は,制御ブロックの終わりまで続く。
ファイルIDの各コード語は0〜899の値があり,ファイルIDを一連の900進法にすることができる。
一連の数字の各コード語は,それぞれ,対応する10進数の3けたのASCII表現として伝送する。
注記 ファイル識別の有効性は,ファイルID領域の長さと,その値の生成に用いたアルゴリズムの
適合性に関係している。
H.2.3 任意領域
任意領域は,ファイルIDの後ろに続けてもよい。各任意領域は,特定のタグシーケンスで始まり,次
の任意領域がある場合は,その開始位置まで,次の任意領域がない場合は,制御ブロックの終わりまでで
ある。タグシーケンスは,コード語923及びその後ろに続く一つのコード語領域指定値によって構成する。
各任意領域では,タグシーケンスに続くデータが,領域に対応した意味をもっている。空の任意領域を用
いてはならない。表H.1に,現在定義している領域指定値及び任意領域の対応内容を示す。各任意領域で
は,特に指定しなくても,最初に,表に示している圧縮モードへ初期化し,ECI 000002(又は初期のPDF417
規格に適合した符号器ではGLI 0)へ初期化する。最初にテキスト圧縮モードになっている任意領域の場
合に限り,ECIエスケープシーケンス及びモード切換えとモード一語切換えを用いてもよい。
これらの領域は,常に,全域的なファイルの属性を示すようにするため,分散した形のファイル表現の
中で,複数のマクロPDF417シンボルの制御ブロックに,繰返し出てくる必要はない。ただし,次に示す
ように,区分カウント領域は例外である。これらの領域を含む区分は,符号器の特定の処理機能によって
設定する。ある一つの指定値をもった領域が,複数の区分に現れる場合は,各区分において,すべて同じ
内容でなければならない。任意領域の順序には,特に条件はない。
60
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表H.1−マクロPDF417任意領域指定値
領域指定値
伝送バイト値
内容
初期圧縮モード
固定圧縮モードa)
コード語総数b)
0
48
ファイル名
テキスト圧縮
N
可変
1
49
区分カウント
数字圧縮
Y
4
2
50
タイムスタンプ
数字圧縮
Y
6
3
51
送信者
テキスト圧縮
N
可変
4
52
受信者
テキスト圧縮
N
可変
5
53
ファイル容量
数字圧縮
Y
可変
6
54
チェックサム
数字圧縮
Y
4
注a) “固定圧縮モード”欄の “Y” は,その領域では,ECI及び圧縮モードの切換え並びに一語切換えを用いるこ
とができないことを示す。
b) 最後の欄に示した総数には,2コード語構成のタグシーケンスを含んでいる。
表H.1に示すように,すべての任意領域では,標準のPDF417高レベル符号化を用いる。シンボルの中
で,既にモード一語切換え及びモード切換えを用いていても,表H.1によって,各領域の始めで,有効な
初期モードに設定される。
任意領域の具体的な構成を,次に示す。
− 分散ファイル中のマクロPDF417シンボルの総数を識別する区分カウント領域は,1〜99 999の値を含
めることができ,二つのコード語として符号化する。任意区分カウント領域を用いる場合は,どの区
分にも,その領域が現れるようにしなければならない。
− タイムスタンプ領域は,数字圧縮モードで解釈する。この領域は,元ファイルのタイムスタンプを,
1970:01:01:00:00:00 GMT(グリニッジ標準時1970年1月1日00時00分00秒)からの,秒単位の経
過時間として示す。この形式を用いて,四つのコード語によって,今後200世紀にわたる日時を符号
化することができる。
− ファイル容量領域は,全元ファイルの容量を,バイト数で表している。
− チェックサム領域は,元ファイル全体に対し,CCITT-16の多項式x16+x12+x5+1によって計算した,
16ビット(2バイト)のCRCチェックサム値を表している。
ファイル容量及びチェックサムは,拡張チャネル解釈符号化用のECIエスケープシーケンスを加える前
に,最初の元ファイルから求める。受信者が受信後にチェックサムを確認するときは,最初の元ファイル
を,元どおりに復元しなければならない。バイト列に対する利用者選択可能又は任意変換機能は,通常の
ECI復号処理過程で実行する場合でも,この任意選択のチェックサム検証の目的だけでは,これらの機能
を用いないことが条件になる。
CRCを用いる場合は,プリンタの機能に基づいて,プリンタにデータを伝送する前又はプリンタの中で
計算を行うことができる。
現在のところ,6を超える領域指示子の値は定義されていない。ただし,PDF417復号機器は,7〜9(バ
イト55〜57)又はA〜Z(バイト65〜90)の領域指示子をもつ任意領域があった場合,その領域のデータ
を,最初にテキスト圧縮モードに設定した可変長のデータとして扱い,その任意領域を復号して,伝送し
なければならない。
H.2.4 マクロPDF417の終端
マクロPDF417ファイルの最後の区分を表すシンボルの制御ブロックには,その制御ブロックの終わり
に,コード語922で構成する特殊な目印を含む。他のシンボルの制御ブロックの場合は,いずれも,特殊
な終端を含まない任意領域の後で終了する。
61
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
H.3 高レベル符号化の考慮点
マクロPDF417には,シンボルの集合を論理的に対応付ける機能があるが,PDF417高レベル符号化機能
の場合は,各シンボルが,それぞれ独立した構成要素の状態を保つようにしておくことも重要である。し
たがって,モード切換えの範囲を,そのモード切換えが存在するシンボルに限定する。各シンボルは,特
に指定しなくても,テキスト圧縮モードの英大文字サブモードで始まるようにしなければならない。
二つの必す(須)領域は,次に示すとおりに符号化する。区分番号は,数字圧縮モードで符号化し,フ
ァイルIDは,900進法の数字の列として符号化する。
制御ブロックの任意領域の場合は,シンボルのデータコード語領域内のモード識別コード語によって,
現在設定されているモードによって,表H.1に示している圧縮モードを優先しなければならない。現在の
ECIの適用する範囲は,次のマクロPDF417シンボルの始めまで,マクロ制御ブロックを省略する。マク
ロブロックの各領域では,特に指定しなくても,最初に,ECI 000002(PDF417旧規格適合の符号器では
GLI 0)へ初期設定する。また,テキスト圧縮モードのマクロ制御ブロックの任意領域内で,別のECIを
設定できるようにしなければならない(例えば,ギリシア人の受信者の名前を正確に表現するために。)。
ECIエスケープシーケンスは,タグコード語 (923) の後ろで許されている位置(5.5.3参照)であれば,ど
こでも設定することができる。
H.4 符号化の例
次の例によって,マクロ制御ブロックの符号化を示す。
一連のマクロPDF417によって,合計4 567バイトの利用者定義のデータを,四つのPDF417シンボル(又
はファイル区分)に符号化する。その他の符号化する“ヘッダ”データを,次に示す。
− ファイルID 17900進法53900進法
− 用いる区分数
− 送信者:CEN BE
− 受信者:ISO CH
注記 区分数,送信者及び受信者の三つは,利用者が選択する任意の領域である。
符号器が,最初のシンボルに任意領域を設定すると仮定すると,そのシンボルに対応して,マクロ制御
ブロックは,次のように符号化する。
[最後のデータコード語] [928]A [111] [100]B [017] [053]C [923] [001]D[111] [104]E [923] [003]F
[064] [416] [034]G [923] [004]H [258] [446] [067]I[最初の誤り訂正コード語]
四つのうち,最後のシンボルには,次のマクロ制御ブロックを含む。
[最後のデータコード語] [928]A [111] [103]B [017] [053]C [923] [001]D [111] [104]E [922]J [最初
の誤り訂正コード語]
ここに, A = マクロ目印コード語
B = ファイル区分ID
ファイル区分には,0からj−1の番号が振られており,数字圧縮モードによって符号化する。
最初の区分 = 00000 = コード語111, 100
4番目の区分 = 00003 = コード語111, 103
C = 900進法のファイルID
D = 区分カウント領域用タグ
62
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
E = 区分数
F = 送信者領域用タグ
G = CEN BEを符号化する送信者領域
H = 受信者領域用タグ
I = ISO CHを符号化する受信者領域
J = マクロPDF417終端
H.5 マクロPDF417及び拡張チャネル解釈 (ECI) 手順
シンボル体系独立の拡張チャネル解釈は,PDF417がシンボル体系として指定されたあとで開発された。
PDF417では,1994年に初めてシンボル体系仕様を発表した当時から,ECI手順の前身であり基盤となる,
独自のグローバルラベル識別子 (GLI) システムを利用可能にしていた。したがって,従来の“GLI”処理
機能も念頭におく必要がある。考慮すべき条件は,次の二つである。
− 唯一の解釈であったGLI 0及びGLI 1は,初期のPDF417仕様で規定した。これらは,ECI 000000及
びECI 000001と同じである。マクロPDF417の規則を,H.5.1に示す。
− その他のECIについて,マクロPDF417の使用法を,H.5.2に示す。
H.5.1 ECI 000000及び000001(GLI 0及びGLI 1)を含むマクロPDF417
元々,GLIは,初期のPDF417仕様の一部であったため,GLI符号器及びマクロPDF417符合器を一つの
ユニットに統合することには合理性がある。PDF417シンボル体系の初期の仕様では,2番目以降のマクロ
PDF417シンボルの冒頭で,暗黙のGLI 0への復帰のロジックが要求されており,その結果,どのシンボル
も,初期解釈で開始されることになっている。GLI 0及びGLI 1(それぞれECI 000000及びECI 000001と
同等)の場合,この仕様には,符号化に対して特別な効果はない。ただし,複雑なECIの中には,シンボ
ル体系独立の方法でGLI 0への復帰のロジックを実行することが難しいものもある。
マクロPDF417の初期の仕様並びにGLI 0及びGLI 1に適合する符号化ソフトウェアは,それ以前に存
在するアプリケーションに,完全に適合している。現在では,ECIと呼ばれる利用者定義の,GLIの既存
のアプリケーションの場合も同じである。定義によって,システムの定義域が制限されるからである。
000002以上の番号が振られたECIは,すべて,GLI 0への復帰のロジックによって定義することはできな
い。したがって,閉鎖型システムの場合を除き,PDF417シンボルでは,ECI 000000及びECI 000001を,
それ以上の番号が振られたECIと混在させることはできない。
H.5.2 マクロPDF417及びその他のECI
ECI符号器は,シンボル体系の種類を問わず,PDF417シンボル体系の符号器への入力として,バイト列
を作成することができる。ECI符号器は,ファイルの容量に関係なく,データ列が一つしか存在していな
いように動作する必要がある。
その結果,ECIは,いったん呼び出されると,別のECI又は符号化されたデータの終わりまで,複数の
区分にわたって動作を続ける。この動作は,例えば,ECI指定が暗号系を表し,GLI 0への復帰が適切で
ないような場合に重要になる。
この規格に適合するマクロPDF417符合器の場合は,あとに続くマクロPDF417シンボルの冒頭で,一
般に用いられているECIを符号化する必要はない。
注記 シンボルの終わりを論理的に符号化するために,ある程度の繰返しが必要になる場合がある。
例えば,数字圧縮モードは二つの区分にまた(跨)がることはできないが,独立した二つの数
字圧縮ブロックを,一つのシンボルの終わりと,次のシンボルの冒頭を符号化することができ
63
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
る。これらの条件は,マクロPDF417及び高レベル符号化(H.3参照)に関係しているが,マ
クロPDF417及びECIには関係しない。
H.6 マクロPDF417のデータ伝送
マクロPDF417制御ブロックの情報伝送は,解釈ECIの場合と同様の方法で処理する。シンボル体系独
立のECI手順を,次に示す。PDF417手順の原形を,附属書Mに示す。マクロ制御ブロックは,シンボル
のデータの末尾に符号化するが,ECI手順を用いるときは,シンボルデータの前に伝送する。
3種類のコード語(922,923及び928)が,マクロPDF417制御ブロック又はその構成部分の一つを符
号化していることを知らせ,次のように復号する。
a) マクロ目印コード語 (928) によって,シーケンスを開始する場合
1) コード語928は,エスケープシーケンス92,77,73として伝送し,初期解釈で“\MI”を表す。
2) 次の二つのコード語は,区分番号を示す。これらは,数字圧縮モードで符号化し,範囲00000〜99998
の5けたの数字として復号される。
3) 次のコード語は,ファイルID領域を符号化しており,関連するすべてのマクロPDF417シンボルに
対して同じでなければならない。ファイルID領域の終端は,コード語922,コード語923又はシン
ボル中に符号化したデータの終わりのいずれかである。各コード語は,範囲000〜899の3けたの数
字(コード語番号)に変換し,エスケープヘッダ92,77,70に続き,3バイトの値(10進数の48
〜57の範囲)として伝送する。エスケープヘッダの92,77,70は,初期解釈で“\MF”を表す。
b) マクロシーケンスタグコード語 (923) によって,シーケンスが開始される場合
1) コード語923は,エスケープシーケンス92,77,79として伝送する。このエスケープシーケンスは,
初期解釈で“\MO”を表す。
2) 次のコード語は,表H.1で示している任意領域指定値の一つを表し,その記述子のASCII値を表す
単一バイトとして伝送する。
3) 次のコード語は,任意領域指定値のデータ内容を伝送する。任意領域の終端は,コード語922,コ
ード語923又はシンボル中に符号化されたデータの終わりのいずれかである。間にあるコード語は,
表H.1に定義した対応する圧縮モードの復号規則に従って変換することが望ましい。最終的なデー
タを,可変長にしてもよい。
c) マクロPDF417の終端(コード語922)を確認したら,エスケープシーケンス92,77,90を伝送する。
このエスケープシーケンスは,初期解釈で“\MZ”を表す。
d) マクロ制御ブロックの最後には,シンボル中に符号化したデータの終わりによって定義しているよう
に,エスケープシーケンス92,77,89を伝送する。このエスケープシーケンスは,初期解釈で“\MY”
を表す。
注記 このエスケープシーケンスは,シンボル中に直接符号化しているわけではない。
シンボル(区分)のマクロ制御ブロック領域は,すべて,“\MI...”で始まり“\MY”で終了するシング
ルブロックとして伝送する。マクロ制御ブロックは,シンボルの末尾に符号化している場合でも,符号化
したファイル区分の他の部分よりも先に伝送する。
例 最初の,区分番号=0のシンボルのマクロPDF417制御ブロックで,ファイルIDが (100, 200,
300) の場合,シンボルの中では,次のコード語列として符号化する。
[928] [111] [100] [100] [200] [300]
この列は,次のデータ伝送(バイト)として伝送する。
64
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
92, 77, 73, 48, 48, 48, 48, 48, 92, 77, 70, 49, 48, 48, 50, 48, 48, 51, 48, 48, 92, 77, 89
ASCII解釈を次に示す。
\MI00000\MF100200300\MY
マクロPDF417シンボルの走査が進むと,パケット分解機能が,シンボルを順不同で走査する可能性が
あることを考慮しながら,元のメッセージを復元する。システムがバッファを用いるモードで動作してい
る場合は,パケット分解機能は,復号器側にある。バッファを用いないモードで動作している場合は,パ
ケット分解機能は,受信システム側にある。
復号器には,設定したマクロPDF417ファイルIDの処理を中止し,新しいファイルIDの処理を開始で
きるような,復号器に特有の手段を備えておくことが望ましい。この機能は,設定したファイルIDのシ
ンボルが,一つ以上欠けていたり,解読が不能のときの,デッドロック状態を避けるときに必要である。
H.6.1 バッファを用いるモードの動作
バッファを用いるモードでは,復号器又はリーダでパケット分解機能を実行する。機器構成に従い,次
のいずれかの形式でデータを伝送する。
− マクロ制御ブロックを含めずに,復元したデータを伝送する。
又は
− 符号化したメッセージ全体に先行させるために,マクロ制御ブロックを一つ伝送する。シンボルの中
にある任意領域すべてを含めるために,このマクロ制御ブロック自体を復元していることがある。最
終的なマクロ制御ブロックでは,マクロ索引領域が0に設定され,マクロのファイルの終わり領域を
含む。基本的に,この目的は,復元したメッセージ全体を,最初で,かつ,唯一の,擬似数列のマク
ロ区分として示すためである。
H.6.2 バッファを用いないモードの動作
バッファを用いないモードでは,受信システムでパケット分解機能を実行する。伝送したマクロ制御ブ
ロックは,それぞれ,シンボルの中で実際に符号化した,すべての必す(須)領域及び任意領域を表して
いる。
バッファを用いないモードで復号器を構成するときは,必要に応じて,連続したシンボルが同じファイ
ルIDでなくてもいいように,復号器を構成することができる。この手法が適しているのは,復号器が受
信システムに対して,マクロPDF417制御ブロックを伝送するように構成している場合で,かつ,この受
信システムが,制御ブロックのファイルID部分をモニタし,ファイル全体を処理した時点を確認するよ
うに設計されている場合だけである。異なるファイルIDをもつシンボル及びファイルIDのないシンボル
(例えば,マクロPDF417セットに属さない単体のシンボル)は,受信システムによって確認されたもの
として扱う。
バッファを用いない動作のときに,マクロPDF417セットの中のシンボルが,すべて受信されたかどう
かを検査しやすくするために,符号化するマクロ制御ブロックの一部として,できるだけ任意の区分カウ
ント領域を用いることが望ましい。
H.6.3 初期復帰伝送
PDF417のAIM USA (1994) 及びAIM Europe (1994) のPDF417規格で定義したGLI 0及びGLI 1の規則
は,ECIの規則とは異なっている。そのため,この規格に適合したバーコードリーダは,GLI 1の起動を
直接指定したシンボルを伝送するときに,次の二つの状況で,エスケープシーケンスを追加して,伝送し
なければならない。
65
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
a) マクロPDF417シンボルのデータがGLI 1 (ECI 000001) 解釈で終わる場合に,そのデータを伝送した
あと,プログラムによって指定された伝送手順に従って,復号器がGLI 0エスケープシーケンス又は
ECI 000000エスケープシーケンスを伝送するとき。
b) マクロ制御ブロックの中で,テキスト圧縮モードで符号化した可変長の各任意領域の最初に,復号器
がGLI 1 (ECI 000001) を伝送する場合で,その領域の前にあるデータが,GLI 1 (ECI 000001) 解釈で
終わっているとき。
この必要条件は,バッファを用いるモード又はバッファを用いないモードの,いずれのモードで動作し
ているときでも,また,復号器がECI手順及び初期のPDF417伝送手順のどちらを用いて伝送するように
プログラムされている場合でも当てはまる。
66
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書I
(規定)
PDF417品質試験
5.14.4で規定するように,PDF417シンボルの品質は,行また(跨)ぎ走査を伴ったマルチローシンボル
体系の評価のために,ISO/IEC 15415で規定する方法で評価する。
要約すると,PDF417シンボルは,次のようにグレード分けされる。
− スタート及びストップだけに着目し,走査反射率波形を解析する。
− コード語並びにデータ及び誤り訂正コード語だけに着目し,直線走査がシンボルからデータを取り戻
すことができる効率を測定する。コード語は,復号できたであろうコード語の最大数の百分率として
表される,正当に復号したコード語の数であり,すなわち,適切な走査(傾きを補正した後の)数を
単位にした,シンボルのデータ段数である。
− 未使用誤り訂正は,データと誤り訂正コード語とだけに適用され,シンボルの誤り訂正許容量の機能
として,誤り及び抹消の数を表す。
− コード語印刷品質は,データ及び誤り訂正コード語だけに適用し,グレード分けされるシンボルの全
データ領域にわたっている走査反射率波形の復号容易度,欠陥及び変位幅パラメタを有効にする。こ
れらのグレードは,シンボルの品質に影響を与える,シンボルの不完全な特性を保護するとき,誤り
訂正の影響を考慮するために修正される。
総合シンボルグレードは,走査反射率波形の分析に基づき,コード語,未使用誤り訂正及びコード語印
刷品質のグレードで最も低いグレードである。
67
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書J
(規定)
PDF417の参照復号アルゴリズム
この附属書では,ISO/IEC 15415に規定する方法を用いて,シンボルの品質を評価するときに,復号容
易度の計算で用いる,参照復号アルゴリズムを示す。
この参照復号アルゴリズムを用いて,シンボルの品質を評価するときは,シンボルを横断して走り,最
小一つはスタートキャラクタ又はストップキャラクタを横切る一連の走査線によって,PDF417シンボル
を復号しなければならない。ただし,必ずしも1行ずつ復号する必要はない。走査線が二つ以上の行を横
切っていれば,クラスタ番号を用いることによって,シンボルを復号することができる。シンボルキャラ
クタのバー スペース列は,“エッジから類似エッジまでの寸法” (e) の測定値を用いることによって復号
する。
PDF417シンボルは,次の4段階で復号しなければならない。
a) 初期化−シンボルマトリックスを設定する。
b) 参照復号アルゴリズムを用いて,ラインを復号する。
c) マトリックスに書き込む。
d) 解釈する。
J.1
初期化
復号手順の始めには,シンボル構造パラメタ(行数r,列数c)及び誤り訂正レベルを設定するために,
十分な数のライン復号(J.2を参照)を行わなければならない。この情報を,それぞれスタートキャラクタ
及びストップキャラクタに隣接する,左右の行指示子の中に符号化する。
シンボル構造パラメタを初期化後,復号中のシンボルサイズ(行数及び列数)を表したマトリックスを
作成しなければならない。マトリックスには,スタートキャラクタ,ストップキャラクタ及び行指示子を
含めてはならない。
J.2
ライン復号用参照復号アルゴリズム
読取り可能な走査線は,少なくとも,クワイエットゾーンが一つ,スタートキャラクタ又はストップキ
ャラクタ,行指示子が一つ,データ領域に一つ以上のシンボルキャラクタを含まなければならない。走査
線は,複数の行を横切ることができる。アルゴリズムには,ラインを復号するために,次の手順を含んで
いる。
a) クワイエットゾーンがあることを確認する。
b) スタートキャラクタ及びストップキャラクタを含め,シンボルキャラクタのバー スペース列それぞれ
について,図J.1に従って,次に示す幅測定値を計算する。
p
e1,e2,e3,e4,e5及びe6
68
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
図J.1−復号測定値
c) 測定値e1,e2,e3,e4,e5及びe6を,基準化した値E1,E2,E3,E4,E5及びE6に変換する。この変換
によって,これらの測定値のモジュール幅が整数で示される。i番目の値は,次の方法を用いて求め
る。
1.5p / 17≦ei<2.5p / 17の場合,Ei = 2
2.5p / 17≦ei<3.5p / 17の場合,Ei = 3
3.5p / 17≦ei<4.5p / 17の場合,Ei = 4
4.5p / 17≦ei<5.5p / 17の場合,Ei = 5
5.5p / 17≦ei<6.5p / 17の場合,Ei = 6
6.5p / 17≦ei<7.5p / 17の場合,Ei = 7
7.5p / 17≦ei<8.5p / 17の場合,Ei = 8
8.5p / 17≦ei<9.5p / 17の場合,Ei = 9
これらの条件に当てはまらない場合は,そのシンボルキャラクタのバー スペース列を誤りとする。
d) スタートキャラクタ又はストップキャラクタが見つかると,復号したスタートキャラクタ又はストッ
プキャラクタから確認した方向に向かって,行指示子及びマトリックスに示された列数の数だけ,シ
ンボルキャラクタの復号を試みる。シンボルキャラクタのバー スペース列は,手順e) に従って復号
する。
e) 次の数式によって,シンボルキャラクタのクラスタ番号Kを計算する。
K = (E1−E2+E5−E6+9) mod 9
注記1 この数式の結果は,5.3.1に示している数式の結果と同じである。
クラスタ番号Kは,0,3又は6でなければならない。それ以外の場合には,シンボルキャラクタ及
び対応するコード語を誤りとする。
p
e1
e3
e5
e2
e4
69
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
f)
キーとして,七つの値(クラスタ値K及びE1,E2,E3,E4,E5及びE6の値)を用い,復号化表(附
属書A)からコード語を検索する。これらの値は,附属書Aに設定しているバー スペース列の値か
ら,直接計算することができる。
注記2 非体系的で,一つのモジュールにだけしか関係しない,単一のエッジ誤りが原因で生じる
復号誤りを検出するために,クラスタ番号を用いる。
g) 有効なスタートキャラクタ及び/又はストップキャラクタを設定後,シンボル構造パラメタを設定す
るために,左の行指示子及び/又は右の行指示子のコード語を用いなければならない。行番号 (F),
行数 (r),列数 (c) 及び誤り訂正レベル (s) の設定をするために,5.11.3.1及び5.11.3.2に定義する数
式の逆を用いなければならない。
h) このほか,各読取装置に特有の特性に対し,合理的で適切と考えられる補助的な検査,例えば,走査
の加速性,絶対タイミング寸法,クワイエットゾーンなどの検査を行う。
J.3
マトリックスへの書込み
次に示す手順を用いて,初期化の手順で設定された行 (r) 及び列 (c) を,マトリックスに書き込まなけ
ればならない。
a) 消失誤り数vの初期値がr×cになるように設定する。
b) 各走査に対して,マトリックスの列数と同じ数だけコード語の復号を試みる。
c) 有効な復号結果を,行指示子からの行番号及びクラスタ値によって指定された,マトリックスの適切
な位置に入力する。
行また(跨)ぎが発生すると,走査線の行番号が変わり,左右の行指示子に示される。個々の有効なコ
ード語に対応する正確な行番号に書き入れるために,クラスタ番号を用いなければならない。
例 復号した走査には,有効なスタートキャラクタ・ストップキャラクタ,行番号7を含む左の行指
示子及び行番号10を含む右の行指示子を含んでいる。マトリックスには,10の列がある。走査
線が一つの行に十分に止まらないで完全に移動してしまったために,復号されなかったコード語
が三つある。ただし,これら“欠けている”コード語の位置は,エレメントタイミングから分か
る。
図J.2−行と交差する走査線を示す概略図
70
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
クラスタは,次のとおり。
未知, 6, 6, 6, 未知, 0, 0, 未知, 3, 3.
r(行)及びc(列)のマトリックス表記法を用いて,次の位置にコード語を書き込む。
未知, (8, 2), (8, 3), (8, 4), 未知, (9, 6), (9, 7), 未知, (10, 9) 及び (10, 10)
注記 この例は,四つの行に交差しているという極端なものであるが,それでも,70 %のコード語
が,正常に復号されている。
d) マトリックスへの記入が進むにつれて,有効なコード語のそれぞれについて一つずつ,消失誤り数v
を減少させなければならない。
e) 誤り訂正レベルがゼロ以外で,未知のコード語の数(消失誤り数v)が5.7.2に示した数式を満足して
いるとき(v =l及びf =0の場合)には,誤り回復を試みることができる。誤り回復が不能であった
場合には,より多くのコード語を収集しなければならない。
f)
誤り訂正レベルがゼロの場合は,二つの誤り訂正コード語が正しいかを検査する。
誤り検出及び誤り訂正の詳細を,附属書Kに示す。
J.4
解釈
データコード語は,テキスト圧縮モードの英大文字サブモードの初期状態から始め,圧縮モードに従っ
て解釈しなければならない。
71
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書K
(規定)
誤り訂正の手順
未知のコード語の総数vが,5.7.2に示した数式 (v ≦ l,f =0) によって計算した値以下の場合は,誤り
回復を試みることができる。未知のコード語は,ゼロに置き換えなければならず,l番目の未知のコード
語の位置は,jlとなる (l=1, 2, …, v)。次のように,シンボルキャラクタの多項式を構成する。
C (x)=Cn−1 xn−1+Cn−2 xn−2+...+C1 x1+C0
ここに, n個の係数は,Cn−1を最初のコード語とする,読み込んだコード語
nは,コード語の総数
次の評価を行うことによって,k個のシンドローム値 (S1〜Sk) を計算する。
x=3iでのC (x)
i=1〜k
ここに,kはシンボル中の誤り訂正キャラクタ数で2s+1
シンドロームを出力する回路を,図K.1に示す。
図K.1−シンボルシンドローム計算回路
シンボルマトリックスの中にある未知のコード語の位置は,jl (l=1, 2, ... v) から確認できるため,次の
ように,これら既知の位置に対する誤り位置を,多項式で計算することができる。
()(
)(
)(
)x
x
x
x
v
β
β
β
σ
−
−
−
=
1
1
1
2
1
Κ
v
vx
x
σ
σ
+
+
+
=
...
1
1
ここに,
jl
l
3
=
β
72
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
誤り位置多項式σ(x) を,誤りの位置を含めるように更新することができる。この処理には,
Berlekamp-Masseyアルゴリズムを用いる。元テキストについては,参考文献を参照。
この時点で,消失及び誤りの数が,5.7.2に示している誤り訂正能力の数式を満足するか確認する。
σ(x)=0を解くと,t個の誤り(t≧0で,t=0の場合には,誤りはない。)の位置が分かる。この段階で,
位置jl (l=1, ..., v+t) に対する誤り値ejlを計算する必要がある。誤り値を計算するには,次に定義する補
助多項式のZ多項式が必要になる。
()
(
)
(
)
(
)η
η
η
η
η
σ
σ
σ
σ
σ
σ
x
s
s
s
x
s
s
x
s
x
Z
+
+
+
+
+
+
+
+
+
+
=
−
−
2
2
1
1
2
2
1
1
2
1
1
...
1
ここに,
t
v+
=
η
位置jlでの誤り値は,次のように計算する。
∏≠
=
−
−
−
=
η
β
β
β
β
l
i
i
l
i
l
l
jl
Z
e
,1
1
1
)
1(
)
(
誤り値の計算が正常に終了すると,対応する位置のコード語に,誤り値の補数を加える。
73
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書L
(規定)
シンボル体系識別子
JIS X 0530 (ISO/IEC 15424) には,読んだバーコード,バーコードリーダに設定した構成及びバーコー
ドの特殊な特徴を報告するために,決められた方法を規定している。
PDF417のシンボル体系識別子は,次のとおり。
]Lm
ここに, ] は,シンボル体系識別子のフラグキャラクタ (ASCII 93)。
Lは,PDF417のシンボル体系識別子。
mは,表L.1に定義している値の一つを含む変更子キャラクタ。
表L.1−PDF417用シンボル体系識別子の修飾子の値mの任意設定内容
m
任意選択
0
AIM USA (1994) 及びAIM Europe (1994) のPDF417シンボル体系仕様に定義した手順(附属書M参照)に
適合するように,リーダを設定している。a)
1
この規格の拡張チャネル解釈(5.17.2参照)手続に従うように,リーダを設定している。データキャラクタ
92は,すべて二重化される。
2
この規格の基本チャネル動作(5.17.1参照)手続に従うように,リーダを設定している。データキャラクタ
92は,二重化されない。b)
注a) この任意機能を伝送するとき,受信側は,ECIが呼び出されているかどうか,また,伝送時にデータバイト
92が二重化されているかどうかも,確実には判断できなくなる。
b) 復号器をこのモードに設定すると,バッファを用いないモードのマクロPDF417シンボル及び復号器でECI
エスケープシーケンスを伝送する必要があるシンボルを伝送することができない。
この情報は,バーコードシンボル中に符号化してはならないが,復号化のあと,復号器によって出力さ
せ,データメッセージの接頭辞として伝送することが望ましい。
74
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書M
(規定)
PDF417旧規格適合復号器用伝送手順
PDF417シンボル体系の旧仕様では,基本チャネルモード,グローバルラベル識別子及びマクロPDF417
を利用可能にしている。グローバルラベル識別子は,シンボル体系拡張チャネル解釈の前身である。マク
ロPDF417は,ECI手順と完全に統合されているわけではない。この附属書に,次の内容を示す。
− 旧仕様に適合し,現在も使用可能な伝送手順
− 互換性の問題点
M.1 基本チャネルモード
基本チャネルモードでは,基本的に,すべてのデータシンボルキャラクタを,有効な圧縮モードに従っ
て変換し,8ビットバイトの列として,データ伝送に組み込む。スタートキャラクタ・ストップキャラク
タ,行指示子,シンボル長記述子,モード切換コード語及び誤り訂正コード語は,伝送しない。
注記 この手続は,5.17.1の手順と同じである。初期の復号器では,シンボル体系識別子の ]L0を出
力する必要がある。この出力がないと,シンボル体系識別子の接頭辞を伝送することができな
い。
M.2 GLI符号化シンボル
従来は,GLI 0及びGLI 1だけで指定していた。しかし,最初の手続によって,GLI及びECIエスケー
プシーケンスは,すべて伝送することができる。三つのコード語(925,926及び927)によって,GLI値
を符号化していることが伝達され,次に示すように,バイト値として復号される。
a) GLIシーケンスが,コード語927で始まる場合
1) コード語927は,4バイトのエスケープシーケンス,92, 57, 50, 55として伝送される。このシーケン
スは,ASCII解釈の“\927”を表す。
2) 次のコード語は,000〜899の範囲でGLI番号を表す。このコード語は,3けたの値に変換する。3
けたの値は,対応するバイト値(48〜57)として,その前にバイト92が先行する形式で伝送する。
例 シンボル符号:
[927] [001]
データ伝送(バイト):
92, 57, 50, 55, 92, 48, 48, 49
ASCII解釈:
\927\001
b) GLIシーケンスが,コード語926で始まる場合
1) コード語926は,4バイトのエスケープシーケンス,92, 57, 50, 54として伝送される。このシーケン
スは,ASCII解釈の“\926”を表す。
2) 次の二つのコード語は,000〜899の範囲のコード語で,次のようにECI番号を表す。
コード語1=ECI番号 div 900 - 1
コード語2=ECI番号 mod 900
各コード語は3けたの値に変換する。3けたの値は,対応するバイト値(48〜57)として,その前
にバイト92が先行する形式で伝送する。
75
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
例 シンボル符号
[926] [136] [156]
データ伝送(バイト)
92, 57, 50, 54, 92, 49, 51, 54, 92, 49, 53, 54
ASCII解釈
\926\136\156
c) GLIシーケンスが,コード語925で始まる場合
1) コード語925は,4バイトのエスケープシーケンス,92, 57, 50, 53として伝送される。このシーケン
スは,ASCII解釈の“\925”を表す。
2) 次のコード語は,利用者定義のGLI - 810 900の番号で,000〜899の範囲の任意のコード語である。
このコード語は3けたの値に変換する。3けたの値は,対応するバイト値(48〜57)として,その前
にバイト92が先行する形式で伝送する。
例 シンボル符号
[925] [456]
データ伝送(バイト)
92, 57, 50, 53, 92, 52, 53, 54
ASCII解釈
\925\456
この手続は,GLIを確認するたびに繰り返す。
注記1 5.17.2に,類似したECIであるが,ECI手順を用いた例を示す。
バックスラッシュ又はその他バイト92によって表すキャラクタを,符号化したデータとして用いる必要
がある場合は,次のように伝送する。バイト92がデータとして発生したときは,必ず,その値のバイトを
二つ伝送する。つまり,このバイトが一つだけの場合には,常にエスケープシーケンスで,二つあれば真
のデータであることを示す。
例 符号化したデータ
A\\B\C
データ伝送
A\\\\B\\C
初期値のエスケープキャラクタは,復号器の中で変換することができる。この場合には,それに対応し
て,受信システムを設定しておく。ただし,通常は,数字として解釈する47〜58のバイト値は用いない。
注記2 ECI適合の手順(5.17.2参照)の場合は,エスケープキャラクタを92に固定している。
任意設定として,復号器に,エスケープキャラクタの定義がない動作モードを設定することができる。
このようなバーコードリーダの場合は,エスケープシーケンスを伝送することはできない。また,どのよ
うなデータキャラクタでも二重にすることはできない。したがって,このモードでは,ECIエスケープシ
ーケンスを伝送することも,マクロPDF417の制御ブロックを伝送することもできない。
M.3 マクロPDF417シンボル
初期のPDF417伝送手順に基づいて動作している場合,PDF417復号器は,いったん,指定したファイル
IDのマクロPDF417シンボルを処理したときは,そのファイルIDに対応するシンボルをすべて復号し,
伝送し終わるまで,その他のシンボルを伝送することはできない。この必要条件は,次に示している伝送
モードのどれにも当てはまる。
M.3.1 バッファを用いるモードでの伝送
バッファ付きの伝送システムの場合は,伝送の前に,復号器がシンボルセット全体を収集する必要があ
る。マクロ制御ブロックの必す(須)領域の処理は,内部で実行する。任意領域は,復号器の中で個々に,
伝送することもできるし,伝送しないようにすることもできる。任意領域がある場合は,データセット全
体の終わりに,1回伝送する必要がある。各領域は,対応するマクロPDF417任意領域タグシーケンスの
伝送によって始める。タグシーケンスは,表H.1に示すように,コード語923及びその後ろにタグ値が続
く構成になっており,M.2に示すように,エスケープキャラクタを用いて伝送する。上位モードで復号し
76
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
た領域の内容は,このタグシーケンスのあとで伝送する。
M.3.2 バッファを用いないモードでの伝送
バッファを用いない伝送システムの場合は,復号器は,個々のシンボルを復号したとおりに伝送するこ
とができる。
バッファを用いないモードを用いる場合は,マクロPDF417制御ヘッダの伝送ができる必要がある。バ
ッファを用いないモードのシンボルの場合は,バーコードリーダが,内部で順番を整理しないためである。
ヘッダの伝送によって,ホストシステムが,受信したデータを適切に整列することができる。
マクロPDF417制御ヘッダは,伝送させることもできるし,伝送しないようにすることもできる。マク
ロPDF417制御ヘッダは,マクロPDF417制御ブロックの一部(図H.1参照)で,目印コード語928,数字
圧縮モード時には区分番号及びファイルIDコード語列によって構成している。制御ヘッダを伝送すると
きは,M.2に示すように,エスケープキャラクタを用いて,目印コード語及びファイルIDコード語を伝送
する必要がある。例えば,最初のシンボルのマクロPDF417制御ヘッダは,区分番号=0,ファイルID (100,
200, 300) の場合,次に示しているコード語列としてシンボル中に符号化する。
[928] [111] [100] [100] [200] [300]
そして,初期のエスケープキャラクタが92とすると,次のように伝送する。
データ伝送(バイト)
92, 57, 50, 56, 48, 48, 48, 48, 48, 92, 49, 48, 48, 92, 50, 48, 48, 92, 51, 48, 48
ASCII解釈
\92800000\100\200\300
伝送する場合,マクロPDF417制御ヘッダは,シンボル中に符号化したデータのあとで伝送する。
バーコードリーダで伝送する最後のGLIシーケンスがGLI 0以外の場合には,その区分から伝送するデ
ータは,バイト列92, 57, 50, 55, 92, 48, 48, 48(ASCII解釈:\927\000)で終了する。そのシンボルのデー
タがコード語 [927] [000] のシーケンスで終了しているかのようにするためである。この処理によって,
次のブロックの解釈機能がGLI 0に戻される。
任意領域は,復号器の中で個々に,伝送したり,伝送しないようにしたりすることができる。伝送可能
な任意領域は,それらの領域を符号化している各マクロPDF417シンボルとともに伝送する。各領域は,
対応するマクロPDF417任意領域タグシーケンスの伝送によって始める。タグシーケンスは,表H.1に示
すように,コード語923及びその後ろにタグ値が続く構成になっており,M.2に示すように,エスケープ
キャラクタを用いて伝送する。上位モードで復号した領域の内容は,このタグシーケンスのあとで伝送す
る。
符号化したデータ列の伝送だけを基準に考えると,特に,任意領域を含んでいるような場合,マクロ制
御ブロックの終わり及び次に続くシンボルのデータ内容の始めの間で,どこに境界があるか判断が難しか
ったり,又は全く分からなかったりすることがある。システムの伝送手順,例えば,従来の伝送用エスケ
ープキャラクタのSTX及びETX又は,その他の“連携”機能を用いて,伝送するマクロPDF417シンボ
ル間の境界を判断することができる。
バッファを用いないモードで動作しているときに,マクロPDF417セットの全シンボルが受信されたか
どうか検査しやすくするためには,符号化されたマクロ制御ブロックの一部として,できるだけ,任意選
択の区分カウント領域を用いる必要がある。
M.4 初期のPDF417手順による予約コード語の伝送
初期のPDF417伝送手順に基づいて動作している場合は,復号器は,予約コード語を,後ろにその予約
コード語の10進値を表す3けたの数字が続くエスケープキャラクタ(初期値は92)として伝送する必要
77
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
がある。予約コード語に続くデータコード語は,その予約コード語が出てくる前から有効であった圧縮モ
ードに従って解釈し,伝送する。正確にいえば,予約コード語が,既に有効であった圧縮モードへの切換
コード語を挿入したかのように解釈することである。
このような切換えでは,バイト圧縮モード又は数字圧縮モードの場合は,新たにコード語の“グループ
化”を開始する。テキスト圧縮モードが有効であった場合は,テキスト圧縮モードの英大文字サブモード
に設定し直す。
将来,予約コード語が,通信機能を提供するために定義した場合でも,この手順は,どのような予約コ
ード語のメッセージ構文でも,適切に伝送することができるが,新しい圧縮モードに合わせて,正確に出
力することはない。したがって,初期のPDF417伝送手順を用いる場合は,受信者は,新たに定義した圧
縮モードのコード語を表す,エスケープシーケンスに続くデータを,すべて放棄する必要がある。
M.5 新旧PDF417機器間の互換性の確保
M.5.1 符号器
シンボル体系に依存しない拡張チャネル解釈の導入は,ECIに基づく符号化機能とシンボル体系に基づ
く符号化機能とを分離することが合理的であることを意味している。事実上,GLIの符号化機能は,本質
的に,PDF417シンボル体系に深く関連している。シンボルが,既存の符号器又は新しい符号器のどちら
によって符号化されても,符号化したコード語列は,同じ内容を表すことを目的にしている。ECI規格発
表当時,ECI 000123の解釈自体が定義されていなかった。例えば,このECI 000123解釈に適合するデータ
は,PDF417特定GLI対応符号器又は第1段階のシンボル体系ECI符号器,それに続く第2段階のPDF417
シンボル体系符号器によって,符号化できなければならない。
次の二つの制限がある。
− GLI 0復帰の論理は,GLI 0 (ECI 000000) 及びGLI 1 (ECI 000001) にだけ適用する。
− 同じシンボル,言い換えると,同じマクロPDF417セットの中で,GLI 0及びGLI 1を,他のECIと
混在させない。
M.5.2 復号器
新旧のPDF417手順に適合した復号器間で,相互通信するときは,シンボル体系識別子の接頭辞が,重
要な役割を果たす。新しい拡張チャネルモードの動作に対応した復号器では,必ず,シンボル体系識別子
を接頭辞として付加して伝送する必要があり,また,同じ環境で,新旧のPDF417機器が混在する場合に
も,必ず,接頭辞を用いる必要がある。すなわち,拡張チャネルモードの動作(同じ環境で混在している
基本チャネルモード及び拡張チャネルモードのシンボルを読む。)を使用可能にした復号器は,伝送ごとに
シンボル体系識別子を伝送する。
注記 AIM USA (1994) 及びAIM Europe (1994) のPDF417規格では,エスケープキャラクタ(初期値
92)を二重にするときでも,シンボル体系識別子を用いることを要求していない。この規格で
指定するように,ECI手順に適合する場合は,シンボル体系識別子を用いることを要求する。
復号器は,次の状態のいずれか一つに適合しているとみなす。
a) ECI手順及びこの規格に,完全に適合している場合
1) 適切なシンボル体系識別子を伝送できる。
2) 基本チャネルモード又は拡張チャネルモードに,設定又は切換えが可能。
3) この標準の規格どおりに,ECI手順を送信できる(5.17.2参照)。
4) この標準の規格どおりに,マクロPDF417を処理する。
78
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
b) 1994規格に適合している場合
1) 1994規格に適合し,かつ,新しい機器とECI符号化シンボルとの相互運用が可能な場合
1. シンボル体系識別子“]L0”を伝送
2. 基本チャネルモード又は拡張チャネルモードに,設定又は切換えが可能
3. M.2で規定したGLI手順で伝送
4. M.3で規定したマクロPDF417を処理
2) 1994規格に適合しているが,新しい機器とECI符号化シンボルとの相互運用が不可能な場合
1. シンボル体系識別子を伝送できない
2. 基本チャネルモード又は拡張チャネルモードに,設定又は切換えが可能
3. M.2で規定したGLI手順で伝送
4. M.3で規定したマクロPDF417を処理
c) 基本チャネルモードにだけ適合している場合
1) シンボル体系識別子“]L0”(従来形機器の場合)又は“]L2”(新形機器の場合)を伝送するか,
又はシンボル体系識別子の伝送をしない。
2) ECIコード語を含むシンボルを無効として処理。
3) バーコードリーダがバッファを用いるモードで動作しており,マクロPDF417シンボルを無効とし
て処理していない限り,マクロ制御ヘッダの伝送を停止。
機器が,上記のように適切に設定されていれば,受信者は,次の状態を確認し,適切に対応することが
できる。
a) 伝送データの最初に,シンボル体系識別子“]L1”がある場合
この場合,受信者は,走査したシンボルに対して,復号器が拡張チャネルモードで動作しているこ
とが分かる。したがって,シンボルにECIが含まれているか又はシンボルがマクロPDF417セットの
一部であるかどうかにかかわらず,データとして発生するすべてのバイト92は,二重化される。バイ
ト92が一つだけの場合は,エスケープシーケンスの始まりを示している。その他の機能は,すべてこ
の規格に適合している。
b) 伝送データの最初に,シンボル体系識別子“]L2”がある場合
この場合,受信者は,走査したシンボルに対して,復号器が基本チャネルモードで動作しているこ
とが分かる。したがって,バイト92は,常に,単一バイトのデータを表す。
ECIエスケープを含むシンボルは,無効とみなされる。マクロPDF417シンボルは,バーコードリ
ーダがバッファを用いるモードで構成していない限り無効とみなされ,マクロPDF417制御ヘッダを
伝送しないように設定する。
c) 伝送データの最初に,シンボル体系識別子“]L0”があり,1994版PDF417を示す場合
このケースは例外である。AIM USA (1994) 及びAIM Europe (1994) PDF417規格の場合,拡張チャ
ネルモードが使用できるように規定しているが,PDF417シンボル識別子の任意選択値として“0”(任
意選択設定なし)を定義しているからである。そのため,既存のPDF417機器が,完全に1994規格に
適合している場合には,拡張チャネルモード又は基本チャネルモードの,どちらが有効になっている
かを示すときに,新しい任意選択値は用いない。したがって,受信者が“]L0”を確認したとき,1994
規格に適合したPDF417の動作であると考えるのが望ましい。特に,次の場合が該当する。
− 受信者が,伝送内容から,復号器が拡張チャネルモード(M.2に示すように,エスケープキャラク
タとして指定したバイトを,常に二重にする。)又は基本チャネルモード(バイトを,二重にしな
79
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
い。)のどちらになっているか判断できない場合。復号器は,受信者の予想と一致するように構成
しなければならない。
− 復号器を拡張チャネルモードに設定し,かつ,シンボルの中にECIを符号化したときは,復号器が,5.17.2
に示すECIエスケープシーケンスではなく,1994 PDF417形式のGLIエスケープシーケンス(M.2参照)
を伝送する場合
− 初期の手順を用いているときに,マクロ制御ブロックがあると,そのマクロ制御ブロックの内容が,
シンボルの中で,データバイトの前ではなく,後ろに続く場合
d) 伝送データの最初に,シンボル体系識別子がない場合
この場合は,次のいずれかの状態である。
1) 復号器は,基本チャネルモードのシンボルにだけ対応するように,適切に設定されている。受信シ
ステムには,復号器によって二重化されているバイト値がないこと及びデータ列の中で,ECIのよ
うに見えるシンボルは,どの場合でも,キャラクタが組み合わさってできた偶然の結果であること
が伝達される。
2) 復号器は,ECI符号化シンボルが存在する可能性のある開放型システム環境で,相互通信ができる
適切な設定になっていない。
80
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書N
(参考)
コード語数を最小にするためのアルゴリズム
各種の圧縮モード及び切換方法を用いることによって,同じデータを異なったPDF417コード語列によ
って表現することができる。規定した手順はないが,次のアルゴリズムで示す方法によって,必要なコー
ド語数を少なくできる可能性がある。
1. Let P point to the start of the data stream
2. Set current encoding mode to Text Compaction
3. Let N be the number of consecutive digits starting at P
4. If N is≧13 then
5. Latch to Numeric Compaction mode
6. Encode the N characters using numeric compaction
7. Advance P by N
8. Go to Step 3
9. Else if N < 13 then
10. Let T be the length of a Text Compaction mode character sequence starting at P. The sequence is
terminated when either a character from a mode other than Text Compaction is detected or a numeric
sequence of ≧13 digits is detected.
11. If T is≧5 then
12. Latch into Text Compaction mode
13. Encode the T characters using the Text Compaction mode
14. Advance P by T
15. Go to Step 3
16. Else if T < 5 then
17. Let B be the length of the binary encodable sequence starting at P. The sequence is
terminated when either a Text Compaction sequence of length≧5 is found or a numeric
sequence of length≧13 is found
18. If B is equal to 1 AND the current mode is Text Compaction, then
19. Shift into Byte Compaction mode
20. Encode the single byte value using Byte Compaction mode
21. Advance P by B
22. Go to Step 3
23. Else
24. Latch into Byte Compaction mode
25. Encode the B bytes using Byte Compaction mode
26. Advance P by B
27. Go to Step 3
81
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書O
(参考)
シンボルマトリックス作成のガイドライン
O.1 マトリックスの決定に影響を及ぼすパラメタ
行数 (r) 及び縦列数 (c) によって,シンボルマトリックスを設定するには,印刷の前に,数多くのパラ
メタを用いることが望ましい。
各パラメタでは,シンボルマトリックスの条件を決められる特徴を,一つずつ処理する。次の式,A,c,
k,n,QH,QV,r,X及びYは,4.1で定義している。
式は,右側[( )内]又はより複雑なアルゴリズムで使ってもよい。
− パラメタ1
: 行数r
90
3
≤
r
≦
(5.2.1参照)
− パラメタ2
: 列数c
30
1
≦
≦c
(5.2.2参照)
− パラメタ3
: X寸法
アプリケーション仕様によって定義(5.8.1参照)
− パラメタ4
: Y寸法
X
Y
3
≧
(5.8.2参照)
− パラメタ5
: 水平クワイエットゾーン QH
X
QH
2
≧
(5.8.3参照)
− パラメタ6
: 垂直クワイエットゾーン QV
X
QV
2
≧
(5.8.3参照)
− パラメタ7
: シンボル有効幅 W
(
)
H
Q
c
W
2
69
17
+
+
≧
注記1 このパラメタは,ラベル幅又はスキャナの走査幅によって制限される。
− パラメタ8
: シンボル有効高さ H
V
Q
Yr
H
2
+
≧
注記2 このパラメタは,ラベル幅又はスキャナの走査幅によって制限される。
− パラメタ9
: マトリックスパラメタ
(
)(
)929
<
×
=
+
r
c
k
n
− パラメタ10
: シンボルの縦横比 A
シンボルのサイズを決定する前に,データコード語数及び誤り訂正コード語数を計算しなければならな
い。次の手順では,アプリケーションによって,どのパラメタに制限があるかが重要になる。アプリケー
ションの必要条件によって,シンボル全体の縦横比が特定される場合は,この箇条のb) に,その縦横比
のシンボルを作成するときに必要なデータ領域の縦列数を計算する方法を示す。縦横比ではなく,アプリ
ケーションによって,シンボルの高さ及びシンボルの幅(又は,両方)の許容値に制限がある場合は,比
較的簡単な計算方法を用いることができる。a) に,シンボルの幅に制限がある場合に用いることができる,
簡単な手法を示す。
a) クワイエットゾーンを含む幅全体Wが指定されているときは,データ縦列数は,パラメタ7の式から
82
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
計算することができる。計算結果は,最も近い整数値に切り上げられる。行数は,そのあと,コード
語総数から,次の式によって計算する。
(n+k) = (r×c)
b) シンボルの縦横比Aは,クワイエットゾーンを含むシンボルの幅に対する高さの比率である。指定値
Aに合わせるときは,縦列数 (c) に対応して,次の式を解くことができる。式では,クワイエットゾ
ーンがXによって正確に表されることが前提になっているが,あらゆるケースでこの式を用いて,縦
列数 (c) を概算することができる。
(
)
73
17
2
+
+
=
=
c
X
Q
rY
W
H
A
V
ここに,A, c, H, QV, r, W, X 及び Y は,箇条4で定義している。
X
QV
2
=
列数を表すには,
+
=
c
k
n
r
ここに,n及びkは,箇条4で定義している。
異なった式で表現すると,
c
c
c
X
Y
k
n
X
c
c
cX
Y
k
n
x
c
X
Y
c
k
n
A
73
17
4
)
(
)
73
17
(
4
)
(
)
73
17
(
4
2
2
+
+
+
=
+
+
+
=
+
+
+
=
したがって,
0
4
)
(
)
73
17
(
2
=
−
+
−
+
c
X
Y
k
n
c
c
A
この式で表すことができる
[
]0
/
)
(
)4
73
(
17
2
=
+
−
−
+
X
Y
k
n
c
A
Ac
xをcにして,次の2次方程式に代入すると,
0
2
=
+
+
c
bx
ax
次の2次方程式の解から
a
ac
b
b
x
2
4
2−
±
−
=
2次方程式のパラメタ値を代えて,負の値を無視して2次方程式を解くと,
[
]
{
}
)
17
(
2
/
)
(
)
17
(
4
)4
73
(
)4
73
(
5.0
2
A
X
Y
k
n
A
A
A
c
+
+
−
+
−
−
=
nの値は埋め草コード語の数に依存しており,マトリックスパラメタが決定されるまで,不明である。
しかし,元コード語の数は分かっている。m+1 ≦ nとして,上記の方程式に代入すると
[
]
{
}
)
17
(
2
/
)
1
(
)
17
(
4
)4
73
(
)4
73
(
5.0
2
A
X
Y
k
m
A
A
A
c
+
+
+
−
+
−
−
=
83
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
cをプラスの値として解くことは,整数でない結果を生む。cの最も近い整数値は,縦横比を完成させる
ために,列数の最適値を生む。
列数は,次の式によって得ることができる。
[
]1
/)
1
(
+
+
+
=
c
k
m
INT
r
c
k
m
r
c
+
+
+
×
1
)
(
if
≧
then
1
−
=r
r
同様に,
)
(
)
(
k
n
r
c
+
=
×
,埋め草コード語数は,
)
1
(
)
(
k
m
k
n
+
+
−
+
例 達成縦横比 A=0.5 PDF417シンボルのためのm+l+k=277,X=0.33 mm,Y=1 mmとすると,
[
]
[
]
)5.0
17
(2
33
.0
00
.1
277
)5.0
17
(4
4
)5.0
73
(
4
)5.0
73
(
5.0
2
×
×
×
+
−
×
=
−
×
−
=
c
17
)
539
28
056
1(
5.
32
5.0
+
+
−
=
c
17
0.
172
5.
32+
−
=
c
8
21
.8
17
5.
139
=
=
=
c
35
1
)6.
34
(
1
277
=
+
=
+
=
INT
c
INT
r
929
)
(
)
1
(
<
×
+
+
r
c
k
m
≦
929
280
277
<
≦
必要な埋め草コード語数は,
)
1
(
)
(
k
m
r
c
+
+
−
×
3
277
280
=
−
このシンボルは,35行×8列で,幅が68.97 mm,高さが36.32 mmであり,縦横比は,0.527になる。
O.2 パラメタが調整できない場合のガイドライン
シンボルが必要なラベルサイズに適合しない場合,
a) 可能であれば,データ内容を減らす。
b) ラベルサイズの一方又は両方の寸法を大きくする。
c) 誤り訂正レベルを下げる。
d) モジュールの幅 (X) 又はモジュールの高さ (Y) を小さくする。
84
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書P
(参考)
誤り訂正コード語を作成するための係数の計算−計算例
各誤り訂正レベルに対する係数を計算するときは,次に示している生成多項式を用いる。
()(
)(
)(
)(
)
k
k
x
x
x
x
x
g
3
....
3
3
3
3
2
−
−
−
−
=
k
k
k
x
x
x
x
+
+
+
+
=
−
−
1
1
2
2
1
0
...α
α
α
α
ここに,
()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シンボルの符号化に必要な,すべての誤り訂正レベル係数値を含んで
いる。
85
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書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) mod 929=(5+0) mod 929=5
t2=(t1×α3) mod 929=(5×809) mod 929=329
t3=929−t2=929−329=600
E3=(E2+t3) mod 929=(0+600) mod 929=600
t2=(t1×α2) mod 929=(5×723) mod 929=828
t3=929−t2=929−828=101
E2=(E1+t3) mod 929=(0+101) mod 929=101
86
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
t2=(t1×α1) mod 929=(5×568) mod 929=53
t3=929−t2=929−53=876
E1=(E0+t3) mod 929=(0+876) mod 929=876
t2=(t1×α0) mod 929=(5×522) mod 929=752
t3=929−t2=929−752=177
E0=t3 mod 929=177 mod 929=177
t1=(d3+E3) mod 929=(453+600) mod 929=124
t2=(t1×α3) mod 929=(124×809) mod 929=913
t3=929−t2=929−913=16
E3=(E2+t3) mod 929=(101+16) mod 929=117
t2=(t1×α2) mod 929=(124×723) mod 929=468
t3=929−t2=929−468=461
E2=(E1+t3) mod 929=(876+461) mod 929=408
t2=(t1×α1) mod 929=(124×568) mod 929=757
t3=929−t2=929−757=172
E1=(E0+t3) mod 929=(177+172) mod 929=349
t2=(t1×α0) mod 929=(124×522) mod 929=627
t3=929−t2=929−627=302
E0=t3 mod 929=302 mod 929=302
t1=(d2+E3) mod 929=(178+117) mod 929=295
t2=(t1×α3) mod 929=(295×809) mod 929=831
t3=929−t2=929−831=98
E3=(E2+t3) mod 929=(408+98) mod 929=506
t2=(t1×α2) mod 929=(295×723) mod 929=544
t3=929−t2=929−544=385
E2=(E1+t3) mod 929=(349+385) mod 929=734
t2=(t1×α1) mod 929=(295×568) mod 929=340
t3=929−t2=929−340=589
E1=(E0+t3) mod 929=(302+589) mod 929=891
87
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
t2=(t1×α0) mod 929=(295×522) mod 929=705
t3=929−t2=929−705=224
E0=t3 mod 929=224 mod 929=224
t1=(d1+E3) mod 929=(121+506) mod 929=627
t2=(t1×α3) mod 929=(627×809) mod 929=9
t3=929−t2=929−9=920
E3=(E2+t3) mod 929=(734+920) mod 929=725
t2=(t1×α2) mod 929=(627×723) mod 929=898
t3=929−t2=929−898=31
E2=(E1+t3) mod 929=(891+31) mod 929=922
t2=(t1×α1) mod 929=(627×568) mod 929=329
t3=929−t2=929−329=600
E1=(E0+t3) mod 929=(224+600) mod 929=824
t2=(t1×α0) mod 929=(627×522) mod 929=286
t3=929−t2=929−286=643
E0=t3 mod 929=643 mod 929=643
t1=(d0+E3) mod 929=(239+725) mod 929=35
t2=(t1×α3) mod 929=(35×809) mod 929=445
t3=929−t2=929−445=484
E3=(E2+t3) mod 929=(922+484) mod 929=477
t2=(t1×α2) mod 929=(35×723) mod 929=222
t3=929−t2=929−222=707
E2=(E1+t3) mod 929=(824+707) mod 929=602
t2=(t1×α1) mod 929=(35×568) mod 929=371
t3=929−t2=929−371=558
E1=(E0+t3) mod 929=(643+558) mod 929=272
t2=(t1×α0) mod 929=(35×522) mod 929=619
t3=929−t2=929−619=310
E0=t3 mod 929=310 mod 929=310
88
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
最後に,符号化データのために,四つの誤り訂正コード語を得て,上記計算結果から補
数を計算する。
E3=929−E3=929−477=452
E2=929−E2=929−602=327
E1=929−E1=929−272=657
E0=929−E0=929−310=619
89
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書R
(参考)
除算回路による誤り訂正コード語の作成
この手法は,5.10に規定している手順の代わりに用いることができ,誤り訂正コード語を求めるときの
基礎として,除算回路を用いる。
図R.1に,除算回路の概略を示す。
図R.1−誤り訂正コード語の符号化回路
レジスタb0〜bk−1は,ゼロとして初期設定する。モジュロ演算は,次の式で定義する。
(
)y
x
y
x
+
≡
⊕
mod 929
(
)y
x
y
x
×
≡
⊗
mod 929
(
)x
x
−
= 929
mod 929
ここに,x及びyは,0〜928の数字。
⊕は,モジュロ加算
⊗ は,モジュロ乗算
は,モジュロ補数
符合化を行うときは,二つの段階がある。最初の段階で,スイッチ (Switch) が下の位置にあるときは,
シンボルデータ (Input) は,出力と回路との両方に渡される。最初の段階は,nクロックパルスのあとで
終了する。第2の段階(n+1〜n+kクロックパルス)で,スイッチが上の位置にあるときは,データ入力
を0に保ちながら,レジスタを順番に消去し,出力を補うことによって,誤り訂正コード語Ek−1〜E0を出
力する。
90
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書S
(参考)
PDF417を用いるための追加ガイドライン
S.1
自動識別の互換性
PDF417は,自動的にPDF417を他のシンボル体系と識別するように設計され,適切にプログラムされた
バーコード復号器によって読むことができる。読むときのセキュリティを最大限確保するために,復号器
に搭載するシンボル体系は,特定のアプリケーションの必要性に合わせて制限するのが望ましい。
S.2
画素ベース印刷
S.2.1
一般原理
画素ベースプリンタ(ドットプリンタなど)でバーコードを生成するのに用いる画像ソフトウェアは,
各々のバー及びスペースがプリンタの画素ピッチに正確に一致しなければならない。PDF417のような,
エッジから類似エッジで復号するシンボル体系では,各シンボルキャラクタを構成する画素数が,シンボ
ルキャラクタのモジュール数の整数倍で一定であり,固定していなければならない。PDF417では,モジ
ュール数は,スタートパターン及び他のシンボルキャラクタで17,ストップパターンで18である。した
がって,与えられたプリンタは,X寸法の特定したエレメントセットを印刷するだけである。
均一なバー幅の太り(又は細り)の補償は,シンボル内のすべてのバー及びスペースで相殺し,総量は
同等でなければならない。これは,シンボルのバーとスペースとのペアごとに同じ規則で,明から暗又は
暗から明の箇所で,及びシンボルの最後のバーで,ピクセル数を整数単位で変えることによって達成して
もよい。例として,シンボルのすべての同じエッジに沿ったすべての画素を,暗から明に変更することも
できる。また,シンボルのすべてのバーの両側のエッジに沿った全画素を,暗から明に変更することもで
きる。シンボル全体で一貫して調整が行われ,エッジから類似エッジまでの距離又はシンボルキャラクタ
幅が変わらないときは,暗から明又は明から暗のどのようなセットの画素変更も,許容できる。これらの
原則に従うことへの怠慢は,シンボルの品質が低下し,ときには,シンボルが読めなくなることもある。
様々なプリンタを利用可能にするように設計された,はん用印刷ソフトウェアは,利用者に,X寸法及び
バー幅太り又は細りを調整する機能を提供することが望ましい。
S.2.2
プログラム作成者のための例
これらの原則は,デジタルバーコード設計ファイルに対する,次の規則になることができる。
a) 必要なX寸法を,最も近い整数まで切り捨てた画素のモジュール寸法に変換する。
b) 一つ大きな整数までの切上げ及び均一なバー幅の太りのための望ましい補償と一致している画素の数
を測定する。
c) シンボルで,あらゆるバー及びスペースの画素カウントを測定するために,上記の結果を適用する。
例 1 mm当たり24ドットをもつ印刷機器及びデジタルバーコード設計ファイルを用いて,X寸法
が0.27 mmのシンボルを作成する。このとき,実X寸法が0.06 mm縮小する。
モジュール寸法は,24 dot/mm×0.27 mm=6.48画素。切り捨てて6画素/モジュールにする。
バー幅太りの調整は,0.06×24=1.44画素。切り上げて2画素とする。
この過程は,表S.1に示すように,バー及びスペースのための,次の画素カウントをもたら
す。
91
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表S.1−画像密度及びバー幅縮小のための画素修正の例
エレメント幅
(モジュール)
公称幅
(画素)
補正後の画素数
バー
スペース
1
6
4
8
2
12
10
14
3
18
16
20
4
24
22
26
5
30
28
32
6
36
34
38
8
48
46
n/a
92
X 0508:2010 (ISO/IEC 15438:2006)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
参考文献
[1] A source reference for the Berlekamp-Massey algorithm (referred to in Annex K) is available in :
'Theory and Practice of Error Control Codes' by Richard E. Blahut (published by Addison Wesley, 1984) (page
260, etc.)
[2] AIM USA Uniform Symbology Specification PDF417, published by AIM USA, 1994
[3] AIM Europe Uniform Symbology Specification PDF417, published by AIM Europe, 1994
[4] ANSI X3.4, Coded Character Sets−7-bit American National Standard Code for Information Interchange (7-bit
ASCII) (equivalent to the US national version of ISO/IEC 646)
[5] AIM Inc. ITS/04-001 : International Technical Standard : Extended Channel Interpretations−Part 2,
Registration Procedure for Coded Character Sets and Other Data Formats−Character Set Register