AVS/Express (および MicroAVS) 用のカラーマップファイルである cmp/cmap は、ASCII ファイル(メモ帳などで開くことができるテキストファイル)であり、とてもシンプルな構造をしています。
参考URL:http://www.microavs.jp/blog_detail/blog_id=5&id=117
ただし、cmp ファイルと cmap ファイルは若干構造が違うので、注意が必要です。
cmp ファイルのデータ構造
cmp ファイルの構造については、上記の参考URLに詳しく書かれています。
ほぼ同じ内容になりますが、ここにもメモを残しておきます。
cmp ファイルの構造は、以下のとおりです。
[CPの数] [データ最小値] [データ最大値]
[1つ目のCP位置] [透明度] [Red] [Green] [Blue]
[2つ目のCP位置] [透明度] [Red] [Green] [Blue]
︙
[nつ目のCP位置] [透明度] [Red] [Green] [Blue]
※ CP: コントロールポイント
CP の位置は、データの最大・最小に関係なく 0.0~255.0 の範囲で指定されます。
通常は1つ目の CP を 0.0、最終行の CP を 255.0 とします。
次に、実際に AVS/Express に標準で入っている cmp ファイルの中身を見ていきましょう。
grayscale.cmp の中身
2 0 255
0.000000 0.000000 0.000000 0.000000 0.000000
255.000000 1.000000 1.000000 1.000000 1.000000
まず、CP の数は2つです。
このように、単純なカラーマップの CP は、両端の2点になることが多いです。
そして、2つの CP の RGB値はそれぞれ (0, 0, 0) (黒) と (255, 255, 255) (白) になっています。
これらの色の間をなめらかに繋ぐことで、グレースケールのカラーマップができるというわけです。
ここで、黒の透明度が 0 (透明)、白の透明度が 255 (不透明) となっていますが、
通常の可視化メソッドではこれらの情報は使われないようです。
default.cmp の中身
2 0 255
0.000000 0.000000 0.000000 0.040000 1.000000
255.000000 1.000000 1.000000 0.000000 0.000000
デフォルトの、青から赤に変化するカラーマップです。
ここで、色の補間方法は HSB によるものと RGB によるものの二通りあることに注意が必要です。
単純に RGB値で色を補間すると、中央部は赤と青の中間である紫色になります。
一方、HSB値による補間であれば、虹色のよく見るカラーマップになります。
AVS/Express では通常、HSB による補間が行われます。
defaultstep.cmp の中身
8 0 255
0.000000 0.000000 0.000000 0.000000 1.000000
63.750000 0.000000 0.000000 0.000000 1.000000
63.750000 0.330000 0.000000 1.000000 0.000000
127.500000 0.330000 0.000000 1.000000 0.000000
127.500000 0.660000 1.000000 1.000000 0.000000
191.250000 0.660000 1.000000 1.000000 0.000000
191.250000 1.000000 1.000000 0.000000 0.000000
255.000000 1.000000 1.000000 0.000000 0.000000
このカラーマップでは、グラデーションではなく5つの色階調のみを持ちます。
このように、同じ位置の CP で異なる色を指定することで、色を階段状に変化させることができます。
cmap ファイルのデータ構造
こちらの拡張子は資料が見つからず、構造は勝手な予想になるので、参考程度にお願いします。
幾つかファイルの中身だけを見た結果、以下のようなフォーマットだと思いました。
[CPの数]
[Hue] [Saturation] [Brightness] [1つ目のCP位置]
[Hue] [Saturation] [Brightness] [2つ目のCP位置]
︙
[Hue] [Saturation] [Brightness] [nつ目のCP位置]
[データ最小値] [データ最大値]
実際にグレースケールのカラーマップの中身を見てみましょう。
grayscale.cmap の中身
256
0.666667 0.000000 0.000000 0.000000
0.664052 0.000000 0.003922 0.000015
0.661438 0.000000 0.007843 0.000062
0.658824 0.000000 0.011765 0.000138
0.656209 0.000000 0.015686 0.000246
0.653595 0.000000 0.019608 0.000384
0.650980 0.000000 0.023529 0.000554
0.648366 0.000000 0.027451 0.000754
0.645752 0.000000 0.031373 0.000984
0.643137 0.000000 0.035294 0.001246
0.640523 0.000000 0.039216 0.001538
0.637909 0.000000 0.043137 0.001861
0.635294 0.000000 0.047059 0.002215
0.632680 0.000000 0.050980 0.002599
0.630065 0.000000 0.054902 0.003014
0.627451 0.000000 0.058824 0.003460
0.624837 0.000000 0.062745 0.003937
0.622222 0.000000 0.066667 0.004444
0.619608 0.000000 0.070588 0.004983
0.616993 0.000000 0.074510 0.005552
0.614379 0.000000 0.078431 0.006151
0.611765 0.000000 0.082353 0.006782
0.609150 0.000000 0.086275 0.007443
0.606536 0.000000 0.090196 0.008135
0.603922 0.000000 0.094118 0.008858
0.601307 0.000000 0.098039 0.009612
0.598693 0.000000 0.101961 0.010396
0.596078 0.000000 0.105882 0.011211
0.593464 0.000000 0.109804 0.012057
0.590850 0.000000 0.113725 0.012933
0.588235 0.000000 0.117647 0.013841
0.585621 0.000000 0.121569 0.014779
0.583007 0.000000 0.125490 0.015748
0.580392 0.000000 0.129412 0.016747
0.577778 0.000000 0.133333 0.017778
0.575163 0.000000 0.137255 0.018839
0.572549 0.000000 0.141176 0.019931
0.569935 0.000000 0.145098 0.021053
0.567320 0.000000 0.149020 0.022207
0.564706 0.000000 0.152941 0.023391
0.562092 0.000000 0.156863 0.024606
0.559477 0.000000 0.160784 0.025852
0.556863 0.000000 0.164706 0.027128
0.554248 0.000000 0.168627 0.028435
0.551634 0.000000 0.172549 0.029773
0.549020 0.000000 0.176471 0.031142
0.546405 0.000000 0.180392 0.032541
0.543791 0.000000 0.184314 0.033972
0.541176 0.000000 0.188235 0.035433
0.538562 0.000000 0.192157 0.036924
0.535948 0.000000 0.196078 0.038447
0.533333 0.000000 0.200000 0.040000
0.530719 0.000000 0.203922 0.041584
0.528105 0.000000 0.207843 0.043199
0.525490 0.000000 0.211765 0.044844
0.522876 0.000000 0.215686 0.046521
0.520261 0.000000 0.219608 0.048228
0.517647 0.000000 0.223529 0.049965
0.515033 0.000000 0.227451 0.051734
0.512418 0.000000 0.231373 0.053533
0.509804 0.000000 0.235294 0.055363
0.507190 0.000000 0.239216 0.057224
0.504575 0.000000 0.243137 0.059116
0.501961 0.000000 0.247059 0.061038
0.499346 0.000000 0.250980 0.062991
0.496732 0.000000 0.254902 0.064975
0.494118 0.000000 0.258824 0.066990
0.491503 0.000000 0.262745 0.069035
0.488889 0.000000 0.266667 0.071111
0.486274 0.000000 0.270588 0.073218
0.483660 0.000000 0.274510 0.075356
0.481046 0.000000 0.278431 0.077524
0.478431 0.000000 0.282353 0.079723
0.475817 0.000000 0.286275 0.081953
0.473203 0.000000 0.290196 0.084214
0.470588 0.000000 0.294118 0.086505
0.467974 0.000000 0.298039 0.088827
0.465359 0.000000 0.301961 0.091180
0.462745 0.000000 0.305882 0.093564
0.460131 0.000000 0.309804 0.095978
0.457516 0.000000 0.313726 0.098424
0.454902 0.000000 0.317647 0.100900
0.452288 0.000000 0.321569 0.103406
0.449673 0.000000 0.325490 0.105944
0.447059 0.000000 0.329412 0.108512
0.444444 0.000000 0.333333 0.111111
0.441830 0.000000 0.337255 0.113741
0.439216 0.000000 0.341176 0.116401
0.436601 0.000000 0.345098 0.119093
0.433987 0.000000 0.349020 0.121815
0.431373 0.000000 0.352941 0.124567
0.428758 0.000000 0.356863 0.127351
0.426144 0.000000 0.360784 0.130165
0.423529 0.000000 0.364706 0.133010
0.420915 0.000000 0.368627 0.135886
0.418301 0.000000 0.372549 0.138793
0.415686 0.000000 0.376471 0.141730
0.413072 0.000000 0.380392 0.144698
0.410457 0.000000 0.384314 0.147697
0.407843 0.000000 0.388235 0.150727
0.405229 0.000000 0.392157 0.153787
0.402614 0.000000 0.396078 0.156878
0.400000 0.000000 0.400000 0.160000
0.397386 0.000000 0.403922 0.163153
0.394771 0.000000 0.407843 0.166336
0.392157 0.000000 0.411765 0.169550
0.389542 0.000000 0.415686 0.172795
0.386928 0.000000 0.419608 0.176071
0.384314 0.000000 0.423529 0.179377
0.381699 0.000000 0.427451 0.182714
0.379085 0.000000 0.431373 0.186082
0.376471 0.000000 0.435294 0.189481
0.373856 0.000000 0.439216 0.192910
0.371242 0.000000 0.443137 0.196371
0.368627 0.000000 0.447059 0.199862
0.366013 0.000000 0.450980 0.203383
0.363399 0.000000 0.454902 0.206936
0.360784 0.000000 0.458824 0.210519
0.358170 0.000000 0.462745 0.214133
0.355556 0.000000 0.466667 0.217778
0.352941 0.000000 0.470588 0.221453
0.350327 0.000000 0.474510 0.225160
0.347712 0.000000 0.478431 0.228897
0.345098 0.000000 0.482353 0.232664
0.342484 0.000000 0.486275 0.236463
0.339869 0.000000 0.490196 0.240292
0.337255 0.000000 0.494118 0.244152
0.334641 0.000000 0.498039 0.248043
0.332026 0.000000 0.501961 0.251965
0.329412 0.000000 0.505882 0.255917
0.326797 0.000000 0.509804 0.259900
0.324183 0.000000 0.513726 0.263914
0.321569 0.000000 0.517647 0.267959
0.318954 0.000000 0.521569 0.272034
0.316340 0.000000 0.525490 0.276140
0.313725 0.000000 0.529412 0.280277
0.311111 0.000000 0.533333 0.284444
0.308497 0.000000 0.537255 0.288643
0.305882 0.000000 0.541176 0.292872
0.303268 0.000000 0.545098 0.297132
0.300654 0.000000 0.549020 0.301423
0.298039 0.000000 0.552941 0.305744
0.295425 0.000000 0.556863 0.310096
0.292810 0.000000 0.560784 0.314479
0.290196 0.000000 0.564706 0.318893
0.287582 0.000000 0.568627 0.323337
0.284967 0.000000 0.572549 0.327812
0.282353 0.000000 0.576471 0.332318
0.279739 0.000000 0.580392 0.336855
0.277124 0.000000 0.584314 0.341423
0.274510 0.000000 0.588235 0.346021
0.271895 0.000000 0.592157 0.350650
0.269281 0.000000 0.596078 0.355310
0.266667 0.000000 0.600000 0.360000
0.264052 0.000000 0.603922 0.364721
0.261438 0.000000 0.607843 0.369473
0.258824 0.000000 0.611765 0.374256
0.256209 0.000000 0.615686 0.379070
0.253595 0.000000 0.619608 0.383914
0.250980 0.000000 0.623529 0.388789
0.248366 0.000000 0.627451 0.393695
0.245752 0.000000 0.631373 0.398631
0.243137 0.000000 0.635294 0.403599
0.240523 0.000000 0.639216 0.408597
0.237908 0.000000 0.643137 0.413626
0.235294 0.000000 0.647059 0.418685
0.232680 0.000000 0.650980 0.423775
0.230065 0.000000 0.654902 0.428897
0.227451 0.000000 0.658824 0.434048
0.224837 0.000000 0.662745 0.439231
0.222222 0.000000 0.666667 0.444444
0.219608 0.000000 0.670588 0.449689
0.216993 0.000000 0.674510 0.454964
0.214379 0.000000 0.678431 0.460269
0.211765 0.000000 0.682353 0.465606
0.209150 0.000000 0.686275 0.470973
0.206536 0.000000 0.690196 0.476371
0.203922 0.000000 0.694118 0.481799
0.201307 0.000000 0.698039 0.487259
0.198693 0.000000 0.701961 0.492749
0.196078 0.000000 0.705882 0.498270
0.193464 0.000000 0.709804 0.503822
0.190850 0.000000 0.713726 0.509404
0.188235 0.000000 0.717647 0.515017
0.185621 0.000000 0.721569 0.520661
0.183007 0.000000 0.725490 0.526336
0.180392 0.000000 0.729412 0.532042
0.177778 0.000000 0.733333 0.537778
0.175163 0.000000 0.737255 0.543545
0.172549 0.000000 0.741176 0.549343
0.169935 0.000000 0.745098 0.555171
0.167320 0.000000 0.749020 0.561030
0.164706 0.000000 0.752941 0.566921
0.162091 0.000000 0.756863 0.572841
0.159477 0.000000 0.760784 0.578793
0.156863 0.000000 0.764706 0.584775
0.154248 0.000000 0.768628 0.590788
0.151634 0.000000 0.772549 0.596832
0.149020 0.000000 0.776471 0.602907
0.146405 0.000000 0.780392 0.609012
0.143791 0.000000 0.784314 0.615148
0.141176 0.000000 0.788235 0.621315
0.138562 0.000000 0.792157 0.627513
0.135948 0.000000 0.796079 0.633741
0.133333 0.000000 0.800000 0.640000
0.130719 0.000000 0.803922 0.646290
0.128105 0.000000 0.807843 0.652611
0.125490 0.000000 0.811765 0.658962
0.122876 0.000000 0.815686 0.665344
0.120261 0.000000 0.819608 0.671757
0.117647 0.000000 0.823529 0.678201
0.115033 0.000000 0.827451 0.684675
0.112418 0.000000 0.831373 0.691180
0.109804 0.000000 0.835294 0.697716
0.107189 0.000000 0.839216 0.704283
0.104575 0.000000 0.843137 0.710881
0.101961 0.000000 0.847059 0.717509
0.099346 0.000000 0.850980 0.724168
0.096732 0.000000 0.854902 0.730857
0.094118 0.000000 0.858824 0.737578
0.091503 0.000000 0.862745 0.744329
0.088889 0.000000 0.866667 0.751111
0.086274 0.000000 0.870588 0.757924
0.083660 0.000000 0.874510 0.764768
0.081046 0.000000 0.878431 0.771642
0.078431 0.000000 0.882353 0.778547
0.075817 0.000000 0.886275 0.785483
0.073203 0.000000 0.890196 0.792449
0.070588 0.000000 0.894118 0.799446
0.067974 0.000000 0.898039 0.806475
0.065359 0.000000 0.901961 0.813533
0.062745 0.000000 0.905882 0.820623
0.060131 0.000000 0.909804 0.827743
0.057516 0.000000 0.913726 0.834894
0.054902 0.000000 0.917647 0.842076
0.052288 0.000000 0.921569 0.849289
0.049673 0.000000 0.925490 0.856532
0.047059 0.000000 0.929412 0.863806
0.044444 0.000000 0.933333 0.871111
0.041830 0.000000 0.937255 0.878447
0.039216 0.000000 0.941177 0.885813
0.036601 0.000000 0.945098 0.893210
0.033987 0.000000 0.949020 0.900638
0.031373 0.000000 0.952941 0.908097
0.028758 0.000000 0.956863 0.915586
0.026144 0.000000 0.960784 0.923107
0.023529 0.000000 0.964706 0.930658
0.020915 0.000000 0.968628 0.938239
0.018301 0.000000 0.972549 0.945852
0.015686 0.000000 0.976471 0.953495
0.013072 0.000000 0.980392 0.961169
0.010457 0.000000 0.984314 0.968874
0.007843 0.000000 0.988235 0.976609
0.005229 0.000000 0.992157 0.984375
0.002614 0.000000 0.996078 0.992172
0.000000 0.000000 1.000000 1.000000
0.0 255.0
CP の位置が線形に変化するにつれ輝度(Brightness) が変化し、グレースケールを生成しているものと思われます。
色相(Hue) も変化していますが、彩度(Saturation) が常に 0 なので、影響はないはずです。
また何かわかれば追記します。