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