(57)【要約】【課題】  描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行する。【解決手段】  画像処理装置において、イメージ処理部４２は、イメージデータの１ラインごとに、透明ではない区間を特定する。そして、描画部３４は、イメージデータの１ラインごとに、イメージ処理部４２により特定された区間のみをブレンド処理しつつ描画していく。【選択図】  図２
2011096109.tif 000002
【特許請求の範囲】
【請求項１】
イメージデータの１ラインごとに、透明ではない区間を特定する描画領域特定手段と、
イメージデータの１ラインごとに、前記描画領域特定手段により特定された前記区間のみをブレンド処理しつつ描画していく描画手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記描画領域特定手段は、前記区間の色が単色であるか否かを判定し、
前記描画手段は、単色の前記区間を有するラインが連続する場合、その連続するラインの前記区間をグラデーションコマンドに基づいて描画すること、
を特徴とする請求項１記載の画像処理装置。
【請求項３】
前記描画手段は、前記透明ではない区間が存在しないラインについては描画処理を行わないことを特徴とする請求項１記載の画像処理装置。
【請求項４】
コンピュータを、
イメージデータの１ラインごとに、透明ではない区間を特定する描画領域特定手段、および
イメージデータの１ラインごとに、前記描画領域特定手段により特定された前記区間のみをブレンド処理しつつ描画していく描画手段
として機能させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理プログラムに関するものである。
【背景技術】
【０００２】
あるグラデーション描画処理方法では、垂直方向または水平方向のラインイメージを生成し、そのラインイメージを水平方向または垂直方向にコピーしていき、対象領域にグラデーションを描画する（例えば特許文献１参照）。
【０００３】
また、あるグラデーションパターン生成方法では、グラデーション方向が走査線方向に平行ではない場合、グラデーションの始点と終点を結ぶ直線に垂直で同一色の領域をそれぞれ帯状領域として設定し、帯状領域と走査線との交点を色の変化点として、走査線方向のグラデーションパターンを生成する（例えば特許文献２参照）。
【０００４】
他方、画像に透過率が設定されている場合には、アルファブレンド処理を行って画像を合成しつつ描画処理が行われる。ある画像処理装置は、中間データにおいて描画オブジェクトが重なる部分を抽出してその部分のみをアルファブレンドすることで、アルファブレンド処理を効率よく行う（例えば特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１０１４３１号公報
【特許文献２】特開平１１−２５２８２号公報
【特許文献３】特開２００６−２４４２４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の技術では、アルファブレンドを伴う描画処理を行う場合、中間データの段階で描画オブジェクトが重なる部分を抽出しその重なる部分の位置を特定して描画処理を行う必要がある。
【０００７】
本発明は、上記の問題に鑑みてなされたものであり、描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行することができる画像処理装置および画像処理プログラムを得ることを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明では以下のようにした。
【０００９】
本発明に係る画像処理装置は、イメージデータの１ラインごとに、透明ではない区間を特定する描画領域特定手段と、イメージデータの１ラインごとに、描画領域特定手段により特定された区間のみをブレンド処理しつつ描画していく描画手段とを備える。
【００１０】
これにより、描画時に１ラインずつ描画すべき区間を指定していくので、描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行することができる。
【００１１】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、描画領域特定手段は、区間の色が単色であるか否かを判定し、描画手段は、単色の区間を有するラインが連続する場合、その連続するラインの各区間をグラデーションコマンドに基づいて描画する。
【００１２】
これにより、グラデーションコマンドを使用してより高速に描画を実行することができる。
【００１３】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、描画手段は、透明ではない区間が存在しないラインについては描画処理を行わない。
【００１４】
これにより、描画処理が不要なラインをスキップしてイメージデータの描画処理を行って、イメージデータの描画処理時間を短縮することができる。
【００１５】
本発明に係る画像処理プログラムは、コンピュータを、イメージデータの１ラインごとに、透明ではない区間を特定する描画領域特定手段、およびイメージデータの１ラインごとに、描画領域特定手段により特定された区間のみをブレンド処理しつつ描画していく描画手段として機能させる。
【００１６】
これにより、描画時に１ラインずつ描画すべき区間を指定していくので、描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行することができる。
【発明の効果】
【００１７】
本発明によれば、描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行する画像処理装置および画像処理プログラムを得ることができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図２】図２は、図１の装置において、画像処理プログラムにより実現される処理部の構成を示すブロック図である。
【図３】図３は、ブレンド処理を伴う描画処理を説明する図である。
【図４】図４は、図１および図２に示す装置においてブレンド処理を伴うイメージデータの描画処理について説明するフローチャートである。
【図５】図５は、図４におけるステップＳ１の詳細を説明するフローチャートである。
【図６】図６は、図４におけるステップＳ２の詳細を説明するフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図に基づいて本発明の実施の形態を説明する。
【００２０】
図１は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【００２１】
図１において、演算処理装置１は、プログラムに従って処理を実行するコンピュータである。データ格納装置２は、プログラム、データなどが記録された記録媒体を有する装置である。データ格納装置２には、画像処理プログラム２１が格納されている。このような装置としては、フラッシュメモリ、ハードディスク駆動装置、コンパクトディスクなどの可搬性記録媒体およびその駆動装置などが使用される。通信インタフェース３は、他の装置との間でデータ通信を行う装置である。通信インタフェース３としては、周辺機器インタフェース、ネットワークインタフェースなどが使用される。出力装置４は、プリンタ、ディスプレイなどといった、画像を出力する装置である。
【００２２】
演算処理装置１は、バスやコントローラを介して互いにデータ通信可能な、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、ＶＲＡＭ（Video RAM）１４、およびインタフェース１５〜１７を有する。
【００２３】
ＣＰＵ１１は、データ格納装置２またはＲＯＭ１２に格納されているプログラムをＲＡＭ１３にロードして実行し、プログラムに記述された処理を実行する演算処理装置である。また、ＲＯＭ１２は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、ＲＡＭ１３は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。
【００２４】
ＶＲＡＭ１４は、出力装置４に対応する描画領域における各画素の色値を格納するメモリである。
【００２５】
また、インタフェース１５は、データ格納装置２を接続可能なインタフェース回路である。インタフェース１６は、通信インタフェース３を接続可能なインタフェース回路である。インタフェース１７は、出力装置４を接続可能なインタフェース回路である。
【００２６】
演算処理装置１により画像処理プログラム２１が実行されると、各種処理部が実現される。図２は、図１の装置において、画像処理プログラム２１により実現される処理部の構成を示すブロック図である。
【００２７】
図２において、データ受信部３１は、通信インタフェース３を介して、ホストコンピュータなどの装置との間でデータ通信を行う処理部である。
【００２８】
また、データ解析部３２は、受信されたデータを解析し描画命令などを抽出する処理部である。
【００２９】
また、描画データ処理部３３は、データ解析部３２により抽出された描画命令に対応する描画処理を描画部３４に実行させる処理部である。描画データ処理部３３は、描画環境管理部４１、イメージ処理部４２、ベクタ処理部４３、文字処理部４４、クリップ処理部４５およびディスプレイリスト作成部４６を有する。
【００３０】
描画環境管理部４１は、設定情報を管理する処理部である。設定情報としては、拡大・縮小のための変換行列、現在有効なスクリーンの情報などがある。
【００３１】
イメージ処理部４２は、イメージデータの描画処理を実行する処理部である。イメージ処理部４２は、イメージデータの１ラインごとに、透明ではない区間を特定する描画領域特定手段として機能し、各ラインの透明ではない区間の開始点と終了点（または長さ）を区間情報としてＲＡＭ１３に保持する。さらに、イメージ処理部４２は、その区間の色が単色であるか否かを判定し、その区間の色が単色である場合には、単色であることおよびその色を示す情報を区間情報に含めてＲＡＭ１３に保持する。
【００３２】
ベクタ処理部４３は、ベクタデータに基づく描画処理を実行する処理部である。
【００３３】
文字処理部４４は、文字データの描画処理を実行する処理部である。クリップ処理部４５は、クリップ処理を実行する処理部である。ディスプレイリスト作成部４６は、イメージ処理部４２、ベクタ処理部４３、文字処理部４４およびクリップ処理部４５による処理結果に基づいてディスプレイリストを生成する処理部である。
【００３４】
また、描画部３４は、描画データ処理部３３の処理部４６により生成されたディスプレイリストに基づくビットマップをＶＲＡＭ１４に書き込む処理部である。描画部３４は、イメージデータの１ラインごとに、上述の区間情報を参照し、イメージ処理部４２により特定された区間のみをブレンド処理しつつ描画していく描画手段として機能する。さらに、描画部３４は、単色の区間を有するラインが連続する場合、その連続するラインの各区間をグラデーションコマンドに基づいて描画する。
【００３５】
また、メモリ管理部３５は、演算処理装置１内のメモリを管理する処理部である。システム制御部３６は、演算処理装置１内の各部の制御を行う処理部である。
【００３６】
ここで、ブレンド処理について説明する。
【００３７】
図３は、ブレンド処理を伴う描画処理を説明する図である。図３（Ａ）は、イメージデータ内で、色を有する形状の一例を示し、図３（Ｂ）は、そのイメージデータ内の透明ではない（つまり、不透明または半透明の）領域の一例を示す。このイメージデータについてブレンド処理を行う場合、図３（Ｃ）に示すように、図３（Ｂ）に示す透過率を図３（Ａ）に示す形状に適用する。
【００３８】
この際、透明な部分についてはブレンド処理を行う必要がないため、図３（Ｄ）に示す、図３（Ａ）に示す形状と図３（Ｂ）に示す領域とを重なる領域のみについてブレンド処理を行えばよい。このため、本実施の形態では、イメージデータの各ラインにおいて透明ではない区間についてのみブレンド処理を行うことで、ブレンド処理を高速に行う。
【００３９】
次に、上記装置の動作について説明する。
【００４０】
図４は、図１および図２に示す装置においてブレンド処理を伴うイメージデータの描画処理について説明するフローチャートである。
ブレンド処理を伴うイメージデータの描画処理では、まず、イメージ処理部４２が、描画領域特定処理を行い（ステップＳ１）、その後、描画部３４が、ＶＲＡＭ１４への描画処理を実行する（ステップＳ２）。
【００４１】
図５は、図４におけるステップＳ１（描画領域特定処理）の詳細を説明するフローチャートである。
【００４２】
イメージ処理部４２は、まず最初のラインを選択する（ステップＳ１１）。そして、イメージ処理部４２は、そのラインにおいて、透明ではない区間があるか否かを判定し（ステップＳ１２）、透明ではない区間がある場合には、その区間を特定し、区間情報を記憶する（ステップＳ１３）。さらに、イメージ処理部４２は、その区間の色が単色であるか否かを特定し、単色である場合には、単色であることおよびその色を区間情報に含めてＲＡＭ１３に記憶する（ステップＳ１４）。
【００４３】
そして、イメージ処理部４２は、全ラインを処理したか否かを判定し（ステップＳ１５）、未処理のラインが存在する場合には、次のラインを選択し（ステップＳ１６）、そのラインについてステップＳ１２以降の処理を実行する。一方、イメージ処理部４２は、全ラインを処理したと判定した場合、描画領域特定処理を終了する。
【００４４】
このようにして、描画領域特定処理が実行される。次に、描画処理の詳細について説明する。
【００４５】
図６は、図４におけるステップＳ２（描画処理）の詳細を説明するフローチャートである。
【００４６】
描画部３４は、描画対象としてまず最初のラインを選択する（ステップＳ２１）。そして、描画部３４は、ＲＡＭ１３における区間情報を参照して、そのラインの描画すべき区間の色が単色であるか否かを判定し（ステップＳ２２）、そのラインの描画すべき区間の色が単色である場合には、このラインはグラデーションの一部とみなし、後で一括してグラデーションコマンドで描画処理を行うために、このラインの描画にグラデーション描画を指定する（ステップＳ２３）。一方、描画部３４は、そのラインの描画すべき区間の色が単色ではない場合、その区間をイメージとして１画素ずつブレンド処理を行いつつ描画処理を実行する（ステップＳ２４）。
【００４７】
そして、描画部３４は、全ラインを処理したか否かを判定し（ステップＳ２５）、未処理のラインが存在する場合には、次のラインを描画対象として選択し（ステップＳ２６）、そのラインについてステップＳ２２以降の処理を実行する。一方、描画部３４は、全ラインを処理したと判定した場合、ＲＡＭ１３における区間情報で、描画すべき区間を特定しつつ、グラデーションコマンドを使用して、グラデーション描画が指定されているラインの各区間の描画処理する（ステップＳ２７）。
【００４８】
ここで、グラデーションの描画処理について説明する。
【００４９】
グラデーション描画命令では、グラデーションの始点および終点が指定され、さらに、始点の色値および終点の色値が指定される。始点および終点は、それぞれ座標値で指定される。これにより、始点から終点へ向かう方向がグラデーション方向となる。そして、始点および終点を通る直線が複数の区間に分割され、各区間の色値が、始点の色値および終点の色値、始点および／または終点からその区間までの距離に基づいて計算され、各区間から垂直方向に延びる領域には同一色が指定される。
【００５０】
また、グラデーション描画命令では、始点から終点までの区間の全部または一部のみに透過率を設定することができる。したがって、グラデーションパターンを他の画像にブレンドさせることが可能である。
【００５１】
以上のように、上記実施の形態によれば、イメージ処理部４２は、イメージデータの１ラインごとに、透明ではない区間を特定し、描画部３４は、イメージデータの１ラインごとに、描画領域特定手段により特定された区間のみをブレンド処理しつつ描画していく。
【００５２】
これにより、描画時に１ラインずつ描画すべき区間を指定していくので、描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行することができる。
【００５３】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００５４】
例えば、描画部３４は、透明ではない区間が存在しないラインについては描画処理を行わないようにしてもよい。
【産業上の利用可能性】
【００５５】
本発明は、例えば、プリンタ、コピー機、複合機などの画像形成装置内の画像処理装置に適用可能である。
【符号の説明】
【００５６】
２１  画像処理プログラム
３４  描画部（描画手段の一例）
４２  イメージ処理部（描画領域特定手段の一例）
【図１】
2011096109.tif 000003
【図２】
2011096109.tif 000004
【図３】
2011096109.tif 000005
【図４】
2011096109.tif 000006
【図５】
2011096109.tif 000007
【図６】
2011096109.tif 000008