(57)【要約】【課題】画像形成装置の資源の利用効率を高めて印刷速度を向上させる。【解決手段】データ再構築部７０１は、印刷データをオブジェクト単位に再構築し、それを各展開部に送信する。各展開部は入力されたオブジェクトをビットマップデータに変換する。またページの構成を示すフレーム構造データを受信した合成部７０５は、展開されＲＡＭ７０７に保存されたビットマップデータを、フレーム構造データに従って合成して出力する。【選択図】図４
2007221604.tif 000002
【特許請求の範囲】
【請求項１】
特定形式のデータに基づいて該データにより表される画像を媒体上に形成する画像形成手段と、
外部装置から、複数種類のオブジェクトそれぞれを表すオブジェクトデータを各ページに含むページ単位の印刷データを受信する受信手段と、
前記オブジェクトデータを前記特定形式のデータに変換するためのオブジェクト変換部を、前記オブジェクトの種類毎に有するデータ展開手段と、
前記複数のオブジェクト変換部により変換された、前記オブジェクトデータに対応する前記特定形式のデータを、当該オブジェクトデータを含む前記特定形式のページデータに合成する合成手段と、
前記合成手段により合成が完了した前記ページデータを、前記画像形成手段による画像形成に供するためにページ単位で次段の処理部に入力する制御手段とを備え、
前記データ展開手段は、前記受信手段により受信したオブジェクトデータを、オブジェクトデータを含むページ単位の区切りとは非同期に前記特定形式のデータに変換することを特徴とする画像形成装置。
【請求項２】
前記制御手段は、前記オブジェクト変換部の少なくともいずれかが変換対象とするオブジェクトの種類を変更して、前記複数のオブジェクト変換部により、ひとつの種類のオブジェクトデータを並列的に前記データに変換することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記制御手段は、前記オブジェクト変換部のそれぞれにより変換されるオブジェクトデータのデータ量に応じて、前記変更を実行することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記データ展開手段の動作状況を取得する取得手段と、
前記取得手段が取得する前記動作状況を前記外部装置に送信する送信手段と
を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記オブジェクトの種類には、イメージオブジェクト、文字オブジェクト及び図形オブジェクトの少なくともいずれかが含まれることを特徴とする請求項１乃至４のいずれかに記載の画像形成装置。
【請求項６】
前記データ展開手段の複数のオブジェクト変換部それぞれは、処理対象の印刷データが複数の印刷ジョブにわたる場合、各オブジェクト変換部に対応する種類のオブジェクトデータを変換する際に、第１の印刷ジョブに含まれるオブジェクトデータの展開処理が終了すると、引き続いて、前記第１の印刷ジョブの直後の第２の印刷ジョブに含まれるオブジェクトデータの展開処理を開始することを特徴とする請求項１に記載の画像形成装置。
【請求項７】
前記データ展開手段は、前記特定形式のデータを記憶部に記憶し、
前記合成手段は、前記特定形式のデータを前記ページデータに合成した場合、合成が済んだ前記特定形式のデータが占める前記記憶部の領域を解放し、
前記制御手段は、前記ページデータを次段の処理部に入力した場合、当該ページデータが占める前記記憶部の領域を解放することを特徴とする請求項１に記載の画像形成装置。
【請求項８】
前記受信手段は、ページごとに含まれるオブジェクトを示すフレーク構造データも受信し、
前記制御部は、前記フレーム構造データを参照して、前記フレーム構造データに示された全てのオブジェクトの前記特定形式データへの変換及びページデータへの合成の完了を判断することを特徴とする請求項１に記載の画像形成装置。
【請求項９】
特定形式のデータに基づいて該データにより表される画像を媒体上に形成する画像形成手段を有する画像形成装置の制御方法であって、
受信手段により、外部装置から、複数種類のオブジェクトそれぞれを表すオブジェクトデータを各ページに含むページ単位の印刷データを受信する受信工程と、
前記オブジェクトの種類毎のオブジェクト変換部により、前記オブジェクトデータを前記特定形式のデータに変換するデータ展開工程と、
前記複数のオブジェクト変換部により変換された、前記オブジェクトデータに対応する前記特定形式のデータを、合成手段により、当該オブジェクトデータを含む前記特定形式のページデータに合成する合成工程と、
前記合成工程により合成が完了した前記ページデータを、前記画像形成手段による画像形成に供するためにページ単位で次段の処理部に入力する制御工程とを備え、
前記データ展開工程では、前記受信工程により受信したオブジェクトデータを、オブジェクトデータを含むページ単位の区切りとは非同期に前記特定形式のデータに変換することを特徴とする画像形成装置の制御方法。
【請求項１０】
特定形式のデータに基づいて該データにより表される画像を媒体上に形成する画像形成手段を有する画像形成装置をコンピュータにより制御するためのプログラムであって、
受信手段により、外部装置から、複数種類のオブジェクトそれぞれを表すオブジェクトデータを各ページに含むページ単位の印刷データを受信する受信工程と、
前記オブジェクトの種類毎のオブジェクト変換部により、前記オブジェクトデータを前記特定形式のデータに変換するデータ展開工程と、
前記複数のオブジェクト変換部により変換された、前記オブジェクトデータに対応する前記特定形式のデータを、合成手段により、当該オブジェクトデータを含む前記特定形式のページデータに合成する合成工程と、
前記合成工程により合成が完了した前記ページデータを、前記画像形成手段による画像形成に供するためにページ単位で次段の処理部に入力する制御工程とをコンピュータに実行させ、
前記データ展開工程では、前記受信工程により受信したオブジェクトデータを、オブジェクトデータを含むページ単位の区切りとは非同期に前記特定形式のデータに変換することを特徴とするプログラム。
【請求項１１】
請求項１乃至８のいずれか１項に記載の画像形成装置と、
前記画像形成装置に外部装置として接続された情報処理装置とを備えることを特徴とする画像形成システム。
【請求項１２】
前記情報処理装置は、前記画像形成装置に送信する印刷データに含まれる各オブジェクトの処理時間がページ単位で一様になるように、オブジェクトの種類を変換することを特徴とする請求項１１に記載の画像形成システム。
【請求項１３】
前記情報処理装置は、前記画像形成装置に送信する印刷データに含まれる各オブジェクトの処理時間がページ単位で一様になるように、前記オブジェクト変換部が対象とするオブジェクトの種類を変更させる命令を前記画像形成装置に送信することを特徴とする請求項１１に記載の画像形成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえばコンピュータ等で生成された画像オブジェクトから構成される印刷データに対応する画像を形成する画像形成装置に関する。
【背景技術】
【０００２】
文書作成の生産性を向上させるためのアプローチのひとつとして、プリンタ等の画像形成装置のハードウェアの動作速度を向上させる試みがある。しかし今後はハードウエアの根幹である半導体集積回路の動作速度の飛躍的な向上は期待できない。そこで同種類のデータ処理を複数のハードウェアで並列に行う並列処理技術に対する期待が高まりつつある。たとえば、印刷装置内で印刷ジョブデータの解析を行い、ジョブシーケンス作成手段により分割された画像描画命令を複数の描画手段により並列に実行する技術の提案がある（特許文献１等参照）。また、入力されるテキスト、グラフィクス、イメージの描画データのうち、イメージをイメージ処理装置で処理してビットマップデータを生成し、テキストとグラフィクスをＣＰＵで処理してビットマップデータを生成する技術もある（特許文献２等参照）。
【特許文献１】特開平10-011593号公報
【特許文献２】特開2001-293913号公報（段落００３９〜段落００４２）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら従来の技術では、１ページ分の処理について、処理時間が短縮されるようにデータ変換等の処理がスケジュールされていた。そのため、複数ページからなる印刷ジョブ単位では、スケジューリングが最適であるとはかならずしも言えず、印刷ジョブ単位の処理時間を短縮するためには改善の余地があった。
【０００４】
さらに、ネットワークプリンタの普及等により画像形成装置の共有化が進むと、複数の印刷ジョブが連続して処理される場合が多くなる。そのような場合には、複数の印刷ジョブ全体として処理時間が短縮されるように、画像形成装置における処理をスケジュールする必要がある。
【０００５】
本発明は上記従来例に鑑みてなされたもので、上記課題を解決することを目的とする。詳細には、複数種類のオブジェクトを含む印刷データを展開するために設けられた複数の変換手段の稼働率を高め、それにより複数ページの印刷データに基づいた印刷処理を高速に実行することができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明は以下の構成を備える。すなわち、特定形式のデータに基づいて該データにより表される画像を媒体上に形成する画像形成手段と、
外部装置から、複数種類のオブジェクトそれぞれを表すオブジェクトデータを各ページに含むページ単位の印刷データを受信する受信手段と、
前記オブジェクトデータを前記特定形式のデータに変換するためのオブジェクト変換部を、前記オブジェクトの種類毎に有するデータ展開手段と、
前記複数のオブジェクト変換部により変換された、前記オブジェクトデータに対応する前記特定形式のデータを、当該オブジェクトデータを含む前記特定形式のページデータに合成する合成手段と、
前記合成手段により合成が完了した前記ページデータを、前記画像形成手段による画像形成に供するためにページ単位で次段の処理部に入力する制御手段とを備え、
前記データ展開手段は、前記受信手段により受信したオブジェクトデータを、オブジェクトデータを含むページ単位の区切りとは非同期に前記特定形式のデータに変換することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、複数種類のオブジェクトを含む印刷データを展開するために設けられた複数の変換手段の動作効率を高めることができ、それにより複数ページの印刷データに基づいた印刷処理を高速に実行することができる。
【発明を実施するための最良の形態】
【０００８】
［第１の実施形態］
＜装置全体の概要説明＞
図１に、本発明の実施形態における装置全体の概観図を示す。ネットワーク１０１に接続されたコンピュータ１０２，１０３は、それぞれサーバとクライアントの役割を果たしている。実際にはクライアント１０３は１台であっても３台以上であってもよい。図１ではクライアント１０３ａ，クライアント１０３ｂが示されてあるが、以後代表してクライアント１０３と表記する。なお本実施形態では、サーバ１０２もサーバ１０３も画像形成装置のクライアントとして機能する汎用コンピュータであるという点で同じものであることから、これらをまとめてコンピュータ１０２と呼ぶことにする。
【０００９】
ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）と呼ばれる多目的なネットワーク機器１０４，１０５，１０６もネットワーク１０１に接続されている。ＭＦＰ１０４はフルカラーで、スキャン、プリントなどが可能なカラーＭＦＰである。ＭＦＰ１０５，１０６はモノクロで、スキャン、プリントなどを行う白黒ＭＦＰである。
【００１０】
また、ネットワーク１０１には、単機能プリンタ１０７も接続されているが、本実施形態におけるプリンタ（すなわち画像形成装置）の動作としては前述のＭＦＰと等価であるため、以後これらのデバイスもまとめてＭＦＰと表記する。
【００１１】
メモリ装置１０８はネットワークに接続されたデータ格納のためのハードディスク等のメモリ装置である。ネットワーク１０１を経由して送られてきた各種データを一時的に保存／格納することができる。メモリ装置１０８は、たとえばハードディスクをネットワークで共有されているサーバである。更に、図１には示していないが、クライアントや各種サーバ及び、上記以外のＭＦＰを初め、スキャナ、プリンタあるいは、ＦＡＸなどその他の機器もネットワークに接続可能である。
【００１２】
ここでコンピュータ１０２上では、いわゆるＤＴＰ（Ｄｅｓｋ  Ｔｏｐ  Ｐｕｂｌｉｓｈｉｎｇ）のアプリケーションソフトウェアを動作させ、各種文書が作成され、また編集される。文書には、テキストやイメージ、グラフィックス等の画像オブジェクトが含まれる。コンピュータ１０２は、作成された文書を、プリンタドライバと呼ばれるソフトウェアによってＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ：ページ記述言語）で記述した印刷データに変換する。変換された印刷データは、コンピュータ１０２上からネットワーク１０１を経由してＭＦＰ１０４，１０５，１０６に送られて出力される。ここで本実施形態では、説明の便宜上、使用する画像形成装置をＭＦＰ１０４とする。もちろん他のＭＦＰを用いても同様の結果を得ることができる。
【００１３】
また、ＭＦＰ１０４のスキャナ部に置かれた原稿を、コンピュータ１０２にインストールされたスキャナドライバと呼ばれるソフトウェアを用いて電子データとして読み取ることもできる。利用者は、読み取られた電子データを、ネットワーク１０１を介してメモリ装置１０８に保存したり、コンピュータ１０２のディスプレイに表示したり、ＭＦＰ１０４に送て出力することが可能である。
【００１４】
次に、ＭＦＰ１０４は、コンピュータ１０２側とネットワーク１０１を介して情報交換できる通信手段を有している。これによって、ＭＦＰ１０４の設定情報や装置状態がコンピュータ１０２側に逐次知らせられる仕組みとなっている。更に、コンピュータ１０２側では、ＭＦＰ１０４からの情報を受けて動作するユーティリティソフトウェアを持っている。ＭＦＰ１０４などのデバイスは、コンピュータ１０２の元で一元管理されている。
【００１５】
＜ＭＦＰ１０４，１０５，１０６の構成＞
次に、図２〜図１３を用いてＭＦＰ１０４、１０５、１０６の構成について説明する。
但し、ＭＦＰ１０４とＭＦＰ１０５の差はフルカラーとモノクロの差であり、色処理以外の部分ではフルカラー機器がモノクロ機器の構成を包含することが多い。そこでここではフルカラー機器であるＭＦＰ１０４に絞って説明し、必要に応じて、随時モノクロ部分の説明を加えることとする。又ＭＦＰ１０６はＭＦＰ１０５と同様である。
【００１６】
図２は全体のブロック図で、スキャナ部２０１は画像読み取りを行う。ＲＧＢ−ＩＰ部２０２はスキャナ部２０１で入力された画像データを画像処理する。ファクシミリ部２０３は、ファクシミリなどに代表される電話回線を利用した画像の送受信を行う。ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０４はネットワークを利用して画像データや装置情報をやりとりする。ＰＤＬ部２０５はコンピュータ側から送られてきたページ記述言語（ＰＤＬ）を画像信号に展開する印刷画像作成部である。コア部２０６は、ＭＦＰ１０４の使い方に応じて画像データを一時保存したり、画像データの経路を決定する。たとえば、後述するＰＤＬ部２０５のＲＡＭに保存されたページ単位の画像データ（ページデータ）が入力されると、そのデータを一時保存して次段のＣＭＹＫ−ＩＰ部２０７に渡す。コア部２０６に入力される画像データは、それがＲＧＢ−ＩＰ部２０２，ファクシミリ部２０３，ＰＤＬ部２０５のいずれからであろうとも、特定の共通形式を有することが望ましい。本実施形態では、ＰＤＬ部２０５では、ＰＤＬ形式のデータを、その特定形式のデータに変換する。この特定形式のデータは、たとえば無圧縮のドットデータなどである。
【００１７】
コア部２０６から出力された画像データは、ＣＭＹＫ−ＩＰ部２０７を経由して、ＣＭＹＫデータに色変換される。その後ＰＷＭ部２０８に送られて、各色プレーン上の各画素の濃度に応じてパルス幅変調されたＰＷＭ信号が生成され、画像形成を行うプリンタ部２０９に入力される。プリンタ２０９では、たとえばＰＷＭ信号を入力として、公知の電子写真方式で用紙上に画像を形成する。画像が形成された用紙はフィニッシャ部２１０に搬送され、ステープルや製本等、出力仕上げ処理が行われて機外へ排出される。
【００１８】
操作部２１１は、たとえばタッチパネルやボタンを供えている。操作部２１１により、ＭＦＰ１０４は、以下に示すユーザーインターフェース（ＵＩ）を表示し利用者の操作に供することができる。
（１）機能の選択：複写機やファクシミリなどの機能の選択ができるＵＩである。
（２）各種設定：用紙サイズや画像処理などの各種設定が指定できるＵＩである。
（３）動作状態：現在の動作状態を表示する。
（４）ログイン及びログアウト：利用者による装置の利用に際して利用権を認証し、また、利用を終了するためのＵＩである。
（４）送信先データの登録および修正：いわゆるアドレス帳であり、ファクシミリ番号や電子メールアドレスの保守のＵＩである。
【００１９】
＜ＮＩＣ部２０４の構成＞
次に図３を用いてＮＩＣ部２０４について説明する。ネットワーク１０１に対してのインターフェイスの機能を持つのが、ＮＩＣ部２０４である。ＮＩＣ部１０４は、例えば１０Ｂａｓｅ−Ｔ／１００Ｂａｓｅ−ＴＸなどのＥｔｈｅｒｎｅｔ（登録商標）ケーブルなどを利用して信号を送受し、外部からの情報を入手したり、外部へ情報を流す役割を果たす。外部より情報を入手する（受信する）場合は、ネットワークから受信した電気信号はトランス部６０１で電圧変換され、ＬＡＮコントローラ部６０２に送られる。ＬＡＮコントローラ部６０２は、その内部に第１のバッファメモリ（不図示）を持っており、入力された信号を復調したうえで、第１のバッファメモリにその信号に載せられた情報を保存する。そしてその情報が必要な情報であると判断すると、その情報を第２のバッファメモリを介してＰＤＬ部（印刷画像作成部）２０５に送信する。必要であるとは、たとえば受信した情報が、当該画像形成装置を送信宛先とするパケットであるような場合である。
【００２０】
ＭＦＰ１０４の外部に情報を提供する（送信する）場合には、ＰＤＬ部２０５より送られてきた情報は、ＬＡＮコントローラ部６０２で必要な情報たとえばイーサネット（登録商標）フレームが付加され、トランス部６０１を経由してネットワークに送信される。
【００２１】
＜印刷データの構成例＞
本実施形態でコンピュータ１０２からＭＦＰ１０４に送信される印刷データは、イメージオブジェクトデータ、図形オブジェクトデータ、文字オブジェクトデータ、制御用コマンド、フレーム構造データの５種類からなる。それぞれはホストコンピュータから独立したデータとしてＭＦＰ１０４に送られてくる。
【００２２】
本実施形態では、上述の様な３つの種類のオブジェクトについて説明するが、オブジェクトの種類はこれらに限定されない。各オブジェクトをさらに細分化しても構わないし、異なる特徴を持つオブジェクトを追加しても良い。
【００２３】
次に各オブジェクトの特性を説明する。イメージオブジェクトは、写真等に代表されるような画像データであって、ＪＰＥＧ等の圧縮アルゴリズムによってデータ圧縮されているのが一般的である。ピクセルと呼ばれる画素データの集合体であり、データ構造は単純であるがデータサイズが大きいという特徴がある。文字オブジェクトは、文字コードデータの集合である。入力されるのは文字コード及びフォント指定および修飾指定情報等である。文字オブジェクトは処理内容は単純であるが、入力データに比較して大量の出力データが発生されると言う特徴がある。図形データは、直線・曲線・矩形・円・多角形等の輪郭情報等のベクトル情報及び輪郭や内部の色情報や塗りつぶしのパターン情報等の集合体でる。イメージオブジェクトや文字オブジェクトより入力情報が複雑であり、いくつもの処理アルゴリズムを使用し複雑な処理を行わせる必要がある。
【００２４】
制御用コマンドとは、具体的なデータ生成を伴なうオブジェクトでは無く画像形成装置内部のデータの制御に用いる物である。具体的には、前述した展開部切り替え命令のほか、オブジェクトの展開時に各オブジェクト間の同期を取るための同期制御を行うコマンド、何もしないコマンド、一定時間動作を停止させるコマンド等がある。
【００２５】
フレーム構造データとは、各オブジェクトと共に印刷ページの構造の再現に必要なデータであって、各オブジェクトデータの用紙上の位置、各オブジェクトの重なり具合等の情報が含まれる。但し特定のデータに関してはオブジェクトの中に含まれていても良いし、フレーム構造データの中に含まれていても良い。
【００２６】
図９に印刷データの一例を図示する。図９では、各オブジェクトデータは連続して示されているが、それぞれ独立して処理可能である。印刷データ９００には、それが印刷ジョブのヘッダであることを示す命令コード９０１が付加されている。その後に、ページごとのページ印刷データ９０２が続く。またジョブ終了コードはあってもなくても良い。
【００２７】
ページ印刷データ９０２の詳細を、符号９１０に示す。ページ印刷データ９１０は、データ長９１１、少なくともジョブにおいて固有のページＩＤ９１２、フレーム構造データ９１３、各種オブジェクトに対応するオブジェクトデータ９１４を含む。本実施形態では、互いに異なるページに属する複数のオブジェクトデータが平行してレンダリングされる可能性があるので、ページＩＤは、ジョブＩＤにジョブ内で固有のページ番号等を付加した値であることが望ましい。フレーム構造データ９１３は、そのデータが含まれるページに属するオブジェクトのＩＤと、その位置とを特定するデータである。オブジェクトデータは、ページに属するオブジェクトを定義するデータであり、ビットマップデータ等に変換可能なように定義されている。オブジェクトデータは、そのページに含まれるオブジェクトの数だけ繰り返される。
【００２８】
フレーム構造データ９１３の詳細を符号９２０に示す。フレーム構造データ９２０は、データ長９２１と、フレーム構造データであることを示す種類コード９２２と、対応するページＩＤ９２３と、位置データ９２４とその位置に配置されるオブジェクトＩＤ９２５とを含む。位置データ９２４とオブジェクトＩＤ９２５の組は、そのページに含まれるオブジェクトの数だけ繰り返される。オブジェクトの位置は、たとえばオブジェクト毎に、基準となる位置を定めておき、その基準位置のページ内における位置等で表すことができる。なお、種類コード９２２はオブジェクトの種類を示す所定のコードであるが、図４の展開部７０２〜７０４のアドレスとしてもよい。すなわち、当該オブジェクトが展開される展開部のアドレスが種類コードとなる。
【００２９】
オブジェクトデータは、本実施形態では３種類がサポートされる。文字オブジェクトデータ９３０は、データ長９３１と、文字オブジェクトデータであることを示す種類コード９３２と、オブジェクトが属するページＩＤ９３３と、ページ内における固有のオブジェクトＩＤ９３４とを含む。これらはその他の種類のオブジェクトデータについても共通である。さらに、文字オブジェクトデータに固有のデータとして、文字コード９３５と、書体や色、斜体や太字等の修飾情報等を含む付加情報９３６とが含まれる。文字オブジェクトは１文字ずつ定義されても良いが、共通の付加情報を有する文字列が定義されていても良い。
【００３０】
グラフィックオブジェクトデータ９４０は、上記各オブジェクトに共通のデータに加えて、グラフィックタイプコード９４５と、グラフィックの定義データ９４６と、色や塗りつぶしの指定などの付加情報９４７とを含む。グラフィックタイプコード９４５は、たとえば円や矩形、直線、ベクタ等のグラフィックタイプを示す。定義データ９４６は、指定されたグラフィックタイプにおいて、図形を特定するためのパラメータを示す。たとえばタイプが円であれば、中心点座標と半径、矩形であれば角点の座標などが定義データ９４６として記述される。
【００３１】
イメージオブジェクトデータ９５０は、上記各オブジェクトに共通のデータに加えて、イメージ種類コード９５５と、イメージデータ９５６とを含む。イメージ種類コード９５５は、たとえば圧縮方法やそのパラメータなどを示す。イメージデータ９５６は、イメージ種類コード９５５で指定されたように圧縮されたデータの実体である。もちろん無圧縮の場合も含む。
【００３２】
以上が印刷ジョブを構成する各種データである。このほか、制御用コマンドをコンピュータ１０２はＭＦＰ１０４に送信して、遠隔的に制御を行うことができる。展開機能切り替え命令９６０はその制御用コマンドのひとつである。展開機能切り替え命令９６０は、展開機能切り替え命令であることを示す命令コード９６１と、制御コード９６２と、付加情報９６３とを含む。制御コードには、たとえば切り替え対象の展開部を特定する情報や、切り替え後の機能を示す情報等が含まれる。展開機能切り替え命令９６０等の制御コマンドは、印刷ジョブに埋め込まれる場合もある。画像形成装置のＰＤＬ部２０５内の各ブロックへ入力されるデータの順序は、印刷ジョブ内に含まれる順序（すなわち送信順序）に従う。そのため、展開機能切り替え命令９６０が印刷ジョブに含まれていると、展開機能切り替え命令９６０の処理の前後で、機能切り替え対象の展開部の機能が相違する。オブクトデータの種類コードに展開部のアドレスを記述しておけば、機能切り替えの前後において、間違いなく指定した展開部でオブジェクトを処理させることができる。これは、ひとつの展開部に着目した場合、そこに入力されるオブジェクトデータの順序は、印刷ジョブに含まれる順序に従うためである。たとえば、一つのページに含まれるオブジェクト間の順序をオブジェクトＩＤの値の順とし、異なるページに含まれるオブジェクト間の順序をページＩＤの値の順とすれば、オブジェクトの順序をプリンタドライバにより一意に指定することができる。
【００３３】
＜ＰＤＬ部２０５の構成＞
次に、図４を用いてＰＤＬ部２０５の詳細を説明をする。ＰＤＬ部２０５は、コンピュータ１０２から送られてくる、図９のような印刷データに基づいてビットマップデータの作成を行う。ＮＩＣ部２０４から送られてきた印刷データは、一度ＲＡＭ７０７で保存される。
【００３４】
データ再構築部７０１はＲＡＭ７０７に格納されたデータから、オブジェクトデータの区切りごとのデータに再構築する。そして、処理対象のオブジェクトデータが、展開部１（７０２）、展開部２（７０３）、展開部３（７０４）、合成部７０６、制御部７０７のどのブロックで処理されるべきデータなのかを決定する。決定は、各データに付加されている種類コード（すなわちアドレス等）に基づいて行われる。そして、決定したブロックに処理対象のオブジェクトデータを渡す。展開部１〜展開部３では、受信したオブジェクトデータを、ＣＭＹＫ−ＩＰ部等の後段のブロックが処理可能な特定の形式に変換する。本実施形態では、その特定形式はビットマップ形式である。各展開部はそれぞれのオブジェクトの特性に応じて効率的に展開可能な様に構成されている。本実施形態では展開部１（７０２）はイメージデータオブジェクトの展開に最適な様に構成されていて、単純な処理を高速で実行可能な様に専用の固定ハードウエアで構成されている。デジタルシグナルプロセッサ（ＤＳＰ）の様にプログラマブルでありながら、単純処理を高速で実行可能な構成をとっても良い。展開部２（７０３）は、文字データの展開に可能な様に構成され、文字データ生成に最適なハードウエアで構成される。大量なデータを滞りなく出力させる為に、大きめな出力バッファが設けられている。もちろん内部は特にそのような構成に限定するものでは無い。展開部３（７０４）は図形データの展開に最適な様に高速なＣＰＵ（不図示）と多くの処理アルゴリズムを実行可能な様に大規模なプログラムを格納する大容量ＲＯＭ（不図示）及び作業用のＲＡＭ（不図示）で構成されている。もちろん図形データのビットマップ展開に最適なアルゴリズムを具現化する専用のハードウエアによって構成されていてもよい。各展開部はデータ転送先を指定する為の固有のアドレス情報が割り当てられており、データ再構築部はこのアドレス情報に基づいてデータの転送を行う。
【００３５】
制御コマンドは制御部７０６に渡される。またフレーム構造データは合成部７０５に渡される。ただしフレーム構造データはＲＡＭ７０７に保存されるので、アドレスを共有すればどのブロックからでも参照できる。
【００３６】
さらに各ブロックは、通常では前述の様な機能分担をしているが、本実施形態ではのハードの機能を変更可能な構成されており、各オブジェクトの数量に偏りがある場合には、ホストからのコマンドによって機能を切り替えられる様に変更する事が出来る。例えば、画像を含まず文字及び図形データでのみで構成されたデータを印刷する場合には、ホストからのコマンド指示によって、展開部１の機能を本来のイメージデータオブジェクトの処理では無く、例えば図形オブジェクトの処理を行うように切り替える。機能を切り替えるために、本実施形態では、複数の処理を行うためのハードウエア機能が予め備えられており、オブジェクトデータの入力径路と出力径路とが、選択したハードウエア機能の側にスイッチされる。切り替えはホストコンピュータからのコマンド（展開部切り替え命令）を受信した制御部７０６により実行される。別の実施形態では、ＦＰＧＡの様なプログラム可能なデバイスを利用する事で実現する事も出来る。この際のプログラムは予め画像形成装置の記憶部に格納しておいても良いし、ホストコンピュータに格納しておき使用する以前に送信する構成にしておいても良い。たとえば、展開部切り替え命令に付加情報としてプログラムが添付されており、このプログラムを展開部にロードすることで、その機能を切り替える。
【００３７】
各展開部で展開されたビットマップメージは、ＲＡＭ７０７に格納される。そして合成部７０５により、各オブジェクトが属するページごとに合成されてページデータが作成される。合成部７０５では、合成に際して、受信したフレーム構造データに基づいて、ビットマップに変換されたオブジェクトデータを、配置及び重なり判定等を行いつつ、用紙上に形成される元の画像（すなわちページデータ）を作成する。作成したページデータは、ＣＭＹＫの色成分毎にＲＡＭ７０７に格納する。合成部７０５も展開部と同様にデータ転送先を指定する為の固有のアドレス情報が割り当てられており、データ再構築部はこのアドレス情報に基づいてフレーム構造データの転送を行う。
【００３８】
制御部７０６はＰＤＬ部（印刷画像形成部）全体の動作の制御を行う。本実施形態以外の構成として展開部３（７０４）に内蔵のＣＰＵを、制御部７０６が兼用する構成であっても良い。制御部７０６も展開部と同様にデータ転送先を指定する為の固有のアドレス情報が割り当てられており、データ再構築部はこのアドレス情報に基づいて制御コマンドの転送を行う。
【００３９】
ＲＡＭ７０７は、不図示のバスによって他のブロックと接続され、相互にデータのやり取りが可能な様に構成されている。オブジェクトデータや、展開後のビットマップデータ、合成後の印刷画像データ（ページデータ）が格納される。そのほか、作業用の領域として使用される。ＲＡＭ７０７の記憶領域は制御部７０６によって管理されている。各ブロックがＲＡＭ７０７を使用したい場合には、予め確保したい容量を算出して制御部７０６に要求することが出来るように構成されている。あるいは、初めから固定した領域を割り振ってもよい。この様に管理されたＲＡＭ７０７において、１ページの領域が完成する前に、残り未使用領域が不足してある一定量以下になった場合には、次のページのオブジェクトデータが展開されたビットマップデータを廃棄し、その格納されていた領域を開放する。同じく残り未使用領域が不足してきてある一定量以下になった場合には、次のページのオブジェクトのビットマップへの展開を行わないようにする。上記の動作が発生してしまった場合にはホストコンピュータに通知する。なお、ＰＤＬ部２０５によるオブジェクトデータの変換処理手順は、図１１等を参照して後述する。
【００４０】
＜コア部２０６の構成＞
次に図５を用いてコア部２０６について説明する。コア部２０６のバスセレクタ部８０１は、ＭＦＰ１０４の利用における、いわば情報の交通整理の役割を担っている。すなわち、コア部２０６は、スタンドアローンとしての複写機能、ネットワークスキャン、ネットワークプリント、ファクシミリ送信／受信、あるいは、ＭＦＰ１０４における各種機能に応じてバスの切り替えを行う。詳しく説明するならば、以下のような径路の切り替えが考えられる。
・スタンドアローン複写機：スキャナ２０１→コア２０６→プリンタ２０８。
・ネットワークスキャン：スキャナ２０１→コア２０６→ＮＩＣ部２０４。
・ネットワークプリント：ＮＩＣ部２０４→コア２０６→プリンタ２０８。
・ファクシミリ送信機能：スキャナ２０１→コア２０６→ＦＡＸ部２０３。
・ファクシミリ受信機能：ＦＡＸ部２０３→コア２０６→プリンタ２０８。
【００４１】
バスセレクタ部８０１を出た画像データは、圧縮部８０２により圧縮符号化され、ハードディスク（ＨＤＤ）などの大容量メモリからなるメモリ部８０３にいったん格納される。その後メモリ部８０３から読み出された画像データは伸張部８０４により復号されてプリンタ部２０８へ送られる。また変倍部を設けて画像データの拡大縮小を行ってもよい。他の装置へ縮小画像を転送する場合などに使用する。ここで用いられる圧縮方式は、ＪＰＥＧ，ＪＢＩＧ，ＺＩＰなど一般的なものを用いればよい。
【００４２】
コア制御部８０９は、コア部２０６全体の制御を不図示の制御信号を用いて行う。これらの制御にはバスセレクタ８０１によるバス切替の制御を行ったり、操作部等そのたのコア以外の機器とのインターフェースを行う事が含まれる。又これらのインターフェースによってコア部以外の機器の動作状態を知る事が出来るように構成されている。
【００４３】
＜ＣＭＹＫ−ＩＰ部２０７の構成＞
図８を参照してＣＭＹＫ−ＩＰ部２０７を説明する。コア部２０６より渡されたデータは、出力マスキング／ＵＣＲ回路部８０７に入り、ＬＯＧ変換によりＣ１，Ｍ１，Ｙ１信号を得て、それを画像形成装置のトナー色であるＹ，Ｍ，Ｃ，Ｋ信号にマトリクス演算によって変換する。すなわち、ＣＣＤセンサ３０８で読み込まれたＲＧＢ信号に基づいたＣ１，Ｍ１，Ｙ１，Ｋ１信号を、トナーの分光分布特性に基づいたＣ，Ｍ，Ｙ，Ｋ信号に補正して出力する。
【００４４】
次に、ガンマ補正部７０８では、トナーの色味諸特性を考慮したルックアップテーブル（ＬＵＴ）を使って、画像出力のためのＣ，Ｍ，Ｙ，Ｋデータにガンマ変換される。空間フィルタ７０９では、画像データにシャープネスまたは、スムージングが施される。その後、画像データはＰＷＭ部２０８へと送られて、画像として用紙上に形成される。画像が白黒かカラーかの判定はＣ，Ｍ，Ｙ，Ｋ信号のバランスによって判定される。
【００４５】
＜プリンタ部２０９の構成（カラーＭＦＰ１０４の場合）＞
ＭＦＰ１０４のプリンタ部は、各色ごとに現像機を有するいわゆるタンデム型である。プリンタ部２０９には、ＣＭＹＫ各色に対応する４つの半導体レーザおよび４本のレーザー光を反射するポリゴンミラーが備えられている。それぞれのレーザ光は、反射ミラー等の光学系を経て各色の感光ドラムを走査する。各感光ドラム上には、ＰＷＭ変調された画像データにより変調されたレーザの操作によって静電潜像が形成される。その静電潜像は、各感光ドラムに対応する色のトナーにより現像される。
【００４６】
一方用紙は、複数の用紙カセットのいずれか、あるいは手差しトレイより供給され、レジストローラを経て、転写ベルトに吸着され、搬送される。給紙のタイミングと同期がとられて、各色の感光ドラムには各色のトナーが現像されており、用紙の搬送とともに、各色のトナー像が用紙に転写される。これによって、フルカラーの出力画像を得ることができる。各色のトナーが転写された用紙は、転写ベルトから分離され、定着器まで搬送されて、トナーが用紙に定着されてから機外に排出される。
【００４７】
４つの感光ドラムは、距離ｄをおいて、等間隔に配置されており、搬送ベルトにより用紙は一定速度ｖで搬送される。このタイミング同期がなされて、４つの半導体レーザは駆動される。
【００４８】
＜プリンタ部２０９の構成（モノクロＭＦＰ１０５の場合）＞
図１１に、モノクロプリンタ部の概観図を示す。ポリゴンミラー１１１３は、半導体レーザより発光されたレーザー光を受ける。レーザー光はミラー１１１４、１１１５、１１１６をへて感光ドラム１１１７を走査する。一方、黒色のトナーを供給する現像器１１３０によって、感光ドラム上の潜像は現像される。現像されたトナー像が用紙に転写され、出力画像を得ることができる。
【００４９】
用紙カセット１１３４、１１３５および、手差しトレイ１１３６のいずれかより給紙された用紙は、レジストローラ１１３７を経て、転写ベルト１１３８上に吸着され、搬送される。給紙のタイミングと同期がとられて、感光ドラム１１１７は操作されてトナー像が形成されている。このため用紙の搬送とともに、トナーが用紙に転写される。トナーが転写された用紙は、分離され、定着器１１４０によって、トナーが用紙に定着され、カラー画像同様に排出される。
【００５０】
＜ネットワーク１０１＞
さて次に、ネットワーク１０１について説明する。ネットワーク１０１は図７に示すように、前述の図１のような構成がルータと呼ばれるネットワークを相互に接続する装置により接続され、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と呼ばれる更なるネットワークを構成する。また、ＬＡＮ１４０６は、内部のルータ１４０１を介して、専用回線１４０８を通して、別のＬＡＮ１４０７内部のルータ１４０５に接続され、これらのネットワーク網は幾重にも張り巡らされて、広大な接続形態を構築している。
【００５１】
次に、その中を流れるデータについて図８にて説明する。送信元のデバイスＡ（１５００ａ）に存在するデータ１５０１がある。そのデータ１５０１は画像データでも、印刷データでも、プログラムであっても構わない。これをネットワーク１０１を介して受信先のデバイスＢ（１５００ｂ）に転送する場合、データ１５０１を細分化しイメージ的にデータ１５０２のように分割する。この分割されたデータ１５０３，１５０４，１５０６などに対して、ヘッダ１５０５と呼ばれる送り先アドレスなどを付加し、パケット１５０７として順次ネットワーク１０１上にパケットを送って行く。送り先アドレスは、ＴＣＰ／ＩＰプロトコルを利用した場合には、送り先のＩＰアドレスとなる。デバイスＢのアドレスとパケット１５１０のヘッダ１５１１が一致するとデータ１５１２はヘッダ１５１１から分離され、デバイスＢにデータ１５１３、１５１４として入力される。デバイスＢにおいて、分割されたデータ１５１５が再構築され、デバイスＡにあったデータ１５１６が再生される。
【００５２】
＜プリンタドライバ＞
次に図１０を用いて、コンピュータ１０２で実行されるプリンタドライバにより画像データをプリンタに送信する行程について説明する。プリンタドライバは、プリント動作を指示するためのＧＵＩを提供する。このＧＵＩ上で、利用者は、所望の設定パラメータを入力して、所望の画像イメージをプリンタなどの送信先に送る事が可能となる。図１０において、プリンタドライバのウィンドウ１６０１には、設定項目として、送信先選択カラム１６０２、ページ設定カラム１６０３、部数設定カラム１６０４、プロパティキー１６０７、フィニッシング設定１６０８とが表示される。
【００５３】
送信先選択カラム１６０２はターゲットとなる出力先を選択する送信先選択カラムである。出力先は、一般的には前述のＭＦＰ１０４，１０５あるいは、プリンタ１０７のような出力機器であるが、保存の目的でメモリ１０８に画像を転送しても構わない。ページ設定カラム１６０３は、ジョブの中から出力ページを選択するためのページ設定カラムであり、コンピュータ１０２上で動作するアプリケーションソフトで作成された画像イメージのどのページを出力するかが指定される。部数設定カラム１６０４では部数が指定される。また、プロパティキー１６０７は、送信先選択カラム１６０２にて選択された送信先デバイスに関する詳細設定を行うためのキーである。ここをクリックすると別画面にてそのデバイス固有の設定情報を入力し、特殊な画像処理、例えば、ＣＭＹＫ−ＩＰ部２０７内のガンマ変換部７０７や空間フィルタ部７０８のパラメータが変更できる。設定変更することにより、より細かい色再現やシャープネス調整を行うことが可能となる。フィニッシング設定１６０８は、選択されたプリンタに応じて設定項目が異なる。
【００５４】
送信先選択カラム１６０２の右をクリックすると、印刷可能なプリンタやＭＦＰなどの一覧が表示される。そのためにはネットワーク上のプリンタを検索する必要がある。ネットワーク上のＭＦＰやプリンタを検索する場合にはディレクトリサービスと呼ばれるものを利用する。ディレクトリサービスを用いたディレクトリシステムの具体例としては、ＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）がある。ＬＤＡＰの規定は、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｅｃｅ）が発行している標準仕様であるＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｔｓ）１７７７に記載されている。ディレクトリサービスを用いてネットワークに接続されている装置を検索することにより、ネットワーク上で利用可能な装置のネットワークアドレスの一覧を得ることができる。ネットワーク１０１上のコンピュータ１０２はＬＤＡＰサーバとして機能し、ネットワーク上の装置に関する情報をすべて保管している。コンピュータは自分で検索しにいかずＬＤＡＰサーバに問い合わせることで所望の装置を検索することが可能となる。装置の装備情報や状態などの情報にあわせて装置の位置情報を登録することによってコンピュータに近い装置、あるいは所望のプリンタにもっとも近くで所望の機能を持つプリンタなどといった検索も可能である。位置情報はたとえば各フロアごとに基準点からの距離をＸＹ方向で定義し、かつフロアの情報なども付加する。たとえば２階の基準となるコーナーからＸ方向３ｍ（３本目の柱というような距離でもよい）、Ｙ方向５ｍと言った場合３Ｘ５Ｙ２というような情報をもたせることで表現する。ドライバはＬＤＡＰサーバに問い合わせることで送信先選択カラム１６０２にプリンタの一覧を表示させることが可能となる。所望の設定が済めば、ＯＫキー１６０５により印刷を開始する。取り消す場合には、キャンセルキー１６０６により印刷を取りやめる。
【００５５】
＜プリンタドライバによる処理概略＞
本実施形態にかかるプリンタドライバは、画像形成装置からそのハードウエア構成を示す情報を獲得可能である。またプリンタドライバは、イメージオブジェクトデータ、図形オブジェクトデータ、文字オブジェクトデータ、制御用コマンド、フレーム構造データの５種類がそれぞれ独立した構造を持つ様な印刷データを生成し、画像形成装置に送信する。独立した構造を持つとは、各データを分離可能であることである。各データには画像形成装置内部のどのハードウエアブロック（展開部１から展開部３・合成部・制御部）に転送して処理するのかを指示するためのアドレス情報が付加される。
【００５６】
各オブジェクトの展開予測時間に大きな偏りがある場合には、一部のオブジェクトを他のオブジェクトに変換しておき、展開予測時間が均等になるようにしておく。例えば図形オブジェクトの展開時間が多いと予測した場合には、存在する図形オブジェクトの一部をイメージデータに変換しておき、印刷データに入れ込む。その際には、そのオブジェクトデータには元々は図形データであった旨を指示する属性データを付加する。これは、イメージオブジェクトであると画像形成装置側に判断されてしまうと、通常は独特の画像処理が行われてしまい期待した結果と異なるのを防止するのに役立つ。画像形成装置側ではこの属性を判断して、もともと他のオブジェクトであった場合には、画像処理を実施しないように構成されている。このような変換は、たとえばページ単位で行われる。
【００５７】
またプリンタドライバは、画像形成装置から各展開部の処理状況の情報を取得する事が可能な様に構成されている。プリンタドライバは取得した情報に基づいて、各展開部の実際の処理の負荷に偏りが発生している場合には、そのオブジェクトの転送を一時中断する。また残りのオブジェクトの展開予測時間を再計算して偏りが発生している場合には、上記と同様に展開予測時間が大きなオブジェクトの一部を他のオブジェクトデータに変換しておき、印刷データに入れ込む。その際にも、そのオブジェクトデータには元々は図形データであった旨を指示する属性データを付加する。
【００５８】
本実施形態ではハードの機能を変更可能な構成されているので、各オブジェクトの展開予測時間に偏りがある場合には、ホストコンピュータからのコマンドによって展開部の機能を切り替える。例えば、図形を含まず文字及び画像データでのみで構成されたデータを印刷する場合には、展開部３の機能を本来の図形オブジェクトの処理では無く、例えばイメージオブジェクトの処理を行うように切り替える。切り替えはホストからのコマンド指示に従って行われる。プリンタドライバは、特定のオブジェクトが皆無であった場合には、そのオブジェクトの展開に対応した展開部の切替を指示するコマンドを印刷データ内部に入れ込む。また特定のオブジェクトデータの予測展開時間が少なく、ある展開部の機能を変更した方が処理が早くなると判断した場合には、上記と同様にその機能を切り替えて使用する。展開部の機能切り替えにより展開できなくなるオブジェクトデータがある場合には、そのオブジェクトデータを展開可能な他のオブジェクトデータに変換する。例えば図形オブジェクトの展開負荷が軽いと予測した場合には、存在する図形オブジェクトをイメージデータに変換しておき、印刷データに入れ込む。その際には、そのオブジェクトデータには元々は図形データであった旨を指示する属性データを付加する。
【００５９】
プリンタドライバは上述の様に、画像形成装置から各展開部の処理状況の情報を取得する事が可能な様に構成されている。ドライバは取得された情報に基づいて、各展開部の実際の処理の負荷に偏りが発生している場合には、残りのオブジェクトの展開予測時間を再計算して偏りが発生している場合には、上記と同様に展開部の機能を切り替えて使用する。上記と同様に展開予測時間が大きなオブジェクトの一部を他のオブジェクトデータに変換しておき、印刷データに入れ込む。その際にも、そのオブジェクトデータには元々は図形データであった旨を指示する属性データを付加する。
【００６０】
ＦＰＧＡの様なプログラム可能なデバイスを利用する事で展開部のハードウエア機能変更を実現している場合には、そのプログラムをホストコンピュータに格納しておき使用する以前に送信する構成にできる。その場合にはＦＰＧＡプログラム送信を指示するコマンド及びプログラムデータを予め画像形成装置に転送しておく。
【００６１】
上記の様に構成された画像形成システムにおいて、図１１乃至図１４のフローチャートおよび図５乃至図１７のテーブルを参照して、プリンタドライバ及び画像形成装置の動作を説明する。
【００６２】
＜プリンタドライバによる処理＞
図１１及び図１２はホスト側特にプリンタドライバの動作を説明するフローチャートである。ステップＳ１７０１では、アプリケーションデータの解析を行いイメージオブジェクトデータにすべきデータを抽出してイメージオブジェクトデータに変換する。ステップＳ１７０２では、アプリケーションデータの解析を行い、文字オブジェクトデータにすべきデータを抽出して文字オブジェクトデータに変換する。ステップＳ１７０３では、アプリケーションデータの解析を行い、図形オブジェクトデータにすべきデータを抽出して図形オブジェクトデータに変換する。ステップＳ１７０４では、アプリケーションデータの解析を行い、各オブジェクトの配置や重複等のフレーム構造を抽出してフレーム構造データを作成する。ステップＳ１７０５では、上記の各データから画像形成装置に送信する為の印刷データを作成する。ステップＳ１７０６では、画像形成装置に対して印刷データの送信を行う。なお、ステップＳ１７０１〜ステップＳ１７０６の処理は１ページ単位で行い、複数ページからなるアプリケーションデータについては、ページ数分だけ繰り返される。またアプリケーションデータにページという区分が存在しない場合、たとえば、アプリケーションデータを、出力サイズで分割し、ページ割りをしておいてから、図１１の処理を実行すれば、ページ単位で処理できる。
【００６３】
次に図１１のステップＳ１７０５で行った印刷データの作成に関して図１２を用いて詳細に説明する。ステップＳ１８０１では、データ作成中のページに属するイメージオブジェクトデータを解析して、展開時間を予測する。複数のオブジェクトがある場合には、各オブジェクトデータの展開予測時間を累積する。これが予測展開時間である。これは他の種類のオブジェクトについても同様である。ステップＳ１８０２では、データ作成中のページに属する文字オブジェクトデータ群を解析して、展開時間を予測する。ステップＳ１８０３では、データ作成中のページに属する図形オブジェクトデータ群を解析して、展開時間を予測する。ステップＳ１８０４では、予測展開時間が最大のオブジェクト種類を決定する。ステップＳ１８０５では、予測展開時間が最小のオブジェクトを決定する。ステップＳ１８０６では、予測展開時間が最大のオブジェクト種類の一部のデータを、予測展開時間が最小のオブジェクト種類に変換する。例えば、文字データの予測展開時間が最大で、イメージデータが最小であるとする。この場合には、文字データの一部をホストコンピュータ（プリンタドライバ）において予め展開してイメージデータにしておく。ステップＳ１８０７では、最終的なオブジェクトデータから印刷データを作成する。
【００６４】
なお予測展開時間の計算のために、予め計算のためのパラメータをプリンタドライバに予め用意しておく。本実施形態のプリンタドライバは、図４のＰＤＬ部２０５を有するＭＦＰ１０４に対応したものなので、ＰＤＬ部２０５の能力に応じたパラメータを用意しておくことができる。たとえば、文字オブジェクトであれば、文字数と文字サイズ、文字修飾の付加データの量を変数として、それらを乗じ、それに能力パラメータで重み付けすることで予測展開時間が得られる。グラフィクスオブジェクトであれば、グラフィクス種類後との能力パラメータに、各種類ごとのグラフィクスオブジェクトの数とサイズとを乗じて予測展開時間が得られる。またイメージオブジェクトであれば、圧縮方法に応じた能力パラメータとイメージサイズとを乗じて予測展開時間が得られる。もちろんこれらは極めて簡単な一例にすぎない。
【００６５】
またオブジェクト種類を変換するオブジェクトデータの量は、予測展開時間が各種類のオブジェクト間でできるだけ一様になるように定める。たとえば、最大予測展開時間と最小予測展開時間との差を求める。そしてまず予測展開時間が最大のオブジェクト種類のオブジェクトの数に着目する。そしてこのオブジェクトの数を、（最大予測展開時間−最小予測展開時間）／２と、最小予測展開時間＋（最大予測展開時間−最小予測展開時間）／２との比で比例配分する。予測展開時間が最大のオブジェクトの種類から（最大予測展開時間−最小予測展開時間）／２に比例する数のオブジェクトを選び、それを予測展開時間が最小のオブジェクト種類に変換する。
【００６６】
ただし、文字オブジェクト及びグラフィクスオブジェクトをイメージオブジェクトに変換することは容易であるが、その逆や、あるいは文字オブジェクトとグラフィクスオブジェクトとの間の変換は容易ではない。そこで、最小予測時間のオブジェクト種類がイメージオブジェクトの場合に限って、上記オブジェクトの変換を行っても良い。
【００６７】
＜画像形成装置による処理＞
次に図１３及び図１４を用いて画像形成装置内部の動作について解説する。図１３はオブエクトをビットマップに変換するまでの、データ再構築部７０１および展開部１〜展開部３による処理である。ステップＳ１３０１では、画像形成装置のデータ再構築部７０１がホストコンピュータから印刷データを受信する。ステップＳ１３０２では、データ再構築部７０１は受信した印刷データを解析して、転送の為のデータの集まり、すなわち図９に示したオブジェクトごとおよび命令ごとのデータのまとまり（フレーム構造データを含む）を再構築する。さらに種類コード等に表示された送り先のアドレス情報に従い、そのアドレス情報に対応するハードウエアブロックにデータを転送する。ステップＳ１３０３〜ステップＳ１３０７は、並列動作可能な処理である。各ハードウエアブロックがデータ再構築部７０１から転送されてきたデータの処理を並行して行う。
【００６８】
ステップＳ１３０３では、展開部１（７０２）においてイメージオブジェクトの展開処理を行う。ステップＳ１３０４では、展開部２（７０３）において文字オブジェクトの展開処理を行う。ステップＳ１３０５では、展開部３（７０４）において図形オブジェクトの展開処理を行う。ステップＳ１３０６では、合成部７０５において、フレーム構造データの解析を行う。ステップＳ１３０７では、制御部７０６において、コマンドデータの解析を行い、各種制御動作を行う。なお合成部７０５の動作は、図１４を参照して説明する。各ハードウエアブロックは、データ再構築部７０１から入力されるオブジェクトデータや命令を、入力される順序で処理する。図１３ではステップＳ１３０７等からステップＳ１３０２に分岐しているが、これは便宜的な表現であって、実際にはデータ再構築部７０１はハードウエアブロックに入力を続け、各ハードウエアブロックは入力されるデータを処理し続ける。
【００６９】
図１４は合成部７０５による合成処理およびフレーム構造データの処理手順を示す。図１５乃至図１７は参照される表を示す。まず、表について説明する。図１５はページデータ生成の進捗状況を示す進捗情報テーブル１５０１の一例を示す図である。進捗情報テーブル１５０１には、その進捗情報テーブルにより進捗状況が表されるページのページＩＤ１５１１と、そのページのフレーム構造データ受信フラグ１５１２，オブジェクトＩＤ１５１３、そのオブジェクトに対応する進捗情報１５１４が含まれる。さらに、展開されたデータへのポインタ１５１５と、合成されたページデータへのポインタ１５１６が含まれる。オブジェクトＩＤと進捗情報の対は、ページに含まれるオブジェクトの数だけ繰り返される。フレーム構造データ受信フラグ１５１２はそのページのフレーム構造データを受信していれば真にセットされる。進捗情報は、そのオブジェクトの処理状況に応じて「未処理」「展開済み」「合成済み」の３値をとる。初期値は「未処理」である。もちろんこれらは値の意味であって、各意味に対応する所定のコードがセットされる。進捗情報テーブル１５０１は、フレーム構造データを受信していない場合に当該ページのオブジェクトが展開されると、展開されたオブジェクトのオブジェクトＩＤと、「展開済み」という進捗情報が追加される。また、展開されているビットマップデータへのポインタ１５１５も追加される。そのオブジェクトが、当該ページで初めて処理されるオブジェクトの場合には、ページＩＤ１５１１が新たに設けられてページＩＤがセットされ、フレーム構造データ受信フラグに偽がセットされる。またフレーム構造データが受信されると、そのフレーム構造データに含まれているすべてのオブジェクトＩＤが進捗情報テーブル１５０１に追加される。既に展開済みとなっているオブジェクトについては、そのまま残される。フレーム構造データ受信フラグには真がセットされる。また、いずれのオブジェクトも展開されていない場合には、ページＩＤ１５１１が新たに設けられてページＩＤがセットされ、フレーム構造データ受信フラグに真がセットされる。そしてそのフレーム構造データに含まれているすべてのオブジェクトＩＤが進捗情報テーブル１５０１に追加される。
【００７０】
展開済みのオブジェクトは、それがページデータに合成されると進捗情報が「合成済み」に書き替えられる。
【００７１】
図１６（Ａ）は、展開部により展開されたオブジェクトに対応するビットマップデータの形式の一例である。ページＩＤ１６０１およびオブジェクトＩＤ１６０２と、ビットマップデータ１６０３を含む。各展開部は、オブジェクトデータと共にページＩＤおよびオブジェクトＩＤを入力され、出力時にもそれを添付する。図１６（Ｂ）は、合成部７０５は、ビットマップデータのアドレスを展開部から引き渡されると、このページＩＤおよびオブジェクトＩＤを参照して、進捗情報テーブルへの登録やページデータへの合成を行う。１ページ分のページデータを示す。このデータも、進捗情報テーブルからポインタ１５１６によりリンクされている。
【００７２】
次に図１４の説明を行う。まず、いずれかの展開部からオブジェクトデータの展開を終了した旨のメッセージを受信したか判定する（ステップＳ１４０１）。なおこのメッセージは、展開されたビットマップデータのアドレスが含まれている。メッセージがあれば、そのオブジェクトが属するページのフレーク構造データを受信済みか判定する（ステップＳ１４０２）。受信済みであれば、そのフレーム構造データを基に、ビットマップデータをページデータに合成できる。ビットマップデータのアドレスは受信したメッセージに含まれている。そこで、展開されたビットマップデータを、そのオブジェクトが属するページデータに合成する（ステップＳ１４０３）。そして、合成したオブジェクトのビットマップデータが占めていたメモリ領域を解放する（ステップＳ１４０４）。またこの場合、当該オブジェクトが登録された進捗情報テーブル１５０１も存在するので、そのオブジェクトに対応する進捗情報に「合成済み」を登録する（ステップＳ１４０６）。そして、当該ページ内の全オブジェクトの進捗情報を調べ、全てが「合成済み」であるか判定する（ステップＳ１４０８）。全てが「合成済み」であれば、そのページデータの処理は完了した。そこで、そのページデータを次段のコア部に転送する（ステップＳ１４０９）。そしてそのページデータが占めていたメモリ領域を解放する（ステップＳ１４１０）。その後ステップＳ１４０１へ分岐する。
【００７３】
一方、ステップＳ１４０２で、受信済みでないと判定された場合には、展開されたオブジェクトに対応する項目すなわちオブジェクトＩＤおよび進捗情報およびポインタを、進捗情報テーブルに追加する（ステップＳ１４１１）。追加の仕方は図１５の説明で述べたとおりである。そして追加した進捗情報を「展開済み」と書き替える（ステップＳ１４１２）。その後ステップＳ１４０１へ分岐する。
【００７４】
またステップＳ１４０１で、受信したメッセージがオブジェクトの展開終了の通知ではなければ、フレーム構造データであるか判定する（ステップＳ１４１３）。そして、受信したフレーム構造データに基づいて、進捗情報テーブルを作成する（ステップＳ１４１４）。作成の仕方は図１５で説明したとおりである。そして、進捗情報テーブル１５０１の進捗情報の欄を調べ、未合成のオブジェクト、すなわち「展開済み」となっているオブジェクトがあるか判定する（ステップＳ１４１５）。もしあれば、その展開済みオブジェクトのビットマップデータを、ページデータに合成する（ステップＳ１４１６）。その後、合成されたオブジェクトのビットマップデータが占めていた領域を解放し（ステップＳ１４１７）、対応する進捗情報を「合成済み」に書き替える（ステップＳ１４１８）。その後ステップＳ１４１５に分岐する。ステップＳ１４１３でフレーム構造データでないと判定されれば、受信データに応じた処理を行ってステップＳ１４０１に戻る。またステップＳ１４１５で、未合成オブジェクトがないと判定されれば、ステップＳ１４０８に分岐して、全オブジェクトの合成が完了したか判定する。
【００７５】
以上のようにして、展開部により、ページ間の同期をとることなく順次オブジェクトの展開を行うことができる。そして展開されたオブジェクトは、合成部７０５により合成されて、ページデータが完成すると次々と出力される。図１７にその模式図を示す。図１７（Ａ）に、従来例を示す。従来はこのように各ページごとにオブジェクトを展開し、全て展開して合成し終えるまで次のページのオブジェクトの展開は開始されなかった。これに対して本発明では、図１７（Ｂ）のように連続的にオブジェクトを展開できる。そして、フレーム構造データ及びそれを用いた図１４の手順により、或るページのために必要なオブジェクトがすべて展開され、ページデータに合成されたか判定できる。これにより、連続的にオブジェクトから展開されたビットマップイメージを、そのオブジェクトが属するページデータに合成して出力できる。
【００７６】
この結果本実施形態では、展開部という画像形成装置の資源を、印刷ジョブという単位で効率的に利用することができ、印刷時間を短縮できる。
【００７７】
また本発明は、ページの区切り目のみならず、異なる印刷ジョブに属するオブジェクトを連続的に展開し、出力することもできる。この場合、複数の印刷ジョブに含まれるページ及びページに属するオブジェクトが並列的に処理される可能性がある。そのため、各オブジェクトは、図１６（Ａ）のページＩＤおよびオブジェクトＩＤに加えて、印刷ジョブＩＤも識別用に保存する必要がある。これは進捗情報テーブルについても同様である。
【００７８】
［変形例１］
本実施形態では、ページの出力順序が入力順序と一致しない場合があり得る。これは、オブジェクトの変換とページデータの出力とが非同期であり、オブジェクトの変換が先に完了したページから順次出力されるためである。そこで、ページの順序を入力と出力と出一致させるために、図１４のステップＳ１４０８とＳ１４０９との間にステップＳ１４０８５を設け、ページ順序をチェックする。チェックの基準はページＩＤである。本変形例では、ページＩＤはページ順序を特定できるように、１つの印刷ジョブ中で連番が与えられている。また、最後の出力したページＩＤをＲＡＭ７０７に記憶する。ステップＳ１４０８５では、出力可能となったページのページＩＤを進捗情報テーブルから得ると、そのページＩＤが最後に出力したページＩＤの直後の値であるか判定する。最後に出力したページＩＤの直後の値であれば、ステップＳ１４０９に進む。最後に出力したページＩＤの直後の値でなければ、ステップＳ１４０１に戻る。
【００７９】
また、ステップＳ１４０９でページデータを出力した後には、そのページデータのページＩＤの直後のページＩＤを進捗情報テーブルから検索する。そして該当するページＩＤを持つページテーブルが出力可能な状態であれは、そのページを出力する。もちろん最後に出力したページのページＩＤは、出力されたページのページＩＤで更新される。これを、出力できるページデータがなくなるまで繰り返す。
【００８０】
［第二の実施形態］
第１の実施形態と同等の構成を持つ機器において、各展開部の機能を切り替えて使用する例について解説する。上記の様に構成された画像形成システムにおいて、フローチャート図１８及び図１９を用いてその動作を説明する。
【００８１】
図１８はホスト側（プリンタドライバ）の動作を説明するフローチャートである。始めにこちらの動作を説明する。ステップＳ１９０１では、アプリケーションデータの解析を行いイメージデータオブジェクトにすべきデータを抽出してイメージデータオブジェクトデータに変換する。ステップＳ１９０２では、アプリケーションデータの解析を行い、文字データオブジェクトにすべきデータを抽出して文字データオブジェクトデータに変換する。ステップＳ１９０３では、アプリケーションデータの解析を行い、図形データオブジェクトにすべきデータを抽出して図形データオブジェクトデータに変換する。ステップＳ１９０４では、アプリケーションデータの解析を行い、フレーム構造を抽出してフレーム構造データを作成する。ステップＳ１９０５では、上記の各データの解析を行う。ステップＳ１９０６では、前記の解析結果を判定し、図形オブジェクトの数量を判定し、一定量より多い場合にはステップＳ１９０９に進む。そうでない場合には、ステップＳ１９０７へ進む。ステップＳ１９０７では、展開部３をイメージデータの処理に適したハードウェアに切り替えるためのコマンド（展開部機能切り替え命令）を送信する。ステップＳ１９０８では、図形オブジェクトをイメージオブジェクトに変換する。ステップＳ１９０９では、上記データから印刷データを作成する。ステップＳ１９１０では、画像形成装置に対して印刷データの送信を行う。図１１との相違は、ステップＳ１９０５〜ステップＳ１９０８を備えていることにある。他の同じである。コマンドすなわち展開部機能切り替え命令については第１実施形態で説明したとおりである。
【００８２】
次に印刷装置側の動作を図１９のフローチャートを用いて説明する。ステップＳ２００１では、先に送信された展開部機能切替命令を受信する。ステップＳ２００２では、所定のアドレス情報が割り振られている展開部機能切替命令を制御部に転送する。制御部７０６は、ステップＳ２００３では、転送されてきたコマンドを解析して所定の処理を実行する。この場合は、展開部３の機能を切り替える。展開部３は本来であれば図形オブジェクトの展開を行うが、このコマンドの実行によりイメージオブジェクトの処理機能に切り替わる。切り替えの仕方は第１実施形態で説明したとおりである。
【００８３】
ステップＳ２００４では、ホストコンピュータから印刷データを受信する。ステップＳ２００５では、データ再構築部７０１はホストコンピュータから送られてきた印刷データを解析して転送の為のデータの集まりを再構築する。さらに送り先のアドレス情報に従い、所定のアドレスを持つハードウェアブロックにデータを転送する。ステップＳ２００６〜ステップＳ２０１０は並列動作可能な処理であり、各ハードウェアブロックがデータ再構築部から転送されてきたデータの処理を並行して行う。ステップＳ２００６では、展開部１（７０２）においてイメージオブジェクトの展開処理を行う。ステップＳ２００７では、展開部２（７０３）において文字オブジェクトの展開処理を行う。ステップＳ２００８では、展開部３（７０４）においてイメージオブジェクトの展開処理を行う。ステップＳ２００９では、合成部７０５において、フレーム構造データの解析を行う。ステップＳ２０１０では、制御部７０６において、コマンドデータの解析を行い、各種制御動作を行う。合成部７０５による処理は第１実施形態と同様に図１４の通りである。
【００８４】
以上の通り、本実施形態では、第１実施形態の効果に加えて、展開部の機能を切り替えることで一層画像形成装置の資源である展開部の利用効率を向上させている。それは、機能の切り替えにより、処理を行っていない展開部が存在することを防止できるためである。こうして、印刷処理をより迅速に実行できる。
【図面の簡単な説明】
【００８５】
【図１】本実施形態のシステム全体を示す図、
【図２】画像形成装置全体のブロック図、
【図３】画像形成装置のＮＩＣ／印刷画像作成部のブロック図、
【図４】画像形成装置のＰＤＬ部（印刷画像作成部）のブロック図、
【図５】画像形成装置のコア部／ＣＭＹＫ−ＩＰ部のブロック図、
【図６】白黒画像形成装置のプリンタ部の模式図、
【図７】ネットワーク環境の模式図、
【図８】ネットワーク経由のデータ転送の模式図、
【図９】印刷データの例を示す図、
【図１０】ドライバの表示画面を示す図、
【図１１】第一の実施形態のプリンタドライバによる動作の概要を示すフローチャート、
【図１２】第一の実施形態のプリンタドライバによる動作の概要を示すフローチャート、
【図１３】第二の実施形態のＰＤＬ部の動作の概要を示すフローチャート、
【図１４】第二の実施形態の合成部の動作の概要を示すフローチャート、
【図１５】進捗情報テーブルの構成を示す図、
【図１６】オブジェクト及びページのビットマップデータの構成を示す図、
【図１７】本発明によるオブジェクト展開の模式図、
【図１８】第二の実施形態のホストコンピュータの動作の概要を示すフローチャート、
【図１９】第二の実施形態の印刷装置の動作の概要を示すフローチャートである。
【図１】
2007221604.tif 000003
【図２】
2007221604.tif 000004
【図３】
2007221604.tif 000005
【図４】
2007221604.tif 000006
【図５】
2007221604.tif 000007
【図６】
2007221604.tif 000008
【図７】
2007221604.tif 000009
【図８】
2007221604.tif 000010
【図９】
2007221604.tif 000011
【図１０】
2007221604.tif 000012
【図１１】
2007221604.tif 000013
【図１２】
2007221604.tif 000014
【図１３】
2007221604.tif 000015
【図１４】
2007221604.tif 000016
【図１５】
2007221604.tif 000017
【図１６】
2007221604.tif 000018
【図１７】
2007221604.tif 000019
【図１８】
2007221604.tif 000020
【図１９】
2007221604.tif 000021