
1バイト(byte)とは、256通りの情報を表現できる容量を意味します。基本的なところから述べると、コンピュータの情報やデータは、0と1の組み合わせ、2進数で構成されています。0か1を格納できるブロック(と仮に表現します)が1つだけであれば、表現できる情報は2通りです。この2通りの情報を表現できる1ブロック分の容量のことを、1ビット(bit)と呼びます。
□ : 0・1 の2通り
1ビットのブロックが、2つあればどうでしょうか。表現できる情報は4通りになります。このときの容量は4ビットとなります。
□ □ : 00・01・10・11 の4通り
ではブロックが3つ、3ビットになるとどうでしょう。表現できる情報は、以下のように8通りになります。
□ □ □ : 000・001・010・011・100・101・110・111 の8通り
そろそろお気づきかもしれませんが、ビットが1つ増えるごとに表現できる情報量は2倍になります。4ビットであれば16通り、5ビットであれば32通り、6ビットであれば64通り、7ビットであれば128通り、8ビットであれば256通りです。この256通りの情報を表現できる8ビットという容量が、1バイトという単位になります。
そして1バイトの1,024倍が1キロバイト、1キロバイトの1,024倍が1メガバイト、1メガバイトの1,024倍が1ギガバイトということになります。1,000倍ではなく1,024倍となっている理由は、先述の通りバイト(およびビット)は1ずつ増えるのではなく、2倍ずつ増加する性質を持つ単位であることが挙げられます。2を乗ずることを繰り返したとき、最も1,000倍に近くなる2の10乗、1,024倍をキロやメガの単位(※)としているのです。
この1バイト、256通りで表現される情報は、テキストデータであれば文字、画像データであれば1ドットあたりの色の種類ということになります。それでは具体的に考えてみましょう。
※キビバイト、メビバイトと表す場合や、1,024倍ではなく1,000倍としている場合もあります
まずは単純なケースとしてテキストデータの容量の決まり方を、単純化のために、wordではなく、ただのテキストファイルで考えていきましょう。
テキストファイルの場合、容量はほとんど文字数だけで決まります。では1文字あたりの容量はどうなっているのでしょうか。答えを先に述べると、半角文字の場合は1文字あたり1バイト、全角文字の場合は1文字あたり2バイトとなります。
半角文字の場合はアルファベットが26種類、大小文字を考慮しても52種類で、他の数字や記号等を含めても1バイトの256通りで表現することが可能です。
一方、全角文字の場合、ひらがな、カタカナ、常用漢字だけで数千種類の文字があるため、表現するためには256通り × 256通りの65,536通り、2バイト分の容量が必要になるのです。
エクセルにはセルに格納されている文字のバイトを返す関数「LENB()」があります。興味があれば試していただければ、半角の場合は1文字1バイト、全角の場合は1文字2バイトであることが確認できます。
また、さらに時間があれば、メモ帳などのテキストファイルを2つ作成し、片方は半角文字、もう片方には全角文字をそれぞれ1,000字ずつ入力して保存すれば、前者は1キロバイト強、後者は2キロバイト強の容量になることがわかります。(実際のファイルには文字だけでなくメタ情報なども含まれるため、ちょうど1キロバイトや2キロバイトにはなりません)。
今の時代、特に画像データが高解像度化によって大容量化しています。なぜ高解像度化すると、画像データは大容量化するのでしょうか。その理由を解説する前に、まずは画像データの基本的な構造を確認しましょう。
画像データは「ドット」、いわゆる色が付いた小さな点が集まって構成されています。以下は簡易的に、タテ20、ヨコ20の合計400ドットで「X」の文字を表現した画像とします。
20×20 400ピクセルの画像模式図
画像を構成するドットの数が、画素数を表す「ピクセル」という単位になります。デジタルカメラの性能表記でご存知の方もいらっしゃるでしょう。上記の画像は、400ピクセルということになります。
ドットの数が画素数、ピクセルになりますが、これは解像度の単位ではありません。解像度の単位は、1インチ(2.54cm)の幅の中に、いくつのドットが入るかを意味するdpi(dots per inch)で表されます。仮に上記の画像がタテヨコともに1インチだとすると、解像度は20dpiということになります。
1インチの幅に20ドットが入るため、解像度は20dpiとなる
では、この画素数400ピクセル、解像度20dpiの画像の容量はどうなるのでしょうか。テキストの場合は1文字あたりの容量と文字数で決まりますが、画像の場合はドットあたりの容量とドット数で決まります。
一般的なケースでは、カラー画像のドット色は、赤、青、緑の三色と、各色をベースとした256通りの色で表されます。この256通りという数字に覚えはないでしょうか。
先に解説した1バイト分の情報量になります。すなわち、画像データの1ドット分のデータ容量は、赤をベースとした256通りで1バイト、青をベースとした256通りで1バイト、緑をベースとした256通りで1バイト、合わせて3バイトになるのです。
以上のことから、タテ20ドット、ヨコ20ドットの400ピクセルの画像データの容量は、単純計算で1,200バイトということになります。
先の項で例として用いた画像は解像度20dpi、ご覧いただいた通り線がギザギザしていて粗いです。
画像のタテヨコ幅は1インチのままで、ドット数をタテ100ドット、ヨコ100ドットの10,000ピクセル、解像度を100dpiにすると、以下のようになります。
解像度100dpiの場合(タテヨコ幅は1インチとする)
多少粗い所はあるものの、線が滑らかになっていることが分かります。一方で画像の解像度が20dpiから100dpiと5倍に上がっているため、画像内のドット数、ピクセルは先の例と比べて25倍に増加しています。データ容量も25倍で30,000バイト、1,024で割って約29.3キロバイトになります。画像の解像度を上げるとデータ容量が増えるのは、一定のデータ量を持つドットが増えることが理由なのです。
画像をより滑らかに、細かく表示しようとすれば、それだけ解像度とデータ容量が増えることになります。最近は撮影機器や画像作成ツール、ディスプレイの進化を背景として、画像データの解像度は上昇傾向にあり、企業が保有するデータ量の増加とストレージ容量不足の原因にもなっているのです。
今回はデータ容量の単位であるバイトの意味と、画像データの構造およびデータ容量の基本的な考え方を解説いたしました。画像データの解像度の向上は、個々の画像ファイルのデータ容量の増加と、企業のストレージ容量不足の原因になっています。ご興味があれば、是非サービス紹介ページもご覧ください。
執筆者名 ブログ担当者
株式会社NXワンビシアーカイブズ
ご不明な点やご要望などお気軽にご連絡ください。
ご不明な点やご要望などお気軽にご連絡ください。