以下、先ず始めに本発明に係る音声信号の再生方法及び装置の実施例について図面を参照しながら説明する。この実施例は、入力音声信号が時間軸上で所定フレーム単位毎に区分されて符号化されることにより求められた符号化パラメータに基づいて音声信号を再生する図1の音声信号再生装置1である。
この音声信号再生装置1は、入力端子101から入力された音声信号をフレーム単位で符号化して、線スペクトル対(LSP)パラメータや、ピッチや、有声音(V)/無声音(UV)や、スペクトル振幅Amや、LPC(線形予測符号化)残差のような符号化パラメータを出力する符号化部2と、この符号化部2からの上記符号化パラメータの出力周期を時間軸を圧縮伸長して変更する周期変更部3と、この周期変更部3により変更された周期で出力された上記符号化パラメータを補間処理して所望の時刻に対応する変更符号化パラメータを求め、この変更符号化パラメータに基づいて音声信号を合成して出力端子201から出力する復号化部4とを備えてなる。
先ず、符号化部2について図2及び図3を参照しながら説明する。符号化部2は、上記入力音声信号が有声音か無声音かを判別し、その判別結果に基づいて、有声音とされた部分ではサイン波合成符号化を行い、無声音とされた部分では合成による分析法を用いた最適ベクトルのクローズドループサーチによるベクトル量子化を行って符号化パラメータを求めている。つまり、入力音声信号の短期予測残差例えばLPC(線形予測符号化)残差を求めてサイン波分析(sinusoidal analysis)符号化、例えばハーモニックコーディング(harmonic coding)を行う第1の符号化部110と、入力音声信号に対して位相伝送を行う波形符号化により符号化する第2の符号化部120とを有し、入力信号の有声音(V:Voiced)の部分の符号化には第1の符号化部110を用い、入力信号の無声音(UV:Unvoiced)の部分の符号化には第2の符号化部120を用いる。
図2の例では、入力端子101に供給された音声信号が、第1の符号化部110のLPC逆フィルタ111及びLPC分析・量子化部113に送られている。LPC分析・量子化部113で得られたLPC係数あるいはいわゆるαパラメータは、LPC逆フィルタ111に送られて、このLPC逆フィルタ111により入力音声信号の線形予測残差(LPC残差)が取り出される。また、LPC分析・量子化部113からは、後述するようにLSP(線スペクトル対)の量子化出力が取り出され、これが出力端子102に送られる。LPC逆フィルタ111からのLPC残差は、サイン波分析符号化部114に送られる。サイン波分析符号化部114では、ピッチ検出やスペクトルエンベロープ振幅計算が行われると共に、V(有声音)/UV(無声音)判定部115によりV/UVの判定が行われる。サイン波分析符号化部114からのスペクトルエンベロープ振幅データがベクトル量子化部116に送られる。スペクトルエンベロープのベクトル量子化出力としてのベクトル量子化部116からのコードブックインデクスは、スイッチ117を介して出力端子103に送られ、サイン波分析符号化部114からのピッチ出力は、スイッチ118を介して出力端子104に送られる。また、V/UV判定部115からのV/UV判定出力は、出力端子105に送られると共に、スイッチ117、118の制御信号に使われる。スイッチ117、118は、上記制御信号により有声音(V)のとき上記インデクス及びピッチを選択して各出力端子103及び104からそれぞれ出力する。
また、上記ベクトル量子化部116でのベクトル量子化の際には、例えば、周波数軸上の有効帯域1ブロック分の振幅データに対して、ブロック内の最後のデータからブロック内の最初のデータまでの値を補間するようなダミーデータ,又は最後のデータ及び最初のデータを延長するようなダミーデータを最後と最初に適当な数だけ付加してデータ個数をNF個に拡大した後、帯域制限型のOS倍(例えば8倍)のオーバーサンプリングを施すことによりOS倍の個数の振幅データを求め、このOS倍の個数((mMX+1)×OS個)の振幅データを直線補間してさらに多くのNM個(例えば2048個)に拡張し、このNM個のデータを間引いて上記一定個数M(例えば44個)のデータに変換した後、ベクトル量子化している。
第2の符号化部120は、この例ではCELP(符号励起線形予測)符号化構成を有しており、合成による分析(Analysis by Synthesis)法を用いたクローズドループサーチを用いた時間軸波形のベクトル量子化を行っている。具体的に、雑音符号帳121からの出力を、重み付きの合成フィルタ122により合成処理し、得られた重み付き合成音声を減算器123に送り、入力端子101に供給された音声信号の聴覚重み付けフィルタ125による音声との誤差を求める。距離計算回路124は、距離計算を行い、上記誤差が最小となるようなベクトルを雑音符号帳121でサーチする。このCELP符号化は、上述したように無声音部分の符号化に用いられており、雑音符号帳121からのUVデータとしてのコードブックインデクスは、上記V/UV判定部115からのV/UV判定結果が無声音(UV)のときオンとなるスイッチ127を介して、出力端子107より取り出される。
次に、上記図2に示した符号化部2のより具体的な構成について、図3を参照しながら説明する。なお、図3において、上記図2の各部と対応する部分には同じ指示符号を付している。
この図3に示された符号化部2において、入力端子101に供給された音声信号は、ハイパスフィルタ(HPF)109にて不要な帯域の信号を除去するフィルタ処理が施された後、LPC(線形予測符号化)分析・量子化部113のLPC分析回路132と、LPC逆フィルタ回路111とに送られる。
LPC分析・量子化部113のLPC分析回路132は、入力信号波形の256サンプル程度の長さを1ブロックとしてハミング窓をかけて、自己相関法により線形予測係数、いわゆるαパラメータを求める。データ出力の単位となるフレーミングの間隔は、160サンプル程度とする。サンプリング周波数fsが例えば8kHzのとき、1フレーム間隔は160サンプルで20msec となる。
LPC分析回路132からのαパラメータは、α→LSP変換回路133に送られて、線スペクトル対(LSP)パラメータに変換される。これは、直接型のフィルタ係数として求まったαパラメータを、例えば10個、すなわち5対のLSPパラメータに変換する。変換は例えばニュートン−ラプソン法等を用いて行う。このLSPパラメータに変換するのは、αパラメータよりも補間特性に優れているからである。
α→LSP変換回路133からのLSPパラメータは、LSPベクトル量子化器134によりベクトル量子化される。このとき、フレーム間差分をとってからベクトル量子化してもよく、複数フレーム分をまとめてマトリクス量子化してもよい。ここでは、20msec を1フレームとし、20msec 毎に算出されるLSPパラメータをベクトル量子化している。
このLSPベクトル量子化器134からの量子化出力、すなわちLSP量子化のインデクスは、端子102を介して復号化部3に取り出され、また量子化済みのLSPベクトルは、LSP補間回路136に送られる。
LSP補間回路136は、上記20msecあるいは40msec毎に量子化されたLSPのベクトルを補間し、8倍のレートにする。すなわち、2.5msec 毎にLSPベクトルが更新されるようにする。これは、残差波形をハーモニック符号化復号化方法により分析合成すると、その合成波形のエンベロープは非常になだらかでスムーズな波形になるため、LPC係数が20msec 毎に急激に変化すると異音を発生することがあるからである。すなわち、2.5msec 毎にLPC係数が徐々に変化してゆくようにすれば、このような異音の発生を防ぐことができる。
このような補間が行われた2.5msec 毎のLSPベクトルを用いて入力音声の逆フィルタリングを実行するために、LSP→α変換回路137により、LSPパラメータを例えば10次程度の直接型フィルタの係数であるαパラメータに変換する。このLSP→α変換回路137からの出力は、上記LPC逆フィルタ回路111に送られ、このLPC逆フィルタ111では、2.5msec 毎に更新されるαパラメータにより逆フィルタリング処理を行って、滑らかな出力を得るようにしている。このLPC逆フィルタ111からの出力は、サイン波分析符号化部114、具体的には例えばハーモニック符号化回路、の直交変換回路145、例えばDFT(離散フーリエ変換)回路に送られる。
LPC分析・量子化部113のLPC分析回路132からのαパラメータは、聴覚重み付けフィルタ算出回路139にも送られて聴覚重み付けのためのデータが求められ、この重み付けデータが後述する聴覚重み付きのベクトル量子化器116と、第2の符号化部120の聴覚重み付けフィルタ125及び聴覚重み付きの合成フィルタ122とに送られる。
ハーモニック符号化回路等のサイン波分析符号化部114では、LPC逆フィルタ111からの出力を、ハーモニック符号化の方法で分析する。すなわち、ピッチ検出、各ハーモニクスの振幅Amの算出、有声音(V)/無声音(UV)の判別を行い、ピッチによって変化するハーモニクスのエンベロープあるいは振幅Amの個数を次元変換して一定数にしている。
図3に示すサイン波分析符号化部114の具体例においては、一般のハーモニック符号化を想定しているが、特に、MBE(Multiband Excitation: マルチバンド励起)符号化の場合には、同時刻(同じブロックあるいはフレーム内)の周波数軸領域いわゆるバンド毎に有声音(Voiced)部分と無声音(Unvoiced)部分とが存在するという仮定でモデル化することになる。それ以外のハーモニック符号化では、1ブロックあるいはフレーム内の音声が有声音か無声音かの択一的な判定がなされることになる。なお、以下の説明中のフレーム毎のV/UVとは、MBE符号化に適用した場合には全バンドがUVのときを当該フレームのUVとしている。
図3のサイン波分析符号化部114のオープンループピッチサーチ部141には、上記入力端子101からの入力音声信号が、またゼロクロスカウンタ142には、上記HPF(ハイパスフィルタ)109からの信号がそれぞれ供給されている。サイン波分析符号化部114の直交変換回路145には、LPC逆フィルタ111からのLPC残差あるいは線形予測残差が供給されている。オープンループピッチサーチ部141では、入力信号のLPC残差をとってオープンループによる比較的ラフなピッチのサーチが行われ、抽出された粗ピッチデータは高精度ピッチサーチ146に送られて、後述するようなクローズドループによる高精度のピッチサーチ(ピッチのファインサーチ)が行われる。また、オープンループピッチサーチ部141からは、上記粗ピッチデータと共にLPC残差の自己相関の最大値をパワーで正規化した正規化自己相関最大値r(p) が取り出され、V/UV(有声音/無声音)判定部115に送られている。
直交変換回路145では例えばDFT(離散フーリエ変換)等の直交変換処理が施されて、時間軸上のLPC残差が周波数軸上のスペクトル振幅データに変換される。この直交変換回路145からの出力は、高精度ピッチサーチ部146及びスペクトル振幅あるいはエンベロープを評価するためのスペクトル評価部148に送られる。
高精度(ファイン)ピッチサーチ部146には、オープンループピッチサーチ部141で抽出された比較的ラフな粗ピッチデータと、直交変換部145により例えばDFTされた周波数軸上のデータとが供給されている。この高精度ピッチサーチ部146では、上記粗ピッチデータ値を中心に、0.2〜0.5きざみで±数サンプルずつ振って、最適な小数点付き(フローティング)のファインピッチデータの値へ追い込む。このときのファインサーチの手法として、いわゆる合成による分析 (Analysis by Synthesis)法を用い、合成されたパワースペクトルが原音のパワースペクトルに最も近くなるようにピッチを選んでいる。このようなクローズドループによる高精度のピッチサーチ部146からのピッチデータについては、スイッチ118を介して出力端子104に送っている。
スペクトル評価部148では、LPC残差の直交変換出力としてのスペクトル振幅及びピッチに基づいて、各ハーモニクスの大きさ及びその集合であるスペクトルエンベロープが評価され、高精度ピッチサーチ部146、V/UV(有声音/無声音)判定部115及び聴覚重み付きのベクトル量子化器116に送られる。
V/UV(有声音/無声音)判定部115は、直交変換回路145からの出力と、高精度ピッチサーチ部146からの最適ピッチと、スペクトル評価部148からのスペクトル振幅データと、オープンループピッチサーチ部141からの正規化自己相関最大値r(p) と、ゼロクロスカウンタ142からのゼロクロスカウント値及び、該当フレームのr.m.sであるlevに基づいて、当該フレームのV/UV判定が行われる。さらに、MBEの場合の各バンド毎のV/UV判定結果の境界位置も当該フレームのV/UV判定の一条件としてもよい。このV/UV判定部115からの判定出力は、出力端子105を介して取り出される。
ところで、スペクトル評価部148の出力部あるいはベクトル量子化器116の入力部には、データ数変換(一種のサンプリングレート変換)部が設けられている。このデータ数変換部は、上記ピッチに応じて周波数軸上での分割帯域数が異なり、データ数が異なることを考慮して、エンベロープの振幅データ|Am|を一定の個数にするためのものである。すなわち、例えば有効帯域を3400kHzまでとすると、この有効帯域が上記ピッチに応じて、8バンド〜63バンドに分割されることになり、これらの各バンド毎に得られる上記振幅データ|Am|の個数mMX+1も8〜63と変化することになる。このためデータ数変換部では、この可変個数mMX+1の振幅データを一定個数M個、例えば44個、のデータに変換している。
このスペクトル評価部148の出力部あるいはベクトル量子化器116の入力部に設けられたデータ数変換部からの上記一定個数M個(例えば44個)の振幅データあるいはエンベロープデータが、ベクトル量子化器116により、所定個数、例えば44個のデータ毎にまとめられてベクトルとされ、重み付きベクトル量子化が施される。この重みは、聴覚重み付けフィルタ算出回路139からの出力により与えられる。ベクトル量子化器116からの上記エンベロープのインデクスは、スイッチ117を介して出力端子103より取り出される。なお、上記重み付きベクトル量子化に先だって、所定個数のデータから成るベクトルについて適当なリーク係数を用いたフレーム間差分をとっておくようにしてもよい。
次に、第2の符号化部120について説明する。第2の符号化部120は、いわゆるCELP(符号励起線形予測)符号化構成を有しており、特に、入力音声信号の無音声部分の符号化のために用いられている。この無声音部分用のCELP符号化構成において、雑音符号帳、いわゆるストキャスティック・コードブック(stochastic code book)121からの代表値出力である無声音のLPC残差に相当するノイズ出力を、ゲイン回路126を介して、聴覚重み付きの合成フィルタ122に送っている。重み付きの合成フィルタ122では、入力されたノイズをLPC合成処理し、得られた重み付き無声音の信号を減算器123に送っている。減算器123には、上記入力端子101からHPF(ハイパスフィルタ)109を介して供給された音声信号を聴覚重み付けフィルタ125で聴覚重み付けした信号が入力されており、合成フィルタ122からの信号との差分あるいは誤差を取り出している。この誤差を距離計算回路124に送って距離計算を行い、誤差が最小となるような代表値ベクトルを雑音符号帳121でサーチする。このような合成による分析(Analysis by Synthesis )法を用いたクローズドループサーチを用いた時間軸波形のベクトル量子化を行っている。
このCELP符号化構成を用いた第2の符号化部120からのUV(無声音)部分用のデータとしては、雑音符号帳121からのコードブックのシェイプインデクスと、ゲイン回路126からのコードブックのゲインインデクスとが取り出される。雑音符号帳121からのUVデータであるシェイプインデクスは、スイッチ127sを介して出力端子107sに送られ、ゲイン回路126のUVデータであるゲインインデクスは、スイッチ127gを介して出力端子107gに送られている。
ここで、これらのスイッチ127s、127g及び上記スイッチ117、118は、上記V/UV判定部115からのV/UV判定結果によりオン/オフ制御され、スイッチ117、118は、現在伝送しようとするフレームの音声信号のV/UV判定結果が有声音(V)のときオンとなり、スイッチ127s、127gは、現在伝送しようとするフレームの音声信号が無声音(UV)のときオンとなる。
符号化部2の出力した上記符号化パラメータは、周期変更部3に供給される。周期変更部3は、上記符号化パラメータの出力周期を時間軸を圧縮伸長して変更する。この周期変更部3により変更された周期で出力された上記符号化パラメータは、復号化部4に供給される。
復号化部4は、周期変更部3により時間軸が例えば圧縮された上記符号化パラメータを補間処理して所定フレーム毎の時刻に対応する変更符号化パラメータを生成するパラメータ変更処理部5と、上記変更符号化パラメータに基づいて有声音部分と無声音部分を合成する音声合成処理部6とを備えてなる。
この復号化部4について図4及び図5を参照しながら説明する。図4において、入力端子202には周期変更部3からの上記LSP(線スペクトル対)の量子化出力としてのコードブックインデクスが入力される。入力端子203、204、及び205には、上記周期変更部3からの各出力、すなわちエンベロープ量子化出力としてのインデクス、ピッチ、及びV/UV判定出力がそれぞれ入力される。また、入力端子207には、上記周期変更部3からのUV(無声音)用のデータとしてのインデクスが入力される。
入力端子203からのエンベロープ量子化出力としてのインデクスは、逆ベクトル量子化器212に送られて逆ベクトル量子化され、LPC残差のスペクトルエンベロープが求められる。このLPC残差のスペクトルエンベロープは、有声音合成部211に送られる前に、図中矢印で示すP1付近において一旦パラメータ変更処理部5に取り出されて後述するパラメータ変更処理が施された後、有声音合成部211に送られる。
有声音合成部211は、サイン波合成により有声音部分のLPC(線形予測符号化)残差を合成する。この有声音合成部211には、入力端子204及び205から入力されてP2及びP3の位置で一旦パラメータ変更処理部5に取り出され、パラメータ変更処理が施されたピッチ及びV/UV判定出力も供給される。有声音合成部211からの有声音のLPC残差は、LPC合成フィルタ214に送られる。
また、入力端子207からのUVデータのインデクスは、無声音合成部220に送られる。このUVデータのインデクスは、無声音合成部220内にて雑音符号帳を参照することにより無声音部分のLPC残差とされる。この際、UVデータのインデクスは無声音合成部220内からP4に示すようにパラメータ変更処理部5に一旦取り出され、パラメータ変更処理が施される。パラメータ変更処理が施された後のLPC残差もLPC合成フィルタ214に送られる。
LPC合成フィルタ214では、上記有声音部分のLPC残差と無声音部分のLPC残差とにそれぞれ独立に、LPC合成処理を施す。あるいは、有声音部分のLPC残差と無声音部分のLPC残差とが加算されたものに対してLPC合成処理を施すようにしてもよい。
また、入力端子202からのLSPのインデクスは、LPCパラメータ再生部213に送られる。このLPCパラメータ再生部213では、最終的にLPCのαパラメータが取り出されるが、その途中にあってLSPの逆ベクトル量子化データが矢印P5に示すように一旦パラメータ変更処理部5に取り出されてパラメータ変更処理される。
パラメータ変更処理された逆量子化データは、このLPCパラメータ再生部213に戻されLSPの補間を行った後、LPCのαパラメータとされてLPC合成フィルタ14に供給される。LPC合成フィルタ214によりLPC合成されて得られた音声信号は、出力端子201より取り出される。
この図4に示した音声合成処理部6は、上述したようにパラメータ変更処理部5で算出された変更符号化パラメータを受け取って合成音声を出力している。実際には、図5に示すような構成となる。この図5において、上記図4の各部と対応する部分には、同じ指示符号を付している。
この図5において、入力端子202を介して入力されたLSPのインデクスは、LPCパラメータ再生部213のLSPの逆ベクトル量子化器231に送られてLSP(線スペクトル対)データに逆ベクトル量子化されてからパラメータ変更処理部5に送られる。
入力端子203からのスペクトルエンベロープAmのベクトル量子化されたインデクスデータは、逆ベクトル量子化器212に送られて逆ベクトル量子化が施され、スペクトルエンベロープのデータとなって、パラメータ変更処理部5に送られる。
また、入力端子204、205からのピッチ、V/UV判定データもパラメータ変更処理部5に送られる。
また、図5の入力端子207s及び207gには、周期変更部3を介した上記図3の出力端子107s及び107gからのUVデータとしてのシェイプインデクス及びゲインインデクスがそれぞれ供給され、無声音合成部220に送られている。端子207sからのシェイプインデクスは、無声音合成部220の雑音符号帳221に、端子207gからのゲインインデクスはゲイン回路222にそれぞれ送られている。雑音符号帳221から読み出された代表値出力は、無声音のLPC残差に相当するノイズ信号成分であり、これがゲイン回路222で所定のゲインの振幅となりパラメータ変更処理部5に送られる。
パラメータ変更処理部5は、符号化部2が出力し、周期変更部3で出力周期が変更された上記符号化パラメータに補間処理を施して変更符号化パラメータを生成し、音声合成処理部6に供給する。ここで、パラメータ変更処理部5は、上記符号化パラメータをスピード変換している。このため、音声信号再生装置1はデコーダ出力後のスピード変換処理が不要で、かつ同様のアルゴリズムで異なるレートでの固定レートに容易に対応することもできる。
以下、図6及び図8のフローチャートを参照しながら周期変更部3とパラメータ変更処理部5の動作について説明する。
先ず、図6のステップS1に示すように、周期変更部3はLSP,ピッチ,有声音/無声音V/UV,スペクトルエンベロープAm,LPC残差のような符号化パラメータを受け取る。ここで、LSPをlsp[n][p],ピッチをpch[n],V/UVをvuv[n],Amをam[n][k],LPC残差をres[n][i][j]とする。
なお、パラメータ変更処理部5で最終的に算出される変更符号化パラメータをmod_lsp[m][p],mod_pch[m],mod_vuv[m],mod_am[m][k],mod_res[m][i][j]とする。ここで、kはハーモニクス数、pはLSP次数である。n,mは、時間軸のインデクスに相当するフレームナンバーに対応する。nは時間軸変更前、mは時間軸変更後である。n,mともに例えば20msecをフレームインターバルとするフレームのインデクスである。また、iはサブフレーム番号、jはサンプル番号である。
次に、周期変更部3は、ステップS2に示すようにオリジナルの時間長となるフレーム数をN1とし、変更後の時間長となるフレーム数をN2としてから、ステップS3に示すようにN1の音声をN2の音声に時間軸圧縮する。すなわち、周期変更部3での時間軸圧縮の比をspdとすると、spdをN2/N1として求める。ここで、0≦n<N1,0≦m<N2である。
次に、パラメータ変更処理部5は、ステップS4に示すように、時間軸変更後の時間軸のインデクスに相当するフレームナンバーに対応するmを2とする。
そして、パラメータ変更処理部5は、ステップS5に示すように、二つのフレームfr0,fr1と、該二つのフレームfr0,fr1とm/spdとの差left,rightとを求める。
上記符号化パラメータのlsp,pch,vuv,am,resを*とするときmod_*[m]は、
mod_*[m]=*[m/spd] (0≦m<N2)
という一般式で表せる。しかし、m/spdは、整数にはならないので、
fr0=「m/spd」
fr1=fr0+1
の2フレームから補間して、m/spdにおける変更符号化パラメータを作る。
ここで、フレームfr0とm/spdとフレームfr1との間には、図7に示すような関係、すなわち、
left=m/spd−fr0
right=fr1−m/spdが成立する。
この図7におけるm/spdのときの符号化パラメータ、すなわち変更符号化パラメータをステップS6に示すように、補間処理によって作ればよい。
単純に直線補間により求めると、
mod_*[m]=*[fr0]×right+*[fr1]×left
となる。
しかし、2つのフレームfr0,fr1間での補間では、それらのフレームが有声音(V)と,無声音(UV)というように異なる場合には、上記一般式を適用できない。このため、2つのフレームfr0,fr1間における有声音(V)と,無声音(UV)との関係によって、パラメータ変更処理部5は、図8のステップS11以降に示すように、上記符号化パラメータの求め方を変える。
先ず、ステップS11に示すように2つのフレームfr0,fr1が有声音(V),有声音(V)であるか否かを判断する。ここで、2つのフレームfr0,fr1が共に、有声音(V)であると判断すると、ステップS12に進み、全てのパラメータを線形補間して以下のように表す。
mod_pch[m]=pch[fr0]×right+pch[fr1]×left
mod_am[m][k]=am[fr0][k]×right+am[fr1][k]×left
ただし、0≦k<Lである。ここで、Lはハーモニクスとしてとりうる最大の数である。また、am[n][k]は、ハーモニクスの存在しない位置では0を入れておく。フレームfr0とフレームfr1とで、ハーモニクスの数が異なる時には、余った方のハーモニクスは、相方を0として補間する。または、デコーダ側でデータ数変換器を通す前であれば、0≦k<LのL=43といった固定の値でもよい。
mod_lsp[m][p]=lsp[fr0][p]×right+lsp[fr1][p]×left
ただし、0≦p<Pである。ここで、PはLSPの次数であり、通常は10を使用する。
mod_vuv[m]=1
V/UVの判定で1は有声音(V)を、0は無声音(UV)を意味する。
次に、ステップS11で2つのフレームfr0,fr1が共に有声音(V)でないと判断すると、ステップS13に示すような判断、すなわち、2つのフレームfr0,fr1が共に無声音(UV)であるか否かを判断する。
ここで、YES(共に無声音である。)となると、補間処理部5は、ステップS14に示すように、pchを最大値とし、m/spdを中心にresの前後80サンプルづつ切り出してmod_resを作る。
実際、このステップS14においては、left<rightであるときに、m/spdを中心に図9の(A)に示すようにresの前後80サンプルづつ切り出してmod_resに入れる。すなわち、
for(j=0;j<FRM×(1/2−m/spd+fr0);j++){mod_res[m][0][j]=res[fr0][0][j+(m/spd−fr0)×FRM];};
for(j=FRM×(1/2−m/spd+fr0);j<FRM/2;j++){mod_res[m][0][j]=res[fr0][1][j−FRM×(1/2−m/spd+fr0)];};
for(j=0;j<FRM×(1/2−m/spd+fr0);j++){mod_res[m][1][j]=res[fr0][1][j+(m/spd−fr0)×FRM];};
for(j=FRM×(1/2−m/spd+fr0);j=FRM/2;j++){mod_res[m][1][j]=res[fr0][0][j−FRM×(1/2−m/spd+fr0)];};
とする。ここで例えばFRMは160である。
一方、このステップS14においては、left≧rightであるときに、m/spdを中心に図9の(B)に示すようにresの前後80サンプルづつ切り出してmod_resとする。
ステップS13の条件を満たさない場合、ステップS15に進み、フレームfr0が有声音(V)で,fr1が無声音(UV)であるか否かを判断する。ここでYES(フレームfr0が有声音(V)で,fr1が無声音(UV)である。)となると、ステップS16に進み、NO(フレームfr0が無声音(UV)であり、fr1が有声音(V)である。)となると、ステップS17に進む。
ステップS15以降の処理では、二つのフレームfr0,fr1が、例えば有声音(V),無声音(UV)のように、異なった場合について説明している。これは、例えば有声音(V),無声音(UV)のように、異なった2つのフレームfr0,fr1間でパラメータを補間すると意味のないものになってしまうためである。
ステップS16では、図7に示す上記left(=m/spd−fr0)と上記right(=fr1−m/spd)の大きさを比較している。これにより、m/spdに対してフレームfr0が近いのか否かを判断している。
フレームfr0が近い場合には、ステップS18に示すように、このフレームfr0側のパラメータを用いて、
mod_pch[m]=pch[fr0]
mod_am[m][k]=am[fr0][k] ,(ただし、0≦k<Lである。)
mod_lsp[m][p]=lsp[fr0][p] ,(ただし、0≦p<Iである。)
mod_vuv[m]=1とする。
また、ステップS16でNOと判断したときには、left≧rightでありフレームfr1の方が近いので、ステップS19に進み、ピッチを最大値にすると共に、図9の(C)に示すようにfr1側のresをそのまま使用してmod_resとする。すなわち、mod_res[m][i][j]=res[fr1][i][j]とする。これは、有声音であるfr0ではLPC残差resが伝送されないためである。
次に、ステップS17では、ステップS15で2つのフレームfr0,fr1が無声音(UV),有声音(V)であるという判断を受けて、上記ステップS16と同様の判断を行う。すなわち、図7に示す上記left(=m/spd−fr0)と上記right(=fr1−m/spd)の大きさを比較している。これにより、m/spdに対してフレームfr0が近いのか否かを判断している。
フレームfr0が近い場合には、ステップS18に進み、ピッチを最大値にすると共に、図9の(D)に示すようにfr0側のresをそのまま使用してmod_resとする。すなわち、mod_res[m][i][j]=res[fr0][i][j]とする。これは、有声音であるfr1ではLPC残差resが伝送されないためである。
また、ステップS17でNOと判断したときには、left≧rightでありフレームfr1の方が近いので、ステップS21に進み、このフレームfr1側のパラメータを用いて、
mod_pch[m]=pch[fr1]
mod_am[m][k]=am[fr1][k] ,(ただし、0≦k<Lである。)
mod_lsp[m][p]=lsp[fr1][p] ,(ただし、0≦p<Iである。)
mod_vuv[m]=1
とする。
このように2つのフレームfr0,fr1間における有声音(V)と,無声音(UV)との関係によって、補間処理部5は、図8に詳細を示した図6のステップS6の補間処理を異ならせる。このステップS6の補間処理が終了すると、ステップS7に進み、mをインクリメントする。そして、このmがN2に等しくなるまで、ステップS5,ステップS6の処理を繰り返す。
ここで、周期変更部3とパラメータ変更処理部5の動作について図10を参照しながらまとめて説明しておく。図10の(A)に示すように、符号化部2が例えば周期20msec毎に抽出している符号化パラメータの該周期を、周期変更部3は、図10の(B)に示すように、時間圧縮して15msecとする。そして、上述したように、パラメータ変更処理部5が二つのフレームfR0,fr1のV/UVの状態に応じた補間処理により、図10の(C)に示すように周期20msec毎に変更符号化パラメータを算出する。
また、周期変更部3とパラメータ変更処理部5を逆の順番として、図11の(A)に示す符号化パラメータを先ず図11の(B)に示すように補間してから、図11の(C)に示すように圧縮して変更符号化パラメータを算出してもよい。
ここで、図5に戻る。パラメータ変更処理部5で算出されたLSPデータに関する変更符号化パラメータmod_lsp[m][p]は、LSP補間回路232v、232uに送られてLSPの補間処理が施された後、LSP→α変換回路234v、234uvでLPC(線形予測符号)のαパラメータに変換され、このαパラメータがLPC合成フィルタ214に送られる。ここで、LSP補間回路232v及びLSP→α変換回路234vは有声音(V)用であり、LSP補間回路232u及びLSP→α変換回路234uは無声音(UV)用である。またLPC合成フィルタ214は、有音声部分のLPC合成フィルタ236と、無声音部分のLPC合成フィルタ237とを分離している。すなわち、有音声部分と無音声部分とでLPCの係数補間を独立に行うようにして、有音声から無音声への遷移部や、無音声から有音声への遷移部で、全く性質の異なるLSP同士を補間することによる悪影響を防止している。
パラメータ変更処理部5で算出されたスペクトルエンベロープデータに関する変更符号化パラメータmod_am[m][k]は有声音合成部211のサイン波合成回路215に送られている。このサイン波合成回路215には、パラメータ変更処理部5で算出されたピッチに関する変更符号化パラメータmod_pch[m]及び上記V/UV判定データに関する変更符号化パラメータmod_vuv[m]も供給されている。サイン波合成回路215からは、上述した図3のLPC逆フィルタ111からの出力に相当するLPC残差データが取り出され、これが加算器218に送られている。
また、パラメータ変更処理部5で算出されたスペクトルエンベロープデータに関する変更符号化パラメータmod_am[m][k]と、ピッチに関する変更符号化パラメータmod_pch[m]及び上記V/UV判定データに関する変更符号化パラメータmod_vuv[m]とは、有声音(V)部分のノイズ加算のためのノイズ合成回路216に送られている。このノイズ合成回路216からの出力は、重み付き重畳加算回路217を介して加算器218に送られている。これは、サイン波合成によって有声音のLPC合成フィルタへの入力となるエクサイテイション(Excitation:励起、励振)を作ると、男声等の低いピッチの音で鼻づまり感がある点、及びV(有声音)とUV(無声音)とで音質が急激に変化し不自然に感じる場合がある点を考慮し、有声音部分のLPC合成フィルタ入力すなわちエクサイテイションについて、音声符号化データに基づくパラメータ、例えばピッチ、スペクトルエンベロープ振幅、フレーム内の最大振幅、残差信号のレベル等を考慮したノイズをLPC残差信号の有声音部分に加えているものである。
加算器218からの加算出力は、LPC合成フィルタ214の有声音用の合成フィルタ236に送られてLPCの合成処理が施されることにより時間波形データとなり、さらに有声音用ポストフィルタ238vでフィルタ処理された後、加算器239に送られる。
ここで、LPC合成フィルタ214は、上述したように、V(有声音)用の合成フィルタ236と、UV(無声音)用の合成フィルタ237とに分離されている。すなわち、合成フィルタを分離せずにV/UVの区別なしに連続的にLSPの補間を20サンプルすなわち2.5msec 毎に行う場合には、V→UV、UV→Vの遷移(トランジェント)部において、全く性質の異なるLSP同士を補間することになり、Vの残差にUVのLPCが、UVの残差にVのLPCが用いられることにより異音が発生するが、このような悪影響を防止するために、LPC合成フィルタをV用とUV用とで分離し、LPCの係数補間をVとUVとで独立に行わせたものである。
また、パラメータ変更処理部5で算出されたLPC残差に関する変更符号化パラメータmod_res[m][i][j]は、窓かけ回路223に送られて、上記有声音部分とのつなぎを円滑化するための窓かけ処理が施される。
窓かけ回路223からの出力は、無音声合成部220からの出力として、LPC合成フィルタ214のUV(無音声)用の合成フィルタ237に送られる。合成フィルタ237では、LPC合成処理が施されることにより無音声部分の時間波形データとなり、この無声音部分の時間波形データは無声音用ポストフィルタ238uでフィルタ処理された後、加算器239に送られる。
加算器239では、有声音用ポストフィルタ238vからの有声音部分の時間波形信号と、無声音用ポストフィルタ238uからの無声音部分の時間波形データとが加算され、出力端子201より取り出される。
このように、この音声信号再生装置1は、変更符号化パラメータmod_*[m]の配列(0≦m<N2)を本来の配列*[n](0≦n<N1)のかわりにデコードしている。デコード時のフレーム間隔は従来通り例えば20msecのように固定である。このため、N2<N1の時には、時間軸圧縮となり、スピードアップとなる。他方、N2>N1の時には、時間軸伸長となり、スピードダウンとなる。
上記時間軸変更を行っても、瞬時スペクトル、ピッチが不変である為、0.5≦spd≦2程度以上の広い範囲の変更を行っても劣化が少ない。
この方式では、最終的に得られたパラメータ列を本来のスペーシング(20msec)に並べてデコードするため、任意のスピードコントロール(上下)が簡単に実現できる。又、スピードアップとスピードダウンが区別なしに、同一の処理で可能である。
このため、例えば固体録音した内容をリアルタイムの倍のスピードで再生できる。このとき、再生スピードを高速にしてもピッチ、音韻が不変であるため、かなりの高速再生を行っても内容を聞きとることができる。ここで、N2<N1のとき、すなわち再生スピードを遅くした場合、無声音フレームにおいては同じLPC残差resから複数のmod_resが作られるので再生音が不自然になることがある。そこで、mod_resに対し、ノイズを適量加えることにより不自然さを改善する事が可能である。また、ノイズを加える以外にも、mod_resを適当に生成したガウシアンノイズなどで置き換えたり、コードブックよりランダムに選択した励起ベクトルを用いることも考えられる。
なお、上記音声信号再生装置1では、周期変更部3によって符号化部2からの上記符号化パラメータの出力周期の時間軸を圧縮してスピードアップさせていたが、復号化部4にてフレーム長を可変にしてスピードをコントロールしてもよい。
この場合、復号化部4を構成するパラメータ変更処理部5は、上記フレーム長が可変となるためパラメータ生成前後でフレーム番号nを変化させない。
先ず、パラメータ変更処理部5は、該当フレームが有声音、無声音に拘らず、lsp[n][p]、vuv[n]を、mod_lsp[n][p]、mod_vuv[n]とする。
pch[n],am[n][k]については、mod_vuv[n]が1、すなわち該当フレームが有声音(V)である場合、mod_pch[n],mod_am[n][k]とする。
res[n][i][j]については、mod_vuv[n]が0、すなわち該当フレームが無声音(UV)である場合、mod_res[n][i][j]とする。
ここで、パラメータ変更処理部5は、各パラメータの変換を、lsp[n][p],pch[n],vuv[n],am[n][k]についてはそのまま、mod_lsp[n][p],mod_pch[n],mod_vuv[n],mod_am[n][k]とするが残差信号res[n][i][j]についてはスピードspdによって、mod_res[n][i][j]を異ならせる。
スピードspd<1.0のとき、すなわちスピードが速い場合、図12に示すように、元のフレームの残差信号を中央から切り出す。元フレーム長をorgFrmLとしたとき、元フレームres[n][i]から(orgFrmL-frmL)/2≦j≦(orgFrmL+frmL)/2の部分を切り出し、mod_res[n][i]とする。なお、元フレームの先頭から切り出すことも可能である。
一方、スピードspd>1.0のとき、すなわちスピードが遅い場合、図13に示すように、元のフレームを用い、不足分は元のフレームにノイズ成分を加えたものを用いる。なお、不足分として、コードブックよりランダムに選んだ励起ベクトルを用いてもよい。また、デコードされた励起ベクトルに適当に生成したノイズ成分を付加してもよい。さらに、ガウシアンノイズを発生し、それを励起ベクトルとして用いてよい。これは同じ波形形状のフレームが連続することにより生じる違和感を軽減するためである。また、元フレームの両端に上記のようなノイズ成分等を付加してもよい。
このため、音声合成処理部6は、フレーム長を変更することによりスピードコントロールを実現する音声信号再生装置1にあっては、LSP補間部232v、232uと、サイン波合成部215と、窓かけ部223の動作を時間軸圧縮伸長によりスピードをコントロールする場合に対して異ならせる。
先ず、LSP補間部232vでは、該当フレームが有声音(V)ならばfrmL/p≦20を満たす最小の整数pを、また、LSP補間部232uでは、該当フレームが無声音(UV)ならばfrmL/p≦80を満たす最小の整数pを求め、LSP補間のためのサブフレームsubl[i][j]の範囲を、以下の式により定める。
nint(frmL/p×i)≦j≦nint(frmL/p×(i+1)),(0≦i≦p-1)ここで、nint(x)は小数第1位を四捨五入することにより、xに最も近い整数を返す関数である。ただし、有声音、無声音いずれの場合もfrmLが20、80以下となった場合はp=1とする。例えば、i番目のサブフレームについて、サブフレームの中心はfrmL×(2i+1)/2pであるから、frmL×(2p−2i−1)/2p:frmL×(2i+1)/2pの割合でLSPの補間を行う。
なお、この他にも、サブフレーム数をある定数に固定してしまい、つねに同じ比で各サブフレームのLSP補間を行ってもよい。サイン波合成部215では、フレーム長frmLに応じてサンプル数を発生する。サイン波合成の具体的な方法としては本件出願人が先に提案した特願平6ー198451号の明細書及び図面に開示したものを挙げることができる。窓かけ部223では、フレーム長frmLに合わせて、窓長を変更する。
なお、上記音声信号再生装置1では、周期変更部3、及びパラメータ変更処理部5を用いて、出力周期を時間軸上で圧縮伸長した符号化パラメータを変更することによって、ピッチ、音韻を不変としながらも再生スピードを可変としているが、周期変更部3を省略して符号化部2からの符号化データを図14に示す復号化部8のデータ数変換部270により処理して音韻を変えずにピッチを可変とすることもできる。図14において、上記図4の各部と対応する部分には、同じ指示符号を付している。
この復号化部8の基本的な考え方は、符号化部2から入力された音声符号化データのハーモニクスの基本周波数と所定の帯域内における個数をデータ変換手段となるデータ数変換部270により変換して、復号化処理を施すことにより、音韻を変えずにピッチのみを変更するものである。データ数変換部270は、入力された各ハーモニクスにおけるスペクトルの大きさを表すデータの個数を補間処理により変更することによってピッチを変更する。
図14において、入力端子202には、上記図2、3の出力端子102からの出力に相当するLSPのベクトル量子化出力、いわゆるコードブックのインデクスが供給されている。
このLSPのインデクスは、LPCパラメータ再生部213のLSPの逆ベクトル量子化器231に送られてLSP(線スペクトル対)データに逆ベクトル量子化され、LSP補間回路232、233に送られてLSPの補間処理が施された後、LSP→α変換回路234、235でLPC(線形予測符号)のαパラメータに変換され、このαパラメータがLPC合成フィルタ214に送られる。ここで、LSP補間回路232及びLSP→α変換回路234は有声音(V)用であり、LSP補間回路233及びLSP→α変換回路235は無声音(UV)用である。またLPC合成フィルタ214は、有声音部分のLPC合成フィルタ236と、無声音部分のLPC合成フィルタ237とを分離している。すなわち、有声音部分と無声音部分とでLPCの係数補間を独立に行うようにして、有声音から無声音への遷移部や、無声音から有声音への遷移部で、全く性質の異なるLSP同士を補間することによる悪影響を防止している。
また、図14の入力端子203には、上記図2、図3のエンコーダ側の端子103からの出力に対応するスペクトルエンベロープ(Am)の重み付けベクトル量子化されたコードインデクスデータが供給され、入力端子204には、上記図2、図3の端子104からのピッチのデータが供給され、入力端子205には、上記図2、図3の端子105からのV/UV判定データが供給されている。
入力端子203からのスペクトルエンベロープAmのベクトル量子化されたインデクスデータは、逆ベクトル量子化器212に送られて逆ベクトル量子化が施される。この逆ベクトル量子化されたエンベロープの振幅データの個数は、上述したように一定個数、例えば44個とされており、基本的には、ピッチデータに応じた本数のハーモニクスとなるようにデータ数変換する。これに対して本例のように、ピッチを変更したい場合には、逆ベクトル量子化器212からのエンベロープデータをデータ数変換部270に送って、変更したいピッチに応じて補間処理等によりエンベロープの振幅データの個数を変更している。
また、データ数変換部270には、入力端子204からのピッチデータも供給されており、エンコード時のピッチが、変更したいピッチに変換されて出力される。このデータ数変換部270からのLPC残差のスペクトルエンベロープの変更ピッチに応じた個数の振幅データと、変更されたピッチデータとが有声音合成部211のサイン波合成回路215に送られている。
ここで、データ数変換部270でのLPC残差のスペクトルエンベロープの振幅データの個数を変換するには、種々の補間方法が考えられるが、例えば、周波数軸上の有効帯域1ブロック分の振幅データに対して、ブロック内の最後のデータからブロック内の最初のデータまでの値を補間するようなダミーデータを付加してデータ個数をNF個に拡大した後あるいはブロック内の左端及び右端(最初と最後)のデータを延長してダミーデータとして、帯域制限型のOS倍(例えば8倍)のオーバーサンプリングを施すことによりOS倍の個数の振幅データを求め、このOS倍の個数((mMX+1)×OS個)の振幅データを直線補間してさらに多くのNM個(例えば2048個)に拡張し、このNM個のデータを間引いて、変更したいピッチに応じた個数Mのデータに変換すればよい。
データ数変換部270においては、スペクトルエンベロープの形状を変えないで、ハーモニクスの立っている位置だけを変更するようにしている。このため、音韻は不変である。
ここで、上記データ数変換部270における動作の一例として、ピッチラグLのときの周波数F0=fs/Lを、Fx に変換する場合について説明する。fs はサンプリング周波数であり、例えば fs=8kHz=8000Hzとする。
このとき、ピッチ周波数F0=8000/L であり、ハーモニクスは4000Hzまでの間にn=L/2本立っている。通常の音声帯域の3400Hz幅では、約(L/2)×(3400/4000)である。これを、上述したデータ数変換あるいは次元変換により一定の本数、例えば44本に変換した後、ベクトル量子化を行う。なお、単にピッチ変換を行うのであれば、量子化を行う必要はない。
ベクトル逆量子化後に、データ数変換部270において、44本のハーモニクスを次元変換で任意の本数、すなわち任意のピッチ周波数Fx に変更できる。ピッチ周波数Fx (Hz)に対応するピッチラグLx は、Lx=8000/Fxであり、3400Hzまでの間には、(Lx/2)×(3400/4000) = (4000/Fx)×(3400/4000) = 3400/Fxすなわち、3400/Fx 本のハーモニクスが立っている。すなわち、データ数変換部270内での次元変換あるいはデータ数変換で、44点→3400/Fxへの変換を行えばよい。
なお、エンコード時にスペクトルのベクトル量子化に先だってフレーム間差分をとっている場合には、ここでの逆ベクトル量子化後にフレーム間差分の復号を行ってからデータ数変換を行い、スペクトルエンベロープのデータを得る。
サイン波合成回路215には、データ数変換部270からのLPC残差のスペクトルエンベロープ振幅データやピッチデータの他にも、入力端子205からの上記V/UV判定データが供給されている。サイン波合成回路215からは、LPC残差データが取り出され、これが加算器218に送られている。
また、逆ベクトル量子化器212からのエンベロープのデータと、入力端子204、205からのピッチ、V/UV判定データとは、有声音(V)部分のノイズ加算のためのノイズ合成回路216に送られている。このノイズ合成回路216からの出力は、重み付き重畳加算回路217を介して加算器218に送っている。これは、サイン波合成によって有声音のLPC合成フィルタへの入力となるエクサイテイション(Excitation:励起、励振)を作ると、男声等の低いピッチの音で鼻づまり感がある点、及びV(有声音)とUV(無声音)とで音質が急激に変化し不自然に感じる場合がある点を考慮し、有声音部分のLPC合成フィルタ入力すなわちエクサイテイションについて、音声符号化データに基づくパラメータ、例えばピッチ、スペクトルエンベロープ振幅、フレーム内の最大振幅、残差信号のレベル等を考慮したノイズをLPC残差信号の有声音部分に加えているものである。
加算器218からの加算出力は、LPC合成フィルタ214の有声音用の合成フィルタ236に送られてLPCの合成処理が施されることにより時間波形データとなり、さらに有声音用ポストフィルタ238vでフィルタ処理された後、加算器239に送られる。
次に、図14の入力端子207s及び207gには、上記図3の出力端子107s及び107gからのUVデータとしてのシェイプインデクス及びゲインインデクスがそれぞれ供給され、無声音合成部220に送られている。端子207sからのシェイプインデクスは、無声音合成部220の雑音符号帳221に、端子207gからのゲインインデクスはゲイン回路222にそれぞれ送られている。雑音符号帳221から読み出された代表値出力は、無声音のLPC残差に相当するノイズ信号成分であり、これがゲイン回路222で所定のゲインの振幅となり、窓かけ回路223に送られて、上記有声音部分とのつなぎを円滑化するための窓かけ処理が施される。
窓かけ回路223からの出力は、無声音合成部220からの出力として、LPC合成フィルタ214のUV(無声音)用の合成フィルタ237に送られる。合成フィルタ237では、LPC合成処理が施されることにより無声音部分の時間波形データとなり、この無声音部分の時間波形データは無声音用ポストフィルタ238uでフィルタ処理された後、加算器239に送られる。
加算器239では、有声音用ポストフィルタ238vからの有声音部分の時間波形信号と、無声音用ポストフィルタ238uからの無声音部分の時間波形データとが加算され、出力端子201より取り出される。
以上説明したように、スペクトルエンベロープの形状を変えないでハーモニクスの本数を変えることにより、音声の音韻を変えることなくピッチを変えることができる。従って、1つの音声パターンの符号化されたデータすなわちエンコーデッドビットストリームを持っていれば、そのピッチを任意に変更して合成することができる。
すなわち、図15において、符号化データ出力部301からは、上述した図2や図3のエンコーダ等により符号化されることによって得られたエンコーデッドビットストリームあるいは符号化データが出力され、これらのデータの内、少なくともピッチデータ及びスペクトルエンベロープデータがデータ変換部302を介して波形合成部303に送られ、またV/UV(有声音/無声音)判定データのようなピッチ変換に無関係のデータは直接的に波形合成部303に送られる。
波形合成部303は、スペクトルエンベロープデータやピッチデータに基づいて音声波形を合成するものであり、上記図4や図5のような方式の合成装置の場合には、LSPデータやCELP用のデータ等も符号化データ出力部301から取り出されて供給されることは勿論である。
この図15のような構成において、少なくともピッチデータやスペクトルエンベロープデータが、上述したように、データ変換部302で変更したいピッチに応じて変換された後、波形合成部303に送られて音声波形が合成されることにより、音韻を変化させることなくピッチが変更された音声信号を、出力端子304から取り出すことができる。
また、このような技術を、規則合成、テキスト合成等と組み合わせることもできる。
図16は、音声のテキスト合成に本発明を適用した例を示すものであり、上述したような音声圧縮符号化のデコーダと、テキスト音声合成の音声合成器とを兼用させることができる。また、図16の例では、音声データの再生も組み合わせて使用している。
すなわち、図16において、規則音声合成部300内に、音声の規則合成部と、上述したようなピッチ変更のためのデータ変換を伴った音声合成部とが含まれており、テキスト解析部310からデータが入力されて、合成された所望のピッチの音声信号が出力され、この合成音声信号は切換スイッチ330の被選択端子aに送られる。また、音声再生部320は、必要に応じて圧縮処理が施されてROM等に記憶された音声データを読み出し、圧縮処理に対応する伸長処理が施して、音声信号を出力するものである。この再生音声信号は切換スイッチ330の被選択端子bに送られる。切換スイッチ330で上記合成音声信号、再生音声信号の一方が選択されて、出力端子340より取り出される。
この図16に示すような装置は、例えば自動車等のナビゲーション装置に適用することができる。このナビゲーション装置に適用する場合において、例えば「右に曲がってください。」といった方向指示等の定形の発話には、音声再生部320からの高品質でクリアな再生音声を用い、地名や建物名等のように数が膨大でROM等に音声情報として蓄えることが難しい特殊な名称等の発話には、規則音声合成部300からの合成音声を用いることが挙げられる。
また、本発明を用いることで同一のハードウェアが、300と320の両方に使用できるメリットがある。
なお、本発明は上記実施の形態のみに限定されるものではなく、例えば上記図1、図3の音声分析側(エンコード側)の構成や、図14の音声合成側(デコード側)の構成については、各部をハードウェア的に記載しているが、いわゆるDSP(ディジタル信号プロセッサ)等を用いてソフトウェアプログラムにより実現することも可能である。また、上記ベクトル量子化の代わりに、複数フレームのデータをまとめてマトリクス量子化を施してもよい。さらに、本発明は、種々の音声分析/合成方法に適用でき、用途としても、伝送や記録再生に限定されず、ピッチ変換やスピード変換、規則音声合成、あるいは雑音抑圧のような種々の用途に応用できることは勿論である。
以上説明したような符号化部及び復号化部は、例えば図17及び図18に示すような携帯通信端末あるいは携帯電話機等に使用される音声コーデックとして用いることができる。
すなわち、図17は、上記図2、図3に示したような構成を有する音声符号化部160を用いて成る携帯端末の送信側構成を示している。この図17のマイクロホン161で集音された音声信号は、アンプ162で増幅され、A/D(アナログ/ディジタル)変換器163でディジタル信号に変換されて、音声符号化部160に送られる。この音声符号化部160は、上述した図2、図3に示すような構成を有しており、この入力端子101に上記A/D変換器163からのディジタル信号が入力される。音声符号化部160では、上記図2、図3と共に説明したような符号化処理が行われ、図2、図3の各出力端子からの出力信号は、音声符号化部160の出力信号として、伝送路符号化部164に送られる。伝送路符号化部164では、いわゆるチャネルコーディング処理が施され、その出力信号が変調回路165に送られて変調され、D/A(ディジタル/アナログ)変換器166、RFアンプ167を介して、アンテナ168に送られる。
また、図18は、上記図5、図14に示したような構成を有する音声復号化部260を用いて成る携帯端末の受信側構成を示している。この図18のアンテナ261で受信された音声信号は、RFアンプ262で増幅され、A/D(アナログ/ディジタル)変換器263を介して、復調回路264に送られ、復調信号が伝送路復号化部265に送られる。264からの出力信号は、上記図5、図14に示すような構成を有する音声復号化部260に送られる。音声復号化部260では、上記図5、図14と共に説明したような復号化処理が施され、図5、図14の出力端子201からの出力信号が、音声復号化部260からの信号としてD/A(ディジタル/アナログ)変換器266に送られる。このD/A変換器266からのアナログ音声信号がスピーカ268に送られる。
本発明の実施の形態に係る音声信号の再生方法及び装置は、時間軸上で所定の符号化単位毎に区分されて該単位毎の符号化処理により得られた符号化パラメータを補間処理して所望の時刻に対応する変更符号化パラメータを求め、この変更符号化パラメータに基づいて音声信号を再生するので、広いレンジにわたる任意のレートのスピードコントロールを簡単にかつ音韻,ピッチを不変として高品質に行うことができる。
また、本発明の実施の形態に係る音声信号の再生方法によれば、入力音声信号を時間軸上で所定のブロック単位毎に区分して得た符号化パラメータを用い、符号化時とは異なる長さのブロックで音声を再生するので、広いレンジにわたる任意のレートのスピードコントロールを簡単にかつ音韻,ピッチを不変として高品質に行うことができる。
また、本発明の実施の形態に係る音声復号化方法及び装置は、入力されたデータのハーモニックスの基本周波数と所定の帯域内における個数を変換し、上記入力された各ハーモニックスにおけるスペクトルの大きさを表すデータの個数を補間処理することによってピッチを変更するので、簡単な構成で任意のピッチに変更することができる。
この場合、音声圧縮のデコーダとテキスト音声合成の音声合成器を兼用させることが挙げられる。ここで、定型の発話には圧縮・伸張によりクリアな再生音を得て、特殊な合成にはテキスト合成あるいは規則合成を用いることにより、効率的な音声出力システムを構成することができる。
また、本発明の実施の形態に係る携帯無線端末装置は、ピッチ変換あるいはピッチコントロールされた音声信号を簡単な構成で送受信できる。