(57)【要約】【課題】ＸＭＬなどのマークアップ言語により記述したデータから、画像データを生成する処理を高速化することができるデータ処理装置、印刷制御装置、印刷システム、データ処理方法、データ処理プログラム、及びそのプログラムを記録した記録媒体を提供すること。【解決手段】ＸＭＬドキュメントから取得した描画命令について、同じ描画命令が未登録であれば、描画命令及び管理番号を含む描画データを、制御部２１０を介してＸＭＬパース部２２０からレンダリング部２３０に受け渡し、レンダリングを行うと共に、描画命令及び管理番号をキャッシュ領域２２ｂに登録する。一方、同じ描画命令が登録済みであれば、登録済み描画命令に対応する管理番号を含む描画データを、制御部２１０を介してＸＭＬパース部２２０からレンダリング部２３０に受け渡し、キャッシュ領域２２ｂから管理番号に従って読み出した描画命令によりレンダリングを行う。【選択図】図４
2007328493.tif 000002
【特許請求の範囲】
【請求項１】
描画内容をマークアップ言語で記述した入力データを受け付ける入力手段と、
前記入力データを解釈することにより描画命令を取得し、前記取得した描画命令に当該描画命令を個別に管理するための管理データを付与してから、前記管理データが付与された描画命令を受け渡す処理を、前記入力データから取得される複数の描画命令について次々に行う解釈手段と、
前記管理データが付与された描画命令を受け取ると、前記受け取った描画命令に従う描画処理を行うことにより、次々に受け取る描画命令を展開して画像データを生成する展開手段と、
前記管理データが付与された描画命令を記憶手段に登録する登録手段とを備え、
前記解釈手段は、前記解釈して取得した描画命令と同じ描画命令が前記記憶手段に登録済みである場合に、前記管理データが付与された描画命令に替えて前記登録済みの描画命令と同じ管理データを受け渡し、
前記展開手段は、前記管理データを受け取ると、前記受け取った管理データに対応する描画命令を前記記憶手段から読み出して、前記読み出した描画命令に従う描画処理を行うことを特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記解釈手段は、前記入力データを解釈して前記描画命令の描画位置を取得し、前記描画位置のみが異なる描画命令を同じ描画命令として同じ管理データを付与し、前記描画命令の描画位置を示す位置情報をさらに受け渡し、
前記展開手段は、前記位置情報に基づいて前記描画命令に従う描画処理を行うことを特徴とするデータ処理装置。
【請求項３】
請求項１又は２に記載のデータ処理装置において、
前記解釈手段は、前記取得した描画命令ごとに前記入力データにおける出現頻度を算出し、前記出現頻度の度数に応じて前記管理データの付与対象とする描画命令を決定することを特徴とするデータ処理装置。
【請求項４】
請求項３に記載のデータ処理装置において、
前記解釈手段は、前記入力データにおいて前記描画命令に相当する部分に含まれるタグのライン数を、前記描画命令ごとに算出し、前記タグのライン数を前記描画命令の出現頻度とすることを特徴とするデータ処理装置。
【請求項５】
請求項１乃至４のいずれか一項に記載のデータ処理装置において、
前記入力データから、所定の矩形領域を有するバンドごとの画像データを生成する場合、
前記解釈手段及び前記展開手段は、前記バンドごとに処理することを特徴とするデータ処理装置。
【請求項６】
請求項１乃至５のいずれか一項に記載のデータ処理装置において、
前記マークアップ言語は、ＸＭＬ、ＨＴＭＬ又はＸＨＴＭＬのいずれかであることを特徴とするデータ処理装置。
【請求項７】
印刷装置に印刷用の画像データを供給する印刷制御装置であって、
描画内容をマークアップ言語で記述した入力データを受け付ける入力手段と、
前記入力データを解釈することにより描画命令を取得し、前記取得した描画命令に当該描画命令を個別に管理するための管理データを付与してから、前記管理データが付与された描画命令を受け渡す処理を、前記入力データから取得される複数の描画命令について次々に行う解釈手段と、
前記管理データが付与された描画命令を受け取ると、前記受け取った描画命令に従う描画処理を行うことにより、次々に受け取る描画命令を展開して、前記印刷用の画像データを生成する展開手段と、
前記管理データが付与された描画命令を記憶手段に登録する登録手段とを備え、
前記解釈手段は、前記解釈して取得した描画命令と同じ描画命令が前記記憶手段に登録済みである場合に、前記管理データが付与された描画命令に替えて前記登録済みの描画命令と同じ管理データを受け渡し、
前記展開手段は、前記管理データを受け取ると、前記受け取った管理データに対応する描画命令を前記記憶手段から読み出して、前記読み出した描画命令に従う描画処理を行うことを特徴とする印刷制御装置。
【請求項８】
印刷装置と、前記印刷装置を制御する印刷制御装置とを備えた印刷システムであって、
前記印刷制御装置は、
描画内容をマークアップ言語で記述し入力データを受け付ける入力手段と、
前記入力データを解釈することにより描画命令を取得し、前記取得した描画命令に当該描画命令を個別に管理するための管理データを付与してから、前記管理データが付与された描画命令を受け渡す処理を、前記入力データから取得される複数の描画命令について次々に行う解釈手段とを備え、
前記印刷装置は、
前記管理データが付与された描画命令を受け取ると、前記受け取った描画命令に従う描画処理を行うことにより、次々に受け取る描画命令を印刷用の画像データに展開する展開手段と、
前記管理データが付与された描画命令を記憶手段に登録する登録手段とを備え、
前記解釈手段は、前記解釈して取得した描画命令と同じ描画命令が前記記憶手段に登録済みである場合に、前記管理データが付与された描画命令に替えて前記登録済みの描画命令と同じ管理データを受け渡し、
前記展開手段は、前記管理データを受け取ると、前記受け取った管理データに対応する描画命令を前記記憶手段から読み出して、前記読み出した描画命令に従う描画処理を行うことを特徴とする印刷システム。
【請求項９】
描画内容をマークアップ言語で記述した入力データを受け付ける入力工程と、
前記入力データを解釈することにより描画命令を取得し、前記取得した描画命令に当該描画命令を個別に管理するための管理データを付与してから、前記管理データが付与された描画命令を受け渡す処理を、前記入力データから取得される複数の描画命令について次々に行う解釈工程と、
前記管理データが付与された描画命令を受け取ると、前記受け取った描画命令に従う描画処理を行うことにより、次々に受け取る描画命令を展開して画像データを生成する展開工程と、
前記管理データが付与された描画命令を記憶手段に登録する登録工程とを備え、
前記解釈工程において、前記解釈して取得した描画命令と同じ描画命令が前記記憶手段に登録済みである場合に、前記管理データが付与された描画命令に替えて前記登録済みの描画命令と同じ管理データを受け渡し、
前記展開工程において、前記管理データを受け取ると、前記受け取った管理データに対応する描画命令を前記記憶手段から読み出して、前記読み出した描画命令に従う描画処理を行うことを特徴とするデータ処理方法。
【請求項１０】
コンピュータを、
描画内容をマークアップ言語で記述した入力データを受け付ける入力手段、
前記入力データを解釈することにより描画命令を取得し、前記取得した描画命令に当該描画命令を個別に管理するための管理データを付与してから、前記管理データが付与された描画命令を受け渡す処理を、前記入力データから取得される複数の描画命令について次々に行う解釈手段、
前記管理データが付与された描画命令を受け取ると、前記受け取った描画命令に従う描画処理を行うことにより、次々に受け取る描画命令を展開して画像データを生成する展開手段、
前記管理データが付与された描画命令を記憶手段に登録する登録手段、として機能させ、
前記解釈手段は、前記解釈して取得した描画命令と同じ描画命令が前記記憶手段に登録済みである場合に、前記管理データが付与された描画命令に替えて前記登録済みの描画命令と同じ管理データを受け渡し、
前記展開手段は、前記管理データを受け取ると、前記受け取った管理データに対応する描画命令を前記記憶手段から読み出して、前記読み出した描画命令に従う描画処理を行うことを特徴とするデータ処理プログラム。
【請求項１１】
請求項１０に記載のデータ処理プログラムを記録した、コンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＭＬなどのマークアップ言語により記述したデータから、ビットマップ形式などの画像データを生成するデータ処理装置、印刷制御装置、印刷システム、データ処理方法、データ処理プログラム、及びそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
従来、マークアップ言語の１つであるＸＭＬ(Extensible Markup Language)により記述されたデータ（以下、「ＸＭＬドキュメント」ともいう）を処理可能としたＸＭＬプリンタが知られている。
【０００３】
例えば、特許文献１に記載の技術では、プリンタドライバが、ＸＭＬドキュメントの内容を展開してプリンタが解釈可能な言語又はビットマップ形式で表された画像データを生成し、画像データをプリンタに送信することにより、ＸＭＬドキュメントの印刷を実現している。
【０００４】
また、特許文献２に記載の技術では、ＸＭＬドキュメントにネットワーク上のアドレス情報が含まれる場合に、ネットワーク上にあるアドレス情報の指定先のサーバと通信して、オブジェクトなどのデータを取得し、通信して取得したデータを組み込んだＸＭＬドキュメントを解釈してレンダリングすることにより、画像データを生成している。こうして、アドレス情報が含まれたＸＭＬドキュメントの印刷が実現される。また、通信して取得したオブジェクトをキャッシュしておくことで、同じオブジェクトの重複した通信を省き、処理を高速化させる技術が記載されている。
【０００５】
【特許文献１】特開２０００−３３０９０８号公報
【特許文献２】特開２００２−９１７２６号公報（第７頁、段落（００６１）、及び第８頁、段落（００７２）参照）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、ＸＭＬドキュメントを処理する際に、まずＸＭＬドキュメントを言語解釈して描画命令を取得してから、得られた描画命令を次々に展開するために、例えば同じ描画命令が繰り返し描画される場合には、同じ描画命令の描画処理が繰り返し行われることになる。このように、ＸＭＬドキュメントを効率的に処理することができないため、処理時間が掛かってしまうという課題がある。
【０００７】
また、特許文献２に記載の技術では、ネットワークからデータを取得する通信に要する時間を短縮することができても、ＸＭＬドキュメントを展開して画像データを生成するために要する処理時間を短縮することはできない。
【０００８】
そこで、本発明は、ＸＭＬなどのマークアップ言語により記述したデータから、画像データを生成する処理を高速化することができるデータ処理装置、印刷制御装置、印刷システム、データ処理方法、データ処理プログラム、及びそのプログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のデータ処理装置は、描画内容をマークアップ言語で記述した入力データを受け付ける入力手段と、入力データを解釈することにより描画命令を取得し、取得した描画命令に当該描画命令を個別に管理するための管理データを付与してから、管理データが付与された描画命令を受け渡す処理を、入力データから取得される複数の描画命令について次々に行う解釈手段と、管理データが付与された描画命令を受け取ると、受け取った描画命令に従う描画処理を行うことにより、次々に受け取る描画命令を展開して画像データを生成する展開手段と、管理データが付与された描画命令を記憶手段に登録する登録手段とを備え、解釈手段は、解釈して取得した描画命令と同じ描画命令が記憶手段に登録済みである場合に、管理データが付与された描画命令に替えて登録済みの描画命令と同じ管理データを受け渡し、展開手段は、管理データを受け取ると、受け取った管理データに対応する描画命令を記憶手段から読み出して、読み出した描画命令に従う描画処理を行うことを特徴とする。
【００１０】
この構成によれば、解析手段が入力データを解析して取得した描画命令は管理データが付与された状態で展開手段に次々に受け渡されて、展開手段は受け取った描画命令に従って次々に描画処理を行い、又、受け取った描画命令は記憶手段に登録される。そして、解析手段が解析して取得した描画命令と同じ描画命令が記憶手段に登録済みである場合には、解析手段は描画命令を個別に管理するための管理データを展開手段に受け渡して、展開手段は、受け取った管理データに対応する描画命令を記憶手段から読み出して描画処理を行う。このように、登録済みの描画命令については、描画命令自体を解析手段から展開手段に受け渡すことなく、管理データを受け渡すことにより描画処理を行うようにして、画像データを生成する。したがって、解析手段と展開手段との間で受け渡されるデータ量が小さくなり、マークアップ言語で記述された入力データから画像データを生成する処理を高速化することができる。
【００１１】
また、本発明のデータ処理装置において、解釈手段は、入力データを解釈して描画命令の描画位置を取得し、描画位置のみが異なる描画命令を同じ描画命令として同じ管理データを付与し、描画命令の描画位置を示す位置情報をさらに受け渡し、展開手段は、位置情報に基づいて描画命令に従う描画処理を行うことが好ましい。
【００１２】
この構成によれば、描画位置のみが異なる描画命令には同じ管理データを付与するようにして、位置情報により描画位置を再現した描画処理が可能になる。これにより、登録した描画命令を記憶手段から読み出して描画処理を行う確率が高まり、処理をより高速化することができる。
【００１３】
また、本発明のデータ処理装置において、解釈手段は、取得した描画命令ごとに入力データにおける出現頻度を算出し、出現頻度の度数に応じて管理データの付与対象とする描画命令を決定することが好ましい。
【００１４】
この構成によれば、入力データにおける描画命令の出現頻度に応じて管理データを付与する描画命令を決定することにより、記憶手段に登録する描画命令は出現頻度に応じて決定されるので、より効率的に処理できるようになる。
【００１５】
また、本発明のデータ処理装置において、解釈手段は、入力データにおいて描画命令に相当する部分に含まれるタグのライン数を、描画命令ごとに算出し、タグのライン数を描画命令の出現頻度とすることが好ましい。
【００１６】
この構成によれば、マークアップ言語で記述されたタグのライン数についての出現頻度を、描画命令の出現頻度とすることにより、登録対象とする描画命令を簡易な処理で決定することができる。
【００１７】
また、本発明のデータ処理装置において、入力データから、所定の矩形領域を有するバンドごとの画像データを生成する場合、解釈手段及び展開手段は、バンドごとに処理することが好ましい。
【００１８】
この構成によれば、バンドごとの画像データを効率的に生成することができる。
【００１９】
また、本発明のデータ処理装置において、マークアップ言語は、ＸＭＬ、ＨＴＭＬ又はＸＨＴＭＬのいずれかであることが好ましい。
【００２０】
この構成によれば、ＸＭＬ、ＨＴＭＬ又はＸＨＴＭＬの形式の入力データから、画像データを生成するデータ処理装置を得ることができる。
【００２１】
本発明のもう１つの態様は、印刷装置に印刷用の画像データを供給する印刷制御装置であって、描画内容をマークアップ言語で記述した入力データを受け付ける入力手段と、入力データを解釈することにより描画命令を取得し、取得した描画命令に当該描画命令を個別に管理するための管理データを付与してから、管理データが付与された描画命令を受け渡す処理を、入力データから取得される複数の描画命令について次々に行う解釈手段と、管理データが付与された描画命令を受け取ると、受け取った描画命令に従う描画処理を行うことにより、次々に受け取る描画命令を展開して、印刷用の画像データを生成する展開手段と、管理データが付与された描画命令を記憶手段に登録する登録手段とを備え、解釈手段は、解釈して取得した描画命令と同じ描画命令が記憶手段に登録済みである場合に、管理データが付与された描画命令に替えて登録済みの描画命令と同じ管理データを受け渡し、展開手段は、管理データを受け取ると、受け取った管理データに対応する描画命令を記憶手段から読み出して、読み出した描画命令に従う描画処理を行うことを特徴とする。
【００２２】
この構成によれば、解析手段と展開手段との間で受け渡されるデータ量が小さくなるので、マークアップ言語で記述された入力データから印刷用の画像データを生成する処理を高速化することができる。したがって、より早いタイミングで印刷用の画像データを印刷装置に供給して、印刷が行われるまでに要する時間をより短くすることが可能になる。
【００２３】
さらに、本発明のもう１つの態様は、印刷装置と、印刷装置を制御する印刷制御装置とを備えた印刷システムであって、印刷制御装置は、描画内容をマークアップ言語で記述し入力データを受け付ける入力手段と、入力データを解釈することにより描画命令を取得し、取得した描画命令に当該描画命令を個別に管理するための管理データを付与してから、管理データが付与された描画命令を受け渡す処理を、入力データから取得される複数の描画命令について次々に行う解釈手段とを備え、印刷装置は、管理データが付与された描画命令を受け取ると、受け取った描画命令に従う描画処理を行うことにより、次々に受け取る描画命令を印刷用の画像データに展開する展開手段と、管理データが付与された描画命令を記憶手段に登録する登録手段とを備え、解釈手段は、解釈して取得した描画命令と同じ描画命令が記憶手段に登録済みである場合に、管理データが付与された描画命令に替えて登録済みの描画命令と同じ管理データを受け渡し、展開手段は、管理データを受け取ると、受け取った管理データに対応する描画命令を記憶手段から読み出して、読み出した描画命令に従う描画処理を行うことを特徴とする。
【００２４】
この構成によれば、マークアップ言語で記述された入力データから画像データを生成する処理を高速化して、印刷が行われるまでに要する時間をより短くすることが可能な印刷システムを得ることができる。
【００２５】
また、本発明は方法の発明とすることができる。すなわち、本発明のデータ処理方法は、描画内容をマークアップ言語で記述した入力データを受け付ける入力工程と、入力データを解釈することにより描画命令を取得し、取得した描画命令に当該描画命令を個別に管理するための管理データを付与してから、管理データが付与された描画命令を受け渡す処理を、入力データから取得される複数の描画命令について次々に行う解釈工程と、管理データが付与された描画命令を受け取ると、受け取った描画命令に従う描画処理を行うことにより、次々に受け取る描画命令を展開して画像データを生成する展開工程と、管理データが付与された描画命令を記憶手段に登録する登録工程とを備え、解釈工程において、解釈して取得した描画命令と同じ描画命令が記憶手段に登録済みである場合に、管理データが付与された描画命令に替えて登録済みの描画命令と同じ管理データを受け渡し、展開工程において、管理データを受け取ると、受け取った管理データに対応する描画命令を記憶手段から読み出して、読み出した描画命令に従う描画処理を行うことを特徴とする。
【００２６】
さらに、本発明はプログラム及びそのプログラムを記録した記録媒体とすることができる。本発明のデータ処理プログラムは、コンピュータを、描画内容をマークアップ言語で記述した入力データを受け付ける入力手段、入力データを解釈することにより描画命令を取得し、取得した描画命令に当該描画命令を個別に管理するための管理データを付与してから、管理データが付与された描画命令を受け渡す処理を、入力データから取得される複数の描画命令について次々に行う解釈手段、管理データが付与された描画命令を受け取ると、受け取った描画命令に従う描画処理を行うことにより、次々に受け取る描画命令を展開して画像データを生成する展開手段、管理データが付与された描画命令を記憶手段に登録する登録手段、として機能させ、解釈手段は、解釈して取得した描画命令と同じ描画命令が記憶手段に登録済みである場合に、管理データが付与された描画命令に替えて登録済みの描画命令と同じ管理データを受け渡し、展開手段は、管理データを受け取ると、受け取った管理データに対応する描画命令を記憶手段から読み出して、読み出した描画命令に従う描画処理を行うことを特徴とする。
【００２７】
このデータ処理プログラムを記録した記録媒体としては、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＩＣカード、又はメモリカードなどコンピュータが読み取り可能な種々の媒体を利用することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明を具体化した実施形態について図面を参照して説明する。
【００２９】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る印刷システムの構成を示した図である。図１に示すように、印刷システム１は、ホストコンピュータ（印刷制御装置）２及びプリンタ（印刷装置）３を備えている。
【００３０】
ホストコンピュータ２は汎用のパーソナルコンピュータであり、図１に示すように、ＣＰＵ２０、ＲＯＭ２１、ＲＡＭ２２、ハードディスク（ＨＤ）２３、ＣＤ−ＲＯＭドライブ２４、ネットワークインターフェイス（Ｉ／Ｆ）２５、及び通信インターフェイス（Ｉ／Ｆ）２６を備えている。通信Ｉ／Ｆ２６は、ケーブルを介してプリンタ３が接続されており、ホストコンピュータ２とプリンタ３とは相互にデータ通信可能となっている。また、ネットワークＩ／Ｆ２５はＬＡＮケーブルなどを介してネットワークサーバ４と接続されており、ネットワークサーバ４と所定のプロトコルに従う通信を行うことにより、ホストコンピュータ２はインターネットに接続可能である。
【００３１】
ＣＰＵ２０は、ホストコンピュータ２の各構成を制御する部分である。ＲＯＭ２１はホストコンピュータ２を制御するための所定のプログラムなどが記録された不揮発性のメモリ、ＲＡＭ２２はワーキングメモリなどに用いる汎用のメモリである。また、ＲＡＭ２２の記憶領域上には、汎用の処理に用いるワーキング領域と、後述する管理番号及び描画命令を登録するためのキャッシュ領域とが確保されている。キャッシュ領域に登録された管理番号及び描画命令は、ＣＰＵ２０の制御によりＦＩＦＯ，ＬＩＦＯ又はハッシュなど周知の手法によるメモリ管理が行われる。
【００３２】
ＨＤ２３は、アプリケーションプログラムや本発明に係るデータ処理プログラムなどを記録している。なお、データ処理プログラムはＨＤ２３に予め記録されていてもよいし、ＣＤ−ＲＯＭ５などの記録媒体に記録された形態で供給され、ＣＰＵ２０がＣＤ−ＲＯＭドライブ２４によりＣＤ−ＲＯＭ５からプログラムを読み出し、読み出したプログラムをＨＤ２３に記録するものとしてもよい。
【００３３】
そして、ＣＰＵ２０が、所定のオペレーションシステムの管理下で、ＨＤ２３に記録されたアプリケーションプログラムを読み出して実行することによりアプリケーション１００が機能し、データ処理プログラムを読み出して実行することによりプリンタドライバ２００が機能する（図２参照）。
【００３４】
アプリケーション１００は、文書作成ソフトウェアやウェブブラウザなどのプリンタ３に対する印刷要求元である。アプリケーション１００は、文書作成ソフトウェアにより作成されたＸＭＬドキュメントや、ウェブブラウザがネットワークサーバ４と通信するようにしてインターネットから取得したＸＭＬドキュメントなどを印刷の対象として、印刷要求及びＸＭＬドキュメントを含む所定のフォーマットの印刷データをプリンタドライバ２００に受け渡す処理を行う。
【００３５】
プリンタドライバ（データ処理装置）２００は、アプリケーション１００から印刷データを受け取ると、ＸＭＬドキュメント（入力データ）を解釈して描画処理を行うことにより、プリンタ３が処理可能なフォーマットの画像データを生成し、この印刷用の画像データを通信Ｉ／Ｆ２６を介してプリンタ３に送信する部分である。これらの処理を行うため、図２に示すように、プリンタドライバ２００は、制御部２１０、ＸＭＬパース部（解釈手段）２２０及びレンダリング部２３０を備えている。
【００３６】
制御部２１０は、ＸＭＬパース部２２０及びレンダリング部２３０を制御して、ＸＭＬドキュメントに対する各種の処理を行わせる部分であり、アプリケーション１００から受け渡されたＸＭＬドキュメントに入力処理を行うＸＭＬドキュメント入力部（入力手段）２１１と、ＸＭＬパース部２２０及びレンダリング部２３０とのデータ授受を制御するデータ制御部２１２とを有している。
【００３７】
ＸＭＬパース部２２０は、ＸＭＬドキュメントを解釈してＸＭＬドキュメントの描画内容を表す描画命令を取得するＸＭＬ解釈部２２１と、描画命令に管理番号を付与する管理番号付与部２２２と、管理番号（管理データ）が付与された描画命令を含む描画データを所定のフォーマットに変換して制御部２１０に受け渡す描画データ送信部２２３とを有している。なお、管理番号は、レンダリング部２３０が登録対象とする描画命令を個別に管理するために用いる番号であり、同じ描画命令に対しては同じ番号が付与される。
【００３８】
レンダリング部２３０は、制御部２１０から受け渡された描画データを受け取る描画データ受信部２３１と、未登録の管理番号が付与された描画命令をＲＡＭ２２のキャッシュ領域に登録する描画命令登録部（登録手段）２３２と、描画命令に従ってレンダリングを実行するレンダリング実行部（展開手段）２３３とを有している。具体的には、描画命令と管理番号とを関連付けた状態でキャッシュ領域上の管理テーブルに記録するようにして、管理番号が付与された描画命令はキャッシュ領域に登録される。
【００３９】
ここで、ＸＭＬパース部２２０の管理番号付与部２２２は、解析して取得した描画命令と同じ描画命令がＲＡＭ２２のキャッシュ領域に登録済みであった場合には、解析して取得した描画命令に、登録済みの描画データに対応する管理番号を付与する処理を行う。そして、描画データ送信部２２３は、描画命令自体を含むことなく、管理番号を含んだ描画データを制御部２１０に受け渡す。なお、このときの描画命令を含まない描画データを「登録済み描画データ」と呼び、登録済み描画データに対して、未登録時に生成される描画命令及び管理番号を含んだ描画データを「未登録描画データ」と呼ぶことにする。
【００４０】
登録済み描画データを受け取った制御部２１０のデータ制御部２１２は、受け取った描画データを所定のフォーマットに変換してレンダリング部２３０に受け渡す。レンダリング部２３０の描画データ受信部２３１が登録済み描画データを受け取ると、レンダリング実行部２３３はＲＡＭ２２のキャッシュ領域から登録済み描画データに含まれる管理番号に該当する描画命令を読み出して、この描画命令に従うレンダリングを実行する。
【００４１】
以上に説明したように、第１の実施形態に係るプリンタドライバ２００は、登録済みの描画命令を処理する際には、描画命令を含むことなく管理番号を含んだ登録済み描画データを、ＸＭＬパース部２２０から制御部２１０、レンダリング部２３０と順番に受け渡すようにして処理することを特徴としている。
【００４２】
次に、ＸＭＬドキュメントが入力された際にプリンタドライバ２００が行う詳細な処理について、図３及び図４を参照しながら、図５〜図７のフローチャートに従って順番に説明する。なお、図３は未登録の描画命令について行う処理におけるデータの動き、図４は登録済みの描画命令について行う処理におけるデータの動きを示しており、図５は制御部２１０が行う処理手順、図６はＸＭＬパース部２２０が行う処理手順、図７はレンダリング部２３０が行う処理手順を示している。
【００４３】
アプリケーション１００からＸＭＬドキュメントを受け取ると、制御部２１０は図５に示す処理を開始する。処理を開始すると、まず、ステップＳ１００において、ＸＭＬドキュメント入力部２１１は入力されたデータがＸＭＬドキュメントであることを認識して入力処理を行う（図３（１）及び図４（１）参照）。
【００４４】
次に、ステップＳ１１０では、データ制御部２１２は、入力されたＸＭＬドキュメントをＸＭＬパース部２２０に受け渡す（図３（２）及び図４（２）参照）。
【００４５】
ここで、実際には、ＸＭＬドキュメントを受け渡した後、制御部２１０は後述するステップＳ１２０の処理を行うが、説明の便宜のため、以下では、制御部２１０から受け渡されたＸＭＬドキュメントに対してＸＭＬパース部２２０が行う処理から説明する。
【００４６】
ＸＭＬパース部２２０は、データ制御部２１２からＸＭＬドキュメントが受け渡されると、図６に示す処理を開始して、ステップＳ２００において、受け渡されたＸＭＬドキュメントを構成する記述のうち未処理の記述があるか否かを判断して、未処理の記述があれば（ステップＳ２００：Ｙｅｓ）、ステップＳ２１０に進む。未処理の記述がなければ（ステップＳ２００：Ｎｏ）、ステップＳ２７０に進む。
【００４７】
ステップＳ２１０に処理が進むと、ＸＭＬ解釈部２２１はＸＭＬドキュメントの記述を解釈（パース）することにより描画命令を取得して、取得した描画命令をワーキング領域２２ａに格納する（図３（３）参照）。なお、ここで行うパースは描画命令単位で行う処理であり、ＸＭＬドキュメントの記述を順番に処理して、１つの描画命令が取得されるとステップＳ２２０に進む。
【００４８】
パース時に行う処理について図８に示すＸＭＬドキュメントを例にして説明する。図８に示すように、ＸＭＬドキュメントは、各行ごとに記述されたタグ及びタグに囲まれる部分に描画内容が記述されることにより構成されている。図８の例では、左端に示した行番号に従うと、「３」，「４」行目が描画内容の記述を含んでいる。パースする際には、先頭行からのタグを順番に解釈して、描画内容が記述された行から描画命令を１つずつ取得するようにして行う。
【００４９】
具体的には、図８に示すＸＭＬドキュメントによれば、行番号「３」の記述により描画開始位置Ａ（ｘ＝５０，ｙ＝５０）が指定され、行番号「４」の記述により描画開始位置Ａから、位置Ｂ（１５０，５０），Ｃ（１５０，１５０），Ｄ（５０、１５０）を順番に通って描画開始位置Ａに戻る線からなる１つのオブジェクトを描画する描画内容が取得される（図９参照）。
【００５０】
このようにして、ＸＭＬ解釈部２２１は、ＸＭＬドキュメントをパースすることにより、１つのオブジェクトからなる描画内容を描画するための描画命令及び描画開始位置を取得する。また、ここで取得される描画命令は、描画開始位置に対する相対的な位置で描画内容を表す描画命令に座標変換されている。
【００５１】
なお、図８，９の例では図形のオブジェクトを描画するときの一例について説明したが、ＸＭＬドキュメントの描画内容としてはこれに限られることなく、テキストやビットマップ形式などのイメージであってもよい。
【００５２】
次に、ステップＳ２２０では、管理番号付与部２２２は、ステップＳ２１０にて取得した描画命令と同じ描画命令が未登録であるか否かを判断する。具体的には、ＣＰＵ２０がキャッシュ領域２２ｂを参照して、登録済みの描画命令及び管理番号を記録した管理テーブルにおいて、ステップＳ２１０で取得した描画命令と同じ描画命令を探索することにより行う。
【００５３】
また、このときの判断に際しては、描画命令の命令の種類及びその描画内容が一致するものを同じ描画命令と判断する。例えば、図９に示した描画例であれば、描画命令の種類「Ｌｉｎｅ」が一致し、さらに描画開始位置Ａに対する各描画位置Ｂ〜Ｄの相対位置が一致する描画命令を、同じ描画命令と判断する。こうして、解釈した描画命令と同じ描画命令が未登録であれば（ステップＳ２２０：Ｙｅｓ）、ステップＳ２３０に進む。同じ描画命令が登録されていれば（ステップＳ２２０：Ｎｏ）、ステップＳ２５０に進む。
【００５４】
なお、同じ描画命令の判断に際しては、描画命令に、描画内容の重なり表現（アルファブレンド）を規定するアルファ値やＲＯＰ関数、又は色などの条件がさらに設定されていれば、これらの条件も含めて一致する描画命令を同じ描画命令と判断することが望ましい。
【００５５】
ステップＳ２３０に処理が進むと、管理番号付与部２２２は、キャッシュ領域２２ｂの管理テーブルを参照して、登録済みの描画命令に未使用となる新規の管理番号を設定する（図３（４）参照）。そして、ステップＳ２４０において、描画データ送信部２２３は、描画命令及び管理番号を含む未登録描画データを生成して、制御部２１０に受け渡す（図３（５）参照）。
【００５６】
ここで、未登録描画データのデータ構造を図１０（ａ）に示す。図１０（ａ）に示すように、未登録描画データは、「登録フラグ」、「描画命令」、「描画位置情報」及び「管理番号」などを含むデータ構造をしている。未登録描画データでは管理番号は未登録であるので、「登録フラグ」は未登録であることを示す「０」である。また、「描画命令」はＲＡＭ２２のワーキング領域２２ａに格納した描画命令の格納先のアドレス、「描画位置情報」はステップＳ２１０にて取得した描画開始位置のｘ，ｙ座標、「管理番号」はステップＳ２３０にて新規に設定した管理番号となる。
【００５７】
一方、ステップＳ２２０において同じ描画命令が登録済みであってステップＳ２５０に処理が進むと、管理番号付与部２２２は、登録済みとなる同じ描画命令と同じ管理番号を設定する（図４（３）参照）。そして、ステップＳ２６０において、描画データ送信部２２３は、管理番号を含んだ登録済み描画データを生成して、制御部２１０に受け渡す（図４（４）参照）。
【００５８】
ここで、登録済み描画データのデータ構造を図１０（ｂ）に示す。図１０（ｂ）に示すように、登録済み描画データは、「登録フラグ」、「描画位置情報」及び「管理番号」などを含むデータ構造をしている。登録済み描画データでは管理番号が登録済みであるので、「登録フラグ」は登録済みであることを示す「１」である。「描画位置情報」はステップＳ２１０にて解釈した描画開始位置、「管理番号」はステップＳ２５０にて設定した管理番号となる。このように、未登録描画データに比べると、登録済み描画データは「描画命令」のデータを含んでいない。
【００５９】
ステップＳ２４０又はステップＳ２６０にて描画データが制御部２１０に受け渡されると、ステップＳ２００に処理が戻るようにして、ＸＭＬドキュメントに含まれる未処理の記述から次の描画命令を取得して、描画データを制御部２１０に受け渡す処理を繰り返し行う。受け渡されたＸＭＬドキュメントの全ての記述について処理を終えると（ステップＳ２００：Ｎｏ）、ステップＳ２７０に進んで、描画データ送信部２２３はデータ終了通知を制御部２１０に受け渡して、入力されたＸＭＬドキュメントに対してＸＭＬパース部２２０が行う図６に示した処理を終了する。
【００６０】
このように、ＸＭＬパース部２２０は、受け取ったＸＭＬドキュメントを解釈して、未登録の描画命令については管理番号を設定してから未登録描画データを受け渡し、登録済みの描画命令については、未登録描画データに替えて登録済み描画データを制御部２１０に受け渡す処理を行っている。
【００６１】
次に、図５のフローチャートに戻って、制御部２１０が、ＸＭＬパース部２２０から受け取った描画データに行う処理手順について説明する。
【００６２】
制御部２１０は、上記したＸＭＬドキュメントの入力処理（ステップＳ１００及びステップＳ１１０）を終了したタイミングでステップＳ１２０の処理を開始している。ステップＳ１２０では、データ制御部２１２は、ＸＭＬパース部２２０から受け渡されるデータを監視するようにして、ＸＭＬパース部２２０からデータを受信したか否かを判断し続けている。データを受信していなければ（ステップＳ１２０：Ｎｏ）、再びステップＳ１２０の処理を行うようにして監視を続行する。そして、ＸＭＬパース部２２０からデータを受信すると（ステップＳ１２０：Ｙｅｓ）、ステップＳ１３０に進む。
【００６３】
ステップＳ１３０に処理が進むと、データ制御部２１２は、受信したデータが描画データであるか否かを判断する。受信したデータが描画データであれば（ステップＳ１３０：Ｙｅｓ）、ステップＳ１４０に進む。受信したデータが描画データでなければ（ステップＳ１３０：Ｎｏ）、ステップＳ１８０に進む。
【００６４】
ステップＳ１４０に処理が進むと、データ制御部２１２は、描画データがキャッシュ登録済みであるか否かを判断する。ここでは、登録済み描画データ及び未登録描画データのいずれの描画データにも先頭に含まれる「登録フラグ」を参照して、フラグが「１」であれば（ステップＳ１４０：Ｙｅｓ）、キャッシュ登録済みと判断してステップＳ１５０に処理が進んで、データ制御部２１２は登録済み描画データをレンダリング部２３０に受け渡す（図４（５）参照）。
【００６５】
フラグが「０」であれば（ステップＳ１４０：Ｎｏ）、キャッシュ登録されていないと判断してステップＳ１６０に処理が進んで、データ制御部２１２は、描画データに示されるアドレス指定先のワーキング領域２２ａにアクセスして、描画命令の実データを読み出す（図３（６）参照）。そして、図１０（ａ）に示す未登録描画データのアドレス指定の描画命令を、読み出した描画命令の実データに置き換えてから、ステップＳ１７０において描画命令の実データを含んだ未登録描画データをレンダリング部２３０に受け渡す（図３（７）参照）。
【００６６】
ステップＳ１５０又はステップＳ１７０において、描画データをレンダリング部２３０に受け渡すと、ステップＳ１２０に処理が戻るようにして、データ制御部２１２はＸＭＬパース部２２０から次に送信されるデータの監視を続行する。
【００６７】
また、ステップＳ１３０の処理において受信したデータが描画データでなければ（ステップＳ１３０：Ｎｏ）、ステップＳ１８０に処理が進んで、受信したデータがデータ終了通知であるか否かを判断する。受信したデータがデータ終了通知でなければ（ステップＳ１８０：Ｎｏ）、ステップＳ１２０に戻ってデータの監視を続行する。データ終了通知であれば（ステップＳ１８０：Ｙｅｓ）、ステップＳ１９０に処理が進んで、ＸＭＬドキュメントについての描画データの送信が終了した旨のデータ終了通知を、レンダリング部２３０に通知する。そして、入力されたＸＭＬドキュメントに対して制御部２１０が行う図５に示した処理を終了する。
【００６８】
このように、制御部２１０は、ＸＭＬパース部２２０から未登録描画データを受け取った場合には、アドレス指定された描画命令を読み出して、描画命令の実データを含む未登録描画データをレンダリング部２３０に受け渡している。一方、登録済み描画データを受け取った場合には、登録済み描画データをレンダリング部２３０に受け渡すようにして、プリンタドライバ２００内部に流れるデータを制御している。
【００６９】
次に、レンダリング部２３０が行う処理手順について、図７のフローチャートに従って説明する。
【００７０】
図７に示す処理を開始すると、ステップＳ３００において、描画データ受信部２３１は制御部２１０からデータを受けとったか否かを判断して、新たにデータを受け取っていなければ（ステップＳ３００：Ｎｏ）、所定の時間経過後に再びステップＳ３００の判断を行うようにして、新たにデータを受け取っていればステップＳ３１０に進む（ステップＳ３００：Ｙｅｓ）。
【００７１】
ステップＳ３１０に処理が進むと、描画データ受信部２３１は、受け取ったデータが描画データであるか否かを判断する。描画データであればステップＳ３２０に進み（ステップＳ３１０：Ｙｅｓ）、描画データでなければステップＳ３７０に進む（ステップＳ３１０：Ｎｏ）。
【００７２】
ステップＳ３２０に処理が進むと、レンダリング実行部２３３は、受け取った描画データに含まれる描画命令が登録済みであるか否かを判断する。ここでは、描画データの先頭に含まれる登録フラグを用いた判断を行って、登録フラグが「１」でありキャッシュ登録済みであれば（ステップＳ３２０：Ｙｅｓ）、ステップＳ３３０に処理が進んで描画データの管理番号に対応する描画命令をキャッシュ領域２２ｂから読み出すようにして取得する（図４（６）参照）。
【００７３】
登録フラグが「０」でありキャッシュ登録済みでなければ（ステップＳ３２０：Ｎｏ）、ステップＳ３４０に処理が進んで、描画命令登録部２３２は、描画データに含まれる描画命令を管理番号に関連つけてキャッシュ領域２２ｂの管理テーブルに登録する登録処理を行う（図３（８）参照）。
【００７４】
ステップＳ３３０又はステップＳ３４０の処理を終えると、ステップＳ３５０に処理が進んで、レンダリング実行部２３３は、描画データに含まれる描画位置情報に従って、描画命令の描画位置を座標変換する。すなわち、描画開始位置に対する相対的な位置を示した描画命令について、描画開始位置分だけ描画位置をシフトさせることによりＸＭＬドキュメントの記述に忠実な描画位置を再現する。
【００７５】
次に、ステップＳ３６０において、レンダリング実行部２３３は、座標変換された描画命令を展開して、展開した画像を配置するようにしてビットマップ形式の画像データに反映させる。ステップＳ３６０の処理を終えると、ステップＳ３００に戻ってレンダリング部２３０が制御部２１０から次に受け取るデータについて処理を行う。
【００７６】
また、ステップＳ３００において受け取ったデータが描画データでなければ（ステップＳ３１０：Ｎｏ）、ステップＳ３７０に処理が進んで、データ終了通知であるか否かを判断する。データ終了通知でなければ（ステップＳ３７０：Ｎｏ）、ステップＳ３１０に戻って、次に受け取るデータについての処理を行う。
【００７７】
受け取ったデータがデータ終了通知であれば（ステップＳ３７０：Ｙｅｓ）、制御部２１０から次々に受け取る描画データに対してステップＳ３１０〜ステップＳ３６０の処理を次々に行うようにして、ＸＭＬドキュメント全体に対応する画像データが生成済みであるので、生成した画像データをデータ制御部２１２に受け渡してから（ステップＳ３８０）、図７に示した処理を終了する。制御部２１０は、受け取った画像データを通信Ｉ／Ｆ２６を介してプリンタ３に送信することにより、ホストコンピュータ２はプリンタ３にＸＭＬドキュメントの内容を印刷させる。
【００７８】
なお、ステップＳ１００及びＳ１１０の処理が入力工程、ステップＳ２１０〜ステップＳ２６０の処理が解釈工程、ステップＳ３００〜ステップＳ３３０、ステップＳ３５０及びステップＳ３６０の処理が展開工程、ステップＳ３４０の処理が登録工程に相当する。
【００７９】
以上に説明したように、ＸＭＬドキュメントから取得した描画命令と同じ描画命令が未登録であれば、描画命令を含む未登録描画データが、ＸＭＬパース部２２０から制御部２１０を介してレンダリング部２３０に受け渡され、レンダリング部２３０は描画データに含まれる描画命令及び描画位置情報によりレンダリングを行う。
【００８０】
一方、ＸＭＬドキュメントから取得した描画命令と同じ描画命令が登録済みであれば、描画命令を含まない登録済み描画データが、ＸＭＬパース部２２０から制御部２１０を介してレンダリング部２３０に受け渡され、レンダリング部２３０はキャッシュ領域２２ｂから読み出した描画命令及び描画データに含まれる描画位置情報によりレンダリングを行う。
【００８１】
以下、第１の実施形態の効果を記載する。
【００８２】
（１）登録済みの描画命令を処理する際には、登録済み描画データに描画命令が含まれていないので、ＸＭＬパース部２２０、制御部２１０、レンダリング部２３０間で受け渡されるデータ量が低減する。特に、未登録時にあって、制御部２１０がアドレス指定先の描画命令を読み出して、描画命令の実データを未登録描画データに含めてレンダリング部２３０に受け渡す際のデータ量に比べると、登録時にレンダリング部２３０に受け渡される登録済み描画データのデータ量は大幅に少なくなる。これにより、ＣＰＵ２０が処理するデータ量を少なくすることができるので、ＸＭＬドキュメントをプリンタ３に対応する形式の画像データに展開する処理を高速に行うことが可能になる。また、ユーザにとっては、プリンタ３により印刷されるまでの待ち時間を短縮されるので、利便性が向上する。
【００８３】
（２）ＸＭＬドキュメントの描画内容を、描画開始位置と描画開始位置に対する相対的な描画内容を表す描画命令とに分けて用いることにより、描画開始位置が異なっても描画開始位置に対して相対的に描画内容が同じ描画命令については同じ描画命令として処理することができる。したがって、登録した描画命令を読み出して描画する確率が高まり、より高速に処理することが可能になる。
【００８４】
（第２の実施形態）
以下、本発明の第２の実施形態について説明する。第２の実施形態では、登録済み描画命令の探索用のキャッシュ領域をＸＭＬパース部側にさらに設けた点において、第１の実施形態と相違する。
【００８５】
図１１は、第２の実施形態に掛かるプリンタドライバの内部構成間でのデータの動きを示した図である。図１１に示すように、ＲＡＭ２２の記憶領域上にはレンダリング部２３０用のキャッシュ領域２２ｂに加えて、ＸＭＬパース部２２０用のキャッシュ領域２２ｃが確保されている。
【００８６】
第２の実施形態において、制御部２１０及びレンダリング部２３０が行う処理は第１の実施形態と同様である。そこで、図１２のフローチャートに従ってＸＭＬパース部２２０が行う処理について、以下に説明する。
【００８７】
ＸＭＬパース部２２０が、制御部２１０からＸＭＬドキュメントを受け取ると図１２に示す処理を開始する。処理を開始すると、まず、ステップＳ４００において、受け渡されたＸＭＬドキュメントを構成する記述のうち未処理の記述があるか否かを判断して、未処理の記述があれば（ステップＳ４００：Ｙｅｓ）、ステップＳ４１０に進む。未処理の記述がなければ（ステップＳ４００：Ｎｏ）、ステップＳ４８０に進んでデータ終了通知を制御部２００に受け渡す。
【００８８】
ステップＳ４１０に処理が進むと、ＸＭＬ解釈部２２１はＸＭＬドキュメントの記述を解釈（パース）することにより描画命令を取得する。
【００８９】
次に、ステップＳ４２０では、管理番号付与部２２２は、キャッシュ領域２２ｃに登録された描画命令を参照してステップＳ４１０にて取得した描画命令と同じ描画命令が未登録であるか否かを判断する。解釈した描画命令と同じ描画命令が未登録であれば（ステップＳ４２０：Ｙｅｓ）、ステップＳ４３０に進む。同じ描画命令が登録されていれば（ステップＳ４２０：Ｎｏ）、ステップＳ４６０に進む。
【００９０】
ステップＳ４３０に処理が進むと、管理番号付与部２２２は、キャッシュ領域２２ｃを参照して未使用となる新規の管理番号を設定してから（図１１（３）参照）、ステップＳ４４０に処理が進んで、管理番号が付与された描画命令をキャッシュ領域２２ｃに登録する（図１１（４）参照）。そして、ステップＳ４５０において、未登録描画データを生成して、制御部２００に受け渡してから、ステップＳ４００に処理が戻る。
【００９１】
ステップＳ４２０からステップＳ４６０に処理が進むと、管理番号付与部２２２は、キャッシュ領域２２ｃを参照し、同じ描画命令に設定された管理番号を探索して、処理対象の描画命令に付与する。そして、管理番号が付与された描画命令を含む登録済み描画データを生成して、制御部２１０に受け渡す。
【００９２】
このようにして、ＸＭＬパース部２２０は、ＸＭＬパース部側に設けられたキャッシュ領域２２ｃに管理番号が付与された描画命令を登録しておく。ＸＭＬパース部２２０から受け渡された、未登録描画データ又は登録済み描画データは制御部２１０を介して、レンダリング部２３０に受け渡される（図１１（５）、（６）参照）。
【００９３】
レンダリング部２３０は、未登録描画データを受け取った場合には当該登録済み描画データに含まれる描画命令に従う描画処理を行うとともに、管理番号が付与された描画命令をキャッシュ領域２２ｂに登録するようにしておく（図１１（７）参照）。登録済み描画データを受け取った場合には、当該登録済み描画データに含まれる管理番号に対応する描画命令をキャッシュ領域２２ｂから読み出して描画処理を行う（図１１（８）参照）。
【００９４】
以上に説明した第２に実施形態によれば、第１の実施形態と同様の効果を得ることができる。
【００９５】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。第３の実施形態では、ＸＭＬパース部２２０用のキャッシュ領域を設け、レンダリング部２３０用のキャッシュ領域を設けない点において、第１及び第２の実施形態と相違する。
【００９６】
図１３は、第３の実施形態に掛かるプリンタドライバ内部の構成及びデータの動きを示した図である。図１３に示すように、ＲＡＭ２２の記憶領域上にはＸＭＬパース部２２０用のキャッシュ領域２２ｃが確保されている。
【００９７】
描画命令を新たに登録する際には、ＸＭＬパース部２２０は、キャッシュ領域２２ｃを参照して、未使用の新規な管理番号を設定して（図１３（３）参照）、設定した管理番号が付与された描画命令をキャッシュ領域２２ｃに登録する（図１３（４）参照）。レンダリング部２３０は、登録済み描画データを受け取ると、キャッシュ領域２２ｃを参照して描画データ内の管理番号に対応する描画命令を読み出すようにして描画処理を行う（図１３（７）参照）。このようにしても、第１の実施形態と同様の効果を得ることができる。
【００９８】
以上、本発明の第１乃至第３の実施形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施することもできる。以下、変形例を挙げて説明する。
【００９９】
（変形例１）上記実施形態では、ＸＭＬパース部２２０は未登録の全ての描画命令に新規の管理番号を付与し、レンダリング部２３０により登録されるようにしたが、描画命令の出現頻度を判断して、出現頻度が高い描画命令のみを登録対象としてもよい。例えば、ＸＭＬドキュメントに含まれる複数のタグについて、描画命令ごとにタグで囲まれたライン数（図８の例では、４行目の描画命令に対して、３行目からｍ行目のライン数「ｍ−３」）を算出しておく。そして、ＸＭＬドキュメントにおけるライン数の出現頻度が所定の回数若しくは比率以上となる描画命令を登録対象とする。このようにすれば、タグに囲まれた命令を複数種類含むＸＭＬドキュメントを処理する際に、出現頻度の高い描画命令から登録がなされる。これにより、登録した描画命令を読み出すようにして利用する確率が高まるので、簡易な処理によりキャッシュ領域２２ｂの利用効率を向上させながら、従来に比べてより高速な処理を実現することができる。なお、出現頻度の分散が高いときには、登録した描画命令を利用する可能性が低くなるので、登録しないようにしてもよい。
【０１００】
（変形例２）プリンタドライバ２００が、画像データをバンドごとに受け渡す印刷システムの場合、登録対象とする描画命令をバンドごとに判断するとよい。すなわち、ＸＭＬパース部２２０は、バンドで区切られる領域を考慮して、同じバンド内で既に登録済みの描画命令について登録済み描画データを生成する対象とする。そして、新たなバンドに処理が移る際には、キャッシュ領域２２ｂに登録された描画命令を消去する。このようにすれば、登録される描画命令数を少なくすることができるので、登録対象とする命令の探索をより迅速に終えることができるとともに、処理に必要となるメモリ領域をより少なくすることができる。
【０１０１】
（変形例３）キャッシュ領域２２ｂに登録済みの複数の描画命令との一致性が低い描画命令については登録しないようにしてもよい。例えば、管理番号付与部２２２は、キャッシュ領域２２ｂを参照して、登録済みの描画命令数が所定数（Ｎ）より多いときには、処理対象の描画命令と同じ種類の命令の登録数（Ｍ）を求める。そして、「Ｎ＞ｋ×Ｍ（ｋは所定の係数）」の関係が成立していれば、当該描画命令については未登録のままレンダリング処理を行うことにする。これにより、登録済みの複数の描画命令を順番に探索する場合に、多くの描画命令と命令の種類及び描画内容の一致を判断しなければならないような命令は登録されないので、登録済みの描画命令を探索する時間の増大を抑制できる。
【０１０２】
（変形例４）上記第１乃至第３の実施形態では、ＸＭＬパース部２２０からの描画データを、制御部２１０を介してレンダリング部２３０に受け渡すときの例について説明したが、制御部２１０の管理の下で、ＸＭＬパース部２２０からレンダリング部２３０に描画データを直接受け渡す構成にしてもよい。
【０１０３】
（変形例５）上記第１乃至第３の実施形態では、１つの描画命令ごとに管理番号を付与するようにしたが、複数の描画命令について１つの管理番号を付与するようにしてもよい。すなわち、管理番号付与部２２２は、解釈された描画命令のうち、繰り返し用いられる複数の描画命令からなる描画命令群に対して、１つの管理番号を付与する。そして、描画命令登録部２３２は、１つの管理番号に関連付けて描画命令群を登録するようにしておく。このようにすれば、繰り返し出現する描画命令群に対して、ＸＭＬパース部２２０からレンダリング部２３０に１つの登録済み描画データを受け渡すことにより、複数の描画命令からなる描画命令群を読み出して効率的に処理することができる。
【０１０４】
（変形例６）上記第１乃至第３の実施形態では、印刷制御装置としてのホストコンピュータ側のプリンタドライバ２００が、パース及びレンダリングの処理を行ったが、本発明はこの態様に限られない。例えば、ホストコンピュータ側でパースの処理を行い、プリンタ側でレンダリングの処理を行うようにしてもよい。すなわち、図１４（ａ）に示すように、印刷システム１は、制御部２１０及びＸＭＬパース部２２０を有するプリンタドライバ２００を備えたホストコンピュータ２と、レンダリング部２３０、印刷処理部３００、及び印刷エンジン３１０を備えたプリンタ３とを具備する。
【０１０５】
この印刷システム１において、制御部２１０は、ＸＭＬパース部２２０からの描画データを通信Ｉ／Ｆ２６によりプリンタ３に受け渡して、プリンタ３側のレンダリング部２３０は、未登録の描画命令はプリンタ３内部のメモリ（図示なし）に登録しておく。レンダリング部２３０は、未登録描画データの描画命令、又は登録済み描画データについてはメモリから読み出した描画命令を展開して画像データを生成する。そして、印刷処理部３００が画像データを印刷エンジン３１０に対応する所定のフォーマットの画像信号に変換して、印刷エンジン３１０はこの画像信号に従って印刷を行う。これにより、第１乃至第３の実施形態と同様の効果を奏する印刷システムを得ることができる。
【０１０６】
また、プリンタ側に、データ処理装置を有したシステムであってもよい。すなわち、図１４（ｂ）に示すように、プリンタ３は、ＸＭＬパース部２２０、レンダリング部２３０、印刷処理部３００、及び印刷エンジン３１０を備えている。この場合、ホストコンピュータ２はＸＭＬドキュメントを含む印刷データをプリンタ３に送信して、ＸＭＬパース部２２０及びレンダリング部２３０を有するプリンタ側のデータ処理装置がパース及びレンダリングを行う。
【０１０７】
（変形例７）ＸＭＬパース部２２０は、解釈して取得した描画命令を描画開始位置からの相対的な描画位置に変換することなく、描画命令及び描画位置情報を受け渡して、描画命令登録部２３２は、描画命令及び描画位置情報を登録するようにしてもよい。この場合、レンダリング実行部２３３は、登録されていた描画位置情報の描画開始位置と受け取った描画データの描画開始位置との差分量だけ、登録された描画命令を座標変換してから描画するとよい。
【０１０８】
（変形例８）展開後のデータ形式はビットマップ形式に限られない。例えば、バンドごとに描画内容の描画命令を示す中間コードのデータを受け渡す印刷システムであれば、レンダリング部２３０は描画命令を、中間コードデータ（画像データ）に展開するとよい。
【０１０９】
（変形例９）上記実施形態では、ＸＭＬ形式のデータを処理する例について説明したが、ＨＴＭＬ(Hypertext Markup Language)やＸＨＴＭＬ(Extensible Hypertext Markup Language)などのマークアップ言語で記述されたデータを処理するようにしてもよい。
【０１１０】
（変形例１０）本発明は、プリンタに限られることなく、複写機やファックスに適用することもできる。また、ＸＭＬドキュメントをビットマップなどの画像データに展開する処理であれば、上記した機器に限られることなく様々な用途に用いることも可能である。
【図面の簡単な説明】
【０１１１】
【図１】第１実施形態に係る印刷システムの構成を示したブロック図。
【図２】ホストコンピュータの機能的構成を示したブロック図。
【図３】未登録の描画命令の処理におけるデータの動きを説明する説明図。
【図４】登録済みの描画命令の処理におけるデータの動きを説明する説明図。
【図５】制御部が行う処理手順を示したフローチャート。
【図６】ＸＭＬパース部が行う処理手順を示したフローチャート。
【図７】レンダリング部が行う処理手順を示したフローチャート。
【図８】ＸＭＬドキュメントの一例を示した図。
【図９】描画命令に従う描画例を示した図。
【図１０】描画データのデータ構造を示した図、（ａ）は未登録描画データのデータ構造、（ｂ）は登録済み描画データのデータ構造を示した図。
【図１１】第２実施形態におけるデータの動きを説明する説明図。
【図１２】ＸＭＬパース部が行う処理手順を示したフローチャート。
【図１３】第３実施形態におけるデータの動きを説明するための説明図。
【図１４】第６の変形例を説明するための説明図、（ａ）、（ｂ）は変形例の一例を示した図。
【符号の説明】
【０１１２】
１…印刷システム、２…印刷制御装置としてのホストコンピュータ、３…印刷装置としてのプリンタ、４…ネットワークサーバ、５…記録媒体としてのＣＤ−ＲＯＭ、２０…ＣＰＵ、２１…ＲＯＭ、２２…記憶手段としてのＲＡＭ、２２ａ…ワーキング領域、２２ｂ…キャッシュ領域、２３…ハードディスク、２４…ＣＤ−ＲＯＭドライブ、２５…ネットワークインターフェイス、２６…通信インターフェイス、１００…アプリケーション、２００…データ処理装置としてのプリンタドライバ、２１０…制御部、２１１…入力手段としてのＸＭＬドキュメント入力部、２１２…データ制御部、２２０…解釈手段としてのＸＭＬパース部、２２１…ＸＭＬ解釈部、２２２…管理番号付与部、２２３…描画データ送信部、２３０…レンダリング部、２３１…描画データ受信部、２３２…登録手段としての描画命令登録部、２３３…展開手段としてのレンダリング実行部、３００…印刷処理部、３１０…印刷エンジン。
【図１】
2007328493.tif 000003
【図２】
2007328493.tif 000004
【図３】
2007328493.tif 000005
【図４】
2007328493.tif 000006
【図５】
2007328493.tif 000007
【図６】
2007328493.tif 000008
【図７】
2007328493.tif 000009
【図８】
2007328493.tif 000010
【図９】
2007328493.tif 000011
【図１０】
2007328493.tif 000012
【図１１】
2007328493.tif 000013
【図１２】
2007328493.tif 000014
【図１３】
2007328493.tif 000015
【図１４】
2007328493.tif 000016