1. HOME
  2. ロジスティクス ・レビュー
  3. 物流関連
  4. 物流システム
  5. 第499号  EPCタグ・データ標準2.0のご紹介(後編)(2023年1月5日発行)

ロジスティクス ・レビュー

ロジスティクスと経営のための情報源 /Webマガジン

物流システム

第499号  EPCタグ・データ標準2.0のご紹介(後編)(2023年1月5日発行)

執筆者  佐藤 友紀
(GS1 Japan ソリューション第2部 RFID・デジタル化推進グループ)

 執筆者略歴 ▼
  • 略歴
    • 平成21年より慶應義塾大学・Auto-ID Lab. Japanに所属し、電子タグ及び、EPCIS等のGS1標準の情報システムの研究に従事。
    • 平成29年 アールト大学Department of Communications and Networking訪問研究員。
    • 平成30年 慶應義塾大学政策・メディア研究科特任助教。
    • 令和2年よりGS1 Japanに所属し、電子タグ関連標準やEPCIS・GS1 Digital Link等のデジタル化関連標準を担当。

 

目次

*前号(2022年12月20日発行 第498号)より

  前編 に引き続き、GS1標準の識別コードや属性情報を電子タグに書き込む際のフォーマットを規定しているEPCタグ・データ標準の新バージョンであるEPCタグ・データ標準2.0を紹介する。後編では、EPCタグ・データ標準2.0で追加された新方式について、具体例を交えながらその特徴を説明する。

EPCをよりシンプルにエンコードできる「EPC+」方式

  個体識別のための識別コード体系であるEPC(例えばSGTIN)に対して、それを電子タグに書き込むためのエンコード方式(例えばSGTINに対する従来方式としてSGTIN-96エンコード方式とSGTIN-198エンコード方式)があるということは先に説明した通りである。EPCタグ・データ標準2.0では、GS1識別コードを基に構成され、かつ電子タグに書き込むことが想定されるEPC体系について、原則としてそれぞれ一つずつ、新たに「EPC+(例えばSGTINに対してはSGTIN+エンコード方式)」という方式を定義している。これが先述のポイント①である。図 6にて、これに該当するEPC体系に対する従来のエンコード方式とEPC+エンコード方式をまとめている。尚、SGTINについてのみDSGTIN+という二つ目の新方式があるが、これは上述のポイント②に関するものであり詳細は後述する。


図 6 EPC体系に対する従来のエンコード方式とEPCタグ・データ標準2.0で追加されたEPC+エンコード方式
*画像をClickすると拡大画像が見られます。

  EPC+エンコード方式においても、従来のエンコード方式と同様にコーディング表が標準文書に記載されており、これに従ってエンコード・デコードすることになる。例として図 7に、GTIN(GS1アプリケーション識別子01)04512345678906と、シリアル番号(GS1アプリケーション識別子21)100で構成されるSGTINを、SGTIN+エンコード方式を用いてエンコードした結果を2進数表記と16進数表記で示している。このSGTIN+エンコード方式の例も踏まえ、EPC+エンコード方式の特徴的な部分を以下に説明する。


図 7 SGTIN+エンコード方式のコーディング表とエンコード例(図中上半分に元となったGTINとシリアル番号を示し、下半分にエンコード結果を2進数と16進数で示している。コーディング表の詳細は標準文書内のTable 14-5を参照。)
*画像をClickすると拡大画像が見られます。

  EPC+エンコード方式の特徴の一つ目は、繰り返しであるが、基となったGS1識別コードの構成要素を分解・除去・並べ替えせず、GS1識別コードとして一体のまま扱うことである。考え方がシンプルで分かりやすいということもあるが、より明確な利点として、そのGS1識別コードを構成するのに使われたGS1事業者コードの桁数が分からなくてもエンコードできるということが挙げられる。冒頭で説明した通りGS1事業者コードは可変長であり、しかもGS1識別コードを見ただけでは、そのうちの何桁までがGS1事業者コードなのかは分からない。このため、GS1事業者コードをはじめとしたGS1識別コードの構成要素を分解する従来のエンコード方式では、エンコードの際にGS1事業者コードの桁数の情報が別途必要である。電子タグのエンコードを行うのがGS1事業者コードの貸与を受けた事業者と別である場面は一般的(例えばアパレルのブランドオーナーに対して電子タグを提供する副資材サプライヤなど)であり、そのような場合はこの桁数の情報を別途共有しておく必要があった。
  EPC+エンコード方式によるエンコード手順はGS1事業者コードの桁数を必要としないため、こういった場面での情報の授受もシンプルにすることができる。実際の例を見てみよう。図 8は、図 7で示したSGTIN+エンコード方式によるエンコード例のうち、GTINがエンコードされている部分をハイライトしたものである。SGTIN+方式では、数字14桁のGTIN(GTIN-8・GTIN-12・GTIN-13の場合は、14桁に足りない分だけ左に0を詰める)を各桁それぞれが16進数一桁であるとみなし、エンコード結果全体の先頭から数えて12bit目(先頭は0bit目として数える)から一文字4bitずつ、合計56bitでエンコードする。GTIN全体をそのまま14桁の数字列として扱っているだけなので、GS1事業者コードの桁数を意識する必要がない。また、エンコード位置が先頭から数えた4bit区切りにちょうど一致しているので、エンコード結果を16進数で表記すると、その中に元のGTINがそのまま表れる。


図 8 SGTIN+エンコード方式のコーディング表とエンコード例:GTIN部分をハイライト
*画像をClickすると拡大画像が見られます。

  EPC+エンコード方式のもう一つの特徴は、これも繰り返しであるが、可変長エンコードの仕組みである。EPCを構成するデータ項目には固定長のものと可変長のものがある。例えばSGTINであれば、GTIN(GS1アプリケーション識別子01)は固定長であるが、シリアル番号(GS1アプリケーション識別子21)は英数字及び一部の記号を利用可能な最大20桁までの可変長データ項目である。これはGS1総合仕様書に規定されている。一方、従来のエンコード方式のほとんどは、決まったビット長のエンコード結果を出力する固定長の方式であった。SGTINであれば、既存のSGTIN-96エンコード方式とSGTIN-198エンコード方式を用いた場合、必ずそれぞれ96bit・198bitのエンコード結果となる。この二方式の違いは扱うことのできるシリアル番号の範囲で、SGTIN-96エンコード方式は0~238-1(=274877906943)の範囲の整数のみ、SGTIN-198エンコード方式は上述のGS1総合仕様書が規定する範囲のいかなるシリアル番号もエンコード可能である。SGTIN-96エンコード方式で扱える範囲のシリアル番号のSGTINであれば96bitでエンコードできる(96bit+制御情報32bitを書き込めるだけの容量のEPCメモリバンクがあればよい)ということだが、逆に、それを少しでも超えれば一気に198bitエンコードとなる。また、「整数のみ」という制約が厄介になることもあり、例えば1と001はGS1総合仕様書の考え方としては異なるシリアル番号であるが、整数としては区別できない(後者は整数ではなく数字列の扱いになる)ので、シリアル番号001のSGTINにSGTIN-96エンコード方式を用いることはできない。
  EPC+エンコード方式では、可変長データ項目の桁数をエンコードの際に保持しておくことで、可変長データ項目をエンコードするのに必要なビット長をその長さに応じて動的に調整できるようになっている。さらに、可変長データ項目を構成する文字セットに応じてエンコード方式を変更でき、できるだけ必要なビット長を低減できるようになっている。これも実際の例を見てみよう。図 9は、図 7で示したSGTIN+エンコード方式によるエンコード例のうち、可変長データ項目であるシリアル番号がエンコードされている部分をハイライトしたものである。このうち、先頭3bitはencoding indicatorと呼ばれる部分で、先述の文字セットに応じて変更できるエンコード方式のうちどれが使われているのかを示したものである。利用可能なエンコード方式とencoding indicatorを図 10に示す。今回の例ではシリアル番号に数字しか使われていないので、シリアル番号一桁あたりのビット効率が最も高い可変長整数のエンコード方式を選択している。数字以外の文字を含むシリアル番号であれば、それらの文字も扱うことのできるエンコード方式を選択する(=その分必要なビット長は長くなる)ことになり、そうなれば当然encoding indicatorも選択したエンコード方式のものに変える。そして、encoding indicatorに続く5bitがlength indicatorと呼ばれるもので、これは元のシリアル番号の桁数を示している。そして最後にシリアル番号本体が続く。今回は可変長整数としてのエンコード(encoding indicator=000b)でかつ元の桁数が3桁(length indicator=00011b)であるので、図 10の定義表に記載している計算式により、シリアル番号本体は10bitでエンコードされることが決まる。この10bitの空間の中に、可変長整数のエンコード方式に従ってシリアル番号本体がエンコードされている。


図 9 SGTIN+エンコード方式のコーディング表とエンコード例:シリアル番号部分をハイライト
*画像をClickすると拡大画像が見られます。



図 10 可変長英数字のデータ項目のエンコードに利用するエンコード方式とencoding indicator
*画像をClickすると拡大画像が見られます。

  例ではSGTIN+エンコード方式を取り上げたが、SGTIN以外のEPC体系に対するEPC+エンコード方式も、桁数などの違いはあるにせよ、概ね同様の考え方で定義されている。尚、可変長のデータ項目を含むEPC体系については、EPC+エンコード方式は全て可変長の方式となる。つまりは、先述の可変長エンコードの仕組みにより、可変長データの内容に応じて動的にエンコード結果のビット長が変化する。このとき、従来のエンコード方式とEPC+エンコード方式によるエンコード結果のどちらがより短いビット長になるかは、可変長データ項目の内容によって変化するため注意が必要である。

属性情報をEPCメモリバンクに書き込む「+AIDC data」方式

  ここでは、EPCタグ・データ標準2.0で新たに追加された、任意の属性情報をEPCメモリバンクに書き込むエンコード方式である「+AIDC data」を紹介する。+AIDC dataエンコード方式を用いることで、先に説明したEPC+エンコード方式との組み合わせで、当該EPCに関連する属性情報を対応するGS1アプリケーション識別子と対にしてEPCメモリバンクに書き込むことができる。EPCメモリバンクに+AIDC dataエンコード方式で書き込まれた属性情報は、EPC+エンコード方式で書き込まれたEPCとあわせて、いわゆる電子タグのinventory手順の中で読み取ることができる。ただし、任意の属性情報とはいえども、使用して良いGS1アプリケーション識別子の組み合わせとしてGS1総合仕様書に規定されている範囲に限る。尚、+AIDC dataエンコード方式を使った場合、属性情報をEPCメモリバンクに書き込むことはできるものの、それら属性情報は個体識別コードとしてのEPCの一部ではないということに注意が必要である。
  実際の例を見てみよう。図 11は、図 5 で例示したGTIN・有効期限・ロット番号・シリアル番号(それぞれGS1アプリケーション識別子01・17・10・21)をエンコードしたGS1-128シンボルと同等の情報を、EPC+エンコード方式と+AIDC dataエンコード方式の組み合わせで電子タグのEPCメモリバンクに書き込むべくエンコードした例である。まずGTINとシリアル番号の組み合わせがEPCとしてはSGTINに該当するため、まずはこれらを対応するEPC+エンコード方式であるSGTIN+方式でエンコードしている。この部分は基本的には先述の図 7の例と変わらないが、一箇所だけ、先頭から数えて8bit目(先頭は0bit目として数える)が1bになっていることが異なる。このビットは+Dataトグルという名前の領域で、+AIDC data方式を利用する場合にはこれを1bにして示す。+DataトグルはSGTIN+の他にも全てのEPC+エンコード方式に含まれているので、+AIDC dataエンコード方式はそれらのいずれとも組み合わせて利用できる(逆に言えば、+Dataトグルを持たない従来のEPCエンコード方式とは組み合わせられない)。この+Dataトグルを1bにした場合、EPC+(ここではSGTIN+)エンコード方式のエンコード内容が終了した直後に、それ以外の属性情報をエンコードしていく。


図 5 アプリケーション識別子を用いてGS1識別コード以外の属性情報をエンコードした印字シンボルと、EPCとの関係
*画像をClickすると拡大画像が見られます。



図 11 +AIDC dataエンコード方式を利用したエンコード例(GS1アプリケーション識別子01+21=SGTINと、17=有効期限・10=ロット番号の組み合わせ)
*画像をClickすると拡大画像が見られます。

  +AIDC dataエンコード方式によって属性情報をエンコードする部分は、その属性情報を示すGS1アプリケーション識別子とその属性情報の値とを対にしたものを連ねた構造になっている。図 11の例では、まずGS1アプリケーション識別子17と有効期限の対、次にGS1アプリケーション識別子10とロット番号の対がエンコードされている。尚、これらの対をエンコードする順序に規定はない。これらが見やすいよう個別にハイライトしたものが図 12と図 13である。それぞれの対は、まず先頭にGS1アプリケーション識別子を一文字4bitでエンコードし、それに次いで属性情報本体がエンコードされた形になっている。属性情報本体のエンコード方法はGS1アプリケーション識別子毎に決められており、例えば図 12に示す有効期限(GS1アプリケーション識別子17)であれば6桁の日付情報を16bit使ってエンコードする方式が定義されている。図 13に示すロット番号(GS1アプリケーション識別子10)であれば、ロット番号はシリアル番号と同様の可変長データ項目であるので、encoding indicatorとlength indicatorを用いた先述のエンコード方式を用いる。このような個々のGS1アプリケーション識別子に応じたエンコード方式は標準文書中にTable Fとして定義されている。図 14にTable Fの抜粋を示す。また、今回の例では両方とも2桁であるが、GS1アプリケーション識別子には2桁・3桁・4桁のものがある。+AIDC dataエンコード方式によりエンコードする際は、GS1アプリケーション識別子についてはとにかく一桁4bitでエンコードするだけなのでこの違いを気にする必要はないが、デコードの際にはそのGS1アプリケーション識別子が何桁であるか分からないといけない。GS1アプリケーション識別子は、先頭の2桁を見れば全体が何桁であるか分かる仕組みになっており、その対応表がTable Kとして標準文書内に記載されている。デコードの際はまず先頭8bit(GS1アプリケーション識別子先頭2桁)を見て、この対応表を参照すればよい。図 15はTable Kの写しである。GS1アプリケーション識別子の先頭2桁がこの表に該当しなかった場合は、そのGS1アプリケーション識別子は全体で2桁のものであるか、もしくは存在しないものである。


図 12 +AIDC dataエンコード方式を利用したエンコード例:有効期限部分をハイライト
*画像をClickすると拡大画像が見られます。



図 13 +AIDC dataエンコード方式を利用したエンコード例:ロット番号部分をハイライト
*画像をClickすると拡大画像が見られます。



図 14 +AIDC dataエンコード方式で用いるGS1アプリケーション識別子に応じたエンコード方式(一部抜粋)
*画像をClickすると拡大画像が見られます。



図 15 GS1アプリケーション識別子の先頭2桁と全体の桁数の対応(この表に該当しない場合、そのGS1アプリケーション識別子は2桁であるか、もしくは存在しない)
*画像をClickすると拡大画像が見られます。

日付情報による電子タグのフィルタリングを実現する「DSGTIN+」方式

  さて、上述の+AIDC dataエンコード方式を利用することにより、任意の属性情報をEPCメモリバンクに書き込むことができるのだが、これに加えてさらに、属性情報の中でも有効期限などの日付情報を用いて電子タグを読み分けたいという要求が挙がっていた。例えば、倉庫の中から有効期限が今日の商品だけを探したい、などといった場面である。電子タグの読み分けには大雑把に考えて、とにかく全部の電子タグを読んでしまったうえでソフトウェア処理によって分けるか、電子タグとリーダ間の無線通信において特定の電子タグのみ反応するようにするか、の二通りの考え方がある。このうち、後者の考え方を実現するには、その判断基準となる情報が電子タグのメモリ上の特定のビット位置に存在している必要がある。その点において、+AIDC dataエンコード方式で日付情報をEPCメモリバンクに書き込んでおいた場合、先述の通り+AIDC dataエンコード方式で書き込む属性情報の順序は任意であること、さらにはその前に置かれるEPC+エンコード方式自体が可変長のエンコード方式であるため、日付情報のビット位置は一意に定まらない。つまり、+AIDC dataエンコード方式で日付情報を扱った場合、それを無線通信上での電子タグの読み分けに利用することはできない。そこで、日付情報に基づく読み分けの需要が特に大きいと考えられるSGTINについて、固定位置で日付情報を扱う機能を付加したEPC+エンコード方式が、一般のSGTIN+エンコード方式とは別に用意されている。これが「DSGTIN+」エンコード方式である。
  実際の例を見てみよう。図 16は、図 7で示したSGTINの例に有効期限(GS1アプリケーション識別子17)を加えて、DSGTIN+エンコード方式を用いてエンコードした例である。DSGTIN+エンコード方式は、SGTIN+エンコード方式と区別するためにヘッダ値が異なることと、GTINをエンコードしている部分の手前に日付情報を格納するための20bitの空間が固定的にあることを除いては、SGTIN+エンコード方式と変わらない。この位置が固定された20bitの空間には、図 17に示す6桁日付の情報を一つだけ格納することができる。先頭4bitにその日付情報の種類を示すdate type indicator(図 17に示す通り、GS1アプリケーション識別子に対応して、それとは別に4bitの値が決められている)を置き、残り16bitの空間に日付情報そのものを置く。これにより、EPCメモリバンク上の決まった位置に日付情報をおくことができるので、これを基に無線通信上での電子タグの読み分けが可能である。尚、DSGTIN+エンコード方式もEPC+エンコード方式の一種であるので、先述の+AIDC dataエンコード方式を組み合わせて任意のその他属性情報をエンコードすることもできる。DSGTIN+の日付情報のための固定位置には一つの日付情報しか入れることができないので、複数種類の日付情報を電子タグに持たせる際にDSGTIN+を用いるならば、そのうち無線通信上での読み分けに用いる一つのみを固定位置に格納し、残りは+AIDC dataエンコード方式で扱う(=無線通信上での読み分けには利用できない)ということになる。


図 16 DSGTIN+エンコード方式のエンコード例
*画像をClickすると拡大画像が見られます。



図 17 DSGTIN+エンコード方式で利用できる日付情報の種類とdate type indicator
*画像をClickすると拡大画像が見られます。

おわりに

  長文になってしまったが、本稿では電子タグでGS1識別コードを扱う際に用いるEPCタグ・データ標準の新バージョン、EPCタグ・データ標準2.0が定義している新しいエンコード方式について紹介した。是非ご活用いただきたい。従来のエンコード方式も引き続きサポートされているので、既存の電子タグシステムの観点からも安心である。
  ただし、ご活用いただきたいとは言いつつも、注意が必要なことがある。電子タグの活用にあたっては適切なエンコードをするのが重要であるのはもちろんのこと、それらエンコードされた電子タグを読み取った際に適切にデコードできることも必須である。EPCタグ・データ標準2.0の新方式にしてもそれは同じで、新方式で電子タグをエンコードしたとしても、それを読み取る側で正しくデコードできる準備ができていなければ利用できない。電子タグを利用する主体間で協調して検討する必要がある。
  とはいえ、せっかく新たに開発された新方式であり、従来方式より扱いやすいものに仕上がっていると考える。積極的にご検討いただければ幸いである。不明点等はGS1 Japanまでお問い合わせいただきたい。

以上



(C)2023 Yuki Sato & Sakata Warehouse, Inc.

関連記事

サカタウエアハウスの業界別ソリューション、フルフィルメント・サービス 他

流通・マーケティング・物流分野の研究レポート 「ロジスティクス・レビュー」無料配信中!
申し込み
流通・マーケティング・物流分野の研究レポート 「ロジスティクス・レビュー」無料配信中!
申し込み