プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > ImageViewer > APP5-CPKT


 
APP5-CPKT Format : 技術情報


 
APP5-CPKT Format

APP5-CPKTは、Jpegに他のアプリケーションデータを埋め込む方法を定義しています。
APP5のアプリケーションセグメントを、次のようなフォーマットで使用します。

offset Name DATA
0x00-0x01 APP5 0xFFE5
0x02-0x03 size 2bytes, 自分の長さも含むので最低値=2
0x04-0x07 label 4bytes, "CPKT"
0x08 labelEnd 1byte, '\0'
0x09 (padding) 1byte, 0x00
0x0A-0x0B Seq-Number 2bytes, 0~
0x0C-0x0D Payload Length 2bytes, ~0xFFF0
0x0E- Payload 'Payload Length'bytes
Fig.1: APP5-CPKT Format


Fig.2: APP5-CPKTマーカがあるJpeg情報の例


オフセット0x0A~0x0Bの位置には0から開始されるシーケンスナンバーが入ります。 CPKTのペイロード部(オフセット0x0E~)を、このシーケンスナンバー順に結合して Content Embedding Format(下記Fig.3参照) のデータを得ます。

ペイロードの最大サイズは0xFFF0バイトです。これにAPP5-CPKTのヘッダサイズが加わるので、 ひとつのAPP5-CPKTブロックの最大サイズは0xFFFEバイトになります。
(上記Fig.2を参照)


 
Content Embedding Format

offset Name DATA
0x00 - 0x01 Format Type 2bytes, 0x0000
0x02 - 0x05 Length 4bytes, uint, big endian
(これ以降は'Format Type'によって個別)
0x06 - 0x07 Label Length 2bytes, uint, big endian
0x08 -     Label (ASCII string)
0x** -     Contents (Binary Data)
Fig.3: Content Embedding Format (Format Type=0x0000)


現時点では0x0000以外の'Format Type'の定義はありません。

'Length'には自分自身のサイズを含みません。'Length'に設定される値は 後に続く個別部の合計サイズです。 'Format Type'が0x0000の場合、'Length'の値は 'Label Length'(2bytes) + 'Label'サイズ + 'Contents'サイズ になります (上記Fig.3参照)。


'Label' (Format Type: 0x0000)
'Label'には、のContent-Typeとファイル名を設定します。
'Contents'にXMFが設定される場合 (=「メアドJPEG」の場合)、 Content-Typeは   mailaddress/xmf になります。
それ以外のContent-TypeはメールのContent-Typeに準じます。例えばJpeg画像の場合は image/jpeg になります。

次のように、 ; (半角セミコロン) で区切って、'name'を指定してデフォルトのファイル名を記述することができます。

  mailaddress/xmf;name="MyXmfFile.xml"
  'name'が設定されている例

'name'の設定はオプションです。また、'name'以外に独自に定義されることも許容します。

  mailaddress/xmf;name="MyXmfFile.xml";option="Test"
  'option'が追加されている例

'Label'全体の長さは、'Label Length'で指定します。 'Label'はASCII文字列ですが、末尾に'\0'は含みません。


[BACK]
プロセルピナ