(57)【要約】【課題】  文書内で参照されるデータを参照場所に応じて印刷装置のキャッシュメモリに登録する。【解決手段】  文書内で参照されるデータを該文書内の参照場所に基づいて分類し、分類されたデータを該分類結果に応じて印刷装置のキャッシュメモリに登録する。印刷処理の進捗状況と前記分類結果とに基づいて、登録されたキャッシュデータを削除する。【選択図】      図３
2008046688.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
文書内で参照されるデータを該文書内の参照場所に基づいて分類する分類手段と、
前記分類手段で分類されたデータを該分類結果に応じて印刷装置のキャッシュメモリに登録する登録手段と、
印刷処理の進捗状況と前記分類結果とに基づいて前記登録手段で登録されたキャッシュデータを削除する削除手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記キャッシュメモリは、文書内キャッシュメモリ、ページ内キャッシュメモリ、領域内キャッシュメモリの何れかであることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記分類結果に応じて、前記キャッシュデータを編集する編集手段を有することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記登録手段は、前記キャッシュデータの優先度に応じて前記キャッシュメモリに登録することを特徴とする請求項３記載の情報処理装置。
【請求項５】
情報処理装置であって、
文書内で参照されるオブジェクトを該オブジェクトの種類に対する印刷装置の処理能力に基づいて前記印刷装置のキャッシュメモリに登録するか否かを判定する判定手段と、
前記判定手段での判定結果に応じて前記キャッシュメモリに登録する登録手段と、
を有することを特徴とする情報処理装置。
【請求項６】
前記登録手段は、前記オブジェクトの優先度に応じて前記キャッシュメモリに登録することを特徴とする請求項５記載の情報処理装置。
【請求項７】
情報処理装置の処理方法であって、
文書内で参照されるデータを該文書内の参照場所に基づいて分類する分類工程と、
前記分類工程で分類されたデータを該分類結果に応じて印刷装置のキャッシュメモリに登録する登録工程と、
印刷処理の進捗状況と前記分類結果とに基づいて前記登録工程で登録されたキャッシュデータを削除する削除工程と、
を有することを特徴とする情報処理装置の処理方法。
【請求項８】
情報処理装置の処理方法であって、
文書内で参照されるオブジェクトを該オブジェクトの種類に対する印刷装置の処理能力に基づいて前記印刷装置のキャッシュメモリに登録するか否かを判定する判定工程と、
前記判定工程での判定結果に応じて前記キャッシュメモリに登録する登録工程と、
を有することを特徴とする情報処理装置の処理方法。
【請求項９】
文書内で参照されるデータを該文書内の参照場所に基づいて分類する分類工程と、
前記分類工程で分類されたデータを該分類結果に応じて印刷装置のキャッシュメモリに登録する登録工程と、
印刷処理の進捗状況と前記分類結果とに基づいて前記登録工程で登録されたキャッシュデータを削除する削除工程とをコンピュータに実行させるためのプログラム。
【請求項１０】
文書内で参照されるオブジェクトを該オブジェクトの種類に対する印刷装置の処理能力に基づいて前記印刷装置のキャッシュメモリに登録するか否かを判定する判定工程と、
前記判定工程での判定結果に応じて前記キャッシュメモリに登録する登録工程とをコンピュータに実行させるためのプログラム。
【請求項１１】
請求項９又は１０記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置において、文書内で参照されるデータを印刷装置のキャッシュメモリに登録する技術に関するものである。
【背景技術】
【０００２】
近年、ホストコンピュータのアプリケーションによって生成される文書（ドキュメント）は複雑化され、キャッシュされたデータを参照するキャッシュ構造が増えている。
【０００３】
このキャッシュ構造を持つドキュメントデータの処理手法の一つとして、特許文献１が開示されている。この特許文献１は、使用頻度の高いフォントデータを印刷装置にダウンロードし、ダウンロード済みか否かを判断するための登録テーブルを管理することにより、印刷効率が優れた印刷システム及びその方法を提供するものである。
【０００４】
また、タグ形式のマークアップ言語が普及し、リソースタグ等を使用したオブジェクトへの参照が多用されている。このリソースタグは、必ずしもキャッシュの効率化を考慮されているわけではなく、単にクリップアート等のグループとして使われることも多い。
【特許文献１】特開平９−２３４９１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、フォントデータのダウンロードを「する」か「しない」か、即ち記憶領域へ登録（キャッシュ）「する」か「しない」かの２択で判断している。そのため、ドキュメントデータを処理するシステムやドキュメントデータの使用用途に適したキャッシュが行われていなかった。
【０００６】
また、タグ形式のマークアップ言語のように、様々な種類のオブジェクトが参照されるドキュメントデータの処理に適したキャッシュが行われていなかった。
【０００７】
本発明は、文書内で参照されるデータを参照場所に応じて印刷装置のキャッシュメモリに登録することを目的とする。
【０００８】
また、本発明は、文書内で参照されるオブジェクトをオブジェクトの種類に対する印刷装置の処理能力に応じて登録するか否かを判定することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、情報処理装置であって、文書内で参照されるデータを該文書内の参照場所に基づいて分類する分類手段と、前記分類手段で分類されたデータを該分類結果に応じて印刷装置のキャッシュメモリに登録する登録手段と、印刷処理の進捗状況と前記分類結果とに基づいて前記登録手段で登録されたキャッシュデータを削除する削除手段とを有することを特徴とする。
【００１０】
また、本発明は、情報処理装置であって、文書内で参照されるオブジェクトを該オブジェクトの種類に対する印刷装置の処理能力に基づいて前記印刷装置のキャッシュメモリに登録するか否かを判定する判定手段と、前記判定手段での判定結果に応じて前記キャッシュメモリに登録する登録手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、文書内で参照されるデータを参照場所に応じて印刷装置のキャッシュメモリに登録することにより、キャッシュされたデータの削除を効率良く行える。
【００１２】
また、本発明によれば、文書内で参照されるオブジェクトをオブジェクトの種類に対する印刷装置の処理能力に応じて登録するか否かを判定することにより、キャッシュを効率良く行える。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１４】
［第１の実施形態］
図１は、第１の実施形態におけるプリンタ制御システムの構成を示すブロック図である。図示するように、プリンタ制御システムは、ホストコンピュータ３０００とプリンタ１５００とで構成される。尚、本発明の機能が実現されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ、ＷＡＮ等のネットワークを介して接続がなされ、処理が行われるシステムであっても本発明を適用できる。
【００１５】
図１に示すホストコンピュータ３０００は、ＲＯＭ３内のプログラム用ＲＯＭ又は外部メモリ（ＨＤ，ＦＤ）１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備える。このＣＰＵ１は、システムバス４に接続される各デバイスを総括的に制御する。
【００１６】
ＲＯＭ３内のプログラム用ＲＯＭや外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステム（以下「ＯＳ」）等が記憶されている。また、ＲＯＭ３内のフォント用ＲＯＭや外部メモリ１１には、文書処理の際に使用するフォントデータ等が記憶され、ＲＯＭ３内のデータ用ＲＯＭや外部メモリ１１には、文書処理を行う際に使用する各種データが記憶されている。外部メモリ１１には、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下「プリンタドライバ」）等が記憶されている。また、ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。
【００１７】
更に、ホストコンピュータ３０００において、５はキーボードコントローラ（ＫＢＣ）であり、キーボード９や不図示のポインティング・デバイスからの入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はディスクコントローラ（ＤＫＣ）であり、ハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）等の外部メモリ１１へのアクセスを制御する。８はプリンタコントローラ（ＰＲＴＣ）であり、双方向性のインターフェース２１を介して接続されたプリンタ１５００との通信制御処理を実行する。
【００１８】
尚、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報領域へアウトラインフォントを展開（ラスタライズ）する処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。これにより、ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行えるものである。
【００１９】
一方、プリンタ１５００において、１２はプリンタＣＰＵであり、ＲＯＭ１３内のプログラム用ＲＯＭに記憶された制御プログラム等や外部メモリ１４に記憶された制御プログラム等に基づいて印刷部（プリンタエンジン）１７に画像信号を出力する。ＲＯＭ１３内のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等が記憶されている。ＲＯＭ１３内のフォント用ＲＯＭには、出力情報を生成する際に使用するフォントデータ等が記憶されている。ＲＯＭ１３内のデータ用ＲＯＭには、ハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００２０】
また、ＣＰＵ１２は、入力部１８を介してホストコンピュータ３０００との通信処理が可能となっており、プリンタ１５００内の情報等をホストコンピュータ３０００に通知できる。ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能するＲＡＭであり、増設ポート（不図示）に接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００２１】
尚、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。上述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。
【００２２】
また、オプションとして接続される外部メモリ１４には、フォントデータ、エミュレーションプログラム、フォームデータ等が記憶される。また、操作パネル１５０１は操作のためのスイッチ、ＬＥＤ及びＬＣＤ等で構成されている。
【００２３】
また、外部メモリ１４は１個だけに限らず、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した複数個の外部メモリが接続されても良い。
【００２４】
更に、不図示のＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしても良い。
【００２５】
次に、プリンタ１５００が接続されるホストコンピュータ３０００において印刷処理を実行するソフトウェアモジュールの構成及び処理を説明する。
【００２６】
図２は、ホストコンピュータ３０００において印刷処理を行うソフトウェアモジュールの構成を示す図である。図２において、アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、及びシステムスプーラ２０４は外部メモリ１１に保存されたファイルとして存在する。また、各モジュールは、モジュールが利用される際に、ＯＳによってＲＡＭ２にロードされて実行される。
【００２７】
また、アプリケーション２０１及びプリンタドライバ２０３は、外部メモリ１１のＦＤ、不図示のＣＤ−ＲＯＭ或いは不図示のネットワークを経由して外部メモリ１１のＨＤに追加することが可能である。
【００２８】
外部メモリ１１に保存されているアプリケーション２０１は、ＲＡＭ２にロードされて実行される。しかし、アプリケーション２０１からプリンタ１５００に対して印刷する際には、同様にＲＡＭ２にロードされ、実行可能なグラフィックエンジン２０２を利用して出力を行う。そして、プリンタドライバ２０３は、キャッシュ編集機能部４００を有し、キャッシュデータの編集が可能である。
【００２９】
ここで、プリンタドライバ２０３のキャッシュ編集機能部４００が実行するキャッシュ制御を、図３を用いて説明する。尚、図３のフローチャートに示す処理は、ホストコンピュータ３０００のＣＰＵ１が実行するプログラムの処理である。
【００３０】
図３は、第１の実施形態におけるキャッシュ制御を示すフローチャートである。まず、ステップＳ３０１で、アプリケーション２０１が作成、或いは外部メモリ１１からロードした原稿の印刷が指示されると、グラフィックエンジン２０２を通してプリンタドライバ２０３へ印刷を要求する。そして、ステップＳ３０２で、プリンタドライバ２０３のキャッシュ編集機能部４００が印刷要求された原稿の内容をサーチする。そして、ステップＳ３０３で、そのサーチ結果に基づいて、キャッシュ編集機能部４００がキャッシュ制御を行う際に参照する情報テーブルを作成する。
【００３１】
ここで、キャッシュ編集機能部４００が作成する情報テーブルについて、図４、図５を用いて説明する。尚、情報テーブルとは、プリンタ１５００のＲＡＭ１９内に定義されたキャッシュに登録されるデータ（以下、キャッシュデータと称す）に関する情報を纏めて管理するテーブルである。
【００３２】
また、第１の実施形態では、キャッシュデータは特に限定されるものではなく、例えばプリンタ１５００のフォントデータや特定図形データなどである。即ち、印刷処理で頻繁に使用されるデータをキャッシュしておき、高速な処理を実現するものである。
【００３３】
図４は、キャッシュデータを参照する文書内の参照命令とキャッシュとの関係を示す図である。図４において、４０１は文書内キャッシュであり、文書全体に渡って参照されるデータが登録されるキャッシュである。この例では、ページ１、５、１０、３０内で参照されるデータがキャッシュされている。また、図中に示すＡ、Ｂ、Ｃはキャッシュデータを識別するためのＩＤである。
【００３４】
４０２はページ内キャッシュであり、１つのページ内で参照されるデータが登録されるキャッシュである。４０３は領域内キャッシュであり、例えばページ２、１５のように、複数のページ（領域）で参照されるデータが登録されるキャッシュである。
【００３５】
図５は、第１の実施形態における情報テーブルの構成を示す図である。図５において、５０１はキャッシュデータＩＤであり、キャッシュデータを識別するための情報である。５０２はデータサイズであり、キャッシュデータのサイズである。５０３は参照回数であり、文書内でキャッシュデータが参照されている回数である。５０４は参照場所であり、キャッシュデータが参照されている文書内の箇所（ページ番号）である。
【００３６】
５０５は分類結果であり、参照されるデータが文書内キャッシュ、ページ内キャッシュ、領域内キャッシュの何れに分類されたかを示す情報である。５０６はキャッシュ優先度であり、所定の規則に従って決定されるキャッシュデータの優先度である。
【００３７】
図３に戻り、ステップＳ３０４で、キャッシュ編集機能部４００は情報テーブルを参照し、所定の分類規則に従って文書内のキャッシュデータを分類する。具体的には、図５に示すように、ドキュメント内キャッシュか、ページ内キャッシュか、領域内キャッシュかに分類する。次に、ステップＳ３０５で、キャッシュ編集機能部４００は情報テーブルに基づいて、キャッシュデータ毎の優先度を優先度付けの規則に従って算出する。そして、キャッシュ編集機能部４００は、分類結果と優先度の算出結果を情報テーブルにそれぞれ保存する。
【００３８】
ここで、上述の分類規則は、プリンタドライバ２０３の性能制限、プリンタ１５００の性能制限によって変更される。
【００３９】
図６は、ＣＰＵ１により実行される第１の実施形態における分類処理プログラムを示すフローチャートである。まず、ステップＳ６０１で、プリンタドライバ２０３は、インターフェース２１を介してプリンタ１５００と通信を行い、プリンタ１５００が扱えるキャッシュデータ構造（ドキュメント内、ページ内、領域内キャッシュ）の情報を得る。次に、ステップＳ６０２で、プリンタドライバ２０３は、自らが扱えるキャッシュデータ構造の情報と、プリンタ１５００が扱えるキャッシュデータの情報とから分類可能なキャッシュデータ構造の種類を決定する。
【００４０】
次に、ステップＳ６０３で、決定された分類可能なキャッシュデータ構造の種類に順位を付ける。そして、ステップＳ６０４で、プリンタ１５００又はプリンタドライバ２０３で処理不可能と判断されたキャッシュデータ構造の種類を優先順位の高い種類へ変更（分類）する。
【００４１】
また、優先度算出規則とは、例えば「キャッシュデータのサイズ×キャッシュデータが印刷データ内で参照されている回数」のようにキャッシュデータを比較できる基準のことである。キャッシュデータを一定の基準で比較できるものであれば、どんなものでも良いことは言うまでもない。
【００４２】
また、優先度算出規則は、「ドキュメント内キャッシュ」、「ページ内キャッシュ」、「領域内キャッシュ」それぞれに分類されたキャッシュデータに適用する優先度算出規則と、キャッシュデータの分類毎に考慮しても良い。
【００４３】
ここで、図３に戻り、ステップＳ３０６で、プリンタ１５００の記憶領域ＲＡＭ１９にキャッシュデータを登録する。この処理は、キャッシュデータの分類によってタイミングが異なる。例えば、キャッシュデータの分類が「ドキュメント内キャッシュ」の場合は、ドキュメント開始位置で登録する。キャッシュデータの分類が「ページ内キャッシュ」の場合は、該当ページ開始位置で登録し、キャッシュデータの分類が「領域内キャッシュ」の場合は、情報テーブルに記載されたキャッシュデータのライフタイムの開始位置で登録する。
【００４４】
キャッシュデータをプリンタ１５００の記憶装置ＲＡＭ１９に登録する場合、情報テーブルを参照し、情報テーブルに記載された優先度に従って優先度の高いキャッシュデータから順に登録する。また、登録を行う際には、プリンタの記憶装置の容量空き状態を確認し、キャッシュデータを登録するのに十分な空きがあれば登録を行い、キャッシュデータを登録するのに十分な空き容量がなければ、登録を行わない。
【００４５】
このように、プリンタドライバ２０３は情報テーブルを参照し、キャッシュデータ分類結果とキャッシュデータ毎の優先度とに基づいて、キャッシュデータをＲＡＭ１９に登録（キャッシュ）する。
【００４６】
次に、ステップＳ３０７で、プリンタドライバ２０３は、印刷データ内の現在着目している命令が参照を指示する命令か否かを判断する。その結果、着目している命令が参照を指示する命令でない場合、ステップＳ３１２へ進み、その命令をプリンタ１５００が認識可能な制御コマンドへ変換する。
【００４７】
一方、着目している命令が参照を指示する命令である場合、ステップＳ３０８へ進み、情報テーブルを参照し、現在着目している参照命令をキャッシュ参照命令として変換するか、展開命令として変換するかを判定する。この判定は参照するキャッシュデータが登録済みか否かで判定する。
【００４８】
上述のステップＳ３０８で、登録済みの場合、ステップＳ３０９へ進み、キャッシュへのプリンタ制御コマンドに変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインターフェース経由でプリンタ１５００へ出力される。
【００４９】
次に、ステップＳ３１０で、プリンタドライバ２０３は、参照されるキャッシュデータの分類と現在の印刷処理の進捗状況より、プリンタ１５００のＲＡＭ１９に登録されているキャッシュデータを削除する。例えば、参照されるキャッシュデータの分類が「ドキュメント内キャッシュ」の場合はドキュメント終了位置で削除する。また、参照されるキャッシュデータの分類が「ページ内キャッシュ」の場合は該当ページの終了位置で削除する。そして、参照されるキャッシュデータの分類が「領域内キャッシュ」の場合は情報テーブルに記載されたキャッシュデータのライフタイムの終了位置で削除する。
【００５０】
また、参照されるキャッシュデータの分類が「ページ内キャッシュ」であり、プリンタドライバ１５００が次に変換処理するページにもキャッシュデータが参照されている場合、現ページの終了位置では削除しない。
【００５１】
このように、削除しない場合は、次ページ開始位置でのキャッシュデータ登録の際に、キャッシュデータの優先度と次ページで参照されるキャッシュデータらの優先度とを比較する。比較した結果、キャッシュデータの優先度が高い場合はそのまま、そうでない場合はキャッシュデータの削除処理及び他のキャッシュデータの登録を行う。
【００５２】
一方、ステップＳ３０８で、キャッシュデータが登録されていない場合は、ステップＳ３１１へ進み、展開用のプリンタ制御コマンドに変換する。そして、変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインターフェース経由でプリンタ１５００へ出力される。
【００５３】
次に、ステップＳ３１３で、全てのデータを処理したか判断し、処理していなければ、ステップＳ３０６に戻り、上述の処理を繰り返し、全ての処理が終了すると、この処理を完了する。
【００５４】
第１の実施形態によれば、キャッシュデータを分類することで、文書処理システム又は使用用途に適したキャッシュ制御が可能となる。従って、文書に汎用性を持たせることができる。
【００５５】
［第２の実施形態］
次に、図面を参照しながら本発明に係る第２の実施形態を詳細に説明する。第２の実施形態では、ホストコンピュータ内で文書の編集を行う場合を説明する。
【００５６】
第２の実施形態におけるプリンタ制御システムの構成は、図１を用いて説明した第１の実施形態の構成と同じであり、説明は省略する。
【００５７】
図７は、第２の実施形態における印刷処理を実行するソフトウェアモジュールの構成を示す図である。図７において、プリンタドライバ２０３は、キャッシュ編集機能部７００を有する。アプリケーション２０１は、プリンタドライバ２０３を通してキャッシュ編集機能部７００を制御することで、文書データの編集が可能である。
【００５８】
図８は、ＣＰＵ１により実行される第２の実施形態におけるキャッシュ制御プログラムを示すフローチャートである。第２の実施形態では、文書の使用用途（例えば、データ保存のためのデータ量減少、ページ毎の編集のためのページ独立性）などに基づくキャッシュデータ構造に編集する処理である。尚、ステップＳ８０１〜Ｓ８０４は図３に示すステップＳ３０１〜Ｓ３０４と同じであり、説明は省略する。
【００５９】
ステップＳ８０５で、アプリケーション２０１は文書内の命令が参照を指示する命令か否かの判断を順次行う。着目している命令が参照を指示する命令であった場合、ステップＳ８０６へ処理を進める。ステップＳ８０６では、プリンタドライバ２０３のキャッシュ編集機能部７００は情報テーブルを参照し、現在着目している参照命令が参照しているキャッシュデータの種類（文書内又はページ内或いは領域内）をアプリケーション２０１に伝える。そして、アプリケーション２０１はキャッシュデータの種類によって文書データの編集を行う。文書データ編集方法は文書データの形式による。
【００６０】
第２の実施形態におけるキャッシュ編集機能部７００はアプリケーション２０１と通信が可能であれば、プリンタドライバ２０３に包含される必要はない。
【００６１】
また、編集された文書データは、外部メモリ１１に保存することが可能である。また、編集された文書データに情報テーブルを添付して外部メモリ１１に保存することにより、再度、文書データの編集を容易に行うことが可能となる。
【００６２】
［変形例］
第１及び第２の実施形態において、分類規則は、プリンタドライバ２０３の性能制限、プリンタ１５００の性能制限以外の、ドキュメントの使用用途によっても変更される。
【００６３】
例えば、文書データの使用用途がページ毎の編集処理、或いは文書データのダイレクトプリントであれば、キャッシュデータの構造はページ毎に独立であることが必要である。そのため、ページキャッシュ或いは１ページ内に収まる領域キャッシュの種類への分類が行われる。どの使用用途であるかの情報は予めホストコンピュータ３０００からプリンタドライバ２０３に通知される。尚、この使用用途別のキャッシュデータ分類の規則は予めプリンタドライバ２０３内に設定しておく。
【００６４】
［第３の実施形態］
次に、図面を参照しながら本発明に係る第３の実施形態を詳細に説明する。第３の実施形態では、キャッシュするデータとして、文字やイメージなどのオブジェクトを例に説明する。
【００６５】
第３の実施形態におけるプリンタ制御システムの構成は、図１を用いて説明した第１の実施形態の構成と同じであり、説明は省略する。
【００６６】
図９は、第３の実施形態における印刷処理を実行するソフトウェアモジュールの構成を示す図である。第１の実施形態（図２）と比べ、ホストコンピュータ３０００のプリンタドライバ２０３にキャッシュ管理機能部９００が含まれる点が異なる。他の構成は第１の実施形態と同じである。
【００６７】
第３の実施形態のキャッシュ管理機能部９００は、参照されるオブジェクトからの情報取得やキャッシュの判断等、キャッシュデータの管理を行う。
【００６８】
ここで、プリンタドライバ２０３のキャッシュ管理機能部９００が実行するキャッシュ管理を、図１０を用いて説明する。尚、図１０に示す処理は、ホストコンピュータ３０００のＣＰＵ１によって実行される処理である。
【００６９】
図１０は、ＣＰＵ１により実行される第３の実施形態におけるキャッシュ管理プログラムを示すフローチャートである。まず、ステップＳ１００１で、アプリケーション２０１が作成、或いは外部メモリ１１からロードした原稿の印刷が指示されると、グラフィックエンジン２０２を通してプリンタドライバ２０３へ印刷を要求する。そして、ステップＳ１００２で、プリンタドライバ２０３のキャッシュ管理機能部９００が印刷要求された原稿の内容をサーチする。そして、ステップＳ１００３で、そのサーチ結果に基づいて、キャッシュ管理機能部９００がキャッシュ管理を行う際に参照する情報テーブルを作成する。
【００７０】
ここで、キャッシュ管理機能部９００が作成する情報テーブルについて、図１１を用いて説明する。尚、情報テーブルとは、プリンタ１５００のＲＡＭ１９内に定義されたキャッシュに登録されるオブジェクトを纏めたテーブルである。
【００７１】
図１１は、第３の実施形態における情報テーブルの構成を示す図である。図１１において、１１０１はオブジェクトＩＤであり、各オブジェクトを識別するための情報である。１１０２はオブジェクト種類であり、文字、グループ、イメージなどの種類である。１１０３はデータサイズであり、オブジェクトのサイズである。１１０４は参照回数であり、文書内でオブジェクトが参照されている回数である。１１０５は参照場所であり、オブジェクトが参照されている文書内の箇所（ページ番号）である。
【００７２】
１１０６はキャッシュ是非であり、オブジェクトをキャッシュするか、しないかの判定フラグである。１１０７はキャッシュ優先度であり、所定の規則に従って決定されるキャッシュデータの優先度である。
【００７３】
図１０に戻り、ステップＳ１００４で、プリンタドライバ２０３のキャッシュ管理機能部９００は情報テーブルとプリンタ１５００の構成情報を取得し、オブジェクト毎の閾値（キャッシュの是非を決定する値）を設定する。次に、ステップＳ１００５で、キャッシュ管理機能部９００はその閾値より、参照されるオブジェクトをキャッシュするか否かの判別を行う。そして、キャッシュすると判別したオブジェクトに対して優先度付けを行い、キャッシュ管理機能部９００は、閾値と判別結果及び優先度付け結果を情報テーブルに保存する。
【００７４】
次に、ステップＳ１００６で、プリンタドライバ２０３は情報テーブルを参照し、情報テーブルの判別結果と優先度付け結果より、キャッシュするとした各オブジェクトをＲＡＭ１９に登録（キャッシュ）する。そして、ステップＳ１００７で、プリンタドライバ２０３は、プリンタ１５００にキャッシュを考慮した印刷命令を発行する。この印刷命令は、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインターフェース経由でプリンタ１５００へ出力される。
【００７５】
ここで、ステップＳ１００４によるオブジェクト毎に閾値を設定する処理を、図１２を用いて説明する。
【００７６】
図１２は、第３の実施形態におけるオブジェクト毎の閾値を決定する処理を示すフローチャートである。具体的には、プリンタ１５００が持つ機能やドキュメントデータの内容を参照して各オブジェクトの種類毎に重み付けの閾値を設定する。
【００７７】
まず、ステップＳ１２０１で、キャッシュ管理機能部９００はインターフェース２１を介してプリンタ１５００と通信を行い、プリンタ１５００の構成情報を取得する。ここで、構成情報とは、プリンタ１５００の処理能力情報である。具体的には、文字（フォントデータ）の圧縮／解凍、グループに対してのトラッピング処理、イメージに対して特殊な色変換処理、がプリンタ１５００で行われているか、プリンタがモノクロプリンタであるか、カラープリンタであるか、などの情報である。
【００７８】
次に、ステップＳ１２０２で、文書データの情報を取得する。文書データの情報とは、文書データが文字を多く含む文書ファイルデータであるか、写真などのイメージデータである、などの情報である。
【００７９】
次に、ステップＳ１２０３で、キャッシュ管理機能部９００は、ステップＳ１２０１、Ｓ１２０２で取得した情報より各オブジェクトの重み付けを決定する。各オブジェクトの重み付けを決定する処理のプログラムを、図１３を用いて説明する。
【００８０】
まず、ステップＳ１３０１で、データの種類を判別し、文書データの場合、ステップＳ１３０２へ進み、文字オブジェクトの重みを大きくする。また、イメージデータの場合、ステップＳ１３０３へ進み、イメージオブジェクトの重みを大きくする。次に、ステップＳ１３０４で、プリンタの構成情報（処理能力）を取得し、ステップＳ１３０５以降で、判定する。
【００８１】
ステップＳ１３０５で、文字の圧縮処理や文字エッジ抽出など、文字に関する処理がプリンタ１５００で行われていない場合、ステップＳ１３０６へ進み、文字オブジェクトの重みを大きくし、キャッシュを行うことで処理を軽減する。次に、ステップＳ１３０７で、イメージに関する処理がプリンタ１５００で行われていない場合、ステップＳ１３０８へ進み、イメージオブジェクトの重みを大きくする。次に、ステップＳ１３０９で、グループに関する処理がプリンタ１５００で行われていない場合、ステップＳ１３１０へ進み、グループオブジェクトの重みを大きくする。
【００８２】
ここで、図１２に戻り、ステップＳ１２０４で、キャッシュ管理機能部９００はデフォルトの閾値をオブジェクトの種類毎に取得し、ステップＳ１２０５で、その取得した閾値を更新する。
【００８３】
図１４は、オブジェクト毎の閾値の一例を示す図である。図１４において、閾値は※印で示されている。図１４では、オブジェクトの種類は文字、イメージ、グループの３種類であるが、この種類はそれ以上でも以下の種類数であっても問題がないことは言うまでもない。
【００８４】
ここで、図１０に戻り、ステップＳ１００５で、キャッシュ管理機能部９００は、参照されるオブジェクトのキャッシュ是非の判別を、オブジェクトの種類毎の閾値を参照することで行う。ＣＰＵ１により実行される参照オブジェクトのキャッシュ是非を判別する処理のプログラムを、図１５を用いて説明する。
【００８５】
まず、ステップＳ１５０１で、キャッシュ管理機能部９００はオブジェクトの種類毎の閾値を取得する。そして、ステップＳ１５０２で、取得したオブジェクトの種類毎の閾値からオブジェクトの優先度付け及びキャッシュするかしないかの判断を行う。
【００８６】
図１４に閾値によるオブジェクトの種類毎の優先度付けの例を示す。閾値をオブジェクトの種類毎、また一種類のオブジェクトでも閾値をレベル分けすることで、オブジェクトの優先度付けが可能となる。図１４に示す例では、レベル分けを４レベルで行われているが、そのレベル数を任意の数にすることで、優先度付けに汎用性を持たせることが可能となる。
【００８７】
次に、ステップＳ１５０３で、優先度付けの結果を情報テーブルに保存する。
【００８８】
ここで、図１０に戻り、ステップＳ１００６で、キャッシュ管理機能部４００は、情報テーブルのキャッシュ是非の判別結果とオブジェクト毎の優先度付け結果により、キャッシュすると判断した各オブジェクトをＲＡＭ１９へ容量の許す限り登録する。ＣＰＵ１により実行されるキャッシュ登録処理プログラムを、図１６を用いて説明する。
【００８９】
まず、ステップＳ１６０１で、情報処理テーブルを参照し、キャッシュ是非の判別結果と優先度付けの結果を取得する。そして、ステップＳ１６０２で、キャッシュすると判断した各オブジェクトのデータを取得する。
【００９０】
次に、ステップＳ１６０３で、優先度の高いオブジェクトから順に、ＲＡＭ１９へ登録する。そして、ステップＳ１６０４で、キャッシュメモリがフルになるまで、ステップＳ１６０３の処理を繰り返す。
【００９１】
この登録処理が終了すると、図１０に戻り、ステップＳ１００７で、プリンタ１５００に印刷命令を発行する。ここで、プリンタドライバ２０３がプリンタ１５００に発行するキャッシュを考慮した印刷命令は、キャッシュ登録処理で登録された参照オブジェクトについてはキャッシュデータを参照する参照命令をプリンタ１５００に発行することである。また、キャッシュ登録処理で登録されなかった参照オブジェクトについてはオブジェクトデータを展開し印刷命令をプリンタ１５００に発行することである。
【００９２】
尚、上述した閾値を変更させる重みは、任意の値で良く、上述のように大きくすることも良いし、小さくすることにしても良い。
【００９３】
ステップＳ１００２〜Ｓ１００７の処理は、全体に対して行っても、任意の範囲で分割した部分毎に行っても良い。部分毎に処理を行う場合には、分割した文書データの回数分繰り返せば良い。
【００９４】
第３の実施形態によれば、文書内の参照されるオブジェクト群をオブジェクトの種類毎に重み付けて優先順序付け、オブジェクト群をキャッシュするか否かを判断することで、文書処理システム、その使用用途に適した印刷データの作成が可能となる。
【００９５】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００９６】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【００９７】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００９８】
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００９９】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
【０１００】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１０１】
【図１】第１の実施形態におけるプリンタ制御システムの構成を示すブロック図である。
【図２】ホストコンピュータ３０００において印刷処理を行うソフトウェアモジュールの構成を示す図である。
【図３】第１の実施形態におけるキャッシュ制御を示すフローチャートである。
【図４】キャッシュデータを参照する文書内の参照命令とキャッシュとの関係を示す図である。
【図５】第１の実施形態における情報テーブルの構成を示す図である。
【図６】第１の実施形態における分類処理を示すフローチャートである。
【図７】第２の実施形態における印刷処理を実行するソフトウェアモジュールの構成を示す図である。
【図８】第２の実施形態におけるキャッシュ制御を示すフローチャートである。
【図９】第３の実施形態における印刷処理を実行するソフトウェアモジュールの構成を示す図である。
【図１０】第３の実施形態におけるキャッシュ管理を示すフローチャートである。
【図１１】第３の実施形態における情報テーブルの構成を示す図である。
【図１２】第３の実施形態におけるオブジェクト毎の閾値を決定する処理を示すフローチャートである。
【図１３】各オブジェクトの重み付けを決定する処理を示すフローチャートである。
【図１４】オブジェクト毎の閾値の一例を示す図である。
【図１５】参照オブジェクトのキャッシュ是非を判別する処理を示すフローチャートである。
【図１６】参照オブジェクトのキャッシュ登録処理を示すフローチャートである。
【図１】
2008046688.tif 000003
【図２】
2008046688.tif 000004
【図３】
2008046688.tif 000005
【図４】
2008046688.tif 000006
【図５】
2008046688.tif 000007
【図６】
2008046688.tif 000008
【図７】
2008046688.tif 000009
【図８】
2008046688.tif 000010
【図９】
2008046688.tif 000011
【図１０】
2008046688.tif 000012
【図１１】
2008046688.tif 000013
【図１２】
2008046688.tif 000014
【図１３】
2008046688.tif 000015
【図１４】
2008046688.tif 000016
【図１５】
2008046688.tif 000017
【図１６】
2008046688.tif 000018