(57)【特許請求の範囲】
【請求項１】
連続的に入力された３つの音声信号を用いて所定の式に基づき求めた、隣り合う音声信号のサンプル値の差分を、予め定められた複数の範囲及びそれぞれに対応するスケールファクタと比較して、該差分を除算して、予め定めたビット数におさめる最小のスケールファクタを先行予測しておく先行予測回路を有し、該先行予測したスケールファクタ、前記音声信号のうちの最新の音声信号、及びそれ以外の音声信号に対応する逆量子化された音声信号を用いて適応的に量子化を行う音声圧縮装置であって、
前記予め定められた複数の範囲それぞれを、該範囲に対応するスケールファクタと同一の値により前記差分を除算して、前記予め定めたビット数におさめることが可能な範囲よりも狭い範囲としたことを特徴とする音声圧縮装置。
【請求項２】
連続的に入力された３つの音声信号を用いて所定の式に基づき求めた、隣り合う音声信号のサンプル値の差分を、予め定められた複数の範囲及びそれぞれに対応するスケールファクタと比較して、該差分を除算して、予め定めたビット数におさめる最小のスケールファクタを先行予測しておく先行予測回路を有し、該先行予測したスケールファクタ、前記音声信号のうちの最新の音声信号、及びそれ以外の音声信号に対応する逆量子化された音声信号を用いて適応的に量子化を行う音声圧縮装置であって、
前回先行予測したスケールファクタを保持しておく保持手段と、
前回入力された音声信号において求めたスケールファクタとの差が所定値以上とならないように、今回先行予測したスケールファクタの値を制限する制限手段とを備えたことを特徴とする音声圧縮装置。
【請求項３】
前回先行予測したスケールファクタを保持しておく保持手段と、
前回入力された音声信号において求めたスケールファクタとの差が所定値以上とならないように、今回先行予測したスケールファクタの値を制限する制限手段とを備えたことを特徴とする請求項１に記載の音声圧縮装置。
【請求項４】
連続的に入力された３つの音声信号を用いて所定の式に基づき求めた、隣り合う音声信号のサンプル値の差分を、予め定められた複数の範囲及びそれぞれに対応するスケールファクタと比較して、該差分を除算して、予め定めたビット数におさめる最小のスケールファクタを先行予測しておく先行予測回路を有し、該先行予測したスケールファクタ、前記音声信号のうちの最新の音声信号、及びそれ以外の音声信号に対応する逆量子化された音声信号を用いて適応的に量子化を行う音声圧縮装置において、前記予め定められた複数の範囲それぞれを、該範囲に対応するスケールファクタと同一の値により前記差分を除算して、前記予め定めたビット数におさめることが可能な範囲よりも狭い範囲とし、スケールファクタを先行予測する手段としてコンピュータを機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項５】
連続的に入力された３つの音声信号を用いて所定の式に基づき求めた、隣り合う音声信号のサンプル値の差分を、予め定められた複数の範囲及びそれぞれに対応するスケールファクタと比較して、該差分を除算して、予め定めたビット数におさめる最小のスケールファクタを先行予測しておく先行予測回路を有し、該先行予測したスケールファクタ、前記音声信号のうちの最新の音声信号、及びそれ以外の音声信号に対応する逆量子化された音声信号を用いて適応的に量子化を行う音声圧縮装置において、前回先行予測したスケールファクタを保持しておく保持手段、および前回入力された音声信号において求めたスケールファクタとの差が所定値以上とならないように、今回先行予測したスケールファクタの値を制限する制限手段としてコンピュータを機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は音声圧縮装置および記録媒体に関し、特に、音声圧縮方式としてＤＰＣＭ（Differential Pulse Code Modulation）を採用した装置に用いて好適なものである。
【０００２】
【従来の技術】
従来、音声信号を伝送したり蓄積したりする場合に、伝送データ量の削減や、蓄積メディア（メモリ、テープ、ディスク等）への保存可能時間の長時間化を目的として、図４に示すように音声の圧縮、伸長が行われている。図４において、音声圧縮装置４１にて入力音声から生成された音声圧縮信号が、図示しない伝送路を介して伝送されたり、図示しない蓄積メディアに蓄積されたりする。その後、必要に応じて音声伸長装置４２にて伸長され、再生音声として出力される。
【０００３】
音声信号の圧縮方式としては、例えばＤＰＣＭ（Differential Pulse Code Modulation）が一般的に知られている。このＤＰＣＭによる圧縮方式は、波形をサンプリングするとき隣り合うサンプル値の差分を量子化する手法である。
さらに、このＤＰＣＭの音声圧縮方式において、圧縮後のデータ形式として差分値とスケールファクタ値とを持つ圧縮方式も存在する。これは、量子化のステップサイズ（スケーリングファクタ）を波形の振幅によって適応的に変える方式である。例えば、振幅の大きいところではステップサイズを大きくし、波形の変化に追従できるようにする。
【０００４】
例えば、ＰＣＭ音声信号の場合には１サンプル当たり１６ビット必要であったのが、ＤＰＣＭを適用すると７ビット程度に圧縮できるが、非常に大きなピークを有する音声では、この７ビットでは表現しきれない場合が生じる。そこで、ＤＰＣＭによる音声圧縮信号に対して、あらかじめ予測したスケールファクタをかけることにより、７ビットのみであっても大きな変化を有する音声を十分に表現できるようになる。
【０００５】
次に示す式(1),(2) は、一般的に用いられるＤＰＣＭの式である。
DPCM[j] ＝ PCM[j]-PCM[j-1]……(1)
DPCM[j] ≒ CPCM[j]*SF[k]  ……(2)
ここで、ｊは各サンプルポイントの番号を表す値、DPCM[]は隣り合うサンプル値の差分値、PCM[] はＰＣＭ音声信号のサンプル値（１６ビット）、CPCM[]はコード化したDPCM[]の値（７ビット）、SF[]はスケールファクタ係数である。
【０００６】
このように、ＤＰＣＭ方式による音声圧縮では、一般には上記の式(1),(2) に示す一連の式を使用することが多い。式(2) に示すスケールファクタSF[k] は、差分値DPCM[j] よりもビット長が短い圧縮コード信号CPCM[j] について、それのみでは元の音声信号を表現し切れない不足分を補う目的で使用される。このスケールファクタSF[k] の値は、オーディオ符号化方式の勧告Ｇ．７２１では先行する圧縮コード信号CPCM[j] の値から線形予測される。
【０００７】
以下に、スケールファクタの先行予測について述べる。
上述した圧縮方式の音声圧縮装置では、１つのスケールファクタSF[k] の値は複数の圧縮コード信号CPCM[j] で共用される。つまり、共用する数をｎとして、k*ｎ≦ｊ＜(k+1)*ｎの関係が成り立つk,ｊの組で１つのスケールファクタSF[k] を共用し、音声圧縮信号としては圧縮コード信号CPCM[j] およびスケールファクタSF[k] を伝送する。
【０００８】
この場合、例えばk=0,n=4 のときは、CPCM[0] 〜 CPCM[3]の４つの圧縮コード信号で１つのスケールファクタSF[0] を共用することになるが、これを実現するためには、圧縮処理部に４つのＰＣＭ音声信号PCM[0]〜PCM[3]が入力される前に、スケールファクタSF[0] の値が既に確定している必要がある。そのため、実際にＰＣＭ音声信号の圧縮処理を行う前にスケールファクタを予測する処理を先行させ、予測を行っている時間分だけＰＣＭ音声信号を遅らせた上で圧縮処理部に送るようにすることで、スケールファクタSF[0] の値が確定した後にPCM[0]〜PCM[3]が圧縮処理部に入力されるようにすることができる。
【０００９】
次に、このようにスケールファクタSF[k] を圧縮コード信号CPCM[j] と共に音声圧縮信号として伝送する音声圧縮方式において、スケールファクタSF[k] の求め方を以下に示す。
次に示す式(3),(4) は、スケールファクタSF[k] を先行予測するための式である。
DPCM[j] = PCM[j]-PCM[j-1] ……(3)
CPCM[j] = DPCM[j]/SF[k]   ……(4)
【００１０】
すなわち、まず式(3) に従って、１６ビットのＰＣＭ音声信号PCM[j]から差分値DPCM[j] を求める。そして、式(4) を用いて差分値DPCM[j] から７ビットの圧縮コード信号CPCM[j] を求める場合に、この圧縮コード信号CPCM[j] がそのビット長に収まるような最小のスケールファクタSF[k] を算出する。最小の値を求めるのは、丸め誤差を最小にとどめるためである。
【００１１】
次の式(5),(6) は、音声圧縮信号を実際に生成する際に使用する一連の式であり、式(7),(8) は、生成された音声圧縮信号を実際に伸長する際に使用する一連の式である。
DPCM'[j] = PCM[j]-PCM'[j-1]   ……(5)
CPCM'[j] = DPCM'[j]/SF[k]     ……(6)
DPCM"[j] = CPCM'[j]*SF[k]     ……(7)
PCM'[j]  = PCM'[j-1]+DPCM"[j] ……(8)
【００１２】
上記したスケールファクタを予測するための式(3),(4) と、音声圧縮信号を実際に生成する際に使用する式(5),(6) とを比較すれば分かるように、両者はほとんど同じ式であるが、式(5) では式(3) と異なりPCM[j-1]の代わりにPCM'[j-1] を用いている。このPCM'[j-1] は、ＰＣＭ音声信号を一度圧縮してから伸長して元に戻した値である。これは、音声伸長装置側で、式(7),(8) を用いて再生音声PCM'[j] を生成するときに、その生成した値が元の値PCM[j]に最も近くなる最適なDPCM"[j]の値を得るためである。
【００１３】
すなわち、このＰＣＭ音声信号のサンプル値PCM'[j] は、音声圧縮装置で正規化・量子化を行う際に発生する量子化誤差を含む値であり、このような量子化誤差を含んだサンプル値PCM'[j] を差分式(5) に用いることにより、実際に入力された音声の波形と極めて近い波形の音声を音声伸長装置側で再生することが可能となる。
【００１４】
本来であれば、実際の処理を表す式(6),(7) で使用するスケールファクタSF[k] については、同じ式(6) で最適化するのが望ましいが、その場合、スケールファクタSF[k] の値を変えることによって式(6) で発生する丸め誤差の値が変わってしまい、反復して求める必要が生じる。これは、ハードウェア化した場合に負担となるため、多くの場合、式(3),(4) で求めたスケールファクタで問題ないものとしてSF[j] の値を決定する。逆に言えば、このスケールファクタの先行予測を行うことで、ほとんど問題のないスケールファクタSF[k] の値が、過大な負荷なしに得られる。
【００１５】
図５に、PCM[j]とPCM'[j] との違いを示す。上記の式 (5)〜(8) から、スケールファクタSF[k] の値が十分に小さければ、PCM'[j] の量子化幅がPCM[j]の量子化幅とほとんど同じとなり、PCM'[j] はPCM[j]とほぼ同じ値をとる。しかし、スケールファクタSF[k] の値が大きい場合は、図に示すようにPCM'[j] の量子化幅はPCM[j]の量子化幅よりも大きくなり、両者の間での変換誤差がPCM'[j] には加わる。よって上述したように、スケールファクタSF[k] は、圧縮コード信号CPCM[j] が７ビットの範囲に収まるような値のうち最小の値が求められる。
【００１６】
【発明が解決しようとする課題】
上述のように、一般的なＤＰＣＭでは差分式(1) を使用する。これは、入力される信号がＰＣＭ音声信号の場合、音声信号の一般的な特性として、周波数が低くなるほど信号圧が高くなるという性質があるため、差分式(1) を用いて圧縮することにより、得られる結果は、元のＰＣＭ音声信号よりも絶対値が小さな値となることが期待できる。よって式(2) を用いた場合に良い近似値を得やすくなり、音質劣化の少ないデータ圧縮の効果が望めるからである。
【００１７】
これらの式(1),(2) は隣り合う２つのサンプル値の差分を計算する２次の式であり、これを改めて次のように書くこととする。
D2PCM[j]＝PCM[j]-PCM[j-1] ……(9)
D2PCM[j]≒C2PCM[j]*SF2[k] ……(10)
ここで、D2PCM[j]は２次の差分値（例えば１７ビット）、C2PCM[j]は２次のコード化した差分値（例えば７ビット）である。
【００１８】
ところが、ＰＣＭのサンプリングレートが、入力音声の持っているスペクトルよりも大幅に高い場合には、例えば以下に示す３次の式(11)を用いると、２次の式(9) を用いた場合よりも得られる期待値が小さくなることがある。そのため、それを用いて以下の３次の式(12)を適用すると、２次の式(10)の場合よりも近似値の精度が高くなり、再生音の品質が向上する。
D3PCM[j]＝PCM[j]-2*PCM[j-1]+PCM[j-2]  ……(11)
D3PCM[j]≒C3PCM[j]*SF3[k] ……(12)
ここで、D3PCM[j]は３次の差分値（例えば１８ビット）、C3PCM[j]は３次のコード化した差分値（例えば７ビット）である。
【００１９】
しかしながら、ＤＰＣＭの式として３次の式(11),(12) を用いた場合には、以下のような問題が発生する。すなわち、上記３次の差分式(11)と音声圧縮信号を実際に生成する際に使用する以下の差分式(13)と比較すると、
D3PCM'[j] ＝PCM[j]-2*PCM'[j-1]+PCM'[j-2]  ……(13)
差分式(13)において量子化誤差は2*PCM'[j-1] の項とPCM'[j-2] の項とに含まれており、２次の式(9),(10)を用いた場合と比べて３倍（係数の絶対値の和が３倍）のオーダーで量子化誤差の値が大きくなるということになる。
【００２０】
量子化誤差が十分に小さければ、差分値D3PCM'[j] を逆量子化してD3PCM"[j] を生成する際に、その誤差を修正してD3PCM"[j] の値を元の差分値D3PCM[j]に近づけることが可能である。ところが、上記３次の式(11),(12) を用いた場合は、修正可能な範囲を越える大きな量子化誤差が含まれてしまう事態が少なからず発生する。そして、一旦発生した誤差が処理を進める毎にどんどん累積されていって発振を起こしてしまうことになる。このような異常発振が始まると、元の音声とはかけ離れた再生音となってしまう問題がある。
【００２１】
なお、このような発振現象は、いわゆるデータ飽和が起こることによって発生すると考えられる。すなわち、上述の例で、１６ビットの元のＰＣＭ音声信号PCM[j]を圧縮して圧縮コード信号CPCM[j] を７ビットの範囲内に収めようとする場合、元の信号値が大きい場合には圧縮コード信号CPCM[j] にスケールファクタSF[k] をかけることによってこれを実現する。
【００２２】
ところが、量子化誤差が大きい場合は、スケールファクタSF[k] をかけても圧縮コード信号CPCM[j] をそのビット長の範囲内に収めることができないことがある。その場合には、例えばＭＰＥＧ等で用いられている飽和演算により、上記ビット長の範囲内で最良の値を圧縮コード信号CPCM[j] の値として採用する。しかし、このようにすると、逆量子化により修正可能な範囲で最大限修正を行っても、圧縮前の元の入力信号値に近づけることができず、次第に発振する。
【００２３】
本発明は、このような問題を解決するために成されたものであり、ＤＰＣＭによる音声圧縮方式で、その圧縮後のデータ形式として差分値と先行予測したスケールファクタの値とを持つ音声圧縮方式において、圧縮時におけるデータ飽和、つまり発振現象の発生を抑制できるようにすることを目的とする。また、一旦発生してしまった発振現象を安定化させることができるようにすることも目的とする。
【００２４】
【課題を解決するための手段】
本発明の音声圧縮装置は、連続的に入力された３つの音声信号を用いて所定の式に基づき求めた、隣り合う音声信号のサンプル値の差分を、予め定められた複数の範囲及びそれぞれに対応するスケールファクタと比較して、該差分を除算して、予め定めたビット数におさめる最小のスケールファクタを先行予測しておく先行予測回路を有し、該先行予測したスケールファクタ、前記音声信号のうちの最新の音声信号、及びそれ以外の音声信号に対応する逆量子化された音声信号を用いて適応的に量子化を行う音声圧縮装置であって、前記予め定められた複数の範囲それぞれを、該範囲に対応するスケールファクタと同一の値により前記差分を除算して、前記予め定めたビット数におさめることが可能な範囲よりも狭い範囲としたことを特徴とする。
また、本発明の音声圧縮装置は、連続的に入力された３つの音声信号を用いて所定の式に基づき求めた、隣り合う音声信号のサンプル値の差分を、予め定められた複数の範囲及びそれぞれに対応するスケールファクタと比較して、該差分を除算して、予め定めたビット数におさめる最小のスケールファクタを先行予測しておく先行予測回路を有し、該先行予測したスケールファクタ、前記音声信号のうちの最新の音声信号、及びそれ以外の音声信号に対応する逆量子化された音声信号を用いて適応的に量子化を行う音声圧縮装置であって、前回先行予測したスケールファクタを保持しておく保持手段と、前回入力された音声信号において求めたスケールファクタとの差が所定値以上とならないように、今回先行予測したスケールファクタの値を制限する制限手段とを備えたことを特徴とする。
また、本発明の音声圧縮装置において、前回先行予測したスケールファクタを保持しておく保持手段と、前回入力された音声信号において求めたスケールファクタとの差が所定値以上とならないように、今回先行予測したスケールファクタの値を制限する制限手段とを備えたことを特徴とする。
また、本発明の記録媒体は、連続的に入力された３つの音声信号を用いて所定の式に基づき求めた、隣り合う音声信号のサンプル値の差分を、予め定められた複数の範囲及びそれぞれに対応するスケールファクタと比較して、該差分を除算して、予め定めたビット数におさめる最小のスケールファクタを先行予測しておく先行予測回路を有し、該先行予測したスケールファクタ、前記音声信号のうちの最新の音声信号、及びそれ以外の音声信号に対応する逆量子化された音声信号を用いて適応的に量子化を行う音声圧縮装置において、前記予め定められた複数の範囲それぞれを、該範囲に対応するスケールファクタと同一の値により前記差分を除算して、前記予め定めたビット数におさめることが可能な範囲よりも狭い範囲とし、スケールファクタを先行予測する手段としてコンピュータを機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
また、本発明の記録媒体は、連続的に入力された３つの音声信号を用いて所定の式に基づき求めた、隣り合う音声信号のサンプル値の差分を、予め定められた複数の範囲及びそれぞれに対応するスケールファクタと比較して、該差分を除算して、予め定めたビット数におさめる最小のスケールファクタを先行予測しておく先行予測回路を有し、該先行予測したスケールファクタ、前記音声信号のうちの最新の音声信号、及びそれ以外の音声信号に対応する逆量子化された音声信号を用いて適応的に量子化を行う音声圧縮装置において、前回先行予測したスケールファクタを保持しておく保持手段、および前回入力された音声信号において求めたスケールファクタとの差が所定値以上とならないように、今回先行予測したスケールファクタの値を制限する制限手段としてコンピュータを機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
【００３１】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。
図１は、本発明の第１の実施形態に係る音声圧縮装置の構成を示す図である。図１において、１は先行予測回路であり、入力されるＰＣＭ音声信号PCM[j]に基づいてスケールファクタSF[k] の値を先行予測する。ここで使用する先行予測の式は、例えば以下に示す３次の式(14),(15) である。
D3PCM[j]＝PCM[j]-2*PCM[j-1]+PCM[j-2]  ……(14)
C3PCM[j]＝D3PCM[j]/SF3[k] ……(15)
【００３２】
ここで、ＰＣＭ音声信号PCM[j]は１６ビットであることから本来はスケールファクタSF[k] の値も１６ビットの精度を持つことが望まれる。ここではこれを少ないビット長で実現するために、
SF[k] =2(n/4) （ｎは整数）
とし、圧縮コード信号C3PCM[j]のビット長を７ビットとすると、n=0,1,2,3...で表現できる差分値D3PCM[j]の範囲は、一般的には以下のようになる。
【００３３】
n=0 : -64 ≦DPCM＜ 64 （７ビットで表現できる値は -64〜63）
n=1 : -76 ≦DPCM＜ 76 （64*21/4 ≒76.109・・・・）
n=2 : -90 ≦DPCM＜ 90 （64*22/4 ≒90.509・・・・）
n=3 : -107≦DPCM＜107 （64*23/4 ≒107.634・・・）
n=4 : -128≦DPCM＜128 （64*24/4 ＝128 ）
【００３４】
これに対して本実施形態では、上述の先行予測する式にオフセットを設け、累積誤差によるデータ飽和を抑制できるようにする。オフセットを設けるというのは、上記の値域よりも更に厳しい条件で差分値DPCM[j] からスケールファクタSF[k] を決定するということである。例えば、４／６４のオフセットを上限値、下限値に設けた場合、
-60 ≦DPCM＜ 60 : n=0
-71 ≦DPCM＜ 71 : n=1 （60*21/4 ≒71.352・・・・）
-84 ≦DPCM＜ 84 : n=2 （60*22/4 ≒84.852・・・・）
-100≦DPCM＜100 : n=3 （60*23/4 ≒100.907・・・）
のような対応にすることである。
【００３５】
すなわち、例えば差分値DPCM[j]が−60〜59の範囲にあるときはスケールファクタSF[k]の値を20/4＝1とし、−71〜70の範囲にあるときはスケールファクタSF[k]の値を21/4＝1.189・・・とすることにより、圧縮コード信号C3PCM[j]を７ビットのビット長に収めることができる。これによれば、一般的な方法では差分値DPCM[j]が−64〜−61、60〜63の範囲にあるときはスケールファクタSF[k]の値が20/4＝1とされるのに対して、本実施形態のオフセットを設けた方法によれば、スケールファクタSF[k]の値は21/4＝1.189・・・とされることとなる。
【００３６】
このように、オフセットを設けた場合には、そのオフセットの分だけ先行予測したスケールファクタSF[k] の値に余裕があるため、データ飽和する確率が減少し、飽和したときに発生する大きなノイズの発生を抑止することができる。これにより、データ飽和に起因する発振現象を抑制することができ、圧縮時に生成された音声圧縮信号を伸長して再生した場合に、元の入力音声と極めて近似した再生音を得ることができるようになる。
【００３７】
次いで、２は遅延バッファであり、上記先行予測回路１の処理で要する時間分だけ、入力されたＰＣＭ音声信号PCM[j]に対して遅延処理を施す。このようにすることで、必要なスケールファクタSF[k] の値が先行予測回路１で確定された後に実際の圧縮処理を行うことが可能となる。３は差分回路であり、入力されるＰＣＭ音声信号PCM[j]の波形をサンプリングするときに連続するサンプル値の差分を計算する。本実施形態の差分回路３で使用する差分式は、上記式(14)と同様の次の式(16)である。
D3PCM'[j] ＝PCM[j]-2*PCM'[j-1]+PCM'[j-2]  ……(16)
【００３８】
４は正規化・量子化装置であり、上記差分回路３で差分式(16)に従って計算された差分値D3PCM'[j] に対して、先行予測回路１で決定されたスケールファクタSF3[k]の値を用いて次の式(17)に従って正規化および量子化の処理を施すことによって圧縮を行い、圧縮コード信号C3PCM'[j] を生成する。
C3PCM'[j] ＝D3PCM'[j]/SF3[k]……(17)
このようにして、例えば１６ビットの入力ＰＣＭ音声信号PCM[j]から、例えば７ビットの圧縮コード信号C3PCM'[j] を生成することが可能である。
【００３９】
このようにして生成された圧縮コード信号C3PCM'[j] は、逆正規化・逆量子化装置５および信号ミキサ８に与えられる。逆正規化・逆量子化装置５は、以下の式(18)に従って上記正規化・量子化装置４による処理とは逆の処理を行うことにより、差分値DPCM"[j]を生成するものである。
D3PCM"[j] ＝C3PCM'[j]*SF3[k]……(18)
【００４０】
６は逆差分回路であり、上記差分回路3 とは逆の処理を行うことにより、元のＰＣＭ音声信号PCM[j]に近いＰＣＭ音声信号PCM'[j] （量子化誤差を含んだもの）を生成する。この逆差分回路６で使用する逆差分式は、上述した差分回路３で使用した差分式(16)に対応した次の式(19)である。
PCM'[j] ＝2*PCM'[j-1]-PCM'[j-2]+D3PCM'[j] ……(19)
【００４１】
この逆差分回路６によって上記逆差分式(19)に従って求められたＰＣＭ音声信号PCM'[j] は、遅延バッファ７により一定時間だけ遅延された後、差分回路３および逆差分回路６に供給される。このような量子化誤差を含んだサンプル値PCM'[j] を差分式および逆差分式に用いることにより、実際に入力された音声の波形と極めて近い波形の音声を、図示しない音声伸長装置で再生することが可能となる。
【００４２】
上記先行予測回路１で決定したスケールファクタSF3[k]の値は、何らかの手段で図示しない音声伸長装置に伝える必要がある。そのために本実施形態では、例えば、音声圧縮装置の出力段に信号ミキサ８を設け、解析の結果得られたスケールファクタSF3[k]を圧縮コード信号C3PCM[j]とミキシングして音声圧縮信号を生成し、これを伝送するようにしている。音声伸長装置側には信号分配装置が設けられ、ヘッダ等に付加されて伝送されたスケールファクタSF3[k]を分離する。
【００４３】
なお、以上に述べた第１の実施形態では、３次の式を使用した場合のスケールファクタの先行予測方式について説明したが、式(14)〜(19)の一連の式を次に示す２次の式(20)〜(25)に変更することで、２次の式を使用した場合のスケールファクタの先行予測方式にも本発明を適用することができる。
【００４４】
D2PCM[j]＝PCM[j]-PCM[j-1]     ……(20)
C2PCM[j]＝D2PCM[j]/SF2[k]     ……(21)
D2PCM'[j] ＝PCM[j]-PCM'[j-1]  ……(22)
C2PCM'[j] ＝D2PCM'[j]/SF2[k]  ……(23)
D2PCM"[j] ＝C2PCM'[j]*SF2[k]  ……(24)
PCM'[j] ＝PCM'[j-1]+D2PCM'[j] ……(25)
【００４５】
次に、本発明による音声圧縮装置の第２の実施形態について説明する。この第２の実施形態では、先行予測するスケールファクタSF[k] の値に制限を設けることにより、累積誤差によるデータ飽和の発生を抑制するものである。
【００４６】
スケールファクタSF[k] の値に対する誤差の量は、圧縮コード信号CPCM[j] のビット長により決定される量子化誤差と、スケールファクタSF[k] の値の大きさにより求められる。したがって、今回予測したスケールファクタSF[k] の値が前回の値に比べて急激に小さくなった場合、小さくなる前の量子化誤差が大きな値であるため、小さくなった後のスケールファクタSF[k] では表現しきれなくなり、飽和することが考えられる。
【００４７】
これを防止するために、第２の実施形態では、先行予測回路１で予測されたスケールファクタSF[k] の値の変化に対してアンダーリミットを付けるようにする。つまり、スケールファクタSF[k] の値を差分値DPCM[j] のみで求めるのではなく、その下限値として、直前のスケールファクタSF[k] の値によっても制限を受ける形で求めるようにする。これにより、データ飽和により発生するノイズの抑制が可能である。
【００４８】
図２は、この第２の実施形態を実現するための構成例を示す図であり、図１に示したブロックと同じブロックには同一の符号を付している。図２において、遅延バッファ９は、先行予測回路１で求められたスケールファクタの値を、少なくとも次のスケールファクタが求められるまでの間保持しておく。
【００４９】
また、リミッタ１０は、今回先行予測回路１により求められたスケールファクタSF[k] と、遅延バッファ９に格納されている直前のスケールファクタSF[k-1] の値とを比較し、前回の値よりも今回の値の方が所定値以上小さくなっている場合には、その所定値の下げ幅を越えて値を小さくしないようにスケールファクタSF[k] の値を決定する。
【００５０】
なお、この第２の実施形態は、これを単独で用いても良いし、第１の実施形態で述べたオフセットを設けることとの組み合わせで用いても良い。オフセットを設けることなくスケールファクタSF[k] にアンダーリミットを付けることだけでも、累積誤差によるデータ飽和をある程度抑制することができるが、第１の実施形態との組み合わせで用いるとその抑制効果は更に向上する。
【００５１】
また、ここではスケールファクタSF[k] の値が急激に小さくなった場合について述べているが、これとは逆に、スケールファクタSF[k] の値が前回の値と比べて急激に大きくなった場合に、設定するスケールファクタSF[k] の値に上限を設けるようにしても良い。
【００５２】
次に、本発明による音声圧縮装置の第３の実施形態について説明する。この第３の実施形態は、データ飽和が実際に起こっているかどうかを検出し、データ飽和が起こっていることを確認した場合には、発振現象が発生していると判断し、誤差の増幅作用を持つ差分式の選択を禁止して増幅作用を持たない差分式を用いるようにするものである。
【００５３】
データ飽和が起こっているか否かは、例えばＭＰＥＧで用いられている飽和演算により簡単に判断することができる。また、誤差の増幅作用を持つか否かは、差分式の右辺に含まれるPCM[j]以外の項の係数の絶対値の和により判定し、その値が１よりも大きい場合は増幅作用を持つものとする。例えば、上述した３次の差分式(16)では増幅作用を持ち、２次の差分式(20)では増幅作用を持たない。
【００５４】
図３は、この第３の実施形態を実現するための構成例を示す図であり、図１に示したブロックと同じブロックには同一の符号を付している。図３において、先行予測回路３１は、スケールファクタSF[k] の先行予測のための式として、上述した３次の式(14),(15) と２次の式(20),(21) との何れかを使用する。
【００５５】
また、差分回路３３、正規化・量子化装置３４、逆正規化・逆量子化装置３５、逆差分回路３６はそれぞれ、上述した３次の式(16),(17),(18),(19) と２次の式(22),(23),(24),(25) との何れかを使用する。これらの機能に関しては、図１に示した先行予測回路１、差分回路３、正規化・量子化装置４、逆正規化・逆量子化装置５、逆差分回路６と同じである。
【００５６】
飽和判定回路３７は、正規化・量子化装置３４で圧縮コード信号CPCM[j] を求める際にデータ飽和が起こっているか否かを、例えばＭＰＥＧで用いられている飽和演算により判定する。そして、差分式制御回路３８は、上記飽和判定回路３７での判定結果に基づいて、上記した２次の差分式と３次の差分式との何れを使用するかを選択し、差分式選択信号を先行予測回路３１、差分回路３３、逆差分回路３６および信号ミキサ８に出力する。
【００５７】
従来例で述べたように、ＰＣＭ音声信号PCM[j]のサンプリングレートが、入力音声の持っているスペクトルよりも大幅に高い場合には、３次の差分式を用いた方が２次の差分式を用いた場合よりも得られる期待値の精度が高くなり、再生音の品質が向上する。よって、このような場合には３次の差分式を選択するように差分式制御回路３８は動作する。
【００５８】
ところが、３次の差分式(16)の右辺にあるPCM'[j-1] の項とPCM'[j-2] の項については、量子化誤差が含まれる。この量子化誤差に対する補正は通常問題なく行われるが、何らかの原因で修正できない量に達した場合、量子化誤差は増幅され、発振のようなデータ出力となる。
【００５９】
これに対する対策として、▲１▼発振している場合は圧縮コード信号C3PCM'[j] を求めるときにデータ飽和が起こっている点、▲２▼発振が継続する条件は３次の差分式を利用している点に注目し、差分式制御回路３８が３次の差分式の使用を禁止して２次の差分式を使用するような差分式選択信号を出力することで、発振している状態から発振のない状態に徐々に復帰させることが可能である。
【００６０】
このように、第３の実施形態では、ＤＰＣＭ音声圧縮方式において、スケールファクタSF[k] の先行予測の式の形状を選択的に変更できるように構成し、データ飽和が起こっている場合には誤差の増幅がないような差分式を選択するようにしている。つまり、スケールファクタSF[k] のみでなく差分式の選択信号を加えることにより、低周波でよりノイズの少ない再生音を得ることができる。
【００６１】
なお、ここでは差分式として２次の差分式と３次の差分式とを１つずつ用い、何れかの式を選択的に使用するようにしたが、より多くの差分式を選択的に使用できるように構成しても良い。この場合も、データ飽和が起こっていることを確認したときには誤差の増幅作用のない式を選択するが、そのような式が複数ある場合には、スケールファクタSF[k] の値が最も小さくなる式を選択する。
【００６２】
また、この第３の実施形態は、これを単独で用いても、第１の実施形態や第２の実施形態の機能との組み合わせで用いても良い。組み合わせで用いた場合には、音声圧縮時におけるデータ飽和、発振現象を未然に防止することができるとともに、仮に発振が発生してもその発振を停止させることができる。
【００６３】
（本発明の他の実施形態）
上記図１〜図３に示した各ブロックは、本実施形態においてはハード的に構成しているが、ＣＰＵ、ＲＯＭおよびＲＡＭ等からなるマイクロコンピュータシステムによって構成し、その動作をＲＯＭやＲＡＭに格納された作業プログラムに従って実現するようにしても良い。
【００６４】
この場合、上記作業プログラム自体が上述した実施形態の機能を実現することになり、そのプログラム自体、およびそのプログラムをコンピュータに供給するための手段、例えばかかるプログラムを格納した記録媒体は本発明を構成する。かかるプログラムを記憶する記録媒体としては、上記ＲＯＭやＲＡＭの他に、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｉ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ、ｚｉｐ、磁気テープ、あるいは不揮発性のメモリカード等を用いることができる。
【００６５】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等の共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００６６】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００６７】
【発明の効果】
本発明は上述したように、連続的に入力された３つの音声信号を用いて所定の式に基づき求めた、隣り合う音声信号のサンプル値の差分を、予め定められた複数の範囲及びそれぞれに対応するスケールファクタと比較して、該差分を除算して、予め定めたビット数におさめる最小のスケールファクタを先行予測しておく先行予測回路を有し、該先行予測したスケールファクタ、前記音声信号のうちの最新の音声信号、及びそれ以外の音声信号に対応する逆量子化された音声信号を用いて適応的に量子化を行う音声圧縮装置において、前記予め定められた複数の範囲それぞれを、該範囲に対応するスケールファクタと同一の値により前記差分を除算して、前記予め定めたビット数におさめることが可能な範囲よりも狭い範囲としたので、その狭い範囲の分だけ先行予測したスケールファクタの値に余裕を持たせることができ、データ飽和する確率を減少させ、データ飽和に起因する発振現象を抑制することができる。これにより、圧縮時に生成された音声圧縮信号を伸長して再生した場合に、元の入力音声と極めて近似した再生音を得ることができる。
【００６８】
また、本発明の他の特徴によれば、前回求められた乗算係数の値との差が所定値以上とならないように、今回求められた乗算係数の値を制限するようにしたので、今回予測した乗算係数の値が前回の値に比べて急激に小さくなったり大きくなったりすることを防止でき、急激に変化した後の乗算係数で圧縮音声を表現しきれなくなる不都合を防止することができる。これにより、累積誤差によるデータ飽和の発生を抑制することができ、データ飽和に起因する発振現象を抑制することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る音声圧縮装置の構成を示す図である。
【図２】本発明の第２の実施形態に係る音声圧縮装置の構成を示す図である。
【図３】本発明の第３の実施形態に係る音声圧縮装置の構成を示す図である。
【図４】従来の音声圧縮伸長装置の構成を示す図である。
【図５】  PCM[j]とPCM'[j] との違いを示す図である。
【符号の説明】
１  先行予測回路
２  遅延バッファ
３  差分回路
４  正規化・量子化装置
５  逆正規化・逆量子化装置
６  逆差分回路
７  遅延バッファ
８  信号ミキサ
９  遅延バッファ
１０  リミッタ
３１  先行予測回路
３３  差分回路
３４  正規化・量子化装置
３５  逆正規化・逆量子化装置
３６  逆差分回路
３７  飽和判定回路
３８  差分式制御回路
【図１】
0004171106.tif 000002
【図２】
0004171106.tif 000003
【図３】
0004171106.tif 000004
【図４】
0004171106.tif 000005
【図５】
0004171106.tif 000006