付属書 I: 推奨 RFID 仕様
Q.3 ノーディレクトリアクセス方式のためのコンパクションエンコードルール(圧縮符号化規則)
データコンパクション(圧縮)は、データオブジェクトに適用され、エアインタフェースを介して転送される バイト数を減らす。圧縮は、ISO/IEC 15961 アプリケーションコマンド(ISO/IEC 15961-1 参照)からのコ ンパックトパラメター(Compact-Parameter)に従って行われなければならない。データコンパクションは、
データオブジェクトをコンパクト化し、RF タグ上にプリカーソルの一部として符号化される圧縮タイプを 決定するために必要なすべてのプロセスを実行する(別紙 Q.3.5.1「プリカーソル」を参照)。オブジェクト 識別子は変化せず、適用と論理メモリによって直接識別できるように、圧縮のいかなる形態にも従わな い。コマンド引数オブジェクトロック(Object-Lock)は変更されず、次の処理段階に渡される。データフォ ーマット
Q.3.1 圧縮処理
コマンド引数 Compact-Parameter は、オブジェクトが圧縮処理の対象であるか否かを、次の整数値に 基づいて決定する。
0 Application-Defined::データオブジェクトは、圧縮を適用することなく、データ圧縮プロ セスによって読み込まれ、そのプロセスを通過するが、圧縮タイプコード 000 バイナリ が割り当てられる。
1 Compact:データオブジェクトは、可能な限り効率的にコンパクト化するために、データコ ンパクト化プロセスによって読み込まれ、そのプロセスを通過し、001 バイナリから 110 バイナリの範囲の適切なコンパクトタイプコードを割り当てる。
2 UTF8-Data:データオブジェクトは、圧縮を適用することなくデータ圧縮プロセスによって 読み取られ、通過されるが、ISO/IEC 10646 の UTF-8 変換に準拠していることを示す ために、圧縮タイプコード 111 バイナリが割り当てられる。
3 Packed-Objects:この Compact-Parameter が Access-Method と共に提示される場 合:No-Directory は、エラーが発生し、エンコード処理を停止する。
4~14 reserved::これらの Compact-Parameters が表示される場合、エラーが発生し、エンコ ーディング処理が終了する。
15 De-Compacted-Data:この Compact-Parameter が表示された場合、コードは復号化プ ロセスのために予約され、符号化プロセスは停止されるべきであることを意味するエラ ーが発生。
データ圧縮プロセスによりオブジェクトは読み取られ、転送される。
1. データオブジェクトは、コンパクト化された形式に変換される。コマンド引数 Compact-Parameter 設定が:
a. 1(圧縮)に設定された場合、データオブジェクト入力文字列は圧縮処理される。
b. 0(Application-Defined)、または 2(UTF8-Data)に設定された場合、」入力文字列のコン パクトは行われず、データオブジェクトはステップ 2 およびステップ 3 で処理される。
2. 3 ビット圧縮タイプコードが割り当てられる(別紙 Q.3.2 参照)。
3. 圧縮データオブジェクトの長さが定義される。
Q.3.2 データコンパクション(圧縮)方式とコード
データコンパクションは、それぞれのデータオブジェクト全体に適用される。特定のデータコンパクション 方式の選択は、データオブジェクト内のバイトを解析し、それらの値を解析して、それらがどの 16 値の 範囲に存在するかを決定することによって決定される。下の表は、最も効率的なものから始まる、好ま しい適用の順序における圧縮スキームを示す。
表 Q.2:圧縮コードの説明 16 値
内容 名前 コード
低 高
- - アプリケーションにより提示されるよ うに
アプリケーション定
義 000
30 39 整数 整数 001
30 39 数値列("0"~"9") 数字 010
41 5F 大文字のアルファベット 5 ビットコード 011
20 5F 大文字のアルファベット、数字など 6 ビットコード 100
00 7E 米国 ASCII 7 ビットコード 101 00 FF 変更されていない 8 ビット(デフォル
トは ISO/IEC 8859-1) オクテット列 110 ISO/IEC 10646 の外部コンパクショ
ン UTF-8 string 111 Q.3.3 圧縮されたデータオブジェクトの長さの符号化
圧縮プロセスからの出力上のすべてのデータオブジェクト(圧縮を目的としないデータオブジェクト、また は圧縮状態を達成しないデータオブジェクトを含む)の長さは、次のように決定され、符号化されなけれ ばならない。
1. 長さが 0 から 127 バイトの場合、長さはリードビット=0 で 1 バイトでエンコードされる。
0bbbbbbb(bbbbbb=バイト単位の長さ)
2. 長さが 128~16383 バイトの場合、長さは 2 バイトで次のようにエンコードされる。
a. リードバイトの先頭ビット=1、2 バイトの先頭ビット=0 を設定する。
1bbbbbbb 0bbbbbbb
b. 長さ(バイト単位)をバイナリ値に変換する。
c. 長さエンコーディングの各バイトのビット 7~1 の価値をエンコードする。
3. 長さが 16384~2097151 の場合、長さは 3 バイトで次のようにエンコードされる。
a. リードバイトの先頭ビット=1、最後のバイトの先頭ビット=0、介在するすべてのバイトの 先頭ビット=1 を設定する。
1bbbbbbb 1bbbbbbb 0bbbbbbb
b. 長さ(バイト単位)をバイナリ値に変換する。
c. 長さエンコーディングの各バイトのビット 7~1 の価値をエンコードする。
Q.3.4 オブジェクト識別子と相対 OID の処理
アプリケーションコマンドのオブジェクト識別子は ISO/IEC 8824-1 の規則に従う。それは、相対 OID と して切り捨てられた形式で提示されることもある。
オブジェクト識別子の処理の詳細な説明については、ISO/IEC 15962 別紙 D.3 を参照のこと。相対 OID の処理の詳細な説明については、ISO/IEC 15962 別紙 D.4.3 を参照のこと。
Q.3.5 オブジェクト識別子または相対 OID の長さの符号化
オブジェクト識別子または相対 OID の長さのエンコーディングの詳細な記述については、ISO/IEC 15962 別紙 D を参照のこと。
Q.3.5.1 プレカーソル
プレカーソルは、常にデータ設定の最初のバイトである単一のメタデータバイトであり、以下に関する情 報を提供する。
1. オフセット 2. 圧縮コード
3. オブジェクト識別子
注: 付属書 Q.3.5 は、データフォーマット 2(ルート OID 符号化)とは異なるデータフォ ーマットのためのプレカーソル構造のみを記述する。
データフォーマットの詳細な情報については、ISO/IEC 15961 を参照のこと。
表 Q.3:プレカーソル構造の説明
プレカーソルビット位置
MSBs 最下位
オフセット 圧縮コード オブジェクト識別子
7 6 5 4 3 2 1 0
プレカーソルの最初のビット(最上位ビットを–する)ビット 7 はオフセットを示す。ビットは以下の意味を持 つ。
表 Q.4:オフセットビットの説明
MSBs 内容
0 オフセットなし
1 プレカーソルの一部として追加のバイトが続く 注: 別紙 Q.3.5 は、オフセット 0(オフセットなし)のみを扱う。
ビット 6~4 は圧縮コードを含む。次の圧縮コードを使用できます。
表 Q.5:コンパクションコードの説明 名称 コード(バ
イナリー) アプリケーショ
ン定義 000 整数 001 数字 010 5 ビットコード 011
6 ビットコード 100 7 ビットコード 101 オクテット列 110 UTF-8 string 111 ビット 3~0 はオブジェクト識別子を含む。
オブジェクト識別子の内容は相対 OID の価値に依存する。
相対 OID が 10 進範囲 01 から 14 の時、オブジェクト識別子は 0001 バイナリから 1110 バイナリとして 符号化される。
相対 OID の 10 進値が 0 または 14 より大きい時、オブジェクト識別子は 1112 進数として符号化される。