(57)【要約】【課題】可変印刷において各レコード中の各レコード項目の値から画像要素を生成する処理において、キャッシュ処理を効率化する。【解決手段】フォーム解析部１０８は、フォーム１０を解析して、ＱＲコード描画コマンドの引数フィールドを抽出し抽出フィールド情報１５を作成する。引数組み合わせカウント部１１４及びキャッシュ情報生成部１１６は、バリアブルデータファイル２０から抽出フィールド情報１５に含まれる各フィールドの値を抽出し、それら値の中であらかじめ指定された閾値以上の回数バリアブルデータファイル２０中に現れる値をキャッシュ対象と判定する。キャッシュ対象の値はキャッシュ情報２５に登録される。ＱＲコードキャッシュ判定部１２２は、各レコードについての描画が行われる際、ＱＲコード描画コマンドの引数値のうちキャッシュ情報２５に含まれるものをキャッシュ対象としてキャッシュ処理を行う。【選択図】図１
2010044665.tif 000002
【特許請求の範囲】
【請求項１】
可変データ中の各レコードの各項目の値の中から、可変データ印刷のための描画プログラム中のあらかじめ指定された描画命令の引数であって、前記可変データ中にあらかじめ指定された回数以上現れる値を検出する検出手段と、
前記描画プログラムを前記可変データ中の各レコードについて実行して前記各レコードについての画像を生成する際に、前記各レコードの各項目の値のうち前記検出手段が検出した値について、当該値を引数として前記注目描画命令を実行することで生成される画像要素をキャッシュ処理の対象とする制御を行う制御手段と、
を備える画像処理装置。
【請求項２】
前記検出手段は、
前記描画プログラムの中から、前記あらかじめ指定された描画命令の引数のレコード項目を注目項目として特定する第１の手段と、
前記可変データの各レコード中の前記注目項目の値の中から、あらかじめ指定された回数以上現れる値を検出する第２の手段と、
を備えることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記検出手段は、前記あらかじめ指定された描画命令が複数のレコード項目の組を引数とする場合は、前記可変データの各レコード中からそれら複数のレコード項目について同一の値の組が前記あらかじめ指定された回数以上現れる場合に、当該値の組を前記あらかじめ指定された回数以上現れる値として検出する、
ことを特徴とする請求項１記載の画像処理装置。
【請求項４】
コンピュータを、
可変データ中の各レコードの各項目の値の中から、可変データ印刷のための描画プログラム中のあらかじめ指定された描画命令の引数であって、前記可変データ中にあらかじめ指定された回数以上現れる値を検出する検出手段、
前記描画プログラムを前記可変データ中の各レコードについて実行して前記各レコードについての画像を生成する際に、前記各レコードの各項目の値のうち前記検出手段が検出した値について、当該値を引数として前記注目描画命令を実行することで生成される画像要素をキャッシュ処理の対象とする制御を行う制御手段、
として機能させるためのプログラム。
【請求項５】
情報処理装置と画像処理装置とを備え、
前記情報処理装置は、
可変データ中の各レコードの各項目の値の中から、可変データ印刷のための描画プログラム中のあらかじめ指定された描画命令の引数であって、前記可変データ中にあらかじめ指定された回数以上現れる値を検出し、検出した値を表す検出情報を生成する検出手段、
を備え、
前記画像処理装置は、
前記可変データ、前記描画プログラム及び前記検出情報を前記情報処理装置から取得する手段と、
前記描画プログラムを前記可変データ中の各レコードについて実行して前記各レコードについての画像を生成する際に、前記各レコードの各レコード項目の値のうち前記検出情報に含まれる値について、当該値を引数として前記注目描画命令を実行することで生成される画像要素をキャッシュ処理の対象とする制御を行う制御手段と、
を備える、ことを特徴とする画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、プログラム及び画像処理システムに関する。
【背景技術】
【０００２】
対象ごとに内容を差し替えて印刷する可変印刷技術が知られている。可変印刷は、可変印刷又はバリアブル印刷等とも呼ばれる。近年の可変印刷では、宛名などのような単なる文字列の差し替えにとどまらず、データベースのレコードに応じてグラフやその他複雑な画像の差し替えも可能となっている。可変印刷は、共通のレイアウトデータ（フォームとも呼ばれる）に対して個々のレコードを適用することにより、それら各レコードに対応した印刷結果を得る。
【０００３】
可変印刷では、レコードごとにバーコードやグラフなどといった比較的複雑な画像を生成して用いる場合がある。このような画像の生成にはかなりの時間を要する。そこで、生成した画像を保持しておき、同じ画像が必要な場合にそれを再利用して生成を省略することで処理効率を向上させる、いわゆるキャッシュ処理が行われている。
【０００４】
例えば特許文献１には、レコード間で共通して用いられるフォームの画像をキャッシュし、各レコードに対して繰り返し利用する方式が開示されている。
【０００５】
また特許文献２には、メモリへオブジェクトをキャッシュする場合に、メモリ残量に応じてキャッシュの仕方を制御している。また、キャッシュする文字パターンに優先順位を設け、優先順位が低い文字パターンから順にキャッシュから削除していく方式が開示されている。
【０００６】
また特許文献３には、再度利用されることが明確でもあっても、画像の生成に要する計算コストが極めて小さいオブジェクトについては、キャッシュせずに再度画像を生成する方式が開示されている。
【０００７】
特許文献４には、一度利用したフォントイメージを高速メモリに登録することにより、多種多様なフォントを高速出力可能にすることが開示されている。
【０００８】
【特許文献１】特開２００１−１９９１０５号公報
【特許文献２】特開平６−１０６８１０号公報
【特許文献３】特開２００６−３４７０６４号公報
【特許文献４】特開平１−８８６６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、可変印刷において、各レコード中の各レコード項目の値から生成される画像要素のうち、キャッシュ処理の効果が期待できる画像要素についてキャッシュ処理が行えるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に係る発明は、可変データ中の各レコードの各項目の値の中から、可変データ印刷のための描画プログラム中のあらかじめ指定された描画命令の引数であって、前記可変データ中にあらかじめ指定された回数以上現れる値を検出する検出手段と、前記描画プログラムを前記可変データ中の各レコードについて実行して前記各レコードについての画像を生成する際に、前記各レコードの各項目の値のうち前記検出手段が検出した値について、当該値を引数として前記注目描画命令を実行することで生成される画像要素をキャッシュ処理の対象とする制御を行う制御手段と、を備える画像処理装置である。
【００１１】
請求項２に係る発明は、請求項１に係る発明において、前記検出手段は、前記描画プログラムの中から、前記あらかじめ指定された描画命令の引数のレコード項目を注目項目として特定する第１の手段と、前記可変データの各レコード中の前記注目項目の値の中から、あらかじめ指定された回数以上現れる値を検出する第２の手段と、を備えることを特徴とする。
【００１２】
請求項３に係る発明は、請求項１に係る発明において、前記検出手段は、前記あらかじめ指定された描画命令が複数のレコード項目の組を引数とする場合は、前記可変データの各レコード中からそれら複数のレコード項目について同一の値の組が前記あらかじめ指定された回数以上現れる場合に、当該値の組を前記あらかじめ指定された回数以上現れる値として検出する、ことを特徴とする。
【００１３】
請求項４に係る発明は、コンピュータを、可変データ中の各レコードの各項目の値の中から、可変データ印刷のための描画プログラム中のあらかじめ指定された描画命令の引数であって、前記可変データ中にあらかじめ指定された回数以上現れる値を検出する検出手段、前記描画プログラムを前記可変データ中の各レコードについて実行して前記各レコードについての画像を生成する際に、前記各レコードの各項目の値のうち前記検出手段が検出した値について、当該値を引数として前記注目描画命令を実行することで生成される画像要素をキャッシュ処理の対象とする制御を行う制御手段、として機能させるためのプログラムである。
【００１４】
請求項５に係る発明は、情報処理装置と画像処理装置とを備え、前記情報処理装置は、可変データ中の各レコードの各項目の値の中から、可変データ印刷のための描画プログラム中のあらかじめ指定された描画命令の引数であって、前記可変データ中にあらかじめ指定された回数以上現れる値を検出し、検出した値を表す検出情報を生成する検出手段、を備え、前記画像処理装置は、前記可変データ、前記描画プログラム及び前記検出情報を前記情報処理装置から取得する手段と、前記描画プログラムを前記可変データ中の各レコードについて実行して前記各レコードについての画像を生成する際に、前記各レコードの各レコード項目の値のうち前記検出情報に含まれる値について、当該値を引数として前記注目描画命令を実行することで生成される画像要素をキャッシュ処理の対象とする制御を行う制御手段と、を備える、ことを特徴とする画像処理システムである。
【発明の効果】
【００１５】
請求項１，４又は５に係る発明によれば、可変印刷において、各レコード中の各レコード項目の値から生成される画像要素のうち、キャッシュ処理の効果が期待できる画像要素をキャッシュ処理の対象とすることができる。
【００１６】
請求項２に係る発明によれば、第２の手段は、可変データの各レコードの各レコード項目のうち、第１の手段が特定した注目項目を調べればよく、全レコード項目を調べる場合と比べて処理効率がよい。
【００１７】
請求項３に係る発明によれば、複数のレコード項目を引数として描画コマンドが生成する画像要素を、それら複数のレコード項目のうちの１つのレコード項目を引数として描画コマンドが生成する画像要素と区別してキャッシュ処理の対象とすることができる。
【発明を実施するための最良の形態】
【００１８】
図１を参照して、本発明に係る画像処理装置の一例を説明する。図１に例示する画像処理装置は、バリアブル印刷（可変印刷）のためのフォームを作成するフォーム作成部１００を備える。
【００１９】
フォームは、バリアブルデータファイル（後述）の中のレコードから印刷用の画像を生成するための手順を記述したプログラムであり、ページ記述言語等の言語で記述される。フォームは、レイアウトプログラム又は描画プログラムとも呼ばれる。フォームには、レコード中の１以上のフィールドの値に基づき画像を生成するコマンド（命令）が含まれる。このようなコマンドを描画コマンドと呼ぶ。この種のコマンドは、レコードごとに異なる画像を生成、すなわち描画（レンダリング）する。また、フォームには、レコードに依存しない固定的なデータを描画するコマンド、描画位置を移動させるコマンドなどが含まれ得る。
【００２０】
図２にフォームの一具体例を示す。例示するフォーム１０は、ＶＩＰＰ（Variable-data Intelligent PostScript Printware）というＰｏｓｔＳｃｒｉｐｔ（登録商標）ベースのソフトウエアに準拠したものである（ただし、ＶＩＰＰはあくまで一例に過ぎない）。図２に示すフォーム１０の上から４及び５行目の“1280 2937 MOVETO”は、カーソル位置を座標（１２８０，２９３７）（単位は画素）に移動させるコマンドである。６行目の“[/BC URL TELNUM] QRCODE”は、バリアブルデータのレコードの各フィールドのうち、名前が“URL”及び“TELNUM”である２つのフィールドの値のペアを引数とし、その引数を表すＱＲコード（登録商標）の画像を生成（描画）することを指示するコマンドである。すなわち、このコマンドを実行すると、あるレコード中のフィールド“URL”の値と、フィールド“TELNUM”の値とを表すＱＲコードが生成される。
【００２１】
８行目の“[/BC TELNUM (担当者の電話番号です)] 3 QRCODE”は、引数であるフィールド“TELNUM”の値と「担当者の電話番号です」という固定文字列との組を引数として、その引数を表すＱＲコードを描画することを指示するコマンドである。すなわち、８行目のコードを実行すると、レコード中のTELNUMフィールドの値と「担当者の電話番号です」という文字列との組を表すＱＲコード画像が生成される。なお、コマンド“QRCODE”の前の数字“3”は、キャッシュ処理の対象とするか否かの判断基準となる閾値である。この例では、バリアブルデータファイルを処理する際に、フィールド“TELNUM”の同じ値について、その値と上記の固定文字列との組について３回以上ＱＲコードを印刷する場合には、そのＱＲコードの画像についてキャッシュ処理が行われる。同様に、１０行目についても、フィールド“URL”についてのＱＲコード描画について、同じ値が「３」回以上という閾値が設定されている。これらの閾値は、フォーム作成者が必要に応じて指定する（すなわちフォームのソースコードに書き込む）。
【００２２】
なお、６行目や１２行目のＱＲコード描画コマンドにはキャッシュ処理の閾値が指定されていないが、このような場合は、デフォルト値（例えば２）が用いられる。
【００２３】
フォーム作成部１００は、フォーム作成者が以上のようなフォームの作成のために利用する一種のエディタである。
【００２４】
フォーム登録部１０２は、フォームをフォームデータベース１０６に登録するための処理を行う。フォーム管理部１０４は、フォームデータベース１０６を管理するデータベース管理システムである。フォーム作成部１００が作成したフォーム１０の電子データは、フォーム登録部１０２によりフォーム管理部１０４に送られ、フォームデータベース１０６に登録される。
【００２５】
フォーム解析部１０８は、フォーム１０を解析して、抽出フィールド情報１５を生成する。すなわち、フォーム１０の中から、キャッシュ対象の候補となる引数フィールドを抽出し、抽出したフィールドを列挙した抽出フィールド情報１５を生成する。この実施形態では、注目する描画コマンドをあらかじめフォーム解析部１０８に指定しておき、その描画コマンドの引数をキャッシュ対象の候補として抽出する（詳細は後述）。以下では、ＱＲコード描画コマンドを注目する描画コマンドとした場合の例を説明するが、これは一例に過ぎない。キャッシュ処理は、計算コスト（計算時間、計算機パワー、又はそれらの組など）が大きい描画（画像の生成）の場合ほど効果が大きいので、描画のための計算コストが大きい描画コマンドが注目コマンドとして指定される。このようなコマンドには、ＱＲコード描画コマンド以外にも、グラフ描画コマンド（例えばＶＩＰＰにおけるＤＤＧコマンド）や、特殊描画フォントコマンド（例えばＶＩＰＰにおけるSpeciality Image Font）などがある。生成された抽出フィールド情報１５は、当該フォームの識別情報（例えばフォームのファイル名など）に対応づけて、抽出フィールド情報記憶部１１０に記憶される。
【００２６】
バリアブル印刷を行う場合、画像処理装置にバリアブルデータファイル２０が入力される。バリアブルデータファイル２０は、１以上のレコードを含んだファイルであり、各レコードは複数のフィールド（項目）を有する。
【００２７】
図３に、バリアブルデータファイル２０のデータ内容の一例を示す。この例はＶＩＰＰに準拠した例である（ただし、ＶＩＰＰはあくまで一例に過ぎない）。図３に例示したデータ内容の上から６行目の記述"(qrcode.dbm) STARTDBM"により、このバリアブルデータファイルの処理において用いるフォーム（レイアウトプログラム）を指定している。用いられるフォームの識別名は"qrcode.dbm"であり、" STARTDBM "がフォームを指定するコマンドである。"qrcode.dbm"という名のフォームは、図２に例示したフォームである。
【００２８】
図３に示したデータ内容における７行目は、印刷対象のレコード中の各フィールド（項目）のフィールド名を表す。"ID"フィールドは当該レコードの識別情報を、"TELNUM"フィールドは当該レコードの主体である企業の電話番号を、"URL"フィールドはその企業のホームページのＵＲＬ（Uniform Resource Locator）を、"MESSAGE"フィールドはその企業からのメッセージを、"JAN"以下はそれぞれ各月についての情報を、それぞれ示す。８行目以降には、印刷の対象となるレコードが順に並ぶ。１行が１つのレコードを表す。レコード群（フィールド名の欄も含め）は例えばＣＳＶ(Comma Separated Values)形式で記述される（ただし、ＣＳＶはあくまで一例に過ぎない）。
【００２９】
印刷指示部１１２は、ユーザから印刷指示を受け付ける機能モジュールである。ユーザが、印刷指示部１１２に対して、バリアブルデータファイル２０を印刷対象に指定して印刷指示を行うと、この画像処理装置がバリアブル印刷のための処理を実行することになる。
【００３０】
引数組み合わせカウント部１１４は、抽出フィールド情報１５を参照することで、バリアブルデータファイル２０の中からＱＲコード描画命令において用いられる引数値の組み合わせを検出し、同じ引数値の組合せの出現回数のカウント結果を示す引数組み合わせ情報を生成する。キャッシュ情報生成部１１６は、この引数組み合わせ情報から、キャッシュ対象とする引数値（又はその組み合わせ）を示したキャッシュ情報２５を生成する。引数組み合わせカウント部１１４及びキャッシュ情報生成部１１６の処理は、後で詳しく説明する。
【００３１】
バリアブルデータ処理部１２０は、バリアブル印刷のために、バリアブルデータファイル２０内の各レコードをそれぞれフォーム１０に適用することで、レコードごとの印刷用の画像データを生成する。すなわち、バリアブルデータ処理部１２０は、レコードごとに、フォーム１０（すなわちレイアウトプログラム）の各描画コマンドを、その引数に当該レコードの各フィールドの値を代入して実行することで、各描画コマンドに対応する画像要素を描画し、それら画像要素からなる印刷用の画像データを生成する。
【００３２】
バリアブルデータ処理部１２０は、印刷用の画像データの生成の際に、キャッシュオブジェクト記憶部１２６を用いて、画像要素のキャッシュ処理を行う。この例では、ＱＲコード描画コマンド"QRCODE"により生成されるＱＲコードの画像要素をキャッシュ対象の候補としているので、ＱＲコードキャッシュ判定部１２２を設けている。ＱＲコードキャッシュ判定部１２２は、バリアブルデータファイル２０中のレコードに対してフォーム１０を適用する際に、ＱＲコード描画コマンドの引数の値（ＱＲコード引数３０）をバリアブルデータ処理部１２０から受け取り、その引数３０から生成されるＱＲコード画像をキャッシュ対象とするかどうかを判定する。キャッシュオブジェクトチェック部１２４は、キャッシュ対象と判定されたＱＲコード画像がキャッシュオブジェクト記憶部１２６にキャッシュ（記憶）されているか否かをチェックする。ＱＲコードイメージ生成部１２８は、ＱＲコード引数３０を表すＱＲコード画像を生成する。
【００３３】
ＱＲコードキャッシュ判定部１２２、キャッシュオブジェクトチェック部１２４及びＱＲコードイメージ作成部１２８の処理内容については、後でその例を詳細に説明する。
【００３４】
出力部１３０は、バリアブルデータ処理部１２０が生成した各レコードについての印刷用の画像を用紙に印刷する。
【００３５】
次に、図１の画像処理装置の処理手順の例を説明する。図４に例示するように、フォーム１０がフォームデータベース１０６に登録される際に、フォーム解析部１０８によりフォーム１０が解析され、キャッシュ対象の判定のために注目すべきフィールドがフォーム１０から抽出される（Ｓ１０）。この抽出処理は、図２に示したように、フォーム１０のコード中から、注目対象としてあらかじめ指定された描画コマンド（注目描画コマンドと呼ぶ。この例では“QRCODE”）を見つけ出し、その注目描画コマンドの引数であるフィールド（レコード内の項目）のフィールド名を抽出する。注目描画コマンドが、複数のフィールドの組み合わせを引数とする場合、それらフィールドのフィールド名の組を抽出する。このようにして抽出したフィールド名のリストが、抽出フィールド情報１５である。例えば、“QRCODE”を注目描画コマンドとしたときに、図２に例示するフォーム１０からは、“URL”と“TELNUM”の組、“TELNUM”単独、及び“URL”単独、の３つが抽出されることになる（図２の抽出フィールド情報１５参照）。
【００３６】
また、別の例として、注目描画コマンドの引数に、フィールド名の他に定数データ（例えば図２の例の８行目の「担当者の電話番号です」という文字列）が含まれる場合は、そのフィールド名と定数データとの組を抽出して抽出フィールド情報１５に組み込むようにしてもよい。この場合、例えば図２の例の８行目の記述からは、“TELNUM, (担当者の電話番号です)”という引数フィールド情報が抽出され、抽出フィールド情報１５に組み込まれることになる。
【００３７】
なお、抽出フィールド情報１５には、抽出された引数のフィールド名（又はフィールド名の組）のリストの他に、キャッシュ対象の判定のための出現回数の閾値を含めてもよい。この場合、例えば、図２のフォーム１０の１０行目の記述には、閾値として「３」が指定されているので、この行から抽出された引数フィールド“URL”に対応づけて閾値「３」が抽出フィールド情報１５に組み込まれる。
【００３８】
このようにして生成された抽出フィールド情報１５は、例えばフォーム１０の識別情報と対応づけて、抽出フィールド情報記憶部１１０に登録される。フォームデータベース１０６には複数のフォーム１０を登録しておき、後で利用することが可能である。抽出フィールド情報記憶部１１０には、フォームデータベース１０６に登録されたフォーム１０ごとに、そのフォームから抽出された抽出フィールド情報１５が格納される。抽出フィールド情報記憶部１１０に登録された抽出フィールド情報１５は、後でバリアブルデータファイル２０の処理が指示された場合に取り出され、利用される。
【００３９】
再び図４の説明に戻り、印刷指示部１１２に対してバリアブルデータファイル２０の印刷が指示されると、引数組み合わせカウント部１１４及びキャッシュ情報生成部１１６が、そのバリアブルデータファイル２０からキャッシュ対象の引数値を抽出する処理を行う（Ｓ２０）。
【００４０】
この処理では、まず引数組み合わせカウント部１１４が、抽出フィールド情報１５を参照して、バリアブルデータファイル２０の中からキャッシュ対象の候補となる引数すなわち注目描画コマンドの引数の値を抽出する。このとき、引数組み合わせカウント部１１４は、そのバリアブルデータファイル２０中で指定されているフォームの識別情報（図３のバリアブルデータファイル２０の６行目参照）に対応する抽出フィールド情報１５を抽出フィールド情報記憶部１１０から取得して用いる。注目描画コマンドの引数に、複数のフィールドが含まれる場合、それら複数のフィールドの値の組を引数値として抽出する。また、注目描画コマンドの引数に、フィールド名の他に定数データ（例えば図２の例の８行目の「担当者の電話番号です」という文字列）が含まれる場合は、レコード中での当該フィールドの値とその定数データとの組を引数値として抽出する。
【００４１】
例えば、図３の例では、抽出フィールド情報１５には、３組の引数フィールド情報が含まれている。バリアブルデータファイル２０のＩＤ＝１のレコード（すなわち８行目）から、抽出フィールド情報１５にマッチする引数値を求めると、“090-1111-2222, http://example.com”、“090-1111-2222, 担当者の電話番号です”、及び”http://example.com”という３つが抽出される。抽出された引数値は、引数組み合わせカウント情報２２に追加される。
【００４２】
また、引数組み合わせカウント部１１４は、抽出した各引数値について、可変データ中での出現回数をカウントする。すなわち、ある引数値を最初に見つけた場合は、その引数値を引数組み合わせカウント情報２２（図３参照）に登録すると共に、そのカウント値を１とする。そして、可変データ中の各レコードを調べる中で、既に抽出した引数値と同じ引数値を見つけた場合は、引数組み合わせカウント情報２２におけるその抽出済みの引数値のカウント値を１増加させる。
【００４３】
以上のような処理により、図３に示す引数組み合わせカウント情報２２が生成される。この例では、各行（１行が１つの引数値についての情報である）の末尾の、「：」（コロン）の後の数字が、出現回数のカウント値である。
【００４４】
キャッシュ情報生成部１１６は、バリアブルデータファイル２０全体の処理を終了した時の引数組み合わせカウント情報２２に含まれる引数値群の中から、出現回数のカウント値が、当該引数値に対応する閾値以上であるものをキャッシュ対象として抽出する。
【００４５】
例えば、図５に例示した引数組み合わせカウント情報２２のうち、引数値情報２３ａのカウント値は１であり、この引数値情報２３ａに対応する引数フィールド“URL, TELMUN”についての閾値はデフォルト値「２」であるので、この引数値情報２３ａに含まれる引数“090-1111-2222, http://example.com”はキャッシュ対象には選ばれない。一方、引数値情報２３ｂのカウント値は３であり、これは引数フィールド“URL”についての明示的な閾値「３」以上であるので、引数値情報２３ｂに含まれる引数値“http://example.com”はキャッシュ対象として抽出される。引数値情報２３ｃのカウント値は、閾値「３」未満なので、キャッシュ対象には選ばれない。
【００４６】
以上のような処理により、引数組み合わせカウント情報２２から図５に例示するようなキャッシュ情報２５が生成される。このキャッシュ情報２５は、キャッシュ対象として抽出された引数値のリストである。
【００４７】
再び図４に戻ると、ステップＳ２０の処理によりキャッシュ情報２５が生成されると、印刷指示部１１２はバリアブルデータ処理部１２０を起動し、バリアブル印刷処理を実行させる（Ｓ３０）。ステップＳ３０におけるバリアブルデータ処理部１２０、ＱＲコードキャッシュ判定部１２２、キャッシュオブジェクトチェック部１２４、及びＱＲコードイメージ作成部１２８の処理の例を、図１及び図６を参照して説明する。
【００４８】
バリアブルデータ処理部１２０は、フォーム１０内の各描画コマンドを順に実行していく際に、ＱＲコード描画コマンドを見つけると、そのコマンドの引数３０を当該レコードから読み出し、ＱＲコードキャッシュ判定部１２２に渡す。ＱＲ描画コマンドが複数の引数を含んでいる場合、それら複数の引数の値を、ＱＲコード引数３０として渡す。ＱＲコードキャッシュ判定部１２２は、その引数を取得する（Ｓ４０）。
【００４９】
ＱＲコードキャッシュ判定部１２２は、そのＱＲコード引数３０がキャッシュ情報２５に含まれているかどうかを調べ、含まれている場合はその引数３０から生成される画像要素（この例ではＱＲコード画像）をキャッシュ対象であると判定する（Ｓ４２）。ＱＲコード引数３０がキャッシュ対象でないと判定した場合、ＱＲコードキャッシュ判定部１２２は、そのＱＲコード引数３０をＱＲコードイメージ作成部１２８に渡し、そのＱＲコード引数３０を表すＱＲコード画像を生成させる。生成されたＱＲコード画像はバリアブルデータ処理部１２０に渡される（Ｓ４４）。このとき、生成したＱＲコード画像はキャッシュされない（すなわち、キャッシュオブジェクト記憶部１２６には保存されない）。バリアブルデータ処理部１２０は、受け取ったＱＲコード画像を、ＱＲコード描画コマンドの実行結果とし、メモリ上の印刷用の画像の領域に書き込む。
【００５０】
ステップＳ４２でＱＲコードキャッシュ判定部１２２が、ＱＲコード引数３０から生成される画像要素がキャッシュ対象であると判定した場合、その引数３０の値がキャッシュオブジェクトチェック部１２４に渡される。
【００５１】
キャッシュオブジェクトチェック部１２４は、受け取ったＱＲコード引数３０の値に対応するＱＲコード画像がキャッシュオブジェクト記憶部１２６に記憶（キャッシュ）されているかどうかを調べる（Ｓ４６）。キャッシュされていなければ、キャッシュオブジェクトチェック部１２４は、そのＱＲコード引数３０をＱＲコードイメージ作成部１２８に渡し、そのＱＲコード引数３０を表すＱＲコード画像を生成させる。生成されたＱＲコード画像は、ＱＲコード描画コマンドの実行結果としてバリアブルデータ処理部１２０に渡される（Ｓ４８）。そして、このとき、生成されたＱＲコード画像をキャッシュオブジェクト記憶部１２６にキャッシュ（格納）する（Ｓ５０）。このとき、ＱＲコード画像は、例えばＱＲコード引数３０の値と対応づけて、キャッシュオブジェクト記憶部１２６に格納される。この場合、ＱＲコード引数３０の値が、キャッシュされたＱＲコード画像のインデックスとなる。
【００５２】
ステップＳ４６で、受け取ったＱＲコード引数３０の値に対応するＱＲコード画像がキャッシュオブジェクト記憶部１２６に記憶されていることが分かれば、キャッシュオブジェクトチェック部１２４は、そのＱＲコード画像をキャッシュオブジェクト記憶部１２６から取得し、ＱＲコード描画コマンドの実行結果としてバリアブルデータ処理部１２０に返す（Ｓ５２）。
【００５３】
以上に説明したように、この実施形態では、バリアブル印刷の過程で生成される全ての画像要素をキャッシュするのではなく、あらかじめ指定された注目描画コマンドの実行結果の画像要素のうち、あらかじめ指定された閾値以上の回数使用されるもののみをキャッシュする。どの描画コマンドを注目描画コマンドとするかや閾値をユーザが指定しておけば、個々のレコードの個々のフィールドの値を個別にキャッシュ対象に指定しなくても、自動的にキャッシュ対象の画像要素が判定される。
【００５４】
図７及び図８は、実施形態の別の実装例を示す図である。図７及び図８において、図１内の要素と同じ要素には同じ符号を付して説明を省略する。
【００５５】
図７の例では、クライアント２００がフォームを作成し、クライアント３００がユーザからバリアブルデータファイル２０についての印刷指示を受ける。クライアント２００及び３００とプリントサーバー４００とは、それぞれ通信部２０２，３０２及び４０２を介して相互に通信可能となっている。
【００５６】
クライアント２００が作成したフォーム１０は、通信部２０２及び４０２を介してプリントサーバー４００に入力される。プリントサーバー４００は、入力されたフォーム１０をフォームデータベース１０６に登録すると共に、そのフォーム１０から抽出フィールド情報１５を生成して記憶する。
【００５７】
クライアント３００から、通信部３０２及び４０２を介してバリアブルデータファイル２０についての印刷指示が到来すると、プリントサーバー４００は、そのバリアブルデータファイル２０からキャッシュ情報２５を生成する。そして、このキャッシュ情報２５を用いて、バリアブルデータ処理部１２０が各レコードの画像を生成する際の描画結果の画像要素のキャッシュ処理を制御する。
【００５８】
図８の例は、クライアント５００にフォーム作成及び管理の機能、フォームからの抽出フィールド情報１５の作成機能、及びバリアブルデータファイル２０からのキャッシュ情報２５の作成機能を持たせた例である。クライアント５００に対してユーザがバリアブルデータファイル２０についての印刷を指示した場合、クライアント５００内の引数組み合わせカウント部１１４及びキャッシュ情報生成部１１６がそのファイル２０からキャッシュ情報２５を生成する。そして、バリアブルデータファイル２０、そのファイル２０内で指定されたフォーム１０、及びそのファイル２０から作成したキャッシュ情報２５を、通信部５０２及び６０２を介してプリントサーバー６００に送る。プリントサーバー６００は、受け取ったそれらの情報を用いて、バリアブルデータ処理部１２０が各レコードの画像を生成する際に、生成した画像要素に対してキャッシュ処理を行うか否かを制御する。
【００５９】
以上、実施形態を説明した。以上に説明した実施形態はあくまで一例に過ぎない。本発明の範囲内で、上述の実施形態について様々な変形が考えられる。例えば、以上ではＱＲコード描画コマンドを注目描画コマンドとしたが、これは一例に過ぎない。また、画像処理装置に注目描画コマンドを指定する手段を設けてもよい。
【００６０】
以上に例示した画像処理装置、プリントサーバー４００又は６００，クライアント２００、３００又は５００は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図９に示すように、ＣＰＵ７００等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）７０２およびリードオンリメモリ（ＲＯＭ）７０４等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）７０６を制御するＨＤＤコントローラ７０８、各種Ｉ／Ｏ（入出力）インタフェース７１０、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース７１２等が、たとえばバス７１４を介して接続された回路構成を有する。また、そのバス７１４に対し、例えばＩ／Ｏインタフェース７１０経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ７１６、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ７１８、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭ７０２に読み出されＣＰＵ７００等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用ＬＳＩ(Large Scale Integration)、ＡＳＩＣ（Application Specific Integrated Circuit、特定用途向け集積回路）又はＦＰＧＡ（Field Programmable Gate Array）等のハードウエア回路として構成してもよい。
【図面の簡単な説明】
【００６１】
【図１】実施形態の画像処理装置の一例の概略構成を示す図である。
【図２】フォーム（描画プログラム）から抽出フィールド情報を生成する処理を説明するための図である。
【図３】バリアブルデータファイルから引数組み合わせ情報を生成する処理を説明するための図である。
【図４】実施形態の画像処理装置が実行する処理の一例を示すフローチャートである。
【図５】引数抽出情報からキャッシュ情報を生成する処理を説明するための図である。
【図６】バリアブル印刷実行時のキャッシュ制御の手順の一例を示すフローチャートである。
【図７】実施形態の実装例を示す図である。
【図８】実施形態の実装例を示す図である。
【図９】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【００６２】
１０  フォーム、１５  抽出フィールド情報、２０  バリアブルデータファイル、２５  キャッシュ情報、１００  フォーム作成部、１０２  フォーム登録部、１０４  フォーム管理部、１０６  フォームデータベース、１０８  フォーム解析部、１１０  抽出フィールド情報記憶部、１１２  印刷指示部、１１４  引数組み合わせカウント部、１１６  キャッシュ情報生成部、１２０  バリアブルデータ処理部、１２２  ＱＲコードキャッシュ判定部、１２４  キャッシュオブジェクトチェック部、１２６  キャッシュオブジェクト記憶部、１２８  ＱＲコードイメージ作成部、１３０  出力部。
【図１】
2010044665.tif 000003
【図２】
2010044665.tif 000004
【図３】
2010044665.tif 000005
【図４】
2010044665.tif 000006
【図５】
2010044665.tif 000007
【図６】
2010044665.tif 000008
【図７】
2010044665.tif 000009
【図８】
2010044665.tif 000010
【図９】
2010044665.tif 000011