(57)【要約】【課題】分割制御印刷処理において、分割画素の階調値を決定する階調値ルックアップテーブル（ＬＵＴ）を自動生成する。【解決手段】画素の階調を示す画素階調データと、副走査方向に各画素を分割した複数の領域をそれぞれ露光するためのデータであって、領域の階調を示す領域階調データと、を対応付けた階調値ＬＵＴと、階調値ＬＵＴを参照して、各画素の階調を示す画素階調データに基づいて、各領域の階調を示す領域階調データを生成する露光データ生成部と、領域階調データに基づいて複数の発光素子を制御して、複数の領域を露光することにより、複数の画素を露光する露光制御部と、を備える露光ヘッド制御装置において、画素を複数の領域に分割した分割数と、画素の最大階調数とに基づいて、階調値ＬＵＴを生成する。これにより、メモリ容量を抑えつつ、多様な印刷モードに対応することができるようになる。【選択図】図１
2008229934.tif 000002
【特許請求の範囲】
【請求項１】
第１の方向に配列された複数の発光素子を制御して、複数の画素を露光する露光ヘッド制御装置であって、
画素の階調を示す画素階調データと、前記第１の方向と交差する第２の方向において各画素を分割した複数の領域をそれぞれ露光するためのデータであって、領域の階調を示す領域階調データと、を対応付けた階調値ルックアップテーブルと、
前記階調値ルックアップテーブルを参照して、各画素の階調を示す画素階調データに基づいて、各領域の階調を示す領域階調データを生成する露光データ生成部と、
前記領域階調データに基づいて前記複数の発光素子を制御して、前記複数の領域を露光することにより、前記複数の画素を露光する露光制御部と、
前記画素を前記複数の領域に分割した分割数と、前記画素の最大階調数とに基づいて、前記階調値ルックアップテーブルを生成するテーブル生成部と、
を備える露光ヘッド制御装置。
【請求項２】
前記階調値ルックアップテーブルは、前記画素階調データに加え、各画素において露光するドット位置を示すドット位置データを、前記領域階調データに対応付けて構成され、
前記露光データ生成部は、各画素のドット位置データにさらに基づいて、前記領域階調データを生成する、
ことを特徴とする請求項１記載の露光ヘッド制御装置。
【請求項３】
前記画素の分割数及び／又は前記画素の最大階調数が任意に設定可能である、
ことを特徴とする請求項１又は２記載の露光ヘッド制御装置。
【請求項４】
前記テーブル生成部は、前記露光ヘッド制御装置の電源投入時に階調値ルックアップテーブルを生成する、
ことを特徴とする請求項１乃至３のいずれかに記載の露光ヘッド制御装置。
【請求項５】
前記テーブル生成部は、前記画素の分割数及び／又は前記画素の最大階調数の設定を変更したときに階調値ルックアップテーブルを生成する、
ことを特徴とする請求項１乃至４のいずれかに記載の露光ヘッド制御装置。
【請求項６】
請求項１乃至５のいずれかに記載の露光ヘッド制御装置を備える画像形成装置。
【請求項７】
画素の階調を示す画素階調データと、第１の方向と交差する第２の方向において各画素を分割した複数の領域をそれぞれ露光するためのデータであって、領域の階調を示す領域階調データと、を対応付けた階調値ルックアップテーブルを備え、前記第１の方向に配列された複数の発光素子を制御して、複数の画素を露光する露光ヘッド制御装置における露光ヘッドの制御方法であって、
前記画素を前記複数の領域に分割した分割数と、前記画素の最大階調数とに基づいて、前記階調値ルックアップテーブルを生成するステップと、
前記階調値ルックアップテーブルを参照して、各画素の階調を示す画素階調データに基づいて、各領域の階調を示す領域階調データを生成するステップと、
前記領域階調データに基づいて前記複数の発光素子を制御して、前記複数の領域を露光することにより、前記複数の画素を露光するステップと、
を備える露光ヘッド制御方法。
【請求項８】
請求項７に記載の露光ヘッド制御方法の各ステップを、画像形成装置の備えるコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、露光ヘッド制御装置及びそれを備えた画像形成装置に関する。
【背景技術】
【０００２】
従来のＬＥＤプリントヘッドを有する画像形成装置として、特許文献１に記載された発明が存在する。この特許文献１に記載された従来の画像形成装置は、画像データの階調に応じてＬＥＤの点灯時間を変化させる点灯基準クロックの周期を、画像データの階調に応じて変更している。
【０００３】
また、本願の出願人は、特許文献２において、１画素を副走査方向に複数に分割し、分割した単位画素の階調値を適切に変換することによって、高画質の印刷画像を提供する画像形成装置を開示している。
【特許文献１】特開２００２−２４８８０８号公報
【特許文献２】特開２００６−２４８１６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献２に記載の画像形成装置において、１画素を副走査方向に複数に分割し、分割した単位画素の階調値を適切に変換するために、階調値ルックアップテーブル（ＬＵＴ）を用いている。
【０００５】
ところで、特許文献２に記載の分割制御印刷処理において、画素の分割数と最大階調値を変更して、高速モード（画素分割数：小、最大階調値：小）と高画質モード（画素分割数：大、最大階調値：大）を切替えて印刷することを求められる場合がある。この場合、予め高速モード用階調値ＬＵＴと高画質モード用階調値ＬＵＴの少なくとも２種類のテーブルをメモリ内に格納しておく必要がある。また、印刷モードの種類を増やし、多様なニーズに応えようとすると、より多くの階調値ＬＵＴが必要となりメモリ容量が増大する問題点が生じる。
【０００６】
本発明は、かかる実情に鑑み、分割制御印刷処理において、分割画素の階調値を決定する階調値ルックアップテーブルを自動生成することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明による露光ヘッド制御装置は、第１の方向に配列された複数の発光素子を制御して、複数の画素を露光する露光ヘッド制御装置であって、画素の階調を示す画素階調データと、第１の方向と交差する第２の方向において各画素を分割した複数の領域をそれぞれ露光するためのデータであって、領域の階調を示す領域階調データと、を対応付けた階調値ルックアップテーブルと、階調値ルックアップテーブルを参照して、各画素の階調を示す画素階調データに基づいて、各領域の階調を示す領域階調データを生成する露光データ生成部と、領域階調データに基づいて複数の発光素子を制御して、複数の領域を露光することにより、複数の画素を露光する露光制御部と、画素を複数の領域に分割した分割数と、画素の最大階調数とに基づいて、階調値ルックアップテーブルを生成するテーブル生成部と、を備える。
【０００８】
かかる発明によれば、高画質な画像を形成できる分割制御印刷処理において、分割画素の階調値を決定する階調値ルックアップテーブルを自動生成することが可能になる。これにより、メモリ容量を抑えつつ、多様な印刷モードに対応することができるという特有の効果を奏する。
【０００９】
好適には、階調値ルックアップテーブルは、画素階調データに加え、各画素において露光するドット位置を示すドット位置データを、領域階調データに対応付けて構成され、露光データ生成部は、各画素のドット位置データにさらに基づいて、領域階調データを生成する。
【００１０】
また、画素の分割数及び／又は画素の最大階調数が任意に設定可能であることが好ましい。
【００１１】
さらに、テーブル生成部は、露光ヘッド制御装置の電源投入時に階調値ルックアップテーブルを生成することが好ましい。また、テーブル生成部は、画素の分割数及び／又は画素の最大階調数の設定を変更したときに階調値ルックアップテーブルを生成することが好ましい。
【００１２】
また、本発明による画像形成装置は、上記露光ヘッド制御装置を備えている。
【００１３】
さらに、本発明による露光ヘッド制御方法は、画素の階調を示す画素階調データと、第１の方向と交差する第２の方向において各画素を分割した複数の領域をそれぞれ露光するためのデータであって、領域の階調を示す領域階調データと、を対応付けた階調値ルックアップテーブルを備え、第１の方向に配列された複数の発光素子を制御して、複数の画素を露光する露光ヘッド制御装置における露光ヘッドの制御方法である。このとき、画素を複数の領域に分割した分割数と、画素の最大階調数とに基づいて、階調値ルックアップテーブルを生成するステップと、階調値ルックアップテーブルを参照して、各画素の階調を示す画素階調データに基づいて、各領域の階調を示す領域階調データを生成するステップと、領域階調データに基づいて複数の発光素子を制御して、複数の領域を露光することにより、複数の画素を露光するステップと、を備える。
【００１４】
本発明のプログラムは、上記露光ヘッド制御方法の各ステップを画像形成装置の備えるコンピュータに実行させることを特徴とする。本発明のプログラムは、ＣＤ−ＲＯＭ等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しつつ、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせのすべてが発明の解決手段に必須であるとは限らない。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【００１６】
図１は、画像形成装置１００の構成の一例を示す図である。画像形成装置１００は、露光ヘッド制御装置の一例であるコントローラ１１０と、エンジン部を制御するエンジン制御部１３０と、ラインヘッド１４０とを備えて構成される。
【００１７】
コントローラ１１０は、受信部１１１と、変換部１１２と、ラインメモリ１１４と、クロック生成部１１５と、制御信号生成部１１６と、Ｓクロック（パルス階調制御用クロック：ＳＣＬＫ）生成部１１７と、Ｈｓｙｎｃ信号生成部１１８と、ＤＨｓｙｎｃ信号生成部１２０と、カウンタ１２２と、アドレス生成部１２４と、階調値ルックアップテーブル（ＬＵＴ）１２６と、電流補正データメモリ１２７とを有して構成される。アドレス生成部１２４及び階調値ＬＵＴ１２６は、露光データ生成部の一例である。
【００１８】
変換部１１２は、パーソナルコンピュータ（ＰＣ）２００が出力した、各画素を露光するための画素露光データ（シリアルデータ）を受信し、これをパラレルデータ（６ビット）に変換して、ラインメモリ１１４に供給する。本実施形態の画素露光データは、各画素の階調を示す画素階調データ、及び、各画素においてドットを寄せる位置を示すドット位置データを含んで構成される。
【００１９】
受信部１１１は、ＣＰＵ１３４から印刷モード（印刷方式）を受信し、ＳＣＬＫ生成部１１７に供給する。印刷モードとは、印刷の質とスピードの組み合わせによって設定される印刷方式のことであり、具体的には、画素分割数ＤｉｖＮと最大階調値Ｇｍａｘとに基づいて決定される。ユーザは、入力手段（図示略）等を介して印刷モードを任意に選択、又は、画素分割数ＤｉｖＮと最大階調値Ｇｍａｘを任意に設定できるようになっている。このとき、例えば、階調数１６で４分割した６４階調の分割制御を実行すれば、階調表現数を落とすことなく高画質な印刷を行うことができる。また、階調数５で４分割の分割制御を実行すれば、分割画素の階調数の上限を下げる代わりに高速印刷を行うことができる。
【００２０】
また、受信部１１１は、画素分割数ＤｉｖＮと最大階調値Ｇｍａｘとに基づいてＣＰＵ１３４が生成した階調値ルックアップテーブルのデータ（ＬＵＴデータ）を受け取り、それを階調値ＬＵＴ１２６としてメモリ等の記憶手段に格納する機能を有する。
【００２１】
クロック生成部１１５は、コントローラ１１０の動作の基準となるクロック信号ＣＬＫを印刷モードに応じて生成し、制御信号生成部１１６に供給する。このとき、印刷モード、すなわち、画素分割数ＤｉｖＮと最大階調値Ｇｍａｘに応じて、クロック信号ＣＬＫの周波数を変えるよう設定されている。制御信号生成部１１６は、クロック信号ＣＬＫに基づいて、リード・ライトイネーブル信号ＲＷＥを生成し、ラインメモリ１１４に供給する。また、ＳＣＬＫ生成部１１７は、クロック信号ＣＬＫと印刷モードを受け取り、印刷モードに応じたＳクロック信号ＳＣＬＫ及びストローブ信号ＳＴＢを生成し、ＬＥＤ駆動部１５０に供給する。なお、Ｓクロック信号ＳＣＬＫは、データの転送クロックであるクロック信号ＣＬＫとは独立に設定できる。本実施形態では、Ｓクロック信号ＳＣＬＫは、印刷モードによらずほぼ一定の周波数をとるよう設定される。
【００２２】
ラインメモリ１１４は、画素露光データを１ラインごと格納し、制御信号生成部１１６から供給されるリード・ライトイネーブル信号ＲＷＥに基づいて、当該画素露光データをアドレス生成部１２４に供給する。
【００２３】
Ｈｓｙｎｃ信号生成部１１８は、Ｖｓｙｎｃセンサ１３２が生成した印刷開始信号Ｖｓｙｎｃに基づいて、露光データの送信開始信号Ｈｓｙｎｃを生成し、ＰＣ２００及びＤＨｓｙｎｃ信号生成部１２０に供給する。ＤＨｓｙｎｃ信号生成部１２０は、送信開始信号Ｈｓｙｎｃを受け取り、これを逓倍したＤＨｓｙｎｃ信号を生成する。例えば、画素分割数ＤｉｖＮが３の場合、ＤＨｓｙｎｃ信号生成部１２０は、送信開始信号Ｈｓｙｎｃの周期を３逓倍して、ＤＨｓｙｎｃ信号を生成する。
【００２４】
カウンタ１２２は、ＤＨｓｙｎｃ信号に基づいてカウントした回数データを、アドレス生成部１２４に供給する。カウンタ１２２のビット数は、ＤＨｓｙｎｃ信号生成部１２０が、送信開始信号Ｈｓｙｎｃの分周比に基づいて設定される。例えば、画素分割数ＤｉｖＮが３の場合、ＤＨｓｙｎｃ信号生成部１２０は、送信開始信号Ｈｓｙｎｃを３逓倍するため、カウンタ１２２は、そのビット数が２ビットに設定され、３カウントごとにリセットするよう構成される。
【００２５】
アドレス生成部１２４は、画素露光データ及び回数データに基づいて、階調値ＬＵＴ１２６において、分割画素階調データが格納されたアドレスを指定するアドレス信号を生成する。具体的には、アドレス生成部１２４は、ラインメモリ１１４から供給された所定の画素露光データに対して、回数データを順次付加して複数のアドレス信号を生成する。そして、アドレス生成部１２４は、回数データがリセットされると、他の画素露光データに対して、新たに回数データを順次付加して複数のアドレスデータを生成する。例えば、画素分割数ＤｉｖＮが３の場合、アドレス生成部１２４は、１つの画素露光データに対して、３つの回数データをそれぞれ付加して、３つのアドレス信号を生成する。アドレス信号のビット構成の具体例については、図５において後述する。
【００２６】
階調値ＬＵＴ１２６は、ＣＰＵ１３４により生成され、受信部１１１を介してメモリ等の記憶手段に格納される階調値ルックアップテーブルであり、画素を構成する各領域の階調を示す分割画素階調データが、アドレスと対応付けられている。そして、アドレス生成部１２４からアドレス信号を受け取った場合に、当該アドレスに対応する分割画素階調データを、ラインヘッド１４０に出力する。
【００２７】
例えば、画素分割数ＤｉｖＮが３の場合、分割画素階調データは、各画素の１／３の領域の階調を示すデータである。すなわち、ある画素を露光するための画素露光データは、アドレス生成部１２４において、当該画素を４つの領域に分割して露光すべく、回数データが付加された３つのアドレスデータに変換される。そして、当該３つのアドレスデータは、さらに、階調値ＬＵＴ１２６において、分割された３つの領域をそれぞれ露光するための分割画素階調値データに変換される。
【００２８】
電流補正データメモリ１２７は、ＬＥＤアレイ１４２に供給する電流量を補正する電流補正データを格納する。本実施形態において、電流補正データメモリ１２７は、製造プロセスのばらつき等に起因する、当該ラインヘッド１４０に固有の電流補正データを格納しており、これを常にラインヘッド１４０に供給するよう構成されている。本実施形態において、階調値ＬＵＴ１２６から出力された分割画素階調データ（４ビット）、及び、電流補正データメモリ１２７から出力された電流補正データ（６ビット）は、１０ビットのデータ信号ＤＡＴＡとしてＬＥＤ駆動部１５０に供給される。
【００２９】
エンジン制御部１３０は、Ｖｓｙｎｃセンサ１３２及びＣＰＵ１３４を有して構成されている。Ｖｓｙｎｃセンサ１３２は、画像が形成される媒体のエッジ等を認識し、これに基づいて印刷開始信号Ｖｓｙｎｃを生成してコントローラ１１０及びＰＣ２００に供給する。ＣＰＵ１３４は、印刷モードをコントローラ１１０に供給するための印刷モード供給部として機能する。また、ＣＰＵ１３４は、階調値ＬＵＴを自動生成するテーブル生成部として機能し、電源投入時、或いは、ユーザによって印刷モードが切替えられり、新たに画素分割数ＤｉｖＮ及び／又は最大階調値Ｇｍａｘが設定された場合等に、画素分割数ＤｉｖＮと最大階調値Ｇｍａｘとに基づいて階調値ＬＵＴを生成する演算を実行し、生成した階調値ＬＵＴをＬＵＴデータとしてコントローラ１１０に供給する。
【００３０】
図２は、ラインヘッド１４０の構成の一例を示す図である。ラインヘッド１４０は、ＬＥＤアレイ１４２、カソードドライバ１４４及びＬＥＤ駆動部１５０を有して構成される。本実施形態のラインヘッド１４０は、ＬＥＤアレイ１４２の数が５６個となるように、図２に示す構成が複数配置されている。また、各ＬＥＤアレイ１４２は、第１の方向の一例である主走査方向に配列された４８個のＬＥＤを有しており、各ＬＥＤが各画素を露光する。なお、ラインヘッド１４０に設けられるＬＥＤアレイ１４２の数、及び、各ＬＥＤ
アレイ１４２内のＬＥＤの数は任意である。
【００３１】
カソードドライバ１４４は、各ＬＥＤアレイ１４２を構成するＬＥＤのカソードに接続されており、各ＬＥＤのカソードをＬＥＤアレイ１４２単位で順次接地する。また、ＬＥＤ駆動部１５０は、カソードドライバ１４４がＬＥＤアレイ１４２を接地する動作に応じて、当該ＬＥＤアレイ１４２に電流を供給して、当該ＬＥＤアレイを発光させる。すなわち、本実施形態において、ＬＥＤ駆動部１５０及びカソードドライバ１４４は、５６個のＬＥＤアレイ１４２を順次発光させて、各画素を露光する。
【００３２】
ＬＥＤ駆動部１５０は、露光制御部の一例であって、ＣＬＫカウンタ１５２と、データラッチ部１５４と、ＳＣＬＫカウンタ１５６と、パルス変調部１５８と、電流出力部１６０とを有して構成される。本実施形態のＬＥＤ駆動部１５０は、制御信号生成部１１６から供給された信号／ＳＴＢ、／ＳＣＬＫ、／Ｈｓｙｎｃ、ＣＬＫ及びＤＡＴＡに基づいて、ＬＥＤアレイ１４２の発光時間及び発光タイミングを制御する。
【００３３】
ＣＬＫカウンタ１５２は、制御信号生成部１１６から供給されたクロック信号ＣＬＫのエッジをカウントする。本実施形態において、ＣＬＫカウンタ１５２は、送信開始信号／Ｈｓｙｎｃのエッジに応じてカウントを開始し、そのカウント値がＬＥＤアレイ１４２に設けられたＬＥＤの個数である４８となったときに、ＳＣＬＫカウンタ１５６をリセットする。
【００３４】
データラッチ部１５４は、ＬＥＤアレイ１４２を構成するＬＥＤの個数である４８個のシフトレジスタ及びラッチを有して構成されている。データラッチ部１５４は、クロック信号ＣＬＫのエッジの変化に応じて、データ信号ＤＡＴＡを順次シフトさせるとともに、各ラッチにおいて保持する。また、データラッチ部１５４は、保持されたデータ信号ＤＡＴＡのうち、分割画素階調データ（４ビット）をパルス変調部１５８に供給し、電流補正データ（６ビット）を電流出力部１６０に供給する。
【００３５】
ＳＣＬＫカウンタ１５６は、Ｓクロック信号ＳＣＬＫのエッジをカウントする。ＳＣＬＫカウンタ１５６は、送信開始信号／Ｈｓｙｎｃ及びＣＬＫカウンタ１５２から出力された信号のエッジに応じてリセットされ、信号／ＳＴＢのエッジに応じてカウントを開始する。
【００３６】
パルス変調部１５８は、４８個のコンパレータを有して構成されており、電流出力部１６０を制御して、各ＬＥＤアレイ１４２に設けられた４８個のＬＥＤの発光時間を制御する。具体的には、パルス変調部１５８は、信号／ＳＴＢのエッジに応じて、４８個のＬＥＤが発光を開始するように電流出力部１６０を制御する。また、パルス変調部１５８において、各コンパレータは、ＳＣＬＫカウンタからそのカウント値を受け取り、また、データラッチ部１５４の対応するラッチから分割画素階調データを受け取る。そして、各コンパレータは、受け取ったカウント値が分割画素階調データと一致したときに、対応するＬＥＤの発光を停止するように、電流出力部１６０を制御する。すなわち、４８個のＬＥＤは、略同時に発光を開始し、各ＬＥＤに対応する分割画素階調データの値に応じたタイミングにおいて、それぞれ発光を停止する。これにより、各ＬＥＤの発光時間が制御され、各画素において露光されるドットの階調が制御される。
【００３７】
電流出力部１６０は、パルス変調部１５８からの制御に応じて、ＬＥＤアレイ１４２の各ＬＥＤに対して所定の電流を供給する。具体的には、電流出力部１６０は、各ＬＥＤに対して略同じタイミングで所定の電流の供給を開始し、各ＬＥＤを発光すべき時間に応じて、各ＬＥＤに対する所定の電流の供給を停止する。また、電流出力部１６０は、データラッチ部１５４から供給された電流補正データに基づいて、各ＬＥＤに供給する電流量を
補正する。
【００３８】
図３は、ＣＰＵ１３４によって生成される階調値ＬＵＴ１２６のデータ構成の一例を示す図である。図３（Ａ）に示すように、階調値ＬＵＴ１２６は、アドレス信号が示すアドレスと分割画素階調データとを対応付けて格納している。アドレス（１０ビット）は、２ビットの回数データ、並びに、２ビットのドット位置データ及び４ビットの階調データからなる画素露光データから構成されている。なお、階調値ＬＵＴの生成方法については後述する。
【００３９】
図３（Ｂ）は、回数データ（カウンタ１２２の出力値）とビット値との関係を示す図である。例えば、画素分割数ＤｉｖＮが３の場合、同図に示すように、画素露光データに対して回数データ（１〜３回）を付加することにより、露光すべき画素を３つの領域に分割し、各領域に対してそれぞれ階調データを割り当てている。具体的には、「１回目」、「２回目」及び「３回目」とは、それぞれ、画素を分割した３つの領域のうち、１回目、２回目及び３回目に露光する領域を示す。
【００４０】
図３（Ｃ）は、ドット位置データとビット値との関係を示す図である。「上寄せ」とは、本実施形態による処理を行うことにより、露光するドットを、画素において、当該処理を行わない場合よりも上側に寄せることを示す。また、「中央寄せ」、「上下寄せ」及び「下寄せ」は、同様に、それぞれ中央、上下及び下側にドットを寄せることを示す。本実施形態において、ドット位置データは、画素露光データの一部を構成しており、画素露光データとしてＰＣ２００からコントローラ１１０に供給される。
【００４１】
図４は、図３に示す階調値ＬＵＴを別の観点から表現した図であり、画素分割数ＤｉｖＮが３で最大階調値Ｇｍａｘが１６の場合における、分割画素の露光イメージ（各分割画素で露光される階調値のイメージ）を示す図である。図４に示すとおり、画素階調データが示す画素階調値は最大階調値Ｇｍａｘに等しい１６階調（２進数では４ビット）であり、この１６階調のデータに画素分割数ＤｉｖＮの３を乗じて総割当画素数Ｇｔｏｔａｌを算出する。そして、総割当画素数Ｇｔｏｔａｌの値を、各画素において露光すべきドットの位置（すなわち、ドット位置データ）に基づいて、画素を分割した３つの領域に対して割り振ることにより、各分割画素における分割画素階調値を設定する。
【００４２】
例えば、画素階調値が「１２」であり、「上寄せ」を行う場合には、当該画素を構成する３つの領域の分割画素階調値を上から順番に「１５」「１５」「６」として、画素における上方の領域を下方の領域よりも強く露光することにより、全体として画素に露光されるドットを上側に寄せることができる。
【００４３】
そして、各分割画素階調値を４ビットデータとして、アドレス（すなわち、回数データ、ドット位置データ及び画素階調データ）と対応づけることにより、階調値ＬＵＴが作成される。
【００４４】
図５は、画像形成装置の動作を示すタイミングチャートである。図１乃至図３及び図５を参照して、本実施形態の画像形成装置１００の動作について説明する。以下の例では、画素分割数ＤｉｖＮが３で、最大階調値Ｇｍａｘが１６の場合を示し、１ラインは、４８画素からなる５６個のブロックに分割されており、コントローラ１１０は、ブロック単位（すなわち、４８画素分）でデータをＬＥＤ駆動部１５０に供給し、ＬＥＤ駆動部１５０は、ＬＥＤアレイ１４２単位でＬＥＤを発光させて、ブロック単位で画素を露光している。すなわち、本実施形態の画像形成装置は、５６個のブロックを時分割で露光することにより、媒体に画像を形成する。
【００４５】
以下、まず、コントローラ１１０がＬＥＤ駆動部１５０に露光に必要な各信号及びデータを供給する動作について説明し、次いで、ＬＥＤ駆動部１５０が当該各信号及びデータに基づいて、ＬＥＤアレイ１４２を発光させる動作について説明する。
【００４６】
まず、エンジン制御部１３０において、Ｖｓｙｎｃセンサ１３２が、画像を形成する媒体の先頭を検出し、印刷開始信号Ｖｓｙｎｃの論理値を変化させる。また、Ｈｓｙｎｃ信号生成部１２０は、印刷開始信号Ｖｓｙｎｃの論理値の変化を検出すると、送信開始信号Ｈｓｙｎｃを生成し、ＰＣ２００の画像処理部２１０及びＤＨｓｙｎｃ信号生成部１２０に供給する。送信開始信号Ｈｓｙｎｃは、所定の周期でパルスが現れる信号であり、画像処理部２１０は、各パルス（エッジ）を検出すると、１ライン分の画素露光データ（ラスタデータ）の送信を開始する。
【００４７】
画像処理部２１０から送信された画素露光データは、変換部２２０及び１１２を介して、ラインメモリ１１４に蓄積される。ラインメモリ１１４に蓄積された各画素露光データは、制御信号生成部１１６から供給されたリード・ライトイネーブル信号ＲＷＥに応じて、順次、アドレス生成部１２４に供給される。
【００４８】
一方、カウンタ１２２は、送信開始信号Ｈｓｙｎｃを３逓倍したＤＨｓｙｎｃ信号に基づいて、回数データをカウントして、アドレス生成部１２４に供給する。すなわち、カウンタ１２２は、送信開始信号Ｈｓｙｎｃの１周期の間に、「００」、「０１」及び「１０」の２ビットデータ（回数データ）を、アドレス生成部１２４に繰り返し供給している。そして、アドレス生成部１２４は、１つの画素露光データに対して３つの回数データを結合した３つのアドレス信号を生成し、順次、階調値ＬＵＴ１２６に供給する。階調値ＬＵＴ１２６は、アドレス信号が示すアドレスに応じて、格納された分割画素階調データをＬＥＤ駆動部１５０に供給する。これにより、ＰＣ２００から送信された画素露光データに応じて、階調値ＬＵＴ１２６からＬＥＤ駆動部１５０に分割画素階調データが供給される。
【００４９】
次に、ＬＥＤ駆動部１５０が、ＬＥＤアレイ１４２の各ＬＥＤを発光させる動作について説明する。
【００５０】
まず、送信開始信号／Ｈｓｙｎｃの論理値が変化すると、制御信号生成部１１６は、ＣＬＫカウンタ１５２及びデータラッチ部１５４にクロック信号ＣＬＫを供給する。そして、データラッチ部１５４は、まず、５６個のＬＥＤアレイ１４２のうち、最初に発光させるべきＬＥＤアレイ１４２（１ブロック目）に供給するデータを、コントローラ１１０から受け取り、保持する。具体的には、データラッチ部１５４は、クロック信号ＣＬＫのエッジの変化に応じて４８個のＬＥＤを発光させるための分割画素階調データ及び電流補正データ（データ信号ＤＡＴＡ）を順次受信し、当該データを４８個のシフトレジスタにおいて順次シフトさせるとともに、各シフトレジスタに対応するラッチに格納する。
【００５１】
データラッチ部１５４が１ブロック目の分割画素階調データ及び電流補正データをすべて格納すると、信号／ＳＴＢがＨ論理からＬ論理に変化し、１ブロック目のＬＥＤアレイ１４２が発光を開始する。具体的には、信号／ＳＴＢがＬ論理に変化すると、パルス変調部１５８は、４８個のＬＥＤにそれぞれ所定の電流を供給して発光させるよう、電流出力部１６０を制御する。電流出力部１６０は、データラッチ部１５４から供給された電流補正データに基づいて、４８個のＬＥＤに所定の電流を供給して発光させる。
【００５２】
また、信号／ＳＴＢがＨ論理からＬ論理に変化すると、ＳＣＬＫカウンタ１５６がリセットされ、ＳＣＬＫカウンタ１５６は、制御信号生成部１２６から供給された信号／ＳＣＬＫに基づいてカウントしたカウント値を、パルス変調部１５８に供給する。
【００５３】
パルス変調部１５８は、ＳＣＬＫカウンタ１５６のカウント値と、データラッチ部１５４から供給された、４８個のＬＥＤの分割画素階調データとをそれぞれ比較する。そして、パルス変調部１５８は、カウント値と分割画素階調データが一致した場合に、一致した当該分割画素階調データに対応するＬＥＤの発光を停止するように電流出力部１６０を制御する。本実施形態では、分割画素階調データは４ビットデータであるため、ＳＣＬＫカウンタ１５６のカウント値が「１５」になるまでに、４８個のＬＥＤに対応する分割画素階調データがカウント値と一致して、１ブロック目のすべてのＬＥＤの発光が停止する。
【００５４】
また、データラッチ部１５４は、パルス変調部１５８が１ブロック目のＬＥＤを発光させている期間において、２ブロック目のＬＥＤを発光させるため、データ信号ＤＡＴＡを受信する。具体的には、データラッチ部１５４は、信号／ＳＣＬＫのエッジに応じてパルス変調部１５８及び電流出力部１６０が１ブロック目のＬＥＤを発光させている期間において、クロック信号ＣＬＫのエッジに応じて、２ブロック目のＬＥＤを発光させるための分割画素階調データ及び電流補正データを４８個のシフトレジスタにおいてシフトさせ、４８個のラッチに保持する。
【００５５】
そして、データラッチ部１５４は、２ブロック目の分割画素階調データ及び電流補正データの受信を完了すると、それらをパルス変調部１５８に供給し、３ブロック目の分割画素階調データ及び電流補正データの受信を開始する。一方、パルス変調部１５８及び電流出力部１６０は、パルス変調部１５８が３ブロック目のデータを受信している期間において、２ブロック目の分割画素階調データ及び電流補正データに基づいて、２ブロック目のＬＥＤの発光を制御する。以上の動作を繰り返すことにより、５６ブロックのＬＥＤアレイ１４２を発光させて、媒体に１ライン分の画像が形成される。
【００５６】
次に、ＣＰＵ１３４において、副走査方向の画素分割数ＤｉｖＮと最大階調値Ｇｍａｘとに基づいて、階調値ＬＵＴ１２６を自動生成する処理について説明する。
【００５７】
図６乃至図１４は、階調値ＬＵＴを自動生成する際に、画素分割数ＤｉｖＮと最大階調値Ｇｍａｘに基づいて、分割画素の階調値を決定する処理フローを示すフローチャートである。
【００５８】
まず、使用する記号について説明すると、「ＤｉｖＮ」は、副走査方向の画素分割数を表し、「Ｇｍａｘ」は最大階調値を表している。また、「ＨｒｅｑＮ」は分割Ｈｓｙｎｃ信号の回数データ（０〜ＤｉｖＮ−１）を表し、「Ｐｏｓ」は位置情報（０：上寄せ、１：中寄せ、２：上下寄せ、３：下寄せ）を表し、「Ｇｒａｄ」は画素の階調値を表す。「Ｇｔｏｔａｌ」は、画素の階調値（Ｇｒａｄ）×画素分割数（ＤｉｖＮ）の値であり、ここでは、総割当画素数と呼ぶ。また、「Ｐｒｉｏｒｉｔｙ」は分割画素に総割当画素数Ｇｔｏｔａｌ分の階調値を振り分けるための各分割画素間の優先順位（０が最も優先順位高い）を表し、「ＲＵｐ（）」は小数点以下切り上げ、「ＲＤｏｗｎ（）」は小数点以下切り下げ、「％」は除算した剰余を表す。「ＤｉｖＧｒａｄ」は、各分割画素に対して算出される分割画素階調値を表す。
【００５９】
図６乃至図１４に示す分割画素の階調値決定フローの概要を簡単に説明すると、まず、階調値ＬＵＴ１２６を生成するにあたり、図６乃至図８に示す処理により、階調値ＬＵＴのある１つのアドレスを定めている。次に、当該定めた１つのアドレスに対応する分割画素階調データの値を図９乃至図１４に示す処理より算出する。このとき、図１０は、分割画素に階調値を割り振る際に各分割画素の優先順位を定める処理であり、ここで定めた優先順位に従って、図１１乃至図１４に示すように総割当画素数Ｇｔｏｔａｌ分の階調値を各分割画素に割り振っていき、分割画素の階調値の値を算出する。
【００６０】
以下、各図面に基づいて、階調値決定処理を詳細に説明する。
【００６１】
図６は、階調値ＬＵＴ１２６のある１つのアドレス値を定める際に、回数データＨｒｅｑＮに関するアドレス値を定める処理を示す図である。まず、回数データＨｒｅｑＮが画素分割数ＤｉｖＮに等しいか否かを判断する（Ｓ３０１）。回数データＨｒｅｑＮが画素分割数ＤｉｖＮに等しい場合は（Ｓ３０１：ＹＥＳ）、階調値ＬＵＴが生成されたことを示すので、処理を終了する。一方、回数データＨｒｅｑＮが画素分割数ＤｉｖＮ未満であれば（Ｓ３０１：ＮＯ）、図７に示す処理を実行する（Ｓ３０２）。その後、回数データＨｒｅｑＮを１つインクリメントしてから（Ｓ３０３）、ステップＳ３０１に戻る。
【００６２】
図７は、図６のステップＳ３０２に示す処理、すなわち、階調値ＬＵＴ１２６のある１つのアドレス値を定める際に、位置情報Ｐｏｓに関するアドレス値、すなわち、ドット位置データに関するアドレス値を定める処理を示す図である。まず、位置情報Ｐｏｓが３より大きいか否かを判断する（Ｓ３１１）。位置情報Ｐｏｓが３より大きい場合は（Ｓ３１１：ＹＥＳ）、図６の処理に返る。一方、位置情報Ｐｏｓが３以下の場合は（Ｓ３１１：ＮＯ）、図８に示す処理を実行する（Ｓ３１２）。その後、位置情報Ｐｏｓを１つインクリメントしてから（Ｓ３１３）、ステップＳ３１１に戻る。
【００６３】
図８は、図７のステップＳ３１２に示す処理、すなわち、階調値ＬＵＴ１２６のある１つのアドレス値を定める際に、画素の階調値Ｇｒａｄに関するアドレス値、すなわち、画素階調データに関するアドレス値を定める処理を示す図である。まず、階調値Ｇｒａｄが最大階調値Ｇｍａｘより大きいか否かを判断する（Ｓ３２１）。階調値Ｇｒａｄが最大階調値Ｇｍａｘより大きい場合は（Ｓ３２１：ＹＥＳ）、図７の処理に返る。一方、階調値Ｇｒａｄが最大階調値Ｇｍａｘ以下の場合は（Ｓ３２１：ＮＯ）、図９に示す処理を実行する（Ｓ３２２）。その後、階調値Ｇｒａｄを１つインクリメントしてから（Ｓ３２３）、ステップＳ３２１に戻る。
【００６４】
図９は、図８のステップＳ３２２に示す処理、すなわち、図６乃至図８に示す処理によって定められたある１つのアドレス値に対して、分割画素階調データを算出する処理のフローを示すフローチャートである。まず、階調値Ｇｒａｄに画素分割数ＤｉｖＮを乗じて、当該アドレスにおける総割当画素数Ｇｔｏｔａｌを算出する（Ｓ３３１）。次に、図１０に示す処理を行い、分割画素に階調値を割り振る際の、分割画素間の優先順位を決定する（Ｓ３３２）。その後、位置情報Ｐｏｓの値に応じて、図１１から図１４に示す処理のいずれかを実行する。具体的には、位置情報Ｐｏｓが０の場合（Ｓ３３３：ＹＥＳ）、すなわち、ドット位置データが上寄せの場合は、図１１に示す処理を実行する（Ｓ３３４）。位置情報Ｐｏｓが１の場合（Ｓ３３５：ＹＥＳ）、すなわち、ドット位置データが中寄せの場合は、図１２に示す処理を実行する（Ｓ３３６）。位置情報Ｐｏｓが２の場合（Ｓ３３７：ＹＥＳ）、すなわち、ドット位置データが上下寄せの場合は、図１３に示す処理を実行する（Ｓ３３８）。位置情報Ｐｏｓが３の場合（Ｓ３３９：ＹＥＳ）、すなわち、ドット位置データが下寄せの場合は、図１４に示す処理を実行する（Ｓ３３４）。こうして、ドット位置データに応じて、図１１乃至図１４の処理を実行して総割当画素数Ｇｔｏｔａｌを各分割画素に割り振り、ある１つのアドレス値に対応する分割画素階調値の算出を終えると、図８の処理に返る。
【００６５】
図１０は、図９のステップＳ３３２に示す処理、すなわち、分割画素に階調値重み付けを割り振る際の、分割画素間の優先順位を決定する処理の流れを示すフローチャートである。この処理は、図１０に示すように、位置情報Ｐｏｓ、すなわち、ドット位置データによって処理内容が異なっている。
【００６６】
まず、位置情報Ｐｏｓが０である場合（Ｓ３４１：ＹＥＳ）、すなわち、ドット位置データが上寄せの場合、上に位置する分割画素から順に優先順位Ｐｒｉｏｒｉｔｙを定める。具体的には、各分割画素の優先順位Ｐｒｉｏｒｉｔｙを、回数データＨｒｅｑＮに等しいものとする（Ｓ３４２）。
【００６７】
位置情報Ｐｏｓが１の場合（Ｓ３４３：ＹＥＳ）、すなわち、ドット位置データが中寄せの場合は、中央に位置する分割画素から上又は下に向かうに連れて優先順位Ｐｒｉｏｒｉｔｙが低くなるようにする。具体的には、回数データＨｒｅｑＮが、画素分割数ＤｉｖＮを２で除したものの小数点以下を切り下げた値よりも大きい場合（Ｓ３４４：ＮＯ）、回数データＨｒｅｑＮから画素分割数ＤｉｖＮを２で除した整数部分の値を減じたものを、優先順位Ｐｒｉｏｒｉｔｙとする（Ｓ３４５）。回数データＨｒｅｑＮが、画素分割数ＤｉｖＮを２で除したものの小数点以下を切り下げた値よりも小さい場合（Ｓ３４４：ＹＥＳ）、画素分割数ＤｉｖＮが奇数であれば（Ｓ３４６：ＮＯ）、画素分割数ＤｉｖＮを２で除した整数部分の値から回数データＨｒｅｑＮを減じたものを優先順位Ｐｒｉｏｒｉｔｙとし、画素分割数ＤｉｖＮが偶数であれば（Ｓ３４６：ＹＥＳ）、画素分割数ＤｉｖＮを２で除した整数部分の値から、回数データＨｒｅｑＮと１の和を減じたものを優先順位Ｐｒｉｏｒｉｔｙとする（Ｓ３４８）。
【００６８】
位置情報Ｐｏｓが２の場合（Ｓ３４９：ＹＥＳ）、すなわち、ドット位置データが上下寄せの場合は、上又は下に位置する分割画素から中央に向かうに連れて優先順位Ｐｒｉｏｒｉｔｙが低くなるようにする。具体的には、画素分割数ＤｉｖＮが奇数の場合は（Ｓ３５０：ＮＯ）、回数データＨｒｅｑＮが、画素分割数ＤｉｖＮを２で除したものの小数点以下を切り下げた値よりも大きい場合（Ｓ３５１：ＮＯ）、画素分割数ＤｉｖＮから回数データＨｒｅｑＮを減じて、さらに１を引いた値を、優先順位Ｐｒｉｏｒｉｔｙとする（Ｓ３５２）。また、回数データＨｒｅｑＮが、画素分割数ＤｉｖＮを２で除したものの小数点以下を切り下げた値以下の場合（Ｓ３５１：ＹＥＳ）、回数データＨｒｅｑＮを優先順位Ｐｒｉｏｒｉｔｙとする（Ｓ３５３）。一方、画素分割数ＤｉｖＮが偶数の場合は（Ｓ３５０：ＹＥＳ）、回数データＨｒｅｑＮが、画素分割数ＤｉｖＮを２で除したものの小数点以下を切り下げた値よりも大きい場合（Ｓ３５４：ＮＯ）、画素分割数ＤｉｖＮから回数データＨｒｅｑＮを減じて、さらに１を引いた値を、優先順位Ｐｒｉｏｒｉｔｙとする（Ｓ３５５）。また、回数データＨｒｅｑＮが、画素分割数ＤｉｖＮを２で除したものの小数点以下を切り下げた値より小さい場合（Ｓ３５４：ＹＥＳ）、回数データＨｒｅｑＮを優先順位Ｐｒｉｏｒｉｔｙとする（Ｓ３５６）。
【００６９】
位置情報Ｐｏｓが３の場合（Ｓ３５７：ＹＥＳ）、すなわち、ドット位置データが下寄せの場合は、下に位置する分割画素から順に優先順位Ｐｒｉｏｒｉｔｙを定める。具体的には、各分割画素の優先順位Ｐｒｉｏｒｉｔｙを、画素分割数ＤｉｖＮから回数データＨｒｅｑＮを減じたものにする（Ｓ３５８）。
【００７０】
こうして、位置情報Ｐｏｓ（ドット位置データ）に基づいて、各分割画素の優先順位Ｐｒｉｏｒｉｔｙを定めた後、位置情報Ｐｏｓ（ドット位置データ）に応じて、総割当画素数Ｇｔｏｔａｌを各分割画素に割り当てる処理（図１１乃至図１４）を行う。この割り当て処理は、１つの画素に対して、すなわち、画素分割数ＤｉｖＮ個分の分割画素に対して、総割当画素数Ｇｔｏｔａｌの画素が割り振っていく処理であり、優先順位Ｐｒｉｏｒｉｔｙの高い分割画素から順に画素数（分割画素階調値）が割り振られる。
【００７１】
図１１は、図９のステップＳ３３４に示す処理、すなわち、ドット位置データが上寄せの場合における分割画素階調値算出処理の流れを示すフローチャートである。このとき、優先順位Ｐｒｉｏｒｉｔｙの高い分割画素、つまり、上側に位置する分割画素から順に、総割当画素数Ｇｔｏｔａｌ分の画素数を割り当てていく。
【００７２】
まず、ある分割画素に関して、当該分割画素の優先順位Ｐｒｉｏｒｉｔｙに１を加えた値に最大階調値Ｇｍａｘを乗じた値が、総割当画素数Ｇｔｏｔａｌ以下の場合（Ｓ３６１：ＹＥＳ）、すなわち、優先順位Ｐｒｉｏｒｉｔｙが高く総割当画素数Ｇｔｏｔａｌに余分がある場合には、当該分割画素の分割画素階調値ＤｉｖＧｒａｄを最大階調値Ｇｍａｘに定める（Ｓ３６２）。当該分割画素の優先順位Ｐｒｉｏｒｉｔｙに１を加えた値に最大階調値Ｇｍａｘを乗じた値が、総割当画素数Ｇｔｏｔａｌより大きい場合（Ｓ３６１：ＹＥＳ）、当該分割画素の優先順位Ｐｒｉｏｒｉｔｙに最大階調値Ｇｍａｘを乗じた値が、総割当画素数Ｇｔｏｔａｌ未満であれば（Ｓ３６３：ＹＥＳ）、これまでに割り振った残りの画素数を分割画素階調値ＤｉｖＧｒａｄに割り当てる（Ｓ３６４）。総割当画素数Ｇｔｏｔａｌの画素を全て割り振った後（Ｓ３６３：ＮＯ）、それよりも優先順位Ｐｒｉｏｒｉｔｙの低い分割画素の分割画素階調値ＤｉｖＧｒａｄを０に定める（Ｓ３６５）。
【００７３】
図１２は、図９のステップＳ３３６に示す処理、すなわち、ドット位置データが中寄せの場合における分割画素階調値算出処理の流れを示すフローチャートである。このとき、中央から上下に向かってほぼ対称に画素数を割り当てていく。
【００７４】
画素分割数ＤｉｖＮが偶数の場合（Ｓ３７１：ＹＥＳ）、総割当画素数Ｇｔｏｔａｌを２で除した値が、各分割画素の優先順位Ｐｒｉｏｒｉｔｙに１を加えた値に最大階調値Ｇｍａｘを乗じた値以上であれば（Ｓ３７２：ＹＥＳ）、すなわち、優先順位Ｐｒｉｏｒｉｔｙが高く総割当画素数Ｇｔｏｔａｌに余分がある場合には、当該分割画素の分割画素階調値ＤｉｖＧｒａｄを最大階調値Ｇｍａｘに定める（Ｓ３７３）。総割当画素数Ｇｔｏｔａｌを２で除した値が、各分割画素の優先順位Ｐｒｉｏｒｉｔｙに１を加えた値に最大階調値Ｇｍａｘを乗じた値より小さい場合（Ｓ３７２：ＮＯ）、総割当画素数Ｇｔｏｔａｌを２で除した値が、各分割画素の優先順位Ｐｒｉｏｒｉｔｙに最大階調値Ｇｍａｘを乗じた値より大きければ（Ｓ３７４：ＹＥＳ）、総割当画素数Ｇｔｏｔａｌからこれまでに割り振った総画素数を引いた残りの画素数を上下の各分割画素に割り振る（Ｓ３７６）。総割当画素数Ｇｔｏｔａｌの画素を全て割り振った後（Ｓ３７４：ＮＯ）、それよりも優先順位Ｐｒｉｏｒｉｔｙの低い分割画素の分割画素階調値ＤｉｖＧｒａｄを０に定める（Ｓ３７５）。
【００７５】
また、画素分割数ＤｉｖＮが奇数の場合（Ｓ３７１：ＮＯ）、まず、優先順位Ｐｒｉｏｒｉｔｙの最も高い真ん中の分割画素に画素数を割り振る。すなわち、優先順位Ｐｒｉｏｒｉｔｙが０の場合は（Ｓ３７２：ＹＥＳ）、総割当画素数Ｇｔｏｔａｌが最大階調値Ｇｍａｘより小さい場合（Ｓ３７８：ＮＯ）、当該分割画素の分割画素階調値ＤｉｖＧｒａｄを総割当画素数Ｇｔｏｔａｌに定め（Ｓ３７９）、総割当画素数Ｇｔｏｔａｌが最大階調値Ｇｍａｘ以上の場合（Ｓ３７８：ＹＥＳ）、当該分割画素の分割画素階調値ＤｉｖＧｒａｄを最大階調値Ｇｍａｘに定める（Ｓ３８０）。次に、中央から上又は下の分割画素に移り、総割当画素数Ｇｔｏｔａｌに余分がある場合には（Ｓ３８１：ＹＥＳ）、当該分割画素の分割画素階調値ＤｉｖＧｒａｄを最大階調値Ｇｍａｘに定める（Ｓ３８２）。そして、総割当画素数Ｇｔｏｔａｌから最大階調値Ｇｍａｘを引いた値を２で除した値が、当該分割画素の優先順位Ｐｒｉｏｒｉｔｙから１を引いた値に最大階調値Ｇｍａｘを乗じた値より大きい場合（Ｓ３８３：ＹＥＳ）、回数データＨｒｅｑＮが当該分割画素の優先順位Ｐｒｉｏｒｉｔｙ以下か否かに応じて処理を分岐させ（Ｓ３８５）、総割当画素数Ｇｔｏｔａｌからこれまでに割り振った総画素数を引いた残りの画素数を上下の各分割画素に割り振る（Ｓ３８６、Ｓ３８７）。総割当画素数Ｇｔｏｔａｌの画素を全て割り振った後（Ｓ３８３：ＮＯ）、それよりも優先順位Ｐｒｉｏｒｉｔｙの低い分割画素の分割画素階調値ＤｉｖＧｒａｄを０に定める（Ｓ３８４）。
【００７６】
図１３は、図９のステップＳ３３８に示す処理、すなわち、ドット位置データが上下寄せの場合における分割画素階調値算出処理の流れを示すフローチャートである。このとき、上下の分割画素から中央に向かってほぼ対称に画素数を割り当てていく。
【００７７】
画素分割数ＤｉｖＮが偶数の場合（Ｓ３９１：ＹＥＳ）、総割当画素数Ｇｔｏｔａｌを２で除した値が、各分割画素の優先順位Ｐｒｉｏｒｉｔｙに１を加えた値に最大階調値Ｇｍａｘを乗じた値以上であれば（Ｓ３９２：ＹＥＳ）、すなわち、優先順位Ｐｒｉｏｒｉｔｙが高く総割当画素数Ｇｔｏｔａｌに余分がある場合には、当該分割画素の分割画素階調値ＤｉｖＧｒａｄを最大階調値Ｇｍａｘに定める（Ｓ３９３）。総割当画素数Ｇｔｏｔａｌを２で除した値が、各分割画素の優先順位Ｐｒｉｏｒｉｔｙに１を加えた値に最大階調値Ｇｍａｘを乗じた値より小さい場合（Ｓ３９２：ＮＯ）、総割当画素数Ｇｔｏｔａｌを２で除した値が、各分割画素の優先順位Ｐｒｉｏｒｉｔｙに最大階調値Ｇｍａｘを乗じた値より大きければ（Ｓ３９４：ＹＥＳ）、総割当画素数Ｇｔｏｔａｌからこれまでに割り振った総画素数を引いた残りの画素数を上下の各分割画素に割り振る（Ｓ３９６）。総割当画素数Ｇｔｏｔａｌの画素を全て割り振った後（Ｓ３９４：ＮＯ）、それよりも優先順位Ｐｒｉｏｒｉｔｙの低い分割画素の分割画素階調値ＤｉｖＧｒａｄを０に定める（Ｓ３９５）。
【００７８】
また、画素分割数ＤｉｖＮが奇数の場合（Ｓ３９１：ＮＯ）、優先順位Ｐｒｉｏｒｉｔｙが画素分割数ＤｉｖＮを２で除した値の整数部分の値に等しければ（Ｓ３９７：ＹＥＳ）、総割当画素数Ｇｔｏｔａｌが画素分割数ＤｉｖＮから１を引いた値に最大階調値Ｇｍａｘを乗じた値以上の場合は（Ｓ３９８：ＹＥＳ）、総割当画素数Ｇｔｏｔａｌから画素分割数ＤｉｖＮから１を引いた値に最大階調値Ｇｍａｘを乗じた値を引いた値を当該分割画素の分割画素階調値ＤｉｖＧｒａｄに定める（Ｓ４００）。総割当画素数Ｇｔｏｔａｌが画素分割数ＤｉｖＮから１を引いた値に最大階調値Ｇｍａｘを乗じた値より小さい場合（Ｓ３９８：ＮＯ）、分割画素階調値ＤｉｖＧｒａｄを０に定める（Ｓ３９９）。また、上下の分割画素で総割当画素数Ｇｔｏｔａｌに余分がある場合には（Ｓ４０１：ＹＥＳ）、当該分割画素階調値ＤｉｖＧｒａｄを最大階調値Ｇｍａｘに定める（Ｓ４０２）。そして、総割当画素数Ｇｔｏｔａｌを２で除した値が画素分割数ＤｉｖＮに最大階調値Ｇｍａｘを乗じた値より大きければ（Ｓ４０３：ＹＥＳ）、回数データＨｒｅｑＮが当該分割画素の優先順位Ｐｒｉｏｒｉｔｙ以下か否かに応じて処理を分岐させ（Ｓ４０５）、総割当画素数Ｇｔｏｔａｌからこれまでに割り振った総画素数を引いた残りの画素数を上下の各分割画素に割り振る（Ｓ４０６、Ｓ４０７）。総割当画素数Ｇｔｏｔａｌの画素を全て割り振った後（Ｓ４０３：ＮＯ）、それよりも優先順位Ｐｒｉｏｒｉｔｙの低い分割画素の分割画素階調値ＤｉｖＧｒａｄを０に定める（Ｓ４０４）。
【００７９】
図１４は、図９のステップＳ３４０に示す処理、すなわち、ドット位置データが下寄せの場合における分割画素階調値算出処理の流れを示すフローチャートである。このとき、優先順位Ｐｒｉｏｒｉｔｙの高い分割画素、つまり、下側に位置する分割画素から順に画素数を割り当てていく。
【００８０】
まず、ある分割画素に関して、当該分割画素の優先順位Ｐｒｉｏｒｉｔｙに最大階調値Ｇｍａｘを乗じた値が、総割当画素数Ｇｔｏｔａｌ以下の場合（Ｓ４１１：ＹＥＳ）、すなわち、優先順位Ｐｒｉｏｒｉｔｙが高く総割当画素数Ｇｔｏｔａｌに余分がある場合には、当該分割画素の分割画素階調値ＤｉｖＧｒａｄを最大階調値Ｇｍａｘに定める（Ｓ４１２）。当該分割画素の優先順位Ｐｒｉｏｒｉｔｙに最大階調値Ｇｍａｘを乗じた値が、総割当画素数Ｇｔｏｔａｌより小さい場合（Ｓ４１１：ＹＥＳ）、当該分割画素の優先順位Ｐｒｉｏｒｉｔｙから１を引いた値に最大階調値Ｇｍａｘを乗じた値が、総割当画素数Ｇｔｏｔａｌ未満であれば（Ｓ４１３：ＹＥＳ）、これまでに割り振った残りの画素数を分割画素階調値ＤｉｖＧｒａｄに割り当てる（Ｓ４１４）。総割当画素数Ｇｔｏｔａｌの画素を全て割り振った後（Ｓ４１３：ＮＯ）、それよりも優先順位Ｐｒｉｏｒｉｔｙの低い分割画素の分割画素階調値ＤｉｖＧｒａｄを０に定める（Ｓ４１５）。
【００８１】
以上のように、本実施形態では、画素分割数ＤｉｖＮと最大階調値Ｇｍａｘに基づいて、各アドレス値に対応する分割画素階調値データを自動的に算出し、階調値ＬＵＴ１２６を生成することができる。
【００８２】
図３、図１５、図１７はそれぞれ、自動生成された階調値ＬＵＴの一例を示す図である。上述のとおり、図３は、画素分割数ＤｉｖＮが３で、最大階調値Ｇｍａｘが１６の場合に生成される階調値ＬＵＴ１２６である。
【００８３】
図１５は、画素分割数ＤｉｖＮが５で、最大階調値Ｇｍａｘが１６の場合に生成される階調値ＬＵＴ１２６を示す図である。図１６は、このときの分割画素の露光イメージ（各分割画素で露光される階調値のイメージ）を示す図である。この例の場合、画素分割数ＤｉｖＮをより大きくしているので、より高精細な印刷出力を実行できる。
【００８４】
図１７は、画素分割数ＤｉｖＮが４で、最大階調値Ｇｍａｘが５の場合に生成される階調値ＬＵＴ１２６を示す図である。図１８は、このときの分割画素の露光イメージ（各分割画素で露光される階調値のイメージ）を示す図である。この例の場合、最大階調値Ｇｍａｘの値を小さくして階調数を抑えている分、より高速な印刷出力を実行できる。
【００８５】
一般に、画素分割数ＤｉｖＮ及び／又は最大階調値Ｇｍａｘを大きな値に設定すれば、より高画質な印刷出力を得ることができる。一方、画素分割数ＤｉｖＮ及び／又は最大階調値Ｇｍａｘを小さな値に設定すれば、より高速な印刷を実行することができる。
【００８６】
以上のとおり、本実施形態では、１画素を副走査方向に複数に分割し、分割画素の階調値を適切に決定することによって高画質の印刷を行う分割制御印刷処理が可能な画像形成装置において、分割画素の階調値を決定する階調値ＬＵＴを、画素分割数ＤｉｖＮと最大階調値Ｇｍａｘとに基づいて自動生成することが可能になる。そして、階調値ＬＵＴを自動生成することによって、予め複数種類の階調値ＬＵＴをメモリ等に格納する必要がなく、メモリ容量を節約できるため、画像形成装置をより安価に構成できる。また、画像形成装置の性能が許す限り、画素分割数と最大階調値を自由に設定できるため、ユーザの好み及び用途に合わせた印刷モードを設定できる。
【００８７】
なお、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【図面の簡単な説明】
【００８８】
【図１】画像形成装置１００の構成の一例を示す図である。
【図２】ラインヘッド１４０の構成の一例を示す図である。
【図３】階調値ＬＵＴ１２６のデータ構成の一例を示す図である。
【図４】分割画素の露光イメージを示す図である。
【図５】画像形成装置の動作を示すタイミングチャートである。
【図６】回数データＨｒｅｑＮに関するアドレス値を定める処理を示す図である。
【図７】ドット位置データに関するアドレス値を定める処理を示す図である。
【図８】画素階調データに関するアドレス値を定める処理を示す図である。
【図９】分割画素階調データを算出する処理のフローを示すフローチャートである。
【図１０】分割画素間の優先順位を決定する処理の流れを示すフローチャートである。
【図１１】上寄せの場合における分割画素階調値算出処理の流れを示すフローチャートである。
【図１２】中寄せの場合における分割画素階調値算出処理の流れを示すフローチャートである。
【図１３】上下寄せの場合における分割画素階調値算出処理の流れを示すフローチャートである。
【図１４】下寄せの場合における分割画素階調値算出処理の流れを示すフローチャートである。
【図１５】画素分割数ＤｉｖＮが５で最大階調値Ｇｍａｘが１６の場合に生成される階調値ＬＵＴ１２６を示す図である。
【図１６】図１５に示す場合における分割画素の露光イメージを示す図である。
【図１７】画素分割数ＤｉｖＮが４で最大階調値Ｇｍａｘが５の場合に生成される階調値ＬＵＴ１２６を示す図である。
【図１８】図１７に示す場合における分割画素の露光イメージを示す図である。
【符号の説明】
【００８９】
１００  画像形成装置、１１０  コントローラ、１１１  受信部、１１２  変換部、１１４  ラインメモリ、１１５  クロック生成部、１１６  制御信号生成部、１１７  ＳＣＬＫ生成部、１１８  Ｈｓｙｎｃ信号生成部、１２０  ＤＨｓｙｎｃ信号生成部、１２２  カウンタ、１２４  アドレス生成部、１２５  ＬＵＴ切替部、１２６  階調値ＬＵＴ、１２７  電流補正データメモリ、１３０  エンジン制御部、１３２  Ｖｓｙｎｃセンサ、１３４  ＣＰＵ（テーブル生成部）、１４０  ラインヘッド、１４２  ＬＥＤアレイ、１４４  カソードドライバ、１５０  ＬＥＤ駆動部、１５２  ＣＬＫカウンタ、１５４  データラッチ部、１５６  ＳＣＬＫカウンタ、１５８  パルス変調部、１６０  電流出力部、２００  ＰＣ、２１０  画像処理部、２２０  変換部
【図１】
2008229934.tif 000003
【図２】
2008229934.tif 000004
【図３】
2008229934.tif 000005
【図４】
2008229934.tif 000006
【図５】
2008229934.tif 000007
【図６】
2008229934.tif 000008
【図７】
2008229934.tif 000009
【図８】
2008229934.tif 000010
【図９】
2008229934.tif 000011
【図１０】
2008229934.tif 000012
【図１１】
2008229934.tif 000013
【図１２】
2008229934.tif 000014
【図１３】
2008229934.tif 000015
【図１４】
2008229934.tif 000016
【図１５】
2008229934.tif 000017
【図１６】
2008229934.tif 000018
【図１７】
2008229934.tif 000019
【図１８】
2008229934.tif 000020