(57)【要約】【課題】プレシフト処理とホラディシフト処理を併用したスクリーン処理を、回路規模を抑えて高速に実行可能な画像処理装置を提供する。【解決手段】画像処理装置１０は、処理画素の座標に対して、副走査方向への閾値シフト量Psftを生成するプレシフト演算部１３と、Ｍ×Ｎの閾値マトリクスと、ホラディシフト量が第２方向の画素位置毎に登録された参照テーブル１５と、閾値マトリクスを縦横に繰り返し配列した閾値マトリクス平面を、処理画素の副走査位置ｊに該処理画素に対する閾値シフト量Psftを加算した修正副走査位置Pjと、修正副走査位置Pjで参照テーブル１５を参照して得たマトリクスシフト量を処理画素の主走査位置iに加算した修正主走査位置Piで参照して得た閾値を用いて処理画素にスクリーン処理を施すスクリーン処理部１７とを備える。【選択図】図１
2018042212.tif 000002
【特許請求の範囲】
【請求項１】
第１方向と、該第１方向に直交する第２方向に画素を配列した二次元画像にスクリーン処理を施す画像処理装置であって、
処理画素の座標に対して、前記第２方向への任意の閾値シフト量を生成する画素単位閾値シフト量生成部と、
前記第１方向のサイズがＭ画素、前記第２方向のサイズがＮ画素の閾値マトリクスと、
前記閾値マトリクス単位の予め定めたシフト量をHsft、第２方向の画素位置をｊとし、（（ｊ÷Ｎの商の整数部）×Hsft）÷Ｍ の余りの値であるマトリクスシフト量が、第２方向の画素位置毎に対応付けて登録された参照テーブルを記憶する記憶部と、
処理画素の第２方向の画素位置に該処理画素の座標に対して前記画素単位閾値シフト量生成部が生成した閾値シフト量を加算した値を第２方向修正画素位置とし、前記第２方向修正画素位置で前記参照テーブルを参照して得たマトリクスシフト量を前記処理画素の第１方向の画素位置に加算した値を第１方向修正画素位置として算出する修正画素位置算出部と、
前記閾値マトリクスを前記第１方向および前記第２方向に繰り返し配列した閾値マトリクス平面を前記第２方向修正画素位置および前記第１方向修正画素位置で参照して得られる閾値を用いて前記処理画素にスクリーン処理を施すスクリーン処理部と、
を有する
ことを特徴とする画像処理装置。
【請求項２】
前記二次元画像を前記第１方向のライン単位に処理し、
前記参照テーブルは、前記二次元画像を処理する際に前記第２方向修正画素位置が取り得る範囲のうち、前記第１方向の一のラインを処理する際に前記第２方向修正画素位置が取り得る範囲を少なくとも包含する一部の範囲について前記マトリクスシフト量を保持し、
次に処理するラインに対応させて前記参照テーブルをライン毎に更新する参照テーブル更新部を有する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記参照テーブル更新部は、次のラインを処理する際の前記一部の範囲に新たに含まれることになる第２方向の画素位置についてのみ前記マトリクスシフト量を算出して前記参照テーブルを更新する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記参照テーブル更新部は、第２方向の一の画素位置に対応する前記マトリクスシフト量に、所定の加算・減算処理を施して、前記第２方向の一の画素位置に１を加算した画素位置に対応する前記マトリクスシフト量を算出する
ことを特徴とする請求項３に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元画像にスクリーン処理を施す画像処理装置に関する。
【背景技術】
【０００２】
電子写真プロセスを用いた画像形成装置などでは、定着や記録紙の搬送ムラに起因して、記録紙の表裏において画像位置や倍率の微妙なズレが生じたり、色間での画像位置ずれ（レジストずれ）などが発生したりする。このズレを補正するために、画素単位にシフトさせて画像を二次元的に変形させる二次元位置補正が行われる。
【０００３】
スクリーン処理後の画像に二次元位置補正を行うと、図１３に示すように、二次元位置補正後の画像においてスクリーン形状が崩れてしまう。そこで、図１４に示すように、スクリーン処理を行う際に、後段の二次元位置補正によるシフトと逆方向で同じシフト量だけスクリーンパターンの閾値をシフトさせることで、二次元位置補正後にスクリーンパターンが正しい形に戻るようにした画像形成装置がある（下記特許文献１参照）。
【０００４】
ところで、閾値マトリクスのサイズを抑えてより大きな周期性を持たせる技術として、ホラディシフト処理がある。通常、閾値マトリクスは、主走査方向、副走査方向に隣接配置して繰り返し使用されるが、ホラディシフト処理では、図１５に示すように、主走査方向サイズがＭ画素、副走査方向サイズがＮ画素の閾値マトリクスの場合、副走査方向のＮ画素（Ｎライン）毎に、閾値マトリクスの位置を主走査方向に所定量（Hsft）だけをシフトさせて使用する。
【０００５】
処理画素の座標を（ｉ，ｊ）としたとき、ホラディシフト処理の処理画素に対する閾値マトリクス単位のシフト量α（ホラディシフト量とする）は、以下の式ａで算出される。
α＝（Hsft×（ｊ÷Ｎの商の整数部））÷Ｍ  の余りの値    …（式ａ）
【０００６】
このように、ホラディシフト量αを算出する演算には、除算や剰余が含まれるので、この演算をハードウェアで行うと回路規模が大きくなる。一方、ソフトウェアで行うと処理時間が長くかかり、リアルタイム処理が難しい。しかし、通常、二次元画像を先頭ラインから順に処理すれば、処理画素の副走査方向の座標は、１ライン毎に１ずつインクリメントされるので、以下の加算・減算処理によりホラディシフト量αを求めることができる。
【０００７】
＜ホラディシフト量を求めるための加算・減算処理＞
if(j==0){α = 0; jcnt = 0}
else{ jcnt = jcnt ＋ 1;
if( jcnt >= N ){
jcnt = 0;
α = α ＋ Hsft;
if( α >= M){
α = α − M;
}
}
}
【０００８】
この加算・減算処理を用いてホラディシフト量を算出するには、jcntが１ずつ単調に増加する必要がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−１９３１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
スクリーン処理時に後段の二次元位置補正によるシフトと逆方向で同じシフト量だけスクリーンパターンの閾値を予めシフトさせる処理（プレシフト処理とする）と、ホラディシフト処理を併用する場合、図１６に示すような処理の流れになる。すなわち、処理対象の画素の副走査位置ｊに、プレシフト量Psftを加算した修正副走査位置Pjを求め、この修正副走査位置Pjでのホラディシフト量αを、ホラディシフト量算出部で求める。そして、算出したホラディシフト量αに処理画素の主走査位置ｉを加算した修正主走査位置Piを求め、修正副走査位置Pjと修正主走査位置Piで閾値マトリクスを参照して得た閾値で処理画素にスクリーン処理を施す。
【００１１】
図１７は、ある副走査位置ｊにおける各主走査位置でのプレシフト量の変化を示している。プレシフト量は主走査方向の１ラインを処理する間に、画素毎に変化する。そのため、主走査方向の１ラインを処理する間に処理画素の副走査位置は変化しないが、処理画素の副走査位置にプレシフト量を加算した修正副走査位置Pjは、プレシフト量の変化に伴って処理画素毎に変化する。したがって、処理画素毎にホラディシフト量算出部でホラディシフト量αを算出しなければならない。さらに、プレシフト量は、隣接画素では＋１、０、−１のいずれかの値をとり、単調に増加するものではないので、前述した加算・減算処理でホラディシフト量αを算出することもできない。
【００１２】
このように、プレシフト処理とホラディシフト処理を併用する場合は、ホラディシフト量αを求めるための演算を処理画素毎に行う必要があり、さらに該演算を加算・減算処理で行うこともできない。そのため、前述した(式ａ)に基づき除算や剰余の演算でホラディシフト量αを求めると、ハードウェア・ソフトウェアのいずれを用いても処理時間や回路規模に問題が生じてしまう。
【００１３】
本発明は、上記の問題を解決しようとするものであり、プレシフト処理とホラディシフト処理を併用したスクリーン処理を、回路規模を抑えて高速に実行可能な画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１４】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００１５】
［１］第１方向と、該第１方向に直交する第２方向に画素を配列した二次元画像にスクリーン処理を施す画像処理装置であって、
処理画素の座標に対して、前記第２方向への任意の閾値シフト量を生成する画素単位閾値シフト量生成部と、
前記第１方向のサイズがＭ画素、前記第２方向のサイズがＮ画素の閾値マトリクスと、
前記閾値マトリクス単位の予め定めたシフト量をHsft、第２方向の画素位置をｊとし、（（ｊ÷Ｎの商の整数部）×Hsft）÷Ｍ の余りの値であるマトリクスシフト量が、第２方向の画素位置毎に対応付けて登録された参照テーブルを記憶する記憶部と、
処理画素の第２方向の画素位置に該処理画素の座標に対して前記画素単位閾値シフト量生成部が生成した閾値シフト量を加算した値を第２方向修正画素位置とし、前記第２方向修正画素位置で前記参照テーブルを参照して得たマトリクスシフト量を前記処理画素の第１方向の画素位置に加算した値を第１方向修正画素位置として算出する修正画素位置算出部と、
前記閾値マトリクスを前記第１方向および前記第２方向に繰り返し配列した閾値マトリクス平面を前記第２方向修正画素位置および前記第１方向修正画素位置で参照して得られる閾値を用いて前記処理画素にスクリーン処理を施すスクリーン処理部と、
を有する
ことを特徴とする画像処理装置。
【００１６】
上記発明では、第２方向の画素位置毎にその画素位置に対応するマトリクスシフト量(ホラディシフト量)が登録された参照テーブルを設け、該参照テーブルを、処理画素毎に、その処理画素に対する第２方向修正画素位置で参照してマトリクスシフト量を取得するので、処理画素毎にマトリクスシフト量を高速に求めることができる。
【００１７】
［２］前記二次元画像を前記第１方向のライン単位に処理し、
前記参照テーブルは、前記二次元画像を処理する際に前記第２方向修正画素位置が取り得る範囲のうち、前記第１方向の一のラインを処理する際に前記第２方向修正画素位置が取り得る範囲を少なくとも包含する一部の範囲について前記マトリクスシフト量を保持し、
次に処理するラインに対応させて前記参照テーブルをライン毎に更新する参照テーブル更新部を有する
ことを特徴とする［１］に記載の画像処理装置。
【００１８】
上記発明では、参照テーブルとして持つ範囲を、一のラインを処理する際に必要な範囲に限定し、ライン毎に、参照テーブルを更新する。これにより、参照テーブルを記憶するために必要なメモリ容量を削減することができる。
【００１９】
［３］前記参照テーブル更新部は、次のラインを処理する際の前記一部の範囲に新たに含まれることになる第２方向の画素位置についてのみ前記マトリクスシフト量を算出して前記参照テーブルを更新する
ことを特徴とする［２］に記載の画像処理装置。
【００２０】
上記発明では、参照テーブルにマトリクスシフト量を登録すべき第２方向の画素位置の範囲は、前のラインで必要な範囲と次のラインで必要な範囲とがほとんど重複しているので、新たに必要となるマトリクスシフト量（１又は２個）のみを算出して、参照テーブルを、次のライン用に更新する。
【００２１】
［４］前記参照テーブル更新部は、第２方向の一の画素位置に対応する前記マトリクスシフト量に、所定の加算・減算処理を施して、前記第２方向の一の画素位置に１を加算した画素位置に対応する前記マトリクスシフト量を算出する
ことを特徴とする［３］に記載の画像処理装置。
【００２２】
上記発明では、二次元画像を処理する際のラインの位置が第２方向に順次増加する場合、除算・剰余の演算を行うことなく、マトリクスシフト量を加算・減算処理で順次求めることができる。
【発明の効果】
【００２３】
本発明に係る画像処理装置によれば、プレシフト処理とホラディシフト処理を併用したスクリーン処理を、回路規模を抑えて高速に実行することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施の形態に係る画像処理装置１０の概略構成を示すブロック図である。
【図２】全範囲ＬＵＴの一例を示す図である。
【図３】全範囲ＬＵＴと、ある副走査位置ｊ（=1063）で取り得る修正副走査位置Ｐｊの取り得る範囲の関係を示す図である。
【図４】初期化処理でホラディシフト量αをまとめてＬＵＴに書き込む範囲を示す図である。
【図５】副走査位置ｊが1063から1064に変化した場合における実体ＬＵＴの更新例を示す図である。
【図６】仮想ＬＵＴにおいて、副走査位置ｊ=1063のときの参照範囲と非参照範囲を示す図である。
【図７】副走査位置ｊが1064に変化した場合の参照範囲と非参照範囲を示す図である。
【図８】等倍の場合における、後段での位置補正のイメージと、プレシフト量と、実体ＬＵＴに登録するホラディシフト量の参照範囲との関係を示す図である。
【図９】拡大の場合における、後段での位置補正のイメージと、プレシフト量と、実体ＬＵＴに登録するホラディシフト量の参照範囲との関係を示す図である。
【図１０】縮小の場合における、後段での位置補正のイメージと、プレシフト量と、実体ＬＵＴに登録するホラディシフト量の参照範囲との関係を示す図である。
【図１１】本発明の第２の実施の形態における画像処理装置の概略構成を示すブロック図である。
【図１２】アドレスセレクタによるアドレスの選択状況を示す図である。
【図１３】スクリーン処理後の画像に二次元位置補正を行った場合のスクリーン形状の崩れを例示する図である。
【図１４】二次元位置補正によるシフトと逆方向で同じ量だけスクリーンパターンの閾値をシフトさせることでスクリーン形状の崩れを回避した例を図である。
【図１５】ホラディシフトによる閾値マトリクス単位のシフトを示す図である。
【図１６】プレシフト処理とホラディシフト処理を併用する場合における従来構成例を示す図である。
【図１７】副走査方向位置ｊにおける各主走査方向位置でのプレシフト量の変化を示す図である。
【発明を実施するための形態】
【００２５】
以下、図面に基づき本発明の各種の実施の形態を説明する。
【００２６】
＜第１の実施の形態＞
図１は、本発明の第１の実施の形態に係る画像処理装置１０の概略構成を示すブロック図である。画像処理装置１０は、第１方向と、該第１方向に直交する第２方向に画素を配列した二次元画像にスクリーン処理を施す画像処理装置である。ここでは、第１方向を主走査方向、第２方向を副走査方向とする。画像を回転させた場合等には、第１方向を副走査方向、第２方向を主走査方向としてもよい。
【００２７】
画像処理装置１０は、たとえば、コピー機能やプリント機能を有する画像形成装置に組み込まれる。画像形成装置は、記録紙に１ページ分の画像を形成する際に、主走査方向の１ラインを該ラインの先頭から末尾まで処理する毎に、副走査方向の処理位置を＋１ずつ順に進めて、二次元画像を記録紙に形成する。複数ページを連続的に画像形成する場合は、ページ間に、画像形成を行わない無効期間（所謂、紙間）が存在する。
【００２８】
画像処理装置１０の後段では、記録紙の表裏に画像を印刷する場合の倍率や画像位置の微妙なズレ、カラー印刷を行う場合の各色間での画像の位置ずれ（レジストずれ）などの位置ズレを補正するために、スクリーン処理後の画像に対して二次元位置補正処理が行われる。画像処理装置１０は、この二次元位置補正によるスクリーンパターン形状の崩れを防止して二次元位置補正後に正しいスクリーンパターン形状が維持されるように、二次元位置補正によるシフトと逆方向で同じシフト量だけスクリーンパターンの閾値をシフトさせるプレシフト処理を行う。プレシフト処理おけるシフト量をプレシフト量とする。また、画像処理装置１０は、閾値マトリクスのサイズを抑えてより大きな周期性を持たせるために、ホラディシフト処理を併用する。
【００２９】
なお、以後、実施の形態では、二次元位置補正で、副走査方向に画素をシフトさせるものとして説明する。すなわち、プレシフト処理によるシフト方向は副走査方向とする。
【００３０】
図１は、本発明の第１の実施の形態に係る画像処理装置１０の概略構成を示している。画像処理装置１０は、主走査方向の１ラインを該ラインの先頭から末尾まで処理する毎に、副走査方向の処理位置を＋１ずつ順次進めて、二次元画像に対するスクリーン処理を行う。
【００３１】
主走査カウンタ１１は、処理画素の主走査方向の位置（主走査位置ｉ）をカウントする。副走査カウンタ１２は、処理画素の副走査方向の位置（副走査位置ｊ）をカウントする。主走査位置i、副走査位置jの初期値はそれぞれ０とする。
【００３２】
プレシフト演算部（画素単位閾値シフト量生成部）１３は、処理画素（ｉ，ｊ）に対するプレシフト量Psftを算出する。プレシフト量は、プレシフト処理による閾値のシフト量であり、後段の二次元位置補正によるシフト量を逆方向にしたシフト量である。
【００３３】
加算器１４は、副走査カウンタ１２の出力する副走査位置ｊにプレシフト演算部１３の出力するプレシフト量Psftを加算して、修正副走査位置Pjを出力する。修正副走査位置Pjは、全範囲ＬＵＴ１５および閾値処理部１７に入力される。
【００３４】
全範囲ＬＵＴ（ルックアップテーブル）１５は、各副走査位置ｊに対応付けて、その副走査位置ｊに対するホラディシフト量(マトリクスシフト量)αを登録した参照テーブルである。全範囲ＬＵＴ１５は、処理対象の二次元画像で取り得るすべての修正副走査位置Pjについてホラディシフト量が登録されている。全範囲ＬＵＴ１５は、入力された修正副走査位置Pjに対応付けられているホラディシフト量αを出力する。
【００３５】
ホラディシフト量αは、前述した式ａの演算により算出され、あるいは、前述した加算・減算処理で順次導出されて、全範囲ＬＵＴ１５に予め登録される。
【００３６】
加算器１６は、主走査カウンタ１１が出力する主走査位置ｉに全範囲ＬＵＴ１５の出力するホラディシフト量αを加算した修正主走査位置Piを算出し、これを閾値処理部１７に出力する。加算器１４と加算器１６は、修正画素位置算出部の機能を果たす。
【００３７】
閾値処理部１７は、閾値マトリクスを記憶しており、該閾値マトリクスを主走査方向および副走査方向に繰り返し隣接配列した閾値マトリクス平面を仮想的に備える。そして、入力された修正副走査位置Pjおよび修正主走査位置Piで閾値マトリクス平面を参照して得た閾値で、処理画素（ｉ，ｊ）にスクリーン処理を施すスクリーン処理部としての機能を果たす。閾値処理部１７の出力するスクリーン処理後の処理画素は、二次元位置補正部１８によってシフトされ、二次元位置補正後の処理画素として出力される。
【００３８】
図２は、全範囲ＬＵＴ１５の一例を示している。全範囲ＬＵＴ１５に登録されるホラディシフト量αは、前述の式ａもしくは前述した加算・減算処理によって予め求める。ここでは、プレシフト量の取り得る最大範囲を±６４画素とし、Ａ３サイズの用紙の取り得る副走査位置ｊの範囲を０〜２９０００とする。この場合、全範囲ＬＵＴ１５には、修正副走査位置Pjの取り得る、−６４〜２９０６４の範囲の各副走査位置に対応するホラディシフト量が登録される。
【００３９】
このように、第１の実施の形態に係る画像処理装置１０では、修正副走査位置Pjの取り得る全ての値（副走査位置）についてホラディシフト量αを予め求めて全範囲ＬＵＴ１５に登録しておくので、画像処理の実行時には、修正副走査位置Pjで全範囲ＬＵＴ１５を参照するだけでリアルタイムにホラディシフト量αを得ることができる。その結果、プレシフト処理とホラディシフト処理を併用したスクリーン処理を、回路規模を抑えて高速に実行することができる。
【００４０】
＜第２の実施の形態＞
第１の実施の形態では、全範囲ＬＵＴ１５に、修正副走査位置Pjが取り得る全ての値についてホラディシフト量αを登録したが、プレシフト量が取り得る値の範囲は限定されている。そこで、第２の実施の形態では、次に処理するラインの副走査位置ｊに対して、修正副走査位置Pjが取り得る範囲を含む一部についてだけホラディシフト量αをＬＵＴ(ルックアップテーブル)に登録する。
【００４１】
第２の実施の形態では、第１の実施の形態における全範囲ＬＵＴ１５に相当するＬＵＴを仮想ＬＵＴとし、このうち、次に処理するラインの副走査位置ｊに対して修正副走査位置Pjが取り得る範囲を含む一部の範囲（参照範囲）についてだけホラディシフト量を登録したＬＵＴを、実体ＬＵＴとする。実際にメモリに作成されるのは実体ＬＵＴである。
【００４２】
たとえば、ある副走査位置ｊの主走査方向の１ラインを処理する際にプレシフト量の取り得る範囲が±６４であれば、その１ラインの処理中に、実体ＬＵＴにホラディシフト量αを登録しておくべき副走査方向の範囲(参照範囲)は、副走査位置ｊ±６４の範囲であり、実体ＬＵＴ（参照範囲）のサイズは１２９ライン分で足りる。図３の例は、副走査位置ｊが１０６３の場合の参照範囲を示している。具体的には、この場合の参照範囲は、９９９〜１１２７ラインになっている。
【００４３】
次に、実体ＬＵＴの更新方法について説明する。
【００４４】
次に処理するラインが画像の先頭ラインの場合、図４に示すように、初期化処理として、副走査位置ｊ（＝０）に対して修正副走査位置Pjの取り得る範囲（この例では、−６４〜＋６４）のすべてについてホラディシフト量αを算出して実体ＬＵＴに登録する。
【００４５】
実体ＬＵＴの更新は、ライン毎に、そのラインの処理を開始する前に実施する。画像の拡大縮小を考慮せず、等倍のみと考えた場合、プレシフト量の取り得る範囲は変化せず、ここでは−６４〜＋６４とする。この場合、主走査方向の１ラインの処理が完了して副走査位置ｊを＋１する毎に、１２９ライン分の参照範囲の位置を仮想ＬＵＴの中で副走査方向に＋１シフトさせればよい。
【００４６】
そこで、副走査位置ｊが＋１する毎に、実体ＬＵＴに登録されている中で最小の副走査位置に対するホラディシフト量の登録を削除し、実体ＬＵＴに登録されている中の最大の副走査位置に＋１した副走査位置に対応するホラディシフト量を新たに算出して追加登録すれば、実体ＬＵＴの更新が完了する。ライン毎の実体ＬＵＴの更新は、たとえば、ライン間の無効期間に行う。
【００４７】
図５では、副走査位置ｊが１０６３から１０６４に変化した場合における実体ＬＵＴの更新例を示している。副走査位置ｊが１０６３のとき、実体ＬＵＴに登録する参照範囲は９９９〜１１２７であり、副走査位置ｊが＋１して１０６４になると実体ＬＵＴに登録する参照範囲は１０００〜１０２８になる。そこで、参照範囲から外れた第９９９ラインに対応するホラディシフト量の登録を実体ＬＵＴから削除し、新たに参照範囲に入った第１１２８ラインに対応するホラディシフト量を算出して追加登録する。実体ＬＵＴは、たとえば、リングバッファのように使用される。
【００４８】
図６は、仮想ＬＵＴにおいて、副走査位置ｊ＝１０６３のときの参照範囲と非参照範囲を示し、図７は、副走査位置ｊが１０６４に変化した場合の参照範囲と非参照範囲を示している。図７では、図６に比べて、第９９９ラインが参照範囲から外れ、第１１２８ラインが新たに参照範囲に追加されている。
【００４９】
等倍のみの場合は上記のように副走査位置ｊが＋１ずつ増加するのに伴って参照範囲も単調に＋１ずつシフトさせればよい。しかし、拡大時は、一定ライン間隔毎に１ラインのライン挿入を行うため、ライン挿入がある箇所では、副走査位置ｊが＋１するのに対して、参照範囲を＋２シフトさせる必要が生じる。
【００５０】
縮小時は拡大時とは反対に一定ライン間隔毎に１ラインのライン削除を行うため、ライン削除がある箇所では副走査位置ｊが＋１するのに対して、参照範囲を変化させないようにする必要がある。したがって、拡大縮小を考慮すれば、１ライン処理（副走査位置ｊが＋１）した時の参照範囲のシフト量を、０、＋１、＋２のいずれかから選択する必要が生じる。
【００５１】
そこで、参照範囲のシフト量が０の場合は実体ＬＵＴを更新しない。参照範囲のシフト量が＋１の場合は、図５〜図７に示すように、実体ＬＵＴに登録されている中で最小の副走査位置に対するホラディシフト量の登録を削除し、実体ＬＵＴに登録されている中の最大の副走査位置に＋１した副走査位置に対応するホラディシフト量を新たに算出して追加登録すれる単位更新処理を１回を行う。参照範囲のシフト量が＋２の場合は、上記の単位更新処理を２回連続的に行って実体ＬＵＴを更新する。
【００５２】
図８は、等倍の場合における、後段での位置補正のイメージと、プレシフト量と、実体ＬＵＴに登録するホラディシフト量の参照範囲との関係を示している。等倍の場合、後の位置補正でライン挿入やライン削除は行われない。この例では、プレシフト量は、常に、−２〜＋２の範囲にある。よってホラディシフト量の参照範囲は副走査位置ｊを中心に±２の範囲となる。実体ＬＵＴの更新は、副走査位置ｊが＋１する毎に、実体ＬＵＴに登録されている中で最小の副走査位置の登録値を破棄し、実体ＬＵＴに登録されている中で最大の副走査位置に＋１した副走査位置に対応するホラディシフト量を追加登録する。すなわち、参照範囲を仮想ＬＵＴの中で＋１シフトさせればよい。
【００５３】
図９は、拡大の場合における、後段での位置補正のイメージと、プレシフト量と、実体ＬＵＴに登録するホラディシフト量の参照範囲との関係を示している。この例では、後の位置補正において、先頭から１０ライン目に１ラインの挿入が行われる。そのため、１０ライン目以降の各主走査位置におけるプレシフト量は、９ライン目までの対応する主走査位置のプレシフト量にそれぞれ＋１した値になっている。具体的には、プレシフト量は、９ライン目までは−２〜＋２の範囲であるのに対し、１０ライン目は−１〜＋３の範囲になっている。よって、ホラディシフト量の参照範囲は、９ライン目まで（副走査位置ｊ＝０〜８）は、副走査位置ｊ±２の範囲となり、１０ライン目以降では、ｊ−１〜ｊ＋３の範囲になる。具体的には、９ライン目(副走査位置ｊ＝８)は参照範囲が＋６〜＋１０であるのに対し、１０ライン目（副走査位置ｊ＝９）では参照範囲は＋８〜＋１２となり、＋２シフトしている。１１ライン目の参照範囲は＋９〜＋１３となり、１０ライン目に対するシフト量は＋１となり、通常の更新に戻る。すなわち、ライン挿入のあるときだけ、参照範囲を仮想ＬＵＴの中で＋２シフトさせ、それ以外は、等倍と同様に＋１のシフトになる。
【００５４】
図１０は、縮小の場合における、後段での位置補正のイメージと、プレシフト量と、実体ＬＵＴに登録するホラディシフト量の参照範囲との関係を示している。この例では、後の位置補正において、先頭から１０ライン目で１ラインの削除が行われる。そのため、１０ライン目以降の各主走査位置におけるプレシフト量は、９ライン目までの対応するプレシフト量にそれぞれ−１した値になっている。具体的には、プレシフト量は、９ライン目までは−２〜＋２の範囲であるのに対し、１０ライン目は−３〜＋１の範囲になっている。よって、ホラディシフト量の参照範囲は、９ライン目まで（副走査位置ｊ＝０〜８）は、副走査位置ｊ±２の範囲となり、１０ライン目以降では、ｊ−１〜ｊ＋３の範囲になる。具体的には、９ライン目(副走査位置ｊ＝８)は参照範囲が＋６〜＋１０であるのに対し、１０ライン目（副走査位置ｊ＝９）も参照範囲が＋６〜＋１０となり、シフトなしとなる。１１ライン目の参照範囲は＋７〜＋１１となり、１０ライン目に対するシフト量は＋１となり、通常の更新に戻る。すなわち、ライン削除のあるときだけ、参照範囲を仮想ＬＵＴの中でシフトさせず、それ以外は、等倍と同様に＋１のシフトになる。
【００５５】
図１１は、第２の実施の形態における画像処理装置３０の概略構成を示す図である。画像処理装置３０の機能は第１の実施の形態で示した画像処理装置１０と同様である。相違点は、第１の実施の形態の画像処理装置１０が有する全範囲ＬＵＴ１５に代えて前述した実体ＬＵＴ３１を備えており、実体ＬＵＴ３１を初期化およびライン毎に更新するための回路を備える点である。なお、画像処理装置１０の構成要素と同一部分には同一の符号を付してその説明を適宜省略する。
【００５６】
画像処理装置３０は、実体ＬＵＴ３１を更新する処理をライン単位に行うライン単位処理部３３と、処理画素毎の処理を行う画素単位処理部３２を備える。画素単位処理部３２は、主走査カウンタ１１、副走査カウンタ１２、プレシフト演算部１３、加算器１４、加算器１６、およびアドレスセレクタ３５、アドレスデコード部３６、実体ＬＵＴ３１を備えている。ライン単位処理部３３は、ＬＵＴ更新選択部４１、更新アドレス設定部４２、ホラディシフト演算部４３、アドレスポインタ設定部４４を備えている。
【００５７】
アドレスデコード部３６、アドレスポイント設定部４４、実体ＬＵＴ３１により、仮想ＬＵＴが構成される。
【００５８】
画素単位処理部３２は１画素に１回の処理を行うため、高速処理が必要となる。ライン単位処理部３３は、１ラインの先頭で１回だけ処理する。ライン単位の処理は、基本的にはライン間のブランク期間（無効期間）に処理すればよいので、低速処理でよい。さらに低速処理をしたい場合は、前ラインの画像処理中に演算を行い、実体ＬＵＴ３１の更新処理だけをブランク期間に実施するという方式でもよい。
【００５９】
画像処理実行時の動作としては、実体ＬＵＴ３１から出力されるホラディシフト量αは主走査位置(i)と合算して修正主走査位置Piにされる。修正主走査位置Piは、閾値マトリクス参照用の主走査座標として扱われる。閾値参照用の副走査座標は、プレシフト量Psftと副走査位置jを合算した修正副走査位置Pjである。
【００６０】
前述したように、仮想ＬＵＴは、ホラディシフト量を１ページ分（修正副走査位置Pjの取り得る全範囲について）保持する仮想のＬＵＴである。実体ＬＵＴ３１は、限定された領域（例では参照範囲となる１２９ライン分）の情報を保持するのみであるが、ライン毎に更新されることにより、あたかも仮想ＬＵＴと同様の範囲を保持しているかのように振る舞う。仮想ＬＵＴに対して指定するアドレスは１ページ内の副走査位置である。
【００６１】
ＬＵＴ更新選択部４１は、主走査方向１ライン中の先頭画素（左端画素）に対するプレシフト量Psftをもとに、実体ＬＵＴ３１に登録する参照範囲の仮想ＬＵＴ内でのシフト量（更新ライン数）を決定する。左端画素のプレシフト量が前ラインより１増加すれば、更新ライン数は２ラインとし、１減少すれば更新ライン数は０ラインとなる。前ラインと同一であれば更新ライン数は１ラインとなる。ただし、ページの先頭の初期化時は、更新ライン数として、実体ＬＵＴ３１に登録すべき参照範囲のサイズに相当する１２９ラインを出力する。
【００６２】
更新アドレス設定部４２は、仮想ＬＵＴの中で更新するラインに対応するアドレス(更新アドレス)を決定する。ＬＵＴ更新選択部４１の出力する更新ライン数が１ラインの場合は、更新アドレスとして、現在の更新アドレスを１インクリメントしたものを指定し、更新ライン数が２ラインの場合は、現在の更新アドレスを１インクリメントしたものと、２インクリメントしたものの２つを指定する。更新ライン数が２ラインの場合は、ホラディシフト量の更新を２回実施する。更新ライン数が１２９の場合は、１２９個の更新アドレスを順次出力する。
【００６３】
アドレスポインタ設定部４４は、仮想ＬＵＴと実体ＬＵＴ３１のアドレス差をポインタとして設定する。たとえば、実体ＬＵＴ３１のアドレス領域(参照範囲)が、仮想ＬＵＴ内の２０〜１４７ラインである場合は、アドレスポインタを２０とする。
【００６４】
ホラディシフト演算部４３は、更新アドレス設定部４２が出力する更新アドレスに対応するホラディシフト量αを演算する。更新ライン数が１ラインの場合は１回演算を行い、更新ライン数が２ラインの場合は２回演算を行う。この演算は、前述した（式ａ）、もしくは、前述した加算・減算処理によって行う。
【００６５】
アドレスデコード部３６は、仮想ＬＵＴ用のアドレスを実体ＬＵＴ３１用のアドレスに変換する。変換式は以下の通りである。  
実体ＬＵＴアドレス ＝ 仮想ＬＵＴアドレス − アドレスポインタ
【００６６】
アドレスセレクタ３５は、実体ＬＵＴ３１を更新する場合に使用する更新アドレス（ライトアドレス）と、実体ＬＵＴ３１から閾値演算に使用するホラディシフト量αを読み出す場合の参照アドレス（リードアドレス）のどちらをアドレスデコード部３６に出力するかを切り換える。アドレスセレクタ３５は、図１２に示すように、ライン間の無効期間において更新アドレスを選択し、有効画像領域では参照アドレスを選択する。
【００６７】
第２の実施の形態においてもプレシフト処理とホラディシフト処理を併用したスクリーン処理を、回路規模を抑えて高速に実行することができる。また、第２の実施の形態に係る画像処理装置３０は、仮想ＬＵＴの中の一部の参照範囲についてのみ実体ＬＵＴ３１を備えるので、各副走査位置に対応するホラディシフト量αを記憶するために必要なメモリ容量を削減することができる。また、演算すべき副走査位置が＋１ずつ単調増加するので、ホラディシフト演算部４３は、除算・剰余の演算を、加算・減算処理に置き換えて実行することができ、回路規模を縮小することができる。
【００６８】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【００６９】
実施の形態では、プレシフト処理によるシフトが副走査方向に行われる場合を例に説明したが、主走査方向の場合は、実施の形態における主走査方向と副走査方向を入れ替えればよく、基本的に同様の処理を行えばよい。
【００７０】
閾値マトリクスのサイズや各閾値は任意に定めればよい。また、Hsftの値もて必要に応じて定めればよい。
【００７１】
画像処理装置１０、３０はプリント機能やコピー機能を備えたが画像形成装置に組み込まれるほか、独立の装置として構成されてもよい。
【符号の説明】
【００７２】
１０…画像処理装置
１１…主走査カウンタ
１２…副走査カウンタ
１３…プレシフト演算部
１４…加算器
１５…全範囲ＬＵＴ
１６…加算器
１７…閾値処理部(閾値マトリクスを含む)
１８…二次元位置補正部
３０…画像処理装置
３１…実体ＬＵＴ
３２…画素単位処理部
３３…ライン単位処理部
３５…アドレスセレクタ
３６…アドレスデコード部
４１…ＬＵＴ更新選択部
４２…更新アドレス設定部
４３…ホラディシフト演算部
４４…アドレスポインタ設定部
【図１】
2018042212.tif 000003
【図２】
2018042212.tif 000004
【図３】
2018042212.tif 000005
【図４】
2018042212.tif 000006
【図５】
2018042212.tif 000007
【図６】
2018042212.tif 000008
【図７】
2018042212.tif 000009
【図８】
2018042212.tif 000010
【図９】
2018042212.tif 000011
【図１０】
2018042212.tif 000012
【図１１】
2018042212.tif 000013
【図１２】
2018042212.tif 000014
【図１３】
2018042212.tif 000015
【図１４】
2018042212.tif 000016
【図１５】
2018042212.tif 000017
【図１６】
2018042212.tif 000018
【図１７】
2018042212.tif 000019