「データ量」とは
データ量とは、画像・音声・動画・文字などの情報をコンピュータ上で表したときに、どれだけのビットやバイトが必要になるかを表す量です。
コンピュータでは、情報は最終的に0と1の組合せで表されます。この0または1の一つ分を1ビット(bit)といい、
8ビット=1バイト(B)
です。
したがって、データ量の計算では、まず「何個の情報を記録するのか」と「1個当たり何ビット・何バイト必要なのか」を考えることが基本となります。
ビットとバイト
ビットとバイトは最も基本的な単位です。
たとえば、6バイトのデータは、
6×8=48ビット
です。ここに2ビットの制御情報を追加すると、
48+2=50ビット
となります。
このように、ビットとバイトが混在している場合は、先に単位をそろえてから計算することが重要です。
データ量の大きな単位には、KB、MB、GB、TBなどがあり、小さい順に、
KB < MB < GB < TB
となります。
ただし、問題によって単位の定義が異なることがあります。1KB=1,000B、1MB=1,000,000Bとする場合もあれば、
1KiB=1,024B
1MiB=1,024KiB
のように1,024を基準とする場合もあります。計算問題では、問題文で指定された換算方法を使う必要があります。
画像のデータ量
圧縮していない画像では、
画像のデータ量=横の画素数×縦の画素数×1画素当たりのデータ量
と考えます。
たとえば、1280×720画素で、1画素を24ビットで表す画像を考えます。
まず画素数は、
1280×720=921,600画素
です。
24ビットは、
24÷8=3バイト
なので、1画素当たり3バイトです。
したがって、
921,600×3=2,764,800バイト
となります。
つまり、画像では画素数だけではなく、1画素を何ビットで表すかも必要です。
色数・階調数とビット数
1画素を何ビットで表すかは、表現できる色や明るさの段階数と関係します。
nビットを使うと、
2n通り
の値を表せます。
たとえば、
1ビット → 2階調
4ビット → 16階調
8ビット → 256階調
16ビット → 65,536階調
となります。
したがって、「16階調」は16=24なので、4ビットです。
RGBカラーでは、赤(R)・緑(G)・青(B)のそれぞれに8ビットを使う場合、
8+8+8=24ビット
となります。
24ビット=3バイトなので、1920×1080画素の画像なら、
1920×1080×3=6,220,800バイト
となります。
動画のデータ量
動画は、静止画を短時間に次々と表示したものと考えることができます。
fps(frames per second)は、1秒間に何枚の画像を表示するかを表します。
したがって、
無圧縮動画のデータ量=1フレームのデータ量×1秒当たりのフレーム数×時間
です。
たとえば、1280×720画素、24ビットカラー、30fpsの動画では、1フレームのデータ量は、
1280×720×3=2,764,800バイト
です。
60秒ならフレーム数は、
30×60=1,800フレーム
なので、
2,764,800×1,800
=4,976,640,000バイト
となります。
ビットレートから動画・音声のデータ量を求める
動画や音声では、1秒当たりのデータ量をビットレートで表すこともあります。
たとえば5Mbps(bit per second)とは、1秒間に5Mビットのデータがあるという意味です。
5分=300秒なので、
1秒 5Mビット
300秒 □Mビット
と考えると、
□=5×300=1,500Mビット
となります。
8ビット=1バイトなので、
1,500÷8=187.5MB
となります。ここでは、問題文の定義に従って、ビットとバイトの接頭語を同じ倍率で扱っています。
このように、
ビットレート×時間
によって全体のデータ量を求められます。
音声のデータ量
音声をデジタル化するときは、一定時間ごとに音の大きさを測定します。この測定を標本化(サンプリング)といいます。
標本化周波数44.1kHzなら、
44.1kHz=44,100Hz
なので、1秒間に44,100回測定します。
それぞれの測定値を何ビットで記録するかを量子化ビット数といいます。
したがって、
音声のデータ量=標本化周波数×量子化ビット数×時間×チャンネル数
で考えます。
モノラルは1チャンネル、ステレオは2チャンネルです。
たとえば、標本化周波数44.1kHz、量子化16ビット、モノラル、5分の場合、5分=300秒なので、
44,100×16×300
=211,680,000ビット
となります。
8で割ると、
211,680,000÷8
=26,460,000バイト
です。
ステレオなら2チャンネルなので、
26,460,000×2
=52,920,000バイト
となります。
データ量の問題を考えるときの基本
データ量の問題は種類が多く見えますが、考え方はほぼ共通しています。
まず、「1個」「1画素」「1標本」「1フレーム」「1秒」「1件」など、基準となる1単位のデータ量を求めます。
次に、それがいくつ存在するかを掛けます。
そして、ビットとバイト、秒と分、KBとMBなどの単位をそろえます。
画像なら、
画素数×1画素当たりの量
動画なら、
1フレームの量×fps×時間
音声なら、
標本化周波数×量子化ビット数×チャンネル数×時間
という見方が基本となります。
公式を丸暗記することではなく、「1単位当たり何ビット・何バイトあるのか」から組み立てることが重要です。この考え方が身につけば、画像・動画・音声・通信・圧縮・回線利用率など、形の異なるデータ量の問題にも対応できます。