>サイトトップへ >このカテゴリの一覧へ

X 0509

:2012 (ISO/IEC 24724:2011)

(1)

目  次

ページ

序文 

1

1

  適用範囲

2

2

  引用規格

2

3

  用語,定義,略語及び数学演算子

3

3.1

  用語及び定義 

3

3.2

  略語

4

3.3

  数学演算子及び表記方法 

4

4

  シンボルの説明 

4

4.1

  GS1 データバーシンボルの種類 

4

4.2

  シンボル体系の特性

4

4.3

  その他の特徴の要約

5

4.4

  シンボルの構造

5

5

  GS1 データバー標準型,GS1 データバー切詰型,GS1 データバー二層型及び GS1 データバー標準二層

型のシンボル要件 

6

5.1

  GS1 データバー標準型の基本特性 

6

5.2

  GS1 データバー標準型のシンボル構造

6

5.3

  特定アプリケーション向けの GS1 データバー標準型からの派生型

15

6

  GS1 データバー限定型のシンボル要件

17

6.1

  基本特性 

17

6.2

  シンボルの構造

18

7

  GS1 データバー拡張型のシンボル要件

24

7.1

  GS1 データバー拡張型の基本特性 

24

7.2

  シンボルの構造

24

8

  シンボル品質 

43

8.1

  一次元シンボル体系のパラメタ

43

8.2

  その他の合格基準及び不合格基準 

43

8.3

  多層形シンボル

44

9

  送信データ 

44

10

  目視可能文字情報

45

11

  モジュールの最小幅及び最大幅(X

45

12

  アプリケーション定義パラメタ

45

附属書 A(規定)チェックディジットの計算 

46

附属書 B(規定)言語によるエレメント幅の符号器及び復号器

47

附属書 C(規定)GS1 データバー限定型のチェックキャラクタエレメント幅 

52


X 0509

:2012 (ISO/IEC 24724:2011)  目次

(2)

ページ

附属書 D(規定)GS1-128 エミュレーションモードでの長い GS1 データバー拡張型又は GS1 データバー

拡張多層型シンボルの分割

55

附属書 E(参考)シンボルエレメント

57

附属書 F(参考)符号化例 

61

附属書 G(参考)言語によるエレメント幅復号器 

66

附属書 H(参考)読誤りを少なくするために

69

附属書 I(参考)印刷上の考慮点 

75

附属書 J(参考)GS1 データバーシンボル体系−特性の要約 

78


X 0509

:2012 (ISO/IEC 24724:2011)

(3)

まえがき

この規格は,工業標準化法第 12 条第 1 項の規定に基づき,一般社団法人日本自動認識システム協会

(JAISA)及び財団法人日本規格協会(JSA)から,工業標準原案を具して日本工業規格を制定すべきとの

申出があり,日本工業標準調査会の審議を経て,経済産業大臣が制定した日本工業規格である。

この規格は,著作権法で保護対象となっている著作物である。

この規格の一部が,特許権,出願公開後の特許出願又は実用新案権に抵触する可能性があることに注意

を喚起する。経済産業大臣及び日本工業標準調査会は,特許権,出願公開後の特許出願及び実用新案権に

関わる確認について,責任はもたない。


日本工業規格

JIS

 X

0509

:2012

(ISO/IEC 24724

:2011

)

情報技術−自動認識及びデータ取得技術−

バーコードシンボル体系仕様−GS1 データバー

Information technology-Automatic identification and data capture

techniques-bar code symbology specification-GS1 DataBar

序文 

この規格は,2011 年に第 1 回改訂版として発行された ISO/IEC 24724 を基に,技術的内容及び対応国際

規格の構成を変更することなく作成した日本工業規格である。

なお,この規格で点線の下線を施してある参考事項は,対応国際規格にはない事項である。

GS1

データバーは,以前は,

“Reduced Space Symbology (RSS)”として知られていたが,GS1 という組織

によって“GS1 データバー”に改名された。

GS1

データバーファミリには,GS1 システムで用いる三つのタイプの一次元シンボルがある。タイプ 1

には,GS1 データバー標準型,GS1 データバー切詰型,GS1 データバー二層型及び GS1 データバー標準二

層型の 4 種類のシンボルがある。二層型とは,二つの段に積み重ねたシンボルである。タイプ 2 は,GS1

データバー限定型の 1 種類だけである。タイプ 3 には,GS1 データバー拡張型及び GS1 データバー拡張多

層型の 2 種類がある。GS1 データバーの利用は,GS1 総合仕様書で規定されている“GS1 アプリケーショ

ンガイドライン”に従うことが前提である。

GS1

データバー標準型及び GS1 データバー標準二層型は,14 桁の GS1 商品識別コード(GTIN と呼ばれ

る。

)を符号化する。この一次元シンボルは,適切にプログラムされた POS 用バーコードリーダで多方向

スキャンができる。GS1 データバー切詰型及び GS1 データバー二層型も 14 桁の GS1 商品識別コードを符

号化するが,多方向スキャナでの読取りには適していない一次元シンボルである。GS1 データバー制限型

は,主に小形商品に用いるシンボルであり,先頭桁を“0”又は“1”に制限した 14 桁の GS1 商品識別コ

ードを符号化する。この一次元シンボルも多方向スキャナでの読取りには適していない。GS1 データバー

拡張型は,GS1 商品識別コードだけでなく,重さ,消費期限などの補助的なアプリケーション識別子(AI)

も符号化できる。この一次元シンボルは,適切にプログラムされた POS 用バーコードリーダで多方向スキ

ャンができる。

GS1

データバーファミリは,どれでも,単独の一次元シンボルとして,又は GS1 合成シンボルの一次元

シンボル部分として印刷することができる。

GS1

データバーシンボルは,識別番号及び識別のための補助的なデータの符号化を意図している。GS1

による付番システムの管理によって,特定商品に割り当てられた商品識別コードが世界中で唯一であり,

それに関連する補助的なデータが,一定の規則として定められていることが保証される。GS1 システムの

利用者が得る主な利点は,唯一に定められた商品識別コード及び補助的なデータフォーマットを取引業務

に利用できることである。


2

X 0509

:2012 (ISO/IEC 24724:2011)

適用範囲 

この規格は,GS1 データバーシンボル体系ファミリの要件を規定する。ここでは,GS1 データバーシン

ボル体系ファミリの特性,シンボルキャラクタの符号化,シンボル形式,寸法,印刷品質要件,誤り検出,

及び参照復号アルゴリズムについて規定する。

GS1

合成シンボルのために,ISO/IEC 24723 では二次元コンポーネントを定義している。

注記  この規格の対応国際規格及びその対応の程度を表す記号を,次に示す。

ISO/IEC 24724:2011

,Information technology−Automatic identification and data capture techniques

−GS1 DataBar bar code symbology specification(IDT)

なお,対応の程度を表す記号(IDT)は,ISO/IEC Guide 21-1 に基づき,一致していること

を示す。

引用規格 

次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成する。これらの

引用規格は,その最新版(追補を含む。

)を適用する。

JIS X 0201

  7 ビット及び 8 ビットの情報交換用符号化文字集合

注記  対 応 国 際 規 格 : ISO/IEC 646 , 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 0504

  バーコードシンボル−コード 128−基本仕様

注記  対応国際規格:ISO/IEC 15417,Information technology−Automatic identification and data capture

techniques

−Bar code symbology specification−Code 128(IDT)

JIS X 0507

  バーコードシンボル−EAN/UPC−基本仕様

注記  対応国際規格:ISO/IEC 15420,Information technology−Automatic identification and data capture

techniques

−Bar code symbology specification−EAN/UPC(IDT)

JIS X 0520

  バーコードシンボル印刷品質の評価仕様−1 次元シンボル

注記  対応国際規格:ISO/IEC 15416,Information technology−Automatic identification and data capture

techniques

−Bar code print quality test specification−Linear symbols(IDT)

JIS X 0531

  情報技術−EAN/UCC アプリケーション識別子と FACT データ識別子,及びその管理

注記  対応国際規格:ISO/IEC 15418,Information technology−EAN/UCC Application Identifiers and

Fact Data Identifiers and Maintenance

(IDT)

JIS X 9001

  光学式文字認識のための字形(英数字)

ISO 4217

,Codes for the representation of currencies and funds

ISO/IEC 24723

, Information technology− Automatic identification and data capture techniques − GS1

Composite bar code symbology specification


3

X 0509

:2012 (ISO/IEC 24724:2011)

用語,定義,略語及び数学演算子 

3.1 

用語及び定義 

この規格で用いる主な用語及び定義は,JIS X 0500-1JIS X 0500-2 によるほか,次による。ただし,3.1

の用語が,JIS X 0500-1JIS X 0500-2 でも定義されている場合は,3.1 の定義を適用する。

3.1.1 

二次元コンポーネント(2D component)

ロット番号,有効期限といった,商品の補足情報を符号化した,GS1 合成シンボルの二次元部分。

3.1.2 

AI

エレメント列(AI element string)

アプリケーション識別子及びその後に関連データ領域が続いたキャラクタ列。

3.1.3 

符号化方式(encodation methods)

共通に用いる AI エレメント列を,このシンボル体系用の一般的なデータ圧縮方式を用いた場合よりも

短いバイナリ列に符号化する,GS1 データバー拡張型及び二次元コンポーネントが用いる圧縮方式。

3.1.4 

インジケータディジット(Indicator digit)

複数の包装レベルの区別又は質量が変動する商品を示すために用いる,GTIN-14 商品識別番号の先頭の

桁。

注記  質量が変動する商品を,一般に“不定貫商品”という。

3.1.5 

一次元コンポーネント(linear component)

商品識別番号を符号化した,GS1 合成シンボルの一次元部分。

3.1.6 

連結フラグ(linkage flag)

一次元コンポーネントに二次元コンポーネントが附属するのかどうかを示す,GS1 データバー又は

GS1-128

の一次元コンポーネントの中に符号化するインジケータ。

3.1.7 

セグメント(segment)

GS1

データバーにおいて,シンボルキャラクタ及びそれに隣接する位置検出パターンで構成する,バー

コードシンボルの復号可能な最小部分。

3.1.8 

GS1-128

(GS1-128)

JIS X 0504

で規定するコード 128 のサブセット。

注記 GS1 総合仕様書[参考文献(4)参照]で規定している。

3.1.9 

ボーティング(voting)

復号したセグメント値を,復号した回数とともに保存する復号技法。

注記  ボーティングは,多方向スキャナで,GS1 データバーをセグメント単位で復号するときに用い

る。


4

X 0509

:2012 (ISO/IEC 24724:2011)

3.2 

略語 

AI

(Application Identifier) JIS X 0531ISO/IEC 15418)で規定するアプリケーション識別子

3.3 

数学演算子及び表記方法 

この規格には,次の数学演算子を適用する。

div

整数の除算であり,余りは切り捨てる。

mod

除算後の整数剰余

次の JIS 表記方法を用いる。

0.2

数字の間にあるピリオドは,小数点を表す(例えば,0.2=2/10)

12 345

桁数が多い数値を表すには,3 桁ごとの群に分け,群間に半角スペースを入れる。

シンボルの説明 

4.1 GS1

データバーシンボルの種類 

GS1

データバーシンボル体系は,次の三つのタイプがある。

タイプ 1 の GS1 データバーシンボルは,四つの種類がある。

GS1

データバー標準型

GS1

データバー切詰型

GS1

データバー二層型

GS1

データバー標準二層型

タイプ 2 の GS1 データバーシンボルは,1 種類である。

GS1

データバー限定型

タイプ 3 の GS1 データバーシンボルは,2 種類がある。

GS1

データバー拡張型

GS1

データバー拡張多層型

タイプ 1 のシンボルは,どのシンボルも四つのシンボルキャラクタを含み,同一の符号化規則及び構造

をもっている。

タイプ 2 のシンボルは,タイプ 1 とは構造が異なり,二つのシンボルキャラクタを含む。用いている符

号化規則もタイプ 1 とは異なる。

タイプ 3 は,タイプ 1 及びタイプ 2 とは異なるシンボル体系構造及び符号化規則であり,可変長シンボ

ルキャラクタを表現できる。

GS1

データバー標準型,GS1 データバー標準二層型,GS1 データバー拡張型及び GS1 データバー拡張多

層型は,多方向スキャナがセグメント単位で読みやすいように設計している。

注記  附属書 に,GS1 データバーシンボル体系の特性を要約して示す。

4.2 

シンボル体系の特性 

GS1

データバーシンボル体系の特性を,次の a)g)に示す。

a)

符号化可能なキャラクタセット

1)

タイプ 1 及びタイプ 2:  0∼9

2)

タイプ 3:  JIS X 0201 のサブセット(英大文字,英小文字,数字及び 20 個の選択された記号から

なる。

)及び特殊な機能キャラクタである FNC1

b)

シンボルキャラクタの構造:  シンボル体系のタイプごとに,異なる(n,k)シンボルキャラクタを用い

る。ここに,n が各シンボルキャラクタの幅をモジュール数で表したものであり,そのシンボルキャ


5

X 0509

:2012 (ISO/IEC 24724:2011)

ラクタは,k 個のバー及び k 個のスペースで構成する。

c)

コードタイプ:  連続形,一次元シンボル体系

d)

最大数値データ容量(必要に応じて,暗黙のアプリケーション識別子を含むが,符号化した FNC1 キ

ャラクタは含めない。

1)

タイプ 1 及びタイプ 2:  アプリケーション識別子“01”+14 桁の商品識別番号

注記 14 桁の商品識別番号の先頭桁は,連結フラグであり“0”又は“1”である。

2)

タイプ 3:  74 個の数字キャラクタ又は 41 個の英字キャラクタ(次の

注記参照)

注記  タイプ 3 のデータ容量は,符号化方式によって異なる。(01)+その他の AI では最大 74 桁,

任意の AI では最大 70 桁,(01)+(392x)+AI では最大 77 桁である。

e)

誤り検出

1)

タイプ 1:  mod 79 チェックサム

2)

タイプ 2:  mod 89 チェックサム

3)

タイプ 3:  mod 211 チェックサム

f)

キャラクタセルフチェック:  可能

g)

双方向復号:  可能

4.3 

その他の特徴の要約 

GS1

データバーシンボル体系特有の付加機能を要約して次に示す。

a)

データ圧縮:  タイプ 3 では,アプリケーション識別子の特定の組合せで,一般に用いられる(複数

の)ものに対して最適化している。 

b)

コンポーネント連結:  全ての GS1 データバーシンボルは,連結フラグを含む。連結フラグが“0”

の GS1 データバーシンボルを単独シンボルとする。連結フラグが“1”の場合,二次元コンポーネン

トが,GS1 データバーファミリの一次元コンポーネント及び分離パターンと連結している。

c) 

GS1-128

エミュレーション:  GS1-128 エミュレーションモードに設定したリーダは,GS1 データバ

ーシンボルファミリに符号化したデータを,一つ以上の GS1-128 シンボルに符号化したものとして送

信する。

4.4 

シンボルの構造 

各 GS1 データバーシンボルは,外側のガードパターン,シンボルキャラクタ及び位置検出パターンを含

む。どのシンボルも,誤り検出方法を備えている。

GS1

データバーシンボル(タイプ 1 及びタイプ 3)のガードパターンは,各 1 モジュールのバー及びス

ペース(又は,スペース及びバー)の二つのエレメントで構成し,シンボルの両端に置く。GS1 データバ

ー二層型及び GS1 データバー拡張多層型のシンボルは,シンボルの各段の両端にガードパターンをもつ。

GS1

データバー限定型のシンボルは,読誤りを防ぐためにデザインされた,異なったガードパターンをも

つ。外側のガードパターンエレメントの印刷に関する注意点を,

附属書 I.1 に示す。

どのシンボルにも,(n,k)構造をもつ二つ以上のシンボルキャラクタがある。これらのシンボルキャラク

タ値を結合計算すると,明示的に符号化したデータが得られる。

位置検出パターンは,復号器が識別できるように選択された一連のエレメント列であり,これによって

シンボルを認識し,エレメントの相対位置を決定することができる。各シンボルは,一つ以上の位置検出

パターンを含む。位置検出パターンは,また,チェックキャラクタ及び/又はセグメント識別子としても

機能する。


6

X 0509

:2012 (ISO/IEC 24724:2011)

全ての GS1 データバーシンボルは,連結フラグを含む。連結フラグが“1”のときは,ISO/IEC 24723

に従って,GS1 データバー一次元コンポーネントの上に,分離パターン及び二次元コンポーネントを置か

なければならない。通常,GS1 データバー一次元コンポーネント,それに続く分離パターン,及び二次元

コンポーネントは同時に印刷して,一つの GS1 合成シンボルになる。ただし,その後の工程で二次元コン

ポーネントが追加されることを見越して,連結フラグを“1”にした GS1 データバー一次元コンポーネン

トを前もって印刷することも可能とする。このような場合,分離パターンは ISO/IEC 24723 に従って,GS1

データバー一次元コンポーネントと一緒に印刷しなければならない。

GS1

データバーシンボルのバー及びスペースを反転してはならない。バーを“暗”とし,スペースを“明”

とする。リーダは,明暗が反転した GS1 データバーシンボルを読み誤るので,バー及びスペースが反転し

ているシンボルの復号を試みてはならない。

5 GS1

データバー標準型,GS1 データバー切詰型,GS1 データバー二層型及び GS1 データバー標準二

層型のシンボル要件 

5.1 GS1

データバー標準型の基本特性 

GS1

データバー標準型は,20 000 000 000 000(2

× 10

13

)個の値を符号化することができる一次元シンボ

ル体系である。これらの値は,14 桁で表現される。最初の桁を連結フラグとする。それに続く 13 桁をデ

ータキャラクタとする。13 桁のデータキャラクタに,1 桁の暗黙のチェックディジットを加えると,先頭

にインジケータディジットを含む GS1 の 14 桁の商品識別番号になる。10 000 000 000 000 以上の値は,連

結フラグが“1”であり,二次元コンポーネントが付いていることを示す。例えば,10 001 234 567 890 と

いう値は,連結フラグを“1”にして 00012345678905 という商品番号を符号化したものである。

注記  商品番号は,チェックディジット(最後の“5”)を除いて符号化する。

GS1

データバー標準型は,四つのセグメントに分割して走査し,復号後,再構築することができる。し

たがって,多方向走査が容易となる。

図 に,単独の GS1 データバー標準型シンボル(連結フラグ=0)

を示す。

図 1(01)20012345678909 を表す GS1 データバー標準型シンボル 

注記  先頭の(01)は,暗黙のアプリケーション識別子であり,シンボルには符号化しない。最後の桁

の 9 は,シンボルに直接符号化せず,mod 10 チェックディジットである。

附属書 に,チェッ

クディジットの計算法を示す。

附属書 に,GS1 データバー標準型シンボルの一連の符号化手

順例を示す。

5.2 GS1

データバー標準型のシンボル構造 

図 に示すように,GS1 データバー標準型シンボルは,96 モジュールからなる八つの領域(左から右に)

で構成している。

a)  1

モジュールのスペース及び 1 モジュールのバーからなる左側のガードパターン


7

X 0509

:2012 (ISO/IEC 24724:2011)

b) 16

モジュール(四つのスペース及び四つのバー)からなるシンボルキャラクタ 1,(n,k)=(16,4)

c) 15

モジュール(三つのスペース及び二つのバー)からなる左側の位置検出パターン

d) 15

モジュール(四つのバー及び四つのスペース)からなるシンボルキャラクタ 2,(n,k)=(15,4)(右か

ら左に)

e) 15

モジュール(四つのバー及び四つのスペース)からなるシンボルキャラクタ 4,(n,k)=(15,4)

f) 15

モジュール(三つのバー及び二つのスペース)からなる右側の位置検出パターン(右から左に)

g) 16

モジュール(四つのスペース及び四つのバー)からなるシンボルキャラクタ 3,(n,k)=(16,4)(右か

ら左に)

h)  1

モジュールのスペース及び 1 モジュールのバーからなる右側のガードパターン

注記  シンボルキャラクタエレメントには,隣接する位置検出パターンに向かって順番を付けてい

る。

図 2(01)04412345678909 を表す GS1 データバー標準型シンボル 

シンボル全体は,96 モジュールからなる 46 個のエレメント(バー及びスペース)を含む。

附属書 

表 E.1 に,GS1 データバー標準型シンボルの 46 個のエレメント全てを示す。多方向走査用の GS1 データ

バー標準型シンボルは,33X(33 モジュール)以上の高さでなければならない。

クワイエットゾーンは必要ない。隣接する背景領域が同じ“色”

(左側が明又は右側が暗)であると,最

初のエレメント及び最後のエレメントが 1 モジュール幅よりも広く見えることがあるが,シンボルの構成

には影響しない。

5.2.1 

シンボルキャラクタ構造 

四つのシンボルキャラクタは,それぞれが(n,k)構造をもつ。外側の第 1 シンボルキャラクタ及び第 3 シ

ンボルキャラクタでは n の値を 16 とし,

内側の第 2 シンボルキャラクタ及び第 4 シンボルキャラクタでは

n

の値を 15 とする。いずれの場合も k の値を 4 とする。

図 の矢印は,各キャラクタ内のエレメント番号の順序を示している。第 1 シンボルキャラクタ及び第

4

シンボルキャラクタのエレメントは,左から右に番号を付け,第 2 シンボルキャラクタ及び第 3 シンボ

ルキャラクタのエレメントは,右から左に番号を付ける。つまり,シンボルキャラクタエレメントは,常

に隣接する位置検出パターンに向かって番号を付ける。


8

X 0509

:2012 (ISO/IEC 24724:2011)

各シンボルキャラクタは,奇数番目のエレメント及び偶数番目のエレメントという二つのサブセットを

含む。奇数及び偶数とは,各サブセットにおけるエレメントの順番を指している。例えば,奇数番目のサ

ブセットは,各シンボルキャラクタ内で隣接する位置検出パターンから最も遠いエレメントから 1 番目,3

番目,5 番目及び 7 番目のエレメントで構成している。第 1 シンボルキャラクタ及び第 2 シンボルキャラ

クタでは,奇数番目のエレメントをスペースとし,偶数番目のエレメントをバーとする。第 3 シンボルキ

ャラクタ及び第 4 シンボルキャラクタでは,奇数番目のエレメントをバーとし,偶数番目のエレメントを

スペースとする。

5.2.2 

シンボルキャラクタ値 

各シンボルキャラクタ値には,アルゴリズムによって奇数サブセット及び偶数サブセットにエレメント

幅のパターンを割り当てる。このアルゴリズムを用いるときに,パラメタとして“エレメント数”

“モジ

ュール数”

“最大エレメント幅”及び“このサブセットの全てのエレメントを,2 モジュール以上にする

かどうか”を与える。

附属書 に,C 言語で作成した GS1 データバー標準型,GS1 データバー切詰型,

GS1

データバー二層型及び GS1 データバー標準二層型のシンボルキャラクタエレメント生成アルゴリズム

を示す。

5.2.2.1 

外側シンボルキャラクタの値 

外側にある第 1 シンボルキャラクタ及び第 3 シンボルキャラクタの偶数番目エレメントのサブセットに

は,1 モジュール幅のエレメントを,少なくとも一つ含んでいなければならない。奇数番目エレメントの

サブセットには,1 モジュール幅のエレメントを含んでいなくてもよい。この偶数番目エレメントへの制

限によって,シンボルキャラクタの“エッジ∼類似エッジまで”

(バー+スペース及びスペース+バー)の

モジュール数の合計が一意になることが保証される(5.2.5 参照)

表 に,奇数成分サブセット及び偶数成分サブセットの組合せを五つのグループに分けた,(16,4)キャラ

クタの特性を示す。両方のサブセットを,それぞれ偶数個のモジュールとする。隣接するエレメントの 1

対に含むモジュールの総数が 9 を超えないように,最も広い奇数成分エレメント幅及び偶数成分エレメン

ト幅を指定する。その結果,(16,4)キャラクタの組合せ総数は,2 841 となる。

(16,4)

シンボルキャラクタ値 V

D

は,次の式によって定まる。

SUM

EVEN

EVEN

ODD

D

G

V

)

T

(V

V

+

+

×

=

ここに,

V

ODD

各グループ内の奇数成分の組合せに対し

附属書 のア

ルゴリズムが与える 0∼(T

ODD

−1)の値

V

EVEN

各グループ内の偶数成分の組合せに対し

附属書 のア

ルゴリズムが与える 0∼(T

EVEN

−1)の値

G

SUM

前のグループまでの組合せ総数(

表 参照)

したがって,シンボルキャラクタ値(V

D

)を符号化するには,次の式を用いることができる。

EVEN

SUM

D

ODD

T

div

)

G

(V

V

=

EVEN

SUM

D

EVEN

T

mod

)

G

(V

V

=

例えば,2 315 という値の(16,4)シンボルキャラクタを符号化する場合,

表 から,このシンボルキャラ

クタ値はグループ 4 の範囲に入っているため,

G

SUM

=2 015 及び T

EVEN

=70 となる。

上の計算式を用いると,

次のようになる。

V

ODD

=(2 315−2 015) div 70=300 div 70=4

V

EVEN

=(2 315−2 015) mod 70=300 mod 70=20

すなわち,このシンボルキャラクタは,6 モジュールからなる奇数成分(組合せ数 10,値の範囲は 0∼9)

の値が 4 であり,10 モジュールからなる偶数成分(組合せ数 70,値の範囲は 0∼69)の値が 20 である。


9

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 のルーチンを用いると,奇数エレメントの幅は{1 2 2 1},偶数エレメントの幅は{1 5 1 3}であ

るため,位置検出パターンに向かって順番に{1 1 2 5 2 1 1 3}というシンボルキャラクタエレメント幅が得

られる(

図 参照)。

表 1−外側シンボルキャラクタ(16,4)の特性 

キャラクタ

値の範囲

グループ

前のグループ

までの組合せ

総数,G

SUM

奇数成分及び

偶数成分のモ

ジュール数

奇数成分及び偶

数成分のエレメ

ント最大幅

奇数成分組合

せ総数,T

ODD

偶数成分組合

せ総数,T

EVEN

0

 160

1

0

12/4

8/1

161

1

161

 960

2

161

10/6

6/3

80

10

961

∼2 014

3

961

8/8

4/5

31

34

2 015

∼2 714

4

2 015

6/10

3/6

10

70

2 715

∼2 840

5

2 715

4/12

1/8

1

126

5.2.2.2 

内側シンボルキャラクタの値 

内側にある第 2 シンボルキャラクタ及び第 4 シンボルキャラクタの奇数番目エレメントのサブセットに

は,1 モジュール幅のエレメントを,少なくとも一つ含んでいなければならない。偶数番目エレメントの

サブセットには,1 モジュール幅のエレメントを含んでいなくてもよい。この奇数番目エレメントへの制

限によって,シンボルキャラクタの“エッジ∼類似エッジまで”

(バー+スペース及びスペース+バー)の

モジュール数の合計の列が一意になることが保証される(5.2.5 参照)

表 に,奇数成分サブセット及び偶数成分サブセットの組合せを四つのグループに分けた,(15,4)キャラ

クタの特性を示す。奇数成分サブセットは奇数個及び偶数成分サブセットは偶数個のモジュールとする。

隣接するエレメントの 1 対に含むモジュールの総数が 9 を超えないように,最も広い奇数成分エレメント

幅及び偶数成分エレメント幅を指定する。その結果,(15,4)キャラクタの組合せ総数は,1 597 となる。奇

数サブセットが許容する値の範囲は,最も内側のエレメント(奇数エレメント番号 1)が 4 モジュールを

超えないように制限している。

表 2−内側シンボルキャラクタ(15,4)の特性 

キャラクタ値

の範囲

グループ

前のグルー
プまでの組
合せ総数,

G

SUM

奇数成分及
び偶数成分
のモジュー

ル数

奇数成分及
び偶数成分
のエレメン

ト最大幅

奇数成分組
合せ総数,

T

ODD

偶数成分組
合せ総数,

T

EVEN

0

335 1

0  5/10

2/7

4

84

336

∼1 035

2

336

7/8

4/5

20

35

1 036

∼1

515

3 1

036 9/6  6/3  48  10

1 516

∼1 596

4

1 516

11/4

8/1

81

1

(15,4)

シンボルキャラクタ値 V

D

は,次の式によって定まる。

SUM

ODD

ODD

EVEN

D

G

V

)

T

(V

V

+

+

×

=

ここに,

V

EVEN

各グループ内の偶数成分の組合せに対し

附属書 のア

ルゴリズムが与える 0∼(T

EVEN

−1)の値

V

ODD

各グループ内の奇数成分の組合せに対し

附属書 のア

ルゴリズムが与える 0∼(T

ODD

−1)の値

G

SUM

前のグループまでの組合せ総数(

表 参照)


10

X 0509

:2012 (ISO/IEC 24724:2011)

したがって,シンボルキャラクタ値(V

D

)を符号化するには,次の式を用いることができる。

ODD

SUM

D

EVEN

T

div

)

G

(V

V

=

ODD

SUM

D

ODD

T

mod

)

G

(V

V

=

注記  外側の(16,4)シンボルキャラクタと比較すると,この計算式では偶数番目エレメントのサブセッ

トと奇数番目エレメントのサブセットとが逆になっているので注意が必要である。

5.2.3 

シンボル値 

シンボル全体の値は,左側のシンボルキャラクタ対と右側のシンボルキャラクタ対との値を組み合わせ

て得ることができる。各シンボルキャラクタ対の値は,外側及び内側のシンボルキャラクタの値を組み合

わせて得ることができる。シンボルキャラクタ対及びその値の範囲を

表 に示す。

表 3−シンボルキャラクタ対の値 

外側シンボルキャラクタ

内側シンボルキャラクタ

シンボルキャラクタ対

(n,k)

値(V

OUTSIDE

) (n,k)  値(V

INSIDE

値の数

値の範囲

(16,4)

2 841

(15,4)

1 597

4 537 077

0

∼4 537 076

シンボルキャラクタ対の値 V

PAIR

は,次の式によって求める。

INSIDE

OUTSIDE

PAIR

C

C

597

(1

V

+

)

×

=

ここに,C

OUTSIDE

及び C

INSIDE

をシンボルキャラクタ値とする。

シンボルキャラクタ対の値 V

PAIR

を,外側のシンボルキャラクタ C

OUTSIDE

及び内側のシンボルキャラクタ

C

INSIDE

に符号化するには,次の式を用いる。

INSIDE

PAIR

OUTSIDE

V

div

V

C

=

INSIDE

PAIR

INSIDE

V

mod

V

C

=

例えば,シンボルキャラクタ対の値 V

PAIR

が 1 971 265 のとき,C

OUTSIDE

及び C

INSIDE

は次のようになる。

234

1

597

1

div

265

971

1

C

OUTSIDE

=

=

567

597

1

mod

265

971

1

C

INSIDE

=

=

シンボル値は,左側及び右側のシンボルキャラクタ対の値を組み合わせて,次の式によって求める。

RPAIR

LPAIR

SYMBOL

V

V

077

537

(4

V

+

)

×

=

ここに,V

SYMBOL

をシンボル値とし,V

LPAIR

及び V

RPAIR

を,それぞれ左側及び右側のシンボルキャラクタ

対の値とする。

シンボル値 V

SYMBOL

を,左側のシンボルキャラクタ対 V

LPAIR

及び右側のシンボルキャラクタ対 V

RPAIR

符号化するには,次の式を用いる。

077

537

4

div

V

V

SYMBOL

LPAIR

=

077

537

4

mod

V

V

SYMBOL

RPAIR

=

例えば,シンボル V

SYMBOL

が 1 234 567 890 のとき,左側のシンボルキャラクタ対 V

LPAIR

の値及び右側の

シンボルキャラクタ対 V

RPAIR

の値は次のようになる。

272

077

537

4

div

890

567

234

1

V

LPAIR

=

=

946

482

077

537

4

mod

890

567

234

1

V

RPAIR

=

=

シンボルキャラクタ対を組み合わせると 20 585 067 703 929 通りの値が作られるが,最初の 20 000 000

000 000

の値(0∼19 999 999 999 999)だけ用いる。最上位の桁を二次元コンポーネントの連結フラグとす

る。連結フラグは,GS1 データバーのタイプ 1 シンボルが単独の場合は“0”

,GS1 データバーのタイプ 1


11

X 0509

:2012 (ISO/IEC 24724:2011)

シンボルに二次元コンポーネントが隣接している場合は“1”である。この連結フラグを除いた残りの 13

桁が商品識別番号になる。暗黙の mod 10 チェックディジットを計算して末尾に追加したものが,GTIN-14

の識別番号になる。送信すべきデータの先頭に,必須のシンボル体系識別子である“]e0”又は“]C1”を

追加し,続いてアプリケーション識別子“01”を追加して送信する。

5.2.4 

位置検出パターン 

シンボルには位置検出パターンが二つあり,その位置検出パターンにシンボルのチェックサムも符号化

している。位置検出パターンは,それぞれ九つの値を符号化することができる。位置検出パターンは,第

1

シンボルキャラクタと第 2 シンボルキャラクタとの間,及び第 4 シンボルキャラクタと第 3 シンボルキ

ャラクタとの間に置かれる。一つの位置検出パターンには,二つのシンボルキャラクタが隣接しているた

め,シンボルを四つのセグメントに分けて走査することが可能である。各セグメントには,一つのシンボ

ルキャラクタ及び一つの位置検出パターンを含む。

5.2.4.1 

位置検出パターンの構造 

二つの位置検出パターンは,合計 15 モジュールからなる五つのエレメントで構成している。左側位置検

出パターンの始めと終わりとを共にスペースとし,右側位置検出パターンの始めと終わりとを共にバーと

する。位置検出パターンのエレメントは,

図 に示すように,シンボルの外側から内側に向かって番号が

付けられる。

エレメント 2+エレメント 3 のモジュール総数が 10∼12 に対して,エレメント 4+エレメント 5 のモジ

ュール総数が 2 のため,エレメント 2 及びエレメント 3 の合計幅とエレメント 2∼エレメント 5 の合計幅

との比率は,10 : 12∼12 : 14 の範囲内にある。この比率は,位置検出パターンを認識するための第 1 手順

として用いる。九つの符号化された値に対する位置検出パターンのエレメント幅を,

表 に示す。

表 4−位置検出パターンの値及びエレメント幅 

エレメント幅(外側から内側に向かった番号)

位置検出パターン値

1 2 3 4 5

0

3 8 2 1 1

1

3 5 5 1 1

2

3 3 7 1 1

3

3 1 9 1 1

4

2 7 4 1 1

5

2 5 6 1 1

6

2 3 8 1 1

7

1 5 7 1 1

8

1 3 9 1 1

位置検出パターン値の 8,0 及び 0,8 という組は用いない。これは,0 及び 8 のエレメントの中で,単

一の 1X エッジ誤りが発生すると,他方の値に変換される可能性があるためである。残りの 79 組で,チェ

ックサムの mod 79 を計算した値を符号化する。

5.2.4.2 

チェックサムの計算 

二つの位置検出パターン値である C

LEFT

及び C

RIGHT

は,それぞれ九つの値をとることができる。0,8 及

び 8,0 という位置検出パターン値の組は有効ではないため,(9×9)の合計から 2 を減じた 79 通りの組合

せが残る。チェックサム値は,各シンボルキャラクタのエレメント幅に重み係数を乗じた結果の総和を

mod 79

した値と等しい。


12

X 0509

:2012 (ISO/IEC 24724:2011)

mod 79

チェックサム値は,次の式によって求める。

79

mod

)

E

 W

E

 W

E

 W

E

 W

E

(W

4,8

4,8

2,1

2,1

1,8

1,8

1,2

1,2

1,1

1,1

+

+

+

+

+

+

ここに,W

N,M

E

N,M

は,

“シンボルキャラクタ N のエレメント順序位置 M に対する重み係数 W(

表 参照)”

と“シンボルキャラクタ N のエレメント順序位置 M のモジュール幅 E”とを乗じた値とする。3 の累乗を

mod 79

で計算した値を,この重み係数とする。

注記  重み係数は,3

0

を初期値とする 3

n

(n=0∼31)を求め,それぞれの値を mod 79 で計算した値

である。

表 5−チェックサムを計算するためのエレメントの重み係数(W 

シンボルキャラクタのエレメント順序(M)

シンボルキャラクタ

(N)

1  2 3 4 5 6 7 8

1

1  3  9 27 2  6 18 54

2

4  12 36 29  8  24 72 58

3

16  48 65 37 32 17 51 74

4

64  34 23 69 49 68 46 59

二つの位置検出パターン値を符号化するには,次の手順を用いる。

temp = check value

もし,temp が 8 以上のとき,temp = temp + 1

もし,temp が 72 以上のとき,temp = temp + 1

C

LEFT

 = temp div 9

C

RIGHT

 = temp mod 9

チェックサムの計算及びチェックキャラクタの選択例を,

附属書 F.1 に示す。

5.2.4.3 

位置検出パターンの復号 

位置検出パターンは,最初に,連続する四つのエレメントの合計幅を,その中の左端又は右端にある二

つのエレメントの幅と比較することによって識別する。位置検出パターンの場合,この比率は 12 : 9.5∼14 :

12.5

の範囲内にある。左側及び右側の位置検出パターンは,それらの暗と明とが反転していることによっ

て区別する。

注記  左側の位置検出パターンは,エレメント 1 が明,右側の位置検出パターンは,エレメント 1 が

暗である。

位置検出パターン及び位置検出パターンに対するシンボルキャラクタのピッチの比率が有効であるかど

うかを検査することによって,GS1 データバーのタイプ 1 では,4 分の 1 に当たるセグメントが走査され

たことを検証することが望ましい。

5.2.5 

参照復号アルゴリズム 

バーコード読取システムは,実用的なアルゴリズムが許容する範囲内で,不完全なシンボルでも読める

ように設計している。ここ(5.2.5)では,JIS X 0520 で規定する,シンボル品質を評価するための復号容

易度の計算に用いる,参照復号アルゴリズムについて説明する。

このアルゴリズムには,シンボルを復号するための次の手順を含んでいる。

a)

次の比率をもつ連続した四つのエレメントを,

“左から右”及び“右から左”の両方向で探して,セグ

メントを見つける。


13

X 0509

:2012 (ISO/IEC 24724:2011)

“左から右に”

14

:

5

.

12

))

4

3

2

1

(

:

)

2

1

((

12

:

5

.

9

+

+

+

+

elm

elm

elm

elm

elm

elm

“右から左に”

14

:

5

.

12

))

4

3

2

1

(

:

)

4

3

((

12

:

5

.

9

+

+

+

+

elm

elm

elm

elm

elm

elm

ここに,elm は“エレメント”を表す。

この比率によって,位置検出パターンの第 2 エレメント∼第 5 エレメントを識別する。

手順 c)の 1)3)と同様の方法を用い,位置検出パターンの最初の 1∼4 エレメントを合計した幅であるピ

ッチ p から,エッジ∼類似エッジまでの正規化値 E

1

及び E

2

を得て,位置検出パターンを復号する。E

1

び E

2

の値が,GS1 データバーのタイプ 1 シンボルの位置検出パターンに対応していることを検証する。

注記  エレメント番号は,外側から内側に割り振られている。左位置検出パターンのエレメント 1 は,

左位置検出パターンの左に,右位置検出パターンのエレメント 1 は,右位置検出パターンの右

に位置する(

図 を参照)。

b)

位置検出パターンの方向及び明と暗との反転を決定する。位置検出パターンとその向き,及びその先

頭エレメントの色(明又は暗)から,いずれの(n,k)パターン[(16,4)又は(15,4)]が隣接するシンボル

キャラクタとして適切であるかを決定する。

c)

位置検出パターンに隣接する(16,4)構造の各シンボルキャラクタは,次のように復号する。

1)

七つの幅寸法 p,e

1

,e

2

,e

3

,e

4

,e

5

及び e

6

を得る(

図 3)。

図 3−復号のために必要な寸法 

注記  この図では,最初のエレメントを暗エレメントにしているが,シンボルキャラクタによっては

左右が逆の場合及び/又は明暗が反転する場合もある。

2)

寸法 e

1

,e

2

,e

3

,e

4

,e

5

及び e

6

を,これらの寸法の整数モジュール幅(E

i

)

を表す正規化された値 E

1

E

2

,E

3

,E

4

,E

5

及び E

6

に変換する。i 番目の値は,次の方法を用いる。

1.5p / 16

≦e

i

<2.5p / 16 のとき E

i

=2

2.5p / 16

≦e

i

<3.5p / 16 のとき E

i

=3

3.5p / 16

≦e

i

<4.5p / 16 のとき E

i

=4

4.5p / 16

≦e

i

<5.5p / 16 のとき E

i

=5

5.5p / 16

≦e

i

<6.5p / 16 のとき E

i

=6

6.5p / 16

≦e

i

<7.5p / 16 のとき E

i

=7


14

X 0509

:2012 (ISO/IEC 24724:2011)

7.5p / 16

≦e

i

<8.5p / 16 のとき E

i

=8

8.5p / 16

≦e

i

<9.5p / 16 のとき E

i

=9

これ以外の場合,そのキャラクタを誤りとする。

3)

  E

の値から,正規化されたエレメント幅を決定する。最後のエレメントは,E の値から計算するの

ではなく,残りのモジュールを割り当てる。1 モジュール未満の幅をもつエレメントがなく,1 モジ

ュール幅の偶数番エレメントが少なくとも一つ存在するのを,有効なエレメント幅の唯一の解とす

る。例えば,

図 の場合,値 E

1

∼E

6

は{4 3 4 5 5 4}である。これに対する,可能性のあるエレメント

並びは,次のようになる。

{4 0 3 1 4 1 3 0}

{3 1 2 2 3 2 2 1}

{2 2 1 3 2 3 1 2}

{1 3 0 4 1 4 0 3}

注記 1  上記の 4 個のエレメント並びは,仮に,幅 0 のモジュールまでを許して考えた場合を指

す。

注記 2  ここで,先頭のエレメントの幅が 1 だけ減少すると,他の全ての奇数番エレメントの幅

も 1 ずつ減少し,逆に全ての偶数番エレメントの幅は 1 ずつ増加している。この性質は,

どのような E

1

∼E

6

の値についても成り立つので,偶数番エレメントの幅の最小が 1 とな

るエレメント並びは,常にただ一つだけとなることが分かる。

この例では,エレメント並び{3 1 2 2 3 2 2 1}だけが,この要件を満たすため,このセットが有効

なエレメント並びである。導き出されたエレメント並びが有効でない場合,キャラクタは誤りにな

る。

附属書 に,エレメント並びを復号するアルゴリズムの,C 言語での実現方法を示す。そこで

は,まず先頭エレメント幅を 1 とした暫定的なエレメント幅並びを計算し[この例では{1 3 0 4 1 4 0

3}

となる。

,そのときの偶数番エレメントの幅の最小値(この例では 3)から 1 を減じた値を,偶

数番エレメントからは減じ,奇数番エレメントには加えて,解としている。

4)

附属書 のプログラムによって,奇数サブセット及び偶数サブセットの値を決める。

5)

奇数サブセット及び偶数サブセットの値から,シンボルキャラクタ値を計算する。

6)

チェックサムの計算のために,エレメント幅に重み係数を乗じた値を計算して保存する。

d)

位置検出パターンに隣接する(15,4)構造の各シンボルキャラクタは,次のように復号する。

1)

七つの幅の寸法 p,e

1

,e

2

,e

3

,e

4

,e

5

及び e

6

を計算する(

図 参照)。

2)

寸法 e

1

,e

2

,e

3

,e

4

,e

5

及び e

6

を,これらの寸法の整数モジュール幅(E

i

)

を表す正規化された値 E

1

E

2

,E

3

,E

4

,E

5

及び E

6

に変換する。i 番目の値は,次の方法を用いる。

1.5p / 15

≦e

i

<2.5p / 15 のとき E

i

=2

2.5p / 15

≦e

i

<3.5p / 15 のとき E

i

=3

3.5p / 15

≦e

i

<4.5p / 15 のとき E

i

=4

4.5p / 15

≦e

i

<5.5p / 15 のとき E

i

=5

5.5p / 15

≦e

i

<6.5p / 15 のとき E

i

=6

6.5p / 15

≦e

i

<7.5p / 15 のとき E

i

=7

7.5p / 15

≦e

i

<8.5p / 15 のとき E

i

=8

8.5p / 15

≦e

i

<9.5p / 15 のとき E

i

=9

これ以外の場合,そのキャラクタを誤りとする。


15

X 0509

:2012 (ISO/IEC 24724:2011)

3)

上記の手順 c)の 3)6)に従って,(15,4)のシンボルキャラクタ値を計算する。

e)

上記の方法で正規化したエレメント幅によって位置検出パターン値を復号する。

1)

位置検出パターンのエレメント e

1

,e

2

,e

3

,及び e

4

の合計から p を得る。

2)

寸法 e

1

,e

2

,e

3

,及び e

4

を,これらの寸法の整数モジュール幅(E

i

)

を表す正規化された値 E

1

,E

2

,E

3

及び E

4

に変換する。i 番目の値は,次の方法を用いる。

1.5p / 14

≦e

i

<2.5p / 14 のとき E

i

=2

2.5p / 14

≦e

i

<3.5p / 14 のとき E

i

=3

3.5p / 14

≦e

i

<4.5p / 14 のとき E

i

=4

4.5p / 14

≦e

i

<5.5p / 14 のとき E

i

=5

5.5p / 14

≦e

i

<6.5p / 14 のとき E

i

=6

6.5p / 14

≦e

i

<7.5p / 14 のとき E

i

=7

7.5p / 14

≦e

i

<8.5p / 14 のとき E

i

=8

8.5p / 14

≦e

i

<9.5p / 14 のとき E

i

=9

3)

表 の E

1

∼E

4

から位置検出パターンの値を見つける。

f)

四つのシンボルキャラクタ及び二つの位置検出パターンを全て復号後,二つの位置検出パターン値が

有効な 79 通りの組合せの中にあることを確認する。シンボルキャラクタに含まれるエレメント幅に重

み係数を乗じた値の総和(5.2.4.2 参照)を mod 79 で計算した値が,二つの位置検出パターンから計

算した値と一致することを確認する。

g)

四つのシンボルキャラクタから,連結フラグ及び商品識別番号を計算する。

h)

さらに,加速度,サンプリング,寸法などに対して,特定の読取装置及び用いようとしているアプリ

ケーション環境を考慮して,適切と考えられる二次検査を実施する。

附属書 に,GS1 データバー標準型向けの実用的なスキャナを設計する上で,読誤りを最小に抑えるた

めに,シンボル復号時に従うことが望ましい追加の留意点を示す。

5.3 

特定アプリケーション向けの GS1 データバー標準型からの派生型 

5.3.1 GS1

データバー切詰型 

GS1

データバー切詰型(

図 参照)は,高さを最小 13X に切り詰めることを除いて,GS1 データバー標

準型と同じ方法で構造化及び符号化を行う。GS1 データバー切詰型は,インジケータディジットが 2 以上

の場合,GS1 データバー限定型の代わりとして小形商品向けに用いてもよい。また,4 列の二次元コンポ

ーネントが望ましい場合,GS1 合成シンボルの高さを最小にするために用いてもよい。

GS1

データバー切詰型は,ペン形スキャナ,手持ち式レーザスキャナ,一次元イメージャ,二次元イメ

ージャなどで読めるように設計している。

多方向定置式スキャナ及びプレゼンテーション式スキャナでは,

効率的に読むことができない。

注記  プレゼンテーション式スキャナとは,読む対象物をスキャナの読取窓にかざして読む,多方向

走査方式のバーコードリーダである。

図 4(01)00012345678905 を表す GS1 データバー切詰型シンボル 

このシンボル全体のサイズは,幅 96X×最小高さ 13X である。


16

X 0509

:2012 (ISO/IEC 24724:2011)

5.3.2 

二層型の種類 

二層型には,高さを切り詰めた形及び多方向走査が可能な形がある。GS1 データバー標準型シンボルの

高さを切り詰め,左右半分ずつを 2 段に積み重ねたシンボルを GS1 データバー二層型シンボルとする。上

段は,シンボルの左半分であり,1X のバー及び 1X のスペースからなるガードパターンを,段の右側に付

加している。下段は,シンボルの右半分であり,1X のバー及び 1X のスペースからなるガードパターンを,

段の左側に付加している。

GS1

データバー標準二層型も類似しているが,

段の高さが標準型と同じであり,

さらに,二つの段の間に高さ 3 モジュールの分離パターンを含んでいる。

5.3.2.1 GS1

データバー二層型 

切り詰められた 2 段形式のシンボルを GS1 データバー二層型とする(

図 参照)。比較のために,図 4

と同じデータを符号化したシンボルを

図 に示す。

図 5(01)00012345678905 を表す GS1 データバー二層型シンボル 

高さは,上段が 5X 及び下段が 7X であり,二つの段の間に最小高さ 1X の分離パターンを置いている。

このシンボル全体のサイズは,幅 50X×最小高さ 13X である。

分離パターンは,左側にある 1 モジュール幅のスペースで始まる。

分離モジュールの上下で接する上段モジュール及び下段モジュールの色が同じ場合は,分離モジュール

の色を隣接する上下段のモジュールの反対色にしなければならない。その結果,上下が共にバーセグメン

トの場合は,その間にスペースの分離モジュールが置かれ,上下が共にスペースセグメントの場合は,そ

の間にはバーの分離モジュールが置かれる。

分離モジュールの上下で接する上段モジュール及び下段モジュールの色が異なる場合は,分離モジュー

ルの色をその左側にある分離モジュールの反対色にしなければならない。その結果,上段及び下段が反対

の色になっている領域では,1 モジュール幅のバー及びスペースが交互に現れるパターンになる。例外と

して,分離パターンの最初の 4 モジュール及び最後の 4 モジュールは,常に明とする。その他のモジュー

ルについては,上下のモジュールの色に基づいて定める(

図 参照)。

GS1

データバー二層型は,GS1 データバー限定型を用いるには幅が狭すぎる小形商品に,GS1 データバ

ー限定型の代わりとして用いてもよい。さらに,GS1 データバー二層型は,GS1 データバー限定型に比べ

て X 寸法を大きくできたり,高印刷品質が実現できる場合もある。ただし,GS1 データバー限定型又は

GS1

データバー切詰型の方が,ペン形スキャナ又は一次元スキャナで容易に走査できるため,X 寸法を小

さくせずに印刷できる場合は,2 段形式よりも GS1 データバー限定型又は GS1 データバー切詰型を用いる

のがよい。

GS1

データバー二層型は,ペン形スキャナ,手持ち式レーザスキャナ,一次元及び二次元イメージャな

どで読めるように設計している。多方向定置式スキャナ及びプレゼンテーション式スキャナでは,効率的

に読むことができない。

5.3.2.2 GS1

データバー標準二層型 

高さを切り詰めていない GS1 データバー標準型の 2 段形式を GS1 データバー標準二層型(

図 参照)

とする。最小高さ 1X の 3 段で構成する分離パターンで,シンボルの上下段を分離しなければならない。


17

X 0509

:2012 (ISO/IEC 24724:2011)

図 6(01)00034567890125 を表す GS1 データバー標準二層型シンボル 

分離パターンの上段の色を,上にあるシンボル段のバー及びスペースの反対の色とする。ただし,両端

並びに位置検出パターンのエレメント 1,2,及び 3 の下にある 13 モジュールを例外とする。これらの 13

モジュールは,隣接する位置検出パターンがバーのとき,その下を明とし,隣接する位置検出パターンが

スペースのとき,その下には暗,明,暗,…を交互に繰り返す。

中段は,両端を除いて,交互に繰り返す明モジュール及び暗モジュールで構成する。

下段を,下にあるシンボル段の反対の色とする。ただし,両端並びに位置検出パターンのエレメント 1,

2

,及び 3(右から左に)の上にある 13 モジュールを例外とする。これらの 13 モジュールは,隣接する位

置検出パターンがバーのとき,その上を明とし,隣接する位置検出パターンがスペースのとき,その上は

暗,明,暗,…を(左から右に)交互に繰り返すものとする。位置検出パターンの値が 3 のとき,その上

にある 13 モジュールの中の 1 モジュール幅のバーを 1 モジュール右にシフトして,位置検出パターンの 3

モジュール幅のバーの先頭の上にくるようにする。

分離段の最初の 4 モジュール及び最後の 4 モジュールを,常に明とする。その他のモジュールについて

は,上下のモジュールの色に基づいて定める。

各段の高さは最小 33X であり,二つの段の間に高さ 3X の分離パターンを置く。このシンボル全体のサ

イズは,幅 50X×最小高さ 69X である。

GS1

データバー標準二層型は,異なる縦横比が必要な多方向走査用途向けに,GS1 データバー標準型の

代わりに用いることができる。

6 GS1

データバー限定型のシンボル要件 

6.1 

基本特性 

GS1

データバー限定型は,4 000 000 000 000(4×10

12

)個の数を符号化することができる一次元シンボ

ル体系である(6.2.3 参照)

。二次元コンポーネントに連結するためのフラグのほかに,インジケータディ

ジットが“1”及び“0”に設定された GS1 商品識別番号(GTIN)全体を符号化することができる。

注記  商品番号は,チェックディジットを除いて符号化する。

GS1

データバー限定型は,ペン形スキャナ,手持ち式レーザスキャナ,一次元イメージャ,二次元イメ

ージャなどのスキャナで読めるように設計している。多方向定置式スキャナ及びプレゼンテーション式ス

キャナでは,効率よく読むことができない。

図 に,GS1 データバー限定型シンボルを示す。

図 7(01)15012345678907 を表す GS1 データバー限定型シンボル 


18

X 0509

:2012 (ISO/IEC 24724:2011)

6.2 

シンボルの構造 

図 に示すように,GS1 データバー限定型シンボルは,74 のモジュールからなる五つの領域(左から右

に)で構成している。

a)

  1

モジュールのスペース及び 1 モジュールのバーからなる左側のガードパターン

b)

 26

モジュール(七つのスペース及び七つのバー)からなる左側のシンボルキャラクタ,(n,k)=(26,7)

c)

 18

モジュール(七つのスペース及び七つのバー)からなるチェックキャラクタ,(n,k)=(18,7)

d)

 26

モジュール(七つのスペース及び七つのバー)からなる右側のシンボルキャラクタ,(n,k)=(26,7)

e)

三つのエレメント(1 モジュールのスペース,1 モジュールのバー及び 5 モジュールのスペース)から

なる右側のガードパターン

図 8(a) : (01)00312345678906 を表す GS1 データバー限定型シンボル 

(b) : (a)

シンボルの背景を“暗”にした場合。 

右ガードパターンの 5X のスペースが背景から浮かび出ている。

シンボル全体は,79 モジュールからなる 47 個のエレメントを含む。

附属書 の表 E.2 に,GS1 データ

バー限定型シンボルの全てのエレメントを示す。シンボルは,10X 以上の高さでなければならない。

限定型シンボルの両端が明モジュールであり,クワイエットゾーンのように見えるため,クワイエット

ゾーンを必要としないが,UPC-A シンボルを GS1 データバー限定型シンボルに読み誤るのを避けるため

に,これらのガードパターンを参照復号アルゴリズムで検査しなければならない(

附属書 参照)。シン

ボルの背景及びスペースの色が同じ場合,先頭及び末尾のスペースエレメントは,背景に溶け込む。

6.2.1 

シンボルキャラクタの構造 

二つのシンボルキャラクタは,それぞれ(n,k)構造をもつ。n の値を 26 とし,k の値を 7 とする。

二つのシンボルキャラクタのエレメントは,

図 に示すように左から右に番号を付ける。


19

X 0509

:2012 (ISO/IEC 24724:2011)

各シンボルキャラクタは,奇数番目のエレメント及び偶数番目のエレメントという二つのサブセットを

含む。奇数及び偶数とは,各サブセットにおけるエレメントの順番を指している。奇数番目エレメントを

スペースとし,偶数番目エレメントをバーとする。例えば,奇数番目のサブセットは,各シンボルキャラ

クタの左端のエレメントから 1 番目,3 番目,5 番目,7 番目,9 番目,11 番目及び 13 番目のエレメント

で構成している。七つのエレメントのサブセットには,最小 7 モジュールから最大 19 モジュールを含む。

いずれのサブセットも奇数個のモジュールを含む。シンボルキャラクタの奇数サブセット及び偶数サブセ

ットにあるモジュール数の合計は 26 個である。

奇数番目エレメントのサブセット及び偶数番目エレメントのサブセットには,値をエレメント幅のパタ

ーンに符号化するアルゴリズムによって連続値が割り当てられる。このアルゴリズムを用いるときに,パ

ラメタとして“エレメント数”

“モジュール数”

“最大エレメント幅”及び“全てのエレメントが 2 モジ

ュール以上のキャラクタをこのサブセットで許すかどうか”を与える。

6.2.2 

シンボルキャラクタ値 

各シンボルキャラクタ値には,アルゴリズムによって奇数サブセット及び偶数サブセットにエレメント

幅のパターンを割り当てる。このアルゴリズムを用いるときに,パラメタとして“エレメント数”

“モジ

ュール数”

“最大エレメント幅”及び“このサブセットの全てのエレメントを,2 モジュール以上にする

かどうか”を与える。

附属書 に,C 言語で作成した GS1 データバー限定型シンボルキャラクタエレメン

ト生成アルゴリズムを示す。

有効な偶数エレメントのサブセットには,1 モジュール幅のエレメントが少なくとも一つ含まれるのに

対して,奇数エレメントのサブセットでは,全てのエレメントが 2 モジュール以上のキャラクタをこのサ

ブセットで許すことができる。この偶数エレメントへの制限によって,シンボルキャラクタの“エッジ∼

類似エッジまで”

(バー+スペース及びスペース+バー)

のモジュール数の合計が一意になることが保証さ

れる(5.2.5 参照)

表 に,奇数成分サブセット及び偶数成分サブセットの組合せを七つのグループに分けた,(26,7)キャラ

クタの特性を示す。両方のサブセットを,それぞれ奇数個のモジュールとする。隣接するエレメントの 1

対に含むモジュールの総数が 9 を超えないように,最も広い奇数成分エレメント幅及び偶数成分エレメン

ト幅を指定する。その結果,(26,7)キャラクタの組合せ総数は,2 013 571 となる。

表 6−シンボルキャラクタ(26,7)の特性 

キャラクタ値の範囲

グループ

前のグルー
プまでの組
合せ総数,

G

SUM

奇数成分及
び偶数成分
のモジュー

ル数

奇数成分及
び偶数成分
のエレメン

ト最大幅

奇数成分組
合せ総数,

T

ODD

偶数成分組
合せ総数,

T

EVEN

0

183 063

1

0

17/9

6/3

6 538

28

183 064

820 063

2

183 064

13/13

5/4

875

728

820 064

∼1 000 775

3

820 064

9/17

3/6

28

6 454

1 000 776

∼1 491 020

4

1 000 776

15/11

5/4

2 415

203

1 491 021

∼1 979 844

5

1 491 021

11/15

4/5

203

2 408

1 979 845

∼1 996 938

6

1 979 845

19/7

8/1

17 094

1

1 996 939

∼2 013 570

7

1 996 939

7/19

1/8

1

16 632

シンボルキャラクタ値 V

D

は,次の式によって定まる。

SUM

EVEN

EVEN

ODD

D

G

V

)

T

(V

V

+

+

×

=


20

X 0509

:2012 (ISO/IEC 24724:2011)

ここに,

V

ODD

各グループ内の奇数成分の組合せに対し

附属書 のア

ルゴリズムが与える 0∼(T

ODD

−1)の値

V

EVEN

各グループ内の偶数成分の組合せに対し

附属書 のア

ルゴリズムが与える 0∼(T

EVEN

−1)の値

G

SUM

前のグループまでの組合せ総数(

表 参照)

したがって,シンボルキャラクタ値(V

D

)を符号化するには,次の式を用いることができる。

EVEN

SUM

D

ODD

T

div

)

G

(V

V

=

EVEN

SUM

D

EVEN

T

mod

)

G

(V

V

=

例えば,917 879 という値の(26,7)シンボルキャラクタを符号化する場合,

表 から,このシンボルキ

ャラクタ値はグループ 3 の範囲に入っているため,G

SUM

=820 064 及び T

EVEN

=6 454 となる。上の計算式

を用いると,次のようになる。

15

454

6

div

815

97

454

6

div

064)

820

879

(917

V

ODD

=

=

=

005

1

454

6

mod

815

97

454

6

mod

064)

820

879

(917

V

EVEN

=

=

=

すなわち,このシンボルキャラクタは,9 モジュールからなる奇数成分(組合せ数 28,値の範囲は 0∼

27

)の値が 15 であり,17 モジュールからなる偶数成分(組合せ数 6 454,値の範囲は 0∼6 453)の値が 1 005

である。

附属書 のアルゴリズムを用いると,奇数エレメントの幅は{1 2 1 1 1 1 2}に,偶数エレメントの幅は{1

2 3 5 1 2 3}

であるため,左から右に{1 1 2 2 1 3 1 5 1 1 1 2 2 3}というシンボルキャラクタエレメント幅が得

られる。

6.2.3 

シンボル値 

シンボル値は,左側及び右側のシンボルキャラクタ値を組み合わせて,次の式によって求める。

DRIGHT

DLEFT

SYMBOL

V

)

V

571

013

(2

V

+

×

=

ここに,V

SYMBOL

をシンボル値,V

DLEFT

及び V

DRIGHT

をそれぞれ左側及び右側のシンボルキャラクタ値と

する。

シンボル値 V

SYMBOL

を,左側のシンボルキャラクタ V

DLEFT

及び右側のシンボルキャラクタ V

DRIGHT

に符

号化するには,次の式を用いる。

571

013

2

div

V

V

SYMBOL

DLEFT

=

571

013

2

mod

V

V

SYMBOL

DRIGHT

=

シンボルキャラクタの値を組み合わせると 4 054 468 172 041 通りの値が作られるが,最初の 4 000 000

000 000

個の値(0∼1 999 999 999 999 及び 2 015 133 531 096∼4 015 133 531 095)だけを用いる。この二つ

の範囲は,右側のシンボルキャラクタを復号しなくても,左側のシンボルキャラクタの各サブセットに含

まれているモジュールの数によって,二次元コンポーネントが存在するかどうかを判断できる方法で指定

する(単独の GS1 データバー限定型シンボルでは,左側のシンボルキャラクタ値の範囲が 0∼993 260 に

なるのに対して,GS1 合成シンボル中の GS1 データバー限定型シンボルでは,左側のシンボルキャラクタ

値の範囲は 1 000 776∼1 994 036 になる。

2

番目の値の範囲(2 015 133 531 096 以上)は,連結フラグが設定され,GS1 データバー限定型シンボ

ルに二次元コンポーネントが付いていることを示す。この場合,一次元シンボル部分のデータ値は,二次

元コンポーネントが付いた GS1 データバー限定型値から 2 015 133 531 096 を減じて求める。その結果,得

た値は,1 番目の値の範囲と同じ 0∼1 999 999 999 999 となり,これが商品識別コードとなる。

0

∼1 999 999 999 999 の値は,GTIN-14 商品識別番号の先頭 13 桁を表す。インジケータディジットは,0

又は 1 のどちらかである。暗黙の mod 10 チェックディジットを計算して末尾に付加したものが,GTIN-14


21

X 0509

:2012 (ISO/IEC 24724:2011)

の商品識別番号になる。送信すべきデータの先頭に,必須のシンボル体系識別子である“]e0”又は“]C1”

を追加し,続いてアプリケーション識別子“01”を追加して送信する。

6.2.4 

チェックキャラクタ 

シンボルには,シンボル位置検出パターンとしても機能するチェックキャラクタがある。チェックキャ

ラクタは,二つのシンボルキャラクタの間に置かれる。

6.2.4.1 

チェックキャラクタの構造 

(18,7)

チェックキャラクタは,89 個(値は 0∼88)を符号化する。各キャラクタは,9 モジュールからな

る七つのスペース及び 9 モジュールからなる七つのバーで構成する。チェックキャラクタのパターンは,

シンボルの中央付近に現れ,

チェックキャラクタを構成する 14 エレメントを左右にシフトしたもの及び/

又は左右反転した 14 エレメントのパターンと同じパターンを除外して選択する。

附属書 に,89 個の符

号化した値に対するチェックキャラクタエレメントの幅の一覧を示す。

6.2.4.2 

チェックキャラクタの計算 

各シンボルキャラクタのエレメント幅に重み係数を乗じた結果の総和を mod 89 で計算した値をチェッ

クキャラクタの値とする。

チェックキャラクタの値は,次の式によって求める。

89

mod

)

E

 W

E

 W

E

 W

E

 W

E

(W

2,14

2,14

2,1

2,1

1,14

1,14

1,2

1,2

1,1

1,1

+

+

+

+

+

+

ここに,W

N,M

E

N,M

を,

“シンボルキャラクタ N のエレメント順序位置 M に対する重み係数 W(

表 参照)”

と“シンボルキャラクタ N のエレメント順序位置 M のモジュール幅 E”とを乗じた値とする。3 の累乗を

mod 89

で計算した値を,この重み係数とする。

注記  重み係数は,3

0

を初期値とする 3

n

(n=0∼27)を求め,それぞれの値を mod 89 で計算した値

である。

表 7−チェックキャラクタを計算するためのエレメントの重み係数(W 

シンボルキャラクタのエレメント順序(M)

(左側からの番号)

シンボルキャラクタ

(N)

1

2 3 4

5

6

7

8

9

10  11  12  13  14

1

1

3 9 27

81

65

17

51

64

14 42 37 22 66

2

20

60 2 6

18

54

73

41

34

13 39 28 84 74

附属書 F.2 は,GS1 データバー限定型シンボルの符号化例を含む。

6.2.5 

位置検出パターン 

位置検出パターンは,チェックキャラクタに対するシンボルキャラクタのピッチ比率で見つける。位置

検出パターンは,チェックキャラクタの 14 個のエレメントと,二つの隣接シンボルキャラクタの 14 個の

エレメントとのピッチ比が 26 : 18 : 26 であることによって識別する。さらに,シンボルは,有効なスペー

ス及びバーのパターンをもつチェックキャラクタによって識別する。有効なシンボル内に現れる可能性の

ある,反転及び/又はオフセットしたチェックキャラクタパターンは,チェックキャラクタのセットから

除外している。

6.2.6 

参照復号アルゴリズム 

バーコード読取システムは,実用的なアルゴリズムが許容する範囲内で,不完全なシンボルでも読むよ

うに設計している。ここ(6.2.6)では,JIS X 0520 で規定する,シンボル品質を評価するための復号容易

度の計算に用いる,参照復号アルゴリズムについて説明する。

このアルゴリズムには,バーコード化した各キャラクタを復号するための,次の手順を含んでいる。


22

X 0509

:2012 (ISO/IEC 24724:2011)

a)

幅の比率が (26±1.5) : 18 : (26±1.5)(必要に応じて,走査装置の加速度を考慮する。

)である三つの

14

エレメントシーケンスを探して,シンボルを見つける。

b)

中央のシーケンスが有効な位置検出パターンであることを検証する。

次の手順 c) 1)及び c) 2)

(ただし,

手順 c) 2)の除数 p は 26 ではなく 18 とする。

)と同様の方法を用いて,エレメント幅を判定する。

属書 からエレメント幅を探す。

c)

二つのシンボルキャラクタを,次のように復号する。

1)

 13

個の幅の寸法 p,e

1

,e

2

,e

3

,e

4

,e

5

,e

6

,e

7

,e

8

,e

9

,e

10

,e

11

及び e

12

を得る(

図 9)。

図 9−復号のために必要な寸法 

2)

寸法 e

1

,e

2

,e

3

,e

4

,e

5

,e

6

,e

7

,e

8

,e

9

,e

10

,e

11

及び e

12

を,寸法の整数モジュール幅(E

i

)

を表す,正

規化した値 E

1

,E

2

,E

3

,E

4

,E

5

,E

6

,E

7

,E

8

,E

9

,E

10

,E

11

及び E

12

に変換する。i 番目の値には,

次の方法を用いる。

1.5p / 26

≦e

i

<2.5p / 26 のとき E

i

=2

2.5p / 26

≦e

i

<3.5p / 26 のとき E

i

=3

3.5p / 26

≦e

i

<4.5p / 26 のとき E

i

=4

4.5p / 26

≦e

i

<5.5p / 26 のとき E

i

=5

5.5p / 26

≦e

i

<6.5p / 26 のとき E

i

=6

6.5p / 26

≦e

i

<7.5p / 26 のとき E

i

=7

7.5p / 26

≦e

i

<8.5p / 26 のとき E

i

=8

8.5p / 26

≦e

i

<9.5p / 26 のとき E

i

=9

これ以外の場合,そのキャラクタを誤りとする。

3)

  E

の値から,正規化されたエレメント幅を決定する。最後のエレメントは,E の値から計算するの

ではなく,残りのモジュールを割り当てる。1 モジュール未満の幅をもつエレメントがなく,1 モジ

ュール幅の偶数番エレメントが少なくとも一つ存在するのを,有効なエレメント幅の唯一の解とす

る。例えば,

図 の場合,値 E

1

∼E

12

は{3 3 4 6 6 4 3 3 5 4 2 3}である。これに対する,可能性のある

エレメントの並びは,次のようになる。

{1 2 1 3 3 3 1 2 1 4 0 2 1 2}

{2 1 2 2 4 2 2 1 2 3 1 1 2 1}


23

X 0509

:2012 (ISO/IEC 24724:2011)

{3 0 3 1 5 1 3 0 3 2 2 0 3 0}

注記 1  上記の 3 個のエレメント並びは,仮に,幅 0 のモジュールまでを許して考えた場合を指

す。

注記 2  ここで,先頭のエレメントの幅が 1 だけ減少すると,他の全ての奇数番エレメントの幅

も 1 ずつ減少し,逆に全ての偶数番エレメントの幅は 1 ずつ増加している。この性質は,

どのような E

1

∼E

12

の値についても成り立つので,偶数番エレメントの幅の最小が 1 と

なるエレメント並びは,常にただ一つだけとなることが分かる。

この例では,14 エレメントの並びのうち{2 1 2 2 4 2 2 1 2 3 1 1 2 1}だけが要件を満たすため,この

セットが有効なエレメント並びである。導き出されたエレメント並びが有効でない場合,キャラク

タは誤りになる。

附属書 に,エレメント並びを復号するアルゴリズムの C 言語での実現方法を示

す。そこでは,まず先頭エレメント幅を 1 とした暫定的なエレメント幅並びを計算し[この例では

{1 2 1 3 3 3 1 2 1 4 0 2 1 2}

となる。

,そのときの偶数番エレメントの幅の最小値(この例では 2)か

ら 1 を減じた値を,偶数番エレメントからは減じ,奇数番エレメントには加えて,解としている。

4)

附属書 のプログラムによって,奇数サブセット及び偶数サブセットの値を決める。

d)

二つのシンボルキャラクタ及び位置検出パターンを復号すると,位置検出パターンから得られたチェ

ックキャラクタ値の mod 89 が,シンボルキャラクタに含まれるエレメントの幅に重みを付けた和の

mod 89

と一致することを検証する。

e)

二つのシンボルキャラクタから,連結フラグ及び商品識別番号を計算する。

f)

さらに,加速度,サンプリング,寸法などに対して,特定の読取装置及び用いようとしているアプリ

ケーション環境を考慮して,適切と考えられる二次検査を実施する。

g)

次の全てが当てはまっていることを確認する。

1)

シンボルの始め(ガードスペースの左端)から最初のバー(ガードパターンの第二エレメント)の

右端までの距離が,最初のシンボルキャラクタの(3/52)p よりも大きい(>1.5 モジュール)

2)

ガードバーの左端から左シンボルキャラクタの最初のバーの左端までの距離が((N+1) / 26)p±0.5

モジュールに等しい。ここに,N は 6.2.6 の手順 c) 3)で決定した最初のスペースを正規化した“E”

に等しい(ガードバーは,公称 1 モジュール幅である。

3)

先行する 10 以上のエレメントがあり,最初のバー(最も離れたバーを 10 とし,最初のバーを 1 と

して付番したときの)エレメントを含む 1∼8 エレメントを,有効なパリティが付いた UPC-A(JIS 

X 0507

)シンボルとして復号しないために,公称 X 寸法を,(1/26)p(GS1 データバー限定型シンボ

ルの左キャラクタの公称モジュール寸法の 0.25 倍)の 25 %以内になるようにする。

上記 1)2),及び 3)で,一つでも検査を合格しなかった場合は,GS1 データバー限定型の復号を中

止する。

h)

右ガードパターンの左端からガードバーの右端までの距離が,右シンボルキャラクタ(±0.5 モジュー

ル)の(1/13)p であることを確認する。終端ガードバーの左端から,シンボル(終端スペースの最後)

の最後までの距離が(5/26)p(5 モジュール)以上であることを確認する。

1)

リーダは,UPC-A シンボルを GS1 データバー限定型として誤って読むことを防ぐために,手順 g)

又は手順 h)と同等な手順を実行しなければならない(H.5 の説明を参照。

GS1

データバーのための実用的なリーダを設計するためには,データ取得の冗長的な安全対策が必要で

ある。

附属書 に,シンボルを復号するときに読誤りを最小にするために考慮しなければならない問題を

記載している。


24

X 0509

:2012 (ISO/IEC 24724:2011)

7 GS1

データバー拡張型のシンボル要件 

7.1 GS1

データバー拡張型の基本特性 

GS1

データバー拡張型は,可変長の一次元シンボル体系であり,2 進数として内部表現される最大 74 個

の数字又は 41 個のアルファベットからなる AI エレメント列データを符号化することができる。GS1 デー

タバー拡張型は,スキャナ及びソフトウェアが適切にプログラムされている小売用 POS,その他のアプリ

ケーションで用いるための,主要データ及び補足データの符号化に用いることができる。

GS1

データバー拡張型は,最大 22 個のセグメントに分けて走査及び復号をしてから再構築ができる。

これが,多方向走査を容易にする。

図 10 に,GS1 データバー拡張型シンボルを示す。

図 10(01)98898765432106(3202)012345(15)991231 を表す GS1 データバー拡張型シンボル 

7.2 

シンボルの構造 

7.2.1 

シンボル全体の構造 

どのシンボルでも,最初のシンボルキャラクタを,チェックサム及びシンボル長を符号化するチェック

キャラクタとする。

図 11 のシンボル例は,一つのチェックキャラクタ及び五つのシンボルキャラクタを含

む。

GS1

データバー拡張型は,一つの位置検出パターン及びその両側にある二つのシンボルキャラクタの 3

要素を一組にして,その組合せを連続して一つのシンボルを構築する。シンボルキャラクタの数が奇数個

のとき,位置検出パターンを最後のシンボルキャラクタの後に置く。奇数番目のキャラクタのエレメント

順序を左から右に,偶数番目のキャラクタのエレメント順序を右から左に付ける。シンボルキャラクタ 1,

2

,5,6,9,10 などは,エレメント 1(隣接する位置検出パターンから最も遠いエレメント)がスペース

であるのに対し,シンボルキャラクタ 3,4,7,8,11,12 などのエレメント 1 はバーである。左側及び右

側のガードパターンは,常にシンボルの開始点及び終了点になるか,又は多層型シンボルでは,各段の開

始点及び終了点になる。

図 11 に示す六つのシンボルキャラクタからなる GS1 データバー拡張型シンボル

は,次の 11 個の領域(左から右)で構成している。

a)

  1

モジュールのスペース及び 1 モジュールのバーからなる左側のガードパターン

b)

 17

モジュール(四つのスペース及び四つのバー)からなるチェックキャラクタ,(n,k)=(17,4)

c)

 15

モジュール(三つのスペース及び二つのバー)からなる位置検出パターン A1

d)

 17

モジュール(四つのバー及び四つのスペース)からなるシンボルキャラクタ 1,(n,k)=(17,4)(右か

ら左に)

e)

 17

モジュール(四つのバー及び四つのスペース)からなるシンボルキャラクタ 2,(n,k)=(17,4)

f)

 15

モジュール(三つのバー及び二つのスペース)からなる位置検出パターン B2

g)

 17

モジュール(四つのスペース及び四つのバー)からなるシンボルキャラクタ 3,(n,k)=(17,4)(右か

ら左に)

h)

 17

モジュール(四つのスペース及び四つのバー)からなるシンボルキャラクタ 4,(n,k)=(17,4)


25

X 0509

:2012 (ISO/IEC 24724:2011)

i)

 15

モジュール(三つのスペース及び二つのバー)からなる位置検出パターン B1

j)

 17

モジュール(四つのバー及び四つのスペース)からなるシンボルキャラクタ 5,(n,k)=(17,4)(右か

ら左に)

k)

  1

モジュールのバー及び 1 モジュールのスペースからなる右側のガードパターン

注記  シンボルキャラクタエレメントは,隣接する位置検出パターンに向かって番号を付ける。

図 11 のシンボルには,151 モジュールからなる 67 個のエレメントを含む。図 11 の GS1 データバー拡張

型シンボルの全 67 エレメントの一覧を,

附属書 の表 E.3 に示す。シンボルの最小高さは,34 モジュー

ルでなければならない。

図 11(01)90012345678908(3103)001750 を表す GS1 データバー拡張型シンボル 

クワイエットゾーンは必要ない。隣接する背景領域が外側のガードパターンエレメントと同じ“色”

(明

又は暗)

であると,

最初のエレメント及び最後のエレメントが 1 モジュール幅より広く見えることがある。

7.2.2 

シンボルキャラクタ構造 

各シンボルキャラクタ又はチェックキャラクタは,(n,k)構造である。n の値を 17 とし,k の値を 4 とす

る。

第 1,第 3 などの奇数番目シンボルキャラクタのエレメントは,左から右に番号を付け,第 2,第 4 など

の偶数番目シンボルキャラクタのエレメントは,右から左に番号を付ける。

図 11 の矢印が示すように,シ

ンボルキャラクタエレメントには,隣接する位置検出パターンに向かって,順に番号を付ける。

各シンボルキャラクタは,奇数番目のエレメント及び偶数番目のエレメントという二つのサブセットを

含む。奇数及び偶数とは,各サブセットにおけるエレメントの順番を指している。例えば,奇数番目のサ

ブセットは,各シンボルキャラクタ内で隣接する位置検出パターンから最も遠いエレメントから 1 番目,3

番目,5 番目及び 7 番目のエレメントで構成している。奇数番目のエレメントが,キャラクタに隣接する

位置検出パターンから遠い位置にあるのに対して,8 番目の(内側,偶数)エレメントは,位置検出パタ

ーンに隣接している。

7.2.3 

シンボルキャラクタ値 

各シンボルキャラクタ値には,アルゴリズムによって奇数サブセット及び偶数サブセットにエレメント

幅のパターンを割り当てる。このアルゴリズムを用いるときに,パラメタとして“エレメント数”

“モジ

ュール数”

“最大エレメント幅”及び“このサブセットの全てのエレメントを,2 モジュール以上にする

かどうか”を与える。

附属書 に,C 言語で作成した GS1 データバー拡張型シンボルキャラクタエレメン

ト生成アルゴリズムを示す。


26

X 0509

:2012 (ISO/IEC 24724:2011)

有効な奇数エレメントのサブセットには,1 モジュール幅のエレメントを,少なくとも一つ含まなけれ

ばならない。有効な偶数エレメントのサブセットには,1 モジュール幅のエレメントを含んでいなくても

よい。この奇数エレメントへの制限によって,シンボルキャラクタの“エッジ∼類似エッジ”まで(バー

+スペース及びスペース+バー)のモジュール数の合計が一意になることが保証される(5.2.5 参照)

上記の制限に加え,最初(位置検出パターンから最も遠い)の奇数エレメントの幅を,常に 5 モジュー

ル未満とする。この制限によって,隣接するシンボルキャラクタの間に,誤った位置検出パターンが現れ

るのを防ぐことができる。

表 に,奇数成分サブセット及び偶数成分サブセットの組合せを五つのグループに分けた,(17,4)キャラ

クタの特性を示す。奇数成分サブセットを偶数個のモジュール及び偶数成分サブセットを奇数個のモジュ

ールとする。隣接するエレメントの 1 対に含むモジュールの総数が 9 を超えないように,最も広い奇数成

分エレメント幅及び偶数成分エレメント幅を指定する。その結果,(17,4)キャラクタの組合せ総数は,4 192

となる。

表 8−シンボルキャラクタ(17,4)の特性 

キャラクタの

値の範囲

グループ

前のグルー

プまでの組
合せ総数,

G

SUM

奇数成分及

び偶数成分
のモジュー

ル数

奇数成分及

び偶数成分
のエレメン

ト最大幅

奇数成分組

合せ総数,

T

ODD

偶数成分組

合せ総数,

T

EVEN

0

347 1

0

12/5

7/2

87

4

348

∼1 387

2

348

10/7

5/4

52

20

1 388

∼2 947

3

1 388

8/9

4/5

30

52

2 948

∼3

987

4 2

948 6/11 3/6  10 104

3 988

∼4 191

5

3 988

4/13

1/8

1

204

シンボルキャラクタ値 V

S

は,次の式によって定まる。

SUM

EVEN

EVEN

ODD

S

G

V

)

T

(V

V

+

+

×

=

ここに,

V

ODD

各グループ内の奇数成分の組合せに対し

附属書 のア

ルゴリズムが与える 0∼(T

ODD

−1)の値

V

EVEN

各グループ内の偶数成分の組合せに対し

附属書 のア

ルゴリズムが与える 0∼(T

EVEN

−1)の値

G

SUM

前のグループまでの組合せ総数(

表 参照)

したがって,シンボルキャラクタ値(V

S

)を符号化するには,次の式を用いることができる。

EVEN

SUM

S

ODD

T

div

)

G

(V

V

=

EVEN

SUM

S

EVEN

T

mod

)

G

(V

V

=

例えば,3 544 という値の(17,4)シンボルキャラクタを符号化する場合,

表 から,このシンボルキャ

ラクタ値はグループ 4 の範囲に入っているため,G

SUM

=2 948 及び T

EVEN

=104 となる。上の計算式を用い

ると,次のようになる。

5

104

div

596

104

div

948)

2

544

(3

V

ODD

=

=

=

76

104

mod

596

104

mod

948)

2

544

(3

V

EVEN

=

=

=

すなわち,このシンボルキャラクタは,6 モジュールからなる奇数成分(組合せ数 10,値の範囲は 0∼9)

の値が 5 であり,10 モジュールからなる偶数成分(組合せ数 70,値の範囲は 0∼69)の値が 76 である。

附属書 のアルゴリズムを用いると,奇数エレメントの幅は{1 3 1 1},偶数エレメントの幅は{4 1 4 2}


27

X 0509

:2012 (ISO/IEC 24724:2011)

になるため,{1 4 3 1 1 4 1 2}というシンボルキャラクタエレメント幅が得られる。

7.2.4 

シンボルのバイナリ値 

シンボルキャラクタ値 0∼4 095 は,それぞれシンボル値を符号化した 12 ビットの 2 進数を表す。各シ

ンボルキャラクタに対するビット値が連結されて,符号化されたビット列になる。最初のシンボルキャラ

クタ(2 番目のシンボルキャラクタ)には,最上位ビットを含む。

シンボルサイズ及びそのバイナリ列の長さを

表 に示す。

表 9−各シンボルサイズのバイナリ容量

シンボルキャラクタ総数

符号化データのシンボ

ルキャラクタ数

符号化ビット

4 3

36

5 4

48

6 5

60

7 6

72

8 7

84

9 8

96

10 9

108

11 10

120

12 11

132

13 12

144

14 13

156

15 14

168

16 15

180

17 16

192

18 17

204

19 18

216

20 19

228

21 20

240

22 21

252

7.2.5 

データの符号化 

GS1

データバーシンボルに符号化する利用者データは,常に GS1 総合仕様書のデータ規格に適合したア

プリケーション識別子及びデータ領域で構成し,GS1-128 シンボルに符号化する場合と同じようにフォー

マットされていなければならない。FNC1 を用いて可変長のエレメント列を後続のエレメント列から分離

するといった,AI エレメント列を連結するための GS1-128 規則に従って,GS1 データバーシンボルに符号

化しなければならない。

GS1

データバー拡張型のバイナリ列は,最大五つのバイナリ領域に分割される。バイナリ領域は次のと

おりである。

a) 

二次元コンポーネント連結フラグ(7.2.5.1 参照)

b)

符号化方式(7.2.5.2 参照)

c) 

可変長シンボルビット(7.2.5.3 参照)

d)

圧縮データ(7.2.5.4 参照)


28

X 0509

:2012 (ISO/IEC 24724:2011)

e) 

汎用データ圧縮(7.2.5.5 参照)

どの GS1 データバー拡張型シンボルも,最初の二つの領域[a)及び b)

,及びその他の三つの領域[c)

d)

及び e)]の内の一つ以上を必要とする。これらのバイナリ領域を順番に連結し,シンボルのバイナリデ

ータ列に符号化する。符号化方式を記述したデータは,常に,GS1 合成シンボルの連結フラグに続けて符

号化する。固定長符号化方式では,シンボルの指定されたバイナリデータ列を圧縮データで完全に埋め

る。可変長符号化方式では,任意選択の汎用データ圧縮領域で終わった後に,正しいサイズをもつシンボ

ルのバイナリデータ列にある未使用ビットを埋めるための埋め草(パディング)ビットが続く。

ここ(7.2.5)の細分箇条では,ビット領域を二重引用符(

“”

)で囲んだバイナリ値で示す。

7.2.5.1 

二次元コンポーネント連結フラグ領域 

この領域は 1 ビットで,GS1 データバー拡張型シンボルが GS1 合成シンボルの一部であるかを示す。単

独の GS1 データバー拡張型シンボルの場合は“0”であり,GS1 合成シンボルの一次元コンポーネントで

ある場合は“1”である。

7.2.5.2 

符号化方式領域 

符号化方式領域は 1 ビット以上からなり,二次元コンポーネント連結フラグのすぐ後に符号化される。

この領域は,シンボルが汎用シンボルであるか,又はアプリケーション指向の圧縮データ領域(商品識別

番号 AI エレメント列を効率的に表現するための領域など)で始まるかを定義する。符号化方式領域の定

義を

表 10 に示す。

表 10−符号化方式及び特性 

符号化方式領域

シンボルキャラクタ数

圧縮領域長

汎用圧縮領域 AI エレメント列

1 5

∼22 44

あり (01)及び他の AI

00 4

∼22

なし

あり

任意の AI

0100 6

(固定長) 55

なし (01),(3103)

0101 6

(固定長) 55

なし (01),(3202)/(3203)

01100 6

∼22 42

あり (01),(392x)

01101 7

∼22 52

あり (01),(393x)

0111000 8

(固定長) 76

なし (01),(310x),(11)

0111001 8

(固定長) 76

なし (01),(320x),(11)

0111010 8

(固定長) 76

なし (01),(310x),(13)

0111011 8

(固定長) 76

なし (01),(320x),(13)

0111100 8

(固定長) 76

なし (01),(310x),(15)

0111101 8

(固定長) 76

なし (01),(320x),(15)

0111110 8

(固定長) 76

なし (01),(310x),(17)

0111111 8

(固定長) 76

なし (01),(320x),(17)

符号化方式領域が“1”の場合,AI 01 の商品識別コードを属性情報の AI と一緒に符号化する。

符号化方式領域が“00”の場合,AI 01 の商品識別コードを用いない。この領域は,四つ以上のシンボ

ルキャラクタからなる可変長シンボルを定義する。このシンボルには,汎用データ圧縮領域はあるが,圧

縮データ領域はない。

符号化方式領域が“0100”及び“0101”の場合,商品識別コード及び可変質量商品の質量を符号化する。

符号化方式領域が“0111000”∼“0111111”の場合,商品識別コード,質量及び AI 日付領域の 4 種類の内,


29

X 0509

:2012 (ISO/IEC 24724:2011)

いずれか一つを符号化する。

符号化方式領域が“01100”及び“01101”の場合,商品識別コード及び価格を符号化する。

7.2.5.3 

可変長シンボルビット領域 

この領域は,符号化方式領域が“1”

“00”

“01100”及び“01101”である可変長シンボルだけに存在し,

符号化方式領域の後に置かれる。この領域は,2 ビットで構成する。最初のビットを,シンボルに含まれ

るシンボルキャラクタの数が偶数のとき“0”

,奇数のとき“1”とする。2 番目のビットを,サイズグルー

プビットとする。このビットの値は,シンボルに含まれるシンボルキャラクタの数が 14 以下のとき“0”

14

を超えていれば“1”とする。これらの 2 ビットを,位置検出パターンのセットとともに用いると,チ

ェックキャラクタで定義しているシンボルキャラクタ数に,二重検査を行うことができる(7.2.6 参照)

7.2.5.4 

圧縮データ領域 

この領域に含んでいるバイナリデータは,特定の符号化方式ごとに解釈する。圧縮データ領域は,符号

化方式領域が“00”以外の全てのシンボルに含む。

7.2.5.4.1 

符号化方式領域が“1”の場合−一般商品識別データ 

この符号化方式は,符号化するデータメッセージの先頭に AI エレメント列“01”がある場合に用いる。

商品識別番号のエレメント列から,2 桁の AI 01 及びチェックディジットを取り除く。残りの 13 桁は,1,

3

,3,3 及び 3 桁の五つのグループに分け,44 ビットの圧縮データ領域で 4,10,10,10 及び 10 ビットに

符号化する。各グループは,10 進数から 2 進数へ直接変換して符号化する。追加の補足 AI データは,44

ビットの圧縮データ領域のすぐ後にある汎用データ圧縮領域に符号化する。

復号器は,4,10,10,10 及び 10 ビットからなる五つのグループで構成した 44 ビットを 13 桁に変換す

ることによって,圧縮データ領域を再構築する。復号器は,2 桁の“01”をエレメント列の先頭に付加し,

mod 10

チェックディジットを,AI エレメント列の末尾に付加する。ビット列の残りは,汎用データ圧縮

を用いて復号する。

方式“1”の例として,(01)00012345678905(10)ABC123 を符号化する場合,圧縮データ領域に,実際に

符号化するのは太字の桁だけである。AI 10 及びバッチ番号 ABC123 は,44 ビットの圧縮データ領域のす

ぐ後に続く汎用データ圧縮領域に符号化する。復号器は,]e0010001234567890510ABC123 を送信する。

方式“1”は,汎用データ圧縮領域を含む,五つ以上のシンボルキャラクタからなる可変長シンボルを定

義する。

7.2.5.4.2 

符号化方式領域が“0100”の場合−可変質量商品(質量増分単位は 0.001 kg 

この符号化方式は,符号化するデータメッセージが AI 01 及びこれに続く AI 3103 という二つの AI エレ

メント列だけからなる場合に用いる。AI 01 商品識別番号のエレメント列には,計量商品用包装インジケ

ータ“9”を含んでいなければならない。AI 3103 可変質量エレメント列には,32.767 kg を超える質量を指

定してはならない。これら二つの AI エレメント列は,それぞれ 40 ビット及び 15 ビットに圧縮し,合計

領域長は 55 ビットになる。方式“0100”は,汎用データ圧縮領域を含まない六つのシンボルキャラクタか

らなる固定長シンボルを符号化する。

この二つの AI エレメント列を符号化するために,AI 01 エレメント列から,先頭の 3 桁の“019”及び

末尾のチェックディジットを取り除く。残りの 12 桁は,3 桁の四つのグループに分け,40 ビットの圧縮デ

ータ領域で 10 ビットごとの四つのグループに符号化する。AI 3103 エレメント列から,先頭の 3103 とい

う 4 桁の AI を取り除く。000000∼032767 の範囲にある,残りの 6 桁を 15 ビットに符号化し,圧縮データ

領域に付加する。


30

X 0509

:2012 (ISO/IEC 24724:2011)

復号器は,最初の 40 ビットを 10 ビットからなる四つのグループに分け,それぞれを 3 桁に変換した 12

桁に復号する。この 12 桁の先頭に,3 桁の“019”を付加する。また,mod 10 チェックディジットを,最

初の AI エレメント列の末尾に付加する。復号器は,残りの 15 ビットを 10 進数に変換し,その結果得ら

れた 10 進数の先頭に“0”を埋めて 6 桁にする。復号器は,復号した 6 桁の質量に 3103 という AI プリフ

ィックスを付加して,データメッセージの 2 番目の AI エレメント列を作成する。

方式“0100”の例として,(01)90012345678908(3103)001750 を符号化する場合,圧縮データ領域に,実

際に符号化するのは太字の桁だけである。復号器は,]e001900123456789083103001750 を送信する。

7.2.5.4.3 

符号化方式領域が“0101”の場合−可変質量商品(質量増分単位は 0.01 又は 0.001 ポンド) 

この符号化方式は,符号化するデータメッセージが AI 01 及びこれに続く AI 3102 又は AI 3203 の二つの

AI

エレメント列だけからなる場合に用いる。AI 01 商品識別番号のエレメント列には,計量商品用包装イ

ンジケータ“9”を含んでいなければならない。AI 3202 可変質量エレメント列には,99.99 ポンドを超え

る質量を指定してはならない。AI 3203 可変質量エレメント列では,22.767 ポンドを超える質量を指定し

てはならない。これら二つの AI エレメント列は,それぞれ 40 ビット及び 15 ビットに圧縮し,合計領域

長は 55 ビットになる。方式“0101”は,汎用データ圧縮領域を含まない六つのシンボルキャラクタからな

る固定長シンボルを符号化する。

この二つの AI エレメント列を符号化するために,AI 01 エレメント列から,先頭の 3 桁の“019”及び

末尾のチェックディジットを取り除く。残りの 12 桁は,3 桁長の四つのグループに分けて,40 ビットの圧

縮データ領域で 10 ビットごとの四つのグループに符号化する。質量エレメント列から,先頭の 4 桁の AI

を取り除く。AI 3202 の場合,残りの 6 桁の値(0∼9 999 の範囲になければならない。

)を 15 ビットに符

号化し,圧縮データ領域に付加する。AI 3203 の場合,残りの 6 桁の値は 0∼22 767 の範囲になければなら

ない。この値に 10 000 を加えたものを 15 ビットに符号化し,圧縮データ領域に付加する。

復号器は,最初に 1 番目の AI エレメント列を復号する。最初の 40 ビットを,10 ビットずつ四つのグル

ープに分け,それぞれを 3 桁に変換した 12 桁に復号する。この 12 桁の先頭に“019”の 3 桁を付加して

15

桁にし,先頭の 01 を除く 13 桁に対してチェックディジットを mod 10 で計算して,15 桁の末尾に付加

する。次に,復号器は,2 番目の AI エレメント列を復号する。残りの 15 ビットを 10 進数に変換し,変換

後の 10 進数が 10 000 未満のとき,AI 3202 をプリフィックスとする。変換後の値が 10 000 以上のとき,

AI 3203

をプリフィックスとする。変換後の 10 進数が 10 000 未満の場合は,左側に“0”を埋めて 6 桁に

変換し,先頭に 3202 を付加する。変換後の 10 進数が 10 000 以上の場合は,その値から 10 000 を減じた残

りに,必要に応じて左側に“0”を埋め 6 桁に変換し,先頭に 3203 を付加する。

方式“0101”の例として,(01)90012345678908(3202)000156 を符号化する場合,圧縮データ領域に実際

に符号化されるのは太字の桁だけである。復号器は,]e001900123456789083202000156 を送信する。

7.2.5.4.4 

符号化方式領域が“0111000”∼“0111111”の場合−可変質量商品及び日付 

この符号化方式は,符号化するデータメッセージが AI 01,AI 310x 若しくは AI 320x(x の範囲は 0∼9)

の二つの AI エレメント列か,又はこれに任意機能として AI 11,AI 13,AI 15,AI 17 のいずれかを加えた

三つの AI エレメント列で構成される場合に用いてもよい。ただし,AI 01 商品識別番号のエレメント列に

は,計量商品用包装インジケータ“9”を含んでいなければならない。可変質量 AI エレメント列は,0∼

99 999

の範囲の任意の値とする。方式“0111000”∼“0111111”を,汎用データ圧縮領域を含まない八つ

のシンボルキャラクタからなる固定長シンボルとする。

可変質量商品及び日付を符号化するための八つの方式は,次のとおりである。


31

X 0509

:2012 (ISO/IEC 24724:2011)

方式“0111000” AI

01

+AI 310x+AI 11

メートル法による質量及び製造日

方式“0111001” AI

01

+AI 320x+AI 11

ヤードポンド法による質量及び製造日

方式“0111010” AI

01

+AI 310x+AI 13

メートル法による質量及び包装日

方式“0111011” AI

01

+AI 320x+AI 13

ヤードポンド法による質量及び包装日

方式“0111100” AI

01

+AI 310x+AI 15

メートル法による質量及び販売期限日

方式“0111101” AI

01

+AI 320x+AI 15

ヤードポンド法による質量及び販売期限日

方式“0111110” AI

01

+AI 310x+AI 17

メートル法による質量及び有効期限

方式“0111111” AI

01

+AI 320x+AI 17

ヤードポンド法による質量及び有効期限

三つの AI エレメント列を,商品識別コード 40 ビット,質量 20 ビット及び日付 16 ビットの合計 76 ビ

ットに圧縮する。

この三つの AI エレメント列を符号化するために,AI 01 エレメント列から,先頭の 3 桁の“019”及び

末尾のチェックディジットを取り除く。残りの 12 桁は,3 桁長の四つのグループに分けて,40 ビットの圧

縮データ領域で 10 ビットごとの四つのグループに符号化する。質量エレメント列(10 桁)から,先頭の

AI

の一部である“310”又は“320”の 3 桁を取り除く。残りの 7 桁から 2 番目の桁“0”を取り除いて 6

桁にする。AI の最後の桁及び質量の最後の 5 桁からなるこの 6 桁を,20 ビットに符号化して圧縮データ

領域に付加する。2 桁の AI 11,13,15 又は 17 を取り除いた後,残った“YYMMDD”の 6 桁が 0∼38 399

の値をもつ圧縮列に変換されて,16 ビットの圧縮された日付が作成される。

(DD)

32)

1)

((MM

384)

(YY

+

×

+

×

16

ビットのサブ領域に含む値 38 400 は,日付領域が符号化されていないことを示すために用いる。この

任意機能は,方式“0100”又は“0101”が質量値をサポートしていない場合に,商品識別番号及び質量を

符号化するために用いる。

復号器は,最初の 40 ビットを 10 ビットからなる四つのグループに分け,それぞれを 3 桁に変換した 12

桁に復号する。次に,この 12 桁の先頭に“019”の 3 桁を付加する。また,mod 10 チェックディジットを

計算して,最初の AI エレメント列の末尾に付加する。復号器は,次の 20 ビットを 6 桁の 10 進数に変換

し,先頭桁の後に“0”を挿入して 7 桁にする。復号器は,7 桁の列に“310”又は“320”という AI プリ

フィックスを付加して,データメッセージの 2 番目の AI エレメント列を作成する。最後の 16 ビットを 10

進数に変換し,この値が 38 400 のとき,それ以上のデータは復号しない。

38 400

でない場合は,日付が符号化されていることを示す。復号器は,この方式に従って,上記の計算

式を用いて 6 桁の日付を抽出し,プリフィックスとしてアプリケーション識別子(11,13,15 又は 17)を

付加しなければならない。この 8 桁を,3 番目の AI エレメント列として復号したメッセージに付加する。

方式“0111000”の例として,(01)90012345678908(3103)012233(15)991231 を符号化する場合,圧縮デー

タ領域に実際に符号化するのは太字の桁だけである。

復号器は,]e00190012345678908310301223315991231 を送信する。

7.2.5.4.5 

符号化方式領域が“01100”の場合−はかり売り商品及び価格 

この符号化方式は,データメッセージが二つのエレメント列,AI 01 及びこれに続く AI 392x で始まる場

合に用いてもよい。AI 01 商品識別番号のエレメント列には,計量商品用包装インジケータ“9”を含んで

いなければならない。AI 392x 価格は,小数点以下は,0∼3 桁の値までである(x=0∼3)

。AI 01 エレメン

ト列を 40 ビットに圧縮し,AI 392x の小数点以下の桁数 x を 2 ビットに符号化する。次に,価格の桁を汎

用数字符号化方式で符号化する。追加エレメント列の場合は,それも,汎用符号化方式を用いて符号化す

る。


32

X 0509

:2012 (ISO/IEC 24724:2011)

この二つのエレメント列を符号化するために,AI 01 エレメント列から,先頭の 3 桁の“019”及び末尾

のチェックディジットを取り除く。残りの 12 桁は,3 桁長の四つのグループに分けて,40 ビットの圧縮デ

ータ領域で 10 ビットごとの四つのグループに符号化する。AI 392x エレメント列から,価格 AI の先頭の 3

桁“392”を取り除く。次の桁 x は,小数点の位置であり,許容可能な 0∼3 という値を次の 2 ビットに直

接符号化する。

小数点以下の桁数の後のデータは,

数字符号化方式で始まる汎用符号化方式で符号化する。

復号器は,最初の 40 ビットを 10 ビットからなる四つのグループに分け,それぞれを 3 桁に変換した 12

桁に復号する。次に,この 12 桁の先頭に“019”  の 3 桁を付加する。また,mod 10 チェックディジット

を計算して,最初のエレメント列の末尾に付加する。復号器は,AI の最初の 3 桁である“392”を付加し,

次の 2 ビットに符号化している小数点以下の桁数を,その後に付加する。残りのメッセージは,汎用符号

化方式を用いて復号する。

方式“01100”の例として,(01)90012345678908(3922)795 を符号化する場合,圧縮データ領域に実際に

符号化するのは太字の桁だけである。復号器は,]e001900123456789083922795 を送信する。

7.2.5.4.6 

符号化方式領域が“01101”の場合−はかり売り商品及び ISO 4217 通貨コード付き価格 

この符号化方式は,データメッセージが二つのエレメント列 AI 01 及びこれに続く AI 393x で始まる場

合に用いてもよい。AI 01 商品識別番号エレメント列には,計量商品用包装インジケータ“9”を含んでい

なければならない。AI 393x の価格は,小数点以下は,0∼3 桁までである(x = 0∼3)。AI 01 エレメント列

は 40 ビットに圧縮し,AI 393x の小数点以下の桁数 x を 2 ビットに符号化する。3 桁の ISO 4217 通貨コー

ドは,10 ビットに符号化する。次に,価格の桁を,汎用数字符号化方式で符号化する。追加エレメント列

の場合は,それも,汎用符号化方式を用いて符号化する。

この二つのエレメント列を符号化するために,AI 01 エレメント列から,先頭の 3 桁の“019”及び末尾

のチェックディジットを取り除く。残りの 12 桁は,3 桁長の四つのグループに分けて,40 ビットの圧縮デ

ータ領域で 10 ビットごとの四つのグループに符号化する。AI 393x エレメント列から,価格 AI の先頭の 3

桁“393”を取り除く。次の桁 x は,小数点の位置であり,許容可能な 0∼3 という値を次の 2 ビットに直

接符号化する。次の 3 桁の ISO 4217 通貨コードは,次の 10 ビットに直接符号化する。3 桁の ISO 4217 

貨コードの後のデータは,数字符号化方式で始まる汎用符号化方式で符号化する。

復号器は,最初の 40 ビットを 10 ビットからなる四つのグループに分け,それぞれを 3 桁に変換した 12

桁に復号する。次に,この 12 桁の先頭に“019”の 3 桁を付加する。また,mod 10 チェックディジットを

計算して,最初のエレメント列の末尾に付加する。復号器は,AI の最初の 3 桁である“393”を付加し,

次の 2 ビットに符号化している小数点以下の桁数を,その後ろに付加する。次の 10 ビットは,ISO 4217

通貨コードの 3 桁を直接符号化したものである。

残りのメッセージは,

汎用符号化方式を用いて復号する。

方式“01101”の例として,(01)90012345678908(3932)0401234 を符号化する場合,圧縮データ領域に実

際に符号化するのは太字の桁だけである。復号器は,]e0019001234567890839320401234 を送信する。

7.2.5.5 

汎用データ圧縮領域 

汎用データ圧縮領域は,次の三つの符号化スキームを組み合わせて用い,AI エレメント列をバイナリ列

に符号化する。

a)

数字符号化スキームは,数字及び FNC1 キャラクタに対して用い,符号化するキャラクタ当たり 3.5

ビットが必要である。

b)

英数字符号化スキームは,数字及び英大文字が混在している場合に用い,数字又は FNC1 キャラクタ

当たり 5 ビット,文字当たり 6 ビットが必要である。

c)

JIS X 0201

符号化スキームは,英大文字,英小文字,数字及び大部分の句読文字が混在している場合


33

X 0509

:2012 (ISO/IEC 24724:2011)

に用い,数字当たり 5 ビット,文字当たり 7 ビット,句読文字当たり 8 ビットが必要である。

汎用データ圧縮は,7.2.5.4 で規定した専用圧縮データ符号化方式の一つを用いて符号化する AI エレメ

ント列以外の AI エレメント列を符号化するために用いる。汎用データ圧縮領域は,可変長シンボルの最

後の領域である。汎用データ圧縮スキームを用いて,全てのデータを処理すると,7.2.5.5.4 で説明する埋

め草(パディング)手順によって,汎用符号化手続が完了する。

7.2.5.5.1 

数字符号化方式 

数字符号化方式は,汎用データ符号化領域が開始すると最初に有効になる符号化方式である。この方式

は,2 桁の数字,又は順序を問わない 1 桁の数字及び FNC1 キャラクタを,7 ビットに符号化する。7 ビッ

トの値は,次の式によって決定する。

8

D

)

D

(11

2

1

+

+

×

=

ここに,D

1

及び D

2

は,1 番目及び 2 番目の数字の値又は FNC1 の値である(FNC1 は,値 10 を割り当

てる。

。この値の範囲は,7 ビット値“0001000”∼“1111111”に対応する 8∼127 になる(二つの FNC1

キャラクタを 7 ビットに符号化することはできない。

。領域の先頭にあるか又は前の数字符号化方式で符

号化した 7 ビット値の後にある 0 が四つ続く“0000”というバイナリシーケンスは,符号化方式の切換え,

つまり英数字符号化方式への変更を指示する(

表 11 参照)。

表 11−数字符号化方式 

キャラクタ

符号化したバイナリデータ

ディジット−ディジット,ディジット−FNC1,FNC1−ディジット対

0001000

∼1111111

英数字切換え 0000

数字符号化方式シーケンスは,次のいずれかの条件に当てはまるまで,データキャラクタの組を符号化

し続ける。

a)

少なくとも二つのキャラクタが残っており,数字符号化方式を適用できない場合は,データ圧縮領域

に,英数字に切り換えるように符号化する。

b)

数字以外のキャラクタが一つ残っている場合は,データ圧縮領域に,英数字に切り換えるように符号

化する。

c)

数字キャラクタが一つ残っている場合は,最初に,現在のバイナリ列を符号化するのに必要なシンボ

ルサイズを計算する。次に,未使用ビット数を,合計ビット数の次の 12 の偶数倍にするのに必要な数

と等しくする。

1)

  7

ビットを超える未使用ビットが残っていれば,数字及び FNC1 埋め草(パディング)を次の 7 ビ

ットに符号化する。この最後の FNC1 は埋め草(パディング)として認識され,リーダからは送信

しない。

2)

  4

∼6 ビットの未使用ビットが残っていれば,数字の値に 1 を加えたものを次の 4 ビットに符号化す

る。

3)

それ以外の場合は,次に大きいシンボルサイズを用いて数字及び FNC1 埋め草(パディング)を,

次の 7 ビットに符号化する。この最後の FNC1 は埋め草(パディング)として認識され,リーダか

らは送信しない。

残りのビットの場合は,7.2.5.5.4 の埋め草(パディング)手順に従って符号化する。


34

X 0509

:2012 (ISO/IEC 24724:2011)

d)

キャラクタが残っていない場合,残りのビットの場合は,7.2.5.5.4 の埋め草(パディング)手順に従

って符号化する。

英数字切換えを符号化すると,常に,その切換えを反映して符号化方式を変える。次のデータキャラク

タに JIS X 0201 符号化方式が必要の場合は,

英数字符号化方式によって,

英数字切換えの直後に JIS X 0201

切換えを符号化する。

シンボルの末尾で数字圧縮が有効になっていれば,

復号中に,

次の特別な検査を行わなければならない。

a)

埋め草(パディング)シーケンスの直前にある数字符号化方式で符号化した最後の 7 ビットを符号化

し,その後に FNC1 が続く場合は,その FNC1 を無視する。

b)

数字符号化方式が有効で,シンボルに 4∼6 ビットだけが残っている場合は,残りのビットの先頭にあ

る 4 ビット列の値を 10 進数値に変換する。

1)

その値が 0 である場合は,データメッセージを完了する。

2)

それ以外の場合は,データメッセージに含まれる最後の桁として,10 進数値から 1 を引いた値を復

号する。

7.2.5.5.2 

英数字符号化方式 

英数字符号化方式は,数字及び FNC1・数字切換え,英大文字,五つの句読文字及び二つの切換えキャ

ラクタを符号化する。符号化したビット列では,キャラクタ当たりのビット長は固定ではない。ビットは,

符号化した各キャラクタのビット長に従って配置する。3∼6 ビットに符号化した各キャラクタを,

表 12

に示す。

表 12−英数字符号化方式 

キャラクタ ASCII 値

符号化値

符号化したバイナリデータ

0

∼9 48∼57 ASCII 値から 43 を減じた値

(5 ビット)

00101

∼01110

FNC1

・数字切換え

15

(5 ビット) 01111

A

∼Z 65∼90 ASCII 値から 33 を減じた値

(6 ビット)

100000

∼111001

* 42

58

(6 ビット) 111010

, 44

59

(6 ビット) 111011

- 45

60

(6 ビット) 111100

. 46

61

(6 ビット) 111101

/ 47

62

(6 ビット) 111110

数字切換え

0

(3 ビット) 000

JIS X 0201

切換え

4

(5 ビット) 00100

データは,

各キャラクタに対する可変長バイナリデータを,

汎用データ圧縮領域に付加して符号化する。

ただし,次の例外がある。

a)

次のシンボルキャラクタが FNC1 のとき,データを英数字符号化方式で符号化する。

b)

次のシンボルキャラクタを符号化するのに JIS X 0201 符号化方式だけを用いる場合は,データ圧縮領

域に JIS X 0201 切換えを符号化する。

c)

次の六つのシンボルキャラクタを数字符号化方式で符号化することができれば,データ圧縮領域に数

字切換えを符号化する。

d)

次の四つ以上のシンボルキャラクタを数字符号化方式で符号化することができ,かつ,そのシンボル


35

X 0509

:2012 (ISO/IEC 24724:2011)

キャラクタでデータ列が終了する場合は,データ圧縮領域に数字切換えを符号化する。

切換えを符号化すると,常にその切換えを反映して符号化方式が変わる。

符号化されたビット領域は,以前に復号したキャラクタに引き続く領域(初めて復号する場合には,そ

の領域)の先頭にある 1 ビット又は 3 ビットを最初に調べてから復号する。

a)

最初のビットが“1”のとき,次のキャラクタを 6 ビットで構成するキャラクタとして復号する。

b)

最初の 3 ビットが“000”のとき,それは数字切換えである。

c)

それ以外の場合は,次のキャラクタを 5 ビットで構成するキャラクタとして復号する。

7.2.5.5.3 

JIS X 0201

符号化方式 

このモードは,数字,英大文字,英小文字,JIS X 0201 の 21 個の句読文字のほか,このシンボル体系に

必要な FNC1 及び二つの切換えキャラクタを符号化する。符号化したビット列では,キャラクタ当たりの

ビット長は固定ではない。ビットは,符号化した各キャラクタのビット長に従って配置する。各キャラク

タは,

表 13 に示すように 3∼8 ビットに符号化する。

表 13JIS X 0201 符号化方式 

キャラクタ ASCII 値

符号化値

符号化したバイナリデータ

0

∼9 48∼57 ASCII 値から 43 を減じた値

(5 ビット)

00101

∼01110

FNC1

・数字切換え

 15

(5 ビット) 01111

A

∼Z 65∼90 ASCII 値から 1 を減じた値

(7

ビット)

1000000

∼1011001

a

∼z 97∼122 ASCII 値から 7 を減じた値

(7

ビット)

1011010

∼1110011

! 33

232

(8 ビット) 11101000

" 34

233

(8 ビット) 11101001

% 37

234

(8 ビット) 11101010

& 38

235

(8 ビット) 11101011

' 39

236

(8 ビット) 11101100

( 40

237

(8 ビット) 11101101

) 41

238

(8 ビット) 11101110

* 42

239

(8 ビット) 11101111

+ 43

240

(8 ビット) 11110000

, 44

241

(8 ビット) 11110001

- 45

242

(8 ビット) 11110010

. 46

243

(8 ビット) 11110011

/ 47

244

(8 ビット) 11110100

: 58

245

(8 ビット) 11110101

; 59

246

(8 ビット) 11110110

< 60

247

(8 ビット) 11110111

= 61

248

(8 ビット) 11111000

> 62

249

(8 ビット) 11111001

? 63

250

(8 ビット) 11111010

_ 95

251

(8 ビット) 11111011

スペース 32

252

(8 ビット) 11111100

数字切換え

0

(3 ビット) 000

英数字切換え

4

(5 ビット) 00100


36

X 0509

:2012 (ISO/IEC 24724:2011)

データは,各キャラクタに対する可変長バイナリデータを,データ圧縮領域に付加して符号化する。た

だし,次の例外がある。

a)

次のシンボルキャラクタが FNC1 のとき,データを JIS X 0201 符号化方式で符号化する。

b)

次の四つのシンボルキャラクタを数字圧縮で符号化することができ,かつ,JIS X 0201 符号化方式だ

けで符号化できるシンボルキャラクタが,次の 10 個のキャラクタの中になければ,データ圧縮領域に

数字切換えを符号化する。

c)

次の五つのシンボルキャラクタを英数字圧縮で符号化することができ,かつ JIS X 0201 符号化方式だ

けで符号化できるシンボルキャラクタが,次の 10 個のキャラクタの中になければ,データ圧縮領域に

英数字切換えを符号化する。

いずれの例外においても,10 個未満のキャラクタでデータが終了する場合,上記の 10 キャラクタの試

験は,データの最後に到達した時点で完了する。切換えを符号化すると,切換えを反映して符号化方式が

変わる。

符号化されたビット領域は,以前に復号したキャラクタに引き続く領域(初めて復号する場合には,最

初の領域)の先頭にある 3 ビット又は 5 ビットを最初に調べてから復号する。

a)

最初の 3 ビットが“000”のとき,それは数字切換えである。

b)

それ以外の場合は,最初の 5 ビットのバイナリ値に応じて次の処理を行う。

1)

 15

以下のとき,次のキャラクタを 5 ビットで構成するキャラクタとして復号する。

2)

 16

∼28 のとき,次のキャラクタを 7 ビットで構成するキャラクタとして復号する。

3)

 29

以上のとき,次のキャラクタを 8 ビットで構成するキャラクタとして復号する。

7.2.5.5.4 

汎用データ圧縮領域用の埋め草(パディング)ビット 

シンボルに含むシンボルキャラクタの数は,そのシンボルに含むデータを符号化するのに必要な,最小

限にとどめるのがよい。データをデータ圧縮領域に符号化した後,シンボルに未使用ビットが残る場合が

ある。これらのビットは,シンボルのデータ容量を満たすまで,埋め草(パディング)ビットシーケンス

で埋めなければならない。

埋め草(パディング)ビット列は,5 ビットの埋め草(パディング)シーケンス“00100”を繰り返して

作成するが,これは英数字符号化方式における JIS X 0201 切換えであり,JIS X 0201 符号化方式における

英数字切換えでもある。より多くのデータを符号化しなくても,符号化モード及びその切換えが交互に現

れる。シンボルに十分なビットが残っていない場合は,最後の埋め草(パディング)シーケンスの右側を

切り詰めてもよい。

数字符号化方式でデータの符号化が終了する場合は,交互に繰り返す埋め草(パディング)シーケンス

“00100”の前に,

“0000”という 4 ビットの英数字切換えを必要とする。例えば,符号化が数字符号化方

式で終了したときに 7 ビット残っていれば,英数字切換え“0000”の後に,JIS X 0201 切換え“00100”の

最初の 3 ビット“001”を続けた“0000001”として符号化しなければならない。埋め草(パディング)が

必要な残りの未使用ビットが 4 ビット未満の場合は,最初の 4 ビットの埋め草(パディング)そのものを

短縮してもよい。

7.2.6 

チェックキャラクタ 

GS1

データバー拡張型シンボルの最初のキャラクタは,チェックキャラクタである。これによって,シ

ンボル長及び重み係数を乗じたシンボルキャラクタエレメント幅のチェックサムの両方を符号化する。チ

ェックキャラクタ値の最初の 4 009 個(0∼4 008)だけ用いる。

チェックキャラクタには,シンボルに含むシンボルキャラクタの数 S(4∼22)及びチェックサム値を,


37

X 0509

:2012 (ISO/IEC 24724:2011)

次のように符号化する。

チェックキャラクタ値=211×(S−4)+チェックサム値

チェックサム値は,シンボルキャラクタに含まれるエレメント幅に重み係数を乗じた結果の総和を mod

211

で計算した値に等しい。

表 14 の重み係数は,3 の連続した累乗の mod 211 を計算した値である。

表 14−チェックサムの mod 211 を計算するためのエレメントの重み係数(W 

シンボルキャラクタのエレメント順序(M)

位置検出パターンから見た 
シンボルキャラクタの位置

1 2 3 4 5 6 7 8

A1

の左*

A1

の右

1  3  9  27 81 32 96 77

A2

の左

20 60 180

118

143 7  21 63

A2

の右

189 145  13  39  117 140 209 205

B1

の左

193 157 49 147 19  57 171 91

B1

の右

62  186 136 197 169  85  44  132

B2

の左

185 133 188 142  4  12  36  108

B2

の右

113

128

173 97 80 29 87 50

C1

の左

150 28  84  41 123 158 52 156

C1

の右

46  138 203 187 139 206 196 166

C2

の左 76

17

51

153

37

111

122

155

C2

の右

43  129 176 106 107 110 119 146

D1

の左

16 48 144 10 30 90 59 177

D1

の右

109 116 137 200 178 112 125 164

D2

の左

70  210 208 202 184 130 179 115

D2

の右

134 191 151  31  93  68  204 190

E1

の左

148 22  66 198 172 94  71  2

E1

の右

6  18  54 162 64 192 126 167

E2

の左

120

149 25 75 14 42 126

167

E2

の右

79 26 78 23 69 207

199

175

F1

の左

103 98 83 38 114

131

182

124

F1

の右

161 61 183 127 170 88  53 159

F2

の左

55

165

73 8 24 72 5 15

F2

の右

45  135 194 160  58  174 100  89

  * A1 位置検出パターンの左にあるシンボルキャラクタは,チェックキャラクタであり,エレメントには重み

係数を乗じない。

重み係数を乗じたチェックサム値の mod 211 は,次の式によって求める。

211

mod

)

E

 W

E

 W

E

 W

E

(W

x,8

x,8

1,8

1,8

1,2

1,2

1,1

1,1

+

+

+

+

+

ここに,W

N,M

E

N,M

は,シンボルに含まれる全てのシンボルキャラクタについて,

“シンボルキャラクタ N

のエレメント順序位置 M に対する重み係数(

表 14 参照)”と“シンボルキャラクタ N のエレメント順序

位置 M のモジュール幅”とを乗じた値とする。N は,

表 14 にあるシンボルキャラクタを示しており(例

えば,

“C1 右”は,位置検出パターン C1 の右にあるシンボルキャラクタを示す。

,連続した値ではない

が,

表 16 のシーケンスによって決定される点に注意が必要である。下付き文字 x は,シンボルに含まれ

る最後のシンボルキャラクタを示す。


38

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 F.3 に,GS1 データバー拡張型シンボルの符号化例を示す。

7.2.7 

位置検出パターン 

シンボルには,固有のシンボル位置検出パターンが 12 個ある。これらのパターンを,シンボルキャラク

タ対の間に置く。位置検出パターンは,全てのシンボルキャラクタに隣接しているため,シンボルキャラ

クタ及び隣接する位置検出パターンからなるセグメント単位で,シンボルを走査することができる。

シンボルキャラクタが奇数個の場合は,そのシンボルは,最後の位置検出パターン及び右側のガードパ

ターンで終了する。この場合,最後の位置検出パターンは,最後のシンボルキャラクタの右に隣接する。

12

個のパターンは,六つの基本パターン A∼F に基づいている。基本パターンのそれぞれに,

表 15 

左側に示す,エレメント 1 がスペースである“1”バージョンと,

表 15 の右側に示す,エレメント 1 がバ

ーである“2”バージョンとの,二つのバージョンがある。明暗を反転させて,二つのパターンを区別する

ことができる。12 個の位置検出パターンは,A1,A2,B1,B2,C1,C2,D1,D2,E1,E2,F1,及び F2

である。

“1”バージョンでは,エレメント 1 は左側がスペースであり,

“2”バージョンでは,この左右を

反転し,明暗も反転している。六つの基本パターンのエレメント幅一覧を,

表 15 に示す。

位置検出パターンは,それぞれ 15 モジュールからなる五つのエレメントで構成している。

“1”バージョ

ンのエレメント 2 及びエレメント 3 のモジュール総数が 10∼12 であるのに対して,

“1”

バージョンのエレ

メント 4 及びエレメント 5 のモジュール総数は 2 である。四つのエレメント 2∼5 の合計幅に対する太エ

レメント 2 及びエレメント 3 の組の幅比率(10 : 12∼12 : 14 の範囲)が,位置検出パターンを認識するロ

ジックの第 1 手順である。同様に,

“2”バージョンの位置検出パターンでは,四つのエレメント 1∼4 の合

計幅と太エレメント 3 及びエレメント 4 の組の幅とを比較する。

表 15−位置検出パターンのエレメント幅 

“1”バージョン

エレメント幅(1 はスペース)

“2”バージョン

エレメント幅(1 はバー)

基本パターン

1 2 3 4 5

基本パターン

1 2 3 4 5

A1

1 8 4 1 1

A2

1 1 4 8 1

B1

3 6 4 1 1

B2

1 1 4 6 3

C1

3 4 6 1 1

C2

1 1 6 4 3

D1

3 2 8 1 1

D2

1 1 8 2 3

E1

2 6 5 1 1

E2

1 1 5 6 2

F1

2 2 9 1 1

F2

1 1 9 2 2

位置検出パターンは,シンボル長に応じて割り当てた 10 個の一意なセット(

表 16 参照)で用いる。こ

のセットを,二つのグループに分ける。各グループの各セットに,グループ内の他のセットと区別するた

めの位置検出パターンの一意なサブセットを,一つ以上含む。セットを選択することによって,誤って復

号したチェックキャラクタから導いた,誤ったシンボル長が原因で読誤りが起こるのを防ぐ。


39

X 0509

:2012 (ISO/IEC 24724:2011)

表 16−位置検出パターンシーケンス 

位置検出パターン列

セグメント番号

1 2 3 4 5 6 7 8 9 10

11

グループ 1

A

A

5

又は 6 A1

B2

B1

     

7

又は 8 A1

C2

B1

D2

    

9

又は 10 A1

E2

B1

D2

C1

   

11

又は 12  A1 E2 B1 D2 D1 F2

13

又は 14  A1 E2 B1 D2 E1 F2  F1

グループ 2

15

又は 16  A1 A2 B1 B2 C1 C2 D1 D2

17

又は 18  A1 A2 B1 B2 C1 C2 D1 D2 E1

19

又は 20  A1 A2 B1 B2 C1 C2 D1 E2  F1  F2

21

又は 22  A1 A2 B1 B2 C1 C2 D1 E2 E1  F2  F1

7.2.8 GS1

データバー拡張多層型 

GS1

データバー拡張型は,2 段∼11 段まで積み重ねてもよい。

図 12 は,2 段のシンボルである。GS1 デ

ータバー拡張多層型は,シンボルの印字領域又はプリンタによる印字幅が 1 段のシンボルを印字できるほ

ど十分に広くない場合に用いる。それぞれの段の高さは 34X であり,各段の間に 3X の分離パターンを伴

う。比較のために,

図 12 のシンボルは,図 10 と同じデータを符号化したものである。

図 12(01)98898765432106(3202)012345(15)991231 を表す GS1 データバー拡張多層型シンボル 

最後の段を除く全ての段に含んでいるシンボルキャラクタの数は,偶数でなければならない。GS1 デー

タバー拡張多層型シンボルが,GS1 合成シンボルの一次元コンポーネントのとき,GS1 データバー拡張多

層型シンボルの最初の段には,四つ以上のシンボルキャラクタがなければならない。段は,上から下の順

に並べなければならない。最後の段は,必要に応じて埋め草(パディング)を追加し,二つ以上のシンボ

ルキャラクタを含んでいなければならない。シンボルが GS1 合成シンボルの一部のとき,最上段の上に二

次元コンポーネントを印字しなければならない。

全ての段は,各シンボルキャラクタ組の間に位置検出パターンを配し,2 エレメントからなる左側及び

右側のガードパターンを設けなければならない。最後の段のシンボルキャラクタ数が奇数の場合は,最後

の位置検出パターンの次が右側のガードパターンになる。


40

X 0509

:2012 (ISO/IEC 24724:2011)

最初の段及びそれ以降の奇数番目の段は,スペースで始まっていなければならない。2 番目の段及びそ

れ以降の偶数番目の段は,バーで始まっていなければならない。ただし,

図 13 に示すように,最下段は

そうならないこともある。段ごとのセグメント組の数が偶数(2 組,4 組など。つまり,セグメント数は 4,

8

など。

)のとき,偶数番目の段は,エレメント順序を逆(左右を反転させて)にして印字しなければなら

ない。反転させることは,偶数番目の段がバーで始まるようにするために必要である。段ごとのセグメン

ト組の数が奇数(1 組,3 組,5 組など。つまり,セグメント数は 2,6,10 など。

)のとき,偶数番目の段

は,必然的にバーで始まる。

表 17 に,反転させた段の一覧を示す。

表 17−拡張多層形 GS1 データバーシンボルで反転した段 

セグメントの多層化されたシンボルの幅

段番号

2  4  6  8  10 12 14 16 18 20

1  F F F F F F F F F F

2  F R F R F R F R F R

3  F F F F F

4 F

R

F     

5 F

F      

1

1

F

:順方向の段,R:反転した段,空白:あり得ない組合せ

3X

(最小)の高さの分離パターンで,シンボルの段を分離しなければならない。分離パターンは,1X

(最小)の高さの三つの段からなる。

分離パターンの上段の色を,上にあるシンボル段のバー及びスペースの反対の色とする。ただし,両端

及び次の 13 モジュールを例外とする。ここで 13 モジュールとは,バージョン 1 の位置検出パターンのエ

レメント 1,2 及び 3 の下,並びにバージョン 2 の位置検出パターンのエレメント 3,4 及び 5 の下にある

13

モジュールをいう。これらの 13 モジュールは,隣接する位置検出パターンがバーのとき,その下を明

とし,隣接する位置検出パターンがスペースのとき,その下には暗,明,暗,…を交互に繰り返す。

中段は,両端を除いて,交互に繰り返す明モジュール及び暗モジュールで構成する。

下段を,下にあるシンボル段の反対の色とする。ただし,両端及びバージョン 1 の位置検出パターンの

エレメント 1,2 及び 3 の上,並びにバージョン 2 の位置検出パターンのエレメント 3,4 及び 5 の上にあ

る 13 モジュールを例外とする。これらの 13 モジュールは,隣接する位置検出パターンがバーのとき,そ

の上を明とし,隣接する位置検出パターンがスペースのとき,その上は暗,明,暗,…を交互に繰り返す。

分離段の最初の 4 モジュール及び最後の 4 モジュールを,常に明とする。その他のモジュールについて

は,上下のモジュールの色に基づいて定める。

図 12 に示す GS1 データバー拡張多層型シンボルには,八つのシンボルキャラクタがある。このシンボ

ルは,2 段になっており,それぞれの段に四つのシンボルキャラクタがある。上段には,最初の四つのシ

ンボルキャラクタがあり,1X のバー及び 1X のスペースのガードパターンを段の右側に付加している。下

段の左側は,最後の四つのシンボルキャラクタの左右反転イメージで始まり,それに続いて 1X のバー及


41

X 0509

:2012 (ISO/IEC 24724:2011)

び 1X のスペースのガードパターンを付加している。

図 12 に示すシンボル例の全体のサイズは,幅 102X

×高さ 71X である。

段の反転に関する要件には,例外が一つある。最終段を左右反転させなければならない場合でも,その

段が奇数個の位置検出パターンを含む,長さが短い段のとき,左側に明モジュールを付加し,その段を 1

モジュール分右にずらす。これが必要になるのは,奇数個の位置検出パターンを含む,長さが短い段のガ

ードバーパターンが左右対称になるため,反転した後も同じパターンになるからである。最後の段をずら

す必要がある GS1 データバー拡張多層型シンボルを,

図 13 に示す。

図 13(01)95012345678903(3103)000123 を表す GS1 データバー拡張多層型シンボル 

7.2.9 

参照復号アルゴリズム 

バーコード読取システムは,実用的なアルゴリズムが許容する範囲内で,不完全なシンボルでも読むよ

うに設計している。ここ(7.2.9)では,JIS X 0520  に規定するシンボル品質を評価するための,復号容易

度の計算に用いる参照復号アルゴリズムについて説明する。

このアルゴリズムには,シンボルを復号するための,次の手順を含んでいる。

a)

次の比率をもつ四つのエレメントの並びを,

“左から右に”及び“右から左に”探して,セグメントを

見つける。

“左から右へ”の場合の比率:

14

:

5

.

12

))

4

3

2

1

(

:

)

2

1

((

12

:

5

.

9

+

+

+

+

elem

elem

elem

elem

elem

elem

“右から左へ”の場合の比率:

14

:

5

.

12

))

4

3

2

1

(

:

)

4

3

((

12

:

5

.

9

+

+

+

+

elem

elem

elem

elem

elem

elem

ここに,elem は“エレメント”を表す。

この比率によって,位置検出パターンの 2∼5 番目のエレメントが識別される。

手順 b)と同様の方法を用い,位置検出パターンの最初の 1∼4 エレメントを合計した幅であるピッチ p

から,エッジ∼類似エッジまでの正規化値 E

1

及び E

2

を得て,位置検出パターンを復号する。E

1

及び E

2

値が,GS1 データバー拡張型の位置検出パターンに対応していることを検証する。

b)

位置検出パターンのピッチに対する,各隣接シンボルキャラクタのピッチの比率が(17±1.5) : 15 の値

になっていることを検証する。次に,各シンボルキャラクタを次のように復号する。

1)

七つの幅の寸法 p,e

1

,e

2

,e

3

,e

4

,e

5

及び e

6

を計算する(

図 14)。

 
 


42

X 0509

:2012 (ISO/IEC 24724:2011)

図 14−復号に必要な寸法 

注記  この図は,左側の最初のエレメントを暗エレメントで示しているが,シンボルキャラクタは,

左右が反転する場合及び/又は暗と明とが反転する場合がある。

2)

寸法 e

1

,e

2

,e

3

,e

4

,e

5

及び e

6

を,これらの寸法の整数モジュール幅(E

i

)を表す正規化された値

E

1

,E

2

,E

3

,E

4

,E

5

及び E

6

に変換する。次の方法を用いて i 番目の値を求める。

1.5p /17

≦e

i

<2.5p /17 のとき E

i

=2

2.5p /17

≦e

i

<3.5p /17 のとき E

i

=3

3.5p /17

≦e

i

<4.5p /17 のとき E

i

=4

4.5p /17

≦e

i

<5.5p /17 のとき E

i

=5

5.5p /17

≦e

i

<6.5p /17 のとき E

i

=6

6.5p /17

≦e

i

<7.5p /17 のとき E

i

=7

7.5p /17

≦e

i

<8.5p /17 のとき E

i

=8

8.5p /17

≦e

i

<9.5p /17 のとき E

i

=9

これ以外の場合は,そのキャラクタを誤りとする。

3)

  E

の値から,正規化されたエレメント幅を決定する。最後のエレメントは,E の値から計算するの

ではなく,残りのモジュールを割り当てる。1 モジュール未満の幅をもつエレメントがなく,1 モジ

ュール幅の奇数番エレメントが少なくとも一つ存在するのを,有効エレメント幅の唯一の解とする。

例えば,

図 14 の場合,値 E

1

∼E

6

は{4 2 6 7 3 3}である。これに対する,可能性のあるエレメント並

びは,次のようになる。

{2 2 0 6 1 2 1 3}

{3 1 1 5 2 1 2 2}

{4 0 2 4 3 0 3 1}

注記 1  上記の 3 個のエレメント並びは,仮に,幅 0 のモジュールまでを許して考えた場合を指

す。

注記 2  ここで,先頭のエレメントの幅が 1 だけ減少すると,他の全ての奇数番エレメントの幅

も 1 ずつ減少し,逆に全ての偶数番エレメントの幅は 1 ずつ増加している。この性質は,

どのような E1∼E6 の値についても成り立つので,偶数番エレメントの幅の最小が 1 と

なるエレメント並びは,常にただ一つだけとなることが分かる。


43

X 0509

:2012 (ISO/IEC 24724:2011)

この例では,エレメント並び{3 1 1 5 2 1 2 2}だけが,この要件を満たすため,このセットが有効

なエレメント並びである。導き出されたエレメント並びが有効でない場合,そのキャラクタは誤り

になる。

附属書 に,エレメント並びを復号するアルゴリズムの,C 言語での実現方法を示す。そ

こでは,まず先頭エレメント幅を 1 とした暫定的なエレメント幅並びを計算し[この例では,先頭

エレメント幅を 1 にすると n の値が 17 モジュールを超えるため,2 から始めて{2 2 0 6 1 2 1 3}とな

る。

,そのときの偶数番エレメントの幅の最小値(この例では 2)から 1 を減じた値を,偶数番エ

レメントからは減じ,奇数番エレメントには加えて,解としている。

4)

附属書 のプログラムによって,奇数サブセット及び偶数サブセットの値を決定する。

5)

奇数サブセット及び偶数サブセットの値によって,シンボルキャラクタ値を計算する。

6)

上記の方法で正規化したエレメント幅を用いて,位置検出パターン値を復号し,

表 15 からパターン

を探す。

7)

チェックサムの計算のために,重み係数を乗じたエレメント幅を計算して保存する。

c)

チェックキャラクタによって指定された,シンボルキャラクタ及び位置検出パターンを全て復号した

とき,チェックキャラクタから計算した mod 211 のチェックサムが,シンボルキャラクタの重み係数

を乗じたエレメント幅の総和を mod 211 で計算し,その結果と一致することを検証する。

d)

シンボルキャラクタをバイナリ列に変換し,そのバイナリ列を AI エレメント列に変換する。

e)

さらに,加速度,サンプリング及び寸法などに対して,特定の読取装置及び用いようとしているアプ

リケーション環境を考慮して,適切と考えられる二次検査を実施する。

附属書 に,GS1 データバー拡張型向けの実用的なスキャナを設計する上で,読誤りを最小に抑えるた

めに,シンボル復号時に従うことが望ましい追加の注意点を示す。

シンボル品質 

8.1 

一次元シンボル体系のパラメタ 

JIS X 0520

は,バーコードシンボルの印刷品質測定及びグレード付けについて,標準化した方法を規定

している。GS1 データバーファミリのシンボルは,その規格に従って評価しなければならない。JIS X 0520

に従って“復号”及び“復号容易度”パラメタを評価するには,GS1 データバーファミリの各シンボル用

に規定する参照復号アルゴリズムを用いなければならない。分離パターン内の全てのエレメントが,視覚

的に区別できるようになっていることが望ましい。シンボル品質を評価する上で,分離パターンはグレー

ド付けしない。印刷に関する指針を,

附属書 に示す。

8.2 

その他の合格基準及び不合格基準 

JIS X 0520

では,シンボル体系仕様ごとに,その他の合格基準及び不合格基準を追加して規定できる。

GS1

データバーシンボルのタイプ 1 及びタイプ 3 では,二つのガードパターンエレメントが存在しなけれ

ばならず,それぞれの幅が 3Z 以下でなければならないとする基準を追加している。この要件を満たさな

い個々の走査反射率波形のグレードは,全て 0(F)とする。

この規格の対応国際規格では,その第 1 版の規格に対し“GS1 データバー限定型のガードパターンの変

更”が追加された。この規格では,ガードバー及びスペースエレメントは,新たな復号アルゴリズムに従

って検査され,6.2.6 g)及び 6.2.6 h)に適合しなければならない。さらに,終端のガードパターンは,次に示

す要求事項を満たすか,又は,当該走査でのグレード“0”として受け入れるか,そのいずれかでなければ

ならない。


44

X 0509

:2012 (ISO/IEC 24724:2011)

1)

終端ガードパターン内側のバー幅及びスペース幅の合計は,右シンボルキャラクタを構成する 14

エレメントの合計幅の 11/52 を超えなければならない(5.5 モジュール。

8.3 

多層形シンボル 

各段は,JIS X 0520 によって,別のシンボルとして評価しなければならない。走査線は,隣接する段か

らの反射が混合することの影響を最小限に抑えるために,JIS X 0520 で規定しているように,各段の高さ

の中央部 80 %の測定領域を通過しなければならない。1 段当たりの最小走査数は,10 又は測定領域の高さ

を測定開口径で除した値の,どちらか小さい方であることが望ましい。総合シンボルグレードは,各段に

与えられた総合グレードの,最も低い値にしなければならない。

送信データ 

GS1

データバーファミリは,JIS X 0530 で規定している“シンボル体系識別子”とともに用いるように

設計及び意図されている。GS1 データバーファミリを用いるアプリケーションでは,リーダを“シンボル

体系識別子を有効”にすることが望ましい。GS1 システムでは,シンボル体系識別子を用いる必要がある。

シンボル体系識別子を用いないアプリケーションは,GS1 データバーシンボルに含まれるアプリケーショ

ン識別子を認識しないか,又は逆に他のシンボルからのデータをアプリケーション識別子データと誤って

解釈する場合がある。GS1 データバーファミリシンボルは,シンボル体系識別子“]e0”プリフィックスを

用いて送信する。GS1 データバーファミリの一次元シンボルに二次元コンポーネントが付いていれば,二

次元コンポーネントの最初の AI エレメント列データが,一次元コンポーネントのデータの直後に続く。

GS1

データバー標準型又は GS1 データバー限定型シンボルが“]e00110012345678902”を送信する例で

は,太字のデータ 1001234567890 をシンボル内部で明示的に符号化している。シンボル体系識別子,商品

識別番号を示すアプリケーション識別子“01”及び EAN/UPC のチェックディジット mod 10 の“2”が送

信データ列に付加される。

GS1

データバー拡張型は,アプリケーション識別子を符号化する。よって,符号化データのプリフィッ

クスとして,シンボル体系識別子だけを付加する。GS1 データバー拡張型は,非データキャラクタ FNC1

が,シンボルに含まれている最後のキャラクタでない限り,FNC1 を符号化して<GS> (ASCII 29)として送

信することができる。最後のキャラクタの場合は<GS>を送信しない。

GS1

合成シンボルの場合は,一次元コンポーネント内のデータの直後に,二次元コンポーネント内の最

初の AI エレメント列を送信しなければならない。一次元コンポーネントの連結フラグが設定されていれ

ば,通常,リーダは両方のコンポーネントを復号する必要がある。ただし,商品識別番号だけを必要とす

るアプリケーションをサポートするために,リーダは,連結フラグの状態に関係なく,一次元コンポーネ

ントだけを復号して送信するモードもサポートしなければならない。

リーダは,GS1-128 エミュレーションの付加機能をサポートしなければならない。このモードは,GS1

総合仕様書に適合してデータを送信するために,GS1-128 シンボル体系をエミュレートする。シンボル体

系識別子は,

“]C1”でなければならない。GS1 データバー拡張型シンボルのデータキャラクタ数が 48 を

超える場合は,二つのメッセージとして送信しなければならない。各メッセージには,シンボル体系識別

子プリフィックスである“]C1”を含めなければならない。いずれのメッセージも,48 データキャラクタ

を超えてはならない。メッセージは,

附属書 に従って,エレメント列の区切りで分割しなければならな

い。


45

X 0509

:2012 (ISO/IEC 24724:2011)

10 

目視可能文字情報 

印刷したとき,目視可能データをシンボルの下に,読みやすいフォントで表示しなければならない。GS1

アプリケーション仕様で,目視可能文字情報に関する追加要件を規定している。

11 

モジュールの最小幅及び最大幅(X 

最小及び最大の X 寸法レンジは,アプリケーション標準で明記しなければならない。

X

寸法は,一つのシンボル全体にわたって一定でなければならない。二次元コンポーネントを連結する

場合,GS1 データバーシンボルの X 寸法は,二次元コンポーネントの X 寸法と同じでなければならない。

12 

アプリケーション定義パラメタ 

GS1

総合仕様書は,データの内容,X 寸法,シンボル高さの最小値,最小シンボル品質グレード,シン

ボルの種類,シンボルの配置に関するパラメタ,及び必要に応じて,その他のアプリケーションパラメタ

を規定している。


46

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 A

(規定)

チェックディジットの計算

GS1

データバー標準型,GS1 データバー切詰型,GS1 データバー二層型,GS1 データバー標準二層型及

び GS1 データバー限定型は,

表 A.1 に示す GTIN-14(14 桁の商品識別番号)を符号化する。GS1 データバ

ー拡張型は,アプリケーション識別子“01”を用いて,GTIN-14 の番号構造によって符号化する(

表 A.1

を参照)

。GS1 データバー拡張型及び GS1 データバー拡張二層型は,アプリケーション識別子“00”を用

いて,SSCC-18 番号構造によって符号化する。

表 A.1GS1 番号構造のチェックディジット計算 

数字位置

GTIN-14

N1 N2 N3

N4 N5 N6

N7

N8

N9

N10

N11

N12

N13 N14

SSCC-18  N1 N2 N3

N4 N5 N6 N7

N8 N9 N10 N11 N12 N13 N14

N15

N16

N17 N18

各位置の重み係数

×3  ×1  ×3

×1  ×3  ×1

×3

×1

×3

×1

×3

×1

×3

×1  ×3  ×1  ×3

重み係数を乗じた値の合計=Sum

Sum

が 10 の整数倍でない場合は,Sum よりも次に大きな 10 の整数倍から Sum の値を減じた値,又

は Sum の値が 10 の整数倍の場合は“0”がチェックディジットである(チェックディジットの位置
は,GTIN-14 の N14 及び SSCC-18 の N18)

GS1

のチェックディジットは,GS1 データバー標準型及び GS1 データバー限定型シンボルに明示的に符

号化しないが,常に,目視可能文字情報に表示し,リーダから送信する。


47

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 B

(規定)

C

言語によるエレメント幅の符号器及び復号器

(n,k)

のサブセットごとに,シンボル値をエレメント幅のパターンに割り当てる。C 言語の符号化ルーチ

ン getRSSwidths は,与えられたサブセット値によってエレメント幅を計算する。C 言語の復号ルーチン

getRSSvalue

は,与えられたサブセットのエレメント幅によって値を計算する。連続した値は,エレメント

のサブセット幅に順番に割り当てられる。

注記  C ルーチンには,この規格の第 1 版で用いていた“RSS”のまま表示している。C ルーチンは,

公開されているソフトウェアの技術的な変更を避けるために,変更していない。

エレメント幅のシーケンスは,サブセット内で,より小さいエレメント番号に 1 モジュール幅,又は有

効なサブセットを得る最も狭い幅を割り当てることによって開始する

(値が 0 である最初のパターンでは,

最後のエレメントが 1 エレメントの最大限界を超えない限り,最後のエレメントを除く全てのエレメント

に 1 モジュール幅を割り当てる。

。以降の値は,より小さいエレメント番号が,可能な限り幅の狭いモジ

ュールになるようなパターンを割り当てる。例えば,6 モジュールからなるサブセットでは,0∼9 の値及

びそのモジュール幅パターンは,次のようになる。

パターン

0

1 1 1 3

1

1 1 2 2

2

1 1 3 1

3

1 2 1 2

4

1 2 2 1

5

1 3 1 1

6

2 1 1 2

7

2 1 2 1

8

2 2 1 1

9

3 1 1 1

最大エレメント幅(maxWidth)よりも広いエレメント幅をもつパターンは,無視する。1 モジュール幅

のエレメントを含まないパターンが除外される場合(noNarrow = 0)は,そのパターンも無視する。

/********************************************************************** 
* getRSSwidths 
* routine to generate widths for RSS elements for a given value. 
*


48

X 0509

:2012 (ISO/IEC 24724:2011)

* Calling arguments: 
* val = required value 
* n = number of modules 
* elements = elements in set (RSS-14 & Expanded = 4; RSS Limited = 7) 
* maxWidth = maximum module width of an element 
* noNarrow = 0 will skip patterns without a one module wide element 

* Return: 
* static int widths[] = element widths 
************************************************************************/ 
void getRSSwidths(int val, int n, int elements, int maxWidth, int noNarrow) 

int bar; 
int elmWidth; 
int i; 
int mxwElement; 
int subVal, lessVal; 
int narrowMask = 0; 
for (bar = 0; bar < elements-1; bar++) 

for (elmWidth = 1, narrowMask |= (1<<bar); 

elmWidth++, narrowMask &= ~(1<<bar)) 

/* get all combinations */ 
subVal = combins(n-elmWidth-1, elements-bar-2); 
/* less combinations with no single-module element */ 
if ((!noNarrow) && (narrowMask == 0) && 
(n-elmWidth-(elements-bar-1) >= elements-bar-1)) 

subVal -= combins(n-elmWidth-(elements-bar), elements-bar-2); 

/* less combinations with elements > maxVal */ 
if (elements-bar-1 > 1) 

lessVal = 0; 
for (mxwElement = n-elmWidth-(elements-bar-2); 
mxwElement > maxWidth; 
mxwElement--) 
{


49

X 0509

:2012 (ISO/IEC 24724:2011)

lessVal += combins(n-elmWidth-mxwElement-1, elements-bar-3); 

subVal -= lessVal * (elements-1-bar); 

else if (n-elmWidth > maxWidth) 

subVal--; 

val -= subVal; 
if (val < 0) break; 

val += subVal; 
n -= elmWidth; 
widths[bar] = elmWidth; 

widths[bar] = n; 
return; 

 
 
 
/********************************************************************** 
* getRSSvalue 
* routine to calculate the subset value given element widths. 

* Calling arguments: 
* widths[] = the given elemt widths 
* elements = elements in set (RSS-14 & Expanded = 4; 
* RSS Limited = 7) 
* maxWidth = maximum module width of an element 
* noNarrow = 0 will skip patterns without a one module wide element 

* Return: 
* the subset value 
**********************************************************************/ 
int getRSSvalue(int widths[], int elements, int maxWidth, int noNarrow) 

int val = 0; 
int n; 
int bar;


50

X 0509

:2012 (ISO/IEC 24724:2011)

int elmWidth; 
int i; 
int mxwElement; 
int subVal, lessVal; 
int narrowMask = 0; 
for (n = i = 0; i < elements; i++) 

n += widths[i]; 

for (bar = 0; bar < elements-1; bar++) 

for (elmWidth = 1, narrowMask |= (1<<bar); 
elmWidth < widths[bar]; 
elmWidth++, narrowMask &= ~(1<<bar)) { 
/* get all nk combinations */ 
subVal = combins(n-elmWidth-1, elements-bar-2); 
/* less combinations with no narrow */ 
if ((!noNarrow) && (narrowMask == 0) && 
(n-elmWidth-(elements-bar-1)>= elements-bar-1)) 

subVal -= combins(n-elmWidth-(elements-bar), 
elements-bar-2); 

/* less combinations with elements > maxVal */ 
if (elements-bar-1 > 1) 

lessVal = 0; 
for (mxwElement = n-elmWidth-(elements-bar-2); 
mxwElement > maxWidth; mxwElement--) 

lessVal += combins(n-elmWidth-mxwElement-1, 
elements-bar-3); 

subVal -= lessVal * (elements-1-bar); 

else if (n-elmWidth > maxWidth) 

subVal--; 

val += subVal;


51

X 0509

:2012 (ISO/IEC 24724:2011)


n -= elmWidth; 

return(val); 

 
 
 
/********************************************************************** 
* combins(n,r): returns the number of Combinations of r selected from n: 
* Combinations = n! / ((n – r)! * r!) 
**********************************************************************/ 
int combins(int n, int r) { 
int i, j; 
int maxDenom, minDenom; 
int val; 
if (n-r > r) { 
minDenom = r; 
maxDenom = n-r; 

else { 
minDenom = n-r; 
maxDenom = r; 

val = 1; 
j = 1; 
for (i = n; i > maxDenom; i--) { 
val *= i; 
if (j <= minDenom) { 
val /= j; 
j++; 


for (; j <= minDenom; j++) { 
val /= j; 

return(val); 
}


52

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 C 
(規定)

GS1

データバー限定型のチェックキャラクタエレメント幅

シーケンス

a)

エレメント幅(最も左のスペースから最も右のバーまで)

S1 B1 S2

B2

S3

B3

S4

B4

S5

B5

S6 B6 S7 B7

0

0

1

1

1

1

1

1

1

1

1

1

3

3

1

1

1

1

1

1

1

1

1

1

1

1

1

2

3

2

1

1

2

2

1

1

1

1

1

1

1

1

1

3

3

1

1

1

3

3

1

1

1

1

1

1

1

2

1

1

3

2

1

1

4

4

1

1

1

1

1

1

1

2

1

2

3

1

1

1

5

5

1

1

1

1

1

1

1

3

1

1

3

1

1

1

6

6

1

1

1

1

1

2

1

1

1

1

3

2

1

1

7

7

1

1

1

1

1

2

1

1

1

2

3

1

1

1

8

8

1

1

1

1

1

2

1

2

1

1

3

1

1

1

9

9

1

1

1

1

1

3

1

1

1

1

3

1

1

1

10

1

1

1

1

2

1

1

1

1

1

1

3

2

1

1

1

1

1

1

1

2

1

1

1

1

1

2

3

1

1

1

12

1

1

1

1

2

1

1

1

2

1

1

3

1

1

1

13

1

1

1

1

2

1

2

1

1

1

1

3

1

1

1

14

1

1

1

1

3

1

1

1

1

1

1

3

1

1

1

15

1

1

2

1

1

1

1

1

1

1

1

3

2

1

1

16

1

1

2

1

1

1

1

1

1

1

2

3

1

1

1

17

1

1

2

1

1

1

1

1

2

1

1

3

1

1

1

18

1

1

2

1

1

1

2

1

1

1

1

3

1

1

1

19

1

1

2

1

2

1

1

1

1

1

1

3

1

1

1

20

2

1

3

1

1

1

1

1

1

1

1

3

1

1

1

21

2

1

1

1

1

1

1

1

1

2

1

2

3

1

1

22

2

1

1

1

1

1

1

1

1

2

2

2

2

1

1

23

2

1

1

1

1

1

1

1

1

2

3

2

1

1

1

24

2

1

1

1

1

1

1

1

2

2

1

2

2

1

1

25

2

1

1

1

1

1

1

1

2

2

2

2

1

1

1

26

2

1

1

1

1

1

1

1

3

2

1

2

1

1

1

27

2

1

1

1

1

1

2

1

1

2

1

2

2

1

1

28

2

1

1

1

1

1

2

1

1

2

2

2

1

1

1

29

2

1

1

1

1

1

2

1

2

2

1

2

1

1

1

30

3

1

1

1

1

1

3

1

1

2

1

2

1

1

1

31

3

1

1

1

2

1

1

1

1

2

1

2

2

1

1

32

3

1

1

1

2

1

1

1

1

2

2

2

1

1

1

33

3

1

1

1

2

1

1

1

2

2

1

2

1

1

1

34

3

1

1

1

2

1

2

1

1

2

1

2

1

1

1

35

3

1

1

1

3

1

1

1

1

2

1

2

1

1

1

36

3

1

2

1

1

1

1

1

1

2

1

2

2

1

1

37

3

1

2

1

1

1

1

1

1

2

2

2

1

1

1

38

3

1

2

1

1

1

1

1

2

2

1

2

1

1

1

 


53

X 0509

:2012 (ISO/IEC 24724:2011)

シーケンス

a)

エレメント幅(最も左のスペースから最も右のバーまで)

S1

B1

B2

S2

S3

B3

S4

B4

S5

B5

S6 B6 S7 B7

39

9

1

2

1

1

1

2

1

1

2

1

2

1

1

1

40

0

1

2

1

2

1

1

1

1

2

1

2

1

1

1

41

1

1

3

1

1

1

1

1

1

2

1

2

1

1

1

42

2

1

1

1

1

1

1

1

1

3

1

1

3

1

1

43

3

1

1

1

1

1

1

1

1

3

2

1

2

1

1

44

5

1

1

1

1

1

1

1

2

3

1

1

2

1

1

45

2

1

1

1

2

1

1

1

1

3

1

1

2

1

1

46

7

1

2

1

1

1

1

1

1

3

1

1

2

1

1

47

3

1

1

1

1

1

1

2

1

1

1

2

3

1

1

48

4

1

1

1

1

1

1

2

1

1

2

2

2

1

1

49

5

1

1

1

1

1

1

2

1

1

3

2

1

1

1

50

6

1

1

1

1

1

1

2

2

1

1

2

2

1

1

51

3

1

1

1

2

1

1

2

1

1

1

2

2

1

1

52

4

1

1

1

2

1

1

2

1

1

2

2

1

1

1

53

5

1

1

1

2

1

1

2

2

1

1

2

1

1

1

54

6

1

1

1

2

1

2

2

1

1

1

2

1

1

1

55

7

1

1

1

3

1

1

2

1

1

1

2

1

1

1

56

8

1

2

1

1

1

1

2

1

1

1

2

2

1

1

57

9

1

2

1

1

1

1

2

1

1

2

2

1

1

1

58

2

1

2

1

2

1

1

2

1

1

1

2

1

1

1

59

126

1 1 1

1

2

1

1

1

1

1

2

3

1

1

60

127

1 1 1

1

2

1

1

1

1

2

2

2

1

1

61

126

1 1 1

1

2

1

1

1

1

3

2

1

1

1

62

129

1 1 1

1

2

1

1

2

1

1

2

2

1

1

63

130

1 1 1

1

2

1

1

2

1

2

2

1

1

1

64

132

1 1 1

1

2

2

1

1

1

1

2

2

1

1

65

141

1 2 1

1

2

1

1

1

1

1

2

2

1

1

66

142

1 2 1

1

2

1

1

1

1

2

2

1

1

1

67

143

1 2 1

1

2

1

1

2

1

1

2

1

1

1

68

144

1 2 1

1

2

2

1

1

1

1

2

1

1

1

69

145

1 2 1

2

2

1

1

1

1

1

2

1

1

1

70

146

1  1

1

2

1

1

1

1

1

2

1

1

1

71

210

1 1 2

1

1

1

1

1

1

1

2

3

1

1

72

2 1

1

1

2

1

1

1

1

1

1

2

2

2

1

1

73

212

1 1 2

1

1

1

1

1

1

3

2

1

1

1

74

213

1 1 2

1

1

1

1

2

1

1

2

2

1

1

75

214

1 1 2

1

1

1

1

2

1

2

2

1

1

1

76

215

1 1 2

1

1

1

1

3

1

1

2

1

1

1

77

216

1 1 2

1

1

2

1

1

1

1

2

2

1

1

78

217

1 1 2

1

1

2

1

1

1

2

2

1

1

1

79

220

1 1 2

2

1

1

1

1

1

1

2

2

1

1

80

316

2 1 1

1

1

1

1

1

1

2

2

2

1

1

81

317

2 1 1

1

1

1

1

1

1

3

2

1

1

1


54

X 0509

:2012 (ISO/IEC 24724:2011)

シーケンス

a)

エレメント幅(最も左のスペースから最も右のバーまで)

S1 B1 S2

B2

S3

B3

S4

B4

S5

B5

S6 B6 S7 B7

82 318 2

1

1

1

1

1

1

2

1

1

2

2

1

1

83 319 2

1

1

1

1

1

1

2

1

2

2

1

1

1

84 320 2

1

1

1

1

1

1

3

1

1

2

1

1

1

85 322 2

1

1

1

1

2

1

1

1

2

2

1

1

1

86 323 2

1

1

1

1

2

1

2

1

1

2

1

1

1

87 326 2

1

1

2

1

1

1

1

1

2

2

1

1

1

88 337 2

1

1

1

1

1

1

1

2

2

1

2

1

1

a)

シーケンスは,最初の 6 スペース及び最初の 6 バーが 8 モジュールとなる全ての組合せ

に対して,

附属書 の“getRSSwidths”が生成した 21×21=441 通り(番号は 0∼440)

のパターンシーケンスの中のシーケンス番号である。このシーケンスは,

“スペースパ

ターン値”×21)+“バーパターン値”として計算する。バー幅及びスペース幅の一覧

の代わりに,シーケンス番号の一覧を用いて,チェックキャラクタセットを定義するこ
ともできる。

バー及びスペースを生成するための getRSSwidths の引数は,次のとおりである。

val

=スペース又はバーに対する“スペースパターン値”又は“バーパターン値”

(0∼20)

n

=8,

elements

=6,

maxWidth

=3,

noNarrow

=1


55

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 D 
(規定)

GS1-128

エミュレーションモードでの長い GS1 データバー拡張型又は

GS1

データバー拡張多層型シンボルの分割

GS1-128

エミュレーションモードでは,48 データキャラクタを超える GS1 データバー拡張型及び GS1

データバー拡張多層型シンボルは,送信する前に二つに分割しなければならない。この分割は,48 キャラ

クタという制限を超えるデータを送信しようとする AI エレメント列の先頭で行わなければならない。AI

エレメント列は,FNC1 セパレータによって,又は,

表 D.1 に示す固定長の AI エレメント列の終わりのい

ずれかによって決定される。リーダは,次の手順を実行して,48 キャラクタを超える AI エレメント列を

見つけなければならない。

a)

 GS1

データバー拡張型及び GS1 データバー拡張多層型シンボルに含まれるデータが,48 キャラクタ

を超える場合は,シンボルの先頭から検査を始める。

b)

一次元コンポーネントのデータから,先頭の 2 桁(AI の先頭 2 桁)を検査する。

c)

その 2 桁が

表 D.1 にある場合,表 D.1 の AI 項目が示すキャラクタ数だけスキップする。

d)

その 2 桁が

表 D.1 にない場合,AI もこの表に含まれておらず,その AI は事前に定義した固定長の AI

ではない。最初に FNC1 が現れるか,又はシンボルの末尾に達するまで,データを順方向に検索する。

e)

キャラクタ数が 48 キャラクタの制限を超えた場合は,処理した最後のエレメント列の先頭でデータを

分割する。それ以外の場合は,次に続く 2 桁(次の AI の先頭 2 桁)を検査し,手順 c)に進む。

最初のメッセージが FNC1 で終了する場合は,その FNC1 を送信しない。

表 D.1−事前に定義した長さをもつアプリケーション識別子 

アプリケーション識別子の
最初の 2 桁

キャラクタ数(アプリケー
ション識別子及びデータ領
域)

アプリケーション識別子の
最初の 2 桁

キャラクタ数(アプリケー
ション識別子及びデータ領
域)

00 20 18  8

01 16 19  8

02 16 20  4

03 16 23

2n

+4

a)

04 18 31 10

11 8 32 10

12 8 33 10

13 8 34 10

14 8 35 10

15 8 36 10

16 8 41 16

17 8

a)

ここに,n はアプリケーション識別子の 3 番目(23 の直後)の桁である。

アプリケーション識別子の内,最初の 2 桁が

表 D.1 に示されている値と一致するものだけを“固定長”

とみなす。その他のアプリケーション識別子は,長さが一定のエレメント列データをもつと定義すること

もできるが,これらのエレメント列は,事前に定義された長さの表に示されていないため,

“可変長”とみ


56

X 0509

:2012 (ISO/IEC 24724:2011)

なさなければならない。将来も,この表に追加はしない。


57

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 E

(参考)

シンボルエレメント

表 E.1,表 E.2 及び表 E.3 は,GS1 データバーファミリに含む,全てのエレメントを順番に説明したも

のである。

表 E.1GS1 データバー標準型,GS1 データバー切詰型,GS1 データバー二層型及び GS1 データバー標準

二層型エレメントの説明 

エレメント 

バー又はスペース 

内容 

1

スペース

左ガードパターンの外側エレメント(1 モジュール幅)

2

バー

左ガードパターンの内側エレメント(1 モジュール幅)

3

スペース

シンボルキャラクタ 1,奇数エレメント 1

4

バー

シンボルキャラクタ 1,偶数エレメント 1

5

スペース

シンボルキャラクタ 1,奇数エレメント 2

6

バー

シンボルキャラクタ 1,偶数エレメント 2

7

スペース

シンボルキャラクタ 1,奇数エレメント 3

8

バー

シンボルキャラクタ 1,偶数エレメント 3

9

スペース

シンボルキャラクタ 1,奇数エレメント 4

10

バー

シンボルキャラクタ 1,偶数エレメント 4

11

スペース

左チェックキャラクタ,エレメント 1

12

バー

左チェックキャラクタ,エレメント 2

13

スペース

左チェックキャラクタ,エレメント 3

14

バー

左チェックキャラクタ,エレメント 4(1 モジュール幅)

15

スペース

左チェックキャラクタ,エレメント 5(1 モジュール幅)

16

バー

シンボルキャラクタ 2,偶数エレメント 4

17

スペース

シンボルキャラクタ 2,奇数エレメント 4

18

バー

シンボルキャラクタ 2,偶数エレメント 3

19

スペース

シンボルキャラクタ 2,奇数エレメント 3

20

バー

シンボルキャラクタ 2,偶数エレメント 2

21

スペース

シンボルキャラクタ 2,奇数エレメント 2

22

バー

シンボルキャラクタ 2,偶数エレメント 1

23

スペース

シンボルキャラクタ 2,奇数エレメント 1

24

バー

シンボルキャラクタ 4,奇数エレメント 1

25

スペース

シンボルキャラクタ 4,偶数エレメント 1

26

バー

シンボルキャラクタ 4,奇数エレメント 2

27

スペース

シンボルキャラクタ 4,偶数エレメント 2

28

バー

シンボルキャラクタ 4,奇数エレメント 3

29

スペース

シンボルキャラクタ 4,偶数エレメント 3

30

バー

シンボルキャラクタ 4,奇数エレメント 4

31

スペース

シンボルキャラクタ 4,偶数エレメント 4

32

バー

右チェックキャラクタエレメント 5(1 モジュール幅)

33

スペース

右チェックキャラクタエレメント 4(1 モジュール幅)

34

バー

右チェックキャラクタエレメント 3

35

スペース

右チェックキャラクタエレメント 2

36

バー

右チェックキャラクタエレメント 1


58

X 0509

:2012 (ISO/IEC 24724:2011)

表 E.1GS1 データバー標準型,GS1 データバー切詰型,GS1 データバー二層型及び GS1 データバー標準

二層型エレメントの説明(続き) 

エレメント 

バー又はスペース 

内容 

37

スペース

データキャラクタ 3,偶数エレメント 4

38

バー

シンボルキャラクタ 3,奇数エレメント 4

39

スペース

シンボルキャラクタ 3,偶数エレメント 3

40

バー

シンボルキャラクタ 3,奇数エレメント 3

41

スペース

シンボルキャラクタ 3,偶数エレメント 2

42

バー

シンボルキャラクタ 3,奇数エレメント 2

43

スペース

シンボルキャラクタ 3,偶数エレメント 1

44

バー

シンボルキャラクタ 3,奇数エレメント 1

45

スペース

右ガードパターンの内側エレメント(1 モジュール幅)

46

バー

右ガードパターンの外側エレメント(1 モジュール幅)

表 E.2GS1 データバー限定型エレメントの説明 

エレメント 

バー又はスペース 

内容 

1

スペース

左ガードパターンの外側エレメント(1 モジュール幅)

2

バー

左ガードパターンの内側エレメント(1 モジュール幅)

3

スペース

左シンボルキャラクタ,エレメント 1,奇数エレメント 1

4

バー

左シンボルキャラクタ,エレメント 2,偶数エレメント 1

5

スペース

左シンボルキャラクタ,エレメント 3,奇数エレメント 2

6

バー

左シンボルキャラクタ,エレメント 4,偶数エレメント 2

7

スペース

左シンボルキャラクタ,エレメント 5,奇数エレメント 3

8

バー

左シンボルキャラクタ,エレメント 6,偶数エレメント 3

9

スペース

左シンボルキャラクタ,エレメント 7,奇数エレメント 4

10

バー

左シンボルキャラクタ,エレメント 8,偶数エレメント 4

11

スペース

左シンボルキャラクタ,エレメント 9,奇数エレメント 5

12

バー

左シンボルキャラクタ,エレメント 10,偶数エレメント 5

13

スペース

左シンボルキャラクタ,エレメント 11,奇数エレメント 6

14

バー

左シンボルキャラクタ,エレメント 12,偶数エレメント 6

15

スペース

左シンボルキャラクタ,エレメント 13,奇数エレメント 7

16

バー

左シンボルキャラクタ,エレメント 14,偶数エレメント 7

17

スペース

チェックキャラクタエレメント 1

18

バー

チェックキャラクタエレメント 2

19

スペース

チェックキャラクタエレメント 3

20

バー

チェックキャラクタエレメント 4

21

スペース

チェックキャラクタエレメント 5

22

バー

チェックキャラクタエレメント 6

23

スペース

チェックキャラクタエレメント 7

24

バー

チェックキャラクタエレメント 8

25

スペース

チェックキャラクタエレメント 9

26

バー

チェックキャラクタエレメント 10

27

スペース

チェックキャラクタエレメント 11

28

バー

チェックキャラクタエレメント 12

29

スペース

チェックキャラクタエレメント 13(1 モジュール幅)

30

バー

チェックキャラクタエレメント 14(1 モジュール幅)

31

スペース

右シンボルキャラクタ,エレメント 1,奇数エレメント 1


59

X 0509

:2012 (ISO/IEC 24724:2011)

表 E.2GS1 データバー限定型エレメントの説明(続き) 

エレメント 

バー又はスペース 

内容 

32

バー

右シンボルキャラクタ,エレメント 2,偶数エレメント 1

33

スペース

右シンボルキャラクタ,エレメント 3,奇数エレメント 2

34

バー

右シンボルキャラクタ,エレメント 4,偶数エレメント 2

35

スペース

右シンボルキャラクタ,エレメント 5,奇数エレメント 3

36

バー

右シンボルキャラクタ,エレメント 6,偶数エレメント 3

37

スペース

右シンボルキャラクタ,エレメント 7,奇数エレメント 4

38

バー

右シンボルキャラクタ,エレメント 8,偶数エレメント 4

39

スペース

右シンボルキャラクタ,エレメント 9,奇数エレメント 5

40

バー

右シンボルキャラクタ,エレメント 10,偶数エレメント 5

41

スペース

右シンボルキャラクタ,エレメント 11,奇数エレメント 6

42

バー

右シンボルキャラクタ,エレメント 12,偶数エレメント 6

43

スペース

右シンボルキャラクタ,エレメント 13,奇数エレメント 7

44

バー

右シンボルキャラクタ,エレメント 14,偶数エレメント 7

45

スペース

右ガードパターンの内側エレメント(1 モジュール幅)

46

バー

右ガードパターンの外側エレメント(1 モジュール幅)

47

スペース

右ガードパターンの外側エレメント(5 モジュール幅)

表 E.3GS1 データバー拡張型(セグメントフォーマット)エレメントの説明 

エレメント 

バー又はスペース 

内容 

1

スペース

左ガードパターンの外側エレメント(1 モジュール幅)

2

バー

左ガードパターンの内側エレメント(1 モジュール幅)

3

スペース

シンボルキャラクタ 1,奇数エレメント 1(4 モジュール以下に制限)

4

バー

シンボルキャラクタ 1,偶数エレメント 1

5

スペース

シンボルキャラクタ 1,奇数エレメント 2

6

バー

シンボルキャラクタ 1,偶数エレメント 2

7

スペース

シンボルキャラクタ 1,奇数エレメント 3

8

バー

シンボルキャラクタ 1,偶数エレメント 3

9

スペース

シンボルキャラクタ 1,奇数エレメント 4

10

バー

シンボルキャラクタ 1,偶数エレメント 4

11

スペース

位置検出パターン A1,エレメント 1

12

バー

位置検出パターン A1,エレメント 2

13

スペース

位置検出パターン A1,エレメント 3

14

バー

位置検出パターン A1,エレメント 4(1 モジュール幅)

15

スペース

位置検出パターン A1,エレメント 5(1 モジュール幅)

16

バー

シンボルキャラクタ 2,偶数エレメント 4

17

スペース

シンボルキャラクタ 2,奇数エレメント 4

18

バー

シンボルキャラクタ 2,偶数エレメント 3

19

スペース

シンボルキャラクタ 2,奇数エレメント 3

20

バー

シンボルキャラクタ 2,偶数エレメント 2

21

スペース

シンボルキャラクタ 2,奇数エレメント 2

22

バー

シンボルキャラクタ 2,偶数エレメント 1

23

スペース

シンボルキャラクタ 2,奇数エレメント 1(4 モジュール以下に制限)

24

バー

シンボルキャラクタ 3,奇数エレメント 1(4 モジュール以下に制限)

25

スペース

シンボルキャラクタ 3,偶数エレメント 1

26

バー

シンボルキャラクタ 3,奇数エレメント 2

27

スペース

シンボルキャラクタ 3,偶数エレメント 2


60

X 0509

:2012 (ISO/IEC 24724:2011)

表 E.3GS1 データバー拡張型(セグメントフォーマット)エレメントの説明(続き) 

エレメント 

バー又はスペース 

内容 

28

バー

シンボルキャラクタ 3,奇数エレメント 3

29

スペース

シンボルキャラクタ 3,偶数エレメント 3

30

バー

シンボルキャラクタ 3,奇数エレメント 4

31

スペース

シンボルキャラクタ 3,偶数エレメント 4

32

バー

位置検出パターン B2,エレメント 5(1 モジュール幅)

33

スペース

位置検出パターン B2,エレメント 4(1 モジュール幅)

34

バー

位置検出パターン B2,エレメント 3

35

スペース

位置検出パターン B2,エレメント 2

36

バー

位置検出パターン B2,エレメント 1

37

スペース

シンボルキャラクタ 4,偶数エレメント 4

38

バー

シンボルキャラクタ 4,奇数エレメント 4

39

スペース

シンボルキャラクタ 4,偶数エレメント 3

40

バー

シンボルキャラクタ 4,奇数エレメント 3

41

スペース

シンボルキャラクタ 4,偶数エレメント 2

42

バー

シンボルキャラクタ 4,奇数エレメント 2

43

スペース

シンボルキャラクタ 4,偶数エレメント 1

44

バー

シンボルキャラクタ 4,奇数エレメント 1(4 モジュール以下に制限)

45

スペース

シンボルキャラクタ 5,奇数エレメント 1(4 モジュール以下に制限)

46

バー

シンボルキャラクタ 5,偶数エレメント 1

47

スペース

シンボルキャラクタ 5,奇数エレメント 2

48

バー

シンボルキャラクタ 5,偶数エレメント 2

49

スペース

シンボルキャラクタ 5,奇数エレメント 3

50

バー

シンボルキャラクタ 5,偶数エレメント 3

51

スペース

シンボルキャラクタ 5,奇数エレメント 4

52

バー

シンボルキャラクタ 5,偶数エレメント 4

53

スペース

位置検出パターン B1,エレメント 1

54

バー

位置検出パターン B1,エレメント 2

55

スペース

位置検出パターン B1,エレメント 3

56

バー

位置検出パターン B1,エレメント 4(1 モジュール幅)

57

スペース

位置検出パターン B1,エレメント 5(1 モジュール幅)

58

バー

シンボルキャラクタ 6,偶数エレメント 4

59

スペース

シンボルキャラクタ 6,奇数エレメント 4

60

バー

シンボルキャラクタ 6,偶数エレメント 3

61

スペース

シンボルキャラクタ 6,奇数エレメント 3

62

バー

シンボルキャラクタ 6,偶数エレメント 2

63

スペース

シンボルキャラクタ 6,奇数エレメント 2

64

バー

シンボルキャラクタ 6,偶数エレメント 1

65

スペース

シンボルキャラクタ 6,奇数エレメント 1(4 モジュール以下に制限)

66

バー

右ガードパターンの内側エレメント(1 モジュール幅)

67

スペース

右ガードパターンの外側エレメント(1 モジュール幅)


61

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 F

(参考) 
符号化例

F.1 GS1

データバー標準型及び GS1 データバー切詰型 

図 F.1 の GS1 合成シンボルに含む GS1 データバー標準型一次元コンポーネントは,連結フラグ“1”(二

次元コンポーネントが存在することを示す。

)及び商品識別番号“24012345678905”を符号化したものであ

る。

図 F.1GS1 合成シンボルの例 

GS1

データバー標準型一次元コンポーネントのエレメント幅は,次の手順で求める。

a)

シンボルの値は,連結フラグ“10000000000000”+商品識別番号“2401234567890”=“12401234567890”

である(チェックディジットの“5”を含めない。

b)

左側及び右側のシンボルキャラクタ組の値は,次のとおりである。

309

733

2

077

537

4

div

890

567

234

401

12

left

=

=

097

170

1

077

537

4

mod

890

567

234

401

12

right

=

=

c)

四つのシンボルキャラクタは,次のとおりである。

data 1

=left div 1 597=2 733 309 div 1 597=1 711

data 2

=left mod 1 597=2 733 309 mod 1 597=842

data 3

=right div 1 597=1 170 097 div 1 597=732

data 4

=right mod 1 597=1 170 097 mod 1 597=1 093

d)

四つのシンボルキャラクタの奇数サブセット及び偶数サブセットの値は,次のとおりである。

data 1

は(16,4)であり,1 711 の値はグループ 3 にあるため,奇数サブセット及び偶数サブセットの

モジュール数は 8 及び 8 である。V

ODD

及び V

EVEN

を求める計算式に data 1 の値を当てはめる。

22

34

div

750

34

div

961)

711

(1

34

div

961)

(data1

V

ODD1

=

=

=

=

2

34

mod

750

34

mod

961)

711

(1

34

mod

961)

(data1

V

EVEN1

=

=

=

=

data 2

は(15,4)であり,842 の値はグループ 2 にあるため,奇数サブセット及び偶数サブセットのモ

ジュール数は 7 及び 8 である。V

EVEN

及び V

ODD

を求める計算式に data 2 の値を当てはめる。

V

EVEN2

=(data 2−336)div 20=(842−336) div 20=506 div 20=25

V

ODD2

=(data 2−336)mod 20=(842−336) mod 20=506 mod 20=6

data 3

は(16,4)であり,732 の値はグループ 2 にあるため,奇数サブセット及び偶数サブセットのモ

ジュール数は 10 及び 6 である。V

ODD

及び V

EVEN

を求める計算式に data 3 の値を当てはめる。

V

ODD3

=(data 3−161)div 10=(732−161) div 10=571 div 10=57


62

X 0509

:2012 (ISO/IEC 24724:2011)

V

EVEN3

=(data 3−161)mod 10=(732−161) mod 10=571 mod 10=1

data 4

は(15,4)であり,1 093 の値はグループ 3 にあるため,奇数サブセット及び偶数サブセットの

モジュール数は 9 及び 6 である。V

EVEN

及び V

ODD

を求める計算式に data 4 の値を当てはめる。

V

EVEN4

=(data 4−1 036)div 48=(1 093−1 036) div 48=57 div 48=1

V

ODD4

=(data 4−1 036)mod 48=(1 093−1 036) mod 48=57 mod 48=9

注記  対応国際規格では“V

EVEN4

=(data 4−1 036) div 20…”及び“V

ODD4

=(data 4−1 036) mod 20…”

であるが,誤りであるため“V

EVEN4

=(data 4−1 036) div 48…”及び“V

ODD4

=(data 4−1 036) mod

48

…”にした。

e)

附属書 の GS1 データバーサブセット幅アルゴリズムによって,サブセットの値から次の幅を得る。

odd 1 (value 22) = 3 1 1 3

even 1 (value 2) = 1 1 3 3

したがって,data 1 のエレメント列は{3 1 1 1 1 3 3 3}である。

odd 2 (value 6) = 1 2 3 1

even 2 (value 25) = 3 1 1 3

したがって,data 2 のエレメント列は{1 3 2 1 3 1 1 3}である(左右が反転する。

odd 3 (value 57) = 3 3 3 1

even 3 (value 1) = 1 1 2 2

したがって,data 3 のエレメント列は{3 1 3 1 3 2 1 2}である(左右が反転する。

odd 4 (value 9) = 1 2 4 2

even 4 (value 1) = 1 1 2 2

したがって,data 4 のエレメント列は{1 1 2 1 4 2 2 2}である。

f)

チェックサムを計算する。

data 1: 3

×1+1×3+1×9+1×27+1×2+3×6+3×18+3×54     =278

data 2: 1

×4+3×12+2×36+1×29+3×8+1×24+1×72+3×58  =435

data 3: 3

×16+1×48+3×65+1×37+3×32+2×17+1×51+2×74=657

data 4: 1

×64+1×34+2×23+1×69+4×49+2×68+2×46+2×59=755

        合計     2 125

したがって,チェックサムは,2 125 mod 79 = 71 である。

g)

チェックサムから,二つのチェックキャラクタを計算する。

71

は 8 以上であるため,中間位置検出パターンの組の値は 71 + 1 = 72 である。

72

は 72 以上であるため,位置検出パターンの組の値は 72 + 1 = 73 である。

左チェックキャラクタは  73 div 9 = 8

右チェックキャラクタは  73 mod 9 = 1

左チェックキャラクタ“8”のエレメント列は{1 3 9 1 1}である。

右チェックキャラクタ“1”のエレメント列は{3 5 5 1 1}である(左右が反転する。

h)

シンボルのエレメント幅は,左側のガードパターン,シンボルキャラクタ 1,左側のチェックキャラ

クタ,シンボルキャラクタ 2(左右反転)

,シンボルキャラクタ 4,右側のチェックキャラクタ(左右

反転)

,シンボルキャラクタ 3(左右反転)

,右側のガードパターンの順になり,全体は次のとおりで

ある。

{1 1, 3 1 1 1 1 3 3 3, 1 3 9 1 1, 3 1 1 3 1 2 3 1, 1 1 2 1 4 2 2 2, 1 1 5 5 3, 2 1 2 3 1 3 1 3, 1 1}


63

X 0509

:2012 (ISO/IEC 24724:2011)

F.2 GS1

データバー限定型 

図 F.2 の GS1 データバー限定型シンボルは,商品識別番号“00098765432105”を符号化したものである。

図 F.2GS1 データバー限定型シンボルの例 

GS1

データバー限定型シンボルのエレメント幅は,次の手順で求める。

a)

商品識別番号が 00098765432105 のとき,シンボルの値は 9876543210 である(チェックディジット“5”

を含めない。

b)

左側及び右側のシンボルキャラクタ値は,次のとおりである。

904

4

571

013

2

div

210

543

876

9

left

=

=

026

991

1

571

013

2

mod

210

543

876

9

right

=

=

c)

二つのシンボルキャラクタの奇数サブセット及び偶数サブセットの値は,次のとおりである。

値 4 904 の左側のデータは,グループ 1 にあるため,奇数/偶数サブセットのモジュール数は 17/9

である。したがって,次のようになる。

175

28

div

904

4

28

div

0)

data

(left

odd

left

=

=

=

4

28

mod

904

4

28

mod

0)

data

(left

even

left

=

=

=

値 1 991 026 の右側のデータは,グループ 6 にあるため,奇数/偶数サブセットのモジュール数は

19/7

である。したがって,次のようになる。

181

11

1

div

181

11

1

div

845)

979

1

data

(right

odd

right

=

=

=

0

1

mod

181

11

1

mod

845)

979

1

data

(right

even

right

=

=

=

d)

附属書 の GS1 データバーサブセット幅アルゴリズムによって,サブセットの値から次の幅を得る。

left odd

(value 175)= {1 1 2 2 2 4 5}

left even

(value 4)= {1 1 1 1 2 2 1}

したがって,左側データのエレメント列は,{1 1 1 1 2 1 2 1 2 2 4 2 5 1}である。

right odd

(value 11 181)= {3 3 1 3 5 2 2}

right even

(value 0)= {1 1 1 1 1 1 1}

したがって,右側のエレメント列は,{3 1 3 1 1 1 3 1 5 1 2 1 2 1}である。

e)

チェックサムを計算する。

926

66

1

22

5

37

2

42

4

14

2

64

2

51

1

17

2

65

1

81

2

27

1

9

1

3

1

1

1

data

left

=

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

=

995

74

1

84

2

28

1

39

2

13

1

34

5

41

1

73

3

54

1

18

1

6

1

2

3

60

1

20

3

data

right

=

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

=

したがって,チェックサムは

(926 + 995) mod 89 = 52

である。

f)

附属書 から,値

52

のエレメント幅は,

{1 1 1 2 1 1 2 1 1 2 2 1 1 1}

である。

g)

シンボルのエレメント幅は,左側のガードパターン,左側のシンボルキャラクタ,チェックキャラク

タ,右側のシンボルキャラクタ,右側のガードパターンの順に,次のようになる。

{1 1, 1 1 1 1 2 1 2 1 2 2 4 2 5 1, 1 1 1 2 1 1 2 1 1 2 2 1 1 1, 3 1 3 1 1 1 3 1 5 1 2 1 2 1, 1 1}


64

X 0509

:2012 (ISO/IEC 24724:2011)

F.3 GS1

データバー拡張型 

図 F.3 

GS1

データバー拡張型シンボルは,データ“

(10)12A

”を符号化したものである。この例のデー

タには,商品識別番号を含んでいない。単に,説明のために示したものである。

図 F.3GS1 データバー拡張型シンボルの例 

GS1

データバー拡張型シンボルのエレメント幅は,次の手順で求める。

a)

このシンボルは,

1012A

を符号化する。

b)

ビット領域は,次のとおりである。

連結フラグ

 =

0

(二次元コンポーネントはない)

符号化方式

 =

00

AI 01

ではない)

可変長ビット

 =

00

(偶数セグメント,グループ

1

データビット

10   = 0010011

(数字符号化)

12 =

0010101

(数字符号化)

0000

(英数字切換え)

 A

=

100000

(英数字符号化)

埋め草(パディング)

 =

0010000

したがって,データエレメント列は,

{000000010011001010100001000000010000}

である。

注記

この例は,7.2.5 に記述された方法に従っている。

c)

 12

ビット値にグループ化したデータは,

000000010011

001010100001

及び

000000010000

である。三

つのシンボルキャラクタ値は,次のとおりである。

シンボルキャラクタ

1 = 000000010011 = 19

シンボルキャラクタ

2 = 001010100001 = 673

シンボルキャラクタ

3 = 000000010000 = 16

d)

二つのシンボルキャラクタの奇数サブセット及び偶数サブセットの値は,次のとおりである。

シンボルキャラクタ

1

の値は

19

で,グループ

1

にあるため,奇数/偶数サブセットのモジュール数

12/5

である。したがって,次のようになる。

4

4

div

19

4

div

0)

1

(data

1

odd

=

=

=

3

4

mod

19

4

mod

0)

1

(data

1

even

=

=

=

シンボルキャラクタ

2

の値は

673

で,グループ

2

にあるため,奇数/偶数サブセットのモジュール

数が

10/7

である。したがって,次のようになる。

16

20

div

325

20

div

348)

2

(data

2

odd

=

=

=

5

20

mod

325

20

mod

348)

2

(data

2

even

=

=

=

シンボルキャラクタ

3

の値は

16

で,グループ

1

にあるため,奇数/偶数サブセットのモジュール数

12/5

である。したがって,次のようになる。

4

4

div

16

4

div

0)

3

(data

3

odd

=

=

=


65

X 0509

:2012 (ISO/IEC 24724:2011)

0

4

mod

16

4

mod

0)

3

(data

3

even

=

=

=

e)

附属書 の拡張形

GS1

データバーサブセット幅アルゴリズムによって,サブセットの値から次の幅を

得る。

odd 1

value 4

= {1 1 7 3}

even 1

value 3

= {2 1 1 1}

したがって,シンボルキャラクタ

1

のエレメント列は,

{1 2 1 1 7 1 3 1}

(左右が反転する。

)である。

odd 2

value 16

= {1 5 1 3}

even 2

value 5

= {1 2 2 2}

したがって,シンボルキャラクタ

2

のエレメント列は,

{1 1 5 2 1 2 3 2}

である。

odd 3

value 4

= {1 1 7 3}

even 3

value 0

= {1 1 1 2}

したがって,シンボルキャラクタ

3

のエレメント列は,

{1 1 1 1 7 1 3 2}

(左右が反転する。

)である。

f)

チェックサムを計算する。

007

1

77

1

96

3

32

1

81

7

27

1

9

1

3

2

1

1

1

data

=

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

=

562

1

63

2

21

3

7

2

143

1

118

1

180

5

60

1

20

1

2

data

=

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

=

382

2

205

2

209

3

140

1

117

7

39

1

13

1

145

1

189

1

3

data

=

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

=

したがって,チェックサムは,

(1 007 + 1 562 + 2 382) mod 211 = 98

である。

g)

チェックキャラクタを計算する。

98

98

4)

211(length

=

+

チェックキャラクタの奇数サブセット及び偶数サブセットの値は,次のとおりである。

チェックキャラクタの値

98

は,グループ

1

にあるため,奇数/偶数サブセットのモジュール数が

12/5

である。したがって,次のようになる。

24

4

div

98

4

div

check

c

odd

=

=

=

2

4

mod

98

4

mod

check

c

even

=

=

=

附属書 

GS1

データバー拡張型サブセット幅アルゴリズムによって,サブセットの値から次の幅

を得る。

odd c

value 24

= {1 5 1 5}

even c

value 2

= {1 2 1 1}

したがって,チェックキャラクタのエレメント列は,

{1 1 5 2 1 1 5 1}

である。

h)

シンボルのエレメント幅は,左側のガードパターン,位置検出パターン

A1

,シンボルキャラクタ

1

(左

右反転)

,シンボルキャラクタ

2

,位置検出パターン

A2

,シンボルキャラクタ

3

(左右反転)及び右

側のガードパターンの順になり,全体は,次のとおりである。

{1 1, 1 1 5 2 1 1 5 1, 1 8 4 1 1, 1 3 1 7 1 1 2 1,1 1 5 2 1 2 3 2, 1 1 4 8 1, 2 3 1 7 1 1 1 1, 1 1}


66

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 G 
(参考)

C

言語によるエレメント幅復号器

#include <stdio.h>

/**********************************************************************

* These two routines -- elements() and elementsExp() --

* take as inputs:

* eDist[] = the first (2*K)-2 edge-to-similar-edge normalized values

* (starting always from the Finder outward!!), and

* N and K which define the character structure,

* and they fill as output:

* widths[] = the 2*K derived element widths.

*

* For RSS-14 characters, call:

* elements(*eDist,*widths,15,4) for the inside characters &

* elements(*eDist,*widths,16,4) for the outside characters.

*

* For RSS Limited characters, call elements(*eDist,*widths,26,7).

*

* For RSS Expanded characters, call elementsExp(*eDist,*widths,17,4).

*

**********************************************************************/

/**********************************************************************

* elements() determines the element widths of an (n,k) character with

* at least one even-numbered element that's just one module wide.

* (Note: even-numbered elements - 2nd, 4th, 6th, etc., have odd indexes)

**********************************************************************/

void elements (int *eDist, int *widths, int N, int K) {

int i;

int minEven;

int barSum;

/* derive element widths from normalized edge-to-similar-edge measurements */

minEven = 10; /* start with a too big minimum */

barSum = widths[0] = 1; /* first assume 1st bar is 1 */

for (i = 1; i < K*2-2; i += 2) {

widths[i] = eDist[i-1] - widths[i-1];

widths[i+1] = eDist[i] - widths[i];

barSum += widths[i] + widths[i+1];


67

X 0509

:2012 (ISO/IEC 24724:2011)

if (widths[i] < minEven) minEven = widths[i];

}

widths[K*2-1] = N - barSum; /* last even element makes N modules */

if (widths[K*2-1] < minEven) minEven = widths[K*2-1];

if (minEven > 1) {

/* minimum even width is too big, readjust so minimum even is 1 */

for (i = 0; i < K*2; i += 2) {

widths[i] += minEven-1;

widths[i+1] -= minEven-1;

}

}

return;

}

/**********************************************************************

* elementsExp() determines the element widths of an (n,k) character with at least one odd-numbered element

that's just one * module wide (Note: odd-numbered elements - 1st, 3rd, 5th, etc., have even indexes)

**********************************************************************/

void elementsExp (int *eDist, int *widths, int N, int K) {

int i;

int minOdd;

int barSum;

/* derive element widths from normalized edge-to-similar-edge measurements */

minOdd = 8; /* start with minimum == assumed first element width */

barSum = widths[0] = 8; /* first assume 1st bar is max, 8 */

for (i = 1; i < K*2-2; i += 2) {

widths[i] = eDist[i-1] - widths[i-1];

widths[i+1] = eDist[i] - widths[i];

barSum += widths[i] + widths[i+1];

if (widths[i+1] < minOdd) minOdd = widths[i+1];

}

widths[K*2-1] = N - barSum; /* last even element makes N modules */

if (minOdd > 1) {

/* minimum odd width is too big, readjust so minimum odd is 1 */

for (i = 0; i < K*2; i += 2) {

widths[i] -= minOdd-1;

widths[i+1] += minOdd-1;

}

}

return;


68

X 0509

:2012 (ISO/IEC 24724:2011)

}

/**********************************************************************

* main() demonstrates the "elements" subroutines for RSS-14, RSS Limited, and RSS Expanded.

**********************************************************************/

void main (void) {

int eDist14[6] = { 5,3,3,3,4,5 };

int eDistLim[12] = { 2,3,4,3,4,4,6,6,2,2,3,4 };

int eDistExp[6] = { 2,3,3,3,3,3 };

int widths[14];

int i;

/* for RSS-14 outside character */

elements(eDist14, widths, 16,4);

printf("¥nRSS 14 (16,4) elements: ");

for (i = 0; i < 8; i++) printf("%d ", widths[i]);

/* for RSS-14 inside character */

elements(eDist14, widths, 15,4);

printf("¥nRSS 14 (15,4) elements: ");

for (i = 0; i < 8; i++) printf("%d ", widths[i]);

/* for RSS Limited */

elements(eDistLim, widths, 26,7);

printf("¥nRSS Limited elements: ");

for (i = 0; i < 14; i++) printf("%d ", widths[i]);

/* for RSS Expanded */

elementsExp(eDistExp, widths, 17,4);

printf("¥nRSS Expanded elements: ");

for (i = 0; i < 8; i++) printf("%d ", widths[i]);

printf("¥n");

return;

}


69

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 H 
(参考)

読誤りを少なくするために

H.1 

概要 

GS1

データバー限定型を除く全ての

GS1

データバーのバージョンは,それぞれが位置検出パターン及び

隣接するシンボルキャラクタを含むセグメント単位で走査できるように設計している。スキャナによって

は,多方向走査を効率よく行うために,

1

セグメントごとの復号を必要とする場合がある。これらのスキ

ャナでは,見せかけのセグメント(例えば,画像内又はシンボル中の誤った位置で見られる。

)による読誤

りの可能性を最小にすることが重要である。さらに,全てのスキャナ及び全ての

GS1

データバーシンボル

GS1

データバー限定型を含む。

)では,シンボルチェック値をシンボルキャラクタ値ではなくエレメン

ト幅から得るので,一つのシンボルキャラクタに二つのエッジ誤りがあると検出されない場合があり,シ

ンボルの読誤りの原因になる。

GS1

データバー標準型シンボルで,二つのエッジ誤りが検出されない例を

図 H.1 に示す。上側のシンボ

ルは,走査した本来のシンボルであり,下側のシンボルは,上側のシンボルを読み誤って復号したデータ

を元に再現したものである。

図 H.1−どちらも有効な GS1 データバー標準型シンボル 

(一つのシンボルキャラクタ内で,二つのエッジだけが異なる。

これらの

GS1

データバーシンボル体系の特性によって,データを冗長に取得するなどの,安全性を高め

る手段が必要となる。次に示すアルゴリズムを推奨するが,同程度の安全性が得られる他のアルゴリズム

でもよい。

H.2 

ボーティング 

a) 

ボーティングの仕組み 


70

X 0509

:2012 (ISO/IEC 24724:2011)

各走査によって集めたデータを処理中に,各々のセグメント位置(又は,

GS1

データバー限定型の

場合はシンボル全体を指す。

)を復号した候補値を蓄積する。各々のセグメント位置(

GS1

データバ

ー拡張型の場合が最大

24

GS1

データバー限定型が一つ及びそれ以外のシンボルが四つ。

)について

復号した候補値のリスト(それぞれ何回復号したかを含む。

)を別に保持する。

各走査の処理が終わった後は,どの走査で見つかったセグメントかにかかわらず,各々のセグメン

ト位置(又は

GS1

データバー限定型の場合はシンボル全体を指す。

)について,復号回数が最多の候

補値を選ぶ。あるセグメント位置(又は,

GS1

データバー限定型の場合はシンボル全体を指す。

)に

ついて選ぶ値は,次点の値よりも

2

回以上多く復号していることが必要である。もし,与えられた位

置の候補値が一つだけの場合でも,その値は

2

回以上復号している必要がある。

GS1

データバー限定型の場合は,シンボル全体が同じ値で

2

回以上復号していなければならない。

b) 

 

キャラクタ値が

A

B

C

及び

D

GS1

データバー標準型シンボルがあると仮定する。最初の走査

から得られた値が

AB

であり,

2

回目が

BCD

3

回目が

D

及び

4

回目が

ABC

であった。この時点で,

四つのキャラクタ全てが

2

回以上見つかっており,そのキャラクタを元に復号が継続できる。

4

回目の走査で得た値が

ABC

ではなく

ABE

だと仮定した場合,

3

番目のキャラクタ

E

は,違う値

である。

3

番目のキャラクタは,読み誤った値である。

3

番目のキャラクタについて,候補値の一つが

他の候補値よりも

2

回以上多く見つかるまで,走査を続けなければならない。

この例を続けると,次の走査が

ABC

,その次が

FBC

であった場合,最初のキャラクタ

F

は,違う

値である。

3

番目のキャラクタは,

C

に決定される。

C

は,

3

回復号されたが,

E

は,

1

回復号された

だけであり,

2

回の差がある。

直近の走査で

1

番目のキャラクタに読誤りがあった場合,既に,値

A

3

回見つかっており,

F

1

回だけであるために,

(直近の走査による値が,それまでの多数と違っていても)最初のキャラクタ

A

と認めることができ,もし,チェックディジットが位置検出パターンによって符号化した値と一

致するように計算されれば,復号が継続できる。

H.3 

段ごとの復号化 

スキャナの通常の使用方法として,走査線がシンボル全体又はシンボルの段を全て通過するように,ス

キャナの向きを調整する操作がある場合には,H.1 に示したボーティングに加えて,追加の安全対策を講

じることが望ましい。復号器では,少なくとも,隣り合う二つのセグメントを含むデータだけを受け付け

るのが望ましい。例えば,位置検出パターン−キャラクタ−キャラクタ−位置検出パターンの組合せ又は

キャラクタ−位置検出パターン−キャラクタの組合せである。したがって,位置検出パターン及びキャラ

クタだけしかないセグメントは受け付けないのがよい。

H.4 

一貫性の検査 

スキャナ設計者は,特に,単一のセグメント(一つのキャラクタ及び位置検出パターン)だけを走査し

たときに復号ができるように設計している場合,キャラクタからキャラクタまでの距離及びインクのにじ

みの一貫性を検査する機能を実装するのがよい。

a)

ピッチの検査

位置検出パターンの四つのエレメントを合計したピッチと,その位置検出パターンに隣り合うシン

ボルキャラクタのピッチとの比率を求め,名目比率に対して誤差が

7 %

を超えないことを確認する。


71

X 0509

:2012 (ISO/IEC 24724:2011)

この場合の位置検出パターンの四つのエレメントとは,細エレメントのペアの内,外側のエレメント

を除いた四つである。例えば,

1,5,7,1,1

}というパターンをもつ位置検出パターンのピッチは,初め

の四つのエレメント{

1,5,7,1

}の幅の合計である。

b)

インクにじみの検査

位置検出パターン内のバー幅の平均偏差と,隣接するシンボルキャラクタ内のバー幅の平均偏差と

の差が,

0.3X

以内であることを確認する。

H.5 GS1

データバー限定型復号についての考察 

この規格では,一部の

UPC-A

シンボルを,誤って

GS1

データバー限定型シンボルとして読むことを防

ぐために,

GS1

データバー限定型に対して,印刷及び復号に必要なガードバー要件を含める。

H.5.1 

初期の参照復号アルゴリズム及びガードバー 

旧規格(ISO/IEC 24724

:2006

)の参照復号アルゴリズムでは,復号するために,ガードバーの存在は必

須でなかったが,誤って読むことを防ぐには,正しいガードバーが存在することを確認することが不可欠

である。さらに,シンボルの最初のガードバーの左隣りに大きなスペースがあることを確認することも必

須である。

図 8(a)を見ると,初期の

GS1

データバー限定型は,次のようなガードパターンを含んでいる。

  1

モジュール幅以上のスペース及び

1

モジュールのバーから成る左側のガードパターン。

  1

モジュール幅のスペース及び

1

モジュール幅以上のバーから成る右側のガードパターン。

ここで,

図 8(a)及び図 8(b)(背景を暗にしたシンボル)に,より明確に描かれている最後のガード

スペースは,初期の

GS1

データバー限定型のガードパターンには含まれておらず,この規格の対応国際規

格で追加されたことに注意が必要である。

H.5.2 UPC-A

シンボルを(GS1 データバー限定型として)読み誤る可能性 

UPC

A

シンボルの中には,

図 H.2 の最上段シンボルに示すように,回転させた

GS1

データバー限定型

のシンボルが存在する場合があり,

“読誤り”を引き起こす可能性がある。すなわち,

UPC-A

シンボルを

走査し,

GS1

データバー限定型用の初期の参照復号アルゴリズムで復号すると,そのアルゴリズムでは,

正しい

GS1

データバー限定型のシンボルとして復号するが,この結果得られたデータは,

UPC-A

シンボ

ルに符号化された

GTIN

(商品識別コード)とは違うものになる。


72

X 0509

:2012 (ISO/IEC 24724:2011)

図 H.2−いずれも問題のある UPC-A の例(090704 及び 02 

データの先頭が

2

4

7

及び

9

GS1

企業コードでいえば,

02

04

07

及び

09

)の

UPC-A

シンボルの

中で,

“問題のあるシンボル”は,

1 332 350

個存在する。それぞれの例を,これらの数字に対応して読誤

りの結果生じる

GS1

データバー限定型シンボルとともに

図 H.2 に示す。読誤りは,これらの

UPC-A

シン

ボルで,又は,エッジ誤りによってこれらのシンボルに変化する類似のシンボルだけで起こる。

H.5.3 UPC-A

シンボルの読誤りを防ぐ方法 

次に示す三つの方法を

GS1

データバー限定型の初期の参照復号アルゴリズムに追加する。これらの方法

を盛り込んで改定した参照復号アルゴリズムを 6.2.6 に規定する。この三つの方法を組み合わせることに

よって,

UPC-A

シンボルの読誤りの可能性を,事実上取り除く。

GS1

データバー限定型を読み取るリーダ

には,この三つ又は同等な方法を実装しなければならない。

H.5.3.1 

手順 

2

7

図 H.3−“02(“04”も同じ)”の場合 


73

X 0509

:2012 (ISO/IEC 24724:2011)

初期の参照復号アルゴリズムは,ガードパターンの内側エレメントをチェックしていなかった。

例えば,

図 の,

GS1

データバー限定型シンボルを回転させたときに左側になる,右のガードパターン

を考察する。パターンは,データキャラクタ側から見て幅が常に

1X

のスペース及び幅が

1X

以上のバーで

ある。一方,問題となる

UPC-A

において対応するスペースの幅は

2X

である。

強化された現行のガードパターンの内側エレメントは,

2

及び

4

で始まる全ての

UPC-A

シンボルを“読

み誤る可能性のある”リストから除くことができる。

H.5.3.2 

手順 

図 H.4−“07(“09”も同じ)”の場合 

上記のシンボル対の読誤りは,初期の参照復号アルゴリズムでは避けられない。右ガードパターン(

H.4

のシンボル限定型の左側)は,データキャラクタ側から見て幅が常に

1X

のスペース及び幅が

1X

以上

のバーである。

追加の要件として,右ガードパターンの構成を,

1X

スペース,

1X

バー及び

5X

スペースとする。それ

によって,現行のプリンタ及び現存するほとんど全てのシンボルに影響を与えずに,

7

及び

9

で始まる全

ての

UPC-A

シンボルを“読み誤る可能性のある”リストから除くことができる。

既存のシンボルの幾つかは,影響を受ける。それらは,初期の規格によって許されていて,暗い背景に

印刷され,右ガードパターンのバーが背景に溶け込むシンボルである。これらのシンボルは,

GS1

データ

バー限定型シンボルとして復号されない。この規格では,シンボルの右ガードパターンの最後のエレメン

トとして,バーエレメントに続くスペースエレメントを常に生成しなければならない。

GS1

データバー限定型を復号するリーダは,類似又は同等の検査をしなければならない。

H.5.3.3 

手順 

この手順は,左ガードパターンのバーが太い

GS1

データバー限定型シンボルを含む

UPC-A

シンボルの

一部を走査する場合に,

図 H.5 で示すように,走査線の反対側で

UPC-A

キャラクタの存在を見つけるこ

とによって,読誤りを防止する。

2

図 H.50709 も同じ)の場合(シンボルの上部を通過して走査したとき) 


74

X 0509

:2012 (ISO/IEC 24724:2011)

参照復号は,リーダが部分走査によって読み誤ることを防ぐために,

UPC- A

シンボル(限定型シンボル

の左端)の終わりを検査するように修正された。

復号器は,

GS1

データバー限定型シンボルとして復号した走査の左側に,少なくとも

10

エレメントが

あるかどうかを確認する。もしあった場合は,

GS1

データバー限定型シンボルの左側ガードパターンのバ

ーから外側に向かって

8

エレメント(ガードパターンのバーを含む。

)を確認し,

UPC-A

シンボルの右端

の二つの有効なキャラクタとして復号できる場合は,その走査を破棄する。

H.5.3.4 

要約 

手順

1

によって,データの先頭が“

2

”又は“

4

”で始まる

UPC-A

シンボルの問題を効果的に解決できる。

手順

2

によって,データの先頭が“

7

”又は“

9

”で始まる

UPC-A

シンボルの問題を効果的に解決できる。

手順

3

によって,斜め読取り又は部分読取りによる問題を効果的に解決し,手順

1

及び手順

2

に安全対

策を追加する。

ここで示したシンボル体系及び参照復号アルゴリズムへの修正によって,現行の

GS1

データバー限定型

の利用に及ぼす混乱を最小限にとどめ,

UPC-A

シンボルを読み誤る問題を効果的に解決できる。シンボル

の背景には,通常,新しく追加したガードスペースがあるので,ほぼ全ての修正前の限定型シンボルは,

強化した安全対策を実装するスキャナで読取りが可能である。

ほとんどのバーコードプリンタ製造者又はバーコード画像を生成するソフトウェアは,

影響を受けない。

注記

暗い背景に印字するシンボルでは,ガードパターンに続くスペースを設けるために,プリンタ

及び/又はソフトウェアの変更が必要な場合もある。

これらは,包装デザイン担当者に,シンボルの右側に何もないスペース(少なくとも

5X

)を確保するこ

とを新たに要求する。修正前の仕様で作られた

GS1

データバー限定型シンボルの大部分は,既にこの要求

を満たしていると考えられる。


75

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 I

(参考)

印刷上の考慮点

I.1 

ガードパターンに関する考慮点 

タイプ

1

及びタイプ

3

GS1

データバーシンボルは,

1X

幅の明エレメント及び

1X

幅の暗エレメントか

らなるガードパターンで始まり,

1X

幅の暗エレメント及び

1X

幅の明エレメントからなるガードパターン

で終わる。クワイエットゾーンがないため,ガードパターンの外側のエレメントが,視覚的に背景に溶け

込んで見える可能性がある。明エレメントは明の背景に溶け込んで見え,暗エレメントは暗の背景に溶け

込んで見える可能性がある。外側のエレメントを,シンボルに含むことは必須である。例えば,本体の

2

図 及び図 11 では,外側の明エレメントは背景と区別できないが,それでも存在しなければならない。

GS1

データバー限定型については,初期の規格とは異なる新しいガードパターンが定義されている。左

側のガードパターンは,

1X

幅の明エレメント及び

1X

幅の暗エレメント,右側のガードパターンは,

3

レメントからなる

1X

幅の明エレメント,

1X

幅の暗エレメント及び

5X

幅の明エレメントである。外側の

明エレメントは,明背景に溶け込んで区別がつかない場合もある。リーダが読み取るためには,ガードパ

ターンの外側のスペースがシンボルに含まれていることが必須である。

全ての

GS1

データバーシンボルにおいて,バー及びスペースを反転してはならない。すなわち,バーは

“暗”であり,スペースは“明”でなければならない。反転した

GS1

データバーシンボルは,読み誤るこ

とがあるため,リーダは,明及び暗のパターンを反転して復号してはならない。

I.2 

画素印刷 

画素ベースで印刷するプリンタで,バーコードを印刷するために用いる画像ソフトウェアは,バー及び

スペースのそれぞれの倍率を変更して,用いるプリンタの画素ピッチに正確に合わせなければならない。

全ての

GS1

データバーシンボルは,エッジ∼類似エッジで復号するため,各シンボルキャラクタを構成す

る画素数が,シンボル又はシンボルキャラクタに含まれるモジュール数の整数倍に固定しなければならな

い。したがって,与えられたプリンタは,

X

寸法の特定したエレメントセットを印刷するだけである。

JIS X 0523

は,バーコードのデジタル画像化及び印刷技術に関する指針を提供している。

バー幅が一様に拡大(又は縮小)している場合の補正は,シンボルに含む全てのバー及びスペースを,

均一にずらして行わなければならない。これは,シンボルに含むそれぞれのバーとスペースとの組及びシ

ンボルに含む最後のバーに対して,同じ方法で整数個の画素を暗から明に,又は明から暗に変更すること

で行ってもよい。例えば,シンボルに含む全てのバーの同じエッジに沿った全ての画素を暗から明に変更

すること,又はシンボルに含む全てのバーの両エッジに沿った画素を暗から明に変更することができる。

ただし,これを問題なく行うには,プリンタの解像度が十分高くなければならない。シンボル全体にわた

って,一貫して調整し,かつ,エッジ∼類似エッジの寸法又はシンボルキャラクタ全体の幅が変わらない

場合は,暗から明又は明から暗への画素変更を行ってよい。これらの原則を守らないと,多くの場合,シ

ンボル品質が低下して読めなくなる。

広範囲のプリンタを利用可能にするように設計した汎用印刷ソフトウェアは,

X

寸法及びバー幅の調整

機能を,利用者に提供することが望ましい。


76

X 0509

:2012 (ISO/IEC 24724:2011)

プログラマの例 

これらの原則は,デジタルバーコード設計ファイルに対する,規則にすることができる。

a)

望ましい倍率又は

X

寸法を,

最も近い整数の画素数に丸めたモジュールサイズに変換する。

その結果,

X

寸法がアプリケーションの許容最小値よりも小さいときは,切り上げる。

b)

バー幅の一様な拡大に対し,

望ましい補正に対応する画素数を決定し,

次に大きな整数に切り上げる。

c)

上記の結果を当てはめて,シンボルに含む全てのバー及びスペースの画素数を決定する。

 

24

ドット/

mm

の印刷装置及びデジタルバーコード設計ファイルを用い,バー幅を

0.06 mm

縮小した

X

寸法が

0.27 mm

のシンボルを印刷する。

モジュールサイズは

24

ドット/

mm

×

0.27 mm

/モジュール=

6.5

画素となるため,モジュール当たり

6

画素に切り下げる。

バーの拡大に対する補正は

0.06 mm

×

24

画素/

mm

1.4

画素となるため,

2

画素に切り上げる。

この手順によって,

表 I.1 に示すバー及びスペースの画素数を得る。

表 I.1−画像化解像度及びバー幅の縮小に必要な画素補正例 

画素数

モジュール数

バー

スペース

1 4 8

2 10 14

3 16 20

4 22 26

I.3 

画素印刷ソフトウェア利用者への指針 

バーコード印刷ソフトウェア及び印刷装置からなる印刷システムによって,シンボルを初めて印刷する

場合,利用者は JIS X 0520 に従って,印刷されたシンボルが必要な印刷品質グレード及び

X

寸法を満たし

ていることを検証することが望ましい。シンボルを印刷した結果が,必要なシンボル印刷品質グレードに

達していないと,

X

寸法を拡大するか,又はバー幅の拡大若しくは縮小を変更することが必要になる場合

がある。この手順を,要求するシンボルグレードに達するまで,繰り返すことが必要になる。全ての印刷

システムが,小さい

X

寸法のシンボルを,許容するグレードで印刷できるとは限らない。

I.4 

プロセス管理での考慮点 

プロセスを管理するために,バー幅偏差の増大又は減小の平均値を評価し,それを緩和するための是正

処置を適用することが望ましい。JIS X 0520 に従って測定した“復号容易度”パラメタは,体系的なバー

幅偏差の増大又は減小,及びエッジ∼類似エッジまでの寸法変動の両方から影響を受ける。

I.5 

複数個シンボルの分離 

GS1

データバーシンボルが複数個ある場合は,十分離して配置し,リーダの視野にそれらが同時に入ら

ないようにすることが望ましい。

I.6 

分離パターンの印刷 

連結フラグが設定された

GS1

データバーの一次元コンポーネントを印刷する場合,必要な分離パターン


77

X 0509

:2012 (ISO/IEC 24724:2011)

を同時に印刷しなければならない。

GS1

データバー合成シンボルの一次元コンポーネントは,二次元コン

ポーネントを印刷するまでは,有効なシンボルではない。

印刷方法によっては,分離パターンに

1

モジュールの高さの段を印刷することが困難な場合がある。つ

まり,インク太り及び汚れのために,パターンの幾つかのエレメントが消える場合がある。

印刷方法による縦方向のゆがみをあらかじめ補正するために,分離パターンエレメントのバー高さを適

切に縮小しておき,印刷したときに分離パターン内の全てのエレメントが見えるようにしてもよい。

分離パターンを目で判別できない場合は,分離パターンの各段の高さを最大

2

モジュールに増やすこと

が望ましい。この方法を用いると,シンボルの高さがそれに応じて増える。シンボルキャラクタの高さは,

指定した最小値を下回ってはならない。

それでも,分離パターンが目で判別できない場合は,シンボルの

X

寸法を増やすことが望ましい。この

方法を用いると,シンボルの高さ及び幅がそれに応じて増える。


78

X 0509

:2012 (ISO/IEC 24724:2011)

附属書 J

(参考)

GS1

データバーシンボル体系−特性の要約

シンボル体系名 GS1 デー

タバー標
準型

GS1

デー

タバー切
詰型

GS1

データ

バー二層型

GS1

データバ

ー 標 準 二 層

GS1

デ ー

タ バ ー 限
定型

GS1

データ

バー拡張型

GS1

データ

バー拡張多
層型

多方向走査対応

ガードパターン

a)

左  s:b

右  s:b

左  s:b

右  s:b

上段左 s:b

上段右 b:s
下段左 b:s
下段右 s:b

上段左 s:b

上段右 b:s 
下段左 b:s 
下段右 s:b

左  s:b

右  s:b:5s

可変

可変

送信データ AI(01)+

GTIN-14

AI(01)

GTIN-14

AI(01)

GTIN-14

AI(01)

GTIN-14

AI(01)

GTIN-14

最初の AI
+他の AI

最初の AI+

他の AI

最大データ容量

b)

 16

(固定)

16

(固定)

16

(固定)

16

(固定)

16

(固定)

74

41

文字

74

41

文字

符号化キャラクタ

c)

0

∼9 0∼9 0∼9 0∼9 0∼9 JIS

X

0201

h)

 JIS

X

0201

h)

包装識別子サポート

d)

0

∼9 0∼9 0∼9 0∼9 0,1 0∼9 0∼9

シ ン ボ ル キ ャ ラ ク タ
数・位置検出パターン

4

・2 4・2 4・2 4・2 2・1 4・2  ∼22・

11

4

・2  ∼22・

11

段数 1

1

2

2

1

1

2

∼11

シンボル構造(領域)

e)

d1

∼d4, ld, rd  はシンボ

ルキャラクタ

lf, rf, ck

は位置検出パ

ターン

d1, lf, d2,

d4, rf, d3

d1, lf, d2,

d4, rf, d3

d1, lf, d2,

d4, rf, d3

d1, lf, d2

d4, rf, d3

ld, ck, rd

3

組(デー

タ,位置検
出パターン

及びデー

タ)の並び

3

組(デー

タ,位置検
出パターン

及びデー

タ)の並び

エレメント数

f)

 46

46

上段:25

下段:25

上段:25

下段:25

46

可変

可変

モジュール数

g)

 96

96

上段:50

下段:50

上段:50

下段:50

74

可変

可変

最小シンボル高さ 33X

13X

13X

(5

+1+7)X

69X

(33

+3+33)X

10X 34X

71X

(1 段)

404X

(11 段)

最大シンボル高さ NA

33X

13X  NA  NA NA  NA

a)

左側(又は左上)のガードパターンはスペース及びバー,右側のガードパターンはスペース及びバーである。
したがって,最初の(最も左の)シンボルエレメントはスペースである。

b)

ほとんどの GS1 データバーは,AI(01)商品識別番号だけを符号化する。拡張形 GS1 データバーは,主要識別子,

例えば,AI(01),AI(8004)及びその他の AI エレメント列をサポートする。

c)

 GS1

データバーは,拡張領域内を除いて 10 桁の数字だけ符号化する。拡張領域では,0∼9,A∼Z,a∼z,21

個の特殊文字又は句読点文字,及び FNC1 キャラクタを符号化することができる。

d)

限定形 GS1 データバーでは,

“0”及び“1”に限定される。その他の全ての GS1 データバーでは,計量商品用

包装インジケータ“9”である。

e)

領域は,特定の機能をもつエレメントパターン(例えば,ガードパターン,データキャラクタ又は位置検出パ

ターン)である。省略形:d1=データキャラクタ 1,lf=左側の位置検出パターン,d2=データキャラクタ 2,

d4

=データキャラクタ 4,rf=右側の位置検出パターン及び d3=データキャラクタ 3。どのシンボルも,ガード

パターンで始まりガードパターンで終わる。

f)

エレメントは,それぞれが,幾つかのモジュールからなるバー及びスペースである。

g)

モジュールは,最も狭いバー及び最も狭いスペースの幅であり,

“X 寸法”とも呼ぶ。また,X 方向のシンボル

幅にも等しい

h)

表 13 の規定による。


79

X 0509

:2012 (ISO/IEC 24724:2011)

参考文献

(1)

JIS X 0523

  バーコードのディジタル方式画像化及び印刷性能試験

注記

対応国際規格:ISO/IEC 15419

Information technology

Automatic identification and

data capture techniques

Bar code digital imaging and printing performance testing

IDT

(2)

JIS X 0530

  データキャリア識別子(シンボル体系識別子を含む)

注記

対応国際規格:ISO/IEC 15424

Information technology

Automatic identification and

data capture techniques

Data Carrier Identifiers (including Symbology Identifiers)

IDT

(3) ISO/IEC 24724

Information technology

Automatic identification and data capture techniques

GS1 DataBar bar code symbology specification

(4)

  GS1 General Specifications (GS1, Brussels, Belgium)