(57)【要約】【課題】動的再構成可能なデバイスを含むシステムにおいて、ジョブ実行の際の画像処理制御を実現する画像処理装置を提供する。【解決手段】ジョブの実行対象として取得される画像データの複数のページそれぞれに対応する画像処理を判定する。判定された画像処理を実行する画像処理回路を、回路を動的に構成可能な論理デバイスに構成する。そして、判定された画像処理を、論理デバイスに構成された画像処理回路に実行させる。【選択図】図６
2016116171.tif 000002
【特許請求の範囲】
【請求項１】
ジョブの実行対象として、複数のページを含む画像データを取得する取得手段と、
回路を動的に構成可能な論理デバイスと、
前記取得手段により取得される前記画像データの前記複数のページそれぞれに対応する画像処理を判定する判定手段と、
前記判定手段により判定された画像処理を実行する画像処理回路を前記論理デバイスに構成する構成手段と、
前記判定手段により判定された画像処理を、前記構成手段により前記論理デバイスに構成された画像処理回路に実行させる制御手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記構成手段は、前記画像データの各ページごとに、当該各ページに対応する画像処理を実行する画像処理回路を前記論理デバイスに構成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記構成手段は、前記取得手段が前記画像データを取得する前に、前記画像データの前記複数のページに対応する複数の画像処理回路を前記論理デバイスに構成することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記判定手段により判定された画像処理が、前記取得手段が前記画像データを取得するための機構に因る場合、前記構成手段は、前記取得手段が前記画像データを取得する前に、前記画像データの前記複数のページに対応する複数の画像処理回路を前記論理デバイスに構成することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記構成手段は、前記複数の画像処理回路のいずれかを選択可能に、前記複数の画像処理回路を前記論理デバイスに構成することを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記論理デバイスに構成された前記複数の画像処理回路から、前記画像データの前記複数のページそれぞれに対応した画像処理を実行する画像処理回路を選択する選択手段、をさらに備え、
前記制御手段は、前記選択手段により選択された画像処理回路に画像処理を実行させることを特徴とする請求項３乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
第１のプロセッサと、第２のプロセッサと、をさらに備え、
前記制御手段と前記構成手段は前記第１のプロセッサにより実行され、前記選択手段は前記第２のプロセッサにより実行されることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記第２のプロセッサは、前記第１のプロセッサからの指示により、前記画像データを取得して前記論理デバイスに送信するよう前記取得手段を実行することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記取得手段は、原稿を光学的に読み取ることにより前記画像データを取得することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
ページと画像処理との対応情報を記憶する記憶手段、をさらに備え、
前記判定手段は、前記記憶手段に記憶された前記対応情報に基づいて、前記取得手段により取得される前記画像データの前記複数のページそれぞれに対応する画像処理を判定することを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記画像処理は、画像データを補正する処理であることを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記画像処理は、異物補正と鏡像補正との少なくともいずれかを含むことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記論理デバイスは、ＦＰＧＡを含むことを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理装置。
【請求項１４】
回路を動的に構成可能な論理デバイスを含む画像処理装置において実行される制御方法であって、
ジョブの実行対象として、複数のページを含む画像データを取得する取得工程と、
回路を動的に構成可能な論理デバイスと、
前記取得工程において取得される前記画像データの前記複数のページそれぞれに対応する画像処理を判定する判定工程と、
前記判定工程において判定された画像処理を実行する画像処理回路を前記論理デバイスに構成する構成工程と、
前記判定工程において判定された画像処理を、前記構成工程において前記論理デバイスに構成された画像処理回路に実行させる制御工程と、
を有することを特徴とする制御方法。
【請求項１５】
請求項１４に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを画像処理する画像処理装置、制御方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ＭＦＰ（多機能型周辺装置）内で機器制御を行うコントローラが、高速汎用ＣＰＵと画像処理制御ＣＰＵとで構成されているものが知られている。そのような構成において、汎用高速ＣＰＵは、例えば、ネットワーク等の汎用インタフェース制御や、ジョブのシーケンス制御を行う。また、画像処理制御ＣＰＵは、例えば、原稿読取装置（スキャナ）の制御や、画像処理制御を行う。そして、汎用高速ＣＰＵと画像処理制御ＣＰＵとが連携することで、ＭＦＰの印刷機能やスキャン機能が実行される。
【０００３】
スキャンジョブの実行の際、読み込むページ毎に異なる画像処理が必要になる場合がある。例えば、白板や原稿ガイド板の読取によりページ間でゴミの有無を検知するように構成されることがある（特許文献１及び２）。その場合、ゴミの有無に応じて、ゴミ位置に対応する画素補正処理を行うか否かがページ毎に決定される。
【０００４】
また、例えば、原稿読取前にページが無彩色であるか若しくは有彩色であるかを検知するように構成されることがある（特許文献３）。その場合、無彩色若しくは有彩色であるかに応じて、次ページに対して、無彩色用画像処理と有彩色用画像処理のいずれを行うかがページ毎に決定される。
【０００５】
また、例えば、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ）を用いた連続ページを読み込むように構成されていることがある。ＡＤＦの構造や、センサの取付け向きなどに因り、表裏面で読取方向が逆として、つまり、画像データが鏡像として得られる場合がある。その場合、表裏面のうち鏡像となった画像データに対して、鏡像から正像に補正する鏡像補正処理が必要となる。
【０００６】
また、ＭＦＰに用いられる読取デバイスには、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ、コンタクトイメージセンサ（ＣＩＳ）などがある。これら複数種類の読取デバイスを裏面用と表面用の２基搭載し、読取速度を向上させる技術が知られている。その際、表面用にＣＭＯＳイメージセンサ、裏面用にＣＩＳといったように表裏で異なる読取デバイスを搭載することがある。そのような構成の場合、ＣＩＳ特有のチップ間欠落画素の補正回路（特許文献４）や解像力低下補正回路（特許文献５）は裏面ページのみに必要な画像処理となる。
【０００７】
一方、内部の論理回路を再構成可能なプログラマブル・ロジック・デバイス（ＰＬＤ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などのデバイスが知られている。一般的に、ＰＬＤやＦＰＧＡは、起動時にＲＯＭ等の不揮発性メモリへ格納された論理回路構成情報を内部の揮発性メモリであるコンフィギュレーションメモリへ書き込み、内部論理ブロックの機能を切替可能とする。また、コンフィギュレーションメモリ内の情報は電源切断時にクリアされるので、電源投入時には、再度、論理回路構成情報をコンフィギュレーションメモリに書き込むことで再構成を行う。このように、一度だけハードウェアリソースの構成を行う方法を静的再構成という。
【０００８】
また、ＣＰＵをマスターデバイスとし、ＦＰＧＡに接続されたＰＣＩｅ（ＰＣＩ−Ｅｘｐｒｅｓｓ）などの汎用高速バスを介して、アクセラレータの演算処理に応じて、コンフィグレーションデータをＦＰＧＡにロードする手法が知られている（特許文献６）。このような機器動作中の論理回路変更方法をＣＰＵによる動的再構成という。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２−１７６５４２号公報
【特許文献２】特開２００６−１７３９３３号公報
【特許文献３】特開２００５−１８４１０１号公報
【特許文献４】特開２００３−３４８３３６号公報
【特許文献５】特開２００２−１９９２２２号公報
【特許文献６】特開２０１３−９８８２３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ＣＰＵから動的再構成可能なデバイスを、汎用高速ＣＰＵと画像処理ＣＰＵとが連携するＭＦＰのシステムに適用することで、例えば、ページ毎に画像データの画像処理の内容を変更可能とする機能をＭＦＰに付加することが考えられる。しかしながら、ＣＰＵから動的再構成可能なデバイスを、汎用高速ＣＰＵと画像処理ＣＰＵとが連携するシステムに適用するためには、ＣＰＵからの動的再構成とジョブとを連携させて、画像処理を制御する構成が必要である。特許文献６のシステムは、コンフィグレーションデータをＦＰＧＡにロードする構成を記載しているものの、ジョブとの連携により画像処理を制御することについては言及されていない。
【００１１】
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、動的再構成可能なデバイスを含むシステムにおいて、ジョブ実行の際の画像処理制御を実現する画像処理装置、制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明に係る画像処理装置は、ジョブの実行対象として、複数のページを含む画像データを取得する取得手段と、回路を動的に構成可能な論理デバイスと、前記取得手段により取得される前記画像データの前記複数のページそれぞれに対応する画像処理を判定する判定手段と、前記判定手段により判定された画像処理を実行する画像処理回路を前記論理デバイスに構成する構成手段と、前記判定手段により判定された画像処理を、前記構成手段により前記論理デバイスに構成された画像処理回路に実行させる制御手段とを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、動的再構成可能なデバイスを含むシステムにおいて、ジョブ実行の際の画像処理制御を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】画像処理装置を含むシステム構成を示す図である。
【図２】コントローラのブロック構成を示す図である。
【図３】コンフィグレーションデータとページ設定との対応を示す図である。
【図４】スキャンジョブの処理の手順を示すフローチャートである。
【図５】ページ毎の画像処理制御の手順を示すフローチャートである。
【図６】ページ毎の画像処理制御シーケンスを示す図である。
【図７】コンフィグレーションデータとページ設定との対応を示す他の図である。
【図８】スキャンジョブの処理の手順を示す他のフローチャートである。
【図９】ページ毎の画像処理制御の手順を示す他のフローチャートである。
【図１０】ページ毎の画像処理制御シーケンスを示す他の図である。
【図１１】画像処理回路の切り替え構成を示す図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１６】
［第１の実施形態］
［画像形成装置の構成］
図１は、画像処理装置を含むシステム構成を示す図である。システム１００は、画像処理装置１０と情報処理装置１１を含む。画像処理装置１０は、コントローラ１３、操作部１４、ストレージ装置１５、スキャナ装置１６、プリンタ装置１７を含む。画像処理装置１０は、例えば、印刷機能や読取機能、ＦＡＸ機能等を含む多機能型周辺装置（ＭＦＰ：ＭｕｌｔｉＦｕｎｃｔｉｏｎａｌＰｅｒｉｐｈｅｒａｌ）が画像処理装置１０として用いられる。画像処理装置１０は、ＬＡＮ等のネットワーク１２を介して、ＰＣ等の情報処理装置１１と相互に通信可能に接続されている。画像処理装置１０は、情報処理装置１１から受信したジョブに基づき、画像処理装置１０の各機能を実行する。ジョブは、画像処理装置１０が実行可能な機能に対応するジョブであり、例えば、スキャンジョブやプリントジョブである。また、ジョブは、情報処理装置１１からだけでなく、ユーザから操作部１４を介して受け付ける場合もある。
【００１７】
スキャナ装置１６は、原稿台上に載置された原稿から、若しくは、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ）から連続的に供給された原稿から光学的に画像を読み取って画像データに変換する。プリンタ装置１７は、画像データに基づいて、印刷用紙等の記録媒体に画像を電子写真記録方式やインクジェット記録方式により記録（印刷）する。ここで、画像データは、スキャナ装置１６で生成される場合や、外部から取得される場合がある。操作部１４は、画像処理装置１０が実行可能な各機能についてのユーザ指示操作を受け付ける。ストレージ装置１５は、例えばハードディスクであり、画像データやプログラム、内部の回路を動的に再構成可能（リコンフィグレーション）な論理デバイスに回路を形成するための論理回路構成情報（コンフィグレーションデータ）等を記憶する。以下、ストレージ装置１５は、ハードディスク１５として説明する。本実施形態の論理デバイスとして、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が用いられる。
【００１８】
コントローラ１３は、操作部１４〜プリンタ装置１７の各モジュールと、バス構成により接続され、各モジュールを制御してジョブを実行する。操作部１４は、操作部バス２１を介してコントローラ１３と接続されている。ハードディスク１５は、ハードディスクバス２２を介してコントローラ１３と接続されている。スキャナ装置１６は、スキャナバス２３を介してコントローラ１３と接続されている。プリンタ装置１７は、プリンタバス２４を介してコントローラ１３と接続されている。ネットワーク２０は、有線ネットワークでも良いし、無線ネットワークでも良い。無線ネットワークの場合には、情報処理装置１１は、例えば、携帯端末である。無線ネットワークで構成される場合には、ネットワーク２０上にアクセスポイント等が構成される場合もある。
【００１９】
画像処理装置１０でコピー機能が実行される場合には、スキャナ装置１６で生成された画像データは、スキャナバス２３を介してコントローラ１３に出力される。そして、コントローラ１３は、画像データに基づきプリンタ装置１７で印刷用紙等の記録媒体に印刷するよう、プリンタバス２４を介してプリンタ装置１７を制御する。
【００２０】
図２は、コントローラ１３のブロック構成を示す図である。コントローラ１３は、メインボード２００、サブボード２２０、オプションボード２１０を含む。メインボード２００とサブボード２２０とは、外部バス２３０を介して相互に接続されている。メインボード２００とオプションボード２３０とは、外部バス２４１を介して相互に接続されている。サブボード２２０とオプションボード２１０とは、設定バス２３２および外部バス２３３を介して相互に接続されている。
【００２１】
操作部１４は、メインボード２００に操作部バス２１を介して接続されている。ハードディスク１５は、メインボード２００にハードディスクバス２２を介して接続されている。スキャナ装置１６は、サブボード２２０およびオプションボード２１０にスキャナバス２３を介して接続されている。プリンタ装置１７は、サブボード２２０にプリンタバス２４を介して接続されている。
【００２２】
メインボード２００は、画像処理装置１０全体を統括的に制御する。メインボード２００は、汎用的なＣＰＵシステムであり、例えば、ジョブ制御、汎用バスによる他ボードとの接続、ハードディスク等のストレージ装置やネットワーク等との汎用バスを介した接続を行う。ＣＰＵ２０１は、コントローラ１３内を制御する。ＲＯＭ２０２は、汎用的なＲＯＭであり、例えばブートプログラムを記憶する。ＲＡＭ２０３は、汎用的なＲＡＭであり、例えば、ＣＰＵ２０１のワークメモリとして使用される。バスブリッジ２０４は、外部バス２３０とのブリッジ機能を有する。バスブリッジ２０８は、外部バス２３１とのブリッジ機能を有する。。パネルコントローラ２０６は、操作部バス２１を介して操作部１４を制御する。ディスクコントローラ２０７は、ハードディスクバス２２を介してハードディスク１５を制御する。ネットワークコントローラ２０５は、メインボード２００をネットワーク１２と通信可能に接続する。システムバス２０９は、メインボード２００内の上記各モジュールを相互に接続する。
【００２３】
サブボード２２０は、汎用バスによる他ボードとの接続、専用バスによるスキャナ装置やプリンタ装置等との接続、画像処理部といった構成を含む画像処理ＣＰＵシステムである。ＣＰＵ２２１は、サブボード２２０内を制御する。ＲＯＭ２２２は、汎用的なＲＯＭであり、例えば、ブートプログラムを記憶する。ＲＡＭ２２３は、汎用的なＲＡＭであり、例えば、ＣＰＵ２２１のワークメモリとして使用される。バスブリッジ２２５は、外部バス２３０とのブリッジ機能を有する。バスブリッジ２２６は、外部バス２３３とのブリッジ機能を有する。シリアルコントローラ２２７は、設定バス２３２とのブリッジ機能を有する。画像処理部２２４は、画像データに対してリアルタイムのデジタル画像処理を実行する。例えば、画像処理部２２４は、スキャナバス２３を介して入力された画像データに対して、補正、加工、編集等の画像処理を行う。また、画像処理部２２４は、印刷設定に応じた補正等の画像処理を行った画像データをプリンタバス２４を介して出力する。内部バス２２９は、サブボード２２０内の上記各モジュールを相互に接続する。サブボード２２０は、外部のスキャナ装置１６とスキャナバス２３を介して画像データの受信や、読取開始指示の送信を行う。また、サブボード２２０は、プリンタ装置１７に対して、プリンタバス２４を介した画像データの送信や、印刷開始の指示の送信を行う。
【００２４】
オプションボード２１０は、外部バス２３１、外部バス２３３、設定バス２３２、及びスキャナバス２３のそれぞれと接続された動的再構成部２１１を含む。動的再構成部２１１は、外部バス２３１から入力されるコンフィグレーションデータによって内部に任意の回路を動的に構成することができ、ＦＰＧＡ等の論理デバイスで実現される。動的再構成部２１１は、設定バス２３２から入力されたデータにより、内部に動的に構成された回路の設定を行う。また、スキャナバス２３から入力される画像データを、内部に構成された回路に入力し、その回路により画像処理を実行し、外部バス２３３を介してサブボード２２０に出力する。
【００２５】
ＣＰＵ２０１、ＣＰＵ２２１、動的再構成部２１１には、例えば、チップセット、バスブリッジ、クロックジェネレータ等の周辺ハードウェアが多数含まれるが、説明のため記載を省略している。
【００２６】
図３は、動的再構成部２１１に転送されるコンフィグレーションデータとページ設定との対応情報を示す図である。図３では、テーブルの形式で示しているが、コンフィグレーションデータとページ設定との対応を示すのであれば、テーブル以外の形態で実現されても良い。対応テーブル３００は、例えばＲＯＭ２０２に記憶されている。対応テーブル３００に示すように、ページの種別に応じて適用する画像処理は異なっている。図３の場合、スキャンジョブの実行対象である読み込むページが奇数ページであり且つ異物有りの場合には、異物補正処理を行うが鏡像補正処理は行わない回路データが対応しており、その回路データを用いて画像処理回路が動的再構成部２１１に構成される。異物補正処理とは、ＡＤＦからのいわゆる流し読みを行う場合、ページ間で原稿読取位置上のゴミ等の異物を検出した場合に、後続するページにおいて、異物の位置に対応する画素を補間等により補正する処理のことである。鏡像補正処理とは、ＡＤＦの構造や、センサの取付け向きなど読取機構に因り、画像データが鏡像として得られる場合、表裏面のうち鏡像となった画像データに対して、鏡像から正像に補正する処理のことである。
【００２７】
また、読み込むページが奇数ページであり且つ異物なしの場合には、異物補正処理も鏡像補正処理も行わない回路データを用いて画像処理回路が動的再構成部２１１に構成される。また、読み込むページが偶数ページであり且つ異物有りの場合には、異物補正処理及び鏡像補正処理を行う回路データを用いて画像処理回路が動的再構成部２１１に構成される。また、読み込むページが偶数ページであり且つ異物なしの場合には、鏡像補正処理を行うが異物補正処理を行わない回路データを用いて画像処理回路が動的再構成部２１１に構成される。
【００２８】
図３に示すように、本実施形態では、ページ間の異物読取結果に応じて、後続するページに対する異物補正処理を行うコンフィグレーションデータと、異物補正処理を行わないコンフィグレーションデータとが排他的に用いられる。また、ＡＤＦの構造や読取デバイスの取付方向に応じて、ページの表裏面のいずれかに（奇数ページもしくは偶数ページに）対して鏡像補正処理を行うコンフィグレーションデータと、鏡像補正処理を行わないコンフィグレーションデータとが排他的に用いられる。
【００２９】
図３に示すコンフィグレーションデータでは、異物補正処理や鏡像補正処理の実行の有無をページごとに定めているが、読み取られたページの有彩色判定結果に応じて、無彩色用回路や有彩色回路の実行の有無を定めるようにしても良い。対応テーブル３００は、プログラムとして構造体等のテーブル等で構成される。また、対応テーブル３００は、例えば、ＣＰＵ２０１により動的に生成されるようにしても良いし、ハードディスクやＲＯＭに予め記憶されても良い。
【００３０】
［コントローラの動作］
次に、コントローラ１３の動作について、スキャンジョブを実行して複数枚の原稿の読み取りを行う場合を一例として説明する。しかしながら、複数ページの画像データを実行対象とするのであれば、コピーやプリント等の他のジョブであっても良い。コントローラ１３によりスキャンジョブの実行の際には、メインボード２００のＣＰＵ２０１がスキャンジョブを実行し、サブボード２２０のＣＰＵ２２１がページ画像処理を実行する。さらに、ＣＰＵ２０１、動的再構成部２１１、ＣＰＵ２２１、スキャナ装置１６が連携動作する。
【００３１】
［ジョブ処理］
図４は、スキャンジョブの処理の手順を示すフローチャートである。図４に示す各処理は、例えば、ＣＰＵ２０１がＲＯＭ２０２もしくはハードディスク１５に記憶されたプログラムをＲＡＭ２０３に読み出して実行することにより実現される。
【００３２】
Ｓ４０１において、ＣＰＵ２０１は、ユーザによるスキャンジョブの処理開始指示を操作部１４を介して検出したか否かを判定する。Ｓ４０１でスキャンジョブの処理開始指示を検出したと判定された場合、Ｓ４０２に進み、スキャンジョブの処理開始指示を検出していないと判定された場合、Ｓ４０１の処理を繰り返す。
【００３３】
Ｓ４０２において、ＣＰＵ２０１は、図３に示す対応テーブル３００を参照し、後続する次ページに必要な画像処理に対応するコンフィグレーションデータを選択する。本実施形態において、次ページに必要な画像処理の一例として、異物補正処理を説明する。
【００３４】
ＭＦＰでは、修正液のくずや紙片等がゴミ等の異物として読取デバイス上に付着し、そのままの状態でＡＤＦによる原稿流し読みを行うと黒筋画像となる問題がある。このため、まず、ページ読取り前にスキャナ装置１６に内蔵された不図示の原稿ガイド板（白色基準板）を読み取った１ライン分の画像データを取得する。次に、読み取った全画素の平均値と各画素の読取値とを比較し、その差が閾値以上である画素に対応する箇所に異物が付着していると判定する。異物検知のための白色基準板の読取りは、毎ページ処理前に行われ、異物を検知した場合、後続する次ページの処理では、周辺画素からゴミに対応する画素の画素データを推測して補正処理する異物補正処理が必要となる。ここで、次ページが奇数ページであれば、図３のテーブル３００を参照すると、異物有りかつ奇数ページであるので、ＣＰＵ２０１は、コンフィグレーションデータ０を選択する。
【００３５】
Ｓ４０２において、ＣＰＵ２０１は、上記のようにコンフィグレーションデータを選択する。Ｓ４０３において、ＣＰＵ２０１は、選択したコンフィグレーションデータを、ハードディスク１５から読み込む。Ｓ４０４において、ＣＰＵ２０１は、バスブリッジ２０８及び外部バス２３１を介して、Ｓ４０３で読み込んだコンフィグレーションデータをオプションボード２１０の動的再構成部２１１に転送する。すると、動的再構成部２１１での回路再構成が開始される。
【００３６】
Ｓ４０５において、ＣＰＵ２０１は、動的再構成部２１１の再構成終了を検出したか否かを判定する。例えば、ＣＰＵ２０１は、外部バス２３１での割込信号や、動的再構成部２１１からの外部バス２３１を介した再構成終了通知の受信に基づいて、再構成終了を検出したか否かを判定する。Ｓ４０５で再構成終了が検出されたと判定された場合、Ｓ４０６に進み、再構成終了が検出されなかったと判定された場合、Ｓ４０５の処理を繰り返す。
【００３７】
Ｓ４０６において、ＣＰＵ２０１は、サブボード２２０のＣＰＵ２２１にページ画像処理制御を開始させるために、バスブリッジ２０４及び外部バス２３０を介してページ画像処理設定およびページ読取処理の開始指示を送信する。
【００３８】
Ｓ４０７において、ＣＰＵ２０１は、ＣＰＵ２２１により実行されるページ画像処理制御の終了時に送信されるページ画像処理の終了通知を外部バス２３０を介してバスブリッジ２０４が受信したか否かを判定する。Ｓ４０７でページ画像処理の終了通知をバスブリッジ２０４が受信したと判定された場合、Ｓ４０８に進み、受信していないと判定された場合、Ｓ４０７の処理を繰り返す。
【００３９】
Ｓ４０８において、ＣＰＵ２０１は、スキャンジョブの実行対象となるページのうち最終ページについて本フローチャートの処理が終了したか否かを判定する。ここで、最終ページについて終了したと判定された場合、図４に示す処理を終了する。一方、最終ページについて終了していないと判定された場合、Ｓ４０２からの処理を繰り返す。
【００４０】
［ページ画像処理制御］
図５は、ページごとの画像処理制御の手順を示すフローチャートである。図５に示す各処理は、例えば、ＣＰＵ２２１がＲＯＭ２２２もしくはハードディスク１５に記憶されたプログラムをＲＡＭ２２３に読み出して実行することにより実現される。
【００４１】
Ｓ５０１において、ＣＰＵ２２１は、外部バス２３０を介してバスブリッジ２２５がページ画像処理設定およびページ読取処理の開始指示を受信したか否かを判定する。Ｓ５０１でページ画像処理設定およびページ読取処理の開始指示を受信したと判定された場合、Ｓ５０２に進み、受信していないと判定された場合、Ｓ５０１の処理を繰り返す。
【００４２】
Ｓ５０２において、ＣＰＵ２２１は、ページ画像処理設定を、画像処理部２２４と、シリアルコントローラ２２７及び設定バス２３２を介して動的再構成部２１１とに対して設定する。ページ画像処理設定とは、動的再構成部２１１に構成された画像処理回路が実行する画像処理の設定情報であり、例えば、異物補正回路の場合、補間対象の画素数等の補正条件である。
【００４３】
Ｓ５０３において、ＣＰＵ２２１は、画像処理部２２４及びスキャナバス２３を介して、読取開始を行うようスキャナ装置１６を制御する。これは、例えば、スキャナバス２３の一部の専用信号や、スキャナバス２３上での通信線を用いたコマンドとして実現される。Ｓ５０３の処理により、スキャナ装置１６が原稿の読み取りを開始し、スキャナ装置１６から出力された画像データが動的再構成部２１１に入力される。動的再構成部２１１で画像処理された画像データは、動的再構成部２１１により、外部バス２３３及びバスブリッジ２２６を介して、サブボード２２０のＲＡＭ２２３に格納される。
【００４４】
Ｓ５０４において、ＣＰＵ２２１は、動的再構成部２１１からページ画像処理の終了通知を外部バス２３３を介してバスブリッジ２２６が受信したか否かを判定する。Ｓ５０４の判定処理は、例えば、動的再構成部２１１に構成された画像処理回路がＳ５０２で設定された設定情報から算出した１ページ分の画像データの画像処理終了を示す外部バス２３３上の割込み信号として実現される。あるいは、動的再構成部２１１から出力された画像データの転送終了をバスブリッジ２２６が検出するようにしても良い。Ｓ５０４でページ画像処理の終了通知をバスブリッジ２２６が受信したと判定された場合、Ｓ５０５に進み、受信していないと判定された場合、Ｓ５０４の処理を繰り返す。Ｓ５０５において、ＣＰＵ２２１は、バスブリッジ２２５及び外部バス２３０を介してページ画像処理の終了通知をＣＰＵ２０１に送信し、図５の処理を終了する。
【００４５】
［ジョブ実行時の連携動作］
ＣＰＵ２０１、ＣＰＵ２２１、動的再構成部２１１、スキャナ装置１６の連携シーケンスについて図６を参照しながら説明する。
【００４６】
図６は、ＣＰＵ２０１で実行される図４、ＣＰＵ２２１で実行される図５のフローチャートを時系列に表したシーケンス図である。処理６０１は、ＣＰＵ２０１により実行される処理を示す。処理６０２は、ＣＰＵ２２１により実行される処理を示す。処理６０３は、動的再構成部２１１により実行される処理を示す。処理６０４は、スキャナ装置１６により実行される処理を示す。
【００４７】
Ｓ６０１において、ＣＰＵ２０１は、ページ画像処理設定に応じたコンフィグレーションデータを選択する。次に、Ｓ６０２において、ＣＰＵ２０１は、選択したコンフィグレーションデータを動的再構成部２１１に転送開始する。コンフィグレーションデータを受信した動的再構成部２１１は、Ｓ６０３において回路の再構成を行い、Ｓ６０４において、再構成終了時に終了通知をＣＰＵ２０１に送信する。Ｓ６０５において、ＣＰＵ２０１は、動的再構成の終了通知を受信する。
【００４８】
Ｓ６０６において、ＣＰＵ２０１は、ページ画像処理設定およびページ読取処理の開始指示をＣＰＵ２２１に送信する。Ｓ６０７において、ページ画像処理設定およびページ読取処理の開始指示を受信する。Ｓ６０８において、ＣＰＵ２２１は、Ｓ６０７で受信したページ画像処理設定を動的再構成部２１１に送信する。そして、Ｓ６０９において、ＣＰＵ２２１は、画像処理部２２４及びスキャナバス２３を介してスキャナ装置１６に対してページ読取開始を指示する。
【００４９】
Ｓ６１０において、スキャナ装置１６は、原稿を光学的に読み取って画像データを生成し、動的再構成部２１１に画像データを送信する。この画像データは、ページ読取開始が指示されたページ分に対応する画像データである。Ｓ６１１において、動的再構成部２１１は、Ｓ６０３で再構成された画像処理回路により、Ｓ６１０で送信された画像データに対して画像処理を実行する。
【００５０】
Ｓ６１２において、動的再構成部２１１は、ページに対する画像処理終了時に、画像処理の終了通知をＣＰＵ２２１に送信する。ここで、動的再構成部２１１は、例えば、画像データ内のページの有効領域信号の終了等を示す同期信号や、画像処理判定において閾値を超える値等を検出した場合に、画像処理の終了通知を送信する。Ｓ６１３において、ＣＰＵ２２１は、画像処理の終了通知を受信する。その結果、ＣＰＵ２２１は、ページ画像処理の終了を認識することができる。Ｓ６１４において、ＣＰＵ２２１は、ページ画像処理の終了通知をＣＰＵ２０１に送信する。Ｓ６１５において、ＣＰＵ２０１は、ページ画像処理の終了通知を受信する。その結果、ＣＰＵ２０１は、ページ画像処理の終了を認識することができる。
【００５１】
以上のＳ６０１〜Ｓ６１５のシーケンスにより、１ページ分のスキャンジョブの連携動作におけるページシーケンスが完了する。なお、図６に不図示であるが、この後、図４のＳ４０８の判定処理が行われ、最終ページでないと判定された場合にはＳ６０１に戻る。ページ毎にＳ６０１〜Ｓ６１５を繰り返すことで、スキャンジョブを実行する。
【００５２】
本実施形態により、ＣＰＵ２０１とＣＰＵ２２１とで連携して行うスキャンジョブについて、ＣＰＵ２０１により動的再構成部２１１に画像処理回路を構成し、動的再構成部２１１により、読み取られた画像データをページ毎に画像処理することが可能となる。動的再構成可能なデバイスに構成する回路は、画像処理装置の完成後でも変更可能である。そのため、本実施形態において、画像処理装置の完成後に、改良された異物補正回路や鏡像補正処理回路をスキャンジョブの実行に容易に適用することができる。また、図６のＳ６０３に示すように、ページ毎に動的再構成部６０３の動的再構成を行うので、例えばＦＰＧＡのゲート規模に制限がある場合等にも容易に適応することができる。
【００５３】
なお、本実施形態においては、スキャンジョブを例として説明したが、複数ページを有する画像データを実行対象とするジョブ、例えば、複写機能を実現するコピージョブでも同様である。
【００５４】
［第２の実施形態］
第１の実施形態では、ＣＰＵ２０１が、動的再構成部２１１に対して回路の動的再構成を行い、ＣＰＵ２２１がページ読取開始の指示を行っていた。本実施形態では、第１の実施形態における動作において、ページ取得間隔を短くしてジョブ全体の処理効率をより向上させることができる構成について説明する。
【００５５】
［画像処理装置の構成］
本実施形態における画像処理装置の構成は、図１における説明と同様である。さらに、コントローラ１３の構成も図２における説明と同様である。
【００５６】
図７は、動的再構成部２１１に転送される複数のコンフィグレーションデータと、ページ設定とが対応付られた対応情報を示す図である。図７では、テーブルの形式で示しているが、コンフィグレーションデータとページ設定との対応を示すのであれば、テーブル以外の形態で実現されても良い。テーブル７００の行７０３、７０４、７０５は、読み込むページの種別に対応付られた画像処理回路を示す。また、行７０３〜７０５は、ＩＤ７０１により各識別される。
【００５７】
ＩＤ「１」により識別される行７０３は、カラーページ用の画像処理回路に対応している。カラーページは、写真のような中間調が多用された画像が使用される。そのため、カラーページ用の画像処理回路は、文字部や写真部等の像域分離を行い、各像域に応じた画像処理を実行する。その他、例えばエッジを強く協調すると、テクスチャが発生して画像が劣化したように見える場合があるので、カラーページ用の画像処理回路では、ガンマを低めにした画像処理を実行する。このようなカラーページに最適化した画像処理回路が動的再構成部２１１に構成される。
【００５８】
ＩＤ「２」により識別される行７０４は、白黒ページ用の画像処理回路に対応している。白黒ページ用の画像処理回路は、ハーフトーン写真、文字部等の像域分離を行い、各像域に応じた画像処理を実行する。また、ガンマを高くして明瞭さを強調するような画像処理を実行する。このような白黒ページに最適化した画像処理回路が動的再構成部２１１に構成される。
【００５９】
カラーページ用の画像処理回路と白黒ページ用の画像処理回路は、原稿読取前に行われるページの有彩色判定処理の結果、読取対象のページが無彩色であるか有彩色であるかに応じて排他的に用いられる。
【００６０】
ＩＤ「３」により識別される行７０５は、鏡像補正処理（鏡像反転）を行う画像処理回路に対応している。鏡像処理用画像処理回路では、ＡＤＦの構造や読取デバイスの取付方向に起因する表裏面いずれか（奇数ページであるか若しくは偶数ページであるか）に対して鏡像補正処理を実行する。図７では、奇数ページに対して鏡像補正処理を実行するように定められている。
【００６１】
テーブル７００は、以上のように、動的再構成部２１１の構成仕様を定義している。テーブル７００は、プログラムにおいては構造体等で定義される。テーブル７００は、ＣＰＵ２０１により動的に生成されても良いし、ハードディスク１５やＲＯＭ２０２に予め記憶されても良い。
【００６２】
［ジョブ処理］
次に、コントローラ１３の動作について、スキャンジョブを実行して複数枚の原稿の読み取りを行う場合を一例として説明する。しかしながら、複数ページの画像データを実行対象とするのであれば、コピーやプリント等の他のジョブであっても良い。コントローラ１３によりスキャンジョブの実行の際には、メインボード２００のＣＰＵ２０１がスキャンジョブを実行し、サブボード２２０のＣＰＵ２２１がページ画像処理を実行する。さらに、ＣＰＵ２０１、動的再構成部２１１、ＣＰＵ２２１、スキャナ装置１６が連携動作する。
【００６３】
図８は、スキャンジョブの処理の手順を示すフローチャートである。図８に示す各処理は、例えば、ＣＰＵ２０１がＲＯＭ２０２もしくはハードディスク１５に記憶されたプログラムをＲＡＭ２０３に読み出して実行することにより実現される。
【００６４】
Ｓ８０１において、ＣＰＵ２０１は、ユーザによるスキャンジョブの処理開始指示を操作部１４を介して検出したか否かを判定する。Ｓ８０１でスキャンジョブの処理開始指示を検出したと判定された場合、Ｓ８０２に進み、スキャンジョブの処理開始指示を検出していないと判定された場合、Ｓ８０１の処理を繰り返す。
【００６５】
Ｓ８０２において、ＣＰＵ２０１は、スキャンジョブで使用する画像処理内容を含むテーブル７００を生成する。Ｓ８０３において、ＣＰＵ２０１は、スキャンジョブの実行で必要となる全てのコンフィグレーションデータをハードディスク１５から読み込む。本実施形態では、図７のＩＤ「１」〜「３」に対応するコンフィグレーションデータ０〜２をハードディスク１５から読み込む。
【００６６】
Ｓ８０４において、ＣＰＵ２０１は、バスブリッジ２０８及び外部バス２３１を介して、Ｓ８０３で読み込んだコンフィグレーションデータを動的再構成部２１１に転送する。すると、動的再構成部２１１での回路再構成が開始される。Ｓ８０５において、ＣＰＵ２０１は、動的再構成部２１１の再構成終了を検出したか否かを判定する。例えば、ＣＰＵ２０１は、外部バス２３１での割込信号や、動的再構成部２１１からの外部バス２３１を用いた再構成終了通知の受信に基づいて、再構成終了を検出したか否かを判定する。Ｓ８０５で再構成終了が検出されたと判定された場合、Ｓ８０６に進み、再構成終了が検出されなかったと判定された場合、Ｓ８０５の処理を繰り返す。動的再構成部２１１の再構成が終了した時点で、動的再構成部２１１には、図７に示す複数種類の画像処理回路が構成されている。
【００６７】
Ｓ８０６において、ＣＰＵ２０１は、動的再構成部２１１の再構成終了を検出した後、バスブリッジ２０４及び外部バス２３０を介して、テーブル７００をサブボード２２０のバスブリッジ２２５に送信する。サブボード２２０のＣＰＵ２２１は、バスブリッジ２２５からテーブル７００を取得することにより、動的再構成部２１１にどのような画像処理回路が再構成されたかを認識することができる。
【００６８】
Ｓ８０７において、ＣＰＵ２０１は、サブボード２２０のＣＰＵ２２１にページ画像処理制御を開始させるために、外部バス２３０を介してページ画像処理設定およびページ読取処理の開始指示を送信する。Ｓ８０８において、ＣＰＵ２０１は、ＣＰＵ２２１により実行されるページ画像処理制御の終了時に送信されるページ画像処理の終了通知を外部バス２３０を介してバスブリッジ２０４が受信したか否かを判定する。Ｓ８０８でページ画像処理の終了通知をバスブリッジ２０４が受信したと判定された場合、Ｓ８０９に進み、受信していないと判定された場合、Ｓ８０８の処理を繰り返す。
【００６９】
Ｓ８０９において、ＣＰＵ２０１は、スキャンジョブの実行対象となるページのうち最終ページについて本フローチャートの処理が終了したか否かを判定する。ここで、最終ページについて終了したと判定された場合、図８に示す処理を終了する。一方、最終ページについて終了していないと判定された場合、Ｓ８０７からの処理を繰り返す。
【００７０】
［ページ画像処理制御］
図９は、ページごとの画像処理制御の手順を示すフローチャートである。図９に示す各処理は、例えば、ＣＰＵ２２１がＲＯＭ２２２もしくはハードディスク１５に記憶されたプログラムをＲＡＭ２２３に読み出して実行することにより実現される。
【００７１】
Ｓ９０１において、ＣＰＵ２２１は、外部バス２３０を介してバスブリッジ２２５がテーブル７００を受信したか否かを判定する。Ｓ９０１でテーブル７００を受信したと判定された場合、Ｓ９０２に進み、受信していないと判定された場合、Ｓ９０１の処理を繰り返す。
【００７２】
Ｓ９０２において、ＣＰＵ２２１は、外部バス２３０を介してバスブリッジ２２５がページ画像処理設定およびページ読取処理の開始指示を受信したか否かを判定する。Ｓ９０２でページ設定およびページ読取処理の開始指示を受信したと判定された場合、Ｓ９０３に進み、受信していないと判定された場合、Ｓ９０２の処理を繰り返す。
【００７３】
Ｓ９０３において、ＣＰＵ２２１は、現在読取対象とするページ情報から、テーブル７００を参照し、読取対象のページ情報に対応したコンフィグレーションＩＤ７０１を選択する。そして、ＣＰＵ２２１は、選択したコンフィグレーションＩＤ７０１を設定バス２３２を介して動的再構成部２１１に送信し、テーブル７００の行７０３〜７０５の各画像処理に対応する画像処理回路のいずれを有効にするかを設定する。
【００７４】
図１１を参照しながら、コンフィグレーションＩＤ７０１の選択について説明する。図１１に示すように、Ｓ８０５で動的再構成部２１１から再構成終了の通知を受信すると、テーブル７００で定義されているコンフィグレーションＩＤ「１」〜「３」に対応する各画像処理回路７０３〜７０５が動的再構成部２１１に切替可能に構成されている。ＣＰＵ２２１は、Ｓ９０３において、選択したコンフィグレーションＩＤ７０１を設定バス２３２を介して送信し、スイッチ１１０１を切り替える。この切替え構成により、スキャナバス２３を介して受信した画像データに画像処理を実行する画像処理回路を、ＣＰＵ２０１の介在無しに、任意のタイミングで動的に切り替えることができる。本実施形態では、各画像処理回路７０３〜７０５の切り替えは、排他的に選択可能なスイッチとして構成されている。しかしながら、複数の画像処理回路をパイプライン型に接続し、各画像処理回路の有効／無効を逐次指定可能なように構成しても良い。
【００７５】
Ｓ９０４において、ＣＰＵ２２１は、Ｓ９０２で受信したページ画像処理設定を、画像処理部２２４と、動的再構成部２１１に構成された画像処理回路とに対して行う。例えば、図１１に示す状態においては、ページ画像処理設定は、画像処理回路７０３に対して行われる。ページ画像処理設定は、第１の実施形態における説明と同様に行われる。
【００７６】
Ｓ９０５において、ＣＰＵ２２１は、画像処理部２２４及びスキャナバス２３を介して、読取開始を行うようスキャナ装置１６を制御する。これは、例えば、スキャナバス２３の一部の専用信号や、スキャナバス２３上での通信線を用いたコマンドとして実現される。Ｓ５０３の処理により、スキャナ装置１６が原稿の読取りを開始し、スキャナ装置１６から出力された画像データが動的再構成部２１１に入力される。動的再構成部２１１で画像処理された画像データは、動的再構成部２１１により、外部バス２３３及びバスブリッジ２２６を介して、サブボード２２０のＲＡＭ２２３に格納される。
【００７７】
Ｓ９０６において、ＣＰＵ２２１は、動的再構成部２１１からページ画像処理の終了通知を外部バス２３３を介してバスブリッジ２２６が受信したか否かを判定する。Ｓ９０６の判定処理は、例えば、動的再構成部２１１に構成された画像処理回路がＳ９０４で設定されたページ画像処理設定から算出した１ページ分の画像データの画像処理終了を示す外部バス２３３上の割込信号として実現される。あるいは、動的再構成部２１１から出力された画像データの転送終了をバスブリッジ２２６が検出するようにしても良い。Ｓ９０６でページ画像処理の終了通知をバスブリッジ２２６が受信したと判定された場合、Ｓ９０７に進み、受信していないと判定された場合、Ｓ９０６の処理を繰り返す。Ｓ９０７において、ＣＰＵ２２１は、バスブリッジ２２５及び外部バス２３０を介してページ画像処理の終了通知をＣＰＵ２０１に送信し、図９の処理を終了する。
【００７８】
［ジョブ実行時の連携動作］
ＣＰＵ２０１、ＣＰＵ２２１、動的再構成部２１１、スキャナ装置１６の連携シーケンスについて図１０を参照しながら説明する。
【００７９】
図１０は、ＣＰＵ２０１で実行される図８、ＣＰＵ２２１で実行される図９のフローチャートを時系列に表したシーケンス図である。処理１００１は、ＣＰＵ２０１により実行される処理を示す。処理１００２は、ＣＰＵ２２１により実行される処理を示す。処理１００３は、動的再構成部２１１により実行される処理を示す。処理１００４は、スキャナ装置１６により実行される処理を示す。
【００８０】
Ｓ１００１において、ＣＰＵ２０１は、スキャンジョブで使用する画像処理内容を全て含むテーブル７００を生成する。Ｓ１００２において、ＣＰＵ２０１は、画像処理回路７０３〜７０５に対応したコンフィグレーションデータ０〜２を動的構成部２１１に転送開始する。転送開始後、Ｓ１００３において、動的構成部２１１は、内部での画像処理回路７０３〜７０５の構成を開始する。Ｓ１００４において、動的構成部２１１は、動的再構成終了時に終了通知をＣＰＵ２０１に送信する。Ｓ１００５において、ＣＰＵ２０１は、動的再構成の終了通知を受信する。
【００８１】
Ｓ１００６において、ＣＰＵ２０１は、図７に示すテーブル７００をＣＰＵ２２１に送信する。ＣＰＵ２２１は、テーブル７００を受信する。その結果、ＣＰＵ２２１は、動的再構成部２１１にどのような画像処理回路が構成されているかを認識し、また、各画像処理回路に対応するコンフィグレーションＩＤを認識することができる。
【００８２】
Ｓ１００７において、ＣＰＵ２０１は、ページ画像処理設定およびページ読取処理の開始指示をＣＰＵ２２１に送信する。Ｓ１００８において、ＣＰＵ２２１は、ページ画像処理設定およびページ読取処理の開始指示を受信する。
【００８３】
Ｓ１００９において、ＣＰＵ２２１は、Ｓ１００８で受信したページ画像処理設定から、テーブル７００のコンフィグレーションＩＤ７０１を選択し、選択したコンフィグレーションＩＤ７０１を動的再構成部２１１に送信する。Ｓ１０１０において、動的再構成部２１１のスイッチ１１０１は、Ｓ１００９において送信されたコンフィグレーションＩＤ７０１に対応する画像処理回路が有効となるように切り替わる。Ｓ１０１１において、ＣＰＵ２２１は、Ｓ１００８で受信したページ画像処理設定を、動的再構成部２１１に送信する。そして、Ｓ１０１２において、ＣＰＵ２２１は、画像処理部２２４及びスキャナバス２３を介してスキャナ装置１６に対してページ読取開始を指示する。
【００８４】
Ｓ１０１３において、スキャナ装置１６は、原稿を光学的に読み取って画像データを生成し、動的再構成部２１１に画像データを送信する。この画像データは、ページ読取開始が指示されたページ分に対応する画像データである。Ｓ１０１４において、動的再構成部２１１は、スイッチ１１０１により有効とされた画像処理回路により、Ｓ１０１３で送信された画像データに対して画像処理を実行する。
【００８５】
Ｓ１０１５において、動的再構成部２１１は、ページに対する画像処理終了時に、画像処理の終了通知をＣＰＵ２２１に送信する。ここで、動的再構成部２１１は、例えば、画像データ内のページの有効領域信号の終了等を示す同期信号や、画像処理判定において閾値を超える値等を検出した場合に、画像処理の終了通知を送信する。Ｓ１０１６において、ＣＰＵ２２１は、画像処理の終了通知を受信する。その結果、ＣＰＵ２２１は、ページ画像処理の終了を認識することができる。Ｓ１０１７において、ＣＰＵ２２１は、ページ画像処理の終了通知を、ＣＰＵ２０１に送信する。Ｓ１０１８において、ＣＰＵ２０１は、ページ画像処理の終了通知を受信する。その結果、ＣＰＵ２０１は、ページ画像処理の終了を認識することができる。
【００８６】
図１０には不図示であるが、Ｓ１０１８の処理後、図８のＳ８０９の最終ページの判定処理が行われ、最終ページでないと判定された場合にはＳ１００７に戻る。つまり、本実施形態においては、ＣＰＵ２０１は、Ｓ１００３の処理をページごとに行わない。代わりに、ＣＰＵ２２１が設定バス２３２を介して、読み込むページごとにスイッチ１１０１を切り替えることで、Ｓ１０１４において画像処理が実行される。
【００８７】
本実施形態は、ＣＰＵ２２１が動的再構成部２１１に構成する画像処理回路をＳ１０１０において選択する点で第１の実施形態と異なる。本実施形態では、ＣＰＵ２０１は、動的再構成部２１１の再構成を最初に一度だけ行うので、動的再構成部２１１にＮＡＮＤプロセス等の書き込み回数寿命がある場合でも、書き込み回数寿命について消費速度を低減することができる。また、回路の再構成をページ間ごとのタイミングで行う第１の実施形態に比べると、スキャンにおけるページ間の処理時間を短くすることができ、その結果、スキャンジョブ全体の処理効率をより向上させることができる。
【００８８】
また、動的再構成部２１１の切り替えは、画像データがスキャナバス２３上を通信していない時に行わなければならないので、スキャンの終了を検出してから切り替えを行う必要がある。本実施形態では、スキャナ装置１６を制御しているＣＰＵ２２１が切り替えを行うので、スキャンの終了を検出した直後に短時間で切り替えることができる。その結果、例えば、ＡＤＦの連続給紙動作に影響を及ぼさずに、連続してスキャンを行うことが可能となる。
【００８９】
各実施形態において、スキャンジョブで使用される画像処理回路を動的に構成することを説明したが、他の種類のジョブの実行の際にも、ページごとに画像処理回路を動的に構成するようにしても良い。例えば、プリントジョブについて、図１及び図２のように構成し、各ページに応じた画像処理を行うようにしても良い。
【００９０】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９１】
１３  コントローラ：  ２００  メインボード：  ２１０  オプションボード：  ２２０  サブボード：  ２０１、２２１  ＣＰＵ：  ２１１  ＦＰＧＡ
【図１】
2016116171.tif 000003
【図２】
2016116171.tif 000004
【図３】
2016116171.tif 000005
【図４】
2016116171.tif 000006
【図５】
2016116171.tif 000007
【図６】
2016116171.tif 000008
【図７】
2016116171.tif 000009
【図８】
2016116171.tif 000010
【図９】
2016116171.tif 000011
【図１０】
2016116171.tif 000012
【図１１】
2016116171.tif 000013