(57)【要約】【課題】  処理性能を向上させるためにプロセッサの数を増加すると、共有のメモリに対するアクセスが集中してスループットが低下する。【解決手段】  メインメモリ２０２と複数のプロセッサ２３０〜２３３とを有し、複数のＤＳＰにより並行して画像処理を行う画像処理装置とその制御方法であって、各ＤＳＰが独立してアクセス可能な固有メモリ２３４〜２３７と、複数のＤＳＰが共通してアクセス可能な共有メモリ２４０と、メインメモリと共有メモリとの間で画像データを転送するＤＭＡＣ２３９とを有し、各共有メモリに転送された画像データのうち、各ＤＳＰの処理対象の画像データを、そのＤＳＰに対応する固有メモリに転送して画像処理を行って共有メモリに書き戻し、各ＤＳＰの処理対象の画像データの周辺画像データを参照する画像処理の場合は、共有メモリに格納されている画像データを参照する。【選択図】  図２
2009295032.tif 000002
【特許請求の範囲】
【請求項１】
メインメモリと複数のプロセッサとを有し、前記複数のプロセッサにより並行して画像処理を行う画像処理装置であって、
前記複数のプロセッサのそれぞれに設けられ、各プロセッサが独立してアクセス可能な固有メモリと、
前記複数のプロセッサが共通してアクセス可能な共有メモリと、
前記メインメモリと前記共有メモリとの間で画像データを転送する転送手段とを有し、
前記各プロセッサは、
前記転送手段により前記共有メモリに転送された画像データのうち、当該プロセッサの処理対象の画像データを当該プロセッサに対応する前記固有メモリに転送して画像処理を行って前記共有メモリに書き戻し、
当該プロセッサの処理対象の画像データの周辺画像データを参照する画像処理の場合は、前記共有メモリに格納されている画像データを参照することを特徴とする画像処理装置。
【請求項２】
前記複数のプロセッサ間の処理の同期をとるための同期手段を更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記同期手段は、前記複数のプロセッサの全てが同期リクエスト信号を発行したことに応じて、前記複数のプロセッサの全てから同期応答が発行されたことを前記複数のプロセッサに通知することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記処理対象の画像データの周辺画像データを参照する画像処理の場合に、前記共有メモリに記憶された画像データの先頭と末尾の重複部分の画像データを処理するプロセッサを更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記処理対象の画像データの高さをＢ[pixel]、幅をＡ[pixel]、周辺画像データを参照する画像処理に必要な画像データの重複幅をＨ[pixel]、周辺画像データを参照する画像処理に必要な画像データの重複高さをＶ[pixel]としたとき、
前記共有メモリの容量は式（１）で得られる容量よりも多く、
（Ａ[pixel]×Ｎ＋２×Ｈ[pixel]）×（Ｂ[pixel]＋２×Ｖ[pixel]）×Ｐ[byte]×１[bank]    …式（１）
（Ａ[pixel]×Ｎ＋２×Ｈ[pixel]）÷Ｎ）×（Ｂ[pixel]＋２×Ｖ[pixel]）×Ｐ[byte]×１[bank]  …式（２）
ここで、Ｐ[byte]は１画素データのバイト数を示し、
前記固有メモリの容量が、式（２）で得られる容量よりも多いことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
メインメモリと複数のプロセッサとを有し、前記複数のプロセッサにより並行して画像処理を行う画像処理装置の制御方法であって、
前記メインメモリから前記複数のプロセッサが共通してアクセス可能な共有メモリへ画像データを転送する転送工程と、
前記転送工程で前記共有メモリに転送された前記画像データのうち、各プロセッサの処理対象の画像データを当該各プロセッサに対応する、各プロセッサが独立してアクセス可能な固有メモリに転送する工程と、
各プロセッサが、前記固有メモリに転送された画像データに対して画像処理を行う処理工程と、
前記画像処理において、当該各プロセッサの処理対象の画像データの周辺画像データを参照する画像処理の場合は、前記共有メモリに格納されている画像データを参照する工程と、
処理済みの画像データを前記各プロセッサに対応する前記固有メモリから前記共有メモリに転送する工程と、
前記共有メモリの画像データが処理済みになると、当該画像データを前記メインメモリに転送する工程と、
を有することを特徴とする画像処理装置の制御方法。
【請求項７】
前記複数のプロセッサ間の処理の同期をとるための同期工程を更に有することを特徴とする請求項６に記載の画像処理装置の制御方法。
【請求項８】
前記同期工程では、前記複数のプロセッサの全てが同期リクエスト信号を発行したことに応じて、前記複数のプロセッサの全てから同期応答が発行されたことを前記複数のプロセッサに通知することを特徴とする請求項７に記載の画像処理装置の制御方法。
【請求項９】
前記処理対象の画像データの高さをＢ[pixel]、幅をＡ[pixel]、周辺画像データを参照する画像処理に必要な画像データの重複幅をＨ[pixel]、周辺画像データを参照する画像処理に必要な画像データの重複高さをＶ[pixel]としたとき、
前記共有メモリの容量は式（１）で得られる容量よりも多く、
（Ａ[pixel]×Ｎ＋２×Ｈ[pixel]）×（Ｂ[pixel]＋２×Ｖ[pixel]）×Ｐ[byte]×１[bank]    …式（１）
（Ａ[pixel]×Ｎ＋２×Ｈ[pixel]）÷Ｎ）×（Ｂ[pixel]＋２×Ｖ[pixel]）×Ｐ[byte]×１[bank]  …式（２）
ここで、Ｐ[byte]は１画素データのバイト数を示し、
前記固有メモリの容量が、式（２）で得られる容量よりも多いことを特徴とする請求項６乃至８のいずれか１項に記載の画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサの並列処理によって画像処理を実現する画像処理装置及びその制御方法に関するものである。
【背景技術】
【０００２】
従来の複写機やプリンタ、ファクシミリの制御部のハードウェアでは、印刷用の画像処理、ページ記述言語（以下、ＰＤＬ）から印刷画像へのレンダリング、スキャナ画像処理などを実施する専用画像処理回路を設けている。また最近のマルチファンクションプリンタ（ＭＦＰ）の制御部でも、このような専用画像処理回路を個別に有し、複写動作中にページ記述言語から印刷画像へのレンダリングを実施するという並列処理を可能にしている。また、このような並列処理を制限し、画像スプールのメモリ量を削減することにより制御部のコストを削減するＭＦＰも存在している。このように並列処理を制限してコスト低減を実現した場合、同時に動作しない専用画像処理回路を持つことは不経済である。
【０００３】
そこでデジタルシグナルプロセッサ（以下、ＤＳＰ）やコンフィギャラブルプロセッサ、汎用ＣＰＵ等のソフトウェアによって処理が切り替えられるプロセッサを専用画像処理回路の代わりに設けることが提案されている。これによれば、複写やプリント、ファクシミリといった機器の動作に応じて各プロセッサによる処理を切り替えている。
【０００４】
従来の専用画像処理回路では、個別の画像処理のパイプライン処理を実現している。それによれば、処理性能をより向上させるために、複数のプロセッサで専用画像処理回路の置き換え処理を実施する場合に、専用画像処理回路と同等に個別の画像処理を個別のプロセッサに割り当てることが知られている（特許文献１）。
【特許文献１】特開２００６−１３３８３９
【特許文献２】特開２００６−１３９８０３
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来技術の第一の課題は、複数のプロセッサのそれぞれに互いに異なる画像処理を割り当ててパイプライン処理を実現した場合には、各画像処理の計算量が異なるために各プロセッサの処理時間が異なってしまう。これにより、パイプライン処理のスループットが最も処理時間の長いプロセッサの処理時間によって制限されると共に、パイプライン処理の各ステージにおいて待ち時間が生じてしまうため効率が悪いという課題があった。
【０００６】
この第一の課題に付随する課題として、効率を改善するために特許文献１に記載されているようなパイプライン処理の各ステージ間において負荷分散を行うと、処理のオーバーヘッドが大きく処理効率の向上が難しい。更に第一の課題を改善するために、コンフィギャラブルプロセッサを用いてパイプラインステージの各画像処理の処理時間を揃える場合、他の専用画像処理回路の処理を代行して異なる画像処理を実施した場合には処理時間が揃えられなくなる。このため、複数の処理に跨った処理効率が向上が期待できない。
【０００７】
また第二の課題は、処理性能を向上させるためにプロセッサの数を増加したり、或はコストを削減するためにプロセッサの数を削減すると、パイプライン処理における各ステージへの画像処理の割り当てを再度行う必要が生じる。しかし、このような再割り当てによって、最も処理時間の長い画像処理を実施するステージが変わってしまい、プロセッサ数の増加に相当する性能の向上が得られないといった問題や、プロセッサ数を削減した以上に性能が低下するという問題がある。
【０００８】
本発明の目的は、上述した従来の課題を解決することにある。
【０００９】
また本願発明の特徴は、複数のプロセッサによる並列処理のスループットの向上を図った画像処理装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
メインメモリと複数のプロセッサとを有し、前記複数のプロセッサにより並行して画像処理を行う画像処理装置であって、
前記複数のプロセッサのそれぞれに設けられ、各プロセッサが独立してアクセス可能な固有メモリと、
前記複数のプロセッサが共通してアクセス可能な共有メモリと、
前記メインメモリと前記共有メモリとの間で画像データを転送する転送手段とを有し、
前記各プロセッサは、
前記転送手段により前記共有メモリに転送された画像データのうち、当該プロセッサの処理対象の画像データを当該プロセッサに対応する前記固有メモリに転送して画像処理を行って前記共有メモリに書き戻し、
当該プロセッサの処理対象の画像データの周辺画像データを参照する画像処理の場合は、前記共有メモリに格納されている画像データを参照することを特徴とする。
【００１１】
上記目的を達成するために本発明の一態様に係る画像処理装置の制御方法は以下のような工程を備える。即ち、
メインメモリと複数のプロセッサとを有し、前記複数のプロセッサにより並行して画像処理を行う画像処理装置の制御方法であって、
前記メインメモリから前記複数のプロセッサが共通してアクセス可能な共有メモリへ画像データを転送する転送工程と、
前記転送工程で前記共有メモリに転送された前記画像データのうち、各プロセッサの処理対象の画像データを当該各プロセッサに対応する、各プロセッサが独立してアクセス可能な固有メモリに転送する工程と、
各プロセッサが、前記固有メモリに転送された画像データに対して画像処理を行う処理工程と、
前記画像処理において、当該各プロセッサの処理対象の画像データの周辺画像データを参照する画像処理の場合は、前記共有メモリに格納されている画像データを参照する工程と、
処理済みの画像データを前記各プロセッサに対応する前記固有メモリから前記共有メモリに転送する工程と、
前記共有メモリの画像データが処理済みになると、当該画像データを前記メインメモリに転送する工程と、
を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、各プロセッサが各プロセッサに固有のメモリで画像処理を行うとともに、周辺画素を参照する処理の場合に共有メモリの画像データを参照するため、プロセッサの数が増えても画像処理のスループットが低下することがない。
【００１３】
また本発明によれば、少ないメモリ容量の固有メモリと共有メモリで画像処理の並列処理を実現できるため、メモリコストを削減しながら効率の良い画像処理が可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
以下、本実施形態を説明する前に、本発明の実施形態の概要を簡単に説明する。
【００１６】
本実施形態では、複数のＤＳＰ（プロセッサ）を用いて画像処理を行う。各ＤＳＰに固有の固有ローカルメモリ（固有メモリ）を有し、メインメモリの画像データの処理対象の矩形領域を固有ローカルメモリに転送し、各ＤＳＰにより画像処理を実行する。その後、その矩形画像データを出力画像の所定の領域として固有ローカルメモリからメインメモリに転送する。各ＤＳＰは、各対応する固有ローカルメモリに転送された矩形領域の画像データに対して周知のパイプライン処理に割り当てられた画像処理を実施する。
【００１７】
この画像処理には、注目画素の周辺の画素を参照して計算する周辺画素（周辺画像データ）参照処理（以下、エリア処理）と、注目画素のデータのみを参照して計算する周辺画素非参照処理（以下、非エリア処理）とが存在する。ここではエリア処理も実施できるようにするために、入力した画像データの内、固有ローカルメモリに転送される矩形画像の画像データは、隣接した矩形画像の一部を重複して持つようにしている。
【００１８】
図１（Ａ）は、重複した矩形画像と、ページ全体との関係を示す図である。
【００１９】
図において、１００はページ全体を示し、１０１は、処理対象となる矩形画像を示している。１０２は重複した矩形画像を示し、１０３は、その重複部分を示している。
【００２０】
図１（Ｂ）は、重複した矩形画像１０２と、処理対象の矩形画像１０１との関係を説明する図である。
【００２１】
固有ローカルメモリに必要なメモリ容量は、以下の式（１）で求められる。ここで矩形画像１０１の幅をＡ[pixel]、矩形画像１０１の高さをＢ[pixel]、エリア処理に必要な画像の重複幅をＨ[pixel]、エリア処理に必要な画像の重複高さＶ[pixel]、１画素データのバイト数をＰ[byte]とする。
【００２２】
（Ａ[pixel]＋２×Ｈ[pixel]）×（Ｂ[pixel]＋２×Ｖ[pixel]）×Ｐ[byte]×２[bank]        …式（１）
性能を向上させるためにプロセッサ（ＤＳＰ）の数を増加させると、固有ローカルメモリもプロセッサの数に比例して増加するため、メモリのコストが増大する。特に隣接した矩形画像の一部を互いの固有ローカルメモリに重複して持つことになるため、上記構成ではコストが高くなるという新たな課題が生じる。また、隣接した矩形画像の一部を互いの固有ローカルメモリに重複して持たせると、非エリア処理の場合でも、重複した画像部分を二重に計算しなければならないため、計算負荷が重くなるという新たな課題もある。更に、矩形画像の画像データを固有ローカルメモリ間で転送する際に、矩形画像内の主走査ラインが切り替わるごとにメモリアドレスが大幅に変わる。このため、ページミスが発生したり、メモリアクセス効率が大幅に低下するといった新たな問題も発生する。
【００２３】
これら課題を解決するために、上記構成に加え、複数のプロセッサが共通にアクセス可能な共有ローカルメモリ（共有メモリ）と、複数のプロセッサ間の同期を取る手段とを設ける。そしてメインメモリから共有ローカルメモリに、複数のプロセッサで処理する画像データの領域を一括して転送する。この転送では、共有ローカルメモリを共有するプロセッサ数（Ｎ）に相当する矩形画像と、その周辺画素とを重複せずに転送する。これによりメインメモリでのページミスがＮ分の１に削減され、メモリアクセス効率の改善がなされる。また共有ローカルメモリには、隣接する矩形画像で互いに重複する部分を重複して記憶しない。
【００２４】
こうして共有ローカルメモリに格納された画像データの処理対照部分は、各プロセッサによって画像処理が施され、非エリア処理であればプロセッサの固有ローカルメモリを主に用いて画像処理がなされる。
【００２５】
一方、周辺画素を参照するエリア処理の場合には、共有ローカルメモリにエリア処理前の画像データが格納される。そして複数のプロセッサが、各プロセッサが処理対象としている矩形画像の周辺画素を、共有ローカルメモリに記憶された互いの領域を参照することにより参照する。また非エリア処理を実施する場合は、周辺画素も含めて処理対象画素を変更することで固有ローカルメモリの容量も削減される。周辺画素も含めた処理対象画素を変更することにより、エリア処理と非エリア処理を切り替える際に、複数のプロセッサ間で待ち合わせを行う必要が生じるが、これは同期処理手段によりなされる。この場合の共有ローカルメモリの容量は、プロセッサの数をＮとすると以下で計算される。
【００２６】
（Ａ[pixel]×Ｎ＋2×Ｈ[pixel]）×（Ｂ[pixel]＋２×Ｖ[pixel]）×Ｐ[byte]×１[bank]
また、各プロセッサの固有ローカルメモリの容量は、以下の計算式で求めることができる。
【００２７】
（（Ａ[pixel]×Ｎ＋２×Ｈ[pixel]）÷Ｎ）×（Ｂ[pixel]＋２×Ｖ[pixel]）×Ｐ[byte]×１[bank]
また、各プロセッサの固有ローカルメモリの容量は、（（Ａ[pixel]×Ｂ[pixel]）×Ｐ[byte]×１[bank]）を下回らないように構成される。
【００２８】
以下詳しく説明する。
【００２９】
［実施形態１］
図２は、本実施形態１に係るＭＦＰ２０１の構成を示したブロック図である。
【００３０】
先ずコピー動作の場合の動作を説明する。
【００３１】
ユーザが操作部（ＵＩ）２０５を使用してコピー動作を指示すると、その指示が、ＵＩコントローラ２２０、割り込みコントローラ２１３を経由してＣＰＵ２１０，２１１に伝えられる。ＣＰＵ２１０又はＣＰＵ２１１は、先ず最初にスキャナインターフェース（Ｉ／Ｆ）２２６を起動し、続いてスキャナ２０７を起動してコピー対象の原稿のスキャン動作を開始する。こうしてスキャナ２０７によって読み取られた原稿の画像データは、スキャナインターフェース２２６を経由してメインメモリ２０２に格納される。このとき、所定のラインまで画像データを読み込んだことを知らせる割り込みが、スキャナインターフェース２２６から割り込みコントローラ２１３を経由してＣＰＵ２１０，２１１に通知される。ＣＰＵ２１０，２１１は、スキャナ２０７で読み取った画像データの処理（スキャン画像処理）を行うために、予めスキャン画像処理を実施するためのファームウェアをメインメモリ２０２にロードして起動しておく。これにより起動されるファームウェアは、ＤＳＰサブシステム２０８に該当している。そしてＤＳＰサブシステム２０８に、スキャン画像処理の最初のバンド処理を指示する。
【００３２】
ＤＳＰサブシステム２０８は、ＣＰＵ２１０或は２１１からの指示に従ってスキャン画像処理を開始し、１バンドの画像処理が終了したならば、ＣＰＵ２１０，２１１に対して割り込みにより終了を通知する。これによりＣＰＵ２１０或は２１１は、ＤＳＰサブシステム２０８からの１バンドの画像処理の終了に応答して、ＪＰＥＧエンコーダ２２１を起動して画像データの圧縮を開始する。これらの処理を繰り返し、スキャン画像がＪＰＥＧ圧縮されてメインメモリ２０２に格納されると、次にＣＰＵ２１０或は２１１はＪＰＥＧデコーダ２２２を起動して画像データの伸張（復号）を開始する。ＪＰＥＧデコーダ２２２は、メインメモリ２０２に格納されたＪＰＥＧ画像データを伸張し、その非圧縮画像データをメインメモリ２０２に書き戻す。ＪＰＥＧデコーダ２２２は、予め指定された画像データのラインまでの伸張が終了すると、割込みによりＣＰＵ２１０，２１１に通知する。この割り込みを受けたＣＰＵ２１０或は２１１は、予めプリンタ２０６用の印刷データを作成するプリント画像処理のためのファームウェアを用いて起動しているＤＳＰサブシステム２０９にプリント画像処理を指示する。これによりＤＳＰサブシステム２０９は、メインメモリ２０２の画像データに対してプリント画像処理を開始し、画象処理後のハーフトーン画像をメインメモリ２０２に格納する。こうしてＤＳＰサブシステム２０９は、処理対象のバンド画像の処理を終えるとＣＰＵ２１０，２１１にバンド処理終了の割込みを発行する。
【００３３】
ＣＰＵ２１０或は２１１は次に、ハーフトーン画像を圧縮するためにＪＢＩＧエンコーダ２２３を起動する。ここでＪＢＩＧ圧縮はＣＭＹＫ各色ごとに実施される。これらを繰り返しＪＰＥＧ圧縮された画像データに印刷画像処理を施して各色毎のＪＢＩＧ圧縮データを得てメインメモリ２０２に格納する。次にＣＰＵ２１０或は２１１は、ＪＢＩＧデコーダ２２４を起動してＪＢＩＧ圧縮画像データの伸張を開始する。ＪＢＩＧデコーダ２２４は、所定のラインまで伸張を終えるとＣＰＵ２１０，２１１に割込みで通知する。これによりＣＰＵ２１０或は２１１は、プリンタインターフェース２２５及びプリンタ２０６を起動し、その伸張されたハーフトーン画像データをプリンタ２０６に出力して印刷する。以上がコピー動作の説明である。
【００３４】
次に、ホストコンピュータからＰＤＬデータを受信して印刷するネットワークプリンタとしての動作を説明する。
【００３５】
ホストコンピュータよりネットワークインターフェース（Ｉ／Ｆ）２１９もしくはＵＳＢインターフェース（Ｉ／Ｆ）２１８を経由してＰＤＬデータが送られてくると、ＣＰＵ２１０或は２１１はＰＤＬデータを一旦メインメモリ２０２に格納する。その後、そのＰＤＬデータの解析を開始し、ディスプレイリストをメインメモリ２０２に作成する。ＣＰＵ２１０或は２１１は、そのディスプレイリストから印刷用画像データを生成するため、予めレンダリング処理のファームウェアを用いて起動してあるＤＳＰサブシステム２０８を起動してレンダリング処理を開始する。このときＤＳＰサブシステム２０８は、メインメモリ２０２に格納されたディスプレイリストを解釈して印刷用画像データを生成する。こうして印刷用画像データの所定のラインまでの生成が終わった後、ＤＳＰサブシステム２０８は、割込みをＣＰＵ２１０，２１１に発行する。これによりＣＰＵ２１０，２１１は、そのレンダリングされた印刷用画像データの最初のバンドを圧縮するためＪＰＥＧエンコーダ２２１を起動する。ＪＰＥＧエンコーダ２２１は、所定のバンドまで圧縮すると、割込みによりＣＰＵ２１０，２１１に通知する。これらの処理を繰り返すことにより、ページ全面の印刷用画像データが生成され、ＪＰＥＧデータとしてメインメモリ２０２に格納される。
【００３６】
次にＣＰＵ２１０或は２１１は、ＪＰＥＧデコーダ２２２を起動して印刷用画像データの伸張を開始する。ＪＰＥＧデコーダ２２２は、メインメモリ２０２に格納されたＪＰＥＧ圧縮画像データを伸張（復号）し、非圧縮画像データとしてメインメモリ２０２に書き戻す。こうしてＪＰＥＧデコーダ２２２は、予め指定された画像データのラインまでの伸張処理が達すると、割込みによりＣＰＵ２１０，２１１に通知する。この割り込みを受けたＣＰＵ２１０或は２１１は、予めプリント画像処理用にファームウェアを用いて起動してあるＤＳＰサブシステム２０９にプリント画像処理を指示する。
【００３７】
ＤＳＰサブシステム２０９は、メインメモリ２０２の伸張済みの画像データに対してプリント画像処理を開始し、画像処理後のハーフトーン画像を作成してメインメモリ２０２に格納する。こうしてＤＳＰサブシステム２０９は、処理対象のバンド画像の処理を終えると、ＣＰＵ２１０，２１１にバンド処理終了の割込みを発行する。これによりＣＰＵ２１０或は２１１は、そのハーフトーン画像を圧縮するためにＪＢＩＧエンコーダ２２３を起動する。ここでＪＢＩＧ圧縮はＣＭＹＫ各色ごとに実施される。これらを繰り返しＪＰＥＧ圧縮画像データに印刷画像処理を施して各色毎のＪＢＩＧ圧縮データが生成され、メインメモリ２０２に格納される。次にＣＰＵ２１０或は２１１は、ＪＢＩＧデコーダ２２４を起動してＪＢＩＧ圧縮画像データの伸張を開始する。ＪＢＩＧデコーダ２２４は、所定のラインまで伸張を終えるとＣＰＵ２１０，２１１に割込みを発行する。これによりＣＰＵ２１０或は２１１は、プリンタインターフェース２２５及びプリンタ２０６を起動し、その伸張されたハーフトーン画像データを印刷する。
【００３８】
次にファクシミリ送信処理について説明する。
【００３９】
操作部２０５を操作してユーザがファクシミリ送信を指示すると、ＵＩコントローラ２２０、割り込みコントローラ２１３を経由してＣＰＵ２１０，２１１に伝えられる。ＣＰＵ２１０或はＣＰＵ２１１は、まずスキャナインターフェース２２６を起動し、続いてスキャナ２０７を起動して送信原稿のスキャン動作を開始する。こうしてスキャナ２０７によって読み取られた原稿の画像データは、スキャナインターフェース２２６を経由してメインメモリ２０２に格納される。このときスキャナインターフェース２２６から所定のラインまで届いたことを知らせる割り込みが、割り込みコントローラ２１３を経由してＣＰＵ２１０，２１１に通知される。これによりＣＰＵ２１０或は２１１は、スキャン画像処理を行うために、予めスキャン画像処理を実施するためのファームウェアをメインメモリ２０２にロードし起動しておいたＤＳＰサブシステム２０８に、スキャン画像処理の最初のバンド処理を指示する。ＤＳＰサブシステム２０８は、ＣＰＵ２１０或は２１１からの指示に従ってスキャン画像処理を開始し、バンドの画像処理が終了するとＣＰＵ２１０，２１１に終了の割込みを発行する。こうしてＣＰＵ２１０或は２１１は、ＤＳＰサブシステム２０８からバンドのスキャン画像処理の終了割込みを受け取る。
【００４０】
次にＣＰＵ２１０或は２１１は、ファクシミリ送信を行うために、予め解像度変換及び二値化及びＭＭＲ圧縮のファクシミリデータ生成処理を実施するためのファームウェアをメインメモリ２０２にロードして起動している。このファームウェアはＤＳＰサブシステム２０９であり、これに対してファクシミリデータ生成処理の最初のバンド処理を指示する。これによりＤＳＰサブシステム２０９は、ＣＰＵ２１０或は２１１からの指示に従って、ファクシミリデータの生成処理を開始し、１ページのファクシミリデータが生成されるとＣＰＵ２１０，２１１に終了の割込みを発行する。こうしてＣＰＵ２１０或は２１１は、ＤＳＰサブシステム２０９からファクシミリデータの生成処理の終了割込みを受け取る。そしてメインメモリ２０２に格納されたファクシミリデータをＲＯＭコントローラ２１７に接続されたファクシミリ（Ｆａｘ）モデム２０４を介して通信網に送信する。
【００４１】
図３は、本実施形態１に係るＭＦＰ２０１のコピー動作時におけるＣＰＵ２１０或は２１１で実行されるシーケンスを説明するフローチャートである。この処理を実行するプログラムは、その実行時にはメインメモリ２０２に格納されている。
【００４２】
ユーザからコピー動作を指示されると、まず初めにステップＳ３０１で、ＤＳＰサブシステム２０８にスキャナ画像処理のファームウェアをダウンロードし、次にステップＳ３０２で、ＤＳＰサブシステム２０８を起動する。次にステップＳ３０３に進み、スキャナインターフェース２２６を起動し、続いてステップＳ３０５で、スキャナ２０７を起動する。これによりスキャナ２０７による原稿画像の読み取りが開始される。
【００４３】
次にステップＳ３０５に進んで、割り込みコントローラ２１３を介して割込みが入力されるのを待つ。ここで割り込みが発生すると、その割り込みの種別を判断する。もしスキャナインターフェース２２６からのバンド割込みであった場合はステップＳ３０６に進み、ＤＳＰサブシステム２０８にスキャナ画像処理を依頼して、ステップＳ３０５の割り込み待ちに戻る。一方、ステップＳ３０５で受付けた割込みがＤＳＰサブシステム２０８からのバンド処理の終了割込みであった場合はステップＳ３０７に進み、そのバンドをＪＰＥＧ圧縮するためにＪＰＥＧエンコーダ２２１を起動する。そしてステップＳ３０５の割り込み待ちに戻る。
【００４４】
またステップＳ３０５で受付けた割込みがＪＰＥＧエンコーダ２２１からのバンド割込みであれバステップＳ３０８に進み、１ページの終了か否かを判断する。ここでページ終了でなければステップＳ３０５に進んで次の割り込みを待つ。一方、ページ終了であればステップＳ３０９に進み、プリント画像処理を起動する。続いてステップＳ３１０に進み、連続ページ処理が終了したかを判断し、連続ページ処理が継続する場合は次のページ処理のためにステップＳ３０４に進んで、次の原稿を読み取るためにスキャナ２０７を起動する。一方、ステップＳ３１０で、連続ページ処理が終了であれば、この処理を終了する。
【００４５】
図４は、本実施形態１に係るＭＦＰのプリント画像処理におけるＣＰＵ２１０或は２１１で実行されるシーケンスを説明するフローチャートである。この処理を実行するプログラムは、その実行時にはメインメモリ２０２に格納されている。尚、この処理は、図３のステップＳ３０９のプリント画像処理に該当している。
【００４６】
初めにステップＳ４０１で、ＤＳＰサブシステム２０９にプリント画像処理のファームウェアをダウンロードし、ステップＳ４０２で、ＤＳＰサブシステム２０９を起動する。次にステップＳ４０３に進み、ＪＰＥＧデコーダ２２２を起動する。そしてステップＳ４０４に進み、割込みを待ちとなる。ここで割り込みが発生すると、その割り込みの種別を判定し、ＪＰＥＧデコーダ２２２からのバンド割込みであった場合はステップＳ４０５に進み、ＤＳＰサブシステム２０９にプリント画像処理を依頼してステップＳ４０４の割り込み待ちに戻る。
【００４７】
一方、ステップＳ４０４で、ＤＳＰサブシステム２０９からのバンド処理の終了割込みであると判定するとステップＳ４０６に進み、そのバンドをＪＢＩＧ圧縮するためにＪＢＩＧエンコーダ２２３を起動してステップＳ４０４の割り込み待ちに戻る。
【００４８】
またステップＳ４０４で、ＪＢＩＧエンコーダ２２３からのバンド割込みであると判定するとステップＳ４０７に進み、ページ終了かを判断する。ここでページ終了でなければステップＳ４０４に進んで次の割り込みを待ちとなる。一方、ページ終了であればステップＳ４０８に進み、印刷処理を起動する。続いてステップＳ４０９に進み、連続ページ処理が終了かを判断し、連続ページ処理が継続するときは次のページ処理のためにステップＳ４０３に進んでＪＰＥＧデコーダ２２２を起動する。一方、連続ページ処理が終了であれば、この処理を終了する。
【００４９】
図５は、本実施形態１に係るＭＦＰの印刷処理におけるＣＰＵ２１０或は２１１の処理シーケンスを示したフローチャートである。この処理シーケンスは図４のステップＳ４０８の印刷処理処理に該当している。この処理を実行するプログラムは、その実行時にはメインメモリ２０２に格納されている。
【００５０】
まずステップＳ５０１で、ＪＢＩＧデコーダ２２４を起動する。そしてステップＳ５０２で、ＪＢＩＧデコーダ２２４からのバンド終了割込みを待つ。ここでＪＢＩＧデコーダ２２４からのバンド処理の終了割込みがあるとステップＳ５０３に進み、プリンタインターフェース２２５を起動して、ステップＳ５０４でプリンタ２０６を起動する。次にステップＳ５０５に進み、続くバンドの画像データを伸張するためにＪＢＩＧデコーダ２２４を起動し、ステップＳ５０６で、ＪＢＩＧデコーダ２２４からのバンド処理の終了割込みを待つ。ここでＪＢＩＧデコーダ２２４からバンド処理の終了割込みがあるとステップＳ５０７に進み、プリンタインターフェース２２５に次のバンドデータの転送を起動する。次にステップＳ５０８で、１ページの終了か否かを判断し、１ページの終了でなければステップＳ５０５に進み、再度、ＪＢＩＧデコーダ２２４を起動して次のバンドの画像データの伸張を開始する。
【００５１】
一方、ステップＳ５０８で、１ページの終了であればステップＳ５０９に進み、プリンタインターフェース２２５からのページ終了を待つ。そしてプリンタインターフェース２２５からのページ終了を受付けるとステップＳ５１０に進み、連続ページ処理が終了か否かを判断する。ここで連続ページ処理が終了でなければステップＳ５０１に進み、次のページのＪＢＩＧの伸張処理に進む。一方、ステップＳ５１０で、連続ページ処理の終了であれば、この処理を終了する。
【００５２】
図６は、本実施形態１に係るＭＦＰ２０１のＤＳＰサブシステム２０８によるスキャン画像処理を説明するフローチャートで、特にＤＳＰ２３０，２３１，２３２，２３３による処理シーケンスを説明している。
【００５３】
先ず初めにステップＳ６０１で、ＤＳＰ２３０，２３１，２３２，２３３のどれであるかを特定するプロセッサＩＤ（以下、ＰＲＩＤ）がＤＳＰ２３０に該当する「１」であるかを判断する。ここでＤＳＰ２３０でなかった場合はステップＳ６０６に進んで、同期処理に入る。
【００５４】
一方、ステップＳ６０１で、ＤＳＰ２３０であると判定するとステップＳ６０２に進み、バンド情報をレジスタ２４２及びメインメモリ２０２から取得する。次にステップＳ６０３に進み、処理すべき画像データが格納されているメインメモリ２０２のアドレスを計算する。そしてステップＳ６０４で、その求めたメインメモリ２０２のアドレスから共有ローカルメモリ２４０へ画像データを転送するためにＤＭＡＣ（ＤＭＡコントローラ）２３９を起動する。そしてステップＳ６０５で、ＤＭＡ転送の終了を待ち、ＤＭＡ転送が終了するとステップＳ６０６に進み、同期回路２４１を用いた同期処理を行う。この同期処理については後で詳しく説明する。こうしてステップＳ６０１〜Ｓ６０６を実施することで、ＤＳＰ２３０，２３１，２３２，２３３を同じシーケンスで、かつ排他的に動作させて画像データをメインメモリ２０２から共有ローカルメモリ２４０へＤＭＡ転送することができる。
【００５５】
こうしてステップＳ６０６で、同期が取れると、ＤＳＰ２３０〜２３３が処理すべき画像データが共有ローカルメモリ２４０へ格納されていることになる。次にステップＳ６０７に進み、画像データの処理単位を非エリア処理サイズへ切り替え、次にステップＳ６０８で、画像データの色変換を行う。ここで色変換は非エリア処理であるため、処理後の画像データは、各対応する固有ローカルメモリ２３４，２３５，２３６，２３７に書き出される。続いてステップＳ６０９に進んで無彩色判定を行い、次にステップＳ６１０で同期処理を行う。ここで無彩色判定は非エリア処理であるが、ステップＳ６１２以降の画像処理がエリア処理となるため、処理後の画像データの出力先は共有ローカルメモリ２４０となる。次にステップＳ６１１に進み、エリア処理サイズへの切替を行う。そしてステップＳ６１２で、空間フィルタ処理を実施する。ここでエリア処理は、ＤＳＰ２３０，２３１，２３２，２３３が互いに重複した画素を参照するため、競合を避けるために出力画像データは固有ローカルメモリ２３４，２３５，２３６，２３７へ出力される。
【００５６】
次にステップＳ６１３に進んで同期処理を実施する。次にステップＳ６１４に進み、エリア処理のために固有ローカルメモリ２３４，２３５，２３６，２３７から共有ローカルメモリ２４０へ画像データを移動する。次にステップＳ６１５で同期処理を行い、ステップＳ６１６で、線形補間処理が行われる。次にステップＳ６１７で同期処理が行われ、同期が取れるとステップＳ６０８に進み、固有ローカルメモリ２３４〜２３７から共有ローカルメモリ２４０へ画像データを移動する。そしてステップＳ６１９で同期処理を行って同期が取れるとステップＳ６２０に進み、非エリア処理サイズへ切り替え、ステップＳ６２１で、ＬＵＴ変換処理を行う。次にステップＳ６２２で同期処理を行った後、ステップＳ６２３で、ＰＲＩＤを判断する。ここでＰＲＩＤが、ＤＳＰ２３０を示していなければ（「１」でなければ）ステップＳ６２７に進み、バンド処理が終了したかを判断する。
【００５７】
一方ステップＳ６２３で、ＰＲＩＤがＤＳＰ２３０を示していればステップＳ６２４に進み、処理済みの画像データの出力アドレス（メインメモリ２０２のアドレス）を計算する。次にステップＳ６２５に進み、共有ローカルメモリ２４０に格納した処理済みの画像データをメインメモリ２０２に転送するためにＤＭＡＣ２３９を起動する。そしてステップＳ６２６でＤＭＡ転送の終了を待ち、ＤＭＡ転送が終了するとステップＳ６２７に進んで、１バンド分の画象データの処理が終了したかどうかを判断する。ここで１バンド分の画像データの処理が終了していなければステップＳ６０１に進み、次の矩形処理のためにＰＲＩＤの判断を行う。一方、ステップＳ６２７で、バンド処理が終了していればＣＰＵ２１０，２１１へ割込みを発行して処理を終了する。
【００５８】
このようにして、ＤＳＰ２３０，２３１，２３２，２３３が同じデータ量の画像データに対して並行して共通する処理を行うことができる。特に、各ＤＳＰにおける処理完了の時差を少なくし、オーバーヘッドの小さい同期回路２４１を用いることで、同期処理による待ち合わせ時間を小さくでき、より効率的な処理が可能となる。
【００５９】
図７は、本実施形態に係るＭＦＰ２０１のＤＳＰサブシステム２０９によるプリント画像処理におけるＤＳＰ２３０，２３１，２３２，２３３の処理シーケンスを示したフローチャートである。
【００６０】
先ず初めにステップＳ７０１で、ＤＳＰ２３０，２３１，２３２，２３３のどれであるかを特定するプロセッサＩＤ（ＰＲＩＤ）がＤＳＰ２３０に該当する「１」であるかを判定する。ＤＳＰ２３０でなかった場合はステップＳ７０６の同期処理に進む。一方ステップＳ７０１で、ＤＳＰ２３０であると判定した場合はステップＳ７０２に進み、バンド情報をレジスタ２４２及びメインメモリ２０２から取得する。次にステップＳ７０３で、処理すべき画像データのアドレスを計算する。そしてステップＳ７０４で、その求めたメインメモリ２０２のアドレスから共有ローカルメモリ２４０へ画像データを転送するためにＤＭＡＣ２３９を起動する。そしてステップＳ７０５で、ＤＭＡ転送が終了したかどうかを判断し、ＤＭＡ転送が終了したと判断するとステップＳ７０６に進み、同期回路２４１を用いた同期処理を行う。このようにステップＳ７０１〜Ｓ７０６を実施することで、ＤＳＰ２３０，２３１，２３２，２３３を同じシーケンスでかつ排他的にＤＭＡ転送を実現できる。こうしてステップＳ７０６で同期が取れると、ＤＳＰ２３０〜２３３が処理すべき画像データが共有ローカルメモリ２４０へ格納されていることになる。
【００６１】
次にステップＳ７０７に進み、画像データの処理単位をエリア処理サイズへ切り替える。そしてステップＳ７０８で線形補間処理を行う。続いてステップＳ７０９に進み、非エリア処理サイズへ切り替え、ステップＳ７１０でｌｏｇ変換処理を実行する。次にステップＳ７１１に進んで出力色の変換処理、次にステップＳ７１２で、載り量制御処理を行う。次にステップＳ７１３に進んで同期処理を行って同期が取れるとステップＳ７１４でエリア処理サイズへ切り替え、ステップＳ７１５で、スクリーン処理を実施する。次にステップＳ７１６に進み、同期処理を実施する。その後ステップＳ７１７に進み、固有ローカルメモリ２３４〜２３７から共有ローカルメモリ２４０へ処理済みの画像データを転送する。次にステップＳ７１８で同期処理を行う。
【００６２】
次にステップＳ７１９に進んでステップＳ７０１と同様にＰＲＩＤを判別する。ここでＰＲＩＤがＤＳＰ２３０を示していなければ（「１」でなければ）ステップＳ７２３に進んでバンドの終了かどうかを判断する。一方、ステップＳ７１９で、ＰＲＩＤがＤＳＰ２３０を示していればステップＳ７２０に進み、処理済みの画像データの格納アドレスを計算する。次にステップＳ７２１に進み、共有ローカルメモリ２４０に格納した処理済みの画像データをメインメモリ２０２に転送するためにＤＭＡＣ２３９を起動する。そしてステップＳ７２２で、ＤＭＡ転送の終了を待ち、ＤＭＡ転送が終了するとステップＳ７２３に進んで、バンド処理が終了したかどうかを判断する。ここでバンド処理が終了していないと判断すると、次の矩形画像の画像データの処理のためにステップＳ７０１のＰＲＩＤの判断に戻るが、バンド処理が終了していれば、ＣＰＵ２１０，２１１へ割込みを発行して、この処理を終了する。
【００６３】
図８は、本実施形態１に係るＤＳＰ２３０，２３１，２３２，２３３における同期処理のシーケンスを示したフローチャートである。この同期処理は、図６のステップＳ６０６，Ｓ６１０，Ｓ６１５，Ｓ６１７，Ｓ６１９，Ｓ６２２、及び図７のステップＳ７０６，Ｓ７１３、Ｓ７１６，Ｓ７１８等の処理に該当している。
【００６４】
先ず初めにステップＳ８０１で、同期リクエスト信号ｒｅｑをセットする。次にステップＳ８０２で、同期回路２４１から戻される同期リクエスト信号の論理積ｒｅｑ＿ａｎｄが「１」になるまで待つ。ここで同期リクエスト信号の論理積が「１」となるとステップＳ８０３に進み、同期アック信号ａｃｋをセットする。そしてステップＳ８０４で、同期回路２４１から戻される同期アック信号の論理積ａｃｋ＿ａｎｄが「１」となるまで待つ。ステップＳ８０４で、同期アック信号の論理積が「１」となるとステップＳ８０５に進み、同期リクエスト信号ｒｅｑをクリアする。そしてステップＳ８０６に進み、同期アック信号ａｃｋをクリアして、この同期処理を終了する。
【００６５】
図９は、本実施形態１に係るＤＳＰ２３０〜２３４と同期回路２４１との接続及び同期回路２４１の構成を説明する回路図である。
【００６６】
ＤＳＰ２３０，２３１，２３２，２３３，２３４からそれぞれ同期リクエスト信号ｒｅｑと同期アック信号ａｃｋが同期回路２４１へ入力される。ＡＮＤ回路９０１は、各ＤＳＰから出力される同期リクエスト信号ｒｅｑの論理積を取っている。ＡＮＤ回路９０２は、各ＤＳＰから入力される同期アック信号ａｃｋの論理積を取っている。そして、これらＡＮＤ回路９０１と９０２の出力が、それぞれ独立にＤＳＰ２３０，２３１，２３２，２３３へ入力されている。
【００６７】
これら図８と図９とを参照すると、各ＤＳＰは、同期リクエスト信号ｒｅｑを発行し、他のＤＳＰの全てが同期リクエスト信号ｒｅｑを発行するのを待つ。こうして全てのＤＳＰが同期リクエスト信号ｒｅｑを発行したことを確認すると、同期アック信号（同期応答）ａｃｋを発行する。そして他のＤＳＰの全てが同期アック信号ａｃｋを発行したことを確認すると、全てのＤＳＰとの処理の同期が取れたと確認して、自ＤＳＰが出力している同期リクエスト信号ｒｅｑと同期アック信号ａｃｋとをクリア（リセット）する。
【００６８】
図１０は、本実施形態に係る同期回路２４１の動作を説明するタイミングチャートである。
【００６９】
この例では、２クロック目にＤＳＰ２３０及びＤＳＰ２３３がそれぞれの同期リクエスト信号ｒｅｑをセットしている（Ｔ１）。そして１クロック周期遅れてＤＳＰ２３２が同期リクエスト信号ｒｅｑをセットしている（Ｔ２）。そして最後に４クロック目で、ＤＳＰ２３１が同期リクエスト信号ｒｅｑをセットする（Ｔ３）。これによりＤＳＰ２３０，２３１，２３２，２３３の同期リクエスト信号ｒｅｑの論理積ｒｅｃ＿ａｎｄが「１」がＡＮＤ回路９０１から出力される（Ｔ３）。これによりＤＳＰ２３０，２３２，２３３は、同期リクエスト信号ｒｅｑの論理積が「１」になったことを検出し、次のサイクル以降で、各ＤＳＰが同期アック信号ａｃｋを「１」にセットする。図１０では、ＤＳＰ２３０，２３２，２３３が同期アック信号ａｃｋをセットしている（Ｔ４）。そして次にＤＳＰ２３１が、他のＤＳＰよりも１クロック遅れて同期アック信号ａｃｋをセットしており、これによりＡＮＤ回路９０２の出力が「１」となる（Ｔ５）。ＤＳＰ２３０，２３２，２３３は、この同期アック信号の論理積が「１」になることによって同期終了を検出し、それぞれの同期リクエスト信号をクリアし（Ｔ６）、続くサイクルで同期アック信号をクリアする（Ｔ７）。次にＤＳＰ２３１も１クロック遅れて同期リクエスト信号ｒｅｑをクリアし（Ｔ７）、続くサイクルで同期アック信号ａｃｋをクリアする（Ｔ８）。このような動作によってＤＳＰ間の同期が取られる。
【００７０】
図１１は、本実施形態１に係る各ＤＳＰによるデータの扱いと、メインメモリ、共有ローカルメモリ、固有ローカルメモリの関係を説明する模式図である。
【００７１】
メインメモリ２０２に格納されたＪＰＥＧ圧縮画像データ１１００は、ＪＰＥＧデコーダ２２２によってメインメモリ２０２に確保されたリングバッファ領域１１０１に展開される。こうしてリングバッファ領域１１０１に展開された画像データの一部領域１１０２がＤＭＡＣ２３９によって共有ローカルメモリ２４０へ転送される。こうして共有ローカルメモリ２４０に格納されたＮ（＝４）個の矩形画像データとその周辺画素に対して、ＤＳＰ２３０〜２４３によって画像処理が施される。ＤＳＰ２３０〜２４３のそれぞれは、処理の状況によって画像データの一部を固有ローカルメモリ２３４〜２３７のそれぞれに出力する。そして、各ＤＳＰは、各対応する固有ローカルメモリで画像処理を繰り返し、最終的な処理済みの画像データを共有ローカルメモリ２４０に戻す。こうして共有ローカルメモリ２４０に格納された画像処理後の画像データは、ＤＭＡＣ２３９によってメインメモリ２０２の出力画像リングバッファ領域１１０３に転送される。この出力画像リングバッファ領域１１０３に格納された画像処理後の画像データの１バンド分の処理を終えると、ＪＢＩＧエンコーダ２２３によりＪＢＩＧ圧縮がなされ、圧縮後の画像データ１１０４がメインメモリ２０２の出力画像領域へ格納される。
【００７２】
図１２（Ａ）（Ｂ）は、本実施形態１に係るエリア処理と非エリア処理での各ＤＳＰによる処理単位の切替を説明する模式図である。
【００７３】
図１２（Ａ）は、注目画素のデータのみを参照して計算する非エリア処理時のＤＳＰ２３０，２３１，２３２，２３３での処理単位分割を示している。ＤＳＰサブシステム２０８（２０９）内のＤＳＰの数Ｎ（＝４）とする。また前述したように、矩形画像の幅をＡ[pixel]、矩形画像の高さをＢ[pixel]とする。また、エリア処理に必要な画像データの重複幅をＨ[pixel]、エリア処理に必要な入力画像の重複高さをＶ[pixel]とすると、各ＤＳＰが処理する画像データのサイズは以下の式で示される。
・画像幅    （Ａ[pixel]×Ｎ＋２×Ｈ[pixel]）÷Ｎ
・画像高さ    Ｂ[pixel]＋２×Ｖ[pixel]
図１２（Ｂ）は、注目画素の周辺の画素を参照して計算するエリア処理時のＤＳＰ２３０，２３１，２３２，２３３での処理単位分割を示している。ここでもＮ（＝４）、Ａ[pixel]、Ｂ[pixel]、Ｈ[pixel]、Ｖ[pixel]は前述した通りである。ここで各ＤＳＰが処理する画像データのサイズは以下の式で示される。
・入力画像幅        Ａ[pixel]＋２×Ｈ[pixel]
・入力画像高さ      Ｂ[pixel]＋２×Ｖ[pixel]
・出力画像幅        Ａ[pixel]
・出力画像高さ      Ｂ[pixel]
図１２（Ｂ）において、１２００，１２０１，１２０２，１２０３のそれぞれは、各ＤＳＰ２３０，２３１，２３２，２３３が入力する画像の幅を示している。そして１２０４，１２０５，１２０６，１２０７のそれぞれは、各ＤＳＰ２３０，２３１，２３２，２３３が出力する処理済みの画像データを示している。
【００７４】
このように非エリア処理時では、各ＤＳＰは、Ｎ個分の矩形画像データの幅（Ａ[pixel]×Ｎ＋２×Ｈ[pixel]）をＮ等分し、それぞれの高さが（Ｂ[pixel]＋２×Ｖ[pixel]）の画像データを処理する。一方、エリア処理では、各ＤＳＰは、重複幅をＨ[pixel]を含む（Ａ[pixel]＋２×Ｈ[pixel]）幅で、高さが（Ｂ[pixel]＋２×Ｖ[pixel]）の画像データを入力して処理する。そしてその処理結果として、幅Ａ[pixel]、高さＢ[pixel]の矩形画像データを出力する。
【００７５】
図１３は、本実施形態１に係るＭＦＰのＰＤＬプリント動作時におけるＣＰＵ２１０，２１１の処理シーケンスを示したフローチャートである。この処理を実行するプログラムは、その実行時にはメインメモリ２０２に格納されている。
【００７６】
先ずステップＳ１３０１で、ＤＳＰサブシステム２０８のＤＳＰ２３０，２３１，２３２，２３４のファームウェアをメインメモリ２０２に用意し、次にステップＳ１３０２に進み、ＤＳＰサブシステムを起動する。次にステップＳ１３０３で、ネットワークインターフェース２１９或はＵＳＢインターフェース２１８を介してホストコンピュータから送られてくるＰＤＬデータを受信する。次にステップＳ１３０４に進んでＰＤＬデータを解析し、ディスプレイリスト（DisplayList）をメインメモリ２０２に生成する。次にステップＳ１３０５に進み、ＤＳＰサブシステム２０８にバンドのレンダリング処理を依頼する。そしてステップＳ１３０６で、ＤＳＰサブシステム２０８から１バンド処理の終了割込みが入るのを待つ。終了割り込みが入力されるとステップＳ１３０７に進み、ＪＰＥＧエンコーダ２２１のリソース空き状況を確認して、ＪＰＥＧエンコーダ２２１が空いているとステップＳ１３０８に進む。ステップＳ１３０８では、ＪＰＥＧエンコーダ２２１を起動し、ＤＳＰサブシステム２０８でレンダリングされたバンドの圧縮を開始する。
【００７７】
次にステップＳ１３０９に進み、そのバンドで１ページの終了か否かを判断し、１ページの終了でなければステップＳ１３０５に進む。ステップＳ１３０５では、次のバンドのレンダリング処理をＤＳＰサブシステム２０８に依頼する。一方ステップＳ１３０９で、ページ終了であればステップＳ１３０１に進み、図４で示したプリント画像処理を起動する。次にステップＳ１３１１に進み、連続ページ処理が終了か否かを判断し、終了でなければステップＳ１３０４に進み、次のページのＰＤＬデータの解析及びディスプレイリストの生成を実施する。そしてステップＳ１３１１で、連続ページ終了であれば、この処理を終了する。
【００７８】
図１４は、本実施形態１に係るＭＦＰのレンダリング処理におけるＤＳＰ２３０〜２３３の処理シーケンスを示したフローチャートである。
【００７９】
先ずステップＳ１４０１で、メインメモリ２０２からディスプレイリスト情報を取得する。次にステップＳ１４０２に進み、固有ローカルメモリ２３４もしくは２３５もしくは２３６もしくは２３７を白色画素で初期化する。次にステップＳ１４０３に進み、そのディスプレイリスト情報に基づいて、順次グラフィックオブジェクト情報をメインメモリ２０２に格納されたディスプレイリストから取得する。そしてグラフィックオブジェクトを固有ローカルメモリの矩形画像キャンバスに描画する。次にステップＳ１４０４で、描画オブジェクトが終了したか否かを判断し、終了でなければステップＳ１４０３に進んで次の描画オブジェクトを描画する。
【００８０】
一方、ステップＳ１４０４で描画オブジェクトが終了するとステップＳ１４０５に進み、固有ローカルメモリ２３４もしくは２３５もしくは２３６もしくは２３７に描画された矩形画像の画像データを共有ローカルメモリ２４０へ移動する。そしてステップＳ１４０６で、前述した同期処理を行う。次にステップＳ１４０７に進んで、プロセッサＩＤを判断し、プロセッサＩＤがＤＳＰ２３０でなければステップＳ１４１１のバンド終了の判断に移行する。一方、プロセッサＩＤがＤＳＰ２３０であればステップＳ１４０８に進み、処理済みの画像データを転送するメインメモリ２０２のアドレスを計算する。次にステップＳ１４０９に進み、ステップＳ１４０８で計算したアドレスに従ってＤＭＡＣ２３９を起動する。そしてステップＳ１４１０で、ＤＭＡ転送の終了を待つ。ここでＤＭＡ転送が終了するとステップＳ１４１１に進み、全てのバンドを描画したかを判断する。全てのバンドの描画終了でなければステップＳ１４０１に進み、次の矩形画像に相当するディスプレイリスト情報を取得して、前述した処理を実行する。一方、バンド終了であればステップＳ１４１２に進み、ＣＰＵ２１０，２１１へ終了の割込みを発行して、この処理を終了する。
【００８１】
以上説明したように本実施形態１によれば、複数のプロセッサ（ＤＳＰ）によるメインメモリへのアクセスが集中するのを抑えることができるため、プロセッサの数の増加によるスループットの低下を防止できる。
【００８２】
また処理対象の矩形画像に対する周辺画素を参照しない画像処理の場合は固有ローカルメモリで処理し、周辺画素を参照する画像処理の場合は共有ローカルメモリに記憶されている画像データを参照するため、各プロセッサの処理効率を高めることができる。
【００８３】
［実施形態２］
図１５は、本発明の実施形態２に係るＭＦＰ２０１の構成を示したブロック図で、前述の図１と共通する部分は同じ記号で示している。この実施形態２では、ＤＳＰサブシステム１６０１，１６０２がそれぞれ５個のＤＳＰを有している点が、前述の実施形態１と異なっている。
【００８４】
先ずコピー動作の場合の動作を説明する。
【００８５】
ユーザが操作部（ＵＩ）２０５を使用してコピー動作を指示すると、その指示が、ＵＩコントローラ２２０、割り込みコントローラ２１３を経由してＣＰＵ２１０，２１１に伝えられる。ＣＰＵ２１０又はＣＰＵ２１１は、先ず最初にスキャナインターフェース（Ｉ／Ｆ）２２６を起動し、続いてスキャナ２０７を起動してコピー対象の原稿のスキャン動作を開始する。こうしてスキャナ２０７によって読み取られた原稿の画像データは、スキャナインターフェース２２６を経由してメインメモリ２０２に格納される。このとき、所定のラインまで画像データを読み込んだことを知らせる割り込みが、スキャナインターフェース２２６から割り込みコントローラ２１３を経由してＣＰＵ２１０，２１１に通知される。ＣＰＵ２１０，２１１は、スキャナ２０７で読み取った画像データの処理（スキャン画像処理）を行うために、予めスキャン画像処理を実施するためのファームウェアをメインメモリ２０２にロードして起動しておく。これにより起動されるファームウェアは、ＤＳＰサブシステム１６０１に該当している。そしてＤＳＰサブシステム１６０１に、スキャン画像処理の最初のバンド処理を指示する。
【００８６】
ＤＳＰサブシステム１６０１は、ＣＰＵ２１０或は２１１からの指示に従って、スキャン画像処理を開始し、１バンドの画像処理が終了したならば、ＣＰＵ２１０，２１１に割り込みにより終了を通知する。これによりＣＰＵ２１０或は２１１は、ＤＳＰサブシステム１６０１からの１バンドの画像処理の終了に応答して、ＪＰＥＧエンコーダ２２１を起動して画像データの圧縮を開始する。これらの処理を繰り返し、スキャン画像がＪＰＥＧ圧縮されてメインメモリ２０２に格納されると、次にＣＰＵ２１０或は２１１はＪＰＥＧデコーダ２２２を起動して画像データの伸張（復号）を開始する。ＪＰＥＧデコーダ２２２はメインメモリ２０２に格納されたＪＰＥＧ画像データを伸張し、その非圧縮画像データをメインメモリ２０２に書き戻す。ＪＰＥＧデコーダ２２２は、予め指定された画像データのラインまでの伸張が終了すると、割込みによりＣＰＵ２１０，２１１に通知する。この割り込みを受けたＣＰＵ２１０或は２１１は、予めプリンタ２０６用の印刷データを作成するプリント画像処理のためのファームウェアを用いて起動しているＤＳＰサブシステム１６０２にプリント画像処理を指示する。これによりＤＳＰサブシステム１６０２は、メインメモリ２０２の画像データに対してプリント画像処理を開始し、画象処理後のハーフトーン画像をメインメモリ２０２に格納する。こうしてＤＳＰサブシステム１６０２は、処理対象のバンド画像の処理を終えるとＣＰＵ２１０，２１１にバンド処理終了の割込みを発行する。
【００８７】
ＣＰＵ２１０或は２１１は次に、ハーフトーン画像を圧縮するためにＪＢＩＧエンコーダ２２３を起動する。ここでＪＢＩＧ圧縮はＣＭＹＫ各色ごとに実施される。これらを繰り返しＪＰＥＧ圧縮された画像データに印刷画像処理を施して各色毎のＪＢＩＧ圧縮データを得てメインメモリ２０２に格納する。次にＣＰＵ２１０或は２１１は、ＪＢＩＧデコーダ２２４を起動してＪＢＩＧ圧縮画像データの伸張を開始する。ＪＢＩＧデコーダ２２４は、所定のラインまで伸張を終えるとＣＰＵ２１０，２１１に割込みで通知する。これによりＣＰＵ２１０或は２１１は、プリンタインターフェース２２５及びプリンタ２０６を起動し、その伸張されたハーフトーン画像データをプリンタ２０６に出力して印刷する。以上がコピー動作の説明である。
【００８８】
次に、ホストコンピュータからＰＤＬデータを受信して印刷するネットワークプリンタとしての動作を説明する。
【００８９】
ホストコンピュータよりネットワークインターフェース（Ｉ／Ｆ）２１９もしくはＵＳＢインターフェース（Ｉ／Ｆ）２１８を経由してＰＤＬデータが送られてくると、ＣＰＵ２１０或は２１１はＰＤＬデータを一旦メインメモリ２０２に格納する。その後、そのＰＤＬデータの解析を開始し、ディスプレイリストをメインメモリ２０２に作成する。ＣＰＵ２１０或は２１１は、そのディスプレイリストから印刷用画像データを生成するため、予めレンダリング処理のファームウェアを用いて起動してあるＤＳＰサブシステム１６０１を起動してレンダリング処理を開始する。このときＤＳＰサブシステム１６０１は、メインメモリ２０２に格納されたディスプレイリストを解釈して印刷用画像データを生成する。こうして印刷用画像データの所定のラインまでの生成が終わった後、ＤＳＰサブシステム１６０１は、割込みをＣＰＵ２１０，２１１に発行する。これによりＣＰＵ２１０或は２１１は、そのレンダリングされた印刷用画像データの最初のバンドを圧縮するためＪＰＥＧエンコーダ２２１を起動する。ＪＰＥＧエンコーダ２２１は、所定のバンドまで圧縮すると、割込みによりＣＰＵ２１０，２１１に通知する。これらの処理を繰り返すことにより、ページ全面の印刷用画像データが生成され、ＪＰＥＧデータとしてメインメモリ２０２に格納される。
【００９０】
次にＣＰＵ２１０或は２１１は、ＪＰＥＧデコーダ２２２を起動して印刷用画像データの伸張を開始する。ＪＰＥＧデコーダ２２２は、メインメモリ２０２に格納されたＪＰＥＧ圧縮画像データを伸張（復号）し、非圧縮画像データとしてメインメモリ２０２に書き戻す。こうしてＪＰＥＧデコーダ２２２は、予め指定された画像データのラインまでの伸張処理が達すると、割込みによりＣＰＵ２１０，２１１に通知する。この割り込みを受けたＣＰＵ２１０或は２１１は、予めプリント画像処理用にファームウェアを用いて起動してあるＤＳＰサブシステム１６０２にプリント画像処理を指示する。
【００９１】
ＤＳＰサブシステム１６０２は、メインメモリ２０２の伸張済みの画像データに対してプリント画像処理を開始し、画像処理後のハーフトーン画像を作成してメインメモリ２０２に格納する。こうしてＤＳＰサブシステム１６０２は、処理対象のバンド画像の処理を終えると、ＣＰＵ２１０，２１１にバンド処理終了の割込みを発行する。これによりＣＰＵ２１０或は２１１は、そのハーフトーン画像を圧縮するためにＪＢＩＧエンコーダ２２３を起動する。ここでＪＢＩＧ圧縮はＣＭＹＫ各色ごとに実施される。これらを繰り返しＪＰＥＧ圧縮画像データに印刷画像処理を施して各色毎のＪＢＩＧ圧縮データが生成され、メインメモリ２０２に格納される。次にＣＰＵ２１０或は２１１は、ＪＢＩＧデコーダ２２４を起動してＪＢＩＧ圧縮画像データの伸張を開始する。ＪＢＩＧデコーダ２２４は、所定のラインまで伸張を終えるとＣＰＵ２１０，２１１に割込みを発行する。これによりＣＰＵ２１０或は２１１は、プリンタインターフェース２２５及びプリンタ２０６を起動し、その伸張されたハーフトーン画像データを印刷する。
【００９２】
次にファクシミリ送信処理について説明する。
【００９３】
操作部２０５を操作してユーザがファクシミリ送信を指示すると、ＵＩコントローラ２２０、割り込みコントローラ２１３を経由してＣＰＵ２１０，２１１に伝えられる。ＣＰＵ２１０或はＣＰＵ２１１は、まずスキャナインターフェース２２６を起動し、続いてスキャナ２０７を起動して送信原稿のスキャン動作を開始する。こうしてスキャナ２０７によって読み取られた原稿の画像データは、スキャナインターフェース２２６を経由してメインメモリ２０２に格納される。このときスキャナインターフェース２２６から所定のラインまで届いたことを知らせる割り込みが、割り込みコントローラ２１３を経由してＣＰＵ２１０，２１１に通知される。これによりＣＰＵ２１０或は２１１は、スキャン画像処理を行うために、予めスキャン画像処理を実施するためのファームウェアをメインメモリ２０２にロードし起動しておいたＤＳＰサブシステム１６０１に、スキャン画像処理の最初のバンド処理を指示する。ＤＳＰサブシステム１６０１は、ＣＰＵ２１０或は２１１からの指示に従ってスキャン画像処理を開始し、バンドの画像処理が終了するとＣＰＵ２１０，２１１に終了の割込みを発行する。こうしてＣＰＵ２１０或は２１１は、ＤＳＰサブシステム１６０１からバンドのスキャン画像処理の終了割込みを受け取る。
【００９４】
次にＣＰＵ２１０或は２１１は、ファクシミリ送信を行うために、予め解像度変換及び二値化及びＭＭＲ圧縮のファクシミリデータ生成処理を実施するためのファームウェアをメインメモリ２０２にロードして起動している。このファームウェアはＤＳＰサブシステム１６０２であり、これに対してファクシミリデータ生成処理の最初のバンド処理を指示する。これによりＤＳＰサブシステム１６０２は、ＣＰＵ２１０或は２１１からの指示に従って、ファクシミリデータの生成処理を開始し、１ページのファクシミリデータが生成されるとＣＰＵ２１０，２１１に終了の割込みを発行する。こうしてＣＰＵ２１０或は２１１は、ＤＳＰサブシステム１６０２からファクシミリデータの生成処理の終了割込みを受け取る。そしてメインメモリ２０２に格納されたファクシミリデータをＲＯＭコントローラ２１７に接続されたファクシミリ（Ｆａｘ）モデム２０４を介して通信網に送信する。
【００９５】
図１６（Ａ）（Ｂ）は、本実施形態２におけるエリア処理と非エリア処理での処理単位切替を示した模式図である。
【００９６】
図１６（Ａ）は、非エリア処理時のＤＳＰ２３０，２３１，２３２，２３３，１６０３での処理単位分割例を示している。ここでＤＳＰ１６０３は図１６（Ａ）に示すように、共有ローカルメモリ２４０の画像データの先頭と末尾の重複部分の画像データを処理するように割り当てられている。このＤＳＰサブシステムのＤＳＰの数Ｎ（＝５）、矩形画像の幅をＡ[pixel]、矩形画像の高さをＢ[pixel]とする。また、エリア処理に必要な入力画像の重複幅をＨ[pixel]、エリア処理に必要な入力画像の重複高さをＶ[pixel]とする。このとき各ＤＳＰが処理する画像データのサイズは以下の式で示される。
（１）ＤＳＰ２３０〜２３３の場合
・画像幅      Ａ[pixel]
・画像高さ  Ｂ[pixel]＋２×Ｖ[pixel]
（２）ＤＳＰ１６０３の場合
・画像幅      ２×Ｈ[pixel]
・画像高さ    Ｂ[pixel]＋２×Ｖ[pixel]
図１６（Ｂ）は、エリア処理時のＤＳＰ２３０，２３１，２３２，２３３での処理単位の分割例を示している。ＤＳＰサブシステムのＤＳＰの数Ｎ、矩形画像の幅をＡ[pixel]、矩形画像の高さをＢ[pixel]とする。またエリア処理に必要な入力画像の重複幅をＨ[pixel]、エリア処理に必要な入力画像の重複高さをＶ[pixel]とする。この場合、各ＤＳＰが処理する画像のサイズは以下の式で示される。この実施形態２では、ＤＳＰ１６０３はエリア処理を実施しないものとする。
（１）ＤＳＰ２３０，２３１，２３２，２３３の場合
・入力画像幅      Ａ[pixel]＋２×Ｈ[pixel]
・入力画像高さ    Ｂ[pixel]＋２×Ｖ[pixel]
・出力画像幅      Ａ[pixel]
・出力画像高さ    Ｂ[pixel]
これは前述の実施の形態１の図１２（Ｂ）と同じである。
【００９７】
図１７は、本実施の形態２に係るＤＳＰ１６０３によるプリント画像処理の処理シーケンスを示したフローチャートである。尚、この場合、ＤＳＰ２３０，２３１，２３２，２３３は、前述の図７のフローチャートで示す処理を実施する。
【００９８】
まず初めにステップＳ１８０１で、ＤＳＰ２３０，２３１，２３２，２３３との同期処理を実施する。次にステップＳ１８０２に進み、ｌｏｇ変換処理を実施する。次にステップＳ１８０３に進んで出力色変換処理を実施し、更にステップＳ１８０４に進んで、載り量制御処理を実施する。これらの処理ステップは、図１７（Ａ）で示されたＤＳＰ１６０３の処理範囲に対して実施される。次にステップＳ１８０５〜Ｓ１８０７で、ＤＳＰ２３０，２３１，２３２，２３３のシーケンスに従って同期処理を３回実施する。そしてステップＳ１８０８に進み、バンドの終了か否かを判断する。ここでバンド終了でなければステップＳ１８０１に進の同期処理に進み、前述した処理を実行する。そしてステップＳ１８０８でバンド終了になるとステップＳ１８０９に進み、ＣＰＵ２１０、２１１に終了割込みを発行して、この処理を終了する。
【００９９】
図１８（Ａ）（Ｂ）は、本実施形態２に係るＤＭＡＣ２３９によるＤＲＡＭのメモリアクセスパターンを説明する模式図である。
【０１００】
図１８（Ａ）は、メインメモリ（ＤＲＡＭ）２０２から固有ローカルメモリ２３４，２３５，２３６，２３７へ周辺画素も含む矩形画像を転送した場合のメモリアクセスパターンを示している。図に示したポイントにおいてメモリのページミスが発生する。
【０１０１】
図１８（Ｂ）は、メインメモリ２０２から共有ローカルメモリ２４０へ周辺画素も含むＮ個の矩形画像を転送した場合のメモリアクセスパターンを説明する図である。
【０１０２】
図示したポイントにおいてメモリのページミスが発生する。
【０１０３】
このように共有ローカルメモリに転送することにより、メモリのページミスがＮ分の１に減少している。このことによりメモリ転送効率が向上する。
【０１０４】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【０１０５】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【０１０６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１０７】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【０１０８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１０９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【０１１０】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１１１】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１１２】
【図１】本実施形態に係る矩形画像とその重複部を説明する模式図で、図１（Ａ）は、重複した矩形画像とページ全体との関係を示す図で、図１（Ｂ）は、重複した矩形画像と、処理対象の矩形画像との関係を説明する図である。
【図２】本実施形態に係るＭＦＰの構成を示したブロック図である。
【図３】本実施形態１に係るＭＦＰのコピー動作時においてＣＰＵで実行されるシーケンスを説明するフローチャートである。
【図４】本実施形態１に係るＭＦＰのプリント画像処理においてＣＰＵで実行されるシーケンスを説明するフローチャートである。
【図５】本実施形態に係るＭＦＰの印刷処理におけるＣＰＵの処理シーケンスを示したフローチャートである。
【図６】本実施形態１に係るＭＦＰのＤＳＰサブシステムによるスキャン画像処理を説明するフローチャートである。
【図７】本実施形態１に係るＭＦＰのＤＳＰサブシステムによるプリント画像処理における各ＤＳＰの処理シーケンスを示したフローチャートである。
【図８】本実施形態１に係るＤＳＰにおける同期処理のシーケンスを示したフローチャートである。
【図９】本実施形態１に係るＤＳＰと同期回路との接続及び同期回路の構成を説明する回路図である。
【図１０】本発明の実施形態に係る同期回路の動作を説明するタイミングチャートである。
【図１１】本実施形態１に係る各ＤＳＰによるデータの扱いと、メインメモリ、共有ローカルメモリ、固有ローカルメモリの関係を説明する模式図である。
【図１２】本実施形態１に係るエリア処理と非エリア処理での各ＤＳＰによる処理単位の切替を説明する模式図である。
【図１３】本実施形態１に係るＭＦＰのＰＤＬプリント動作時におけるＣＰＵの処理シーケンスを示したフローチャートである。
【図１４】本実施形態に係るＭＦＰのレンダリング処理におけるＤＳＰの処理シーケンスを示したフローチャートである。
【図１５】本発明の実施形態２に係るＭＦＰの構成を示したブロック図である。
【図１６】本実施形態２におけるエリア処理と非エリア処理での処理単位切替を示した模式図である。
【図１７】本実施の形態２に係るＤＳＰによるプリント画像処理の処理シーケンスを示したフローチャートである。
【図１８】本実施形態２に係るＤＭＡＣによるＤＲＡＭのメモリアクセスパターンを説明する模式図である。
【図１】
2009295032.tif 000003
【図２】
2009295032.tif 000004
【図３】
2009295032.tif 000005
【図４】
2009295032.tif 000006
【図５】
2009295032.tif 000007
【図６】
2009295032.tif 000008
【図７】
2009295032.tif 000009
【図８】
2009295032.tif 000010
【図９】
2009295032.tif 000011
【図１０】
2009295032.tif 000012
【図１１】
2009295032.tif 000013
【図１２】
2009295032.tif 000014
【図１３】
2009295032.tif 000015
【図１４】
2009295032.tif 000016
【図１５】
2009295032.tif 000017
【図１６】
2009295032.tif 000018
【図１７】
2009295032.tif 000019
【図１８】
2009295032.tif 000020