(57)【要約】【課題】ＶＤＰ用の印刷データのような、再利用可能なオブジェクトを含む印刷データ処理時のメモリ使用量を削減する。【解決手段】再利用可能なオブジェクトを含む印刷データをラスタ形式の画像データに変換するための印刷データ処理装置は、印刷データを解析して各オブジェクトの中間言語データを生成し（Ｓ２０３）、生成した中間言語データをラスタライズして画像データを生成し、各オブジェクトがイメージオブジェクトであるかどうかを判定し（Ｓ２０５）、イメージオブジェクトであると判定された各オブジェクトが拡大イメージオブジェクトであるかどうかをさらに判定し（Ｓ２０６）、拡大イメージオブジェクトであると判定された各オブジェクトの再利用のために当該オブジェクトの中間言語データをメモリに保存する（Ｓ２０７）。【選択図】図１２
2011194742.tif 000002
【特許請求の範囲】
【請求項１】
再利用可能なオブジェクトを含む印刷データをラスタ形式の画像データに変換するための印刷データ処理装置であって、
前記印刷データを解析して各々の前記オブジェクトの中間言語データを生成するデータ解析部と、
前記データ解析部により生成された各々の前記中間言語データをラスタライズしてラスタ形式の画像データを生成するラスタライズ部と、
各々の前記オブジェクトがイメージオブジェクトであるかどうかを判定する第１判定部と、
前記第１判定部にイメージオブジェクトであると判定された各々の前記オブジェクトが、イメージ拡大の指定を有する拡大イメージオブジェクトであるかどうかをさらに判定する第２判定部と、
前記第２判定部に拡大イメージオブジェクトであると判定された前記オブジェクトの再利用のために、前記データ解析部により生成された当該オブジェクトの前記中間言語データを保持する記憶部と、を有する印刷データ処理装置。
【請求項２】
前記記憶部は、前記第２判定部に拡大イメージオブジェクトでないと判定された前記オブジェクトの再利用のために、前記ラスタライズ部により生成された当該オブジェクトの前記画像データを保持することを特徴とする請求項１に記載の印刷データ処理装置。
【請求項３】
各々の前記オブジェクトは、イメージオブジェクト、グラフィックスオブジェクト、又はテキストオブジェクトであり、
前記記憶部は、前記第１判定部にイメージオブジェクトでないと判定された前記オブジェクトの再利用のために、前記データ解析部が生成した当該オブジェクトの前記中間言語データをさらに保持することを特徴とする請求項１または２に記載の印刷データ処理装置。
【請求項４】
前記印刷データは、ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式の印刷データであることを特徴とする請求項１〜３のいずれか１つに記載の印刷データ処理装置。
【請求項５】
再利用可能なオブジェクトを含む印刷データをラスタ形式の画像データに変換するための印刷データ処理装置の制御プログラムであって、
前記印刷データを解析して各々の前記オブジェクトの中間言語データを生成する手順（Ａ）と、
前記手順（Ａ）で生成された各々の前記中間言語データをラスタライズしてラスタ形式の画像データを生成する手順（Ｂ）と、
各々の前記オブジェクトがイメージオブジェクトであるかどうかを判定する手順（Ｃ）と、
前記手順（Ｃ）でイメージオブジェクトであると判定された各々の前記オブジェクトが、イメージ拡大の指定を有する拡大イメージオブジェクトであるかどうかをさらに判定する手順（Ｄ）と、
前記手順（Ｄ）で拡大イメージオブジェクトであると判定された前記オブジェクトの再利用のために、前記手順（Ａ）で生成された当該オブジェクトの前記中間言語データを記憶装置に記憶させる手順（Ｅ）と、を前記印刷データ装置に実行させる制御プログラム。
【請求項６】
前記手順（Ｄ）で拡大イメージオブジェクトでないと判定された前記オブジェクトの再利用のために、前記手順（Ｂ）で生成された当該オブジェクトの前記画像データをさらに前記記憶装置に記憶させる手順（Ｆ）をさらに前記印刷データ処理装置に実行させることを特徴とする請求項５に記載の制御プログラム。
【請求項７】
前記オブジェクトは、イメージオブジェクト、グラフィックスオブジェクト、又はテキストオブジェクトであり、
前記手順（Ｃ）でイメージオブジェクトでないと判定された前記オブジェクトの再利用のために、前記手順（Ａ）で生成された当該オブジェクトの前記中間言語データをさらに前記記憶装置に記憶させる手順（Ｇ）をさらに前記印刷データ処理装置に実行させることを特徴とする請求項５または６に記載の制御プログラム。
【請求項８】
前記印刷データは、ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式の印刷データであることを特徴とする請求項５〜７のいずれか１つに記載の制御プログラム。
【請求項９】
請求項５〜８のいずれか１つに記載の制御プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＶＤＰ用の印刷データのような、再利用可能なオブジェクトを含む印刷データをラスタ形式の画像データに変換するための印刷データ処理装置、及び当該印刷データ処理装置の制御プログラムに関する。
【背景技術】
【０００２】
ダイレクトメールやクレジットカード明細書のような宛名人ごとに印刷内容が一部変化する印刷物の作成には、いわゆるバリアブルデータ印刷（“Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｐｒｉｎｔｉｎｇ”、以下、単に「ＶＤＰ」ともいう）技術が広く採用されている。一般に、ＶＤＰ用の印刷データは、レコードごとに変化する宛名人の氏名や住所等からなる可変データ部、及び全てのレコードで共通する発送元企業のロゴマークや定型の挨拶文等からなる固定データ部を含んでいる。
【０００３】
近年、ＶＤＰ向けにＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）と呼ばれるＸＭＬ（Ｅｘｔｅｎｓｉｖｅ  Ｍａｒｋｕｐ  Ｌａｕｇｕａｇｅ）ベースの文書フォーマットが策定されており、このＰＰＭＬによるＶＤＰの標準化が進められている。ＰＰＭＬ形式の印刷データには、固定データ部と可変データ部とが互いに区別された状態で格納されており、ＶＤＰ処理時には各々のデータ部に対して１回だけＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）が実行される。つまり、固定データ部に対するＲＩＰがレコード毎に繰り返し実行されるのではなく、メモリ上に保持されたＲＩＰ済みのデータが再利用されるので、ＲＩＰの繰り返しによるシステムの負荷を軽減することができる。
【０００４】
これに関連して、以下の特許文献１には、ＶＤＰ用のコンテンツデータをクライアントからプリンタに送信した後に、当該コンテンツデータに対するＲＩＰ後のラスタデータをプリンタ側でキャッシュに保存し、そのキャッシュを識別するためのキャッシュＩＤを含むプロキシデータをコンテンツデータの代わりに格納するＶＤＰデータをクライアント側で生成するＶＤＰシステムが提案されている。当該システムによると、コンテンツデータに対するＲＩＰとＶＤＰデータ生成処理とが並行して進められるため、ＶＤＰのスループットを改善することができる。
【０００５】
しかし、上記を含む従来のＶＤＰ技術によると、ジョブに含まれる全オブジェクトのラスタデータをメモリに同時に展開する必要があるため、写真画像のような大容量のオブジェクトを含むジョブの処理時にはメモリ不足による印刷エラーが発生する虞がある。また、メモリ不足を解消するためにＨＤＤ等の外部記憶装置を使用したとしても、一般に外部記憶装置へのアクセス速度はメモリへのアクセス速度よりも遥かに低速であるため印刷速度が大幅に低下することになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１７１０３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は上記従来技術の有する問題点に鑑みてなされたものであり、本発明の目的は、ＶＤＰ用の印刷データのような、再利用可能なオブジェクトを含む印刷データ処理時のメモリ使用量を削減することができる印刷データ処理装置、及び当該印刷データ処理装置の制御プログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明の上記目的は、下記の手段によって達成される。
【０００９】
（１）再利用可能なオブジェクトを含む印刷データをラスタ形式の画像データに変換するための印刷データ処理装置であって、前記印刷データを解析して各々の前記オブジェクトの中間言語データを生成するデータ解析部と、前記データ解析部により生成された各々の前記中間言語データをラスタライズしてラスタ形式の画像データを生成するラスタライズ部と、各々の前記オブジェクトがイメージオブジェクトであるかどうかを判定する第１判定部と、前記第１判定部にイメージオブジェクトであると判定された各々の前記オブジェクトが、イメージ拡大の指定を有する拡大イメージオブジェクトであるかどうかをさらに判定する第２判定部と、前記第２判定部に拡大イメージオブジェクトであると判定された前記オブジェクトの再利用のために、前記データ解析部により生成された当該オブジェクトの前記中間言語データを保持する記憶部と、を有する印刷データ処理装置。
【００１０】
（２）前記記憶部は、前記第２判定部に拡大イメージオブジェクトでないと判定された前記オブジェクトの再利用のために、前記ラスタライズ部により生成された当該オブジェクトの前記画像データを保持することを特徴とする上記（１）に記載の印刷データ処理装置。
【００１１】
（３）各々の前記オブジェクトは、イメージオブジェクト、グラフィックスオブジェクト、又はテキストオブジェクトであり、前記記憶部は、前記第１判定部にイメージオブジェクトでないと判定された前記オブジェクトの再利用のために、前記データ解析部が生成した当該オブジェクトの前記中間言語データをさらに保持することを特徴とする上記（１）または（２）に記載の印刷データ処理装置。
【００１２】
（４）前記印刷データは、ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式の印刷データであることを特徴とする上記（１）〜（３）のいずれか１つに記載の印刷データ処理装置。
【００１３】
（５）再利用可能なオブジェクトを含む印刷データをラスタ形式の画像データに変換するための印刷データ処理装置の制御プログラムであって、前記印刷データを解析して各々の前記オブジェクトの中間言語データを生成する手順（Ａ）と、前記手順（Ａ）で生成された各々の前記中間言語データをラスタライズしてラスタ形式の画像データを生成する手順（Ｂ）と、各々の前記オブジェクトがイメージオブジェクトであるかどうかを判定する手順（Ｃ）と、前記手順（Ｃ）でイメージオブジェクトであると判定された各々の前記オブジェクトが、イメージ拡大の指定を有する拡大イメージオブジェクトであるかどうかをさらに判定する手順（Ｄ）と、前記手順（Ｄ）で拡大イメージオブジェクトであると判定された前記オブジェクトの再利用のために、前記手順（Ａ）で生成された当該オブジェクトの前記中間言語データを記憶装置に記憶させる手順（Ｅ）と、を前記印刷データ装置に実行させる制御プログラム。
【００１４】
（６）前記手順（Ｄ）で拡大イメージオブジェクトでないと判定された前記オブジェクトの再利用のために、前記手順（Ｂ）で生成された当該オブジェクトの前記画像データをさらに前記記憶装置に記憶させる手順（Ｆ）をさらに前記印刷データ処理装置に実行させることを特徴とする上記（５）に記載の制御プログラム。
【００１５】
（７）前記オブジェクトは、イメージオブジェクト、グラフィックスオブジェクト、又はテキストオブジェクトであり、前記手順（Ｃ）でイメージオブジェクトでないと判定された前記オブジェクトの再利用のために、前記手順（Ａ）で生成された当該オブジェクトの前記中間言語データをさらに前記記憶装置に記憶させる手順（Ｇ）をさらに前記印刷データ処理装置に実行させることを特徴とする上記（５）または（６）に記載の制御プログラム。
【００１６】
（８）前記印刷データは、ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式の印刷データであることを特徴とする上記（５）〜（７）のいずれか１つに記載の制御プログラム。
【００１７】
（９）上記（５）〜（８）のいずれか１つに記載の制御プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の効果】
【００１８】
本発明によると、印刷データ中の再利用可能なオブジェクトの各々が、ＲＩＰによるサイズ増加の大きい拡大イメージオブジェクトであるかどうかが判定され、拡大イメージオブジェクトであると判定されたオブジェクトは、中間言語データの形態でメモリに保持され再利用されることになる。そのため、本発明によると、再利用可能なオブジェクトを含む印刷データ処理時のメモリ使用量を削減することができ、結果的に同処理の高速化を実現することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係る画像形成システムの構成を示すブロック図である。
【図２】本発明の一実施形態に係るＰＣの構成を示すブロック図である。
【図３】本発明の一実施形態に係るプリンタコントローラの構成を示すブロック図である。
【図４】本発明の一実施形態に係るプリンタコントローラのＲＡＭの構成を示すブロック図である。
【図５】本発明の一実施形態に係るプリンタエンジンの構成を示すブロック図である。
【図６】本発明の一実施形態に係るＶＤＰジョブを示す概略図である。
【図７】本発明の一実施形態に係るＶＤＰジョブを示す概略図である。
【図８】本発明の一実施形態に係るＶＤＰジョブを示す概略図である。
【図９】本発明の一実施形態に係るＶＤＰジョブを示す概略図である。
【図１０】本発明の一実施形態に係るリユーザブルオブジェクト管理テーブルを示す概略図である。
【図１１】本発明の一実施形態に係るＶＤＰジョブ解析・変換処理の手順を示すフローチャートである。
【図１２】本発明の一実施形態に係るデータ解析処理の手順を示すフローチャートである。
【図１３】本発明の一実施形態に係るラスタライズ処理の手順を示すフローチャートである。
【図１４】本発明の一実施形態に係るデータ解析処理の手順を示すフローチャートである。
【図１５】本発明の一実施形態に係るラスタライズ処理の手順を示すフローチャートである。
【図１６】本発明の一実施形態に係るＶＤＰジョブを示す概略図である。
【図１７】本発明の一実施形態に係る拡大／縮小イメージオブジェクトを示す概略図である。
【図１８】本発明の一実施形態に係る印刷設定用ＧＵＩ画面を示す概略図である。
【図１９】本発明の一実施形態に係る印刷設定用ＧＵＩ画面を示す概略図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００２１】
−システムの構成（図１〜１０）
図１は、本実施形態に係る画像形成システムＳの全体構成を示すブロック図である。図１のように、画像形成システムＳは、ＶＤＰ用の印刷ジョブを生成するクライアント装置としてのＰＣ１、及びＰＣ１から受信した印刷ジョブを実行する画像形成装置としてのプリンタ２を備えており、これらはネットワークＮを介して接続されている。ネットワークＮは、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格によるＬＡＮ、又はＬＡＮどうしを専用線で接続したＷＡＮ等である。なお、ＰＣ１とプリンタ２とはローカル接続されていてもよい。
【００２２】
ここで、図１のように、プリンタ２は、ＰＣ１から印刷ジョブを受信し、それに対してＲＩＰ等の各種画像処理を実行する印刷データ処理装置としてのプリンタコントローラ２１、及びプリンタコントローラ２１による画像処理後のラスタ形式の画像データに基づき印刷処理を実行する印刷装置としてのプリンタエンジン２２を備えている。なお、図１の例において、プリンタコントローラ２１はプリンタ２に内包されているが、これはプリンタ２から独立した装置であってもよい。
【００２３】
続いて、上記機器の構成について詳細に説明する。図２は、本実施形態に係るＰＣ１の構成を示すブロック図である。図２のように、本実施形態に係るＰＣ１は、制御部１１、記憶部１２、表示部１３、入力部１４、ネットワークインタフェース１５を備えており、これらは信号をやり取りするためのバス１６を介して相互に接続されている。これらの構成要素について以下に順に説明する。
【００２４】
制御部１１は、ＣＰＵであり、プログラムに従って各部の動作を制御するともに各種演算処理を実行すう。記憶部１２は、各種プログラムを格納するＲＯＭ、作業領域として各種データを一時的に保持するＲＡＭ、各種プログラム及びデータを一時的に格納するハードディスクからなる。表示部１３は、液晶表示装置であり、ユーザに各種情報を表示する。入力部１４は、キーボードやマウス等の入力装置であり、ユーザから種々の動作指示を取得する。ネットワークインタフェース１５は、ＰＣ１をネットワークＮに接続し、プリンタ２を含むネットワークＮ上の他の機器と通信するためのインタフェースである。
【００２５】
以上のような構成を有するＰＣ１には、プリンタ２により実行すべきＶＤＰ用の印刷ジョブを生成するためのプリンタドライバがインストールされている。特に、本実施形態に係るプリンタドライバは、前述したＰＰＭＬ形式の印刷ジョブを生成する機能を備えている。本実施形態に係るプリンタドライバとしては、例えば、Ａｄｏｂｅ社のＩｎＤｅｓｉｇｎ（登録商標）等のページレイアウトソフトのプラグインとして動作するＸＭＰｉｅ社のｕＤｉｒｅｃｔ（登録商標）や、ページレイアウト機能を備えたスタンドアローンとして動作するＢｉｔｓｔｒｅａｍ社のＰａｇｅＦｌｅｘ（登録商標）等が採用される。
【００２６】
ここで、本実施形態に係るＶＤＰジョブＪについて説明する。図６は、ＶＤＰジョブＪの一例を示す概念図である。図６のＶＤＰジョブＪは、それぞれが１ページからなる３つのレコードによって構成されている。図７は、図６のＶＤＰジョブＪに含まれる個々のオブジェクトについて説明するための概略図である。
【００２７】
図７において、実線で囲まれたオブジェクトは全レコード共通の固定データ部に属するオブジェクトであり、点線で囲まれたオブジェクトはレコードごとに変化する可変データ部に属するオブジェクトである。なお、本実施形態において、ＶＤＰジョブＪに含まれる個々のオブジェクトは、テキストオブジェクト、グラフィックスオブジェクト、イメージオブジェクトのいずれかであるものとする。図７の例において、固定データ部に属するオブジェクトはイメージオブジェクト及びテキストオブジェクトであり、可変データ部に属するオブジェクトはテキストオブジェクトである。なお、固定データ部に属する個々のオブジェクトは１番目のレコードで利用された後に２番目以降のレコードで再利用されるので、以下ではこれを「リユーザブルオブジェクト」と呼ぶことにする。
【００２８】
続いて、ＰＰＭＬ形式のＶＤＰジョブのソースプログラムにおけるリユーザブルオブジェクトの記述方法について説明する。図８は、図６、７のＶＤＰジョブに対応するＰＰＭＬ形式のソースプログラムの一部を示す概略図である。図８において、１行目と２３行目の＜ＲＥＵＳＡＢＬＥ＿ＯＢＪＥＣＴ＞のタグに括られた部分は一つのリユーザブルオブジェクトを定義している。当該部分をさらに参照すると、３〜５行目はリユーザブルオブジェクトとして使用するコンテンツデータについて定義している。より具体的に、３行目は、当該コンテンツデータがＰｏｓｔＳｃｒｉｐｔ（登録商標）形式のデータであることを示している。また、４行目は、当該コンテンツデータを格納するファイルが「ａｂｃｄ．ｐｓ」というファイルであることを示している。
【００２９】
続いて、１５〜２２行目は、当該オブジェクトの再利用に関する情報を示している。より具体的に、１６行目の＜ＯＣＣＵＲＲＥＮＣＥ＞タグのＮａｍｅ属性は、当該オブジェクトを引用するためのオブジェクト名を示している。本例における「Ｎａｍｅ属性」は「ａｂｃｄ」であり、１５行目以前に定義したリユーザブルオブジェクトを２レコード目以降で再利用する場合は、オブジェクト名「ａｂｃｄ」により当該オブジェクトを引用する。当該オブジェクトを２レコード目以降で再利用するためのＰＰＭＬの記述方法は図９に示す通りである。図９のように、２行目のＲｅｆ属性としてオブジェクト名「ａｂｃｄ」を指定することにより当該オブジェクトを再利用することができる。
【００３０】
続いて、図３は、本実施形態に係るプリンタコントローラ２１の構成を示すブロック図である。図３のように、本実施形態に係るプリンタコントローラ２１は、制御部２１１、記憶部２１２、操作部２１３、データ解析部２１４、ＲＩＰ部２１５、ネットワークインタフェース２１６、プリンタエンジンインタフェース２１７を備えており、これらは信号をやり取りするためのバス２１８を介して相互に接続されている。これらの構成要素について以下に順に説明する。
【００３１】
制御部２１１は、ＣＰＵであり、プログラムに従って各部の動作を制御するとともに各種演算処理を実行する。記憶部２１２は、各種プログラムを格納するＲＯＭ、作業領域として各種データを一時的に保持するＲＡＭ、各種プログラム及びデータを一時的に格納するハードディスクからなる。
【００３２】
図４は、本実施形態に係る記憶部２１２のＲＡＭ２１２ａの構成を概念的に示すブロック図である。図４のように、ＲＡＭ２１２ａは、データ解析部２１４により生成された中間言語データを保存するための再利用中間言語データ保存領域、及びＲＩＰ部２１５により生成されたラスタ形式の画像データを保存するための再利用ビットマップデータ保存領域を備えていり、これらの領域に保存された中間言語データ及び画像データに基づきリユーザブルオブジェクトが再利用される。この点についてはさらに後述する。また、ＲＡＭ２１２ａは、個々のリユーザブルオブジェクトに関する情報を格納するリユーザブルオブジェクト管理テーブルを保持する。図６は本実施形態に係るリユーザブルオブジェクト管理テーブルＴの概念図である。同テーブルの詳細についてはさらに後述する。
【００３３】
操作部２１３は、プリンタ２のステータス情報や各種設定情報等を表示するとともに種々の動作指示を取得するためのオペレーションパネルである。操作部２１３には、図１８、１９に示すようなＧＵＩ画面が表示されることがある。これらのＧＵＩ画面の詳細については後述する。
【００３４】
データ解析部２１４は、ＰＣ１から受信した印刷ジョブを解析して中間言語データを生成する。ＲＩＰ部２１５は、データ解析部２１４により生成された中間言語データに対してＲＩＰを実行することでプリンタエンジン２２により処理可能なラスタ形式の画像データを生成する。以下ではＲＩＰ部２１５により生成されたラスタ形式の画像データのことを単に「ビットマップデータ」という。
【００３５】
ネットワークインタフェース２１６は、ネットワークＮを介してＰＣ１等の外部機器と通信するためのインタフェースであり、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格に準拠している。プリンタエンジンインタフェース２１７は、プリンタエンジン２２と通信するためのインタフェースであり、例えば、ＩＥＥＥ１３９４等のパラレルインタフェースである。
【００３６】
続いて、図５は、本実施形態に係るプリンタエンジン２２の構成を示すブロック図である。図５のように、プリンタエンジン２２は、制御部２２１、記憶部２２２、操作部２２３、印刷部２２４、プリンタコントローラインタフェース２２５を備えており、これらは信号をやり取りするためのバス２２６を介して相互に接続されている。これらの構成要素について以下に順に説明する。
【００３７】
制御部２２１、記憶部２２２、操作部２２３は、それぞれプリンタコントローラ２１の制御部２１１、記憶部２１２、操作部２１３との一体型である。そのため、これらについての詳細な説明は省略する。印刷部２２４についての説明は以下の通りである。プリンタコントローラインタフェース２２５は、プリンタコントローラ２１と通信するためのインタフェースであり、例えば、ＩＥＥＥ１３９４等のパラレルインタフェースである。
【００３８】
印刷部２２４は、プリンタコントローラ２１から受信したビットマップデータに基づく画像を記録用紙に印刷する。より具体的に、印刷部２２４は、感光体ドラムを帯電させる帯電工程、レーザ光により感光体ドラム上に静電潜像を形成する露光工程、感光体ドラム上の静電潜像にトナーを付着させてトナー画像を形成する現像工程、感光体ドラム上のトナー画像を転写ベルトにより記録用紙に転写する転写工程、記録用紙に転写されたトナー画像を定着ローラにより加熱・定着させる定着工程からなる印刷処理を実行する。なお、印刷部２２４が採用する印刷方式はインパクト方式や熱転写方式やインクジェット方式等の他の印刷方式であってもよい。
【００３９】
−動作の概要（図１１〜１９）
続いて、本実施形態に係るプリンタコントローラ２１の動作の概要について説明する。図１１は、ＰＣ１のプリンタドライバから受信したＶＤＰジョブを解析・変換してビットマップデータを生成するためのＶＤＰジョブ解析・変換処理の手順を示すフローチャートである。図１１のように、プリンタコントローラ２１は、プリンタドライバから受信したＶＤＰジョブに対してデータ解析部２１４によるデータ解析処理（Ｓ１０１）、及びＲＩＰ部２１５によるラスタライズ処理を順次実行する（Ｓ１０２）。このようなＶＤＰジョブ解析・変換処理は、ＶＤＰジョブを構成するレコードごとに実行される。
【００４０】
続いて、Ｓ１０１のデータ解析処理について説明する。図１２は、１番目のレコードに対するデータ解析処理の手順を示すフローチャートである。なお、２番目以降のレコードについてのジョブ解析処理については後述する。図１２を参照すると、データ解析部２１４は、１番目のレコードに含まれる一のオブジェクトを解析し（Ｓ２０１）、当該オブジェクトがリユーザブルオブジェクトであるかどうかを判定する（Ｓ２０２）。より具体的に、データ解析部２１４は、ソースプログラム中に前述の＜ＲＥＵＳＡＢＬＥ＿ＯＢＪＥＣＴ＞のタグが含まれているかどうかを判定する。
【００４１】
ここで、当該オブジェクトがリユーザブルオブジェクトである場合（Ｓ２０２のＹＥＳ）、データ解析部２１４は、ＶＤＰジョブに基づき当該オブジェクトの中間言語データを生成し、それに当該オブジェクトがリユーザブルオブジェクトであることを示す再利用フラグを付加してから（Ｓ２０３）後述のＳ２０５に進む。他方、当該オブジェクトがリユーザブルオブジェクトでない場合（Ｓ２０２のＮＯ）、データ解析部２１４は、ＶＤＰジョブに基づき当該オブジェクトの中間言語データを作成するが（Ｓ２０４）、それに再利用フラグを付加することなく後述のＳ２０９に進む。
【００４２】
続いて、Ｓ２０５において、データ解析部２１４は、当該オブジェクトがイメージオブジェクトであるかどうかを判定する。そして、当該オブジェクトがイメージオブジェクトではない場合（Ｓ２０５のＮＯ）、すなわち、当該オブジェクトがテキストオブジェクト又はグラフィックスオブジェクトである場合、Ｓ２０３で生成した当該オブジェクトの中間言語データをＲＡＭ２１２ａの再利用中間言語データ保存領域に保存する（Ｓ２０７）。そして、当該オブジェクトに関する情報に基づきＲＡＭ２１２ａ内のリユーザブルオブジェクト管理テーブルＴを更新してから（Ｓ２０８）後述のＳ２０９に進む。
【００４３】
ここで、図１０を参照して本実施形態に係るリユーザブルオブジェクト管理テーブルＴについて詳細に説明する。図１０のように、リユーザブルオブジェクト管理テーブルＴは、個々のリユーザブルオブジェクトについて「ＩＤ」、「Ｎａｍｅ」、「Ｔｙｐｅ」、「ＣａｃｈｅＴｙｐｅ」、「Ｏｆｆｓｅｔ」等の属性情報を格納するテーブルである。これらの属性情報についての説明は以下の通りである。
【００４４】
ＩＤ：個々のリユーザブルオブジェクトに付された整理番号であり、個々のオブジェクトはデータ解析処理（Ｓ１０１）及びラスタライズ処理（Ｓ１０２）においてこの番号により引用される
Ｎａｍｅ：個々のリユーザブルオブジェクトを一意に判別するためのオブジェクト名であり、図８に示したＰＰＭＬソースプログラムにおけるＮａｍｅ属性に相当する
Ｔｙｐｅ：個々のリユーザブルオブジェクトのオブジェクト種別であり、イメージオブジェクトを表す「Ｉｍａｇｅ」、テキストオブジェクトを表す「Ｔｅｘｔ」、又はグラフィックスオブジェクトを表す「Ｇｒａｐｈｉｃｓ」のいずれかである
ＣａｃｈｅＴｙｐｅ：個々のリユーザブルオブジェクトがＲＡＭ２１２ａ上で中間言語データとビットマップデータのどちらの形態で保存されたかを示すフラグであり、当該リユーザブルオブジェクトが中間言語データで保存された場合は「ＤＬ」であり、ビットマップデータで保存された場合は「Ｂｉｔｍａｐ」である
Ｏｆｆｓｅｔ：個々のリユーザブルオブジェクトのＲＡＭ２１２ａ内の格納場所を示すオフセット値であり、データ解析部２１４及びＲＩＰ部２１５は、このオフセット値を用いてＲＡＭ２１２ａの再利用中間言語データ保存領域及び再利用ビットマップデータ保存領域にアクセスする。
【００４５】
以上のように、Ｓ２０８での更新後のリユーザブルオブジェクト管理テーブルＴには当該オブジェクトに関する情報が追加されるが、当該オブジェクトは中間言語データとして保存されているので（Ｓ２０７参照）、その「ＣａｃｈｅＴｙｐｅ」の値は「ＤＬ」とされる。
【００４６】
再び図１２を参照して、当該オブジェクトがイメージオブジェクトである場合（Ｓ２０５のＹＥＳ）、データ解析部２１４は、当該イメージオブジェクトがイメージ拡大の指定を有しているかどうかをさらに判定する（Ｓ２０６）。このようなオブジェクトのことを以下では「拡大イメージオブジェクト」という。そして、当該イメージオブジェクトが拡大イメージオブジェクトである場合（Ｓ２０６のＹＥＳ）、データ解析部２１４は、Ｓ２０３で作成した当該オブジェクトの中間言語データをＲＡＭ２１２ａの再利用中間言語データ保存領域に保存する（Ｓ２０７）。そして、当該オブジェクトに関する情報に基づきリユーザブルオブジェクト管理テーブルＴを更新してから（Ｓ２０８）後述のＳ２０９に進む。
【００４７】
続いて、Ｓ２０９において、データ解析部２１４は、１番目のレコードに含まれる全てのオブジェクトの中間言語データが生成されたかどうかを判定する。そして、全てのオブジェクトの中間言語データが生成されていない場合は（Ｓ２０９）、次のオブジェクトについてＳ２０１〜Ｓ２０８の手順を実行し、全てのオブジェクトの中間言語データが生成されたら（Ｓ２０９のＹＥＳ）、１番目のレコードについてのデータ解析処理を終了して図１１のフローチャートに戻る（リターン）。
【００４８】
以上のように、１番目のレコードについてのデータ解析処理の結果、当該レコードに含まれる全オブジェクトの中間言語データが生成される。そして、テキストタイプ及びグラフィックスタイプの全てのリユーザブルオブジェクトの中間言語データがＲＡＭ２１２ａの再利用中間言語データ保存領域に保存される。また、イメージタイプのリユーザブルオブジェクトのうちの拡大イメージオブジェクトの中間言語データがＲＡＭ２１２ａの再利用中間言語データ保存領域に保存される。
【００４９】
続いて、Ｓ１０２のラスタライズ処理について説明する。図１３は、１番目のレコードに対するラスタライズ処理の手順を示すフローチャートである。なお、２番目以降のレコードに対するラスタライズ処理については後述する。図１３を参照すると、ＲＩＰ部２１５は、データ処理部２１４により生成された一の中間言語データを解析する（Ｓ３０１）。そして、ＲＩＰ部２１５は、当該中間言語データに対するＲＩＰによりビットマップデータを生成し（Ｓ３０２）、当該ビットマップデータを１番目のレコードのフレーム領域に展開する（Ｓ３０３）。
【００５０】
その後、ＲＩＰ部２１５は、当該中間言語データに再利用フラグが付加されているかどうかを判定する（Ｓ３０４）。そして、当該中間言語データに再利用フラグが付加されている場合は（Ｓ３０４のＹＥＳ）、当該中間言語データがイメージオブジェクトの中間言語データであるかどうかをさらに判定する（Ｓ３０５）。他方、当該中間言語データに再利用フラグが付加されていない場合は（Ｓ３０４のＮＯ）そのまま後述のＳ３０９に進む。
【００５１】
そして、当該中間言語データがイメージオブジェクトの中間言語データである場合は（Ｓ３０５のＹＥＳ）、当該イメージオブジェクトが拡大イメージオブジェクトであるかどうかをさらに判定する（Ｓ３０６）。他方、当該中間言語データがテキストオブジェクト又はグラフィックスオブジェクトの中間言語データである場合は（Ｓ３０５のＮＯ）そのまま後述のＳ３０９に進む。
【００５２】
そして、当該イメージオブジェクトが拡大イメージオブジェクトでない場合は（Ｓ３０６のＮＯ）、Ｓ３０２で生成した当該イメージオブジェクトのビットマップデータをＲＡＭ２１２ａの再利用ビットマップデータ保存領域に保存する（Ｓ３０７）。そして、当該イメージオブジェクトに関する情報に基づきリユーザブルオブジェクト管理テーブルＴを更新してから（Ｓ３０８）後述のＳ３０９に進む。Ｓ３０８での更新後のリユーザブルオブジェクト管理テーブルＴには当該イメージオブジェクトに関する情報が追加されるが、当該イメージオブジェクトはビットマップデータとしてＲＡＭ２１２ａに保存されるので、「ＣａｃｈｅＴｙｐｅ」の値は「Ｂｉｔｍａｐ」とされる（図１０参照）。他方、当該イメージオブジェクトが拡大イメージオブジェクトである場合は（Ｓ３０６のＹＥＳ）そのまま後述のＳ３０９に進む。
【００５３】
続いて、Ｓ３０９において、ＲＩＰ部２１５は、データ解析部２１４により生成された全ての中間言語データに対するＲＩＰが完了したかどうかを判定する。そして、全ての中間言語データに対するＲＩＰが完了していない場合は（Ｓ３０９のＮＯ）、次の中間言語データについてＳ３０１〜Ｓ３０８の手順を実行し、全ての中間言語データに対するＲＩＰが完了したら（Ｓ３０９のＹＥＳ）、１番目のレコードについてのラスタライズ処理を終了して図１１のフローチャートに戻る（リターン）。
【００５４】
以上のように、１番目のレコードに対するラスタライズ処理の結果、当該レコードに含まれる全オブジェクトのビットマップデータが生成され、当該レコードのフレーム領域に展開される。そして、イメージタイプのリユーザブルオブジェクトのうち拡大イメージオブジェクト以外のもののビットマップデータがＲＡＭ２１２ａの再利用ビットマップデータ保存領域に保存される。
【００５５】
続いて、図１４は、２番目以降のレコードに対するデータ解析処理の手順を示すフローチャートである。図１４を参照すると、データ解析部２１４は、現在処理中のレコードに含まれる一のオブジェクトを解析し（Ｓ４０１）、当該オブジェクトがリユーザブルオブジェクトを再利用するオブジェクトであるかどうかを判定する（Ｓ４０２）。より具体的に、データ解析部２１４は、ソースプログラム中に前述の＜ＯＣＣＵＲＲＥＮＣＥ＿ＲＥＦ＞のタグが含まれているかどうかを判定する。
【００５６】
ここで、当該オブジェクトがリユーザブルオブジェクトを再利用するオブジェクトである場合（Ｓ４０２のＹＥＳ）、データ解析部２１４は、再利用されるリユーザブルオブジェクトに関する情報を取得するために前述のリユーザブルオブジェクト管理テーブルＴを検索する。より具体的に、データ解析部２１４は、＜ＯＣＣＵＲＲＥＣＥ＿ＲＥＦ＞タグのＲＥＦ属性として指定されたオブジェクト名を用いてリユーザブルオブジェクト管理テーブルＴを検索する。例えば、当該オブジェクトに相当するソースプログラムが図９に示すようなものである場合、データ解析部２１４は、オブジェクト名が「ａｂｃｄ」であるリユーザブルオブジェクトに関する情報をリユーザブルオブジェクト管理テーブルＴから取得する。
【００５７】
そして、データ解析部２１４は、Ｓ４０３で取得した「ＩＤ」に対応するリユーザブルオブジェクトを参照すべきとの命令を付加した中間言語データを生成してから（Ｓ４０５）後述のＳ４０６に進む。このような命令のことを以下では単に「参照命令」という。他方、当該オブジェクトがリユーザブルオブジェクトを再利用しないオブジェクトである場合（Ｓ４０２のＮＯ）、データ解析部２１４は、当該オブジェクトの中間言語データを通常通り生成してから（Ｓ４０４）後述のＳ４０６に進む。なお、ここでいう「通常通り」とは、Ｓ４０５のような参照命令を付加することなく中間言語データを生成することを意味する。
【００５８】
そして、Ｓ４０６において、データ解析部２１４は、現在処理中のレコードに含まれる全てのオブジェクトの中間言語データが生成されたかどうかを判定する。そして、全てのオブジェクトの中間言語データが生成されていない場合は（Ｓ４０６）、次のオブジェクトについてＳ４０１〜Ｓ４０５の手順を実行し、全てのオブジェクトの中間言語データが生成されたら（Ｓ４０６のＹＥＳ）、現在処理中のレコードについてのジョブ解析処理を終了して図１１のフローチャートに戻る（リターン）。
【００５９】
続いて、図１５は、２番目以降のレコードに対するラスタライズ処理の手順を示すフローチャートである。図１５を参照すると、先ず、ＲＩＰ部２１５は、データ解析部２１４により生成された一の中間言語データを解析する（Ｓ５０１）。そして、ＲＩＰ部２１５は、当該中間言語データにリユーザブルオブジェクトの参照命令が付加されているかどうかを判定する（Ｓ５０２）。そして、当該中間言語データにリユーザブルオブジェクトの参照命令が付加されている場合は（Ｓ５０２のＹＥＳ）、リユーザブルオブジェクト管理テーブルＴを検索して（Ｓ５０３）、当該リユーザブルオブジェクトのＲＡＭ２１２ａにおける保存形態（すなわち「ＣａｃｈｅＴｙｐｅ」）を確認する（Ｓ５０４）。
【００６０】
そして、当該リユーザブルオブジェクトがビットマップデータの形態で保存されている場合（Ｓ５０５のＹＥＳ）、すなわち、「ＣａｃｈｅＴｙｐｅ」の値が「Ｂｉｔｍａｐ」である場合は、ＲＡＭ２１２ａの再利用ビットマップデータ保存領域から当該リユーザブルオブジェクトのビットマップデータを取得する（Ｓ５０６）。そして、取得したビットマップデータを現在処理中のレコード用のフレームに展開してから（Ｓ５０９）後述のＳ５１０に進む。
【００６１】
また、当該リユーザブルオブジェクトが中間言語データの形態で保存されている場合（Ｓ５０５のＮＯ）、ずなわち、「ＣａｃｈｅＴｙｐｅ」の値が「ＤＬ」である場合は、ＲＡＭ２１２ａの再利用中間言語データ保存領域から当該リユーザブルオブジェクトの中間言語データを取得する（Ｓ５０７）。そして、取得した中間言語データに対するＲＩＰによりビットマップデータを生成し（Ｓ５０８）、そのビットマップデータを現在処理中のレコード用のフレーム領域に展開してから（Ｓ５０９）後述のＳ５１０に進む。
【００６２】
他方、当該中間言語データにリユーザブルオブジェクトの参照命令が付加されていない場合（Ｓ５０２のＮＯ）、ＲＩＰ部２１５は、当該中間言語データに対するＲＩＰによりビットマップデータを生成し（Ｓ５０８）、そのビットマップデータを現在処理中のレコード用のフレーム領域に展開してから（Ｓ５０９）後述のＳ５１０に進む。
【００６３】
そして、Ｓ５１０において、ＲＩＰ部２１５は、データ解析部２１４により生成された全ての中間言語データに対するＲＩＰが完了したかどうかを判定する。そして、全ての中間言語データに対するＲＩＰが完了していない場合は（Ｓ５１０のＮＯ）、次の中間言語データについてＳ５０１〜Ｓ５０９の手順を実行し、全ての中間言語データに対するＲＩＰが完了したら（Ｓ５１０のＹＥＳ）、現在処理中のレコードについてのラスタライズ処理を終了して図１１のフローチャートに戻る（リターン）。
【００６４】
次に、本実施形態に係るプリンタコントローラ２１により達成される効果について説明する。図１６は、本実施形態に係る拡大イメージオブジェクトに対応するコマンドの一例を示す概略図である。本例のコマンドは、ＰＳ（ＰｏｓｔＳｃｒｉｐｔ（登録商標））オペレータにより記述されており、グレースケールの５×５画素のイメージを上下方向及び左右方向にそれぞれ１００倍に拡大して描画すべきことを規定している。
【００６５】
図１７は、図１６のコマンドによる拡大前後のイメージオブジェクトを示す概念図である。ここで、イメージ拡大前のビットマップデータのサイズは、１画素が８ｂｉｔに相当するので、５×５×８＝２００ｂｉｔである。他方、イメージ拡大後のビットマップデータのサイズは、当該イメージが上下方向及び左右方向に１００倍ずつ拡大されるので、５００×５００×８＝２００００００ｂｉｔとなる。つまり、イメージ拡大によりビットマップデータのサイズは１００００倍になるので、このような拡大イメージオブジェクトをビットマップデータではなく中間言語データの形態で保存することでＲＡＭ２１２ａの使用量を大幅に削減することができる。なお。実際のビットマップデータはイメージオブジェクト以外にも多数の情報を保持しているが、これらの情報のサイズはイメージオブジェクトと比較すると微小であるので上の計算では特に考慮しなかった。
【００６６】
以上のように、本実施形態によると、各々のリユーザブルオブジェクトが、ＲＩＰによるサイズ増加の大きい拡大イメージオブジェクトであるかどうかが判定され、拡大イメージオブジェクトであると判定されたリユーザブルオブジェクトは、（ビットマップデータではなく）中間言語データの形態でＲＡＭ２１２ａに保存され、再利用される。そのため、本実施形態によると、ＶＤＰジョブ処理時のＲＡＭ２１２ａの使用量を削減することができ、結果的に同処理の高速化を実現することができる。
【００６７】
なお、本発明は、上記実施形態のみに限定されるものではなく、特許請求の範囲の記載内容に応じて種々改変することができる。例えば、上記実施形態では、個々のリユーザブルオブジェクトが拡大イメージオブジェクトであるかどうかを判定し、拡大イメージオブジェクトであると判定されたリユーザブルオブジェクトを中間言語データの形態で保存したが、さらに、個々のリユーザブルオブジェクトがイメージ縮小の指定を有する縮小イメージオブジェクトであるかどうかを判定し、縮小イメージオブジェクトであると判定されたリユーザブルオブジェクトをビットマップデータの形態で保存することが好ましい。これは、図１７のようにビットマップデータを１／１００に縮小した場合、そのデータサイズは１／１０００００になるので、縮小イメージオブジェクトをビットマップデータの形態で保存することによりメモリ使用量をさらに削減可能となるからである。
【００６８】
また、上記実施形態においては、ＶＤＰジョブの内容にかかわらず常に拡大イメージオブジェクトを中間言語データの形態で保存することとしたが、拡大イメージオブジェクトのデータサイズに対してメモリ容量が十分であるような場合には、ユーザはメモリ使用量の削減よりも、ＲＩＰ回数の削減による処理の高速化を優先させるものと考えられる。そのため、ＶＤＰデータの内容に応じて各々のリユーザブルオブジェクトの保存形態を変更するためのＧＵＩ画面がオペレーションパネル等に表示させることでユーザの利便性が向上する。図１８はこのようなＧＵＩ画面の一例である。図１８の「バリアブル印刷設定」用のＧＵＩ画面において、ユーザはリユーザブルオブジェクトの保存形態をオブジェクト種別ごとに中間言語データ／ビットマップデータに切り替えることができる。さらに、イメージオブジェクトについては、「詳細設定」ボタンを押下することで図１９のような「イメージオブジェクト詳細設定」用のＧＵＩ画面をさらに表示させ、拡大／縮小イメージオブジェクトをそれぞれ中間言語データ／ビットマップデータのどちらの形態で保存すべきかを指定することができる。
【００６９】
本発明に係る印刷データ処理装置は、上記手順を実行するための専用のハードウェア回路によっても、上記手順を記述したプログラムをＣＰＵが実行することによっても実現可能である。後者により本発明を実現する場合、印刷データ処理装置を作動させるプログラムは、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。ここで、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ＲＯＭやハードディスク等に転送され記録される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、印刷データ処理装置の一機能として同装置のソフトウェアに組み込まれてもよい。
【符号の説明】
【００７０】
１        ＰＣ、
２        プリンタ、
２１      プリンタコントローラ、
２１２ａ  ＲＡＭ、
２２      プリンタエンジン、
Ｊ        ＶＤＰジョブ、
Ｓ        画像形成システム。
【図１】
2011194742.tif 000003
【図２】
2011194742.tif 000004
【図３】
2011194742.tif 000005
【図４】
2011194742.tif 000006
【図５】
2011194742.tif 000007
【図８】
2011194742.tif 000008
【図９】
2011194742.tif 000009
【図１０】
2011194742.tif 000010
【図１１】
2011194742.tif 000011
【図１２】
2011194742.tif 000012
【図１３】
2011194742.tif 000013
【図１４】
2011194742.tif 000014
【図１５】
2011194742.tif 000015
【図１６】
2011194742.tif 000016
【図６】
2011194742.tif 000017
【図７】
2011194742.tif 000018
【図１７】
2011194742.tif 000019
【図１８】
2011194742.tif 000020
【図１９】
2011194742.tif 000021