2019年4月18日木曜日

PNGのチャンク 第13回 チャンクの順番

こんにちは、きまぐれソフトです。

前回はその他に分類されるチャンクを説明しました。
今回はチャンクの並び順を紹介します。チャンクには並び順が決められていて、色に関する情報、特に色の補正情報が先に出現する様になっています。
もし、先に色番号が入った画像データが有り、カラーパレットが続き、色補正が出現するとします。すると、チャンクが現れる度に表示画像の色が変わったり、データの最後までチャンクを読み込まないと画像の表示が出来なくなったりします。折角インターレース表示ができる様に作られていますから、規則通り色情報から並べましょう。

順序を表にると以下の通りです。


チャンク名 必須 繰り返し位置
IHDR必須不可最初
PLTE必須不可IDATより前
IDAT必須可能IENDより前
IEND必須不可最後
cHRM省略可不可PLTEとIDATの前
gAMA省略可不可PLTEとIDATの前
iCCP省略可不可PLTEとIDATの前、sRGBと排他使用
sBIT省略可不可PLTEとIDATの前
sRGB省略可不可PLTEとIDATの前、iCCPと排他使用
bKGD省略可不可PLTEとIDATの間
hIST省略可不可PLTEとIDATの間、PLTE存在時のみ使用可
tRNS省略可不可PLTEとIDATの間
pHYs省略可不可IDATより前
sPLT省略可可能IDATより前
tIME省略可不可どこでも可
iTXt省略可可能どこでも可
tEXt省略可可能どこでも可
zTXt省略可可能どこでも可

順序を表にすると以下の通りです。

順番の凡例は以下の通りとします。
[CHNK]必須チャンクを表します。
[CHNK]+同じチャンクを1回以上繰り返します。
[CHNK]*省略も含め、回数制限無し。
[CHNK]-チャンクは省略可能です。
{[CHNK][CHNK]}{}内のチャンクには順序は決められていません。
{[CHNK]|[CHNK]}{}内のチャンクのどれか1つだけ使用できます。

チャンクの出現順は以下の上から下への順となります。
[IHDR]
{{[iCCP] | [sRGB]}- [gAMA]- [cHRM]- [sBIT]-}
[PLTE]
{[tRNS]- [sPLT]- [pHYs]- [bKGD]- [hIST]-}
[IDAT]+
[IEND]

順序規定無し
[tEXt]*
[zTXt]*
[iTXt]*
[tIME]-


0 件のコメント:

コメントを投稿