(57)【要約】【課題】細線の再現性を高めることで、高品質の画像を形成することのできる画像形成装置を提案する。【解決手段】画像形成装置は、属性データ入力部１０１から入力された属性データより、線幅検出部１０５において線幅を検出する。画像データ入力部１０３から入力された画像データより、エッジ検出部１０９においてエッジを検出する。論理積算出部１０７においてこれらの論理積が算出される。係数記憶部１１３には、線幅に対して個別に設定された係数が記憶され、線幅補正係数乗算部１１１は、エッジと検出された画素について、検出された線幅に対応した補正係数を取得し、乗算することで、その線幅を補正する。【選択図】図２
2008134912.tif 000002
【特許請求の範囲】
【請求項１】
画像データに対応した属性データより、前記画像データに含まれる線の線幅を検出する線幅検出手段と、
前記画像データよりエッジ画素を検出するエッジ検出手段と、
線幅に対応した線幅補正係数を記憶する記憶手段と、
前記エッジ画素について前記線幅検出手段で検出された線幅に対応した線幅補正係数を前記記憶手段から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する補正手段とを備える、画像形成装置。
【請求項２】
前記線幅検出手段は、
前記属性データに対して、１画素＊１画素〜ｎ画素＊ｎ画素のマトリクスのフィルタを用いてエロージョン処理を行なうエロージョン処理手段と、
前記各マトリクスのフィルタを用いたエロージョン処理に対して、前記エロージョン処理と同じサイズのフィルタを用いてダイレーション処理を行なう第１ダイレーション処理手段と、
前記各マトリクスのフィルタを用いたエロージョン処理に対して、前記エロージョン処理に用いたサイズよりも２画素大きいマトリクスのフィルタを用いてダイレーション処理を行なう第２ダイレーション処理手段と、
前記第１ダイレーション処理手段における処理結果による第１の線幅と、前記第２ダイレーション処理手段における処理結果による第２の線幅とを出力する線幅出力手段とを含む、請求項１に記載の画像形成装置。
【請求項３】
前記エロージョン処理で用いられる前記フィルタのサイズの最大値ｎは、任意に設定可能であり、
前記エロージョン処理手段は、前記線幅がｎよりも大きい場合には、前記エロージョン処理を行なわないようにする、請求項２に記載の画像形成装置。
【請求項４】
前記エッジ検出手段は、
前記画像データを１次微分する１次微分演算手段と、
前記画像データを２次微分する２次微分演算手段と、
前記１次微分の結果と前記２次微分の結果との論理積に対してダイレーション処理を行なうエッジダイレーション処理手段と、
前記ダイレーション処理の結果に対してエロージョン処理を行なうエッジエロージョン処理手段と、
前記画像データの各画素について、主走査方向に隣接する両画素との間の階調差に基づき、当該画素内で当該画素に隣接する前記両画素のいずれ側から印字ドットの成長を開始するかを示すＰＷＭ印字位置コードを生成する生成手段と、
前記エロージョン処理の結果に基づいて、前記画素の画素内での印字パルス出力位置を制御するコードとして、前記生成手段で生成された前記ＰＷＭ印字位置コードとするか、前記画素の印字パルス出力位置を当該画素の中央とすることを示す中央印字位置コードとするかを選択する選択手段とを含む、請求項１に記載の画像形成装置。
【請求項５】
前記画像データより、前記線の色を検出する色検出手段をさらに備え、
前記記憶手段は、色ごとに線幅に対応した線幅補正係数を記憶し、
前記補正手段は、前記エッジ画素について、前記線幅検出手段で検出された線幅と前記色検出手段で検出された色とに対応した線幅補正係数を前記記憶手段から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する、請求項１に記載の画像形成装置。
【請求項６】
前記記憶手段は、前記画像データのモードおよび／または言語ごとに、線幅に対応した線幅補正係数を記憶し、
前記補正手段は、前記エッジ画素について、前記線幅検出手段で検出された線幅と前記画像データのモードおよび／または言語とに対応した線幅補正係数を前記記憶手段から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する、請求項１に記載の画像形成装置。
【請求項７】
画像形成装置において形成される画像に含まれる線の幅を制御する方法であって、
前記画像形成装置は、線幅に対応した線幅補正係数を記憶する記憶手段を含み、
前記画像形成装置において、画像データと前記画像データに対応した属性データとを取得する取得ステップと、
前記属性データより、前記画像データに含まれる線の線幅を検出する線幅検出ステップと、
前記画像データよりエッジ画素を検出するエッジ検出ステップと、
前記エッジ画素について前記線幅検出ステップで検出された線幅に対応した線幅補正係数を前記記憶手段から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する補正ステップとを備える、線幅制御方法。
【請求項８】
前記線幅検出ステップは、
前記属性データに対して、１画素＊１画素〜ｎ画素＊ｎ画素のマトリクスのフィルタを用いてエロージョン処理を行なうエロージョン処理ステップと、
前記各マトリクスのフィルタを用いたエロージョン処理に対して、前記エロージョン処理と同じサイズのフィルタを用いてダイレーション処理を行なう第１ダイレーション処理ステップと、
前記各マトリクスのフィルタを用いたエロージョン処理に対して、前記エロージョン処理に用いたサイズよりも２画素大きいマトリクスのフィルタを用いてダイレーション処理を行なう第２ダイレーション処理ステップと、
前記第１ダイレーション処理ステップにおける処理結果による第１の線幅と、前記第２ダイレーション処理ステップにおける処理結果による第２の線幅とを出力する線幅出力ステップとを含む、請求項７に記載の線幅制御方法。
【請求項９】
前記エロージョン処理で用いられる前記フィルタのサイズの最大値ｎは、任意に設定可能であり、
前記エロージョン処理ステップでは、前記線幅がｎよりも大きい場合には、前記エロージョン処理を行なわないようにする、請求項８に記載の線幅制御方法。
【請求項１０】
前記エッジ検出ステップは、
前記画像データを１次微分する１次微分演算ステップと、
前記画像データを２次微分する２次微分演算ステップと、
前記１次微分の結果と前記２次微分の結果との論理積を算出することで、前記画像データの中からエッジ画素を抽出するエッジ抽出ステップと、
前記エッジ画素として抽出された画素について、前記１次微分の結果と前記２次微分の結果との論理積に対してダイレーション処理を行なうエッジダイレーション処理ステップと、
前記ダイレーション処理の結果に対してエロージョン処理を行なうエッジエロージョン処理ステップと、
前記画像データの各画素について、主走査方向に隣接する両画素との間の階調差に基づき、当該画素内で当該画素に隣接する前記両画素のいずれ側から印字ドットの成長を開始するかを示すＰＷＭ印字位置コードを生成する生成ステップと、
前記エロージョン処理の結果に基づいて前記画素がエッジ画素と検出された場合に、前記画素の画素内での印字パルス出力位置を制御するコードとして、前記生成手段で生成された前記ＰＷＭ印字位置コードを出力する第１出力ステップと、
前記エロージョン処理の結果に基づいて前記画素がエッジ画素と検出されなかった場合に、前記画素の画素内での印字パルス出力位置を制御するコードとして、前記画素の印字パルス出力位置を当該画素の中央とすることを示す中央印字位置コードを出力する第２出力ステップとを含む、請求項７に記載の線幅制御方法。
【請求項１１】
前記記憶手段は、色ごとに線幅に対応した線幅補正係数を記憶し、
前記画像データより、前記線の色を検出する色検出ステップをさらに含み、
前記補正ステップは、前記エッジ画素について、前記線幅検出ステップで検出された線幅と前記色検出ステップで検出された色とに対応した線幅補正係数を前記記憶手段から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する、請求項７に記載の線幅制御方法。
【請求項１２】
前記記憶手段は、前記画像データのモードおよび／または言語ごとに、線幅に対応した線幅補正係数を記憶し、
前記補正ステップは、前記エッジ画素について、前記線幅検出ステップで検出された線幅と前記画像データのモードおよび／または言語とに対応した線幅補正係数を前記記憶手段から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する、請求項７に記載の線幅制御方法。
【請求項１３】
画像形成される画像に含まれる線の幅を制御する処理をコンピュータに実行させるプログラムであって、
前記画像形成装置において、画像データと前記画像データに対応した属性データとを取得する取得ステップと、
前記属性データより、前記画像データに含まれる線の線幅を検出する線幅検出ステップと、
前記画像データよりエッジ画素を検出するエッジ検出ステップと、
前記エッジ画素について前記線幅検出ステップで検出された線幅に対応した線幅補正係数を、線幅に対応した線幅補正係数を記憶する記憶装置から取得し、前記線幅と前記線幅補正係数とを用いて前記エッジ画素の階調を補正することで前記線幅を補正する補正ステップとを実行させる、線幅制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像形成装置、線幅制御方法、および線幅制御プログラムに関し、特に、細線を高品質で再現できる画像形成装置、線幅制御方法、および線幅制御プログラムに関する。
【背景技術】
【０００２】
ファクシミリ等の画像入力装置で原稿を移動させて画像を読取る際、同じ線幅の細線を読取っても副走査方向（縦細線）よりも走査方向（横細線）の方が出力が高くなる。そのため、副走査方向に対する補正が主走査方向に対する補正よりも弱くされている。その結果、副走査方向に該当する横細線に細線切れなどの画質の劣化が発生していた。
【０００３】
この問題に対処するため、特開平６−３０２６７号公報（以下、特許文献１）では、横細線の細線切れを防ぎ、画質の向上を図る画像読取装置が提案されている。この画像読取装置では、画像入力部での線幅に対する最小出力特性が、縦細線最小出力より横細線最小出力の方が高い場合、画像処理部でのＭＦＴ補正で、副走査方向の画素への重み係数を主走査方向の画素の重み係数よりも大きくすることで、横細線読取時の線の欠けを防いでいる。
【特許文献１】特開平６−３０２６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、このように入力された画像データであっても、ＭＦＰ（Multi Function Peripheral）などの画像形成装置においてフォントを印刷すると、エンジンの性能によって、ドットが膨張する傾向がある。その結果、細線の再現性が低下するという問題があった。
【０００５】
細線の再現性が低下すると、細線が再現されず、フォントの種類が判別できなくなるという問題がある。また、細線が細線として出力されず、出力画像の品質が低下するという問題もある。また、サイズの小さなフォントは、フォント自身が判別できなくなる場合もあるという問題もある。
【０００６】
本発明はこのような問題に鑑みてなされたものであって、細線の再現性を高めることで、高品質の画像を形成することのできる画像形成装置、線幅制御方法、および線幅制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のある局面に従うと、画像形成装置は、画像データに対応した属性データより、画像データに含まれる線の線幅を検出する線幅検出手段と、画像データよりエッジ画素を検出するエッジ検出手段と、線幅に対応した線幅補正係数を記憶する記憶手段と、エッジ画素について線幅検出手段で検出された線幅に対応した線幅補正係数を記憶手段から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する補正手段とを備える。
【０００８】
好ましくは、線幅検出手段は、属性データに対して、１画素＊１画素〜ｎ画素＊ｎ画素のマトリクスのフィルタを用いてエロージョン処理を行なうエロージョン処理手段と、各マトリクスのフィルタを用いたエロージョン処理に対して、エロージョン処理と同じサイズのフィルタを用いてダイレーション処理を行なう第１ダイレーション処理手段と、各マトリクスのフィルタを用いたエロージョン処理に対して、エロージョン処理に用いたサイズよりも２画素大きいマトリクスのフィルタを用いてダイレーション処理を行なう第２ダイレーション処理手段と、第１ダイレーション処理手段における処理結果による第１の線幅と、第２ダイレーション処理手段における処理結果による第２の線幅とを出力する線幅出力手段とを含む。
【０００９】
より好ましくは、エロージョン処理で用いられるフィルタのサイズの最大値ｎは、任意に設定可能であり、エロージョン処理手段は、線幅がｎよりも大きい場合には、エロージョン処理を行なわないようにする。
【００１０】
好ましくは、エッジ検出手段は、画像データを１次微分する１次微分演算手段と、画像データを２次微分する２次微分演算手段と、１次微分の結果と２次微分の結果との論理積に対してダイレーション処理を行なうエッジダイレーション処理手段と、ダイレーション処理の結果に対してエロージョン処理を行なうエッジエロージョン処理手段と、画像データの各画素について、主走査方向に隣接する両画素との間の階調差に基づき、当該画素内で当該画素に隣接する両画素のいずれ側から印字ドットの成長を開始するかを示すＰＷＭ印字位置コードを生成する生成手段と、エロージョン処理の結果に基づいて、画素の画素内での印字パルス出力位置を制御するコードとして、生成手段で生成されたＰＷＭ印字位置コードとするか、画素の印字パルス出力位置を当該画素の中央とすることを示す中央印字位置コードとするかを選択する選択手段とを含む。
【００１１】
好ましくは、画像形成装置は、画像データより、線の色を検出する色検出手段をさらに備え、記憶手段は、色ごとに線幅に対応した線幅補正係数を記憶し、補正手段は、エッジ画素について、線幅検出手段で検出された線幅と色検出手段で検出された色とに対応した線幅補正係数を記憶手段から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する。
【００１２】
好ましくは、記憶手段は、画像データのモードおよび／または言語ごとに、線幅に対応した線幅補正係数を記憶し、補正手段は、エッジ画素について、線幅検出手段で検出された線幅と画像データのモードおよび／または言語とに対応した線幅補正係数を記憶手段から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する。
【００１３】
本発明の他の局面に従うと、線幅制御方法は、画像形成装置において形成される画像に含まれる線の幅を制御する方法であって、画像形成装置は、線幅に対応した線幅補正係数を記憶する記憶手段を含み、画像形成装置において、画像データと画像データに対応した属性データとを取得する取得ステップと、属性データより、画像データに含まれる線の線幅を検出する線幅検出ステップと、画像データよりエッジ画素を検出するエッジ検出ステップと、エッジ画素について線幅検出ステップで検出された線幅に対応した線幅補正係数を記憶手段から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する補正ステップとを備える。
【００１４】
好ましくは、線幅検出ステップは、属性データに対して、１画素＊１画素〜ｎ画素＊ｎ画素のマトリクスのフィルタを用いてエロージョン処理を行なうエロージョン処理ステップと、各マトリクスのフィルタを用いたエロージョン処理に対して、エロージョン処理と同じサイズのフィルタを用いてダイレーション処理を行なう第１ダイレーション処理ステップと、各マトリクスのフィルタを用いたエロージョン処理に対して、エロージョン処理に用いたサイズよりも２画素大きいマトリクスのフィルタを用いてダイレーション処理を行なう第２ダイレーション処理ステップと、第１ダイレーション処理ステップにおける処理結果による第１の線幅と、第２ダイレーション処理ステップにおける処理結果による第２の線幅とを出力する線幅出力ステップとを含む。
【００１５】
より好ましくは、エロージョン処理で用いられるフィルタのサイズの最大値ｎは、任意に設定可能であり、エロージョン処理ステップでは、線幅がｎよりも大きい場合には、エロージョン処理を行なわないようにする。
【００１６】
好ましくは、エッジ検出ステップは、画像データを１次微分する１次微分演算ステップと、画像データを２次微分する２次微分演算ステップと、１次微分の結果と２次微分の結果との論理積を算出することで、画像データの中からエッジ画素を抽出するエッジ抽出ステップと、エッジ画素として抽出された画素について、１次微分の結果と２次微分の結果との論理積に対してダイレーション処理を行なうエッジダイレーション処理ステップと、ダイレーション処理の結果に対してエロージョン処理を行なうエッジエロージョン処理ステップと、画像データの各画素について、主走査方向に隣接する両画素との間の階調差に基づき、当該画素内で当該画素に隣接する両画素のいずれ側から印字ドットの成長を開始するかを示すＰＷＭ印字位置コードを生成する生成ステップと、エロージョン処理の結果に基づいて画素がエッジ画素と検出された場合に、画素の画素内での印字パルス出力位置を制御するコードとして、生成手段で生成されたＰＷＭ印字位置コードを出力する第１出力ステップと、エロージョン処理の結果に基づいて画素がエッジ画素と検出されなかった場合に、画素の画素内での印字パルス出力位置を制御するコードとして、画素の印字パルス出力位置を当該画素の中央とすることを示す中央印字位置コードを出力する第２出力ステップとを含む。
【００１７】
好ましくは、記憶手段は、色ごとに線幅に対応した線幅補正係数を記憶し、線幅制御方法は、画像データより、線の色を検出する色検出ステップをさらに含み、補正ステップは、エッジ画素について、線幅検出ステップで検出された線幅と色検出ステップで検出された色とに対応した線幅補正係数を記憶手段から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調値を算出することで線幅を補正する。
【００１８】
好ましくは、記憶手段は、画像データのモードおよび／または言語ごとに、線幅に対応した線幅補正係数を記憶し、補正ステップは、エッジ画素について、線幅検出ステップで検出された線幅と画像データのモードおよび／または言語とに対応した線幅補正係数を記憶手段から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する。
【００１９】
本発明のさらに他の局面に従うと、線幅制御プログラムは、画像形成される画像に含まれる線の幅を制御する処理をコンピュータに実行させるプログラムであって、画像形成装置において、画像データと画像データに対応した属性データとを取得する取得ステップと、属性データより、画像データに含まれる線の線幅を検出する線幅検出ステップと、画像データよりエッジ画素を検出するエッジ検出ステップと、エッジ画素について線幅検出ステップで検出された線幅に対応した線幅補正係数を、線幅に対応した線幅補正係数を記憶する記憶装置から取得し、線幅と線幅補正係数とを用いてエッジ画素の階調を補正することで線幅を補正する補正ステップとを実行させる。
【発明の効果】
【００２０】
本発明にかかる画像形成装置がこのように構成されることで、画像形成において、画像形成装置のエンジン特性に関わらず線幅を再現することができる。このため、形成された画像におけるフォントの再現性を高めることができる。また、細い罫線の再現性を高めることができる。その結果、高品質の画像を形成することができる。
【発明を実施するための最良の形態】
【００２１】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
【００２２】
図１は、本実施の形態にかかる画像形成装置１のハードウェア構成の具体例を示すブロック図である。画像形成装置１としては、コピー機、プリンタ、またはそれらの複合機器であるＭＦＰ（Multi Function Peripheral）等が該当する。本実施の形態において画像形成装置１はＭＦＰであるものとし、図１には、ＭＦＰである画像形成装置１のハードウェア構成の具体例をブロック図で示す。
【００２３】
図１を参照して、画像形成装置１は、装置全体を制御するＣＰＵ（Central Processing Unit）１１と、原稿から画像データを読取るイメージリーダ部１９と、用紙上に画像を印刷するプリンタ部２１と、画像形成装置１をネットワークや電話回線に接続したり、近距離の無線通信を行なったりするための拡張カードであるＮＩＣ（Network Interface Card）１５と、ＨＤ（Hard Disk）やＲＡＭ（Random Access Memory）などから構成されて、ジョブやＣＰＵ１１で実行される線幅制御プログラムなどのプログラムなどを記憶するための記憶部１３と、ユーザとのインタフェースである操作パネル１７と、消耗品の残量などを検出するセンサ部２３とを含んで構成される。
【００２４】
画像形成装置１は、画像データと属性データとを含んだ原稿データを取得し、後述の線幅制御処理を実行して画像データを出力する。出力された画像データは、画像形成処理により印字される。
【００２５】
画像形成装置１で取得される原稿データに含まれる画像データは、ＹＭＣＫ（Yellow Magenta Cyan Black）データ、またはＲＧＢ（Red Green Blue）データである。属性データは、画像データの各画素について、その画素がテキストかグラフィックかまたはそのいずれでもないかを示す。属性データは、ＰＣ（Personal Computer）などの端末で動作する画像作成のアプリケーション側で付加されて画像形成装置１へ送信されてくる場合や、画像形成装置１のイメージリーダ部１９で読取られた画像データを図示しない領域判定部などで判定することにより画像形成装置１側で付加される場合などがある。
【００２６】
図２は、画像形成装置１において、本実施の形態にかかる線幅制御処理を行なうための機能構成の具体例を示すブロック図である。図２に示される機能構成は、主に、ＣＰＵ１１が記憶部１３に記憶されるプログラムを実行することで実現される機能であるが、一部がハードウェアによって構成されてもよい。
【００２７】
図２を参照して、画像形成装置１において線幅制御処理を行なうための機能は、原稿データのうちの属性データを入力する属性データ入力部１０１、原稿データのうちの画像データを入力する画像データ入力部１０３、属性データより線幅を検出する線幅検出部１０５、画像データよりエッジを検出するエッジ検出部１０９、これらの検出結果の論理積を算出する論理積算出部１０７、線幅を補正するための係数を記憶する係数記憶部１１３、線幅を補正するための演算を行なう線幅補正係数乗算部１１１、および線幅の補正された画像データを出力する画像データ出力部１１５を含んで構成される。
【００２８】
線幅検出部１０５は、後述する線幅処理を行なって、検出された線幅を示す線幅信号を論理積算出部１０７に入力する。エッジ検出部１０９もまた、後述するエッジ検出処理を行なって、検出されたエッジを示すエッジ検出信号を論理積算出部１０７に入力する。論理積算出部１０７は、これら信号の論理積を算出し、エッジ線幅を算出する。算出されたエッジ線幅を示すエッジ線幅信号は線幅補正係数乗算部１１１に入力される。
【００２９】
また、エッジ検出部１０９は、後述するエッジ検出処理を行なって、後述するＰＷＭ（Pulse Width Modulation）位置を示すＰＷＭ位置制御信号を線幅補正係数乗算部１１１に入力する。
【００３０】
係数記憶部１１３は、主に記憶部１３の所定領域によって形成され、線幅補正係数乗算部１１１で用いられる線幅補正係数を記憶する。線幅補正係数は、１ｄｏｔからｎｄｏｔの各々の線幅に対して個別に設定された係数であって、画像形成時に理想的な線幅となるように線幅を補正するための係数である。
【００３１】
図３は、係数記憶部１１３で記憶される線幅補正係数の具体例を示す図である。図３に示されるように、係数記憶部１１３には、線幅に対応付けて線幅補正係数が記憶される。なお、図３に示された係数の具体的な数値は１つの具体例であり、本発明はこの数値に限定されない。線幅補正係数は、上述のように画像形成装置のエンジンの性能に関連する係数であるため、エンジンの性能に対応して決定される。または、実験等によって得られる。そのため、線幅補正係数は、予め係数記憶部１１３に記憶されていることが好ましい。または、線幅補正係数は、管理者等のユーザによって変更または作成されるものであってもよい。線幅補正係数を変更または作成する際には、そのための画面が操作パネル１７に表示され、具体的な数値の入力を受付けることが好ましい。または、予めエンジンの性能に応じて、設定可能な範囲が示されており、その中から選択を受付けることが好ましい。または、設定可能な範囲外の数値が入力された場合には、その数値を受入れないように構成されていることも好ましい。
【００３２】
線幅補正係数乗算部１１１は、論理積算出部１０７から入力されたエッジ線幅信号に基づいて、線幅に対応した線幅補正係数を係数記憶部１１３から読出し、線幅に係数を乗算して線幅を補正する処理を行なう。演算結果は画像データ出力部１１５に入力される。画像データ出力部１１５は、線幅の補正された画像データを出力する。
【００３３】
図４は、エッジ検出部１０９の詳細な構成の具体例を示すブロック図である。図４を参照して、エッジ検出部１０９には、入力された画像データに対して１次微分フィルタを用いて１次微分する演算を行なう１次微分フィルタ演算部２０１、入力された画像データに対して２次微分フィルタを用いて２次微分する演算を行なう２次微分フィルタ演算部２０３、それらの演算結果に基づいてエッジである画素を抽出するエッジ抽出部２０５、エッジである画素に対してダイレーション処理を実施するエッジダイレーション部２０７、その処理結果に対してエロージョン処理を実施するエッジエロージョン部２０９、各画素についてＰＷＭ印字位置コードを生成するＰＷＭ印字位置コード生成部２１１、印字位置コードを選択的に入力するためのセレクタ部２１３、ＰＷＭ印字位置コードとエロージョン処理結果とに基づいてエッジ信号を出力するエッジ信号出力部２１５、およびＰＷＭ印字位置コードに基づいてＰＷＭ印字制御信号を出力するＰＷＭ印字制御信号出力部２１７が含まれる。
【００３４】
エッジ抽出部２０５は、１次微分フィルタ演算部２０１で画像データを１次微分フィルタを通して得られた演算結果と、２次微分フィルタ演算部２０３で画像データを２次微分フィルタを通して得られた演算結果との論理積を算出して、画像データからエッジを抽出する。抽出されたエッジは、エッジダイレーション部２０７に入力される。エッジ抽出部２０５でのエッジの抽出方法は、本発明において特定の方法に限定されず、一般的な方法が採用され得る。
【００３５】
エッジダイレーション部２０７は、エッジ抽出部２０５から入力された各エッジに対してダイレーション処理を実施し、処理結果をエッジエロージョン部２０９に入力する。エッジエロージョン部２０９は、各ダイレーション処理結果に対してエロージョン処理を実施し、処理結果をエッジ信号出力部２１５に入力する。エッジダイレーション部２０７でのダイレーション処理、およびエッジエロージョン部２０９でのエロージョン処理は、オープニング処理と呼ばれる一般的な処理であり、これらの具体的な処理方法は、本発明において特定の方法には限定されない。
【００３６】
エッジ信号出力部２１５は、エッジエロージョン部２０９での処理結果に基づいて、エッジである画素を示すエッジ検出信号を論理積算出部１０７およびセレクタ部２１３に入力する。
【００３７】
ＰＷＭ印字位置コード生成部２１１は、画像データの各画素について、ＰＷＭの成長位置を決定するＰＷＭ印字位置コードを生成する。ここで、ＰＷＭ印字位置コードとは、対象画素の階調が最大値よりも小さい場合に、１画素のうちのどの位置にドット印字するためのパルス出力するかを表わす、２ビットのデータを指す。つまり、ＰＷＭ印字位置コード生成部２１１は、各画素についてどの位置にドット印字するか、言い換えれば、１つの画素のうちのどの位置からどの方向にドット印字部分を伸ばすかを決定する。ここでは、「１つの画素のうちのどの位置からどの方向にドット印字部分を伸ばすか」を「成長位置（ＰＷＭ位置とも称される）」と表わし、その位置にドットを印字させるための印字パルスを出力する。
【００３８】
具体的に、図５に示されるように、画素が主走査方向に連続している場合を例に、ＰＷＭ印字位置コード生成部２１１でのＰＷＭ印字位置コードの生成方法を説明する。図５において、着目する画素の階調値をＤ１Ｄとし、主走査方向である矢印Ａ方向に、着目する画素の直前に隣接する画素の階調値をＤ０Ｄ、直後に隣接する画素の階調値をＤ２Ｄとする。また、この例では、原稿画像に含まれる罫線が、淡色（たとえば白色）の地に濃色（たとえば黒色）の罫線であるものとする。
【００３９】
ＰＷＭ印字位置コード生成部２１１は、着目する画素を挟んだ、主走査方向に隣接する３画素について、各階調値Ｄ０Ｄ，Ｄ１Ｄ，Ｄ２Ｄの大小関係を判断する。これら階調値の大小関係が以下の場合（Ａ）〜（Ｅ）、以下のように成長位置が決定される：
（Ａ）Ｄ０Ｄ＜Ｄ１Ｄ≦Ｄ２Ｄ：Ｄ１ＤをＤ２Ｄ側から成長、
（Ｂ）Ｄ０Ｄ≦Ｄ１Ｄ＜Ｄ２Ｄ：Ｄ１ＤをＤ２Ｄ側から成長、
（Ｃ）Ｄ０Ｄ＞Ｄ１Ｄ≧Ｄ２Ｄ：Ｄ１ＤをＤ０Ｄ側から成長、
（Ｄ）Ｄ０Ｄ≧Ｄ１Ｄ＞Ｄ２Ｄ：Ｄ１ＤをＤ０Ｄ側から成長、
（Ｅ）Ｄ０Ｄ＞Ｄ１Ｄ＜Ｄ２Ｄ：Ｄ１ＤをＤ０Ｄ，Ｄ２Ｄ両側から均等に成長。
【００４０】
言い換えると、ＰＷＭ印字位置コード生成部２１１は、着目する画素よりも右に隣接する画素の方が濃度が濃い場合には（上記場合（Ａ），（Ｂ））、図６に示されるように、右側からドット印字部分を伸ばすように成長位置を決定する。着目する画素よりも左に隣接する画素の方が濃度が薄い場合には（上記場合（Ｃ），（Ｄ））、図７に示されるように、左側からドット印字部分を伸ばすように成長位置を決定する。着目する画素が、隣接するいずれの画素よりも濃度が薄い場合には（上記場合（Ｅ））、図８に示されるように、左右両側から均等にドット印字部分を伸ばすように成長位置を決定する。そして、各画素について、決定された成長位置を示すＰＷＭ印字位置コードが生成され、セレクタ部２１３に入力される。
【００４１】
セレクタ部２１３は、エッジ信号出力部２１５から入力されたエッジ信号と、ＰＷＭ印字位置コード生成部２１１から入力されたＰＷＭ印字位置コードとに基づいて、エッジとして検出された画素についてはＰＷＭ印字位置コードに基づいて、決定された位置にドット印字させるための制御信号であるＰＷＭ印字制御信号を線幅補正係数乗算部１１１に入力する。エッジとして検出されていない画素については、予め記憶されている印字位置コードに基づいて、ドット印字部分を当該画素の中央の位置とするための制御信号であるＰＷＭ印字制御信号を線幅補正係数乗算部１１１に入力する。なお、上記予め記憶されている印字位置コードを、ここでは中央印字位置コードと称する。
【００４２】
図９は、線幅検出部１０５の詳細な構成の具体例を示すブロック図である。図９を参照して、線幅検出部１０５には、入力された、画像データの各画素についての属性データのうちから、線幅を補正する処理の対象となる属性データを選択する線幅補正対象属性選択部３０１、処理対象の属性データに対してエロージョン処理を行なうエロージョン処理部３０３、その処理結果に対して第１のダイレーション処理を行なう第１ダイレーション処理部３０５、第１のダイレーション処理結果に基づいて後述の内線幅を検出して出力する内線幅出力部３０７、エロージョン処理結果に対して第２のダイレーション処理を行なう第２ダイレーション処理部３０９、および第２のダイレーション処理結果に基づいて後述の外線幅を検出して出力する外線幅出力部３１１が含まれる。
【００４３】
線幅補正対象属性選択部３０１は、入力された属性データを解析し、各画素について、その画素がテキストかグラフィックかまたはそのいずれでもないか判断する。その結果、テキストであると判断された画素および罫線（グラフィック）であると判断された画素についての属性データを、線幅を補正する処理の対象とする属性データとして選択し、エロージョン処理部３０３に入力する。エロージョン処理部３０３は、入力された処理対象の、各画素に対応した各属性データに対して、１画素＊１画素〜ｎ画素＊ｎ画素のマトリクスのフィルタを用いて、エロージョン処理を行なう。エロージョン処理結果は、さらに、第１ダイレーション処理部３０５および第２ダイレーション処理部３０９において、各々、第１のダイレーション処理および第２のダイレーション処理が施される。なお、エロージョン処理部３０３でのエロージョン処理、および第１ダイレーション処理部３０５，第２ダイレーション処理部３０９でのダイレーション処理は、クロージング処理と呼ばれる一般的な処理であり、これらの具体的な処理方法は、本発明において特定の方法には限定されない。
【００４４】
図１０および図１１は、第１のダイレーション処理および第２のダイレーション処理を説明する図である。
【００４５】
図１０を参照して、第１ダイレーション処理部３０５は、第１のダイレーション処理として、エロージョン処理部３０３での処理結果に対して、エロージョン処理部３０３で用いたフィルタと同サイズのフィルタを用いてダイレーション処理を実行する。第１のダイレーション処理の結果は内線幅出力部３０７に入力され、内線幅出力部３０７より、その処理結果に基づいて後述する内線幅を示す内線幅信号が論理積算出部１０７に入力される。
【００４６】
図１１を参照して、第２ダイレーション処理部３０９は、第２のダイレーション処理として、エロージョン処理部３０３での処理結果に対して、エロージョン処理部３０３で用いたフィルタよりも２画素大きいサイズのフィルタを用いてダイレーション処理を実行する。第２のダイレーション処理の結果は外線幅出力部３１１に入力され、外線幅出力部３１１より、その処理結果に基づいて後述する外線幅を示す外線幅信号が論理積算出部１０７に入力される。
【００４７】
図１２および図１３は、内線幅および外線幅を説明する図である。
エロージョン処理部３０３での処理結果に対して、第１ダイレーション処理部３０５で、エロージョン処理部３０３で用いたフィルタと同サイズのフィルタを用いた第１のダイレーション処理が実行されることで、フィルタサイズ以下の細線が排除され、図１２においてＥ部分に示される、１画素分の画素をエッジ画素として両端にもつ、黒線ＢＬが検出される。そして、１画素の幅に相当する幅ＤＡの、両端のエッジ画素を含んだ黒線の幅ＬＡが検出される。ここでは、両端の２つのエッジ画素の幅（ＤＡ×２）を含んだ黒線の幅ＬＡを内線幅と称する。
【００４８】
エロージョン処理部３０３での処理結果に対して、第２ダイレーション処理部３０９で、エロージョン処理部３０３で用いたフィルタよりも２画素大きいサイズのフィルタを用いた第２のダイレーション処理が実行されることで、図１３においてＢＬ部分に示された黒地に対して、Ｅ部分に示され、１画素分の画素をエッジ画素として両端にもつ、白く抜かれた線ＷＨ（以下、白線）が検出される。そして、１画素の幅に相当する幅ＤＢ（＝ＤＡ）の、両端のエッジ画素を含んだ白線の幅ＬＢ、つまり、実際の白線幅よりも両側各１画素分大きい線幅が検出される。ここでは、両端の２つのエッジ画素の幅（ＤＢ×２）を含んだ白線の幅ＬＢを外線幅と称する。
【００４９】
なお、第１ダイレーション処理部３０５および第２ダイレーション処理部３０９で用いるフィルタのサイズの最大値ｎは、本発明において特定の数値に限定されず、任意の数値に設定され得る。具体的な数値としては６〜８程度が好ましく、より好ましくは７が挙げられる。線幅がフィルタサイズよりも大きい場合には、第１ダイレーション処理部３０５および第２ダイレーション処理部３０９において、その旨を示すエラー信号を出力するなどして、フィルタサイズ以上の線幅に対して上記処理がなされないように構成されることが好ましい。
【００５０】
論理積算出部１０７は、内線幅出力部３０７から入力された内線幅信号とエッジ信号出力部２１５から入力されたエッジ信号との論理積、または外線幅出力部３１１から入力された外線幅信号とエッジ信号出力部２１５から入力されたエッジ信号との論理積を算出し、補正対象となるエッジの線幅が算出される。
【００５１】
図１４は、本実施の形態にかかる画像形成装置１における、線幅制御処理の流れの具体例を示すフローチャートである。図１４のフローチャートに示される処理は、画像形成装置１のＣＰＵ１１が記憶部１３に記憶されている線幅制御プログラムを含むプログラムを読出して実行し、図２に示される各部を制御することによって実現される。
【００５２】
図１４を参照して、始めに、ＣＰＵ１１は、イメージリーダ部１９でスキャンして得られた原稿データ、またはＮＩＣ１５が他の装置から送信されたデータを受信することで得られた原稿データを取得する（ステップＳ１０１）。
【００５３】
原稿データのうち、属性データが属性データ入力部１０１より入力されて、線幅検出部１０５において線幅が検出され（ステップＳ１０３）、線幅信号が出力される。
【００５４】
また、原稿データのうち、画像データが画像データ入力部１０３より入力されて、エッジ検出部１０９においてエッジ検出される（ステップＳ１０５）。また、エッジ検出部１０９において、前述のＰＷＭ位置が決定され（ステップＳ１０７）、ＰＷＭ印字制御信号出力部２１７より、決定されたＰＷＭ位置に基づいたＰＷＭ印字制御信号が出力される。
【００５５】
論理積算出部１０７では、上記ステップＳ１０５で検出された線幅に基づいて出力された線幅信号と、上記ステップＳ１０７で決定されたＰＷＭ位置に基づいて出力されたＰＷＭ印字制御信号との論理積が算出されることで（ステップＳ１０９）、エッジの線幅が算出される。
【００５６】
線幅補正係数乗算部１１１では、ステップＳ１０９で算出されたエッジの線幅に基づいて、係数記憶部１１３に記憶されている線幅補正係数の中から、上記線幅に対応した係数を取得して（ステップＳ１１１）、上記線幅に対して乗算することで補正後の線幅を算出する（ステップＳ１１３）。
【００５７】
ＣＰＵ１１では画像形成処理が実行されて、当該画素の階調がステップＳ１１３で算出された補正後の線幅に基づいた新たな階調に置換され、ＰＷＭ印字制御信号に基づいて、当該画素の成長位置が決定された画像データに基づく、画像形成が行なわれる。画像形成された画像データは、プリンタ部２１またはＮＩＣ１５を介して他の装置に対して出力される（ステップＳ１１５）。
【００５８】
さらに、図１５は、上記ステップＳ１０３における線幅検出処理を示すフローチャートである。
【００５９】
図１５を参照して、始めに、線幅補正対象属性選択部３０１において、原稿データに含まれる属性データのうち、テキストであると判断された画素および罫線（グラフィック）であると判断された画素についての属性データを、線幅を補正する処理の対象とする属性データとして選択する（ステップＳ２０１）。
【００６０】
ステップＳ２０１で選択された属性データに対して、エロージョン処理部３０３において１画素＊１画素〜ｎ画素＊ｎ画素のマトリクスのフィルタを用いてエロージョン処理が行なわれ（ステップＳ２０３）、さらにその結果に対して、第１ダイレーション処理部３０５において上記フィルタと同サイズのフィルタを用いて第１ダイレーション処理が行なわれる（ステップＳ２０５）。ステップＳ２０５での第１ダイレーション処理の結果に基づいて、内線幅出力部３０７より先述の内線幅が算出されて、内線幅を示す内線幅信号が出力される（ステップＳ２０７）。
【００６１】
また、上記ステップＳ２０３でのエロージョン処理の結果に対して、第２ダイレーション処理部３０９において上記ステップＳ２０３で用いられたフィルタよりも２画素大きいサイズのフィルタを用いて第２ダイレーション処理が行なわれる（ステップＳ２０９）。ステップＳ２０９での第２ダイレーション処理の結果に基づいて、外線幅出力部３１１より先述の外線幅が算出されて、外線幅を示す外線幅信号が出力される（ステップＳ２１１）。
【００６２】
なお、上記ステップＳ２０５〜Ｓ２０７の処理と、ステップＳ２０９〜Ｓ２１１の処理とは独立した処理であるため、処理順は上記処理順に限定されずに逆の順であってもよい。
【００６３】
上記ステップＳ２０５〜Ｓ２０７の処理と、ステップＳ２０９〜Ｓ２１１の処理とは、ステップＳ２０１で選択された各属性データに対して実行され、ステップＳ２０１で選択されたすべての属性データに対して処理が終了すると（ステップＳ２１３でＹＥＳ）、処理がステップＳ１０５に移行する。
【００６４】
図１６は、上記ステップＳ１０５におけるエッジ検出処理を示すフローチャートである。
【００６５】
図１６を参照して、始めに、１次微分フィルタ演算部２０１において原稿データに含まれる画像データに対して１次微分フィルタを用いた演算が実行され（ステップＳ３０１）、２次微分フィルタ演算部２０３において画像データに対して２次微分フィルタを用いた演算が実行される（ステップＳ３０３）。ステップＳ３０１の処理とステップＳ３０３の処理とは独立した処理であるので、処理順は上記処理順に限定されずに逆の順であってもよい。
【００６６】
次に、エッジ抽出部２０５において、上記ステップＳ３０１での処理結果および上記ステップＳ３０３での処理結果よりエッジである画素が抽出される（ステップＳ３０５）。ステップＳ３０５で抽出されたエッジである画素に対して、エッジダイレーション部２０７においてダイレーション処理が実行され（ステップＳ３０７）、さらにその結果に対してエッジエロージョン部２０９においてエロージョン処理が実行される（ステップＳ３０９）。
【００６７】
ステップＳ３０７のダイレーション処理とステップＳ３０９のエロージョン処理とは、ステップＳ３０５でエッジと抽出された各画素に対して実行され、ステップＳ３０５でエッジと抽出されたすべての画素に対して処理が終了すると（ステップＳ３１１でＹＥＳ）、エッジ信号出力部２１５においてエッジである画素を示すエッジ検出信号が出力され（ステップＳ３１３）、処理がステップＳ１０７に移行する。
【００６８】
図１７は、上記ステップＳ１０７におけるＰＷＭ位置決定処理を示すフローチャートである。
【００６９】
図１７を参照して、始めに、ＰＷＭ印字位置コード生成部２１１において、原稿データに含まれる画像データの各画素について、先述のＰＷＭ印字位置コードが生成される（ステップＳ４０１）。
【００７０】
次に、セレクタ部２１３において、上記ステップＳ３１３でエッジ信号出力部２１５より出力されたエッジ信号に基づいて、ステップＳ４０１でＰＷＭ印字位置コードが生成された画素がエッジと抽出された画素であるか否かが判断される（ステップＳ４０３）。その結果、エッジと抽出された画素であると判断された画素については（ステップＳ４０３でＹＥＳ）、ＰＷＭ印字制御信号出力部２１７より、ステップＳ４０１で生成されたＰＷＭ印字位置コードに基づいたＰＷＭ印字制御信号が出力される（ステップＳ４０５）。そでない場合には（ステップＳ４０３でＮＯ）、ＰＷＭ印字制御信号出力部２１７より、先述の中央印字位置コードに基づいたＰＷＭ印字制御信号が出力される（ステップＳ４０７）。
【００７１】
上記ステップＳ４０１〜Ｓ４０７の処理は、ステップＳ１０１で取得された原稿データに含まれる画像データのすべての画素に対して実行され、すべての画素に対して処理が終了すると（ステップＳ４０９でＹＥＳ）、処理がステップＳ１０９に移行する。
【００７２】
なお、本具体例では、上記ステップＳ４０１で画像データに含まれるすべての画素についてＰＷＭ印字位置コードが生成されるものとしているが、予め上記ステップＳ４０３の判断を行なってエッジ画素であると判断された画素についてのみＰＷＭ印字位置コードが生成されるようにしてもよい。つまり、本処理の処理順は上記の順に限定されず、ステップＳ４０１の前にステップＳ４０３が実行されて、その判断結果に応じてステップＳ４０１のＰＷＭ印字位置コードの生成処理が実行されるようにしてもよい。
【００７３】
本実施の形態にかかる画像形成装置１において上記処理が実行されることで、文字や罫線のエッジ部分が、所定の太さである場合に、線幅補正係数を用いて階調を置換して、線幅を細くすることができる。このため、画像形成装置１のエンジン特性に起因した、文字や罫線のエッジ部分が太くなる現象が抑制され、細線の再現性が高められる。その結果、画像形成装置１では、高品質の画像を形成することができる。
【００７４】
［変形例１］
第１の変形例にかかる画像形成装置１は、図１８に示されるように、図２に示された機能構成に加えて、画像データから色を検出する色検出部１１７をさらに含んで構成される。色検出部１１７は、画像データの画素ごとに、色を検出し、検出された色を示す色検出信号を線幅補正係数乗算部１１１に入力する。色検出部１１７において画像データから色を検出する方法については、本発明において特定の方法には限定されず、いかなる方法も採用され得る。
【００７５】
第１の変形例にかかる画像形成装置１の係数記憶部１１３には、図１９に示されるように、１ｄｏｔからｎｄｏｔの各々の線幅に対して色別に設定された線幅補正係数が記憶されている。なお、図１９に示される係数の具体的な数値もまた１つの具体例であり、本発明はこの数値に限定されない。
【００７６】
第１の変形例にかかる画像形成装置１では、上記ステップＳ１０５でエッジ検出部１０９において画像データからエッジを検出すると共に、色検出部１１７において画像データから画素ごとに色を検出する。そして、上記ステップＳ１１１において、線幅補正係数乗算部１１１で、ステップＳ１０９で算出されたエッジの線幅および上記ステップＳ１０５で検出されたそのエッジの色に基づいて、対応する線幅補正係数を取得する。
【００７７】
エンジン特定の１つとして、色によって、ドットの膨張の仕方（エッジの太り方）が異なる場合がある。そのように、色によって異なる場合であっても、第１の変形例にかかる画像形成装置１がこのように色別に設定された線幅補正係数を用いて色ごとに線幅を補正することで、画像形成装置１のエンジン特性に起因した、文字や罫線のエッジ部分が太くなる現象が抑制され、細線の再現性が高められる。その結果、画像形成装置１では、高品質の画像を形成することができる。
【００７８】
［変形例２］
第２の変形例においては、画像形成装置１は、原稿データと共に当該原稿のモードや言語情報なども取得する。
【００７９】
モードとは、当該原稿データが文書データであるのか、ＷＥＢデータであるのか、ＣＡＤ（Computer Aided Design）であるのか、など、原稿データの種類を規定する情報である。モードは、当該原稿データを作成しているアプリケーションから印字指示がなされた際に、自動的に原稿データと共に画像形成装置１に対して送信されてもよい。また、ユーザが操作パネル１７より印字指示を行なう際に入力することによって、原稿データと共に画像形成装置１に入力されてもよい。また、モードは、原稿データとは別のデータであってもよいし、原稿データに含まれてもよい。または、原稿データに含まれる属性データの一部であってもよい。
【００８０】
言語情報とは、当該原稿データの言語を表わす情報である。言語情報も上記モードと同様にして画像形成装置１で取得され得る。また、言語情報は原稿データとは別のデータであってもよいし、原稿データに含まれてもよい。または、原稿データに含まれる属性データの一部であってもよい。
【００８１】
上述の原稿のモードや言語情報などは、当該原稿データを作成（または変更・修正等）したアプリケーションにおいて印刷の指示を行なって原稿データを画像形成装置１に送信する際に、画像形成装置１に印刷の指示を行なうためのプログラム（コントローラ）によって生成されて、当該プログラムの実行にしたがって、原稿データと共に画像形成装置１に送信される。そして、これらの情報は、線幅補正係数乗算部１１１に入力される。
【００８２】
第２の変形例にかかる画像形成装置１の係数記憶部１１３には、図１９に示されたように、１ｄｏｔからｎｄｏｔの各々の線幅に対して原稿のモード別や言語別に設定された線幅補正係数が記憶されている。上記ステップＳ１１１で線幅補正係数乗算部１１１は、ステップＳ１０９で算出されたエッジの線幅および入力された原稿のモードや言語情報に基づいて、対応する線幅補正係数を取得する。
【００８３】
エンジン特定の１つとして、原稿のモードや言語情報によって、ドットの膨張の仕方（エッジの太り方）が異なる場合がある。そのように、原稿のモードや言語情報によって異なる場合であっても、第１の変形例にかかる画像形成装置１がこのように原稿のモードや言語情報別に設定された線幅補正係数を用いて線幅を補正することで、画像形成装置１のエンジン特性に起因した、文字や罫線のエッジ部分が太くなる現象が抑制され、細線の再現性が高められる。その結果、画像形成装置１では、高品質の画像を形成することができる。
【００８４】
さらに、上述の本実施の形態にかかる線幅制御をコンピュータに実行させるプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【００８５】
なお、本発明にかかるプログラムは、コンピュータのオペレーションシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【００８６】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【００８７】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００８８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００８９】
【図１】本実施の形態にかかる画像形成装置１がＭＦＰである場合の、画像形成装置１のハードウェア構成の具体例を示すブロック図である。
【図２】画像形成装置１において、本実施の形態にかかる線幅制御処理を行なうための機能構成の具体例を示すブロック図である。
【図３】係数記憶部１１３で記憶される線幅補正係数の具体例を示す図である。
【図４】エッジ検出部１０９の詳細な構成の具体例を示すブロック図である。
【図５】ＰＷＭ印字位置コード生成部２１１でのＰＷＭ印字位置コードの生成方法を説明する図である。
【図６】ＰＷＭ印字位置コード生成部２１１でのＰＷＭ印字位置コードの生成方法を説明する図である。
【図７】ＰＷＭ印字位置コード生成部２１１でのＰＷＭ印字位置コードの生成方法を説明する図である。
【図８】ＰＷＭ印字位置コード生成部２１１でのＰＷＭ印字位置コードの生成方法を説明する図である。
【図９】線幅検出部１０５の詳細な構成の具体例を示すブロック図である。
【図１０】第１のダイレーション処理を説明する図である。
【図１１】第２のダイレーション処理を説明する図である。
【図１２】内線幅を説明する図である。
【図１３】外線幅を説明する図である。
【図１４】本実施の形態にかかる画像形成装置１における、線幅制御処理の流れの具体例を示すフローチャートである。
【図１５】ステップＳ１０３における線幅検出処理を示すフローチャートである。
【図１６】ステップＳ１０５におけるエッジ検出処理を示すフローチャートである。
【図１７】ステップＳ１０７におけるＰＷＭ位置決定処理を示すフローチャートである。
【図１８】第１の変形例にかかる画像形成装置１において、本実施の形態にかかる線幅制御処理を行なうための機能構成の具体例を示すブロック図である。
【図１９】第１の変形例にかかる画像形成装置１の係数記憶部１１３で記憶される線幅補正係数の具体例を示す図である。
【符号の説明】
【００９０】
１  画像形成装置、１１  ＣＰＵ、１３  記憶部、１５  ＮＩＣ、１７  操作パネル、１９  イメージリーダ部、２１  プリンタ部、２３  センサ部、１０１  属性データ入力部、１０３  画像データ入力部、１０５  線幅検出部、１０９  エッジ検出部、１０７  論理積算出部、１１３  係数記憶部、１１１  線幅補正係数乗算部、１１５  画像データ出力部、１１７  色検出部、２０１  １次微分フィルタ演算部、２０３  ２次微分フィルタ演算部、２０５  エッジ抽出部、２０７  エッジダイレーション部、２０９  エッジエロージョン部、２１１  ＰＷＭ印字位置コード生成部、２１３  セレクタ部、２１５  エッジ信号出力部、２１７  ＰＷＭ印字制御信号出力部、３０１  線幅補正対象属性選択部、３０３  エロージョン処理部、３０５  第１ダイレーション処理部、３０７  内線幅出力部、３０９  第２ダイレーション処理部、３１１  外線幅出力部。
【図１】
2008134912.tif 000003
【図２】
2008134912.tif 000004
【図３】
2008134912.tif 000005
【図４】
2008134912.tif 000006
【図５】
2008134912.tif 000007
【図６】
2008134912.tif 000008
【図７】
2008134912.tif 000009
【図８】
2008134912.tif 000010
【図９】
2008134912.tif 000011
【図１０】
2008134912.tif 000012
【図１１】
2008134912.tif 000013
【図１２】
2008134912.tif 000014
【図１３】
2008134912.tif 000015
【図１４】
2008134912.tif 000016
【図１５】
2008134912.tif 000017
【図１６】
2008134912.tif 000018
【図１７】
2008134912.tif 000019
【図１８】
2008134912.tif 000020
【図１９】
2008134912.tif 000021