静止画像データの基本的な構造
パソコン上の画像データは、ピクセルという点の集まりです。ピクセルという点の集まりについて、色や明るさなどを指定することで、データが構成されています。
ピクセルは、3原色(赤青緑)の数値の組み合わせで表現されます。1ピクセルに3色を指定すると1×3=3バイトの情報となり、このように、画像データの基本的なデータ容量は、ピクセル数×バイト数となります。
このようなピクセルの縦横の羅列という単純な構造を持つ画像データを圧縮する技術が発達しました。圧縮のアプローチには複数ありますが、JPEG、GIFなどは一部データを書き換えて圧縮するので元のデータには戻りません(不可逆圧縮)。GIFは使用する色を256色に限定していますので精密な画像には向きませんが、圧縮率は高くアニメーションなど静止画像を連続して影像することにも耐え得ます。PNGは、共通する情報をまとめるなどの方法でデータを圧縮しますが、データの書き換えは行わないので、可逆的です。ただし、写真などの同色(共通する情報)が多くないデータの圧縮には向きません。ロゴマークやグラフなど同系色が多く含まれる画像データに向いています。
ブラウザの画像拡大・縮小方法
CSS、HTMLで画像データをリサイズした場合の画像データの拡大・縮小方法は、ニアレストネイバー法、バイリニア法の改良版であるバイキュービック法です。かつてのブラウザソフトはニアレストネイバー法を使用していましたが、[-ms-interpolation-mode: bicubic;]という記述で、バイキュービック法に変換することが出来るバージョンも存在しました。現在のインターネットエクスプローラーは、バイキュービック法とニアレストネイバー法をブラウザが自動判定する仕様になっているようです。一部、ドット絵のようにニアレストネイバー法が適合的な画像タイプが存在することなどに起因するようです。
画像間補正と縮小
画像間補正は、変更前の画像と変更後の画像の対応関係を可能な限り正確に反映することを志向します。このとき、画像データは基本的に点(ピクセル・画素)の集まりなので、対応関係を把握するうえでも重要な指標になります。画像縮小においては、縦横のピクセルを減少させたうえで、残ったピクセル間で補正処理を行います。
ニアレストネイバー法
単純に画像の縦横のサイズを縮小し、不要となったピクセルを間引きます。処理速度は速いですが、仕上がりは荒くなりやすい(ジャギーなどが発生しやすい。)と言われています。
バイキュービック法(及びバイリニア法)
例えば、4画素を1画素に縮小する場合、4画素の平均値を反映した1画素のデータを再製します。バイキュービック法においては、補正に利用する画素の射程が長いなど、さらに正確な補正を行いますが、計算は複雑になります。
コメント