画像
■ピクセル
ピクセルとは画像データの色情報に使用されている単位や要素のことです。
画像データはピクセルの塊で構成されており、
画面上ではこのピクセルが反映されて1つの画像が表示されています。
●色情報
ピクセルの色情報はR(赤)G(緑)B(青)の3色と不透明度(Alpha)の
計4種の値を合成して1つの色を作成しています。
※不透明度は画像によっては設定されていません。
・各色の値の範囲
RGBAの各色には設定できる値の範囲があります。
基本的には1色につき8bit(0~255)まで設定できますが、
1bit(0~1)や2bit(0~4)など、画像データの設定で色々と変更が可能です。
また、HDRでは1色につき16bit(65535)、または24bit(4294967295)まで設定できます。
※RGB => (0, 0, 0)は黒、RGB(255, 255, 255)は白です。
HDR(High Dinamic Range):
色の表現を超えて色 + 明るさの表現を可能とした表現方法。
例:
白色の紙 => (255, 255, 255)
蛍光灯の光 => (255, 255, 255)
どちらも白色だが、蛍光灯の光のほうが
紙よりも明るいので同じだと違和感がある
HDRでは明るさも表現できるので、
蛍光灯の光をより白く表現できる
■画像ファイルのデータ形式
画像ファイルのデータ形式にはビットマップデータ形式と
ベクタデータ形式の2種類があります。
bmp、jpg、pngがビットマップデータ、pdf、svgがベクタデータです。
●ビットマップデータ
ビットマップデータは「ラスタデータ」や「ペイントデータ」とも呼ばれており、
bmp、jpg、pngなど一般的とされる画像データはほとんどこのデータ形式です。
・特性
ビットマップデータは画像データの情報を
ピクセル単位で設定しており、
1ピクセルはRGBで構成されています。
※透過値(アルファ値)をもつデータもあります。
・メリット
表現性の高さ:
ピクセル(色)の集合体なので、写真などの細かい輪郭や
色使いなどが表現可能。
・デメリット
ファイルサイズ:
ピクセルデータがそのままファイルサイズになるので、
高解像度であったり、画像が大きかったりすると、
ファイルサイズが大きくなる。
拡大などによる画質の劣化:
画像を拡大した際に画質が劣化する(ジャギー)
ビットマップデータは100%のサイズを表現するための
ピクセルの塊なので、拡大を行った場合、
そのピクセルの塊を無理やり拡張しており、
その代償として画質が劣化している
上の画像のように拡大の場合単純に倍率に応じてピクセルを
増やしているだけの場合が多く、その結果画質が劣化します。
ジャギー:
ジャギーとは画像を拡大した場合や低解像度で表示する場合などで
発生する現象で、画像の輪郭がギザギザの階段状になる。
●ベクタデータ
ベクタデータはドローデータとも呼ばれています。
pdfやsvgなどが代表的なデータになります。
・特性
ベクタデータは画像を形状、位置、サイズ、色などを指定することで
図形を表現するデータ形式です。
例えばSVGではXML形式でデータ構造を定義し、そのデータをもとにして
画面に描画されます。
svgコード例:
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<rect x="10" y="10" width="100" height="100" fill="red" />
</svg>
svg表示内容:
・メリット
データサイズ:
形状やサイズなどが基本的なデータの情報になるので、
ビットマップデータ形式と比べるとデータの
ファイルサイズは小さい
画質が劣化しない:
ベクタデータの画像は表示位置と形状を指定がされており、
その情報を元に計算を行い画面に表示する
そのため、拡大や変形を行ってもそれらを踏まえて
計算を行うので、劣化が発生することはない
・デメリット
複雑な形状に不向き:
指定した形状を表示することに特化しているので、
写真などの細かい描写が必要なデータには向いていない
・ラスタライズ
ベクタデータも最終的にはピクセルデータに変換して
画面に表示されます。
このベクタ => ピクセルの変換処理のことをラスタライズと呼びます。
3DCGではポリゴンの頂点情報(座標、色、法線)から
ピクセルデータに変換する処理のこともラスタライズと呼んでいます。
■画像フォーマット
画像フォーマットとは画像データの保存ルールのことです。
この画像フォーマットによって「png」や「jpg」などの
様々な画像のデータの差別化ができています。
●データ構成
画像データは「ヘッダデータ」と「画像データ」で構成されており、
データの並びは以下のようにヘッダデータが先頭、
画像データがその後ろに続いて配置されています。
●ヘッダデータ
ヘッダデータとは各画像フォーマットの特性をまとめたデータです。
ほとんどのフォーマットがヘッダデータを持ちます。
以下はbitmapのヘッダファイルデータの一部の内容です。
・画像フォーマットデータ
画像がビットマップかどうか判断するための値
・画像の幅
画像の横の幅
・画像の高さ
画像の縦の高さ
・色ビット数
1ピクセルで使用するビット数
ヘッダデータの内容は各フォーマット毎に異なりますが、
上記のbitmapのヘッダのように画像データを画面に表示するために
必要なデータがまとめられています。
●画像データ
画像データは画面に表示するための情報の集まりです。
「ビットマップデータ」では数多くのピクセルが並んでおり、
「ベクタデータ」では図形の情報やデータがまとめられています。
以下は「ビットマップデータ」のフォーマット毎の共通の特性です。
・圧縮の有無
ビットマップデータはピクセルのまとまりなので、
画像サイズが大きければ大きいほどファイルサイズも増大します。
このファイルの増大を防ぐために各フォーマットで
一定のルールに基づいて圧縮がされていることがあります。
・圧縮有り
jpg
png
・圧縮無し
bmp
・可逆圧縮、非可逆圧縮
圧縮には「可逆圧縮」と「非可逆圧縮」の2種類があります。
可逆圧縮:
圧縮前の状態に戻すことができる圧縮方法
非可逆圧縮よりも圧縮率は下がる
代表フォーマット
png
非可逆圧縮:
可逆圧縮よりも高い圧縮率でファイルを圧縮できるが
圧縮前の状態に戻すことはできない
代表フォーマット
jpg