(57)【要約】【課題】  描画オブジェクトを含む印刷対象データの印刷データへの変換処理の高速化【解決手段】  ある第１の描画オブジェクトを受け取って、第１の描画オブジェクトのデータをＲＧＢ形式のラスタデータで表された第１のオブジェクトＲＧＢデータに変換し、第１のオブジェクトＲＧＢデータに基づいて、印刷データのうち第１の描画オブジェクトの部分に対応する第１のオブジェクト印刷データを生成する。次の第２の描画オブジェクトを受け取って、第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換するとともに、第２のオブジェクトＲＧＢデータに基づいて、印刷データのうち第２の描画オブジェクトの部分に対応する第２のオブジェクト印刷データを生成するようにして、印刷対象データに含まれている複数の描画オブジェクトを順に処理する。複数の描画オブジェクトの順に、あらかじめ、上記処理が可能であるか否かを判定しておく。【選択図】        図１
2006060272.tif 000002
【特許請求の範囲】
【請求項１】
所定の言語で記述された印刷対象データに基づいて、印刷可能な各色ドットの形成有無により表現された印刷データを生成するデータ処理装置であって、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータをＲＧＢ形式のラスタデータで表された第１のオブジェクトＲＧＢデータに変換するとともに、前記第１のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第１の描画オブジェクトの部分に対応する第１のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データを生成した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換するとともに、前記第２のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第２の描画オブジェクトの部分に対応する第２のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データに、前記第２のオブジェクト印刷データを加えた前記印刷データを生成するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データに対応する前記印刷データを生成することを特徴とするデータ処理装置。
【請求項２】
所定の言語で記述された印刷対象データから印刷可能な各色ドットの形成有無により表現された印刷データを生成するデータ処理装置であって、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータをＲＧＢ形式のラスタデータで表された第１のオブジェクトＲＧＢデータに変換するとともに、前記第１のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第１の描画オブジェクトの部分に対応する第１のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データを生成した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換するとともに、前記第２のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第２の描画オブジェクトの部分に対応する第２のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データに、前記第２のオブジェクト印刷データを加えて前記印刷データを生成するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データに対応する前記印刷データを生成する第１のデータ処理部と、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータを第１のオブジェクトＲＧＢデータに変換した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データをＲＧＢデータに変換し、前記ＲＧＢデータに基づいて前記印刷データを生成することにより、前記印刷対象データに対応する前記印刷データを生成する第２のデータ処理部と、
前記印刷対象データに含まれている複数の描画オブジェクトの順に、あらかじめ、前記第１のデータ処理部による処理が可能であるか否かを判定しておく判定部と、を備え、
前記判定部において、
前記第１のデータ処理部による処理が可能であると判定された印刷対象データは、前記第１のデータ処理部によって処理され、
前記第１のデータ処理部による処理が不可能であると判定された印刷対象データは、前記第２のデータ処理部によって処理される
ことを特徴とするデータ処理装置。
【請求項３】
請求項２記載のデータ処理装置であって、
前記第１のデータ処理部または前記第２のデータ処理部において、前記描画オブジェクトのデータをオブジェクトＲＧＢデータに変換する際に実行される処理内容に対して、前記第１のデータ処理部による処理を可能とする条件を示したテーブルを有しており、
前記判定部は、前記印刷対象データに含まれている複数の描画オブジェクトの順に、前記テーブルを参照することにより、前記第１のデータ処理部による処理が可能であるか否か判定する
ことを特徴とするデータ処理装置。
【請求項４】
請求項２または請求項３記載のデータ処理装置であって、
前記判定部において、
前記印刷対象データを１以上のブロックに区分した所定の処理単位ごとに、前記第１のデータ処理部による処理が可能であるか否か判定され、
前記第１のデータ処理部による処理が可能であると判定された前記所定の処理単位の印刷対象データは、前記第１のデータ処理部によって処理され、
前記第１のデータ処理部による処理が不可能であると判定された前記所定の処理単の印刷対象データは、前記第２のデータ処理部によって処理される
ことを特徴とするデータ処理装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載のデータ処理装置と、生成された印刷データに基づいて印刷を実行する印刷部とを備える、印刷装置。
【請求項６】
所定の言語で記述された印刷対象データから印刷可能な各色ドットの形成有無により表現された印刷データを生成するためのデータ処理方法であって、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータをＲＧＢ形式のラスタデータで表された第１のオブジェクトＲＧＢデータに変換するとともに、前記第１のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第１の描画オブジェクトの部分に対応する第１のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データを生成した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換するとともに、前記第２のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第２の描画オブジェクトの部分に対応する第２のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データに、前記第２のオブジェクト印刷データを加えた前記印刷データを生成するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データに対応する前記印刷データを生成する
ことを特徴とするデータ処理方法。
【請求項７】
所定の言語で記述された印刷対象データから印刷可能な各色ドットの形成有無により表現された印刷データを生成するためのデータ処理方法であって、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータをＲＧＢ形式のラスタデータで表された第１のオブジェクトＲＧＢデータに変換するとともに、前記第１のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第１の描画オブジェクトの部分に対応する第１のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データを生成した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換するとともに、前記第２のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第２の描画オブジェクトの部分に対応する第２のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データに、前記第２のオブジェクト印刷データを加えて前記印刷データを生成するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データに対応する前記印刷データを生成する第１の工程と、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータを第１のオブジェクトＲＧＢデータに変換した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換データに変換するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データをＲＧＢデータに変換し、前記ＲＧＢデータデータに基づいて前記印刷データを生成することにより、前記印刷対象データに対応する前記印刷データを生成する第２の工程と、
前記印刷対象データに含まれている複数の描画オブジェクトの順に、あらかじめ、前記第１のデータ処理部による処理が可能であるか否かを判定しておく第３の工程と、を備え、
前記第３の工程において、
前記第１の工程による処理が可能であると判定された印刷対象データは、前記第１の工程により処理され、
前記第２の工程による処理が可能であると判定された印刷対象データは、前記第２の工程により処理される、
ことを特徴とするデータ処理方法。
【請求項８】
所定の言語で記述された印刷対象データから印刷可能な各色ドットの形成有無により表現された印刷データを生成するためのコンピュータプログラムであって、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータをＲＧＢ形式のラスタデータで表された第１のオブジェクトＲＧＢデータに変換するとともに、前記第１のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第１の描画オブジェクトの部分に対応する第１のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データを生成した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換するとともに、前記第２のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第２の描画オブジェクトの部分に対応する第２のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データに、前記第２のオブジェクト印刷データを加えた前記印刷データを生成するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データに対応する前記印刷データを生成する機能を、
コンピュータによって実現させるためのコンピュータプログラム。
【請求項９】
所定の言語で記述された印刷対象データを印刷可能な各色ドットの形成有無により表現された印刷データに変換処理するためのコンピュータプログラムであって、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータをＲＧＢ形式のラスタデータで表された第１のオブジェクトＲＧＢデータに変換するとともに、前記第１のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第１の描画オブジェクトの部分に対応する第１のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データを生成した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換するとともに、前記第２のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第２の描画オブジェクトの部分に対応する第２のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データに、前記第２のオブジェクト印刷データを加えて前記印刷データを生成するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データに対応する前記印刷データを生成する第１の機能と、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータを第１のオブジェクトＲＧＢデータに変換した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換データに変換するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データをＲＧＢデータに変換し、前記ＲＧＢデータデータに基づいて前記印刷データを生成することにより、前記印刷対象データに対応する前記印刷データを生成する第２の機能と、
前記印刷対象データに含まれている複数の描画オブジェクトの順に、あらかじめ、前記第１のデータ処理部による処理が可能であるか否かを判定しておく第３の機能と、
をコンピュータに実現させるとともに、
前記第３の機能において、前記第１のデータ処理機能による処理が可能であると判定された印刷対象データは、前記第１のデータ処理機能により処理され、
前記判定機能において、前記第２のデータ処理機能による処理が可能であると判定された印刷対象データは、前記第２のデータ処理機能により処理される、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＤＬ（Page Description Language：ページ記述言語）等の所定の言語で記述された印刷対象データから印刷データを生成する技術に関するものである。
【背景技術】
【０００２】
従来、プリンタは、パーソナルコンピュータ等から送られた印刷対象データを印刷データに変換し、この印刷データに基づいて印刷対象データの表す画像（以下、「印刷対象画像」と呼ぶ）を印刷する。この印刷対象データは、印刷対象画像に含まれる描画オブジェクトをＰＤＬ等の所定の言語で記述したデータである。また、印刷データは、印刷可能な各色ドットの形成有無により表現したデータである。
【０００３】
印刷対象データから印刷データを生成する場合、プリンタでは、所定の言語で記述した描画オブジェクトをラスタ画像に変換する描画処理が行われている。
【０００４】
この描画処理では、印刷対象データに含まれている描画オブジェクトデータから、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）で指定されたＲＧＢ色空間の多階調の色データで表されたラスタ画像（以下、「ＲＧＢ画像」と呼ぶ）データを生成する。この際、ＲＯＰ(ラスタオペレーション)と呼ばれる演算処理によって、下層に描かれる描画オブジェクトから上層に描かれる描画オブジェクトの順に処理して、ＲＧＢ画像データが生成される（以下、この処理を「ＲＧＢ画像生成処理」、あるいは、「ＲＯＰ処理」とも呼ぶ）。そして、生成されたＲＧＢ画像データを、Ｃ（シアン）、Ｍ（マゼンダ）、Ｙ（イエロー）、Ｋ（ブラック）で指定されたＣＭＹＫ色空間の多階調の色データで表されたラスタ画像（以下、「ＣＭＹＫ画像」と呼ぶ）データに変換する（以下、この処理を「色変換処理」とも呼ぶ）。さらに、ＣＭＹＫそれぞれの色の階調データを、印刷可能な各色ドットの形成有無により表現された印刷データに変換する（以下、この処理を「階調数変換処理」とも呼ぶ）。
【０００５】
ＲＯＰとは、２以上の描画オブジェクトのラスタ画像を重ね合わせる時に行われる論理演算処理のことである。ＲＯＰ処理を行うことにより単に上下関係をつけて上書きするだけでなく、いわゆる「透かし」や「反転」等の種々の効果を与えることが可能である。ＲＯＰは、新たに書き込もうとする画像Ｓ（ソース：書き込み対象画像）と、書き込もうとしている画像のパターンＰと、既に書き込まれている画像Ｄ（デスト：元画像）の３つのオブジェクトの論理演算を行うものであり、２５６種類の論理演算が可能である。ＲＯＰ処理では、各オブジェクトに対して、処理の内容に応じた論理演算処理を行い、その結果を元画像Ｄ上に書き込むことが行われる。なお、ＲＯＰ処理に関する発明の先行技術文献情報として特許文献１がある。
【０００６】
【特許文献１】特開２００３−２７１９７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記ＲＯＰ処理において、処理の内容に応じた演算結果を元画像Ｄ上に単に上書きする場合には、画像が重なる部分において、元画像Ｄの状態が関連することなく、書き込み対象画像Ｓをそのまま書き込めばよい。しかしながら、「透かし」のような効果を与える場合には、書き込み対象画像Ｓ、パターンＰ、および元画像Ｄを、対応する処理の内容に応じて論理演算し、これにより得られた結果を元画像Ｄ上に上書きする必要がある。そこで、上記従来の描画処理では、まず、印刷対象データに含まれる描画オブジェクトデータを、下層に描かれるべき描画オブジェクトから上層に描かれるべき描画オブジェクトの順に、それぞれの描画オブジェクトに対応するＲＯＰの内容に応じて論理演算処理し、得られた結果を順に上書きしてＲＧＢ画像データを生成している。そして、生成したＲＧＢ画像データをＹＭＣＫ画像データに色変換している。
【０００８】
従って、上記従来の描画処理の場合、ＲＧＢ画像データは、ＹＭＣＫ画像データに全て変換されるまで保持される必要がある。このため、生成したＲＧＢ画像データの全てをメモリに書き込み、ＲＧＢ画像データの生成が終了した後ＹＭＣＫ画像データを生成する際に、ＲＧＢ画像データを順に読み出してＹＭＣＫ画像データに変換している。また、ＹＭＣＫ画像データも印刷データに全て変換されるまで保持される必要がある。このため、生成したＹＭＣＫ画像データの全てをメモリに書き込み、ＹＭＣＫ画像データの生成が終了した後印刷データを生成する際に、ＹＭＣＫ画像データを順に読み出して印刷データに変換している。
【０００９】
以上のように、従来の描画処理では、印刷対象データを印刷データに変換するために複数段階の処理を行っているが、各段階の処理が終了後次の段階の処理を行うため、また、各段階で生成されるデータのメモリへの書き込みと読み出しを行うため、処理に要する時間がかかるという問題があり、処理の高速化が望まれている。
【００１０】
本発明は、上記課題に鑑みてなされたものであり、所定の言語で記述された描画オブジェクトを含む印刷対象データの印刷データへの変換処理の高速化を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題の少なくとも一部を達成するために、本発明は、所定の言語で記述された印刷対象データから印刷可能な各色ドットの形成有無により表現された印刷データを生成するデータ処理装置であって、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータをＲＧＢ形式のラスタデータで表された第１のオブジェクトＲＧＢデータに変換するとともに、前記第１のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第１の描画オブジェクトの部分に対応する第１のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データを生成した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換するとともに、前記第２のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第２の描画オブジェクトの部分に対応する第２のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データに、前記第２のオブジェクト印刷データを加えた前記印刷データを生成するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データに対応する前記印刷データを生成することを特徴とする。
【００１２】
上記構成のデータ処理装置は、従来のように、印刷対象データに含まれている複数の描画オブジェクトのデータ順に受け取って、それぞれオブジェクトＲＧＢデータに変換することにより、前記印刷対象データをＲＧＢデータに変換し、前記ＲＧＢデータに基づいて前記印刷データを生成することにより、前記印刷対象データに対応する前記印刷データを生成する場合に比べて、処理の高速化が可能である。
【００１３】
また、本発明の別の態様は、所定の言語で記述された印刷対象データから印刷可能な各色ドットの形成有無により表現された印刷データを生成するデータ処理装置であって、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータをＲＧＢ形式のラスタデータで表された第１のオブジェクトＲＧＢデータに変換するとともに、前記第１のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第１の描画オブジェクトの部分に対応する第１のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データを生成した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換するとともに、前記第２のオブジェクトＲＧＢデータに基づいて、前記印刷データのうち前記第２の描画オブジェクトの部分に対応する第２のオブジェクト印刷データを生成することにより、前記第１のオブジェクト印刷データを含む前記印刷データに、前記第２のオブジェクト印刷データを加えて前記印刷データを生成するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データに対応する前記印刷データを生成する第１のデータ処理部と、
前記印刷対象データに含まれている複数の描画オブジェクトのうち、ある第１の描画オブジェクトを受け取って、前記第１の描画オブジェクトのデータを第１のオブジェクトＲＧＢデータに変換した後、次の第２の描画オブジェクトを受け取って、前記第２の描画オブジェクトのデータを第２のオブジェクトＲＧＢデータに変換するようにして、前記複数の描画オブジェクトのデータを順に受け取って処理することにより、前記印刷対象データをＲＧＢデータに変換し、前記ＲＧＢデータに基づいて前記印刷データを生成することにより、前記印刷対象データに対応する前記印刷データを生成する第２のデータ処理部と、
前記印刷対象データに含まれている複数の描画オブジェクトの順に、あらかじめ、前記第１のデータ処理部による処理が可能であるか否かを判定しておく判定部と、を備え、
前記判定部において、
前記第１のデータ処理部による処理が可能であると判定された印刷対象データは、前記第１のデータ処理部によって処理され、
前記第１のデータ処理部による処理が不可能であると判定された印刷対象データは、前記第２のデータ処理部によって処理される
ことを特徴とする。
【００１４】
上記構成のデータ処理装置は、従来の処理部に相当する第２のデータ処理部と、従来の処理部に比べて高速な処理が可能な第１のデータ処理部とを備えており、判定部によって、あらかじめ、第１のデータ処理部による処理が可能であるか否かを判定しておくことにより、第１のデータ処理部による処理が可能である場合には、第１のデータ処理部により高速な処理を行うことができるので、処理の高速化が可能である。
【００１５】
なお、  前記第１のデータ処理部または前記第２のデータ処理部において、前記描画オブジェクトのデータをオブジェクトＲＧＢデータに変換する際に実行される処理内容に対して、前記第１のデータ処理部による処理を可能とする条件を示したテーブルを有しており、
前記判定部は、前記印刷対象データに含まれている複数の描画オブジェクトの順に、前記テーブルを参照することにより、前記第１のデータ処理部による処理が可能であるか否か判定することが好ましい。
【００１６】
上記構成によれば、第１のデータ処理部による処理が可能であるか否かを容易に判定することが可能となる。
【００１７】
また、前記判定部において、
前記印刷対象データを１以上のブロックに区分した所定の処理単位ごとに、前記第１のデータ処理部による処理が可能であるか否か判定され、
前記第１のデータ処理部による処理が可能であると判定された前記所定の処理単位の印刷対象データは、前記第１のデータ処理部によって処理され、
前記第１のデータ処理部による処理が不可能であると判定された前記所定の処理単の印刷対象データは、前記第２のデータ処理部によって処理されることが好ましい。
【００１８】
上記構成によれば、印刷対象データを区分した所定の処理単位ごとに、高速な処理が可能な部分は高速に処理し、高速な処理が不可能な部分は従来の処理を行うことができるので、印刷対象データ全体として、実行的に処理の高速化を図ることが可能となる。
【００１９】
なお、本発明は、種々の形態で実現することが可能であり、例えば、データ処理方法および装置、データ処理装置を備える印刷装置等の種々の形態で実現することができる。さらに、それら方法や装置を構築するためのコンピュータプログラムとしての態様や、そのようなコンピュータプログラムを記録した記録媒体としての態様や、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。
【００２０】
この発明における「記録媒体」としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等の、コンピュータが読取り可能な種々の媒体を利用することができる。
【発明を実施するための最良の形態】
【００２１】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．システム構成：
Ｂ．中間コード処理部：
Ｂ１．オブジェクトデータの分割処理：
Ｂ２．直接展開可否の判定処理：
Ｂ２．１．判定条件：
Ｂ２．２．判定処理：
Ｃ．描画処理部：
Ｃ１．直接展開処理：
Ｃ２．非直接展開処理：
Ｄ．効果：
Ｅ．変形例：
【００２２】
Ａ．システム構成：
図１は、実施例としてのプリンタを用いた印刷システムの構成を示す説明図である。コンピュータ１０は、ＰＤＬ等の所定の言語で記述された印刷対象データをプリンタ２０に送信する。コンピュータ１０としては、パーソナルコンピュータの他、ディジタルカメラ、携帯情報端末、携帯電話等の種々の装置を挙げることができる。
【００２３】
プリンタ２０は、いわゆるプリンタページモードで印刷を行うことができるプリンタである。本実施例では、プリンタページモードでカラー印刷が可能なレーザプリンタを前提とする。
【００２４】
プリンタ２０は、データ処理装置１００と、プリントエンジン２００とを備えている。データ処理装置１００は、上記所定の言語で記述された印刷対象データを、印刷可能な各色ドットの形成有無により表現された印刷データに変換し、プリントエンジン２００に供給する。プリントエンジン２００は、印刷データに従って、印刷を実行する。
【００２５】
データ処理装置１００は、言語解釈部１１０と、中間コード処理部１２０と、中間コードデータメモリ１３０と、描画処理部１４０とを備えている。
【００２６】
言語解釈部１１０は、コンピュータ１０から送信された印刷ジョブデータを解釈して、これに含まれている印刷対象データを中間コード処理部１２０に受け渡す。
【００２７】
中間コード処理部１２０は、印刷対象データを、１ページ分の印刷対象画像に対して所定の高さ（例えば６４ドット、１ドットは印刷の最小単位である）のバンドと呼ばれる領域ごとに分割して処理し、バンドそれぞれの処理結果を中間コードデータとして、バンドごとに中間コードデータメモリ１３０に書き込む。
【００２８】
描画処理部１４０は、中間コードデータメモリ１３０に書き込まれている中間コードデータをバンドごとに順に読み出し処理して印刷データを生成し、プリントエンジン２００に供給する。
【００２９】
描画処理部１４０は、展開処理選択部１４２と、直接展開部１４３と、非直接展開部１４４と、印刷データメモリ１４５と、データ出力部１４６とを備えている。また、直接展開部１４３は、ＲＯＰ部１４３ａと、色変換部１４３ｂと、階調数変換部１４３ｃとを備えており、非直接展開部１４４は、ＲＯＰ部１４４ａと、色変換部１４４ｂと、階調数変換部１４４ｃと、ＲＧＢデータメモリ１４４ｄと、ＣＭＹＫデータメモリ１４４ｅとを備えている。データ処理装置１００は、図示しないＣＰＵや、ＲＡＭ、ＲＯＭ等のメモリを備えており、中間コードデータメモリ１３０、ＲＧＢデータメモリ１４４ｄ、およびＣＭＹＫデータメモリ１４４ｅを除く各部の機能は、ＣＰＵがメモリに格納されているソフトウェアを読み出して実行することにより実現されている。
【００３０】
展開処理選択部１４２は、中間コードデータメモリ１３０から順に読み出されるバンドごとの中間コードデータが、直接展開可能な場合には、そのデータを直接展開部１４３に受け渡し、直接展開不可能な場合には、そのデータを非直接展開部１４４に受け渡す。直接展開部１４３または非直接展開部は、受け取ったバンドの中間コードデータを処理して印刷データを生成し、印刷データメモリ１４５に書き込む。データ出力部１４６は、印刷データメモリ１４５から印刷データを順に読み出してプリントエンジン２００に供給する。
【００３１】
なお、上記データ処理装置１００が本発明のデータ処理装置に相当し、中間コード処理部１２０および描画処理部１４０が本発明の特徴部分に相当する。そこで、以下では、中間コード処理部１２０および描画処理部１４０について、さらに説明を加える。
【００３２】
また、以下の説明において、図２に示す画像（印刷対象画像）の印刷を具体例として示すこととする。この印刷対象画像は、３つのオブジェクトＯ１〜Ｏ３が順に重ね合わされた画像である。第１のオブジェクトＯ１（図の２つの斜め線によるクロスハッチングで示した領域）は、１ページの印刷対象画像のバンド０〜バンド２にまたがる赤色の矩形の図形である。第２のオブジェクトＯ２（図の縦線によるハッチングで示した領域）は、バンド１およびバンド２にまたがる緑色の円の図形であり、第１のオブジェクトＯ１上に単に上書きした図形である。第３のオブジェクトＯ３（図の横線によるハッチングで示した矩形の図形）は、バンド２内の青色の矩形の図形であり、第２のオブジェクトＯ２上に上書きした図形であるが、第２のオブジェクトＯ２および第３のオブジェクトが重なっている部分（図の縦線と横線とによるクロスハッチングでしめした部分）については、第２のオブジェクトＯ２の影響を受ける図形である。
【００３３】
Ｂ．中間コード処理部：
中間コード処理部１２０は、言語解釈部１１０から、印刷対象データに含まれているオブジェクトの各データが、重ね合わせの最下層のオブジェクトから上層側のオブジェクトまでのオブジェクトごとに順に受け渡されると、受け渡されたオブジェクトデータごとに、以下で説明する中間コード処理を実行する。
【００３４】
図３は、中間コード処理部１２０が実行する中間コード処理の手順を示すフローチャートである。中間コード処理部１２０は、言語解釈部１１０から順に受け取る全てのオブジェクトデータに対する処理が終了するまで、各オブジェクトについて以下で説明する処理を繰り返す（ステップＳ１２２）。具体的には、受け取ったオブジェクトデータを、対応するバンドごとに分割する（ステップＳ１２４）とともに、バンドごとに、分割したオブジェクトデータを直接展開することが可能か否かを判定する（ステップＳ１２６）。以上の処理を行うことにより、中間コード処理部１２０は、印刷対象データをバンドごとに分割して処理し、バンドそれぞれの処理結果を中間コードデータとして、バンドごとに中間コードデータメモリ１３０に書き込むことができる。
【００３５】
以下では、ステップＳ１２４におけるオブジェクトデータの分割処理およびステップＳ１２６における直接展開可否の判定処理についてさらに説明を加える。
【００３６】
Ｂ１．オブジェクトデータの分割処理：
後述する描画処理部１４０では、処理の高速化を図るべく、１ページの印刷対象データを一括処理するのではなく、上記バンドごとに処理することとしている。そこで、中間コード処理部１２０は、受け取ったオブジェクトデータを、バンドごとに分割して、印刷対象データをバンドごとに分割することとしている。
【００３７】
図４は、図２の印刷対象データに対するバンドごとの分割処理について示す説明図である。図４（Ａ）に示すように、まず、中間コード処理部１２０は、第１のオブジェクトＯ１のデータを受け取ってバンドごとに分割する。第１のオブジェクトＯ１は、図４（Ａ）の左側に示すように、１ページの印刷対象画像のうち、バンド０〜バンド２の３つのバンドにまたがる矩形の図形である。従って、第１のオブジェクトＯ１のデータは、図４（Ａ）の右側に示すように、バンド０〜バンド２の３つのバンドのデータに分割される。
【００３８】
次に、図４（Ｂ）に示すように、中間コード処理部１２０は、第２のオブジェクトＯ２のデータを受け取ってバンドごとに分割する。第２のオブジェクトＯ２は、図４（Ｂ）の左側に示すように、バンド１およびバンド２の２つのバンドにまたがる円の図形である。従って、第２のオブジェクトＯ２のデータは、図４（Ｂ）の右側に示すように、バンド１およびバンド２の２つのバンドのデータに分割される。
【００３９】
そして、図４（Ｃ）に示すように、中間コード処理部１２０は、第３のオブジェクトＯ３のデータを受け取ってバンドごとに分割する。第３のオブジェクトＯ３は、図４（Ｃ）の左側に示すように、バンド２に存在する矩形の図形である。従って、第３のオブジェクトＯ３のデータは、図４（Ｃ）の右側に示すように、バンド２のデータとされる。
【００４０】
以上のようにしてバンドごとに分割された印刷対象データは、バンドごとの中間コードデータとして中間コードデータメモリ１３０に書き込まれる。
【００４１】
図５は、中間コードデータの構造例を示す説明図である。図５（Ａ）に示すように、バンドごとに分割された印刷対象データは、それぞれバンドごとの中間コードデータとして中間コードデータメモリ１３０に書き込まれている。１つのバンドの中間コードデータは、ヘッダ部分と中間コードデータ部分とで構成される。ヘッダ部分には、バンド番号や後述する展開判定フラグが含まれる。中間コードデータ部分には、そのバンドに含まれるオブジェクトのデータがオブジェクトごとに区分されて含まれる。１つのオブジェクトには、例えば、後述する描画処理で利用されるＲＯＰの種別を示す情報（ＲＯＰ種別情報：ＲＯＰ番号）、オブジェクトの種別を示す情報（オブジェクト種別情報：四角形等の図形情報）、座標、サイズ、色、等の種々のオブジェクト情報が含まれる。なお、図２の印刷対象画像の場合には、図５（Ｂ）に示すように、バンド０〜バンド２の３つのバンドそれぞれに対する中間コードデータが中間コードデータメモリ１３０に書き込まれる。
【００４２】
Ｂ２．直接展開可否の判定処理：
Ｂ２．１．判定条件：
図６は、直接展開部１４３におけるＲＯＰ部１４３ａおよび非直接展開部１４４におけるＲＯＰ部１４４ａによって実行されるＲＯＰ処理のためのＲＯＰ関数のテーブルを示す説明図である。図６に示すように、直接展開部１４３におけるＲＯＰ部１４３ａおよび非直接展開部１４４におけるＲＯＰ部１４４ａで実行されるＲＯＰ処理のために、予め２５６種類のＲＯＰ関数が用意されている。これらのＲＯＰ関数は、逆ポーランド方式で記述されている。Ｓは新たに書き込もうとする画像（ソース：書き込み対象画像）、Ｐは書き込もうとしている画像のパターン、Ｄは既に書き込まれている画像（デスト：元画像）を意味しており、それぞれ、上位８ビットのＲの色情報、次の８ビットのＧの色情報、さらに次の８ビットのＢの色情報、および、下位８ビットのコントロール情報の３２ビットで表される。コントロール情報は本例においては特に必要ではない。また、ｏは論理和（ｏｒ）、ｎは否定（ｎｏｔ）、ａは論理積（ａｎｄ）を意味している。例えば、ＲＯＰ番号「０ｘＥ０」で定義されているＲＯＰ関数「ＰＤＳｏａ」は論理演算「Ｐ ａｎｄ （Ｄ ｏｒ Ｓ）」を示している。
【００４３】
後述する描画処理において、全ての印刷対象データに対して直接展開処理を実行することが可能であるとは限らない。従来の描画処理に相当する非直接展開処理では、処理対象のバンドに含まれているオブジェクトデータの全てをそれぞれＲＯＰ処理してＲＧＢ画像データを生成した後、ＲＧＢ画像データを色変換処理してＹＭＣＫ画像データを生成し、さらに、ＹＭＣＫ画像データを階調数変換処理して印刷データを生成する。しかしながら、直接展開処理では、後述するように、オブジェクトデータごとに、ＲＯＰ処理してＲＧＢ画像データを生成し、ＲＧＢ画像データを色変換処理してＹＭＣＫ画像データを生成し、さらに、ＹＭＣＫ画像データを階調数変換処理して印刷データを生成する。このため、ＲＯＰ処理の結果が元画像Ｄの影響を受ける場合、直接展開処理では、印刷対象データを正しく印刷データに変換することができない。
【００４４】
以上のことから、印刷対象データを印刷データに変換処理する際の描画処理として直接展開処理が可能な場合の条件は、「ＲＯＰ処理の結果が元画像Ｄの影響を受けないこと」であり、以下の２つの条件が考えられる。
【００４５】
条件（１）：ＲＯＰ関数のパラメータとして、もともと元画像Ｄが含まれていない場合
条件（２）：書き込み対象画像ＳまたはパターンＰの条件によって、ＲＯＰ処理の結果が元画像Ｄの影響を受けない場合
【００４６】
上記条件（１）については当然の条件であるのでその説明を省略し、以下では、上記条件（２）について説明する。
【００４７】
図７は、ＲＯＰ関数の一例を示す説明図である。ＲＯＰ番号が「０ｘＥ０」のＲＯＰ関数「ＰＤＳｏａ」による処理について示している。ＲＯＰ関数「ＰＤｓｏａ」は、論理演算「Ｐ ａｎｄ （Ｓ ｏｒ Ｄ）」を意味しており、図７に示すように、処理結果が元画像Ｄの影響を受けるものである。このように、元画像Ｄが処理結果に影響を与える場合には、基本的に元画像Ｄの情報が必要となり、直接展開は不可能である。しかしながら、書き込み対象画像ＳまたはパターンＰが、以下で説明する３つの条件に当てはまる場合には、処理の結果が元画像Ｄの影響を受けなくなるため、直接展開可能であると判断できる。
【００４８】
図８は、ＲＯＰ関数「ＰＤＳｏａ」による処理において、処理結果が元画像Ｄの影響を受けない場合となる第１の条件を示す説明図である。図８に示すように、書き込み対象画像Ｓの値が単色で「０ｘｆｆｆｆｆｆｆｆ」、すなわち、Ｒ、Ｇ、Ｂ全ての値が「０ｘｆｆ」である白画像の場合には、「（Ｓ ｏｒ Ｄ）」の処理結果は「０ｘｆｆｆｆｆｆｆｆ」となり、元画像Ｄがどうであろうと論理演算「Ｐ ａｎｄ （Ｓ ｏｒ Ｄ）」の処理結果は必ずパターンＰと等しくなる。つまり、元画像Ｓの値が単色で「０ｘｆｆｆｆｆｆｆｆ」の場合、処理結果が元画像Ｄの影響を受けないため、直接展開可能であると判断できる。
【００４９】
図９は、ＲＯＰ関数「ＰＤＳｏａ」による処理において、処理結果が元画像Ｄの影響を受けない場合となる第２の条件を示す説明図である。図９に示すように、パターンＰの値が単色で「０ｘ００００００００」、すなわち、Ｒ、Ｇ、Ｂ全ての値が「０ｘ００」である黒画像の場合、論理演算「Ｓ ｏｒ Ｄ」の結果がどうであろうと、論理演算「Ｐ ａｎｄ （Ｓ ｏｒ Ｄ）」の結果が必ず「０ｘ００００００００」、すなわち、Ｒ、Ｇ、Ｂ全ての値が「０ｘ００」である黒画像となり、結果としてパターンＰと等しくなる。つまり、パターンＰの値が単色で「０ｘ００００００００」の場合も、処理結果が元画像Ｄの影響を受けないため、直接展開可能であると判断できる。
【００５０】
図１０は、ＲＯＰ関数「ＰＤＳｏａ」による処理において、処理結果が元画像Ｄの影響を受けない場合となる第３の条件を示す説明図である。図１０に示すように、Ｐ＝Ｓ、例えば、パターンＰ及び書き込み対象画像Ｓが単色で「０ｘｆｆ００ｆｆ００」、すなわち、ＲおよびＢの値が「０ｘｆｆ」でＧの値が「０ｘ００」であるマゼンダ色の画像の場合、論理演算「Ｓ ｏｒ Ｄ」の結果がどうであろうと、論理演算「Ｐ ａｎｄ （Ｓ ｏｒ Ｄ）」の結果が必ず「０ｘｆｆ００ｆｆ００」、すなわち、パターンＰと等しくなる。つまり、パターンＰ及び書き込み対象画像Ｓの値が等しい場合も、処理結果が元画像Ｄの影響を受けないため、直接展開可能であると判断できる。
【００５１】
ここで、図８ないし図１０に示した３つの条件は、パターンＰおよび書き込み対象画像Ｓが単色でない場合においても成立するが、単色でない場合には、全ての画素について、３つの条件に当てはまるか否かをチェックしなければならず、判定に時間を要することとなる。そこで、パターンＰおよび書き込み対象画像Ｓが単色である場合にのみ、パターンＰおよび書き込み対象画像Ｓの値が該当するか否か判定することが好ましい。
【００５２】
なお、図８ないし図１０を用いて説明した３つの条件は、ＲＯＰ関数「ＰＤＳｏａ」（図７参照）において、直接展開が可能な場合の条件であり、２５６種類のＲＯＰ関数（図６参照）のそれぞれには、それぞれに対応する書き込み対象画像ＳおよびパターンＰの条件が存在する。このため、図６に示したＲＯＰ関数のテーブルには、ＲＯＰ関数それぞれの書き込み対象画像ＳおよびパターンＰの条件が対応する条件番号として示されており、同じ条件番号のＲＯＰ関数は同じ条件である。図１１は、条件番号に対応する直接展開が可能となる書き込み対象画像ＳおよびパターンＰの条件のテーブルを示す説明図である。図１１に示すように２５６種類のＲＯＰ関数それぞれの条件は、条件番号０〜２０の２０種類に分類される。なお、条件番号０は、ＲＯＰ関数のパラメータとして元画像Ｄが含まれておらず、無条件で直接展開可能であることを示している。また、条件番号１９は、直接展開可能なパターンＰおよび書き込み対象画像Ｓの条件がなく、直接展開不可能であることを示している。
【００５３】
Ｂ２．２．判定処理：
直接展開が可能であるか否かの判定は、図７に示した関数テーブルを参照して、判定対象のオブジェクトデータに含まれているＲＯＰ番号に対応するＲＯＰ関数および条件番号を求めるとともに、図１１に示した条件テーブルを参照して、その条件番号に対応する条件を求めて、以下で説明する判定手順に従って実行される。
【００５４】
図１２は、直接展開が可能であるか否かを判定する手順を示すフローチャートである。この判定では、まず、処理で利用されるＲＯＰ関数のパラメータとして元画像Ｄが含まれるか否か判断する（ステップＳ１２６ａ）。ＲＯＰ関数のパラメータとして元画像Ｄが含まれない場合（ステップＳ１２６ａ：ＮＯ）には直接展開可能と判定し、元画像Ｄが含まれる場合（ステップＳ１２６ａ：ＹＥＳ）には次の判断に進む。具体的には、上記したように、関数テーブルを参照して、利用されるＲＯＰ関数の条件番号が「０」ならばＲＯＰ関数のパラメータとして元画像Ｄが含まれないので、直接展開可能と判定し、条件番号が「０」でなければ次の判断に進む。
【００５５】
次の判断では、書き込み対象画像Ｓが単色であるか否か判断する（ステップＳ１２６ｂ）。書き込み対象画像Ｓが単色でない場合（ステップＳ１２６ｂ：ＮＯ）には直接展開不可能と判定し、単色である場合（ステップＳ１２６ｂ：ＹＥＳ）には次の判断に進む。そして、パターンＰが単色であるか否か判断する（ステップＳ１２６ｃ）。パターンＰが単色でない場合（ステップＳ１２６ｃ：ＮＯ）には直接展開不可能と判定し、単色である場合（ステップＳ１２６ｃ：ＹＥＳ）には次の判断に進む。
【００５６】
さらに次の判断では、書き込み対象画像ＳおよびパターンＰの値が所定の条件に当てはまるか否か判断する（ステップＳ１２６ｄ）。所定の条件に当てはまらない場合（ステップＳ１２６ｄ：ＮＯ）には直接展開不可能と判定し、当てはまる場合（ステップＳ１２６ｄ：ＹＥＳ）に直接展開可能と判断される。具体的には、図６に示した関数テーブルを参照して、対応するＲＯＰ関数の条件番号を求めるとともに、図８に示した条件テーブルを参照して、その条件番号に対応する所定の条件を求める。そして、書き込み対象画像ＳおよびパターンＰの値が、求めた所定の条件に当てはまるか判断する。このとき、所定の条件に当てはまらない場合には直接展開不可能と判定し、当てはまる場合に直接展開可能と判定する。
【００５７】
こうして得られた判定結果は、図５に示すように、展開判定フラグの形で、バンドごとの中間コードデータの一部として中間コードデータメモリ１３０に書き込まれる。展開判定フラグとしては、例えば、直接展開可能な場合は「０」、直接展開不可能な場合は「１」が設定される。
【００５８】
例えば、図４（Ａ）に示すように、中間コード処理部１２０が第１のオブジェクトＯ１のデータを受け取ってバンドごとに分割した場合における判定では、第１のオブジェクトＯ１が最下層のオブジェクトであり、例えば、第１のオブジェクトＯ１のデータに含まれているＲＯＰ関数が「Ｓ」であるとすると、バンド０〜バンド２のいずれも直接展開は可能と判定される。次に、図４（Ｂ）に示すように、第２のオブジェクトＯ２のデータを受け取ってバンドごとに分割した場合における判定では、第２のオブジェクトＯ２が第１のオブジェクトＯ１の上側に単に上書きした図形であり、例えば、第２のオブジェクトＯ２のデータに含まれているＲＯＰ関数が「Ｓ」であるとすると、第２のオブジェクトＯ２のデータが分割されるバンド１およびバンド２のいずれも直接展開が可能と判定される。そして、図４（Ｃ）に示すように、第３のオブジェクトＯ３のデータを受け取ってバンドごとに分割した場合における判定では、第３のオブジェクトＯ３が第２のオブジェクトＯ２と重なっている部分については、第２のオブジェクトＯ２の影響を受ける図形であり、例えば、第３のオブジェクトＯ３のデータに含まれているＲＯＰ関数が「ＤＳａ」であるとすると、直接展開が可能と判定されるパターンＰまたは書き込み対象画像Ｓの条件は、関数テーブル（図６）および条件テーブル（図１１）を参照すると、書き込み対象画像Ｓが単色で黒色の画像、すなわち、Ｒ、Ｇ、Ｂ全ての値が「０ｘ００」であることが条件となる。第３のオブジェクトＯ３の色が、例えば、単色の青色であるとすると、直接展開は不可能と判定される。
【００５９】
なお、上記判定手順では、まず、処理で利用されるＲＯＰ関数のパラメータとして元画像Ｄが含まれるか否か判断する場合を例に説明しているが、先に、書き込み対象画像Ｓが単色であるか否か判断するようにし、書き込み対象画像Ｓが単色である場合、単色でない場合のそれぞれにおいて、処理で利用されるＲＯＰ関数のパラメータとして元画像Ｄが含まれるか否か判断し、パターンＰが単色であるか否か判断するようにしてもよい。
【００６０】
Ｃ．描画処理部：
図１３は、描画処理部１４０における描画処理の手順を示すフローチャートである。描画処理部１４０では、中間コードデータメモリ１３０から順に読み出される全てのバンドのデータに対する処理が終了するまで、各バンドについて以下で説明する処理を繰り返す（ステップＳ１４１）。具体的には、まず、展開処理選択部１４２が、受け取ったバンドのデータに含まれている展開フラグを参照して直接展開可能か否か判断する（ステップＳ１４２）。展開フラグが直接展開可能を示している場合（ステップＳ１４２：ＹＥＳ）には、受け取ったバンドのデータを直接展開部１４３に受け渡し、直接展開処理不可能を示している場合（ステップＳ１４２：ＮＯ）には、受け取ったバンドのデータを非直接展開部１４４に受け渡す。バンドのデータが直接展開部１４３に受け渡された場合には、直接展開部１４３が直接展開処理（ステップＳ１４３）を実行して、その処理結果を印刷データメモリ１４５に書き込む。一方、バンドのデータが非直接展開部１４４に受け渡された場合には、非直接展開部１４４が非直接展開処理（ステップＳ１４４）を実行して、その処理結果を印刷データメモリ１４５に書き込む。中間コードデータメモリ１３０に書き込まれている全てのバンドに対する処理が終了すると、データ出力部１４６が印刷データメモリ１４５に書き込まれている印刷データを順に読み出して、プリントエンジン２００に供給する（ステップＳ１４５）。
【００６１】
以下では、ステップＳ１４３における直接展開処理およびステップＳ１４４における非直接展開処理についてさらに説明を加える。
【００６２】
Ｃ１．直接展開処理：
図１４は、直接展開部１４３における直接展開処理の手順を示すフローチャートである。直接展開部１４３は、直接展開可能と判断されたバンドのデータとして、順に受け取る全てのオブジェクトデータに対する処理が終了するまで、各オブジェクトについて以下で説明する処理を繰り返す（ステップＳ１４３ａ）。具体的には、まず、受け取ったオブジェクトデータに対して、ＲＯＰ部１４３ａが対応するＲＯＰ処理を実行してＲＧＢ形式で表されるラスタデータ（ＲＧＢデータ）に変換し（ステップＳ１４３ｂ）、次いで、色変換部１４３ｂがＣＭＹＫ形式で表されるラスタデータ（ＣＭＹＫデータ）に変換する（ステップＳ１４３ｃ）。さらに、階調数変換部１４３ｃが、ＣＭＹＫデータそれぞれの色の階調数を変換することにより、印刷可能な各色ドットの形成有無により表現された印刷データに変換し（ステップＳ１４３ｄ）、印刷データメモリ１４５に書き込む（ステップＳ１４３ｅ）。以上のようにして、直接展開部１４３は、直接展開可能と判断されたバンドのデータを印刷データに変換して、印刷データメモリ１４５に書き込むことができる。
【００６３】
図１５は、直接展開処理の具体例について示す説明図である。図１５は、図２の印刷対象画像のうちバンド１について直接展開処理を行う場合を例に示している。図１５に示すように、バンド１の中間コードデータ（図４および図５参照）には、第１のオブジェクトＯ１および第２のオブジェクトＯ２が含まれており、この順に直接展開部１４３に供給される。
【００６４】
まず、第１のオブジェクトＯ１のデータが直接展開部１４３に供給されると、ＲＯＰ部１４３ａが第１のオブジェクトＯ１のデータをＲＧＢデータＯ１（ＲＧＢ）に変換し（図１５（ａ１））、色変換部１４３ｂがＲＧＢデータＯ１（ＲＧＢ）をＣＭＹＫデータＯ１（ＣＭＹＫ）に変換する（図１５（ａ２））。そして、階調数変換部１４３ｃがＣＭＹＫデータＯ１（ＣＭＹＫ）の階調数を変換し（図１５（ａ３））、変換した階調数変換データＯ１（ＣＭＹＫｄ）を印刷データメモリ１４５中の対応するバンド領域内の対応する画像の位置に書き込む（図１５（ａ４））。次に、第２のオブジェクトＯ２が直接展開部１４３に供給されると、同様に、ＲＯＰ部１４３ａが第２のオブジェクトＯ２をＲＧＢデータＯ２（ＲＧＢ）に変換し（図１５（ｂ１））、色変換部１４３ｂがＲＧＢデータＯ２（ＲＧＢ）をＣＭＹＫデータＯ２（ＣＭＹＫ）に変換する（図１５（ｂ２））。そして、階調数変換部１４３ｃがＣＭＹＫデータＯ２（ＣＭＹＫ）の階調数を変換し（図１５（ｂ３））、変換した階調数変換データＯ２（ＣＭＹＫｄ）を印刷データメモリ１４５中の対応するバンド領域内の対応する画像の位置に書き込む（図１５（ｂ４））。以上のようにして、直接展開部１４３は直接展開処理を実行することができる。
【００６５】
Ｃ２．非直接展開処理：
図１６は、非直接展開部１４４における非直接展開処理の手順を示すフローチャートである。非直接展開部１４４のＲＯＰ部１４４ａは、直接展開不可能と判断されたバンドのデータとして、順に受け取る全てのオブジェクトデータに対する処理が終了するまで、各オブジェクトについて以下で説明する処理を繰り返す（ステップＳ１４４ａ）。具体的には、まず。受け取ったオブジェクトデータに対して、対応するＲＯＰ処理を実行してＲＧＢデータに変換し（ステップＳ１４４ｂ）、ＲＧＢデータメモリ１４４ｄに書き込む（ステップＳ１４４ｃ）。順に供給されるオブジェクトデータの全てに対して、ＲＯＰ部１４４ａにおける処理が終了すると、色変換部１４４ｂが、ＲＧＢデータメモリ１４４ｄに書き込まれているＲＧＢデータを順に読み出してＣＭＹＫデータに変換し（ステップＳ１４４ｄ）、ＣＭＹＫデータメモリ１４４ｅに書き込む（ステップＳ１４４ｅ）。さらに、色変換部１４４ｂにおける処理が終了すると、階調数変換部１４３ｃが、ＣＭＹＫデータメモリ１４４ｅに書き込まれているＣＭＹＫデータを順に読み出して、ＣＭＹＫそれぞれの色の階調数を変換することにより印刷データに変換し（ステップＳ１４４ｆ）、印刷データメモリ１４５に書き込む（ステップＳ１４４ｇ）。以上のようにして、非直接展開部１４４は、直接展開不可能と判断されたバンドのデータを印刷データに変換して、印刷データメモリ１４５に書き込むことができる。
【００６６】
図１７は、非直接展開処理の具体例について示す説明図である。図１７は、図２の印刷対象画像のうちバンド２について非直接展開処理する場合を例に示している。図１７に示すように、バンド２の中間コードデータ（図４および図５参照）には、第１ないし第３のオブジェクトＯ１〜Ｏ３が含まれており、この順に非直接展開部１４４に供給される。
【００６７】
まず、第１のオブジェクトＯ１が非直接展開部１４３に供給されると、ＲＯＰ部１４４ａが第１のオブジェクトＯ１をＲＧＢデータＯ１（ＲＧＢ）に変換し、ＲＧＢデータメモリ１４４ｄ中の対応するバンド領域の対応する画像の位置に書き込む（図１７（ａ１））。次に、第２のオブジェクトＯ２が非直接展開部１４４に供給されると、ＲＯＰ部１４４ａが第２のオブジェクトＯ２をＲＧＢデータＯ２（ＲＧＢ）に変換し、ＲＧＢデータメモリ１４４ｄ中の対応するバンド領域の対応する画像の位置に書き込む（図１７（ａ２））。そして、第３のオブジェクトＯ３が非直接展開部１４４に供給されると、ＲＯＰ部１４４ａが第３のオブジェクトＯ３をＲＧＢデータＯ３（ＲＧＢ）に変換し、ＲＧＢデータメモリ１４４ｄ中の対応するバンド領域の対応する画像の位置に書き込む（図１７（ａ３））。次に、色変換部１４４ｂが、ＲＧＢデータメモリ１４４ｄに書き込まれているＲＧＢデータ［Ｏ１−Ｏ２−Ｏ３（ＲＧＢ）］を順に読み出してＣＭＹＫデータ［Ｏ１−Ｏ２−Ｏ３（ＣＭＹＫ）］に変換し、ＣＭＹＫデータメモリ１４４ｅ中の対応するバンド領域に書き込む（図１７（ａ４））。そして、階調数変換部１４４ｃが、ＣＭＹＫデータメモリ１４４ｅに書き込まれているＣＭＹＫデータ［Ｏ１−Ｏ２−Ｏ３（ＣＭＹＫ）］を順に読み出して、ＣＭＹＫデータ［Ｏ１−Ｏ２−Ｏ３（ＣＭＹＫ）］の階調数を変換し、変換した階調数変換データ［Ｏ１−Ｏ２−Ｏ３（ＣＭＹＫｄ）］を印刷データメモリ１４５中の対応するバンド領域に書き込む（図１７（ａ５））。以上のようにして、非直接展開部１４４は非直接展開処理を実行することができる。
【００６８】
Ｄ．効果：
以上説明したように、上記実施例では、印刷対象データを印刷データに変換処理するために、所定の言語で記述されたオブジェクトデータをラスタ画像に変換する描画処理を実行するが、印刷対象データに含まれるオブジェクトデータごとに、ＲＧＢデータへの変換、ＣＭＹＫデータへの変換、階調数変換を行って印刷データに変換する処理である直接展開処理が可能であるか否かを判定している。
【００６９】
そして、直接展開処理が可能である場合には、直接展開処理を実行することができ、直接展開処理が不可能である場合には、従来の描画処理に相当する非直接展開処理を実行することができる。
【００７０】
従って、本実施例では、直接展開処理が可能な印刷対象データについて直接展開処理を実行することにより、印刷対象データを印刷データに変換する処理の高速化を図ることができるので、所定の言語で記述された描画オブジェクトを含む印刷対象データの印刷データへの変換処理を実効的に高速化することが可能である。
【００７１】
Ｅ．変形例：
なお、本発明は上記実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
【００７２】
Ｅ１．変形例１：
上記実施例では、直接展開部１４３にＲＯＰ部１４３ａと色変換部１４３ｂと階調数変換部１４３ｃとを備え、非直接展開部１４４にＲＯＰ部１４４ａと色変換部１４４ｂと階調数変換部１４４ｃとを備える構成を例に説明したが、これに限定するものではない。ＲＯＰ部と色変換部と階調数変換部とを共通化して、直接展開処理の場合には、ＲＯＰ変換部による処理結果を色変換部に受け渡すとともに、色変換部による処理結果を階調数変換部に受け渡し、非直接展開処理の場合には、ＲＯＰ変換部による処理結果をＲＧＢデータメモリに書き込むとともに、色変換部による処理結果をＹＭＣＫデータメモリに書き込むようにしてもよい。
【００７３】
Ｅ２．変形例２：
上記実施例では、処理の高速化を図るべく、１ページの印刷対象データを一括処理するのではなく、上記バンドごとに処理することとしているが、必ずしもバンドごとに処理する必要はなく、印刷対象データを一括処理するようにしてもよい。
【００７４】
Ｅ３．変形例３：
上記実施例では、印刷対象データを印刷データに変換する処理はプリンタ内のデータ処理装置で実行されるものとして説明したが、一部あるいは全部をコンピュータ側で実行するものであってよい。
【００７５】
Ｅ４．変形例４：
上記実施例では、データ処理装置１００の各機能を、ＣＰＵによって実行されるソフトウェアで実現する構成として説明しているが、各機能をハードウェアで実現する構成としてもよい。また、ソフトウェアで実現する構成とハードウェアで実現する構成との組み合わせとすることも可能である。
【図面の簡単な説明】
【００７６】
【図１】実施例としてのプリンタを用いた印刷システムの構成を示す説明図である。
【図２】印刷対象画像の具体例を示す説明図である。
【図３】中間コード処理部１２０が実行する中間コード処理の手順を示すフローチャートである。
【図４】図２の印刷対象データに対するバンドごとの分割処理について示す説明図である。
【図５】中間コードデータの構造例を示す説明図である。
【図６】直接展開部１４３におけるＲＯＰ部１４３ａおよび非直接展開部１４４におけるＲＯＰ部１４４ａによって実行されるＲＯＰ処理のためのＲＯＰ関数のテーブルを示す説明図である。
【図７】ＲＯＰ関数の一例を示す説明図である。
【図８】ＲＯＰ関数「ＰＤＳｏａ」による処理において処理結果が元画像Ｄの影響を受けない場合となる第１の条件を示す説明図である。
【図９】ＲＯＰ関数「ＰＤＳｏａ」による処理において処理結果が元画像Ｄの影響を受けない場合となる第２の条件を示す説明図である。
【図１０】ＲＯＰ関数「ＰＤＳｏａ」による処理において処理結果が元画像Ｄの影響を受けない場合となる第３の条件を示す説明図である。
【図１１】条件番号に対応する直接展開が可能となる所定の条件のテーブルを示す説明図である。
【図１２】直接展開が可能であるか否かを判定する手順を示すフローチャートである。
【図１３】描画処理部１４０における描画処理の手順を示すフローチャートである。
【図１４】直接展開部１４３における直接展開処理の手順を示すフローチャートである。
【図１５】直接展開処理の具体例について示す説明図である。
【図１６】非直接展開部１４４における非直接展開処理の手順を示すフローチャートである。
【図１７】非直接展開処理の具体例について示す説明図である。
【符号の説明】
【００７７】
１０...コンピュータ
２０...プリンタ
１００...データ処理装置
１１０...言語解釈部
１２０...中間コード処理部
１３０...中間コードデータメモリ
１４０...描画処理部
１４２...展開処理選択部
１４３...直接展開部
１４３...非直接展開部
１４３ａ...ＲＯＰ部
１４３ｂ...色変換部
１４３ｃ...階調数変換部
１４４...非直接展開部
１４４ａ...ＲＯＰ部
１４４ｂ...色変換部
１４４ｃ...階調数変換部
１４４ｄ...ＲＧＢデータメモリ
１４４ｅ...ＣＭＹＫデータメモリ
１４５...印刷データメモリ
１４６...データ出力部
２００...プリントエンジン
【図１】
2006060272.tif 000003
【図２】
2006060272.tif 000004
【図３】
2006060272.tif 000005
【図４】
2006060272.tif 000006
【図５】
2006060272.tif 000007
【図６】
2006060272.tif 000008
【図７】
2006060272.tif 000009
【図８】
2006060272.tif 000010
【図９】
2006060272.tif 000011
【図１０】
2006060272.tif 000012
【図１１】
2006060272.tif 000013
【図１２】
2006060272.tif 000014
【図１３】
2006060272.tif 000015
【図１４】
2006060272.tif 000016
【図１５】
2006060272.tif 000017
【図１６】
2006060272.tif 000018
【図１７】
2006060272.tif 000019