JP2010128941A - 印刷制御装置、印刷制御方法、及びコンピュータプログラム - Google Patents

印刷制御装置、印刷制御方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP2010128941A
JP2010128941A JP2008304796A JP2008304796A JP2010128941A JP 2010128941 A JP2010128941 A JP 2010128941A JP 2008304796 A JP2008304796 A JP 2008304796A JP 2008304796 A JP2008304796 A JP 2008304796A JP 2010128941 A JP2010128941 A JP 2010128941A
Authority
JP
Japan
Prior art keywords
page
page data
common
data
script
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008304796A
Other languages
English (en)
Other versions
JP5183444B2 (ja
JP2010128941A5 (ja
Inventor
Yosuke Ito
洋輔 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008304796A priority Critical patent/JP5183444B2/ja
Priority to US12/624,199 priority patent/US8345298B2/en
Publication of JP2010128941A publication Critical patent/JP2010128941A/ja
Publication of JP2010128941A5 publication Critical patent/JP2010128941A5/ja
Application granted granted Critical
Publication of JP5183444B2 publication Critical patent/JP5183444B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1822Analysing the received data before processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

【課題】 描画されたデータをページ単位でキャッシュして再利用するための処理を、従来よりも簡略化する。
【解決手段】 RIP済データを使用するかどうかを判定するに際し、処理対象のページが再利用可能なオブジェクトのみで構成されているか否かを判定する。この判定の結果、処理対象のページが再利用可能なオブジェクトのみで構成されていない場合には、RIP済データを使用せずに当該処理対象のページに対してRIPを行う。一方、処理対象のページが再利用可能なオブジェクトのみで構成されていない場合には、当該処理対象のページと一致する共通ページが共通ページテーブル507に登録されているか否かを判定する。この判定の結果、登録されている場合にはRIP済データを再利用し、登録されていない場合にはRIP済データを使用せずに当該処理対象のページに対してRIPを行う。
【選択図】 図5

Description

本発明は、印刷制御装置、印刷制御方法、及びコンピュータプログラムに関し、特に、描画済みのデータを再利用して印刷するために用いて好適なものである。
近年、電子写真方式の印刷装置やインクジェット方式の印刷装置の高速化・高画質化に伴い、印刷業界に対抗して、プリント・オン・デマンド(Print On Demand:以下、PODと表記する)と呼ばれる印刷形態が出現しつつある。PODは、ディジタル印刷機を活用して、大規模な印刷装置で扱うジョブより比較的小ロットのジョブを扱い、ディジタルプリントを実現するものである。
また、PODから派生し、ディジタル印刷機の特徴を生かしたVDP(Variable Data Print)と呼ばれる手法がある。これは、データベース等にある情報に従って、プリントする内容をその都度変えることができるものである。VDPは、例えば、提供する商品情報を顧客情報に従って変えるダイレクトメールや、光熱費等の利用状況に従って数値を変える利用明細書等に利用することができる。そのため、VDPは、ダイレクトメール作成等を行う市場において急速に利用が広まっている。
このVDPにおける印刷ジョブを記述する標準フォーマットとしてPPML(Personalized Print Markup Language)がある。PPMLの特徴としては、描画時に再利用される描画オブジェクトと、一度しか描画されない描画オブジェクトとを分けて記述することが挙げられる。
前述した通り、VDPは、データベース等にある情報を参照してプリントする内容をその都度変える手法である。この場合、現実的には複数のレコードで内容が共通なページが印刷ジョブに含まれていることが多々ある。例えば、顧客毎に内容をカスタマイズした商品カタログにおいて、商品の注文方法を記述したページを共通にする場合がある。その他の例としては、顧客に応じてページごと差し替えたジョブを生成して印刷する"バージョニング"という手法がある。バージョニングは、例えば女性にはページAを掲載し、男性にはページBを掲載する、といったように、ページ単位での差し替えが行われる。
以上のような共通な内容のページについてRIP(Raster Image Processing)を行ったRIP済データをプリンタのメモリやHDDにキャッシュし、再利用することで印刷の高速化を図ることができる。ただし、そのためには、今RIPしたいページに対応するRIP済データが既にキャッシュされているかどうかを調べる必要がある。ここで、どのページがどのページと共通しているのか、という情報を文法上記述できるPDL(Page Description Language)スクリプトをRIPする場合を考える。PDLスクリプトをRIPする場合には、RIPの際に、プリンタ側にどのページがキャッシュ済みなのかという情報を記憶しておく。そして、記憶しておいた情報と、PDLスクリプトの情報とを参照することで、今RIPしたいページがキャッシュ済みかどうかをすぐに判定できる。
しかしながら、先に述べたPPMLのスクリプトにおいては、その文法上、どのページがどのページと共通しているのか、という情報を記述できない。従って、今RIPしたいページがキャッシュ済みかどうかを判定するためには、今RIPしたいページのスクリプトと、キャッシュに記憶されているページに対応するスクリプトとの一致を判定する一致判定処理を行う必要がある。しかしながら、この一致判定処理にかかる計算量によって、ページをキャッシュする利点が失われてしまう可能性がある。
ページ単位でキャッシュを行う従来技術として特許文献1に記載の技術がある。特許文献1では、PDLをページ単位のデータに分割し、ページ単位でデータをキャッシュする。そして、ページ毎に前回のデータとの比較を行い、比較の結果、両者が一致したページについては、RIPを行わずに、前回のRIP済データを利用する。このようにすることによって、ページ単位の差込み印刷等において、印刷データの展開に要する時間を短縮する。
また、特許文献2に記載の技術では、複数のページで共通して使用されるオブジェクト単位の再利用データを抽出し、抽出した再利用データを合成してフォームデータを作成する。そして、ここで作成されたフォームデータと、当該フォームデータに含まれないオブジェクト単位のデータとを合成して印刷する。
特開平10−021018号公報 特開2006−237825号公報
しかしながら、特許文献1に記載の技術では、あらゆるPDLを対象としてページのキャッシュを行うことを想定している。このため、印刷ジョブに含まれる全てのページをキャッシュし、比較する必要がある。したがって、一致判定回数が多くなるという問題がある。
また、特許文献2に記載の技術では、ページ間で共通しているオブジェクトを見つけるために、どのオブジェクトがどのページに出現するかという一覧を予め作成する必要がある。また、その一覧を作成するために、オブジェクト同士の一致判定回数が増えてしまうという問題があった。
前述したように、PPMLで記述されたジョブを処理する際に、共通ページのRIP済データのキャッシュを行おうとすると、今RIPしたいページのスクリプトと、キャッシュに記憶されているページに対応するスクリプトとの一致判定処理を行う必要がある。しかしながら、従来の技術では、この一致判定処理を必ず行わなければならない。また、この一致判定処理にかかる計算量が多い。したがって、ページ単位でデータをキャッシュして再利用することの利点が失われる虞があるという問題点がある。
本発明は、このような問題点に鑑みてなされたものであり、描画されたデータをページ単位でキャッシュして再利用するための処理を、従来よりも簡略化することを目的とする。
本発明の印刷制御装置は、再利用可能なオブジェクトと、一度しか描画されないオブジェクトとを分けて記述することができる言語でページデータが記述されたスクリプトを解析する解析手段と、前記スクリプトに記述されているページデータのうち、再利用可能なオブジェクトのみで構成されているページデータを抽出する抽出手段と、前記抽出手段により抽出されたページデータに対して描画のための処理を行って描画処理済データを生成する生成手段と、前記生成手段により生成された描画処理済データと、当該描画処理済データの生成元であるページデータとを相互に対応付けて記憶媒体に記憶する記憶手段と、前記抽出手段により抽出されたページデータと、前記記憶媒体に既に記憶されているページデータとを比較して、これらが一致するか否かを判定する判定手段と、前記判定手段により、前記抽出手段により抽出されたページデータと、前記記憶媒体に既に記憶されているページデータとが一致していると判定された場合に、当該ページデータに対応付けられて前記記憶媒体に既に記憶されている描画処理済データを、前記生成手段により描画処理済データを生成する代わりに出力する出力手段と、を有することを特徴とする。
本発明によれば、スクリプトに記述されているページデータが、再利用可能なオブジェクトのみで構成されている場合には、スクリプトに記述されているページデータと、既に記憶されているページデータとが一致するかどうかを判定する必要がなくなる。したがって、描画済データをページ単位でキャッシュして再利用するための処理を、従来よりも簡略化することが可能になる。
(第1の実施形態)
以下に、図面を参照しながら、本発明の第1の実施形態について説明する。
本実施形態では、PPMLの文法上の特性を活かし、ページ同士の一致判定回数を減らす施策と、オブジェクト同士の一致判定回数を減らす施策を講じている。前述したように、PPMLは、描画時に再利用される描画オブジェクトと、一度しか描画されない描画オブジェクトとを分けて記述することができるものである。
ページ同士の一致判定回数を減らす施策としては以下の2つがある。
まず1つ目は、最初に共通ページの候補を絞り込む処理を行う施策である。このようにすれば、全てのページに対して、キャッシュされたページとの一致判定を行わずに済む。よって、ページ同士の一致判定回数を減らすことができる。この処理に関しては、図9等を用いて説明する。
2つ目は、ページの遷移を考慮して、一致判定を行うページの順番を決定する処理を行う施策である。このようにすれば、一致する可能性の高いページからページの一致判定を行うことになる。よって、なるべく早く一致するページを見つけられる可能性が高くなり、結果的にページ同士の一致判定回数を減らすことができる。この処理に関しては、図11及び図12等を用いて説明する。
次に、オブジェクト同士の一致判定回数を減らす施策としては以下の2つがある。
まず1つ目は、既に記憶しているページのバイト数と、これからRIPを行うページのバイト数とを比較してから、実際のオブジェクトの一致判定を行う施策である。このようにすれば、ページのバイト数が異なるページに対しては、オブジェクト同士の一致判定回数が不要になる。このため、オブジェクト同士の一致判定回数を減らすことができる。この処理に関しては、図13等を用いて説明する。
2つ目は、ページ内で前景となるオブジェクトから順番に一致判定を行う。これにより、背景は共通しているが前景が異なる共通ページ同士の一致判定において、早い段階で不一致と判定することができる。このため、オブジェクト同士の一致判定回数を減らすことができる。この処理に関しては、図14等を用いて説明する。
まず、共通ページの定義を説明する。図1は、共通ページを含んだ複数ページの印刷ジョブの概念の一例を示す図である。図1に示す例では、4人分のレコード101〜104の夫々が、2ページの個別ページと2ページの共通ページとから構成されていることを示している。尚、個別ページとは、レコード毎にパーソナライズされたページのことである。この例のように本実施形態では、全てのレコードに共通したページだけでなく、一部のレコードに共通したページも共通ページと呼ぶこととする。
<システム構成>
次に、本実施形態における印刷システムの構成について説明する。
図2は、印刷システムの概略構成の一例を示す図である。
図2において、1台以上のクライアントパーソナルコンピュータ(以下、クライアントPCと称する)202、プリンタコントローラ203及びプリンタ204がネットワーク201を介して相互に接続されている。
クライアントPC202は、PPMLで記述された印刷ジョブ(以下、PPMLジョブと称する)を生成し、ネットワーク201を通じてプリンタコントローラ203にPPMLジョブを送信する。PPMLジョブを受け付けたプリンタコントローラ203は、PPMLジョブの各ページのページデータに対してRIPを行ってRIP済データを生成する。このとき、RIP済データが既にキャッシュされている共通ページについては、キャッシュされているRIP済データを再利用する。そして、プリンタコントローラ203は、プリンタ204にRIP済データを送信する。プリンタ204は、受信したRIP済データを、プリンタエンジンを用いて用紙に印刷する。
<クライアントPCの構成>
次に、クライアントPC202のハードウェア構成について説明する。図3は、クライアントPC202のハードウェア構成の一例を示すブロック図である。図3に示すクライアントPC202のハードウェア構成は一例である。図3に示すものの他にも、クライアントPCのハードウェアの接続方法として様々な方法を採ることができることが一般に知られている。また、図3に示すものの他にも、様々なバスやインタフェースを有したクライアントPCの構成が一般に知られている。
CPU301は、RAM302に展開されている制御プログラムに従って、クライアントPC202全体の制御を行う。RAM302は、CPU301が実行するクライアントPC202の制御プログラムや、文書・画像等のデータが展開される(書き込まれる)内部記憶部である。ネットワークインタフェース(Net I/F)303は、CPU301の制御に基づいて、インターネットやLAN等のネットワーク201との接続を行ってデータ等を送受信する。ハードディスクドライブ(HDD)304は、クライアントPC202の制御ソフトウェアを初めとして、様々なデータを保存する。また、クライアントPC202は、ディスプレイ305、キーボード306、及びマウス等のポインティングデバイス307を備える。
HDD304に記憶されている各種ソフトウェアは、必要に応じてRAM302に展開され、同じくRAM302に展開されているオペレーティングシステムの機能を必要に応じて使用し、CPU301の制御のもと実行される。
<プリンタコントローラの構成>
次に、プリンタコントローラ203のハードウェア構成について説明する。図4は、本実施形態で使用されるプリンタコントローラ203のハードウェア構成の一例を示すブロック図である。クライアントPC202と同様に、図4に示すプリンタコントローラ203のハードウェア構成は一例であり、様々な接続方法や、様々なバスやインタフェースを有した構成を採ることができる。
CPU401は、RAM402に展開されている制御プログラムに従って、プリンタコントローラ203全体の制御を行う。RAM402は、CPU401が実行するプリンタコントローラ203の制御プログラムや、文書・画像等のデータが展開される(書き込まれる)内部記憶部である。ネットワークインタフェース(Net I/F)403は、CPU401の制御に基づいて、ネットワーク201との接続を行ってデータ等を送受信する。ハードディスクドライブ(HDD)404は、プリンタコントローラ203の制御ソフトウェアを初めとして、様々なデータを保存する。ビデオインタフェース408は、ビデオケーブルによりプリンタ204と相互に接続され、RIP済データをプリンタ204に送信するのに用いられる。また、プリンタコントローラ203は、ディスプレイ405、キーボード406、及びマウス等のポインティングデバイス407を備える。
HDD404に記憶されている各種ソフトウェアは、必要に応じてRAM402に展開され、同じくRAM402に展開されているオペレーティングシステムの機能を必要に応じて使用し、CPU401の制御のもと実行される。
<モジュール構成>
次に、RIPモジュール501のモジュール構成を説明する。図5は、RIPモジュール501のモジュール構成の一例を示す図である。RIPモジュール501は、プリンタコントローラ203のHDD404に記憶され、HDD404からRAM402に適宜展開され、CPU401の制御のもとで実行される。このRIPモジュール501において、特に特徴的な処理を行っているのは共通ページ判定部503である。共通ページ判定部503が行う処理の詳細に関しては図9等を用いて後述する。
次に、RIPモジュール501を構成するモジュールについて説明する。
インタプリタ502は、PPMLスクリプトの解釈を行うモジュールである。まず、外部のモジュールからPPMLスクリプトを受け付け、PPMLスクリプトをパーズ(parse)し、RAM402上に展開する。そして、インタプリタ502は、パーズしたページデータを共通ページ判定部503に渡し、共通ページ判定部503で行われた判定結果に応じて処理対象ページをRIPするか、キャッシュに記憶されているRIP済データを出力するかを決定する。インタプリタ502が行う処理の流れの詳細は図6を用いて後述する。
共通ページ判定部503は、インタプリタ502から受け取った処理対象ページが共通ページかどうかの判定を行う。また、共通ページ判定部503は、処理対象ページが、キャッシュされている共通ページのうち、どれと一致したかどうかを判定する。前述の通り、共通ページ判定部503は、本実施形態における特徴的な処理を行っており、その処理の流れの詳細は図9等を用いて後述する。
レンダラ504は、インタプリタ502が解釈したPPMLスクリプトの描画命令を受け付け、ラスタライズを行うモジュールである。また、レンダラ504は、インタプリタ502の指示に応じて、描画したRIP済データをそのまま出力部506に送信するか、キャッシュを行うためにインタプリタ502に送信するかを選択し、選択した方にRIP済データを送信する。
キャッシュマネージャ505は、共通ページのキャッシュを管理するモジュールである。インタプリタ502の指示に応じて以下の処理のどちらかを行う。一つは、インタプリタ502から、処理対象ページのRIP済データのキャッシュの登録指示を受け付け、それを共通ページキャッシュ508に登録する。もう一つは、インタプリタ502から、共通ページキャッシュ508に登録されている"共通ページのRIP済データ"の出力指示を受け付け、そのRIP済データを出力部506へ渡す。
本実施形態では、RIP済データとしてラスタデータを想定しており、ラスタデータをキャッシュすることを想定している。しかしながら、本発明において、キャッシュされるデータはラスタデータに限ったものではなく、デバイス(プリンタ204)に依存しない中間データをキャッシュするようにしてもよい。
出力部506は、RIPされたページをプリンタ204に出力するためのモジュールである。
共通ページテーブル507は、処理対象ページと、共通ページキャッシュ508に格納されている共通ページとの一致判定を効率的に行うために用いられるテーブルであり、プリンタコントローラ203のRAM402に記録される。図6は、共通ページテーブル507のデータ構造の一例を概念的に示す図である。
図6において、リソースIDフィールド601は、リソースIDを示すフィールドである。リソースIDは、次に説明する共通ページキャッシュ508を参照するためのIDである。
遷移履歴フィールド602は、どの共通ページがどの順番で出現したのかを示すフィールドである。以下の説明では、この遷移履歴フィールド602内の内容を、必要に応じて遷移履歴と称する。例えば、リソースIDが002のページ(共通ページB)の遷移履歴フィールド602には、「A→B→C:2回」というデータ(遷移履歴)が記憶されている。この遷移履歴は、リソースIDが002のページ(共通ページB)の1ページ前に共通ページAが出現し、リソースIDが002のページ(共通ページB)の次のページに共通ページCが出現したことが、2回あったことを示している。この遷移履歴を用いることで、処理対象ページと一致する可能性の高い共通ページを容易に且つ確実に推測できるようになる。
累積回数フィールド603は、各共通ページが1ページ目に出現した回数(累積回数)を示すフィールドである。
ポインタフィールド604は、インタプリタ502のパーズ処理によりRAM402に展開された各共通ページのページデータ605へのポインタを示すフィールドである。
尚、この共通ページテーブル507の使用方法は、図10〜図12等を用いて後述する。
図5の説明に戻り、共通ページキャッシュ508は、RIPが済んだ共通ページのデータ(RIP済データ)をキャッシュするものであり、RAM402に記録される。図7は、共通ページキャッシュ508の概念的なデータ構造の一例を示す図である。
図7において、リソースIDフィールド701は、リソースIDを示すフィールドである。このリソースIDは、キャッシュしたページデータを特定するためのIDである。このリソースIDの値は、図6に示した共通ページテーブル507内のリソースIDフィールド601内のリソースIDと対応する。
ポインタフィールド702は、プリンタコントローラ203のRAM402に展開されているRIP済データ703へのポインタを示したフィールドである。
尚、ここでは、RIP済データ703をRAM402に記録する場合を例に挙げて示した。しかしながら、RIP済データ703を記録する装置はRAM402に限定されない。例えば、RIP済データ703をプリンタコントローラ203のHDD404に記憶するようにしてもよい。また、RIP済データ703をRAM402とHDD404との両方に記憶するようにしてもよい。
一般的に、データへのアクセス速度はHDD404よりもRAM402の方が高速である。このため、RAM402とHDD404との両方にRIP済データ703を記憶する場合には、なるべくRAM402に記憶した方が処理は高速となる。しかしながら一方でRAM402は記憶容量がHDD404よりも少ない。そのため、全てのRIP済データ703をRAM402に記憶すると、RAM402の容量が不十分なときに問題が生じる。
このような問題があるため、どのRIP済データをRAM402とHDD404のどちらに記憶するのかを判断する方法が処理効率に影響する。
以下に、RIP済データ703をRAM402とHDD404のどちらに記憶するのかを判断する方法の一例を説明する。
例えば、PPMLには、再利用オブジェクトを参照するための要素(OCCURRENCE_REF)にWeight属性が付与されている場合がある。この場合には、そのWeight属性の値の大きさに応じて、RIP済データ703をRAM402とHDD404のどちらに記憶するのかを決定してもよい。この場合、ページを構成する再利用オブジェクトに付与されているWeight属性の値から、例えば平均値を求め、その平均値に基づいて各ページの重要度を算出する。そして、RAM402の記憶容量を超えてRIP済データ703(ページ)をキャッシュしなければならなくなった際には、最も重要度の低いページのRIP済データ703をRAM402からHDD404に移し変える。
また、例えばLRU(Least Recently Used)アルゴリズムやLFU(Least Frequently Used)アルゴリズムを用いて、RIP済データ703をRAM402とHDD404のどちらに記憶するのかを決定してもよい。LRUアルゴリズムを用いる場合には、前回再利用されてからその時点まで最も長い間再利用されなかったページのRIP済データ703をRAM402からHDD404に移し変える。一方、LFUアルゴリズムを用いる場合には、その時点で最も再利用されていないページのRIP済データ703をRAM402からHDD404に移し変える。
<RIPの流れ(インタプリタ502の処理)>
次に、図8のフローチャートを参照しながら、インタプリタ502により実行されるRIPの一例を説明する。図8は、1ページ分のページデータに対してRIPを行う場合のインタプリタ502の処理の一例を表すフローチャートである。以下、各処理について説明する。
まず、ステップS801において、インタプリタ502は、PPMLスクリプトの1ページ分をパーズし、RAM402に展開する。ここでパーズされた1つのページが以降の処理の処理対象ページとなる。
以上のように本実施形態では、例えば、ステップS801の処理を行うことにより解析手段の一例が実現される。
次に、ステップS802において、インタプリタ502は、処理対象ページを共通ページ判定部503に渡し、共通ページ判定部503に共通ページの一致判定を指示する。
共通ページ判定部503が、処理対象ページと、共通ページテーブル507に登録されている共通ページとが一致したと判定した場合、インタプリタ502は、その一致したページのリソースIDと、共通ページと一致したことを示すフラグを受け取る。以下の説明では、このフラグを必要に応じて一致フラグと称する。この場合、インタプリタ502は、TRUEの値が代入された一致フラグを受け取る。
また、処理対象ページは共通ページであると判定されたが、処理対象ページと、共通ページテーブル507に登録されている共通ページとが一致しなかった場合、インタプリタ502は、次の情報を共通ページ判定部503から受け取る。すなわち、インタプリタ502は、そのページのリソースIDと、FALSEの値が代入された一致フラグを共通ページ判定部503から受け取る。
また、処理対象ページが共通ページであると判定されなかった場合、インタプリタ502は、共通ページと判定されなかったことを示す値、例えば負の値が代入されたリソースIDと、FALSEの値が代入された一致フラグを共通ページ判定部503から受け取る。
尚、共通ページ判定部503で行われる以上の処理の内容は、図9を用いて後述する。
次に、ステップS803において、インタプリタ502は、ステップS802で受け取った一致フラグの値がTRUEだったか否かを判定する。この判定の結果、ステップS802で受け取った一致フラグの値がTRUEだった場合、つまり現在の処理対象ページが、共通ページテーブル507に登録されている共通ページと一致した場合には、ステップS804へ進む。一方、ステップS802で受け取った一致フラグの値がTRUEでなかった場合、つまり現在の処理対象ページが共通ページテーブル507に存在していない場合には、ステップS805へ進む。
ステップS804に進むと、インタプリタ502は、共通ページキャッシュ508を参照して、共通ページのRIP済データ703を出力することをキャッシュマネージャ505に指示する。このステップS804の処理により、現在の処理対象ページをRIPすることなくRIP済データ703を出力することができるためRIPの高速化を図ることができる。
以上のように本実施形態では、例えば、ステップS804の処理を行うことにより出力手段の一例が実現される。
一方、ステップS805に進むと、インタプリタ502は、現在の処理対象ページの解釈を行う。
次に、ステップS806において、インタプリタ502は、ステップS805で解釈された処理対象ページの描画命令をレンダラ504に渡し、処理対象ページのラスタライズをレンダラ504に指示する。これにより処理対象ページのRIPが行われる。レンダラ504は、出力部506にRIP済データを渡す。このRIP済データに基づいてプリンタ204で印刷出力が行われる。
以上のように本実施形態では、例えば、RIPが描画のための処理の一例となり、RIP済データが描画処理済データの一例となる。また、ステップS806の処理を行うことにより生成手段の一例が実現される。尚、RIP済データだけでなく、例えば中間データも描画処理済データに含まれる。
次に、ステップS807において、インタプリタ502は、ステップS802において共通ページ判定部503から正の値のリソースIDを受け取ったか否かを判定する。この判定の結果、共通ページ判定部503から正の値のリソースIDを受け取っている場合、つまり処理対象ページは共通ページであるが、共通ページテーブル507には含まれていない場合には、ステップS808に進む。ステップS808に進むのは、共通ページキャッシュ508に処理対象ページのRIP済データを格納するためである。一方、共通ページ判定部503から正の値のリソースIDを受け取っていない場合には、図8のフローチャートによる処理を終了する。
ステップS808に進むと、まずインタプリタ502は、レンダラ504に処理対象ページのRIP済データを要求し、RIP済データを受け取る。そして、インタプリタ502は、キャッシュマネージャ505に、処理対象ページのRIP済みデータを渡し、処理対象ページのRIP済データを共通ページキャッシュ508へ登録することを依頼する。
以上のように本実施形態では、例えば、ステップS808の処理を行うことにより記憶手段の一例が実現される。また、例えば、リソースIDフィールド601、701とポインタフィールド604、702を用いることにより、RAM402に記憶された"RIP済データと、そのRIP済データ生成元であるページデータ"が相互に対応付けられる。
<共通ページの判定(共通ページ判定部503の処理)>
前述したように、図8のステップS802の処理が行われると、共通ページ判定部503はインタプリタ502からの指示を受け付ける。この指示を受け付けると、共通ページ判定部503は、現在の処理対象ページが共通ページか否かの判定と、処理対象ページと一致する共通ページの探索とを行う。
ここで、このような共通ページ判定部503の処理の一例について図9のフローチャートを参照しながら説明する。図9は、共通ページ判定部503における処理の一例を説明するフローチャートである。
まず、ステップS901において、共通ページ判定部503は、処理対象ページが再利用オブジェクトのみで構成されているかを判定することで、共通ページの候補を絞り込む。
このステップS901の処理は、共通ページに含まれるオブジェクトは必ず複数回再利用されるため、PPMLを出力するアプリケーションであれば、共通ページに含まれるオブジェクトは全て再利用オブジェクトとして出力されるという仮定に基づいている。このステップS901の処理を行うことで、共通ページとはなり得ないページと、共通ページテーブル507に記録されている共通ページとの無駄な一致判定処理を回避できる。
以上のように本実施形態では、例えば、ステップS901の処理を行うことにより抽出手段の一例が実現される。
このステップS901の判定の結果、処理対象ページが再利用オブジェクトのみで構成されていないと判定された場合には、後述するステップS906に進む。一方、処理対象ページが再利用オブジェクトのみで構成されている場合には、ステップS902に進む。ステップS902に進むと、共通ページ判定部503は、ステップS901にて共通ページの候補と判定された処理対象ページと一致する"共通ページキャッシュ508内の共通ページ"を探索する。そして、共通ページ判定部503は、処理対象ページと一致する共通ページが共通ページキャッシュ508にあるか否かを判定する。このステップS902の処理でも、PPMLの性質を利用した"一致判定回数を低減させる施策"を行っている。その詳細は図10を用いて後述する。
以上のように本実施形態では、例えば、ステップS902の処理を行うことにより判定手段の一例が実現される。
このステップS902の判定の結果、処理対象ページと一致する共通ページがあると判定された場合には、ステップS903に進み、そうでない場合には、ステップS904に進む。
ステップS903に進むと、共通ページ判定部503は、ステップS903において処理対象ページと一致したと判定された共通ページのリソースIDと、TRUEの値が代入された一致フラグとを、インタプリタ502に返す。
このステップS803の処理により、図8のステップS804の処理が行われ、共通ページ判定部503から受け取ったリソースIDを持った共通ページのRIP済データの再利用が行われる。そして、後述するステップS905に進む。
一方、ステップS904に進むと、共通ページ判定部503は、新規に発行したリソースIDと、FALSEの値が代入された一致フラグとをインタプリタ502に返す。
ここで、共通ページ判定部503は、共通ページテーブル507のリソースIDフィールド601に格納されていない正の値を持ったリソースIDを新規に発行する。
このステップS904の処理により、図8のステップS806、S807、S809の処理が行われ、処理対象ページのRIPと、その処理対象ページのRIP済データが共通ページキャッシュ508に記憶される。そして、ステップS905に進む。
ステップS905に進むと、共通ページ判定部503は、共通ページテーブル507の更新を行う。ステップS905の前に、ステップS903、S904のどちらが処理されたかによって、共通ページテーブル507の更新内容は異なる。
ステップS905で共通して行う処理は、共通ページの並び順の更新である。具体的には、図6に示した遷移履歴フィールド602と、累積回数フィールド603の更新が行われる。
また、ステップS904を処理した場合のみ必要となる処理は、新規に発行したリソースIDを用いて、リソースIDフィールド601とポインタフィールド604へのレコードの追加が行われる。
前述したように、ステップS901の判定の結果、処理対象ページが再利用オブジェクトのみで構成されていないと判定された場合には、ステップS906に進む。ステップS906に進むと、共通ページ判定部503は、負の値をもったリソースIDと、FALSEの値が代入された一致フラグとをインタプリタ502に返す。
このステップS906の処理により、図8のステップS806、S807の処理が行われ、対象処理ページのRIPが行われる。この場合、処理対象ページは、共通ページキャッシュ508に記憶されない。
<処理対象ページと一致するキャッシュ内共通ページの探索>
前述したように、図9のステップS902において、共通ページ判定部503は、ステップS902にて共通ページの候補と判定した処理対象ページと一致する"共通ページテーブル507内の共通ページ"を探索する。
ここで、この共通ページ判定部503の処理の一例について図10のフローチャートを参照しながら説明する。図10は、図9のステップS902の詳細な処理の一例を説明するフローチャートである。
まず、ステップS1001において、共通ページ判定部503は、処理対象ページが、PPMLジョブの1レコード目にあたるか否かを判定する。
この判定の結果、処理対象ページが、PPMLジョブの1レコード目であった場合には、ステップS1008に進み、共通ページ判定部503は、この処理対象ページと一致するページは共通ページキャッシュ508には存在しないと判定する。このステップS1008の処理は、1レコード目にあたるページは、それ以前に処理されたページがないので、共通ページテーブル507に同じ内容のページが登録されていることはないという前提に基づいている。
この前提に当てはまらないケースとして、1レコード目に含まれる複数のページに、共通したページが含まれるケースも考えられるが、これは稀なケースであるため本実施形態では前述した前提を置いている。この前提に当てはまらないケースでは、ステップS1001の処理を行うと、レコードに共通するページ、つまり同じ内容のページが、異なったキャッシュとして登録されるためRAM402に無駄が生じる。このケースに対処する方法として、ステップS1001の処理を行わないようにしてもよい。この場合、1レコード目に含まれるページ同士も一致判定の対象となる。
尚、ここではレコードという用語を用いたが、実際には、PPMLには文書階層上のレコードにあたる階層を指定するための仕様は存在しない。そのためPPMLの記述から直接的にどのページがどのレコードに所属しているのかを識別する方法はない。そこで、以下の説明では、PPMLが持つ階層のうち、1つのDOCUMENT要素が1レコードにあたるものとして説明を行う。
ステップS1001において、処理対象ページが、PPMLジョブの1レコード目でないと判定された場合には、ステップS1002に進む。ステップS1002に進むと、共通ページ判定部503は、処理対象ページがレコードの1ページ目であるか否かを判定する。この判定の結果、処理対象ページがレコードの1ページ目である場合には、後述するステップS1006に進み、1ページ目に特有な探索処理が行われる。一方、処理対象ページがレコードの2ページ目以降である場合には、ステップS1003に進む。
ステップS1003に進むのは、ステップS1001、S1002にて該当しなかったページ、つまり処理対象ページが2レコード目以降であり、且つ2ページ目以降であった場合である。ステップS1003では、共通ページ判定部503は、図6の遷移履歴フィールド602に記録されている"ページの遷移履歴"を用いて、処理対象ページに一致する共通ページの探索を行う。ページの遷移履歴とは、どの共通ページがどの順番で出現したのかを記録したものである。このページの遷移履歴を用いることにより、現在の処理対象ページが、共通ページテーブル507内のどのページと一致する可能性が高いかを予測することができる。これにより、処理対象ページと一致するキャッシュ内の共通ページを早い段階で発見することができ、結果的にページ同士の一致判定の回数を低減することが可能となる。具体的な処理の流れは図11を用いて後述する。
次に、ステップS1004において、共通ページ判定部503は、ステップS1003の探索の結果に基づいて処理対象ページと一致する共通ページがあるか否かを判定する。この判定の結果、処理対象ページと一致する共通ページがある場合には、ステップS1005へ進み、共通ページ判定部503は、処理対象ページと一致するページが共通ページキャッシュ508に存在すると判定する。一方、処理対象ページと一致する共通ページがない場合には、ステップS1008へ進み、共通ページ判定部503は、処理対象ページと一致するページは共通ページキャッシュ508に存在しないと判定する。
前述したようにステップS1002において、処理対象ページがレコードの1ページ目であると判定された場合には、ステップS1006に進む。ステップS1006に進むと、共通ページ判定部503は、1ページ目に特有な方法で、処理対象ページに一致する共通ページを探索する。ステップS1003における"2ページ目以降の探索処理"では、ページの遷移履歴を用いるようにした。しかしながら、1ページ目に対しては、1ページ目より前のページは存在しない。このため、ページの遷移履歴からでは、処理対象ページがどのページと一致する可能性が高いのかを予測することはできない。そこで、本実施形態では、1ページ目に対しては、図6に示した共通ページテーブル507の、累積回数フィールド603に記憶されている"共通ページが1ページ目に出現した回数"を用いるようにする。具体的には、1ページ目に出現する回数が多い共通ページを参照し、その回数が多い共通ページを、比較の優先順位が高いとみなす。そして、優先順位の高い共通ページから順に処理対象ページとの比較を行う。このように1ページ目に出現する頻度が高い共通ページから処理対象ページと比較することにより、処理対象ページと一致するキャッシュ内の共通ページを早い段階で発見することができ、結果的にページ同視の一致判定の回数を低減することが可能となる。このときの実際の探索の流れについては、図13を用いて後述する。
尚、本実施形態では、図6に示した共通ページテーブル507に、1ページ目に出現する回数の情報を記憶しているが、2ページ目に出現する回数や、3ページ目に出現する回数等、所定のページに出現する回数を記憶するようにしてもよい。この場合、例えば、処理対象ページが、或るレコードの3ページ目であるとする。この場合、共通ページ判定部503は、共通ページテーブル507を参照し、3ページ目に出現する回数の多い共通ページから順に処理対象ページとの比較を行う。また、この方法を、遷移履歴を用いた方法と併用してもよい。その場合、共通ページテーブル507内の各共通ページに対し、遷移履歴を用いて評価された優先順位と、所定のページに出現する回数を用いて評価された優先順位とを加重平均する等して優先順位を決定する。
次に、ステップS1007において、共通ページ判定部503は、ステップS1006の探索の結果に基づいて処理対象ページと一致する共通ページがあるか否かを判定する。この判定の結果、処理対象ページと一致する共通ページがある場合には、ステップS1005へ進み、共通ページ判定部503は、処理対象ページと一致するページが共通ページキャッシュ508に存在すると判定する。一方、処理対象ページと一致する共通ページがない場合には、ステップS1008へ進み、共通ページ判定部503は、処理対象ページと一致するページは共通ページキャッシュ508に存在しないと判定する。
<遷移履歴を用いたページ同士の一致判定>
前述したように図10のステップS1003において、共通ページ判定部503は、図6の遷移履歴フィールド602に記録されている"ページの遷移履歴"を用いて、処理対象ページがどの共通ページと一致する可能性が高いかを予測する。そして、その可能性が高い共通ページから順に処理対象ページとの一致判定を行う。
ここで、この共通ページ判定部503の処理の一例について図11、図12を参照しながら説明する。図11は、図10のステップS1003、S1004の詳細な処理の一例を説明するフローチャートである。図12は、図10のステップS1003の処理の一例を概念的に説明する図である。図12では、1レコード目から3レコード目までの全ページと、4レコード目の2ページ目までの処理が完了しており、4レコード目の3ページ目が処理対象ページとなっている例を示している。
まず、ステップS1101において、共通ページ判定部503は、処理対象ページの1ページ前と2ページ前のリソースIDを、共通ページテーブル507から取得する。図12に示す例では、処理対象ページ1202の1ページ前はB(リソースIDは002)、2ページ前はA(リソースIDは001)である。もし、処理対象ページが2ページ目だった場合、2ページ前は存在しないので、処理対象ページの1ページ前のリソースIDのみを取得する。
次に、ステップS1102において、共通ページ判定部503は、ステップS1101で取得した2つのリソースIDに基づいて、処理対象ページと比較する共通ページの、比較を行う優先順位を決定する。本実施形態では、優先順位付けの基準の一例として、以下の(1)〜(3)を採用している。
(1)処理対象ページの1つ前と2つ前のページが一致する遷移履歴に対応する共通ページ。
(2)処理対象ページの1つ前のページが一致する遷移履歴に対応する共通ページ。
(3)処理対象ページの1つ前のページと一致しない遷移履歴に対応する共通ページ。
この例では、(1)が最も優先順位が高い共通ページであり、(3)が最も優先順位が低い共通ページとなる。
具体的に優先順位を付ける過程を説明する。
ステップS1101で述べたとおり、図12に示す例では、処理対象ページ1202の1ページ前はB(リソースIDは002)、2ページ前はA(リソースIDは001)である。例えば、図11において点線で示された「A→B→C」という遷移履歴は、処理対象ページの2つ前のページ1204と1つ前のページ1203と処理対象ページ1202の遷移に一致する。従って、この遷移履歴「A→B→C」に対応する共通ページCが、優先順位が最も高い共通ページであると評価する。また、例えば、「F→B→D」という遷移履歴は、処理対象ページ1202の1つ前のページ1203と処理対象ページ1202との遷移には一致するが、2つ前のページ1204からの遷移とは一致しない。そこで、この遷移履歴「F→B→D」に対応する共通ページDが、2番目に優先順位が高い共通ページであると評価する。また、例えば、「F→B」という遷移履歴は、処理対象ページ1202の1つ前のページ1203と処理対象ページ1202との遷移に一致しないため、この遷移履歴「F→B」に対応する共通ページBが、最も優先順位が低い共通ページであると評価する。この場合における、各共通ページの優先順位を図12の各遷移履歴の右にかっこ書きで記載している。
ここで示した優先順位の基準の例では、例えば「A→B→C」、「A→B→K」のように、優先順位が同じ遷移履歴が存在する場合がある。この場合には、その遷移履歴の出現回数が大きいものほど優先順位が高いと評価する。例えば、遷移履歴「A→B→C」が2回出現しており、遷移履歴「A→B→K」が1回だけ出現しているとすると、遷移履歴「A→B→C」の方がより優先順位が高いと評価する。
図12に示す例では、最も優先順位が高い遷移履歴は「A→B→C」である。従って、前述した優先順位の基準では、処理対象ページはC(リソースIDは003)である可能性が最も高い。そこで、ステップS1103の次の処理であるステップS1104では、共通ページCから処理対象ページとの一致判定を開始し、優先順位が高い共通ページから順に処理対象ページとの比較を行う。これにより、共通ページと一致する処理対象ページをなるべく早く見つけられる可能性が高くなり、結果的に一致判定回数を減らすことができる。
ステップS1102において、処理対象ページが2ページ目だった場合、処理対象ページの1ページ前のリソースIDのみしか取得できない場合があることを先に述べた。この場合、優先順位の基準は、1ページ前と2ページ前のリソースIDを取得できる場合と異なる方法を用いる必要がある。この場合、優先順位の基準は例えば以下のようにする。すなわち、処理対象ページの1つ前のページと一致する遷移履歴から導かれる共通ページを最も優先順位が高い共通ページとする。そして、処理対象ページの1つ前のページとは一致しない遷移履歴から導かれる共通ページを最も優先順位が低い共通ページとする。
尚、本実施形態では、3ページ分のページの遷移を遷移履歴として記憶しているが、遷移履歴に記憶するページ数は、3ページに限定されない。例えば、それ以上、つまり4ページ分以上の履歴を遷移履歴として共通ページテーブル507に記憶するようにしてもよい。また、2ページ分だけの履歴を遷移履歴として共通ページテーブル507に記憶するようにしてもよい。
また、前述した優先順位の基準は一例であり、その他の優先順位の基準で優先順位を決定してもよい。
以上のように本実施形態では、例えば、ステップS1102の処理を行うことにより決定手段の一例が実現される。また、例えば、遷移履歴フィールド602に遷移履歴を記憶することにより第2の記憶手段の一例が実現される。
次に、ステップS1103において、共通ページ判定部503は、ステップS1102で決定した優先順位に基づいて、処理対象ページと共通ページとの比較を行う。ステップS1103の具体的な処理の流れについては図13を用いて後述する。
次に、ステップS1104において、共通ページ判定部503は、ステップS1103の比較の結果に基づいて、処理対象ページと一致する共通ページがあったか否かを判定する。この判定の結果、処理対象ページと一致する共通ページがある場合には、ステップSS1105に進み、共通ページ判定部503は、現在の処理対象ページと一致する共通ページが共通ページテーブル507(共通ページキャッシュ508)に存在すると判定する。
一方、処理対象ページと一致する共通ページがない場合には、ステップS1107に進み、共通ページ判定部503は、現在の処理対象ページと一致する共通ページが共通ページテーブル507(共通ページキャッシュ508)に存在しないと判定する。
<処理対象ページと共通ページとの一致判定>
図10のステップS1007及び図11のステップS1104において、比較の優先順位に基づき、処理対象ページと、その比較対象となる共通ページとの一致判定処理を行うことを述べた。ここで、この共通ページ判定部503の処理の一例について、図13のフローチャートを参照しながら説明する。図13は、図10のステップS1006、S1007及び図11のステップS1103、S1104の詳細な処理の一例を説明するフローチャートである。
まず、ステップS1301において、共通ページ判定部503は、図10のステップS1007、図11のステップS1104で説明した処理を行う。すなわち、共通ページ判定部503は、比較する優先順位が最も高い共通ページを選択する。図10のステップS1007では、優先順位が高い共通ページは、図6に示した共通ページテーブル507の累積回数フィールド603の値が最も大きい共通ページである。一方、図11のステップS1104では、優先順位が高い共通ページは、図11のステップS1102で説明した優先順位の基準に基づいて決定される共通ページである。
ここで、既に処理対象ページとの比較が行われた共通ページはどれなのかという情報をRAM402に記憶しておき、この共通ページについては再度比較しないようにしてもよい。
次に、ステップS1302において、共通ページ判定部503は、処理対象ページのスクリプトのバイト数と、一致判定の対象となる共通ページのスクリプトのバイト数とが一致するか否かを判定する。この判定の結果、処理対象ページのスクリプトのバイト数と、一致判定の対象となる共通ページの夫々のスクリプトのバイト数とが一致しない場合には、後述するステップ1305に進む。
以上のように本実施形態では、例えば、スクリプトのバイト数がスクリプトの情報量の一例であり、ステップS1302の処理を行うことにより情報量判定手段の一例が実現される。
一方、処理対象ページのスクリプトのバイト数と、一致判定の対象となる共通ページの夫々のスクリプトのバイト数とが一致する場合には、ステップS1303に進む。ステップS1303に進むと、共通ページ判定部503は、処理対象ページに配置されているオブジェクトと、一致判定の対象となる共通ページに配置されているオブジェクトとが全て同一か否かを判定する。
本実施形態では、ステップS1303において、共通ページ判定部503は、背景オブジェクトからではなく、前景オブジェクトからオブジェクトの一致判定を行う。この処理により、背景が共通しているが前景が異なるページ同士の一致判定において、早い段階で両ページのオブジェクトが不一致と判定することができる。このため、オブジェクト同士の一致判定の回数を減らすことができる。
この処理において、どのオブジェクトが前景なのか、背景なのかという判定を直接行う必要はない。PPMLスクリプトにおいては、ページの最初の方に記述されているオブジェクトは背景オブジェクトである場合が多く、また、ページの最後の方に記述されているオブジェクトは前景オブジェクトである場合が多い。その理由は、PPMLの文法上、先に記述されるオブジェクトが、後に記述されるオブジェクトに上書きされて描画されるためであり、PPMLスクリプトを出力するアプリケーションも前述したような記述を行うことが多いためである。
そこで、前景オブジェクトから順にオブジェクト同士の一致判定を行う。本実施形態では、図14に示すように、ページの最後に記述されているオブジェクトから順に判定を開始し、ページの最初に記述されているオブジェクトを最後に判定するようにしている。
図14は、処理対象ページに配置されているオブジェクトと、一致判定の対象となる共通ページに配置されているオブジェクトとの一致判定を行う方法の一例を概念的に示す図である。
以上のように本実施形態では、例えば、ステップS1303の処理を行うことによりオブジェクト判定手段の一例が実現される。
尚、ここでは前景オブジェクトから順にオブジェクトの一致判定を行う方法を例に挙げて説明したが、必ずしもこのようにする必要はなく、背景オブジェクトから順にオブジェクトの一致判定を行うようにしてもよい。この場合、PPMLスクリプトにおいてページの最初に記述されているオブジェクトから順番に一致判定を行っていけばよい。
以上のようなステップS1303の判定の結果、処理対象ページに配置されているオブジェクトと、一致判定の対象となる共通ページに配置されているオブジェクトとが全て一致した場合には、ステップS1304に進む。ステップS1304に進むと、共通ページ判定部503は、処理対象ページと、一致判定の対象となる共通ページとが一致すると判定する。
一方、処理対象ページに配置されているオブジェクトと、一致判定の対象となる共通ページに配置されているオブジェクトとが全て一致しない場合には、ステップS1305に進む。
ステップS1305に進むと、共通ページ判定部503は、処理対象ページと比較していない共通ページが共通ページテーブル507にあるか否かを判定する。
ステップS1305の判定の結果、処理対象ページと比較していない共通ページが共通ページテーブル507にない場合には、ステップS1306に進む。ステップS1306に進むと、共通ページ判定部503は、処理対象ページと、一致判定の対象となる共通ページとが一致しないと判定する。
一方、処理対象ページと比較していない共通ページが共通ページテーブル507にある場合には、ステップS1307に進む。ステップS1307に進むと、共通ページ判定部503は、一致判定の対象となる共通ページとして前回選択した共通ページの次に優先順位が高い共通ページを一致判定の対象となる共通ページとして新たに選択する。そして、新たに選択した共通ページについてステップS1302以降の処理を行う。このようにして、共通ページテーブル507にリソースIDが登録されている全ての共通ページについて優先順位が高いものから順番にステップS1302以降の処理が繰り返し行われる。
尚、処理対象ページと、一致判定の対象となる共通ページとが一致するか否かを判定する方法は、図13に示したものに限定されない。例えば、予め共通ページのスクリプトに対しハッシュ値を求めておき、そのハッシュ値が処理対象ページのハッシュ値と一致するかどうかを判定するようにしてもよい。ハッシュ値を用いる方法は、スクリプトのバイト数が一致するかどうかの判定の代わりとして用いてもよいし、併用するようにしてもよい。
また、図13では、ステップS1305の処理で説明した通り、共通ページテーブル507内の全ての共通ページを処理対象ページとの比較対象としている。しかしながら、処理対象ページと一致判定しなければならない共通ページが非常に多い場合、一致判定処理を行って、共通ページのRIP済データを再利用する処理よりも、インタプリット及びラスタライズにかかる時間の方が短くなる場合がある可能性がある。これに対処するため、共通ページテーブル507内の全ての共通ページに対して一致判定を行わずに、共通ページテーブル507内の一部の共通ページだけに対して一致判定を行うようにしてもよい。
例えば、最も高い優先順位を得た共通ページから所定順位までの共通ページだけを対象に一致判定を行うようにしてもよい。この所定順位を決定するには、例えば以下のような方法をとる。まず、図5に示したインタプリタ502が1ページ分の解釈を行うのにかかる平均時間(図8のステップS805の処理にかかる平均時間)と、レンダラ504が1ページ分のラスタライズを行うのにかかる平均時間とをRAM402に記憶する。これらの時間の合計を時間Aとする。そして、キャッシュマネージャ505が1ページ分のRIP済データを出力するのにかかる平均時間(図8のステップS804の処理にかかる平均時間)をRAM402に記憶する。この時間を時間Bとする。最後に、ページ同士の一致判定を1回行うのにかかる平均時間をRAM402に記憶する。この時間を時間Cとする。そして、共通ページ判定部503は、以下の(1)式を用いて、許容される一致判定回数、つまり所定順位を求めることができる。
許容される一致判定回数=(A−B)/C ・・・(1)
図15は、許容される一致判定回数を導出する方法を説明する図である。
図15において、インタプリット平均処理時間とは、インタプリタ502が1ページ分の解釈を行うのにかかる平均時間(図8のステップS805の処理にかかる平均時間)である。ラスタライズ平均処理時間とは、レンダラ504が1ページ分のラスタライズを行うのにかかる平均時間である。キャッシュ出力平均処理時間とは、キャッシュマネージャ505が1ページ分のRIP済データを出力するのにかかる平均時間(図8のステップS804の処理にかかる平均時間)である。一致判定平均処理時間とは、ページ同士の一致判定を1回行うのにかかる平均時間である。
図15に示すように、インタプリット平均処理時間とラスタライズ平均処理時間との合計である時間Aから、キャッシュ出力平均処理時間Bを減算した値が、一致判定処理に許容される時間と考えることができる。そして、この時間を、一致判定平均処理時間Cで除算すると、許容される一致判定回数を求めることができる。
以上の方法では、(1)式に示す時間A、B、Cを計測する必要がある。この時間A、B、Cはオフラインで計測してもよいし、オンラインで計測してもよい。つまり、処理対象のPPMLジョブにおいて、最初の所定数のレコードを処理する際に時間A、B、Cを計測し、(1)式により所定順位を算出し、その所定順位を残りのレコードに対して適用するようにしてもよい。または、処理対象のPPMLジョブとは別の複数のPPMLジョブに対し、予め時間A、B、Cを計測し、(1)式により所定順位を算出しておき、それを実際の処理対象のPPMLジョブに対して適用するようにしてもよい。
以上のように本実施形態では、RIP済データを使用するかどうかを判定するに際し、処理対象のページが再利用可能なオブジェクトのみで構成されているか否かを判定する。この判定の結果、処理対象のページが再利用可能なオブジェクトのみで構成されていない場合には、RIP済データを使用せずに当該処理対象のページに対してRIPを行う。一方、処理対象のページが再利用可能なオブジェクトのみで構成されていない場合には、当該処理対象のページと一致する共通ページが共通ページテーブル507に登録されているか否かを判定する。この判定の結果、登録されている場合にはRIP済データを再利用し、登録されていない場合にはRIP済データを使用せずに当該処理対象のページに対してRIPを行う。したがって、RIP済データを再利用するか否かを判定するための処理を従来よりも簡略化することができる。例えば、ページ同士の一致判定の回数、オブジェクト同士の一致判定の回数を減らすことができるため、ページ単位のキャッシュの利点を失わずに印刷処理の高速化を図ることができる。特に、処理対象のページが再利用可能なオブジェクトのみで構成されている場合には、ページ同士の一致判定とオブジェクト同士の一致判定を行わないようにすることができる。よって、どのページがどのページと共通しているのかという情報を文法上記述できない言語(例えばPPML)で記述されたデータをページ単位でキャッシュして再利用するための処理を、従来よりも簡略化することができる。
また、処理対象のページと一致する共通ページが共通ページテーブル507に登録されているか否かを判定するに際し、2レコード目以降の1ページ目については、過去に1ページ目として印刷した回数の多い共通ページから優先して処理対象のページと比較する。一方、2レコード目移行の2ページ目以降については、過去に印刷を行ったジョブにおけるページの遷移に対応する共通ページから優先して処理対象のページと比較する。したがって、RIP済データを再利用するか否かを判定するための処理を、より一層簡略化することができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、遷移履歴を用い、処理対象ページと一致する可能性が高い共通ページを予測することで、処理対象ページとの一致判定を行う共通ページの優先順位を決定していた。これに対し本実施形態では、遷移履歴を用いずに、処理対象ページが含まれるレコードのページ構成が、どのレコードのページ構成と似ているか、という情報に基づいて、一致判定を行う共通ページの優先順位を決定する。このように本実施形態と前述した第1の実施形態とは、処理対象ページとの一致判定を行う共通ページの優先順位を決定する方法が主として異なる。したがって、本実施形態の説明において、前述した第1の実施形態と同一の部分については、図1〜図15に付した符号と同一の符号を付す等して詳細な説明を省略する。
図16は、レコード間のページ構成の類似度を求める方法の一例を概念的に示す図である。図16に示す例では、5レコード目の5ページ目が処理対象ページであり、1レコード目の1ページ目から、処理対象ページの1つ前のページまでが処理済であることを想定している。
ここで問題となるのは、レコード間のページ構成の類似度を求める方法である。
本実施形態では、レコード間のページ構成の類似度を例えば以下のようにして求めるようにしている。すなわち、処理対象ページ1601が含まれるレコードを構成するページ(図16に示す例では、5レコード目における、処理対象ページ1601以外のページ)が何ページあるかということや、それらのページの並び順がどれくらい類似しているか等を評価する。そして、最終的な類似度は、以上のような評価によって得られた類似度を、加重平均等を用いて総合したものとする。そして、この最終的な類似度が最も高いレコードに含まれる共通ページから順に処理対象ページ1601との一致判定を行う。具体的に説明すると、処理対象ページ1601が含まれないレコードのページ群のうち、処理対象ページ1601が含まれるレコードを構成する共通ページと一致したページ群の次のページから順番に一致判定を行う。
図16に示す例では、矩形の点線で囲っている共通ページが、処理対象ページ1601が含まれるレコードを構成する共通ページと一致するページ群であり、楕円の点線で囲っている共通ページが、一致判定の対象となる共通ページである。
また、処理対象ページ1601が含まれるレコードのページ構成との類似度が最も高いのは、1レコード目である。したがって、優先順位が最も高い共通ページはSとなる。また、処理対象ページ1601が含まれるレコードのページ構成との類似度が2番目に高いのは、2レコード目である。したがって、優先順位が2番目高い共通ページはLとなる。また、処理対象ページ1601が含まれるレコードのページ構成との類似度が3番目に高いのは、4レコード目である。したがって、優先順位が3番目高い共通ページはMとなる。
以上のように、レコード間のページ構成の類似度に基づいて、一致判定を行う共通ページの優先順位を決定するようにしても、第1の実施形態で説明したのと同じ効果を得ることができる。
(本発明の他の実施形態)
前述した本発明の実施形態における印刷制御装置を構成する各手段、並びに印刷制御方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図8、図9、図10、図11、図13に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の第1の実施形態を示し、共通ページを含んだ印刷ジョブの概念の一例を示す図である。 本発明の第1の実施形態を示し、印刷システムの概略構成の一例を示す図である。 本発明の第1の実施形態を示し、クライアントPCのハードウェア構成の一例を示すブロック図である。 本発明の第1の実施形態を示し、プリンタコントローラのハードウェア構成の一例を示すブロック図である。 本発明の第1の実施形態を示し、RIPモジュールのモジュール構成の一例を示す図である。 本発明の第1の実施形態を示し、共通ページテーブルのデータ構造の一例を概念的に示す図である。 本発明の第1の実施形態を示し、共通ページキャッシュの概念的なデータ構造の一例を示す図である。 本発明の第1の実施形態を示し、1ページ分のRIP処理を行う場合のインタプリタの処理の一例を表すフローチャートである。 本発明の第1の実施形態を示し、共通ページ判定部における処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、図9のステップS902の詳細な処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、図10のステップS1003、S1004の詳細な処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、図10のステップS1003の処理の一例を概念的に説明する図である。 本発明の第1の実施形態を示し、図10のステップS1006、S1007及び図11のステップS1103、S1104の詳細な処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、処理対象ページに配置されているオブジェクトと、一致判定の対象となる共通ページに配置されているオブジェクトとの一致判定を行う方法の一例を概念的に示す図である。 本発明の第1の実施形態を示し、許容される一致判定回数を導出する方法を説明する図である。 本発明の第2の実施形態を示し、レコード間のページ構成の類似度を求める方法の一例を概念的に示す図である。
符号の説明
201 ネットワーク
202 クライアントPC
203 プリンタコントローラ
204 プリンタ
501 RIPモジュール
502 インタプリタ
503 共通ページ判定部
504 レンダラ
505 キャッシュマネージャ
507 出力部
507 共通ページテーブル
508 共通ページキャッシュ

Claims (11)

  1. 再利用可能なオブジェクトと、一度しか描画されないオブジェクトとを分けて記述することができる言語でページデータが記述されたスクリプトを解析する解析手段と、
    前記スクリプトに記述されているページデータのうち、再利用可能なオブジェクトのみで構成されているページデータを抽出する抽出手段と、
    前記抽出手段により抽出されたページデータに対して描画のための処理を行って描画処理済データを生成する生成手段と、
    前記生成手段により生成された描画処理済データと、当該描画処理済データの生成元であるページデータとを相互に対応付けて記憶媒体に記憶する記憶手段と、
    前記抽出手段により抽出されたページデータと、前記記憶媒体に既に記憶されているページデータとを比較して、これらが一致するか否かを判定する判定手段と、
    前記判定手段により、前記抽出手段により抽出されたページデータと、前記記憶媒体に既に記憶されているページデータとが一致していると判定された場合に、当該ページデータに対応付けられて前記記憶媒体に既に記憶されている描画処理済データを、前記生成手段により描画処理済データを生成する代わりに出力する出力手段と、を有することを特徴とする印刷制御装置。
  2. 前記抽出手段により抽出されたページデータの遷移を記憶媒体に記憶する第2の記憶手段と、
    前記第2の記憶手段により記憶された、ページデータの遷移に基づいて、前記スクリプトに記述されているページデータと比較されるページデータの優先順位を決定する決定手段とを有し、
    前記判定手段は、前記決定手段により決定された優先順位に従って、前記記憶媒体に既に記憶されているページデータを選択し、選択したページデータと、前記スクリプトに記述されているページデータとを比較して、これらが一致するか否かを判定することを特徴とする請求項1に記載の印刷制御装置。
  3. 前記判定手段は、前記スクリプトに記述されているページデータの情報量と、前記記憶媒体に既に記憶されているページデータの情報量とが一致するか否かを判定する情報量判定手段と、
    前記情報量判定手段により情報量が一致すると判定された場合に、前記スクリプトに記述されているページデータのオブジェクトと、前記記憶媒体に既に記憶されているページデータのオブジェクトとが一致するか否かを判定するオブジェクト判定手段とを有し、
    前記情報量判定手段により情報量が一致しないと判定された場合と、前記オブジェクト判定手段によりオブジェクトが一致しないと判定された場合に、前記スクリプトに記述されているページデータと、前記記憶媒体に既に記憶されているページデータとが一致しないと判定し、
    前記オブジェクト判定手段によりオブジェクトが一致すると判定された場合に、前記記憶媒体に既に記憶されているページデータとが一致すると判定することを特徴とする請求項1又は2に記載の印刷制御装置。
  4. 前記オブジェクト判定手段は、前景となるオブジェクトから先にオブジェクトが一致するか否かを判定することを特徴とする請求項3に記載の印刷制御装置。
  5. 前記判定手段は、前記記憶媒体に記憶された複数ページのページデータのうち、一部のページのページデータについて、前記スクリプトに記述されているページデータと一致するか否かを判定することを特徴とする請求項1〜4の何れか1項に記載の印刷制御装置。
  6. 前記一部のページは、1ページ分の前記ページデータから前記描画処理済データを生成するのに要する時間から、前記描画処理済データを出力するのに要する時間を減算した時間に対応する数のページであることを特徴とする請求項5に記載の印刷制御装置。
  7. 前記生成手段は、前記判定手段により、前記スクリプトに記述されているページデータと、前記記憶媒体に既に記憶されているページデータとが一致しないと判定された場合に、当該ページデータに対して描画のための処理を行って描画処理済データを生成することを特徴とする請求項1〜6の何れか1項に記載の印刷制御装置。
  8. 前記生成手段は、前記抽出手段により再利用可能なオブジェクトのみで構成されているページデータが抽出されたかった場合にも、当該ページデータに対して描画のための処理を行って描画処理済データを生成することを特徴とする請求項1〜7の何れか1項に記載の印刷制御装置。
  9. 前記言語は、PPMLであることを特徴とする請求項1〜8の何れか1項に記載の印刷制御装置。
  10. 再利用可能なオブジェクトと、一度しか描画されないオブジェクトとを分けて記述することができる言語でページデータが記述されたスクリプトを解析する解析ステップと、
    前記スクリプトに記述されているページデータのうち、再利用可能なオブジェクトのみで構成されているページデータを抽出する抽出ステップと、
    前記抽出ステップにより抽出されたページデータに対して描画のための処理を行って描画処理済データを生成する生成ステップと、
    前記生成ステップにより生成された描画処理済データと、当該描画処理済データの生成元であるページデータとを相互に対応付けて記憶媒体に記憶する記憶ステップと、
    前記抽出ステップにより抽出されたページデータと、前記記憶媒体に既に記憶されているページデータとを比較して、これらが一致するか否かを判定する判定ステップと、
    前記判定ステップにより、前記抽出ステップにより抽出されたページデータと、前記記憶媒体に既に記憶されているページデータとが一致していると判定された場合に、当該ページデータに対応付けられて前記記憶媒体に既に記憶されている描画処理済データを、前記生成ステップにより描画処理済データを生成する代わりに出力する出力ステップと、を有することを特徴とする印刷制御方法。
  11. 再利用可能なオブジェクトと、一度しか描画されないオブジェクトとを分けて記述することができる言語でページデータが記述されたスクリプトを解析する解析ステップと、
    前記スクリプトに記述されているページデータのうち、再利用可能なオブジェクトのみで構成されているページデータを抽出する抽出ステップと、
    前記抽出ステップにより抽出されたページデータに対して描画のための処理を行って描画処理済データを生成する生成ステップと、
    前記生成ステップにより生成された描画処理済データと、当該描画処理済データの生成元であるページデータとを相互に対応付けて記憶媒体に記憶する記憶ステップと、
    前記抽出ステップにより抽出されたページデータと、前記記憶媒体に既に記憶されているページデータとを比較して、これらが一致するか否かを判定する判定ステップと、
    前記判定ステップにより、前記抽出ステップにより抽出されたページデータと、前記記憶媒体に既に記憶されているページデータとが一致していると判定された場合に、当該ページデータに対応付けられて前記記憶媒体に既に記憶されている描画処理済データを、前記生成ステップにより描画処理済データを生成する代わりに出力する出力ステップと、をコンピュータに実行させることを特徴とするコンピュータプログラム。
JP2008304796A 2008-11-28 2008-11-28 印刷制御装置、印刷制御方法、及びコンピュータプログラム Expired - Fee Related JP5183444B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008304796A JP5183444B2 (ja) 2008-11-28 2008-11-28 印刷制御装置、印刷制御方法、及びコンピュータプログラム
US12/624,199 US8345298B2 (en) 2008-11-28 2009-11-23 Print control apparatus, for performing a printing operation by reusing rendering completed data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008304796A JP5183444B2 (ja) 2008-11-28 2008-11-28 印刷制御装置、印刷制御方法、及びコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2010128941A true JP2010128941A (ja) 2010-06-10
JP2010128941A5 JP2010128941A5 (ja) 2012-01-19
JP5183444B2 JP5183444B2 (ja) 2013-04-17

Family

ID=42222569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008304796A Expired - Fee Related JP5183444B2 (ja) 2008-11-28 2008-11-28 印刷制御装置、印刷制御方法、及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US8345298B2 (ja)
JP (1) JP5183444B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011136447A (ja) * 2009-12-28 2011-07-14 Canon Inc 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP4905746B1 (ja) * 2011-09-12 2012-03-28 富士ゼロックス株式会社 描画装置、描画処理プログラム、画像出力装置
JP2012118746A (ja) * 2010-11-30 2012-06-21 Fuji Xerox Co Ltd 印刷文書処理システム、キャッシュ装置及びプログラム
JP2012192531A (ja) * 2011-03-15 2012-10-11 Konica Minolta Business Technologies Inc 印刷制御装置及び印刷制御プログラム
JP2013132038A (ja) * 2011-06-23 2013-07-04 Riso Kagaku Corp 画像処理装置および上位装置
CN103377481A (zh) * 2012-04-27 2013-10-30 北大方正集团有限公司 表重用方法及装置
WO2014115368A1 (ja) * 2013-01-28 2014-07-31 大日本スクリーン製造株式会社 印刷システム、印刷制御装置および印刷制御プログラム
JP2015069614A (ja) * 2013-10-01 2015-04-13 コニカミノルタ株式会社 処理プログラム及び処理装置並びに処理方法
JP2017078924A (ja) * 2015-10-20 2017-04-27 京セラドキュメントソリューションズ株式会社 プログラム及び情報処理装置
JP2017077655A (ja) * 2015-10-20 2017-04-27 京セラドキュメントソリューションズ株式会社 画像形成装置及びプログラム
US10661038B2 (en) 2009-06-05 2020-05-26 RedMed Pty Ltd Methods and devices for the detection of hypopnoea

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4663805B2 (ja) * 2009-09-18 2011-04-06 キヤノン株式会社 印刷装置、印刷処理方法及びプログラム
JP4893815B2 (ja) * 2009-12-11 2012-03-07 コニカミノルタビジネステクノロジーズ株式会社 バリアブル印刷制御装置及び制御プログラム
US20120281254A1 (en) * 2011-05-05 2012-11-08 International Business Machines Corporation Generation and regeneration of web application pages for printing
JP2012245734A (ja) * 2011-05-30 2012-12-13 Canon Inc 画像処理装置、画像処理方法及びプログラム
JP6139830B2 (ja) * 2011-11-07 2017-05-31 キヤノン株式会社 印刷装置及びその制御方法
JP5288039B1 (ja) * 2012-11-06 2013-09-11 富士ゼロックス株式会社 印刷画像処理システムおよびプログラム
US10203933B2 (en) 2014-11-06 2019-02-12 Microsoft Technology Licensing, Llc Context-based command surfacing
US9922098B2 (en) 2014-11-06 2018-03-20 Microsoft Technology Licensing, Llc Context-based search and relevancy generation
JP6519941B2 (ja) * 2015-03-12 2019-05-29 富士ゼロックス株式会社 印刷制御装置、画像形成システムおよびプログラム
JP2017167574A (ja) * 2016-03-14 2017-09-21 富士通株式会社 情報処理装置、通知監視プログラム、及び、通知監視方法
US11068214B2 (en) 2017-12-19 2021-07-20 Kyocera Document Solutions, Inc. Printing computing device for printing PPL jobs having video data and methods for use with a printing system for printing PPL jobs having video data
US20190187937A1 (en) * 2017-12-19 2019-06-20 Kyocera Document Solutions, Inc. Printing computing device for operating a multi-function printing device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207150A (ja) * 1999-01-20 2000-07-28 Fuji Xerox Co Ltd 印刷システム
JP2004192390A (ja) * 2002-12-12 2004-07-08 Canon Inc データ処理装置
JP2006237825A (ja) * 2005-02-23 2006-09-07 Konica Minolta Business Technologies Inc 画像処理装置、画像処理方法、および画像処理プログラム
JP2008108283A (ja) * 2008-01-11 2008-05-08 Konica Minolta Business Technologies Inc 画像形成装置
JP2008269262A (ja) * 2007-04-19 2008-11-06 Canon Inc 印刷データ処理装置、印刷データ処理方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3624556B2 (ja) 1996-07-08 2005-03-02 富士ゼロックス株式会社 印刷制御装置
US8351706B2 (en) * 2007-07-24 2013-01-08 Sharp Kabushiki Kaisha Document extracting method and document extracting apparatus
JP4950835B2 (ja) * 2007-10-23 2012-06-13 キヤノン株式会社 画像形成装置及び画像形成装置の制御方法及びプログラム及び記憶媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207150A (ja) * 1999-01-20 2000-07-28 Fuji Xerox Co Ltd 印刷システム
JP2004192390A (ja) * 2002-12-12 2004-07-08 Canon Inc データ処理装置
JP2006237825A (ja) * 2005-02-23 2006-09-07 Konica Minolta Business Technologies Inc 画像処理装置、画像処理方法、および画像処理プログラム
JP2008269262A (ja) * 2007-04-19 2008-11-06 Canon Inc 印刷データ処理装置、印刷データ処理方法及びプログラム
JP2008108283A (ja) * 2008-01-11 2008-05-08 Konica Minolta Business Technologies Inc 画像形成装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10661038B2 (en) 2009-06-05 2020-05-26 RedMed Pty Ltd Methods and devices for the detection of hypopnoea
JP2011136447A (ja) * 2009-12-28 2011-07-14 Canon Inc 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP2012118746A (ja) * 2010-11-30 2012-06-21 Fuji Xerox Co Ltd 印刷文書処理システム、キャッシュ装置及びプログラム
JP2012192531A (ja) * 2011-03-15 2012-10-11 Konica Minolta Business Technologies Inc 印刷制御装置及び印刷制御プログラム
JP2013132038A (ja) * 2011-06-23 2013-07-04 Riso Kagaku Corp 画像処理装置および上位装置
JP4905746B1 (ja) * 2011-09-12 2012-03-28 富士ゼロックス株式会社 描画装置、描画処理プログラム、画像出力装置
CN103377481A (zh) * 2012-04-27 2013-10-30 北大方正集团有限公司 表重用方法及装置
WO2014115368A1 (ja) * 2013-01-28 2014-07-31 大日本スクリーン製造株式会社 印刷システム、印刷制御装置および印刷制御プログラム
US9483215B2 (en) 2013-01-28 2016-11-01 SCREEN Holdings Co., Ltd. Printing system for enabling optimization of printer operation rate, printing control device, and recording medium for recording printing control program
JP2014146099A (ja) * 2013-01-28 2014-08-14 Dainippon Screen Mfg Co Ltd 印刷システム、印刷制御装置および印刷制御プログラム
JP2015069614A (ja) * 2013-10-01 2015-04-13 コニカミノルタ株式会社 処理プログラム及び処理装置並びに処理方法
JP2017078924A (ja) * 2015-10-20 2017-04-27 京セラドキュメントソリューションズ株式会社 プログラム及び情報処理装置
JP2017077655A (ja) * 2015-10-20 2017-04-27 京セラドキュメントソリューションズ株式会社 画像形成装置及びプログラム
US9965709B2 (en) 2015-10-20 2018-05-08 Kyocera Document Solutions Inc. Non-transitory computer readable recording medium that records a program for causing a computer of an information processing apparatus to generate printable data utilizing cached commands, and information processing apparatus that generates printable data

Also Published As

Publication number Publication date
US20100134844A1 (en) 2010-06-03
JP5183444B2 (ja) 2013-04-17
US8345298B2 (en) 2013-01-01

Similar Documents

Publication Publication Date Title
JP5183444B2 (ja) 印刷制御装置、印刷制御方法、及びコンピュータプログラム
US8904283B2 (en) Extendable meta-data support in final form presentation datastream print enterprises
US20110276872A1 (en) Dynamic font replacement
US20110115797A1 (en) Dynamic Streaming of Font Subsets
JP5349481B2 (ja) ページ記述言語の並行処理
US20130120396A1 (en) Incrementally Building A Font
KR20080003315A (ko) 이용 불가능한 폰트로 포맷된 텍스트 구성 요소의 정확한시각적 렌디션을 제공하기 위한 방법
JP5538995B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2012517635A (ja) 包括的印刷ジョブ骨格生成
CN101571946B (zh) 图像处理装置及图像处理方法
JP5457208B2 (ja) 印刷装置におけるメモリ管理用システム及びその方法
JP2009245433A (ja) ページ記述言語を処理するシステム、方法及びコンピュータ可読媒体
JP2009187553A (ja) Pdf文書のテキストのみのコンテンツを印刷するための方法
JP5207688B2 (ja) 画像処理装置および統合ドキュメント生成方法
US8619284B2 (en) Method and apparatus for including converted drawing commands in a print data file
US8456685B2 (en) Image forming apparatus searching an registering objects of interest in a cache based on a criterion
JP2007081955A (ja) 情報処理装置及び方法、並びにプログラム
JP5244770B2 (ja) 画像形成装置
US9870185B2 (en) Print manager server, print management method, and storage medium for predictive print preview of print jobs
JP2010105191A (ja) 画像処理装置
JP2008046688A (ja) 情報処理装置及びその処理方法
JP2004303077A (ja) 情報処理装置及びページ記述言語生成方法、プログラム及び記憶媒体
US11720303B1 (en) Social media influenced personalized printing
JP2003076520A (ja) 情報管理システム、および、情報管理方法
JP2003015827A (ja) 文字処理装置および文字処理方法およびコンピュータプログラムおよび記憶媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130115

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees