(57)【要約】【課題】より滑らかなジャギー減少効果を生み出す。【解決手段】画像形成装置において、出力対象データから所定の画像ピクセル領域の二次元マトリックスを生成する生成部と、前記生成部により得られた二次元マトリックスと、予め設定されたマトリックス出力パターンとのマッチングにより、前記二次元マトリックスの画像ピクセルを二次元データに変換し、変換した二次元データに対応して生成される複数のラインに、前記二次元データを出力して副走査方向に対する画像修正を行う画像変換部とを有する。【選択図】図２
2016076925.tif 000002
【特許請求の範囲】
【請求項１】
出力対象データから所定の画像ピクセル領域の二次元マトリックスを生成する生成部と、
前記生成部により得られた二次元マトリックスと、予め設定されたマトリックス出力パターンとのマッチングにより、前記二次元マトリックスの画像ピクセルを二次元データに変換し、変換した二次元データに対応して生成される複数のラインに、前記二次元データを出力して副走査方向に対する画像修正を行う画像変換部とを有する画像形成装置。
【請求項２】
前記画像変換部は、
前記出力対象データに対する解像度の変換内容に応じた前記二次元データに変換することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
所定のタイミングからなる水平同期信号を入力し、入力された水平同期信号に対応させて前記出力対象データの画像中のドット数をカウントするドットカウンタ部を有し、
前記ドットカウンタ部は、前記ドット数に基づいて前記複数のラインの出力タイミングを指示する信号を前記画像変換部に出力することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記生成部は、ｎ行ｎ列（ｎは偶数）の二次元マトリックスを生成し、
前記画像変換部は、前記生成部により生成された該二次元マトリックスの画像ピクセルを、半整数倍した二次元データに変換することを特徴とする請求項１に記載の画像形成装置。
【請求項５】
画像形成装置が、
出力対象データから所定の画像ピクセル領域の二次元マトリックスを生成し、
生成した前記二次元マトリックスと、予め設定されたマトリックス出力パターンとのマッチングにより、前記二次元マトリックスの画像ピクセルを二次元データに変換し、
変換した二次元データに対応して生成される複数のラインに、前記二次元データを出力して副走査方向に対する画像修正を行う、ことを特徴とする画像処理方法。
【請求項６】
出力対象データから所定の画像ピクセル領域の二次元マトリックスを生成し、
生成した前記二次元マトリックスと、予め設定されたマトリックス出力パターンとのマッチングにより、前記二次元マトリックスの画像ピクセルを二次元データに変換し、
変換した二次元データに対応して生成される複数のラインに、前記二次元データを出力して副走査方向に対する画像修正を行う、処理をコンピュータに実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像処理方法、及び画像処理プログラムに関する。
【背景技術】
【０００２】
レーザプリンタやインクジェットプリンタ等の画像形成装置において、用紙等の印刷媒体に出力される出力画像のジャギーを減少させることで、出力画像の画質を向上させる画像処理技術が存在する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−３７７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記画像処理技術の場合、印刷時のライン方向（主走査方向）に出力するデータに対して出力画像を修正するだけであり、ジャギー減少効果が弱い。
【０００５】
一方で、主走査方向と副走査方向の両方向において出力画像を修正してジャギーを減少させるためには、Ｄｏｔ  ｐｅｒ  ｉｎｃｈ（ｄｐｉ）変換のための補間処理に際して、出力画像を回路上に展開する必要がある。
【０００６】
このとき、Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ（最近隣法），Ｂｉｌｉｎｅａｒ  Ｉｎｔｅｒｐｏｌａｔｉｏｎ（共１次内挿法），Ｃｕｂｉｃ  Ｃｏｎｖｏｌｕｔｉｏｎ（３次畳み込み内挿法）等の計算が複雑な補間処理を行おうとすると、回路規模が大きくなる。このため、複雑な補間処理を伴うｄｐｉ変換は、現実的でない。
【０００７】
一つの側面では、より滑らかなジャギー減少効果を生み出すことを目的としている。
【課題を解決するための手段】
【０００８】
一つの態様では、画像形成装置は、出力対象データから所定の画像ピクセル領域の二次元マトリックスを生成する生成部と、前記生成部により得られた二次元マトリックスと、予め設定されたマトリックス出力パターンとのマッチングにより、前記二次元マトリックスの画像ピクセルを二次元データに変換し、変換した二次元データに対応して生成される複数のラインに、前記二次元データを出力して副走査方向に対する画像修正を行う画像変換部とを有する。
【発明の効果】
【０００９】
一つの側面として、より滑らかなジャギー減少効果を生み出すことができる。
【図面の簡単な説明】
【００１０】
【図１】画像形成システムの構成の一例を示す図である。
【図２】第１の実施形態におけるビデオコントローラの機能構成の一例を示す図である。
【図３】行列変換部の一例を示す図である。
【図４】画像処理の概略例を示す図である。
【図５】第１の実施形態におけるマトリックス出力パターンの一例を示す図である。
【図６】第１の実施形態における各処理タイミングの一例を示す図である。
【図７】第１の実施形態における画像形成処理の一例を示すフローチャートである。
【図８】プリンタエンジンの概略構成の一例を示す図である。
【図９】第２の実施形態におけるビデオコントローラの機能構成の一例を示す図である。
【図１０】第２の実施形態におけるマトリックス出力パターンの一例を示す図である。
【図１１】第２の実施形態における各処理タイミングの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて各実施形態を説明する。
【００１２】
［第１の実施形態］
【００１３】
＜画像形成システムの構成例＞
図１は、画像形成システムの構成の一例を示す図である。図１に示す画像形成システム１０は、Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ（ＰＣ）１１と画像形成装置の一例としての印刷装置（プリンタ）１２とを有する。ＰＣ１１と印刷装置１２とは、例えばＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）やインターネット等に代表される通信ネットワーク１３によりデータの送受信が可能な状態で接続されている。
【００１４】
ＰＣ１１は、通信ネットワーク１３を介して、印刷装置１２に印刷対象データ（出力対象データ）を出力したり、印刷指示を出力する。印刷対象データとは、例えば文字や記号、表、写真等の画像データであるが、これに限定されるものではない。
【００１５】
また、ＰＣ１１は、印刷装置１２に対応したプリンタドライバ等がインストールされていてもよい。ＰＣ１１は、インストールされたプリンタドライバにより用紙サイズやカラー種別（カラー又は白黒）、両面印刷の有無、倍率（拡大又は縮小）等の印刷パラメータ等を設定し、設定した印刷パラメータを、印刷装置１２に出力してもよい。
【００１６】
ＰＣ１１は、例えばユーザ毎に設けてもよい。その場合、印刷装置１２は、複数のＰＣ１１から通信ネットワーク１３を介して、印刷対象データや印刷指示、印刷パラメータ等を受けることができる。
【００１７】
印刷装置１２は、ＰＣ１１からの印刷指示に応じて動作し、印刷パラメータに基づいて印刷対象データを用紙等の印刷媒体に印刷する。図１に示す印刷装置１２は、画像処理部２１と、プリンタエンジン２２とを有する。画像処理部２１は、ＰＣ１１等から通信ネットワーク１３を介して入力された印刷対象データや印刷パラメータをメモリ３４等に記憶する。また、画像処理部２１は、メモリ３４等に記憶した印刷対象データに対して、印刷パラメータに基づき所定の画像変換等を行い、ビットマップ画像（ラスターイメージ）を生成する。更に、画像処理部２１は、生成したビットマップ画像を印刷用の画素データ（ライン印刷を行うための連続した画素データ列）としてプリンタエンジン２２に出力する。
【００１８】
プリンタエンジン２２は、画像処理部２１から入力した画素データに対して画像形成に係る動作を行い、用紙等の印刷媒体に印刷する。例えば、プリンタエンジン２２は、給紙、露光、現像、転写、定着等の物理的な印刷工程を実行するが、これに限定されるものではない。また、プリンタエンジン２２は、例えば印刷工程を実行することで用紙を搬送する一方、ポリゴンミラー等を用いて所定のスキャン周期で感光ドラム上をスキャンするレーザ等のビーム光を検出し、検出したタイミングをビデオコントローラ３３に出力する。ビーム光の検出信号は感光ドラム上をスキャンするスキャン周期を表しており、例えば水平同期信号に対応する。また、プリンタエンジン２２は、水平同期信号の出力に対応するタイミングでビデオコントローラ３３から得られる画素データを、所定の条件（例えば、カラー、白黒等）で用紙に印字する。
【００１９】
プリンタエンジン２２は、例えばレーザプリンタのプリンタエンジンを用いることができるが、これに限定されるものではなく、インクジェットプリンタのプリンタエンジンを用いてもよい。
【００２０】
図１に示す画像処理部２１は、外部Ｉ／Ｆコネクタ３１と、処理制御部の一例としてのＭｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＭＰＵ；超小型演算装置）３２と、ビデオコントローラ３３と、記憶部の一例としてのメモリ３４とを有する。また、ＭＰＵ３２は、通信制御部の一例としての外部Ｉ／Ｆコントローラ４１と、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）の一例としてのプロセッサコア４２とを有する。更に、ＭＰＵ３２は、メモリ制御部の一例としてのメモリコントローラ４３と、バス制御部の一例としてのバスコントローラ４４とを有する。
【００２１】
外部Ｉ／Ｆコネクタ３１は、通信ネットワーク１３を介して接続されるＰＣ１１や他の外部装置とのデータ（印刷対象データ等）の送受信を行う。外部Ｉ／Ｆコネクタ３１としては、例えばＬＡＮコネクタ等が挙げられるが、これに限定されるものではなく、例えばＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）コネクタ等でもよい。
【００２２】
ＭＰＵ３２は、外部Ｉ／Ｆコネクタ３１から入力された印刷対象データをメモリ３４等に記憶して管理する。また、ＭＰＵ３２は、外部Ｉ／Ｆコネクタ３１から入力された印刷対象データやメモリ３４に記憶された印刷対象データを、プリンタエンジン２２に出力するための制御を行う。
【００２３】
例えば、外部Ｉ／Ｆコントローラ４１は、外部Ｉ／Ｆコネクタ３１を介して外部装置等とのデータ（印刷対象データ等）の送受信等を制御する。プロセッサコア４２は、印刷装置１２の各構成全体の動作を制御する。また、プロセッサコア４２は、起動や終了、異常処理等に対する制御を行う。メモリコントローラ４３は、メモリ３４に対するデータ（印刷対象データ等）の書き込みや、メモリ３４からのデータの読み出しを制御する。
【００２４】
バスコントローラ４４は、ＭＰＵ３２の内部のバス制御を行う。バスコントローラ４４は、例えば外部データをメモリ３４へ出力したり、メモリ３４から読み出したデータを外部装置に出力したりデータ入出力制御等を行う。
【００２５】
ビデオコントローラ３３は、例えば入力された印刷対象データをビットマップ画像（ラスターイメージ）等に変換し、変換したビットマップ画像を印刷用の画素データとして所定のタイミングでプリンタエンジン２２に出力する等の制御を行う。例えば、ビデオコントローラ３３は、プリンタエンジン２２からビーム光の検出信号を取得し、その取得タイミングに対応させて印刷用の画素データを出力する。
【００２６】
このとき、ビデオコントローラ３３は、入力される印刷対象データの各画素に対して、必要に応じて主走査方向及び副走査方向に対する画像修正を行ってもよい。なお、印刷対象データの各画素に対する画像修正は、主走査方向だけでもよく、副走査方向だけでもよく、また両方向でもよい。また、ビデオコントローラ３３は、主走査方向及び副走査方向に対する画像修正として、ｄｐｉ変換（例えば、３００ｄｐｉ→１２００ｄｐｉ）等を行ってもよい。これにより、より滑らかなジャギー減少効果を生み出すことができる。
【００２７】
メモリ３４は、入力した印刷対象データを一時的に記憶したり、プリンタエンジン２２に対して出力するためのビットマップ画像を記憶する。また、メモリ３４は、後述の画像変換部５４で画像修正時に使用する複数のマトリックス出力パターンを記憶してもよい。メモリ３４は、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）やＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）等であるが、これに限定されるものではない。
【００２８】
なお、第１の実施形態における画像形成装置は、印刷装置１２に限定されるものではなく、例えば複写機、イメージスキャナ、ファクシミリ等でもよく、これらを複合したＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ；多機能周辺装置）等でもよい。
【００２９】
第１の実施形態では、主走査方向だけでなく、副走査方向に対しても同等の画像修正を行うことで、より滑らかなジャギー減少効果を生み出すことができる。また、第１の実施形態におけるビデオコントローラ３３は、これらの画像修正をハードウェア回路的技術を用いてライン単位で処理するため、必要なメモリ容量が数ライン分で済むとともに、画像修正の際に複雑な計算を行うこともない。このため、回路規模を小さくすることでき、処理にかかる時間も大幅に短縮することができる。以下、ビデオコントローラ３３の詳細について説明する。
【００３０】
＜ビデオコントローラ３３の機能構成例＞
ビデオコントローラ３３の機能構成例について、図２を用いて説明する。図２は、ビデオコントローラの機能構成の一例を示す図である。図２に示すビデオコントローラ３３は、ドットカウンタ部５１と、記憶部の一例としてのバッファ部５２と、生成部の一例としての行列変換部５３と、画像変換部５４と、出力部の一例としてのラスタライズ部５５とを有する。なお、図２に示す各部は、基準クロック信号（ｃｌｋ）により同期処理を行うことができる。
【００３１】
ドットカウンタ部５１は、プリンタエンジン２２が印刷動作を開始し、用紙が搬送されることでプリンタエンジン２２より出力された、水平同期信号（／Ｈｓｙｎｃ）を受信し、受信した水平同期信号を、例えば２ｂｉｔバイナリカウンタ等のカウンタでカウントする。また、ドットカウンタ部５１は、そのカウント情報を出力タイミングとしてバッファ部５２に出力する。これにより、バッファ部５２は、出力タイミングに応じて、メモリ３４に記憶された印刷対象データのラインデータをバッファリングすることができる。
【００３２】
また、ドットカウンタ部５１は、水平同期信号をライン情報（Ｌｉｎｅ＿ｓｅｌ）として画像変換部５４に出力する。これにより、画像変換部５４は、ライン情報（Ｌｉｎｅ＿ｓｅｌ）に応じたタイミングで、後述する４×４ドットの二次元データの各ラインを補間データ（ＶＯＵＴ）としてラスタライズ部５５に出力することができる。
【００３３】
バッファ部５２は、メモリ３４に記憶された印刷対象データを所定のライン単位で（つまり、ラインデータとして）バッファリングする記憶部である。バッファ部５２は、バッファリングしたラインデータを行列変換部５３に出力する。
【００３４】
バッファ部５２は、所定数（例えば、７ライン）分のラインバッファを持ち、各ラインバッファを同期させて１ドット（ｄｏｔ）ずつ行列変換部５３に出力する。このため、行列変換部５３に対しては、副走査方向の７ドット分のデータ（７ドットの副走査データ）が出力される。
【００３５】
行列変換部５３は、印刷対象データの各画素から二次元マトリックス（行列データ）を生成する。例えば、行列変換部５３は、印刷対象データから所定の画像ピクセル領域を取得し、その領域に対応する二次元マトリックス（行列データ）を生成する。例えば、行列変換部５３は、バッファ部５２から得られる７ドットの副走査データを所定クロック（例えば、９クロック）分シフト（例えば、９クロック分）させる。これにより、行列変換部５３は、縦×横が所定数（例えば、縦７×横９）の行列データ（所定の画像ピクセル領域の二次元マトリックス）を生成する。
【００３６】
図３は、行列変換部の一例を示す図である。図３に示す行列変換部５３は、例えばフリップフロップ回路が縦７×横９に配列された例を示している。フリップフロップ回路は、各フリップフロップが１ドット分のデータを記憶する。バッファ部５２から出力される７ドットの副走査データが基準クロック信号（ｃｌｋ）に基づいて順番に行列変換部５３に入力される。
【００３７】
また、次の７ドットの副走査データが入力されるタイミングで、今まで入力されていた７ドットの副走査データが１つ横のフリップフロップにシフトされる。例えば、図３の例では、５３−１に入力された７ドットの副走査データが、次の基準クロック信号のクロックのタイミングで５３−２にシフトされる。以降クロックのタイミングで５３−３、５３−４、・・・と７ドットの副走査データが順番に格納され、９クロック後に縦７×横９の行列データが生成される。また、行列変換部５３は、生成した縦７×横９の行列データを画像変換部５４に出力する。
【００３８】
なお、７ラインのすべてのラインデータがバッファ部５２から行列変換部５３に対して出力されると、バッファリングされている７ライン分のラインデータのうち、最も古いラインデータが消去される。そして、バッファ部５２には、メモリ３４より読み出された次のラインデータがバッファリングされる。つまり、１ライン下にずらした７ライン分のラインデータが、バッファ部５２にバッファリングされることになる。これらの処理は、印刷対象データに含まれる全ラインデータが終了するまで行われる。
【００３９】
画像変換部５４は、入力された行列データと、予め設定された複数のマトリックス出力パターンとのマッチングを行い、マッチしたマトリックス出力パターンに応じた二次元データの出力を行う。なお、画像変換部５４は、マトリックス出力パターンにマッチした縦７×横９の行列データに含まれる中心画素（注目画素）及びその周辺画素のうち、中心画素の画像ピクセルを、マッチしたマトリックス出力パターンに応じた二次元データに変換して出力する。そのため、行列データは、中心画素が１つに特定される奇数×奇数（例えば、縦３×横３、縦５×横５、縦３×横９、縦７×横９等）の行列が好ましいが、これに限定されるものではない。また、マトリックス出力パターンも、その行列データに対応したサイズが設定される。なお、マトリックス出力パターンは、メモリ３４等から取得してもよく、外部装置や内部メモリ等から取得してもよい。
【００４０】
また、画像変換部５４は、主走査方向だけでなく、副走査方向に対してもジャギーを減少させるための画像修正として、ｄｐｉ変換を行う。なお、ｄｐｉ変換は、例えば、３００ｄｐｉ→１２００ｄｐｉ、３００ｄｐｉ→６００ｄｐｉ等のように、解像度を増加（拡大）させる変換を行うが、変換内容はこれに限定されるものではない。
【００４１】
例えば、画像変換部５４は、３００ｄｐｉから１２００ｄｐｉに解像度を増加させる変換を行う場合、マッチしたマトリックス出力パターンに対応する二次元データ（変換データ）として、４×４ドットの二次元データを出力する。つまり、行列データの中心画素の画像ピクセル（１ドット）が４×４ドットの二次元データに変換される。なお、画像変換部５４は、３００ｄｐｉから６００ｄｐｉに解像度を増加させる変換を行う場合には、２×２ドットの二次元データに変換する。画像変換部５４は、行列データの中心画素の画像ピクセルを、印刷対象データに対する解像度の変換内容に応じたサイズの二次元データに変換することができる。
【００４２】
画像変換部５４は、例えば行列データの中心画素の画像ピクセル（１ドット）を４×４ドットの二次元データ等に変換して処理することができ、主走査方向及び副走査方向に細分化させて、より滑らかな画像を生成する画像形成処理を行うことができる。
【００４３】
このとき、画像変換部５４は、例えば４ライン分の二次元データについて、各ラインのデータをドットカウンタ部５１から得られるライン情報（Ｌｉｎｅ＿ｓｅｌ）に基づくタイミングで出力する。上述した画像修正例では、１ラインから４ラインに増加するため、バッファ部５２は、変換された４ライン分の二次元データの出力中はメモリ３４から新たにラインデータを読み込むことはなく、変換された４ライン分の二次元データを出力する。
【００４４】
ラスタライズ部５５は、コンピュータが扱う文字や画像を、印刷装置１２で印刷したり、ＰＣ１１の画面（ディスプレイ）等に表示できるように、色付きの小さな点の集まりで表現して出力する。例えば、ラスタライズ部５５は、画像変換部５４により生成されたデータ（パラレルデータ）をシリアル変換して、プリンタエンジン２２に対して画素データとして出力する。
【００４５】
＜第１の実施形態における画像修正の概略例＞
次に、第１の実施形態における画像修正の概略例について、図４を用いて説明する。図４は、画像修正の概略例を示す図である。図４（Ａ）は、従来のライン単位の画像修正の一例を示し、図４（Ｂ）は、第１の実施形態における行列データの中心画素の画像ピクセルについての画像修正の一例を示している。
【００４６】
図４（Ａ）では、ライン単位の画像修正において、ライン（点線部）に対して処理を行うため、副走査方向に対してのジャギー未処理部分が残ってしまう（例えば、図４（Ａ）に示す〇点線部分）。
【００４７】
そこで、第１の実施形態では、図４（Ｂ）に示すように、行列データの中心画素の画像ピクセルについて処理を行い、出力結果（パターン）として二次元データを出力させる。出力された二次元データを新たに生成される複数のライン（図４（Ｂ）の例では、４ライン）にそれぞれ出力するため、副走査方向に対するジャギー減少効果を実現できる。
【００４８】
なお、第１の実施形態では、一例として、３００ｄｐｉの印刷対象データが、１２００ｄｐｉの解像度を持つプリンタエンジン２２に出力される場合について説明する。この場合、画像処理部２１は、縦（副走査）方向、横（主走査）方向、それぞれに対して、４倍のデータを生成する補間処理をしてプリンタエンジン２２に出力する必要が生じる。
【００４９】
この補間処理に用いられる二次元データは、予め設定されたマトリックス出力パターンに対応付けて設定することができる。図５は、マトリックス出力パターンの一例を示す図である。図５の例では、非参照画素（白でも黒でもよい画素（ｄｏｎ'ｔ  ｃａｒｅ））、黒参照画素、白参照画素、中心画素が識別されて表示されている。なお、図５の例では、１０種類のマトリックス出力パターン（Ｐａｔｔｅｒｎ１０〜Ｐａｔｔｅｒｎ１９）が表示されているが、数や内容についてはこれに限定されるものではない。また、図５の例では、横７×縦９のマトリックス出力パターンの例を示しているが、これに限定されるものではなく、上述した行列変換部５３から出力される行列データに応じたサイズのマトリックス出力パターンを設定することができる。
【００５０】
また、図５の例では、各マトリックス出力パターンに対応付けられた二次元データが設定されている。二次元データは、３００ｄｐｉから１２００ｄｐｉに変換する場合には、４×４ドットの二次元データであるが、これに限定されるものではなく、画像修正の内容に応じて設定することができる。図５に示す二次元データのうち、「１」は黒画素を示し、「０」は白画素を示す。第１の実施形態では、図５に示すように、画像修正することで新たに複数のライン（Ｎ＿１ライン〜Ｎ＿４ライン）を生成することができ、副走査方向に対するジャギー減少効果を実現できる。
【００５１】
上述したように第１の実施形態では、行列データについてマッチング処理を行う。このため、画像変換部５４は、例えば、中心画素の情報と中心画素の周囲（上下各３ライン，前後各４ドット）情報（行列データ）を認識する。また、第１の実施形態では、マッチしたマトリックス出力パターンに対応する二次元データを用いて補間処理を行う。二次元データは、４×４ドットに限定されるものではなく、ゲート規模等に応じて、例えば４×８ドット等のように増加させてもよい。
【００５２】
＜第１の実施形態における各処理タイミングの一例＞
次に、上述した第１の実施形態における各処理タイミングの一例について、図６を用いて説明する。図６は、第１の実施形態における各処理タイミングの一例を示す図である。図６の例では、所定周期（時間）による水平同期信号に対する出力タイミングの生成、行列データの生成、マトリックス出力パターン検出、補間データ生成の各タイミングを示している。
【００５３】
図６の例では、プリンタエンジン２２から水平同期信号が出力され、その水平同期信号を画像処理部２１が受信すると、図６に示すようにドットカウンタ部５１が動作し、受信した水平同期信号をカウントすることで出力タイミングを生成し、バッファ部５２に出力する。これにより新たなラインデータがバッファ部５２にバッファリングされる。
【００５４】
バッファ部５２は基準クロック信号に基づいて、７ドットの副走査データを行列変換部５３に出力し、行列変換部５３は、７ドットの副走査データから縦７×横９の行列データ（ｎ＿１ライン，ｎ＿２ライン，・・・，ｎ＿７ライン）を生成する。次に、画像変換部５４は、生成された行列データと、予め設定されたマトリックス出力パターンとを比較し、マッチするマトリックス出力パターンを検出する。マッチするマトリックス出力パターンを検出した場合は、行列データの中心画素の画像ピクセルを二次元データに変換して出力する。このとき、例えば３００ｄｐｉから１２００ｄｐｉに解像度を増加する変換を行う場合においては、中心画素の画像ピクセル（１ドット）を４×４ドットの二次元データに変換し、補間データとしてライン情報（Ｌｉｎｅ＿ｓｅｌ）に対応させて出力する。
【００５５】
＜画像形成処理（画像処理）の一例を示すフローチャート＞
次に、第１の実施形態における画像形成処理（画像処理）の一例についてフローチャートを用いて説明する。図７は、第１の実施形態における画像形成処理の一例を示すフローチャートである。なお、図７に示す処理は、例えば図１に示すハードウェア構成に実行プログラム（例えば、画像処理プログラム等）をインストールすることで、ハードウェア資源とソフトウェアとが協働して実現する処理である。また、上述した実行プログラムは、コンピュータで読み取り可能な記録媒体等に記憶することで、他の装置にもインストールすることができる。記録媒体は、例えばフラッシュメモリ等の半導体メモリやＣＤ−ＲＯＭ、ＤＶＤ等の可搬型の記録媒体であるが、これに限定されるものではない。
【００５６】
図７の例において、プリンタエンジン２２が印刷動作を開始すると（Ｓ０１）、用紙が搬送され、画像処理部２１は、水平同期信号を受信し、ビデオコントローラ３３のドットカウンタ部５１に入力する（Ｓ０２）。次に、ドットカウンタ部５１は、水平同期信号に応じて、ライン情報（Ｌｉｎｅ＿ｓｅｌ）を画像変換部５４に出力する（Ｓ０３）。更に、ドットカウンタ部５１は、水平同期信号に基づく出力タイミングをバッファ部５２に出力する（Ｓ０４）。
【００５７】
次に、バッファ部５２は、メモリ３４に記憶された印刷対象データをライン単位でバッファリングする（Ｓ０５）。次に、バッファ部５２は、バッファリングされた７ライン分のラインデータを、１ドットずつ基準クロック信号に基づいて出力することで、７ドットの副走査データを順次出力する（Ｓ０６）。
【００５８】
次に、行列変換部５３は、副走査データを各ドットシフト（９クロック分）させることにより、縦×横が所定数（例えば、縦７×横９）の行列データを生成する（Ｓ０７）。次に、画像変換部５４は、生成した行列データと、上述したマトリックス出力パターンとのマッチングを行い、マッチしたマトリックス出力パターンに対応する二次元データを用いて、行列データの中心画素の画像ピクセルを変換する（Ｓ０８）。二次元データは、マトリックス出力パターン毎に対応付けて設定されており、例えば３００ｄｐｉから１２００ｄｐｉに解像度を増加する変換を行う場合には、４×４ドットの二次元データにより、行列データの中心画素の画像ピクセル（１ドット）が変換される。
【００５９】
次に、ラスタライズ部５５は、行列データの中心画素の画像ピクセルを二次元データを用いて変換することで得られた補間データ（ＶＯＵＴ）をシリアル変換して、プリンタエンジン２２に対して画素データとして出力する（Ｓ０９）。プリンタエンジン２２は、画素データに基づいて印刷処理を行う（Ｓ１０）。
【００６０】
次に、画像形成処理を終了するか否かを判断し（Ｓ１１）、画像形成処理を終了しない場合（Ｓ１１において、ＮＯ）、例えば、印刷対象データの全てを処理していないため、Ｓ０１の処理に戻る。また、ユーザからの強制終了指示や、印刷対象データの全てに対して画像形成処理が終了したことにより、終了すると判断した場合（Ｓ１１において、ＹＥＳ）、画像形成処理を終了する。
【００６１】
＜プリンタエンジン２２の概略構成例＞
次に、上述したプリンタエンジン２２の概略構成例について、図を用いて説明する。図８は、プリンタエンジンの概略構成の一例を示す図である。なお、図８の例では、レーザプリンタのプリンタエンジンを示しているが、これに限定されるものではなく、インクジェットプリンタのプリンタエンジン等でもよい。
【００６２】
図８に示すプリンタエンジン２２は、画像露光ユニット６１と、帯電手段６２と、感光ドラム６３と、現像手段６４と、転写手段６５と、ドラムクリーナ６６と、定着手段６７とを有する。
【００６３】
プリンタエンジン２２は、ビデオコントローラ３３からの画素データを画像露光ユニット６１が取得する。
【００６４】
画像露光ユニット６１は、レーザ照射部やポリゴンミラー等を有する。画像露光ユニット６１は、ポリゴンミラー等の回転周期等に対応したスキャン周期で感光ドラム６３上をスキャンするビーム光を検出し、ビーム光の検出信号を画像処理部２１に出力する。また、画像露光ユニット６１は、ビーム光の検出信号の出力タイミングに合わせて画像処理部２１から入力された画素データに対応させて、レーザ照射部からのレーザ光をポリゴンミラー等を用いて主走査方向に偏向させる。更に画像露光ユニット６１は、その光ビームを感光ドラム６３の所定位置に露光させる。
【００６５】
帯電手段６２は、感光ドラム６３の表面を所定の電位に均一に帯電させる。感光ドラム６３は、図８に示す方向に軸回転しながら、画像露光ユニット６１からのビーム光を受光する。
【００６６】
現像手段６４は、１又は複数色のトナー（例えば、Ｋ（黒），Ｃ（シアン），Ｍ（マゼンタ），Ｙ（イエロー））が充填されたトナーボトルを有し、感光ドラム６３の露光された部分に所定の色のトナーを付着させる。
【００６７】
転写手段６５は、用紙等の印刷媒体６８を感光ドラム６３の表面と接触するように搬送させて感光ドラム６３の表面に付着したトナーを印刷媒体６８の表面に転写させる。ドラムクリーナ６６は、感光ドラム６３の表面に付着したトナーを除去する。定着手段６７は、印刷媒体６８の表面に転写させたトナーを熱等により乾燥させる。上述したような、プリンタエンジン２２において、上述した画像処理部２１において第１の実施形態における画像修正が行われた画素データを入力することで、主走査方向だけでなく、副走査方向に対しても画像修正された印刷対象データを印刷（出力）することができる。なお、第１の実施形態における画像形成処理後の印刷対象データは、印刷媒体６８に印刷されるだけでなく、例えばＰＣ１１の画面（ディスプレイ）等に表示させてもよい。
【００６８】
上述したように、第１の実施形態によれば、より滑らかなジャギー減少効果を生み出すことができる。例えば、第１の実施形態によれば、行列データの中心画素の画像ピクセル（１ドット）を、４×４ドットの二次元データを用いて変換し、変換することで得た補間データを新たに生成される複数のラインにそれぞれ出力する。このため、主走査方向だけでなく副走査方向に対しても、より滑らかなジャギー減少効果が実現できる。
【００６９】
なお、第１の実施形態における画像修正は、プロセッサを用いてソフトウェア的に行うことができる。ただし、ハードウェア回路的技術を用いることで、処理の迅速化が図れる。また、マッチしたマトリックス出力パターンに対応付けて設定された二次元データを用いて、行列データを変換するため、画像修正の際の補間処理においてプロセッサを用いた複雑な計算を行う必要がなくなる。このため、処理前の印刷対象データを格納するメモリエリアと、処理後の印刷対象データを格納するメモリエリアが大量に必要になることもなく、メモリアクセスも頻繁に行う必要がない。この結果、回路規模を小さくできるとともに、処理にかかる時間を大幅に短縮することができる。
【００７０】
［第２の実施形態］
上記第１の実施形態では、印刷対象データのｄｐｉを偶数倍（２倍または４倍）に変換する場合について説明した。これに対して、第２の実施形態では、印刷対象データのｄｐｉを非偶数倍に変換する場合について説明する。
【００７１】
なお、非偶数倍とは、偶数ではない倍数であり、例えば、奇数倍、小数点付き倍数等が含まれる。更に、小数点付き倍数には、１／２倍の整数倍である半整数倍（１．５倍、２．５倍等）が含まれる。以下では、説明の簡略化のため、半整数倍の例を用いて説明する。また、マトリックス出力パターンのサイズを、縦７×横９ではなく、縦２×横２とする。以下、第２の実施形態について、上記第１の実施形態との相違点を中心に説明を行う。
【００７２】
＜ビデオコントローラ３３の機能構成例＞
はじめに、第２の実施形態におけるビデオコントローラ３３の機能構成例について、図９を用いて説明する。図９は、ビデオコントローラの機能構成の一例を示す図である。図１０に示すビデオコントローラ９００は、ドットカウンタ部９０１と、記憶部の一例としてのバッファ部９０２と、生成部の一例としての行列変換部９０３と、変換率セレクト部９０４と、出力部の一例としてのラスタライズ部５５とを有する。なお、図９に示す各部は、基準クロック信号（ｃｌｋ）により同期処理を行うことができる。
【００７３】
ドットカウンタ部９０１は、上記第１の実施形態において、図２を用いて説明したドットカウンタ部５１と概ね同じである。ただし、ドットカウンタ部５１では、４×４ドットの二次元データの各ラインを画像変換部５４が出力するためのライン情報（Ｌｉｎｅ＿ｓｅｌ）を出力した。これに対して、ドットカウンタ部９０１は、３×３ドットの二次元データまたは５×５ドットの二次元データの各ラインを変換率セレクト部９０４が出力するためのライン情報（Ｌｉｎｅ＿ｓｅｌ）を出力する。
【００７４】
バッファ部９０２は、メモリ３４から印刷対象データを所定のライン単位でバッファリングする記憶部である。第２の実施形態において、バッファ部９０２は、８ライン分のラインバッファ（第１のラインバッファ〜第８のラインバッファ）を有しており、印刷対象データの各ラインデータが順次バッファリングされるものとする。
【００７５】
例えば、印刷対象データの第１のラインデータが、バッファ部９０２の第１のラインバッファ９０２ａにバッファリングされ、印刷対象データの第２のラインデータが、バッファ部９０２の第２のラインバッファ９０２ｂにバッファリングされる。以下、同様に、印刷対象データの第３のラインデータ〜第８のラインデータは第３のラインバッファ９０２ｃ〜第８のラインバッファ９０２ｈにバッファリングされる。
【００７６】
ここで、第１のラインバッファ９０２ａ及び第２のラインバッファ９０２ｂにバッファリングされた印刷対象データの第１のラインデータ及び第２のラインデータが行列変換部９０３にすべて出力されたとする。この場合、第１のラインバッファ９０２ａには、印刷対象データの第９のラインデータがバッファリングされる。また、第２のラインバッファ９０２ｂには印刷対象データの第１０のラインデータがバッファリングされる。このように、バッファ部９０２の各ラインバッファは、バッファリングしているラインデータが出力されると、印刷対象データの次のラインデータが順次バッファリングされる。なお、第２の実施形態においては、２ライン分のラインデータを読み込む。
【００７７】
バッファ部９０２は、隣接するラインバッファにそれぞれバッファリングされたラインデータを、行列変換部５３に対して、２ドット（ｄｏｔ）ずつ出力する。
【００７８】
行列変換部９０３は、バッファ部９０２より出力された２つのラインデータの２ドット分の画素データ（つまり、縦２×横２の行列データ）と、縦２×横２のマトリックス出力パターンとのマッチングを行う。
【００７９】
行列変換部９０３は、縦２×横２の行列データと、縦２×横２のマトリックス出力パターンとがマッチしていると判定した場合には、縦２×横２のマトリックス出力パターンに対応付けて格納された、５×５ドットの二次元データを読み出す。また、行列変換部９０３は、読み出した二次元データを構成する各データ（１，１）、（１，２）・・・（５，５）を変換率セレクト部９０４に出力する。
【００８０】
変換率セレクト部９０４は、行列変換部９０３より出力された５×５ドットの二次元データを、ドットカウンタ部９０１からのカウンタ情報（Ｌｉｎｅ＿ｓｅｌ）に基づいて必要に応じて３×３ドットの二次元データに変換することで、所定の解像度を実現する。
【００８１】
ここで、行列変換部９０３より出力された５×５ドットの二次元データは、もともと、縦２×横２の行列データを変換したものであり、この時点で、印刷対象データの解像度は２．５倍になっている。したがって、ドットカウンタ部９０１からのカウンタ情報が、印刷対象データの解像度を２．５倍にすることを指示するカウンタ情報であった場合、変換率セレクト部９０４は、行列変換部９０３より出力された５×５ドットの二次元データそのものを出力する。これにより、例えば、２４０ｄｐｉ→６００ｄｐｉに解像度を増加する変換を行うことができる。
【００８２】
また、変換率セレクト部９０４は、ドットカウンタ部９０１からのカウンタ情報が、印刷対象データの解像度を１．５倍にすることを指示するカウンタ情報であった場合、３×３ドットの二次元データを出力する。なお、３×３ドットの二次元データは、行列変換部９０３より出力された５×５ドットの二次元データのうちの中央の３×３ドットの二次元データを抽出することで得られる。これにより、例えば、４００ｄｐｉ→６００ｄｐｉに解像度を増加する変換を行うことができる。
【００８３】
なお、変換率セレクト部９０４は、３ライン分の二次元データまたは５ライン分の二次元データを出力する。変換率セレクト部９０４は、ライン情報（Ｌｉｎｅ＿ｓｅｌ）に応じたタイミングで、３×３ドットの二次元データまたは５×５ドットの二次元データの各ラインを補間データ（ＶＯＵＴ）としてラスタライズ部５５に出力する。
【００８４】
ラスタライズ部５５は、上記第１の実施形態において、図２を用いて説明したラスタライズ部５５と同様であるため、ここでは説明を省略する。
【００８５】
＜マトリックス出力パターン＞
次に、マトリックス出力パターンについて説明する。図１０は、マトリックス出力パターンの一例を示す図である。図１０に示すように、マトリックス出力パターンには、情報の項目として、"マトリックス出力パターン"と"二次元データ"とが含まれる。
【００８６】
"マトリックス出力パターン"には、バッファ部９０２より出力された縦２×横２の行列データとのマッチングに用いる縦２×横２のマトリックス出力パターンが格納される。
【００８７】
"二次元データ"には、バッファ部９０２より出力された縦２×横２の行列データが、マトリックス出力パターンにマッチした場合に、縦２×横２の行列データそのものを変換する二次元データが格納される。
【００８８】
図１０に示すように、"二次元データ"に格納された５×５ドットの二次元データには、内部に３×３ドットの二次元データ（点線で囲まれた範囲）が含まれる。したがって、変換率セレクト部９０４において、解像度を２．５倍にする場合には、５×５ドットの二次元データが読み出される。一方、解像度を１．５倍にする場合には、３×３ドットの二次元データが読み出される。
【００８９】
＜第２の実施形態における各処理タイミングの一例＞
次に、上述した第２の実施形態における各処理のタイミングの一例について、図１１を用いて説明する。図１１は、第２の実施形態における各処理タイミングの一例を示す図である。図１１の例では、所定周期（時間）による水平同期信号に対する出力タイミングの生成、行列データの生成、マトリックス出力パターン検出、二次元データ生成の各タイミングを示している。
【００９０】
図１１の例では、プリンタエンジン２２から水平同期信号が出力され、その水平同期信号を画像処理部２１が入力すると、図１１に示すように、ドットカウンタ部９０１が動作し、受信した水平同期信号に基づく出力タイミングをバッファ部９０２に出力する。これにより、新たなラインデータがバッファ部５２にバッファリングされる。また、バッファ部５２は基準クロック信号に基づいて、縦２×横２の行列データ（ｎ＿１ライン，ｎ＿２ライン）を行列変換部９０３に出力する。
【００９１】
次に、行列変換部９０３は、縦２×横２の行列データと、予め設定されたマトリックス出力パターンとを比較し、マッチするマトリックス出力パターンを検出する。マッチするマトリックス出力パターンを検出した場合は、縦２×横２の行列データの画像ピクセルを、マッチしたマトリックス出力パターンに対応付けられた二次元データに変換して出力する。このとき、例えば２４０ｄｐｉから６００ｄｐｉに解像度を変換する場合には、行列データ（縦２×横２）を５×５ドットの二次元データに変換し、補間データ（ＶＯＵＴ）として、図１１に示すようにライン情報（Ｌｉｎｅ＿ｓｅｌ）に対応させて出力する。
【００９２】
上述したように、第２の実施形態では、印刷対象データについて、主走査方向と副走査方向の両方向においてｄｐｉ変換を行う。これにより、より滑らかなジャギーの減少効果を実現できる。
【００９３】
また、印刷対象データについてｄｐｉ変換を行うにあたり、第２の実施形態では、印刷対象データから生成した行列データのうち、予め設定されたマトリックス出力パターンとマッチした行列データを、予め定めた二次元データに変換することで補間処理を行う。これにより、ｄｐｉ変換における複雑な補間処理の計算を排除することが可能となる。
【００９４】
更に、第２の実施形態では、印刷対象データから縦２×横２の行列データを生成するとともに、行列データとのマッチングに用いる縦２×横２のマトリックス出力パターン、３×３ドットの二次元データ及び５×５ドットの二次元データを予め定めておく。これにより、半整数倍（１．５倍または２．５倍）のｄｐｉ変換を行うことが可能となる。
【００９５】
なお、第２の実施形態では、第１の実施形態において、図２を用いて説明したビデオコントローラ３３に代えて、図９を用いて説明したビデオコントローラ９００を配するものとして説明した。しかしながら、画像処理部２１は、図２を用いて説明したビデオコントローラ３３の機能と、図９を用いて説明したビデオコントローラ９００の機能とを含むビデオコントローラを有していてもよい。
【００９６】
この場合、例えば、２４０ｄｐｉまたは４００ｄｐｉの印刷対象データは、図９を用いて説明したビデオコントローラ９００の機能を用いて６００ｄｐｉに変換され、図２を用いて説明したビデオコントローラ３３の機能を用いて１２００ｄｐｉに変換される。
【００９７】
また、第２の実施形態では、印刷対象データのｄｐｉを１．５倍または２．５倍に変換する場合について説明したが、半整数倍であれば、１．５倍または２．５倍に限定されない。
【００９８】
また、第２の実施形態では、行列変換部９０３が縦２×横２のマトリックス出力パターンを有する場合について説明したが、行列変換部９０３は、ｎ行ｎ列（ｎは偶数）のマトリックス出力パターンを有していてもよい。なお、この場合、行列変換部９０３は、半整数倍となるような変換パターンを有するものとする。また、行列変換部９０３は、ｎ行ｎ列の行列データを生成するものとする。
【００９９】
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、上述した各実施例の一部又は全部を組み合わせることも可能である。
【０１００】
なお、以上の実施例に関し、更に以下の付記を開示する。
（付記１）
出力対象データから所定の画像ピクセル領域の二次元マトリックスを生成する生成部と、
前記生成部により得られた二次元マトリックスと、予め設定されたマトリックス出力パターンとのマッチングにより、前記二次元マトリックスの画像ピクセルを二次元データに変換し、変換した二次元データに対応して生成される複数のラインに、前記二次元データを出力して副走査方向に対する画像修正を行う画像変換部とを有する画像形成装置。
（付記２）
前記画像変換部は、
前記出力対象データに対する解像度の変換内容に応じた前記二次元データに変換することを特徴とする付記１に記載の画像形成装置。
（付記３）
所定のタイミングからなる水平同期信号を入力し、入力された水平同期信号に対応させて前記出力対象データの画像中のドット数をカウントするドットカウンタ部を有し、
前記ドットカウンタ部は、前記ドット数に基づいて前記複数のラインの出力タイミングを指示する信号を前記画像変換部に出力することを特徴とする付記１又は２に記載の画像形成装置。
（付記４）
前記生成部は、前記出力対象データから得られる複数のラインデータから副走査方向のデータを１画素毎に順番に取得し、取得した画素を所定クロック数分記憶することで、前記二次元マトリックスを生成することを特徴とする付記１乃至３の何れか１項に記載の画像形成装置。
（付記５）
前記生成部は、ｎ行ｎ列（ｎは偶数）の二次元マトリックスを生成し、
前記画像変換部は、前記生成部により生成された該二次元マトリックスの画像ピクセルを、半整数倍した二次元データに変換することを特徴とする付記１に記載の画像形成装置。
（付記６）
前記二次元マトリックスの画像ピクセルは、２行２列の行列データであり、前記二次元データは、３行３列または５行５列であることを特徴とする付記５に記載の画像形成装置。
（付記７）
画像形成装置が、
出力対象データから所定の画像ピクセル領域の二次元マトリックスを生成し、
生成した前記二次元マトリックスと、予め設定されたマトリックス出力パターンとのマッチングにより、前記二次元マトリックスの画像ピクセルを二次元データに変換し、
変換した二次元データに対応して生成される複数のラインに、前記二次元データを出力して副走査方向に対する画像修正を行う、ことを特徴とする画像処理方法。
（付記８）
出力対象データから所定の画像ピクセル領域の二次元マトリックスを生成し、
生成した前記二次元マトリックスと、予め設定されたマトリックス出力パターンとのマッチングにより、前記二次元マトリックスの画像ピクセルを二次元データに変換し、
変換した二次元データに対応して生成される複数のラインに、前記二次元データを出力して副走査方向に対する画像修正を行う、処理をコンピュータに実行させる画像処理プログラム。
【符号の説明】
【０１０１】
１０  画像形成システム
１１  ＰＣ
１２  印刷装置（プリンタ）
１３  通信ネットワーク
２１  画像処理部
２２  プリンタエンジン
３１  外部Ｉ／Ｆコネクタ
３２  ＭＰＵ
３３  ビデオコントローラ
３４  メモリ
４１  外部Ｉ／Ｆコントローラ
４２  プロセッサコア
４３  メモリコントローラ
４４  バスコントローラ
５１  ドットカウンタ部
５２  バッファ部
５３  行列変換部（生成部）
５４  画像変換部
５５  ラスタライズ部
６１  画像露光ユニット
６２  帯電手段
６３  感光ドラム
６４  現像手段
６５  転写手段
６６  ドラムクリーナ
６７  定着手段
９０１  ドットカウンタ部
９０２  バッファ部
９０３  行列変換部
９０４  変換率セレクト部
【図１】
2016076925.tif 000003
【図２】
2016076925.tif 000004
【図３】
2016076925.tif 000005
【図４】
2016076925.tif 000006
【図５】
2016076925.tif 000007
【図６】
2016076925.tif 000008
【図７】
2016076925.tif 000009
【図８】
2016076925.tif 000010
【図９】
2016076925.tif 000011
【図１０】
2016076925.tif 000012
【図１１】
2016076925.tif 000013