「画像」とは
コンピュータで扱うデジタル画像は、小さな点を縦横に並べ、それぞれの点に色や明るさを表す数値を割り当てて表現できます。この一つ一つの点を画素(ピクセル)といいます。
例えば、横800画素、縦600画素の画像には、
800×600=480,000画素
が含まれています。
このように、画像を画素の集まりとして表現する方式をラスタ形式といいます。写真をはじめ、コンピュータで扱われる多くの画像に利用されています。
画像を表現するときは、主に次の二つの観点が重要です。
- 画像を何個の画素に分けるか
- 1画素の色や明るさを何ビットで表すか
画像のデジタル化
現実の景色などは、位置や色が連続的に変化しています。これをコンピュータで扱えるデジタルデータにするには、連続的な情報を有限個の数値へ変換する必要があります。
画像のデジタル化は、標本化と量子化という考え方で説明できます。
標本化
画像を縦横の細かな領域に区切り、それぞれの位置の情報を取り出すことを標本化と考えることができます。
画像の場合、この一つ一つの領域が画素になります。細かく区切るほど多くの画素を使って画像を表現するため、細部を表しやすくなります。
量子化
それぞれの画素について、明るさや色を有限個の値のいずれかに割り当てることを量子化といいます。
例えば明るさを0~255の値で表す場合、明るさを256段階に分け、それぞれの画素をそのいずれかの値で表現します。
音声のデジタル化でも標本化と量子化が行われます。画像では、
どの位置の情報を取り出すか → 標本化
取り出した色や明るさをどの値で表すか → 量子化
と考えると区別しやすくなります。
画素数と解像度
画像を構成する画素が多いほど、一般には細かな形を表現しやすくなります。
例えば、同じ大きさで表示する場合、
では、後者の方が多くの画素を使って画像を表現できるため、細部を表現しやすくなります。
「解像度」が表すもの
「解像度」という言葉は、異なる意味で使われることがあります。
縦横の画素数
例えば、
1,920×1,080画素
のように、画像を構成する縦横の画素数を指して「解像度」と呼ぶことがあります。
画素の密度
一定の長さの中に、どれだけ多くの画素が並んでいるかを表す場合もあります。
例えばppi(pixels per inch)は、1インチ当たりの画素数を表します。
同じ1,000×1,000画素の画像でも、小さく表示すれば画素が密に並び、大きく表示すれば画素の密度は低くなります。
したがって、
画像そのものが持つ縦横の画素数
一定の長さ当たりに並ぶ画素の密度
は区別して考える必要があります。
ビット数と階調
コンピュータでは、画素の明るさや色を0と1の組合せで表します。
nビットで表現できる異なる値の数は、
2n通り
です。例えば、
- 1ビット → 21=2通り
- 2ビット → 22=4通り
- 8ビット → 28=256通り
となります。
画像の明るさを何段階に分けて表現できるかを階調数といいます。
2階調画像
白と黒だけを表すのであれば2通りなので、1画素につき1ビットで表現できます。
例えば、
と対応させることができます。
4階調画像
4段階を表すには2ビット必要です。2ビットで表せる値は、
00、01、10、11
の4通りです。
例えば値が小さいほど明るいと決めれば、
- 00 → 白
- 01 → 薄い灰色
- 10 → 濃い灰色
- 11 → 黒
と対応させることができます。どの値をどの明るさに対応させるかは方式によって異なるため、問題では与えられた条件を確認する必要があります。
256階調画像
8ビットなら、
28=256通り
なので、256段階の明るさを表現できます。符号なし整数として表す場合、値の範囲は、
0~255
となります。256は「値の種類の数」であり、255は「最大値」であることを区別する必要があります。
グレースケール画像
色を持たず、明るさだけで表現した画像をグレースケール画像といいます。
例えば、1画素を8ビットで表すグレースケール画像では、各画素に0~255の値を割り当てることができ、256段階の明るさを表現できます。
例えば、
のように対応させることができます。
カラー画像とRGB
コンピュータのディスプレイなどでは、色を、
- R:Red(赤)
- G:Green(緑)
- B:Blue(青)
の三つの成分の組合せで表すRGBが広く使われています。
24ビットフルカラー画像では、R・G・Bの各成分に8ビットずつ割り当てます。
8ビットでは256通りの値を表現できるため、各成分は0~255の値を取ります。
したがって、1画素で表現できる色の数は、
256×256×256
=2563
=16,777,216色
となります。
RGB以外の色の表現
色の表現方法はRGBだけではありません。
例えば印刷では、
- C:シアン
- M:マゼンタ
- Y:イエロー
- K:ブラック
を組み合わせるCMYKが広く利用されています。
RGBは光を組み合わせることで色を表すのに対し、CMYKではインクなどによって光を吸収することで色を表します。
また、画像や動画の圧縮では、明るさの情報と色の情報を分けて扱う色表現が利用されることもあります。用途によって、適した色の表現方法は異なります。
画像のデータ量
圧縮を行わず、ヘッダなどの付加情報も考えない場合、画像のデータ量は、
横の画素数×縦の画素数×1画素当たりのビット数
で求めることができます。
例1:白黒画像
横10画素、縦20画素、1画素1ビットなら、
10×20×1
=200ビット
です。
1バイト=8ビットなので、
200÷8
=25バイト
となります。
例2:8ビット画像
12×12画素で、1画素8ビットなら、
12×12×8
=1,152ビット
です。8ビット=1バイトなので、
1,152÷8
=144バイト
となります。
例3:24ビットカラー画像
横1,920画素、縦1,080画素、1画素24ビットなら、
1,920×1,080×24÷8
=6,220,800バイト
となります。1MB=1,000,000バイトとすれば、
約6.22MB
です。
実際の画像ファイルには、画像形式などを記録するヘッダや、そのほかの付加情報が含まれる場合があります。
画像の圧縮
画像は、画素数が多く、1画素を多くのビットで表すほどデータ量が大きくなります。
そこで、データ量を減らすために圧縮が行われます。
圧縮には大きく、
があります。
可逆圧縮
可逆圧縮は、圧縮したデータを展開したとき、元のデータを完全に復元できる方式です。
例えばプログラムのソースコードでは、1文字でも変化すると意味や動作が変わる可能性があります。そのため、元の内容を完全に復元する必要があります。
画像でも、元の画素値を完全に保持する必要がある場合には可逆圧縮が利用されます。PNGなどでは可逆圧縮が利用されています。
非可逆圧縮
非可逆圧縮は、一部の情報を取り除くことでデータ量を小さくする方式です。
展開しても、元のデータを完全には復元できません。
写真などでは、人間が気付きにくい違いを利用することで、見た目の変化をある程度抑えながらデータ量を小さくすることができます。
JPEGは写真などで広く利用される画像形式で、一般に非可逆圧縮を用います。
主な画像ファイル形式
画像の保存には、用途に応じてさまざまなファイル形式が使われます。
JPEG
写真などに適したラスタ形式です。
一般に非可逆圧縮を利用し、画質とデータ量のバランスを調整できます。
PNG
ラスタ形式で、可逆圧縮を利用します。図や文字を含む画像などにも利用され、透明部分を扱うこともできます。
GIF
ラスタ形式で、扱える色数は基本的に最大256色です。簡単なアニメーションを表現することもできます。
画像形式によって、圧縮方式、扱える色数、利用できる機能などが異なるため、目的に応じて使い分ける必要があります。
高解像度画像に含まれる情報
カメラの高解像度化によって、写真には以前より細かな情報まで記録できるようになりました。
そのため、撮影した本人が意識していない情報が画像に含まれることもあります。
例えば、人物がピースサインをしている写真では、条件によっては指先の細かな模様まで写る可能性があります。
画像を公開するときには、人物そのものだけではなく、
- 指先などの細部
- 名札
- 書類
- 車のナンバー
- 背景の建物
- 場所を推測できる景色
などの写り込みにも注意する必要があります。
公開した画像は完全には回収できないことがある
SNSへ投稿した画像を後から削除しても、インターネット上からすべての複製が消えるとは限りません。
例えば、
- 他人の端末に保存される
- 別のSNSやWebサイトへ転載される
- 検索サービスなどに一時的に保存される
ことがあります。
元の投稿を削除できても、別の場所に作られた複製は投稿者が直接管理できない場合があります。
したがって、画像を公開するときには、後から完全には回収できない可能性を考えておくことが重要です。
画像の信頼性を確かめる
SNSやWebサイトに掲載されている画像が、その説明どおりの出来事を示しているとは限りません。
例えば、
- 過去の出来事の写真を現在のものとして紹介する
- 別の場所で撮影された写真を使う
- 画像の一部を切り取る
- 画像を加工する
- 生成AIなどによって実在しない画像を作る
といったことが可能です。
画像の信頼性を確認するには、
- 逆画像検索で過去の掲載例を探す
- 自治体や公的機関などの情報と照合する
- 撮影日時や場所を調べる
- 天候、地形、建物などの情報と照合する
- 最初に掲載した主体を確認する
など、複数の手掛かりを組み合わせることが重要です。
画像から受ける印象の強さと、その画像が正しい情報を示しているかどうかは別の問題です。
写真と著作権
写真も、撮影者の創作性が表れたものであれば、著作権法上の著作物として保護されます。
WebサイトやSNSで公開されている写真だからといって、自由に転載できるとは限りません。
他人が撮影した写真を許可なく自分の広告などへ転載すると、原則として複製権や公衆送信権などの著作権に関わる問題となります。
インターネット上で見ることができることと、自由に利用できることは同じではありません。
ベクタ形式
ここまで説明してきた、画像を画素の集まりとして表現する方法はラスタ形式です。
デジタル画像には、これとは異なるベクタ形式という表現方法もあります。
ベクタ形式では、画像を画素の集まりとして保存するのではなく、
などの情報として表現します。
例えば円なら、「どの位置を中心とするか」「半径はいくつか」「何色で塗るか」といった情報によって表すことができます。
そのため、表示する大きさが変わっても、その大きさに合わせて図形を描き直すことができます。ロゴ、アイコン、地図、図形、イラストなどの表現に適しています。
SVGは代表的なベクタ形式の画像形式です。
ラスタ形式とベクタ形式の違い
ラスタ形式とベクタ形式には、それぞれ異なる特徴があります。
| ラスタ形式 | ベクタ形式 |
| 表現方法 | 画素の集まり | 点・線・曲線・図形など |
| 得意な画像 | 写真など | ロゴ、図形、イラストなど |
| 拡大 | 画素が目立ち、粗くなることがある | 基本的に輪郭が粗くならない |
| データ量 | 画素数や色深度などに左右される | 図形の数や複雑さなどに左右される |
| 代表的な形式 | JPEG、PNG、GIF | SVG |
写真のように複雑な色の変化を持つ画像は、一般にラスタ形式に適しています。
一方、ロゴのように単純な線や図形を組み合わせた画像は、ベクタ形式に適しています。
また、ディスプレイ自体は画素を並べて表示する装置です。そのため、ベクタ形式の画像も画面に表示するときには、最終的には画素へ変換して描画されます。
このように、点・線・図形などの情報から画素の集まりへ変換して描画することをラスタライズといいます。
画像には一つの表現方法だけがあるのではなく、目的や画像の性質に応じてラスタ形式とベクタ形式を使い分けることが重要です。