(57)【要約】【課題】時間関数が［０，１］の範囲で正規化され、全区間に対する歪みが最小になることが保証された時空間分解方法を提供する。【解決手段】時間長Ｔのｐ次元の時系列信号Ｙの時刻ｔのｉ次元目の成分をｙｉ（ｔ）とし、ｐ×ｍの空間行列Ａのｉ行ｋ列目の成分をａｉ，ｋとし、ｍ×Ｔの時間関数Ｆのｋ行ｔ列目の成分をｆｋ（ｔ）とし、１＝ｔ１＜ｔ２＜…＜ｔｋ＜…＜ｔｍ＝Ｔとして、ａｉ，ｋが非負であり、ｆｋ（ｔ）がｔｋ−１≦ｔ≦ｔｋ＋１において非負の値を持ち１≦ｔ＜ｔｋ−１及びｔｋ＋１＜ｔ≦Ｔにおいてｆｋ（ｔ）＝０であり、すべての時刻ｔにおいてｆｋ（ｔ）＋ｆｋ−１（ｔ）＝１であるという制約条件の下で、非負行列因子分解及びダイナミックプログラミングにより、時系列信号Ｙを分解して空間行列Ａ及び時間関数Ｆを計算する。【選択図】図１
2011081305.tif 000002
【特許請求の範囲】
【請求項１】
時間長Ｔのｐ次元の時系列信号Ｙを、ｐ×ｍの空間行列Ａとｍ×Ｔの時間関数Ｆとに分解する時空間分解装置であって、
上記時系列信号Ｙの時刻ｔのｉ次元目の成分をｙｉ（ｔ）とし、上記空間行列Ａのｉ行ｋ列目の成分をａｉ，ｋとし、上記時間関数Ｆのｋ行ｔ列目の成分をｆｋ（ｔ）とし、１＝ｔ１＜ｔ２＜…＜ｔｋ＜…＜ｔｍ＝Ｔとして、
ａｉ，ｋが非負であり、ｆｋ（ｔ）がｔｋ−１≦ｔ≦ｔｋ＋１において非負の値を持ち１≦ｔ＜ｔｋ−１及びｔｋ＋１＜ｔ≦Ｔにおいてｆｋ（ｔ）＝０であり、すべての時刻ｔにおいてｆｋ（ｔ）＋ｆｋ−１（ｔ）＝１であるという制約条件の下で、非負行列因子分解及びダイナミックプログラミングにより、上記時系列信号Ｙを分解して上記空間行列Ａ及び上記時間関数Ｆを計算する時空間分解部、
を含む時空間分解装置。
【請求項２】
請求項１に記載の時空間分解装置において、
上記時空間分解部は、αを定数、ａｉ，ｋ＝ｙｉ（ｔｋ）として、非負行列因子分解及びダイナミックプログラミングにより、以下の評価関数
【数１６】
2011081305.tif 000018
を最小化するｔｋ及び上記空間行列Ａ及び上記時間関数Ｆを計算する、
ことを特徴とする時空間分解装置。
【請求項３】
請求項１又は２に記載の時空間分解装置において、
上記時空間分解部は、
αを定数とし、ｔ２，…，ｔｍ−１を予め定められた初期値に固定し、ａｉ，ｋを初期値ｙｉ（ｔｋ）に固定して、下記の更新式
【数１７】
2011081305.tif 000019
により区間ｔｋ−１≦ｔ≦ｔｋの各ｔについてのｆｋ（ｔ）及びｆｋ−１（ｔ）を繰り返し更新することにより求める時間関数計算部と、
ｆｋ（ｔ）及びｆｋ−１（ｔ）を上記求まったｆｋ（ｔ）及びｆｋ−１（ｔ）に固定し、ａｉ，ｋを初期値ｙｉ（ｔｋ）に固定し、ｙｉ（ｔ）（ｉ＝１，…，ｐ）を成分とする、時系列信号Ｙの時刻ｔのｐ次元ベクトルをｙ（ｔ）とし、空間行列Ａ及び時間関数Ｆで表わされる時系列信号Ｙ’の時刻ｔのｉ次元目の成分をｙ’ｉ（ｔ）とし、ｙ’ｉ（ｔ）（ｉ＝１，…，ｐ）を成分とする、時系列信号Ｙ’の時刻ｔのｐ次元ベクトルをｙ’（ｔ）として、ｙ（ｔ）とｙ’（ｔ）の差ｄ（ｙ（ｔ），ｙ’（ｔ））の和
【数１８】
2011081305.tif 000020
を最小にするｔ２，…，ｔｍ−１を、ダイナミックプログラミングにより求める時刻計算部と、
ｆｋ（ｔ）及びｆｋ−１（ｔ）を上記求まったｆｋ（ｔ）及びｆｋ−１（ｔ）に固定し、ｔ２，…，ｔｍ−１を上記求まったｔ２，…，ｔｍ−１に固定して、下記の更新式
【数１９】
2011081305.tif 000021
によりａｉ，ｋを繰り返し更新することにより求める空間行列計算部と、
を含む、
ことを特徴とする時空間分解装置。
【請求項４】
請求項１から３の何れかに記載の時空間分解装置を含み、
異なる複数の空間行列を記憶する空間行列記憶部と、
異なる複数の時間関数を記憶する時間関数記憶部と、
上記空間行列記憶部から読み込んだ空間行列と、上記時間関数記憶部から読み込んだ時間関数とを合成して音声信号を生成する合成部と、
を更に含む発話リズム変換装置。
【請求項５】
請求項４に記載の発話リズム変換装置において、
上記空間行列記憶部から読み込んだ空間行列と、上記時間関数記憶部から読み込んだ時間関数との少なくとも一方を変換する変換部を更に含み、
上記合成部は、上記変換された空間行列及び／又は時間関数を、上記空間行列記憶部から読み込んだ空間行列及び／又は上記時間関数記憶部から読み込んだ時間関数の代わりに用いて合成を行う、
ことを特徴とする発話リズム変換装置。
【請求項６】
時間長Ｔのｐ次元の時系列信号Ｙを、ｐ×ｍの空間行列Ａとｍ×Ｔの時間関数Ｆとに分解する時空間分解方法であって、
上記時系列信号Ｙの時刻ｔのｉ次元目の成分をｙｉ（ｔ）とし、上記空間行列Ａのｉ行ｋ列目の成分をａｉ，ｋとし、上記時間関数Ｆのｋ行ｔ列目の成分をｆｋ（ｔ）とし、１＝ｔ１＜ｔ２＜…＜ｔｋ＜…＜ｔｍ＝Ｔとして、
時空間分解部が、ａｉ，ｋが非負であり、ｆｋ（ｔ）がｔｋ−１≦ｔ≦ｔｋ＋１において非負の値を持ち１≦ｔ＜ｔｋ−１及びｔｋ＋１＜ｔ≦Ｔにおいてｆｋ（ｔ）＝０であり、すべての時刻ｔにおいてｆｋ（ｔ）＋ｆｋ−１（ｔ）＝１であるという制約条件の下で、非負行列因子分解及びダイナミックプログラミングにより、上記時系列信号Ｙを分解して上記空間行列Ａ及び上記時間関数Ｆを計算する時空間分解ステップ、
を含む時空間分解方法。
【請求項７】
請求項６に記載された時空間分解方法の時空間分解ステップを含み、
上記時空間分解ステップで計算された空間行列Ａは空間行列記憶部に記憶され、上記時空間分解ステップで計算された時間関数Ｆは時間関数記憶部に記憶され、
合成部が、上記空間行列記憶部から読み込んだ空間行列と、上記時間関数記憶部から読み込んだ時間関数とを合成して音声信号を生成する合成ステップを更に含む、
ことを特徴とする発話リズム変換方法。
【請求項８】
請求項７に記載された発話リズム変換方法において、
変換部が、上記空間行列記憶部から読み込んだ空間行列と、上記時間関数記憶部から読み込んだ時間関数との少なくとも一方を変換する変換ステップを更に含み、
上記合成ステップは、上記変換された空間行列及び／又は時間関数を、上記空間行列記憶部から読み込んだ空間行列及び／又は上記時間関数記憶部から読み込んだ時間関数の代わりに用いて合成を行う、
ことを特徴とする発話リズム変換方法。
【請求項９】
請求項１から５の何れかに記載された装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＬＳＰ（Line Spectrum Pair：線スペクトル対）パラメータや調音パラメータ等の多次元時系列信号を空間行列と時間関数とに分解する技術、音声信号の発話リズムを制御する技術に関する。
【背景技術】
【０００２】
これまでに、与えられた音声信号の発話リズムを変換する方法として、２次元磁気センサシステムを用いて計測した、下歯茎、上唇、下唇、舌上の３点のそれぞれの水平および垂直位置から計算される調音パラメータの速度（調音速度）を用いる方法が提案されている。しかしながら、調音速度の値は話者の声道長などに依存するため、ある話者の発話リズムを他の話者に与える場合には、予め調音速度の値の正規化などが必要となる。
【０００３】
ところで、ＬＳＰパラメータや調音パラメータのような時間長Ｔのｐ次元の時系列信号Ｙ（ｐ×Ｔ）を、空間行列Ａ（ｐ×ｍ）と時間関数Ｆ（ｍ×Ｔ）に分解するＴｅｍｐｏｒａｌ  Ｄｅｃｏｍｐｏｓｉｔｉｏｎ（ＴＤ）という手法が提案されている（例えば、非特許文献１参照。）。これは、Ｙ＝ＡＦ、つまり、
【０００４】
【数１】
2011081305.tif 000003
【０００５】
という分解を行う。ここで、ｍは基底の数であり、例えば分析の対象となる発話に含まれる音素の数＋２とすればよい。ｙ’ｉ（ｔ）は空間行列Ａ及び時間関数Ｆで表わされる時系列信号Ｙ’の時刻ｔのｉ次元目の成分であり、ａｉ，ｋは空間行列Ａのｉ行ｋ列目の成分であり、ｆｋ（ｔ）は時間関数Ｆのｋ行ｔ列目の成分である。この分解は一意に決まらないため、時間関数に制約を加えることが一般的である。
非特許文献２では、ｆｋ（ｔ）が区間ｔｋ−１≦ｔ≦ｔｋ＋１においてのみ値を持つという時間関数の局所化のアイディアを導入している。
【０００６】
【数２】
2011081305.tif 000004
【０００７】
上式より、区間ｔｋ−１≦ｔ≦ｔｋにおける歪み（ｙ’ｉ（ｔ）の近似誤差）は当該区間のパラメータのみに依存するため、ａｉ，ｋ＝ｙｉ（ｔｋ）と固定した場合、時刻ｔｋと時間関数ｆｋ（ｔ）は、最小二乗法とダイナミックプログラミングを用いることで、局所区間をつなぎ合わせた全区間に対する歪みを最小にするように決定できる。
【０００８】
時間関数は発話リズムを特徴づけるパラメータとして有効であると考えられるが、ある話者の発話リズムを他の話者に与えることを考えた場合、時間関数は［０，１］の範囲で正規化されるという特性が望まれる。しかし、非特許文献２の方法ではこの特性が保証されない。ここで、時間関数を［０，１］の範囲で正規化するとは、時間関数の各成分ｆｋ（ｔ）が［０，１］の範囲に含まれるようにすることである。
【０００９】
そのため、非特許文献３では、時間関数は［０，１］という特性に着目し、事後的に時間関数の各成分に対して［０，１］の範囲でクリッピングを行うことを提案している。［０，１］の範囲におけるクリッピングとは、ｆｋ（ｔ）が１より大きければ１とし、０より小さければ０とする処理である。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】B.S.Atal, “Efficient Coding of LPC Parameters by Temporal Decomposition”, ICASSP, 81-84, 1983.
【非特許文献２】白木、誉田、「スペクトル歪最小化規準に基づく時間パタンの抽出」、日本音響学会講演論文集（秋）、233-234、1991.
【非特許文献３】P.C.Nguyen, T.Ochi, M.Akagi, “Modified Restricted Temporal Decomposition and Its Application to Low Rate Speech Coding”, IEICE Trans. Inf. & Syst., Vol.E86-D, No.3, 2003.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
このように、非特許文献２では時間関数は［０，１］の範囲で正規化されておらず、また非特許文献３では時間関数のクリッピングを行なうため全区間に対する歪みが最小になることが保証されていないという問題があった。
この発明は、時間関数が［０，１］の範囲で正規化され、全区間に対する歪みが最小になることが保証された時空間分解装置、この装置を用いた発話リズム変換装置、これらの方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
時間長Ｔのｐ次元の時系列信号Ｙの時刻ｔのｉ次元目の成分をｙｉ（ｔ）とし、ｐ×ｍの空間行列Ａのｉ行ｋ列目の成分をａｉ，ｋとし、ｍ×Ｔの時間関数Ｆのｋ行ｔ列目の成分をｆｋ（ｔ）とし、１＝ｔ１＜ｔ２＜…＜ｔｋ＜…＜ｔｍ＝Ｔとして、ａｉ，ｋが非負であり、ｆｋ（ｔ）がｔｋ−１≦ｔ≦ｔｋ＋１において非負の値を持ち１≦ｔ＜ｔｋ−１及びｔｋ＋１＜ｔ≦Ｔにおいてｆｋ（ｔ）＝０であり、すべての時刻ｔにおいてｆｋ（ｔ）＋ｆｋ−１（ｔ）＝１であるという制約条件の下で、非負行列因子分解及びダイナミックプログラミングにより、時系列信号Ｙを分解して空間行列Ａ及び時間関数Ｆを計算する。
【発明の効果】
【００１３】
ａｉ，ｋが非負、ｆｋ（ｔ）がｔｋ−１≦ｔ≦ｔｋ＋１において非負でありすべての時刻ｔにおいてｆｋ（ｔ）＋ｆｋ−１（ｔ）＝１であるという制約条件の下で、非負行列因子分解及びダイナミックプログラミングを用いて、時系列信号Ｙの分解を行うことにより、時間関数が［０，１］の範囲で正規化される。また、クリッピングを行わないために、全区間に対する歪みを最小にすることが保証される。
【図面の簡単な説明】
【００１４】
【図１】時空間分解装置の例の機能ブロック図。
【図２】発話リズム変換装置の例の機能ブロック図。
【図３】時空間分解方法の例の流れ図。
【図４】発話リズム変換方法の例の流れ図。
【図５】実験結果を示す図。
【図６】実験結果を示す図、（ａ）は話者１の調音パラメータ、（ｂ）は話者２の調音パラメータ、（ｃ）は話者１の空間行列と話者２の時間関数を合成することにより得られた調音パラメータ。
【図７】実験結果を示す図、（ａ）は「あいう」と発声した際の調音パラメータから計算した時間関数、（ｂ）は「い」を少し早めに発声するように（ａ）の時間関数を変換した時間関数、（ｃ）と（ｄ）は、図７（ａ）の発声における舌１の垂直方向の調音パラメータ。
【発明を実施するための形態】
【００１５】
［時空間分解装置及び方法］
時空間分解装置及び方法は、入力された時間長Ｔのｐ次元の時系列信号Ｙを、ｐ×ｍの空間行列Ａとｍ×Ｔの時間関数Ｆとに分解する。ｐ、ｍ、Ｔは自然数である。下歯茎、上唇、下唇、舌上の３点の計６個の位置の垂直位置及び水平位置の計１２個の位置情報を例えば用いる場合には、ｐ＝１２とする。ｍは、発話に含まれる音素の数＋２とする。
【００１６】
分解された空間行列Ａ及び時間関数Ｆで表わされる時系列信号Ｙ’の時刻ｔのｉ次元目の成分をｙ’ｉ（ｔ）、空間行列Ａのｉ行ｋ列目の成分をａｉ，ｋ、時間関数Ｆのｋ行ｔ列目の成分をｆｋ（ｔ）と表記すると、空間行列Ａ及び時間関数Ｆへの分解は以下の式のように表記することができる。時系列信号Ｙ’は、時系列信号Ｙ自体ではなく、分解された空間行列Ａ及び時間関数Ｆで表わされる時系列信号Ｙの近似値である。
【００１７】
【数３】
2011081305.tif 000005
【００１８】
この発明では、時空間分解部１が、１＝ｔ１＜ｔ２＜…＜ｔｋ＜…＜ｔｍ＝Ｔとして、ａｉ，ｋが非負であり、ｆｋ（ｔ）がｔｋ−１≦ｔ≦ｔｋ＋１において非負の値を持ち１≦ｔ＜ｔｋ−１及びｔｋ＋１＜ｔ≦Ｔにおいてｆｋ（ｔ）＝０であり、すべての時刻ｔにおいてｆｋ（ｔ）＋ｆｋ−１（ｔ）＝１という制約条件の下で、式（１）の歪み、言い換えれば時系列信号Ｙと時系列信号Ｙ’の差を最小化する空間行列Ａ、時間関数Ｆ及び時刻ｔｋを求める。そのためには、時空間分解部１が、以下の評価関数を非負行列因子分解（NMF:Non-negative Matrix Factorization）及びダイナミックプログラミングにより最小化すれば良い。
【００１９】
【数４】
2011081305.tif 000006
【００２０】
ｙｉ（ｔ）は時系列信号Ｙの時刻ｔのｉ次元目の成分であり、αはｆｋ（ｔ）＋ｆｋ−１（ｔ）＝１という制約条件をどの程度考慮するかどうかを定める定数である。αが大きい程ｆｋ（ｔ）＋ｆｋ−１（ｔ）＝１という制約条件を強く考慮することになる。例えばα＝１０６とする。
ｆｋ（ｔ）がｔｋ−１≦ｔ≦ｔｋ＋１において非負の値を持ち１≦ｔ＜ｔｋ−１及びｔｋ＋１＜ｔ≦Ｔにおいてｆｋ（ｔ）＝０であるとは、言い換えれば、
【００２１】
【数５】
2011081305.tif 000007
【００２２】
ということであり、この制約条件は上記評価関数の第一項に対応している。
非負行列因子分解の詳細は、参考文献１を参照のこと。ダイナミックプログラミングの詳細は、非特許文献２を参照のこと。
〔参考文献１〕D.D.Lee, H.S.Seung, “Learning the parts of objects by non-negative matrix factorization”, Nature, 401, 788-791, 1999.
【００２３】
図１に例示するように、時空間分解部１は、時間関数計算部１１、時刻計算部１２及び空間行列計算部１３を含む。
図３に例示するように、まず、時間関数計算部１１が非負行列因子分解により時間関数Ｆを求め（ステップＳ１）、時刻計算部１２がダイナミックプログラミングにより時刻ｔｋを求める（ステップＳ２）。次に得られた時間関数Ｆ及び時刻ｔｋを用いて、非負行列因子分解により、空間行列Ａを求める（ステップＳ３）。以下、各ステップを詳細に説明する。
【００２４】
＜ステップＳ１＞
時間関数計算部１１は、αを定数とし、ｔ２，…，ｔｍ−１を予め定められた初期値に固定し、ａｉ，ｋを初期値ｙｉ（ｔｋ）に固定して、下記の更新式
【００２５】
【数６】
2011081305.tif 000008
【００２６】
により区間ｔｋ−１≦ｔ≦ｔｋの各ｔについてのｆｋ（ｔ）及びｆｋ−１（ｔ）を繰り返し更新することにより求める（ステップＳ１）。ｆｋ（ｔ）の初期値が非負であれば、非負に更新されることが保証されている。求まったｆｋ（ｔ）及びｆｋ−１（ｔ）は、時刻計算部１２及び空間行列計算部１３に送られる。
ｆｋ（ｔ）、ｆｋ−１（ｔ）の初期値は非負の乱数でよいが、例えば次式により定まる値を用いてもよい。
【００２７】
【数７】
2011081305.tif 000009
【００２８】
時刻ｔ２，…，ｔｍ−１の初期値は、それぞれ発話に含まれるｍ−２個の音素の中心時刻とする。
ｆｋ（ｔ）及びｆｋ−１（ｔ）の更新の回数は求める精度、仕様に応じて適宜定められる。一般に、ｆｋ（ｔ）及びｆｋ−１（ｔ）の更新の回数が多いほど、ｆｋ（ｔ）及びｆｋ−１（ｔ）の精度が高くなる。例えば、ｔｋ−１≦ｔ≦ｔｋにおいて、Ｎ−１回目の更新後の次式で表わされる歪みと、Ｎ回目の更新後の次式で表わされる歪みとの差が所定の閾値（例えば１０−３）以下になるまで更新する。
【００２９】
【数８】
2011081305.tif 000010
【００３０】
＜ステップＳ２＞
時刻計算部１２は、ｆｋ（ｔ）及びｆｋ−１（ｔ）を上記求まったｆｋ（ｔ）及びｆｋ−１（ｔ）に固定し、ａｉ，ｋを初期値ｙｉ（ｔｋ）に固定し、ｙ（ｔ）とｙ’（ｔ）の差ｄ（ｙ（ｔ），ｙ’（ｔ））の和
【００３１】
【数９】
2011081305.tif 000011
【００３２】
を最小にするｔ２，…，ｔｍ−１を、ダイナミックプログラミングにより求める（ステップＳ２）。すなわち、
【００３３】
【数１０】
2011081305.tif 000012
【００３４】
となるｔｋ（ｋ＝２，…，ｍ−１）をダイナミックプログラミングにより求める。求まった時刻ｔｋ（ｋ＝２，…，ｍ−１）は空間行列計算部１３と、必要に応じて時間関数計算部１１とに送られる。
ここで、ｙ（ｔ）は、ｙｉ（ｔ）（ｉ＝１，…，ｐ）を成分とする、時系列信号Ｙの時刻ｔのｐ次元ベクトルをｙ（ｔ）であり、ｙ’（ｔ）は、ｙ’ｉ（ｔ）（ｉ＝１，…，ｐ）を成分とする、時系列信号Ｙ’の時刻ｔのｐ次元ベクトルである。
【００３５】
【数１１】
2011081305.tif 000013
【００３６】
上記求まったｆｋ（ｔ）及びｆｋ−１（ｔ）及びａｉ，ｋの初期値から、上記式（２）によりｙ’ｉ（ｔ）が求まり、これからｙ’（ｔ）が定まる。
ｙ（ｔ）とｙ’（ｔ）の差ｄ（ｙ（ｔ），ｙ’（ｔ））は、どのような差を用いてもよい。例えば、ｄ（ｙ（ｔ），ｙ’（ｔ））を以下のように定める。
【００３７】
【数１２】
2011081305.tif 000014
【００３８】
なお、評価関数で用いた誤差と、ダイナミックプログラミングで用いる誤差の定義が同一であると、全区間に対する歪みを最小にすることが保証される。したがって、例えば上記のようにダイナミックプログラミングで用いる誤差として絶対誤差Σｉ＝１ｐ｜ｙｉ（ｔ）−ｙ’ｉ（ｔ）｜を用いた場合には、評価関数の誤差として絶対誤差を用いるとよい。
【００３９】
例えば、時刻計算部１２は、区間［ｔｋ−δ，ｔｋ＋δ］に含まれるｔｋのそれぞれについて、次式により定まるＤ（ｔｋ）を最小にするｔｋ−１を求める。これを、ｋ＝２からｋ＝ｍ−１まで逐次行い、ｔ２，…，ｔｍ−１を逐次求める。δは予め定められた定数であり、求める精度、仕様に応じて適宜定められる。Ｄ（ｔｋ）は、時刻ｔｋでの最小累積歪みである。
【００４０】
【数１３】
2011081305.tif 000015
【００４１】
最終的に、区間［ｔｍ−１−δ，ｔｍ−１＋δ］に含まれるｔｍ−１のそれぞれについてのＤ（ｔｍ−１）が求まる。時刻計算部１２は、この中で最小となるＤ（ｔｍ−１）を求めて、この最小のＤ（ｔｍ−１）に対応するｔ２，…，ｔｍ−１を出力する。
【００４２】
＜ステップＳ３＞
空間行列計算部１３は、ｆｋ（ｔ）及びｆｋ−１（ｔ）を上記求まったｆｋ（ｔ）及びｆｋ−１（ｔ）に固定し、ｔ２，…，ｔｍ−１を上記求まったｔ２，…，ｔｍ−１に固定して、下記の更新式
【００４３】
【数１４】
2011081305.tif 000016
【００４４】
によりａｉ，ｋを繰り返し更新することにより求める（ステップＳ３）。
ａｉ，ｋの初期値はどのような値でも良いが、例えばｙｉ（ｔｋ）とする。
ａｉ，ｋの更新の回数は求める精度、仕様に応じて適宜定められる。一般に、ａｉ，ｋの更新の回数が多いほど、ａｉ，ｋの精度が高くなる。例えば、例えば、ｔｋ−１≦ｔ≦ｔｋにおいて、Ｎ−１回目の更新後の次式で表わされる歪みと、Ｎ回目の更新後の次式で表わされる歪みとの差が所定の閾値（例えば１０−３）以下になるまで更新する。
【００４５】
【数１５】
2011081305.tif 000017
【００４６】
このように、ａｉ，ｋが非負、ｆｋ（ｔ）がすべての時刻ｔにおいてｔｋ−１≦ｔ≦ｔｋ＋１において非負でありｆｋ（ｔ）＋ｆｋ−１（ｔ）＝１であるという制約条件の下で、非負行列因子分解及びダイナミックプログラミングを用いて、時系列信号Ｙの分解を行うことにより、時間関数が［０，１］の範囲で正規化される。また、クリッピングを行わないために、全区間に対する歪みを最小にすることが保証される。
【００４７】
［発話リズム変換装置及び方法］
時空間分解装置及び方法を、発話リズム変換装置及び方法に適用することができる。
図２は発話リズム変換装置の例の機能ブロック図であり、図４は発話リズム変換方法の例の流れ図である。
発話リズム変換装置は、時空間分解部１、空間行列記憶部２、時間関数記憶部３及び合成部４を例えば含む。
【００４８】
時空間分解部１及びステップＳ１からステップＳ４は、［時空間分解装置及び方法］の欄で説明したのと同様であるため説明を略する。
空間行列記憶部２には、時空間分解部１で計算された異なる複数の空間行列が記憶されている。
時間関数記憶部３には、時空間分解部１で計算された異なる複数の時間関数が記憶されている。
【００４９】
合成部４は、空間行列記憶部２から読み込んだ空間行列と、時間関数記憶部３から読み込んだ時間関数とを合成して音声信号を生成する（ステップＳ５）。例えば、ある発話についての甲さんの空間行列と、その発話と同一の発話に対する乙さんの時間関数とを合成することにより、その発話を乙さんの発話リズムに変換することができる。
また、図２に破線で示した変換部５が、空間行列記憶部２から読み込んだ空間行列と、時間関数記憶部３から読み込んだ時間関数との少なくとも一方を変換し（ステップＳ６）、合成部４がこれらの変換された空間行列及び／又は時間関数を用いて合成を行ってもよい。
【００５０】
変換部５は、例えば舌１（図６のＴ１）の動きをｚ倍に大きくしたい場合には、空間行列記憶部２から読み込んだ空間行列Ａの該当する行ａｉ，１，…，ａｉ，ｍに対する平均をまず計算する。
平均ａｉ＝（ａｉ，１＋…＋ａｉ，ｍ）／ｍ
次に、ａｉ，１の値をｚ×（ａｉ，１−平均ａｉ）＋平均ａｉに置き換える。そして、この操作をａｉ，２からａｉ，ｍまで行う。
【００５１】
空間行列のみが変換された場合には、合成部４は、変換された空間行列と、時間関数記憶部３から読み込んだ時間関数とを合成する。時間関数のみが変換された場合には、合成部４は、変換された時間関数と、空間行列記憶部２から読み込んだ空間行列とを合成する。空間行列と時間関数の両方が変換された場合には、合成部４は、変換された空間行列と変換された時間関数とを合成する。
【００５２】
［実験結果］
予め音素に対応する調音時点の初期時刻ｔｋを用意しておく。これがない場合はすべての可能な時刻に対して歪みを計算する必要がある。αは予備実験の結果１０６とした。図５にδを変化させた場合の調音パラメータの推定誤差を示す。ここでは、提案法と非特許文献３による従来法を比較する。入力データは、２次元磁気センサシステムを用いて毎秒２５０回のレートで計測された下歯茎１点、上・下唇それぞれ１点、舌上の３点の計６点の水平および垂直位置である。発声資料は、「午後はたまった書類に目を通します」などの日本語１６文章を用いた。図５より、すべてのδに対して推定誤差は提案法が従来法よりも小さくなっており、提案法の有効性を示している。
【００５３】
また、図６に話者２の発話リズムを話者１に与えた例を示す。発声資料は「午後はたまった書類に目を通します」である。（ａ）は話者１の調音パラメータである。（ｂ）は話者２の調音パラメータである。（ｃ）は話者１の空間行列に、話者２の時間関数を合成した、話者１の調音パラメータである。パラメータは、上から順番に、下歯茎（ＬＩ）、上唇（ＵＬ）、下唇（ＬＬ）、舌１（Ｔ１）、舌２（Ｔ２）、舌３（Ｔ３）の垂直方向の調音位置である。横軸は時間（フレーム）である。Ｃの調音パラメータの時間特性は、Ｂのそれに似ており、提案法の有効性を示している。
【００５４】
図７（ａ）に「あいう」と発声した際の調音パラメータから計算した時間関数を示す。図７（ｂ）は「い」を少し早めに発声するように図７（ａ）の時間関数を変換した時間関数である。図７（ｃ）の細線は図７（ａ）の発声における舌１の垂直方向の調音パラメータである。図７（ｃ）の太線は「あいう」の空間行列と図７（ｂ）の時間関数を合成したものであるが、時間関数の変換により、調音パラメータが時間的に早い変化を示していることが分かる。図７（ｄ）の細線は図７（ｃ）の細線と同じであるが、図７（ｄ）の太線は、調音器官を２倍大きく動かす発声となるよう、空間行列の値を変換して、図７（Ａ）の時間関数と合成した調音パラメータである。
【００５５】
［変形例等］
時空間分解部１は、時刻計算部１２が計算した時刻ｔｋを出力してもよい。この時刻ｔｋは音声認識、音声合成、音声符号化等で音素の中心の決定に用いることができる。
既に求まったｆｋ（ｔ）及びｆｋ−１（ｔ）、ｔｋ、ａｉ，ｋを用いて、ｆｋ（ｔ）及びｆｋ−１（ｔ）、ｔｋ、ａｉ，ｋの何れかを再計算してもよい。再計算することにより、より精度の高い分解を行うことができる。
【００５６】
例えば、ステップＳ３でａｉ，ｋを生成した後に、再度時間関数Ｆの計算をしてもよい（ステップＳ４）。この場合、時刻ｔｋをステップＳ２で求まった時刻ｔｋで固定し、ａｉ，ｋをステップＳ３で求まったａｉ，ｋで固定し、ステップＳ２で求まったｆｋ（ｔ）及びｆｋ−１（ｔ）をｆｋ（ｔ）及びｆｋ−１（ｔ）の初期値として、＜ステップＳ１＞の欄に記載した更新式により、ｆｋ（ｔ）及びｆｋ−１（ｔ）を繰り返し更新することにより求める。これにより、ｆｋ（ｔ）及びｆｋ−１（ｔ）の精度が高くなる。
【００５７】
上記実施形態では各部でデータが直接やり取りされているとしたが、図示されていない記憶部を介してデータの受け渡しが行われてもよい。すなわち、各部で生成された又は受信したデータは記憶部に記憶され、各部は記憶部からそのデータを読み込んでもよい。
【００５８】
時空間分解装置及び発話リズム変換装置のそれぞれは、コンピュータによって実現することができる。この場合、各装置がそれぞれ有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、これらの装置における各処理機能が、コンピュータ上で実現される。
【００５９】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、これらの装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００６０】
この発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【符号の説明】
【００６１】
１     時空間分解部
１１   時間関数計算部
１２   時刻計算部
１３   空間行列計算部
２     空間行列記憶部
３     時間関数記憶部
４     合成部
５     変換部
【図１】
2011081305.tif 000022
【図２】
2011081305.tif 000023
【図３】
2011081305.tif 000024
【図４】
2011081305.tif 000025
【図５】
2011081305.tif 000026
【図６】
2011081305.tif 000027
【図７】
2011081305.tif 000028