問題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\ldots776分は容量を超えてしまうため、最大で記録できる時間は775分です。
775\text{分}よって、正解は、
ウ. 775
です。












ディスカッション
コメント一覧
まだ、コメントがありません