はじめに
LINEアプリで提供するリアルタイムコミュニケーションサービスの1:1通話やグループ通話、LINEミーティングは、インターネットプロトコルを通じてリアルタイムに音声や映像データを送信します。これにより、ユーザーはどこでも便利に音声通話とビデオ通話を利用できます。
リアルタイムコミュニケーションサービスの中核課題は、リアルタイム性と高品質を同時に維持することです。サービス利用中にユーザーが感じる不便や問題点を把握して改善するには、客観的かつ公正な品質測定と評価が不可欠です。この記事では、まず、どのような側面から品質を測定しているかを紹介し、品質測定において代表的な3つの領域であるエコー除去(acoustic echo cancellation、以下AEC)と周波数特性(frequency response)、ロスに対するロバスト性(loss robustness)の測定方法について説明します。
品質測定の側面
私たちは、サービス品質の重要性を認識し、以下のようなさまざまな側面から徹底した品質測定を行っています。
アコースティック環境への対応
アコースティック環境とは、通話者の音響学的な環境を指します。通話者の空間的な特性は、通話品質に影響を与えます。たとえば、周囲が騒がしい場所や響きやすい場所にいると、通話品質が低下し、不便を感じることがあります。私たちは、このようなアコースティック環境での音声処理技術の性能を評価し、技術的な改善を導き出すため、無響室を備え、音声処理技術の性能に影響を与える音響変数を測定しています。
旧LINE Engineeringブログに掲載された「ビデオ会議の際に音声品質を向上する技術(韓国語)」という記事で、音声品質を高めるためのユーザーの通話環境の設定方法について説明していますので、ご参照ください。
アコースティック環境における音響変数には、バックグラウンドノイズと音量レベル、残響レベル、エコーなどがあります。これらの音響変数を性質ごとに定量化します。たとえば、バックグラウンドノイズの場合、周囲のノイズがどれだけ除去されるかを定量化し、エコーの場合、エコーがどれだけ除去されるかを定量化します。
これらの音響変数を測定するための無響室環境も備えています。無響室環境では、音響変数で多様なシミュレーションを行い、実際の環境に近い環境を再現することができます。これにより、内部の音声処理技術が適切に動作しているかどうかを測定できます。たとえば、カフェでの通話環境をシミュレーションするために、カフェで録音したノイズを再生し、そのノイズが音声品質に与える影響を測定します。
ネットワーク環境の変化への対応
ネットワークでは、パケットロスとパケット遅延、帯域幅制限、ネットワーク混雑などの変化が継続的に発生し、このようなネットワーク環境の変化は、リアルタイム通話サービスの品質に非常に大きな影響を与えます。したがって、ユーザーが優れたサービス品質を常に経験できるようにするには、ネットワーク環境の変化がサービス品質に与える影響を測定し、高品質を維持するための技術と戦略を開発する必要があります。そのためには、まず、ネットワーク環境の変化をリアルタイムで正確に分析し、診断する技術が必要です。また、その診断結果に基づいて、ビットレート調整やデータ再送信など、サービス品質を維持するためのさまざまな戦略を行う必要があります。このような活動は、ユーザーが体感する品質に直接影響を与えるため、ネットワーク環境の変化に対応する技術や戦略を定量的に測定することは非常に重要です。
現実のネットワーク環境では、さまざまな形の変化が起こります。この変化を状況ごとにモデル化してさまざまなシナリオを作成し、各シナリオを模擬実験に適用して現実のネットワーク環境における変化をシミュレーションします。また、そのときの品質(音質、画質、FPS(frames per second、1秒あたりのフレーム数)、データ使用量など)を定量的に測定し、ネットワーク環境の変化や対応策が有効に機能しているかを評価します。
下図は、実際の環境で発生するパケットロスをモデル化したシナリオを模擬実験 で再現した例です。
上の例のように、ネットワークエミュレータを用いてパケットロスを発生させることで実際の環境を再現し、パケットロスによる音質低下を定量的に測定します。ネットワークエミュレータはパケットロス以外にもパケット遅延、帯域幅制限などのネットワーク環境の変化をシミュレーションでき、複数のネットワークエミュレータを接続することでさまざまなネットワーク環境の変化を同時にシミュレーションすることもできます。
このような模擬実験を通じてさまざまなネットワーク環境の変化をシミュレーションし、各環境での品質を定量的に測定しております。なお、このような測定を繰り返すことで、技術の信頼性を評価し、改善点を導き出しています。
グローバル環境への対応
LINEアプリは、グローバルサービスとして世界中で利用されています。そのため、グローバルユーザーに継続的に優れた品質を提供することは、非常に重要です。しかし、各地域の通信ネットワークやインフラには、さまざまなISP(Internet service provider)やネットワークトポロジー、帯域幅割り当て、ネットワーク環境、管理方法が使用されています。また、Wi-Fiインフラや利用パターン、文化も異なり、平日か週末か、地域のイベントなどによってネットワーク環境が変わることもあります。
このような地域差や環境変化に対応するため、世 界約15か国に独自開発した品質測定ツールを展開し、各国のネットワーク環境の特性を継続的にモニタリングしています。これにより、国ごと、地域ごとにネットワークの特性と変化を把握し、最適な設定を適用してユーザーに最高のサービス品質を提供しています。
独自開発した品質測定用のH/WとS/Wを搭載した測定ツールは、自動的に通話を行い、音声や映像の品質、遅延、通話接続時間などの各種品質指標を測定します。品質の測定には、POLQA(ITU-T P.863)やPSNR(ITU-T J.340)などの国際標準の指標だけでなく、標準以外でも業界で多く使用されている測定指標も活用しています。
このようなグローバル品質モニタリングを通じて、他のサービスと品質を比較分析し、強みと改善点を導き出します。グローバルモニタリングシステムでは、品質測定ツールで測定された指標を集計し、それを総合的なサービス品質評価スコアで表現します。サービス品質評価スコアは下図のように色分けされており、地域ごとに品質レベルが分かりやすくなっています。以下の地図で、緑は円滑なサービスで品質に問題がない地域、グレーは普通の品質の地域、赤は品質が良くないか測定できない地域を表しています。
私たちは、このように各国と地域の独自のネットワークや環境を考慮し、品質を改善するための対応策を研究・実施しており、すべての地域で最高のサービス品質を提供するために努力を続けています。
外部テストの依頼
外部テストを依頼して独立した測定も実施しています。外部テストは、第三者の専門家が当社製品の性能を測定し、音声や映像の品質を定量的に分析する重要なプロセスです。
外部テストのプロセスでは、外部テスト業者と測定シナリオを目的に合わせて調整し、テスト環境下での品質変化を正確に把握します。さらに、他サービスとの性能比較を行い、市場での製品競争力を評価するプロセスも含まれます。これにより、中立的な立場で評価結果を受け止め、ユーザーの満足度を高めるための改善点を導き出します。
AECの性能測定
AEC(acoustic echo cancellation)とは、音声通話システムで発生する音響エコーを抑制する技術で、ユーザーの声が通話相手のマイクを通って再び聞こえてくる現象を低減する役割を果たします。以下は、音声通話システムでエコーが発生する例を示した図です。
上の図で、右側のユーザーの音(B)が左側のユーザーのスピーカーから出ると、その音もマイクで集音(A)されます。音が何かに反響して返ってくることをエコーといいますが、集音した音を伝えるマイクは、反響の主な発生源といえます。このようにユーザーの声が相手のマイクで集音され、そのままユーザーに返ってくる場合、ユーザーは時間差で再び自分の声を聞くことになります。通話用AECは、このような音響エコーをリアルタイムで検出し、適切にフィルタリングして除去することで、音声通話の品質を向上させます。
私たちは、独自の技術でAECを開発しており、マシンラーニング技術を導入して高品質のエコー除去性能を提供しています。これにより、LINEアプリのユーザーがエコーによる不便を感じることなく、クリアで高音質な音声通話を楽しめるように品質を測定しています。測定方法について本格的に説明する前に、AECの性能測定と性能指標の説明に使う用語の意味を定義しておきます。
- Near-end:通話システムにおいて測定が行われる側にいるユーザーを指します。
- Far-end:Near-endと通話する相手側のユーザーを指します。
- Single talk(シングルトーク):Near-endまたはFar-endのどちらか片方だけが話している場合を指します。
- Double talk(ダブルトーク):Near-endとFar-endの両方が話している場合を指します。
AECの性能測定の方法
AECの性能は、音声を劣化させずにエコーを抑制する能力を定量化することで評価し、性能測定は以下の手順に従います。
測定環境の設定
まず、AECの性能を測定するための測定システムの環境を設定します。
品質測定ツールの選定
AECの性能評価や性能改善には、AECMOSを使用しています。AECMOSは、音声を劣化させずにエコーを抑制する能力を客観的な指標で測定するツールです。現在、業界や学界でAECの性能評価に使用されています。新しいアルゴリズムの性能を評価したり、既存の技術と比較したり、あるいは論文や研究報告書で実験結果を分析し、他の研究と比較して研究の有効性を証明する際に使用されています。
AECMOSには以下の3つの測定モードがあります。
- 48kHz、シナリオベースモデル(Run_1668423760_Stage_0.onnx)
- 16kHz、シナリオベースモデル(Run_1663915512_Stage_0.onnx)
- 16kHzモデル(Run_1663829550_Stage_0.onnx)
シナリオベースモデルは、ST FE(Far-end single talk)とST NE(Near-end single talk)、DT(Double talk)区間の情報を知っているため、より正確な結果を導き出すことができます。こちらでは48kHz、シナリオベースモデルをAECの性能測定に使用しています。
AECMOSには、以下のように4つの詳細指標があります(詳しくは「性能指標の意味」のセクションを参照してください)。
指標 |
説明 |
ST FE Echo DMOS |
Far-end single talkにおけるエコー除去の品質 |
ST NE MOS |
Near-end single talkにおける音声保存の品質 |
DT Echo DMOS |
Double talkにおけるエコー除去の品質 |
DT Other MOS |
Double talkにおける音声保存品質 |
テストデータセットの選定
テストデータセットには、AEC challengeが提供するtest_set_icassp2022データセットを使用します。このデータセットは、DTケース300個、ST FEケース300個、ST NEケース200個の音源を提供しています。
測定対象モジュールの準備
性能測定の対象となるAECモジュールを準備します。
AECの性能測定
測定環境の設定が完了したら、以下の手順でAECの性能を測定します。
- A(エコーが混じっている元の音声、AECMOSでは「Mic captured audio」と示す)とB(エコーの発生源となる音声、AECMOSでは「Loop back audio」と示す)をAECに入力します。
- シナリオファイルとAEC処理結果のC(エコーが除去された音声、AECMOSでは「Enhanced audio」と示 す)とA、BをAECMOSの測定ツールに入力し、ST FE Echo DMOS、ST NE MOS、DT Echo DMOS、DT Other MOSを測定します。
AECの性能評価
AECの性能測定の結果を分析して、どこで差が出たのか、何が改善され、何が足りていないのかを確認し、今後の開発と更新計画を策定します。
AECMOS指標の意味と指標による体感品質の比較
AECMOSで測定した指標の意味を確認し、指標別スコアに対する体感品質を比較してみます。以下では便宜上、Near-endを「私」として説明します。
性能指標の意味
前述のとおり、AECMOSには4つの指標があり、それぞれ以下のような意味を持ちます。
- ST FE Echo DMOS:エコーのみの環境(AにFar-endの音声だけが存在する環境)で、エコー除去後に残っているエコー量に対する尺度です。1~5のスコアで表され、数値が高いほどエコーがよく除去されたことを示します。
- ST NE MOS:Near-endの音声だけが存在し、エコーがない環境(AにNear-endの音声だけが存在する環境、Bの音声の存在有無は重要ではない)で保存された私の音声の品質に対する尺度です。1~5のスコアで表され、数値が高いほど音声品質が良いことを示します。
- DT Echo DMOS:ダブルトーク環境(AにNear-endの音声とFar-endの音声が一緒に存在する環境)で、エコー除去後に残っているエコーの品質に対する尺度です。1~5のスコアで表され、数値が高いほどエコーがよく除去されたことを示します。
- DT Other MOS:ダブルトーク環境(AにNear-endの音声とFar-endの音声が一緒に存在する環境)で、エコー除去後に保存された音声の品質に対する尺度です。1~5のスコアで表され、数値が高いほど音声品質が良いことを示します。
最高の通話品質を得るためには、すべてのスコアが均等に高くなる必要があります。しかし、現実的にはエコー信号だけを正確に判別することはほぼ不可能なため、エコー除去の過程で音声の劣化も発生します。特に、エコーと音声が同時に存在するダブルトーク区間では、2つの音声が混ざり合うため、エコを除去する過程で音声が劣化する可能性が高くなります。このため、エコー除去と音声保存はトレードオフの関係にあります。
ST FE Echo DMOSとDT Echo DMOSは、エコーをよく除去するほどスコアが上がり、ST NE MOSとDT Other MOSは音声をよく保存するほどスコアが上がります。したがって、ST FE Echo DMOSとDT Echo DMOSの高いスコアを狙ってすべての音声を除去すると、エコーと音声をすべて除去して高いスコアを得ることができますが、相手は私の声をきちんと聞くことができません。逆に、ST NE MOSとDT Other MOSの高いスコアを狙って信号を除去しないと、私の声がそのまま残って高いスコアを得ることができますが、エコーがひどくて会話が困難になります。
AECMOSの性能指標による体感品質の比較
以下の表では、AECMOSの4つの品質指標であるST FE Echo DMOSとST NE MOS、DT Echo DMOS、DT Other MOSのスコア帯別に音声品質の違いを体感することができます。
ST FE Echo DMOS | オーディオ・キャプチャーの場所 | 音声ファイル | 説明 |
---|---|---|---|
Original | Mic captured audio (A) | 相手(Far-end)が一人で話し(B)、その音声が私のスピーカーから出力され、私のマイクで集音(A)されます。Aでエコーが聞こえます。 | |
Loop back audio (B) | |||
1.x | Enhanced audio (C) | エコーがきちんと除去されていません。 | |
2.x | Enhanced audio (C) | エコーが減りましたが、残留エコーが聞こえる区間が多くあります。 | |
3.x | Enhanced audio (C) | 全体的にエコーが多く除去されていますが、残留エコーがときどき聞こえます。 | |
4.x | Enhanced audio (C) | エコーが完全に除去されて聞こえません。 |
ST NE MOS | オーディオ・キャプチャーの場所 | 音声ファイル | 説明 |
---|---|---|---|
Original | Mic captured audio (A) |
エコーがない環境で私(Near-end)が話している間、Far-end側で大きな音が発生する状況です。BにはFar-endの音がありますが、Aには私の音声しかありません。 | |
Loop back audio (B) | |||
1.x | Enhanced audio (C) | エコーがない環境にもかかわらず、Near-endの音声に大きな劣化が発生します。劣化した区間は聞き取れません。 | |
2.x | Enhanced audio (C) | エコーがない環境にもかかわらず、Near-endの音声に劣化が発生します。劣化した区間は注意深く聞かないと聞き取れません。 | |
3.x | Enhanced audio (C) | エコーがない環境にもかかわらず、Near-endの音声にわずかな劣化が発生します。劣化はありますが、聞き取ることはできます。 | |
4.x | Enhanced audio (C) | Near-endの音声が劣化した区間はほとんどありません。 |
DT Echo DMOS | オーディオ・キャプチャーの場所 | 音声ファイル | 説明 |
---|---|---|---|
Original | Mic captured audio (A) | Near-endが先に話し始め、Far-endも同時に話し出し(B)、 両方の音声が私のマイクで一緒に集音(A)されます。 | |
Loop back audio (B) | |||
1.x | Enhanced audio (C) | エコーがきちんと除去されていません。 | |
2.x | Enhanced audio (C) | エコーが減りましたが、残留エコーが聞こえる区間が多くあります。 | |
3.x | Enhanced audio (C) | 全体的にエコーが多く除去されましたが、残留エコーがときどき聞こえます。 | |
4.x | Enhanced audio (C) | エコーが完全に除去されて聞こえません。Near-endの音声が劣化しましたが、DT ECHO DMOSのスコアは残留エコー量のみを評価するため、高いスコアが測定されました。 |
DT Other MOS | オーディオ・キャプチャーの場所 | 音声ファイル | 説明 |
---|---|---|---|
Original | Mic captured audio (A) | Near-endが先に話し始め、Far-endも同時に話し出し(B)、両方の音声が私のマイクで一緒に集音(A)されます。 | |
Loop back audio (B) | |||
1.x | Enhanced audio (C) | ダブルトーク区間でNear-endの音声に大きな劣化が発生します。劣化した区間は聞き取れません。 | |
2.x | Enhanced audio (C) | ダブルトーク区間でNear-endの音声に劣化が発生します。劣化した区間は、話しているという状況のみ認識が可能です。 | |
3.x | Enhanced audio (C) | ダブルトーク区間でNear-endの音声にわずかな劣化が発生します。劣化した区間は注意深く聞かないと聞き取れません。 | |
4.x | Enhanced audio (C) | ダブルトーク区間でNear-endの音声に劣化はありますが、聞き取ることはできます。Far-endのエコー量は、DT Other MOSスコアには反映されませんが、DT Echo DMOS値に影響を与えます。 |
AEC性能測定の要約
私たちは、当社のAEC技術に信頼性を持たせるために評価を行い、改善に向けて、以下のような性能測定を行っています。
- 再現性と一貫性の確保:AECMOSを使用して、再現可能な環境で性能を測定します。同じデータベースを使用し、ネットワークへの影響を減らすためにローカルでテストを行います。このように、同じ環境で一貫した結果が得られる測定方法を使用することで、AEC技術の性能変化や改善点を正確に把握できます。
- 信頼できる指標の使用:AECMOS指標は、業界や学界でAECの性能評価や比較分析に広く活用されている重要な指標です。この指標を使用することで、測定した性能の信頼性を確保できます。また、製品の数値と性能を定量的に評価し、改善の方向性を設定できます。
- さまざまなエコー状況での性能確認:さまざまなエコー環境において、AEC技術がどのように機能するかを定量的に確認するために、以下の方法を使用します。
- 大規模なデータベース:シングルトーク、ダブルトークがシナリオに応じて混在する2400以上のデータベースを使用します。
- さまざまな録音環境:さまざまなオーディオデバイス(マイク、スピーカー)と環境で録音され、音声とエコーのサイズや特徴が異なるデータを使用します。
このように多様な条件下で信頼できる性 能評価を行い、どのようなエコーの状況でも当社のAEC技術が有効に機能して、最高の音声品質を提供できるよう努力しています。
また、エコー除去と音声保存はトレードオフの関係にあることから生じる性能の問題を克服するため、マシンラーニングを用いたエコー除去技術も開発しました。その結果、全体的な性能指標は従来の技術に対して一様に向上しています。マシンラーニングの特性上、計算量が多いほど性能が向上しますが、リアルタイム通話サービスでは、まだ多くの計算量を使用できません。そのため、計算量を適切に調整し、チューニングを進めています(このような高性能なAECはLINEデスクトップアプリに限定して搭載しています)。
これまで多くの部分を改善してきました。今後は、ダブルトークの状況下でもさらに性能を向上させ、モバイルアプリにも高性能なAECを搭載することを目指しています。
周波数特性の測定
次に、周波数特性の測定方法について説明します。まず、周波数特性の測定に関連するいくつかの概念について簡単に解説し、周波数特性の測定方法と手順を紹介します。
周波数とサンプリングレートとは
振動の周期的な繰り返し回数を周波数といいます。周波数は、通常1秒あたりの振動回数で表示され、単位はヘルツ(Hz)を使います。高い周波数は短い周期で素早く繰り返される振動を表し、低い周波数は長い周期でゆっくりと繰り返される振動を表します。
音は空気や他の媒質での振動で作られるため、音も周波数で表すことができます。周波数の高低は音の音高を決定します。高い周波数を持つ成分は高い音高を、低い周波数を持つ成分は低い音高を持ちます。たとえば、ピアノのド(C)音の周波数は約261.63Hzで、ミ(E)音の周波数は約329.63Hzです。
アナログ信号をデジタル信号に変換するときは、サンプリングというプロセスを経ます。サンプリングとは、元の信号を一定周期の測定値(サンプル)で構成された信号に変換するプロセスを指し、1秒間にサンプリングする回数をサンプリングレートといいます。デジタル信号処理で重要な概念の1つであるナイキスト・シャノンサンプリング定理は、デジタルで信号を表現するために必要なサンプリングレートを決めるために用いられます。この整理によると、デジタル化する信号の最大周波数の2倍以上にサンプリングレートを設定すれば、元の信号を完全にデジタルで再現することができます。簡単に言えば、周波数が20,000Hzのアナログ信号をデジタル化するには、40,000Hz以上のサンプリングレートを使う必要があるということです。これにより、デジタル化された信号には、元の信号とほぼ同じ情報が含まれることになります。
周波数特性とは
周波数特性は、オーディオシステムの出力信号が多様な周波数帯域でどれだけ正確に伝達されるかを示す指標で、オーディオシステムが低周波数帯域から高周波数帯域までどれだけ広い周波数範囲をうまく再生するかを評価するときに使われます。周波数帯域ごとに入出力の音量を比較し、測定単位としてデシベル(decibel、dB)を使います。デシベルは、人間の耳で感じる音の大きさに近いように、ログスケールで表現します。負数になるほど小さい音を意味し、デシベル値の差が大きいほど、人間は聴覚的に大きな違いを感じます。
周波数特性の測定は、オーディオシステムの性能を評価する重要な方法です。より広い周波数範囲でより正確に再生するほど、より優れたオーディオシステムとみなされます。これは、音楽や音声をより自然に再生するのに役立ち、ユーザーに高品質のオーディオ体験を提供することに貢献します。
音声通話では、話者の音声信号は、低音域から高音域まで広い周波数範囲に存在します。オーディオシステムがこのようにさまざまな周波数を正確に再生できれば、音声通話の品質は向上します。そのため、私たちはユーザーに最高の音声通話体験を提供するために周波数特性を重視し、周波数特性の測定結果に基づいてLINEアプリの音声通話サービスの周波数特性を継続的に改善しています。
可聴周波数と周波数特性
可聴周波数とは、人間の耳に聞こえる周波数の範囲を指します。一般的に、人間の耳は約20Hz~20kHzの周波数を聞くことができます。そのため、周波数特性は主にこの可聴周波数の範囲内で測定されます。
周波数特性は、通常、周波数帯域ごとに元の信号に対する出力信号のゲイン(gain、強度の変化)をグラフ化して評価します。このグラフは、周波数ごとにゲインの差を視覚化したもので、周波数帯域ごとにシステムの出力信号の特徴を確認できます。以下の周波数特性を測定した結果の例を見てみましょう。
上のグラフは、2つのオーディオシステムの周波数特性をそれぞれ赤とオレンジ色で示しています。ここでは、理想的な周波数特性(緑)と赤、オレンジの周波数特性との違いが一目で分かります。たとえば、10kHz(青丸印)付近の周波数特性を見ると、オレンジの周波数特性の場合は理想的な周波数特性に近いですが、赤の周波数特性の場合は理想的な周波数特性より約5dBほど大きく出力しています。したがって、10kHzでは、オレンジの方が赤より理想的な周波数特性を持っているといえます。
周波数帯域別音声の特徴
周波数帯域別音声の特徴は以下のとおりです。
- 100Hz以下:低周波数に分類されます。音声通話でこの帯域の信号は、音声に何の役にも立ちません。むしろ、この部分の音圧が高いと、聞き取りにくい音声に聞こえることがあります。
- 100Hz~250Hz:中低周波数に分類されます。音声通話で主に音声の低音と振動を担当し、音声の安定性を表現する役割を果たします。
- 250Hz~2kHz:中周波数に分類されます。この帯域は音声の主要な部分の一つで、音声の明瞭さと鮮明さを表現する役割を果たします。
- 2kHz~8kHz:高周波数に分類されます。高周波帯域は、音声の高音部分や摩擦音([f]、[v])などの細部を担当します。
- 8kHz~20kHz:超高周波数に分類されます。この周波数帯域は、音声の歯擦音([s]、[z])の特性を表現する役割を果たします。
- 20kHz以上:音声信号がほとんど存在しない帯域で、人間の聴覚で知覚しにくい領域です。
周波数特性の測定方法
周波数特性は、音声信号が流れるすべての経路に影響されます。通話システムでは、マイクとスピーカー、通話モジュールの特性が影響を与えます。
私たちは、通話モジュールの周波数特性を正確に測定するために、仮想オーディオデバイスを使用します。これは、周波数測定時にオーディオデバイスの影響を最小限に抑えるためです。仮想オーディオデバイスは、音声信号を歪みなく入出力できるため、LINE通話モジュール単体の特性を正確に測定できます。
下図の赤線は、周波数特性測定の対象経路を示しています。仮想オーディオデバイスを使用することで、周波数特性