本発明に係る画像処理装置は、ページ記述言語(PDL)データを変換したビットマップデータを出力する装置であり、画像形成装置に全てを組み込むことや、画像形成装置に接続されたPC等の情報処理装置に全てを組み込むことや、画像形成装置と情報処理装置に機能分担して組み込むことなどができる。上記画像形成装置としては、単機能の印刷装置、ファクシミリ装置、単機能の複写機、複合機などが挙げられる。上記複合機は、例えばスキャナ装置での原稿読取機能、コピー機能、プリント機能、ファクシミリ(FAX)機能などの複数種類の機能をもつ機器である。
以下、本発明の様々な実施形態について、図面を参照しながら説明する。
(第1の実施形態)
本発明の第1の実施形態について、図1〜図8を参照しながら説明する。まず、図1に基づき画像形成装置(デジタル複合機)について説明する。図1は、本実施形態に係る画像処理装置の一部又は全部を含む画像形成装置の一構成例を示す概略断面図である。
図1で例示する画像形成装置30は、スキャナ装置又は装置外部(例えばPC等の情報処理装置)から与えられる画像データに基づき用紙(用紙Paと呼ぶ)に対してフルカラー又はモノクロの画像を形成した用紙(用紙Pbと呼ぶ)を出力する。このため、画像形成装置30は、露光ユニット1、現像装置2(2a〜2d)、感光体ドラム3(3a〜3d)、クリーニングユニット4(4a〜4d)、帯電ローラ5(5a〜5d)、1次転写ローラ(中間転写ローラ6a〜6d)等を含む中間転写ベルトユニット8、給紙カセット10、2次転写ローラ11、定着ユニット12、排紙トレイ15、及び用紙の搬送路SA,SBなどを備えている。図1において、搬送路SA,SBは一点鎖線で示されており、搬送ローラ17−1〜17−8を含む所定のローラ等により用紙が搬送経路を導かれる構成であるが詳しい説明は省略する。なお、搬送路SBは裏面印刷時に用いるスイッチバック搬送路である。
画像形成装置30は、ブラック(K)、並びに減法混色の3原色であるシアン(C)、マゼンタ(M)、及びイエロー(Y)からなる4色の各色相に対応した画像データに基づき画像形成を行う。例えば、画像形成装置30には、ブラックの画像形成を行うため、現像装置2a、感光体ドラム3a、クリーニングユニット4a、及び帯電ローラ5aが備えられており、他の3色の画像形成を行うため、同様の構成が備えられている。これらの構成要素は、中間転写ベルトユニット8の中間転写ベルト7の移動方向に沿って図1に示されるように一列に配置されている。
帯電ローラ5a〜5dはそれぞれ、像の担持体である感光体ドラム3a〜3dの表面を所定の電位になるよう均一に帯電させる接触方式の帯電器である。なお、本実施形態では帯電器として帯電ローラ5を使用しているが、使用される帯電器は帯電ローラ5に限定されるものではなく、例えばファーブラシ、磁気ブラシ、コロナワイヤーを使用するものや、ノコ歯状のもの、又はイオン発生装置等、感光体に対して所望の帯電電位を付与するものであれば使用可能である。
レーザビーム走査装置である露光ユニット1は、半導体レーザ、ポリゴンミラー、複数の反射ミラーなどを含んでおり、ブラック、シアン、マゼンタ、及びイエローの各色相に対応した画像データに基づき変調された4つのレーザビームのそれぞれを、対応する感光体ドラム3a〜3dの表面に照射する。このことにより、感光体ドラム3a〜3dの表面には、ブラック、シアン、マゼンタ、及びイエロー各色相に対応した画像データに基づく静電潜像が形成される。なお、上記半導体レーザに代えて、例えばEL(Electro Luminescence)やLED(Light Emitting Diode)などをアレイ状に配列した周知の書込みヘッドが使用されてもよい。
現像装置2a〜2dはそれぞれ、静電潜像が形成された感光体ドラム3a〜3dの表面にトナーを供給し、静電潜像を現像剤像であるトナー像に顕像化する。具体的には現像装置2a〜2dは、上部に取り付けられたトナーカートリッジの供給口から上記色相に対応したトナーを受け取り、このトナーにより感光体ドラム3a〜3dに形成された色相に対応した静電潜像をブラック、シアン、マゼンタ、イエローの色相に対応したトナー像に顕像化する。上記トナーカートリッジは、現像装置2a〜2dの上部近傍に着脱自在に取り付けられており、ブラック、シアン、マゼンタ、イエローの色相に対応した現像剤であるトナーを貯留する。また、クリーニングユニット4a〜4dはそれぞれ、現像及び画像転写後における感光体ドラム3a〜3dの表面に残留したトナーを除去し回収する。
感光体ドラム3の上方に配置されている中間転写ベルトユニット8は、中間転写ベルト7、駆動ローラ7−1、中間転写ベルトテンション機構7−3、従動ローラ7−2、1次転写ローラとしての中間転写ローラ6(6a〜6d)、及び中間転写ベルト用のクリーニングユニット9を備えている。中間転写ベルト7は、厚さ100μm〜150μm程度のフィルムが無端状に形成された構造であって、駆動ローラ7−1と従動ローラ7−2との間に張架されて図1に示されるようなループ状の移動経路を形成している。中間転写ベルト7の外周面は、感光体ドラム3d,3c,3b,3aに対向しており、中間転写ベルト7はこれらの順番で各感光体ドラム3a〜3dに対向するよう回転する。この中間転写ベルト7を挟んで各感光体ドラム3a〜3dに対向する位置には、中間転写ローラ6a〜6dがそれぞれ配置されている。これらの中間転写ローラ6a〜6dは、直径8〜10mmの金属製(例えばステンレス製)の軸をベースとし、その表面が導電性の弾性材(例えばEPDMや発泡ウレタン等)により覆われているローラである。この導電性の弾性材により、中間転写ベルト7に対して均一に高電圧を印加することができる。なお、ここでは転写電極としてローラ形状のものを使用しているが、ブラシなどであってもよい。
フルカラー画像を形成する場合、この1次転写ローラ(中間転写ローラ6a〜6d)には、感光体ドラム3a〜3dの表面に担持されたトナー像を中間転写ベルト7上に転写するために、トナーの帯電極性(−)と逆極性(+)の定電圧である1次転写バイアスが印加される。また、この1次転写ローラは、中間転写ベルト7の内周面に所定のニップ圧で圧接されている。このことによって、感光体ドラム3a〜3dに形成された各色相に対応するトナー像は中間転写ベルト7の外周面に順次重ねられるように転写され、中間転写ベルト7の外周面にフルカラーのトナー像が形成される。また、モノクロ画像を形成する場合には、ブラックの感光体ドラム3aに対向する位置に配置される1次転写ローラのみが帯電し、その他の感光体ドラム3b〜3dに対向する位置に配置される1次転写ローラは帯電せず、所定の離接機構により中間転写ベルト7から所定距離だけ離される。このことにより、中間転写ベルト7の外周面にはブラックのトナー像のみが形成される。
このように中間転写ベルト7の外周面に転写されたトナー像は、中間転写ベルト7の回転によって、2次転写ローラ11と対向する位置に搬送される。2次転写ローラ11は、画像形成時において、内周面が駆動ローラ7−1の周面に接触する中間転写ベルト7の外周面に所定のニップ圧で圧接されている。なお、このように圧接する場合、1対のローラの一方は金属等の硬質材料からなり、他方は弾性ゴムローラ又は発泡性樹脂ローラ等の弾性材料からなる。
一方で、記録用紙となる用紙Paは、給紙カセット10又は手差しトレイ18から一枚ずつピックアップローラ(用紙さばきローラ)16−1又は16−2により引き出されて給紙され、搬送路SAで搬送される。また、レジストローラ14は、搬送路SAにて搬送されている用紙Paを一旦保持するものである。そして、中間転写ベルト7上のトナー像の先端位置が、用紙Paの先端から所定の位置になるようにタイミングを合わせて、用紙Paを転写部(2次転写ローラ11と駆動ローラ7−1との間の挟持部)に搬送する機能を有している。
そして、用紙Paが2次転写ローラ11と中間転写ベルト7との間を通過する際、その用紙Paにはトナーの帯電極性とは逆極性の高電圧が2次転写ローラ11によって印加される。これにより、中間転写ベルト7の外周面から用紙Paの表面にフルカラー又はモノクロのトナー像が転写される。なお、中間転写ベルト7に付着したトナーのうち用紙Pa上に転写されることなく中間転写ベルト7上に残存したトナーは、混色を防止するため、従動ローラ7−2に摺接するよう設けられるクリーニングブレード9−1を含むクリーニングユニット9によって回収される。
このフルカラー又はモノクロ画像であるトナー像が転写された用紙は、定着ユニット12に導かれ、定着ユニット12を構成する加熱ローラ12−1と加圧ローラ12−2との間を通過して加熱及び加圧を受ける。なお、加熱ローラ12−1は、図示されない温度検出器からの信号に基づいて制御部によって所定の定着温度となるように設定されている。この定着ユニット12の動作によって、トナー像は、用紙の表面に堅牢に定着する。トナー像が定着した用紙Pbは、排紙ローラである搬送ローラ17−2,17−3によって排紙トレイ15上に(印刷面を下側に向けて)排出される。
以上のような画像の形成動作は、図示されない電動モータやギヤなどを含む複数の駆動部と、これらの駆動部を制御する制御部とにより行われ、上記制御部の機能は、例えば、図示されないセンサや操作入力部などの情報を受け付けるマイクロコンピュータにより実現される。以下、この制御部の機能を含む画像形成装置30の構成について、図2等を参照しながら説明する。ここでは、本実施形態に係る画像処理装置が情報処理装置20と画像形成装置30とに分散されて組み込まれている例(以下、組込例Iと呼ぶ)を挙げて説明する。
図2は、画像形成装置30と情報処理装置を備えたシステムの一構成例を示すブロック図である。図2で例示するシステムは、画像形成装置30と外部のPC等の情報処理装置20がネットワークNで相互通信可能に接続されたものである。ネットワークNとしては、所定のケーブル(通信回線)やハブなどからなるLAN(Local Area Network)が挙げられるが、LANに代えて、WAN(Wide Area Network)やインターネットなど周知の相互通信網又はUSB接続や各種パラレルインタフェースなどの通信接続手段が使用されてもよい。
画像形成装置30は、情報処理装置20からネットワークNを介して与えられる印刷用データを受け取り、受け取った印刷用データに応じた画像を所定の用紙上に出力することが可能となっている。
上記印刷用データは、具体的には画像形成装置30において解釈可能なページ記述言語(PDL)により記述されるPDLデータを含むファイルである。このファイルには、給紙トレイを選択した情報や、ステープルやパンチ等の後処理の情報など、直接、画像の描画に関係のない制御コマンドを含むPJL(Printer Job Language)データが含まれる。なお、PJLデータの代わりに、それと同等の機能を有するデータを上記ファイルに含めることができ、PDLデータとしてPCL(Printer Control Language)データを採用することでも同等の機能が実現できる。
画像形成装置30は、CPU(Central Processing Unit)32d、メモリ(半導体メモリ)32c、及び各種インタフェースなどにより構成されるプリンタコントローラ(基板)32と、液晶ディスプレイ等からなる表示装置とタッチパネルやボタンなどからなる入力装置とを含む操作表示部33と、ディスク状の磁気記憶媒体を含むハードディスク記憶装置(以下「HDD」と略称する)34と、用紙に画像を形成して当該用紙を装置外へ排出するための画像形成部31と、を備える。
画像形成部31は、ビデオコントローラ32aを介して印刷のためのビットマップデータを受け取り、対応する画像を所定の用紙上に形成する。なお、画像形成部31における画像形成機構の詳細な構成については図1を参照して前述した通りである。
図2で例示するプリンタコントローラ32は、CPU32dと、メモリ32cと、操作表示部33との接続インタフェースである操作表示部インタフェース32eと、HDD34との接続インタフェースであるHDDインタフェース32fと、後述するビットマップデータがカラーか否かを判定する色判定処理及びビットマップデータを圧縮又は伸張する圧縮伸張処理を行う色判定/圧縮伸張回路32gと、RGB色空間をCMYK色空間へ変換するための色変換処理及びハーフトーン処理を行う色変換/ハーフトーン処理回路32hと、画像形成部31との接続インタフェースであるビデオコントローラ32aと、ネットワークNを介して情報処理装置20との間で通信を行うネットワークインタフェース32bと、を備える。
なお、CPU32dと、自由に読み書き可能なメモリであるRAM(Random Access Memory)と読み出し専用のメモリであるROM(Read Only Memory)からなるメモリ32cと、上記各種インタフェースとは、それぞれ所定のバス(メモリバス、システムバス、又はペリフェラルバスなど)で接続されている。これらのバスによる接続は一般的なコンピュータにおける周知の構成であるためその詳しい説明は省略する。
プリンタコントローラ32は、対象となる文書の画像を光学的に読み取る図示されないスキャナ装置により読み取られた画像データが示す画像を所定の用紙上に形成して出力するいわゆる複写機能や、外部の情報処理装置20から受け取った印刷データ(画像データ)を所定の用紙上に形成して出力するいわゆるプリンタ機能などの周知の各種機能を有している。
これらの機能は、典型的にはメモリ32cのROMに内蔵され又はRAMに展開された所定のプログラムをCPU32dが実行することにより実現される。ここで、上記プログラムは、例えば、そのプログラムを記録したCD−ROM等の記録媒体によって提供される。すなわち、上記プログラムの上記記録媒体が画像形成装置30内に補助記憶装置として内蔵された図示されない記録媒体駆動装置に装着され、その記録媒体から上記プログラムが読み出されてHDD34にインストールされる。また、上記プログラムは、CD−ROM以外の記録媒体や通信回線を介して提供されてもよい。そして、画像形成装置30の起動のための所定操作がなされると、HDD34にインストールされた所定プログラムは、上記RAMに転送されてそこに展開され、CPU32dによって実行される。これにより、上記各種機能が実現される。
次に、本実施形態の主たる特徴について、図3〜図5を参照しながら説明する。図3は、画像形成装置30における画像処理(PDLデータを印刷する処理)の一例を説明するための機能ブロック図、図4は、情報処理装置20で表示させるユーザインタフェース(UI)画像の一例を示す図、図5は、画像形成装置30の属性ビットマップ生成部46において生成される属性ビットマップデータにおける属性データの一例を示す図である。
本実施形態に係る画像処理装置は、上述したようにPDLデータを変換したビットマップデータを出力する装置であって、後述するオブジェクト選択部、中間データ生成部、ビットマップ生成部、属性ビットマップ生成部、輪郭検出部、及び縁取り付加部を備えることを主たる特徴とする。
本組込例Iでは、上記オブジェクト選択部は、情報処理装置20において、選択のためのUI画像を表示して、それに対するユーザ操作を受け付けるように設けられた例を挙げる。また、中間データ生成部、ビットマップ生成部、属性ビットマップ生成部、輪郭検出部、及び縁取り付加部についてはそれぞれ、中間データ生成部44、ビットマップ生成部45、属性ビットマップ生成部46、オブジェクト検出部51、及び画像付加処理部52として、画像形成装置30に設けられた例を挙げる。このように、上記特徴は、本組込例Iの場合、オブジェクト選択部を除き、画像形成装置30の上記プリンタ機能に含まれることになる。概略的に説明すると、上記特徴は、情報処理装置20からネットワークNを介して与えられるPDLデータに対してオブジェクト検出処理及び画像付加処理を行うものであり、これらの処理後の画像データについて印刷が実行されることになる。
上述した各部位について説明する。まず、上記オブジェクト選択部は、ユーザが縁取り処理を施したい描画オブジェクトの種類(種別)を選択する選択操作を受け付ける部位で、例えば図4のUI画像21のようなUI画像を表示させ、それに対するユーザ操作を受け付ける。情報処理装置20は、選択された種類を示す情報を、プリントジョブと共にネットワークNを介して画像形成装置30のプリンタコントローラ32へ送信する。
上記のUI画像21は、印刷指示を行う際に表示される画像であり、例えば選択欄22、OKボタン23、キャンセルボタン24、及び適用ボタン25を含む。選択欄22は、文字、ベクタグラフィック、ラスタの中から、ユーザが縁取り処理を施したい種類を選択するための欄であり、選択のためのチェックボックスが設けられている。OKボタン23は、選択又は非選択の状態で処理を受け付けてUI画像21を非表示にするためのボタンである。キャンセルボタン24は、選択処理をキャンセルしてUI画像21を非表示にするためのボタンである。適用ボタン25は、選択又は非選択の状態を反映させるためのボタンである。ここで例示するように、縁取り処理の対象となる描画オブジェクトの種類は、テキスト、ベクタグラフィック、ラスタを含むことが好ましい。
画像形成装置30は、情報処理装置20から受信したPDLデータを印刷するまでの各種処理のために、例えば、図3で示すPDLインタプリタ40、画像制御部50、及び印刷制御部60を備える。PDLインタプリタ40は、PDLデータを受け取り解釈することにより中間データを生成し、印刷用のビットマップデータ及び各ピクセルの属性情報を示す属性ビットマップデータを生成する。画像制御部50は、PDLインタプリタ40により生成されたビットマップデータを受け取り、画像データを圧縮しHDD34へ保存する。印刷制御部60は、保存された画像データを印刷する制御を行う。
具体的に処理内容を説明する。まず、PDLインタプリタ40は、入力インタフェース部41、受信バッファ42、コマンド解析部43、中間データ生成部44、ビットマップ生成部45、及び属性ビットマップ生成部46を有する。これらは、前述したように所定のプログラムからなるが、その一部又は全部が所定のハードウェアからなるものであってもよい。
入力インタフェース部41は、情報処理装置20から送られてきたPDLデータを含むファイルを受信バッファ42に一時的に格納する。受信バッファ42に格納されたPDLデータを含むファイルは、コマンド解析部43に渡される。コマンド解析部43は、PDLデータに含まれるPDLコマンドを順次抽出し解析する。
中間データ生成部44は、PDLデータに含まれる入力描画コマンド(PDLコマンド)に基づいて、出力対象ページにおける各描画オブジェクトの種類に関する情報を含む中間データを生成する。例えば、中間データ生成部44は、解析されたPDLコマンドを受け取り、このPDLコマンドに基づき生成されるべきバンドデータ単位で分類された印刷のための周知の中間データを生成する。この中間データには、描画すべき対象を表すオブジェクト(描画オブジェクト)を構成するためのデータ及びその属性(描画オブジェクトの種類、座標等)が記述されている。
ビットマップ生成部45は、中間データ生成部44で得られた中間データに基づいて、出力対象ページのビットマップデータ(ビットマップイメージ)を生成する。ビットマップ生成部45で生成されるビットマップデータは、一般的に用いられるデータであることが好ましく、よってRGB形式又はCMYK形式のデータであることが好ましい。例えば、ビットマップ生成部45は、中間データからRGB又はCMYK各色8ビットのビットマップデータを生成する。
属性ビットマップ生成部46は、中間データ生成部44で得られた中間データに基づいて、上記ビットマップデータを構成する各画素(ピクセル)に対応し且つ各画素のそれぞれについての上記種類を示す属性情報からなる属性ビットマップデータ(属性ビットマップイメージ)を生成する。この属性ビットマップデータは、例えば、図5で示す属性データ47を用いて記述された各画素につき2ビットのデータである。属性データ47は、描画オブジェクトの種類毎に2ビットの値を定めたものである。属性ビットマップデータは、中間データの各画素につき、中間データに記述されている属性情報が示す値(「00」,「01」,「10」,「11」のいずれかの値)を記述したものとなる。
画像制御部50は、オブジェクト検出部51、画像付加処理部52、ビットマップデータ圧縮部53、及び画像保存処理部54を有する。オブジェクト検出部51(上記輪郭検出部)は、属性ビットマップ生成部46で得られた属性ビットマップデータから、上記オブジェクト選択部で選択された種類の画素の輪郭部分を検出する。つまり、オブジェクト検出部51は、PDLインタプリタ40が生成した属性ビットマップデータから、印刷指示時に指定された描画オブジェクトの検出を行う。
画像付加処理部52(上記縁取り付加部)は、オブジェクト検出部51で検出された輪郭部分に対応する、ビットマップ生成部45で得られたビットマップデータの輪郭部分の一部又は全部に、縁取りを付加する。例えば、画像付加処理部52は、オブジェクト検出部51によって検出された座標にあるビットマップデータ及び隣接する画像データの濃度情報から、画素の濃度を変更すると共に、変更したビットマップデータの属性ビットマップの属性情報を変更する。
ビットマップデータ圧縮部53は、ビットマップデータ及び属性ビットマップデータをそれぞれのビットマップに適した圧縮方法で個別に圧縮し、画像保存処理部54は、それらをHDD34へ保存する。
印刷制御部60は、画像読み出し部61、ビットマップ伸張部62、色変換/ハーフトーン処理部63、及び印刷処理部64を有する。画像保存処理部54により1ページ分のデータが保存されると、画像読み出し部61は、印刷されるべきページのビットマップデータ、属性ビットマップデータ及び印刷のために必要な各種情報をHDD34から読み出す。
このとき印刷処理部64に含まれるビデオコントローラ32aに対して各種情報を設定する。ビデオコントローラ32aに設定された動作モードがカラーモードである場合、画像形成部31にカラーモードで動作させるためのコマンドを送信することにより、画像形成部31をカラーモードで動作するように設定する。
ビットマップ伸張部62は、読み出された圧縮されたビットマップデータ及び属性ビットマップデータを色判定/圧縮伸張回路32gにより、個別に伸張し、色変換/ハーフトーン処理部63でCMYK各色4ビットに変換し、ビデオコントローラ32aに転送する。ビデオコントローラ32aは、画像形成部31から画像データの転送要求が発信されると、所定の同期信号に合わせてCMYK各色の画像データを画像形成部31へ送信する。
以下、このような処理について、図6A〜図6Dを併せて参照しながら、具体的な画像の例を挙げて説明する。図6Aは、オブジェクト検出部51で用いられるマスクパターンの一例を示す図、図6Bは、画像付加処理部52で用いられるマスクパターンの一例を示す図、図6Cは、図6Bのマスクパターンを用いた画像付加処理の一例を示す図、図6Dは、図6A,図6Bのマスクパターンを用いた処理の結果の一例を示す図である。
ここでは、オブジェクト検出部51が、輪郭部分の検出を第1の所定パターンによるパターンマッチングで実行し、画像付加処理部52が、注目画素に対し、第2の所定パターンが示す位置の隣接画素群の画素値を、縁取り色及び縁取り位置の演算に使用するものとする。このような処理を適用することで、処理が簡素化され、処理速度を上げることができる。
図6Aで例示するマスクパターン71は、オブジェクト検出部51で扱う上記第1の所定パターンの一例であり、属性ビットマップデータの注目画素をC_TAGとし、注目画素C_TAGの右に隣接する画素をR_TAGと表現する。同様に、下に隣接する画素をB_TAGと表現する。
図6Bで例示するマスクパターン72は、画像付加処理部52で扱う上記第2の所定パターンの一例であり、ビットマップデータの注目画素をC_PIXとし、注目画素C_PIXの右に隣接する画素をR_PIXと表現する。同様に、下に隣接する画素をB_PIX、右下に隣接する画素をBR_PIXと表現する。
図6Cでは、マスクパターン72に対応する4画素の濃度値73と、これら4画素のうちの注目画素について画像付加処理部52にてマスクパターン72を使用して濃度変更処理(画素付加処理)を施した結果の濃度値74と、を例示している。この例では、濃度値は0から255の値をとり、0が黒、255が白とする(RGB色空間)。まず、画像付加処理部52は、注目画素(左上)以外の3つ画素から最小値を算出する。濃度値73の例では、255,0,0であるため、0が最小値となる。そして、画像付加処理部52は、注目画素が最小値より大きい場合、注目画素を最小値で置き換える。濃度値73の例では、255(注目画素)>0(最小値)となり、濃度値74に示すように注目画素を0にする。
その結果について、縁取り付加対象が文字であった場合を例に説明する。図6Dの例では、文字「A」(縁取り前は文字75aの部分)に対して、縁取り75bが施され、文字75のようになる。なお、この例では、縁取り75bを分かり易くするために別の色で示しているが、上述の例では文字75aが黒色であるため、縁取り75bも黒色となる。また、縁取り75bを別の色で例示したような処理を行うことも可能であり、その場合、注目画素を最小値で置き換えるのではなく、所定値だけ加算するなどしておけばよい。
次に、以上のような処理のうち、特にオブジェクト検出/画像付加処理に着目し、これらの処理を含む画像形成装置30での処理例について、図7,図8を参照してさらに詳細に説明する。図7は、本実施形態に係る画像処理装置における画像処理方法の一例を説明するためのフロー図、図8は、図7の画像処理方法におけるオブジェクト検出/画像付加処理の一例を説明するためのフロー図である。
図7において、ホストから送られてきたPDLデータの先頭には、図3で選択されたオブジェクト種別情報が含まれており、その情報を保存する(ステップS1)。次にPDLインタプリタによってコマンドが解析される(ステップS2)。PDLコマンドに従って中間コードを生成し(ステップS3)、1ページ分の解析が終了するまで(ステップS4)、ステップS2〜S4を繰り返す。1ページ分の中間データが生成されると、中間コードからRGBビットマップデータを生成し(ステップS5)と同じく中間コードから属性ビットマップデータを生成する(ステップS6)。
次にステップS5,S6で生成された各ビットマップから、オブジェクト検出/画像付加処理を行う(ステップS7)。その詳細について、図8を参照すると、まず、図6Aで示された注目画素C_TAGに属性ビットマップの先頭の画素を設定する(ステップS11)。次に、注目画素C_TAG、右側の画素R_TAG、下側のB_TAGを参照し、ステップS1で指定された属性と一致するか否かを確認する(ステップS12)。ステップS12でNOの場合(指定された属性と一致しない場合)は、ステップS18に進む。ステップS18では属性データが最後のデータであるか否かを判定し、NOであればステップS11へ戻り、次の属性データを注目画素C_TAGへセットする。
一方、ステップS12でYESの場合(指定された属性と一致する場合)は、属性データの注目画素C_TAGでと同じ位置にあるビットマップデータを図6Bで示された注目画素C_PIXにセットし、隣接す3つの画素R_PIX,L_PIX,BR_PIXから最小値を算出する(ステップS13)。
次いで、ステップS13で算出した最小値とC_PIXとの値を比較し(ステップS14)、C_PIXが最小値より小さい場合(NOの場合)、ステップS18へ進む。ここでも、属性データが最後のデータでなければ、ステップS11へ戻り、次の属性データを注目画素C_TAGへセットする。ステップS14でYESの場合、つまりC_PIXが最小値より大きい場合、C_PIXに最小値をセットする(ステップS15)。次いで、C_TAGが指定された属性であるか否かをチェックする(ステップS16)。
ステップS16でYESの場合、つまりC_TAGが指定された属性の場合、ステップS18へ進む。ステップS16でNOの場合、つまりC_TAGが指定された属性でない場合、指定された属性情報をC_TAGにセットし(ステップS17)、ステップS18に進む。いずれの場合でも、属性データが最後のデータでなければ、ステップS11へ戻り、次の属性データを注目画素C_TAGへセットする。属性データが最後のデータであればオブジェクト検出/画像付加処理を終了する。
このようなオブジェクト検出/画像付加処理の後、HDD34に、RGBビットマップデータ、属性データビットマップデータ、各カラーフラグ、グレー印刷設定、及び印刷に必要な情報を保存する(ステップS8)。最後に、保存したこれらのデータについて印刷処理を実行し(ステップS9)、処理を終了する。
以上、本実施形態では、PDLデータを変換したビットマップデータを出力するに際し、ビットマップデータから例えば文字、ベクタグラフィック、ラスタ等、ユーザが望む種類の描画オブジェクトに対して、画像の輪郭部分に画素を付加すること(つまり輪郭に縁取りを行うこと)ができ、それにより、文字や線幅の太さを変更し印刷することができる。また、縁取りは、ユーザが複数種類の描画オブジェクト(例えば文字とラスタ)を指定することで、複数種類の描画オブジェクトに対して同時に付加することができる。
以上、本実施形態に係る画像処理装置について組込例Iを挙げて説明したが、情報処理装置に上記画像処理装置が全て含まれる場合(以下、組込例IIと呼ぶ)、例えばプリンタドライバに上記画像処理装置の機能を全て組み込む場合には、その情報処理装置に接続された一般的な画像形成装置に、上記画像処理装置を含む上記情報処理装置で縁取り付加後の画像データを送信して印刷すれば済む。一方で、画像形成装置に上記画像処理装置が全て含まれる場合(以下、組込例IIIと呼ぶ)には、画像形成装置に設けたスキャナ装置で読み取った画像データに対し、オブジェクト選択を操作表示部33等で受け付け、縁取りを付加するようにすれば済む。
(第2の実施形態)
本発明の第2の実施形態について、図9A〜図9Dを併せて参照しながら、第1の実施形態との相違点を中心に説明するが、第1の実施形態で説明した様々な応用例も適用できる。図9Aは、図4におけるオブジェクト検出部で用いられるマスクパターンの他の例を示す図、図9Bは、図4における画像付加処理部で用いられるマスクパターンの他の例を示す図、図9Cは、図9Bのマスクパターンを用いた画像付加処理の一例を示す図、図9Dは、図9A,図9Bのマスクパターンを用いた処理の結果の一例を示す図である。
例えば上記第1の所定パターン及び/又は上記第2の所定パターンとして別のパターンを使用するなどにより、図6Dの例とは異なり、描画オブジェクトの周囲全てに縁取りすることも可能である。本実施形態ではそのような例を1つ挙げるが、これに限らない。
図9Aで例示するマスクパターン81は、オブジェクト検出部51で扱う上記第1の所定パターンの他の例であり、属性ビットマップデータの注目画素をC_TAGとし、注目画素C_TAGの右に隣接する画素をR_TAG、注目画素C_TAGの左側に隣接する画素をL_TAGと表現する。同様に、下に隣接する画素をB_TAG、上に隣接する画素をT_TAGと表現する。
図9Bで例示するマスクパターン82は、画像付加処理部52で扱う上記第2の所定パターンの他の例であり、ビットマップデータの注目画素をC_PIXとし、注目画素C_PIXの右に隣接する画素をR_PIX、左に隣接する画素をL_PIXと表現する。同様に、下に隣接する画素をB_PIX、上に隣接する画素をT_PIXと表現する。
図9Cでは、マスクパターン82に対応する5画素の濃度値83と、これら5画素のうちの注目画素について画像付加処理部52にてマスクパターン82を使用して濃度変更処理(画素付加処理)を施した結果の濃度値84と、を例示している。この例では、濃度値は0から255の値をとり、0が白、255を黒とする(CMYK色空間)。まず、画像付加処理部52は、注目画素(中央)以外の4つ画素から最大値を算出する。濃度値83の例では、0,0,0,255であるため、255が最大値となる。そして、画像付加処理部52は、注目画素が最大値より小さい場合、注目画素を最大値で置き換える。濃度値83の例では、0(注目画素)<255(最大値)となり、濃度値84に示すように注目画素を255にする。
その結果について、縁取り付加対象が文字であった場合を例に説明する。図9Dの例では、文字「A」(縁取り前は文字85aの部分)に対して、縁取り85bが施され、文字85のようになる。なお、この例では、縁取り85bを分かり易くするために別の色で示しているが、上述の例では文字85aが黒色であるため、縁取り85bも黒色となる。また、縁取り85bを別の色で例示したような処理を行うことも可能であり、その場合、注目画素を最大値で置き換えるのではなく、所定値だけ減算するなどしておけばよい。以上のように、異なるマスクパターンを使用するなどにより、付加する画素の位置(画素の数)を変えることができる。
(第3の実施形態)
本実施形態に係る画像処理装置は、上記第1の所定パターン及び/又は上記第2の所定パターン(使用するマスクパターン)を切り替えることにより、縁取り付加部(画像付加処理部52)における縁取り処理を変更する変更部を、さらに備える。
例えば、図6Aのマスクパターン71と図9Aのマスクパターン81とからユーザが望む第1の所定パターンを選択すること、及び/又は、図6Bのマスクパターン72と図9Bのマスクパターン82とからユーザが望む第2の所定パターンを選択したりすることが可能となる。これにより縁取り処理の結果が異なるようになることから、本実施形態によれば、ユーザが望むような位置やサイズで画素を付加すること、つまり文字や線幅の太さをユーザが望むように調整することができると言える。
組込例Iの場合、上記変更部は、情報処理装置20に変更のためのUI画像を表示させて、ユーザ操作を受け付け、ジョブ内(例えばPJLデータ内)にその変更された情報を含めるなどして画像形成装置30に伝え、画像形成装置30で縁取り処理への反映を行うようにすればよい。組込例IIの場合、上記変更部は、情報処理装置に変更のためのUI画像を表示させて、ユーザ操作を受け付け、縁取り処理に反映させればよい。組込例IIIの場合、上記変更部は、操作表示部33等で変更のためのUI画像を表示させて、ユーザ操作を受け付け、縁取り処理に反映させればよい。
(第4の実施形態)
本発明の第4の実施形態について、図10A〜図11Eを併せて参照しながら第1の実施形態との相違点を中心に説明するが、第1〜第3の実施形態で説明した様々な応用例も適用できる。図10Aは、本実施形態において情報処理装置20で表示させるUI画像の一例を示す図、図10Bは、図10AのUI画像においてプルダウンメニューを表示させたUI画像の一例を示す図、図11A〜図11Eは、本実施形態における情報処理装置20での様々な処理例を説明するためのフロー図である。
本実施形態に係る画像処理装置は、PDLデータに含まれるライン描画コマンドで描画されるラインについて、ライン幅の変更操作を受け付ける幅操作部と、その変更操作に従い、ライン幅を変更する幅変更部と、をさらに備える。ここでは、本実施形態に係る画像処理装置が情報処理装置20に全て組み込まれている組込例IIを挙げて説明する。これら幅操作部及び幅変更部は情報処理装置20側のプリンタドライバに組み込んでおけばよい。
幅操作部は、オブジェクト選択部でのUI画像の表示及び操作受け付けと同様に、例えば図10Aで示すUI画像101を情報処理装置20の表示部に表示させ、UI画像101に対する操作を受け付ける。UI画像101は、印刷指示を行う際などに表示される画像であり、ライン幅調整用のプルダウンメニュー選択ボタン102aを有するライン幅調整欄102を含む。ユーザがプルダウンメニュー選択ボタン102aを選択すると、図10Bのようにプルダウンメニュー102bが表示され、ユーザは望む調整幅を選ぶことができる。この例では、通常のライン幅(0)からライン幅を太くする設定(+1,+2)、細くする設定(−1,−2)の中から幅の選択ができる。なお、OKボタン103、キャンセルボタン104、及び適用ボタン105は、それぞれ図4のOKボタン23、キャンセルボタン24、及び適用ボタン25と同様である。
情報処理装置20は、幅変更部が、UI画像101で受け付けた調整幅を示す情報を、プリントジョブと共にネットワークNを介して通常の画像形成装置のプリンタコントローラ32へ送信することで、ライン幅の変更の設定を行う。これにより、通常の画像形成装置でその設定に従ったライン幅の調整が可能となる。具体的にはライン描画コマンドで示されたオブジェクトについてPDLデータをビットマップに変換する際にラインの太さを変えることができる。
しかし、ビットマップへの変換後のラインの画像の属性は「ベクタグラフィック」のビットマップ属性とされるため、もし、図4のUI画像21で「ベクタグラフィック」にチェックを入れた場合、ラインオブジェクトのライン画像も輪郭に縁どりされ、太く描画される。よって、例えば図10Bでライン幅が+1などと太くするように設定され、且つ「ベクタグラフィック」がチェックされた場合、ラインオブジェクトについては描画の線が太くなりすぎる虞がある。
このような事態を防止するため、本実施形態における情報処理装置20で例示する画像処理装置は、オブジェクト選択部でベクタグラフィックが選択され且つ幅操作部で変更操作が受け付けられた場合、オブジェクト選択部でのベクタグラフィックの選択をキャンセルするか、又は幅変更部での変更をキャンセル或いは変更幅を小さくする。なお、本実施形態では、オブジェクト選択部での選択対象となる描画オブジェクトの種類にはベクタグラフィックを含むことを前提とする。
そのような具体的な処理例について説明する。
例えば図11Aで示すように、情報処理装置20は、「ベクタグラフィック」がチェックされたか否かを判定し(ステップS21)、YESとなった時点でライン幅の変更操作がなされているかを判定し(ステップS22)、YESとなった場合のみ、ライン幅の変更をキャンセルして0に戻す(ステップS23)。逆に図11Bで示すように、情報処理装置20は、ライン幅を変更したか否かを判定し(ステップS31)、YESとなった時点で「ベクタグラフィック」がチェックされた状態か否かを判定し(ステップS32)、YESになった場合のみ、ベクタグラフィックを未チェック状態にする(ステップS33)ようにしてもよい。
また、図11Cで示すように、情報処理装置20は、「ベクタグラフィック」がチェックされたか否かを判定し(ステップS41)、YESの場合にのみライン幅が変更されているか否かを判定し(ステップS42)、YESの場合にのみ、その変更をキャンセルするか否かのダイアログ表示によりユーザの注意を促す(ステップS43)。情報処理装置20は、ユーザが変更キャンセルを希望してそのような操作を行ったか否かを判定し(ステップS44)、YESの場合にライン幅変更をキャンセルして0に戻すようにしてもよい。逆に図11Dで示すように、情報処理装置20は、ライン幅が変更されたか否かを判定し(ステップS51)、YESの場合にのみ「ベクタグラフィック」がチェックされた状態か否かを判定し(ステップS52)、YESの場合にのみ、そのチェックをキャンセルするか否かのダイアログ表示によりユーザの注意を促す(ステップS53)。情報処理装置20は、ユーザがチェックのキャンセルを希望してそのような操作を行ったか否かを判定し(ステップS54)、YESの場合にベクタグラフィックを未チェック状態にする(ステップS55)ようにしてもよい。
また、図11Eで示すように、ライン幅が変更された状態を前提とし、情報処理装置20が「ベクタグラフィック」がチェックされたか否かを判定し(ステップS61)、YESの場合のみ、ラインを細くするように数値を変更する(ステップS62)ようにしてもよい。例えばライン幅を1から0へ、0から−1へなどと減じればよい。この場合も、図11Cや図11Dの例のようにダイアログ表示によりユーザの注意を促すようにしてもよい。
以上、本実施形態に係る画像処理装置について組込例IIを挙げて説明したが、本実施形態に係る画像処理装置が情報処理装置20と画像形成装置30とに分散されて組み込まれている組込例Iや、画像形成装置に上記画像処理装置が全て含まれる組込例IIIについても同様に適用できる。なお、組込例IIIの場合、画像形成装置で読み込んだ画像データのファイルに対し、オブジェクト選択やライン幅変更を操作表示部33等で受け付ければよい。
(その他)
第1〜第4の実施形態として、画像形成装置及び/又は情報処理装置に搭載した画像処理装置における処理の流れを説明したように、本発明は、PDLデータを変換したビットマップデータを出力する画像処理方法としての形態や、その画像処理方法を画像処理装置の制御部などのコンピュータに実行させるためのプログラムとしての形態も採り得る。
上記画像処理方法は、オブジェクト選択部が、描画オブジェクトの種類を選択する選択操作を受け付けるオブジェクト選択ステップと、中間データ生成部が、上記PDLデータに含まれる入力描画コマンドに基づいて、出力対象ページにおける各描画オブジェクトの種類に関する情報を含む中間データを生成する中間データ生成ステップと、ビットマップ生成部が、上記中間データ生成ステップで得られた上記中間データに基づいて、上記出力対象ページのビットマップデータを生成するビットマップ生成ステップと、属性ビットマップ生成部が、上記中間データ生成ステップで得られた上記中間データに基づいて、上記ビットマップデータを構成する各画素に対応し且つ各画素のそれぞれについての上記種類を示す属性情報からなる属性ビットマップデータを生成する属性ビットマップ生成ステップと、輪郭検出部が、上記属性ビットマップ生成ステップで得られた上記属性ビットマップデータから、上記オブジェクト選択ステップで選択された種類の画素の輪郭部分を検出する輪郭検出ステップと、縁取り付加部が、上記輪郭検出ステップで検出された上記輪郭部分に対応する、上記ビットマップ生成ステップで得られた上記ビットマップデータの輪郭部分の一部又は全部に、縁取りを付加する縁取り付加ステップと、を有する。その他の応用例については、第1〜第4の実施形態において説明した通りであり、その説明を省略する。
上記プログラムは、コンピュータに、PDLデータを変換したビットマップデータを出力する画像処理を実行させるためのプログラムである。そして、上記画像処理は、描画オブジェクトの種類を選択する選択操作を受け付けるオブジェクト選択ステップと、上記PDLデータに含まれる入力描画コマンドに基づいて、出力対象ページにおける各描画オブジェクトの種類に関する情報を含む中間データを生成する中間データ生成ステップと、上記中間データ生成ステップで得られた上記中間データに基づいて、上記出力対象ページのビットマップデータを生成するビットマップ生成ステップと、上記中間データ生成ステップで得られた上記中間データに基づいて、上記ビットマップデータを構成する各画素に対応し且つ各画素のそれぞれについての上記種類を示す属性情報からなる属性ビットマップデータを生成する属性ビットマップ生成ステップと、上記属性ビットマップ生成ステップで得られた上記属性ビットマップデータから、上記オブジェクト選択ステップで選択された種類の画素の輪郭部分を検出する輪郭検出ステップと、上記輪郭検出ステップで検出された上記輪郭部分に対応する、上記ビットマップ生成ステップで得られた上記ビットマップデータの輪郭部分の一部又は全部に、縁取りを付加する縁取り付加ステップと、を有する。その他の応用例については、第1〜第4の実施形態において説明した通りであり、その説明を省略する。
また、上述した様々な形態のプログラムを記録したコンピュータ読み取り可能な記録媒体(非一時的な記録媒体)としての形態についても、容易に理解することができる。このコンピュータとしては、汎用のPCに限らず、上述したように画像形成装置の制御部として機能するマイクロコンピュータや、プログラム可能な汎用の集積回路/チップセットなど、様々な形態のコンピュータが適用できる。上記の記録媒体としては、例えばCD−ROM又はDVD−ROMなどの光ディスクやメモリカード等の不揮発性の半導体メモリや、ハードディスクなど様々なものが挙げられる。また、これらプログラムは、可搬の記録媒体を介して流通させるに限らず、インターネット等のネットワークを介して、また放送波を介して流通させることもできる。ネットワークを介して受信するとは、外部サーバ装置の記憶装置などに記録されたプログラムをダウンロードするなどにより受信することを指す。