Global IP Sound's codec (2) iSAC

iSAC

DataSheetに詳細が書いてあります。ここに書くことは僕の理解ですので、参考程度にして下さい。

  • サンプリングレートは16kHz
  • 1フレームは30ms〜60ms
  • 10kbps〜32kbps
  • ANSI C、浮動小数点で実装
  • 広帯域向け
  • 高・低ビットレートのどちらでも高品質を提供する順応性がある
  • ダイアルアップモデムを使うと自動的に転送レートを調節し、PSTN*1以上の品質を提供する

*1:Public Switched Telephone Networksの略。google:PSTN

Global IP Sound's codec (1) iLBC

Global IP Soundが提供しているcodecについての情報を、和訳してみました。

iLBC*1

  • サンプリングレートは8kHz
  • 13.3kbps(30ms/frame)と15.2kbps(20ms/frame)で機能する
  • ビットレート向けcodec
    • ナローバンド向け
  • パケットロスに強い
  • G.729、G.723.1よりも品質がいい
  • 他の低ビットレートコーデックよりもパケットロスに強い
  • ダイアルアップ接続に適している
  • IETFによりRFC3951、RFC3952として標準化されている
  • CableLabsによって設計されている

浮動小数点での計算は、固定小数点の計算よりも時間がかかるものです。*2GIPS社は高速化された固定小数点バージョンを持っている模様。

iLBCはGlobal IP Soundだけが提供しているものではないが、同社によってNet EQなどのモジュールをくっつけると、さらに通話品質を高めることが出来ますよ、ということかな。

*1:internet low bitrate codecの略称?

*2:今のCPUではどの程度の差があるのか具体的には分かりません。

Global IP Sound's Solutions (1) NetEQ

  • ジッタバッファ、パケットロス隠蔽モジュールである
  • ジッタバッファによる遅延を30〜80msに出来る
  • automatically provides a solution to the clock drift problem present in VoIP hardware*1
  • codecに依存しない
  • IP電話システムで遅延を抑えながらも音声品質の劇的な改良を見込める

ジッタバッファというのは、ネットワークの不安定さからくるゆらぎの影響を受けないで済むようにするためのバッファです。これがないと、つまりジッタバッファがないと、ネットワークの不安定さに直接影響されてしまうため、音声の途切れが出てきたりします。ジッタバッファを用意すると、多少の遅延を覚悟すれば、音声の途切れを解決出来ます。Windows Media Playerなんかでストリーミング映像を見るときに、再生されるまで「〜%」と出てバッファリングが行われますが、あれはジッタバッファに対してなんですね。ジッタバッファが用意している分だけ映像をダウンロードしている訳です。

パケットロス隠蔽は、パケットがロストしたときの「穴」を埋める技術です。これがしっかりしていないと、パケットロスが発生した際に無音の時間が発生することになります*2。人間はどのようにすれば不自然さを感じないのか、といった観点からの研究・実装が行われているみたいです。

ジッタバッファやパケットロス隠蔽について興味のある方は、マスタリングTCP/IP RTP編をご覧下さい。

*1:すみませんが分かりませんでした

*2:何もしないときは、無音置換と呼ばれるようです

技術を形成する要因を考える(1)

SkypeGoogle Talkの凄さの本質となっている技術は何なのかを調べているときに、以下の記事に目が止まりました。(ここで、違いを考えるわけではないのであしからず。)

The 1st entry - Ajaxにみる、実践的なメソッドの効用 - Speed Feed [ITmedia オルタナティブ・ブログ]

日本を代表する医学者の一人、野口英世は、天才的な技術を持った人だったそうです。それは、驚異的に速い実験技術です。さまざまな病原菌の入ったビーカーや試験管の中身を混ぜたり分離したりして、その反応を記録する。当然その組み合わせは無数に近いわけで、それを何度も何度も繰り返すことによって得た結果を検証していく、ひたすら地道に繰り返す。これによって正しい回答を導きだすわけです。

野口英世の技術は、実験を繰り返す、ということに尽きるようです。野口英世についてはこちらでいくらか知ることが出来ます。*1

上で引用した文章を、Googleに適用してみます。

世界を代表する企業の一つであるGoogleは、天才的な技術を持った人たちが集まっていたそうです。それは、驚異的に速い実験技術です。さまざまなコンテンツが溢れるインターネットの中身を混ぜたり分離したりして、その反応を記録する。当然その組み合わせは無数に近いわけで、それを何度も何度も繰り返すことによって得た結果を検証していく、ひたすら地道に繰り返す。これによって正しい回答を導き出すわけです。

通常の検索をはじめ、Map、Alert、TalkAdSenseAdWords、News、Local、Desktop Search・・・など実に様々な実験をしています(派手ですが)。*2

・・・なんかとてつもなく中身のないまとめになるんですが、実験、「やってみること」は大事だなぁ、と再確認した次第です。

*1:僕は少年マガジンに掲載されていた漫画で得た知識しかありません。

*2:Google LABS