ページ

2011年9月17日土曜日

OpusのWebRTC入りは確実?

先日書いたGoogleがOpusコーデックを内部でテストしているという話ですが、どうやらテスト結果をPDFとして公開してくれたようです。正直、素人の私には詳細は理解出来ませんが、おおむね好評って感じでしょうかね。
Opus at 11 kbps is comparable to iLBC at 15 kbps
Opus at 11 kbps is better than Speex at 11 kbps
Opus at 32 kbps is better than G.719 at 32 kbps
Opus at 20 kbps is better than Speex and G.722.1 at 24 kbps
Opus NB pre-coded with G.711 is comparable to AMR NB pre-coded with G.711
Opus NB transcoded to AMR NB via G.711 is better than AMR NB tandem-coded via G.711
Single-coded Opus WB is better than single-coded AMR WB
Single-coded AMR WB is slightly better than transcoding AMR WB -> Opus WB and Opus WB -> AMR WB
現在、GoogleがWebRTCに組み込んでいる「iLBC」との比較ですがiLBC 15kbpsがOpus 11kbpsとほぼ同じとの評価ですね。同じく「Speex」との比較では明らかに上との評価です。32kbps時の比較でもG.719よりも優れておりG.722.1との比較でも上の評価です。またG.711からのトランスコーディングテストでもAMRと同程度でありOpus -> G.711 -> AMRとAMR -> G.711 -> AMR 変換時の比較でもOpusからの変換の方が良いというテスト結果なようです。

OpusとAMRの直接対決でもOpusの方が上で素のAMRとOpus -> AMR、AMR -> Opus変換と比べると素のAMRの方が僅かながら上との評価なようです。まぁ仕方ないですね。素人の意見ですが、だいたいGoogleが想定しているOpusの使い方には耐えられるとの評価だと思います。普通なら全部Opusにしちゃえば良いのにって思わないでもないですが現実世界はそう単純な世界じゃないのでしょう。

ここからは完全に素人の妄想なので関係者からしたら失笑ものかもしれませんが、書いちゃいます。まずiLBCとは確実にリプレイス可能だと思います。というのもiLBCは元々IP電話向けのコーデックでありハードウェアフォン以外はコーデックの変更が比較的簡単なシステムに組み込まれているからです。同様にSpeex、G.719、G.722.1もリプレイス可能なコーデックだと思います。

例えばGoogle TalkやGoogle Voice上で完結していれば全てOpusで通しても問題無いのでしょうが過渡期である現在ではまだまだ固定電話や携帯電話に掛ける事も多いはずです。G.711は従来の固定電話、AMR WBは携帯電話で主に使われているコーデックなので最終的にはOpusをそれらのコーデックに変換しないといけない訳ですからね。

ですので変換後のクオリティも重要なのだと思います。ちなみにコーデックも全て無料という訳ではなく使用料が必要なモノも少なからずあるようです。例えばAMR WBなんかは必要に応じて使用料が必要なようです。こう言った観点からもOpusの需要は多いのではないかと思います。WebMと同様ですね。そのWebMもWebRTCに組み込まれています。最近のニュースでWebRTCにVP8のエラー訂正が改善されたというモノがありました。その記事のコメントで興味深いモノがあったので転載しておきます。
@LeonZA iSac and iLBC are also open sourced, under a very open license. More info at www.webrtc.org

We are very interested in Opus and look forward to integrating it once it is ratified and settled at the IETF, which should be soon.

September 15, 2011 9:36 AM
以前も書いたとおりiLBCとiSacはSkypeで以前使われていた音声コーデックですが、それが今は2つともオープンソースとして使える訳です。なおかつ現行のSkypeの音声コーデックである「Silk」をベースに開発されているのがOpusですので、このままWebRTCに取り込まれればSkypeとGoogle Voice? という2大IP電話の音声コーデックが統一される可能性がある訳です。

幸いなことに動画コーデックは既にVP8で統一されていますしね。SkypeがMSに買収されてしまったので先行きは不明ですが、もし相互接続が可能になった場合でも技術的課題の1つは解消される事になりますね。是非そうなって欲しいところです。コメント読むとGoogle側はOpus支持なようですし。

#YouTube
Libvpx Error Concealment Demo - YouTube
http://youtu.be/-FLXEOxPUSk



#外部リンク
Re: [codec] Listening tests at Google
http://www.ietf.org/mail-archive/web/codec/current/msg02725.html

Error concealement in libvpx - WebRTC
http://www.webrtc.org/blog/errorconcealementinlibvpx

VP8 Error Concealment in WebRTC - The WebM Open Media Project Blog
http://blog.webmproject.org/2011/09/vp8-error-concealment-in-webrtc.html

Licensing
http://www.voiceage.com/licamrwb_licterms.php

フリーソフトウェアで使える音声コーデック - SourceForge.JP Magazine : オープンソースの話題満載
http://sourceforge.jp/magazine/05/10/19/037219

1 件のコメント:

  1. Thanks for sharing your honest experience. When I first took a look at my head shots,
    I wasn’t too thrilled with mine but you’ve given me a new perspective!

    返信削除