(57)【特許請求の範囲】
【請求項１】
量子化ステップパラメータから求めた量子化ステップと入力信号とから離散信号を算出する非線形量子化装置の前記量子化ステップパラメータの初期値を算出する量子化ステップパラメータ初期値決定装置において、与えられた前記入力信号の最大値と前記離散信号に許容される最大の限界値とに基づいて前記量子化ステップパラメータの初期値を算出するパラメータ初期値算出手段を備え、当該パラメータ初期値算出手段は、前記入力信号最大値を仮数および底と指数Ｘｅとにより表したときの前記入力信号最大値を表す指数Ｘｅを求める入力信号計算手段と、前記限界値から演算用定数を求めて、前記演算用定数を仮数および底と指数Ｃｅとにより表したときの前記演算用定数を表す指数Ｃｅを求める演算用定数計算手段と、前記入力信号最大値を表す指数Ｘｅおよび前記演算用定数を表す指数Ｃｅから前記量子化ステップパラメータの初期値を算出する初期値演算手段とを備えることを特徴とする量子化ステップパラメータ初期値決定装置。
【請求項２】
量子化ステップパラメータから求めた量子化ステップと入力信号とから離散信号を算出する非線形量子化装置の前記量子化ステップパラメータの初期値を算出する量子化ステップパラメータ初期値決定装置において、与えられた前記入力信号の最大値と前記離散信号に許容される最大の限界値とに基づいて前記量子化ステップパラメータの初期値を算出するパラメータ初期値算出手段を備え、当該パラメータ初期値算出手段は、前記入力信号最大値を仮数および底と指数Ｘｅとにより表したときの前記入力信号最大値を表す指数Ｘｅを求める入力信号計算手段と、前記限界値から演算用定数を求めて、前記演算用定数を仮数Ｃｆおよび底と指数Ｃｅとにより表したときの前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算手段と、前記入力信号最大値を表す指数Ｘｅ並びに前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅから前記量子化ステップパラメータの初期値を算出する初期値演算手段とを備えることを特徴とする量子化ステップパラメータ初期値決定装置。
【請求項３】
量子化ステップパラメータから求めた量子化ステップと入力信号とから離散信号を算出する非線形量子化装置の前記量子化ステップパラメータの初期値を算出する量子化ステップパラメータ初期値決定装置において、与えられた前記入力信号の最大値と前記離散信号に許容される最大の限界値とに基づいて前記量子化ステップパラメータの初期値を算出するパラメータ初期値算出手段を備え、当該パラメータ初期値算出手段は、前記入力信号最大値を仮数Ｘｆおよび底と指数Ｘｅとにより表したときの前記入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅを求める入力信号計算手段と、前記限界値から演算用定数を求めて、前記演算用定数を仮数Ｃｆおよび底と指数Ｃｅとにより表したときの前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算手段と、前記入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅ並びに前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅから前記量子化ステップパラメータの初期値を算出する初期値演算手段とを備えることを特徴とする量子化ステップパラメータ初期値決定装置。
【請求項４】
請求項１から３のいずれか一つに記載の量子化ステップパラメータ初期値決定装置によって算出された初期値を仮初期値とし、当該仮初期値に対して所定の関係を有する推定中心値を求める推定中心値設定手段と、前記推定中心値に対して所定の関係を有する推定範囲を定める推定範囲設定手段と、前記推定範囲内で二分探索を実行して前記量子化ステップパラメータ初期値を求める二分探索手段と、前記二分探索手段で前記量子化ステップパラメータ初期値を得られなかったときに前記推定範囲を変更する推定範囲変更手段とを更に備えることを特徴とする請求項１から３のいずれか一つに記載の量子化ステップパラメータ初期値決定装置。
【請求項５】
量子化ステップパラメータから求めた量子化ステップと入力信号とから離散信号を算出する非線形量子化方法での前記量子化ステップパラメータの初期値を算出する量子化ステップパラメータ初期値決定方法において、与えられた前記入力信号の最大値と前記離散信号に許容される最大の限界値とに基づいて前記量子化ステップパラメータの初期値を算出するパラメータ初期値算出工程を備え、当該パラメータ初期値算出工程は、前記入力信号最大値を仮数および底と指数Ｘｅとにより表したときの前記入力信号最大値を表す指数Ｘｅを求める入力信号計算工程と、前記限界値から演算用定数を求めて、前記演算用定数を仮数および底と指数Ｃｅとにより表したときの前記演算用定数を表す指数Ｃｅを求める演算用定数計算工程と、前記入力信号最大値を表す指数Ｘｅおよび前記演算用定数を表す指数Ｃｅから前記量子化ステップパラメータの初期値を算出する初期値演算工程とを備えることを特徴とする量子化ステップパラメータ初期値決定方法。
【請求項６】
量子化ステップパラメータから求めた量子化ステップと入力信号とから離散信号を算出する非線形量子化方法での前記量子化ステップパラメータの初期値を算出する量子化ステップパラメータ初期値決定方法において、与えられた前記入力信号の最大値と前記離散信号に許容される最大の限界値とに基づいて前記量子化ステップパラメータの初期値を算出するパラメータ初期値算出工程を備え、当該パラメータ初期値算出工程は、前記入力信号最大値を仮数および底と指数Ｘｅとにより表したときの前記入力信号最大値を表す指数Ｘｅを求める入力信号計算工程と、前記限界値から演算用定数を求めて、前記演算用定数を仮数Ｃｆおよび底と指数Ｃｅとにより表したときの前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算工程と、前記入力信号最大値を表す指数Ｘｅ並びに前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅから前記量子化ステップパラメータの初期値を算出する初期値演算工程とを備えることを特徴とする量子化ステップパラメータ初期値決定方法。
【請求項７】
量子化ステップパラメータから求めた量子化ステップと入力信号とから離散信号を算出する非線形量子化方法での前記量子化ステップパラメータの初期値を算出する量子化ステップパラメータ初期値決定方法において、与えられた前記入力信号の最大値と前記離散信号に許容される最大の限界値とに基づいて前記量子化ステップパラメータの初期値を算出するパラメータ初期値算出工程を備え、当該パラメータ初期値算出工程は、前記入力信号最大値を仮数Ｘｆおよび底と指数Ｘｅとにより表したときの前記入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅを求める入力信号計算工程と、前記限界値から演算用定数を求めて、前記演算用定数を仮数Ｃｆおよび底と指数Ｃｅとにより表したときの前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算工程と、前記入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅ並びに前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅから前記量子化ステップパラメータの初期値を算出する初期値演算工程とを備えることを特徴とする量子化ステップパラメータ初期値決定方法。
【請求項８】
請求項５から７のいずれか一つに記載の量子化ステップパラメータ初期値決定方法によって算出された初期値を仮初期値とし、当該仮初期値に対して所定の関係を有する推定中心値を求める推定中心値設定工程と、前記推定中心値に対して所定の関係を有する推定範囲を定める推定範囲設定工程と、前記推定範囲内で二分探索を実行して前記量子化ステップパラメータ初期値を求める二分探索工程と、前記二分探索工程で前記量子化ステップパラメータ初期値を得られなかったときに前記推定範囲を変更する推定範囲変更工程とを更に備えることを特徴とする請求項５から７のいずれか一つに記載の量子化ステップパラメータ初期値決定方法。
【請求項９】
量子化ステップパラメータから求めた量子化ステップと入力信号とから離散信号を算出する非線形量子化処理において前記量子化ステップパラメータの初期値を算出するためにコンピュータを、与えられた前記入力信号の最大値と前記離散信号に許容される最大の限界値とに基づいて前記量子化ステップパラメータの初期値を算出するパラメータ初期値算出手段として機能させ、当該パラメータ初期値算出手段は、前記入力信号最大値を仮数および底と指数Ｘｅとにより表したときの前記入力信号最大値を表す指数Ｘｅを求める入力信号計算手段と、前記限界値から演算用定数を求めて、前記演算用定数を仮数および底と指数Ｃｅとにより表したときの前記演算用定数を表す指数Ｃｅを求める演算用定数計算手段と、前記入力信号最大値を表す指数Ｘｅおよび前記演算用定数を表す指数Ｃｅから前記量子化ステップパラメータの初期値を算出する初期値演算手段とを備えることを特徴とする量子化ステップパラメータ初期値決定プログラム。
【請求項１０】
量子化ステップパラメータから求めた量子化ステップと入力信号とから離散信号を算出する非線形量子化処理において前記量子化ステップパラメータの初期値を算出するためにコンピュータを、与えられた前記入力信号の最大値と前記離散信号に許容される最大の限界値とに基づいて前記量子化ステップパラメータの初期値を算出するパラメータ初期値算出手段として機能させ、当該パラメータ初期値算出手段は、前記入力信号最大値を仮数および底と指数Ｘｅとにより表したときの前記入力信号最大値を表す指数Ｘｅを求める入力信号計算手段と、前記限界値から演算用定数を求めて、前記演算用定数を仮数Ｃｆおよび底と指数Ｃｅとにより表したときの前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算手段と、前記入力信号最大値を表す指数Ｘｅ並びに前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅから前記量子化ステップパラメータの初期値を算出する初期値演算手段とを備えることを特徴とする量子化ステップパラメータ初期値決定プログラム。
【請求項１１】
量子化ステップパラメータから求めた量子化ステップと入力信号とから離散信号を算出する非線形量子化処理において前記量子化ステップパラメータの初期値を算出するためにコンピュータを、与えられた前記入力信号の最大値と前記離散信号に許容される最大の限界値とに基づいて前記量子化ステップパラメータの初期値を算出するパラメータ初期値算出手段として機能させ、当該パラメータ初期値算出手段は、前記入力信号最大値を仮数Ｘｆおよび底と指数Ｘｅとにより表したときの前記入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅを求める入力信号計算手段と、前記限界値から演算用定数を求めて、前記演算用定数を仮数Ｃｆおよび底と指数Ｃｅとにより表したときの前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算手段と、前記入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅ並びに前記演算用定数を表す仮数Ｃｆおよび指数Ｃｅから前記量子化ステップパラメータの初期値を算出する初期値演算手段とを備えることを特徴とする量子化ステップパラメータ初期値決定プログラム。
【請求項１２】
請求項９から１１のいずれか一つに記載の量子化ステップパラメータ初期値決定プログラムによって算出された初期値を仮初期値とし、当該仮初期値に対して所定の関係を有する推定中心値を求める推定中心値設定手段と、前記推定中心値に対して所定の関係を有する推定範囲を定める推定範囲設定手段と、前記推定範囲内で二分探索を実行して前記量子化ステップパラメータ初期値を求める二分探索手段と、前記二分探索手段で前記量子化ステップパラメータ初期値を得られなかったときに前記推定範囲を変更する推定範囲変更手段としてコンピュータを更に機能させることを特徴とする請求項９から１１のいずれか一つに記載の量子化ステップパラメータ初期値決定プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力信号と量子化ステップとから離散信号を算出する非線形量子化装置の量子化ステップパラメータの初期値を求める量子化ステップパラメータ初期値決定装置および量子化ステップパラメータ初期値決定方法、並びに量子化ステップパラメータ初期値決定プログラムに関する。さらに詳しくは、本発明は、離散信号が所定値を超えない最大値を取る量子化ステップパラメータの初期値を設定するための量子化ステップパラメータ初期値決定装置および量子化ステップパラメータ初期値決定方法、並びに量子化ステップパラメータ初期値決定プログラムに関する。
【０００２】
【従来の技術】
ＭＰＥＧ２等でのオーディオ信号圧縮のようにアナログ量をデジタル符号化する場合には、アナログ量を非線形量子化して離散値に変換する。例えばＭＰ３における非線形量子化は、数式１のように入力信号Ｘをデジタルの離散信号Ｉに変換する。
【０００３】
【数１】
0004528924.tif 000002
ここで、Ｑは量子化ステップであり、数式２により定義される。
【０００４】
＜数２＞
Ｑ＝２ｑ／４
ｑ：量子化ステップパラメータ（整数）
【０００５】
ＭＰ３エンコーダでは、あるフレームにおける離散信号Ｉの最大限界値Ｉｌｉｍがハフマンコード表から定義される。そして、ＭＰＥＧ２Ａｕｄｉｏの規定により、当該フレームにおいて量子化して得られた離散信号Ｉの最大値Ｉｍａｘは限界値Ｉｌｉｍよりも小さくなければならない。他方、ダイナミックレンジを広く取るために、最大値Ｉｍａｘは限界値Ｉｌｉｍにできるだけ近いことが好ましい。
【０００６】
また、数式１から明らかなように、離散信号Ｉは入力信号Ｘに対して単調増加、量子化ステップパラメータｑに対して単調減少となる。
【０００７】
このため、限界値Ｉｌｉｍを超えない最大の大きさとなる最大値Ｉｍａｘを求めるために、量子化ステップパラメータｑの値を通常は負となる小さな量子化ステップパラメータ初期値ｑ０に設定して当該フレーム内での最大値Ｉｍａｘを求めて限界値Ｉｌｉｍと比較する。このときは最大値Ｉｍａｘ＞限界値Ｉｌｉｍとなるので、次に量子化ステップパラメータｑの値を１だけ増やして再び最大値Ｉｍａｘを求めて限界値Ｉｌｉｍと比較して、これを繰り返す。そして、最大値Ｉｍａｘが限界値Ｉｌｉｍより小さくなったときの量子化ステップパラメータｑを最終値として採用する。すなわち、ＭＰ３エンコーダは、この最終的な量子化ステップパラメータｑを算出する。
【０００８】
ところが、この方法では、最終的な量子化ステップパラメータｑを算出するまでの反復回数が多くなってしまう。例えば量子化ステップパラメータ初期値ｑ０として−２６０程度の値を使用すると、量子化処理を通常２００〜２３０回は行わなければならず処理時間が長くなってしまう。量子化ステップパラメータ初期値ｑ０としてフレームデータの平均値から算出した初期値を用いて量子化処理回数の低減を図っても、この回数を４０〜１００回程度に低減できるに過ぎなかった。
【０００９】
このため、量子化ステップパラメータ初期値ｑ０として例えば−２６０程度の値あるいはフレームデータの平均値から算出した初期値を採用して、当該量子化ステップパラメータ初期値ｑ０と入力データの理論的な最大値に相当する＋２００との間で二分探索を行って最終的な量子化ステップパラメータｑを算出するようにしていた。これによれば、量子化処理を通常９〜１０回に抑えることができる。
【００１０】
【発明が解決しようとする課題】
しかしながら、上述した二分探索を利用する方法では、探索範囲の下限を例えば−２６０程度の値あるいはフレームデータの平均値にしているので、探索範囲が最大で−２６０〜＋２００と広くなってしまい、量子化処理を通常９〜１０回よりも抑えることが困難で、ＭＰ３エンコーダの処理の迅速化の妨げとなっている。
【００１１】
そこで、本発明は、量子化処理の回数を減らすことのできる量子化ステップパラメータ初期値決定装置および量子化ステップパラメータ初期値決定方法、並びに量子化ステップパラメータ初期値決定プログラムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
かかる目的を達成するため、請求項１記載の発明は、量子化ステップパラメータｑから求めた量子化ステップＱと入力信号Ｘとから離散信号Ｉを算出する非線形量子化装置の量子化ステップパラメータ初期値ｑ０を算出する量子化ステップパラメータ初期値決定装置において、与えられた入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータｑの初期値ｑ０を算出するパラメータ初期値算出手段を備えるようにしている。また、請求項５記載の発明は、量子化ステップパラメータｑから求めた量子化ステップＱと入力信号Ｘとから離散信号Ｉを算出する非線形量子化方法での量子化ステップパラメータ初期値ｑ０を算出する量子化ステップパラメータ初期値決定方法において、与えられた入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータｑの初期値ｑ０を算出するパラメータ初期値算出工程を備えるようにしている。さらに、請求項９記載の量子化ステップパラメータ初期値決定プログラムは、量子化ステップパラメータｑから求めた量子化ステップＱと入力信号Ｘとから離散信号Ｉを算出する非線形量子化処理において量子化ステップパラメータ初期値ｑ０を算出するためにコンピュータを、与えられた入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータｑの初期値ｑ０を算出するパラメータ初期値算出手段として機能させるようにしている。
【００１３】
したがって、入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉの最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータ初期値ｑ０を算出するので、量子化ステップパラメータｑの最終値に近い量子化ステップパラメータ初期値ｑ０を求めることができる。このため、従来のように最終的な量子化ステップパラメータｑを求めるために必要以上に小さい初期値ｑ０を使用する必要が無いので、最終値を求めるために量子化処理の回数を減らすことができＭＰ３における非線形量子化処理の全体の迅速化を図ることができる。
【００１４】
そして、請求項１記載の発明は、さらに、パラメータ初期値算出手段は、入力信号最大値Ｘｍａｘを仮数および底と指数Ｘｅとにより表したときの入力信号最大値を表す指数Ｘｅを求める入力信号計算手段と、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数および底と指数Ｃｅとにより表したときの演算用定数を表す指数Ｃｅを求める演算用定数計算手段と、入力信号最大値を表す指数Ｘｅおよび演算用定数を表す指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０を算出する初期値演算手段とを備えるようにしている。また、請求項５記載の発明は、さらに、パラメータ初期値算出工程は、入力信号最大値Ｘｍａｘを仮数および底と指数Ｘｅとにより表したときの入力信号最大値を表す指数Ｘｅを求める入力信号計算工程と、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数および底と指数Ｃｅとにより表したときの演算用定数を表す指数Ｃｅを求める演算用定数計算工程と、入力信号最大値を表す指数Ｘｅおよび演算用定数を表す指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０を算出する初期値演算工程とを備えるようにしている。さらに、請求項９記載の発明は、さらに、パラメータ初期値算出手段は、入力信号最大値Ｘｍａｘを仮数および底と指数Ｘｅとにより表したときの入力信号最大値を表す指数Ｘｅを求める入力信号計算手段と、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数および底と指数Ｃｅとにより表したときの演算用定数を表す指数Ｃｅを求める演算用定数計算手段と、入力信号最大値を表す指数Ｘｅおよび演算用定数を表す指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０を算出する初期値演算手段とを備えるようにしている。したがって、量子化ステップパラメータ初期値ｑ０の算出を入力信号Ｘおよび演算用定数Ｃの指数部Ｘｅ，Ｃｅの数値の加減算だけで行えるようになるので、回路もしくはプログラムの負担の小さい高速な量子化ステップパラメータ初期値ｑ０の決定処理を行うことができる。
【００１５】
そして、請求項２記載の発明は、量子化ステップパラメータｑから求めた量子化ステップＱと入力信号Ｘとから離散信号Ｉを算出する非線形量子化装置の量子化ステップパラメータ初期値ｑ０を算出する量子化ステップパラメータ初期値決定装置において、与えられた入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータｑの初期値ｑ０を算出するパラメータ初期値算出手段を備え、パラメータ初期値算出手段は、入力信号最大値Ｘｍａｘを仮数および底と指数Ｘｅとにより表したときの入力信号最大値を表す指数Ｘｅを求める入力信号計算手段と、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数Ｃｆおよび底と指数Ｃｅとにより表したときの演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算手段と、入力信号最大値を表す指数Ｘｅ並びに演算用定数を表す仮数Ｃｆ及び指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０を算出する初期値演算手段とを備えるようにしている。また、請求項６記載の発明は、量子化ステップパラメータｑから求めた量子化ステップＱと入力信号Ｘとから離散信号Ｉを算出する非線形量子化方法での量子化ステップパラメータ初期値ｑ０を算出する量子化ステップパラメータ初期値決定方法において、与えられた入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータｑの初期値ｑ０を算出するパラメータ初期値算出工程を備え、パラメータ初期値算出工程は、入力信号最大値Ｘｍａｘを仮数および底と指数Ｘｅとにより表したときの入力信号最大値を表す指数Ｘｅを求める入力信号計算工程と、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数Ｃｆおよび底と指数Ｃｅとにより表したときの演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算工程と、入力信号最大値を表す指数Ｘｅ並びに演算用定数を表す仮数Ｃｆおよび指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０を算出する初期値演算工程とを備えるようにしている。さらに、請求項１０記載の発明は、量子化ステップパラメータｑから求めた量子化ステップＱと入力信号Ｘとから離散信号Ｉを算出する非線形量子化処理において量子化ステップパラメータ初期値ｑ０を算出するためにコンピュータを、与えられた入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータｑの初期値ｑ０を算出するパラメータ初期値算出手段として機能させ、パラメータ初期値算出手段は、入力信号最大値Ｘｍａｘを仮数および底と指数Ｘｅとにより表したときの入力信号最大値を表す指数Ｘｅを求める入力信号計算手段と、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数Ｃｆおよび底と指数Ｃｅとにより表したときの演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算手段と、入力信号最大値を表す指数Ｘｅ並びに演算用定数を表す仮数Ｃｆおよび指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０を算出する初期値演算手段とを備えるようにしている。したがって、量子化ステップパラメータ初期値ｑ０の算出を入力信号Ｘおよび演算用定数Ｃの指数部Ｘｅ，Ｃｅの数値ならびに演算用定数Ｃの仮数Ｃｆから算出される数値の加減算だけで行えるようになるので、回路もしくはプログラムの負担の小さい高速な量子化ステップパラメータ初期値ｑ０の決定処理を行うことができる。
【００１６】
そして、請求項３記載の発明は、量子化ステップパラメータｑから求めた量子化ステップＱと入力信号Ｘとから離散信号Ｉを算出する非線形量子化装置の量子化ステップパラメータ初期値ｑ０を算出する量子化ステップパラメータ初期値決定装置において、与えられた入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータｑの初期値ｑ０を算出するパラメータ初期値算出手段を備え、パラメータ初期値算出手段は、入力信号最大値Ｘｍａｘを仮数Ｘｆおよび底と指数Ｘｅとにより表したときの入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅを求める入力信号計算手段と、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数Ｃｆおよび底と指数Ｃｅとにより表したときの演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算手段と、入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅ並びに演算用定数を表す仮数Ｃｆおよび指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０を算出する初期値演算手段とを備えるようにしている。また、請求項７記載の発明は、量子化ステップパラメータｑから求めた量子化ステップＱと入力信号Ｘとから離散信号Ｉを算出する非線形量子化方法での量子化ステップパラメータ初期値ｑ０を算出する量子化ステップパラメータ初期値決定方法において、与えられた入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータｑの初期値ｑ０を算出するパラメータ初期値算出工程を備え、パラメータ初期値算出工程は、入力信号最大値Ｘｍａｘを仮数Ｘｆおよび底と指数Ｘｅとにより表したときの入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅを求める入力信号計算工程と、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数Ｃｆおよび底と指数Ｃｅとにより表したときの演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算工程と、入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅ並びに演算用定数を表す仮数Ｃｆおよび指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０を算出する初期値演算工程とを備えるようにしている。さらに、請求項１１記載の発明は、量子化ステップパラメータｑから求めた量子化ステップＱと入力信号Ｘとから離散信号Ｉを算出する非線形量子化処理において量子化ステップパラメータ初期値ｑ０を算出するためにコンピュータを、与えられた入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータｑの初期値ｑ０を算出するパラメータ初期値算出手段として機能させ、パラメータ初期値算出手段は、入力信号最大値Ｘｍａｘを仮数Ｘｆおよび底と指数Ｘｅとにより表したときの入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅを求める入力信号計算手段と、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数Ｃｆおよび底と指数Ｃｅとにより表したときの演算用定数を表す仮数Ｃｆおよび指数Ｃｅを求める演算用定数計算手段と、入力信号最大値を表す仮数Ｘｆおよび指数Ｘｅ並びに演算用定数を表す仮数Ｃｆおよび指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０を算出する初期値演算手段とを備えるようにしている。したがって、量子化ステップパラメータ初期値ｑ０を入力信号Ｘおよび演算用定数Ｃの指数部Ｘｅ，Ｃｅと仮数Ｘｆ，Ｃｆとに基づいて算出しているので、高速かつ高精度な量子化ステップパラメータ初期値ｑ０の決定処理を行うことができる。
【００１７】
一方、請求項４記載の発明は、請求項１から３のいずれか一つに記載の量子化ステップパラメータ初期値決定装置において、請求項１から３のいずれか一つに記載の量子化ステップパラメータ初期値決定装置によって算出された初期値を仮初期値ｑＶとし、仮初期値ｑＶに対して所定の関係を有する推定中心値ｑＣを求める推定中心値設定手段と、推定中心値ｑＣに対して所定の関係を有する推定範囲を定める推定範囲設定手段と、推定範囲内で二分探索を実行して量子化ステップパラメータ初期値ｑ０を求める二分探索手段と、二分探索手段で量子化ステップパラメータ初期値ｑ０を得られなかったときに推定範囲を変更する推定範囲変更手段とを更に備えるようにしている。また、請求項８記載の発明は、請求項５から７のいずれか一つに記載の量子化ステップパラメータ初期値決定方法において、請求項５から７のいずれか一つに記載の量子化ステップパラメータ初期値決定方法によって算出された初期値を仮初期値ｑＶとし、仮初期値ｑＶに対して所定の関係を有する推定中心値ｑＣを求める推定中心値設定工程と、推定中心値ｑＣに対して所定の関係を有する推定範囲を定める推定範囲設定工程と、推定範囲内で二分探索を実行して量子化ステップパラメータ初期値ｑ０を求める二分探索工程と、二分探索工程で量子化ステップパラメータ初期値ｑ０を得られなかったときに推定範囲を変更する推定範囲変更工程とを更に備えるようにしている。さらに、請求項１２記載の発明は、請求項９から１１のいずれか一つに記載の量子化ステップパラメータ初期値決定プログラムにおいて、請求項９から１１のいずれか一つに記載の量子化ステップパラメータ初期値決定プログラムによって算出された初期値を仮初期値ｑＶとし、仮初期値ｑＶに対して所定の関係を有する推定中心値ｑＣを求める推定中心値設定手段と、推定中心値ｑＣに対して所定の関係を有する推定範囲を定める推定範囲設定手段と、推定範囲内で二分探索を実行して量子化ステップパラメータ初期値ｑ０を求める二分探索手段と、二分探索手段で量子化ステップパラメータ初期値ｑ０を得られなかったときに推定範囲を変更する推定範囲変更手段としてコンピュータを更に機能させるようにしている。
【００１８】
したがって、予め求めた仮初期値ｑＶに基づいて更に高精度な量子化ステップパラメータ初期値ｑ０を求めるときに従来よりも狭い範囲内で二分探索を実行できるようになるので、量子化処理を従来の１０回程度から例えば５回程度に低減することができる。よって、高速かつ高精度な量子化ステップパラメータ初期値ｑ０の決定処理を実現できるようになる。
【００１９】
【００２０】
また、上述した入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉの最大の限界値Ｉｌｉｍとに基づいて得られた量子化ステップパラメータ初期値ｑ０を仮初期値ｑＶとしているので、より量子化ステップパラメータｑの最終値に近い量子化ステップパラメータ初期値ｑ０を算出することができる。よって、量子化ステップパラメータ初期値ｑ０の決定の高精度化を図ることができると共に、処理速度全体を短縮することができる。
【００２１】
【発明の実施の形態】
以下、本発明の構成を図面に示す一実施の形態に基づいて詳細に説明する。図１および図２に本発明の量子化ステップパラメータ初期値決定装置１の実施形態の一例を示す。この量子化ステップパラメータ初期値決定装置１は、量子化ステップパラメータｑから求めた量子化ステップＱと入力信号Ｘとから離散信号Ｉを算出する非線形量子化装置の量子化ステップパラメータ初期値ｑ０を算出するものとしている。
【００２２】
そして、この量子化ステップパラメータ初期値決定装置１は、与えられた入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータｑの初期値ｑ０を算出するパラメータ初期値算出手段２を備えるようにしている。このため、量子化ステップパラメータｑの最終値に近い量子化ステップパラメータ初期値ｑ０を求めることができるので、従来のように最終的な量子化ステップパラメータｑを求めるために必要以上に小さい初期値ｑ０を使用する必要が無く、最終値を求めるために量子化処理の回数を減らすことができＭＰ３における非線形量子化処理の全体の迅速化を図ることができる。
【００２３】
パラメータ初期値算出手段２は、入力信号最大値Ｘｍａｘを仮数および底と指数Ｘｅとにより表したときの指数Ｘｅを求める入力信号計算手段４と、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数および底と指数Ｃｅとにより表したときの指数Ｃｅを求める演算用定数計算手段５と、指数Ｘｅおよび指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０を算出する初期値演算手段６とを備えている。
【００２４】
また、本実施形態の量子化ステップパラメータ初期値決定装置１は、ＭＰ３用のエンコーダに搭載したものとしている。そして、パラメータ初期値算出手段２は電気回路から成るものとしている。さらに、量子化ステップパラメータ初期値決定装置１はステップ初期値算出手段３に接続されている。そして、量子化ステップパラメータ初期値決定装置１の出力がステップ初期値算出手段３に入力されるように設けられている。このステップ初期値算出手段３では、パラメータ初期値算出手段２により算出された初期値ｑ０に基づいて量子化ステップ初期値Ｑ０を算出する。
【００２５】
また、この量子化ステップパラメータ初期値決定装置１は、数式３に示す非線形量子化の処理を２進浮動小数点形式で行うものとしている。本明細書では２進浮動小数点形式としてＩＥＥＥ７５４単精度浮動小数点形式を利用しているが、これには限られず本発明は２進数により指数部と仮数部とを表現する全ての形式に適用可能である。
【００２６】
【数３】
0004528924.tif 000003
【００２７】
ＭＰ３用のエンコーダには入力信号Ｘと量子化ステップＱとが入力される。ここでの量子化ステップＱは数式４により定義される。
＜数４＞
Ｑ＝２ｑ／４
ｑ：整数
【００２８】
ステップ初期値算出手段３では、数式４の演算を行うことにより量子化ステップパラメータ初期値ｑ０に基づいて量子化ステップ初期値Ｑ０を算出する。
【００２９】
そして、ＭＰ３エンコーダでは、あるフレームにおける離散信号Ｉの最大限界値Ｉｌｉｍがハフマンコード表から定義される。このハフマンコード表の扱う範囲によって定義される限界値Ｉｌｉｍよりも、入力したあるフレームに対して量子化した結果における最大の量子化量Ｉｍａｘは小さくなくてはならない。また、ダイナミックレンジを広く取るために量子化量Ｉｍａｘはできるだけ限界値Ｉｌｉｍに近い値が望ましい。
【００３０】
量子化量Ｉｍａｘに対して量子化ステップパラメータｑは数式５および数式６を満足するように決定する。
【数５】
0004528924.tif 000004
【数６】
0004528924.tif 000005
【００３１】
Ｉ＊ｍａｘは入力変数であるＸに対して単調増加、ｑに対して単調減少となる。そこで、あるｑを考えると、Ｉｍａｘの最大値はＸの最大値に一致する。逆にＸの最大値を与えるとｑの最小値が決定される。そして、本量子化ステップパラメータ初期値決定装置１では、外部から与えられたＸの最大値に対して適切な、つまり最小のｑの初期値ｑ０を算出する。
【００３２】
数式５および数式６より数式７を得ることができる。
【数７】
0004528924.tif 000006
【００３３】
数式７の各辺を４／３乗して、数式８を得る。
【数８】
0004528924.tif 000007
【００３４】
数式８に示す関係となる演算用定数Ｃを定義する。この演算用定数Ｃは演算用定数計算手段５によって算出される。
【００３５】
そして、入力信号Ｘを２進浮動小数点形式で表現すると数式９となる。
＜数９＞
Ｘ＝Ｘｆ×２Ｘｅ
【００３６】
ここで、ＸｆはＸの仮数部分であり、０．５以上１．０未満の値を取る。また、ＸｅはＸの指数部分であり、整数値を取る。指数Ｘｅは入力信号計算手段４によって算出される。
【００３７】
数式８のＣを２進浮動小数点形式で表現すると数式１０となる。
＜数１０＞
Ｃ＝Ｃｆ×２Ｃｅ
【００３８】
ここで、ＣｆはＣの仮数部分であり、０．５以上１．０未満の値を取る。また、ＣｅはＣの指数部分であり、整数値を取る。指数Ｃｅは演算用定数計算手段５によって算出される。数式８は数式１１のように変形される。
【００３９】
【数１１】
0004528924.tif 000008
【００４０】
ここで、数式１２に示すように関数ｇを定義する。
【数１２】
0004528924.tif 000009
【００４１】
この数式１２を用いて数式１１を展開すると、数式１３のようになる。
＜数１３＞
２−ｑ／４＝２ｇ（Ｃｆ，Ｘｆ）×２Ｃｅ−Ｘｅ
＝２ｇ（Ｃｆ，Ｘｆ）＋Ｃｅ−Ｘｅ
【００４２】
さらに、両辺について２を底とする対数をとると数式１４が得られる。
＜数１４＞
−ｑ／４＝ｇ（Ｃｆ，Ｘｆ）＋Ｃｅ−Ｘｅ
【００４３】
したがって、数式１５を満たす最小のｑが量子化ステップパラメータ初期値ｑ０となる。
＜数１５＞
ｑ＝−４×（ｇ（Ｃｆ，Ｘｆ）＋Ｃｅ−Ｘｅ）
【００４４】
また、関数ｇは数式１６のように定義される。
【数１６】
0004528924.tif 000010
【００４５】
よって、数式１６を数式１５に代入して、数式１７が得られる。
＜数１７＞
ｑ＝−４×（log２(Ｃｆ)−log２(Ｘｆ)＋Ｃｅ−Ｘｅ）
ここで、数式１７を直接計算するのはプログラムでもハードウェアでも困難であり処理に長時間を要してしまう。このため、本発明の量子化ステップパラメータ初期値決定装置１では、以下のような高速な近似解法を利用して、安価かつ高性能なエンコーダを得るようにしている。
【００４６】
近似解をｑ＊とすると、量子化ステップパラメータ初期値決定装置１を含むエンコーダのシステムが正常に動作するためには近似解ｑ＊は数式１７のｑより小さくなってはならない。そして、ＣｆとＸｆとはどちらも０．５以上１．０未満であることを考慮すると、数式１８の関係が得られる。
＜数１８＞
−１≦log２(Cf)＜ｇ(Cf,Xf)＝log２(Cf)−log２(Xf)≦log２(Cf)＋１＜１
【００４７】
さらに数式１５および数式１８から関数ｇをｇｍｉｎ＝−１と置き換えてｑの近似解ｑ＊１を求めると、数式１９のようになる。
＜数１９＞
ｑ＊１＝−４×（−１＋Ｃｅ−Ｘｅ）
＝４×（Ｘｅ−Ｃｅ＋１）
＝ｑ０
【００４８】
この式で、Ｘｅは、入力信号計算手段４により、入力信号最大値Ｘｍａｘを仮数および底と指数Ｘｅとにより表したときの指数Ｘｅとして算出される。また、Ｃｅは、演算用定数計算手段５により、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数および底と指数Ｃｅとにより表したときの指数Ｃｅとして算出される。そして、図２に示すように、初期値演算手段６により、これら指数Ｘｅおよび指数Ｃｅから数式１９により近似解ｑ＊１を求めて、それを量子化ステップパラメータ初期値ｑ０とする。
【００４９】
このため、本実施形態によれば、量子化ステップパラメータ初期値ｑ０の算出をＸおよびＣの指数部Ｘｅ，Ｃｅの数値の加減算だけで行えるため、回路もしくはプログラムの負担の小さい高速な量子化ステップパラメータ初期値決定装置１を得ることができる。
【００５０】
上述した量子化ステップパラメータ初期値決定装置１を利用して量子化ステップパラメータ初期値ｑ０を算出する量子化ステップパラメータ初期値決定方法について、図３に示すフローチャートに基づいて説明する。
【００５１】
この量子化ステップパラメータ初期値決定方法は、量子化ステップパラメータｑの初期値ｑ０を算出するパラメータ初期値算出工程を備えている。パラメータ初期値算出工程は、パラメータ初期値算出手段２により処理され、与えられた入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて、数式８〜１０，１９により量子化ステップパラメータｑの初期値ｑ０を算出する。
【００５２】
そして、パラメータ初期値算出工程は、指数Ｘｅを求める入力信号計算工程と、指数Ｃｅを求める演算用定数計算工程と、量子化ステップパラメータ初期値ｑ０を算出する初期値演算工程とを備えている。入力信号計算工程は、入力信号計算手段４により処理され、入力信号最大値Ｘｍａｘを仮数および底と指数Ｘｅとにより表したときの指数Ｘｅを数式９により求める。演算用定数計算工程は、演算用定数計算手段５により処理され、限界値Ｉｌｉｍから演算用定数Ｃを求めて、演算用定数Ｃを仮数および底と指数Ｃｅとにより表したときの指数Ｃｅを数式８，１０により求める。初期値演算工程は、初期値演算手段６により処理され、指数Ｘｅおよび指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０を数式１９から算出する。
【００５３】
また、本実施形態では、パラメータ初期値算出工程で算出された初期値ｑ０に基づいて、量子化ステップ初期値Ｑ０を算出するステップ初期値算出工程を備えている。このステップ初期値算出工程は、ステップ初期値算出手段３により処理される。
【００５４】
図３に示すように、量子化ステップパラメータ初期値決定装置１に入力信号Ｘが入力されると（ステップ１）、入力信号計算工程により入力信号最大値Ｘｍａｘの指数Ｘｅが求められる（ステップ２）。その一方、演算用定数計算工程により、ハフマンコード表から限界値Ｉｌｉｍが求められ（ステップ３）、限界値Ｉｌｉｍから演算用定数Ｃが求められて（ステップ４）、演算用定数Ｃの指数Ｃｅが算出される（ステップ５）。さらに、初期値演算工程により、指数Ｘｅおよび指数Ｃｅから量子化ステップパラメータｑの初期値ｑ０が算出される（ステップ６）。そして、ステップ初期値算出工程により、初期値ｑ０に基づいて量子化ステップ初期値Ｑ０が算出される（ステップ７）。
【００５５】
なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば、本実施形態では初期値演算手段６は指数Ｘｅおよび指数Ｃｅから量子化ステップパラメータ初期値ｑ０を算出しているが、これには限られず図４および図５に示すように指数Ｘｅ並びに仮数Ｃｆおよび指数Ｃｅから量子化ステップパラメータ初期値ｑ０を算出するようにしても良い。
【００５６】
この場合、初期値演算工程は、指数Ｘｅ、仮数Ｃｆ、指数Ｃｅから量子化ステップパラメータ初期値ｑ０を算出するものとする。そして、演算用定数計算手段５は、演算用定数Ｃの仮数Ｃｆおよび指数Ｃｅを出力するものとする。また、演算用定数計算工程は、演算用定数Ｃの仮数Ｃｆおよび指数Ｃｅを出力するものとする。
【００５７】
ここで、数式１５および数式１８から関数ｇをｇｍｉｎ＝ｌｏｇ２（Ｃｆ）と置き換えてｑの近似解ｑ＊２を求めると、数式２０のようになる。
＜数２０＞
ｑ＊２＝−４×（ｌｏｇ２（Ｃｆ）＋Ｃｅ−Ｘｅ）
＝４×（Ｘｅ−Ｃｅ＋ｌｏｇ２（Ｃｆ））
＝ｑ０
【００５８】
ｌｏｇ２（Ｃｆ）は−１以上０未満であるのでｑ＊１≧ｑ＊２となり、数式２０の方が数式１９よりも小さくて適切な量子化ステップパラメータ初期値ｑ０を求めることができる。量子化ステップパラメータｑが整数であることを考慮すると、４×ｌｏｇ２（Ｃｆ）は整数の範囲でしか意味が無いため、初期値ｑ０を求める計算は固定小数点加算回路もしくは固定小数点加算命令で実現できる。
【００５９】
この実施形態では、上述の数式１９によるものに比べてｌｏｇ２（Ｃｆ）の加算が更に必要になるが、演算用定数Ｃが量子化ステップパラメータ初期値決定装置１で定義される定数であることからｌｏｇ２（Ｃｆ）も定数であるので数式２０の計算は加減算だけで済む。よって、この場合も回路もしくはプログラムの負担の小さい高速な量子化ステップ初期値決定装置１を得ることができる。
【００６０】
また、初期値演算手段６が、図６および図７に示すように仮数Ｘｆ並びに指数Ｘｅおよび仮数Ｃｆ並びに指数Ｃｅから量子化ステップパラメータ初期値ｑ０を算出するようにしても良い。この場合、初期値演算工程は、仮数Ｘｆ、指数Ｘｅ、仮数Ｃｆ、指数Ｃｅから量子化ステップパラメータ初期値ｑ０を算出するものとする。そして、入力信号計算手段４は、入力信号最大値Ｘｍａｘの仮数Ｘｆおよび指数Ｘｅを出力するものとする。また、入力信号計算工程は、入力信号最大値Ｘｍａｘの仮数Ｘｆおよび指数Ｘｅを出力するものとする。さらに、演算用定数計算手段５は、演算用定数Ｃの仮数Ｃｆおよび指数Ｃｅを出力するものとする。また、演算用定数計算工程は、演算用定数Ｃの仮数Ｃｆおよび指数Ｃｅを出力するものとする。
【００６１】
このとき、０≧ｈ（Ｘｆ）≧ｌｏｇ２（Ｘｆ）を満たすｌｏｇ２（Ｘｆ）に近似する関数ｈを考える。そして、数式１５および数式１８から関数ｇをｇｍｉｎ＝ｌｏｇ２（Ｃｆ）−ｈ（Ｘｆ）と置き換えてｑの近似解ｑ＊３を求めると、数式２１のようになる。
＜数２１＞
ｑ＊３＝−４×（ｌｏｇ２（Ｃｆ）−ｈ（Ｘｆ）＋Ｃｅ−Ｘｅ）
＝４×（Ｘｅ−Ｃｅ＋ｌｏｇ２（Ｃｆ）＋ｈ（Ｘｆ））
＝ｑ０
【００６２】
ｈ（Ｘｆ）は−１以上０以下であるのでｑ＊２≧ｑ＊３となり、数式２１の方が数式１９，２０よりも小さくて適切な量子化ステップパラメータ初期値ｑ０を求めることができる。量子化ステップパラメータｑが整数であることを考慮すると、４×ｌｏｇ２（Ｃｆ）、４×ｈ（Ｘｆ）は整数の範囲でしか意味が無いため、初期値ｑ０を求める計算は固定小数点加算回路もしくは固定小数点加算命令で実現できる。
【００６３】
あるいは、上述した図４〜図７に示す実施形態ではｌｏｇ２（Ｃｆ）を含んだｇｍｉｎを利用して数式２０および数式２１を用いて初期値ｑ０を求めているが、これには限られず数式２０および数式２１においてｌｏｇ２（Ｃｆ）の代わりに−１≦ｋ≦ｌｏｇ２（Ｃｆ）となる定数Ｃｋを用いるようにしても良い。この場合も４×ｋは整数の範囲でしか意味が無いため、初期値ｑ０を求める計算は固定小数点加算回路もしくは固定小数点加算命令で実現できる。
【００６４】
他方、上述した各実施形態では、入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉに許容される最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータｑの初期値ｑ０を算出しているが、量子化ステップパラメータ初期値ｑ０を求める手法としてはこれに限られない。例えば、図８に示すように、量子化ステップパラメータ初期値ｑ０を予め求めた仮初期値ｑＶに基づいて二分探索を利用して算出するようにしても良い。ここでの仮初期値ｑＶとしては、上述した量子化ステップパラメータ初期値決定装置１により算出した初期値ｑ０を利用することが好ましい。但し、仮初期値ｑＶとしては上述した量子化ステップパラメータ初期値決定装置１以外の初期値決定装置により得られた初期値ｑ０を利用しても良いことは勿論である。
【００６５】
図８に示す量子化ステップパラメータ初期値決定装置１は、仮初期値ｑＶに対して所定の関係を有する推定中心値ｑＣを求める推定中心値設定手段７と、推定中心値ｑＣに対して所定の関係を有する推定範囲を定める推定範囲設定手段８と、推定範囲内で二分探索を実行して量子化ステップパラメータ初期値ｑ０を求める二分探索手段９と、二分探索手段９で量子化ステップパラメータ初期値ｑ０を得られなかったときに推定範囲を変更する推定範囲変更手段１０とを備えるようにしている。
【００６６】
上述した量子化ステップパラメータ初期値決定装置１を利用して仮初期値ｑＶに基づいて量子化ステップパラメータ初期値ｑ０を算出する量子化ステップパラメータ初期値決定方法について、図９に示すフローチャートおよび図１０に基づいて説明する。
【００６７】
この量子化ステップパラメータ初期値決定方法は、推定中心値ｑＣを求める推定中心値設定工程と、推定範囲を定める推定範囲設定工程と、二分探索により量子化ステップパラメータ初期値ｑ０を求める二分探索工程と、量子化ステップパラメータ初期値ｑ０を得られなかったときに推定範囲を変更する推定範囲変更工程とを備えている。
【００６８】
その一方、推定範囲は数式２２で決定される。
＜数２２＞
推定範囲＝推定中心値ｑＣ±推定偏差
【００６９】
この推定範囲は例えば１００曲程度の音楽データを解析して８０％の量子化ステップパラメータ初期値ｑ０が含まれる範囲を設定しておく。本実施形態では、例えば推定中心値ｑＣ＝仮初期値ｑＶ＋４５、推定偏差＝１５と設定する。なお、ここでの４５，１５といった数値を使用しているが、これに限られないことは勿論である。
【００７０】
推定中心値設定工程は、推定中心値設定手段７により処理され、与えられた仮初期値ｑＶに対して所定の関係を有する推定中心値ｑＣを求める。ここでの所定の関係としては、例えば推定中心値ｑＣ＝仮初期値ｑＶ＋４５とする。推定範囲設定工程は、推定範囲設定手段８により処理され、得られた推定中心値ｑＣに対して所定の関係を有する推定範囲を定める。ここでの所定の関係としては、例えば推定範囲＝推定中心値ｑＣ±１５とする。二分探索工程は、二分探索手段９により処理され、推定範囲内で二分探索を実行して量子化ステップパラメータ初期値ｑ０を求める。推定範囲変更工程は、推定範囲変更手段１０により処理され、二分探索工程で量子化ステップパラメータ初期値ｑ０を得られなかったときに推定範囲を量子化ステップパラメータ初期値ｑ０の存在する方にずらして変更する。
【００７１】
この量子化ステップパラメータ初期値決定方法では、図９および図１０に示すように、仮初期値ｑＶが与えられると（ステップ１０）、推定中心値設定工程で推定中心値ｑＣ（＝仮初期値ｑＶ＋４５）が算出される（ステップ１１）。そして、推定範囲設定工程で、推定範囲（＝推定中心値ｑＣ±１５）１１が求められる（ステップ１２）。すなわち、推定範囲１１の範囲最大値ＭＡＸ＝推定中心値ｑＣ＋１５、範囲最小値ＭＩＮ＝推定中心値ｑＣ−１５となる。
【００７２】
さらに、二分探索工程により推定範囲１１内で二分探索が行われて量子化ステップパラメータ初期値ｑ０が算出される（ステップ１３）。そして、計算結果（＝初期値ｑ０）が収束したか判断する（ステップ１４）。収束したのであれば（ステップ１４；ＹＥＳ）、その収束した解が量子化ステップパラメータ初期値ｑ０であるとして処理を終了する（ステップ１５）。
【００７３】
計算結果ｑ０が収束してなければ（ステップ１４；ＮＯ）、推定範囲変更工程で計算結果ｑ０が範囲最大値ＭＡＸに至ったか判断する（ステップ１６）。計算結果ｑ０が範囲最大値ＭＡＸに至っていれば（ステップ１６；ＹＥＳ）、範囲最大値ＭＡＸを次の範囲最小値ＭＩＮにすると共に範囲最大値ＭＡＸに推定偏差を加算して次の範囲最大値ＭＡＸにして（ステップ１７）、新たな推定範囲１１’を設定する。また、計算結果ｑ０が範囲最小値ＭＩＮに至っていれば（ステップ１６；ＮＯ）、範囲最小値ＭＩＮを次の範囲最大値ＭＡＸにすると共に範囲最小値ＭＩＮから推定偏差を減算して次の範囲最小値ＭＩＮにして（ステップ１８）、新たな推定範囲１１”を設定する。
【００７４】
そして、新たな推定範囲１１’、１１”内で二分探索を行って量子化ステップパラメータ初期値ｑ０が収束するまで処理を繰り返す（ステップ１３〜１４）。
【００７５】
この実施形態によれば、二分探索を行う推定範囲の幅が３０であるので、量子化ステップパラメータ初期値ｑ０がこの範囲に含まれる場合は最後の本番の量子化を含めても量子化回路の呼び出し最大回数を５回に抑えることができる。しかも、この推定範囲には通常の音楽データの８０％の量子化ステップパラメータ初期値ｑ０が含まれている。したがって、従来のようにより広い範囲内で二分探索を行って量子化回路の呼び出し最大回数が１０回にもなる場合に比べて量子化ステップパラメータ初期値決定装置１の処理の迅速化を図ることができる。
【００７６】
また、仮に量子化ステップパラメータ初期値ｑ０が最初に設定した推定範囲１１内に存在しなくても、推定範囲を変更して初期値ｑ０を算出するようにしているので、従来と同等の高精度な値を得ることができる。
【００７７】
本実施形態では、推定中心値ｑＣ＝仮初期値ｑＶ＋４５、推定偏差＝１５と設定しているが、これには限られない。すなわち、本願発明者による鋭意研究の結果、推定範囲は仮初期値ｑＶに依存するという解析結果を得ている。このため、仮初期値ｑＶごとに推定中心値ｑＣおよび推定偏差を設定する表を作成しておき、この表を利用して仮初期値ｑＶごとに最適な推定範囲を設定して探索回数を抑えることができるようなる。
【００７８】
そして、本実施形態では量子化ステップパラメータ初期値決定装置１の各手段が電気回路により構成されているが、これには限られず量子化ステップパラメータ初期値決定装置１の全体をコンピュータにより実現するようにしても良い。この場合、量子化ステップパラメータ初期値決定装置１は、中央処理装置（ＣＰＵ）と、各手段をＣＰＵに制御させるプログラムなどが記憶されたＲＯＭやＲＡＭやハードディスク等の記憶装置と、入力信号Ｘが入力されると共に初期値ｑ０を出力する入出力装置とを備えるコンピュータから成るものとする。
【００７９】
さらに、本実施形態では量子化ステップパラメータ初期値決定装置１をＭＰ３用エンコーダに搭載して使用しているが、用途としてはこれに限られず、他の形式のオーディオ信号圧縮用エンコーダに搭載したり、あるいは静止画や動画の画像データ圧縮用エンコーダに搭載することもできる。
【００８０】
【実施例】
（実施例１）
図１および図２に示す初期値演算手段６をＣ言語で実現したプログラム１２のリストの例を図１１に示す。このプログラム１２は、最大値Ｉｍａｘ＝８２０６、演算用定数Ｃ＝１６５５１９．３１９５としたときの例である。ここでは、Ｃｅ＝１８となった。本プログラム１２を実行することにより、４（Ｘｅ−Ｃｅ＋１）の値が返される。
【００８１】
（実施例２）
図４および図５に示す初期値演算手段６をＣ言語で実現したプログラム１３のリストの例を図１２に示す。このプログラム１３は、最大値Ｉｍａｘ＝８２０６、演算用定数Ｃ＝１６５５１９．３１９５としたときの例である。ここでは、Ｃｆ＝０．６３１４１、Ｃｅ＝１８、ｌｏｇ２（Ｃｆ）＝−０．６６３３５０９８５となった。このため、４×ｌｏｇ２（Ｃｆ）＜−２となるので、−４ｌｏｇ２（Ｃｆ）としては整数２を使用して演算した。本プログラム１３を実行することにより、４（Ｘｅ−Ｃｅ）＋２の値が返される。
【００８２】
（実施例３）
図６および図７に示す初期値演算手段６をＣ言語で実現したプログラム１４のリストの例を図１３に示す。このプログラム１４は、最大値Ｉｍａｘ＝８２０６、演算用定数Ｃ＝１６５５１９．３１９５としたときの例である。ここでは、Ｃｆ＝０．６３１４１、Ｃｅ＝１８、ｌｏｇ２（Ｃｆ）＝−０．６６３３５０９８５となった。このため、４×ｌｏｇ２（Ｃｆ）＜−２となるので、−４ｌｏｇ２（Ｃｆ）としては整数２を使用して演算した。また、数式２１中でｈ（Ｘｆ）＝ｌｏｇ２（Ｘｆ）と定義して、４×（ｌｏｇ２（Ｃｆ）−ｌｏｇ２（Ｘｆ））をＸｆの関数として予め表１５を作成した。その表１５に基づいて、各結果の値を超える最小の整数を求めて、それを関数定義部１６で関数ｈ[]として定義した。本プログラム１４を実行することにより、４（Ｘｅ−Ｃｅ）＋ｈ［１６×２×（Ｘｆ−０．５）］の値が返される。
【００８３】
（実施例４）
図８に示す量子化ステップパラメータ初期値決定装置１をＣ言語で実現したプログラム１７のリストの例を図１４に示す。このプログラム１７は、仮初期値ｑＶをstart、推定中心値ｑＣをstart＋４５、推定偏差を±１５としたときの例である。プログラム１７のリスト中の符号７〜１０は図８中の符号７〜１０に対応している。
【００８４】
このリスト中の二分探索手段９では、収束判定部９ａにおいて生成ビットレート（bit）と規定ビットレート（desired_rate）とが同一であることを収束の条件の１つにしている。但し、このような完全同一を条件にすることには限られず、例えば±１０程度より差が小さいことを収束の条件の１つにするようにしても良い。
【００８５】
【発明の効果】
以上の説明より明らかなように、本発明の量子化ステップパラメータ初期値決定装置と量子化ステップパラメータ初期値決定方法と量子化ステップパラメータ初期値決定プログラムによれば、入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉの最大の限界値Ｉｌｉｍとに基づいて量子化ステップパラメータ初期値ｑ０を算出するので、量子化ステップパラメータｑの最終値に近い量子化ステップパラメータ初期値ｑ０を求めることができる。このため、従来のように最終的な量子化ステップパラメータｑを求めるために必要以上に小さい初期値ｑ０を使用する必要が無いので、最終値を求めるために量子化処理の回数を減らすことができＭＰ３における非線形量子化処理の全体の迅速化を図ることができる。
【００８６】
また、請求項１記載の量子化ステップパラメータ初期値決定装置と請求項５記載の量子化ステップパラメータ初期値決定方法と請求項９記載の量子化ステップパラメータ初期値決定プログラムによれば、量子化ステップパラメータ初期値ｑ０の算出を入力信号Ｘおよび演算用定数Ｃの指数部Ｘｅ，Ｃｅの数値の加減算だけで行えるようになるので、回路もしくはプログラムの負担の小さい高速な量子化ステップパラメータ初期値ｑ０の決定処理を行うことができる。
【００８７】
そして、請求項２記載の量子化ステップパラメータ初期値決定装置と請求項６記載の量子化ステップパラメータ初期値決定方法と請求項１０記載の量子化ステップパラメータ初期値決定プログラムによれば、量子化ステップパラメータ初期値ｑ０の算出を入力信号Ｘおよび演算用定数Ｃの指数部Ｘｅ，Ｃｅの数値ならびに演算用定数Ｃの仮数Ｃｆから算出される数値の加減算だけで行えるようになるので、回路もしくはプログラムの負担の小さい高速な量子化ステップパラメータ初期値ｑ０の決定処理を行うことができる。
【００８８】
さらに、請求項３記載の量子化ステップパラメータ初期値決定装置と請求項７記載の量子化ステップパラメータ初期値決定方法と請求項１１記載の量子化ステップパラメータ初期値決定プログラムによれば、量子化ステップパラメータ初期値ｑ０を入力信号Ｘおよび演算用定数Ｃの指数部Ｘｅ，Ｃｅと仮数Ｘｆ，Ｃｆとに基づいて算出しているので、高速かつ高精度な量子化ステップパラメータ初期値ｑ０の決定処理を行うことができる。
【００８９】
したがって、量子化ステップパラメータｑの初期値ｑ０を算出するために用いる仮数や指数といったパラメータが多いほど求める初期値ｑ０の精度を高くできると共にパラメータが少ないほど初期値ｑ０を迅速に求めることができるので、ＭＰ３における非線形量子化処理に望まれる精度と処理速度とを考慮した最適な処理を選択することができるようになる。
【００９０】
一方、請求項４記載の量子化ステップパラメータ初期値決定装置と請求項８記載の量子化ステップパラメータ初期値決定方法と請求項１２記載の量子化ステップパラメータ初期値決定プログラムによれば、予め求めた仮初期値ｑＶに基づいて更に高精度な量子化ステップパラメータ初期値ｑ０を求めるときに従来よりも狭い範囲内で二分探索を実行できるようになるので、量子化処理を従来の１０回程度から例えば５回程度に低減することができる。よって、高速かつ高精度な量子化ステップパラメータ初期値ｑ０の決定処理を実現できるようになる。
【００９１】
請求項４記載の量子化ステップパラメータ初期値決定装置と請求項８記載の量子化ステップパラメータ初期値決定方法と請求項１２記載の量子化ステップパラメータ初期値決定プログラムによれば、さらに、上述した入力信号Ｘの最大値Ｘｍａｘと離散信号Ｉの最大の限界値Ｉｌｉｍとに基づいて得られた量子化ステップパラメータ初期値ｑ０を仮初期値ｑＶとして量子化ステップパラメータ初期値ｑ０を算出しているので、量子化ステップパラメータ初期値ｑ０の決定の高精度化を図ることができると共に処理速度全体を短縮することができる。
【図面の簡単な説明】
【図１】  本発明に係る量子化ステップパラメータ初期値決定装置を示すブロック図である。
【図２】  初期化演算手段を示すブロック図である。
【図３】  量子化ステップパラメータ初期値決定方法による処理手順を示すフローチャートである。
【図４】  量子化ステップパラメータ初期値決定装置の他の実施形態を示すブロック図である。
【図５】  初期化演算手段の他の実施形態を示すブロック図である。
【図６】  量子化ステップパラメータ初期値決定装置の別の実施形態を示すブロック図である。
【図７】  初期化演算手段の別の実施形態を示すブロック図である。
【図８】  量子化ステップパラメータ初期値決定装置の更に他の実施形態を示すブロック図である。
【図９】  量子化ステップパラメータ初期値決定方法の更に他の実施形態による処理手順を示すフローチャートである。
【図１０】  推定範囲が変更される様子を示す図である。
【図１１】  図２の初期化演算手段をＣ言語により実現した実施例を示すプログラムリストである。
【図１２】  図５の初期化演算手段をＣ言語により実現した実施例を示すプログラムリストである。
【図１３】  図７の初期化演算手段をＣ言語により実現した実施例を示すプログラムリストである。
【図１４】  図８の量子化ステップパラメータ初期値決定装置をＣ言語により実現した実施例を示すプログラムリストである。
【符号の説明】
１  量子化ステップパラメータ初期値決定装置
２  パラメータ初期値算出手段
３  ステップ初期値算出手段
４  入力信号計算手段
５  演算用定数計算手段
６  初期値演算手段
【図１】
0004528924.tif 000011
【図２】
0004528924.tif 000012
【図３】
0004528924.tif 000013
【図４】
0004528924.tif 000014
【図５】
0004528924.tif 000015
【図６】
0004528924.tif 000016
【図７】
0004528924.tif 000017
【図８】
0004528924.tif 000018
【図９】
0004528924.tif 000019
【図１０】
0004528924.tif 000020
【図１１】
0004528924.tif 000021
【図１２】
0004528924.tif 000022
【図１３】
0004528924.tif 000023
【図１４】
0004528924.tif 000024