(57)【特許請求の範囲】
【請求項１】
入力ディジタル信号を時間軸上でブロック分割し、ブロック毎に時間軸上のゲイン制御を行い、上記ゲイン制御された信号成分に対して正の値を用いて正規化を行い、上記正規化された信号成分を量子化し、上記ゲイン制御を行うゲイン制御関数を生成するゲイン制御関数生成情報及び正規化係数情報とともに符号化及び多重化を行うことで得られる符号列に対して信号処理を行う信号処理装置において、
上記符号化された符号列に対して、上記符号列中の正規化係数情報に、整数値の減算又は加算を行うことにより、信号のレベル調整を行う正規化係数情報増減手段と、
上記正規化係数情報の減算量又は加算量が大きいことによる減算又は加算後の正規化係数情報が取り得る最小値又は最大値で打ち切られる場合の打ち切り量を計算する打ち切り量計算手段と、
上記打ち切り量計算手段からの打ち切り量に応じて、上記ゲイン制御関数生成情報を修正する修正手段と
を有することを特徴とする信号処理装置。
【請求項２】
上記打ち切り量計算手段は、正規化係数情報の減算量が正規化係数情報よりも大きく、減算後の正規化係数情報が取り得る最小値で打ち切られる場合の打ち切り量を計算することを特徴とする請求項１項記載の信号処理装置。
【請求項３】
上記打ち切り量計算手段は、正規化係数情報の加算量が大きく、加算後の正規化係数情報が取り得る最大値で打ち切られる場合の打ち切り量を計算することを特徴とする請求項１項記載の信号処理装置。
【請求項４】
上記ゲイン制御を行う信号成分は、入力ディジタル信号に対してサブバンド分割フィルタを用いて得られたサブバンド信号であることを特徴とする請求項１項記載の信号処理装置。
【請求項５】
上記正規化を行う信号成分は、上記ゲイン制御を行った後、ＭＤＣＴ（修正離散コサイン変換）を行って得られるＭＤＣＴ係数であることを特徴とする請求項１記載の信号処理装置。
【請求項６】
上記正規化は、複数のＭＤＣＴ係数毎に行われ、その出力として複数の正規化係数情報が得られることを特徴とする請求項５記載の信号処理装置。
【請求項７】
上記ゲイン制御関数生成情報の修正は、ゲイン制御関数生成情報が符号列中に含まれる場合にのみ行われることを特徴とする請求項１記載の信号処理装置。
【請求項８】
入力ディジタル信号を時間軸上でブロック分割し、ブロック毎に時間軸上のゲイン制御を行い、上記ゲイン制御された信号成分に対して正の値を用いて正規化を行い、上記正規化された信号成分を量子化し、上記ゲイン制御を行うゲイン制御関数を生成するゲイン制御関数生成情報及び正規化係数情報とともに符号化及び多重化を行うことで得られる符号列に対して信号処理を行う信号処理方法において、
上記符号化された符号列に対して、上記符号列中の正規化係数情報に、整数値の加算もしくは減算を行い、信号のレベル調整を行うと共に、
上記正規化係数情報の減算量が正規化係数情報よりも大きく、減算後の正規化係数情報が取り得る最小値で打ち切られる場合に、上記打ち切り量に応じて、ゲイン制御関数生成情報を修正することを特徴とする信号処理方法。
【請求項９】
上記正規化係数情報の加算量が大きく、加算後の正規化係数情報が取り得る最大値で打ち切られる場合に、上記打ち切り量に応じて、ゲイン制御関数生成情報を修正することを特徴とする請求項８記載の信号処理方法。
【請求項１０】
入力ディジタル信号を時間軸上でブロック分割し、ブロック毎に時間軸上のゲイン制御を行い、上記ゲイン制御された信号成分に対して正の値を用いて正規化を行い、上記正規化された信号成分を量子化し、上記ゲイン制御を行うゲイン制御関数を生成するゲイン制御関数生成情報及び正規化係数情報とともに符号化及び多重化を行うことで得られる符号列に対して行う信号処理をコンピュータに実行させるためのプログラムであって、
上記符号化された符号列に対して、上記符号列中の正規化係数情報に、整数値の加算もしくは減算を行い、信号のレベル調整を行う手順と、
上記正規化係数情報の減算量が正規化係数情報よりも大きく、減算後の正規化係数情報が取り得る最小値で打ち切られる場合に、上記打ち切り量に応じて、ゲイン制御関数生成情報を修正する手順と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理装置及び方法、並びにプログラムに関し、特に、符号列を復号することなく音量の増減を行う場合に用いて好適な信号処理装置及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
オーディオ信号の高能率符号化は、人間の聴覚の仕組み（聴覚特性等）を利用することにより、例えばＣＤ（Compact Disk）の１／１０から１／２０程度のデータ量に圧縮しても良好な音質を実現することが可能となっている。現在、市場にもこれらの技術を利用した商品が流通しており、より小さな記録媒体に記録したり、ネットワークを通じての配信などが可能になっている。
【０００３】
こうしたオーディオ信号の高能率符号化に用いられる聴覚特性の主要なものの１つとして、同時（simultaneous）マスキングと継時（temporal）マスキングが挙げられる。
【０００４】
同時マスキングとは、同時刻に異なる周波数の音が存在している場合に、大振幅の音の近傍周波数に小振幅の音があると、小振幅の音はマスクされてしまい知覚しにくくなるという聴覚特性である。
【０００５】
一方、継時マスキングとは、時間方向のマスキング効果であり、例えば大振幅の音の前後の時刻に存在する小振幅の音はマスクされてしまい知覚しにくくなるという聴覚特性である。
【０００６】
この継時マスキングには、時間的に前に発生した音が後に発生した音をマスクする順向マスキングと、時間的に後に発生した音が前に発生した音をマスクする逆向マスキングの二つの現象がある。
【０００７】
順向マスキングに関しては、数十msec（ミリ秒）のオーダーで効くが、逆行マスキングの効果があるのは１msec程度の非常に短い時間であることが知られている。
【０００８】
代表的なオーディオ高能率符号化方式では、時間信号をＭＤＣＴ（修正離散コサイン変換）で直交変換した後、得られた周波数軸上のＭＤＣＴ係数に対して、複数のＭＤＣＴ係数のまとまり毎に、正規化を行い、その後、量子化及び符号化を行っているが、ここで、前述の聴覚特性を効果的に利用するために、ＭＤＣＴ係数のまとまり毎に量子化ステップ数を適応的に変化させて量子化雑音の発生をコントロールすることで効率よく信号を圧縮している。
【０００９】
このＭＤＣＴの変換長は、同時マスキングが効果的に働く時間等を考慮して、２０〜４０msec程度に設計されているが、カスタネット等の急峻なアタックを持つ非定常的な信号の場合には、発生する量子化雑音（量子化誤差）がＭＤＣＴ逆変換後のフレームに一様に分布する。図９及び図１０はこのような状態を表している。
【００１０】
現実の符号化装置におけるＭＤＣＴでは、隣接フレームを一部重複させた形で用いられているが、ここでは説明を簡略化するために、フレーム間の重複が無いものとして、より一般的な形での説明を行う。
【００１１】
図９に示すような時間軸上の入力信号、すなわちアタック部がパルス状の入力信号に対して、上述した方法で符号化を行い、得られた符号列を復号化して得られる時間軸上の信号は、図１０に示すようなものとなる。この図１０から明らかなように、図中の斜線部に示す量子化雑音（量子化誤差）は、フレーム内の時間軸上で一様に分布している。なお、これらの図９、図１０中の「Frame」は、ＭＤＣＴの変換長であるフレームを示しており、以下同様である。
【００１２】
このようにして発生する雑音に関して、一般的に、アタック部より時間的に前に発生する雑音はプリエコーノイズと呼ばれており、一方、アタック部より時間的に後に発生する雑音はポストエコーノイズと呼ばれている。
【００１３】
前述の継時マスキングがこれらプリエコーノイズやポストエコーノイズを聴覚的にマスクする時間は非常に短いため、上記２０〜４０msecのＭＤＣＴ変換長ではこれを防ぐことができず、代表的なオーディオ高能率符号化方式においては、これらの雑音を継時マスキングが有効な時間に限定させるための様々な工夫が図られている。
【００１４】
例えば、ＭＰＥＧ１ Audio Layer III（ＭＰＥＧ：Moving Picture Experts Group）、いわゆるＭＰ３では、入力ＰＣＭ信号をサブバンドフィルタバンクで等帯域分割してサブバンド信号を作り出した後、信号の定常性によって二つの異なる長さのＭＤＣＴの変換長を適応的に選択することで、プリ・ポストエコーノイズの抑制対策を行っている。例えば、急峻なアタックを持つ非定常信号が入力された場合は、短いＭＤＣＴの変換長を選択することで、プリ・ポストエコーノイズの発生する時間を短いＭＤＣＴフレーム内に限定させ、ノイズが知覚されることを抑制している。
【００１５】
一方、いわゆるＭＤ（ミニディスク、商標）等で用いられている符号化方式では、特許文献１に開示されているように、入力ＰＣＭ信号をサブバンドフィルタバンクで等帯域分割してサブバンド信号を作り出した後、信号の定常性によってサブバンド信号のゲインを時間軸上で変化させゲイン制御することで、定常的なサブバンド信号にした後、一定変換長のＭＤＣＴを行い、正規化・量子化・符号化を行うことで、プリ・ポストエコーノイズの抑制対策を行っている。
【００１６】
図１１、図１２、及び図１３は、ゲイン制御の効果を説明するための図である。なお、上記特許文献１では、隣接フレームを一部重複させた形での説明がなされているが、ここではより一般的に、フレーム間の重複が無い形での説明を行う。
【００１７】
まず符号化装置では、図９の入力信号に対して、図１１のG_0(t),G_1(t),G_2(t)のようなゲイン制御関数を得る。
【００１８】
このゲイン制御関数は、各フレームを時間軸上でさらに等分割してサブフレームとし、これらのサブフレームにおける最大振幅あるいはパワーを求め、それを一次関数等で補間したものに相当する。このゲイン制御関数で入力信号を乗算して、小振幅部分を増幅させ、大振幅部分を減衰させることにより、一旦、時間的にほぼ平坦な信号にした上で、正規化、量子化、及び符号化を行い、ゲイン制御関数生成情報や正規化情報などと共に多重化を行い、符号列を得る。
【００１９】
復号装置においては、入力された符号列に対して、非多重化（多重化の逆処理）、復号化、逆量子化、及び非正規化（正規化の逆処理）を順次行う。ここまでの処理で得られた時間軸上の信号は、図１２のようなものとなり、図１２中の斜線部に示す量子化誤差がフレーム全体に一様に分布している。ここで、上記符号列を非多重化して得られたゲイン制御関数生成情報から、図１１のゲイン制御関数と対の関係にある逆ゲイン制御関数（ゲイン制御関数の値を逆数にした関数）を再構成し、図１２の波形に乗算することで、図１３のような波形が得られる。
【００２０】
この図１３から明らかなように、図中の斜線部に示す量子化誤差は、アタック部であるパルスの前後の近辺のレベルに比べて他の部分のレベルが減衰されたように分布し、継時マスキングの効果によりプリエコーノイズ及びポストエコーノイズを大幅に抑制することができる。このゲイン制御自体は、符号化装置の符号化アルゴリズムの最適化の範疇にあり、例えば、大きなアタックが存在する信号が入力されても、豊富にビット割り当てがなされ、量子化誤差の発生が極めて少なければゲイン制御を行わない、など符号化装置の回路規模や用途に応じて様々な設計を行うことができる。
【００２１】
このように、オーディオ高能率符号化では、聴覚の特性をうまく利用しながら、信号の性質に応じて適応的に量子化ノイズの発生をコントロールすることで、効率よく信号の圧縮を行うことが可能になっている。
【００２２】
ところで、こうしたオーディオ信号の高能率符号化技術においては、符号化・復号化に際して、比較的多くの演算量やメモリが必要とされるため、一旦、符号化された符号列に対して、簡便な信号処理を施すような技術が提案されている。これは、符号列に対して、時間軸上の信号にまで復号化した後に所望の信号処理を行い再度符号化するといった処理は行わず、符号列に含まれるパラメータ等を直接変更することで、少ない演算量や小さなメモリで所望の信号処理を行うような技術である。
【００２３】
例えば、特許文献２には、符号列の中の正規化係数情報を直接変更することで、信号のフィルタリングを行うことを可能にする技術が開示されている。また、特許文献３には、符号列の中の正規化係数情報を直接変更することで信号のレベル調整を行うことを可能にする技術が開示されている。
【００２４】
【特許文献１】特許第３２６３８８１号公報
【特許文献２】特許第３８７９２４９号公報
【特許文献３】特許第３８７９２５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２５】
ところで、前述のゲイン制御技術を採用しているオーディオ高能率符号化方式においては、前述の特許文献２，３に記載の技術を直接適用した場合に、信号の性質によっては問題が発生する場合がある。以下、図を参照しながらこの問題の説明を行う。
【００２６】
例えば、図９のようなパルス状の信号を、前述のゲイン制御技術を採用しているオーディオ高能率符号化方式で符号化して符号列が得られている場合に、その符号列を前述の特許文献３の技術を用いて符号列中の正規化情報を直接変更しレベル調整を行うことでフェードインの効果を得たい場合を考える。
【００２７】
復号化装置において符号列を復号し出力ＰＣＭ信号を得た後に、この信号処理を行った場合の結果は、図１４のようになる。
【００２８】
これは、０から１．０の範囲で時間とともに徐々に増加するフェードイン関数Ｆi(t)を復号化装置の出力ＰＣＭ信号に乗じたものである。
【００２９】
このフェードイン関数Ｆi(t)の形状を、上記特許文献３に記載された技術を用いてフレーム毎の正規化係数情報の減算で表現した場合は、図１５のようになる。図１５におけるＳＦfi(frame)は、離散時間の関数であるＦi(t)をフレームサイズの間隔で再サンプリングし、その値を正規化係数情報の差分値として正の整数で表現したものに相当する。
【００３０】
上述の正規化係数情報は、上記特許文献１に記載のオーディオ高能率符号化方式の場合においては、図１６のように２デシベル刻みの６ビットで表現される。この図１６において、ＳＦは正の整数である正規化係数情報、ＳＦval(SF) は正の実数である正規化係数である。
【００３１】
図１７は、上記特許文献３に記載された技術に基づいて、正規化係数情報を減算することによりフェードインを実現する処理を示している。この技術においては、正規化係数は周波数領域上のＭＤＣＴ係数を正規化するものであり、複数のＭＤＣＴ係数をまとめた量子化ユニットと呼ばれる単位毎に求められるものであるが、ここでは簡単のために単一の正規化係数で説明を行う。
【００３２】
図１７におけるＳＦorg(frame)は、各フレーム毎に求められた正規化係数情報を表している。
【００３３】
ここで、フレーム番号２のフレームについては、パルスとＭＤＣＴにおける窓の位置関係や、ゲイン制御のアルゴリズムなどの要因により、ゲイン制御が行われなかったフレームである。
【００３４】
これに対して、図１５で説明したＳＦfi(frame)を用いて正規化係数情報の減算を行うと、図１８のようになる。正規化係数情報は０から６３までの正の整数であるので、減算の結果として負の正規化係数情報になった場合は、０で打ち切られることになる。Ｔsfは打ち切られた正規化係数情報の量を表している。
【００３５】
図１９は、上述の正規化係数情報の減算結果が負となり０の正規化係数情報で打ち切られたフレームを含む結果を表している。
【００３６】
図１９のＳＦm(frame) は、フェードイン処理が行われた正規化係数情報を表している。
【００３７】
図２０の（Ａ）は、図１４と同じ符号列を復号化した後のＰＣＭ信号にフェードイン処理を適用したもので、図２０の（Ｂ）は、前述の符号列上でのフェードイン処理が行われた符号列を復号化装置に入力して得られた出力ＰＣＭ信号を表している。フレーム番号０及び１のフレームにおいては、正規化係数が打ち切られた上に、逆ゲイン制御が行われた結果、図２０の（Ａ）に比べて大きなパルス信号となっている。一方、フレーム番号２においては、ゲイン制御も行われず、正規化係数の打ち切りもないため、図２０の（Ａ）のパルス信号に相応する振幅値となっている。
【００３８】
本発明は、このような実情を鑑みてなされたものであり、ゲイン制御が用いられている高能率オーディオ符号化方式で符号化された符号列を直接加工しフェードインやフェードアウト等の信号処理を適用する場合に生じる問題を解決し品質の良い符号列を出力することを可能とする信号処理装置及び方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３９】
上述の課題を解決するために、本発明は、入力ディジタル信号を時間軸上でブロック分割し、ブロック毎に時間軸上のゲイン制御を行い、上記ゲイン制御された信号成分に対して正の値を用いて正規化を行い、上記正規化された信号成分を量子化し、上記ゲイン制御を行うゲイン制御関数を生成するゲイン制御関数生成情報及び正規化係数情報とともに符号化及び多重化を行うことで得られる符号列に対して行う信号処理において、上記符号化された符号列に対して、上記符号列中の正規化係数情報に、整数値の加算もしくは減算を行い、信号のレベル調整を行うと共に、上記正規化係数情報の減算量が正規化係数情報よりも大きく、減算後の正規化係数情報が取り得る最小値で打ち切られる場合に、上記打ち切り量に応じて、ゲイン制御関数生成情報を修正することを特徴とする。
【００４０】
ここで、上記正規化係数情報の加算量が大きく、加算後の正規化係数情報が取り得る最大値で打ち切られる場合に、上記打ち切り量に応じて、ゲイン制御関数生成情報を修正するようにしてもよい。
【発明の効果】
【００４１】
本発明によれば、符号列を直接加工しフェードインやフェードアウト等の信号処理を適用する場合に、正規化係数情報の打ち切りと逆ゲイン制御によって生じる信号の増幅を、正規化係数情報の打ち切り量に応じてゲイン制御情報を適応的に書き換えることで抑制し、所望の信号処理を施した符号列を出力することが可能である。
【発明を実施するための最良の形態】
【００４２】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００４３】
図１は、本発明の実施の形態に用いられる信号処理装置の構成を概略的に示すブロック図である。
【００４４】
この図１に示す信号処理装置は、非多重化回路１０１と、正規化係数情報増減回路１０２と、正規化係数情報打ち切り量計算回路１０３と、ゲイン制御関数生成情報修正回路１０４と多重化回路１０５とを有して構成される。
【００４５】
非多重化回路１０１は、入力端子１１０より入力された符号列を非多重化し、正規化係数情報を正規化係数情報増減回路１０２に供給し、ゲイン制御関数生成情報をゲイン制御関数生成情報修正回路１０４に供給する。入力端子１１０より非多重化回路１０１に供給される符号列の一例については、後述する。
【００４６】
正規化係数情報増減回路１０２は、入力端子１１２より与えられた正規化係数情報増減量をもとに正規化係数情報の増減を行い、計算の結果、正規化係数情報がとり得る上限値もしくは下限値を越えていた場合は、それぞれ、上限値もしくは下限値に置き換える。出力である正規化係数情報は、ゲイン制御関数生成情報修正回路１０４及び多重化回路１０５に供給される。
【００４７】
上限値、下限値に置き換えられる前の正規化係数情報は、打ち切り前正規化係数情報として、正規化係数情報打ち切り量計算回路１０３に供給される。
【００４８】
ここでの正規化係数情報の増減に関しては、例えば前述の図１７と共に説明したような方法を用いることができる。
【００４９】
正規化係数情報打ち切り量計算回路１０３は、正規化係数情報増減回路１０２から出力された正規化係数情報と、同じく正規化係数情報増減回路１０２から出力された打ち切り前正規化係数情報とを比較し、正規化係数情報打ち切り量を計算し、ゲイン制御関数生成情報修正回路１０４へと供給する。
【００５０】
ここでの正規化係数情報打ち切り量の計算に関しては、前述の図１８及び図１９と共に説明したような方法を用いることができる。
【００５１】
ゲイン制御情報修正回路１０４は、非多重化回路１０１から出力されたゲイン制御関数生成情報と、正規化係数情報打ち切り量計算回路１０３から出力された正規化係数情報打ち切り量とを比較し、ゲイン制御関数生成情報修正量を求め、ゲイン制御関数生成情報の修正を行う。ゲイン制御関数生成情報修正回路１０４の詳細な動作等については、後述する。
【００５２】
修正されたゲイン制御関数生成情報は、多重化回路１０５へと供給される。
【００５３】
多重化回路１０５は、正規化係数情報増減回路１０２から出力された正規化係数情報と、ゲイン制御情報修正回路１０４から出力されたゲイン制御関数生成情報と、入力端子１１０からの入力符号列とを入力とし、入力符号列の該当箇所を、上記正規化係数情報増減回路１０２及びゲイン制御情報修正回路１０４によりそれぞれ新たに得られた正規化係数情報及びゲイン制御関数生成情報とで置き換え、多重化を行い、出力符号列を出力端子１１５より出力する。
【００５４】
ここで、上述した、非多重化回路１０１の入力となる符号列の一例について図２を用いて説明する。
【００５５】
図２は、上記符号列を構成するフレームの一つを示したもので、ヘッダ、ゲイン制御関数生成情報、正規化係数情報、及び正規化信号データからなっている。
【００５６】
ゲイン制御関数生成情報は、ゲイン制御変化点数、ゲイン制御変化点位置情報、及びゲイン制御量情報からなり、ゲイン制御変化点数によって、ゲイン制御変化点位置情報及びゲイン制御量情報の個数が決まる。
【００５７】
ゲイン制御量情報Glevは、例えば図３のように４ビットのコードであり、そのゲイン制御量Gainは、Glevの関数として以下の式で求められる。
【００５８】
Gain(Glev) ＝２^(Glev-4)
図２のゲイン制御関数生成情報により復号器において生成される逆ゲイン制御関数の具体例を図４の（Ａ），（Ｂ）に示す。
【００５９】
図４の（Ａ）において、ゲイン制御変化点数は２であり、２個のゲイン制御変化点位置情報はそれぞれ、Gloc[0], Gloc[1] で表され、また、２個のゲイン制御量情報はそれぞれ、Glev[0], Glev[1] で表されている。
【００６０】
ゲイン制御変化点位置情報Glocは、フレームを等分割したサブフレームの位置を表し、図４に示すように、Gloc[0] におけるゲイン制御量情報は、Glev[0] に対応する。また、ゲイン制御変化点位置情報Glocがあるサブフレームより前のサブフレーム位置におけるゲイン制御量情報は、そのサブフレーム直後のGlocがあるサブフレームにおけるゲイン制御量情報となる。
【００６１】
また、図４に示すように、フレーム終端のサブフレームにおけるゲイン制御量は１．０となる。
【００６２】
また、図４における逆ゲイン制御関数は、図３に示した４ビットのコードのゲイン制御量情報の逆数の関係にあり、例えば、Gain(3) の０．５は、逆ゲイン制御関数においては、２．０倍のゲイン変化となる。
【００６３】
図４におけるゲイン制御関数は、各サブフレームにおけるゲイン制御量を直線で補間したものとなっているが、本発明に係る他の実施の形態としては、正弦関数等を利用した補間を行ってもよいし、あるいは補間を行わなくてもよい。
【００６４】
図２におけるゲイン制御関数生成情報は、上述の説明のようなフォーマットで記録されており、また同図２における正規化信号データは、上述のゲイン制御関数で入力ＰＣＭ信号を除算した後に、正規化係数によって正規化を行って得られたものに相当する。
【００６５】
ここで、本発明の実施の形態となる信号処理装置及び方法の概略構成をまとめると、次のようになる。すなわち、先ず信号処理を行う符号列を得るための符号化方式としては、入力ＰＣＭ信号を符号化する際に、時間ブロック毎に、時間軸上のゲイン制御を行い、上記ゲイン制御された信号成分に対して正の値を用いて正規化を行い、上記正規化された信号成分を量子化し、上記ゲイン制御を行うゲイン制御関数を生成するゲイン制御関数生成情報及び正規化係数情報とともに符号化及び多重化を行うことで符号列を得るような符号化方式を用いている。このような符号苛烈を復号化する際には、上記符号列を非多重化し、符号化された信号成分を復号し、逆量子化を行った後、上記正規化係数情報を用いて非正規化を行い、上記ゲイン制御関数生成情報を用いて上記ゲイン制御関数と対の関係にある逆ゲイン制御関数を用いて逆ゲイン制御を行い、出力ＰＣＭ信号を得るような復号化方式が用いられる。本発明の実施の形態では、上述のような符号化方式で符号化された符号列に対して、上記符号列中の正規化係数情報に、整数値の加算もしくは減算を行い、信号のレベル調整を行うような信号処理を行い、上記正規化係数情報の減算量が正規化係数情報よりも大きく、減算後の正規化係数情報が取り得る最小値で打ち切られる場合に、上記打ち切り量に応じて、ゲイン制御関数生成情報を修正する。
【００６６】
このような本発明の実施の形態の構成によれば、ゲイン制御を利用したオーディオ高能率符号化方式によって得られた符号列に対して、符号列を復号することなく正規化係数を調整することで少ない計算量及びメモリ使用量で音量の制御を行う場合において、正規化係数の打ち切りと逆ゲイン制御によって生じる音量の過大な増幅を、正規化係数の打ち切り量に応じて適応的にゲイン制御関数生成情報を修正することで抑制し所望の音量の制御を行うことが可能となる。
【００６７】
本発明の実施の形態の説明では、入力ＰＣＭ信号に対してゲイン制御を行った後、正規化を行って量子化及び符号化を行って得られる符号列を用いたが、本発明に係る他の実施の形態としては、例えば、入力ＰＣＭ信号に対してサブバンド分割フィルタを用いてサブバンド信号を得た後、ゲイン制御を行って得られる符号列を用いてもよい。
【００６８】
また、本発明に係る他の実施の形態としては、ゲイン制御を行って得られた信号に対してＭＤＣＴのような時間周波数変換を行い、得られたＭＤＣＴ係数の特定のブロック毎に正規化、量子化、及び符号化を行って得られる符号列にも適用可能である。
【００６９】
次に、上記図１の構成の信号処理装置におけるゲイン制御関数生成情報修正回路１０４について、以下詳細に説明する。
【００７０】
ゲイン制御関数生成情報修正回路１０４は、前述した、正規化係数情報の打ち切りと逆ゲイン制御によって生じる、信号の過大増幅を防止するための回路である。その具体的な動作の手順を、図５及び図６のフローチャートを参照しながら説明する。
【００７１】
まず、図５のステップＳ１において、処理を行うフレームでゲイン制御関数生成情報の修正が必要か否かの判定を行う。
【００７２】
ステップＳ１のＴsfは、前記図１７における正規化係数情報の打ち切り量で、正規化係数情報打ち切り量計算回路１０３の出力として得られる。ＧＭは逆ゲイン制御によって生じるフレーム全体のゲインの増幅量であり、これは図６の説明において後述する。αは定数である。
【００７３】
このステップＳ１において、正規化係数情報の打ち切り量Ｔsfが、α・ＧＭより大きいか否かを判別し、ＹＥＳ（真）と判定された場合、すなわち、逆ゲイン制御によって生じるフレーム全体のゲインの増幅量よりも、正規化係数情報の打ち切り量が大きいと判定された場合には、ステップＳ２の処理を行う。ステップＳ１でＮＯと判定された場合には、処理を終了（ＥＮＤ）する。
【００７４】
ステップＳ２では、ゲイン制御変化点数のカウンタであるＪを０で初期化し、以降、ゲイン制御変化点数ＮＧＣ回のループ処理を行い、ステップＳ３に進む。
【００７５】
ステップＳ３では、ゲイン制御量情報Glev[J] が４未満か否かの判定、すなわち、逆ゲイン制御関数において、ゲインを増幅する場合の判定処理を行う。
【００７６】
このステップＳ３においてＹＥＳ（Glev[J] が４未満）と判定された場合には、ステップＳ４の処理を行い、ＮＯ（Glev[J] が４以上）と判定された場合にはステップＳ７に進む。なお、ステップＳ７では、ゲイン制御変化点数のカウンタＪをインクリメント（Ｊ＝Ｊ＋１）する処理を行う。
【００７７】
ステップＳ４では、ゲイン増幅の抑制処理が行われる。具体的には、ゲイン制御量情報GlevGlev[J] に、正規化係数情報打ち切り量Ｔsfを３で割ることでゲイン制御量情報相当の値にし、これを加算すること（Glev[J] ＝Glev[J] ＋Ｔsf／３）により、ゲイン増幅の抑制処理を行っている。前述した図１６及び上記図３から明らかなように、正規化係数は、２ｄＢステップであり、ゲイン制御量は６ｄＢステップの値となっている。ステップＳ４の処理後はステップＳ５に進む。
【００７８】
次に、ステップＳ５及びステップＳ６では、上記ステップＳ４の計算結果の打ち切りを行う。すなわち、ステップＳ５において、ステップＳ４の処理後のゲイン制御量情報Glev[J] が打ち切りの値１５を超えたか否かを判別し、１５を超えたときはステップＳ６に進んでGlev[J] を１５とした後ステップＳ７（カウンタＪのインクリメント処理）に進み、１５以下のときはそのままステップＳ７に進む。
【００７９】
これは、ゲイン制御量情報に対する加算の結果、Glev[J] がとり得る最大値を超えないようにするために行う。本発明に係る他の実施例としては、この打ち切りの値を１５よりも小さくしてもよい。ゲイン制御は、プリ・ポストエコーノイズを抑制するために行うもので、符号化と復号化でそれぞれ行われるゲイン制御と逆ゲイン制御は、理論的には無損失の処理になっている。ところが、ここでのゲイン制御量情報の修正が過度に大きくなった場合に、ゲイン制御と逆ゲイン制御の対の関係が大幅に崩れることになる。
【００８０】
次に、図６のフローチャートを参照しながら、逆ゲイン制御によって生じるフレーム全体のゲインの増幅量ＧＭの計算の説明を行う。
【００８１】
まず、図６のステップＳ１１では、各種初期化が行われる。この図６のフローチャートにおいて、Ｉはゲイン制御変化点数のカウンタ、Ｊはサブフレームのカウンタとして用いられる。ＮＧＣはゲイン制御変化点数であり、ＮＳはサブフレーム数である。ＧＬはゲイン制御変化点位置情報Glocを一時的に保持する変数である。ＧＭは本フローチャートの処理で求めるフレーム全体のゲインの増幅量であり、０に初期化される。Ｇはゲインの増幅量ＧＭを計算する際に用いられるゲイン制御量情報の変数であり、０に初期化される。
【００８２】
ステップＳ１１で初期化が行われた後、ステップＳ１２からステップＳ１９までサブフレーム毎のループ処理が行われる。
【００８３】
ステップＳ１２では、サブフレームカウンタの値Ｊ（サブフレームの位置）が変数ＧＬ（に保持されたゲイン制御変化点位置情報Gloc）に一致したか否かを判別し、ＹＥＳ、すなわちサブフレームのカウンタの値Ｊがゲイン制御変化点位置に一致するとき、ステップＳ１３に進んで、現在のサブフレームにおけるゲイン制御量情報の変数Ｇが更新される。ステップＳ１２でＮＯと判別されたときは、ステップＳ１７に進む。
【００８４】
ステップＳ１３では、ゲイン制御量情報Glev[J] から４を減じた値をゲイン制御量情報の変数Ｇに代入（Ｇ＝Glev[J]−４）し、また、ゲイン制御変化点数のカウンタをデクリメント（Ｉ＝Ｉ−１）している。
【００８５】
ステップＳ１３の処理の後、ステップＳ１４からステップＳ１６において、Ｉに応じてＧＬの値が更新される。
【００８６】
すなわち、ステップＳ１４では、Ｉが０以上か否かが判別され、ＹＥＳのときはステップＳ１５に進んで、変数ＧＬにデクリメントされたＩに対応するゲイン制御変化点位置情報Gloc[I] が代入され、ステップＳ１７に進む。ステップＳ１４でＮＯの判別されたときは、ステップＳ１６でＧＬを−１とし（ＧＬ＝−１）、ステップＳ１７に進む。
【００８７】
ステップＳ１７では、ＧＭに現在のサブフレームのゲイン制御量情報Ｇが加算（ＧＭ＝ＧＭ＋Ｇ）される。
【００８８】
次のステップＳ１８では、サブフレームカウンタの値Ｊがデクリメント（Ｊ＝Ｊ−１）され、ステップＳ１９に進んで、Ｊが０未満か（Ｊ＜０）否かが判別される。ＮＯのときは上記ステップＳ１２に戻り、ＹＥＳのときは、処理を終了する。
【００８９】
以上のように、サブフレーム毎にＧＭが更新され、フレーム全体のゲインの増幅量が求められる。
【００９０】
この処理は、正規化係数情報の打ち切りと逆ゲイン制御によって生じるフレーム全体のゲインの増幅量を考慮して、ゲイン制御関数生成情報を修正する必要があるために、行っている。
【００９１】
ここで、図４の（Ａ），（Ｂ）には、ゲイン制御変化点位置情報の違いによる、逆ゲイン制御関数の差異を示している。図４の（Ａ）よりも図４の（Ｂ）のほうがフレーム内のゲイン増幅量が大きくなっている。
【００９２】
これはすなわち、符号化におけるゲイン制御においては、ゲインの抑制量が大きくなっていることを意味する。この下段のような場合では、正規化係数情報が小さくなり、従って、正規化係数情報の打ち切り量が大きくなる。このようなケースでは、正規化係数情報の打ち切り量によるゲイン制御関数情報の修正は不要である。
【００９３】
このようにして、正規化係数情報の打ち切り量に応じて、ゲイン制御関数生成情報を適応的に修正することで、ゲインの過大な増幅を防止することができる。
【００９４】
以上の本発明の実施の形態においては、符号列を復号化することなく信号のレベル調整を行う場合に、正規化係数情報の減算後の正規化係数情報の最小値での打ち切りによって生じる問題とその解決方法について述べてきたが、一方で、正規化係数情報に対する加算を用いて信号を増幅する場合にも同様の問題が起こり得る。
【００９５】
図７、図８は、正規化係数情報に対する加算を用いて信号を増幅するような場合の問題点を示した図である。先頭フレームでは、正規化係数情報への加算の結果が６７となり、４の打ち切りが発生している。このような場合に、逆ゲイン制御による信号の減衰があった場合、望んでいる正規化係数情報を加算することによる信号の増幅という結果が得られないことになる。
【００９６】
このような場合においても、上述した本発明の実施の形態と同様の方法を用いて、ゲイン制御関数生成情報を適応的に修正することにより、ゲインの過大な減衰を防止することができる。
【００９７】
ここで、以上説明した本発明に係る信号処理方法における各手順をコンピュータにより実行させるためのプログラムとして提供することができる。
【００９８】
上述したような本発明の実施の形態によれば、ゲイン制御が用いられている高能率オーディオ符号化方式で符号化された符号列を直接加工しフェードインやフェードアウト等の信号処理を適用する場合に、正規化係数情報の打ち切りと逆ゲイン制御によって生じる信号の増幅を、正規化係数情報の打ち切り量に応じてゲイン制御情報を適応的に書き換えることで抑制し、所望の信号処理を施した符号列を出力することが可能である。
【００９９】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【０１００】
【図１】本発明の実施の形態となる信号処理装置の概略構成を示すブロック図である。
【図２】本発明の実施の形態における符号化方式の符号列のフォーマットの一例を示す図である。
【図３】本発明の実施の形態における４ビットのゲイン制御量情報テーブルの一例を示す図である。
【図４】本発明の実施の形態における逆ゲイン制御関数の具体例を示す図である。
【図５】本発明の実施の形態におけるゲイン制御関数生成情報修正回路の処理手順の一例を説明するためのフローチャートである。
【図６】本発明の実施の形態における逆ゲイン制御によって生じるフレーム全体のゲインの増幅量ＧＭの計算の一例を説明するためのフローチャートである。
【図７】正規化係数情報の加算の結果と、それに伴う正規化係数情報の打ち切りの様子を説明するための図である。
【図８】正規化係数情報の打ち切りの具体例を示す図である。
【図９】一定周期、一定振幅のパルス信号を示す図である。
【図１０】一般的なオーディオ高能率符号化における復号された信号中のエコーノイズの発生を示す図である。
【図１１】パルス信号が入力された場合のゲイン制御関数の一例を示す図である。
【図１２】ゲイン制御が施された信号に対して量子化誤差が付加された状態を示す図である。
【図１３】エコーノイズを抑制させるためのゲイン制御の効果を示す図である。
【図１４】時間サンプル毎にフェードインを行う関数を示す図である。
【図１５】フェードイン関数に相当する正規化係数情報の減算を示す図である。
【図１６】６ビットの正規化係数テーブルの例を示す図である。
【図１７】正規化係数情報の減算の結果と、それに伴う正規化係数情報の打ち切りの様子を示す図である。
【図１８】正規化係数情報の打ち切りの具体例を示す図である。
【図１９】正規化係数情報の減算の結果と、それに伴う正規化係数情報の打ち切りの様子を示す図である。
【図２０】正規化係数情報の打ち切りと逆ゲイン制御の関係によって信号が増幅する様子を示す図である。
【符号の説明】
【０１０１】
１０１  非多重化回路、  １０２  正規化係数情報増減回路、  １０３  正規化係数情報打ち切り量計算回路、  １０４  ゲイン制御関数生成情報修正回路、  １０５  多重化回路
【図１】
0005045295.tif 000002
【図２】
0005045295.tif 000003
【図３】
0005045295.tif 000004
【図４】
0005045295.tif 000005
【図５】
0005045295.tif 000006
【図６】
0005045295.tif 000007
【図７】
0005045295.tif 000008
【図８】
0005045295.tif 000009
【図９】
0005045295.tif 000010
【図１０】
0005045295.tif 000011
【図１１】
0005045295.tif 000012
【図１２】
0005045295.tif 000013
【図１３】
0005045295.tif 000014
【図１４】
0005045295.tif 000015
【図１５】
0005045295.tif 000016
【図１６】
0005045295.tif 000017
【図１７】
0005045295.tif 000018
【図１８】
0005045295.tif 000019
【図１９】
0005045295.tif 000020
【図２０】
0005045295.tif 000021