説明

印刷リソース管理のためのシステム及び方法

【課題】複数のPDLの出現に対し、文章のPDL記述をプリンタ固有コマンドに効率的に処理する。
【解決手段】印刷リソース管理方法を提供する。印刷リソース管理方法の一部の実施形態においては、PDLデータを含む印刷データは、印刷データにおいて再利用可能なリソースを識別するために解析されることができる。再利用可能なリソースは、共通の内部形式に変換され、記憶されてもよい。一部の実施形態では、再利用可能なリソースをレンダリングして、再利用可能なリソースのレンダリングバージョンを取得し、記憶してもよい。一部の実施形態では、再利用可能なリソースの記憶されたレンダリングバージョン又は記憶されたフォーマット済みバージョンのレンダリングされた形式は、ページのビットマップ画像を作成する間に再利用可能なリソースが参照されるごとにページのビットマップ画像に用いることが可能である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は印刷の分野に関し、特に、ページ記述言語のリソースを管理するシステム及び方法に関する。
【背景技術】
【0002】
文書処理ソフトウェアは、ユーザが文書を便利に閲覧し、編集し、処理し、記憶することを可能にする。文書におけるページは、印刷において現れるように正確にスクリーンに表示されることができる。しかし、文書が印刷可能とされる前は、文書のページはページ記述言語(「PDL」)で記述されることが多い。本願で使用されるように、PDLは、PostScript、Adobe PDF、HP PCL、Microsoft XPS及びそれらの変種(variant)、並びに文書におけるページを記述するのに用いられる他のいかなる言語をも含みうる。文書のPDL記述は、文書における各ページの高級の(high−level)記述を提供する。このPDL記述は、多くの場合、文書が印刷されるときに一連のより低級の(lower−level)プリンタ固有コマンドに翻訳される。PDLからより低級のプリンタ固有コマンドへの翻訳処理は複雑であることがあり、特定のプリンタが示す特性及び能力に依存することがある。印刷媒体に点を配置するのに用いられる、文書のPDL記述からより低級の記述への翻訳処理は、ラスタライゼーションと呼ばれる。
【0003】
1つの側面において、印刷ジョブには2つの一般的なタイプがあると考えられる。不可変データ印刷ジョブと呼ばれる1つ目のタイプでは、ページのテキスト要素及びグラフィック要素のコードはプリンタに送信され、プリンタによりいったんラスタライズされてもよい。その後、プリンタは指定された数だけコピーを印刷することができる。不可変データ印刷ジョブでは、各コピーは同一であることから、多くのコピーが印刷される場合でも、ラスタライゼーションは一度実行される。
【0004】
可変データ印刷ジョブと呼ばれる2つ目のタイプでは、ページのテキスト及びグラフィック要素のコードは、そのページのカスタマイズドバーションが印刷されるごとにプリンタに送信されてもよい。ラスタライゼーションは、各コピーの内容の大部分が重複しうるとしてもカスタマイゼーションによりコピーが同一ではないかもしれないため、印刷されるコピーごとに行う必要のある可能性がある。このように、可変データ印刷ジョブの印刷には、実質的により時間がかかる。
【0005】
PDLは、印刷言語がテキスト及びグラフィックの要素を識別し、記憶し、再利用することを可能とするPPML(Personal Printer Markup Language)規格に準拠する言語の部類を含む。このようにPPML対応言語は、テキスト及びグラフィック要素の記憶及び再利用を可能とすることによってラスタライゼーション及び帯域のオーバーヘッドを低減し、可変データ印刷ジョブの印刷速度を上げることができる。PPML対応言語は、プリンタがデータ構成要素をページレベルではなくオブジェクトレベルで操作することを可能とする。すなわち、プリンタに記憶された情報の粒度をオブジェクトレベルまで低減することにより、PPML対応言語は、オブジェクトに名前を付与することをコードに許容しており、可変データジョブの印刷処理の間、必要に応じてオブジェクトを再利用する。再利用可能なオブジェクトは、PPMLにおけるリソースとも呼ばれることが多い。
【発明の概要】
【発明が解決しようとする課題】
【0006】
歴史的に、時間が経つに連れて複数のPDLが出現したのに伴い、種々の別々の技術が異なるPDLの類似するオブジェクトを処理するように進化した。例えば、プリンタは、1つのPDLにおいて再利用されたオブジェクトを最適化するために或る技術を用い、また、異なるPDLにおいて再利用されたオブジェクトを処理するために異なる技術を用いる可能性がある。したがって、文書のPDL記述をプリンタ固有コマンドに効率的に処理し、従来のPDL処理に伴う複雑性を排除するには、より多目的なスキームが必要である。
【課題を解決するための手段】
【0007】
本発明に従い、印刷リソース管理のためのシステム及び方法が示される。一部の実施形態では、PDLデータを含む印刷データの処理方法は、印刷データを解析して、該印刷データにおける少なくとも1つの再利用可能なリソースを識別する工程と、前記識別された再利用可能なリソースを、該再利用可能なリソースの少なくとも1つの特性を解析することにより決定したいくつかの内部形式のうちの少なくとも1つに変換する工程であって、前記内部形式は複数のPDLデータタイプに共通している工程と、前記フォーマット済みの再利用可能なリソースを記憶する工程と、ページのビットマップ画像を作成する間に前記再利用可能なリソースが参照されるごとに、前記記憶されたフォーマット済みの再利用可能なリソースのレンダリングされたバージョンを用いて前記ページの前記ビットマップ画像を作成する工程と、を有する。
【0008】
本発明の実施形態は、コンピュータにより読取可能な媒体及び/又はコンピュータにより読取可能なメモリを用いたプロセッサにより作成され、記憶され、アクセスされ又は修正される指示にも関連している。
【0009】
これらの及び他の実施形態は、以下の図面を参照して、以下において更に説明される。
【図面の簡単な説明】
【0010】
【図1】図1は、文書を印刷するシステムの構成要素を図示するブロック図を示す。
【図2】図2は、例示的なプリンタの高位のブロック図を示す。
【図3】図3は、PDLから発生するディスプレイリストを生成し、処理するシステムの例示的な高位アーキテクチャを示す。
【図4】図4は、PDLリソース管理のための例示的なシステム400における種々の構成要素の相互関係を示す。
【発明を実施するための形態】
【0011】
本発明の種々の特徴を反映する実施形態に従って、第1の印刷可能データから生成された第2又は中間形式の印刷可能データを自動的に記憶、操作及び処理するシステム及び方法が示される。一部の実施形態では、第1の印刷可能データは文書のPDL記述の形式をとることが可能であり、中間印刷可能データはPDL記述から生成されたオブジェクトのディスプレイリストの形式をとることが可能である。
【0012】
図1は、本発明の一部の実施形態による文書印刷システムの構成要素を図示するブロック図を示している。本発明に適合するコンピュータソフトウェアアプリケーションは、図1に示すように、従来の通信プロトコル及び/又はデータポートインタフェースを用いて情報をやり取りするコミュニケーションリンクを介して接続されたコンピュータのネットワーク上で実施されうる。
【0013】
図1に示すように、例示的なシステム100は、コンピュータデバイス110及びサーバ130を備えたコンピュータを含んでいる。更に、コンピュータデバイス110及びサーバ130は、一例においてインターネットでありうるネットワーク140を通過する可能性がある接続120によって通信可能となっている。コンピュータデバイス110は、コンピュータワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、又はネットワーク環境で使用しうる他のいかなるコンピュータデバイスであってもよい。サーバ130は、コンピュータデバイス110及び他のデバイス(図示せず)に接続可能なプラットフォームであってもよい。コンピュータデバイス110及びサーバ130は、プリンタ170を用いた文書の印刷を可能とするソフトウェア(図示せず)を実行することができる。
【0014】
例示的なプリンタ170は、電子データから物理的な文書を生成するデバイスを備え、前記デバイスは、これらに限られないが、レーザプリンタ、インクジェットプリンタ、LEDプリンタ、プロッタ、ファクシミリ装置及びデジタルコピー機を含む。一部の実施形態では、プリンタ170は、接続120を介してコンピュータデバイス110及びサーバ130から受信した文書を直接印刷することが可能であってもよい。一部の実施形態では、このような配置が、コンピュータデバイス110及びサーバ130による追加的な処理と共に(又はなしで)、文書の直接印刷を可能とすることができる。一部の実施形態では、文書はテキスト、グラフィック及び画像のうちの一以上を含みうる。一部の実施形態では、プリンタ170は印刷のための文書のPDL又はPPML記述を受信することができる。また、文書印刷処理は分担されうる点に留意されたい。したがって、コンピュータデバイス110、サーバ130及び/又はプリンタは、プリンタ170によって文書が物理的に印刷される前に、ハーフトーン、カラーマッチング及び/又は他の操作処理等の文書印刷処理の一部を実行することができる。
【0015】
また、コンピュータデバイス110は、リムーバブルメディアドライブ150を有している。リムーバブルメディアドライブ150は、例えば、3.5インチフロッピードライブ、CD−ROMドライブ、DVD−ROMドライブ、CD±RW若しくはDVD±RWドライブ、USBフラッシュデバイス及び/又は本発明の実施形態に適合する他のいかなるリムーバブルメディアドライブを含んでもよい。一部の実施形態では、ソフトウェアアプリケーションの一部はリムーバブルメディアにあってもよく、リムーバブルメディアドライブ150を用いてコンピュータデバイス110により読み出され、実行されてもよい。
【0016】
接続120は、コンピュータデバイス110、サーバ130及びプリンタ170を接続し、従来の通信プロトコル及び/又はデータポートインタフェースを用いて有線又は無線接続として実施されうる。一般に、接続120は、デバイス間のデータ送信を可能とするいかなる通信チャネルであってもよい。1つの実施形態では、例えば、デバイスは、適当な接続を介してデータ送信するためのパラレルポート、シリアルポート、イーサネット、USB、SCSI、FIREWIRE及び/又は同軸ケーブルポート等の従来のデータポートを備えてもよい。一部の実施形態では、接続部120は、DSL(Digital Subscriber Line)、ADSL(Asymmetric Digital Subscriber Line)又はケーブル接続であってもよい。コミュニケーションリンクは、無線リンク、有線リンク又は種々のデバイス間の通信を可能とする本発明の実施形態に適合するいかなる組合せであってもよい。
【0017】
ネットワーク140は、LAN(Local Area Network)、WAN(Wide Area Network)又はインターネットを含んでもよい。一部の実施形態では、ネットワーク140上で送信される情報は、送信されるデータの安全性を確保するために暗号化されてもよい。プリンタ170は、接続部120を介してネットワーク140に接続されてもよい。また、一部の実施形態では、プリンタ170はコンピュータデバイス110及び/又はサーバ130に直接接続されてもよい。また、システム100は、本発明の一部の実施形態に従った他の周辺デバイス(図示せず)を備えてもよい。本発明に適合するコンピュータソフトウェアアプリケーションは、図1に示すように、例示的なコンピュータのいずれにおいて配備されてもよい。例えば、コンピュータデバイス110は、サーバ130から直接ダウンロードしうるソフトウェアを実行してもよい。アプリケーションの一部は、本発明の一部の実施形態に従い、プリンタ170によって実行されてもよい。
【0018】
図2は、例示的なプリンタ170の高位のブロック図を示している。一部の実施形態では、プリンタ170は、CPU176、ファームウェア171、メモリ172、入出力ポート175、プリントエンジン177及び二次記憶装置173を接続するバス174を備えてもよい。プリンタ170は、本発明の一部の実施形態に従って文書を印刷するアプリケーションの一部を実行することができる他のASIC(Application Specific Integrated Circuit)及び/又はFPGA(Field Programmable Gate Array)178を含んでもよい。一部の実施形態では、プリンタ170は、I/Oポート175及び接続120を用いて、二次記憶装置又はコンピュータデバイス110における他のメモリにアクセスすることが可能であってもよい。一部の実施形態では、プリンタ170は、プリンタオペレーティングシステム及び他の適当なアプリケーションソフトウェアを含むソフトウェアを実行することが可能であってもよい。一部の実施形態では、プリンタ170は、用紙サイズ、出力トレイ、カラー選択及び印字解像度を、他のオプションの中からユーザにより設定可能としてもよい。
【0019】
一部の実施形態では、CPU176は、汎用プロセッサ、特殊用途プロセッサ又は内臓プロセッサであってもよい。CPU176は、制御情報及び指示を含むデータを、メモリ172及び/又はファームウェア171とやり取りすることができる。メモリ172は、これらに限られないが、SDRAM又はRDRAM等のいずれのタイプのDRAM(Dynamic Random Access Memory)であってもよい。ファームウェア171は、これらに限られないが、ブートアップシーケンス、予約ルーチン及び他のコードを含む指示及びデータを有してもよい。一部の実施形態では、ファームウェア171のコード及びデータは、CPU176によって作動される前に、メモリ172にコピーされてもよい。ファームウェア171におけるルーチンは、コンピュータデバイス110から受信したページ記述をディスプレイリスト及びイメージバンドに翻訳するコードを含みうる。一部の実施形態では、ファームウェア171は、ディスプレイリストにおけるディスプレイコマンドを適当なラスタライズされたビットマップに変換して、そのビットマップをメモリ172に記憶するラスタライゼーションルーチンを含んでもよい。ファームウェア171は、圧縮ルーチン及びメモリ管理ルーチンを含んでもよい。一部の実施形態では、ファームウェア171におけるデータ及び指示は、アップグレード可能であってもよい。
【0020】
一部の実施形態では、CPU176は指示及びデータに従い、ASIC/FPGA178及びプリントエンジン177に制御及びデータを提供して印刷文書を生成させてもよい。一部の実施形態では、ASIC/FPGA178がプリントエンジン177に制御及びデータを提供してもよい。ASIC/FPGA178が、翻訳、圧縮及びラスタライゼーションアルゴリズムの一以上を実行してもよい。一部の実施形態では、コンピュータデバイス110は、文書データを第1の印刷可能データに変換することができる。その後、第1の印刷可能データは、中間印刷可能データに変換されるためにプリンタ170に送信されることができる。プリンタ170は、中間印刷可能データを印刷可能データの最終形式に変換して、この最終形式に従って印刷してもよい。一部の実施形態では、第1の印刷可能データは、文書のPDL又はPPML記述に対応しうる。一部の実施形態では、文書のPDL又はPPML記述から、一連の低位プリンタ固有コマンドを含む最終印刷可能データへの翻訳処理は、オブジェクトのディスプレイリストを含む中間印刷可能データの生成を含んでもよい。一部の実施形態では、ディスプレイリストは、テキスト、グラフィック、コマンド及び画像データオブジェクトの一以上を含んでもよい。一部の実施形態では、ディスプレイリストにおけるオブジェクトは、ユーザ文書における類似するオブジェクトに対応してもよい。一部の実施形態では、ディスプレイリストは、中間印刷可能データの生成を支援してもよい。一部の実施形態では、ディスプレイリストはメモリ172又は二次の記憶装置173に記憶されてもよい。例示的な二次記憶装置173は、内臓又は外部ハードディスク、メモリスティック又はシステム200で使用されうる他のいかなるメモリ記憶装置であってもよい。一部の実施形態では、ディスプレイリストは、プリンタ170、コンピュータデバイス110及びサーバ130の一以上に常駐してもよい。ディスプレイリストを記憶するメモリは、専用メモリであってもよく、汎用メモリの一部を形成してもよく、また、本発明の一部の実施形態に従ったそれらいくつかの組合せであってもよい。一部の実施形態では、メモリは、必要に応じてディスプレイリストを保持するために動的に割り当てられてもよい。一部の実施形態では、ディスプレイリストを記憶するために割り当てられたメモリは、処理後に動的に解放されてもよい。
【0021】
図3は、PDLから発生するディスプレイリストを生成し、処理するシステムの例示的な高位アーキテクチャを示している。図3に示すように、言語サーバ340、エンジンサーバ360及びラスタサーバ320は互いに通信可能である。更に、言語サーバ340、エンジンサーバ360及びラスタサーバ320は、ルーチンを呼び出してRDLライブラリ330と通信することができる。一部の実施形態では、ディスプレイリストは、印刷される文書又はその文書中のページの範囲内のデータオブジェクト及びそれらのコンテキストを定めるコマンドを含んでもよい。これらのディスプレイコマンドは、文字若しくはテキスト、線画若しくはベクタ、及び画像若しくはラスタデータを含むデータを含んでもよい。
【0022】
一部の実施形態では、ディスプレイリストは動的に再構成可能であってもよく、RDL(Reconfigurable Display List)と呼ばれる。一部の実施形態では、RDLは、特定のディスプレイリストオブジェクトを、それらを動的に操作可能とする方法で記憶させるデータ構造を用いて実施されてもよい。例えば、イメージオブジェクトは、メモリの使用可能量を増加させるように所定位置で圧縮され、参照及び/又は使用されるときに伸張されてもよい。一部の実施形態では、RDLは、ポインタ、オフセット又はアドレスを参照及び/又は使用時に検索可能なRDLオブジェクトの実際の位置に保持して、RDLオブジェクトをメモリ及び/又は二次記憶装置に記憶させてもよい。一般に、RDLは、システムの制約及びパラメータに基づき、ディスプレイリストオブジェクトを融通よく記憶又は操作させること可能とする。
【0023】
一部の実施形態では、文書におけるPDL記述をディスプレイリスト表示へ翻訳することは、RDLライブラリ330のルーチンを用いて言語サーバ340によって実行されてもよい。一部の実施形態では、言語サーバ340は、RDLライブラリ330により提供される能力(Capability)を用いて、PDL言語プリミティブを取得してデータ及びグラフィカルオブジェクトに変換し、それらをディスプレイリストに加えてもよい。一部の実施形態では、RDLライブラリ330における能力及びルーチンへのアクセスは、API(Application Programming Interface)によって提供されてもよい。一部の実施形態では、ディスプレイリストは、例示的なRDLメモリプール320等の動的に割り当てられたメモリプールにおいて記憶され、操作されてもよい。一部の実施形態では、ディスプレイリストは、実際の印刷の前のデータ処理における第2の又は中間の工程であってもよく、それに続く形式に変換される前に解析されてもよい。一部の実施形態では、それに続く形式は最終的な表現であってもよく、その変換処理はデータのラスタライズと呼ばれる。一部の実施形態では、ラスタライゼーションはラスタサーバ320によって実行されてもよい。ラスタライゼーションにおいて、ラスタライズされたデータは、メモリ172の一部でありうるフレームバッファ350に記憶されてもよい。一部の実施形態では、ラスタライズされたデータは、印刷ページに配置される点を特定するビットマップの形式をとりうる。プリントエンジン177は、ラスタライズされたデータをフレームバッファ350において処理してもよく、紙等の印刷媒体におけるページの印刷可能画像を形成してもよい。一部の実施形態では、ラスタサーバ320及びエンジンサーバ360は、RDLライブラリ330のルーチンを用いてそれらの機能を実行してもよい。一部の実施形態では、エンジンサーバ360は、プリントエンジン177に制御情報、指示及びデータを提供することができる。一部の実施形態では、エンジンサーバ360は、ディスプレイリストオブジェクトにより使用されたメモリを、RDLメモリプール320に戻すために、処理後に解放してもよい。一部の実施形態では、RDLメモリプール及び/又はフレームバッファ350の一部は、メモリ172又は二次記憶装置にあってもよい。一部の実施形態では、言語サーバ340、ラスタサーバ320及びエンジンサーバ360のルーチンは、ファームウェア171において提供され、又はASIC/FPGA178を用いて実施されてもよい。
【0024】
図4は、PDLリソース管理のための例示的なシステム400における種々の構成要素の相互関係を示している。一部の実施形態では、PDLデータ410は、PPML、PCL、XPS、PS及び/又はPDLデータの種々の他の形式のうち一以上を含んでもよい。図4に示すように、例示的なPDLデータ410に含まれる情報は、明示的リソース(explicit resource)415及び回収リソース(harvested resource)418の双方を含みうる。一部の実施形態では、PDLデータ410は言語サーバ340により処理されることができる。一部の実施形態では、ファイルに含まれるPDLデータのデータ形式を決定するPDLファイルのヘッダ情報の検査が処理に含まれてもよい。RDLライブラリ330のルーチンは、PDLデータ410に含まれる情報を処理するのに用いられうる。
【0025】
一部の実施形態では、再利用しうるリソースの識別表示はPDL言語固有であってもよく、言語サーバ340による処理の前に前処理フロントエンドによって実行されてもよい。一部の実施形態では、前処理フロントエンドは、言語に固有のRDLライブラリ330におけるルーチンを用いてPDLファイルを解析し、再利用可能なリソースを識別することができる。その後、例示的な言語サーバ340は、PDL言語非依存ルーチンを用いて、前処理フロントエンドにより識別されたすべての再利用可能なリソースを処理することができる。識別された再利用可能なリソースは、このようなリソースの処理に一般的に利用可能な標準的ルーチンを用いて処理されうる。したがって、前処理フロントエンドによる操作の後、言語サーバ340は、複数のPDLに共有される共通コードパスウェイを用いて、言語非依存方式により当該サーバの機能を実行することが可能であってもよい。
【0026】
一部の実施形態では、共通コードパスウェイの使用は、言語サーバ340が、非常に多数のPDLのために記載された多数のルーチンではなく、再利用可能なリソースの内部表現に基づいて、印刷処理のための一般最適化を利用することを可能とする。一部の実施形態では、内部表現又は内部形式は、多数のPDL全体で再利用可能なリソースに共通であってもよい。一部の実施形態では、内部形式は、再利用可能なリソースに関連するデータ構造において一以上のデータフィールドを含みうる。一部の実施形態では、データ構造は、ディスプレイリスト又は再構成可能なディスプレイリスト及びDL若しくはRDLオブジェクトのデータフィールドに対応してもよい。一つの実施形態では、レンダリングされたビットマップ画像は、再利用可能なリソースに関連するデータ構造におけるデータフィールドに関連しうる。1つの実施形態では、データフィールドは、再利用可能なリソースに対応する内部フォーマットバージョンを直接保持してもよい。他の実施形態では、データフィールドは、ポインタ、リンクリスト等の種々の仕組みを用いて、再利用可能なリソースに対応する内部フォーマットバージョンを参照してもよい。
【0027】
一部の実施形態では、ラスタライゼーション処理の間に再利用可能なオブジェクトレベルデータは、総合リソースマネージャ420のリソースとして識別されうる。一部の実施形態では、リソースが例えばPPML対応言語で明確に識別されるならば、それらは明示的リソース415として識別されることができる。例えば、明示的リソース415は、PPML対応言語で再利用可能であると明確に識別されるようなオブジェクトを含みうる。識別には、リソースへの固有IDの生成及び割り当てが含まれてもよい。一部の実施形態では、GUID(Global Unique Indentifier)をリソースへの固有の識別子の割り当てに用いることができる。一部の実施形態では、PDLデータ410を更に解析することにより、PDLに固有で再利用されうる回収リソース418を生成することができる。回収リソース418は、明確に識別されないが、ここに記載する実施形態に適合する方法によるPDLデータ410の解析によってリソースとして識別されうるような再利用可能なオブジェクトを構成する。例えば、PS(PostScript)データを有するPDLデータ410において以下のコードシーケンスを検討する。
%!ps
[5 1 1 1] 0 setdash
0.8 0.8 0 0 setcmykcolor
10 570 moveto
200 0 rline
0 200 rlineto
−200 0 rlineto
closepath
stroke
showpage
【0028】
上記の例において、「setdash」コマンドは、このストロークがパス全体にわたって繰り返される一連のドット‐ダッシュから構成されることを意味すると解釈することが可能である。「setdash」コマンドは、総合リソースマネージャ420への回収リソース418として識別されうる。一度識別されると、総合リソースマネージャ420はコマンドに対するGUIDを作成することが可能であり、ドット‐ダッシュは最適性の考慮に基づいていったんレンダリングされ、又はDL形式で記憶されて、どこでドット‐ダッシュが印刷されても再利用することが可能となる。
【0029】
一部の実施形態では、総合リソースマネージャ420は、現在のシステムにおけるリソースを追跡するのに用いることが可能なテーブル又は他のデータ構造を有してもよい。リソースに割り当てられたGUIDは、特定のリソースがレンダリングされたか否かを追跡するのに用いることができる。すなわち、テーブルは、リソースが(レンダリングされていない)ディスプレイリスト430又は(レンダリングされた)ビットマップ440として表されたか否かの経過を追う。例示的な言語サーバ340は、明示的リソース415及び回収リソース418を処理することが可能であり、処理の間に生成されたオブジェクトをディスプレイリスト(DL)430及び/又は再設定可能なディスプレイリスト(RDL)450に記憶することができる。一部の実施形態では、再利用可能なリソース又はオブジェクトは、リソースマネージャ420を用いてRDL450に記憶されてもよい。DL430及びRDL450は、ラスタサーバ320により処理されてビットマップ440を生成する。
【0030】
総合リソースマネージャ420は、特定のリソースに対してビットマップ440又はRDL450のいずれの形式が最適かを決定することができる。例えば、広い領域を対象とする低密度のリソースをRDL形式で保持しうるのに対し、狭い領域を対象とする高密度のリソースをビットマップ形式で保持することができる。一部の実施形態では、総合リソースマネージャ420は、リソースの物理的境界及びリソースのディスプレイリストにおける各オブジェクトの物理的境界の推定値についての情報を用いて、リソース全体の密度を推定することが可能である。例えば、総合リソースマネージャ420は、ディスプレイリストの単一のオブジェクトが約140ピクセルに印をつけるのみである場合は、100ピクセル×100ピクセルに及ぶリソースを低密度と識別し、リソースをディスプレイリスト形式で記憶することが可能である。一方、総合リソースマネージャ420は、リソースに対するディスプレイリストに多くのオブジェクトが存在し、それらが合計して10000ピクセル以上に印をつける場合(いくつかのオブジェクトが他のオブジェクトと物理的に重複する場合に起こりうる)は、100ピクセル×100ピクセルに及ぶリソースを高密度と識別し、リソースをビットマップ形式で記憶することが可能である。一般に、総合リソースマネージャ420は、デバイス固有基準を含む一以上の基準を用いてリソースを記憶する形式を決定することができる。
【0031】
再利用可能なオブジェクトがレンダリングされる場合、総合リソースマネージャ420はレンダリング時にリソースに印をつけることができる。一部の実施形態では、再利用可能なレンダリングされたオブジェクトは、総合リソースマネージャ420により、フレームバッファ350に記憶されてもよい。他の実施形態では、フレームバッファ350に利用可能なメモリが存在しない場合は、レンダリングされた再利用可能なオブジェクトは、二次記憶装置173に記憶されてもよい。例えば、再利用可能なオブジェクトを二次記憶装置からフレームバッファにコピーする時間が、オブジェクトをレンダリングする時間未満である場合は、オブジェクトを二次記憶装置に記憶することができる。一部の実施形態では、再利用可能なオブジェクトはキャッシュされうる。他の実施形態では、リソースはURL(Uniform Resource Locator)の形式でプリンタ172に送信されてもよい。リソースが既にキャッシュされている場合は、プリンタ172はキャッシュされたリソースを使用しうる。そうでない場合は、URLはリソースを検索するのに用いられることができる。
【0032】
いくつかのPPMLは、ページの境界を亘り再利用可能なオブジェクトを使用することを可能とする。例えば、PPMLにおける再利用可能なオブジェクト及びXPSにおけるリソースエレメントは、ページの境界を亘って使用することが可能である。一つの実施形態では、総合リソースマネージャ420は、一以上のページにわたるコンテキストにおいてリソースが記憶され再利用されることを可能とすることもできる。一部の実施形態では、ページの境界を亘ったオブジェクトの記憶及び再利用は、後のページで見られる再利用可能なオブジェクトを再作成する必要を排除する。一部の実施形態では、総合リソースマネージャ420は、1ページ内で有効なリソース及びより広い範囲を有するそれらのリソースの処理を促進するデータ構造を使用することが可能である。1ページ内で必要なリソースは、1ページが生成する間だけ必要なものなので、しばしば「テンポラリリソース」と呼ばれる。一部の実施形態では、総合リソースマネージャ420は、現在ページのコンテキストにおいて決まって用いられるRDL450を実施するデータ構造の範囲内でデータ要素を用いることができる。例えば、現在ページのレジストリはテンポラリリソースを追跡するのに使用してもよく、テンポラリリソースは、それらが識別されたときにこのレジストリに登録されてもよい。
【0033】
一部の実施形態では、1ページより広い範囲のリソースは、特有のリソースデータ構造に記憶されてもよい。例えば、リソースはいくつかのページ、文書及び/又は一連の文書にわたってもよい。いくつかのページ、文書又は複数の文書にわたるリソースは、しばしば「永続リソース」として分類される。1つの実施形態では、永続リソースを保持するデータ構造は、フォントテーブル、ハーフトーンテーブル等のデータと、ディスプレイリスト及び/又はフレームバッファのオブジェクトとを含んでもよい。一部の実施形態では、システムワイドレジストリは永続リソースを追跡するのに使用されてもよく、永続リソースは、それらが識別されたときにこのレジストリに登録されてもよい。
【0034】
例えば、PPMLは一連の再利用可能なオブジェクトを作成する機能性を提供する。PPMLにおいて、ページ、又は複数ページから成る文書のページのサブセットは、再利用可能なオブジェクトとして定義されることが可能であり、複数回出現することができる。一部の実施形態では、総合リソースマネージャ420は、リソースのコンテキストの判定に基づき、現在ページのコンテキストで用いられているデータ構造の範囲内のデータ要素又は複数ページを超えて使用される特有のリソースデータ構造のデータ要素にリソースを割り当てることができる。一部の実施形態では、テンポラリ若しくは永続リソースの識別、それらの適当なデータ構造内のデータ要素への割り当て、及び/又は適当なレジストリへの登録は、言語サーバ340によって実行されてもよい。例示的なエンジンサーバ360は、文書の印刷のために、ビットマップ440のデータを処理することができる。
【0035】
本発明の他の実施形態は、明細書の検討及びここに開示される一以上の実施形態の実施により当業者において明らかになるだろう。明細書及び実施例は例示的なものにすぎないと解釈されることが意図されており、本発明の真の範囲及び趣旨は以下のクレームによって示されている。



【特許請求の範囲】
【請求項1】
PDLデータを含む印刷データの処理方法であって、
印刷データを解析して、該印刷データにおける少なくとも1つの再利用可能なリソースを識別する工程と、
前記識別された再利用可能なリソースを、該再利用可能なリソースの少なくとも1つの特性を解析することにより決定したいくつかの内部形式のうちの少なくとも1つに変換する工程であって、前記内部形式は複数のPDLデータタイプに共通している工程と、
前記フォーマット済みの再利用可能なリソースを記憶する工程と、
ページのビットマップ画像を作成する間に前記再利用可能なリソースが参照されるごとに、前記記憶されたフォーマット済みの再利用可能なリソースのレンダリングされたバージョンを用いて前記ページの前記ビットマップ画像を作成する工程と、
を有する、印刷データの処理方法。
【請求項2】
前記少なくとも1つの再利用可能なリソースは、グローバル一意識別子により識別される、請求項1記載の方法。
【請求項3】
前記少なくとも1つの再利用可能なリソースは、明示的リソース及び回収リソースのうち一以上を有する印刷データから識別される、請求項1記載の方法。
【請求項4】
前記識別された再利用可能なリソースを該再利用可能なリソースの少なくとも1つの特性を解析することにより決定したいくつかの内部形式のうちの少なくとも1つに変換する工程は、
前記再利用可能なリソースを、データ構造におけるデータフィールドのインスタンスと関連づける工程であって、
前記リソースがテンポラリである場合は、前記データフィールドインスタンスはページに対して持続し、
前記リソースが複数ページにおいて用いられる場合は、前記データフィールドインスタンスは複数ページにわたって持続し、
前記再利用可能なリソースが複数文書において用いられる場合は、前記データフィールドインスタンスは複数文書にわたって持続する工程と、
を更に有する、請求項1記載の方法。
【請求項5】
前記再利用可能なリソースをデータ構造におけるデータフィールドのインスタンスと関連づける工程は、
ディスプレイリストオブジェクトをレンダリングするのに必要な時間が時間閾値未満である場合は、前記再利用可能なリソースに対応するディスプレイリストオブジェクトを生成する工程、
前記レンダリングされた再利用可能なリソースに必要なメモリ容量が空間閾値を越える場合は、前記再利用可能なリソースに対応するディスプレイリストオブジェクトを生成する工程、及び
その他の場合は前記再利用可能なリソースのレンダリングされた形式を生成する工程、のうちの1つを実行する工程を更に有する、請求項4記載の方法。
【請求項6】
前記再利用可能なリソースのレンダリングされたバージョンはキャッシュに記憶される、請求項5記載の方法。
【請求項7】
前記再利用可能なリソースのレンダリングされたバージョンは二次記憶装置に記憶される、請求項5記載の方法。
【請求項8】
前記再利用可能なリソースのレンダリングされたバージョンはフレームバッファに記憶される、請求項5記載の方法。
【請求項9】
前記再利用可能なリソースは、テキストオブジェクト、画像オブジェクト及びグラフィックオブジェクトのうち一以上を有する、請求項1記載の方法。
【請求項10】
前記印刷データを解析して該印刷データにおける少なくとも1つの再利用可能なリソースを識別する工程は、前処理フロントエンドにより実行される、請求項1記載の方法。
【請求項11】
プロセッサによる実行時に、PDLデータを含む印刷データの処理方法の工程を実行する命令を含むコンピュータにより読取可能な媒体であって、
前記方法は、
印刷データを解析して、該印刷データにおける少なくとも1つの再利用可能なリソースを識別する工程と、
前記識別された再利用可能なリソースを、該再利用可能なリソースの少なくとも1つの特性を解析することにより決定したいくつかの内部形式のうちの少なくとも1つに変換する工程であって、前記内部形式は複数のPDLデータタイプに共通している工程と、
前記フォーマット済みの再利用可能なリソースを記憶する工程と、
ページのビットマップ画像を作成する間に前記再利用可能なリソースが参照されるごとに、前記記憶されたフォーマット済みの再利用可能なリソースのレンダリングされたバージョンを用いて前記ページの前記ビットマップ画像を作成する工程と、
を有するコンピュータにより読取可能な媒体。
【請求項12】
前記少なくとも1つの再利用可能なリソースは、グローバル一意識別子により識別される、請求項11記載のコンピュータにより読取可能な媒体。
【請求項13】
前記少なくとも1つの再利用可能なリソースは、明示的リソース及び回収リソースのうち一以上を有する印刷データから識別される、請求項11記載のコンピュータにより読取可能な媒体。
【請求項14】
前記識別された再利用可能なリソースを該再利用可能なリソースの少なくとも1つの特性を解析することにより決定したいくつかの内部形式のうちの少なくとも1つに変換する工程は、
前記再利用可能なリソースを、データ構造におけるデータフィールドのインスタンスと関連づける工程であって、
前記リソースがテンポラリである場合は、前記データフィールドインスタンスはページに対して持続し、
前記再利用可能なリソースが複数ページにおいて用いられる場合は、前記データフィールドインスタンスは複数ページにわたって持続し、
前記再利用可能なリソースが複数文書において用いられる場合は、前記データフィールドインスタンスは複数文書にわたって持続する工程と、
を更に有する、請求項11記載のコンピュータにより読取可能な媒体。
【請求項15】
前記再利用可能なリソースをデータ構造におけるデータフィールドのインスタンスと関連づける工程は、
ディスプレイリストオブジェクトをレンダリングするのに必要な時間が時間閾値未満である場合は、前記再利用可能なリソースに対応するディスプレイリストオブジェクトを生成する工程、
前記レンダリングされた再利用可能なリソースに必要なメモリ容量が空間閾値を越える場合は、前記再利用可能なリソースに対応するディスプレイリストオブジェクトを生成する工程、及び
その他の場合は前記再利用可能なリソースのレンダリングされた形式を生成する工程、のうちの1つを実行する工程を更に有する、請求項14記載のコンピュータにより読取可能な媒体。
【請求項16】
前記少なくとも1つの識別された再利用可能なリソースのレンダリングされたバージョンはフレームバッファに記憶される、請求項11記載のコンピュータにより読取可能な媒体。
【請求項17】
前記少なくとも1つの識別された再利用可能なリソースのレンダリングされたバージョンはキャッシュに記憶される、請求項11記載のコンピュータにより読取可能な媒体。
【請求項18】
前記少なくとも1つの識別された再利用可能なリソースのレンダリングされたバージョンは二次記憶装置に記憶される、請求項11記載のコンピュータにより読取可能な媒体。
【請求項19】
前記印刷データを解析して前記PDLデータにおける少なくとも1つの再利用可能なリソースを識別する工程は、前処理フロントエンドにより実行される、請求項11記載のコンピュータにより読取可能な媒体。
【請求項20】
プロセッサによる実行時に、PDLデータを含む印刷データの処理方法の工程を実行する命令を含むコンピュータにより読取可能なメモリであって、
前記方法は、
印刷データを解析して、該印刷データにおける少なくとも1つの再利用可能なリソースを識別する工程と、
前記識別された再利用可能なリソースを、該再利用可能なリソースの少なくとも1つの特性を解析することにより決定したいくつかの内部形式のうちの少なくとも1つに変換する工程であって、前記内部形式は複数のPDLデータタイプに共通している工程と、
前記フォーマット済みの再利用可能なリソースを記憶する工程と、
ページのビットマップ画像を作成する間に前記再利用可能なリソースが参照されるごとに、前記記憶されたフォーマット済みの再利用可能なリソースのレンダリングされたバージョンを用いて前記ページの前記ビットマップ画像を作成する工程と、
を有するコンピュータにより読取可能なメモリ。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2009−193573(P2009−193573A)
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【外国語出願】
【出願番号】特願2009−6521(P2009−6521)
【出願日】平成21年1月15日(2009.1.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
2.イーサネット
【出願人】(507031918)コニカ ミノルタ システムズ ラボラトリー, インコーポレイテッド (157)
【Fターム(参考)】