線スペクトル対(せんスペクトルつい、英: line spectral pairs、LSP)、あるいは線スペクトル周波数(せんスペクトルしゅうはすう、英: line spectral frequencies、LSF)は、線形予測係数を表現するために用いられるもので、その優れた特性のため線形予測を用いる音声符号化方式の多くで使われている。
線スペクトル対の考え方は1975年に板倉文忠が発表した[1]。
線スペクトル対は全世界の携帯電話での音声符号化に欠かせない基礎技術であり、その重要性のため2014年にIEEEマイルストーン賞に認定された。
携帯電話やVoIPなどで音声符号化を行う際、音声の特徴の1つである声道の周波数特性を線形予測フィルターの係数としてパラメータ化し、送信を行う。しかし線形予測フィルターの係数は量子化誤差に敏感で、誤差が大きいとフィルターが発振する問題がある。
線スペクトル対は線形予測係数と等価な周波数領域の係数で、線スペクトル対で表現されたフィルターは量子化誤差の影響が少なく、また線形予測係数と比較して時間方向の変化が滑らかで補間を行いやすい。そのため、音声符号化に用いた場合より少ない情報量で同等の音声品質が得られ、多くの音声符号化方式で用いられている。
声道を固定長で一定の直径を持つ音響管の並びとしてモデル化した時、線スペクトル対は声門を開いたときと閉じたときそれぞれでの共振周波数の組にあたるパラメータである。くちびる側は完全開放のため反射係数が-1と見なし、声門側は開いたときの反射係数を1、閉じたときの反射係数を-1とモデル化すると、両端でのエネルギー損失が無いため声道全体が無損失系となり、音響管の伝達関数は線スペクトル状になる。この線スペクトルの周波数のペアで線形予測係数を表現するため、線スペクトル対という名称で呼ばれる。
Z変換を使って表した線形予測多項式は次の式で表される。
![{\displaystyle A(z)=1-\sum _{k=1}^{p}a_{k}z^{-k}}](//wikimedia.org/api/rest_v1/media/math/render/svg/a5e17eb457b2882f3cbb5e2719783b8351340b02)
ここで実数の係数
は線形予測係数である。
この式は以下の2つの式に分解できる。
![{\displaystyle {\begin{cases}P(z)=A(z)+z^{-(p+1)}A(z^{-1})\\Q(z)=A(z)-z^{-(p+1)}A(z^{-1})\end{cases}}}](//wikimedia.org/api/rest_v1/media/math/render/svg/39594be9f15237faf529399ff547bc7eb51b40eb)
ここで P(z) は声門が完全に閉じたとき(反射係数 -1)に対応し、Q(z) は声門が完全に開いたとき(反射係数 1)に対応する。この式が LSP 多項式である[2]。
線スペクトル対の値はこの多項式の根で表される。
元の多項式 A(z) は以下の式から容易に復元できる。
![{\displaystyle A(z)={\frac {1}{2}}\left(P(z)+Q(z)\right)}](//wikimedia.org/api/rest_v1/media/math/render/svg/415e80ccf8a7b60a1c8b26d576eab44eda80e2b2)
多項式 A(z) の全ての根がz平面上の
の単位円の内部にある時、P(z) = 0 の根と Q(z) = 0 の根はどちらもすべて単位円周上にあることが示せて、これを利用して根の実部cos ωと対応する線スペクトル対の各周波数 ωi を求める。
P(z) と Q(z) の根にそれぞれ対応するωは必ず交互に相手のものを間に挟むので,以下のように並べることができる。
![{\displaystyle 0<\omega _{1}<\omega _{2}<\omega _{3}<\cdots <\omega _{p}<\pi }](//wikimedia.org/api/rest_v1/media/math/render/svg/47b65792005364d9a8c19077a8e3d9e2c0989f34)
また、この条件は線スペクトル対を使った合成フィルターが安定であるための必要十分条件でもあることが示されている[3][4]。
線形予測係数を線スペクトル対に変換するためには、P(z) = 0, Q(z) = 0 の根を求める必要がある。以下では単純化のために線形予測多項式 A(z) の次数が偶数
の場合を考える。この時 LSP 多項式の P(z)、Q(z) は
次の多項式になる。
LSP 多項式の P(z) と Q(z) はそれぞれ
と
で割り切れる。残りの多項式は
で割り切れ、単位円上では
と表現できる。すなわち、P(z) と Q(z) は以下のように因数分解できる。
![{\displaystyle P(z)=\left(1+z^{-1}\right)\prod _{i=1,3,...,N-1}\left(1-2\cos \omega _{i}z^{-1}+z^{-2}\right)}](//wikimedia.org/api/rest_v1/media/math/render/svg/3cd5126838b718c5a3d933a231e2f2a66670300e)
![{\displaystyle Q(z)=\left(1-z^{-1}\right)\prod _{i=2,4,...,N}\left(1-2\cos \omega _{i}z^{-1}+z^{-2}\right)}](//wikimedia.org/api/rest_v1/media/math/render/svg/c8b7275517139a7d40c116706ef07dd7aa8831d4)
この式の根を求めることで線スペクトル対 ωi が計算できる。
もう少し具体的には以下のようになる[3]
[5][6]。
(1) 線形予測係数
から P(z)、Q(z) の各係数を計算
- P(z)、Q(z) の定義を用い以下の式で計算。多項式の係数を
とすると、
![{\displaystyle p_{0}=p_{N+1}=1\,}](//wikimedia.org/api/rest_v1/media/math/render/svg/8e3744440a8ddcaf4290155183fb655e86c2ee4d)
![{\displaystyle p_{i}=p_{N-i+1}=a_{i}+a_{N-i+1}\,}](//wikimedia.org/api/rest_v1/media/math/render/svg/efb2a50cf9c2db739afc2e1bc544d635dd2cbe99)
![{\displaystyle q_{0}=-q_{N+1}=1\,}](//wikimedia.org/api/rest_v1/media/math/render/svg/916cad3556fb4d00e86f8119f922980451dd615e)
![{\displaystyle q_{i}=-q_{N-i+1}=a_{i}-a_{N-i+1}\,}](//wikimedia.org/api/rest_v1/media/math/render/svg/cccfa4069ab296e067932ade8244a591017496bb)
(2) P(z)、Q(z) それぞれを
、
で割る
- 単位円上の根からの実根除去に相当。
- この多項式の除算は係数の加減算により計算可能で、除算後の多項式の係数を
とすると、
![{\displaystyle p'_{0}=1\,}](//wikimedia.org/api/rest_v1/media/math/render/svg/d4b4638c9030bb22d726ee6bead05c47e503f940)
![{\displaystyle p'_{i}=p_{i}-p'_{i-1}\,}](//wikimedia.org/api/rest_v1/media/math/render/svg/8614c921178abe186c28f53d2e7e21a06458aa9a)
![{\displaystyle q'_{0}=1\,}](//wikimedia.org/api/rest_v1/media/math/render/svg/2781415d842578eb50fc5f2449c3f14ef270d674)
![{\displaystyle q'_{i}=q_{i}+q'_{i-1}\,}](//wikimedia.org/api/rest_v1/media/math/render/svg/5408bd9bba74ea2e5ffda7608229da4f93475c67)
(3) 除算後の多項式 P'(z)、Q'(z) を
で置き換え
- 残った複素共役根の実軸への射影に相当。置き換え後の式はチェビシェフ多項式で表現できる[5]。
- P'(z)、Q'(z) は x に関する N/2 次の多項式になり、多項式の係数は
から機械的に計算できる。
(4) x を変数とする2つの方程式をニュートン・ラプソン法で解く
- 区間(-1, 1)内に根
が交互に存在し、2つの方程式を交互に解くことで高速に求めることが可能。
(5) 求めた根から線スペクトル対 ωi を計算
- 求めた N 個の根
から以下の式で ωi を求める。
![{\displaystyle \omega _{i}=\arccos(x_{i})\,}](//wikimedia.org/api/rest_v1/media/math/render/svg/8158565dfcbefb957a8f99d0d9a4beac23623134)
線スペクトル対を線形予測係数に変換する場合はより単純で、上記とは逆に、線スペクトル対 ωi から P(z)、Q(z) の各係数を計算し、
![{\displaystyle A(z)={\frac {1}{2}}\left(P(z)+Q(z)\right)}](//wikimedia.org/api/rest_v1/media/math/render/svg/415e80ccf8a7b60a1c8b26d576eab44eda80e2b2)
を求めればよい。
P(z)、Q(z) の各係数は、
の形式の2次多項式の積を求め、さらに
あるいは
を掛けた式の係数として機械的に計算できる。
P(z)、Q(z) の係数には対称性があるため、N/2 次の係数から以下の式で線形予測係数に変換できる[6]。
![{\displaystyle {\begin{array}{lcl}a_{i}&=&{\frac {1}{2}}\left(p_{i}+q_{i}\right)\\a_{N-i+1}&=&{\frac {1}{2}}\left(p_{i}-q_{i}\right)\end{array}}}](//wikimedia.org/api/rest_v1/media/math/render/svg/4ec2a34b52f01fdeaa6b8928102988ff47daf1a9)
線スペクトル対にはいくつかの優れた特性がある[3]。
- 量子化誤差の影響が少なく、少ないビット数(4 bit/parameter)に量子化してもフィルターの発振などの問題が起きにくい。
- 時間方向の変化が滑らかで補間を行いやすいため、パラメータの更新周期を減らすことができ、情報量の削減が可能である。
- 安定性の必要十分条件が分かっており、それを満たせば合成フィルターが安定であることが理論的に保証されている。
- 総合的に、少ない情報量で同等の音声品質が得られる。
これらの特性により、CELPに代表される多くの音声符号化方式で、線形予測係数の表現のために利用されている。
P(z)、Q(z) の式が逆に記載されている文献もある。表記上の問題でありどちらでも構わない。海外の文献では本文の式が、国内の文献では逆の式が使われることが多い。
嵯峨山 茂樹, LSP音声合成フィルタの安定性条件, 日本音響学会, 昭和57年度春季研究発表会講演論文集, pp.153-154, 1982.
Wai C. Chu. Speech Coding Algorithms: Foundation and Evolution of Standardized Coders. pp.239-250, 2003.
- Jacob Benesty, M. M. Sondhi, Yiteng Huang (ed). Springer Handbook of Speech Processing. Springer, 2007. ISBN 978-3540491255.
- Wai C. Chu. Speech Coding Algorithms: Foundation and Evolution of Standardized Coders. Wiley-Interscience, 2003. ISBN 978-0471373124.
- Peter Kabal, Ravi P. Ramachandran. The Computation of Line Spectral Frequencies Using Chebyshev Polynomials.(pdf) IEEE Trans. Acoustics, Speech, Signal Processing, vol. 34, no. 6, pp. 1419-1426, Dec. 1986.
- 板倉 文忠. 音声分析合成の基礎技術とその音声符号化への応用.(pdf) フェロー&マスターズ未来技術時限研究専門委員会 第6回研究会資料, 電子情報通信学会. 2006.
- 嵯峨山 茂樹. 応用音響学: 音声分析(5) LSP分析.(pdf) 東京大学 応用音響学 講義資料.