問題8-6:音声データは何分記録できるか

広告

問題文

音声のサンプリングを1秒間に11,000回行い、サンプリングした値をそれぞれ8ビットのデータとして記録する。

このとき、512 × 10^6 バイトの容量をもつフラッシュメモリに記録できる音声の長さは、最大何分か。

ア. 77
イ. 96
ウ. 775
エ. 969

正解

ウ. 775

この問題で聞かれていること

この問題は、音声データの容量計算です。

音声をデジタルデータとして保存するときは、音を細かく測って、その測定値をデータとして記録します。

今回の問題では、次の条件が与えられています。

  • 1秒間に11,000回サンプリングする
  • 1回のサンプリング値は8ビット
  • フラッシュメモリの容量は512 × 10^6 バイト

つまり、この問題では、1秒あたり何バイト使うのかを先に求めてから、全体の容量で何秒分入るのかを計算します。

サンプリングとは何か

音声は、本来は空気の振動です。

コンピュータは、その振動をそのまま保存するのではなく、一定の間隔で音の大きさを測り、その値を数値として保存します。

この「1秒間に何回測るか」を、サンプリング周波数またはサンプリング回数と考えます。

今回の問題では、1秒間に11,000回サンプリングします。

11{,}000\text{回/秒}

つまり、1秒間に11,000個の測定値を記録するということです。

1回のサンプリングで使うデータ量

問題文には、サンプリングした値をそれぞれ8ビットのデータとして記録するとあります。

ここで重要なのが、ビットとバイトの関係です。

8\text{ビット}=1\text{バイト}

今回、1回のサンプリング値は8ビットなので、次のように考えることができます。

1\text{回のサンプリング}=1\text{バイト}

つまり、1回測るたびに1バイト使うということです。

1秒あたりのデータ量を求める

1秒間に11,000回サンプリングします。

そして、1回あたり8ビット、つまり1バイトです。

したがって、1秒あたりのデータ量は次のようになります。

11{,}000 \times 1\text{バイト}=11{,}000\text{バイト}

別の書き方をすると、8ビットをバイトに直すために8で割って、次のように考えても同じです。

11{,}000 \times 8 \div 8=11{,}000\text{バイト}

つまり、この音声データは、1秒ごとに11,000バイトずつフラッシュメモリを使っていくことになります。

11{,}000\text{バイト/秒}

フラッシュメモリの容量を確認する

フラッシュメモリの容量は、512 × 10^6 バイトです。

これを普通の数字に直して考えます。

512 \times 10^6\text{バイト}

10^6 は、1,000,000を表します。

10^6=1{,}000{,}000

したがって、次のようになります。

512 \times 10^6=512 \times 1{,}000{,}000 512 \times 10^6=512{,}000{,}000

つまり、フラッシュメモリの容量は、512,000,000バイトです。

512{,}000{,}000\text{バイト}

何秒記録できるかを求める

1秒あたりに使うデータ量は、11,000バイトでした。

フラッシュメモリ全体の容量は、512,000,000バイトです。

したがって、記録できる秒数は、次のように求めます。

512{,}000{,}000 \div 11{,}000=46{,}545.45\ldots

したがって、記録できる秒数は、約46,545秒です。

46{,}545.45\ldots\text{秒}

秒を分に直す

問題では、答えを「分」で聞いています。

1分は60秒です。

1\text{分}=60\text{秒}

したがって、秒を分に直すには、60で割ります。

46{,}545.45\ldots \div 60=775.75\ldots

つまり、約775.75分記録できることになります。

775.75\ldots\text{分}

なぜ776分ではないのか

計算結果は、775.75分です。

これは、775分よりは多いですが、776分には届いていません。

問題文では、最大何分かと聞かれています。

776分記録しようとすると、必要な容量がフラッシュメモリの容量を少し超えてしまいます。

そのため、記録できる最大の整数分は、775分です。

775\text{分}

計算の流れをまとめる

この問題の流れは、次の3段階です。

まず、1秒あたりのデータ量を求めます。

8\text{ビット}=1\text{バイト} 11{,}000\text{回/秒} \times 1\text{バイト}=11{,}000\text{バイト/秒}

次に、全体の容量を1秒あたりのデータ量で割ります。

512{,}000{,}000 \div 11{,}000=46{,}545.45\ldots\text{秒}

最後に、秒を分に直します。

46{,}545.45\ldots \div 60=775.75\ldots\text{分}

したがって、最大で記録できる時間は、775分です。

775\text{分}

初学者が間違えやすいポイント

この問題で間違えやすいのは、ビットとバイトの変換です。

問題文に「8ビット」と書かれているので、そのまま11,000に8を掛けたくなるかもしれません。

しかし、フラッシュメモリの容量は「バイト」で与えられています。

そのため、8ビットをバイトに直す必要があります。

8\text{ビット}=1\text{バイト}

今回の場合は、1回のサンプリングがちょうど8ビットなので、次のように考えると簡単です。

1\text{回のサンプリング}=1\text{バイト}

つまり、11,000回サンプリングするということは、1秒あたり11,000バイト使うということです。

11{,}000\text{回/秒}=11{,}000\text{バイト/秒}

試験での解き方

試験では、次の式を作れれば十分です。

512{,}000{,}000 \div 11{,}000 \div 60

まず、秒数を求めます。

512{,}000{,}000 \div 11{,}000=46{,}545.45\ldots

次に、分に直します。

46{,}545.45\ldots \div 60=775.75\ldots

したがって、選択肢の中では775が答えになります。

まとめ

問題8-6は、音声データの記録時間を求める問題です。

ポイントは、次の3つです。

  • 8ビットは1バイト
  • 1秒あたりのデータ量を先に求める
  • 秒で求めてから分に直す

今回の条件では、1秒あたりのデータ量は11,000バイト/秒です。

11{,}000\text{バイト/秒}

フラッシュメモリの容量は、512,000,000バイトです。

512{,}000{,}000\text{バイト}

したがって、次のように計算できます。

512{,}000{,}000 \div 11{,}000 \div 60=775.75\ldots

776分は容量を超えてしまうため、最大で記録できる時間は775分です。

775\text{分}

よって、正解は、

ウ. 775

です。

訪問数 1 回, 今日の訪問数 1回

広告