基本情報技術者 2017年 秋期 午前(科目A) 問31
問題文
符号化速度が192kビット/秒の音声データ2.4Mバイトを、通信速度が128kビット/秒のネットワークを用いてダウンロードしながら途切れることなく再生するためには、再生開始前のデータのバッファリング時間として最低何秒間が必要か。
選択肢
ア:50(正解)
イ:100
ウ:150
エ:250
符号化速度192kビット/秒の音声データを途切れず再生するためのバッファ時間【午前2 解説】
要点まとめ
- 結論:再生開始前に最低50秒間のデータをバッファリングする必要があり、したがって正解はアです。
- 根拠:全データ量から回線速度でダウンロードにかかる時間は150秒、再生速度との差分から必要な初期バッファはその3分の1に相当します。
- 差がつくポイント:ビットとバイトの単位変換と再生率に対する回線速度の比率(128/192=2/3)を使う発想が速く正確に解くコツです。
正解の理由
正解はアです。理由は次の通りです。ファイルサイズは2.4Mバイト=Mビット。回線速度が128kビット/秒(128 kb/s)なので、ダウンロードにかかる時間は
再生速度(消費速度)が192 kb/s、回線が128 kb/sなので不足分は64 kb/sで、ダウンロード完了まで(150秒)その差をバッファで補う必要があります。必要な初期バッファ時間は
よって最低50秒のバッファが必要で、選択肢ではアが一致します。
よくある誤解
- 10進と2進の「M」表記混同:問題文では通常十進(1M=10^6)として扱うことが多く、誤って1024^2で計算するとわずかにずれるので注意。
- 「ダウンロード時間=必要バッファ時間」と誤認:全体ダウンロード時間そのものをバッファ時間とするのは過剰(150秒)で、実際は回線と再生の比率で決まる。
- 単位の混在(ビット/バイト、kb/sとMb/sなど)をそのまま計算してしまい、1000/1024の桁でミスする。
解法ステップ
- ファイルサイズをビットで表す:。
- ダウンロードに要する時間を求める:.
- 再生速度と回線速度の比を取る:。再生中に手元のバッファが減る割合は。
- 必要な初期バッファ時間はダウンロード時間のその割合:。
選択肢別の誤答解説
- ア(正解):上記の通り。ダウンロード時間150秒の1/3に相当し50秒が最少値。
- イ(100秒):ダウンロード時間の2/3にあたる値。回線速度と再生速度の比を逆に解釈した誤り(128/192の補数ではなく比そのものを掛けてしまうなど)。
- ウ(150秒):ダウンロード完了まで丸々バッファする必要があると考えた誤り。実際は再生と同時並走で供給されるので全量のバッファは不要。
- エ(250秒):不自然に大きい値。回線速度との差(64 kb/s)で全ファイルを賄う時間など、誤った式(例えばを直接時間と解釈)を用いた結果になりやすい。
補足コラム
一般式として、ファイルサイズを(ビット)、ネットワーク速度、再生速度とするとダウンロード時間は 、必要な初期バッファ時間は
ネットワーク速度が再生速度以上の場合は であり、(実用上は0秒で良い)になります。実務ではパケット遅延やジッタを考慮して余裕を持たせるのが一般的です。
コードで確認(参考)
S_bytes = 2.4 * 10**6 S_bits = S_bytes * 8 r_net = 128000 # bits/s r_play = 192000 # bits/s T_d = S_bits / r_net t_b = T_d * (1 - r_net / r_play) print(T_d, t_b) # 150.0 50.0
FAQ
Q. Mバイトは1000^2か1024^2かで答えが変わりますか?
A. 今回は十進(1M=10^6)で計算すると一般的な出題意図と一致します。もし2進を使うとわずかに異なるが、選択肢が整数秒で与えられている本問では十進想定で50秒が正解です。
A. 今回は十進(1M=10^6)で計算すると一般的な出題意図と一致します。もし2進を使うとわずかに異なるが、選択肢が整数秒で与えられている本問では十進想定で50秒が正解です。
Q. ネットワーク速度が再生速度より速ければバッファは不要ですか?
A. 理論上不要ですが、実際は遅延や変動を考慮して数秒〜数十秒の安全マージンを設けます。
A. 理論上不要ですが、実際は遅延や変動を考慮して数秒〜数十秒の安全マージンを設けます。
Q. なぜ差分速度で直接 S/(rp-rn) を使わないのですか?
A. は「初期バッファ量(ビット)」ではなく「もし回線が止まった時に現在のバッファだけで再生を続けられる最大時間」を求める式に近い誤用です。本問ではダウンロードと再生を同時に進めるため、比率を使う方法が正しいです。
A. は「初期バッファ量(ビット)」ではなく「もし回線が止まった時に現在のバッファだけで再生を続けられる最大時間」を求める式に近い誤用です。本問ではダウンロードと再生を同時に進めるため、比率を使う方法が正しいです。
関連キーワード: ビットレート、バッファリング、ストリーミング、帯域幅、単位変換、ダウンロード時間、再生速度、kbps、Mバイト、ジッタ対策

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

