(57)【要約】【課題】再構成可能な演算処理装置における新たな再構成態様を実現する。【解決手段】再構成可能な演算処理装置は、処理Ａをロードされて、その処理を行う（Ｓ１０）。処理Ａを終了後（Ｓ１２）、処理終了時に決まる出力結果が評価され（Ｓ１４）、設定条件を満たすか否か判定される（Ｓ１６）。そして、判定結果に基づいて、次に処理Ｂ−１をロードするか（Ｓ１８）、処理Ｂ−２をロードするか（Ｓ２０）が決定される。【選択図】図２
2008033702.tif 000002
【特許請求の範囲】
【請求項１】
演算処理回路を再構成可能な演算処理装置と、
前記演算処理装置上に構成されている現演算処理回路によりなされた少なくとも一部の演算処理について評価する評価手段と、
評価結果に基づいて、次に構成すべき新演算処理回路を決定する決定手段と、
ソフトウエア制御を行って、新演算処理回路を前記演算処理装置上に構成する構成手段と、
を備える演算処理システム。
【請求項２】
請求項１に記載の演算処理システムにおいて、
評価手段は、演算処理結果を解析して、演算処理対象のデータの特性を評価し、
決定手段は、評価された特性に応じて新演算処理回路を決定する演算処理システム。
【請求項３】
請求項１に記載の演算処理システムにおいて、
評価手段は、演算処理の速さについて評価する演算処理システム。
【請求項４】
請求項３に記載の演算処理システムにおいて、
決定手段は、設定値よりも遅いと評価された演算処理について、その回路部分が大規模化され、演算を高速化する回路を新演算処理回路として決定する演算処理システム。
【請求項５】
請求項３に記載の演算処理システムにおいて、
決定手段は、設定値よりも速いと評価された演算処理について、その回路部分が小規模化され、演算を低速化する回路を新演算処理回路として決定する演算処理システム。
【請求項６】
請求項３に記載の演算処理システムにおいて、
決定手段は、評価結果に基づいて、次に行う演算処理の処理時間を推定し、許容範囲の処理時間を与える回路を新演算処理回路として決定する演算処理システム。
【請求項７】
請求項１に記載の演算処理システムにおいて、
決定手段は、予め設定されていた複数の候補からの選択に基づいて、新演算処理回路を決定する演算処理システム。
【請求項８】
請求項７に記載の演算処理システムにおいて、
決定手段は、選択可能な候補が複数ある場合に、不要な回路構成規模が小さなものを新演算処理回路として決定する演算処理システム。
【請求項９】
請求項７に記載の演算処理システムにおいて、
決定手段は、選択した候補から、不要な回路構成の一部または全部の除去を行って、新演算処理回路を決定する演算処理システム。
【請求項１０】
請求項７乃至９のいずれか１項に記載の演算処理システムにおいて、
決定手段は、複数の候補の組み合わせを行って、新演算処理回路を決定する演算処理システム。
【請求項１１】
請求項１に記載の演算処理システムにおいて、
決定手段は、演算処理の最終結果に対して評価を行う演算処理システム。
【請求項１２】
請求項１に記載の演算処理システムにおいて、
決定手段は、演算処理の中間結果に対して評価を行う演算処理システム。
【請求項１３】
請求項１に記載の演算処理システムにおいて、
前記演算処理装置には、再構成可能な演算単位が複数設けられ、
構成手段は、一部又は全部の演算単位を利用して、新演算処理回路を構成する演算処理システム。
【請求項１４】
請求項１に記載の演算処理システムにおいて、
演算処理は、画像データに対する画像処理である画像処理システム。
【請求項１５】
請求項１４に記載の画像処理システムにおいて、
評価手段は、画像処理結果を解析して前記画像データの画像特性を評価し、
決定手段は、画像特性に応じた画像処理を行う新画像処理回路を決定する画像処理システム。
【請求項１６】
演算処理回路を再構成可能な演算処理装置を備えたコンピュータに対し、
前記演算処理装置上に構成されている現演算処理回路によりなされた少なくとも一部の演算処理について評価する評価手順と、
評価結果に基づいて次に構成すべき新演算処理回路を決定する決定手順と、
ソフトウエア制御を行って、新演算処理回路を前記演算処理装置上に構成する構成手順と、
を実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算処理システム、画像処理システム、及び制御プログラムに関する。
【背景技術】
【０００２】
下記特許文献１には、再構成可能なシステムにおいて、優先順位の高いジョブのコンフィギュレーションを割り当てる技術が開示されている。
【０００３】
下記特許文献２には、再構成可能システムで、新しい命令セットとそれを実行する演算部とを生成する技術が開示されている。
【０００４】
下記特許文献３には、画像の濃淡ヒストグラム処理を高速で行う参考技術が開示されている。
【０００５】
【特許文献１】特開２００４−３２６７８８号公報
【特許文献２】特開平１０−２５４６９６号公報
【特許文献３】特開平７−７３３１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、再構成可能な演算処理装置における新たな再構成態様を実現することにある。
【課題を解決するための手段】
【０００７】
本発明の演算処理システムは、演算処理回路を再構成可能な演算処理装置と、前記演算処理装置上に構成されている現演算処理回路によりなされた少なくとも一部の演算処理について評価する評価手段と、評価結果に基づいて、次に構成すべき新演算処理回路を決定する決定手段と、ソフトウエア制御を行って、新演算処理回路を前記演算処理装置上に構成する構成手段と、を備える。
【０００８】
本発明の演算処理システムの一態様においては、評価手段は、演算処理結果を解析して、演算処理対象のデータの特性を評価し、決定手段は、評価された特性に応じて新演算処理回路を決定する。
【０００９】
本発明の演算処理システムの一態様においては、評価手段は、演算処理の速さについて評価する。
【００１０】
本発明の演算処理システムの一態様においては、決定手段は、設定値よりも遅いと評価された演算処理について、その回路部分が大規模化され、演算を高速化する回路を新演算処理回路として決定する。
【００１１】
本発明の演算処理システムの一態様においては、決定手段は、設定値よりも速いと評価された演算処理について、その回路部分が小規模化され、演算を低速化する回路を新演算処理回路として決定する。
【００１２】
本発明の演算処理システムの一態様においては、決定手段は、評価結果に基づいて、次に行う演算処理の処理時間を推定し、許容範囲の処理時間を与える回路を新演算処理回路として決定する。
【００１３】
本発明の演算処理システムの一態様においては、決定手段は、予め設定されていた複数の候補からの選択に基づいて、新演算処理回路を決定する。
【００１４】
本発明の演算処理システムの一態様においては、決定手段は、選択可能な候補が複数ある場合に、不要な回路構成規模が小さなものを新演算処理回路として決定する。
【００１５】
本発明の演算処理システムの一態様においては、決定手段は、選択した候補から、不要な回路構成の一部または全部の除去を行って、新演算処理回路を決定する。
【００１６】
本発明の演算処理システムの一態様においては、決定手段は、複数の候補の組み合わせを行って、新演算処理回路を決定する。
【００１７】
本発明の演算処理システムの一態様においては、決定手段は、演算処理の最終結果に対して評価を行う。
【００１８】
本発明の演算処理システムの一態様においては、決定手段は、演算処理の中間結果に対して評価を行う。
【００１９】
本発明の演算処理システムの一態様においては、前記演算処理装置には、再構成可能な演算単位が複数設けられ、構成手段は、一部又は全部の演算単位を利用して、新演算処理回路を構成する。
【００２０】
本発明の画像処理システムにおいては、前記演算処理システムにおいて、演算処理は、画像データに対する画像処理である。
【００２１】
本発明の画像処理システムの一態様においては、評価手段は、画像処理結果を解析して前記画像データの画像特性を評価し、決定手段は、画像特性に応じた画像処理を行う新画像処理回路を決定する。
【００２２】
本発明の制御プログラムは、演算処理回路を再構成可能な演算処理装置を備えたコンピュータに対し、前記演算処理装置上に構成されている現演算処理回路によりなされた少なくとも一部の演算処理について評価する評価手順と、評価結果に基づいて次に構成すべき新演算処理回路を決定する決定手順と、ソフトウエア制御を行って、新演算処理回路を前記演算処理装置上に構成する構成手順と、を実行させる。
【発明の効果】
【００２３】
請求項１の本発明によれば、現演算処理回路の演算により必要性が生じた演算処理回路を、演算処理装置にロードすることが可能となる。
【００２４】
請求項２の本発明によれば、演算処理対象のデータの特性に適した演算処理回路を、演算処理装置にロードすることが可能となる。
【００２５】
請求項３の本発明によれば、処理の速さを管理することが可能となる。
【００２６】
請求項４の本発明によれば、回路の省スペース化よりも、ある演算処理の高速化を確保する制御が可能となる。
【００２７】
請求項５の本発明によれば、ある演算処理の速度よりも、回路の省スペース化を優先する制御が可能となる。
【００２８】
請求項６の本発明によれば、処理時間の制御が容易化される。
【００２９】
請求項７の本発明によれば、適切な新演算処理回路を、候補を参照して簡易に定めることができる。
【００３０】
請求項８の本発明によれば、省スペース化や、演算処理装置自体の小型化を実現できる可能性がある。
【００３１】
請求項９の本発明によれば、省スペース化や、演算処理装置自体の小型化を実現できる可能性がある。
【００３２】
請求項１０の本発明によれば、空きスペースを利用して、複数の演算処理を行うことが可能となる。
【００３３】
請求項１１の本発明によれば、最終結果に対して評価を行うことで、評価の信頼性が向上する。
【００３４】
請求項１２の本発明によれば、中間結果に対して評価を行うことで、再構成の準備を予め行うことが可能となる。
【００３５】
請求項１３の本発明によれば、演算単位の効率的な活用が可能となる。
【００３６】
請求項１４の本発明によれば、画像処理においては直前の処理結果によって処理が定まることも多いため、一層大きな効果が期待できる。
【００３７】
請求項１５の本発明によれば、画像特性に適した演算処理回路を、演算処理装置にロードすることが可能となる。
【発明を実施するための最良の形態】
【００３８】
以下に本発明の実施形態を例示する。
【００３９】
図１は、本発明にかかる画像処理システム１０の概略的構成を示すブロック図である。画像処理システム１０は、演算処理システムの一種であって、充実した画像処理機能を備えている。画像処理システム１０は、典型的には、ＰＣ（パーソナルコンピュータ）やワークステーションなどの汎用的コンピュータや、プリンタ、スキャナ、複写機等の画像処理に特化したコンピュータなどに実装される。
【００４０】
この画像処理システム１０には、制御部１２、メモリ２２、及びリコンフィグプロセッサ２４が設けられており、リコンフィグプロセッサ２４の画像処理回路を再構成（リコンフィグ）できるように作られている。制御部１２は、リコンフィグプロセッサ２４の構成を制御する装置であり、演算処理機能や記憶機能を備えたハードウエアをプログラム制御することで構成されている。制御部１２には、評価部１４、構成決定部１６、ロード部１８及び格納部２０が設けられている。評価部１４は、メモリ２２から画像処理結果のデータを取得して、リコンフィグプロセッサ２４で行われた画像処理について評価する。評価は様々な観点から行うことが可能であり、具体的には、画像処理された画像データの特性評価や画像処理の速さ評価などを例示することができる。評価は、一般的には、リコンフィグプロセッサ２４において予定された処理が終了した時点で行われる。しかし、リコンフィグプロセッサ２４の処理中に行って、予め再構成の準備を行うことも可能である。
【００４１】
構成決定部１６は、評価結果に基づいて、次にリコンフィグプロセッサ２４にロードすべき画像処理回路の構成を決定する。構成決定部１６は、典型的には、格納部２０に格納された複数の候補から一つの構成を選択したり、複数の構成を組み合わせたりすることで、その決定を行う。しかし、予め用意された構成に対し、一部の回路（モジュール）を削除したり付与したりする最適化処理を行った後、ロードする画像処理回路の構成を決定してもよい。このためには、例えば、モジュールを使用する条件と、使用するモジュールとの関係をテーブル化などにより明示しておけばよい。見方を変えれば、モジュールの削除は、構成の候補を全体としてではなく、部分として用意している態様であると言える。
【００４２】
ロード部１８は、構成決定部１６の決定に従って、格納部２０からリコンフィグプロセッサ２４へと、画像処理機能をロードする。格納部２０には、各種の画像処理機能がソフトウエアとして格納されている。ロード部１８はそれらのソフトウエアに従ってリコンフィグプロセッサ２４を制御することで、リコンフィグプロセッサ２４の回路構成を再構成するのである。
【００４３】
メモリ２２は、各種データやプログラムを記憶する記憶装置であり、例えば、ＲＡＭ（ランダムアクセスメモリ）、ＲＯＭ（リードオンリーメモリ）等の半導体メモリや、ハードディスクによって構成される。メモリ２２は、典型的には、リコンフィグプロセッサ２４での演算処理に使用される画像データや、その演算処理結果を格納する。
【００４４】
リコンフィグプロセッサ２４は、回路構成をソフトウエア的に再構成可能な演算処理装置である。リコンフィグプロセッサ２４は、典型的には、ＦＰＧＡ（Field Programmable Gate Array）のように、複数のＰＥ（プロセッサエレメント）を備え、一つまたは複数のＰＥ単位である演算処理を実現することができる。このため、リコンフィグプロセッサ２４には、複数の画像処理機能をロードすることもできる。
【００４５】
図２は、画像処理システム１０の典型的な動作の流れを簡単に説明するフローチャートである。リコンフィグプロセッサ２４に対しては、ロード部１８が格納部２０から処理機能をロードする。図２の例では、処理Ａがロードされ、処理Ａが実行されている（Ｓ１０）。リコンフィグプロセッサ２４において処理Ａが終了すると（Ｓ１２）、最終出力データをもとに評価部１４が評価値などを算出する（Ｓ１４）。評価値の算出は、リコンフィグプロセッサ２４自体によって行われてもよい。構成決定部１６では、評価値がある設定条件を満たすか否かを判定して、ロードする処理機能を決定する（Ｓ１６）。図示した例では、条件を満たす場合には、処理Ｂ−１がリコンフィグプロセッサ２４にロードされ、画像処理が開始される（Ｓ１８）。また、条件を満たさない場合には、処理Ｂ−２がリコンフィグプロセッサ２４にロードされ、画像処理が開始される（Ｓ２０）。
【００４６】
このように、画像処理システム１０では、リコンフィグプロセッサ２４において演算された結果に基づいて、次に必要となる演算機能が判定され、ロードされる。同じ演算機能を実現する場合であっても、演算速度または省スペース性（他の演算機能の同時実行可能性）などの観点から、回路構成の異なるものをロードすることも有効である。
【００４７】
［実施形態１］  ここでは、図３乃至図７を用いて、画像データに対してヒストグラム処理を行う態様について説明する。
【００４８】
図３は、実施形態１で行われる処理を模式的に説明する図である。図においては、左から右に時間軸を設定しており、図の上部には、各時間においてリコンフィグプロセッサ２４にロードされている演算処理構成が記載されている。すなわち、はじめに構成Ａ４０がロードされており、再構成の後、構成Ｂ４７がロードされる。そして、構成Ａが設定された処理時間４１においては、初期画像３０に対して画像処理Ａ４３が行われ、画像Ａ３２が出力されている。また、同じ処理時間４１には、初期画像３０に対し、各画素の画素値（輝度値）の分布を調べるヒストグラム処理４５が行われる。ただし、この処理時間４１は、画像処理Ａ４３を基準として設定されている。このため、比較的長い処理時間を必要とするヒストグラム処理４５は未完のまま終了し、ヒストグラム処理できなかった画像データ３４が生じている。
【００４９】
処理時間４１が終了すると、ヒストグラム処理できなかった画像データ３４のサイズが評価され、評価結果に基づいて、構成Ｂ４７のロードが決定される。そして、構成Ｂ４７をロードした後の処理時間４９において、画像Ａ３２に対し画像処理Ｂ５１が行われるとともに、ヒストグラム処理できなかった画像データ３４に対し、ヒストグラム処理５３が行われている。
【００５０】
図４は、リコンフィグプロセッサ２４に設定される構成Ａ４０について説明する図である。構成Ａには、画像処理Ａに関する回路として、処理Ａ部４２と、画素数カウンタ４４とが設けられている。また、ヒストグラム処理に関する機能として、ヒストグラムメモリ４６、ＡＤＤ（加算器）４８、比較器５０、Ｆ／Ｆ（フリップフロップ）５２、ＦＩＦＯ（先入れ先出し回路）５４、及び画素数カウンタ５６が設けられている。
【００５１】
処理Ａ部４２は、メモリ２２に記憶された初期画像３０に画像処理Ａを行い、画像Ａ３２を出力する。また、画素数カウンタ４４は、画像処理Ａがなされた画像データの画素数ｋをカウントして出力する。
【００５２】
ヒストグラムメモリ４６は、ＲＡＭ（ランダムアクセスメモリ）を用いて構成されており、０〜２５５のメモリアドレス（メモリ番地）が画素値を表し、メモリの値がその画素値をもつ画素数を表すように設定されている。ヒストグラムメモリ４６には、初期画像３０の各画素の画素値が入力信号６０として入力される。しかし、入力信号６０に基づいて、ヒストグラムメモリ４６の値を更新するか否かは、書き込み制御信号ＷＥ６２によって制御されている。
【００５３】
書き込み制御信号ＷＥ６２は、比較器５０から出力される信号である。比較器５０は、初期画像３０からＦ／Ｆ５２を経て入力される一つ前の画素の画素値と、初期画像３０から直接入力される画素の画素値とを比較し、両者が異なっている場合には、ヒストグラムメモリ４６に書き込み許可信号を出力する。これにより、ヒストグラムメモリ４６からは、入力信号６０の画素値に対応するメモリアドレスの値が信号６４として読み出され、ＡＤＤ４８に入力される。ＡＤＤ４８では、入力された値に１を加えて信号６６を出力し、ヒストグラムメモリ４６の同じメモリアドレスに上書きする。
【００５４】
このように、ヒストグラムメモリ４６へのカウントアップは、信号６４の読み出し、ＡＤＤ４８での処理、及びヒストグラムメモリ４６への上書きを必要とするため、２クロック以上（例えば２クロック）を要する。このため、１クロック毎に新しい画素データを入力した場合には、同じ画素値が連続すると、上書きが間に合わなくなってしまう。そこで、比較器５０では、連続する画素の画素値が同じ場合、ヒストグラムメモリ４６には書き込みを許さない書き込み制御信号ＷＥ６２を送信するとともに、ＦＩＦＯにその画素値を保持させる。そして、連続する画素の画素値が異ったタイミングで、比較器５０は、ＦＩＦＯ５４に対し保持しているデータを一括出力するように指示する。この結果、メモリ２２には、ヒストグラム処理できなかった画像データ３４が格納されるとともに、その画素数ｍが画素数カウンタ５６を通じて出力される。
【００５５】
図５は、構成Ｂａ７０について説明する図であり、図６は、構成Ｂｂ９０について説明する図である。図５，６は、図４と対応しており、同一の構成には同一の番号を付して説明を省略乃至は簡略化する。構成Ｂａ７０と構成Ｂｂ９０は、いずれも構成Ａに代わってリコンフィグプロセッサ２４に設定される回路構成である。
【００５６】
構成Ｂａ７０と構成Ｂｂ９０は、処理Ａ部４２の代わりに、画像処理Ｂを行う処理Ｂ部７２が設けられている点で共通している。処理Ｂ部７２は、画像Ａ３２を入力して処理Ｂを行い、画像Ｂ８０を出力するものである。しかし、構成Ｂａ７０と構成Ｂｂ９０では、ヒストグラム処理の構成が異なっている。構成Ｂａ７０は、構成Ａ４０と同様のヒストグラム処理構成を備えており、前回ヒストグラム処理できなかった画像データ３４に対してヒストグラム処理を行い、再度ヒストグラム処理できなかった画像データ８４をメモリ２２に出力する。これに対し、構成Ｂｂ９０には、簡略化したヒストグラム処理回路が構築されている。この回路では、前回ヒストグラム処理できなかった画像データ３４が入力されると、連続する画素の画素値が同じであっても処理待ちを行うため、必ずヒストグラムメモリ４６の値が更新される。また、この簡略化したヒストグラム処理の回路は、リコンフィグプロセッサ２４のＰＥの占有数が少ない。そこで、構成Ｂｂ９０では、空いたＰＥに対して、画像処理Ｃを行う処理Ｃ部９２が割り当てられている。
【００５７】
図７は、再構成の処理の流れを説明するフローチャートである。まず、リコンフィグプロセッサ２４に構成Ａ４０がロードされ、画像処理Ａ及びヒストグラム処理が実施される。ヒストグラム処理では、処理対象となる画素の画素値が一つ前の画素の画素値と異なればヒストグラムメモリ４６に加算し、同じならば加算しない（Ｓ３２）。そして、処理終了後に「（加算しなかった画素）×（ＡＤＤ４８を経由する場合のループ遅れクロック数）」と、「次の画像処理Ｂにおける処理対象画素数」との大小関係が判定される。その結果、前者が大きい場合には、構成Ｂｂ９０がロードされ、画像処理Ｂ、画像処理Ｃ、及び残る全画素のヒストグラム処理が行われる。他方、後者が大きい場合には、構成Ｂａ７０がロードされ、画像処理Ｂが行われるとともに、ヒストグラム処理についてはステップＳ３２，３４が再度繰り返される。なお、構成Ｂａ７０や構成Ｂｂ９０から構成Ａ４０への再構成の必要性も、同様にして画像処理結果の評価により判断すればよい。
【００５８】
［実施形態２］  続いて、図８乃至図１１を用いて、画像データに対し傾き（スキュー）補正処理を行う態様について説明する。
【００５９】
図８は、スキュー補正の概念を説明する図である。図８（ａ）は、ｘ−ｙ２次元空間における入力画像１００を表している。入力画像１００は、ｘ−ｙ座標系に対して傾いている。これは、例えば、スキャナに対し用紙が傾いてセットされた状態を表している。この用紙の向きを電子的に補正するためには、用紙の傾きを知る必要がある。そこで、ＦＦＴ（高速フーリエ変換）が行われ、得られたフーリエ係数に対しハフ変換が行われる。図８（ｂ）はハフ変換で得られた投影分布を表している。横軸は画像の傾き角度θであり、縦軸は投影の頻度である。図示した例では、角度θ1〜θ2の間で解析が行われ、θ0に投影分布が集中している。したがって、傾きはθ0であると予想される。しかし、投影分布にバラツキがある場合や、角度θ1〜θ2の間隔が広い場合などは、詳細に角度検出を行う必要がある。つまり、詳細なスキュー補正を行うか否かは、前の処理の結果を評価して決定する必要がある。
【００６０】
図９は、詳細なスキュー補正を行わない場合にリコンフィグプロセッサ２４にロードされる構成Ａ１１０を説明する図である。構成Ａ１１０には、前処理部１１２、ＦＦＴ部１１４、ハフ変換部１１６、スキュー角算出部１１８、及び処理Ｘ部１２０が設けられている。前処理部１１２に対しては、入力画像１００のＮページ１３０のデータが入力される。そして、前処理部１１２からの出力は、二つに分岐され、一方は出力画像１０４としてメモリ２２に記憶される。また、他方は、ＦＦＴ部１１４部によるＦＦＴ処理と、ハフ変換部１１６によるハフ変換処理を受けた後、スキュー角算出部１１８に入力される。そして、スキュー角算出部１１８は算出したスキュー角をメモリ２２に出力する。この一連の処理においては、リコンフィグプロセッサ２４の全てのＰＥを使用する必要はない。そこで、空きスペースには処理Ｘ部１２０がロードされ、画像処理Ｘが行われている。
【００６１】
図１０及び図１１は、スキュー処理においてロードの候補となる構成Ｂ１４０と構成Ｃ１６０を説明する図である。両図は、図９と対応しており、同一の構成には同一の番号を付して説明を省略乃至は簡略化する。
【００６２】
図１０に示した構成Ｂ１４０は、構成Ａ１１０による処理の結果、詳細なスキュー補正を行う必要があると判定された場合にロードされる構成である。具体的には、処理Ｘ部１２０の代わりに、詳細スキュー補正部１４２と処理Ｙ部１４４とがロードされている。そして、詳細スキュー補正部１４２は、入力画像１００のＮページ１３０のデータについて処理を行っており、前処理部１１２は、Ｎ＋１ページ１５０のデータについて処理を行っている。
【００６３】
図１１に示した構成Ｃ１６０は、構成Ｂ１４０による処理の結果、Ｎページ１３０のデータに対し、さらに詳細なスキュー補正を行う必要があると判定され、かつ、Ｎ＋１ページ１５０のデータに対し、詳細なスキュー補正を行う必要があると判定された場合にロードされる構成である。構成Ｂ１４０の処理Ｙ部１４４の代わりに、超詳細スキュー補正部１６２がロードされている。そして、超詳細スキュー補正部１６２はＮページ１３０のデータを処理し、詳細スキュー補正部１４２はＮ＋１ページ１５０のデータを処理し、前処理部１１２はＮ＋２ページ１７０のデータを処理している。
【００６４】
［実施形態３］  次に、画像データ中に埋め込まれたコードの読み取り処理を行う態様について、図１２乃至図１６を用いて説明する。
【００６５】
図１２は、スキャンの結果得られた画像データ２００を模式的に示している。この画像データ２００の中には、規格の異なる複数のコードが埋め込まれている。すなわち、二つのＡコード２０２，２０４と、一つのＢコード２０６と、一つのＣコード２０８が埋め込まれている。
【００６６】
図１３は、コード読み取り処理の流れを説明するフローチャートである。処理では、まず、画像データに対し、ページ全体を検索する処理が行われ（Ｓ５０）、どの位置に埋め込みコードがあるか調査される。続いて、各埋め込みコードがどの種類のコードであるかを検出する処理が行われ（Ｓ５２）、コード検出の有無が判定される（Ｓ５４）。そして、検出されない場合には処理を終了し、ある場合には検出されたコードに応じた構成をロードする（Ｓ５６）。図示した例では、Ａ，Ｂ，Ｃの３種類のコードがある場合に、その全ての組み合わせについて、最適な構成が用意されている。具体的には、三つのコードを全て含む「Ａ＋Ｂ＋Ｃ」、いずれか二つを含む「Ａ＋Ｂ」「Ａ＋Ｃ」「Ｂ＋Ｃ」、一つを含む「Ａ」「Ｂ」「Ｃ」の各処理が用意されている。
【００６７】
図１４は、コード検出が行われていない場合において、リコンフィグプロセッサ２４にロードされる構成Ａ２２０を説明する図である。ここでは、ページ全体検索部２２４、コード検出部２２６、及び処理Ｚ部２２８がロードされている。そして、メモリ２２に記憶された入力画像２１２からＮページ２３０のデータがページ全体検索部２２４に入力されている。ページ全体検索部２２４からの出力は、出力画像２１０としてメモリ２２に記憶されるとともに、コード検出部２２６に入力される。コード検出部２２６は、コード検出処理を行い、検出結果２１４をメモリ２２に出力する。また、処理Ｚ部２２８は、これらのコード検出で使用しない空きスペースを利用して画像処理Ｚを行うためのものである。
【００６８】
図１５は、検出結果２１４を評価したところ、Ａ，Ｂ，Ｃの全てのコードが埋め込まれていると判定された場合にロードされる構成Ｂ２５０を示している。この場合には、リコンフィグプロセッサ２４には、Ａコードデコード処理部２５２、Ｂコードデコード処理部２５４、及びＣコードデコード処理部２５６のみがロードされ、Ｎページ２３０のデータに含まれる各コードの読み取りが行われる。
【００６９】
図１６は、Ａコードのみが埋め込まれていると判定された場合にロードされる構成Ｃ２８０を示している。構成Ｃ２８０では、構成Ａ２２０の処理Ｚ部２２８の代わりにＡコードデコード処理部２８２が設けられている。Ａコードデコード処理部２８２は、Ｎぺージ２３０のコード読み取り処理を行う。また、Ｎ＋１ページ２９０のデータについては、ページ全体検索部２２４とコード検出部２２６によって、コードの検出処理が行われる。
【００７０】
本実施の形態は、他にも様々に応用することができる。一例としては、画像データのモノクロ・カラー特性に基づいて、処理構成を変更する態様が挙げられる。例えば、カラー形式で作られた画像データに対しある画像処理を行うにあたり、この画像データに対して行ったヒストグラム処理の結果を評価し、白黒画像処理とカラー画像処理のいずれで処理するか判定することは有効であろう。白黒画像処理は、一般にカラー画像処理よりも簡易に行えるため、他の画像処理と並列に行うことが可能となる。
【００７１】
また、別の例としては、画像データ中に含まれるテキストの量あるいは画像の量に応じて、処理構成を変更する態様が挙げられる。圧縮処理であれば、ビットマップ情報が所定量以上ある場合はＪＰＥＧ方式を採用し、テキストデータが所定量以上ある場合はＭＭＲ方式を採用することとし、各圧縮処理をロードすればよい。こうすることで、始めから複数の圧縮処理回路を構成する場合に比べ、必要なハードウエア量を少なくすることが可能となる。
【図面の簡単な説明】
【００７２】
【図１】画像処理システムの構成例の概略を示すブロック図である。
【図２】画像処理システムの処理の流れを例示するフローチャートである。
【図３】実施形態１の概略を説明する図である。
【図４】処理Ａとヒストグラム処理を行う構成図である。
【図５】処理Ｂとヒストグラム処理を行う構成図である。
【図６】処理Ｂとヒストグラム処理と処理Ｃを行う構成図である。
【図７】実施形態１の処理の流れを示すフローチャートである。
【図８】実施形態２の概略を説明する図である。
【図９】スキュー角度算出と処理Ｘを行う構成図である。
【図１０】スキュー角度算出と詳細スキュー補正と処理Ｙを行う構成図である。
【図１１】スキュー角度算出と詳細スキュー補正と超詳細スキュー補正を行う構成図である。
【図１２】実施形態３の処理対象となる画像データの例を示す図である。
【図１３】実施形態３の処理の流れを示すフローチャートである。
【図１４】コード検出と処理Ｚを行う構成図である。
【図１５】Ａ，Ｂ，Ｃの各コードのデコードを行う構成図である。
【図１６】Ａコードのデコードとコード検出を行う構成図である。
【符号の説明】
【００７３】
１０  画像処理システム、１２  制御部、１４  評価部、１６  構成決定部、１８  ロード部、２０  格納部、２２  メモリ、２４  リコンフィグプロセッサ、４４，５６  画素数カウンタ、４６  ヒストグラムメモリ。
【図１】
2008033702.tif 000003
【図２】
2008033702.tif 000004
【図３】
2008033702.tif 000005
【図４】
2008033702.tif 000006
【図５】
2008033702.tif 000007
【図６】
2008033702.tif 000008
【図７】
2008033702.tif 000009
【図８】
2008033702.tif 000010
【図９】
2008033702.tif 000011
【図１０】
2008033702.tif 000012
【図１１】
2008033702.tif 000013
【図１２】
2008033702.tif 000014
【図１３】
2008033702.tif 000015
【図１４】
2008033702.tif 000016
【図１５】
2008033702.tif 000017
【図１６】
2008033702.tif 000018