情報ラボ > データ量の計算
写真1枚、曲1つ、動画1本。それぞれどれくらいの大きさになるのでしょうか。
動画は、圧縮なしではほとんど扱えない大きさになります。だから動画には必ず圧縮が使われています。
実際の記録媒体は、表示容量より少し少なくなります(1KB=1000バイトで計算される場合があるため)。
デジタル時計や電卓の数字は、7本の棒(セグメント)の点灯・消灯で作られています。 棒をクリックして、自由に形を作ってみてください。
7セグメントLED
データ量を考えるとき、まず単位を正しく理解しておく必要があります。
0か1かの情報1つ分をビット(bit)といいます。これがデータの最小単位です。そして8ビットをまとめたものをバイト(byte)といいます。
ファイルの大きさは通常バイトで、通信速度は通常ビットで表されます。ここを混同すると8倍の差が出るので注意が必要です。100Mbps(メガビット毎秒)の回線は、1秒あたり約12.5MB(メガバイト)を送れる計算になります。
| 単位 | 読み方 | 大きさ | 目安 |
|---|---|---|---|
| KB | キロバイト | 約1,000バイト | 短い文書 |
| MB | メガバイト | 約100万バイト | 写真1枚、曲1つ |
| GB | ギガバイト | 約10億バイト | 映画1本 |
| TB | テラバイト | 約1兆バイト | ハードディスク |
厳密には、コンピュータの世界では1024倍ずつ大きくなる数え方(KiB、MiB など)も使われます。1024は2の10乗で、2進数と相性がよいためです。文脈によって使い分けられているため、多少の差が出ることがあります。
フルHD(1920×1080)のフルカラー(24ビット)写真を計算してみます。
これは圧縮しない場合の値です。実際のJPEG写真が1〜3MB程度で済むのは、圧縮されているからです。
CD品質で3分の曲なら、44,100 × 16 × 2 × 180 = 254,016,000ビット、約30MBです。CD1枚(約74分)が約740MBなのは、この計算によります。
動画は、画像を1秒間に何十枚も並べたものです。そのため、画像1枚の何十倍ものデータ量になります。
フルHDで30fpsの動画を1分間、圧縮せずに記録すると、次のようになります。
1分でDVD2枚分を超えます。この大きさでは扱えないため、動画には必ず圧縮が使われます。実際のスマートフォンの動画は、1分あたり100MB程度です。100分の1ほどに圧縮されている計算になります。
動画には、大量の無駄があるためです。連続するコマの多くは、前のコマとほとんど同じです。背景が動かない場面なら、変化した部分だけを記録すれば済みます。
この考え方をフレーム間予測といい、動画圧縮の中心的な技術です。動きの少ない映像ほどよく圧縮でき、激しく動く映像は圧縮しにくくなります。
ここでもビットとバイトの区別が重要です。ファイルの大きさはバイト、通信速度はビットなので、8倍して揃える必要があります。
100MBのファイルを100Mbpsの回線で送る場合、100MB=800Mビットなので、800 ÷ 100 = 8秒です。実際には通信の効率や混雑があるため、これより時間がかかります。
ここまでの計算はすべて、圧縮しない場合の値です。実際のファイルはほぼ必ず圧縮されています。
| 種類 | もとに戻せるか | 例 |
|---|---|---|
| 可逆圧縮 | 完全に戻せる | ZIP、PNG、FLAC |
| 非可逆圧縮 | 完全には戻せない | JPEG、MP3、MP4 |
写真や音楽、動画では、人が気づきにくい情報を捨てることで大幅にデータ量を減らしています。文書やプログラムでは1ビットの違いが致命的なので、可逆圧縮しか使えません。
スマートフォンの契約には、月に使える通信量の上限が決められていることがあります。上限を超えると速度が大幅に制限されるため、何にどれだけ使っているかを知っておくと役立ちます。
| 内容 | 1時間あたりの目安 |
|---|---|
| 音楽のストリーミング | 約 60〜150 MB |
| 動画(標準画質) | 約 0.5〜1 GB |
| 動画(高画質・フルHD) | 約 2〜3 GB |
| ビデオ通話 | 約 0.5〜1 GB |
動画が突出して大きいことが分かります。月3GBの契約なら、高画質の動画を1〜2時間見ただけで使い切ってしまう計算です。画質を落とすだけで通信量が数分の1になるのは、この教材で計算したとおりの理由によります。
データ量の単位には、まぎらわしい点が2つあります。
1つは、ビットとバイトです。通信速度は bps(ビット毎秒)、ファイルの大きさはバイトで表されるのが慣例です。8倍の違いがあるので、「100Mbpsだから100MBのファイルが1秒」ではありません。正しくは8秒かかります。
もう1つは、1000倍か1024倍かという問題です。記録媒体の容量表示は1000倍で計算されることが多く、パソコンの表示は1024倍で計算されます。そのため「1TBのハードディスク」をパソコンにつなぐと、931GBと表示されます。壊れているわけでも、だまされているわけでもありません。
データ量の考え方は、「何通り表せるか」という問いにも使えます。
デジタル時計や電卓の数字は、7本の棒を組み合わせて作られています。これを7セグメントLEDといい、それぞれの棒に a から g までの名前がついています。
1本の棒は、点灯か消灯かの2通り。それが7本あるので、組み合わせの総数は次のようになります。
このうち、数字の0から9として意味があるのはたった10通りです。残りの118通りは、意味のない形か、一部のアルファベットに使われています。
複数の桁を並べるときは、掛け算で考えます。使える文字の種類が桁ごとに違う場合も同じです。
たとえば、1桁目に大文字8種類、2桁目に小文字5種類、3桁目以降に数字10種類を使ってエラーコードを作るとします。5,000種類を表示するには何桁必要でしょうか。
4桁では4,000通りで足りず、5桁で初めて5,000を超えます。したがって、7セグメントLEDが5個必要です。
この「何通り表せるか」という考え方は、色数を決めるとき、文字コードの設計、パスワードの強さの計算まで、あらゆる場面で共通しています。上のツールで、条件を変えながら確かめられます。