(57)【特許請求の範囲】
【請求項１】
複数の画素データを含む第１画像データを記憶する記憶手段と、
前記記憶手段に接続され、前記第１画像データに対して演算処理を実行可能であり、当該演算処理の実行を制御する制御手段と、
前記第１画像データに含まれる全部又は一部の複数の前記画素データに対して同時に同じ演算処理を実行する並列演算処理手段と、
前記第１画像データに含まれる前記画素データ毎に演算処理を実行する逐次演算処理手段とを備え、
前記制御手段は、
所定の条件に応じて、第１演算処理を実行する実行主体として、当該制御手段、前記並列演算処理手段及び前記逐次演算処理手段のうち少なくとも１つを決定し、
前記第１演算処理を実行する実行主体を前記並列演算処理手段と決定した場合、前記並列演算処理手段に対して前記第１演算処理の内容を示す演算処理情報を送信し、前記第１演算処理を実行する実行主体を前記逐次演算処理手段と決定した場合、前記逐次演算処理手段に対して前記演算処理情報を送信する送信手段を有し、
前記並列演算処理手段及び前記逐次演算処理手段は各々、
前記送信手段から送信された前記演算処理情報を受信する演算処理情報受信手段と、
前記演算処理情報受信手段が受信した前記演算処理情報によって示される前記第１演算処理を受け入れ可能か否かを判定する判定手段と、
前記判定手段の判定結果が肯定的である場合に、前記記憶手段へダイレクトアクセスを行って、前記第１画像データを読み出すダイレクトメモリアクセス手段と、
前記ダイレクトメモリアクセス手段が読み出した前記第１画像データに対して前記第１演算処理を実行する実行手段と、を有する
ことを特徴とする情報処理装置。
【請求項２】
前記ダイレクトメモリアクセス手段は、前記第１演算処理後の第２画像データを前記記憶手段に書き込む
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記並列演算処理手段及び前記逐次演算処理手段は各々、前記実行手段が実行した前記第１演算処理が完了した場合、当該第１演算処理の実行の完了を前記制御手段に通知する通知手段を更に有する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御手段は、１つの第２演算処理について、所定の条件に応じて、当該制御手段及び前記逐次演算処理手段を当該第２演算処理の実行主体として決定し、当該制御手段が前記第２演算処理を実行する前記第１画像データの部分及び前記逐次演算処理手段が前記第２演算処理を実行する前記第１画像データの部分を決定する
ことを特徴とする請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
前記制御手段は、１つの第２演算処理について、所定の条件に応じて、当該制御手段及び前記並列演算処理手段を当該第２演算処理の実行主体として決定し、当該制御手段が前記第２演算処理を実行する前記第１画像データの部分及び前記並列演算処理手段が前記第２演算処理を実行する前記第１画像データの部分を決定する
ことを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記制御手段は、複数の異なる演算処理について、当該制御手段、前記逐次演算処理手段及び前記逐次演算処理手段の各負荷状況及び演算処理能力に応じて、各演算処理の実行主体を決定し、当該複数の演算処理に係る時間が最短となるよう各演算処理の実行順序を決定する演算箇所決定手段を有し、
前記送信手段は、前記演算箇所決定手段が決定した実行順序に応じて、各演算処理の実行主体と前記演算箇所決定手段が決定した前記並列演算処理手段及び前記逐次演算処理手段のうち少なくとも一方に対して前記演算処理情報を送信する
ことを特徴とする請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項７】
前記並列演算処理手段が演算処理後の第２画像データを前記逐次演算処理手段へ送信する第１インタフェース手段を更に備える
ことを特徴とする請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記制御手段は、複数の異なる演算処理について、所定の条件に応じて、各演算処理を実行する実行主体として、当該制御手段、前記並列演算処理手段及び前記逐次演算処理手段のうち少なくとも１つを各々決定し、各演算処理の実行順序を決定し、
前記送信手段は、前記演算箇所決定手段が決定した実行順序に応じて、前記並列演算処理手段が実行主体であると前記第１決定手段が決定した演算処理の内容を示すと共に、当該演算処理の対象の第３画像データの入力元と、当該演算処理後の第４画像データの出力先とを示す演算処理情報を前記並列演算処理手段に送信し、前記逐次演算処理手段が実行主体であると前記第１決定手段が決定した演算処理の内容を示すと共に、当該演算処理の対象の第５画像データの入力元と、当該演算処理後の第６画像データの出力先とを示す演算処理情報を前記逐次演算処理手段に送信し、
前記並列演算処理手段は、前記演算処理情報によって示される前記入力元が前記逐次演算処理手段である場合、前記第１インタフェース手段を介して前記第２画像データを処理対象の画像データとして受信する画像データ受信手段を有し、
前記逐次演算処理手段は、前記演算処理情報によって示される前記出力先が前記並列演算処理手段である場合、前記第１インタフェース手段を介して前記第２画像データを送信する画像データ送信手段を有する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記逐次演算処理手段が演算処理後の第２画像データを前記並列演算処理手段へ送信する第２インタフェース手段を更に備える
ことを特徴とする請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項１０】
前記制御手段は、複数の異なる演算処理について、所定の条件に応じて、各演算処理を実行する実行主体として、当該制御手段、前記並列演算処理手段及び前記逐次演算処理手段のうち少なくとも１つを各々決定し、各演算処理の実行順序を決定し、
前記送信手段は、前記演算箇所決定手段が決定した実行順序に応じて、前記並列演算処理手段が実行主体であると前記第１決定手段が決定した演算処理の内容を示すと共に、当該演算処理の対象の第３画像データの入力元と、当該演算処理後の第４画像データの出力先とを示す演算処理情報を前記並列演算処理手段に送信し、前記逐次演算処理手段が実行主体であると前記第１決定手段が決定した演算処理の内容を示すと共に、当該演算処理の対象の第５画像データの入力元と、当該演算処理後の第６画像データの出力先とを示す演算処理情報を前記逐次演算処理手段に送信し、
前記並列演算処理手段は、前記演算処理情報によって示される前記出力先が前記逐次演算処理手段である場合、前記第２インタフェース手段を介して前記第２画像データを処理対象の画像データとして送信する画像データ送信手段を有し、
前記逐次演算処理手段は、前記演算処理情報によって示される前記入力元が前記並列演算処理手段である場合、前記第２インタフェース手段を介して前記第２画像データを処理対象の画像データとして受信する画像データ受信手段を有する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項１１】
前記逐次演算処理手段は、回路を書き換え可能なハードウェアで構成される
ことを特徴とする請求項１乃至１０のいずれか一項に記載の情報処理装置。
【請求項１２】
請求項１乃至１１のいずれか一項に記載の情報処理装置と、
演算処理後の前記第２画像データを用いて、印刷媒体に画像を形成する画像形成手段を備える
ことを特徴とする画像形成装置。
【請求項１３】
複数の画素データを含む画像データを記憶する記憶手段と、前記記憶手段と接続され、前記画像データに対して演算処理を実行可能であり、当該演算処理の実行を制御する制御手段と、前記画像データに含まれる全部又は一部の複数の前記画素データに対して同時に同じ演算処理を実行する並列演算処理手段と、前記画像データに含まれる前記画素データ毎に演算処理を実行する逐次演算処理手段とを備え、
前記並列演算処理手段及び前記逐次演算処理手段が各々、
前記送信手段から送信された前記演算処理情報を受信する演算処理情報受信手段と、
前記演算処理情報受信手段が受信した前記演算処理情報によって示される前記第１演算処理を受け入れ可能か否かを判定する判定手段と、
前記判定手段の判定結果が肯定的である場合に、前記記憶手段へダイレクトアクセスを行って、前記第１画像データを読み出すダイレクトメモリアクセス手段と、
前記ダイレクトメモリアクセス手段が読み出した前記第１画像データに対して前記第１演算処理を実行する実行手段と、を有する情報処理装置で実行される情報処理方法であって、
前記制御手段が、所定の条件に応じて、第１演算処理を実行する実行主体として、当該制御手段、前記並列演算処理手段及び前記逐次演算処理手段のうち少なくとも１つを決定し、前記第１演算処理を実行する実行主体を前記並列演算処理手段と決定した場合、前記並列演算処理手段に対して前記第１演算処理の内容を示す演算処理情報を送信し、前記第１演算処理を実行する実行主体を前記逐次演算処理手段と決定した場合、前記逐次演算処理手段に対して前記演算処理情報を送信するステップを含む
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、画像形成装置及び情報処理方法に関する。
【背景技術】
【０００２】
今日、情報処理装置として、例えば、コピー機能、ファクシミリ（ＦＡＸ）機能、プリント機能及びスキャナ機能を複合したＭＦＰ（Ｍｕｌｔｉ Ｆｕｎｃｔｉｏｎ Ｐｅｒｉｐｈｅｒａｌ）と称されるデジタル複合機が提供されている。このようなデジタル複合機によれば、手書きの文書や紙の原稿を電子化して画像データを生成し、ネットワークで共有して活用することが可能になっている。近年ではこれらの画像データに対する画像処理や情報処理が行われている。具体的には複合的な圧縮処理（高圧縮PDF）やＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）、埋め込みコード検知、自動回転などである。一般に紙の原稿を電子化した際の画像データのサイズは巨大である。例えば「Ａ４  ３００ｄｐｉ  ８ｂｉｔ」のフルカラーの原稿であれば非圧縮で約２５ＭＢのサイズとなりこのような巨大なサイズの画像データに対する画像処理は演算に掛かる処理量が極めて大きいものとなる。このように巨大なサイズの画像データに対して、デジタル複合機が備える一般的なコントローラのＣＰＵ（Central Processing Unit）のみで画像処理を実行した場合、ユーザが望む時間内に処理しきれないことが多い。このような処理を高速化するため、以前より、補助的な演算処理装置（アクセラレータ）を用いることがある。補助的な演算処理装置には、FPGA、SIMD、リコンフィギュラブルプロセッサ、DSPなどがある。また、画像処理全体を高速に実行する目的で、並列演算処理装置と逐次演算処理装置とを有し、これらを使い分けることで、適切な演算処理リソースで処理を実行することを実現できる画像形成装置が開発されている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
特許文献１の技術では、並列演算処理装置と逐次演算処理装置とがＣＰＵ／ＩＦを介してＣＰＵに接続されているが、これは制御を目的としたもので、並列演算処理装置と逐次演算処理装置とに対してＣＰＵから処理対象の画像データが転送されるものではなく、処理対象の画像データは内部インターフェースを介して並列演算処理装置と逐次演算処理装置とに転送されている。このような特許文献１の技術では、ハードウェア的に行うことが可能な単純な順番の演算処理を実行する場合には、画像処理全体を高速化できるものの、ソフトウェア的に行うＣＰＵ向けの例えば分岐やループなどのある複雑な演算処理や多様な演算処理を実行する場合には、画像処理全体を高速化することは困難であった。
【０００４】
本発明は、上記に鑑みてなされたものであって、並列演算処理手段と逐次演算処理手段とを備える情報処理装置であって、複雑な演算処理や多様な演算処理を高速に実行することが可能な情報処理装置、画像形成装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、情報処理装置であって、複数の画素データを含む第１画像データを記憶する記憶手段と、前記記憶手段に接続され、前記第１画像データに対して演算処理を実行可能であり、当該演算処理の実行を制御する制御手段と、前記第１画像データに含まれる全部又は一部の複数の前記画素データに対して同時に同じ演算処理を実行する並列演算処理手段と、前記第１画像データに含まれる前記画素データ毎に演算処理を実行する逐次演算処理手段とを備え、前記制御手段は、所定の条件に応じて、第１演算処理を実行する実行主体として、当該制御手段、前記並列演算処理手段及び前記逐次演算処理手段のうち少なくとも１つを決定し、前記第１演算処理を実行する実行主体を前記並列演算処理手段と決定した場合、前記並列演算処理手段に対して前記第１演算処理の内容を示す演算処理情報を送信し、前記第１演算処理を実行する実行主体を前記逐次演算処理手段と決定した場合、前記逐次演算処理手段に対して前記演算処理情報を送信する送信手段を有し、前記並列演算処理手段及び前記逐次演算処理手段は各々、前記送信手段から送信された前記演算処理情報を受信する演算処理情報受信手段と、前記演算処理情報受信手段が受信した前記演算処理情報によって示される前記第１演算処理を受け入れ可能か否かを判定する判定手段と、前記判定手段の判定結果が肯定的である場合に、前記記憶手段へダイレクトアクセスを行って、前記第１画像データを読み出すダイレクトメモリアクセス手段と、前記ダイレクトメモリアクセス手段が読み出した前記第１画像データに対して前記第１演算処理を実行する実行手段と、を有することを特徴とする。
【０００６】
また、本発明は、複数の画素データを含む画像データを記憶する記憶手段と、前記記憶手段と接続され、前記画像データに対して演算処理を実行可能であり、当該演算処理の実行を制御する制御手段と、前記画像データに含まれる全部又は一部の複数の前記画素データに対して同時に同じ演算処理を実行する並列演算処理手段と、前記画像データに含まれる前記画素データ毎に演算処理を実行する逐次演算処理手段とを備え、前記並列演算処理手段及び前記逐次演算処理手段が各々、前記送信手段から送信された前記演算処理情報を受信する演算処理情報受信手段と、前記演算処理情報受信手段が受信した前記演算処理情報によって示される前記第１演算処理を受け入れ可能か否かを判定する判定手段と、前記判定手段の判定結果が肯定的である場合に、前記記憶手段へダイレクトアクセスを行って、前記第１画像データを読み出すダイレクトメモリアクセス手段と、前記ダイレクトメモリアクセス手段が読み出した前記第１画像データに対して前記第１演算処理を実行する実行手段と、を有する情報処理装置で実行される情報処理方法であって、前記制御手段が、所定の条件に応じて、第１演算処理を実行する実行主体として、当該制御手段、前記並列演算処理手段及び前記逐次演算処理手段のうち少なくとも１つを決定し、前記第１演算処理を実行する実行主体を前記並列演算処理手段と決定した場合、前記並列演算処理手段に対して前記第１演算処理の内容を示す演算処理情報を送信し、前記第１演算処理を実行する実行主体を前記逐次演算処理手段と決定した場合、前記逐次演算処理手段に対して前記演算処理情報を送信するステップを含むことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、並列演算処理手段と逐次演算処理手段とを備える情報処理装置において、複雑な演算処理や多様な演算処理を高速に実行することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施の形態に係る画像処理装置の構成の概要を例示する図である。
【図２】図２は、高速演算ユニット５１のハードウェア構成を例示する図である。
【図３】図３は、演算処理情報を例示する図である。
【図４】図４は、高速演算ユニット５１の行う処理の手順を示すフローチャートである。
【図５】図５は、ＣＰＵ５２が実行する演算処理、逐次演算処理部５４が実行する演算処理及び並列演算処理部５５が実行する演算処理の各タイミングを概略的に示す図である。
【図６】図６は、第２の実施の形態に係る高速演算ユニット５１のハードウェア構成及び機能的構成を例示する図である。
【図７】図７は、演算箇所決定処理の手順を示すフローチャートである。
【図８】図８は、第３の実施の形態に係る高速演算ユニット５１のハードウェア構成を例示する図である。
【図９】図９は、パラレル信号を例示する図である。
【図１０】図１０は、高速演算ユニット５１の行う処理の手順を示すフローチャートである。
【図１１】図１１は、ＣＰＵ５２が実行する演算処理、逐次演算処理部５４が実行する演算処理及び並列演算処理部５５が実行する演算処理の各タイミングを概略的に示す図である。
【図１２】図１２は、一変形例に係る高速演算ユニット５１の行う処理の手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかる情報処理装置及び情報処理方法の一実施の形態を詳細に説明する。
【００１０】
[第１の実施の形態]
本実施の形態にかかる情報処理装置である高速演算ユニットを適用した画像形成装置の構成の概要について図１を用いて説明する。画像形成装置は、画像処理ユニット５０と、高速演算ユニット５１とを備え、これらが外部Ｉ／Ｆ１００を介して接続されて構成される。画像処理ユニット５０は、原稿から画像を読み取って当該画像を表す画像データを生成する画像読取ユニットと、高速演算ユニットが演算処理を実行した後の画像データを用いて、画像を印刷媒体に形成する画像形成ユニットとを含む。高速演算ユニット５１は、画像読取ユニットが生成した画像データに対して演算処理を実行する画像処理アクセラレータとして機能する。外部Ｉ／Ｆ１００は高速演算ユニット５１に対して着脱可能なことが望ましい。また、外部Ｉ／Ｆ１００は高速であったほうが望ましい。ただし、処理対象の画像データの転送と高速演算ユニット５１での演算処理とが並列に（パイプライン的に）実行可能で、転送時間がボトルネックにならない範囲で低速であっても構わない。尚、画像形成装置の構成の詳細については、例えば、上述の特許文献１に記載されているため、ここではその説明を省略する。
【００１１】
次に、高速演算ユニット５１のハードウェア構成について図２を用いて説明する。本実施の形態の高速演算ユニット５１は、ＣＰＵ５２と、ＲＡＭ（Random Access Memory）５３と、逐次演算処理部５４と、並列演算処理部５５とを備える。ＣＰＵ５２と、逐次演算処理部５４及び並列演算処理部５５とは、内部Ｉ／Ｆ５６を介して接続される。ＣＰＵ５２と、ＲＡＭ５３とは、内部バスを介して接続される。ＲＡＭ５３は、各種データや各種プログラムを記憶する。ＣＰＵ５２には、外部Ｉ／Ｆ１００を介して画像処理ユニット５０が接続される。
【００１２】
ＣＰＵ５２は、外部Ｉ／Ｆ１００を介して画像処理ユニット５０から画像データと当該画像データに対する画像処理の実行の命令とが送信されると、当該画像データ及び命令の入力を受け付け、ＲＡＭ５３に記憶された各種プログラムを実行することにより、当該画像データに対する各種演算処理を含む画像処理を制御する。画像データには、複数の各画素を表す画素データが含まれている。画像処理に含まれる演算処理とは、例えば、シェーディング補正処理（画像読取ユニットでの光源の照度分布ムラを補正する処理）、スキャナーγ補正処理（画像読取ユニットでの濃度特性を補正する処理）、ＭＴＦ補正処理、平滑処理、主走査方向の任意変倍処理、濃度変換処理（γ変換処理：濃度ノッチに対応）、単純多値化処理、単純二値化処理、誤差拡散処理、ディザ処理、ドット配置位相制御処理（右寄りドット、左寄りドット）、孤立点除去処理、像域分離処理（色判定、属性判定、適応処理）、密度変換処理、画像合成処理、画像シフト処理（主走査および副走査方向の画像のシフト）、画像領域拡張処理（画像領域を周辺へ任意量だけ拡大することが可能）、画像変倍処理（たとえば、５０％または２００％の固定変倍）、画質調整処理などである。これらの演算処理には、画像データに含まれる複数の画素データに対して同時に行うものや、画素データ毎にパイプライン形式で行うものとがある。また、これらの演算処理には各々、例えば、演算処理番号が付与されている。
【００１３】
ここで、ＣＰＵ５２が画像処理を制御する方法について具体的に説明する。ＣＰＵ５２は、各種演算処理を実行するためのプログラムを逐次演算処理部５４と、並列演算処理部５５とに対して内部Ｉ／Ｆ５６を介して送信する。尚、プログラムの送信は、演算処理の実行前であれば高速演算ユニット５１の起動時であっても演算処理の実行直前であっても良いが、転送時間を省略するため、高速演算ユニット５１の起動時であることが望ましい。そして、ＣＰＵ５２は、命令された画像処理に含まれる演算処理について、所定の条件に応じて、その実行主体を決定する、即ち、ＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５のいずれで実行するかを決定する。ＣＰＵ向けに最適化された画像処理において、基本的にはＣＰＵ５２が演算処理を実行するが、逐次演算処理部５４又は並列演算処理部５５が実行した方が高速になる演算処理については、これらのいずれかで演算処理を実行する。各演算処理について、ＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５のうちいずれで実行することによって高速になるかは事前の検証によって判定を行っても良いし、画像処理の実行中に判定を行っても良い。本実施の形態においては、事前の検証によって判定が行なわれて、演算処理毎に、ＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５のうちいずれで実行するかを設定したテーブルをＲＡＭ５３に予め記憶させておく。例えば、演算処理毎に、演算処理番号と、ＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５のうちいずれかを実行主体として示す実行主体情報とを対応付けた演算処理対応テーブルがＲＡＭ５３に記憶される。ＣＰＵ５２は、実行が命令された画像処理に含まれる演算処理について、演算処理対応テーブルを参照して、当該演算処理の演算処理番号に対応付けられた実行主体情報によって示されるＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５のうちいずれかを実行主体として決定する。即ち、本実施の形態においては、高速に実行可能であると予め設定されていることを所定の条件として、演算処理の実行主体が決定される。そして、ＣＰＵ５２は、逐次演算処理部５４が実行すると決定した場合、当該演算処理の内容を示す演算処理情報を逐次演算処理部５４に内部Ｉ／Ｆ５６を介して送信し、並列演算処理部５５が実行すると決定したした場合、当該演算処理の内容を示す演算処理情報を並列演算処理部５５に内部Ｉ／Ｆ５６を介して送信する。
【００１４】
図３は、演算処理情報を例示する図である。同図に示されるように、演算処理情報は、演算処理番号と、演算処理の内容を示すコードと、処理対象の画像データのデータサイズと、演算処理時に用いるパラメータとを示す。パラメータは、例えば、演算処理が画質調整処理である場合などに用いられる。
【００１５】
図２の説明に戻る。ＣＰＵ５２は、並列演算処理部５５から演算処理の完了が内部Ｉ／Ｆ５６を介して通知されたり、逐次演算処理部５４から演算処理の完了が内部Ｉ／Ｆ５６を介して通知されたりした後、画像処理全体の完了を判定すると、ＲＡＭ５３に記憶された演算処理後の画像データを画像処理ユニット５０に外部Ｉ／Ｆ１００を介して送信する。この結果、画像処理ユニット５０に含まれる画像形成ユニットにおいて、当該画像データを用いて、印刷媒体に画像が形成される。
【００１６】
並列演算処理部５５は、ＳＩＭＤ（Ｓｉｎｇｌｅ Ｉｎｓｔｒｕｃｔｉｏｎ Ｍｕｌｔｉｐｌｅ Ｄａｔａ ｓｔｒｅａｍ）形式で演算処理を実行する演算処理回路であり、ＡＬＵ（算術論理演算ユニット）と、ＤＭＡ（Direct Memory Access）部と、記憶部とを有する。記憶部は、並列演算処理部５５が画像データに対して演算処理を実行するための各種プログラムを記憶する。当該プログラムはＣＰＵ５２から内部Ｉ／Ｆ５６を介して転送される。また、記憶部は、並列演算処理部５５が実行することが可能な演算処理を示す並列演算処理可能テーブルを記憶する。並列演算処理可能テーブルは、例えば、並列演算処理部５５が実行することが可能な演算処理の演算番号と、当該演算処理の受け入れが可能か否かを示す受入可否状態とを対応付けて示す。例えば、演算処理の受け入れができない状態とは、例えば、並列演算処理部５５が既に演算処理を実行中であり、他の演算処理を実行することができない状態である。ＤＭＡ部は、ＣＰＵ５２を介さずに、ＲＡＭ５３にアクセスして、ＲＡＭ５３に記憶された画像データを読み出したり、ＡＬＵが演算を行った結果（演算結果）をＲＡＭ５３に書き込んだりする。ＡＬＵは、ｎ個のレジスターを１セットとしてｍ組で構成されるレジスター・ファイルに対して並列にｎ個接続されている。ＡＬＵには、ＤＭＡ部が読み出した画像データに含まれる画素データのうち２つの画素毎に画素データが入力され、ＡＬＵは、当該画素データに対して加算、減算、乗算、除算、論理演算処理等の演算を行う。このとき、１命令で同時にｎ個のＡＬＵが同じ演算を行う。そして、ＡＬＵは、演算結果をレジスター・ファイルに書き戻す。このような構成において、並列演算処理部５５は、ＣＰＵ５２が内部Ｉ／Ｆ５６を介して送信した演算処理情報を受け取ると、並列演算処理可能テーブルを参照して、演算処理情報によって示される演算番号の演算処理を実行することが可能か否か及び当該演算処理を受け入れ可能か否かを判定する。当該判定結果が肯定的である場合、並列演算処理部５５は、ＤＭＡ部により、ＲＡＭ５３にアクセスして処理対象の画像データをＲＡＭ５３から読み出し、演算処理の内容に応じて、ＡＬＵにより、当該画像データに対して演算を行い、演算結果となる演算処理後の画像データをＤＭＡ部によりＲＡＭ５３に送る。この結果、演算処理後の画像データがＲＡＭ５３に書き込まれて記憶される。そして、並列演算処理部５５は、演算処理の完了を割り込みなどにより内部Ｉ／Ｆ５６を介してＣＰＵ５２に通知する。
【００１７】
逐次演算処理部５４は、逐次的に実行しなければならない演算処理を高速に実行可能な演算処理回路であり、演算部と、ＤＭＡ部と、記憶部とを有する。尚、逐次的に実行しなければならない演算処理とは、画素データ毎に実行する処理であり、画像処理に含まれる演算処理としては、例えば、演算結果が次の画素に伝播する誤差拡散処理が代表格である。尚、画像処理以外では、一般的なコンピュータプログラムも命令を順次実行していく意味で、逐次的といえる。記憶部は、逐次演算処理部５４が画像データに対して演算処理を実行するための各種プログラムを記憶する。当該プログラムはＣＰＵ５２から内部Ｉ／Ｆ５６を介して転送される。また、記憶部は、逐次演算処理部５４が実行することが可能な演算処理を示す逐次演算処理可能テーブルを記憶する。逐次演算処理可能テーブルは、例えば、逐次演算処理部５４が実行することが可能な演算処理の演算番号と、当該演算処理の受け入れが可能か否かを示す受入可否状態とを対応付けて示す。例えば、演算処理の受け入れができない状態とは、例えば、逐次演算処理部５４が既に演算処理を実行中であり、他の演算処理を実行することができない状態である。ＤＭＡ部は、ＣＰＵ５２を介さずに、ＲＡＭ５３にアクセスして、ＲＡＭ５３に記憶された画像データを読み出したり、演算部が演算を行った結果（演算結果）をＲＡＭ５３に書き込んだりする。演算部には、ＤＭＡ部がＲＡＭ５３から読み出した処理対象の画像データが入力され、演算部は、当該画像データに対して上述した逐次的な演算処理を実行する。このような構成において、逐次演算処理部５４は、ＣＰＵ５２が内部Ｉ／Ｆ５６を介して送信した演算処理情報を受け取ると、逐次演算処理可能テーブルを参照して、演算処理情報によって示される演算番号の演算処理を実行することが可能か否か及び当該演算処理を受け入れ可能か否かを判定する。当該判定結果が肯定的である場合、逐次演算処理部５４は、ＤＭＡ部により、ＲＡＭ５３にアクセスして処理対象の画像データをＲＡＭ５３から読み出し、演算処理の内容に応じて、演算部により、当該画像データに対してパイプライン的に演算を行い、演算後の画像データをＤＭＡ部によりＲＡＭ５３に送る。この結果、演算後の画像データがＲＡＭ５３に書き込まれて記憶される。そして、逐次演算処理部５４は、演算処理の完了の演算処理の完了を割り込みなどにより内部Ｉ／Ｆ５６を介してＣＰＵ５２に通知する。
【００１８】
このような逐次演算処理部５４を実現するものとしてはハードウェア回路（ASIC、FPGA）、パイプライン状にＡＬＵなどの演算素子が連なったデバイス、命令の並列性を向上させたVLIW方式のプロセッサなどである。画像処理に含まれる演算処理を実行する場合にはハードウェア回路が有効である。多様な画像処理を実行する上では完全に固定のASICより、回路変更に融通の利くFPGAが望ましい。更に、FPGA上の回路が電源投入後に書き換えられるデバイスであれば、より多くの処理が実装できると言う意味において、望ましい。回路を書き換え可能なFPGAにより逐次演算処理部５４を構成する場合、ＣＰＵ５２は、演算処理情報を逐次演算処理部５４に送信した後、当該回路を書き換え、書き換えの完了後、FPGAが処理対象の画像データを受入可能かを自己判定する機能を有することが望ましい。当該回路を書き換えるための構成情報はFPGAに接続ないしは内蔵されているフラッシュメモリにおいてあっても良いし、ＣＰＵ５２から構成情報を書き込む方法で回路の書き換えを実現しても良い。
【００１９】
次に、本実施の形態にかかる高速演算ユニット５１の行う処理の手順について図４を用いて説明する。高速演算ユニット５１の起動時に、ＣＰＵ５２は、画像処理に含まれる演算処理を実行するためのプログラムを並列演算処理部５５に対して送信すると共に（ステップＳ１）、画像処理に含まれる演算処理を実行するためのプログラムを逐次演算処理部５４に対して送信する（ステップＳ２）。そして、ＣＰＵ５２は、画像データと当該画像データに対する画像処理の実行の命令との入力を受け付けると、当該画像データ及び当該画像処理後の画像データを記憶させるためのメモリ領域をＲＡＭ５３に確保する（ステップＳ３）。そして、ＣＰＵ５２は、実行が命令された画像処理に含まれる演算処理について、演算処理対応テーブルを参照して、当該演算処理の演算処理番号に対応付けられた実行主体情報によって示されるＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５のうちいずれかを実行主体として決定する。ここでは、実行主体として逐次演算処理部５４が決定されるものとする。この場合、ＣＰＵ５２は、演算処理の内容を示す演算処理情報を逐次演算処理部５４に送信する（ステップＳ４）。
【００２０】
逐次演算処理部５４は、ＣＰＵ５２が送信した演算処理情報を受け取ると、逐次演算処理可能テーブルを参照して、演算処理情報によって示される演算番号の演算処理を実行することが可能か否か及び当該演算処理を受け入れ可能か否かを判定する（ステップＳ５）。当該判定結果が肯定的である場合（ステップＳ５：ＹＥＳ）、逐次演算処理部５４は、ＤＭＡ部を起動して（ステップＳ６）、ＲＡＭ５３にアクセスして処理対象の画像データをＲＡＭ５３から読み出す（ステップＳ７）。そして、逐次演算処理部５４は、演算処理情報によって示される演算処理の内容に応じて、当該画像データに対して演算を行い（ステップＳ８）、演算が完了すると、ＤＭＡ部を起動して（ステップＳ９）、演算後の画像データをＲＡＭ５３に送る（ステップＳ１０）。この結果、演算後の画像データがＲＡＭ５３に書き込まれて記憶される。そして、逐次演算処理部５４は、演算処理の完了をＣＰＵ５２に通知する（ステップＳ１１）。
【００２１】
尚、実行主体として並列演算処理部５５が決定された場合には、ステップＳ３が並列演算処理部５５に対して行われ、ステップＳ４〜Ｓ１１を並列演算処理部５５が行うことになる。
【００２２】
以上のように、ＣＰＵ５２にとっては負荷の重く複雑な画像処理について、並列に実行可能な演算処理を並列演算処理部５５に実行させ、逐次的に実行する演算処理をパイプライン形式で逐次演算処理部５４に実行させる。これにより、ＣＰＵ向けの複雑な演算処理や多様な演算処理を高速に実行することが可能になる。
【００２３】
[第２の実施の形態]
次に、情報処理装置及び情報処理方法の第２の実施の形態について説明する。なお、上述の第１の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００２４】
上述の第１の実施の形態においては、ＣＰＵ５２の処理速度が高速で、画像処理の実行時にＣＰＵ５２の負荷が低い場合には、逐次演算処理部５４又は並列演算処理部５５ではなく、ＣＰＵ５２が演算処理を実行した方が高速になり、演算処理に係る時間が短くなる場合も有り得る。本実施の形態においては、この場合にはＣＰＵ５２が演算処理を実行べく、ＣＰＵ５２が、画像処理に含まれる複数の異なる演算処理について、ＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５の各負荷状況と、各演算処理能力とに応じて、各演算処理の実行主体を決定し、複数の演算処理に係る時間が最短となるよう各演算処理の実行順序を決定する。
【００２５】
ここで、本実施の形態に係る高速演算ユニット５１のハードウェア構成及び機能的構成について図６を用いて説明する。ＣＰＵ５２は、演算箇所決定部及び負荷算出部の各機能を有し、逐次演算処理部５４及び並列演算処理部５５は各々負荷算出部の各機能を有する。ＲＡＭ５３は、画像処理に含まれ得る各演算処理に対するＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５のそれぞれの演算処理能力を記憶する。ＣＰＵ５２の負荷算出部は、ＣＰＵ５２の負荷量を算出する。逐次演算処理部５４の負荷算出部は、逐次演算処理部５４の負荷量を算出する。並列演算処理部５５の負荷算出部は、並列演算処理部５５の負荷量を算出する。演算箇所決定部は、ＣＰＵ５２の負荷量、逐次演算処理部５４の負荷量及び並列演算処理部５５の負荷量と、ＲＡＭ５３に記憶された各演算処理に対するＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５の演算処理能力とを用いて、画像処理に含まれる各演算の実行主体をＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５のうちいずれにするかを各々決定して、複数の演算処理に係る時間が最短となるよう各演算処理の実行順序を決定する。
【００２６】
次に、本実施の形態にかかる演算箇所決定処理の手順について図７を用いて説明する。ＣＰＵ５２は、自身の負荷量を算出する（ステップＳ３０）。逐次演算処理部５４は、自身の負荷量を算出して（ステップＳ３１）、これをＣＰＵ５２に内部Ｉ／Ｆ５６を介して通知する（ステップＳ３３）。並列演算処理部５５は、自身の負荷量を算出して（ステップＳ３２）、これをＣＰＵ５２に内部Ｉ／Ｆ５６を介して通知する（ステップＳ３４）。ＣＰＵ５２は、ステップＳ３０で算出した自身の負荷量、ステップＳ３３で通知された逐次演算処理部５４の負荷量及びステップＳ３４で通知された並列演算処理部５５の負荷量と、ＲＡＭ５３に記憶された各演算処理に対するＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５の演算処理能力とを用いて、画像処理に含まれる各演算の実行主体をＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５のうちいずれにするかを各々決定して、演算処理の実行順序を決定する（ステップＳ３５）。例えば、画像処理に各々異なる演算処理Ａ，Ｂ，Ｃが含まれている場合、ＣＰＵ５２は、演算処理Ａの実行主体はＣＰＵ５２であると決定し、演算処理Ｂの実行主体は並列演算処理部５５であると決定し、演算処理Ｃの実行主体は逐次演算処理部５４であると決定し、演算処理Ａ，Ｂ，Ｃの順で実行することを決定する。そして、ＣＰＵ５２は、この順に演算処理が実行されるように、自身が演算処理Ａの実行を完了した後、図４のステップＳ４〜Ｓ１１で説明したように、演算処理Ｂに関する演算処理情報を並列演算処理部５５に送信して、演算処理Ｂを並列演算処理部５５に実行させ、演算処理の完了が並列演算処理部５５から通知されると、同様に、演算処理Ｃに関する演算処理情報を逐次演算処理部５４に送信し、演算処理Ｃを逐次演算処理部５４に実行させる。
【００２７】
尚、上述の例では演算処理単位毎に実行主体を変えているが、１つの演算処理における部分毎に実行主体を変えるようにしても良い。即ち、１つの演算処理について、ＣＰＵ５２及び逐次演算処理部５４が分担して実行したり、ＣＰＵ５２及び並列演算処理部５５が分担して実行したりしても良い。この場合は、ＣＰＵ５２は、これらの実行主体の負荷量に応じて、分担して演算処理を実行する対象の画像データのデータ量を変更することが望ましい。
【００２８】
以上のような構成によれば、ＣＰＵ向けの複雑な演算処理や多様な演算処理をより高速に実行することが可能になる。
【００２９】
[第３の実施の形態]
次に、情報処理装置及び情報処理方法の第３の実施の形態について説明する。なお、上述の第１の実施の形態又は第２の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００３０】
第１の実施の形態で説明したように、異なる種類のＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５の各演算処理部を接続して演算処理を実行する場合、各演算処理部での処理時間に加え、各演算処理部間の画像データの受け渡しや様々な制御に伴うオーバーヘッドが生じ得る(図５参照)。これも高速演算ユニット５１のスループット性能を決定する重要な因子となりうる。また、図２に例示した第１の実施の形態に係る高速演算ユニット５１の構成においては、並列演算処理部５５が演算処理を実行した後、逐次演算処理部５４が演算処理を実行する場合、並列演算処理部５５が演算処理を実行した後の画像データをＲＡＭ５３に一旦書き出す必要がある。このため、並列演算処理部５５が実行する演算処理及び逐次演算処理部５４が実行する演算処理が逐次的に実行されることになる。本実施の形態においては、並列演算処理部５５が実行する演算処理及び逐次演算処理部５４が実行する演算処理が連続的に実行されるようにする。ここで、本実施の形態に係る高速演算ユニット５１のハードウェア構成について図８を用いて説明する。同図に示されるように、逐次演算処理部５４と並列演算処理部５５とは、内部バスを介して接続され、これらは、内部バスを介して画像データの送受信が可能である。画像データの送受信は、例えば図９に示されるように、パラレル信号により行われる。尚、逐次演算処理部５４と並列演算処理部５５との間の通信の方向は、前者から後者へ又は後者から前者への片方向であっても良いし、双方向であっても良い。
【００３１】
ＣＰＵ５２は、実行が命令された画像処理に含まれる各演算処理について、演算処理対応テーブルを参照して、各演算処理の演算処理番号に対応付けられた実行主体情報によって示されるＣＰＵ５２、逐次演算処理部５４及び並列演算処理部５５のうちいずれかを実行主体として各々決定し、各演算処理の実行順序を決定する。各演算処理の実行順序は、予め設定されているようにしても良いし、第２の実施の形態で説明した演算箇所決定部の機能により決定するようにしても良い。そして、ＣＰＵ５２は、逐次演算処理部５４に対して、逐次演算処理部５４が実行すべき演算処理の内容を示すと共に、処理対象の画像データがどこから入力され、演算処理後の画像データどこに出力するかを示す演算処理情報を送信し、並列演算処理部５５に対して、並列演算処理部５５が実行すべき演算処理の内容を示すと共に、処理対象の画像データがどこから入力され、演算処理後の画像データどこに出力するかを示す演算処理情報を送信する。この演算処理情報は、例えば、図３に例示した演算処理番号と、演算処理の内容を示すコードと、処理対象の画像データのデータサイズと、演算処理時に用いるパラメータとに加え、処理対象の画像データの入力元と、演算処理後の画像データの出力先とを示す。処理対象の画像データの入力元及び演算処理後の画像データの出力先とは、ＲＡＭ５３、逐次演算処理部５４及び並列演算処理部５５のいずれかである。
【００３２】
逐次演算処理部５４は、ＣＰＵ５２が送信した演算処理情報を受け取ると、逐次演算処理可能テーブルを参照して、演算処理情報によって示される演算番号の演算処理を実行することが可能か否かを判定する。当該判定結果が肯定的である場合、逐次演算処理部５４は、演算処理情報によって示される入力元から当該画像データを取得する。当該入力元がＲＡＭ５３である場合、第１の実施の形態と同様に、逐次演算処理部５４は、ＤＭＡ部により、ＲＡＭ５３にアクセスして処理対象の画像データをＲＡＭ５３から読み出す。また、当該入力元が並列演算処理部５５である場合、逐次演算処理部５４は、処理対象の画像データを内部バスを介して並列演算処理部５５から受け取る。そして、逐次演算処理部５４は、演算処理の内容に応じて、演算部により、当該画像データに対して演算処理を行い、演算処理後の画像データを、演算処理情報によって示される出力先に送る。当該出力先がＲＡＭ５３である場合、第１の実施の形態と同様に、逐次演算処理部５４は、ＤＭＡ部により、演算処理後の画像データをＲＡＭ５３に送ると共に、演算処理の完了をＣＰＵ５２に通知する。また、当該出力先が並列演算処理部５５である場合、逐次演算処理部５４は、演算処理後の画像データを並列演算処理部５５に内部バスを介して送る。
【００３３】
並列演算処理部５５は、ＣＰＵ５２が送信した演算処理情報を受け取ると、逐次演算処理可能テーブルを参照して、演算処理情報によって示される演算番号の演算処理を実行することが可能か否かを判定する。当該判定結果が肯定的である場合、逐次演算処理部５４は、演算処理情報によって示される入力元から当該画像データを取得する。当該入力元がＲＡＭ５３である場合、第１の実施の形態と同様に、並列演算処理部５５は、ＤＭＡ部により、ＲＡＭ５３にアクセスして処理対象の画像データをＲＡＭ５３から読み出す。また、当該入力元が逐次演算処理部５４である場合、並列演算処理部５５は、処理対象の画像データを内部バスを介して逐次演算処理部５４から受け取る。そして、並列演算処理部５５は、演算処理の内容に応じて、演算部により、当該画像データに対して演算処理を行い、演算処理後の画像データを、演算処理情報によって示される出力先に送る。当該出力先がＲＡＭ５３である場合、第１の実施の形態と同様に、並列演算処理部５５は、ＤＭＡ部により、演算処理後の画像データをＲＡＭ５３に送ると共に、演算処理の完了をＣＰＵ５２に通知する。また、当該出力先が逐次演算処理部５４である場合、並列演算処理部５５は、演算処理後の画像データを逐次演算処理部５４に内部バスを介して送る。
【００３４】
次に、本実施の形態にかかる高速演算ユニット５１の行う処理の手順について図１０を用いて説明する。ステップＳ１〜Ｓ３は第１の実施の形態と同様である。そして、ＣＰＵ５２は、実行が命令された画像処理に含まれる各演算処理について、第１の形態乃至第２の実施の形態と同様にして、その実行主体を決定し、各演算処理の実行順序を決定する。ここでは、画像処理に２つの演算処理が含まれ、一方の演算処理の実行主体が逐次演算処理部５４であり、他方の演算処理の実行主体が並列演算処理部５５であると決定され、逐次演算処理部５４が一方の演算処理を実行した後、逐次演算処理部５４が一方の演算処理を実行することが決定されるものとする。そして、ステップＳ４Ｂでは、ＣＰＵ５２は、逐次演算処理部５４に対して、一方の演算処理の内容を示すと共に、処理対象の画像データの入力元がＲＡＭ５３であることを示し、演算処理後の画像データの出力先が並列演算処理部５５であることを示す演算処理情報を送信する。また、ステップＳ４Ａでは、ＣＰＵ５２は、並列演算処理部５５に対して、一方の演算処理の内容を示すと共に、処理対象の画像データの入力元が逐次演算処理部５４であることを示し、演算処理後の画像データの出力先がＲＡＭ５３であることを示す演算処理情報を送信する。
【００３５】
ステップＳ５Ａ〜Ｓ５Ｂ、Ｓ６〜８は第１の実施の形態と同様である。尚、ステップＳ６では、逐次演算処理部５４は、演算処理情報によって示される入力元から当該画像データを取得するが、当該入力元はＲＡＭ５３であるため、第１の実施の形態と同様に、ＲＡＭ５３から処理対象の画像データを読み出す。ステップＳ４０では、逐次演算処理部５４は、演算処理後の画像データを、演算処理情報によって示される出力先である並列演算処理部５５に送る。ステップＳ４１では、並列演算処理部５５は、ステップＳ５Ａの判定結果が肯定的である場合に、演算処理情報によって示される入力先である逐次演算処理部５４から送られた画像データを受け取ると、演算処理情報によって示される演算処理の内容に応じて、当該画像データに対して演算処理を実行する。ここでは、演算処理情報によって示される出力先であるから、逐次演算処理部５４は、演算処理が完了すると、ＤＭＡ部を起動して（ステップＳ４２）、演算処理後の画像データをＲＡＭ５３に送る（ステップＳ４３）。そして、並列演算処理部５５は、演算処理の完了をＣＰＵ５２に通知する（ステップＳ４４）。
【００３６】
以上のような構成によれば、並列演算処理部５５が実行する演算処理及び逐次演算処理部５４が実行する演算処理が連続的に実行されることが可能であり、図１１に示されるように、第１の実施の形態に比べて、オーバーヘッドを減らすことが可能になる。このため、ＣＰＵ向けの複雑な演算処理や多様な演算処理をより高速に実行することが可能になる。
【００３７】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００３８】
上述した各実施の形態において、ＣＰＵ５２で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。逐次演算処理部５４で実行される各種プログラム及び並列演算処理部５５で実行される各種プログラムについても同様である。
【００３９】
上述した各実施の形態において、画像形成装置は、画像処理ユニット５０を備えるようにした。画像処理ユニット５０としては、例えば、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも１つの機能を実現させるものであれば良い。
【００４０】
上述の各実施の形態においては、逐次演算処理部５４及び並列演算処理部５５は、演算処理の完了の通知をＣＰＵ５２に送信するようにしたが、これに限らない。例えば、内部Ｉ／Ｆ５６を介してＣＰＵ５２がアクセス可能なレジスタを設け、当該レジスタに、逐次演算処理部５４が演算処理の実行状態を書き込み、ＣＰＵ５２が当該レジスタを監視することにより、ＣＰＵ５２は、演算処理の完了を判定するようにしても良い。並列演算処理部５５についても同様である。
【００４１】
上述の各実施の形態においては、演算処理単位毎に実行主体を変えるようにしたが、１つの演算処理における部分毎に実行主体を変えるようにしても良い。即ち、１つの演算処理について、ＣＰＵ５２及び逐次演算処理部５４が分担して実行したり、ＣＰＵ５２及び並列演算処理部５５が分担して実行したりしても良い。この場合は、ＣＰＵ５２は、これらの実行主体の負荷量に応じて、分担して演算処理を実行する対象の画像データのデータ量を変更することが望ましい。
【００４２】
具体的に例えば、図４のステップＳ８で逐次演算処理部５４が実行する演算処理又は並列演算処理部５５が実行する演算処理をＣＰＵ５２は実行可能であるから、ステップＳ８と並行して、当該演算処理を実行するようにしても良い。即ち、ＣＰＵ５２は、１つの演算処理について、所定の条件に応じて、ＣＰＵ５２と逐次演算処理部５４とが実行する又はＣＰＵ５２と並列演算処理部５５とが実行すると決定し、一方の実行主体が当該演算処理を実行する画像データの部分及び他方の実行主体が当該演算処理を実行する画像データの部分を決定する。ここでの所定の条件は、上述の第１の実施の形態と同様であっても良いし、第２の実施の形態と同様であっても良い。また、各実行主体に対する画像データの部分を決定する方法は、例えば、所定の割合に応じて当該画像データを分割して各々に割り当てるようにしても良いし、上述の第２の実施の形態で説明した付加量や演算処理能力に応じて当該画像データを分割して各々に割り当てるようにしても良い。次に、本変形例に係る高速演算ユニット５１の行う処理の手順について図１２を用いて説明する。ステップＳ１〜Ｓ６は第１の実施の形態と同様である。但し、ステップＳ４では、ＣＰＵ５２は、処理対象の画像データの一部を逐次演算処理部５４が演算処理を実行するように演算処理情報において指定して、当該演算処理情報を逐次演算処理部５４に送信する。そして、ステップＳ７では、逐次演算処理部５４は、演算処理情報において指定された、処理対象の画像データの一部をＲＡＭ５３から読み出して、ステップＳ８では、当該画像データに対して演算処理を実行する。ステップＳ９〜Ｓ１１は第１の実施の形態と同様である。一方、ＣＰＵ５２は、ステップＳ２０で、処理対象の画像データの一部を除いた部分の画像データに対して演算処理を実行する。並列演算処理部５５が実行する演算処理についても同様である。以上のような構成によれば、ＣＰＵ向けの複雑な演算処理や多様な演算処理をより高速に実行することが可能になる。
【００４３】
上述の第２の実施の形態においては、逐次演算処理部５４と並列演算処理部５５とを接続する手段は、内部バスに限らず、PCIバス、PCIエクスプレスのような汎用インターフェースによりようにしても良い。また、逐次演算処理部５４と並列演算処理部５５との間の通信は、例えば、パケット方式に従ったものであっても良い。
【符号の説明】
【００４４】
５０  画像処理ユニット
５１  高速演算ユニット
５２  ＣＰＵ
５３  ＲＡＭ
５４  逐次演算処理部
５５  並列演算処理部
５６  内部Ｉ／Ｆ
１００  外部Ｉ／Ｆ
【先行技術文献】
【特許文献】
【００４５】
【特許文献１】特許第３８８７１３４号公報
【図１】
0005560785.tif 000002
【図２】
0005560785.tif 000003
【図３】
0005560785.tif 000004
【図４】
0005560785.tif 000005
【図５】
0005560785.tif 000006
【図６】
0005560785.tif 000007
【図７】
0005560785.tif 000008
【図８】
0005560785.tif 000009
【図９】
0005560785.tif 000010
【図１０】
0005560785.tif 000011
【図１１】
0005560785.tif 000012
【図１２】
0005560785.tif 000013