基本情報技術者試験 平成31年度 春期 午前 問25
音声のサンプリングを例とした計算の問題。
--------------------------
平成31年度 春期 午前 問25
音声のサンプリングを 1 秒間に 11,000 回行い、サンプリングした値をそれぞれ 8 ビットのデータとして記録する。このとき、512×10⁶ バイトの容量をもつフラッシュメモリに記録できる音声の長さは、最大何分か。
ア 77
イ 96
ウ 775
エ 969
--------------------------
解説
落ち着いてやろう計算問題。
落ち着くほかに、単位にも注意が必要。
ビット(bit)なのかバイト(byte)なのか、秒なのか分なのか。
単位を間違えたまま計算することで算出されそうな数値が回答の選択肢にあったりするからいやらしい。
話を戻して。
音声(音波)は波であり、面と向かって話している時はその波の情報が全て耳に入ってくるので正しい音がきこえる。
その音声を電子データとして保管する場合、波の全ての情報を保管しようとするととんでもないデータ量になってしまう。
なので、ある時間間隔ごとに波の情報をサンプルとして収集して(サンプリングして)、ある程度で正しい音声のデータを保管している。
この問題では 1 秒間に 11,000 回のサンプリングをして、1 回のサンプルデータを 8 ビット(=1 バイト)の情報として記録している。
つまり、1 秒間の音声を記録すると 11,000 [サンプル/秒] × 1 [バイト/サンプル]=11,000 [バイト/秒] のデータとなる。
問題の選択肢は秒でなく分単位なので、1 分間(=60 秒)当たりの音声データは上記の 60 倍なので 660,000 [バイト/分]となる。
これがフラッシュメモリの容量である 512×10⁶ バイトにどれだけ入るかなので、
( 512×10⁶ ) ÷ ( 66×10⁴ ) = 512/66 × 10² ≒ 7.75 × 10²
となり、775 分の選択肢ウが正解。
サンプリングで何しているかをざっくり図にしてみる。
現実の音声はこんなきれいな波ではないけど、参考なのでご容赦を。
上の波をある間隔でサンプリングした結果が以下になる。
カクカクしてる線はサンプリングした点を直線でつなげたもの。
また、サンプリングした点から波の形を推測(近似)した結果が暗めの滑らかな線。
推測した波の形が元の波の形(最初の図)とよく似ているので、これなら元の音声をほぼ再現できているはず。
調子に乗ってサンプリングの間隔を倍にして、サンプル数を半分にした結果が以下。
こちらは推測による波の形が元の波の形から大きくずれている。
これでは元の音声を完全に再現はできないけど、その分データ量が小さくなり、データ転送に要する時間も減らすことができる。
どちらが良いというものではなく、目的に応じてどちら寄りにするかを決めればいい。
前後の問題はこちら。