音声符号化は、音声を含むデジタル音声信号にデータ圧縮を適用する技術です。音声符号化では、音声信号処理技術を用いた音声固有のパラメータ推定によって音声信号をモデル化し、汎用的なデータ圧縮アルゴリズムを組み合わせて、モデル化されたパラメータをコンパクトなビットストリームで表現します。[ 1 ]
音声符号化の一般的な応用例は、携帯電話とVoIP(Voice over IP)です。[ 2 ]携帯電話で最も広く使用されている音声符号化技術は線形予測符号化(LPC)ですが、VoIPアプリケーションで最も広く使用されているのはLPCと修正離散コサイン変換(MDCT)技術です。
音声符号化に用いられる技術は、音声データ圧縮や音声符号化に用いられる技術と類似しており、人間の聴覚系に関連するデータのみを送信するために心理音響学の知見が活用されている。例えば、音声帯域音声符号化では、400~3500Hzの周波数帯域の情報のみ が送信されるが、再構成された信号は十分な明瞭度を維持する。
音声符号化は、音声が他の音声信号よりも単純な信号であり、音声の特性に関する統計情報が利用可能であるという点で、他の形式の音声符号化とは異なります。その結果、一般的な音声符号化で関連する一部の聴覚情報は、音声符号化のコンテキストでは不要になる場合があります。音声符号化は、限られた量の送信データを使用しながら、音声の明瞭度と心地よさを維持することを重視します。[ 3 ]さらに、ほとんどの音声アプリケーションでは、遅延が音声インタラクションを妨げるため、低い符号化遅延が求められます。[ 4 ]
音声コーダーは2つのクラスに分類されます。[ 5 ]
G.711 PCMデジタル電話で使用されるA法則およびμ 法則アルゴリズムは、音声符号化の初期の先駆者と見なすことができ、サンプルあたり 8 ビットしか必要としないが、実質的に 12ビットの解像度が得られる。[ 7 ]対数圧縮は、低振幅の音声信号に沿って低振幅のノイズが聞こえるが、高振幅のノイズによってマスキングされるという人間の聴覚知覚と一致している。これは音楽信号では許容できない歪みを生じさせるが、音声波形のピーク特性と、単一の基本周波数と時折付加されるノイズバーストを持つ周期波形としての音声の単純な周波数構造により、これらの非常に単純な瞬間圧縮アルゴリズムは音声には許容できる。
当時、デルタ変調の派生型など、さまざまなアルゴリズムが試されましたが、慎重な検討の結果、初期のデジタル電話システムの設計者たちはA則/μ則アルゴリズムを選択しました。設計当時、非常に低い複雑度で帯域幅を33%削減できるという点は、優れた技術的妥協点でした。その音声性能は現在でも十分許容範囲内であり、固定電話網で置き換える必要はありませんでした。
2008年に、スケーラブルな構造を持つG.711.1コーデックがITU-Tによって標準化されました。入力サンプリングレートは16kHzです 。[ 8 ]
音声圧縮における後期の研究の多くは、安全な軍用無線機のためのデジタル通信に関する軍事研究に触発されたものであり、敵対的な無線環境下で効果的な運用を実現するために、非常に低いデータレートが用いられていた。同時に、VLSI回路という形で、以前の圧縮技術に比べてはるかに高い処理能力が利用可能になった。その結果、現代の音声圧縮アルゴリズムは、1960年代には利用できなかったはるかに複雑な技術を用いて、はるかに高い圧縮率を達成できるようになった。
最も広く使用されている音声符号化アルゴリズムは、線形予測符号化(LPC) に基づいています。[ 9 ]特に、最も一般的な音声符号化方式は、LPC ベースのコード励起線形予測(CELP) 符号化であり、これは、たとえばGSM規格で使用されています。CELP では、モデリングは 2 つの段階に分かれています。スペクトル包絡線をモデル化する線形予測段階と、線形予測モデルの残差のコードブックベースのモデルです。CELP では、線形予測係数 (LPC) が計算され、通常は線スペクトル対(LSP) として量子化されます。信号の実際の音声符号化に加えて、伝送エラーによる損失を回避するために、伝送にチャネル符号化を使用する必要があることがよくあります。全体的に最良の符号化結果を得るために、音声符号化とチャネル符号化方式はペアで選択され、音声データ ストリームのより重要なビットは、より堅牢なチャネル符号化によって保護されます。
修正離散コサイン変換(MDCT) は、 1999 年に導入されたAAC-LDフォーマットで使用される LD-MDCT 技術で使用されています。[ 10 ] MDCT はその後、2006 年に導入されたG.729.1広帯域オーディオコーデック[ 11 ] 、2010 年に導入されたAppleのFaceTime (AAC-LD を使用) [ 12 ] 、2011 年に導入されたCELTコーデック[ 13 ]など、VoIP ( Voice -over- IP)アプリケーションで広く採用されています。
Opusは無料のソフトウェアオーディオコーダーです。音声指向のLPCベースのSILKアルゴリズムと低遅延のMDCTベースのCELTアルゴリズムを組み合わせ、必要に応じて切り替えたり組み合わせたりして最大限の効率を実現します。[ 14 ] [ 15 ] WhatsAppのVoIP通話で広く使用されています。[ 16 ] [ 17 ] [ 18 ] PlayStation 4ビデオゲームコンソールも、PlayStation NetworkシステムのパーティチャットにOpusを使用しています。[ 19 ]
さらに低いビットレートのコーデックもいくつか実証されている。450ビット/秒という低いビットレートで動作するCodec 2はアマチュア無線で使用されている。[ 20 ] NATO は現在MELPeを使用しており、 600 ビット/秒以下で明瞭な音声を提供している。 [ 21 ]ニューラルボコーダーのアプローチも登場している。GoogleのLyra は3 kbit/sで「ほとんど不気味な」品質を実現している。[ 22 ] Microsoft のSatinも機械学習を使用しているが、より高い調整可能なビットレートを使用し、広帯域である。[ 23 ]