(57)【特許請求の範囲】
【請求項１】
入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する（Ｍ，Ｎは整数の定数）巾乗算出装置であって、
ｘ≦Ａの場合（Ａはｘの変域内における所定の閾値）にｘ’＝ｘとし、ｘ＞Ａの場合にｘ’＝ｘ／２∧Ｎとして、ｘ’の値を出力する入力制御手段と、
ｙ’＝ｘ’∧（Ｍ／Ｎ）の値を出力するコア手段と、
ｘ≦Ａの場合にｙ＝ｙ’とし、ｘ＞Ａの場合にｙ＝ｙ’＊２∧Ｍとして、ｙの値を出力する出力制御手段と、
を備えた、巾乗算出装置。
【請求項２】
前記入力制御手段は、ｘ＞Ａの場合にｘの値をＮビットシフトダウンすることによりｘ’の値を算出する、請求項１に記載の巾乗算出装置。
【請求項３】
入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する（Ｍ，Ｎは整数の定数）巾乗算出装置であって、
ｘ≦Ａの場合（Ａはｘの変域内における所定の閾値）にｘ’＝ｘとし、ｘ＞Ａの場合にｘ’＝ｘ／２∧（Ｎ＊ｎ）として（ｎはｘ／２∧（Ｎ＊ｎ）≦Ａの条件を満たす整数）、ｘ’の値を出力する入力制御手段と、
ｙ’＝ｘ’∧（Ｍ／Ｎ）の値を出力するコア手段と、
ｘ≦Ａの場合にｙ＝ｙ’とし、ｘ＞Ａの場合にｙ＝ｙ’＊２∧（Ｍ＊ｎ）として、ｙの値を出力する出力制御手段と、
を備えた、巾乗算出装置。
【請求項４】
前記入力制御手段は、ｘ＞Ａの場合にｘの値を（Ｎ＊ｎ）ビットシフトダウンすることによりｘ’の値を算出する、請求項３に記載の巾乗算出装置。
【請求項５】
前記入力制御手段は、ｘの値をシフトダウンする際に０捨１入処理を行う、請求項２又は４に記載の巾乗算出装置。
【請求項６】
前記コア手段は、ｘ’のとり得る全ての値（０≦ｘ’≦Ａ）について、ｘ’∧（Ｍ／Ｎ）の値をテーブルとして保持する、請求項１乃至５のいずれかに記載の巾乗算出装置。
【請求項７】
前記コア手段は、Ｌ＝Ｍ／ｍ（ｍは正の定数）とするとき、ｘ’のとり得る全ての値（０≦ｘ’≦Ａ）について、ｘ’∧（Ｌ／Ｎ）の値をテーブルとして保持し、前記テーブルに保持するｘ’∧（Ｌ／Ｎ）の値をｍ乗することによりｙの値を算出する、請求項１乃至５のいずれかに記載の巾乗算出装置。
【請求項８】
入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する（Ｍ，Ｎは整数の定数）巾乗算出装置であって、
ｘ≦Ａの場合（Ａはｘの変域内における所定の閾値）にｘ’＝ｘとし、ｘ＞Ａの場合にｘ’＝ｘ／２∧Ｎとして、ｘ’の値を出力する入力制御手段と、
ｙ’＝ｘ’∧（（Ｍ％Ｎ）／Ｎ）の値を出力するコア手段と、
ｘ≦Ａの場合にｙ＝ｙ’とし、ｘ＞Ａの場合にｙ＝ｙ’＊２∧（Ｍ％Ｎ）として、ｙの値を出力する出力制御手段と、
ｙ＊（ｘ∧（ｉｎｔ（Ｍ／Ｎ）））を出力する乗算手段と、
を備えた、巾乗算出装置。
【請求項９】
所定の割合以上でｘ≦ＡとなるようにＡが設定されている、請求項１乃至８のいずれかに記載の巾乗算出装置。
【請求項１０】
入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する（Ｍ，Ｎは整数の定数）巾乗算出装置であって、
ｘの値の大きさを特定するためのパラメータｊ（ｊは負でない整数）を出力する判定手段と、
ｘ≦Ａの場合（Ａはｘの変域内における閾値）にｘ’＝ｘとし、ｘ＞Ａの場合にｘ’＝ｘ／２∧ｊとして、ｘ’の値を出力する入力制御手段と、
ｙ’＝ｘ’∧（Ｍ／Ｎ）の値を出力するコア手段と、
ｘ≦Ａの場合にｙ＝ｙ’とし、ｘ＞Ａの場合にｙ＝ｙ’＊２∧（ｊ＊Ｍ／Ｎ）として、ｙの値を出力する出力制御手段と、
を備えた、巾乗算出装置。
【請求項１１】
前記出力制御手段は、ｊの値をアドレスとして２∧（ｊ＊Ｍ／Ｎ）の値を保持する記憶装置を有し、ｘ＞Ａの場合に２∧（ｊ＊Ｍ／Ｎ）の値を前記記憶装置から読み出すことによりｙの値を算出する、請求項１０に記載の巾乗算出装置。
【請求項１２】
Ａ＝２∧Ｂ（Ｂは整数の定数）であり、
前記判定手段は、ｘ＞２∧Ｎの場合に２∧（Ｂ＋（ｊ−１））≦ｘ＜２∧（Ｂ＋ｊ）を満たすようにｊの値を決定し、ｘ≦２∧Ｎの場合にｊ＝０とする、請求項１０又は１１に記載の巾乗算出装置。
【請求項１３】
入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する（Ｍ，Ｎは整数の定数）巾乗算出装置であって、
ｘの値を２進数で表現したときの桁数ｋの値を出力する判定手段と、
整数Ｂについて、（Ｂ−ｋ）が正の場合にｘを（Ｂ−ｋ）ビットシフトアップした値をｘ’とし、（Ｂ−ｋ）が負の場合にｘを（ｋ−Ｂ）ビットシフトダウンした値をｘ’として、ｘ’の値を出力する入力制御手段と、
ｙ’＝ｘ’∧（Ｍ／Ｎ）の値を出力するコア手段と、
ｙ＝ｙ’＊（２∧（（ｋ−Ｂ）＊Ｍ／Ｎ））の値を出力する出力制御手段と、
を備えた、巾乗算出装置。
【請求項１４】
前記出力制御手段は、ｋの値をアドレスとして２∧（（ｋ−Ｂ）＊Ｍ／Ｎ）の値を保持する記憶装置を有し、２∧（（ｋ−Ｂ）＊Ｍ／Ｎ）の値を前記記憶装置から読み出すことによりｙの値を算出する、請求項１３に記載の巾乗算出装置。
【請求項１５】
前記コア手段は、（２∧（Ｂ−１）≦ｑ＜２∧Ｂ、ｑは整数）ｑの少なくとも下位（Ｂ−１）ビットをアドレスとして、ｑ∧（Ｍ／Ｎ）の値を保持する記憶装置を有し、ｘ′の少なくとも下位（Ｂ−１）ビットをアドレスとして前記記憶装置からｑ∧（Ｍ／Ｎ）の値を読み出すことによりｙ’の値を算出する、請求項１３又は１４に記載の巾乗算出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、変数ｘの（Ｍ／Ｎ）乗を算出する巾乗算出装置に関し、特に、ＭＰＥＧ２オーディオ符号化方式ＡＡＣのデコード処理において用いられ、ｘの（４／３）乗の計算を少ない回路構成により実現する巾乗算出装置に関する。
【０００２】
【従来の技術】
従来、変数ｘに対し、ｙ＝ｘ∧（Ｍ／Ｎ）（本明細書において、「ｘの（Ｍ／Ｎ）乗」を「ｘ∧（Ｍ／Ｎ）」と表記する。また、「∧」は巾乗記号であり、「／」は除算記号であり、「＊」は乗算記号であるものとする。）を算出する場合には、ｘをアドレス値としたテーブルにｘのとり得る全ての値に対するｘ∧（Ｍ／Ｎ）の値を予め格納しておき、テーブルに格納された値を読み出すことによって特定のｘの値に対するｙの値を得ていた。
【０００３】
図１６は、０≦ｘ≦８１９１の場合のｘ∧（４／３）の値のテーブルを示す。ＭＰＥＧ２オーディオ符号化方式ＡＡＣのデコード処理においては、０〜８１９１の間の値ｘに対して、ｘ∧（４／３）の値を算出する処理を行う必要がある。上記した従来のｘ∧（Ｍ／Ｎ）の値を求める方法を、ＭＰＥＧ２オーディオ符号化方式ＡＡＣのデコード処理で用いられる巾乗処理に適用する場合には、図１６に示すテーブルを予め設けておき、入力値ｘをアドレスとして該テーブルを読み出し、出力値ｙをｘ∧（４／３）の値として得ていた（ISO/IEC 13818-73:1997 p57参照）。
【０００４】
【発明が解決しようとする課題】
上記した従来のｘ∧（Ｍ／Ｎ）の値を求める方法を使用する場合、ｘ∧（Ｍ／Ｎ）の値を格納したテーブルとして多大な記憶領域が必要となる。例えば、図１６の例においては、格納されたｘ∧（Ｍ／Ｎ）の値を３２ビットの固定小数点値とすると、テーブルとして３２ｋバイトの記憶領域が必要である。そのため、特にｘの変域が広い場合には、多大な記憶領域のためにハードウェアが大規模になってしまうという問題があった。
【０００５】
本発明は、テーブルとして必要な記憶領域の量を削減することにより、入力値ｘに対してｘ∧（Ｍ／Ｎ）の計算を行うことができる巾乗算出装置のハードウェア規模を小さくすることを目的とする。
【０００６】
【課題を解決するための手段】
本発明の巾乗算出装置は、入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する（Ｍ，Ｎは整数の定数）巾乗算出装置であって、ｘ≦Ａの場合（Ａはｘの変域内における所定の閾値）にｘ’＝ｘとし、ｘ＞Ａの場合にｘ’＝ｘ／２∧Ｎとして、ｘ’の値を出力する入力制御手段と、ｙ’＝ｘ’∧（Ｍ／Ｎ）の値を出力するコア手段と、ｘ≦Ａの場合にｙ＝ｙ’とし、ｘ＞Ａの場合にｙ＝ｙ’＊２∧Ｍとして、ｙの値を出力する出力制御手段とを備えており、これにより上記目的が達成される。
【０００７】
前記入力制御手段は、ｘ＞Ａの場合にｘの値をＮビットシフトダウンすることによりｘ’の値を算出してもよい。
【０００８】
本発明の別の巾乗算出装置は、入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する（Ｍ，Ｎは整数の定数）巾乗算出装置であって、ｘ≦Ａの場合（Ａはｘの変域内における所定の閾値）にｘ’＝ｘとし、ｘ＞Ａの場合にｘ’＝ｘ／２∧（Ｎ＊ｎ）として（ｎはｘ／２∧（Ｎ＊ｎ）≦Ａの条件を満たす整数）、ｘ’の値を出力する入力制御手段と、ｙ’＝ｘ’∧（Ｍ／Ｎ）の値を出力するコア手段と、ｘ≦Ａの場合にｙ＝ｙ’とし、ｘ＞Ａの場合にｙ＝ｙ’＊２∧（Ｍ＊ｎ）として、ｙの値を出力する出力制御手段とを備えており、これにより上記目的が達成される。
【０００９】
前記入力制御手段は、ｘ＞Ａの場合にｘの値を（Ｎ＊ｎ）ビットシフトダウンすることによりｘ’の値を算出してもよい。
【００１０】
前記入力制御手段は、ｘの値をシフトダウンする際に０捨１入処理を行ってもよい。
【００１１】
前記コア手段は、ｘ’のとり得る全ての値（０≦ｘ’≦Ａ）について、ｘ’∧（Ｍ／Ｎ）の値をテーブルとして保持してもよい。
【００１２】
前記コア手段は、Ｌ＝Ｍ／ｍ（ｍは正の定数）とするとき、ｘ’のとり得る全ての値（０≦ｘ’≦Ａ）について、ｘ’∧（Ｌ／Ｎ）の値をテーブルとして保持し、前記テーブルに保持するｘ’∧（Ｌ／Ｎ）の値をｍ乗することによりｙの値を算出してもよい。
【００１３】
本発明の別の巾乗算出装置は、入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する（Ｍ，Ｎは整数の定数）巾乗算出装置であって、ｘ≦Ａの場合（Ａはｘの変域内における所定の閾値）にｘ’＝ｘとし、ｘ＞Ａの場合にｘ’＝ｘ／２∧Ｎとして、ｘ’の値を出力する入力制御手段と、ｙ’＝ｘ’∧（（Ｍ％Ｎ）／Ｎ）の値を出力するコア手段と、ｘ≦Ａの場合にｙ＝ｙ’とし、ｘ＞Ａの場合にｙ＝ｙ’＊２∧（Ｍ％Ｎ）として、ｙの値を出力する出力制御手段と、ｙ＊（ｘ∧（ｉｎｔ（Ｍ／Ｎ）））を出力する乗算手段とを備えており、これにより上記目的が達成される。
【００１４】
所定の割合以上でｘ≦ＡとなるようにＡが設定されていてもよい。
【００１５】
本発明の別の巾乗算出装置は、入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する（Ｍ，Ｎは整数の定数）巾乗算出装置であって、ｘの値の大きさを特定するためのパラメータｊ（ｊは負でない整数）を出力する判定手段と、ｘ≦Ａの場合（Ａはｘの変域内における閾値）にｘ’＝ｘとし、ｘ＞Ａの場合にｘ’＝ｘ／２∧ｊとして、ｘ’の値を出力する入力制御手段と、ｙ’＝ｘ’∧（Ｍ／Ｎ）の値を出力するコア手段と、ｘ≦Ａの場合にｙ＝ｙ’とし、ｘ＞Ａの場合にｙ＝ｙ’＊２∧（ｊ＊Ｍ／Ｎ）として、ｙの値を出力する出力制御手段とを備えており、これにより上記目的が達成される。
【００１６】
前記出力制御手段は、ｊの値をアドレスとして２∧（ｊ＊Ｍ／Ｎ）の値を保持する記憶装置を有し、ｘ＞Ａの場合に２∧（ｊ＊Ｍ／Ｎ）の値を前記記憶装置から読み出すことによりｙの値を算出してもよい。
【００１７】
Ａ＝２∧Ｂ（Ｂは整数の定数）であり、前記判定手段は、ｘ＞２∧Ｎの場合に２∧（Ｂ＋（ｊ−１））≦ｘ＜２∧（Ｂ＋ｊ）を満たすようにｊの値を決定し、ｘ≦２∧Ｎの場合にｊ＝０としてもよい。
【００１８】
本発明の別の巾乗算出装置は、入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する（Ｍ，Ｎは整数の定数）巾乗算出装置であって、ｘの値を２進数で表現したときの桁数ｋの値を出力する判定手段と、整数Ｂについて、（Ｂ−ｋ）が正の場合にｘを（Ｂ−ｋ）ビットシフトアップした値をｘ’とし、（Ｂ−ｋ）が負の場合にｘを（ｋ−Ｂ）ビットシフトダウンした値をｘ’として、ｘ’の値を出力する入力制御手段と、ｙ’＝ｘ’∧（Ｍ／Ｎ）の値を出力するコア手段と、ｙ＝ｙ’＊（２∧（（ｋ−Ｂ）＊Ｍ／Ｎ））の値を出力する出力制御手段とを備えており、これにより上記目的が達成される。
【００１９】
前記出力制御手段は、ｋの値をアドレスとして２∧（（ｋ−Ｂ）＊Ｍ／Ｎ）の値を保持する記憶装置を有し、２∧（（ｋ−Ｂ）＊Ｍ／Ｎ）の値を前記記憶装置から読み出すことによりｙの値を算出してもよい。
【００２０】
前記コア手段は、（２∧（Ｂ−１）≦ｑ＜２∧Ｂ、ｑは整数）ｑの少なくとも下位（Ｂ−１）ビットをアドレスとして、ｑ∧（Ｍ／Ｎ）の値を保持する記憶装置を有し、ｘ′の少なくとも下位（Ｂ−１）ビットをアドレスとして前記記憶装置からｑ∧（Ｍ／Ｎ）の値を読み出すことによりｙ’の値を算出してもよい。
【００２１】
【発明の実施の形態】
最初に、本発明の原理について説明する。本発明の巾乗算出装置は、所定の値Ａ以下の入力値ｘに対するｘ∧（Ｍ／Ｎ）の値のみをテーブルとして用意しておき、このテーブルを利用することにより、全ての入力値ｘに対するｘ∧（Ｍ／Ｎ）の値を得る。本発明の巾乗算出装置は、Ａを超える入力値ｘに対するｘ∧（Ｍ／Ｎ）の値のテーブルを用意していないため、入力として想定される全ての値ｘに対してｘ∧（Ｍ／Ｎ）の値をテーブルとして用意する従来の巾乗算出装置よりも、テーブルとして必要な記憶領域が小さい。
【００２２】
以下、本発明の巾乗算出装置の基本的な動作原理を算術式を用いて説明する。巾乗算出装置の入力値をｘとし、求める値をｙ＝ｘ∧（Ｍ／Ｎ）とする。ここで、入力値ｘは、例えばオーディオデータの復号処理で用いられる信号の振幅を表し、Ａはｘのとり得る範囲内の閾値とする。
【００２３】
ｘ≦Ａの場合、ｘ∧（Ｍ／Ｎ）の値はテーブルとして予め用意されている。そのため、ｘ≦Ａの場合にはテーブルをそのまま用いればｘ∧（Ｍ／Ｎ）の値を求めることができる。
【００２４】
ｘ＞Ａの場合、予めｘ'≦Ａとなるように、ｘを所定の値で割っておく。ｘ'に対してテーブルを読み出し、得られた値に前記所定の値を乗ずることによって、任意のｘに対するｘ∧（Ｍ／Ｎ）の値を得る。例えば、Ｍ＝４、Ｎ＝３であれば、８＊Ａ≧ｘ＞Ａの場合、まず、ｘ’＝ｘ／８としてｘ’を求める。そしてｘ’に対してテーブルを読み出し、ｙ’を得る。ｙ’＝（ｘ／８）∧（４／３）であるので、求めるｘ∧（４／３）はｙ’＊（８∧（４／３））＝ｙ’＊１６となる。
【００２５】
（実施形態１）
次に、本発明の実施形態１における巾乗算出装置について図面を参照しながら説明する。本実施形態における巾乗算出装置は、巾乗値ｘ∧（４／３）の値を求める巾乗算出装置である。ここで、入力値ｘの範囲は０〜８１９１とする。巾乗算出装置が求める巾乗値ｘ∧（４／３）及び入力値ｘの範囲はＭＰＥＧ２オーディオＡＡＣ規格に準拠したものである（ISO/IEC 13818-7:1997、P57 参照）。
【００２６】
図１は、本発明の実施形態１の巾乗算出装置１００の構成を示すブロック図である。この巾乗算出装置１００は、入力制御手段１０と、コア手段１１と、出力制御手段１２とを備えている。
【００２７】
図２は、巾乗算出装置１００の信号処理手順を示すフローチャートである。図２は、入力制御手段１０、コア手段１１、出力制御手段１２のそれぞれにおける信号処理手順を示している。図２を参照して、巾乗算出装置１００の各部の詳細を説明する。
【００２８】
入力制御手段１０は、入力値ｘが閾値Ａ、例えば１０２３以下か否かを判定し、１０２３以下の場合、値ｘをｘ’としてそのままコア手段１１に与え、入力値ｘが１０２３より大きい場合、値ｘを２∧３で割った値をｘ’としてコア手段１１に与える手段である。
【００２９】
コア手段１１は、０から１０２３までの値ｘ’に対して、ｘ’∧（４／３）の値を与える手段である。図２に示すコア手段１１をコア手段１１Ａとする。コア手段１１Ａは、ＲＯＭテーブル１であるｙ’＝ROMTABLE１［ｘ’］を有している。コア手段１１Ａは、ｘ’に対するＲＯＭテーブル１の読出値をｙ’として出力する。
【００３０】
図３は、巾乗算出装置１００のコア手段１１Ａが備えているＲＯＭテーブル１の内容を示す図である。ＲＯＭテーブル１には、０から１０２３までの値ｘ’に対するｘ’∧（４／３）の値が予め計算されて格納されている。
【００３１】
出力制御手段１２は、入力値ｘが１０２３以下の場合、コア手段１１Ａの出力値ｙ’をｙとしてそのまま出力し、入力値ｘが１０２３より大きい場合、コア手段１１Ａの出力値ｙ’を２∧４倍した値ｙとして出力する手段である。
【００３２】
以下、上記のような構成の巾乗算出装置１００の動作について説明する。まず図２の入力制御手段１０は、入力値ｘが与えられると、ステップＳ１０においてその値ｘが１０２３以下か否かを判定する。入力値ｘが１０２３以下の場合はステップＳ１１に進み、値ｘをそのまま値ｘ’としてコア手段１１Ａに与える。ステップＳ１０において入力値ｘが１０２３より大きいと判定された場合は、ステップＳ１２に進み、値ｘを２∧３で割った値をｘ’としてｘ’をコア手段１１Ａに与える。値ｘを２∧３で割る方法としては、値ｘを３ビットシフトダウンする方法でも良いし、０捨１入の丸め処理のために、値ｘに４を足した後、３ビットシフトダウンする方法でも良い。
【００３３】
次に、コア手段１１Ａにおいては、ステップＳ１３において入力制御手段１０から与えられた値ｘ’に対して、ｘ’∧（４／３）の値を図３のＲＯＭテーブル１より読み出す。
【００３４】
図４は、巾乗算出装置１００の別のコア手段１１Ｂの信号処理方法を示すフローチャートである。コア手段１１Ｂは、コア手段１１の別の構成例である。すなわち、図２のコア手段１１Ａに代えて、図４に示すコア手段１１Ｂをコア手段１１として用いてもよい。コア手段１１Ｂでは、ＬをＭ／ｍ（ｍは正の定数）とするとき、０から閾値Ａまでの値ｘ’に対してｘ’∧（Ｌ／Ｎ）の値ｙ’を予めＲＯＭテーブル２として保持する。コア手段１１Ｂは、ＲＯＭテーブル２の読出値ｙ’をｍ乗した値を新たなｙ’として出力する。
【００３５】
図５は、巾乗算出装置１００の別のコア手段１１Ｂが備えているＲＯＭテーブル２の内容を示す。０〜１０２３を変域とするｘ’に対して、ｍ＝４，Ｌ＝１としてｘ’∧（Ｌ／Ｎ）、すなわちｘ’∧（１／３）の値を格納したROMTABLE２［ｘ’］を用いる。図４のステップＳ１７におけるＲＯＭテーブル２の読み出し値ｙ’に対して、次のステップＳ１８では、出力値ｙ’を４乗することによって、ｘ’（４／３）の値に変換することができる。このような乗算計算は新たに必要になるが、ＤＳＰの乗算器を用いることにより簡単に計算することができる。そのため、ＲＯＭテーブルを小規模なもので済ますことができる。
【００３６】
最後に図２の出力制御手段１２では、ステップＳ１４において入力値ｘが１０２３以下か否かを判定し、１０２３以下の場合はステップＳ１５に進み、コア手段１１の出力値をそのまま出力する。ステップＳ１４において入力値ｘが１０２３より大きいと判定された場合は、ステップＳ１６に進み、コア手段１１の出力値を２∧４倍した値を出力する。
【００３７】
以上のように本実施形態によれば、入力として想定されるｘの全ての値、ここでは０〜８１９１までのｘに対してｘ∧（Ｍ／Ｎ）の値を用意しておくのではなく、予め定められた閾値Ａ＝１０２３に対し、Ａ以下の入力値ｘに対してのみ、ｘ∧（Ｍ／Ｎ）の値を用意しておく。こうすると、Ａを越える入力値ｘに対してもｘ∧（Ｍ／Ｎ）の値を概算することができる。このため少ないハードウェア規模で、巾乗の計算ができることとなる。
【００３８】
ここで閾値Ａの値として１０２３を選んだ理由について述べる。ＭＰＥＧ２オーディオＡＡＣ規格においては、ｘ∧（４／３）処理の入力値としては、０から８１９１までが有り得るが、実際には、その大半の値が０から１０２３までに集中している。そこで、０から１０２３までのｘに対しては、ｘ∧（４／３）の処理を正確に行わなければ音質の劣化につながる。逆に、１０２４以上のｘに対しては、その値を持つｘが殆ど出現しないので、それ程正確な値を算出しなくても、音質の劣化につながらない。そこで１０２４を越えるｘについては、本実施形態の方法に従って概算値を出力するように設定する。
【００３９】
更に実際には、入力値ｘは１０２３以下の範囲の中でも、とりわけ２５５以下の範囲に集中している。このため、統計上の閾値Ａを２５５と設定してもよい。統計上の閾値Ａを２５５と設定した例については、次の実施形態で述べる。
【００４０】
（実施形態２）
次に、本発明の実施形態２における巾乗算出装置について、図面を参照しながら説明する。ここでは、巾乗値ｘ∧（Ｍ／Ｎ）の具体例として、ｘ∧（４／３）の値を求める巾乗算出装置として説明する。この演算方法は、Ｍ，ＮをＭ＞Ｎを満足する整数とし、Ｍ／Ｎの値を整数部と小数部に分けて巾乗演算を行うことを特徴とする。記号int （  ）を小数点以下切り捨て処理とし、記号（  ％  ）を除算による剰余値（整数）を出力する処理とするとき、整数部の演算はｘ∧（int （Ｍ／Ｎ））として表現できる。また小数部の演算はｘ∧（（Ｍ％Ｎ）／Ｎ）として表現できる。
【００４１】
実施形態１と同様に入力値ｘの範囲は０〜８１９１までとする。これは、ＭＰＥＧ２オーディオＡＡＣ規格に準拠したものである（ISO/IEC 13818-7:1997）。
【００４２】
図６は、本発明の実施形態２の巾乗算出装置３００の構成を示すブロック図である。巾乗算出装置３００は、入力制御手段３０と、コア手段３１と、出力制御手段３２と、乗算手段３３とを備えている。
【００４３】
図７は、巾乗算出装置３００の信号処理方法を示すフローチャートである。
図７は、入力制御手段３０、コア手段３１、出力制御手段３２、乗算手段３３のそれぞれにおける信号処理手順を示している。
【００４４】
入力制御手段３０は、入力値ｘが第１の閾値Ａ１である２５５以下の場合、値ｘをｘ’としてそのままコア手段３１に与え、入力値ｘが２５５を越え、第２の閾値Ａ２である２０４７以下の場合、値ｘを２∧３で割った値をｘ’としてコア手段３１に与える。そして、入力値ｘが２０４８以上の場合、値ｘを２∧６で割った値をｘ’としてコア手段３１に与える。
【００４５】
図８は、巾乗算出装置３００のコア手段３１が備えているＲＯＭテーブル３の内容を示す。コア手段３１は、図８に示すようなＲＯＭテーブル３を有し、０から２５５までの値ｘ’に対して、ｘ’∧（（Ｍ％Ｎ）／Ｎ）、すなわちｘ’∧（１／３）の値を与える手段である。図８のＲＯＭテーブル３には、０から２５５までの値ｘ’に対するｘ’∧（１／３）の値が予め格納されている。
【００４６】
出力制御手段３２は、入力値ｘが第１の閾値Ａ１以下の場合、コア手段３１の出力値をそのまま出力し、入力値ｘが第１の閾値Ａ１を越え、第２の閾値Ａ２以下の場合、コア手段３１の出力値ｙ’を２∧（Ｍ％Ｎ）倍した値をｙとして出力する。そして入力値ｘが第２の閾値Ａ２を越える場合、コア手段３１の出力値を２∧（（Ｍ％Ｎ）＊２）倍した値を出力する。乗算手段３３は、ｘ∧（int （Ｍ／Ｎ））の値と、出力制御手段３２の出力値ｙを乗算し、乗算結果を新たな出力値ｙとして出力する。
【００４７】
このように構成された実施形態２の巾乗算出装置の動作について説明する。まず図７のステップＳ２０において、入力制御手段３０は、入力値ｘが第１の閾値Ａ１である２５５以下か否かを判定する。入力値ｘが２５５以下の場合ステップＳ２１に進み、値ｘをそのままｘ’としてコア手段３１に与える。またステップＳ２０において、入力値ｘが２５６以上の場合はステップＳ２２に進み、入力値ｘが第２の閾値Ａ２である２０４７以下か否かを判定する。２０４７以下の場合はステップＳ２３に進み、値ｘを２∧３で割った値をｘ’としてコア手段３１に与える。ステップＳ２２において、入力値ｘが２０４８以上と判定された場合
、ステップＳ２４に進んで、値ｘを２∧６で割った値をｘ’としてコア手段３１に与える。
【００４８】
ここで、値ｘを２∧３で割る方法としては、値ｘを３ビットシフトダウンする方法でも良いし、０捨１入の丸め処理のために、値ｘに４を足した後、３ビットシフトダウンする方法でも良い。また、値ｘを２∧６で割る方法としては、値ｘを６ビットシフトダウンする方法でも良いし、０捨１入の丸め処理のために、値ｘに３２を足した後、６ビットシフトダウンする方法でも良い。
【００４９】
次に、コア手段３１のステップＳ２５では、入力制御手段３０から与えられた値ｘ’に対して、図８に示すようなＲＯＭテーブル３を用いて、ｘ’∧（１／３）の値を読み出す。
【００５０】
次に、出力制御手段３２では、ステップＳ２６において入力値ｘが２５５以下か否かを判定する。２５５以下の場合はステップＳ２７に進み、コア手段３１の出力値をそのまま出力する。ステップＳ２６において入力値ｘが２５６以上と判定された場合はステップＳ２８に進む。ここでは入力値ｘが２０４７以下か否かを判定し、２０４７以下であればステップＳ２９に進み、２０４８以上であればステップＳ３０に進む。ステップＳ２９ではコア手段３１の出力値を２∧１倍した値を出力し、ステップＳ３０ではコア手段３１の出力値を２∧２倍した値を出力する。
【００５１】
最後に、乗算手段３３はステップＳ３１において、入力値ｘと出力制御手段３２の出力値とを乗算する。この場合は求める値ｘ∧（４／３）に対し、出力制御手段３２の出力値は、ｘ∧（１／３）であるので、元々のｘとｘ∧（１／３）とを乗算することによって、ｘ∧（４／３）を算出する。
【００５２】
以上のように本実施形態によれば、Ｍ＞Ｎの条件の中で、入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する巾乗算出装置において、０からＡまでの値ｘ’に対して、ｘ’∧（（Ｍ％Ｎ）／Ｎ）の値を与えるコア手段を設ける。更に入力値ｘに対してｘ∧（int （Ｍ／Ｎ））の値と、出力制御手段の出力値を乗算する乗算手段を設けることを特徴としている。
【００５３】
こうすることによって、入力として想定される値の全て値ｘ（本実施形態では０〜８１９１までの値）に対して、全てのｘ∧（Ｍ／Ｎ）の値を用意しておくのではなく、予め定められたＡの値（本実施形態では２５５）に対し、Ａ以下の入力値ｘに対してのみｘ∧（（Ｍ％Ｎ）／Ｎ）の値を用意しておけばよい。こうしても全てのｘの巾乗値を得ることができる。このため、少ないハードウェア規模で、分数値で累乗する巾乗の計算ができることとなる。
【００５４】
（実施形態３）
次に、本発明の実施形態３における巾乗算出装置について図面を参照しながら説明する。本実施形態では、巾乗値ｘ∧（Ｍ／Ｎ）として、ｘ∧（１／３）の値を求める巾乗算出装置として説明する。ここで入力値ｘの範囲は０〜８１９１とする。
【００５５】
図９は、本発明の実施形態３の巾乗算出装置４００の構成を示すブロック図である。巾乗算出装置４００は、入力制御手段４０と、コア手段４１と、出力制御手段４２と、判定手段４３とを備えている。
【００５６】
図１０は、巾乗算出装置４００の信号処理方法を示すフローチャートである。図１０は、入力制御手段４０、コア手段４１、出力制御手段４２、判定手段４３のそれぞれにおける信号処理手順を示している。
【００５７】
入力制御手段４０は、入力値ｘが閾値Ａ、例えば１０２３以下か否かを判定し、１０２３以下の場合、値ｘをｘ’としてそのままコア手段４１に与え、入力値ｘが１０２３より大きい場合、値ｘを２∧ｊで割った値をｘ’としてコア手段４１に与える手段である。
【００５８】
ここで、上記ｊの値は、以下のように判定手段４３で判定される。すなわち、判定手段４３では、まず、入力値ｘを２進数と見た場合の桁数ｋを求める。その後、ｊ＝ｋ−１０となるｊを求める。例えば、入力値ｘの値が、１０２４以上、２０４８より小さい場合、ｊの値は、１となる。ここで、上記値１０は、１０２４を２進数と見た場合の桁数を表している。すなわち、ｊの値は、入力値ｘを２進数と見た場合、閾値Ａより何桁大きい値かを表す値である。
【００５９】
コア手段４１は、実施形態１のコア手段１１Ｂと同様に、図５に示すＲＯＭテーブル２を有する。ＲＯＭテーブル２には、０から１０２３までの値ｘ’に対するｘ’∧（１／３）の値が予め計算されて格納されている。コア手段４１は、０から１０２３までの値ｘ’に対して、ｘ’∧（１／３）の値を与える。出力制御手段４２は、入力値ｘが１０２３以下の場合、コア手段４１の出力値ｙ’をｙとしてそのまま出力し、入力値ｘが１０２３より大きい場合、コア手段４１の出力値ｙ’を２∧（ｊ／３）倍した値ｙとして出力する手段である。
【００６０】
このような構成の巾乗算出装置の動作について説明する。まず図９の入力制御手段４０は、入力値ｘが与えられると、ステップＳ４０においてその値ｘが１０２３以下か否かを判定する。入力値ｘが１０２３以下の場合はステップＳ４１に進み、値ｘをそのまま値ｘ’としてコア手段４１に与える。ステップＳ４０で入力値ｘが１０２３より大きいと判定された場合は、ステップＳ４２に進み、値ｘを２∧ｊで割った値をｘ’としてｘ’をコア手段４１に与える。
【００６１】
ここで、上記ｊの値は、以下のように判定手段４３で判定される。すなわち、判定手段４３では、まず、入力値ｘを２進数と見た場合の桁数ｋを求める。その後、ｊ＝ｋ−１０を求める。
【００６２】
また、値ｘを２∧ｊで割る方法としては、値ｘをｊビットシフトダウンする方法でも良いし、０捨１入の丸め処理のために、値ｘに２∧（ｊ−１）を足した後、ｊビットシフトダウンする方法でも良い。
【００６３】
次に、コア手段４１では、ステップＳ４３において入力制御手段４０から与えられた値ｘ’に対して、ｘ’∧（１／３）の値を図５のＲＯＭテーブル２より読み出す。
【００６４】
最後に図９の出力制御手段４２では、ステップＳ４４において入力値ｘが１０２３以下か否かを判定し、１０２３以下の場合はステップＳ４５に進み、コア手段４１の出力値をそのまま出力する。ステップＳ４４において入力値ｘが１０２３より大きいと判定された場合は、ステップＳ４６に進み、コア手段４１の出力値に２∧（ｊ／３）を乗じた値を出力する。
【００６５】
図１１は、巾乗算出装置４００の出力制御手段４２において２∧（ｊ／３）の値を与えるテーブルを示す。２∧（ｊ／３）の値は、ｊをアドレスとしたテーブルとしてメモリに予め格納しておき、それを読み出すことによって求めればよい。また、コア手段４１の出力値に２∧（ｊ／３）を乗じるのは、通常の乗算手段を用いればよい。
【００６６】
以上のように本実施形態によれば、入力として想定されるｘの全ての値、ここでは０〜８１９１までのｘに対してｘ∧（１／３）の値を用意しておくのではなく、予め定められた閾値Ａ＝１０２３に対し、Ａ以下の入力値ｘに対してのみ、ｘ∧（１／３）の値を用意しておく。これにより、Ａを越える入力値ｘに対してもｘ∧（１／３）の値を概算することができる。そのため、少ないハードウェア規模で、巾乗の計算ができることとなる。
【００６７】
また、閾値Ａを越える場合でも、ビットの欠落が最小限に抑えられるので、精度よく概算値が求められることとなる。
【００６８】
本実施形態では、上記閾値Ａの値を、１０ビットの最大値１０２３とし、判定手段４３を、入力値ｘが１０ビットより、何ビット大きいかを表す値を出力する様に構成していたが、必ずしもそうである必要はなく、より少ないメモリで構成したい場合は、例えば、上記閾値Ａの値を、例えば８ビットの最大値２５５とし、判定手段４３を、入力値ｘが８ビットより、何ビット大きいかを表す値を出力する様に構成するなどしてもよい。また、より精度よく演算結果を求めたい場合は、上記閾値Ａの値を、例えば１２ビットの最大値４０９５とし、判定手段４３を、入力値ｘが１２ビットより、何ビット大きいかを表す値を出力する様に構成するなどしてもよい。
【００６９】
（実施形態４）
次に、本発明の実施形態４における巾乗算出装置について図面を参照しながら説明する。本実施形態では、巾乗値ｘ∧（Ｍ／Ｎ）として、ｘ∧（１／３）の値を求める巾乗算出装置として説明する。ここで入力値ｘの範囲は０〜８１９１とする。
【００７０】
図１２は、本発明の実施形態４の巾乗算出装置５００の構成を示すブロック図である。巾乗算出装置５００は、入力制御手段５０と、コア手段５１と、出力制御手段５２と、判定手段５３とを備えている。
【００７１】
図１３は、巾乗算出装置５００の信号処理方法を示すフローチャートである。図１３は、入力制御手段５０、コア手段５１、出力制御手段５２、判定手段５３のそれぞれにおける信号処理手順を示している。
【００７２】
判定手段５３は、入力値ｘを２進数と見た場合の桁数ｋを求める手段である。入力制御手段５０は、上記ｋが閾値Ｂ、例えば１０以下か否かを判定し、１０以下の場合、入力値ｘを（Ｂ−ｋ）ビットシフトアップした値をｘ’とし、上記ｋが１０より大きい場合、入力値ｘを（ｋ−Ｂ）ビットシフトダウンした値をｘ’としてコア手段５１に与える手段である。
【００７３】
コア手段５１は、ＲＯＭテーブル４であるｙ’＝ROMTABLE4［ｘ’］を有し、２∧（Ｂ−１）以上２∧Ｂ−１以下（本実施形態では５１２以上１０２３以下）の値ｘ’に対して、ｘ’∧（１／３）の値を与える手段である。出力制御手段５２は、コア手段５１の出力値ｙ’を２∧（（ｋ−Ｂ）／３）倍した値ｙを出力する手段である。
【００７４】
図１４は、巾乗算出装置５００のコア手段５１が備えているＲＯＭテーブル４の内容を示す。ＲＯＭテーブル４には、５１２から１０２３までの値ｘ’に対するｘ’∧（１／３）の値が予め計算されて格納されている。
【００７５】
ここで注意すべきことは、図１４において、アドレス０には、ｘ’＝５１２（＝２∧（Ｂ−１））に対する、ｘ’∧（１／３）の値が格納されており、また、アドレス５１１には、ｘ’＝１０２３（＝２∧Ｂ−１）に対する、ｘ’∧（１／３）の値が格納されているということである。この様な形でテーブルを持つことは、以下の様な理由による。すなわち、前記入力制御手段５０では、入力値ｘを２進数で表した時の桁数ｋに対して、Ｂ−ｋの値が、正の場合、上記ｘを（Ｂ−ｋ）ビットシフトアップし、Ｂ−ｋの値が、負の場合、上記ｘを（ｋ−Ｂ）ビットシフトダウンすることによって、ｘ’を算出しているので、ｘ’のＢビット目は必ず１となる。すなわち、値は必ず、２∧（Ｂ−１）以上２∧Ｂ−１以下となる。そこで、図１４のテーブルを参照する際、ｘ’の下位（Ｂ−１）ビットだけをアドレスとすることができる。これにより、結果としてテーブルサイズが半分に削減できる。
【００７６】
このような構成の巾乗算出装置の動作について説明する。まず図１２の判定手段４３で、入力値ｘを２進数と見た場合の桁数ｋを求める。入力制御手段５０は、入力値ｘが与えられると、ステップＳ５０において上記ｋがＢ（本実施形態では１０）以下か否かを判定する。上記ｋが１０以下の場合はステップＳ５１に進み、入力値ｘを（Ｂ−ｋ）ビットシフトアップした値をｘ’とし、上記ｋが１０より大きい場合はステップＳ５２に進み、入力値ｘを（ｋ−Ｂ）ビットシフトダウンした値をｘ’としてコア手段に与える。
【００７７】
次に、コア手段５１では、ステップＳ５３において入力制御手段５０から与えられた値ｘ’に対して、ｘ’∧（１／３）の値を図１４のＲＯＭテーブル４より読み出す。先にも述べたようにここでは、アドレス０には、ｘ’＝５１２（＝２∧（Ｂ−１））に対する、ｘ’∧（１／３）の値が格納されており、また、アドレス５１２には、ｘ’＝１０２３（＝２∧Ｂ−１）に対する、ｘ’∧（１／３）の値が格納されている。つまり、図１４のテーブルを参照する際、ｘ’の下位（Ｂ−１）ビットだけをアドレスとしている。
【００７８】
最後に図１２の出力制御手段５２では、ステップＳ５４において、コア手段５１の出力値に２∧（（ｋ−Ｂ）／３）を乗じた値を出力する。
【００７９】
図１５は、巾乗算出装置５００の出力制御手段５２において２∧（（ｋ−Ｂ）／３）の値を与えるテーブルを示す。２∧（（ｋ−Ｂ）／３）の値は、ｋをアドレスとしたテーブルとして、メモリに予め格納しておき、それを読み出すことによって求めればよい。また、コア手段５１の出力値に２∧（（ｋ−Ｂ）／３）を乗じるのは、通常の乗算手段を用いればよい。
【００８０】
以上のように本実施形態によれば、入力として想定されるｘの全ての値、ここでは０〜８１９１までのｘに対してｘ∧（１／３）の値を用意しておくのではなく、予め定められた閾値Ｂ（ここでは１０）に対し、２∧（Ｂ−１）以上２∧Ｂ未満の値ｘ’に対してのみ、ｘ’∧（１／３）の値を用意しておく。これにより、桁数がＢを越える入力値ｘに対してもｘ∧（１／３）の値を概算することができる。そのため、少ないハードウェア規模で、巾乗の計算ができることとなる。
【００８１】
また、桁数がＢを越える場合でも、ビットの欠落が最小限に抑えられるので、精度よく概算値が求められることとなる。
【００８２】
また、本実施形態においては、桁数がＢを越える場合のｘ∧（１／３）の値を概算の精度は、実施形態３における精度と同等であるにもかかわらず、ＲＯＭテーブルのサイズは、約半分ですむこととなる。
【００８３】
【発明の効果】
本発明によれば、入力値ｘに対してｘ∧（Ｍ／Ｎ）の値を算出する巾乗算出装置において、予め定められた範囲の入力値ｘ’に対する小規模のテーブルを設けることにより、ｘ∧（Ｍ／Ｎ）の値を概算することが可能となる。これにより、ｘ∧（Ｍ／Ｎ）の値を求めるために、入力値として想定される全ての値ｘに対して容量の大きなテーブルを設ける必要が無くなる。そのため、小さいハードウェア規模で、ｘ∧（Ｍ／Ｎ）の値を概算することができる。特に、閾値Ａ以下の入力値ｘ’に対するテーブルを設け、ｘの値の大きさを特定するためのパラメータｊを用いてｘ’＝ｘ／２∧ｊとし、あるいは、２∧（Ｂ−１）以上２∧Ｂ−１未満の入力値ｘ’に対するテーブルを設けることにより、ｘ∧（Ｍ／Ｎ）の概算の精度を極力維持することができる。
【００８４】
また、本発明によれば、入力値ｘをシフトダウンすることにより、入力値ｘが閾値Ａを越える場合、簡単な方法で入力値ｘを除算してその値を変換することができる。これは、入力値ｘが閾値Ａ以下となる出現確率が高い場合に、特に有効である。
【００８５】
また、本発明によれば、コア手段がｘ’のとり得る全ての値について、ｘ’∧（Ｍ／Ｎ）あるいはｘ’∧（Ｌ／Ｎ）の値をテーブルとして保持することにより、入力値ｘ’をｙ’に変換する処理が、小規模のテーブルの参照により実行できるので、巾乗の演算処理の負担が軽くなる。特に、コア手段がｘ’∧（Ｌ／Ｎ）の値をテーブルとして保持することにより、テーブルに記載するｙ’の値が小さく（桁数が少ない）なり、ＲＯＭテーブルの容量が更に小さくなる。
【００８６】
また、本発明によれば、所定の割合以上でＸ≦Ａとなるように閾値Ａの設定を入力値ｘの出現確率に基づいて行うことにより、信号の復号処理の品質を実質的に下げないで、コア手段の負担を軽くすることができる。
【００８７】
また、本発明によれば、出力制御手段が、２∧（ｊ＊Ｍ／Ｎ）の値あるいは２∧（（ｋ−Ｂ）＊Ｍ／Ｎ）の値を予め保持している記憶装置を有しており、ｊの値あるいはｋの値をアドレスとして記憶装置から読みだした値を出力制御手段の入力値に乗じて出力する。これにより、大きな演算量の増加なく発明を実施することができる。
【００８８】
また、本発明によれば、Ｂを整数、上記Ａの値をＡ＝２∧Ｂとしたとき、前記判定装置は、ｊの値を、ｘの値が、Ａより大きい値の場合、２∧（Ｂ＋（ｊ−１））≦ｘ＜２∧（Ｂ＋ｊ）を満たすように決定する。これにより、ｊの値はｘを２進数とみた場合の桁数−Ｂということになるため、入力制御装置の処理を単なるビットシフト処理で実現できる。
【００８９】
また、本発明によれば、コア手段は、２∧（Ｂ−１）以上２∧Ｂ未満の整数値ｑに対するｑ∧（Ｍ／Ｎ）の値を、ｑの少なくとも下位（Ｂ−１）ビットをアドレスとし、格納した記憶手段を有しており、前記ｘ’の少なくとも下位（Ｂ−１）ビットをアドレスとして前記記憶手段から読み出された値を上記ｙ’の値に乗じて出力する。これにより、極めて簡単なビット処理でアドレシングできることとなる。
【図面の簡単な説明】
【図１】本発明の実施形態１の巾乗算出装置１００の構成を示すブロック図である。
【図２】巾乗算出装置１００の信号処理方法を示すフローチャートである。
【図３】巾乗算出装置１００のコア手段１１Ａが備えているＲＯＭテーブル１の内容を示す図である。
【図４】巾乗算出装置１００の別のコア手段１１Ｂの信号処理方法を示すフローチャートである。
【図５】巾乗算出装置１００の別のコア手段１１Ｂが備えているＲＯＭテーブル２の内容を示す図である。
【図６】本発明の実施形態２の巾乗算出装置３００の構成を示すブロック図である。
【図７】巾乗算出装置３００の信号処理方法を示すフローチャートである。
【図８】巾乗算出装置３００のコア手段３１が備えているＲＯＭテーブル３の内容を示す図である。
【図９】本発明の実施形態３の巾乗算出装置４００の構成を示すブロック図である。
【図１０】巾乗算出装置４００の信号処理方法を示すフローチャートである。
【図１１】巾乗算出装置４００の出力制御手段４２において２∧（ｊ／３）の値を与えるテーブルを示す図である。
【図１２】本発明の実施形態４の巾乗算出装置５００の構成を示すブロック図である。
【図１３】巾乗算出装置５００の信号処理方法を示すフローチャートである。
【図１４】巾乗算出装置５００のコア手段５１が備えているＲＯＭテーブル４の内容を示す図である。
【図１５】巾乗算出装置５００の出力制御手段５２において２∧（（ｋ−Ｂ）／３）の値を与えるテーブルを示す図である。
【図１６】従来の巾乗算出装置が備えている、０≦ｘ≦８１９１の場合のｘ∧（４／３）の値のテーブルを示す図である。
【符号の説明】
１０、３０、４０、５０  入力制御手段
１１、１１Ａ、１１Ｂ、３１、４１、５１  コア手段
１２、３２、４２、５２  出力制御手段
３３  乗算手段
４３、５３  判定手段
１００、３００、４００、５００  巾乗算出装置
【図１】
0004063434.tif 000002
【図２】
0004063434.tif 000003
【図３】
0004063434.tif 000004
【図４】
0004063434.tif 000005
【図５】
0004063434.tif 000006
【図６】
0004063434.tif 000007
【図７】
0004063434.tif 000008
【図８】
0004063434.tif 000009
【図９】
0004063434.tif 000010
【図１０】
0004063434.tif 000011
【図１１】
0004063434.tif 000012
【図１２】
0004063434.tif 000013
【図１３】
0004063434.tif 000014
【図１４】
0004063434.tif 000015
【図１５】
0004063434.tif 000016
【図１６】
0004063434.tif 000017