(57)【要約】【課題】画像処理機能を実現するためにプログラマブル論理回路の回路構成を切り替える画像処理装置に関し、プログラマブル論理回路に対する回路情報の設定順序を効率的に決定することが可能な技術を提案する。【解決手段】実行予定の画像処理機能を構成する複数の中間画像処理について巡回経路リスト作成処理及び実行順序リスト作成処理を行って、実行可能であると判定された順に従って中間画像処理の実行順序を決定して、その決定時のバッファ情報（データ読出位置やデータ書込位置などの情報）と共に実行順序リストに登録する。画像処理機能の実行時には、実行順序リストに登録されている順に中間画像処理の回路情報及びバッファ情報をプログラマブル集積回路２に設定して中間画像処理を実行させることを、実行順序リストが空になるまで繰り返す。【選択図】図１
2011054041.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブル論理回路に設定される画像処理毎の回路情報を記憶する記憶手段と、
実行予定の複数の画像処理について、判定対象となる画像処理に応じた読出単位で前段のバッファ領域からデータ読出可能で且つ当該画像処理に応じた書込単位で後段のバッファ領域へデータ書込可能な場合に当該画像処理を実行可能であると判定して前段のバッファ領域のデータ読出位置及び後段のバッファ領域のデータ書込位置を前記読出単位及び前記書込単位に基づいて変化させて当該画像処理を再び判定対象とする一方、他の場合に当該画像処理を実行可能でないと判定して他の画像処理を判定対象に切り替える判定処理を繰り返して行い、実行可能であると判定された順に画像処理の実行順序を決定する決定手段と、
実行予定の複数の画像処理を実行するために、前記決定手段により決定された画像処理の実行順序に従って、前記記憶手段に記憶されている該当する画像処理の回路情報をプログラマブル論理回路に設定する設定手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
実行予定の複数の画像処理を、各画像処理の前後関係を維持して順序付けする順序付け手段を備え、
前記決定手段は、前記順序付け手段による順序付け結果に従った順序で、判定対象の画像処理を切り替える、
ことを特徴とする請求項１に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置に関する。
【背景技術】
【０００２】
複写機などの画像処理装置では、画像処理機能をプログラマブル論理回路で実現することが行われている。近年、画像処理機能が複雑になっており、一つのプログラマブル論理回路では実現できない規模にまで複雑化してきている。
この問題に対する一つの解決手法として、異なる時間に異なる論理回路が実現されるようにプログラマブル論理回路の回路構成を処理の途中で再構成する手法が提案されている。この手法によると、プログラマブル論理回路の回路規模に制約がある場合でも、様々な処理を比較的高速に行うことができる。
【０００３】
このようなプログラマブル論理回路の再構成に関する発明として、例えば特許文献１には、予め使用する回路情報と順番を保持する回路情報保持手段と、与えられた処理データから前記プログラマブル論理回路の再構成に使用する最初の回路情報を特定するとともに特定された回路情報から前記回路情報保持手段に保持されている順番に前記回路情報により前記プログラマブル論理回路を再構成して処理回路を構成し該処理回路に前記処理データの処理を行わせるインタフェース手段を有する情報処理システムの発明が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−０６８９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
プログラマブル論理回路の回路構成を予め決定された設定順序に従って切り替える手法においては、画像処理機能を構成する複数の中間画像処理が直列に接続されるものや、処理単位が１ページ又は１ライン単位のような簡単な画像処理機能であれば、その設定順序を操作者が固定的に決定することは容易であるが、近年における画像処理機能の複雑化（例えば、中間画像処理が複雑に接続され且つ処理単位が中間画像処理毎に異なる、原稿の内容や原稿サイズ等によって処理回数が変わる等）に伴って、設定順序の決定が困難化してきている。
【０００６】
本発明は、画像処理機能を実現するためにプログラマブル論理回路の回路構成を切り替える画像処理装置に関し、プログラマブル論理回路に対する回路情報の設定順序を効率的に決定することが可能な技術を提案することを目的して為されたものである。
【課題を解決するための手段】
【０００７】
第１の本発明は、プログラマブル論理回路に設定される画像処理毎の回路情報を記憶する記憶手段と、実行予定の複数の画像処理について、判定対象となる画像処理に応じた読出単位で前段のバッファ領域からデータ読出可能で且つ当該画像処理に応じた書込単位で後段のバッファ領域へデータ書込可能な場合に当該画像処理を実行可能であると判定して前段のバッファ領域のデータ読出位置及び後段のバッファ領域のデータ書込位置を前記読出単位及び前記書込単位に基づいて変化させて当該画像処理を再び判定対象とする一方、他の場合に当該画像処理を実行可能でないと判定して他の画像処理を判定対象に切り替える判定処理を繰り返して行い、実行可能であると判定された順に画像処理の実行順序を決定する決定手段と、実行予定の複数の画像処理を実行するために、前記決定手段により決定された画像処理の実行順序に従って、前記記憶手段に記憶されている該当する画像処理の回路情報をプログラマブル論理回路に設定する設定手段と、を備えたことを特徴とする画像処理装置である。
【０００８】
第２の本発明は、第１の本発明において、実行予定の複数の画像処理を、各画像処理の前後関係を維持して順序付けする順序付け手段を備え、前記決定手段は、前記順序付け手段による順序付け結果に従った順序で、判定対象の画像処理を切り替える、ことを特徴とする。
【発明の効果】
【０００９】
第１の本発明によると、画像処理で用いるバッファ領域の使用状況の予測に基づいて、
プログラマブル論理回路に対する回路情報の設定順序を決定することができる。
第２の本発明によると、回路情報の設定順序の決定を効率的に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る画像処理装置の機能ブロックを例示する図である。
【図２】本発明の一実施形態に係る画像処理装置により実行される画像処理機能を例示する図である。
【図３】本発明の一実施形態に係る画像処理装置により生成される実行順序リストを例示する図である。
【図４】本発明の一実施形態に係る画像処理装置による画像処理機能の実行時の動作を説明する図である。
【図５】本発明の一実施形態に係る画像処理装置による処理フローの概要を例示する図である。
【図６】本発明の一実施形態に係る画像処理装置により実行される画像処理機能を例示する図である。
【図７】本発明の一実施形態に係る画像処理装置による巡回経路リストの生成を説明する図である。
【図８】本発明の一実施形態に係る画像処理装置による実行順序リストの生成を説明する図である。
【図９】本発明の一実施形態に係る画像処理装置による実行順序リストの生成を説明する図である。
【図１０】本発明の一実施形態に係る画像処理装置による実行順序リストの生成を説明する図である。
【発明を実施するための形態】
【００１１】
本発明の一実施形態について、図面を参照して説明する。
図１には、本発明の一実施形態に係る画像処理装置の機能ブロックを例示してある。
本例の画像処理装置では、他の装置（例えば、各種情報の表示出力に用いられる液晶ディスプレイ等の表示装置、操作者による入力操作に用いられるタッチパネルや操作キー等の入力装置、画像データに基づいて出力画像を形成して用紙等の記録媒体に記録する画像形成装置など）との間でデータ入出力を行うためのインターフェースである入出力ＩＦ１、画像処理機能を構成する複数の中間画像処理毎の回路情報が順番に設定されて当該画像処理機能を実現するプログラマブル集積回路（プログラマブル論理回路）２、画像処理機能に関する各種データを記憶するメモリ３、プログラマブル集積回路２に対する回路情報の設定に関する各種処理を実行するＣＰＵ４、といった各機能部が、バス５を介して接続されている。
【００１２】
本例の画像処理装置による処理の概要について、図２〜図４を参照して説明する。
図３には、本例の画像処理装置により実行される画像処理機能を例示してある。
図３において、丸印は画像処理機能を構成する各中間画像処理Ｆ（Ｆｕｎｃｔｉｏｎ）を示し、四角印は中間画像処理Ｆの処理対象又は処理結果の画像データＤが格納されるバッファＢ（Ｂｕｆｆｅｒ）を示し、矢印はバッファＢと中間画像処理Ｆとの間における画像データＤの入出力ストリームＳ（Ｓｔｒｅａｍ）を示している。すなわち、中間画像処理Ｆ及びバッファＢをストリームＳで結んで作業順序や依存関係を表すことで、画像処理機能の開始から終了までの流れを表現している。なお、中間画像処理Ｆ、バッファＢ、ストリームＳによって構成されたものをＰｉｐｅｌｉｎｅと呼ぶ。
【００１３】
図３に示す画像処理機能は、モノクロ変換処理及び縮小処理の２つの中間画像処理Ｆと３つのバッファ（本例ではページバッファ）を有しており、処理対象として入力された画像データＤ１を第１のバッファＢ１に格納し、第１のバッファＢ１に格納されている画像データＤ１を第１の中間画像処理Ｆ１によりモノクロ変換処理して第２のバッファＢ２に格納し、第２のバッファＢ２に格納されているモノクロ変換処理後の画像データＤ２を第２の中間画像処理Ｆ２により縮小処理して第３のバッファＢ３に格納し、第３のバッファＢ３に格納されているモノクロ変換及び縮小処理後の画像データＤ３を処理結果として出力するものである。
【００１４】
本例の画像処理装置では、画像処理機能を実行する前に、図４に例示するような、画像処理機能を構成する各中間画像処理Ｆの実行順序を表す実行順序リスト（回路情報設定順序リスト）を生成しておき、画像処理機能の実行時において、実行順序リストに従ってプログラマブル集積回路２の回路構成を切り替えることで画像処理機能を実現している。
【００１５】
すなわち、図５に示すように、（１）実行順序リストにおける先頭（１番目）の中間画像処理Ｆであるモノクロ変換処理を実現するための回路構成を表すモノクロ変換回路情報３１をメモリ３の回路情報格納領域から読み出してプログラマブル集積回路２に設定し、（２）設定した回路構成でプログラマブル集積回路２を動作させてモノクロ変換処理を実行し、（３）実行順序リストにおける次（２番目）の中間画像処理Ｆである縮小処理を実現するための回路構成を表す縮小回路情報３２をメモリ３の回路情報格納領域から読み出してプログラマブル集積回路２に設定し、（４）設定した回路構成でプログラマブル集積回路２を動作させて縮小処理を実行する。
【００１６】
図２には、本例の画像処理装置による処理フローの概要を例示してある。
本例に係る画像処理装置では、画像処理機能を実行する前に、まず、画像処理機能を構成する複数の中間画像処理について巡回経路リストを作成し（ステップＳ１）、巡回経路リストに従って各中間画像処理の実行順序リストを作成する（ステップＳ２）。
そして、画像処理機能の実行時には、メモリ３に記憶されている各中間画像処理の回路情報を実行順序リストに従ってプログラマブル集積回路２に設定し（ステップＳ３）、プログラマブル集積回路２を動作させて中間画像処理を実行することを（ステップＳ４）、実行順序リスト中の全ての回路情報が実行されるまで繰り返す（ステップＳ５）。
なお、本例では、画像処理機能の各中間画像処理やその処理に用いるバッファ等の構成要素及びその依存関係等を、処理対象の画像や処理内容等の情報に基づいて決定しており、当該決定された内容を示す画像処理構成情報に基づいて、上記の処理（ステップＳ１〜ステップＳ５）を行っているが、利用者から画像処理構成情報を受け付けて、当該受け付けた画像処理構成情報に基づいて、上記の処理を行うようにしてもよい。
【００１７】
まず、巡回経路リストの作成について説明する。
巡回経路リストは、画像処理機能を構成するＰｉｐｅｌｉｎｅ内の各中間画像処理を画像データが流れる順番に並べ替えて生成される。すなわち、各中間画像処理の前後関係を維持して順序付けしたものが巡回経路リストである。
本例では、適当な中間画像処理Ｆを基点として、前工程の中間画像処理は１以上、後工程の中間画像処理は１以下となるように全ての中間画像処理について優先度を決定して順序付けする。具体的には、基点となる中間画像処理から前工程の中間画像処理を探索するステップと、基点となる中間画像処理から後工程の中間画像処理を探索するステップの２つのステップにおいて、“前工程の中間画像処理の優先度”＞“基点の中間画像処理の優先度”＞“後工程の中間画像処理の優先度”となるように優先度を求め、各中間画像処理Ｆを優先度が高い順に巡回経路リストへ登録していく。
【００１８】
図６に例示する画像処理機能を参考にして、各中間画像処理に優先度を決定して順序付けする処理を説明する。
図６では、丸印で示す６個の中間画像処理Ｆ（Ａ）〜Ｆ（Ｆ）と、四角印で示す９個のバッファＢ（１）〜Ｂ（９）と、矢印で示す１６個の入出力ストリームＳｒ（１）〜Ｓｒ（８）及びＳｗ（１）〜Ｓｗ（８）によってＰｉｐｅｌｉｎｅが構成されている。
なお、各バッファＢ（１）〜Ｂ（９）は、画像データを１ページ単位で格納（つまり、画像データの全部を格納）するページバッファ（ＰａｇｅＢｕｆｆｅｒ）と、画像データをＮライン単位（Ｎは１以上の整数）で格納（つまり、画像データの一部を格納）するバンドバッファ（ＢａｎｄＢｕｆｆｅｒ）とに分類され、図６では、ページバッファを単純な四角印、バンドバッファを二重線の四角印で表している。すなわち、本例の画像処理機能は、ページバッファＢ（１），Ｂ（５），Ｂ（６），Ｂ（８），Ｂ（９）と、バンドバッファＢ（２），Ｂ（３），Ｂ（４），Ｂ（７）を有する。
【００１９】
また、各入出力ストリームＳｒ（１）〜Ｓｒ（８）及びＳｗ（１）〜Ｓｗ（８）において、Ｓｒ（１）〜Ｓｒ（８）は、バッファＢから中間画像処理Ｆへのデータの流れを示す入力ストリーム（ＲｅａｄＳｔｒｅａｍ）であり、Ｓｗ（１）〜Ｓｗ（８）は、中間画像処理ＦからバッファＢへのデータの流れを示す出力ストリーム（ＷｒｉｔｅＳｔｒｅａｍ）である。
また、図６では、各入出力ストリームに対して、その入出力ストリームにおけるデータ入出力の単位（読出単位及び書込単位）を付記してあり、例えば、入力ストリームＳｒ（１）ではページバッファＢ（１）から中間画像処理Ｆ（Ａ）へ１ライン単位で画像データが読み出され、出力ストリームＳｗ（１）では中間画像処理Ｆ（Ａ）からバンドバッファＢ（２）へ２ライン単位で画像データが書き込まれる。
【００２０】
各中間画像処理に優先度を決定して順序付けする処理は、本例では、まず、任意の１つの中間画像処理を基点として選定し、基点より前工程の中間画像処理は＋１以上、基点より後工程の中間画像処理は−１以下となるように、関連する全ての中間画像処理の優先度を算出する。
優先度の算出は、（１）前工程巡回、（２）後工程巡回の２つのステップで行う。
【００２１】
（１）前工程巡回
基点の中間画像処理を対象として、当該対象より１つ前工程の中間画像処理を特定してその優先度を算出し、当該前工程の中間画像処理を次の対象に切り替えて、更に１つ前工程の中間画像処理を特定してその優先度を算出することを、前工程の中間画像処理が無くなるまで繰り返す。このとき、「前工程の中間画像処理の優先度が決定していない」又は「前工程の中間画像処理の優先度≦対象の中間画像処理の優先度」の場合は、前工程の中間画像処理の優先度＝対象の中間画像処理の優先度＋１とする。
【００２２】
（２）後工程巡回
基点の中間画像処理を対象として、当該対象より１つ後工程の中間画像処理を特定してその優先度を算出し、当該後工程の中間画像処理を次の対象に切り替えて、更に１つ後工程の中間画像処理を特定してその優先度を算出することを、後工程の中間画像処理が無くなるまで繰り返す。このとき、「後工程の中間画像処理の優先度が決定していない」又は「後工程の中間画像処理の優先度≧対象の中間画像処理の優先度」の場合は、後工程の中間画像処理の優先度＝対象の中間画像処理の優先度−１とする。
そして、（１）前工程巡回、（２）後工程巡回により全ての中間画像処理の優先度を算出した後に、各中間画像処理を優先度が高い順に巡回順序リストへ登録する。
【００２３】
図７には、図６のＰｉｐｅｌｉｎｅで表される画像処理機能の各中間画像処理について優先度を算出する過程を例示してある。なお、図７中の丸印は、図６中の丸印（中間画像処理Ｆ（Ａ）〜Ｆ（Ｆ））に対応している。また、図７中の四角印（対象Ｂｕｆｆｅｒ欄）は、図６中の四角印（バッファＢ（１）〜Ｂ（９））に対応しており、前工程又は後工程の中間画像処理の特定に用いるバッファを示すものである。
図７では、全ての中間画像処理Ｆ（Ａ）〜Ｆ（Ｆ）の優先度を０に初期化した後に（処理Ｎｏ．１）、基点の中間画像処理をＦ（Ｄ）として、その前工程に位置する全ての中間画像処理Ｆ（Ａ）〜Ｆ（Ｃ）について前記の（１）前工程巡回の処理を行って優先度を算出し（処理Ｎｏ．２〜８）、後工程に位置する全ての中間画像処理Ｆ（Ｅ）、Ｆ（Ｆ）について前記の（２）後工程巡回の処理を行って優先度を算出している（処理Ｎｏ．９〜１２）。
この結果、中間画像処理Ｆ（Ａ）〜Ｆ（Ｆ）の優先度は、それぞれ、＋３、＋２、＋１、０、−１、−１、となり、中間画像処理Ｆ（Ａ）〜Ｆ（Ｆ）はその優先度が高い順に巡回順序リストへ登録される。なお、優先度が同じ値になった場合における巡回順序リストへの登録順は、任意としてもよく、他の条件により決定してもよい。
【００２４】
次に、実行順序リストの作成について説明する。
なお、各バッファについて、バッファ領域の大きさを表すパラメータＢｕｆｆｅｒＳｉｚｅＸ（Ｘ方向サイズ）及びＢｕｆｆｅｒＳｉｚｅＹ（Ｙ方向サイズ）が設定されていると共に、バッファ領域の先頭アドレスを表すパラメータＢｕｆｆｅｒＡｄｄｒｅｓｓなどが設定されているものとする。また、各入出力ストリームについて、対応する中間画像処理による１回の処理単位に必要なデータ（以下、Ｓｗａｔｈという）の大きさを表すパラメータＳｗａｔｈＳｉｚｅＸ（Ｘ方向サイズ）及びＳｗａｔｈＳｉｚｅＹ（Ｙ方向サイズ）が設定され、各バッファに関し、次に画像データを読み出す位置及び書き込む位置を示すパラメータＲｅａｄＰｏｓｉｔｉｏｎ及びＷｒｉｔｅＰｏｓｉｔｉｏｎが設定されているものとする。
【００２５】
本例では、以下の（処理１）〜（処理８）を行って、実行順序リストを作成する。
（処理１）各バッファのＲｅａｄＰｏｓｉｔｉｏｎ、ＷｒｉｔｅＰｏｓｉｔｉｏｎを初期化する。具体的には、図８（ａ）に例示するように、バッファ領域の先頭アドレスをＲｅａｄＰｏｓｉｔｉｏｎ及びＷｒｉｔｅＰｏｓｉｔｉｏｎの初期値とする。なお、Ｐｉｐｅｌｉｎｅの先頭に位置するバッファ（例えば、図６におけるバッファＢ（１））のように、ページバッファで且つ画像データの書込元の中間画像処理Ｆが存在しない場合には、図８（ｂ）に例示するように、ＷｒｉｔｅＰｏｓｉｔｉｏｎをＩｍａｇｅＳｉｚｅＹ（処理対象となる画像データのＹ方向サイズ）分だけ加算した位置を初期値とする。
【００２６】
（処理２）巡回順序リストに登録されている中間画像処理の順序に従って、以下の（処理３）〜（処理８）を繰り返す。
（処理３）巡回順序リストの先頭の中間画像処理を対象とする。
【００２７】
（処理４）対象の中間画像処理が実行可能な状態であるか否かをＳｗａｔｈを考慮して判定し、実行可能な状態であると判定された場合には（処理５）へ移行し、実行不可能な状態であると判定された場合には、巡回順序リストにおける次の中間画像処理を対象として再度（処理４）を行う。
対象の中間画像処理が実行可能な状態であるか否かの判定は、以下の〔条件４−１〕及び〔条件４−２〕に基づいて行う。
〔条件４−１〕は入力ストリームについての判定条件であり、データ読出元のバッファから画像データを読出可能であるかを判定する。具体的には、ＷｒｉｔｅＰｏｓｉｔｉｏｎ＜ＲｅａｄＰｏｓｉｔｉｏｎ＋ＲｅａｄＳｗａｔｈＳｉｚｅ（読出側のＳｗａｔｈＳｉｚｅ（読出単位））の場合に実行不可能であると判定する。すなわち、図９（ａ）に例示するように、ＲｅａｄＰｏｓｉｔｉｏｎにＲｅａｄＳｗａｔｈＳｉｚｅを加えた位置（読み取り対象データの終端位置）より前にＷｒｉｔｅＰｏｓｉｔｉｏｎが位置する場合に実行不可能と判定される。
〔条件４−２〕は出力ストリームについての判定条件であり、データ書込先のバッファへ画像データを書込可能であるか（データ書込先の位置に未処理の画像データが残っていないか）を判定する。具体的には、ＷｒｉｔｅＰｏｓｉｔｉｏｎ＋ＷｒｉｔｅＳｗａｔｈＳｉｚｅ（書込側のＳｗａｔｈＳｉｚｅ（書込単位））−ＲｅａｄＰｏｓｉｔｉｏｎ＞ＢｕｆｆｅｒＳｉｚｅＹの場合に実行不可能であると判定する。すなわち、図９（ｂ）に例示するように、バッファ領域の末尾に書き込んだ後は次の書込先が先頭に戻るリングバッファをバンドバッファとして用いる場合において、ＷｒｉｔｅＰｏｓｉｔｉｏｎからＲｅａｄＰｏｓｉｔｉｏｎを差し引いた値（未処理の画像データ量）にＷｒｉｔｅＳｗａｔｈＳｉｚｅを加えた値（未処理の画像データ量と書込データ量の合計値）よりＢｕｆｆｅｒＳｉｚｅＹが小さい場合に実行不可能と判定される。
【００２８】
（処理５）対象の中間画像処理を実行順序リストへ登録する。また、その中間画像処理について、読出元のバッファにおけるデータ読出位置のアドレスを（ＲｅａｄＰｏｓｉｔｉｏｎ％ＢｕｆｆｅｒＳｉｚｅＹ）×ＢｕｆｆｅｒＳｉｚｅＸ＋ＢｕｆｆｅｒＡｄｄｒｅｓｓにて算出し、書込先のバッファにおけるデータ書込位置のアドレスを（ＷｒｉｔｅＰｏｓｉｔｉｏｎ％ＢｕｆｆｅｒＳｉｚｅＹ）×ＢｕｆｆｅｒＳｉｚｅＸ＋ＢｕｆｆｅｒＡｄｄｒｅｓｓにて算出して、これらのアドレス情報を対象の中間画像処理に関連付けて実行順序リストへ登録する。
【００２９】
（処理６）対象の中間画像処理に対する入力ストリームについてのＲｅａｄＰｏｓｉｔｉｏｎをＳｗａｔｈＳｉｚｅＹ分だけ加算すると共に、出力ストリームについてのＷｒｉｔｅＰｏｓｉｔｉｏｎをＳｗａｔｈＳｉｚｅＹ分だけ加算する。
【００３０】
（処理７）対象の中間画像処理が処理対象の画像データの全体に対して処理を終えたか否かを判定し、処理を終えたと判定された場合には、対象の中間画像処理を巡回経路リストから削除する。
対象の中間画像処理が処理対象の画像データの全体に対して処理を終えたか否かの判定は、以下の〔条件７−１〕及び〔条件７−２〕に基づいて行う。
〔条件７−１〕は入力ストリームについての判定条件であり、データ読出元のバッファから画像データの全てを読み出し済みであるかを判定する。すなわち、図１０（ａ）に例示するように、ＲｅａｄＰｏｓｉｔｉｏｎがＩｍａｇｅＳｉｚｅＹを超えている場合に読み出し済みであると判定する。
〔条件７−２〕は出力ストリームについての判定条件であり、データ書込先のバッファへ画像データの全てを書き込み済みであるかを判定する。すなわち、図１０（ａ）に例示するように、ＷｒｉｔｅＰｏｓｉｔｉｏｎがＩｍａｇｅＳｉｚｅＹを超えている場合に書き込み済みであると判定する。
【００３１】
（処理８）巡回経路リストが空か否かを判定し、空であると判定された場合には実行順序リストの作成処理を終了し、空でないと判定された場合には（処理３）に戻る。
【００３２】
以上のように、本例の画像処理装置では、画像処理機能を実行する前に、その画像処理機能を構成する複数の中間画像処理についての巡回経路リスト作成処理及び実行順序リスト作成処理を行っている。
巡回経路リスト作成処理では、各中間画像処理の前後関係を維持して順序付けした巡回経路リストを作成する。
実行順序リスト作成処理では、巡回経路リストに従った順序で判定対象の中間画像処理を切り替えながら以下の処理を行う。判定対象となる中間画像処理に応じた読出単位で前段のバッファ領域からデータ読出可能で且つ当該中間画像処理に応じた書込単位で後段のバッファ領域へデータ書込可能な場合には、当該中間画像処理を実行可能であると判定して、前段のバッファ領域のデータ読出位置及び後段のバッファ領域のデータ書込位置を前記読出単位及び前記書込単位に基づいて変化させて当該中間画像処理を再び判定対象とする。一方、他の場合には、当該中間画像処理を実行可能でないと判定して、他の中間画像処理を判定対象に切り替える。これらの処理を全ての中間画像処理が実行済みと判断されるまで繰り返し行い、実行可能であると判定された順に従って中間画像処理の実行順序を決定して、その決定時のバッファ情報（データ読出位置やデータ書込位置などのアドレス情報）と共に実行順序リストに登録する。つまり、実行順序リスト作成処理では、中間画像処理の進行に伴うバッファ情報の変化を計算しながら中間画像処理の可否を判断し、中間画像処理の実行順序を決定している。
そして、画像処理機能の実行時には、実行順序リストに登録されている順に中間画像処理の回路情報及びバッファ情報をプログラマブル集積回路２に設定して中間画像処理を実行させることを、実行順序リストが空になるまで繰り返す。
【００３３】
なお、本例の画像処理装置では、上記の巡回経路リスト作成処理や実行順序リスト作成処理などの機能に関するプログラムをメモリ３に保持しており、このプログラムをＣＰＵ４により実行させることで、巡回経路リスト作成処理や実行順序リスト作成処理などの機能を画像処理装置のコンピュータ上に実現しているが、このようなソフトウェア構成により実現する態様に限定するものではなく、各機能を専用のハードウエアモジュールで実現するようにしてもよい。
【００３４】
また、上記の説明における画像処理装置は、１台のコンピュータにより実現されているが、各機能部を複数台のコンピュータに分散して設けて画像処理装置を実現してもよい。
また、上記の説明におけるプログラムは、例えば、当該プログラムを記憶したＣＤ−ＲＯＭ等の外部記憶媒体から読み込む形式や、通信回線等を介して受信する形式などにより、画像処理装置のコンピュータに設定される。
また、これまで説明した画像処理装置の構成、処理内容、処理手順等は一例に過ぎず、本発明を上記の説明内容に限定するものではない。
【符号の説明】
【００３５】
１：入出力Ｉ／Ｆ、  ２：プログラマブル集積回路、  ３：メモリ、  ４：ＣＰＵ、  ５：バス
【図１】
2011054041.tif 000003
【図２】
2011054041.tif 000004
【図３】
2011054041.tif 000005
【図４】
2011054041.tif 000006
【図５】
2011054041.tif 000007
【図６】
2011054041.tif 000008
【図７】
2011054041.tif 000009
【図８】
2011054041.tif 000010
【図９】
2011054041.tif 000011
【図１０】
2011054041.tif 000012