(57)【特許請求の範囲】
【請求項１】
イメージ描画命令がグラデーションイメージであるかを特定するための第１の判定を行い、かつ、前記第１の判定において前記イメージ描画命令が前記グラデーションイメージである可能性があると判定した場合に、イメージ描画命令がグラデーションイメージであるかを特定するための第２の判定を行う判定手段と、
前記判定手段によって前記イメージ描画命令がグラデーションイメージであると判定された場合、前記イメージ描画命令をグラフィック属性として処理する制御手段と
を有することを特徴とする描画処理装置。
【請求項２】
前記判定手段は、前記イメージ描画命令に含まれるイメージのサイズまたは拡縮率に基づいて前記イメージ描画命令がグラデーションイメージであるかを判定することを特徴とする請求項１に記載の描画処理装置。
【請求項３】
前記判定手段は、前記イメージ描画命令に含まれるイメージのサイズまたは拡縮率に基づいて前記イメージ描画命令がグラデーションイメージである可能性があるかを判定する前記第１の判定を行い、前記第１の判定において前記グラデーションイメージである可能性があると判定した場合、前記イメージを解析して前記イメージ描画命令がグラデーションイメージであるかを判定する前記第２の判定を行うことを特徴とする請求項１に記載の描画処理装置。
【請求項４】
前記判定手段は、前記イメージ描画命令に含まれるイメージのサイズまたは拡縮率に基づいて前記イメージ描画命令がグラデーションイメージである可能性があるかを判定する前記第１の判定を行い、前記第１の判定において前記グラデーションイメージである可能性があると判定した場合、該当し得るグラデーションイメージのタイプを判定し、
前記グラデーションイメージのタイプに応じて前記イメージを解析して前記イメージ描画命令がグラデーションイメージであるかを判定する前記第２の判定を行うことを特徴とする請求項１に記載の描画処理装置。
【請求項５】
前記判定手段は、前記第２の判定において、縦または横が１ピクセルのイメージを含むイメージ描画命令を、横方向の線形グラデーションまたは縦方向の線形グラデーションのタイプであると判定することを特徴とする請求項４に記載の描画処理装置。
【請求項６】
前記判定手段は、前記第２の判定において、高さがある一定のピクセル毎に分割されているイメージを含むイメージ描画命令を、斜め方向の線形グラデーションのタイプであると判定することを特徴とする請求項４に記載の描画処理装置。
【請求項７】
前記判定手段は、前記第２の判定において、高さが１１８４ピクセル毎に分割されているイメージを含むイメージ描画命令を、斜め方向の線形グラデーションのタイプであると判定することを特徴とする請求項４に記載の描画処理装置。
【請求項８】
前記判定手段は、前記第２の判定において、縦と横の拡縮率が等しいイメージ描画命令を、放射状のグラデーションのタイプであると判定することを特徴とする請求項４に記載の描画処理装置。
【請求項９】
前記判定手段は、前記第２の判定において、縦と横のピクセル数が等しいイメージを含むイメージ描画命令を、四角状のグラデーションのタイプであると判定することを特徴とする請求項４に記載の描画処理装置。
【請求項１０】
前記制御手段は、前記イメージ描画命令をグラデーションのグラフィック描画命令に変更することを特徴とする請求項１から９のいずれか一項に記載の描画処理装置。
【請求項１１】
前記制御手段は、前記イメージ描画命令を解釈して前記イメージ描画命令が示すオブジェクトの中間データを生成する生成手段を有し、
前記生成手段は、グラデーションイメージであると判定された前記イメージ描画命令から、オブジェクトの属性をグラフィック属性とする中間データを生成することを特徴とする請求項１から９のいずれか一項に記載の描画処理装置。
【請求項１２】
前記制御手段は、前記イメージ描画命令を解釈して前記イメージ描画命令が示すオブジェクトの中間データを生成する生成手段を有し、
前記生成手段は、グラデーションイメージであると判定された前記イメージ描画命令から、グラフィックのオブジェクトの中間データを生成することを特徴とする請求項１から９のいずれか一項に記載の描画処理装置。
【請求項１３】
イメージ描画命令がグラデーションイメージであるかを特定するための第１の判定を行い、かつ、前記第１の判定において前記イメージ描画命令が前記グラデーションイメージである可能性があると判定した場合に、イメージ描画命令がグラデーションイメージであるかを特定するための第２の判定を行う判定ステップと、
前記判定ステップによって前記イメージ描画命令がグラデーションイメージであると判定された場合、前記イメージ描画命令をグラフィック属性として処理する制御ステップとを有することを特徴とする描画処理方法。
【請求項１４】
コンピュータを、請求項１から１２のいずれか一項に記載の描画処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトの属性に応じた画像処理に関する技術である。
【背景技術】
【０００２】
プリンタドライバでは、「文字」「グラフィック」「イメージ」などの描画対象のオブジェクトの属性に応じた画像処理が行われる。例えば、中間調表現のために使用するディザパターンとして、グラフィック描画には解像度を優先したディザパターン、イメージ描画には階調を優先したディザパターンを用いると印刷結果がより自然なものとなることが知られている。
【０００３】
一方、近年Ｗｉｎｄｏｗｓ（登録商標）用プリンタドライバは、これまでメインドライバとして利用されてきたＧＤＩドライバ（以降Ｖ３ドライバと呼ぶ）からＸＰＳドライバ（以降Ｖ４ドライバと呼ぶ）への移行が始まっている。、近い将来メインドライバはＶ４ドライバとなる。Ｖ３ドライバは、ＧＤＩ（Graphics Device Interface）形式の描画命令を解釈して印刷データを生成するドライバである。Ｖ４ドライバはＸＰＳ（XML Paper Specification）形式の描画命令を解釈して印刷データを生成するドライバである。
【０００４】
現状のアプリケーションは、印刷処理を行う際、ＧＤＩ描画命令をドライバに対して出力するものが多い。Ｖ３ドライバではＧＤＩ形式のグラデーション描画命令を直接解釈しているため、グラデーション描画命令が示すオブジェクトをグラフィックオブジェクト（グラフィック属性）と判定し、当該オブジェクトに対してグラフィック用の画像処理を行う。
【０００５】
一方、印刷処理を行う際、ＧＤＩ描画命令をドライバに対して出力するアプリケーションに対してＶ４ドライバを用いた印刷処理では次のような処理が行なわれる。すなわち、アプリケーションから出力されたＧＤＩ描画命令をＯＳの機能の一部であるＭＸＤＷ（Ｍｉｃｒｏｓｏｆｔ（登録商標）  ＸＰＳ  Ｄｏｃｕｍｅｎｔ  Ｗｒｉｔｅｒ）がＸＰＳ描画命令へ変換を行う。そしてその後、当該変換後のＸＰＳ描画命令をＯＳがＶ４ドライバへ渡すように構成している。
【０００６】
ここで、このＭＸＤＷは、ＧＤＩ形式の単色のグラフィック描画命令に対してはＸＰＳ形式のグラフィック描画命令に変換するが、ＧＤＩ形式のグラデーション描画命令に対してはＸＰＳ形式へ変換する際にイメージ化を行う。つまり、ＧＤＩ形式ではグラデーション描画命令で表現されていたオブジェクトが、ＸＰＳ形式においてはイメージ描画命令で表現されてしまうことになる。したがって、ＭＸＤＷによってイメージ化された（すなわち、イメージ描画命令で表現された）グラデーションがＶ４ドライバに入力されることになる。Ｖ４ドライバでは、該オブジェクトはイメージ描画命令で表現されたオブジェクトであるのでイメージオブジェクト（イメージ属性）として判定することになる。このため、Ｖ４ドライバでは該オブジェクトに対してイメージ用の画像処理が行われることになる。すなわち、Ｖ３ドライバとＶ４ドライバとでは、同じグラデーションを示すオブジェクトに対して、異なる画像処理が行われることになるので、紙への印刷出力描画結果も異なることになる。
【０００７】
その様子を簡単に図示したのが図１である。ウィンドウ１０１はアプリケーション上の描画結果を示している。図形オブジェクト１０２はグラデーションのグラフィックオブジェクトであり、下底が黒（（Ｒ，Ｇ，Ｂ）＝（０，０，０））、上底が白（Ｒ，Ｇ，Ｂ）＝（２５５，２５５，２５５）であるものとする。図形オブジェクト１０３は単色のグラフィックオブジェクトであり、色は黒（（Ｒ，Ｇ，Ｂ）＝（０，０，０））であるものとする。ウィンドウ１１１は、ウィンドウ１０１を描画したアプリケーションから出力されたデータを、Ｖ３ドライバを用いて印刷出力した結果を示している。Ｖ３ドライバでは、ＧＤＩ形式で入力された２つの図形オブジェクト１０２，１０３を直接解釈するので、Ｖ３ドライバは両方ともグラフィック属性として判定する。従ってＶ３ドライバは、グラフィック用の同じ画像処理を行うので、境界１１２に色の段差は生じない。一方、ウィンドウ１２１はアプリケーションから出力された同じデータを、Ｖ４ドライバを用いて印刷出力した結果を示している。Ｖ４ドライバに入力されるデータは、前述の通り、アプリケーションから出力されたＧＤＩ形式のデータがＭＸＤＷによってＸＰＳ形式に変換された後のデータである。前述の通りグラデーションのグラフィックオブジェクト１０２についてはＭＸＤＷによってイメージ化されてＶ４ドライバに渡されるので、Ｖ４ドライバにて該図形に対してイメージ用の画像処理が行われて印刷出力される。一方、単色のグラフィックオブジェクト１０３についてはＸＰＳ形式においてもグラフィックオブジェクトとしてＶ４ドライバに渡されるので、Ｖ４ドライバにて該図形に対してグラフィック用の画像処理が行われて印刷出力される。各オブジェクトに対して異なる画像処理が行われるので、２つのオブジェクトの境界１２２に色の段差が生じる。なお、図１は違いを簡便に説明するために多少誇張した図となっている。
【０００８】
特許文献１では、アプリケーションから１ピクセル列のイメージを引き延ばす描画命令が入力された場合に、プリンタドライバは、そのイメージが所定のピクセル数毎に色の濃淡が変化するかを判定する。そしてプリンタドライバは、そのようなイメージであったと判定した場合には同色のブロックごとに塗りつぶす印刷命令に置き換えることによりプリンタ装置での演算量を減らす技術が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−１５２５９７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本来、グラデーション描画命令はグラフィック属性のオブジェクトの描画命令として処理されるべきであるが、Ｖ４ドライバでは、ＭＸＤＷによりグラデーション描画命令のオブジェクトがイメージ化されてイメージオブジェクトの描画命令として入力される。このため、Ｖ４ドライバでは該グラデーションの部分がイメージオブジェクトとして処理されてしまい、Ｖ３ドライバでの描画結果と異なる場合がある。ＭＸＤＷによってイメージ化され得るグラデーションは様々なパターンがある。特許文献１では、１ピクセル列のイメージを引き延ばす描画命令を置き換える処理を開示しているが、ＭＸＤＷによってイメージ化され得る様々なパターンのイメージについてグラデーションイメージかどうかを判定するような処理は開示されていない。
【課題を解決するための手段】
【００１１】
本発明に係る描画処理装置は、イメージ描画命令がグラデーションイメージであるかを特定するための第１の判定を行い、かつ、前記第１の判定において前記イメージ描画命令が前記グラデーションイメージである可能性があると判定した場合に、イメージ描画命令がグラデーションイメージであるかを特定するための第２の判定を行う判定手段と、前記判定手段によって前記イメージ描画命令がグラデーションイメージであると判定された場合、前記イメージ描画命令をグラフィック属性として処理する制御手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、グラデーションのオブジェクトを描画する場合、Ｖ３ドライバとＶ４ドライバとで印刷結果が異なることを解消することができる。
【図面の簡単な説明】
【００１３】
【図１】グラデーション描画に色の段差が生じてしまう例を示した図である。
【図２】実施例１における情報処理装置を含むシステム構成の一例を示すブロック図である。
【図３】実施例１における情報処理装置のブロックの例を示す図である。
【図４】実施例１におけるグラデーションイメージ判定処理の例を示すフローチャートである。
【図５】グラデーションタイプの例を示す図である。
【図６】実施例１におけるグラデーションイメージタイプ判定処理の例を示すフローチャートである。
【図７】実施例１におけるグラデーションイメージ詳細判定処理の例を示すフローチャートである。
【図８】実施例１におけるグラデーションイメージ描画の修正例を示す図である。
【図９】実施例２におけるグラデーションイメージ描画の修正例を示す図である。
【図１０】実施例３におけるシステムのブロックの例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
＜＜用語＞＞
まず、本明細書で用いる用語について説明する。
【００１６】
「グラデーションイメージ」：グラデーション模様のイメージのオブジェクトのことである。イメージのオブジェクトであるので、グラデーションイメージの属性は以下の実施例で説明するような処理を行なわなければ「イメージ」として扱われることになる。以下で説明する実施例では、このグラデーションイメージの属性を「グラフィック」として扱う処理を説明する。
【００１７】
「グラデーションタイプ」：グラデーションの種類（線形、放射状、四角）と、グラデーションの開始位置の組み合わせである。詳細については図５において後述する。
【００１８】
［実施例１］
実施例１では、描画命令処理装置として印刷処理システムにおけるプリンタドライバを組み込んだコンピュータなどの情報処理装置を例に挙げて説明する。しかしながら、描画命令処理装置はプリンタドライバを組み込んだ装置に限られるものではない。例えば、プリンタドライバではなく、印刷装置内のコントローラにてＰＤＬデータに含まれる描画命令を解釈して処理する印刷装置も描画命令処理装置として機能する。本実施例では、プリンタドライバにおいて描画命令処理装置の機能が実現される例を挙げて説明する。
【００１９】
図２は、本実施例における印刷システムのブロック図を示す図である。印刷システムは、ＣＰＵ２０１、ＲＡＭ２０２、ＨＤＤ２０３、入力装置２０４、出力装置２０５、印刷装置２０６、ＲＯＭ２０７を有する。ＣＰＵ２０１は、本実施例の処理に関するプログラムおよび関連データをＨＤＤ２０３から読み込む。その後、ＨＤＤ２０３からＲＡＭ２０２にロードされたシステムプログラム（ＯＳ）、アプリケーションプログラムによって、入力装置２０４から入力される情報を処理して、出力装置２０５や印刷装置２０６に出力する。なお、本実施例では、出力装置２０５はディスプレイなどの表示装置とし、印刷装置２０６と区別する。また、入力装置２０４はキーボード、ポインティングデバイス、タッチパネル等で構成されているものとする。さらにＨＤＤ２０３は、データを記憶する装置であればいずれの形態のものでもよい。図２に示す各ブロックは一つの装置として構成されていてもよいし、ネットワークを介して接続されていてもよい。図２の例では、ＣＰＵ２０１、ＲＡＭ２０２、ＨＤＤ２０３、入力装置２０４、出力装置２０５、ＲＯＭ２０７が情報処理装置２１０構成し、情報処理装置２１０から印刷装置２０６に対して印刷データが出力されるものとする。
【００２０】
図３は情報処理装置２１０の詳細を示すブロック図である。情報処理装置はＯＳ３０１を有する。情報処理装置は、ＯＳ３０１上において機能するプリンタドライバ３１０とデータ送受信部３３０とアプリケーション３４０とＭＸＤＷ３５０とを有する。プリンタドライバ３１０は、ユーザインタフェース部３１１、レイアウト処理部３１２、印刷コマンド制御部３１３、印刷データ制御部３２０を有する。印刷データ制御部３２０はグラデーションイメージ判定部３２１、グラデーションイメージ描画命令修正部３２２、印刷データ生成部３２３を有する。ＯＳ３０１が動作する情報処理装置２１０は印刷装置２０６と有線または無線で接続されており、データのやり取りが行なわれる。
【００２１】
アプリケーション３４０は、グラデーションのグラフィックオブジェクトなどを含む文書データなどを作成するアプリケーションソフトウェアである。ここではアプリケーション３４０はＧＤＩ形式の描画命令を出力するものとする。アプリケーション３４０で作成された文書データを印刷するＧＤＩ形式の描画命令はＭＸＤＷ３５０に入力される。ＭＸＤＷ３５０では、ＧＤＩ形式の描画命令をＸＰＳ形式の描画命令に変換する。このとき、前述のように、グラデーションのグラフィックオブジェクトの描画命令が、イメージオブジェクトの描画命令に変換される。そして、変換されたＸＰＳ形式の描画命令がプリンタドライバ３１０に出力される。
【００２２】
プリンタドライバ３１０は印刷装置２０６を制御するプリンタドライバ（ソフトウェア）である。ユーザインタフェース部３１１はユーザが印刷装置に対しての設定など各種印刷設定を入力したり、印刷開始指示をしたりするためのユーザインタフェース部である。レイアウト処理部３１２はアプリケーション３４０からＭＸＤＷ３５０を介して出力される描画命令を受け、Ｎ−ｕｐなどレイアウトに関する変換を行う。印刷データ制御部３２０は、レイアウト処理部から指定された描画命令に基づいて、印刷装置において処理できるデータを作成する。この印刷データ制御部３２０は、後述するようにグラデーションイメージの描画命令の修正処理を行なう。なお、印刷データ制御部３２０のグラデーションイメージの描画命令の修正処理は前述のレイアウト処理部３１２の前段で行ってもよい。
【００２３】
グラデーションイメージ判定部３２１は、イメージ描画命令が入力された場合にそのイメージがグラデーションイメージか否かを判定する。グラデーションイメージ描画命令修正部３２２は、グラデーションイメージ判定部３２１においてグラデーションイメージと判定された描画命令を、グラフィック描画命令として扱うように描画命令を変更する。描画命令を変更するとは、入力されたＸＰＳ形式の描画命令自体を変更する処理でもよいし、描画命令に基づいて中間データを生成する際に、生成する中間データを変更する処理でもよい。あるいは、描画命令に基づいて生成したイメージオブジェクトの中間データを、グラフィックオブジェクトの中間データに変更する処理でもよい。グラデーションイメージ描画命令修正部３２２は、修正事項を反映した中間データを出力する。印刷データ生成部３２３は、グラデーションイメージ描画命令修正部３２２から出力される中間データに基づいてビットマップデータやＰＤＬデータ等の印刷データを作成する。
【００２４】
印刷コマンド制御部３１３は、印刷データ生成部３２３により生成された印刷データを印刷装置に対応した印刷コマンドに変更するなど印刷コマンド全体を制御する。データ送受信部３３０はＯＳ３０１の機能の一部であり、印刷装置２０６とのデータ送受信を行う。データ送受信部３３０は、印刷コマンド制御部３１３で生成された印刷コマンドを印刷装置２０６へ送信する。印刷装置２０６は、接続されたホスト装置（情報処理装置）のデータ送受信部３３０から送信される印刷コマンドに応じた印刷処理を行う。
【００２５】
次に、プリンタドライバ３１０の動作を図を用いて説明する。
【００２６】
図４は図３のグラデーションイメージ判定部３２１のフローチャートであり、プリンタドライバのプログラムの処理である。ユーザがアプリケーション３４０に対して印刷指示を行うと、アプリケーション３４０はＯＳ３０１に対して印刷の対象となるデータの描画命令を発行する。Ｖ４ドライバの環境では、ＯＳ３０１はＧＤＩ形式の描画命令をＭＸＤＷ３５０に送り、ＭＸＤＷ３５０で変換されたＸＰＳ形式の描画命令をプリンタドライバに対して発行し本フローチャートが開始される。尚、イメージ描画命令以外の描画命令（アウトライン描画の命令など）は、本フローチャートおよび後述のグラデーションイメージ描画命令修正部での処理は行わない為、図４の処理はスキップする。なお、図４に示す処理は、１つの描画命令ごとに繰り返し行なう処理である。ここで、１つの描画命令とは、１つのオブジェクトに対応する描画命令である。例えば、前述の図１の例では２つの描画命令が発行されることになる。
【００２７】
ステップＳ４０１においてグラデーションイメージ判定部３２１は、ＯＳ３０１（ＭＸＤＷ３５０）からイメージ描画命令を取得し、グラデーションイメージタイプ判定処理を行なう。すなわち、取得したイメージ描画命令は、ＭＸＤＷ３５０によってイメージ化されたグラデーションイメージの可能性があるかを判定する。イメージ化されたグラデーションイメージとは、アプリケーション３４０がグラデーションのグラフィックオブジェクトとして出力したものの、イメージオブジェクトに変換されたイメージのことである。グラデーションイメージ判定部３２１は、イメージ化されたグラデーションイメージの可能性がある場合には、どのグラデーションタイプであるかも合わせて判定する。ステップＳ４０１では、グラデーションイメージである可能性があるか否かの一次判定処理を行なう。
【００２８】
ステップＳ４０２においてグラデーションイメージ判定部３２１は、ステップＳ４０１でグラデーションイメージの可能性はないと判定された場合、グラデーションイメージ判定処理を終了し、次の描画命令に処理を移す。一方、ステップＳ４０２においてグラデーションイメージ判定部３２１は、ステップＳ４０１でグラデーションイメージの可能性があると判定された場合、ステップＳ４０３に進み、グラデーションイメージ詳細判定処理を行う。ステップＳ４０３のグラデーションイメージ詳細判定処理については、後述の図７にて詳細に説明する。ステップＳ４０３では、グラデーションイメージの可能性があるイメージ描画命令について、グラデーションイメージであるか否かをより詳細に判定する二次判定処理を行なう。
【００２９】
ステップＳ４０４においてグラデーションイメージ判定部３２１は、ステップＳ４０３でグラデーションイメージでないと判定された場合、グラデーションイメージ判定処理を終了し、次の描画命令に処理を移す。一方、ステップＳ４０４においてグラデーションイメージ判定部３２１は、ステップＳ４０３でグラデーションイメージであると判定された場合、ステップＳ４０５に処理を進める。ステップＳ４０５においてグラデーションイメージ判定部３２１は、ステップＳ４０１で取得したイメージ描画命令はグラデーションイメージであると設定する。このようにグラデーションイメージであると設定されたイメージ描画命令は、グラデーションイメージ描画命令修正部３２２において、以降の処理にてグラフィック用の描画処理が行なわれるように描画命令の修正が行われることになる。
【００３０】
図４に示すように、本実施例では、単にイメージ描画命令を詳細に参照してグラデーションイメージであるかを判定するのではない。本実施例ではまず、簡易的に一次判定処理を行ない、その結果、グラデーションイメージである可能性があるイメージ描画命令に対して詳細な二次判定処理を行なう。従って、グラデーションイメージか否かの判定処理の高速化が可能となる。もちろん、このような二段階の判定処理を行なうのではなく、処理に時間を要するものの、詳細な一次判定処理を最初から行なうことも可能である。
【００３１】
図５はＭＸＤＷによって作成されるグラデーションイメージのグラデーションタイプ一覧の例である。ＭＸＤＷによってイメージ化されたグラデーションのイメージ描画命令は図５のような特徴を有する。イメージ描画命令のプリンタドライバへ送られるイメージの特徴を考慮するとグラデーションタイプは大きく分けて７つに分けることができる。図５に示すように、ＭＸＤＷによって作成されるグラデーションイメージのグラデーションタイプは複数あり得るので、本実施例ではこれらの複数の判定基準を用いた処理を行なう。図５において、「ＩＤ」は各グラデーションタイプを識別する番号である。図５の「描画結果」は、アプリケーションが出力するグラフィックオブジェクトの例を表す図である。図５の「タイプ」は、グラデーションの種類（線形、放射状、四角）と、グラデーションの開始位置を組み合わせたものである。例えば、ＩＤ＝４の場合、グラデーションの開始位置は右下の端点からとなり、ＩＤ＝５の場合、グラデーションの開始位置は中心からとなる。図５の「プリンタドライバへ送られるイメージの特徴」は、イメージ化されたグラデーションイメージの特徴の例を示している。
【００３２】
以下、簡単にそれぞれグラデーションの説明と、ドライバに送られる時点でのイメージの特徴を述べる。
【００３３】
ＩＤ＝１〜３については、線形グラデーションタイプの例を示している。
【００３４】
ＩＤ＝１は線形（縦）のグラデーションタイプであり、横方向の色が同色であり、縦方向に色が線形変位している。ドライバに送られる時点では横１ピクセルのイメージとなっている。なお、図５には示していないが、ＩＤ＝１に示すようなグラデーションタイプのイメージ描画命令は、横に引き伸ばす幅のサイズの情報を含む描画命令となっている。
【００３５】
ＩＤ＝２は線形（横）のグラデーションタイプであり、縦方向の色が同色であり、横方向に色が線形変位している。ドライバに送られる時点では縦１ピクセルのイメージとなっている。なお、図５には示していないが、ＩＤ＝２に示すようなグラデーションタイプのイメージ描画命令は、縦に引き伸ばす幅のサイズの情報を含む描画命令となっている。
【００３６】
ＩＤ＝３は線形（ななめ）のグラデーションタイプであり、ななめ方向の色が同色であり、その同色の線の法線方向に色が線形変位している。線形縦方向や線形横方向のグラデーションでは、オブジェクトの特徴的な一部のイメージがドライバに送られるが、線形ななめ方向のグラデーションの場合、オブジェクトの全体イメージがそのままドライバに送られる。このとき、イメージ描画命令に含まれるイメージは、全体イメージが１つのイメージとして送られるのではなく、高さがある一定のピクセル毎（例えば１１８４ピクセル毎）で分割した複数のイメージが送られることになる。もちろん、高さが１１８４ピクセルより大きいサイズのイメージはグラデーションイメージでなくてもＩＤ＝３に該当することになる。つまり、この条件だけではグラデーションイメージか否かの最終的な決定はすることはできない。しかしながら、後述する一次判定の時点では、このような高さが１１８４ピクセルで分割されたイメージが含まれている場合には、線形ななめ方向のグラデーションである可能性があると扱う。詳細は後述する。
【００３７】
ＩＤ＝４は放射（端点）のグラデーションタイプであり、同心円状の色が同色であり、中心はグラフィックの形状の辺または頂点上のどこかにある。ドライバへ送られる時点では縦横の拡縮率が等しいイメージとなっている。つまり、図５には示していないが、イメージ描画命令には、図５に示すイメージの縦方向の拡縮率と、横方向の拡縮率とを示す情報が含まれている。従って、それらの拡縮率を参照して縦横の拡縮率が等しいイメージか否かを判定できる。
【００３８】
ＩＤ＝５は放射（中心）のグラデーションタイプであり、同心円状の色が同色であり、中心はグラフィックの形状の中心にある。ドライバに送られる時点ではＩＤ＝４と同様に縦横の拡縮率が等しいイメージとなっている。
【００３９】
ＩＤ＝６は四角（端点）のグラデーションタイプであり、同四角形状の色が同色であり、中心はグラフィックの形状の辺または頂点上のどこかにある。ドライバに送られる時点では正方形のイメージとなっている。図５には示していないが、イメージ描画命令には、図５に示すイメージの縦方向の拡縮率と、横方向の拡縮率とを示す情報が含まれている。なお、ＩＤ＝４やＩＤ＝５とは異なり、四角のグラデーションタイプの場合には、イメージ描画命令に含まれる縦横の拡縮率は必ずしも等しいわけではない。
【００４０】
ＩＤ＝７は四角（中心）グラデーションタイプであり、同四角形状の色が同色であり、中心はグラフィックの形状の中心にある。ドライバに送られる時点ではＩＤ＝６と同様に正方形のイメージとなっている。
【００４１】
以上がグラデーションタイプそれぞれの特徴とＶ４ドライバに送られる時点でのグラデーションイメージの特徴である。本実施例では、上記のような複数の判定基準に基づいて、グラデーションイメージであるか否かを判定する。
【００４２】
図６はグラデーションイメージタイプ判定フローチャートであり、図４のＳ４０１の処理の詳細を示す図である。尚、本フローチャートは、前述した図５のグラデーションタイプを判定するものである。
【００４３】
ステップＳ６０１においてグラデーションイメージ判定部３２１は取得したイメージのサイズが縦または横が１かどうかを判定する。そのようなイメージであった場合、このイメージはグラデーションイメージである可能性があり、ステップＳ６０２に進み、そのグラデーションタイプは図５記載のＬ１であると判定し、本フローチャートを終了する。
【００４４】
ステップＳ６０１においてグラデーションイメージ判定部３２１がイメージのサイズが縦または横が１のイメージでないと判定した場合、ステップＳ６０３に進む。ステップＳ６０３においてグラデーションイメージ判定部３２１は、取得したイメージの高さが１１８４ピクセル以下であるかどうかを判定する。図５で説明したように、高さが１１８４ピクセルで分割されているイメージはグラデーションイメージである可能性があるが、１１８４ピクセル以下のイメージについてもグラデーションイメージである可能性がある。そこで、ステップＳ６０４に進み、そのグラデーションタイプは図５記載のＬ２を含むと判定する。なお、図６のフローチャートで「含む」と記載しているのは、その後の処理で別のタイプと判定される可能性があるので、そのようなタイプである可能性を有している、という意味で用いている。従って、Ｓ６０４でタイプはＬ２を含むと判定しても、その後の判定で別のタイプと判定される可能性もあるので、処理をＳ６０５に進める。
【００４５】
ステップＳ６０３においてグラデーションイメージ判定部３２１がイメージの高さが１１８４ピクセル以下でないと判定した場合、または、Ｓ６０４の処理の後に、ステップＳ６０５に進む。ステップＳ６０５においてグラデーションイメージ判定部３２１は、取得したイメージが高さ１１８４ｐｘに分割されているかを判定する。そのようなイメージであった場合、このイメージはグラデーションイメージである可能性があり、ステップＳ６０６に進み、そのグラデーションタイプは図５記載のＬ２であると判定し、本フローチャートを終了する。
【００４６】
ステップＳ６０５においてグラデーションイメージ判定部はＳ６０３で高さ１１８４ｐｘに分割されているようなイメージでないと判定した場合、ステップＳ６０７において、取得したイメージの縦横の拡縮率が等しいかを判定する。そのようなイメージであった場合、このイメージはグラデーションイメージである可能性があり、ステップＳ６０８に進み、そのグラデーションタイプは図５記載のＲを含むと判定し、ステップＳ６０９に進む。
【００４７】
ステップＳ６０９においてグラデーションイメージ判定部は、取得したイメージが正方形かを判定する。そのようなイメージであった場合、このイメージはグラデーションイメージである可能性があり、ステップＳ６１０に進み、そのグラデーションタイプは図５記載のＳを含むと判定する。そして、処理を終了する。
【００４８】
このように、図６に示すようにイメージのサイズや拡縮率からグラデーションタイプを特定することで、グラデーションイメージか否かの判定処理の高速化が可能となる。
【００４９】
図７はグラデーションイメージ詳細判定処理であり、図４のＳ４０３の詳細な処理を示す図である。図７の処理は、図４のＳ４０１でグラデーションイメージの可能性があると判定されたイメージ描画命令に対して行う処理である。
【００５０】
ステップ７０１においてグラデーションイメージ判定部３２１は、取得したイメージのグラデーションタイプがＬ１かどうかを判定する。Ｌ１である場合には前述の図６のフローチャートから、渡ってきたイメージは１ｘＮ（ｐｘ）またはＮｘ１（ｐｘ）である。そこで、ステップＳ７０２においてグラデーションイメージ判定部３２１は、より詳細な判定処理としてイメージの中身を解析して判定する処理を行なう。具体的には、取得した縦または横のＮピクセルのイメージの色が線形変位しているかを判定する。ステップＳ７０２において線形変位していると判定した場合、ステップＳ７０３に進み、グラデーションイメージ判定部３２１は、取得したイメージはグラデーションイメージと判定する。線形変位していないと判定した場合、ステップＳ７０４に進み、取得したイメージはグラデーションイメージではないと判定し、フローチャートを終了する。
【００５１】
グラデーションイメージ判定部はステップＳ７０１にてグラデーションタイプがＬ１でないと判定した場合、ステップＳ７０５において、取得したイメージのグラデーションタイプがＬ２を含むかどうかを判定する。Ｌ２を含む場合には、ステップＳ７０６に進み、より詳細な判定処理としてイメージの中身を解析して判定する処理を行なう。具体的には、イメージの色がななめ方向に線形変位しているかを判定する。グラデーションイメージ判定部はＳ７０６にて線形変位していると判定した場合、ステップＳ７０３に進み、取得したイメージはグラデーションイメージと判定し、線形変位していないと判定した場合、ステップＳ７０７に進む。Ｌ２でない場合であっても、他のタイプである可能性があるので、グラデーションイメージでないと直ちに判定するのではなく、後段の処理に進む。
【００５２】
グラデーションイメージ判定部はステップＳ７０５にてグラデーションタイプがＬ２を含まないと判定した場合、およびＳ７０６で線形変位していないと判定した場合、ステップＳ７０７に進む。ステップＳ７０７においてグラデーションイメージ判定部は、グラデーションタイプがＲを含むかどうかを判定する。Ｒを含む場合にはステップＳ７０８に進み、イメージの中身を解析して判定する処理を行なう。具体的には、イメージの色が放射状に線形変位しているかを判定する。
【００５３】
グラデーションイメージ判定部はステップＳ７０８にて放射状に線形変位していると判定した場合、ステップＳ７０３に進み、取得したイメージはグラデーションイメージと判定し、フローチャートを終了する。放射状に線形変位していないと判定した場合、ステップＳ７０９に処理を進める。
【００５４】
グラデーションイメージ判定部はステップＳ７０７にてグラデーションタイプにＲが含まれないと判定した場合及びＳ７０８にて放射状に色が線形変位していないと判定された場合、ステップＳ７０９に進む。ステップＳ７０９においてグラデーションタイプ判定部は、グラデーションタイプにＳが含まれるかどうかを判定する。Ｓを含む場合にはステップＳ７１０に進み、イメージの中身を解析して判定する処理を行なう。具体的には、イメージの色が四角状に線形変位しているかを判定する。
【００５５】
グラデーションイメージ判定部はステップＳ７１０にて四角状に線形変位していると判定した場合、ステップＳ７０３に進み、取得したイメージはグラデーションイメージと判定し、フローチャートを終了する。四角状に線形変位していないと判定された場合、ステップＳ７０４に進み、取得したイメージはグラデーションイメージではないと判定し、フローチャートを終了する。また、ステップＳ７０９でグラデーションタイプにＳを含まないと判定した場合、ステップＳ７１１に進み、取得したイメージはグラデーションイメージではないと判定する。Ｓ７１１に進むケースは、グラデーションタイプがＬ２を含むと判定した場合であって、イメージの中身を解析した結果、グラデーションではないと判定した場合である。
【００５６】
以上により、グラデーションイメージ判定部３２１のグラデーションイメージ判定処理が完了する。ここでグラデーションイメージと判定されたイメージ描画命令は、グラデーションイメージ描画命令修正部３２２によって、以降の処理ではグラフィックとして処理されるように修正される。
【００５７】
図８は、グラデーションイメージ描画命令修正部３２２によって修正された描画命令の一例を示す。なお、図８はアプリケーション３４０からＭＸＤＷ３５０を介して送られたＸＰＳ形式の描画命令ではなく、描画命令を解釈してプリンタドライバ３１０が生成する中間データの例を示した図である。ここでは、グラデーションイメージ描画命令修正部３２２は、ＸＰＳ形式の描画命令を解釈し中間データを生成する処理を行なう。その際に、グラデーションイメージ判定処理の結果に基づいて、生成する中間データを変更する例を説明する。
【００５８】
図８（ａ）はドライバに送られたＸＰＳ形式のイメージ描画命令をドライバが解釈して生成した中間データを簡易的に表現した図である。項目８０１は属性を表している。ドライバへはイメージの描画命令として送られているので、生成する中間データの属性は”イメージ属性”となる。項目８０２はイメージに関する情報を表し、横幅などの情報が格納されている。項目８０３はイメージの実体を表し、各ピクセルの色情報が格納されている。図８（ｂ）はグラデーションイメージ描画命令修正部３２２によるグラデーションイメージ描画命令修正後の例を示す。項目８１１に示すように、ドライバに送られた描画命令はイメージ描画命令であるが、グラデーションイメージと判定されているので、生成する中間データの属性を”グラフィック属性”と変更する。以降の処理では、このオブジェクトはグラフィック属性として画像処理がなされることになるので、同じデータをＶ３ドライバでＧＤＩ形式のグラフィック描画命令に基づいて印刷した場合と同等の印刷結果が得られることになる。
【００５９】
なお、上記の例では、イメージ描画命令に基づいて生成する中間データの属性を変更する例を説明した。つまり、グラデーションイメージ描画命令修正部３２２が、グラデーションイメージ判定部の判定結果に基づいて、イメージ描画命令から中間データを生成する例を説明した。しかしながら、グラデーションイメージ描画命令修正部は、ドライバがイメージ描画命令に基づいてイメージオブジェクトの中間データを生成した後に、そのイメージオブジェクトの中間データの属性を変更する処理を行なってもよい。
【００６０】
以上のように、本実施例ではドライバに送られるイメージ描画命令の中から、グラフィック属性として扱うべきグラデーションイメージ描画命令を判定する。そして、グラデーションイメージ描画命令に対しては、以降の画像処理がグラフィックオブジェクトと同等の画像処理となるように修正を行うことでＶ３ドライバとのグラデーションオブジェクトに関する描画品質の差をなくすことができる。
【００６１】
［実施例２］
実施例１では、グラデーションイメージ描画命令修正部３２２にて、描画命令の属性の変更のみを行う例を説明した。すなわち、ＸＰＳ形式のイメージ描画命令を解釈して中間データを生成する際に、属性の項目を変更した中間データを生成する例を説明した。本実施例ではグラデーションイメージと判定されたイメージ描画命令をグラフィック描画命令に変換する。すなわち、生成する中間データをグラフィック描画命令に基づいて生成される中間データに変更する。これは、一般にグラフィック描画命令よりもイメージ描画命令のほうがサイズが大きくなる為、ファイルサイズを小さくすることで通信時間を削減することができるという効果もある。図９にその修正の一例を示す。
【００６２】
図９（ａ）は図８（ａ）と同様の為、説明を省く。図９（ｂ）はグラデーションイメージ描画命令修正後の中間データの例を示す。項目９１１は図８の項目８１１と同様に”グラフィック属性”とする。これにより、以降の画像処理はグラフィックオブジェクトと同等の画像処理とすることができる。本実施例のグラデーションイメージ描画命令修正部３２２ではさらに、項目９１２、９１３に例示するように、イメージ描画命令に基づく中間データではなく、グラデーション描画命令に基づいて生成される中間データを出力してもよい。
【００６３】
なお、図８や図９の例では、描画命令の修正処理の例として、中間データを生成する際に、生成する中間データの属性の項目を変更したり、属性以外の項目を変更したりする例を説明したが、これに限ることはない。グラデーションイメージ描画命令修正部３２２は、取得したＸＰＳ形式のイメージ描画命令自体をグラデーションイメージ描画命令に変更してもよい。ＸＰＳ形式のイメージ描画命令自体を変更する場合であっても、図９（ｂ）に示すものと同様の中間データが出力されることになる。
【００６４】
［実施例３］
実施例１および２においては、プリンタドライバを例に挙げて説明したが、グラデーションイメージの描画命令の修正処理は、プリンタドライバではなく、プリンタ内で行っても同様に成立する。
【００６５】
図１０は、本実施例における印刷システムのブロックの例を示す図である。図３と比べて、プリンタドライバ１３２０からはグラデーションイメージ判定部、グラデーションイメージ描画命令修正部が取り除かれている。また、印刷装置１３５０は、グラデーションイメージ判定部１３５１、グラデーションイメージ描画命令修正部１３５２、レンダリング部１３５３、データ送受信部１３５４、印刷部１３５５を有する。
【００６６】
プリンタドライバ１３２０の印刷データ生成部１３２３は、印刷装置１３５０に対応するＰＤＬデータを生成し、印刷装置１３５０に送信する。このとき、ＰＤＬデータには、イメージ化されたグラデーションイメージのイメージ描画命令がそのまま含まれた状態で印刷装置１３５０に送られる。グラデーションイメージ判定部１３５１およびグラデーションイメージ描画命令修正部１３５２は、実施例１および２で説明した処理と同様の処理を行い、この結果、該当するオブジェクトの属性がグラフィック属性に変更される。レンダリング部１３５３は、ビットマップデータを生成し、属性に応じた画像処理を適用する。印刷部１３５５はビットマップデータに基づいて印刷処理を行なう。
【００６７】
以上説明したように、本明細書においては、描画命令の変更、修正とは、描画命令自体の変更や修正の場合や描画命令に基づいて生成される中間データの変更や修正も含むものである。つまり、オブジェクトの属性に基づいて画像処理を行なう前の段階（すなわち、描画命令や中間データの段階）で、少なくともグラデーションイメージのオブジェクトの属性がイメージ属性からグラフィック属性に変更される処理であればよい。
【００６８】
＜その他の実施例＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006482432.tif 000002
【図２】
0006482432.tif 000003
【図３】
0006482432.tif 000004
【図４】
0006482432.tif 000005
【図５】
0006482432.tif 000006
【図６】
0006482432.tif 000007
【図７】
0006482432.tif 000008
【図８】
0006482432.tif 000009
【図９】
0006482432.tif 000010
【図１０】
0006482432.tif 000011