(57)【要約】【課題】音声合成処理等で必要な特徴パラメータ軌跡生成に関して、計算結果の品質を確保しつつ計算量も抑制することが可能な時系列データ生成装置を提供する。【解決手段】各時刻において複数時刻の値の組み合わせとして定義される複数種類の特徴分布パラメータ時系列を入力として、所定の基準に基づき系列として最適化された多次元時系列データを出力する時系列データ生成装置であって、前記時系列データ生成装置は、処理単位ステップごとに当該ステップ回数に応じて時間進行方向に移動するウィンドウ内のフレームデータとして特徴分布パラメータ時系列を読み込み、当該ステップ回数に応じた所定の繰り返し順序で多次元時系列データの各次元の時系列データを算出し、当該所定の繰り返し順序は、多次元時系列データの各次元のうち、誤差がある場合の影響が大きくなる次元同士が当該順序において離れるように構成されていることを特徴とする。【選択図】図４
2020064143.tif 000002
【特許請求の範囲】
【請求項１】
各時刻において複数時刻の値の組み合わせとして定義される複数種類の特徴分布パラメータ時系列を入力として、所定の基準に基づき系列として最適化された多次元時系列データを出力する時系列データ生成装置であって、
前記時系列データ生成装置は、処理単位ステップごとに当該ステップ回数に応じて時間進行方向に移動するウィンドウ内のフレームデータとして特徴分布パラメータ時系列を読み込み、当該ステップ回数に応じた所定の繰り返し順序で多次元時系列データの各次元の時系列データを算出し、
当該所定の繰り返し順序は、多次元時系列データの各次元のうち、誤差がある場合の影響が大きくなる次元同士が当該順序において離れるように構成されていることを特徴とする時系列データ生成装置。
【請求項２】
前記所定の繰り返し順序は、多次元時系列データの各次元に影響の大きくなる順番で割り当てたインデクスを二進数表現としたうえで、当該二進数表現の上位と下位とを逆転させた二進数の順序であることを特徴とする請求項１に記載の時系列データ生成装置。
【請求項３】
前記時系列データ生成装置は、各ウィンドウにおいて、前記ウィンドウの進行時間順で末尾位置からさらに先の所定範囲までフレームデータを読み込み時系列データを算出したうえで、当該先の所定範囲に関して算出した時系列データは破棄することを特徴とする請求項１または２に記載の時系列データ生成装置。
【請求項４】
前記複数種類の特徴分布パラメータ時系列は音声に関するものであり、
前記多次元時系列データは、基本周波数と所定次元のスペクトル包絡特性を表す特徴量とを含んで構成されることを特徴とする請求項１ないし３のいずれかに記載の時系列データ生成装置。
【請求項５】
各時刻において複数時刻の値の組み合わせとして定義される複数種類の特徴分布パラメータ時系列を入力として、所定の基準に基づき系列として最適化された多次元時系列データを出力する時系列データ生成方法であって、
前記時系列データ生成方法は、処理単位ステップごとに当該ステップ回数に応じて時間進行方向に移動するウィンドウ内のフレームデータとして特徴分布パラメータ時系列を読み込み、当該ステップ回数に応じた所定の繰り返し順序で多次元時系列データの各次元の時系列データを算出し、
当該所定の繰り返し順序は、多次元時系列データの各次元のうち、誤差がある場合の影響が大きくなる次元同士が当該順序において離れるように構成されていることを特徴とする時系列データ生成方法。
【請求項６】
コンピュータを請求項１ないし４のいずれかに記載の時系列データ生成装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成やその他の目的のために滑らかな時系列データを生成するための特徴パラメータ軌跡生成に関して、計算結果の品質を確保しつつ計算量も抑制することが可能な時系列データ生成装置、方法及びプログラムに関する。
【背景技術】
【０００２】
音声合成技術の代表的な利用方法として、テキスト音声変換（Text-To-Speech）が挙げられる。以下、テキスト解析等の結果得られる音素の種類や韻律的特徴を表記した記号（以下、音声合成記号と呼ぶ。）を入力とし、音声波形を生成する装置を音声合成装置と呼ぶ。すなわち、音声合成装置は以下の第二処理を担うものであることから、以下の第一処理及び第二処理を担うテキスト音声変換システムの構成要素として利用可能である。
（第一処理）テキストを入力として音声合成記号を出力する。
（第二処理）音声合成記号を入力として音声波形を出力する。
【０００３】
音声合成装置への入力としての音声合成記号には様々な形式があり得るが、ここでは、一連の音声を構成する音素の情報と、主としてポーズや声の高さとして表現される韻律的情報を同時に表記したものを考える。そのような音声合成用記号の例として、ＪＥＩＴＡ（電子情報技術産業協会）規格ＩＴ−４００６「日本語テキスト音声合成用記号」がある（非特許文献１参照）。音声合成装置は、このような音声合成記号に基づいてそれに対応する音声波形を生成する。ただし、一般に音声波形は合成対象の音素だけでなく、前後の音素の種類や韻律的特徴の影響を強く受けるため、一般的に音声合成記号と音声波形の対応関係は複雑になる。
【０００４】
音声合成装置による音声波形の生成方法には様々な方式があるが、音声の短時間スペクトルの特徴や有声・無声情報、基本周波数（F0）を特徴パラメータとし、5ms（ミリ秒）程度の間隔で特徴パラメータを更新し、更新される特徴パラメータに基づき音声波形を信号処理的に生成する方法がある。以下、この更新間隔を１フレームと呼ぶ。自然音声の分析により求めた各フレームの特徴パラメータと、当該自然音声の当該フレームに対応する音声合成記号の組を学習データとして、音声合成記号から対応する音声特徴パラメータを予測するモデルを機械学習手法により推定し、このように学習したモデルを用いて音声合成を行う手法が広く用いられている。
【０００５】
その1つであるHMM（隠れマフコフモデル）音声合成方式では、時間軸方向の音声の特徴変化をHMMの隠れ状態遷移に対応させてモデル化している。一音素内でも音声特徴パラメータは変化するが、音素内の状態遷移を学習データとして陽に与えるのではなく、隠れ状態としており、状態遷移も同時に学習される形となる。最終的に、音声合成記号からHMMの各パラメータを予測する決定木が学習される。一方、音声合成時はそのように学習したモデルから隠れ状態の遷移を決定的に決めている。このため音声合成の際、ある時刻に状態が切り替わると、その時刻でHMMの出力も不連続に変化する。実際の音声の特徴は時間的に連続的に変化するので、HMMの出力を直接音声合成に用いてしまうと、自然音声と比較し聴感的にも不連続な音声となる。この問題に対処するため、元の特徴の動的特徴量、具体的にはデルタパラメータ（一階差分）やデルタデルタパラメータ（二階差分）も併せて特徴としてモデル化する手法が用いられる（非特許文献２参照）。
【０００６】
非特許文献２の手法は次の通りである。
【０００７】
以下、ある時刻の元の音声特徴パラメータに直接対応する特徴を静的特徴といい、ある時刻の動的特徴は、複数時刻（当該ある時刻の所定近傍範囲（過去及び未来の両方向に延びる範囲）での複数時刻）の静的特徴値の重み付け和で計算できるものとする。この関係は以下の式(1)で表現することができる。
o＝Ｗc      …(1)
【０００８】
式(1)でcは静的特徴を時刻順に並べたベクトル（すなわち音声合成パラメータの時系列データ（軌跡）を表すベクトル）であり、oはHMMの出力ベクトルで、静的特徴と動的特徴を連結し、それをさらに時刻順に並べたベクトルである。Wはcからoへの変換行列である。
【０００９】
音声合成で最終的に必要となるのはcだが、HMM音声合成ではまず音声合成記号から、HMMの出力ベクトルoの分布に関するパラメータを決定木等で予測し、この分布のパラメータで決まる出力oのモデルの尤度が最大となるようなベクトルcを音声合成に用いる。oの分布を正規分布でモデル化する場合、oの分布平均ベクトルをμ、oの分散共分散行列をΣとすると、対数尤度を最大化するベクトルcは以下の式(2)を解くことで求めることができる。
Dc{(Wc-μ)TΣ-1(Wc-μ)}=0      …(2)
【００１０】
式(2)においてDc{・}はベクトルcの各要素による偏微分∂/∂cの演算を表す。また、T（上付きのT）は転置を表し、以下同様とする。式(2)を解くことで以下の式(3)のようにベクトルcを得ることができる。
c=(WTΣ-1W)-1WTΣ-1μ      …(3)
【００１１】
このように計算したcは動的特徴も考慮された特徴パラメータ軌跡になる。動的特徴は音声特徴パラメータ軌跡の時間的な連続性に対する強い制約となるので、HMM状態遷移を決定的に決めることでHMMの出力であるoが不連続に変化しても、計算されるcはある程度連続なものとなる。（従って、cから得られる音声も動的特徴を考慮しない場合と比べてより自然なものとなる。）より一般的には、o=Wc（式(1)）で求まる、元の音声特徴パラメータに対応するベクトルcよりも次元数の大きい連続性に関する何らかの特徴を要素として含んだベクトルoを定義し、oの分布パラメータで表現されるoのモデルの尤度を最大にするcを求めることで連続性を考慮した特徴パラメータ軌跡を求める方法といえる。このような計算に基づく処理は、特徴パラメータ軌跡生成処理と呼ばれる。なお、これまでの説明では、oの分布を決めるためにHMMを用いていたが、ここで説明する特徴パラメータ軌跡生成処理はHMMを用いることが必須ではない。各フレームのoの分布が何らかの方法で決まれば良く、例えば、音素先頭からの相対位置と音声合成記号から各フレームのoの分布をそれぞれ決定木で決める方法や、ニューラルネットワークを用いて決める方法を用いても良い。この場合、音素の長さも同様に決定木やニューラルネットワークを用いて決めることで、各フレームにおいて音素と音素先頭からの相対位置から決まり、全てのフレームのoの分布をそれぞれ音声合成記号から決めることができる。
【００１２】
ここで、分散共分散行列Σとして対角行列を採用することが多い。これはベクトルoの各次元間に相関がないことを仮定していることに対応し、cを構成する多次元の特徴に対しても、その次元間の相関を無視できると仮定したことになる。なお、多次元の音声特徴における次元間の相関を無視した場合の影響が大きくないことは経験的にも知られている。さらに対象時刻の前後限られた区間のcの要素からoを計算するようにWを定義すると、式(3)の（WTΣ-1W）はバンド幅が（（考慮するフレーム数）−１）の対称帯行列となり、cを求めるために必要な計算量はcの大きさのみに比例する。cの大きさは音声合成対象の音声のフレーム数に対応するので、合成対象の音声が時間的に長い場合、一度にcを計算しようとすると、cの大きさに比例する処理時間が掛かってしまい、音声合成指示から音声再生が開始されるまでの時間、すなわちシステムの応答遅延が長くなるという問題がある。また、cから信号処理で実際の音声合成波形を生成する処理(波形生成処理)のためにcを一時的に保存する必要があり、cが大きくなるとそのために必要なメモリ量も増えるという問題もある。
【００１３】
このような問題に対して、システムの応答遅延を短縮することを主な目的として、特徴パラメータ軌跡生成をRLS(再帰的最小二乗法)アルゴリズムに相当する計算アルゴリズムで行う方法は提案されており、これを用いることでフレーム毎の逐次パラメータ計算が可能となる（非特許文献３参照）。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】「日本語テキスト音声合成用記号」ＪＥＩＴＡ規格 ＩＴ−４００６、電子情報技術産業協会、２０１０年３月
【非特許文献２】益子貴史、徳田恵一、小林隆夫、今井 聖、「動的特徴を用いたＨＭＭに基づく音声合成」、電子情報通信学会論文誌(D-II), J79-D-II, 12, pp.2184-2190, Dec. 1996.
【非特許文献３】Kazuhito Koishida, Keiichi Tokuda, Takashi Masuko and Takao Kobayashi, ``Vector quantization of speech spectral parameters using statistics of static and dynamic features,'' IEICE Trans. Inf. & Syst., vol. E84-D, no. 10, pp. 1427-1434, October, 2001.
【発明の概要】
【発明が解決しようとする課題】
【００１５】
非特許文献３においては上記の通りシステムの応答遅延は短縮できたものの、こうした従来技術には特徴パラメータ軌跡生成の計算処理量の最適化に関して更なる改善の余地が残っていた。
【００１６】
すなわち、非特許文献３の手法はパラメータ計算において考慮する過去の出力フレーム数の二乗に比例する計算量となるため、考慮する過去の出力フレーム数を増やす（長くする）と一発話全体の処理量が大幅に増加することになる。つまり、応答遅延は短縮できても、処理量の増加に対処すべく、より高速な計算器を必要とするものであった。一方で、非特許文献３の手法において処理量の増加を抑制するための単純な対処として、考慮する過去の出力フレーム数を減らしたとすると、一発話全体で誤差を最小としていたベース手法（非特許文献２の手法）との誤差が大きくなり、合成音声品質が劣化する可能性が高い。
【００１７】
その他にも、非特許文献２や３の手法を前提として特徴パラメータ軌跡生成の計算の最適化を行うアプローチとして図１ないし図３で示すものも考えられるが、以下に説明する通り、このようなアプローチも改善の余地がある。
【００１８】
図１の手法は次のような考察に基づく。音声合成では多くの場合、発話単位で音声合成指示が与えられるので、一発話の音声合成処理開始時点で、その発話の終了時点までの指令情報が確定している。従って、極端なメモリ削減や応答遅延時間の短縮が必要なければ、フレーム毎のパラメータの逐次計算を行うのではなく、数十から数百フレームを1ブロックとして、各ブロックをベース手法（非特許文献２）で計算する方法を発話先頭から順に繰り返し、最終的に一発話分のパラメータを計算する方法を取ることができる。図１ではこのようなブロック例として4つのブロックC(k1),(Ck2),C(k3),C(k4)が示されている。この方法でも、1発話全体のcを最初に一度計算する方法よりも処理遅延時間を短縮でき、かつメモリ量を抑えることができる。
【００１９】
図１の手法ではさらに、次のような考察に基づき、ブロック間に重複を設けるようにしている。すなわち、ブロック分割して計算する場合、動的特徴に、既に確定したブロックより前のフレームの値を反映させることで、ブロックの先頭側についてはパラメータ軌跡の連続性を担保できるが、ブロックの末尾に近い部分では、当該ブロックよりもさらに後ろの情報を考慮せずにパラメータ軌跡計算をすることになるので、一発話全体を一度に計算した場合とパラメータ軌跡の差異が大きくなると考えられる（例えば図１の[3]に示すブロックC(k1)の後端側部）。さらに確定した値が次のブロックに影響するので、実際には、ブロックの末尾部分だけでなく、先頭部分も同様の影響を受ける（例えば図１の[1]に示すブロックC(k1)の前端側部）。これらを除いた中間部は影響が少なくパラメータ軌跡の差異は小さい（例えば図１の[2]に示すブロックC(k1)の中間部）。
【００２０】
この影響を緩和するためには、単純には、1ブロックのパラメータ軌跡計算において、ブロックのさらに後ろのフレームまで考慮して計算し、ブロック範囲の外側のパラメータ軌跡計算結果を捨てればよい。図１ではこのようにブロックの後端側部の結果を捨てることが可能なように各ブロックに重複を設けている。ここで、捨てるものとして考慮する後ろのフレームの数（長さ）を長くするほど、ベース手法（非特許文献２）で一度に一発話分を計算した結果に近づくと考えられるが、処理量が増加する。例えば一ブロックの長さが100フレームで、1ブロックの計算でブロック終端からさらに10フレーム後まで計算した場合、従来法と比較して一発話全体の処理量は10%増加することになる。
【００２１】
しかし、図１の手法を用いるとしても、実際の特徴パラメータ軌跡の計算においては、多次元で構成される特徴パラメータの各次元のパラメータをどのような順番で計算するか、ということに関して検討の余地が残っている。
【００２２】
当該順番に関して、まず、音声合成出力の理想的には1フレーム毎に特定の特徴の次元のパラメータ軌跡計算を行い、多数次元のパラメータ軌跡計算が特定時間内に集中しないようにすることが望ましい。例えば図２は全次元のパラメータ軌跡生成を行ってから音声波形生成処理を行う例であり、図３は音声波形生成処理の1フレーム分毎に1次元分のパラメータ軌跡計算を行う例である。ここで、F0(k1:k2)は時刻k1（フレーム時刻）からk2までの基本周波数F0のパラメータ軌跡生成処理、Cm(k1:k2)は時刻k1からk2のメルケプストラムm次係数（図２，３では例としてm=0,1,2,…,7）（スペクトル包絡特性を表す特徴量である）のパラメータ軌跡生成処理、W(k)はフレーム時刻kの音声波形生成処理である。ここで、F0(k1:k2)やCm(k1:k2)は最終的な生成対象が時刻k1からk2までであることを意味し、図１の手法として説明したように、実際の生成処理ではフレーム時刻k2よりも後についても考慮した処理方法を用いることができること（すなわち、フレーム時刻k2よりも後のフレーム時刻k3までも計算しておくが、当該計算したk2<k≦k3の間のフレーム時刻kに関して生成されたパラメータは音声合成には利用しないようにすること）に注意されたい。
【００２３】
図２では横軸を処理時刻（フレーム時刻kとは別の、各パラメータ軌跡生成処理を行う実時刻に対応した処理時刻t）とし、[1]にパラメータ軌跡生成処理が示され、[2]に音声波形生成処理が示されている。（なお、既に述べた図１も、横軸はこの意味での処理時刻tとなっている。）図３でも同様に横軸方向を処理時刻tとして、[1]にパラメータ軌跡生成処理が示され、[2]に音声波形生成処理が示されている。
【００２４】
合成音声を実際に出力する処理が途切れないようにするためには、図２のタイミングでは特徴パラメータ軌跡処理（[1]）を出来るだけ高速化し、（すなわち、完了時刻t1,t2等が可能な限り早くなるようにし、）かつ音声波形生成結果（[2]の結果）をバッファリングして、特徴パラメータ軌跡処理の処理中に音が途切れないようにする必要がある。なお、既にパラメータ軌跡の記号に関して定義した通り、図２において時刻t1はフレーム時刻kからk+8までの全パラメータF0,C0,…,C7の生成完了時刻であり、時刻t2はフレーム時刻k+9からk+17までの全パラメータF0,C0,…,C7の生成完了時刻である。図３の処理順にすることで、処理負荷が時間的に平滑化（処理完了時刻の分布が平滑化）され、バッファリングのためのメモリサイズも削減される。これにより低い性能の計算機でも処理が可能になる。
【００２５】
図３では、パラメータX（例えばX=F0(k:k+8)）の生成完了時刻をt[X]と表記している。図３の処理順は（その少なくとも一部が）示される通り、生成対象のパラメータの種類をF0,C0,C1,…,C7と所定順序で切り替えつつ、生成対象のパラメータのフレーム時刻範囲を(k:k+8),(k+1:k+9),(k+2,k+10),…,(k+8:k+16)と1ずつ前方（時刻の進む方向）へとシフトさせていく、というものである。また、これと並行させて、時刻範囲(k+i:k+i+8)(i=0,1,2,…,8)のパラメータ生成が完了したところで、フレーム時刻k+iにおける全種類のパラメータF0,C0,C1,…,C7が生成完了していることにより、音声波形W(k+i)を生成するようにしている。図示される範囲外となるフレーム時刻k+9以降やフレーム時刻k以前に関してもこれと同様に周期的なパラメータ及び音声波形の生成処理が行われることとなる。
【００２６】
しかしながら、図２や図３の手法において、各次元の計算は図１と同じ手法によるものであるため、計算の際に計算において考慮するブロック末尾よりさらに後のフレーム数を減らしてしまうと、ベース手法（非特許文献２）による計算結果との相違が大きくなるという問題は同様に発生する。
【００２７】
先述したように、図１の手法では、メモリ消費量削減および応答遅延時間短縮の目的に、ベース手法（非特許文献２）を繰り返す方法でパラメータ軌跡計算を行う場合、処理量を減らすために計算において考慮するブロック末尾よりさらに後のフレーム数を減らしてしまうと、特にブロック境界付近（ブロック先頭に近いフレームおよびブロック末尾に近いフレーム）において、一発話全体をベース手法で計算した結果との差異が大きくなると考えられる。特に図２のタイミングによる方法の場合、差異が大きくなる時刻が全ての特徴を通じて同じような時刻になって短時間的に影響がより大きくなってしまう。一方、図３の方法では差異が大きくなる時刻が特徴毎に異なり、図２よりも影響は小さくなる。しかし、差異への影響がより大きい複数の特徴において、差異が大きくなる時刻が近接し、依然としてその部分だけ短時間的に差異が大きくなってしまう可能性がある。
【００２８】
以上のように、従来技術においては、ベース手法での計算結果からの相違（当該相違が大きいほど得られる合成音声も不自然となる）すなわち計算結果の品質と計算量（メモリ消費量（空間計算量）や応答遅延（時間計算量）として評価される計算量）との間のトレードオフがあるなかで、必ずしも特徴パラメータ軌跡計算処理の最適化がなされていないという課題があった。以上では合成音声の場合を例として説明したが、その他一般の時系列データにおける特徴パラメータ軌跡計算処理に関しても同様の課題が成立する。
【００２９】
本発明は、当該従来技術の課題に鑑み、計算結果の品質を確保しつつ計算量も抑制することが可能な時系列データ生成装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３０】
上記目的を達成するため、本発明は、各時刻において複数時刻の値の組み合わせとして定義される複数種類の特徴分布パラメータ時系列を入力として、所定の基準に基づき系列として最適化された多次元時系列データを出力する時系列データ生成装置であって、前記時系列データ生成装置は、処理単位ステップごとに当該ステップ回数に応じて時間進行方向に移動するウィンドウ内のフレームデータとして特徴分布パラメータ時系列を読み込み、当該ステップ回数に応じた所定の繰り返し順序で多次元時系列データの各次元の時系列データを算出し、当該所定の繰り返し順序は、多次元時系列データの各次元のうち、誤差がある場合の影響が大きくなる次元同士が当該順序において離れるように構成されていることを特徴とする。また、前記生成装置に対応する方法及びプログラムであることを特徴とする。
【発明の効果】
【００３１】
本発明によれば、誤差がある場合の影響が大きくなるもの同士が当該順序上において離れるように構成された繰り返し順序で各次元の特徴パラメータを、ウィンドウ内のフレームデータから得るようにすることで、結果的に得られる特徴パラメータ軌跡において影響の大きなものの出現を時間軸上で分散させることが可能となり、計算結果の品質を確保しつつ計算量も抑制して特徴パラメータ軌跡を生成することが可能となる。
【図面の簡単な説明】
【００３２】
【図１】パラメータ特徴軌跡計算の一手法を示す図である。
【図２】パラメータ特徴軌跡計算の一手法を示す図である。
【図３】パラメータ特徴軌跡計算の一手法を示す図である。
【図４】一実施形態に係る時系列データ生成装置の機能ブロック図である。
【図５】一実施形態に係る時系列データ生成装置の動作のフローチャートである。
【図６】図５のフローチャートの動作によって処理されるデータの模式例を示す図である。
【図７】図５のフローチャートの動作によって処理されるデータの模式例を示す図である。
【図８】図６の対比例を示す図である。
【図９】図７の対比例を示す図である。
【図１０】設定部においてインデックスを2進数表現上で逆順にする方法を適用した具体的な計算過程を示す図である。
【発明を実施するための形態】
【００３３】
図４は、一実施形態に係る生成装置の機能ブロック図である。生成装置10は、生成部1、合成部2及び設定部3を備え、音声を扱う場合、その全体的な動作として前述した第二処理を行うことが可能なもの、すなわち、音声合成対象となる音声合成記号を変換して得られる各フレーム時刻kの分布パラメータ（以下説明する前処理による）を入力とし、当該分布パラメータを処理して、音声波形合成のための多次元の特徴パラメータを各フレーム時刻kの時系列として逐次的に出力するものであり、さらに当該特徴パラメータを音声合成して合成音声を出力することも可能なものである。なお、後述するように、生成装置10は音声以外に関する時系列データについても同様に扱うことが可能であるが、以下の説明において具体例に言及する場合には、音声を例とする。
【００３４】
音声を扱う場合、次の前処理を予め行うことで時系列データ生成装置10の入力データを用意すればよいが、当該前処理は時系列データ生成装置10内で実施してもよい。すなわち、テキストから変換された音素及び韻律の情報を含んだ音声合成記号（時間進行方向の記号列となっている）に対し、音声合成記号に含まれる各音素の継続フレーム数を音声合成記号から決定して、各フレームの静的特徴量および動的特徴量の分布のモデルに対するパラメータ（正規分布であれば平均と分散、以下、「特徴分布パラメータ」という）を逐次的に読み込むようにすればよい。こうして、生成部1では、入力された特徴分布パラメータで決まる値の分布のモデルに対する最尤な出力時系列として、音声波形合成のための多次元の特徴パラメータを時系列として逐次的に出力することができる。
【００３５】
生成部1での逐次的な読み込み及び出力は、設定部3において予め設定しておいた順序に従ってなされる。設定部3で設定する順序やこれに従った生成部1での逐次的な処理の詳細は、図５ないし図７を参照して後述する。
【００３６】
合成部2は、生成部1から得られた多次元時系列データに対してさらに合成処理を行うものであり、例えば音声を扱う場合であれば、実際の音声波形としての音声を合成して出力する。なお、生成装置10からは合成部2を省略し、合成音声ではなくて生成部1で生成された特徴パラメータを出力するようにする構成も可能である。
【００３７】
図５は、一実施形態に係る時系列データ生成装置10の動作のフローチャートである。当該フローチャートの説明のための前提事項をまず説明する。図示されるように、図５のフローチャートの全体は、ステップS10,S11,S12,S13が繰り返されることで生成部1等での逐次的な処理が実現されるものである。当該繰り返し回数i=1,2,3,…は生成部1等での処理単位ステップの回数に相当するものであり、また、生成部1等での計算処理等の時間進行に沿ったものとなる。ただし、回数iと実際の計算時間の経過とは必ずしも比例で対応している必要はなく、回数iの経過と共に計算時間も経過してゆくという関係があることによって、回数iは現時刻番号iの意味も有する。以下、このような回数（現時刻番号）i=1,2,3,…により各ステップが繰り返されるものとして、図５の各ステップの説明を行う。
【００３８】
図５のフローは、回数（現時刻番号）i=1（初期値）のもとで開始されてステップS10へと進む。ステップS10では、生成部1が入力として、現時刻番号iに対応するパラメータ種別p(i)及びフレームデータf(i)（これらは特徴分布パラメータの各次元のものであるが、以下、図５のフロー等の説明においては、時系列データとしての処理内容を明確化するために、このような用語によって参照するものとする）を取得してからステップS11へと進む。
【００３９】
ステップS10にて、生成部1が出力する多次元の特徴パラメータの次元数がNであるものとすると、現時刻iに対応するパラメータ種別p(i)は当該N次元のいずれかとして取得され、具体的には現時刻番号iを次元数Nで割った余り（剰余）「i mod N」によって一意に定まるものとして、パラメータ種別p(i)=p(i mod N)を取得する。剰余「i mod N」に応じて取得されるパラメータ種別p(i mod N)は、生成部1での処理順序を表現したものであり、設定部3において予め設定しておく順序である。
【００４０】
ここで、設定部3による当該順序の設定例を述べる。そのための前提として、生成部1で得る特徴パラメータは、1次元のパラメータである基本周波数と、所定の次元のメルケプストラム係数で構成され、メルケプストラムの次元数はシステムにより異なるが、ここでは説明を簡単にするため、8次元（0次係数〜7次係数）とする。（これは図２，３で例示したのと同じ設定である。）実際のシステムは例えば30〜50次元程度でありより高次元であるが、8次元としても説明の一般性は失わない。この場合、1つの基本周波数と8つのメルケプストラム係数とによって、次元数N=1+8=9となる。
【００４１】
一般にメルケプストラムは低次係数ほど値の絶対値が大きくスペクトル包絡に大きく影響する。さらに基本周波数も聴感的影響が大きい。（すなわち、当該パラメータの算出値の誤差が大きい場合に、得られる合成音声の品質の低下度合いがより顕著となる。）ここでは、基本周波数（F0）、メルケプストラム（C0〜C7）を合わせて、影響が大きい順に
F0, C0, C1, C2, C3, C4, C5, C6, C7      …(影響順序1)
であるものとする。設定部3では、上記の(影響順序1)を入れ替えて、誤差の影響が大きいパラメータ同士が順序上においては離れるようなものとして、処理順番を設定する。例えば、上記の(影響順番1)をもとにして、以下の(処理順序1)を設定することができる。（当該設定するための手法の詳細については図１０等を参照して後述する。）ここで、影響の大きなF0は9個中の1番目、C0は9個中の6番目となっており、影響の大きなF0,C0が当該順序上において離れていることを見て取ることができる。
F0, C7, C3, C1, C5, C0, C4, C2, C6      …(処理順序1)
【００４２】
上記の(処理順番1)の場合、ステップS10で取得するパラメータ種別p(i)=p(i mod N)=p(i mod 9)は次のようになる。
p(1)=F0, p(2)=C7, p(3)=C3, p(4)=C1, p(5)=C5, p(6)=C0, p(7)=C4, p(8)=C2, p(9)=p(0)=C6
【００４３】
以上、ステップS10で取得するパラメータ種別p(i)を説明した。ステップS10ではさらに、現時刻番号iに対応する特徴分布パラメータのフレームデータf(i)を次のようにして取得する。ここで、特徴分布パラメータのフレームデータは番号j=1,2,3,…でそのフレーム時刻位置jにあるデータd(j)が指定されるものとする。現時刻番号iに対応するフレームデータf(i)は、データ系列d(j)上を現時刻番号iの進行と共にフレーム番号jの増加方向へと移動する、所定のウィンドウW(i)内にあるようなデータ群{d(j)}として取得することができる。
【００４４】
ステップS11では、ステップS10で取得したフレームデータf(i)を入力として、生成部1において前述の式(3)の計算をステップS10で取得したパラメータ種別p(i)に対して行うことで、一定長さの当該パラメータ種別p(i)の特徴パラメータ軌跡pt(i)を得てから、ステップS12へと進む。
【００４５】
ステップS11では、入力されるフレームデータf(i)及び計算対象となっているパラメータ種別p(i)に対応する式(3)の平均ベクトルμ及び分散共分散行列Σ（これらμ及びΣは前述のように前処理において音声合成用に予め学習済みのHMM、決定木、ニューラルネットワーク等から求められている）に対して式(3)の計算を行うことで、その出力cとして時刻iの多次元の特徴パラメータ軌跡の値pt(i)を得ることができる。具体的な計算に関しては前掲の非特許文献２のベース手法を用いれば良い。あるいは、前掲の非特許文献３によるRLS(再帰的最小二乗法)アルゴリズムに相当する計算アルゴリズムを用いてもよい。
【００４６】
なお、ステップS11では式(3)から出力cの計算対象の次元のある区間の値の系列を一度得たうえで、出力cにおいて時間進行方向の先端側の所定長さのデータは削除したものとして、時刻iの特徴パラメータ軌跡の値pt(i)を得るようにしてもよい。すなわち、図１の[3]で説明したような、差異が大きくなると考えられる所定長さの後端側部（時間が未来の側）は削除して、時刻iの特徴パラメータ軌跡の値pt(i)を得るようにしてもよい。
【００４７】
ただしここで説明するように、S11で１次元分の特徴を計算する場合は、削除処理の後も保持する特徴パラメータ値のpt(i)の時間方向の長さは少なくともNであるように削除を行うものとする。仮に保持する値の長さをより短くする場合は、後述するステップS12において音声合成が可能となる（すなわち、ある分布パラメータのフレーム時刻jのデータd(i)に関して、N個の全ての特徴パラメータが算出される）ように１回のS11で計算しなければならない特徴の次元数はより多くなる。また、同様に後述するステップS12において音声合成が可能となるように、ステップS10での現時刻iに応じて移動する所定のウィンドウW(i)の位置（及び範囲）も設定しておくものとする。
【００４８】
ステップS12では、現時刻番号iにおいて初めて、ある特徴分布パラメータのフレーム時刻jのデータd(i)に関して、N個の全ての特徴パラメータP(j)が既に算出済み（現時刻i以前の一連のステップS11の計算結果の蓄積によって算出済み）となっている場合に、当該N個全て揃った特徴パラメータP(j)を生成部1が出力してから、ステップS13へと進む。ステップS12ではさらに、当該出力した1時刻以上の特徴パラメータP(j)に対して合成部2が音声波形としての音声データを合成するようにしてもよい。この際、得られた特徴パラメータP(j)をただちに音声合成処理するのではなく、所定のバッファリング処理等により合成部2において合成音声を得るタイミングを調整するようにしてもよい。
【００４９】
ステップS13では現時刻番号iを次の番号i+1へと更新したうえでステップS10へと戻る。こうして、図５のフローチャートの前提事項として既に説明した通り、以上説明したステップS10〜S13が各時刻番号（処理ステップ回数）i=1,2,3,…について繰り返されることとなる。
【００５０】
図６及び図７は、図５のフローチャートの動作によって処理されるデータの模式例を、ステップS10で例示したN=9個のパラメータF0,C0,…,C7を(処理順序1)に従って処理する場合に関して示すものである。図６及び図７は共に、横軸方向が読み込む特徴分布パラメータデータd(j)のフレーム位置j=1,2,3,…を表し、縦軸方向が図５のフローチャートにおける回数（現時刻番号）i=1,2,3,…を表している。図６では各回数i=1,2,3,…による一連のステップS11で生成される特徴パラメータ軌跡pt(i)の例が示され、図７では図６で当該示したものに上書きする形で、各回数i=1,2,3,…による一連のステップS12で出力されるN=9個全て揃った特徴パラメータP(j)（j=9,10,11,…）が示されている。
【００５１】
図６に示されるように、時刻i=1ではパラメータ種別p(1)=F0であってその長さ9の特徴パラメータ軌跡pt(1)=F0(1),F0(2),…,F0(9)（当該表記は図１，２で説明したのと同様であり、以下でも同様）が得られる。時刻i=2ではパラメータ種別p(2)=C7であってその長さ9の特徴パラメータ軌跡pt(2)=C7(2),…,C7(10)が得られ、…といったようにして以下同様に、各時刻i=1〜18（i=1が初期時刻）で(処理順序1)の順番で、移動するウィンドウW(i)と共に移動する、パラメータ種別p(i)のパラメータ軌跡pt(i)が得られている。
【００５２】
さらに、図７に示されるように、時刻i=9の時点で初めてフレーム位置j=9でのデータd(9)の変換結果としてのN=9個全て揃った特徴パラメータP(9)={F0(9),C0(9),…,C7(9)}が出力され、時刻i=10の時点で初めてフレーム位置j=10でのデータd(10)の変換結果としてのN=9個全て揃った特徴パラメータP(10)={F0(10),C0(10),…,C7(10)}が出力され、…といったようにして以下同様に、時刻i=9,10,11,…,18においてそれぞれフレーム位置j=9,10,11,…,18のN=9個全て揃った特徴パラメータP(j)={F0(j),C0(j),…,C7(j)}が出力されることとなる。
【００５３】
(処理順序1)に関して既に説明した通り、当該並び替えられた順序においては影響の大きなパラメータF0,C0が当該順序上において離れている。既に説明した通り、パラメータF0,C0は、ウィンドウW(i)の時間進行方向の先端側において算出された場合に、合成音声の品質を顕著に損なう可能性があるものであり、図６及び図７では当該損なう可能性のあるF0,C0のデータF0(9),C0(14),F0(18),C0(23)を破裂マークで明示している。しかしながら、図７に示される通り、当該破裂マークで示される箇所は、出力される特徴パラメータP(j)(j=9,10,11,…,18)においては、P(9),P(14),P(18)と（フレーム）時間軸j上で離れたものとなっている。当該時間軸j上で離れた配置になるのは、(処理順序1)の設定による効果であり、本発明によればこのように出力される特徴パラメータP(j)のフレーム時間軸j上において、合成音声の品質を損ないうる特徴パラメータの発生を時間的に分散させることができ、計算量を抑制すると共に、合成音声の品質も確保することが可能となる。
【００５４】
図８及び図９はそれぞれ、図６及び図７の対比例として、(処理順序1)ではなく、(影響順序1)をそのまま処理順序として採用した場合を示している。図８及び図９では、合成音声の品質を損なう可能性のある、後端側に位置するF0,C0のデータF0(9),C0(10),F0(18),C0(19)を破裂マークで明示しており、図９に示される通り、当該破裂マークで示される箇所は、出力される特徴パラメータP'(j)(j=9,10,11,…,18)においては、P'(9),P'(10),P'(17)（及び不図示のP'(18)）と、（フレーム）時間軸j上で近接したものとなっている。劣化（算出パラメータが適切な値から大きな相違をもって算出されること）が時間軸上で近接して現れることから、図８及び図９の対比例の手法では、合成音声の品質劣化も顕著なものとなってしまう。
【００５５】
なお、図８及び図９の対比例の手法は、前掲の図３の手法に該当するものである。
【００５６】
以下、設定部3が前述のような(影響順序1)を並び替えて(処理順序1)を得る手法の詳細を説明する。前述の通りこの例は多次元の特徴パラメータの次元数N=9としているが、一般のNの場合にも当該手法はそのまま適用可能である。
【００５７】
当該手法の一例として、インデックスを2進数表現上で逆順にする方法がある。まずは、影響の大きい特徴から順に、0から始まる仮想インデックスを先頭から順に付与する。(影響順序1)では以下の通りとなる。
0:F0, 1:C0, 2:C1, 3:C2, 4:C3, 5:C4, 6:C5, 7:C6, 8:C7
【００５８】
これに対して、仮想インデックスの2進数表現のビット順を逆にする。ここでは特徴の次元数N=9のため、まず2のべきで9以上の最も小さい値である16次元に拡張する。具体的には、仮想インデクス9〜15を付与して
9:9φ, 10:φ10, 11:φ11, 12:φ12, 13:φ13, 14:φ14, 15:φ15
の7次元を特徴に追加する。9φ〜15φは実際には何もない仮想的な特徴（並び替えのために導入したダミー特徴）である。
【００５９】
この仮想インデックスの2進数表現のビット順を逆にした値を小さい順に並べると、仮想インデックスの順で、
0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15
となり、これを実際の特徴順に並べると、同時にφを削除すると、
F0, C7, C3, C1, C5, C0, C4, C2, C6
となり、影響の大きいF0やC0の処理間隔を大きくできる。
【００６０】
このようにして影響の大きな順に並んだパラメータを並び替えた処理順序を得ることで、仮に大きな誤差が生じてしまう場合であっても影響の大きい特徴の大きな誤差が生じやすい部分が時間的に重なりにくくなり、誤差の影響を時間的に拡散させ緩和できる。
【００６１】
図１０は、以上のインデックスを2進数表現上で逆順にする方法をその通りに適用した具体的な計算過程を示す図である。[1]では9次元F0,C0,…,C7に加えて7つのダミー次元φ9〜φ15をインデクスと共に設け、[2]では当該インデクスを2進数表現し、[3]では当該2進数表現を逆順とし、[4]では当該逆順を小さい順に並べ、[5]では当該並べた中からダミー次元φ9〜φ15のものを除外することで、最終的な(処理順序1)が得られている。
【００６２】
ここでは2進数表現におけるビット逆順による方法を示したが、これに限定されない。例えば、影響が大きい特徴が大きい順にF0, C0, C1, C2の4種類で、それ以外の5種類の特徴において影響の大きさの順序関係の影響が小さければ、先の例のうち、F0, C0, C1, C2のみ先述の例としての(処理順序1)と同じ位置として、それ以外は順に並べた
「F0」, C3, C4, 「C1」, C5,「C0」, C6, 「C2」, C7
のような順序で処理してもよい。上記では(処理順序1)と同じ位置となるものを「」で囲んで示している。その他、次元数Nと影響順序とを指定して予め設定してあるマニュアル規則によって処理順序を得るようにしてもよい。
【００６３】
以上、本発明によれば、上記で説明した基本周波数やメルケプストラム低次係数、またメルケプストラム以外でスペクトル特徴を表すシステムにおいても、そのような多次元特徴量の一部、例えばケプストラムの低次係数やLSP等の低次係数といった、合成音声への影響が大きい特徴のパラメータ軌跡計算を時間的に離すことで、従来法（音声を扱う場合に一発話全体を一括で処理する方法）との差異が特定フレーム周辺に集中してしまうことを避け、従来法との差異の発生を時間的に拡散させて聴感上の差異を抑えることができる。
【００６４】
生成装置10は一般的な構成のコンピュータとして実現可能である。すなわち、CPU（中央演算装置）、当該CPUにワークエリアを提供する主記憶装置、ハードディスクやSSDその他で構成可能な補助記憶装置、キーボード、マウス、タッチパネルその他といったユーザからの入力を受け取る入力インタフェース、ネットワークに接続して通信を行うための通信インタフェース、表示を行うディスプレイ、カメラ及びこれらを接続するバスを備えるような、一般的なコンピュータによって生成装置10を構成することができる。ここでさらに、音声出力のためのスピーカを備えていてもよい。また、図４に示す生成装置10の各部の処理はそれぞれ、当該処理を実行させるプログラムを読み込んで実行するCPUによって実現することができるが、任意の一部の処理を別途の専用回路等において実現するようにしてもよい。
【００６５】
なお、本発明の対象は音声合成に限定されない。例えば口唇の形状をパラメータ化し、パラメータから動画像を用いるようなシステムの特徴パラメータ軌跡計算に適用することも可能である。入力も音素や韻律情報ではなく、静的特徴量、動的特徴量の分布を予測するようなシンボルであれば良く、例えば、ロボット等を対象に、動き指令に対する滑らかなモーションデータの生成に用いることができる。
【符号の説明】
【００６６】
10…時系列データ生成装置、1…生成部、2…合成部、3…設定部
【図１】
2020064143.tif 000003
【図２】
2020064143.tif 000004
【図３】
2020064143.tif 000005
【図４】
2020064143.tif 000006
【図５】
2020064143.tif 000007
【図６】
2020064143.tif 000008
【図７】
2020064143.tif 000009
【図８】
2020064143.tif 000010
【図９】
2020064143.tif 000011
【図１０】
2020064143.tif 000012