(57)【特許請求の範囲】
【請求項１】
音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するデータ処理装置であって、
前記符号化データを前記CELP方式で復号した合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、学習によって求められたクラスごとのタップ係数との線形１次予測演算を行う予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成手段と、
前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類手段と、
前記注目データのクラスのタップ係数と、前記予測タップとを用いて、前記線形１次予測演算を行うことにより、前記学習において教師として用いられた教師データに対応する予測値を求める予測手段と
を備えるデータ処理装置。
【請求項２】
前記タップ生成手段は、前記注目データから、前記長期予測ラグだけ過去方向もしくは未来方向に離れた位置のサブフレームの合成音データのうちの一方または両方を抽出することにより、前記予測タップと前記クラスタップとを生成する
請求項１に記載のデータ処理装置。
【請求項３】
前記合成音データの波形の推移を判定する判定手段をさらに備え、
前記タップ生成手段は、前記判定手段による判定結果に基づいて、前記長期予測ラグだけ過去方向もしくは未来方向に離れた位置のサブフレームの合成音データのうちの一方または両方を抽出する
請求項２に記載のデータ処理装置。
【請求項４】
前記判定手段は、前記合成音データのパワーに基づいて、その波形の推移を判定する
請求項３に記載のデータ処理装置。
【請求項５】
音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するデータ処理方法であって、
前記符号化データを前記CELP方式で復号した合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、学習によって求められたクラスごとのタップ係数との線形１次予測演算を行う予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成ステップと、
前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類ステップと、
前記注目データのクラスのタップ係数と、前記予測タップとを用いて、前記線形１次予測演算を行うことにより、前記学習において教師として用いられた教師データに対応する予測値を求める予測ステップと
を備えるデータ処理方法。
【請求項６】
音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するデータ処理装置として、コンピュータを機能させるためのプログラムであって、
前記符号化データを前記CELP方式で復号した合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、学習によって求められたクラスごとのタップ係数との線形１次予測演算を行う予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成手段と、
前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類手段と、
前記注目データのクラスのタップ係数と、前記予測タップとを用いて、前記線形１次予測演算を行うことにより、前記学習において教師として用いられた教師データに対応する予測値を求める予測手段と
して、コンピュータを機能させるためのプログラム。
【請求項７】
音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するデータ処理装置として、コンピュータを機能させるためのプログラムが記録されている記録媒体であって、
前記符号化データを前記CELP方式で復号した合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、学習によって求められたクラスごとのタップ係数との線形１次予測演算を行う予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成手段と、
前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類手段と、
前記注目データのクラスのタップ係数と、前記予測タップとを用いて、前記線形１次予測演算を行うことにより、前記学習において教師として用いられた教師データに対応する予測値を求める予測手段と
して、コンピュータを機能させるためのプログラムが記録されている記録媒体。
【請求項８】
音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するのに用いる所定のタップ係数を学習するデータ処理装置であって、
教師となる音声の教師データを、前記サブフレームごとのコードデータである符号化データに符号化し、その符号化データを復号することにより、生徒となる音声の生徒データとしての合成音データを生成する生徒データ生成手段と、
前記生徒データとしての合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、教師データを予測するのに用いる予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成手段と、
前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類手段と、
前記予測タップとタップ係数とを用いて、線形１次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、前記クラスごとのタップ係数を求める学習手段と
を備えるデータ処理装置。
【請求項９】
前記タップ生成手段は、前記注目データから、前記長期予測ラグだけ過去方向もしくは未来方向に離れた位置の前記サブフレームの合成音データのうちの一方または両方を抽出することにより、前記予測タップと前記クラスタップとを生成する
請求項８に記載のデータ処理装置。
【請求項１０】
前記合成音データの波形の推移を判定する判定手段をさらに備え、
前記予測タップ生成手段は、前記判定手段による判定結果に基づいて、前記長期予測ラグだけ過去方向もしくは未来方向に離れた位置の前記サブフレームの合成音データのうちの一方または両方を抽出する
請求項９に記載のデータ処理装置。
【請求項１１】
前記判定手段は、前記合成音データのパワーに基づいて、その波形の推移を判定する
請求項１０に記載のデータ処理装置。
【請求項１２】
音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するのに用いる所定のタップ係数を学習するデータ処理方法であって、
教師となる音声の教師データを、前記サブフレームごとのコードデータである符号化データに符号化し、その符号化データを復号することにより、生徒となる音声の生徒データとしての合成音データを生成する生徒データ生成ステップと、
前記生徒データとしての合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、教師データを予測するのに用いる予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成ステップと、
前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類ステップと、
前記予測タップとタップ係数とを用いて、線形１次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、前記クラスごとのタップ係数を求める学習ステップと
を備えるデータ処理方法。
【請求項１３】
音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するのに用いる所定のタップ係数を学習するデータ処理装置として、コンピュータを機能させるためのプログラムであって、
教師となる音声の教師データを、前記サブフレームごとのコードデータである符号化データに符号化し、その符号化データを復号することにより、生徒となる音声の生徒データとしての合成音データを生成する生徒データ生成手段と、
前記生徒データとしての合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、教師データを予測するのに用いる予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成手段と、
前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類手段と、
前記予測タップとタップ係数とを用いて、線形１次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、前記クラスごとのタップ係数を求める学習手段と
して、コンピュータを機能させるためのプログラム。
【請求項１４】
音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するのに用いる所定のタップ係数を学習するデータ処理装置として、コンピュータを機能させるためのプログラムが記録されている記録媒体であって、
教師となる音声の教師データを、前記サブフレームごとのコードデータである符号化データに符号化し、その符号化データを復号することにより、生徒となる音声の生徒データとしての合成音データを生成する生徒データ生成手段と、
前記生徒データとしての合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、教師データを予測するのに用いる予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成手段と、
前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類手段と、
前記予測タップとタップ係数とを用いて、線形１次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、前記クラスごとのタップ係数を求める学習手段と
して、コンピュータを機能させるためのプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体に関し、特に、例えば、ＣＥＬＰ(Code Excited Liner Prediction coding)方式で符号化された音声を、高音質の音声に復号することができるようにするデータ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体に関する。
【０００２】
【従来の技術】
図１および図２は、従来の携帯電話機の一例の構成を示している。
【０００３】
この携帯電話機では、音声を、ＣＥＬＰ方式により所定のコードに符号化して送信する送信処理と、他の携帯電話機から送信されてくるコードを受信して、音声に復号する受信処理とが行われるようになっており、図１は、送信処理を行う送信部を、図２は、受信処理を行う受信部を、それぞれ示している。
【０００４】
図１に示した送信部では、ユーザが発話した音声が、マイク（マイクロフォン）１に入力され、そこで、電気信号としての音声信号に変換され、Ａ／Ｄ(Analog/Digital)変換部２に供給される。Ａ／Ｄ変換部２は、マイク１からのアナログの音声信号を、例えば、８ｋＨｚ等のサンプリング周波数でサンプリングすることにより、ディジタルの音声信号にＡ／Ｄ変換し、さらに、所定のビット数で量子化を行って、演算器３とＬＰＣ(Liner Prediction Coefficient)分析部４に供給する。
【０００５】
ＬＰＣ分析部４は、Ａ／Ｄ変換部２からの音声信号を、例えば、１６０サンプル分の長さを１フレームとし、その１フレームを４０サンプルごとのサブフレームに分割して、サブフレームごとにＬＰＣ分析し、Ｐ次の線形予測係数α1，α2，・・・，αPを求める。そして、ＬＰＣ分析部４は、このＰ次の線形予測係数αp（ｐ＝１，２，・・・，Ｐ）を要素とするベクトルを、音声の特徴ベクトルとして、ベクトル量子化部５に供給する。
【０００６】
ベクトル量子化部５は、線形予測係数を要素とするコードベクトルとコードとを対応付けたコードブックを記憶しており、そのコードブックに基づいて、ＬＰＣ分析部４からの特徴ベクトルαをベクトル量子化し、そのベクトル量子化の結果得られるコード（以下、適宜、Ａコード(A_code)という）を、コード決定部１５に供給する。
【０００７】
さらに、ベクトル量子化部５は、Ａコードに対応するコードベクトルα’を構成する要素となっている線形予測係数α1’，α2’，・・・，αP’を、音声合成フィルタ６に供給する。
【０００８】
音声合成フィルタ６は、例えば、ＩＩＲ(Infinite Impulse Response)型のディジタルフィルタで、ベクトル量子化部５からの線形予測係数αp’（ｐ＝１，２，・・・，Ｐ）をＩＩＲフィルタのタップ係数とするとともに、演算器１４から供給される残差信号ｅを入力信号として、音声合成を行う。
【０００９】
即ち、ＬＰＣ分析部４で行われるＬＰＣ分析は、現在時刻ｎの音声信号（のサンプル値）ｓn、およびこれに隣接する過去のＰ個のサンプル値ｓn-1，ｓn-2，・・・，ｓn-Pに、式
ｓn＋α1ｓn-1＋α2ｓn-2＋・・・＋αPｓn-P＝en
・・・（１）
で示す線形１次結合が成立すると仮定し、現在時刻ｎのサンプル値ｓnの予測値（線形予測値）ｓn’を、過去のＰ個の標本値ｓn-1，ｓn-2，・・・，ｓn-Pを用いて、式
ｓn’＝−（α1ｓn-1＋α2ｓn-2＋・・・＋αPｓn-P）
・・・（２）
によって線形予測したときに、実際のサンプル値ｓnと線形予測値ｓn’との間の自乗誤差を最小にする線形予測係数αpを求めるものである。
【００１０】
ここで、式（１）において、｛en｝（・・・，en-1，en，en+1，・・・）は、平均値が０で、分散が所定値σ2の互いに無相関な確率変数である。
【００１１】
式（１）から、サンプル値ｓnは、式
ｓn＝en−（α1ｓn-1＋α2ｓn-2＋・・・＋αPｓn-P）
・・・（３）
で表すことができ、これを、Ｚ変換すると、次式が成立する。
【００１２】
Ｓ＝Ｅ／（１＋α1ｚ-1＋α2ｚ-2＋・・・＋αPｚ-P）
・・・（４）
但し、式（４）において、ＳとＥは、式（３）におけるｓnとｅnのＺ変換を、それぞれ表す。
【００１３】
ここで、式（１）および（２）から、ｅnは、式
ｅn＝ｓn−ｓn’
・・・（５）
で表すことができ、実際のサンプル値ｓnと線形予測値ｓn’との間の残差信号と呼ばれる。
【００１４】
従って、式（４）から、線形予測係数αpをＩＩＲフィルタのタップ係数とするとともに、残差信号ｅnをＩＩＲフィルタの入力信号とすることにより、音声信号ｓnを求めることができる。
【００１５】
そこで、音声合成フィルタ６は、上述したように、ベクトル量子化部５からの線形予測係数αp’をタップ係数とするとともに、演算器１４から供給される残差信号ｅを入力信号として、式（４）を演算し、音声信号（合成音データ）ｓｓを求める。
【００１６】
なお、音声合成フィルタ６では、ＬＰＣ分析部４によるＬＰＣ分析の結果得られる線形予測係数αpではなく、そのベクトル量子化の結果得られるコードに対応するコードベクトルとしての線形予測係数αp’が用いられるため、音声合成フィルタ６が出力する合成音信号は、Ａ／Ｄ変換部２が出力する音声信号とは、基本的に同一にはならない。
【００１７】
音声合成フィルタ６が出力する合成音データｓｓは、演算器３に供給される。演算器３は、音声合成フィルタ６からの合成音データｓｓから、Ａ／Ｄ変換部２が出力する音声信号ｓを減算し、その減算値を、自乗誤差演算部７に供給する。自乗誤差演算部７は、演算器３からの減算値の自乗和（第ｋサブフレームのサンプル値についての自乗和）を演算し、その結果得られる自乗誤差を、自乗誤差最小判定部８に供給する。
【００１８】
自乗誤差最小判定部８は、自乗誤差演算部７が出力する自乗誤差に対応付けて、長期予測ラグを表すコードとしてのＬコード(L_code)、ゲインを表すコードとしてのＧコード(G_code)、および符号語（励起コードブック）を表すコードとしてのＩコード(I_code)を記憶しており、自乗誤差演算部７が出力する自乗誤差に対応するＬコード、Ｇコード、およびＬコードを出力する。Ｌコードは、適応コードブック記憶部９に、Ｇコードは、ゲイン復号器１０に、Ｉコードは、励起コードブック記憶部１１に、それぞれ供給される。さらに、Ｌコード、Ｇコード、およびＩコードは、コード決定部１５にも供給される。
【００１９】
適応コードブック記憶部９は、例えば７ビットのＬコードと、所定の遅延時間（ラグ）とを対応付けた適応コードブックを記憶しており、演算器１４から供給される残差信号ｅを、自乗誤差最小判定部８から供給されるＬコードに対応付けられた遅延時間（長期予測ラグ）だけ遅延して、演算器１２に出力する。
【００２０】
ここで、適応コードブック記憶部９は、残差信号ｅを、Ｌコードに対応する時間だけ遅延して出力することから、その出力信号は、その遅延時間を周期とする周期信号に近い信号となる。この信号は、線形予測係数を用いた音声合成において、主として、有声音の合成音を生成するための駆動信号となる。従って、Ｌコードは、概念的には、音声のピッチ周期を表す。なお、CELPの規格によれば、レコードは、２０乃至１４６の範囲の整数値をとる。
【００２１】
ゲイン復号器１０は、Ｇコードと、所定のゲインβおよびγとを対応付けたテーブルを記憶しており、自乗誤差最小判定部８から供給されるＧコードに対応付けられたゲインβおよびγを出力する。ゲインβとγは、演算器１２と１３に、それぞれ供給される。ここで、ゲインβは、長期フィルタ状態出力ゲインと呼ばれるものであり、また、ゲインγは、励起コードブックゲインと呼ばれるものである。
【００２２】
励起コードブック記憶部１１は、例えば９ビットのＩコードと、所定の励起信号とを対応付けた励起コードブックを記憶しており、自乗誤差最小判定部８から供給されるＩコードに対応付けられた励起信号を、演算器１３に出力する。
【００２３】
ここで、励起コードブックに記憶されている励起信号は、例えば、ホワイトノイズ等に近い信号であり、線形予測係数を用いた音声合成において、主として、無声音の合成音を生成するための駆動信号となる。
【００２４】
演算器１２は、適応コードブック記憶部９の出力信号と、ゲイン復号器１０が出力するゲインβとを乗算し、その乗算値ｌを、演算器１４に供給する。演算器１３は、励起コードブック記憶部１１の出力信号と、ゲイン復号器１０が出力するゲインγとを乗算し、その乗算値ｎを、演算器１４に供給する。演算器１４は、演算器１２からの乗算値ｌと、演算器１３からの乗算値ｎとを加算し、その加算値を、残差信号ｅとして、音声合成フィルタ６と適応コードブック記憶部９に供給する。
【００２５】
音声合成フィルタ６では、以上のようにして、演算器１４から供給される残差信号ｅを入力信号が、ベクトル量子化部５から供給される線形予測係数αp’をタップ係数とするＩＩＲフィルタでフィルタリングされ、その結果得られる合成音データが、演算器３に供給される。そして、演算器３および自乗誤差演算部７において、上述の場合と同様の処理が行われ、その結果得られる自乗誤差が、自乗誤差最小判定部８に供給される。
【００２６】
自乗誤差最小判定部８は、自乗誤差演算部７からの自乗誤差が最小（極小）になったかどうかを判定する。そして、自乗誤差最小判定部８は、自乗誤差が最小になっていないと判定した場合、上述のように、その自乗誤差に対応するＬコード、Ｇコード、およびＬコードを出力し、以下、同様の処理が繰り返される。
【００２７】
一方、自乗誤差最小判定部８は、自乗誤差が最小になったと判定した場合、確定信号を、コード決定部１５に出力する。コード決定部１５は、ベクトル量子化部５から供給されるＡコードをラッチするとともに、自乗誤差最小判定部８から供給されるＬコード、Ｇコード、およびＩコードを順次ラッチするようになっており、自乗誤差最小判定部８から確定信号を受信すると、そのときラッチしているＡコード、Ｌコード、Ｇコード、およびＩコードを、チャネルエンコーダ１６に供給する。チャネルエンコーダ１６は、コード決定部１５からのＡコード、Ｌコード、Ｇコード、およびＩコードを多重化し、コードデータとして出力する。
このコードデータは、伝送路を介して送信される。
【００２８】
以上から、コードデータは、復号に用いられる情報であるＡコード、Ｌコード、Ｇコード、およびＩコードを、サブフレーム単位ごとに有する符号化データとなっている。
【００２９】
なお、ここでは、Ａコード、Ｌコード、Ｇコード、およびＩコードは、サブフレームごとに求められるものとしているが、例えば、Ａコードについては、フレームごとに求められる場合があり、この場合、そのフレームを構成する４つのサブフレームの復号には、同一のＡコードが用いられる。但し、この場合でも、その１フレームを構成する４つのサブフレームそれぞれが、同一のＡコードを有していると見ることができ、そのように考えることによって、コードデータは、復号に用いられる情報であるＡコード、Ｌコード、Ｇコード、およびＩコードを、サブフレーム単位ごとに有する符号化データとなっているとみなすことができる。
【００３０】
ここで、図１（後述する図２、図５、図９、図１１、図１６、図１８、および図２１においても同様）では、各変数に、[k]が付され、配列変数とされている。このkは、サブフレーム数を表すが、明細書中では、その記述は、適宜省略する。
【００３１】
次に、以上のようにして、他の携帯電話機の送信部から送信されてくるコードデータは、図２に示した受信部のチャネルデコーダ２１で受信される。チャネルデコーダ２１は、コードデータから、Ｌコード、Ｇコード、Ｉコード、Ａコードを分離し、それぞれを、適応コードブック記憶部２２、ゲイン復号器２３、励起コードブック記憶部２４、フィルタ係数復号器２５に供給する。
【００３２】
適応コードブック記憶部２２、ゲイン復号器２３、励起コードブック記憶部２４、演算器２６乃至２８は、図１の適応コードブック記憶部９、ゲイン復号器１０、励起コードブック記憶部１１、演算器１２乃至１４とそれぞれ同様に構成されるもので、図１で説明した場合と同様の処理が行われることにより、Ｌコード、Ｇコード、およびＩコードが、残差信号ｅに復号される。この残差信号ｅは、音声合成フィルタ２９に対して、入力信号として与えられる。
【００３３】
フィルタ係数復号器２５は、図１のベクトル量子化部５が記憶しているのと同一のコードブックを記憶しており、Ａコードを、線形予測係数αp’に復号し、音声合成フィルタ２９に供給する。
【００３４】
音声合成フィルタ２９は、図１の音声合成フィルタ６と同様に構成されており、フィルタ係数復号器２５からの線形予測係数αp’をタップ係数とするとともに、演算器２８から供給される残差信号ｅを入力信号として、式（４）を演算し、これにより、図１の自乗誤差最小判定部８において自乗誤差が最小と判定されたときの合成音データを生成する。この合成音データは、Ｄ／Ａ(Digital/Analog)変換部３０に供給される。Ｄ／Ａ変換部３０は、音声合成フィルタ２９からの合成音データを、ディジタル信号からアナログ信号にＤ／Ａ変換し、スピーカ３１に供給して出力させる。
【００３５】
なお、コードデータにおいて、Ａコードが、サブフレーム単位でなく、フレーム単位で配置されている場合、図２の受信部では、フレームを構成する４つのサブフレームすべての復号に、そのフレームに配置されたＡコードに対応する線形予測係数を用いることができる他、各サブフレームについて、隣接するフレームのＡコードに対応する線形予測係数を用いて補間を行い、その補間の結果得られる線形予測係数を、各サブフレームの復号に用いることが可能である。
【００３６】
【発明が解決しようとする課題】
以上のように、携帯電話機の送信部では、受信部の音声合成フィルタ２９に与えられる入力信号としての残差信号と線形予測係数がコード化されて送信されてくるため、受信部では、そのコードが、残差信号と線形予測係数に復号される。しかしながら、この復号された残差信号や線形予測係数（以下、適宜、それぞれを、復号残差信号または復号線形予測係数という）には、量子化誤差等の誤差が含まれるため、音声をＬＰＣ分析して得られる残差信号と線形予測係数には一致しない。
【００３７】
このため、受信部の音声合成フィルタ２９が出力する合成音データは、歪み等を有する、音質の劣化したものとなる。
【００３８】
本発明は、このような状況に鑑みてなされたものであり、高音質の合成音等を得ることができるようにするものである。
【００３９】
【課題を解決するための手段】
本発明の第１の側面のデータ処理装置、プログラム、又は、記録媒体は、音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するデータ処理装置であって、前記符号化データを前記CELP方式で復号した合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、学習によって求められたクラスごとのタップ係数との線形１次予測演算を行う予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成手段と、前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類手段と、前記注目データのクラスのタップ係数と、前記予測タップとを用いて、前記線形１次予測演算を行うことにより、前記学習において教師として用いられた教師データに対応する予測値を求める予測手段とを備えるデータ処理装置、そのようなデータ処理装置として、コンピュータを機能させるためのプログラム、又は、そのようなプログラムが記録されている記録媒体である。
【００４０】
本発明の第１の側面のデータ処理方法は、音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するデータ処理方法であって、前記符号化データを前記CELP方式で復号した合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、学習によって求められたクラスごとのタップ係数との線形１次予測演算を行う予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成ステップと、前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類ステップと、前記注目データのクラスのタップ係数と、前記予測タップとを用いて、前記線形１次予測演算を行うことにより、前記学習において教師として用いられた教師データに対応する予測値を求める予測ステップとを備えるデータ処理方法である。
【００４３】
本発明の第２の側面のデータ処理装置、プログラム、又は、記録媒体は、音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するのに用いる所定のタップ係数を学習するデータ処理装置であって、教師となる音声の教師データを、前記サブフレームごとのコードデータである符号化データに符号化し、その符号化データを復号することにより、生徒となる音声の生徒データとしての合成音データを生成する生徒データ生成手段と、前記生徒データとしての合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、教師データを予測するのに用いる予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成手段と、前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類手段と、前記予測タップとタップ係数とを用いて、線形１次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、前記クラスごとのタップ係数を求める学習手段とを備えるデータ処理装置、そのようなデータ処理装置として、コンピュータを機能させるためのプログラム、又は、そのようなプログラムが記録されている記録媒体である。
【００４４】
本発明の第２の側面のデータ処理方法は、音声を、所定の単位であるサブフレーム単位で、CELP(Code Excited Liner Prediction coding)方式によって符号化することにより得られる、前記サブフレーム単位のコードデータである符号化データを処理するのに用いる所定のタップ係数を学習するデータ処理方法であって、教師となる音声の教師データを、前記サブフレームごとのコードデータである符号化データに符号化し、その符号化データを復号することにより、生徒となる音声の生徒データとしての合成音データを生成する生徒データ生成ステップと、前記生徒データとしての合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、教師データを予測するのに用いる予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとを生成するタップ生成ステップと、前記クラスタップに基づき、前記注目データについて、クラス分類を行うクラス分類ステップと、前記予測タップとタップ係数とを用いて、線形１次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、前記クラスごとのタップ係数を求める学習ステップとを備えるデータ処理方法である。
【００４７】
本発明の第１の側面においては、前記符号化データを前記CELP方式で復号した合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、学習によって求められたクラスごとのタップ係数との線形１次予測演算を行う予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとが生成される。そして、前記クラスタップに基づき、前記注目データについて、クラス分類が行われ、前記注目データのクラスのタップ係数と、前記予測タップとを用いて、前記線形１次予測演算を行うことにより、前記学習において教師として用いられた教師データに対応する予測値が求められる。
【００４８】
本発明の第２の側面においては、教師となる音声の教師データを、前記サブフレームごとのコードデータである符号化データに符号化し、その符号化データを復号することにより、生徒となる音声の生徒データとしての合成音データが生成される。さらに、前記生徒データとしての合成音データのうちの注目している注目データを含む注目サブフレームの合成音データと、前記注目サブフレームから、前記コードデータに含まれるＬコードが表す長期予測ラグだけ離れたサブフレームの合成音データとを抽出することにより、教師データを予測するのに用いる予測タップと、前記注目データをクラス分けするクラス分類を行うのに用いられるクラスタップとが生成される。そして、前記クラスタップに基づき、前記注目データについて、クラス分類が行われ、前記予測タップとタップ係数とを用いて、線形１次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習が行われて、前記クラスごとのタップ係数が求められる。
【００４９】
【発明の実施の形態】
図３は、本発明を適用した伝送システム（システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない）の一実施の形態の構成を示している。
【００５０】
この伝送システムでは、携帯電話機１０１1と１０１2が、基地局１０２1と１０２2それぞれとの間で、無線による送受信を行うとともに、基地局１０２1と１０２2それぞれが、交換局１０３との間で送受信を行うことにより、最終的には、携帯電話機１０１1と１０１2との間において、基地局１０２1および１０２2、並びに交換局１０３を介して、音声の送受信を行うことができるようになっている。なお、基地局１０２1と１０２2は、同一の基地局であっても良いし、異なる基地局であっても良い。
【００５１】
ここで、以下、特に区別する必要がない限り、携帯電話機１０１1と１０１2を、携帯電話機１０１と記述する。
【００５２】
次に、図４は、図３の携帯電話機１０１の構成例を示している。
【００５３】
この携帯電話機１０１では、CELP方式によって、音声の送受信が行われるようになっている。
【００５４】
即ち、アンテナ１１１は、基地局１０２1または１０２2からの電波を受信し、その受信信号を、変復調部１１２に供給するとともに、変復調部１１２からの信号を、電波で、基地局１０２1または１０２2に送信する。変復調部１１２は、アンテナ１１１からの信号を復調し、その結果得られる、図１で説明したようなコードデータを、受信部１１４に供給する。また、変復調部１１２は、送信部１１３から供給される、図１で説明したようなコードデータを変調し、その結果得られる変調信号を、アンテナ１１１に供給する。送信部１１３は、図１に示した送信部と同様に構成され、そこに入力されるユーザの音声を、CELP方式によって、コードデータに符号化して、変復調部１１２に供給する。受信部１１４は、変復調部１１２からのコードデータを受信してCELP方式により復号し、さらに、高音質の音声を復号して出力する。
【００５５】
即ち、受信部１１４では、例えば、クラス分類適応処理を利用して、CELP方式で復号された合成音が、さらに、真の高音質の音声（の予測値）に復号される。
【００５６】
ここで、クラス分類適応処理は、クラス分類処理と適応処理とからなり、クラス分類処理によって、データを、その性質に基づいてクラス分けし、各クラスごとに適応処理を施すものであり、適応処理は、以下のような手法のものである。
【００５７】
即ち、適応処理では、例えば、合成音と、所定のタップ係数との線形結合により、高音質の音声の予測値が求められる。
【００５８】
具体的には、例えば、いま、高音質の音声（のサンプル値）を教師データとするとともに、その高音質の音声を、ＣＥＬＰ方式によって、Ｌコード、Ｇコード、Ｉコード、およびＡコードに符号化し、それらのコードを、図２に示した受信部で復号することにより得られる合成音を生徒データとして、教師データである高音質の音声ｙの予測値Ｅ［ｙ］を、幾つかの合成音（のサンプル値）ｘ1，ｘ2，・・・の集合と、所定のタップ係数ｗ1，ｗ2，・・・の線形結合により規定される線形１次結合モデルにより求めることを考える。この場合、予測値Ｅ［ｙ］は、次式で表すことができる。
【００５９】
Ｅ［ｙ］＝ｗ1ｘ1＋ｗ2ｘ2＋・・・
・・・（６）
【００６０】
式（６）を一般化するために、タップ係数ｗjの集合でなる行列Ｗ、生徒データｘijの集合でなる行列Ｘ、および予測値Ｅ［ｙj］の集合でなる行列Ｙ’を、
【数１】
0004857468.tif 000002
で定義すると、次のような観測方程式が成立する。
【００６１】
ＸＷ＝Ｙ’
・・・（７）
ここで、行列Ｘの成分ｘijは、ｉ件目の生徒データの集合（ｉ件目の教師データｙiの予測に用いる生徒データの集合）の中のｊ番目の生徒データを意味し、行列Ｗの成分ｗjは、生徒データの集合の中のｊ番目の生徒データとの積が演算されるタップ係数を表す。また、ｙiは、ｉ件目の教師データを表し、従って、Ｅ［ｙi］は、ｉ件目の教師データの予測値を表す。なお、式（６）の左辺におけるｙは、行列Ｙの成分ｙiのサフィックスｉを省略したものであり、また、式（６）の右辺におけるｘ1，ｘ2，・・・も、行列Ｘの成分ｘijのサフィックスｉを省略したものである。
【００６２】
そして、この観測方程式に最小自乗法を適用して、真の高音質の音声ｙに近い予測値Ｅ［ｙ］を求めることを考える。この場合、教師データとなる真の高音質の音声ｙの集合でなる行列Ｙ、および高音質の音声ｙに対する予測値Ｅ［ｙ］の残差ｅの集合でなる行列Ｅを、
【数２】
0004857468.tif 000003
で定義すると、式（７）から、次のような残差方程式が成立する。
【００６３】
ＸＷ＝Ｙ＋Ｅ
・・・（８）
【００６４】
この場合、元の高音質の音声ｙに近い予測値Ｅ［ｙ］を求めるためのタップ係数ｗjは、自乗誤差
【数３】
0004857468.tif 000004
を最小にすることで求めることができる。
【００６５】
従って、上述の自乗誤差をタップ係数ｗjで微分したものが０になる場合、即ち、次式を満たすタップ係数ｗjが、元の高音質の音声ｙに近い予測値Ｅ［ｙ］を求めるため最適値ということになる。
【００６６】
【数４】
0004857468.tif 000005
・・・（９）
【００６７】
そこで、まず、式（８）を、タップ係数ｗjで微分することにより、次式が成立する。
【００６８】
【数５】
0004857468.tif 000006
・・・（１０）
【００６９】
式（９）および（１０）より、式（１１）が得られる。
【００７０】
【数６】
0004857468.tif 000007
・・・（１１）
【００７１】
さらに、式（８）の残差方程式における生徒データｘij、タップ係数ｗj、教師データｙi、および誤差ｅiの関係を考慮すると、式（１１）から、次のような正規方程式を得ることができる。
【００７２】
【数７】
0004857468.tif 000008
・・・（１２）
【００７３】
なお、式（１２）に示した正規方程式は、行列（共分散行列）Ａおよびベクトルｖを、
【数８】
0004857468.tif 000009
で定義するとともに、ベクトルＷを、数１で示したように定義すると、式
ＡＷ＝ｖ
・・・（１３）
で表すことができる。
【００７４】
式（１２）における各正規方程式は、生徒データｘijおよび教師データｙiのセットを、ある程度の数だけ用意することで、求めるべきタップ係数ｗjの数Ｊと同じ数だけたてることができ、従って、式（１３）を、ベクトルＷについて解くことで（但し、式（１３）を解くには、式（１３）における行列Ａが正則である必要がある）、最適なタップ係数（ここでは、自乗誤差を最小にするタップ係数）ｗjを求めることができる。なお、式（１３）を解くにあたっては、例えば、掃き出し法（Gauss-Jordanの消去法）などを用いることが可能である。
【００７５】
以上のようにして、最適なタップ係数ｗjを求めておき、さらに、そのタップ係数ｗjを用い、式（６）により、真の高音質の音声ｙに近い予測値Ｅ［ｙ］を求めるのが適応処理である。
【００７６】
なお、例えば、教師データとして、高いサンプリング周波数でサンプリングした音声信号、または多ビットを割り当てた音声信号を用いるとともに、生徒データとして、その教師データとしての音声信号を間引いたり、低ビットで再量子化したした音声信号をＣＥＬＰ方式により符号化し、その符号化結果を復号して得られる合成音を用いた場合、タップ係数としては、高いサンプリング周波数でサンプリングした音声信号、または多ビットを割り当てた音声信号を生成するのに、予測誤差が、統計的に最小となる高音質の音声が得られることになる。従って、この場合、より高音質の合成音を得ることが可能となる。
【００７７】
図４の受信部１１４では、以上のようなクラス分類適応処理により、コードデータを復号して得られる合成音を、さらに、高音質の音声に復号するようになっている。
【００７８】
即ち、図５は、図４の受信部１１４の第１の構成例を示している。なお、図中、図２における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【００７９】
タップ生成部１２１と１２２には、音声合成フィルタ２９が出力する、サブフレームごとの合成音データと、チャネルデコーダ２１が出力する、サブフレームごとのＬコード、Ｇコード、Ｉコード、ＡコードのうちのＬコードとが供給されるようになっている。タップ生成部１２１と１２２は、そこに供給される合成音データから、高音質の音声の予測値を予測するのに用いる予測タップとするものと、クラス分類に用いるクラスタップとするものを、Ｌコードに基づいて、それぞれ抽出する。予測タップは、予測部１２５に供給され、クラスタップは、クラス分類部１２３に供給される。
【００８０】
クラス分類部１２３は、タップ生成部１２２から供給されるクラスタップに基づいて、クラス分類を行い、そのクラス分類結果としてのクラスコードを、係数メモリ１２４に供給する。
【００８１】
ここで、クラス分類部１２３におけるクラス分類の方法としては、例えば、KビットADRC(Adaptive Dynamic Range Coding)処理を利用した方法等がある。
【００８２】
ここで、KビットADRC処理においては、例えば、クラスタップを構成するデータの最大値MAXと最小値MINが検出され、DR=MAX-MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成する各データがKビットに再量子化される。即ち、クラスタップを構成する各データから、最小値MINが減算され、その減算値がDR/2Kで除算（量子化）される。そして、以上のようにして得られる、クラスタップを構成する各データのKビットの値を、所定の順番で並べたビット列が、ADRCコードとして出力される。
【００８３】
このようなKビットADRC処理を、クラス分類に利用する場合には、例えば、そのKビットADRC処理の結果得られるADRCコードを、クラスコードとすることが可能である。
【００８４】
なお、クラス分類は、その他、例えば、クラスタップを、それを構成する各データを要素とするベクトルと見なして、そのベクトルとしてのクラスタップをベクトル量子化すること等によって行うことも可能である。
【００８５】
係数メモリ１２４は、後述する図９の学習装置において学習処理が行われることにより得られる、クラスごとのタップ係数を記憶しており、クラス分類部１２３が出力するクラスコードに対応するアドレスに記憶されているタップ係数を、予測部１２５に供給する。
【００８６】
予測部１２５は、タップ生成部１２１が出力する予測タップと、係数メモリ１２４が出力するタップ係数とを取得し、その予測タップとタップ係数とを用いて、式（６）に示した線形予測演算を行う。これにより、予測部１２５は、注目している注目サブフレームについて、高音質の音声（の予測値）を求めて、Ｄ／Ａ変換部３０に供給する。
【００８７】
次に、図６のフローチャートを参照して、図５の受信部１１４の処理について説明する。
【００８８】
チャネルデコーダ２１は、そこに供給されるコードデータから、Ｌコード、Ｇコード、Ｉコード、Ａコードを分離し、それぞれを、適応コードブック記憶部２２、ゲイン復号器２３、励起コードブック記憶部２４、フィルタ係数復号器２５に供給する。さらに、Ｌコードは、タップ生成部１２１および１２２にも供給される。
【００８９】
そして、適応コードブック記憶部２２、ゲイン復号器２３、励起コードブック記憶部２４、演算器２６乃至２８は、図２における場合と同様の処理を行い、これにより、Ｌコード、Ｇコード、およびＩコードが、残差信号ｅに復号される。この残差信号は、音声合成フィルタ２９に供給される。
【００９０】
さらに、フィルタ係数復号器２５は、図２で説明したように、そこに供給されるＡコードを、線形予測係数に復号し、音声合成フィルタ２９に供給する。音声合成フィルタ２９は、演算器２８からの残差信号と、フィルタ係数復号器２５からの線形予測係数を用いて音声合成を行い、その結果得られる合成音を、タップ生成部１２１と１２２に供給する。
【００９１】
タップ生成部１２１は、音声合成フィルタ２９が順次出力する合成音のサブフレームを、順次、注目サブフレームとし、ステップＳ１において、その注目サブフレームの合成音データを抽出するとともに、その注目サブフレームから見て時間的に過去方向または未来方向の合成音データを、そこに供給されるＬコードに基づいて抽出することにより、予測タップを生成し、予測部１２５に供給する。さらに、ステップＳ１では、タップ生成部１２２が、例えば、やはり、注目サブフレームの合成音データを抽出するとともに、その注目サブフレームから見て時間的に過去方向または未来方向の合成音データを、そこに供給されるＬコードに基づいて抽出することにより、クラスタップを生成し、クラス分類部１２３に供給する。
【００９２】
そして、ステップＳ２に進み、クラス分類部１２３は、タップ生成部１２２から供給されるクラスタップに基づいて、クラス分類を行い、その結果得られるクラスコードを、係数メモリ１２４に供給して、ステップＳ３に進む。
【００９３】
ステップＳ３では、係数メモリ１２４は、クラス分類部１２３から供給されるクラスコードに対応するアドレスから、タップ係数を読み出し、予測部１２５に供給する。
【００９４】
そして、ステップＳ４に進み、予測部１２５は、係数メモリ１２４が出力するタップ係数を取得し、そのタップ係数と、タップ生成部１２１からの予測タップとを用いて、式（６）に示した積和演算を行い、注目サブフレームの高音質の音声データ（の予測値）を得る。
【００９５】
なお、ステップＳ１乃至Ｓ４の処理は、注目サブフレームの合成音データのサンプル値それぞれを、注目データとして行われる。即ち、サブフレームの合成音データは、前述したことから、４０サンプルで構成されるから、その４０サンプルの合成音データそれぞれについて、ステップＳ１乃至Ｓ４の処理が行われる。
【００９６】
以上のようにして得られた高音質の音声データは、予測部１２５から、Ｄ／Ａ変換部３０を介して、スピーカ３１に供給され、これにより、スピーカ３１からは、高音質の音声が出力される。
【００９７】
ステップＳ４の処理後は、ステップＳ５に進み、まだ、注目サブフレームとして処理すべきサブフレームがあるかどうかが判定され、あると判定された場合、ステップＳ１に戻り、次に注目サブフレームとすべきサブフレームを、新たに注目サブフレームとして、以下、同様の処理を繰り返す。また、ステップＳ５において、注目サブフレームとして処理すべきサブフレームがないと判定された場合、処理を終了する。
【００９８】
次に、図７および図８を参照して、図５のタップ生成部１２１での予測タップの生成方法について説明する。
【００９９】
タップ生成部１２１は、例えば、図７に示すように、注目サブフレームにおける４０サンプルの合成音データを抽出するとともに、注目サブフレームから、その注目サブフレームに配置されているＬコードが表すラグだけ過去の位置を始点とする４０サンプルの合成音データ（以下、適宜、ラグ対応の過去データという）を抽出し、注目データについての予測タップとする。
【０１００】
あるいは、タップ生成部１２１は、例えば、図８に示すように、注目サブフレームの４０サンプルの合成音データを抽出するとともに、Ｌコードが表すラグだけ過去の位置が注目サブフレーム内の合成音データ（例えば、注目データ等）の位置となるＬコードが配置された、注目サブフレームから見て未来方向のサブフレームに配置された４０サンプルの合成音データ（以下、適宜、ラグ対応の未来データという）を抽出し、注目データについての予測タップとする。
【０１０１】
また、タップ生成部１２１は、例えば、注目サブフレームの合成音データ、ラグ対応の過去データ、およびラグ対応の未来データを抽出し、注目データについての予測タップとする。
【０１０２】
ここで、注目データを、クラス分類適応処理によって予測するにあたり、注目サブフレームの合成音データの他、注目サブフレーム以外のサブフレームの合成音データを、予測タップとして用いることにより、より高音質の音声を得ることができると考えられる。そして、この場合、予測タップは、例えば、単純に、注目サブフレームの合成音データの他、注目サブフレームの直前と直後のサブフレームの合成音データによって構成することが考えられる。
【０１０３】
しかしながら、このように、予測タップを、単純に、注目サブフレームの合成音データ、および注目サブフレームの直前と直後のサブフレームの合成音データによって構成する場合には、予測タップの構成の仕方に、合成音データの波形特性がほとんど考慮されていないことから、その分、高音質化に影響が生じると考えられる。
【０１０４】
そこで、タップ生成部１２１は、上述のように、予測タップとする合成音データを、Ｌコードに基づいて抽出するようになっている。
【０１０５】
即ち、サブフレームに配置されているＬコードが表すラグ（長期予測ラグ）は、注目データ部分の合成音の波形が、過去のどの時点における合成音の波形に類似しているかを表すので、注目データの部分の波形と、ラグ対応の過去データやラグ対応の未来データの部分の波形とは、大きな相関性を有する。
【０１０６】
従って、予測タップを、注目サブフレームの合成音データと、その合成音データに対して大きな相関を有するラグ対応の過去データもしくはラグ対応の未来データのうちの一方または両方とによって構成することにより、さらに高音質の音声を得ることが可能となる。
【０１０７】
ここで、図５のタップ生成部１２２においても、例えば、タップ生成部１２１における場合と同様にして、注目サブフレームの合成音データと、ラグ対応の過去データもしくはラグ対応の未来データのうちの一方または両方とからクラスタップを生成することが可能であり、図５の実施の形態では、そのようになっている。
【０１０８】
なお、予測タップやクラスタップの構成パターンは、上述したパターンのものに限定されるものではない。即ち、予測タップやクラスタップには、注目サブフレームのすべての合成音データを含める他、１サンプルおき等の合成音データだけを含めるようにしたり、注目サブフレームに配置されているＬコードが表すラグだけ過去の位置のサブフレームから、そのサブフレームに配置されているＬコードが表すラグだけ過去の位置のサブフレームの合成音データ等を含めるようにすること等が可能である。
【０１０９】
また、上述の場合には、クラスタップと予測タップを同一構成にするようにしたが、クラスタップと予測タップは、異なる構成とすることができる。
【０１１０】
さらに、上述の場合には、Ｌコードが表すラグだけ過去の位置が注目サブフレーム内の合成音データ（例えば、注目データ等）の位置となるＬコードが配置された、注目サブフレームから見て未来方向のサブフレームに配置された４０サンプルの合成音データを、ラグ対応の未来データとして、予測タップに含めるようにしたが、ラグ対応の未来データとしては、その他、例えば、次のような合成音データを用いるようにすることも可能である。
【０１１１】
即ち、ＣＥＬＰ方式において符号化データに含まれるＬコードは、上述したように、そのＬコードが配置されているサブフレームの合成音データの波形と類似する過去の合成音データの位置を表すが、符号化データには、そのような過去の類似波形の位置を表すＬコードの他、未来の類似波形の位置を表すＬコード（以下、適宜、未来Ｌコードという）を含めるようにすることが可能である。この場合、注目データについてのラグ対応の未来データとしては、注目サブフレームに配置されている未来Ｌコードが表すラグだけ未来の位置にある合成音データを始点とする１以上のサンプルを用いることが可能である。
【０１１２】
次に、図９は、図５の係数メモリ１２４に記憶させるタップ係数の学習処理を行う学習装置の一実施の形態の構成例を示している。
【０１１３】
マイク２０１乃至コード決定部２１５は、図１のマイク１乃至コード決定部１５とそれぞれ同様に構成される。マイク１には、学習用の音声信号が入力されるようになっており、従って、マイク２０１乃至コード決定部２１５では、その学習用の音声信号に対して、図１における場合と同様の処理が施される。
【０１１４】
但し、コード決定部２１５は、Ｌコード、Ｇコード、Ｉコード、およびＡコードのうち、本実施の形態において予測タップやクラスタップを構成する合成音データを抽出するのに用いられるＬコードだけを出力するようになっている。
【０１１５】
そして、タップ生成部１３１と１３２には、自乗誤差最小判定部２０８において自乗誤差が最小になったと判定されたときの音声合成フィルタ２０６が出力する合成音データが供給される。さらに、タップ生成部１３１と１３２には、コード決定部２１５が、自乗誤差最小判定部２０８から確定信号を受信したときに出力するＬコードも供給される。また、正規方程式加算回路１３４には、Ａ／Ｄ変換部２０２が出力する音声データが、教師データとして供給される。
【０１１６】
タップ生成部１３１は、音声合成フィルタ２０６が出力する合成音データから、コード決定部２１５が出力するＬコードに基づいて、図５のタップ生成部１２１における場合と同一の予測タップを生成し、生徒データとして、正規方程式加算回路１３４に供給する。
【０１１７】
タップ生成部１３２も、音声合成フィルタ２０６が出力する合成音データから、コード決定部２１５が出力するＬコードに基づいて、図５のタップ生成部１２２における場合と同一のクラスタップを生成し、クラス分類部１３３に供給する。
【０１１８】
クラス分類部１３３は、タップ生成部１３２からのクラスタップに基づいて、図５のクラス分類部１２３における場合と同様のクラス分類を行い、その結果得られるクラスコードを、正規方程式加算回路１３４に供給する。
【０１１９】
正規方程式加算回路１３４は、Ａ／Ｄ変換部２０２からの音声データを、教師データとして受信するとともに、タップ生成部１３１からの予測タップを、生徒データとして受信し、その教師データおよび生徒データを対象として、クラス分類部１３３からのクラスコードごとに足し込みを行う。
【０１２０】
即ち、正規方程式加算回路１３４は、クラス分類部１３３から供給されるクラスコードに対応するクラスごとに、予測タップ（生徒データ）を用い、式（１３）の行列Ａにおける各コンポーネントとなっている、生徒データどうしの乗算（ｘinｘim）と、サメーション（Σ）に相当する演算を行う。
【０１２１】
さらに、正規方程式加算回路１３４は、やはり、クラス分類部１３３から供給されるクラスコードに対応するクラスごとに、生徒データおよび教師データを用い、式（１３）のベクトルｖにおける各コンポーネントとなっている、生徒データと教師データの乗算（ｘinｙi）と、サメーション（Σ）に相当する演算を行う。
【０１２２】
正規方程式加算回路１３４は、以上の足し込みを、そこに供給される学習用の音声データのサブフレームすべてを注目サブフレームとし、かつその注目サブフレームの音声データすべてを注目データとして行い、これにより、各クラスについて、式（１３）に示した正規方程式をたてる。
【０１２３】
タップ係数決定回路１３５は、正規方程式加算回路１３４においてクラスごとに生成された正規方程式を解くことにより、クラスごとに、タップ係数を求め、係数メモリ１３６の、各クラスに対応するアドレスに供給する。
【０１２４】
なお、学習用の音声信号として用意した音声信号によっては、正規方程式加算回路１３４において、タップ係数を求めるのに必要な数の正規方程式が得られないクラスが生じる場合があり得るが、タップ係数決定回路１３５は、そのようなクラスについては、例えば、デフォルトのタップ係数を出力する。
【０１２５】
係数メモリ１３６は、タップ係数決定回路１３５から供給されるクラスごとのタップ係数を、そのクラスに対応するアドレスに記憶する。
【０１２６】
次に、図１０のフローチャートを参照して、図９の学習装置で行われる、高音質の音声を復号するためのタップ係数を求める学習処理について説明する。
【０１２７】
学習装置には、学習用の音声信号が供給され、ステップＳ１１では、その学習用の音声信号から、教師データと生徒データが生成される。
【０１２８】
即ち、学習用の音声信号は、マイク２０１に入力され、マイク２０１乃至コード決定部２１５は、図１のマイク１乃至コード決定部１５における場合とそれぞれ同様の処理を行う。
【０１２９】
その結果、Ａ／Ｄ変換部２０２で得られるディジタル信号の音声データは、教師データとして、正規方程式加算回路１３４に供給される。また、自乗誤差最小判定部２０８において自乗誤差が最小になったと判定されたときに、音声合成フィルタ２０６が出力する合成音データは、生徒データとして、タップ生成部１３１と１３２に供給される。さらに、自乗誤差最小判定部２０８において自乗誤差が最小になったと判定されたときに、コード決定部２１５が出力するＬコードも、生徒データとして、タップ生成部１３１と１３２に供給される。
【０１３０】
その後、ステップＳ１２に進み、タップ生成部１３１は、音声合成フィルタ２０６から生徒データとして供給される合成音のサブフレームを注目サブフレームとし、さらに、その注目サブフレームの合成音データを、順次、注目データとして、各注目データについて、音声合成フィルタ２０６からの合成音データを用い、コード決定部２１５からのＬコードに基づいて、図５のタップ生成部１２１における場合と同様にして、予測タップを生成し、正規方程式加算回路１３４に供給する。さらに、ステップＳ１２では、タップ生成部１３２が、やはり、合成音データを用い、Ｌコードに基づいて、図５のタップ生成部１２２における場合と同様にして、クラスタップを生成し、クラス分類部１３３に供給する。
【０１３１】
ステップＳ１２の処理後は、ステップＳ１３に進み、クラス分類部１３３が、タップ生成部１３２からのクラスタップに基づいて、クラス分類を行い、その結果得られるクラスコードを、正規方程式加算回路１３４に供給する。
【０１３２】
そして、ステップＳ１４に進み、正規方程式加算回路１３４は、Ａ／Ｄ変換器２０２からの教師データとしての高音質の音声データである学習用の音声データのうちの注目データに対応するもの、およびタップ生成部１３２からの生徒データとしての予測タップを対象として、式（１３）の行列Ａとベクトルｖの、上述したような足し込みを、クラス分類部１３３からの注目データについてのクラスコードごとに行い、ステップＳ１５に進む。
【０１３３】
ステップＳ１５では、まだ、注目サブフレームとして処理すべきサブフレームがあるかどうかが判定される。ステップＳ１５において、まだ、注目サブフレームとして処理すべきサブフレームがあると判定された場合、ステップＳ１１に戻り、次のサブフレームを新たに注目サブフレームとして、以下、同様の処理が繰り返される。
【０１３４】
また、ステップＳ１５において、注目サブフレームとして処理すべきサブフレームがないと判定された場合、ステップＳ１６に進み、タップ係数決定回路１３５は、正規方程式加算回路１３４で各クラスごとに生成された正規方程式を解くことにより、各クラスごとに、タップ係数を求め、係数メモリ１３６の、各クラスに対応するアドレスに供給して記憶させ、処理を終了する。
【０１３５】
以上のようにして、係数メモリ１３６に記憶された各クラスごとのタップ係数が、図５の係数メモリ１２４に記憶されている。
【０１３６】
以上のように、図５の係数メモリ１２４に記憶されたタップ係数は、線形予測演算を行うことにより得られる高音質の音声予測値の予測誤差（自乗誤差）が、統計的に最小になるように学習を行うことにより求められたものであるから、図５の予測部１２５が出力する音声は、高音質のものとなる。
【０１３７】
なお、例えば、図５および図９の実施の形態では、予測タップやクラスタップを、音声合成フィルタ２０６が出力する合成音データから構成するようにしたが、予測タップやクラスタップは、図５および図９において点線で示すように、Ｉコードや、Ｌコード、Ｇコード、Ａコード、Ａコードから得られる線形予測係数αp、Ｇコードから得られるゲインβ，γ、その他の、Ｌコード、Ｇコード、Ｉコード、またはＡコードから得られる情報（例えば、残差信号ｅや、残差信号ｅを得るためのｌ，ｎ、さらには、ｌ／β，ｎ／γなど）のうちの１以上を含めて構成することが可能である。また、ＣＥＬＰ方式では、符号化データとしてのコードデータに、リスト補間ビットやフレームエネルギ等が含められる場合があるが、この場合、予測タップやクラスタップは、ソフト補間ビットやフレームエネルギ等を含めて構成することも可能である。
【０１３８】
次に、図１１は、図４の受信部１１４の第２の構成例を示している。なお、図中、図５における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図１１の受信部１１４は、タップ生成部１２１と１２２に替えて、タップ生成部３０１と３０２がそれぞれ設けられている他は、図５における場合と同様に構成されている。
【０１３９】
図５の実施の形態においては、タップ生成部１２１や１２２において（図９のタップ生成部１３１と１３２においても同様）、予測タップやクラスタップが、注目サブフレームにおける４０サンプルの合成音データの他、ラグ対応の過去データもしくはラグ対応の未来データのうちの一方または両方から構成されるが、ラグ対応の過去データだけ、ラグ対応の未来データだけ、またはその両方のうちのいずれを予測タップやクラスタップに含めるかを、特に制御するようにはなっていないことから、いずれを含めるかを、あらかじめ決めておき、固定にしておく必要がある。
【０１４０】
しかしながら、注目サブフレームを含むフレーム（以下、適宜、注目フレームという）等が、例えば、発話の開始時等に相当する場合には、図１２（Ａ）に示すように、注目フレームよりも過去のフレーム等は、無音の状態（雑音だけが存在するのと等しい状態）となっていると考えられる。同様に、注目フレームが、例えば、発話の終了時等に相当する場合には、図１２（Ｂ）に示すように、注目フレームよりも未来のフレーム等は、無音の状態となっていると考えられる。そして、このような無音部分については、予測タップやクラスタップに含めても、音質の向上にほとんど寄与せず、むしろ、最悪の場合には、音質の向上を妨げるおそれがある。
【０１４１】
一方、注目フレームが、発話の開始時や終了時等以外の定常な発話が行われている状態に相当する場合には、図１２（Ｃ）に示すように、注目フレームから過去方向および未来方向のいずれにも、定常的な音声に相当する合成音データが存在すると考えられる。そして、このような場合には、ラグ対応の過去データと、ラグ対応の未来データのうちのいずれか一方だけでなく、その両方を、予測タップやクラスタップに含めることによって、さらなる音質の向上を図ることができると考えられる。
【０１４２】
そこで、図１１のタップ生成部３０１と３０２は、合成音データの波形の推移が、例えば、図１２（Ａ）乃至図１２（Ｃ）に示したうちのいずれであるかを判定し、その判定結果に基づいて、予測タップとクラスタップを、それぞれ生成するようになっている。
【０１４３】
即ち、図１３は、図１１のタップ生成部３０１の構成例を示している。
【０１４４】
合成音メモリ３１１には、音声合成フィルタ２９（図１１）が出力する合成音データが順次供給されるようになっており、合成音メモリ３１１は、その合成音データを、順次記憶する。なお、合成音メモリ３１１は、注目データとされる合成音データについて予測タップとされる可能性のある合成音データのうちの、最も過去のサンプルから、最も未来のサンプルまでの間の合成音データを記憶することのできる記憶容量を少なくとも有している。また、合成音メモリ３１１は、その記憶容量分だけ、合成音データを記憶すると、次に供給される合成音データを、最も古い記憶値に上書きする形で記憶するようになっている。
【０１４５】
Ｌコードメモリ３１２には、チャネルデコーダ２１（図１１）が出力するサブフレーム単位のＬコードが順次供給されるようになっており、Ｌコードメモリ３１２は、そのＬコードを、順次記憶する。なお、Ｌコードメモリ３１２は、注目データとされる合成音データについて予測タップとされる可能性のある合成音データのうちの、最も過去のサンプルが配置されるサブフレームから、最も未来のサンプルが配置されるサブフレームまでの間のＬコードを記憶することのできる記憶容量を少なくとも有しており、また、その記憶容量分だけ、Ｌコードを記憶すると、次に供給されるＬコードを、最も古い記憶値に上書きする形で記憶するようになっている。
【０１４６】
フレームパワー計算部３１３は、合成音メモリ３１１に記憶された合成音データを用い、所定のフレーム単位で、そのフレームにおける合成音データのパワーを求め、バッファ３１４に供給する。なお、フレームパワー計算部３１３でパワーを求める単位であるフレームは、CELP方式におけるフレームやサブフレームに一致していても良いし、一致していなくても良い。従って、フレームパワー計算部３１３でパワーを求める単位であるフレームは、CELP方式におけるフレームを構成する１６０サンプルや、サブフレームを構成する４０サンプル以外の値である、例えば、１２８サンプル等で構成することが可能である。但し、本実施の形態では、説明を簡単にするため、フレームパワー計算部３１３でパワーを求める単位であるフレームは、CELP方式におけるフレームと一致するものとする。
【０１４７】
バッファ３１４は、フレームパワー計算部３１３から順次供給される合成音データのパワーを、順次記憶する。なお、バッファ３１４は、少なくとも、注目フレーム、およびその直前と直後のフレームの、合計で３フレーム分の合成音データのパワーを記憶することができるようになっており、また、その記憶容量分だけ、パワーを記憶すると、次にフレームパワー計算部３１３から供給されるパワーを、最も古い記憶値に上書きする形で記憶するようになっている。
【０１４８】
状態判定部３１５は、バッファ３１４に記憶されたパワーに基づき、注目データ付近の合成音データの波形の推移を判定する。即ち、状態判定部３１５は、注目データ付近の合成音データの波形の推移が、図１２（Ａ）に示したように、注目フレームの直前のフレームが無音の状態（以下、適宜、立ち上がり状態という）、図１２（Ｂ）に示したように、注目フレームの直後のフレームが無音の状態（以下、適宜、たち下がり状態という）、または図１２（Ｃ）に示したように、注目フレームの直前から直後にかけて定常になっている状態（以下、適宜、定常状態という）のうちのいずれの状態になっているかを判定する。そして、状態判定部３１５は、その判定結果を、データ抽出部３１６に供給する。
【０１４９】
データ抽出部３１６は、合成音メモリ３１１から、注目サブフレームの合成音データを読み出すことにより抽出する。さらに、データ抽出部３１６は、状態判定部３１５からの波形の推移の判定結果に基づき、Ｌコードメモリ３１２を参照して、合成音メモリ３１１から、ラグ対応の過去データもしくはラグ対応の未来データのうちの一方または両方を読み出すことにより抽出する。そして、データ抽出部３１６は、合成音メモリ３１１から読み出した注目サブフレームの合成音データと、ラグ対応の過去データもしくはラグ対応の未来データのうちの一方または両方とを、予測タップとして出力する。
【０１５０】
次に、図１４のフローチャートを参照して、図１３のタップ生成部３０１の処理について説明する。
【０１５１】
合成音メモリ３１１には、音声合成フィルタ２９（図１１）が出力する合成音データが順次供給され、合成音メモリ３１１は、その合成音データを、順次記憶する。また、Ｌコードメモリ３１２には、チャネルデコーダ２１（図１１）が出力するサブフレーム単位のＬコードが順次供給され、Ｌコードメモリ３１２は、そのＬコードを、順次記憶する。
【０１５２】
一方、フレームパワー計算部３１３は、合成音メモリ３１１に記憶された合成音データを、フレーム単位で順次読み出し、各フレームにおける合成音データのパワーを求めて、バッファ３１４に記憶させている。
【０１５３】
そして、状態判定部３１５は、ステップＳ２１において、バッファ３１４から、注目フレームのパワーＰn、その直前のフレームのパワーＰn-1、およびその直後のフレームのパワーＰn+1を読み出し、注目フレームのパワーＰnと、直前のフレームのパワーＰn-1との差分値Ｐn−Ｐn-1を計算するとともに、直後のフレームのパワーＰn+1と、注目フレームのパワーＰnとの差分値Ｐn+1−Ｐnとを計算して、ステップＳ２２に進む。
【０１５４】
ステップＳ２２では、状態判定部３１５は、差分値Ｐn−Ｐn-1の絶対値、および差分値Ｐn+1−Ｐnの絶対値が、いずれも、所定の閾値εよりも大であるか（以上であるか）どうかを判定する。
【０１５５】
ステップＳ２２において、差分値Ｐn−Ｐn-1の絶対値、または差分値Ｐn+1−Ｐnの絶対値のうちの少なくとも一方が、所定の閾値εより大でないと判定された場合、状態判定部３１５は、注目データ付近の合成音データの波形の推移が、図１２（Ｃ）に示したように、注目フレームの直前から直後にかけて定常になっている定常状態になっていると判定し、その旨を表す「定常状態」メッセージを、データ抽出部３１６に供給して、ステップＳ２３に進む。
【０１５６】
ステップＳ２３では、データ抽出部３１６は、状態判定部３１５から「定常状態」メッセージを受信すると、合成音メモリ３１１から、注目サブフレームの合成音データを読み出すとともに、さらに、Ｌコードメモリ３１２を参照して、タグ対応の過去データおよびタグ対応の未来データとしての合成音データを読み出す。そして、データ抽出部３１６は、これらの合成音データを予測タップとして出力し、処理を終了する。
【０１５７】
また、ステップＳ２２において、差分値Ｐn−Ｐn-1の絶対値、および差分値Ｐn+1−Ｐnの絶対値が、いずれも、所定の閾値εより大であると判定された場合、ステップＳ２４に進み、状態判定部３１５は、差分値Ｐn−Ｐn-1と、差分値Ｐn+1−Ｐnが、いずれも正であるかどうかを判定する。ステップＳ２４において、差分値Ｐn−Ｐn-1と、差分値Ｐn+1−Ｐnが、いずれも正であると判定された場合、状態判定部３１５は、注目データ付近の合成音データの波形の推移が、図１２（Ａ）に示したように、注目フレームの直前のフレームが無音の状態である立ち上がり状態になっていると判定し、その旨を表す「立ち上がり状態」メッセージを、データ抽出部３１６に供給して、ステップＳ２５に進む。
【０１５８】
ステップＳ２５では、データ抽出部３１６は、状態判定部３１５から「立ち上がり状態」メッセージを受信すると、合成音メモリ３１１から、注目サブフレームの合成音データを読み出すとともに、さらに、Ｌコードメモリ３１２を参照して、タグ対応の未来データとしての合成音データを読み出す。そして、データ抽出部３１６は、これらの合成音データを予測タップとして出力し、処理を終了する。
【０１５９】
一方、ステップＳ２４において、差分値Ｐn−Ｐn-1と、差分値Ｐn+1−Ｐnのうちの少なくとも一方が、正でないと判定された場合、ステップＳ２６に進み、状態判定部３１５は、差分値Ｐn−Ｐn-1と、差分値Ｐn+1−Ｐnが、いずれも負であるかどうかを判定する。ステップＳ２６において、差分値Ｐn−Ｐn-1と、差分値Ｐn+1−Ｐnのうちの少なくとも一方が、負でないと判定された場合、状態判定部３１５は、注目データ付近の合成音データの波形の推移が、定常状態になっていると判定し、その旨を表す「定常状態」メッセージを、データ抽出部３１６に供給して、ステップＳ２３に進む。
【０１６０】
ステップＳ２３では、データ抽出部３１６は、上述したように、合成音メモリ３１１から、注目サブフレームの合成音データと、タグ対応の過去データおよびタグ対応の未来データを読み出し、予測タップとして出力して、処理を終了する。
【０１６１】
また、ステップＳ２６において、差分値Ｐn−Ｐn-1と、差分値Ｐn+1−Ｐnが、いずれも負であると判定された場合、状態判定部３１５は、注目データ付近の合成音データの波形の推移が、図１２（Ｂ）に示したように、注目フレームの直後のフレームが無音の状態である立ち下がり状態になっていると判定し、その旨を表す「立ち下がり状態」メッセージを、データ抽出部３１６に供給して、ステップＳ２７に進む。
【０１６２】
ステップＳ２７では、データ抽出部３１６は、状態判定部３１５から「立ち下がり状態」メッセージを受信すると、合成音メモリ３１１から、注目サブフレームの合成音データを読み出すとともに、さらに、Ｌコードメモリ３１２を参照して、タグ対応の過去データとしての合成音データを読み出す。そして、データ抽出部３１６は、これらの合成音データを予測タップとして出力し、処理を終了する。
【０１６３】
なお、図１１のタップ生成部３０２も、図１３に示したタップ生成部３０１と同様に構成することができ、この場合、図１４で説明したようにして、クラスタップを構成させることができる。但し、図１３において、合成音メモリ３１１、Ｌコードメモリ３１２、フレーパワー計算部３１３、バッファ３１４、および状態判定部３１５は、タップ生成部３０１と３０２とで兼用することが可能である。
【０１６４】
また、上述の場合には、注目フレームと、その直前または直後のフレームそれぞれとにおけるパワーを比較して、注目データ付近の合成音データの波形の推移を判定するようにしたが、注目データ付近の合成音データの波形の推移を判定は、その他、例えば、注目フレームと、より過去または未来に亘るフレームそれぞれとにおけるパワーを比較して行うことも可能である。
【０１６５】
さらに、上述の場合には、注目データ付近の合成音データの波形の推移を、「定常状態」、「立ち上がり状態」、または「たち下がり状態」の３つの状態のうちのいずれかに判定するようにしたが、４以上の状態のいずれかに判定することも可能である。即ち、例えば、図１４では、ステップＳ２２において、差分値Ｐn−Ｐn-1の絶対値、および差分値Ｐn+1−Ｐnの絶対値を、いずれも、１つの閾値εと比較し、その大小関係を判定しているが、差分値Ｐn−Ｐn-1の絶対値や、差分値Ｐn+1−Ｐnの絶対値を、複数の閾値と比較するようにすることで、注目データ付近の合成音データの波形の推移を、４以上の状態のいずれかに判定することが可能である。
【０１６６】
そして、このように、注目データ付近の合成音データの波形の推移を、４以上の状態のいずれかに判定する場合においては、予測タップは、注目サブフレームの合成音データと、タグ対応の過去データまたはタグ対応の未来データの他、例えば、そのタグ対応の過去データまたはタグ対応の未来データを注目データとしたときに、タグ対応の過去データまたはタグ対応の未来データとなる合成音データを含めて構成すること等が可能である。
【０１６７】
ところで、タップ生成部３０１において、以上のように予測タップを生成する場合には、その予測タップを構成する合成音データのサンプル数は変化する。このことは、タップ生成部３０２において生成されるクラスタップについても同様である。
【０１６８】
予測タップについては、それを構成するデータの数（タップ数）が変化しても、その予測タップと同一の数のタップ係数を、後述する図１６の学習装置において学習し、係数メモリ１２４に記憶させておけば良いから問題はない。
【０１６９】
一方、クラスタップについては、それを構成するタップ数が変化すると、各タップ数のクラスタップごとに得られる全クラス数が変化することから、処理が複雑になるおそれがある。そこで、クラスタップのタップ数が変化しても、そのクラスタップにより得られるクラス数が変化しないようなクラス分類を行うのが望ましい。
【０１７０】
このように、クラスタップのタップ数が変化しても、そのクラスタップにより得られるクラス数が変化しないようなクラス分類を行う方法としては、クラス分類において、例えば、クラスタップの構成を考慮する方法がある。
【０１７１】
即ち、本実施の形態では、クラスタップが、注目サブフレームの合成音データの他に、タグ対応の過去データもしくはタグ対応の未来データの一方または両方を含めて構成されることによって、クラスタップのタップ数が増減する。そこで、例えば、いま、クラスタップが、注目サブフレームの合成音データと、タグ対応の過去データもしくはタグ対応の未来データの一方とから構成される場合に、そのタップ数がＳ個であるとし、クラスタップが、注目サブフレームの合成音データと、タグ対応の過去データおよびタグ対応の未来データの両方とから構成される場合に、そのタップ数がＬ（＞Ｓ）個であるとする。そして、タップ数がＳ個の場合は、ｎビットのクラスコードが得られ、タップ数がＬ個の場合は、ｎ＋ｍビットのクラスコードが得られるとする。
【０１７２】
この場合、クラスコードとして、ｎ＋ｍ＋２ビットを用いるとともに、そのｎ＋ｍ＋２ビットのうちの、例えば、上位ビットの２ビットを、クラスタップが、タグ対応の過去データを含む場合、タグ対応の未来データを含む場合、その両方を含む場合の３つの場合とで、それぞれ、例えば、”００”，”０１”，”１０”に設定することにより、タップ数がＳ個とＬ個のいずれであっても、全クラス数が２n+m+2クラスのクラス分類が可能となる。
【０１７３】
即ち、クラスタップが、タグ対応の過去データと、タグ対応の未来データの両方を含み、そのタップ数がＬ個の場合には、ｎ＋ｍビットのクラスコードが得られるクラス分類を行い、そのｎ＋ｍビットのクラスコードに、その上位２ビットとして、クラスタップが、タグ対応の過去データと、タグ対応の未来データの両方を含むことを表す”１０”を付加したｎ＋ｍ＋２ビットを最終的なクラスコードとすれば良い。
【０１７４】
また、クラスタップが、タグ対応の過去データを含み、そのタップ数がＳ個の場合には、ｎビットのクラスコードが得られるクラス分類を行い、そのｎビットのクラスコードに、その上位ビットとして、ｍビットの”０”を付加してｎ＋ｍビットとし、さらに、そのｎ＋ｍビットに、上位ビットとして、クラスタップが、タグ対応の過去データを含むことを表す”００”を付加したｎ＋ｍ＋２ビットを最終的なクラスコードとすれば良い。
【０１７５】
さらに、クラスタップが、タグ対応の未来データを含み、そのタップ数がＳ個の場合には、ｎビットのクラスコードが得られるクラス分類を行い、そのｎビットのクラスコードに、その上位ビットとして、ｍビットの”０”を付加してｎ＋ｍビットとし、さらに、そのｎ＋ｍビットに、上位ビットとして、クラスタップが、タグ対応の未来データを含むことを表す”０１”を付加したｎ＋ｍ＋２ビットを最終的なクラスコードとすれば良い。
【０１７６】
次に、図１３のタップ生成部３０１では、フレームパワー計算部３１３において、合成音データから、そのフレーム単位のパワーを計算するようにしたが、CELP方式によって、音声を符号化した符号化データ（コードデータ）には、上述したように、フレームエネルギが含められる場合があり、この場合には、そのフレームエネルギを、そのフレームにおける合成音のパワーとして採用することが可能である。
【０１７７】
図１５は、フレームエネルギを、そのフレームにおける合成音のパワーとして採用する場合の、図１１のタップ生成部３０１の構成例を示している。なお、図中、図１３における場合と対応する部分については、同一の符号を付してある。即ち、図１５のタップ生成部３０１は、フレームパワー計算部３１３が設けられていない他は、図１３における場合と同様に構成されている。
【０１７８】
但し、バッファ３１４には、受信部１１４（図１１）に供給される符号化データ（コードデータ）に含まれる、フレームごとのフレームエネルギが供給されているようになっており、バッファ３１４は、このフレームエネルギを記憶するようになっている。そして、状態判定部３１５は、このフレームエネルギを、上述した、合成音データから求められるフレーム単位のパワーと同様に用いて、注目データ付近の合成音データの波形の推移を判定する。
【０１７９】
ここで、符号化データに含まれる、フレームごとのフレームエネルギは、チャネルエンコーダ２１において、符号化データから分離され、タップ生成部３０１に供給される。
【０１８０】
なお、タップ生成部３０２も、図１５に示したように構成することが可能である。
【０１８１】
次に、図１６は、受信部１１４が図１１に示したように構成される場合に、その係数メモリ１２４に記憶されるタップ係数を学習する学習装置の一実施の形態の構成例を示している。なお、図中、図９における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図１６の学習装置は、タップ生成部１３１と１３２に替えて、タップ生成部３２１と３２２がそれぞれ設けられている他は、図９における場合と同様に構成される。
【０１８２】
タップ生成部３２１と３２２は、図１１のタップ生成部３０１と３０２における場合とそれぞれ同様にして、予測タップとクラスタップを構成する。
【０１８３】
従って、この場合、より高音質の音声を復号することのできるタップ係数を得ることができる。
【０１８４】
なお、学習装置において、予測タップやクラスタップの生成にあたり、注目データ付近の合成音データの波形の推移の判定を、図１５で説明したように、フレームごとのフレームエネルギを用いて行う場合には、そのフレームエネルギは、ＬＰＣ分析部２０４におけるＬＰＣ分析の過程で得られる自己相関係数を用いて計算することができる。
【０１８５】
そこで、図１７は、自己相関係数からフレームエネルギを求める場合の図１６のタップ生成部３２１の構成例を示している。なお、図中、図１３のタップ生成部３０１における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図１７のタップ生成部３２１は、フレームパワー計算部３１３に替えてフレームエネルギ計算部３３１が設けられている他は、図１３におけるタップ生成部３０１と同様に構成されている。
【０１８６】
フレームエネルギ計算部３３１には、図１６のＬＰＣ分析部２０４がＬＰＣ分析を行う過程で求められる音声の自己相関係数が供給されるようになっており、フレームエネルギ計算部３３１は、その自己相関係数から、符号化データ（コードデータ）に含められるフレームエネルギを計算し、バッファ３１４に供給する
。
【０１８７】
従って、図１７の実施の形態では、状態判定部３１５は、このフレームエネルギを、上述した、合成音データから求められるフレーム単位のパワーと同様に用いて、注目データ付近の合成音データの波形の推移を判定する。
【０１８８】
なお、図１６のクラスタップを生成するタップ生成部３２２も、図１７に示したように構成することが可能である。
【０１８９】
次に、図１８は、図４の受信部１１４の第３の構成例を示している。なお、図中、図５または図１１における場合と対応する部分については、同一の符号を付してあり、その説明は、適宜省略する。
【０１９０】
図５や図１１の受信部１１４は、音声合成フィルタ２９が出力する合成音データに対して、クラス分類適応処理を施すことによって、高音質の音声を復号するようになっていたが、図１８の受信部１１４は、音声合成フィルタ２９に入力される残差信号（復号残差信号）と、線形予測係数（復号線形予測係数）に対して、クラス分類適応処理を施すことによって、高音質の音声を復号するようになっている。
【０１９１】
即ち、適応コードブック記憶部２２、ゲイン復号器２３、励起コードブック記憶部２４、および演算器２６乃至２８において、Ｌコード、Ｇコード、およびＩコードから復号される残差信号である復号残差信号や、フィルタ係数復号器２５において、Ａコードから復号される線形予測係数である復号線形予測係数は、前述したように、誤差を含むものとなっており、そのまま音声合成フィルタ２９に入力したのでは、音声合成フィルタ２９から出力される合成音データの音質が劣化する。
【０１９２】
そこで、図１８の受信部１１４では、学習により求めたタップ係数を用いた予測演算を行うことにより、真の残差信号と線形予測係数の予測値を求め、これらを音声合成フィルタ２９に与えることで、高音質の合成音を生成するようになっている。
【０１９３】
即ち、図１８の受信部１１４では、例えば、クラス分類適応処理を利用して、復号残差信号が、真の残差信号（の予測値）に復号されるとともに、復号線形予測係数が、真の線形予測係数（の予測値）に復号され、その残差信号と線形予測係数を、音声合成フィルタ２９に与えることで、高音質の合成音データが求められる。
【０１９４】
そのために、演算器２８が出力する復号残差信号は、タップ生成部３４１と３２に供給される。また、タップ生成部３４１と３４２には、チャネルデコーダ２１が出力するＬコードも供給されるようになっている。
【０１９５】
そして、タップ生成部３４１は、図５のタップ生成部１２１や図１１のタップ生成部３０１と同様にして、そこに供給される復号残差信号から、予測タップとするサンプルを、Ｌコードに基づいて抽出し、予測部３４５に供給する。
【０１９６】
タップ生成部３４２も、図５のタップ生成部１２２や図１１のタップ生成部３０２と同様にして、そこに供給される復号残差信号から、クラスタップとするサンプルを、Ｌコードに基づいて抽出し、予測部３４５に供給する。
【０１９７】
クラス分類部３４３は、タップ生成部３４２から供給されるクラスタップに基づいて、クラス分類を行い、そのクラス分類結果としてのクラスコードを、係数メモリ３４４に供給する。
【０１９８】
係数メモリ３４４は、後述する図２１の学習装置において学習処理が行われることにより得られる、クラスごとの残差信号についてのタップ係数ｗ(e)を記憶しており、クラス分類部３４３が出力するクラスコードに対応するアドレスに記憶されているタップ係数を、予測部３４５に供給する。
【０１９９】
予測部３４５は、タップ生成部３４１が出力する予測タップと、係数メモリ３４４が出力する残差信号についてのタップ係数とを取得し、その予測タップとタップ係数とを用いて、式（６）に示した線形予測演算を行う。これにより、予測部３４５は、注目サブフレームの残差信号（の予測値）ｅｍを求めて、音声合成フィルタ２９に、入力信号として供給する。
【０２００】
タップ生成部３５１と３５２には、フィルタ係数復号器２５が出力する、サブフレームごとの復号線形予測係数αp’が供給されるようになっており、タップ生成部３５１と３５２は、その復号線形予測係数から、予想タップとクラスタップとするものをそれぞれ抽出する。ここで、タップ生成部３５１と３５２は、例えば、注目サブフレームの線形予測係数すべてを、それぞれ、予測タップとクラスタップとする。予測タップは、タップ生成部３５１から予測部３５５に供給され、クラスタップは、タップ生成部３５２からクラス分類部３５３に供給される。
【０２０１】
クラス分類部３５３は、タップ生成部３５２から供給されるクラスタップに基づいて、クラス分類を行い、そのクラス分類結果としてのクラスコードを、係数メモリ３５４に供給する。
【０２０２】
係数メモリ３５４は、後述する図２１の学習装置において学習処理が行われることにより得られる、クラスごとの線形予測係数についてのタップ係数ｗ(a)を記憶しており、クラス分類部３５３が出力するクラスコードに対応するアドレスに記憶されているタップ係数を、予測部３５５に供給する。
【０２０３】
予測部３５５は、タップ生成部３５１が出力する予測タップと、係数メモリ３５４が出力する線形予測係数についてのタップ係数とを取得し、その予測タップとタップ係数とを用いて、式（６）に示した線形予測演算を行う。これにより、予測部３５５は、注目サブフレームの線形予測係数（の予測値）ｍαpを求めて、音声合成フィルタ２９に供給する。
【０２０４】
次に、図１９のフローチャートを参照して、図１８の受信部１１４の処理について説明する。
【０２０５】
チャネルデコーダ２１は、そこに供給されるコードデータから、Ｌコード、Ｇコード、Ｉコード、Ａコードを分離し、それぞれを、適応コードブック記憶部２２、ゲイン復号器２３、励起コードブック記憶部２４、フィルタ係数復号器２５に供給する。さらに、Ｌコードは、タップ生成部３４１と３４２にも供給される。
【０２０６】
そして、適応コードブック記憶部２２、ゲイン復号器２３、励起コードブック記憶部２４、演算器２６乃至２８では、図１の適応コードブック記憶部９、ゲイン復号器１０、励起コードブック記憶部１１、演算器１２乃至１４における場合と同様の処理が行われ、これにより、Ｌコード、Ｇコード、およびＩコードが、残差信号ｅに復号される。この復号残差信号は、演算器２８からタップ生成部３４１と３４２に供給される。
【０２０７】
さらに、フィルタ係数復号器２５は、図２で説明したように、そこに供給されるＡコードを、復号線形予測係数に復号し、タップ生成部３５１と３５２に供給する。
【０２０８】
そして、ステップＳ３１において、予測タップとクラスタップが生成される。
【０２０９】
即ち、タップ生成部３４１は、そこに供給される復号残差信号のサブフレームを、順次、注目サブフレームとし、さらに、その注目サブフレームの復号残差信号のサンプル値を、順次、注目データとして、注目サブフレームにおける復号残差信号を抽出するとともに、チャネルデコーダ２１が出力する注目サブフレームに配置されたＬコード等に基づいて、注目サブフレーム以外の復号残差信号を抽出し、即ち、注目サブフレームに配置されているＬコードが表すラグだけ過去の位置を始点とする４０サンプルの復号残差信号（これも、以下、適宜、ラグ対応の過去データという）、またはＬコードが表すラグだけ過去の位置が注目データの位置となるＬコードが配置された、注目サブフレームから見て未来方向のサブフレームに配置された４０サンプルの復号残差信号（これも、以下、適宜、ラグ対応の未来データという）を抽出し、予測タップを生成する。タップ生成部３４２も、タップ生成部３４１と同様にして、クラスタップを生成する。
【０２１０】
さらに、ステップＳ３１では、タップ生成部３５１と３５２が、フィルタ係数復号器３５が出力する注目サブフレームの復号線形予測係数を、それぞれ、予測タップとクラスタップとして抽出する。
【０２１１】
そして、タップ生成部３４１で得られた予測タップは予測部３４５に、タップ生成部３４２で得られたクラスタップはクラス分類部３４３に、タップ生成部３５１で得られた予測タップは予測部３５５に、タップ生成部３５２で得られたクラスタップはクラス分類部３５３に、それぞれ供給される。
【０２１２】
そして、ステップＳ３２に進み、クラス分類部３４３が、タップ生成部３４２から供給されるクラスタップに基づいて、クラス分類を行い、その結果得られるクラスコードを、係数メモリ３４４に供給するとともに、クラス分類部３５３が、タップ生成部３５２から供給されるクラスタップに基づいて、クラス分類を行い、その結果得られるクラスコードを、係数メモリ３５４に供給して、ステップＳ３３に進む。
【０２１３】
ステップＳ３３では、係数メモリ３４４が、クラス分類部３４３から供給されるクラスコードに対応するアドレスから、残差信号についてのタップ係数を読み出し、予測部３４５に供給するとともに、係数メモリ３５４が、クラス分類部３４３から供給されるクラスコードに対応するアドレスから、線形予測係数についてのタップ係数を読み出し、予測部３５５に供給する。
【０２１４】
そして、ステップＳ３４に進み、予測部３４５は、係数メモリ３４４が出力する残差信号についてのタップ係数を取得し、そのタップ係数と、タップ生成部３４１からの予測タップとを用いて、式（６）に示した積和演算を行い、注目サブフレームの真の残差信号（の予測値）を得る。さらに、ステップＳ３４では、予測部３５５は、係数メモリ３４４が出力する線形予測係数についてのタップ係数を取得し、そのタップ係数と、タップ生成部３５１からの予測タップとを用いて、式（６）に示した積和演算を行い、注目サブフレームの真の線形予測係数（の予測値）を得る。
【０２１５】
以上のようにして得られた残差信号および線形予測係数は、音声合成フィルタ２９に供給され、音声合成フィルタ２９では、その残差信号および線形予測係数を用いて、式（４）の演算が行われることにより、注目サブフレームの注目データに対応する合成音データが生成される。この合成音データは、音声合成フィルタ２９から、Ｄ／Ａ変換部３０を介して、スピーカ３１に供給され、これにより、スピーカ３１からは、その合成音データに対応する合成音が出力される。
【０２１６】
予測部３４５と３５５において、残差信号と線形予測係数がそれぞれ得られた後は、ステップＳ３５に進み、まだ、注目サブフレームとして処理すべきサブフレームのＬコード、Ｇコード、Ｉコード、およびＡコードがあるかどうかが判定される。ステップＳ３５において、まだ、注目サブフレームとして処理すべきフレームのＬコード、Ｇコード、Ｉコード、およびＡコードがあると判定された場合、ステップＳ３１に戻り、次に注目サブフレームとすべきサブフレームを、新たに注目サブフレームとして、以下、同様の処理を繰り返す。また、ステップＳ３５において、注目サブフレームとして処理すべきフレームのＬコード、Ｇコード、Ｉコード、およびＡコードがないと判定された場合、処理を終了する。
【０２１７】
次に、図１８のタップ生成部３４１においては（クラスタップを生成するタップ生成部３４２についても同様）、予測タップが、注目サブフレームの復号残差信号と、ラグ対応の過去データもしくはラグ対応の未来データのうちの一方または両方から構成されるが、その構成は、固定とすることもできるが、残差信号の波形の推移に基づいて可変にすることもできる。
【０２１８】
図２０は、残差信号の波形の推移に基づいて、予測タップの構成を可変にする場合のタップ生成部３４１の構成例を示している。なお、図中、図１３における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図２０のタップ生成部３４１は、合成音メモリ３１１とフレームパワー計算部３１３に替えて、残差信号メモリ３６１とフレームパワー計算部３６３が設けられている他は、図１３のタップ生成部３０１と同様に構成されている。
【０２１９】
残差信号メモリ３６１には、演算器２８（図１８）が出力する復号残差信号が順次供給されるようになっており、残差信号メモリ３６１は、その復号残差信号を、順次記憶する。なお、残差信号メモリ３６１は、注目データについて予測タップとされる可能性のある復号残差信号のうちの、最も過去のサンプルから、最も未来のサンプルまでの間の復号残差信号を記憶することのできる記憶容量を少なくとも有している。また、残差信号メモリ３６１は、その記憶容量分だけ、復号残差信号を記憶すると、次に供給される復号残差信号のサンプル値を、最も古い記憶値に上書きする形で記憶するようになっている。
【０２２０】
フレームパワー計算部３６３は、残差信号メモリ３６１に記憶された残差信号を用い、所定のフレーム単位で、そのフレームにおける残差信号のパワーを求め、バッファ３１４に供給する。なお、フレームパワー計算部３６３でパワーを求める単位であるフレームは、図１３のフレームパワー計算部３１３における場合と同様に、CELP方式におけるフレームやサブフレームに一致していても良いし、一致していなくても良い。
【０２２１】
従って、図２０のタップ生成部３４１では、合成音データのパワーでなく、復号残差信号のパワーが求められ、そのパワーに基づいて、残差信号の波形の推移が、例えば、図１２で説明したように、立ち上がり状態、たち下がり状態、定常状態のうちのいずれであるかが判定される。そして、その判定結果に基づいて、注目サブフレームの復号残差信号の他、ラグ対応の過去データもしくはラグ対応の未来データのうちの一方または両方が抽出され、予測タップが生成される。
【０２２２】
なお、図１８のタップ生成部３４２も、図２０に示したタップ生成部３４１と同様に構成することができる。
【０２２３】
また、図１８の実施の形態では、復号残差信号についてだけ、Ｌコードに基づいて、予測タップやクラスタップを生成するようにしたが、復号線形予測係数についても、Ｌコードに基づいて、注目サブフレーム以外の復号線形予測係数を抽出し、予測タップやクラスタップを生成するようにすることが可能である。この場合、図１８において点線で示すように、チャネルデコーダ２１が出力するＬコードを、タップ生成部３５１や３５２に供給するようにすれば良い。
【０２２４】
さらに、上述の場合においては、予測タップやクラスタップを、合成音データから生成するときには、合成音データのパワーを求め、そのパワーに基づき、合成音データの波形の推移を判定し、また、復号残差信号から生成するときには、復号残差信号のパワーを求め、そのパワーに基づき、合成音データの波形の推移を判定するようにしたが、合成音データの波形の推移は、残差信号のパワーに基づいて判定することが可能であり、同様に、残差信号の波形の推移は、合成音データのパワーに基づいて判定することが可能である。
【０２２５】
次に、図２１は、図１８の係数メモリ３４４と３５４に記憶させるタップ係数の学習処理を行う学習装置の一実施の形態の構成例を示している。なお、図中、図１６における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０２２６】
予測フィルタ３７０には、Ａ／Ｄ変換部２０２が出力する、ディジタル信号とされた学習用の音声信号と、ＬＰＣ分析部２０４が出力する線形予測係数が供給される。また、タップ生成部３７１と３７２には、演算器２１４が出力する復号残差信号（音声合成フィルタ２０６に供給されるのと同一の残差信号）、およびコード決定部２１５が出力するＬコードが供給され、タップ生成部３８１と３８２には、ベクトル量子化部２０５が出力する復号線形予測係数（ベクトル量子化に用いられるコードブックのコードベクトル（セントロイドベクトル）を構成する線形予測係数）が供給される。さらに、正規方程式加算回路３８４には、ＬＰＣ分析部２０４が出力する線形予測係数が供給される。
【０２２７】
予測フィルタ３７０は、Ａ／Ｄ変換部２０２から供給される学習用の音声信号のサブフレームを、順次、注目サブフレームとして、その注目サブフレームの音声信号と、ＬＰＣ分析部２０４から供給される線形予測係数を用いて、例えば、式（１）にしたがった演算を行うことにより、注目フレームの残差信号を求める。この残差信号は、教師データとして、正規方程式加算回路３７４に供給される。
【０２２８】
タップ生成部３７１は、演算器２１４から供給される復号残差信号を用い、コード決定部２１５が出力するＬコードに基づいて、図１８のタップ生成部３４１における場合と同一の予測タップを生成し、正規方程式加算回路３７４に供給する。タップ生成部３７２も、演算器２１４から供給される復号残差信号を用い、コード決定部２１５が出力するＬコードに基づいて、図１８のタップ生成部３４２における場合と同一のクラスタップを生成し、クラス分類部３７３に供給する。
【０２２９】
クラス分類部３７３は、タップ生成部３７１から供給されるクラスタップに基づき、図１８のクラス分類部３４３における場合と同様にのクラス分類を行い、その結果得られるクラスコードを、正規方程式加算回路３７４に供給する。
【０２３０】
正規方程式加算回路３７４は、予測フィルタ３７０からの注目サブフレームの残差信号を、教師データとして受信するとともに、タップ生成部３７１からの予測タップを、生徒データとして受信し、その教師データおよび生徒データを対象として、クラス分類部３７３からのクラスコードごとに、図９や図１６の正規方程式加算回路１３４における場合と同様の足し込みを行うことにより、各クラスについて、残差信号に関する式（１３）に示した正規方程式をたてる。
【０２３１】
タップ係数決定回路３７５は、正規方程式加算回路３７４においてクラスごとに生成された正規方程式それぞれを解くことにより、クラスごとに、残差信号についてのタップ係数をそれぞれ求め、係数メモリ３７６の、各クラスに対応するアドレスにそれぞれ供給する。
【０２３２】
係数メモリ３７６は、タップ係数決定回路３７５から供給されるクラスごとの残差信号についてのタップ係数を記憶する。
【０２３３】
タップ生成部３８１は、ベクトル量子化部２０５から供給される、コードベクトルの要素となっている線形予測係数、即ち、復号線形予測係数を用いて、図１８のタップ生成部３５１における場合と同一の予測タップを生成し、正規方程式加算回路３８４に供給する。タップ生成部３８２も、ベクトル量子化部２０５から供給される復号線形予測係数を用い、図１８のタップ生成部３５２における場合と同一のクラスタップを生成し、クラス分類部３８３に供給する。
【０２３４】
なお、図１８の実施の形態において、復号線形予測係数につき、Ｌコードに基づいて、注目サブフレーム以外の復号線形予測係数を抽出して、予測タップやクラスタップを生成する場合には、図２１のタップ生成部３８１や３８２においても、同様にして、予測タップやクラスタップを生成する必要があり、この場合、タップ生成部３８１や３８２には、図２１において点線で示すように、コード決定部２１５が出力するＬコードが供給される。
【０２３５】
クラス分類部３８３は、図１８のクラス分類部３５３における場合と同様に、タップ生成部３８２からのクラスタップに基づいて、クラス分類を行い、その結果得られるクラスコードを、正規方程式加算回路３８４に供給する。
【０２３６】
正規方程式加算回路３８４は、ＬＰＣ分析部２０４からの注目サブフレームの線形予測係数を、教師データとして受信するとともに、タップ生成部３８１からの予測タップを、生徒データとして受信し、その教師データおよび生徒データを対象として、クラス分類部３８３からのクラスコードごとに、図９や図１６の正規方程式加算回路１３４における場合と同様の足し込みを行うことにより、各クラスについて、線形予測係数に関する式（１３）に示した正規方程式をたてる。
【０２３７】
タップ係数決定回路３８５は、正規方程式加算回路３８４においてクラスごとに生成された正規方程式を解くことにより、クラスごとに、線形予測係数についてのタップ係数をそれぞれ求め、係数メモリ３８６の、各クラスに対応するアドレスに供給する。
【０２３８】
係数メモリ３８６は、タップ係数決定回路３８５から供給されるクラスごとの線形予測係数についてのタップ係数を記憶する。
【０２３９】
なお、学習用の音声信号として用意する音声信号によっては、正規方程式加算回路３７４や３８４において、タップ係数を求めるのに必要な数の正規方程式が得られないクラスが生じる場合があり得るが、タップ係数決定回路３７５と３８５は、そのようなクラスについては、例えば、デフォルトのタップ係数を出力する。
【０２４０】
次に、図２２のフローチャートを参照して、図２１の学習装置が行う、残差信号と線形予測係数それぞれについてのタップ係数を求める学習処理について説明する。
【０２４１】
学習装置には、学習用の音声信号が供給され、ステップＳ４１において、その学習用の音声信号から、教師データと生徒データが生成される。
【０２４２】
即ち、学習用の音声信号は、マイク２０１に入力され、マイク２０１乃至コード決定部２１５は、図１のマイク１乃至コード決定部１５における場合とそれぞれ同様の処理を行う。
【０２４３】
その結果、ＬＰＣ分析部２０４で得られる線形予測係数は、教師データとして、正規方程式加算回路３８４に供給される。また、この線形予測係数は、予測フィルタ３７０にも供給される。さらに、演算器２１４で得られる復号残差信号は、生徒データとして、タップ生成部３７１および３７２に供給される。
【０２４４】
また、Ａ／Ｄ変換部２０２が出力するディジタルの音声信号は、予測フィルタ３７０に供給され、ベクトル量子化部２０５が出力する復号線形予測係数は、生徒データとして、タップ生成部３８１および３８２に供給される。さらに、コード決定部２１５は、自乗誤差最小判定部２０８から確定信号を受信したときの、自乗誤差最小判定部２０８からのＬコードを、タップ生成部３７１および３７２に供給する。
【０２４５】
そして、予測フィルタ３７０は、Ａ／Ｄ変換部２０２から供給される学習用の音声信号のサブフレームを、順次、注目サブフレームとして、その注目サブフレームの音声信号と、ＬＰＣ分析部２０４から供給される線形予測係数（注目サブフレームの音声信号から求められた線形予測係数）を用いて、式（１）にしたがった演算を行うことにより、注目サブフレームの残差信号を求める。この予測フィルタ３７０で得られる残差信号は、教師データとして、正規方程式加算回路３７４に供給される。
【０２４６】
以上のようにして、教師データと生徒データが得られた後は、ステップＳ４２に進み、タップ生成部３７１と３７２が、演算器２１４から供給される復号残差信号を用い、コード決定部２１５からのＬコードに基づいて、残差信号についての予測タップとクラスタップをそれぞれ生成する。即ち、タップ生成部３７１と３７２は、演算器２１４からの注目サブフレームの復号残差信号と、ラグ対応の過去データまたはラグ対応の未来データとから、残差信号についての予測タップとクラスタップをそれぞれ生成する。
【０２４７】
さらに、ステップＳ４２では、タップ生成部３８１と３８２が、ベクトル量子化部２０５から供給される注目サブフレームの線形予測係数から、線形予測係数についての予測タップとクラスタップを生成する。
【０２４８】
そして、残差信号についての予測タップは、タップ生成部３７１から正規方程式加算回路３７４に供給され、残差信号についてのクラスタップは、タップ生成部３７２からクラス分類部３７３に供給される。また、線形予測係数についての予測タップは、タップ生成部３８１から正規方程式加算回路３８４に供給され、線形予測係数についてのクラスタップは、タップ生成部３８２からクラス分類回路３８３に供給される。
【０２４９】
その後、ステップＳ４３において、クラス分類部３７３と３８３が、そこに供給されるクラスタップに基づいて、クラス分類を行い、その結果得られるクラスコードを、正規方程式加算回路３８４と３７４に、それぞれ供給する。
【０２５０】
そして、ステップＳ４４に進み、正規方程式加算回路３７４が、予測フィルタ３７０からの教師データとしての注目サブフレームの残差信号、およびタップ生成部３７１からの生徒データとしての予測タップを対象として、式（１３）の行列Ａとベクトルｖの、上述したような足し込みを、クラス分類部３７３からのクラスコードごとに行う。さらに、ステップＳ４４では、正規方程式加算回路３８４が、ＬＰＣ分析部２０４からの教師データとしての注目サブフレームの線形予測係数、およびタップ生成部３８１からの生徒データとしての予測タップを対象として、式（１３）の行列Ａとベクトルｖの、上述したような足し込みを、クラス分類部３８３からのクラスコードごとに行い、ステップＳ４５に進む。
【０２５１】
ステップＳ４５では、まだ、注目サブフレームとして処理すべきフレームの学習用の音声信号があるかどうかが判定される。ステップＳ４５において、まだ、注目サブフレームとして処理すべきサブフレームの学習用の音声信号があると判定された場合、ステップＳ４１に戻り、次のサブフレームを新たに注目サブフレームとして、以下、同様の処理が繰り返される。
【０２５２】
また、ステップＳ４５において、注目サブフレームとして処理すべきサブフレームの学習用の音声信号がないと判定された場合、ステップＳ４６に進み、タップ係数決定回路３７５は、各クラスごとに生成された正規方程式を解くことにより、各クラスごとに、残差信号についてのタップ係数を求め、係数メモリ３７６の、各クラスに対応するアドレスに供給して記憶させる。さらに、タップ係数決定回路３８５も、各クラスごとに生成された正規方程式を解くことにより、各クラスごとに、線形予測係数についてのタップ係数を求め、係数メモリ３８６の、各クラスに対応するアドレスに供給して記憶させ、処理を終了する。
【０２５３】
以上のようにして、係数メモリ３７６に記憶された各クラスごとの残差信号についてのタップ係数が、図１８の係数メモリ３４４に記憶され、係数メモリ３８６に記憶された各クラスごとの線形予測係数についてのタップ係数が、図１８の係数メモリ３５４に記憶されている。
【０２５４】
従って、図１８の係数メモリ３４４と３５４に記憶されたタップ係数は、それぞれ、線形予測演算を行うことにより得られる真の残差信号と線形予測係数の予測値の予測誤差（自乗誤差）が、統計的に最小になるように学習を行うことにより求められたものであるから、図１８の予測部３４５と３５５が出力する残差信号と線形予測係数は、それぞれ真の残差信号と線形予測係数にほぼ一致することとなり、その結果、これらの残差信号と線形予測係数によって生成される合成音は、歪みの少ない、高音質のものとなる。
【０２５５】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０２５６】
そこで、図２３は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０２５７】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク４０５やＲＯＭ４０３に予め記録しておくことができる。
【０２５８】
あるいはまた、プログラムは、フロッピーディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体４１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体４１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０２５９】
なお、プログラムは、上述したようなリムーバブル記録媒体４１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部４０８で受信し、内蔵するハードディスク４０５にインストールすることができる。
【０２６０】
コンピュータは、CPU(Central Processing Unit)４０２を内蔵している。CPU４０２には、バス４０１を介して、入出力インタフェース４１０が接続されており、CPU４０２は、入出力インタフェース４１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部４０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)４０３に格納されているプログラムを実行する。あるいは、また、CPU４０２は、ハードディスク４０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部４０８で受信されてハードディスク４０５にインストールされたプログラム、またはドライブ４０９に装着されたリムーバブル記録媒体４１１から読み出されてハードディスク４０５にインストールされたプログラムを、RAM(Random Access Memory)４０４にロードして実行する。これにより、CPU４０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU４０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース４１０を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部４０６から出力、あるいは、通信部４０８から送信、さらには、ハードディスク４０５に記録等させる。
【０２６１】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０２６２】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０２６３】
なお、本実施の形態においては、学習用の音声信号として、どのようなものを用いるかについては、特に言及しなかったが、学習用の音声信号としては、人が発話した音声の他、例えば、曲（音楽）等を採用することが可能である。そして、上述したような学習処理によれば、学習用の音声信号として、人の発話を用いた場合には、そのような人の発話の音声の音質を向上させるようなタップ係数が得られ、曲を用いた場合には、曲の音質を向上させるようなタップ係数が得られることになる。
【０２６４】
また、係数メモリ１２４等には、タップ係数をあらかじめ記憶させておくようにしたが、係数メモリ１２４等に記憶させるタップ係数は、携帯電話機１０１において、図３の基地局１０２（あるいは交換局１０３）や、図示しないＷＷＷ(World Wide Web)サーバ等からダウンロードするようにすることができる。即ち、上述したように、タップ係数は、人の発話用や曲用等のように、ある種類の音声信号に適したものを、学習によって得ることができる。さらに、学習に用いる教師データおよび生徒データによっては、合成音の音質に差が生じるタップ係数を得ることができる。従って、そのような各種のタップ係数を、基地局１０２等に記憶させておき、ユーザには、自身の所望するタップ係数をダウンロードさせるようにすることができる。そして、このようなタップ係数のダウンロードサービスは、無料で行うこともできるし、有料で行うこともできる。さらに、タップ係数のダウンロードサービスを有料で行う場合には、タップ係数のダウンロードに対する対価としての代金は、例えば、携帯電話機１０１の通話料等とともに請求するようにすることが可能である。
【０２６５】
また、係数メモリ１２４等は、携帯電話機１０１に対して着脱可能なメモリカード等で構成することができる。この場合、上述したような各種のタップ係数それぞれを記憶させた、異なるメモリカードを提供するようにすれば、ユーザは、場合に応じて、所望のタップ係数が記憶されたメモリカードを、携帯電話機１０１に装着して使用することが可能となる。
【０２６６】
さらに、本発明は、例えば、ＶＳＥＬＰ(Vector Sum Excited Liner Prediction)，ＰＳＩ−ＣＥＬＰ(Pitch Synchronous Innovation CELP)，ＣＳ−ＡＣＥＬＰ(Conjugate Structure Algebraic CELP)等のＣＥＬＰ方式による符号化の結果得られるコードから合成音を生成する場合に、広く適用可能である。
【０２６７】
また、本発明は、ＣＥＬＰ方式による符号化の結果得られるコードから合成音を生成する場合に限らず、あるコードから、残差信号と線形予測係数を得て、合成音を生成する場合に、広く適用可能である。
【０２６８】
さらに、本発明は、音声に限らず、例えば、画像等にも適用可能である。即ち、本発明は、Ｌコードのような、周期を表す周期情報を用いて処理されるデータに、広く適用可能である。
【０２６９】
また、本実施の形態では、タップ係数を用いた線形１次予測演算によって、高音質の音声や、残差信号、線形予測係数の予測値を求めるようにしたが、この予測値は、その他、２次以上の高次の予測演算によって求めることも可能である。
【０２７０】
さらに、本実施の形態では、係数メモリ１２４等に、タップ係数自体を記憶させておくようにしたが、係数メモリ１２４等には、その他、例えば、無段階の調整が可能な（アナログ的な変化が可能な）タップ係数の元（種）となる情報としての係数種を記憶させておき、ユーザの操作に応じて、その係数種から、ユーザの所望する音質の音声が得られるようなタップ係数を生成するようにすることが可能である。
【０２７１】
【発明の効果】
本発明の第１の側面によれば、例えば、品質の良い音声の復号等が可能となる。
【０２７２】
本発明の第２の側面によれば、例えば、品質の良い音声を得るためのタップ係数を得ることが可能となる。
【図面の簡単な説明】
【図１】従来の携帯電話機の送信部の一例の構成を示すブロック図である。
【図２】従来の携帯電話機の受信部の一例の構成を示すブロック図である。
【図３】本発明を適用した伝送システムの一実施の形態の構成例を示す図である。
【図４】携帯電話機１０１1と１０１2の構成例を示すブロック図である。
【図５】受信部１１４の第１の構成例を示すブロック図である。
【図６】図５の受信部１１４の処理を説明するフローチャートである。
【図７】予測タップとクラスタップの生成方法を説明する図である。
【図８】予測タップとクラスタップの生成方法を説明する図である。
【図９】本発明を適用した学習装置の第１実施の形態の構成例を示すブロック図である。
【図１０】図９の学習装置の処理を説明するフローチャートである。
【図１１】受信部１１４の第２の構成例を示すブロック図である。
【図１２】合成音データの波形の推移を示す図である。
【図１３】タップ生成部３０１と３０２の構成例を示すブロック図である。
【図１４】タップ生成部３０１と３０２の処理を説明するフローチャートである。
【図１５】タップ生成部３０１と３０２の他の構成例を示すブロック図である。
【図１６】本発明を適用した学習装置の第２実施の形態の構成例を示すブロック図である。
【図１７】タップ生成部３２１と３２２の構成例を示すブロック図である。
【図１８】受信部１１４の第３の構成例を示すブロック図である。
【図１９】図１８の受信部１１４の処理を説明するフローチャートである。
【図２０】タップ生成部３４１と３４２の構成例を示すブロック図である。
【図２１】本発明を適用した学習装置の第３実施の形態の構成例を示すブロック図である。
【図２２】図２１の学習装置の処理を説明するフローチャートである。
【図２３】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
２１  チャネルデコーダ，  ２２  適応コードブック記憶部，  ２３  ゲイン復号器，  ２４  励起コードブック記憶部，  ２５  フィルタ係数復号器，  ２６乃至２８  演算器，  ２９  音声合成フィルタ，  ３０  Ｄ／Ａ変換部，  ３１  スピーカ，  １０１1，１０１2  携帯電話機，  １０２1，１０２2  基地局，  １０３  交換局，  １１１  アンテナ，  １１２  変復調部，  １１３  送信部，  １１４  受信部，  １２１，１２２  タップ生成部，  １２３  クラス分類部，  １２４  係数メモリ，  １２５  予測部，  １３１，１３２  タップ生成部，  １３３  クラス分類部，  １３４  正規方程式加算回路，  １３５  タップ係数決定回路，  １３６  係数メモリ，  ２０１  マイク，  ２０２  Ａ／Ｄ変換部，  ２０３  演算器，  ２０４  ＬＰＣ分析部，  ２０５  ベクトル量子化部，  ２０６  音声合成フィルタ，  ２０７  自乗誤差演算部，  ２０８自乗誤差最小判定部，  ２０９  適応コードブック記憶部，  ２１０  ゲイン復号器，  ２１１  励起コードブック記憶部，  ２１２乃至２１４  演算器，  ３０１，３０２  タップ生成部，  ３１１  合成音メモリ，  ３１２  Ｌコードメモリ，  ３１３  フレームパワー計算部，  ３１４  バッファ，  ３１５  状態判定部，  ３１６  データ抽出部，  ３２１，３２２  タップ生成部，  ３３１  フレームエネルギ計算部，  ３４１，３４２  タップ生成部，  ３４３  クラス分類部，  ３４４  係数メモリ，  ３４５  予測部，  ３５１，３５２  タップ生成部，  ３５３  クラス分類部，  ３５４  係数メモリ，  ３５５  予測部，  ３６１  残差信号メモリ，  ３６３  フレームパワー計算部，  ３７０  予測フィルタ，  ３７１，３７２  タップ生成部，  ３７３  クラス分類部，  ３７４  正規方程式加算回路，  ３７５  タップ係数決定回路，  ３７６  係数メモリ，  ３８１，３８２  タップ生成部，  ３８３  クラス分類部，  ３８４正規方程式加算回路，  ３８５  タップ係数決定回路，  ３８６  係数メモリ，  ４０１  バス，  ４０２  CPU，  ４０３  ROM，  ４０４  RAM，  ４０５ハードディスク，  ４０６  出力部，  ４０７  入力部，  ４０８  通信部，４０９  ドライブ，  ４１０  入出力インタフェース，  ４１１  リムーバブル記録媒体
【図１】
0004857468.tif 000010
【図２】
0004857468.tif 000011
【図３】
0004857468.tif 000012
【図４】
0004857468.tif 000013
【図５】
0004857468.tif 000014
【図６】
0004857468.tif 000015
【図７】
0004857468.tif 000016
【図８】
0004857468.tif 000017
【図９】
0004857468.tif 000018
【図１０】
0004857468.tif 000019
【図１１】
0004857468.tif 000020
【図１２】
0004857468.tif 000021
【図１３】
0004857468.tif 000022
【図１４】
0004857468.tif 000023
【図１５】
0004857468.tif 000024
【図１６】
0004857468.tif 000025
【図１７】
0004857468.tif 000026
【図１８】
0004857468.tif 000027
【図１９】
0004857468.tif 000028
【図２０】
0004857468.tif 000029
【図２１】
0004857468.tif 000030
【図２２】
0004857468.tif 000031
【図２３】
0004857468.tif 000032