(57)【特許請求の範囲】
【請求項１】
各サンプルが多値で表される時間軸上のデジタルオーディオ信号を単位時間ごとにブロック化するブロック化手段と、上記ブロック化手段によって作成された各ブロックの信号中にプリエコーあるいはポストエコーのもととなる所定の振幅変化を伴う振幅変化部を検出する振幅変化部検出手段と、上記振幅変化部検出手段の上記振幅変化部の検出結果に基づいて上記各ブロックに関する復号化までに使用されるゲイン情報を決定するゲイン情報決定手段と、上記振幅変化部検出手段による上記振幅変化部の検出結果と上記ゲイン情報決定手段により決定された上記ゲイン情報とに基づいて上記各ブロックの信号にゲイン制御を行うゲイン制御手段と、上記ゲイン制御手段によりゲイン制御が行われた上記各ブロックの信号を周波数軸上の信号にスペクトル変換するスペクトル変換手段と、上記スペクトル変換手段によって得られた周波数軸上の信号を符号化して上記ゲイン情報を含む符号化情報を出力する符号化手段とを備える符号化装置において、
上記スペクトル変換手段は、上記各ブロックの信号と直前の上記ブロックの信号とを用いて上記各ブロックに関するスペクトル変換を行い、
上記振幅変化部検出手段は、上記振幅変化部が先頭付近よりも後に存在する上記ブロックである途中変化ブロックの上記振幅変化部を上記途中変化ブロック内での信号の振幅変化により検出する一方、上記振幅変化部が先頭付近に存在する上記ブロックである先頭変化ブロックの上記振幅変化部を上記先頭変化ブロックにおける信号の振幅と直前の上記ブロックにおける信号の振幅の最大値との比較により検出し、
上記ゲイン情報決定手段は、上記ゲイン情報を上記各ブロックに関するスペクトル変換に用いる上記各ブロックと直前の上記ブロックとの組ごとに上記各ブロックの先頭部分における信号のゲインと直前の上記ブロックにおける信号のゲインとが等しくなるように決定するとともに、上記途中変化ブロックに関する上記ゲイン情報を上記途中変化ブロック内での信号の振幅変化に基づいて決定する一方、上記先頭変化ブロックに関する上記ゲイン情報を上記比較に基づいて復号化の際のゲイン補正用のみとして決定し、
上記ゲイン制御手段は、上記途中変化ブロックに関する上記ゲイン制御を上記途中変化ブロックに関する上記ゲイン情報を用いて行う一方、上記先頭変化ブロックに関する上記ゲイン制御を、上記ゲイン情報を使用することなくゲインを１として行うことを特徴とする符号化装置。
【請求項２】
上記振幅変化部検出手段は、上記各ブロックを時間軸上で先頭付近を分離することのできる複数のサブブロックに分割し、上記各サブブロックにおける信号の最大の振幅が時間軸上で第１の所定値以上の変化量である第１変化量で変化すれば変化時点の上記サブブロックを上記途中変化ブロックの上記振幅変化部とする一方、上記各サブブロックにおける上記振幅が上記第１変化量で変化せずに先頭の上記サブブロックにおける上記振幅が直前の上記ブロックにおける信号の最大の振幅に対して第２の所定値以上の変化量である第２変化量だけ異なれば先頭の上記サブブロックを上記先頭変化ブロックの上記振幅変化部とすることを特徴とする請求項１に記載の符号化装置。
【請求項３】
上記ゲイン情報決定手段は、上記途中変化ブロックに関する上記ゲイン情報を上記第１変化量に基づいたゲインを与えるように決定する一方、上記先頭変化ブロックに関する上記ゲイン情報を上記第２変化量に基づいたゲインを与えるように決定することを特徴とする請求項２に記載の符号化装置。
【請求項４】
上記振幅変化部検出手段は、上記各ブロックにおける信号の最大の振幅が直前の上記ブロックにおける信号の最大の振幅よりも大きい場合に、上記第１の所定値および上記第２の所定値を振幅増加を伴う上記振幅変化部を検出するための値に設定し、
上記ゲイン情報決定手段は、上記振幅変化部検出手段によって振幅増加を伴う上記振幅変化部が検出された上記先頭変化ブロックに関する上記ゲイン情報を、上記ゲイン補正時に逆数で使用されるゲインとして、上記先頭変化ブロックの先頭の上記サブブロックに時間軸上で上記第２変化量に応じた１より大きい値から１まで変化するゲインを与え、上記先頭変化ブロックの先頭より後の上記サブブロックに１のゲインを与えるように決定することを特徴とする請求項３に記載の符号化装置。
【請求項５】
上記振幅変化部検出手段は、上記各ブロックにおける信号の最大の振幅が直前の上記ブロックにおける信号の最大の振幅以下である場合、および、上記各ブロックにおける信号の最大の振幅が直前の上記ブロックにおける信号の最大の振幅よりも大きくて、上記第１の所定値および上記第２の所定値を振幅増加を伴う上記振幅変化部を検出するための値に設定して振幅増加を伴う上記振幅変化部が検出されなかった場合に、上記第１の所定値および上記第２の所定値を振幅減少を伴う上記振幅変化部を検出するための値に設定し、
上記ゲイン情報決定手段は、上記振幅変化部検出手段によって振幅減少を伴う上記振幅変化部が検出された上記先頭変化ブロックに関する上記ゲイン情報を、上記ゲイン補正時に逆数で使用されるゲインとして、上記先頭変化ブロックの先頭の上記サブブロックに時間軸上で１から上記第２変化量に応じた１より大きい値まで変化するゲインを与え、上記先頭変化ブロックの先頭より後の上記サブブロックに上記第２変化量に応じた上記値のゲインを与えるように決定することを特徴とする請求項３または４に記載の符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、高能率符号化によって入力信号の符号化を行う符号化装置に関するものである。
【０００２】
【従来の技術】
デジタルオーディオ信号の符号化装置における高能率符号化の方法としては、各サンプルが多値で表される時間軸上の入力信号をＮサンプルからなる時間単位でブロック化してブロックごとに時間軸上の信号を周波数軸上の信号に変換、すなわちスペクトル変換して複数の周波数領域に分割し、各周波数領域ごとに符号化する変換符号化方式や、時間軸上の入力信号をブロック化せずに複数の周波数帯域に分割して符号化する帯域分割符号化方式を挙げることができる。また、帯域分割方式符号化方式と変換符号化方式とを組み合わせた方式も考えられている。
【０００３】
上述の帯域分割符号化方式で用いられる帯域分割フィルタには、例えばＱＭＦ（Quadrature Mirror Filter) などのフィルタがある。また、変換符号化方式のスペクトル変換には、例えばモディファイド離散コサイン変換（ＭＤＣＴ）などがあり、このよな変換を行うことにより、時間軸上の信号を周波数軸上の信号に変換することができる。
【０００４】
ここで、スペクトル変換としてＭＤＣＴを使用した場合、ブロック間の接続歪みを軽減するために、両隣のブロックでそれぞれＮ個ずつのサンプルデータをオーバーラップさせた２Ｎ個のサンプルデータを用いてスペクトル変換を行い、独立したＮ個の実数データ、すなわちＭＤＣＴ係数データを得るようにしているため、平均してＮ個のサンプルデータに対してＮ個の実数データが得られることになり、スペクトル変換として離散フーリエ変換（ＤＦＴ）や離散コサイン変換（ＤＣＴ）を使用した場合よりも効率のよい符号化を行うことが可能である。
【０００５】
以上のようにして、帯域ごとに分割され、周波数軸上に変換された信号を量子化することにより、量子化雑音が発生する帯域を制御することができ、マスキング効果などの性質を利用して聴覚的に、より高能率な符号化を行うことができる。この符号化データを復号化して再生信号を再現する場合には、符号化データを復号化して逆量子化を行い、得られたデータに対して逆ＭＤＣＴ変換などによる逆スペクトル変換を施して帯域合成フィルタを施す。
【０００６】
なお、上述のＭＤＣＴによるスペクトル変換を行い、得られた実数データを量子化して符号化した符号化データを復号化して再生信号を再現する場合には、符号化データを復号化して逆量子化を行い、得られた実数データに対して逆ＭＤＣＴ変換による逆スペクトル変換を施し、同じブロック内の要素を干渉させながら加え合わせることにより、入力信号を再構成することになる。
【０００７】
このように、入力信号をブロック化してブロックごとにスペクトル成分に分解する処理を行い、得られたスペクトル成分を量子化して符号化する方法を用いると、復号化してブロックごとに合成して得られた信号には量子化雑音が発生する。入力信号に、無音の準定常状態から強振幅状態へ移行する際に現れるアタック部が存在する場合、この信号をブロック化してブロックごとにスペクトル成分に分解する処理を行い、得られたスペクトル成分を量子化して符号化する方法を用いると、復号化してブロックごとに合成して得られた信号には、アタック部の時間的に前の部分にアタック部に起因する大きな量子化雑音が現れることになる。この量子化雑音は一般にプリエコーと呼ばれ、聴感上の障害になる。一例として、図６に、アタック部が存在する１ブロック分の入力信号Ａ１１と、量子化雑音Ｂ１１とを示す。同図では、アタック部の前の無音の準定常状態であるべきところに、量子化雑音Ｂ１１によるプリエコーが発生する。
【０００８】
特に、長いブロックで分割した入力信号をスペクトル変換した場合は、長い時間にわたってプリエコーが発生してしまうことがある。そこで、ブロックの長さを短くすれば、量子化雑音の発生期間も短くなる。このため、アタック部の近辺で、スペクトル変換するブロックの長さを短くとれば、プリエコーが発生する期間を短くすることができ、プリエコーによる聴感上の障害を軽減することができる。
【０００９】
一方、アタック部のような急激にレベルが変化する信号以外の信号に対しても同様にブロックを短くすると、周波数分解能が低下して符号化効率が低下する。このため、これらの部分に対しては、ブロックを長くした方が、特定のスペクトル成分に対してエネルギーが集中することになって符号化効率が高くなるので望ましい。
【００１０】
これらのことから、実際には、入力信号の各部分の性質に応じてスペクトル変換のためのブロックの長さを選択的に切り換えることが行われる。ところが、この方法を実際の構成上で実現しようとすると、異なる長さのブロックでのスペクトル変換に対応したスペクトル変換手段を符号化装置に設ける必要があり、また、復号化装置側にも異なる長さのブロックに対応した逆スペクトル変換が可能な逆スペクトル変換手段を設ける必要がある。従って、符号化装置、復号化装置とも構成が複雑になってしまうという欠点がある。
【００１１】
また、入力信号に、強振幅状態から無音の準定常状態へと移行する際に現れるリリース部が存在する場合、この信号を同様に符号化した後に復号化して得られた信号には、リリース部の時間的に後の部分にリリース部に起因する大きな量子化雑音が現れることになる。この量子化雑音は一般にポストエコーと呼ばれ、やはり聴感上の障害になる。一例として、図７に、リリース部が存在する１ブロック分の入力信号Ａ１２と、量子化雑音Ｂ１２とを示す。同図では、リリース部の後の無音の準定常状態であるべきところに、量子化雑音Ｂ１２によるポストエコーが発生する。
【００１２】
これを解決するために、特開平８−２３７１３２号公報には、スペクトル変換のためのブロックの長さを十分な周波数分解能を確保することができるような一定の長さに保ったまま、プリエコーおよびポストエコーの発生を防止する技術が開示されている。上記公報の構成によれば、入力信号を時間軸上で複数のサンプルデータからなる複数のブロックに切り出し、さらにこのブロックにウィンドウ関数を掛けた後、ブロックごとに切り出された入力信号を時間軸上で複数のサブブロックに分割してアタック部を検出する。次いで、入力信号の特性に応じて複数通りの中から適応的にゲイン制御量を選択する。そして、アタック部の前のサブブロックの信号成分に対してはアタック部以後の選択された所定倍のゲインでゲイン制御を施し、アタック部直前の小振幅波形の信号を増幅する。さらに、ゲイン制御を施した信号をＤＦＴやＤＣＴなどを用いたスペクトル変換によってスペクトル成分を得て、これを符号化する。
【００１３】
これに対する復号化の際には、復号化されたスペクトル成分に逆ＤＦＴや逆ＤＣＴなどによる逆スペクトル変換を施してから、符号化の際にアタック部直前の信号を増幅したことに対する補正処理を施す。この方式により復号化された再生波形の量子化雑音は、アタック部による同時マスキングによって遮蔽されるため、プリエコーの発生が防止されるようになる。同様にしてポストエコーの発生も防止される。
【００１４】
【発明が解決しようとする課題】
しかしながら、上記公報の構成によれば、アタック部の検出範囲をそのアタック部が含まれる１つのブロックのみを用いて行おうとすると、アタック部が先頭サブブロックに存在する場合にはアタック部を検出することができず、ゲイン補正を施すことができなくなってしまう。従って、このような場合にプリエコーが発生してしまう。
【００１５】
また、上記公報には、既に処理したブロックの次のブロックの先頭にアタック部が生じるような場合に備えて、アタック部の検出範囲を当該次のブロックの先頭のサブブロックにまで広げておくことも可能であると記載されている。この場合、そのようにして検出されたアタック部を基にゲイン補正を施すと、次のブロックの先頭のサブブロックにもゲイン補正を施すことになる。つまり、先頭のサブブロックは、現在ブロック処理時と前回ブロック処理時との両方でゲイン補正を施される結果、１つのサブブロックに対して２種類のゲイン補正が施されることになり、符号化処理が複雑になる。さらに、このようにゲイン補正が施されて符号化された信号を復号化する際は、あるサブブロックに対して２種類のゲイン情報が存在するために、復号化処理が複雑になる。
【００１６】
このように、従来の変換符号化方式の符号化装置には、ブロックの先頭にアタック部が存在する場合にゲイン制御を施すことが困難であるために、プリエコーを容易に防止することができないという問題があった。また、ブロックの先頭にリリース部が存在する場合についても同様にゲイン制御を施すことが困難であるために、ポストエコーを容易に防止することができないという問題があった。
【００１７】
本発明は上記従来の問題点に鑑みなされたものであり、その目的は、デジタルオーディオ信号をブロック化してスペクトル変換を行う構成でありながら、ブロックの先頭にアタック部が存在する場合にも容易にプリエコーを防止することができ、またブロックの先頭にリリース部が存在する場合にも容易にポストエコーを防止することができる符号化装置を提供することにある。
【００１８】
【課題を解決するための手段】
本発明の符号化装置は、上記課題を解決するために、各サンプルが多値で表される時間軸上のデジタルオーディオ信号を単位時間ごとにブロック化するブロック化手段と、上記ブロック化手段によって作成された各ブロックの信号中にプリエコーあるいはポストエコーのもととなる所定の振幅変化を伴う振幅変化部を検出する振幅変化部検出手段と、上記振幅変化部検出手段の上記振幅変化部の検出結果に基づいて上記各ブロックに関する復号化までに使用されるゲイン情報を決定するゲイン情報決定手段と、上記振幅変化部検出手段による上記振幅変化部の検出結果と上記ゲイン情報決定手段により決定された上記ゲイン情報とに基づいて上記各ブロックの信号にゲイン制御を行うゲイン制御手段と、上記ゲイン制御手段によりゲイン制御が行われた上記各ブロックの信号を周波数軸上の信号にスペクトル変換するスペクトル変換手段と、上記スペクトル変換手段によって得られた周波数軸上の信号を符号化して上記ゲイン情報を含む符号化情報を出力する符号化手段とを備える符号化装置において、上記スペクトル変換手段は、上記各ブロックの信号と直前の上記ブロックの信号とを用いて上記各ブロックに関するスペクトル変換を行い、上記振幅変化部検出手段は、上記振幅変化部が先頭付近よりも後に存在する上記ブロックである途中変化ブロックの上記振幅変化部を上記途中変化ブロック内での信号の振幅変化により検出する一方、上記振幅変化部が先頭付近に存在する上記ブロックである先頭変化ブロックの上記振幅変化部を上記先頭変化ブロックにおける信号の振幅と直前の上記ブロックにおける信号の振幅の最大値との比較により検出し、上記ゲイン情報決定手段は、上記ゲイン情報を上記各ブロックに関するスペクトル変換に用いる上記各ブロックと直前の上記ブロックとの組ごとに上記各ブロックの先頭部分における信号のゲインと直前の上記ブロックにおける信号のゲインとが等しくなるように決定するとともに、上記途中変化ブロックに関する上記ゲイン情報を上記途中変化ブロック内での信号の振幅変化に基づいて決定する一方、上記先頭変化ブロックに関する上記ゲイン情報を上記比較に基づいて復号化の際のゲイン補正用のみとして決定し、上記ゲイン制御手段は、上記途中変化ブロックに関する上記ゲイン制御を上記途中変化ブロックに関する上記ゲイン情報を用いて行う一方、上記先頭変化ブロックに関する上記ゲイン制御を、上記ゲイン情報を使用することなくゲインを１として行うことを特徴としている。
【００１９】
上記の発明によれば、振幅変化部検出手段は、アタック部やリリース部などの振幅変化部がブロックの先頭付近よりも後に存在する場合には、これらをブロック内での信号の振幅変化により検出し、振幅変化部がブロックの先頭付近に存在する場合には、これらを該ブロックにおける信号の振幅と直前のブロックにおける信号の振幅の最大値との比較により検出する。後者の検出は、オーディオ信号ではアタック部が、通常、多数ブロックにわたる無音の準定常状態から多数ブロックにわたる強振幅状態に移行する際に現れ、またリリース部が、通常、多数ブロックにわたる強振幅状態から多数ブロックにわたる無音の準定常状態に移行する際に現れることを利用したものである。これにより、振幅変化部がブロックのどこに存在しても、振幅変化部を検出することができる。
【００２０】
そして、スペクトル変換手段は各ブロックの信号とその直前のブロックの信号とを用いて各ブロックに関するスペクトル変換を行うものであり、ゲイン情報決定手段は、ゲイン情報を各ブロックに関するスペクトル変換に用いる各ブロックと直前のブロックとの組ごとに、各ブロックの先頭部分における信号のゲインと直前のブロックにおける信号のゲインとが等しくなるように決定する。
【００２１】
ここで、振幅変化部がブロックの先頭付近よりも後に存在する場合には、ゲイン情報決定手段がブロック内での信号の振幅変化に基づいて該ブロックに関するゲイン情報を決定し、ゲイン制御手段がそのゲイン情報を用いて該ブロックに関するゲイン制御を行う。また、振幅変化部がブロックの先頭付近に存在する場合には、ゲイン情報決定手段が該ブロックにおける信号の振幅と直前のブロックにおける信号の振幅の最大値との比較に基づいて該ブロックに関するゲイン情報を決定するが、このゲイン情報は復号化の際のゲイン補正用のみのものである。この場合にはゲイン制御手段は、上記ゲイン情報を使用することなくゲインを１として該ブロックに関するゲイン制御を行う。
【００２２】
これにより、振幅変化部がブロックの先頭付近よりも後に存在する場合でも、振幅変化部がブロックの先頭付近に存在する場合でも、各ブロックに関して施されるゲイン制御は各ブロックにつき１回以下であって振幅変化部に容易に適切なゲインが設定されるとともに、各ブロックとその直前のブロックとのゲイン関係が容易に適切に設定される。従って、上記ゲイン情報を用いる復号化の際に量子化雑音が抑制された良好な復号化信号を得ることができる。
【００２３】
以上により、デジタルオーディオ信号をブロック化してスペクトル変換を行う構成でありながら、ブロックの先頭にアタック部が存在する場合にも容易にプリエコーを防止することができ、またブロックの先頭にリリース部が存在する場合にも容易にポストエコーを防止することができる。
【００２４】
さらに本発明の符号化装置は、上記課題を解決するために、上記振幅変化部検出手段は、上記各ブロックを時間軸上で先頭付近を分離することのできる複数のサブブロックに分割し、上記各サブブロックにおける信号の最大の振幅が時間軸上で第１の所定値以上の変化量である第１変化量で変化すれば変化時点の上記サブブロックを上記途中変化ブロックの上記振幅変化部とする一方、上記各サブブロックにおける上記振幅が上記第１変化量で変化せずに先頭の上記サブブロックにおける上記振幅が直前の上記ブロックにおける信号の最大の振幅に対して第２の所定値以上の変化量である第２変化量だけ異なれば先頭の上記サブブロックを上記先頭変化ブロックの上記振幅変化部とすることを特徴としている。
【００２５】
上記の発明によれば、振幅変化部検出手段が各ブロックを時間軸上で先頭付近を分離することのできる複数のサブブロックに分割する。そして、サブブロックにおける信号の最大の振幅が時間軸上で第１変化量という第１の所定値以上の量で変化すれば、変化時点のサブブロックをブロックの先頭付近よりも後に存在する振幅変化部とし、各サブブロックにおける信号の最大の振幅が第１変化量で変化せずに先頭のサブブロックにおける信号の最大の振幅が直前のブロックにおける信号の最大の振幅に対して第２変化量という第２の所定値以上の量だけ異なれば先頭のサブブロックを振幅変化部とする。このような振幅変化部の検出は、前述したオーディオ信号のアタック部やリリース部の現れ方を利用した正確かつ容易な検出である。
【００２６】
従って、ブロックの先頭付近よりも後に存在する振幅変化部と、ブロックの先頭付近に存在する振幅変化部との両方を、正確かつ容易に検出することができる。
【００２７】
さらに本発明の符号化装置は、上記課題を解決するために、上記ゲイン情報決定手段は、上記途中変化ブロックに関する上記ゲイン情報を上記第１変化量に基づいたゲインを与えるように決定する一方、上記先頭変化ブロックに関する上記ゲイン情報を上記第２変化量に基づいたゲインを与えるように決定することを特徴としている。
【００２８】
上記の発明によれば、振幅変化部が先頭付近よりも後に存在するブロックに関するゲイン情報を、振幅変化部の検出の際に得られた第１変化量に基づいたゲインを与えるように決定する。また、振幅変化部が先頭付近に存在するブロックに関するゲイン情報を、振幅変化部の検出の際に得られた第２変化量に基づいたゲインを与えるように決定する。従って、各ブロックに関するゲイン情報を容易に適切に決定することができる。
【００２９】
さらに本発明の符号化装置は、上記課題を解決するために、上記振幅変化部検出手段は、上記各ブロックにおける信号の最大の振幅が直前の上記ブロックにおける信号の最大の振幅よりも大きい場合に、上記第１の所定値および上記第２の所定値を振幅増加を伴う上記振幅変化部を検出するための値に設定し、上記ゲイン情報決定手段は、上記振幅変化部検出手段によって振幅増加を伴う上記振幅変化部が検出された上記先頭変化ブロックに関する上記ゲイン情報を、上記ゲイン補正時に逆数で使用されるゲインとして、上記先頭変化ブロックの先頭の上記サブブロックに時間軸上で上記第２変化量に応じた１より大きい値から１まで変化するゲインを与え、上記先頭変化ブロックの先頭より後の上記サブブロックに１のゲインを与えるように決定することを特徴としている。
【００３０】
上記の発明によれば、各ブロックにおける信号の最大の振幅が直前のブロックにおける信号の最大の振幅よりも大きい場合に、振幅変化部検出手段は第１の所定値および第２の所定値を振幅増加を伴う振幅変化部を検出するための値に設定する。すなわち、振幅変化部検出手段は振幅変化部としてアタック部を検出する。そして、振幅変化部検出手段によって先頭のサブブロックにアタック部が検出された場合には、ゲイン情報決定手段は、このブロックに関するゲイン情報を、ゲイン補正時に逆数で使用されるゲインとして、直前のブロックには第２変化量に応じた１より大きい値のゲインを与え、アタック部の存在する先頭のサブブロックには時間軸上で第２変化量に応じた上記値から１まで変化する値のゲインを与え、先頭より後のサブブロックには１のゲインを与えるように決定する。
【００３１】
これにより、先頭のサブブロックに振幅変化部としてアタック部が存在する場合に、プリエコーを防止するための適切なゲイン情報を、特に良好なゲイン関係で決定することができる。
【００３２】
さらに本発明の符号化装置は、上記課題を解決するために、上記振幅変化部検出手段は、上記各ブロックにおける信号の最大の振幅が直前の上記ブロックにおける信号の最大の振幅以下である場合、および、上記各ブロックにおける信号の最大の振幅が直前の上記ブロックにおける信号の最大の振幅よりも大きくて、上記第１の所定値および上記第２の所定値を振幅増加を伴う上記振幅変化部を検出するための値に設定して振幅増加を伴う上記振幅変化部が検出されなかった場合に、上記第１の所定値および上記第２の所定値を振幅減少を伴う上記振幅変化部を検出するための値に設定し、上記ゲイン情報決定手段は、上記振幅変化部検出手段によって振幅減少を伴う上記振幅変化部が検出された上記先頭変化ブロックに関する上記ゲイン情報を、上記ゲイン補正時に逆数で使用されるゲインとして、上記先頭変化ブロックの先頭の上記サブブロックに時間軸上で１から上記第２変化量に応じた１より大きい値まで変化するゲインを与え、上記先頭変化ブロックの先頭より後の上記サブブロックに上記第２変化量に応じた上記値のゲインを与えるように決定することを特徴としている。
【００３３】
上記の発明によれば、各ブロックの信号における最大の振幅が直前のブロックにおける信号の最大の振幅以下である場合、および、各ブロックにおける信号の最大の振幅が直前のブロックにおける信号の最大の振幅よりも大きくて、第１の所定値および第２の所定値を振幅増加を伴う振幅変化部、すなわちアタック部を検出するための値に設定したときにアタック部が検出されなかった場合に、振幅変化部検出手段は第１の所定値および第２の所定値を振幅減少を伴う振幅変化部を検出するための値に設定する。すなわち、振幅変化部検出手段は振幅変化部としてリリース部を検出する。
【００３４】
そして、振幅変化部検出手段によって先頭のサブブロックにリリース部が検出された場合には、ゲイン情報決定手段は、このブロックに関するゲイン情報を、ゲイン補正時に逆数で使用されるゲインとして、直前のブロックには１のゲインを与え、リリース部の存在する先頭のサブブロックには時間軸上で１から第２変化量に応じた１より大きい値まで変化する値のゲインを与え、先頭より後のサブブロックには第２変化量に応じた上記値のゲインを与えるように決定する。
【００３５】
これにより、先頭のサブブロックに振幅変化部としてリリース部が存在する場合に、ポストエコーを防止するための適切なゲイン情報を、特に良好なゲイン関係で決定することができる。
【００３６】
【発明の実施の形態】
本発明の符号化装置を具現する一実施の形態について、図１ないし図５に基づいて説明すれば、以下の通りである。
【００３７】
図４に、本実施の形態に係る符号化装置１の構成を示す。符号化装置１は、周波数帯域分割部２、ウィンドウ部３、アタック／リリース部検出部４、ゲイン制御部５、時間周波数変換部６、量子化部７、およびパッキング部８を備えている。
【００３８】
周波数帯域分割部（ブロック化手段）２は、各サンプルが多値で表される時間軸上のデジタルオーディオ信号として与えられる入力信号を、Ｎサンプルからなる所定の単位時間ごとにブロック化し、ＱＭＦフィルタを用いて複数の周波数帯域に分割する。上記単位時間は例えばＭＤ用の圧縮を行う場合には２３．２ｍｓｅｃといった時間である。ウィンドウ部３は周波数帯域ごとの各ブロックの入力信号にウィンドウ係数をかける。アタック／リリース部検出部（振幅変化部検出手段、ゲイン情報決定手段）４は、ウィンドウ部３によってウィンドウ係数がかけられた各ブロック内の入力信号に存在する振幅変化部としてのアタック部やリリース部を検出し、検出結果に基づいて各ブロックに関する復号化までに使用されるゲイン情報を決定する。ゲイン制御部（ゲイン制御手段）５は、アタック／リリース部検出部４のアタック部およびリリース部の検出結果と、アタック／リリース部検出部４により決定されたゲイン情報とに基づいて各ブロックの信号にゲイン制御を行う。
【００３９】
時間周波数変換部（スペクトル変換手段）６は、ＭＤＣＴを用いてスペクトル変換を行い、ゲイン制御部５によってゲイン制御が施された時間軸上の信号を周波数軸上の信号に変換する。量子化部７は、時間周波数変換部６によって得られた周波数軸上の信号を量子化する。パッキング部８は、アタック／リリース部検出部４によって決定されたゲイン情報と、量子化部７によって得られた量子化情報および量子化信号とのパッキングを行って符号化情報として出力する。量子化部７およびパッキング部８は、時間周波数変換部６によって得られた周波数軸上の信号を符号化してゲイン情報を含む符号化情報を出力する符号化手段を構成している。パッキング部８によって得られた符号化情報は、同図に示すように、ＭＤなどの磁気記録メディアや、フラッシュメモリなどの半導体メディアといった記録メディア９に記録される。
【００４０】
次に、上記符号化装置１によって得られた符号化情報から信号を復号化する際に用いる復号化装置１１の構成を図５に示す。復号化装置１１は、アンパッキング部１２、逆量子化部１３、周波数時間変換部１４、ゲイン補正部１５、隣接ブロック合成部１６、および周波数帯域合成部１７を備えている。
【００４１】
アンパッキング部１２は、同図に示すように記録メディア９に記録されている符号化情報からゲイン情報、量子化情報、および量子化信号を取り出す。逆量子化部１３は、アンパッキング部１２によって取り出された量子化信号を量子化情報を用いて逆量子化する。周波数時間変換部１４は、逆ＭＤＣＴを用いて逆スペクトル変換を行うことにより、周波数軸上の信号を時間軸上の信号に変換する。ゲイン補正部１５は、アンパッキング部１２によって取り出されたゲイン情報に基づき、周波数時間変換部１４によって得られた信号のゲイン補正を行う。隣接ブロック合成部１６は、ゲイン補正部１５によって得られた信号に対し、同じブロックのものを重ね合わせた上で隣り合うブロックを合成する。周波数帯域合成部１７は、隣接ブロック合成部１６によって得られた信号についてＩＱＭＦフィルタを用いて各周波数帯域の合成を行って復号化されたオーディオ信号を出力する。
【００４２】
次に、上記構成の符号化装置１による、プリエコーやポストエコーを防止する符号化処理について説明する。
【００４３】
（１）プリエコーのみを防止する場合
まず、プリエコーのみを防止する場合の符号化処理について説明する。アタック／リリース部検出部４は、各ブロック内の信号にアタック部があるか否かを、現在注目しているブロックである今回処理ブロックと該今回処理ブロックの時間軸上で直前のブロックである前回処理ブロックとの両方を用いて判定する。オーディオ信号ではアタック部が、通常、多数ブロックにわたる無音の準定常状態から多数ブロックにわたる強振幅状態に移行する際に現れるので、今回処理ブロックにアタック部が存在するとすれば、前回処理ブロックは無音の準定常状態であり、今回処理ブロックには強振幅状態が存在する。従って、今回処理ブロックにおける信号の最大値と、前回処理ブロックにおける信号の最大値とを比較し、今回処理ブロックの方が前回処理ブロックよりも大きければ、今回処理ブロックにアタック部が存在する可能性があると判定する。今回処理ブロックにおける信号の最大値が、前回処理ブロックにおける信号の最大値以下であれば、今回処理ブロックにアタック部は存在しないと判定する。上記最大値は各ブロックの信号の最大の振幅である。
【００４４】
アタック／リリース部検出部４は、今回処理ブロックにおける信号の最大値が、前回処理ブロックにおける信号の最大値よりも大きければ、すなわち今回処理ブロックにアタック部が存在する可能性があると判定した場合は、図１（ａ）に示すように、今回処理ブロックを時間軸上で先頭付近を分離することのできる程度の間隔で複数のサブブロックｅ０〜ｅ７に分割する。次いで、各サブブロックにおける信号Ａ１の最大値を算出する。該最大値は各サブブロックにおける信号Ａ１の最大の振幅である。アタック部は振幅増加を伴う振幅変化部であるので、次に、時間軸上で、先頭のサブブロックｅ０から順に最大値を次のサブブロックの最大値と比較していき、急激に増加するサブブロックがあればそのサブブロックをアタック部とする。急激に増加しているか否かは、第１アタック部検出用所定値（第１の所定値）を設定し、最大値が第１アタック部検出用所定値以上の変化量である第１アタック部変化量（第１変化量）で増加方向に変化しているか否かで判断する。第１アタック部検出用所定値は、プリエコーが発生する振幅変化であると判断して予め定めた基準値である。ここではサブブロックの最大値が直前のサブブロックの最大値に対して何倍になっているかという値を、例えば４０ｄＢ差といったように設定した第１アタック部検出用所定値と比較することとする。
【００４５】
図１（ａ）は最大値がサブブロックｅ５においてサブブロックｅ４から第１アタック部変化量で変化していることを示しており、サブブロックｅ５がアタック部であり、今回処理ブロックはアタック部が先頭付近よりも後に存在する途中変化ブロックである。図１（ａ）においてサブブロックｅ５の最大値がサブブロックｅ４の最大値のＲ１倍（Ｒ１＞１）、すなわち第１アタック部変化量がＲ１であった場合、アタック／リリース部検出部４は第１アタック部変化量に基づくゲインとして、アタック部直前のサブブロックｅ４に過渡期ブロックとして時間軸上でＲ１から１まで滑らかに変化するゲインＧ１を与え、それ以前の無音の準定常状態であるサブブロックｅ０〜ｅ３にＲ１のゲインＧ１を与え、アタック部であるサブブロックｅ５およびアタック部の後の強振幅状態であるサブブロックｅ６・ｅ７に１のゲインＧ１を与えるゲイン制御関数を作成する。ここで、サブブロックｅ４に時間軸上でＲ１から１まで滑らかに変化するゲインＧ１を与えているが、予めテーブルを設けておき、その中からＲ１を越えない最大の値を選んでその値から１まで滑らかに変化するゲインを与えてもよい。
【００４６】
ここで、時間周波数変換部６はスペクトル変換としてＭＤＣＴを用い、前回処理ブロックの信号と今回処理ブロックの信号との２Ｎ個のサンプルを用いてスペクトル変換を行ってＮ個のサンプルの周波数軸上の信号を得るようにしている。従って、２つのブロックのレベル差を無くすために、上記ゲイン制御関数は前回処理ブロックにもゲインＧ１を与え、前回処理ブロックのゲインＧ１が今回処理ブロックの先頭のサブブロックｅ０のゲインＧ１と等しくなるようにする。従って、前回処理ブロックのゲインＧ１はＲ１となる。また、このゲイン制御関数が今回処理ブロックに関するゲイン情報となる。
【００４７】
図１（ａ）の場合、ゲイン制御部５によって上記ゲイン制御関数のゲインＧ１で今回処理ブロックに関するゲイン制御を行い、時間周波数変換部６、量子化部７、パッキング部８によって順に、スペクトル変換、量子化、パッキングを行う。このようにして得られた符号化情報から復号化装置１１によって信号を復号化する際には、アンパッキング部１２、逆量子化部１３、周波数時間変換部１４で順に、アンパッキング、逆量子化、逆スペクトル変換を行って得られた信号に対してゲイン補正部１５がアンパッキング部１２で取り出されたゲイン情報を用いてゲイン補正を行う。
【００４８】
この場合、ゲイン補正部１５は、符号化の際に用いたゲイン制御関数のゲインＧ１の逆数を与えるゲイン補正関数を用いてゲイン補正を行う。上記例では、前回処理ブロックが１／Ｒ１の補正ゲイン、今回処理ブロックのサブブロックｅ０〜ｅ３が１／Ｒ１の補正ゲイン、サブブロックｅ４が１／Ｒ１から１まで滑らかに変化する補正ゲイン、サブブロックｅ５〜ｅ７が１の補正ゲインとなるゲイン補正関数を用いる。隣接ブロック合成部１６では、今回処理ブロックについて周波数時間変換部１４によって得られてゲイン補正部１５でゲイン補正された２つのブロックと、前回処理ブロックについて同様にして得られた２つのブロックとのうちの同じ信号のブロックの信号レベルを一致させて重ね合わせることにより、隣接する各ブロックを合成する。周波数帯域合成部１７は、隣接ブロック合成部１６によって得られた周波数帯域ごとのブロックを合成して復号化された信号を出力する。
【００４９】
上記のようにゲイン補正を行うことにより、無音の準定常状態における量子化雑音が抑制されるため、復号化された出力信号に発生する図１（ａ）の量子化雑音Ｂ１は無音の準定常状態では非常に小さく、プリエコーを防止することができる。
【００５０】
次に、上述のようにサブブロックｅ０〜ｅ７の最大値を順に比較した結果、第１アタック部変化量で変化するサブブロックが存在しなかった場合の処理について説明する。第１アタック部変化量で変化するサブブロックが存在しない場合には、図２の信号Ａ２のように先頭のサブブロックｅ０がアタック部である場合が含まれる。このとき、今回処理ブロックはアタック部が先頭付近に存在する先頭変化ブロックである。このような場合に同図のように前回処理ブロックに対しても今回処理ブロックに対してもゲインＧ２’を１として、すなわちゲイン制御を行わずに、スペクトル変換し、復号化の際にもゲイン補正を行わないようにすると、同図に示すように量子化雑音Ｂ２’は無音の準定常状態において元の信号よりもレベルが大きくなるため、マスク効果がなく、プリエコーが発生する。
【００５１】
そこで、アタック／リリース部検出部４は、第２アタック部検出用所定値（第２の所定値）を設定し、前回処理ブロックの最大値と今回処理ブロックのサブブロックｅ０の最大値とを比較して、サブブロックｅ０の最大値が前回処理ブロックの最大値に対して、第２アタック部検出用所定値以上の変化量である第２アタック部変化量（第２変化量）だけ増加方向に異なればサブブロックｅ０をアタック部とする。第２アタック部検出用所定値は、プリエコーが発生する振幅変化であると判断して予め定めた基準値である。ここではサブブロックｅ０の最大値が前回処理ブロックの最大値に対して何倍になっているかという値を、例えば４０ｄＢ差といったように設定した第２アタック部検出用所定値と比較することとする。
【００５２】
図１（ｂ）はサブブロックｅ０の最大値が前回処理ブロックの最大値と第２アタック部変化量だけ異なっていることを示しており、サブブロックｅ０がアタック部である。図１（ｂ）においてサブブロックｅ０の最大値が前回処理ブロックの最大値のＲ２倍（Ｒ２＞１）、すなわち第２アタック部変化量がＲ２であった場合、アタック／リリース部検出部４は第２アタック部変化量に基づいたゲインとして、今回処理ブロックのアタック部であるサブブロックｅ０に時間軸上でＲ２から１まで滑らかに変化するゲインＧ２を与え、アタック部より後の強振幅状態であるサブブロックｅ１〜ｅ７に１のゲインＧ２を与え、無音の準定常状態である前回処理ブロックにＲ２のゲインＧ２を与えるゲイン情報を作成する。このゲイン情報が今回処理ブロックに関するゲイン情報となる。ここで、サブブロックｅ０に時間軸上でＲ２から１まで滑らかに変化するゲインＧ２を与えているが、予めテーブルを設けておき、その中からＲ２を越えない最大の値を選んでその値から１まで滑らかに変化するゲインを与えてもよい。
【００５３】
上記ゲインＧ２のゲイン情報を作成した場合は、ゲイン制御部５は該ゲイン情報を使用したゲイン制御を行わない。ゲイン制御を行わないことは１のゲインでゲイン制御を行うことと等価である。ゲイン制御を行わないので、アタック部以前の無音の準定常状態をＲ２倍すること、アタック部であるサブフレームｅ０の入力信号のレベルをＲ２倍もしくはＲ２から算出される値分だけ大きくすることにより発生する可能性のあるオーバーフローを防止することができる。
【００５４】
図１（ｂ）の場合、ゲイン制御部５によってゲイン制御が行われなかった信号に対して、時間周波数変換部６、量子化部７、パッキング部８によって順に、スペクトル変換、量子化、パッキングを行う。このようにして得られた符号化情報には、上記ゲイン情報と、ゲイン制御が行われずにスペクトル変換されて量子化されることにより得られた量子化信号および量子化情報とが含まれている。この符号化情報から復号化装置１１によって信号を復号化する際には、アンパッキング部１２、逆量子化部１３、周波数時間変換部１４で順に、アンパッキング、逆量子化、逆スペクトル変換を行って得られた信号に対してゲイン補正部１５がアンパッキング部１２で取り出されたゲイン情報を用いてゲイン補正を行う。
【００５５】
この場合、ゲイン補正部１５は、符号化の際に用いなかったゲイン情報のゲインＧ２の逆数を与えるゲイン補正関数を用いてゲイン補正を行う。上記例では、前回処理ブロックが１／Ｒ２の補正ゲイン、今回処理ブロックのサブブロックｅ０は１／Ｒ２から１まで滑らかに変化する補正ゲイン、サブブロックｅ１〜ｅ７が１の補正ゲインとなるゲイン補正関数を用いる。隣接ブロック合成部１６は前述と同様にして各ブロックを合成し、周波数帯域合成部１７は前述と同様にして周波数帯域ごとのブロックを合成して復号化された信号を出力する。
【００５６】
上記のようにゲイン補正を行うことにより、無音の準定常状態である前回処理ブロックにおける量子化雑音が抑制されるため、復号化された出力信号に発生する図１（ｂ）の量子化雑音Ｂ２は無音の準定常状態では非常に小さく、プリエコーを防止することができる。
【００５７】
以上が今回処理ブロックにアタック部が存在する場合の処理の説明である。なお、今回処理ブロックにおける信号の最大値が前回処理ブロックにおける信号の最大値以下である場合、および、今回処理ブロックにおける信号の最大値が前回処理ブロックにおける信号の最大値より大きくて今回処理ブロックが途中変化ブロックでも先頭変化ブロックでもない場合は、アタック／リリース部検出部４はゲイン制御を行わない（１のゲインでゲイン制御を行うことと等価）ことを示すゲイン情報を作成し、ゲイン制御部５は今回処理ブロックに関するゲイン制御を行わない。従って復号化の際のゲイン補正も行わない。
【００５８】
（２）ポストエコーのみを防止する場合
次に、ポストエコーのみを防止する場合の符号化処理について説明する。アタック／リリース部検出部４は、各ブロック内の信号にリリース部があるか否かを、現在注目しているブロックである今回処理ブロックと該今回処理ブロックの時間軸上で直前のブロックである前回処理ブロックとの両方を用いて判定する。オーディオ信号ではリリース部が、通常、多数ブロックにわたる強振幅状態から多数ブロックにわたる無音の準定常状態に移行する際に現れるので、今回処理ブロックにリリース部が存在するとすれば、前回処理ブロックは強振幅状態であり、今回処理ブロックには無音の準定常状態が存在してアタック部は存在しない。
【００５９】
従って、アタック／リリース部検出部４は、今回処理ブロックにおける信号の最大値と、前回処理ブロックにおける信号の最大値とを比較し、今回処理ブロックにおける信号の最大値が前回処理ブロックにおける信号の最大値以下である場合、および、（１）で述べたように今回処理ブロックにおける信号の最大値が前回処理ブロックにおける信号の最大値よりも大きくて、第１アタック部検出用所定値および第２アタック部検出用所定値を用いてアタック部を検出した際にアタック部が検出されなかった場合に、今回処理ブロックにリリース部が存在する可能性があると判定する。上記最大値は各ブロックの最大の振幅である。
【００６０】
アタック／リリース部検出部４は、今回処理ブロックにリリース部が存在する可能性があると判定した場合は、図３（ａ）に示すように、今回処理ブロックを（１）と同様のサブブロックｅ０〜ｅ７に分割する。今回処理ブロックにおける信号の最大値が前回処理ブロックの信号における信号の最大値よりも大きくて、第１アタック部検出用所定値および第２アタック部検出用所定値を用いてまずアタック部を検出した際にアタック部を検出することができなかった場合は、アタック部の検出に用いたサブブロックｅ０〜ｅ７をそのまま用いる。
【００６１】
次いで、各サブブロックにおける信号Ａ３の最大値を算出する。該最大値は各サブブロックにおける信号Ａ３の最大の振幅である。リリース部は振幅減少を伴う振幅変化部であるので、次に、時間軸上で、先頭のサブブロックｅ０から順に最大値を次のサブブロックの最大値と比較していき、急激に減少するサブブロックがあればそのサブブロックをリリース部とする。急激に減少しているか否かは、第１リリース部検出用所定値（第１の所定値）を設定し、第１リリース部検出用所定値以上の変化量である第１リリース部変化量（第１変化量）で最大値が減少方向に変化しているか否かで判断する。第１リリース部検出用所定値は、ポストエコーが発生する振幅変化であると判断して予め定めた基準値である。ここではサブブロックの最大値が直前のサブブロックの最大値に対して何倍になっているかという値の逆数を、例えば４０ｄＢ差といったように設定した第１リリース部検出用所定値と比較することとする。
【００６２】
図３（ａ）は最大値がサブブロックｅ５においてサブブロックｅ４から第１リリース部変化量で変化していることを示しており、サブブロックｅ５がリリース部であり、今回処理ブロックはリリース部が先頭付近よりも後に存在する途中変化ブロックである。図３（ａ）においてサブブロックｅ５の最大値がサブブロックｅ４の最大値の１／Ｒ３倍（Ｒ３＞１）、すなわち第１リリース部変化量がＲ３であった場合、アタック／リリース部検出部４は第１リリース部変化量に基づくゲインとして、リリース部より前の強振幅状態であるサブブロックｅ０〜ｅ４に１のゲインＧ３を与え、リリース部より後の無音の準定常状態であるサブブロックｅ６・ｅ７にＲ３のゲインＧ３を与え、リリース部であるサブブロックｅ５に過渡期ブロックとして時間軸上で１からＲ３まで滑らかに変化するゲインＧ３を与えるゲイン制御関数を作成する。ここで、サブブロックｅ５に時間軸上で１からＲ３まで滑らかに変化するゲインＧ３を与えているが、予めテーブルを設けておき、その中からＲ３を越えない最大の値を選んで１からその値まで滑らかに変化するゲインを与えてもよい。
【００６３】
ここで、時間周波数変換部６はスペクトル変換としてＭＤＣＴを用いているので、（１）で述べたのと同一の理由により、上記ゲイン制御関数は前回処理ブロックにもゲインＧ３を与え、前回処理ブロックのゲインＧ３が今回処理ブロックの先頭のサブブロックｅ０のゲインＧ３と等しくなるようにする。従って、前回処理ブロックのゲインＧ３は１となる。また、このゲイン制御関数が今回処理ブロックに関するゲイン情報となる。
【００６４】
図３（ａ）の場合、ゲイン制御部５によって上記ゲイン制御関数のゲインＧ３で今回処理ブロックに関するゲイン制御を行い、時間周波数変換部６、量子化部７、パッキング部８によって順に、スペクトル変換、量子化、パッキングを行う。このようにして得られた符号化情報から復号化装置１１によって信号を復号化する際には、アンパッキング部１２、逆量子化部１３、周波数時間変換部１４で順に、アンパッキング、逆量子化、逆スペクトル変換を行って得られた信号に対してゲイン補正部１５がアンパッキング部１２で取り出されたゲイン情報を用いてゲイン補正を行う。
【００６５】
この場合、ゲイン補正部１５は、符号化の際に用いたゲイン制御関数のゲインＧ３の逆数を与えるゲイン補正関数を用いてゲイン補正を行う。上記例では、前回処理ブロックが１の補正ゲイン、今回処理ブロックのサブブロックｅ０〜ｅ４が１の補正ゲイン、サブブロックｅ５が１から１／Ｒ３まで滑らかに変化する補正ゲイン、サブブロックｅ６・ｅ７が１／Ｒ３の補正ゲインとなるゲイン補正関数を用いる。隣接ブロック合成部１６では、今回処理ブロックについて周波数時間変換部１４によって得られてゲイン補正部１５でゲイン補正された２つのブロックと、前回処理ブロックについて同様にして得られた２つのブロックとのうちの同じ信号のブロックの信号レベルを一致させて重ね合わせることにより、隣接する各ブロックを合成する。周波数帯域合成部１７は、隣接ブロック合成部１６によって得られた周波数帯域ごとのブロックを合成して復号化された信号を出力する。
【００６６】
上記のようにゲイン補正を行うことにより、無音の準定常状態における量子化雑音が抑制されるため、復号化された出力信号に発生する図３（ａ）の量子化雑音Ｂ３は非常に小さく、ポストエコーを防止することができる。
【００６７】
次に、上述のようにサブブロックｅ０〜ｅ７の最大値を順に比較した結果、第１リリース部変化量で変化するサブブロックが存在しなかった場合の処理について説明する。第１リリース部変化量で変化するサブブロックが存在しない場合には、図３（ｂ）の信号Ａ４のように先頭のサブブロックｅ０がリリース部である場合が含まれる。このとき、今回処理ブロックはリリース部が先頭付近に存在する先頭変化ブロックである。このような場合に同図のように前回処理ブロックに対しても今回処理ブロックに対してもゲインを１として、すなわちゲイン制御を行わずに、スペクトル変換し、復号化の際にもゲイン補正を行わないと、量子化雑音は無音の準定常状態において元の信号よりもレベルが大きくなるため、マスク効果がなく、ポストエコーが発生する。
【００６８】
そこで、アタック／リリース部検出部４は、前回処理ブロックの最大値と今回処理ブロックのサブブロックｅ０の最大値とを比較して、サブブロックｅ０の最大値が前回処理ブロックの最大値に対して、第２リリース部検出用所定値（第２の所定値）を設定し、第２リリース部検出用所定値以上の変化量である第２リリース部変化量（第２変化量）だけ減少方向に異なればサブブロックｅ０をリリース部とする。第２リリース部検出用所定値は、ポストエコーが発生する振幅変化であると判断して予め定めた基準値である。ここではサブブロックｅ０の最大値が前回処理ブロックの最大値に対して何倍になっているかという値の逆数を、例えば４０ｄＢ差といったように設定した第２リリース部検出用所定値と比較することとする。
【００６９】
図３（ｂ）はサブブロックｅ０の最大値が前回処理ブロックの最大値と第２リリース部変化量だけ異なっていることを示しており、サブブロックｅ０がリリース部である。図３（ｂ）においてサブブロックｅ０の最大値が前回処理ブロックの最大値の１／Ｒ４倍（Ｒ４＞１）、すなわち第２リリース部変化量がＲ４であった場合、アタック／リリース部検出部４は第２リリース部変化量に基づいたゲインとして、リリース部であるサブブロックｅ０に時間軸上で１からＲ４まで滑らかに変化するゲインＧ４を与え、今回処理ブロックのリリース部より後の無音の準定常状態であるサブブロックｅ１〜ｅ７にＲ４のゲインＧ４を与え、強振幅状態である前回処理ブロックに１のゲインＧ４を与えるゲイン情報を作成する。このゲイン情報が今回処理ブロックに関するゲイン情報となる。ここで、サブブロックｅ０に時間軸上で１からＲ４まで滑らかに変化するゲインＧ４を与えているが、予めテーブルを設けておき、その中からＲ４を越えない最大の値を選んで１からその値まで滑らかに変化するゲインを与えてもよい。
【００７０】
上記ゲインＧ４のゲイン情報を作成した場合は、（１）で述べたのと同様の理由により、ゲイン制御部５は該ゲイン情報を使用したゲイン制御を行わない。ゲイン制御を行わないことは１のゲインでゲイン制御を行うことと等価である。
【００７１】
図３（ｂ）の場合、ゲイン制御部５によってゲイン制御が行われなかった信号に対して、時間周波数変換部６、量子化部７、パッキング部８によって順に、スペクトル変換、量子化、パッキングを行う。このようにして得られた符号化情報には、上記ゲイン情報と、ゲイン制御が行われずにスペクトル変換されて量子化されることにより得られた量子化信号および量子化情報とが含まれている。この符号化情報から復号化装置１１によって信号を復号化する際には、アンパッキング部１２、逆量子化部１３、周波数時間変換部１４で順に、アンパッキング、逆量子化、逆スペクトル変換を行って得られた信号に対してゲイン補正部１５がアンパッキング部１２で取り出されたゲイン情報を用いてゲイン補正を行う。
【００７２】
この場合、ゲイン補正部１５は、符号化の際に用いなかったゲイン情報のゲインＧ４の逆数を与えるゲイン補正関数を用いてゲイン補正を行う。上記例では、前回処理ブロックが１の補正ゲイン、今回処理ブロックのサブブロックｅ０は１から１／Ｒ４まで滑らかに変化する補正ゲイン、サブブロックｅ１〜ｅ７が１／Ｒ４の補正ゲインとなるゲイン補正関数を用いる。隣接ブロック合成部１６は前述と同様にして各ブロックを合成し、周波数帯域合成部１７は前述と同様にして周波数帯域ごとのブロックを合成して復号化された信号を出力する。
【００７３】
上記のようにゲイン補正を行うことにより、無音の準定常状態であるサブブロックｅ０〜ｅ７における量子化雑音が抑制されるため、復号化された出力信号に発生する図３（ｂ）の量子化雑音Ｂ４は非常に小さく、ポストエコーを防止することができる。
【００７４】
以上が今回処理ブロックにリリース部が存在する場合の処理の説明である。なお、今回処理ブロックにアタック部が検出される場合、および、今回処理ブロックにアタック部もリリース部も検出されない場合は、アタック／リリース部検出部４はゲイン制御を行わない（１のゲインでゲイン制御を行うことと等価）ことを示すゲイン情報を作成し、ゲイン制御部５は今回処理ブロックに関するゲイン制御を行わない。従って復号化の際のゲイン補正も行わない。
【００７５】
（３）プリエコーおよびポストエコーの両方を防止する場合
次に、プリエコーおよびポストエコーの両方を防止する場合の符号化処理について説明する。アタック／リリース部検出部４は、今回処理ブロックの入力信号の最大値と、前回処理ブロックの入力信号の最大値とを比較し、今回処理ブロックの方が前回処理ブロックよりも大きい場合は、（１）で述べた方法でアタック部を検出する処理をまず行い、アタック部が検出されればプリエコーを防止する処理を行う。また、上記処理でアタック部が検出されなかった場合、および、今回処理ブロックの入力信号の最大値が前回処理ブロックの入力信号の最大値以下である場合は、（２）で述べた方法でリリース部を検出する処理を行い、リリース部が検出されればポストエコーを防止する処理を行う。
【００７６】
以上に述べたように、本実施の形態に係る符号化装置１によれば、アタック／リリース部検出部４は、アタック部やリリース部などの振幅変化部が今回処理ブロックの先頭付近よりも後に存在する場合には、これらを今回処理ブロック内での信号の振幅変化により検出し、振幅変化部が今回処理ブロックの先頭付近に存在する場合には、これらを今回処理ブロックにおける信号の振幅である最大値と、前回処理ブロックにおける信号の振幅である最大値との比較により検出する。これにより、振幅変化部が今回処理ブロックのどこに存在しても、振幅変化部を検出することができる。
【００７７】
そして、時間周波数変換部６を今回処理ブロックの信号と前回処理ブロックの信号とを用いて今回処理ブロックに関するスペクトル変換を行うものとし、アタック／リリース部検出部４によってゲイン情報を今回処理ブロックに関するスペクトル変換に用いる今回処理ブロックと前回処理ブロックとの組ごとに、今回処理ブロックの先頭部分の信号のゲインと前回処理ブロックの信号のゲインとが等しくなるように決定する。
【００７８】
ここで、振幅変化部が今回処理ブロックの先頭付近よりも後に存在する場合には、アタック／リリース部検出部４がブロック内での信号の振幅変化である各サブブロックの最大値の変化に基づいて今回処理ブロックに関するゲイン情報を決定し、ゲイン制御部５がそのゲイン情報を用いて今回処理ブロックに関するゲイン制御を行う。また、振幅変化部が今回処理ブロックの先頭付近に存在する場合には、アタック／リリース部検出部４が今回処理ブロックにおける信号の最大値と前回処理ブロックにおける信号の最大値との比較に基づいて今回処理ブロックに関するゲイン情報を決定するが、このゲイン情報を復号化装置１１による復号化の際のゲイン補正部１５におけるゲイン補正用のみのものとする。この場合にゲイン制御部５はゲインを１として今回処理ブロックに関するゲイン制御を行う。
【００７９】
これにより、振幅変化部がブロックの先頭付近よりも後に存在する場合でも、振幅変化部がブロックの先頭付近に存在する場合でも、各ブロックに関して施されるゲイン制御は各ブロックにつき１回以下であって振幅変化部に容易に適切なゲインが設定されるとともに、今回処理ブロックと前回処理ブロックとのゲイン関係が容易に適切に設定される。従って、上記ゲイン情報を用いる復号化の際に量子化雑音が抑制された良好な復号化信号を得ることができる。
【００８０】
以上により、デジタルオーディオ信号をブロック化してスペクトル変換を行う構成でありながら、ブロックの先頭にアタック部が存在する場合にも容易にプリエコーを防止することができ、またブロックの先頭にリリース部が存在する場合にも容易にポストエコーを防止することができる。
【００８１】
また、符号化装置１によれば、アタック／リリース部検出部４は、各サブブロックにおける信号の最大値が第１アタック部変化量、第１リリース部変化量で変化すれば、変化時点のサブブロックをブロックの先頭付近よりも後に存在する振幅変化部とし、先頭のサブブロックにおける信号の最大値が前回処理ブロックにおける信号の最大値に対して第２アタック部変化量、第２リリース部変化量だけ異なれば先頭のサブブロックを振幅変化部とする。このような振幅変化部の検出は、前述したオーディオ信号のアタック部やリリース部の現れ方を利用した正確かつ容易な検出である。
【００８２】
従って、ブロックの先頭付近よりも後に存在する振幅変化部と、ブロックの先頭付近に存在する振幅変化部との両方を、正確かつ容易に検出することができる。
【００８３】
さらに、符号化装置１によれば、アタック／リリース部検出部４は、振幅変化部が先頭付近よりも後に存在するブロックに関するゲイン情報を、振幅変化部の検出の際に得られた第１アタック部変化量、第１リリース部変化量に基づいたゲインを与えるように決定する。また、振幅変化部が先頭付近に存在するブロックに関するゲイン情報を、振幅変化部の検出の際に得られた第２アタック部変化量、第２リリース部変化量に基づいたゲインを与えるように決定する。従って、各ブロックに関するゲイン情報を容易に適切に決定することができる。
【００８４】
さらに、符号化装置１によれば、アタック／リリース部検出部４は、第２アタック部検出用所定値、第２リリース部検出用所定値を用いて先頭のサブブロックにアタック部、リリース部を検出した場合に、このブロックに関するゲイン情報を、図１（ｂ）、図３（ｂ）のように第２アタック部検出用所定値、第２リリース部検出用所定値に基づいて変化するゲインを与えるように決定する。これにより、先頭のサブブロックに振幅変化部としてアタック部、リリース部が存在する場合に、プリエコー、ポストエコーを防止するための適切なゲイン情報を、特に良好なゲイン関係で決定することができる。
【００８５】
なお、以上の説明では、多数ブロックにわたる無音の準定常状態と多数ブロックにわたる強振幅状態との切り換わりによる無音の準定常状態における量子化雑音を抑制する構成について述べたが、無音の準定常状態中に短い強振幅状態が現れる場合や、強振幅状態中に短い無音部分が現れる場合は、短い強振幅状態の前後や無音部分で聴感上の障害になるような量子化雑音はもともと発生しにくいので、その量子化雑音を必ずしも抑制する必要はない。しかし、本実施の形態で述べたプリエコーやポストエコーを防止する構成によって、そのような量子化雑音による聴感への影響をも抑制することもできる。大きな振幅増加と大きな振幅減少との両方が同一のブロック処理に関わる場合には、いずれか一方に起因する量子化雑音を抑制することにより聴感への影響を十分に抑制することができる。
【００８６】
【発明の効果】
本発明の符号化装置は、以上のように、上記スペクトル変換手段は、上記各ブロックの信号と直前の上記ブロックの信号とを用いて上記各ブロックに関するスペクトル変換を行い、上記振幅変化部検出手段は、上記振幅変化部が先頭付近よりも後に存在する上記ブロックである途中変化ブロックの上記振幅変化部を上記途中変化ブロック内での信号の振幅変化により検出する一方、上記振幅変化部が先頭付近に存在する上記ブロックである先頭変化ブロックの上記振幅変化部を上記先頭変化ブロックにおける信号の振幅と直前の上記ブロックにおける信号の振幅の最大値との比較により検出し、上記ゲイン情報決定手段は、上記ゲイン情報を上記各ブロックに関するスペクトル変換に用いる上記各ブロックと直前の上記ブロックとの組ごとに上記各ブロックの先頭部分における信号のゲインと直前の上記ブロックにおける信号のゲインとが等しくなるように決定するとともに、上記途中変化ブロックに関する上記ゲイン情報を上記途中変化ブロック内での信号の振幅変化に基づいて決定する一方、上記先頭変化ブロックに関する上記ゲイン情報を上記比較に基づいて復号化の際のゲイン補正用のみとして決定し、上記ゲイン制御手段は、上記途中変化ブロックに関する上記ゲイン制御を上記途中変化ブロックに関する上記ゲイン情報を用いて行う一方、上記先頭変化ブロックに関する上記ゲイン制御を、上記ゲイン情報を使用することなくゲインを１として行う構成である。
【００８７】
それゆえ、振幅変化部がブロックのどこに存在しても振幅変化部を検出することができる。さらに、振幅変化部がブロックの先頭付近よりも後に存在する場合でも、振幅変化部がブロックの先頭付近に存在する場合でも、各ブロックに関して施されるゲイン制御は各ブロックにつき１回以下であって振幅変化部に容易に適切なゲインが設定されるとともに、各ブロックとその直前のブロックとのゲイン関係が容易に適切に設定される。従って、上記ゲイン情報を用いる復号化の際に量子化雑音が抑制された良好な復号化信号を得ることができる。
【００８８】
以上により、デジタルオーディオ信号をブロック化してスペクトル変換を行う構成でありながら、ブロックの先頭にアタック部が存在する場合にも容易にプリエコーを防止することができ、またブロックの先頭にリリース部が存在する場合にも容易にポストエコーを防止することができるという効果を奏する。
【００８９】
さらに本発明の符号化装置は、以上のように、上記振幅変化部検出手段は、上記各ブロックを時間軸上で先頭付近を分離することのできる複数のサブブロックに分割し、上記各サブブロックにおける信号の最大の振幅が時間軸上で第１の所定値以上の変化量である第１変化量で変化すれば変化時点の上記サブブロックを上記途中変化ブロックの上記振幅変化部とする一方、上記各サブブロックにおける上記振幅が上記第１変化量で変化せずに先頭の上記サブブロックにおける上記振幅が直前の上記ブロックにおける信号の最大の振幅と第２の所定値以上の変化量である第２変化量だけ異なれば先頭の上記サブブロックを上記先頭変化ブロックの上記振幅変化部とする構成である。
【００９０】
それゆえ、振幅変化部の検出は、オーディオ信号のアタック部やリリース部の現れ方を利用した正確かつ容易な検出となる。従って、ブロックの先頭付近よりも後に存在する振幅変化部と、ブロックの先頭付近に存在する振幅変化部との両方を、正確かつ容易に検出することができるという効果を奏する。
【００９１】
さらに本発明の符号化装置は、以上のように、上記ゲイン情報決定手段は、上記途中変化ブロックに関する上記ゲイン情報を上記第１変化量に基づいたゲインを与えるように決定する一方、上記先頭変化ブロックに関する上記ゲイン情報を上記第２変化量に基づいたゲインを与えるように決定する構成である。
【００９２】
それゆえ、ゲイン情報を、振幅変化部の検出の際に得られた第１変化量、第２変化量に基づいたゲインを与えるように決定する。従って、各ブロックに関するゲイン情報を容易に適切に決定することができるという効果を奏する。
【００９３】
さらに本発明の符号化装置は、以上のように、上記振幅変化部検出手段は、上記各ブロックにおける信号の最大の振幅が直前の上記ブロックにおける信号の最大の振幅よりも大きい場合に、上記第１の所定値および上記第２の所定値を振幅増加を伴う上記振幅変化部を検出するための値に設定し、上記ゲイン情報決定手段は、上記振幅変化部検出手段によって振幅増加を伴う上記振幅変化部が検出された上記先頭変化ブロックに関する上記ゲイン情報を、上記ゲイン補正時に逆数で使用されるゲインとして、上記先頭変化ブロックの先頭の上記サブブロックに時間軸上で上記第２変化量に応じた１より大きい値から１まで変化するゲインを与え、上記先頭変化ブロックの先頭より後の上記サブブロックに１のゲインを与えるように決定する構成である。
【００９４】
それゆえ、先頭のサブブロックに振幅変化部としてアタック部が存在する場合に、プリエコーを防止するための適切なゲイン情報を、特に良好なゲイン関係で決定することができるという効果を奏する。
【００９５】
さらに本発明の符号化装置は、以上のように、上記振幅変化部検出手段は、上記各ブロックにおける信号の最大の振幅が直前の上記ブロックにおける信号の最大の振幅以下である場合、および、上記各ブロックにおける信号の最大の振幅が直前の上記ブロックにおける信号の最大の振幅よりも大きくて、上記第１の所定値および上記第２の所定値を振幅増加を伴う上記振幅変化部を検出するための値に設定して振幅増加を伴う上記振幅変化部が検出されなかった場合に、上記第１の所定値および上記第２の所定値を振幅減少を伴う上記振幅変化部を検出するための値に設定し、上記ゲイン情報決定手段は、上記振幅変化部検出手段によって振幅減少を伴う上記振幅変化部が検出された上記先頭変化ブロックに関する上記ゲイン情報を、上記ゲイン補正時に逆数で使用されるゲインとして、上記先頭変化ブロックの先頭の上記サブブロックに時間軸上で１から上記第２変化量に応じた１より大きい値まで変化するゲインを与え、上記先頭変化ブロックの先頭より後の上記サブブロックに上記第２変化量に応じた上記値のゲインを与えるように決定する構成である。
【００９６】
それゆえ、先頭のサブブロックに振幅変化部としてリリース部が存在する場合に、ポストエコーを防止するための適切なゲイン情報を、特に良好なゲイン関係で決定することができるという効果を奏する。
【図面の簡単な説明】
【図１】（ａ）および（ｂ）は、本発明の実施の形態に係る符号化装置によるプリエコーの防止を説明する説明図である。
【図２】図１の説明図に対する比較例としてプリエコーが発生する場合を説明する説明図である。
【図３】（ａ）および（ｂ）は、本発明の実施の形態に係る符号化装置によるポストエコーの防止を説明する説明図である。
【図４】本発明の実施の形態に係る符号化装置の構成を示すブロック図である。
【図５】図４の符号化装置により作成された符号化情報から復号化を行う復号化装置の構成を示すブロック図である。
【図６】プリエコーを説明する説明図である。
【図７】ポストエコーを説明する説明図である。
【符号の説明】
１          符号化装置
２          周波数帯域分割部（ブロック化手段）
４          アタック／リリース部検出部（振幅変化部検出手段、ゲイン情報決定手段）
５          ゲイン制御部（ゲイン制御手段）
６          時間周波数変換部（スペクトル変換手段）
Ａ１〜Ａ４  信号（デジタルオーディオ信号）
ｅ０〜ｅ７  サブブロック
Ｇ１〜Ｇ４  ゲイン
【図１】
0003753956.tif 000002
【図２】
0003753956.tif 000003
【図３】
0003753956.tif 000004
【図４】
0003753956.tif 000005
【図５】
0003753956.tif 000006
【図６】
0003753956.tif 000007
【図７】
0003753956.tif 000008