(57)【要約】【課題】濃度補正を行う画像形成装置において，誤差の偏りを抑制して印刷画像の見栄えを改善する技術を提供すること。【解決手段】プリンタ１００は，パターン画像２８を形成して読み取り，読み取ったパターン画像２８の濃度から各階調の出力濃度を取得する。そして，プリンタ１００は，取得した出力濃度と，各階調の目標濃度Ｔとに基づいて，キャリブレーションテーブル７１を作成する。キャリブレーションテーブル７１を作成する際，プリンタ１００は，出力濃度と，既に修正階調を決定した階調の誤差情報と，に基づいて，補正出力濃度Ｑを算出する。そして，算出した補正出力濃度Ｑのうち，特定の階調の目標濃度に最も近い濃度の階調を，特定の階調の修正階調に決定する。さらに，特定の階調の目標濃度と，決定した修正階調の出力濃度と，の差に基づく情報を特定の階調の誤差情報として記憶する。【選択図】図５
2018031902.tif 000002
【特許請求の範囲】
【請求項１】
画像を形成する画像形成部と，
画像の濃度に応じて異なる信号を出力するセンサと，
制御部と，
を備え，
前記制御部は，
複数段階の階調のうち幾つかの異なる階調を用いた画像であるパターン画像を，前記画像形成部に形成させるパターン画像形成処理と，
前記パターン画像が前記センサの検出範囲を通過する際に前記センサから出力される信号に基づいて，前記パターン画像の濃度を測定する濃度測定処理と，
前記濃度測定処理による測定値に基づいて，前記複数段階の各階調に対する出力濃度を取得する出力濃度取得処理と，
前記出力濃度取得処理にて得られた出力濃度に基づいて，前記複数段階の各階調と修正階調とが対応付けられた濃度補正テーブルを作成するテーブル作成処理と，
前記濃度補正テーブルを用いて，前記パターン画像と異なる印刷用の画像を，前記画像形成部に形成させる印刷画像形成処理と，
を実行し，さらに，
前記テーブル作成処理では，
前記濃度補正テーブルに登録される特定の階調に対する修正階調を，階調の小さい方から大きい方の順に決定する場合に，
前記出力濃度取得処理にて得られた出力濃度と，前記特定の階調に対して階調の小さい側に連続する少なくとも１つの階調の誤差情報と，に基づいて取得した誤差修正後出力濃度のうち，前記特定の階調の目標濃度に最も近い濃度の階調と，前記特定の階調の目標濃度以上で最小の濃度の階調と，前記特定の階調の目標濃度以下で最大の濃度の階調と，のうちのいずれかを，前記特定の階調に対する修正階調に決定し，
さらに前記特定の階調の目標濃度と，決定した前記修正階調の出力濃度と，の差に基づく情報を，前記特定の階調の前記誤差情報として記憶する，
ことを特徴とする画像形成装置。
【請求項２】
画像を形成する画像形成部と，
画像の濃度に応じて異なる信号を出力するセンサと，
制御部と，
を備え，
前記制御部は，
複数段階の階調のうち幾つかの異なる階調を用いた画像であるパターン画像を，前記画像形成部に形成させるパターン画像形成処理と，
前記パターン画像が前記センサの検出範囲を通過する際に前記センサから出力される信号に基づいて，前記パターン画像の濃度を測定する濃度測定処理と，
前記濃度測定処理による測定値に基づいて，前記複数段階の各階調に対する出力濃度を取得する出力濃度取得処理と，
前記出力濃度取得処理にて得られた出力濃度に基づいて，前記複数段階の各階調と修正階調とが対応付けられた濃度補正テーブルを作成するテーブル作成処理と，
前記濃度補正テーブルを用いて，前記パターン画像と異なる印刷用の画像を，前記画像形成部に形成させる印刷画像形成処理と，
を実行し，さらに，
前記テーブル作成処理では，
前記濃度補正テーブルに登録される特定の階調に対する修正階調を，階調の大きい方から小さい方の順に決定する場合に，
前記出力濃度取得処理にて得られた出力濃度と，前記特定の階調に対して階調の大きい側に連続する少なくとも１つの階調の誤差情報と，に基づいて取得した誤差修正後出力濃度のうち，前記特定の階調の目標濃度に最も近い濃度の階調と，前記特定の階調の目標濃度以上で最小の濃度の階調と，前記特定の階調の目標濃度以下で最大の濃度の階調と，のうちのいずれかを，前記特定の階調に対する修正階調に決定し，
さらに前記特定の階調の目標濃度と，決定した前記修正階調の出力濃度と，の差に基づく情報を，前記特定の階調の前記誤差情報として記憶する，
ことを特徴とする画像形成装置。
【請求項３】
請求項１または請求項２に記載する画像形成装置において，
前記制御部は，
前記テーブル作成処理では，前記特定の階調に対して連続する複数の他の階調の誤差情報を用いる，
ことを特徴とする画像形成装置。
【請求項４】
請求項３に記載する画像形成装置において，
前記制御部は，
前記テーブル作成処理では，前記特定の階調に近い階調ほど誤差情報の比重が大きくなる重み付けを行う，
ことを特徴とする画像形成装置。
【請求項５】
請求項１から請求項４のいずれか１つに記載する画像形成装置において，
前記制御部は，
前記テーブル作成処理では，
前記特定の階調が，単位階調ごとの出力濃度の変化の割合を示す測定傾きが閾値よりも大きい範囲にある階調の場合，前記誤差情報を利用して前記修正階調を決定し，
前記特定の階調が，前記複数段階の階調のうち前記測定傾きが前記閾値よりも大きくない範囲にある階調の場合，前記誤差情報を利用せず，前記出力濃度取得処理にて得られた出力濃度に基づいて前記修正階調を決定し，
前記閾値は，単位階調ごとの目標濃度の変化の割合を示す目標傾きよりも小さい値である，
ことを特徴とする画像形成装置。
【請求項６】
請求項１から請求項５のいずれか１つに記載する画像形成装置において，
前記誤差情報は，前記特定の階調の目標濃度から，前記特定の階調に対して前記テーブル作成処理にて決定した前記修正階調の出力濃度を減算した結果であり，
前記誤差修正後出力濃度は，前記出力濃度取得処理にて得られた出力濃度から，前記特定の階調に対して連続する複数の階調の前記誤差情報の加重平均を減算した濃度である，
ことを特徴とする画像形成装置。
【請求項７】
請求項１から請求項５のいずれか１つに記載する画像形成装置において，
前記誤差情報は，前記特定の階調に対して前記テーブル作成処理にて決定した前記修正階調の出力濃度から，前記特定の階調の目標濃度を減算した結果であり，
前記誤差修正後出力濃度は，前記出力濃度取得処理にて得られた出力濃度に，前記特定の階調に対して連続する複数の階調の前記誤差情報の加重平均を加算した濃度である，
ことを特徴とする画像形成装置。
【請求項８】
画像を形成する画像形成部と，
画像の濃度に応じて異なる信号を出力するセンサと，
制御部と，
を備え，
前記制御部は，
複数段階の階調のうち幾つかの異なる階調を用いた画像であるパターン画像を，前記画像形成部に形成させるパターン画像形成処理と，
前記パターン画像が前記センサの検出範囲を通過する際に前記センサから出力される信号に基づいて，前記パターン画像の濃度を測定する濃度測定処理と，
前記濃度測定処理による測定値に基づいて，前記複数段階の各階調に対する出力濃度を取得する出力濃度取得処理と，
前記出力濃度取得処理にて得られた出力濃度に基づいて，前記複数段階の各階調と修正階調とが対応付けられた濃度補正テーブルを作成するテーブル作成処理と，
前記濃度補正テーブルを用いて，前記パターン画像と異なる印刷用の画像を，前記画像形成部に形成させる印刷画像形成処理と，
を実行し，さらに，
前記テーブル作成処理では，
前記濃度補正テーブルに登録される特定の階調に対する修正階調を，階調の小さい方から大きい方の順に決定する場合に，
前記出力濃度取得処理にて得られた出力濃度のうち，前記特定の階調の目標濃度と，前記特定の階調に対して階調の小さい側に連続する少なくとも１つの階調の誤差情報と，に基づいて取得した誤差修正後目標濃度に最も近い濃度の階調と，前記誤差修正後目標濃度以上で最小の濃度の階調と，前記誤差修正後目標濃度以下で最大の濃度の階調と，のうちのいずれかを，前記特定の階調に対する修正階調に決定し，
さらに前記特定の階調の目標濃度と，決定した前記修正階調の出力濃度と，の差に基づく情報を，前記特定の階調の前記誤差情報として記憶する，
ことを特徴とする画像形成装置。
【請求項９】
画像を形成する画像形成部と，
画像の濃度に応じて異なる信号を出力するセンサと，
制御部と，
を備え，
前記制御部は，
複数段階の階調のうち幾つかの異なる階調を用いた画像であるパターン画像を，前記画像形成部に形成させるパターン画像形成処理と，
前記パターン画像が前記センサの検出範囲を通過する際に前記センサから出力される信号に基づいて，前記パターン画像の濃度を測定する濃度測定処理と，
前記濃度測定処理による測定値に基づいて，前記複数段階の各階調に対する出力濃度を取得する出力濃度取得処理と，
前記出力濃度取得処理にて得られた出力濃度に基づいて，前記複数段階の各階調と修正階調とが対応付けられた濃度補正テーブルを作成するテーブル作成処理と，
前記濃度補正テーブルを用いて，前記パターン画像と異なる印刷用の画像を，前記画像形成部に形成させる印刷画像形成処理と，
を実行し，さらに，
前記テーブル作成処理では，
前記濃度補正テーブルに登録される特定の階調に対する修正階調を，階調の大きい方から小さい方の順に決定する場合に，
前記出力濃度取得処理にて得られた出力濃度のうち，前記特定の階調の目標濃度と，前記特定の階調に対して階調の大きい側に連続する少なくとも１つの階調の誤差情報と，に基づいて取得した誤差修正後目標濃度に最も近い濃度の階調と，前記誤差修正後目標濃度以上で最小の濃度の階調と，前記誤差修正後目標濃度以下で最大の濃度の階調と，のうちのいずれかを，前記特定の階調に対する修正階調に決定し，
さらに前記特定の階調の目標濃度と，決定した前記修正階調の出力濃度と，の差に基づく情報を，前記特定の階調の前記誤差情報として記憶する，
ことを特徴とする画像形成装置。
【請求項１０】
情報処理装置に，
複数段階の階調のうち幾つかの異なる階調を用いた画像であるパターン画像を形成する指示を伴う特定指示を，画像形成装置に送信する指示送信処理と，
前記特定指示に応じて前記画像形成装置にて形成された前記パターン画像の濃度の測定値を受信し，その測定値に基づいて，前記複数段階の各階調に対する出力濃度を取得する出力濃度取得処理と，
前記出力濃度取得処理にて得られた出力濃度に基づいて，前記複数段階の各階調と修正階調とが対応付けられた濃度補正テーブルを作成するテーブル作成処理と，
前記テーブル作成処理によって得られた濃度補正テーブルの情報を，前記画像形成装置に送信する濃度送信処理と，
を実行させ，さらに
前記テーブル作成処理では，
前記濃度補正テーブルに登録される特定の階調に対する修正階調を，階調の小さい方から大きい方の順に決定する場合に，
前記出力濃度取得処理にて得られた出力濃度と，前記特定の階調に対して階調の小さい側に連続する少なくとも１つの階調の誤差情報と，に基づいて取得した誤差修正後出力濃度のうち，前記特定の階調の目標濃度に最も近い濃度の階調と，前記特定の階調の目標濃度以上で最小の濃度の階調と，前記特定の階調の目標濃度以下で最大の濃度の階調と，のうちのいずれかを，前記特定の階調に対する修正階調に決定し，
さらに前記特定の階調の目標濃度と，決定した前記修正階調の出力濃度と，の差に基づく情報を，前記特定の階調の前記誤差情報として記憶する，
ことを特徴とする制御プログラム。
【請求項１１】
情報処理装置に，
複数段階の階調のうち幾つかの異なる階調を用いた画像であるパターン画像を形成する指示を伴う特定指示を，画像形成装置に送信する指示送信処理と，
前記特定指示に応じて前記画像形成装置にて形成された前記パターン画像の濃度の測定値を受信し，その測定値に基づいて，前記複数段階の各階調に対する出力濃度を取得する出力濃度取得処理と，
前記出力濃度取得処理にて得られた出力濃度に基づいて，前記複数段階の各階調と修正階調とが対応付けられた濃度補正テーブルを作成するテーブル作成処理と，
前記テーブル作成処理によって得られた濃度補正テーブルの情報を，前記画像形成装置に送信する濃度送信処理と，
を実行させ，さらに
前記テーブル作成処理では，
前記濃度補正テーブルに登録される特定の階調に対する修正階調を，階調の大きい方から小さい方の順に決定する場合に，
前記出力濃度取得処理にて得られた出力濃度と，前記特定の階調に対して階調の大きい側に連続する少なくとも１つの階調の誤差情報と，に基づいて取得した誤差修正後出力濃度のうち，前記特定の階調の目標濃度に最も近い濃度の階調と，前記特定の階調の目標濃度以上で最小の濃度の階調と，前記特定の階調の目標濃度以下で最大の濃度の階調と，のうちのいずれかを，前記特定の階調に対する修正階調に決定し，
さらに前記特定の階調の目標濃度と，決定した前記修正階調の出力濃度と，の差に基づく情報を，前記特定の階調の前記誤差情報として記憶する，
ことを特徴とする制御プログラム。
【請求項１２】
情報処理装置に，
複数段階の階調のうち幾つかの異なる階調を用いた画像であるパターン画像を形成する指示を伴う特定指示を，画像形成装置に送信する指示送信処理と，
前記特定指示に応じて前記画像形成装置にて形成された前記パターン画像の濃度の測定値を受信し，その測定値に基づいて，前記複数段階の各階調に対する出力濃度を取得する出力濃度取得処理と，
前記出力濃度取得処理にて得られた出力濃度に基づいて，前記複数段階の各階調と修正階調とが対応付けられた濃度補正テーブルを作成するテーブル作成処理と，
前記テーブル作成処理によって得られた濃度補正テーブルの情報を，前記画像形成装置に送信する濃度送信処理と，
を実行させ，さらに
前記テーブル作成処理では，
前記濃度補正テーブルに登録される特定の階調に対する修正階調を，階調の小さい方から大きい方の順に決定する場合に，
前記出力濃度取得処理にて得られた出力濃度のうち，前記特定の階調の目標濃度と，前記特定の階調に対して階調の小さい側に連続する少なくとも１つの階調の誤差情報と，に基づいて取得した誤差修正後目標濃度に最も近い濃度の階調と，前記誤差修正後目標濃度以上で最小の濃度の階調と，前記誤差修正後目標濃度以下で最大の濃度の階調と，のうちのいずれかを，前記特定の階調に対する修正階調に決定し，
さらに前記特定の階調の目標濃度と，決定した前記修正階調の出力濃度と，の差に基づく情報を，前記特定の階調の前記誤差情報として記憶する，
ことを特徴とする制御プログラム。
【請求項１３】
情報処理装置に，
複数段階の階調のうち幾つかの異なる階調を用いた画像であるパターン画像を形成する指示を伴う特定指示を，画像形成装置に送信する指示送信処理と，
前記特定指示に応じて前記画像形成装置にて形成された前記パターン画像の濃度の測定値を受信し，その測定値に基づいて，前記複数段階の各階調に対する出力濃度を取得する出力濃度取得処理と，
前記出力濃度取得処理にて得られた出力濃度に基づいて，前記複数段階の各階調と修正階調とが対応付けられた濃度補正テーブルを作成するテーブル作成処理と，
前記テーブル作成処理によって得られた濃度補正テーブルの情報を，前記画像形成装置に送信する濃度送信処理と，
を実行させ，さらに
前記テーブル作成処理では，
前記濃度補正テーブルに登録される特定の階調に対する修正階調を，階調の大きい方から小さい方の順に決定する場合に，
前記出力濃度取得処理にて得られた出力濃度のうち，前記特定の階調の目標濃度と，前記特定の階調に対して階調の大きい側に連続する少なくとも１つの階調の誤差情報と，に基づいて取得した誤差修正後目標濃度に最も近い濃度の階調と，前記誤差修正後目標濃度以上で最小の濃度の階調と，前記誤差修正後目標濃度以下で最大の濃度の階調と，のうちのいずれかを，前記特定の階調に対する修正階調に決定し，
さらに前記特定の階調の目標濃度と，決定した前記修正階調の出力濃度と，の差に基づく情報を，前記特定の階調の前記誤差情報として記憶する，
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，画像形成装置および制御プログラムに関する。さらに詳細には，画像形成装置における濃度補正に関するものである。
【背景技術】
【０００２】
プリンタ等の画像形成装置では，濃度補正を行う技術が知られている。濃度補正に関する技術を開示した技術文献としては，例えば，特許文献１がある。特許文献１に開示される画像形成装置では，予め濃度の基準値を設定し，その後，所定のタイミングでパターン画像を形成し，そのパターン画像をセンサで検出する。そして，画像形成装置は，その検出結果と基準値とを比較して得られた濃度変動量に基づいて，濃度補正テーブルを補正する。画像形成装置は，その濃度補正テーブルに基づいて，現像バイアス等の作像条件を調整する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１８６３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら，前記した従来の技術には，次のような問題があった。すなわち，画像形成装置は，デジタル制御による複数段階の階調にて，複数の濃度の画像を出力する。そのため，各階調の出力濃度は，連続的な値ではなく離散的な値となる。画像形成装置は，離散的な出力濃度から目標濃度に近似するものを選んで修正階調を決定することになるが，選ばれた出力濃度と目標濃度との間には誤差がある。
【０００５】
上述の誤差が，複数段階の連続する階調にて濃いあるいは薄いの一方に偏ると，例えば，写真等の連続階調の部分を含む画像を印刷した際，偏りが発生している階調が集まる領域では，他の領域に比較して濃いあるいは薄い画像となる可能性がある。その結果，部分的な領域での濃度ムラや色ムラとしてユーザに認識され，印刷画像の見栄えが悪くなることがある。
【０００６】
本発明は，前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは，濃度補正を行う画像形成装置において，誤差の偏りを抑制して印刷画像の見栄えを改善する技術を提供することにある。
【課題を解決するための手段】
【０００７】
この課題の解決を目的としてなされた画像形成装置は，画像を形成する画像形成部と，画像の濃度に応じて異なる信号を出力するセンサと，制御部と，を備え，前記制御部は，複数段階の階調のうち幾つかの異なる階調を用いた画像であるパターン画像を，前記画像形成部に形成させるパターン画像形成処理と，前記パターン画像が前記センサの検出範囲を通過する際に前記センサから出力される信号に基づいて，前記パターン画像の濃度を測定する濃度測定処理と，前記濃度測定処理による測定値に基づいて，前記複数段階の各階調に対する出力濃度を取得する出力濃度取得処理と，前記出力濃度取得処理にて得られた出力濃度に基づいて，前記複数段階の各階調と修正階調とが対応付けられた濃度補正テーブルを作成するテーブル作成処理と，前記濃度補正テーブルを用いて，前記パターン画像と異なる印刷用の画像を，前記画像形成部に形成させる印刷画像形成処理と，を実行し，さらに，前記テーブル作成処理では，前記濃度補正テーブルに登録される特定の階調に対する修正階調を，階調の小さい方から大きい方の順に決定する場合に，前記出力濃度取得処理にて得られた出力濃度と，前記特定の階調に対して階調の小さい側に連続する少なくとも１つの階調の誤差情報と，に基づいて取得した誤差修正後出力濃度のうち，前記特定の階調の目標濃度に最も近い濃度の階調と，前記特定の階調の目標濃度以上で最小の濃度の階調と，前記特定の階調の目標濃度以下で最大の濃度の階調と，のうちのいずれかを，前記特定の階調に対する修正階調に決定し，さらに前記特定の階調の目標濃度と，決定した前記修正階調の出力濃度と，の差に基づく情報を，前記特定の階調の前記誤差情報として記憶する，ことを特徴としている。
【０００８】
本明細書に開示される画像形成装置は，パターン画像を形成して読み取った結果に基づいて，各階調に対する出力濃度を取得する。そして，取得した出力濃度と各階調の目標濃度とに基づいて，濃度補正テーブルを作成する。濃度補正テーブルの作成時には，既に決定した修正階調にて発生している目標濃度との差に基づく情報を誤差情報として記憶し，記憶する誤差情報を用いて，次の階調の修正階調を決定する。つまり，出力濃度と誤差情報とに基づいて誤差修正後出力濃度を算出し，算出した誤差修正後出力濃度のうち目標濃度に最も近い濃度の階調，または，目標濃度以上で最小の濃度の階調，または，目標濃度以下で最大の濃度の階調を，修正階調に決定する。
【０００９】
すなわち，本明細書に開示される画像形成装置では，濃度補正テーブルを作成する際，ある階調に対する出力濃度を，その階調より先に修正階調を決定した他の階調で生じた誤差情報によって修正し，修正後の出力濃度と特定の階調の目標濃度とに基づいて，濃度補正テーブルに登録される修正階調を決定する。これにより，誤差の発生方向が連続的に濃いあるいは連続的に薄い方向へと偏ることが抑制されるので，印刷画像中に部分的に濃い領域あるいは薄い領域が発生するといった画質劣化を抑制できる。従って，印刷画像の見栄えの改善が期待できる。
【００１０】
また，本明細書には，画像を形成する画像形成部と，画像の濃度に応じて異なる信号を出力するセンサと，制御部と，を備え，前記制御部は，複数段階の階調のうち幾つかの異なる階調を用いた画像であるパターン画像を，前記画像形成部に形成させるパターン画像形成処理と，前記パターン画像が前記センサの検出範囲を通過する際に前記センサから出力される信号に基づいて，前記パターン画像の濃度を測定する濃度測定処理と，前記濃度測定処理による測定値に基づいて，前記複数段階の各階調に対する出力濃度を取得する出力濃度取得処理と，前記出力濃度取得処理にて得られた出力濃度に基づいて，前記複数段階の各階調と修正階調とが対応付けられた濃度補正テーブルを作成するテーブル作成処理と，前記濃度補正テーブルを用いて，前記パターン画像と異なる印刷用の画像を，前記画像形成部に形成させる印刷画像形成処理と，を実行し，さらに，前記テーブル作成処理では，前記濃度補正テーブルに登録される特定の階調に対する修正階調を，階調の小さい方から大きい方の順に決定する場合に，前記出力濃度取得処理にて得られた出力濃度のうち，前記特定の階調の目標濃度と，前記特定の階調に対して階調の小さい側に連続する少なくとも１つの階調の誤差情報と，に基づいて取得した誤差修正後目標濃度に最も近い濃度の階調と，前記誤差修正後目標濃度以上で最小の濃度の階調と，前記誤差修正後目標濃度以下で最大の濃度の階調と，のうちのいずれかを，前記特定の階調に対する修正階調に決定し，さらに前記特定の階調の目標濃度と，決定した前記修正階調の出力濃度と，の差に基づく情報を，前記特定の階調の前記誤差情報として記憶する，画像形成装置が開示されている。
【００１１】
上述の画像形成装置であっても，既に決定した修正階調にて発生している誤差情報を用いて，次の階調の修正階調が決定される。これにより，誤差の発生方向が連続的に濃いあるいは連続的に薄い方向へと偏ることが抑制されるので，印刷画像中に部分的に濃い領域あるいは薄い領域が発生するといった画質劣化を抑制できる。
【００１２】
上記画像形成装置の機能を実現するための制御方法，コンピュータプログラム，および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も，新規で有用である。
【発明の効果】
【００１３】
本発明によれば，濃度補正を行う画像形成装置において，誤差の偏りを抑制して印刷画像の見栄えを改善する技術が実現される。
【図面の簡単な説明】
【００１４】
【図１】実施の形態にかかるプリンタの内部構成を示す断面図である。
【図２】マークセンサを示す説明図である。
【図３】プリンタの電気的構成を示すブロック図である。
【図４】出力濃度と目標濃度との例を示すグラフである。
【図５】入力階調と修正階調の関係の例を示す説明図である。
【図６】キャリブレーションテーブル作成処理の手順を示すフローチャートである。
【図７】決定処理の手順を示すフローチャートである。
【図８】誤差の偏りの比較結果を示す図である。
【発明を実施するための形態】
【００１５】
以下，本発明にかかる画像形成装置を具体化した実施の形態について，添付図面を参照しつつ詳細に説明する。本形態は，電子写真方式の画像形成機能を備えたプリンタに本発明を適用したものである。
【００１６】
本形態のプリンタ１００は，その概略構成を図１に示すように，電子写真方式の画像形成装置であり，カラー画像の形成が可能なものである。プリンタ１００は，図１に示すように，プロセス部５と，露光部６と，搬送ベルト７と，定着部８と，ベルトクリーナ９と，を備えている。プロセス部５は，画像形成部の一例である。
【００１７】
搬送ベルト７は，複数のローラ等によって回転移動される無端ベルトであり，図１中で時計回りに回転される。搬送ベルト７は，外周側の面にてシートを搬送する。また，搬送ベルト７の外周側の面にトナー像が形成されることもあり，その場合，搬送ベルト７は，トナー像を搬送する。なお，以下では，搬送ベルト７の各箇所での移動方向を搬送方向とし，搬送ベルト７を回転させるローラ等の回転軸の方向，すなわち，図１中で紙面に垂直な方向，を搬送ベルト７の幅方向とする。搬送ベルト７の幅方向は，搬送ベルト７上にて搬送方向に直交する方向である。
【００１８】
また，プリンタ１００は，印刷前のシートを収容する給紙トレイ９１と，印刷済みのシートを収容する排紙トレイ９２とを備えている。そして，プリンタ１００には，図１中に二点鎖線で示すように，給紙トレイ９１から，搬送ベルト７のうちの図１中で上側の半周部分，および，定着部８を経て排紙トレイ９２に至る，シートの経路である搬送路１１が設けられている。また，ベルトクリーナ９は，搬送ベルト７のうち，図１中で下側の半周部分に配置され，搬送ベルト７上の付着物を除去する。
【００１９】
プロセス部５は，イエローのプロセス部５０Ｙと，マゼンタのプロセス部５０Ｍと，シアンのプロセス部５０Ｃと，ブラックのプロセス部５０Ｋと，を含んでいる。各色のプロセス部５０Ｙ，５０Ｍ，５０Ｃ，５０Ｋは，搬送ベルト７のうち図１中で上側の半周部分に沿って，等間隔に配置されている。なお，各色のプロセス部の並び順は図１に示した例に限定するものではない。
【００２０】
プロセス部５０Ｋは，図１に示すように，ドラム状の感光体５１を備え，感光体５１上に黒色のトナー像を形成する。プロセス部５０Ｋは，感光体５１の周囲に，帯電部５２と，現像部５４と，転写部５５と，クリーナ５６とを備え，図１中で時計回り方向にこの順に配置されている。また，プリンタ１００は，プロセス部５の図１中で上方に，各色のプロセス部５０Ｙ，５０Ｍ，５０Ｃ，５０Ｋに共通の露光部６を備えている。
【００２１】
帯電部５２は，感光体５１の表面を帯電させる。露光部６は，感光体５１の表面を露光して，静電潜像を形成する。現像部５４は，静電潜像にトナーを供給してトナー像を形成する。プロセス部５０Ｋの現像部５４は，黒色のトナーを収容し，黒色のトナー像を形成する。転写部５５は，感光体５１上のトナー像を，搬送ベルト７または搬送ベルト７にて搬送されるシートに転写する。クリーナ５６は，転写後も感光体５１上に残るトナー等の付着物を，感光体５１から除去する。
【００２２】
他色のプロセス部５０Ｙ，５０Ｍ，５０Ｃは，いずれも，プロセス部５０Ｋと同様の構成であり，それぞれの色のトナー像を，搬送ベルト７または搬送ベルト７にて搬送されるシートに形成する。なお，本形態のプリンタ１００では，露光部６は，各色のプロセス部５０Ｙ，５０Ｍ，５０Ｃ，５０Ｋに共通の部材となっているが，各色のプロセス部５０Ｙ，５０Ｍ，５０Ｃ，５０Ｋごとに個別の露光部を備えていてもよい。
【００２３】
プリンタ１００は，給紙トレイ９１からシートを取り出し，搬送路１１に沿って搬送する。プロセス部５は，トナー像を形成し，搬送されているシートに形成したトナー像を転写する。このとき，カラー印刷では，各プロセス部５０Ｙ，５０Ｍ，５０Ｃ，５０Ｋにてそれぞれの感光体５１上にそれぞれの色のトナー像が形成され，シート上で各色のトナー像が重ね合わせられる。一方，モノクロ印刷では，プロセス部５０Ｋのみでトナー像が形成され，シートに転写される。
【００２４】
定着部８は，図１に示すように，シートの搬送方向について，搬送ベルト７よりも下流側に配置され，搬送路１１を挟んで両側の加熱ローラ８１と加圧ローラ８２とを備えている。定着部８は，加熱ローラ８１と加圧ローラ８２との間の定着ニップにて，シート上のトナー像をシートに熱定着させる。そして，プリンタ１００は，定着後のシートを排紙トレイ９２に排出する。
【００２５】
また，プリンタ１００は，図１に示すように，搬送ベルト７の搬送方向について，プロセス部５より下流側で，ベルトクリーナ９より上流側の位置に，左センサ２１と，右センサ２２とを備えている。左センサ２１と右センサ２２とは，搬送ベルト７の幅方向に見た場合に重なる位置に配置されており，図１中では重なっている。
【００２６】
左センサ２１と右センサ２２とは，図２に示すように，実際には離れた位置に設けられている。つまり，左センサ２１は，搬送ベルト７の幅方向の一方の端部近傍に設けられ，右センサ２２は，搬送ベルト７の幅方向の他方の端部近傍に設けられている。具体的には，搬送ベルト７の搬送方向が下から上向きとなるように見ると，幅方向の左端部に左センサ２１，幅方向の右端部に右センサ２２が配置されている。以下では，図２中に矢印で示すように，上述の向きで幅方向の左右を規定する。
【００２７】
左センサ２１と右センサ２２は，いずれも反射型の光学センサである。左センサ２１は，搬送ベルト７上で幅方向について左側の検出範囲２１Ｅにおける，搬送ベルト７上の画像の濃度に応じて異なる信号を出力する。右センサ２２は，搬送ベルト７上で幅方向について右側の検出範囲２２Ｅにおける，画像の濃度に応じて異なる信号を出力する。図２では，検出範囲２１Ｅ，２２Ｅをそれぞれ点線枠で示している。
【００２８】
左センサ２１は，図２に示すように，ＬＥＤ等の１つの発光素子２１１とフォトトランジスタ等の２つの受光素子２１２，２１３とが，一体化されたものである。発光素子２１１は，検出範囲２１Ｅに対して斜め方向から光を照射する。受光素子２１２は，発光素子２１１からの発光のうち，搬送ベルト７にて正反射された光を受光する角度に設けられている。また，受光素子２１３は，受光素子２１２とは異なる位置にて，拡散反射光を受光する。左センサ２１は，センサの一例である。
【００２９】
そして，左センサ２１は，受光素子２１２の受光量に基づく信号と，受光素子２１３の受光量に基づく信号とをそれぞれ出力する。つまり，プリンタ１００は，左センサ２１の出力信号に基づいて，検出範囲２１Ｅにおける正反射光量と拡散反射光量との両方を検出する。
【００３０】
一方，右センサ２２は，図２に示すように，ＬＥＤ等の１つの発光素子２２１とフォトトランジスタ等の１つの受光素子２２２とが，一体化されたものである。発光素子２２１は，検出範囲２２Ｅに対して斜め方向から光を照射する。受光素子２２２は，発光素子２２１からの発光のうち，搬送ベルト７にて正反射された光を受光する角度に設けられている。右センサ２２には，左センサ２１とは異なり，正反射光を受光する受光素子２２２以外の受光素子は設けられていない。
【００３１】
そして，右センサ２２は，受光素子２２２の受光量に基づく信号を出力する。つまり，プリンタ１００は，右センサ２２の出力信号に基づいて，検出範囲２２Ｅにおける正反射光量を検出する。なお，左センサ２１と右センサ２２との位置関係は，逆でもよい。
【００３２】
プリンタ１００は，左センサ２１と右センサ２２からの出力信号を利用して，濃度補正や位置ずれ補正を行う。プリンタ１００は，例えば，図２に示すように，搬送ベルト７上に濃度補正用のパターン画像２８を形成し，形成したパターン画像２８が少なくとも左センサ２１の検出範囲２１Ｅを通過している期間に，左センサ２１の出力信号を取得する。なお，プリンタ１００は，位置ずれ補正を行う場合に，パターン画像２８とは異なる画像を形成し，左センサ２１の出力信号と右センサ２２の出力信号とを取得する。
【００３３】
続いて，プリンタ１００の電気的構成について説明する。本形態のプリンタ１００は，図３に示すように，ＣＰＵ３１と，ＲＯＭ３２と，ＲＡＭ３３と，ＮＶＲＡＭ（不揮発性ＲＡＭ）３４とを有するコントローラ３０を備えている。また，プリンタ１００は，プロセス部５と，左センサ２１と，右センサ２２と，ネットワークＩＦ（ネットワークインターフェース）３７と，ＵＳＢＩＦ（ＵＳＢインターフェース）３８と，操作パネル４０とを備え，これらがＣＰＵ３１によって制御される。
【００３４】
ＲＯＭ３２には，プリンタ１００を制御するための制御プログラムであるファームウェアや各種設定，初期値等が記憶されている。ＲＡＭ３３は，各種制御プログラムが読み出される作業領域として，あるいは画像データを一時的に記憶する記憶領域として利用される。ＮＶＲＡＭ３４は，画像補正のための各種の補正データや，各種の設定値等を記憶する記憶領域として利用される。
【００３５】
ＣＰＵ３１は，ＲＯＭ３２から読み出した制御プログラムや各種センサから送られる信号に従って，その処理結果をＲＡＭ３３またはＮＶＲＡＭ３４に記憶させながら，プリンタ１００の各構成要素を制御する。ＣＰＵ３１は，制御部の一例である。また，コントローラ３０が制御部であってもよい。なお，図３中のコントローラ３０は，ＣＰＵ３１等，プリンタ１００の制御に利用されるハードウェアを纏めた総称であって，実際にプリンタ１００に存在する単一のハードウェアを表すとは限らない。
【００３６】
ネットワークＩＦ３７は，ネットワークを介して接続された装置と通信を行うためのハードウェアである。通信方法は，有線でも無線でもよい。ＵＳＢＩＦ３８は，ＵＳＢ規格に基づく通信を行うためのハードウェアである。操作パネル４０は，ユーザに対する報知の表示と，ユーザによる指示入力の受け付けとを担うハードウェアである。操作パネル４０は，例えば，液晶ディスプレイと，スタートキー，ストップキー，テンキー等から構成されるボタン群とを備える。
【００３７】
続いて，プリンタ１００における，中間調濃度の画像の形成について説明する。プリンタ１００は，中間調濃度の画像を，ディザマトリクス法または誤差拡散法等による２値化画像として形成する。このように２値化画像にて中間調濃度の画像を形成する場合，入力値である印刷データの階調に対して，印刷された画像の濃度である出力濃度は，完全に直線的な関係とはならない。
【００３８】
階調と濃度との関係の例を，図４に示す。図４中の横軸は，画像の濃度として印刷データにて指示される入力値である。入力値は，０〜１００％の範囲で表される入力濃度（％），または，無単位の整数で表される入力階調である。本形態のプリンタ１００は，色ごとに２５６段階の中間調濃度の画像を印刷可能な装置であり，入力階調としては，例えば，０〜２５５の整数を用いる。なお，入力階調が２５５の画像の濃度は，入力濃度が１００％濃度の画像の濃度に対応する。以下では，入力値として入力階調Ｎを用いて説明する。
【００３９】
図４中の破線は，入力階調Ｎの変化に対して直線的に変化する目標濃度Ｔ（Ｎ）であり，同図中の実線は，プリンタ１００に入力階調Ｎの印刷データを印刷させた場合の出力濃度Ｐ（Ｎ）の例である。図４に示すように，出力濃度Ｐ（Ｎ）は，目標濃度Ｔ（Ｎ）とは異なる曲線を描く。この図の例では，入力階調Ｎが小さい範囲では出力濃度Ｐ（Ｎ）は目標濃度Ｔ（Ｎ）より小さく，入力階調Ｎが大きい範囲では出力濃度Ｐ（Ｎ）が目標濃度Ｔ（Ｎ）より大きい。
【００４０】
プリンタ１００は，入力階調Ｎの印刷データを印刷した画像の濃度を目標濃度Ｔ（Ｎ）に近づけるために，図３に示したように，出荷前に作成されたキャリブレーションテーブル７１をＮＶＲＡＭ３４に記憶している。キャリブレーションテーブル７１は，濃度補正テーブルの一例である。プリンタ１００は，キャリブレーションテーブル７１を使用して，入力階調Ｎを修正階調Ｍに修正する。
【００４１】
入力階調Ｎや修正階調Ｍは，０〜２５５の離散的な数値である。そのため，出力濃度Ｐ（Ｎ）も目標濃度Ｔ（Ｎ）も，離散的な数値である。そして，離散的であることから，入力階調Ｎのそれぞれに対して，修正階調Ｍの出力濃度Ｐ（Ｍ）と入力階調Ｎの目標濃度Ｔ（Ｎ）とがすべて一致するように修正階調Ｍを選択できる可能性は小さい。
【００４２】
そこで例えば，図５に示すように，出力濃度Ｐのうち，目標濃度Ｔ（Ｎａ）に最も近い濃度である出力濃度Ｐ（Ｍａ）が得られた入力階調Ｍａを，入力階調Ｎａの修正階調Ｍａとする。なお，図５は，図４の一部を拡大して示す図である。離散的な階調から選択して修正階調Ｍを決定するため，入力階調Ｎａに対する目標濃度Ｔ（Ｎａ）と，決定した修正階調Ｍａによる出力濃度Ｐ（Ｍａ）と，の間には，図５に示すように，誤差δが生じる可能性が高い。この例では，目標濃度Ｔ（Ｎａ）＞出力濃度Ｐ（Ｍａ）であり，修正階調Ｍａにて印刷される画像は，入力階調Ｎａに対する理想的な濃度である目標濃度Ｔ（Ｎａ）の画像よりもやや薄い画像となる。
【００４３】
そして，階調Ｎごとにそれぞれ独立に修正階調Ｍを決定した場合，図５に示すように，連続する複数の入力階調Ｎ（例えば，Ｎａ〜Ｎｅ）にて，いずれも目標濃度Ｔ（Ｎ）＞出力濃度Ｐ（Ｍ）となる可能性がある。そして，例えば，写真画像等の中間調濃度の画像領域には，複数の近い入力階調Ｎが含まれている場合がある。ある領域に，例えば，入力階調Ｎａ〜Ｎｅが多く含まれていると，その領域の印刷画像は，全体として理想的な濃度よりもやや薄い画像となり得る。入力階調Ｎの範囲によっては，全体としてやや濃い画像となることもあり得るため，画像中にやや薄い領域とやや濃い領域とが混在した場合，濃度のムラとしてユーザに認識される可能性がある。また，カラー画像の場合には，色ムラとして認識される可能性がある。
【００４４】
そこで，本形態のプリンタ１００は，修正階調Ｍによる出力濃度Ｐ（Ｍ）が，入力階調Ｎに対する目標濃度Ｔ（Ｎ）に比較して，多数連続して濃淡の同じ側となることを抑制する。そのために，プリンタ１００は，既に決定した修正階調Ｍによる出力濃度Ｐ（Ｍ）と，入力階調Ｎに対する目標濃度Ｔ（Ｎ）との差に基づく誤差情報を算出し，その誤差情報を次の修正階調Ｍの決定時に利用する。
【００４５】
プリンタ１００は，例えば，図５に示すように，既に修正階調Ｍを決定した入力階調Ｎ（Ｎａ〜Ｎｅ）におけるそれぞれの誤差δに基づいて，誤差情報δＳを算出する。誤差情報δＳについては，後述する。そして，プリンタ１００は，入力階調Ｎによる出力濃度Ｐ（Ｎ）から誤差情報δＳを減じて，誤差修正後の出力濃度である補正出力濃度Ｑ（Ｎ）を算出する。補正出力濃度Ｑ（Ｎ）は，誤差修正後出力濃度の一例である。
【００４６】
例えば，図５に示すように，入力階調Ｎｘによる出力濃度Ｐ（Ｎｘ）から補正出力濃度Ｑ（Ｎｘ）が，入力階調Ｎｙによる出力濃度Ｐ（Ｎｙ）から補正出力濃度Ｑ（Ｎｙ）が，求められる。そして，プリンタ１００は，次に決定する入力階調Ｎの修正階調Ｍを，目標濃度Ｔ（Ｎ）に最も近い補正出力濃度Ｑ（Ｍ）となる階調に決定する。
【００４７】
そして，プリンタ１００は，全ての入力階調Ｎに対してそれぞれ決定された修正階調Ｍが登録されたキャリブレーションテーブル７１を，ＮＶＲＡＭ３４またはＲＯＭ３２に記憶している。そして，プリンタ１００にてパターン画像２８とは異なる印刷用の画像を印刷する際には，キャリブレーションテーブル７１を参照して，印刷データにて指示される階調を修正する。つまり，プリンタ１００は，印刷データのうち入力階調Ｎの画像を印刷する際には，キャリブレーションテーブル７１に基づいて，入力階調Ｎに対応する修正階調Ｍを取得し，修正階調Ｍを用いて印刷する。この印刷処理は，印刷画像形成処理の一例である。
【００４８】
続いて，プリンタ１００にて実行されるキャリブレーションテーブル作成処理について，図６のフローチャートを参照して説明する。キャリブレーションテーブル作成処理では，入力階調Ｎに対応付けて修正階調Ｍを記憶するキャリブレーションテーブル７１を作成する。キャリブレーションテーブル作成処理は，キャリブレーションテーブル７１の作成指示が入力されたことを契機に，ＣＰＵ３１によって実行される。キャリブレーションテーブルの作成指示は，例えば，プリンタ１００の組立が完了した後，出荷前に入力される。キャリブレーションテーブル作成処理は，テーブル作成処理の一例である。
【００４９】
キャリブレーションテーブル作成処理では，ＣＰＵ３１は，まず，プロセス部５にパターン形成を行わせる（Ｓ１０１）。Ｓ１０１は，パターン画像形成処理の一例である。ＣＰＵ３１は，図２に示したように，各色のプロセス部５０Ｙ，５０Ｍ，５０Ｃ，５０Ｋに，搬送ベルト７上であって左センサ２１の検出範囲２１Ｅを通る位置に，各色の複数の階調によるパターン画像２８を形成させる。
【００５０】
パターン画像２８は，例えば，各色の複数段階の階調についてそれぞれ形成された四角形状のベタ画像である。プリンタ１００は，パターン画像２８として，例えば，１０％濃度〜１００％濃度まで１０％刻みで，各色１０個のベタ画像を形成する。プリンタ１００は，例えば，各色１０％濃度のパターンに続いて，各色２０％濃度のパターンを形成し，順に濃度の高いパターンとなって，最後に各色１００％濃度のパターンを形成する。なお，パターン画像２８中の各パターンは，どの順でもよく，この例に限らない。つまり，パターン画像２８は，２５６階調の全ての階調の画像ではなく，いくつかの階調を抽出して，抽出した階調のパターンによる画像である。
【００５１】
なお，プリンタ１００は，キャリブレーションテーブル７１を色ごとに作成し，色ごとに使用する。プリンタ１００は，各色のパターンを連続して形成し，各色のキャリブレーションテーブル７１を連続して作成してもよいし，単色のパターン画像２８を形成して，その色のキャリブレーションテーブル７１を作成してもよい。以下では，色を区別せず，色の添え字を省略して説明する。
【００５２】
そして，ＣＰＵ３１は，Ｓ１０１にて形成したパターン画像２８を読み取り，各パターンの濃度を取得する（Ｓ１０２）。Ｓ１０２は，濃度測定処理の一例である。パターン画像２８は，搬送ベルト７の移動に伴って，左センサ２１の検出範囲２１Ｅを通過する。その際に，プリンタ１００は，左センサ２１の受光素子２１２の出力信号と受光素子２１３の出力信号とを取得し，取得した出力信号に基づいて，パターン画像２８に含まれる各パターンの濃度を取得する。なお，ＣＰＵ３１は，１つのパターン中で，左センサ２１の出力信号を複数回サンプリングし，例えば平均値によって濃度を取得してもよい。
【００５３】
ＣＰＵ３１は，読み取った各パターンの濃度に基づいて，補間計算によって，入力階調Ｎ（Ｎ＝０〜２５５）のそれぞれに対する出力濃度Ｐ（Ｎ）（図４参照）を取得する（Ｓ１０３）。Ｓ１０３は，出力濃度取得処理の一例である。ＣＰＵ３１は，補間計算として，例えば，線形補間，スプライン補間を利用できる。これにより，パターン画像２８を形成する際に抽出されなかった階調についても，出力濃度Ｐ（Ｎ）が得られる。
【００５４】
さらに，ＣＰＵ３１は，０％濃度（濃度値０）と，パターン画像２８のうちの１００％濃度のパターンを読み取った結果の濃度と，を直線で結び，等分割して，入力階調Ｎ（Ｎ＝０〜２５５）のそれぞれに対する目標濃度Ｔ（Ｎ）（図４参照）を取得する（Ｓ１０４）。パターン画像２８に，１００％濃度のパターンが含まれない場合には，Ｓ１０３にて取得された出力濃度Ｐ（Ｎ）のうちＮ＝２５５の値を用いてもよい。
【００５５】
次に，ＣＰＵ３１は，例えば，図３に示したように，ＲＡＭ３３に，誤差テーブル７２用の領域を確保する（Ｓ１０５）。誤差テーブル７２は，キャリブレーションテーブル７１の作成に用いられ，複数段階の階調についてそれぞれ，入力階調と，誤差と，係数と，を関係づけて記憶するテーブルである。本形態では，入力階調Ｎの小さい方から大きい方へ順に，対応する修正階調Ｍを決定する。つまり，本形態では，修正階調を決定する順序は，入力階調Ｎの小さい方から大きい方への順である。
【００５６】
本形態のプリンタ１００は，入力階調Ｎの修正階調Ｍを決定する際に，入力階調Ｎより階調の小さい側に連続する階調の誤差情報，例えば，既に決定した直前の５階調についての誤差を考慮する。そのため，入力階調Ｎの決定時には，入力階調でＮ−１〜Ｎ−５の５階調の誤差Ｅ（Ｎ−１）〜Ｅ（Ｎ−５）が記憶されている誤差テーブル７２を使用する。なお，各入力階調ｎの誤差Ｅ（ｎ）は，目標濃度Ｔ（ｎ）と，入力階調ｎについて決定した修正階調ｍの出力濃度Ｐ（ｍ）と，の差である。
【００５７】
また，誤差テーブル７２には，各入力階調Ｎ−１〜Ｎ−５にそれぞれ対応させて，係数ｗ１〜ｗ５が記憶される。係数ｗ１〜ｗ５は，５つの誤差の加重平均を取る際に用いる重みであり，例えば，ｗ１＞ｗ２＞ｗ３＞ｗ４＞ｗ５，かつ，ｗ１＋ｗ２＋ｗ３＋ｗ４＋ｗ５＝１を満たす固定値である。つまり，係数ｗ１〜ｗ５は，修正階調が直前に決定された階調に対応する係数である係数ｗ１が最も大きく，先に決定された階調ほど小さい値である。
【００５８】
誤差テーブル７２に記憶する誤差の数は，５階調分に限らないが，複数であることが望ましい。複数の階調の誤差量を反映することで，局所的に大きな誤差があったとしても平均化され，そのような誤差の影響の軽減が期待できる。また，決定しようとする入力階調Ｎに近い階調の誤差ほど大きい重みを用いることで，より近い階調の誤差をより多く反映するので，全体的な見栄えの改善がより期待できる。
【００５９】
そして，ＣＰＵ３１は，入力階調Ｎ＝０から入力階調Ｎ＝２５５まで階調の小さい方から大きい方の順に，Ｓ１０３にて取得した出力濃度Ｐ（Ｎ）と，Ｓ１０４にて取得した目標濃度Ｔ（Ｎ）と，誤差テーブル７２に書き込まれた誤差Ｅ（Ｎ−１）〜Ｅ（Ｎ−５）と，を用いて，修正階調Ｍを決定する。そして，ＣＰＵ３１は，決定した修正階調ＭをＮに対応させて，キャリブレーションテーブル７１に記憶させる。
【００６０】
具体的に，ＣＰＵ３１は，まず，修正階調Ｍの初期値を設定する（Ｓ１０６）。つまり，初めの５段階の入力階調Ｎ＝０〜４について，誤差テーブル７２を用いずに修正階調Ｍを決定する。具体的には，ＣＰＵ３１は，入力階調Ｎの修正階調Ｍを，出力濃度Ｐ（Ｎ）が目標濃度Ｔ（Ｎ）に最も近い値である入力階調Ｎに決定する。
【００６１】
さらに，ＣＰＵ３１は，修正階調Ｍを決定した入力階調Ｎ＝０〜４について，誤差Ｅ（Ｎ）を決定する（Ｓ１０７）。ＣＰＵ３１は，次の式１によって，Ｎ＝０〜４についてそれぞれ，修正階調Ｍの出力濃度Ｐ（Ｍ）と目標濃度Ｔ（Ｎ）との差を算出する。
Ｅ（Ｎ）＝  Ｔ（Ｎ）  −  Ｐ（Ｍ）    …  式１
そして，ＣＰＵ３１は，算出した誤差Ｅ（０）〜Ｅ（４）を，それぞれ誤差テーブル７２に記憶する。
【００６２】
次に，ＣＰＵ３１は，入力階調Ｎ（Ｎ＝５〜２５５）についてＮ＝５から順に１つずつ，誤差を考慮して修正階調Ｍを決定する決定処理を実行する（Ｓ１０８）。決定処理の手順について，図７のフローチャートを参照して説明する。図７では，所定の入力階調Ｎ（５≦Ｎ≦２５５）の修正階調Ｍを決定する手順を示す。なお，決定処理の開始時には，誤差テーブル７２の各欄には，今回の決定対象である入力階調Ｎに対して，階調の小さい側に連続する階調である入力階調Ｎ−１〜Ｎ−５の誤差Ｅ（Ｎ−１）〜Ｅ（Ｎ−５）が記憶されている。
【００６３】
決定処理では，ＣＰＵ３１は，まず，入力階調Ｎの前後での出力濃度Ｐの傾きが大きいか否かを判断する（Ｓ２０１）。出力濃度Ｐの傾きは，単位階調ごとの出力濃度Ｐの変化の割合である。ＣＰＵ３１は，例えば，入力階調Ｎの出力濃度Ｐ（Ｎ）と１つ前の階調（Ｎ−１）の出力濃度Ｐ（Ｎ−１）との差，または入力階調Ｎの出力濃度Ｐ（Ｎ）と１つ後の階調（Ｎ＋１）の出力濃度Ｐ（Ｎ＋１）との差が，所定の閾値より大きいか否かを判断する。出力濃度Ｐの傾きは，測定傾きの一例である。
【００６４】
なお，所定の閾値は，例えば，目標濃度Ｔ（Ｎ）の傾きであり，単位階調ごとの目標濃度Ｔ（Ｎ）の変化の割合である。目標濃度Ｔ（Ｎ）は，本実施例では，図４に示したように，入力階調Ｎに対して直線的に変化する濃度であり，目標濃度Ｔ（Ｎ）の傾きは固定値である。目標濃度Ｔの傾きは，目標傾きの一例である。
【００６５】
そして，入力階調Ｎの前後での出力濃度Ｐ（Ｎ）の傾きが大きいと判断した場合（Ｓ２０１：ＹＥＳ），ＣＰＵ３１は，誤差テーブル７２の内容に基づいて，誤差の加重平均ＷＥ（Ｎ）を算出する（Ｓ２０２）。ＣＰＵ３１は，例えば，次の式２にて，誤差の加重平均ＷＥ（Ｎ）を算出する。加重平均ＷＥ（Ｎ）は，誤差情報の一例である。図５中の誤差δＳは，誤差Ｅ（Ｎ）の加重平均ＷＥ（Ｎ）を図示した例である。
ＷＥ（Ｎ）  ＝  Ｅ（Ｎ−１）×ｗ１  ＋  Ｅ（Ｎ−２）×ｗ２  ＋  Ｅ（Ｎ−３）×ｗ３  ＋  Ｅ（Ｎ−４）×ｗ４  ＋  Ｅ（Ｎ−５）×ｗ５    …  式２
【００６６】
次に，ＣＰＵ３１は，入力階調ｍ（ｍ＝０〜２５５）の出力濃度Ｐ（ｍ）と，加重平均ＷＥ（Ｎ）とから，次の式３によって，補正出力濃度Ｑ（ｍ）（ｍ＝０〜２５５）を算出する（Ｓ２０３）。
Ｑ（ｍ）  ＝  Ｐ（ｍ）  −  ＷＥ（Ｎ）    …  式３
【００６７】
そして，ＣＰＵ３１は，算出した補正出力濃度Ｑ（ｍ）（ｍ＝０〜２５５）のうちから，入力階調Ｎの目標濃度Ｔ（Ｎ）に最も近い補正出力濃度Ｑ（Ｍ）（０≦Ｍ≦２５５）を選択する（Ｓ２０４）。そして，選択された補正出力濃度Ｑ（Ｍ）の階調Ｍを，入力階調Ｎの修正階調Ｍに決定する（Ｓ２０６）。
【００６８】
一方，入力階調Ｎの前後での出力濃度Ｐ（Ｎ）の傾きが大きくないと判断した場合（Ｓ２０１：ＮＯ），ＣＰＵ３１は，出力濃度Ｐ（ｍ）（ｍ＝０〜２５５）のうちから，入力階調Ｎの目標濃度Ｔ（Ｎ）に最も近い出力濃度Ｐ（Ｍ）（０≦Ｍ≦２５５）を選択する（Ｓ２０５）。そして，選択された出力濃度Ｐ（Ｍ）の階調Ｍを，入力階調Ｎの修正階調Ｍに決定する（Ｓ２０６）。
【００６９】
例えば，図４に示した例では，入力階調Ｎが大きい範囲では，出力濃度Ｐ（Ｎ）の傾きが小さく，入力階調Ｎが変化しても出力濃度Ｐ（Ｎ）がほとんど変化しない。測定傾きが小さい範囲の階調では，修正階調Ｍによる出力濃度Ｐ（Ｍ）にも差が生じ難く，誤差の影響が小さい。そのため，そのような範囲にある階調について誤差の考慮を省略する方が好ましい。
【００７０】
さらに，ＣＰＵ３１は，キャリブレーションテーブル７１の入力階調Ｎに対応させて，修正階調Ｍを書き込む（Ｓ２０７）。そして，ＣＰＵ３１は，決定した修正階調Ｍに基づいて，入力階調Ｎにおける誤差Ｅ（Ｎ）を算出する（Ｓ２０８）。誤差Ｅ（Ｎ）は，目標濃度Ｔ（Ｎ）と修正階調Ｍでの出力濃度Ｐ（Ｍ）との差であり，次の式４にて求められる。図５中の誤差δは，誤差Ｅ（Ｎａ）を図示した例である。
Ｅ（Ｎ）  ＝  Ｔ（Ｎ）  −  Ｐ（Ｍ）    …  式４
【００７１】
そして，ＣＰＵ３１は，誤差テーブル７２を更新する（Ｓ２０９）。つまり，誤差テーブル７２に既に記憶されている階調Ｎ−１〜Ｎ−４とそれらの誤差Ｅ（Ｎ−１）〜Ｅ（Ｎ−４）を残して，階調Ｎ−５とその誤差Ｅ（Ｎ−５）を削除し，入力階調ＮとＳ２０７にて求めた誤差Ｅ（Ｎ）とを誤差テーブル７２に追加して記憶する。なお，係数は固定値であり，ＣＰＵ３１は，係数を変更しない。つまり，入力階調Ｎの誤差Ｅ（Ｎ）が追加されたことにより，入力階調Ｎに対応する係数が係数ｗ１となり，階調Ｎ−１〜Ｎ−４に対応する係数は，それぞれ係数ｗ２〜ｗ５に変更される。さらに，ＣＰＵ３１は，決定処理を終了し，図６のキャリブレーションテーブル作成処理に戻る。
【００７２】
キャリブレーションテーブル作成処理では，ＣＰＵ３１は，全ての階調Ｎについて修正階調Ｍの決定が終了したか否かを判断する（Ｓ１０９）。決定していないと判断した場合（Ｓ１０９：ＮＯ），ＣＰＵ３１は，階調Ｎを１進めて，階調Ｎ＋１について同様に決定処理を実行する（Ｓ１０８）。そして，ＣＰＵ３１は，階調Ｎ＝２５５に至るまで順に，各階調の修正階調を決定する。
【００７３】
一方，全ての階調Ｎについて修正階調Ｍが決定したと判断した場合（Ｓ１０９：ＹＥＳ），ＣＰＵ３１は，誤差テーブル７２のために確保した領域を解放する（Ｓ１１０）。そして，キャリブレーションテーブル作成処理を終了する。
【００７４】
本形態のキャリブレーションテーブル作成処理を実行して作成したキャリブレーションテーブル７１の実施例と，誤差を考慮せず入力階調Ｎの目標濃度Ｔ（Ｎ）に最も近い出力濃度Ｐ（Ｍ）の階調Ｍを修正階調Ｍとした比較例と，を比較した結果を，図８に示す。実施例では，５階調の誤差テーブル７２を使用し，誤差テーブル７２に用いる係数ｗ１〜ｗ５は，ｗ１＝５／１５，ｗ２＝４／１５，ｗ３＝３／１５，ｗ４＝２／１５，ｗ１＝１／１５とした。
【００７５】
そして，図８では，実施例と比較例とのそれぞれについて，入力階調Ｎに対する修正階調Ｍによる出力濃度Ｐ（Ｍ）と，目標濃度Ｔ（Ｎ）と，の差の３点ごとの単純移動平均を算出して評価した。例えば，連続する３点の入力階調Ｎｉ，Ｎｊ，Ｎｋにつき，それぞれの修正階調をＭｉ，Ｍｊ，Ｍｋとして，３点移動平均Ｚは，次の式５で表される。
Ｚ  ＝  ｛（Ｐ（Ｍｉ）−Ｔ（Ｎｉ））＋（Ｐ（Ｍｊ）−Ｔ（Ｎｊ））＋（Ｐ（Ｍｋ）−Ｔ（Ｎｋ）｝  ／３      …  式５
【００７６】
実施例と比較例についてそれぞれ，連続する３階調ごとの３点移動平均を全階調について算出し，算出された３点移動平均の最大値，最小値，振幅（最大値と最小値との差）を比較した結果を図８に示す。図８に示すように，誤差を考慮した実施例では，誤差を考慮しない比較例より，移動平均の振幅が小さく，濃度ムラとして認識される濃度の偏りが小さくなったことが確認できた。
【００７７】
以上，詳細に説明したように，本形態のプリンタ１００は，パターン画像２８を形成して読み取り，読み取ったパターン画像２８の濃度と目標濃度Ｔとに基づいて，キャリブレーションテーブル７１を作成する。そして，キャリブレーションテーブル７１を作成する際，既に決定した修正階調にて発生している誤差の情報である誤差情報を用いて，次の階調の修正階調を決定する。つまり，入力階調Ｎの目標濃度Ｔ（Ｎ）と，入力階調Ｎに対して決定済みの修正階調Ｍによる出力濃度Ｐ（Ｍ）と，の差に基づく誤差Ｅ（Ｎ）を誤差情報として記憶する。そして，出力濃度Ｐを誤差情報を用いて修正した補正出力濃度Ｑのうち，次の入力階調の目標濃度Ｔに最も近い濃度の階調を，次の入力階調の修正階調に決定する。これにより，複数の連続する階調のいずれも目標濃度より修正階調での出力濃度の方が濃度が高い，あるいは，複数の連続する階調のいずれも目標濃度より修正階調での出力濃度の方が濃度が低い，といった，濃度の偏りが発生することが抑制される。従って，印刷画像の全体的な見栄えを改善することが期待できる。
【００７８】
なお，本実施の形態は単なる例示にすぎず，本発明を何ら限定するものではない。したがって本発明は当然に，その要旨を逸脱しない範囲内で種々の改良，変形が可能である。例えば，プリンタに限らず，複写機，複合機，ＦＡＸ装置等，画像形成機能を備えるものであれば適用可能である。また，電子写真方式の画像形成装置に限らず，インクジェット方式の画像形成装置にも適用可能である。また，カラー印刷可能な装置に限らず，モノクロ印刷専用の装置にも適用可能である。
【００７９】
また，本形態では，誤差テーブル７２として，５階調分の誤差を記憶するとしたが，５に限らず，１以上であればよい。また，係数の合計値を１とするとしたが，例えば，階調の数に応じて変更してもよい。また，誤差への重み付けは無くてもよい。つまり，係数は全て１としてもよい。ただし，決定しようとする階調Ｎに近い階調での誤差の重みが大きくなる係数を用いることで，画像中に隣接して現れやすい隣接階調の濃度を平均化する効果が大きい。
【００８０】
また，本形態では，入力階調Ｎ＝０から入力階調Ｎが大きくなる方へ順に修正階調Ｍを求めているが，逆順としてもよい。つまり，入力階調Ｎ＝２５５から入力階調Ｎが小さくなる方へ順に修正階調Ｍを求めてもよい。その場合には，誤差情報として，入力階調Ｎより階調の大きい側に連続する階調の目標濃度と出力濃度との差を用いるとよい。また，本形態では，入力階調Ｎとして０から２５５の整数を用いているが，％濃度を用いてもよいし，入力階調Ｎや％濃度に対応する他の値を用いてもよい。
【００８１】
また，本形態では，傾きの小さい範囲では，誤差情報を利用しないとしたが，利用してもよい。つまり，決定処理のＳ２０１とＳ２０５とは，無くてもよい。ただし，傾きの小さい範囲は，誤差も小さくなりやすいため，誤差の考慮を省略して処理の負荷を軽減することが好ましい。
【００８２】
また，本形態では，誤差Ｅ（Ｎ）として，式４に示したように，目標濃度Ｔ（Ｎ）から修正階調Ｍでの出力濃度Ｐ（Ｍ）を減算した値を用いており，補正出力濃度Ｑ（ｍ）として，式３に示したように，出力濃度Ｐ（ｍ）から誤差Ｅ（Ｎ）の加重平均ＷＥ（Ｎ）を減算した値を用いた。しかし，誤差Ｅ（Ｎ）の算出と補正出力濃度Ｑ（ｍ）の算出との両方にて逆に減算してもよい。つまり，式４と式３との符号を両方とも正負逆転したものとしても，本形態と同様の結果が得られる。
【００８３】
また，本形態では，出力濃度Ｐを誤差情報で補正した補正出力濃度Ｑ（ｍ）を求めて目標濃度Ｔと比較するとしたが，目標濃度Ｔを誤差情報で補正した結果である誤差修正後目標濃度を使用して出力濃度Ｐと比較してもよい。つまり，式３に代えて，出力濃度Ｐ（ｍ）のうちから，Ｒ（ｍ）＝Ｔ（ｍ）＋ＷＥ（Ｎ）として求めたＲ（ｍ）に最も近いＰ（ｍ）となる階調ｍを修正階調としてもよい。
【００８４】
また，本形態では，入力階調Ｎの目標濃度Ｔ（Ｎ）に最も近い補正出力濃度Ｑ（Ｍ）を選択するとしているが，これに限らない。例えば，目標濃度Ｔ（Ｎ）以上で最小値となる補正出力濃度Ｑ（Ｍ）を選択してもよい。あるいは，目標濃度Ｔ（Ｎ）以下で最大値となる補正出力濃度Ｑ（Ｍ）を選択してもよい。
【００８５】
また，本形態では，プリンタ１００にてキャリブレーションテーブル７１を作成するとしたが，例えば，プリンタ１００に接続されるＰＣ等の情報処理装置にて作成することもできる。その場合には，ＰＣは，プリンタ１００にパターン画像２８を形成して読み取らせる指示を送信する（指示送信処理）。指示を受信したプリンタ１００は，本形態のキャリブレーションテーブル作成処理のＳ１０１，Ｓ１０２と同様の処理を実行し，取得した濃度をＰＣに送信する（出力濃度取得処理）。ＰＣは，プリンタ１００から受信した濃度に基づいて，本形態のキャリブレーションテーブル作成処理のＳ１０３〜Ｓ１１０と同様の処理を実行し，キャリブレーションテーブル７１を作成する（テーブル作成処理）。さらに，ＰＣは，作成したキャリブレーションテーブル７１をプリンタ１００に送信する（濃度送信処理）。プリンタ１００は，受信したキャリブレーションテーブル７１を，ＮＶＲＡＭ３４に記憶する。
【００８６】
また，本形態では，プリンタ１００の出荷前にキャリブレーションテーブル７１を作成するとしたが，所定枚数以上の印刷を行った後や，部品の交換を行った後等には，キャリブレーションテーブル７１を作成し直してもよく，その場合でも，本形態の作成処理を適用可能である。
【００８７】
また，実施の形態に開示されている処理は，単一のＣＰＵ，複数のＣＰＵ，ＡＳＩＣなどのハードウェア，またはそれらの組み合わせで実行されてもよい。また，実施の形態に開示されている処理は，その処理を実行するためのプログラムを記録した記録媒体，または方法等の種々の態様で実現することができる。
【符号の説明】
【００８８】
５  プロセス部
２１  左センサ
３１  ＣＰＵ
７１  キャリブレーションテーブル
１００  プリンタ
【図１】
2018031902.tif 000003
【図２】
2018031902.tif 000004
【図３】
2018031902.tif 000005
【図４】
2018031902.tif 000006
【図５】
2018031902.tif 000007
【図６】
2018031902.tif 000008
【図７】
2018031902.tif 000009
【図８】
2018031902.tif 000010