(57)【要約】      （修正有）【課題】グラデーションの特徴に応じて、出力に適した描画方法を割当てることができる画像処理装置、画像処理方法及びプログラムを提供する。【解決手段】プリンタドライバを備えた画像処理装置であって、画像処理方法は、印刷要求を受け付け、印刷要求に含まれるグラデーションの色変化の向きを検出し、検出した色変化の向きに基づいて、グラデーションの描画方法を決定し、決定した描画方法に応じて印刷装置に印刷を指示する。【選択図】図７
2020177298.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバを備えた画像処理装置であって、
印刷要求を受け付ける入力手段と、
前記印刷要求に含まれるグラデーションの色変化の向きを検出する検出手段と、
前記検出手段が検出した色変化の向きに基づいて、前記グラデーションの描画方法を決定する決定手段と、
前記決定手段が決定した描画方法に応じて印刷装置に印刷を指示する指示手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記描画方法は、ラスタ表現で描画する画像描画またはベクタ表現で描画する図形描画であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
印刷を指示する場合の印刷設定を取得する取得手段をさらに有し、
前記決定手段は、前記検出手段が検出した前記グラデーションの色変化の向きと、前記取得手段が取得した印刷設定とに基づいて、前記グラデーションの描画方法を決定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記印刷設定は、前記印刷装置の走査方向と、前記グラデーションが出力媒体に出力されるべき向きとを特定可能な情報を含むことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記決定手段は、前記グラデーションが放射グラデーションである場合に、前記グラデーションの描画方法が画像描画であると決定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記決定手段は、前記グラデーションが線形グラデーションであり、前記検出手段が検出した色変化の向きと、前記印刷装置の副走査方向とが同じである場合に、前記グラデーションの描画方法が図形描画であると決定することを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記指示手段は、Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅで前記印刷装置に印刷を指示することを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記印刷要求は、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ形式またはＧｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ形式であることを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
プリンタドライバを備えた画像処理装置が実行する画像処理方法であって、
入力手段が印刷要求を受け付ける入力工程と、
検出手段が前記印刷要求に含まれるグラデーションの色変化の向きを検出する検出工程と、
前記検出工程において検出された色変化の向きに基づいて、決定手段が前記グラデーションの描画方法を決定する決定工程と、
前記決定工程において決定した描画方法に応じて、指示手段が印刷装置に印刷を指示する指示工程と、
を含むことを特徴とする画像処理方法。
【請求項１０】
請求項１乃至８の何れか一項に記載の画像処理装置としてコンピュータを動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
プリンタドライバが受け付ける入力コマンドの１つに、グラデーション描画と呼ばれる描画オブジェクトを含む印刷要求がある。具体的な描画例を図１に示す。図１（Ａ）は、入力コマンドに含まれる、線形グラデーションと呼ばれる同じ色が直線状に並んだグラデーション描画を表している。グラデーション描画は、多くの場合でプリンタドライバによって図形描画または画像描画のＰＤＬで表現され、出力コマンドとして出力される。
【０００３】
図形描画とは、円や直線などのような解析幾何学的な「図形」の集まりとして表現する描画のことであり、ベクタ表現の描画（ベクタ描画）とも呼ばれる。一方、画像描画とは、ビットマップ形式のことであり、ラスタ表現の描画（ラスタ描画）とも呼ばれる。
【０００４】
図１（Ｂ）は図１（Ａ）のグラデーション描画を図形描画で表現して出力する場合の一例である。図１（Ｂ）では、入力データを同じ色の単位で分割し、それぞれ図形描画で表現している。また、図１（Ｃ）は図１（Ａ）の入力データを画像描画で表現して出力する場合の例である。図１（Ｃ）では、元データをこちらは単にビットマップ化している。
【０００５】
図形描画は、単純な図形やイラストの場合、画像描画に比べてデータ量が少なく、処理速度も速いというメリットがある。一方で、複雑な画像の場合、図形描画では描画の数が膨大になり、印刷機器における印刷時間が長くなるというデメリットがある。従って、複雑な画像は画像描画を行うことが望ましい場合がある。
【０００６】
特許文献１では、グラデーション描画に対し、画像描画か図形描画どちらかを決定する方法が開示されている。色変化のバンド、つまり同じ色の幅が大きい場合には図形描画を選択するという方法である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−５６９３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１では、グラデーション描画の場合、グラデーションの向きなどのグラデーションの特徴によって描画処理の複雑度が変わる場合があるという点について考慮されていなかった。
【０００９】
例えば、主走査方向に色が変化する線形グラデーションの描画を行う場合であって、主走査方向に１ラインずつ描画を行う場合には、１ラインにおける色の変化は多くなる。
【００１０】
一方、副走査方向に色が変化していく線形グラデーションの描画を行う場合であって、主走査方向に１ラインずつ描画を行う場合には、１ラインにおける色の変化はないまたは少なくなる。このように、グラデーションの向きによって、１ラインにおける色の変化（複雑度）が異なる。１ラインにおける色の変化が多いのか少ないのかによって、画像描画及び図形描画のうちより適した描画方法を用いることが望ましい。
【００１１】
しかしながら、特許文献１は、グラデーションの向きや印刷装置の処理内容に応じて、出力に適した描画方法を割当てることについて考慮されていなかった。
【００１２】
本発明は、上述の問題に鑑みてなされたものであり、グラデーションの特徴に応じて出力に適した描画方法を割当てることを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。すなわち、本発明は、例えばプリンタドライバを備えた画像処理装置であって、印刷要求を受け付ける入力手段と、前記印刷要求に含まれるグラデーションの色変化の向きを検出する検出手段と、前記検出手段が検出した色変化の向きに基づいて、前記グラデーションの描画方法を決定する決定手段と、前記決定手段が決定した描画方法に応じて印刷装置に印刷を指示する指示手段と、を有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、グラデーションの特徴に応じて、出力に適した描画方法を割当てることができる。
【図面の簡単な説明】
【００１５】
【図１】グラデーション描画の例と、図形描画または画像描画の例を示す図。
【図２】ドライバに入力されるグラデーション描画のコマンド例を示す図。
【図３】一実施形態に係る画像処理方法が実行される画像処理システムの一例を示すブロック図。
【図４】一実施形態に係る画像処理システムの全体構成を示すシステム構成図。
【図５】一実施形態に係る印刷処理システムを示すフローチャート。
【図６】一実施形態に係るＰＤＬ変換処理の一例を示すフローチャート。
【図７】一実施形態に係るグラデーション変換処理の一例を示すフローチャート。
【図８】グラデーションの種類の一例を示す図。
【図９】グラデーション描画の一例を示す図。
【図１０】線形グラデーションの一例を示す図。
【発明を実施するための形態】
【００１６】
＜第１の実施形態＞
以下、図面を参照して本発明の実施の形態を詳しく説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１７】
図３は、本実施形態に係る画像処理方法が実行される、画像システムの一例を示す図である。画像処理システムは、プリンタドライバに、グラデーションの描画コマンドを含む印刷要求が入力された場合に、グラデーション描画に適したＰＤＬを判定する実施例である。画像処理システムは、通信可能に接続されたクライアントコンピュータ８および印刷装置６を含む。
【００１８】
クライアントコンピュータ８は、中央処理装置１、主記憶装置２、補助記憶装置３、入力装置４、出力装置５、およびＲＯＭ７を含み、中央処理装置１とその他の装置とは通信可能に接続される。
【００１９】
中央処理装置１は、補助記憶装置３からシステムプログラムやアプリケーションプログラムを主記憶装置２にロードして実行することによって、画像処理システム全体の動作を制御する。中央処理装置１は、入力装置４から入力される情報を処理して、処理結果を出力装置５や印刷装置６に出力する。
【００２０】
主記憶装置２は、中央処理装置１が動作するためのシステムワークメモリであり、画像処理システムによって処理される画像データを一時記憶するための画像メモリでもある。補助記憶装置３は、ＨＤＤ、ＳＳＤ、ＦＤ、ＣＤ−ＲＯＭ、ＩＣメモリカード等の記憶媒体であり、上述したシステムプログラムやアプリケーションプログラムを格納する。補助記憶装置３は、ハードディスク、光磁気ディスクで構成されるものであってもいいし、これらの組み合わせで構成されるものであってもよい。
【００２１】
入力装置４はキーボード、ポインティングデバイスなどを含む入力インタフェース（Ｉ／Ｆ）である。出力装置５はディスプレイなどの表示装置を含む出力Ｉ／Ｆである。
【００２２】
印刷装置６は、中央処理装置１の指示に従い、紙、金属、およびプラスチックの少なくとも何れかを含む出力媒体に画像データを出力するプリンタなどの装置である。印刷装置６は、接続されたホスト装置、ここではクライアントコンピュータ８から送信されてくる印刷データに応じた印刷処理を行う。
【００２３】
ＲＯＭ７は、画像処理システムが起動時に実行するプログラムを格納する。
【００２４】
なお、本実施形態では、出力装置５はディスプレイなどの表示装置とし、本来出力装置に含まれる印刷装置６と区別する。
【００２５】
また、本実施形態では、画像処理システムは、１台の装置に含まれるものとして説明を行うが、画像処理システムのうちのそれぞれの装置がネットワークを介して接続されていてもよい。
【００２６】
図４は、本実施形態に係る画像処理システムでの中央処理装置（プロセッサ）１の機能ブロック図である。クライアントコンピュータ８の中央処理装置（プロセッサ）１が各プログラムを実行することにより、各処理部１２〜１８として機能する。中央処理装置１は、ＯＳ１０のプログラムを実行することにより、後述する画像処理システムにおけるクライアントコンピュータ８の全体を制御する。また、クライアントコンピュータ８は、後述する印刷装置６とネットワークを介して接続されている。
【００２７】
プリンタドライバ１１は、ＯＳ１０上で実行され、かつ、印刷装置６を制御するためのプログラムであり、中央処理装置１を各処理部１２〜１７として機能させるためのモジュールを含んでいる。
【００２８】
例えば、Ｗｉｎｄｏｗｓ用プリンタドライバには、ＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）プリンタドライバとＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）プリンタドライバ（以降Ｖ４プリンタドライバ）とがある。ＧＤＩプリンタドライバは、ＧＤＩ形式を解釈してＰＤＬ（Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を生成するドライバであり、Ｖ４プリンタドライバはＸＰＳ形式を解釈してＰＤＬを生成するプリンタドライバである。
【００２９】
従来型のアプリケーションは、印刷処理を行う際、ＧＤＩ形式の入力コマンドをＧＤＩプリンタドライバに対して出力する。本実施形態では、このようなＧＤＩ入力コマンドを出力可能なアプリケーションをＧＤＩアプリケーションと呼ぶ。一方、Ｖ４プリンタドライバに対応している新たなアプリケーションは、印刷処理を行う際に、Ｖ４プリンタドライバに対してＸＰＳ形式の入力コマンドを直接出力する。本実施形態では、このようなＸＰＳ形式の入力コマンドを出力可能なアプリケーションをＸＰＳアプリケーションと呼ぶ。
【００３０】
ユーザインタフェース部１２は本発明におけるユーザーが印刷装置６に対しての設定など各種印刷設定を入力したり、印刷を指示したりする。
【００３１】
レイアウト処理部１３は、文書作成等を行うアプリケーションから印刷時に指定される入力コマンドを受け、Ｎ−ｕｐなどレイアウトに関する変換を行う。
【００３２】
出力コマンド制御部１４は、レイアウト処理部１３から指定される入力コマンドを受け、印刷装置６において処理できる描画データを作成する。また、出力コマンド制御部１４は、描画変換部１５および出力コマンド生成部１６を含む、本実施形態に係る印刷システムにおけるホスト装置側の重要な処理を含む。描画変換部１５は、グラデーション描画が入力された場合に、適切なＰＤＬコマンドに変換する。
【００３３】
出力コマンド生成部１６は、描画変換部１５から受け付けたＰＤＬコマンドに基づき、出力コマンドを作成する。
【００３４】
印刷データ制御部１７は、出力コマンド生成部１６により作成された出力コマンドに対し、印刷装置６に対応した印刷データに変更するものであり、さらには印刷データ全体を生成する。具体的にはＰＪＬなどの印刷ジョブ自体の設定などを制御するものである。
【００３５】
印刷データ送受信部１８はＯＳの機能であり、印刷装置６とのデータ送受信を行う。印刷データ制御部１７で生成された印刷データを印刷装置６へ送信する。
【００３６】
以上のように構成された本実施形態にかかるプリンタドライバの動作を、図５を用いて説明する。なお、本フローに係るプリンタドライバ１１のプログラムは、補助記憶装置３に記憶されており、主記憶装置２に読み出され中央処理装置１によって実行される。
【００３７】
図５は、本実施形態に係るプリンタドライバ１１の処理の一例を示すフローチャートである。ユーザーがアプリケーションを起動し印刷を指示すると、アプリケーションから渡される入力コマンドが、プリンタドライバ１１へ送信される。そこで図５のフローチャートが開始される。
【００３８】
まず、Ｓ５０１において、プリンタドライバ１１は入力された入力コマンド（印刷要求）を解析する。
【００３９】
続いて、中央処理装置１は処理をＳ５０２に進め、プリンタドライバ１１は図６を用いて後述する最適化処理を行う。ここでは、後述するように、くり抜き描画に変換すべき入力コマンドを判定して、その入力コマンドをくり抜き描画に変換する。
【００４０】
Ｓ５０３においてプリンタドライバ１１は、Ｓ５０２の処理結果として得られる中間データ（後述）を、印刷装置６が受け取ることができる出力コマンドに変換する。ここでは、例えば、中間データにＡｌｐｈａチャンネルを含む入力コマンドが存在すれば、そのＡｌｐｈａチャンネルを削除したり、別の描画に置き換えるなどして、印刷装置６で処理可能な出力コマンドに変換する処理が行われる。
【００４１】
なお、出力コマンドとは具体的にはＰＳ（Ａｄｏｂｅ社製）やＰＣＬ（ＨＰ社製）などのＰＤＬ出力コマンドを指す。本明細書において、特に断りが無い限り、出力ＰＤＬはＰＣＬとする。また、中間データとは、入力コマンドを出力コマンドに変換する際にプリンタドライバ１１内で保持する描画内容の形式であり、独自のものであってもよいし、入力コマンドそのままでもよい。
【００４２】
Ｓ５０４においてプリンタドライバ１１は、印刷データ送受信部１８を介して、印刷装置６へ出力コマンドに基づく印刷コマンド（印刷指示）を送信する。印刷装置６は受け取った印刷コマンドをレンダリング及びハーフトーン化したのち出力媒体に出力し、印刷処理が完了する。
【００４３】
図６は、ＰＤＬ変換処理Ｓ５０２の詳細を示すフローチャートであり、図４の描画変換部１５にて行われる処理である。
【００４４】
描画変換部１５は、Ｓ６０１で、入力された入力コマンドに含まれる描画コマンドの１つを選択する。続いて、Ｓ６０２において描画変換部１５は、入力された描画コマンドが「グラデーション描画」であるか否かを判定する。グラデーション描画であると判定された場合（Ｓ６０２でＹｅｓ）はＳ６０３へ、グラデーション描画でないと判定された場合（Ｓ６０２でＮｏ）はＳ６０４へ処理を進める。
【００４５】
Ｓ６０３において描画変換部１５は、図７を用いて後述するグラデーション変換処理を行い、処理をＳ６０５に進める。Ｓ６０４において、描画変換部１５は、対応するＰＤＬへの変換を行う変換処理を行い、処理をＳ６０５に進める。Ｓ６０５において、入力コマンドに含まれる全ての描画コマンドに対してＳ６０２およびＳ６０３またはＳ６０４の処理を行ったかを判定する。入力コマンドに含まれるすべての描画コマンドに対してＳ６０２の処理を行ったと判定した場合（Ｓ６０５でＹｅｓ）、図６の処理を終了する。そうでなければ、Ｓ６０１に処理を戻し、次の描画コマンドを選択する。
【００４６】
図７はグラデーション変換処理のフローチャートであり、図６のＳ６０３の詳細な一例を示したものである。図４の描画変換部１５にて行われる処理である。
【００４７】
Ｓ７０１において描画変換部１５は、グラデーションの種類が放射（Ｒａｄｉａｌ）か線形（Ｌｉｎｅａｒ）かを判定する。
【００４８】
ここで、グラデーションの種類に関して、図８及び図９を用いて説明する。
【００４９】
図８はグラデーションの種類に関する具体例を示したものである。図８（Ａ）は線形グラデーションであり、図８（Ｂ）は放射グラデーションである。図８（Ｃ）および図８（Ｄ）は、図８（Ａ）および図８（Ｂ）のそれぞれのグラデーションに、同じ色となる部分を、破線を用いて図示したものである。線形グラデーションは、図８（Ｃ）の破線が示すように、同じ色が同一直線上に配置される。放射グラデーションは、図８（Ｄ）の破線が示すように、同じ色が同一円周上に配置される。
【００５０】
図９は、グラデーションの種類別の入力コマンドの具体例を、ＸＰＳを用いて示した図である。図９（Ａ）が線形グラデーション、図９（Ｂ）が放射グラデーションを表現するＸＰＳ形式の入力コマンドである。図９（Ａ）が図８（Ａ）、図９（Ｂ）が図８（Ｂ）のようなグラデーションを表現している。
【００５１】
図７の説明に戻る。Ｓ７０１において、描画変換部１５がグラデーションの種類は放射であると判定した場合（Ｓ７０１で放射）はＳ７０３に処理を進め、線形と判定した場合（Ｓ７０１で線形）はＳ７０２に処理を進める。
【００５２】
なお、本実施形態では、グラデーションの種類が放射であるか線形であるかを判定したが、別のグラデーションの種類が適用されてもよい。例えば、グラデーションの種類は四角形状であってもよく、そのような場合、Ｓ７０１では、グラデーションの種類は線形であるか、それ以外であるかを判定してもよい。
【００５３】
Ｓ７０２において、描画変換部１５は、印刷設定を取得し、印刷装置６の走査方向及び２ｉｎ１等の面付けに関する情報を特定する。Ｓ７０３において、描画変換部１５は、線形の色変化の向きを検出する。
【００５４】
ここで、色変化の向きに関して、図１０を用いて説明する。図１０は色変化の向きに関する具体例を示したものである。図１０（Ａ）〜図１０（Ｃ）は線形グラデーションであり、それぞれ図１０（Ｄ）〜（Ｆ）の破線で示した箇所が同色となっている。図１０（Ａ）は、水平方向に同色であり、副走査方向に対して垂直方向に色が変化している為、ここでは垂直方向の線形グラデーションと呼ぶ。図１０（Ｂ）は、垂直方向に同色であり、副走査方向に対して水平方向に色が変化している為、ここでは水平方向の線形グラデーションと呼ぶ。図１０（Ｃ）は垂直方向の線形グラデーション、水平方向の線形グラデーションのどちらでもない線形グラデーションであり、ここでは斜め方向の線形グラデーションと呼ぶ。
【００５５】
図７の説明に戻る。水平な色変化の向きが検出された場合（Ｓ７０３で水平）はＳ７０５に処理を進め、垂直な色変化の向きが検出された場合（Ｓ７０３で垂直）はＳ７０６に処理を進め、斜めな色変化の向きが検出された場合（Ｓ７０３で斜め）はＳ７０７へ処理を進める。
【００５６】
なお、ここでの水平・垂直はＳ７０２で取得した情報を元に、印刷装置６で出力媒体に出力される段階におけるものであり、以降も、水平・垂直とは印刷装置６で出力媒体に出力される段階での向きを示すものとする。すなわち、Ｓ７０３で判定される色変化の向きとは、印刷装置６の副走査方向に対する、出力媒体に出力されるべき向きにおけるグラデーション描画の色変化の向きであってもよい。このため、一例では、図形のグラデーションの描画方法のみならず、Ｓ７０２で取得した印刷設定のページ回転設定および印刷装置の副走査方向にも基づいて色変化の向きが特定される。
【００５７】
Ｓ７０４、Ｓ７０５、およびＳ７０７において描画変換部１５は、グラデーション描画を前述した図１（Ｃ）のように画像描画に変換する。
【００５８】
Ｓ７０６において描画変換部１５は、グラデーション描画を前述した図１（Ｂ）のように図形描画に変換する。
【００５９】
以上のように、プリンタドライバに入力された印刷要求に含まれるグラデーションの特徴に応じて、グラデーションの描画方法に画像描画または図形描画を割当てることで、出力速度を向上することができる。
【００６０】
＜その他の実施形態＞
上述の各実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６１】
１：中央処理装置、２：主記憶装置、３：補助記憶装置、４：入力装置、５：出力装置、６：印刷装置、７：ＲＯＭ、８：クライアントコンピュータ、１０：ＯＳ、１１：プリンタドライバ、１２：ユーザインタフェース部、１３：レイアウト処理部、１４：描画コマンド制御部、１５：描画変換部、１６：描画コマンド生成部、１７：印刷データ制御部、１８：印刷データ送受信部
【図１】
2020177298.tif 000003
【図２】
2020177298.tif 000004
【図３】
2020177298.tif 000005
【図４】
2020177298.tif 000006
【図５】
2020177298.tif 000007
【図６】
2020177298.tif 000008
【図７】
2020177298.tif 000009
【図８】
2020177298.tif 000010
【図９】
2020177298.tif 000011
【図１０】
2020177298.tif 000012