(57)【特許請求の範囲】
【請求項１】
複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段と、
圧縮する対象である第１の音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタと、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで前記第１の音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段と、
前記信号生成手段により生成されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段と、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第１の音声信号と当該取得したサブバンド情報が示す第２の音声信号との差分を表す差分信号を生成する差分生成手段と、
前記差分生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記差分生成手段により生成された前記差分信号とを関連付けて出力する出力手段と、
を備えることを特徴とする音声信号圧縮装置。
【請求項２】
前記フィルタは、前記バンドパスフィルタ、又は、前記第１の音声信号のケプストラムが極大値となる周波数の最小値の逆数と前記第１の音声信号のピリオドグラムが極大値となる周波数の最小値の逆数との平均値を中心周波数とするバンドパスフィルタ、のいずれかを用いてフィルタリングする
ことを特徴とする請求項１に記載の音声信号圧縮装置。
【請求項３】
複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段と、
圧縮する対象である第１の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第１の音声信号をピッチ波形信号へと加工する音声信号加工手段と、
前記音声信号加工手段により加工されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段と、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第１の音声信号と当該取得したサブバンド情報が示す第２の音声信号との差分を表す差分信号を生成する生成手段と、
前記生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記生成手段により生成された前記差分信号とを関連付けて出力する出力手段と、
を備えることを特徴とする音声信号圧縮装置。
【請求項４】
記憶手段、信号抽出手段、信号生成手段、サブバンド抽出手段、差分生成手段、出力手段を有する音声信号圧縮装置にて実行される音声信号圧縮方法であって、
前記記憶手段は、複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶し、
前記信号抽出手段が、圧縮する対象である第１の音声信号をフィルタリングしてピッチ信号を抽出する信号抽出ステップであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数としてフィルタリングする信号抽出ステップと、
前記信号抽出ステップによりフィルタリングされて得られたピッチ信号がゼロクロスするタイミングで当該ピッチ信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成ステップと、
前記サブバンド抽出手段が、前記信号生成ステップにより生成されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出ステップと、
前記差分生成手段が、前記サブバンド抽出ステップにより抽出された前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を前記記憶手段から取得して、前記第１の音声信号と当該取得したサブバンド情報が示す前記第２の音声信号との差分を表す差分信号を生成する差分生成ステップと、
前記差分生成ステップにより取得されたサブバンド情報に対応する前記識別コードと、前記差分生成ステップにより生成された前記差分信号とを関連付けて出力する出力ステップと、
を備えることを特徴とする音声信号圧縮方法。
【請求項５】
記憶手段、音声信号加工手段、サブバンド抽出手段、生成手段、出力手段を有する音声信号圧縮装置にて実行される音声信号圧縮方法であって、
前記記憶手段は、複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶し、
前記音声信号加工手段が、圧縮する対象である第１の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第１の音声信号をピッチ波形信号へと加工する音声信号加工ステップと、
前記サブバンド抽出手段が、前記音声信号加工ステップにより加工されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出ステップと、
前記生成手段が、前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出ステップにより抽出された前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第１の音声信号と当該取得したサブバンド情報が示す第２の音声信号との差分を表す差分信号を生成する生成ステップと、
前記出力手段が、前記生成ステップにより取得されたサブバンド情報に対応する前記識別コードと、前記生成ステップにより生成された前記差分信号とを関連付けて出力する出力ステップと、
を備えることを特徴とする音声信号圧縮方法。
【請求項６】
コンピュータを、
複数の所定周波数成分ごとに音声信号の時間変化を表すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段、
圧縮する対象である第１の音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタ、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで当該ピッチ信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプリング数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段、
前記信号生成手段により生成されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第１の音声信号と当該取得したサブバンド情報が示す第２の音声信号との差分を表す差分信号を生成する差分生成手段、
前記差分生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記差分生成手段により生成された前記差分信号とを関連付けて出力する出力手段、
として機能させるためのプログラム。
【請求項７】
コンピュータを、
複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段、
圧縮する対象である第１の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第１の音声信号をピッチ波形信号へと加工する音声信号加工手段、
前記音声信号加工手段により加工されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第１の音声信号と当該取得したサブバンド情報が示す第２の音声信号との差分を表す差分信号を生成する生成手段、
前記生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記生成手段により生成された前記差分信号とを関連付けて出力する出力手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
この発明は、音声信号圧縮装置、音声信号圧縮方法、及び、プログラムに関する。
【０００２】
【従来の技術】
声の信号をパラメータ化して扱う場合には、声の信号を、波形情報よりも周波数情報として扱う場合が多くある。例えば音声合成では、一般に、声のピッチやフォルマントを利用した手法が多く採用されている。また、近年、携帯電話等、デジタル音声通話を行う端末が通信する音声信号を圧縮するために一般的に利用されている手法であるＬＰＣ（Linear Prediction Coding：線形予測符号化）も、声の信号を周波数情報として扱う手法のひとつである（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平０５−０４８４６２号公報
【０００４】
ピッチやフォルマントを、人間の声の発生過程に即して説明すると、人間の声の発生過程はまず、声帯部を振動させて、パルスの列からなるような音を発生させることから始まる。このパルスは、言葉の音素毎に特有なある一定の周期で発生し、この周期が「ピッチ」と呼ばれている。このパルスのスペクトルは、ピッチの整数倍の間隔で並ぶ比較的強いスペクトル成分を含みつつ、幅広い周波数帯に分布する。
【０００５】
次に、このパルスが声道を通過すると、このパルスは、声道や舌の形状によって作られる空間でフィルタリングされる。このフィルタリングの結果、このパルスのうちある周波数成分のみが強調されるような音ができる。（すなわち、フォルマントが生成される。）以上が、声の発生過程である。
【０００６】
声道や舌を動かすと、声帯が発生したパルスのうち強調される周波数成分は変化する。このため、この変化と言葉とを対応付ければ、音声による会話が成立する。ＬＰＣの手法はこの点を利用した手法であり、声道のフィルタ特性をコード化することにより音声の圧縮を実現するものである。音声を再生するには、声道のフィルタ特性を表すパラメータからなる要素をテーブルに登録し、コードをキーとしてテーブルの検索を行う。
【０００７】
【発明が解決しようとする課題】
しかし、ここでまず問題になるのが、実際の人間の声道の変化の複雑さである。ＬＰＣの手法で圧縮される音声の音質は、テーブルに登録される要素の数が大きいほど向上する。しかし、実際の人間の声道の変化は非常に複雑なため、話者の特定や会話の内容の認識が十分にできるような音質を保ちながら圧縮するためには、声道のフィルタ特性の要素が非常に多く必要である。また、そのような音質を保って圧縮された音声信号をもちいてデジタル音声通話を行う場合、従来は、伝送すべきデータの量も膨大であった。
【０００８】
このため、従来は、小型の記憶装置しか搭載できないデジタル音声通話用の端末に声道のフィルタ特性のテーブルを記憶させるためには、例えば、声道をある程度単純化したモデルを想定して声道のフィルタ特性をシミュレートした結果に基づいてテーブルを作成することで満足せざるを得なかった。従って、このような端末を用いた場合、従来は、話者の特定や会話の内容の認識が十分にできるような音質でのデジタル音声通話が困難であった。
【０００９】
また、ピッチのゆらぎも問題になっていた。ピッチは、人間の感情や意識に影響されやすく、ある程度は一定とみなせる周期であるものの、現実には微妙にゆらぎを生じる。従って、同一話者が同じ言葉（音素）を複数ピッチ分発声した場合、ピッチの間隔は通常、一定しない。このため、人間の声を単純にフーリエ変換しても、声道のフィルタ特性を正確に求めることができない。
【００１０】
従って、人間の声を単純にフーリエ変換した結果に基づいて求めた声道のフィルタ特性を用いてＬＰＣの手法による音声の圧縮を行った場合、従来は、テーブルに登録される要素の数を増やしても、圧縮された音声の音質が十分に改善されなかった。
【００１１】
この発明は、上記実状に鑑みてなされたものであり、音声を表すデータを効率的に圧縮し、あるいは、ゆらぎを含む音声を表すデータを高音質で圧縮する音声信号圧縮装置、音声信号圧縮方法、及び、プログラムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成すべく、この発明の第１の観点にかかる音声信号圧縮装置は、
複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段と、
圧縮する対象である第１の音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタと、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで前記第１の音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段と、
前記信号生成手段により生成されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段と、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第１の音声信号と当該取得したサブバンド情報が示す第２の音声信号との差分を表す差分信号を生成する差分生成手段と、
前記差分生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記差分生成手段により生成された前記差分信号とを関連付けて出力する出力手段と、
を備えることを特徴とする。
【００１４】
前記フィルタは、前記バンドパスフィルタ、又は、前記第１の音声信号のケプストラムが極大値となる周波数の最小値の逆数と前記第１の音声信号のピリオドグラムが極大値となる周波数の最小値の逆数との平均値を中心周波数とするバンドパスフィルタ、のいずれかを用いてフィルタリングするものであってもよい。
【００１８】
また、この発明の第２の観点にかかる音声信号圧縮装置は、
複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段と、
圧縮する対象である第１の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第１の音声信号をピッチ波形信号へと加工する音声信号加工手段と、
前記音声信号加工手段により加工されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段と、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第１の音声信号と当該取得したサブバンド情報が示す第２の音声信号との差分を表す差分信号を生成する生成手段と、
前記生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記生成手段により生成された前記差分信号とを関連付けて出力する出力手段と、
を備えることを特徴とする。
【００２１】
また、この発明の第３の観点にかかる音声信号圧縮方法は、
記憶手段、信号抽出手段、信号生成手段、サブバンド抽出手段、差分生成手段、出力手段を有する音声信号圧縮装置にて実行される音声信号圧縮方法であって、
前記記憶手段は、複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶し、
前記信号抽出手段が、圧縮する対象である第１の音声信号をフィルタリングしてピッチ信号を抽出する信号抽出ステップであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数としてフィルタリングする信号抽出ステップと、
前記信号抽出ステップによりフィルタリングされて得られたピッチ信号がゼロクロスするタイミングで当該ピッチ信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成ステップと、
前記サブバンド抽出手段が、前記信号生成ステップにより生成されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出ステップと、
前記差分生成手段が、前記サブバンド抽出ステップにより抽出された前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を前記記憶手段から取得して、前記第１の音声信号と当該取得したサブバンド情報が示す前記第２の音声信号との差分を表す差分信号を生成する差分生成ステップと、
前記差分生成ステップにより取得されたサブバンド情報に対応する前記識別コードと、前記差分生成ステップにより生成された前記差分信号とを関連付けて出力する出力ステップと、
を備えることを特徴とする。
【００２２】
また、この発明の第４の観点にかかる音声信号圧縮方法は、
記憶手段、音声信号加工手段、サブバンド抽出手段、生成手段、出力手段を有する音声信号圧縮装置にて実行される音声信号圧縮方法であって、
前記記憶手段は、複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶し、
前記音声信号加工手段が、圧縮する対象である第１の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第１の音声信号をピッチ波形信号へと加工する音声信号加工ステップと、
前記サブバンド抽出手段が、前記音声信号加工ステップにより加工されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出ステップと、
前記生成手段が、前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出ステップにより抽出された前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第１の音声信号と当該取得したサブバンド情報が示す第２の音声信号との差分を表す差分信号を生成する生成ステップと、
前記出力手段が、前記生成ステップにより取得されたサブバンド情報に対応する前記識別コードと、前記生成ステップにより生成された前記差分信号とを関連付けて出力する出力ステップと、
を備えることを特徴とする。
【００２５】
また、この発明の第５の観点にかかるプログラムは、
コンピュータを、
複数の所定周波数成分ごとに音声信号の時間変化を表すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段、
圧縮する対象である第１の音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタ、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで当該ピッチ信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプリング数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段、
前記信号生成手段により生成されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第１の音声信号と当該取得したサブバンド情報が示す第２の音声信号との差分を表す差分信号を生成する差分生成手段、
前記差分生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記差分生成手段により生成された前記差分信号とを関連付けて出力する出力手段、
として機能させるためのものであることを特徴とする。
【００２６】
また、この発明の第６の観点にかかるプログラムは、
コンピュータを、
複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段、
圧縮する対象である第１の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第１の音声信号との相関が最も高くなるように当該第１の音声信号の位相を変化させ、更に、当該位相が変化された第１の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第１の音声信号をピッチ波形信号へと加工する音声信号加工手段、
前記音声信号加工手段により加工されたピッチ波形信号から、前記第１の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第１の音声信号と当該取得したサブバンド情報が示す第２の音声信号との差分を表す差分信号を生成する生成手段、
前記生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記生成手段により生成された前記差分信号とを関連付けて出力する出力手段、
として機能させるためのものであることを特徴とする。
【００２９】
【発明の実施の形態】
以下に、図面を参照して、この発明の実施の形態を説明する。
（第１の実施の形態：音声信号圧縮器）
図１は、この発明の第１の実施の形態に係る音声信号圧縮器の構成を示す図である。図示するように、この音声信号圧縮器は、記録媒体（例えば、フレキシブルディスクやＭＯ（Magneto Optical disk）など）に記録されたデータを読み取る記録媒体ドライバ（フレキシブルディスクドライブや、ＭＯドライブなど）ＳＭＤと、記録媒体ドライバＳＭＤに接続されたコンピュータＣ１とより構成されている。
【００３０】
図示するように、コンピュータＣ１は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）等からなるプロセッサや、ＲＡＭ（Random Access Memory）等からなる揮発性メモリや、ハードディスク装置等からなる不揮発性メモリや、キーボード等からなる入力部や、ＣＲＴ（陰極線管）等からなる表示部や、ＲＳ２３２Ｃインターフェース回路等からなっていて外部とのシリアル通信を制御するシリアル通信制御部などからなっている。
【００３１】
コンピュータＣ１は音声信号圧縮プログラムを予め記憶しており、この音声信号圧縮プログラムを実行することにより後述する処理を行う。
【００３２】
また、コンピュータＣ１は、音声信号圧縮プログラムの処理に従ってコンピュータＣ１が抽出する後述の識別用パラメータと同種の、話者に固有の比較用パラメータを、話者毎に予め記憶する。比較用パラメータは、たとえば識別用パラメータが包絡線データであれば、包絡線データからなっていればよい。
【００３３】
また、コンピュータＣ１は、各々の話者の比較用パラメータに対応付けた形で、この話者の音声を構成する音素を表す音素辞書を記憶する。音素辞書は、具体的には、音素の基本周波数成分及び高調波成分の強度の時間変化を表すサブバンドデータを、音素別に格納している。そして、各々のサブバンドデータには、このサブバンドデータに固有の識別コードが割り当てられている。
【００３４】
また、コンピュータＣ１は、音声信号圧縮プログラムの処理に従ってコンピュータＣ１が生成する後述の差分データを量子化する精度（あるいは、量子化前の差分データのデータ量に対する量子化後の差分データのデータ量の比を表す圧縮率）を指定するパラメータを予め記憶する。
【００３５】
なお、比較用パラメータや、音素辞書や、差分データを量子化する精度（あるいは圧縮率）を指定するパラメータは、ユーザ等がコンピュータＣ１の入力部を操作して入力し、コンピュータＣ１に記憶させるようにしてもよい。
【００３６】
（第１の実施の形態：音声信号圧縮器の動作）
次に、この音声信号圧縮器の動作を、図２及び図３を参照して説明する。図２及び図３は、図１の音声信号圧縮器の動作の流れを示す図である。
【００３７】
ユーザが、音声の波形を表す音声データを記録した記録媒体を記録媒体ドライバＳＭＤにセットして、コンピュータＣ１に、音声信号圧縮プログラムの起動を指示すると、コンピュータＣ１は、音声信号圧縮プログラムの処理を開始する。
【００３８】
すると、まず、コンピュータＣ１は、記録媒体ドライバＳＭＤを介し、記録媒体より音声データを読み出す（図２、ステップＳＡ１）。なお、音声データは、ＰＣＭ（Pulse Code Modulation）変調されたディジタル信号の形式を有しており、音声のピッチより十分短い一定の周期でサンプリングされた音声を表しているものとする。
【００３９】
次に、コンピュータＣ１は、記録媒体より読み出された音声データをフィルタリングすることにより、フィルタリングされた音声データ（ピッチ信号）を生成する（ステップＳＡ２）。ピッチ信号は、音声データのサンプルリング間隔と実質的に同一のサンプリング間隔を有するディジタル形式のデータからなるものとする。
【００４０】
なお、コンピュータＣ１は、ピッチ信号を生成するために行うフィルタリングの特性を、後述するピッチ長と、ピッチ信号の瞬時値が０となる時刻（ゼロクロスする時刻）とに基づくフィードバック処理を行うことにより決定する。
【００４１】
すなわち、コンピュータＣ１は、読み出した音声データに、例えば、ケプストラム解析や、自己相関関数に基づく解析を施すことにより、この音声データが表す音声の基本周波数を特定し、この基本周波数の逆数の絶対値（すなわち、ピッチ長）を求める（ステップＳＡ３）。（あるいは、コンピュータＣ１は、ケプストラム解析及び自己相関関数に基づく解析の両方を行うことにより基本周波数を２個特定し、これら２個の基本周波数の逆数の絶対値の平均をピッチ長として求めるようにしてもよい。）
【００４２】
なお、ケプストラム解析としては、具体的には、まず、読み出した音声データの強度を、元の値の対数（対数の底は任意）に実質的に等しい値へと変換し、値が変換された音声データのスペクトル（すなわち、ケプストラム）を、高速フーリエ変換の手法（あるいは、離散的変数をフーリエ変換した結果を表すデータを生成する他の任意の手法）により求める。そして、このケプストラムの極大値を与える周波数のうちの最小値を基本周波数として特定する。
【００４３】
一方、自己相関関数に基づく解析としては、具体的には、読み出した音声データを用いてまず、数式１の右辺により表される自己相関関数ｒ（ｌ）を特定する。そして、自己相関関数ｒ（ｌ）をフーリエ変換した結果得られる関数（ピリオドグラム）の極大値を与える周波数のうち、所定の下限値を超える最小の値を基本周波数として特定する。
【００４４】
【数１】
0003994332.tif 000002
【００４５】
一方、コンピュータＣ１は、ピッチ信号がゼロクロスする時刻が来るタイミングを特定する（ステップＳＡ４）。そして、コンピュータＣ１は、ピッチ長とピッチ信号のゼロクロスの周期とが互いに所定量以上異なっているか否かを判別し（ステップＳＡ５）、異なっていないと判別した場合は、ゼロクロスの周期の逆数を中心周波数とするようなバンドパスフィルタの特性で上述のフィルタリングを行うこととする（ステップＳＡ６）。一方、所定量以上異なっていると判別した場合は、ピッチ長の逆数を中心周波数とするようなバンドパスフィルタの特性で上述のフィルタリングを行うこととする（ステップＳＡ７）。なお、いずれの場合も、フィルタリングの通過帯域幅は、通過帯域の上限が音声データの表す音声の基本周波数の２倍以内に常に収まるような通過帯域幅であることが望ましい。
【００４６】
次に、コンピュータＣ１は、生成したピッチ信号の単位周期（例えば１周期）の境界が来るタイミング（具体的には、ピッチ信号がゼロクロスするタイミング）で、記録媒体から読み出した音声データを区切る（ステップＳＡ８）。そして、区切られてできる区間のそれぞれについて、この区間内の音声データの位相を種々変化させたものとこの区間内のピッチ信号との相関を求め、最も相関が高くなるときの音声データの位相を、この区間内の音声データの位相として特定する（ステップＳＡ９）。そして、音声データのそれぞれの区間を、互いが実質的に同じ位相になるように移相する（ステップＳＡ１０）。
【００４７】
具体的には、コンピュータＣ１は、それぞれの区間毎に、例えば、数式２の右辺により表される値ｃｏｒを、位相を表すφ（ただし、φは０以上の整数）の値を種々変化させた場合それぞれについて求める。そして、値ｃｏｒが最大になるようなφの値Ψを、この区間内の音声データの位相を表す値として特定する。この結果、この区間につき、ピッチ信号との相関が最も高くなる位相の値が定まる。そして、コンピュータＣ１は、この区間内の音声データを、（−Ψ）だけ移相する。
【００４８】
【数２】
0003994332.tif 000003
【００４９】
音声データを上述の通り移相することにより得られるデータ（ピッチ波形データ）が表す波形の一例を図４（ｃ）に示す。図４（ａ）に示す位相前の音声データの波形のうち、「＃１」及び「＃２」として示す２個の区間は、図４（ｂ）に示すように、ピッチのゆらぎの影響により互いに異なる位相を有している。これに対し、ピッチ波形データが表す波形の区間＃１及び＃２は、図４（ｃ）に示すように、ピッチのゆらぎの影響が除去されて位相が揃っている。また、図４（ａ）に示すように、各区間の始点の値は０に近い値となっている。
【００５０】
なお、区間の時間的な長さは、１ピッチ分程度であることが望ましい。区間が長いほど、区間内のサンプル数が増えて、ピッチ波形データのデータ量が増大し、あるいは、サンプリング間隔が増大してピッチ波形データが表す音声が不正確になる、という問題が生じる。
【００５１】
次に、コンピュータＣ１は、ピッチ波形データの各区間をサンプリングし直す（リサンプリングする）。また、各区間の元のサンプル数を示すデータであるピッチ情報も生成する（ステップＳＡ１１）。なお、コンピュータＣ１は、ピッチ波形データの各区間のサンプル数が互いにほぼ等しくなるようにして、同一区間内では等間隔になるようリサンプリングするものとする。
記録媒体より読み出した音声データのサンプリング間隔が既知であるものとすれば、ピッチ情報は、この音声データの単位ピッチ分の区間の元の時間長を表す情報として機能する。
【００５２】
次に、コンピュータＣ１は、ステップＳＡ１１でリサンプリングされたピッチ波形データにＤＣＴ（Discrete Cosine Transform）等の直交変換を施すことにより、サブバンドデータを生成する（図３、ステップＳＡ１２）。
【００５３】
サブバンドデータは、ピッチ波形信号が表す音声の基本周波数成分の強度の時間変化を表すデータと、この音声のｙ個（ｙは自然数）の基本周波数成分の強度の時間変化を表すｙ個のデータとを含むデータである。従って、サブバンドデータは、音声の基本周波数成分（又は高調波成分）の強度の時間変化がないとき、この基本周波数成分（又は高調波成分）の強度を、直流信号の形で表す。
【００５４】
次に、コンピュータＣ１は、生成したサブバンドデータが表す基本周波数成分や高調波成分の瞬時値に比例定数を乗じることにより、このサブバンドデータが表す基本周波数成分や高調波成分の振幅を変更する（ステップＳＡ１３）。
また、ステップＳＡ１３でコンピュータＣ１は、どのサブバンドデータのどの周波数成分（基本周波数成分又は高調波成分）にどのような値の比例定数を乗じたかを示すデータである比例定数データも生成する。
【００５５】
比例定数は、たとえば、同一のサブバンドデータが表す各周波数成分の強度の最大値が、互いに共通した一定値になるように決定する。すなわち、例えばこの一定値をＪとした場合、コンピュータＣ１は、一定値Ｊを特定の周波数成分の強度の最大値Ｋで除した値（Ｊ／Ｋ）を求める。この値（Ｊ／Ｋ）が、この周波数成分の瞬時値に乗じる比例定数である。
【００５６】
サブバンドデータの振幅を変更すると、コンピュータＣ１は、このサブバンドデータが表す各周波数成分の瞬時値に非線形圧縮を施して得られる値（具体的には、たとえば、瞬時値を上に凸な関数に代入して得られる値）を量子化したものに相当するサブバンドデータ（非線形量子化後のサブバンドデータ）を生成する（ステップＳＡ１４）。
【００５７】
なお、非線形圧縮の手法は、具体的には、例えば、量子化後の各周波数成分の瞬時値が、元の瞬時値の対数を量子化した値に実質的に等しくなるようなものであればよい。（ただし、対数の底はすべての周波数成分について共通であるものとする。例えば常用対数など。）
【００５８】
また、コンピュータＣ１は、記録媒体より読み出した音声データに線形予測解析を施すことにより、この音声データが表す音声の話者に固有の識別用パラメータを抽出する（ステップＳＡ１５）。識別用パラメータは、たとえば、この音声のスペクトルの包絡線を表す包絡線データや、あるいはこの音声のフォルマントを表すデータなどであればよい。ただし、識別用パラメータは、上述した比較用パラメータと同種のパラメータであるものとする。
【００５９】
そして、コンピュータＣ１は、非線形量子化後のサブバンドデータの生成と識別用パラメータの抽出を行うと、自己の不揮発性メモリに記憶されている比較用パラメータのうちから、抽出した識別用パラメータにもっともよく近似できる比較用パラメータを特定して、この比較用パラメータに対応付けられた音素辞書を選択する（ステップＳＡ１６）。
【００６０】
識別用パラメータ及び比較用パラメータがいずれも包絡線データからなる場合、コンピュータＣ１は、たとえば、識別用パラメータが表す包絡線との間の相関係数が最も大きい包絡線を表す比較用パラメータを、識別用パラメータに最もよく近似できる比較用パラメータとして特定すればよい。
【００６１】
次に、コンピュータＣ１は、選択した音素辞書に含まれるサブバンドデータのうち、非線形量子化後のサブバンドデータにもっとも近い波形を表しているものを特定する（ステップＳＡ１７）。具体的には、コンピュータＣ１は、たとえば、以下（１）及び（２）として記す処理を行う。すなわち、
（１）  まず、非線形量子化後のサブバンドデータと、選択した音素辞書に含まれる１個の音素のサブバンドデータとの間で、同一周波数成分間の相関係数を各々求め、求めた相関係数の平均値を求める。
（２）  （１）の処理を、選択した音素辞書に含まれるすべての音素のサブバンドデータについて行い、相関係数の平均値が最も高かったサブバンドデータを、非線形量子化後のサブバンドデータにもっとも近い波形を表しているものとして特定する。
【００６２】
次に、コンピュータＣ１は、ステップＳＡ１７で特定したサブバンドデータに変換を施すことにより、このサブバンドデータにより各周波数成分の強度が表されるピッチ波形データを復元する（ステップＳＡ１８）。ステップＳＡ１８でサブバンドデータに施す変換は、このサブバンドデータを生成するために音素の波形に施した変換に対して実質的に逆変換の関係にあるような変換である。具体的には、たとえばこのサブバンドデータが音素にＤＣＴを施して生成されたものである場合は、このサブバンドデータにＩＤＣＴ（Inverse DCT）を施すようにすればよい。
【００６３】
次に、コンピュータＣ１は、ステップＳＡ１１でリサンプリングされたピッチ波形データの瞬時値と、ステップＳＡ１８で復元されたピッチ波形データの瞬時値との差を表す差分データを生成する（ステップＳＡ１９）。
そして、ステップＳＡ１９で生成した差分データの瞬時値を、自己の不揮発性メモリが記憶するパラメータにより指定される精度で（あるいは、このパラメータにより指定される圧縮率となるように）量子化する（ステップＳＡ２０）。
【００６４】
次に、コンピュータＣ１は、ステップＳＡ１７で特定したサブバンドデータに割り当てられている識別コードを自己の不揮発性メモリから読み出し、読み出した識別コードと、ステップＳＡ２０で量子化した差分データと、ステップＳＡ１１で生成したピッチ情報と、ステップＳＡ１３で生成した比例定数データとを、算術符号（arithmetic code）へと変換する（ステップＳＡ２１）。
【００６５】
そして、コンピュータＣ１は、ステップＳＡ２１で得られた算術符号を表すビットストリームを生成し、自己のシリアル通信制御部より、圧縮音声データとして出力する（ステップＳＡ２２）。
【００６６】
圧縮音声データは、単位ピッチ分の区間の時間長が規格化され、ピッチのゆらぎの影響が除去された音声データであるピッチ波形データに基づいて生成されている。このため、圧縮音声データは、音声の各周波数成分（基本周波数成分及び高調波成分）の強度の時間変化を正確に表すものとなる。
【００６７】
また、圧縮音声データは、予め各周波数成分の強度の時間変化のサンプルをデータが用意されている音声を識別する識別コードと、この音声との差分を表す差分データとから構成されている。
一方、たとえば図５に示すように、人間が実際に発する有声音の各周波数成分の強度の時間変化は通常極めて小さく、また、同一話者の音声間での差異も小さい。従って、圧縮する対象の音声の話者と同一の話者の音声を表すサブバンドデータを音素辞書に予め格納しておき、この話者に固有の識別用パラメータを対応付けておくことにより、差分データのデータ量は極めて小さくなる。従って、圧縮音声データのデータ量も極めて小さくなる。
【００６８】
なお、図５において、「ＢＮＤ０」として示すグラフは音声の基本周波数成分の強度を示し、「ＢＮＤｋ」（ただし、ｋは１から７までの整数）として示すグラフは、この音声の（ｋ＋１）次高調波成分の強度を示している。そして、「ｄ１」として示す区間は、母音「ア」を表す区間であり、「ｄ２」として示す区間は、母音「イ」を表す区間であり、「ｄ３」として示す区間は、母音「ウ」を表す区間であり、「ｄ４」として示す区間は、母音「エ」を表す区間である。
【００６９】
また、ピッチ情報を用いてピッチ波形信号の各区間の元の時間長を特定することができ、比例定数データを用いて各周波数成分の元の振幅を特定することができる。このため、ピッチ波形信号の各区間の時間長や各周波数成分の振幅を、元の音声データにおける時間長や振幅へと復元することにより、元の音声データを容易に復元できる。
【００７０】
なお、この音声信号圧縮器の構成は上述のものに限られない。
たとえば、コンピュータＣ１は、電話回線、専用回線、衛星回線等の通信回線を介して外部より音声データを取得するようにしてもよい。この場合、コンピュータＣ１は、例えばモデムやＤＳＵ（Data Service Unit）等からなる通信制御部を備えていればよい。またこの場合、記録媒体ドライバＳＭＤは不要である。また、コンピュータＣ１は、比較用パラメータや、音素辞書や、差分データを量子化する精度（あるいは圧縮率）を指定するパラメータも、通信回線を介して外部より取得して記憶するようにしてよい。
【００７１】
また、コンピュータＣ１は、マイクロフォン、ＡＦ増幅器、サンプラー、Ａ／Ｄ（Analog-to-Digital）コンバータ及びＰＣＭエンコーダなどからなる集音装置を備えていてもよい。集音装置は、自己のマイクロフォンが集音した音声を表す音声信号を増幅し、サンプリングしてＡ／Ｄ変換した後、サンプリングされた音声信号にＰＣＭ変調を施すことにより、音声データを取得すればよい。なお、コンピュータＣ１が取得する音声データは、必ずしもＰＣＭ信号である必要はない。
【００７２】
また、コンピュータＣ１は、音声辞書に格納すべきデータを、記録媒体ドライバＳＭＤにセットされた記録媒体に、記録媒体ドライバＳＭＤを介して書き込むようにしてもよい。あるいは、ハードディスク装置等からなる外部の記憶装置に書き込むようにしてもよい。これらの場合、コンピュータＣ１は、記録媒体ドライバや、ハードディスクコントローラ等の制御回路を備えていればよい。
【００７３】
また、コンピュータＣ１は、比較用パラメータや、音素辞書や、差分データを量子化する精度（あるいは圧縮率）を指定するパラメータなどを記録した記録媒体を記録媒体ドライバＳＭＤにセットし、コンピュータＣ１の入力部を操作して、この記録媒体に記録されたデータを、記録媒体ドライバＳＭＤを介してコンピュータＣ１に読み取らせ、記憶させるようにしてよい。
【００７４】
また、差分データは、非線形量子化後のサブバンドデータが表す各周波数成分の強度の瞬時値と、ステップＳＡ１７で特定されたサブバンドデータが表す各周波数成分の瞬時値との差分を、周波数が同一である成分同士でそれぞれ求めた結果を表すデータであってもよい。
この場合、コンピュータＣ１は、ステップＳＡ１８の処理を省略し、ステップＳＡ１９において、非線形量子化後のサブバンドデータが表す各周波数成分の強度の瞬時値と、ステップＳＡ１７で特定したサブバンドデータが表す各周波数成分の瞬時値との差分を、周波数が同一である成分同士でそれぞれ求め、求めた各差分を表す差分データを生成して、ステップＳＡ２０に処理を進めるようにすればよい。
【００７５】
また、コンピュータＣ１は、過去に生成した非線形量子化後のサブバンドデータのうちもっとも新しいものを記憶するようにしてもよい。この場合、コンピュータＣ１は、新たに非線形量子化後のサブバンドデータを生成するたびに、このサブバンドデータが、自ら記憶している非線形量子化後のサブバンドデータとの間で一定程度以上高い相関を示しているか否かを判別し、示していると判別したとき、識別コード及び差分データに代えて、直前の波形と同一の波形が連続していることを示す所定のデータを生成するようにしてもよい。こうすることにより、圧縮音声データのデータ量は更に小さくなる。
なお、新たに供給されたサブバンドデータと自ら記憶しているサブバンドデータとの間の相関の程度は、たとえば、これら両サブバンドデータ間で、同一周波数成分間の相関係数を各々求め、求めた相関係数の平均値の大きさに基づいて判別するようにすればよい。
【００７６】
また、コンピュータＣ１は、必ずしも音声データの振幅の実効値を揃える必要はない。
また、コンピュータＣ１は、ケプストラム解析又は自己相関係数に基づく解析のいずれかを行わなくてもよく、この場合は、ケプストラム解析又は自己相関係数に基づく解析のうち一方の手法で求めた基本周波数の逆数をそのままピッチ長として扱うようにすればよい。
【００７７】
また、コンピュータＣ１が音声データの各区間内の音声データを移相する量は（−Ψ）である必要はなく、例えば、コンピュータＣ１は、初期位相を表す各区間に共通な実数をδとして、それぞれの区間につき、（−Ψ＋δ）だけ、音声データを移相するようにしてもよい。また、コンピュータＣ１が音声データの音声データを区切る位置は、必ずしもピッチ信号がゼロクロスするタイミングである必要はなく、例えば、ピッチ信号が０でない所定の値となるタイミングであってもよい。
しかし、初期位相αを０とし、且つ、ピッチ信号がゼロクロスするタイミングで音声データを区切るようにすれば、各区間の始点の値は０に近い値になるので、音声データを各区間へと区切ることに各区間が含むようになるノイズの量が少なくなる。
【００７８】
なお、コンピュータＣ１は専用のシステムである必要はなく、パーソナルコンピュータ等であってよい。また、音声信号圧縮プログラムは、音声信号圧縮プログラムを格納した媒体（ＣＤ−ＲＯＭ、ＭＯ、フレキシブルディスク等）からコンピュータＣ１へとインストールするようにしてもよいし、通信回線の掲示板（ＢＢＳ）にピッチ波形抽出プログラムをアップロードし、これを通信回線を介して配信してもよい。また、音声信号圧縮プログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調して音声信号圧縮プログラムを復元するようにしてもよい。
【００７９】
また、音声信号圧縮プログラムは、ＯＳの制御下に、他のアプリケーションプログラムと同様に起動してコンピュータＣ１に実行させることにより、上述の処理を実行することができる。なお、ＯＳが上述の処理の一部を分担する場合、記録媒体に格納される音声信号圧縮プログラムは、当該処理を制御する部分を除いたものであってもよい。
【００８０】
（第１の実施の形態：音声信号伸長器）
次に、この発明の第１の実施の形態に係る音声信号伸長器を説明する。
この音声信号伸長器は、例えば、図６に示す構成を有している。図示するように、この音声信号伸長器は、図１の音声信号圧縮器におけるコンピュータＣ１と実質的に同一の物理的構成を有するコンピュータＣ２からなっている。そして、コンピュータＣ２は更に、音声出力部を備えている。音声出力部は、たとえば、ＰＣＭデコーダの機能を行う制御回路と、Ｄ／Ａ（Digital-to-Analog）コンバータと、ＡＦ（Audio Frequency）増幅器と、スピーカ等とを備えている。
【００８１】
コンピュータＣ２は音声信号伸長プログラムを予め記憶しており、この音声信号伸長プログラムを実行することにより後述する処理を行う。
また、この音声信号伸長器のコンピュータＣ２は、上述の音声信号圧縮器のコンピュータＣ１が記憶しているものと実質的に同一の音素辞書を記憶している。この音素辞書は、ユーザ等がコンピュータＣ２の入力部を操作して入力し、コンピュータＣ２に記憶させるようにしてもよい。
なお、同一のコンピュータが、コンピュータＣ１及びコンピュータＣ２の機能を行ってもよい。
【００８２】
（第１の実施の形態：音声信号伸長器の動作）
次に、図１の音声信号伸長器の動作を、図７を参照して説明する。図７は、この音声信号伸長器の動作の流れを示す図である。
【００８３】
ユーザが、コンピュータＣ２に、音声信号伸長プログラムの起動を指示すると、コンピュータＣ２は、音声信号伸長プログラムの処理を開始する。
【００８４】
すると、まず、コンピュータＣ２は、上述した音声信号圧縮器が生成したビットストリーム（又は当該ビットストリームと実質的に同一のデータ構造を有するビットストリーム）を、例えば自己のシリアル通信制御部を介して外部から取得する（図７、ステップＳＢ１）。そして、取得したビットストリームを、識別コードを表す算術符号、差分データを表す算術符号、比例定数データを表す算術符号、及びピッチ情報を表す算術符号へと分解する（ステップＳＢ２）。
【００８５】
次に、コンピュータＣ２は、ビットストリームを分解して得られた各算術符号を復号化することにより識別コード、差分データ、比例定数データ及びピッチ情報を復元する（ステップＳＢ３）。そして、復元された識別コードを割り当てられているサブバンドデータを自己が記憶している音素辞書より索出する（ステップＳＢ４）。
【００８６】
一方、コンピュータＣ２は、ステップＳＢ３で復元した差分データに、上述の音声信号圧縮器がステップＳＡ１２で行うものと実質的に同一の変換を施すことにより、この差分データの各周波数成分の強度を表すデータを生成する（ステップＳＢ５）。
【００８７】
次に、コンピュータＣ２は、ステップＳＢ４で索出されたサブバンドデータが表す各々の周波数成分について、当該周波数成分の瞬時値と、ステップＳＢ５で生成したデータが表す同一周波数成分の瞬時値との和を求め、得られたこれらの和を表すデータを生成する（ステップＳＢ６）。ステップＳＢ６で生成されるこのデータは、伸長する対象である音声データに基づいて生成されたサブバンドデータに、上述の音声信号圧縮器がステップＳＡ１３及びＳＡ１４で行う処理と実質的に同一の処理を施して得られる非線形圧縮後のサブバンドデータに相当する。
【００８８】
次に、コンピュータＣ２は、ステップＳＢ６で生成したデータが表す各周波数成分の瞬時値を変更することにより、伸長する対象である音声データを表す、非線形量子化される前のサブバンドデータに相当するデータを生成する（ステップＳＢ７）。
【００８９】
次に、コンピュータＣ２は、ステップＳＢ７で得られたデータ（非線形量子化される前のサブバンドデータ）が表す各周波数成分の瞬時値に、ステップＳＢ３で復元された比例定数データが表す比例定数の逆数を乗じることにより振幅を変更する（ステップＳＢ８）。
【００９０】
次に、コンピュータＣ２は、ステップＳＢ８で振幅を変更されたサブバンドデータに、上述の音声信号圧縮器がステップＳＡ１８で行う変換と実質的に同一の変換を施すことにより、このサブバンドデータにより各周波数成分の強度が表されるピッチ波形データを復元する（ステップＳＢ９）。
【００９１】
次に、コンピュータＣ２は、ステップＳＢ９で復元されたピッチ波形データの各区間の時間長を、ステップＳＢ３で復元されたピッチ情報が示す時間長になるよう変更する（ステップＳＢ１０）。区間の時間長の変更は、たとえば区間内にあるサンプルの間隔を変更することにより行えばよい。
そして、コンピュータＣ２は、各区間の時間長を変更されたピッチ波形データ（すなわち、復元された音声を表す音声データ）を復調し、Ｄ／Ａ変換及び増幅を行い、得られたアナログ信号を用いてスピーカを駆動することにより、音声を再生する（ステップＳＢ１１）。
【００９２】
なお、この音声信号伸長器の構成も、上述のものに限られない。
たとえば、コンピュータＣ２は、例えばモデムやＤＳＵ等からなる通信制御装置を備えていてもよい。この場合、コンピュータＣ２は、外部の通信回線及び自己の通信制御装置を介して外部より音声データを取得してもよいし、圧縮音声データを、通信回線を介して外部に出力するようにしてもよい。
【００９３】
また、コンピュータＣ２は、例えば、上述の記録媒体ドライバＳＭＤと同様の記録媒体ドライバを備えていてもよい。この場合、コンピュータＣ２は、圧縮音声データを、この圧縮音声データが記録された記録媒体から読み取る等して取得してもよいし、音声辞書に格納すべきデータを、この記録媒体ドライバにセットされた記録媒体の記憶領域に書き込むようにしてもよい。
【００９４】
また、差分データは、圧縮の対象である音声の各周波数成分の強度と基準となる他の音声の各周波数成分の強度との差分を周波数が同一である成分同士で求めた結果をあらわすものであってもよい。（たとえば、上述の音声信号圧縮器が、非線形量子化後のサブバンドデータが表す各周波数成分の強度の瞬時値と、ステップＳＡ１７で特定されたサブバンドデータが表す各周波数成分の瞬時値との差分を、周波数が同一である成分同士でそれぞれ求め、求めた各差分を表すものとして生成した差分データ。）
この場合、コンピュータＣ２は、例えば、ステップＳＢ５の処理を省略し、ステップＳＢ６においては、ステップＳＢ４で索出されたサブバンドデータが表す各々の周波数成分につき、当該周波数成分の瞬時値と、ステップＳＢ３で復元された差分データが表す同一周波数成分の瞬時値との和を求め、すべての周波数成分について求めた和を表すデータを生成するようにすればよい。
【００９５】
また、圧縮音声データには、識別コードに代えて、直前の波形と同一の波形が連続していることを示す所定のデータが含まれる場合があってもよい。
このようなデータが圧縮音声データに含まれることがあり得る場合、コンピュータＣ２は、例えばステップＳＢ３で、この所定のデータが含まれているか否かの判別も行うものとし、一方、例えばステップＳＢ１０では、区間の時間長を変更したピッチ波形データのうちもっとも新しいものを記憶するものとすればよい。そして、このデータが含まれているとステップＳＢ３で判別した場合、当該判別をして以降最初に行うステップＳＢ１１の処理では、ステップＳＢ１０で自らが記憶した最新のピッチ波形データが表す音声を再生するようにすればよい。
【００９６】
なお、コンピュータＣ２も専用のシステムである必要はなく、パーソナルコンピュータ等であってよい。また、音声信号伸長プログラムは、音声信号伸長プログラムを格納した媒体からコンピュータＣ２へとインストールするようにしてもよいし、通信回線の掲示板に音声信号伸長プログラムをアップロードし、これを通信回線を介して配信してもよい。また、音声信号伸長プログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調して音声信号伸長プログラムを復元するようにしてもよい。
【００９７】
また、音声信号伸長プログラムは、ＯＳの制御下に、他のアプリケーションプログラムと同様に起動してコンピュータＣ２に実行させることにより、上述の処理を実行することができる。なお、ＯＳが上述の処理の一部を分担する場合、記録媒体に格納される音声信号伸長プログラムは、当該処理を制御する部分を除いたものであってもよい。
【００９８】
（第２の実施の形態：音声信号圧縮器）
次に、この発明の第２の実施の形態を説明する。
図８は、この発明の第２の実施の形態に係る音声信号圧縮器の構成を示す図である。図示するように、この音声信号圧縮器は、音声入力部Ａ１と、ピッチ波形抽出部Ａ２と、サブバンド分割部Ａ３と、振幅調整部Ａ４と、非線形量子化部Ａ５と、線形予測解析部Ａ６と、符号化部Ａ７と、復号化部Ａ８と、差分計算部Ａ９と、量子化部Ａ１０と、算術符号化部Ａ１１と、ビットストリーム形成部Ａ１２とより構成されている。
【００９９】
音声入力部Ａ１は、例えば、第１の実施の形態における記録媒体ドライバＳＭＤと同様の記録媒体ドライバ等より構成されている。
音声入力部Ａ１は、音声の波形を表す音声データを、この音声データが記録された記録媒体から読み取る等して取得し、ピッチ波形抽出部Ａ２及び線形予測解析部Ａ６に供給する。なお、音声データは、ＰＣＭ変調されたディジタル信号の形式を有しており、音声のピッチより十分短い一定の周期でサンプリングされた音声を表しているものとする。
【０１００】
ピッチ波形抽出部Ａ２、サブバンド分割部Ａ３、振幅調整部Ａ４、非線形量子化部Ａ５、線形予測解析部Ａ６、符号化部Ａ７、復号化部Ａ８、差分計算部Ａ９、量子化部Ａ１０及び算術符号化部Ａ１１は、いずれも、ＤＳＰやＣＰＵ等のプロセッサより構成されている。
なお、ピッチ波形抽出部Ａ２、サブバンド分割部Ａ３、振幅調整部Ａ４、非線形量子化部Ａ５、線形予測解析部Ａ６、符号化部Ａ７、復号化部Ａ８、差分計算部Ａ９、量子化部Ａ１０及び算術符号化部Ａ１１の一部又は全部の機能を単一のプロセッサが行うようにしてもよい。
【０１０１】
ピッチ波形抽出部Ａ２は、音声入力部Ａ１より供給された音声データを、この音声データが表す音声の単位ピッチ分（たとえば、１ピッチ分）にあたる区間へと分割する。そして、分割されてできた各区間を移相及びリサンプリングすることにより、各区間の時間長及び位相を互いに実質的に同一になるように揃える。そして、各区間の時間長及び位相を揃えられた音声データ（ピッチ波形データ）を、サブバンド分割部Ａ３及び差分計算部Ａ９に供給する。
また、ピッチ波形抽出部Ａ２は、この音声データの各区間の元のサンプル数を示すピッチ情報を生成し、算術符号化部Ａ１１へと供給する。
【０１０２】
ピッチ波形抽出部Ａ２は、機能的には、たとえば図９に示すように、ケプストラム解析部Ａ２１と、自己相関解析部Ａ２２と、重み計算部Ａ２３と、ＢＰＦ（バンドパスフィルタ）係数計算部Ａ２４と、バンドパスフィルタＡ２５と、ゼロクロス解析部Ａ２６と、波形相関解析部Ａ２７と、位相調整部Ａ２８と、ピッチ長固定部Ａ２９とより構成されている。
【０１０３】
なお、ケプストラム解析部Ａ２１、自己相関解析部Ａ２２、重み計算部Ａ２３、ＢＰＦ係数計算部Ａ２４、バンドパスフィルタＡ２５、ゼロクロス解析部Ａ２６、波形相関解析部Ａ２７、位相調整部Ａ２８及びピッチ長固定部Ａ２９の一部又は全部の機能を単一のプロセッサが行うようにしてもよい。
【０１０４】
なお、ケプストラム解析部Ａ２１、自己相関解析部Ａ２２、重み計算部Ａ２３、ＢＰＦ係数計算部Ａ２４、バンドパスフィルタＡ２５、ゼロクロス解析部Ａ２６、波形相関解析部Ａ２７、位相調整部Ａ２８及びピッチ長固定部Ａ２９の一部又は全部の機能を同一のＤＳＰやＣＰＵが行ってもよい。
【０１０５】
ピッチ波形抽出部Ａ２は、ケプストラム解析と、自己相関関数に基づく解析とを併用して、ピッチの長さを特定する。
すなわち、まず、ケプストラム解析部Ａ２１は、音声入力部Ａ１より供給される音声データにケプストラム解析を施すことにより、この音声データが表す音声の基本周波数を特定し、特定した基本周波数を示すデータを生成して重み計算部Ａ２３へと供給する。
【０１０６】
具体的には、ケプストラム解析部Ａ２１は、音声入力部Ａ１より音声データを供給されると、まず、この音声データの強度を、元の値の対数に実質的に等しい値へと変換する。（対数の底は任意である。）
次に、ケプストラム解析部Ａ２１は、値が変換された音声データのスペクトル（すなわち、ケプストラム）を、高速フーリエ変換の手法（あるいは、離散的変数をフーリエ変換した結果を表すデータを生成する他の任意の手法）により求める。
そして、このケプストラムの極大値を与える周波数のうちの最小値を基本周波数として特定し、特定した基本周波数を示すデータを生成して重み計算部Ａ２３へと供給する。
【０１０７】
一方、自己相関解析部Ａ２２は、音声入力部Ａ１より音声データを供給されると、音声データの波形の自己相関関数に基づいて、この音声データが表す音声の基本周波数を特定し、特定した基本周波数を示すデータを生成して重み計算部Ａ２３へと供給する。
【０１０８】
具体的には、自己相関解析部Ａ２２は、音声入力部Ａ１より音声データを供給されるとまず、上述した自己相関関数ｒ（ｌ）を特定する。そして、特定した自己相関関数ｒ（ｌ）をフーリエ変換した結果得られるピリオドグラムの極大値を与える周波数のうち、所定の下限値を超える最小の値を基本周波数として特定し、特定した基本周波数を示すデータを生成して重み計算部Ａ２３へと供給する。
【０１０９】
重み計算部Ａ２３は、ケプストラム解析部Ａ２１及び自己相関解析部Ａ２２より基本周波数を示すデータを１個ずつ合計２個供給されると、これら２個のデータが示す基本周波数の逆数の絶対値の平均を求める。そして、求めた値（すなわち、平均ピッチ長）を示すデータを生成し、ＢＰＦ係数計算部Ａ２４へと供給する。
【０１１０】
ＢＰＦ係数計算部Ａ２４は、平均ピッチ長を示すデータを重み計算部Ａ２３より供給され、ゼロクロス解析部Ａ２６より後述のゼロクロス信号を供給されると、供給されたデータやゼロクロス信号に基づき、平均ピッチ長とピッチ信号とゼロクロスの周期とが互いに所定量以上異なっているか否かを判別する。そして、異なっていないと判別したときは、ゼロクロスの周期の逆数を中心周波数（バンドパスフィルタＡ２５の通過帯域の中央の周波数）とするように、バンドパスフィルタＡ２５の周波数特性を制御する。一方、所定量以上異なっていると判別したときは、平均ピッチ長の逆数を中心周波数とするように、バンドパスフィルタＡ２５の周波数特性を制御する。
【０１１１】
バンドパスフィルタＡ２５は、中心周波数が可変なＦＩＲ（Finite Impulse Response）型のフィルタの機能を行う。
具体的には、バンドパスフィルタＡ２５は、自己の中心周波数を、ＢＰＦ係数計算部Ａ２４の制御に従った値に設定する。そして、音声入力部Ａ１より供給される音声データをフィルタリングして、フィルタリングされた音声データ（ピッチ信号）を、ゼロクロス解析部Ａ２６及び波形相関解析部Ａ２７へと供給する。ピッチ信号は、音声データのサンプルリング間隔と実質的に同一のサンプリング間隔を有するディジタル形式のデータからなるものとする。
なお、バンドパスフィルタＡ２５の帯域幅は、バンドパスフィルタＡ２５の通過帯域の上限が音声データの表す音声の基本周波数の２倍以内に常に収まるような帯域幅であることが望ましい。
【０１１２】
ゼロクロス解析部Ａ２６は、バンドパスフィルタＡ２５から供給されたピッチ信号の瞬時値が０となる時刻（ゼロクロスする時刻）が来るタイミングを特定し、特定したタイミングを表す信号（ゼロクロス信号）を、ＢＰＦ係数計算部Ａ２４へと供給する。このようにして、音声データのピッチの長さが特定される。
ただし、ゼロクロス解析部Ａ２６は、ピッチ信号の瞬時値が０でない所定の値となる時刻が来るタイミングを特定し、特定したタイミングを表す信号を、ゼロクロス信号に代えてＢＰＦ係数計算部Ａ２４へと供給するようにしてもよい。
【０１１３】
波形相関解析部Ａ２７は、音声入力部Ａ１より音声データを供給され、バンドパスフィルタＡ２５よりピッチ信号を供給されると、ピッチ信号の単位周期（例えば１周期）の境界が来るタイミングで音声データを区切る。そして、区切られてできる区間のそれぞれについて、この区間内の音声データの位相を種々変化させたものとこの区間内のピッチ信号との相関を求め、最も相関が高くなるときの音声データの位相を、この区間内の音声データの位相として特定する。このようにして、各区間につき音声データの位相が特定される。
【０１１４】
具体的には、波形相関解析部Ａ２７は、例えば、それぞれの区間毎に、上述した値Ψを特定し、値Ψを示すデータを生成して、この区間内の音声データの位相を表す位相データとして位相調整部Ａ２８に供給する。なお、区間の時間的な長さは、１ピッチ分程度であることが望ましい。
【０１１５】
位相調整部Ａ２８は、音声入力部Ａ１より音声データを供給され、波形相関解析部Ａ２７より音声データの各区間の位相Ψを示すデータを供給されると、それぞれの区間の音声データの位相を（−Ψ）だけ移相することにより、各区間の位相を揃える。そして、移相された音声データをピッチ長固定部Ａ２９に供給する。
【０１１６】
ピッチ長固定部Ａ２９は、移相された音声データを位相調整部Ａ２８より供給されると、供給された音声データの各区間をリサンプリングすることにより、各区間の時間長を互いに実質的に同一になるように揃える。そして、各区間の時間長を揃えられた音声データ（すなわち、ピッチ波形データ）をサブバンド分割部Ａ３及び差分計算部Ａ９へと供給する。
【０１１７】
また、ピッチ長固定部Ａ２９は、この音声データの各区間の元のサンプル数（音声入力部Ａ１よりピッチ長固定部Ａ２９へと供給された時点におけるこの音声データの各区間のサンプル数）を示すピッチ情報を生成し、算術符号化部Ａ１１へと供給する。
【０１１８】
サブバンド分割部Ａ３は、ピッチ波形抽出部Ａ２より供給されたピッチ波形データにＤＣＴ等の直交変換を施すことにより、上述したサブバンドデータを生成する。そして、生成したサブバンドデータを振幅調整部Ａ４へと供給する。
【０１１９】
振幅調整部Ａ４は、サブバンド分割部Ａ３よりサブバンドデータを供給されると、このサブバンドデータが表す基本周波数成分や高調波成分の瞬時値に比例定数を乗じることにより振幅を変更し、振幅が変更されたサブバンドデータを非線形量子化部Ａ５に供給する。このようにして、サブバンドデータの各周波数成分に乗じる比例定数が特定される。
【０１２０】
また、振幅調整部Ａ４は、どのサブバンドデータのどの周波数成分（基本周波数成分又は高調波成分）にどのような値の比例定数を乗じたかを示す比例定数データを生成し、この比例定数データを算術符号化部Ａ１１に供給する。なお、比例定数は、たとえば、同一のサブバンドデータが表す各周波数成分の強度の最大値が、互いに共通した一定値になるように決定するものとする。
【０１２１】
非線形量子化部Ａ５は、振幅調整部Ａ４より、振幅を変更されたサブバンドデータを供給されると、このサブバンドデータが表す各周波数成分の瞬時値に非線形圧縮を施して得られる値を量子化したものに相当するサブバンドデータを生成し、生成したサブバンドデータ（すなわち、非線形量子化後のサブバンドデータ）を符号化部Ａ７へと供給する。
なお、非線形圧縮の手法は、具体的には、例えば、非線形量子化後のサブバンドデータの各周波数成分の瞬時値が、元の瞬時値の対数を量子化した値に実質的に等しくなるようなものであればよい。（ただし、対数の底はすべての周波数成分について共通であるものとする。）
【０１２２】
線形予測解析部Ａ６は、音声入力部Ａ１より供給された音声データに線形予測解析を施すことにより、この音声データが表す音声の話者に固有の識別用パラメータ（たとえば、この音声のスペクトルの包絡線を表す包絡線データや、あるいはこの音声のフォルマントを表すデータなど）を抽出する。そして、抽出したパラメータを符号化部Ａ７に供給する。
【０１２３】
符号化部Ａ７は、プロセッサに加え、ハードディスク装置等からなる記憶装置を備えている。
符号化部Ａ７は、話者に固有のパラメータであって線形予測解析部Ａ６が抽出する識別用パラメータと同種のパラメータ（たとえば、識別用パラメータが包絡線データであれば、包絡線データ）を、話者毎に記憶する。また、各々の話者のパラメータに対応付けた形で、この話者の音声を構成する音素を表す音素辞書を記憶する。音素辞書は、具体的には、第１の実施の形態における音素序書と同様、音素の基本周波数成分及び高調波成分の強度の時間変化を表すサブバンドデータを、音素別に格納しているデータベースからなっていればよく、各々のサブバンドデータには、このサブバンドデータに固有の識別コードが割り当てられていればよい。
【０１２４】
符号化部Ａ７は、非線形量子化部Ａ５より非線形量子化後のサブバンドデータを供給され、線形予測解析部Ａ６より識別用パラメータを供給されると、符号化部Ａ７自身が記憶しているパラメータのうち、線形予測解析部Ａ６より供給された識別用パラメータにもっともよく近似できるパラメータを特定することにより、このパラメータに対応付けられた音素辞書を選択する。
【０１２５】
識別用パラメータ及び符号化部Ａ７が記憶するパラメータがいずれも包絡線データからなる場合、符号化部Ａ７は、たとえば、識別用パラメータが表す包絡線との間の相関係数が最も大きい包絡線を表すパラメータを、識別用パラメータに最もよく近似できるパラメータとして特定すればよい。
【０１２６】
次に、符号化部Ａ７は、選択した音素辞書に含まれるサブバンドデータのうち、非線形量子化部Ａ５より供給されたサブバンドデータにもっとも近い波形を表しているものを特定する。具体的には、たとえば、符号化部Ａ７は、以下（１）及び（２）として記す処理を行う。すなわち、
（１）  まず、非線形量子化部Ａ５より供給されたサブバンドデータと、選択した音素辞書に含まれる１個の音素のサブバンドデータとの間で、同一周波数成分間の相関係数を各々求め、求めた相関係数の平均値を求める。
（２）  （１）の処理を、選択した音素辞書に含まれるすべての音素のサブバンドデータについて行い、相関係数の平均値が最も高かったサブバンドデータを、非線形量子化部Ａ５より供給されたサブバンドデータにもっとも近い波形を表しているものとして特定する。
【０１２７】
そして、符号化部Ａ７は、特定したサブバンドデータに割り当てられている識別コードを、算術符号化部Ａ１１へと供給する。また、特定したサブバンドデータを、復号化部Ａ８へと供給する。
【０１２８】
復号化部Ａ８は、符号化部Ａ７より供給されたサブバンドデータに変換を施すことにより、このサブバンドデータにより各周波数成分の強度が表されるピッチ波形データを復元する。そして、復元されたピッチ波形データを差分計算部Ａ９へと供給する。なお、復号化部Ａ８がサブバンドデータに施す変換は、このサブバンドデータを生成するために音素の波形に施した変換に対して実質的に逆変換の関係にあるような変換であるものとする。
【０１２９】
差分計算部Ａ９は、ピッチ波形抽出部Ａ２から供給されたピッチ波形データの瞬時値と、復号化部Ａ８から供給されたピッチ波形データの瞬時値との差を表す差分データを生成し、量子化部Ａ１０に供給する。
【０１３０】
量子化部Ａ１０は、プロセッサに加え、ＲＯＭ（Read Only Memory）等の記憶装置を備えている。
量子化部Ａ１０は、差分データを量子化する精度（あるいは、量子化前の差分データのデータ量に対する量子化後の差分データのデータ量の比を表す圧縮率）を指定するパラメータを、ユーザ等の操作に従って記憶する。そして、差分計算部Ａ９より差分データを供給されると、この差分データの瞬時値を、自己が記憶するパラメータにより指定される精度で量子化し（あるいは、このパラメータにより指定される圧縮率となるよう量子化し）、量子化された差分データを算術符号化部Ａ１１へと供給する。
【０１３１】
算術符号化部Ａ１１は、符号化部Ａ７より供給された識別コードと、量子化部Ａ１０より供給された差分データと、ピッチ波形抽出部Ａ２より供給されたピッチ情報と、振幅調整部Ａ４より供給された比例定数データとを算術符号へと変換し、互いに対応付けてビットストリーム形成部Ａ１２へと供給する。
【０１３２】
ビットストリーム形成部Ａ１２は、たとえば、ＲＳ２３２Ｃ等の規格に準拠して外部とのシリアル通信を制御する制御回路と、ＣＰＵ等のプロセッサとより構成されている。
ビットストリーム形成部Ａ１２は、互いに対応付けられて算術符号化部Ａ１１より供給された算術符号を表すビットストリームを生成し、圧縮音声データとして出力する。
【０１３３】
ビットストリーム形成部Ａ１２が出力する圧縮音声データも、単位ピッチ分の区間の時間長が規格化され、ピッチのゆらぎの影響が除去された音声データであるピッチ波形データに基づいて生成されている。このため、圧縮音声データは、音声の各周波数成分（基本周波数成分及び高調波成分）の強度の時間変化を正確に表すものとなる。
また、圧縮音声データは、予め各周波数成分の強度の時間変化のサンプルをデータが用意されている音声を識別する識別コードと、この音声との差分を表す差分データとから構成されているので、圧縮音声データのデータ量は極めて小さくなる。
また、ピッチ情報を用いてピッチ波形信号の各区間の元の時間長を特定することができ、比例定数データを用いて各周波数成分の元の振幅を特定することができる。このため、ピッチ波形信号の各区間の時間長や各周波数成分の振幅を、元の音声データにおける時間長や振幅へと復元することにより、元の音声データを容易に復元できる。
【０１３４】
なお、この音声信号圧縮器の構成は上述のものに限られない。
たとえば、音声入力部Ａ１は、電話回線、専用回線、衛星回線等の通信回線を介して外部より音声データを取得するようにしてもよい。この場合、音声入力部Ａ１は、例えばモデムやＤＳＵ等からなる通信制御部を備えていればよい。
【０１３５】
また、音声入力部Ａ１は、マイクロフォン、ＡＦ増幅器、サンプラー、Ａ／Ｄコンバータ及びＰＣＭエンコーダなどからなる集音装置を備えていてもよい。集音装置は、自己のマイクロフォンが集音した音声を表す音声信号を増幅し、サンプリングしてＡ／Ｄ変換した後、サンプリングされた音声信号にＰＣＭ変調を施すことにより、音声データを取得すればよい。なお、音声入力部Ａ１が取得する音声データは、必ずしもＰＣＭ信号である必要はない。
【０１３６】
また、このピッチ波形抽出部Ａ２は、ケプストラム解析部Ａ２１（又は自己相関解析部Ａ２２）を備えていなくてもよく、この場合、重み計算部Ａ２３は、ケプストラム解析部Ａ２１（又は自己相関解析部Ａ２２）が求めた基本周波数の逆数をそのまま平均ピッチ長として扱うようにすればよい。
【０１３７】
また、ゼロクロス解析部Ａ２６は、バンドパスフィルタＡ２５から供給されたピッチ信号を、そのままゼロクロス信号としてＢＰＦ係数計算部Ａ２４へと供給するようにしてもよい。
【０１３８】
また、ビットストリーム形成部Ａ１２は、圧縮音声データを、通信回線等を介して外部に出力するようにしてもよい。通信回線を介してデータを出力する場合、ビットストリーム形成部Ａ１２は、例えばモデムやＤＳＵ等からなる通信制御部を備えていればよい。
また、ビットストリーム形成部Ａ１２は、記録媒体ドライバを備えていてもよく、この場合、ビットストリーム形成部Ａ１２は、音声辞書に格納すべきデータを、この記録媒体ドライバにセットされた記録媒体の記憶領域に書き込むようにしてもよい。
なお、単一のモデムやＤＳＵや記録媒体ドライバが音声入力部Ａ１及びビットストリーム形成部Ａ１２を構成していてもよい。
【０１３９】
また、差分計算部Ａ９は、非線形量子化部Ａ５が生成した非線形量子化後のサブバンドデータを取得し、符号化部Ａ７が特定したサブバンドデータを取得するようにしてもよい。
この場合、差分計算部Ａ９は、非線形量子化部Ａ５が生成した非線形量子化後のサブバンドデータが表す各周波数成分の強度の瞬時値と、符号化部Ａ７が特定したサブバンドデータが表す各周波数成分の瞬時値との差分を、周波数が同一である成分同士でそれぞれ求め、求めた各差分を表す差分データを生成して量子化部Ａ１０に供給するようにしてもよい。
【０１４０】
また、符号化部Ａ７は、過去に非線形量子化部Ａ５より供給された非線形量子化後のサブバンドデータのうちもっとも新しいものを記憶する記憶部を備えていてもよい。この場合、符号化部Ａ７は、新たに非線形量子化後のサブバンドデータを供給されるたびに、このサブバンドデータが、自ら記憶している非線形量子化後のサブバンドデータとの間で一定程度以上高い相関を示しているか否かを判別し、示していると判別したとき、算術符号化部Ａ１１に、識別コード及び差分データに代えて、直前の波形と同一の波形が連続していることを示す所定のデータを供給するようにしてもよい。こうすることにより、圧縮音声データのデータ量は更に小さくなる。
なお、新たに供給されたサブバンドデータと自ら記憶しているサブバンドデータとの間の相関の程度は、たとえば、これら両サブバンドデータ間で、同一周波数成分間の相関係数を各々求め、求めた相関係数の平均値の大きさに基づいて判別するようにすればよい。
【０１４１】
（第２の実施の形態：音声信号伸長器）
次に、この発明の第２の実施の形態に係る音声信号伸長器を説明する。
図１０は、この音声信号伸長器の構成を示す図である。図示するように、この音声信号伸長器は、ビットストリーム分解部Ｂ１と、算術符号復号化部Ｂ２と、復号化部Ｂ３と、差分復元部Ｂ４と、加算部Ｂ５と、非線形逆量子化部Ｂ６と、振幅復元部Ｂ７と、サブバンド合成部Ｂ８と、音声波形復元部Ｂ９と、音声出力部Ｂ１０とより構成されている。
【０１４２】
ビットストリーム分解部Ｂ１は、たとえば、ＲＳ２３２Ｃ等の規格に準拠して外部とのシリアル通信を制御する制御回路と、ＣＰＵ等のプロセッサとより構成されている。
ビットストリーム分解部Ｂ１は、上述した音声信号圧縮器のビットストリーム形成部Ａ１２が生成したビットストリーム（又はビットストリーム形成部Ａ１２が生成するビットストリームと実質的に同一のデータ構造を有するビットストリーム）を外部から取得する。そして、取得したビットストリームを、識別コードを表す算術符号、差分データを表す算術符号、及びピッチ情報を表す算術符号へと分解し、得られた算術符号を算術符号復号化部Ｂ２へと供給する。
【０１４３】
算術符号復号化部Ｂ２、復号化部Ｂ３、差分復元部Ｂ４、加算部Ｂ５、非線形逆量子化部Ｂ６、振幅復元部Ｂ７、サブバンド合成部Ｂ８及び音声波形復元部Ｂ９は、いずれも、ＤＳＰやＣＰＵ等のプロセッサより構成されている。
なお、算術符号復号化部Ｂ２、復号化部Ｂ３、差分復元部Ｂ４、加算部Ｂ５、非線形逆量子化部Ｂ６、振幅復元部Ｂ７、サブバンド合成部Ｂ８及び音声波形復元部Ｂ９の一部又は全部の機能を単一のプロセッサが行うようにしてもよい。
【０１４４】
算術符号復号化部Ｂ２は、ビットストリーム分解部Ｂ１より供給された算術符号を復号化することにより識別コード、差分データ、比例定数データ及びピッチ情報を復元する。そして、復元された識別コードを復号化部Ｂ３へと供給し、復元された差分データを差分復元部Ｂ４へと供給し、復元された比例定数データを振幅復元部Ｂ７へと供給し、復元されたピッチ情報を音声波形復元部Ｂ９へと供給する。
【０１４５】
復号化部Ｂ３は、プロセッサに加え、更に、ハードディスク装置等からなる記憶装置を備えている。復号化部Ｂ３は、上述の音声信号圧縮器の符号化部Ａ７が記憶しているものと実質的に同一の音素辞書を記憶している。
【０１４６】
復号化部Ｂ３は、算術符号復号化部Ｂ２より識別コードを供給されると、この識別コードを割り当てられているサブバンドデータを音素辞書より索出し、索出されたサブバンドデータを加算部Ｂ５へと供給する。
【０１４７】
差分復元部Ｂ４は、差分データを算術符号復号化Ｂ３より供給されると、この差分データに、上述の音声信号圧縮器のサブバンド分割部Ａ３が行うものと実質的に同一の変換を施すことにより、この差分データの各周波数成分の強度を表すデータを生成する。そして、生成したデータを、加算部Ｂ５へと供給する。
【０１４８】
加算部Ｂ５は、復号化部Ｂ３から供給されたサブバンドデータが表す各々の周波数成分について、当該周波数成分の瞬時値と、差分復元部Ｂ４から供給されたデータが表す同一周波数成分の瞬時値との和を求める。そして、すべての周波数成分について求めた和を表すデータを生成し、非線形逆量子化部Ｂ６に供給する。非線形逆量子化部Ｂ６に供給するこのデータは、伸長する対象である音声データに基づいて生成されたサブバンドデータに、上述の音声信号圧縮器の振幅調整部Ａ４及び非線形量子化部Ａ５が行うものと実質的に同一の処理を施して得られる非線形圧縮後のサブバンドデータに相当する。
【０１４９】
非線形逆量子化部Ｂ６は、加算部Ｂ５よりデータを供給されると、このデータが表す各周波数成分の瞬時値を変更することにより、伸長する対象である音声データを表す、非線形量子化される前のサブバンドデータに相当するデータを生成し、振幅復元部Ｂ７へと供給する。
【０１５０】
振幅復元部Ｂ７は、非線形量子化される前のサブバンドデータを非線形逆量子化部Ｂ６より供給され、算術符号復号化部Ｂ２より比例定数データを供給されると、このサブバンドデータが表す各周波数成分の瞬時値に、この比例定数データが表す比例定数の逆数を乗じることにより振幅を変更し、振幅を変更されたサブバンドデータをサブバンド合成部Ｂ８に供給する。
【０１５１】
サブバンド合成部Ｂ８は、振幅を変更されたサブバンドデータを振幅復元部Ｂ７より供給されると、このサブバンドデータに、上述の音声信号圧縮器の復号化部Ａ８が行うものと実質的に同一の変換を施すことにより、このサブバンドデータにより各周波数成分の強度が表されるピッチ波形データを復元する。そして、復元されたピッチ波形データを、音声波形復元部Ｂ９へと供給する。
【０１５２】
音声波形復元部Ｂ９は、サブバンド合成部Ｂ８より供給されたピッチ波形データの各区間の時間長を、算術符号復号化部Ｂ２より供給されるピッチ情報が示す時間長になるよう変更する。区間の時間長の変更は、たとえば区間内にあるサンプルの間隔を変更することにより行えばよい。
そして、音声波形復元部Ｂ９は、各区間の時間長を変更されたピッチ波形データ（すなわち、復元された音声を表す音声データ）を音声出力部Ｂ１０へと供給する。
【０１５３】
音声出力部Ｂ１０は、たとえば、ＰＣＭデコーダの機能を行う制御回路と、Ｄ／Ａ（Digital-to-Analog）コンバータと、ＡＦ（Audio Frequency）増幅器と、スピーカ等とを備えている。
音声出力部Ｂ１０は、音声波形復元部Ｂ９より、復元された音声を表す音声データを供給されると、この音声データを復調し、Ｄ／Ａ変換及び増幅を行い、得られたアナログ信号を用いてスピーカを駆動することにより、音声を再生する。
【０１５４】
なお、この音声信号伸長器の構成も、上述のものに限られない。
たとえば、ビットストリーム分解部Ｂ１は、通信回線を介して外部より音声データを取得するようにしてもよい。この場合、ビットストリーム分解部Ｂ１は、例えばモデムやＤＳＵ等からなる通信制御部を備えていればよい。
また、ビットストリーム分解部Ｂ１は、例えば、記録媒体ドライバを備えていてもよく、この場合、ビットストリーム分解部Ｂ１は、圧縮音声データを、この圧縮音声データが記録された記録媒体から読み取る等して取得してもよい。
【０１５５】
また、音声出力部Ｂ１０は、圧縮音声データを、通信回線等を介して外部に出力するようにしてもよい。通信回線を介してデータを出力する場合、音声出力部Ｂ１０は、例えばモデムやＤＳＵ等からなる通信制御部を備えていればよい。
また、音声出力部Ｂ１０は、記録媒体ドライバを備えていてもよく、この場合、音声出力部Ｂ１０は、音声辞書に格納すべきデータを、この記録媒体ドライバにセットされた記録媒体の記憶領域に書き込むようにしてもよい。
なお、単一のモデムやＤＳＵや記録媒体ドライバがビットストリーム分解部Ｂ１及び音声出力部Ｂ１０を構成していてもよい。
【０１５６】
また、差分データは、圧縮の対象である音声の各周波数成分の強度と基準となる他の音声の各周波数成分の強度との差分を周波数が同一である成分同士で求めた結果をあらわすものであってもよい。（たとえば、上述の音声信号圧縮器の差分計算部Ａ９が、非線形量子化部Ａ５が生成した非線形量子化後のサブバンドデータが表す各周波数成分の強度の瞬時値と、符号化部Ａ７が特定したサブバンドデータが表す各周波数成分の瞬時値との差分を、周波数が同一である成分同士でそれぞれ求め、求めた各差分を表すものとして生成した差分データ。）
この場合、加算部Ｂ５は、差分データを算術符号復号化部Ｂ２から取得し、復号化部Ｂ３から供給されたサブバンドデータが表す各々の周波数成分について、当該周波数成分の瞬時値と、算術符号復号化部Ｂ２から取得した差分データが表す同一周波数成分の瞬時値との和を求め、すべての周波数成分について求めた和を表すデータを生成して、非線形逆量子化部Ｂ６に供給するようにすればよい。
【０１５７】
また、圧縮音声データには、識別コードに代えて、直前の波形と同一の波形が連続していることを示す所定のデータが含まれる場合があってもよい。
この場合、算術符号復号化部２は、この所定のデータが含まれているか否かを判別し、含まれていると判別したとき、直前の波形と同一の波形が連続していることを、たとえば音声出力部Ｂ１０に通知するようにしてもよい。一方、たとえば、音声出力部Ｂ１０は、過去に音声波形復元部Ｂ９より供給された音声データのうちもっとも新しいものを記憶する記憶部を備えていてもよい。そして、音声出力部Ｂ１０は、この場合、算術符号復号化部２より、直前の波形と同一の波形が連続していることを通知されたとき、自らが記憶する音声データが表す音声を再生するようにすればよい。
【０１５８】
【発明の効果】
以上説明したように、この発明によれば、音声を表すデータを効率的に圧縮し、あるいは、ゆらぎを含む音声を表すデータを高音質で圧縮する音声信号圧縮装置、音声信号圧縮方法、及び、プログラムが実現される。
【図面の簡単な説明】
【図１】この発明の第１の実施の形態に係る音声信号圧縮器の構成を示すブロック図である。
【図２】図１の音声信号圧縮器の動作の流れの前半を示す図である。
【図３】図１の音声信号圧縮器の動作の流れの後半を示す図である。
【図４】（ａ）及び（ｂ）は、移相される前の音声データの波形を示すグラフであり、（ｃ）は、ピッチ波形データの波形を表すグラフである。
【図５】音声の各周波数成分の強度の時間変化の例を示すグラフである。
【図６】この発明の第１の実施の形態に係る音声信号伸長器の構成を示すブロック図である。
【図７】図６の音声信号伸長器の動作の流れを示す図である。
【図８】この発明の第２の実施の形態に係る音声信号圧縮器の構成を示すブロック図である。
【図９】図８のピッチ波形抽出部の構成を示すブロック図である。
【図１０】この発明の第２の実施の形態に係る音声信号伸長器の構成を示すブロック図である。
【符号の説明】
Ｃ１、Ｃ２      コンピュータ
ＳＭＤ      記録媒体ドライバ
Ａ１      音声入力部
Ａ２      ピッチ波形抽出部
Ａ２１      ケプストラム解析部
Ａ２２      自己相関解析部
Ａ２３      重み計算部
Ａ２４      ＢＰＦ係数計算部
Ａ２５      バンドパスフィルタ
Ａ２６      ゼロクロス解析部
Ａ２７      波形相関解析部
Ａ２８      位相調整部
Ａ２９      ピッチ長固定部
Ａ３      サブバンド分割部
Ａ４      振幅調整部
Ａ５      非線形量子化部
Ａ６      線形予測解析部
Ａ７      符号化部
Ａ８      復号化部
Ａ９      差分計算部
Ａ１０      量子化部
Ａ１１      算術符号化部
Ａ１２      ビットストリーム形成部
Ｂ１      ビットストリーム分解部
Ｂ２      算術符号復号化部
Ｂ４      差分復元部
Ｂ３      復号化部
Ｂ５      加算部
Ｂ６      非線形逆量子化部
Ｂ７      振幅復元部
Ｂ８      サブバンド合成部
Ｂ９      音声波形復元部
Ｂ１０      音声出力部
【図１】
0003994332.tif 000004
【図２】
0003994332.tif 000005
【図３】
0003994332.tif 000006
【図４】
0003994332.tif 000007
【図５】
0003994332.tif 000008
【図６】
0003994332.tif 000009
【図７】
0003994332.tif 000010
【図８】
0003994332.tif 000011
【図９】
0003994332.tif 000012
【図１０】
0003994332.tif 000013