(57)【要約】【課題】他のデータを取得する処理においてマシンリソースを有効に活用する。【解決手段】データ処理装置４０は、プリントデータ２０２が参照するリンクデータ２０５を取得するダウンロード処理部５２、リンクデータ２０５の特徴に基づいて、当該リンクデータ２０５をＲＡＭ４２又はＲＡＭ４２より応答速度が遅く大容量であるＨＤＤ４４のいずれか一方に記憶させるための判定処理を行う判定処理部５７として機能するＣＰＵ４１を備える。【選択図】図７
2010176514.tif 000002
【特許請求の範囲】
【請求項１】
外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置であって、
前記入力データが参照する他のデータを取得する処理、
前記他のデータの特徴に基づいて、当該他のデータを主記憶装置又は前記主記憶装置より応答速度が遅く大容量である補助記憶装置のいずれか一方に記憶させるための判定処理、
を行う制御部を備えることを特徴とするデータ処理装置。
【請求項２】
前記他のデータが複数のページの印刷に用いられるか否かに基づいて前記判定処理を行うことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記他のデータの取得開始後に生じる所定の枚数のページの印刷において当該他のデータが用いられるか否かに基づいて前記判定処理を行うことを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記他のデータのデータサイズと、当該他のデータの取得時における前記主記憶装置の空き容量又は当該主記憶装置の総記憶容量の少なくともいずれか一方との比較結果に基づいて前記判定処理を行うことを特徴とする請求項１から３のいずれか一項に記載のデータ処理装置。
【請求項５】
前記他のデータの取得完了までにかかる見込み時間に基づいて前記判定処理を行うことを特徴とする請求項１から４のいずれか一項に記載のデータ処理装置。
【請求項６】
外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置を、
前記入力データが参照する他のデータを取得する処理、
前記他のデータの特徴に基づいて、当該他のデータを主記憶装置又は前記主記憶装置より応答速度が遅く大容量である補助記憶装置のいずれか一方に記憶させるための判定処理、
を行う制御部として機能させることを特徴とするプログラム。
【請求項７】
前記他のデータが複数のページの印刷に用いられるか否かに基づいて前記判定処理を行うことを特徴とする請求項６に記載のプログラム。
【請求項８】
前記他のデータの取得開始後に生じる所定の枚数のページの印刷において当該他のデータが用いられるか否かに基づいて前記判定処理を行うことを特徴とする請求項６に記載のプログラム。
【請求項９】
前記他のデータのデータサイズと、当該他のデータの取得時における前記主記憶装置の空き容量又は当該主記憶装置の総記憶容量の少なくともいずれか一方との比較結果に基づいて前記判定処理を行うことを特徴とする請求項６から８のいずれか一項に記載のプログラム。
【請求項１０】
前記他のデータの取得完了までにかかる見込み時間に基づいて前記判定処理を行うことを特徴とする請求項６から９のいずれか一項に記載のプログラム。
【請求項１１】
外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理方法であって、
前記入力データが参照する他のデータを取得するステップ、
前記他のデータの特徴に基づいて、当該他のデータを主記憶装置又は前記主記憶装置より応答速度が遅く大容量である補助記憶装置のいずれか一方に記憶させるための判定処理を行うステップ、
を含むことを特徴とするデータ処理方法。
【請求項１２】
前記他のデータが複数のページの印刷に用いられるか否かに基づいて前記判定処理を行うことを特徴とする請求項１１に記載のデータ処理方法。
【請求項１３】
前記他のデータの取得開始後に生じる所定の枚数のページの印刷において当該他のデータが用いられるか否かに基づいて前記判定処理を行うことを特徴とする請求項１１に記載のデータ処理方法。
【請求項１４】
前記他のデータのデータサイズと、当該他のデータの取得時における前記主記憶装置の空き容量又は当該主記憶装置の総記憶容量の少なくともいずれか一方との比較結果に基づいて前記判定処理を行うことを特徴とする請求項１１から１３のいずれか一項に記載のデータ処理方法。
【請求項１５】
前記他のデータの取得完了までにかかる見込み時間に基づいて前記判定処理を行うことを特徴とする請求項１１から１４のいずれか一項に記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、プログラム及びデータ処理方法に関する。
【背景技術】
【０００２】
近年、印刷装置（例えばプリンタやＭＦＰ（Multifunction Peripheral）等）の機能として、マークアップ言語によるデータを印刷する機能が求められている。携帯電話やＰＤＡ等の形態端末の表示画面で閲覧したＸＨＴＭＬ（Extensible HyperText Markup Language）文書データをダイレクトに印刷する場合等に、当該機能が必要とされるためである。以下、マークアップ言語によるデータの例として、ＸＨＴＭＬ文書データの印刷に関した説明を行う。
【０００３】
印刷装置にマークアップ言語によるデータを印刷する機能を付加するため、マークアップ言語によるデータに基づき印刷データを生成して出力するデータ処理装置を介在させる構成がある。データ処理装置は、携帯端末等の外部機器と印刷装置との間に介在し、マークアップ言語による入力データに基づいて印刷データを印刷装置に出力する。
データ処理装置は、印刷データを生成する過程において、ＸＨＴＭＬ文書データに基づいて中間言語データを生成する処理を行う（以下、この処理を「解析」と称する）。
【０００４】
ＸＨＴＭＬ文書データは、ハイパーリンクを用いてそのＸＨＴＭＬ文書データ自体に含まれない他のデータ、即ちリンクデータ（例えば画像ファイル等）を参照し、表示させる機能を有している。リンクデータを参照するハイパーリンクを含むＸＨＴＭＬ文書データが入力された場合、データ処理装置はリンクデータによる表示内容も印刷データに含めて出力する。このとき、データ処理装置はハイパーリンクで指定されたリンクデータを取得する処理を行う。
【０００５】
データ処理装置は、取得したリンクデータを一時的に記憶するための記憶装置を有している。データ処理装置が有する記憶装置として、主記憶装置と補助記憶装置がある。主記憶装置は例えば半導体等を用いた揮発性メモリであり、補助記憶装置は例えばハードディスクやコンパクトフラッシュ（登録商標）等の不揮発性記憶装置である。主記憶装置と補助記憶装置とを比較すると、主記憶装置は応答速度に優れるが記憶容量あたりのコストが高く、補助記憶装置は応答速度に劣るが記憶容量あたりのコストが安く大容量を設けやすい。このため、主記憶装置のみにリンクデータを記憶させた場合、主記憶装置は記憶容量不足を生じやすくなり非効率である。一方、補助記憶装置のみにリンクデータを記憶させた場合、リンクデータの解析に伴う読出に時間がかかるので、この場合も非効率である。
【０００６】
そこで、主記憶装置の記憶容量不足を補いつつ主記憶装置の応答速度を活用するため、まずリンクデータを主記憶装置に記憶させ、主記憶装置の記憶容量不足が生じた場合に出力が最も後となるリンクデータを補助記憶装置に退避（スワップ）させ、その後に出力を完了した主記憶装置のリンクデータを削除して主記憶装置の空き記憶容量を確保した上で補助記憶装置に退避したリンクデータを主記憶装置に書き戻すデータ処理装置の構成がある（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１２７１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１のデータ処理装置によるデータの記憶制御は非効率となる場合があった。なぜならば、特許文献１のデータ処理装置は、リンクデータを主記憶装置に記憶させ、主記憶装置が記憶容量不足となった場合にリンクデータを補助記憶装置に退避させるので、退避させるリンクデータを最初から補助記憶装置に記憶させた場合に比してリンクデータの退避命令に費やすマシンリソースを無駄遣いするためである。加えて、リンクデータの退避に限らず、主記憶装置のデータを補助記憶装置に退避する場合、退避するデータを補助記憶装置に書き出すまで主記憶装置のデータを削除することはできず、その間は退避するデータを記憶している主記憶装置の記憶領域を利用することができないので、主記憶装置の記憶領域を有効に活用することができない。
【０００９】
なお、前述の記載はＸＨＴＭＬ文書データ及びリンクデータを例としているが、例えばＨＴＭＬ（HyperText Markup Language）、ＸＭＬ（Extensible Markup Language）ＰＰＭＬ（Personalized Print Markup Language）その他のマークアップ言語についても同様である。
【００１０】
本発明は、他のデータを取得する処理においてマシンリソースを有効に活用することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に記載の発明は、外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置であって、前記入力データが参照する他のデータを取得する処理、前記他のデータの特徴に基づいて、当該他のデータを主記憶装置又は前記主記憶装置より応答速度が遅く大容量である補助記憶装置のいずれか一方に記憶させるための判定処理、を行う制御部を備えることを特徴とする。
【００１２】
請求項２に記載の発明は、請求項１に記載のデータ処理装置において、前記他のデータが複数のページの印刷に用いられるか否かに基づいて前記判定処理を行うことを特徴とする。
【００１３】
請求項３に記載の発明は、請求項１に記載のデータ処理装置において、前記他のデータの取得開始後に生じる所定の枚数のページの印刷において当該他のデータが用いられるか否かに基づいて前記判定処理を行うことを特徴とする。
【００１４】
請求項４に記載の発明は、請求項１から３のいずれか一項に記載のデータ処理装置において、前記他のデータのデータサイズと、当該他のデータの取得時における前記主記憶装置の空き容量又は当該主記憶装置の総記憶容量の少なくともいずれか一方との比較結果に基づいて前記判定処理を行うことを特徴とする。
【００１５】
請求項５に記載の発明は、請求項１から４のいずれか一項に記載のデータ処理装置において、前記他のデータの取得完了までにかかる見込み時間に基づいて前記判定処理を行うことを特徴とする。
【００１６】
請求項６に記載の発明によるプログラムは、外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理装置を、前記入力データが参照する他のデータを取得する処理、前記他のデータの特徴に基づいて、当該他のデータを主記憶装置又は前記主記憶装置より応答速度が遅く大容量である補助記憶装置のいずれか一方に記憶させるための判定処理、を行う制御部として機能させることを特徴とする。
【００１７】
請求項７に記載の発明は、請求項６に記載のプログラムにおいて、前記他のデータが複数のページの印刷に用いられるか否かに基づいて前記判定処理を行うことを特徴とする。
【００１８】
請求項８に記載の発明は、請求項６に記載のプログラムにおいて、前記他のデータの取得開始後に生じる所定の枚数のページの印刷において当該他のデータが用いられるか否かに基づいて前記判定処理を行うことを特徴とする。
【００１９】
請求項９に記載の発明は、請求項６から８のいずれか一項に記載のプログラムにおいて、前記他のデータのデータサイズと、当該他のデータの取得時における前記主記憶装置の空き容量又は当該主記憶装置の総記憶容量の少なくともいずれか一方との比較結果に基づいて前記判定処理を行うことを特徴とする。
【００２０】
請求項１０に記載の発明は、請求項６から９のいずれか一項に記載のプログラムにおいて、前記他のデータの取得完了までにかかる見込み時間に基づいて前記判定処理を行うことを特徴とする。
【００２１】
請求項１１に記載の発明は、外部機器から入力された入力データに基づいて当該入力データの印刷データを生成し出力するデータ処理方法であって、前記入力データが参照する他のデータを取得するステップ、前記他のデータの特徴に基づいて、当該他のデータを主記憶装置又は前記主記憶装置より応答速度が遅く大容量である補助記憶装置のいずれか一方に記憶させるための判定処理を行うステップ、を含むことを特徴とする。
【００２２】
請求項１２に記載の発明は、請求項１１に記載のデータ処理方法において、前記他のデータが複数のページの印刷に用いられるか否かに基づいて前記判定処理を行うことを特徴とする。
【００２３】
請求項１３に記載の発明は、請求項１１に記載のデータ処理方法において、前記他のデータの取得開始後に生じる所定の枚数のページの印刷において当該他のデータが用いられるか否かに基づいて前記判定処理を行うことを特徴とする。
【００２４】
請求項１４に記載の発明は、請求項１１から１３のいずれか一項に記載のデータ処理方法において、前記他のデータのデータサイズと、当該他のデータの取得時における前記主記憶装置の空き容量又は当該主記憶装置の総記憶容量の少なくともいずれか一方との比較結果に基づいて前記判定処理を行うことを特徴とする。
【００２５】
請求項１５に記載の発明は、請求項１１から１４のいずれか一項に記載のデータ処理方法において、前記他のデータの取得完了までにかかる見込み時間に基づいて前記判定処理を行うことを特徴とする。
【発明の効果】
【００２６】
本発明によれば、他のデータを取得する処理においてマシンリソースを有効に活用することができる。
【図面の簡単な説明】
【００２７】
【図１】印刷装置の主要構成を示すブロック図である。
【図２】エンジンの主要構成を示す図である。
【図３】データ処理装置が有する機能を示す図である。
【図４】ダウンロードしたリンクデータがＲＡＭに記憶される場合を示す図である。
【図５】ダウンロードしたリンクデータがＨＤＤに記憶される場合を示す図である。
【図６】データ処理装置が行う主要な処理の流れを示すフローチャートである。
【図７】ダウンロードの開始処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、図を参照して本発明の実施の形態の例を詳細に説明する。
【００２９】
図１は、印刷装置１の主要構成を示すブロック図である。
印刷装置１は、エンジン１０と、制御部４０とを備える。
【００３０】
まず、エンジン１０について説明する。エンジン１０は、紙等の印刷媒体に印刷を行う装置である。
図２は、エンジン１０の主要構成を示す図である。本実施形態におけるエンジン１０は、イエロー（Ｙ），マゼンダ（Ｍ），シアン（Ｃ），ブラック（Ｋ）の４色それぞれを個別の静電ドラムで転写する構成（タンデム方式）である。
図２に示すように、エンジン１０は、用紙カセット１１、給紙ローラ１２、搬送ローラ１３、搬送ベルト１４、静電ドラム１５、１６、１７、１８、プリントユニット１９、２０、２１、２２、レーザーユニット２３、２３、２３、２３、転写ローラ２４、２４、２４、２４、定着器２５、排紙ローラ２６及び筐体２７を備える。
【００３１】
用紙カセット１１は、紙等の印刷媒体をストックする。以下、用紙カセット１１に紙がストックされている場合の印刷工程について記載する。
給紙ローラ１２は、用紙カセット１１内の紙を一枚ずつ引き出す。搬送ローラ１３は、給紙ローラ１２が引き出した紙を搬送ベルト１４へ搬送する。搬送ベルト１４へ搬送された紙は、静電ドラム１５，１６，１７，１８によりその紙面にトナー画像を施される。
【００３２】
静電ドラム１５、１６、１７、１８は、トナー画像を紙に転写する。以下、静電ドラム１５を例とし、転写の仕組みを説明する。
静電ドラム１５は円筒状の部材であり、帯電ユニット（図示略）によりその円筒の外周面が帯電している。静電ドラム１５は、帯電した外周面にレーザーユニット２３からレーザの照射を受けて露光する。レーザーユニット２３は、紙へ印刷する画像に応じたパターン（印刷パターン）に従ってレーザを静電ドラム１５に照射し、静電ドラム１５の外周面に静電潜像を形成する。その後、静電ドラム１５は、プリントユニット１９による現像を受ける。プリントユニット１９は、イエロー（Ｙ）のトナーを収めるトナーカートリッジと、トナーカートリッジ内のトナーを静電画像に付着させる現像ユニットとを有し、静電ドラム１５の外周面に形成された静電画像にトナーを付着させることで静電ドラム１５の外周面に印刷パターンに応じたトナー画像を施す。
トナー画像は、搬送ベルト１４と静電ドラム１５とによって紙が挟まれるタイミングで紙に転写される。搬送ベルト１４を挟んで静電ドラム１５と対向する位置には転写ローラ２４が設けられており、転写ローラ２４による逆帯電によりトナー画像は紙に転写される。
【００３３】
前述の静電ドラム１５によるトナー画像の転写と同様の仕組みにより、静電ドラム１６はプリントユニット２０のトナーカートリッジ内に収められたマゼンダ（Ｍ）のトナー画像を転写し、静電ドラム１７はプリントユニット２１のトナーカートリッジ内に収められたシアン（Ｃ）のトナー画像を転写し、静電ドラム１８はプリントユニット２２のトナーカートリッジ内に収められたブラック（Ｋ）のトナー画像を転写する。４色のトナー画像が重ねて転写されることにより、紙はその紙面にトナー画像を施される。
【００３４】
トナー画像を施された紙は、定着器２５へ搬送される。定着器２５は、紙面に形成されたトナー画像を定着させる。トナー画像の定着を施された紙は、排紙ローラ２６により搬送されて筐体２７の上方に排出される。
以上、紙に対する印刷工程を示したが、紙以外の印刷媒体についても同様の仕組みによる印刷が行われる。
【００３５】
印刷パターンは、データ処理装置４０が出力するビデオ信号２０４に基づく。以下、データ処理装置４０について説明する。
図１に示すように、データ処理装置４０は、ＣＰＵ４１、ＲＡＭ４２、ＲＯＭ４３、ハードディスク（以下の説明及び図においてＨＤＤと記載する）４４、通信装置４５、入力インターフェース（Ｉ／Ｆ）４６及びバス４７を備える。
【００３６】
ＣＰＵ４１は、通信装置４５を介して外部機器から入力されるデータに基づき、ＲＯＭ４３から処理内容に応じたプログラムを読み込んで実行、処理し、エンジン１０にビデオ信号２０４を出力する。以下の説明に置いて、通信装置４５を介して行われるネットワーク接続により印刷装置１と接続される外部機器をホスト８０と称し、通信装置４５とホスト８０との間の接続をネットワークＮとする。
【００３７】
ＲＡＭ４２は、ＣＰＵ４１が実行、処理するプログラムやデータ等を一時的に格納する記憶領域として機能する主記憶装置である。
【００３８】
ＲＯＭ４３は、ＣＰＵ４１が読み込む各種プログラムを書き換え不可能な状態で記憶する不揮発性メモリである。ＲＯＭ４３は、ネットワーク処理プログラム６０、解析処理プログラム６５、描画処理プログラム６６、判定処理プログラム６７を記憶する。ネットワーク処理プログラム６０は、印刷要求受信処理プログラム６１とダウンロード処理プログラム６２を包括する。
【００３９】
ＨＤＤ４４は、データを書き換え可能な状態で記憶することができ、不揮発性メモリとして機能する補助記憶装置である。ＨＤＤ４４は、ＲＡＭ４２より応答速度が遅く大容量である。ＨＤＤ４４は、ＲＡＭ４２の記憶容量が不足した場合にＲＡＭ４２の記憶内容を書き出して退避させるための記憶領域として利用することができる。
【００４０】
通信装置４５は、データ処理装置４０と外部機器とを相互通信可能に接続する。通信装置４５として、例えば無線ＬＡＮ（Local Area Network）、Bluetooth（登録商標）、イーサネット（登録商標）、インターネット接続その他の方式による外部のネットワークとの接続を可能にする各種の装置が挙げられる。通信装置４５と相互通信可能に接続される外部機器はネットワークを介して接続可能な外部機器であればよく、ＰＣ、ワークステーション、サーバ、携帯電話、通信機能を有するゲーム機等が一例として挙げられる。
【００４１】
入力Ｉ／Ｆ４６は、印刷装置１の動作に関する入力指示や印刷装置１の各種設定に関する入力を行う外部入力装置４８を接続するためのインターフェースである。外部入力装置４８は、例えばタッチパネル方式の液晶ディスプレイによる入力表示装置やその周囲に設けられたキー（ボタン）に対する操作による入力装置等を備える。
バス４７は、データ処理装置４０の各部を相互に接続する。
【００４２】
図３は、データ処理装置４０が有する機能を示す図である。
図３に示すように、データ処理装置４０は、ネットワーク処理部５０、解析処理部５５、描画処理部５６、判定処理部５７として機能する。データ処理装置４０は、ＣＰＵ４１がＲＯＭ４３から各機能に対応するプログラムを読み込んで実行処理することでそれぞれの機能を発揮する。具体的には、ＣＰＵ４１は、ネットワーク処理プログラム６０を読み込んでネットワーク処理部５０として機能し、解析処理プログラム６５を読み込んで解析処理部５５として機能し、描画処理プログラム６６を読み込んで描画処理部６６として機能し、判定処理プログラム６７を読み込んで判定処理部５７として機能する。
【００４３】
以下、各機能について説明する。
ネットワーク処理部５０は、通信装置４５を介して行われるネットワーク接続により通信可能に接続されたコンピュータ、サーバ等のホスト８０との間で行われる通信に関する処理を行う。ネットワーク処理部５０は、その機能として印刷要求受信処理部５１とダウンロード処理部５２とを有する。ＣＰＵ４１は、印刷要求受信処理プログラム６１を読み込んで印刷要求受信処理部５１として機能し、ダウンロード処理プログラム６２を読み込んでダウンロード処理部５２として機能する。
【００４４】
印刷要求受信処理部５１は、ホスト８０から入力される印刷要求２０１を受信して印刷の対象となるデータ（以下、プリントデータ２０２と称する）を解析処理部５５に出力する。ホスト８０から入力される印刷要求２０１は、プリントデータ２０２を含む。
ダウンロード処理部５２は、リンクデータ２０５を取得するためのダウンロード要求２０６をホスト８０に対して行う。このとき、ダウンロード処理部５２がダウンロード要求２０６を行うホスト８０はリンクデータ２０５のURI(Uniform Resource Identifier)によって決定し、印刷要求２０１を入力するホスト８０とダウンロード要求２０６の対象となるホスト８０とは必ずしも同一ではない。
【００４５】
解析処理部５５は、プリントデータ２０２を解析してＤＬ２０３(Display List)等の中間言語データを生成する。生成された中間言語データはＲＡＭ４２に格納される。解析において、解析処理部５５は、プリントデータ２０２がマークアップ言語による記述を含み、その記述内容にハイパーリンクを含む場合にそのハイパーリンクが指定するリンクデータ２０５のダウンロードを行うための処理をダウンロード処理部５２に行わせる。即ち、入力データに含まれるプリントデータ２０２に対してリンクデータ２０５は他のデータである。なお、プリントデータ２０２に含まれるマークアップ言語による記述は、例えばＸＨＴＭＬ、ＨＴＭＬ、ＸＭＬ、ＰＰＭＬその他のマークアップ言語による記述である。
【００４６】
描画処理部５６は、ＲＡＭ４２に格納された中間言語データを読み出し、当該中間言語データに基づいてエンジン１０に解釈可能なビデオ信号２０４をエンジン１０へ出力する。エンジン１０は、ビデオ信号２０４に基づいて印刷を行う。
描画処理部５６に読み出され、ビデオ信号２０４の生成が終了した中間言語データは削除される。
【００４７】
判定処理部５７は、ダウンロード処理部５２が要求したリンクデータ２０５をＲＡＭ４２又はＨＤＤ４４のいずれか一方に記憶させるための判定処理を行う。つまり、ＲＡＭ４２及びＨＤＤ４４は、ダウンロードしたリンクデータ２０５を記憶する記憶装置として機能する。
【００４８】
図４は、ダウンロードしたリンクデータ２０５がＲＡＭ４２に記憶される場合を示す。
リンクデータ２０５がＲＡＭ４２に記憶された場合、解析処理部５５が当該リンクデータ２０５を読み出して解析する処理速度においてリンクデータ２０５をＨＤＤ４４に記憶した場合に比して優れる。しかしながら、ＲＡＭ４２の記憶容量はＨＤＤ４４に比して小さいため、リンクデータ２０５のデータサイズによってはＲＡＭ４２の空き容量に収まらない場合がある他、リンクデータ２０５が複数ある場合にはその全てをＲＡＭ４２に記憶させることができない場合がある。
【００４９】
図５は、ダウンロードしたリンクデータ２０５がＨＤＤ４４に記憶される場合を示す。
ＨＤＤ４４は、ＲＡＭ４２に比して読み出し速度が劣るので、ＨＤＤ４４に記憶されたリンクデータ２０５を解析処理部５５が解析する場合、リンクデータ２０５がＲＡＭ４２に記憶されたリンクデータ２０５を解析する場合に比して速度において劣る。しかしながら、ＨＤＤ４４の記憶容量はＲＡＭ４２に比して大きいので、データサイズの大きいリンクデータ２０５を記憶することや複数のリンクデータ２０５を記憶することができる。
【００５０】
ＲＡＭ４２は、リンクデータ２０５の記憶のほか、解析処理部５５が生成した中間言語データやその他の各種データの記憶のための記憶領域としても用いられるので、リンクデータ２０５の記憶のために用いることができるＲＡＭ４２の記憶領域は限られる。そこで、判定処理部５７は、リンクデータ２０５をＲＡＭ４２に記憶させて解析処理を迅速に行うことを優先してよい条件下においてリンクデータ２０５をＲＡＭ４２に記憶させ、リンクデータ２０５をＲＡＭ４２に記憶させることが適わない場合にはリンクデータ２０５をＨＤＤ４４に記憶させる。
【００５１】
判定処理部５７は、リンクデータ２０５のデータサイズやリンクデータ２０５が印刷に用いられるタイミング等の各種条件に基づき、リンクデータ２０５をＲＡＭ４２又はＨＤＤ４４のいずれか一方に記憶させるための判定処理を行う。判定処理部５７は、リンクデータ２０５ごとに判定処理を行う。以下、判定処理の詳細を説明する。
【００５２】
まず、判定処理部５７は、リンクデータ２０５の情報、例えばデータサイズ等を取得する。
そして、判定処理部５７は、リンクデータ２０５が複数のページの印刷に用いられるか否かに基づいて判定処理を行う。本実施形態において、判定処理部５７は、複数のページの印刷に用いられるリンクデータ２０５をＨＤＤ４４に記憶させる。このとき、判定処理部５７は、プリントデータ２０２が参照する各リンクデータ２０５の同一性をURIの一致を以って確認し、同一のURIを有する複数のハイパーリンクによって参照され、かつ、印刷されるページが異なるリンクデータ２０５は複数のページの印刷に用いられるリンクデータ２０５であると判定する。
【００５３】
リンクデータ２０５が印刷に用いられるページがどのページとなるかの判定の根拠となる情報は、プリントデータ２０２により異なる。
例えば、PPML等、ページレイアウトに関する情報を含むデータの場合はホスト８０から印刷要求２０１が出力された時点でページレイアウトが決定しているので、判定処理部５７はそのページレイアウトに従ってリンクデータ２０５が複数のページの印刷に用いられるか否かを判定する。
プリントデータ２０２がページレイアウトに関する情報を含んでいない場合、判定処理部５７はリンクデータ２０５が印刷に用いられるページを判定するための処理を行う。例えば、データサイズ等、リンクデータ２０５の情報に基づいてそのリンクデータ２０５を印刷するために必要な面積を推定し、その面積が当該リンクデータ２０５を指定するハイパーリンクの直前までの内容を印刷するページの空き領域面積に収まるか否かを判定する処理等が挙げられる。この処理の場合、リンクデータ２０５は、リンクデータ２０５を印刷するための面積が空き領域面積に収まる場合その空き領域面積を有するページに印刷され、収まらない場合次のページに印刷される。なお、この処理方法によるページレイアウトの判定は一例であり、本発明に他のページレイアウト決定方法を適用することを妨げない。
【００５４】
判定処理部５７は、リンクデータ２０５をＨＤＤ４４に記憶させる判定結果を出した時点で判定処理を終了する。以下、リンクデータ２０５が複数のページの印刷に用いられない場合に判定処理部５７がさらに行う判定処理について説明する。以下の説明においても、リンクデータ２０５をＨＤＤ４４に記憶させる判定結果を出した時点でその後の判定は行わずに判定処理部５７は処理を終了する。
【００５５】
判定処理部５７は、リンクデータ２０５のデータサイズと当該リンクデータ２０５の取得時におけるＲＡＭ４２の空き容量又はＲＡＭ４２の総記憶容量の少なくともいずれか一方との比較結果に基づいて判定処理を行う。
本実施形態において、判定処理部５７は、リンクデータ２０５のデータサイズが当該リンクデータ２０５の取得時におけるＲＡＭ４２の空き容量以上である場合に当該リンクデータ２０５をＨＤＤ４４に記憶させる。本実施形態では、ＲＡＭ４２の空き容量そのもの、即ち空き容量の１００％とリンクデータ２０５のデータサイズとを比較するが、必ずしも１００％である必要はなく、任意の割合を設定することができる。また、ＲＡＭ４２の空き容量ではなく、ＲＡＭ４２の総記憶容量に対する所定割合としてもよいし、その両方に基づいて判定するようにしてもよい。例えば、リンクデータ２０５のデータサイズが、ＲＡＭ４２の空き容量以上であるか又はＲＡＭ４２の総記憶容量に対する所定の割合以上である場合に判定制御部５７は当該リンクデータ２０５をＨＤＤ４４に記憶させるようにする等の判定処理条件が挙げられる。
【００５６】
さらに、判定処理部５７は、リンクデータ２０５の取得開始後に生じる所定の枚数のページの印刷において当該リンクデータ２０５が用いられるか否かに基づいて判定処理を行う。本実施形態において、判定処理部５７は、リンクデータ２０５の取得開始後に生じる最初の１ページの印刷において当該リンクデータ２０５が用いられない場合に当該リンクデータ２０５をＨＤＤ４４に記憶させるが、判定の基準となる所定のページ数は任意に設定することができる。
【００５７】
本実施形態において、判定処理部５７は、リンクデータ２０５が単一のページに用いられ、当該リンクデータ２０５のデータサイズがＲＡＭ４２の空き容量の所定割合よりも小さく、かつ、当該リンクデータ２０５の取得開始時に当該リンクデータ２０５が今後印刷する最初のページの印刷に用いられる場合、当該リンクデータ２０５をＲＡＭ４２に記憶させるよう制御して当該リンクデータ２０５のダウンロードを開始する。そして、判定処理部５７は、リンクデータ２０５のダウンロード開始後、リンクデータ２０５のダウンロード完了までの見込み時間を算出する。
【００５８】
判定処理部５７は、リンクデータ２０５の取得完了までにかかる見込み時間に基づいて判定処理を行う。本実施形態において、判定処理部５７は、リンクデータ２０５の取得完了までにかかる見込み時間が６０秒を上回る場合に当該リンクデータ２０５をＨＤＤ４４に記憶させる。つまり、判定処理部５７は、ＲＡＭ４２に記憶させる状態で開始したダウンロードによって得られるリンクデータ２０５の記憶先をＨＤＤ４４に変更する。具体的には、ＣＰＵ４１がそれまでのダウンロード処理によってＲＡＭ４２に記憶されたリンクデータ２０５の一部分をＨＤＤ４４に書き出し、以降継続されるダウンロードによって得られるリンクデータ２０５の残り部分を直接ＨＤＤ４４に記憶させる。本実施形態では、リンクデータ２０５の取得完了までにかかる見込み時間が６０秒を上回る場合、判定処理部５７は当該リンクデータ２０５をＨＤＤ４４に記憶させるよう制御するが、６０秒に限らず任意の時間を判定処理条件として設定することができる。
【００５９】
判定処理部５７がリンクデータ２０５をＨＤＤ４４に記憶させる判定結果を生ずる前述の条件のすべてに当てはまらない場合、判定処理部５７は、リンクデータ２０５をＲＡＭ４２に記憶させる。本実施形態において、リンクデータ２０５が単一のページの印刷に用いられ、当該リンクデータ２０５の取得開始時におけるＲＡＭ４２の空き容量がリンクデータ２０５のデータサイズを上回り、当該リンクデータ２０５の取得開始後に印刷される最初のページの印刷に当該リンクデータ２０５が用いられ、かつ、当該リンクデータ２０５の取得完了までにかかる見込み時間が所定の時間以下の場合、当該リンクデータ２０５をＲＡＭ４２に記憶させる。
【００６０】
リンクデータ２０５のダウンロードが完了すると、解析処理部５５は、当該リンクデータ２０５を解析して中間言語データを生成する。描画処理部５６は、ページ単位でビデオ信号２０４を生成する。つまり、プリントデータ２０２及びリンクデータ２０５に基づく解析処理により、次に印刷するページを構成する全ての中間言語データが揃うと、描画処理部５６はそのページのビデオ信号２０４を生成する。
プリントデータ２０２に基づき印刷される全てのページの印刷が終了するまで、前述の解析処理、リンクデータ２０５のダウンロード及びビデオ信号２０４の生成、出力が継続して行われる。
【００６１】
次に、データ処理装置４０が行う処理の流れを、図６及び図７のフローチャートを用いて説明する。以下の記載では、ＣＰＵ４１がＲＯＭ４３から各種プログラムを読み込む処理について省略する。
【００６２】
図６は、データ処理装置４０が行う主要な処理の流れを示すフローチャートである。
まず、ＣＰＵ４１は、ホスト８０が出力したプリントデータ２０２を取得する（ステップＳ１）。次にＣＰＵ４１は、ステップＳ１で読み込んだプリントデータ２０２に基づくダウンロード処理のうち、解析が未完了のリンクデータ２０５があるか否かをチェックし（ステップＳ２）、ない場合（ステップＳ２：ＮＯ）、ＣＰＵ４１はプリントデータ２０２の解析を行う（ステップＳ３）。なお、ステップＳ１の直後に行われるステップＳ２の処理では、まだハイパーリンクの検出を経ていないので、ステップＳ３に移行する。
【００６３】
ステップＳ３の解析を経て、ＣＰＵ４１はプリントデータ２０２からハイパーリンクが検出されたか否かを判定する（ステップＳ４）。ハイパーリンクが検出された場合（ステップＳ４：ＹＥＳ）、ＣＰＵ４１はダウンロードの開始処理を行う（ステップＳ５）。ダウンロードの開始処理については後述する。
【００６４】
その後、ＣＰＵ４１は、これから印刷する先頭のページに用いるデータにダウンロード未完了のリンクデータ２０５が有るか否かを判定し（ステップＳ６）、ない場合（ステップＳ６：ＮＯ）、ＣＰＵ４１は先頭のページに用いる全てのデータの解析が完了しているか否かを判定する（ステップＳ７）。先頭のページに用いる全てのデータの解析が完了している場合（ステップＳ７：ＹＥＳ）、ＣＰＵ４１は先頭のページの描画処理を行う（ステップＳ８）。ステップＳ８の処理後、ＣＰＵ４１はプリントデータ２０２に基づく全てのページの描画処理が完了したか否かを判定し（ステップＳ９）、完了している場合（ステップＳ９：ＹＥＳ）、処理を終了する。
【００６５】
ステップＳ４においてハイパーリンクが検出されなかった場合（ステップＳ４：ＮＯ）、ステップＳ６の処理に移行する。
ステップＳ６において先頭のページに用いるデータにダウンロード未完了のリンクデータ２０５が有る場合（ステップＳ６：ＹＥＳ）、ステップＳ７において先頭のページに用いる全てのデータの解析が完了していない場合（ステップＳ７：ＮＯ）及びステップＳ９においてプリントデータ２０２に基づく全てのページの描画処理が完了していない場合（ステップＳ９：ＮＯ）、ステップＳ２の処理に戻る。
【００６６】
ステップＳ６，ステップＳ７又はステップＳ９からステップＳ２の処理に戻った場合、ステップＳ２の判定において、解析が未完了のリンクデータ２０５がある場合（ステップＳ２：ＹＥＳ）、ＣＰＵ４１はそのリンクデータ２０５のダウンロードが完了しているか否かを判定し（ステップＳ１０）、完了している場合（ステップＳ１０：ＹＥＳ）、そのリンクデータ２０５を解析する（ステップＳ１１）。ステップＳ１０において、リンクデータ２０５のダウンロードが完了していない場合（ステップＳ１０：ＮＯ）、ステップＳ３の処理に移行する。
【００６７】
次に、ダウンロードの開始処理の流れについて、図７のフローチャートを用いて説明する。
まず、ＣＰＵ４１はステップＳ４で検出されたハイパーリンクによって参照されるリンクデータ２０５が複数ページに渡って用いられるか否かを判定する（ステップＳ２１）。リンクデータ２０５が複数ページに渡って用いられない場合（ステップＳ２１：ＮＯ）、ＣＰＵ２１はハイパーリンクに基づきそのリンクデータ２０５を有するホスト８０から当該リンクデータ２０５の情報を取得する（ステップＳ２２）。ステップＳ２２で得るリンクデータ２０５の情報は、例えばリンクデータ２０５のデータサイズ等である。
【００６８】
ステップＳ２２の後、ＣＰＵ４１はリンクデータ２０５のデータサイズがそのときのＲＡＭ４２の空き容量未満であるか否か判定する（ステップＳ２３）。当該リンクデータ２０５のデータサイズがそのときのＲＡＭ４２の空き容量未満である場合（ステップＳ２３：ＹＥＳ）、ＣＰＵ４１は当該リンクデータ２０５が今後印刷される最初のページに用いられるか否かを判定する（ステップＳ２４）。
【００６９】
ステップＳ２４において、リンクデータ２０５が今後印刷される最初のページに用いられる場合（ステップＳ２４：ＹＥＳ）、ＣＰＵ４１はＲＡＭ４２に当該リンクデータ２０５を記憶させる状態で当該リンクデータ２０５のダウンロードを開始し、ダウンロード完了までの見込み時間を算出する（ステップＳ２５）。ＣＰＵ４１は、ステップＳ２５で算出した見込み時間が６０秒未満である場合（ステップＳ２６：ＹＥＳ）、リンクデータ２０５をＲＡＭ４２に記憶させる（ステップＳ２７）。
【００７０】
ステップＳ２１においてリンクデータ２０５が複数ページに渡って用いられる場合（ステップＳ２１：ＹＥＳ）、ステップＳ２３においてリンクデータ２０５のデータサイズがそのときのＲＡＭ４２の空き容量以上である場合（ステップＳ２３：ＮＯ）、ステップＳ２４においてリンクデータ２０５が今後印刷される最初のページに用いられない場合（ステップＳ２４：ＮＯ）及びステップＳ２６において見込み時間が６０秒以上である場合、ＣＰＵ４１はリンクデータ２０５をＨＤＤ４４に記憶させる（ステップＳ２８）。なお、ステップＳ２８の処理に移る前にステップＳ２６を経ており、ステップＳ２６において見込み時間が６０秒以上である場合には、ＣＰＵ４１はそれまでＲＡＭ４２に記憶させたリンクデータ２０５の一部をＨＤＤ４４に書き出す処理を伴う。
【００７１】
本実施形態によれば、判定処理部５７がリンクデータ２０５の特徴に基づいてリンクデータ２０５をＲＡＭ４２又はＨＤＤ４４のいずれか一方に記憶させるための判定処理を行う。このとき、ＲＡＭ４２に記憶されたリンクデータ２０５は解析処理部５５による解析処理を迅速に行うことができる。加えて、ＨＤＤ４４にリンクデータ２０５を記憶させる場合であっても、リンクデータ２０５のダウンロード中にＲＡＭ４２の記憶容量が不足してＨＤＤ４４にＲＡＭ４２の記憶内容を書き出すスワップ処理を行う場合に比して、当該スワップ処理を行うための処理のオーバーヘッドを減らすことができる。つまり、本実施形態のデータ処理装置４０は、リンクデータ２０５を取得する処理において主記憶装置であるＲＡＭ４２を有効に活用することができ、従来のデータ処理においてスワップ処理等に費やされていたマシンリソースを有効活用することができる。これらの結果として、本発明のデータ処理装置４０は印刷処理を高速化することができる。
【００７２】
さらに、判定処理部５７は、リンクデータ２０５が複数のページの印刷に用いられるか否かに基づいて判定処理を行う。なぜならば、リンクデータ２０５が複数のページの印刷に用いられる場合、当該リンクデータ２０５を用いる最後のページが印刷されるまで当該リンクデータ２０５を保持する必要が生じるので、そのようなリンクデータ２０５をＲＡＭ４２に記憶させた場合、ＲＡＭ４２の記憶領域を長期に渡って占有してしまい、他の処理に用いるＲＡＭ４２の記憶容量が不足する可能性があるからである。このため、判定処理部５７は複数のページの印刷に用いるリンクデータ２０５を最初からＨＤＤ４４に記憶させる。これによって、当該リンクデータ２０５がＲＡＭ４２の記憶領域を不足させてスワップ処理を生じさせる可能性を低減させることができ、ＲＡＭ４２を有効に活用することができる。
【００７３】
さらに、判定処理部５７は、リンクデータ２０５の取得開始後に生じる所定の枚数のページの印刷において当該リンクデータ２０５が用いられるか否かに基づいて判定処理を行う。なぜならば、解析処理部５５は中間言語データを生成する際にリンクデータ２０５をＲＡＭ４２に読み込むので、リンクデータ２０５のダウンロード完了後にすぐ用いるリンクデータ２０５の場合、最初からＲＡＭ４２に記憶させておく方が効率的だからである。逆に、リンクデータ２０５の取得開始後に生じる所定の枚数のページの印刷において用いないリンクデータ２０５をＲＡＭ４２に記憶させると、しばらくの間印刷に用いられないリンクデータ２０５がＲＡＭ４２の記憶容量を占有し、他の処理に用いるためのＲＡＭ４２の記憶容量を圧迫する可能性がある。このため、判定処理部５７はリンクデータ２０５の取得開始後に生じる所定の枚数のページの印刷において当該リンクデータ２０５が用いられないリンクデータ２０５を最初からＨＤＤ４４に記憶させる。これによって、当該リンクデータ２０５がＲＡＭ４２の記憶領域を不足させてスワップ処理を生じさせる可能性を低減させることができ、ＲＡＭ４２を有効に活用することができる。
【００７４】
さらに、判定処理部５７は、リンクデータ２０５のデータサイズと、当該リンクデータ２０５の取得時におけるＲＡＭ４２の空き容量又はＲＡＭ４２の総記憶容量の少なくともいずれか一方との比較結果に基づいて判定処理を行う。なぜならば、リンクデータ２０５をＲＡＭ４２に記憶させる場合、そのときのＲＡＭ４２に当該リンクデータ２０５を十分に記憶可能な空き容量がなければ、結局そのリンクデータ２０５又はＲＡＭ４２に記憶された他のデータをＨＤＤ４４に書き出すスワップ処理を生じさせてしまうからである。このため、判定処理部５７はリンクデータ２０５のデータサイズと当該リンクデータ２０５の取得時におけるＲＡＭ４２の空き容量又はＲＡＭ４２の総記憶容量の少なくともいずれか一方との比較結果に基づき、ＲＡＭ４２に記憶させることができないデータサイズを有するリンクデータ２０５を最初からＨＤＤ４４に記憶させる。これによって、当該リンクデータ２０５がＲＡＭ４２の記憶領域を不足させてスワップ処理を生じさせる可能性を低減させることができ、ＲＡＭ４２を有効に活用することができる。なお、ＲＡＭ４２の総記憶容量と比較する場合は、ＲＡＭ４２の総記憶容量にリンクデータ２０５のデータサイズが収まりきらない場合に生じるスワップ処理をなくすことに加え、リンクデータ２０５によってＲＡＭ４２が大幅に占有されてしまうことによって他の処理に用いるＲＡＭ４２の記憶領域を大幅に制限してしまう可能性を低減させる効果も発揮する。
【００７５】
さらに、判定処理部５７は、リンクデータ２０５の取得完了までにかかる見込み時間に基づいて判定処理を行う。なぜならば、取得完了までに長時間を要するリンクデータ２０５をＲＡＭ４２に記憶させると、そのリンクデータ２０５を記憶させるための空き領域をＲＡＭ４２に確保し続けなければならない時間が長時間に渡ることとなり、その間はそのリンクデータ２０５を記憶させるための空き領域を他の処理に用いることができず、他の処理の処理効率を低下させる可能性が生じるため、取得完了までに長時間を要するリンクデータ２０５をＲＡＭ４２に記憶させることは好ましくないからである。このため、判定処理部５７はリンクデータ２０５の取得完了までにかかる見込み時間が所定時間以上となるリンクデータ２０５をＨＤＤ４４に記憶させる。これによって、当該リンクデータ２０５がＲＡＭ４２の記憶領域を不足させてスワップ処理を生じさせる可能性を低減させることができ、ＲＡＭ４２を有効に活用することができる。
【００７６】
なお、本発明の実施の形態は、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００７７】
例えば、本実施形態で判定処理部５７が行う判定の順番、図７に示すフローチャートの流れはあくまで一例であり、その判定の優先順は任意に変更することができる。
【００７８】
エンジンはタンデム方式に限らず、他の方式によってもよい。他の方式として、例えば一つの静電ドラムを用いる方式（1ドラム方式）等が挙げられる。
【００７９】
データ処理装置の各部は、同等の機能を有する別構成でもよい。例えば、ＲＯＭ、ハードディスク等は別の記憶装置（例えばフラッシュメモリ等）を用いてもよい。
【００８０】
マークアップ言語として、ＸＨＴＭＬ、ＨＴＭＬ、ＸＭＬ、ＰＰＭＬを例示しているが、本発明は他のマークアップ言語によるデータ又はハイパーリンクに相当する他のデータを参照するための記述を含む独自のフォーマットによるデータを処理することもできる。
【００８１】
データ処理装置は、印刷装置と一体で設けられてもよいし、独立したデータ処理装置としてホストと印刷装置との間に介在させてもよい。
【００８２】
中間言語データはDisplay Listに限らず、例えばPostScript、PCL、Pages、LIPS、ART、RPDL、インタープレスその他のページ記述言語によってもよい。
【００８３】
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてＲＯＭを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ等の不揮発性メモリ、ＣＤ-ＲＯＭ等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【符号の説明】
【００８４】
１０    エンジン
４０    データ処理装置
４１    ＣＰＵ
４２    ＲＡＭ
４３    ＲＯＭ
４４    ＨＤＤ
４５    通信装置
８０    ホスト
【図１】
2010176514.tif 000003
【図２】
2010176514.tif 000004
【図３】
2010176514.tif 000005
【図４】
2010176514.tif 000006
【図５】
2010176514.tif 000007
【図６】
2010176514.tif 000008
【図７】
2010176514.tif 000009