(57)【要約】【課題】描画に時間のかかる要素を含む可変データ画像形成を高速化する。【解決手段】画像形成装置は、複数のグラフ画像生成部１０と、ページ画像生成部２０を備える。分配部３０は、入力された可変データ１００をページ画像生成部２０に渡すと共に、可変データ１００をレコード単位に分割して各グラフ画像生成部１０に分配する。グラフ画像生成部１０は、分配されたレコードを引数としてレイアウトプログラム２００中のグラフ描画コマンドを実行し、その実行結果のグラフ画像をグラフ画像管理部５０に登録する。ページ画像生成部２０は、可変データ１００の先頭のレコードから順に、レイアウトプログラム２００を適用して印刷画像を生成する。このときページ画像生成部２０は、グラフ描画コマンドについてはグラフ画像管理部５０からそのコマンドに対応するグラフ画像を取得して利用する。【選択図】図１
2008167153.tif 000002
【特許請求の範囲】
【請求項１】
分配されたレコードについて第１の描画命令を実行し、当該レコードに対応する第１種類の画像を生成する複数の第１種類画像生成部と、
前記各第１画像生成部が生成した各レコードに対応する第１種類の画像を記憶する第１種類画像記憶部と、
処理対象の可変データに含まれるレコードを前記各第１種類画像生成部に対して分配する分配部と、
１以上の命令を含む描画プログラムを前記可変データ中のレコードごとに実行する文書画像生成部であって、前記描画プログラム内の前記第１の描画命令については、当該第１の描画命令を実行する代わりに、当該レコードに対応する前記第１種類の画像を前記第１種類画像記憶部から取得して割り付けることにより、各レコードについての文書画像を生成する文書画像生成部と、
を備える可変データ画像生成装置。
【請求項２】
前記第１種類画像生成部は、分配されたレコードについて第１の描画命令を実行した場合に、生成した第１種類の画像を、その第１の描画命令とレコードの組に対応づけて前記第１種類画像記憶部に登録し、
前記第１種類画像生成部は、分配されたレコードと前記第１の描画命令との組に対応する第１種類の画像が前記第１種類画像記憶部に登録されている場合は、当該レコードについての前記第１種類の描画命令の実行を取りやめる、
ことを特徴とする請求項１記載の可変データ画像生成装置。
【請求項３】
前記分配部は、前記可変データ中のレコード群をレコードの内容の近さに応じてクラスタリングすることにより、前記第１種類画像生成部の数のクラスタを生成し、生成された各クラスタを前記各第１種類画像生成部に分配する、
ことを特徴とする請求項１記載の可変データ画像生成装置。
【請求項４】
請求項１ないし３のいずれか１項に記載の可変データ画像生成装置と、前記可変データ画像生成装置の文書画像生成部が生成した文書画像を印刷する印刷装置と、を有する可変データ画像形成システム。
【請求項５】
分配されたレコードについて第１の描画命令を実行し、当該レコードに対応する第１種類の画像を生成する複数の第１種類画像生成部と、
前記各第１画像生成部が生成した各レコードに対応する第１種類の画像を記憶する第１種類画像記憶部と、
処理対象の可変データに含まれるレコードを前記各第１種類画像生成部に対して分配する分配部と、
１以上の命令を含む描画プログラムを前記可変データ中のレコードごとに実行する文書画像生成部であって、前記描画プログラム内の前記第１の描画命令については、当該第１の描画命令を実行する代わりに、当該レコードに対応する前記第１種類の画像を前記第１種類画像記憶部から取得して割り付けることにより、各レコードについての文書画像を生成する文書画像生成部と、
してコンピュータを機能させるための可変データ画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変データ画像生成装置、可変データ画像形成システム及び可変データ画像生成プログラムに関する。
【背景技術】
【０００２】
データベースと連携することで、対象ごとに内容を差し替えて印刷する可変データ印刷技術が知られている。可変データ印刷は、可変印刷又はバリアブル印刷等とも呼ばれる。近年の可変データ印刷では、宛名などのような単なる文字列の差し替えにとどまらず、データベースのレコードに応じてグラフやその他複雑な画像の差し替えも可能となっている。
【０００３】
特許文献１には、固定画像をメモリ内にキャッシュし、後で描画した可変画像を重畳して個々の出力画像を生成する装置が示されている。
【０００４】
特許文献２には、格納された表データとレイアウト情報とから、表とこれに対応するグラフを含んだ画像を生成する装置が示されている。
【０００５】
特許文献３には、グラフデータを画像として格納し、各種装飾を重ねて描画する装置が示されている。
【０００６】
【特許文献１】特許第２６１０８４号明細書
【特許文献２】特許第２８２８３０号明細書
【特許文献３】特許第３０１５３７号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、グラフなどのように描画に比較的時間のかかる要素を個々の対象ごとに差し替える場合、対象ごとの出力画像を形成する際にそのような要素の描画を行っていたのでは、その描画処理に要する時間がオーバーヘッドとなり、出力画像を形成する処理の効率が低下する。
【０００８】
この代わりに、当該要素をすべての対象についてあらかじめ描画して保存しておき、対象ごとの出力画像を形成する際には、保存されている当該要素の画像を他の部分と合成する方法も考えられる。しかし、この方法では、出力画像の形成が始まるまでに時間がかかる。
【０００９】
本発明は、描画に比較的時間のかかる要素を個々の対象ごとに差し替える可変データ画像形成の処理を高速化することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に係る発明は、分配されたレコードについて第１の描画命令を実行し、当該レコードに対応する第１種類の画像を生成する複数の第１種類画像生成部と、前記各第１画像生成部が生成した各レコードに対応する第１種類の画像を記憶する第１種類画像記憶部と、処理対象の可変データに含まれるレコードを前記各第１種類画像生成部に対して分配する分配部と、１以上の命令を含む描画プログラムを前記可変データ中のレコードごとに実行する文書画像生成部であって、前記描画プログラム内の前記第１の描画命令については、当該第１の描画命令を実行する代わりに、当該レコードに対応する前記第１種類の画像を前記第１種類画像記憶部から取得して割り付けることにより、各レコードについての文書画像を生成する文書画像生成部と、を備える可変データ画像生成装置である。
【００１１】
請求項２に係る発明は、請求項１に係る発明において、前記第１種類画像生成部は、分配されたレコードについて第１の描画命令を実行した場合に、生成した第１種類の画像を、その第１の描画命令とレコードの組に対応づけて前記第１種類画像記憶部に登録し、前記第１種類画像生成部は、分配されたレコードと前記第１の描画命令との組に対応する第１種類の画像が前記第１種類画像記憶部に登録されている場合は、当該レコードについての前記第１種類の描画命令の実行を取りやめる、ことを特徴とする。
【００１２】
請求項３に係る発明は、請求項１に係る発明において、前記分配部は、前記可変データ中のレコード群をレコードの内容の近さに応じてクラスタリングすることにより、前記第１種類画像生成部の数のクラスタを生成し、生成された各クラスタを前記各第１種類画像生成部に分配する、ことを特徴とする。
【００１３】
請求項４に係る発明は、請求項１ないし３のいずれか１項に記載の可変データ画像生成装置と、前記可変データ画像生成装置の文書画像生成部が生成した文書画像を印刷する印刷装置と、を有する可変データ画像形成システムである。
【００１４】
請求項５に係る発明は、分配されたレコードについて第１の描画命令を実行し、当該レコードに対応する第１種類の画像を生成する複数の第１種類画像生成部と、前記各第１画像生成部が生成した各レコードに対応する第１種類の画像を記憶する第１種類画像記憶部と、処理対象の可変データに含まれるレコードを前記各第１種類画像生成部に対して分配する分配部と、１以上の命令を含む描画プログラムを前記可変データ中のレコードごとに実行する文書画像生成部であって、前記描画プログラム内の前記第１の描画命令については、当該第１の描画命令を実行する代わりに、当該レコードに対応する前記第１種類の画像を前記第１種類画像記憶部から取得して割り付けることにより、各レコードについての文書画像を生成する文書画像生成部と、してコンピュータを機能させるための可変データ画像生成プログラムである。
【発明の効果】
【００１５】
請求項１、４又は５に係る発明によれば、各レコードに対応する文書画像の形成が、本発明を用いない場合と比べて、高速化できる。
【００１６】
請求項２に係る発明によれば、生成した第１種類の画像を登録しておき、対応する画像が登録されている場合には当該画像を再利用するので、第１種類画像生成部の処理を高速化できる。
【００１７】
請求項３に係る発明によれば、ひとつの第１種類画像生成部で処理するレコードの内容が近さに応じてクラスタリングされるので、第１種類画像生成部の処理を高速化できる。
【発明を実施するための最良の形態】
【００１８】
まず、図１を参照して、実施形態の画像形成装置の例を説明する。この例の画像形成装置は、情報レコード（以下、単にレコードという）ごとに該レコードに応じたグラフ画像を含んだ印刷画像を生成する。この画像形成装置には、複数のレコードを含んだ可変データ１００と、レコードを印刷画像に変換するためのコマンド群が記述されたレイアウトプログラム２００とが入力される。
【００１９】
レイアウトプログラム２００には、グラフ画像の描画を指示するグラフ描画コマンドの他に、例えばテキストを描画するコマンドのようにグラフ以外の画像を描画するコマンドや、それらグラフやテキストなどの画像オブジェクトの印刷画像内での位置を指示するコマンドなどが含まれる。この例では、レコードごとの印刷画像には、レコードごとに該レコードに応じたグラフ画像が含まれることになる。レイアウトプログラム２００には、そのようにレコードごとに該レコードに応じた画像オブジェクトを描画するためのコマンドの他に、どのレコードの印刷画像にも含まれる固定的な画像オブジェクトの描画を指示するコマンドを含んでいてもよい。以上のように、レイアウトプログラム２００は、以下のようなコマンドを含み得る。
【００２０】
・レコードを所定の書式に変換するコマンド
・固定のデータを所定の書式に変換するコマンド
・上記書式を文字やグラフその他の画像オブジェクトとしてカレント描画位置に描画するコマンド
・上記書式を元にカレント描画位置を変更するコマンド
【００２１】
図２にレイアウトプログラムの一例を示す。例示したレイアウト識別子「Layout0001」のレイアウトプログラムは、座標（１００，１００）を起点として、レコード中の「UserID」の項目の値（文字列）を描画し、次に座標（１００，２００）を起点として、１００×１００画素の円グラフを描画し、その描画結果を印刷画像として出力する処理を示している。生成される円グラフは、レコード中の項目「AssetA」、「AssetB」、「AssetC」の値に応じて円を分割したグラフである。
【００２２】
再び図１に戻り、入力されたレイアウトプログラム２００は、レイアウトプログラム管理部４０に格納される。格納されたレイアウトプログラム２００は、レイアウト識別子により識別される。レイアウトプログラム管理部４０は、グラフ画像生成部１０及びページ画像生成部２０からのレイアウト識別子を指定した要求に応じて、その識別子に対応するレイアウトプログラム２００を提供する。
【００２３】
この画像形成装置は、複数のグラフ画像生成部１０と１つのページ画像生成部２０とを備える。グラフ画像生成部１０は、レコード中のデータ項目に応じたグラフ画像を生成する。ページ画像生成部２０は、レコードに対応する印刷画像を生成する。印刷画像には、レコードごとのグラフ画像が含まれる。本実施形態では、描画処理のために比較的時間を要するグラフ描画の処理を複数のグラフ画像生成部１０により並列処理することで、印刷処理全体の効率を向上させる。
【００２４】
分配部３０は、入力された可変データ１００をそのままページ画像生成部２０に分配すると共に、その可変データ１００をレコード単位に分割し、複数のグラフ画像生成部１０に分配する。例えば、図３に例示する可変データ１００が入力された場合を考える。この可変データ１００の先頭の行には、レイアウト識別子「Layout0001」のレイアウトプログラムを使用することを示すレイアウト指示コマンド１０２が記述されている。そして第２行には「UserID」、「AssetA」、「AssetB」、「AssetC」の４項目からなるレコードの定義１０４が、第３，第４行には２人のユーザについてのレコードが、ＣＳＶ形式で記述されている。なお、レコードの記述形式はＣＳＶ形式以外でもよい。このような可変データ１００が与えられた場合、分配部３０は、それを１レコード分ずつの分割データ１１０ａ，１１０ｂに分割する。分割データ１１０ａ，１１０ｂは、それぞれレイアウト指示コマンド１０２とレコード定義１０４とを含むので、これ単体で解釈可能である。また、分割データ１１０ａは更にレコード１０６を、分割データ１１０ｂは更にレコード１０８を含む。図３の例は、可変データ１００中に２つのレコードが含まれる場合の例であったが、可変データ１００中に更に多くのレコードが含まれる場合も、同様に、可変データ１００をレコードごとに分割し、その分割結果にレイアウト指示コマンド１０２とレコード定義１０４を付加することで、分割データが生成される。
【００２５】
分配部３０は、このように可変データ１００中の先頭のレコードから順に分割して分割データ１１０ａ、１１０ｂ、・・・を生成し、これら分割データを先頭から順にラウンドロビン方式で各グラフ画像生成部１０に順に分配する。例えば、グラフ画像生成部１０が２つある場合は、第１のグラフ画像生成部１０には１，３，５，・・・番目というように奇数番目の分割レコードが順に分配され、第２のグラフ画像生成部１０には２，４，６，・・・番目というように偶数番目の分割レコードが順に分配される。
【００２６】
なお、以上の例では、可変データ１００を１レコードずつ分割したが、グラフ画像生成部１０の処理速度が速ければ、もっと多いレコード数を単位として分割してもよい。
【００２７】
各グラフ画像生成部１０は、可変データ処理部１２とグラフ描画部１４を備える。可変データ処理部１２は、分配部３０から受け取った分割データ１１０ａ，１１０ｂ，・・・に対し、レイアウトプログラムを適用する処理を実行する。可変データ処理部１２の処理手順を、図４に示す。
【００２８】
この手順では、可変データ処理部１２は、受け取った分割データ中のレイアウト識別子をレイアウトプログラム管理部４０に渡し、その識別子に対応するレイアウトプログラムを取得する（Ｓ１１）。そして、そのレイアウトプログラム中の先頭のコマンドを取得し（Ｓ１２）、そのコマンドがグラフ描画コマンドであるかどうかを判定する（Ｓ１４）。レイアウトプログラムから取得したコマンドがグラフ描画コマンドでなければ、可変データ処理部１２は、そのコマンドを模擬的に実行する（Ｓ１６）。例えば、取得したコマンドがカレント描画位置を移動するコマンドのように、グラフ描画部１４が担当するグラフ描画コマンド以外のコマンドである場合、ステップＳ１６でそのコマンドが実行される。ステップＳ１６でのコマンドの模擬実行では、コマンドが画像の描画を指示するコマンドである場合、実際の描画は行わない。印刷画像の描画内容を決める内部的な制御変数を、コマンドに応じて変更する。このコマンドの模擬的な実行により、可変データ処理部１２の内部状態は変化する。このように、可変データ処理部１２がレイアウトプログラムを先頭から順に実行することで、後のグラフ画像の描画に影響を与える可能性のある内部状態が正しく更新される。この実行の後、処理はステップＳ１７に進む。
【００２９】
ステップＳ１４の判定において、対象となるコマンドがグラフ描画部１４の担当するグラフ描画コマンドであれば、そのグラフ描画コマンドの引数に、その分割データのレコード中の各項目の値をセットし、グラフ描画部１４にグラフ描画コマンドと引数の組を渡して実行させる（Ｓ１５）。
【００３０】
グラフ描画部１４は、受け取ったグラフ描画コマンドと引数の組をグラフ画像特定キーとし、このキーに対応するグラフ画像の有無をグラフ画像管理部５０に問い合わせる。グラフ画像管理部５０は、受け取ったキーに対応するグラフ画像を格納しているか否かを示す真偽値をグラフ描画部１４に返す。問い合わせ対象のグラフ画像がグラフ画像管理部５０内にあればグラフ描画部１４は何もせず処理を終了し、可変データ処理部１４に処理完了を通知する。なければそのグラフ画像特定キーが示すグラフ描画コマンドを引数で実行してグラフ画像を生成し、生成したグラフ画像をそのグラフ画像特定キーに対応づけてグラフ画像管理部５０に登録した上で、可変データ処理部１２に処理完了を通知する。
【００３１】
例えば、グラフ描画部１４が、図３の分割データ１１０ａ中のレコードについて、図２に示すレイアウトプログラムLayout0001の４行目の円グラフ描画コマンドを実行した場合、図５に示すように、グラフ画像特定キー"[[(資産A)10000] [(資産B)20000] [(資産C)30000] 100 100 ] DRAWPIE"に対応づけてグラフ画像がグラフ画像管理部５０に登録される。
【００３２】
このように、グラフ描画部１４は、可変データ処理部１２から受け取ったグラフ描画コマンドと引数の組が、いずれかのグラフ画像生成部１０が既に作成したことのあるグラフ画像と同じ画像を表すものであればグラフ描画コマンドの実行は行わない。
【００３３】
可変データ処理部１２は、グラフ描画部１４から処理完了が通知されると、ステップＳ１７に進む。
【００３４】
可変データ処理部１２は、ステップＳ１７において、レイアウトプログラムから次のコマンドの取得を試みる。ここで、次のコマンドが取得できたか否かを判定し（Ｓ１３）、取得できなければ、レイアウトプログラムの末尾まで処理が完了したということなので、可変データ処理部１２は処理を終了する。次のコマンドが取得できた場合は、ステップＳ１４以降の処理を繰り返す。
【００３５】
各グラフ画像生成部１０は、分配部３０から分割データを受け取るごとに、以上のような処理を実行する。
【００３６】
次に、ページ画像生成部２０について説明する。ページ画像生成部２０は、可変データ処理部２２及びページ描画部２４を備える。可変データ処理部２２は、分配部３０から受け取った可変データ１００中のレコードごとに、レイアウトプログラムを適用する処理を実行する。可変データ処理部２２の処理手順を、図６に示す。
【００３７】
この手順では、可変データ処理部２２は、分配部３０から受け取った可変データ１００中のレイアウト識別子をレイアウトプログラム管理部４０に渡し、その識別子に対応するレイアウトプログラムを取得する（Ｓ２１）。次に可変データ１００の先頭のレコードを取得する（Ｓ２２）。次にレイアウトプログラム中の先頭のコマンドと引数を取得し（Ｓ２３）、そのコマンドと引数をページ描画部２４に渡して実行させる（Ｓ２５）。レイアウトプログラム中に記述されたコマンドの引数が変数となっており、この変数がステップＳ２２又はＳ２６で取得したレコードの項目に合致する場合は、その項目の値がその引数にセットされる。また、コマンドの引数が、可変データ１００の処理の進行に応じて変化する変数となっている場合もある。例えば、印刷ページ画像にページ番号を描画するコマンドの場合、引数はページ描画部２４がページを描画するごとにインクリメントされる。また、印刷結果の検査や後段の装置における印刷物の識別などのためのコードとして、ページごと又はレコードごとに識別コードを印刷するコマンドもある。このようなコマンドの場合、引数はページごとに又はレコードごとに、所定の規則に応じて変化する。このように、引数がレコードやページに応じて決まるものである場合は、可変データ処理部２２がそのような引数を管理し、ページ描画部２４に渡す。
【００３８】
以上のようにしてページ描画部２４にコマンド実行を指示すると、可変データ処理部２２は、レイアウトプログラムから次のコマンドの取得する（Ｓ２６）。ここで、次のコマンドが取得できたか否かを判定し（Ｓ２４）、取得できた場合は、ステップＳ２５及びＳ２６の処理を繰り返す。取得できなければ、レイアウトプログラムの末尾まで処理が完了したということなので、可変データ処理部２２は可変データ１００から次のレコードの取得を試みる（Ｓ２７）。ここで、次のレコードが取得できたか否かを判定し（Ｓ２８）、取得できた場合は、ステップＳ２３に戻り、取得したレコードについてレイアウトプログラムの先頭から処理を行う。次のレコードが取得できなかった場合は、可変データ１００の末尾まで処理が完了したということなので、当該可変データ１００についての処理は完了する。
【００３９】
次に、可変データ処理部２２からコマンド実行を指示されたページ描画部２４の処理手順を、図７を参照して説明する。まずページ描画部２４は、可変データ処理部２２から渡されたコマンドがグラフ描画コマンドであるかどうかを判定する（Ｓ３１）。そのコマンドがグラフ描画コマンドでなければ、ページ描画部２４は、そのコマンドを実行する（Ｓ３２）。例えば、取得したコマンドが文字画像オブジェクトを描画するコマンドであれば、引数として含まれる文字列を描画する。ページ番号を描画するコマンドであれば、引数に含まれるページ番号の数字を描画する。カレント描画位置の移動を指示するコマンドの場合は、引数が示す座標にカレント描画位置を移動する。
【００４０】
可変データ処理部２２から受け取ったコマンドがグラフ描画部１４の担当するグラフ描画コマンドであれば、ページ描画部２４は、そのグラフ描画コマンドと引数との組をグラフ画像特定キーとしてグラフ画像管理部５０に問い合わせを行い、そのキーに対応するグラフ画像を取得し、取得したグラフ画像を印刷ページ画像のカレント描画位置に重畳する（Ｓ３３）。複数のグラフ画像生成部１０で並列的にグラフ画像を生成しているので、たいていの場合は、ページ描画部２４がグラフ画像を取得しに行ったときには、そのグラフ画像はグラフ画像管理部５０内に存在する。仮に、存在しない場合は、ページ描画部２４は所定時間待った後、グラフ画像管理部５０に再度問い合わせを行い、グラフ画像が取得できるまでその問い合わせを繰り返す。
【００４１】
以上のような処理により、ページ描画部２４は、レコードごとに１又は複数ページからなる印刷画像を生成する。生成された印刷画像は、印刷部６０に渡される。印刷部６０は、受け取った印刷画像を用紙上に印刷する。印刷部６０としては、例えばレーザープリンタを用いてもよいし、インクジェットプリンタを用いてもよい。またその他の方式の印刷装置を用いてもよい。なお、ページ描画部２４と印刷部６０との間にバッファを設けてもよい。
【００４２】
図２のレイアウトプログラムLayout0001と図３の可変データ１００とをこの画像形成装置に入力した場合、図８に示すような印刷画像３０２及び３０４が得られる。例えば、印刷画像３０２は、user_1というＩＤを持つユーザについての印刷画像であり、当該ユーザのレコードの内容を反映した円グラフと、当該ユーザのＩＤの文字列とを含んでいる。
【００４３】
本実施形態では、グラフ画像生成部１０は複数で並列動作するが、最終的な印刷画像を生成するページ画像生成部２０は１つである。この１つのページ画像生成部２０がレイアウトプログラム２００を可変データ１００内の各レコードに順番に適用することで、各レコードに応じた印刷画像を生成する。このようにページ画像生成部２０が１つなので、ページ番号のように可変データ１００の先頭レコードについての印刷画像から順に所定の規則で割り付けるべき情報も、各印刷画像に対して正しく割り付けられる。
【００４４】
以上の例では、画像処理装置は、円グラフを描画するグラフ画像生成部１０を複数有していた。しかし、これに限らず、画像形成装置が、複数の画像種類の各々を担当する画像生成部をそれぞれ複数持っていてもよい。例えば円グラフを担当するグラフ画像生成部と、棒グラフを担当するグラフ画像生成部とをそれぞれ複数有するなどである。このような場合、分配部３０は、同じレコードに対応する分割データをすべての画像種類の画像生成部に分配する。また、１つのグラフ画像生成部が複数種類のグラフ描画コマンドを担当する構成としてもよい。例えば、１つのグラフ画像生成部が、１つのレイアウトプログラムを実行する中で、円グラフ描画コマンドを見つければ円グラフ画像を生成し、棒グラフ描画コマンドを見つければ棒グラフ画像を生成するようにしてもよい。
【００４５】
また以上の例では可変データ１００をレコード単位に分割した分割データをラウンドロビン方式で各グラフ画像生成部１０に割り当てたが、このような割り当ては一例に過ぎない。この他にも、例えば、可変データ１００中のレコード群に対し、レコードの近さに基づくクラスタリング処理を行い、それらレコードを画像形成装置内のグラフ画像生成部の個数のクラスタに分けてもよい。クラスタリング処理において、例えば、レコードの各項目の値の組を多次元空間の座標と見て、その座標同士の距離が近いものを同じクラスタにまとめればよい。分配部３０は、そのクラスタにレイアウト指示コマンド１０２及びレコード定義１０４を付加して分割データを生成し、その分割データを各グラフ画像生成部に対してそれぞれ１つずつ割り当ててもよい。この場合、グラフ画像生成部内にキャッシュを設ける。グラフ画像生成部１０は、レコードに対するコマンドの適用結果を、コマンドと引数の組をキーとしてそのキャッシュに格納し、コマンドを実行する際に同じキーの処理結果がそのキャッシュにあれば、その処理結果を利用する。同じクラスタに属するレコードはお互いに値が近いので、キャッシュがヒットする可能性は少なくない。
【００４６】
また以上の例では、可変データ１００中にレイアウト識別子があらかじめ記述されているとしたが、これも必須ではない。この代わりに、可変データ１００とレイアウトプログラム２００の組が入力された際に、画像形成装置がレイアウトプログラム２００にレイアウト識別子を付与してレイアウトプログラム管理部４０に登録すると共に、そのレイアウト識別子を可変データ１００に対応づけて分配部３０に渡すようにしてもよい。
【００４７】
また以上の例では、グラフ画像の描画をレコード毎に並列処理したが、並列処理の対象はグラフ画像に限らない。例えば、レコードに含まれる項目の値（例えばユーザ名）を複雑なロゴ画像に変換したり、電子透かしやステガノグラフィとして他の画像に埋め込んだりする画像処理にはかなりの時間を要する。そのような時間を要する画像処理を実行するユニットを並列化してもよい。
【００４８】
以上に例示した画像形成装置における印刷部６０以外の部分は、たとえばＡＳＩＣ（Application Specific Integrated Circuit、特定用途向け集積回路）やＦＰＧＡ（Field Programmable Gate Array）等のハードウエア回路として構成してもよいし、一部ないし全部をソフトウエアで実現してもよい。ソフトウエアで実現する場合、画像形成装置の制御部に上述の各部の機能又は処理内容を記述したプログラムを実行させればよい。制御部は、例えば、ハードウエアとして、図９に示すように、ＣＰＵ７０等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）７２およびリードオンリメモリ（ＲＯＭ）７４等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）７６を制御するＨＤＤコントローラ７８、各種Ｉ／Ｏ（入出力）インタフェース８２、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース８８等が、たとえばバス８６を介して接続された回路構成を有する。また、そのバス８６に対し、例えばＩ／Ｏインタフェース経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ８０、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ８４、などが接続されてもよい。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、画像形成装置にインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭ７２に読み出されＣＰＵ７０等のマイクロプロセッサにより実行されることにより、実施形態の処理が実現される。
【００４９】
なお、並行処理を効率的に行うために、ハードウエアとしてプロセッサを複数有するマルチプロセッサシステムを採用してもよい。また、マイクロプロセッサとして、複数のプロセッサコアを備えているものや、たとえばハイパースレッディングのようなプロセッサ内のレジスタやパイプライン回路の空き時間を有効利用して１つのプロセッサをあたかも複数のプロセッサであるかのように見せる技術が利用できるものを用いてもよい。
【図面の簡単な説明】
【００５０】
【図１】実施形態の装置構成の例を示す図である。
【図２】レイアウトプログラム管理部におけるレイアウトプログラムの管理の様子を示す図である。
【図３】可変データの分割の仕方の例を説明するための図である。
【図４】グラフ画像生成部中の可変データ処理部の処理手順の例を示すフローチャートである。
【図５】グラフ画像管理部のデータ内容の一例を示す図である。
【図６】ページ画像生成部中の可変データ処理部の処理手順の例を示すフローチャートである。
【図７】ページ描画部の処理手順の例を示すフローチャートである。
【図８】生成される印刷画像の例を示す図である。
【図９】画像形成装置の制御部のハードウエア構成の一例を示す図である。
【符号の説明】
【００５１】
１０  グラフ画像生成部、１２  可変データ処理部、１４  グラフ描画部、２０  ページ画像生成部、２２  可変データ処理部、２４  ページ描画部、３０  分配部、４０  レイアウトプログラム管理部、５０  グラフ画像管理部、６０  印刷部、１００  可変データ、２００  レイアウトプログラム。
【図１】
2008167153.tif 000003
【図２】
2008167153.tif 000004
【図３】
2008167153.tif 000005
【図４】
2008167153.tif 000006
【図５】
2008167153.tif 000007
【図６】
2008167153.tif 000008
【図７】
2008167153.tif 000009
【図８】
2008167153.tif 000010
【図９】
2008167153.tif 000011
【手続補正書】
【提出日】平成19年10月10日(2007.10.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
分配部と、並列処理を行う複数の第１種類画像生成部と、第１種類画像記憶部と、文書画像生成部と、を備える可変データ画像生成装置であって、
前記分配部は、処理対象の可変データに含まれるレコードを前記各第１種類画像生成部に対して分配し、
前記複数の第１種類画像生成部の各々は、分配されたレコードについて第１の描画命令を実行して当該レコードに対応する第１種類の画像を生成し、
前記第１種類画像記憶部は、前記各第１種類画像生成部が生成した各レコードに対応する第１種類の画像を記憶し、
前記文書画像生成部は、１以上の命令を含む描画プログラムを前記可変データ中のレコードごとに実行して各レコードについての文書画像を生成する文書画像生成部であって、前記描画プログラム内の前記第１の描画命令については、当該第１の描画命令を実行する代わりに、当該レコードに対応する前記第１種類の画像を前記第１種類画像記憶部から取得して割り付けることにより、各レコードについての文書画像を生成する、
可変データ画像生成装置。
【請求項２】
前記第１種類画像生成部は、分配されたレコードについて第１の描画命令を実行した場合に、生成した第１種類の画像を、その第１の描画命令とレコードの組に対応づけて前記第１種類画像記憶部に登録し、
前記第１種類画像生成部は、分配されたレコードと前記第１の描画命令との組に対応する第１種類の画像が前記第１種類画像記憶部に登録されている場合は、当該レコードについての前記第１種類の描画命令の実行を取りやめる、
ことを特徴とする請求項１記載の可変データ画像生成装置。
【請求項３】
前記分配部は、前記可変データ中のレコード群を、レコードの各項目の値の組を多次元空間の座標としたときのレコード同士の距離に応じてクラスタリングすることにより、前記第１種類画像生成部の数のクラスタを生成し、生成された各クラスタを前記各第１種類画像生成部に分配する、
ことを特徴とする請求項１記載の可変データ画像生成装置。
【請求項４】
請求項１ないし３のいずれか１項に記載の可変データ画像生成装置と、前記可変データ画像生成装置の文書画像生成部が生成した文書画像を印刷する印刷装置と、を有する可変データ画像形成システム。
【請求項５】
コンピュータを、分配部と、並列処理を行う複数の第１種類画像生成部と、第１種類画像記憶部と、文書画像生成部と、を備える可変データ画像生成装置として動作させるための可変データ画像生成プログラムであって、
前記分配部は、処理対象の可変データに含まれるレコードを前記各第１種類画像生成部に対して分配し、
前記複数の第１種類画像生成部の各々は、分配されたレコードについて第１の描画命令を実行して当該レコードに対応する第１種類の画像を生成し、
前記第１種類画像記憶部は、前記各第１種類画像生成部が生成した各レコードに対応する第１種類の画像を記憶し、
前記文書画像生成部は、１以上の命令を含む描画プログラムを前記可変データ中のレコードごとに実行して各レコードについての文書画像を生成するものであって、前記描画プログラム内の前記第１の描画命令については、当該第１の描画命令を実行する代わりに、当該レコードに対応する前記第１種類の画像を前記第１種類画像記憶部から取得して割り付けることにより、各レコードについての文書画像を生成する、
ことを特徴とする可変データ画像生成プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
請求項１に係る発明は、分配部と、並列処理を行う複数の第１種類画像生成部と、第１種類画像記憶部と、文書画像生成部と、を備える可変データ画像生成装置であって、前記分配部は、処理対象の可変データに含まれるレコードを前記各第１種類画像生成部に対して分配し、前記複数の第１種類画像生成部の各々は、分配されたレコードについて第１の描画命令を実行して当該レコードに対応する第１種類の画像を生成し、前記第１種類画像記憶部は、前記各第１種類画像生成部が生成した各レコードに対応する第１種類の画像を記憶し、前記文書画像生成部は、１以上の命令を含む描画プログラムを前記可変データ中のレコードごとに実行して各レコードについての文書画像を生成するものであって、前記描画プログラム内の前記第１の描画命令については、当該第１の描画命令を実行する代わりに、当該レコードに対応する前記第１種類の画像を前記第１種類画像記憶部から取得して割り付けることにより、各レコードについての文書画像を生成する、可変データ画像生成装置である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
請求項３に係る発明は、請求項１に係る発明において、前記分配部は、前記可変データ中のレコード群を、レコードの各項目の値の組を多次元空間の座標としたときのレコード同士の距離に応じてクラスタリングすることにより、前記第１種類画像生成部の数のクラスタを生成し、生成された各クラスタを前記各第１種類画像生成部に分配する、ことを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
請求項５に係る発明は、コンピュータを、分配部と、並列処理を行う複数の第１種類画像生成部と、第１種類画像記憶部と、文書画像生成部と、を備える可変データ画像生成装置として動作させるための可変データ画像生成プログラムであって、前記分配部は、処理対象の可変データに含まれるレコードを前記各第１種類画像生成部に対して分配し、前記複数の第１種類画像生成部の各々は、分配されたレコードについて第１の描画命令を実行して当該レコードに対応する第１種類の画像を生成し、前記第１種類画像記憶部は、前記各第１種類画像生成部が生成した各レコードに対応する第１種類の画像を記憶し、前記文書画像生成部は、１以上の命令を含む描画プログラムを前記可変データ中のレコードごとに実行して各レコードについての文書画像を生成するものであって、前記描画プログラム内の前記第１の描画命令については、当該第１の描画命令を実行する代わりに、当該レコードに対応する前記第１種類の画像を前記第１種類画像記憶部から取得して割り付けることにより、各レコードについての文書画像を生成する、ことを特徴とする可変データ画像生成プログラムである。