(57)【要約】【課題】  オブジェクトを簡単かつ迅速に配置して、オブジェクトが配置された画像を出力することができる画像処理装置を提供する。【解決手段】  複数のオブジェクトのそれぞれの出力対象の画像に配置される配置順序に基づいて前記複数のオブジェクトから決定された記憶対象のオブジェクトを、メモリに記憶させておくように制御する。  そして、上記メモリに記憶されたオブジェクトを繰り返し利用することによって、複数のオブジェクトのそれぞれを上記の配置順序に従って配置し、当該複数のオブジェクトが配置された前記出力対象の画像を出力する。【選択図】  図１
2013123116.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト、及び出力対象の画像において当該オブジェクトが配置される配置位置と当該オブジェクトの配置順序とを特定するためのレイアウト情報を取得する取得手段と、
前記取得手段により複数のオブジェクトが取得された場合に、前記取得手段により取得された前記レイアウト情報により特定された、当該複数のオブジェクトのそれぞれの、前記出力対象の画像に配置される配置順序に基づき、前記複数のオブジェクトのうちの記憶対象のオブジェクトを決定する決定手段と、
前記複数のオブジェクトのうちの、前記決定手段により決定された記憶対象のオブジェクトを、繰り返し利用可能にメモリに記憶させる記憶制御手段と、
前記記憶制御手段により前記メモリに記憶されたオブジェクトを繰り返し利用することによって、前記複数のオブジェクトのそれぞれを、前記レイアウト情報により特定された配置位置に、当該レイアウト情報により特定される配置順序に従って配置し、当該複数のオブジェクトが配置された前記出力対象の画像を出力する出力手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記決定手段は、前記メモリに既に記憶されている第１のオブジェクトと、前記メモリに未だ記憶されていない第２のオブジェクトとから、記憶対象のオブジェクトを決定し、前記記憶制御手段は、当該第２のオブジェクトが記憶対象として決定された場合に、前記メモリに既に記憶されている当該第１のオブジェクトに上書きされるように、当該第２のオブジェクトを前記メモリに記憶させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記記憶制御手段は、前記メモリに既に記憶されている前記第１のオブジェクトのうちの、前記出力手段による出力が既に完了しているオブジェクトを特定し、特定された当該オブジェクトに上書きされるように、前記決定手段により決定された前記第２のオブジェクトを記憶させることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記出力手段は、前記複数のオブジェクトを、出力対象のページごとに順次配置し、前記記憶制御手段は、前記出力手段により既に出力されたページに配置されたオブジェクトを特定し、特定された当該オブジェクトに上書きされるように、未だ出力されていないページに配置されるオブジェクトを記憶させることを特徴と請求項３に記載の画像処理装置。
【請求項５】
前記取得手段により取得されたオブジェクトを描画する描画手段を有し、
前記決定手段は、前記複数のオブジェクトのうちの、前記描画手段により描画され、且つ、前記記憶制御手段により前記メモリに記憶される記憶対象のオブジェクトを決定することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記取得手段により取得されたオブジェクトを描画する描画手段を有し、
前記決定手段は、前記複数のオブジェクトのうちの、前記取得手段により取得され、且つ、前記記憶制御手段により前記メモリに記憶される記憶対象のオブジェクトを決定し、前記描画手段は、前記記憶制御手段により前記メモリに既に記憶されているオブジェクトを描画することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項７】
前記決定手段は、前記メモリにオブジェクトを記憶させるための残容量があるか判定し、当該残容量がないと判定された場合に、前記メモリに記憶させる記憶対象のオブジェクトを決定することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
オブジェクト、及び出力対象の画像において当該オブジェクトが配置される配置位置と当該オブジェクトの配置順序とを特定するためのレイアウト情報を取得し、
複数のオブジェクトが取得された場合に、取得された前記レイアウト情報により特定された、当該複数のオブジェクトのそれぞれの、前記出力対象の画像に配置される配置順序に基づき、前記複数のオブジェクトのうちの記憶対象のオブジェクトを決定し、
前記複数のオブジェクトのうちの、決定された前記記憶対象のオブジェクトを、繰り返し利用可能にメモリに記憶させ、
前記メモリに記憶されたオブジェクトを繰り返し利用することによって、前記複数のオブジェクトのそれぞれを、前記レイアウト情報により特定された配置位置に、当該レイアウト情報により特定される配置順序に従って配置し、当該複数のオブジェクトが配置された前記出力対象の画像を出力することを特徴とする画像処理方法。
【請求項９】
請求項８に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトが配置された画像を出力する画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
オブジェクトが配置されている画像を印刷するための技術として、複数の配置位置に共通で用いられるオブジェクトのデータを、当該複数の配置位置に対して繰り返し利用するバリアブル印刷がある。このバリアブル印刷により、例えば、ある印刷物の印刷のために使用したオブジェクトのデータを、他の印刷物の印刷の際に再利用することができる。これにより、再利用されるオブジェクトに対する処理を、複数の印刷物の全てに対して実行する必要がないため、印刷のための処理負荷を抑えることができる。
【０００３】
このようなバリアブル印刷においては、複数の配置位置に配置される再利用オブジェクトをメモリに記憶させておく。そして、メモリから読み出した再利用オブジェクトと、印刷物のそれぞれに個別に利用されるオブジェクトとを組み合わせてオブジェクトを配置し、オブジェクトが配置されている画像の印刷を行うことにより、上記の印刷処理を実現することができる。
【０００４】
しかしながら、メモリの記憶容量には制限があるため、再利用オブジェクトを無制限にメモリに記憶しておくということはできない。そこで、引用文献１には、再利用されるオブジェクトを描画するために必要な処理負荷を計測して、オブジェクトをメモリから削除する場合には、処理負荷が低いオブジェクトを優先して削除することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−０２６２０５公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１における技術においては、配置対象のオブジェクトの配置順序については考慮されていない。そのため、配置順序が遅いオブジェクトであっても、処理負荷が高いオブジェクトであればメモリに記憶されたままとなる。
【０００７】
この場合、配置順序が遅いオブジェクトを記憶させておくために、配置順序が早いオブジェクトがメモリに記憶できないことがある。例えばオブジェクトを各ページに順次配置するときに、後半のページにのみ用いるオブジェクトがメモリに記憶されており、配置順序の早い前半のページに配置されるオブジェクトがメモリに記憶できない場合がある。
【０００８】
このとき、メモリに記憶できなかったオブジェクトについては、オブジェクトが配置されるたびに、オブジェクトに対する受信処理や描画処理を繰り返し行わなければならないことがある。これにより、オブジェクトの取得処理や描画処理に多くの処理負荷、処理時間が必要になってしまうことがある。
【０００９】
そこで本発明は、オブジェクトを簡単かつ迅速に配置して、オブジェクトが配置された画像を出力することができる画像処理装置、画像処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の課題を鑑みて本発明の画像処理装置は、オブジェクト、及び出力対象の画像において当該オブジェクトが配置される配置位置と当該オブジェクトの配置順序とを特定するためのレイアウト情報を取得する取得手段と、前記取得手段により複数のオブジェクトが取得された場合に、前記取得手段により取得された前記レイアウト情報により特定された、当該複数のオブジェクトのそれぞれの、前記出力対象の画像に配置される配置順序に基づき、前記複数のオブジェクトのうちの記憶対象のオブジェクトを決定する決定手段と、前記複数のオブジェクトのうちの、前記決定手段により決定された記憶対象のオブジェクトを、繰り返し利用可能にメモリに記憶させる記憶制御手段と、前記記憶制御手段により前記メモリに記憶されたオブジェクトを繰り返し利用することによって、前記複数のオブジェクトのそれぞれを、前記レイアウト情報により特定された配置位置に、当該レイアウト情報により特定される配置順序に従って配置し、当該複数のオブジェクトが配置された前記出力対象の画像を出力する出力手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によって、オブジェクトを簡単かつ迅速に配置して、オブジェクトが配置された画像を出力することができる。
【図面の簡単な説明】
【００１２】
【図１】印刷処理のデータフローである。
【図２】印刷制御システムの構成例を示すブロック図である。
【図３】オブジェクトのデータベースである。
【図４】描画データ制御方法のフローチャートである。
【図５】印刷処理のデータフローである。
【図６】描画データ制御方法のフローチャートである。
【図７】バリアブル印刷の印刷結果の一例である。
【発明を実施するための形態】
【００１３】
（実施例１）
本実施例では、クライアント・コンピュータがバリアブル印刷サーバにオブジェクトを送信して、サーバにおいてオブジェクトの配置位置の決定、描画処理を行い、オブジェクトが配置された画像をプリンタに印刷させるシステムについて説明する。
【００１４】
また本実施例では、クライアント・コンピュータが、オブジェクトとともに、配置対象のオブジェクト、またそのオブジェクトの配置位置、オブジェクトが配置される順序を特定するためのレイアウト定義情報をサーバに送信する例を示す。
【００１５】
さらに、サーバは、複数の配置位置に繰り返し利用可能なオブジェクト（再利用オブジェクト）を予めメモリに格納している。そして、レイアウト情報とともにクライアント・コンピュータから受信したオブジェクト（可変オブジェクト）と組み合わせて配置し、印刷を行うバリアブル印刷を行う。
【００１６】
本実施例では特に、レイアウト情報により特定される処理順序が近いオブジェクトを、優先的にメモリに記憶させる例を示す。これにより、オブジェクトの受信処理、また描画処理のための処理負荷を低減させる。
【００１７】
また、こうしたバリアブル印刷を実現する技術の一つにＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）がある。このＰＰＭＬはＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）の一種である。ＰＰＭＬにおいて印刷ジョブは、各ページに配置されるオブジェクトのレイアウトを示すレイアウト定義情報と、各オブジェクトを示すデータであるオブジェクトファイルからなる。なお、本実施例ではバリアブル印刷を実現するための言語としてＰＰＭＬを例に説明するが、オブジェクトの使用回数が記載可能な言語であればよく、ＰＰＭＬに限定されるものではない。
【００１８】
上記のレイアウト定義情報には、各ページに配置するオブジェクトを特定するための情報と、そのオブジェクトの配置位置を定義する情報が記述されているレイアウト情報である。このレイアウト定義情報は、印刷対象の複数のページに対応する情報を含み、レイアウト定義情報により各ページに配置されるオブジェクトと、ページにおけるオブジェクトの配置位置を特定することができる。一方、オブジェクトファイルはＰｏｓｔｓｃｒｉｐｔ（商標）やＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、ＪＰＥＧなどの画像を描画するためのオブジェクトである。
【００１９】
ＰＰＭＬで再利用オブジェクトに名前を定義し、以降その名前でオブジェクトを再利用する仕様を備えている。ＰＰＭＬの印刷において、再利用オブジェクトに関しては何度もデータ転送や描画をせずに１回だけ行い記憶領域に保存しておき、再利用する場合はそれを呼び出すという制御を行う。そうした制御を行うことにより、データ転送や描画を何度も行わないようにして処理負荷を低減することができる。
【００２０】
図２は、本実施例における印刷制御システムの構成例を示すブロック図である。
１００はクライアント・コンピュータ、１１０はバリアブル印刷サーバ、１９０はプリンタである。クライアント・コンピュータ１００は、ユーザが印刷物生成や印刷実行等を行う情報処理装置である。バリアブル印刷サーバ１１０は、バリアブル印刷に対応した印刷ジョブを受信してバリアブル印刷データを生成する画像処理装置である。プリンタ１９０は、生成したページデータを受信してメディアに画像を形成する画像形成装置である。
【００２１】
バリアブル印刷サーバ１１０の構成を説明する。２１１はＣＰＵ、２１２はＲＯＭ、２１３はＲＡＭ、２１４はホストインターフェース制御部、２１５はプリンタインターフェース制御部、２１６はＨＤＤ制御部、２１７はＨＤＤ（ハード・ディスク・ドライブ）である。ＣＰＵ２１１は、ＲＯＭ２１２またはＨＤＤ２１７に格納されたプログラムを実行することによりサーバの制御を行う。ＲＯＭ２１２は読み出し可能なメモリでありサーバを制御するプログラムを格納している。ＲＡＭ２１３は、読み書き可能なメモリであり、プログラムの実行のためのワークメモリ、またデータの格納領域として使用する。ホストインターフェース制御部２１４はクライアント・コンピュータとの通信を行い、印刷ジョブの受信などを行う。プリンタインターフェース制御部２１５はプリンタとの通信を行い、印刷データの送信などを行う。ＨＤＤ制御部２１６はＨＤＤ２１７の制御を行う。ＨＤＤ２１７はプログラムの格納や印刷データの一時的な記憶を行う。
【００２２】
なお、図２ではバリアブル印刷サーバとプリンタは別の装置とした例を示したが、本発明はバリアブル印刷サーバの機能を有する画像形成装置においても同様に実施可能である。また上記構成は実施形態の一例であり、同様の効果を得ることが可能なシステムであれば本発明の範囲に含まれる。
【００２３】
図１は、本実施例における印刷処理のデータフローである。本データフローは図２におけるＣＰＵ２１１がプログラムを実行することによって制御される。ここで、点線はレイアウト定義情報および制御の方向を示し、実線はオブジェクトファイルおよびその描画したデータを示している。
【００２４】
クライアント・コンピュータ１００はバリアブル印刷アプリケーション１０１を有する。バリアブル印刷アプリケーション１０１は、ユーザのドキュメント作成や、印刷実行時にはバリアブル印刷可能な印刷ジョブ１０２を生成する。印刷ジョブ１０２は、バリアブル印刷に対応したレイアウト定義情報と１つ以上のオブジェクトから構成される。
【００２５】
レイアウト定義情報は再利用オブジェクトの宣言文、各ページのレイアウト情報等が記述された情報である。再利用オブジェクトの宣言文にはオブジェクトの名称、オブジェクトのフォーマット、オブジェクトが格納されている格納場所の情報等が記載されている。レイアウト情報には各ページにおいて使用されるオブジェクトの名称と、そのオブジェクトを配置する座標の情報が記述されている。
【００２６】
バリアブル印刷サーバ１１０は、記憶媒体１２０を有し、オブジェクト記憶領域１２１、描画データ記憶領域１２２、合成データ記憶領域１２３に分かれている。記憶媒体１２０は、本実施例においてはハード・ディスク・ドライブを想定しているが、これに限定するものではなく、画像データ等を保存するための記憶機能を備える手段であれば形態には限定されない。
【００２７】
各構成部の機能を説明する。バリアブル印刷言語解釈部１１１は、バリアブル印刷に対応した印刷ジョブを受信する。この印刷ジョブには、レイアウト情報とオブジェクトファイルが含まれている。バリアブル印刷言語解釈部１１１は、レイアウト定義情報をレイアウト定義情報解釈部１１２に送り、オブジェクトファイルをオブジェクト記憶領域１２１に保存する。なお、オブジェクトファイルは、文字のテキストデータ、ベクター画像データ、ビットマップデータ等の各種のデータである。
【００２８】
レイアウト定義情報解釈部１１２は、オブジェクト情報をデータベース１１４に送る。また、ページごとのオブジェクトとその配置情報をレイアウト決定部１１５に送る。データベース１１４は印刷ジョブに使用されるオブジェクトの属性を示すデータベースである。本データベースの詳細は図３で説明する。
【００２９】
レイアウト決定部１１５は、あるページの印刷を始めたとき、そのページで使用するオブジェクトの情報を描画データ制御部１１６に送り、そのオブジェクトの配置情報をオブジェクト合成部１１８に送る。描画データ制御部１１６は、データベース１１４の情報に基づき、オブジェクトを描画した状態で保存しておくか否かの決定を行う。この決定によりオブジェクト描画部１１７や描画データ記憶領域１２２の制御を行う。なお、このとき描画データ制御部１１６は、再利用オブジェクトのうちの、利用順序の近いオブジェクトを優先するように、描画データ記憶領域１２２への記憶対象のオブジェクトを決定する。この決定方法については後述する。
【００３０】
オブジェクト描画部１１７は、オブジェクト記憶領域１２１に保存されているオブジェクトを描画する。この描画処理において、オブジェクトがビットマップデータである場合には、改めて描画処理を行う必要がない。そのため、オブジェクト記憶領域１２１に記憶されているデータを、描画データ記憶領域に移動させる。このときオブジェクト描画部１１７は、描画データ制御部１１６の上記の決定処理の結果により、描画データ記憶領域１２２に保存するか、オブジェクト合成部１１８に送信するかを切り換える。
【００３１】
オブジェクト合成部１１８は、オブジェクト描画部１１７もしくは描画データ記憶領域１２２から受信した描画データを、レイアウト決定部１１５から受信した配置情報により合成する。オブジェクトが合成された画像データは、合成データ記憶領域１２３に保存される。プリンタ制御部１１９は、合成データ記憶領域１２３に保存された合成ページデータをプリンタ１９０に送信する。プリンタ１９０は、バリアブル印刷サーバ１１０から受信した合成ページデータに基づき、画像を印刷する。さらに、プリンタ制御部１１９は、１ページの印刷処理が終了するたびに、その終了を描画データ制御部１１６に通知する。
【００３２】
オブジェクト記憶領域１２１は、バリアブル印刷サーバ１１０が、クライアント・コンピュータ１００から受信したオブジェクトを保存する記憶領域である。描画データ記憶領域１２２は、再利用オブジェクトを保存する記憶領域である。合成データ記憶領域１２３は、オブジェクトを配置後のページデータを保存する記憶領域である。
【００３３】
図３は本実施例における、オブジェクトの属性を示すデータベースである。
３１０はオブジェクトの名称である。３２０はオブジェクトのデータ元を示している。３３０はオブジェクトタイプを示している。３２０に記述されたデータ元に関する情報は統一資源識別子（ＵＲＩ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）と呼ばれる所定の書式によってリソースを指し示す識別子で記述される。統一資源識別子はｈｔｔｐやｆｔｐなどから始まる所定の書式によってリソースを示すことができる。オブジェクトタイプ３３０は、再利用オブジェクトであるか可変オブジェクトであるかを示している。
【００３４】
図４は実施例１における、描画データ制御方法のフローチャートである。このフローチャートは、バリアブル印刷サーバ１１０のＣＰＵ２１１が、ＲＯＭ２１２に記憶されているプログラムを、ＲＡＭ２１３をワークメモリとして実行することによって実現される。本制御フローについて、変数Ｊは描画対象のページを示し、変数Ｎは印刷対象のページを示す。
【００３５】
最初に描画データ制御部とオブジェクト合成部の処理フローを説明する。印刷動作を開始するとＳ４０１においてレイアウト定義情報とオブジェクト情報を受信する。次にＳ４０２において描画ページのカウンタＪを初期化する。
【００３６】
Ｓ４０３では描画ページカウンタＪをインクリメントする。Ｓ４０４では、レイアウト定義情報解釈部１１２がレイアウト定義情報を解析することにより、ページＪに配置される配置対象のオブジェクトを検出する。Ｓ４０５ではページＪで使用する再利用オブジェクトは全て描画済か判断する。全て描画済ならばＳ４０９に進み、描画していないオブジェクトがある場合はＳ４０６に進む。Ｓ４０６では描画データ記憶領域の残容量が所定の容量以上あるか判断する。所定の容量以上ない場合、Ｓ４０７に進む。なお、この所定の容量は、１ページに配置されるオブジェクトの描画データを記憶するために十分な容量であるとする。
【００３７】
Ｓ４０７ではプリンタ制御部からの何ページまで印刷が終了したかという印刷終了情報を取得する。そして、既に印刷が終了したページＮからこれから描画するページＪの間で、配置対象とならないオブジェクトを描画データ記憶領域から削除する。そしてＳ４０６の判断に戻る。これにより、ページＮから当該描画対象のページＪまでの印刷で使用されない描画データを削除することができる。
【００３８】
Ｓ４０６において、描画データの記憶領域の残容量が所定の容量以上あると判断された場合、Ｓ４０８に進む。Ｓ４０８では、オブジェクト描画部１１７が、ページＪに配置されるオブジェクトのうちの、描画していない再利用オブジェクトを描画して、描画された画像を、描画データ記憶領域に保存する。よって、Ｓ４０７の削除処理、Ｓ４０８の記憶制御処理により、ページＪに配置されるオブジェクトを、ページＮからページＪで配置対象とならないオブジェクトに上書きして、メモリに記憶させることができる。
【００３９】
なお、Ｓ４０７において削除対象のオブジェクトがない場合、ページＪにおける再利用オブジェクトの一部を描画する。そして、この場合、Ｓ４０６において描画データ記憶領域に所定の記憶容量の空きがなかったとしても、Ｓ４０８において、描画データ記憶領域に記憶できる範囲で、オブジェクトの描画データを記憶させる。
【００４０】
Ｓ４０９では、オブジェクト描画部１１７が、ページＪに配置される未描画のオブジェクトを描画し、オブジェクト合成部１１８が、Ｓ４０８で描画データ記憶領域に記憶された画像と、Ｓ４０９で描画された画像を合成してページＪのページデータを生成する。上記の未描画のオブジェクトとは、可変オブジェクトと、再利用オブジェクトのうちのまだ描画を行っていないオブジェクトである。Ｓ４１０では、プリンタ制御部１１９に対して、Ｓ４０９で生成されたページＪのページデータの印刷許可命令が送信される。
【００４１】
Ｓ４１１では全ページが終了したか判断する。まだ全ページが終了していない場合、Ｓ４０３に戻り次のページの処理を開始する。全ページが終了した場合、処理を完了する。
【００４２】
次に、プリンタ制御部１１９の処理フローを説明する。Ｓ４５１では印刷ページのカウンタＮを初期化する。Ｓ４５２では印刷ページカウンタＮをインクリメントする。Ｓ４５３ではＳ４１０からの印刷許可命令を受信する。するとＳ４５４で、ページＮの印刷データをプリンタに送信することにより、ページＮの印刷を実行する。そして、Ｓ４５５では、描画データ制御部１１６に、ページＮの印刷終了情報を送信する。なお、Ｓ４５５で送信された情報は、上述のＳ４０７において使用される。このように、ページＮの印刷処理が終了したことが確認されてから、オブジェクトが削除されるので、印刷が終了したオブジェクトを適切に削除することができる。
【００４３】
Ｓ４５６では全ページが終了したか判断する。まだ全ページが終了していない場合、Ｓ４５２に戻り次のページの処理を開始する。全ページが終了した場合、処理を完了する。
【００４４】
以上のフローの処理を行うことにより、印刷が終了したページから当該描画対象のページまでに使用されないオブジェクトが優先的に描画データ記憶領域から削除される。そして、当該描画対象のページで使用される再利用オブジェクトが描画データ記憶領域に記憶される。従って、当該処理対象のページ以降に使用される再利用オブジェクトを、優先的に描画し、描画された画像を、描画データ記憶領域に記憶させることができる。
【００４５】
図７は本実施例における、バリアブル印刷の印刷結果の一例である。７０１〜７０４は印刷ページであり、７１１〜７１５はオブジェクトである。この例の場合、オブジェクト７１２は顧客の氏名であり、他の印刷ページで再利用されることはない可変オブジェクトである。
【００４６】
オブジェクト７１１、７１３〜７１５は再利用オブジェクトであり、複数のオブジェクトで繰り返し利用することができる。特に、オブジェクト７１１、７１３についてはすべての印刷ページにおいて再利用される。オブジェクト７１４、７１５は顧客の属性により差し替えられる。例えばオブジェクト７１４は「各店舗における特売品」を表示しており、顧客の住所から最も近い店舗の情報を掲載している。また７１５は「嗜好に応じた特売品」を表示しており、顧客の嗜好に合う情報を掲載している。
【００４７】
バリアブル印刷サーバに十分な記憶容量がありオブジェクト７１１、７１３〜７１５の再利用オブジェクトを全て格納すれば問題ないが、描画データ記憶領域に制限があるため全て格納できない場合も考えられる。そこで、本実施例では上述のように、これから印刷を実行する印刷ページに使用されるオブジェクトを優先してメモリに保存する。
【００４８】
例えば、ページ１の印刷を実行している場合には７１１〜７１５のオブジェクトが保存されている。Ｓ４０６の判断により、記憶領域が所定の記憶容量以上の空き領域がある場合は、Ｓ４０８においてページ２のオブジェクトを描画して保存する。ここで、７１１、７１３のオブジェクトは既にメモリに保存されているので、他の７１６、７１７、７１８のオブジェクトを描画して保存する。Ｓ４０６において、記憶領域がまだ所定の記憶容量以上の空き領域があると判定された場合は、ページ３のオブジェクトを描画して保存する。７１１、７１３、７１４のオブジェクトは既に保存されているので、他の７１９、７２０のオブジェクトを描画して保存する。
【００４９】
ここで、仮にページ４の描画処理を行うときに、Ｓ４０６においてメモリが所定の記憶容量以下の空き領域と判定された場合、ページ１の印刷が終了するまで描画処理を中止する。そして、Ｓ４５５において送信された印刷終了情報により、ページ１の印刷処理が終了が確認されたら、Ｓ４０７において、ページ２〜４の間で使用しないオブジェクトを削除する。この場合、再利用オブジェクト７１４、７１５をメモリから削除し、ページ４で使用されるオブジェクト７２２、７２３が新たに描画される。よって、印刷に先だって、印刷に必要なオブジェクトの描画データを保存できるので、印刷を速くすることができる。
【００５０】
なお、本実施例では再利用オブジェクトの保存形式を描画ファイル（ラスターデータ）としたがそれに限定されるものではない。例えば、複数の形式のオブジェクトファイルから画像形成装置内の中間データを生成する処理負荷が大きく、中間データから描画データに変換する処理負荷が小さいシステムにおいて、保存する形式が中間データであってもよい。その場合、オブジェクト描画部は中間データ生成手段とし、描画データ記憶領域は中間データ記憶領域と置き換えればよい。
【００５１】
また、本実施例では描画データ記憶領域の残容量がある限り描画ページカウンタＪが進む制御をしているが、印刷ページカウンタＮに対してＪ＜Ｎ＋Ｍ（Ｍは所定の固定値）として、印刷ページＮからＭページ分だけ描画する制御をしてもよい。このように描画ページカウンタＪの制限を設けることにより、本実施例の効果を得つつも、記憶領域の占有を防ぐことができる。この制御は特に、単一のバリアブル印刷サーバに対して、複数のクライアント・コンピュータと複数のプリンタのバリアブル印刷処理を行う場合に、サーバの記憶領域を占有しないように制御する方法として有効である。
【００５２】
また、本実施例において、オブジェクトの拡大・縮小・回転を伴う場合は次のように制御する。オブジェクトの拡大・縮小・回転の処理を描画前に行う場合は、拡大率・回転角度ごとに別のオブジェクトとして使用の有無を判断する。再利用オブジェクトは拡大率・回転角度ごとに描画データ記憶領域に保存されるためである。一方、オブジェクトの拡大・縮小・回転の処理を描画後に行う場合は、拡大率・回転角度に関係なくオブジェクトの使用の有無を判断する。描画データ記憶領域に保存されたデータを再利用して拡大・縮小・回転をすることができるためである。
【００５３】
さらに、本実施例では、ページＮから当該描画対象のページＪまでに使用されないオブジェクトを削除対象としていたが、これに限らず、ページＪから所定のページ数までに配置対象となっているオブジェクトを特定するようにしてもよい。そして、当該ページから所定のページ数までに配置対象となっていないオブジェクトを削除することで、より適切にオブジェクトの削除を行うことができる。特に、最終ページまでに配置されるオブジェクトを特定すれば、当該レイアウト定義情報の印刷において既に不要なオブジェクトを、メモリから削除することができ、最終ページまでに描画データが必要なオブジェクトを、メモリに記憶させることができる。
【００５４】
なお、本実施例では、ぺージごとに記憶対象のオブジェクトの決定、オブジェクトの記憶を行っていた。しかし、これに限らず、レイアウト情報を解析して、全ページにおけるオブジェクトの配置順序を取得し、記憶対象のオブジェクトや、印刷後に削除されるオブジェクトを決定してから、実際のオブジェクトの記憶や印刷を実行してもよい。
【００５５】
（実施例２）
以上の実施例では、バリアブル印刷サーバに記憶されている複数のオブジェクトのそれぞれの使用順序に応じて、その複数のオブジェクトのうちの、描画処理を行うオブジェクトを決定していた。本実施例は、バリアブル印刷サーバに記憶させる記憶対象のオブジェクトを決定する。そして、記憶対象として決定されなかったオブジェクトについては、そのオブジェクトが配置されるたびに、クライアント・コンピュータから受信する。なお、本実施例において、印刷制御システムは図２、オブジェクトのデータベースは図３と同様である。
【００５６】
図５は、本実施例における印刷処理のデータフローである。本データフローは図２におけるＣＰＵ２１１がプログラムを実行することによって制御される。点線はレイアウト定義情報および制御の方向を示し、実線はオブジェクトファイルおよびその描画したデータを示している。
【００５７】
５００はクライアント・コンピュータ、５１０はバリアブル印刷サーバ、５９０はプリンタである。クライアント・コンピュータ５００は、ユーザが印刷物生成や印刷実行等を行う情報処理装置である。バリアブル印刷サーバ５１０は、バリアブル印刷に対応した印刷ジョブを受信してバリアブル印刷データを生成する画像処理装置である。プリンタ５９０は、バリアブル印刷サーバ５１０が生成したページデータを受信してメディアに画像を形成する画像形成装置である。
【００５８】
クライアント・コンピュータ５００は次の機能を有する。５０１はバリアブル印刷アプリケーション、５０２は印刷ジョブである。バリアブル印刷アプリケーション５０１は、ユーザのドキュメント作成や、印刷実行時にはバリアブル印刷可能な印刷ジョブ５０２を生成する。印刷ジョブ５０２は、バリアブル印刷に対応したレイアウト定義情報と１つ以上からなるオブジェクトから構成される。
【００５９】
記憶媒体５２２は、本実施例についてはハード・ディスク・ドライブを想定しているが、これは本発明の実施形態を限定するものではなく、画像データ等を保存するための記憶機能を備える手段であれば形態には限定されない。
【００６０】
各構成部の機能を説明する。レイアウト定義情報解釈部５１２は、レイアウト定義情報を取得し、オブジェクト情報をデータベース５１４に送る。また、ページごとのオブジェクトとその配置情報をレイアウト決定部５１５に送る。データベース５１４は印刷ジョブに使用されるオブジェクトの属性を示すデータベースである。本データベースは実施例１と同様に図３の構成である。
【００６１】
レイアウト決定部５１５は、あるページの印刷を始めたとき、そのページで使用するオブジェクトの情報をオブジェクト制御部５１６に送り、そのオブジェクトの配置情報をオブジェクト合成部５２０に送る。オブジェクト制御部５１６は、データベース５１４の情報に基づき、オブジェクトをオブジェクト記憶領域５２３に記憶させておくかどうかの決定を行う。この決定により、オブジェクト呼出部５１７やオブジェクト受信部５１８、オブジェクト記憶領域５２３の制御を行う。この決定方法については後述する。
【００６２】
オブジェクト描画部５１９は、オブジェクト受信部５１８により受信したオブジェクトおよびオブジェクト記憶領域５２３に保存されていたオブジェクトを描画する。オブジェクト描画部５１９により描画された画像は、オブジェクト合成部５２０に送信される。オブジェクト合成部５２０は、オブジェクト描画部５１９から受信した描画データを、レイアウト決定部５１５から受信した配置情報により合成する。このように、描画データが合成されたページデータは合成データ記憶領域５２４に保存される。プリンタ制御部５２１は、合成データ記憶領域５２４に保存されている合成ページデータをプリンタに送信する。さらにページごとの印刷を終了すると、その情報をオブジェクト制御部５１６に送信する。
【００６３】
オブジェクト記憶領域５２３は、クライアント・コンピュータ５００から受信した再利用オブジェクトを保存するための記憶領域である。合成データ記憶領域５２４は、オブジェクトを配置後のページデータを保存する記憶領域である。
【００６４】
図５に示したシステムにおいて、オブジェクト制御部５１６は、オブジェクト記憶領域５２３に記憶されているオブジェクトを繰り返し使用することができるため、オブジェクトを配置するたびに、クライアント・コンピュータ５００から受信する必要はない。
【００６５】
しかしながら、オブジェクト記憶領域５２３の記憶容量には制限がある。そのため、本実施例では、オブジェクト制御部５１６が、レイアウト定義情報に基づき、配置対象となっているオブジェクトの配置順序に基づき、オブジェクト記憶領域５２３に記憶させておくオブジェクトを決定する。具体的には、印刷済みのページから、現在描画を行っているページまでに配置されないオブジェクトを削除し、当該描画対象のページに配置されるオブジェクトを優先的に記憶するようにする。
【００６６】
なお、図５ではバリアブル印刷サーバとプリンタは別の装置とした例を示したが、本発明はバリアブル印刷サーバの機能を有する画像形成装置においても実施可能である。また上記構成は実施形態の一例であり、同様の効果を得ることが可能なシステムであれば本発明の範囲に含まれる。
【００６７】
図６は実施例２における、描画データ制御方法のフローチャートである。本制御フローについて、変数Ｊは使用するオブジェクトの保存対象のページを示し、変数Ｎは印刷対象のページを示す。上記の図４と重複する部分については、説明を省略する。
【００６８】
最初に描画データ制御部の処理フローを説明する。印刷動作を開始するとＳ６０１においてレイアウト定義情報を受信する。なお、レイアウト定義情報には、印刷対象の各ページに配置される配置対象のオブジェクトと、配置対象のオブジェクトが配置される配置位置とが指定されている。本実施例においては、バリアブル印刷サーバ５１０がオブジェクトを受信する前に、レイアウト定義情報を受信する。そして、レイアウト定義情報に基づき、配置対象のオブジェクトの配置順序が特定して、その配置順序に従って、受信、記憶の対象とするオブジェクトを決定する。
【００６９】
Ｓ６０２〜Ｓ６０４の処理は、図４のＳ４０２〜Ｓ４０４の処理と同様である。
【００７０】
Ｓ６０５ではページＪで使用する再利用オブジェクトが、オブジェクト記憶領域５２３に全て保存済か判断する。全て保存済ならばＳ６０９に進み、保存していないオブジェクトがある場合はＳ６０６に進む。Ｓ６０６ではオブジェクト記憶領域の残容量が所定の容量以上あるか判断する。所定の容量以上ない場合、Ｓ６０７に進む。
【００７１】
Ｓ６０７では、図４のＳ４０７と同様に、プリンタ制御部５２１からの何ページまで印刷が終了したかという印刷終了情報を取得する。そして、既に印刷が終了したページＮからこれからオブジェクトを保存するページＪの間で使用しないオブジェクトをオブジェクト記憶領域から削除する。そして、Ｓ６０６の判断に戻る。Ｓ６０６でオブジェクト記憶領域の残容量が所定の容量以上ある場合、Ｓ６０８に進む。Ｓ６０８では、ページＪで使用するオブジェクトをクライアント・コンピュータから受信して、オブジェクト記憶領域に保存する。
【００７２】
なお、Ｓ６０７において削除対象のオブジェクトがない場合、ページＪにおける再利用オブジェクトの一部を受信するようにする。そして、この場合、Ｓ６０６においてオブジェクト記憶領域に所定の記憶容量の空きがなかったとしても、Ｓ６０８において、描画データ記憶領域に記憶できる範囲で、オブジェクトを受信する。
【００７３】
Ｓ６０９では、オブジェクト呼出部５１７とオブジェクト受信部５１８とにより、ページＪに配置されるオブジェクトのうちの未だ受信を行っていないオブジェクトの受信を行う。この未だ受信を行っていないオブジェクトとは、可変オブジェクトと、再利用オブジェクトのうちの、オブジェクト記憶領域に記憶できなかったオブジェクトである。そして、オブジェクト記憶領域に既に記憶されているオブジェクトと、Ｓ６０９で受信したオブジェクトを、オブジェクト描画部５１９により描画する。そして、オブジェクト合成部５２０において、描画済みの画像を合成してページＪのページデータを生成する。
【００７４】
Ｓ６０９、Ｓ６１０、Ｓ６５１〜Ｓ６５５の処理は、図４で示したＳ４１０、Ｓ４１１、Ｓ４５１〜Ｓ４５６の処理と同様であるため、説明を省略する。
【００７５】
以上のフローの処理を行うことにより、印刷が終了したページから当該描画対象のページまでに使用されないオブジェクトが優先的にオブジェクト記憶領域から削除される。そして、当該描画対象のページで使用される再利用オブジェクトがクライアント・コンピュータから受信されて、オブジェクト記憶領域に記憶される。従って、当該処理対象のページ以降に使用される再利用オブジェクトを、優先的にオブジェクト記憶領域に記憶させることができる。
【００７６】
以上の実施例によれば、オブジェクトの配置順序を参照することにより、描画データが必要なオブジェクトを優先的にメモリに記憶させるようにして、そのメモリに記憶されているオブジェクトを繰り返し利用することで、オブジェクトを配置することができる。そして、印刷が終了し、描画データが必要でなくなったオブジェクトを削除するようにする。よって、仮に再利用オブジェクトの全てをメモリに記憶できない場合であっても、描画データが必要なオブジェクトをメモリに記憶させることができるため、バリアブル印刷サーバがオブジェクトの受信処理や描画処理を行う回数を抑えることができる。これにより、バリアブル印刷のための処理負荷や処理時間を少なくすることができる。
【００７７】
なお、以上の実施例では、再利用オブジェクトを格納するメモリの残容量が不足している場合に、描画データ制御部１１６、オブジェクト制御部５１６が、印刷終了情報の受信と、印刷が終了しているページに配置されたオブジェクトの削除を行っていた。
【００７８】
しかし、これに限らず、ページの印刷が終了するたびに、そのページの印刷終了情報を受信して、オブジェクトの削除を行う前に、削除候補のオブジェクトを予め決定していてもよい。例えば、バリアブル印刷サーバ内のメモリに、再利用オブジェクトとしてメモリに既に記憶してあるオブジェクトのそれぞれに対応する削除フラグを設定する。そして、ページごとに受信した印刷終了情報に基づき、既に印刷が終了しているオブジェクトの削除フラグを「１」に設定しておく。そして、メモリの残容量が不足していると判断された場合に、削除フラグが「１」に設定されているオブジェクトをメモリから削除するようにしてもよい。
【００７９】
また、印刷が終了したオブジェクトをメモリから削除するタイミングは、メモリの残容量が不足していると判断されたときに限らず、印刷が終了したと判断されたときに削除するようにしてもよい。そして、オブジェクトの削除に応じて、新たに配置されるオブジェクトを、再利用オブジェクトとしてメモリに記憶させるようにしてもよい。
【００８０】
さらに、以上の実施例におけるオブジェクトの削除は、メモリに記憶されているオブジェクトの実データを削除してもよいし、メモリに記憶されているデータを参照するためのテーブルから、削除対象のデータの参照情報を削除するようにしてもよい。参照情報が削除された場合には、その参照情報により参照される実データに上書き可能な状態となる。従って、削除対象データの参照情報を削除することで、メモリに実データが残っていたとしても、その削除対象のデータをメモリから削除したということができる。
【００８１】
また、以上の実施例では再利用オブジェクトの保存形式を描画ファイル（ラスタデータ）としたがそれに限定されるものではない。例えば、複数の形式のオブジェクトファイルから画像形成装置内の中間データを生成する処理負荷が大きく、中間データから描画データに変換する処理負荷が小さいシステムにおいて、保存する形式が中間データであってもよい。その場合、オブジェクト描画部は中間データ生成手段とし、描画データ記憶領域は中間データ記憶領域と置き換えればよい。
【００８２】
また、本実施例では描画データ記憶領域の残容量がある限り保存対象ページカウンタＪが進む制御をしているが、印刷ページカウンタＮに対してＪ＜Ｎ＋Ｍ（Ｍは所定の固定値）として、印刷ページＮからＭページ分だけ描画する制御をしてもよい。このように保存対象ページカウンタＪの制限を設けることにより、本発明の効果を得つつも、記憶領域の占有を防ぐことができる。この制御は特に、単一のバリアブル印刷サーバに対して、複数のクライアント・コンピュータと複数のプリンタのバリアブル印刷処理を行う場合に、サーバの記憶領域を占有しないように制御する方法として有効である。
【００８３】
なお、以上の実施例では、オブジェクトの配置順序に応じて、配置処理が初めの方に実行されるオブジェクトを、優先的にメモリへ記憶させることで、後に配置されるオブジェクトがメモリを占領してしまうことを防いでいた。
【００８４】
しかし、これに限らず、オブジェクトの処理負荷に応じて、印刷対象のページや、印刷ジョブの印刷順序を変更するようにしてもよい。例えば、複数の印刷ジョブを処理する場合に、処理負荷が高い再利用オブジェクトが配置される印刷ジョブを優先的に処理し、その印刷ジョブの印刷完了を確認した後で、上記の再利用オブジェクトをメモリから削除する。これにより、後の方で処理される印刷ジョブで配置されるオブジェクトが、メモリを占領してしまうことを防ぐことができる。
【００８５】
また、上記の構成に限らず、バリアブル印刷プリンタがバリアブル印刷データサーバの機能を有し、バリアブル印刷プリンタ内に、再利用オブジェクトを格納してもよい。
【００８６】
さらに、以上の実施例では、バリアブル印刷としてＰＰＭＬを例として説明したが、他の言語であっても同様に再利用データの利用範囲を示す情報であれば本発明と同様の効果を得ることができる。
【００８７】
なお、以上の実施例では、オブジェクトが配置された出力対象の画像を、印刷装置で印刷する例について示したが、これに限らず、表示や、転送など、各種の出力処理に適用できるものである。
【００８８】
また、以上の実施例は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。例えば、処理内容の一部あるいは全てをプログラム化したコードをＲＯＭへ格納してＣＰＵにて実行する方法であってもよい。また、上記のプログラムを１つのコンピュータ（ＣＰＵやＭＰＵ）が実行する場合であってもよいし、複数のコンピュータが協働することにより実行する場合であってもよい。
【符号の説明】
【００８９】
１００  クライアント・コンピュータ
１１０  バリアブル印刷サーバ
２１１  ＣＰＵ
２１２  ＲＯＭ
２１３  ＲＡＭ
１９０  プリンタ
【図１】
2013123116.tif 000003
【図２】
2013123116.tif 000004
【図３】
2013123116.tif 000005
【図４】
2013123116.tif 000006
【図５】
2013123116.tif 000007
【図６】
2013123116.tif 000008
【図７】
2013123116.tif 000009