システム

情報Ⅰ ポイント整理(5)

情報Ⅰ ポイント整理(5)

この連載は、現在高校で使われている情報Ⅰの教材をベースにし、重要なポイントを整理して5分で読める記事にします。
ITの基本知識として知る必要がある内容がたくさんあります。
また大学共通テストに出やすいポイントを説明いたしますので、テスト対策にもお役立ていただければ幸いです。


第5回目 音声データの計算

共通テストでは、音声に関する計算問題も出題されます。

まず、波であるアナログ音声はどのようにデータに変換するのか?
そして、変換後の音声データの量はどれぐらいになるのか?
また、音声ファイルの圧縮率の計算もあります。

では、1つずつ見てみましょう。

アナログ音声の波に関することば

まず、音声の計算に関わる用語の理解が必要です。

・周波数

 周波数とは、1秒間含まれている波の数、単位はHzです。

・周期

 1つの波が伝わる時間のこと、単位は秒です。

<周波数と周期の関係>

1秒間に100個の波がある場合、周波数は100Hzです。
周期は、1÷100=0.01秒です。

アナログ音声をデータに変換する方法

アナログ音声をデータに変換するステップは全部で3つあります。

ステップ1:波を標本化

 アナログ音声の波を、決まっている小さな時間間隔に分割します。
 さらに、波の高さに等間隔に段階値を指定します。
 8段階にした場合には、段階値は0から7までの数値となります。

 それぞれの分割時間点において、波の高さの段階値が取得できます。
 この波の高さの段階値を標本点といいます。

 例えば、あるアナログ音声の波を0.1秒ごとに分割します。
 それぞれの分割時間点に、取得した波の高さの値は以下の通りです。

波の高さ
(段階値)
0.0秒 2
0.1秒 5
0.2秒 5
0.3秒 3
0.4秒 4
0.5秒 6
0.6秒 6
0.7秒 4
0.8秒 2
0.9秒 1
1.0秒 1

これで、11個の標本点を取得できました。

決まっている時間間隔は0.1秒なので、標本化周期は0.1秒です。
1秒間に波の数は10個なので、標本化周波数は10Hzです。
この標本化周波数をサンプリング周波数とも言います。

ステップ2:標本点の値を量子化

量子化という言葉は難しそうに聞こえますが、簡単にいうと ステップ1での波の高さの値を取得する作業になります。その作業自体を量子化と言います。

しかし、波なので、高さの値がぴったり段階値の数になるとは限りません。
その場合は、一番近い段階値にします。

例えば、波の高さの値が4.8の場合、四捨五入を行って量子化の結果は5となります。
このように、それぞれの標本点に量子化した数値を定めます。

しかしこのままでは、コンピュータでは処理できないので、次に量子化した数値は2進数に変換します。


ステップ3:量子化した数値を符号化

さきほど、波の高さを等間隔に0〜7の8段階に指定すると記しましたが、これは3ビットの2進数で波を表現することができることを意味します。

 このビット数を量子化ビット数と言います。今回の例では3ビットです。

段階値 2進数
7 111
6 110
5 101
4 100
3 011
2 010
1 001
0 000

では、取得した量子化した数値(段階値)を2進数に変換します。

波の高さ
(段階値)
2進数
0.0秒 2 010
0.1秒 5 101
0.2秒 5 101
0.3秒 3 011
0.4秒 4 100
0.5秒 6 110
0.6秒 6 110
0.7秒 4 100
0.8秒 2 010
0.9秒 1 001
1.0秒 1 001

以上の3つの手順を踏んで、アナログ音声をデジタルデータに変換できました。
聞き慣れない言葉がいくつかありますが、変換の流れを理解すれば、それほど難しいものではありません。

では次に、変換できたデジタル音声ファイルのデータ量を計算してみましょう。

デジタル音声ファイルのデータ量の計算

アナログ音声の波からデジタル音声データに変換する手順から見れば、データの量に影響するものがわかります。

まず、上記の例では、0.1秒の時間間隔を指定しました。その結果、11個の標本点がありました。もし、0.01秒の時間間隔を指定すれば、101個の標本点が取れます。つまり、時間間隔の長さがデータ量の大きさに影響があります。

時間間隔が短くなると、1秒間には波の数が多くなります。データの量も増えます。だから、標本化周波数は計算に関係しています。

次に、段階値の数も関係します。

上記の例では、0〜7の8段階にしました。8段階なので、3ビットの2進数で表現できました。もし、0〜15の16段階にすれば、4ビットの2進数で表現しなければなりません。その1ビット分のデータ量が増えます。

ですので、量子化ビット数も計算に関係しています。

次に、1秒間のデジタル音声データ量の計算公式をまとめます。

1秒間のデータ量 = 標本化周波数 ✕ 量子化ビット数
計算結果の単位はビットです。

上記の例では、10Hz ✕ 3ビット = 30ビット となります。

テストでは、CDを例にして、ステレオという設定もあります。ステレオの場合、2つのアナログ音声波があります。2チャンネルになりますので、上記の公式にチャンネル数を掛けなければなりません。

つまり、
1秒間のデータ量=標本化周波数 ✕ 量子化ビット数 ✕ チャンネル数
となります。

【例題】音楽CDのデータ量を計算

44100Hz、16bitの音楽CDに5分間の曲が入っています。曲のデータ量を計算してください。
小数点以下は四捨五入。

44100Hzは標本化周波数です。16bitは量子ビット数です。
ステレオと書いていないので、シングルチャンネルとして計算しましょう。

1秒間のデータ量 = 44100Hz × 16ビット = 705600ビット

1バイト(B) = 8ビット なので、
705600ビット ÷ 8 ビット= 88200B

1キロバイト(KB) = 1024バイト(B) なので、
88200B ÷ 1024B ≒ 86KB

86KBは1秒間の容量です。5分間は300秒なので、
5分間の曲のデータ量 = 86KB × 300秒 = 25800KB

1メガバイト(MB) = 1024キロバイト(KB) なので
25800KB ÷ 1024KB ≒ 25MB

以上、5分間の曲のデータ量は約25メガバイト(MB)です。

音声データのファイル形式

最後に、よく使う音声データのファイル形式と特徴を覚えましょう。

・WAV:圧縮なし、音声ファイルのサイズが大きい
・MP3:圧縮あり、音声ファイルのサイズがWAVの10分の1ぐらい
・AAC:圧縮あり、MP3より圧縮率が高い

圧縮率の計算は簡単です。
圧縮率 = 圧縮後のファイルサイズ ÷ 圧縮前のファイルサイズ ✕ 100%

まとめ

今回はアナログ音声からデジタル音声データに変換する方法、デジタル音声データの量の計算方法を説明しました。
以前に学んだデータ単位の換算も活用しています。
データの計算は重要なポイントになります。ぜひ習得してください。

img_avater_nakayama

中山 涼一

こどもICT教育支援センター センター長

2014年に関西初のこども向けプログラミング教室「未来学校プログラミング教室」を創設。800名以上の指導実績を誇るプログラミング教育のスペシャリスト。

プロフィール