(57)【要約】【課題】量子化処理の回数を減らす。【解決手段】非線形量子化装置での量子化ステップパラメータを算出する量子化ステップパラメータ決定装置１において、前グラニュールの量子化ステップパラメータにより量子化を行う量子化手段２と、該量子化手段２で得られた値のビット数を規定ビット数と比較する比較手段３と、比較の結果、ビット数が規定ビット数と同じであるときに量子化ステップパラメータを採用する同一時処理手段４と、比較の結果、ビット数が規定ビット数よりも大きいときに量子化ステップパラメータを１ずつ増やすことにより規定ビット数以下の最大値を求めて採用する大時処理手段５と、比較の結果、ビット数が規定ビット数よりも小さいときに量子化ステップパラメータを減らすことにより規定ビット数以下の最大値を求めて採用する小時処理手段６とを備える。【選択図】        図１
2004172770.tif 000002
【特許請求の範囲】
【請求項１】
量子化ステップパラメータから求めた量子化ステップとアナログ信号とから離散信号を算出する非線形量子化装置での前記量子化ステップパラメータを算出する量子化ステップパラメータ決定装置において、前グラニュールの量子化ステップパラメータにより量子化を行う量子化手段と、該量子化手段で得られた値のビット数を規定ビット数と比較する比較手段と、前記比較の結果、ビット数が規定ビット数と同じであるときに前記量子化ステップパラメータを採用する同一時処理手段と、前記比較手段での比較の結果、ビット数が規定ビット数よりも大きいときに量子化ステップパラメータを１ずつ増やすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する大時処理手段と、前記比較手段での比較の結果、ビット数が規定ビット数よりも小さいときに量子化ステップパラメータを減らすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する小時処理手段とを備えることを特徴とする量子化ステップパラメータ決定装置。
【請求項２】
前記小時処理手段は、前記量子化ステップパラメータを１回だけ減らして量子化を行う減少量子化手段と、該減少後量子化手段で得られた値のビット数を規定ビット数と比較する減少後比較手段と、前記減少後比較手段での比較の結果、ビット数が規定ビット数と同じであるときに、用いた前記量子化ステップパラメータを採用する減少後同一時処理手段と、前記減少後比較手段での比較の結果、ビット数が規定ビット数よりも大きいときに、減少量子化手段で減らす前の前記量子化ステップパラメータを採用する減少後大時処理手段と、前記減少後比較手段での比較の結果、ビット数が規定ビット数よりも小さいときに、用いた前記量子化ステップパラメータと初期量子化ステップパラメータとの間で二分検索を実行して前記量子化ステップパラメータを求める二分検索手段とを備えることを特徴とする請求項１記載の量子化ステップパラメータ決定装置。
【請求項３】
量子化ステップパラメータから求めた量子化ステップとアナログ信号とから離散信号を算出する非線形量子化方法での前記量子化ステップパラメータを算出する量子化ステップパラメータ決定方法において、前グラニュールの量子化ステップパラメータにより量子化を行う量子化工程と、該量子化工程で得られた値のビット数を規定ビット数と比較する比較工程と、前記比較の結果、ビット数が規定ビット数と同じであるときに前記量子化ステップパラメータを採用する同一時処理工程と、前記比較工程での比較の結果、ビット数が規定ビット数よりも大きいときに量子化ステップパラメータを１ずつ増やすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する大時処理工程と、前記比較工程での比較の結果、ビット数が規定ビット数よりも小さいときに量子化ステップパラメータを減らすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する小時処理工程とを備えることを特徴とする量子化ステップパラメータ決定方法。
【請求項４】
前記小時処理工程は、前記量子化ステップパラメータを１回だけ減らして量子化を行う減少量子化工程と、該減少後量子化工程で得られた値のビット数を規定ビット数と比較する減少後比較工程と、前記減少後比較工程での比較の結果、ビット数が規定ビット数と同じであるときに、用いた前記量子化ステップパラメータを採用する減少後同一時処理工程と、前記減少後比較工程での比較の結果、ビット数が規定ビット数よりも大きいときに、減少量子化工程で減らす前の前記量子化ステップパラメータを採用する減少後大時処理工程と、前記減少後比較工程での比較の結果、ビット数が規定ビット数よりも小さいときに、用いた前記量子化ステップパラメータと初期量子化ステップパラメータとの間で二分検索を実行して前記量子化ステップパラメータを求める二分検索工程とを備えることを特徴とする請求項３記載の量子化ステップパラメータ決定方法。
【請求項５】
量子化ステップパラメータから求めた量子化ステップとアナログ信号とから離散信号を算出する非線形量子化処理において前記量子化ステップパラメータを算出するためにコンピュータを、前グラニュールの量子化ステップパラメータにより量子化を行う量子化手段と、該量子化手段で得られた値のビット数を規定ビット数と比較する比較手段と、前記比較の結果、ビット数が規定ビット数と同じであるときに前記量子化ステップパラメータを採用する同一時処理手段と、前記比較手段での比較の結果、ビット数が規定ビット数よりも大きいときに量子化ステップパラメータを１ずつ増やすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する大時処理手段と、前記比較手段での比較の結果、ビット数が規定ビット数よりも小さいときに量子化ステップパラメータを減らすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する小時処理手段として機能させることを特徴とする量子化ステップパラメータ決定プログラム。
【請求項６】
前記小時処理手段は、前記量子化ステップパラメータを１回だけ減らして量子化を行う減少量子化手段と、該減少後量子化手段で得られた値のビット数を規定ビット数と比較する減少後比較手段と、前記減少後比較手段での比較の結果、ビット数が規定ビット数と同じであるときに、用いた前記量子化ステップパラメータを採用する減少後同一時処理手段と、前記減少後比較手段での比較の結果、ビット数が規定ビット数よりも大きいときに、減少量子化手段で減らす前の前記量子化ステップパラメータを採用する減少後大時処理手段と、前記減少後比較手段での比較の結果、ビット数が規定ビット数よりも小さいときに、用いた前記量子化ステップパラメータと初期量子化ステップパラメータとの間で二分検索を実行して前記量子化ステップパラメータを求める二分検索手段とを備えることを特徴とする請求項５記載の量子化ステップパラメータ決定プログラム。
【請求項７】
指数部Ｘｆと仮数部Ｘｅで表現される浮動小数点数であるアナログ入力信号Ｘを非線形演算の解Ｚ＝（Ｘ／２ｑ／４）０．７５（ただし、ｑは量子化ステップパラメータ）を含む離散信号に変換する非線形量子化方法において、前記量子化ステップパラメータｑを２の補数表記二進数で表す時に、ｑ／４の小数点以下２ビットのビット列を符号無し二進数ｑ／４（→）とすると共にｑ／４の整数部を２の補数表記符号付き二進数ｑ／４（←）として、数式１により定義されるＹを求め、
【数１】
2004172770.tif 000029
Ｙの指数部と仮数部をそれぞれＹｆ、Ｙｅとしたときに、数式２によりＺを求めて、
【数２】
2004172770.tif 000030
このＺを利用して前記離散信号を求めることを特徴とする非線形量子化方法。
【請求項８】
数式１の計算時に、数式１のＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算して記録しておいた数表の数値を使用し、またＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域を越える場合には計算結果の１／２の数値を使用すると共に数式１の２（Ｘｅ−ｑ／４（←））の指数部に１を加え、尚かつ数式２の計算時に、数式２のＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算して記録しておいた数表の数値を使用し、またＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域を越える場合には計算結果の１／２の数値を使用すると共に数式２の２（Ｙｅ−Ｙｅ／４（←））の指数部に１を加えることを特徴とする請求項７記載の非線形量子化方法。
【請求項９】
指数部Ｘｆと仮数部Ｘｅで表現される浮動小数点数であるアナログ入力信号Ｘを非線形演算の解Ｚ＝（Ｘ／２ｑ／４）０．７５（ただし、ｑは量子化ステップパラメータ）を含む離散信号に変換する非線形量子化装置において、前記量子化ステップパラメータｑを２の補数表記二進数で表す時に、ｑ／４の小数点以下２ビットのビット列を符号無し二進数ｑ／４（→）とすると共にｑ／４の整数部を２の補数表記符号付き二進数ｑ／４（←）として、数式３により定義されるＹを求めるＹ算出手段と、
【数３】
2004172770.tif 000031
Ｙの指数部と仮数部をそれぞれＹｆ、Ｙｅとしたときに、数式４
【数４】
2004172770.tif 000032
によりＺを求めるＺ算出手段とを備えることを特徴とする非線形量子化装置。
【請求項１０】
数式３のＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する第１の数表手段と、前記フラグの出力により数式３の２（Ｘｅ−ｑ／４（←））の指数部に１を加える第１の補正手段と、数式４のＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する第２の数表手段と、前記フラグの出力により数式４の２（Ｙｅ−Ｙｅ／４（←））の指数部に１を加える第２の補正手段とを備えることを特徴とする請求項９記載の非線形量子化装置。
【請求項１１】
指数部Ｘｆと仮数部Ｘｅで表現される浮動小数点数であるアナログ入力信号Ｘを非線形演算の解Ｚ＝（Ｘ／２ｑ／４）０．７５（ただし、ｑは量子化ステップパラメータ）を含む離散信号に変換するためにコンピュータを、前記量子化ステップパラメータｑを２の補数表記二進数で表す時に、ｑ／４の小数点以下２ビットのビット列を符号無し二進数ｑ／４（→）とすると共にｑ／４の整数部を２の補数表記符号付き二進数ｑ／４（←）として、数式５により定義されるＹを求めるＹ算出手段と、
【数５】
2004172770.tif 000033
Ｙの指数部と仮数部をそれぞれＹｆ、Ｙｅとしたときに、数式６
【数６】
2004172770.tif 000034
によりＺを求めるＺ算出手段として機能させることを特徴とする非線形量子化プログラム。
【請求項１２】
コンピュータを、数式５のＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する第１の数表手段と、前記フラグの出力により数式５の２（Ｘｅ−ｑ／４（←））の指数部に１を加える第１の補正手段と、数式６のＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する第２の数表手段と、前記フラグの出力により数式６の２（Ｙｅ−Ｙｅ／４（←））の指数部に１を加える第２の補正手段として機能させることを特徴とする請求項１１記載の非線形量子化プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アナログ信号と量子化ステップとから離散信号を算出する非線形量子化装置の量子化ステップパラメータを求める量子化ステップパラメータ決定装置および量子化ステップパラメータ決定方法、並びに量子化ステップパラメータ決定プログラム、ならびに非線形量子化方法および非線形量子化装置に関する。さらに詳しくは、本発明は、離散信号が所定値を超えない最大値を取る量子化ステップパラメータを設定するための量子化ステップパラメータ決定装置および量子化ステップパラメータ決定方法、並びに量子化ステップパラメータ決定プログラム、ならびにアナログ入力信号を非線形演算の解を含む離散信号に変換する非線形量子化方法および非線形量子化装置に関する。
【０００２】
【従来の技術】
ＭＰＥＧ２等でのオーディオ信号圧縮のようにアナログ量をデジタル符号化する場合には、アナログ量を非線形量子化して離散値に変換する。例えばＭＰ３における非線形量子化は、数式７のようにアナログ信号Ｘをデジタルの離散信号Ｉに変換する。
【０００３】
【数７】
2004172770.tif 000003
ここで、Ｑは量子化ステップであり、数式８により定義される。
【数８】
Ｑ＝２ｑ／４
ｑ：量子化ステップパラメータ（整数）
【０００４】
アナログ信号Ｘを２進浮動小数点形式で表現すると数式９で示される。
【数９】
Ｘ＝Ｘ１×２Ｘ２
ここで、Ｘ１はＸの仮数部分であり０．５以上１．０未満の値となる。Ｘ２はＸの指数部分であり整数値である。そして、Ｘ／Ｑは数式１０で示される。
【数１０】
2004172770.tif 000004
量子化ステップパラメータｑが４の倍数であれば、指数部分（Ｘ２−ｑ／４）を加算回路だけで算出できる。そして、仮数部分と指数部分とを２進数として結合処理すればＸ／Ｑを得ることができる。
【０００５】
また、量子化ステップパラメータｑが４の倍数でないときは、数式１０は数式１１のように表される。
【数１１】
2004172770.tif 000005
ここで、≪ｎ≫はｎの整数部分を意味し、『ｎ』はｎの端数部分を意味する。『ｑ／４』はｑが正の場合には０，０．２５，０．５０，０．７５のいずれかの値となる。
【０００６】
そして、−『ｑ／４』を指数とする項は、数式１２または数式１３のように変形できる。
【数１２】
2004172770.tif 000006
【数１３】
2004172770.tif 000007
【０００７】
これら数式１２または数式１３を利用すると、『ｑ／４』≠０のときは、Ｘ／Ｑは数式１４または数式１５のように表される。
【数１４】
2004172770.tif 000008
【数１５】
2004172770.tif 000009
【０００８】
さらに、ｑ／４の小数点以下２ビットのみを取り出して、整数部分の全ビットを０または１に固定することで、数式１６により補正値ｑ１、数式１７により補正値ｑ２を導くことができる。
【数１６】
2004172770.tif 000010
【数１７】
2004172770.tif 000011
【０００９】
ここで、数式１６でｑ＜０のときの『ｑ／４』＝０の場合、および数式１７でｑ＞０のときの『ｑ／４』＝０の場合では補正を要する。すなわち、数式１６ではｑ＜０のときに『ｑ／４』＝０であればｑ１＝１．０になり、また数式１７ではｑ＞０のときに『ｑ／４』＝０であればｑ２＝−１．０になり、これらｑ１、ｑ２の値を用いて計算すれば正しい値を得ることができる。しかし、本実施形態ではｑ／４の小数点以下２ビットのみを取り出して計算しているため、ｑ１＝１．０あるいはｑ２＝−１．０とならずに、いずれも０になってしまう。そこで、数式１６に関しては、
ｑ≧０かつ『ｑ／４』＝０のとき、ｑ１＝０
ｑ＜０かつ『ｑ／４』＝０のとき、ｑ１＝１．０
と補正すると共に、数式１７に関しては、
ｑ＞０かつ『ｑ／４』＝０のとき、ｑ２＝−１．０
ｑ≦０かつ『ｑ／４』＝０のとき、ｑ２＝０
と補正する。
【００１０】
これらの補正値ｑ１，ｑ２を利用して数式１４および数式１５を書き換えると、数式１８および数式１９となる。
【数１８】
2004172770.tif 000012
【数１９】
2004172770.tif 000013
【００１１】
２進整数値を２の補数表現で表すと、表現形式の最上位のビットが１のときに負の値であることを判別できる。
ここで、数式１８および数式１９のうちで、ｑが０若しくは正であることとｑが負であることとで区別している数式１９の方が容易に扱えるので、以下では数式１９を用いて説明する。
【００１２】
数式１９において、指数部の加減算とｑ１を求めるためのビット切り出し回路はデジタル回路で容易に実現することができる。また、『ｑ／４』はデジタル回路ではｑの２ビットビットシフトで算出できるので、回路規模としては小さなものと成る。
【００１３】
これに対し、仮数部のＸ１×２−ｑ１の計算は乗算が必要であるので、デジタル回路での実現は大規模なものになる。しかし、ｑ１＝０の場合には仮数部はＸ１になることと、ｑ１の変形自体が４ケースしかないことを考えると、この乗算を容易に定数テーブルの索引で代替することができる。そこで、演算結果として必要な精度の分だけの演算をＸ１、Ｘ１×２０．２５、Ｘ１×２０．５０、Ｘ１×２０．７５に対して予め行い、Ｘ１の有効ビットを切り出してｑ１×４の値と合わせて、その合わせた値から索引する仮数テーブルを用意することで、１回の仮数テーブル索引でＸ１×２−ｑ１の値（演算用仮数Ｘｆ）を求めることができる。
【００１４】
ところが、ここで得られた結果は、０．５≦Ｘ１×２−ｑ１＜１．０を必ずしも満たさないので、Ｘ／Ｑを求めるための浮動小数点仮数部としては使用できない。その一方で、１．１８＜２０．２５＜２０．７５＜１．６９であることは既知である。このことと０．５≦Ｘ１＜１であることとを合わせて考えると、０．５≦Ｘ１×２−ｑ１＜１を満たすようにするために指数部に加えるべき補正値は１で足りることが分かる。そこで、仮数テーブルからの出力値Ｘｆが１．０以上になる場合は、仮数テーブルからの出力値Ｘｆを予め２．０で割った値が出力されるように出力値Ｘｆを補正しておく。これにより、仮数テーブルからの出力値Ｘｆが浮動小数点形式として適切な値になる。さらに、Ｘ１とｑ１の値に応じて、指数部の補正値ｒ１を格納する指数補正値テーブルを用意して、指数補正値テーブルを索引した結果の補正値ｒ１を指数部に加えて、整数の演算用指数Ｘｅを求める。
【００１５】
このようにして求められた演算用仮数Ｘｆおよび演算用指数Ｘｅを用いて、数式２０によりＸ／Ｑを算出することができる。
【数２０】
Ｘ／Ｑ＝Ｘｆ×２Ｘｅ
【００１６】
ここで、Ｘ／Ｑ＝Ｙと置き、ＹからＹ０．７５を２進浮動小数点形式で算出する演算手順を説明する。Ｙを２進浮動小数点形式で表現すると数式２１で示される。
【数２１】
Ｙ＝Ｙ１×２Ｙ２
【００１７】
ここで、Ｙ１はＹの仮数部分であり０．５以上１．０未満の値となる。Ｙ２はＹの指数部分であり整数値である。そして、Ｙ０．７５＝Ｚと置くと数式２２のように表される。
【数２２】
Ｚ＝Ｙ１０．７５×２Ｙ２×０．７５
ここで、指数部については数式２３で表される。
【数２３】
Ｙ２×０．７５＝Ｙ２−Ｙ２／４
よって、指数部はＹ２をシフトしたもの（Ｙ２／４）をＹ２から減算することで算出できる。
【００１８】
特にＹ２が４の倍数のときはシフト後の小数部分は０であるので、仮数部分への補正は必要ない。また、このときの仮数部分は０．５≦Ｙ１０．７５＜１．０であり、本演算での指数部分への補正なしに第１の累乗計算手段のように仮数テーブルを用意して演算器の代わりにすることができる。
【００１９】
また、Ｙ２が４の倍数でないときは、Ｚは数式２４のように算出され、２の累乗の補正処理が必要になる。
【数２４】
Ｚ＝Ｙ１０．７５×２（Ｙ２−≪Ｙ２／４≫）×２−『Ｙ２／４』
この２の累乗の補正処理は、数式１１のものと同様である。
【００２０】
ここでは、仮数テーブルを用意することで１回の仮数テーブル索引でＹ１０．７５の値（演算用仮数Ｙｆ）を求めることができる。また、Ｙ１の値に応じて、指数部の補正値ｒ２を格納する指数補正値テーブルを用意して、指数補正値テーブルを索引した結果の補正値ｒ２を指数部に加えて、整数の演算用指数Ｙｅを求める。このようにして求められた演算用仮数Ｙｆおよび演算用指数Ｙｅを用いて、数式２５によりＺ＝Ｙ０．７５を算出することができる。
【数２５】
Ｙ０．７５＝Ｙｆ×２Ｙｅ
【００２１】
これにより、Ｚを用いて数式７より離散信号Ｉを得ることができる。
【００２２】
その一方、ＭＰ３エンコーダでは非線形量子化後の離散信号を５７６信号を単位とするグラニュールごとにハフマン符号により圧縮している。そして、圧縮後のビット数は、外部より指示されるビットレートによって決定されるグラニュールを保存するための最大ビット数Ｎｒに納める必要がある。ビット数Ｎｒはビットレートが与えられる事で自動的に決定されるが、ハフマン符号による圧縮後のビット数Ｎｃは圧縮する以前には予測ができない。音質劣化を防ぐためにはビット数Ｎｃはビット数Ｎｒを越えない最大値となるように量子化ステップＱを調整する必要がある。このため、ＭＰ３エンコーダは外部ループと呼ばれるループの中で量子化ステップパラメータｑを決定する。
【００２３】
このため、限界値Ｎｒを超えない最大の大きさとなる最大値Ｎｃを求めるために、量子化ステップパラメータｑの値を通常は負となる小さな量子化ステップパラメータ初期値ｑ０に設定して当該フレーム内での最大値Ｎｃを求めて限界値Ｎｒと比較する。このときは最大値Ｎｃ＞限界値Ｎｒとなるので、次に量子化ステップパラメータｑの値を１だけ増やして再び最大値Ｎｃを求めて限界値Ｎｒと比較して、これを繰り返す。そして、最大値Ｎｃが限界値Ｎｒより小さくなったときの量子化ステップパラメータｑを最終値として採用する。すなわち、ＭＰ３エンコーダは、この最終的な量子化ステップパラメータｑを算出する。
【００２４】
ところが、この方法では、最終的な量子化ステップパラメータｑを算出するまでの反復回数が多くなってしまう。例えば量子化ステップパラメータ初期値ｑ０として−２６０程度の値を使用すると、量子化処理を通常２００〜２３０回は行わなければならず処理時間が長くなってしまう。量子化ステップパラメータ初期値ｑ０としてフレームデータの平均値から算出した初期値を用いて量子化処理回数の低減を図っても、この回数を４０〜１００回程度に低減できるに過ぎなかった。
【００２５】
このため、量子化ステップパラメータ初期値ｑ０として例えば−２６０程度の値あるいはフレームデータの平均値から算出した初期値を採用して、当該量子化ステップパラメータ初期値ｑ０と入力データの理論的な最大値に相当する＋２００との間で二分検索を行って最終的な量子化ステップパラメータｑを算出するようにしていた。これによれば、量子化処理を通常９〜１０回に抑えることができる。
【００２６】
【発明が解決しようとする課題】
しかしながら、上述した数式７〜数式２５を用いた量子化演算では、数式１４および数式１５に示すように量子化ステップパラメータｑの正負によって演算式を使い分けなければならないので、量子化ステップパラメータｑの正負の判断処理が必要になって処理速度の迅速化および回路の小型化が阻害されてしまう。
【００２７】
その一方、上述した量子化ステップパラメータｑを決定するために二分検索を利用する方法では、検索範囲の下限を例えば−２６０程度の値あるいはフレームデータの平均値にしているので、検索範囲が最大で−２６０〜＋２００と広くなってしまい、量子化処理を通常９〜１０回よりも抑えることが困難で、ＭＰ３エンコーダの処理の迅速化の妨げとなっている。
【００２８】
そこで、本発明は、量子化処理の回数を減らすことのできる量子化ステップパラメータ決定装置と量子化ステップパラメータ決定方法と量子化ステップパラメータ決定プログラム、ならびに回路規模の大型化を抑制すると共に処理を高速化できる非線形量子化方法と非線形量子化装置と非線形量子化プログラムを提供することを目的とする。
【００２９】
【課題を解決するための手段】
かかる目的を達成するために本願発明者が鋭意検討した結果、現在のグラニュールで使用する量子化ステップパラメータは前グラニュールで使用した量子化ステップパラメータに対して＋１のときが最も多いということが判明した（図５参照）。したがって、この部分において最も量子化回数が少なくなるような検索アルゴリズムを採用することによりエンコード全体の計算量を削減できると考えられる。
【００３０】
係る知見に基づいて案出された請求項１記載の発明は、量子化ステップパラメータから求めた量子化ステップとアナログ信号とから離散信号を算出する非線形量子化装置での量子化ステップパラメータを算出する量子化ステップパラメータ決定装置において、前グラニュールの量子化ステップパラメータにより量子化を行う量子化手段と、該量子化手段で得られた値のビット数を規定ビット数と比較する比較手段と、比較の結果、ビット数が規定ビット数と同じであるときに量子化ステップパラメータを採用する同一時処理手段と、比較手段での比較の結果、ビット数が規定ビット数よりも大きいときに量子化ステップパラメータを１ずつ増やすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する大時処理手段と、比較手段での比較の結果、ビット数が規定ビット数よりも小さいときに量子化ステップパラメータを減らすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する小時処理手段とを備えるようにしている。また、請求項３記載の発明は、量子化ステップパラメータから求めた量子化ステップとアナログ信号とから離散信号を算出する非線形量子化方法での量子化ステップパラメータを算出する量子化ステップパラメータ決定方法において、前グラニュールの量子化ステップパラメータにより量子化を行う量子化工程と、該量子化工程で得られた値のビット数を規定ビット数と比較する比較工程と、比較の結果、ビット数が規定ビット数と同じであるときに量子化ステップパラメータを採用する同一時処理工程と、比較工程での比較の結果、ビット数が規定ビット数よりも大きいときに量子化ステップパラメータを１ずつ増やすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する大時処理工程と、比較工程での比較の結果、ビット数が規定ビット数よりも小さいときに量子化ステップパラメータを減らすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する小時処理工程とを備えるようにしている。さらに、請求項５記載の量子化ステップパラメータ決定プログラムは、量子化ステップパラメータから求めた量子化ステップとアナログ信号とから離散信号を算出する非線形量子化処理において量子化ステップパラメータを算出するためにコンピュータを、前グラニュールの量子化ステップパラメータにより量子化を行う量子化手段と、該量子化手段で得られた値のビット数を規定ビット数と比較する比較手段と、比較の結果、ビット数が規定ビット数と同じであるときに量子化ステップパラメータを採用する同一時処理手段と、比較手段での比較の結果、ビット数が規定ビット数よりも大きいときに量子化ステップパラメータを１ずつ増やすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する大時処理手段と、比較手段での比較の結果、ビット数が規定ビット数よりも小さいときに量子化ステップパラメータを減らすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する小時処理手段として機能させるようにしている。
【００３１】
したがって、最初の量子化は前グラニュールの量子化ステップパラメータで行うと共にそのときのビット数が規定ビット数より大きいときにその量子化ステップパラメータを１ずつ増やしているので、前グラニュールで使用した量子化ステップパラメータに対して＋１した量子化ステップパラメータでの量子化処理が２回で済むようになる。よって、量子化処理の回数を減らすことにより全体の処理時間を大幅に減らすことができる。
【００３２】
そして、請求項２記載の発明は、請求項１記載の量子化ステップパラメータ決定装置において、小時処理手段は、量子化ステップパラメータを１回だけ減らして量子化を行う減少量子化手段と、該減少後量子化手段で得られた値のビット数を規定ビット数と比較する減少後比較手段と、減少後比較手段での比較の結果、ビット数が規定ビット数と同じであるときに、用いた量子化ステップパラメータを採用する減少後同一時処理手段と、減少後比較手段での比較の結果、ビット数が規定ビット数よりも大きいときに、減少量子化手段で減らす前の量子化ステップパラメータを採用する減少後大時処理手段と、減少後比較手段での比較の結果、ビット数が規定ビット数よりも小さいときに、用いた量子化ステップパラメータと初期量子化ステップパラメータとの間で二分検索を実行して量子化ステップパラメータを求める二分検索手段とを備えるようにしている。また、請求項４記載の発明は、請求項３記載の量子化ステップパラメータ決定方法において、小時処理工程は、量子化ステップパラメータを１回だけ減らして量子化を行う減少量子化工程と、該減少後量子化工程で得られた値のビット数を規定ビット数と比較する減少後比較工程と、減少後比較工程での比較の結果、ビット数が規定ビット数と同じであるときに、用いた量子化ステップパラメータを採用する減少後同一時処理工程と、減少後比較工程での比較の結果、ビット数が規定ビット数よりも大きいときに、減少量子化工程で減らす前の量子化ステップパラメータを採用する減少後大時処理工程と、減少後比較工程での比較の結果、ビット数が規定ビット数よりも小さいときに、用いた量子化ステップパラメータと初期量子化ステップパラメータとの間で二分検索を実行して量子化ステップパラメータを求める二分検索工程とを備えるようにしている。さらに、請求項６記載の発明は、請求項５記載の量子化ステップパラメータ決定プログラムにおいて、小時処理手段は、量子化ステップパラメータを１回だけ減らして量子化を行う減少量子化手段と、該減少後量子化手段で得られた値のビット数を規定ビット数と比較する減少後比較手段と、減少後比較手段での比較の結果、ビット数が規定ビット数と同じであるときに、用いた量子化ステップパラメータを採用する減少後同一時処理手段と、減少後比較手段での比較の結果、ビット数が規定ビット数よりも大きいときに、減少量子化手段で減らす前の量子化ステップパラメータを採用する減少後大時処理手段と、減少後比較手段での比較の結果、ビット数が規定ビット数よりも小さいときに、用いた量子化ステップパラメータと初期量子化ステップパラメータとの間で二分検索を実行して量子化ステップパラメータを求める二分検索手段とを備えるようにしている。
【００３３】
したがって、現在のグラニュールの量子化ステップパラメータが前グラニュールのときより小さい場合に、最適な量子化ステップパラメータを二分検索により求めているので、量子化処理を最小限に抑えて量子化ステップパラメータを求めることができる。
【００３４】
一方、請求項７記載の発明は、指数部Ｘｆと仮数部Ｘｅで表現される浮動小数点数であるアナログ入力信号Ｘを非線形演算の解Ｚ＝（Ｘ／２ｑ／４）０．７５（ただし、ｑは量子化ステップパラメータ）を含む離散信号に変換する非線形量子化方法において、量子化ステップパラメータｑを２の補数表記二進数で表す時に、ｑ／４の小数点以下２ビットのビット列を符号無し二進数ｑ／４（→）とすると共にｑ／４の整数部を２の補数表記符号付き二進数ｑ／４（←）として、数式２６により定義されるＹを求め、
【数２６】
2004172770.tif 000014
Ｙの指数部と仮数部をそれぞれＹｆ、Ｙｅとしたときに、数式２７によりＺを求めて、
【数２７】
Ｚ＝Ｙｆ０．７５×２−Ｙｅ／４（→）×２（Ｙｅ−Ｙｅ／４（←））
このＺを利用して離散信号を求めるようにしている。
【００３５】
また、請求項９記載の発明は、指数部Ｘｆと仮数部Ｘｅで表現される浮動小数点数であるアナログ入力信号Ｘを非線形演算の解Ｚ＝（Ｘ／２ｑ／４）０．７５（ただし、ｑは量子化ステップパラメータ）を含む離散信号に変換する非線形量子化装置において、量子化ステップパラメータｑを２の補数表記二進数で表す時に、ｑ／４の小数点以下２ビットのビット列を符号無し二進数ｑ／４（→）とすると共にｑ／４の整数部を２の補数表記符号付き二進数ｑ／４（←）として、数式２８により定義されるＹを求めるＹ算出手段と、
【数２８】
2004172770.tif 000015
Ｙの指数部と仮数部をそれぞれＹｆ、Ｙｅとしたときに、数式２９
【数２９】
Ｚ＝Ｙｆ０．７５×２−Ｙｅ／４（→）×２（Ｙｅ−Ｙｅ／４（←））
によりＺを求めるＺ算出手段とを備えるようにしている。
【００３６】
さらに、請求項１１記載の非線形量子化プログラムは、指数部Ｘｆと仮数部Ｘｅで表現される浮動小数点数であるアナログ入力信号Ｘを非線形演算の解Ｚ＝（Ｘ／２ｑ／４）０．７５（ただし、ｑは量子化ステップパラメータ）を含む離散信号に変換するためにコンピュータを、量子化ステップパラメータｑを２の補数表記二進数で表す時に、ｑ／４の小数点以下２ビットのビット列を符号無し二進数ｑ／４（→）とすると共にｑ／４の整数部を２の補数表記符号付き二進数ｑ／４（←）として、数式３０により定義されるＹを求めるＹ算出手段と、
【数３０】
2004172770.tif 000016
Ｙの指数部と仮数部をそれぞれＹｆ、Ｙｅとしたときに、数式３１
【数３１】
Ｚ＝Ｙｆ０．７５×２−Ｙｅ／４（→）×２（Ｙｅ−Ｙｅ／４（←））
によりＺを求めるＺ算出手段として機能させるようにしている。
【００３７】
したがって、従来のように量子化ステップパラメータｑの正負によって使用する演算式を使い分ける必要が無くなるので、処理速度の迅速化および装置に搭載される回路の小型化を図ることができる。
【００３８】
そして、請求項８記載の発明は、請求項７記載の非線形量子化方法において、数式２６の計算時に、数式２６のＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算して記録しておいた数表の数値を使用し、またＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域を越える場合には計算結果の１／２の数値を使用すると共に数式２６の２（Ｘｅ−ｑ／４（←））の指数部に１を加え、尚かつ数式２７の計算時に、数式２７のＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算して記録しておいた数表の数値を使用し、またＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域を越える場合には計算結果の１／２の数値を使用すると共に数式２７の２（Ｙｅ−Ｙｅ／４（←））の指数部に１を加えるようにしている。また、請求項１０記載の発明は、請求項９記載の非線形量子化装置において、数式２８のＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する第１の数表手段と、フラグの出力により数式２８の２（Ｘｅ−ｑ／４（←））の指数部に１を加える第１の補正手段と、数式２９のＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する第２の数表手段と、フラグの出力により数式２９の２（Ｙｅ−Ｙｅ／４（←））の指数部に１を加える第２の補正手段とを備えるようにしている。さらに、請求項１２記載の発明は、請求項１１記載の非線形量子化プログラムにおいて、コンピュータを、数式３０のＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する第１の数表手段と、フラグの出力により数式３０の２（Ｘｅ−ｑ／４（←））の指数部に１を加える第１の補正手段と、数式３１のＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する第２の数表手段と、フラグの出力により数式３１の２（Ｙｅ−Ｙｅ／４（←））の指数部に１を加える第２の補正手段として機能させるようにしている。
【００３９】
したがって、ＹおよびＺを算出する複雑な数式を、数表を記憶するメモリ２個と指数部の２回の加算処理あるいは２個の加算回路のみで処理することができるようになる。よって、処理速度の迅速化を図ることができると共に小さな回路で非線形量子化装置を実現できることになる。
【００４０】
【発明の実施の形態】
以下、本発明の構成を図面に示す一実施の形態に基づいて詳細に説明する。図１に本発明の量子化ステップパラメータ決定装置１の実施形態の一例を示す。この量子化ステップパラメータ決定装置１は、量子化ステップパラメータｑから求めた量子化ステップＱとアナログ信号Ｘとから離散信号Ｉを算出する非線形量子化装置の量子化ステップパラメータｑを算出するものとしている。
【００４１】
そして、この量子化ステップパラメータ決定装置１は、前グラニュールの量子化ステップパラメータ（以下、前量子化ステップパラメータと呼ぶ）により量子化を行う量子化手段２と、該量子化手段２で得られた値のビット数Ｎｃを規定ビット数Ｎｒと比較する比較手段３と、比較の結果、ビット数Ｎｃが規定ビット数Ｎｒと同じであるときに前量子化ステップパラメータを採用する同一時処理手段４と、比較手段３での比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも大きいときに量子化ステップパラメータを１ずつ増やすことにより規定ビット数Ｎｒ以下の最大値を求めてその量子化ステップパラメータを採用する大時処理手段５と、比較手段３での比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも小さいときに量子化ステップパラメータを減らすことにより規定ビット数Ｎｒ以下の最大値を求めてその量子化ステップパラメータを採用する小時処理手段６とを備えるようにしている。このため、前量子化ステップパラメータに対して＋１した量子化ステップパラメータでの量子化処理が２回で済むようになるので、最も頻度の高い場合の量子化処理を低く抑えることにより全体の処理時間を大幅に減らすことができる。よって、最終値を求めるために量子化処理の回数を減らすことができＭＰ３における非線形量子化処理の全体の迅速化を図ることができる。
【００４２】
また、小時処理手段６は、量子化ステップパラメータを１回だけ減らして量子化を行う減少量子化手段７と、該減少量子化手段７で得られた値のビット数Ｎｃを規定ビット数Ｎｒと比較する減少後比較手段８と、減少後比較手段８での比較の結果、ビット数Ｎｃが規定ビット数Ｎｒと同じであるときに、用いた量子化ステップパラメータを採用する減少後同一時処理手段９と、減少後比較手段８での比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも大きいときに、減少量子化手段７で減らす前の量子化ステップパラメータを採用する減少後大時処理手段１０と、減少後比較手段８での比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも小さいときに、用いた量子化ステップパラメータと初期量子化ステップパラメータとの間で二分検索を実行して量子化ステップパラメータを求める二分検索手段１１とを備えるようにしている。
【００４３】
本実施形態の量子化ステップパラメータ決定装置１は、ＭＰ３用のエンコーダに搭載したものとしている。そして、この量子化ステップパラメータ決定装置１は、電気回路により形成されている。
【００４４】
上述した量子化ステップパラメータ決定装置１を利用して量子化ステップパラメータｑを算出する量子化ステップパラメータ決定方法について、図２および図３に示すフローチャートに基づいて説明する。
【００４５】
この量子化ステップパラメータ決定方法は、前グラニュールの量子化ステップパラメータにより量子化を行う量子化工程と、該量子化工程で得られた値のビット数Ｎｃを規定ビット数Ｎｒと比較する比較工程と、比較の結果、ビット数Ｎｃが規定ビット数Ｎｒと同じであるときに前量子化ステップパラメータを採用する同一時処理工程と、比較工程での比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも大きいときに量子化ステップパラメータを１ずつ増やすことにより規定ビット数Ｎｒ以下の最大値を求めてその量子化ステップパラメータを採用する大時処理工程と、比較工程での比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも小さいときに量子化ステップパラメータを減らすことにより規定ビット数Ｎｒ以下の最大値を求めてその量子化ステップパラメータを採用する小時処理工程とを備えている。
【００４６】
図２に示すように、量子化工程では量子化手段２により前量子化ステップパラメータを利用して量子化を行う（ステップ１（Ｓ１））。そして、比較工程では、量子化工程で得られた値のビット数Ｎｃを算出し（ステップ２（Ｓ２））、これを比較手段３により規定ビット数Ｎｒと比較する（ステップ３（Ｓ３））。ここでの規定ビット数Ｎｒとは、ハフマンコード表から定義される。
【００４７】
比較の結果、ビット数Ｎｃが規定ビット数Ｎｒと同じであるときは（ステップ３；＝）、同一時処理手段４により同一時処理工程が実行され当該量子化ステップパラメータを採用する（ステップ４（Ｓ４））。
【００４８】
また、比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも大きいときは（ステップ３；＞）、大時処理手段５により大時処理工程が実行される。ここでは前量子化ステップパラメータを１増加して量子化を行い（ステップ５（Ｓ５））、得られた値のビット数Ｎｃを算出する（ステップ６（Ｓ６））。そして、これを規定ビット数Ｎｒと比較する（ステップ７（Ｓ７））。比較の結果、ビット数Ｎｃが規定ビット数Ｎｒ以下であるときは（ステップ７；≦）、当該量子化ステップパラメータを採用する（ステップ８（Ｓ８））。比較の結果、ビット数Ｎｃが規定ビット数Ｎｒを超えるときは（ステップ７；＞）、再び量子化ステップパラメータを１増加して量子化を行い（ステップ５（Ｓ５））、ビット数Ｎｃが規定ビット数Ｎｒ以下になるまで繰り返す。
【００４９】
一方、比較工程での比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも小さいときは（ステップ３；＜）、小時処理手段６により小時処理工程が実行される。小時処理工程は、前量子化ステップを１回だけ減らして量子化を行う減少量子化工程と、該減少後量子化工程で得られた値のビット数Ｎｃを規定ビット数Ｎｒと比較する減少後比較工程と、減少後比較工程での比較の結果、ビット数Ｎｃが規定ビット数Ｎｒと同じであるときに、用いた量子化ステップパラメータを採用する減少後同一時処理工程と、減少後比較工程での比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも大きいときに、減少量子化工程で減らす前の量子化ステップパラメータを採用する減少後大時処理工程と、減少後比較工程での比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも小さいときに、用いた量子化ステップパラメータと初期量子化ステップパラメータとの間で二分検索を実行して量子化ステップパラメータを求める二分検索工程とを備えている。
【００５０】
減少量子化工程では減少量子化手段７により前量子化ステップパラメータを１だけ減らして量子化を行う（ステップ９（Ｓ９））。そして、減少後比較工程では、減少後比較手段８により量子化工程で得られた値のビット数Ｎｃを算出し（ステップ１０（Ｓ１０））、これを規定ビット数Ｎｒと比較する（ステップ１１（Ｓ１１））。
【００５１】
比較の結果、ビット数Ｎｃが規定ビット数Ｎｒと同じであるときは（ステップ１１；＝）、減少後同一時処理手段９により減少後同一時処理工程が実行され当該量子化ステップパラメータを採用する（ステップ１２（Ｓ１２））。
【００５２】
また、比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも大きいときは（ステップ１１；＞）、減少後大時処理手段１０により減少後大時処理工程が実行される（ステップ１３（Ｓ１３））。これにより、前量子化ステップパラメータにより再び量子化を行うと共にこの量子化ステップパラメータを採用する。
【００５３】
さらに、比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも小さいときは（ステップ１１；＜）、二分検索手段１１により二分検索工程が実行される（ステップ１４（Ｓ１４））。二分検索工程では、例えば図３および図４に示すように、まず前量子化ステップより１０小さい値で量子化を行う（ステップ１５（Ｓ１５））。そして、その値のビット数Ｎｃを規定ビット数Ｎｒと比較する（ステップ１６（Ｓ１６））。
【００５４】
比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも大きいときは（ステップ１６；＞）、前量子化ステップパラメータに対して−９〜−１の範囲で二分検索を行って量子化ステップパラメータを求める（ステップ１７（Ｓ１７））。また、比較の結果、ビット数Ｎｃが規定ビット数Ｎｒ以下のときは（ステップ１６；ｏｔｈｅｒ）、前量子化ステップより２０小さい値で量子化を行う（ステップ１８（Ｓ１８））。そして、その値のビット数Ｎｃを規定ビット数Ｎｒと比較する（ステップ１９（Ｓ１９））。
【００５５】
比較の結果、ビット数Ｎｃが規定ビット数Ｎｒよりも大きいときは（ステップ１９；＞）、前量子化ステップパラメータに対して−１９〜−１０の範囲で二分検索を行って量子化ステップパラメータを求める（ステップ２０（Ｓ２０））。また、比較の結果、ビット数Ｎｃが規定ビット数Ｎｒ以下のときは（ステップ１９；ｏｔｈｅｒ）、前量子化ステップパラメータより２０小さい値から初期量子化ステップパラメータの範囲で二分検索を行って量子化ステップパラメータを求める（ステップ２１（Ｓ２１））。
【００５６】
ここで、図５に示すように現在の量子化ステップパラメータが前量子化ステップパラメータよりも小さい場合は、前量子化ステップパラメータから−１５までの間に集中している。このため、本実施形態のように最初に前量子化ステップパラメータから−１０までの範囲で二分検索を行うことにより全体の処理時間を短縮することができる。
【００５７】
次に、以上のように求めた量子化ステップパラメータを利用してアナログ信号Ｘを非線形量子化する非線形量子化装置１２および方法について説明する。本実施形態の非線形量子化装置１２は、ＭＰ３用のエンコーダに搭載したものとしている。そして、この非線形量子化装置１２は、電気回路により形成されている。
【００５８】
この非線形量子化装置１２は、指数部Ｘｆと仮数部Ｘｅで表現される浮動小数点数であるアナログ入力信号Ｘを非線形演算の解Ｚ＝（Ｘ／２ｑ／４）０．７５（ただし、ｑは量子化ステップパラメータ）を含む離散信号に変換するものである。そして、非線形量子化装置１２は、図７に示すように量子化ステップパラメータｑを２の補数表記二進数で表す時に、ｑ／４の小数点以下２ビットのビット列を符号無し二進数ｑ／４（→）とすると共にｑ／４の整数部を２の補数表記符号付き二進数ｑ／４（←）として、数式３２により定義されるＹを求めるＹ算出手段１３と、
【数３２】
2004172770.tif 000017
Ｙの指数部と仮数部をそれぞれＹｆ、Ｙｅとしたときに、数式３３
【数３３】
Ｚ＝Ｙｆ０．７５×２−Ｙｅ／４（→）×２（Ｙｅ−Ｙｅ／４（←））
によりＺを求めるＺ算出手段１４とを備えるようにしている。このため、従来のように量子化ステップパラメータｑの正負によって使用する演算式を使い分ける必要が無くなるので、処理速度の迅速化および非線形量子化装置１２を構成する回路の小型化を図ることができる。
【００５９】
また、この非線形量子化装置１２は、数式３２の解を求めるための第１の数表手段１５および第１の補正手段１６と、数式３３の解を求めるための第２の数表手段１７および第２の補正手段１８とを備えている。第１の数表手段１５は、数式３２のＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する。第１の補正手段１６は、フラグの出力により数式３２の２（Ｘｅ−ｑ／４（←））の指数部に１を加える。第２の数表手段１７は、数式３３のＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する。第２の補正手段１８は、フラグの出力により数式３３の２（Ｙｅ−Ｙｅ／４（←））の指数部に１を加える。これにより、数式３２および数式３３のようにＹおよびＺを算出する複雑な数式を、数表を記憶する２個のメモリ１５，１７と指数部の２回の加算処理あるいは２個の加算回路１６，１８のみで処理することができるようになる。よって、処理速度の迅速化を図ることができると共に小さな回路で非線形量子化装置１２を実現できることになる。
【００６０】
この非線形量子化装置１２を利用してアナログ信号Ｘを非線形量子化する手順を以下に説明する。
【００６１】
この非線形量子化装置１２は、数式３４に示す非線形量子化の処理を２進浮動小数点形式で行うものとしている。本明細書では２進浮動小数点形式としてＩＥＥＥ７５４単精度浮動小数点形式を利用しているが、これには限られず本発明は２進数により指数部と仮数部とを表現する全ての形式に適用可能である。
【数３４】
2004172770.tif 000018
【００６２】
ＭＰ３用のエンコーダにはアナログ信号Ｘと量子化ステップＱとが入力される。ここで、Ｑは量子化ステップであり、数式３５により定義される。
【数３５】
Ｑ＝２ｑ／４
ｑ：整数
【００６３】
量子化ステップパラメータ決定装置１を利用して決定した量子化ステップパラメータｑに基づいて数式３５の演算により量子化ステップＱが算出される。
【００６４】
アナログ信号Ｘを２進浮動小数点形式で表現すると数式３６で示される。
【数３６】
Ｘ＝Ｘ１×２Ｘ２
【００６５】
ここで、Ｘ１はＸの仮数部分であり０．５以上１．０未満の値となる。Ｘ２はＸの指数部分であり整数値である。そして、Ｘ／Ｑは数式３７で示される。
【数３７】
2004172770.tif 000019
【００６６】
量子化ステップパラメータｑが４の倍数であれば、指数部分（Ｘ２−ｑ／４）を加算回路だけで算出できる。そして、仮数部分と指数部分とを２進数として結合処理すればＸ／Ｑを得ることができる。
【００６７】
また、量子化ステップパラメータｑが４の倍数でないときは、数式３７は数式３８のように表される。
【数３８】
2004172770.tif 000020
【００６８】
ここで、≪ｑ／４≫はｑ／４の整数部分を意味し、『ｑ／４』はｑ／４の端数部分を意味する。『ｑ／４』はｑが正の場合には０，０．２５，０．５０，０．７５のいずれかの値となる。
【００６９】
そして、−『ｑ／４』を指数とする項は、数式３９または数式４０のように変形できる。
【数３９】
2004172770.tif 000021
【数４０】
2004172770.tif 000022
【００７０】
これら数式３９または数式４０を利用すると、『ｑ／４』≠０のときは、Ｘ／Ｑは数式４１または数式４２のように表される。
【数４１】
2004172770.tif 000023
【数４２】
2004172770.tif 000024
【００７１】
ここで、一般に量子化ステップパラメータｑが２の補数形式の二進数で表記されることに注目して、ｑ／４の整数部分≪ｑ／４≫と端数部分『ｑ／４』とを２の補数表記二進数の小数点より左側部分と右側部分となる数値ｑ／４（←）とｑ／４（→）と表現する。すなわち、ｑ／４の小数点以下２ビットのビット列を符号無し二進数ｑ／４（→）とすると共に、ｑ／４の整数部を２の補数表記符号付き二進数ｑ／４（←）とする。この場合、ｎビット、小数部分ｆビットの２の補数表記固定小数点二進数は各二進デジットをｄｉと表記すると数式４３のように表される。
【数４３】
2004172770.tif 000025
【００７２】
このとき、最上位ビット以外の重みは全て正である。そして、ｑが正または『ｑ／４』＝０の場合は数式４４のようになり、ｑが負で『ｑ／４』≠０の場合は数式４５のようになる。
【数４４】
≪ｑ／４≫＝ｑ／４（←）
『ｑ／４』＝ｑ／４（→）
【数４５】
≪ｑ／４≫＝ｑ／４（←）＋１
『ｑ／４』＝ｑ／４（→）−１
【００７３】
そして、数式４４および数式４５の結果を数式４１および数式４２に代入する。その結果、数式４６と数式４７を得ることができる。
【数４６】
2004172770.tif 000026
【数４７】
2004172770.tif 000027
【００７４】
これにより、ｑの正負によらず同一の式で量子化が可能であるので、回路の小型化および高速化を図ることができる。
【００７５】
したがって、Ｙ＝Ｘ／ＱはＹ算出手段１３により数式４８のように算出できる。
【数４８】
Ｙ＝Ｘｆ×２（Ｘｅ−ｑ／４（←）−１）×２（１−ｑ／４（→））
もしくは
Ｙ＝Ｘｆ×２（Ｘｅ−ｑ／４（←））×２−ｑ／４（→）
【００７６】
このように２の補数形式で量子化ステップパラメータｑを与えた場合、従来はｑの正負で演算式を分けていたのに対して単一の式でＸ／Ｑを算出することができる。
【００７７】
ここでの演算では、数式４８のＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算して記録しておいた数表の数値を使用し、またＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域を越える場合には計算結果の１／２の数値を使用すると共に数式４８の２（Ｘｅ−ｑ／４（←））の指数部に１を加えるようにする。すなわち、第１の数表手段１５により、数式４８のＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する。そして、フラグが出力された場合は、第１の補正手段１６により数式４８の２（Ｘｅ−ｑ／４（←））の指数部に１を加えるようにする。よって、この演算は実装時に加算とシフトおよびメモリ参照だけで実現でき非常に単純および高速なものになる。
【００７８】
次に、Ｘ／Ｑ＝Ｙと置き、ＹからＹ０．７５を２進浮動小数点形式で算出する演算手順を説明する。Ｙを２進浮動小数点形式で表現すると数式４９で示される。
【数４９】
Ｙ＝Ｙ１×２Ｙ２
【００７９】
ここで、Ｙ１はＹの仮数部分であり０．５以上１．０未満の値となる。Ｙ２はＹの指数部分であり整数値である。そして、Ｙ０．７５＝Ｚと置くと数式５０のように表される。
【数５０】
Ｚ＝Ｙ１０．７５×２Ｙ２×０．７５
【００８０】
ここで、指数部については数式５１で表される。
【数５１】
Ｙ２×０．７５＝Ｙ２−Ｙ２／４
【００８１】
よって、指数部はＹ２をシフトしたもの（Ｙ２／４）をＹ２から減算することで算出できる。
【００８２】
特にＹ２が４の倍数のときはシフト後の小数部分は０であるので、仮数部分への補正は必要ない。また、このときの仮数部分は０．５≦Ｙ１０．７５＜１．０であり、本演算での指数部分への補正なしに仮数テーブルを用意して演算器の代わりにすることができる。
【００８３】
また、Ｙ２が４の倍数でないときは、Ｚは数式５２のように算出される。
【数５２】
Ｚ＝Ｙ１０．７５×２（Ｙ２−≪Ｙ２／４≫）×２−『Ｙ２／４』
【００８４】
この式は数式３８と同じ形式であり、Ｘ／Ｑを導出した方法と同様にして算出することができる。すなわち、Ｙの指数部と仮数部をそれぞれＹｆ、Ｙｅとしたときに、数式３９〜数式４８と同様の手順で数式５３を得ることができる。
【数５３】
Ｚ＝Ｙｆ０．７５×２−Ｙｅ／４（→）×２（Ｙｅ−Ｙｅ／４（←））
【００８５】
この数式５３を用いてＺ算出手段１４によりＺ＝Ｙ０．７５が算出される。ここでの演算では、数式５３のＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算して記録しておいた数表の数値を使用し、またＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域を越える場合には計算結果の１／２の数値を使用すると共に数式５３の２（Ｙｅ−Ｙｅ／４（←））の指数部に１を加えるようにする。すなわち、第２の数表手段１７により、数式５３のＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する。そして、フラグが出力された場合は、第２の補正手段１８により数式５３の２（Ｙｅ−Ｙｅ／４（←））の指数部に１を加えるようにする。よって、この演算は実装時に加算とシフトおよびメモリ参照だけで実現でき非常に単純および高速なものになる。
【００８６】
Ｚが算出された後は数式３４により２進浮動小数点形式で離散信号Ｉが算出される。
【００８７】
なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば、本実施形態では二分検索工程で、最初に前量子化ステップパラメータからその−１０までの範囲を区切り、次に前量子化ステップパラメータの−１９〜−１０の範囲を区切り、最後に前量子化ステップパラメータの−２０〜初期量子化ステップパラメータまでを区切っているが、これには限られず他の範囲で区切るようにしても良い。
【００８８】
また、本実施形態では量子化ステップパラメータ決定装置１および非線形量子化装置１２の各手段が電気回路により構成されているが、これには限られず量子化ステップパラメータ決定装置１および非線形量子化装置１２の全体をコンピュータにより実現するようにしても良い。この場合、量子化ステップパラメータ決定装置１および非線形量子化装置１２は、中央処理装置（ＣＰＵ）と、各手段をＣＰＵに制御させるプログラムなどが記憶されたＲＯＭやＲＡＭやハードディスク等の記憶装置と、アナログ信号Ｘが入力されると共に量子化ステップパラメータあるいは離散信号を出力する入出力装置とを備えるコンピュータから成るものとする。
【００８９】
この場合、量子化ステップパラメータを決定するためには、量子化ステップパラメータから求めた量子化ステップとアナログ信号とから離散信号を算出する非線形量子化処理において量子化ステップパラメータを算出するためにコンピュータを、前グラニュールの量子化ステップパラメータにより量子化を行う量子化手段２と、該量子化手段２で得られた値のビット数を規定ビット数と比較する比較手段３と、比較の結果、ビット数が規定ビット数と同じであるときに量子化ステップパラメータを採用する同一時処理手段４と、比較手段３での比較の結果、ビット数が規定ビット数よりも大きいときに量子化ステップパラメータを１ずつ増やすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する大時処理手段５と、比較手段３での比較の結果、ビット数が規定ビット数よりも小さいときに量子化ステップパラメータを減らすことにより規定ビット数以下の最大値を求めてその量子化ステップパラメータを採用する小時処理手段６として機能させるようにする量子化ステップパラメータ決定プログラムを利用する。
【００９０】
また、このプログラムでは、小時処理手段６は、量子化ステップパラメータを１回だけ減らして量子化を行う減少量子化手段７と、該減少後量子化手段７で得られた値のビット数を規定ビット数と比較する減少後比較手段８と、減少後比較手段８での比較の結果、ビット数が規定ビット数と同じであるときに、用いた量子化ステップパラメータを採用する減少後同一時処理手段９と、減少後比較手段９での比較の結果、ビット数が規定ビット数よりも大きいときに、減少量子化手段７で減らす前の量子化ステップパラメータを採用する減少後大時処理手段１０と、減少後比較手段８での比較の結果、ビット数が規定ビット数よりも小さいときに、用いた量子化ステップパラメータと初期量子化ステップパラメータとの間で二分検索を実行して量子化ステップパラメータを求める二分検索手段１１とを備えるようにしている。
【００９１】
一方、非線形量子化を行うためには、指数部Ｘｆと仮数部Ｘｅで表現される浮動小数点数であるアナログ入力信号Ｘを非線形演算の解Ｚ＝（Ｘ／２ｑ／４）０．７５を含む離散信号に変換するためにコンピュータを、量子化ステップパラメータｑを２の補数表記二進数で表す時に、ｑ／４の小数点以下２ビットのビット列を符号無し二進数ｑ／４（→）とすると共にｑ／４の整数部を２の補数表記符号付き二進数ｑ／４（←）として、数式５４により定義されるＹを求めるＹ算出手段１３と、
【数５４】
2004172770.tif 000028
Ｙの指数部と仮数部をそれぞれＹｆ、Ｙｅとしたときに、数式５５
【数５５】
Ｚ＝Ｙｆ０．７５×２−Ｙｅ／４（→）×２（Ｙｅ−Ｙｅ／４（←））
によりＺを求めるＺ算出手段１４として機能させるようにする非線形量子化プログラムを利用する。
【００９２】
また、このプログラムでは、コンピュータを、数式５４のＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＸｆ×２−ｑ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する第１の数表手段１５と、フラグの出力により数式５４の２（Ｘｅ−ｑ／４（←））の指数部に１を加える第１の補正手段１６と、数式５５のＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域以下の場合には予め計算してメモリに格納しておいた数表の数値を出力し、またＹｆ０．７５×２−Ｙｅ／４（→）が浮動小数点仮数部の値域を越える場合には値域を越えることを示すフラグと共に計算結果の１／２の数値を出力する第２の数表手段１７と、フラグの出力により数式５５の２（Ｙｅ−Ｙｅ／４（←））の指数部に１を加える第２の補正手段１８として機能させるようにしている。
【００９３】
さらに、本実施形態では量子化ステップパラメータ決定装置１および非線形量子化装置１２をＭＰ３用エンコーダに搭載して使用しているが、用途としてはこれに限られず、他の形式のオーディオ信号圧縮用エンコーダに搭載したり、あるいは静止画や動画の画像データ圧縮用エンコーダに搭載することもできる。
【００９４】
【実施例】
（実施例）
図１に示す量子化ステップパラメータ決定装置１を利用して量子化の回数を測定した。その結果を図６に示す。
【００９５】
（比較例１）
ＩＳＯで規定するサンプルコードのオリジナルデータから量子化の回数を測定した。その結果を図６に示す。
【００９６】
（比較例２）
いわゆる４分割方法（「音声の統計データに基づいたＭＰ３エンコーダの設計と評価」、Ｔｈｅ  １５ｔｈ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｉｎ  Ｋａｒｕｉｚａｗａ、ｐｐ．１０７−１１２、Ａｐｒｉｌ２００２を参照）を利用して量子化の回数を測定した。その結果を図６に示す。
【００９７】
（比較例３）
いわゆる拡張方法（「音声の統計データに基づいたＭＰ３エンコーダの設計と評価」、Ｔｈｅ  １５ｔｈ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｉｎ  Ｋａｒｕｉｚａｗａ、ｐｐ．１０７−１１２、Ａｐｒｉｌ２００２を参照）を利用して量子化の回数を測定した。その結果を図６に示す。
【００９８】
図６に示すように、本発明の方法によれば従来の方法よりも量子化の回数を低減させることができた。よって、本発明によれば、量子化回数を減らして処理速度を高めることができることが判明した。
【００９９】
【発明の効果】
以上の説明より明らかなように、請求項１記載の量子化ステップパラメータ決定装置と請求項３記載の量子化ステップパラメータ決定方法と請求項５記載の量子化ステップパラメータ決定プログラムによれば、最初の量子化は前量子化ステップパラメータで行うと共にそのときのビット数が規定ビット数より大きいときにその量子化ステップパラメータを１ずつ増やしているので、前量子化ステップパラメータに対して＋１した量子化ステップパラメータでの量子化処理が２回で済むようになる。よって、最も頻度の高い前量子化ステップパラメータ＋１のときの量子化処理の回数を小さく抑えることにより処理時間を大幅に減らすことができ、ＭＰ３における非線形量子化処理の全体の迅速化を図ることができる。
【０１００】
また、請求項２記載の量子化ステップパラメータ決定装置と請求項４記載の量子化ステップパラメータ決定方法と請求項６記載の量子化ステップパラメータ決定プログラムによれば、現在のグラニュールの量子化ステップパラメータが前量子化ステップパラメータより小さい場合に、最適な量子化ステップパラメータを二分検索により求めているので、量子化処理を最小限に抑えて量子化ステップパラメータを求めることができる。よって、回路もしくはプログラムの負担の小さい高速な量子化ステップパラメータの決定処理を行うことができる。
【０１０１】
さらに、請求項７記載の非線形量子化方法と請求項９記載の非線形量子化装置と請求項１１記載の非線形量子化プログラムによれば、従来のように量子化ステップパラメータｑの正負によって使用する演算式を使い分ける必要が無くなるので、処理速度の迅速化および回路の小型化を図ることができる。
【０１０２】
そして、請求項８記載の非線形量子化方法と請求項１０記載の非線形量子化装置と請求項１２記載の非線形量子化プログラムによれば、ＹおよびＺを算出する複雑な数式を、数表を記憶するメモリ２個と指数部の２回の加算処理あるいは２個の加算回路のみで処理することができるようになる。よって、処理速度の迅速化を図ることができると共に小さな回路で非線形量子化装置を実現できることになる。
【図面の簡単な説明】
【図１】本発明に係る量子化ステップパラメータ決定装置を示すブロック図である。
【図２】量子化ステップパラメータ決定方法による処理手順を示すフローチャートである。
【図３】二分検索工程の処理手順を示すフローチャートである。
【図４】二分検索時の範囲を示す数直線である。
【図５】前量子化ステップパラメータと現在の量子化ステップパラメータとの関係を示す統計データのグラフである。
【図６】本発明および比較例における量子化回数を示すグラフである。
【図７】本発明に係る非線形量子化装置を示すブロック図である。
【符号の説明】
１  量子化ステップパラメータ決定装置
２  量子化手段
３  比較手段
４  同一時処理手段
５  大時処理手段
６  小時処理手段
７  減少量子化手段
８  減少後比較手段
９  減少後同一時処理手段
１０  減少後大時処理手段
１１  二分検索手段
１２  非線形量子化装置
１３  Ｙ算出手段
１４  Ｚ算出手段
１５  第１の数表手段
１６  第１の補正手段
１７  第２の数表手段
１８  第２の補正手段
【図１】
2004172770.tif 000035
【図２】
2004172770.tif 000036
【図３】
2004172770.tif 000037
【図４】
2004172770.tif 000038
【図５】
2004172770.tif 000039
【図６】
2004172770.tif 000040
【図７】
2004172770.tif 000041