(57)【特許請求の範囲】
【請求項１】
入力端子からシリアルに入力されてくる複数のデータをシリアル／パラレル変換器に入力し、このシリアル／パラレル変換器の出力データを複数のプロセッサエレメントに並列に供給し、これらのデータを上記のプロセッサエレメントにて演算処理し、上記プロセッサエレメントから並列に出力される演算処理された複数のデータをパラレル／シリアル変換器に並列に入力し、上記パラレル／シリアル変換器の出力を出力端子から出力する並列プロセッサにおいて、変換される入力データを記憶する変換入力データメモリおよび変換された出力データを記憶する変換出力データメモリを備え、また上記の各プロセッサエレメントに比較器と被変換データレジスタおよび変換出力データレジスタを備え、さらに上記複数のプロセッサエレメント、上記変換入力データメモリおよび上記変換出力データメモリの動作を制御する命令制御部を備え、上記比較器では上記変換入力データメモリに保持されている変換入力データと上記被変換データレジスタに保持されている被変換データの比較を実行し、上記変換出力データレジスタは上記比較器での比較結果を参照して上記変換出力データメモリに保持されている変換出力データの取り込みを選択的に実行可能としたことを特徴とする並列処理プロセッサ。
【請求項２】
上記比較器は一致比較器で構成され、上記変換入力データと上記被変換データが一致したとき、取り込み出力を発生し、上記変換出力データレジスタはこの取り込み出力で上記変換出力データメモリに保持されている上記被変換データに対応する変換出力データの取り込みを実行することを特徴とした請求項１記載の並列処理プロセッサ。
【請求項３】
上記被変換データを複数の区間に分割し、かつ上記区間と対応付けて上記変換入力データを設定すると共に、上記比較器は大小比較器で構成され、上記変換入力データが示す区間と上記被変換データが属する区間とを比較し、区間が一致すると取り込み出力を発生し、上記変換出力データレジスタはこの取り込み出力で上記変換出力データメモリに保持されている上記被変換データが属する区間に対応する変換出力データの取り込みを実行することを特徴とした請求項１記載の並列処理プロセッサ。
【請求項４】
上記比較器での比較結果を保持する比較結果レジスタを備えたことを特徴とした請求項１乃至請求項３の何れかに記載の並列処理プロセッサ。
【請求項５】
上記命令制御部は上記比較結果レジスタの内容でプロセッサエレメント中の演算器の動作を制御することを特徴とした請求項４記載の並列処理プロセッサ。
【請求項６】
上記命令制御部はプロセッサに与える命令で上記比較結果レジスタの内容によるプロセッサエレメントの動作の制御を選択的に実行することを特徴とした請求項４記載の並列処理プロセッサ。
【請求項７】
上記命令制御部は上記比較結果レジスタの内容でプロセッサエレメント中の演算器への入力を選択することを特徴とした請求項４記載の並列処理プロセッサ。
【請求項８】
上記命令制御部は上記比較結果レジスタの内容でプロセッサエレメント中の演算器からの出力を選択することを特徴とした請求項４記載の並列処理プロセッサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば画像データのデジタル処理等に用いられる、並列処理プロセッサに関するものであり、特に画像データの非線形変換処理に用いられる、並列処理プロセッサに関するものである。
【０００２】
【従来の技術】
図２４は例えば特開平５―６７２０３号公報に記載されている従来の並列処理プロセッサ１５の構成図である。図２４に示される従来の並列処理プロセッサ１５は、入力シフトレジスタ２０、出力シフトレジスタ３０、命令制御部４２、プロセッサ部４０および非線形変換に用いる非線形変換用出力シフトレジスタ７１、非線形変換用入力シフトレジスタ７２、テーブルメモリ７０を備えている。
【０００３】
入力シフトレジスタ２０は外部からのデータ入力を行ない、出力シフトレジスタ３０は外部へのデータ出力を行なう。またプロセッサ部４０では画像データのフィルタリング等のデータ処理が行なわれる。
【０００４】
プロセッサ部４０は演算部５０とメモリ部６０から構成されている。演算部５０はデータ演算を行なう部分であり、図２４中で水平方向に並んだＮ個の演算ユニット５１−１〜５１−Ｎから構成されている。演算ユニット５１−１〜５１−Ｎは全て同じ構成なので、以後演算ユニット５１−１〜５１−Ｎを演算ユニット５１と呼ぶことにする。各演算ユニット５１は命令制御部４２からの命令で制御される。命令制御部４２からの命令はプロセッサ部制御バス４３を通して各演算ユニット５１に供給される。プロセッサ部制御バス４３は全ての演算ユニット５１に対して共通に接続されている。そのため全ての演算ユニット５１が同じ動作をする。
【０００５】
メモリ部６０は図２４中で水平方向に並んだそれぞれＮ個のメモリユニット６１−１〜６１−Ｎから構成されている。メモリユニット６１−１〜６１−Ｎは全て同じ構成なので以後メモリユニット６１−１〜６１−Ｎをメモリユニット６１と呼ぶことにする。
【０００６】
各メモリユニット６１は複数のメモリバンクから構成されている。図２４に示した従来の並列処理プロセッサ１５ではメモリユニット６１はメモリバンク６３−１〜６３−Ｎおよびメモリバンク６４−１〜６４−Ｎの２種類のメモリバンクから構成されている。メモリバンク６３−１〜６３−Ｎは全て同じ構成なので以後メモリバンク６３−１〜６３−Ｎをメモリバンク６３と呼ぶことにする。同様にメモリバンク６４−１〜６４−Ｎは全て同じ構成なので以後メモリバンク６４−１〜６４−Ｎをメモリバンク６４と呼ぶことにする。
【０００７】
メモリバンク６３、６４は命令制御部４２からの命令で制御される。メモリユニット６１中の各メモリバンク６３、６４の出力６５は演算部５０に入力されており、演算部５０の出力５４は各メモリユニット６１の入力に接続されている。
【０００８】
図２４中で垂直方向に並んだ演算ユニット５１およびメモリユニット６１で１つの処理単位であるプロセッサエレメント４１−１〜４１−Ｎを構成している。つまりプロセッサ部４０は水平方向にＮ個並んだプロセッサエレメント４１−１〜４１−Ｎから構成されている。プロセッサエレメント４１−１〜４１−Ｎは全て同じ構成なので、以後プロセッサエレメント４１−１〜４１−Ｎをプロセッサエレメント４１と呼ぶことにする。
【０００９】
命令制御部４２は各部分を制御する役割を果たす。プロセッサ部４０の制御はいわゆるＳＩＭＤ制御（Single  Instruction  stream  Multi  Data  stream制御）であり、全てのプロセッサエレメント４１が同じ命令で動作する。命令制御部４２からプロセッサ部４０へ接続されているプロセッサ部制御バス４３には演算部５０の制御信号バス、メモリ部６０の制御バス、アドレスバス等が含まれている。また非線形変換用出力シフトレジスタ７１、非線形変換用入力シフトレジスタ７２およびテーブルメモリ７０では非線形変換が行なわれる。
【００１０】
続いてこの従来の並列処理プロセッサ１５の動作について説明する。この構成において入力画像信号は外部データ入力バス２１から画素データごとにラスタスキャン順で入力シフトレジスタ２０に入力される。
【００１１】
入力シフトレジスタ２０はシフト動作で外部データ入力バス２１からのデータを取り込んでいく。入力シフトレジスタ２０は最低でも１ラインの画素数と同じ数のレジスタ段数を持つ。図２４ではこのレジスタ段数はＮ段である。そして１ライン分の画素データを取り込み終わると、取り込んだデータをメモリ部６０中のメモリ６３に書き込む。
【００１２】
入力シフトレジスタ２０の各段から対応する位置のプロセッサエレメント４１に対して入力データ転送バス２２−１〜２２−Ｎが接続されており、入力シフトレジスタ２０内のデータはＮ個が並列にプロセッサ部４０のメモリ部６０中のメモリ６３に転送される。入力データ転送バス２２−１〜２２−Ｎは全て同じ構成なので、以後入力データ転送バス２２−１〜２２−Ｎを入力データ転送バス２２と呼ぶことにする。転送が終ると、入力シフトレジスタ２０は次ラインの画素データの取り込みを開始する。
【００１３】
演算部４０ではメモリ部６０中のメモリ６３からデータが必要に応じて読み出されて、これに必要な算術演算処理および論理演算処理が施されて、演算結果をメモリ部６０中のメモリ６４に書き込む。図２５に演算ユニット５１の構成図を示す。
【００１４】
演算ユニット５１は演算器入力セレクタ５５および演算器５２から構成される。演算器入力セレクタ５５は自プロセッサエレメントのメモリユニット中の各メモリバンクの出力６５および左右の隣接プロセッサエレメントのメモリユニット中の各メモリバンクの出力６６、６７から演算器５２に入力する２個のメモリバンクの出力を選択する。
【００１５】
選択された２個のメモリバンクの出力は演算器入力セレクタ出力Ａ５６および演算器入力セレクタ出力Ｂ５７を通して演算器５２に入力される。演算器入力セレクタ制御バス５８を通じて転送される命令制御部４２からの演算器入力選択信号が演算器５２への入力選択を制御している。
【００１６】
演算器５２は２つの入力を受け取ると演算器制御バス５３を通じて転送される命令制御部４２からの演算器制御信号で指定された演算を行ない、演算器出力５４をメモリユニット６１に出力し、メモリ６４に書き込む。
【００１７】
出力シフトレジスタ３０は入力シフトレジスタ２０と同数のレジスタ段数を持つ。図２４ではレジスタ段数はＮ段である。出力シフトレジスタ３０の各段から対応する位置のプロセッサエレメント４１に対して出力データ転送バス３２−１〜３２−Ｎが接続されており、プロセッサ部４０のメモリ部６０中のメモリ６４内のデータはＮ個が並列に出力シフトレジスタ３０に転送される。出力データ転送バス３２−１〜３２−Ｎは全て同じ構成なので、以後出力データ転送バス３２−１〜３２−Ｎを出力データ転送バス３２と呼ぶことにする。
【００１８】
出力シフトレジスタ３０に書き込まれたデータは入力シフトレジスタ２０と同様にシフト動作で外部データ出力バス３１を経由して並列処理プロセッサ１５の外部へ出力される。入力シフトレジスタ２０、プロセッサ部４０、出力シフトレジスタ３０はお互いに独立に同時に動作しており、いわゆるパイプライン動作をしている。
【００１９】
続いて図２４の並列処理プロセッサ１５において非線形変換を実行する部分の動作について説明する。非線形変換される被変換データは１ライン分が同時にメモリ部６０中のメモリ６３から非線形変換用出力シフトレジスタ７１に書き込まれる。この動作は出力シフトレジスタ３０にデータを書き込む動作と同じである。非線形変換用出力シフトレジスタ７１では被変換データ取り込み後、シフト動作でテーブルメモリ７０へ被変換データを転送する。テーブルメモリ７０は変換入力であるアドレスとそれに対応する変換出力データを保持しているテーブルであり、図２６にその一例を示す。
【００２０】
テーブルメモリ７０では図２６に示すように、非線形変換用出力シフトレジスタ７１から転送されてきた被変換データをアドレスとして受け取り、このアドレスに対応する変換出力データを非線形変換用入力シフトレジスタ７２に出力する。
【００２１】
非線形変換用入力シフトレジスタ７２ではテーブルメモリ７０から転送されてきた変換出力データをシフト動作でレジスタ内に取り込む。この動作は入力シフトレジスタ２０からデータを読み込む動作と同じである。取り込みが終了すると、１ライン分の変換出力データを同時にメモリ部６０中のメモリ６４に書き込む。
【００２２】
非線形変換用出力シフトレジスタ７１、テーブルメモリ７０および非線形変換用入力シフトレジスタ７２はそれぞれ独立に同時に動作しており、いわゆるパイプライン動作をしている。
【００２３】
【発明が解決しようとする課題】
ところでこのように構成された従来の並列処理プロセッサ１５で非線形変換を行なう場合には１ライン分の画素のシフト動作があるために、処理ステップ数は１ライン分の画素数以上になり、膨大な数の処理ステップが必要になる。
【００２４】
また図２４の従来の並列処理プロセッサ１５ではプロセッサ部で１ライン分の画素の演算処理に使用できる時間が１ライン分の画素を入力するのに要する時間であるために、非線形変換用シフトレジスタと外部データ入出力シフトレジスタが同じ速度で動作している場合はプロセッサ部で使用できる処理時間が全て非線形変換処理に費やされてしまい、他の処理ができないという問題点がある。
【００２５】
本発明は上記のごとき従来技術の問題を解決するためになされたものであり、非線形変換を効率良く実現することのできる並列処理プロセッサを提供することを目的とする。
【００２６】
【課題を解決するための手段】
請求項１に記載の本発明は、変換入力データメモリおよび変換出力データメモリを備え、さらに上記の各プロセッサエレメントに比較器と被変換データレジスタおよび変換出力データレジスタを備え、上記比較器では上記変換入力データメモリに保持されている変換入力データと上記被変換データレジスタに保持されている被変換データの比較を実行し、上記変換出力データレジスタは上記比較器での比較結果を参照して上記変換出力データメモリに保持されている変換出力データの取り込みを選択的に実行可能にしたことを特徴とする。
【００２７】
請求項２に記載の本発明は、上記比較器を一致比較器で構成し、一致比較器は上記変換入力データメモリに保持されている変換入力データと上記被変換データレジスタに保持されている被変換データの一致比較を実行し、上記変換出力データレジスタは上記一致比較器での比較結果が一致するとき上記変換出力データメモリに保持されている変換出力データの取り込みを実行することを特徴とする
【００２８】
請求項３に記載の本発明は、上記被変換データを複数の区間に分割し、かつ上記区間と対応付けて上記変換入力データを設定すると共に、上記比較器は大小比較器で構成され、上記変換入力データが示す区間と上記被変換データが属する区間とを比較し、区間が一致すると取り込み出力を発生し、上記変換出力データレジスタはこの取り込み出力で上記変換出力データメモリに保持されている上記被変換データが属する区間に対応する変換出力データの取り込みを実行することを特徴とする。
【００２９】
請求項４に記載の本発明は、上記比較器での比較結果を保持する比較結果レジスタを備えたことを特徴とする。
【００３０】
請求項５に記載の本発明は、上記命令制御部が比較結果レジスタの内容でプロセッサエレメント中の演算器の動作を制御する構成にしたことを特徴とする。
【００３１】
請求項６に記載の本発明は、プロセッサに命令を与える上記命令制御部が上記比較結果レジスタの内容によりプロセッサエレメントの動作の制御を選択的に実行する構成にしたことを特徴とする。
【００３２】
請求項７に記載の本発明は、上記命令制御部が比較結果レジスタの内容でプロセッサエレメント中の演算器への入力を選択する構成にしたことを特徴とする。
【００３３】
請求項８に記載の本発明は、上記命令制御部が比較結果レジスタの内容でプロセッサエレメント中の演算器からの出力を選択する構成にしたことを特徴とする。
【００３４】
【発明の実施の形態】
実施の形態１．
本発明の実施の形態１を図１に基づき説明する。図１に示した本発明の並列処理プロセッサ１はプロセッサエレメント４１の数をＮ個とし、図２４に示すテーブルメモリ７０、非線形変換用出力シフトレジスタ７１、および非線形変換用入力シフトレジスタ７２の代わりに比較変換部１００を設けたものである。
【００３５】
図１中の比較変換部１００以外の部分は図２４に示した従来の並列処理プロセッサ１５と同様の動作をする。即ち、入力シフトレジスタ２０、プロセッサ部４０および出力シフトレジスタ３０はパイプライン動作をし、プロセッサ部４０ではＳＩＭＤ制御によるＮ個の並列処理が行なわれる。メモリユニット６１内のメモリバンク数は任意の数であるが、本実施の形態ではメモリバンク６３、６４の２バンクである。
【００３６】
図２に比較変換部１００の詳細な構成を示す。比較変換部１００は大きく分けて、比較部１１０、変換部１３０、変換入力データメモリ１５０および変換出力データメモリ１５３から構成される。
【００３７】
変換入力データメモリ１５０には非線形変換前の変換入力データが保持されており、このデータは図２４の従来の並列処理プロセッサ１５におけるテーブルメモリ７０の変換入力データに対応する。変換出力データメモリ１５３には非線形変換後のデータが保持されており、このデータは図２４の従来の並列処理プロセッサ１５におけるテーブルメモリ７０からの変換出力データに対応する。
【００３８】
比較部１１０はＮ個の比較ユニット１１３−１〜１１３−Ｎから構成され、各比較ユニット１１３−１〜１１３−Ｎは命令制御部４２からの制御信号で制御され、この制御信号は比較部制御バス１１２を通じて各比較ユニット１１３−１〜１１３−Ｎへ転送される。比較ユニット１１３−１〜１１３−Ｎは全て同じ構成なので、以後比較ユニット１１３−１〜１１３−Ｎを比較ユニット１１３と呼ぶことにする。
【００３９】
同様に変換部１３０はＮ個の変換ユニット１３３−１〜１３３−Ｎから構成され、各変換ユニット１３３−１〜１３３−Ｎは命令制御部４２からの制御信号で制御され、この制御信号は変換部制御バス１３２を通じて各変換ユニット１３３−１〜１３３−Ｎへ転送される。変換ユニット１３３−１〜１３３−Ｎは全て同じ構成なので、以後変換ユニット１３３−１〜１３３−Ｎを変換ユニット１３３と呼ぶことにする。
【００４０】
次に、比較変換部１００の動作の概略について説明する。図２７は本発明方式の非線形変換の動作を表している。本発明の方式では並列に配置された１ライン分の被変換データの中からある変換入力データ値と一致するものを全て検索し、その値を変換出力データ値に一致したものを全て同時に変換するという方法で非線形変換を行なう。
【００４１】
非線形変換される被変換データは各プロセッサエレメント４１から１ライン分が同時に各比較ユニット１１３に書き込まれる。各比較ユニット１１３では変換入力データメモリ１５０から転送される変換入力データと各比較ユニット１１３内に書き込まれた被変換データとを比較して比較結果信号を比較結果信号バス１４０を通して変換部１３０に転送する。比較ユニット１１３の比較結果が一致である場合には、各変換ユニット１３３で変換出力データメモリ１５３からの変換出力データを各変換ユニット１３３に書き込む。各変換ユニット１３３に書き込まれた変換出力データは１ライン分が同時に各プロセッサエレメント４１に転送される。
【００４２】
続いて比較変換部１００の各部分について詳細に説明する。図３に比較ユニット１１３の構成を示す。比較ユニット１１３は被変換データレジスタ１１４および一致比較器１２０から構成される。被変換データレジスタ１１４および一致比較器１２０の動作は命令制御部４２からの制御信号で制御され、この制御信号は比較部制御バス１１２を通じて比較ユニット１１３へ転送される。
【００４３】
比較部制御バス１１２は被変換データレジスタ制御バス１１５と一致比較器制御バス１２１から構成されている。被変換データレジスタ１１４がプロセッサエレメント４１から被変換データを取り込む動作は、命令制御部４２からの制御信号で制御され、この制御信号は被変換データレジスタ制御バス１１５を通じて被変換データレジスタ１１４へ転送される。また一致比較器１２０からの比較結果信号の出力は命令制御部４２からの制御信号で制御され、この制御信号は一致比較器制御バス１２１を通じて一致比較器１２０へ転送される。
【００４４】
被変換データレジスタ１１４にはプロセッサエレメント４１からの被変換データが取り込まれる。被変換データレジスタ１１４はフリップフロップあるいはＤＲＡＭセルのような素子で構成されたレジスタであり、被変換データを保持しておく機能を持つ。被変換データレジスタ１１４は最低でも被変換データのｂｉｔ幅以上のｂｉｔ幅を持つ。
【００４５】
プロセッサエレメント４１からの被変換データは比較部転送バス１１１を通じて被変換データレジスタ１１４に転送される。比較部転送バス１１１のｂｉｔ幅は任意であるが、本実施の形態では比較部転送バス１１１の幅が１ｂｉｔの場合について説明している。ゆえに８ｂｉｔの被変換データを被変換データレジスタ１１４に転送する場合には１ｂｉｔのデータ転送を８回実行することで実現する。
【００４６】
被変換データレジスタ１１４に保持された被変換データは一致比較器１２０に転送される。転送バス１１６のｂｉｔ幅は被変換データレジスタ１１４のｂｉｔ幅と同じである。被変換データレジスタ１１４は命令制御部４２からの制御信号で制御され、この制御信号は被変換データレジスタ制御バス１１５を通じて被変換データレジスタ１１４へ転送される。被変換データレジスタ制御バス１１５は被変換データレジスタ１１４へのアドレスバス１１７、ライト信号バス１１８、リード信号バス１１９から構成される。
【００４７】
比較部転送バス１１１から送られてくる被変換データが書き込まれる被変換データレジスタ１１４上での位置は、アドレスバス１１７を通じて転送されるアドレス信号で指定され、書き込みのタイミングはライト信号バス１１８を通じて転送されるライト信号で与えられる。また被変換データレジスタ１１４に保持されている被変換データを読み出すタイミングはリード信号バス１１９を通じて転送されるリード信号で与えられる。
【００４８】
一致比較器１２０は多ビットの一致判定をする比較器であり、被変換データレジスタ１１４からの被変換データと変換入力データメモリ１５０からの変換入力データを比較する。２つのデータが一致していてかつ一致比較器制御バス１２１からの制御信号が一致比較器を動作させる値の”１”である場合には比較結果信号バス１４０に比較結果信号として一致であることを表す”１”の値を出力し、それ以外の場合は比較結果信号バス１４０に比較結果信号として不一致であることを表す”０”の値を出力する。また一致比較器１２０からの比較結果信号は比較器制御バス１２１からの制御信号が”１”の時だけ出力される。
【００４９】
図４に変換ユニット１３３の構成を示す。変換ユニット１３３は変換出力データレジスタ１３４から構成される。変換出力データレジスタ１３４はフリップフロップあるいはＤＲＡＭセルのような素子で構成されたレジスタであり、変換出力データを保持しておく機能を持つ。変換出力データレジスタ１３４は最低でも変換出力データのｂｉｔ幅以上のｂｉｔ幅を持つ。
【００５０】
比較結果信号バス１４０を介した比較ユニット１１３からの比較結果信号が一致を表す”１”である場合は変換出力データメモリ１５３からの変換出力データが変換出力データレジスタ１３４に書き込まれる。変換出力データメモリ１５３からの変換出力データは変換出力データ転送バス１５５を通して変換出力データレジスタ１３４に転送される。変換出力データ転送バス１５５のｂｉｔ幅は最低でも転送する変換出力データのｂｉｔ幅以上ある。比較結果信号バス１４０からの比較結果信号が”０”である場合には変換出力データレジスタ１３４には何も書き込まれない。
【００５１】
変換出力データレジスタ１３４は命令制御部４２からの制御信号で制御され、この制御信号は変換部制御バス１３２を通じて変換出力データレジスタ１３４へ転送される。変換部制御バス１３２は変換出力データレジスタ１３４へのアドレスバス１３５、ライト信号バス１３６、リード信号バス１３７で構成される。変換出力データ転送バス１５５からの変換出力データを変換出力データレジスタ１３４に書き込む時にはライト信号バス１３６へ送るライト信号を”１”の値にする。
【００５２】
変換出力データレジスタ１３４に書き込まれた変換出力データは変換部転送バス１３１を通してプロセッサエレメント４１へ転送される。変換出力データレジスタ１３４上で変換部転送バス１３１へ送り出す変換出力データを読み出す位置はアドレスバス１３５からのアドレス信号で指定され、読み出しのタイミングはリード信号バス１３７からのリード信号で与えられる。変換部転送バス１３１のｂｉｔ幅は任意であるが、本実施の形態では変換部転送バス１３１のｂｉｔ幅が１ｂｉｔの場合について説明している。ゆえに８ｂｉｔのデータを変換出力データレジスタ１３４から転送する場合には１ｂｉｔのデータ転送を８回実行することで実現する。
【００５３】
図５に変換入力データメモリ１５０および変換出力データメモリ１５３の構成を示す。非線形変換を行うために変換入力データメモリ１５０には非線形変換前の変換入力データが保持されており、変換出力データメモリ１５３には非線形変換後の変換出力データが保持されている。変換入力データメモリ１５０および変換出力データメモリ１５３のアドレスは連動しており、変換入力データメモリ１５０の出力に非線形変換前の変換入力データが出力されると、変換出力データメモリ１５３の出力には対応する非線形変換後の変換出力データが出力される。
【００５４】
次に非線形変換の動作を図６に従って説明する。非線形変換を行うときには変換入力データメモリ１５０から変換入力データ転送バス１５２へ非線形変換前の変換入力データが順次送り出されると同時に、変換出力データメモリ１５３から変換出力データ転送バス１５５へ対応する非線形変換後の変換出力データが送り出される。送り出される変換入力データおよび変換出力データの数は非線形変換で扱う変換入力データの階調数と同じであり、２５６階調の非線形変換の場合は２５６個の非線形変換前の変換入力データが変換入力データメモリ１５０から変換入力データ転送バス１５２へ送り出され、非線形変換後の変換出力データが変換出力データメモリ１５３から変換出力データ転送バス１５５へ送り出される。
【００５５】
変換入力データ転送バス１５２の変換入力データと比較ユニット１１３の被変換データレジスタ１１４に保持されている被変換データとが一致した比較ユニット１１３だけが、対応する変換ユニット１３３に一致していることを表す”１”の比較結果信号を送り、変換ユニット１３３が変換出力データ転送バス１５５からの変換出力データを取り込む。この動作を被変換データの全ての階調について行うことで、各変換ユニット１３３の変換出力データレジスタ１３４に非線形変換後の変換出力データが取り込まれ、非線形変換が実施される。
【００５６】
本実施の形態による方法で非線形変換を行うと、その処理ステップ数は被変換データの階調数と一致する。図２４に示した従来の並列処理プロセッサ１５では非線形変換に要する処理ステップ数は１ライン分の画素数である。本発明の実施の形態による方式ならば処理ステップ数は被変換データの階調数であるために、１ライン分の画素数が被変換データの階調数よりも多い場合には、本発明の実施の形態による方式は非常に有効である。
【００５７】
実施の形態２．
本発明の実施の形態２を図７に基づき説明する。図７に示した並列処理プロセッサ７は図１に示す並列処理プロセッサ１の比較変換部１００に代えて近似非線形変換を実行する係数転送部２００を設けたものであり、プロセッサエレメント４１の数は実施の形態１と同様Ｎ個としている。
【００５８】
本発明の特徴的部分である近似非線形変換を実行する係数転送部２００について説明する前に、近似非線形変換について説明する。画像処理では非線形変換が頻繁に用いられる。非線形変換の入力に対する出力のグラフの一例を図２８に示す。このような非線形変換全体を２次式あるいは３次式程度の低次の多項式で近似すると、近似誤差が大きく実用的ではない。
【００５９】
そこで図２９のように入力をいくつかの区間に区切って、区間毎に多項式近似を行なうことで近似誤差を少なくすることができる。このように区間毎に多項式近似を行なって非線形変換を近似的に実現する手法を近似非線形変換と呼ぶことにする。
【００６０】
図３０中の近似多項式は図２９のグラフに示したような非線形変換を近似非線形変換する多項式である。図３０の近似多項式では区間の数を４にして、近似多項式の次数を２にしている。そのため近似多項式の係数の数が一つの区間毎に３個で合計１２個ある。
【００６１】
また図３０は近似非線形変換のフローチャートである。近似非線形変換は３種類の処理から構成される。１番目の処理は被変換データがどの区間に入っているかを判定する処理である。２番目の処理は対応する区間の近似多項式の係数を係数メモリからロードする処理である。３番目の処理は図３０に示した多項式演算を行ない、変換出力値を求める処理である。
【００６２】
１番目の区間判定処理および２番目の対応する近似多項式の係数転送処理は、被変換データの値によって区間および対応する近似多項式の係数が異なるために、全てのプロセッサエレメントが同じ動作をするＳＩＭＤ型プロセッサでは実現するのが困難である。そこで本発明では区間判定処理および近似多項式の係数転送処理を実行する係数転送部２００を備えている。
【００６３】
続いて被変換データの区間判定および対応する近似多項式の係数転送を並列に処理する係数転送部２００について説明する。図７中の係数転送部２００以外の部分は図２４に示した従来の並列処理プロセッサ１５と同様の動作をし、入力シフトレジスタ２０、プロセッサ部４０および出力シフトレジスタ３０はパイプライン動作をし、プロセッサ部４０ではＳＩＭＤ制御によるＮ個の並列処理が行なわれる。
【００６４】
図８に係数転送部２００の詳細な構成を示す。係数転送部２００は大きく分けて、区間比較部２１０、係数取得部２２０、区間データメモリ２３０および係数データメモリ２３３から構成される。
【００６５】
区間データメモリ２３０には近似非線形変換で使用する区間の区切りの値が保持されている。係数データメモリ２３３には区間毎の近似多項式の係数データが保持されている。
【００６６】
区間比較部２１０はＮ個の区間比較ユニット２１３−１〜２１３−Ｎから構成され、各区間比較ユニット２１３−１〜２１３−Ｎは１つの区間比較部制御バス２１２からの信号で制御される。区間比較ユニット２１３−１〜２１３−Ｎは全て同じ構成なので、以後区間比較ユニット２１３−１〜２１３−Ｎを区間比較ユニット２１３と呼ぶことにする。
【００６７】
同様に係数取得部２２０はＮ個の係数取得ユニット２２３−１〜２２３−Ｎから構成され、各係数取得ユニット２２３−１〜２２３−Ｎは１つの係数取得部制御バス２２２からの信号で制御される。係数取得ユニット２２３−１〜２２３−Ｎは全て同じ構成なので、以後係数取得ユニット２２３−１〜２２３−Ｎを係数取得ユニット２２３と呼ぶことにする。
【００６８】
次に係数転送部２００の動作の概略について説明する。非線形変換される被変換データはプロセッサエレメント４１から１ライン分が同時に各区間比較ユニット２１３に書き込まれる。各区間比較ユニット２１３では区間データメモリ２３０から転送される区間の区切りを表す区間データと各区間比較ユニット２１３内に書き込まれた被変換データとを比較して比較結果を係数取得部２２０に転送する。
【００６９】
各係数取得ユニット２２３では比較結果に応じて、係数データメモリ２３３からの近似多項式の係数データを各係数取得ユニット２２３に書き込むか否かを決定する。各係数取得ユニット２２３に書き込まれた近似多項式の係数データは１ライン分が同時にプロセッサエレメント４１に転送される。
【００７０】
続いて係数転送部２００の各部分について詳細に説明する。図９に区間比較ユニット２１３の構成を示す。区間比較ユニット２１３は被変換データレジスタ１１４および大小比較器２１４から構成される。被変換データレジスタ１１４および大小比較器２１４の動作は区間比較部制御バス２１２から転送される区間比較部制御信号で制御される。
【００７１】
区間比較部制御バス２１２は被変換データレジスタ制御バス１１５と大小比較器制御バス２１５から構成されている。被変換データレジスタ制御バス１１５から転送される被変換データレジスタ制御信号は被変換データレジスタ１１４がプロセッサエレメント４１から被変換データを取り込む動作を制御する。大小比較器制御バス２１５から転送される大小比較器制御信号は大小比較器２１４からの比較結果の出力を制御する。
【００７２】
被変換データレジスタ１１４にはプロセッサエレメント４１からの被変換データが取り込まれる。被変換データレジスタ１１４はフリップフロップあるいはＤＲＡＭセルのような素子で構成されたレジスタであり、被変換データを保持しておく機能を持つ。被変換データレジスタ１１４は最低でも被変換データのｂｉｔ幅以上のｂｉｔ幅を持つ。
【００７３】
プロセッサエレメント４１からの被変換データは区間比較部転送バス２１２を通じて被変換データレジスタ１１４に転送される。区間比較部転送バス２１２のｂｉｔ幅は任意であるが、本実施の形態では区間比較部転送バス２１２のｂｉｔ幅が１ｂｉｔの場合について説明している。ゆえに８ｂｉｔの被変換データを被変換データレジスタ１１４に転送する場合には１ｂｉｔのデータ転送を８回実行することで実現する。
【００７４】
被変換データレジスタ１１４に保持された被変換データは転送バス１１６を通じて大小比較器２１４に転送される。転送バス１１６のｂｉｔ幅は被変換データレジスタ１１４のｂｉｔ幅と同じである。
【００７５】
被変換データレジスタ１１４は被変換データレジスタ制御バス１１５から転送される命令制御部４２からの被変換データレジスタ制御信号で制御される。被変換データレジスタ制御バス１１５は被変換データレジスタ１１４へのアドレスバス１１７、ライト信号１１８、リード信号１１９から構成される。
【００７６】
区間比較部転送バス２１１から送られてくる被変換データが書き込まれる被変換データレジスタ１１４上での位置はアドレスバス１１７から転送されるアドレス信号で指定され、書き込みのタイミングはライト信号バス１１８から転送されるライト信号で与えられる。また被変換データレジスタ１１４に保持されている被変換データを読み出すタイミングはリード信号バス１１９から転送されるリード信号で与えられる。
【００７７】
大小比較器２１４は多ビット幅の大小比較器であり、被変換データレジスタ１１４からの被変換データと区間データメモリ２３０からの区間データの大小を比較する。２つのデータの大小を比較して被変換データの方が小さくかつ大小比較器制御バス２１５からの信号が大小比較器を動作させる値である”１”である場合に比較結果信号バス１４０に被変換データの方が小さいことを表す”１”の値を出力し、それ以外の場合は比較結果信号バス１４０に被変換データの方が大きいことを表す”０”の値を出力する。大小比較器２１４からの比較結果信号は大小比較器制御バス２１５からの大小比較器制御信号が”１”の時にだけ出力される。
【００７８】
図１０に係数取得ユニット２２３の構成を示す。係数取得ユニット２２３は最低でも１個以上の係数データレジスタ２２４から構成される。係数データレジスタ２２４の個数は１つの近似多項式に含まれる係数の個数と等しくするのが理想的である。図１０では係数データレジスタの個数が２２４−Ａ〜２２４−Ｃの３個の場合を表している。
【００７９】
係数データレジスタ２２４−Ａ〜２２４−ＣはフリップフロップあるいはＤＲＡＭセルのような素子で構成されたレジスタであり、近似多項式の係数データを保持しておく機能を持つ。係数データレジスタ２２４−Ａ〜２２４−Ｃは最低でも近似多項式の係数データのｂｉｔ幅以上のｂｉｔ幅を持つ。
【００８０】
区間比較ユニット２１３での比較結果信号が”１”である場合は係数データメモリ２３３からの近似多項式の係数データが係数データレジスタ２２４−Ａ〜２２４−Ｃに取り込まれる。係数データメモリ２３３からの近似多項式の係数データは係数データ転送バス２３５を通して転送される。
【００８１】
係数データ転送バス２３５のｂｉｔ幅は係数取得ユニット内の各係数データレジスタのｂｉｔ幅の和である。図１０の場合は近似多項式が２次式であり、係数データレジスタが３個あるので係数データ転送バスのｂｉｔ幅は近似多項式の係数データのｂｉｔ幅の３倍である。また比較結果が”０”である場合には係数データレジスタ２２４には何も取り込まれない。
【００８２】
係数データレジスタ２２４−Ａ〜２２４−Ｃは命令制御部４２からの係数取得部制御バス２２２から転送される係数取得部制御信号で制御される。係数取得部制御バス２２２は係数データレジスタ２２４−Ａ〜２２４−Ｃへのアドレスバス２２５、ライト信号バス２２６、リード信号バス２２７および係数データレジスタ選択信号バス２２９で構成される。
【００８３】
係数データ転送バス２３５からの近似多項式の係数データを係数データレジスタ２２４−Ａ〜２２４−Ｃに取り込む時にはライト信号バス２２６へ送出するライト信号をイネーブルにする。
【００８４】
係数データレジスタ２２４−Ａ〜２２４−Ｃに取り込まれた近似多項式の係数データは係数取得部転送バス２２１を通してプロセッサエレメント４１へ転送される。係数データレジスタ２２４−Ａ〜２２４−Ｃ上で係数取得部転送バス２２１へ送り出す近似多項式の係数データを読み出す位置はアドレスバス２２５からのアドレス信号で指定され、読み出しのタイミングはライト信号バス２２７からのライト信号で与えられる。またどの係数データレジスタの値を係数取得部転送バスへ送り出すかは係数データレジスタセレクタ２２８において係数データレジスタ選択信号バス２２９からの係数データレジスタ選択信号で選択される。
【００８５】
なお係数データレジスタ２２４が１個の場合は係数データレジスタセレクタ２２８および係数データレジスタ選択信号バス２２９は必要なく、係数データレジスタ２２４の出力が直接係数取得部転送バス２２１に接続される。係数取得部転送バス２２１のｂｉｔ幅は任意であるが、本実施の形態では係数取得部転送バス２２１のｂｉｔ幅が１ｂｉｔの場合について説明している。ゆえに８ｂｉｔのデータを係数データレジスタ２２４から転送する場合には１ｂｉｔのデータ転送を８回実行することで実現する。
【００８６】
係数データレジスタの個数が近似多項式の係数の個数よりも少ない場合は、上記の係数取得の動作を複数回実行することで近似多項式で使用する全係数データをプロセッサ部４０へ転送する。例えば係数データレジスタが１個で、近似多項式が２次式である場合には、近似多項式の係数データは３個必要であるので、係数取得の動作を３回実行して近似多項式の係数データを取得する。
【００８７】
図１１に区間データメモリ２３０および係数データメモリ２３３の構成を示す。近似非線形変換を行うために区間データメモリ２３０には近似する区間の区切りを表す区間データが保持されており、係数データメモリ２３３には近似多項式の係数データが保持されている。区間データメモリ２３０および係数データメモリ２３３のアドレスは連動しており、区間データメモリ２３０の出力に区間データが出力されると、係数データメモリ２３３の出力には対応する近似多項式の係数データが出力される。
【００８８】
次に近似非線形変換の動作を図１２に従って説明する。近似非線形変換を行うときには区間データメモリ２３０から区間データ転送バス２３２へ一つの区間の区切りを表す区間データが順次送り出されると同時に、係数データメモリ２３３から係数データ転送バス２３５へ対応する区間の近似多項式の係数データが順次送り出される。順次送り出される区間データおよび近似多項式の係数データの数は区間の数と同じである。
【００８９】
区間データ転送バス２３２の区間データと区間比較ユニット２１３の被変換データレジスタ１１４に保持されている被変換データとを比較し、被変換データの方が区間データよりも小さい区間比較ユニット２１３だけが、対応する係数取得ユニット２２３に被変換データの方が小さいことを表す”１”の比較結果信号を送り、係数取得ユニット２２３が係数データ転送バス２３５からの近似多項式の係数データを取り込む。
【００９０】
この動作を入力値の小さい区間から順に行い、全ての区間について行うことで、各係数取得ユニット２２３の係数データレジスタ２２４に近似多項式の係数データが取り込まれる。取り込まれた近似多項式の係数データはプロセッサ部４０へ転送され、近似多項式の演算処理が行なわれ、非線形変換の変換値が求められる。
【００９１】
本発明の実施の形態による方法で非非線形変換を行うと、その処理ステップ数は係数転送にかかるステップ数と近似演算にかかるステップ数の和になる。図２４に示した従来の並列処理プロセッサ１５では非線形変換に要する処理ステップ数は１ライン分の画素数である。本発明の実施の形態による方式ならば区間数を適切に設定することで係数転送にかかるステップ数を大幅に削減することができるため、非線形変換処理を高速に実行することができる。
【００９２】
実施の形態３．
本発明の実施の形態３を図１３に基づき説明する。図１３に示した並列処理プロセッサ２はプロセッサエレメント４１の数をＮ個とし、比較変換部１０１は図１で示した比較変換部１００に比較結果信号レジスタ１４１を付加したものである。その他は図１に示す並列処理プロセッサ１と同様である。
【００９３】
比較変換部１０１は大きく分けて、比較部１１０、変換部１３０、変換入力データメモリ１５０、変換出力データメモリ１５３および比較結果信号レジスタ１４１から構成される。
【００９４】
比較変換部１０１では図１で示した比較変換部１００と同様に非線形変換処理を行なうことの他に、比較部１０１からの比較結果信号でプロセッサエレメント４１を制御することが可能である。比較結果信号でプロセッサエレメント４１を制御することで、プロセッサエレメント４１での選択的な動作が可能になり、条件分岐処理等を効率良く実行することができる。
【００９５】
図１３中の比較変換部１０１以外の部分は図２４に示した従来の並列処理プロセッサ１５と同様の動作をする。つまり入力シフトレジスタ２０、プロセッサ部４０および出力シフトレジスタ３０はパイプライン動作をし、プロセッサ部４０ではＳＩＭＤ制御でＮ個の並列処理が行なわれる。
【００９６】
比較変換部１０１の動作について説明する。図１４に比較変換部１０１の詳細な構成を示す。図１３中の比較部１１０、変換部１３０、変換入力データメモリ１５０および変換出力データメモリ１５３は図２の比較変換部１００と同様の動きをする。
【００９７】
比較結果信号レジスタ１４１は比較ユニット１１０から送られてくる比較結果信号を保持しておくレジスタであり、フリップフロップあるいはＤＲＡＭセルのようなデータを保持する機能を持った素子で構成されている。保持された比較結果信号は変換ユニット１３３あるいはプロセッサエレメント４１で使用される。
【００９８】
続いて比較変換部１０１を用いた非線形変換処理の動作と、比較結果信号によるプロセッサエレメント４１の制御の動作について説明する。
【００９９】
比較ユニット１１３の動作は実施の形態１の比較ユニット１１３の動作と同じである。被変換データはプロセッサエレメント４１から１ライン分が同時に各比較ユニット１１３に書き込まれる。各比較ユニット１１３では各比較ユニット１１３内に書き込まれた被変換データと変換入力データメモリ１５０から転送される変換入力データとを比較して、比較結果信号を出力し、その値を比較結果信号レジスタ１４１に保持しておく。
【０１００】
非線形変換を行なう場合には上記実施の形態１の方法により、各変換ユニット１３３が比較結果信号レジスタ１４１に保持されている比較結果信号に応じて、変換出力データメモリ１５３からの変換出力データを各変換ユニット１３３に書き込むか否かを決定する。
【０１０１】
各変換ユニット１３３内に取り込まれた変換出力データは１ライン分が同時にプロセッサエレメント４１に送り出される。変換ユニット１３３の動作も実施の形態１の変換ユニット１３３の動作と同じである。
【０１０２】
比較結果信号バス１４０からの比較結果信号でプロセッサエレメント４１の動作を制御する場合には比較結果信号レジスタ１４１に保持されている比較結果信号がプロセッサエレメント４１に送られ、この信号でプロセッサエレメント４１の動作を制御する。
【０１０３】
このように構成することで比較部１１０での比較処理とプロセッサエレメント４１での演算処理を並行して行なうことができ、かつ比較結果信号によってプロセッサエレメント４１の動作を制御することができるため、プロセッサエレメント４１での選択的な動作が可能になり、条件分岐処理を効率良く実現することができる。
【０１０４】
なお、上記実施の形態３では、上記実施の形態１の適用について説明したが、上記実施の形態２についても、適用することが可能である。その場合の実施例を図１５に示す。この場合、比較結果信号レジスタ１４１は区間比較部２１０から送られてくる比較結果信号を保持しておき係数取得部２１０は、比較結果信号レジスタ１４１に保持されている比較結果信号に応じて、係数データを取り込むか否かを決定する。
【０１０５】
係数取得部２１０内に取り込まれた変換出力データは１ライン分が同時にプロセッサエレメント４１に送り出される。比較結果信号レジスタ１４１からの比較結果信号でプロセッサエレメント４１の動作を制御する場合には比較結果信号レジスタ１４１に保持されている比較結果信号がプロセッサエレメント４１に送られ、この信号でプロセッサエレメント４１の動作を制御する。
【０１０６】
実施の形態４．
本発明の実施の形態４を図１６に基づき説明する。図１６に示した並列処理プロセッサ３はプロセッサエレメント４１の数をＮ個とし、図１３で示した比較変換部１０１の演算ユニット５１の代わりにコマンド選択演算ユニット１６０を備えたものである。
【０１０７】
図１６中の入力シフトレジスタ２０、出力シフトレジスタ３０およびメモリ部６０は図２４に示した従来の並列処理プロセッサ１５と同様の動作をする。
【０１０８】
また図１６中の比較部１１０、変換部１３０、変換入力データメモリ１５０、変換出力データメモリ１５３および比較結果信号レジスタ１４１は図１３に示した並列処理プロセッサ２のそれと同じ動作をする。
【０１０９】
本実施の形態では演算部５０中の演算ユニット５１が図２５に示した演算ユニット５１とは異なり図１７に示したコマンド選択演算ユニット１６０になっている。
【０１１０】
コマンド選択演算ユニット１６０は図１７に示すように演算器５２、演算器入力セレクタ５５およびコマンドセレクタ１６１から構成されている。演算器５２および演算器入力セレクタ５５は図２５に示した演算器５２および演算器入力セレクタ５５と同じものである。
【０１１１】
コマンドセレクタ１６１は２入力１出力のセレクタである。コマンドセレクタ１６１の入力には演算器制御バス５３およびＮＯＰ命令バス１６３が接続され、出力にはコマンドセレクタ出力１６２が接続され、各バスとも同じｂｉｔ幅を持っている。演算器制御バス５３には命令制御部４２でデコードされた命令を演算器５２で実行する演算器命令信号が入力される。ＮＯＰ命令バス１６３にはＮＯＰ命令を演算器で実行するＮＯＰ命令信号が入力される。
【０１１２】
コマンドセレクタ１６１の出力１６２は各コマンド選択演算ユニット１６０ー１〜１６０ーＮに接続され、コマンド選択演算ユニット１６０ー１〜１６０ーＮの動作を制御する。またコマンドセレクタ１６１の出力１６２は比較結果信号レジスタ１４１からの信号でセレクトされる。
【０１１３】
比較結果信号レジスタ１４１の値が”１”の場合には演算器命令信号が選択され、”０”の場合にはＮＯＰ命令信号が選択される。
【０１１４】
このように構成することで比較部１１０での比較結果によってコマンド選択演算ユニット１６０の動作を命令制御部４２が指示する動作あるいはＮＯＰ動作の何れかから選択することができ、プロセッサエレメント４１での選択的な動作が可能になり、条件分岐処理等を効率良く実現することができる。
【０１１５】
なお、上記実施例は実施の形態１に適用する場合について述べたが、上記実施の形態２に適用できることは言うまでもない。
【０１１６】
実施の形態５．
本発明の実施の形態５を図１８に基づき説明する。図１８に示した並列処理プロセッサ４はプロセッサエレメント４１の数をＮ個とし、図１３で示した比較変換部１０１の演算ユニット５１の代わりに選択的コマンド選択演算ユニット１７０を備えたものである。
【０１１７】
図１７中の入力シフトレジスタ２０、出力シフトレジスタ３０およびメモリ部６０は図２３に示した従来の並列処理プロセッサ１５と同様の動作をする。
【０１１８】
また図１８中の比較部１１０、変換部１３０、変換入力データメモリ１５０、変換出力データメモリ１５３および比較結果信号レジスタ１４１は図１３に示した並列処理プロセッサ２のそれと同じ動作をする。
【０１１９】
本実施の形態では演算部５０中の演算ユニット５１が図２５に示した演算ユニット５１とは異なり図１９に示した選択的コマンド選択演算ユニット１７０になっている。
【０１２０】
選択的コマンド選択演算ユニット１７０は図１９に示ように演算器５２、演算器入力セレクタ５５、コマンドセレクタ１６１およびコマンド選択スイッチ１７１から構成されている。演算器５２および演算器入力セレクタ５５は図２５に示した演算器５２および演算器入力セレクタ５５と同じものである。
【０１２１】
コマンドセレクタ１６１は２入力１出力のセレクタであり、図１７のコマンドセレクタ１６１と同様に接続されている。
【０１２２】
コマンド選択スイッチ１７１は比較結果信号レジスタ１４１からの信号をコマンドセレクタ１６１に入力するか否かを選択するスイッチであり、コマンド選択信号バス１７３からのコマンド選択信号で制御される。命令制御部４２からのコマンド選択信号が”１”の時は比較結果信号がコマンドセレクタ１６１に送られ、”０”のときにはコマンドセレクタ１６１に”０”の信号が送られる。
【０１２３】
コマンドセレクタ１６１はコマンド選択スイッチ１７１からの信号が”１”の場合には演算器命令信号を選択し、”０”の場合にはＮＯＰ命令信号を選択する。
【０１２４】
コマンドの中にコマンド選択信号の値を埋め込むことで、比較結果信号を参照するコマンドと参照しないコマンドの２種類のコマンドを用意することができる。比較結果信号レジスタ１４１の値を参照する場合には、比較部１１０での比較結果によって選択的コマンド選択演算ユニット１７０の動作を命令制御部４２が指示する動作あるいはＮＯＰ動作のいずれかから選択することができる。
【０１２５】
また比較結果信号レジスタ１４１の値を参照しない場合には、命令制御部４２が指示する動作をそのまま選択的コマンド選択演算ユニット１７０に送ることができる。このような構成にすることでプロセッサエレメント４１での選択的な動作が可能になり、条件分岐処理等をより効率的に実行することができる。
【０１２６】
なお、上記実施例は実施の形態１に適用する場合について述べたが、上記実施の形態２に適用できることは言うまでもない。
【０１２７】
実施の形態６．
本発明の実施の形態６を図２０に基づき説明する。図２０に示した並列処理プロセッサ５はプロセッサエレメント４１の数をＮ個とし、図１３で示した比較変換部１０１の演算ユニット５１の代わりに入力ソース選択演算ユニット１８０を備えたものである。
【０１２８】
図２０中の入力シフトレジスタ２０、出力シフトレジスタ３０およびメモリ部６０は図２４に示した従来の並列処理プロセッサ１５と同様の動作をする。
【０１２９】
また図２０中の比較部１１０、変換部１３０、変換入力データメモリ１５０、変換出力データメモリ１５３および比較結果信号レジスタ１４１は図１３に示した並列処理プロセッサ２のそれと同じ動作をする。
【０１３０】
本実施の形態では演算部５０中の演算ユニット５１が図２５に示した演算ユニット５１とは異なり図２１に示した入力ソース選択演算ユニット１８０になっている。
【０１３１】
入力ソース選択演算ユニット１８０は図２１に示すように演算器５２、演算器入力セレクタ５５および入力ソースセレクタ１８１から構成されている。演算器５２および演算器入力セレクタ５５は図２５に示した演算器５２および演算器入力セレクタ５５と同じものである。
【０１３２】
入力ソースセレクタ１８１は多入力２出力のセレクタである。入力ソースセレクタ１８１の入力にはメモリユニット６１中のメモリバンク６３および６４からの出力バス６５が接続される。入力ソースセレクタ１８１には自プロセッサエレメント４１のメモリユニット６１中の各メモリバンク６３の出力バス６５の他に、左右に隣接するプロセッサエレメント４１のメモリユニット６１中のメモリバンク６３の出力バス６５が入力される。
【０１３３】
入力ソースセレクタ１８１はそれらのメモリバンク６３の出力バス６５の中から２組のメモリバンク６３の出力バス５６および５７を選択し、演算器５２の入力へ接続している。入力ソースセレクタ１８１の選択信号は入力ソースセレクタ制御バス１８３および比較結果信号バス１４０から与えられる。入力ソースセレクタ制御信号および比較結果信号の組合せで演算器５２へ接続する２組のメモリバンクの出力を選択し、演算器入力セレクタ出力Ａ５６および演算器入力セレクタ出力Ｂ５７に出力する。
【０１３４】
本構成では比較結果信号の値によって入力ソースを変えることができる。このように構成することで比較部１１０での比較結果によって演算器５２への入力を選択することができ、プロセッサエレメント４１での選択的な動作が可能になり、条件分岐処理等を効率良く実現することができる。
【０１３５】
なお、上記実施例は実施の形態１に適用する場合について述べたが、上記実施の形態２に適用できることは言うまでもない。
【０１３６】
実施の形態７．
本発明の実施の形態７を図２２に基づき説明する。図２２に示した並列処理プロセッサ６はプロセッサエレメント４１の数をＮ個とし、図１３で示した比較変換部１０１の演算ユニット５１の代わりに出力データ選択演算ユニット１９０を備えたものである。
【０１３７】
図２２中の入力シフトレジスタ２０、出力シフトレジスタ３０およびメモリ部６０は図２４に示した従来の並列処理プロセッサ１５と同様の動作をする。
【０１３８】
図２２中の比較部１１０、変換部１３０、変換入力データメモリ１５０、変換出力データメモリ１５３および比較結果信号レジスタ１４１は図１３に示した並列処理プロセッサ２のそれと同じ動作をする。
【０１３９】
本実施の形態では演算部５０中の演算ユニット５１が図２５に示した演算ユニット５１とは異なり図２３に示した出力データ選択演算ユニット１９０になっている。
【０１４０】
出力データ選択演算ユニット１９０は図２３に示すように演算器５２、演算器入力セレクタ５５および出力データセレクタ１９１から構成されている。演算器５２および演算器入力セレクタ５５は図２５に示した演算器５２および演算器入力セレクタ５５と同じものである。
【０１４１】
出力データセレクタ１９１は多入力１出力のセレクタである。１つの入力には演算器５２からの演算器出力５５が入力される。他の入力には自プロセッサエレメント４１および隣接プロセッサエレメント４１中のメモリバンク６３および６４の出力バス６５が接続される。
【０１４２】
出力データセレクタ１９１はそれらの入力中から１つの出力を選択し、出力データ選択演算ユニット出力１９２として出力している。出力データセレクタ１９１の選択信号は出力データセレクタ制御バス１９３および比較結果信号バス１４０で与えられる。出力データセレクタ制御信号および比較結果信号の組合せで、出力データ選択演算ユニット１９０外へ出力する１組の出力を選択する。
【０１４３】
本構成では比較結果信号の値によって出力データを変えることができる。このように構成することで比較部１１０での比較結果によって出力データ演算ユニット１９０の出力データを選択することができ、プロセッサエレメント４１での選択的な動作が可能になり、条件分岐処理等を効率良く実現することができる。
【０１４４】
なお、上記実施例は実施の形態１に適用する場合について述べたが、上記実施の形態２に適用できることは言うまでもない。
【０１４５】
【発明の効果】
請求項１および２記載の本発明によれば、ＳＩＭＤ方式のプロセッサでは処理ステップ数が多く必要になる非線形変換処理を、並列に非線形変換することでより少ないステップ数で高速に実現可能となる。
【０１４６】
請求項３記載の本発明によれば、被変換データをグループ分けし、このグループに対応した変換出力データと被変換データの演算を並列に行なうことで高速に非線形変換が実現できる。
【０１４７】
請求項４記載の本発明によれば、並列に非線形変換することで高速に非線形変換が実現できる。さらに比較処理と演算処理を並行して実行することで高速化を実現でき、かつ比較による比較結果でプロセッサエレメントの動作を制御できる。
【０１４８】
請求項５記載の本発明によれば、並列に非線形変換することで高速に非線形変換が実現できる。さらに比較処理と演算処理を並行して実行することで高速化を実現でき、かつ比較による比較結果で演算ユニットの動作を命令制御部が指示する動作あるいはＮＯＰ動作のいずれから選択することで条件分岐処理を効率良く実現することができる。
【０１４９】
請求項６記載の本発明によれば、並列に非線形変換することで高速に非線形変換が実現できる。さらに比較処理と演算処理を並行して実行することで高速化を実現でき、かつ比較による比較結果で演算ユニットの動作を命令制御部が指示する動作あるいはＮＯＰ動作のいずれかから選択することで条件分岐処理を効率良く実現することができる。またコマンドの中にコマンド選択信号の値を埋め込むことで、比較結果信号を参照するコマンドと参照しないコマンドの２種類のコマンドを用意することができ、条件分岐処理をより効率的に実行することができる。
【０１５０】
請求項７記載の本発明によれば、並列に非線形変換することで高速に非線形変換が実現できる。さらに比較処理と演算処理を並行して実行することで高速化を実現でき、かつ比較による比較結果で演算器への入力ソースを選択することができ、条件分岐処理を効率良く実現することができる。
【０１５１】
請求項８記載の本発明によれば、並列に非線形変換することで高速に非線形変換が実現できる。さらに比較処理と演算処理を並行して実行することで高速化を実現でき、かつ比較による比較結果で演算ユニットからの出力を選択することができ、条件分岐処理を効率良く実現することができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１を示す画像処理プロセッサの構成図である。
【図２】  図１に示す画像処理プロセッサの比較変換部の構成図である。
【図３】  図１に示す画像処理プロセッサの比較ユニットの構成図である。
【図４】  図１に示す画像処理プロセッサの変換ユニットの構成図である。
【図５】  図１に示す画像処理プロセッサの比較テーブルメモリおよび変換テーブルメモリの構成図である。
【図６】  図１に示す画像処理プロセッサの比較変換部の動作を示した図である。
【図７】  本発明の実施の形態２を示す画像処理プロセッサの構成図であ
る。
【図８】  図７に示す画像処理プロセッサの係数転送部の構成図である。
【図９】  図７に示す画像処理プロセッサの区間比較ユニットの構成図である。
【図１０】  図７に示す画像処理プロセッサの係数取得ユニットの構成図である。
【図１１】  図７に示す画像処理プロセッサの区間テーブルメモリおよび係数テーブルメモリの構成図である。
【図１２】  図７に示す画像処理プロセッサの係数転送部の動作を示した図である。
【図１３】  本発明の実施の形態３を示す画像処理プロセッサの構成図である。
【図１４】  図１３に示す画像処理プロセッサの比較変換部の構成図であ
る。
【図１５】  本発明の実施の形態３の他の実施例を示す画像処理プロセッサの構成図である。
【図１６】  本発明の実施の形態４を示す画像処理プロセッサの構成図である。
【図１７】  図１６に示す画像処理プロセッサの演算ユニットの構成図である。
【図１８】  本発明の実施の形態５を示す画像処理プロセッサの構成図である。
【図１９】  図１８に示す画像処理プロセッサの演算ユニットの構成図である。
【図２０】  本発明の実施の形態６を示す画像処理プロセッサの構成図である。
【図２１】  図２０に示す画像処理プロセッサの演算ユニットの構成図である。
【図２２】  本発明の実施の形態７を示す画像処理プロセッサの構成図である。
【図２３】  図２０に示す画像処理プロセッサの演算ユニットの構成図である。
【図２４】  従来の並列処理プロセッサの構成図である。
【図２５】  従来の並列処理プロセッサの演算ユニットの構成図である。
【図２６】  一般的なテーブルメモリを用いた非線形変換の動作を表す図である。
【図２７】  本発明の方式である逆引き非線形変換の動作を表す図である。
【図２８】  非線形変換の入出力の関係の一例を表した特性図である。
【図２９】  区間毎に近似した非線形変換の入出力の関係の一例を表した特性図である。
【図３０】  近似非線形変換の処理のフローを表した図である。
【符号の説明】
１〜７，１５：並列処理プロセッサ              ２０：入力シフトレジスタ
２１：外部データ入力バス          ２２ー１〜２２ーＮ：入力データ転送バス３０：出力シフトレジスタ                      ３１： 外部データ出力バス３２ー１〜３２ーＮ：出力データ転送バス        ４０：プロセッサ部
４１ー１〜４１ーＮ：プロセッサエレメント      ４２：命令制御部
４３：プロセッサ部制御バス                    ５０：演算部
５１ー１〜５１ーＮ：演算ユニット              ５２：演算器
５３：演算器制御バス                  ５４ー１〜５４ーＮ：演算器出力
５５：演算器入力セレクタ              ５６：演算器入力セレクタ出力Ａ
５７：演算器入力セレクタ出力Ｂ        ５８：演算器入力セレクタ制御バス
６０：メモリ部                    ６１ー１〜６１ーＮ：メモリユニット
６３ー１〜６３ーＮ：メモリバンク    ６４ー１〜６４ーＮ：メモリバンク
６５ー１〜６５ーＮ：メモリユニット出力  ６６：右隣接メモリユニット出力
６７：左隣接メモリユニット出力          ７０：テーブルメモリ
７１：非線形変換用出力シフトレジスタ
７２：非線形変換用入力シフトレジスタ
１００：比較変換部
１０１：比較結果信号レジスタを備えた比較変換部
１１０：比較部
１１１ー１〜１１１ーＮ：比較部転送バス    １１２：比較部制御バス
１１３ー１〜１１３ーＮ：比較ユニット      １１４：被変換データレジスタ
１１５：被変換データレジスタ制御バス      １１６：転送バス
１１７：アドレスバス                      １１８：ライト信号
１１９：リード信号                        １２０：一致比較器
１２１：一致比較器制御バス                １３０：変換部
１３１ー１〜１３１ーＮ：変換部転送バス      １３２：変換部制御バス
１３３ー１〜１３３ーＮ：変換ユニット    １３４：変換出力データレジスタ
１３５：アドレスバス                    １３６：ライト信号
１３７：リード信号            １４０ー１〜１４０ーＮ：比較結果信号バス
１４１ー１〜１４１ーＮ：比較結果信号レジスタ
１５０：変換入力データメモリ
１５１：変換入力データメモリ用アドレスバス
１５２：変換入力データ転送バス        １５３：変換出力データメモリ
１５４：変換出力データメモリ用アドレスバス
１５５：変換出力データ転送バス
１６０ー１〜１６０ーＮ：コマンド選択演算ユニット
１６１：コマンドセレクタ                １６２：コマンドセレクタ出力
１６３：ＮＯＰ命令バス
１７０ー１〜１７０ーＮ：選択的コマンド選択演算ユニット
１７１：コマンド選択スイッチ            １７２：コマンド選択バス
１８０ー１〜１８０ーＮ：入力ソース選択演算ユニット
１８１：入力ソースセレクタ            １８２：入力ソースセレクタ出力
１８３：入力ソースセレクタ制御バス
１９０ー１〜１９０ーＮ：出力データ選択演算ユニット
１９１：出力データセレクタ
１９２ー１〜１９２ーＮ：出力データセレクタ出力
１９３：出力データセレクタ制御バス
２００：係数転送部
２０１：比較結果信号レジスタを備えた係数転送部
２１０：区間比較部          ２１１ー１〜２１１ーＮ：区間比較部転送バス
２１２：区間比較部制御バス    ２１３ー１〜２１３ーＮ：区間比較ユニット
２１４：大小比較器                      ２１５：大小比較器制御バス
２２０：係数取得部          ２２１ー１〜２２１ーＮ：係数取得部転送バス
２２２：係数取得部制御バス    ２２３ー１〜２２３ーＮ：係数取得ユニット
２２４ーＡ〜２２４ーＣ：係数データレジスタ        ２２５：アドレスバス
２２６：ライト信号                          ２２７：リード信号
２２８：係数データレジスタセレクタ  ２２９：係数データレジスタ選択信号
２３０：区間データメモリ        ２３１：区間データメモリ用アドレスバス
２３２：区間データ転送バス                  ２３３：係数データメモリ
２３４：係数データメモリ用アドレスバス      ２３５：係数データ転送バス
【図１】
0003834869.tif 000002
【図２】
0003834869.tif 000003
【図３】
0003834869.tif 000004
【図４】
0003834869.tif 000005
【図５】
0003834869.tif 000006
【図６】
0003834869.tif 000007
【図７】
0003834869.tif 000008
【図８】
0003834869.tif 000009
【図９】
0003834869.tif 000010
【図１０】
0003834869.tif 000011
【図１１】
0003834869.tif 000012
【図１２】
0003834869.tif 000013
【図１３】
0003834869.tif 000014
【図１４】
0003834869.tif 000015
【図１５】
0003834869.tif 000016
【図１６】
0003834869.tif 000017
【図１７】
0003834869.tif 000018
【図１８】
0003834869.tif 000019
【図１９】
0003834869.tif 000020
【図２０】
0003834869.tif 000021
【図２１】
0003834869.tif 000022
【図２２】
0003834869.tif 000023
【図２３】
0003834869.tif 000024
【図２４】
0003834869.tif 000025
【図２５】
0003834869.tif 000026
【図２６】
0003834869.tif 000027
【図２７】
0003834869.tif 000028
【図２８】
0003834869.tif 000029
【図２９】
0003834869.tif 000030
【図３０】
0003834869.tif 000031