線形予測符号

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

線形予測符号化(せんけいよそくふごうか、: linear predictive coding, LPC)は線形予測法を用いた信号の符号化である。

特に音響信号処理音声処理における音声分析・符号化・圧縮・合成で広く利用される。

概要[編集]

線形予測符号化は、音声は声道を模した音響管の始端にあるバズ音生成器(ブザー)(有声音の場合)に時々摩擦性や破裂性の音(歯擦音破裂音などの無声音の場合)が加わった音源から生成されるという仮定から出発している。このモデルは一見荒っぽく見えるが、実際には音声生成過程のよい近似になっている。声門(声帯の両ひだの空隙)が生成するバズ音(ブザーのような音)は、強さ(声の大きさ)と周波数(声のピッチ)で特徴づけられる。一方、声道(咽喉と口)は音響管を形成し、その共鳴特性で特徴づけられる。これら共鳴は、フォルマントすなわち音源の倍音に共鳴して周波数成分が増大する周波数帯で特徴付けられる。摩擦性や破裂性の音は、音声学でいう摩擦音や破裂音の舌や唇や咽喉の動きによって生み出される。

LPCでは、フォルマントを推定し、その効果を信号から除去してバズ化(白色信号化)してその強度と周波数を推定することで音声信号を分析する。フォルマントを除去する過程は逆フィルタリングと呼ばれ、残った信号を残差信号 (residue) と呼ばれる。

音源バズ音やフォルマントや残差の強さと周波数を数値表現すれば、記憶蓄積したり他方に伝送できる。LPCは、このプロセスの逆を行うことで音声合成することができる。すなわち、バズ音源と残差信号のパラメータから音源信号を生成し、フォルマントを用いて(音響管を表す)フィルタを形成し、音源信号にフィルタを作用させることで合成音声を得るものである。

音声信号は時間と共に変化するので、このプロセスは短時間の音声信号区間に対して行われえる。その区間はフレームと呼ばれる。通常は1秒あたり30フレームから50フレームの割合が、明瞭な音声と高い圧縮性能が得られる。

歴史[編集]

線形予測(信号推定分野で)は、遅くとも Norbert Wiener が雑音に埋もれた信号を検出する最適フィルタと予測の数学理論を打ち立てた1940年代にまで遡れる。Claude Channon が信号符号化の一般理論を確立した直後の1955年には、C. Chapin Cutler, Bernard M. Oliver, Henry C. Harrison, Peter Elias らが信号の線形予測に関する論文2編を発表した。

線形予測の音声信号への適用は、1966年に電電公社の齋藤收三と板倉文忠と、1967年にベル電話研究所の Bishnu S. Atal と Manfred R. Schroeder および John Burg により独立になされた。板倉と齋藤は、最尤推定に基づく統計的手法を論じ、Atal と Schroeder は適応的線形予測を論じ、Burg は最大エントロピー原理を提案した。

1969年のアメリカ音響学会年次総会では、板倉と齋藤は部分自己相関法(PARCOR方式)、Glen Jacob Cullerはリアルタイム音声符号化、B.S. Atal はLPC音声符号化を発表した。1971年、Philco-Ford は16ビットLPCハードウェアを使ったリアルタイムLPCのデモンストレーションを行い、4台が売れたという。1970-1980年代は、LPC技術が Atal と Schroeder によって進められ、1978年には Atal と BBN の Vishwanath らは可変レートLPCアルゴリズムを開発した。同年、ベル研究所の Atal と Schroeder は、適応線形符号化(adaptive predictive coding)と呼ばれる人間の聴覚マスキング特性を利用したLPCコーデック(codec)を提案した。これは後に、オーディオ圧縮フォーマットMP3が1993年に紹介された中で用いられた知覚符号化技術の基礎となった。

LPCは VoIP (voice-over-IP) 技術の基盤でもある。1972年、ARPAの Bob Kahn、リンカーン研究所の Jim Forgie、BBNテクノロジーズの Dave Walden が音声信号のパケット化の開発を開始し、後のVoIPへと繋がっていった。1973年、リンカーン研究所の非公式記録によると、Ed Hofstetter が最初のリアルタイム2400bit/s LPC を実装した。1974年には、初の実時間双方向 3500bit/s LPC パケット音声通信が ARPANET 上で Culler-Harrison とリンカーン研究所間で達成された。1976年、ARPANET上で3500bit/sの Network Voice Protocol により、 Culler-Harrison、情報科学研究所スタンフォード研究所、リンカーン研究所を結んで、初のLPC音声会議が行われた。

係数表現[編集]

LPCの線形予測係数(LP coefficients)は数学的に等価な別の形式(例: ログ面積比、反射係数/PARCOR)で表現できる。

様々な係数表現が開発された背景にはノイズ耐性がある。LPCは符号化手法であり、生成された符号はしばしばノイズをもつ伝送路を伝達される(例: 電話)。ゆえに符号は伝送誤りに対して耐性がなければならない。しかし線形予測係数は誤りに弱いためごく小さな誤差でもスペクトル全体が歪み、悪くすると小さい誤差のために予測フィルタが不安定になることもある。ゆえにノイズ耐性に着目した係数表現が開発されてきた。

線スペクトル対 (line spectral pairs; LSP) 分解は、予測器の安定性が保証されていることと、係数の小さい変移によっておこるスペクトルの誤差は局所的であることなどから、特に好評である。

一般にLPCを利用と称していても、詳細にはLSPが用いられている方式も多い。携帯電話やスマートフォン、オーディオ符号化、テレビジョンのディジタル放送方式などで広く用いられている。LSP方式は、2014年にIEEEマイルストーンに選ばれた。

応用[編集]

LPCは、音声の分析と再合成に広く使われていて、例えばGSMのような標準化がなされて、電話会社の音声圧縮の方式としても使われている。また、音声をディジタル化暗号化して狭帯域伝送しても安全な無線通信にも使われ、初期の例として米国政府の Navajo I がある。

LPC合成は、歌い手の音声から推定された時変フィルタを楽器音で駆動してボコーダを構成することにも使われる。これは電子音楽ではポピュラーな方法である。ポール・ランスキー の有名なコンピュータ音楽 "notjustmoreidlechatter" は線形予測符号化を用いて制作された。1980年代に人気を呼んだ教育玩具 Speak & Spell は10次のLPCを使っていた[1]

LPC予測器は Shorten, MPEG-4 ALS, FLAC, SILK audio codec, および他にもロスなしオーディオコーデックにも使われている。

ヤマハのデジタルサンプル方式のシンセサイザーでは、波形をLPCアルゴリズムで圧縮してROMに格納している。FLAC音声コーデックでは、最大32次のLPC予測器を使っている。

LPCはバイオリンなどの弦楽器の音色分析としても関心を持たれている。

予測符号化[編集]

LPCはより大きな枠組みである予測符号化(predictive coding)の一種である。予測符号化とは「予測を利用した効率の良い符号化」の総称である[1][2]

予測符号化では予測器(predictor)が過去系列に基づいて現在の値を推定する。予測器が完全でない限り、実際値-推定値間には誤差/残差が発生する。逆にいえば、残差がわかれば正確な実際値がわかる。すなわち過去系列・推定器・残差が手元にあれば、算出された推定値に残差を足しこむことで実際値を復号できる[3]

符号化:

復号:

このように、予測により信号を残差へ符号化し、予測により残差を信号へ復号する方式が予測符号化である。変動量の大きい信号を予測符号化により小さい残差系列へ変換、この残差系列にさらなる符号化/圧縮をかけて伝達すれば効率の良い信号伝達が可能になる[4]

LPCは予測符号化のうち、サンプル間の関係を線形と仮定したもの、すなわち としたものである。

関連項目[編集]

脚注[編集]

[脚注の使い方]
  1. ^ "Predictive coding is a remarkably simple concept, where prediction is used to achieve efficient coding of signals" Bishnu S. Atal. (2006). The History of Linear Prediction.
  2. ^ "予測符号化とは,着目している画素(対象画素)と空間的・時間的に近い位置にある画素(参照画素)の値から,予測関数に従って対象画素の画素値を予測し,このときの予測値と実際の画素値との誤差(予測誤差)を符号化する手法の総称である." 宮田. (2013). 4 章 予測符号化. 電子情報通信学会『知識の森』.
  3. ^ "prediction error is added to the predicted value to recover the signal." Bishnu S. Atal. (2006). The History of Linear Prediction.
  4. ^ "予測関数が充分に正確であれば,予測誤差は 0 や 0 に近い値をとる可能性が高く,この誤差に対して変換,量子化及びエントロピー符号化を適用することで大幅な圧縮効率の向上が期待できる." 宮田. (2013). 4 章 予測符号化. 電子情報通信学会『知識の森』.

参考文献[編集]

外部リンク[編集]