説明

画像処理装置および画像処理プログラム

【課題】 描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行する。
【解決手段】 画像処理装置において、イメージ処理部42は、イメージデータの1ラインごとに、透明ではない区間を特定する。そして、描画部34は、イメージデータの1ラインごとに、イメージ処理部42により特定された区間のみをブレンド処理しつつ描画していく。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理プログラムに関するものである。
【背景技術】
【0002】
あるグラデーション描画処理方法では、垂直方向または水平方向のラインイメージを生成し、そのラインイメージを水平方向または垂直方向にコピーしていき、対象領域にグラデーションを描画する(例えば特許文献1参照)。
【0003】
また、あるグラデーションパターン生成方法では、グラデーション方向が走査線方向に平行ではない場合、グラデーションの始点と終点を結ぶ直線に垂直で同一色の領域をそれぞれ帯状領域として設定し、帯状領域と走査線との交点を色の変化点として、走査線方向のグラデーションパターンを生成する(例えば特許文献2参照)。
【0004】
他方、画像に透過率が設定されている場合には、アルファブレンド処理を行って画像を合成しつつ描画処理が行われる。ある画像処理装置は、中間データにおいて描画オブジェクトが重なる部分を抽出してその部分のみをアルファブレンドすることで、アルファブレンド処理を効率よく行う(例えば特許文献3参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−101431号公報
【特許文献2】特開平11−25282号公報
【特許文献3】特開2006−244248号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述の技術では、アルファブレンドを伴う描画処理を行う場合、中間データの段階で描画オブジェクトが重なる部分を抽出しその重なる部分の位置を特定して描画処理を行う必要がある。
【0007】
本発明は、上記の問題に鑑みてなされたものであり、描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行することができる画像処理装置および画像処理プログラムを得ることを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本発明では以下のようにした。
【0009】
本発明に係る画像処理装置は、イメージデータの1ラインごとに、透明ではない区間を特定する描画領域特定手段と、イメージデータの1ラインごとに、描画領域特定手段により特定された区間のみをブレンド処理しつつ描画していく描画手段とを備える。
【0010】
これにより、描画時に1ラインずつ描画すべき区間を指定していくので、描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行することができる。
【0011】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、描画領域特定手段は、区間の色が単色であるか否かを判定し、描画手段は、単色の区間を有するラインが連続する場合、その連続するラインの各区間をグラデーションコマンドに基づいて描画する。
【0012】
これにより、グラデーションコマンドを使用してより高速に描画を実行することができる。
【0013】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、描画手段は、透明ではない区間が存在しないラインについては描画処理を行わない。
【0014】
これにより、描画処理が不要なラインをスキップしてイメージデータの描画処理を行って、イメージデータの描画処理時間を短縮することができる。
【0015】
本発明に係る画像処理プログラムは、コンピュータを、イメージデータの1ラインごとに、透明ではない区間を特定する描画領域特定手段、およびイメージデータの1ラインごとに、描画領域特定手段により特定された区間のみをブレンド処理しつつ描画していく描画手段として機能させる。
【0016】
これにより、描画時に1ラインずつ描画すべき区間を指定していくので、描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行することができる。
【発明の効果】
【0017】
本発明によれば、描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行する画像処理装置および画像処理プログラムを得ることができる。
【図面の簡単な説明】
【0018】
【図1】図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図2】図2は、図1の装置において、画像処理プログラムにより実現される処理部の構成を示すブロック図である。
【図3】図3は、ブレンド処理を伴う描画処理を説明する図である。
【図4】図4は、図1および図2に示す装置においてブレンド処理を伴うイメージデータの描画処理について説明するフローチャートである。
【図5】図5は、図4におけるステップS1の詳細を説明するフローチャートである。
【図6】図6は、図4におけるステップS2の詳細を説明するフローチャートである。
【発明を実施するための形態】
【0019】
以下、図に基づいて本発明の実施の形態を説明する。
【0020】
図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【0021】
図1において、演算処理装置1は、プログラムに従って処理を実行するコンピュータである。データ格納装置2は、プログラム、データなどが記録された記録媒体を有する装置である。データ格納装置2には、画像処理プログラム21が格納されている。このような装置としては、フラッシュメモリ、ハードディスク駆動装置、コンパクトディスクなどの可搬性記録媒体およびその駆動装置などが使用される。通信インタフェース3は、他の装置との間でデータ通信を行う装置である。通信インタフェース3としては、周辺機器インタフェース、ネットワークインタフェースなどが使用される。出力装置4は、プリンタ、ディスプレイなどといった、画像を出力する装置である。
【0022】
演算処理装置1は、バスやコントローラを介して互いにデータ通信可能な、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、VRAM(Video RAM)14、およびインタフェース15〜17を有する。
【0023】
CPU11は、データ格納装置2またはROM12に格納されているプログラムをRAM13にロードして実行し、プログラムに記述された処理を実行する演算処理装置である。また、ROM12は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、RAM13は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。
【0024】
VRAM14は、出力装置4に対応する描画領域における各画素の色値を格納するメモリである。
【0025】
また、インタフェース15は、データ格納装置2を接続可能なインタフェース回路である。インタフェース16は、通信インタフェース3を接続可能なインタフェース回路である。インタフェース17は、出力装置4を接続可能なインタフェース回路である。
【0026】
演算処理装置1により画像処理プログラム21が実行されると、各種処理部が実現される。図2は、図1の装置において、画像処理プログラム21により実現される処理部の構成を示すブロック図である。
【0027】
図2において、データ受信部31は、通信インタフェース3を介して、ホストコンピュータなどの装置との間でデータ通信を行う処理部である。
【0028】
また、データ解析部32は、受信されたデータを解析し描画命令などを抽出する処理部である。
【0029】
また、描画データ処理部33は、データ解析部32により抽出された描画命令に対応する描画処理を描画部34に実行させる処理部である。描画データ処理部33は、描画環境管理部41、イメージ処理部42、ベクタ処理部43、文字処理部44、クリップ処理部45およびディスプレイリスト作成部46を有する。
【0030】
描画環境管理部41は、設定情報を管理する処理部である。設定情報としては、拡大・縮小のための変換行列、現在有効なスクリーンの情報などがある。
【0031】
イメージ処理部42は、イメージデータの描画処理を実行する処理部である。イメージ処理部42は、イメージデータの1ラインごとに、透明ではない区間を特定する描画領域特定手段として機能し、各ラインの透明ではない区間の開始点と終了点(または長さ)を区間情報としてRAM13に保持する。さらに、イメージ処理部42は、その区間の色が単色であるか否かを判定し、その区間の色が単色である場合には、単色であることおよびその色を示す情報を区間情報に含めてRAM13に保持する。
【0032】
ベクタ処理部43は、ベクタデータに基づく描画処理を実行する処理部である。
【0033】
文字処理部44は、文字データの描画処理を実行する処理部である。クリップ処理部45は、クリップ処理を実行する処理部である。ディスプレイリスト作成部46は、イメージ処理部42、ベクタ処理部43、文字処理部44およびクリップ処理部45による処理結果に基づいてディスプレイリストを生成する処理部である。
【0034】
また、描画部34は、描画データ処理部33の処理部46により生成されたディスプレイリストに基づくビットマップをVRAM14に書き込む処理部である。描画部34は、イメージデータの1ラインごとに、上述の区間情報を参照し、イメージ処理部42により特定された区間のみをブレンド処理しつつ描画していく描画手段として機能する。さらに、描画部34は、単色の区間を有するラインが連続する場合、その連続するラインの各区間をグラデーションコマンドに基づいて描画する。
【0035】
また、メモリ管理部35は、演算処理装置1内のメモリを管理する処理部である。システム制御部36は、演算処理装置1内の各部の制御を行う処理部である。
【0036】
ここで、ブレンド処理について説明する。
【0037】
図3は、ブレンド処理を伴う描画処理を説明する図である。図3(A)は、イメージデータ内で、色を有する形状の一例を示し、図3(B)は、そのイメージデータ内の透明ではない(つまり、不透明または半透明の)領域の一例を示す。このイメージデータについてブレンド処理を行う場合、図3(C)に示すように、図3(B)に示す透過率を図3(A)に示す形状に適用する。
【0038】
この際、透明な部分についてはブレンド処理を行う必要がないため、図3(D)に示す、図3(A)に示す形状と図3(B)に示す領域とを重なる領域のみについてブレンド処理を行えばよい。このため、本実施の形態では、イメージデータの各ラインにおいて透明ではない区間についてのみブレンド処理を行うことで、ブレンド処理を高速に行う。
【0039】
次に、上記装置の動作について説明する。
【0040】
図4は、図1および図2に示す装置においてブレンド処理を伴うイメージデータの描画処理について説明するフローチャートである。

ブレンド処理を伴うイメージデータの描画処理では、まず、イメージ処理部42が、描画領域特定処理を行い(ステップS1)、その後、描画部34が、VRAM14への描画処理を実行する(ステップS2)。
【0041】
図5は、図4におけるステップS1(描画領域特定処理)の詳細を説明するフローチャートである。
【0042】
イメージ処理部42は、まず最初のラインを選択する(ステップS11)。そして、イメージ処理部42は、そのラインにおいて、透明ではない区間があるか否かを判定し(ステップS12)、透明ではない区間がある場合には、その区間を特定し、区間情報を記憶する(ステップS13)。さらに、イメージ処理部42は、その区間の色が単色であるか否かを特定し、単色である場合には、単色であることおよびその色を区間情報に含めてRAM13に記憶する(ステップS14)。
【0043】
そして、イメージ処理部42は、全ラインを処理したか否かを判定し(ステップS15)、未処理のラインが存在する場合には、次のラインを選択し(ステップS16)、そのラインについてステップS12以降の処理を実行する。一方、イメージ処理部42は、全ラインを処理したと判定した場合、描画領域特定処理を終了する。
【0044】
このようにして、描画領域特定処理が実行される。次に、描画処理の詳細について説明する。
【0045】
図6は、図4におけるステップS2(描画処理)の詳細を説明するフローチャートである。
【0046】
描画部34は、描画対象としてまず最初のラインを選択する(ステップS21)。そして、描画部34は、RAM13における区間情報を参照して、そのラインの描画すべき区間の色が単色であるか否かを判定し(ステップS22)、そのラインの描画すべき区間の色が単色である場合には、このラインはグラデーションの一部とみなし、後で一括してグラデーションコマンドで描画処理を行うために、このラインの描画にグラデーション描画を指定する(ステップS23)。一方、描画部34は、そのラインの描画すべき区間の色が単色ではない場合、その区間をイメージとして1画素ずつブレンド処理を行いつつ描画処理を実行する(ステップS24)。
【0047】
そして、描画部34は、全ラインを処理したか否かを判定し(ステップS25)、未処理のラインが存在する場合には、次のラインを描画対象として選択し(ステップS26)、そのラインについてステップS22以降の処理を実行する。一方、描画部34は、全ラインを処理したと判定した場合、RAM13における区間情報で、描画すべき区間を特定しつつ、グラデーションコマンドを使用して、グラデーション描画が指定されているラインの各区間の描画処理する(ステップS27)。
【0048】
ここで、グラデーションの描画処理について説明する。
【0049】
グラデーション描画命令では、グラデーションの始点および終点が指定され、さらに、始点の色値および終点の色値が指定される。始点および終点は、それぞれ座標値で指定される。これにより、始点から終点へ向かう方向がグラデーション方向となる。そして、始点および終点を通る直線が複数の区間に分割され、各区間の色値が、始点の色値および終点の色値、始点および/または終点からその区間までの距離に基づいて計算され、各区間から垂直方向に延びる領域には同一色が指定される。
【0050】
また、グラデーション描画命令では、始点から終点までの区間の全部または一部のみに透過率を設定することができる。したがって、グラデーションパターンを他の画像にブレンドさせることが可能である。
【0051】
以上のように、上記実施の形態によれば、イメージ処理部42は、イメージデータの1ラインごとに、透明ではない区間を特定し、描画部34は、イメージデータの1ラインごとに、描画領域特定手段により特定された区間のみをブレンド処理しつつ描画していく。
【0052】
これにより、描画時に1ラインずつ描画すべき区間を指定していくので、描画不要な部分を取り除いた描画部分を中間データで生成することなく、効率よく、ブレンド処理を伴う描画処理を実行することができる。
【0053】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【0054】
例えば、描画部34は、透明ではない区間が存在しないラインについては描画処理を行わないようにしてもよい。
【産業上の利用可能性】
【0055】
本発明は、例えば、プリンタ、コピー機、複合機などの画像形成装置内の画像処理装置に適用可能である。
【符号の説明】
【0056】
21 画像処理プログラム
34 描画部(描画手段の一例)
42 イメージ処理部(描画領域特定手段の一例)

【特許請求の範囲】
【請求項1】
イメージデータの1ラインごとに、透明ではない区間を特定する描画領域特定手段と、
イメージデータの1ラインごとに、前記描画領域特定手段により特定された前記区間のみをブレンド処理しつつ描画していく描画手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記描画領域特定手段は、前記区間の色が単色であるか否かを判定し、
前記描画手段は、単色の前記区間を有するラインが連続する場合、その連続するラインの前記区間をグラデーションコマンドに基づいて描画すること、
を特徴とする請求項1記載の画像処理装置。
【請求項3】
前記描画手段は、前記透明ではない区間が存在しないラインについては描画処理を行わないことを特徴とする請求項1記載の画像処理装置。
【請求項4】
コンピュータを、
イメージデータの1ラインごとに、透明ではない区間を特定する描画領域特定手段、および
イメージデータの1ラインごとに、前記描画領域特定手段により特定された前記区間のみをブレンド処理しつつ描画していく描画手段
として機能させる画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−96109(P2011−96109A)
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願番号】特願2009−251049(P2009−251049)
【出願日】平成21年10月30日(2009.10.30)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】