murmur

   時の流れ


2000年11月13日 

  いや〜、忙しさにかまけて無精していたら、早1年が経ちました。時の流れは本当に矢のごとくです。

 「時間の経過」といえば、つい最近参加したプロジェクトで、この時の経過を意識しました。リアルタイムでの音声送受信です。(平たく言えば電話のようなもの)
 電話であればそれほど難しくないのですが、ISDNで遠隔監視システムを行ない画像・音声を同時に録画再生をおこなうシステムで結構苦労しました。(- -;

 ここで、時の流れをどのように感じたかというと、音声通信を行なうプロトコルにUDP通信を使うのですがどうしてもパケットに「揺らぎ」が存在するのです。パケットが規則的に流れてこないのです。

 (ABC) ・・・(DEFG)・・・・・(HIJK)・・(EF  )・・
                              ↑ここが遅延

のように、間隔が微妙にずれるのです(当たり前)。しかし音声再生についてはこれがあると、一度発生すると遅延を解消できないのです。そうです、ずーと遅延しっぱなしなので24時間運転をすると悲惨なものです。(過ぎ去った時間は取り戻せないのです。)
 プログラムテクニックを駆使し(?)バッファリングしてオーバーフローした音声は切り捨てる方法を当初は試みたのですが、音声が無くなるのはまずいとの事で悩みました。

 そこで起死回生のアイデア(携帯電話の方は知っておられると思いますが)が浮かびました。それは、音声再生のスピードを早めることです。2000Hzのサンプリングであれば2048Hzなどの再生スピードを変化(早送り・少し高音になる)させることです。ほんの少し途切れるような音声になりますが遅延を取り戻せることが出来ました。(ふっ〜)まさにタイムマシンを思いついたようだった・・・。(^o^)

「光陰矢の如し」 
Light and darkness fly like an arrow
 

(無断転写を禁ずる、参考にならないと思うが・・・)