(57)【要約】【課題】  本発明はブロックフローティング方法及び装置に関し、１データのみの振幅が大きいデータが入力された場合、線形システムにおける演算誤差を抑えることができることを目的としている。【解決手段】入力データを受けて平均ブロックパワーを算出する平均ブロックパワー算出処理部５０１と、該平均ブロックパワー算出処理部５０１の出力を受けて、データの正規化処理を行なう正規化シフト数算出処理部３０１と、正規化シフト数だけの正規化を行なうブロックデータ正規化処理部３０２と、該ブロックデータ正規化処理部３０２の出力を受けて、所定の演算を実施する線形システム３０３と、該線形システム３０３の出力と前記正規化シフト数算出処理部の出力を受けて前記正規化シフト数だけ線形システムの出力データを右シフトして本来の結果へ戻す処理を行なう後処理部３０４とを具備して構成される。【選択図】    図１
2007018212.tif 000002
【特許請求の範囲】
【請求項１】
固定小数点表現の２進データを乗算する際に、２進データをブロック単位で正規化を行なうブロックフローティング方法において、
ブロックデータの平均パワーと目標パワーの差分から正規化シフト数を算出することを特徴とするブロックフローティング方法。
【請求項２】
固定小数点表現の２進データを乗算する際に、２進データをブロック単位で正規化を行なうブロックフローティング方法において、
ブロックデータの平均パワーと目標パワーの差分から正規化シフト数を算出し、
正規化シフト数が負の場合はブロックデータの正規化処理で右シフトし、
平均パワーを下げることを特徴とするブロックフローティング方法。
【請求項３】
入力データを受けて平均ブロックパワーを算出する平均ブロックパワー算出処理部と、
該平均ブロックパワー算出処理部の出力を受けて、平均ブロックパワーと目標パワーから正規化シフト数だけブロックデータを左シフトしデータの正規化処理を行なう正規化シフト数算出処理部と、
入力データと正規化シフト数算出処理部の出力を受けて正規化シフト数だけブロックデータを左シフトしデータの正規化を行なうブロックデータ正規化処理部と、
該ブロックデータ正規化処理部の出力を受けて、正規化されたデータを入力し、所定の演算を実施する線形システムと、
該線形システムの出力と前記正規化シフト数算出処理部の出力を受けて前記正規化シフト数だけ線形システムの出力データを右シフトして本来の結果へ戻す処理を行なう後処理部と、
を具備して構成されるブロックフローティング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はブロックフローティング方法及び装置に関し、更に詳しくは音声、画像等のディジタル信号処理を行なうプロセッサの性能向上を図るためのブロックフローティング方法及び装置に関する。
【背景技術】
【０００２】
音声や画像のディジタル信号処理に使用されるプロセッサは、システムコストの点を考えて、ディジタルシグナルプロセッサ（以下、ＤＳＰという）等の固定小数点型プロセッサが用いられる場合が多い。一般的に、信号処理回路で取り扱う固定小数点型のデータ形式を図６に示す。図において、１０１は符号ビット、１０２は小数点の位置、１０３は小数点以下のデータＤ1〜Ｄn-1を表わすビットである。本例は、小数点以下にｎ−１ビットを割り当てるデータ形式を示している。
【０００３】
音声・画像等の信号処理は、積和演算を多用するため、ＤＳＰを使用して音声・画像等の信号処理を行なう場合は、図７を用いて説明するように演算誤差が問題となる。図７は固定小数点型の演算の様子を示す図である。図において、２０１は乗算を行なう演算器、２０２は演算器２０１の２つの入力データのうちの一方の入力データのうちの一方の入力データ、２０３は他方の入力データである。
【０００４】
２０４は演算結果のデータ、２０５は演算結果データの下位ビットを示す。図のように乗算を行なうと、演算結果２０４のデータの有効なビット長は入力データのビット長の２倍となる。通常、演算結果を格納するメモリ２０６や、再び乗算結果を次の乗算に使用する場合（２０７）は、下位ビット２０５に対して丸め又は切り捨て処理を行なう。このため、乗算結果のデータがレジスタの下位側に集中しているような小さいデータであるほど、データをメモリ２０６に格納する場合や、乗算結果を再び乗算する場合に生じる演算誤差は大きくなる。従って、固定小数点演算による演算誤差を削減するためには、信号のレベルをオーバフローが発生しない程度に大きく保つ必要がある。
【０００５】
信号のレベルを適切な値に正規化する従来技術として、ブロックフローティング処理がある。この処理は、複数のデータを１ブロックとしてまとめ、各ブロック単位でブロック内のデータ（ブロックデータ）中で最大のデータを抽出し、その指数（正規化シフト数）を求め、そのシフト数分だけ各ブロックデータをシフトする技術が用いられている。
【０００６】
正規化シフト数算出方法として、固定小数点表示型マイクロプロセッサでのブロックフローティング処理による正規化を行なうブロックフローティング処理システムであって、全てのブロックデータの絶対値の論理和演算を行なう演算器と、この論理和演算の結果データに対するＭＳＢ検出処理を行ない、ブロックフローティング処理に用いる正規化係数を求める算術論理演算部よりなる技術が知られている（例えば特許文献１参照）。
【０００７】
また、入力する無効データが多数存在しても、有効データの仮数部が仮数部用のメモリから溢れる可能性が低くなるようにする技術が知られている（例えば特許文献２参照）。
図８はブロックフローティングを適用した構成例を示す図である。通常、ブロックフローティング処理は、フィルタ計算やＦＦＴ処理等の線形システムの有限個の入力データに対して実施される。図において、３０１は正規化シフト数算出処理部であり、ｍ個の入力ブロックデータ｛ｉｎｐｕｔ（ｍ）｝に対して、正規化シフト数（ｓｆｔ）を算出する。ブロックデータ正規化処理部３０２は、正規化シフト数算出処理部３０１からの正規化シフト数ｓｆｔを受けて、正規化シフト数ｓｆｔだけブロックデータ｛ｉｎｐｕｔ（ｍ）｝を左シフトしてデータの正規化｛ｉｎｐｕｔ＿ｂｆ（ｍ）｝を実施する。
【０００８】
線形システム３０３は、ブロックデータ正規化処理部３０２の出力である｛ｉｎｐｕｔ＿ｂｆ（ｍ）｝を入力し、線形システムの演算を実施する。後処理部３０４は、線形システム３０３と正規化シフト数算出処理部３０１の出力を受けて、正規化シフト数だけ線形システムの出力データ｛ｏｕｔｐｕｔ（ｎ）｝を右シフトして本来の結果に戻す処理を実施する。このように、有限個のデータで構成されるブロックデータに対して信号のレベルを適切な値の正規化するブロックフローティング処理により、線形システムにおける演算誤差を少なくすることが可能である。
【特許文献１】特開平９−１２８２１３号公報（段落００２３〜００３０、図１、図２、図３）
【特許文献２】特開２００４−２９５４９０号公報（段落００２４〜００４４、図１、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前述した従来のブロックフローティング処理では、ブロックデータ中の最大のデータを抽出し、その正規化シフト数を算出し、そのシフト数分だけ各ブロックデータをシフトする。これは、ブロックデータの最大データを基準にしているため、以下のようなブロックデータの種類によっては、線形システムにおける演算誤差が大きくなる場合がある。
１）インパルス信号のようなブロックデータ中の１データのみの振幅が大きいデータが入力された場合、正規化されたデータの大部分の振幅が小さいままとなる。これにより、線形システムにおける演算誤差が大きくなることが問題となる。また、場合によっては、ブロックデータの大部分がアンダフローを招き、システムとして十分な演算精度が得られなくなるという問題がある。
【００１０】
図９は従来システムの課題の説明図である。（イ）はブロックデータを示している。ブロックデータの最初の部分にブロックデータの最大データがあり、残りの部分は振幅の小さいデータである。最大データが大きいため、正規化シフト数ｓｆｔは０となる。この結果、（ロ）に示すように、（ａ）の線形システムで演算誤差が小さくなる部分と、（ｂ）の線形システムで演算誤差が大きくなる部分に分かれ、ブロックデータに対して、（ａ）＜（ｂ）のため、線形システムにおいて、（ｂ）の演算誤差の影響が大きくなる。
２）ブロックデータの分散が小さい（データがある振幅に偏っている）データが入力された場合、正規化されたデータの大部分の振幅が大きくなる。これにより、積和処理を繰り返すような線形システムの場合、演算結果にオーバフローが発生し、演算誤差が大きくなるという問題がある。
【００１１】
図１０は従来システムの他の課題の説明図である。ブロックデータ入力は（イ）に示すようにブロックデータの最大のデータ付近に分布が集中している。この結果、最大データから正規化シフト数ｓｆｔ＝３を算出する。この結果、正規化処理後のブロックデータは（ロ）に示すようにブロックデータの全データが最大レベル付近まで持ち上げられ、積和処理を繰り返すようなシステムの場合、演算結果にオーバフローが発生する可能性が高くなるという問題がある。
【００１２】
本発明はこのような課題に鑑みてなされたものであって、インパルス信号のようなブロックデータ中の１データのみの振幅が大きいデータが入力された場合、又はブロックデータの分散が小さいデータが入力された場合の何れの場合にも、線形システムにおける演算誤差を抑えることができ、オーバフロー発生を抑えることができるブロックフローティング方法及び装置を提供することを目的としている。
【課題を解決するための手段】
【００１３】
本発明のポイントは、ブロックデータの平均パワー（以下、平均ブロックパワー）と目標パワーの差分により、正規化シフト数を算出することにある。従来のブロックフローティング処理は、ブロックデータの最大データの演算誤差を最小に抑えるのに対して、本発明のブロックフローティング処理は、ブロックデータの平均的なデータの演算誤差を最小に抑える方式である。特に、インパルス信号のようなブロックデータ中の１データのみの振幅が大きいデータが入力された場合における線形システムの演算誤差を小さくすることである。
【００１４】
本発明の原理について説明する。先ず、Ｍ個のブロックデータをｉｎｐｕｔ（ｍ）とした時、平均ブロックパワーａｖｅ＿ｐｏｗｅｒは次式で表わされる。
【００１５】
【数１】
2007018212.tif 000003
【００１６】
また、Ｍ個のブロックデータを正規化システム数ｓｆｔで正規化したデータｉｎｐｕｔ＿ｂｆ（ｍ）とその平均ブロックパワーａｖｅ＿ｂｆは次式で表わされる。
ｉｎｐｕｔ＿ｂｆ（ｍ）＝ｉｎｐｕｔ（ｍ）・２sft  （ｍ＝０，１，…Ｍ−１）（２）
【００１７】
【数２】
2007018212.tif 000004
【００１８】
ここで、線形システムに入力される理想的な平均ブロックパワー（線形システム内で演算のオーバフローが発生しない平均ブロックパワーを）をｔａｒ＿ｐｏｗｅｒとする。Ｍ個のブロックデータを正規化シフト数ｓｆｔで正規化したデータｉｎｐｕｔ＿ｂｆ（ｍ）の平均ブロックパワーａｖｅ＿ｐｏｗｅｒ＿ｂｆをｔａｒ＿ｐｏｗｅｒに近づけるための正規化シフト数ｓｆｔは、（１）〜（３）式より算出することができる。
【００１９】
ｔａｒ＿ｐｏｗｅｒ＝ａｖｅ＿ｐｏｗｅｒ＋１０・ｌｏｇ10（２sft・2）
ｓｆｔ＝（ｔａｒ＿ｐｏｗｅｒ−ａｖｅ＿ｐｏｗｅｒ）／２０・ｌｏｇ10（２）（４）
本発明は、（４）式により入力の平均ブロックパワーａｖｅ＿ｐｏｗｅｒと目標パワーｔａｒ＿ｐｏｗｅｒから理想的な平均ブロックパワーとなる正規化シフト数ｓｆｔを算出することである。この結果、線形システムにおける演算誤差を少なくすることが可能となる。ただし、ｔａｒ＿ｐｏｗｅｒは線形システム内の演算でオーバフローが発生しないブロックデータのパワーの上限であり、線形システムのアルゴリズムによって異なる。以下に各請求項についてその構成を示す。
（１）請求項１記載の発明は、固定小数点表現の２進データを乗算する際に、２進データをブロック単位で正規化を行なうブロックフローティング方法において、ブロックデータの平均パワーと目標パワーの差分から正規化シフト数を算出することを特徴とする。
（２）請求項２記載の発明は、固定小数点表現の２進データを乗算する際に、２進データをブロック単位で正規化を行なうブロックフローティング方法において、ブロックデータの平均パワーと目標パワーの差分から正規化シフト数を算出し、正規化シフト数が負の場合はブロックデータの正規化処理で右シフトし、平均パワーを下げることを特徴とする。
（３）請求項３記載の発明は、入力データを受けて平均ブロックパワーを算出する平均ブロックパワー算出処理部と、該平均ブロックパワー算出処理部の出力を受けて、平均ブロックパワーと目標パワーから正規化シフト数だけブロックデータを左シフトしデータの正規化処理を行なう正規化シフト数算出処理部と、入力データと正規化シフト数算出処理部の出力を受けて正規化シフト数だけブロックデータを左シフトしデータの正規化を行なうブロックデータ正規化処理部と、該ブロックデータ正規化処理部の出力を受けて、正規化されたデータを入力し、所定の演算を実施する線形システムと、該線形システムの出力と前記正規化シフト数算出処理部の出力を受けて前記正規化シフト数だけ線形システムの出力データを右シフトして本来の結果へ戻す処理を行なう後処理部とを具備して構成される。
【発明の効果】
【００２０】
（１）請求項１記載の発明によれば、ブロックデータの平均パワーと目標パワーの差分から正規化シフト数を算出するようにしているので、適正なシフト演算を行なうことができ、演算誤差の発生を抑制することができる。
（２）請求項２記載の発明によれば、正規化シフト数が負の場合には、ブロックデータの正規化処理で右シフトすることにより、適正なシフト演算を行なうことができ、演算誤差の発生を抑制することができる。
（３）請求項３記載の発明によれば、左シフトして乗算を行なった後、正規化シフト数だけ線形システムの出力データを右シフトすることにより、インパルス信号のようなブロックデータ中の１データのみの振幅が大きいデータが入力された場合、又はブロックデータの分散が小さいデータが入力された場合の何れの場合にも、線形システムにおける演算誤差を抑えることができ、オーバフロー発生を抑えることができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して本発明の実施の形態例を詳細に説明する。
図１は本発明の一実施の形態例を示すブロック図である。図８と同一のものは、同一の符号を付して示す。５０１は入力データを受けて平均ブロックパワーを算出する平均ブロックパワー算出処理部、３０１は該平均ブロックパワー算出処理部５０１の出力を受けて、平均ブロックパワーと目標パワーから正規化シフト数だけブロックデータを左シフトしデータの正規化処理を行なう正規化シフト数算出処理部、３０２は入力データと正規化シフト数算出処理部の出力を受けて正規化シフト数だけブロックデータを左シフトしデータの正規化を行なうブロックデータ正規化処理部、３０３は該ブロックデータ正規化処理部３０２の出力を受けて、正規化されたデータを入力し、所定の演算を実施する線形システム、３０４は該線形システム３０３と正規化シフト数算出処理部３０１の出力を受けて前記正規化シフト数だけ線形システムの出力データを右シフトして本来の結果へ戻す処理を行なう後処理部である。このように構成された装置の動作を説明すれば、以下の通りである。
【００２２】
図２，図３は本発明の動作の一例を示すフローチャートである。本発明は、ブロックパワー算出処理と、正規化シフト数算出処理と、ブロックデータ正規化処理と、線形システム処理と、後処理から構成されている。
〈ブロックパワー算出処理〉
平均ブロックパワー算出処理部５０１は、Ｍ個のブロックデータｉｎｐｕｔ（ｍ）を入力する（Ｓ１）。次に、平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）を計算し、（１）式を算出する（Ｓ２）。次に、平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）を出力する（Ｓ３）。
〈正規化シフト数算出処理〉
正規化シフト数算出処理部３０１は以下の動作を行なう。先ず、正規化シフト数ｓｆｔをクリアする（Ｓ４）。続いて、平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）を入力し（Ｓ５）、予め設定しておいた目標パワー（ｔａｒ＿ｐｏｗｅｒ）を入力する（Ｓ６）。予め設定しておいた目標パワー（ｔａｒ＿ｐｏｗｅｒ）を入力する（Ｓ５）。次に、平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）と目標パワー（ｔａｒ＿ｐｏｗｅｒ）の大小比較により正規化シフト数の算出を行なう。
【００２３】
先ず、目標パワー（ｔａｒ＿ｐｏｗｅｒ）から１０・ｌｏｇ（２）（パワーの１．５倍に相当）を減算した値（ｔａｒ＿ｐｏｗｅｒ−１０・ｌｏｇ（２））と、平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）を比較する（Ｓ７）。ここで、平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）が大きい場合には、正規化シフト数ｓｆｔの値に整数値“１”を加算（インクリメント）し（Ｓ８）、平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）に２０・ｌｏｇ（２）（パワーの２倍に相当）を加算する（Ｓ９）。この処理をｔａｒ＿ｐｏｗｅｒ−１０・ｌｏｇ（２）より平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）が大きくなるまで実施し、正規化シフト数ｓｆｔを算出する。
【００２４】
次に、目標パワー（ｔａｒ＿ｐｏｗｅｒ）に１０・ｌｏｇ（２）（パワーの１．５倍に相当）を加算した値（ｔａｒ＿ｐｏｗｅｒ−１０・ｌｏｇ（２））と平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）とを比較する（Ｓ１０）。ここで、平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）が小さい場合には、正規化シフト数ｓｆｔの値に整数値“１”を減算（デクレメント）し（Ｓ１１）、平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）から２０・ｌｏｇ（２）（パワーの２倍に相当）を減算する（Ｓ１２）。この処理をｔａｒ＿ｐｏｗｅｒ＋１０・ｌｏｇ（２）より平均ブロックパワー（ａｖｅ＿ｐｏｗｅｒ）が小さくなるまで実施し、正規化シフト数ｓｆｔを算出する。
【００２５】
ここで、大小比較を行なう際に、ｔａｒ＿ｐｏｗｅｒに±１０・ｌｏｇ（２）を加算しているのは、目標パワー（ｔａｒ＿ｐｏｗｅｒ）に対して±１０・ｌｏｇ（２）の範囲内に収まるような正規化シフト数を算出するためである。これにより、目標パワーとの誤差を比較することが可能となる。最後に正規化シフト数ｓｆｔを出力する（Ｓ１３）。
〈ブロックデータ正規化処理〉
ブロックデータ正規化処理部３０２は、入力データと正規化シフト数算出処理部３０１からのシフト数ｓｆｔを受けて、以下のような処理を行なう。先ず、ブロックデータｉｎｐｕｔ（ｍ）を入力し（Ｓ１４）、正規化シフト数ｓｆｔの入力を行なう（Ｓ１５）。次に、正規化シフト数ｓｆｔの符号判定を行なう。即ち、ｓｆｔが正か負かを判定する（Ｓ１６）。
【００２６】
ｓｆｔが正の値であれば、ブロックデータを正規化シフト数ｓｆｔだけ算術左ｓｆｔする（Ｓ１７）。ここで、算術左シフトによりオーバフローが発生するかどうかチェックし（Ｓ１８）、オーバフローが発生した場合には、ブロックデータの値を最大値にクリップ処理（ブロックデータが正の値の時は正の最大値に設定し、ブロックデータが負の値の時は負の最大値に設定する）する（Ｓ１９）。
【００２７】
逆に正規化シフト数ｓｆｔが負の値であれば、その絶対値をとり（Ｓ２０）、ブロックデータを正規化シフト数ｓｆｔだけ算術右シフトする（Ｓ２１）。ここで、正規化シフト数ｓｆｔが負の場合に右シフトするのは、線形システム内の演算でオーバフローを防止し、信号の歪みを軽減するためである。最後に正規化したブロックデータｉｎｐｕｔ＿ｂｆ（ｍ）を出力する（Ｓ２２）。
〈線形システム処理〉
線形システム３０３は以下の処理を行なう。演算誤差を最小にしたい線形システムには、上記ブロックデータ正規化処理で生成した正規化ブロックデータｉｎｐｕｔ＿ｂｆ（ｍ）を入力して（Ｓ２３）処理を行なう（Ｓ２４）。入力データは、本来の値ｉｎｐｕｔ（ｍ）に対して、２sft倍されているため、線形システム３０３からの出力データｏｕｔｐｕｔ＿ｂｆ（ｎ）も２sft倍されたデータとなる（Ｓ２５）。以下、ｏｕｔｐｕｔ＿ｂｆ（ｎ）を正規化された線形システムデータとよぶ。
〈後処理〉
後処理部３０４は、線形システム３０３の出力データと正規化シフト数算出処理部３０１からのシフトデータｓｆｔを受けて、以下のような処理を行なう。
【００２８】
後処理部３０４は、ブロックデータ正規化処理部３０２でブロックデータｉｎｐｕｔ（ｍ）を２sft倍した処理の逆の処理（１／２sft）をすることで、線形システムから出力される本来のスケールに戻す。
【００２９】
先ず、線形システムデータｏｕｔｐｕｔ＿ｂｆ（ｎ）と正規化シフト数ｓｆｔを入力し（Ｓ２６，Ｓ２７）、正規化シフト数ｓｆｔの符号判定を行なう（Ｓ２８）。正規化シフト数ｓｆｔが正の値であれば、線形システムデータを正規化シフト数ｓｆｔだけ算術右シフトし（Ｓ２９）、逆に正規化シフト数ｓｆｔが負の値であれば、正規化シフト数ｓｆｔの絶対値をとり（Ｓ３０）、線形システムデータを正規化数ｓｆｔだけ算術左シフトする（Ｓ３１）。ここで、算術左シフトによりオーバフローが発生する場合には、ブロックデータの値を最大値にクリップ処理（ブロックデータが正の値の時は正の最大値に設定し、ブロックデータが負の値の時は負の最大値に設定）させる。最後に、線形システムデータｏｕｔｐｕｔ（ｎ）を出力する（Ｓ３２）。
【００３０】
本発明により以下の効果を得ることができる。
１）効果１
正規化シフト数が負の場合には、ブロックデータの正規化処理で右シフトすることにより、適正なシフト演算を行なうことができ、演算誤差の発生を抑制することができる。
また、左シフトして乗算を行なった後、正規化シフト数だけ線形システムの出力データを右シフトすることにより、インパルス信号のようなブロックデータ中の１データのみの振幅が大きいデータが入力された場合、又はブロックデータの分散が小さいデータが入力された場合の何れの場合にも、線形システムにおける演算誤差を抑えることができ、オーバフロー発生を抑えることができる。
２）効果２
インパルス信号のようなブロックデータ中の１データのみの振幅が大きいデータが入力された場合において、大きな割合を占める低レベル信号を大きく保つことができるため、線形システムにおける演算誤差を抑えることが可能となる。図４は本発明の第１の効果の一例を示す説明図である。図において、（イ）はブロックデータを示す。データの最初の部分にブロックデータの最大データが含まれていることが分かる。
【００３１】
この場合、目標パワー＞平均ブロックパワーにより、正規化シフト数はｓｆｔ＝３となる。正規化処理後のブロックデータ｛ｉｎｐｕｔ＿ｂｆ（ｍ）｝は、（ロ）に示すようなものとなる。正規化処理後のブロックデータで、ピーク値を除くその他の部分で振幅が大きくなり、線形システムで演算誤差が小さくなっていることが分かる。ブロックデータに対して、（ａ）＞（ｂ）のため、線形システムにおいて、（ｂ）の演算誤差の影響は小さくなる。
３）効果３
ブロックデータの分散が小さい（データがある振幅に偏っている）データが入力された場合において、ブロックデータの信号レベルを低くすることができるため、線形システムでのオーバフロー発生を抑えることが可能となる。図５は本発明の第２の効果の一例を示す説明図である。図において、（ａ）はブロックデータを示し、ピークがないものである。この場合、目標パワーと平均ブロックパワーから、正規化シフト数ｓｆｔ＝２を算出する。この結果、正規化後のブロックデータｉｎｐｕｔ＿ｂｆ（ｍ）は、ブロックデータが最大レベル付近まで持ち上がらず、（ｂ）に示すようにオーバフローの発生が抑えられる。
【００３２】
積和処理を繰り返すような線形システムの場合、線形システムでのオーバフロー発生を抑えることが可能となる。
４）効果４
本発明を例えば音声システム等に適用する場合、従来のブロックフローティングを用いた音声システムに比べて、システム内の演算精度を向上させることができ、高品質なシステムを構築することが可能となる。
５）効果５
本発明をＤＳＰ等のプロセッサで実現する場合、従来のブロックフローティングで必要であった最大値検索処理が不要となるため、処理負荷を軽減することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施の形態例を示すブロック図である。
【図２】本発明の動作の一例を示すフローチャートである。
【図３】本発明の動作の一例を示すフローチャートである。
【図４】本発明の第１の効果の一例を示す説明図である。
【図５】本発明の第２の効果の一例を示す図である。
【図６】固定小数点型のデータ形式を示す図である。
【図７】固定小数点型の演算の様子を示す図である。
【図８】ブロックフローティングを適用した構成例を示す図である。
【図９】従来システムの課題の説明図である。
【図１０】従来システムの他の課題の説明図である。
【符号の説明】
【００３４】
３０１  正規化シフト数算出処理部
３０２  ブロックデータ正規化処理部
３０３  線形システム
３０４  後処理部
５０１  平均ブロックパワー算出処理部
【図１】
2007018212.tif 000005
【図２】
2007018212.tif 000006
【図３】
2007018212.tif 000007
【図６】
2007018212.tif 000008
【図７】
2007018212.tif 000009
【図８】
2007018212.tif 000010
【図４】
2007018212.tif 000011
【図５】
2007018212.tif 000012
【図９】
2007018212.tif 000013
【図１０】
2007018212.tif 000014