マルチメディアデータの処理/画像ファイルの種類/画像ファイルの性質

画像ファイルにはさまざまな形式がありますが,それらの違いはコンピュータ内部での画像データの扱い方の違いによるものです.画像データの扱い方には,次のような要素があります.

コンピュータ上で画像を扱うにはそれぞれの要素を理解して,画像ファイルの形式を適切に使い分ける必要があります.

1.1.1 ビットマップ画像とベクトル画像

コンピュータ上での画像を大別するとビットマップ画像とベクトル画像の2種類にわけられます.この2つの違いを理解し,目的に応じて使いわけることで,コンピュータで画像を扱う際によりよい結果を得られます.


ビットマップ画像(ペイント系画像)

ビットマップ画像とは,画像をピクセルという小さな点の集合として扱う画像です.新聞の写真を虫めがねで拡大して見ると,小さな点が集まって表示されていることがわかりますが,ビットマップ画像ではこれに近い原理で画像を表します.

例えば赤い円を表現しようとするときに,赤い色のピクセルを円の輪郭を形作るように集めたものとして表現します.また文字を書くには,文字の形をした領域を埋めるピクセルの集合として表現します(図1.1).


図 1.1:ビットマップ画像の拡大
図 1.1:ビットマップ画像の拡大

ビットマップ画像は,おもに写真や手描きの絵など,色と色が混ざりあって全体を構成するような画像をコンピュータで表現する際に利用します.また,コンピュータはどんな画像であっても,ディスプレイに表示する際には最終的に内部でビットマップ画像に変換して表示するため,コンピュータの画面それ自体を画像として扱いたいときや,画像をコンピュータで表示することを目的とし,最適化して扱いたいときもこの形式を利用します.

ビットマップ画像では,すべての物が点の集まりとしての意味しか持たないため,1度描かれた図形と他の図形の間の意味的な区別をコンピュータは行いません.このためすべての編集操作,例えば`画像左端の車を消したい'というような操作は,ユーザが画像の中の車である部分のピクセルすべてを選択して,そのピクセルの集合を消すというような操作として行う必要があります.

また画像を拡大したときに,画像を構成しているピクセルがそのまま拡大されるため,ピクセルの形によってできるギザギザが画像全体に目立つようになってしまいます(図1.1).

ビットマップ画像を扱うアプリケーションは,ペイント系画像ツールなどと呼ばれます.CNS では,Photoshop2.5Photoshop5.02JPhotoshop5.5JXPaintGIMPなどを利用できます.また,スキャナを利用して,写真などをコンピュータに取り込んだ場合もビットマップ画像となります.

ベクトル画像(ドロー系画像)

ベクトル画像とは,座標と数式の組み合わせによって直線や曲線を定義することで画像を表現するものです.

例えば赤い円は`赤い1mm幅の線で描いた半径5cmの円を,座標(28, 64)を中心として描く'というように表現します.また文字については,`『あ』という文字を,明朝体という字体を使って12ptの大きさで座標(15, 33)から書く'というような表現方法を用います.

このため,拡大や縮小を行っても,コンピュータが再計算を行って,そのサイズに合わせて表示し直すため,ビットマップ画像のように細部の形が崩れることはなく,輪郭のはっきりした線を描けます(図1.2).


図 1.2:ベクトル画像の拡大
図 1.2:ベクトル画像の拡大

また,画像に含まれる要素を,それぞれ別の独立した図形として個別に扱えるため,移動などの編集が容易です.`車'が画像に含まれているとしたら,ビットマップ画像のように,`車である領域のピクセルの集合'を操作するのではなく,`車の部分をひとまとまりの図形'として操作できます.

特に文字に関しては,ビットマップ画像のように単なる点の集合として扱うのではなく,1文字ごとに文字としての意味を保持したまま取り扱えるので,画像に含まれた文章の編集や,字体の変更なども容易に行えます.

ベクトル画像は以上のような特徴を持つため,図表やイラストなどの表現に適しています.一方,写真のように,隣接物の間で色と色が重なり合ったり,光の微妙な差異があるような複雑な画像情報はベクトルで表現するのが困難なため,このような目的には適しません.

ベクトル画像を扱うアプリケーションは,ドローツールなどと呼ばれます.CNS では,TgifIllustrator7.0JIllustrator8.0J などを利用できます.

1.1.2 色表現

コンピュータではディスプレイに色を表現する際に,Red,Green,Blueの3原色を混ぜ合わせることですべての色を表現する加色混合という方法を用います.しかしユーザが色指定を行う方法として,目的に応じてより利便性の高い方法で画像の色を扱えるように,数種類の方法が用意されており,用途に応じて使いわける必要があります.

RGBカラー

RGBカラーはRed,Green,Blueの3原色の強さをそれぞれ数値で指定し,その組み合わせによって色を表現します.アプリケーションによって,RGB画像,RGBフルカラー,RGBモードなどといった名称で呼ばれます.

コンピュータはディスプレイに色を表示する際に,どのような画像データであっても最終的には内部でこの方法に変換してから表示するため,印刷などは行わずコンピュータ上だけで利用する画像の色表現にはもっとも適した方法です.

一般的には,各3原色の強さをそれぞれ8bit (256段階)の数値で指定し,3原色の組み合わせにより8×3=24bit (16,777,216色)を区別して保持する形式が用いられています.人間が識別可能な色数はおよそ7,500,000色であると言われており,これだけの色を扱えれば実用上問題はないと考えられています.

表記方法

コンピュータで表示したい色を指定する場合,Red,Green,Blueの3原色を,3桁の10進数もしくは2桁の16進数で表記します(表1.1).


表 1.1: 10進法と16進法による色の表記
10進数(RGB) 16進数( #RRGGBB)
0 0 0 #000000
255 255 255 #FFFFFF
255 0 0 #FF0000
0 255 0 #00FF00
0 0 255 #0000FF
255 0 255 #FF00FF
赤緑 255 255 0 #FFFF00
青緑 0 255 255 #00FFFF

16進数は,16で1桁繰り上がる数の数え方です.ただし,1文字で表せない数値(10〜15)はアルファベット(A〜F)で表され,10進数の255は16進数のFFに相当します.表記方法はRed,Green,Blueの値を16進数で表記し,#の後に続けて書きます.ただし,値がないときも2桁で表記する必要があるので`00'と書きます.

また,16進数の数値は10進数から計算でき,10進数の数値を16で割った,商が2桁目の値,余りが1桁目の値となります.

インデックスカラー

インデックスカラーは,カラーマップ(カラーテーブル)という色の目次(インデックス)を用意し,各ピクセルの色の情報を,その目次への参照によって保持する形式です.

一般的には,色目次自体はRGBカラーによって色の情報を持っているため,表現可能な色彩領域はRGBカラーと同一でありますが,色目次の数に256個などの制限があり,同時に表現可能な色数は色目次の数によって制限されます.257色以上の色数の場合,RGBカラーを直接指定しても効率に大きな違いですがないために,インデックスカラーが使われることはあまりありません.

同時に使用する必要のある色数が少なければ,RGBカラーモードのように各要素ごとに直接色情報を保持するよりも要素ごとの色情報を小さくできるため,画像全体として必要な情報量を縮小できます.

CMYKカラー

CMYKカラーとはCyan,Magenta,Yellowの3原色の混合による色表現を基本に,白黒の部分を特別に扱うBlackの値を保持し,あわせて4原色を用いる色表現の方法です.アプリケーションによって,CMYK画像,CMYKフルカラー,CMYKモードといった名称で呼ばれます.

グラビアなどのフルカラーの印刷物の多くはこの4原色のインクを混合することで実現されます.画像の印刷出力が目的である場合,途中の編集作業はRGBカラーで行っても最終的には画像ファイルをCMYKカラーによる色表現を用いたものに変換することがよくあります.

グレースケール

モノクロの画像について,白から黒までのグレーを階調表現し,モノクロの写真などを画像として扱う際に用いられます.

一般的には,白から黒までを256階調(8bit)に分けて色を表現します.色彩を必要としないのであれば,RGBカラーに比べて約1/3のサイズに画像ファイルを縮小できます.

白黒2値

モノクロの画像を,グレースケールの中間調のグレーが存在しない白か黒かのどちらかの点の集合として表現します.中間調のグレーは,ある領域について黒い点と白い点の数を調整することで領域全体として疑似的に表現する場合もあります.ピクセルなど,画像の各要素ごとに必要な色情報が0か1かの最小の値で済むため,画像ファイルのサイズは小さくなります.

1.1.3 非圧縮と可逆,不可逆圧縮

一般的に,ビットマップの画像情報の大きさ(データ量)は,文字情報に比べると非常に大きなものです.ビットマップの画像情報は,画像がより大きく,よりきめ細かくなるにしたがって大きくなります.同じ形式の画像は面積が2倍になれば画像情報のサイズも2倍になります.

画像ファイル内部での情報保持方法には,その利用目的に応じて,非圧縮,可逆圧縮,不可逆圧縮という3種類がありファイル形式によって使いわけられます.

圧縮と非圧縮

画像ファイルのサイズより品質を重視する場合や,コマンドでの画像ファイルの加工を行う場合,複数の機種やアプリケーションを組み合わせて画像ファイルを作成する場合などには,圧縮せずにファイルを保存します.その場合には,非圧縮型の画像ファイル形式を利用します.

圧縮方法にもよりますが圧縮形式の画像データは,もとの画像の何らかの情報を省略して圧縮することがあります(不可逆圧縮).画像が多少劣化してもファイルの大きさを小さくしたい場合,特にWWWなどネットワークで転送する必要がある場合などには,圧縮型の画像ファイル形式を利用します.

可逆圧縮と不可逆圧縮

圧縮方法は可逆,不可逆の2種類に分類できます.

可逆圧縮とは,画像情報を圧縮する際にもとの情報を失わないように,再計算して展開し直せばもとの画像を同じ状態で得られる圧縮方法です.圧縮したファイルを展開したとき,もとの画像の詳細まで再現したい場合には可逆圧縮のファイル形式を用います.

不可逆圧縮は逆に,多少は画像の詳細な部分が失われてもファイルの大きさをより小さくしたい場合に用います.特に,写真などの自然画像については,圧縮を行っても細部の劣化が人間の目にはあまり認識できないため,不可逆圧縮のファイル形式の利用に適しています.