JP3994332B2 - 音声信号圧縮装置、音声信号圧縮方法、及び、プログラム - Google Patents
音声信号圧縮装置、音声信号圧縮方法、及び、プログラム Download PDFInfo
- Publication number
- JP3994332B2 JP3994332B2 JP2002277749A JP2002277749A JP3994332B2 JP 3994332 B2 JP3994332 B2 JP 3994332B2 JP 2002277749 A JP2002277749 A JP 2002277749A JP 2002277749 A JP2002277749 A JP 2002277749A JP 3994332 B2 JP3994332 B2 JP 3994332B2
- Authority
- JP
- Japan
- Prior art keywords
- audio signal
- signal
- subband
- data
- pitch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Description
この発明は、音声信号圧縮装置、音声信号圧縮方法、及び、プログラムに関する。
【0002】
【従来の技術】
声の信号をパラメータ化して扱う場合には、声の信号を、波形情報よりも周波数情報として扱う場合が多くある。例えば音声合成では、一般に、声のピッチやフォルマントを利用した手法が多く採用されている。また、近年、携帯電話等、デジタル音声通話を行う端末が通信する音声信号を圧縮するために一般的に利用されている手法であるLPC(Linear Prediction Coding:線形予測符号化)も、声の信号を周波数情報として扱う手法のひとつである(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開平05−048462号公報
【0004】
ピッチやフォルマントを、人間の声の発生過程に即して説明すると、人間の声の発生過程はまず、声帯部を振動させて、パルスの列からなるような音を発生させることから始まる。このパルスは、言葉の音素毎に特有なある一定の周期で発生し、この周期が「ピッチ」と呼ばれている。このパルスのスペクトルは、ピッチの整数倍の間隔で並ぶ比較的強いスペクトル成分を含みつつ、幅広い周波数帯に分布する。
【0005】
次に、このパルスが声道を通過すると、このパルスは、声道や舌の形状によって作られる空間でフィルタリングされる。このフィルタリングの結果、このパルスのうちある周波数成分のみが強調されるような音ができる。(すなわち、フォルマントが生成される。)以上が、声の発生過程である。
【0006】
声道や舌を動かすと、声帯が発生したパルスのうち強調される周波数成分は変化する。このため、この変化と言葉とを対応付ければ、音声による会話が成立する。LPCの手法はこの点を利用した手法であり、声道のフィルタ特性をコード化することにより音声の圧縮を実現するものである。音声を再生するには、声道のフィルタ特性を表すパラメータからなる要素をテーブルに登録し、コードをキーとしてテーブルの検索を行う。
【0007】
【発明が解決しようとする課題】
しかし、ここでまず問題になるのが、実際の人間の声道の変化の複雑さである。LPCの手法で圧縮される音声の音質は、テーブルに登録される要素の数が大きいほど向上する。しかし、実際の人間の声道の変化は非常に複雑なため、話者の特定や会話の内容の認識が十分にできるような音質を保ちながら圧縮するためには、声道のフィルタ特性の要素が非常に多く必要である。また、そのような音質を保って圧縮された音声信号をもちいてデジタル音声通話を行う場合、従来は、伝送すべきデータの量も膨大であった。
【0008】
このため、従来は、小型の記憶装置しか搭載できないデジタル音声通話用の端末に声道のフィルタ特性のテーブルを記憶させるためには、例えば、声道をある程度単純化したモデルを想定して声道のフィルタ特性をシミュレートした結果に基づいてテーブルを作成することで満足せざるを得なかった。従って、このような端末を用いた場合、従来は、話者の特定や会話の内容の認識が十分にできるような音質でのデジタル音声通話が困難であった。
【0009】
また、ピッチのゆらぎも問題になっていた。ピッチは、人間の感情や意識に影響されやすく、ある程度は一定とみなせる周期であるものの、現実には微妙にゆらぎを生じる。従って、同一話者が同じ言葉(音素)を複数ピッチ分発声した場合、ピッチの間隔は通常、一定しない。このため、人間の声を単純にフーリエ変換しても、声道のフィルタ特性を正確に求めることができない。
【0010】
従って、人間の声を単純にフーリエ変換した結果に基づいて求めた声道のフィルタ特性を用いてLPCの手法による音声の圧縮を行った場合、従来は、テーブルに登録される要素の数を増やしても、圧縮された音声の音質が十分に改善されなかった。
【0011】
この発明は、上記実状に鑑みてなされたものであり、音声を表すデータを効率的に圧縮し、あるいは、ゆらぎを含む音声を表すデータを高音質で圧縮する音声信号圧縮装置、音声信号圧縮方法、及び、プログラムを提供することを目的とする。
【0012】
【課題を解決するための手段】
上記目的を達成すべく、この発明の第1の観点にかかる音声信号圧縮装置は、
複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段と、
圧縮する対象である第1の音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタと、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで前記第1の音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段と、
前記信号生成手段により生成されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段と、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第1の音声信号と当該取得したサブバンド情報が示す第2の音声信号との差分を表す差分信号を生成する差分生成手段と、
前記差分生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記差分生成手段により生成された前記差分信号とを関連付けて出力する出力手段と、
を備えることを特徴とする。
【0014】
前記フィルタは、前記バンドパスフィルタ、又は、前記第1の音声信号のケプストラムが極大値となる周波数の最小値の逆数と前記第1の音声信号のピリオドグラムが極大値となる周波数の最小値の逆数との平均値を中心周波数とするバンドパスフィルタ、のいずれかを用いてフィルタリングするものであってもよい。
【0018】
また、この発明の第2の観点にかかる音声信号圧縮装置は、
複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段と、
圧縮する対象である第1の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第1の音声信号をピッチ波形信号へと加工する音声信号加工手段と、
前記音声信号加工手段により加工されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段と、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第1の音声信号と当該取得したサブバンド情報が示す第2の音声信号との差分を表す差分信号を生成する生成手段と、
前記生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記生成手段により生成された前記差分信号とを関連付けて出力する出力手段と、
を備えることを特徴とする。
【0021】
また、この発明の第3の観点にかかる音声信号圧縮方法は、
記憶手段、信号抽出手段、信号生成手段、サブバンド抽出手段、差分生成手段、出力手段を有する音声信号圧縮装置にて実行される音声信号圧縮方法であって、
前記記憶手段は、複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶し、
前記信号抽出手段が、圧縮する対象である第1の音声信号をフィルタリングしてピッチ信号を抽出する信号抽出ステップであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数としてフィルタリングする信号抽出ステップと、
前記信号抽出ステップによりフィルタリングされて得られたピッチ信号がゼロクロスするタイミングで当該ピッチ信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成ステップと、
前記サブバンド抽出手段が、前記信号生成ステップにより生成されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出ステップと、
前記差分生成手段が、前記サブバンド抽出ステップにより抽出された前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を前記記憶手段から取得して、前記第1の音声信号と当該取得したサブバンド情報が示す前記第2の音声信号との差分を表す差分信号を生成する差分生成ステップと、
前記差分生成ステップにより取得されたサブバンド情報に対応する前記識別コードと、前記差分生成ステップにより生成された前記差分信号とを関連付けて出力する出力ステップと、
を備えることを特徴とする。
【0022】
また、この発明の第4の観点にかかる音声信号圧縮方法は、
記憶手段、音声信号加工手段、サブバンド抽出手段、生成手段、出力手段を有する音声信号圧縮装置にて実行される音声信号圧縮方法であって、
前記記憶手段は、複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶し、
前記音声信号加工手段が、圧縮する対象である第1の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第1の音声信号をピッチ波形信号へと加工する音声信号加工ステップと、
前記サブバンド抽出手段が、前記音声信号加工ステップにより加工されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出ステップと、
前記生成手段が、前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出ステップにより抽出された前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第1の音声信号と当該取得したサブバンド情報が示す第2の音声信号との差分を表す差分信号を生成する生成ステップと、
前記出力手段が、前記生成ステップにより取得されたサブバンド情報に対応する前記識別コードと、前記生成ステップにより生成された前記差分信号とを関連付けて出力する出力ステップと、
を備えることを特徴とする。
【0025】
また、この発明の第5の観点にかかるプログラムは、
コンピュータを、
複数の所定周波数成分ごとに音声信号の時間変化を表すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段、
圧縮する対象である第1の音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタ、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで当該ピッチ信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプリング数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段、
前記信号生成手段により生成されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第1の音声信号と当該取得したサブバンド情報が示す第2の音声信号との差分を表す差分信号を生成する差分生成手段、
前記差分生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記差分生成手段により生成された前記差分信号とを関連付けて出力する出力手段、
として機能させるためのものであることを特徴とする。
【0026】
また、この発明の第6の観点にかかるプログラムは、
コンピュータを、
複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段、
圧縮する対象である第1の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第1の音声信号をピッチ波形信号へと加工する音声信号加工手段、
前記音声信号加工手段により加工されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第1の音声信号と当該取得したサブバンド情報が示す第2の音声信号との差分を表す差分信号を生成する生成手段、
前記生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記生成手段により生成された前記差分信号とを関連付けて出力する出力手段、
として機能させるためのものであることを特徴とする。
【0029】
【発明の実施の形態】
以下に、図面を参照して、この発明の実施の形態を説明する。
(第1の実施の形態:音声信号圧縮器)
図1は、この発明の第1の実施の形態に係る音声信号圧縮器の構成を示す図である。図示するように、この音声信号圧縮器は、記録媒体(例えば、フレキシブルディスクやMO(Magneto Optical disk)など)に記録されたデータを読み取る記録媒体ドライバ(フレキシブルディスクドライブや、MOドライブなど)SMDと、記録媒体ドライバSMDに接続されたコンピュータC1とより構成されている。
【0030】
図示するように、コンピュータC1は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)等からなるプロセッサや、RAM(Random Access Memory)等からなる揮発性メモリや、ハードディスク装置等からなる不揮発性メモリや、キーボード等からなる入力部や、CRT(陰極線管)等からなる表示部や、RS232Cインターフェース回路等からなっていて外部とのシリアル通信を制御するシリアル通信制御部などからなっている。
【0031】
コンピュータC1は音声信号圧縮プログラムを予め記憶しており、この音声信号圧縮プログラムを実行することにより後述する処理を行う。
【0032】
また、コンピュータC1は、音声信号圧縮プログラムの処理に従ってコンピュータC1が抽出する後述の識別用パラメータと同種の、話者に固有の比較用パラメータを、話者毎に予め記憶する。比較用パラメータは、たとえば識別用パラメータが包絡線データであれば、包絡線データからなっていればよい。
【0033】
また、コンピュータC1は、各々の話者の比較用パラメータに対応付けた形で、この話者の音声を構成する音素を表す音素辞書を記憶する。音素辞書は、具体的には、音素の基本周波数成分及び高調波成分の強度の時間変化を表すサブバンドデータを、音素別に格納している。そして、各々のサブバンドデータには、このサブバンドデータに固有の識別コードが割り当てられている。
【0034】
また、コンピュータC1は、音声信号圧縮プログラムの処理に従ってコンピュータC1が生成する後述の差分データを量子化する精度(あるいは、量子化前の差分データのデータ量に対する量子化後の差分データのデータ量の比を表す圧縮率)を指定するパラメータを予め記憶する。
【0035】
なお、比較用パラメータや、音素辞書や、差分データを量子化する精度(あるいは圧縮率)を指定するパラメータは、ユーザ等がコンピュータC1の入力部を操作して入力し、コンピュータC1に記憶させるようにしてもよい。
【0036】
(第1の実施の形態:音声信号圧縮器の動作)
次に、この音声信号圧縮器の動作を、図2及び図3を参照して説明する。図2及び図3は、図1の音声信号圧縮器の動作の流れを示す図である。
【0037】
ユーザが、音声の波形を表す音声データを記録した記録媒体を記録媒体ドライバSMDにセットして、コンピュータC1に、音声信号圧縮プログラムの起動を指示すると、コンピュータC1は、音声信号圧縮プログラムの処理を開始する。
【0038】
すると、まず、コンピュータC1は、記録媒体ドライバSMDを介し、記録媒体より音声データを読み出す(図2、ステップSA1)。なお、音声データは、PCM(Pulse Code Modulation)変調されたディジタル信号の形式を有しており、音声のピッチより十分短い一定の周期でサンプリングされた音声を表しているものとする。
【0039】
次に、コンピュータC1は、記録媒体より読み出された音声データをフィルタリングすることにより、フィルタリングされた音声データ(ピッチ信号)を生成する(ステップSA2)。ピッチ信号は、音声データのサンプルリング間隔と実質的に同一のサンプリング間隔を有するディジタル形式のデータからなるものとする。
【0040】
なお、コンピュータC1は、ピッチ信号を生成するために行うフィルタリングの特性を、後述するピッチ長と、ピッチ信号の瞬時値が0となる時刻(ゼロクロスする時刻)とに基づくフィードバック処理を行うことにより決定する。
【0041】
すなわち、コンピュータC1は、読み出した音声データに、例えば、ケプストラム解析や、自己相関関数に基づく解析を施すことにより、この音声データが表す音声の基本周波数を特定し、この基本周波数の逆数の絶対値(すなわち、ピッチ長)を求める(ステップSA3)。(あるいは、コンピュータC1は、ケプストラム解析及び自己相関関数に基づく解析の両方を行うことにより基本周波数を2個特定し、これら2個の基本周波数の逆数の絶対値の平均をピッチ長として求めるようにしてもよい。)
【0042】
なお、ケプストラム解析としては、具体的には、まず、読み出した音声データの強度を、元の値の対数(対数の底は任意)に実質的に等しい値へと変換し、値が変換された音声データのスペクトル(すなわち、ケプストラム)を、高速フーリエ変換の手法(あるいは、離散的変数をフーリエ変換した結果を表すデータを生成する他の任意の手法)により求める。そして、このケプストラムの極大値を与える周波数のうちの最小値を基本周波数として特定する。
【0043】
一方、自己相関関数に基づく解析としては、具体的には、読み出した音声データを用いてまず、数式1の右辺により表される自己相関関数r(l)を特定する。そして、自己相関関数r(l)をフーリエ変換した結果得られる関数(ピリオドグラム)の極大値を与える周波数のうち、所定の下限値を超える最小の値を基本周波数として特定する。
【0044】
【数1】
【0045】
一方、コンピュータC1は、ピッチ信号がゼロクロスする時刻が来るタイミングを特定する(ステップSA4)。そして、コンピュータC1は、ピッチ長とピッチ信号のゼロクロスの周期とが互いに所定量以上異なっているか否かを判別し(ステップSA5)、異なっていないと判別した場合は、ゼロクロスの周期の逆数を中心周波数とするようなバンドパスフィルタの特性で上述のフィルタリングを行うこととする(ステップSA6)。一方、所定量以上異なっていると判別した場合は、ピッチ長の逆数を中心周波数とするようなバンドパスフィルタの特性で上述のフィルタリングを行うこととする(ステップSA7)。なお、いずれの場合も、フィルタリングの通過帯域幅は、通過帯域の上限が音声データの表す音声の基本周波数の2倍以内に常に収まるような通過帯域幅であることが望ましい。
【0046】
次に、コンピュータC1は、生成したピッチ信号の単位周期(例えば1周期)の境界が来るタイミング(具体的には、ピッチ信号がゼロクロスするタイミング)で、記録媒体から読み出した音声データを区切る(ステップSA8)。そして、区切られてできる区間のそれぞれについて、この区間内の音声データの位相を種々変化させたものとこの区間内のピッチ信号との相関を求め、最も相関が高くなるときの音声データの位相を、この区間内の音声データの位相として特定する(ステップSA9)。そして、音声データのそれぞれの区間を、互いが実質的に同じ位相になるように移相する(ステップSA10)。
【0047】
具体的には、コンピュータC1は、それぞれの区間毎に、例えば、数式2の右辺により表される値corを、位相を表すφ(ただし、φは0以上の整数)の値を種々変化させた場合それぞれについて求める。そして、値corが最大になるようなφの値Ψを、この区間内の音声データの位相を表す値として特定する。この結果、この区間につき、ピッチ信号との相関が最も高くなる位相の値が定まる。そして、コンピュータC1は、この区間内の音声データを、(−Ψ)だけ移相する。
【0048】
【数2】
【0049】
音声データを上述の通り移相することにより得られるデータ(ピッチ波形データ)が表す波形の一例を図4(c)に示す。図4(a)に示す位相前の音声データの波形のうち、「#1」及び「#2」として示す2個の区間は、図4(b)に示すように、ピッチのゆらぎの影響により互いに異なる位相を有している。これに対し、ピッチ波形データが表す波形の区間#1及び#2は、図4(c)に示すように、ピッチのゆらぎの影響が除去されて位相が揃っている。また、図4(a)に示すように、各区間の始点の値は0に近い値となっている。
【0050】
なお、区間の時間的な長さは、1ピッチ分程度であることが望ましい。区間が長いほど、区間内のサンプル数が増えて、ピッチ波形データのデータ量が増大し、あるいは、サンプリング間隔が増大してピッチ波形データが表す音声が不正確になる、という問題が生じる。
【0051】
次に、コンピュータC1は、ピッチ波形データの各区間をサンプリングし直す(リサンプリングする)。また、各区間の元のサンプル数を示すデータであるピッチ情報も生成する(ステップSA11)。なお、コンピュータC1は、ピッチ波形データの各区間のサンプル数が互いにほぼ等しくなるようにして、同一区間内では等間隔になるようリサンプリングするものとする。
記録媒体より読み出した音声データのサンプリング間隔が既知であるものとすれば、ピッチ情報は、この音声データの単位ピッチ分の区間の元の時間長を表す情報として機能する。
【0052】
次に、コンピュータC1は、ステップSA11でリサンプリングされたピッチ波形データにDCT(Discrete Cosine Transform)等の直交変換を施すことにより、サブバンドデータを生成する(図3、ステップSA12)。
【0053】
サブバンドデータは、ピッチ波形信号が表す音声の基本周波数成分の強度の時間変化を表すデータと、この音声のy個(yは自然数)の基本周波数成分の強度の時間変化を表すy個のデータとを含むデータである。従って、サブバンドデータは、音声の基本周波数成分(又は高調波成分)の強度の時間変化がないとき、この基本周波数成分(又は高調波成分)の強度を、直流信号の形で表す。
【0054】
次に、コンピュータC1は、生成したサブバンドデータが表す基本周波数成分や高調波成分の瞬時値に比例定数を乗じることにより、このサブバンドデータが表す基本周波数成分や高調波成分の振幅を変更する(ステップSA13)。
また、ステップSA13でコンピュータC1は、どのサブバンドデータのどの周波数成分(基本周波数成分又は高調波成分)にどのような値の比例定数を乗じたかを示すデータである比例定数データも生成する。
【0055】
比例定数は、たとえば、同一のサブバンドデータが表す各周波数成分の強度の最大値が、互いに共通した一定値になるように決定する。すなわち、例えばこの一定値をJとした場合、コンピュータC1は、一定値Jを特定の周波数成分の強度の最大値Kで除した値(J/K)を求める。この値(J/K)が、この周波数成分の瞬時値に乗じる比例定数である。
【0056】
サブバンドデータの振幅を変更すると、コンピュータC1は、このサブバンドデータが表す各周波数成分の瞬時値に非線形圧縮を施して得られる値(具体的には、たとえば、瞬時値を上に凸な関数に代入して得られる値)を量子化したものに相当するサブバンドデータ(非線形量子化後のサブバンドデータ)を生成する(ステップSA14)。
【0057】
なお、非線形圧縮の手法は、具体的には、例えば、量子化後の各周波数成分の瞬時値が、元の瞬時値の対数を量子化した値に実質的に等しくなるようなものであればよい。(ただし、対数の底はすべての周波数成分について共通であるものとする。例えば常用対数など。)
【0058】
また、コンピュータC1は、記録媒体より読み出した音声データに線形予測解析を施すことにより、この音声データが表す音声の話者に固有の識別用パラメータを抽出する(ステップSA15)。識別用パラメータは、たとえば、この音声のスペクトルの包絡線を表す包絡線データや、あるいはこの音声のフォルマントを表すデータなどであればよい。ただし、識別用パラメータは、上述した比較用パラメータと同種のパラメータであるものとする。
【0059】
そして、コンピュータC1は、非線形量子化後のサブバンドデータの生成と識別用パラメータの抽出を行うと、自己の不揮発性メモリに記憶されている比較用パラメータのうちから、抽出した識別用パラメータにもっともよく近似できる比較用パラメータを特定して、この比較用パラメータに対応付けられた音素辞書を選択する(ステップSA16)。
【0060】
識別用パラメータ及び比較用パラメータがいずれも包絡線データからなる場合、コンピュータC1は、たとえば、識別用パラメータが表す包絡線との間の相関係数が最も大きい包絡線を表す比較用パラメータを、識別用パラメータに最もよく近似できる比較用パラメータとして特定すればよい。
【0061】
次に、コンピュータC1は、選択した音素辞書に含まれるサブバンドデータのうち、非線形量子化後のサブバンドデータにもっとも近い波形を表しているものを特定する(ステップSA17)。具体的には、コンピュータC1は、たとえば、以下(1)及び(2)として記す処理を行う。すなわち、
(1) まず、非線形量子化後のサブバンドデータと、選択した音素辞書に含まれる1個の音素のサブバンドデータとの間で、同一周波数成分間の相関係数を各々求め、求めた相関係数の平均値を求める。
(2) (1)の処理を、選択した音素辞書に含まれるすべての音素のサブバンドデータについて行い、相関係数の平均値が最も高かったサブバンドデータを、非線形量子化後のサブバンドデータにもっとも近い波形を表しているものとして特定する。
【0062】
次に、コンピュータC1は、ステップSA17で特定したサブバンドデータに変換を施すことにより、このサブバンドデータにより各周波数成分の強度が表されるピッチ波形データを復元する(ステップSA18)。ステップSA18でサブバンドデータに施す変換は、このサブバンドデータを生成するために音素の波形に施した変換に対して実質的に逆変換の関係にあるような変換である。具体的には、たとえばこのサブバンドデータが音素にDCTを施して生成されたものである場合は、このサブバンドデータにIDCT(Inverse DCT)を施すようにすればよい。
【0063】
次に、コンピュータC1は、ステップSA11でリサンプリングされたピッチ波形データの瞬時値と、ステップSA18で復元されたピッチ波形データの瞬時値との差を表す差分データを生成する(ステップSA19)。
そして、ステップSA19で生成した差分データの瞬時値を、自己の不揮発性メモリが記憶するパラメータにより指定される精度で(あるいは、このパラメータにより指定される圧縮率となるように)量子化する(ステップSA20)。
【0064】
次に、コンピュータC1は、ステップSA17で特定したサブバンドデータに割り当てられている識別コードを自己の不揮発性メモリから読み出し、読み出した識別コードと、ステップSA20で量子化した差分データと、ステップSA11で生成したピッチ情報と、ステップSA13で生成した比例定数データとを、算術符号(arithmetic code)へと変換する(ステップSA21)。
【0065】
そして、コンピュータC1は、ステップSA21で得られた算術符号を表すビットストリームを生成し、自己のシリアル通信制御部より、圧縮音声データとして出力する(ステップSA22)。
【0066】
圧縮音声データは、単位ピッチ分の区間の時間長が規格化され、ピッチのゆらぎの影響が除去された音声データであるピッチ波形データに基づいて生成されている。このため、圧縮音声データは、音声の各周波数成分(基本周波数成分及び高調波成分)の強度の時間変化を正確に表すものとなる。
【0067】
また、圧縮音声データは、予め各周波数成分の強度の時間変化のサンプルをデータが用意されている音声を識別する識別コードと、この音声との差分を表す差分データとから構成されている。
一方、たとえば図5に示すように、人間が実際に発する有声音の各周波数成分の強度の時間変化は通常極めて小さく、また、同一話者の音声間での差異も小さい。従って、圧縮する対象の音声の話者と同一の話者の音声を表すサブバンドデータを音素辞書に予め格納しておき、この話者に固有の識別用パラメータを対応付けておくことにより、差分データのデータ量は極めて小さくなる。従って、圧縮音声データのデータ量も極めて小さくなる。
【0068】
なお、図5において、「BND0」として示すグラフは音声の基本周波数成分の強度を示し、「BNDk」(ただし、kは1から7までの整数)として示すグラフは、この音声の(k+1)次高調波成分の強度を示している。そして、「d1」として示す区間は、母音「ア」を表す区間であり、「d2」として示す区間は、母音「イ」を表す区間であり、「d3」として示す区間は、母音「ウ」を表す区間であり、「d4」として示す区間は、母音「エ」を表す区間である。
【0069】
また、ピッチ情報を用いてピッチ波形信号の各区間の元の時間長を特定することができ、比例定数データを用いて各周波数成分の元の振幅を特定することができる。このため、ピッチ波形信号の各区間の時間長や各周波数成分の振幅を、元の音声データにおける時間長や振幅へと復元することにより、元の音声データを容易に復元できる。
【0070】
なお、この音声信号圧縮器の構成は上述のものに限られない。
たとえば、コンピュータC1は、電話回線、専用回線、衛星回線等の通信回線を介して外部より音声データを取得するようにしてもよい。この場合、コンピュータC1は、例えばモデムやDSU(Data Service Unit)等からなる通信制御部を備えていればよい。またこの場合、記録媒体ドライバSMDは不要である。また、コンピュータC1は、比較用パラメータや、音素辞書や、差分データを量子化する精度(あるいは圧縮率)を指定するパラメータも、通信回線を介して外部より取得して記憶するようにしてよい。
【0071】
また、コンピュータC1は、マイクロフォン、AF増幅器、サンプラー、A/D(Analog-to-Digital)コンバータ及びPCMエンコーダなどからなる集音装置を備えていてもよい。集音装置は、自己のマイクロフォンが集音した音声を表す音声信号を増幅し、サンプリングしてA/D変換した後、サンプリングされた音声信号にPCM変調を施すことにより、音声データを取得すればよい。なお、コンピュータC1が取得する音声データは、必ずしもPCM信号である必要はない。
【0072】
また、コンピュータC1は、音声辞書に格納すべきデータを、記録媒体ドライバSMDにセットされた記録媒体に、記録媒体ドライバSMDを介して書き込むようにしてもよい。あるいは、ハードディスク装置等からなる外部の記憶装置に書き込むようにしてもよい。これらの場合、コンピュータC1は、記録媒体ドライバや、ハードディスクコントローラ等の制御回路を備えていればよい。
【0073】
また、コンピュータC1は、比較用パラメータや、音素辞書や、差分データを量子化する精度(あるいは圧縮率)を指定するパラメータなどを記録した記録媒体を記録媒体ドライバSMDにセットし、コンピュータC1の入力部を操作して、この記録媒体に記録されたデータを、記録媒体ドライバSMDを介してコンピュータC1に読み取らせ、記憶させるようにしてよい。
【0074】
また、差分データは、非線形量子化後のサブバンドデータが表す各周波数成分の強度の瞬時値と、ステップSA17で特定されたサブバンドデータが表す各周波数成分の瞬時値との差分を、周波数が同一である成分同士でそれぞれ求めた結果を表すデータであってもよい。
この場合、コンピュータC1は、ステップSA18の処理を省略し、ステップSA19において、非線形量子化後のサブバンドデータが表す各周波数成分の強度の瞬時値と、ステップSA17で特定したサブバンドデータが表す各周波数成分の瞬時値との差分を、周波数が同一である成分同士でそれぞれ求め、求めた各差分を表す差分データを生成して、ステップSA20に処理を進めるようにすればよい。
【0075】
また、コンピュータC1は、過去に生成した非線形量子化後のサブバンドデータのうちもっとも新しいものを記憶するようにしてもよい。この場合、コンピュータC1は、新たに非線形量子化後のサブバンドデータを生成するたびに、このサブバンドデータが、自ら記憶している非線形量子化後のサブバンドデータとの間で一定程度以上高い相関を示しているか否かを判別し、示していると判別したとき、識別コード及び差分データに代えて、直前の波形と同一の波形が連続していることを示す所定のデータを生成するようにしてもよい。こうすることにより、圧縮音声データのデータ量は更に小さくなる。
なお、新たに供給されたサブバンドデータと自ら記憶しているサブバンドデータとの間の相関の程度は、たとえば、これら両サブバンドデータ間で、同一周波数成分間の相関係数を各々求め、求めた相関係数の平均値の大きさに基づいて判別するようにすればよい。
【0076】
また、コンピュータC1は、必ずしも音声データの振幅の実効値を揃える必要はない。
また、コンピュータC1は、ケプストラム解析又は自己相関係数に基づく解析のいずれかを行わなくてもよく、この場合は、ケプストラム解析又は自己相関係数に基づく解析のうち一方の手法で求めた基本周波数の逆数をそのままピッチ長として扱うようにすればよい。
【0077】
また、コンピュータC1が音声データの各区間内の音声データを移相する量は(−Ψ)である必要はなく、例えば、コンピュータC1は、初期位相を表す各区間に共通な実数をδとして、それぞれの区間につき、(−Ψ+δ)だけ、音声データを移相するようにしてもよい。また、コンピュータC1が音声データの音声データを区切る位置は、必ずしもピッチ信号がゼロクロスするタイミングである必要はなく、例えば、ピッチ信号が0でない所定の値となるタイミングであってもよい。
しかし、初期位相αを0とし、且つ、ピッチ信号がゼロクロスするタイミングで音声データを区切るようにすれば、各区間の始点の値は0に近い値になるので、音声データを各区間へと区切ることに各区間が含むようになるノイズの量が少なくなる。
【0078】
なお、コンピュータC1は専用のシステムである必要はなく、パーソナルコンピュータ等であってよい。また、音声信号圧縮プログラムは、音声信号圧縮プログラムを格納した媒体(CD−ROM、MO、フレキシブルディスク等)からコンピュータC1へとインストールするようにしてもよいし、通信回線の掲示板(BBS)にピッチ波形抽出プログラムをアップロードし、これを通信回線を介して配信してもよい。また、音声信号圧縮プログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調して音声信号圧縮プログラムを復元するようにしてもよい。
【0079】
また、音声信号圧縮プログラムは、OSの制御下に、他のアプリケーションプログラムと同様に起動してコンピュータC1に実行させることにより、上述の処理を実行することができる。なお、OSが上述の処理の一部を分担する場合、記録媒体に格納される音声信号圧縮プログラムは、当該処理を制御する部分を除いたものであってもよい。
【0080】
(第1の実施の形態:音声信号伸長器)
次に、この発明の第1の実施の形態に係る音声信号伸長器を説明する。
この音声信号伸長器は、例えば、図6に示す構成を有している。図示するように、この音声信号伸長器は、図1の音声信号圧縮器におけるコンピュータC1と実質的に同一の物理的構成を有するコンピュータC2からなっている。そして、コンピュータC2は更に、音声出力部を備えている。音声出力部は、たとえば、PCMデコーダの機能を行う制御回路と、D/A(Digital-to-Analog)コンバータと、AF(Audio Frequency)増幅器と、スピーカ等とを備えている。
【0081】
コンピュータC2は音声信号伸長プログラムを予め記憶しており、この音声信号伸長プログラムを実行することにより後述する処理を行う。
また、この音声信号伸長器のコンピュータC2は、上述の音声信号圧縮器のコンピュータC1が記憶しているものと実質的に同一の音素辞書を記憶している。この音素辞書は、ユーザ等がコンピュータC2の入力部を操作して入力し、コンピュータC2に記憶させるようにしてもよい。
なお、同一のコンピュータが、コンピュータC1及びコンピュータC2の機能を行ってもよい。
【0082】
(第1の実施の形態:音声信号伸長器の動作)
次に、図1の音声信号伸長器の動作を、図7を参照して説明する。図7は、この音声信号伸長器の動作の流れを示す図である。
【0083】
ユーザが、コンピュータC2に、音声信号伸長プログラムの起動を指示すると、コンピュータC2は、音声信号伸長プログラムの処理を開始する。
【0084】
すると、まず、コンピュータC2は、上述した音声信号圧縮器が生成したビットストリーム(又は当該ビットストリームと実質的に同一のデータ構造を有するビットストリーム)を、例えば自己のシリアル通信制御部を介して外部から取得する(図7、ステップSB1)。そして、取得したビットストリームを、識別コードを表す算術符号、差分データを表す算術符号、比例定数データを表す算術符号、及びピッチ情報を表す算術符号へと分解する(ステップSB2)。
【0085】
次に、コンピュータC2は、ビットストリームを分解して得られた各算術符号を復号化することにより識別コード、差分データ、比例定数データ及びピッチ情報を復元する(ステップSB3)。そして、復元された識別コードを割り当てられているサブバンドデータを自己が記憶している音素辞書より索出する(ステップSB4)。
【0086】
一方、コンピュータC2は、ステップSB3で復元した差分データに、上述の音声信号圧縮器がステップSA12で行うものと実質的に同一の変換を施すことにより、この差分データの各周波数成分の強度を表すデータを生成する(ステップSB5)。
【0087】
次に、コンピュータC2は、ステップSB4で索出されたサブバンドデータが表す各々の周波数成分について、当該周波数成分の瞬時値と、ステップSB5で生成したデータが表す同一周波数成分の瞬時値との和を求め、得られたこれらの和を表すデータを生成する(ステップSB6)。ステップSB6で生成されるこのデータは、伸長する対象である音声データに基づいて生成されたサブバンドデータに、上述の音声信号圧縮器がステップSA13及びSA14で行う処理と実質的に同一の処理を施して得られる非線形圧縮後のサブバンドデータに相当する。
【0088】
次に、コンピュータC2は、ステップSB6で生成したデータが表す各周波数成分の瞬時値を変更することにより、伸長する対象である音声データを表す、非線形量子化される前のサブバンドデータに相当するデータを生成する(ステップSB7)。
【0089】
次に、コンピュータC2は、ステップSB7で得られたデータ(非線形量子化される前のサブバンドデータ)が表す各周波数成分の瞬時値に、ステップSB3で復元された比例定数データが表す比例定数の逆数を乗じることにより振幅を変更する(ステップSB8)。
【0090】
次に、コンピュータC2は、ステップSB8で振幅を変更されたサブバンドデータに、上述の音声信号圧縮器がステップSA18で行う変換と実質的に同一の変換を施すことにより、このサブバンドデータにより各周波数成分の強度が表されるピッチ波形データを復元する(ステップSB9)。
【0091】
次に、コンピュータC2は、ステップSB9で復元されたピッチ波形データの各区間の時間長を、ステップSB3で復元されたピッチ情報が示す時間長になるよう変更する(ステップSB10)。区間の時間長の変更は、たとえば区間内にあるサンプルの間隔を変更することにより行えばよい。
そして、コンピュータC2は、各区間の時間長を変更されたピッチ波形データ(すなわち、復元された音声を表す音声データ)を復調し、D/A変換及び増幅を行い、得られたアナログ信号を用いてスピーカを駆動することにより、音声を再生する(ステップSB11)。
【0092】
なお、この音声信号伸長器の構成も、上述のものに限られない。
たとえば、コンピュータC2は、例えばモデムやDSU等からなる通信制御装置を備えていてもよい。この場合、コンピュータC2は、外部の通信回線及び自己の通信制御装置を介して外部より音声データを取得してもよいし、圧縮音声データを、通信回線を介して外部に出力するようにしてもよい。
【0093】
また、コンピュータC2は、例えば、上述の記録媒体ドライバSMDと同様の記録媒体ドライバを備えていてもよい。この場合、コンピュータC2は、圧縮音声データを、この圧縮音声データが記録された記録媒体から読み取る等して取得してもよいし、音声辞書に格納すべきデータを、この記録媒体ドライバにセットされた記録媒体の記憶領域に書き込むようにしてもよい。
【0094】
また、差分データは、圧縮の対象である音声の各周波数成分の強度と基準となる他の音声の各周波数成分の強度との差分を周波数が同一である成分同士で求めた結果をあらわすものであってもよい。(たとえば、上述の音声信号圧縮器が、非線形量子化後のサブバンドデータが表す各周波数成分の強度の瞬時値と、ステップSA17で特定されたサブバンドデータが表す各周波数成分の瞬時値との差分を、周波数が同一である成分同士でそれぞれ求め、求めた各差分を表すものとして生成した差分データ。)
この場合、コンピュータC2は、例えば、ステップSB5の処理を省略し、ステップSB6においては、ステップSB4で索出されたサブバンドデータが表す各々の周波数成分につき、当該周波数成分の瞬時値と、ステップSB3で復元された差分データが表す同一周波数成分の瞬時値との和を求め、すべての周波数成分について求めた和を表すデータを生成するようにすればよい。
【0095】
また、圧縮音声データには、識別コードに代えて、直前の波形と同一の波形が連続していることを示す所定のデータが含まれる場合があってもよい。
このようなデータが圧縮音声データに含まれることがあり得る場合、コンピュータC2は、例えばステップSB3で、この所定のデータが含まれているか否かの判別も行うものとし、一方、例えばステップSB10では、区間の時間長を変更したピッチ波形データのうちもっとも新しいものを記憶するものとすればよい。そして、このデータが含まれているとステップSB3で判別した場合、当該判別をして以降最初に行うステップSB11の処理では、ステップSB10で自らが記憶した最新のピッチ波形データが表す音声を再生するようにすればよい。
【0096】
なお、コンピュータC2も専用のシステムである必要はなく、パーソナルコンピュータ等であってよい。また、音声信号伸長プログラムは、音声信号伸長プログラムを格納した媒体からコンピュータC2へとインストールするようにしてもよいし、通信回線の掲示板に音声信号伸長プログラムをアップロードし、これを通信回線を介して配信してもよい。また、音声信号伸長プログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調して音声信号伸長プログラムを復元するようにしてもよい。
【0097】
また、音声信号伸長プログラムは、OSの制御下に、他のアプリケーションプログラムと同様に起動してコンピュータC2に実行させることにより、上述の処理を実行することができる。なお、OSが上述の処理の一部を分担する場合、記録媒体に格納される音声信号伸長プログラムは、当該処理を制御する部分を除いたものであってもよい。
【0098】
(第2の実施の形態:音声信号圧縮器)
次に、この発明の第2の実施の形態を説明する。
図8は、この発明の第2の実施の形態に係る音声信号圧縮器の構成を示す図である。図示するように、この音声信号圧縮器は、音声入力部A1と、ピッチ波形抽出部A2と、サブバンド分割部A3と、振幅調整部A4と、非線形量子化部A5と、線形予測解析部A6と、符号化部A7と、復号化部A8と、差分計算部A9と、量子化部A10と、算術符号化部A11と、ビットストリーム形成部A12とより構成されている。
【0099】
音声入力部A1は、例えば、第1の実施の形態における記録媒体ドライバSMDと同様の記録媒体ドライバ等より構成されている。
音声入力部A1は、音声の波形を表す音声データを、この音声データが記録された記録媒体から読み取る等して取得し、ピッチ波形抽出部A2及び線形予測解析部A6に供給する。なお、音声データは、PCM変調されたディジタル信号の形式を有しており、音声のピッチより十分短い一定の周期でサンプリングされた音声を表しているものとする。
【0100】
ピッチ波形抽出部A2、サブバンド分割部A3、振幅調整部A4、非線形量子化部A5、線形予測解析部A6、符号化部A7、復号化部A8、差分計算部A9、量子化部A10及び算術符号化部A11は、いずれも、DSPやCPU等のプロセッサより構成されている。
なお、ピッチ波形抽出部A2、サブバンド分割部A3、振幅調整部A4、非線形量子化部A5、線形予測解析部A6、符号化部A7、復号化部A8、差分計算部A9、量子化部A10及び算術符号化部A11の一部又は全部の機能を単一のプロセッサが行うようにしてもよい。
【0101】
ピッチ波形抽出部A2は、音声入力部A1より供給された音声データを、この音声データが表す音声の単位ピッチ分(たとえば、1ピッチ分)にあたる区間へと分割する。そして、分割されてできた各区間を移相及びリサンプリングすることにより、各区間の時間長及び位相を互いに実質的に同一になるように揃える。そして、各区間の時間長及び位相を揃えられた音声データ(ピッチ波形データ)を、サブバンド分割部A3及び差分計算部A9に供給する。
また、ピッチ波形抽出部A2は、この音声データの各区間の元のサンプル数を示すピッチ情報を生成し、算術符号化部A11へと供給する。
【0102】
ピッチ波形抽出部A2は、機能的には、たとえば図9に示すように、ケプストラム解析部A21と、自己相関解析部A22と、重み計算部A23と、BPF(バンドパスフィルタ)係数計算部A24と、バンドパスフィルタA25と、ゼロクロス解析部A26と、波形相関解析部A27と、位相調整部A28と、ピッチ長固定部A29とより構成されている。
【0103】
なお、ケプストラム解析部A21、自己相関解析部A22、重み計算部A23、BPF係数計算部A24、バンドパスフィルタA25、ゼロクロス解析部A26、波形相関解析部A27、位相調整部A28及びピッチ長固定部A29の一部又は全部の機能を単一のプロセッサが行うようにしてもよい。
【0104】
なお、ケプストラム解析部A21、自己相関解析部A22、重み計算部A23、BPF係数計算部A24、バンドパスフィルタA25、ゼロクロス解析部A26、波形相関解析部A27、位相調整部A28及びピッチ長固定部A29の一部又は全部の機能を同一のDSPやCPUが行ってもよい。
【0105】
ピッチ波形抽出部A2は、ケプストラム解析と、自己相関関数に基づく解析とを併用して、ピッチの長さを特定する。
すなわち、まず、ケプストラム解析部A21は、音声入力部A1より供給される音声データにケプストラム解析を施すことにより、この音声データが表す音声の基本周波数を特定し、特定した基本周波数を示すデータを生成して重み計算部A23へと供給する。
【0106】
具体的には、ケプストラム解析部A21は、音声入力部A1より音声データを供給されると、まず、この音声データの強度を、元の値の対数に実質的に等しい値へと変換する。(対数の底は任意である。)
次に、ケプストラム解析部A21は、値が変換された音声データのスペクトル(すなわち、ケプストラム)を、高速フーリエ変換の手法(あるいは、離散的変数をフーリエ変換した結果を表すデータを生成する他の任意の手法)により求める。
そして、このケプストラムの極大値を与える周波数のうちの最小値を基本周波数として特定し、特定した基本周波数を示すデータを生成して重み計算部A23へと供給する。
【0107】
一方、自己相関解析部A22は、音声入力部A1より音声データを供給されると、音声データの波形の自己相関関数に基づいて、この音声データが表す音声の基本周波数を特定し、特定した基本周波数を示すデータを生成して重み計算部A23へと供給する。
【0108】
具体的には、自己相関解析部A22は、音声入力部A1より音声データを供給されるとまず、上述した自己相関関数r(l)を特定する。そして、特定した自己相関関数r(l)をフーリエ変換した結果得られるピリオドグラムの極大値を与える周波数のうち、所定の下限値を超える最小の値を基本周波数として特定し、特定した基本周波数を示すデータを生成して重み計算部A23へと供給する。
【0109】
重み計算部A23は、ケプストラム解析部A21及び自己相関解析部A22より基本周波数を示すデータを1個ずつ合計2個供給されると、これら2個のデータが示す基本周波数の逆数の絶対値の平均を求める。そして、求めた値(すなわち、平均ピッチ長)を示すデータを生成し、BPF係数計算部A24へと供給する。
【0110】
BPF係数計算部A24は、平均ピッチ長を示すデータを重み計算部A23より供給され、ゼロクロス解析部A26より後述のゼロクロス信号を供給されると、供給されたデータやゼロクロス信号に基づき、平均ピッチ長とピッチ信号とゼロクロスの周期とが互いに所定量以上異なっているか否かを判別する。そして、異なっていないと判別したときは、ゼロクロスの周期の逆数を中心周波数(バンドパスフィルタA25の通過帯域の中央の周波数)とするように、バンドパスフィルタA25の周波数特性を制御する。一方、所定量以上異なっていると判別したときは、平均ピッチ長の逆数を中心周波数とするように、バンドパスフィルタA25の周波数特性を制御する。
【0111】
バンドパスフィルタA25は、中心周波数が可変なFIR(Finite Impulse Response)型のフィルタの機能を行う。
具体的には、バンドパスフィルタA25は、自己の中心周波数を、BPF係数計算部A24の制御に従った値に設定する。そして、音声入力部A1より供給される音声データをフィルタリングして、フィルタリングされた音声データ(ピッチ信号)を、ゼロクロス解析部A26及び波形相関解析部A27へと供給する。ピッチ信号は、音声データのサンプルリング間隔と実質的に同一のサンプリング間隔を有するディジタル形式のデータからなるものとする。
なお、バンドパスフィルタA25の帯域幅は、バンドパスフィルタA25の通過帯域の上限が音声データの表す音声の基本周波数の2倍以内に常に収まるような帯域幅であることが望ましい。
【0112】
ゼロクロス解析部A26は、バンドパスフィルタA25から供給されたピッチ信号の瞬時値が0となる時刻(ゼロクロスする時刻)が来るタイミングを特定し、特定したタイミングを表す信号(ゼロクロス信号)を、BPF係数計算部A24へと供給する。このようにして、音声データのピッチの長さが特定される。
ただし、ゼロクロス解析部A26は、ピッチ信号の瞬時値が0でない所定の値となる時刻が来るタイミングを特定し、特定したタイミングを表す信号を、ゼロクロス信号に代えてBPF係数計算部A24へと供給するようにしてもよい。
【0113】
波形相関解析部A27は、音声入力部A1より音声データを供給され、バンドパスフィルタA25よりピッチ信号を供給されると、ピッチ信号の単位周期(例えば1周期)の境界が来るタイミングで音声データを区切る。そして、区切られてできる区間のそれぞれについて、この区間内の音声データの位相を種々変化させたものとこの区間内のピッチ信号との相関を求め、最も相関が高くなるときの音声データの位相を、この区間内の音声データの位相として特定する。このようにして、各区間につき音声データの位相が特定される。
【0114】
具体的には、波形相関解析部A27は、例えば、それぞれの区間毎に、上述した値Ψを特定し、値Ψを示すデータを生成して、この区間内の音声データの位相を表す位相データとして位相調整部A28に供給する。なお、区間の時間的な長さは、1ピッチ分程度であることが望ましい。
【0115】
位相調整部A28は、音声入力部A1より音声データを供給され、波形相関解析部A27より音声データの各区間の位相Ψを示すデータを供給されると、それぞれの区間の音声データの位相を(−Ψ)だけ移相することにより、各区間の位相を揃える。そして、移相された音声データをピッチ長固定部A29に供給する。
【0116】
ピッチ長固定部A29は、移相された音声データを位相調整部A28より供給されると、供給された音声データの各区間をリサンプリングすることにより、各区間の時間長を互いに実質的に同一になるように揃える。そして、各区間の時間長を揃えられた音声データ(すなわち、ピッチ波形データ)をサブバンド分割部A3及び差分計算部A9へと供給する。
【0117】
また、ピッチ長固定部A29は、この音声データの各区間の元のサンプル数(音声入力部A1よりピッチ長固定部A29へと供給された時点におけるこの音声データの各区間のサンプル数)を示すピッチ情報を生成し、算術符号化部A11へと供給する。
【0118】
サブバンド分割部A3は、ピッチ波形抽出部A2より供給されたピッチ波形データにDCT等の直交変換を施すことにより、上述したサブバンドデータを生成する。そして、生成したサブバンドデータを振幅調整部A4へと供給する。
【0119】
振幅調整部A4は、サブバンド分割部A3よりサブバンドデータを供給されると、このサブバンドデータが表す基本周波数成分や高調波成分の瞬時値に比例定数を乗じることにより振幅を変更し、振幅が変更されたサブバンドデータを非線形量子化部A5に供給する。このようにして、サブバンドデータの各周波数成分に乗じる比例定数が特定される。
【0120】
また、振幅調整部A4は、どのサブバンドデータのどの周波数成分(基本周波数成分又は高調波成分)にどのような値の比例定数を乗じたかを示す比例定数データを生成し、この比例定数データを算術符号化部A11に供給する。なお、比例定数は、たとえば、同一のサブバンドデータが表す各周波数成分の強度の最大値が、互いに共通した一定値になるように決定するものとする。
【0121】
非線形量子化部A5は、振幅調整部A4より、振幅を変更されたサブバンドデータを供給されると、このサブバンドデータが表す各周波数成分の瞬時値に非線形圧縮を施して得られる値を量子化したものに相当するサブバンドデータを生成し、生成したサブバンドデータ(すなわち、非線形量子化後のサブバンドデータ)を符号化部A7へと供給する。
なお、非線形圧縮の手法は、具体的には、例えば、非線形量子化後のサブバンドデータの各周波数成分の瞬時値が、元の瞬時値の対数を量子化した値に実質的に等しくなるようなものであればよい。(ただし、対数の底はすべての周波数成分について共通であるものとする。)
【0122】
線形予測解析部A6は、音声入力部A1より供給された音声データに線形予測解析を施すことにより、この音声データが表す音声の話者に固有の識別用パラメータ(たとえば、この音声のスペクトルの包絡線を表す包絡線データや、あるいはこの音声のフォルマントを表すデータなど)を抽出する。そして、抽出したパラメータを符号化部A7に供給する。
【0123】
符号化部A7は、プロセッサに加え、ハードディスク装置等からなる記憶装置を備えている。
符号化部A7は、話者に固有のパラメータであって線形予測解析部A6が抽出する識別用パラメータと同種のパラメータ(たとえば、識別用パラメータが包絡線データであれば、包絡線データ)を、話者毎に記憶する。また、各々の話者のパラメータに対応付けた形で、この話者の音声を構成する音素を表す音素辞書を記憶する。音素辞書は、具体的には、第1の実施の形態における音素序書と同様、音素の基本周波数成分及び高調波成分の強度の時間変化を表すサブバンドデータを、音素別に格納しているデータベースからなっていればよく、各々のサブバンドデータには、このサブバンドデータに固有の識別コードが割り当てられていればよい。
【0124】
符号化部A7は、非線形量子化部A5より非線形量子化後のサブバンドデータを供給され、線形予測解析部A6より識別用パラメータを供給されると、符号化部A7自身が記憶しているパラメータのうち、線形予測解析部A6より供給された識別用パラメータにもっともよく近似できるパラメータを特定することにより、このパラメータに対応付けられた音素辞書を選択する。
【0125】
識別用パラメータ及び符号化部A7が記憶するパラメータがいずれも包絡線データからなる場合、符号化部A7は、たとえば、識別用パラメータが表す包絡線との間の相関係数が最も大きい包絡線を表すパラメータを、識別用パラメータに最もよく近似できるパラメータとして特定すればよい。
【0126】
次に、符号化部A7は、選択した音素辞書に含まれるサブバンドデータのうち、非線形量子化部A5より供給されたサブバンドデータにもっとも近い波形を表しているものを特定する。具体的には、たとえば、符号化部A7は、以下(1)及び(2)として記す処理を行う。すなわち、
(1) まず、非線形量子化部A5より供給されたサブバンドデータと、選択した音素辞書に含まれる1個の音素のサブバンドデータとの間で、同一周波数成分間の相関係数を各々求め、求めた相関係数の平均値を求める。
(2) (1)の処理を、選択した音素辞書に含まれるすべての音素のサブバンドデータについて行い、相関係数の平均値が最も高かったサブバンドデータを、非線形量子化部A5より供給されたサブバンドデータにもっとも近い波形を表しているものとして特定する。
【0127】
そして、符号化部A7は、特定したサブバンドデータに割り当てられている識別コードを、算術符号化部A11へと供給する。また、特定したサブバンドデータを、復号化部A8へと供給する。
【0128】
復号化部A8は、符号化部A7より供給されたサブバンドデータに変換を施すことにより、このサブバンドデータにより各周波数成分の強度が表されるピッチ波形データを復元する。そして、復元されたピッチ波形データを差分計算部A9へと供給する。なお、復号化部A8がサブバンドデータに施す変換は、このサブバンドデータを生成するために音素の波形に施した変換に対して実質的に逆変換の関係にあるような変換であるものとする。
【0129】
差分計算部A9は、ピッチ波形抽出部A2から供給されたピッチ波形データの瞬時値と、復号化部A8から供給されたピッチ波形データの瞬時値との差を表す差分データを生成し、量子化部A10に供給する。
【0130】
量子化部A10は、プロセッサに加え、ROM(Read Only Memory)等の記憶装置を備えている。
量子化部A10は、差分データを量子化する精度(あるいは、量子化前の差分データのデータ量に対する量子化後の差分データのデータ量の比を表す圧縮率)を指定するパラメータを、ユーザ等の操作に従って記憶する。そして、差分計算部A9より差分データを供給されると、この差分データの瞬時値を、自己が記憶するパラメータにより指定される精度で量子化し(あるいは、このパラメータにより指定される圧縮率となるよう量子化し)、量子化された差分データを算術符号化部A11へと供給する。
【0131】
算術符号化部A11は、符号化部A7より供給された識別コードと、量子化部A10より供給された差分データと、ピッチ波形抽出部A2より供給されたピッチ情報と、振幅調整部A4より供給された比例定数データとを算術符号へと変換し、互いに対応付けてビットストリーム形成部A12へと供給する。
【0132】
ビットストリーム形成部A12は、たとえば、RS232C等の規格に準拠して外部とのシリアル通信を制御する制御回路と、CPU等のプロセッサとより構成されている。
ビットストリーム形成部A12は、互いに対応付けられて算術符号化部A11より供給された算術符号を表すビットストリームを生成し、圧縮音声データとして出力する。
【0133】
ビットストリーム形成部A12が出力する圧縮音声データも、単位ピッチ分の区間の時間長が規格化され、ピッチのゆらぎの影響が除去された音声データであるピッチ波形データに基づいて生成されている。このため、圧縮音声データは、音声の各周波数成分(基本周波数成分及び高調波成分)の強度の時間変化を正確に表すものとなる。
また、圧縮音声データは、予め各周波数成分の強度の時間変化のサンプルをデータが用意されている音声を識別する識別コードと、この音声との差分を表す差分データとから構成されているので、圧縮音声データのデータ量は極めて小さくなる。
また、ピッチ情報を用いてピッチ波形信号の各区間の元の時間長を特定することができ、比例定数データを用いて各周波数成分の元の振幅を特定することができる。このため、ピッチ波形信号の各区間の時間長や各周波数成分の振幅を、元の音声データにおける時間長や振幅へと復元することにより、元の音声データを容易に復元できる。
【0134】
なお、この音声信号圧縮器の構成は上述のものに限られない。
たとえば、音声入力部A1は、電話回線、専用回線、衛星回線等の通信回線を介して外部より音声データを取得するようにしてもよい。この場合、音声入力部A1は、例えばモデムやDSU等からなる通信制御部を備えていればよい。
【0135】
また、音声入力部A1は、マイクロフォン、AF増幅器、サンプラー、A/Dコンバータ及びPCMエンコーダなどからなる集音装置を備えていてもよい。集音装置は、自己のマイクロフォンが集音した音声を表す音声信号を増幅し、サンプリングしてA/D変換した後、サンプリングされた音声信号にPCM変調を施すことにより、音声データを取得すればよい。なお、音声入力部A1が取得する音声データは、必ずしもPCM信号である必要はない。
【0136】
また、このピッチ波形抽出部A2は、ケプストラム解析部A21(又は自己相関解析部A22)を備えていなくてもよく、この場合、重み計算部A23は、ケプストラム解析部A21(又は自己相関解析部A22)が求めた基本周波数の逆数をそのまま平均ピッチ長として扱うようにすればよい。
【0137】
また、ゼロクロス解析部A26は、バンドパスフィルタA25から供給されたピッチ信号を、そのままゼロクロス信号としてBPF係数計算部A24へと供給するようにしてもよい。
【0138】
また、ビットストリーム形成部A12は、圧縮音声データを、通信回線等を介して外部に出力するようにしてもよい。通信回線を介してデータを出力する場合、ビットストリーム形成部A12は、例えばモデムやDSU等からなる通信制御部を備えていればよい。
また、ビットストリーム形成部A12は、記録媒体ドライバを備えていてもよく、この場合、ビットストリーム形成部A12は、音声辞書に格納すべきデータを、この記録媒体ドライバにセットされた記録媒体の記憶領域に書き込むようにしてもよい。
なお、単一のモデムやDSUや記録媒体ドライバが音声入力部A1及びビットストリーム形成部A12を構成していてもよい。
【0139】
また、差分計算部A9は、非線形量子化部A5が生成した非線形量子化後のサブバンドデータを取得し、符号化部A7が特定したサブバンドデータを取得するようにしてもよい。
この場合、差分計算部A9は、非線形量子化部A5が生成した非線形量子化後のサブバンドデータが表す各周波数成分の強度の瞬時値と、符号化部A7が特定したサブバンドデータが表す各周波数成分の瞬時値との差分を、周波数が同一である成分同士でそれぞれ求め、求めた各差分を表す差分データを生成して量子化部A10に供給するようにしてもよい。
【0140】
また、符号化部A7は、過去に非線形量子化部A5より供給された非線形量子化後のサブバンドデータのうちもっとも新しいものを記憶する記憶部を備えていてもよい。この場合、符号化部A7は、新たに非線形量子化後のサブバンドデータを供給されるたびに、このサブバンドデータが、自ら記憶している非線形量子化後のサブバンドデータとの間で一定程度以上高い相関を示しているか否かを判別し、示していると判別したとき、算術符号化部A11に、識別コード及び差分データに代えて、直前の波形と同一の波形が連続していることを示す所定のデータを供給するようにしてもよい。こうすることにより、圧縮音声データのデータ量は更に小さくなる。
なお、新たに供給されたサブバンドデータと自ら記憶しているサブバンドデータとの間の相関の程度は、たとえば、これら両サブバンドデータ間で、同一周波数成分間の相関係数を各々求め、求めた相関係数の平均値の大きさに基づいて判別するようにすればよい。
【0141】
(第2の実施の形態:音声信号伸長器)
次に、この発明の第2の実施の形態に係る音声信号伸長器を説明する。
図10は、この音声信号伸長器の構成を示す図である。図示するように、この音声信号伸長器は、ビットストリーム分解部B1と、算術符号復号化部B2と、復号化部B3と、差分復元部B4と、加算部B5と、非線形逆量子化部B6と、振幅復元部B7と、サブバンド合成部B8と、音声波形復元部B9と、音声出力部B10とより構成されている。
【0142】
ビットストリーム分解部B1は、たとえば、RS232C等の規格に準拠して外部とのシリアル通信を制御する制御回路と、CPU等のプロセッサとより構成されている。
ビットストリーム分解部B1は、上述した音声信号圧縮器のビットストリーム形成部A12が生成したビットストリーム(又はビットストリーム形成部A12が生成するビットストリームと実質的に同一のデータ構造を有するビットストリーム)を外部から取得する。そして、取得したビットストリームを、識別コードを表す算術符号、差分データを表す算術符号、及びピッチ情報を表す算術符号へと分解し、得られた算術符号を算術符号復号化部B2へと供給する。
【0143】
算術符号復号化部B2、復号化部B3、差分復元部B4、加算部B5、非線形逆量子化部B6、振幅復元部B7、サブバンド合成部B8及び音声波形復元部B9は、いずれも、DSPやCPU等のプロセッサより構成されている。
なお、算術符号復号化部B2、復号化部B3、差分復元部B4、加算部B5、非線形逆量子化部B6、振幅復元部B7、サブバンド合成部B8及び音声波形復元部B9の一部又は全部の機能を単一のプロセッサが行うようにしてもよい。
【0144】
算術符号復号化部B2は、ビットストリーム分解部B1より供給された算術符号を復号化することにより識別コード、差分データ、比例定数データ及びピッチ情報を復元する。そして、復元された識別コードを復号化部B3へと供給し、復元された差分データを差分復元部B4へと供給し、復元された比例定数データを振幅復元部B7へと供給し、復元されたピッチ情報を音声波形復元部B9へと供給する。
【0145】
復号化部B3は、プロセッサに加え、更に、ハードディスク装置等からなる記憶装置を備えている。復号化部B3は、上述の音声信号圧縮器の符号化部A7が記憶しているものと実質的に同一の音素辞書を記憶している。
【0146】
復号化部B3は、算術符号復号化部B2より識別コードを供給されると、この識別コードを割り当てられているサブバンドデータを音素辞書より索出し、索出されたサブバンドデータを加算部B5へと供給する。
【0147】
差分復元部B4は、差分データを算術符号復号化B3より供給されると、この差分データに、上述の音声信号圧縮器のサブバンド分割部A3が行うものと実質的に同一の変換を施すことにより、この差分データの各周波数成分の強度を表すデータを生成する。そして、生成したデータを、加算部B5へと供給する。
【0148】
加算部B5は、復号化部B3から供給されたサブバンドデータが表す各々の周波数成分について、当該周波数成分の瞬時値と、差分復元部B4から供給されたデータが表す同一周波数成分の瞬時値との和を求める。そして、すべての周波数成分について求めた和を表すデータを生成し、非線形逆量子化部B6に供給する。非線形逆量子化部B6に供給するこのデータは、伸長する対象である音声データに基づいて生成されたサブバンドデータに、上述の音声信号圧縮器の振幅調整部A4及び非線形量子化部A5が行うものと実質的に同一の処理を施して得られる非線形圧縮後のサブバンドデータに相当する。
【0149】
非線形逆量子化部B6は、加算部B5よりデータを供給されると、このデータが表す各周波数成分の瞬時値を変更することにより、伸長する対象である音声データを表す、非線形量子化される前のサブバンドデータに相当するデータを生成し、振幅復元部B7へと供給する。
【0150】
振幅復元部B7は、非線形量子化される前のサブバンドデータを非線形逆量子化部B6より供給され、算術符号復号化部B2より比例定数データを供給されると、このサブバンドデータが表す各周波数成分の瞬時値に、この比例定数データが表す比例定数の逆数を乗じることにより振幅を変更し、振幅を変更されたサブバンドデータをサブバンド合成部B8に供給する。
【0151】
サブバンド合成部B8は、振幅を変更されたサブバンドデータを振幅復元部B7より供給されると、このサブバンドデータに、上述の音声信号圧縮器の復号化部A8が行うものと実質的に同一の変換を施すことにより、このサブバンドデータにより各周波数成分の強度が表されるピッチ波形データを復元する。そして、復元されたピッチ波形データを、音声波形復元部B9へと供給する。
【0152】
音声波形復元部B9は、サブバンド合成部B8より供給されたピッチ波形データの各区間の時間長を、算術符号復号化部B2より供給されるピッチ情報が示す時間長になるよう変更する。区間の時間長の変更は、たとえば区間内にあるサンプルの間隔を変更することにより行えばよい。
そして、音声波形復元部B9は、各区間の時間長を変更されたピッチ波形データ(すなわち、復元された音声を表す音声データ)を音声出力部B10へと供給する。
【0153】
音声出力部B10は、たとえば、PCMデコーダの機能を行う制御回路と、D/A(Digital-to-Analog)コンバータと、AF(Audio Frequency)増幅器と、スピーカ等とを備えている。
音声出力部B10は、音声波形復元部B9より、復元された音声を表す音声データを供給されると、この音声データを復調し、D/A変換及び増幅を行い、得られたアナログ信号を用いてスピーカを駆動することにより、音声を再生する。
【0154】
なお、この音声信号伸長器の構成も、上述のものに限られない。
たとえば、ビットストリーム分解部B1は、通信回線を介して外部より音声データを取得するようにしてもよい。この場合、ビットストリーム分解部B1は、例えばモデムやDSU等からなる通信制御部を備えていればよい。
また、ビットストリーム分解部B1は、例えば、記録媒体ドライバを備えていてもよく、この場合、ビットストリーム分解部B1は、圧縮音声データを、この圧縮音声データが記録された記録媒体から読み取る等して取得してもよい。
【0155】
また、音声出力部B10は、圧縮音声データを、通信回線等を介して外部に出力するようにしてもよい。通信回線を介してデータを出力する場合、音声出力部B10は、例えばモデムやDSU等からなる通信制御部を備えていればよい。
また、音声出力部B10は、記録媒体ドライバを備えていてもよく、この場合、音声出力部B10は、音声辞書に格納すべきデータを、この記録媒体ドライバにセットされた記録媒体の記憶領域に書き込むようにしてもよい。
なお、単一のモデムやDSUや記録媒体ドライバがビットストリーム分解部B1及び音声出力部B10を構成していてもよい。
【0156】
また、差分データは、圧縮の対象である音声の各周波数成分の強度と基準となる他の音声の各周波数成分の強度との差分を周波数が同一である成分同士で求めた結果をあらわすものであってもよい。(たとえば、上述の音声信号圧縮器の差分計算部A9が、非線形量子化部A5が生成した非線形量子化後のサブバンドデータが表す各周波数成分の強度の瞬時値と、符号化部A7が特定したサブバンドデータが表す各周波数成分の瞬時値との差分を、周波数が同一である成分同士でそれぞれ求め、求めた各差分を表すものとして生成した差分データ。)
この場合、加算部B5は、差分データを算術符号復号化部B2から取得し、復号化部B3から供給されたサブバンドデータが表す各々の周波数成分について、当該周波数成分の瞬時値と、算術符号復号化部B2から取得した差分データが表す同一周波数成分の瞬時値との和を求め、すべての周波数成分について求めた和を表すデータを生成して、非線形逆量子化部B6に供給するようにすればよい。
【0157】
また、圧縮音声データには、識別コードに代えて、直前の波形と同一の波形が連続していることを示す所定のデータが含まれる場合があってもよい。
この場合、算術符号復号化部2は、この所定のデータが含まれているか否かを判別し、含まれていると判別したとき、直前の波形と同一の波形が連続していることを、たとえば音声出力部B10に通知するようにしてもよい。一方、たとえば、音声出力部B10は、過去に音声波形復元部B9より供給された音声データのうちもっとも新しいものを記憶する記憶部を備えていてもよい。そして、音声出力部B10は、この場合、算術符号復号化部2より、直前の波形と同一の波形が連続していることを通知されたとき、自らが記憶する音声データが表す音声を再生するようにすればよい。
【0158】
【発明の効果】
以上説明したように、この発明によれば、音声を表すデータを効率的に圧縮し、あるいは、ゆらぎを含む音声を表すデータを高音質で圧縮する音声信号圧縮装置、音声信号圧縮方法、及び、プログラムが実現される。
【図面の簡単な説明】
【図1】この発明の第1の実施の形態に係る音声信号圧縮器の構成を示すブロック図である。
【図2】図1の音声信号圧縮器の動作の流れの前半を示す図である。
【図3】図1の音声信号圧縮器の動作の流れの後半を示す図である。
【図4】(a)及び(b)は、移相される前の音声データの波形を示すグラフであり、(c)は、ピッチ波形データの波形を表すグラフである。
【図5】音声の各周波数成分の強度の時間変化の例を示すグラフである。
【図6】この発明の第1の実施の形態に係る音声信号伸長器の構成を示すブロック図である。
【図7】図6の音声信号伸長器の動作の流れを示す図である。
【図8】この発明の第2の実施の形態に係る音声信号圧縮器の構成を示すブロック図である。
【図9】図8のピッチ波形抽出部の構成を示すブロック図である。
【図10】この発明の第2の実施の形態に係る音声信号伸長器の構成を示すブロック図である。
【符号の説明】
C1、C2 コンピュータ
SMD 記録媒体ドライバ
A1 音声入力部
A2 ピッチ波形抽出部
A21 ケプストラム解析部
A22 自己相関解析部
A23 重み計算部
A24 BPF係数計算部
A25 バンドパスフィルタ
A26 ゼロクロス解析部
A27 波形相関解析部
A28 位相調整部
A29 ピッチ長固定部
A3 サブバンド分割部
A4 振幅調整部
A5 非線形量子化部
A6 線形予測解析部
A7 符号化部
A8 復号化部
A9 差分計算部
A10 量子化部
A11 算術符号化部
A12 ビットストリーム形成部
B1 ビットストリーム分解部
B2 算術符号復号化部
B4 差分復元部
B3 復号化部
B5 加算部
B6 非線形逆量子化部
B7 振幅復元部
B8 サブバンド合成部
B9 音声波形復元部
B10 音声出力部
Claims (7)
- 複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段と、
圧縮する対象である第1の音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタと、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで前記第1の音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段と、
前記信号生成手段により生成されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段と、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第1の音声信号と当該取得したサブバンド情報が示す第2の音声信号との差分を表す差分信号を生成する差分生成手段と、
前記差分生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記差分生成手段により生成された前記差分信号とを関連付けて出力する出力手段と、
を備えることを特徴とする音声信号圧縮装置。 - 前記フィルタは、前記バンドパスフィルタ、又は、前記第1の音声信号のケプストラムが極大値となる周波数の最小値の逆数と前記第1の音声信号のピリオドグラムが極大値となる周波数の最小値の逆数との平均値を中心周波数とするバンドパスフィルタ、のいずれかを用いてフィルタリングする
ことを特徴とする請求項1に記載の音声信号圧縮装置。 - 複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段と、
圧縮する対象である第1の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第1の音声信号をピッチ波形信号へと加工する音声信号加工手段と、
前記音声信号加工手段により加工されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段と、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第1の音声信号と当該取得したサブバンド情報が示す第2の音声信号との差分を表す差分信号を生成する生成手段と、
前記生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記生成手段により生成された前記差分信号とを関連付けて出力する出力手段と、
を備えることを特徴とする音声信号圧縮装置。 - 記憶手段、信号抽出手段、信号生成手段、サブバンド抽出手段、差分生成手段、出力手段を有する音声信号圧縮装置にて実行される音声信号圧縮方法であって、
前記記憶手段は、複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶し、
前記信号抽出手段が、圧縮する対象である第1の音声信号をフィルタリングしてピッチ信号を抽出する信号抽出ステップであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数としてフィルタリングする信号抽出ステップと、
前記信号抽出ステップによりフィルタリングされて得られたピッチ信号がゼロクロスするタイミングで当該ピッチ信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成ステップと、
前記サブバンド抽出手段が、前記信号生成ステップにより生成されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出ステップと、
前記差分生成手段が、前記サブバンド抽出ステップにより抽出された前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を前記記憶手段から取得して、前記第1の音声信号と当該取得したサブバンド情報が示す前記第2の音声信号との差分を表す差分信号を生成する差分生成ステップと、
前記差分生成ステップにより取得されたサブバンド情報に対応する前記識別コードと、前記差分生成ステップにより生成された前記差分信号とを関連付けて出力する出力ステップと、
を備えることを特徴とする音声信号圧縮方法。 - 記憶手段、音声信号加工手段、サブバンド抽出手段、生成手段、出力手段を有する音声信号圧縮装置にて実行される音声信号圧縮方法であって、
前記記憶手段は、複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶し、
前記音声信号加工手段が、圧縮する対象である第1の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第1の音声信号をピッチ波形信号へと加工する音声信号加工ステップと、
前記サブバンド抽出手段が、前記音声信号加工ステップにより加工されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出ステップと、
前記生成手段が、前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出ステップにより抽出された前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第1の音声信号と当該取得したサブバンド情報が示す第2の音声信号との差分を表す差分信号を生成する生成ステップと、
前記出力手段が、前記生成ステップにより取得されたサブバンド情報に対応する前記識別コードと、前記生成ステップにより生成された前記差分信号とを関連付けて出力する出力ステップと、
を備えることを特徴とする音声信号圧縮方法。 - コンピュータを、
複数の所定周波数成分ごとに音声信号の時間変化を表すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段、
圧縮する対象である第1の音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタ、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで当該ピッチ信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプリング数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段、
前記信号生成手段により生成されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第1の音声信号と当該取得したサブバンド情報が示す第2の音声信号との差分を表す差分信号を生成する差分生成手段、
前記差分生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記差分生成手段により生成された前記差分信号とを関連付けて出力する出力手段、
として機能させるためのプログラム。 - コンピュータを、
複数の所定周波数成分ごとに音声信号の時間変化を示すサブバンド情報と識別コードとを対応づけて予め記憶する記憶手段、
圧縮する対象である第1の音声信号を所定の単位ピッチ分にあたる区間に分け、各区間について、当該区間内のピッチ信号と当該区間内の第1の音声信号との相関が最も高くなるように当該第1の音声信号の位相を変化させ、更に、当該位相が変化された第1の音声信号の各区間のサンプル数がほぼ等しくなり且つサンプリング間隔が等間隔になるようにサンプリングすることにより、当該第1の音声信号をピッチ波形信号へと加工する音声信号加工手段、
前記音声信号加工手段により加工されたピッチ波形信号から、前記第1の音声信号の前記複数の所定周波数成分を各々抽出するサブバンド抽出手段、
前記記憶手段に記憶されたサブバンド情報の中から、前記サブバンド抽出手段が抽出した前記所定周波数成分の時間変化との相関が最も高いサブバンド情報を取得して、前記第1の音声信号と当該取得したサブバンド情報が示す第2の音声信号との差分を表す差分信号を生成する生成手段、
前記生成手段により取得されたサブバンド情報に対応する前記識別コードと、前記生成手段により生成された前記差分信号とを関連付けて出力する出力手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002277749A JP3994332B2 (ja) | 2001-09-27 | 2002-09-24 | 音声信号圧縮装置、音声信号圧縮方法、及び、プログラム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-298609 | 2001-09-27 | ||
JP2001298609 | 2001-09-27 | ||
JP2002277749A JP3994332B2 (ja) | 2001-09-27 | 2002-09-24 | 音声信号圧縮装置、音声信号圧縮方法、及び、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003177799A JP2003177799A (ja) | 2003-06-27 |
JP3994332B2 true JP3994332B2 (ja) | 2007-10-17 |
Family
ID=26623176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002277749A Expired - Fee Related JP3994332B2 (ja) | 2001-09-27 | 2002-09-24 | 音声信号圧縮装置、音声信号圧縮方法、及び、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3994332B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7231234B2 (en) * | 2003-11-21 | 2007-06-12 | Octasic Inc. | Method and apparatus for reducing echo in a communication system |
JP2006030609A (ja) * | 2004-07-16 | 2006-02-02 | Yamaha Corp | 音声合成データ生成装置、音声合成装置、音声合成データ生成プログラム及び音声合成プログラム |
US8089349B2 (en) * | 2005-07-18 | 2012-01-03 | Diego Giuseppe Tognola | Signal process and system |
US7720677B2 (en) * | 2005-11-03 | 2010-05-18 | Coding Technologies Ab | Time warped modified transform coding of audio signals |
-
2002
- 2002-09-24 JP JP2002277749A patent/JP3994332B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003177799A (ja) | 2003-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1422690B1 (en) | Apparatus and method for generating pitch waveform signal and apparatus and method for compressing/decompressing and synthesizing speech signal using the same | |
KR100427753B1 (ko) | 음성신호재생방법및장치,음성복호화방법및장치,음성합성방법및장치와휴대용무선단말장치 | |
JP4170217B2 (ja) | ピッチ波形信号生成装置、ピッチ波形信号生成方法及びプログラム | |
KR19980042556A (ko) | 음성부호화방법, 음성복호화방법, 음성부호화장치, 음성복호화장치, 전화장치, 피치변환방법 및 매체 | |
JP2003108197A (ja) | オーディオ信号復号化装置およびオーディオ信号符号化装置 | |
JP3881932B2 (ja) | 音声信号補間装置、音声信号補間方法及びプログラム | |
JP3994332B2 (ja) | 音声信号圧縮装置、音声信号圧縮方法、及び、プログラム | |
JP4736699B2 (ja) | 音声信号圧縮装置、音声信号復元装置、音声信号圧縮方法、音声信号復元方法及びプログラム | |
JP4256189B2 (ja) | 音声信号圧縮装置、音声信号圧縮方法及びプログラム | |
JP3297751B2 (ja) | データ数変換方法、符号化装置及び復号化装置 | |
JP4407305B2 (ja) | ピッチ波形信号分割装置、音声信号圧縮装置、音声合成装置、ピッチ波形信号分割方法、音声信号圧縮方法、音声合成方法、記録媒体及びプログラム | |
JP2000132193A (ja) | 信号符号化装置及び方法、並びに信号復号装置及び方法 | |
JP3875890B2 (ja) | 音声信号加工装置、音声信号加工方法及びプログラム | |
JP3994333B2 (ja) | 音声辞書作成装置、音声辞書作成方法、及び、プログラム | |
JP2796408B2 (ja) | 音声情報圧縮装置 | |
JP3976169B2 (ja) | 音声信号加工装置、音声信号加工方法及びプログラム | |
JP2003216189A (ja) | 符号化装置及び復号装置 | |
JP2973966B2 (ja) | 音声通信装置 | |
JPH06202695A (ja) | 音声信号処理装置 | |
JP2003216171A (ja) | 音声信号加工装置、信号復元装置、音声信号加工方法、信号復元方法及びプログラム | |
JPH1185198A (ja) | ボコーダ符号化復号装置 | |
KR19980051012A (ko) | 성분 분리를 통한 시간 영역상의 음성피치 변경방법 | |
KR19980035867A (ko) | 음성 데이터 부호화/복호화장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070608 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070718 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3994332 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130810 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |