応用情報技術者 2019年 春期 午前2 問22
問題文
音声を標本化周波数10kHz,量子化ビット数16ビットで4秒間サンプリングして音声データを取得した。この音声データを、圧縮率1/4のADPCMを用いて圧縮した場合のデータ量は何kバイトか。ここで,1kバイトは1,000バイトとする。
選択肢
ア:10
イ:20(正解)
ウ:80
エ:160
🔒 解説は解答すると表示されます
ADPCM圧縮後の容量計算【午前2解説】
正解の理由
標本化周波数10 kHzで4秒間の標本数は 個です。1標本当たり16ビット(=2バイト)なので未圧縮のデータ量は バイト、すなわち 80 kバイト(ここで1 kバイト = 1,000バイトとする)になります。圧縮率が (圧縮後の容量が元の1/4であることを意味します)なので、圧縮後は です。したがって正答は イ(20 kバイト)です。
解法ステップ
- 標本数を求める
samples - 未圧縮ビット数を求める
- バイトに変換する(8ビット = 1バイト)
- kバイトにする(問題の定義に従い1 kB = 1,000 bytes)
- 圧縮率を適用する(圧縮後 = 元の容量 × 1/4)
選択肢別の誤答解説
-
ア: 10 kB
10 kB は誤りです。例えば標本時間を2秒に誤認した結果や、標本数やビット数を二重に割った場合に出やすい値です。本問の正しい標本数と16ビット/標本を使うとこの値にはなりません。 -
イ: 20 kB(正答)
上の手順通り、未圧縮80 kBを圧縮率1/4にすると20 kBになります。ここで重要なのは「圧縮率1/4 = 圧縮後の容量は元の1/4」という解釈です。 -
ウ: 80 kB
これは圧縮を適用しない未圧縮の容量(バイト=80 kB)で、圧縮処理を無視した場合に得られる値です。圧縮率1/4を適用していないため誤りです。 -
エ: 160 kB
160 kB はよくある計算ミスで出る値です。代表的な誤りは「16ビットを16バイトと誤って扱う」ことです。具体的には、 としてしまい、それに圧縮率1/4を掛けて とする誤りです。本来は16ビット = 2バイト(÷8が必要)で、これを忘れるとこのエラーが発生します。
よくある誤解
-
圧縮率の定義を取り違える
「圧縮率1/4」を「元の容量を1/4にする(×1/4)」と理解するのが本問の解釈です。逆に「1/(1/4)=4」として元の値を4倍する操作をしてしまうと、80 kB を4倍して320 kBという誤った結果になります(操作が逆になっている)。常に「圧縮後 = 元 × 圧縮率(与えられた比が分数で示されている場合)」というルールで考えてください。 -
ビットとバイトの単位変換ミス
16ビットをそのまま「16バイト」と誤認すると、容量が8倍(16バイトは本来の8倍のバイト数)になり、選択肢のエのような誤答を生みます。必ず「ビット ÷ 8 = バイト」を行ってください。
補足コラム
表記上の注意点として、「圧縮率4:1」と「圧縮率1/4」は意味が一致します(圧縮後 = 元 ÷ 4 = 元 × 1/4)。しかし試験や実務で「圧縮率」を % や「圧縮率 = 圧縮後/圧縮前」で表す場合もあるため、問題文の表記に注意して、どちらの意味かをまず確認する習慣をつけるとミスが減ります。
簡単なチェックリスト:
- 標本数 = サンプリング周波数 × 秒数
- ビット数 → バイト数は ÷8
- kバイトは問題指定(1,000か1,024か)を確認
- 圧縮率は「圧縮後/圧縮前」か記述を確認
FAQ
Q. 「圧縮率1/4」と「4:1」は同じですか?
A. はい。両者は同じ意味で、圧縮後の容量は元の1/4になります(圧縮後 = 元 ÷ 4)。
A. はい。両者は同じ意味で、圧縮後の容量は元の1/4になります(圧縮後 = 元 ÷ 4)。
Q. 問題で「1 kバイト = 1,000バイト」と指定がないときはどうする?
A. 出題者の指示がない場合は文脈に依りますが、情報処理系の計算問題では 1 kB = 1,000 バイトを使うことが多いです。問題文を確認し、指定があればそちらを優先してください。
A. 出題者の指示がない場合は文脈に依りますが、情報処理系の計算問題では 1 kB = 1,000 バイトを使うことが多いです。問題文を確認し、指定があればそちらを優先してください。
Q. 16ビットは何バイトですか?
A. 2バイトです(16 ÷ 8 = 2)。
A. 2バイトです(16 ÷ 8 = 2)。
関連キーワード: ADPCM、標本化周波数、量子化ビット数、ビット/バイト変換、圧縮率

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

