(57)【要約】【課題】ルックアップテーブル方式のテーブルメモリに格納されている値をより簡便且つ効率的に書き換えることのできるテーブル値変換装置及びテーブル値変換書き込み方法を提供する。【解決手段】ＲＯＭ３０から雛形となるテーブル値ＴＢを読み出すＣＰＵ１０の外部バスＯＢ上に変換モジュール２０を介在させる。この変換モジュール２０は、ＣＰＵ１０によってＲＯＭ３０から読み込まれて出力されるテーブル値ＴＢに対して補正演算を施しつつその補正されたテーブル値ＣＴＢをマクロ４０の持つＬＵＴのテーブル値に書き込むモジュールである。この変換モジュール２０による補正演算は、ＣＰＵ１０を通じて設定される変換パラメータに基づいて実行される。【選択図】図１
2007293827.tif 000002
【特許請求の範囲】
【請求項１】
雛形となるテーブル値が格納されているメモリから読み出されるテーブル値を補正し、特定の処理を行うハードウェアである機能マクロの別に設けられたルックアップテーブルのテーブル値を前記補正された値に基づいて書き換えるテーブル値変換装置であって、
前記メモリから雛形となるテーブル値を読み出す中央演算処理装置の外部バス上に、同中央演算処理装置から出力されるデータに対して特定の補正演算を施しつつこの演算値に基づき前記マクロの持つルックアップテーブルのテーブル値を変換する変換モジュールを介在させたことを特徴とするテーブル値変換装置。
【請求項２】
前記変換モジュールは、同変換モジュールに設定される変換パラメータに従って前記特定の補正演算を実行するものである請求項１に記載のテーブル値変換装置。
【請求項３】
前記変換モジュールに設定される変換パラメータが乗算値及び加算値及びクリップ下限値及びクリップ上限値からなり、前記乗算値をＭ、前記加算値をＡ、前記クリップ下限値をＬ、前記クリップ上限値をＨとし、前記中央演算処理装置から出力されるデータをＤＡＴＡｉｎ、前記変換モジュールが出力する演算値をＤＡＴＡｏｕｔとするとき、前記変換モジュールは、前記補正演算として、演算
ＤＡＴＡｏｕｔ＝ｍａｘ（Ｌ，ｍｉｎ（Ｈ，ＤＡＴＡｉｎ×Ｍ＋Ａ））
ただし、ｍａｘ（ａ，ｂ）：ａ，ｂのうちの大きい方を選択する関数
ｍｉｎ（ａ，ｂ）：ａ，ｂのうちの小さい方を選択する関数
を実行するものである請求項２に記載のテーブル値変換装置。
【請求項４】
前記変換モジュールにより前記特定の補正演算の施されたデータに基づき前記テーブル値が書き換えられた前記マクロの持つルックアップテーブルから前記中央演算処理装置によって読み出される該書き換え後のテーブル値を、前記特定の補正演算の施される前のデータに相当するデータに逆変換して、該逆変換後のデータを前記中央演算処理装置に出力する逆変換モジュールを備える請求項１又は２に記載のテーブル値変換装置。
【請求項５】
前記変換モジュールは、同変換モジュールに設定される変換パラメータに従って前記特定の補正演算を実行し、
前記逆変換モジュールは、前記変換パラメータに応じて該逆変換モジュールに設定される逆変換パラメータに従って前記逆変換を実行するものである請求項４に記載のテーブル値変換装置。
【請求項６】
前記変換モジュールには、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブルの所定アドレスが同変換モジュールにおける前記演算値の書き込み先のアドレスとして前記中央演算処理装置から入力され、
前記変換モジュールは、同変換モジュールに設定される変換パラメータ及び前記書き込み先のアドレスの少なくとも一方に応じて補正値を生成し、該補正値に従って前記特定の補正演算を実行する請求項１〜５にいずれか一項に記載のテーブル値変換装置。
【請求項７】
前記変換モジュールは、前記書き込み先のアドレスから所定の基準アドレスを減算して、該書き込み先のアドレスを、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブル内におけるアドレスに変換する請求項６に記載のテーブル値変換装置。
【請求項８】
前記変換モジュールには、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブルの所定アドレスが同変換モジュールにおける前記演算値の書き込み先のアドレスとして前記中央演算処理装置から入力され、
前記変換モジュールは、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブルを複数の領域に分割しつつ、前記書き込み先のアドレスの属する前記領域に応じて、前記補正値を生成するための第２演算器に入力される補正係数を設定する係数制御回路を備える請求項１〜７のいずれか一項に記載のテーブル値変換装置。
【請求項９】
雛形となるテーブル値が格納されているメモリから読み出されるテーブル値を補正し、特定の処理を行うハードウェアである機能マクロの別に設けられたルックアップテーブルのテーブル値を前記補正された値に基づき変換して当該ルックアップテーブルに書き込む方法であって、
前記メモリから雛形となるテーブル値を読み出す中央演算処理装置の外部バス上に、同中央演算処理装置から出力されるデータに対して特定の補正演算を施しつつこの演算値に基づき前記マクロの持つルックアップテーブルのテーブル値を変換する変換モジュールを介在させ、同マクロの持つルックアップテーブルへのテーブル値の書き換え時には、この変換モジュールを通じて補正演算された演算値を該当するルックアップテーブルに対して書き込むようにしたことを特徴とするテーブル値変換書き込み方法。
【請求項１０】
特定のマクロのルックアップテーブルに対応して前記変換モジュールに前記特定の補正演算のための変換パラメータを設定した後、
ａ．前記中央演算処理装置を通じて前記メモリから前記雛形となるテーブル値を１アドレス分だけ読み込む処理、
ｂ．この読み込みに対応して前記中央演算処理装置から前記特定のマクロのルックアップテーブルに対して書き込むべく出力される当該テーブル値を前記変換モジュールを通じて前記設定された変換パラメータに基づく補正演算により変換する処理、
ｃ．この変換されたテーブル値を前記特定のマクロのルックアップテーブルの所定のアドレスに書き込む処理、
といったａ．〜ｃ．の処理を、前記メモリからのテーブル値読み込みアドレスと前記特定のマクロのルックアップテーブルへのテーブル値書き込みアドレスとをインクリメントしつつ、前記ルックアップテーブルの全てのテーブル値が書き換わるまで繰り返し実行する請求項９に記載のテーブル値変換書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルックアップテーブルとして格納されているテーブルメモリの値を変換する上で有益なテーブル値変換装置及びテーブル値変換書き込み方法に関するものである。
【背景技術】
【０００２】
通常、電子カメラ、デジタル複写機、レーザプリンタ等には、取得したデジタル画像データを所要に変換処理する画像処理装置が備えられている。そして、この種の画像処理装置には一般に、ルックアップテーブル（ＬＵＴ）方式のテーブルメモリが設けられており、このテーブルメモリに例えば色補正値として格納されているテーブル値に基づいて画像データを変換することにより色補正が行われる。具体的には、取得した画像データをアドレスとして上記テーブルメモリをアクセスし、そのアドレスに対応したテーブル値を同テーブルメモリから読み出すことによって、この取得した画像データに対する色補正が実行される。
【０００３】
ところで、このようなＬＵＴ方式のテーブルメモリを用いて色補正を行う画像処理装置では、例えば出力する画像データのガンマ補正や、コントラスト又は彩度等の特性を強調すべく、上記テーブルメモリに格納されたテーブル値の書き換えが必要になることがある。そこで従来より、このようなテーブルメモリの書き換えを実現するための方法として、図１３に例示するようないくつかの方法が提案されている。まず、その第１の方法では、図１３（ａ）に示すように、各種特性に対応する複数のテーブルメモリＴＭを予めＲＯＭ６０に備えるとともに、例えばコントラストを強調させたいときにその特性に対応するテーブルメモリＴＭをＣＰＵ６１を通じて読み込む。そして、その読み込んだテーブルメモリＴＭの値に基づいてマクロ６２の持つＬＵＴ６３を書き換えるようにしている（例えば特許文献１参照）。
【０００４】
また、第２の方法では、図１３（ｂ）に示すように、予め基準となる基準テーブルメモリＳＴＭをＲＯＭ６０に備えるとともに、ＣＰＵ６４を通じてその基準テーブルメモリＳＴＭから読み込んだ値を適宜に補正し、この補正した値に基づいてマクロ６２の持つＬＵＴ６３を書き換えるようにしている（例えば特許文献２参照）。
【０００５】
そして、第３の方法として、図１３（ｃ）に示すように、ＬＵＴ６３を有するマクロ６２に対して専用の演算器６５を設置するようにし、ＬＵＴ６３を介して出力される画像データをこの演算器６５を通じて所要に演算処理することによって、上記取得した画像データに必要とされる補正や強調処理等を施すようにした方法なども考えられている。
【特許文献１】特開平６−７０１６５号公報
【特許文献２】特開平６−１３３１５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
これらいずれの方法を採用する場合であれ、ＬＵＴ方式のテーブルメモリに格納されているテーブル値の書き換え、もしくはテーブル値の演算処理が行われることで、上記取得した画像データに対する各種補正等は確かに可能となる。ただし、これらいずれの方法も、実用上はそれぞれ以下のような不都合の存在が無視できず、いまだ改良の余地を残すものとなっている。
【０００７】
すなわち、図１３（ａ）に示した第１の方法の場合には、通常、プログラムメモリとして用いられるＲＯＭ６０内に複数のテーブルメモリＴＭを用意することになるため、ＲＯＭ６０自体のメモリ容量が増大するという問題がある。また、図１３（ｂ）に示した第２の方法の場合には、ＣＰＵ６４が補正演算を行うことになるため、その演算負荷が増大し、ひいては画像処理にかかる全体の処理時間が増大してしまうといった問題がある。そして、図１３（ｃ）に示した第３の方法の場合には、一つのマクロに対して専用の一つの演算器を設置する必要があるため、マクロが増加するとそれに合わせて演算器も増加せざるを得ず、コストの増大が避けられない。
【０００８】
本発明は上記問題点を解決するためになされたものであって、その目的は、ルックアップテーブル方式のテーブルメモリに格納されている値をより簡便且つ効率的に書き換えることのできるテーブル値変換装置及びテーブル値変換書き込み方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、請求項１に記載の発明では、雛形となるテーブル値が格納されているメモリから読み出されるテーブル値を補正し、特定の処理を行うハードウェアである機能マクロの別に設けられたルックアップテーブルのテーブル値を前記補正された値に基づいて書き換えるテーブル値変換装置であって、前記メモリから雛形となるテーブル値を読み出す中央演算処理装置の外部バス上に、同中央演算処理装置から出力されるデータに対して特定の補正演算を施しつつこの演算値に基づき前記マクロの持つルックアップテーブルのテーブル値を変換する変換モジュールを介在させることとした。
【００１０】
このような構成によれば、中央演算処理装置すなわちＣＰＵは、単に上記メモリから雛形となるテーブル値を読み出してこれをその外部バス（データバス）に出力するのみで、この出力されたテーブル値が、上記外部バス上に介在する変換モジュールによる補正演算を通じて自動的に変換されて対応するマクロの持つルックアップテーブルに書き込まれるようになる。これにより、上記メモリ（ＲＯＭ）に格納すべきテーブル値についてはこれを最小限に抑えることができるとともに、ＣＰＵの演算負荷も大幅に軽減されるようになり、しかも、上記マクロの別にたとえ複数のルックアップテーブルが設けられる場合であれ、単一の変換モジュールを通じてそれらルックアップテーブルに書き込むべきテーブル値を変換することが可能となる。すなわち、簡便な構成でありながら、極めて効率のよいテーブル値の変換が実現されるようになる。
【００１１】
請求項２に記載の発明では、前記変換モジュールは、同変換モジュールに設定される変換パラメータに従って前記特定の補正演算を実行することとした。変換モジュールをこのような構成とすることにより、上記補正演算にかかる自由度が増し、ひいては各種マクロの内容に応じたテーブル値の変換等も可能となる。
【００１２】
請求項３に記載の発明では、前記変換モジュールに設定される変換パラメータが乗算値及び加算値及びクリップ下限値及びクリップ上限値からなり、前記乗算値をＭ、前記加算値をＡ、前記クリップ下限値をＬ、前記クリップ上限値をＨとし、前記中央演算処理装置から出力されるデータをＤＡＴＡｉｎ、前記変換モジュールが出力する演算値をＤＡＴＡｏｕｔとするとき、前記変換モジュールは、前記補正演算として、演算
ＤＡＴＡｏｕｔ＝ｍａｘ（Ｌ，ｍｉｎ（Ｈ，ＤＡＴＡｉｎ×Ｍ＋Ａ））
ただし、ｍａｘ（ａ，ｂ）：ａ，ｂのうちの大きい方を選択する関数
ｍｉｎ（ａ，ｂ）：ａ，ｂのうちの小さい方を選択する関数
を実行することとした。変換モジュールによる補正演算としてこのような演算手法を導入することにより、基本的には上記乗算値Ｍや加算値Ａの設定を通じた自由度の高いテーブル値の変換が可能になるとともに、上記クリップ下限値Ｌ及びクリップ上限値Ｈの併用を通じて、いわばノイズ成分となるような所定の範囲から大きく外れるテーブル値の出現を好適に抑制することができるようにもなる。
【００１３】
請求項４に記載の発明では、前記変換モジュールにより前記特定の補正演算の施されたデータに基づき前記テーブル値が書き換えられた前記マクロの持つルックアップテーブルから前記中央演算処理装置によって読み出される該書き換え後のテーブル値を、前記特定の補正演算の施される前のデータに相当するデータに逆変換して、該逆変換後のデータを前記中央演算処理装置に出力する逆変換モジュールを備えることとした。
【００１４】
このような構成によれば、中央演算処理装置から出力されるライトデータとしてのテーブル値と、リードデータとして中央演算処理装置に入力されるテーブル値、すなわち逆変換後のデータとを同一値にすることができる。従って、例えばライトデータとリードデータとが不一致の場合に書き込みエラーと判断してしまうＩＣＥ（In-Circuit Emulator）を中央演算処理装置として利用した場合であっても、書き込みエラーと判断されることを好適に抑制することができる。
【００１５】
請求項５に記載の発明では、前記変換モジュールは、同変換モジュールに設定される変換パラメータに従って前記特定の補正演算を実行することとした。変換モジュールをこのような構成とすることにより、上記補正演算にかかる自由度が増し、ひいては各種マクロの内容に応じたテーブル値の変換等も可能となる。また、前記逆変換モジュールは、前記変換パラメータに応じて該逆変換モジュールに設定される逆変換パラメータに従って前記逆変換を実行することとした。この逆変換モジュールに設定される逆変換パラメータにより、自由度の高い補正演算によって変換されたテーブル値についても確実に逆変換を実行することができる。
【００１６】
請求項６に記載の発明では、前記変換モジュールには、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブルの所定アドレスが同変換モジュールにおける前記演算値の書き込み先のアドレスとして前記中央演算処理装置から入力され、前記変換モジュールは、同変換モジュールに設定される変換パラメータ及び前記書き込み先のアドレスの少なくとも一方に応じて補正値を生成し、該補正値に従って前記特定の補正演算を実行することとした。
【００１７】
変換モジュールをこのような構成とすることにより、例えば書き込み先のアドレスを利用して補正値を生成した場合には、書き込み先のアドレスに応じて変動する補正値を生成することができ、その補正値を通じて上記補正演算にかかる自由度をさらに向上させることができる。
【００１８】
請求項７に記載の発明では、前記変換モジュールは、前記書き込み先のアドレスから所定の基準アドレスを減算して、該書き込み先のアドレスを、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブル内におけるアドレスに変換することとした。
【００１９】
変換モジュールをこのような構成とすることにより、中央演算処理装置により書き込み先に指定されるマクロの持つルックアップテーブル内におけるアドレスに応じて変動する補正値を生成することができる。そして、その生成された補正値を通じて、上記補正演算にかかる自由度がさらに増し、ひいては各種マクロの内容に応じたテーブル値の変換等も可能となる。
【００２０】
請求項８に記載の発明では、前記変換モジュールには、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブルの所定アドレスが同変換モジュールにおける前記演算値の書き込み先のアドレスとして前記中央演算処理装置から入力され、前記変換モジュールは、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブルを複数の領域に分割しつつ、前記書き込み先のアドレスの属する前記領域に応じて、前記補正値を生成するための第２演算器に入力される補正係数を設定する係数制御回路を備えることとした。
【００２１】
このような構成によれば、係数制御回路により、書き込み先に指定されるマクロの持つルックアップテーブルの各領域毎に、異なる補正係数を設定することが可能となる。この補正係数を通じて、上記補正演算に利用される補正値の設定の自由度を向上させることができる。
【００２２】
請求項９に記載の発明では、雛形となるテーブル値が格納されているメモリから読み出されるテーブル値を補正し、特定の処理を行うハードウェアである機能マクロの別に設けられたルックアップテーブルのテーブル値を前記補正された値に基づき変換して当該ルックアップテーブルに書き込むテーブル値変換書き込み方法であって、前記メモリから雛形となるテーブル値を読み出す中央演算処理装置の外部バス上に、同中央演算処理装置から出力されるデータに対して特定の補正演算を施しつつこの演算値に基づき前記マクロの持つルックアップテーブルのテーブル値を変換する変換モジュールを介在させ、同マクロの持つルックアップテーブルへのテーブル値の書き換え時には、この変換モジュールを通じて補正演算された演算値を該当するルックアップテーブルに対して書き込むこととした。
【００２３】
テーブル値に関するこのような書き込み方法により、中央演算処理装置すなわちＣＰＵは、単に上記メモリから雛形となるテーブル値を読み出してこれをその外部バス（データバス）に出力するのみで、この出力されたテーブル値が、上記外部バス上に介在する変換モジュールによる補正演算を通じて自動的に変換されて対応するマクロの持つルックアップテーブルに書き込まれるようになる。これにより、上記メモリ（ＲＯＭ）に格納すべきテーブル値についてはこれを最小限に抑えることができるとともに、ＣＰＵの演算負荷も大幅に軽減されるようになり、しかも、上記マクロの別にたとえ複数のルックアップテーブルが設けられる場合であれ、単一の変換モジュールを通じてそれらルックアップテーブルに書き込むべきテーブル値を変換することが可能となる。すなわち、簡便な構成でありながら、極めて効率のよいテーブル値の変換が実現されるようになる。
【００２４】
請求項１０に記載の発明では、特定のマクロのルックアップテーブルに対応して前記変換モジュールに前記特定の補正演算のための変換パラメータを設定した後、
ａ．前記中央演算処理装置を通じて前記メモリから前記雛形となるテーブル値を１アドレス分だけ読み込む処理、
ｂ．この読み込みに対応して前記中央演算処理装置から前記特定のマクロのルックアップテーブルに対して書き込むべく出力される当該テーブル値を前記変換モジュールを通じて前記設定された変換パラメータに基づく補正演算により変換する処理、
ｃ．この変換されたテーブル値を前記特定のマクロのルックアップテーブルの所定のアドレスに書き込む処理、
といったａ．〜ｃ．の処理を、前記メモリからのテーブル値読み込みアドレスと前記特定のマクロのルックアップテーブルへのテーブル値書き込みアドレスとをインクリメントしつつ、前記ルックアップテーブルの全てのテーブル値が書き換わるまで繰り返し実行することとした。このようなテーブル値の変換書き込み方法を通じて、いかなるマクロに関してもそのルックアップテーブルに対する確実なテーブル値の書き換えが可能となる。
【発明の効果】
【００２５】
以上説明したように、本発明によれば、ルックアップテーブル方式のテーブルメモリに格納されている値をより簡便且つ効率的に書き換えることができる。
【発明を実施するための最良の形態】
【００２６】
（第１実施形態）
以下、本発明にかかるテーブル値変換装置及びテーブル値変換書き込み方法の第１実施形態を図１〜図３に従って説明する。図１は、本実施形態にかかるテーブル変換装置の全体構成をブロック図として示したものである。
【００２７】
同図１に示されるように、このテーブル値変換装置は、大きくは、中央演算処理装置（ＣＰＵ）１０と、同ＣＰＵ１０の外部バスＯＢ上に介在するように設けられた変換モジュール２０と、同外部バスＯＢに共通接続されたＲＯＭ３０及びマクロ４０とを備えて構成されている。
【００２８】
ここで、上記ＣＰＵ１０は、画像取込装置などによって取得されるデジタル画像データ等に基づきそのデータを変換する変換指令やテーブル値変換書き込み指令等をマクロ４０（正確にはそのうちの特定のマクロ）に与えるなど、画像処理等にかかる処理を統括的に制御する部分である。
【００２９】
また、上記マクロ４０は、特定の画像処理等の処理を行うハードウェア群であり、ここでの例では、マクロＡ４１、マクロＢ４２及びマクロＣ４３といった３種のマクロを含む複数のマクロから構成されている。そして、各マクロＡ４１〜マクロＣ４３は、ルックアップテーブル方式のテーブルメモリとして各々特性の異なるＬＵＴ５１、５２及び５３を有しており、通常は、ＣＰＵ１０から上記変換指令とともに何らかのデータ（値）が与えられることで、これを自らが持つＬＵＴに基づき変換するなどの処理を行う。
【００３０】
また、これら各マクロＡ４１〜マクロＣ４３と上記ＣＰＵ１０との間の外部バスＯＢ上に介在する上記変換モジュール２０は、乗算・加算・クリップ等の演算機能を有して、主に上記ＬＵＴ５１〜５３のテーブル値変換書き込みを実行する際のＣＰＵ１０の処理を補助、仲介する部分である。すなわち、このテーブル値変換書き込みの実行に際し、上記ＣＰＵ１０は、外部バスＯＢに共通接続されている上記ＲＯＭ３０からＬＵＴ書き換え用の雛形となる基準テーブルメモリＳＴＭのテーブル値ＴＢを読み込んで、この読み込んだテーブル値ＴＢを外部バスＯＢを介して変換モジュール２０に出力する。またこれに先立ち、ＣＰＵ１０は、設定信号ＳＳを通じて、上記テーブル値ＴＢの補正演算に用いるための変換パラメータを変換モジュール２０に対して設定する。ちなみに、ここでＣＰＵ１０が変換モジュール２０に対して設定する変換パラメータには、後に詳述するように、乗算値Ｍ、加算値Ａ、クリップ上限値Ｈ及びクリップ下限値Ｌがある。こうして変換パラメータが設定され、且つテーブル値ＴＢが与えられた変換モジュール２０は、その与えられたテーブル値ＴＢに対して上記設定された変換パラメータに基づく補正演算を実行し、その補正したテーブル値ＣＴＢを上記マクロ４０のうちＣＰＵ１０によって指定されている特定のマクロに出力する。これにより、該当するマクロのＬＵＴがこの補正されたテーブル値ＣＴＢによって更新、すなわち書き換えられることとなる。
【００３１】
このように、この実施形態では、上記変換モジュール２０をＣＰＵ１０の外部バスＯＢ上に介在させたことで、テーブル値の変換に際しても、ＣＰＵ１０は、単に上記ＲＯＭ３０から雛形となる基準テーブルメモリＳＴＭのテーブル値ＴＢを読み込んでこれを同外部バスＯＢに出力するのみで済むようになる。そして、こうして出力されたテーブル値ＴＢが上記変換モジュール２０による補正演算を通じて自動的に変換されて、指定されているマクロの持つＬＵＴに書き込まれるようになる。
【００３２】
なお、上記変換モジュール２０は、ＣＰＵ１０によるＲＯＭ３０からのテーブル値ＴＢの読み込み時には、このＲＯＭ３０から読み出されたテーブル値ＴＢをそのままＣＰＵ１０に出力するように設定されている。また、同変換モジュール２０は、上記各マクロのＬＵＴを通じた通常のデータ変換処理（画像処理）の実行時には動作しないようにも設定されている。すなわち、この実施形態のテーブル値変換装置にあって、ＬＵＴを通じたこのようなデータ変換処理の実行中は変換モジュール２０がいわゆる「スルー」状態となるように設定されている。
【００３３】
図２は、この実施形態のテーブル値変換装置に採用されている変換モジュール２０の特に上記テーブル値変換を行う補正演算回路についてその内部構成例を示したブロック図であり、以下、この図２を参照して、同変換モジュール２０による補正演算態様について詳述する。
【００３４】
この変換モジュール２０は、その補正演算回路として、基本的には、乗算器２１と、加算器２２と、クリップ回路２３とを備えている。このうち、乗算器２１には、ＣＰＵ１０からの設定信号ＳＳによってレジスタ等に設定される変換パラメータである乗算値Ｍが入力される。そして、この乗算器２１は、上記ＣＰＵ１０から入力される基準テーブルメモリＳＴＭのテーブル値ＴＢである入力データＤＡＴＡｉｎに上記乗算値Ｍを乗算してその演算値Ｖ１を加算器２２に出力する。また、加算器２２には、同じくＣＰＵ１０からの設定信号ＳＳによってレジスタ等に設定される変換パラメータである加算値Ａが入力される。そして、この加算器２２は、上記演算値Ｖ１に上記加算値Ａを加算してその演算値Ｖ２をクリップ回路２３に出力する。
【００３５】
一方、クリップ回路２３は、第１及び第２比較器２５Ａ，２５Ｂと、第１及び第２選択回路２６Ａ，２６Ｂを備えている。そしてこのクリップ回路２３において、上記演算値Ｖ２はまず、第１比較器２５Ａ及び第１選択回路２６Ａに入力される。ここで、第１比較器２５Ａには、上記加算器２２から入力される演算値Ｖ２に併せて、上述同様、ＣＰＵ１０からの設定信号ＳＳによってレジスタ等に設定される変換パラメータであるクリップ上限値Ｈが入力される。そして、この第１比較器２５Ａでは、上記演算値Ｖ２とクリップ上限値Ｈとを比較して、演算値Ｖ２がクリップ上限値Ｈよりも大きいか否かを示す比較信号Ｓ１を第１選択回路２６Ａに出力する。ここで、この第１選択回路２６Ａにも、第１比較器２５Ａと同様に、演算値Ｖ２とクリップ上限値Ｈとが入力されており、この第１選択回路２６Ａでは、第１比較器２５Ａから与えられる比較信号Ｓ１に基づき、演算値Ｖ２及びクリップ上限値Ｈのうちのいずれか小さい方を選択してこれを出力するように動作する。すなわち、演算値Ｖ２がクリップ上限値Ｈよりも小さい場合には演算値Ｖ２が、またクリップ上限値Ｈが演算値Ｖ２よりも小さい場合にはクリップ上限値Ｈが、それぞれ出力値Ｖ３としてこの第１選択回路２６Ａから第２比較器２５Ｂ及び第２選択回路２６Ｂに対して出力される。このうち、第２比較器２５Ｂには、この出力値Ｖ３に併せて、やはりＣＰＵ１０からの設定信号ＳＳによってレジスタ等に設定される変換パラメータであるクリップ下限値Ｌが入力される。そして、この第２比較器２５Ｂでは、第１選択回路２６Ａによる出力値Ｖ３とクリップ下限値Ｌとを比較して、出力値Ｖ３がクリップ下限値Ｌより小さいか否かを示す比較信号Ｓ２を第２選択回路２６Ｂに出力する。この第２選択回路２６Ｂにも、第２比較器２５Ｂと同様に、第１選択回路２６Ａによる出力値Ｖ３とクリップ下限値Ｌとが入力されており、この第２選択回路２６Ｂでは、上記第２比較器２５Ｂから与えられる比較信号Ｓ２に基づき、出力値Ｖ３又はクリップ下限値Ｌのうちのいずれか大きい方を選択してこれを出力するように動作する。すなわち、第１選択回路２６Ａによる出力値Ｖ３がクリップ下限値Ｌよりも大きい場合には出力値Ｖ３が、またクリップ下限値Ｌが上記出力値Ｖ３よりも大きい場合にはクリップ下限値Ｌが、それぞれ当該変換モジュール２０の出力データＤＡＴＡｏｕｔとしてこの第２選択回路２６Ｂからマクロ４０に対して出力される。
【００３６】
このように、ここで採用される変換モジュール２０は、上記ＣＰＵ１０から入力される上記基準テーブルメモリＳＴＭのテーブル値ＴＢ、すなわち入力データＤＡＴＡｉｎに対して、補正演算
ＤＡＴＡｏｕｔ＝ｍａｘ（Ｌ，ｍｉｎ（Ｈ，ＤＡＴＡｉｎ×Ｍ＋Ａ））・・・（１）
ただし、ｍａｘ（ａ，ｂ）：ａ，ｂのうちの大きい方を選択する関数
ｍｉｎ（ａ，ｂ）：ａ，ｂのうちの小さい方を選択する関数
を実行して出力データＤＡＴＡｏｕｔを得るモジュールである。これによって、上記乗算値Ｍや加算値Ａを通じた自由度の高いテーブル値の変換が可能になるとともに、上記クリップ上限値Ｈ及びクリップ下限値Ｌの併用を通じて、いわばノイズ成分となるような所定の範囲から大きく外れるテーブル値の出現を抑制して入力データＤＡＴＡｉｎを変換することが可能になる。なお、雛形である上記基準テーブルメモリＳＴＭのテーブル値ＴＢのままマクロ４０のＬＵＴに書き込む場合には、このテーブル値ＴＢをそのままマクロ４０に出力するような設定がＣＰＵ１０によってなされる。
【００３７】
図３は、こうしたテーブル値変換装置を用いたテーブル値変換書き込み方法についてその処理手順をフローチャートとして示したものであり、次に、この図３に基づいて同変換書き込み方法をさらに詳述する。なおここでは、上記マクロＡ４１〜マクロＣ４３のうち、マクロＡ４１が持つＬＵＴ５１へのテーブル値変換書き込みを例にとって説明する。
【００３８】
このマクロＡ４１へのテーブル値変換書き込みに際し、上記ＣＰＵ１０はまず、ステップ１の処理として、上記設定信号ＳＳを変換モジュール２０に出力して、上記変換モジュール２０にマクロＡ４１のＬＵＴ５１に対応した変換パラメータ、すなわち乗算値Ｍ、加算値Ａ、クリップ上限値Ｈ及びクリップ下限値Ｌを設定する。ちなみにこの処理は、例えばユーザによって変換パラメータが入力設定されることに基づきＣＰＵ１０がその旨を判断し、上記設定信号ＳＳを通じてその設定内容に応じた変換パラメータを変換モジュール２０に与えることによって行われる。また、ＣＰＵ１０によって、その都度の撮像環境等に応じた変換パラメータが自動的に変換モジュール２０に設定されるようにしてもよい。そして、次にステップ２の処理として、ＣＰＵ１０は、上記ＲＯＭ３０から雛形となる基準テーブルメモリＳＴＭのアドレスｉのテーブル値ＴＢを１アドレス分だけ読み込む。ちなみにこの処理は、例えばＲＯＭ３０の基準テーブルメモリＳＴＭがアドレス０〜２５５のテーブル値ＴＢを有する場合には、アドレス０のテーブル値ＴＢから順に１アドレスずつ読み込む処理として行われる。
【００３９】
このようにテーブル値ＴＢを読み込むと、ＣＰＵ１０は、次にステップ３の処理として、その読み込んだテーブル値ＴＢを、マクロＡ４１が持つＬＵＴ５１の同一のアドレスｉに書き込むべく外部バスＯＢに出力する。すなわち、上記ステップ２でＲＯＭ３０からアドレス０のテーブル値ＴＢが読み込まれた場合には、ＣＰＵ１０はそのテーブル値ＴＢを、マクロＡ４１が持つＬＵＴ５１のアドレス０のテーブル値を書き換えるための値として出力する。
【００４０】
次にステップ４の処理として、上記変換モジュール２０は、このＣＰＵ１０から出力されたテーブル値ＴＢに対して上記ステップ１で設定された変換パラメータに基づく補正演算を施し補正処理を行う。具体的には、ＣＰＵ１０から出力されるテーブル値ＴＢを入力データＤＡＴＡｉｎとし、補正後のテーブル値ＣＴＢを出力データＤＡＴＡｏｕｔとして、上記（１）式の補正演算を実行する。
【００４１】
こうしてテーブル値ＴＢが補正されると、変換モジュール２０は次に、ステップ５の処理として、この出力データＤＡＴＡｏｕｔ、すなわち補正後のテーブル値ＣＴＢをマクロＡ４１に出力する。すなわち、上記ステップ３でのＣＰＵ１０による書き込み指令に従って、マクロＡ４１の持つＬＵＴ５１の所定のアドレスｉにこの補正後のテーブル値ＣＴＢを書き込む。この処理によって、マクロＡ４１のＬＵＴ５１のアドレスｉのテーブル値が補正後のテーブル値ＣＴＢに書き換えられる。
【００４２】
その後、ステップ６の処理として、上記ＲＯＭ３０からのテーブル値読み込みアドレス及び上記マクロＡ４１のＬＵＴ５１へのテーブル値書き込みアドレスであるアドレスｉの値と、ＲＯＭ３０の基準テーブルメモリＳＴＭ及びマクロＡ４１のＬＵＴ５１の総アドレス数ｋとを比較する。この結果、アドレスｉが総アドレス数ｋ未満であると判断された場合には、ＣＰＵ１０は、次にステップ７の処理として、アドレスｉをインクリメントして、上記ステップ２の処理に戻る。そして、アドレスｉが総アドレス数ｋに達するまで、すなわち全てのアドレスのテーブル値が書き変わるまで、これらステップ２〜７の処理を繰り返し実行する。そして、ステップ６の処理において、アドレスｉが総アドレス数ｋに達したと判断されると、このマクロＡ４１のＬＵＴ５１へのテーブル値変換書き込みを終了する。これによって、マクロＡ４１のＬＵＴ５１のテーブル値を全て、しかも確実に変換することができるようになる。
【００４３】
以上詳述した本実施形態によれば、以下のような効果が得られるようになる。
（１）ＣＰＵ１０とマクロ４０との間に、すなわち外部バスＯＢ上に介在するかたちで、基準のテーブル値ＴＢに対して補正演算を施しつつその補正されたテーブル値ＣＴＢをマクロ４０の持つＬＵＴに変換書き込みする変換モジュール２０を設けた。これにより、単一の変換モジュール２０を通じて複数のマクロのＬＵＴに対するテーブル値ＴＢの変換書き込みが可能となるため、コストを低減することができるようになる。また、上記ＲＯＭ３０に格納すべき基準テーブルメモリＳＴＭについてもこれを最小限の容量に抑えることができるため、メモリ容量の増大を抑制することができるようになる。しかも、この変
換モジュール２０によって、ＣＰＵ１０の演算負荷も大幅に軽減されるため、処理時間を短縮することができるようにもなる。すなわち、簡便な構成でありながら、各マクロの持つＬＵＴへのテーブル値変換書き込みを極めて効率よく実現することが可能になる。
【００４４】
（２）変換モジュール２０は、ＣＰＵ１０によって設定される変換パラメータ、すなわち乗算値Ｍ、加算値Ａ、クリップ上限値Ｈ及びクリップ下限値Ｌに基づき、補正演算
ＤＡＴＡｏｕｔ＝ｍａｘ（Ｌ，ｍｉｎ（Ｈ，ＤＡＴＡｉｎ×Ｍ＋Ａ））・・・（１）を実行して、ＣＰＵ１０からの入力データＤＡＴＡｉｎ（テーブル値ＴＢ）をデータＤＡＴＡｏｕｔ（テーブル値ＣＴＢ）に変換するものとした。これにより、上記乗算値Ｍや加算値Ａを通じた自由度の高いテーブル値の変換が可能になるとともに、上記クリップ上限値Ｈ及びクリップ下限値Ｌの併用を通じて、いわばノイズ成分となるような所定の範囲から大きく外れるテーブル値の出現を好適に抑制することができるようになる。
【００４５】
（３）上記ＲＯＭ３０及びマクロＡ４１〜マクロＣ４３を上記変換モジュール２０が介在するＣＰＵ１０の外部バスＯＢに共通接続した。これにより、外部バスＯＢの利用効率が高められるようになるとともに、特にＲＯＭ３０を上記変換モジュール２０の後段にバス接続するようにしたことで、装置全体としての設計自由度も高められるようになる。
【００４６】
（４）各ＬＵＴ５１〜５３を用いた通常のデータ変換（画像処理）時には、上記変換モジュール２０が動作しないように設定することとした。これにより、通常のデータ変換（画像処理）時における不要な電力の消費を抑えることができるようになる。
【００４７】
（第２実施形態）
以下、本発明にかかるテーブル値変換装置の第２実施形態を図４〜図６に従って説明する。この実施形態のテーブル値変換装置は、変換モジュールが上記第１実施形態と異なっている。以下、第１実施形態との相違点を中心に説明する。
【００４８】
図４は、本実施形態のテーブル値変換装置に採用されている変換モジュール７０の特にテーブル値変換を行う補正演算回路についてその内部構成例を示したブロック図である。
図４に示すように、この変換モジュール７０は、その補正演算回路として、基本的には、減算器７１と、第２演算器を構成する乗算器７２及び加算器７３とを備えている。このうち、減算器７１には、ＣＰＵ１０によって指定される特定のマクロのＬＵＴのアドレスＡｄｄｒが該ＣＰＵ１０から入力される。すなわち、変換モジュール７０に入力されるテーブル値ＴＢの補正後のテーブル値ＣＴＢが書き込まれるマクロのアドレスＡｄｄｒがＣＰＵ１０から減算器７１に入力される。
【００４９】
図５は、ＣＰＵ１０から見たＲＯＭ３０及びマクロ４０のアドレスマップである。図５に示すように、アドレス０００Ｈ〜０ＦＦＨがＲＯＭ３０、アドレス１８０Ｈ〜２７ＦＨがマクロＡ４１のＬＵＴ５１、アドレス２８０Ｈ〜３７ＦＨがマクロＢ４２のＬＵＴ５２、アドレス４００Ｈ〜４ＦＦＨがマクロＣ４３のＬＵＴ５３にそれぞれ割り当てられている。なお、周知ではあるが、「Ｈ」はその値が１６進数であることを示す。
【００５０】
また、上記減算器７１には、ＣＰＵ１０からの設定信号ＳＳによって設定される基準アドレスＲＡが入力される。そして、減算器７１は、上記アドレスＡｄｄｒから上記基準アドレスＲＡを減算し、その減算により得られる補正値Ｃ１を乗算器７２に出力する。本実施形態では、ＣＰＵ１０によって指定されるマクロがマクロＡ４１のときには、基準アドレスＲＡがマクロＡ４１のＬＵＴ５１の先頭アドレス１８０Ｈに設定される。また、ＣＰＵ１０によって指定されるマクロがマクロＢ４２のときには、基準アドレスＲＡがマクロＢ４２のＬＵＴ５２の先頭アドレス２８０Ｈに設定される。また、ＣＰＵ１０によって指定されるマクロがマクロＣ４３のときには、基準アドレスＲＡがマクロＣ４３のＬＵＴ５３の先頭アドレス４００Ｈに設定される。すなわち、本実施形態では、図６に示すように、各マクロ４０のＬＵＴの先頭アドレスがアドレスＡｄｄｒして変換モジュール７０に入力されたときに、補正値Ｃ１が「０」になるように基準アドレスＲＡが設定されている。なお、ここでの補正値Ｃ１は、ＣＰＵ１０によって指定される特定のマクロの持つＬＵＴ内におけるアドレスとなり、ＣＰＵ１０から入力されるアドレスＡｄｄｒが先頭アドレスから１アドレス増加する毎にその値が「１」ずつ増加される。
【００５１】
上記補正値Ｃ１が入力される乗算器７２には、同じくＣＰＵ１０からの設定信号ＳＳによってレジスタ等に設定される変換パラメータである乗算値Ｍが入力される。この乗算器７２は、上記補正値Ｃ１に上記乗算値Ｍを乗算し、その乗算により得られる補正値Ｃ２（図６参照）を加算器７３に出力する。
【００５２】
加算器７３は、ＣＰＵ１０から入力される基準テーブルメモリＳＴＭのテーブル値ＴＢ（図６参照）である入力データＤＡＴＡｉｎに上記補正値Ｃ２を加算してその演算値を、当該変換モジュール７０の出力データＤＡＴＡｏｕｔとして特定のマクロが持つＬＵＴの所定のアドレスに出力する。すなわち、加算器７３は、補正後のテーブル値ＣＴＢを、ＣＰＵ１０によって指定されているＬＵＴのアドレスＡｄｄｒに出力する。これにより、ＣＰＵ１０によって指定されているＬＵＴのアドレスＡｄｄｒのテーブル値が補正後のテーブル値ＣＴＢに書き換えられる。
【００５３】
このように、ここで採用される変換モジュール７０は、上記ＣＰＵ１０から入力される上記基準テーブルメモリＳＴＭのテーブル値ＴＢ、すなわち入力データＤＡＴＡｉｎに対して、補正演算
ＤＡＴＡｏｕｔ＝ＤＡＴＡｉｎ＋｛（Ａｄｄｒ−ＲＡ）×Ｍ｝・・・（２）
を実行して出力データＤＡＴＡｏｕｔを得るモジュールである。これによって、上記乗算値Ｍを通じた自由度の高いテーブル値の変換が可能になるとともに、上記アドレスＡｄｄｒ及び基準アドレスＲＡの併用を通じて、基準テーブルメモリＳＴＭのテーブル値ＴＢの１アドレス毎に値が異なる補正値Ｃ２によるテーブル値の変換が可能になる。
【００５４】
以上詳述した本実施形態によれば、第１実施形態の（１）、（３）、（４）の作用効果に加えて、以下のような効果が得られるようになる。
（５）変換モジュール７０は、ＣＰＵ１０から入力されるアドレスＡｄｄｒに所定の演算（本例では、減算と乗算）を施すようにした。これにより、基準テーブルメモリＳＴＭのテーブル値ＴＢ（特定のマクロのＬＵＴ）の１アドレス毎に値が異なる補正値Ｃ２（図６参照）を容易に生成することができる。この補正値Ｃ２｛＝（Ａｄｄｒ−ＲＡ）×Ｍ｝を通じて、より自由度の高いテーブル値の変換が可能になる。ひいては、各マクロ４０の内容に応じたテーブル値の変換も可能となる。
【００５５】
なお、例えば専用のカウンタを設けて、そのカウンタのカウント値に基づいて変換パラメータを変更することにより、基準テーブルメモリＳＴＭのテーブル値ＴＢの１アドレス毎に値が異なる補正値を生成することができる。しかし、この生成方法では、上記専用のカウンタ等を設置する必要があるため、コストの増大が避けられない。これに対して、本実施形態の変換モジュール７０では、ＣＰＵ１０から元々出力されているアドレスＡｄｄｒに対して所定の演算を施す演算器を追加するのみでよいため、コストの増大を抑制することができる。
【００５６】
（第３実施形態）
以下、本発明にかかるテーブル値変換装置の第３実施形態を図７〜図９に従って説明する。この実施形態のテーブル値変換装置は、変換モジュールが上記第１実施形態と異なっている。以下、第１実施形態との相違点を中心に説明する。
【００５７】
図７は、本実施形態のテーブル値変換装置に採用されている変換モジュール８０の特にテーブル値変換を行う補正演算回路についてその内部構成例を示したブロック図である。
図７に示すように、この変換モジュール８０は、その補正演算回路として、基本的には、減算器８１と、乗算器８２と、加算器８３と、加算器８４と、係数制御回路８５とを備えている。このうち、減算器８１には、上記第２実施形態の減算器７１と同様に、ＣＰＵ１０によって指定される特定のマクロのＬＵＴのアドレスＡｄｄｒが該ＣＰＵ１０から入力される。この減算器８１には、ＣＰＵ１０からの設定信号ＳＳによって設定される基準アドレスＲＡが入力される。そして、減算器８１は、上記アドレスＡｄｄｒから上記基準アドレスＲＡを減算し、その減算により得られる補正値Ｃ１（図８参照）を乗算器８２に出力する。
【００５８】
上記ＣＰＵ１０から入力されるアドレスＡｄｄｒは、係数制御回路８５にも入力される。この係数制御回路８５は、入力されるアドレスＡｄｄｒに応じて、補正係数としての乗算値Ｍ及び加算値Ａを設定する。詳述すると、係数制御回路８５は、図８に示すように、ＬＵＴ全域を複数個（本例では、３個）の領域Ｒ１，Ｒ２，Ｒ３に分割して、これらの領域Ｒ１〜Ｒ３毎に異なる乗算値Ｍ及び加算値Ａを設定する。すなわち、係数制御回路８５は、アドレスＡｄｄｒが領域Ｒ１に含まれる場合に、乗算値Ｍを第１乗算値Ｍ１、加算値Ａを第１加算値Ａ１に設定する。また、係数制御回路８５は、アドレスＡｄｄｒが領域Ｒ２に含まれる場合に、乗算値Ｍを第２乗算値Ｍ２、加算値Ａを第２加算値Ａ２に設定する。また、係数制御回路８５は、アドレスＡｄｄｒが領域Ｒ３に含まれる場合に、乗算値Ｍを第３乗算値Ｍ３、加算値Ａを第３加算値Ａ３に設定する。
【００５９】
上記補正値Ｃ１が入力される上記乗算器８２には、アドレスＡｄｄｒに応じて上記係数制御回路８５により設定される乗算値Ｍ（第１〜第３乗算値Ｍ１〜Ｍ３）が入力される。この乗算器８２は、上記補正値Ｃ１に上記乗算値Ｍを乗算し、その乗算により得られる補正値Ｃ２を加算器８３に出力する。
【００６０】
加算器８３には、アドレスＡｄｄｒに応じて上記係数制御回路８５により設定される加算値Ａ（第１〜第３加算値Ａ１〜Ａ３）が入力される。この加算器８３は、上記補正値Ｃ２に上記加算値Ａを加算し、その加算により得られる補正値Ｃ３（図８参照）を加算器８４に出力する。ここで得られる補正値Ｃ３は、図８に示すように、その傾きが領域Ｒ１〜Ｒ３毎に異なるようになっている。
【００６１】
加算器８４は、ＣＰＵ１０から入力される基準テーブルメモリＳＴＭのテーブル値ＴＢ（図８参照）である入力データＤＡＴＡｉｎに上記補正値Ｃ３を加算してその演算値を、当該変換モジュール８０の出力データＤＡＴＡｏｕｔとして特定のマクロが持つＬＵＴの所定のアドレスに出力する。すなわち、加算器８４は、補正後のテーブル値ＣＴＢを、ＣＰＵ１０によって指定されているＬＵＴのアドレスＡｄｄｒに出力する。これにより、ＣＰＵ１０によって指定されているＬＵＴのアドレスＡｄｄｒのテーブル値が補正後のテーブル値ＣＴＢに書き換えられる。
【００６２】
このように、ここで採用される変換モジュール８０は、上記ＣＰＵ１０から入力される上記基準テーブルメモリＳＴＭのテーブル値ＴＢ、すなわち入力データＤＡＴＡｉｎに対して、領域Ｒ１〜Ｒ３毎に下記式（３）〜（５）による補正演算を実行して出力データＤＡＴＡｏｕｔを得るモジュールである。すなわち、変換モジュール８０は、アドレスＡｄｄｒが領域Ｒ１に含まれる場合には、下記式（３）により補正演算を実行し、アドレスＡｄｄｒが領域Ｒ２に含まれる場合には、下記式（４）により補正演算を実行し、アドレスＡｄｄｒが領域Ｒ３に含まれる場合には、下記式（５）により補正演算を実行する。
【００６３】
ＤＡＴＡｏｕｔ＝ＤＡＴＡｉｎ＋｛（Ａｄｄｒ−ＲＡ）×Ｍ１＋Ａ１｝・・・（３）
ＤＡＴＡｏｕｔ＝ＤＡＴＡｉｎ＋｛（Ａｄｄｒ−ＲＡ）×Ｍ２＋Ａ２｝・・・（４）
ＤＡＴＡｏｕｔ＝ＤＡＴＡｉｎ＋｛（Ａｄｄｒ−ＲＡ）×Ｍ３＋Ａ３｝・・・（５）
これによって、係数制御回路８５による領域Ｒ１〜Ｒ３毎の補正係数（乗算値Ｍ及び加算値Ａ）の変更を通じて、ＬＵＴの１アドレス毎に値が異なり、且つ領域Ｒ１〜Ｒ３毎に傾きが異なる補正値Ｃ３に基づく補正が可能となる。
【００６４】
図９は、上記係数制御回路８５による補正係数（乗算値Ｍ及び加算値Ａ）の設定方法についてその処理手順をフローチャートとして示したものであり、次に、この図９に基づいて同設定方法をさらに詳述する。
【００６５】
まず係数制御回路８５は、ステップ１０において、ＣＰＵ１０からアドレスＡｄｄｒが入力される。このようにアドレスＡｄｄｒが入力されると、係数制御回路８５は、次にステップ１１の処理として、その入力されたアドレスＡｄｄｒと領域Ｒ２の先頭アドレスである第１比較アドレスＡＤ１とを比較する。この結果、アドレスＡｄｄｒが第１比較アドレスＡＤ１未満であると判断された場合、すなわちアドレスＡｄｄｒが領域Ｒ１に含まれると判断された場合には、係数制御回路８５は、次にステップ１２の処理として、乗算値Ｍを第１乗算値Ｍ１に、加算値Ａを第１加算値Ａ１に設定する。
【００６６】
一方、上記ステップ１１において、アドレスＡｄｄｒが第１比較アドレスＡＤ１以上であると判断された場合には、係数制御回路８５は、次にステップ１３の処理として、上記アドレスＡｄｄｒと領域Ｒ３の先頭アドレスである第２比較アドレスＡＤ２とを比較する。この結果、アドレスＡｄｄｒが第２比較アドレスＡＤ２未満であると判断された場合、すなわちアドレスＡｄｄｒが領域Ｒ２に含まれると判断された場合には、係数制御回路８５は、次にステップ１４の処理として、乗算値Ｍを第２乗算値Ｍ２に、加算値Ａを第２加算値Ａ２に設定する。
【００６７】
一方、上記ステップ１３において、アドレスＡｄｄｒが第２比較アドレスＡＤ２以上であると判断された場合、すなわちアドレスＡｄｄｒが領域Ｒ３に含まれると判断された場合には、係数制御回路８５は、次にステップ１５の処理として、乗算値Ｍを第３乗算値Ｍ３に、加算値Ａを第３加算値Ａ３に設定する。
【００６８】
以上詳述した本実施形態によれば、第１及び第２実施形態の（１）、（３）、（４）、（５）の作用効果に加えて、以下のような効果が得られるようになる。
（６）変換モジュール８０内に備えた係数制御回路８５は、ＣＰＵ１０から入力されるアドレスＡｄｄｒの属する領域に応じて、補正係数としての乗算値Ｍ及び加算値Ａを変更するようにした。このとき、アドレスＡｄｄｒの属する領域の判定は、図９に示すように、該アドレスＡｄｄｒと、各領域Ｒ１〜Ｒ３毎の先頭アドレスとしての第１及び第２比較アドレスＡＤ１，ＡＤ２との比較により容易に判断することができる。これらにより、アドレスＡｄｄｒに応じて一定の傾きで変化する補正値Ｃ１を、図８に示すように、領域Ｒ１〜Ｒ３毎で傾きの変化する補正値Ｃ３（補正値Ｃ２）に容易に変換することができる。このような各領域Ｒ１〜Ｒ３毎の補正係数の設定により、テーブル値の変換に使用される補正値Ｃ３の設定の自由度を向上させることができる。さらに、この補正値Ｃ３を通じて、より自由度の高いテーブル値の変換が可能になる。ひいては、各マクロ４０の内容に応じたテーブル値の変換も可能となる。
【００６９】
（第４実施形態）
以下、本発明にかかるテーブル値変換装置の第４実施形態を図１０〜図１２に従って説明する。先の図１〜図９に示した部材と同一の部材にはそれぞれ同一の符号を付して示し、それら各要素についての詳細な説明は割愛する。
【００７０】
図１０に示すように、このテーブル値変換装置は、大きくは、上記ＣＰＵ１０と、同ＣＰＵ１０の外部バスＯＢ上に介在するように設けられた変換モジュール９０及び逆変換モジュール９５と、上記ＲＯＭ３０と、上記マクロ４０とを備えて構成されている。
【００７１】
ここで、上記変換モジュール９０は、上記各実施形態で説明したように、乗算・加算等の演算機能を有して、主にマクロＡ４１，Ｂ４２にそれぞれ備えられたＬＵＴ５１，５２のテーブル値変換書き込みを実行する際のＣＰＵ１０の処理を補助、仲介する部分である。すなわち、このテーブル値変換書き込みの実行に際し、ＣＰＵ１０は、上記ＲＯＭ３０から基準テーブルメモリＳＴＭのテーブル値ＴＢを読み込んで、この読み込んだテーブル値ＴＢを変換モジュール９０に出力する。またこれに先立ち、ＣＰＵ１０は、設定信号ＳＳを通じて変換パラメータを変換モジュール９０に対して設定する。ちなみに、ここでの変換パラメータには、乗算値Ｍ、加算値Ａがある。こうして変換パラメータが設定され、且つテーブル値ＴＢが与えられた変換モジュール９０は、その与えられたテーブル値ＴＢに対して上記設定された変換パラメータに基づく補正演算を実行し、その補正したテーブル値ＣＴＢを上記マクロ４０のうちＣＰＵ１０によって指定されている特定のマクロのＬＵＴに出力する。これにより、該当するマクロのＬＵＴがこの補正されたテーブル値ＣＴＢによって更新、すなわち書き換えられることとなる。
【００７２】
逆変換モジュール９５は、上記変換モジュール９０における演算機能とは反対の演算機能（ここでは、除算・減算）を有して、主に上記ＣＰＵ１０により上記ＬＵＴ５１，５２から補正後のテーブル値ＣＴＢがリードデータとして読み出される際に、その補正後のテーブル値ＣＴＢを補正前のテーブル値ＴＢに相当するテーブル値ＴＢａに逆変換する部分である。すなわち、このＬＵＴ５１，５２からの補正後のテーブル値ＣＴＢ読み出しの実行に際し、ＣＰＵ１０は、外部バスＯＢに共通接続されているＬＵＴ５１あるいはＬＵＴ５２に書き込まれている補正後のテーブル値ＣＴＢを読み出す。ここで、ＣＰＵ１０によりＬＵＴ５１，５２から読み出される補正後のテーブル値ＣＴＢは、上記逆変換モジュール９５を通じてＣＰＵ１０に入力される。また上記読み出しに先立ち、ＣＰＵ１０は、設定信号ＳＳを通じて、上記補正後のテーブル値ＣＴＢの逆変換処理に用いるための逆変換パラメータを逆変換モジュール９５に対して設定する。ちなみに、ここでＣＰＵ１０が逆変換モジュール９５に対して設定する逆変換パラメータには、除算値Ｎ、減算値Ｂがある。なお、ここで、逆変換パラメータである除算値Ｎ及び減算値Ｂは、上記テーブル値変換書き込みの際に変換モジュール９０に入力された変換パラメータである乗算値Ｍ及び加算値Ａと同一値になるように設定されている。すなわち、乗算値Ｍ＝除算値Ｎ、加算値Ａ＝減算値Ｂの関係になるように逆変換パラメータが設定されている。
【００７３】
こうして逆変換パラメータが設定され、且つ補正後のテーブル値ＣＴＢが与えられた逆変換モジュール９５は、その与えられたテーブル値ＣＴＢに対して上記設定された逆変換パラメータに基づく逆変換処理を実行し、その逆変換により得られる補正前のテーブル値ＴＢに相当するテーブル値ＴＢａを上記ＣＰＵ１０に出力する。
【００７４】
なお、上記逆変換モジュール９５は、ＣＰＵ１０によるＲＯＭ３０からのテーブル値ＴＢの読み込み時には、このＲＯＭ３０から読み出されたテーブル値ＴＢをそのままＣＰＵ１０に出力するように設定されている。
【００７５】
図１１は、本実施形態のテーブル値変換装置に採用されている変換モジュール９０のテーブル値変換を行う補正演算回路についてその内部構成例を示したブロック図である。
図１１に示すように、この変換モジュール８０は、その補正演算回路として、基本的には、乗算器９１と、加算器９２とを備えている。このうち、乗算器９１には、ＣＰＵ１０からの設定信号ＳＳによって設定される変換パラメータである乗算値Ｍが入力される。そして、この乗算器９１は、上記ＣＰＵ１０から入力される基準テーブルメモリＳＴＭのテーブル値ＴＢに上記乗算値Ｍを乗算してその演算値Ｖ１１を加算器９２に出力する。また、加算器９２には、同じくＣＰＵ１０からの設定信号ＳＳによって設定される変換パラメータである加算値Ａが入力される。そして、この加算器９２は、上記演算値Ｖ１１に上記加算値Ａを加算してその演算値を、補正後のテーブル値ＣＴＢとして特定のマクロの持つＬＵＴの所定のアドレスに出力する。これにより、ＣＰＵ１０によって指定されているアドレスのテーブル値が補正後のテーブル値ＣＴＢに書き換えられる。
【００７６】
このように、ここで採用される変換モジュール９０は、上記ＣＰＵ１０から入力される上記基準テーブルメモリＳＴＭのテーブル値ＴＢに対して、補正演算
ＣＴＢ＝ＴＢ×Ｍ＋Ａ・・・（６）
を実行してテーブル値ＣＴＢを得るモジュールである。
【００７７】
図１２は、本実施形態のテーブル値変換装置に採用されている逆変換モジュール９５の逆変換処理を行う逆変換処理回路についてその内部構成例を示したブロック図。
図１２に示すように、この逆変換モジュール９５は、その逆変換処理回路として、基本的には、減算器９６と、除算器９７とを備えている。このうち、減算器９６には、ＣＰＵ１０からの設定信号ＳＳによってレジスタ等に設定される逆変換パラメータである減算値Ｂ（＝加算値Ａ）が入力される。そして、この減算器９６は、ＣＰＵ１０によって指定されるマクロのＬＵＴから入力される補正後のテーブル値ＣＴＢから上記減算値Ｂを減算してその演算値Ｖ１２を除算器９７に出力する。また、除算器９７には、同じくＣＰＵ１０からの設定信号ＳＳによってレジスタ等に設定される逆変換パラメータである除算値Ｎ（＝乗算値Ｍ）が入力される。そして、この除算器９７は、上記演算値Ｖ１２を上記除算値Ｎにより除算してその演算値をＣＰＵ１０に出力する。これにより、補正後のテーブル値ＣＴＢが補正前のテーブル値ＴＢに相当するテーブル値ＴＢａに逆変換されてＣＰＵ１０に入力される。
【００７８】
このように、ここで採用される逆変換モジュール９５は、上記ＣＰＵ１０によって指定されるマクロのＬＵＴから入力される補正後のテーブル値ＣＴＢに対して、逆変換処理
ＴＢａ＝（ＣＴＢ−Ｂ）／Ｎ
＝（ＣＴＢ−Ａ）／Ｍ
＝ＴＢ
を実行して補正前のテーブル値ＴＢ（それに相当するテーブル値ＴＢａ）を得るモジュールである。
【００７９】
以上詳述した本実施形態によれば、第１実施形態の（１）、（３）、（４）の作用効果に加えて、以下のような効果が得られるようになる。
（７）ＣＰＵ１０によって指定されるマクロのＬＵＴから読み出される補正後のテーブル値ＣＴＢを逆変換して補正前のテーブル値ＴＢに相当するテーブル値ＴＢａを生成して、その逆変換後のテーブル値ＴＢａをＣＰＵ１０に出力する逆変換モジュール９５を設けた。これにより、ＣＰＵ１０からライトデータとして出力されるテーブル値ＴＢと、リードデータとしてＣＰＵ１０に入力される逆変換後のテーブル値ＴＢａとが同一値になる。従って、例えば上記ＣＰＵ１０を、ライトデータとリードデータとが不一致の場合に書き込みエラーと判断してしまうＩＣＥ（In-Circuit Emulator）に変更したとしても、ライトデータとリードデータとが一致するため、書き込みエラーと判断されることを回避することができる。なお、このＩＣＥは、ソフトウェアのデバックやハードウェアの動作確認を行う場合に利用されるもので、組み込み用システムの開発では必須なものである。
【００８０】
（他の実施形態）
なお、上記実施形態は、以下の態様で実施してもよい。
・上記各実施形態では、ＣＰＵ１０の外部バスＯＢ上に設けられた変換モジュール２０，７０，８０，９０を介してその後段に、マクロＡ４１〜マクロＣ４３と共々、ＲＯＭ３０を共通接続するようにした。これに代えて、ＲＯＭ３０についてはこれを、ＣＰＵ１０に直接接続されるように設けてもよい。
【００８１】
・上記各実施形態では、そのテーブル値変換書き込み方法として、上記ＲＯＭ３０からテーブル値ＴＢを全てのアドレスについて１アドレスずつ読み込み、それら読み込んだテーブル値ＴＢ（正確には補正されたテーブル値ＣＴＢ）を１アドレスずつ特定のマクロのＬＵＴ、例えばマクロＡ４１のＬＵＴ５１へ書き込むようにした。これに限らず、例えば特定のアドレスの範囲でそれらテーブル値ＴＢを１アドレスずつ読み込み、その特定のアドレス範囲のテーブル値ＴＢに補正演算を施しつつ、その補正されたテーブル値ＣＴＢを特定のマクロのＬＵＴの対応するアドレスに書き込むようにしてもよい。全てのテーブル値の書き換えが不要な場合、すなわち一部のアドレス範囲のテーブル値のみの書き換えが必要な場合、これによって上記ＬＵＴのテーブル値変換書き込み時間を短縮することができるようになる。
【００８２】
・上記各実施形態における変換モジュール２０，７０，８０，９０において、入力されるテーブル値ＴＢに施す補正演算の種類は、特に制限されない。すなわち、上記各実施形態では、変換モジュール２０，７０，８０，９０に入力されるテーブル値ＴＢに対して、主に乗算及び加算の補正演算を施すようにした。これに限らず、テーブル値ＴＢに対して減算及び除算の補正演算を施すようにしてもよい。なお、この場合、上記第４実施形態においては、変換モジュール９０の有する演算機能とは反対の演算機能を有するように逆変換モジュール９５を構成することが望ましい。
【００８３】
・上記第１実施形態では、変換モジュール２０が実行する補正演算として、ＣＰＵ１０から出力されるテーブル値ＴＢに対する乗算、加算及びクリッピングを行うようにした。これに限らず、例えばクリッピングを省略した補正演算を実行するようにしてもよい。または、乗算あるいは加算のみの補正演算を実行するようにしてもよい。
【００８４】
・上記第２及び第３実施形態における変換モジュール７０，８０が、上記第１実施形態の変換モジュール２０のクリップ回路２３を備えるようにしてもよい。
・上記第２及び第３実施形態における変換モジュール７０，８０において、ＣＰＵ１０から入力されるアドレスＡｄｄｒに施す補正演算の種類は、特に制限されない。
【００８５】
・上記第２及び第３実施形態におけるアドレスの割り当ては、図５に示すアドレスマップに特に制限されない。
・上記第２及び第３実施形態では、基準アドレスＲＡを、各マクロ４０のＬＵＴの先頭アドレスがアドレスＡｄｄｒとして変換モジュール７０，８０に入力されたときに補正値Ｃ１が「０」となるように設定するようにしたが、これに制限されない。例えば、基準アドレスＲＡを、各マクロ４０のＬＵＴの先頭アドレスがアドレスＡｄｄｒとして入力されたときに補正値Ｃ１が例えば「＋Ｘ（Ｘ：整数）」あるいは「−Ｘ」となるように設定することにより、ＬＵＴのアドレスに＋方向あるいは−方向のオフセットを設定することができる。
【００８６】
・上記第２実施形態では、変換モジュール７０において、変換パラメータである乗算値Ｍと、ＣＰＵ１０から入力されるアドレスＡｄｄｒとに基づいて補正値Ｃ２を生成し、テーブル値ＴＢに対してその補正値Ｃ２に従って補正演算（加算）を行うようにした。これに限らず、例えば変換パラメータである乗算値Ｍを、テーブル値ＴＢに対する補正演算における補正値としてそのまま利用してもよい。また、ＣＰＵ１０から入力されるアドレスＡｄｄｒと基準アドレスＲＡとに基づいて生成される補正値Ｃ１を、テーブル値ＴＢに対する補正演算における補正値としてそのまま利用してもよい。
【００８７】
・上記第２及び第３実施形態における基準アドレスＲＡを省略してもよい。この場合、ＣＰＵ１０から変換モジュール７０，８０に入力されるアドレスＡｄｄｒをそのまま補正値Ｃ２の生成に利用するようにしてもよい。あるいは、ＣＰＵ１０から変換モジュール７０，８０に入力されるアドレスＡｄｄｒを、テーブル値ＴＢに対する補正演算における補正値としてそのまま利用してもよい。
【００８８】
・上記第３実施形態では、ＬＵＴ全域を３個の領域Ｒ１，Ｒ２，Ｒ３に分割するようにしたが、この領域の分割数は特に制限されない。
・上記第３実施形態における係数制御回路８５は、補正係数として乗算値Ｍ及び加算値Ａを領域Ｒ１〜Ｒ３毎に変更するようにした。これに限らず、例えば係数制御回路８５により、補正係数として乗算値Ｍ及び加算値Ａのいずれか一方を領域Ｒ１〜Ｒ３毎に変更するようにしてもよい。
【００８９】
・上記第３実施形態の変換モジュール８０の係数制御回路８５を、上記第１及び第４実施形態の変換モジュール２０，９０及び逆変換モジュール９５に適用してもよい。ここで、例えば第１実施形態の変換モジュール２０に係数制御回路８５を設ける場合には、係数制御回路８５により、ＬＵＴのアドレスＡｄｄｒが属する領域に応じて、第１演算器を構成する乗算器２１及び加算器２２に入力される補正係数としての乗算値Ｍ及び加算値Ａが変更されるようになる。
【００９０】
以上の様々な実施の形態をまとめると、以下のようになる。
（付記１）
雛形となるテーブル値が格納されているメモリから読み出されるテーブル値を補正し、特定の処理を行うハードウェアである機能マクロの別に設けられたルックアップテーブルのテーブル値を前記補正された値に基づいて書き換えるテーブル値変換装置であって、
前記メモリから雛形となるテーブル値を読み出す中央演算処理装置の外部バス上に、同中央演算処理装置から出力されるデータに対して特定の補正演算を施しつつこの演算値に基づき前記マクロの持つルックアップテーブルのテーブル値を変換する変換モジュールを介在させたことを特徴とするテーブル値変換装置。
（付記２）
前記変換モジュールは、同変換モジュールに設定される変換パラメータに従って前記特定の補正演算を実行するものである付記１に記載のテーブル値変換装置。
（付記３）
前記変換モジュールに設定される変換パラメータが乗算値及び加算値及びクリップ下限値及びクリップ上限値からなり、前記乗算値をＭ、前記加算値をＡ、前記クリップ下限値をＬ、前記クリップ上限値をＨとし、前記中央演算処理装置から出力されるデータをＤＡＴＡｉｎ、前記変換モジュールが出力する演算値をＤＡＴＡｏｕｔとするとき、前記変換モジュールは、前記補正演算として、演算
ＤＡＴＡｏｕｔ＝ｍａｘ（Ｌ，ｍｉｎ（Ｈ，ＤＡＴＡｉｎ×Ｍ＋Ａ））
ただし、ｍａｘ（ａ，ｂ）：ａ，ｂのうちの大きい方を選択する関数
ｍｉｎ（ａ，ｂ）：ａ，ｂのうちの小さい方を選択する関数
を実行するものである付記２に記載のテーブル値変換装置。
（付記４）
前記メモリ及び前記マクロは前記変換モジュールが介在する前記中央演算処理装置の外部バスの後段に共通接続されており、前記変換モジュールは、同外部バスを介した前記中央演算処理装置による前記メモリからのテーブル値の読み込み時にはこの読み込まれるテーブル値を同中央演算処理装置に対してそのまま渡し、前記マクロの持つルックアップテーブルへのテーブル値の書き換え時に、前記中央演算処理装置から同外部バスに前記データとして出力される前記読み込まれたテーブル値に対して前記特定の演算処理を実行するものである付記１〜３のいずれか一つに記載のテーブル値変換装置。
【００９１】
付記４に記載の発明では、前記メモリ及び前記マクロは前記変換モジュールが介在する前記中央演算処理装置の外部バスの後段に共通接続されており、前記変換モジュールは、同外部バスを介した前記中央演算処理装置による前記メモリからのテーブル値の読み込み時にはこの読み込まれるテーブル値を同中央演算処理装置に対してそのまま渡し、前記マクロの持つルックアップテーブルへのテーブル値の書き換え時に、前記中央演算処理装置から同外部バスに前記データとして出力される前記読み込まれたテーブル値に対して前記特定の演算処理を実行することとした。このようなかたちで外部バスを共通利用することで、同外部バスの利用効率が高められるようになるとともに、特に上記メモリについてもこれを、変換モジュールの後段にバス接続するようにしたことで、装置全体としての設計自由度も高められるようになる。
（付記５）
前記変換モジュールにより前記特定の補正演算の施されたデータに基づき前記テーブル値が書き換えられた前記マクロの持つルックアップテーブルから前記中央演算処理装置によって読み出される該書き換え後のテーブル値を、前記特定の補正演算の施される前のデータに相当するデータに逆変換して、該逆変換後のデータを前記中央演算処理装置に出力する逆変換モジュールを備える付記１又は２に記載のテーブル値変換装置。
（付記６）
前記変換モジュールは、同変換モジュールに設定される変換パラメータに従って前記特定の補正演算を実行し、
前記逆変換モジュールは、前記変換パラメータに応じて該逆変換モジュールに設定される逆変換パラメータに従って前記逆変換を実行するものである付記５に記載のテーブル値変換装置。
（付記７）
前記逆変換モジュールは前記中央演算処理装置の外部バス上に介在されており、前記メモリ及び前記マクロは前記変換モジュール及び前記逆変換モジュールが介在する前記中央演算処理装置の外部バスの後段に共通接続されており、前記逆変換モジュールは、同外部バスを介した前記中央演算処理装置による前記メモリからのテーブル値の読み込み時にはこの読み込まれるテーブル値を同中央演算処理装置に対してそのまま渡すものである付記４〜６のいずれか一つに記載のテーブル値変換装置。
（付記８）
前記変換モジュールには、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブルの所定アドレスが同変換モジュールにおける前記演算値の書き込み先のアドレスとして前記中央演算処理装置から入力され、
前記変換モジュールは、同変換モジュールに設定される変換パラメータ及び前記書き込み先のアドレスの少なくとも一方に応じて補正値を生成し、該補正値に従って前記特定の補正演算を実行する付記１〜７にいずれか一つに記載のテーブル値変換装置。
（付記９）
前記変換モジュールは、前記書き込み先のアドレスから所定の基準アドレスを減算して、該書き込み先のアドレスを、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブル内におけるアドレスに変換する付記８に記載のテーブル値変換装置。
（付記１０）
前記基準アドレスが、前記書き込み先に指定される前記マクロの持つルックアップテーブルの先頭アドレスである付記９に記載のテーブル値変換装置。
（付記１１）
前記変換モジュールには、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブルの所定アドレスが同変換モジュールにおける前記演算値の書き込み先のアドレスとして前記中央演算処理装置から入力され、
前記変換モジュールは、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブルを複数の領域に分割しつつ、前記書き込み先のアドレスの属する前記領域に応じて、前記特定の補正演算を実行するための第１演算器に入力される補正係数を設定する係数制御回路を備える付記１〜１０のいずれか一つに記載のテーブル値変換装置。
（付記１２）
前記変換モジュールには、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブルの所定アドレスが同変換モジュールにおける前記演算値の書き込み先のアドレスとして前記中央演算処理装置から入力され、
前記変換モジュールは、前記中央演算処理装置により指定される前記マクロの持つルックアップテーブルを複数の領域に分割しつつ、前記書き込み先のアドレスの属する前記領域に応じて、前記補正値を生成するための第２演算器に入力される補正係数を設定する係数制御回路を備える付記１〜１１のいずれか一つに記載のテーブル値変換装置。
（付記１３）
雛形となるテーブル値が格納されているメモリから読み出されるテーブル値を補正し、特定の処理を行うハードウェアである機能マクロの別に設けられたルックアップテーブルのテーブル値を前記補正された値に基づき変換して当該ルックアップテーブルに書き込む方法であって、
前記メモリから雛形となるテーブル値を読み出す中央演算処理装置の外部バス上に、同中央演算処理装置から出力されるデータに対して特定の補正演算を施しつつこの演算値に基づき前記マクロの持つルックアップテーブルのテーブル値を変換する変換モジュールを介在させ、同マクロの持つルックアップテーブルへのテーブル値の書き換え時には、この変換モジュールを通じて補正演算された演算値を該当するルックアップテーブルに対して書き込むようにしたことを特徴とするテーブル値変換書き込み方法。
（付記１４）
前記変換モジュールを、同変換モジュールに設定される変換パラメータに従った補正演算が実行されるように構成し、前記マクロの持つルックアップテーブルに書き込まれる演算値が、この設定された変換パラメータに応じた値として決定されるようにした付記１３に記載のテーブル値変換書き込み方法。
（付記１５）
前記変換モジュールに設定する変換パラメータとして乗算値及び加算値及びクリップ下
限値及びクリップ上限値を用意するとともに、前記乗算値をＭ、前記加算値をＡ、前記クリップ下限値をＬ、前記クリップ上限値をＨとし、前記中央演算処理装置から出力されるデータをＤＡＴＡｉｎ、前記変換モジュールが出力する演算値をＤＡＴＡｏｕｔとするとき、前記変換モジュールに、前記補正演算として、演算
ＤＡＴＡｏｕｔ＝ｍａｘ（Ｌ，ｍｉｎ（Ｈ，ＤＡＴＡｉｎ×Ｍ＋Ａ））
ただし、ｍａｘ（ａ，ｂ）：ａ，ｂのうちの大きい方を選択する関数
ｍｉｎ（ａ，ｂ）：ａ，ｂのうちの小さい方を選択する関数
を実行させて前記マクロの持つルックアップテーブルに書き込むべき演算値を得る付記１４に記載のテーブル値変換書き込み方法。
（付記１６）
特定のマクロのルックアップテーブルに対応して前記変換モジュールに前記変換パラメータを設定した後、
ａ．前記中央演算処理装置を通じて前記メモリから前記雛形となるテーブル値を１アドレス分だけ読み込む処理、
ｂ．この読み込みに対応して前記中央演算処理装置から前記特定のマクロのルックアップテーブルに対して書き込むべく出力される当該テーブル値を前記変換モジュールを通じて前記設定された変換パラメータに基づく補正演算により変換する処理、
ｃ．この変換されたテーブル値を前記特定のマクロのルックアップテーブルの所定のアドレスに書き込む処理、
といったａ．〜ｃ．の処理を、前記メモリからのテーブル値読み込みアドレスと前記特定のマクロのルックアップテーブルへのテーブル値書き込みアドレスとをインクリメントしつつ、前記ルックアップテーブルの全てのテーブル値が書き換わるまで繰り返し実行する付記１３又は１４に記載のテーブル値変換書き込み方法。
【図面の簡単な説明】
【００９２】
【図１】第１実施形態のテーブル値変換装置の全体構成を示すブロック図。
【図２】第１実施形態の変換モジュールの内部構成例を示すブロック図。
【図３】第１実施形態のテーブル値変換書き込み方法を示すフローチャート。
【図４】第２実施形態の変換モジュールの内部構成例を示すブロック図。
【図５】第２実施形態のアドレスマップ。
【図６】第２実施形態のテーブル値変換を説明するための説明図。
【図７】第３実施形態の変換モジュールの内部構成例を示すブロック図。
【図８】第３実施形態のテーブル値変換を説明するための説明図。
【図９】第３実施形態の補正係数の設定方法を示すフローチャート。
【図１０】第４実施形態のテーブル値変換装置の全体構成を示すブロック図。
【図１１】第４実施形態の変換モジュールの内部構成例を示すブロック図。
【図１２】第４実施形態の逆変換モジュールの内部構成例を示すブロック図。
【図１３】（ａ），（ｂ），（ｃ）は、従来のテーブル値変換装置について、各々その構成の概要を示すブロック図。
【符号の説明】
【００９３】
１０  中央演算処理装置（ＣＰＵ）
２０，７０，８０，９０  変換モジュール
２１，９１  乗算器（第１演算器）
２２，７３，８４，９２  加算器（第１演算器）
３０  ＲＯＭ
４０  マクロ
４１〜４３  マクロＡ〜マクロＣ
５１〜５３  ルックアップテーブル（ＬＵＴ）
７１，８１  減算器（第２乗算器）
７２，８２  乗算器（第２演算器）
８３  加算器（第２演算器）
８５  係数制御回路
９５  逆変換モジュール
ＯＢ  外部バス
【図１】
2007293827.tif 000003
【図２】
2007293827.tif 000004
【図３】
2007293827.tif 000005
【図４】
2007293827.tif 000006
【図５】
2007293827.tif 000007
【図６】
2007293827.tif 000008
【図７】
2007293827.tif 000009
【図８】
2007293827.tif 000010
【図９】
2007293827.tif 000011
【図１０】
2007293827.tif 000012
【図１１】
2007293827.tif 000013
【図１２】
2007293827.tif 000014
【図１３】
2007293827.tif 000015