(57)【要約】【課題】部分再構成が可能な再構成部において、新たに書き換えた機能ブロックが書き換えていない部分の他の機能ブロックと連携して動作可能であるとともに、当該再構成に掛かる書き換え時間を短縮する仕組みを提供する。【解決手段】本画像処理装置は、受け付けたジョブを処理するための回路構成と、再構成回路に構成されている回路構成との差分を抽出し、当該差分から、再構成回路に再構成する機能ブロックを選択し、記憶手段から必要な構成データを読み出して再構成回路を再構成する。【選択図】  図４
2015201766.tif 000002
【特許請求の範囲】
【請求項１】
回路構成を部分的に再構成可能な再構成回路を有する画像処理装置であって、
前記再構成回路に構成するための複数の機能ブロックごとの構成データを予め記憶する記憶手段と、
ジョブを受け付ける受付手段と、
前記受付手段によって受け付けたジョブを処理するための回路構成と、前記再構成回路に構成されている回路構成との差分を抽出する抽出手段と、
前記抽出手段によって抽出された差分から、前記再構成回路に再構成する機能ブロックを選択する選択手段と、
前記選択手段によって選択された機能ブロックに従って、前記記憶手段から必要な構成データを読み出して前記再構成回路を再構成する再構成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記再構成回路を再構成する際の制約条件があるか否かを判断する判断手段をさらに備え、
前記再構成手段は、
前記判断手段によって判断された前記制約条件に従って、再構成に使用する構成データを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制約条件は、前記再構成回路の回路規模、及び書き換え回数の少なくとも１つに関する条件であることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記再構成手段は、前記ジョブを処理するための回路構成に含まれる各機能ブロックにおいて、使用されるデータの処理形式に従って前記再構成に使用する前記構成データを決定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記選択手段は、前記ジョブを処理するために必要な機能ブロックの処理形式と、前記再構成回路に構成されている回路構成に含まれる機能ブロックの処理形式との差分に基づいて、前記再構成回路に再構成する機能ブロックを選択することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記機能ブロックには、それぞれが異なる画像処理を実行するための複数の画像処理部と、該画像処理部によって処理される画像データをメモリに読み書きする複数のメモリコントローラとを含み、
前記処理形式とは、前記メモリコントローラにおいて前記画像データを処理する形式であって、ライン状の画像データを扱うライン処理形式、矩形状の画像データを扱う矩形処理形式、及び圧縮した画像データを扱うリニア処理形式を含むことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記記憶手段は、電源投入後又はスリープ復帰後に実行される最初のジョブを予測した構成データを予め記憶し、
前記再構成手段は、電源投入後又はスリープ復帰後において、ジョブを受け付ける前に、前記記憶手段から前記予測した構成データを読み出して前記再構成回路に再構成することを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記構成データは、前記機能ブロックごとの単位で再構成可能なデータであることを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記構成データは、前記機能ブロックよりも細かい処理単位で再構成可能なデータであることを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項１０】
回路構成を部分的に再構成可能な再構成回路と、前記再構成回路に構成するための複数の機能ブロックごとの構成データを予め記憶する記憶手段とを有する画像処理装置の制御方法であって、
受付手段が、ジョブを受け付ける受付工程と、
抽出手段が、前記受付工程において受け付けたジョブを処理するための回路構成と、前記再構成回路に構成されている回路構成との差分を抽出する抽出工程と、
選択手段が、前記抽出工程において抽出された差分から、前記再構成回路に再構成する機能ブロックを選択する選択工程と、
再構成手段が、前記選択工程において選択された機能ブロックに従って、前記記憶手段から必要な構成データを読み出して前記再構成回路を再構成する再構成工程と
を実行することを特徴とする画像処理装置の制御方法。
【請求項１１】
請求項１乃至９の何れか１項に記載の画像処理装置としてコンピュータを機能させるための該コンピュータで読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
論理回路の構成を変更可能なＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などの再構成可能回路が良く知られている。一般的に、ＰＬＤやＦＰＧＡの論理回路の変更は、起動時に、ＲＯＭ等の不揮発性メモリに格納された回路構成情報を、ＰＬＤやＦＰＧＡ内部の揮発性メモリであるコンフィグレーションメモリへ書き込むことで実現される。また、コンフィグレーションメモリの情報は電源遮断時にクリアされるため、電源投入時に、再度、ＲＯＭに記憶している回路構成情報をコンフィグレーションメモリに書き込む必要がある。このように、電源が供給されている状態で、一度だけＰＬＤやＦＰＧＡの論理回路を構成する方法を静的再構成という。これに対して、論理回路が動作中に、その論理回路の構成を動的に変更できるＦＰＧＡ等が開発されており、このように動的に論理回路を変更する方法を動的再構成という。
【０００３】
また、ＦＰＧＡには、ＦＰＧＡのチップ全体の回路構成でなく、特定の領域の回路構成だけを書き換えることが可能なものがあり、このような書き換えを部分再構成という。特に、動作中の回路の動作を停止させずに、それ以外の他の回路構成を変更することを動的部分再構成という。動的部分再構成では、動的再構成時に、コンフィグレーションメモリ全体を書き換えるのではなく、コンフィグレーションメモリの一部の領域のみを書き換えることで、ＦＰＧＡの論理回路を部分的に再構成することができる。このような動的部分再構成を用いることで、例えばＦＰＧＡのある領域に、時分割で複数の論理回路を切り替えて実装できる。この結果、少ないハードウェアリソースで、用途に合わせた様々な機能を、ハードウェアによる高速の演算性能を保ったままで柔軟に実現できる。
【０００４】
ただし、動作中に回路構成を変更できるといっても、回路構成の変更（書き換え）に要する時間は長く、その時間はコンフィグレーションメモリに書き込む論理回路構成情報のサイズに比例する。また、回路構成の変更箇所が多く、それぞれの変更箇所の回路を単独で回路の変更を行えば、それだけ変更のためのコンフィグレーション回数が必要となり、全体での回路の再構成を完了するのに要する書き換え時間が増える。特許文献１には、書き換え時間を低減するための技術として、画像処理中に次に処理する可能性の高い処理を予測し、予測した処理を実現するためのコンフィグデータを高速なコンフィギュレーションメモリに先行してロードすることが開示されている。高速なコンフィギュレーションメモリに先行ロードすることにより、画像処理中の回路構成データのロード時間を短縮でき、画像処理速度の高速化を図ることができる。
【０００５】
また、ＭＦＰ（ＭＵＬＴＩ  ＦＵＮＣＴＩＯＮ  ＰＲＩＮＴＥＲ）等の画像処理装置は、ユーザーからの要求に応じた複数のジョブ（コピージョブ、プリントジョブ、ＳＥＮＤジョブ等）を選択可能である。各処理に応じた画像処理は、ハードウェア又はソフトウェアにより実現される。近年のＭＦＰはユーザーからの機能要望へ対応するために、多様な機能に対応した大規模な画像処理用ハードウェアを搭載しており、さまざまなジョブ内容に応じた細かな設定を受け付けて多様な機能を実現することが可能である。しかしながら、多様なジョブの内容に応じて画像処理用ハードウェアの機能拡張による画像処理用のハードウェアのコストアップに繋がっている。それだけでなく、多様なジョブ内容に応じた画像処理用ハードウェアに対する設定数が増えることで、その設定に時間が掛かってしまっている。そのため、ジョブの実行処理が開始されるまでの時間が増大している。したがって、ＭＦＰの画像処理装置に対して、再構成可能な回路を用い、多様なジョブ内容に対応した全機能を常にハードウェア上に実装することなく、要求されたジョブにのみ対応する機能を再構成可能な回路で実現する必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−２３４３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術には以下に記載する問題がある。例えば、上記従来技術における再構成技術を画像処理装置の画像処理部に適用した場合、動作中に回路構成を変更できるといっても、変更する処理回路部は、その処理回路部に接続されている周辺回路とのインターフェースが一致していなければならない。特に、インターフェースにおけるデータの処理方式が一致していなければならない。例えば、回路構成の書き換えを行いたい処理回路部のみを変更して、周辺回路とのデータの処理方式が一致していなければ、書き換えを行った処理回路部は正常に動作することができない。
【０００８】
書き換えを行う処理回路部のデータの処理単位が矩形状のデータを取り扱う矩形処理である場合を考える。当然、その処理回路部と接続されている周辺回路のデータの単位も同じ矩形データを取り扱わなければならない。例えば、書き換えを行う処理回路部が、ライン状のデータを取り扱うライン処理になった場合は、その処理回路部と接続されている周辺回路とのデータの処理方式が異なり、処理データの受け渡しが一致しなくなる。そのため、書き換えを行う回路に対して、変更を行う必要な範囲を判断して再構成を行なわなければ、再構成した回路を正しく実行できないという課題がある。
【０００９】
さらに、回路構成の変更（書き換え）に要する時間に対しても、書き換えに掛かる実行時間が長くなれば、それだけ画像処理装置で実行するジョブを完了させるまでの時間が長くなってしまう課題がある。回路構成の変更に掛かる時間は、再構成可能な回路におけるコンフィギュレーションメモリに書き込むコンフィグデータのサイズに比例する。また、回路構成の変更箇所が多く、それぞれの変更箇所の回路を単独で回路の変更を行えば、それだけ変更のためのコンフィグレーション回数が必要となり、全体での回路の再構成を完了するのに要する書き換え時間が増える。従来技術におけるコンフィグデータの書き換え時間を高速化する方法では、先行してコンフィグデータをロードしても、処理回路の書き換え回数や、コンフィグデータのサイズが大きければ、全体に掛かる書き換え時間を短縮することはできない。
【００１０】
本発明は、上述の問題に鑑みて成されたものであり、部分再構成が可能な再構成部において、新たに書き換えた機能ブロックが書き換えていない部分の他の機能ブロックと連携して動作可能であるとともに、当該再構成に掛かる書き換え時間を短縮する仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、回路構成を部分的に再構成可能な再構成回路を有する画像処理装置であって、前記再構成回路に構成するための複数の機能ブロックごとの構成データを予め記憶する記憶手段と、ジョブを受け付ける受付手段と、前記受付手段によって受け付けたジョブを処理するための回路構成と、前記再構成回路に構成されている回路構成との差分を抽出する抽出手段と、前記抽出手段によって抽出された差分から、前記再構成回路に再構成する機能ブロックを選択する選択手段と、前記選択手段によって選択された機能ブロックに従って、前記記憶手段から必要な構成データを読み出して前記再構成回路を再構成する再構成手段とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、部分再構成が可能な再構成部において、新たに書き換えた機能ブロックが書き換えていない部分の他の機能ブロックと連携して動作可能であるとともに、当該再構成に掛かる書き換え時間を短縮することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係る画像処理装置の構成の一例を示すブロック図。
【図２】第１の実施形態に係る画像処理装置のユーザーからのジョブを受け付ける操作部を表す図。
【図３】第１の実施形態に係る画像処理装置で受け付けるジョブと、対応する処理機能との関係を説明する図。
【図４】第１の実施形態に係る画像処理装置の設定変更時における画像処理部の再構成制御を表すフローチャート。
【図５】第１の実施形態に係る画像処理装置の機能と、再構成部に構成される画像処理機能を説明する図。
【図６】第１の実施形態に係る画像処理装置の機能と、再構成部に構成される画像処理機能を説明する図。
【図７】第１の実施形態に係る画像処理装置におけるコンフィグデータの遷移を説明する図。
【図８】第１の実施形態に係る本発明適用時のジョブ実行までの時間短縮効果を表すタイミングチャート。
【図９】第２の実施形態に係る再構成部に構成される画像処理構成を表すブロック図。
【図１０】第２の実施形態に係る画像処理装置で受け付けるジョブと、それに対応する処理機能の関係を説明する図。
【図１１】第２の実施形態に係る画像処理装置の設定変更時における画像処理部の再構成制御を表すフローチャート。
【図１２】第２の実施形態に係る画像処理装置の機能と再構成部に構成される画像処理機能を説明する図。
【図１３】第２の実施形態に係る画像処理装置の機能と、再構成部に構成される画像処理機能を説明する図。
【図１４】第３の実施形態に係る画像処理装置の設定変更時における画像処理部の再構成制御を表すフローチャート。
【図１５】第３の実施形態に係る画像処理装置の機能と、再構成部に構成される画像処理部の構成例を説明する図。
【図１６】第４の実施形態に係る画像処理装置の設定変更時における画像処理部の再構成制御を表すフローチャート。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
＜第１の実施形態＞
＜画像処理装置の構成＞
以下では、図１乃至図８を参照して、本発明の第１の実施形態について説明する。まず、図１を参照して、本発明の実施形態に関わる画像処理装置の装置構成を説明するブロック図である。本実施形態において、画像処理装置１００は、スキャナ部やプリンタ部を有する複合機（多機能処理装置）の場合で説明する。
【００１６】
画像処理装置１００は、画像処理装置１００を使用するユーザーが各種の操作を行うための操作部１０３と、原稿の画像情報を読み取るスキャナ部１０９と、画像データに基づいて用紙に画像を印刷するプリンタ部１０７とを有する。スキャナ部１０９は、スキャナ部１０９を制御するＣＰＵ（不図示）や原稿の読取を行うための照明ランプや走査ミラー（いずれも不図示）などを有する。プリンタ部１０７は、当該プリンタ部１０７の制御を行うＣＰＵ（不図示）や、画像の形成（印刷）や定着を行うための感光体ドラムや定着器（いずれも不図示）等を有する。操作部１０３は、節電キー（不図示）を持ち、節電キーの押下により、省電力状態への移行、復帰を行う。
【００１７】
また、画像処理装置１００は、画像処理装置１００の制御を行うコントローラとして、動的再構成部を備えるＦＰＧＡ１４０を有する。この例では、ＦＰＧＡ１４０が、画像処理装置１００の動作を統括的に制御するＣＰＵ１０１を備える。このＣＰＵ１０１が、ＦＰＧＡ１４０や再構成を制御するコンフィグコントローラ１３０等を制御するためのプログラムを実行する。なお、ＦＰＧＡ１４０がＣＰＵ１０１を備えていることはあくまで一例にすぎず、ＦＰＧＡ１４０の外部にＣＰＵを設けてもよい。
【００１８】
また、画像処理装置１００は、ＣＰＵ１０１が実行するブートプログラム、及び、ＦＰＧＡ１４０をコンフィグレーションする為の論理回路構成情報が格納されているＲＯＭ（第１記憶手段）１０４を有する。また、画像処理装置１００は、ＣＰＵ１０１が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するための画像メモリでもあるＲＡＭ（第２記憶手段）１１１を有する。また、ＲＡＭ１１１は、ＲＯＭ１０４に格納された論理回路構成情報を複製し格納して高速に読み出すためのメモリでもある。
【００１９】
ＦＰＧＡ１４０は、ＣＰＵ１０１、ネットワークＩ／Ｆ１０２、プリンタＩ／Ｆ１０６、スキャナＩ／Ｆ１０８、メモリコントローラ１１０、ＲＯＭＩ／Ｆ１１２、操作部Ｉ／Ｆ１１３、ＵＳＢＩ／Ｆ１１４、ＦＡＸＩ／Ｆ１１５、コンフィグコントローラ１３０、及び動的な再構成部（再構成回路）１３１を備える。再構成部１３１は、再構成が可能な論理回路で構成された回路群であり、動的に再構成が可能かつ部分的な再構成書が可能な回路群である。すなわち、再構成部１３１の一部に再構成された回路が動作している間に、その回路が占める部分とは重ならない別の部分に別の回路を再構成することができる。再構成部１３１には、各種画像処理を行うための論理回路が部分的に再構成できる画像処理部Ａ１３２、画像処理部Ｂ１３３、画像処理部Ｃ１３４、画像処理部Ｄ１３５を有する。なお、本実施形態では再構成部１３１に構成される画像処理部の数が４つの場合の形態を示しているが、再構成部１３１に構成される画像処理部は複数個あり、個数は４つに限定されるものではない。コンフィグコントローラ１３０は、再構成部１３１の回路構成（コンフィグレーション）を制御する。
【００２０】
スキャナＩ／Ｆ１０８は、スキャナ部１０９から画像データが入力される。プリンタＩ／Ｆ１０６は、プリンタへ画像データを出力する。再構成部１３１、及びスキャナＩ／Ｆ１０８、プリンタＩ／Ｆ１０６は、処理される画像データを転送するための画像バス１２１に接続される。
【００２１】
ＣＰＵ１０１は、画像処理装置１００の動作を統括的に制御し、ネットワークＩ／Ｆ（ネットワークインターフェース）１０２を介し、ネットワーク上の汎用コンピュータ（不図示）と通信（送受信）を行う。また、ＣＰＵ１０１は、ＵＳＢＩ／Ｆ（ＵＳＢインターフェース）１１４を介し、画像処理装置１００と接続された汎用コンピュータ（不図示）と通信（送受信）を行う。また、ＣＰＵ１０１は、ＦＡＸＩ／Ｆ（ファクシミリインターフェース）１１５を介し、公衆回線網と接続し、他の画像処理装置（不図示）やファクシミリ装置と通信（送受信）を行う。ＦＡＸＩ／Ｆ１１５には、公衆回線網からの呼出信号（ＣＩ信号：Ｃａｌｌ  Ｉｎｄｉｃａｔｏｒ）を検知するＣＩ検知回路（不図示）がある。ＲＯＭＩ／Ｆ１１２は、ＣＰＵ１０１が実行するブートプログラム、及び、再構成部１３１をコンフィグレーションするための論理回路構成情報（コンフィグレーションデータ）が格納されているＲＯＭ１０４への書き込み、読み出し動作を制御する。
【００２２】
また、ＦＰＧＡ１４０は、ＣＰＵ１０１、ネットワークＩ／Ｆ１０２、操作部１０３、ＲＯＭＩ／Ｆ１１２、コンフィグコントローラ１３０、再構成部１３１を相互に接続するシステムバス１２０を有する。ＣＰＵ１０１は、再構成部１３１内にコンフィギュレーションされた各画像処理部（１３２、１３３、１３４、１３５）と、スキャナＩ／Ｆ１０８、プリンタＩ／Ｆ１０６のパラメータ設定を、システムバス１２０を介して行う。ＲＡＭ１１１は、ＣＰＵ１０１が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するための画像メモリでもあり、かつＲＯＭ１０４に格納された論理回路構成情報を複製し格納して高速に読み出すためのメモリでもある。メモリコントローラ１１０は、ＲＡＭ１１１への書き込み、読み出し動作を制御する。メモリコントローラ１１０は、システムバス１２０及び画像バス１２１に接続され、画像バス１２１に接続されたバスマスタのＲＡＭ１１１へのアクセスと、システムバス１２０に接続されたバスマスタのＲＡＭ１１１アクセスとを、排他的に切り替える。
【００２３】
＜操作部＞
次に、図２を参照して、本実施形態に係る画像処理装置１００の操作部１０３における表示項目及びユーザーによる設定項目変更に伴う表示項目の遷移について説明する。本実施形態では、操作部１０３は、液晶画面及びタッチパネルを用いて構成される。本発明はこれに限定されず、当然、操作部１０３はその他の代替構成が適用されていてもよい。
【００２４】
図２の２３１は、画像処理装置１００の電源投入後、或いは省電力のためのスリープ状態から、ユーザーによる復帰操作が行われたときに操作部１０３に表示されるＵＩ（ユーザーインターフェース）画面を示す。通常、電源投入後又はスリープ復帰後にはメインメニュー画面２００が表示される。メインメニュー画面２００には、現在のメニュー階層をユーザーに示すための階層表示部２０１が表示される。また、メインメニュー画面２００には画像処理装置１００が実行することのできるジョブを選択するための、ジョブ選択アイコン２０２〜２０４が表示される。ジョブ選択アイコン２０２〜２０４はそれぞれ、コピージョブ、ファックスジョブ、ＳＥＮＤジョブを表す。なお、画像処理装置１００が処理することのできるジョブは、２３１に示す例に限定されるわけではない。
【００２５】
図２の２３２は、メインメニュー画面２００において、ユーザーがコピージョブのジョブ選択アイコン２０２を選択した後に表示される、コピー設定画面２１０を示す。コピー設定画面２１０には、現在の基本的な設定値を一覧で表示する設定値表示部２１１が表示される。設定値表示部２１１には、画像処理装置１００が、現在、ジョブを開始することが可能かどうかをユーザーに通知する状態通知部２１２が表示される。また、設定値表示部２１１には、基本的な設定値として、原稿をカラー又はモノクロで読み取るかどうかや、倍率、用紙サイズ、コピーを出力する部数などが一覧で表示される。コピー設定画面２１０には、よく使用される各種設定値を変更するための、設定変更アイコン２１３〜２２０が表示される。当該アイコンには、原稿読み取りカラー選択アイコン２１３、倍率を変更する倍率アイコン２１４、用紙種類を変更する用紙選択アイコン２１５、及び部数を変更する部数アイコン２１６が含まれる。
【００２６】
また、コピー設定画面２１０には、原稿の種類を写真のみか、写真と文字が含まれるか、文字のみかを設定する原稿種別設定アイコンが表示される。また、コピー設定画面２１０には、スキャナ部１０９で読み取った複数の原稿を１ページにまとめて出力する設定を行うページ集約設定アイコンが表示される。また、コピー設定画面２１０には、原稿の余白に含まれる不要な領域を削除する枠けし設定アイコン３１９が表示される。また、コピー設定画面２１０には、プリンタ部１０７で画像を紙の裏と表の両方に印字するかどうかを切り替える両面設定アイコン２２０が含まれる。また、コピー設定画面２１０には、画面内に表示しきれないその他の設定項目を変更するためのその他の機能設定アイコン２２１が表示される。また、画像処理装置１００に対してコピー動作開始を支持するコピー開始アイコン２２２が表示される。
【００２７】
なお、本実施形態において、コピージョブの設定項目及び、コピー設定画面２１０に表示される設定変更アイコン２１３〜２２１は、２３２に限定されるわけではない。２３２に示すように、メインメニュー画面２００においてコピージョブ選択アイコン２０２が選択された直後には、コピージョブのデフォルト設定として、最もよく使われる設定値がすでに設定されている。なお、ここで示すデフォルト設定値は２３２に限定されるわけではない。
【００２８】
図２の２３３は、２３２のコピー設定画面２１０において、ユーザーによる各設定変更後の操作部１０３に表示される画面を示す。２３３の例では、倍率が８０％に、原稿種別が写真に、両面印刷がありにそれぞれ設定変更されている。設定変更された設定変更アイコン２１４、２１７、２２０は、設定値が変わっていることをユーザーに通知するために、アイコンの表示色等が変更される。この状態において、コピー開始アイコン２２２を選択することにより、ユーザーによって設定された値に基づいて、画像処理装置１００はコピージョブを開始する。
【００２９】
本実施形態においては、２３１においてコピージョブ選択アイコン２０２が選択されると、コピージョブのデフォルト設定の画像処理機能である、図２の２０１の構成が、再構成部１３１へ構成される。すなわち、ＲＯＭ１０４に格納された２０１の画像処理機能の構成を実現するためのコンフィグデータが適宜、コンフィグコントローラ１３０によって再構成部１３１へ転送され、コンフィグレーション（構成）される。なお、コンフィグデータはＲＯＭ１０４から直接読み出すのではなく、ＲＡＭ１１１へ事前に複製したものを読み出してもよい。
【００３０】
図２の２３３で、コピージョブの処理が実行された後、ネットワークよりＰＤＬプリント処理のジョブが画像処理装置１００へ要求された場合には、即時に、画像処理部１３２に構成されていたスキャン用画像処理が、レンダリング用画像処理に再構成される。その他にも、コピージョブに限らず、画像処理装置１００が受け付けるジョブの実行設定が変更されると、随時、対応した図示しない画像処理部が再構成部１３１へ再構成される。ジョブの処理内容の変更による再構成は、前に受け付けたジョブの処理内容の構成と変更がない部分については、再構成部１３１の各画像処理構成部の回路構成はそのまま保持されている。
【００３１】
＜ジョブに対する処理関係＞
次に、図３を参照して、画像処理装置１００が操作部１０３で受け付けた各種ジョブと、それに対応する再構成部１３１で実行する処理の関係について説明する。図３に示す各種ジョブと設定は、図２における操作部１０３で設定されたジョブの種類とジョブの設定に対応する。各ジョブに対応できる処理群（機能ブロック）を大きく、スキャン処理、プリント処理、圧縮処理、伸張処理と分けている。当然、それ以外にも処理はあり、同様に各設定により再構成を行う処理回路が用意される。
【００３２】
図３に示した各処理群に対して、さらに、設定により対応できる処理が分かれる。スキャン処理には、スキャン処理用の画像処理１、画像処理２、画像処理３の３つの処理構成が用意される。図３に示す丸で示した処理が、選択されたジョブ内容に対応できる処理にあたる。
【００３３】
図２で選択された例では、コピージョブを最初に受付けたときに、図３に示すジョブ種別内にあるコピー処理に対応する各機能が再構成部１３１で選択されうる処理群になる。次に、コピージョブのうち、コピー設定画像２１０で設定される各設定に従って、図３に示す設定の項目に対応する処理群が選択される。例えば、コピー設定画面２１０でのカラー選択２１３が操作された場合は、図３に示すカラーの設定項目に対応し、当該カラーの設定項目に対応できる処理群（丸）が再構成部１３１で選択可能な処理構成となる。なお、図３に示す表の内容を定義したテーブルがＲＯＭ１０４等に予め記憶されていることが望ましい。つまり、画像処理装置１００は、操作部１０３を介して入力された選択や設定に応じて、ＲＯＭ１０４に格納された上記テーブルを参照し、さらには後述する制御に従って、再構成する機能ブロックを決定することができる。
【００３４】
＜再構成制御シーケンス＞
次に、図４を参照して、操作部１０３で受け付けたジョブに応じて、再構成部１３１の再構成を行う処理手順について説明する。以下で説明する処理は、ＣＰＵ１０１がＲＯＭ１０４に格納された制御プログラムをＲＡＭ１１１で実行することによって実現される。
【００３５】
Ｓ４０１で、ＣＰＵ１０１は、受付手段として機能し、操作部１０３においてジョブの受け付けがあったか否かを判断する。ジョブを受け付けた場合はＳ４０２へ移行する。Ｓ４０２で、ＣＰＵ１０１は、Ｓ４０１で指定されたジョブの処理内容をＲＡＭ１１１に記憶し、且つ、そのジョブで要求されている処理内容を判断する。例えば、コピージョブ選択アイコン２０２が選択された場合は、ＣＰＵ１０１は、コピー処理に必要なスキャン画像処理、及びプリント画像処理の各処理とその各処理に必要な設定パラメータを判断する。
【００３６】
次に、Ｓ４０３で、ＣＰＵ１０１は、受け付けたジョブの前に操作部１０３から受け付けたジョブが存在するか否かを判断する。前のジョブの受け付けが存在するか否かの判断は、ＣＰＵ１０１が、ＲＡＭ１１１に記憶されている前のジョブの内容を確認することで実現する。ＣＰＵ１０１がＲＡＭ１１１にジョブ内容を記憶している領域にリードアクセスして、前ジョブのデータが存在すれば、Ｓ４０４に移行する。前ジョブのデータが記憶されていなければ、電源投入後又はスリープ復帰後の最初に受けたジョブであると判断し、Ｓ４１４に移行する。
【００３７】
Ｓ４０４で、ＣＰＵ１０１は、前のジョブの処理内容と現在受け付けたジョブの処理内容との差分を判断する。前のジョブから、どの処理が変更になったかをＣＰＵ１０１が判断し、変更、追加、削除された処理内容を抽出する。続いて、Ｓ４０５で、ＣＰＵ１０１は、Ｓ４０４の判断結果から変更になった処理内容があるか否かを判断する。変更になった処理内容がある場合にはＳ４０６に移行し、変更差分がない場合には同じジョブの処理内容と判断し、Ｓ４１４に移行する。
【００３８】
Ｓ４０６で、ＣＰＵ１０１は、前述のジョブの差分処理の内容から画像処理構成部１３２、１３３、１３４、１３５で再構成を行う回路構成を特定する。ＣＰＵ１０１は、ジョブの差分となる処理に対応する回路構成を判断する。変更に必要な回路構成を判断した後、Ｓ４０７で、ＣＰＵ１０１は、再構成を行う上での制約条件があるか否かを判断する。例えば、ジョブ間の画像処理装置１００の処理パフォーマンスを重視し、再構成を行う回路への再構成に掛かる時間を最小限にする場合、回路構成の書き換え回数を最小限にする。或いは、書き換え時間を最小限にすることが選択される。
【００３９】
Ｓ４０８で、ＣＰＵ１０１は、Ｓ４０７で判断した制約条件に従って、再構成を行うための回路構成を特定する。ＣＰＵ１０１は、ジョブを実行する上で必要となる回路構成であり、且つ、再構成を行う上での上記制約条件を満たす回路構成を決定する。続いて、Ｓ４０９で、コンフィグコントローラ１３０は、ＲＯＭ１０４又はＲＡＭ１１１等に予め記憶しているコンフィグデータから、再構成すべき回路構成に対応するコンフィグデータを抽出する。当該コンフィグデータは、再構成を行う回路構成に従って、細かい処理単位でのコンフィグデータを複数選択することで１つの再構成を実行してもよい。或いは、より再構成を行う処理単位を大きく設定し、コンフィグデータの数をより少なく構成して１つの再構成を実行してもよい。つまり、再構成を行うモジュール単位を機能ブロックに相当する１つのモジュールとしてもよいし、機能ブロックを分割した単位のモジュールとしてもよい。この再構成を行うための、コンフィグデータの選択は、上記Ｓ４０７及びＳ４０８における制約条件の中に含まれる。
【００４０】
次に、Ｓ４１０で、コンフィグコントローラ１３０は、Ｓ４０９で選択したコンフィグデータを用いて、再構成部１３１を再構成する。再構成は、コンフィグデータに従って、再構成部１３１の各画像処理構成部（１３２，１３３、１３４、１３５）の回路を再度、書き換えることで実現する。再構成部１３１への再構成が完了すると、Ｓ４１１で、コンフィグコントローラ１３０は、再構成官僚の割り込み通知を行う。Ｓ４１２で、ＣＰＵ１０１は、Ｓ４１１の再構成完了の割り込み通知を受けて、受け付けたジョブを実行する。ジョブ実行後は、Ｓ４１３で、ＣＰＵ１０１は、次のジョブの受け付け判断を行い、次のジョブの受け付けが発生すると、Ｓ４０１に移行して、ジョブ処理を行う。
【００４１】
一方、Ｓ４０３で前のジョブの内容が記憶されていないと判断するか、又は、Ｓ４０５で差分がないと判断するとＳ４１４に移行する。Ｓ４１４で、ＣＰＵ１０１は、ジョブの処理内容を判断し、ジョブを実行するために必要な処理を全て選択する。続いて、Ｓ４１５で、ＣＰＵ１０１は、Ｓ４１４で選択した処理内容に従って、画像処理構成部（１３２、１３３、１３４、１３５）で構成する回路構成を特定する。Ｓ４１６で、ＣＰＵ１０１は、必要な回路構成を判断した後、構成を行う上での制約条件があるか否かを判断する。続いて、Ｓ４１７で、コンフィグコントローラ１３０は、ＲＯＭ１０４又はＲＡＭ１１１等に予め記憶されているコンフィグデータから、再構成すべき回路構成に対応するコンフィグデータを抽出する。その後、Ｓ４１０に移行し、再構成を実行する。以降の処理は、上述した内容と同様であるため説明を省略する。
【００４２】
＜再構成部に構成される画像処理回路の構成例＞
次に、図５及び図６を参照して、本実施形態にかかる画像処理装置１００に係るジョブ内容に応じて切り替わる再構成部１３１に構成される画像処理機能（機能ブロック）とコンフィグデータとの関係について説明する。画像処理装置１００は、スキャナ部１０９で読み取られた原稿を複写する機能（コピージョブ）、外部のプリンタドライバから送付された印刷データを印刷する機能（ＰＤＬプリントジョブ）を有する。また、ＦＡＸＩ／Ｆ１１５より受信したＦＡＸデータを印刷する機能（ＦＡＸジョブ）を有する。また、スキャナ部１０９で読み取られた原稿を画像データとしてネットワークＩ／Ｆ１０２を介して外部の汎用コンピュータへ送信するＳＥＮＤジョブを有する。動的再構成技術を適用した画像処理システムの場合、ユーザーにより選択された機能及び変更された設定項目に応じて必要な画像処理機能を再構成部１３１に構成して実際の処理を行う。
【００４３】
図５は、第１のジョブを受け付けて、ジョブを処理するために再構成部１３１に構成される画像処理機能の状態を示す。図５では、第１のジョブとしてコピージョブを操作部１０３から受け付けた場合を示す。コピージョブを受け付けた場合の再構成部１３１で行う処理内容としては、原稿を読み取った際の処理としてスキャン用の画像処理と、印刷出力するための画像処理としてプリント用の画像処理とが必要になる。また、スキャン用画像処理を行った画像データに対して圧縮処理（デコード処理）と、プリント用画像処理を実行する前に圧縮データを伸張する伸張処理（エンコード処理）とが必要になる。
【００４４】
コピージョブとしては、スキャナ部１０９で読み取った原稿の画像データをスキャンＩ／Ｆ１０８を介して画像バス１２１からＲＡＭ１１１へ格納する。続いて、リードダイレクトアクセスメモリコントローラ（ＤＭＡＣ：Ｄｉｒｅｃｔ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ）５５０によって、ＲＡＭ１１１に格納された画像データは、画像バス１２１を介して読み出される。読み出された画像データには、スキャン用の画像処理が行われ、その処理結果の画像データがＲＡＭ１１１に対してライトＤＭＡＣ５５１によって書き戻される。上記処理内容を実現する画像処理機能が、図５の５０１に示す回路構成に相当する。ここで、リードＤＭＡＣ５５０、ライトＤＭＡＣ５５１、スキャン用の画像処理のデータ処理形式は、全てライン処理になる。
【００４５】
次に、リードＤＭＡＣ５５４によって、ＲＡＭ１１１に格納されたスキャン用の画像処理を行った画像データを読み出し、圧縮処理を行う。圧縮処理が行われたデータは、ライン画像のデータとは異なり圧縮した連続データの形式になる。ここでは、この連続したデータの形式をリニア処理と表現する。ライトＤＭＡＣ５５５は、圧縮処理を行ったリニア処理データをＲＡＭ１１１に書き戻す。上記処理内容を実現する画像処理機能が、図５の５０３に示す回路構成に相当する。
【００４６】
次に、リードＤＭＡＣ５５６によって、ＲＡＭ１１１に格納された圧縮データが読み出され、伸張処理が行われる。伸張処理が行われたデータは、ライン状の画像のデータとして出力され、ライン処理形式になる。ライトＤＭＡＣ５５７は、伸張処理を行ったリニア処理データをＲＡＭ１１１に書き戻す。上記処理内容を実現する画像処理機能が、図５の５０４に示す回路構成に相当する。
【００４７】
次に、リードＤＭＡＣ５５２によって、ＲＡＭ１１１に格納されたライン処理の画像データは、画像バス１２１を介して読み出される。読み出された画像データに対してプリント用の画像処理が行われ、その処理結果の画像データが、ＲＡＭ１１１にライトＤＭＡＣ５５３によって書き戻される。最後に、ＲＡＭ１１１に格納された画像データは、画像バス１２１を介してプリンタＩＦ１０６によって、プリンタ部１０７に出力される。上記処理内容を実現する画像処理機能が、図５の５０２に示す回路構成に相当する。
【００４８】
各画像処理構成部１３２、１３３、１３４、１３５は、このリードＤＭＡＣ、ライトＤＭＡＣと、各画像データをジョブ内容に従って画像処理を行う処理機能を有する。図５の例では、第１のジョブを受けて画像処理構成部１３２は、リードＤＭＡＣ５５０、ライトＤＭＡＣ５５１、及びスキャン用画像処理の処理回路を構成する。画像処理構成部１３３は、リードＤＭＡＣ５５２、ライトＤＭＡＣ５５３、及びプリント用画像処理の処理回路を構成する。画像処理構成部１３４は、リードＤＭＡＣ５５４、ライトＤＭＡＣ５５５、及び圧縮処理の処理回路５１８を構成する。画像処理構成部１３５は、前記リードＤＭＡＣ５５６、ライトＤＭＡＣ５５７、伸張処理の処理回路５１９を構成する。
【００４９】
スキャン用画像処理は、像域分離処理部５１１、テーブル変換処理部５１２、及びフィルタ処理部５１３を含む。プリント用画像処理は、下地除去処理部５１４、色空間変換処理部５１５、γ補正処理部５１６、及び誤差拡散処理部５１７を含む。像域分離処理部５１１は、入力画像から文字部を検出することにより、像域を判定し、その後の画像処理に利用する像域信号を生成する。テーブル変換処理部５１２は、読み取った輝度データである画像データを濃度データに変換するために、テーブル変換を行う。フィルタ処理部５１３は、例えばエッジ強調などの目的に従ったデジタル空間フィルタで演算処理を行う。下地除去処理部５１４は、背景に薄い色がある原稿を読み取った画像データが送られてきた場合に背景色を除去する処理を行う。色空間変換処理部５１５は、ＲＧＢデータを画像処理装置の出力特性に合わせてＣＭＹＫ変換を行う。γ補正処理部５１６では、画像データの濃度変換を行う。ハーフトーン処理５１７は、入力画像データを所定の閾値と比較することにより、Ｎ値化を行い、その際の入力画像データと閾値との差分を以降にＮ値化処理する周囲画素に対して拡散する。
【００５０】
以上の画像処理が終了した画像データは、画像バス１２１を介して、プリンタＩ／Ｆ１０６に転送され、プリンタ部１０７から出力される。上述したフローは一例であり、他の画像処理機能を再構成部１３１に構成して処理を実施することも可能である。
【００５１】
画像処理装置１００が受ける第２のジョブとして、ＰＤＬプリント処理を受け付けた場合について説明する。第２のジョブは、第１のジョブを再構成部１３１で処理を実行した後、操作部１０３より受け付けた次のジョブになる。図６は、第２のジョブを処理するために、再構成部１３１に構成される画像処理機能の状態を示す。
【００５２】
ＰＤＬプリント処理を受け付けた場合の再構成部１３１で行う処理内容としては、ＰＤＬ用のレンダリング画像処理と、印刷出力するための画像処理としてプリント用の画像処理とが必要になる。また、ＰＤＬ用のレンダリング画像処理を行った画像データに対して圧縮処理（デコード処理）と、プリント用画像処理を実行する前に圧縮データを伸張する伸張処理（エンコード処理）とが必要になる。
【００５３】
ＰＤＬプリント処理のジョブを受けて、ネットワークＩ／Ｆ１０２より受け付けたＰＤＬデータは、ＲＡＭ１１１に格納される。続いて、リードＤＭＡＣ６５０によって、ＲＡＭ１１１に格納された画像データは、画像バス１２１を介して読み出される。読み出されたＰＤＬデータは、レンダリング処理、印刷方向に従った回転処理、及びフィルタ処理がなされ、その処理結果の画像データが、ＲＡＭ１１１にライトＤＭＡＣ６５１によって書き戻される。上記処理内容を実現する画像処理機能が、図６の６０１に示す回路構成に相当する。ここで、リードＤＭＡＣ６５０、ライトＤＭＡＣ６５１、レンダリング用の画像処理のデータ処理形式は、全て矩形処理になる。
【００５４】
次に、リードＤＭＡＣ６５２によって、ＲＡＭ１１１に格納されたレンダリング用の画像処理を行った画像データが読み出され、圧縮処理が行われる。圧縮処理が行われたデータは、矩形状の画像データとは異なり圧縮したリニア処理形式になる。ライトＤＭＡＣ５６３は、圧縮処理を行ったリニア処理データをＲＡＭ１１１に書き戻す。上記処理内容を実現する画像処理機能が、図６の６０３に示す回路構成に相当する。
【００５５】
次に、リードＤＭＡＣ５５６によって、ＲＡＭ１１１に格納された圧縮データが読み出され、伸張処理が行われ。伸張処理が行われたデータは、ライン状の画像のデータとして出力されライン処理形式になる。ライトＤＭＡＣ５５７は、伸張処理を行ったリニア処理データをＲＡＭ１１１に書き戻す。上記処理内容を実現する画像処理機能が、図６の６０４に示す回路構成に相当する。
【００５６】
次に、リードＤＭＡＣ５５２によって、ＲＡＭ１１１に格納された画像データは、画像バス１２１を介して読み出される。読み出された画像データは、プリント用の画像処理がなされ、その処理結果の画像データが、ＲＡＭ１１１にライトＤＭＡＣ５５３によって書き戻される。最後に、ＲＡＭ１１１に格納された画像データは、プリンタＩ／Ｆ１０６によってプリンタ部１０７に出力される。上記処理内容を実現する画像処理機能が、図６の６０２に示す回路構成に相当する。
【００５７】
各画像処理構成部１３２、１３３は、このリードＤＭＡＣ６５０、ライトＤＭＡＣ６５１と、画像データをジョブ内容に従って画像処理を行う処理機能を有する。図６の例では、第２のジョブを受けて画像処理構成部１３２には、リードＤＭＡＣ６５０、ライトＤＭＡＣ６５１、及びレンダリング用画像処理の処理回路が構成される。画像処理構成部１３３には、リードＤＭＡＣ５５２、ライトＤＭＡＣ５５３、プリント用画像処理の処理回路が構成される。なお、以下で説明するように、図６の例では、画像処理構成部１３３は、前ジョブの回路構成をそのまま流用している。
【００５８】
図６に示す処理構成は、第１のジョブから第２のジョブのジョブ処理の差分を判断した結果から、画像処理構成部１３２、１３３、１３４、１３５を再構成したものである。図５の構成と比較して、スキャン用画像処理の処理構成をしていた画像処理構成部１３２が、レンダリング処理用の画像処理構成に再構成されている。また、圧縮処理をしている画像構成部１３４の処理形式が、ライン処理入力から矩形処理入力に変わる。それに対して、プリント用画像処理の処理構成をしていた画像処理構成部１３３と、伸張処理を行っている画像処理構成部１３５は、処理変更が必要ないため再構成されていない。
【００５９】
レンダリング処理用の画像処理は、レンダリング処理部６１１、回転処理部６１２、及びフィルタ処理部６１３を含む。レンダリング処理部６１１は、ＰＤＬデータから画像データを生成する。回転処理部６１２は、生成した画像データを印刷方向の設定に応じて画像回転を行う。フィルタ処理部６１３は、その画像データに対してフィルタ処理を行う。
【００６０】
本実施形態では、第１のジョブと第２のジョブの処理差分である、レンダリング処理用の画像処理の回路構成と、圧縮処理の回路構成を構成部１３１内で再構成を行っている。第２のジョブ内容でも必要なプリント用の画像処理と伸張処理は、画像処理構成部１３３、１３５の回路構成を維持することで実現している。それに対して、スキャン用画像処理は第２のジョブでは必要としない。そのため、スキャン用画像処理をレンダリング処理用の画像処理に構成を書き換える。また、第１と第２のジョブで圧縮処理の処理形式が矩形処理とライン処理で異なるため、ＤＭＡＣと圧縮処理の構成を書き換える。このように、第１のジョブと第２のジョブとの処理の差分のみを、構成部１３１で再構成することで、再構成を行う処理時間を低減している。
【００６１】
本実施形態によれば、図５及び図６を用いて説明した画像処理機能を再構成部１３１に適宜構成することにより画像処理を実施することとなる。なお、画像処理装置１００が処理することのできるジョブは、図５及び図６に示すものに限定されるわけではない。また、画像処理の処理単位は、図５及び図６に示すものに限定されるわけではなく、各画像処理に含まれている処理単位を、さらに細かい粒度（コンポーネント）に分割し、回路構成することも可能である。
【００６２】
＜コンフィグデータの構成＞
次に、図７を参照して、コンフィグデータ（構成データ）の構成について説明する。再構成を行うためのコンフィグデータは、図５及び図６に記載した各処理単位で構成してもよいし、他の単位で構成してもよい。例えば、リードＤＭＡＣ、各種画像処理部、ライトＤＭＡＣをすべて含んで１つのコンフィグデータとして用意することもできる。また、各ライトＤＭＡＣ、リードＤＭＡＣ、各画像処理部を別々のコンフィグデータとして用意することもできる。スキャン用画像処理に係る画像処理部５１１〜５１３を個々に分けたコンフィグデータを用意することもできる。プリント用画像処理に係る画像処理部５１４〜５１７も同様である。レンダリング処理に係る画像処理部６１１〜６１３も同様である。コンフィグデータを別々に用意した場合に、各ジョブを実行するには、上記それぞれ別々コンフィグデータを再構成部１３１に部分再構成することにより、ジョブの実行に必要な回路を構成することができる。
【００６３】
本実施形態によれば、ＲＯＭ１０４内に再構成部１３１で構成する回路のコンフィグデータを予め記憶しておく。コンフィグデータの構成単位として、コンフィグデータ７０１、７０２、７０３、７０４、７０５、７０６は、前述した、リードＤＭＡＣとそれに対応する各種画像処理部と、ライトＤＭＡＣを含んだ１つの構成を有する。コンフィグデータ７１１〜７４２は、前述したより細かな粒度である各種画像処理部２１１〜２１９、３１１〜３１４、リードＤＭＡＣ５５０、ライトＤＭＡＣ５５１を別々に有する構成である。
【００６４】
図７に示すように、第１のジョブを受け付けて、コンフィグコントローラ１３０は、Ｓ４０９で、図７（ａ）に示す７０１、７０２、７０４、７０６のコンフィグデータをＲＯＭ１０４からＲＡＭ１１１にプリロードさせる（図７の７５０）。次に、コンフィグコントローラ１３０は、Ｓ４１０で再構成を実行する際に、再構成部１３１にプリロードした７０１、７０２、７０４、７０６のコンフィグデータを用いて再構成を実行する（図７の７５１）。
【００６５】
次に、画像処理装置１００が第２のジョブを受け付けると、ＣＰＵ１０１は、Ｓ４０６で受け付けた第１と第２のジョブの処理差分を特定する。特定した処理差分に従って、コンフィグコントローラ１３０は、Ｓ４０９でジョブの処理差分となる７０３のレンダリング処理用画像処理１コンフィグデータと、７０５の圧縮処理用の圧縮処理２コンフィグデータをＲＡＭ１１１にプリロードする（図７の７５２）。
【００６６】
コンフィグコントローラ１３０は、Ｓ４１０で再構成を実行する際に、再構成部１３１にＲＡＭ１１１にプリロードした７０３のコンフィグデータと、７０５の圧縮処理用の圧縮処理２コンフィグデータとを用いて再構成を実行する（図７の７５３）。この時、再構成部１３１は、スキャン用画像処理に変わってレンダリング処理用の画像処理機能と、圧縮処理のライン処理入力から矩形処理入力のデータ処理構成に再構成する。
【００６７】
＜再構成処理のタイミングチャート＞
次に、図８を参照して、本実施形態に係る本発明適用時の再構成処理のタイミングチャートについて説明する。図８の上部は、比較例となる手法の適用時の処理のタイミングチャートを示し、図８の８２０、８３０は本発明適用時の処理のタイミングチャートを示す。図８のジョブ種別選択８００は、メインメニュー画面２００においてジョブ選択アイコン２０２〜２０４のいずれかを選択することで、ジョブ種別が決定した段階を示す。
【００６８】
ジョブ種別選択８００からジョブ開始要求がなされるジョブ開始８０１の段階までの間が、ユーザーによる設定変更期間である。ジョブ開始８０１の後、比較例８１０では、８０３に示すジョブの設定を実装する全回路を選択する。その後、８０４にて、全ての処理会を再構成した後、ジョブ実行８０５を行う。
【００６９】
一方、８２０で示す８０４、８０５では、ジョブの内容を判断し、前回実行したジョブとの差分のみを選択し、変更する回路部のみの再構成を行う。そのため、全ての処理回路を再構成する場合（８１０）と比較し、再構成する回路規模が小さいため、再構成に要する期間は短い。８０４、８０５での処理は、前述のようにＣＰＵ１０１によって判断し、コンフィグレーションコントローラ１３０で再構成を実施する。再構成が完了した後、８０５でＣＰＵ１０１によってジョブの実行が行われる。
【００７０】
また、８３０に示すように、再構成を行う処理単位をより細かな処理回路にした場合には、再構成を行う回数が分割した再構成の処理数に応じて複数回実行される。ただし、再構成を行う処理単位の回路がより小規模の回路のため、８０７の個々の再構成時間は８２０に示す８０６の再構成時間がより短くなる。再構成を完了する期間８０７全体では、先の複数回の再構成を実施するために、８２０の場合の再構成時間よりも長くなる場合があるものの、比較例８１０よりは短くなる。
【００７１】
以上説明したように、本実施形態に係る画像処理装置１００は、受け付けたジョブを処理するための回路構成と、再構成回路に構成されている回路構成との差分を抽出し、当該差分から、再構成回路に再構成する機能ブロックを選択し、記憶手段から必要な構成データを読み出して再構成回路を再構成する。また、本画像処理装置１００は、所定の制約条件に従って機能ブロックを選択することができる。これにより、本画像処理装置１００は、新たに書き換えた機能ブロックが書き換えていない部分の他の機能ブロックと連携して動作可能であるとともに、当該再構成に掛かる書き換え時間を短縮することができる。
【００７２】
＜第２の実施形態＞
以下では、図９乃至図１３を用いて、本発明の第２の実施形態について説明する。上記第１の実施形態では、再構成部１３１に用意する画像処理構成部を１３２、１３３、１３４、１３５と少数の再構成部を持つ場合を示した。第１の実施形態では、各画像処理構成部にＤＭＡＣとそれに接続される画像処理部を１つの画像処理構成部に実装していた。本実施形態では、再構成部１３１に、多数の画像処理再構成部を有する場合に、より細かな処理回路に分けて再構成する場合について説明する。本実施形態で示すケースとして、ＤＭＡＣとそれに接続される各画像処理部を別々の画像処理構成部として実装する。
【００７３】
＜再構成部の構成＞
まず、図９を参照して、本実施形態における再構成部１３１の構成について説明する。再構成部１３１の内部に構成されている画像処理構成部は、各画像処理を行う再構成可能な回路９０１、９０４、９０７、９１０の回路で構成される。また、リードＤＭＡＣ９００、９０３、９０６、９０９の回路、及び、ライトＤＭＡＣ９０２、９０５、９０８、９１１の回路で構成される。
【００７４】
＜ジョブに対する処理関係＞
次に、図１０を参照して、画像処理装置１００が操作部１０３で受け付けた各種ジョブと、それに対する再構成部１３１で実行する処理の関係について説明する。図１０に示す処理関係は、図３で示した処理関係から、本実施形態で示すデータの処理形式（矩形処理、ライン処理、リニア処理）の関係を考慮したものである。
【００７５】
図１０中の各種ジョブと設定は、図２における操作部１０３で設定されたジョブの種別とジョブの設定に対応する。各ジョブに対応できる処理群を大きく、スキャン処理、プリント処理、圧縮処理、及び伸張処理と分けている。さらに、ＣＰＵ１０１が選択する処理は、データの転送を行うライトＤＭＡＣとリードＤＭＡＣとの処理も追加される。当然、それ以外にも処理はあり、同様に各設定により再構成を行う処理回路が用意される。
【００７６】
＜再構成制御シーケンス＞
次に、図１１を参照して、ＣＰＵ１０１の再構成実施時の再構成回路の特定（図４のＳ４０８）処理の手順について説明する。他の処理フローのステップは、上記第１の実施形態で示した図４の処理フローに従う。以下で説明する処理は、ＣＰＵ１０１がＲＯＭ１０４に格納された制御プログラムをＲＡＭ１１１で実行することによって実現される。
【００７７】
Ｓ１１０１で、ＣＰＵ１０１は、第１のジョブで構成される再構成部１３１での各画像処理の処理形式を判断する。ここでは、ライン処理を行っているか、矩形処理を行っているかを判断する。続いて、Ｓ１１０２で、ＣＰＵ１０１は、処理形式が一致するか否かを判定する。一致する場合にはＳ１１０４に移行し、一致しない場合にはＳ１１０３に移行する。Ｓ１１０４で、ＣＰＵ１０１は、処理形式が一致すると判断し、再構成される画像処理回路を選択する。
【００７８】
処理形式が一致しない場合には、Ｓ１１０３で、他の画像処理部で処理形式が一致するものが存在するか否かを判断する。例えば、再構成前のリードＤＭＡＣ、ライトＤＭＡＣの処理形式がライン処理であり、再構成を行う画像処理の処理形式が矩形処理であった場合に、他に再構成可能な矩形処理を行うリードＤＭＡＣ、ライトＤＭＡＣがあるか、ＣＰＵ１０１が判断する。Ｓ１１０３で、他に処理形式が一致するものが存在すると判定された場合には、Ｓ１１０４に移行する。
【００７９】
一方、Ｓ１１０３で、他に処理形式が一致するものが無ければ、Ｓ１１０５に移行する。Ｓ１１０５で、ＣＰＵ１０１は、処理形式をＤＭＡＣで行っている処理形式に一致させるか否かを判断する。例えば、リードＤＭＡＣ、ライトＤＭＡＣの処理形式がライン処理でありＤＭＡＣの処理形式に一致させると判断した場合には、Ｓ１１０６で、ＣＰＵ１０１は、画像処理をＤＭＡＣの処理形式に合わせるように、ライン処理の回路で構成するように選択する。一方、Ｓ１１０５でＤＭＡＣの処理形式を一致させないと判断した場合、ＣＰＵ１０１は、Ｓ１１０７でリードＤＭＡＣ及びライトＤＭＡＣが矩形処理の回路で構成されるように選択する。
【００８０】
＜再構成部に構成される画像処理回路の構成例＞
図１２及び図１３を参照して、本実施形態に係る画像処理装置における、ジョブの内容によって再構成部１３１に構成される画像処理機能とコンフィグデータとの関係について説明する。図１２は、第１のジョブを受け付けて、ジョブを処理するために再構成部１３１に構成される画像処理機能の状態を示す。
【００８１】
第１のジョブとして、白黒画像のコピージョブを操作部１０３を介して受け付けた場合について説明する。白黒画像のコピージョブを受け付けた場合の再構成部１３１で行う処理内容としては、原稿を読み取った際の処理としてスキャン用の白黒画像処理と、印刷出力するための画像処理としてプリント用の画像処理とが必要になる。また、スキャン用の白黒画像処理を行った画像データに対して圧縮処理（デコード処理）と、プリント用画像処理を実行する前に圧縮データを伸張する伸張処理（エンコード処理）とが必要になる。
【００８２】
コピージョブとしては、スキャナ部１０９で読み取った原稿の画像データがスキャンＩ／Ｆ１０８を介して画像バス１２１からＲＡＭ１１１へ格納される。続いて、リードＤＭＡＣ１２５０によって、ＲＡＭ１１１に格納された画像データは、画像バス１２１を介して読み出される。読み出された画像データに対して、白黒画像のスキャン用画像処理が行われ、その処理結果の画像データがＲＡＭ１１１にライトＤＭＡＣ１２５１によって書き戻される。ここでは、白黒画像の第１のスキャン用画像処理は、矩形処理で行う画像処理とする。同様に、ライトＤＭＡＣ１２５１も、スキャン用画像処理で実行した矩形処理に対応して矩形処理を行うＤＭＡ制御の回路である（図１２の１２０１）。第１のスキャン用画像処理は、１２１１の画像データのフォーマット変換を行い、１２１２のシェーディング補正の処理を行い、１２１３でγ補正の処理を行う。その処理結果を、先のライトＤＭＡＣ１２５１で画像バス１２１に出力する。リードＤＭＡＣ１２５０は、９００でライトＤＭＡＣ１２５１は９０２で構成される。他の各画像処理は、１２１１、１２１２、１２１３が画像処理部９０１で構成される。
【００８３】
次に、リードＤＭＡＣ１２５４によって、ＲＡＭ１１１に格納されたスキャン用の画像処理を行った画像データが読み出され、圧縮処理が行われる。ライトＤＭＡＣ１２５５は、圧縮処理を行ったリニア処理データをＲＡＭ１１１に書き戻す。上記処理内容を実現する画像処理機能が、図１２の１２０３に示す回路構成に相当する。
【００８４】
次に、リードＤＭＡＣ１２５６によって、ＲＡＭ１１１に格納された圧縮データが読み出され、伸張処理が行われる。伸張処理が行われたデータは、ライン状の画像のデータとして出力されライン処理形式になる。ライトＤＭＡＣ１２５７は、伸張処理が行われたライン処理データをＲＡＭ１１１に書き戻す。上記処理内容を実現する画像処理機能が、図１２の１２０４に示す回路構成に相当する。
【００８５】
次に、プリント処理を行うためのプリント用画像処理について説明する。プリント用画像処理は、ライン処理を処理単位とするプリント用の画像処理を行う。リードＤＭＡＣ１２５２、及びライトＤＭＡＣ１２５３は、ライン処理を行うＤＭＡ制御を行う回路である（図１２の１２０２）。プリント用画像処理は、１２１７で背景となる下地を除去する処理を行い、１２１８でＲＧＢデータを画像処理装置の出力特性に合わせてＣＭＹＫの色空間変換を行う。１２１９で画像データのγ補正が行われる。１２２０でハーフトーン処理が行われる。その処理結果が、先のライトＤＭＡＣ１２５３によって画像バス１２１に出力される（図１２の１２０２）。リードＤＭＡＣ１２５２は、９０３、ライトＤＭＡＣ１２５３は、９０５、プリント画像処理（１２１７〜１２２０）は、画像処理部９０４で構成される。
【００８６】
次に、画像処理装置１００が受け付ける第２のジョブとして、カラー画像のコピージョブ処理を受け付けた場合について説明する。第２のジョブは、第１のジョブを再構成部１３１で処理した後に、操作部１０３から受け付けた次のジョブとなる。図１３は、第２のジョブを処理するために再構成部１３１に構成される画像処理機能の状態を示す。
【００８７】
第２のカラー画像のコピージョブを受け付けた場合の再構成部で行う処理内容としては、原稿を読み取った際の処理としてスキャン用のカラー画像処理と、印刷出力するための画像処理としてプリント用の画像処理とが必要になる。また、スキャン用のカラー画像処理を行った画像データに対して圧縮処理（デコード処理）と、プリント用画像処理を実行する前に圧縮データを伸張する伸張処理（エンコード処理）とが必要になる。
【００８８】
第１のジョブに対して、差分の処理となるのは、スキャナ用画像処理と、スキャナ用画像処理の処理形式に伴う、圧縮処理になる。スキャナ用画像処理は、白黒画像処理での矩形データの読み込みから、カラー画像処理のラインデータの読み込みに処理形式が変わる。
【００８９】
第２のジョブで変更となるカラー画像のスキャン用画像処理は、リードＤＭＡＣ１３５０でＲＡＭ１１１から読み出した画像データをスキャン用画像処理し、その処理結果の画像データをＲＡＭ１１１にライトＤＭＡＣ１３５１で書き戻す。ここでは、カラー画像のスキャン用画像処理は、ライン処理で行う画像処理とする。同様に、ライトＤＭＡＣ１３５１も、リードＤＭＡＣ１３５０もライン処理を行うＤＭＡ制御の回路になる（図１３の１３０１）。カラー画像のスキャン用画像処理は、１３１１で画像データのフォーマット変換を行い、１３１２のシェーディング補正の処理を行い、１３１３でγ補正の処理を行う。その処理結果を、先のライトＤＭＡＣ１３５１で画像バス１２１に出力する。リードＤＭＡＣ１３５０は９００で、ライトＤＭＡＣ１３５１は９０２で再構成される。他の各画像処理は、１３１１、１３１２、１３１３が画像処理部９０１で再構成される。
【００９０】
次に、リードＤＭＡＣ１３５４によって、ＲＡＭ１１１に格納されたスキャン用の画像処理を行った画像データが読み出され、圧縮処理が行われる。リードＤＭＡＣ１３５４ではライン処理が行われる。ライトＤＭＡＣ１３５５は、圧縮処理が行われたリニア処理データをＲＡＭ１１１に書き戻す。上記処理内容を実現する画像処理機能が、図１３の１３０３に示す回路構成に相当する。リードＤＭＡＣ１３５４は９０６で、ライトＤＭＡＣ１３５５は９０８で再構成される。圧縮処理１３２１は、９０７で再構成される。
【００９１】
次に、リードＤＭＡＣ１３５６によって、ＲＡＭ１１１に格納された圧縮データが読み出され、伸張処理が行われる。伸張処理が行われたデータは、ライン状の画像のデータとして出力されライン処理形式となる。ライトＤＭＡＣ１３５７は、伸張処理が行われたライン処理データをＲＡＭ１１１に書き戻す。上記処理内容を実現する画像処理機能が、図１３の１３０４に示す回路構成に相当する。この伸張処理は、第１のジョブと同じ処理でよいため、再構成は行われない。
【００９２】
次に、プリント処理を行うためのプリント用画像処理について説明する。プリント用画像処理も、第１のジョブと同じ処理でよいため、再構成は行われない。そのため各処理も第１のジョブで実行した処理と同じになる（図１３の１３０２）。
【００９３】
次に、第１のジョブと第２のジョブを受けて、再構成を行う再構成の判断処理について説明する。第１のジョブと第２のジョブのジョブ内容の差分をＣＰＵ１０１が判断し、差分の処理内容を構成する再構成回路の特定を行う。その際に、再構成を行う回路を最小限にするための回路構成をコンフィグレーション制約としている。図４のＳ４０７及びＳ４０８で、ＣＰＵ１０１は、コンフィグレーションを実行する場合、再構成するターゲットの画像処理部とその周辺の処理の方式が同じで、且つ、より少なく再構成を行う回数となる構成を優先的に選択する。これは、再構成を行うターゲットである画像処理部が少なければ、より再構成のためのコンフィグレーションの回数が少なくなる。その結果、前述した再構成に掛かる実行時間が短くなるためである。
【００９４】
以上説明したように、本実施形態では、まず、リードＤＭＡＣとライトＤＭＡＣの処理形式を判断している。ＤＭＡＣのデータ処理の形式はライン処理、リニア処理、矩形処理と考えられ、各画像処理で取り扱う処理形式と合わせる必要がある。図１３で示すように、第２のジョブを実施するための再構成の選択肢として、まず再構成が必要な画像処理を選択し、その画像処理のデータ転送に必要なリードＤＭＡＣとライトＤＭＡＣの処理形式が一致しているかを判断し、同じ処理形式の組みを選択する。当然、画像処理の処理データの形式（ここでは、ライン処理形式と矩形処理形式）を画像処理内容とＤＭＡＣとを合わせなければ、正しい処理が行えない。そこで、本実施形態に係るＣＰＵ１０１は、各画像処理を構成する際に、処理データの転送を担うリードＤＭＡＣ及びライトＤＭＡＣの処理形式を判断している。
【００９５】
＜第３の実施形態＞
以下では、図１４及び図１５を参照して、本発明の第３の実施形態について説明する。上記第２の実施形態では、再構成部１３１に、多数の画像処理再構成部を有する場合で、処理形式が一致しない場合の再構成の判断について説明した。一方、本実施形態では、上記第２の実施形態と同様に多数の画像処理再構成部を有する場合であって、再構成に対して回路規模とコンフィグレーション回数を判断基準とした例について説明する。再構成部１３１は、第２の実施形態での再構成部１３１に従う。
【００９６】
＜再構成制御シーケンス＞
まず、図１４を参照して、本実施形態における処理手順について説明する。再構成部１３１における再構成制御のシーケンスは、上記第１の実施形態における図４の再構成制御シーケンスに従う。このシーケンス内の再構成実施時の再構成回路の特定（図４のＳ４０８）部の処理ステップを以下で詳細に説明する。以下で説明する処理は、ＣＰＵ１０１がＲＯＭ１０４に格納された制御プログラムをＲＡＭ１１１で実行することによって実現される。
【００９７】
Ｓ１４０１で、ＣＰＵ１０１は、第２のジョブで要求される再構成の制約でコンフィグレーション回数を最小にするか否かを判断する。即ち、再構成に掛かる時間の要因の一つとなるコンフィグレーション回数を最小にすることで、再構成に掛かる時間を抑える場合である。この場合、ユーザーにとっては、ジョブを受け付けて画像処理装置１００の処理が開始されるまでの待ち時間を抑える効果がある。なお、Ｓ１４０１の判断は、前もってユーザー入力された設定情報を参照することによって行われてもよいし、画像処理装置１００の機種情報として製品出荷時に格納された情報を参照することによって行われてもよい。前者の場合は、ユーザー入力を受け付けるユーザーインターフェースが必要となり、ジョブの入力時に行ってもよいし、他の任意のタイミングで前もって行われてもよい。
【００９８】
Ｓ１４０１でコンフィグレーション回数を最小にする制約があれば、Ｓ１４０２に移行し、制約が無い場合にはＳ１４０９に移行する。Ｓ１４０９で、ＣＰＵ１０１は、コンフィグレーション回数に対する制約が無いため、デフォルトの構成（ここでは、４つの再構成部を用いる構成）で再構成する画像処理回路を選択し、処理を終了する。
【００９９】
一方、Ｓ１４０２で、ＣＰＵ１０１は、コンフィグレーション回数を最小にする場合の構成を判断し、その構成で回路規模として再構成可能か否かを判断する。画像処理部１３３に構成できる回路規模が、ＰＤＬプリント処理を全て構成できる範囲であれば、Ｓ１４０４に進み、ＣＰＵ１０１は、画像処理部１３３に再構成を行う回路を選択し、処理を終了する。この回路構成を第１の再構成とする。
【０１００】
Ｓ１４０２で回路規模が第１の再構成を超えると判断された場合には、Ｓ１４０３に進み、ＣＰＵ１０１は、第２の再構成で再構成可能か否かを判断する。第２の再構成の回路規模で再構成可能と判断すると、Ｓ１４０５に進み、ＣＰＵ１０１は、画像処理部１３３、１３６、１４２に再構成を行う回路構成を選択し、処理を終了する。一方、第２の再構成で回路規模が超えると判断した場合はＳ１４０６に進み、ＣＰＵ１０１は、第３の再構成で再構成可能な否かを判断する。
【０１０１】
超えると判断した場合には、Ｓ１４０８に進み、ＣＰＵ１０１は、再構成対象を変更し、より広範囲な画像処理構成を判断して、回路規模が入る再構成を選択し、処理を終了する。一方、第３の再構成の回路規模で再構成可能と判断すると、Ｓ１４０７に進み、ＣＰＵ１０１は、画像処理部１３３、１３６、１３９、１４２に再構成を行う回路を選択し、処理を終了する。
【０１０２】
＜再構成部に構成される画像処理回路の構成例＞
次に、図１５を参照して、本実施形態での再構成を、上記第１の実施形態で示した第２のジョブ処理を行うための再構成例であるＰＤＬプリント処理部（図６の６０１）に対する再構成部１３１での回路構成例を使って説明する。ＰＤＬプリント処理を行うために必要な処理構成は、レンダリング用画像処理、矩形処理のリードＤＭＡＣ及び矩形処理のライトＤＭＡＣである。これらを再構成する構成パターンとして２パターンの例を図１５に示す。
【０１０３】
図１５の１５０１に示す構成は、第１の実施形態での、上記３つの処理構成を１つの画像処理構成部１３２で実現していた構成例である。この場合には、１３２の再構成１回で処理を完了する。一方、図１５の１５０２で示す構成は、第２の実施形態で示した再構成部１３１（図９）に基づく、上記３つの処理構成をそれぞれ９００、９０１、９０２の構成部で実現した構成例である。この場合には、３回の再構成処理が発生する。つまり、９００に対するライトＤＭＡＣの再構成、９０１に対する画像処理部の再構成、９０２に対するリードＤＭＡＣの再構成である。例えば、再構成を行う構成部の回路規模が、再構成を行う処理回路の規模より大きければ再構成を行える。したがって、１５０１に示す回路構成が可能であれば、より再構成に掛かるコンフィグレーション回数を低減することができる。
【０１０４】
本実施形態によれば、再構成を行う構成で、再構成を行う処理内容は、一度に再構成できる回路規模を条件に入れて判断する。再構成を行う画像処理部を大きな回路規模の領域に割り当てると、再構成を行う処理内容によっては、使用していない回路が画像処理部により多く存在してしまう。一方で、再構成を行う画像処理部をより細かな回路規模の領域に割り当てると、その画像処理部に再構成時に入りきらない場合が発生してしまう。この場合には、ＣＰＵ１０１が判断した再構成の処理内容をより細かに分解して、再構成を行う必要がある。この場合には、再構成を行う画像処理部が多数存在することになり、コンフィグレーション回数が、その分増加することになる。このように、コンフィグレーション回数と回路規模とはトレードオフの関係にある。従って、本実施形態では、再構成に掛かる時間のコンフィグレーション回数と、再構成を行う画像処理部の回路規模との関係を考慮し、ＣＰＵ１０１にて、その再構成を実施するコンフィグレーション制約のもとで再構成範囲を調整する。
【０１０５】
＜第４の実施形態＞
以下では、図１６を参照して、本発明の第４の実施形態について説明する。本実施形態では、画像処理装置１００が、電源投入後又はスリープ復帰後に再構成を行う場合の一例について説明する。電源投入後又はスリープ復帰後の再構成の処理シーケンス部以外は、上記第１の実施形態に従うため説明を省略する。
【０１０６】
本実施形態に係る画像処理装置１００は、電源投入後、又はスリープ復帰後の最初のジョブの処理完了時間をより早くするために、予測される最初のジョブ内容を再構成部１３１に前もって構成する。再構成部１３１に予測される処理の回路を前もって構成しておくことで、最初のジョブを受け付けた際に、当該ジョブに必要な回路構成と、予め構成した回路構成との処理差分のみを再構成することで、最初のジョブを実行するまでの処理時間をより低減できる。本実施形態では、画像処理装置１００が最初に実行するジョブに関して、前もって構成する回路構成について説明する。
【０１０７】
ＣＰＵ１０１は、電源投入後又はスリープ復帰後において、ＲＯＭ１０４から、予測される処理内容の回路構成を示すコンフィグデータをＲＡＭ１１１にプリロードする。このタイミングでは、まだジョブを受け付けていないことを想定している。その後、ＣＰＵ１０１は、コンフィグコントローラ１３０を介して、再構成部１３１に対して構成を行う。これにより、画像処理装置１００は、電源投入後又はスリープ復帰後において、最初のジョブ処理をより高速に処理することが可能となり、ユーザーに処理待ち時間を短縮することができる。なお、電源投入後又はスリープ復帰後のタイミングでジョブを受け付けている場合は、当該ジョブに合わせた回路構成に対応するコンフィグデータを使用する。また、ＲＯＭ１０４には、画像処理装置１００が起動する要因、例えば、電源投入やネットワークアクセスによるスリープ復帰に対応して定義された最初に構成する回路構成を示すコンフィグデータが格納されていることが望ましい。
【０１０８】
＜再構成制御シーケンス＞
次に、図１６を参照して、電源投入後又はスリープ復帰後の再構成部１３１における再構成制御のシーケンスについて説明する。本制御フローは、電源投入後もしくはスリープ復帰後に開始される。以下で説明する処理は、ＣＰＵ１０１がＲＯＭ１０４に格納された制御プログラムをＲＡＭ１１１で実行することによって実現される。
【０１０９】
Ｓ１６０１で、ＣＰＵ１０１は、電源投入又はスリープ復帰が実施されたか否かを判断する。電源投入又はスリープ復帰が実施されればＳ１６０２へ移行する。Ｓ１６０２で、ＣＰＵ１０１は、画像処理装置１００が復帰後、予測されるジョブの内容をＲＯＭ１０４から読み込む。上述したように、ＲＯＭ１０４には、復帰後に予測される処理内容のコンフィグデータが予め格納されている。Ｓ１６０３で、ＣＰＵ１０１は、読み出したコンフィグデータをＲＡＭ１１１に記憶する。例えば、コピージョブが予測されている場合には、ＣＰＵ１０１は、コピー処理に必要なスキャン画像処理、及びプリント画像処理の各処理のコンフィグデータとその各処理に必要な設定パラメータを読み込む。
【０１１０】
次に、Ｓ１６０４で、ＣＰＵ１０１は、Ｓ１６０３でロードしたコンフィグデータから再構成部１３１で再構成を行う回路構成を特定する。Ｓ１６０５で、ＣＰＵ１０１は、コンフィグデータを元に、再構成を行う上での制約条件があるか否か判断する。例えば、最初のジョブとなるため再構成を行う回路への再構成に掛かる時間を最小限にするための条件となる。
【０１１１】
Ｓ１６０６で、ＣＰＵ１０１は、Ｓ１６０５での制約判断に従って、再構成を行うための回路構成を特定する。続いて、Ｓ１６０７で、コンフィグコントローラ１３０は、ＲＡＭ１１１に記憶したコンフィグデータから再構成を行う回路を実現するコンフィグデータを抽出する。このコンフィグデータは、再構成を行う回路構成に従って、細かい処理単位でのコンフィグデータを複数選択することで１つの再構成を実行することもできる。或いは、より再構成を行う処理単位を大きくし、コンフィグデータの数をより少なく構成して１つの再構成を実行することもできる。
【０１１２】
次に、Ｓ１６０８で、コンフィグコントローラ１３０は、先のＳ１６０７で選択したコンフィグデータを用いて、再構成部１３１を再構成する。再構成は、先のコンフィグデータから再構成部１３１へ回路を再度、書き換えることで実現する。再構成部１３１への再構成が完了すると、Ｓ１６０９で、コンフィグコントローラ１３０は、ＣＰＵ１０１にて再構成完了の割り込み通知を行う。Ｓ１６１０で、ＣＰＵ１０１は、当該再構成完了の割り込み通知を受けて、ジョブの受け付けを行い、当該フローチャートの処理を終了する。
【０１１３】
本実施形態によれば、画像処理装置１００は、電源投入後又はスリープ復帰後において、実行が予想されるジョブに対応するコンフィグデータを用いて再構成を実施する。これにより、ジョブを受け付けた後に再構成を実施するよりも、ジョブを受け付けてから当該ジョブを開始するまでの時間を短縮することができる。画像処理装置１００の電源投入後又はスリープ復帰後の最初のジョブ例としては、コピージョブ、プリントジョブなどが予測される。画像処理装置１００の予測される最初のジョブは変更することも可能で、ＣＰＵ１０１によってＲＯＭ１０４からコンフィグデータを選択することで実現できる。なお、最初のジョブを受け付けた後の処理シーケンスは、第１の実施形態で示した図５の処理シーケンスに従う。最初のジョブを受け付けた際には、電源投入後又はスリープ復帰後に予め予測した処理回路と、最初のジョブとの差分があったとしても、当該差分となる処理のみ再構成部１３１で再構成を行えばよい。これによって、画像処理装置１００は、電源投入後又はスリープ復帰後の最初に受け付けるジョブの処理を実行する際の処理時間を低減することができる。
【０１１４】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１１５】
１００：画像処理装置、１０１：ＣＰＵ、１０４：ＲＯＭ、１１１：ＲＡＭ、１２０：システムバス、１２１：画像バス、１３０：コンフィグコントローラ、１３１：再構成部
【図１】
2015201766.tif 000003
【図２】
2015201766.tif 000004
【図３】
2015201766.tif 000005
【図４】
2015201766.tif 000006
【図５】
2015201766.tif 000007
【図６】
2015201766.tif 000008
【図７】
2015201766.tif 000009
【図８】
2015201766.tif 000010
【図９】
2015201766.tif 000011
【図１０】
2015201766.tif 000012
【図１１】
2015201766.tif 000013
【図１２】
2015201766.tif 000014
【図１３】
2015201766.tif 000015
【図１４】
2015201766.tif 000016
【図１５】
2015201766.tif 000017
【図１６】
2015201766.tif 000018