画像
■ピクセル
ピクセルとは画像データの色情報に使用されている単位や要素のことです。 画像データはピクセルの塊で構成されており、 画面上ではこのピクセルが反映されて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
●色情報
ピクセルの色情報は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では明るさも表現できるので、
蛍光灯の光をより白く表現できる
上の画像のように拡大の場合単純に倍率に応じてピクセルを
増やしているだけの場合が多く、その結果画質が劣化します。
ジャギー:
ジャギーとは画像を拡大した場合や低解像度で表示する場合などで
発生する現象で、画像の輪郭がギザギザの階段状になる。
●ベクタデータ
ベクタデータはドローデータとも呼ばれています。
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ではポリゴンの頂点情報(座標、色、法線)から
ピクセルデータに変換する処理のこともラスタライズと呼んでいます。
●ヘッダデータ
ヘッダデータとは各画像フォーマットの特性をまとめたデータです。
ほとんどのフォーマットがヘッダデータを持ちます。
以下はbitmapのヘッダファイルデータの一部の内容です。
・画像フォーマットデータ
画像がビットマップかどうか判断するための値
・画像の幅
画像の横の幅
・画像の高さ
画像の縦の高さ
・色ビット数
1ピクセルで使用するビット数
ヘッダデータの内容は各フォーマット毎に異なりますが、
上記のbitmapのヘッダのように画像データを画面に表示するために
必要なデータがまとめられています。
●画像データ
画像データは画面に表示するための情報の集まりです。
「ビットマップデータ」では数多くのピクセルが並んでおり、
「ベクタデータ」では図形の情報やデータがまとめられています。
以下は「ビットマップデータ」のフォーマット毎の共通の特性です。
・圧縮の有無
ビットマップデータはピクセルのまとまりなので、
画像サイズが大きければ大きいほどファイルサイズも増大します。
このファイルの増大を防ぐために各フォーマットで
一定のルールに基づいて圧縮がされていることがあります。
・圧縮有り
jpg
png
・圧縮無し
bmp
・可逆圧縮、非可逆圧縮
圧縮には「可逆圧縮」と「非可逆圧縮」の2種類があります。
可逆圧縮:
圧縮前の状態に戻すことができる圧縮方法
非可逆圧縮よりも圧縮率は下がる
代表フォーマット
png
非可逆圧縮:
可逆圧縮よりも高い圧縮率でファイルを圧縮できるが
圧縮前の状態に戻すことはできない
代表フォーマット
jpg
