(57)【要約】【課題】  複数のデータ処理部を用いて、複数のジョブを並行して処理する場合に、各処理部におけるデータ処理の負荷が分散するように、処理するジョブのデータ形式を決定する。【解決手段】    ジョブのデータを、複数のデータ処理部に処理させるデータ処理手段と、当該データ処理手段によって第１のジョブのデータを、第１のデータ処理部を用いた処理よりも第２のデータ処理部を用いた処理に長い時間を要する第１のデータ形式のデータを用いて処理させるか、第２のデータ処理部を用いた処理よりも第１のデータ処理部を用いた処理に長い時間を要する第２のデータ形式のデータを用いて処理させるかを決定する決定手段とを備え、決定手段は、第１のジョブと並行して実行する第２のジョブのデータが第１のデータ処理部を用いた処理と第２のデータ処理部を用いた処理のいずれに、より長い時間を要するデータであるかに基づいて、上述した決定を行う。【選択図】  図６
2010028431.tif 000002
【特許請求の範囲】
【請求項１】
ジョブのデータを、複数のデータ処理部に処理させるデータ処理手段と、
前記データ処理手段によって、第１のジョブのデータを、
第１のデータ処理部を用いた処理よりも第２のデータ処理部を用いた処理に長い時間を要する第１のデータ形式のデータを用いて処理させるか、
前記第２のデータ処理部を用いた処理よりも前記第１のデータ処理部を用いた処理に長い時間を要する第２のデータ形式のデータを用いて処理させるかを決定する決定手段とを備え、
前記決定手段は、前記第１のジョブと並行して実行する前記第２のジョブのデータが前記第１のデータ処理部を用いた処理と前記第２のデータ処理部を用いた処理のいずれに、より長い時間を要するデータであるかに基づいて、前記決定を行うことを特徴とするデータ処理装置。
【請求項２】
前記決定手段は、前記第２のジョブのデータが、第１のデータ処理部を用いた処理よりも第２のデータ処理部を用いた処理に長い時間を要するデータである場合に、
前記第１のジョブのデータを、前記第２のデータ処理部を用いた処理よりも前記第１のデータ処理部を用いた処理に長い時間を要する前記第２のデータ形式のデータを用いて処理するよう決定することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記ジョブは、複数ページのデータを含むジョブであり、
前記決定手段は、前記複数ページに含まれるページごとに、前記決定を行うことを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記第１のデータ形式は、展開部で展開を行う前のデータであり、
前記第２のデータ形式は、展開部で展開を行った後のデータであることを特徴とする請求項１乃至３のいずれかに記載のデータ処理装置。
【請求項５】
前記第１のデータ処理部による処理は、記憶手段からのデータの読出処理、または、書込処理であり、
前記第２のデータ処理部による処理は、展開する前の画像データを展開する展開処理であることを特徴とする請求項１乃至４のいずれかに記載のデータ処理装置。
【請求項６】
ジョブのデータを、複数のデータ処理部に処理させるデータ処理工程と、
前記データ処理工程で、第１のジョブのデータを、
第１のデータ処理部を用いた処理よりも第２のデータ処理部を用いた処理に長い時間を要する第１のデータ形式のデータを用いて処理させるか、
前記第２のデータ処理部を用いた処理よりも前記第１のデータ処理部を用いた処理に長い時間を要する第２のデータ形式のデータを用いて処理させるかを決定する決定工程とを備え、
前記決定工程では、前記第１のジョブと並行して実行する前記第２のジョブのデータが前記第１のデータ処理部を用いた処理と前記第２のデータ処理部を用いた処理のいずれに、より長い時間を要するデータであるかに基づいて、前記決定を行うことを特徴とするデータ処理装置の制御方法。
【請求項７】
前記決定工程では、前記第２のジョブのデータが、第１のデータ処理部を用いた処理よりも第２のデータ処理部を用いた処理に長い時間を要するデータである場合に、
前記第１のジョブのデータを、前記第２のデータ処理部を用いた処理よりも前記第１のデータ処理部を用いた処理に長い時間を要する前記第２のデータ形式のデータを用いて処理するよう決定することを特徴とする請求項６に記載のデータ処理装置の制御方法。
【請求項８】
前記ジョブは、複数ページのデータを含むジョブであり、
前記決定工程では、前記複数ページに含まれるページごとに、前記決定を行うことを特徴とする請求項６または７に記載のデータ処理装置の制御方法。
【請求項９】
前記第１のデータ形式は、展開部で展開を行う前のデータであり、
前記第２のデータ形式は、展開部で展開を行った後のデータであることを特徴とする請求項６乃至８のいずれかに記載のデータ処理装置の制御方法。
【請求項１０】
前記第１のデータ処理部による処理は、記憶手段からのデータの読出処理、または、書込処理であり、
前記第２のデータ処理部による処理は、展開する前の画像データを展開する展開処理であることを特徴とする請求項６乃至９のいずれかに記載のデータ処理装置の制御方法。
【請求項１１】
請求項６乃至１０のいずれかに記載のデータ処理装置の制御方法を、コンピュータに実行させるためのプログラムを記憶するコンピュータ読取可能な記憶媒体。
【請求項１２】
請求項６乃至１０のいずれかに記載のデータ処理装置の制御方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理装置の制御方法、記憶媒体及びプログラムに関するものである。
【０００２】
近年、原稿画像から読み取った画像データに基づいて処理を行うデータ処理装置が使用されている。この種のデータ処理装置では原稿の画像情報がスキャナ等により読み込まれ、その原稿の画像データが一旦、メモリに蓄えられる。また、ネットワークを通じて各クライアントより送信されてきたプリントジョブの画像データがメモリに蓄えられる。
【０００３】
そして、該メモリに蓄えられた画像データは、ユーザの要求に応じて画像の縮小、拡大及び回転などの画像処理が施される。これにより、画像処理された画像データに基づいてその原稿の画像を出力することができる。
【０００４】
ところで、この種のデータ処理装置では、メモリを用いて、画像データを効率良くデータ転送する技術や、また送信されてきた印刷データにレンダリング処理を行い展開する技術が必要になる。
【０００５】
図１２は、この種のメモリを用いた従来のデータ処理装置１００００の構成例を示すブロック図である。
【０００６】
このデータ処理装置１００００は、図２に示すＣＰＵバス１を有している。このＣＰＵバス１には、システム制御部２、メモリ制御部３、ダイレクトメモリアクセスコントローラ（以下ＤＭＡＣという）４、画像読込部５、画像形成部６、及び画像展開部７、通信部８が接続されている。
【０００７】
このＣＰＵバス１に接続されたシステム制御部２はＣＰＵ２ａ，ＲＯＭ２ｂ，ＲＡＭ２ｃ及び操作部２ｄを有している。ＣＰＵ２ａはデータ処理装置１００００の全体制御を行い、その制御プログラムはＲＯＭ２ｂに格納されている。ＲＡＭ２ｃはＣＰＵ２ａが演算を行うときに、一時的に使用されるメモリであり、制御プログラムの実行上必要になるものである。
【０００８】
例えば、画像読込部５、画像展開部７及び画像形成部６に起動指示などの制御命令が出力されたとき、ＣＰＵ２ａによってＲＡＭ２ｃにその制御命令が書き込まれる。その後、ＣＰＵ２ａによって画像データの書き込み終了通知などがあった場合にこの制御命令に対するものかが照合される。
【０００９】
また、操作部２ｄはユーザとデータ処理装置１００００との間のインタフェースに必要なものであり、操作部２ｄの指示によりＣＰＵ２ａは所定のデータ処理を実行する。
【００１０】
ＣＰＵバス１に接続されたメモリコントローラ３ａは複数ページ分の容量をもつ比較的大きな容量の画像メモリ３ｂとのインタフェースで、メモリバス３ｃにより接続されている。
【００１１】
また、図示しないが符号化処理を行うことにより符号データの蓄積も行われる。ＤＭＡＣ４はＣＰＵ２ａの介在なしに各デバイス間のデータ転送を実行するもので、ＣＰＵ２ａに比べ高速にデータ転送を行うことができる。
【００１２】
このＣＰＵバス１に接続された画像読込部５はスキャナ用インタフェース５ａ、スキャナ部２００及びページメモリ５ｂを有している。
【００１３】
スキャナ用インタフェース５ａはスキャナ部２００の駆動制御及びページメモリ５ｂにおける画像データ（ＤＡＴＡ）の書き込み読み出し制御を行うものである。
【００１４】
ページメモリ５ｂはスキャナ部２００からの画像データを１ページ分格納するメモリで、スキャナ部２００とＣＰＵ２ａのデータ転送速度の整合及びＣＰＵバス１の使用効率の向上のため必要になるものである。
【００１５】
また、ＣＰＵバス１に接続された画像展開部７は、ネットワークとのインタフェースの役割を担う通信部８を介してネットワーク上の外部装置よりプリントジョブを受信する。そして、画像展開部７内にあるレンダリング部７ａにてＣＰＵバス１によって接続されている各処理部にて扱えるデータに、併設されているワークメモリ７ｂを使用しながらレンダリングし、展開処理を実行する。
【００１６】
更に、ＣＰＵバス１に接続された画像形成部６はプリンタ用インタフェース６ａ，ページメモリ６ｂ及びプリンタ部１００を有している。
【００１７】
プリンタ用インタフェース６ａは、プリンタ部１００の駆動制御及びページメモリ６ｂにおける画像データの書き込み読み出し制御を行うものである。
【００１８】
ページメモリ６ｂは、プリンタ部１００への書き込みデータを１ページ分格納するメモリで、プリンタ部１００とＣＰＵ２ａのデータ転送速度の整合及びＣＰＵバス１の使用効率の向上のため必要になるものである。
【００１９】
次に、データ処理装置１００００の動作を説明する。
【００２０】
始めに、１枚の原稿をコピーする際のコピー動作について説明する。
【００２１】
まず、操作部２ｄからコピーの指示を受けると、ＣＰＵ２ａから画像読込部５へスキャナ駆動が指示される。この指示を受けたスキャナ用インタフェース５ａではスキャナ部２００が駆動されると共に、スキャナ部２００から原稿の画像データが取得され、ページメモリ５ｂに格納される。１ページ分の画像データがページメモリ５ｂに格納されると、スキャナ用インタフェース５ａはＣＰＵ２ａに対して画像データの読み取り終了を通知する。
【００２２】
この通知を受けたＣＰＵ２ａからＤＭＡＣ４に対して、スキャナ用インタフェース５ａからプリンタ用インタフェース６ａへ画像データを転送するように指示が与えられる。
【００２３】
そして、１ページ分の画像データがスキャナ用のページメモリ５ｂからプリンタ用のページメモリ６ｂに転送される。この１ページの画像データの転送が終わると、ＤＭＡＣ４からＣＰＵ２ａに対して、転送終了が通知される。
【００２４】
この通知を受けたＣＰＵ２ａから画像形成部６へプリンタ駆動が指示される。この指示を受けたプリンタ用インタフェース６ａによって、ページメモリ６ｂから画像データが読み出され、その画像データがプリンタ部１００に出力される。プリンタ部１００では１ページの画像データに基づいて、原稿の画像をシートに複写することができる。
【００２５】
次に、複数枚の原稿を複数部コピーするときの動作について説明する。
【００２６】
まず、操作部２ｄからの指示を受けたＣＰＵ２ａによって画像読込部５に対してスキャナ駆動が指示される。この指示を受けたスキャナ用インタフェース５ａでは、スキャナ部２００によって取得された１ページ分の画像データがページメモリ５ｂに格納される。その後、スキャナ用インタフェース５ａからＣＰＵ２ａへ１ページ分の画像データの読み取り終了が通知される。
【００２７】
この通知を受けたＣＰＵ２ａからＤＭＡＣ４にデータ転送が指示されるので、ページメモリ５ｂに格納された画像データがメモリコントローラ３ａを介し、画像メモリ３ｂに順次書き込まれる。
【００２８】
この一連の動作が原稿枚数分だけ繰り返され、全ての画像データが画像メモリ３ｂに蓄積される。
【００２９】
その後、蓄積された画像データはＣＰＵ２ａの指示により画像メモリ３ｂから順次読み出され、プリンタ用インタフェース６ａに転送される。
【００３０】
このとき、ＤＭＡＣ４により１ページ分の画像データが画像メモリ３ｂからプリンタ用のページメモリ６ｂに格納されると、ＣＰＵ２ａからプリンタ用インタフェース６ａに対してプリンタ起動が指示される。
【００３１】
この指示を受けたプリンタ用インタフェース６ａによって１ページ分の画像データがプリンタ部１００に転送されると、ＣＰＵ２ａに対して１ページ目のデータの転送終了が通知される。この通知を受けたＣＰＵ２ａからＤＭＡＣ４へ次ページの画像データの転送が指示され、その印刷が開始される。
【００３２】
この一連の動作がページ数分だけ繰り返されることによって、最初の１部のコピーが完了する。
【００３３】
この例ではＣＰＵ２ａに対して複数部のコピーが指示されているので、ＤＭＡＣ４に対して、再度１ページ目の画像データを画像メモリ３ｂからプリンタ用インタフェース６ａへ転送するように指示される。これ以降は、同一動作を設定された部数分だけ繰り返すことにより、複数部のコピーを行うことができる。
【００３４】
次に、ネットワークを介して受信したプリントジョブが有する、複数ページのプリントデータを複数部プリントするときの動作について説明する。
【００３５】
まず、外部ネットワークのインタフェースである通信部８より、クライアント端末等より送信されてくるプリントジョブに含まれるコードデータを受信する。受信したコードデータはＣＰＵバス１を介して一旦、画像メモリ３ｂへ順次格納していく。
【００３６】
画像メモリ３ｂに１ページ分のコードデータが受信された時点で、逐次画像メモリ３ｂよりコードデータを画像展開部７のレンダリング部７ａへ転送する。
【００３７】
レンダリング部７ａは、当該レンダリング部７ａに併設されているワークメモリ７ｂを使用し、コードデータを各処理部で扱える画像データに展開し、ワークメモリ７ｂに書き込んでいく。その後レンダリング部７ａからＣＰＵ２ａへ１ページ分のプリントジョブの展開終了が通知される。
【００３８】
こうして展開された画像データはコピー動作時と同様に、ＣＰＵ２ａからＤＭＡＣ４にデータ転送が指示されるので、ワークメモリ７ｂに格納された画像データが画像メモリ３ｂに順次書き込まれる。
【００３９】
この一連の動作がプリントジョブのページ分だけ繰り返され、全てのページの画像データが画像メモリ３ｂに蓄積される。
【００４０】
その後、画像メモリ３ｂに蓄積された画像データはＣＰＵ２ａの指示により画像メモリ３ｂから順次読み出され、プリンタ用インタフェース６ａに転送される。
【００４１】
このとき、ＤＭＡＣ４により１ページ分の画像データが画像メモリ３ｂからプリンタ用のページメモリ６ｄに格納されると、ＣＰＵ２ａからプリンタ用インタフェース６ａに対してプリンタ起動が指示される。
【００４２】
この指示を受けたプリンタ用インタフェース６ａによって１ページ分の画像データがプリンタ部１００に転送されると、ＣＰＵ２ａに対して１ページ目のデータの転送終了が通知される。この通知を受けたＣＰＵ２ａからＤＭＡＣ４へ次ページの画像データの転送が指示され、その印刷が開始される。
【００４３】
さらにコピー動作時と同様に、一連の動作がページ数分だけ繰り返されることによって、最初の１部のプリントが完了する。
【００４４】
ここでは、ＣＰＵ２ａに対して複数部のプリントが指示されているので、ＤＭＡＣ４に対して、再度１ページ目の画像データを画像メモリ３ｂからプリンタ用インタフェース６ａへ転送するように指示される。これ以降は、同一動作を設定された部数分だけ繰り返すことにより、複数部のプリントを行うことができる。
【００４５】
一方、近年ではレンダリング技術の向上により、上記のコードデータをレンダリング部７ａで展開する時間が短くなっている。したがって、上記従来のように複数部プリントする場合において、２部目以降は画像メモリ３ｂに展開され格納されている画像データを読み出して使用する処理以外にも処理方法がある。例えば、ページ毎のコードデータを展開するのに要した時間が所定時間（例えば画像形成部６によるプリントに必要な時間）より小さい場合がる。このような場合には、画像展開部７で展開されていない、サイズの小さいコードデータを２部目以降のデータ用に使用する技術が知られている（特許文献１参照）。
【００４６】
また、プリントジョブの時に最初に通信部８からＣＰＵバス１を介して逐次画像メモリ３ｂに書き込まれるコードデータは各ページに存在する各オブジェクトの描画命令をリスト化したものである。従来は、プリントジョブデータを、レンダリング部７ａで展開した後の画像データとして保持しておき、プリント時には、展開した後の画像データを用いてプリントしていた。しかし、上述したコードデータは、オブジェクト毎の編集（回転、変倍等）が容易であることから、データ処理装置１００００で、展開した後の画像データと、コードデータとを合わせて保持しておくことも考えられている。
【特許文献１】特開２００３−１８２１６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００４７】
また、上記のように構成されたデータ処理装置の中では、複写機能に基づくコピー動作やプリント機能に基づくプリント動作の実行要求が同時に発生する場合がある。
【００４８】
この場合に、画像メモリ３ｂでは、２つのリード／ライト動作（読出処理と書込処理）が発生する。１つは、コピー動作における画像読込部５より送信されてきた画像データの画像メモリ３ｂにおけるリード／ライト動作である。もう１つは、プリント動作における画像展開部７より展開された画像データのリード／ライト動作である。このような、２つのリード／ライト動作を同時に行う場合、画像メモリ３ｂでのデータ転送をそれぞれメモリコントローラ３ａで時分割に処理しなければならない状態となる。
【００４９】
この結果、コピー動作やプリント動作に対する各々のデータ転送速度を低下させてしまい、両方の動作のパフォーマンスが落ちる場合があった。
【００５０】
また、例えば画像メモリ３ｂに保存してある展開前のコードデータのプレビュー動作の実行要求と上述した通常のプリント動作が同時に発生する場合があった。
【００５１】
この場合には、両動作ともに画像展開部７内のレンダリング部７ａのレンダリング処理とワークメモリ７ｂのリード／ライト動作が必要であり、画像展開部７は、これらの動作を時系列に処理しなくてはならない。
【００５２】
従って、プリント動作中にプレビュー動作の要求が発生した場合は、先に実行されているプリント動作が終了しなければプレビュー動作ができない等の場合も生じる。
【００５３】
本発明は、上記の課題を解決するためになされたものである。本発明の目的は、複数のデータ処理部を用いて、複数のジョブを並行して処理する場合に、各処理部におけるデータ処理の負荷が分散するように、処理するジョブのデータ形式を決定する仕組みを提供することである。
【課題を解決するための手段】
【００５４】
上記目的を達成する本発明のデータ処理装置は以下に示す構成を備える。
【００５５】
ジョブのデータを、複数のデータ処理部に処理させるデータ処理手段と、当該データ処理手段によって第１のジョブのデータを、第１のデータ処理部を用いた処理よりも第２のデータ処理部を用いた処理に長い時間を要する第１のデータ形式のデータを用いて処理させるか、第２のデータ処理部を用いた処理よりも第１のデータ処理部を用いた処理に長い時間を要する第２のデータ形式のデータを用いて処理させるかを決定する決定手段とを備え、決定手段は、第１のジョブと並行して実行する第２のジョブのデータが第１のデータ処理部を用いた処理と第２のデータ処理部を用いた処理のいずれに、より長い時間を要するデータであるかに基づいて、上述した決定を行う。
【発明の効果】
【００５６】
本発明によれば、複数のデータ処理部を用いて、複数のジョブを並行して処理する場合に、各処理部におけるデータ処理の負荷が分散するように、処理するジョブのデータ形式を決定することができる。
【発明を実施するための最良の形態】
【００５７】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００５８】
＜システム構成の説明＞
〔第１実施形態〕
図１は、本実施形態を示すデータ処理装置の一例である画像処理装置を示す断面図である。本例は、ＭｕｌｔｉＦｕｎｃｔｉｏｎＰｅｒｉｐｈｅｒａｌ（ＭＦＰ）であって、スキャナ部と、プリンタ部とが通信してスキャン機能、コピー機能、プリント機能等を並列的に処理可能に構成されている。なお、プリント機能には、通信インタフェースを介して、情報処理装置から印刷ジョブを解析して、印刷ジョブに含まれるデータをレンダリングする処理が含まれる。
【００５９】
図１において、２００はスキャナ部である。２０１は原稿積載台ガラス（プラテンガラス）である。２０２は原稿走査ユニットであり、不図示の原稿照明ランプ、走査ミラー等で構成される。スキャナ部２００は画像取り込み処理が開始されると、原稿走査ユニット２０２が所定方向に往復走査される。この間、原稿の反射光は、走査ミラー２０４〜２０６を介してレンズ２０７を透過してイメージセンサ部２０８内のＣＣＤセンサに結像する。
【００６０】
なお、スキャナ部２００上には、ＡＤＦ（自動原稿送り器）もしくは圧板カバーが乗せられる（不図示）。
【００６１】
プリンタ部１００は大別して、画像形成部１０（４つの画像形成部Ｙ，Ｍ，Ｃ，Ｋが並設されており、その構成は同一である。）、給紙ユニット２０、中間転写ユニット３０、定着ユニット４０及び制御ユニット（不図示）から構成される。
【００６２】
さらに、個々のユニットについて詳しく説明する。
【００６３】
画像形成部１０は、次に述べるような構成になっている。像担持体としての感光ドラム１１Ｙ，１１Ｍ，１１Ｃ，１１Ｋがその中心で軸支され、矢印方向に回転駆動される。
【００６４】
感光ドラム１１Ｙ，１１Ｍ，１１Ｃ，１１Ｋの外周面に対向してその回転方向に一次帯電器１２Ｙ，１２Ｍ，１２Ｃ，１２Ｋ、光学系１３Ｙ，１３Ｍ，１３Ｃ，１３Ｋ、現像装置１４Ｙ，１４Ｍ，１４Ｃ，１４Ｋが配置されている。
【００６５】
一次帯電器１２Ｙ，１２Ｍ，１２Ｃ，１２Ｋにおいて感光ドラム１１Ｙ，１１Ｍ，１１Ｃ，１１Ｋの表面に均一な帯電量の電荷を与える。次いで光学系１３Ｙ，１３Ｍ，１３Ｃ，１３Ｋにより、記録画像信号に応じて変調した例えばレーザービームなどの光線を感光ドラム１１Ｙ，１１Ｍ，１１Ｃ，１１Ｋ上に露光させることによって、そこに静電潜像を形成する。
【００６６】
さらに、イエロー（Ｙ），マゼンタ（Ｙ），シアン（Ｃ），ブラック（Ｋ）といった４色の現像剤（トナー）をそれぞれ収納した現像装置１４Ｙ，１４Ｍ，１４Ｃ，１４Ｋによって上記静電潜像を顕像化する。顕像化された可視画像を中間転写体に転写する画像転写領域Ｔｙ，Ｔｍ，Ｔｃ，Ｔｋの下流側では、クリーニング装置１５Ｙ，１５Ｍ，１５Ｃ，１５Ｋにより転写ベルト３１に転写されずに感光ドラム１１Ｙ，１１Ｍ，１１Ｃ，１１Ｋ上に残されたトナーを掻き落とす。それによってドラム表面の清掃を行う。以上に示したプロセスにより、各トナーによる画像形成が順次行われる。なお、転写ベルト３１はローラ３２，３３，３４により回動される。
【００６７】
給紙ユニット２０は、シートＰを収納するためのカセット２１ａ、２１ｂおよび手差しトレイ２７を有する。また、給紙ユニット２０は、カセット２１ａ、２１ｂ内もしくは手差しトレイ２７よりシートＰを一枚ずつ送り出すためのピックアップローラ２２ａ、２２ｂ、２６を有する。さらに、給紙ユニット２０は、各ピックアップローラ２２ａ、２２ｂ、２６から送り出されたシートＰをレジストローラ２５ａ，２５ｂまで搬送するための給紙ローラ対２３及び給紙ガイド２４を有する。また、給紙ユニット２０は、画像形成部１０の画像形成タイミングに合わせてシートＰを二次転写領域Ｔｅへ送り出すためのレジストローラ２５ａ，２５ｂを有する。
【００６８】
制御ユニットは、上記各ユニット内の機構の動作を制御するための制御基板（不図示）や、モータドライブ基板（不図示）などから成る。
【００６９】
定着ユニット４０は、二次転写領域Ｔｅにて転写ローラ３６により転写された画像を載せたシートＰを加熱・加圧することで画像を定着させる。このように画像が定着されたシートＰは排出ローラ４５により排出されて画像形成動作を終了する。なお、両面ユニットを備える場合には、再給送搬送路を介して、シートを反転して再給紙される。
【００７０】
図２は、本実施形態を示す画像処理装置２０００の構成を説明するブロック図である。
【００７１】
図２において、画像処理装置２０００はＣＰＵバス１を有している。このＣＰＵバス１には、システム制御部２、メモリ制御部３、ダイレクトメモリアクセスコントローラ（以下単にＤＭＡＣという）４、画像読込部５、画像形成部６、及び画像展開部７、通信部８、データ選択部９とが接続されている。
【００７２】
このＣＰＵバス１に接続されたシステム制御部２はＣＰＵ２ａ，ＲＯＭ２ｂ，ＲＡＭ２ｃ及び操作部２ｄを有している。ＣＰＵ２ａは上述した複合機１０００の全体制御を行うＩＣで、その制御プログラムはＲＯＭ２ｂに格納されている。ＲＡＭ２ｃはＣＰＵ２ａが演算を行うときに、一時的に使用されるメモリで、制御プログラムの実行上必要になるものである。
【００７３】
例えば、画像読込部５、画像形成部６及び画像展開部７に起動指示などの制御命令が出力されたとき、ＣＰＵ２ａによってＲＡＭ２ｃにその制御命令が書き込まれる。その後、画像データの書込み終了通知などがあった場合に、この制御命令に対するものかが照合される。
【００７４】
また、操作部２ｄはユーザと画像処理装置２０００との間のインタフェースに必要なものであり、この指示によりＣＰＵ２ａは所定のデータ処理を実行する。ＣＰＵバス１に接続されたメモリコントローラ３ａは複数ページ分の容量をもつ比較的大きな容量の画像メモリ３ｂとのインタフェースで、メモリバス３ｃにより接続されている。また、操作部２ｄには、図示しないユーザインタフェースを介して、画像メモリ３ｂに保持される画像データに対してプレビュー要求を処理する機能を備える。
【００７５】
また、図示しないが符号化処理を行うことにより符号データの蓄積も行われる。ＤＭＡＣ４は、ＣＰＵ２ａの介在なしに各デバイス間のデータ転送を実行するもので、ＣＰＵ２ａに比べ高速にデータ転送を行うことができる。
【００７６】
このＣＰＵバス１に接続された画像読込部５は上述したスキャナ部２００より原稿走査ユニット２０２によって、読み取られた原稿データの処理を行うものであり、スキャナ用インタフェース５ａ、スキャナ部２００及びページメモリ５ｂを有している。
【００７７】
スキャナ用インタフェース５ａは、スキャナ部２００の駆動制御及びページメモリ５ｂにおける画像データ（ＤＡＴＡ）の書き込み読み出し制御を行うものである。ページメモリ５ｂは、スキャナ部２００からの画像データを１ページ分格納するメモリで、スキャナ部２００とＣＰＵ２ａのデータ転送速度の整合及びＣＰＵバス１の使用効率の向上のため必要になるものである。
【００７８】
また、ＣＰＵバス１に接続された画像展開部７は、通信部８を介してネットワーク上のクライアント端末等より各アプリケーションソフト等で作成されているプリントジョブを受信する。画像展開部７内にあるレンダリング部７ａは、プリントジョブに含まれるコードデータをＣＰＵバス１によって接続されている各処理部にて扱えるデータにするために、ワークメモリ７ｂを使用しながらレンダリングして展開する。ここで、レンダリング部７ａは、コード形式のデータをビットマップ形式の画像データに変換することができる。また、画像展開部７は、画像メモリ３ｂに格納されたコードデータを受信して同様の処理を行うこともできる。
【００７９】
更に、ＣＰＵバス１に接続された画像形成部６は、上述したプリンタ部１００へ、処理された画像データを入力するものであり、プリンタ用インタフェース６ａ，ページメモリ６ｂ及びプリンタ部１００を有している。なお、画像形成部６は、画像メモリ３ｂに保持される画像データ或いはレンダリング部７ａでレンダリングされた画像データを印刷する印刷要求に応じて、印刷を実行する。
【００８０】
プリンタ用インタフェース６ａは、プリンタ部１００の駆動制御及びページメモリ６ｂにおける画像データの書き込み読み出し制御を行うものである。ページメモリ６ｂは、プリンタ部１００への書き込みデータを１ページ分格納するメモリで、プリンタ部１００とＣＰＵ２ａのデータ転送速度の整合及びＣＰＵバス１の使用効率の向上のため必要になるものである。
【００８１】
更に、ＣＰＵバス１に接続されたデータ選択部９は、内部にジョブ管理部９ａと、リソース処理演算部９ｂを有している。ここで、ジョブ管理部９ａは、上述したスキャナ部２００より原稿データを読み込みコピーするコピー動作と、プリントジョブを展開し、プリントするプリント動作とのジョブ情報を同時に管理する。
【００８２】
また、ジョブ管理部９ａは、その他図示していない外部からの電話回線等より入力されたファックスデータを出力するファックスジョブを管理するものである。
【００８３】
さらに、ジョブ管理部９ａは、さらにユーザが操作部２ｄにより、予め画像メモリ３ｂに格納されている画像データをプレビューしたい場合のプレビュー動作を１つのジョブとして管理するものである。
【００８４】
リソース処理演算部９ｂは、上記ジョブ管理部９ａにより管理されている各ジョブの情報に基づいて、画像処理装置２０００における各リソースの使用状態や、各リソースに対するリソースの処理時間を演算する。リソースとは、画像処理装置２０００が備える画像展開部７や、画像メモリ３ｂへのデータの読出処理／書込処理部等のことである。
【００８５】
具体的には、画像メモリ３ｂにリード／ライトする転送時間、画像展開部７における展開時間等をリソース処理演算部９ｂが演算する。
【００８６】
上記構成を備える画像処理装置２０００において、プリントする動作と、それに続いてコピー動作が実行された場合について説明する。ここで、プリントする動作とは、予め画像メモリ３ｂに格納してある編集用のコードデータ（ベクタデータ）またはそれに対応するプリント出力用に展開されたビットマップデータを使用してプリントする動作である。
【００８７】
図３は、図２に示した画像メモリ３ｂに格納されている編集用のコードデータ３００１とそれに基づいて展開されたビットマップデータ３００２を模式的に示す図である。
【００８８】
図３において、コードデータ３００１（ベクタデータ）は、プリントデータ内のオブジェクト群と上述したレンダリング部７ａに展開するための命令群をリスト化したものである。本例は、線画や円等の図形とそれに対応するカラー等の描画命令を記述した例である。
【００８９】
一方、コードデータ３００１が画像展開部７にて展開されると、プリント出力用のビットマップデータ３００２が生成される。ここで、３００２Ａはヘッダ情報で、データ形式とデータサイズが記述されている。
【００９０】
本例のようにビットマップデータはプリンタ出力部の解像度により画素に分割し、その分割された画素毎の色情報をリスト化したものである。
【００９１】
なお、本実施形態においてはどのデータ形式においてもデータを識別するためのヘッダ情報を有し、データ形式の種類とデータサイズを記述しているものとする。
【００９２】
ここで上記コードデータ３００１または画像データ３００２のプリント命令が要求された場合に一旦、データ選択部９内のジョブ管理部９ａに各データのヘッダ情報が転送され、ジョブとして登録される。なお、ユーザにより、ある印刷対象のデータが選択され、当該データに対してプリント要求を受けた場合に、ＣＰＵ２ａは、そのデータに対応するコードデータの有無、画像データの有無を判定する。そして、ＣＰＵ２ａは、コードデータと画像データの両方のデータが有ると判定した場合に、それぞれのデータ処理にかかる時間に基づいて、何れのデータを用いてプリントを行うかを決定する。データ処理にかかる時間は、データのサイズや、画像展開部７によるレンダリングや、画像メモリ３ｂに対するデータの読出し／書込みにかかる時間によって異なる。そのため、ＣＰＵ２ａは、それらに基づいて、データ処理にかかる時間を決定する。
【００９３】
図４は、図２に示したジョブ管理部９ａに登録されるヘッダ情報の一例を示す図である。本例は、処理要求別にジョブ管理情報を保持する例である。
【００９４】
なお、図４の（ａ）はジョブ番号４００１が「ＪＯＢ１」が登録された状態に対応する。同様に、図４の（ｂ）、（ｃ）はジョブ番号４００１が「ＪＯＢ１」、「ＪＯＢ２」が登録された状態に対応する。ただし、図４の（ｂ）、（ｃ）に示す各ＪＯＢ２はそれぞれ異なるジョブである。
【００９５】
図４において、プリント命令の要求によりジョブ種別４００２が「メモリプリント」のジョブとしてジョブ番号４００１にて「ＪＯＢ１」として登録される。「メモリプリント」のジョブとは、画像メモリ３ｂに格納されているデータを、画像出力部６によってシートに印刷するジョブである。例えば、ＣＰＵ２ａは、クライアントコンピュータ等の外部の装置から通信部８を介して受信したプリントジョブに含まれるコードデータを画像メモリ３ｂに格納する。また、ＣＰＵ２ａは、一旦画像メモリ３ｂに格納されたコードデータを、任意のタイミングで、レンダリング部７で展開し、展開後のビットマップ形式の画像データを画像メモリ３ｂに格納する。それによって、１つのジョブのデータを、複数のデータ形式のデータとして画像メモリ３ｂに格納することができる。なお、任意のタイミングとは、レンダリング部７ａが、他の処理に使用されていないタイミングであることが好ましい。ユーザは、メモリ３ｂに格納された複数のデータ形式のデータのうち、所望のデータ形式のデータを選択して、印刷指示やプレビューの指示を行うことができる。
【００９６】
さらに、コードデータに添付されているヘッダ情報よりデータ形式４００３とデータサイズ４００４、処理すべきページ番号４００５等の情報も併せて登録する。
【００９７】
次に、このジョブ管理部９ａにより登録されたデータを上述したリソース処理演算部９ｂにて各リソースを使用する処理に要する時間を演算により求める。
【００９８】
図５は、図２に示したジョブ管理部９ａで管理されるジョブ管理情報を説明する図である。本例は、処理要求別にジョブ管理情報を保持する例である。
【００９９】
図５において、５００１はジョブ番号で、登録されるジョブを識別するための番号であり、ジョブが登録される際に、ジョブに割振られる。
【０１００】
本実施形態では、ジョブ番号５００１毎に、ページ番号５００２、データ形式５００３、画像メモリ（ＲＥＡＤ）５００４、画像メモリ（ＷＲＩＴＥ）５００５、レンダリング処理５００６が管理される。画像メモリ（ＲＥＡＤ）５００４は、画像メモリ３ｂから画像データを読み出す処理に要する時間である。例えば、メモリプリントジョブの場合、データを印刷するために画像メモリ３ｂに格納されたデータを読み出す必要があるため、画像メモリ（ＲＥＡＤ）５００４の読出しに要する時間が記録される。この画像メモリ（ＲＥＡＤ）５００４の値は、リソース処理演算部９ｂが、ＣＰＵ２ａやＤＭＡＣ４によるデータの読出速度や、読み出すデータのサイズに基づいて演算する。なお、コピー動作は、スキャナ部２００によって読み取ったデータを画像メモリ３ｂに書込み、書き込んだ画像データを読み出すことによって処理を行う。しかし、このコピー動作に関しては、コピー時の画像の読出し／書込みに要する時間を、画像メモリ（ＷＲＩＴＥ）５００５に記録せず、画像メモリ（ＲＥＡＤ）の値にのみ記録する。画像メモリ（ＷＲＩＴＥ）５００５には、外部装置から受信したデータやスキャナ部２００によって読み取ったデータを画像メモリ３ｂに記録するメモリストアジョブに要する時間を記録する。
【０１０１】
レンダリング処理５００６は、コードデータを印刷するために、当該コードデータをレンダリングするために要する時間である。例えば、画像メモリ３ｂに記憶されたコードデータを印刷する場合には、レンダリングが必要であるため、レンダリング処理５００６にレンダリングに要する時間が記録される。リソース処理演算部９ｂは、レンダリング処理５００６の値を、画像展開部７の展開処理能力と、展開される画像データのデータサイズに基づいて演算する。なお、同様の画像データを含む場合、コードデータは、ビットマップ形式のデータよりもデータサイズが小さいため、画像メモリ３ｂからの読出し、書込みに要する時間が短い。
【０１０２】
図５の（ａ）は、図４に示したジョブ種別４００２により求められた各リソースの使用状況と演算により算出された各リソースの処理時間を説明するための図である。本実施形態では、ジョブの印刷時に、各リソースを用いた処理にかかる時間を例にとって説明する。
【０１０３】
図５の（ａ）のように、ジョブ番号「ＪＯＢ１」として登録されたデータについて、各リソースの使用に要する時間がジョブ管理部９ａに登録されたデータよりページ毎に算出される。
【０１０４】
図５の（ａ）では使用されないリソース欄は"ＮＯＮＥ"として示している。
【０１０５】
このようにリソース処理演算部９ｂにより算出されたデータを元に、データ選択部９は、以下のようにページ毎に、印刷に使用するデータ形式を選択する。
【０１０６】
まず、印刷するように指定されたＪＯＢ１について、ユーザがコードデータを指定して印刷するように要求した場合について説明する。
【０１０７】
図５に示す例では、ＣＰＵ２ａがＪＯＢ１の４ページ目まで印刷を完了し、これから５ページ目を処理しようとするタイミングで用いられる情報を示している。
【０１０８】
ＪＯＢ１の５ページ目の場合、コードデータを画像メモリ５ｂから読出す時間は、ビットマップデータを画像メモリ３ｂから読出す時間に比べて時間がかからない。これは、コードデータのサイズが、当該コードデータに対応するビットマップデータよりもデータサイズが小さいためである。具体的に、ＪＯＢ１の場合、コードデータを読み出すために要する時間は、１０ｍｓｅｃである。しかし、コードデータの場合、印刷するためにはレンダリングを必要とする。図５に示す例では、レンダリングに１２５ｍｓｅｃかかるとリソース処理演算部９ｂによって演算されている。図５の（ａ）のように、ＪＯＢ１を印刷する際のボトルネックになる処理は、データ形式５００３がコードデータの場合では、レンダリング処理５００６である。
【０１０９】
一方、ビットマップ形式のデータを用いて印刷する場合、ボトルネックは画像メモリ（ＲＥＡＤ）５００４であり、１００ｍｓｅｃである。したがって、このときデータ選択部９は、１００ｍｓｅｃ＜１２５ｍｓｅｃとなる結果に基づいて、より速く処理できるデータ形式であるビットマップデータが、データ選択部９によって選択される。つまり、ＪＯＢ１を実行して印刷をおこなう場合に、ＣＰＵ２ａは、ＪＯＢ１の５ページ目については、ＤＭＡＣ４に対してビットマップデータを画像出力部６に転送させるように制御する。そして、画像出力部６は、転送されたビットマップデータを用いて印刷を行う。
【０１１０】
このようにして、データ選択部９は、ジョブに含まれるページ数の分だけ、ページ毎にプリント処理に使用するデータとしていずれのデータ形式を用いるかを選択していく。より具体的に説明すると、データ選択部９のジョブ管理部９ａは、ＣＰＵ２ａからのページの呼出要求のたびに、選択されたページ毎のデータ形式情報に基づくデータ選択信号をＣＰＵ２ａに送信する。
【０１１１】
これによりＣＰＵ２ａは、ＤＭＡＣ４へ設定する読み出しアドレスを選択されたデータ形式のデータが格納されている先頭アドレスを設定する。それにより、最適なデータ形式（この場合ビットマップデータ）のプリントデータが呼び出される。
【０１１２】
呼び出されたデータは上述で説明したようにＣＰＵバス１を介して、データ形式により所定のパスを通り各リソースで処理され、最終的にプリンタ用インタフェース６ａに転送される。
【０１１３】
このとき、ＤＭＡＣ４により１ページ分の画像データが画像メモリ３ｂからプリンタ用のページメモリ６ｂに格納されると、ＣＰＵ２ａからプリンタ用インタフェース６ａに対してプリンタ起動が指示される。
【０１１４】
この指示を受けたプリンタ用インタフェース６ａによって１ページ分の画像データがページメモリ６ｂからプリンタ部１００に出力されると、ＣＰＵ２ａに対して１ページ目の印刷終了が通知される。この通知を受けたＣＰＵ２ａからＤＭＡＣ４へ次のページの画像データの転送が指示される。なお、次のページの画像データの転送の指示は、前のページの印刷が終了する前に行うことによって、次のページの印刷開始を早くするようにしてもよい。
【０１１５】
さらに、上記の処理をページ分繰り返せば、複数部のプリントが完了するが、本実施形態に示す構成に基づくさらなる効果を示すために、上記のプリント動作中にコピー動作ジョブが投入された場合について説明する。
【０１１６】
ここで、コピー動作ジョブは、図４の（ｂ）において、ジョブ番号４００１が「ＪＯＢ２」に対応する。
【０１１７】
まず、操作部２ｄからコピーの指示を受けると、ＣＰＵ２ａから画像読込部５へスキャナ駆動が指示される。この指示を受けたスキャナ用インタフェース５ａではスキャナ部２００が駆動されると共に、スキャナ部２００から原稿の画像データが読み取られ、ページメモリ５ｂに格納しにいく。
【０１１８】
このようにして１ページ分の画像データがページメモリ５ｂに格納されると、スキャナ用インタフェース５ａはＣＰＵ２ａに対して画像データの読み取り終了を通知する。
【０１１９】
この際、データ選択部９内のジョブ管理部９ａに１ページ分のジョブ情報が登録される。これにより、ジョブ管理部９ａに登録されたジョブ管理情報の状態は、図４の（ａ）に示す状態から図４の（ｂ）に示す状態に遷移する。
【０１２０】
図４の（ｂ）には、次に実行するジョブ情報（ＪＯＢ１：メモリプリント：５ページ目）に加えて、コピー動作によるＪＯＢ２（コピー：１ページ目）が新たに登録されている。
【０１２１】
次に、リソース処理演算部９ｂは、上述したように登録されたジョブ番号ＪＯＢ２のジョブ情報に基づいて、リソース処理演算部９ｂにより同様の演算が施される。
【０１２２】
図５の（ｂ）は、追加されたジョブ番号５００１が「ＪＯＢ２」のジョブ情報に基づいて、リソース処理演算部９ｂにより算出されたリソースの処理時間を示す。
【０１２３】
これにより、図５の（ａ）で説明した先ほどの単一ジョブであったジョブ番号５００１の「ＪＯＢ１」の処理におけるビットマップデータでの画像メモリ（ＲＥＡＤ）５００４は「１００」ｍｓｅｃが「２００」ｍｓｅｃになっていることが分かる。ここで、画像メモリ（ＲＥＡＤ）５００４は、１ページに必要とするリード時間を示している。
【０１２４】
ここで、「１００」ｍｓｅｃが「２００」ｍｓｅｃとなったのは、ジョブ番号５００１の「ＪＯＢ２」のジョブ情報が追加登録され、同時に実行されるために互いに画像メモリ３ｂのメモリバス３ｃの帯域を占有するからである。つまり、ジョブ番号５００１が「ＪＯＢ１」と「ＪＯＢ２」の各ページにおける画像メモリ３ｂからのリードライト動作を同時に行うことを考慮した結果、画像メモリ（ＲＥＡＤ）５００４が「１００」ｍｓｅｃが「２００」ｍｓｅｃとなるわけである。これらは、リソース処理演算部９ｂによって演算される。
【０１２５】
なお、本実施形態においては、画像メモリ３ｂにアクセスするためのメモリコントローラ３ａにおけるバスのアービトレーションは各データのリードライト動作に対して互いに均等であるものとする。
【０１２６】
これにより、ジョブ番号５００１が「ＪＯＢ１」のジョブの場合では５ページ目はビットマップデータが選択されていたものが、画像メモリ（ＲＥＡＤ）５００４のリード時間が「２００」ｍｓｅｃに低下する。このため、データ選択部９は、データがより速く処理されるデータとして、先ほどとは異なりレンダリング部７ａにて画像を展開する処理を要するコードデータを選択する。
【０１２７】
一方のジョブ番号５００１が「ＪＯＢ２」のコピー動作で生成されたデータはビットマップデータのみであるので、データ選択部９によるデータ選択は行われず、以降の処理はビットマップデータで処理される。
【０１２８】
ここで、ジョブ番号５００１の「ＪＯＢ１」の処理データとしてコードデータが選択されると、単一ジョブにて説明した場合と同様に、データ選択部９は、以下の処理を実行する。ここで、データ選択部９は、選択されたページ毎のデータ形式情報（この場合コードデータ）をＣＰＵ２ａからのページの呼出要求のたびにデータ選択信号をＣＰＵ２ａに送信する。
【０１２９】
これによりＣＰＵ２ａは、ＤＭＡＣ４へ設定する読み出しアドレスを選択されたデータ形式のデータが格納されている先頭アドレスを設定することにより、最適なデータ形式のプリントデータが呼び出される。このようにして呼び出されたデータは所望のパスにて各リソースにて処理をされ、プリンタ部１００でプリントされていく。
【０１３０】
図６は、本実施形態を示す画像処理装置２０００におけるＣＰＵ２ａとデータ選択部９による第１のデータ処理手順の一例を示すフローチャートである。本例は、ＣＰＵ２ａがジョブを処理する場合に、データ選択部９によって選択されるデータ処理形式に従い、ジョブのデータ処理形式を動的に決定する処理例である。なお、Ｓ１〜Ｓ５は各ステップを示し、各ステップは、ＣＰＵ２ａやデータ選択部９がＲＯＭ２ｂに記憶される制御プログラムをＲＡＭ２ｃにロードして実行することで実現される。
【０１３１】
まず、Ｓ１で、ジョブ管理部９ａは、ジョブの実行要求を受付け、画像処理装置２０００にジョブが登録されたか否かを図４に示したテーブルを参照して判断する。ここで、ジョブ管理部９ａが何らかのジョブが図４に示したテーブルに登録されていると判断した場合はＳ２へ進む。
【０１３２】
そして、Ｓ２において、ジョブ管理部９ａは、ジョブのデータ群における先頭ページよりヘッダ情報を呼び出し、ジョブ管理部９ａにジョブ種別４００２、データ形式４００３、データサイズ４００４、ページ番号４００５を順番に登録していく。
【０１３３】
さらに、Ｓ３で、リソース処理演算部９ｂは、登録されたページ番号から、そのページについて各リソースの処理時間をジョブ管理部９ａに登録されているすべてのジョブ情報に基づいて演算する。
【０１３４】
次に、Ｓ４で、リソース処理演算部９ｂにて演算された結果より、ジョブ毎の各リソースにおける処理時間を比較し、ボトルネックを算出する。
【０１３５】
そして、データ選択部９は、算出されたボトルネックにおける処理時間を減少させるためのデータ形式を選択し、選択したデータ形式を示すデータ選択信号をＣＰＵ２ａに送信する。
【０１３６】
これにより、ＣＰＵ２ａからＤＭＡＣ４に呼び出すデータ形式の先頭アドレスをセットし、最適なデータ形式に対して処理を開始する。
【０１３７】
次に、Ｓ５で、１ページ分のデータ形式の選択が終了すると、登録されているすべてのジョブのページに対するデータ選択が終了したか否かをジョブ管理部９ａが判断する（Ｓ５）。
【０１３８】
ここで、すべてのジョブのページに対するデータ選択が終了しているとジョブ管理部９ａが判断した場合は、本処理を終了する。
【０１３９】
一方、Ｓ５において、すべてのジョブのページに対するデータ選択が終了していないとジョブ管理部９ａが判断した場合は、Ｓ２に戻り、次ページのヘッダ情報の呼び出しから処理を繰り返す。
【０１４０】
そして、登録されたジョブ全てのページのデータ形式の選択処理が終了した場合にデータ形式の選択処理およびジョブの処理が完了した時点でデータ処理システムの動作を終了する。
【０１４１】
以上のように、本実施形態に示す画像処理装置２０００においては、新たにジョブが投入された場合においても、複数のジョブの情報を考慮して、各ジョブに対するページ毎の処理時間を動的に算出する。そして、算出した処理時間に基づいて、各ジョブに対して使用するデータ形式を逐次選択して処理をする。それにより、画像処理装置２０００として処理効率を向上させることができる。
【０１４２】
〔第２実施形態〕
図７は、本実施形態を示す画像処理装置７０００の構成を説明するブロック図である。本実施形態において、画像処理装置７０００は、スキャナ部２００や後述する通信部８により入力された画像データを処理し、出力する。なお、本実施形態に係る画像処理装置７０００の構成のうち、第１実施形態で説明した画像処理装置２０００と同様の構成については、同じ符号を用いて説明し、詳しい説明は省略する。
【０１４３】
図７に示すように、本実施形態では、上述した画像処理装置７０００内のデータ選択部９にジョブ管理部９ａ、リソース処理演算部９ｂに加えて、ジョブ種別によるジョブの優先順位の情報を格納している優先順位管理テーブル９ｃを備える。
【０１４４】
以下、本実施形態において、プリントする動作と、それに続いてプレビュー動作が実行された場合について説明する。
【０１４５】
次に、第１実施形態と同様に、上記プリントデータのプリント命令が要求された場合に一旦、データ選択部９内のジョブ管理部９ａにプリントデータのヘッダ情報が転送され、ジョブとして登録される。
【０１４６】
ここで、登録されたヘッダ情報の内容は第１実施形態と同じく図４の（ａ）に示す。図４の（ａ）のようにプリント命令の要求によりジョブ種別４００２がメモリプリントのジョブとしてジョブ番号４００１にてＪＯＢ１として登録される。
【０１４７】
さらにコードデータに添付されているヘッダ情報よりデータ形式４００３とデータサイズ４００４、処理すべきページ番号４００５の情報も併せて登録する。
【０１４８】
次に、このジョブ管理部９ａにより登録されたデータを上述したリソース処理演算部９ｂにて各リソースを使用する際にかかる時間を、リソースの使用状況を考慮して求める。
【０１４９】
図８は、図２に示したリソース処理演算部９ｂによる演算処理を説明する図である。
【０１５０】
図８の（ａ）は本実施形態のジョブ種別により求められた各リソースを使用する際にかかる処理時間、さらに新たにパラメータとして、処理優先度５００７の情報を加えたものである。
【０１５１】
図８の（ａ）のようにジョブ番号ＪＯＢ１として登録されたプリントデータは、各リソースを使用した際に要する時間がジョブ管理部９ａに登録されたデータよりページ毎に算出される。上述したように、各ジョブで使用されないリソース欄は"ＮＯＮＥ"として表示している。
【０１５２】
本実施形態ではさらにジョブ種別４００２より、予め処理すべき優先度が設定されている。
【０１５３】
図９は、図７に示した優先順位管理テーブル９ｃの内容を示す図である。
【０１５４】
図９に示すように、本実施形態では、ジョブの種別とそれに対する優先順位が対応付けられて保存されている。本実施形態において優先順位はジョブ種別によって順位が同じのものが複数存在しても構わないし、全てのジョブ種別に対して異なる順位を割り振っても構わない。
【０１５５】
また、優先順位管理テーブル９ｃの優先順位は、ユーザが操作部２ｄ上にて参照できるようにして、随時変更できる構成であっても、予め向上出荷時などに一意に決定されていても構わない。
【０１５６】
従って、複数のジョブが、実行すべきジョブとして登録された場合は、データ選択部９は、優先順位管理テーブル９ｃを参照することにより処理のパラメータとしてのジョブの処理を行う優先順位を算出する。
【０１５７】
まず、単一のジョブが登録されている場合（この場合はメモリプリント）は、図８の（ａ）のようにジョブ種別に関わらず登録されている唯一のジョブが優先順位１として算出される。
【０１５８】
このように算出されたデータを元にページ毎に使用するデータ形式を選択していく。
【０１５９】
本ジョブの５ページ目の場合を例にとると、図８の（ａ）のようにボトルネックになる処理は、画像メモリ（ＲＥＡＤ）５００４のリード時間（この場合１５０ｍｓｅｃ）である。この場合、レンダリング部７ａのレンダリング処理５００６における処理時間（６０ｍｓｅｃ）の方が速い。
【０１６０】
従って、データ選択部９は、ジョブ番号ＪＯＢ１のデータ形式をコードデータとして選択する。このようにして、第１実施形態と同様に順次ページ毎にプリント処理に使用するデータを選択していき、ページ毎に画像メモリ３ｂからデータ選択部９より選択されたデータ（この場合コードデータ）を読み出す。そして、所定の処理を実行した後、逐次処理された画像データがプリンタ用インタフェース６ａに転送されていく。
【０１６１】
１ページ分の画像データがプリンタ部１００に転送されると、ＣＰＵ２ａに対して１ページ分の画像の転送終了が通知される。この通知を受けたＣＰＵ２ａは、ＤＭＡＣ４に次ページの画像データの転送を指示し、複数ページのプリント動作を継続していく。
【０１６２】
そして、上記の処理をページ分繰り返すことによって、複数部のプリントが完了する。ここで、本実施形態におけるさらなる効果を説明するために、以下の状態における処理について説明する。具体的には、上述したようにメモリプリントを実行している際に、新たに画像メモリ３ｂに格納されているコードデータをユーザがプレビューするジョブを要求した場合について説明する。
【０１６３】
ユーザが操作部２ｄより画像メモリ３ｂ内のデータを選択し、プレビューを実行させる。
【０１６４】
これによりＣＰＵ２ａからデータ選択部９内のジョブ管理部９ａに画像メモリ３ｂに格納されている選択されたコードデータのジョブ情報が登録される。このときのジョブ管理情報を図４の（ｃ）に示す。
【０１６５】
本状態では、図４の（ｃ）のように、次に実行するジョブ情報（ＪＯＢ１：メモリプリント：５ページ目）に加えてプレビュー動作によるＪＯＢ２（プレビュー：１ページ目）がジョブ種別のプレビューとして新たに登録される。これにより、登録されるジョブ番号４００１が「ＪＯＢ２」のジョブは、対応するコードデータのヘッダ情報よりデータ形式４００３、データサイズ４００４、ページ番号４００５が処理情報として格納される。
【０１６６】
上述したようにジョブ管理部９ａに登録されたジョブ情報に基づいて、リソース処理演算部９ｂにより同様に演算が施されるとともに、登録されているジョブ種別により優先順位管理テーブル９ｃにて各ジョブに対する処理の優先順位を決定する。
【０１６７】
図８の（ｂ）は追加されたジョブに基づいてリソース処理演算部９ｂにより処理時間が算出されたものである。
【０１６８】
ここでは第１実施形態と同様に登録されているジョブに対して、各リソースを使用する際にかかる時間を優先順位とともに示している。
【０１６９】
図８の（ｂ）によると、先ほどのジョブ番号５００１が「ＪＯＢ１」のみでの処理でコードデータのレンダリング部７ａでの１ページの処理時間が６０ｍｓｅｃであったものが１２０ｍｓｅｃになっていることが分かる。
【０１７０】
これは、ジョブ番号５００１が「ＪＯＢ２」が追加登録され、ジョブ番号５００１が「ＪＯＢ１」と「ＪＯＢ２」の各ページにおけるレンダリング動作をレンダリング部７ａを用いて同時に行う必要があることを考慮したものである。
【０１７１】
なお、本実施形態においてはレンダリング部７ａにおけるレンダリング処理は、レンダリング部７ａが、所定の時間単位で、複数のデータを時分割で処理していくものとする。
【０１７２】
これにより、ジョブ番号５００１が「ＪＯＢ１」のジョブだけが登録されている場合、データ選択部９によって、５ページ目のデータとしてコードデータが選択される。そして新たにジョブ番号５００１が「ＪＯＢ２」となるジョブが登録された場合でも、画像メモリ３ｂのビットマップデータのリード動作１５５ｍｓｅｃがボトルネックとなる。
【０１７３】
しかし、ここでは、図５に示すテーブルで管理される新たに追加された処理優先度５００７を比較することにより、ジョブ番号５００１が「ＪＯＢ２」のプレビュー動作の優先順位が「１」と最も高く決定されている。このため、ＣＰＵ２ａは、ジョブ番号５００１が「ＪＯＢ１」のジョブよりジョブ番号５００１が「ＪＯＢ２」のジョブを優先的に処理する必要がある。
【０１７４】
従って、データ選択部９は、リソース処理演算部９ｂより算出された各リソースの処理時間よりもジョブの種別ごとの優先順位を優先し、ジョブ番号５００１が「ＪＯＢ２」が優先的に処理されるように各ジョブのデータを選択する。
【０１７５】
この場合では、優先順位の高いジョブ番号５００１が「ＪＯＢ２」のジョブは、レンダリング処理に時間がかかることを示している。そこで、ジョブ番号５００１が「ＪＯＢ１」のジョブでは、レンダリング処理を行わないほうが好ましい。そのため、ジョブ番号５００１が「ＪＯＢ１」は、レンダリング処理を必要としてないビットマップデータがデータ選択部９により選択される。
【０１７６】
従って、データ選択部９は、ジョブ番号５００１が「ＪＯＢ１」に対してビットマップデータが選択されたことを示す信号をＣＰＵ２ａに送信する。
【０１７７】
ＣＰＵ２ａはＤＭＡＣ４へ設定する読み出しアドレスを、選択されたデータ形式のデータが格納されている先頭アドレスへ変更する。それにより、最適なデータ形式（この場合ビットマップデータ）のプリントデータが呼び出される。
【０１７８】
このようにして、ジョブ番号５００１が「ＪＯＢ１」のジョブが呼び出されるデータ形式がコードデータからビットマップデータに変更される。これにより、ジョブ番号５００１が「ＪＯＢ１」のジョブによるレンダリング部７ａの処理は行われなくなり、ジョブ番号５００１が「ＪＯＢ２」のコードデータの処理が優先的に処理されていく。
【０１７９】
これにより、ジョブ番号５００１が「ＪＯＢ２」のコードデータがレンダリング部７ａにて高速にレンダリング処理される。そして、レンダリング部７ａでレンダリングされた画像データをＲＡＭ２ｃに展開した後、図示しない表示ドライバにより、操作部２ｄにユーザが選択したコードデータの描画情報をプレビューする。
【０１８０】
上記のような第２実施形態の処理を図１０のフローチャートを用いて再度フローを説明する。
【０１８１】
図１０は、本実施形態を示す画像処理装置７０００におけるＣＰＵ２ａとデータ選択部９による第２のデータ処理手順の一例を示すフローチャートである。本例は、ＣＰＵ２ａがジョブを処理する場合に、データ選択部９によって選択されるデータ処理形式に従い、ジョブのデータ処理形式を動的に決定する処理例である。なお、Ｓ１１〜Ｓ１７は各ステップを示し、各ステップは、ＣＰＵ２ａやデータ選択部９がＲＯＭ２ｂに記憶される制御プログラムをＲＡＭ２ｃにロードして実行することで実現される。
【０１８２】
まず、Ｓ１１で、ジョブ管理部９ａは、ジョブの実行要求がなされ、画像処理装置７０００にジョブが登録されたか否かを随時判断する。ここで、何らかのジョブが登録されているとジョブ管理部９ａが判断した場合、Ｓ１２へ進む。そして、Ｓ１２で、ジョブのデータ群における先頭ページよりヘッダ情報を呼び出し、順番にジョブ管理部９ａにジョブ種別４００２、データ形式４００３、データサイズ４００４、ページ番号４００５を登録していく。
【０１８３】
ここで、リソース処理演算部９ｂは、テーブルに登録されたページ番号４００５から、ページ当たりの各リソースの処理にかかる時間をジョブ管理部９ａに登録されている情報に基づいて算出する。
【０１８４】
次に、Ｓ１３で、登録されたジョブ種別と、他の登録されているジョブ種別を優先順位管理テーブル９ｃにて照合し、各ジョブに対して処理すべき優先順位をジョブ管理部９ａが決定する。次に、Ｓ１４で、各ジョブに対して割り振られた優先順位を比較し、すべてのジョブの優先順位が同じであるかをジョブ管理部９ａが判断する。
【０１８５】
ここで、全てのジョブの優先度が同じでないとジョブ管理部９ａが判断した場合は、Ｓ１５へ進む。
【０１８６】
なお、各ジョブの処理優先度を比較して各ジョブの処理優先度が異なっている場合には、最も処理優先度の高いジョブで使用しうる処理部のリソースと、処理優先度が下位であるジョブで使用しうる処理部のリソースが重なることを避ける必要がある。
【０１８７】
そこで、Ｓ１５で、処理優先度が下位であるジョブは算出されたボトルネックとは関係なく、処理優先度の高いジョブが使用しない処理部のリソースで処理が可能なデータ形式を優先的に選択して、Ｓ１７へ進む。
【０１８８】
一方、Ｓ１４で、全てのジョブの処理優先度が同じであると判断した場合、Ｓ１６へ進む。
【０１８９】
次に、Ｓ１６で、第１実施形態と同様にデータ毎の各リソースにおける処理時間を比較し、ボトルネックを算出してボトルネックとなる処理にかかる時間を減少させるためのデータ形式をデータ選択部９が選択する。さらに、データ選択部９よりデータ選択信号をＣＰＵ２ａに送信する。これにより、ＣＰＵ２ａからＤＭＡＣ４に呼び出すデータ形式の先頭アドレスをセットし、最適なデータ形式に対して処理を開始する。
【０１９０】
次に、Ｓ１７において、Ｓ１５、Ｓ１６にて選択されたジョブのデータ形式により、１ページ分のデータ形式の選択が終了すると、登録されているすべてのジョブのページに対するデータ選択が終了したか否かをジョブ管理部９ａが判断する。
【０１９１】
ここで、登録された全てのジョブの各ページに対するデータ形式の選択処理が終了していないとジョブ管理部９ａが判断した場合は、Ｓ１２に戻り、次のページのヘッダ情報の呼び出しから処理を繰り返す。
【０１９２】
一方、Ｓ１７で、登録された全てのジョブの各ページに対するデータ形式の選択処理が終了しているとジョブ管理部９ａが判断した場合は、データ形式の選択処理およびジョブの処理が完了した時点で画像処理装置７０００の動作を終了する。
【０１９３】
本実施形態では、新たにジョブが投入された場合においても、複数のジョブの情報を考慮して、各ジョブに対するページ毎の処理時間を算出する。そして、処理の優先順位を動的に決定する。また、決定された処理優先度の高いジョブを優先的に処理するために、処理優先度の低いジョブが、処理優先度の高いジョブで主に用いるリソースと重ならないように、データ選択部９は最適なデータ形式を選択する。これにより、処理優先度の最も高いジョブは画像処理装置７０００全体で有するリソースを最大限に活用できる処理を実施することができる。さらに、処理優先度の低いジョブに対してもデータ形式を変更することにより、データ処理を停止させることなく処理を継続することが可能となる。
【０１９４】
なお、上述した実施形態において、データ選択部９は、ボトルネックとなる処理に要する時間が短いと判定されるデータ形式のデータを用いて印刷や、プレビュー等の処理を行うように制御していた。しかし、これに限らず、データ選択部９は、リソース処理演算部９ｂによって演算される各処理に要する時間の和が最も短いデータ形式のデータを用いて印刷やプレビュー等の処理を行ってもよい。
【０１９５】
上述した実施形態で説明した制御で特に重要な構成の１例を以下に例示する。例えば、画像処理装置のようなデータ処理装置は、ジョブのデータを、複数のデータ処理部に処理させるデータ処理手段を有する。そして、当該データ処理手段によって第１のジョブのデータを、第１のデータ処理部を用いた処理よりも第２のデータ処理部を用いた処理に長い時間を要する第１のデータ形式のデータを用いて処理させるか決定する。または、第２のデータ処理部を用いた処理よりも第１のデータ処理部を用いた処理に長い時間を要する第２のデータ形式のデータを用いて処理させるかを決定する。このような決定を行う際に、データ処理装置は、第１のジョブと並行して実行する第２のジョブのデータが第１のデータ処理部を用いた処理と第２のデータ処理部を用いた処理のいずれに、より長い時間を要するデータであるかに基づいて決定を行う。
【０１９６】
〔第３実施形態〕
以下、図１１に示すメモリマップを参照して本発明に係る画像処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１９７】
図１１は、本発明に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１９８】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１９９】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０２００】
本実施形態における図７、図１０に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０２０１】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２０２】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２０３】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０２０４】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０２０５】
この場合、コンピュータ読取可能な記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２０６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０２０７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２０８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２０９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２１０】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【０２１１】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【０２１２】
【図１】本実施形態を示すデータ処理装置を適用する画像処理装置の一例を示す断面図である。
【図２】本実施形態を示すデータ処理装置の構成を説明するブロック図である。
【図３】図２に示した画像メモリに格納されている編集用のコードデータとそれに基づいて展開されたビットマップデータを模式的に示す図である。
【図４】図２に示したジョブ管理部に登録されるヘッダ情報の一例を示す図である。
【図５】図２に示したジョブ管理部で管理されるジョブ管理情報を説明する図である。
【図６】本実施形態を示すデータ処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図７】本実施形態を示すデータ処理装置の構成を説明するブロック図である。
【図８】図２に示したリソース処理演算部による演算処理を説明する図である。
【図９】図７に示した優先順位管理テーブルの内容を示す図である。
【図１０】本実施形態を示すデータ処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１１】本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【図１２】この種の画像メモリを用いた従来方式のデータ処理システムの構成例を示すブロック図である。
【符号の説明】
【０２１３】
２  システム制御手段
３  メモリ制御手段
４  ＤＭＡＣ
５  画像読み取り部
６  画像形成部
７  画像展開部
８  通信部
９  データ選択部
【図１】
2010028431.tif 000003
【図２】
2010028431.tif 000004
【図３】
2010028431.tif 000005
【図４】
2010028431.tif 000006
【図５】
2010028431.tif 000007
【図６】
2010028431.tif 000008
【図７】
2010028431.tif 000009
【図８】
2010028431.tif 000010
【図９】
2010028431.tif 000011
【図１０】
2010028431.tif 000012
【図１１】
2010028431.tif 000013
【図１２】
2010028431.tif 000014