(57)【特許請求の範囲】
【請求項１】
ある１つの画像データを分割して得た各分割画像データを記憶する第１の記憶手段と、
自身の外部にある各素子のうちいずれかと結線され得る入力端子と出力端子、前記入力端子から入力されるデータに各種演算のうちいずれかを行って前記出力端子から出力させる演算器、入出端子と出力端子の各々と結線させる素子と前記演算器の演算内容とを指定するデータであるコンフィギュレーションデータを記憶するためのメモリ、及び前記メモリに記憶されるコンフィギュレーションデータを読み出し、読み出したコンフィギュレーションデータが指定する素子と前記両端子の各々を結線させると共にそのコンフィギュレーションデータが指定する演算内容の演算を前記演算器に行わせるデータ読出器をそれぞれ有する素子であるセルを集めたセル群と、
処理対象となった分割画像データにその上、下、又は上下に隣接する別の分割画像データを作用させてデータ内容を改変する各種データ処理を前記セル群が実行できるようにその各セルを連携させるためのコンフィギュレーションデータのセットを、データ処理の種別毎に記憶した第２の記憶手段と、
前記セル群に実行させるデータ処理の順序を示すローテーションデータを記憶した第３の記憶手段と、
前記第１の記憶手段に記憶された各分割画像データの各々を順次特定する特定手段と、
前記特定手段によって分割画像データが特定されるたびに、前記第２の記憶手段に記憶されたコンフィギュレーションデータのセットを前記第３の記憶手段に記憶されたローテーションデータが示す順序に従って選択し、選択したセットを基に前記セル群の各セルのメモリの記憶内容を書き換えてそれら各セルの連携状態を遷移させながら当該特定されている分割画像データを処理対象とする各種データ処理を順次実行させる手段であって、前記特定手段に特定されている分割画像データを処理対象とする第１の連携状態のセル群によるデータ処理の処理結果を得て当該セル群をその次の第２の連携状態へ遷移させる前に、特定されている分割画像データの上、下、又は上下に隣接する別の分割画像データを処理対象とした第１の連携状態でのデータ処理の処理結果が得られているか否か判断し、処理結果が得られていないと判断したときはその分割画像データを処理対象とするデータ処理を第１の連携状態のセル群に先に実行させ、処理結果が得られてからセル群を第２の連携状態へと遷移させ、前記処理結果が得られていると判断したときは当該セル群を前記第２の連携状態へと遷移させるコンフィギュレーション制御手段と
を備えたデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記セル群は、隣接する複数のセル毎にグループ化されたセルアレイを形成しているデータ処理装置。
【請求項３】
請求項１又は２に記載のデータ処理装置において、
前記セル群を成す各セルが有する演算器は、
加減算回路、乗算回路、否定論理積回路、排他的論理和回路、定数出力回路、及びそれらのうちいずれかを選択する選択回路を有し、
前記コンフィギュレーションデータは、前記選択回路に選択させる回路を指定するデータ処理装置。
【請求項４】
ある１つの画像データを分割して得た各分割画像データを記憶する第１の記憶手段と、自身の外部にある各素子のうちいずれかと結線され得る入力端子と出力端子、前記入力端子から入力されるデータに各種演算のうちいずれかを行って前記出力端子から出力させる演算器、入出端子と出力端子の各々と結線させる素子と前記演算器の演算内容とを指定するデータであるコンフィギュレーションデータを記憶するためのメモリ、及び前記メモリに記憶されるコンフィギュレーションデータを読み出し、読み出したコンフィギュレーションデータが指定する素子と前記両端子の各々を結線させると共にそのコンフィギュレーションデータが指定する演算内容の演算を前記演算器に行わせるデータ読出器をそれぞれ有する素子であるセルを集めたセル群と、処理対象となった分割画像データにその上、下、又は上下に隣接する別の分割画像データを作用させてデータ内容を改変する各種データ処理を前記セル群が実行できるようにその各セルを連携させるためのコンフィギュレーションデータのセットを、データ処理の種別毎に記憶した第２の記憶手段と、前記セル群に実行させるデータ処理の順序を示すローテーションデータを記憶した第３の記憶手段とを備えたコンピュータ装置に、
前記第１の記憶手段に記憶された各分割画像データの各々を順次特定する特定機能と、
前記特定機能によって分割画像データが特定されるたびに、前記第２の記憶手段に記憶されたコンフィギュレーションデータのセットを前記第３の記憶手段に記憶されたローテーションデータが示す順序に従って選択し、選択したセットを基に前記セル群の各セルのメモリの記憶内容を書き換えてそれら各セルの連携状態を遷移させながら当該特定されている分割画像データを処理対象とする各種データ処理を順次実行させる機能であって、前記特定機能に特定されている分割画像データを処理対象とする第１の連携状態のセル群によるデータ処理の処理結果を得て当該セル群をその次の第２の連携状態へ遷移させる前に、特定されている分割画像データの上、下、又は上下に隣接する別の分割画像データを処理対象とした第１の連携状態でのデータ処理の処理結果が得られているか否か判断し、処理結果が得られていないと判断したときはその分割画像データを処理対象とするデータ処理を第１の連携状態のセル群に先に実行させ、処理結果が得られてからセル群を第２の連携状態へと遷移させ、前記処理結果が得られていると判断したときは当該セル群を前記第２の連携状態へと遷移させるコンフィギュレーション制御機能と
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関し、特に、各種画像処理を行わせるべく複合機内に搭載されるデータ処理装置に関する。
【背景技術】
【０００２】
複合機が原稿をスキャンして得た画像データは、地肌処理、色変換、文字／イメージ分離、平滑化、エッジ強調などといった各種画像処理を施した上で後段のデバイスへ出力される。これらの処理はある程度高速であることが要求されるため、これまでの複合機は各種画像処理に特化した回路構成を持つＡＳＩＣ（Application Specific Integrated Circuit）を搭載するのが一般的であったが、最近では、このＡＳＩＣをダイナミックリコンフィギュラブルプロセッサで代用する試みが見られる。
【０００３】
リコンフィギュラブルプロセッサは、アレイ状に配置されたＡＬＵ（Arithmetic Logic Unit）などの演算回路と演算回路間を接続するスイッチとから構成される。リコンフィギュラブルプロセッサの演算回路は、加減算、ＮＡＮＤ、ＮＯＲなどといった各種演算が可能であり、それらのうちどの演算を選択するかはコンフィギュレーションレジスタと呼ばれるメモリの記憶内容により決定される。また、演算の入力信号をどこから得るか、あるいは演算の出力をどこに出力するかなどはスイッチの接続により決まり、スイッチの接続もコンフィギュレーションレジスタの記憶内容により決定される。よって、コンフィギュレーションレジスタの記憶内容を順次書き換えていくことにより、各演算回路の連携を目的の処理に応じて遷移させていくことが可能である。そして、各種リコンフィギュラブルプロセッサの中でも処理の実行中でのコンフィギュレーションレジスタの書き換えを可能としたものを特に「ダイナミックリコンフィギュラブルプロセッサ」と呼ぶ（特許文献１乃至３）。
【０００４】
複合機に搭載されたリコンフィギュラブルプロセッサの利用者は、コンフィギュレーションレジスタの記憶内容の書き換えの手順を画像データに施す一連の各処理の流れにあわせて記述したプログラムを自ら作成し、そのプログラムをリコンフィギュラブルプロセッサに読み込ませることによりカスタマイズを行う。
【特許文献１】特開２００４−３３４４２９号公報
【特許文献２】特開２００５−２７７６７号公報
【特許文献３】特開２００５−４４３２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、画像処理を施す際は、原稿をスキャンして得た１ページ分のビットマップを、バンドと呼ばれる副走査方向の所定幅をもつ短冊状の画素の纏まりに分割し、このバンド毎に一連の画像処理を順次行っていくのが一般的である。よって、例えば、複合機に搭載させたリコンフィギュラブルプロセッサによって、地肌処理、色変換、文字／イメージ分離、平滑化、エッジ強調という一連の画像処理を行わせる場合は、処理対象となるページバッファが変わるたびに、地肌処理、色変換、文字／イメージ分離、平滑化、エッジ強調というローテーションでリコンフィギュラブルプロセッサの各回路素子の連携状態を遷移させていく必要がある。
【０００６】
しかしながら、画像データに施す各種画像処理の中には、処理対象となっているバンドだけでなくその上下に隣接するバンドの参照をも要するものがある。リコンフィギュラブルプロセッサに実行させる処理の中にこの種のものが含まれている場合、各回路素子の連携状態とその遷移の基本的な順序だけを記述したプログラムを読み込ませただけでは、ある連携状態のデータ処理で参照すべき前段の連携状態のデータ処理の処理結果の一部が揃わずにその後の処理が止まってしまう恐れがあるため、利用者は、そのような不具合の発生を回避するための順序の組み換えのロジックをも組み込んだ複雑なプログラムの作成を強いられていた。
【０００７】
本発明は、このような背景の下に案出されたものであり、利用者にプログラムの設計の過度の負担を強いることなく、各種画像処理を行うべく複合機に搭載されるダイナミックリコンフィギュラブルプロセッサを高速に動作させ得る仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の好適な態様であるデータ処理装置は、ある１つの画像データを分割して得た各分割画像データを記憶する第１の記憶手段と、自身の外部にある各素子のうちいずれかと結線され得る入力端子と出力端子、前記入力端子から入力されるデータに各種演算のうちいずれかを行って前記出力端子から出力させる演算器、入出端子と出力端子の各々と結線させる素子と前記演算器の演算内容とを指定するデータであるコンフィギュレーションデータを記憶するためのメモリ、及び前記メモリに記憶されるコンフィギュレーションデータを読み出し、読み出したコンフィギュレーションデータが指定する素子と前記両端子の各々を結線させると共にそのコンフィギュレーションデータが指定する演算内容の演算を前記演算器に行わせるデータ読出器をそれぞれ有する素子であるセルを集めたセル群と、処理対象となった分割画像データにその上、下、又は上下に隣接する別の分割画像データを作用させてデータ内容を改変する各種データ処理を前記セル群が実行できるようにその各セルを連携させるためのコンフィギュレーションデータのセットを、データ処理の種別毎に記憶した第２の記憶手段と、前記セル群に実行させるデータ処理の順序を示すローテーションデータを記憶した第３の記憶手段と、前記第１の記憶手段に記憶された各分割画像データの各々を順次特定する特定手段と、前記特定手段によって分割画像データが特定されるたびに、前記第２の記憶手段に記憶されたコンフィギュレーションデータのセットを前記第３の記憶手段に記憶されたローテーションデータが示す順序に従って選択し、選択したセットを基に前記セル群の各セルのメモリの記憶内容を書き換えてそれら各セルの連携状態を遷移させながら当該特定されている分割画像データを処理対象とする各種データ処理を順次実行させる手段であって、前記特定手段に特定されている分割画像データを処理対象とする第１の連携状態のセル群によるデータ処理の処理結果を得て当該セル群をその次の第２の連携状態へ遷移させる前に、特定されている分割画像データの上、下、又は上下に隣接する別の分割画像データを処理対象とした第１の連携状態でのデータ処理の処理結果が得られているか否か判断し、処理結果が得られていないと判断したときはその分割画像データを処理対象とするデータ処理を第１の連携状態のセル群に先に実行させ、処理結果が得られてからセル群を第２の連携状態へと遷移させ、前記処理結果が得られていると判断したときは当該セル群を前記第２の連携状態へと遷移させるコンフィギュレーション制御手段とを備える。
【０００９】
この態様において、前記セル群は、隣接する複数のセル毎にグループ化されたセルアレイを形成していてもよい。
【００１０】
前記セル群を成す各セルが有する演算器は、加減算回路、乗算回路、否定論理積回路、排他的論理和回路、定数出力回路、及びそれらのうちいずれかを選択する選択回路を有し、前記コンフィギュレーションデータは、前記選択回路に選択させる回路を指定してもよい。
【００１１】
本発明の別の好適な態様であるプログラムは、ある１つの画像データを分割して得た各分割画像データを記憶する第１の記憶手段と、自身の外部にある各素子のうちいずれかと結線され得る入力端子と出力端子、前記入力端子から入力されるデータに各種演算のうちいずれかを行って前記出力端子から出力させる演算器、入出端子と出力端子の各々と結線させる素子と前記演算器の演算内容とを指定するデータであるコンフィギュレーションデータを記憶するためのメモリ、及び前記メモリに記憶されるコンフィギュレーションデータを読み出し、読み出したコンフィギュレーションデータが指定する素子と前記両端子の各々を結線させると共にそのコンフィギュレーションデータが指定する演算内容の演算を前記演算器に行わせるデータ読出器をそれぞれ有する素子であるセルを集めたセル群と、処理対象となった分割画像データにその上、下、又は上下に隣接する別の分割画像データを作用させてデータ内容を改変する各種データ処理を前記セル群が実行できるようにその各セルを連携させるためのコンフィギュレーションデータのセットを、データ処理の種別毎に記憶した第２の記憶手段と、前記セル群に実行させるデータ処理の順序を示すローテーションデータを記憶した第３の記憶手段とを備えたコンピュータ装置に、前記第１の記憶手段に記憶された各分割画像データの各々を順次特定する特定機能と、前記特定機能によって分割画像データが特定されるたびに、前記第２の記憶手段に記憶されたコンフィギュレーションデータのセットを前記第３の記憶手段に記憶されたローテーションデータが示す順序に従って選択し、選択したセットを基に前記セル群の各セルのメモリの記憶内容を書き換えてそれら各セルの連携状態を遷移させながら当該特定されている分割画像データを処理対象とする各種データ処理を順次実行させる機能であって、前記特定機能に特定されている分割画像データを処理対象とする第１の連携状態のセル群によるデータ処理の処理結果を得て当該セル群をその次の第２の連携状態へ遷移させる前に、特定されている分割画像データの上、下、又は上下に隣接する別の分割画像データを処理対象とした第１の連携状態でのデータ処理の処理結果が得られているか否か判断し、処理結果が得られていないと判断したときはその分割画像データを処理対象とするデータ処理を第１の連携状態のセル群に先に実行させ、処理結果が得られてからセル群を第２の連携状態へと遷移させ、前記処理結果が得られていると判断したときは当該セル群を前記第２の連携状態へと遷移させるコンフィギュレーション制御機能とを実現させる。
【発明の効果】
【００１２】
本発明によると、各種画像処理を行うべく複合機に搭載されるダイナミックリコンフィギュラブルプロセッサを高速に動作させることができる。
【発明を実施するための最良の形態】
【００１３】
（発明の実施の形態）
本願発明の実施形態について説明する。
図１は、本実施形態にかかるデータ処理装置１のハードウェア概略構成を示す図である。このデータ処理装置１は、複合機などの画像形成装置に内蔵され、光学系デバイスに原稿を走査させて得た画像データに各種画像処理を順次施してから印字エンジンなどの画像形成デバイスへ出力する。
このデータ処理装置１は、外部インターフェース１１、データパスプロセッサ１２、コンフィギュレーションメモリ１３、コントローラプロセッサ１４、ＤＲＡＭ（Dynamic Random Access Memory）インターフェース１５、ＰＣＩインターフェース１６、及びＤＭＡＣ（Direct Memory Access Controller）１７を備える。これら各部はバスを介して接続され、ＤＭＡＣ１７による調停の下に各種データの遣り取りを行う。
【００１４】
各部の機能を説明すると、まず、ＰＣＩインターフェース１６は、図示しない制御部との間の各種データの遣り取りを司る。外部インターフェース１１は、原稿を光学系デバイスに走査させて得た１ページ分のラスタデータを副走査方向の所定画素幅（この画素幅を「バンド」と呼ぶ）毎に分割して得たバンド画像データをラスタデータの上方を描画しているものから順次入力する。また、この外部インターフェース１１は、各種画像処理を施したバンド画像データを自装置から印刷エンジンへ順次出力する。
【００１５】
データパスプロセッサ１２は、「セル」と呼ばれる回路素子をマトリクス状に並べた集積回路である。
図２、図３は、データパスプロセッサ１２の構成の詳細を示す図である。データパスプロセッサ１２は、図２に示すように、連携して動作する６４個のセル３０を縦横に８列ずつ並べてなるセルアレイと、そのセルアレイより出力されるデータをバッファリングしておくためのバッファ４０とを有する。各セル３０の各々は、図示しないコンフィギュレーションバスを介してコンフィギュレーションメモリ１３と繋がっており、また、各セル同士及び各セルとバッファは、図示しないデータバスを介して繋がっている。
【００１６】
図３に示すように、セル３０の各々は、演算器３１、選択器３２、入力端子３３、出力端子３４、コンフィギュレーションレジスタ３５、読出器３６を備えてなる。演算器３１は、加減算回路、乗算回路、否定論理積回路、排他的論理和回路、マルチプレクサなどの各種演算回路を含んでおり、選択器３２はこれらのうち１つの演算回路を選択する。入力端子３３は、自身の他のセル３０及びバッファ４０へとそれぞれ繋がるデータバスのうち１つを選択して演算器３１の入力側と接続するスイッチを有している。また、出力端子３４は、自身の他のセル３０及びバッファ４０へとそれぞれ繋がるデータバスのうち１つを選択して演算器３１の出力側と接続するスイッチを有している。コンフィギュレーションレジスタ３５は、コンフィギュレーションバスが接続されており、コンフィギュレーションメモリ１３からこのコンフィギュレーションバスを介して伝送されてくるコンフィギュレーションデータを記憶する。
【００１７】
コンフィギュレーションデータは、演算器３１の演算内容と両端子３３、３４のスイッチの接続内容とを指定するデータである。演算器３１の演算内容を指定するデータには、選択器３２に選択させる演算回路を指定するデータのほか、選択された回路が入力データに定数を作用させるもの（例えば、乗算回路）であった場合におけるその定数を指定するデータも含まれる。また、両端子３３、３４のスイッチの接続内容を指定するデータには、入力端子３３へのデータの入力先となるセル又はバッファを指定するデータと、出力端子３４からのデータの出力先となるセル又はバッファを指定するデータとが含まれる。
【００１８】
読出器３６は、コンフィギュレーションレジスタ３５に新たなコンフィギュレーションデータが書き込まれるたびにそのコンフィギュレーションデータを読み出し、読み出したコンフィギュレーションデータを基に演算器３１の演算内容と両端子３３、３４のスイッチの接続内容を切り替える。
【００１９】
図１の説明に戻り、ＤＲＡＭインターフェース１５にはＤＲＡＭ２０が装着される。図に示すように、このＤＲＡＭインターフェース１５に装着されるＤＲＡＭ２０は、コンフィギュレーションカスタマイズプログラムをコンパイルして得られるコンフィギュレーションデータの各セットを記憶するデータセット記憶領域のほか、外部インターフェース１１から順次入力されるバンド画像データとそれらの各々についてデータパスプロセッサ１２のセルアレイが各種画像処理を実行した段階で得られる各画像処理済みのバンド画像データをそれぞれ記憶する処理別バッファ領域が確保される。
【００２０】
コンフィギュレーションカスタマイズプログラムは、セルアレイの各連携状態とその遷移の基本的順序のローテーションとをＣ言語などの高級言語により記したプログラムである。
図４、図５は、コンフィギュレーションカスタマイズプログラムの構造を示す図である。コンフィギュレーションカスタマイズプログラムは、図４に示すように、複数のセルアレイ連携状態制御プログラムを並べたものである。セルアレイ連携状態制御プログラムの各々は、図５に示すように、各セル３０の演算器３１の演算内容と両端子３３、３４のスイッチの接続内容とを各セル毎に個別に定義したセル別制御プログラム群からなる。
【００２１】
コンフィギュレーションカスタマイズプログラムの作成は、以下の手順で行なわれる。まず、データパスプロセッサ１２に実行させる各種画像処理とその処理の基本的な順序のローテーションとを確定する。次に、確定した各画像処理を実現するために必要なセルアレイの連携状態、つまり、各セル３０の各々の演算器３１の演算内容と両端子３３、３４のスイッチの接続内容とを特定する。更に、その特定結果を基に連携状態毎のセル別制御プログラム群を個別に作成し、処理の基本的な順序に合わせた並びでそれらのセル別制御プログラム群を記述していくのである。例えば、画像処理Ａ、画像処理Ｂ、画像処理Ｃ、画像処理Ｄをこの順序で実行させる場合は、それらの４つの処理を実現するために必要なセルアレイの連携状態をそれぞれ定義したセル別制御プログラム群を個別に作成し、得られた４つのセル別制御プログラム群を、画像処理Ａ、画像処理Ｂ、画像処理Ｃ、画像処理Ｄの順序で並べて記述していく。
【００２２】
このようにして得られたコンフィギュレーションカスタマイズプログラムをその冒頭から順次コンパイルしていくと、画像処理Ａが実行されるような連携状態へとセルアレイを導くコンフィギュレーションデータの第１のセット、画像処理Ｂが実行されるような連携状態へとセルアレイを導くコンフィギュレーションデータの第２のセット、画像処理Ｃが実行されるような連携状態へとセルアレイを導くコンフィギュレーションデータの第３のセット、画像処理Ｄが実行されるような連携状態へとセルアレイを導くコンフィギュレーションデータの第４のセットの合計４セットのコンフィギュレーションデータが得られる。当然ながら、データパスプロセッサ１２のセルアレイに実行させる画像処理の種類が多くなればセル別制御プログラム群の数もそれだけ多くなり、図１のＤＲＡＭ２０に記憶されるコンフィギュレーションデータのセット数も多くなる。
【００２３】
ＤＲＡＭ２０に記憶されたコンフィギュレーションデータのセットは、コントローラプロセッサ１４による制御の下にコンフィギュレーションメモリ１３を経由して各セル３０のコンフィギュレーションレジスタ３５へ書き込まれるようになっている。上述したように、各セルの演算器３１の演算内容と両端子３３、３４のスイッチの接続内容はコンフィギュレーションレジスタ３５に書き込まれたコンフィギュレーションデータに応じて直ちに設定される。このため、各セットのコンフィギュレーションデータによって各セル３０のコンフィギュレーションレジスタ３５の記憶内容が書き換えられる都度、セルアレイの連携状態も遷移する。よって、遷移前のセルアレイの末端のセル３０から出力されてくる画像処理結果を内部のバッファ又は外部の他の記憶素子に一旦記憶し、遷移後のセルアレイの先頭のセル３０へ入力させる、というルーチンを繰り返してくことにより、セルアレイの連携状態を遷移させながら、各種画像処理を時分割制御で順次実行していくことが可能である。
【００２４】
コンフィギュレーションメモリ１３は、ＤＲＡＭ２０のデータセット記憶領域に記憶されるコンフィギュレーションデータの各セットのうち任意の１セットを記憶しておけるようになっている。このコンフィギュレーションメモリ１３に記憶されたコンフィギュレーションデータは、各セル３０のコンフィギュレーションレジスタ３５へ直ちに書き込まれるようになっている。
【００２５】
コントローラプロセッサ１４は、図示しない自身のメモリに記憶されたコントローラ制御プログラムに従って動作する。このコントローラ制御プログラムは、以下の３つの機能をコントローラプロセッサ１４に付与する。
ａ処理対象特定機能
これは、ＤＲＡＭ２０に記憶された各バンド画像データを処理対象として順次特定していく機能である。
ｂ基本ローテーション制御機能
これは、バンド画像データが処理対象して特定されるたびに、ＤＲＡＭ２０に記憶されているコンフィギュレーションデータの各セットを画像処理の基本的な順序のローテーションに従って選択し、選択したセットを基に各セル３０のコンフィギュレーションレジスタ３５の記憶内容を書き換えていく機能である。
ｃローテーション組替え機能
これは、処理対象となっているバンド画像データへある連携状態のセルアレイに画像処理を実行させてその次の連携状態へと遷移させる前に、処理対象となっているバンド画像データの上、下、又は上下に隣接するバンド画像データを処理対象としたその画像処理の実行結果が得られているか否か判断し、実行結果が得られていないときはその実行結果が先に得られるようにコンフィギュレーションデータのセットの選択のローテーションを組み換える機能である。
【００２６】
次に、これら３つの機能によりＤＲＡＭ２０の各バンド画像データに各種画像処理が実行されていく様子について具体例を挙げながら説明する。
図６、図７は、画像処理Ａ、Ｂ、Ｃ、Ｄを基本的な順序のローテーションとするコンフィギュレーションカスタマイズプログラムが作成されている場合におけるセルアレイの連携状態の遷移を示す図である。図の右側には、画像処理Ａ、Ｂ、Ｃ、Ｄの各画像処理を実行した段階で得られる各画像処理済みのバンド画像データをそれぞれ記憶する処理別バッファ領域の記憶内容が記されている。一方、図の左側には、各連携状態へ遷移した時点における各処理別バッファ領域の書込数と読出数を管理すべくコントローラプロセッサ１４のメモリに形成されるテーブルが記されている。
【００２７】
このテーブルを構成するレコードの各々は、「バッファ」、「リード（Ｒ）」、及び「ライト（Ｗ）」の３つのフィールドを有する。このテーブルのレコード数はそのＤＲＡＭ２０に確保されるバッファ領域の数に依存して決定される。
例えば、図６の例では、４つのレコードを集めてテーブルが形成されており、１番目のレコードの「バッファ」のフィールドに「画像処理Ａ」、２番目のレコードの同フィールドに「画像処理Ｂ」、３番目のレコードの同フィールドに「画像処理Ｃ」、４番目のレコードの同フィールドに「画像処理Ｄ」の各バッファ識別子が記憶されている。これは、画像処理Ａ、Ｂ、Ｃ、Ｄが基本的な順序のローテーションとなるコンフィギュレーションカスタマイズプログラムをコンパイルして得た４セットのコンフィギュレーションデータがＤＲＡＭ２０のデータセット記憶領域に記憶されたため、バンド画像データに画像処理Ａを実行した結果である画像処理Ａ済みバンド画像データを記憶する処理別バッファ領域、画像処理Ａ済みバンド画像データに画像処理Ｂを実行した結果である画像処理Ｂ済みバンド画像データを記憶する処理別バッファ領域、画像処理Ｂ済みバンド画像データに画像処理Ｃを実行した結果である画像処理Ｃ済みバンド画像データを記憶する処理別バッファ領域、画像処理Ｃ済みバンド画像データに画像処理Ｄを実行した結果である画像処理Ｄ済みバンド画像データを記憶する処理別バッファ領域の計４つの処理別バッファ領域がＤＲＡＭ２０に確保されたためである。
【００２８】
また、「リード（Ｒ）」のフィールドは各処理別バッファ領域からのバンド画像データの読出回数を示すカウント値を記憶し、「ライト（Ｗ）」のフィールドは各バッファ領域へのバンド画像データの書込回数を示すカウント値を記憶する。これら両フィールドのカウント値はコントローラプロセッサ１４が各セル３０のコンフィギュレーションレジスタ３５の記憶内容を書き換えてセルアレイの連携状態を遷移させるたびに適宜カウントアップされる。図６の例を用いてこのカウントアップ制御について具体的に説明すると、各セルのコンフィギュレーションレジスタ３５の記憶内容を画像処理Ａのコンフィギュレーションデータから画像処理Ｂのコンフィギュレーションデータへと書き換えた際は、書き換え後の連携状態のセルアレイに対して画像処理Ａの処理別バッファ領域から読み出した画像処理Ａ済み画像データが入力され、その処理結果として得られる画像処理Ｂ済み画像データは画像処理Ｂの処理別バッファ領域に書き込まれることになるため、「画像処理Ａ」の「リード（Ｒ）」のカウント値と「画像処理Ｂ」の「ライト（Ｗ）」のカウント値が１つずつカウントアップされる。
【００２９】
図６に示す連携状態１では、各セルアレイのコンフィギュレーションレジスタ３５へのコンフィギュレーションデータの書き込みがないため画像処理が実行されておらず、テーブルの全レコードのカウント数は初期値である「０」になっている。
連携状態２では、処理対象特定機能が働いてバンド画像データ１が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Ａを実行するような連携状態に遷移したセルアレイへバンド画像データ１が入力され、画像処理Ａ済みバンド画像データ１が画像処理Ａの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Ａの「ライト（Ｗ）」のカウント値が１つインクリメントされる。
【００３０】
連携状態３では、ローテーション組み換え機能が働いて処理対象特定機能と基本ローテーション制御機能が制約されている。これら両機能を働かせた場合の本来の手順から言えば画像処理Ａ済みバンド画像データ１を処理対象として画像処理Ｂが実行されるところであるが、バンド画像データ１の下に隣接するバンド画像データ２について画像処理Ａの実行結果が得られていないため、バンド画像データ２を処理対象とする画像処理Ａを先に実行するのである。よって、連携状態３では、セルアレイの連携状態を遷移させずにバンド画像データ２が入力され、画像処理Ａ済みバンド画像データ２が画像処理Ａの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Ｂの「ライト（Ｗ）」のカウント値が１つインクリメントされる。
【００３１】
連携状態４では、処理対象特定機能が働いてバンド画像データ１が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Ｂを実行するような連携状態に遷移したセルアレイへバンド画像データ１が入力され、隣接するバンド画像データ２を作用させる画像処理Ｂの実行結果である画像処理Ｂ済みバンド画像データ１が画像処理Ｂの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Ａの「リード（Ｒ）」のカウント値と画像処理Ｂの「ライト（Ｗ）」のカウント値が１つインクリメントされる。
【００３２】
連携状態５では、ローテーション組み換え機能が再び働いて処理対象特定機能と基本ローテーション制御機能が制約されている。これら両機能を働かせた場合の本来の手順から言えば画像処理Ｂ済みバンド画像データ１を処理対象として画像処理Ｃが実行されるところであるが、バンド画像データ１の下に隣接するバンド画像データ２について画像処理Ｂの実行結果が得られていない。また、バンド画像データ２について画像処理Ｂを実行しようにもその下に隣接するバンド画像データ３について画像処理Ａの実行結果が得られていなければこれもできない。このため、バンド画像データ３を処理対象とする画像処理Ａを先に実行するのである。よって、連携状態５では、セルアレイの連携状態をＡに遷移させてからバンド画像データ２を入力し、画像処理Ａ済みバンド画像データ３が画像処理Ａの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Ａの「ライト（Ｗ）」のカウント値が１つインクリメントされる。
【００３３】
図７に示す連携状態６では、処理対象特定機能が働いてバンド画像データ２が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Ｂを実行するような連携状態に遷移したセルアレイへバンド画像データ２が入力され、隣接するバンド画像データ１と３を作用させる画像処理Ｂの実行結果である画像処理Ｂ済みバンド画像データ２が画像処理Ｂの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Ａの「リード（Ｒ）」のカウント値と画像処理Ｂの「ライト（Ｗ）」のカウント値が１つインクリメントされる。
【００３４】
連携状態７では、処理対象特定機能が働いてバンド画像データ１が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Ｃを実行するような連携状態に遷移したセルアレイへバンド画像データ１が入力され、隣接するバンド画像データ２を作用させる画像処理Ｃの実行結果である画像処理Ｃ済みバンド画像データ１が画像処理Ｃの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Ｂの「リード（Ｒ）」と画像処理Ｃの「ライト（Ｗ）」のカウント値が１つインクリメントされる。
【００３５】
連携状態８では、ローテーション組み換え機能が再び働いて処理対象特定機能と基本ローテーション制御機能が制約されている。これら両機能を働かせた場合の本来の手順から言えば画像処理Ｃ済みバンド画像データ１を処理対象として画像処理Ｄが実行されるところであるが、バンド画像データ１の下に隣接するバンド画像データ２について画像処理Ｃの実行結果が得られていない。また、バンド画像データ２について画像処理Ｃを実行しようにもその下に隣接するバンド画像データ３について画像処理Ｂの実行結果が得られていなければこれもできない。更に、バンド画像データ３について画像処理Ｂを実行しようにもその下に隣接するバンド画像データ４について画像処理Ａの実行結果が得られていなければこれもできない。このため、バンド画像データ４を処理対象とする画像処理Ａを先に実行するのである。よって、連携状態８では、セルアレイの連携状態をＡに遷移させてからバンド画像データ４を入力し、画像処理Ａ済みバンド画像データ４が画像処理Ａの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Ａの「ライト（Ｗ）」のカウント値が１つインクリメントされる。
【００３６】
連携状態９では、処理対象特定機能が働いてバンド画像データ３が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Ｂを実行するような連携状態に遷移したセルアレイへバンド画像データ３が入力され、隣接するバンド画像データ２及び４を作用させる画像処理Ｂの実行結果である画像処理Ｂ済みバンド画像データ３が画像処理Ｂの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Ｂの「ライト（Ｗ）」のカウント値が１つインクリメントされる。
【００３７】
連携状態１０では、処理対象特定機能が働いてバンド画像データ２が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Ｃを実行するような連携状態に遷移したセルアレイへバンド画像データ２が入力され、隣接するバンド画像データ１及び３を作用させる画像処理Ｃの実行結果である画像処理Ｃ済みバンド画像データ３が画像処理Ｃの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Ｂの「リード（Ｒ）」と画像処理Ｃの「ライト（Ｗ）」のカウント値が１つインクリメントされる。
【００３８】
連携状態９以降は、ローテーション組み換え機能を働かせる必要なく、基本的な順番のローテーションに従ってセルアレイの連携状態が遷移していく。
以上説明した各連携状態のうち、連携状態３、５、８では、ローテーション組み替え機能が働き、隣接するバンド画像データを処理対象とする前段の画像処理が先に実行されるようになっている。つまり、本実施形態におけるコントローラプロセッサ１４には、ある連携状態のセルアレイによる画像処理の処理対象となっているバンド画像データの上、下、上下に隣接するバンド画像データについて前段の画像処理の実行結果が得られているか否か判断し、得られていない場合はその隣接するバンド画像データを先に実行するアルゴリズムが予め組み込まれている。よって、利用者は、セルアレイに実行させる各画像処理とその基本的な順序のローテーションを記したコンフィギュレーションカスタマイズプログラムを作成しさえすれば、隣接画像データの画像処理の進捗に応じたローテーションの組み替えが自動的に成されるため、プログラムの設計負担を軽減することができる。
【００３９】
（他の実施形態）
本願発明は、種々の変形実施が可能である。
上記実施形態におけるデータパスプロセッサ１２のセルアレイは６４個のセル３０を縦横にそれぞれ８個ずつ並べてなるものであったが、セルの個数及びその配列はこれに限定されるものでない。
また、上記実施形態においては、セルアレイを成す各セル３０の演算器３１は、加減算回路、乗算回路、否定論理積回路、排他的論理和回路、マルチプレクサなどの各種演算回路を含んで構成されていたが、加算と減算を別回路として構成してもよい。要するに、各種画像処理で用いられる主要な演算機能を有してさえいれば、その回路構成の如何は問わない。
【００４０】
上記実施形態においては、各連携状態のセルアレイが画像処理を１つずつ実行するようになっていたが、セルアレイを形成するセルの規模の如何によっては、１つの連携状態のセルアレイに複数の画像処理を実行させるようにしてもよい。
図８は、かかる変形例における連携状態の遷移手順を示す図である。図に示す例は、セルアレイが画像処理ＡとＢ、及び画像処理ＣとＤを一度に処理可能な連携状態をとり得る場合の遷移手順を示したものである。
【００４１】
図に示す連携状態１では、セルアレイの各セル３０のコンフィギュレーションレジスタ３５へのコンフィギュレーションデータの書き込みがないため画像処理が実行されておらず、テーブルの全レコードのカウント数は初期値である「０」になっている。
連携状態２では、セルアレイが画像処理Ａと画像処理Ｂを実行可能な連携状態に遷移する。そして、バンド画像データ１を処理対象として画像処理Ａを実行し、画像処理Ａ済みバンド画像データ１を画像処理Ａの処理別バッファ領域に記憶した後、バンド画像データ２を処理対象として画像処理Ａを実行し、画像処理Ａ済みバンド画像データ２を画像処理Ａの処理別バッファ領域に記憶する。更に、画像処理Ａ済みバンド画像データ１を処理対象としてバンド画像データ２を作用させる画像処理Ｂを実行し、画像処理Ｂ済みバンド画像データ１を画像処理Ｂの処理別バッファ領域に記憶する。但し、バンド画像データ２の下に隣接するバンド画像データ３について画像処理Ａの処理結果が得られないため、バンド画像データ２を処理対象とする画像処理Ｂまではこの段階では実行されない。
【００４２】
連携状態３では、セルアレイを画像処理Ａと画像処理Ｂを実行可能な連携状態としたまま、バンド画像データ３を処理対象とする画像処理Ａを実行し、画像処理Ａ済みバンド画像データ３を画像処理Ａの処理別バッファ領域に記憶する。更に、バンド画像データ２を処理対象としてバンド画像データ１と３を作用させる画像処理Ｂを実行し、画像処理Ｂ済みバンド画像データ２を処理対象Ｂの処理別バッファ領域に記憶する。
連携状態４では、セルアレイが画像処理Ｃと画像処理Ｄを実行可能な連携状態に遷移する。そして、バンド画像データ１を処理対象としてバンド画像データ２を作用させる画像処理Ｃを実行し、画像処Ｃ済みバンド画像データ１を画像処理Ｃの処理別バッファ領域に記憶する。但し、バンド画像データ２の下に隣接するバンド画像データ３について画像処理Ｂの処理結果が得られていないため、バンド画像データ２を処理対象とする画像処理Ｃまではこの段階では実行されない。
【００４３】
連携状態５では、セルアレイが画像処理Ａと画像処理Ｂを実行可能な連携状態に遷移する。つまり、セルアレイの連携状態を基本的順序のローテーションに対して逆戻りさせるのである。そして、バンド画像データ４を処理対象とする画像処理Ａを実行し、画像処理Ａ済みバンド画像データ４を画像処理Ａの処理別バッファ領域に記憶する。更に、画像処理Ａ済みバンド画像データ３を処理対象としてバンド画像データ２と４を作用させる画像処理Ｂを実行し、画像処理Ｂ済みバンド画像データ３を処理別バッファ領域に記憶する。  
本変形例のように１つの連携状態のセルアレイに複数の画像処理を実行させ得る場合であっても、図に示したような手順でセルアレイの連携状態の遷移の手順を好適に組み替えていくことが可能である。
【図面の簡単な説明】
【００４４】
【図１】データ処理装置のハードウェア概略構成図である。
【図２】データパスプロセッサの構成図である。
【図３】セルアレイの構成図である。
【図４】コンフィギュレーションカスタマイズプログラムの構造図である。
【図５】コンフィギュレーションカスタマイズプログラムの構造図である。
【図６】セルアレイの連携状態の遷移手順を示す図である。
【図７】セルアレイの連携状態の遷移手順を示す図である。
【図８】変形例における連携状態の遷移手順を示す図である。
【符号の説明】
【００４５】
１１…外部インターフェース、１２…データパスプロセッサ、１３…コンフィギュレーションメモリ、１４…コントローラプロセッサ、１５…ＤＲＡＭインターフェース、１６…ＰＣＩインターフェース、１７…ＤＭＡＣ、２０…ＤＲＡＭ、３０…セル、３０…各セル、３１…演算器、３２…選択器、３３…入力端子、３３…両端子、３４…出力端子、３５…コンフィギュレーションレジスタ、３６…読出器
【図１】
0004821427.tif 000002
【図２】
0004821427.tif 000003
【図３】
0004821427.tif 000004
【図４】
0004821427.tif 000005
【図５】
0004821427.tif 000006
【図６】
0004821427.tif 000007
【図７】
0004821427.tif 000008
【図８】
0004821427.tif 000009