(57)【要約】【課題】励振源信号に最適なパルス位置と極性の組み合わせを少ない演算量で決定可能とする信号符号化方法を提供する。【解決手段】雑音励振源符号帳から選択した励振源信号により信号の周波数包絡特性を表現するフィルタを励振して音響信号を合成し、入力信号に対する合成された音響信号の歪が最小となるようにフィルタ係数を量子化し、かつ雑音励振源符号帳から励振源信号の選択を行う信号符号化方法において、励振源信号は、所定のパルス間隔と所定の本数のパルス列からなり、各々のパルスの量子化された振幅と第１番目のパルスの初期位相で表現する。【選択図】図３
2004246014.tif 000002
【特許請求の範囲】
【請求項１】
励振源信号により信号の周波数包絡特性を表現するフィルタを励振して音響信号を合成し、入力信号に対する合成された音響信号の歪が最小となるようにフィルタ係数を量子化し、かつ雑音励振源符号帳から励振源信号の選択を行う信号符号化方法において、
励振源信号は、所定のパルス間隔と所定の本数のパルス列からなり、各々のパルス振幅が同じ正規化係数により正規化された後に量子化され、各々のパルスの量子化された振幅と第１番目のパルスの初期位相と正規化係数で表現されていることを特徴とする信号符号化方法。
【請求項２】
励振源信号により信号の周波数包絡特性を表現するフィルタを励振して音響信号を合成し、入力信号に対する合成された音響信号の歪が最小となるようにフィルタ係数を量子化し、かつ雑音励振源符号帳から励振源信号の選択を行う信号符号化方法において、
請求項１に記載の励振源信号を複数加算することにより励振源信号を表現することを特徴とする信号符号化方法。
【請求項３】
請求項２に記載の信号符号化方法において、
各励振源信号の正規化係数を要素とする正規化係数ベクトルを、正規化係数ベクトル符号帳を用いてベクトル量子化することを特徴とする信号符号化方法。
【請求項４】
請求項１乃至３に記載の信号符号化方法において、
各々のパルスの振幅の量子化をパルス振幅ベクトル符号帳を用いて一括してベクトル量子化することを特徴とする信号符号化方法。
【請求項５】
励振源信号により信号の周波数包絡特性を表現するフィルタを励振して音響信号を合成し、入力信号に対する合成された音響信号の歪が最小となるようにフィルタ係数を量子化し、かつ雑音励振源符号帳から励振源信号の選択を行う信号符号化装置において、
励振源信号は、所定のパルス間隔と所定の本数のパルス列からなり、各々のパルス振幅が同じ正規化係数により正規化された後に量子化され、各々のパルスの量子化された振幅と第１番目のパルスの初期位相と正規化係数で表現されていることを特徴とする信号符号化装置。
【請求項６】
励振源信号により信号の周波数包絡特性を表現するフィルタを励振して音響信号を合成し、入力信号に対する合成された音響信号の歪が最小となるようにフィルタ係数を量子化し、かつ雑音励振源符号帳から励振源信号の選択を行う信号符号化装置において、
請求項５に記載の励振源信号を複数加算することにより励振源信号を表現することを特徴とする信号符号化装置。
【請求項７】
請求項６に記載の信号符号化装置において、
各励振源信号の正規化係数を要素とする正規化係数ベクトルを、正規化係数ベクトル符号帳を用いてベクトル量子化することを特徴とする信号符号化装置。
【請求項８】
請求項５乃至７のいずれか１項に記載の信号符号化装置において、
各々のパルスの振幅の量子化をパルス振幅ベクトル符号帳を用いて一括してベクトル量子化することを特徴とする信号符号化装置。
【請求項９】
請求項１乃至４のいずれか１項に記載の信号符号化方法をコンピュータに実行させる信号符号化プログラム。
【請求項１０】
信号の周波数包絡特性を表現するフィルタおよびこのフィルタを励振する励振源信号から構成され、量子化されたフィルタ係数を用いてフィルタを構成し、一意に特定可能なように表現された励振源信号を生成し当該フィルタを励振することにより再生信号を生成する信号復号化方法において、
励振源信号は、所定のパルス間隔と所定の本数のパルス列からなり、各々のパルス振幅が同じ正規化係数により正規化された後に量子化され、各々のパルスの量子化された振幅と第１番目のパルスの初期位相と正規化係数で表現されていることを特徴とする信号復号化方法。
【請求項１１】
信号の周波数包絡特性を表現するフィルタおよびこのフィルタを励振する励振源信号から構成され、量子化されたフィルタ係数を用いてフィルタを構成し、一意に特定可能なように表現された励振源信号を生成し当該フィルタを励振することにより再生信号を生成する信号復号化装置において、
励振源信号は、所定のパルス間隔と所定の本数のパルス列からなり、各々のパルス振幅が同じ正規化係数で正規化された後に量子化され、各々のパルスの量子化された振幅と第１番目のパルスの初期位相と正規化係数で表現されていることを特徴とする信号復号化装置。
【請求項１２】
請求項１０に記載の信号復号化方法をコンピュータに実行させるための信号復号化プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、信号の周波数包絡特性を表現するフィルタを励振源信号で励振して得られる信号が、被符号化信号（目的信号）に良く一致するように、フィルタ係数および励振源信号を選定して符号化信号を生成し、この符号化信号を入力して復号化を行う信号符号化・信号復号化方法、及び装置に関する。
さらに詳しくは、励振源信号を等間隔のパルス列として表現する励振源信号の構成方法とその量子化方法、符号化方法、復号化方法等に関する。
【０００２】
【従来の技術】
従来、適応符号帳からフレームあるいはサブフレーム単位に取り出した過去の駆動音源ベクトル（励振源信号）をピッチ周期に対応する周期により繰り返して作成した時系列ベクトル、雑音符号帳から取り出した雑音符号ベクトル、あるいはこれらの両方より得られる時系列ベクトルにより、合成フィルタを駆動して音響信号を再生して入力音響信号ベクトルに対する歪が最小となるように適応符号帳、雑音符号帳の選択を行う信号符号化方法が提案されている。
【０００３】
（従来例１）
励振源信号を等間隔のパルス列として表現する励振源信号の構成方法として、代数符号帳がある。これは例えば（非特許文献１）等に示されている。
代数符号帳は生成すべきパルス列の長さ（サンプル点数）Ｌに対して、Ｌ以下のあらかじめ決められたパルス数Ｎのパルスのみを設定するものであり、このとき各々のパルスはあらかじめ設定可能な位置の候補点および振幅の絶対値が決められており、この制限のなかでもっとも良く再生後の信号を表現するようにパルス位置および極性を選択することにより励振源信号を符号化（すなわち、符号帳ベクトルを選択）するものである。
【０００４】
（従来例２）
また、別の方法として、連続する２サンプルのパターンベクトルを、あらかじめ記憶されたパターンの中から選択して用いる方法がある（特許文献１  参照）。
図６を参照して上記の方法の具体例を説明する。
雑音符号帳には５個のパターン符号帳１〜５が設けられ、これら各パターン符号帳にはそれぞれ２サンプルからなる４個のパターンベクトル（１）〜（４）が記憶されている。つまり各パターンベクトルは例えば連続する２サンプル点からなり、その２サンプル点以外のサンプル点はゼロである。各パターン符号帳は、共通のパターンベクトルを保持してもよい。これらパターン符号帳はそれぞれ符号帳検索部（図示せず）からのパターン符号により指定されてパターンベクトルが取り出される。これら取り出されたパターンベクトルはそれぞれ乗算部で符号帳検索制御部（図示せず）からのサイン符号に応じて＋１又は−１が乗算され、極性が制御される。これら乗算部の出力はシフト部１〜５で符号帳検索制御部からの位置符号に応じてフレーム内の位置に配置される。この例において、サンプル点４０点のうち、第１チャネルのパターン配置位置は（０，１），（１０，１１），（２０，２１），（３０，３１）のいずれかとなり、第２チャネルのパターン配置位置は（２，３），（１２，１３），（２２，２３），（３２，３３）のいずれかとなり、同様に第３〜５チャネルのパターン配置位置は図６（Ｂ）に示すようになる。シフト部１〜５の各出力は加算されて１フレームの雑音符号ベクトルとして出力される。すなわち１フレーム分のバッファに対し各極性制御されたパターンベクトルが位置符号に応じたサンプル点に配置され、その際重なる時は加算され、そのバッファから雑音符号ベクトルが出力される。
これは代数符号帳が単一のパルスで表現していたのに対して連続した二つのパルスで表現するものである。これら二つのパルスはその振幅の絶対値を異なって設定することも可能であり、代数符号帳に比べ信号の表現力が高い。
【０００５】
【非特許文献１】
Ｊ．Ｐ．Ａｄｏｕｌ，  “Ｆａｓｔ  ＣＥＬＰ  ｃｏｄｉｎｇ  ｂａｓｅｄ  ｏｎ  ａｌｇｅｂｒａｉｃ  ｃｏｄｅｓ”，Ｐｒｏｃ．  ＩＣＡＳＳＰ  ’８７，ｐ．ｐ．１９５７−１９６０（１９８７）
【特許文献１】
特開平９−６３９６号公報「音響信号符号化方法及び音響信号復号化方法」（図１、２）
【０００６】
【発明が解決しようとする課題】
従来例１においては、上記選択の過程においてパルス位置と極性の組み合わせが多岐に渡るため、最適なパルス位置と極性の組み合わせを得るためには多くの演算処理を必要とする。また、全てのパルスの振幅の絶対値が等しいため、得られるパルス列が表現可能な信号の種類に限界がある。
従来例２においては、やはりパルス位置および極性を選択する過程においてパルス位置と極性の組み合わせが多岐に渡るため、最適なパルス位置と極性の組み合わせを得るためには多くの演算処理を必要とする。
本発明は、励振源信号の選択において、最適なパルス位置と極性の組み合わせを少ない演算量で決定可能とするものである。
【０００７】
【課題を解決するための手段】
本発明は励振源信号、あるいは励振源信号に利得を与えて合成フィルタを駆動することにより励振源ベクトル、利得、合成フィルタ係数などの量子化符号を出力する信号符号化方法、装置において、励振源ベクトルの構成としてｐ，ｐ＋ｄ，ｐ＋２ｄ，・・・，ｐ＋（Ｎ−１）ｄ番目（ｐは初期位相を表す、但しパルス間隔ｄとパルス数Ｎは予め設定されているものとする）にＮ個のビット位置が設定され、第１番目のパルスの初期位相ｐと各パルスの振幅をＮ次元のベクトルと考えてそのベクトルを量子化したインデックスを符号化出力とする。すなわち、本発明は励振源信号を等間隔のパルス列として表現し、パルス列の初期位相と各パルスの量子化された振幅とを用いて再現することで、少ない演算量で最適な励振源信号を選択可能とした。
【０００８】
図１に雑音励振源信号符号帳の励振源信号としてパルス数を５とした場合の長さＬのパルス列の一例を示す。同図において、パルス＃０からパルス＃４がそれぞれパルスであり、初期位相はパルス＃０（第１番目のパルス）の位置に相当する。またパルス＃Ｎ（Ｎ＝０，・・・，４）とパルス＃Ｎ−１の間隔は全て等しく、あらかじめ決められている。このようなパルス列を一意に表現するためには、初期位相と各パルスの振幅をそれぞれ表現すればよい。
さて、このようなパルス列でフィルタを励振して得られる信号ベクトル
【数１】
2004246014.tif 000003
は（［］ｔは転置を表す）、パルス数をＮ、パルス間隔をｄ、パルス＃ｉ（ｉ＝０，１，・・・，Ｌ−１）の振幅をｇｉ、初期位相をｐ、フィルタのインパルス応答ベクトルを
【数２】
2004246014.tif 000004
とすれば、誤差Ｄを最小とする最適なｇｉは各初期位相ｐごとに
【数３】
2004246014.tif 000005
であり、フィルタのインパルスレスポンスにのみ依存する値である。
【０００９】
このことから、まずｃｍ，ｎで構成される行列Ｃの逆行列Ｃ−１を求め、このＣ−１を用いて歪Ｄを最小とする初期位相ｐとパルス振幅ベクトル
【数４】
2004246014.tif 000006
最適な励振源信号（最適初期位相と最適振幅ベクトル）を決定することができる。  このときに必要となる演算は初期位相ごとに目的ベクトルｘとシフトされたインパルス応答ベクトルとのＮ回の内積演算と、得られた内積を要素とする内積ベクトルと行列Ｃ−１の積演算だけで済む。
求められた入力信号と励振信号の歪を最小にする最適振幅ベクトルをその後振幅ベクトル符号帳を用いてベクトル量子化する。振幅ベクトルの量子化にあたって、最適振幅ベクトルと符号帳ベクトルの歪（自乗誤差）を最小にするものを選択してもよい。このように選択した場合でも音質の劣化を比較的小さく抑えることができる。また、変形実施例として式（４）の最適振幅ベクトルを求めず、直接的に符号帳からベクトルを取り出して励振信号を計算し、それと入力信号の歪を最小にしてもよい。この例においては演算量が多くなる。
【００１０】
【発明の実施の形態】
（実施例１）
実施例１は請求項１、５の発明と対応する。
目的ベクトルｘと初期位相ｐおよび各パルスの振幅ｇｉを前述の方法で最適となるように検索し、各パルスの振幅ｇｉをパワーで正規化した後に量子化することにより励振源信号を一意に決定できるようにしたものである。
パルス振幅ベクトルｇの算出方法の例を図２を参照して説明する。
同図において、シフトベクトル生成部はフィルタインパルス応答ベクトルｈと目的ベクトルｘとパルス間隔ｄを用いて各ｉ（ｉ＝０，１，・・・，Ｎ−１）に対するＳ（ｈ，ｐ＋ｉｄ）を求める。内積ベクトル生成部は各Ｓ（ｈ，ｐ＋ｉｄ）と目的ベクトルｘから式（４）右辺第２項で表されるベクトルを生成する。逆ベクトル生成部はフィルタインパルス応答ベクトルｈと目的ベクトルｘとパルス間隔ｄを用いて式（４）右辺第１項を生成する。乗算部は式（４）を計算し、パルス振幅ベクトルｇを生成する。
【００１１】
次に最適となる初期位相ｐおよびパルス振幅ベクトルｇの検索方法を図３を参照して説明する。
同図において、パルス振幅ベクトル生成部は図２の破線で囲まれた部分に相当する。初期位相制御部は取り得る全ての初期位相についてパルス振幅ベクトルが生成されるように初期位相ｐを制御し、誤差最小化制御部は誤差を最小とする初期位相制御部を制御する。
ベクトル誤差生成部で算出される誤差が最小となるよう制御された後、最適初期位相ｐｂｅｓｔおよび最適パルス振幅ベクトルｇｂｅｓｔがそれぞれ求まる。ここで、最適パルス振幅ベクトルｇｂｅｓｔ＝［ｇ０，ｇ１，ｇ２，・・・，ｇＮ−１］ｔを一旦パワー正規化してｇｂｅｓｔ／Ｇ＝［ｇ０／Ｇ，ｇ１／Ｇ，ｇ２／Ｇ，・・・，ｇＮ−１／Ｇ］ｔ  を求めた上で正規化された各ｇｉ／Ｇをベクトル要素量子化部で量子化することにより励振源信号を一意に決定できるようにする。
【００１２】
（実施例２）
実施例２は、請求項２、６の発明に対応する。
実施例１において、励振源信号を複数加算して励振源信号を一意に決定できるようにしたものである。その際には、励振源信号ごとに、初期位相ｐ、パルス振幅ｇを求めて、それらに対応する符号を出力する。また、ｋ（ｋは自然数）番目の励振源ベクトルを決定した後の誤差信号をｋ＋１番目の励振源決定のための入力信号とする。ここで、パルス本数Ｎ、パルス間隔ｄが励振源ごとに異なるようにすることで、励振源ベクトルのランダム性が確保される。
実施例２を図４を参照して説明する。
同図において単位励振源生成部は図３の破線で囲んだ部分に相当する。パルス列生成部は最適初期位相ｐｂｅｓｔと最適パルス振幅ベクトルｇｂｅｓｔからパルス列を生成する。ここで生成されたパルス列と、目的ベクトルｘとの誤差ベクトルが誤差ベクトル生成部で生成され、この誤差ベクトルを次段の単位励振源生成部の目的ベクトルとなるよう構成されている。この例では２段の構成となっているが、さらに段数を増やして構成しても構わない。
【００１３】
（実施例３）
実施例３は、請求項２、６に対応する。
実施例１において、励振源信号にゲインを乗じた上で加算して励振源信号を一意に決定できるようにしたものである。実施の例を図５に示す。全体の構成は図４に示した実施例２に記載の発明の実施例と類似であるが、パルス生成部で生成されたパルス列に対してゲインを乗じ、これを新たなパルス列として扱う。
【００１４】
（実施例４）
実施例４は、請求項３、７の発明に対応する。
実施例２において、各励振源信号に乗ずべきゲインをあらかじめ記憶したゲインベクトル符号帳を用いてベクトル量子化することによりる励振源信号を一意に決定できるようにしたものである。
【００１５】
（実施例５）
実施例５は、請求項４、８の発明に対応する。
実施例１乃至４のいずれかにおいて、パルス振幅ベクトルｇ＝［ｇ０，ｇ１，ｇ２，・・・，ｇＮ−１］ｔをあらかじめ記憶したパルス振幅ベクトル符号帳を用いてベクトル量子化することにより励振源信号を一意に決定できるようにしたものである。
【００１６】
（実施例６）
実施例６は、請求項９に対応する。
本発明の信号符号化装置は、ＣＰＵやメモリ等を有するコンピュータと、利用者端末と、ＣＤ−ＲＯＭ、磁気ディスク装置、半導体メモリ等の機械読み取り可能な記録媒体とから構成することができる。記録媒体に記録された、あるいは伝送された請求項１〜６に記載の信号符号化方法を実行させる信号符号化プログラムは、コンピュータに読み取られ、コンピュータの動作を制御し、コンピュータ上に前述した実施の形態における各構成要素を実現する。
【００１７】
（実施例７）
実施例７は、請求項１０に対応する。
実施例１から５の符号化方法に対応する復号化方法及び装置である。
実施例１〜５の信号符号化方法により生成された最適初期位相と最適パルス振幅ベクトル、およびゲインを入力し、予め決められたパルス間隔とパルス本数を用いて励振源信号を生成し、フィルタ係数により設定された信号の周波数包絡特性を表現するフィルタを励振して音声あるいは楽音を再生する。
【００１８】
（実施例８）
本発明の信号復号化装置は、ＣＰＵやメモリ等を有するコンピュータと、利用者端末と、ＣＤ−ＲＯＭ、磁気ディスク装置、半導体メモリ等の機械読み取り可能な記録媒体とから構成することができる。記録媒体に記録された、あるいは伝送された実施例７に記載に復号化方法を実行させる信号復号化プログラムは、コンピュータに読み取られ、コンピュータの動作を制御し、コンピュータ上に前述した実施の形態における各構成要素を実現する。
【００１９】
【発明の効果】
既に示したとおりであり、本発明においては、初期位相ごとに目的ベクトルｘとシフトされたインパルス応答ベクトルとのＮ回の内積演算と、得られた内積を要素とする内積ベクトルと行列Ｃ−１の積演算だけで済む。なお代数符号では目的ベクトルの長さＬ、パルス数Ｎとした場合、（Ｌ／Ｎ＋１）Ｎ回のベクトル加算と（Ｌ／Ｎ）Ｎのベクトル減算が必要である。仮にＬ＝２０サンプル（８ｋＨｚサンプリング換算で２．５ｍｓ）、Ｎ＝５パルスとした場合、代数符号帳では１０２４回のベクトル加算と２５６回のベクトル減算が必要である。これに対し本発明では２０回の内積演算と４回の５次元正方行列と５次元ベクトルの積、および１回の５次元正方行列の逆行列演算が必要となるのみであり、ＬおよびＮの値が大きい、すなわち大きな長さの目的ベクトルを多くのパルスで表現する際により演算量削減効果が大きくなる。
【図面の簡単な説明】
【図１】雑音励振源信号（パルス数を５とした場合の長さＬのパルス列）の例を示す図。
【図２】パルス振幅ベクトル生成部の構成例を示す図。
【図３】最適初期位相／量子化最適パルス振幅ベクトル生成部の構成例を示す図。
【図４】単位励振源生成部を有する励振源生成部の構成例（１）を示す図。
【図５】単位励振源生成部を有する励振源生成部の他の構成例（２）を示す図。
【図６】従来の雑音符号ベクトルの生成を説明する図。
【図１】
2004246014.tif 000007
【図２】
2004246014.tif 000008
【図３】
2004246014.tif 000009
【図４】
2004246014.tif 000010
【図５】
2004246014.tif 000011
【図６】
2004246014.tif 000012