JP4216364B2 - 音声符号化/復号化方法および音声信号の成分分離方法 - Google Patents

音声符号化/復号化方法および音声信号の成分分離方法 Download PDF

Info

Publication number
JP4216364B2
JP4216364B2 JP12887698A JP12887698A JP4216364B2 JP 4216364 B2 JP4216364 B2 JP 4216364B2 JP 12887698 A JP12887698 A JP 12887698A JP 12887698 A JP12887698 A JP 12887698A JP 4216364 B2 JP4216364 B2 JP 4216364B2
Authority
JP
Japan
Prior art keywords
component
signal
unit
speech
noise
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
Application number
JP12887698A
Other languages
English (en)
Other versions
JPH11242499A (ja
Inventor
公生 三関
正浩 押切
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP12887698A priority Critical patent/JP4216364B2/ja
Publication of JPH11242499A publication Critical patent/JPH11242499A/ja
Application granted granted Critical
Publication of JP4216364B2 publication Critical patent/JP4216364B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は低ビットレートの音声符号化方法に係り、特に背景雑音も含めて音声信号を原音にできるだけ近い形で高能率に圧縮して符号化する音声符号化/復号化方法および音声信号の成分分離方法に関する。
【0002】
【従来の技術】
従来の低ビットレート音声符号化は、音声信号を効率よく符号化することを目的とし、音声の発生過程のモデルを取り入れた符号化方法によって行われる。このような音声符号化方法の中で、特に近年ではCELP方式をベースとする音声符号化方法の普及が著しい。このCELPベースの音声符号化方法を用いると、背景雑音がほとんど無いような環境下で入力された音声信号は、符号化のモデルと合っているために符号化の効率が良く、音質の劣化を比較的小さく抑えて符号化を行うことができる。
【0003】
しかし、背景雑音のレベルが大きな条件で入力された音声信号にCELPベースの音声符号化方法を用いると、再生された出力信号の背景雑音の感じが大きく変質し、非常に不安定で不快な感じの音となることが知られている。このような傾向は、符号化のビットレートが8kbps以下になると特に顕著である。
【0004】
このような問題を軽減するために、背景雑音であると判定された時間区間でより雑音性の高い音源信号を用いてCELP符号化を行うことにより、背景雑音区間での音質劣化を改善させようとする方法も提案されている。このような方法を用いると、背景雑音区間の音質が多少は改善されるが、音源信号を合成フィルタに通して音声を合成するという音声の発生過程のモデルを用いているため、依然として原音の背景雑音と異なった感じの雑音になる傾向に変わりはなく、改善の効果が小さいという問題がある。
【0005】
【発明が解決しようとする課題】
上述したように、従来の音声符号化方法では背景雑音のレベルが大きな条件で入力された音声信号を符号化すると、再生された出力信号の背景雑音の感じが大きく変質し、非常に不安定で不快な感じの音となるという問題があった。
【0006】
本発明の主な目的は、背景雑音も含めて音声を原音にできるだけ近い形で再生することのできる低レート音声符号化方法および音声復号化方法を提供することにある。
【0007】
本発明の他の目的は、できるだけ少ないビット数で背景雑音を符号化できるようにして、背景雑音も含めて音声を原音にできるだけ近い形で再生することのできる低レート音声符号化方法および音声復号化方法を提供することにある。
【0008】
本発明のさらに別の目的は、このような音声符号化方法に適した音声信号の成分分離方法として、入力音声信号を所定の時間単位毎に音声が主体の第1の成分と背景雑音が主体の第2の成分とに確実に成分分離する方法を提供することにある。
【0009】
【課題を解決するための手段】
上述した課題を解決するため、本発明に係る音声符号化方法は、入力音声信号を所定の時間単位毎に音声が主体の第1の成分と背景雑音が主体の第2の成分とに成分分離し、第1および第2の成分を基にそれぞれの成分のビット割り当てを予め定められた複数のビット割り当て候補の中から選択し、このビット割り当ての下で第1および第2の成分をそれぞれ異なる所定の符号化方法により符号化し、第1および第2の成分の符号化データおよびビット割り当ての情報を伝送符号化データとして出力することを特徴とする。
【0010】
CELP符号化では、前述したように背景雑音のレベルが大きな条件で入力された音声信号を符号化すると、再生音声信号の背景雑音の感じが大きく変化し、非常に不安定で不快な感じの音となってしまう。これは背景雑音がCELPが得意とする音声信号と全く異なるモデルを有するためであり、背景雑音を符号化する際にはそれに見合った方法で符号化を行うことが望ましい。
【0011】
本発明では、所定の時間単位毎に入力音声信号を音声が主体の第1の成分と背景雑音が主体の第2の成分に成分分離することで、音声および背景雑音のそれぞれの成分の性質に合った異なるモデルに基づいた符号化方法を用いることにより、符号化全体の効率が向上する。
【0012】
また、このとき第1の成分と第2の成分を基に、それぞれの成分をより効率的に符号化できるビット割り当てを所定候補の中から選択して、第1の成分と第2の成分を符号化することにより、全体のビットレートを低く保ちつつ、高能率に入力音声信号を符号化することができる。
【0013】
本発明に係る音声符号化方法においては、第1の成分については時間領域で符号化し、第2の成分については周波数領域または変換領域で符号化することが望ましい。すなわち、音声は10〜15ms程度の比較的短い時間で速く変動する情報であるため、これを主体とする第1の成分については、CELP方式の符号化のように時間領域での波形歪みを小さくするような符号化の方が高品質に符号化しやすい。一方、背景雑音は数10〜数100msの比較的長い時間でゆっくりと変動するため、これを主体とする第2の成分については、周波数領域や変換領域のパラメータに変換してから符号化した方が少ないビット数でより容易にその情報を抽出することができる。
【0014】
また、本発明に係る音声符号化方法では、所定の時間単位に割り当てられる符号化の全ビット数が固定であることが望ましい。このようにすると、入力音声信号を固定のビットレートで符号化することができるので、符号化データがより扱いやすくなる。
【0015】
さらに、本発明に係る音声符号化方法においては、第2の成分の符号化のために複数の符号化方法を用意しておき、これらの符号化方法の少なくとも一つは、既に符号化された過去の背景雑音のスペクトル形状を利用して現在の背景雑音のスペクトル形状を符号化するようにすることが望ましい。この符号化方法によると、非常に少ないビット数で第2の成分を符号化することができるので、これにより余裕のできた符号化ビット数を第1の成分の符号化に配分することにより、復号音声の品質劣化を防ぐことができる。
【0016】
入力音声信号の音声が主体の第1の成分と背景雑音が主体の第2の成分をそれぞれに適合したモデルに基づいた符号化方法により符号化すると、不快な音の発生を回避できる反面、音声信号に背景雑音が重畳している場合、つまり入力音声信号を第1の成分と第2の成分に分離した後のそれぞれの成分がいずれも無視できないほどのパワーを有する場合に、第1の成分の符号化ビット数の絶対数が不足してしまい、結果として復号音声の品質が著しく劣化してしまう。
【0017】
このような場合、上述した既に符号化された過去の背景雑音のスペクトル形状を利用して現在の背景雑音のスペクトル形状を符号化する方法を用いれば、背景雑音が主体の第2の成分を非常に少ない符号化ビット数で符号化でき、余裕の生じた符号化ビット数を音声が主体の第1の成分の符号化に配分して、復号音声の良好な品質が確保される。
【0018】
ここで、過去の背景雑音のスペクトル形状を利用して現在の背景雑音のスペクトル形状を符号化する方法では、例えば過去の背景雑音のスペクトル形状と現在の背景雑音のスペクトル形状からパワー補正係数を算出した後、量子化を行い、量子化後のパワー補正係数を過去の背景雑音のスペクトル形状に乗じて現在の背景雑音のスペクトル形状を求め、パワー補正係数の量子化時に得られるインデックスを符号化データとする。
【0019】
背景雑音のスペクトル形状は、例えば車が走行している際の車内騒音や、オフィスにおける事務機器のノイズなどから容易に想像できるように、比較的長い時間でほぼ一定である。このような背景雑音は、スペクトル形状はほとんど変化せずに、パワーだけが変化していると考えることができる。従って、一旦ある背景雑音のスペクトル形状を符号化すれば、次からは背景雑音のスペクトル形状は固定とみなし、パワーの変化量だけを符号化すればよい。こうすることで、非常に少ない符号化ビット数で背景雑音のスペクトル形状を表すことができる。
【0020】
また、過去の背景雑音のスペクトル形状を利用して現在の背景雑音のスペクトル形状を符号化する方法では、上述の量子化後のパワー補正係数を過去の背景雑音のスペクトル形状に乗じて現在の背景雑音のスペクトル形状を予測し、この予測したスペクトル形状を用いて、予め定められた規則に従って決定された周波数帯における背景雑音のスペクトルを符号化し、パワー補正係数の量子化時に得られるインデックスと、予め定められた規則に従って決定された周波数帯における背景雑音のスペクトルの符号化時に得られるインデックスを符号化データとするようにしてもよい。
【0021】
上述したように、背景雑音のスペクトル形状は比較的に長い時間でほぼ一定と考えることができるが、数十秒も同一の形状が続くとは考えにくく、そのような長い時間の間には背景雑音のスペクトル形状は徐々に変化していると考えるのが自然である。従って、予め定められた規則に従い周波数帯を決定し、過去の背景雑音のスペクトル形状に係数を乗じて現在の背景雑音について予測したスペクトル形状と現在の背景雑音のスペクトル形状とで、この周波数帯の誤差信号を求めそれを符号化するようにすれば、前述した周波数帯を決定する規則は背景雑音の全周波数帯をある時間をかけて巡回するように決められる。これにより、徐々に変化する背景雑音の形状を効率よく符号化することができる。
【0022】
一方、本発明に係る音声復号化方法は、上述のようにして符号化を行って得られた伝送符号化データを復号して音声信号を再生するために、入力される伝送符号化データから、音声が主体の第1の成分の符号化データと背景雑音が主体の第2の成分の符号化データおよび第1および第2の成分の符号化データのそれぞれのビット割り当ての情報を分離し、このビット割り当ての情報を復号して第1および第2の成分の符号化データのビット割り当てを求め、このビット割り当ての下で第1および第2の成分の符号化データを復号して第1および第2の成分を再生し、再生した第1および第2の成分を結合して最終的な出力音声信号を生成することを特徴とする。
【0023】
本発明に係る音声符号化方法は、上述したように入力音声信号を所定の時間単位毎に音声が主体の第1の成分と背景雑音が主体の第2の成分とに成分分離する処理が必要である。本発明では、この成分分離のためにまず入力音声信号について雑音抑圧を行って得られた第1の信号(以下、音声成分抽出信号という)と入力音声信号から第1の信号を減じた第2の信号(以下、雑音成分抽出信号という)を生成し、これら音声成分抽出信号および雑音成分抽出信号から、入力音声信号が音声成分を主とする第1の状態、背景雑音成分を主とする第2の状態、および音声成分と背景雑音成分の両者をほぼ均等に含む第3の状態のいずれの状態かを所定の時間単位毎に判定する。そして、この判定の結果、入力音声信号が第1の状態と判定されたときは、第1の成分として入力音声信号そのまま出力すると共に、第2の成分として予め定められた所定の信号を出力し、入力音声信号が第2の状態と判定されたときは、第1の成分として予め定められた所定の信号を出力すると共に、第2の成分として入力音声信号を出力し、入力音声信号が第3の状態と判定されたときは、第1の成分として音声成分抽出信号を出力すると共に、第2の成分として雑音成分抽出信号を出力する。予め定められた所定の信号とは、例えば全ゼロ信号である。また、入力音声信号が第2の状態と判定されたときは、第1の成分として音声成分抽出信号を出力すると共に、第2の成分として雑音成分抽出信号を出力するようにしてもよい。
【0024】
さらに、入力音声信号が第1の状態、第2の状態および第3の状態のいずれの状態かを判定する処理に、雑音成分抽出信号のピッチ周期性の大きさを調べる処理を含むことが望ましい。
【0025】
このような音声信号の成分分離方法によると、入力音声信号が音声成分を主とする第1の状態のときは、入力音声信号が雑音抑圧処理を受けずにそのまま音声成分主体の第1の成分として出力され、これが音声成分に適した符号化方法で符号化されるため、音声成分に対する不要な雑音抑圧処理による復号音声信号の品質劣化が回避される。
【0026】
また、雑音成分抽出信号のピッチ周期性の大きさを調べ、これがある閾値に満たないときは、入力音声信号が背景雑音成分を主とする第2の状態であるとして背景雑音成分が主体の第2の成分として出力され、これが背景雑音成分に適した符号化方法で符号化される。一方、ピッチ周期性の大きさが閾値以上のときは、入力音声信号が音声成分を主体とする第1の状態であるとみなして、音声成分抽出信号が第1の成分として出力され、これが音声成分に適した符号化方法で符号化される。このように雑音成分抽出信号に大きなピッチ周期性がある場合には、音声成分に適した符号化方法で符号化されることにより、この雑音成分抽出信号が背景雑音成分を主体とする第2の成分に適した符号化方法で符号化されることによる不快な雑音の発生が回避される。
【0027】
すなわち、背景雑音成分を主体とする第2の成分に適した符号化方法に基づく符号化器は、一般に周期性を効率よく表現できないため、周期性のある信号が入力されると不快な雑音を生成してしまうおそれがあるが、このような場合には入力音声信号を音声成分を主体とする第1の成分に適した符号化方法に基づいた、周期性を正しく表現できる符号化器で符号化することにより、不快な雑音の発生を防ぐことができる。
【0028】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
【0029】
(第1の実施形態)
[符号化側について]
図1に、本発明の第1の実施形態に係る音声符号化方法を適用した音声符号化装置の構成を示す。この音声符号化装置は、成分分離部100、ビット割り当て選択部120、音声符号化部130、雑音符号化部140および多重化部150によって構成される。
【0030】
成分分離部100は、入力される音声信号を所定の時間単位毎に分析し、音声が主体の第1の成分(以下、音声主体成分という)とそれ以外の背景雑音が主体の第2の成分(以下、背景雑音主体成分)とに分離する成分分離を行う。通常、この成分分離時の分析の時間単位は10〜30ms程度が適当であり、音声符号化の単位であるフレーム長とほぼ対応するようにすることが望ましい。この成分分離の具体的な手法は種々考えられるが、通常、背景雑音は音声に比べて時間的にスペクトルの形状がゆっくり変動する性質があるので、このような性質の違いを利用した方法で成分分離を行うことが望ましい。
【0031】
例えば、スペクトルサブトラクションと呼ばれる技術を用いて、時間的に変動の少ない背景雑音のスペクトルの形状を処理を行いながら推定し、時間的に変動の激しい時間区間では、その区間からそれまでに推定していた雑音のスペクトルの分だけを入力音声のスペクトルから差し引くことで、背景雑音がある条件下で入力音声信号から音声主体成分を良好に分離することができる。一方、背景雑音主体成分については、入力音声信号から求められた音声主体成分を時間領域か周波数領域で差し引くことにより求めることができる。背景雑音主体成分としては、前述の推定した雑音のスペクトルをそのまま用いることも可能である。
【0032】
ビット割り当て選択部120は、成分分離部100からの音声主体成分と背景雑音主体成分の2種類の成分を基に、後述する音声符号化部130と背景雑音符号化部140のそれぞれに割り当てる符号化ビット数を予め定められたビット割り当ての組み合わせの中から選択し、それらのビット割り当ての情報を音声符号化部130および雑音符号化部140に出力する。また、これと共にビット割り当て選択部120からビット割り当ての情報が伝送情報として多重化部150に出力される。
【0033】
このビット割り当ては、音声主体成分と背景雑音主体成分のそれぞれの成分の量を比較することによって選択することが望ましいが、それだけに限られるものではなく、例えば、より安定した音質を得るために、ビット割り当ての変化を過去から監視しながら、ビット割り当てに急激な変化が起こりにくくする仕組みと、それぞれの成分の量の比較とを組み合わせてビット割り当てきめる方法も有効である。
【0034】
ビット割り当て選択部120において用意されるビット割り当ての組み合わせとそれを表す符号の一例としては、次の表1に示すものが考えられる。
【0035】
【表1】
Figure 0004216364
【0036】
表1では、ビット割り当て用符号に「0」を選択すると、音声符号化部130にはフレーム当たり79ビットが割り当てられ、雑音符号化部140にはビット割り当てが無い。これにビット割り当て用符号を1ビット送るため、入力音声信号の符号化に必要な全ビット数は80ビットとなる。音声主体成分に比べて背景雑音主体成分がほとんど無いようなフレームに対しては、このビット割り当てを選択するようすることが望ましい。こうすることで音声符号化部130へのビット割り当てが大きくなり、再生音声の音質が向上する。
【0037】
一方、ビット割り当て用符号に「1」を選択すると、音声符号化部130にはフレーム当たり69ビットが割り当てられ、雑音符号化部140には10ビットが割り当てられる。これにビット割り当て用符号を1ビット送るため、入力音声信号の符号化に必要な全ビット数はやはり80ビットとなる。音声主体成分に比べて背景雑音主体成分が無視できないほど大きなフレームに対しては、このビット割り当てを選択するようにすることか望ましい。こうすることで、音声と背景雑音を音声符号化部130および雑音符号化部140でそれぞれ効率よく符号化を行うことができ、復号側で自然な背景雑音を伴った音声を再生することができる。
【0038】
フレーム長は、音声符号化部130では10〜30ms程度の長さが適当である。この例では、2種類のビット割り当ての組み合わせに対し、符号化データのトータルのフレーム当たりのビット数は80と固定になっている。このように伝送符号化データのトータルのフレーム当たりのビット数を固定にすると、入力音声信号によらずに固定のビットレートで符号化を行うことができるようになる。また、次の表2に示すようなビット割り当ての組み合わせを用いる構成も可能である。
【0039】
【表2】
Figure 0004216364
【0040】
この場合は、背景雑音主体成分がほとんど無いようなフレームでは音声符号化部130だけに79ビットを割り当て、雑音符号化部140にビットを割り当てないようにし、伝送符号化データのフレーム当たりのビット数を80ビットとする。また、背景雑音主体成分が無視できないようなフレームでは、音声符号化部130の79ビットの他に雑音符号化部140に10ビットを割り当て、伝送符号化データのフレーム当たりのビット数が90に増えるような可変レートの符号化となる。
【0041】
また、本発明では上記とは別の構成で、ビット割り当ての情報を伝送しなくてもよいような音声符号化も実現可能である。具体的には、過去の符号化された情報を基に、音声符号化部130および雑音符号化部140のビット割り当てを決めるような符号化の仕組みにすればよい。この場合、復号化側でも過去の符号化された同じ情報を持っているので、ビット割り当ての情報を復号化側に伝送することなく符号化側で決めたビット割り当てと同じビット割り当てを復号化側で再生でき、音声符号化部130および雑音符号化部140へのビット割り当てを増やして符号化自体の性能を上げることができるという効果がある。ビット割り当ては、過去の符号化された音声主体成分と背景雑音主体成分とのそれぞれの成分の大きさを比較して決めるようにすればよい。
【0042】
なお、ここでは2種類のビット割り当ての例を説明したが、さらに多数の種類のビット割り当てを用いる構成にしても、本発明を適用することができることは明かである。
【0043】
音声符号化部130は、成分分離部100からの音声主体成分を入力し、音声信号の特徴を反映した音声符号化により音声主体成分の符号化を行う。音声符号化部130には、音声信号を効率よく符号化できるような符号化方法であればどのような方法を用いてもよいことはいうまでもないが、一例としてここではより自然な音声を提供できる方法の一つであるCELP方式を用いることにする。CELP方式は、周知のように通常、時間領域で符号化を行う方式で、時間領域の合成した波形の歪みが少なくなるように音源信号の符号化を行うことに特徴がある。
【0044】
雑音符号化部140は、成分分離部100からの背景雑音主体成分を入力し、雑音を良好に符号化できるように構成されている。通常、背景雑音は音声信号に比べるとスペクトルの時間的な変動はゆるやかである。また、波形の位相情報もランダムに近く、人間の耳には位相情報があまり重要ではないという特徴がある。
【0045】
このような背景雑音成分を効率よく符号化するには、CELP方式等の波形歪みを小さくするような波形符号化よりも、変換符号化のように時間領域から変換領域に変換して、その変換係数または変換係数から抽出されるパラメータを符号化する方法の法が効率的に符号化を行うことができる。特に、周波数領域に変換して人間の聴覚の特性を考慮した符号化を行うと、さらに符号化の効率を高めることができる。
【0046】
次に、図2のフローチャートを用いて本実施形態の音声符号化方法の処理手順を説明する。
まず、入力音声信号を所定の時間単位毎に取り込み(ステップS100)、成分分離部100でこれを分析して音声主体成分とそれ以外の背景雑音主体成分に分離する(ステップS101)。
【0047】
次に、ビット割り当て選択部120で成分分離部100からの音声主体成分と背景雑音主体成分の2種類の成分を基に、音声符号化部130と背景雑音符号化部140のそれぞれに割り当てるビット数を予め定められたビット数の割り当ての組み合わせの中から選択するとともに、そのビット割り当ての情報を音声符号化部130および背景雑音符号化部140に出力する(ステップS102)。
【0048】
そして、ビット割り当て選択部120で選択されたそれぞれのビット割り当てに従い、音声符号化部130と雑音符号化部140で符号化処理を行う(ステップS103)。具体的には、音声符号化部130では成分分離部100からの音声主体成分を入力し、音声符号化部130に対して割り当てられたビット数で符号化を行い、音声を主体とする成分に対する符号化データを求める。
【0049】
一方、雑音符号化部140では成分分離部100からの背景雑音信号が主体の成分を入力し、雑音符号化部140に対して割り当てられたビット数で符号化を行い、背景雑音を主体とする成分に対する符号化データを求める。
【0050】
次に、多重化部150で各符号化部130,140からの符号化データと各符号化部130,140へのビット割り当ての情報を多重化して伝送路に伝送符号化データとして出力する(ステップS104)。これで所定の時間区間内で行う符号化の処理が終る。そして、次の時間区間に対し符号化を続行するか終了するかを判定する(ステップS105)。
【0051】
[音声符号化装置の具体例]
図3に、音声符号化部130にCELP方式、雑音符号化部140に変換符号化をそれぞれ用いた場合の音声符号化装置の具体例を示す。CELP方式では、音声の生成過程のモデルをとして声帯信号を音源信号に対応させ、声道が表すスペクトル包絡特性を合成フィルタにより表し、音源信号を合成フィルタに入力させ、合成フィルタの出力で音声信号を表現する。この際、CELP符号化に供される音声信号と、符号化してから再生される音声との波形歪みが聴覚的に小さくなるように音源信号の符号化を行うところにその特徴がある。
【0052】
音声符号化部130は成分分離部100からの音声主体成分を入力し、この成分を時間領域での波形歪みが小さくなるように符号化する。この際、ビット割り当て選択部120からのビット割り当てに応じて予め定められたビット数の割り当ての下で符号化部130内の各符号化が行われる。この場合、符号化部130中の各符号化部で使用するビット数の和をビット割り当て選択部120から符号化部130へのビット割り当てに一致させることによって、音声符号化部130の性能を最大に生かすことができる。このことは、符号化部140についても同様である。
【0053】
ここで説明するCELP符号化は、スペクトル包絡符号帳探索部311、適応符号帳探索部312、雑音符号帳探索部313、ゲイン符号帳探索部314を用いて符号化を行う。各符号帳探索部311〜314で探索された符号帳のインデックスの情報は符号化データ出力部315に入力され、この符号化データ出力部315から音声符号化データとして多重化部150へ出力される。
【0054】
次に、音声符号化部130の中の各符号帳探索部311〜314の機能について説明して行く。スペクトル包絡符号帳探索部311は、成分分離部100からの音声主体成分をフレーム毎に入力し、予め用意しているスペクトル包絡符号帳を探索して、入力された信号のスペクトル包絡をより良く表現することのできる符号帳のインデックスを選択して、このインデックスの情報を符号化データ出力部315へ出力する。通常、CELP方式ではスペクトル包絡を符号化する際に用いるパラメータとしてLSP(Line Spectrum Pair)パラメータを用いるが、これに限られるものではなく、スペクトル包絡を表現できるパラメータであれば他のパラメータも有効である。
【0055】
適応符号帳探索部312は、音源の中のピッチ周期で繰り返す成分を表現するために用いられる。CELP方式では、符号化された過去の音源信号を所定の長さだけ適応符号帳として格納し、これを音声符号化部と音声復号化部の両方で持つことにより、指定されたピッチ周期に対応して繰り返す信号を適応符号帳から引き出すことができる構造になっている。適応符号帳では符号帳からの出力信号とピッチ周期が一対一に対応するため、ピッチ周期を適応符号帳のインデックスに対応させることができる。このような構造の下、適応符号帳探索部312では符号帳からの出力信号を合成フィルタで合成したときの合成信号と目標とする音声信号との歪みを聴覚重み付けしたレベルで評価し、その歪みが小さくなるようなピッチ周期のインデックスを探索する。そして、探索されたインデックスの情報を符号化データ出力部315へ出力する。
【0056】
雑音符号帳探索部313は、音源の中の雑音的な成分を表現するために用いられる。CELP方式では、音源の雑音成分は雑音符号帳を用いて表され、指定された雑音インデックスに対応して雑音符号帳から様々な雑音信号を引き出すことができる構造になっている。このような構造の下、雑音符号帳探索部313では符号帳からの出力信号を用いて再生される合成音声信号と、雑音符号帳探索部313において目標となる音声信号との歪みを聴覚重み付けしたレベルで評価し、その歪みが小さくなるような雑音インデックスを探索する。そして、探索された雑音インデックスの情報を符号化データ出力部315へ出力する。
【0057】
ゲイン符号帳探索部314は、音源のゲイン成分を表現するために用いられる。CELP方式では、ピッチ成分に用いるゲインと雑音成分に用いるゲインの2種類のゲインをゲイン符号帳探索部314で符号化する。符号帳探索においては、符号帳から引き出されるゲイン候補を用いて再生される合成音声信号と目標とする音声信号との歪みを聴覚重み付けしたレベルで評価し、その歪みが小さくなるようなゲインインデックスを探索する。そして、探索されたゲインインデックスを符号化データ出力部315へ出力する。符号化データ部315は、符号化データを多重化部150へ出力する。
【0058】
次に、成分分離部100からの背景雑音主体成分を入力し、これを符号化する雑音符号化部140の詳細な構成例について図3を用いて説明する。
【0059】
雑音符号化部140は、成分分離部100からの背景雑音主体成分を入力し、所定の変換を用いてこの成分の変換係数を求め、変換領域でのパラメータの歪みが小さくなるように符号化を行う点が上述した音声符号化部130で行う符号化の方法と大きく異なる。変換領域でのパラメータの表現については、様々な方法が考えられるが、ここでは一例として背景雑音成分を変換領域で帯域分割部でし、各帯域別にその帯域を代表するパラメータを求め、そのパラメータを所定の量子化器で量子化し、そのインデックスを送る方法について説明する。
【0060】
まず、変換係数算出部321において所定の変換を用いて背景雑音主体成分の変換係数を求める。変換の方法としては、例えば離散フーリエ変換やFFT(高速フーリエ変換)を用いることができる。次に、帯域分割部322において周波数軸を所定の帯域に分割し、雑音符号化ビット割り当て部320からのビット割り当てに応じた量子化ビット数を用いて、第1帯域符号化部323、第2帯域符号化部324、…、第m帯域符号化部325により、m個の帯域別にパラメータの量子化を行う。8kHzサンプリングにおいては、帯域の個数mは4〜16程度の値が望ましい。
【0061】
このときのパラメータとしては、変換係数から求められるスペクトル振幅やパワースペクトルをそれぞれの帯域の中で平均した値を用いることができる。各帯域からのパラメータの量子化値を表すインデックスの情報は、符号化データ出力部326に入力され、この符号化データ出力部326から符号化データとして多重化部150へ出力される。
【0062】
[復号化側について]
図4に、本実施形態に係る音声復号化方法を適用した音声復号化装置の構成を示す。この音声復号化装置は、逆多重化部160、ビット割り当て復号化部170、音声復号化部180、雑音復号化部190および結合部195からなる。
【0063】
逆多重化部160では、図1の音声符号化装置から前述のようにして所定の時間単位毎に送られてきた伝送符号化データを受け、これをビット割り当ての情報と、音声復号化部180に入力するための符号化データと、雑音復号化部190に入力するための符号化データに分離して出力する。
【0064】
ビット割り当て復号部170は、ビット割り当ての情報を復号し、音声復号化部180と雑音復号化部190のそれぞれに割り当てるビット数を符号化側と同じ仕組みで定められたビット数の割り当ての組み合わせの中から出力する。
【0065】
音声復号化部180は、ビット割り当て復号部170によるビット割り当てに基づき、符号化データを復号して音声を主体とする成分についての再生信号を生成し、これを結合部195へ出力する。
【0066】
雑音復号化部190は、ビット割り当て復号部170によるビット割り当てに基づき、符号化データを復号して背景雑音を主体とする成分についての再生信号を生成し、これを結合部195へ出力する。
【0067】
結合部195は、音声復号化部180で復号再生された音声を主体とする成分の再生信号と、雑音復号化部190で復号再生された雑音を主体とする成分の再生信号を結合して、最終的な出力音声信号を生成する。
【0068】
次に、図5のフローチャートを用いて本実施形態の音声復号化方法の処理手順を説明する。
【0069】
まず、入力される伝送符号化データを所定の時間単位毎に取り込み(ステップS200)、この符号化データを逆多重化部160でビット割り当ての情報と、音声復号化部180に入力するための符号化データと、雑音復号化部190に入力するための符号化データに分離して出力する(ステップS201)。
【0070】
次に、ビット割り当て復号部170においてビット割り当ての情報を復号し、音声復号化部180と雑音復号化部190のそれぞれに割り当てるビット数を音声符号化装置と同じ仕組みで定められたビット数の割り当ての組み合わせの中から出力する(ステップS202)。そして、ビット割り当て復号部170からのビット割り当てに基づき、音声復号化部180と雑音復号化部190でそれぞれの符号化データからそれぞれの再生信号を生成し、これらを結合部195へ出力する(ステップS203)。
【0071】
次に、結合部195において再生された音声信号を主体とする成分と再生された雑音信号を主体とする成分を結合し(ステップS204)、最終的な音声信号を生成して出力する(ステップS205)。
【0072】
[音声復号化装置の具体例]
図6に、図3の音声符号化装置の構成に対応する音声復号化装置の具体例を示す。逆多重化部160は、図3の音声符号化装置から送られてきた所定の時間単位毎の伝送符号化データをビット割り当ての情報と、音声復号化部180に入力するための符号化データであるスペクトル包絡のインデックス、適応インデックス、雑音インデックス、ゲインのインデックス情報を出力するとともに、雑音復号化部190に入力するための符号化データである各帯域別の量子化インデックスの情報を出力する。ビット割り当て復号部170は、ビット割り当ての情報を復号し、音声復号化部180と雑音復号化部190のそれぞれに割り当てるビット数を符号化と同じ仕組みで定められたビット数の割り当ての組み合わせの中から出力する。
【0073】
音声復号化部180は、ビット割り当て復号部170からのビット割り当てに基づき符号化データを復号して音声を主体とする成分についての再生信号を生成し、これを結合部195へ出力する。具体的には、スペクトル包絡復号部414でスペクトル包絡のインデックスと予め用意しているスペクトル包絡符号帳からスペクトル包絡の情報を再生し、これを合成フィルタ416に送る。また、適応音源復号部411で適応インデックスの情報を入力し、これに対応するピッチ周期で繰り返す信号を適応符号帳から引き出して音源再生部415に出力する。
【0074】
雑音音源復号部412は、雑音インデックスの情報を入力し、これに対応する雑音信号を雑音符号帳から引き出して音源再生部415に出力する。
【0075】
ゲイン復号部413は、ゲインインデックスの情報を入力し、これに対応するピッチ成分に用いるゲインと雑音成分に用いるゲインの2種類のゲインをゲイン符号帳から引き出して音源再生部415に出力する。
【0076】
音源再生部415は、適応音源復号部411からのピッチ周期で繰り返す信号(ベクトル)Epと、雑音音源復号部412からの雑音信号(ベクトル)Enと、ゲイン復号部413からの2種類のゲインGp,Gnを用いて音源信号(ベクトル)Exを次式(1)に従って再生する。
Ex=Gp・Ep+Gn・En (1)
合成フィルタ416は、スペクトル包絡の情報を用いて音声を合成するための合成フィルタのパラメータを設定し、音源再生部415からの音源信号を入力することにより合成音声信号を生成する。さらに、ポストフィルタ417でこの合成音声信号に含まれる符号化歪みを整形して聞きやすい音となるようにして結合部195に出力する。
【0077】
次に、図6の雑音復号部190について説明する。
雑音復号部190は、ビット割り当て復号部170によるビット割り当てに基づき、雑音復号部190に必要な符号化データを入力し、これを復号して背景雑音を主体とする成分の再生信号を生成し、これを結合部195へ出力する。具体的には、雑音データ分離部420で符号化データを各帯域別の量子化インデックスに分離し、第1帯域復号化部421、第2帯域復号化部422、…、第m帯域復号化部423により、それぞれの帯域でのパラメータを復号し、逆変換部424で復号されたパラメータを用いて符号化側で行った変換と逆の変換を行い、背景雑音を主体とする成分を再生信号を生成する。この背景雑音を主体とする成分の再生信号は、結合部195に送られる。
【0078】
結合部195では、ポストフィルタで整形された音声を主体とする成分と、再生された背景雑音を主体とする成分の再生信号が隣接するフレーム間で滑らかに接続されるようにして結合し、これを出力音声信号として最終的な復号化部からの出力とする。
【0079】
(第2の実施形態)
[符号化側について]
図7に、本発明の第2の実施形態に係る音声符号化方法を適用した音声符号化装置の構成を示す。本実施形態が第1の実施形態と異なるのは、雑音符号化部140に入力される背景雑音を主体とする成分のゲインを抑圧してから、雑音符号化の処理を行う点である。図7における成分分離部100、ビット割り当て部120、音声符号化部130、雑音符号化部140および多重化部150については図1と同一であるので、ここでは説明を省略し、第1の実施形態との相違点のみを説明する。
【0080】
ゲイン抑圧部155は、成分分離部100から出力される背景雑音を主体とする成分のゲインを所定の方法で抑圧し、この成分が小さくなるようにして雑音符号化部140に入力する。こうすることで、復号化側で音声信号に結合される背景雑音の量が少なくなる。従って、復号化側で出力される最終的な出力音声信号に混じる背景雑音の自然な感じが保たれるだけでなく、音声自体のレベルは変わらずに雑音レベルだけが下がるため、より出力音声が聞きやすいものとなる効果がある。
【0081】
図8は、図7の構成を若干変形した例である。図8では、ゲイン抑圧部156で背景雑音を主体とする成分のゲインを抑圧したものをビット割り当て選択部110と雑音符号化部140に入力している点が図7と異なっている。こうすることで、音声を主体とする成分とゲイン抑圧された背景雑音を主体とする成分との比較でビット割り当てを選択することができるようになるので、実際に復号化側で出力される音声信号と背景雑音信号のそれぞれの大きさに合ったビット割り当てを行うことが可能となり、復号される音声の再生音質が向上するという効果がある。
【0082】
次に、図9に示すフローチャートを用いて本実施形態の音声符号化方法の処理手順を説明する。
まず、入力音声信号を所定の時間単位毎に取り込み(ステップS300)、成分分離部200でこれを分析して、音声主体成分とそれ以外の背景雑音主体成分に分離する(ステップS301)。
【0083】
次に、ビット割り当て選択部110で成分分離部100からの音声主体成分と背景雑音主体成分の2種類の成分を基に、音声符号化部130と背景雑音符号化部140のそれぞれに割り当てるビット数を予め定められたビット数の割り当ての組み合わせの中から選択するとともに、そのビット割り当ての情報をそれぞれの符号化部130,140に出力する(ステップS302)。
【0084】
次に、成分分離部100から出力される背景雑音を主体とする成分のゲインをゲイン抑圧部155によって所定の方法で抑圧し、この成分が小さくなるようにしてから、雑音符号化部140に入力する(ステップS312)。
【0085】
そして、ビット割り当て選択部120で選択されたそれぞれのビット数の割り当てに従い、音声符号化部130と雑音符号化部140で符号化処理を行う(ステップS303)。具体的には、音声符号化部130では成分分離部100からの音声主体成分を入力し、音声符号化部130に対して割り当てられたビット数で符号化を行い、音声が主体とする成分に対する符号化データを求める。一方、雑音符号化部140では成分分離部100からの背景雑音主体成分を入力し、雑音符号化部140に対して割り当てられたビット数で符号化を行い、背景雑音を主体とする成分に対する符号化データを求める。
【0086】
次に、多重化部150で各符号化部130,140からの符号化データと各符号化部130,140へのビット割り当ての情報を多重化して伝送路に出力する(ステップS304)。これで所定の時間区間内で行う符号化の処理が終る。そして、次の時間区間に対し符号化を続行するか終了するかを判定する(ステップS305)。
【0087】
(第3の実施形態)
図10は、本発明の第3の実施形態に係る音声復号化方法を適用した音声符号化装置の構成を示すブロック図である。図10における逆多重化部160、ビット割り当て復号部170、音声復号化部180、雑音復号化部190および結合部195は、図4と同一であるので、ここではこれらの説明は省略し、それ以外の構成要素について詳細に説明する。
【0088】
本実施形態では、雑音復号化部190で再生された背景雑音を主体とする成分波形の振幅を振幅制御部197から指定した情報に基づいて振幅調整部196で調整し、さらに背景雑音を主体とする成分波形を位相が遅れるように遅延させる遅延部198を設け、これを音声を主体とする成分波形に結合して出力音声信号を生成する点が第1の実施形態で説明した図4の音声復号化装置と異なる。
【0089】
本実施形態によると、振幅調整部196を設けることによって、ある帯域のパワーが極端に大きいとき不快な雑音となる現象を抑えることができる。また、前フレームの値からパワーが大きく変動しないように振幅調整部196で振幅を制御することによって、最終的に出力される音声中の雑音をより聞きやすいものにすることができる。
【0090】
一方、遅延部198による背景雑音を主体とする成分波形を遅延させるのは、音声復号化の処理によって再生される音声波形が遅延して出力されることに基づいており、この遅延部198によって背景雑音も音声波形の遅れと同程度に遅延させることで、次の結合部195において音声と背景雑音が時間的に合った形で結合させることができるようになる。
【0091】
音声復号化処理では、通常、再生された音声信号に含まれる量子化雑音を主観的に低減させるため、適応ポストフィルタを用いて再生音声信号のスペクトル形状を調整する。本実施形態では、このような適応ポストフィルタを用いることによって、音声復号化側で生じる遅延量を考慮して、再生された背景雑音を主体とする成分波形にも遅延を与え、より自然な形で音声と背景雑音を結合させることにより、最終的に出力される音声をより高品質なものにできるという効果が得られる。
【0092】
次に、図11に示すフローチャートを用いて本実施形態の音声復号化方法の処理手順を説明する。
【0093】
まず、入力される伝送符号化データを所定の時間単位毎に取り込み(ステップS400)、この符号化データを逆多重化部160でビット割り当ての情報と、音声復号化部180に入力するための符号化データと、雑音復号化部190に入力するための符号化データに分離して出力する(ステップS401)。
【0094】
次に、ビット割り当て復号部170においてビット割り当ての情報を復号し、音声復号化部180と雑音復号化部190のそれぞれに割り当てるビット数を符号化側と同じ仕組みで定められたビット数の割り当ての組み合わせの中から出力する(ステップS402)。
【0095】
次に、ビット割り当て復号部170によるビット割り当てに基づき、音声復号化部180と雑音復号化部190でそれぞれの符号化データからそれぞれの再生信号を生成する(ステップS403)。
【0096】
そして、雑音復号化部190で再生された背景雑音を主体とする成分波形の振幅を振幅調整部196により調整し(ステップS414)、さらに背景雑音を主体とする成分波形の位相を遅延部198で所定量だけ遅らせる(ステップS415)。
【0097】
次に、結合部195により音声復号化部180で復号再生された音声信号を主体とする成分の再生信号と、遅延部198からの復号再生された雑音を主体とする成分の再生信号を結合し(ステップS404)、最終的な音声信号を生成して出力する(ステップS405)。
【0098】
[音声復号化装置の具体例]
図12に、本実施形態に係る音声復号化装置のさらに詳細な構成を示す。
【0099】
逆多重化部160は符号化部から送られてきた上述した所定の時間単位毎に符号化データを分離し、ビット割り当ての情報と、音声復号化部に入力するための符号化データであるスペクトル包絡のインデックス、適応インデックス、雑音インデックス、ゲインのインデックスの情報を出力するとともに、雑音復号化部に入力するための符号化データである各帯域別の量子化インデックスの情報を出力する。
【0100】
ビット割り当て復号部170は、ビット割り当ての情報を復号し、音声復号化部180と雑音復号化部190のそれぞれに割り当てるビット数を符号化と同じ仕組みで定められたビット数の割り当ての組み合わせの中から出力する。
【0101】
音声復号化部180は、ビット割り当て復号部170によるビット割り当てに基づき符号化データを復号して音声を主体とする成分の再生信号を生成し、これを結合部195へ出力する。具体的には、スペクトル包絡復号部414でスペクトル包絡のインデックスの情報と予め用意しているスペクトル包絡符号帳からスペクトル包絡の情報を再生し、これを合成フィルタ416に送る。また、適応音源復号部411で適応インデックスの情報を入力し、これに対応するピッチ周期で繰り返す信号を適応符号帳から引き出して音源再生部415に出力する。
【0102】
雑音源復号部412は、雑音インデックスを入力し、これに対応する雑音信号を雑音符号帳から引き出して音源再生部415に出力する。
【0103】
ゲイン復号部413は、ゲインインデックスの情報を入力し、これに対応するピッチ成分に用いるゲインと雑音成分に用いるゲインの2種類のゲインをゲイン符号帳から引き出して音源再生部415に出力する。
【0104】
音源再生部415は、適応音源復号部411からのピッチ周期で繰り返す信号(ベクトル)Epと、雑音音源復号部412からの雑音信号(ベクトル)Enとゲイン復号部413からの2種類のゲインGp、Gnを用いて前述の式(1)の関係により音源信号(ベクトル)Exを再生する。
【0105】
合成フィルタ416は、スペクトル包絡の情報を用いて音声を合成するための合成フィルタのパラメータを設定し、音源再生部415からの音源信号を入力することにより合成音声信号を生成する。さらに、ポストフィルタ417でこの合成音声信号に含まれる符号化歪みを整形して聞きやすい音となるようにしてから結合部195に出力する。
【0106】
次に、図12の雑音復号部190について説明する。
雑音復号部190は、ビット割り当て復号部170からのビット割り当てに基づき、雑音復号部190に必要な符号化データを入力し、これを復号して背景雑音を主体とする成分の再生信号を生成し、これを結合部195へ出力する。具体的には、雑音データ分離部420で符号化データを各帯域別の量子化インデックスに分離し、第1帯域復号化部421、第2帯域復号化部422、…、第m帯域復号化部423でそれぞれの帯域でのパラメータを復号し、逆変換部424で復号されたパラメータを用いて符号化側で行った変換と逆の変換を行い、背景雑音を主体とする成分を再生する。
【0107】
再生された背景雑音を主体とする成分波形の振幅は、振幅制御部197から指定した情報に基づいて振幅調整部196で調整され、この背景雑音を主体とする成分波形を位相が遅れるように遅延部198にて遅延させ、結合部195に出力してポストフィルタによって整形された音声主体成分と結合させることにより、出力音声信号を生成する。
【0108】
[音声復号化装置の別の具体例]
図13に、本実施形態に係る音声復号化装置の詳細な別の構成を示す。図13において、図12と同一部分に同一符号を付して説明すると、本実施形態は背景雑音復号化部190において振幅制御を帯域別に行う点が異なっている。
【0109】
すなわち、本実施形態では背景雑音復号化部190に新たに振幅調整部428,429,430が設けられている。これらの振幅調整部428,429,430は、それぞれ振幅制御部197から指定された情報に基づいて特定の帯域でパワーが極端に大きい時の不快な雑音を抑える機能を持つ。これによって、より聞きやすい背景雑音を生成することができる。なお、この場合には図12に示したような逆変換部424による逆変換後の振幅制御は不要となる。
【0110】
(第4の実施形態)
図14に、本発明の第4の実施形態に係る音声符号化方法を適用した音声符号化装置の構成を示す。この音声符号化装置は、成分分離部200、ビット割り当て選択部220、音声符号化部230、雑音符号化部240および多重化部250によって構成される。
【0111】
成分分離部200は、入力される音声信号を所定の時間単位毎に分析し、音声主体成分(第1の成分)とそれ以外の背景雑音主体成分(第2の成分)とに分離する成分分離を行う。通常、この成分分離時の分析の時間単位は10〜30ms程度が適当であり、音声符号化の単位であるフレーム長とほぼ対応するようにすることが望ましい。この成分分離の具体的な手法は種々考えられるが、通常、背景雑音は音声に比べて時間的にスペクトル形状がゆっくり変動する性質があるので、このような性質の違いを利用した方法で成分分離を行うことが望ましい。
【0112】
例えば、スペクトルサブトラクションと呼ばれる技術を用いて、時間的に変動の少ない背景雑音のスペクトル形状を処理を行いながら推定し、時間的に変動の激しい時間区間では、その区間からそれまでに推定していた雑音のスペクトルの分だけを入力音声のスペクトルから差し引くことで、背景雑音がある条件下で入力音声信号から音声主体成分を良好に分離することができる。一方、背景雑音主体成分については、入力音声信号から求められた音声主体成分を時間領域か周波数領域で差し引くことにより求めることができる。背景雑音主体成分としては、前述の推定した雑音のスペクトルをそのまま用いることも可能である。
【0113】
ビット割り当て選択部220は、成分分離部200からの音声主体成分と背景雑音主体成分の2種類の成分を基に、後述する音声符号化部230と背景雑音符号化部240のそれぞれに割り当てる符号化ビット数を予め定められたビット割り当ての組み合わせの中から選択し、それらのビット割り当ての情報を音声符号化部230および雑音符号化部240に出力する。また、これと共にビット割り当て選択部220からビット割り当ての情報が伝送情報として多重化部250に出力される。
【0114】
このビット割り当ては、音声主体成分と背景雑音主体成分のそれぞれの成分の量を比較することによって選択することが望ましいが、それだけに限られるものではなく、例えば、より安定した音質を得るために、ビット割り当ての変化を過去から監視しながら、ビット割り当てに急激な変化が起こりにくくする仕組みと、それぞれの成分の量の比較とを組み合わせてビット割り当てきめる方法も有効である。
【0115】
ビット割り当て選択部220において用意されるビット割り当ての組み合わせとそれを表す符号の一例としては、次の表3に示すものが考えられる。
【0116】
【表3】
Figure 0004216364
【0117】
表3によると、モード「0」を選択すると、音声符号化部230にはフレーム当たり78ビットが割り当てられ、雑音符号化部240にはビット割り当てが無い。これにビット割り当て用符号を2ビット送るため、入力音声信号の符号化に必要な全ビット数は80ビットとなる。音声主体成分に比べて背景雑音主体成分がほとんど無いようなフレームに対しては、このモード「0」のビット割り当てを選択するようすることが望ましい。こうすることで音声符号化部へのビット割り当てが大きくなり、再生音声の音質が良くなる。
【0118】
一方、モード「1」を選択すると、音声符号化部230にはビット割り当てが無く、雑音符号化部240には78ビットが割り当てられる。これにビット割り当て用符号を2ビット送るため、入力音声信号の符号化に必要な全ビット数は80ビットとなる。背景雑音主体成分に対して、音声主体成分が無視できる程度のフレームでは、このモード「2」のビット割り当てを選択することが望ましい。
【0119】
また、モード「2」を選択すると、音声符号化部230には78−Yビットが割り当てられ、雑音符号化部240にはYビットが割り当てられる。ここで、Yは十分小さな正の整数を表わす。ここではY=8を用いて説明するが、この値に限定されるわけではない。モード「2」では、これに加えてビット割り当て用符号を2ビット送るため、入力音声信号の符号化に必要な全ビット数は80ビットとなる。
【0120】
音声主体成分と背景雑音主体成分の両者が共存するフレームに対しては、このモード「2」のようなビット割り当てを選択することが望ましい。この場合、聴感的には音声主体成分の方が明らかに重要であるため、雑音符号化部240に割り振るビット数を前述したように非常に小さくし、その減少分だけ音声符号化部230に割り振るビット数を大きくして、音声主体成分を正確に符号化できるようにする。このとき、雑音符号化部240において少ないビット数でいかに効率良く背景雑音主体成分を符号化することができるかがポイントとなるが、その具体的な実現法は後で詳しく説明する。
【0121】
このようにすることで、音声と背景雑音がそれぞれの符号化部で効率よく符号化することができ、自然な背景雑音を伴った音声を再生することができる。フレーム長としては音声符号化では10〜30ms程度の長さが適当である。この例では、2種類のビット割り当ての組み合わせに対し、トータルのフレーム当たりのビット数は80と固定になっている。このように、トータルのフレーム当たりのビット数を固定にすると、入力音声によらずに、固定のビットレートで符号化を行えるようになる。
【0122】
音声符号化部230は、成分分離部200からの音声信号が主体の成分を入力し、音声信号の特徴を反映した音声符号化により音声信号が主体の成分の符号化を行う。音声信号を効率よく符号化できるような符号化方法であれば、音声符号化部230にはどのような符号化方法を用いてもよいことはいうまでもないが、一例としてここではより自然な音声を提供できる方法として、CELP方式を用いることにする。CELP方式は、通常時間領域で符号化を行う方式で、時間領域の合成した波形の歪みが少なくなるように音源信号の符号化を行うことに特徴がある。
【0123】
雑音符号化部240は、成分分離部200からの背景雑音主体成分を入力し、雑音を適切に符号化できるように構成されている。通常、背景雑音信号は音声信号に比べるとスペクトルの時間的な変動はゆるやかである。また、波形の位相情報もランダムに近く、人間の耳には位相情報があまり重要ではないという特徴がある。このような背景雑音成分を効率よく符号化するには、CELP方式等の波形歪みを小さくするような波形符号化よりも、変換符号化のように時間領域から変換領域に変換して、その変換係数または変換係数から抽出されるパラメータを符号化することで効率的に符号化できる。特に、周波数領域に変換して人間の聴覚の特性を考慮した符号化を行うと、さらに符号化の効率を高めることができる。
【0124】
本実施形態による音声符号化方法の基本的な処理の流れは第1の実施形態と同様、図2のフローチャートに示した通りであるので、説明を省略する。
【0125】
[音声符号化装置の具体例]
図15に、本実施形態において音声符号化部230にCELP方式、雑音符号化部240に変換符号化方式をそれぞれ用いた場合の音声符号化装置の具体例を示す。
音声符号化部230は、成分分離部200からの音声主体成分を入力し、この成分を時間領域での波形歪みが小さくなるように符号化する。この際、ビット割り当て選択部220からのモード情報が音声符号化ビット割り当て部310に与えられ、モード情報に応じて予め定められたビット割り当てで各符号化部の符号化が行われる。まず、ビット割り当ての大きいモード「0」のときの説明を行い、その後にモード「1」およびモード「2」のときの説明を行う。
【0126】
モード「0」のときの音声符号化部230の動作は第1の実施形態と基本的に同様であり、スペクトル包絡符号帳探索部311、適応符号帳探索部312、雑音符号帳探索部313、ゲイン符号帳探索部314を用いてCELP符号化を行う。各符号帳探索部311〜314で探索された符号帳のインデックスの情報は符号化データ出力部315に入力され、この符号化データ出力部315から音声符号化データとして多重化部150へ出力される。
【0127】
次に、モード「1」のときは音声符号化部230に与えられるビット数は0ビットとなる。従って、音声符号化部230は何も動かさないようにして符号を多重化部250へ出力しないようにする。このとき、音声符号化で用いられるフィルタの内部状態が問題になるが、これは後述する復号部と同期させて初期状態に戻す、復号音声信号が不連続にならないように内部状態を更新する、またはゼロクリアするなどの処理を行う必要がある。
【0128】
次に、モード「2」のときは音声符号化部30では78−Yビットだけ用いることができる。このモード「2」では、基本的にモード「0」の場合と同様の処理を行うが、全体の品質に与える影響が比較的に少ないと考えられる雑音符号帳313もしくはゲイン符号帳314の大きさをYビット分だけ小さくして符号化を行うようにする。当然のことながら、このときの各符号帳311,312,313,314は、後で説明する音声復号化部における符号帳と同一のものにしなければならない。
【0129】
次に、雑音符号化部240の詳細について説明する。
雑音符号化部240は、ビット割り当て選択部220からのモード情報が与えられ、モード「1」のときは第1雑音符号化部501、モード「2」のときは第2雑音符号化部502が用いられる。
【0130】
第1雑音符号化部501は、雑音符号化に用いられるビット数が78ビットと大きく、背景雑音成分の形状を正確に符号化するために用いられる。一方、第2雑音符号化部502は、雑音符号化に用いられるビット数がYビットと非常に小さく、背景雑音成分を少ないビット数で効率よく表現する必要があるときに用いられる。モード「0」のときは雑音符号化部240に与えられるビット数は0ビットとなるので、このときは何も符号化せず多重化部250に何も出力しない。このとき、雑音符号化部240にあるバッファやフィルタの内部状態に対し適切な処理、例えばゼロクリアを行う、復号雑音信号が不連続とならならないように内部状態を更新する、もしくは初期状態に戻すなどの処理を行う必要がある。この内部状態は、後述する雑音復号部と内部状態を同期させて同一とする必要がある。
【0131】
[第1雑音符号化部501について]
次に、図16を用いて第1雑音符号化部501について詳細に説明する。
第1雑音符号化部501は、モード「1」のとき入力端子511にビット割り当て選択部220から与えられる信号によってアクティブとなり、入力端子512に成分分離部200からの背景雑音主体成分を入力し、所定の変換を用いて該成分の変換係数を求め、変換領域でのパラメータの歪みが小さくなるように符号化する点が音声符号化部230における符号化方法と大きく異なる。
【0132】
変換領域でのパラメータの表現については、様々な方法が考えられるが、ここでは一例として背景雑音成分を変換領域で帯域分割し、各帯域別にその帯域を代表するパラメータを求め、それらのパラメータを量子化し、そのインデックスを送る方法について説明する。
【0133】
まず、変換係数算出部521において所定の変換を用いて、背景雑音主体成分の変換係数を求める。変換の方法としては、離散フーリエ変換を用いることができる。次に、帯域分割部522において周波数軸を所定の帯域に分割し、入力端子511に入力される雑音符号化ビット割り当て部520からのビット割り当てに応じた量子化ビット数を用いて、第1帯域符号化部523、第2帯域符号化部524、…、第m帯域符号化部525のm個の帯域別に、パラメータの量子化を行う。パラメータとしては、変換係数から求められるスペクトル振幅やパワースペクトルをそれぞれの帯域の中で平均した値を用いることができる。各帯域からのパラメータの量子化値を表すインデックスは符号化データ出力部526にまとめられ、符号化データは多重化部250へ出力される。
【0134】
[第2雑音符号化部502について]
次に、図17および図18を用いて第2雑音符号化部502について詳細に説明する。第2雑音符号化部502は前述したようにモード「2」のとき、つまり雑音符号化で使用できるビット数が非常に小さいときに用いられ、背景雑音成分を少ないビット数で効率よく表現する必要がある。
【0135】
図17は、第2雑音符号化部502の基本動作を説明するための図である。図17において、(a)は背景雑音を主たる成分とする信号波形、(b)は前フレームで符号化された結果得られたスペクトル形状、(c)は現フレームで求められたスペクトル形状をそれぞれ表す。背景雑音成分は比較的長い時間で特性がほぼ一定とみなすことができるので、前フレームで符号化された背景雑音成分のスペクトル形状を予測に用い、この予測パラメータを符号化データとして出力すると共に、この予測したスペクトル形状(d)と現フレームで求められた背景雑音成分のスペクトル形状(c)との差分をとり、その差分を量子化すれば効率よく背景雑音成分を符号化することができる。
【0136】
図18は、この原理に基づく第2雑音符号化部502の実現例を示すブロック図であり、図19は第2雑音符号化部502の構成と処理手順を示すフローチャートである。
【0137】
第2雑音符号化部502は、モード「2」のとき入力端子521にビット割り当て選択部220から与えられる信号によってアクティブとなり、入力端子532から背景雑音を主たる成分とする信号を取り込み(ステップS500)、図16と同様に変換係数算出部541で変換係数を算出し(ステップS501)、さらに帯域分割部542で帯域分割を行って(ステップS502)、現フレームのスペクトル形状を算出する。
【0138】
変換係数算出部541および帯域分割部542は、第1雑音符号化部501における図16中の変換係数算出部521および帯域分割部522と別のものを用いても構わないが、変換係数算出部521および帯域分割部522と同一のものを用いてもよい。また、これらに同一のものを用いる場合、それぞれ別個に持つ必要はなく、共有しても構わない。このことは、以下で説明する他の実施形態についても同様である。
【0139】
次に、予測部547で過去のフレームスペクトル形状から現フレームのスペクトル形状を推定し、現フレームのスペクトル形状との差分信号を加算部543で求める(ステップS503)。この差分信号を量子化部544で量子化し(ステップS504)、その量子化値を表わすインデックスを符号化データとして出力端子533より出力し(ステップS505)、同時に逆量子化部545で逆量子化を行って差分信号を復号する(ステップS506)。そして、この復号値に予測部547からの予測値を加算部546で加算し(ステップS507)、その加算結果を予測部547に与えて予測部547内のバッファを更新し(ステップS508)、次フレームのスペクトル形状の入力に備える。以上の一連の処理をステップS509で処理終了と判断されるまで繰り返す。
【0140】
予測部547に入力する背景雑音のスペクトル形状には、常に最新の復号値を与える必要があり、仮に第1雑音符号化部501が選択された場合でも、そのとき得られる背景雑音のスペクトル形状の復号値を予測部547に与えるようにする。
【0141】
また、ここでは1次のAR予測について説明を行ったが、これに限定されるものではない。例えば、予測次数を2以上にして予測効率を上げることも可能である。また、予測の方法もMA予測、またはARMA予測を用いることができる。さらに、予測係数の情報についても、復号化装置へ伝送するフィードフォワード型の予測を行い、予測効率を向上させることも可能である。このことは、以下で説明する他の実施形態についても同様である。
【0142】
図18では、表記の都合上により簡略化しているが、予測は各帯域毎に行われる。また、量子化は各帯域毎にスカラー量子化が行われるか、または複数の帯域がまとめてベクトル化され、ベクトル量子化が行われることになる。
【0143】
このように符号化を行うことにより、背景雑音成分のスペクトル形状を少ない符号化データで効率的に表わすことができるようになる。
【0144】
[復号化側について]
図20に、本実施形態に係る音声復号化方法を適用した音声復号化装置の構成を示す。この音声復号化装置は逆多重化部260、ビット割り当て復号化部270、音声復号化部280、雑音復号化部290および結合部295からなる。
【0145】
逆多重化部260では、図14の音声符号化装置から前述のようにして所定の時間単位毎に送られてきた伝送符号化データを受け、これをビット割り当ての情報と、音声復号化部280に入力するための符号化データと、雑音復号化部290に入力するための符号化データに分離して出力する。
【0146】
ビット割り当て復号部270は、ビット割り当ての情報を復号し、音声復号化部280と雑音復号化部290のそれぞれに割り当てるビット数を符号化側と同じ仕組みで定められたビット数の割り当ての組み合わせの中から出力する。
【0147】
音声復号化部280は、ビット割り当て復号部270によるビット割り当てに基づき、符号化データを復号して音声を主体とする成分についての再生信号を生成し、これを結合部295へ出力する。
【0148】
雑音復号化部290は、ビット割り当て復号部270によるビット割り当てに基づき、符号化データを復号して背景雑音を主体とする成分についての再生信号を生成し、これを結合部295へ出力する。
【0149】
結合部295は、音声復号化部280で復号再生された音声を主体とする成分の再生信号と、雑音復号化部290で復号再生された雑音を主体とする成分の再生信号を結合して、最終的な出力音声信号を生成する。
【0150】
本実施形態による音声復号化方法の基本的な処理の流れは第1の実施形態と同様、図5のフローチャートに示した通りであるので、説明を省略する。
【0151】
[音声復号化装置の具体例]
図21に、図14の音声符号化装置の構成に対応する音声復号化装置の具体例を示す。逆多重化部260は、図14の音声符号化装置から送られてきた所定の時間単位毎の伝送符号化データをビット割り当ての情報と、音声復号化部280に入力するための符号化データであるスペクトル包絡のインデックス、適応インデックス、雑音インデックス、ゲインのインデックス情報を出力するとともに、雑音復号化部290に入力するための符号化データである各帯域別の量子化インデックスの情報を出力する。ビット割り当て復号部270は、ビット割り当ての情報を復号し、音声復号化部280と雑音復号化部290のそれぞれに割り当てるビット数を符号化と同じ仕組みで定められたビット数の割り当ての組み合わせの中から出力する。
【0152】
モード「0」のとき、音声復号化部280には時間単位毎にビット割り当ての情報が入力される。ここでは、ビット割り当ての情報としてモード「0」を表わす情報が入力された場合について説明する。モード「0」は、音声符号化に割り振られるビット数が78ビットと大きく、音声成分を主とする信号が雑音成分を主とする信号を無視できるほど大きい時に選択されるモードである。モード「1」またはモード「2」を表わす情報が与えられた場合については、後述する。
【0153】
モード「0」のときは、音声復号化部280の動作は第1の実施形態における音声復号化部180の動作と同様であり、ビット割り当て復号部270からのビット割り当てに基づき符号化データを復号して、音声を主体とする成分についての再生信号を生成し、これを結合部295へ出力する。
【0154】
すなわち、スペクトル包絡復号部414でスペクトル包絡のインデックスと予め用意しているスペクトル包絡符号帳からスペクトル包絡の情報を再生し、これを合成フィルタ416に送り、また適応音源復号部411で適応インデックスの情報を入力し、これに対応するピッチ周期で繰り返す信号を適応符号帳から引き出して音源再生部415に出力する。雑音音源復号部412は、雑音インデックスの情報を入力し、これに対応する雑音信号を雑音符号帳から引き出して音源再生部415に出力する。ゲイン復号部413は、ゲインインデックスの情報を入力し、これに対応するピッチ成分に用いるゲインと雑音成分に用いるゲインの2種類のゲインをゲイン符号帳から引き出して音源再生部415に出力する。音源再生部415は、適応音源復号部411からのピッチ周期で繰り返す信号(ベクトル)Epと、雑音音源復号部412からの雑音信号(ベクトル)Enと、ゲイン復号部413からの2種類のゲインGp,Gnを用いて音源信号(ベクトル)Exを先の式(1)に従って再生する。
合成フィルタ416は、スペクトル包絡の情報を用いて音声を合成するための合成フィルタのパラメータを設定し、音源再生部415からの音源信号を入力することにより合成音声信号を生成する。さらに、ポストフィルタ417でこの合成音声信号に含まれる符号化歪みを整形して聞きやすい音となるようにして結合部295に出力する。
【0155】
次に、モード「1」のときは、音声復号化部280に与えられるビット数は0ビットとなる。従って、音声復号化部280は何も動かさないようにして、符号を結合部295へ出力しないようにする。このとき、音声復号化部280で用いられるフィルタの内部状態が問題になるが、これは前述した音声符号化部と同期させて初期状態に戻すか、復号音声信号が不連続とならないように内部状態を更新する、またはゼロクリアするなどの処理を行えばよい。
【0156】
次に、モード「2」のときは、音声復号化部280では78−Y(0<Y<<78)ビットだけ用いることができる。このモード「2」では、基本的にモード「0」の場合と同様の処理を行うが、全体の品質に与える影響が比較的に少ないと考えられる雑音符号帳もしくはゲイン符号帳の大きさをYビット分だけ小さくしたものに対して、復号を行うようにする。当然のことながら、このときの各種符号帳は前述した音声符号化部における各符号帳と同一のものにしなければならない。
【0157】
次に、雑音復号化部290について説明する。
雑音復号化部290は、モード「1」のときに用いられる第1雑音復号化部601、モード「2」のときに用いられる第2雑音復号化部602より構成される。第1雑音復号化部601は、背景雑音の符号化データに用いられるビット数が78ビットと大きく、背景雑音成分の形状を正確に復号するために用いられる。第2雑音復号化部602は、背景雑音の符号化データに用いられるビット数がYビットと非常に小さく、背景雑音成分を少ないビット数で効率よく表現する必要があるときに用いられる。
【0158】
一方、モード「0」のときは、雑音復号化部290に与えられるビット数は0ビットとなるので、このときは何も復号せず、結合部295へは何も出力しない。このとき、雑音復号化部290にあるバッファやフィルタの内部状態に対して適切な処理、例えばゼロクリアを行う、復号雑音信号が不連続にならないように内部状態を更新する、もしくは初期状態に戻すなどの処理を行う必要がある。この内部状態は、前述した雑音符号化部240と同期させて同一になるようにする必要がある。
【0159】
次に、図22を用いて第1雑音復号化部601について詳細に説明する。
第1雑音復号化部601は、入力端子611からビット割り当てを表わすモード情報が与えられ、入力端子612からは雑音復号化部に必要な符号化データが与えられ、これを復号して背景雑音成分を主体とする再生信号を生成し、これを出力端子613へ出力する。具体的には、雑音データ分離部620で符号化データを各帯域別の量子化インデックスに分離し、第1帯域復号化部621、第2帯域復号化部622、…、第m帯域復号化部623でそれぞれの帯域でのパラメータを復号し、逆変換部624で復号されたパラメータを用いて符号化側で行った変換と逆の変換を行い、背景雑音を主体とする成分を再生する。再生された背景雑音を主体とする成分は、出力端子613に送られる。
【0160】
次に、図23、図24を用いて第2雑音復号化部602について詳細に説明する。図23は、第2雑音復号化部602の構成を示すブロック図であり、図18に示した第2雑音符号化部502に対応している。図24は、第2雑音復号化部602の処理手順を示すフローチャートである。
【0161】
第2雑音復号化部602は、モード「2」のとき入力端子631にビット割り当て復号部270から与えられる信号によってアクティブとなり、入力端子632から雑音復号化に必要な符号化データを逆量子化部641に取り込み(ステップS600)、差分信号を復号する(ステップS601)。
【0162】
次に、予測部653で過去のフレームのスペクトル形状から現フレームのスペクトル形状を予測し、この予測値と復号した差分信号とを加算部642で加算し(ステップS602)、この結果を用いて逆変換部644で逆変換を行って(ステップS603)、背景雑音を主とする信号を生成して出力端子633より出力し(ステップS604)、同時に加算部652の出力信号を予測部643に与えて予測部643内のバッファの内容を更新し(ステップS605)、次フレームの入力に備える。以上の一連の処理をステップS606で処理終了と判断されるまで繰り返す。
【0163】
予測部643に入力する背景雑音のスペクトル形状には、常に最新の復号値を与える必要があり、仮に第1雑音復号化部601が選択された場合でも、そのとき得られる背景雑音のスペクトル形状の復号値を予測部643に与えるようにする。
【0164】
逆変換部644は、第1雑音復号化部601における逆変換部624と別のものを用いても構わないが、逆変換部624と同一のものを用いてもよい。また、逆変換部644を逆変換部624と同一のものを用いる場合、それぞれ別個に持つ必要はなく、共有しても構わない。このことは、以下で説明する他の実施形態についても同様である。
【0165】
また、図23では表記上の都合により簡略化しているが、予測は帯域別に行われる。また、逆量子化は図18における量子化法に応じて各帯域毎にスカラー逆量子化、または複数帯域を一度に復号するベクトル逆量子化が行われることになる。
【0166】
このように復号を行うことにより、背景雑音成分のスペクトル形状を少ない符号化データから効率的に復元することができるようになる。
【0167】
(第5の実施形態)
本実施形態では、図15中の第2雑音符号化部502とこれに対応する図21中の第2雑音復号化部602の他の構成法について説明する。
【0168】
[第2雑音復号化部502について]
本実施形態における第2雑音符号化部502の特徴は、一つのパラメータ(パワー変動量)を用いて背景雑音成分のスペクトル形状を符号化できるようにした点にある。
【0169】
まず、図25を用いて本実施形態における第2雑音符号化部502の基本動作を説明する。図25において、(a)は背景雑音を主たる成分とする信号波形、(b)は前フレームで符号化された結果得られたスペクトル形状、(c)は現フレームで求められたスペクトル形状をそれぞれ表す。本実施形態では背景雑音成分のスペクトル形状を一定と仮定して、パワーの変動量のみを符号化データとして出力する。すなわち、スペクトル形状(b)とスペクトル形状(c)からパワーの変動量αを算出し、このαを符号化データとして出力する。後に説明する第2雑音復号化部602では、スペクトル形状(b)にαを乗じてスペクトル形状(d)を算出し、この形状を基に背景雑音成分を復号する。
【0170】
なお、ここでは理解しやすいように周波数領域で説明を行ったが、実際には時間領域でパワー変動量αを求めることも可能である。
【0171】
ここで、パワー変動量αを量子化するには4〜8ビットもあれば十分である。従って、このように少ない量子化ビット数で背景雑音成分を表現することができるために、前述した音声符号化部230に多くの符号化ビット数を配分することができ、結果として音声品質を向上させることができる。
【0172】
図26は、この原理に基づく第2雑音符号化部502の実現例を示すブロック図であり、図27は第2雑音符号化部502の処理手順を示すフローチャートである。
【0173】
第2雑音符号化部502は、モード「2」のとき入力端子531にビット割り当て選択部220から与えられる信号によってアクティブとなり、入力端子532から背景雑音を主たる成分とする信号を取り込み(ステップS700)、変換係数算出部551で変換係数を算出して、スペクトル形状を求める(ステップS701)、バッファ526には、前フレームで符号化された結果得られるスペクトル形状が格納されており、このスペクトル形状と現フレームで求めたスペクトル形状からパワー変動量算出部552でパワー変動量を求める(ステップS702)。{a(n);n=0〜N−1}を前フレームで符号化された結果得られるスペクトル形状の振幅(バッファ556の出力)を表わし、{b(n);n=0〜N−1}を現フレームで求めたスペクトル形状の振幅(変換係数算出部551の出力)を表わすものとすると、パワー変動量αは次式で表すことができる。
【0174】
【数1】
Figure 0004216364
【0175】
このパワー変動量αを量子化部553で量子化し(ステップS703)、その量子化値を表わすインデックスを符号化データとして出力端子533より出力し(ステップS704)、同時に逆量子化部554で逆量子化してパワー変動量αを復号し(ステップS705)、この復号値にバッファ556に格納されている前フレームで符号化した結果得られるスペクトル形状{a(n);n=0〜N−1}を乗算部555で乗じる(ステップS706)。乗算部555の出力a′ (n)は、次式で表される。
a′(n)=α・a(n)
このa′(n)をバッファ556に格納して更新し(ステップS707)、次フレームのスペクトル形状の入力に備える。以上の一連の処理をステップS708で処理終了と判断されるまで繰り返す。
【0176】
バッファ556に与える背景雑音のスペクトル形状には、常に最新の復号値を与える必要があり、仮に第1雑音符号化部501が選択された場合でも、そのとき得られる背景雑音のスペクトル形状の復号値をバッファ556に与えるようにする。
【0177】
図26では表記上の都合により簡略化しているが、帯域分割部575の出力とバッファ556の出力のそれぞれは、各周波数帯のスペクトル振幅を表すベクトルである。また、説明の都合上、図26では帯域分割部575を用いているが、これを用いずに変換係数算出部551の出力からパワー変動量を求めることもできる。
【0178】
[第2雑音復号化部602について]
次に、本実施形態における第2雑音復号化部602について説明する。
本実施形態における第2雑音復号化部602の特徴は、一つのパラメータ(パワー変動量α)のみで背景雑音成分のスペクトル形状を復号できる点にある。図28は、第2雑音復号化部602の構成を示すブロック図であり、図26に示した第2雑音符号化部502に対応している。図29は、この第2雑音復号化部602の処理手順を示すフローチャートである。
【0179】
第2雑音復号化部602は、モード「2」のとき入力端子631にビット割り当て復号部270から与えられる信号によってアクティブとなり、入力端子632からパワー変動量を表わす符号化データを逆量子化部651に取り込み(ステップS800)、逆量子化を行ってパワー変動量を復号する(ステップS801)。バッファ653には、前フレームのスペクトル形状が格納されており、このスペクトル形状に前述した復号されたパワー変動量を乗算部652で乗じて現フレームのスペクトル形状を復元する(ステップS802)。この復元されたスペクトル形状を逆変換部654に与えて逆変換し(ステップS803)、背景雑音を主とする信号を生成して出力端子633より出力し(ステップS804)、同時に乗算部652の出力信号をバッファ653に与えてバッファ653の内容を更新し(ステップS805)、次フレームの入力に備える。以上の一連の処理をステップS806で処理終了と判断されるまで繰り返す。
【0180】
バッファ653に与える背景雑音のスペクトル形状には、常に最新の復号値を与える必要があり、仮に第1雑音復号化部601が選択された場合でも、そのとき得られる背景雑音のスペクトル形状の復号値をバッファ653に与えるようにする。
【0181】
本実施形態によると、符号化側において背景雑音成分のスペクトル形状を8ビット程度の非常に少ない符号化データで効率的に表わすことができ、また復号化側において背景雑音成分のスペクトル形状を非常に少ない符号化データで効率的に復元することができる。
【0182】
(第6の実施形態)
本実施形態では、図15中の第2雑音符号化部502とこれに対応する図21中の第2雑音復号化部602の別の構成法について説明する。
【0183】
[第2雑音符号化部502について]
本実施形態における第2雑音符号化部502の特徴は、予め定められた規則に従い周波数帯を決定し、この周波数帯におけるスペクトル形状を符号化する点にある。図30を用いてその基本動作を説明する。
【0184】
図30において、(a)は背景雑音を主たる成分とする信号波形、(b)は前フレームで符号化された結果得られたスペクトル形状、(c)は現フレームで求められたスペクトル形状をそれぞれ表す。本実施形態では背景雑音成分のスペクトル形状をほぼ一定と仮定して、パワーの変動量を符号化データとして出力すると同時に、ある規則に従い選択された周波数帯における振幅を現フレームの振幅と一致させるように量子化を行う点に特徴がある。
【0185】
本実施形態では、次のような利点がある。すなわち、背景雑音成分のスペクトル形状は比較的長い時間一定と考えることができるが、いつまでも同じ形状で推移するわけではなく、ある長い時間離れた区間同士のスペトルの形状を観察すると変化している。本実施形態は、このように徐々に変化する背景雑音成分のスペクトル形状を効率的に符号化することを目的としている。すなわち、スペクトル形状(b)とスペクトル形状(c)からパワーの変動量αを算出し、このパワーの変動量αを量子化してそのインデックスを符号化データとして出力する。これは前述した第5の実施形態と同じである。次に、量子化後のパワーの変動量αをスペクトル形状(b)に乗じた後に、予め定められた規則に従い決定された周波数帯の現フレームのスペクトル形状(d)に対する差信号を求め、これを量子化する。
【0186】
ここでいう周波数帯を決定する規則とは、例えば全ての周波数帯を一定時間内に巡回するように決定する方法が考えられる。図31にその一例を示す。ここでは、図31(a)に示されるように全帯域が5つの周波数帯に分割されている。そして、各フレームkにおいては図31(b)に示されるように各周波数帯が巡回して選択される。このようにすることで、ある程度長い時間(この例では5フレーム)が必要であるが、一つの周波数帯のみを符号化していけば良いので、スペクトル形状の変化を少ないビット数で符号化ことができる。従って、この方法は背景雑音のように変化のスピードが遅い信号であるがために可能な処理である。また、予め定められた規則に従い符号化する周波数帯を決定するので、どの周波数帯を符号化したかという付加情報は必要ない。
【0187】
図32は、この原理に基づく第2雑音符号化部502の実現例を示すブロック図であり、図33は、この第2雑音符号化部502の処理手順を示すフローチャートである。
【0188】
第2雑音符号化部502は、モード2のとき入力端子531にビット割り当て選択部220から与えられる信号によってアクティブとなり、入力端子532から背景雑音を主たる成分とする信号を取り込み(ステップS900)、変換係数算出部560で変換係数を算出し(ステップS901)、帯域分割部561で帯域分割を行ってスペクトル形状を求める(ステップS902)、バッファ566には前フレームで符号化された結果得られるスペクトル形状が格納されており、このスペクトル形状と現フレームで求めたスペクトル形状からパワー変動量算出部562でパワー変動量を求める(ステップS903)。{a(n);n=0〜N−1}を前フレームで符号化された結果得られるスペクトル形状の振幅を表わし、{b(n);n=0〜N−1}を現フレームで求めたスペクトル形状の振幅を表わすものとすると、パワー変動量αは先に示した[数1]のように表すことができる。
【0189】
次に、パワー変動量αを量子化部563で量子化し(ステップS904)、その量子化値を表わすインデックスを符号化データとして出力し(ステップS905)、同時に逆量子化部564で逆量子化してパワー変動量αを復号し(ステップS906)、この復号値にバッファ566に格納されている前フレームで符号化した結果得られるスペクトル形状{a(n);n=0〜N−1}を乗算部565で乗じる(ステップS907)。乗算部565の出力a′(n)は、先と同様にa′(n)=α・a(n)で表すことができる。
【0190】
次に、本実施形態固有の処理について説明する。
まず、周波数帯決定部572では、図31で説明したように複数個の周波数帯に分割されているうちの一つの周波数帯をフレーム毎に巡回して選択し、決定する(ステップS908)。周波数帯決定部572の実現例の一つによれば、帯域分割数をNとし、フレームカウンタをfcとすると、周波数帯決定部572の出力は、(fc mod N)と表わすことができる。ここで、modは剰余演算を表わす。説明のため、周波数帯決定部572では周波数帯kが選択され決定されたものとする。
【0191】
現フレームの帯域分割されたスペクトル形状を{b(n);n=0〜N−1}と表わし、乗算部565でパワー補正されたスペクトル形状を{a′(n);n=0〜N−1}とすると、差分演算部571ではb(k)とa′(k)との差分値を算出する(ステップS909)。この差分演算部571で得られた差分値を量子化部573で量子化し(ステップS910)、そのインデックスを符号化データとして出力端子533より出力する(ステップS911)。従って、本実施形態では量子化部563から出力されるインデックスと量子化部573から出力されるインデックスが符号化データとして出力されることになる。
【0192】
量子化部573のインデックスは逆量子化部574にも与えられ、ここで差分値を復号する(ステップS912)。復号部575では、パワー補正されたスペクトル形状{a′(n);n=0〜N−1}の周波数帯kに、復号された差分値を加算してスペクトル形状{a″(n);n=0〜N−1}を復号し(ステップS913)、これをバッファ566に格納して次フレームの入力に備える(ステップS914)。以上の一連の処理をステップS915で処理終了と判断されるまで繰り返す。
【0193】
図32では表記上の都合により簡略化しているが、帯域分割部561の出力、バッファ566の出力、乗算器565の出力、復号部575の出力は各周波数帯のスペクトル振幅を表すベクトルである。
【0194】
バッファ566に与える背景雑音のスペクトル形状には、常に最新の復号値を与える必要があり、仮に第1雑音符号化部501が選択された場合でも、そのとき得られる背景雑音のスペクトル形状の復号値をバッファ566に与えるようにする。
【0195】
[第2雑音復号化部602について]
本実施形態における第2雑音復号化部602の特徴は、予め定められた規則に従い周波数帯を決定し、この周波数帯におけるスペクトル形状を復号する点にある。
【0196】
図34は、本実施形態における第2雑音復号化部602の実現例を示すブロック図であり、図35は、この第2雑音復号化部602の処理手順を示すフローチャートである。
【0197】
第2雑音復号化部602は、モード2のとき入力端子631にビット割り当て復号部270から与えられる信号によってアクティブとなり、入力端子632からパワー変動量を表わす符号化データを逆量子化部661に取り込み(ステップS1000)、逆量子化を行ってパワー変動量を復号する(ステップS1001)。バッファ663には前フレームのスペクトル形状が格納されており、このスペクトル形状に前述した復号されたパワー変動量を乗算部1902で乗じる(ステップS1002)。
【0198】
一方、入力端子634には一つの周波数帯の差分信号を表わす符号化データを取り込み、逆量子化部665によって一つの周波数帯の差分値を復号する(ステップS1004)。このとき周波数帯決定部667では、図32で説明した第2雑音符号化部502における周波数帯決定部572と同期して同じ周波数帯を選択し決定する(ステップS1003)。
【0199】
次に、復号部666で図32における復号部575と同じ処理によって乗算部662の出力信号、逆量子化部665からの一つの周波数帯の復号差分信号および周波数帯決定部667で決定された周波数帯の情報に基づき現フレームの背景雑音成分のスペクトル形状を復号する(ステップS1005)。この復号されたスペクトル形状を逆変換部664に与えて逆変換し(ステップS1006)、背景雑音を主とする信号を生成して出力端子603より出力し(ステップS1007)、同時に、復元された背景雑音成分のスペクトル形状をバッファ663に与えてバッファ663の内容を更新し(ステップS1008)、次フレームの入力に備える。以上の一連の処理をステップS1009で処理終了と判断されるまで繰り返す。
【0200】
バッファ663に与える背景雑音のスペクトル形状には、常に最新の復号値を与える必要があり、仮に第1雑音復号化部601が選択された場合でも、そのとき得られる背景雑音のスペクトル形状の復号値をバッファ663に与えるようにする。
【0201】
本実施形態によれば、符号化側において背景雑音成分のスペクトル形状をパワーの変動量と一つの帯域の差分信号で符号化データを表わすことができ、非常に効率よく背景雑音のスペクトル形状を表わすことができるようになり、また復号化側においては背景雑音成分のスペクトル形状をパワーの変動量と一つの帯域の差分信号で背景雑音のスペクトル形状を復元できるようになる。
【0202】
(第7の実施形態)
第6の実施形態では、一つの周波数帯を符号化し、一つの周波数帯を復号するする方法について説明を行ったが、ある定められた規則に従い複数の周波数帯を量子化し、ある定められた規則に従い複数の周波数帯を復号する構成も同様に実現可能である。
【0203】
この具体例を図36を用いて説明する。図36(a)に示すされるように、この例では全帯域が5つの周波数帯に分割され、フレーム毎に図36(b)に示されるように2つの周波数帯が選択され、それぞれが量子化される。
【0204】
既に説明したように、フレームカウンタをfc、帯域分割数をNとすると、量子化のために選択される周波数帯#1は(fc mod N)表わされ、巡回して選択される。ここで、modは剰余演算を表わす。同様に、量子化のために選択される周波数帯#2は((fc+2)mod N)と表わされ、巡回して選択される。量子化される周波数帯が3以上となっても、同様に拡張して実現可能である。しかしながら、本実施形態では規則に従い量子化される周波数帯を決定することが重要であり、周波数帯を決定する規則は上述したものに限定されるわけではない。
【0205】
また、量子化する周波数帯を規則に従って選択するのではなく、差分値の大きな周波数帯を量子化して符号化し、その周波数帯を復号する方法も実現可能である。但し、この場合には、どの周波数帯を量子化したかを示す付加情報、どの周波数帯を復号するかを示す付加情報が必要になる。
【0206】
(第8の実施形態)
本実施形態では、図15における雑音符号化部240および図29における雑音復号化部290の代表的な構成を図37および図39を用いてそれぞれ説明する。また、図37に対応するフローチャートを図38に、図39に対応するフローチャートを図40にそれぞれ示す。以下、雑音符号化部240における第1雑音符号化部501と第2雑音符号化部502の関係、および雑音復号化部290における第1雑音復号化部601と第2雑音復号化部602の関係について説明する。
【0207】
[雑音符号化部240について]
図37と図38を用いて雑音符号化部240の説明を行う。まず、雑音成分が主体の成分が入力端子702から変換係数算出部704に与えられる(ステップS1101)。変換係数算出部704では、雑音成分が主体の成分に対し離散フーリエ変換などの処理を施して変換係数を出力する(ステップS1102)。入力端子703からモード情報が与えられ、モード「1」のときスイッチ705、スイッチ710およびスイッチ718が第1雑音符号化部がアクティブになるよう切り替えられ、モード「2」のときスイッチ705、スイッチ710およびスイッチ718が第2雑音符号化部がアクティブになるよう切り替えられる(ステップS1103)。
【0208】
第1雑音符号化部501がアクティブとなる場合、帯域分割部707で帯域分割が行われ(ステップS1104)、雑音符号化ビット割り当て部706で各周波数帯毎のビット数の割り当てを行い(S1105)、帯域符号化部708で各周波数帯毎に符号化を行う(ステップS1106)。表記上の都合により簡略化してあるが、帯域符号化部708は図16における第1帯域符号化523、第2帯域符号化524および第m帯域符号化525をーつのブロックにまとめたものであり、機能的には同等のものを表している。
【0209】
帯域符号化部708で得られる量子化インデックスを符号化データ出力部709を経由して出力端子720から出力し(ステップS1107)、この符号化データを用いて帯域復号化部711でスペクトル形状を復号し(ステップS1108)、この値をバッファ719に与えてバッファ719の内容を更新する(ステップS1114)。表記上の都合により簡略化してあるが、帯域復号化部711は図22における第1帯域復号化621、第2帯域復号化部622および第m帯域復号部623をーつのブロックにまとめたものであり、機能的には同等のものを表している。
【0210】
一方、第2雑音符号化部502がアクティブとなる場合は、変換係数算出部704の出力をパワー変化量算出部712に与え、パワー変化量が求める(ステップS1109)。このパワ−変化量を量子化部713で量子化し(ステップS1110)、そのとき得られるインデックスを出力端子720より出力する(ステップS1111)。これと同時に、インデックスを逆量子化部714に与てパワー変化量を復号する(ステップS1112)。この復号パワー変化量とバッファ719から得られる前フレームのスペクトル形状を乗算器715で乗算し(ステップS1113)、その結果をバッファ719に与えてバッファ719の内容を更新して次フレームの入力に備える(ステップS1114)。以上の一連の処理をステップS1115処理終了と判断されるまで繰り返す。
【0211】
[雑音復号化部290について]
図39と図40を用いて雑音復号化部290の説明を行う。符号化データが入力端子802から与えられる(ステップS1201)。これと同時に入力端子803からモード情報が与えられ、モード「1」のときスイッチ804、スイッチ807およびスイッチ812が第1雑音復号化部がアクティブになるよう切り替えられ、モード「2」のときスイッチ804、スイッチ807およびスイッチ812が第2雑音復号化部がアクティブになるよう切り替えられる(ステップS1202)。
【0212】
第1雑音復号化部がアクティブとなる場合、雑音データ分離部805で符号化データを各帯域別の量子化インデックスに分離し(ステップS1203)、この情報を基に帯域復号化部806で各周波数帯の振幅を復号する(ステップS1204)。表記上の都合により簡略化してあるが、帯域復号化部806は図22における第1帯域復号化部621、第2帯域復号化部622および第m帯域復号部623をーつのブロックにまとめたものであり、機能的には同等のものを表している。
【0213】
逆変換部808では、復号パラメータを用いて符号化側で行った変換と逆の変換を行って背景雑音を主体とする成分を再生し(ステップS1207)、出力端子813より出力する(ステップS1208)。これと並行して復号された各周波数帯の振幅情報をスイッチ812を経由してバッファ811に与え、バッファ811の内容を更新する(ステップS1209)。
【0214】
一方、第2雑音復号化部がアクティブとなる場合、前記符号化データを逆量子化部809に与えてパワー変化量を復号し(ステップS1205)、この復号パワ−変化量とバッファ811から与えられる前フレームのスペクトル形状を乗算器810で乗算する(ステップS1206)。その結果得られる復号パラメータをスイッチ807を経由して逆変換部808に与え、逆変換部808で符号化側で行った変換と逆の変換を行い、背景雑音を主体とする成分を再生し(ステップS1207)、出力端子813より出力する(ステップS1208)。これと並行して、前記復号パラメータをスイッチ812を経由してバッファ811に与えバッファ811の内容を更新する(ステップS1209)。以上の一連の処理をステップS1210で処理終了と判断されるまで繰り返す。
【0215】
(第9の実施形態)
本実施形態では、図15における雑音符号化部240および図29における雑音復号化部290の別の構成を図41および図43を用いてそれぞれ説明する。また、図41に対応するフローチャートを図42に、図43に対応するフローチャートを図44にそれぞれ示す。本実施形態は、第2雑音符号化部および第2雑音復号化部の構成が第8の実施形態と異なる。
【0216】
すなわち、第8の実施形態では前フレームのスペクトル形状に対する相対的なパワーの大きさをパワー変化量と呼び、これを量子化の対象としていた。これに対し、本実施形態では現フレームで算出した変換係数の絶対的なパワーを量子化の対象とし、これにより雑音符号化部の構成を簡易化している。
【0217】
[雑音符号化部240について]
図41において、図37と同一の名称を有する構成要素は同一の機能を有するものであり、ここでは説明を省略する。変換係数算出部904より出力される変換係数をパワ−算出部911に与え、変換係数を用いてフレームのパワーを求める(ステップS1308)。パワーは時間領域で算出することもでき、入力端子902から与えられる背景雑音を主体とする入力信号から直接求めることも可能である。このパワー情報を量子化部912で量子化し(ステップS1309)、そのときのインデックスをスイッチ910を経由して出力端子913より出力する(ステップS1310)。
【0218】
[雑音復号化部290について]
図43において、図39と同一の名称を有する構成要素は同一の機能を有するものであり、ここでは説明を省略する。入力端子1002から取り込まれた符号化データは、スイッチ1004を経由して逆量子化部1008に与えられる。逆量子化部1008では、逆量子化を行ってパワーを復号する(ステップS1405)。バッファ1011より出力される前フレームのスペクトル形状はパワー正規化部1012に与えられ、形状は保持したままパワーが1になるよう正規化が行われる(ステップS1406)。乗算器1009では、前述したパワー正規化後の前フレームのスペクトル形状と前述した復号パワーとの乗算を行い(ステップS1407)、その出力をスイッチ1007を経由して逆変換部1013に与える。
【0219】
逆変換部1013では、符号化側で行った変換と逆の変換を行い、背景雑音を主体とする成分を再生し(ステップS1408)、出力端子1014より出力する(ステップS1409)。これと並行して、乗算器1009の出力信号をスイッチ1010を経由してバッファ1011に与え、バッファ1011の内容を更新する(ステップS1410)。以上の一連の処理をステップS1411で処理終了と判断されるまで繰り返す。
【0220】
(第10の実施形態)
次に、本発明の第10の実施形態として、本発明における音声信号の成分分離法の好ましい実施形態を説明する。
これまで説明した実施形態において、成分分離部100で入力音声信号を音声主体成分と背景雑音主体成分とに成分分離する場合に、分離性能が悪いと復号音声信号の品質劣化が生じてしまう。例えば、この成分分離を行うために入力音声信号をノイズキャンセラに通して雑音抑圧を行うと、たとえ入力音声信号に背景雑音が存在しない場合でも、不要な雑音抑圧動作により音声主体成分に歪みを発生させてしまい、これが音声符号化部130に入力されることにより、復号音声信号の品質劣化の原因となる。
【0221】
一方、背景雑音は通常は周期性を持たないが、例えば遠くで人が話しているような背景雑音では、周期性が存在する。このような場合、成分分離後に得られる背景雑音主体成分に周期性が残っていると、これをそのまま雑音符号化部140に入力すると、音声符号化部130と異なり、雑音符号化部140は構造上、周期性(ピッチ周期)効率よく表現することができないため、ピッチ周期性の強い背景雑音主体成分(話者妨害、バブルノイズなど)に対して、不快な雑音を生成してしまう可能性がある。
本実施形態による音声信号の成分分離方法によれば、このような問題を伴うことなく、成分分離を的確に行うことが可能である。
【0222】
図45に、本発明の実施形態による音声信号の成分分離方法を適用した成分分離部100の詳細な構成を示す。この成分分離部100は、雑音抑圧部101と減算器102と状態判定部103および選択部104からなる。
【0223】
状態判定部103は、図46に示すようにSNR判定部111と周期性判定部112と推定エネルギー判定部113およびこれらの各判定部111、112、113の判定結果から総合判定を行って入力音声信号の状態判定結果を出力する総合判定部114から構成されている。
【0224】
次に、図47に示すフローチャートを用いて成分分離部100の処理手順を説明する。この処理は、入力音声信号のフレーム毎に行われる。
成分分離部100における雑音抑圧部101には、既存の技術を用いることができるが、ここでは前述したスペクトルサブトラクション法を用いた場合について説明する。スペクトルサブトラクション法は、帯域毎に雑音成分の大きさを推定し、入力音声信号から雑音成分の推定値を各帯域毎に減衰させることにより、雑音を抑圧する技術である。
【0225】
このスペクトルサブトラクション法を用いて、雑音抑圧部101で入力音声信号について雑音抑圧を行うことにより、音声成分抽出信号(第1の信号)S1を生成した後、さらに減算器102で入力音声信号から音声成分抽出信号S1を減じることにより、雑音成分抽出信号(第2の信号)S2を生成する(ステップS1501)。
【0226】
次に、状態判定部103で音声成分抽出信号S1および雑音成分抽出信号S2から入力音声信号の状態、すなわち入力音声信号が音声成分を主とする第1の状態、背景雑音成分を主とする第2の状態、および音声成分と背景雑音成分の両者をほぼ均等に含む第3の状態のいずれの状態かを所定の時間単位毎、つまりフレーム毎に判定する(ステップS1502)。
【0227】
そして、この判定結果に基づいて選択部104で音声主体成分と背景雑音が主体成分の選択を行う。すなわち、入力音声信号が第1の状態の場合には、音声主体成分として入力音声信号をそのまま出力し、背景雑音主体成分として全ゼロ信号S3を出力する(ステップS1503)。また、入力音声信号が第2の状態の場合には、音声主体成分として全ゼロ信号S3を出力し、背景雑音主体成分として入力音声信号をそのまま出力する(ステップS1504)。さらに、入力音声信号が第3の状態の場合には、音声主体成分として音声成分抽出信号S1を出力し、背景雑音主体成分として雑音成分抽出信号S2を出力する(ステップS1505)。こうして出力される音声主体成分および背景雑音主体成分は、それぞれ音声符号化部130および雑音符号化部140で符号化される。
【0228】
このように本実施形態によると、入力音声信号が音声を主体とする第1の状態のときは、入力音声信号が雑音抑圧処理を受けずにそのまま音声主体成分として出力され、これが音声符号化部130において音声に適した符号化方法で符号化されるため、音声成分に対する不要な雑音抑圧処理による復号音声信号の品質劣化を避けることができる。
【0229】
図48に示すフローチャートは、成分分離部100の他の処理手順を示しており、図47におけるステップS1504がステップS1506に変更されている点以外は、図47と同様である。このステップS1506では、入力音声信号が第2の状態の場合、第3の状態の場合と同様に、音声主体成分として音声成分抽出信号S1を出力し、背景雑音主体成分として雑音成分抽出信号S2を出力するようにしており、このようにしても結果はほぼ同じである。
【0230】
次に、図49に示すフローチャートを用いて図46に示した状態判定部103の処理手順を説明する。なお、この処理も入力音声信号のフレーム毎に行われるものとする。
まず、次式(2)により雑音成分抽出信号S2の推定エネルギーEest を算出する(ステップS1601)。
Eest(m) =α・Eno+(1−α)・Eest(m−1) (2)
ここで、αは更新係数、mは入力音声信号のフレーム番号を表す。
【0231】
次に、音声成分抽出信号S1と雑音成分抽出信号S2のSNR(S/N比)、つまり両信号S1,S2のエネルギー比を以下のようにして算出する(ステップS1602)。
まず、音声成分抽出信号S1のエネルギーEspおよび雑音成分抽出信号S2のエネルギーEnoを次式(3)(4)により算出する。
【0232】
【数2】
Figure 0004216364
【0233】
ここで、sp(n)は音声成分抽出信号S1、no(n)は雑音成分抽出信号S2を表し、FLNはフレーム長(=160)を表す。
これら算出された音声成分抽出信号S1のエネルギーEspおよび雑音成分抽出信号S2のエネルギーEnoはlog領域の信号であるため、両者の差Esp−Enoが信号S1,S2のエネルギー比であるSNRを表すことになる。
【0234】
次に、このSNR(=Esp−Eno)を次式(5)のように閾値TH1と比較する(ステップS1603)。
SNR(=Esp−Eno)≧TH1 (5)
ここで、式(5)を満足する場合には、入力音声信号は音声主体成分の候補とする。一方、式(5)を満足しない場合には、雑音成分抽出信号S2についてピッチ分析を行い、次式(6)(7)によりピッチ周期性の大きさGnoを算出する(ステップS1603)。
【0235】
【数3】
Figure 0004216364
【0236】
ここで、TMINはピッチ周期の最小値、TMAXはピッチ周期の最大値をそれぞれ表し、NANAはピッチ分析長を表す。
【0237】
次に、このようにして算出されたピッチ周期性の大きさGnoを次式(8)のように閾値TH2と比較する(ステップS1604)。
no≧TH2 (8)
ここで、式(8)を満足する場合には、入力音声信号は音声成分を主体とする信号であるとして第1の状態を選択し(ステップS1607)、式(8)を満足しない場合には、入力音声信号は雑音成分を主体とする信号であるとして第2の状態を選択する(ステップS1608)。
【0238】
一方、ステップS1603で式(5)を満足し、入力音声信号が音声主体成分の候補であるとした場合には、引き続きステップS1606において、式(2)により算出された雑音成分抽出信号S2の推定エネルギーEest を次式(9)のように閾値TH3と比較する。
Eest(m) ≧TH3 (9)
ここで、式(9)を満足する場合には、入力音声信号は音声成分が比較的大きく、背景雑音成分も比較的大きい、つまり音声成分および背景雑音成分の両者をほぼ均等に含むものとして、第3の状態を選択する(ステップS1609)。一方、式(9)を満足しない場合には、入力音声信号中の背景雑音成分は無視できると判断できるので、第1の状態を選択する(ステップS1607)。
【0239】
このように本実施形態では、入力音声信号の状態判定に際し、特にステップS1604〜S1605で雑音成分抽出信号S2のピッチ周期性の大きさGnoを求め、その大きさGnoが閾値TH2以上かどうかを調べて、Gnoが閾値TH2以上の場合には第2の状態を選択せず、第1の状態を選択して音声主体成分と同様に扱い、音声符号化部130で符号化することによって、周期性を効率よく表現できない雑音符号化部140で周期性の大きな雑音成分抽出信号S2を符号化することによる不快な雑音の生成という問題を回避することができる。
【0240】
なお、本実施形態で説明した音声信号の成分分離方法は、音声符号化以外の用途にも適用が可能であり、例えば音声主体成分と背景雑音主体成分を別々に記録するなど、両成分に異なった処理を施すような用途に広く応用できる。
【0241】
(第11の実施形態)
図50は、第10の実施形態で説明した成分分離部100を用いた本発明の第11の実施形態に係る音声符号化装置の構成を示している。図1に示した第1の実施形態と比較すると、成分分離部100内の状態判定部103からの状態判定結果がビット割り当て選択部120と多重化部150に入力されている点が異なっている。
【0242】
第10の実施形態で説明したように、状態判定部103では入力音声信号が第1、第2および第3の状態のいずれの状態にあるかの判定を行うので、ビット割り当て選択部120では入力音声信号が音声を主体とする第1の状態のときは音声符号化部130に多くのビットを割り当て、また入力音声信号が背景雑音を主体とする第2の状態のときは雑音符号化部140に多くのビットを割り当て、さらに入力音声信号が音声と背景雑音を共に多く含む第3の状態のときは音声符号化部130および背景雑音符号化部140にほぼ均等にビットを割り当てるようにする。
【0243】
また、これにより状態判定部103の判定結果はビット割り当て選択部120でのビット割り当ての情報を示すことになるので、これをビット割り当て符号として多重化部150で音声符号化部130および雑音符号化部140からの符号化データと多重化すればよい。
【0244】
【発明の効果】
以上説明したように、本発明によれば背景雑音も含めて音声を原音にできるだけ近い形で再生することが可能な低レート音声符号化方法および音声復号化方法を提供することができる。
【0245】
また、本発明によればこのような音声符号化を実現するのに必要な入力音声信号から音声主体成分と背景雑音主体成分との成分分離を正確に行うことが可能な音声信号の成分分離方法を提供することができる。
【図面の簡単な説明】
【図1】第1の実施形態に係る音声符号化装置の概略構成を示すブロック図
【図2】第1の実施形態に係る音声符号化方法の処理手順を示すフローチャート
【図3】第1の実施形態に係る音声符号化装置のより詳細な構成を示すブロック図
【図4】第1の実施形態に係る音声復号化装置の概略構成を示すブロック図
【図5】第1の実施形態に係る音声復号化方法の処理手順を示すフローチャート
【図6】第1の実施形態に係る音声復号化装置のより詳細な構成を示すブロック図
【図7】第2の実施形態に係る音声符号化装置の概略構成を示すブロック図
【図8】第2の実施形態に係る他の音声符号化装置の概略構成を示すブロック図
【図9】第2の実施形態に係る音声符号化方法の処理手順を示すフローチャート
【図10】第3の実施形態に係る音声復号化装置の概略構成を示すブロック図
【図11】第3の実施形態に係る音声復号化方法の処理手順を示すフローチャート
【図12】第3の実施形態に係る音声復号化装置のより詳細な構成を示すブロック図
【図13】第3の実施形態に係る音声復号化装置のより詳細な別の構成を示すブロック図
【図14】第4の実施形態に係る音声符号化装置の概略構成を示す機能ブロック図
【図15】第4の実施形態に係る音声符号化装置のより詳細な構成を示すブロック図
【図16】図15における第1雑音符号化部の内部構成を示すブロック図
【図17】図15における第2雑音符号化部の作用を説明するための図
【図18】図15における第2雑音符号化部の内部構成を示すブロック図
【図19】図15における第2雑音符号化部の処理手順を示すフローチャート
【図20】第4の実施形態に係る音声復号化装置の概略構成を示す機能ブロック図
【図21】第4の実施形態に係る音声符号化装置のより詳細な構成を示すブロック図
【図22】図21における第1雑音復号化部の内部構成を示すブロック図
【図23】図21における第2雑音復号化部の内部構成を示すブロック図
【図24】第4の実施形態に係る音声復号化方法の処理手順を示すフローチャート
【図25】第5の実施形態における第2雑音符号化部の作用を説明するための図
【図26】第5の実施形態における第2雑音符号化部の内部構成を示すブロック図
【図27】図26の第2雑音符号化部の処理手順を示すフローチャート
【図28】第5の実施形態における第2雑音復号化部の内部構成を示すブロック図
【図29】第5の実施形態に係る音声復号化方法の処理手順を示すフローチャート
【図30】第6の実施形態における第2雑音符号化部の作用を説明するための図
【図31】第6の実施形態における第2雑音符号化部での周波数帯決定規則を説明するための図
【図32】第6の実施形態における第2雑音符号化部の内部構成を示すブロック図
【図33】図32の第2雑音符号化部の処理手順を示すフローチャート
【図34】第6の実施形態における第2雑音復号化部の内部構成を示すブロック図
【図35】第6の実施形態に係る音声復号化方法の処理手順を示すフローチャート
【図36】第7の実施形態における第2雑音符号化部での周波数帯決定規則を説明するための図
【図37】第8の実施形態における雑音符号化部の構成を示すブロック図
【図38】図37の雑音符号化部の処理手順を示すフローチャート
【図39】第8の実施形態における雑音復号化部の構成を示すブロック図
【図40】図39の雑音復号化部の処理手順を示すフローチャート
【図41】第9の実施形態における雑音符号化部の構成を示すブロック図
【図42】図41の雑音符号化部の処理手順を示すフローチャート
【図43】第9の実施形態における雑音復号化部の構成を示すブロック図
【図44】図43の雑音復号化部の処理手順を示すフローチャート
【図45】本発明の第10の実施形態に係る成分分離部の構成を示すブロック図
【図46】図45における状態判定部の構成を示すブロック図
【図47】同実施形態に係る成分分離部の処理手順の例を示すフローチャート
【図48】同実施形態に係る成分分離部の処理手順の他の例を示すフローチャート
【図49】図46の状態判定部の処理手順を示すフローチャート
【図50】同実施形態に係る成分分離部を用いた本発明の第11の実施形態に係る音声符号化装置の概略構成を示すブロック図
【符号の説明】
100…成分分離部
101…雑音抑圧部
102…減算器
103…状態判定部
104…選択部
111…SNR判定部
112…周期性判定部
113…推定エネルギー判定部
120…ビット割り当て選択部
130…音声符号化部
140…雑音符号化部
150…多重化部
155…ゲイン抑圧部
156…ゲイン抑圧部
160…逆多重化部
170…ビット割り当て復号部
180…音声復号化部
190…雑音復号化部
195…結合部
196…振幅調整部
197…振幅制御部
198…遅延部
200…成分分離部
210…ビット割り当て選択部
220…音声符号化部
240…雑音符号化部
250…多重化部
260…逆多重化部
270…ビット割り当て復号部
280…音声復号化部
290…雑音復号化部
295…結合部

Claims (14)

  1. 入力音声信号をフレーム単位で分析することにより、音声が主体の第1の成分と背景雑音が主体の第2の成分とに成分分離し、
    前記第1および第2の成分に基づいて、前記第1および第2の成分に割り当てる第1および第2符号化ビット数を予め定められた複数の割り当て候補から選択し、
    前記第1符号化ビット数に従って前記第1の成分を時間領域で第1の符号化方法により符号化し、
    前記第2符号化ビット数に従って前記第2の成分を変換領域および周波数領域のいずれか一方で第2の符号化方法により符号化し、
    前記第1および第2の成分の符号化データと前記第1および第2符号化ビット数を示す割り当て情報を多重化した伝送符号化データを出力することを特徴とする音声符号化方法。
  2. 前記第2の成分は、前記第1の成分に比比べて時間的な変動の少ない成分であることを特徴とする請求項1記載の音声符号化方法。
  3. 前記第1の符号化ビット数および前記第2の符号化ビット数の和は、固定値であることを特徴とする請求項1または2のいずれか1項記載の音声符号化方法。
  4. 前記第2の符号化方法として選択可能な複数の符号化方法を用意しておき、これらの符号化方法の少なくとも一つは、既に符号化された過去の背景雑音のスペクトル形状を利用して現在の背景雑音のスペクトル形状を符号化することを特徴とする請求項1乃至3のいずれか1項記載の音声符号化方法。
  5. 前記過去の背景雑音のスペクトル形状を利用して前記現在の背景雑音のスペクトル形状を符号化するために、
    前記過去の背景雑音のスペクトル形状と前記現在の背景雑音のスペクトル形状からパワー補正係数を算出した後、量子化を行い、量子化後のパワー補正係数を前記過去の背景雑音のスペクトル形状に乗じて前記現在の背景雑音のスペクトル形状を求め、前記パワー補正係数の量子化時に得られるインデックスを符号化データとすることを特徴とする請求項4記載の音声符号化方法。
  6. 前記過去の背景雑音のスペクトル形状を利用して前記現在の背景雑音のスペクトル形状を符号化するために、
    前記過去の背景雑音のスペクトル形状と前記現在の背景雑音のスペクトル形状からパワー補正係数を算出した後、量子化を行い、量子化後のパワー補正係数を前記過去の背景雑音のスペクトル形状に乗じて前記現在の背景雑音のスペクトル形状を予測し、この予測したスペクトル形状を用いて、予め定められた規則に従って決定された周波数帯における背景雑音のスペクトル形状を符号化し、前記パワー補正係数の量子化時に得られるインデックスと、前記周波数帯における背景雑音のスペクトル形状の符号化時に得られるインデックスを符号化データとすることを特徴とする請求項4記載の音声符号化方法。
  7. 入力される伝送符号化データから、音声が主体の第1の成分が時間領域で第1の符号化方法により符号化された第1符号化データと背景雑音が主体の第2の成分が変換領域および周波数領域のいずれか一方で第2の符号化方法により符号化された第2符号化データと前記第1および第2符号化データの第1および第2符号化ビット数を示す割り当て情報を分離し、
    前記割り当て情報を復号して前記第1および第2符号化ビット数を求め、
    前記第1および第2符号化ビット数に従って前記第1および第2符号化データを復号して前記第1および第2の成分を再生し、
    再生した第1および第2の成分を結合して最終的な出力音声信号を生成することを特徴とする音声復号化方法。
  8. 前記第2の成分は、前記第1の成分に比比べて時間的な変動の少ない成分であることを特徴とする請求項7記載の音声復号化方法。
  9. 入力音声信号をフレーム単位で分析することにより、音声が主体の第1の成分と背景雑音が主体の第2の成分とに成分分離する音声信号の成分分離方法において、
    前記入力音声信号について雑音抑圧を行って得られた第1の信号と該入力音声信号から該第1の信号を減じた第2の信号を生成し、
    前記第1および第2の信号から、前記入力音声信号が音声成分を主とする第1の状態、背景雑音成分を主とする第2の状態、および音声成分と背景雑音成分の両者をほぼ均等に含む第3の状態のいずれの状態かをフレーム単位で判定し、
    前記入力音声信号が前記第1の状態と判定されたときは、前記第1の成分として前記入力音声信号そのまま出力すると共に、前記第2の成分として予め定められた所定の信号を出力し、
    前記入力音声信号が前記第2の状態と判定されたときは、前記第1の成分として予め定められた所定の信号を出力すると共に、前記第2の成分として前記入力音声信号を出力し、
    前記入力音声信号が前記第3の状態と判定されたときは、前記第1の成分として前記第1の信号を出力すると共に、前記第2の成分として前記第2の信号を出力することを特徴とする音声信号の成分分離方法。
  10. 入力音声信号をフレーム単位で分析することにより、音声が主体の第1の成分と背景雑音が主体の第2の成分とに成分分離する音声信号の成分分離方法において、
    前記入力音声信号について雑音抑圧を行って得られた第1の信号と該入力音声信号から該第1の信号を減じた第2の信号を生成し、
    前記第1および第2の信号から、前記入力音声信号が音声成分を主とする第1の状態、背景雑音成分を主とする第2の状態、および音声成分と背景雑音成分の両者をほぼ均等に含む第3の状態のいずれの状態かをフレーム単位で判定し、
    前記入力音声信号が前記第1の状態と判定されたときは、前記第1の成分として前記入力音声信号をそのまま出力すると共に、前記第2の成分として予め定められた所定の信号を出力し、
    前記入力音声信号が前記第2の状態と判定されたときは、前記第1の成分として前記第1の信号を出力すると共に、前記第2の成分として前記第2の信号を出力し、
    前記入力音声信号が前記第3の状態と判定されたときは、前記第1の成分として前記第1の信号を出力すると共に、前記第2の成分として前記第2の信号を出力することを特徴とする音声信号の成分分離方法。
  11. 前記第2の成分は、前記第1の成分に比比べて時間的な変動の少ない成分であることを特徴とする請求項9または10のいずれか1項記載の音声信号の成分分離方法。
  12. 前記入力音声信号が前記第1の状態、第2の状態および第3の状態のいずれの状態かを判定する処理に、前記第2の信号のピッチ周期性の大きさを調べる処理を含むことを特徴とする請求項9乃至11のいずれか1項記載の音声信号の成分分離方法。
  13. 入力音声信号をフレーム単位で分析することにより、音声が主体の第1の成分と背景雑音が主体の第2の成分とに成分分離し、
    前記第1および第2の成分に基づいて、前記第1および第2成分に割り当てる第1および第2符号化ビット数を予め定められた複数の割り当て候補から選択し、
    前記第1符号化ビット数に従って前記第1の成分を時間領域で第1の符号化方法により符号化し、
    前記第2符号化ビット数に従って前記第2の成分を変換領域および周波数領域のいずれか一方で第2の符号化方法により符号化し、
    前記第1および第2の成分の符号化データと前記第1および第2符号化ビット数を示す割り当て情報を多重化した伝送符号化データを出力する音声符号化方法であって、
    前記成分分離に際して、
    前記入力音声信号について雑音抑圧を行って得られた第1の信号と該入力音声信号から第1の信号を減じた第2の信号を生成し、
    前記第1および第2の信号から、前記入力音声信号が音声成分を主とする第1の状態、背景雑音成分を主とする第2の状態、および音声成分と背景雑音成分の両者をほぼ均等に含む第3の状態のいずれの状態かをフレーム単位で判定し、
    前記入力音声信号が前記第1の状態と判定されたときは、前記第1の成分として前記入力音声信号そのまま出力すると共に、前記第2の成分として予め定められた所定の信号を出力し、
    前記入力音声信号が前記第2の状態と判定されたときは、前記第1の成分として予め定められた所定の信号を出力すると共に、前記第2の成分として前記入力音声信号を出力し、
    前記入力音声信号が前記第3の状態と判定されたときは、前記第1の成分として前記第1の信号を出力すると共に、前記第2の成分として前記第2の信号を出力することを特徴とする音声符号化方法。
  14. 入力音声信号をフレーム単位で分析することにより、音声が主体の第1の成分と背景雑音が主体の第2の成分とに成分分離し、
    前記第1および第2の成分に基づいて、前記第1および第2成分に割り当てる第1および第2符号化ビット数を予め定められた複数の割り当て候補から選択し、
    前記1符号化ビット数に従って前記第1の成分を時間領域で第1の符号化方法により符号化し、
    前記第2符号化ビット数に従って前記第2の成分を変換領域及び周波数領域のいずれか一方で第2の符号化方法により符号化し、
    前記第1および第2の成分の符号化データと前記第1および第2符号化ビット数を示す割り当て情報を多重化した伝送符号化データを出力する音声符号化方法であって、
    前記成分分離に際して、
    前記入力音声信号について雑音抑圧を行って得られた第1の信号と該入力音声信号から第1の信号を減じた第2の信号を生成し、
    前記第1および第2の信号から、前記入力音声信号が音声成分を主とする第1の状態、背景雑音成分を主とする第2の状態、および音声成分と背景雑音成分の両者をほぼ均等に含む第3の状態のいずれの状態かをフレーム単位で判定し、
    前記入力音声信号が前記第1の状態と判定されたときは、前記第1の成分として前記入力音声信号をそのまま出力すると共に、前記第2の成分として予め定められた所定の信号を出力し、
    前記入力音声信号が前記第2の状態と判定されたときは、前記第1の成分として前記第1の信号を出力すると共に、前記第2の成分として前記第2の信号を出力し、
    前記入力音声信号が前記第3の状態と判定されたときは、前記第1の成分として前記第1の信号を出力すると共に、前記第2の成分として前記第2の信号を出力することを特徴とする音声符号化方法。
JP12887698A 1997-08-29 1998-05-12 音声符号化/復号化方法および音声信号の成分分離方法 Expired - Fee Related JP4216364B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12887698A JP4216364B2 (ja) 1997-08-29 1998-05-12 音声符号化/復号化方法および音声信号の成分分離方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP23512997 1997-08-29
JP9-235129 1997-12-24
JP9-354806 1997-12-24
JP35480697 1997-12-24
JP12887698A JP4216364B2 (ja) 1997-08-29 1998-05-12 音声符号化/復号化方法および音声信号の成分分離方法

Publications (2)

Publication Number Publication Date
JPH11242499A JPH11242499A (ja) 1999-09-07
JP4216364B2 true JP4216364B2 (ja) 2009-01-28

Family

ID=27315825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12887698A Expired - Fee Related JP4216364B2 (ja) 1997-08-29 1998-05-12 音声符号化/復号化方法および音声信号の成分分離方法

Country Status (1)

Country Link
JP (1) JP4216364B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978236B1 (en) 1999-10-01 2005-12-20 Coding Technologies Ab Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching
JP3670217B2 (ja) 2000-09-06 2005-07-13 国立大学法人名古屋大学 雑音符号化装置、雑音復号装置、雑音符号化方法および雑音復号方法
JP4506039B2 (ja) 2001-06-15 2010-07-21 ソニー株式会社 符号化装置及び方法、復号装置及び方法、並びに符号化プログラム及び復号プログラム
JP2004029674A (ja) * 2002-06-28 2004-01-29 Matsushita Electric Ind Co Ltd 雑音信号符号化装置及び雑音信号復号化装置
US7574008B2 (en) * 2004-09-17 2009-08-11 Microsoft Corporation Method and apparatus for multi-sensory speech enhancement
JP4918841B2 (ja) 2006-10-23 2012-04-18 富士通株式会社 符号化システム
JP5538425B2 (ja) * 2008-12-23 2014-07-02 コーニンクレッカ フィリップス エヌ ヴェ スピーチ取り込み及びスピーチレンダリング
JP4977268B2 (ja) * 2011-12-06 2012-07-18 株式会社エヌ・ティ・ティ・ドコモ 音信号符号化方法、音信号復号方法、符号化装置、復号装置、音信号処理システム、音信号符号化プログラム、及び、音信号復号プログラム
JP4977157B2 (ja) * 2009-03-06 2012-07-18 株式会社エヌ・ティ・ティ・ドコモ 音信号符号化方法、音信号復号方法、符号化装置、復号装置、音信号処理システム、音信号符号化プログラム、及び、音信号復号プログラム
JPWO2013136742A1 (ja) * 2012-03-14 2015-08-03 パナソニックIpマネジメント株式会社 車載通話装置
CN117612539A (zh) * 2016-05-30 2024-02-27 索尼公司 视频音频处理设备、视频音频处理方法和存储介质
US11664037B2 (en) 2020-05-22 2023-05-30 Electronics And Telecommunications Research Institute Methods of encoding and decoding speech signal using neural network model recognizing sound sources, and encoding and decoding apparatuses for performing the same
KR102601228B1 (ko) * 2020-05-22 2023-11-13 한국전자통신연구원 음원을 인지하는 신경망 모델을 이용한 음성 신호의 부호화 및 복호화 방법과 이를 수행하는 부호화 및 복호화 장치
CN115116448B (zh) * 2022-08-29 2022-11-15 四川启睿克科技有限公司 语音提取方法、神经网络模型训练方法、装置及存储介质

Also Published As

Publication number Publication date
JPH11242499A (ja) 1999-09-07

Similar Documents

Publication Publication Date Title
KR101000345B1 (ko) 음성 부호화 장치, 음성 복호화 장치 및 그 방법
JP4589366B2 (ja) 忠実度最適化可変フレーム長符号化
JP5547081B2 (ja) 音声復号化方法及び装置
KR101162275B1 (ko) 오디오 신호 처리 방법 및 장치
KR101221918B1 (ko) 신호 처리 방법 및 장치
JP5413839B2 (ja) 符号化装置および復号装置
JP4216364B2 (ja) 音声符号化/復号化方法および音声信号の成分分離方法
JP5153791B2 (ja) ステレオ音声復号装置、ステレオ音声符号化装置、および消失フレーム補償方法
KR20070084002A (ko) 스케일러블 복호화 장치 및 스케일러블 부호화 장치
KR20070029754A (ko) 음성 부호화 장치 및 그 방법과, 음성 복호화 장치 및 그방법
JP4464707B2 (ja) 通信装置
JP4445328B2 (ja) 音声・楽音復号化装置および音声・楽音復号化方法
JP4736812B2 (ja) 信号符号化装置及び方法、信号復号装置及び方法、並びにプログラム及び記録媒体
US5826221A (en) Vocal tract prediction coefficient coding and decoding circuitry capable of adaptively selecting quantized values and interpolation values
JP4558734B2 (ja) 信号復号化装置
JP2007187749A (ja) マルチチャンネル符号化における頭部伝達関数をサポートするための新装置
JP5235168B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム、復号プログラム
JP4578145B2 (ja) 音声符号化装置、音声復号化装置及びこれらの方法
JP2000099096A (ja) 音声信号の成分分離方法及びこれを用いた音声符号化方法
JP2006345289A (ja) 中継装置および端末装置
JPH02181800A (ja) 音声符号化復号化方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071227

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: 20081104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081106

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees