説明

画像形成装置、線幅制御方法、および線幅制御プログラム

【課題】細線の再現性を高めることで、高品質の画像を形成することのできる画像形成装置を提案する。
【解決手段】画像形成装置は、属性データ入力部101から入力された属性データより、線幅検出部105において線幅を検出し、色検出部117において線の色を検出する。画像データ入力部103から入力された画像データより、エッジ検出部109においてエッジを検出する。論理積算出部107においてこれらの論理積が算出される。係数記憶部113には、色ごとに線幅に対して個別に設定された係数が記憶され、線幅補正係数乗算部111は、エッジと検出された画素について、検出された線幅と線の色とに対応した補正係数を取得し、乗算することで、その線幅を補正する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は画像形成装置、線幅制御方法、および線幅制御プログラムに関し、特に、細線を高品質で再現できる画像形成装置、線幅制御方法、および線幅制御プログラムに関する。
【背景技術】
【0002】
ファクシミリ等の画像入力装置で原稿を移動させて画像を読取る際、同じ線幅の細線を読取っても副走査方向(縦細線)よりも走査方向(横細線)の方が出力が高くなる。そのため、副走査方向に対する補正が主走査方向に対する補正よりも弱くされている。その結果、副走査方向に該当する横細線に細線切れなどの画質の劣化が発生していた。
【0003】
この問題に対処するため、特開平6−30267号公報(以下、特許文献1)では、横細線の細線切れを防ぎ、画質の向上を図る画像読取装置が提案されている。この画像読取装置では、画像入力部での線幅に対する最小出力特性が、縦細線最小出力より横細線最小出力の方が高い場合、画像処理部でのMFT補正で、副走査方向の画素への重み係数を主走査方向の画素の重み係数よりも大きくすることで、横細線読取時の線の欠けを防いでいる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平6−30267号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、このように入力された画像データであっても、MFP(Multi Function Peripheral)などの画像形成装置においてフォントを印刷すると、エンジンの性能によって、ドットが膨張する傾向がある。その結果、細線の再現性が低下するという問題があった。
【0006】
細線の再現性が低下すると、細線が再現されず、フォントの種類が判別できなくなるという問題がある。また、細線が細線として出力されず、出力画像の品質が低下するという問題もある。また、サイズの小さなフォントは、フォント自身が判別できなくなる場合もあるという問題もある。
【0007】
本発明はこのような問題に鑑みてなされたものであって、細線の再現性を高めることで、高品質の画像を形成することのできる画像形成装置、線幅制御方法、および線幅制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明のある局面に従うと、画像形成装置は、画像データに対応した属性データより、画像データに含まれる線の線幅を検出する線幅検出手段と、画像データよりエッジ画素を検出するエッジ検出手段と、画像データより線の色を検出する色検出手段と、色ごとに線幅に対応した線幅補正係数を記憶する記憶手段と、エッジ画素について、線幅検出手段で検出された線幅と色検出手段で検出された色とに対応した線幅補正係数を記憶手段から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する補正手段とを備える。
【0009】
好ましくは、線幅検出手段は、属性データに対して、1画素*1画素〜n画素*n画素のマトリクスのフィルタを用いてエロージョン処理を行なうエロージョン処理手段と、各マトリクスのフィルタを用いたエロージョン処理に対して、エロージョン処理と同じサイズのフィルタを用いてダイレーション処理を行なう第1ダイレーション処理手段と、各マトリクスのフィルタを用いたエロージョン処理に対して、エロージョン処理に用いたサイズよりも2画素大きいマトリクスのフィルタを用いてダイレーション処理を行なう第2ダイレーション処理手段と、第1ダイレーション処理手段における処理結果による第1の線幅と、第2ダイレーション処理手段における処理結果による第2の線幅とを出力する線幅出力手段とを含む。
【0010】
より好ましくは、エロージョン処理で用いられるフィルタのサイズの最大値nは、任意に設定可能であり、エロージョン処理手段は、線幅がnよりも大きい場合には、エロージョン処理を行なわないようにする。
【0011】
好ましくは、エッジ検出手段は、画像データを1次微分する1次微分演算手段と、画像データを2次微分する2次微分演算手段と、1次微分の結果と2次微分の結果との論理積に対してダイレーション処理を行なうエッジダイレーション処理手段と、ダイレーション処理の結果に対してエロージョン処理を行なうエッジエロージョン処理手段と、画像データの各画素について、主走査方向に隣接する両画素との間の階調差に基づき、当該画素内で当該画素に隣接する両画素のいずれ側から印字ドットの成長を開始するかを示すPWM印字位置コードを生成する生成手段と、エロージョン処理の結果に基づいて、当該画素の画素内での印字パルス出力位置を制御するコードとして、生成手段で生成されたPWM印字位置コードとするか、画素の印字パルス出力位置を当該画素の中央とすることを示す中央印字位置コードとするかを選択する選択手段とを含む。
【0012】
好ましくは、記憶手段は、画像データのモードおよび/または言語ごとに、色ごとに線幅に対応した線幅補正係数を記憶し、補正手段は、エッジ画素について、線幅検出手段で検出された線幅と色検出手段で検出された色と画像データのモードおよび/または言語とに対応した線幅補正係数を記憶手段から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する。
【0013】
本発明の他の局面に従うと、線幅制御方法は画像形成装置において形成される画像に含まれる線の幅を制御する方法であって、画像形成装置は、色ごとに線幅に対応した線幅補正係数を記憶する記憶手段を含み、画像形成装置において、画像データと画像データに対応した属性データとを取得する取得ステップと、属性データより、画像データに含まれる線の線幅を検出する線幅検出ステップと、画像データより、線の色を検出する色検出ステップと、画像データよりエッジ画素を検出するエッジ検出ステップと、エッジ画素について線幅検出ステップで検出された線幅と色検出ステップで検出された色とに対応した線幅補正係数を記憶手段から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する補正ステップとを備える。
【0014】
好ましくは、線幅検出ステップは、属性データに対して、1画素*1画素〜n画素*n画素のマトリクスのフィルタを用いてエロージョン処理を行なうエロージョン処理ステップと、各マトリクスのフィルタを用いたエロージョン処理に対して、エロージョン処理と同じサイズのフィルタを用いてダイレーション処理を行なう第1ダイレーション処理ステップと、各マトリクスのフィルタを用いたエロージョン処理に対して、エロージョン処理に用いたサイズよりも2画素大きいマトリクスのフィルタを用いてダイレーション処理を行なう第2ダイレーション処理ステップと、第1ダイレーション処理ステップにおける処理結果による第1の線幅と、第2ダイレーション処理ステップにおける処理結果による第2の線幅とを出力する線幅出力ステップとを含む。
【0015】
より好ましくは、エロージョン処理で用いられるフィルタのサイズの最大値nは、任意に設定可能であり、エロージョン処理ステップでは、線幅がnよりも大きい場合には、エロージョン処理を行なわないようにする。
【0016】
好ましくは、エッジ検出ステップは、画像データを1次微分する1次微分演算ステップと、画像データを2次微分する2次微分演算ステップと、1次微分の結果と2次微分の結果との論理積を算出することで、画像データの中からエッジ画素を抽出するエッジ抽出ステップと、エッジ画素として抽出された画素について、1次微分の結果と2次微分の結果との論理積に対してダイレーション処理を行なうエッジダイレーション処理ステップと、ダイレーション処理の結果に対してエロージョン処理を行なうエッジエロージョン処理ステップと、画像データの各画素について、主走査方向に隣接する両画素との間の階調差に基づき、当該画素内で当該画素に隣接する両画素のいずれ側から印字ドットの成長を開始するかを示すPWM印字位置コードを生成する生成ステップと、エロージョン処理の結果に基づいて画素がエッジ画素と検出された場合に、当該画素の画素内での印字パルス出力位置を制御するコードとして、生成ステップで生成されたPWM印字位置コードを出力する第1出力ステップと、エロージョン処理の結果に基づいて画素がエッジ画素と検出されなかった場合に、当該画素の画素内での印字パルス出力位置を制御するコードとして、画素の印字パルス出力位置を当該画素の中央とすることを示す中央印字位置コードを出力する第2出力ステップとを含む。
【0017】
好ましくは、記憶手段は、画像データのモードおよび/または言語ごとに、色ごとに線幅に対応した線幅補正係数を記憶し、補正ステップは、エッジ画素について、線幅検出ステップで検出された線幅と色検出ステップで検出された色と画像データのモードおよび/または言語とに対応した線幅補正係数を記憶手段から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する。
【0018】
本発明のさらに他の局面に従うと、線幅制御プログラムは画像形成される画像に含まれる線の幅を制御する処理をコンピュータに実行させるプログラムであって、画像形成装置において、画像データと画像データに対応した属性データとを取得する取得ステップと、属性データより、画像データに含まれる線の線幅を検出する線幅検出ステップと、画像データより、線の色を検出する色検出ステップと、画像データよりエッジ画素を検出するエッジ検出ステップと、エッジ画素について線幅検出ステップで検出された線幅と色検出ステップで検出された色とに対応した線幅補正係数を、色ごとに線幅に対応した線幅補正係数を記憶する記憶装置から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する補正ステップとを実行させる。
【0019】
好ましくは、線幅検出ステップは、属性データに対して、1画素*1画素〜n画素*n画素のマトリクスのフィルタを用いてエロージョン処理を行なうエロージョン処理ステップと、各マトリクスのフィルタを用いたエロージョン処理に対して、エロージョン処理と同じサイズのフィルタを用いてダイレーション処理を行なう第1ダイレーション処理ステップと、各マトリクスのフィルタを用いたエロージョン処理に対して、エロージョン処理に用いたサイズよりも2画素大きいマトリクスのフィルタを用いてダイレーション処理を行なう第2ダイレーション処理ステップと、第1ダイレーション処理ステップにおける処理結果による第1の線幅と、記第2ダイレーション処理ステップにおける処理結果による第2の線幅とを出力する線幅出力ステップとを含む。
【0020】
より好ましくは、エロージョン処理で用いられるフィルタのサイズの最大値nは、任意に設定可能であり、エロージョン処理ステップでは、線幅がnよりも大きい場合には、エロージョン処理を行なわないようにする。
【0021】
好ましくは、エッジ検出ステップは、画像データを1次微分する1次微分演算ステップと、画像データを2次微分する2次微分演算ステップと、1次微分の結果と2次微分の結果との論理積を算出することで、画像データの中からエッジ画素を抽出するエッジ抽出ステップと、エッジ画素として抽出された画素について、1次微分の結果と2次微分の結果との論理積に対してダイレーション処理を行なうエッジダイレーション処理ステップと、ダイレーション処理の結果に対してエロージョン処理を行なうエッジエロージョン処理ステップと、画像データの各画素について、主走査方向に隣接する両画素との間の階調差に基づき、当該画素内で当該画素に隣接する両画素のいずれ側から印字ドットの成長を開始するかを示すPWM印字位置コードを生成する生成ステップと、エロージョン処理の結果に基づいて画素がエッジ画素と検出された場合に、当該画素の画素内での印字パルス出力位置を制御するコードとして、生成ステップで生成されたPWM印字位置コードを出力する第1出力ステップと、エロージョン処理の結果に基づいて画素がエッジ画素と検出されなかった場合に、当該画素の画素内での印字パルス出力位置を制御するコードとして、画素の印字パルス出力位置を当該画素の中央とすることを示す中央印字位置コードを出力する第2出力ステップとを含む。
【0022】
好ましくは、記憶装置は、画像データのモードおよび/または言語ごとに、色ごとに線幅に対応した線幅補正係数を記憶し、補正ステップは、エッジ画素について、線幅検出ステップで検出された線幅と色検出ステップで検出された色と画像データのモードおよび/または言語とに対応した線幅補正係数を記憶装置から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する。
【発明の効果】
【0023】
本発明にかかる画像形成装置がこのように構成されることで、画像形成において、画像形成装置のエンジン特性に関わらず線幅を再現することができる。このため、形成された画像におけるフォントの再現性を高めることができる。また、細い罫線の再現性を高めることができる。その結果、高品質の画像を形成することができる。
【図面の簡単な説明】
【0024】
【図1】本実施の形態にかかる画像形成装置がMFPである場合の、画像形成装置のハードウェア構成の具体例を示すブロック図である。
【図2】本実施の形態にかかる画像形成装置において、線幅制御処理を行なうための機能構成の具体例を示すブロック図である。
【図3】図2に示された係数記憶部で記憶される線幅補正係数の具体例を示す図である。
【図4】図2に示されたエッジ検出部の詳細な構成の具体例を示すブロック図である。
【図5】図4に示されたPWM印字位置コード生成部でのPWM印字位置コードの生成方法を説明する図である。
【図6】図4に示されたPWM印字位置コード生成部でのPWM印字位置コードの生成方法を説明する図である。
【図7】図4に示されたPWM印字位置コード生成部でのPWM印字位置コードの生成方法を説明する図である。
【図8】図4に示されたPWM印字位置コード生成部でのPWM印字位置コードの生成方法を説明する図である。
【図9】図2に示された線幅検出部の詳細な構成の具体例を示すブロック図である。
【図10】線幅検出部での第1のダイレーション処理を説明する図である。
【図11】線幅検出部での第2のダイレーション処理を説明する図である。
【図12】内線幅を説明する図である。
【図13】外線幅を説明する図である。
【図14】本実施の形態にかかる画像形成装置における、線幅制御処理の流れの具体例を示すフローチャートである。
【図15】図14のステップS103における線幅検出処理を示すフローチャートである。
【図16】図14のステップS105におけるエッジ検出処理を示すフローチャートである。
【図17】図14のステップS107におけるPWM位置決定処理を示すフローチャートである。
【図18】第1の変形例にかかる画像形成装置において、線幅制御処理を行なうための機能構成の具体例を示すブロック図である。
【図19】図18に示された係数記憶部で記憶される線幅補正係数の具体例を示す図である。
【発明を実施するための形態】
【0025】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
【0026】
図1は、本実施の形態にかかる画像形成装置1のハードウェア構成の具体例を示すブロック図である。画像形成装置1としては、コピー機、プリンタ、またはそれらの複合機器であるMFP(Multi Function Peripheral)等が該当する。本実施の形態において画像形成装置1はMFPであるものとし、図1には、MFPである画像形成装置1のハードウェア構成の具体例をブロック図で示す。
【0027】
図1を参照して、画像形成装置1は、装置全体を制御するCPU(Central Processing Unit)11と、原稿から画像データを読取るイメージリーダ部19と、用紙上に画像を印刷するプリンタ部21と、画像形成装置1をネットワークや電話回線に接続したり、近距離の無線通信を行なったりするための拡張カードであるNIC(Network Interface Card)15と、HD(Hard Disk)やRAM(Random Access Memory)などから構成されて、ジョブやCPU11で実行される線幅制御プログラムなどのプログラムなどを記憶するための記憶部13と、ユーザとのインタフェースである操作パネル17と、消耗品の残量などを検出するセンサ部23とを含んで構成される。
【0028】
画像形成装置1は、画像データと属性データとを含んだ原稿データを取得し、後述の線幅制御処理を実行して画像データを出力する。出力された画像データは、画像形成処理により印字される。
【0029】
画像形成装置1で取得される原稿データに含まれる画像データは、YMCK(Yellow Magenta Cyan Black)データ、またはRGB(Red Green Blue)データである。属性データは、画像データの各画素について、その画素がテキストかグラフィックかまたはそのいずれでもないかを示す。属性データは、PC(Personal Computer)などの端末で動作する画像作成のアプリケーション側で付加されて画像形成装置1へ送信されてくる場合や、画像形成装置1のイメージリーダ部19で読取られた画像データを図示しない領域判定部などで判定することにより画像形成装置1側で付加される場合などがある。
【0030】
図2は、画像形成装置1において、本実施の形態にかかる線幅制御処理を行なうための機能構成の具体例を示すブロック図である。図2に示される機能構成は、主に、CPU11が記憶部13に記憶されるプログラムを実行することで実現される機能であるが、一部がハードウェアによって構成されてもよい。
【0031】
図2を参照して、画像形成装置1において線幅制御処理を行なうための機能は、原稿データのうちの属性データを入力する属性データ入力部101、原稿データのうちの画像データを入力する画像データ入力部103、属性データより線幅を検出する線幅検出部105、画像データよりエッジを検出するエッジ検出部109、これらの検出結果の論理積を算出する論理積算出部107、線幅を補正するための係数を記憶する係数記憶部113、線幅を補正するための演算を行なう線幅補正係数乗算部111、および線幅の補正された画像データを出力する画像データ出力部115を含んで構成される。
【0032】
線幅検出部105は、後述する線幅処理を行なって、検出された線幅を示す線幅信号を論理積算出部107に入力する。エッジ検出部109もまた、後述するエッジ検出処理を行なって、検出されたエッジを示すエッジ検出信号を論理積算出部107に入力する。論理積算出部107は、これら信号の論理積を算出し、エッジ線幅を算出する。算出されたエッジ線幅を示すエッジ線幅信号は線幅補正係数乗算部111に入力される。
【0033】
また、エッジ検出部109は、後述するエッジ検出処理を行なって、後述するPWM(Pulse Width Modulation)位置を示すPWM位置制御信号を線幅補正係数乗算部111に入力する。
【0034】
係数記憶部113は、主に記憶部13の所定領域によって形成され、線幅補正係数乗算部111で用いられる線幅補正係数を記憶する。線幅補正係数は、1dotからndotの各々の線幅に対して個別に設定された係数であって、画像形成時に理想的な線幅となるように線幅を補正するための係数である。
【0035】
図3は、係数記憶部113で記憶される線幅補正係数の具体例を示す図である。図3に示されるように、係数記憶部113には、線幅に対応付けて線幅補正係数が記憶される。なお、図3に示された係数の具体的な数値は1つの具体例であり、本発明はこの数値に限定されない。線幅補正係数は、上述のように画像形成装置のエンジンの性能に関連する係数であるため、エンジンの性能に対応して決定される。または、実験等によって得られる。そのため、線幅補正係数は、予め係数記憶部113に記憶されていることが好ましい。または、線幅補正係数は、管理者等のユーザによって変更または作成されるものであってもよい。線幅補正係数を変更または作成する際には、そのための画面が操作パネル17に表示され、具体的な数値の入力を受付けることが好ましい。または、予めエンジンの性能に応じて、設定可能な範囲が示されており、その中から選択を受付けることが好ましい。または、設定可能な範囲外の数値が入力された場合には、その数値を受入れないように構成されていることも好ましい。
【0036】
線幅補正係数乗算部111は、論理積算出部107から入力されたエッジ線幅信号に基づいて、線幅に対応した線幅補正係数を係数記憶部113から読出し、線幅に係数を乗算して線幅を補正する処理を行なう。演算結果は画像データ出力部115に入力される。画像データ出力部115は、線幅の補正された画像データを出力する。
【0037】
図4は、エッジ検出部109の詳細な構成の具体例を示すブロック図である。図4を参照して、エッジ検出部109には、入力された画像データに対して1次微分フィルタを用いて1次微分する演算を行なう1次微分フィルタ演算部201、入力された画像データに対して2次微分フィルタを用いて2次微分する演算を行なう2次微分フィルタ演算部203、それらの演算結果に基づいてエッジである画素を抽出するエッジ抽出部205、エッジである画素に対してダイレーション処理を実施するエッジダイレーション部207、その処理結果に対してエロージョン処理を実施するエッジエロージョン部209、各画素についてPWM印字位置コードを生成するPWM印字位置コード生成部211、印字位置コードを選択的に入力するためのセレクタ部213、PWM印字位置コードとエロージョン処理結果とに基づいてエッジ信号を出力するエッジ信号出力部215、およびPWM印字位置コードに基づいてPWM印字制御信号を出力するPWM印字制御信号出力部217が含まれる。
【0038】
エッジ抽出部205は、1次微分フィルタ演算部201で画像データを1次微分フィルタを通して得られた演算結果と、2次微分フィルタ演算部203で画像データを2次微分フィルタを通して得られた演算結果との論理積を算出して、画像データからエッジを抽出する。抽出されたエッジは、エッジダイレーション部207に入力される。エッジ抽出部205でのエッジの抽出方法は、本発明において特定の方法に限定されず、一般的な方法が採用され得る。
【0039】
エッジダイレーション部207は、エッジ抽出部205から入力された各エッジに対してダイレーション処理を実施し、処理結果をエッジエロージョン部209に入力する。エッジエロージョン部209は、各ダイレーション処理結果に対してエロージョン処理を実施し、処理結果をエッジ信号出力部215に入力する。エッジダイレーション部207でのダイレーション処理、およびエッジエロージョン部209でのエロージョン処理は、オープニング処理と呼ばれる一般的な処理であり、これらの具体的な処理方法は、本発明において特定の方法には限定されない。
【0040】
エッジ信号出力部215は、エッジエロージョン部209での処理結果に基づいて、エッジである画素を示すエッジ検出信号を論理積算出部107およびセレクタ部213に入力する。
【0041】
PWM印字位置コード生成部211は、画像データの各画素について、PWMの成長位置を決定するPWM印字位置コードを生成する。ここで、PWM印字位置コードとは、対象画素の階調が最大値よりも小さい場合に、1画素のうちのどの位置にドット印字するためのパルス出力するかを表わす、2ビットのデータを指す。つまり、PWM印字位置コード生成部211は、各画素についてどの位置にドット印字するか、言い換えれば、1つの画素のうちのどの位置からどの方向にドット印字部分を伸ばすかを決定する。ここでは、「1つの画素のうちのどの位置からどの方向にドット印字部分を伸ばすか」を「成長位置(PWM位置とも称される)」と表わし、その位置にドットを印字させるための印字パルスを出力する。
【0042】
具体的に、図5に示されるように、画素が主走査方向に連続している場合を例に、PWM印字位置コード生成部211でのPWM印字位置コードの生成方法を説明する。図5において、着目する画素の階調値をD1Dとし、主走査方向である矢印A方向に、着目する画素の直前に隣接する画素の階調値をD0D、直後に隣接する画素の階調値をD2Dとする。また、この例では、原稿画像に含まれる罫線が、淡色(たとえば白色)の地に濃色(たとえば黒色)の罫線であるものとする。
【0043】
PWM印字位置コード生成部211は、着目する画素を挟んだ、主走査方向に隣接する3画素について、各階調値D0D,D1D,D2Dの大小関係を判断する。これら階調値の大小関係が以下の場合(A)〜(E)、以下のように成長位置が決定される:
(A)D0D<D1D≦D2D:D1DをD2D側から成長、
(B)D0D≦D1D<D2D:D1DをD2D側から成長、
(C)D0D>D1D≧D2D:D1DをD0D側から成長、
(D)D0D≧D1D>D2D:D1DをD0D側から成長、
(E)D0D>D1D<D2D:D1DをD0D,D2D両側から均等に成長。
【0044】
言い換えると、PWM印字位置コード生成部211は、着目する画素よりも右に隣接する画素の方が濃度が濃い場合には(上記場合(A),(B))、図6に示されるように、右側からドット印字部分を伸ばすように成長位置を決定する。着目する画素よりも左に隣接する画素の方が濃度が薄い場合には(上記場合(C),(D))、図7に示されるように、左側からドット印字部分を伸ばすように成長位置を決定する。着目する画素が、隣接するいずれの画素よりも濃度が薄い場合には(上記場合(E))、図8に示されるように、左右両側から均等にドット印字部分を伸ばすように成長位置を決定する。そして、各画素について、決定された成長位置を示すPWM印字位置コードが生成され、セレクタ部213に入力される。
【0045】
セレクタ部213は、エッジ信号出力部215から入力されたエッジ信号と、PWM印字位置コード生成部211から入力されたPWM印字位置コードとに基づいて、エッジとして検出された画素についてはPWM印字位置コードに基づいて、決定された位置にドット印字させるための制御信号であるPWM印字制御信号を線幅補正係数乗算部111に入力する。エッジとして検出されていない画素については、予め記憶されている印字位置コードに基づいて、ドット印字部分を当該画素の中央の位置とするための制御信号であるPWM印字制御信号を線幅補正係数乗算部111に入力する。なお、上記予め記憶されている印字位置コードを、ここでは中央印字位置コードと称する。
【0046】
図9は、線幅検出部105の詳細な構成の具体例を示すブロック図である。図9を参照して、線幅検出部105には、入力された、画像データの各画素についての属性データのうちから、線幅を補正する処理の対象となる属性データを選択する線幅補正対象属性選択部301、処理対象の属性データに対してエロージョン処理を行なうエロージョン処理部303、その処理結果に対して第1のダイレーション処理を行なう第1ダイレーション処理部305、第1のダイレーション処理結果に基づいて後述の内線幅を検出して出力する内線幅出力部307、エロージョン処理結果に対して第2のダイレーション処理を行なう第2ダイレーション処理部309、および第2のダイレーション処理結果に基づいて後述の外線幅を検出して出力する外線幅出力部311が含まれる。
【0047】
線幅補正対象属性選択部301は、入力された属性データを解析し、各画素について、その画素がテキストかグラフィックかまたはそのいずれでもないか判断する。その結果、テキストであると判断された画素および罫線(グラフィック)であると判断された画素についての属性データを、線幅を補正する処理の対象とする属性データとして選択し、エロージョン処理部303に入力する。エロージョン処理部303は、入力された処理対象の、各画素に対応した各属性データに対して、1画素*1画素〜n画素*n画素のマトリクスのフィルタを用いて、エロージョン処理を行なう。エロージョン処理結果は、さらに、第1ダイレーション処理部305および第2ダイレーション処理部309において、各々、第1のダイレーション処理および第2のダイレーション処理が施される。なお、エロージョン処理部303でのエロージョン処理、および第1ダイレーション処理部305,第2ダイレーション処理部309でのダイレーション処理は、クロージング処理と呼ばれる一般的な処理であり、これらの具体的な処理方法は、本発明において特定の方法には限定されない。
【0048】
図10および図11は、第1のダイレーション処理および第2のダイレーション処理を説明する図である。
【0049】
図10を参照して、第1ダイレーション処理部305は、第1のダイレーション処理として、エロージョン処理部303での処理結果に対して、エロージョン処理部303で用いたフィルタと同サイズのフィルタを用いてダイレーション処理を実行する。第1のダイレーション処理の結果は内線幅出力部307に入力され、内線幅出力部307より、その処理結果に基づいて後述する内線幅を示す内線幅信号が論理積算出部107に入力される。
【0050】
図11を参照して、第2ダイレーション処理部309は、第2のダイレーション処理として、エロージョン処理部303での処理結果に対して、エロージョン処理部303で用いたフィルタよりも2画素大きいサイズのフィルタを用いてダイレーション処理を実行する。第2のダイレーション処理の結果は外線幅出力部311に入力され、外線幅出力部311より、その処理結果に基づいて後述する外線幅を示す外線幅信号が論理積算出部107に入力される。
【0051】
図12および図13は、内線幅および外線幅を説明する図である。
エロージョン処理部303での処理結果に対して、第1ダイレーション処理部305で、エロージョン処理部303で用いたフィルタと同サイズのフィルタを用いた第1のダイレーション処理が実行されることで、フィルタサイズ以下の細線が排除され、図12においてE部分に示される、1画素分の画素をエッジ画素として両端にもつ、黒線BLが検出される。そして、1画素の幅に相当する幅DAの、両端のエッジ画素を含んだ黒線の幅LAが検出される。ここでは、両端の2つのエッジ画素の幅(DA×2)を含んだ黒線の幅LAを内線幅と称する。
【0052】
エロージョン処理部303での処理結果に対して、第2ダイレーション処理部309で、エロージョン処理部303で用いたフィルタよりも2画素大きいサイズのフィルタを用いた第2のダイレーション処理が実行されることで、図13においてBL部分に示された黒地に対して、E部分に示され、1画素分の画素をエッジ画素として両端にもつ、白く抜かれた線WH(以下、白線)が検出される。そして、1画素の幅に相当する幅DB(=DA)の、両端のエッジ画素を含んだ白線の幅LB、つまり、実際の白線幅よりも両側各1画素分大きい線幅が検出される。ここでは、両端の2つのエッジ画素の幅(DB×2)を含んだ白線の幅LBを外線幅と称する。
【0053】
なお、第1ダイレーション処理部305および第2ダイレーション処理部309で用いるフィルタのサイズの最大値nは、本発明において特定の数値に限定されず、任意の数値に設定され得る。具体的な数値としては6〜8程度が好ましく、より好ましくは7が挙げられる。線幅がフィルタサイズよりも大きい場合には、第1ダイレーション処理部305および第2ダイレーション処理部309において、その旨を示すエラー信号を出力するなどして、フィルタサイズ以上の線幅に対して上記処理がなされないように構成されることが好ましい。
【0054】
論理積算出部107は、内線幅出力部307から入力された内線幅信号とエッジ信号出力部215から入力されたエッジ信号との論理積、または外線幅出力部311から入力された外線幅信号とエッジ信号出力部215から入力されたエッジ信号との論理積を算出し、補正対象となるエッジの線幅が算出される。
【0055】
図14は、本実施の形態にかかる画像形成装置1における、線幅制御処理の流れの具体例を示すフローチャートである。図14のフローチャートに示される処理は、画像形成装置1のCPU11が記憶部13に記憶されている線幅制御プログラムを含むプログラムを読出して実行し、図2に示される各部を制御することによって実現される。
【0056】
図14を参照して、始めに、CPU11は、イメージリーダ部19でスキャンして得られた原稿データ、またはNIC15が他の装置から送信されたデータを受信することで得られた原稿データを取得する(ステップS101)。
【0057】
原稿データのうち、属性データが属性データ入力部101より入力されて、線幅検出部105において線幅が検出され(ステップS103)、線幅信号が出力される。
【0058】
また、原稿データのうち、画像データが画像データ入力部103より入力されて、エッジ検出部109においてエッジ検出される(ステップS105)。また、エッジ検出部109において、前述のPWM位置が決定され(ステップS107)、PWM印字制御信号出力部217より、決定されたPWM位置に基づいたPWM印字制御信号が出力される。
【0059】
論理積算出部107では、上記ステップS105で検出された線幅に基づいて出力された線幅信号と、上記ステップS107で決定されたPWM位置に基づいて出力されたPWM印字制御信号との論理積が算出されることで(ステップS109)、エッジの線幅が算出される。
【0060】
線幅補正係数乗算部111では、ステップS109で算出されたエッジの線幅に基づいて、係数記憶部113に記憶されている線幅補正係数の中から、上記線幅に対応した係数を取得して(ステップS111)、上記線幅に対して乗算することで補正後の線幅を算出する(ステップS113)。
【0061】
CPU11では画像形成処理が実行されて、当該画素の階調がステップS113で算出された補正後の線幅に基づいた新たな階調に置換され、PWM印字制御信号に基づいて、当該画素の成長位置が決定された画像データに基づく、画像形成が行なわれる。画像形成された画像データは、プリンタ部21またはNIC15を介して他の装置に対して出力される(ステップS115)。
【0062】
さらに、図15は、上記ステップS103における線幅検出処理を示すフローチャートである。
【0063】
図15を参照して、始めに、線幅補正対象属性選択部301において、原稿データに含まれる属性データのうち、テキストであると判断された画素および罫線(グラフィック)であると判断された画素についての属性データを、線幅を補正する処理の対象とする属性データとして選択する(ステップS201)。
【0064】
ステップS201で選択された属性データに対して、エロージョン処理部303において1画素*1画素〜n画素*n画素のマトリクスのフィルタを用いてエロージョン処理が行なわれ(ステップS203)、さらにその結果に対して、第1ダイレーション処理部305において上記フィルタと同サイズのフィルタを用いて第1ダイレーション処理が行なわれる(ステップS205)。ステップS205での第1ダイレーション処理の結果に基づいて、内線幅出力部307より先述の内線幅が算出されて、内線幅を示す内線幅信号が出力される(ステップS207)。
【0065】
また、上記ステップS203でのエロージョン処理の結果に対して、第2ダイレーション処理部309において上記ステップS203で用いられたフィルタよりも2画素大きいサイズのフィルタを用いて第2ダイレーション処理が行なわれる(ステップS209)。ステップS209での第2ダイレーション処理の結果に基づいて、外線幅出力部311より先述の外線幅が算出されて、外線幅を示す外線幅信号が出力される(ステップS211)。
【0066】
なお、上記ステップS205〜S207の処理と、ステップS209〜S211の処理とは独立した処理であるため、処理順は上記処理順に限定されずに逆の順であってもよい。
【0067】
上記ステップS205〜S207の処理と、ステップS209〜S211の処理とは、ステップS201で選択された各属性データに対して実行され、ステップS201で選択されたすべての属性データに対して処理が終了すると(ステップS213でYES)、処理がステップS105に移行する。
【0068】
図16は、上記ステップS105におけるエッジ検出処理を示すフローチャートである。
【0069】
図16を参照して、始めに、1次微分フィルタ演算部201において原稿データに含まれる画像データに対して1次微分フィルタを用いた演算が実行され(ステップS301)、2次微分フィルタ演算部203において画像データに対して2次微分フィルタを用いた演算が実行される(ステップS303)。ステップS301の処理とステップS303の処理とは独立した処理であるので、処理順は上記処理順に限定されずに逆の順であってもよい。
【0070】
次に、エッジ抽出部205において、上記ステップS301での処理結果および上記ステップS303での処理結果よりエッジである画素が抽出される(ステップS305)。ステップS305で抽出されたエッジである画素に対して、エッジダイレーション部207においてダイレーション処理が実行され(ステップS307)、さらにその結果に対してエッジエロージョン部209においてエロージョン処理が実行される(ステップS309)。
【0071】
ステップS307のダイレーション処理とステップS309のエロージョン処理とは、ステップS305でエッジと抽出された各画素に対して実行され、ステップS305でエッジと抽出されたすべての画素に対して処理が終了すると(ステップS311でYES)、エッジ信号出力部215においてエッジである画素を示すエッジ検出信号が出力され(ステップS313)、処理がステップS107に移行する。
【0072】
図17は、上記ステップS107におけるPWM位置決定処理を示すフローチャートである。
【0073】
図17を参照して、始めに、PWM印字位置コード生成部211において、原稿データに含まれる画像データの各画素について、先述のPWM印字位置コードが生成される(ステップS401)。
【0074】
次に、セレクタ部213において、上記ステップS313でエッジ信号出力部215より出力されたエッジ信号に基づいて、ステップS401でPWM印字位置コードが生成された画素がエッジと抽出された画素であるか否かが判断される(ステップS403)。その結果、エッジと抽出された画素であると判断された画素については(ステップS403でYES)、PWM印字制御信号出力部217より、ステップS401で生成されたPWM印字位置コードに基づいたPWM印字制御信号が出力される(ステップS405)。そでない場合には(ステップS403でNO)、PWM印字制御信号出力部217より、先述の中央印字位置コードに基づいたPWM印字制御信号が出力される(ステップS407)。
【0075】
上記ステップS401〜S407の処理は、ステップS101で取得された原稿データに含まれる画像データのすべての画素に対して実行され、すべての画素に対して処理が終了すると(ステップS409でYES)、処理がステップS109に移行する。
【0076】
なお、本具体例では、上記ステップS401で画像データに含まれるすべての画素についてPWM印字位置コードが生成されるものとしているが、予め上記ステップS403の判断を行なってエッジ画素であると判断された画素についてのみPWM印字位置コードが生成されるようにしてもよい。つまり、本処理の処理順は上記の順に限定されず、ステップS401の前にステップS403が実行されて、その判断結果に応じてステップS401のPWM印字位置コードの生成処理が実行されるようにしてもよい。
【0077】
本実施の形態にかかる画像形成装置1において上記処理が実行されることで、文字や罫線のエッジ部分が、所定の太さである場合に、線幅補正係数を用いて階調を置換して、線幅を細くすることができる。このため、画像形成装置1のエンジン特性に起因した、文字や罫線のエッジ部分が太くなる現象が抑制され、細線の再現性が高められる。その結果、画像形成装置1では、高品質の画像を形成することができる。
【0078】
[変形例1]
第1の変形例にかかる画像形成装置1は、図18に示されるように、図2に示された機能構成に加えて、画像データから色を検出する色検出部117をさらに含んで構成される。色検出部117は、画像データの画素ごとに、色を検出し、検出された色を示す色検出信号を線幅補正係数乗算部111に入力する。色検出部117において画像データから色を検出する方法については、本発明において特定の方法には限定されず、いかなる方法も採用され得る。
【0079】
第1の変形例にかかる画像形成装置1の係数記憶部113には、図19に示されるように、1dotからndotの各々の線幅に対して色別に設定された線幅補正係数が記憶されている。なお、図19に示される係数の具体的な数値もまた1つの具体例であり、本発明はこの数値に限定されない。
【0080】
第1の変形例にかかる画像形成装置1では、上記ステップS105でエッジ検出部109において画像データからエッジを検出すると共に、色検出部117において画像データから画素ごとに色を検出する。そして、上記ステップS111において、線幅補正係数乗算部111で、ステップS109で算出されたエッジの線幅および上記ステップS105で検出されたそのエッジの色に基づいて、対応する線幅補正係数を取得する。
【0081】
エンジン特定の1つとして、色によって、ドットの膨張の仕方(エッジの太り方)が異なる場合がある。そのように、色によって異なる場合であっても、第1の変形例にかかる画像形成装置1がこのように色別に設定された線幅補正係数を用いて色ごとに線幅を補正することで、画像形成装置1のエンジン特性に起因した、文字や罫線のエッジ部分が太くなる現象が抑制され、細線の再現性が高められる。その結果、画像形成装置1では、高品質の画像を形成することができる。
【0082】
[変形例2]
第2の変形例においては、画像形成装置1は、原稿データと共に当該原稿のモードや言語情報なども取得する。
【0083】
モードとは、当該原稿データが文書データであるのか、WEBデータであるのか、CAD(Computer Aided Design)であるのか、など、原稿データの種類を規定する情報である。モードは、当該原稿データを作成しているアプリケーションから印字指示がなされた際に、自動的に原稿データと共に画像形成装置1に対して送信されてもよい。また、ユーザが操作パネル17より印字指示を行なう際に入力することによって、原稿データと共に画像形成装置1に入力されてもよい。また、モードは、原稿データとは別のデータであってもよいし、原稿データに含まれてもよい。または、原稿データに含まれる属性データの一部であってもよい。
【0084】
言語情報とは、当該原稿データの言語を表わす情報である。言語情報も上記モードと同様にして画像形成装置1で取得され得る。また、言語情報は原稿データとは別のデータであってもよいし、原稿データに含まれてもよい。または、原稿データに含まれる属性データの一部であってもよい。
【0085】
上述の原稿のモードや言語情報などは、当該原稿データを作成(または変更・修正等)したアプリケーションにおいて印刷の指示を行なって原稿データを画像形成装置1に送信する際に、画像形成装置1に印刷の指示を行なうためのプログラム(コントローラ)によって生成されて、当該プログラムの実行にしたがって、原稿データと共に画像形成装置1に送信される。そして、これらの情報は、線幅補正係数乗算部111に入力される。
【0086】
第2の変形例にかかる画像形成装置1の係数記憶部113には、図19に示されたように、1dotからndotの各々の線幅に対して原稿のモード別や言語別に設定された線幅補正係数が記憶されている。上記ステップS111で線幅補正係数乗算部111は、ステップS109で算出されたエッジの線幅および入力された原稿のモードや言語情報に基づいて、対応する線幅補正係数を取得する。
【0087】
エンジン特定の1つとして、原稿のモードや言語情報によって、ドットの膨張の仕方(エッジの太り方)が異なる場合がある。そのように、原稿のモードや言語情報によって異なる場合であっても、第1の変形例にかかる画像形成装置1がこのように原稿のモードや言語情報別に設定された線幅補正係数を用いて線幅を補正することで、画像形成装置1のエンジン特性に起因した、文字や罫線のエッジ部分が太くなる現象が抑制され、細線の再現性が高められる。その結果、画像形成装置1では、高品質の画像を形成することができる。
【0088】
さらに、上述の本実施の形態にかかる線幅制御をコンピュータに実行させるプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【0089】
なお、本発明にかかるプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【0090】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【0091】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【0092】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0093】
1 画像形成装置、11 CPU、13 記憶部、15 NIC、17 操作パネル、19 イメージリーダ部、21 プリンタ部、23 センサ部、101 属性データ入力部、103 画像データ入力部、105 線幅検出部、109 エッジ検出部、107 論理積算出部、113 係数記憶部、111 線幅補正係数乗算部、115 画像データ出力部、117 色検出部、201 1次微分フィルタ演算部、203 2次微分フィルタ演算部、205 エッジ抽出部、207 エッジダイレーション部、209 エッジエロージョン部、211 PWM印字位置コード生成部、213 セレクタ部、215 エッジ信号出力部、217 PWM印字制御信号出力部、301 線幅補正対象属性選択部、303 エロージョン処理部、305 第1ダイレーション処理部、307 内線幅出力部、309 第2ダイレーション処理部、311 外線幅出力部。

【特許請求の範囲】
【請求項1】
画像データに対応した属性データより、前記画像データに含まれる線の線幅を検出する線幅検出手段と、
前記画像データよりエッジ画素を検出するエッジ検出手段と、
前記画像データより前記線の色を検出する色検出手段と、
色ごとに線幅に対応した線幅補正係数を記憶する記憶手段と、
前記エッジ画素について、前記線幅検出手段で検出された線幅と前記色検出手段で検出された色とに対応した線幅補正係数を前記記憶手段から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する補正手段とを備える、画像形成装置。
【請求項2】
前記線幅検出手段は、
前記属性データに対して、1画素*1画素〜n画素*n画素のマトリクスのフィルタを用いてエロージョン処理を行なうエロージョン処理手段と、
前記各マトリクスのフィルタを用いたエロージョン処理に対して、前記エロージョン処理と同じサイズのフィルタを用いてダイレーション処理を行なう第1ダイレーション処理手段と、
前記各マトリクスのフィルタを用いたエロージョン処理に対して、前記エロージョン処理に用いたサイズよりも2画素大きいマトリクスのフィルタを用いてダイレーション処理を行なう第2ダイレーション処理手段と、
前記第1ダイレーション処理手段における処理結果による第1の線幅と、前記第2ダイレーション処理手段における処理結果による第2の線幅とを出力する線幅出力手段とを含む、請求項1に記載の画像形成装置。
【請求項3】
前記エロージョン処理で用いられる前記フィルタのサイズの最大値nは、任意に設定可能であり、
前記エロージョン処理手段は、前記線幅がnよりも大きい場合には、前記エロージョン処理を行なわないようにする、請求項2に記載の画像形成装置。
【請求項4】
前記エッジ検出手段は、
前記画像データを1次微分する1次微分演算手段と、
前記画像データを2次微分する2次微分演算手段と、
前記1次微分の結果と前記2次微分の結果との論理積に対してダイレーション処理を行なうエッジダイレーション処理手段と、
前記ダイレーション処理の結果に対してエロージョン処理を行なうエッジエロージョン処理手段と、
前記画像データの各画素について、主走査方向に隣接する両画素との間の階調差に基づき、当該画素内で当該画素に隣接する前記両画素のいずれ側から印字ドットの成長を開始するかを示すPWM印字位置コードを生成する生成手段と、
前記エロージョン処理の結果に基づいて、前記画素の画素内での印字パルス出力位置を制御するコードとして、前記生成手段で生成された前記PWM印字位置コードとするか、前記画素の印字パルス出力位置を当該画素の中央とすることを示す中央印字位置コードとするかを選択する選択手段とを含む、請求項1〜3のいずれかに記載の画像形成装置。
【請求項5】
前記記憶手段は、前記画像データのモードおよび/または言語ごとに、色ごとに線幅に対応した線幅補正係数を記憶し、
前記補正手段は、前記エッジ画素について、前記線幅検出手段で検出された線幅と前記色検出手段で検出された色と前記画像データのモードおよび/または言語とに対応した線幅補正係数を前記記憶手段から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する、請求項1〜4のいずれかに記載の画像形成装置。
【請求項6】
画像形成装置において形成される画像に含まれる線の幅を制御する方法であって、
前記画像形成装置は、色ごとに線幅に対応した線幅補正係数を記憶する記憶手段を含み、
前記画像形成装置において、画像データと前記画像データに対応した属性データとを取得する取得ステップと、
前記属性データより、前記画像データに含まれる線の線幅を検出する線幅検出ステップと、
前記画像データより、前記線の色を検出する色検出ステップと、
前記画像データよりエッジ画素を検出するエッジ検出ステップと、
前記エッジ画素について前記線幅検出ステップで検出された線幅と前記色検出ステップで検出された色とに対応した線幅補正係数を前記記憶手段から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する補正ステップとを備える、線幅制御方法。
【請求項7】
前記線幅検出ステップは、
前記属性データに対して、1画素*1画素〜n画素*n画素のマトリクスのフィルタを用いてエロージョン処理を行なうエロージョン処理ステップと、
前記各マトリクスのフィルタを用いたエロージョン処理に対して、前記エロージョン処理と同じサイズのフィルタを用いてダイレーション処理を行なう第1ダイレーション処理ステップと、
前記各マトリクスのフィルタを用いたエロージョン処理に対して、前記エロージョン処理に用いたサイズよりも2画素大きいマトリクスのフィルタを用いてダイレーション処理を行なう第2ダイレーション処理ステップと、
前記第1ダイレーション処理ステップにおける処理結果による第1の線幅と、前記第2ダイレーション処理ステップにおける処理結果による第2の線幅とを出力する線幅出力ステップとを含む、請求項6に記載の線幅制御方法。
【請求項8】
前記エロージョン処理で用いられる前記フィルタのサイズの最大値nは、任意に設定可能であり、
前記エロージョン処理ステップでは、前記線幅がnよりも大きい場合には、前記エロージョン処理を行なわないようにする、請求項7に記載の線幅制御方法。
【請求項9】
前記エッジ検出ステップは、
前記画像データを1次微分する1次微分演算ステップと、
前記画像データを2次微分する2次微分演算ステップと、
前記1次微分の結果と前記2次微分の結果との論理積を算出することで、前記画像データの中からエッジ画素を抽出するエッジ抽出ステップと、
前記エッジ画素として抽出された画素について、前記1次微分の結果と前記2次微分の結果との論理積に対してダイレーション処理を行なうエッジダイレーション処理ステップと、
前記ダイレーション処理の結果に対してエロージョン処理を行なうエッジエロージョン処理ステップと、
前記画像データの各画素について、主走査方向に隣接する両画素との間の階調差に基づき、当該画素内で当該画素に隣接する前記両画素のいずれ側から印字ドットの成長を開始するかを示すPWM印字位置コードを生成する生成ステップと、
前記エロージョン処理の結果に基づいて前記画素がエッジ画素と検出された場合に、前記画素の画素内での印字パルス出力位置を制御するコードとして、前記生成ステップで生成された前記PWM印字位置コードを出力する第1出力ステップと、
前記エロージョン処理の結果に基づいて前記画素がエッジ画素と検出されなかった場合に、前記画素の画素内での印字パルス出力位置を制御するコードとして、前記画素の印字パルス出力位置を当該画素の中央とすることを示す中央印字位置コードを出力する第2出力ステップとを含む、請求項6〜8のいずれかに記載の線幅制御方法。
【請求項10】
前記記憶手段は、前記画像データのモードおよび/または言語ごとに、色ごとに線幅に対応した線幅補正係数を記憶し、
前記補正ステップは、前記エッジ画素について、前記線幅検出ステップで検出された線幅と前記色検出ステップで検出された色と前記画像データのモードおよび/または言語とに対応した線幅補正係数を前記記憶手段から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する、請求項6〜9のいずれかに記載の線幅制御方法。
【請求項11】
画像形成される画像に含まれる線の幅を制御する処理をコンピュータに実行させるプログラムであって、
前記画像形成装置において、画像データと前記画像データに対応した属性データとを取得する取得ステップと、
前記属性データより、前記画像データに含まれる線の線幅を検出する線幅検出ステップと、
前記画像データより、前記線の色を検出する色検出ステップと、
前記画像データよりエッジ画素を検出するエッジ検出ステップと、
前記エッジ画素について前記線幅検出ステップで検出された線幅と前記色検出ステップで検出された色とに対応した線幅補正係数を、色ごとに線幅に対応した線幅補正係数を記憶する記憶装置から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する補正ステップとを実行させる、線幅制御プログラム。
【請求項12】
前記線幅検出ステップは、
前記属性データに対して、1画素*1画素〜n画素*n画素のマトリクスのフィルタを用いてエロージョン処理を行なうエロージョン処理ステップと、
前記各マトリクスのフィルタを用いたエロージョン処理に対して、前記エロージョン処理と同じサイズのフィルタを用いてダイレーション処理を行なう第1ダイレーション処理ステップと、
前記各マトリクスのフィルタを用いたエロージョン処理に対して、前記エロージョン処理に用いたサイズよりも2画素大きいマトリクスのフィルタを用いてダイレーション処理を行なう第2ダイレーション処理ステップと、
前記第1ダイレーション処理ステップにおける処理結果による第1の線幅と、前記第2ダイレーション処理ステップにおける処理結果による第2の線幅とを出力する線幅出力ステップとを含む、請求項11に記載の線幅制御プログラム。
【請求項13】
前記エロージョン処理で用いられる前記フィルタのサイズの最大値nは、任意に設定可能であり、
前記エロージョン処理ステップでは、前記線幅がnよりも大きい場合には、前記エロージョン処理を行なわないようにする、請求項12に記載の線幅制御プログラム。
【請求項14】
前記エッジ検出ステップは、
前記画像データを1次微分する1次微分演算ステップと、
前記画像データを2次微分する2次微分演算ステップと、
前記1次微分の結果と前記2次微分の結果との論理積を算出することで、前記画像データの中からエッジ画素を抽出するエッジ抽出ステップと、
前記エッジ画素として抽出された画素について、前記1次微分の結果と前記2次微分の結果との論理積に対してダイレーション処理を行なうエッジダイレーション処理ステップと、
前記ダイレーション処理の結果に対してエロージョン処理を行なうエッジエロージョン処理ステップと、
前記画像データの各画素について、主走査方向に隣接する両画素との間の階調差に基づき、当該画素内で当該画素に隣接する前記両画素のいずれ側から印字ドットの成長を開始するかを示すPWM印字位置コードを生成する生成ステップと、
前記エロージョン処理の結果に基づいて前記画素がエッジ画素と検出された場合に、前記画素の画素内での印字パルス出力位置を制御するコードとして、前記生成ステップで生成された前記PWM印字位置コードを出力する第1出力ステップと、
前記エロージョン処理の結果に基づいて前記画素がエッジ画素と検出されなかった場合に、前記画素の画素内での印字パルス出力位置を制御するコードとして、前記画素の印字パルス出力位置を当該画素の中央とすることを示す中央印字位置コードを出力する第2出力ステップとを含む、請求項11〜13のいずれかに記載の線幅制御プログラム。
【請求項15】
前記記憶装置は、前記画像データのモードおよび/または言語ごとに、色ごとに線幅に対応した線幅補正係数を記憶し、
前記補正ステップは、前記エッジ画素について、前記線幅検出ステップで検出された線幅と前記色検出ステップで検出された色と前記画像データのモードおよび/または言語とに対応した線幅補正係数を前記記憶装置から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する、請求項11〜14のいずれかに記載の線幅制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2009−105943(P2009−105943A)
【公開日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願番号】特願2009−3825(P2009−3825)
【出願日】平成21年1月9日(2009.1.9)
【分割の表示】特願2006−321871(P2006−321871)の分割
【原出願日】平成18年11月29日(2006.11.29)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】