応用情報技術者 2011年 秋期 午前2 問04
問題文
サンプリング周波数40kHz、量子化ビット数16ビットでA/D変換したモノラル音声の1秒間のデータ量は、何kバイトとなるか。ここで、1kバイトは1,000バイトとする。
選択肢
ア:20
イ:40
ウ:80(正解)
エ:640
🔒 解説は解答すると表示されます
デジタル音声のデータ量【午前2解説】
正解の理由
サンプリング周波数が40kHz(40,000サンプル/秒)、量子化ビット数が16ビットのモノラル音声では、1秒間のデータ量はサンプル数×ビット数で求まります。計算すると ビット/秒になります。ビットをバイトに換算するには8で割るため、 バイト=80 kバイト(ここで1kバイト=1,000バイト)。したがって選択肢ウが正しいです。
解法ステップ
- サンプリング周波数を数値に直す:40 kHz = 40,000 サンプル/秒。
- 毎秒のビット数を求める:(ビット/秒)。
- バイトに換算する:(バイト/秒)。
- kバイトにする(1k=1,000): kバイト。
短い計算コード例(確認用):
fs = 40000 # samples per second
bits = 16
bytes_per_sec = fs * bits / 8
kbytes = bytes_per_sec / 1000
print(kbytes) # 80.0
選択肢別の誤答解説
- ア: 20 kバイト
誤りの原因は量子化ビット数を誤って4ビットとした場合です。 ビット、 バイト = 20 kバイトになります(4ビット想定の結果)。 - イ: 40 kバイト
量子化を8ビットと誤認した場合の結果です。 ビット、 バイト = 40 kバイト(8ビット想定の結果)。 - ウ: 80 kバイト
正解。16ビットで計算し、ビット→バイトの換算(÷8)を正しく行うと80 kバイトになります。上の「正解の理由」を参照してください。 - エ: 640 kバイト
これはビット数をそのままバイト数とみなしてしまった場合に相当します( をバイトと誤解した結果)。正しくはビットをバイトに変換するために8で割る必要があります。
よくある誤解
- ビットとバイトの混同:計算途中でビットのまま扱い続ける、あるいはバイト換算(÷8)を忘れるミスが多いです。
- kの定義の混同:問題で1kバイト=1,000バイトと明示されているか確認する必要があります。1,024(KiB)と混同しないこと。
- モノラル/ステレオの違いを見落とす:モノラルはチャンネル数1、ステレオなら2倍になります。設問のチャンネル数を必ず確認してください。
補足コラム
- 実用例:CD音質は44.1 kHz、16ビット、ステレオ(2チャンネル)です。1秒当たりのデータ量は ビット = 176,400 バイト ≒ 176.4 kバイトになります。
- 圧縮の有無:上の計算は非圧縮(リニアPCM)の場合です。MP3やAACなどの圧縮形式では同じ音でもデータ量は大幅に小さくなります。
- サンプリング定理:サンプリング周波数は再現したい最高周波数の少なくとも2倍必要(ナイキスト周波数)である点も設計上重要です。
FAQ
Q. もし1kバイトを1,024バイトで換算したらどうなりますか?
A. 80,000バイト ÷ 1,024 ≒ 78.125 KiB(キビバイト)となります。問題の定義に従って単位を使ってください。
A. 80,000バイト ÷ 1,024 ≒ 78.125 KiB(キビバイト)となります。問題の定義に従って単位を使ってください。
Q. ステレオだったら?
A. チャンネル数が2になるため結果は2倍、今回なら160 kバイト/秒になります。
A. チャンネル数が2になるため結果は2倍、今回なら160 kバイト/秒になります。
Q. 小数点以下はどう扱う?
A. バイト換算後に小数が出ても、設問がkバイト単位で整数を求める場合は四捨五入や切り捨てのルールが問題文にあればそれに従います。今回は整数でぴったり80 kバイトです。
A. バイト換算後に小数が出ても、設問がkバイト単位で整数を求める場合は四捨五入や切り捨てのルールが問題文にあればそれに従います。今回は整数でぴったり80 kバイトです。
関連キーワード: サンプリング周波数、量子化ビット数、ビットとバイト、データ量計算、モノラル、ステレオ、サンプリング定理、バイト換算

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

