2015年3月3日火曜日

音声コーデックの聴き比べ(G711,G722,G726,G729a,GSM,iLBC,Speex,Opusの比較)

IP電話(VoIP)に使われる主要な音声コーデックを、聴き比べ出来るようにしました。




いつもは、わざと環境ノイズを含めて、実際の使用環境に近づけようとしていました。
しかし、今回は違います。

音声コーデックの本来の音質を知るために、環境ノイズをすべて除去しました。

なお、元となる音声データを、該当コーデックで再圧縮したわけではありません。
適切に、VoIPを通じて相手方に届いた音声データを録音しています。



【 検証した音声コーデックについて 】

以下の音声コーデックの検証を行いました。
それぞれのコーデックの特徴などはWikiをご覧ください。(リンク先はWiki)

  • G711(u-Law)
  • G722
  • G726
  • G729a
  • GSM
  • iLBC
  • Speex
  • Opus(Wide)
  • Opus(Narrow)



  • 【 検証環境 】

    音質については自分がどう聞こえるかより、自分の声が相手にどのように聞こえているかが重要なため、それを掲載します。
    なお、実際の使用環境に近づけるため、エアコンの音やパソコンの風切音など、環境ノイズのある状態で試験しています。
    また、パソコンのスピーカから出る音をスマホのマイクで拾っていますので、どうしても音質は悪くなります。


    今回は、スマホにライン入力した音声より録音しました。
    つまり、環境ノイズの影響を一切受けない状況での試験ということになります。
    なお、PCのサウンドカードは良質のものを使っていますので、それが原因でノイズが乗るということはないと思います。


    [使用SIPクライアント]
  • Zoiper IAX SIP VOIP Softphone

    [検証機器]
  • WX12K(GP-712と接続)
  • L-01F(Asteriskに接続)

    [回線種別]
  • Wi-Fi(au光回線)

    [録音環境]
  • 「FUSION IP-Phone SMART」の留守電(128kbps RIFF-WAVE)

    [音声の元データ]




    【 検証結果 】

    ※ 使用帯域には理論値ではなく、実際に使う帯域を掲載しています。
      理論値を知りたい場合は、前述のWikiをご覧ください。


    検証結果について、今回は私の意見を述べません。
    Wikiを読んで、理論的に優れた音声コーデックを選択するのも良いですし、実際にこれらの音声データを聞いてみて、「自分はコレが好きだ!」というものを選んでも良いと思います。
    今回、環境ノイズがない環境下で検証してみて、それぞれの音質の特徴から本当にそのように思いました。


    コーデック 音質 使用帯域
    送信 受信
    G711(u-Law)

    84 kbps 83 kbps
    G722

    83 kbps 83 kbps
    G726

    52 kbps 52 kbps
    G729a

    28 kbps 28 kbps
    GSM

    33 kbps 33 kbps
    Speex

    29 kbps 31 kbps
    iLBC

    27 kbps 27 kbps
    Opus(Wide)

    40 kbps 40 kbps
    Opus(Narrow)

    35 kbps 30 kbps
        
  • 8 件のコメント :

    1. wertさん

      すいません。小生の耳が腐っているのか、何れも音質が良くて区別が付きません。(ToT)
      VOIPの音質も条件が良いと携帯電話並の音質ですからね。(^o^;)

      返信削除
    2. BitBadOldManさん

      はい。どれも高音質ですよね。
      とは言っても、各コーデックによって結構差があると感じています。
      音質だけでなく、総合的に考えると私の好みはiLBCとOpusです。


      アルゴリズム遅延のほぼないG726が、もう少し高音質であれば、使い勝手の良い万能コーデックになったのですけどね。

      返信削除
    3. wertさん
      聞いてみたいのですが、なぜか自宅でも仕事場のパソコンでも、元の音の部分の再生ボタンは、表示されているのですが、コーデックの部分の再生ボタンが表示されていません。
      Windows7IE11なのですが、セキュリティーソフトのせいなのかな。

      返信削除
    4. つっちーです2015年5月12日 12:19

      参考までに教えていただきたいのですが、iLBCとOpusではどちらが遅延が少ないとお感じでしょうか?

      返信削除
    5. 参考までにお教え頂きたいのですが、iLBCとOpusではどちらの方が遅延が少ないとお感じでしょうか。

      返信削除
    6. 参考までにご教示頂きたいのですが、G729、iLBC、Opusではどれが遅延が少ないとお感じでしょうか?

      返信削除
    7. KGMさん

      どのコーデックを用いても、体感での差異は感じられません。

      ただ実使用環境に近づけるべく、ゆらぎやパケロスを意図的に加えると、明らかにiLBCが低遅延となります。

      なお、各コーデックのアルゴリズムによる遅延は以下のとおりです。
      G.729a:15ms
      Opus:5~22.5ms
      iLBC:30ms(たぶん)

      返信削除
    8. 大変参考になりした。
      ありがとうございます。

      返信削除