以下、本発明の実施の形態に係る音声符号化装置及び音声復号装置について詳細に説明する。音声符号化装置の機能構成例として3種類(それぞれ実施形態1、実施形態2、実施形態3、とする。)を、音声復号装置の機能構成例として2種類(それぞれ実施形態4、実施形態5とする。)を挙げ、さらに、これらの機能構成例を実現するための物理的な構成例として音声符号化兼復号装置(実施形態6とする。)を挙げる。なお、これらの実施形態を順次記述するにあたっては、原則として、同一の部材については同一の符号を付すこととし、その説明を省略する。
なお、実施形態1乃至実施形態3に係る音声符号化装置が送信する信号は、本質的には同じものである。また、実施形態4及び実施形態5に係る音声復号装置が受信する信号は、本質的には同じものである。よって、実施形態6に係る音声符号化兼復号装置としては、上述の音声符号化装置と音声復号装置を任意に組み合わせたものを想定してよい。
(実施形態1)
図1は、本実施形態に係る音声符号化装置111の機能構成図である。
音声符号化装置111は、図示するように、マイクロフォン121と、A/D変換部123と、予測分析部125と、帯域フィルタ部127と、雑音判別部129と、符号化用Aスイッチ部131と、フラグ及びゲイン生成部133と、集計変換部135と、符号化部137と、送信部139と、を備える。
予測分析部125は、予測分析用逆フィルタ算出器141を内蔵している。
帯域フィルタ部127は、第1帯域フィルタ143と、第2帯域フィルタ145と、図1では省略するが、第3帯域フィルタ以降の必要な帯域フィルタと、を備える。
雑音判別部129は、第1雑音判別器147と、第2雑音判別器149と、図1では省略するが、第3雑音判別器以降の必要な雑音判別器と、を備える。
符号化用Aスイッチ部131は、第1Aスイッチ151と、第2Aスイッチ153と、図1では省略するが、第3Aスイッチ以降の必要なAスイッチと、を備える。
フラグ及びゲイン生成部133は、第1フラグ生成及び第1ゲイン算出器155と、第2フラグ生成及び第2ゲイン算出器157と、図1では省略するが、第3フラグ生成及び第3ゲイン算出器以降の必要なフラグ生成及びゲイン算出器と、を備え、フラグ及び雑音ゲイン集計器159をさらに備える。
集計変換部135は、非雑音残差信号集計器161と、スペクトル変換器163と、非雑音帯域切り出し器162と、を備える。
マイクロフォン121に入力されたアナログ音声信号は、A/D変換部123により、例えば16kHzサンプリングにより、デジタル音声信号に変換されてから、予測分析部125に引き渡される。予測分析部125は、引き渡されたデジタル音声信号に、線型予測分析やMLSA(Mel Log Spectrum Approximation)分析等の予測分析を施す。予測分析部125は、該デジタル音声信号を、所定の時間区間(例えば5ms)に区切って、Si={si、0、・・・、si、l-1}(0≦i≦M-1)という形にした後、各時間区間について、予測係数、例えば、線型予測係数やMLSA係数、を算出する。続いて、該予測係数から、予測分析用逆フィルタ算出器141により、予測分析用逆フィルタを求める。次に、デジタル音声信号Siが該予測分析用逆フィルタに入力された結果として、残差信号Di={di、0、・・・、di、l-1}(0≦i≦M-1)が求まる。このように、予測分析部125は、デジタル音声信号を、予測係数と残差信号とに分解する。
予測分析部125により生成された予測係数は、そのまま符号化部137に引き渡される。
一方、同じく生成された残差信号は、帯域フィルタ部127に引き渡されて、帯域毎の残差信号に分割される。帯域フィルタ部127は、例えば、残差信号を帯域1乃至8に分割し、帯域1を0〜1kHz、帯域2を1〜2kHz、帯域3を2〜3kHz、帯域4を3〜4kHz、帯域5を4〜5kHz、帯域6を5kHz〜6kHz、帯域7を6kHz〜7kHz、帯域8を7kHz〜8kHz、とするのが好適である。残差信号が第1帯域フィルタ143に通されることにより帯域1の残差信号が生成され、残差信号が第2帯域フィルタ145に通されることにより帯域2の残差信号が生成され、以下、同様である。
帯域識別のための変数をωと表記することにする。例えば、第1帯域フィルタ143により生成される信号はω=1の帯域の信号であるとし、第2帯域フィルタ145により生成される信号はω=2の帯域の信号であるとする。
生成された帯域1の残差信号は、雑音判別部129の中の第1雑音判別器147と、符号化用Aスイッチ部131の中の第1Aスイッチ151と、に引き渡され、生成された帯域2の残差信号は、雑音判別部129の中の第2雑音判別器149と、符号化用Aスイッチ部131の中の第2Aスイッチ153と、に引き渡され、以下、同様である。
第1雑音判別器147は、引き渡された帯域1の残差信号が雑音であるか否かを判別し、第1Aスイッチ151に対して切替命令を送る。ここで、切替命令とは、帯域1の残差信号が雑音であると判別された場合には第1Aスイッチ151をa1側に閉じ、帯域1の残差信号が雑音ではないと判別された場合には第1Aスイッチをb1側に閉じるように、第1Aスイッチ151を制御する命令である。第2雑音判別器149は、引き渡された帯域2の残差信号が雑音であるか否かを判別し、第2Aスイッチ153に対して切替命令を送る。ここで、切替命令とは、帯域2の残差信号が雑音であると判別された場合には第2Aスイッチ153をa2側に閉じ、帯域2の残差信号が雑音ではないと判別された場合には第2Aスイッチをb2側に閉じるように、第2Aスイッチ153を制御する命令である。帯域3以降についても同様である。
第1Aスイッチ151がa1側に閉じた場合は、帯域1の残差信号は、フラグ及びゲイン生成部133の中の第1フラグ生成及び第1ゲイン算出器155には引き渡されるが、集計変換部135の中の非雑音残差信号集計器161には引き渡されない。一方、第1Aスイッチ151がb1側に閉じた場合は、帯域1の残差信号は、フラグ及びゲイン生成部133の中の第1フラグ生成及び第1ゲイン算出器155には引き渡されないが、集計変換部135の中の非雑音残差信号集計器161には引き渡される。第2Aスイッチ153がa2側に閉じた場合は、帯域2の残差信号は、フラグ及びゲイン生成部133の中の第2フラグ生成及び第2ゲイン算出器157には引き渡されるが、集計変換部135の中の非雑音残差信号集計器161には引き渡されない。一方、第2Aスイッチ153がb2側に閉じた場合は、帯域1の残差信号は、フラグ及びゲイン生成部133の中の第2フラグ生成及び第2ゲイン算出器157には引き渡されないが、集計変換部135の中の非雑音残差信号集計器161には引き渡される。帯域3以降についても同様である。
フラグ及びゲイン生成部133の中の第1フラグ生成及び第1ゲイン算出器155は、帯域1の残差信号を受け取った場合には、帯域1が雑音帯域である旨を示すフラグを生成するとともに帯域1の残差信号のゲインを算出し、該フラグ及び該ゲインを同じくフラグ及びゲイン生成部133の中にあるフラグ及び雑音ゲイン集計器159に引き渡す一方、帯域1の残差信号を受け取らなかった場合には、何も行わない。フラグ及びゲイン生成部133の中の第2フラグ生成及び第2ゲイン算出器157は、帯域2の残差信号を受け取った場合には、帯域2が雑音帯域である旨を示すフラグを生成するとともに帯域2の残差信号のゲインを算出し、該フラグ及び該ゲインを同じくフラグ及びゲイン生成部133の中にあるフラグ及び雑音ゲイン集計器159に引き渡す一方、帯域2の残差信号を受け取らなかった場合には、何も行わない。帯域3以降についても同様である。
各帯域のゲインは、残差信号の該帯域の成分の強度を表すものである。音声信号においては、一般に、帯域が異なればゲインも異なる値になる。ゲインは、後述の音声復号装置に伝えられる。すると、該装置により、元の残差信号の帯域毎の強度の違いが反映された音声信号が再生される。したがって、音声符号化装置111により帯域毎にゲインを求めておくことは、例えばゲインが帯域に依存しない一定値であるといった仮定を採る場合に比べて、後述の音声復号装置が高い品質の音声信号を再生するのに資する。なお、本実施形態においては、非雑音帯域における残差信号の性質については、数値で表される周波数変換係数として音声復号装置に伝達されるので、別途ゲインを求める必要はない。
雑音判別部129及び符号化用Aスイッチ部131が上述のように動作することから、フラグ及び雑音ゲイン集計器159には、雑音帯域におけるフラグ及びゲインが集められる結果となる。これらの雑音帯域におけるフラグ及びゲインは、符号化部137に引き渡される。
集計変換部135の中の非雑音残差信号集計器161は、どの帯域の残差信号が符号化用Aスイッチ部131から引き渡されたかを把握するとともに、かかる帯域の残差信号だけを実時間領域において重ね合わせた信号を生成する。
雑音判別部129及び符号化用Aスイッチ部131が上述のように動作することから、非雑音残差信号集計器161が上述のように把握した帯域は、結果として、非雑音帯域である。同様に、非雑音残差信号集計器161が上述のように重ね合わせて生成した信号は、結果として、非雑音帯域における残差信号である。
非雑音帯域における残差信号は、非雑音残差信号集計器161から同じく集計変換部135の中のスペクトル変換器163に引き渡され、高速フーリエ変換(FFT、Fast Fourier Transform)、離散コサイン変換(DCT、Discrete Cosine Transform)、変形コサイン変換(MDCT、Modified Discrete Cosine Transform)等の周波数変換手法により、周波数変換係数に変換されてから、同じく集計変換部135の中の非雑音帯域切り出し器162に引き渡される。
非雑音帯域切り出し器162には、非雑音残差信号集計器161が上述のように把握した、どの帯域が非雑音帯域であるか、という情報も引き渡される。非雑音帯域切り出し器162は、かかる情報を参照することにより、スペクトル変換器163から引き渡された周波数変換係数のうち、非雑音帯域における周波数変換係数だけを取り出して、符号化部137に引き渡す。つまり、符号化部137には、非雑音帯域における残差信号を周波数変換して得られた全帯域における周波数変換係数のうち、非雑音帯域における周波数変換係数だけが切り出されて引き渡される。
もっとも、雑音判別部129及び符号化用Aスイッチ部131が上述のように動作することから、非雑音残差信号集計器161が上述の重ね合わせにより生成した、非雑音帯域における残差信号は、元々、雑音帯域の成分を含まない。よって、原理的には、スペクトル変換器163が生成する周波数変換係数は、雑音帯域において数値0が並んだものとなる。したがって、非雑音帯域切り出し器162は、非雑音残差信号集計器161からの非雑音帯域に関する情報の引き渡しを受けずに、スペクトル変換器163から引き渡された周波数変換係数から値が0の係数を除去したものを符号化部137に引き渡すものであってもよい。ただし、帯域フィルタ部127の帯域フィルタとしての精度を考慮して、本実施形態においては、動作を確実なものとするために、非雑音帯域切り出し器162は周波数変換係数の切り出しにあたり非雑音帯域に関する情報を参照するものとする。
符号化部137は、予測分析部125からは予測係数を、フラグ及びゲイン生成部133からは雑音帯域におけるフラグ及びゲインを、集計変換部135からは非雑音帯域における周波数変換係数を、受け取る。符号化部137はこれらをまとめて所定の符号化手法、例えばベクトル量子化手法やハフマン符号化手法、により符号化し、生成された符号を送信部139に引き渡す。
送信部139は、符号化部137から、予測係数、フラグ、ゲイン、及び、非雑音帯域における周波数変換係数、が符号化されたもの、を受け取り、これを、後述の実施形態4又は5に係る音声復号装置、あるいは、かかる音声復号装置として機能する、後述の実施形態6に係る他の音声符号化兼復号装置に向けて、送信する。送信方法は、本実施形態においては、無線通信であるとするが、他の、有線や、有線と無線の併用など、様々な通信方法であってもよい。
本実施形態に係る音声符号化装置111は、残差信号を複数の帯域に分割し、雑音帯域についてはその旨を示すフラグと、該帯域におけるゲインのみを送信対象とし、非雑音帯域については周波数変換係数を送信対象とすることにより、残差信号に関する情報の効率的な伝達と、再生音声の品質の確保と、を両立させることができる。
(実施形態2)
図2は、本実施形態に係る音声符号化装置113の機能構成図である。音声符号化装置113は、概ね、実施形態1に係る音声符号化装置111と同じ構成を有する。主な相違点は、符号化用Aスイッチ131が符号化用Cスイッチ部165に置き換えられていることと、それに伴い定電圧源(電圧VC)が設けられていることと、Band Elimination Filter169が設けられていることと、それに伴い集計変換部135としてまとめられていた部分が分解された上で構成要素の仕様が一部変更されていること、である。
実施形態1において雑音判別部129は符号化用Aスイッチ部131に切替命令を送っていたが、本実施形態においては、雑音判別部129は符号化用Cスイッチ部165に対して選択オン命令を送る。ここで、選択オン命令とは、帯域1についての場合であれば、帯域1の残差信号が雑音であると判別された場合には第1Cスイッチ171のc1を閉じd1を開き、帯域1の残差信号が雑音ではないと判別された場合には第1Cスイッチ171のc1を開きd1を閉じるように、第1Cスイッチ171を制御する命令である。そして、帯域2についての場合であれば、帯域2の残差信号が雑音であると判別された場合には第2Cスイッチ173のc2を閉じd2を開き、帯域2の残差信号が雑音ではないと判別された場合には第2Cスイッチ173のc2を開きd2を閉じるように、第2Cスイッチ173を制御する命令である。帯域3以降についての場合も同様である。
第1Cスイッチ171においてc1が閉じd1が開いた場合は、帯域1の残差信号がフラグ及びゲイン生成部133に引き渡されるが、非雑音帯域決定器167には電圧VCが印加されず、非雑音帯域決定器167は帯域1が雑音帯域である旨を記憶する。一方、第1Cスイッチ171においてc1が開きd1が閉じた場合は、帯域1の残差信号がフラグ及びゲイン生成部133に引き渡されず、非雑音帯域決定器167には電圧VCが印加され、非雑音帯域決定器167は帯域1が非雑音帯域である旨を記憶する。第2Cスイッチ173においてc2が閉じd2が開いた場合は、帯域2の残差信号がフラグ及びゲイン生成部133に引き渡されるが、非雑音帯域決定器167には電圧VCが印加されず、非雑音帯域決定器167は帯域2が雑音帯域である旨を記憶する。一方、第2Cスイッチ173においてc2が開きd2が閉じた場合は、帯域2の残差信号がフラグ及びゲイン生成部133に引き渡されず、非雑音帯域決定器167には電圧VCが印加され、非雑音帯域決定器167は帯域2が非雑音帯域である旨を記憶する。帯域3以降についても同様である。
このように、定電圧源(電圧VC)は、非雑音帯域決定器167が、どの帯域が非雑音帯域であるかを把握するためのものである。図示した定電圧源は模式的なものであって、非雑音帯域決定器167によるかかる把握を可能にするものであれば他の機構のもので代用してよい。
非雑音帯域決定器167は、把握した非雑音帯域に関する情報を、実施形態1において非雑音残差信号集計器161が行ったのと同様に、非雑音帯域切り出し器162に引き渡す。
非雑音帯域決定器167はしかし、実施形態1における非雑音残差信号集計器161とは異なり、非雑音帯域の残差信号を受け取っていない。本実施形態においては、スペクトル変換器163が非雑音帯域の残差信号を取得するために、まず残差信号全体が予測分析部125からBand Elimination Filter169に引き渡される。非雑音帯域決定器167はどの帯域が非雑音帯域であるかを把握しているのであるから、逆に、どの帯域が雑音帯域であるかを把握しているともいえる。そこで、非雑音帯域決定器167は、かかる雑音帯域、すなわちスペクトル変換器163に残差信号が入力される前に削除されておくべき帯域を、Band Elimination Filter169に一括して指定する命令を送る。Band Elimination Filter169は、削除すべき帯域を自在に選択設定することができるフィルタであり、本実施形態においては、前記命令にしたがって、予測分析部125から引き渡された残差信号のうち削除すべき帯域を削除した上で、スペクトル変換器163に引き渡す。
本実施形態は、実施形態1の変形例といえる。ただし、本実施形態においては、実施形態1の場合と異なり、スペクトル変換器163に入力される非雑音残差信号として、帯域フィルタ部127を経由したものを用いずに、Band Elimination Filter169を経由したものを用いている。したがって、帯域フィルタ部127で使用される多数の帯域フィルタに比べフィルタとしての性能が高いBand Elimination Filterが1個だけでも入手できる場合には、本実施形態を採用する方が、実施形態1の場合に比べて非雑音帯域における周波数変換係数が高い精度で求まるという利点がある。また、実施形態1の場合、非雑音残差信号集計器161が非雑音帯域の残差信号の重ね合わせ処理を行う際に誤差が生じ得るが、本実施形態の場合にはかかる重ね合わせ処理がないので、この点でも、周波数変換係数がより高い精度で求まると期待される。
(実施形態3)
図3は、本実施形態に係る音声符号化装置115の機能構成図である。音声符号化装置115は、実施形態1に係る音声符号化装置111に類似した構成を有するが、符号化用Aスイッチ131が符号化用Eスイッチ部177に置き換えられている点と、集計変換部135としてまとめられていた部分が完全に分解された上でスペクトル変換器163を除く構成要素の仕様が一部変更されている点と、において相違する。
本実施形態においては、予測分析部125からの残差信号が直接にスペクトル変換器163に引き渡される。そして、スペクトル変換器163は、先の2つの実施形態の場合と異なり、引き渡された残差信号に雑音帯域が含まれているか否かには拘泥せずに、残差信号全体から周波数変換係数を求める。
求まった周波数変換係数は、周波数変換係数切り分け器175に引き渡される。この周波数変換係数切り分け器175は、先の2つの実施形態における非雑音帯域切り出し器162と比べ、受け取った周波数変換係数を所定の帯域に対応づける点において似ている。しかし、後者が非雑音帯域に属する周波数変換係数を削除するのに対して、前者は周波数変換係数の全てを所定の複数の帯域に分類するだけであって、帯域1における周波数変換係数、帯域2における周波数変換係数、・・・、のように結局全ての周波数変換係数を出力する点が異なる。
周波数変換係数切り分け器175から出力された帯域1の周波数変換係数が伝送される信号線は、符号化用Eスイッチ部177の中の第1Eスイッチ181に接続され、帯域2の周波数変換係数が伝送される信号線は第2Eスイッチ183に接続されている。帯域3以降についても同様である。
実施形態1において雑音判別部129は符号化用Aスイッチ部131に切替命令を送っていたが、本実施形態においては、雑音判別部129は符号化用Eスイッチ部177に対して選択オン命令を送る。ここで、選択オン命令とは、帯域1についての場合であれば、帯域1の残差信号が雑音であると判別された場合には第1Eスイッチ181のe1を閉じf1を開き、帯域1の残差信号が雑音ではないと判別された場合には第1Eスイッチ181のe1を開きf1を閉じるように、第1Eスイッチ181を制御する命令である。そして、帯域2についての場合であれば、帯域2の残差信号が雑音であると判別された場合には第2Eスイッチ183のe2を閉じf2を開き、帯域2の残差信号が雑音ではないと判別された場合には第2Eスイッチ183のe2を開きf2を閉じるように、第2Eスイッチ183を制御する命令である。帯域3以降についての場合も同様である。
第1Eスイッチ181においてe1が閉じf1が開いた場合は、帯域1の残差信号がフラグ及びゲイン生成部133に引き渡されるが、非雑音周波数変換係数集計器179には帯域1における周波数変換係数が引き渡されず、非雑音周波数変換係数集計器179は帯域1における周波数変換係数を記憶しない。一方、第1Eスイッチ181においてe1が開きf1が閉じた場合は、帯域1の残差信号はフラグ及びゲイン生成部133に引き渡されず、非雑音周波数変換係数集計器179には帯域1における周波数変換係数が引き渡され、非雑音周波数変換係数集計器179は帯域1における周波数変換係数を記憶する。第2Eスイッチ183においてe2が閉じf2が開いた場合は、帯域2における残差信号がフラグ及びゲイン生成部133に引き渡されるが、非雑音周波数変換係数集計器179には帯域2の周波数変換係数が引き渡されず、非雑音周波数変換係数集計器179は帯域2における周波数変換係数を記憶しない。一方、第2Eスイッチ183においてe2が開きf2が閉じた場合は、帯域2の残差信号はフラグ及びゲイン生成部133に引き渡されず、非雑音周波数変換係数集計器179には帯域2における周波数変換係数が引き渡され、非雑音周波数変換係数集計器179は帯域2における周波数変換係数を記憶する。帯域3以降についても同様である。
この結果、非雑音周波数変換係数集計器179には、非雑音帯域における周波数変換係数が集計され記憶される。非雑音周波数変換係数集計器179は、かかる周波数変換係数を符号化部137に引き渡す。
本実施形態に係る音声符号化装置115が符号化の対象とするものは、先の2つの実施形態に係る音声符号化装置111及び音声符号化装置113が符号化の対象とするものと同じである。
ただし、本実施形態の場合、残差信号を帯域別残差信号に分割する前に周波数変換係数を全帯域に渡って一括して求める。よって、実施形態1の場合と異なり、周波数変換係数が、帯域フィルタ部127の性能とは関係なく、高精度で求まる。また、本実施形態においては、周波数変換係数は、実施形態1における非雑音残差信号集計器161(図1)での信号の重ね合わせ処理に伴う誤差の影響も受けずに、高精度で求まる。さらに、実施形態2と比較しても、本実施形態においては、周波数変換係数が、Band Elimination Filterの性能とは関係なく、高精度で求まる。
(実施形態4)
図4は、本実施形態に係る音声復号装置211の機能構成図である。
音声復号装置211は、図示するように、受信部221と、復号部223と、フラグ存否判別部225と、復号用Gスイッチ部227と、帯域別雑音列生成部229と、集計逆変換部231と、残差信号復元部233と、合成用フィルタ算出部235と、合成用フィルタ部237と、D/A変換部239と、スピーカ241と、を備える。
フラグ存否判別部225は、第1フラグ存否判別器243と、第2フラグ存否判別器245と、図4では省略するが、第3フラグ存否判別器以降の必要なフラグ存否判別器と、を備える。
復号用Gスイッチ部227は、第1Gスイッチ247と、第2Gスイッチ249と、図4では省略するが、第3Gスイッチ以降の必要なGスイッチと、を備える。
帯域別雑音列生成部229は、第1雑音列生成器251と、第2雑音列生成器253と、図4では省略するが、第3雑音列生成器以降の必要な雑音列生成器と、を備える。
集計逆変換部231は、周波数変換係数集計及び補充器255と、スペクトル逆変換器257と、を備える。
受信部221は、実施形態1係る音声符号化装置111(図1)や、実施形態2に係る音声符号化装置113(図2)や、実施形態3に係る音声符号化装置115(図3)が、送信部139から無線通信手段等により送信した符号を受け取り、復号部223に引き渡す。かかる符号は、予測係数、フラグ、ゲイン、及び、非雑音帯域における周波数変換係数、が符号化されたものである。
復号部223は、受信部221から引き渡された符号を復号して、上述のように変数i(0≦i≦M-1)により識別した各時間区分における、予測係数と、フラグと、ゲインと、非雑音帯域における周波数変換係数と、を生成する。
復号部223は、生成した予測係数を、合成用フィルタ算出部235に引き渡す。それとともに、復号部223は、生成したフラグとゲインと非雑音帯域における周波数変換係数とを、帯域毎の情報として、フラグ存否判別部225及び復号用Gスイッチ部227に引き渡す。概ね、各帯域の情報のうちフラグの有無に関する情報がフラグ存否判別部225に引き渡され、各帯域の情報のうちフラグ以外に関する情報が復号用Gスイッチ部227に引き渡される。
なお、フラグ、ゲイン、周波数変換係数は、帯域毎にみると、復号部223により生成されていたり生成されていなかったりする。つまり、音声符号化装置111(図1)等の送信側の装置において、雑音帯域についてのみフラグとゲインが生成され符号化され、かつ、非雑音帯域についてのみ周波数変換係数が生成され符号化されているので、受信側の装置である本実施形態に係る音声復号装置211の中で復号部223による復号が行われても、雑音帯域における周波数変換係数や、非雑音帯域におけるフラグ及びゲインは、生成されることはない。
復号部223の役割のひとつは、帯域1の情報のうち、帯域1におけるフラグの有無を、フラグ存否判別部225の中の第1フラグ存否判別器243に通知することである。より正確には、復号部223は、帯域1におけるフラグが生成された場合にはその旨を第1フラグ存否判別器243に通知し、帯域1におけるフラグが生成されなかった場合には第1フラグ存否判別器243に何らの通知も行わない。帯域2については、復号部223は、帯域2におけるフラグが生成された場合にはその旨を第2フラグ存否判別器245に通知し、帯域2におけるフラグが生成されなかった場合には第2フラグ存否判別器245に何らの通知も行わない。帯域3以降についても同様である。
復号部223はまた、帯域1の情報のうち、フラグ以外の情報、すなわち、帯域1が雑音帯域であった場合には帯域1におけるゲイン、帯域1が非雑音帯域であった場合には帯域1における周波数変換係数、を、復号用Gスイッチ部227の中の第1Gスイッチ247に通知する。帯域2については、フラグ以外の情報、すなわち、帯域2が雑音帯域であった場合には帯域2におけるゲイン、帯域2が非雑音帯域であった場合には帯域2における周波数変換係数、を、復号用Gスイッチ部227の中の第2Gスイッチ249に通知する。帯域3以降についても、同様である。
第1フラグ存否判別器243は、復号部223から帯域1のフラグが生成された旨の通知を受けたか否かを判別し、第1Gスイッチ151に対して切替命令を送る。ここで、切替命令とは、帯域1のフラグが生成された旨の通知を受けたと判別された場合には第1Gスイッチ247をg1側に閉じ、帯域1のフラグが生成された旨の通知を受けなかったと判別された場合には第1Gスイッチをh1側に閉じるように、第1Gスイッチ247を制御する命令である。第2フラグ存否判別器245は、復号部223から帯域2のフラグが生成された旨の通知を受けたか否かを判別し、第2Gスイッチ249に対して切替命令を送る。ここで、切替命令とは、帯域2のフラグが生成された旨の通知を受けたと判別された場合には第2Gスイッチ249をg2側に閉じ、帯域2のフラグが生成された旨の通知を受けなかったと判別された場合には第2Gスイッチをh2側に閉じるように、第2Gスイッチ249を制御する命令である。帯域3以降についても同様である。
第1Gスイッチ247がg1側に閉じた場合は、帯域別雑音列生成部229の中の第1雑音列生成器251に、帯域1のゲインが届けられる。なぜならば、第1Gスイッチ247がg1側に閉じたということは、上述の通り、第1フラグ存否判別器243が帯域1におけるフラグの存在を検知したからであり、かかるフラグが存在する以上、復号部223は帯域1において周波数変換係数ではなくゲインを復号したことになり、したがって、復号部223から帯域1の情報として第1Gスイッチ247に通知されるのは周波数変換係数ではなくゲインだったということであり、ゆえに、第1Gスイッチ247がg1側に閉じたことにより復号部223と第1雑音列生成器251との間で接続された信号線を流れる情報は帯域1のゲインということになるからである。
一方、第1Gスイッチ247がh1側に閉じた場合は、集計逆変換部231の中の周波数変換係数集計及び補充器255に、帯域1における周波数変換係数が届けられる。なぜならば、第1Gスイッチ247がh1側に閉じたということは、上述の通り、第1フラグ存否判別器243が帯域1におけるフラグの不在を検知したからであり、かかるフラグが存在しない以上、復号部223は帯域1においてゲインではなく周波数変換係数を復号したことになり、したがって、復号部223から帯域1の情報として第1Gスイッチ247に通知されるのはゲインではなく周波数変換係数だったということであり、ゆえに、第1Gスイッチ247がh1側に閉じたことにより復号部223と周波数変換係数集計及び補充器255との間で接続された信号線を流れる情報は帯域1における周波数変換係数ということになるからである。
同様に、第2Gスイッチ249がg2側に閉じた場合は、帯域別雑音列生成部229の中の第2雑音列生成器253に、帯域2のゲインが届けられる。なぜならば、第2Gスイッチ249がg2側に閉じたということは、上述の通り、第2フラグ存否判別器245が帯域2におけるフラグの存在を検知したからであり、かかるフラグが存在する以上、復号部223は帯域2において周波数変換係数ではなくゲインを復号したことになり、したがって、復号部223から帯域2の情報として第2Gスイッチ249に通知されるのは周波数変換係数ではなくゲインだったということであり、ゆえに、第2Gスイッチ249がg2側に閉じたことにより復号部223と第2雑音列生成器253との間で接続された信号線を流れる情報は帯域2のゲインということになるからである。
一方、第2Gスイッチ249がh2側に閉じた場合は、集計逆変換部231の中の周波数変換係数集計及び補充器255に、帯域2における周波数変換係数が届けられる。なぜならば、第2Gスイッチ249がh2側に閉じたということは、上述の通り、第2フラグ存否判別器245が帯域2におけるフラグの不在を検知したからであり、かかるフラグが存在しない以上、復号部223は帯域2においてゲインではなく周波数変換係数を復号したことになり、したがって、復号部223から帯域2の情報として第1Gスイッチに通知されるのはゲインではなく周波数変換係数だったということであり、ゆえに、第2Gスイッチ249がh2側に閉じたことにより復号部223と周波数変換係数集計及び補充器255との間で接続された信号線を流れる情報は帯域2における周波数変換係数ということになるからである。
帯域3以降についても同様である。
帯域別雑音列生成部229の中の第1雑音列生成器251は、帯域1のゲインを受け取った場合には、内蔵のホワイトノイズ生成器(図示せず。)と、ホワイトノイズから帯域1の信号を取り出す内蔵の帯域フィルタ(図示せず。)と、受け取ったゲインの通りに信号の振幅を調整する内蔵の乗算器(図示せず。)と、により、帯域1の雑音列を生成し、残差信号復元部233に引き渡す一方、帯域1のゲインを受け取らなかった場合には、何も行わない。
帯域別雑音列生成部229の中の第2雑音列生成器253は、帯域2のゲインを受け取った場合には、内蔵のホワイトノイズ生成器(図示せず。)と、ホワイトノイズから帯域2の信号を取り出す内蔵の帯域フィルタ(図示せず。)と、受け取ったゲインの通りに信号の振幅を調整する内蔵の乗算器(図示せず。)と、により、帯域2の雑音列を生成し、残差信号復元部233に引き渡す一方、帯域2のゲインを受け取らなかった場合には、何も行わない。
帯域3以降についても同様である。
フラグ存否判別部225及び復号用Gスイッチ部227が上述のように動作することから、残差信号復元部233には、雑音帯域における残差信号として妥当と考えられる信号が、全ての雑音帯域に渡って、入力されることになる。ここで「妥当」という表現を用いているのは、次の理由による。すなわち、実施形態1に係る音声符号化装置111(図1)等の送信側の装置では雑音帯域における残差信号をゲインという量だけにより特徴づけて、かかるゲインだけを受信側の装置である本実施形態に係る音声復号装置211に伝達した。よって、音声復号装置211は、雑音帯域における残差信号を完全に復元することはできず、ゲインという量だけしか通知されていない状況においては最も適切な残差信号、つまり妥当と考えられる信号、あるいは擬似的な残差信号、を生成したといえるからである。
集計逆変換部231の中の周波数変換係数集計及び補充器255は、帯域1における周波数変換係数を受け取った場合には、それを記憶する一方、帯域1の周波数変換係数を受け取らなかった場合には、帯域1における周波数変換係数を全て0とし、それを記憶する。集計逆変換部231の中の周波数変換係数集計及び補充器255は、帯域2における周波数変換係数を受け取った場合には、それを記憶する一方、帯域2の周波数変換係数を受け取らなかった場合には、帯域2における周波数変換係数を全て0とし、それを記憶する。帯域3以降についても同様である。
周波数変換係数集計及び補充器255は、このように、周波数変換係数を受け取った帯域については、かかる周波数変換係数をそのまま記憶し、周波数変換係数を受け取らなかった帯域については、周波数変換係数として0を補充して記憶することにより、欠落した帯域のない周波数変換係数を生成したことになる。周波数変換係数集計及び補充器255は、かかる周波数変換係数を、同じく集計逆変換部231の中にあるスペクトル逆変換器257に引き渡す。スペクトル逆変換器257は、実施形態1に係る音声符号化装置111(図1)等の送信側の装置の中のスペクトル変換器163において用いられた所定の周波数変換手法と対をなす逆変換手法を用いて、引き渡された周波数変換係数から実時間領域の信号に逆変換する。スペクトル変換器163が受け取る周波数変換係数には、上述の通り、欠落がないため、前記逆変換は円滑に行われる。スペクトル逆変換器257は、かかる実時間領域の信号を残差信号復元部233に引き渡す。
フラグ存否判別部225及び復号用Gスイッチ部227が上述のように動作することから、スペクトル逆変換器257から残差信号復元部233に引き渡された実時間領域の信号は、非雑音帯域における復元残差信号である。
以上から、残差信号復元部233には、帯域別雑音列生成部229からは上述の通り擬似的なものとはいえ雑音帯域における残差信号が引き渡され、集計逆変換部231からは非雑音帯域における復元残差信号が引き渡されるので、結局、全帯域における残差信号が引き渡されることになる。残差信号復元部233は、これら各帯域の残差信号を重ね合わせることにより、復元残差信号D'i={d'i、0、・・・、d'i、l-1}(0≦i≦M-1)を生成する。生成された復元残差信号は、合成用フィルタ部237に引き渡される。
合成用フィルタ算出部235には、復号部223から予測係数が引き渡される。合成用フィルタ算出部235は、引き渡された予測係数に基づいて、任意の既知の手法により、合成用フィルタの仕様を決定し、かかる決定の結果を合成用フィルタ部237に通知する。合成用フィルタ部237は、かかる通知に従って、自らの仕様を定める。
合成用フィルタ部237には、残差信号復元部233からの復元残差信号が、励起信号として入力される。なお、既に述べたように、残差信号と励起信号とは、同じ信号を別の視点からみたものにすぎない。かかる励起信号の入力の結果、合成用フィルタ部237からは復元されたデジタル音声信号が生成される。該信号はD/A変換部239によりアナログ音声信号に変換された後、スピーカ241に送られる。こうして、スピーカ241からは、復元された音声信号が、人間の耳に聞こえる態様にて発せられる。
(実施形態5)
図5は、本実施形態に係る音声復号装置213の機能構成図である。
本実施形態は、実施形態4の変形例である。すなわち、実施形態4においては、雑音帯域毎に実時間信号を生成していたのに対して、本実施形態においては、雑音帯域のゲインに合わせて周波数変換係数を生成してから、非雑音帯域の周波数変換係数とともに一括して実時間領域への逆変換を行う。
本実施形態に係る音声復号装置213は、実施形態4に係る音声復号装置211(図4)と比較すると、帯域別雑音列生成部229(図4)を帯域別定数周波数変換係数生成部259に置換し、復号用Gスイッチ部227の下流の信号線の構成を一部変更し、集計逆変換部231(図4)を一括集計逆変換部261に置換し、残差信号復元部233が省略された構成となっている。
帯域別定数周波数変換係数生成部259の中の第1定数周波数変換係数生成器263は、帯域1のゲインを受け取った場合には、まず帯域1における周波数変換係数として周波数変換係数の単位量が並んだものを生成し、次いで、該ゲインを乗じて、帯域1における周波数変換係数を生成して、一括集計逆変換部261の中の周波数変換係数集計器267に引き渡す一方、帯域1のゲインを受け取らなかった場合には、何らの動作も行わない。
帯域別定数周波数変換係数生成部259の中の第2定数周波数変換係数生成器265は、帯域2のゲインを受け取った場合には、まず帯域2における周波数変換係数として周波数変換係数の単位量が並んだものを生成し、次いで、該ゲインを乗じて、帯域2における周波数変換係数を生成して、一括集計逆変換部261の中の周波数変換係数集計器267に引き渡す一方、帯域2のゲインを受け取らなかった場合には、何らの動作も行わない。
帯域3以降についても同様である。
復号用Gスイッチ部227と一括集計逆変換部261とを結ぶ信号線に、図5においてg’1やg’2で示される接続部が設けられているために、上述の周波数変換係数の引き渡しが可能となる。なお、第1Gスイッチ247においてスイッチはg1とh1の何れか一方側のみに閉じ、第2Gスイッチ249においてスイッチはg2とh2の何れか一方側にのみ閉じるから、接続部g’1やg’2には、復号用Gスイッチ部227からの信号又は帯域別定数周波数変換係数生成部259からの信号の何れか一方だけが流入するのであり、かかる2種類の信号が混じり合うことはない。
一括集計逆変換部261の中の周波数変換係数集計器267は、実施形態4に係る音声復号装置211(図4)における集計逆変換部231の中の周波数変換係数集計及び補充器255とよく似た機能を有する。実施形態4における周波数変換係数集計及び補充器255(図4)は、欠落した帯域を補うために、数値0から構成される周波数変換係数を生成する必要があった。
しかし、本実施形態の場合、フラグ存否判別部225、復号用Gスイッチ部227、及び、帯域別定数周波数変換係数生成部259、の動作から明らかなように、周波数変換係数集計器267は受け取った変換係数を単に記憶するだけの動作により、欠落した帯域のない周波数変換係数を生成してスペクトル逆変換器257による逆変換に供することができる。
フラグ存否判別部225、復号用Gスイッチ部227、及び、帯域別定数周波数変換係数生成部259、の動作から明らかなように、一括集計逆変換部261の中のスペクトル逆変換器257が生成した残差信号は、雑音帯域と非雑音帯域の両成分を既に含んでいる。
よって、かかる残差信号は、そのまま復元残差信号、又は、励起用の信号として、合成用フィルタ部237に引き渡してよい。本実施形態の場合は、実施形態4において雑音帯域の成分と非雑音帯域の成分とを重ね合わせて復元残差信号を生成するために用いられた残差信号復元部233(図4)は不要である。
このように、本実施形態は原理的には実施形態4と同様の動作を行う。ただし、実施形態4においては帯域別雑音列生成部229(図4)の中にホワイトノイズ発生源や帯域フィルタ(いずれも図示せず。)が必要であるのに対して、本実施形態においてはかかる部材が不要であるので、より簡易である。
(実施形態6)
図6は、本実施形態に係る音声符号化兼復号装置311を示したものである。ここまで機能構成図である図1乃至図5を参照して説明してきた実施形態1乃至実施形態5に係る音声符号化装置111、音声符号化装置113、音声符号化装置115、音声復号装置211、音声復号装置213、は、物理的には、使い勝手の観点から両種の装置の機能を統合した、本実施形態に係る音声符号化兼復号装置311により実現される。以下では、音声符号化兼復号装置311として携帯電話機を想定して説明する。
音声符号化兼復号装置311は、図1乃至図3で既に示してあるマイクロフォン121と、図4及び図5で既に示してあるスピーカ241と、を備える。該装置は、アンテナ335と、操作キー337と、をさらに備える。該装置は、システムバス333により相互に接続された、CPU321と、ROM(Read Only Memory)323と、記憶部325と、音声処理部329と、無線通信部327と、操作キー入力処理部331と、をさらに備える。記憶部325は、例えば、RAM(Random Access Memory)339と、ハードディスク341と、を備える。音声符号化兼復号装置311は、図6に示したものの他にも、例えば、実施形態2に示したBand Elimination Filter169を、別途、専用ハードウェアとして備える等してもよい。
ROM323には、音声符号化及び復号のための動作プログラムが格納されている。CPU321は、該動作プログラムに従って動作する。そして、CPU321は、内蔵のレジスタ(図示せず。)と記憶部325との間で適宜データのやりとりを行いながら、数値演算により、音声符号化兼復号装置311に、図1乃至図5に示す音声符号化装置111、音声符号化装置113、音声符号化装置115、音声復号装置211、音声復号装置213、としての機能を発揮させる。CPU321は、その際、必要に応じて音声処理部329、無線通信部327、操作キー入力処理部331とデータのやりとりを行う。
図6の音声処理部329は、図1乃至図3のA/D変換部123、及び、図4及び図5のD/A変換部239として動作することができる。無線通信部327は、図1乃至図3の送信部139、及び、図4及び図5の受信部221として動作することができる。符号の送受信は、基本的には、図6のアンテナ335を用いた無線通信により行われるが、別の方法、例えば有線通信により行われてもよい。操作キー入力処理部331は、操作キー337からの操作信号を受け付けて、操作信号に対応するキーコード信号をCPU321に伝達する。操作キー337は、通信の相手方となる音声符号化兼復号装置311を特定する、すなわちいわゆる電話番号を入力するのに使われる他、基本的には設定済みの各種事項をユーザの好みに応じて変化させるために用いられてもよい。
(予測分析の手順)
以下では、図1乃至図3の予測分析部125が行う予測分析について、図7に示すフローチャートを参照しつつ説明する。予測分析としては、例えば、線型予測分析やMLSA(Mel Log Spectrum Approximation)分析が知られている。図7では、後者を括弧書きにして、両分析が併記されている。
記憶部325(図6)には、既に、デジタル音声信号(入力波形)Si={si、0、・・・、si、l−1}(0≦i≦M-1)が格納されているとする。CPU321(図6)は、内蔵のカウンタレジスタ(図示せず)を入力信号サンプルカウンタiの格納に用いることとし、初期値として、i=0とする(図7のステップS411)。
CPU321は、内蔵の汎用レジスタ(図示せず)に、記憶部325から、入力信号サンプルSi={si、0、・・・、si、l-1}をロードする(図7のステップS413)。
CPU321は、線型予測分析の場合は、入力信号サンプルSiから、線型予測係数Ai={ai、1、・・・、ai、n}を計算する(ステップS415)。ただし、nは線型予測分析の次数である。計算方法としては、残差信号が所定の尺度に基づき十分に小さいと評価されることになるような計算方法であれば、任意の既知の手法を採用してよい。例えば、よく知られている、自己相関関数の計算とレビンソン・ダービンアルゴリズムを組み合わせた計算方法を採用するのが好適である。
CPU321は、MLSA分析の場合は、入力信号サンプルSiから、まず、ケプストラムCi={ci、0、・・・、ci、(l/2)-1}を計算する。かかる計算には、任意の既知の手法を採用してよい。どの手法においても、概ね、離散フーリエ変換をする、絶対値をとる、対数をとる、逆離散フーリエ変換をする、といった手続が行われる。次に、求めたケプストラムCiから、任意の既知の手法により、MLSAフィルタ係数Mi={mi、0、・・・、mi、p-1}を計算する(ステップS415)。
線型予測分析の場合は線型予測係数Ai={ai、1、・・・、ai、n}が、MLSA分析の場合はMLSAフィルタ係数Mi={mi、0、・・・、mi、p-1}が、記憶部325に予測係数として記憶される(ステップS417)。
続いて、線型予測分析の場合、線型予測係数Aiから、任意の既知の手法により、予測分析用逆線型予測フィルタAIAiが計算され、MLSA分析の場合、MLSAフィルタ係数Miから、任意の既知の手法により、予測分析用逆MLSAフィルタAIMiが計算される(ステップS419)。これらの計算は、図1及び図2の予測分析用逆フィルタ算出器141が行う計算に相当する。
求めた予測分析用逆線型予測フィルタAIAi又は予測分析用逆MLSAフィルタAIMiに入力信号サンプルSi={si、0、・・・、si、l-1}が通されることにより、残差信号Di={di、0、・・・、di、l-1}が求まる(図7のステップS421)。残差信号Diは記憶部325に記憶される(ステップS423)。
ここで、入力信号サンプルカウンタiがM-1に達しているか否かが判別される(ステップS425)。達していれば(ステップS425;Yes)、終了する。一方、達していなければ(ステップS425;No)、次の時間区間の入力信号サンプルについての処理を行うために、iを1だけインクリメントし(ステップS427)、ステップS413以降の処理を繰り返す。
(残差信号からフラグ等を生成する手順)
以下では、実施形態1乃至実施形態3に係る音声符号化装置111、音声符号化装置113、音声符号化装置115、が行う、残差信号からフラグ、ゲイン、及び、周波数変換係数、を生成する手順を説明する。
なお、前提として、A/D変換部123(図1乃至図3)によりデジタル音声信号(入力信号)Si={si、0、・・・、si、l-1}(0≦i≦M-1)が既に求められて記憶部325(図6)に格納されているものとし、かつ、該信号を受け取った予測分析部125(図1乃至3)により既に予測係数及び残差信号Di={di、0、・・・、di、l-1}}(0≦i≦M-1)も求められていて、これらの係数及び残差信号も記憶部325に格納されているものとする。
まず、実施形態1に係る音声符号化装置111(図1)が行う処理の手順を、図8及び図9に示すフローチャートを参照しつつ説明する。
CPU321(図6)は、内蔵のカウンタレジスタ(図示せず。)において、入力信号サンプルカウンタiを、i=0に設定する(図8のステップS431)。
CPU321は、内蔵の汎用レジスタ(図示せず。)に、記憶部325(図6)から、残差信号Di={di、0、・・・、di、l-1}をロードする(図8のステップS433)。
CPU321は、カウンタレジスタにおいて、帯域識別変数ωを、ω=1に設定する(ステップS435)。
CPU321は、帯域フィルタ部127(図1)として機能することにより、帯域ωの残差信号Di、ω={di、ω、0、・・・、di、ω、l-1}を生成する(図8のステップS437)。
CPU321は、雑音判別部129(図1)として機能することにより、Di、ωが雑音であるか否かを判別する(ステップS439)。Di、ωが雑音であると判別された場合には(ステップS439;Yes)、CPU321はフラグ及びゲイン生成部133(図1)として機能することにより、帯域ωにおけるフラグFlagi、ωの生成、及び、帯域ωにおけるゲインGi、ωの算出、を行う(図8のステップS441)。
かかるFlagi、ω及びゲインGi、ωが記憶部に格納されてから(ステップS443)、ステップS447に進む。Di、ωが雑音ではないと判別された場合には(ステップS439;No)、CPU321は集計変換部135(図1)として機能することにより、Di、ωを記憶部325に格納してから(図8のステップS445)、ステップS447に進む。
なお、ステップS439において行われる、Di、ωが雑音であるか否かを判別する手法としては、様々なものが考えられるが、その好適な一例は、次のようなものである。すなわち、残差信号Di、ωについて、規格化された自己相関関数
CREG(t)=C(t)/REG(t)
(ただし、
C(t)=di、ω、0×di、ω、t+・・・
+di、ω、l-1-t×di、ω、l-1
であり、
REG(t)={(di、ω、0 2+・・・+di、ω、l-1-t 2)
×(di、ω、t 2+・・・+di、ω、l-1 2)}0.5
である。)
を計算し、CREG(t)が例えば0.5よりも大きい極大値を有する場合は雑音ではないと判別し、CREG(t)が0.5よりも大きい極大値を有しない場合は雑音である、と判別する方法である。
また、ステップS441において行われる、ゲインGi、ωの算出にあたっても、様々なものが考えられるが、その好適な一例は、次のようなものである。すなわち、
Gi、ω=10×log10{Avg(di、ω 2)}、
Avg(di、ω 2)
=(di、ω、0 2+・・・+di、ω、l-1 2)/l
である。対数をとるのは、音の大きさと、人間の聴覚の感度との関係を考慮したからである。
ステップS447では、ωが、最終帯域を示す所定の自然数ωfinに達したか否かが判別される。達していない場合(ステップS447;No)には、ωを1増加してから(ステップS449)、ステップS437に戻り、達している場合(ステップS447;Yes)には、ステップS451に進む。なお、帯域は、基本的には低周波数側から番号付けされているものとする。つまり、ω=1は最低周波数帯域を、ω=ωfinは最高周波数帯域を、それぞれ意味する。
ステップS451では、iがM-1に達したか否かが判別される。達していない場合(ステップS451;No)には、iを1増加してから(ステップS453)、ステップS433に戻る。達している場合(ステップS451;Yes)、図9のステップS461に進む。この時点で、雑音帯域についてのみフラグ及びゲインが生成されて記憶部325に格納されている。そして、残差信号の各帯域の成分のうち非雑音帯域のものだけが記憶部325に格納されている。
ステップS461では、CPU321は、入力信号サンプルカウンタiをi=0に設定する。
CPU321は、非雑音残差信号Di、v={di、v、0、・・・、di、v、l-1}を汎用レジスタに置き、di、v、0、・・・、di、v、l-1を全て0に初期化設定する(ステップS463)。また、帯域識別変数ωを、ω=1に設定する(ステップS465)。
CPU321は、記憶部325の内部を検索して、Di、ωが格納されているか否かを調査する(ステップS467)。かかる調査の結果(ステップS469)、Di、ωが格納されていると判別された場合(ステップS469;Yes)、帯域ωは非雑音帯域であり、非雑音残差信号を求めるための重ね合わせ処理が必要になる。この処理は、図1の非雑音残差信号集計器161の機能に対応する。よって、Di、ωはレジスタにロードされ(ステップS471)、これまでレジスタに格納されていたDi、vに重ね合わされる。Di、vがかかる重ね合わせの結果得られた数列に更新されてから(ステップS473)、ステップS475に進む。
一方、ステップS469において、Di、ωが格納されてないと判別された場合(ステップS469;No)、帯域ωは雑音帯域であるから、非雑音残差信号を求めるための重ね合わせは行われずに、ステップS475に進む。
ステップS475において、ωがωfinに達したか否かが判別される。達していないと判別された場合(ステップS475;No)は、ωを1増加してから(ステップS477)、ステップS467に戻り、非雑音帯域の探索と、非雑音帯域が見つかった場合の上述の重ね合わせ処理と、が繰り返される。ωがωfinに達したと判別された場合(ステップS475;Yes)、ステップS479に進む。
ステップS479において、CPU321は、スペクトル変換器163(図1)として機能することにより、Di、vを所定の手法により周波数変換してスペクトルF[Di、v]を求める。F[Di、v]は、周波数変換係数から構成される。
なお、以下の説明、及び、図8以降の図面においては、用語が煩雑になることを避けるために、スペクトルとしての一組の周波数変換係数群、又は、スペクトルの一部をなす周波数変換係数群、を指して、単に、周波数変換係数、と呼ぶ場合がある。また、スペクトルの全体又は一部を構成する個々の周波数係数を指して、成分、と呼ぶ場合がある。
CPU321は、帯域識別変数ωをω=1に設定し(図9のステップS481)、記憶部325の内部を検索してDi、ωが格納されているか否かを調査し(ステップS483)、格納の有無を判別する(ステップS485)。この手順(ステップS481〜ステップS485)は、雑音帯域と非雑音帯域に場合分けした処理に関係する手順であるという点では、既出の手順であるステップS465〜ステップS469と全く同様の手順である。
なお、かかる場合分けにあたっては、CPU321は、記憶部325の内部の検索に際し、上述のようにDi、ωが見つかるか否かを調査する代わりに、フラグFlagi、ωが見つからないか見つかるかを調査してもよい。既出のステップS437〜ステップS449から明らかなように、Di、ωとFlagi、ωは択一的に記憶部に格納されるからである。
Di、ωが格納されていると判別された場合には(ステップS485;Yes)、ωは非雑音帯域であるということであるから、CPU321は、非雑音帯域切り出し器162として機能することにより、F[Di、v]から帯域ωにおける周波数変換係数F[Di、v](ω)={fD、i、v、ω、1、・・・、fD、i、v、ω、p(ω)}を切り出し(ステップS487)、記憶部325に格納する(ステップS489)。ここで、p(ω)は、帯域ωにおける周波数変換係数の個数である。その後、ステップS491に進む。
一方、Di、ωが格納されていないと判別された場合には(ステップS485;No)、ωは雑音帯域であるということであるから、周波数変換係数の切り出しは行われずに、ステップS491に進む。
ステップS491では、ωがωfinに達したか否かが判別される。達していないと判別された場合(ステップS491;No)、ωを1増加してから(ステップS493)、ステップS483に戻り、達していると判別された場合(ステップS491;Yes)、i番目の時間区間における帯域毎の処理が終了したということであるから、ステップS495に進む。
ステップS495では、iがM-1に達したか否かが判別される。達していないと判別された場合(ステップS495;No)、iを1増加してから(ステップS497)、ステップS463に戻り、達していると判別された場合(ステップS495;Yes)、全ての時間区間における処理が終了したと言うことであるから、残差信号からフラグ等を求める処理全体が終了する。
次に、実施形態2に係る音声符号化装置113(図2)が行う処理の手順を、図10に示すフローチャートを参照しつつ説明する。
CPU321は、入力信号サンプルカウンタiを、i=0に設定する(図10のステップS511)。
CPU321は、レジスタに、記憶部325から、入力信号サンプルDi={di、0、・・・、di、l-1}をロードするとともに、帯域識別変数ωをω=1に設定し(ステップS513)、帯域ωの残差信号Di、ω={di、ω、0、・・・、di、ω、l-1}を生成する(ステップS515)。
CPU321は、Di、ωが雑音であるか否かを判別する(ステップS517)。Di、ωが雑音であると判別された場合には(ステップS517;Yes)、帯域ωにおけるフラグFlagi、ωの生成及びゲインGi、ωの算出と、それらの記憶部325への格納と、が行われてから(ステップS519)、ステップS523に進む。
一方、Di、ωが雑音ではないと判別された場合には(ステップS517;No)、Band Elimination Filter169(図2)の設定が、帯域ωを削除対象としない設定にされてから(ステップS521)、ステップS523に進む。
ここで、Band Elimination Filter169のかかる設定は、後述のステップS525等で示されるωについてのループ処理について、各ループ毎に累積的に行われる。例えば、ステップS517の雑音判別処理において、全帯域のうち、帯域2、帯域5、帯域6が雑音ではないと判別された場合には、Band Elimination Filter169の設定は、最終的には、帯域2と、帯域5と、帯域6と、の計3個の帯域を除く帯域を削除する設定となる。
ステップS523では、ωがωfinに達したか否かが判別され、達していないと判別された場合(ステップS523;No)、ωを1増加してから(ステップS525)、ステップS515に戻り、達していると判別された場合(ステップS523;Yes)、ステップS527に進む。
ステップS527では、iがM-1に達したか否かが判別され、達していないと判別された場合(ステップS527;No)、iを1増加してから(ステップS529)、ステップS513に戻り、達していると判別された場合(ステップS527;Yes)、ステップS531に進む。
この時点で、CPU321は、フラグ及びゲイン生成部133として機能することをほぼ完了し、また、非雑音帯域決定器167(図2)として機能することによりBand Elimination Filter169に削除帯域指定命令を送る動作を完了したことになる。
ステップS531では、入力信号サンプルカウンタiがi=0に設定される。それから、CPU321は、残差信号Diをロードし、ステップS521における累積的設定が済んでいるBand Elimination Filter169に通すことにより、非雑音残差信号Di、v={di、v、0、・・・、di、v、l-1}を生成する。
なお、Band Elimination Filter169は、ROM323(図6)に格納されたCPUの動作プログラムに含まれる関数等であってもよいし、別途ハードウェアとして備えられたものであってもよい。
CPU321はさらに、生成した非雑音残差信号Di、vを周波数変換してスペクトルF[Di、v]を求める(ステップS533)。
ステップS535では、帯域識別変数ωが、ω=1に設定される。
ステップS537及びステップS539では帯域ωが雑音帯域であるか非雑音帯域であるかが判別される。本ステップは、図2においては、非雑音帯域決定器167が非雑音帯域切り出し器162に非雑音帯域に関する情報を送ることに相当する。なお、図8及び図9に示したフローチャートにおいては、雑音帯域であるか非雑音帯域であるかの判別に際して、帯域別残差信号Di、ωの検索が行われている。そして、かかる判別はフラグFlagi、ωの検索により行ってもよいことは、前述したとおりである。
それに対して、図10で示される手順においては、該図に対応する実施形態2を示す図2からも明らかなとおり、帯域別残差信号Di、ωを記憶部325に格納する過程(図8のステップS445)がない。実施形態2においては、Di、ωを重ね合わせる処理が不要だからである。したがって、図10のステップS537及びステップS539における判別の方法としては、フラグFlagi、ωの検索による方法しか採り得ない。この事情は、後述の、実施形態3に対応したフローチャートである図11及び図12においても同様である。
結局、ステップS539では、記憶部325にフラグFlagi、ωが格納されているか否かが判別される。Flagi、ωが格納されていないと判別された場合(ステップS539;No)、帯域ωは非雑音帯域であるということであるから、ステップS533で求められたスペクトルF[Di、v]から帯域ωにおける周波数変換係数F[Di、v](ω)={fD、i、v、ω、1、・・・、fD、i、v、ω、p(ω)}が切り出され、記憶部325に格納されてから(ステップS541)、ステップS543に進む。
一方、Flagi、ωが格納されていると判別された場合(ステップS539;Yes)、帯域ωは雑音帯域であるということであるから、そのままステップS543に進む。
ステップS543では、ωがωfinに達したか否かが判別される。達していないと判別された場合(ステップS543;No)、ωを1増加してから(ステップS545)、ステップS537に戻り、達していると判別された場合(ステップS543;Yes)、i番目の時間区間における帯域毎の処理が終了したということであるから、ステップS547に進む。
ステップS547では、iがM-1に達したか否かが判別される。達していないと判別された場合(ステップS547;No)、iを1増加してから(ステップS549)、ステップS533に戻り、達していると判別された場合(ステップS547;Yes)、全ての時間区間における処理が終了したと言うことであるから、残差信号からフラグ等を求める処理全体が終了する。
次に、実施形態3に係る音声符号化装置115(図3)が行う処理の手順を、図11及び図12に示すフローチャートを参照しつつ説明する。
はじめに、入力信号サンプルカウンタiが、i=0に設定される(図11のステップS540)。
入力信号サンプルDi={di、0、・・・、di、l-1}がロードされ(ステップS542)、そのスペクトルF[Di]が求められ(ステップS544)、ステップS547に進む。図3におけるスペクトル変換器163の位置から明らかなとおり、実施形態3においては、先の2つの実施形態の場合に比べて、早い段階で周波数変換が行われることが特徴である。各種の前置処理を経ないうちに周波数変換が行われるために、かかる前置処理に起因する誤差の影響がなく、周波数変換係数が精度よく求まることは、既に述べたとおりである。
ステップS546では、帯域識別変数ωがω=1に設定される。
ステップS548では、帯域ωにおける周波数変換係数F[Di](ω)={fD、i、ω、1、・・・、fD、i、ω、p(ω)}が、F[Di]から切り出されることにより生成される。なお、この時点では、帯域ωが雑音帯域であるか非雑音帯域であるかがまだ判別されていないので、周波数変換係数F[Di](ω)は全ての帯域ωについて生成される。生成されたF[Di](ω)は、記憶部325に格納される(ステップS550)。
ステップS552では、ωがωfinに達したか否かが判別される。達していないと判別された場合(ステップS552;No)、ωを1増加してから(ステップS555)、ステップS548に戻り、達していると判別された場合(ステップS552;Yes)、ステップS557に進む。
ステップS557では、iがM-1に達したか否かが判別される。達していないと判別された場合(ステップS557;No)、iを1増加してから(ステップS559)、ステップS542に戻り、達していると判別された場合(ステップS557;Yes)、ステップS561に進む。
ステップS561では、入力信号サンプルカウンタiが、i=0に設定される。ステップS563では、残差信号Diがレジスタにロードされ、ステップ565では、帯域識別変数ωが、ω=1に設定され、ステップS567では、入力信号サンプルDiから、帯域フィルタ部127(図3)の中の第ω帯域フィルタにより、帯域ωの残差信号Di、ω={di、ω、0、・・・、di、ω、l-1}が生成される。
ここで、残差信号Di、ωが雑音か否かが判別される(ステップS569)。Di、ωが雑音であると判別された場合(ステップS569;Yes)、フラグFlagi、ωの生成及びゲインGi、ωの算出が行われ(ステップS571)、Flagi、ω及びGi、ωの記憶部325への格納が行われてから(ステップS573)、ステップS575に進む。Di、ωが雑音ではないと判別された場合は(ステップS569;No)、すぐにステップS575に進む。
ステップS575では、ωがωfinに達したか否かが判別される。達していないと判別された場合(ステップS575;No)、ωを1増加してから(ステップS577)、ステップS567に戻り、達していると判別された場合(ステップS575;Yes)、ステップS579に進む。
ステップS579では、iがM-1に達したか否かが判別される。達していないと判別された場合(ステップS579;No)、iを1増加してから(ステップS581)、ステップS563に戻り、達していると判別された場合(ステップS579;Yes)、図12のステップS591に進む。
ステップS591では、入力信号サンプルカウンタiが、i=0に設定される。そして、ステップS593では、帯域識別変数ωがω=1に設定される。
記憶部325の内部が検索され、フラグFlagi、ωが格納されているか否かが調査された(ステップS595)後、Flagi、ωが格納されているか否かの判別ステップ(ステップS597)に進む。
Flagi、ωが格納されていないと判別された場合(ステップS597;No)、帯域ωにおける周波数変換係数F[Di](ω)={fD、i、ω、1、・・・、fD、i、ω、p(ω)}がレジスタにロードされる(ステップS599)。そして、レジスタにはF[Di](ω)とは別に、帯域ωにおける周波数変換係数F[Di、v](ω)={fD、i、v、ω、1、・・・、fD、i、v、ω、p(ω)}が用意され、F[Di、v](ω)=F[Di](ω)によりF[Di、v](ω)が決定される(ステップS601)。
ここで、上述のようにF[Di](ω)は全ての帯域について生成されるものであるのに対し、ステップS601で定義されるF[Di、v](ω)は、ステップS597における場合分けのため、非雑音帯域についてのみ生成されるものであることに留意する。F[Di、v](ω)が記憶部325に格納された(ステップS603)後、ステップS605に進む。
一方、Flagi、ωが格納されていると判別された場合は(ステップS597;Yes)、そのままステップS605に進む。
ステップS605では、ωがωfinに達したか否かが判別される。達していないと判別された場合(ステップS605;No)、ωを1増加してから(ステップS607)、ステップS595に戻り、達していると判別された場合(ステップS605;Yes)、ステップS609に進む。
ステップS609では、iがM-1に達したか否かが判別される。達していないと判別された場合(ステップS609;No)、iを1増加してから(ステップS611)、ステップS593に戻り、達していると判別された場合(ステップS609;Yes)、処理を終了する。
(フラグ等から残差信号を復元する手順)
以下では、実施形態4に係る音声復号装置211及び実施形態5に係る音声復号装置213が行う、残差信号からフラグ、ゲイン、及び、周波数変換係数、を求める手順を説明する。
なお、前提として、復号部223(図4乃び図5)により、予測係数、フラグFlagi、ω(0≦i≦M-1、1≦ω≦ωfin、ただしωは雑音帯域であるとする。)、ゲインGi、ω(0≦i≦M-1、1≦ω≦ωfin、ただしωは雑音帯域であるとする。)、非雑音帯域における周波数変換係数F[Di、v](ω)={fD、i、v、ω、1、・・・、fD、i、v、ω、p(ω)} (0≦i≦M-1、1≦ω≦ωfin、ただしωは非雑音帯域であるとする。)、は、既に復号されて記憶部325に格納されているものとする。
まず、実施形態4に係る音声復号装置211(図4)が行う処理の手順を、図13及び図14に示すフローチャートを参照しつつ説明する。
はじめに、ステップS621(図13)において、入力信号サンプルカウンタiが、i=0に設定される。
CPU321は、レジスタに、復元雑音残差信号D'i、uvと、非雑音残差信号スペクトルF[Di、v]と、を用意し、D'i、uvの成分と、F[Di、v]の成分と、を全て0に初期化設定する(ステップS623)。
なお、F[Di、v]の全ての成分の初期値は、上述の通り、一般には0に設定するのが適切である。かかる数値0は、非雑音帯域における残差信号は別途ゲインを元に復元されるために、オフセットが不要であるとの観点から決定されたものであって、絶対的な規則ではない。
例えば、実施形態1乃至5については、ゲインに関係した処理を省略する、つまり雑音帯域についての情報としては音声符号化装置と音声復号装置の間(換言すれば送受信器間)でフラグのみを伝達することとした変形例も考え得るが、かかる場合には、人間の聴覚特性を考慮した上で、F[Di、v]の成分の初期値を、0以外の所定の定数にしてもよいし、さらに、かかる所定の定数が成分毎に異なっていてもよい。このようにすれば、後述のように、非雑音帯域についてのみ成分の置換が行われるので、最終的に生成されるF[Di、v]においては、雑音帯域における成分が前記所定の定数のまま残る。つまり、前記所定の定数とは、送受信器間でゲインの授受がなされない場合に、あらかじめ定めておくゲインである。
帯域識別変数ωがω=1に設定された(ステップS625)後、記憶部325の内部が検索されて、フラグFlagi、ωが格納されているか否かが調査され(ステップS627)、判別ステップ(ステップS629)に進む。
Flagi、ωが格納されていると判別された場合(ステップS629;Yes)、帯域ωは雑音帯域であるということであるから、記憶部325にはゲインGi、ωが格納されているはずである。そこで、Gi、ωがレジスタにロードされる(ステップS631)。これは、図4においては、復号部223から復号用Gスイッチ部227に帯域ωの情報として引き渡されるものが、周波数変換係数ではなくゲインであることに相当する。
CPU321は、帯域別雑音列生成部229(図4)として機能することにより、ロードされたGi、ωを手がかりにして、帯域ωにおける雑音列D'i、uv、ωを生成する(図13のステップS633)。具体的な生成方法は、後に図14を参照して説明する。
CPU321は、生成されたD'i、uv、ωを、レジスタ内に格納されているD'i、uvに重ね合わせて、新たなD'i、uvを生成する。つまり、D'i、uvを更新する(図13のステップS635)。これは、図4においては、帯域別雑音列生成部229(図4)により生成された雑音列が残差信号復元部233において重ね合わせられ、雑音帯域における残差信号が復元されていく過程に相当する。D'i、uvが上述のように更新されたら、ステップS641に進む。
一方、ステップS629において、Flagi、ωが格納されていないと判別された場合(ステップS629;No)、帯域ωは非雑音帯域であるということであるから、記憶部325には帯域ωにおける周波数変換係数F[Di、v](ω)が格納されているはずである。そこで、F[Di、v](ω)がレジスタにロードされる(ステップS637)。これは、図4においては、復号部223から復号用Gスイッチ部227に帯域ωの情報として引き渡されるものが、ゲインではなく周波数変換係数であることに相当する。
CPU321は、レジスタ内に格納されている非雑音残差信号スペクトルF[Di、v]の成分のうち、帯域ωにおける成分群を、ステップS637でロードしたF[Di、v](ω)に置換することにより、F[Di、v]を更新する(ステップS639)。
既出のステップS623において、F[Di、v]の成分の初期値は全て0に設定されているから、後述のステップS643等によるωに関するループ処理により、F[Di、v]の一部分が、ループの度にF[Di、v](ω)に置換され、F[Di、v]は最終的には非雑音残差信号スペクトルとして適切なものとなる。
ここで、かかる置換が生じるのは非雑音帯域の成分についてのみであり、雑音帯域の成分は初期値である0のままであることに留意する。
ステップS637及びステップS639で行われる処理は、図4においては、周波数変換係数集計及び補充器255が復号用Gスイッチ部227から非雑音帯域における周波数変換係数を受け取って集計し、雑音帯域における周波数変換係数としては0を補充しつつ、全帯域における周波数変換係数を求めていく過程に相当する。F[Di、v]が上述のように更新されたら、ステップS641に進む。
なお、このように、ステップS627におけるFlagi、ωの検索の後にF[Di、v]が徐々に完成されていく手順を採っている理由は、実施形態1乃至5の音声符号化装置と音声復号装置との間では、非雑音帯域における周波数変換係数の授受は行わないことを前提としているためである。
かかる授受が行われないことは、CPU321に検索のための負荷がかかるという問題を生じさせ得るが、送信器としての音声符号化装置から受信器としての音声復号装置への情報伝達量が少なくて済むという点で、本発明の目的に沿ったものである。しかも、一般的なCPUにとって、フラグという簡潔な情報の有無を検索する程度の負荷は、実際にはほとんど問題とはならない。
もっとも、実施形態1乃至5の変形例として、一部の非雑音帯域についての情報については、フラグの代わりに、該帯域の周波数変換係数を0とした態様で伝達してもよい。このようにすれば、送受信器間での情報伝達量は増加するが、上述のCPUの検索負担の軽減と、ステップS637及びステップS639で行われる置換処理の一部省略が可能となり、音声復号装置における処理の高速化に資する。また、送受信器間での情報伝達量が増加するといっても、小さな数値である数値0が伝達されるだけであるから、与えられた情報伝達量に余裕がある場合には、このような変形例の方が効率が良いこともあり得る。
ステップS641では、ωがωfinに達したか否かが判別され、達していない場合(ステップS641;No)、ωを1増加してから(ステップS643)、ステップS627に戻り、達している場合(ステップS641;Yes)、ステップS645に進む。
ステップS645では、CPU321は図4におけるスペクトル逆変換器257として機能することにより、非雑音残差信号スペクトルF[Di、v]から非雑音残差信号Di、vを求める。そして、CPU321は、D'i、uvとD i、vを重ね合わせることにより、復元残差信号D'iを求め(ステップS647)、D'iを記憶部に格納する(ステップS649)。
ステップS651では、iがM-1に達したか否かが判別される。達していないと判別された場合(ステップS651;No)、iを1増加してから(ステップS653)、ステップS623に戻り、達したと判別された場合(ステップS651;Yes)、処理を終了する。
以下では、上述のステップS633における帯域別雑音列D'i、uv、ωの生成の具体的な手順について、図14に示すフローチャートを参照しつつ説明する。
はじめに、大きさが±1で、時間間隔が乱数であるような基本雑音列Ri={Ri、0、・・・、Ri、l-1}を生成する(ステップS655)。
ここでは、元の残差信号のサンプリング間隔と同じサンプリング間隔であるとしてRiを生成する。よって、実際には、その各要素Ri、0、・・・、Ri、l-1の値はそれぞれ0か+1か-1のいずれかである。しかも、これら時間順に並んだ要素の列においては、ランダムな個数間隔で+1か-1が出現し、他の要素の値は0ということになる。
得られた基本雑音列Riを、帯域ωの成分を取り出す帯域フィルタに通すことにより、帯域ωの基本雑音列Ri、ω={Ri、ω、0、・・・、Ri、ω、l-1}を生成する(ステップS657)。
生成した帯域ωの基本雑音列Ri、ωに、図13のステップS631でロードされたゲインGi、ωを乗じることにより、雑音列D’ i、uv、ω={d’ i、uv、ω、0、・・・、d’ i、uv、ω、l-1}が生成され(ステップS659)、処理は終了する。
次に、実施形態5に係る音声復号装置213(図5)が行う処理の手順を、図15に示すフローチャートを参照しつつ説明する。
はじめに、ステップS661において、入力信号サンプルカウンタiが、i=0に設定される。
CPU321のレジスタにおいて復元残差信号スペクトルF[D'i]が用意され、その成分が全て0に初期化設定される(ステップS663)。
帯域識別変数ωがω=1に設定された(ステップS665)後、記憶部325の内部が検索されて、フラグFlagi、ωが格納されているか否かが調査され(ステップS667)、判別ステップ(ステップS669)に進む。
Flagi、ωが格納されていると判別された場合(ステップS669;Yes)、ゲインGi、ωがレジスタにロードされる(ステップS671)。
CPU321は、復元残差信号スペクトルF[D'i]の成分について、帯域ωに含まれる成分を全て、Gi、ω×単位成分、に置換することにより、F[D'i]を更新する(ステップS673)。これは、図5においては、帯域別定数周波数変換係数生成部259から、雑音帯域における周波数変換係数が、周波数変換係数集計器267に引き渡されることに相当する。この後、ステップS679に進む。
一方、Flagi、ωが格納されていないと判別された場合(ステップS669;No)、帯域ωにおける周波数変換係数F[Di、v](ω)がレジスタにロードされ(ステップS675)、F[D'i]の成分について、帯域ωに含まれる成分群がF[Di、v](ω)に置換されることにより、F[D'i]が更新されてから(ステップS677)、ステップS679に進む。
ステップS679では、ωがωfinに達したか否かが判別され、達していない場合(ステップS679;No)、ωを1増加してから(ステップS681)、ステップS667に戻り、達している場合(ステップS679;Yes)、ステップS683に進む。
ステップS683では、逆変換により、復元残差信号スペクトルF[D'i]から残差信号D'iが求められる。D'iが記憶部に格納された(ステップS685)後、ステップS687に進む。
ステップS687では、iがM-1に達したか否かが判別される。達していないと判別された場合(ステップS687;No)、iを1増加してから(ステップS689)、ステップS663に戻り、達したと判別された場合(ステップS687;Yes)、処理を終了する。
(音声信号復元の手順)
以下では、図16を参照しつつ、図4及び図5に示した音声復号装置211及び音声復号装置213の内部で行われる、音声信号復元の手順について説明する。ここでは、予測分析としてMLSA分析が用いられた場合の手順を例に説明するが、線型予測分析など他の予測分析が用いられた場合の手順も、同様である。
受信部221(図4及び図5)は、元の音声の予測係数等が符号化された結果である符号を、受信して、復号部223(図4及び図5)に引き渡す。復号部223は、引き渡された符号を復号して、予測係数と、フラグ等とを生成する。これらは記憶部325に格納される。予測係数は、MLSA分析の場合は、MLSAフィルタ係数Mi={mi、0、・・・、mi、p-1}(0≦i≦M-1)である。
入力信号サンプルカウンタがi=1に設定(図16のステップS711)された後、予測係数Miが記憶部325からCPU321の内部のレジスタにロードされる(ステップS713)。次に、予測係数Miから合成用逆フィルタCIMiが計算される(ステップS715)。これは、図4及び図5において、予測係数を引き渡された合成用フィルタ算出部235により、合成用フィルタ部237の仕様が定められることに相当する。
続いて、復元残差信号D 'iが、ステップS715にて求められた合成用フィルタCIMiに通される。その結果、復元されたデジタル音声信号S 'i={s'i、0、・・・、s'i、l-1}(0≦i≦M-1)が生成される(ステップS717)。復元されたデジタル音声信号S'iは記憶部325に格納される(ステップS719)。続いて、iがM-1に達しているか否かが判別され(ステップS721)、達していないのであれば(ステップS721;No)、iを1だけ増加してから(ステップS723)、ステップS713に戻る。iがM-1に達しているのであれば(ステップS721;Yes)、処理を終了する。
(ケプストラムからMLSA係数を求める手順の一例)
図17は、ケプストラムCi={ci、0、・・・、ci、(l/2)-1}からMLSAフィルタ係数Mi={mi、0、・・・、mi、p-1}を求める具体的な手順の一例をフローチャートにしたものである。ステップS811〜S835に示した計算を行うことにより、MLSAフィルタ係数が求まる。αは近似用の数値であり、音声信号が10kHzでサンプリングされている場合にはα=0.35とするのが好適である。また、β=1-α2である。mi(0≦i≦p-1)は0に初期化しておく。
このようにして求まったMLSAフィルタ係数を用いたMLSAフィルタの構成の一例を、図18に示す。P1〜P4は近似用係数であり、例えば、P1=0.4999、P2=0.1067、P3=0.0117、P4=0.0005656とするのが好適である。
なお、この発明は、上記実施形態に限定されず、既に文中でもいくつかの変形例を挙げたように、種々の変形及び応用が可能である。上述のハードウェア構成やブロック構成、フローチャートは例示であって、限定されるものではない。
例えば、図3に示される音声符号化兼復号装置311として携帯電話機を想定して説明したが、PHS(Personal Handyphone System)、PDA(Personal Digital Assistants)、ノート型及びデスクトップ型パーソナルコンピュータ等による音声処理においても、同様に本発明を適用することができる。例えば本発明をパーソナルコンピュータに適用する場合には、パーソナルコンピュータに音声入出力装置や通信装置等を付加すれば、ハードウェアとしては携帯電話機の機能を有するようにすることができる。そして、上述の処理をコンピュータに実行させるためのコンピュータプログラムが記録媒体や通信により配布されれば、これをコンピュータにインストールして実行させることにより、該コンピュータをこの発明に係る音声符号化装置又は音声復号装置として機能させることも可能である。
すなわち、上記実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
111・・・実施形態1に係る音声符号化装置、113・・・実施形態2に係る音声符号化装置、115・・・実施形態3に係る音声符号化装置、121・・・マイクロフォン、123・・・A/D変換部、125・・・予測分析部、127・・・帯域フィルタ部、129・・・雑音判別部、131・・・符号化用Aスイッチ部、133・・・フラグ及びゲイン生成部、135・・・集計変換部、137・・・符号化部、139・・・送信部、141・・・予測分析用逆フィルタ算出器、143・・・第1帯域フィルタ、145・・・第2帯域フィルタ、147・・・第1雑音判別器、149・・・第2雑音判別器、151・・・第1Aスイッチ、153・・・第2Aスイッチ、155・・・第1フラグ生成及び第1ゲイン算出器、157・・・第2フラグ生成及び第2ゲイン算出器、159・・・フラグ及び雑音ゲイン集計器、161・・・非雑音残差信号集計器、162・・・非雑音帯域切り出し器、163・・・スペクトル変換器、165・・・符号化用Cスイッチ部、167・・・非雑音帯域決定器、169・・・Band Elimination Filter、171・・・第1Cスイッチ、173・・・第2Cスイッチ、175・・・周波数変換係数切り分け器、177・・・符号化用Eスイッチ部、179・・・非雑音周波数変換係数集計器、181・・・第1Eスイッチ、183・・・第2Eスイッチ、211・・・実施形態4に係る音声復号装置、213・・・実施形態5に係る音声復号装置、221・・・受信部、223・・・復号部、225・・・フラグ存否判別部、227・・・復号用Gスイッチ部、229・・・帯域別雑音列生成部、231・・・集計逆変換部、233・・・残差信号復元部、235・・・合成用フィルタ算出部、237・・・合成用フィルタ部、239・・・D/A変換部、241・・・スピーカ、243・・・第1フラグ存否判別器、245・・・第2フラグ存否判別器、247・・・第1Gスイッチ、249・・・第2Gスイッチ、251・・・第1雑音列生成器、253・・・第2雑音列生成器、255・・・周波数変換係数集計及び補充器、257・・・スペクトル逆変換器、259・・・帯域別定数周波数変換係数生成部、261・・・一括集計逆変換部、263・・・第1定数周波数変換係数生成器、265・・・第2定数周波数変換係数生成器、267・・・周波数変換係数集計器、311・・・実施形態6に係る音声符号化兼復号装置、321・・・CPU、323・・・ROM、325・・・記憶部、327・・・無線通信部、329・・・音声処理部、331・・・操作キー入力処理部、333・・・システムバス、335・・・アンテナ、337・・・操作キー、339・・・RAM、341・・・ハードディスク