(57)【要約】【課題】非線形関数をソフトウエアで実装する場合において、対称性のある箇所についてはテーブル値を半分の量にしてメモリに確保することでメモリ使用量を削減し、実際には単純な演算のみで求められ、計算機の処理量を削減する。【解決手段】情報処理方法は、対称性がある部分が存在する非線形関数において、非線形関数値を算出する方法を決定する工程と、非線形関数値テーブルを読み込んで非線形関数値を求める工程と、法線方向に関して非線形関数が対称となる補助直線を決定する工程と、非線形関数値と補助直線の値との差を使用した補助テーブルを生成する工程Ｆ２０３と、非線形関数値と補助直線値との差を使用した補助テーブルを読み込んで非線形関数値を生成する工程Ｆ２０４と、非線形関数値を格納するメモリに非線形関数値を格納する工程と、定義域内の値を更新する工程Ｆ２０６とを備えた。【選択図】  図２
2004213424.tif 000002
【特許請求の範囲】
【請求項１】
入力値格納メモリ、関数値算出方法決定部、関数値算出部および出力関数値格納メモリを有する非線形関数のソフトウエア実装装置上に、非線形関数をソフトウエアで実装する情報処理方法において、
上記装置内に対称性がある部分が存在する非線形関数において、非線形関数値を算出する方法を決定する非線形関数値算出方法決定工程と、
非線形関数値テーブルを読み込んで非線形関数値を求める非線形関数値読込工程と、
法線方向に関して非線形関数が対称となる補助直線を決定する補助直線決定工程と、
非線形関数値と補助直線の値との差を使用した補助テーブルを生成する補助テーブル生成工程と、
非線形関数値と補助直線値との差を使用した補助テーブルを読み込んで非線形関数値を生成する非線形関数値生成工程と、
非線形関数値を格納するメモリに非線形関数値を格納する非線形関数値格納工程と、
定義域内の値を更新する定義域内値更新工程と、
を備えたことを特徴とする情報処理方法。
【請求項２】
請求項１記載の情報処理方法において、
上記各工程は、音声信号または画像信号の符号化信号処理のアルゴリズムにおける非線形関数を求める際に適用することを特徴とする情報処理方法。
【請求項３】
入力値格納メモリ、関数値算出方法決定部、関数値算出部および出力関数値格納メモリを有し、非線形関数をソフトウエアで実装する情報処理装置において、
上記装置内に対称性がある部分が存在する非線形関数において、非線形関数値を算出する方法を決定する非線形関数値算出方法決定手段と、
非線形関数値テーブルを読み込んで非線形関数値を求める非線形関数値読込手段と、
法線方向に関して非線形関数が対称となる補助直線を決定する補助直線決定手段と、
非線形関数値と補助直線の値との差を使用した補助テーブルを生成する補助テーブル生成手段と、
非線形関数値と補助直線値との差を使用した補助テーブルを読み込んで非線形関数値を生成する非線形関数値生成手段と、
非線形関数値を格納するメモリに非線形関数値を格納する非線形関数値格納手段と、
定義域内の値を更新する定義域内値更新手段と、
を備えたことを特徴とする情報処理装置。
【請求項４】
請求項３記載の情報処理装置において、
上記各手段は、音声信号または画像信号の符号化信号処理のアルゴリズムにおける非線形関数を求める際に適用することを特徴とする情報処理装置。
【請求項５】
入力値格納メモリ、関数値算出方法決定部、関数値算出部および出力関数値格納メモリを有する非線形関数のソフトウエア実装装置上に、非線形関数をソフトウエアで実装する情報処理プログラムにおいて、
上記装置内に対称性がある部分が存在する非線形関数において、非線形関数値を算出する方法を決定する非線形関数値算出方法決定工程と、
非線形関数値テーブルを読み込んで非線形関数値を求める非線形関数値読込工程と、
法線方向に関して非線形関数が対称となる補助直線を決定する補助直線決定工程と、
非線形関数値と補助直線の値との差を使用した補助テーブルを生成する補助テーブル生成工程と、
非線形関数値と補助直線値との差を使用した補助テーブルを読み込んで非線形関数値を生成する非線形関数値生成工程と、
非線形関数値を格納するメモリに非線形関数値を格納する非線形関数値格納工程と、
定義域内の値を更新する定義域内値更新工程と、
を備えたことを特徴とする情報処理プログラム。
【請求項６】
請求項５記載の情報処理プログラムにおいて、
上記各工程は、音声信号または画像信号の符号化信号処理のアルゴリズムにおける非線形関数を求める際に適用することを特徴とする情報処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、非線形関数を低水準から高水準までのソフトウエア上に実装する技術に関わり、特に非線形関数値を生成する処理を効率よく行う情報処理方法、情報処理装置および情報処理プログラムに関するものである。
【０００２】
【従来の技術】
図４は、ソフトウエアにおける非線形関数の実装を示す図である。
ソフトウエアで非線形関数値を求めるという操作は、図４に示すように、関数ｙ＝ｆ（ｘ）について、離散化された定義域［ｘ０，ｘｎ］およびそれに１対１に対応する値域［ｆ（ｘ０），ｆ（ｘｎ）］に対して、任意のｘｉの関数値ｆ（ｘｉ）を求める処理である。
【０００３】
従来の技術としては、二通りの方法が採られている。一つは、Ｃ言語などの高水準プログラミング言語に標準で添付されている数学的関数用のライブラリを使用する方法で、ライブラリには、ｓｉｎやｃｏｓなどの三角関数や、べき乗などの関数が用意されている。
【０００４】
ライブラリを使用すれば容易にソフトウエアで非線形関数が実装可能となる。ただし、ライブラリを使用する実装方法は、計算機に多大な負荷を生じさせてしまうこととなる。命令実行サイクル数が増大すれば消費電力も上がってしまうため、組み込み系マイクロコンピュータなどのソフトウエアには向かない実装方法である。この方法を非線形関数値生成方法１とする。
【０００５】
もう一つの方法は、一般的によく採用されてきた方法である。非線形関数値を求める処理を実行する前に、定義域内の各ｘに１対１に対応した関数値のテーブルを予め計算してメモリ上に格納しておく。処理の中で非線形関数値が必要になった際にメモリ上に格納しておいた関数値のテーブルのうち各ｘに対応した値を読み込み、これを求める関数値とする。
【０００６】
この方法は計算機の処理負荷が少ないが、定義域全てのｘに対して関数値のテーブルを用意する必要があるため、定義域が非常に広い場合にはメモリ消費量が膨大になってしまう。この方法を非線形関数値生成方法２とする。
【０００７】
従来の非線形関数値生成方法１のフローチャートを図５に示し、従来の非線形関数値生成方法２のフローチャートを図６に示す。
【０００８】
まず、図５に示した従来の非線形関数値生成方法１のフローチャートを説明する。
図５において、ステップＦ００１では、関数ライブラリを使用することによりｆ（ｘ）が求まる。具体的には、プログラミング言語に用意されている数学的関数ライブラリを使用することにより、関数値ｆ（ｘ）を求める。ここでいう数学的関数ライブラリとは、例えばＣ言語においてはｍａｔｈライブラリとして提供されているものである。
【０００９】
ステップＦ００２では、ｘの終端であるか否かを判断し、ｘの終端であるときは終了し、ｘの終端でないときはステップＦ００３へ進む。具体的には、ｘが定義域の終端ならば、求めるべき全てのｘについて関数値を生成したことになるので、非線形関数値生成処理は終了し、ｘが定義域の終端でないならばステップＦ００３へ移行する。
【００１０】
ステップＦ００３では、ｘを更新して、ステップＦ００１へ戻る。具体的には、ここでのｘの更新は、次に求めるべき関数値を決定するためのｘを決定することであり、逐次アクセスならばインクリメントの形になる。
【００１１】
次に、図６に示した従来の非線形関数値生成方法２のフローチャートを説明する。
図６において、ステップＦ１０１では、ｘに対応する関数値テーブル参照によりｆ（ｘ）が求まる。具体的には、ｘに対応する関数値テーブルを参照することにより、関数値ｆ（ｘ）を求める。ここで使用する関数値テーブルは、処理の前に、各ｘをエントリとして、対応する関数値を予め計算して静的な配列として用意しておく。
【００１２】
ステップＦ１０２では、ｘの終端であるか否かを判断し、ｘの終端であるときは終了し、ｘの終端でないときはステップＦ１０３へ進む。具体的には、ｘが定義域の終端ならば、求めるべき全てのｘについて関数値を生成したことになるので、非線形関数値生成処理は終了し、ｘが定義域の終端でないならばステップＦ１０３へ移行する。
【００１３】
ステップＦ１０３では、ｘを更新して、ステップＦ１０１へ戻る。具体的には、ここでのｘの更新は、次に求めるべき関数値を決定するためのｘを決定することであり、逐次アクセスならばインクリメントの形になる。
【００１４】
特許文献１には、歪補償のための非線形振幅補償値計算について開示されている。
【００１５】
【特許文献１】
特開２００２‐２６６６５号公報
【００１６】
【発明が解決しようとする課題】
しかし、上述した従来の非線形関数値生成方法１では、関数値を算出するために消費するメモリ量は非常に少なくなるが、数学的計算を直接行うため、計算機の処理量が非常に多くなってしまうという不都合があった。
【００１７】
また、上述した従来の非線形関数値生成方法２では、計算機の処理としてはテーブル参照程度で済むため、処理量自体は多くはない。しかし、実装する非線形関数の定義域の分だけ関数値テーブルを用意する必要があるため、定義域が広い場合に、メモリ使用量が膨大になる。一般に、組み込み系マイクロコンピュータのソフトウエアなど、メモリ容量に制限がある環境では、膨大な関数値テーブルを用意することが困難であるという不都合があった。
【００１８】
特許文献１には、歪補償のための非線形振幅補償値計算について開示されているが、ここでいう折れ線近似が本発明の従来の非線形関数値生成方法１、図９等に記載があるＬＵＴ（ルックアップ・テーブル）が従来の非線形関数値生成方法２に相当する。
【００１９】
しかし、特許文献１には、本願発明のポイントである、関数の対称性についての記載は全くないため、本願発明のように、関数の対称性のある部分について法線方向の補助直線との差分関数値を半分だけ求めることにより、メモリ使用量を削減することができない。
【００２０】
そこで、本発明は、かかる点に鑑みてなされたものであり、非線形関数をソフトウエアで実装する場合において、計算機の処理量およびメモリ使用量の削減を目的として、非線形関数の対称性のある箇所に注目し、対称性のある箇所についてはテーブル値を半分の量にしてメモリに確保することでメモリ使用量を削減し、実際には単純な演算のみで求められ、計算機の処理量を削減する情報処理方法、情報処理装置および情報処理プログラムを提供することを課題とする。
【００２１】
【課題を解決するための手段】
本発明の非線形関数のソフトウエア実装方法は、入力メモリ、関数値算出方法決定装置、関数算出装置および出力メモリを有する装置上に、非線形関数をソフトウエアで実装する際に、計算機の処理量の削減と、メモリの使用量の削減を行うものである。
【００２２】
本発明の非線形関数のソフトウエア実装方法は、装置内に対称性がある部分が存在する非線形関数において、非線形関数値を算出する方法を決定する工程と、非線形関数値テーブルを読み込んで非線形関数値を求める工程と、法線方向に関して非線形関数が対称となる補助直線を決定する工程と、非線形関数値と補助直線の値との差を使用したテーブルを生成する工程と、非線形関数値と補助直線値との差を使用したテーブルを読み込んで非線形関数値を生成する工程と、非線形関数値を格納するメモリに非線形関数値を格納する工程と、定義域内の値を更新する工程とを備えたものである。
【００２３】
これらの処理方法は、例えば、プログラミング言語でコーディングすることで具現化される。
【００２４】
従って本発明によれば、以下の作用をする。
本発明の非線形関数のソフトウエア実装方法によれば、補助テーブルを使ってソフトウェアで非線形関数値を求める際、関数の対称性のある部分については法線方向の補助直線との差分関数値を半分だけ求めるようにしたので、補助テーブルを使ってソフトウェアで非線形関数値を求める際、関数の対称性のある部分については法線方向の補助直線との差分関数値を半分だけ求めることにより、メモリ使用量を削減することができる。
【００２５】
このとき、関数値および関数値と補助直線の差を、それぞれ範囲を区切って前者を関数値テーブル化、後者を補助テーブル化することで、補助テーブルは、その範囲内の定義域の半分の領域のテーブル化で実装できるため、定義域全てに対して関数値のテーブル化を行う場合に比べてメモリ使用量を削減することができる。
【００２６】
また、補助テーブルを使用して関数値を求める際の処理は、関数ライブラリを使用して関数値を求める場合に比べて負荷が軽いため、計算機の処理量を削減して高速に実行することができる。
【００２７】
【発明の実施の形態】
以下に、本発明の実施の形態について、適宜図面を参照しながら説明する。
非線形関数の例として、単調増加の非線形関数ｙ＝ｆ（ｘ）を挙げる。なお、本実施の形態は、非線形関数のうち、ある直線に対して対称性が認められる場合に適用可能である。
【００２８】
図１は、本発明の実施の形態を説明する概念図である。
図１において、点Ｉ（Ｘ０  ，０）から点Ｊ  （Ｘｎ，０）までの定義域｜Ｘ０  ，Ｘｎ｜に対して値域｜Ｆ（Ｘ０  ），Ｆ（Ｘｎ）｜を求める。
【００２９】
今、点Ｄの左側の定義域内の任意のｘｉに対応する関数値Ｆ（Ｘｉ）を求めることにする。図１において、ｙ＝ｆ（ｘ）とｙ＝ｇ（ｘ）の交点ＡとＢを結ぶ直線をｙ＝ｇ（ｘ）とし、直線ｙ＝ｇ（ｘ）の法線で、線分ＡＢの中点を通るものをｙ＝ｎ（ｘ）とする。
【００３０】
このとき、ｙ＝ｇ（ｘ）はｙ＝ｆ（ｘ）の部分曲線ＡＢに対してｙ＝ｎ（ｘ）で対称となるように決定しておく。ｙ＝ｎ（ｘ）の左側において、ｙ＝ｎ（ｘ）と平行な直線とｙ＝ｆ（ｘ）の交点をＦ、ｙ＝ｎ（ｘ）と平行な直線とｙ＝ｇ（ｘ）の交点をＥとする。直線ｙ＝ｇ（ｘ）が決定すれば、この直線とｘ軸の交点をＰとすると、角ＡＰＪ（＝θとする）が決定する。
【００３１】
ここで、点Ｋを通り、ｙ軸に平行な直線とｙ＝ｇ（ｘ）の交点をＭとすると、三角形ＰＭＫと三角形ＦＭＥは相似の関係にあり、角ＭＰＫがθであることから、角ＭＦＥもθである。
【００３２】
線分ＦＫの長さは以下の数１式で求められる。線分ＦＫの長さはすなわちｆ（ｘｉ）なので、数１式は数２式と書くことができる。さらに、θは固定値なので、ｃｏｓθは定数とみなすことが可能であり、ＥＦ／ｃｏｓθは補助テーブルｔｂｌとして予め計算して保存しておくことが可能である。数２式を補助テーブルとして変更すると数３式の形になる。
【００３３】
【数１】
2004213424.tif 000003
【００３４】
【数２】
2004213424.tif 000004
【００３５】
【数３】
2004213424.tif 000005
【００３６】
この際、ｙ＝ｎ（ｘ）に対して線分ＥＦと対称な線分ＧＨは同じ長さになる。本実施の形態では、この線分の長さＥＦとＧＨの対称性を利用する。すなわち、定義域の半分の量のテーブルを用意しておけば、残り半分のテーブルは必要ない。本実施の形態では、部分曲線ＡＢの範囲の定義域において、従来の技術の半分のメモリ領域で関数値を求めることが可能である。
【００３７】
点Ｄから右半分の部分曲線ＢＤの任意のｘｊに対応する関数値Ｆ（Ｘｊ）を求める際には、線分ＧＨの長さに対応する線分を決定する。点ＤのＸ座標をＸｃをすると、Ｘｃを中心に部分曲線ＡＤとＢＤとが折り返っている状態なので、関数値Ｆ（Ｘｉ）は数４式で求めることができる。
【００３８】
【数４】
2004213424.tif 000006
【００３９】
Ｘｉが部分曲線ＡＢ内に無い場合、すなわちＸｉ＜ＸａまたはＸｂ＜Ｘｉには、従来の技術と同じく全て関数値のテーブルを使用する。
【００４０】
図２は、本発明の実施の形態に適用される非線形関数値生成方法のフローチャートである。以下に、図２に示す本実施の形態に適用される非線形関数値生成方法のフローチャートを説明する。
【００４１】
図２において、Ｆ２０１では、ＸがＸａ以上かつＸｂ以下であるか否かを判断し、ＸがＸａ以上かつＸｂ以下であるときはステップＦ２０３に移行し、ＸがＸａ以上かつＸｂ以下でないときはステップＦ２０２に移行する。具体的には、ＸがＸａ以上かつＸｂ以下であるとき、すなわち非線形関数が対称になる領域にＸが入っているときはステップＦ２０３に移行し、ＸがＸａ以上かつＸｂ以下でないときはステップＦ２０２に移行する。
【００４２】
ステップＦ２０２では、Ｘに対応する関数値テーブル参照によりｆ（ｘ）が求まる。具体的には、Ｘに対応する関数値をテーブル参照することにより、関数値ｆ（ｘ）を求める。ここで使用する関数値テーブルは、処理の前に、各Ｘ（Ｘ＜Ｘａ、Ｘｂ＜ｘ）をエントリとして、対応する関数値を予め計算して静的な配列として用意しておく。
【００４３】
ステップＦ２０３では、Ｘに対応する補助テーブルを参照する。具体的には、Ｘに対応する補助テーブルｔｂｌ［ｘ］を参照する。ここで参照する補助テーブルは、処理の前に、各Ｘ（Ｘａ≦Ｘ≦Ｘｂ）に対して補助直線ｙ＝ｇ（ｘ）とｙ＝ｆ（ｘ）の差をｃｏｓθ（θはｙ＝ｇ（ｘ）とＸ軸とがなす角）で割ったものを予め計算して静的な配列として用意しておく。
【００４４】
ステップＦ２０４では、補助テーブルと直線ｙ＝ｇ（ｘ）によりｆ（ｘ）を求める。具体的には、補助テーブルｔｂｌ［ｘ］と直線の値ｇ（ｘ）によりｆ（ｘ）を求める。Ｘｃ＜Ｘならばｆ（ｘ）＝｜ｇ（ｘ）−ｔｂｌ［ｘ］｜が成立し、Ｘ≦Ｘｃならばｆ（ｘ）＝｜ｇ（ｘ）−ｔｂｌ［｜２Ｘｃ−ｘ｜］｜が成立する。
【００４５】
ステップＦ２０５では、Ｘの終端であるか否かを判断し、Ｘの終端であるときは終了し、Ｘの終端でないときはステップＦ２０６へ進む。具体的には、Ｘが定義域の終端ならば、求めるべき全てのＸについて関数値を生成したことになるので、非線形関数値生成処理は終了し、ｘが定義域の終端でないならばステップＦ２０６へ移行する。
【００４６】
ステップＦ２０６では、Ｘを更新して、ステップＦ２０１へ戻る。具体的には、ここでのＸの更新は、次に求めるべき関数値を決定するためのＸを決定することであり、逐次アクセスならばインクリメントの形になる。
【００４７】
図３は、本発明の実施の形態に適用されるハードウエアの関連を示すブロック図である。以下に、図３  に示す本実施の形態をプログラムで実現する装置の構成を説明する。
【００４８】
入力値格納メモリＢ１０１は、入力Ｘ格納領域から、非線形関数値を求めたい入力値を読み出す。
【００４９】
関数値算出方法決定装置Ｂ１０２は、非線形関数値を算出する方法を決定する装置であり、入力Ｘが本実施の形態を適用する領域の範囲内なら後述する関数値算出装置（２）Ｂ１０９の経路へ、そうでなければ関数値算出装置（１）Ｂ１０５の経路へ出力値を供給する。
【００５０】
一方の経路の関数値算出装置（１）Ｂ１０５は、関数値テーブル参照装置Ｂ１０３と、関数値テーブル格納メモリＢ１０４とを有して構成され、本実施の形態の適用範囲外の場合に非線形関数値を算出する非線形関数値算出装置である。
【００５１】
関数値テーブル参照装置Ｂ１０３は、非線形関数値を直接テーブルから参照する装置で、後段の関数値テーブル格納メモリＢ１０４から入力Ｘに対応する値を参照する。関数値テーブル格納メモリＢ１０４は、入力Ｘに対応する非線形関数値を格納しておくメモリである。
【００５２】
他方の経路の関数値算出装置（２）Ｂ１０９は、補助テーブル参照装置Ｂ１０６と、補助テーブル格納メモリＢ１０７と、関数値復元処理装置Ｂ１０８とを有して構成され、本実施の形態の適用範囲の場合に非線形関数値を算出する非線形関数値算出装置である。
【００５３】
補助テーブル参照装置Ｂ１０６は、入力Ｘに対応する補助テーブルから、非線形関数値と補助直線の差を読みだす装置である。
【００５４】
補助テーブル格納メモリＢ１０７は、入力Ｘに対応する非線形関数値と補助直線の差を格納しておくメモリである。
【００５５】
関数値復元処理装置Ｂ１０８は、入力Ｘに対応する非線形関数値を復元するための装置である。
【００５６】
出力関数値格納メモリＢ１１０は、出力された非線形関数値を格納するメモリである。
【００５７】
以上説明したように、本実施の形態によれば、本実施の形態の装置上に、非線形関数をソフトウエアで実装する際に、関数値および関数値と補助直線の差を、それぞれ範囲を区切って前者を関数値テーブル化、後者を補助テーブル化することで、補助テーブルは、その範囲内の定義域の半分の領域のテーブル化で実装できるため、定義域全てに対して関数値のテーブル化を行う場合に比べてメモリ使用量を削減することができ、また、補助テーブルを使用して関数値を求める際の処理は、関数ライブラリを使用して関数値を求める場合に比べて負荷が軽いため、計算機の処理量を削減して高速に実行することができる。
【００５８】
本実施の形態では、従来技術で問題のあった、非線形関数をソフトウエアに実装する際の、処理量とメモリ使用量の増加を両方とも抑えた実装方法であり、組み込み系マイクロコンピュータのソフトウエアなどの、計算機の処理量とメモリ使用量が限られた環境で適用することで効果がある。
【００５９】
例えば、音声圧縮技術のＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）  ＡＵＤＩＯにおいて、世間で広く使用されるＭＰＥＧ１Ａｕｄｉｏ  ｌａｙｅｒ３（いわゆるＭＰ３）のデコーダにおける逆量子化の計算は、数５式および数６式で表され、場合によって、２つの式が使い分けられる。
【００６０】
【数５】
2004213424.tif 000007
【００６１】
【数６】
2004213424.tif 000008
【００６２】
ここで、数５式および数６式において、ｉｓｉ  はｉ番目の量子化値、ｘｒｉ  は逆量子化値であり、他の数値は係数である。ｉｓｉ  が入力となり、出力として逆量子化値ｘｒｉ  を得る。数５式および数６式のどちらの式が使用される場合でも、｜ｉｓｉ  ｜４／３  の項をソフトウエアで処理する場合に、非線形関数値を求める処理が必要である。
【００６３】
このように、音声・画像などの信号処理のアルゴリズムには非線形関数が使用されていることがあるため、本実施の形態を適用することで効率の良い実装が可能である。
【００６４】
上述した本実施の形態に限らず、本発明の特許請求の範囲を逸脱しない限り適宜他の構成をとりうることは言うまでもない。
【００６５】
【発明の効果】
この発明の情報処理方法は、入力値格納メモリ、関数値算出方法決定部、関数値算出部および出力関数値格納メモリを有する非線形関数のソフトウエア実装装置上に、非線形関数をソフトウエアで実装する情報処理方法において、上記装置内に対称性がある部分が存在する非線形関数において、非線形関数値を算出する方法を決定する非線形関数値算出方法決定工程と、非線形関数値テーブルを読み込んで非線形関数値を求める非線形関数値読込工程と、法線方向に関して非線形関数が対称となる補助直線を決定する補助直線決定工程と、非線形関数値と補助直線の値との差を使用した補助テーブルを生成する補助テーブル生成工程と、非線形関数値と補助直線値との差を使用した補助テーブルを読み込んで非線形関数値を生成する非線形関数値生成工程と、非線形関数値を格納するメモリに非線形関数値を格納する非線形間数値格納工程と、定義域内の値を更新する定義域内値更新工程とを備えたので、装置上に、非線形関数をソフトウエアで実装する際に、関数値および関数値と補助直線の差を、それぞれ範囲を区切って前者を関数値テーブル化、後者を補助テーブル化することで、補助テーブルは、その範囲内の定義域の半分の領域のテーブル化で実装できるため、定義域全てに対して関数値のテーブル化を行う場合に比べてメモリ使用量を削減することができ、また、補助テーブルを使用して関数値を求める際の処理は、関数ライブラリを使用して関数値を求める場合に比べて負荷が軽いため、計算機の処理量を削減して高速に実行することができるという効果を奏する。
【００６６】
また、この発明の情報処理方法は、上述において、上記各工程は、音声信号または画像信号の符号化信号処理のアルゴリズムにおける非線形関数を求める際に適用するので、従来技術で問題のあった、非線形関数をソフトウエアに実装する際の、処理量とメモリ使用量の増加を両方とも抑えた実装方法であり、組み込み系マイクロコンピュータのソフトウエアなどの、計算機の処理量とメモリ使用量が限られた環境で適用することで、音声・画像などの信号処理のアルゴリズムには非線形関数が使用されていることがあるため、本発明を適用することで効率の良い実装を可能とすることができるという効果を奏する。
【００６７】
また、この発明の情報処理装置は、入力値格納メモリ、関数値算出方法決定部、関数値算出部および出力関数値格納メモリを有し、非線形関数をソフトウエアで実装する情報処理装置において、上記装置内に対称性がある部分が存在する非線形関数において、非線形関数値を算出する方法を決定する非線形関数値算出方法決定手段と、非線形関数値テーブルを読み込んで非線形関数値を求める非線形関数値読込手段と、法線方向に関して非線形関数が対称となる補助直線を決定する補助直線決定手段と、非線形関数値と補助直線の値との差を使用した補助テーブルを生成する補助テーブル生成手段と、非線形関数値と補助直線値との差を使用した補助テーブルを読み込んで非線形関数値を生成する非線形関数値生成手段と、非線形関数値を格納するメモリに非線形関数値を格納する非線形関数値格納手段と、定義域内の値を更新する定義域内値更新手段とを備えたので、装置上に、非線形関数をソフトウエアで実装する際に、関数値および関数値と補助直線の差を、それぞれ範囲を区切って前者を関数値テーブル化、後者を補助テーブル化することで、補助テーブルは、その範囲内の定義域の半分の領域のテーブル化で実装できるため、定義域全てに対して関数値のテーブル化を行う場合に比べてメモリ使用量を削減することができ、また、補助テーブルを使用して関数値を求める際の処理は、関数ライブラリを使用して関数値を求める場合に比べて負荷が軽いため、計算機の処理量を削減して高速に実行することができるという効果を奏する。
【００６８】
また、この発明の情報処理装置は、上述において、上記各手段は、音声信号または画像信号の符号化信号処理のアルゴリズムにおける非線形関数を求める際に適用するので、従来技術で問題のあった、非線形関数をソフトウエアに実装する際の、処理量とメモリ使用量の増加を両方とも抑えた実装方法であり、組み込み系マイクロコンピュータのソフトウエアなどの、計算機の処理量とメモリ使用量が限られた環境で適用することで、音声・画像などの信号処理のアルゴリズムには非線形関数が使用されていることがあるため、本発明を適用することで効率の良い実装を可能とすることができるという効果を奏する。
【００６９】
また、この発明の情報処理プログラムは、入力値格納メモリ、関数値算出方法決定部、関数値算出部および出力関数値格納メモリを有する非線形関数のソフトウエア実装装置上に、非線形関数をソフトウエアで実装する情報処理プログラムにおいて、上記装置内に対称性がある部分が存在する非線形関数において、非線形関数値を算出する方法を決定する非線形関数値算出方法決定工程と、非線形関数値テーブルを読み込んで非線形関数値を求める非線形関数値読込工程と、法線方向に関して非線形関数が対称となる補助直線を決定する補助直線決定工程と、非線形関数値と補助直線の値との差を使用した補助テーブルを生成する補助テーブル生成工程と、非線形関数値と補助直線値との差を使用した補助テーブルを読み込んで非線形関数値を生成する非線形関数値生成工程と、非線形関数値を格納するメモリに非線形関数値を格納する非線形関数値格納工程と、定義域内の値を更新する定義域内値更新工程とを備えたので、装置上に、非線形関数をソフトウエアで実装する際に、関数値および関数値と補助直線の差を、それぞれ範囲を区切って前者を関数値テーブル化、後者を補助テーブル化することで、補助テーブルは、その範囲内の定義域の半分の領域のテーブル化で実装できるため、定義域全てに対して関数値のテーブル化を行う場合に比べてメモリ使用量を削減することができ、また、補助テーブルを使用して関数値を求める際の処理は、関数ライブラリを使用して関数値を求める場合に比べて負荷が軽いため、計算機の処理量を削減して高速に実行することができるという効果を奏する。
【００７０】
また、この発明の情報処理プログラムは、上述において、上記各工程は、音声信号または画像信号の符号化信号処理のアルゴリズムにおける非線形関数を求める際に適用するので、従来技術で問題のあった、非線形関数をソフトウエアに実装する際の、処理量とメモリ使用量の増加を両方とも抑えた実装方法であり、組み込み系マイクロコンピュータのソフトウエアなどの、計算機の処理量とメモリ使用量が限られた環境で適用することで、音声・画像などの信号処理のアルゴリズムには非線形関数が使用されていることがあるため、本発明を適用することで効率の良い実装を可能とすることができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態を説明する概念図である。
【図２】本発明の実施の形態に適用される非線形関数値生成方法のフローチャートである。
【図３】本発明の実施の形態に適用されるハードウエアの関連を示すブロック図である。
【図４】ソフトウエアにおける非線形関数の実装を示す図である。
【図５】従来の非線形関数値生成方法１のフローチャートである。
【図６】従来の非線形関数値生成方法２のフローチャートである。
【符号の説明】
Ｂ１０１……入力値格納メモリ、Ｂ１０２……関数値算出方法決定装置、Ｂ１０３……関数値テーブル参照装置、Ｂ１０４……関数値テーブル格納メモリ、Ｂ１０５……関数値算出装置１、Ｂ１０６……補助テーブル参照装置、Ｂ１０７……補助テーブル格納メモリ、Ｂ１０８……関数値復元処理装置、Ｂ１１０……出力関数値格納メモリ
【図１】
2004213424.tif 000009
【図２】
2004213424.tif 000010
【図３】
2004213424.tif 000011
【図４】
2004213424.tif 000012
【図５】
2004213424.tif 000013
【図６】
2004213424.tif 000014