ベクタ表現とラスタ表現

CG

画像のデジタル化 からカラー画像とデータ量 まで、私たちは連続的なアナログ画像を格子状の画素に区切って数値で記録する仕組みを見てきました。
ここでは視点を変えて、「そもそも画像をどんな形で表現・記録するか」という切り口を考えてみます。
実は、これまで見てきた画素の格子という形式は、画像の表現方法のひとつにすぎません。

ラスタ表現
CG

画像を格子状に並んだ画素の集まりとして保持する方式をラスタ表現といいます。各画素がどんな色や明るさをもつかを、縦横に並んだ2次元配列として記録する方式です。

これは新しい概念ではありません。画像のデジタル化 で見た標本化・量子化の結果、すなわち格子点ごとに読み取られて段階値に丸められた画素の集まりこそが、まさにラスタ表現にほかなりません。

ラスタ表現はビットマップとも呼ばれます。この呼び名は、各画素を白か黒かの1ビットで表す最も単純な場合に、画像がビット(01)の地図のように並ぶことに由来します。

ラスタ表現は、画素という決まった数のマス目に画像を写し取ったものなので、その細かさ、すなわち解像度 に縛られます。
そのため、画像を大きく引き伸ばすと、一つひとつの画素が目立つようになり、輪郭が階段状にギザギザに見えるジャギーが現れて画質が劣化します。

スマートフォンで撮った写真をぐっと拡大していくと、なめらかだった輪郭がギザギザになり、四角い画素の格子が見えてきます。これはラスタ表現が解像度に依存しているために起こる、典型的な劣化です。

写真やデジタルカメラの画像、スキャンした資料、ゲームのテクスチャなど、こまやかな濃淡をそのまま記録したい用途は、ラスタ表現が得意とするところです。

ベクタ表現
CG

ラスタ表現が「結果としての画素」を記録するのに対して、「描き方そのもの」を記録するという方式もあります。

点・線・図形を、座標や数式といった「描き方の情報」として記録する方式をベクタ表現といいます。画面に表示する際には、その情報をもとに都度計算して画素に変換します。

ベクタ表現は完成した画素を持っているわけではなく、「どこに、どんな形を描くか」という指示だけを持っています。表示するたびにその指示を計算し直して画素を生成するため、どんな大きさで表示するよう求められても、その都度ちょうどよい細かさで描き出すことができます。

このことから、ベクタ表現は画像をどれだけ拡大しても劣化しません。つまり、表示する解像度に縛られないのです。

ロゴやアイコン、地図データなど、拡大・縮小されることが多い図形は、ベクタ表現が向いています。

画面に表示される文字の形(フォント)も、多くはベクタ表現で記録されています。小さな文字も大きな見出しも同じ一つのデータから描かれるため、どんなサイズでもなめらかな形を保てるのです。

CGとラスタ化
CG

拡大しても劣化しないベクタ表現は万能のように思えますが、実際にはラスタ表現と切り離して考えることはできません。

私たちが実際に画像を目にするディスプレイや印刷物は、いずれも画素という離散的なマス目で表現されています。つまり、表示の最終形はつねにラスタ表現なのです。

ベクタ表現で定義された図形を、画面表示や印刷のために画素の集まりへ変換する処理をラスタ化といいます。

コンピュータグラフィックス(CG)では、図形やモデルを座標や数式として定義し、それを最終的に画素の集合、すなわちラスタ画像として描き出します。CGとは、ラスタ化を行う処理であると捉えることもできるのです。

ラスタ化が具体的にどのように行われるのかは、ラスタ化による図形の描画 で詳しく見ていきます。