(57)【要約】【課題】画像処理に最適な処理手段が多数の小領域に対して複数の画像処理を実行する場合に装置制御処理に最適な処理手段との通信回数を最小にし、各処理手段の処理能力を最大限に活用できる画像処理装置、画像処理方法及び画像処理用プログラムを得ること。【解決手段】ＣＰＵ１１３はＲＯＭ１１６が記憶する複数の実行順リストから１つの実行順リストを選択すると画像処理の開始指示を発行する。ＤＳＰ１１４は画像処理の開始指示を受けてＣＰＵ１１３が選択した１つの実行順リストに示された画像処理の実行順序に従った画像処理用プログラムをＲＯＭ１１６から高速メモリ１１５に転送させて画像処理を実施し、画像処理の結果と選択された１つの実行順リストとに基づき、次の画像処理で用いる画像処理用プログラムを選択して高速メモリ１１５に転送させて画像処理を実施することを繰り返し、終了するとＣＰＵ１１３に通知する。【選択図】図１
2008065654.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像処理の実行順序を示した複数の実行順リストと画像処理用の複数のプログラムとを記憶する第１の記憶手段と、
装置制御の過程で前記第１の記憶手段に記憶された複数の実行順リストから１つの実行順リストを選択するとともに、画像処理の開始指示を発行する第１の処理手段と、
少なくとも前記画像処理用のプログラムを記憶するために用いる第２の記憶手段と、
前記画像処理の開始指示を受けて、前記第１の処理手段が選択した１つの実行順リストに示された画像処理の実行順序に従った画像処理用プログラムを前記第１の記憶手段から前記第２の記憶手段に転送記憶させる依頼を発行し、前記第２の記憶手段に記憶させた画像処理用プログラムに基づき画像処理を実施する第２の処理手段と、
を備えていることを特徴とする画像処理装置。
【請求項２】
前記第２の処理手段は、画像処理の結果と前記選択された１つの実行順リストとの両方に基づいて、次の画像処理で用いる画像処理用プログラムの選択可否を判断し、選択できる場合はその選択できた画像処理用プログラムを前記第２の記憶手段に転送記憶させる依頼を発行し、選択できない場合は画像処理を終了しその旨を前記第１の処理手段に通知することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の処理手段はマイクロプロセッサであり、前記第２の処理手段はＤＳＰであることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
複数の画像処理の実行順序を示した複数の実行順リストと画像処理を行うハードウェアの構成を示した複数の構成情報とを記憶する第１の記憶手段と、
装置制御の過程で前記第１の記憶手段に記憶された複数の実行順リストから１つの実行順リストを選択するとともに、画像処理の開始指示を発行する第１の処理手段と、
少なくとも前記構成情報を記憶するために用いる第２の記憶手段と、
前記画像処理の開始指示を受けて前記第１の処理手段が選択した１つの実行順リストに示された画像処理の実行順序に従った構成情報を前記第１の記憶手段から前記第２の記憶手段に転送記憶させる依頼を発行する第２の処理手段と、
前記第２の処理手段から開始指示を受けて前記第２の記憶手段に記憶された前記構成情報に応じてハードウェア構成を変更し対応する画像処理を実施する第３の処理手段と、
を備えていることを特徴とする画像処理装置。
【請求項５】
前記第２の処理手段は、前記第３の処理手段が実施した画像処理の結果と前記選択された１つの実行順リストとの両方に基づき、次の画像処理で用いる前記構成情報の選択可否を判断し、選択できる場合はその選択できた構成情報を前記第２の記憶手段に転送記憶させる依頼を発行し、選択できない場合は前記第３の処理手段での画像処理を終了しその旨を前記第１の処理手段に通知することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
複数の画像処理の実行順序を示した複数の実行順リストと実行制御及び画像処理それぞれを行うハードウェアの構成を示した複数の構成情報とを記憶する第１の記憶手段と、
装置制御の過程で前記第１の記憶手段に記憶された複数の実行順リストから１つの実行順リストを選択するとともに、画像処理の開始指示を発行する第１の処理手段と、
少なくとも前記画像処理を行うハードウェアの構成を示した構成情報を記憶するために用いる第２の記憶手段と、
画像処理を実施するハードウェアの構成を構成情報に応じて変更できるとともに、前記画像処理の実行制御を実施するハードウェアを構成情報に応じて構成できる第２の処理手段であって、前記第１の記憶手段に記憶される前記実行制御を行うハードウェアの構成を示した構成情報に応じたハードウェア構成となり前記第１の処理手段が選択した１つの実行順リストに示された画像処理の実行順序に従って対応する前記画像処理を行うハードウェアの構成を示した構成情報を前記第１の記憶手段から前記第２の記憶手段に転送記憶させる依頼を発行する実行制御動作と、前記第２の記憶手段に記憶された前記画像処理を行うハードウェアの構成を示した構成情報に応じてハードウェア構成を変更し対応する画像処理を実施する画像処理動作とを前記画像処理の開始指示を受けてこの順に実行する第２の処理手段と、
を備えることを特徴とする画像処理装置。
【請求項７】
第２の処理手段の実行制御動作では、前記画像処理動作での画像処理の結果と前記選択された実行順リストとの両方に基づき、次の画像処理で用いる前記画像処理を行うハードウェアの構成を示した構成情報の選択可否を判断し、選択できる場合はその選択できた構成情報を前記第２の記憶手段に転送記憶させる依頼を発行し、選択できない場合は画像処理が終了した旨を前記第１の処理手段に通知することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
１つの画像処理に対する前記実行順リストでは、対象画像を複数の小領域に分割した個々の画像処理の順番が示されていることを特徴とする請求項１〜７のいずれか一つに記載の画像処理装置。
【請求項９】
複数の画像処理の実行順序を示した複数の実行順リストと画像処理用の複数のプログラムとを第１の記憶手段に用意する第１の工程と、
前記第１の記憶手段が記憶する前記複数の実行順リストから１つの実行順リストを選択して画像処理の開始指示を発行する第２の工程と、
前記画像処理の開始指示を受けて前記第２の工程にて選択された１つの実行順リストに示された画像処理の実行順序に従った画像処理用プログラムを前記第１の記憶手段から第２の記憶手段に転送する第３の工程と、
前記第２の記憶手段に記憶させた画像処理用プログラムに基づき画像処理を実施する第４の工程と、
前記第４の工程での画像処理の結果と前記選択された１つの実行順リストとの両方に基づき、次の画像処理で用いる画像処理用プログラムの選択可否を判断し、選択できる場合はその選択できた画像処理用プログラムを前記第２の記憶手段に転送記憶させ、選択できない場合は画像処理の終了処理を行う第５の工程と、
を含むことを特徴とする画像処理方法。
【請求項１０】
画像処理を実施するハードウェアの構成を構成情報に応じて変更できる処理手段を備える画像処理装置における画像処理方法であって、
複数の画像処理の実行順序を示した複数の実行順リストと画像処理を行うための複数の前記構成情報とを第１の記憶手段に用意する第１の工程と、
前記第１の記憶手段が記憶する前記複数の実行順リストから１つの実行順リストを選択して画像処理の開始指示を発行する第２の工程と、
前記画像処理の開始指示を受けて前記第２の工程にて選択された１つの実行順リストに示された画像処理の実行順序に従った構成情報を前記第１の記憶手段から第２の記憶手段に転送する第３の工程と、
前記処理手段に対し前記第２の記憶手段に記憶された前記構成情報の読み取り指示を与えて画像処理を実行させる第４の工程と、
前記処理手段が実施した画像処理の結果と前記選択された１つの実行順リストとの両方に基づいて、次の画像処理で用いる前記構成情報の選択可否を判断し、選択できる場合はその選択できた構成情報を前記第２の記憶手段に転送記憶させ、選択できない場合は前記処理手段での画像処理の終了処理を行う第５の工程と、
を含むことを特徴とする画像処理方法。
【請求項１１】
画像処理を実施するハードウェアの構成を構成情報に応じて変更できるとともに、前記画像処理の実行制御を実施するハードウェアを構成情報に応じて構成できる処理手段を備える画像処理装置における画像処理方法であって、
複数の画像処理の実行順序を示した複数の実行順リストと実行制御及び画像処理それぞれを行うハードウェアの構成を示した複数の構成情報とを第１の記憶手段に用意する第１の工程と、
前記処理手段に対し、前記第１の記憶手段に記憶される前記実行制御を行うハードウェアの構成を示した構成情報を与えるとともに、前記第１の記憶手段が記憶する前記複数の実行順リストから１つの実行順リストを選択したときに画像処理の開始指示を与える第２の工程と、
前記処理手段からの要求に応じて、当該処理手段が読み取り可能な第２の記憶手段に、前記第２の工程にて選択した１つの実行順リストに示された画像処理の実行順序に従って対応する前記画像処理を行うハードウェアの構成を示した構成情報を前記第１の記憶手段から転送記憶させて当該構成情報に対応する画像処理が実施できるようにし、当該処理手段からの終了通知を待機する第３の工程と、
を含むことを特徴とする画像処理方法。
【請求項１２】
１つの画像処理に対する前記実行順リストでは、対象画像を複数の小領域に分割した個々の画像処理の順番が示されていることを特徴とする請求項９〜１１のいずれか一つに記載された画像処理方法。
【請求項１３】
請求項９〜１１のいずれか一つに記載された画像処理方法の各工程をコンピュータが実施可能に記述したことを特徴とする画像処理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ファクス送信、ファクス受信、プリント、スキャン、コピーなど複数のドキュメント処理機能を複数の処理手段によって実現する画像処理装置、この画像処理装置によって実行される画像処理方法、この画像処理方法を記述した画像処理用プログラムに関するものである。
【背景技術】
【０００２】
近年、ファクス送信、ファクス受信、プリント、スキャン、コピーなど複数のドキュメント処理機能を併せ持ち、多機能複合機、デジタル複合機、多機能プリンタ、オールインワンプリンタ、多機能ファクスなどと呼ばれている多機能な画像処理装置が数多く製品化されている。この多機能な画像処理装置では、機能に応じて様々な画像処理の組み合わせが要求される。
【０００３】
例えば、ファクス送信では、スキャナで読み取った画像データをフィルター処理で補正し、ＭＨ（Ｍｏｄｉｆｉｅｄ  Ｈｕｆｆｍａｎ）方式やＭＲ（Ｍｏｄｉｆｉｅｄ  Ｒｅｌａｔｉｖｅ  Ｅｌｅｍｅｎｔ  Ａｄｄｒｅｓｓ  Ｄｅｓｉｇｎａｔｅ）方式、ＭＭＲ（Ｍｏｄｉｆｉｅｄ  ＭＲ）方式、ＪＢＩＧ（Ｊｏｉｎｔ  Ｂｉ−Ｌｅｖｅｌ  Ｉｍａｇｅ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式などで符号化した後に、通信インターフェースから送信する。
【０００４】
ファクス受信では、通信インターフェースが受信したファクス符号データを復号化し、記録用紙に合わせて拡大または縮小し、色変換した後に、プリンタで印刷出力する。
【０００５】
コピーでは、スキャナで読み取った画像データをフィルター処理で補正し、記録用紙に合わせて拡大または縮小し、色変換し、中間調処理した後に、プリンタで印刷出力する。
【０００６】
プリント処理では、通信インターフェースで受信した印刷コマンドに基づいて画像データを生成し、色変換し、中間調処理した後に、プリンタで印刷出力する。
【０００７】
スキャン処理では、スキャナで読み取った画像データをフィルター処理で補正し、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式で符号化した後に、通信インターフェースからコンピュータに出力する、または外部記憶装置に保存する。
【０００８】
多機能な画像処理装置は、上記のような機能に応じた様々な画像処理の組み合わせを可能にすべく、主に制御処理を行う処理手段と主に画像処理を行う処理手段というように処理を分担する少なくとも２つの処理手段を備えているが、常に高速化と低価格化という相反する要求があり、この要求を実現する技術が種々提案されている（例えば、特許文献１〜３等）。
【０００９】
即ち、例えば（特許文献１，２）では、装置制御処理に最適な処理手段であるＣＰＵと、画像処理に最適なＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）とを備え、ＣＰＵがＤＳＰを制御して画像処理を実行させることにより、高速化と低価格化の両方を満たす画像処理装置を実現する技術が開示されている。
【００１０】
また、（特許文献３）では、装置制御処理に最適な処理手段であるＣＰＵと、画像処理に最適なハードウェア構成を動的に再構成可能なプロセッサ（以後、「リコンフィギャラブルプロセッサ」という）を備え、ＣＰＵがリコンフィギャラブルプロセッサを制御して画像処理を実行させることにより、高速化と低価格化の両方を満たす画像処理装置を実現する技術が開示されている。
【特許文献１】特開２００２−２４５４４７号公報
【特許文献２】特開２００４―２５２９４８号公報
【特許文献３】国際公開第０１／０１６７１０号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来の技術では、次のような問題がある。以下、（特許文献１，２）で開示されるＤＳＰを用いた場合について説明するが、（特許文献３）で開示されるリコンフィギャラブルプロセッサを用いた場合も同様の問題がある。
【００１２】
一般に、ドキュメント処理は複数の画像処理の組み合わせで実現されるが、ＤＳＰのプログラムメモリは高速性が要求されるために高価であるので、小容量となり多数のプログラムを同時に格納できる容量が確保できない。そのために、上記の従来の技術では、ＣＰＵは、ＤＳＰ用プログラムをＤＳＰのプログラムメモリに転送し、ＤＳＰにプログラムの実行開始を指示する。そして、画像処理が完了したＤＳＰからその旨を受け取るという動作を繰り返し行っている。
【００１３】
この場合に、低価格化の要求のため１ページ分の画像データを記憶できるメモリが確保できない状況下では、画像を小領域に分割し、その小領域毎に複数の画像処理を行うことになるので、ＣＰＵでは、組み合わせられた画像処理の個数に小領域の個数を乗じた回数分だけＤＳＰに関する処理を行う必要が生じ、ＣＰＵの処理負荷が増大する。つまりＣＰＵのパフォーマンス低下の要因となる。
【００１４】
また、ＤＳＰプログラムの転送処理は、通常ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）が行い、その完了通知は一般に割り込みで実現される。同様に、ＤＳＰからＣＰＵに対する画像処理の完了通知も一般に割り込みで実現される。このようにＣＰＵに対して多頻度に割り込みが入力されると、そのパフォーマンスは大幅に低下する。さらに、ＤＳＰプログラム転送のオーバーヘッドもＣＰＵのパフォーマンス低下の要因となる。
【００１５】
したがって、従来の技術では、これらパフォーマンス低下分を補うだけの性能の高い、つまり、より高価なＣＰＵを使用しなければならず、高速化と低価格化という本来の課題を達成できない。
【００１６】
この発明は、上記に鑑みてなされたものであり、画像処理に最適な処理手段が多数の小領域に対して複数の画像処理を実行する場合に装置制御処理に最適な処理手段との通信回数を最小にし、各処理手段の処理能力を最大限に活用できる画像処理装置、画像処理方法及び画像処理用プログラムを得ることを目的とする。
【課題を解決するための手段】
【００１７】
上述した目的を達成するために、この発明にかかる画像処理装置は、複数の画像処理の実行順序を示した複数の実行順リストと画像処理用の複数のプログラムとを記憶する第１の記憶手段と、装置制御の過程で、前記第１の記憶手段に記憶された複数の実行順リストから１つの実行順リストを選択するとともに、画像処理の開始指示を発行する第１の処理手段と、少なくとも前記画像処理用のプログラムを記憶するために用いる第２の記憶手段と、前記画像処理の開始指示を受けて、前記第１の処理手段が選択した１つの実行順リストに示された画像処理の実行順序に従った画像処理用プログラムを前記第１の記憶手段から前記第２の記憶手段に転送記憶させる依頼を発行し、前記第２の記憶手段に記憶させた画像処理用プログラムに基づき画像処理を実施する第２の処理手段とを備えていることを特徴とする。
【００１８】
この発明によれば、第２の処理手段は、主に装置制御を行う第１の処理手段から画像処理の開始指示を受け取ると、第１の処理手段の指示を受けることなく、第２の記憶手段に記憶された実行順リストに従って複数の画像処理を連続して行うことができる。第１の処理手段は、この連続した複数の画像処理の完了時に１回だけの通知を受けることになるので、第１の処理手段の処理負荷が大幅に軽減される。したがって、主に装置制御を行う第１の処理手段のパフォーマンスの低下を抑制しつつ、１つの画像処理に対する実行順リストに示される対象画像を複数の小領域に分割した複数の画像処理を第２の処理手段に実行させることができるので、高速で低価格の画像処理装置を実現することができる。
【発明の効果】
【００１９】
この発明によれば、装置制御処理に最適な処理手段のパフォーマンス低下を最小限に抑制でき、高速で安価な画像処理装置が得られるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下に図面を参照して、この発明にかかる画像処理装置、画像処理方法及び画像処理用プログラムの好適な実施の形態を詳細に説明する。
【００２１】
（実施の形態１）
図１は、本発明の実施の形態１による画像処理装置の構成を示すブロック図である。図１に示すように、この実施の形態１による画像処理装置１００は、装置制御処理に最適な第１の処理手段であるマイクロプロセッサとしてのＣＰＵ１１３を中心に構成される。このＣＰＵ１１３が管理するＣＰＵバス１２０には、センサインターフェース１１２を介してセンサ１１１が接続され、外部記憶インターフェース１１０を介して外部記憶装置１０９が接続され、スキャナインターフェース１０２を介してスキャナエンジン１０１が接続され、プリンタインターフェース１０４を介してプリンタエンジン１０３が接続され、パネルコントローラ１０８を介して操作パネルを構成する表示装置１０６及び入力装置１０７が接続されている。
【００２２】
また、このＣＰＵ１１３が管理するＣＰＵバス１２０には、第１の記憶手段であるＲＯＭ１１６、ＲＡＭ１１７、割り込みコントローラ１１９、通信インターフェース１０５、画像処理に最適な第２の処理手段であるプロセッサとしてのＤＳＰ１１４、第２の記憶手段である高速メモリ１１５及びＤＭＡＣ１１８がそれぞれ接続されている。
【００２３】
スキャナエンジン１０１は、スキャナインターフェース１０２の制御下に、スキャナインターフェース１０２がＣＰＵバス１２０から取り込んだ制御信号に従ってスキャナ原稿台上に配置された原稿を読み取ってデジタル化した画像データを生成し、それをスキャナインターフェース１０２からＣＰＵバス１２０上に出力させる。
【００２４】
プリンタエンジン１０３は、プリンタインターフェース１０４の制御下に、プリンタインターフェース１０４がＣＰＵバス１２０から取り込んだ画像データを記録用紙に印刷する。
【００２５】
通信インターフェース１０５は、通信線路（図示せず）を経由してコンピュータ（図示せず）やファクス装置（図示せず）と通信し、通信線路から受信した画像データやファクスデータをＣＰＵバス１２０上に出力し、ＣＰＵバス１２０から取り込んだ画像データやファクスデータを通信線路に送出する。
【００２６】
操作パネルを構成する表示装置１０６及び入力装置１０７は、それぞれパネルコントローラ１０８の制御下に動作する。パネルコントローラ１０８は、ＣＰＵバス１２０から取り込んだ操作者へのメッセージや入力装置１０７から取得した操作者の入力情報を表示装置１０６に表示する。また、パネルコントローラ１０８は、操作者による入力装置１０７への入力情報をＣＰＵバス１２０上に出力する。
【００２７】
外部記憶装置１０９は、様々な種類のメモリカード、ハードディスクあるいはフロッピー（登録商標）ディスクなどの情報記録媒体である。外部記憶インターフェース１１０は、ＣＰＵバス１２０から取り込んだ書込制御信号に従ってデータを外部記憶装置１０９に書き込む制御と、ＣＰＵバス１２０から取り込んだ読み出し制御信号に従ってデータを外部記憶装置１０９から読み出してＣＰＵバス１２０上に出力する制御とを行う。
【００２８】
センサ１１１は、センサインターフェース１１２の制御下に、プリンタエンジン１０３の各種状態（記録用紙の有無や記録用紙カセットの状態、装置周辺の温湿度、記録用紙詰まりの有無など）を検出する。また、センサ１１１は、スキャナエンジン１０１に自動給紙装置が搭載されている場合は、自動給紙装置における給紙状態などを検出する。センサインターフェース１１２は、センサ１１１が検出したこれらの各種情報をＣＰＵバス１２０上に出力する。
【００２９】
第１の記憶手段であるＲＯＭ１１６には、少なくとも、ＣＰＵ１１３が実行する制御プログラムと、ＤＳＰ１１４が実行する複数の画像処理用プログラム、実行制御用プログラム及び複数の画像処理の実行順序を示した複数の実行順リストとが記憶されている。
【００３０】
ＲＡＭ１１７は、ＣＰＵ１１３の制御下に、画像データ、符号データ及びＣＰＵ１１３の作業用データを一時的に記憶する。
【００３１】
ＣＰＵ１１３は、ＲＯＭ１１６に格納される上記の制御プログラムに基づき、スキャナエンジン１０１、プリンタエンジン１０３、通信インターフェース１０５、表示装置１０６及び入力装置１０７を制御する。また、ＣＰＵ１１３は、ドキュメント処理時においてＲＯＭ１１６に格納される上記の複数の実行順リストの中から指示されたドキュメント処理に対応する実行順リストの選択、ＤＳＰ１１４に対する処理の開始指示、必要に応じて画像データの分割処理などを行う。つまり、ＣＰＵ１１３は、画像処理以外の全ての装置制御処理を実行するように構成されている。
【００３２】
第２の処理手段であるＤＳＰ１１４は、専用の高速なバスで接続された第２の記憶手段である高速メモリ１１５を用いて画像処理を実行する（図２参照）。
【００３３】
高速メモリ１１５は、少容量ながらＤＳＰ１１４の動作速度以上の高速で読み書き可能なノーウエイトメモリで構成され、ＤＳＰ１１４が実行するプログラムと、ＤＳＰ１１４が画像処理を行う際の入出力データと、ＣＰＵ１１３にて選択された実行順リストとを記憶する。
【００３４】
ＤＭＡＣ１１８は、ＣＰＵ１１３の指示に従ってＲＯＭ１１６及びＲＡＭ１１７と高速メモリ１１５との間のデータ転送処理を行う。
【００３５】
割り込みコントローラ１１９は、センサインターフェース１１２、外部記憶インターフェース１１０、スキャナインターフェース１０２、プリンタインターフェース１０４、パネルコントローラ１０８、通信インターフェース１０５、ＤＳＰ１１４及びＤＭＡＣ１１８からＣＰＵ１１３への割り込み信号を調停する。
【００３６】
図２は、図１に示す画像処理装置においてファクス受信時、ファクス送信時、コピー時、プリント時、スキャン時に実行する画像処理の流れを説明する図である。図１を参照しつつ、各種のドキュメント処理時に行われる画像処理とその画像処理に関わる制御処理とを説明する。
【００３７】
図２において、ＤＳＰ１１４は、対応するドキュメント処理時に、高速メモリ１１５に保存される画像データに対して、スキャナエンジン補正処理２０１、フィルター処理２０２、データ圧縮処理２０３、データ伸張処理２０４、ズーム処理２０５、色変換処理２０６、プリンタエンジン補正処理２０７及び中間調処理２０８のうち対応する画像処理を行う。
【００３８】
スキャナエンジン補正処理２０１は、シェーディング補正、ガンマ補正、背景除去などに係る画像処理である。フィルター処理２０２は、先鋭化、平滑化、エッジ強調などに係る画像処理である。データ圧縮処理２０３及びデータ伸張処理２０４は、ＲＬＥ、ＭＨ、ＭＲ、ＭＭＲ、ＪＢＩＧ、ＪＰＥＧなどに係る画像処理である。ズーム処理２０５は、画像データの拡大あるいは縮小に係る画像処理である。色変換処理２０６は、ＲＧＢをＣＭＹあるいはＣＭＹＫあるいはＫに変換する際に用いる画像処理である。プリンタエンジン補正処理２０７は、プリンタエンジン１０３の印刷特性に合わせて行うガンマ補正などに係る画像処理である。中間調処理２０８は、単純二値化法、ディザ法、誤差拡散法、スクリーン法などを用いた階調処理に係る画像処理である。
【００３９】
ファクス受信に対するドキュメント処理２１０では、ＣＰＵ１１３の制御下に、通信インターフェース１０５が相手ファクス装置から受信したファクス符号データをＲＡＭ１１７に一時保存し、ＤＭＡＣ１１８がファクス符号データをＲＡＭ１１７から高速メモリ１１５に転送する。ＤＳＰ１１４は、開始指示を受けると、ＣＰＵ１１３と通信することなく、高速メモリ１１５に格納されているファクス符号データを画像データに復号するデータ伸張処理２０４、その復号した画像データに対するズーム処理２０５、色変換処理２０６及びプリンタエンジン補正処理２０７を連続して実行し、ＣＰＵ１１３に終了を通知する。その結果、ＣＰＵ１１３の制御下に、ＤＭＡＣ１１８が画像データを高速メモリ１１５からＲＡＭ１１７に転送し、プリンタインターフェース１０４が画像データをＲＡＭ１１７からプリンタエンジン１０３に出力する処理が行われる。
【００４０】
ファクス送信に対するドキュメント処理２１１では、ＣＰＵ１１３の制御下に、スキャナエンジン１０１が読み取った画像をスキャナインターフェース１０２がＲＡＭ１１７に一時保存し、ＤＭＡＣ１１８が画像データをＲＡＭ１１７から高速メモリ１１５に転送する。ＤＳＰ１１４は、開始指示を受けると、ＣＰＵ１１３と通信することなく、高速メモリ１１５に格納されている画像データに対して、その画像データをファクス符号データに変換するスキャナエンジン補正処理２０１、フィルター処理２０２及びデータ圧縮処理２０３を連続して実行し、ＣＰＵ１１３に終了を通知する。その結果、ＣＰＵ１１３の制御下に、ＤＭＡＣ１１８がファクス符号データを高速メモリ１１５からＲＡＭ１１７に転送し、通信インターフェース１０５がファクス符号データをＲＡＭ１１７から相手ファクス装置に送信する処理が行われる。
【００４１】
コピー指示に対するドキュメント処理２１２では、ＣＰＵ１１３の制御下に、スキャナエンジン１０１が読み取った画像データをスキャナインターフェース１０２がＲＡＭ１１７に一時保存し、ＤＭＡＣ１１８が画像データをＲＡＭ１１７から高速メモリ１１５に転送する。ＤＳＰ１１４は、開始指示を受けると、ＣＰＵ１１３と通信することなく、高速メモリ１１５に格納されている画像データに対して、スキャナエンジン補正処理２０１、フィルター処理２０２、ズーム処理２０５、色変換処理２０６、プリンタエンジン補正処理２０７及び中間調処理２０８を連続して実行し、ＣＰＵ１１３に終了を通知する。その結果、ＣＰＵ１１３の制御下に、ＤＭＡＣ１１８が画像データを高速メモリ１１５からＲＡＭ１１７に転送し、プリンタインターフェース１０４が画像データをＲＡＭ１１７からプリンタエンジン１０３に出力する処理が行われる。
【００４２】
プリント指示に対するドキュメント処理２１３では、ＣＰＵ１１３の制御下に、通信インターフェース１０５が相手コンピュータから受信した印刷コマンドをＲＡＭ１１７に一時保存し、ＣＰＵ１１３が印刷コマンドを解釈して画像データを生成し、ＤＭＡＣ１１８が画像データをＲＡＭ１１７から高速メモリ１１５に転送する。ＤＳＰ１１４は、開始指示を受けると、ＣＰＵ１１３と通信することなく、高速メモリ１１５に格納されている画像データに対して、色変換処理２０６、プリンタエンジン補正処理２０７及び中間調処理２０８を連続して実行し、ＣＰＵ１１３に終了を通知する。その結果、ＣＰＵ１１３の制御下に、ＤＭＡＣ１１８が画像データを高速メモリ１１５からＲＡＭ１１７に転送し、プリンタインターフェース１０４が画像データをＲＡＭ１１７からプリンタエンジン１０３に出力する処理が行われる。
【００４３】
スキャン指示に対するドキュメント処理２１４では、ＣＰＵ１１３の制御下に、スキャナエンジン１０１が読み取った画像データをスキャナインターフェース１０２がＲＡＭ１１７に一時保存し、ＤＭＡＣ１１８が画像データをＲＡＭ１１７から高速メモリ１１５に転送する。ＤＳＰ１１４は、開始指示を受けると、ＣＰＵ１１３と通信することなく、高速メモリ１１５に格納されている画像データに対して、その画像データを符号データに変換するスキャナエンジン補正処理２０１、フィルター処理２０２及びデータ圧縮処理２０３を連続して実行し、ＣＰＵ１１３に終了を通知する。その結果、ＣＰＵ１１３の制御下に、ＤＭＡＣ１１８が符号データを高速メモリ１１５からＲＡＭ１１７に転送し、通信インターフェース１０５が符号データをＲＡＭ１１７から相手コンピュータに送信する処理が行われる。
【００４４】
図３は、処理すべき画像に対するバンド分割の一例を示す図である。ＣＰＵ１１３は、処理すべき画像を、例えば図３に示すように多数のほぼ等値の小領域（これを以降「バンド」という）３０１に分割し、少なくとも１バンド３０１の画像データをＲＡＭ１１７に格納することで、バンド３０１毎の画像処理が行えるように制御する。以後に説明する画像処理は、バンド３０１毎に行われているとする。
【００４５】
図４は、図１に示す画像処理装置の起動時及びその後におけるＣＰＵの処理手順を説明するフローチャートである。なお、処理手順を示す「ステップ」は、以降、単に「Ｓ」と表記する。図４において、画像処理装置が起動すると、ＣＰＵ１１３は、ＤＭＡＣ１１８に対して、ＲＯＭ１１６に格納される実行制御用プログラムを高速メモリ１１５に転送する指示を発行し（Ｓ４０１）、ドキュメント処理の指示入力有無を監視する（Ｓ４０２）。ドキュメント処理が指示されると（Ｓ４０２：Ｙｅｓ）、指示されたドキュメント処理に応じた制御処理（データ転送処理、画像処理の開始指示発行、終了確認等）を実行する（Ｓ４０３）。そして、指示されたドキュメント処理に応じた画像処理の終了通知を受け取ると、Ｓ４０２に戻り、ドキュメント処理の指示入力有無を監視する。このように、ＣＰＵ１１３は、画像処理装置の起動時に高速メモリ１１５に実行制御用プログラムを格納し（Ｓ４０１）、その後は、ドキュメント処理の指示入力がある度（Ｓ４０２：Ｙｅｓ）にＳ４０３の処理を繰り返す。
【００４６】
図５は、図１に示す画像処理装置で実施するドキュメント処理の一つであるコピー処理時におけるＣＰＵの処理手順を説明するフローチャートである。つまり、図５では、図４に示すＳ４０３での処理内容の一例を示している。
【００４７】
図５において、ＣＰＵ１１３は、操作者による入力装置１０７の操作によってコピー処理の発生を認識すると、ＲＯＭ１１６に格納されている複数の実行順リストからコピー処理に対応した実行順リストを選択し、選択した実行順リストを高速メモリ１１５に転送する処理をＤＭＡＣ１１８に実行させる（Ｓ５０１）。ＤＭＡＣ１１８は、転送を終了すると、ＣＰＵ１１３に対して割り込みを発行して転送終了を通知する。
【００４８】
並行して、ＣＰＵ１１３は、スキャナインターフェース１０２を通してスキャナエンジン１０１に対して１バンド分の画像データを取得するように指示し、スキャナインターフェース１０２にその取得した画像データをＲＡＭ１１７に記憶させる（Ｓ５０２）。そして、ＣＰＵ１１３は、ＤＭＡＣ１１８に対して、１バンド分の画像データをＲＡＭ１１７から高速メモリ１１５に転送する指示を発行し（Ｓ５０３）、転送終了の割り込みを受け取ると、ＤＳＰ１１４に対して高速メモリ１１５に記憶された実行順リストに従った１バンド分の画像データについての画像処理を開始させる指示を発行し（Ｓ５０４）、ＤＳＰ１１４からの画像処理完了通知を待つ（Ｓ５０５）。ＣＰＵ１１３は、ＤＳＰ１１４から画像処理完了通知を示す割り込みを受け取るまでの間（Ｓ５０５：Ｎｏ）、他の制御処理、例えばスキャナエンジン１０１や、プリンタエンジン１０３、パネルコントローラ１０８などの制御を行う。
【００４９】
ＤＳＰ１１４から画像処理完了通知を受け取ると（Ｓ５０５：Ｙｅｓ）、ＣＰＵ１１３は、１ページ分の画像処理が完了したか否かを判定し（Ｓ５０６）、処理が終了していれば（Ｓ５０６：Ｙｅｓ）、プリンタインターフェース１０４に指示を出してプリンタエンジン１０３に画像データを印字させる（Ｓ５０７）。一方、Ｓ５０６において、１ページ分の処理が完了していなければ（Ｓ５０６：Ｎｏ）、１ページ分の処理が完了する（Ｓ５０６：Ｙｅｓ）まで、Ｓ５０２からＳ５０６の処理を繰り返す。
【００５０】
他のドキュメント処理におけるＣＰＵ１１３の動作は、コピー処理とは、画像データの入出力先及び選択する実行順リストが異なるのみであるので説明は省略する。
【００５１】
図６は、図１に示すＲＯＭに格納される実行順リストの一例を示す図である。図６に示す実行順リスト６０１は、複数行のディスクリプタ６０９〜６１５で構成される。ディスクリプタ６０９〜６１５には、それぞれ、１つの画像処理に関する情報がまとめられている。図６では、１つの画像処理に関する情報として、例えば、画像処理の番号６０２と、当該画像処理用プログラムを記憶するＲＯＭ１１６の先頭アドレス６０３と、当該画像処理用プログラムのサイズ６０４と、当該画像処理用プログラムの処理結果０，１，２，３に対する処理方法６０５，６０６，６０７，６０８とが示されている。処理方法６０５〜６０８では、画像処理結果０〜３に応じて「次に行う画像処理の番号６０２」が示されている。但し、次に実行する画像処理の番号が「２５５」の場合は処理を終了することを示している。
【００５２】
例えば、ディスクリプタ６１０では、画像処理番号６０２が「１」であり、画像処理用プログラムが格納されるＲＯＭ１１６の先頭アドレス６０３が「０ｘ００１００２００」であり、当該画像処理用プログラムのサイズ６０４が「０ｘ００００００３０バイト」である。そして、画像処理結果に対する処理方法６０５〜６０８は、「２」「４」「２５５」「２５５」となっている。
【００５３】
この場合の処理方法６０５〜６０８は、次の内容を示している。即ち、画像処理結果が「０」であれば、対する処理方法６０５は「２」であるので次は画像処理番号「２」の処理を行い、画像処理結果が「１」であれば、対する処理方法６０６は「４」であるので次は画像処理番号「４」の処理を行い、画像処理結果が「２」または「３」であれば、対する処理方法６０７，６０８は「２５５」であるので処理を終了することを示している。
【００５４】
このような実行順リスト６０１は、ファクス送信、ファクス受信、コピー、スキャン、プリントのドキュメント処理毎に用意されている。例えばコピー用の実行順リストでは、スキャナエンジン補正処理２０１、フィルター処理２０２、ズーム処理２０５、色変換処理２０６、プリンタエンジン補正処理２０７及び中間調処理２０８が順次実行されるようなものになっており、各処理に対して１つのディスクリプタが存在する。
【００５５】
図７は、図１に示す画像処理装置で実施する画像処理時におけるＤＳＰの処理手順を説明するフローチャートである。なお、図７に示す処理手順は、起動時に図４に示した手順（Ｓ４０１）で高速メモリ１１５に転送記憶された実行制御用プログラムの内容である。ＤＳＰ１１４は、その実行制御用プログラムに従って画像処理を実行する。
【００５６】
図７において、Ｓ７０１の処理は、ＣＰＵ１１３が、図４に示した手順（Ｓ４０３）において実行する処理の一部である。即ち、ＣＰＵ１１３は、あるドキュメント処理の実行指示を受けて（Ｓ４０２：Ｙｅｓ）、Ｓ４０３では、まず、ＤＭＡＣ１１８に対して、ＲＡＭ１１７に格納されている１バンド分の画像データを高速メモリ１１５に転送する指示を発行し、併せて、図５に示した手順（Ｓ５０１）も実行し、ＤＭＡＣ１１８に依頼して対応する実行順リストを高速メモリ１１５に転送させている。そして、ＣＰＵ１１３は、ＤＭＡＣ１１８から転送完了通知の割り込みを受け取ると、ＤＳＰ１１４に対して１バンド分の画像処理の開始を指示する割り込みを発行する。
【００５７】
そこで、ＤＳＰ１１４は、ＣＰＵ１１３から１バンド分の画像処理を開始する指示（割り込み）を受け取ると、高速メモリ１１５に保存されている実行順リストの先頭のディスクリプタを選択する。図６を参照すると、ディスクリプタ６０９が選択される（Ｓ７０２）。
【００５８】
ＤＳＰ１１４は、その選択したディスクリプタ６０９に示された画像処理用プログラムのＲＯＭ１１６における先頭アドレス６０３「０ｘ００１０００００」と、サイズ６０４「０ｘ００００００Ａ０」とをＤＭＡＣ１１８に示して、ＲＯＭ１１６から高速メモリ１１５に転送するように指示を出す（Ｓ７０３）。
【００５９】
ＤＳＰ１１４は、ＤＭＡＣ１１８から転送完了を通知する割り込みを受け取ると、ＤＭＡＣ１１８が高速メモリ１１５に転送した画像処理用プログラムに従い、Ｓ７０１において高速メモリ１１５に転送した１バンド分の画像データに対して画像処理を行い、処理した画像データを高速メモリ１１５に記憶させ（Ｓ７０４）、画像処理用プログラムの処理結果に応じて次のディスクリプタを選択し（Ｓ７０５）、次のディスクリプタが存在するか否かを調べる（Ｓ７０６）。
【００６０】
その結果、次のディスクリプタが存在する場合（Ｓ７０６：Ｙｅｓ）は、Ｓ７０３からＳ７０６の処理を繰り返すが、次のディスクリプタが存在しない場合（Ｓ７０６：Ｎｏ）は、ＤＭＡＣ１１８に対し処理した画像データを高速メモリ１１５からＲＡＭ１１７に転送するように指示を出し（Ｓ７０７）、ＤＭＡＣ１１８から転送完了を通知する割り込みを受け取ると、割り込みコントローラ１１９に対し、ＣＰＵ１１３に対して画像処理が完了したことを通知する割り込みの発行を依頼する（Ｓ７０８）。
【００６１】
図６を参照して具体的に説明する。Ｓ７０５での「次のディスクリプタ選択」は、Ｓ７０４での画像処理結果に基づき行われる。そして、Ｓ７０６での「次のディスクリプタあるか」の判定は、その選択したディスクリプタでの処理方法６０５〜６０８の内容に基づき行われる。
【００６２】
実行順リスト６０１の先頭にあるディスクリプタ６０９で指示された画像処理の処理結果が「１」であれば対する処理方法６０６は、「１」であるので、Ｓ７０５では、画像処理番号１の処理、即ち、ディスクリプタ６１０が選択される。そして、そのディスクリプタ６１０で指示された画像処理の処理結果が「０」の場合は、対する処理方法６０５は、「２」であるので、Ｓ７０５では、画像処理番号２の処理、即ち、ディスクリプタ６１１の処理が選択される。一方、そのディスクリプタ６１０で指示された画像処理の処理結果が「２または３」の場合、対する処理方法６０７，６０８は、「２５５」であるので、Ｓ７０６では画像処理終了と判定される（７０６：Ｎｏ）。
【００６３】
Ｓ７０５にてディスクリプタ６１１の処理が選択されると、ディスクリプタ６１２〜ディスクリプタ６１４での処理方法６０５〜６０８には、終了番号「２５５」はないので、以降、同様の手順で、ディスクリプタ６１２〜ディスクリプタ６１５が順次選択される。そして、ディスクリプタ６１５で示された画像処理では、処理結果が「０」から「３」の何れの場合であっても、対する処理方法６０５〜６０８は、「２５５」であるので、Ｓ７０６では画像処理終了と判定される（７０６：Ｎｏ）。
【００６４】
このように、ＤＳＰ１１４は、ＣＰＵ１１３から画像処理の開始指示を受け取ると、ＣＰＵ１１３の指示を受けることなく、高速メモリ１１５に記憶された実行順リストに従って複数の画像処理を連続して行うことができる。ＣＰＵ１１３に入力される割り込みは、この連続した複数の画像処理の完了時に１回だけであるので、ＣＰＵ１１３の処理負荷が大幅に軽減される。
【００６５】
したがって、この実施の形態１によれば、主に装置制御を行う第１の処理手段であるＣＰＵ１１３のパフォーマンスの低下を抑制しつつ、多数の小領域（バンド）に分割した処理対象画像に対する複数の画像処理を第２の処理手段であるＤＳＰ１１４に実行させることができるので、高速で低価格の画像処理装置を実現することができる。
【００６６】
ここで、この実施の形態１にて実施される画像処理方法を示すと、「ＲＯＭ１１６に複数の画像処理の実行順序を示した複数の実行順リストと画像処理用の複数のプログラムとを用意する第１の工程と」、ＣＰＵ１１３にて実行されるＳ５０１での「複数の画像処理の実行順序を示した複数の実行順リストから１つの実行順リストを選択する工程」と、ＤＳＰ１１４にて実行されるＳ７０３での「対応する画像処理用プログラムを第２の記憶手段に転送する工程」と、ＤＳＰ１１４にて実行されるＳ７０４での「転送した画像処理用プログラムを実行する工程」と、ＤＳＰ１１４におけるＳ７０３からＳ７０６での「実行順リストに示された画像処理を実行順に繰り返す工程」とを含んでいる。そして、画像処理用プログラムは、それらの各工程をコンピュータが実行可能に記述したものである。
【００６７】
なお、この実施の形態１で示している第１の処理手段であるＣＰＵ１１３と第２の処理手段であるＤＳＰ１１４は、それぞれ単一のプロセッサとすべき必然性はない。例えば、それぞれの処理手段が複数のＩＣチップによって構成されていてもよい。また、これらのプロセッサは、それぞれが個別に存在せず、それぞれのプロセッサのコアを単一のＩＣ内にまとめて構成するようにしてもよい。
【００６８】
また、この実施の形態１では、ＲＯＭ１１６に予め記憶しておいた実行制御用プログラム及び画像処理用プログラムを使用すると説明したが、それらのプログラムを初期化処理などでＲＡＭ１１７に転送し、ＲＡＭ１１７に記憶したプログラムを使用するようにしてもよい。この場合には、ＲＡＭ１１７が第１の記憶手段となると言える。
【００６９】
さらに、ＤＳＰ１１４は、ＣＰＵバス１２０を使用して、ＲＡＭ１１７のデータを直接入力し、またＲＡＭ１１７に直接出力する構成でもよい。画像処理時間は増大するが、それを問題としない場合は装置構成の簡素化の点で有効な措置となる。
【００７０】
さらに、高速メモリ１１５に、ＣＰＵ１１３が選択した実行順リストと、ＤＳＰ１１４が実行するプログラムと、ＤＳＰ１１４が画像処理を行う際の入出力データとを記憶すると説明したが、これらは別のメモリに記憶してもよい。
【００７１】
（実施の形態２）
図８は、本発明の実施の形態２による画像処理装置の構成を示すブロック図である。なお、図８では、図１（実施の形態１）に示した構成要素と同一ないしは同等である構成要素には同一の符号が付されている。ここでは、この実施の形態２に関わる部分を中心に説明する。
【００７２】
図８に示すように、この実施の形態２による画像処理装置８００は、図１（実施の形態１）に示したＣＰＵ１１３に代えたＣＰＵ８０１を中心に構成される。このＣＰＵ８０１が管理するＣＰＵバス１２０に代えたＣＰＵバス８０８には、図１（実施の形態１）に示したセンサインターフェース１１２，外部記憶インターフェース１１０，スキャナインターフェース１０２，プリンタインターフェース１０４，パネルコントローラ１０８，ＲＡＭ１１７及び通信インターフェース１０５と、ＲＯＭ１１６に代えたＲＯＭ８０５と、割り込みコントローラ１１９に代えた割り込みコントローラ８０７と、ＤＳＰ１１４及び高速メモリ１１５に代えたサブＣＰＵ８０２，高速メモリ８０４及びリコンフィギャラブルプロセッサ８０３と、ＤＭＡＣ１１８に代えたＤＭＡＣ８０６とが接続されている。
【００７３】
ＣＰＵ８０１は、ＣＰＵ１１３と同様に、第１の処理手段としてのマイクロプロセッサであり、スキャナエンジン１０１、プリンタエンジン１０３、通信インターフェース１０５、表示装置１０６及び入力装置１０７を同様に制御して、画像処理以外の全ての装置制御処理を実行するとともに、複数の実行順リストから実行すべき実行順リストを選択し、また第２の処理手段であるサブＣＰＵ８０１に対して処理の開始を指示する等の制御動作を行うように構成されている。
【００７４】
サブＣＰＵ８０２は、第２の処理手段としてのプロセッサである。また、リコンフィギャラブルプロセッサ８０３は、第３の処理手段としてのプロセッサである。両者は、それぞれ、第２の記憶手段としての高速メモリ８０４と専用の高速バスで接続されている。この構成によってサブＣＰＵ８０２とリコンフィギャラブルプロセッサ８０３は、協働して図１（実施の形態１）に示したＤＳＰ１１４の機能を実現する。
【００７５】
サブＣＰＵ８０２は、高速メモリ８０４に記憶されたサブＣＰＵ８０２用の実行制御プログラムに基づき、高速メモリ８０４に記憶されたＣＰＵ８０１が選択した実行順リストを解釈して次に実行する画像処理を決定し、その画像処理に対応した画像処理用構成情報のＲＯＭ８０５から高速メモリ８０４への転送処理をＤＭＡＣ８０６に依頼する動作、リコンフィギャラブルプロセッサ８０３に対して処理の開始を指示する動作などを行うように構成されている。
【００７６】
リコンフィギャラブルプロセッサ８０３は、具体的な構成は後述するが、高速メモリ８０４に記憶された画像処理用構成情報に従って内部のハードウェア構成を動的に再構成することができるプロセッサであり、サブＣＰＵ８０２から指示された画像処理を高速メモリ８０４に記憶された実行順リストに従って実行する。
【００７７】
高速メモリ８０４は、少容量ながらサブＣＰＵ８０２及びリコンフィギャラブルプロセッサ８０３の動作速度以上の高速で読み書き可能なノーウエイトメモリで構成され、サブＣＰＵ８０２用の実行制御プログラムと、ＣＰＵ８０１にて選択された実行順リストと、リコンフィギャラブルプロセッサ８０３の画像処理用構成情報と、リコンフィギャラブルプロセッサ８０３が画像処理を行う際の入出力データとを記憶する。
【００７８】
第１の記憶手段としてのＲＯＭ８０５は、少なくともＣＰＵ８０１が実行する制御プログラムと、リコンフィギャラブルプロセッサ８０３用の複数の画像処理用構成情報と、サブＣＰＵ８０２用の実行制御用プログラムと、複数の実行順リストとが記憶されている。
【００７９】
ＤＭＡＣ８０６は、ＲＯＭ８０５及びＲＡＭ１１７と高速メモリ８０４との間のデータ転送を行う。
【００８０】
割り込みコントローラ８０７は、センサインターフェース１１２、外部記憶インターフェース１１０、スキャナインターフェース１０２、プリンタインターフェース１０４、パネルコントローラ１０８、通信インターフェース１０５、サブＣＰＵ８０２及びＤＭＡＣ８０６からＣＰＵ８０１への割り込み信号を調停する。
【００８１】
ここで、リコンフィギャラブルプロセッサ８０３の構成について詳細に説明する。リコンフィギャラブルプロセッサ８０３は、入出力インターフェース、メモリ、複数のプロセッサエレメント及びそれらを選択的に結線する信号線から構成される。１つのプロセッサエレメントは、ＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  ａｎｄ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）、乗算器、レジスタ、セレクタ及びそれらをつなぐ信号線から構成される。それぞれのプロセッサエレメントの機能及び入出力インターフェース、メモリ、プロセッサエレメント間の接続は、画像処理用構成情報によって決定される。
【００８２】
例えば、積和演算機能を実現する場合、第１のプロセッサエレメントは、第１の入力を入力インターフェースに接続し、第２の入力を第２のプロセッサエレメントの出力に接続し、その２つの入力を乗算器にて乗算し、その結果を出力するように構成する。第２のプロセッサエレメントは、第１の入力を第１のプロセッサエレメントの出力に接続し、第２の入力をメモリに接続し、その２つの入力をＡＬＵにて加算し、その結果を出力インターフェースとメモリとに出力するように構成する。つまり、第１のプロセッサエレメントで乗算機能を、第２のプロセッサエレメントで加算機能を実現し、それらを接続して積和機能を実現する。
【００８３】
このように、リコンフィギャラブルプロセッサ８０３は、高速メモリ８０４に記憶された画像処理用構成情報に基づき内部のハードウェア構成を動的に再構成する。再構成されたリコンフィギャラブルプロセッサ８０３の振る舞いは、プロセッサではなく専用ハードウェアに近いものとなる。したがって、複数の画像処理用構成情報を切り替えることによって、複数の専用ハードウェアが存在するかのように扱うことが可能となる。
【００８４】
さて、この実施の形態２による画像処理装置８００にて実施されるドキュメント処理（ファクス受信、ファクス送信、コピー、プリント、スキャン）時における画像処理の流れは、図２と同様であるが、そこでの画像処理は、リコンフィギャラブルプロセッサ８０３が、ＤＳＰ１１４と同様に、図３に示すようにバンド３０１に分割された画像の各データを処理することで実現する。
【００８５】
また、この実施の形態２による画像処理装置８００の起動時及びその後におけるＣＰＵ８０１の処理手順は、図４及び図５と同様である。即ち、画像処理装置８００の起動時では、図４に示すＳ４０１での実行制御用プログラムをサブＣＰＵ８０２用の実行制御用プログラム及び画像処理用構成情報と読み替えることで適用できる。また、画像処理装置８００の起動後においてドキュメント処理が指示されたときにＣＰＵ８０１が実行する画像処理に関する転送制御である図４に示すＳ４０３の処理は、図５に例示する手順で実行されるが、図５においてＤＳＰ１１４をサブＣＰＵ８０２と読み替えることで適用できる。そして、この実施の形態２にて用いる実行順リストは、図６に示す各ディスクリプタにおいて、画像処理用プログラムを画像処理用構成情報と読み替えることで適用できる。
【００８６】
したがって、以下では、ＤＳＰ１１４の画像処理動作（図７）に対応する動作を実現するサブＣＰＵ８０２の動作について図９を参照して説明する。なお、図９は、図８に示す画像処理装置の画像処理時におけるサブＣＰＵの処理手順を説明するフローチャートである。図９に示す処理手順は、起動時に図４に示した手順（Ｓ４０１）で高速メモリ８０４に転送記憶されたサブＣＰＵ８０２用の実行制御用プログラムの内容である。
【００８７】
図９において、Ｓ９０１の処理は、ＣＰＵ８０１が、図４に示した手順（Ｓ４０３）において実行する処理の一部である。即ち、ＣＰＵ８０１は、あるドキュメント処理の実行指示を受けて（Ｓ４０２：Ｙｅｓ）、Ｓ４０３では、まず、ＤＭＡＣ８０６に対して、ＲＡＭ１１７に格納されている１バンド分の画像データを高速メモリ８０４に転送する指示を発行し、併せて、図５に示した手順（Ｓ５０１）も実行し、ＤＭＡＣ８０６に依頼して対応する実行順リストを高速メモリ８０４に転送させている。そして、ＣＰＵ８０１は、ＤＭＡＣ８０６から転送完了通知の割り込みを受け取ると、サブＣＰＵ８０２に対して１バンド分の画像処理の開始を指示する割り込みを発行する。
【００８８】
そこで、サブＣＰＵ８０２は、ＣＰＵ８０１から１バンド分の画像処理を開始する指示（割り込み）を受け取ると、図４に示した手順（Ｓ４０３）において高速メモリ８０４に保存された実行順リストの先頭のディスクリプタを選択する。図６を参照すると、ディスクリプタ６０９が選択される（Ｓ９０２）。
【００８９】
サブＣＰＵ８０２は、その選択したディスクリプタ６０９に示された画像処理用構成情報のＲＯＭ８０５における先頭アドレス６０３「０ｘ００１０００００」とサイズ６０４「０ｘ００００００Ａ０」とをＤＭＡＣ８０６に示して、ＲＯＭ８０５から高速メモリ８０４に転送するように指示を出す（Ｓ９０３）。
【００９０】
サブＣＰＵ８０２は、ＤＭＡＣ８０６から転送完了を通知する割り込みを受け取ると、リコンフィギャラブルプロセッサ８０３に対して画像処理の開始を指示し（Ｓ９０４）、画像処理が完了するのを待つ（Ｓ９０５）。
【００９１】
リコンフィギャラブルプロセッサ８０３は、サブＣＰＵ８０２から開始指示を受けて、ＤＭＡＣ８０６が高速メモリ８０４に転送した画像処理用構成情報に従ってハードウェア構成を定め、Ｓ９０１において高速メモリ８０４に転送した１バンド分の画像データに対して画像処理を行い、処理した画像データを高速メモリ８０４に記憶させると、サブＣＰＵ８０２に処理の完了を通知する。
【００９２】
サブＣＰＵ８０２は、リコンフィギャラブルプロセッサ８０３から処理完了の通知を受け取ると（Ｓ９０５：Ｙｅｓ）、リコンフィギャラブルプロセッサ８０３の処理結果に応じて次のディスクリプタを選択し（Ｓ９０６）、次のディスクリプタが存在するか否かを調べる（Ｓ９０７）。
【００９３】
その結果、次のディスクリプタが存在する場合（Ｓ９０７：Ｙｅｓ）は、Ｓ９０３からＳ９０７の処理を繰り返すが、次のディスクリプタが存在しない場合（Ｓ９０７：Ｎｏ）は、ＤＭＡＣ８０６に対し処理した画像データを高速メモリ８０４からＲＡＭ１１７に転送するように指示（割り込み）を出し（Ｓ９０８）、ＤＭＡＣ８０６から転送完了を通知する割り込みを受け取ると、割り込みコントローラ８０７に対し、ＣＰＵ８０１に対して画像処理が完了したことを通知する割り込みの発行を依頼する（Ｓ９０９）。
【００９４】
図６を参照して具体的に説明する。Ｓ９０６での「次のディスクリプタ選択処理」は、リコンフィギャラブルプロセッサ８０３での画像処理結果に基づき行われる。そして、Ｓ９０７での「次のディスクリプタあるか」の判定処理は、その選択したディスクリプタでの処理方法６０５〜６０８の内容に基づき行われる。
【００９５】
実行順リスト６０１の先頭にあるディスクリプタ６０９で指示された画像処理の処理結果が「１」であれば対する処理方法６０６は、「１」であるので、Ｓ９０６では、画像処理番号１の処理、即ち、ディスクリプタ６１０が選択される。そして、そのディスクリプタ６１０で指示された画像処理の処理結果が「０」の場合は、対する処理方法６０５は、「２」であるので、Ｓ９０６では、画像処理番号２の処理、即ち、ディスクリプタ６１１の処理が選択される。一方、そのディスクリプタ６１０で指示された画像処理の処理結果が「２または３」の場合、対する処理方法６０７，６０８は、「２５５」であるので、Ｓ９０７では画像処理終了と判定される（Ｓ９０７：Ｎｏ）。
【００９６】
Ｓ９０６にてディスクリプタ６１１の処理が選択され、Ｓ９０７での判定が肯定（Ｓ９０７：Ｙｅｓ）であると、以降、同様の手順で、ディスクリプタ６１２〜６１５が順次選択される。そして、ディスクリプタ６１５で示された画像処理では、処理結果が「０」から「３」の何れの場合であっても対する処理方法６０５〜６０８は、「２５５」であるので、Ｓ９０７では画像処理終了と判定される（Ｓ９０７：Ｎｏ）。
【００９７】
以上説明したように、サブＣＰＵ８０２は、ＣＰＵ８０１から画像処理の開始指示を受け取ると、高速メモリ８０４に構成情報を用意してリコンフィギャラブルプロセッサ８０３に画像処理の開始指示を出し、リコンフィギャラブルプロセッサ８０３が高速メモリ８０４に記憶された構成情報に従って再構成しながらの複数の画像処理を、ＣＰＵ８０１の指示を受けることなく連続して行うことができる。ＣＰＵ８０１に入力される割り込みは、この連続した複数の画像処理の完了時に１回だけであるので、ＣＰＵ８０１の処理負荷が大幅に軽減される。
【００９８】
したがって、この実施の形態２によれば、主に装置制御を行う第１の処理手段であるＣＰＵ８０１のパフォーマンスの低下を抑制しつつ、多数の小領域（バンド）に分割した処理対象画像に対する複数の画像処理を第２の処理手段であるサブＣＰＵ８０２と第３の処理手段であるリコンフィギャラブルプロセッサ８０３との協働で実行することができるので、実施の形態１と同様に、高速で低価格の画像処理装置を実現することができる。
【００９９】
加えて、この実施の形態２によれば、第３の処理手段であるリコンフィギャラブルプロセッサ８０３は、画像処理用構成情報に応じてハードウェア構成を変更できるので、画像処理の自由度を向上させることができる。
【０１００】
ここで、この実施の形態２にて実施される画像処理方法を示すと、画像処理を実施するハードウェアの構成を構成情報に応じて変更できる処理手段（リコンフィギャラブルプロセッサ８０３）を備える画像処理装置における画像処理方法であって、「複数の画像処理の実行順を示した複数の実行順リストと画像処理を行うための複数の前記構成情報とを第１の記憶手段（ＲＯＭ８０５）に用意する工程」と、ＣＰＵ８０１が「ＲＯＭ８０５が記憶する前記複数の実行順リストから１つの実行順リストを選択して画像処理の開始指示を発行する工程」と、サブＣＰＵ８０２が「前記画像処理の開始指示を受けて（ＤＭＡＣ８０６に転送を依頼して）ＣＰＵ８０１が選択した１つの実行順リストに示された画像処理の実行順に従った構成情報をＲＯＭ８０５から第２の記憶手段（高速メモリ８０４）に転送する工程」と、サブＣＰＵ８０２がＤＭＡＣ８０６から受け取る「高速メモリ８０４への転送処理終了に応答してリコンフィギャラブルプロセッサ８０３に対し開始指示を与えて高速メモリ８０４に記憶された前記構成情報の読み取りを行わせる工程」と、サブＣＰＵ８０２が「リコンフィギャラブルプロセッサ８０３が実施した画像処理の結果と前記選択された１つの実行順リストとの両方に基づいて、次の画像処理で用いる前記構成情報の選択可否を判断し、選択できる場合はその選択できた構成情報を前記第２の記憶手段に転送記憶させる依頼を発行し、選択できない場合は前記処理手段での画像処理の終了処理（ＣＰＵ８０１への通知処理）を行う工程」とを含んでいる。そして、画像処理用プログラムは、それらの各工程をコンピュータが実行可能に記述したものである。
【０１０１】
なお、この実施の形態２で示している第１の処理手段であるＣＰＵ８０１と第２の処理手段であるサブＣＰＵ８０２と第３の処理手段であるリコンフィギャラブルプロセッサ８０３は、それぞれ単一のプロセッサとすべき必然性はない。例えば、それぞれの処理手段が複数のＩＣチップによって構成されていてもよい。また、これらのプロセッサは、それぞれが個別に存在せず、それぞれのプロセッサのコアを単一のＩＣ内にまとめて構成するようにしてもよい。
【０１０２】
また、ＲＯＭ８０５に記憶している実行制御用プログラム及び構成情報を使用するとして説明したが、それらを初期化処理などでＲＯＭ８０５からＲＡＭ１１７に転送し、ＲＡＭ１１７に記憶した実行制御用プログラム及び構成情報を使用するようにしてもよい。この場合には、ＲＡＭ１１７が第１の記憶手段であると言える。
【０１０３】
また、ＣＰＵ８０１は、実行順リストをＲＯＭ８０５から高速メモリ８０４に転送すると説明したが、初期化処理などでＲＡＭ１１７に格納し、格納したアドレスをサブＣＰＵ８０２に通知するようにしてもよい。また、実行順リストに一意の記号を付し、その記号で指定してもよい。つまり、サブＣＰＵ８０２が１つの実行順リストを特定できさえすればよく、その形式は問わない。
【０１０４】
また、高速メモリ８０４に、ＣＰＵ８０１によって選択された実行順リストと、サブＣＰＵ８０２が実行するプログラムと、リコンフィギャラブルプロセッサ８０３用の構成情報と、リコンフィギャラブルプロセッサ８０３が画像処理を行う際の入出力データとを記憶すると説明したが、これらは別のメモリに記憶してもよい。
【０１０５】
さらに、リコンフィギャラブルプロセッサ８０３は、ＣＰＵバス８０９を使用して、ＲＡＭ１１７のデータを直接入力し、またＲＡＭ１１７に直接出力する構成でもよい。画像処理時間は増大するが、それを問題としない場合は装置構成の簡素化の点で有効な措置となる。
【０１０６】
（実施の形態３）
図１０は、本発明の実施の形態３による画像処理装置の構成を示すブロック図である。なお、図１０では、図１（実施の形態１）に示した構成要素と同一ないしは同等である構成要素には同一の符号が付されている。ここでは、この実施の形態３に関わる部分を中心に説明する。
【０１０７】
図１０に示すように、この実施の形態３による画像処理装置１０００は、図１（実施の形態１）に示したＣＰＵ１１３に代えたＣＰＵ１００１を中心に構成される。このＣＰＵ１００１が管理するＣＰＵバス１２０に代えたＣＰＵバス１００７には、図１（実施の形態１）に示したセンサインターフェース１１２，外部記憶インターフェース１１０，スキャナインターフェース１０２，プリンタインターフェース１０４，パネルコントローラ１０８，ＲＡＭ１１７及び通信インターフェース１０５と、ＲＯＭ１１６に代えたＲＯＭ１００４と、割り込みコントローラ１１９に代えた割り込みコントローラ１００６と、ＤＳＰ１１４，高速メモリ１１５、及びにＤＭＡＣ１１８代えた高速メモリ１００３，リコンフィギャラブルプロセッサ１００２及びＤＭＡＣ１００５とが接続されている。
【０１０８】
また、高速メモリ１００３とリコンフィギャラブルプロセッサ１００２との間、及び高速メモリ１００３とＤＭＡＣ１００５との間は、それぞれ専用の高速バスで接続されている。
【０１０９】
ＣＰＵ１００１は、ＣＰＵ１１３と同様に、第１の処理手段としてのマイクロプロセッサであり、スキャナエンジン１０１、プリンタエンジン１０３、通信インターフェース１０５、表示装置１０６及び入力装置１０７を同様に制御して、画像処理以外の全ての装置制御処理を実行するとともに、複数の実行順リストから実行すべき実行順リストを選択し、また第２の処理手段であるリコンフィギャラブルプロセッサ１００２に対して画像処理の開始を指示する等の制御動作を行うように構成されている。
【０１１０】
第２の記憶手段としての高速メモリ１００３は、少容量ながらリコンフィギャラブルプロセッサ１００２の動作速度以上の高速で読み書き可能なノーウエイトメモリで構成され、リコンフィギャラブルプロセッサ１００２の構成情報（実行制御用構成情報及び画像処理用構成情報）と、ＣＰＵ８０１にて選択された実行順リストと、リコンフィギャラブルプロセッサ１００２が画像処理を行う際の入出力データとを記憶する。
【０１１１】
第１の記憶手段としてのＲＯＭ１００４は、少なくともＣＰＵ１００１が実行する制御プログラムと、リコンフィギャラブルプロセッサ１００２用の複数の構成情報（実行制御用構成情報及び画像処理用構成情報）と、複数の実行順リストとが記憶されている。
【０１１２】
ＤＭＡＣ１００５は、リコンフィギャラブルプロセッサ１００２からの依頼に基づきＲＯＭ１００４及びＲＡＭ１１７と高速メモリ１００３との間のデータ転送を行う。
【０１１３】
割り込みコントローラ１００６は、センサインターフェース１１２、外部記憶インターフェース１１０、スキャナインターフェース１０２、プリンタインターフェース１０４、パネルコントローラ１０８、通信インターフェース１０５及びＤＭＡＣ１００５からＣＰＵ１００１への割り込み信号を調停する。
【０１１４】
さて、リコンフィギャラブルプロセッサ１００２は、第２の処理手段としてのプロセッサである。基本的な構成は、図８（実施の形態２）に示したリコンフィギャラブルプロセッサ８０３と同様であるが、この実施の形態３によるリコンフィギャラブルプロセッサ１００２は、「ＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  ａｎｄ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）、乗算器、レジスタ、セレクタ及びそれらをつなぐ信号線から構成される」プロセッサエレメントの複数個からなるプロセッサブロックを１単位としそれの複数個で構成される。
【０１１５】
そして、複数のプロセッサブロックは、高速メモリ１００３に記憶された構成情報に従って、その１プロセッサブロック毎に、内部のハードウェア構成を動的に再構成することができるが、画像処理を実施する画像処理プロセッサブロックと、その画像処理プロセッサブロックでの画像処理の実行を制御する実行制御プロセッサブロックとが構成されるようになっている。
【０１１６】
つまり、この実施の形態３では、リコンフィギャラブルプロセッサ１００２は、装置の初期化処理時などにおいてＲＯＭ１００４から高速メモリ１００３に転送される実行制御用構成情報に従って対応する実行制御プロセッサブロックが構成され、ＣＰＵ１００１から画像処理の開始指示を受け取ると、その実行制御プロセッサブロックが、高速メモリ１００３に記憶された実行順リストを解釈して次に実行する画像処理を決定し、ＤＭＡＣ１００５に依頼してその画像処理に対応した構成情報をＲＯＭ１００４から高速メモリ１００３に転送させ、高速メモリ１００３に画像処理用の構成情報を用意する。すると、高速メモリ１００３に記憶された画像処理用構成情報に従って対応する画像処理プロセッサブロックが構成され、その画像処理プロセッサブロックが画像処理を行うように構成されている。
【０１１７】
ここで、この実施の形態３による画像処理装置１０００にて実施されるドキュメント処理（ファクス受信、ファクス送信、コピー、プリント、スキャン）時における画像処理の流れは、図２と同様であるが、そこでの画像処理は、リコンフィギャラブルプロセッサ１００２の「画像処理プロセッサブロック」が、ＤＳＰ１１４と同様に、図３に示すようにバンド３０１に分割された画像の各データを処理することで実現する。
【０１１８】
また、この実施の形態３による画像処理装置１０００の起動時及びその後におけるＣＰＵ１００１の処理手順は、図４及び図５と同様である。即ち、画像処理装置１０００の起動時では、図４に示すＳ４０１での実行制御用プログラムを、リコンフィギャラブルプロセッサ１００２用の構成情報（実行制御用構成情報）と読み替えることで適用できる。また、画像処理装置１０００の起動後においてドキュメント処理が指示されたときにＣＰＵ１００１が実行する画像処理に関する転送制御である図４に示すＳ４０３の処理は、図５に例示する手順で実行されるが、図５においてＤＳＰ１１４をリコンフィギャラブルプロセッサ１００２と読み替えることで適用できる。そして、この実施の形態３にて用いる実行順リストは、実施の形態２と同様に、図６に示す各ディスクリプタにおいて、画像処理用プログラムを画像処理用構成情報と読み替えることで適用できる。
【０１１９】
したがって、以下では、図１１を参照してリコンフィギャラブルプロセッサ１００２の「実行制御プロセッサブロック」について説明する。なお、図１１は、図１０に示すリコンフィギャラブルプロセッサの実行制御プロセッサブロックでの処理手順を説明するフローチャートである。図１１に示す処理手順は、起動時に図４に示した手順（Ｓ４０１）で高速メモリ１００３に転送記憶された実行制御用構成情報の内容であり、リコンフィギャラブルプロセッサ１００２に対応する「実行制御プロセッサブロック」を構成させる指示と、その構成した「実行制御プロセッサブロック」で行われる処理の手順とが示されている。
【０１２０】
図１１において、Ｓ１１０１の処理は、ＣＰＵ１００１が、図４に示した手順（Ｓ４０３）において実行する処理の一部である。即ち、ＣＰＵ１００１は、あるドキュメント処理の実行指示を受けて（Ｓ４０２：Ｙｅｓ）、Ｓ４０３では、まず、ＤＭＡＣ１００５に対して、ＲＡＭ１１７に格納されている１バンド分の画像データを高速メモリ１００３に転送する指示を発行し、併せて、図５に示した手順（Ｓ５０１）も実行し、ＤＭＡＣ１００５に依頼して対応する実行順リストを高速メモリ１００３に転送させている。そして、ＣＰＵ１００１は、ＤＭＡＣ１００５から転送完了通知の割り込みを受け取ると、リコンフィギャラブルプロセッサ１００２に対して１バンド分の画像処理の開始を指示する割り込みを発行する。
【０１２１】
そこで、リコンフィギャラブルプロセッサ１００２は、図４に示した手順（Ｓ４０１）において高速メモリ１００３に保存された実行制御用構成情報に従って実行制御プロセッサブロックを構成している状態において、ＣＰＵ１００１から１バンド分の画像処理を開始する指示（割り込み）を受け取ると、その制御プロセッサブロックにおいて、Ｓ１１０２〜Ｓ１１０９の各処理を行う。
【０１２２】
即ち、実行制御プロセッサブロックは、図４に示した手順（Ｓ４０３）において高速メモリ１００３に保存された実行順リストの先頭のディスクリプタを選択する。図６を参照すると、ディスクリプタ６０９が選択される（Ｓ１１０２）。
【０１２３】
制御プロセッサブロックは、その選択したディスクリプタ６０９に示された画像処理用構成情報のＲＯＭ１００４における先頭アドレス６０３「０ｘ００１０００００」とサイズ６０４「０ｘ００００００Ａ０」とをＤＭＡＣ１００５に示して、ＲＯＭ１００４から高速メモリ１００３に転送するように指示（割り込み）を出し、高速メモリ１００３に選択したディスクリプタに対する画像処理用構成情報を用意する（Ｓ１１０３）。すると、リコンフィギャラブルプロセッサ１００２では、高速メモリ１００３に用意され画像処理用構成情報に従って画像処理プロセッサブロックが構成されるので、制御プロセッサブロックは、その画像処理プロセッサブロックに対して、Ｓ１１０１において高速メモリ１００３に転送した１バンド分の画像データに対して画像処理を行い、処理した画像データを高速メモリ１００３に記憶させるように指示し（Ｓ１１０４）、画像処理が完了するのを待つ（Ｓ１１０５）。
【０１２４】
実行制御プロセッサブロックは、画像処理プロセッサブロックでの画像処理が完了すると（Ｓ１１０５：Ｙｅｓ）、その画像処理の処理結果に応じて次のディスクリプタを選択し（Ｓ１１０６）、次のディスクリプタが存在するか否かを調べる（Ｓ１１０７）。
【０１２５】
その結果、次のディスクリプタが存在する場合（Ｓ１１０７：Ｙｅｓ）は、Ｓ１１０３からＳ１１０７の処理を繰り返すが、次のディスクリプタが存在しない場合（Ｓ１１０７：Ｎｏ）は、ＤＭＡＣ１００５に対し処理した画像データを高速メモリ１００３からＲＡＭ１１７に転送するように指示（割り込み）を出し（Ｓ１１０８）、ＤＭＡＣ１００５から転送完了を通知する割り込みを受け取ると、割り込みコントローラ１００６に対し、ＣＰＵ１００１に対して画像処理が完了したことを通知する割り込みの発行を依頼する（Ｓ１１０９）。
【０１２６】
なお、実行順リストにおけるディスクリプタ選択処理（Ｓ１１０６）と画像処理での次候補有無の判定処理（Ｓ１１０７）は、実施の形態２にて説明したのと同様の手順で行われるので、説明を割愛する。
【０１２７】
以上説明したように、リコンフィギャラブルプロセッサ１００２は、まず、実行制御プロセッサブロックが構成され、その後、ＣＰＵ１００１から画像処理の開始指示を受け取ると、その実行制御プロセッサブロックが高速メモリ１００３に記憶された実行順リストに従って画像処理プロセッサブロックを構成する構成情報を高速メモリ１００３に用意することを繰り返すことで、ＣＰＵ１００１の指示を受けることなく、画像処理プロセッサブロックを再構成しながら複数の画像処理を連続して行うことができる。ＣＰＵ１００１に入力される割り込みは、この連続した複数の画像処理の完了時に１回だけであるので、ＣＰＵ１００１の処理負荷が大幅に軽減される。
【０１２８】
したがって、この実施の形態３によれば、第１の処理手段であるＣＰＵ１００１のパフォーマンスの低下を抑制しつつ、多数の小領域（バンド）に分割した画像に対する複数の画像処理を第２の処理手段であるリコンフィギャラブルプロセッサ１００２で実行することができるので、実施の形態１と同様に、高速で低価格の画像処理装置を実現することができる。
【０１２９】
加えて、この実施の形態３によれば、第２の処理手段であるリコンフィギャラブルプロセッサ１００２は、画像処理用構成情報に応じてハードウェア構成を変更できるので、画像処理の自由度を向上させることができる。
【０１３０】
ここで、この実施の形態３にて実施される画像処理方法を示すと、画像処理を実施するハードウェアの構成を構成情報に応じて変更できるとともに、前記画像処理の実行制御を実施するハードウェアを構成情報に応じて構成できる処理手段（リコンフィギャラブルプロセッサ１００２）を備える画像処理装置における画像処理方法であって、「複数の画像処理の実行順序を示した複数の実行順リストと実行制御及び画像処理それぞれを行うハードウェアの構成を示した複数の構成情報とを第１の記憶手段（ＲＯＭ１００４）に用意する工程」と、「ＣＰＵ１００１がリコンフィギャラブルプロセッサ１００２に対し、ＲＯＭ１００４に記憶される前記実行制御を行うハードウェアの構成を示した構成情報を与えるとともに、ＲＯＭ１００４が記憶する前記複数の実行順リストから１つの実行順リストを選択したときに画像処理の開始指示を与える工程」と、「ＣＰＵ１００１が、リコンフィギャラブルプロセッサ１００２からの要求に応じて、当該リコンフィギャラブルプロセッサ１００２が読み取り可能な第２の記憶手段（高速メモリ１００３）に、前記選択した１つの実行順リストに示された画像処理の実行順序に従って対応する前記画像処理を行うハードウェアの構成を示した構成情報をＲＯＭ１００４から転送記憶させて当該構成情報に対応する画像処理が実施できるようにし、当該リコンフィギャラブルプロセッサ１００２からの終了通知を待機する工程」とを含んでいる。そして、画像処理用プログラムは、それらの各工程をコンピュータが実行可能に記述したものである。
【０１３１】
なお、この実施の形態３にて示した第１の処理手段であるＣＰＵ１００１と第２の処理手段であるリコンフィギャラブルプロセッサ１００２は、それぞれ単一のプロセッサとすべき必然性はない。例えば、それぞれの処理手段が複数のＩＣチップによって構成されていてもよい。また、これらのプロセッサは、それぞれが個別に存在せず、それぞれのプロセッサのコアを単一のＩＣ内にまとめて構成するようにしてもよい。
【０１３２】
また、この実施の形態３では、高速メモリ１００３に、ＣＰＵ１００１によって選択された実行順リストと、リコンフィギャラブルプロセッサ１００２用の構成情報と、リコンフィギャラブルプロセッサ１００２が画像処理を行う際の入出力データとを記憶すると説明したが、これらは別のメモリに記憶してもよい。
【０１３３】
さらに、リコンフィギャラブルプロセッサ１００２は、ＣＰＵバス１００７を使用して、ＲＡＭ１１７のデータを直接入力し、またＲＡＭ１１７に直接出力する構成でもよい。画像処理時間は増大するが、それを問題としない場合は装置構成の簡素化の点で有効な措置となる。
【０１３４】
加えて、実施の形態１〜３では、以下のような変形態様を採ることが可能である。
【０１３５】
（１）実行順リストは、高速メモリに転送せず、ＲＡＭに格納し、格納したアドレスを第２の処理手段に通知するようにしてもよい。また、実行順リストに一意の記号を付し、その記号で指定してもよい。つまり、第２の処理手段が１つの実行順リストを特定できさえすればよく、その形式は問わない。
【０１３６】
（２）また、実行順リストに関しては、図６では、各ディスクリプタにおける画像処理結果に対する処理方法（次に行う画像処理の候補）として、６０５〜６０８の４個を示したが、次に行う画像処理の候補は４個に限るものではなく、４個以外でもよいし、可変長にしてもよい。逆に、画像処理の処理結果に応じて次に行う画像処理を選択する必要がない場合は、各ディスクリプタでは、画像処理結果に対する処理方法（次に行う画像処理の候補）の欄（６０５〜６０８）を省略してよい。そして、各ディスクリプタにおける画像処理用プログラムないしは構成情報が格納されているアドレス６０３及びそのサイズ６０４は、実行順リストとは別に第２の処理手段に通知することも可能である。つまり、実行順リストは、複数の画像処理を実行する順番を示すことができればよく、その形式は問わない。
【０１３７】
（３）さらに、１バンド分の画像データを全て高速メモリに転送して処理すると説明したが、高速メモリが１バンド分の画像データを全て記憶できる容量がない場合には、１バンドの画像データをさらに小さなブロックに分割して転送処理するようにしてもよい。
【産業上の利用可能性】
【０１３８】
以上のように、本発明にかかる画像処理装置、画像処理方法及び画像処理用プログラムは、装置制御処理に最適な処理手段のパフォーマンスの低下を抑制して画像処理の高速化を安価に実現するに有用である。
【図面の簡単な説明】
【０１３９】
【図１】本発明の実施の形態１による画像処理装置の構成を示すブロック図
【図２】図１に示す画像処理装置においてファクス受信時、ファクス送信時、コピー時、プリント時、スキャン時に実行する画像処理の流れを説明する図
【図３】処理すべき画像に対するバンド分割の一例を示す図
【図４】図１に示す画像処理装置の起動時及びその後におけるＣＰＵの処理手順を説明するフローチャート
【図５】図１に示す画像処理装置で実施するドキュメント処理の一つであるコピー処理時におけるＣＰＵの処理手順を説明するフローチャート
【図６】図１に示すＲＯＭに格納される実行順リストの一例を示す図
【図７】図１に示す画像処理装置で実施する画像処理時におけるＤＳＰの処理手順を説明するフローチャート
【図８】本発明の実施の形態２による画像処理装置の構成を示すブロック図
【図９】図８に示す画像処理装置で実施する画像処理時におけるサブＣＰＵの処理手順を説明するフローチャート
【図１０】本発明の実施の形態３による画像処理装置の構成を示すブロック図
【図１１】図１０に示すリコンフィギャラブルプロセッサの実行制御プロセッサブロックでの処理手順を説明するフローチャート
【符号の説明】
【０１４０】
１００    画像処理装置
１０１    スキャナエンジン
１０２    スキャナインターフェース
１０３    プリンタエンジン
１０４    プリンタインターフェース
１０５    通信インターフェース
１０６    表示装置
１０７    入力装置
１０８    パネルコントローラ
１０９    外部記憶装置
１１０    外部記憶インターフェース
１１１    センサ
１１２    センサインターフェース
１１３    ＣＰＵ（装置制御処理に最適な第１の処理手段であるマイクロプロセッサ）
１１４    ＤＳＰ（画像処理に最適な第２の処理手段であるプロセッサ）
１１５    高速メモリ
１１６    通信コントローラ
１１６    ＲＯＭ
１１７    ＲＡＭ
１１８    ＤＭＡＣ
１１９    割り込みコントローラ
１２０    ＣＰＵバス
２０１    スキャナエンジン補正処理
２０２    フィルター処理
２０３    データ圧縮処理
２０４    データ伸張処理
２０５    ズーム処理
２０６    色変換処理
２０７    プリンタエンジン補正処理
２１０    ファクス受信に対するドキュメント処理
２１１    ファクス送信に対するドキュメント処理
２１２    コピー指示に対するドキュメント処理
２１３    プリント指示に対するドキュメント処理
２１４    スキャン指示に対するドキュメント処理
３０１    バンド
６０１    実行順リスト
８００    画像処理装置
８０１    ＣＰＵ
８０２    サブＣＰＵ
８０３    リコンフィギャラブルプロセッサ
８０４    高速メモリ
８０５    ＲＯＭ
８０６    ＤＭＡＣ
８０７    割り込みコントローラ
８０８    ＣＰＵバス
１０００    画像処理装置
１００１    ＣＰＵ
１００２    リコンフィギャラブルプロセッサ
１００３    高速メモリ
１００４    ＲＯＭ
１００５    ＤＭＡＣ
１００６    割り込みコントローラ
１００７    ＣＰＵバス
【図１】
2008065654.tif 000003
【図２】
2008065654.tif 000004
【図３】
2008065654.tif 000005
【図４】
2008065654.tif 000006
【図５】
2008065654.tif 000007
【図６】
2008065654.tif 000008
【図７】
2008065654.tif 000009
【図８】
2008065654.tif 000010
【図９】
2008065654.tif 000011
【図１０】
2008065654.tif 000012
【図１１】
2008065654.tif 000013