基本情報技術者試験的な備忘録(音声の「サンプリング」)

パソコン素人です。


基本情報技術者試験の問題・テキスト等を見て気になったメモです。
多分間違っているので詳しく見ないで下さい。すみません。


(記載内容や参考にしたネット情報など問題がありましたら、早急に削除いたします。)

 

音声の「サンプリング」という技術があるらしい。
アナログ音源をデジタル化して取り込むことなんだろう。

よく分からないが、ここではPCM方式(パルス符号変調方式)pulse code modulationについて。

 

多分、この作業工程(順番)を覚えれば、計算もできる気がする・・・。

 

【工程】
標本化(サンプリング)
量子化(数値化)
符号化(2進数変換)

 

サンプリング・・・
Hzは採取間隔の単位で、1Hzなら1秒に1回だそうです。
CD作成は、周波数44.1kHz(1秒間)だそうです。

つまり「1秒間に44100回、音の波を記録(測定)する」ようになっています。

 

量子化・・・
採取したデータを数値(整数)にすることだそうです。
CD作成は、16ビット(2進数16桁)だそうです。
PCMでは強度を65536(2^16)段階で表すんだそうです。

 

符号化・・・
量子化された16ビットのデータを符号化するそうです。
PCMではそのままの形式で符号化するそうです。


***********************************************
よく分からないが、
サンプリングは、
一定の間隔で区切る作業って録音

 

|___|___|___|___|___|___|

 

              ■
  ■               
|___|_■_|___|___|_■_|_■_|

(アナログ信号を一定の間隔で区切って数値をとる。)
(波の実線が、点線の波になるイメージ)

 


量子化は、
(区切り幅ごとの振幅幅)のグラフみたいな

             ■
  ■           ■
|_■_|_■_|___|_■_|_■_|_■_|


  4   2   0   6   2   2
(数字は適当です。グラフもずれてます。棒グラフのつもりです・・・。)


符号化(コーディング)は、2進数(バイナリ)化
 0100      0010    0000    0110    0010    0010


という感じか。
PCMは、単純で、音がいいそうです。
また、この作業をエンコードというらしく、MP3とかはもっと複雑らしいです。
コンバーターとか使うのかな?)

*******************************************
基本情報技術者平成28年秋期 午前問25>

音声のサンプリングを1秒間に11,000回行い、
サンプリングした値をそれぞれ8ビットのデータとして記録する。
このとき,512×10~6バイトの容量をもつフラッシュメモリに記録できる音声の長さは、最大何分か。

 

解き方・答え(筆算してません。計算機。)
ビットとバイトで単位が違うのでとりあえずビットにしよう。
メモリは512*10^6*8。→4096000000

音声データは、11000*8が1秒間で必要なデータ量。→88000
音声データがメモリにどれだけ入るかだが、
少し解説と違ってやり方をみよう。
4096000000÷88000=46545.45455
最大46545秒
最大46545秒÷60=775分
上記の方が分かりやすいが・・・

 

良いやり方としては、
求める答えは「最大何分」なので、
11,000回*60(秒)*8ビットだが、*8をせず、
11,000回*60(秒)バイトにする。660,000バイト。
さらに、計算しやすいように660,000バイト→66*10^4バイト

512*10^6÷66*10^4→775.7575・・・

電卓がないと、工夫しないとできないか・・・。
まあ、選択肢で似たような数字を探すことはできるが。

 

基本情報技術者平成25年春期 午前問3>
アナログ音声をPCM符号化したとき、1秒当たりのデータ量は64,000ビットであった。
量子化ビット数を8ビットとするとき,サンプリング間隔は何マイクロ秒か。


解き方・答え
この問題は、サンプリングの工程を想像すると解きやすいかも。

(1)
サンプリング・・・
量子化・・・
符号化・・・


(2)
サンプリング・・・
量子化・・・量子化ビット数=8ビット
符号化・・・

「1秒当たりのデータ量は64,000ビット」はどこに入るのか?

 

(3)
サンプリング・・・「1秒当たりのデータ量は64,000ビット」???
量子化・・・量子化ビット数を8ビット
符号化・・・
かなと思ったが、1はHzで、またビット化していない単位の数字のはず。


(4)
サンプリング・・・「1秒当たりのデータ量は64,000ビット」÷8=8000Hz(1秒あたり)
量子化・・・量子化ビット数=8ビット
符号化・・・

「サンプリング間隔は何マイクロ秒か」

サンプリングは1秒当たり周波数8000Hz。
「何マイクロ秒か」→マイクロは10^6なので・・・とかここでは考えず(失敗)、
あくまで1秒当たりを考える。

 

いつもややこしい(怪しい)逆数を考える。
(とりあえず1秒を割るヤツ)

 

・1秒あたり8000Hz(回)サンプリングする
・8000Hz(回)のサンプリング間隔は1秒

 

1÷8000=0.000125秒
マイクロ秒だと125マイクロ秒

 

うーん。我ながら分かっていないなあ。