(57)【特許請求の範囲】
【請求項１】
画像データの主走査方向にわたって複数に区分された単位領域毎に、当該画像データに対する副走査方向の補正量をそれぞれ決定する補正量決定部と、
前記補正量に応じて複数個の記憶装置を用いて構成される仮想的な記憶領域におけるアクセス先のアドレスの範囲を特定する範囲特定情報を取得し、前記記憶領域上のアドレスと前記記憶装置上のアドレスとの対応関係に基づき、前記範囲特定情報から１以上のアクセス先の記憶装置上のアドレスを特定し、当該記憶装置上のアドレスへアクセスする制御を行うアクセス制御部と、を有し、
前記記憶領域は、前記複数の単位領域にそれぞれ対応する複数の単位記憶領域を含み、下記（Ａ）〜（Ｃ）の条件を満たすように構成される、
ことを特徴とする画像処理装置。
（Ａ）前記各単位記憶領域は、当該単位記憶領域に対応する単位領域の補正量に応じた個数分のアドレスを有する。
（Ｂ）前記各単位記憶領域の各アドレスには、前記記憶装置上のアドレスが一対一で割り当てられる。
（Ｃ）前記各単位記憶領域において、当該単位記憶領域の連続する所定の複数個のアドレスには、それぞれ異なる記憶装置が割り当てられる。
【請求項２】
請求項１に記載の画像処理装置であって、
前記記憶領域は、さらに下記（Ｄ）の条件を満たすように構成されることを特徴とする画像処理装置。
（Ｄ）前記各単位記憶領域において、当該単位記憶領域の連続するアドレスには、複数個の記憶装置が所定の順番で繰り返し割り当てられる。
【請求項３】
請求項１に記載の画像処理装置であって、
前記記憶領域は、さらに下記（Ｅ）の条件を満たすように構成されることを特徴とする画像処理装置。
（Ｅ）前記各単位記憶領域において、単位記憶領域間で同じ所定個数の連続するアドレスには、それぞれ異なる記憶装置が割り当てられ、残りの連続するアドレスには、前記記憶装置と異なる複数個の記憶装置が所定の順番で繰り返し割り当てられる。
【請求項４】
請求項１から３のいずれか１項に記載の画像処理装置であって、
前記各単位記憶領域の各アドレスには、前記記憶装置上のアドレスが所定の規則に従って割り当てられ、
前記アクセス制御部は、前記アクセス先の記憶装置上のアドレスを演算により求める、
ことを特徴とする画像処理装置。
【請求項５】
請求項１から４のいずれか１項に記載の画像処理装置であって、
前記アクセス制御部は、前記単位記憶領域毎に当該単位記憶領域内で循環移動するアクセスポインタを管理し、前記範囲特定情報として、アクセス先の単位記憶領域を示す情報と、前記アクセスポインタの移動量を示す情報と、アクセスすべきアドレス数を示す情報とを取得し、前記アクセス先の単位記憶領域のアクセスポインタを前記移動量だけ移動させる処理と、前記アクセス先の単位記憶領域のアクセスポインタに従って前記アドレス数分のアドレスを前記記憶装置上のアドレスに変換する処理とを行い、
前記移動量およびアドレス数は可変値である、
ことを特徴とする画像処理装置。
【請求項６】
請求項１から５のいずれか１項に記載の画像処理装置であって、
前記各単位記憶領域において、当該単位記憶領域の先頭から末尾へと補正データを順次書き込んで読み出す第１の処理が行われ、当該第１の処理を終えた後に、当該単位記憶領域の先頭から末尾へと画像データを順次書き込んで読み出す第２の処理が繰り返し行われるように、前記アクセス制御部に前記範囲特定情報を出力する情報出力部をさらに有することを特徴とする画像処理装置。
【請求項７】
コンピュータに、
画像データの主走査方向にわたって複数に区分された単位領域毎に、当該画像データに対する副走査方向の補正量をそれぞれ決定する手順と、
前記補正量に応じて複数個の記憶装置を用いて構成される仮想的な記憶領域におけるアクセス先のアドレスの範囲を特定する範囲特定情報を取得し、前記記憶領域上のアドレスと前記記憶装置上のアドレスとの対応関係に基づき、前記範囲特定情報から１以上のアクセス先の記憶装置上のアドレスを特定し、当該記憶装置上のアドレスへアクセスする制御を行う手順と、を実行させ、
前記記憶領域は、前記複数の単位領域にそれぞれ対応する複数の単位記憶領域を含み、下記（Ａ）〜（Ｃ）の条件を満たすように構成される、
ことを特徴とする画像処理プログラム。
（Ａ）前記各単位記憶領域は、当該単位記憶領域に対応する単位領域の補正量に応じた個数分のアドレスを有する。
（Ｂ）前記各単位記憶領域の各アドレスには、前記記憶装置上のアドレスが一対一で割り当てられる。
（Ｃ）前記各単位記憶領域において、当該単位記憶領域の連続する所定の複数個のアドレスには、それぞれ異なる記憶装置が割り当てられる。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
プリンタ装置や複写機等の画像形成装置においては、各色の感光体の取り付け誤差やレーザビームの光路長の差分などの機械的要因によって、主走査方向および副走査方向の画像形成のタイミングがずれたり、画像の倍率や傾きが変化したりする。ここで、主走査方向とは、画像形成装置においてトナー像をライン単位で感光体に形成する際のそのラインが延びる方向を意味しており、感光体の回転軸方向と一致する。また、副走査方向とは、感光体が移動（回転）する方向であり、用紙の搬送方向と一致する。例えば副走査方向の画像形成タイミングがずれてしまうと、本来は矩形として表されるべき画像が、副走査方向に歪んだ画像として印刷されてしまう。
【０００３】
このような現象は、一般に“レジストレーションのずれ（レジずれ）”と総称されている。このレジずれを補正するための方法として、画像データに画像処理を施す方法が提案されている（例えば、特許文献１、２）。
【０００４】
特許文献１には、次の方法が記載されている。画像データの主走査方向にわたって複数に区分された単位領域ｘ１，ｘ２，・・・毎に、その画像データに対する副走査方向の補正量ＷＸ１，ＷＸ２，・・・を決定する。各補正量ＷＸ１，ＷＸ２，・・・に相当する容量を有するメモリ領域ｍ１，ｍ２，・・・をメモリ装置に確保する。各々のメモリ領域ｍ１，ｍ２，・・・に主走査方向の単位領域毎の補正データを順次書き込んで読み出すという第１の処理を行う。その後に、各々のメモリ領域ｍ１，ｍ２，・・・に画像データを順次書き込んで読み出すという第２の処理を繰り返し行う。
【０００５】
特許文献２には、画像データの主走査方向および副走査方向の位置を示す２次元アドレスをアドレス変換し、メモリ装置に対する画像データの書き込み制御または読み出し制御を行う画像形成装置であって、メモリ装置の空き領域を埋めるように画像データの書き込み制御を行うことにより、メモリ装置の使用状況に応じた２次元アドレスのアドレス変換を行うものが記載されている。また、画像データが、カラー画像形成における色間の相対位置ずれ補正情報に基づく色ずれ補正量を含み、上記アドレス変換によって、色ずれ補正量によって生じるメモリ装置の空き領域を埋めるように画像データの書き込み制御が行われる旨記載されている。
【０００６】
【特許文献１】特開２００６−５０４０２号公報
【特許文献２】特開２００５−８１６３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、画像形成装置のレジずれを補正するためのデータを記憶領域に書き込んで読み出すことによってレジずれを補正する技術では、記憶領域上における一度にアクセスできる範囲やアクセス位置の移動についての自由度の向上が望まれている。
【０００８】
本発明は、画像形成装置のレジずれを補正するためのデータを記憶領域に書き込んで読み出すことによってレジずれを補正する際、記憶領域上における一度にアクセスできる範囲やアクセス位置の移動についての自由度の向上が図られた画像処理装置および画像処理プログラムを提供する。
【課題を解決するための手段】
【０００９】
本発明に係る画像処理装置は、画像データの主走査方向にわたって複数に区分された単位領域毎に、当該画像データに対する副走査方向の補正量をそれぞれ決定する補正量決定部と、前記補正量に応じて複数個の記憶装置を用いて構成される仮想的な記憶領域におけるアクセス先のアドレスの範囲を特定する範囲特定情報を取得し、前記記憶領域上のアドレスと前記記憶装置上のアドレスとの対応関係に基づき、前記範囲特定情報から１以上のアクセス先の記憶装置上のアドレスを特定し、当該記憶装置上のアドレスへアクセスする制御を行うアクセス制御部と、を有し、前記記憶領域は、前記複数の単位領域にそれぞれ対応する複数の単位記憶領域を含み、下記（Ａ）〜（Ｃ）の条件を満たすように構成されることを特徴とする。
（Ａ）前記各単位記憶領域は、当該単位記憶領域に対応する単位領域の補正量に応じた個数分のアドレスを有する。
（Ｂ）前記各単位記憶領域の各アドレスには、前記記憶装置上のアドレスが一対一で割り当てられる。
（Ｃ）前記各単位記憶領域において、当該単位記憶領域の連続する所定の複数個のアドレスには、それぞれ異なる記憶装置が割り当てられる。
【００１０】
本発明の一態様では、前記記憶領域は、さらに下記（Ｄ）の条件を満たすように構成される。
（Ｄ）前記各単位記憶領域において、当該単位記憶領域の連続するアドレスには、複数個の記憶装置が所定の順番で繰り返し割り当てられる。
【００１１】
また、本発明の一態様では、前記記憶領域は、さらに下記（Ｅ）の条件を満たすように構成される。
（Ｅ）前記各単位記憶領域において、単位記憶領域間で同じ所定個数の連続するアドレスには、それぞれ異なる記憶装置が割り当てられ、残りの連続するアドレスには、前記記憶装置と異なる複数個の記憶装置が所定の順番で繰り返し割り当てられる。
【００１２】
また、本発明の一態様では、前記各単位記憶領域の各アドレスには、前記記憶装置上のアドレスが所定の規則に従って割り当てられ、前記アクセス制御部は、前記アクセス先の記憶装置上のアドレスを演算により求める。
【００１３】
また、本発明の一態様では、前記アクセス制御部は、前記単位記憶領域毎に当該単位記憶領域内で循環移動するアクセスポインタを管理し、前記範囲特定情報として、アクセス先の単位記憶領域を示す情報と、前記アクセスポインタの移動量を示す情報と、アクセスすべきアドレス数を示す情報とを取得し、前記アクセス先の単位記憶領域のアクセスポインタを前記移動量だけ移動させる処理と、前記アクセス先の単位記憶領域のアクセスポインタに従って前記アドレス数分のアドレスを前記記憶装置上のアドレスに変換する処理とを行い、前記移動量およびアドレス数は可変値である。
【００１４】
また、本発明の一態様では、前記各単位記憶領域において、当該単位記憶領域の先頭から末尾へと補正データを順次書き込んで読み出す第１の処理が行われ、当該第１の処理を終えた後に、当該単位記憶領域の先頭から末尾へと画像データを順次書き込んで読み出す第２の処理が繰り返し行われるように、前記アクセス制御部に前記範囲特定情報を出力する情報出力部をさらに有する。
【００１５】
本発明に係る画像処理プログラムは、コンピュータに、画像データの主走査方向にわたって複数に区分された単位領域毎に、当該画像データに対する副走査方向の補正量をそれぞれ決定する手順と、前記補正量に応じて複数個の記憶装置を用いて構成される仮想的な記憶領域におけるアクセス先のアドレスの範囲を特定する範囲特定情報を取得し、前記記憶領域上のアドレスと前記記憶装置上のアドレスとの対応関係に基づき、前記範囲特定情報から１以上のアクセス先の記憶装置上のアドレスを特定し、当該記憶装置上のアドレスへアクセスする制御を行う手順と、を実行させ、前記記憶領域は、前記複数の単位領域にそれぞれ対応する複数の単位記憶領域を含み、下記（Ａ）〜（Ｃ）の条件を満たすように構成されることを特徴とする。
（Ａ）前記各単位記憶領域は、当該単位記憶領域に対応する単位領域の補正量に応じた個数分のアドレスを有する。
（Ｂ）前記各単位記憶領域の各アドレスには、前記記憶装置上のアドレスが一対一で割り当てられる。
（Ｃ）前記各単位記憶領域において、当該単位記憶領域の連続する所定の複数個のアドレスには、それぞれ異なる記憶装置が割り当てられる。
【発明の効果】
【００１６】
請求項１に記載の発明によれば、記憶領域上における一度にアクセスできる範囲やアクセス位置の移動についての自由度の向上を図ることができる。
【００１７】
請求項２に記載の発明によれば、比較的少ない記憶装置数で仮想的な記憶領域を構成することが可能となる。
【００１８】
請求項３に記載の発明によれば、同一の記憶装置に対するアクセスの競合を回避することが可能となる。
【００１９】
請求項４に記載の発明によれば、アクセス先の記憶装置上のアドレスを演算で求めることができ、構成の簡易化が可能となる。
【００２０】
請求項５に記載の発明によれば、アクセス範囲を様々な移動量で移動させることができ、アクセス範囲を様々な広さで設定することができ、自由度の高いアクセスが可能となる。
【００２１】
請求項６に記載の発明によれば、画像データに対してレジずれ補正を施すことができる。
【００２２】
請求項７に記載の発明によれば、記憶領域上における一度にアクセスできる範囲やアクセス位置の移動についての自由度の向上を図ることができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態を図面に従って説明する。
【００２４】
図１は、本実施の形態に係る画像処理装置１の構成の一例を示すブロック図である。この画像処理装置１は、画像形成装置におけるレジずれを補正するためのデータを記憶領域に書き込んで読み出すことにより、上記レジずれを補正する装置である。一つの態様では、画像処理装置１は、面発光型半導体レーザ（ＶＣＳＥＬ）を用いた画像形成装置におけるレジずれを補正するために適用される。図１において、画像処理装置１は、記憶装置群１０と、制御装置２０とを有する。
【００２５】
記憶装置群１０は、複数個の記憶装置Ｍ０，Ｍ１，・・・を含む。記憶装置Ｍ０，Ｍ１，・・・は、例えばＲＡＭ（Random Access Memory）である。なお、以下の説明では、記憶装置を「メモリ」と称する。
【００２６】
制御装置２０は、メモリ群１０に含まれるメモリＭ０，Ｍ１，・・・にアクセスする、すなわちデータの書き込みまたは読み出しを行う装置である。制御装置２０は、例えばハードウェア回路により実現される。制御装置２０は、補正量決定部２１、アクセス制御部２２、および情報出力部２３を有する。
【００２７】
補正量決定部２１は、画像データの主走査方向にわたって複数に区分された単位領域毎に、当該画像データに対する副走査方向の補正量をそれぞれ決定する。ここで、補正量は、画像形成装置におけるレジずれを補正するための値であり、レジずれには、スキューやボウなどが含まれる。
【００２８】
図２に示される例では、画像データは主走査方向にわたって単位量毎に区分され、Ｋ個（Ｋは２以上の整数）の単位領域ｘ（０），ｘ（１），・・・，ｘ（Ｋ−１）が規定されている。この単位領域毎に、副走査方向のレジずれ補正がなされる。図２では、画像データは副走査方向にわたっても単位量毎に区分されている。すなわち、画像データは、主走査方向および副走査方向についてそれぞれ単位量毎に分割され、一定面積を有する複数の単位ブロックに分割されている。単位ブロックは、図３の８ドット×１ラインのように１ラインで構成されてもよいし、図４の４ドット×２ラインのように複数ラインで構成されてもよい。
【００２９】
例えば、補正量決定部２１は、不図示のレジセンサから得られた情報を元に、図２に示されるようなスキュー／ボウラインＬを算出し、当該スキュー／ボウラインＬを上記単位ブロックを量子化単位として量子化して、単位領域毎の副走査方向のレジずれ量を求め、当該単位領域毎のレジずれ量に応じた値を単位領域毎の補正量Ｌ（０），Ｌ（１），・・・，Ｌ（Ｋ−１）として算出する。具体的には、補正量決定部２１は、不図示の画像形成装置に指示してパッチ画像を用紙に形成させ、そのパッチ画像の用紙上の位置に基づいて上記スキュー／ボウラインＬを算出する。このような補正量の算出は、画像形成装置の電源投入時や、所定印刷枚数毎など、適当なタイミングで行われればよい。
【００３０】
アクセス制御部２２は、上記補正量に応じて複数個のメモリＭ０，Ｍ１，・・・を用いて構成される仮想的な記憶領域におけるアクセス先のアドレスの範囲を特定する範囲特定情報を取得し、記憶領域上のアドレスと実メモリ上のアドレスとの対応関係に基づき、範囲特定情報から１以上のアクセス先の実メモリ上のアドレスを特定し、当該実メモリ上のアドレスへアクセスする制御を行う。
【００３１】
以下の説明では、便宜上、仮想的な記憶領域を「仮想メモリ領域」と称し、仮想的な記憶領域におけるアドレスを「仮想アドレス」と称し、記憶装置上のアドレスを「実アドレス」と称す。
【００３２】
具体的には、アクセス制御部２２は、複数個のメモリにより構成される仮想メモリ領域におけるアクセス先の仮想アドレスの範囲を特定する範囲特定情報を取得し、仮想アドレスと実アドレスとの対応関係に基づき、範囲特定情報により特定される１以上の仮想アドレスを１以上の実アドレスに変換し、当該実アドレスに基づいてメモリ群１０に対するデータの書き込みまたは読み出しを行う。複数個のメモリが存在するので、アクセス制御部２２は、実アドレスを特定する際、複数個のメモリの中からアクセス先のメモリを特定するとともに、当該特定されたメモリにおけるアクセス先のアドレスを特定する。なお、以下の説明では、実アドレスをｍｅｍ（ｘ）［ｙ］と表記する。ここで、変数ｘはメモリの番号を示し、変数ｙはメモリ上のアドレスを示す。メモリＭ０，Ｍ１，・・・のメモリ番号は、それぞれ「０」，「１」，・・・とする。したがって、例えば、ｍｅｍ（０）［０］は、メモリＭ０のアドレス「０」を示す。図５には、メモリの一例が示されている。図５の例では、メモリＭ０はＮ個のアドレス０〜Ｎ−１を有し、１アドレス当たりのデータ幅（ビット数）はｍビット（ｍは２以上の整数）である。例えば、単位ブロックが図３や図４のように８ドットで構成される場合には、１アドレス当たりのデータ幅は８ビットに設定される。当該メモリＭ０のＮ個のアドレスは、それぞれ、ｍｅｍ（０）［０］，ｍｅｍ（０）［１］，・・・，ｍｅｍ（０）［Ｎ−１］と表記される。
【００３３】
図６は、仮想メモリ領域の一例を示す図である。以下、図６を参照しながら、仮想メモリ領域の構成を説明する。
【００３４】
仮想メモリ領域は、複数の単位領域にそれぞれ対応する複数の単位記憶領域を含む。図６の例では、仮想メモリ領域は、図２のＫ個の単位領域ｘ（０），ｘ（１），・・・，ｘ（Ｋ−１）にそれぞれ対応するＫ個の単位記憶領域Ｆ（０），Ｆ（１），・・・，Ｆ（Ｋ−１）を含む。単位記憶領域は、例えば、先入れ先出し（ＦＩＦＯ）方式によりデータの読み書きが行われるＦＩＦＯ領域であり、以下の説明では、単位記憶領域を「ＦＩＦＯ領域」と称し、単位記憶領域Ｆ（ｋ）を「ＦＩＦＯ（ｋ）」と表記する。
【００３５】
仮想メモリ領域は、下記（Ａ）〜（Ｃ）の条件を満たすように構成される。
【００３６】
（Ａ）各ＦＩＦＯ領域は、当該ＦＩＦＯ領域に対応する単位領域の補正量に応じた個数分のアドレスを有する。図６では、各ＦＩＦＯ領域の各アドレスは１個の矩形で表現されており、ＦＩＦＯ（０），ＦＩＦＯ（１），・・・，ＦＩＦＯ（Ｋ−１）は、それぞれ、対応する単位領域の補正量Ｌ（０），Ｌ（１），・・・，Ｌ（Ｋ−１）と同じ個数分のアドレスを有する。したがって、図６の各ＦＩＦＯ領域の各アドレスは、図２の単位ブロックに一対一で対応している。
【００３７】
（Ｂ）各ＦＩＦＯ領域の各アドレスには、メモリＭ０，Ｍ１，・・・上のアドレスである実アドレスが一対一で割り当てられる。
【００３８】
（Ｃ）各ＦＩＦＯ領域において、当該ＦＩＦＯ領域の連続する所定の複数個のアドレスには、それぞれ異なるメモリが割り当てられる。
【００３９】
上記の条件（Ｃ）について説明する前に、仮想メモリ領域に対するアクセスについて説明する。
【００４０】
仮想メモリ領域に対するアクセスでは、すなわちデータの書き込みまたは読み出しでは、アクセス先のアドレスの範囲が特定される。具体的には、複数のＦＩＦＯ領域の中からアクセス先の１つのＦＩＦＯ領域が特定され、当該ＦＩＦＯ領域におけるアクセス先のアドレスの範囲（以下、「ウィンドウ」と称す）が特定される。図７には、ウィンドウＷの一例が示されている。図７の矢印Ａで示されるように、ウィンドウＷは、ＦＩＦＯ領域の先頭から末尾に向かって繰り返し循環移動させられる。一つの態様では、ウィンドウの幅（すなわち一度にアクセスされるアドレス数）は、可変であり、アクセスの度に変更され得る。具体的には、ウィンドウの幅は、最大ウィンドウ幅Ｗｍａｘ（Ｗｍａｘは２以上の整数）以下の範囲で可変である。ただし、ウィンドウの幅は固定値であってもよい。また、一つの態様では、ウィンドウが一度に移動する量は、可変であり、アクセスの度に変更され得る。例えば、ウィンドウは、３アドレス分移動させられた後に、１アドレス分移動させられてもよい。ただし、ウィンドウが一度に移動する量は、固定値であってもよい。また、ウィンドウの幅や移動量は、書き込みと読み出しとで、異なっていてもよいし、同じであってもよい。また、書き込みと読み出しとで、異なるＦＩＦＯ領域がアクセスされてもよい。
【００４１】
上記を踏まえ、条件（Ｃ）について説明する。最大ウィンドウ幅（読み書きを含めて最大のウィンドウ幅）がＷｍａｘである場合において、連続するＷｍａｘ個のアドレスのうち少なくとも２つのアドレスに対して同一のメモリが割り当てられると、同一メモリへのアクセス競合の可能性が生じる。そこで、当該アクセス競合を回避する観点より、上記（Ｃ）の条件が課される。具体的には、任意の連続するＷｍａｘ個のアドレスには、それぞれ異なるメモリが割り当てられる。
【００４２】
一つの態様では、構成の簡易化等の観点より、各ＦＩＦＯ領域の各アドレスには、実アドレスが所定の規則に従って割り当てられ、アクセス制御部２２は、アクセス先の実アドレスを演算により求める。当該態様については、後に具体例を示す。
【００４３】
また、一つの態様では、処理の簡易化等の観点より、各ＦＩＦＯ領域は、少なくとも最大ウィンドウ幅Ｗｍａｘ個分のアドレスを有する。
【００４４】
アクセス制御部２２は、一つの態様では、ＦＩＦＯ領域毎に当該ＦＩＦＯ領域内で循環移動するアクセスポインタを管理し、範囲特定情報として、アクセス先のＦＩＦＯ領域を示す情報と、アクセスポインタの移動量を示す情報と、アクセスすべきアドレス数を示す情報とを取得する。そして、アクセス制御部２２は、上記アクセス先のＦＩＦＯ領域のアクセスポインタを上記移動量だけ移動させる処理と、上記アクセス先のＦＩＦＯ領域のアクセスポインタに従って上記アドレス数分の仮想アドレスを実アドレスに変換する処理とを行う。
【００４５】
具体的な一態様では、アクセス制御部２２は、ＦＩＦＯ（０）〜ＦＩＦＯ（Ｋ−１）にそれぞれ対応するアクセスポインタＡＰ（０）〜ＡＰ（Ｋ−１）を管理する。そして、アクセス制御部２２は、主走査方向の位置を示す値ｋと、ウィンドウの移動量を示す移動値と、ウィンドウの幅を示すウィンドウ幅値とを含むアクセス要求を受けると、現在のアクセスポインタＡＰ（ｋ）に移動値を加算してアクセスポインタＡＰ（ｋ）を更新し、更新後のアクセスポインタＡＰ（ｋ）を始点としてウィンドウ幅値分の仮想アドレスを実アドレスに変換する。例えば、図８を参照すると、ＦＩＦＯ（３）について、ＡＰ（３）＝３の場合に、移動値「２」およびウィンドウ幅値「３」を含むアクセス要求がなされると、アクセスポインタＡＰ（３）＝５に更新され、ウィンドウ幅「３」のウィンドウＷ内のアドレス「５」、「６」、「７」が実アドレスに変換される。
【００４６】
一つの態様では、上記移動値およびウィンドウ幅値は、可変値であり、アクセスの度に変更され得る。ただし、移動値およびウィンドウ幅値の両方または一方は、固定値であってもよい。また、移動値やウィンドウ幅値は、書き込みと読み出しとで、異なっていてもよいし、同じであってもよい。また、移動値は、ウィンドウ幅値以下でも以上でもよい。
【００４７】
再び図１を参照すると、情報出力部２３は、上記範囲特定情報をアクセス制御部２２に出力する。具体的には、情報出力部２３は、レジずれが補正されるように、範囲特定情報をアクセス制御部２２に出力する。より具体的には、情報出力部２３は、各ＦＩＦＯ領域において、当該ＦＩＦＯ領域の先頭から末尾へと補正データを順次書き込んで読み出す第１の処理が行われ、当該第１の処理を終えた後に、当該ＦＩＦＯ領域の先頭から末尾へと画像データを順次書き込んで読み出す第２の処理が繰り返し行われるように、アクセス制御部２２に範囲特定情報と、補正データまたは画像データを出力する。上記補正データは、例えば、白画素を示すデータや、印字の禁止を示すデータなどである。
【００４８】
以下、仮想メモリ領域の定義の仕方の例として、第１の方式および第２の方式を示す。
【００４９】
［第１の方式］
第１の方式では、仮想メモリ領域は、下記（Ｄ）の条件を満たすように構成される。
【００５０】
（Ｄ）各ＦＩＦＯ領域において、当該ＦＩＦＯ領域の連続するアドレスには、複数個のメモリが所定の順番で繰り返し割り当てられる。
【００５１】
具体的には、最大ウィンドウ幅がＷｍａｘである場合、同一メモリへのアクセス競合を回避する観点より、各ＦＩＦＯ領域において、当該ＦＩＦＯ領域の連続するアドレスには、少なくともＷｍａｘ個のメモリが所定の順番で繰り返し割り当てられる。例えば、Ｗｍａｘ＝４である場合には、４個のメモリＭ０〜Ｍ３が、Ｍ０→Ｍ１→Ｍ２→Ｍ３→Ｍ０→・・・の順番で繰り返し割り当てられる。一つの態様では、より少ないメモリ数で仮想メモリ領域を構成する観点より、ＦＩＦＯ領域間で共通の複数個のメモリが使用される。
【００５２】
図９には、第１の方式における実アドレスの配置の一例が示されている。図９では、仮想アドレスから実アドレスを演算で求めることを可能にするために、実アドレスは次の方法で配置されている。
【００５３】
先頭のＦＩＦＯ（０）から末尾のＦＩＦＯ（Ｋ−１）に向かう処理順で、ＦＩＦＯ領域毎に当該ＦＩＦＯ領域の先頭から末尾に向かう処理順で、下記（１），（２）の手順で実アドレスが配置される。すなわち、下記（１），（２）の手順に従って、ＦＩＦＯ（０）の先頭から末尾まで実アドレスが配置され、ついで、ＦＩＦＯ（１）の先頭から末尾まで実アドレスが配置され、同様に、ＦＩＦＯ（２），（３），・・・の順で実アドレスが配置され、最後にＦＩＦＯ（Ｋ−１）の先頭から末尾まで実アドレスが配置される。このとき、ＦＩＦＯ（０）〜ＦＩＦＯ（Ｋ−１）は連続的な一列のメモリ領域とみなされ、複数のＦＩＦＯ領域を跨いで連続的に実アドレスが配置される。
（１）複数個（図９では４個）のメモリＭ０〜Ｍ３をメモリ番号順に並べる。このとき、メモリのアドレスは、１回目は初期値（図９では「０」）に設定され、２回目以降は下記手順（２）でインクリメントされた値に設定される。
（２）複数個のメモリＭ０〜Ｍ３を並べ終えたら、アドレスをインクリメントして、上記手順（１）に戻る。
【００５４】
図１０には、図９のＦＩＦＯ（３）に対するアクセスの一例が示されている。図１０では、ウィンドウ幅が「３」、移動値が「３」であり、ウィンドウがＷ１→Ｗ２→Ｗ３のとおり移動し、各ウィンドウ内の連続する３つのアドレスが一度にアクセスされる。各ウィンドウ内でメモリは重複しておらず、同一メモリへのアクセス競合は発生しない。
【００５５】
図１１には、図９のＦＩＦＯ（３）に対するアクセスの別の一例が示されている。図１１では、ウィンドウ幅「２」のウィンドウＷがループ端を跨ぎ、ウィンドウＷの後半が先頭に戻っている。このとき、ｍｅｍ（０）［９］およびｍｅｍ（０）［１１］が同一ウィンドウ内に入っているため、同時アクセスができない競合状態になっている。このようなアクセス競合は、下記の条件が満たされる場合に発生する。
ＬＭ（ｋ）  ％  （メモリの総個数）  ＜  （ウィンドウ幅）
【００５６】
図１１の例では、（９％４）＝１＜２であるので、上記条件が満たされる。
【００５７】
以上のように、第１の方式による構成では、ウィンドウ幅、メモリの総個数、およびＦＩＦＯ容量の３つのパラメータで、実現不可能な組み合わせが存在する。したがって、第１の方式による構成では、上記アクセス競合が発生しないようにパラメータを限定して使用する必要がある。
【００５８】
［第２の方式］
第２の方式では、上記第１の方式で発生するアクセス競合を回避する観点より、下記（Ｅ）の条件を満たすように構成される。
【００５９】
（Ｅ）各ＦＩＦＯ領域において、ＦＩＦＯ領域間で同じ所定個数の連続するアドレスには、それぞれ異なるメモリが割り当てられ、残りの連続するアドレスには、上記メモリと異なる複数個のメモリが所定の順番で繰り返し割り当てられる。
【００６０】
具体的には、本方式では、各ＦＩＦＯ領域には、容量が固定である固定領域と、容量が可変である可変領域とが設けられる。
【００６１】
固定領域は、ＦＩＦＯ領域間で同じ所定個数の連続するアドレスを含む。すなわち、固定領域のアドレス数（所定個数）は、ＦＩＦＯ領域間で同一である。ここで、上記所定個数は、補正量によらない固定値であり、最大ウィンドウ幅がＷｍａｘである場合、同一メモリへのアクセス競合を回避する観点より、（Ｗｍａｘ−１）以上の値である。一つの態様では、より少ないメモリ数で固定領域を構成する観点より、ＦＩＦＯ領域間で共通のメモリが使用される。例えば、全ＦＩＦＯ領域の固定領域は、（Ｗｍａｘ−１）個のメモリにより実現される。固定領域は、例えばＦＩＦＯ領域の先頭部分に固定配置される。
【００６２】
可変領域は、ＦＩＦＯ領域のうち固定領域を除いた、残りの連続するアドレスを含む。可変領域のアドレス数は、補正量に応じて変動する。例えば、固定領域のアドレス数をＢＡとすると、ＦＩＦＯ（ｋ）の可変領域のアドレス数は、例えば［ＬＭ（ｋ）−ＢＡ］である。最大ウィンドウ幅がＷｍａｘである場合、同一メモリへのアクセス競合を回避する観点より、各ＦＩＦＯ領域において、可変領域のアドレスには、少なくともＷｍａｘ個のメモリが所定の順番で繰り返し割り当てられる。各ＦＩＦＯ領域において、可変領域には、固定領域とは異なるメモリが割り当てられる。一つの態様では、より少ないメモリ数で仮想メモリ領域を構成する観点より、ＦＩＦＯ領域間で共通の複数個のメモリが使用される。
【００６３】
上記のように、固定領域には（Ｗｍａｘ−１）個以上のメモリが割り当てられ、可変領域にはＷｍａｘ個以上のメモリが割り当てられるので、第２の方式では、（２Ｗｍａｘ−１）個以上のメモリが必要とされる。
【００６４】
図１２には、第２の方式における実アドレスの配置の一例が示されている。図１２では、仮想アドレスから実アドレスを演算で求めることを可能にするために、実アドレスは次の方法で配置されている。なお、図１２の配置は、Ｗｍａｘ＝４に対応するものである。
【００６５】
図１２において、各ＦＩＦＯ領域の先頭の３アドレス分は固定領域とされ、残りが可変領域とされている。
【００６６】
各ＦＩＦＯ領域の固定領域には、先頭から末尾に向かって、複数個（図１２では３個）のメモリＭ０〜Ｍ２がメモリ番号順に並べられる。このとき、メモリのアドレスには、ＦＩＦＯ領域の番号が設定される。すなわち、ＦＩＦＯ（ｋ）では、メモリのアドレスとして「ｋ」が設定される。
【００６７】
一方、各ＦＩＦＯ領域の可変領域には、次のように実アドレスが配置される。先頭のＦＩＦＯ（０）から末尾のＦＩＦＯ（Ｋ−１）に向かう処理順で、ＦＩＦＯ領域毎に当該ＦＩＦＯ領域の可変領域の先頭から末尾に向かう処理順で、下記（１），（２）の手順で実アドレスが配置される。すなわち、下記（１），（２）の手順に従って、ＦＩＦＯ（０）の可変領域の先頭から末尾まで実アドレスが配置され、ついで、ＦＩＦＯ（１）の可変領域の先頭から末尾まで実アドレスが配置され、同様に、ＦＩＦＯ（２），（３），・・・の順で実アドレスが配置され、最後にＦＩＦＯ（Ｋ−１）の可変領域の先頭から末尾まで実アドレスが配置される。このとき、ＦＩＦＯ（０）〜ＦＩＦＯ（Ｋ−１）の可変領域は連続的な一列のメモリ領域とみなされ、複数のＦＩＦＯ領域を跨いで連続的に実アドレスが配置される。
（１）複数個（図１２では４個）のメモリＭ３〜Ｍ６をメモリ番号順に並べる。このとき、メモリのアドレスは、１回目は初期値（図１２では「０」）に設定され、２回目以降は下記手順（２）でインクリメントされた値に設定される。
（２）複数個のメモリＭ３〜Ｍ６を並べ終えたら、アドレスをインクリメントして、上記手順（１）に戻る。
【００６８】
図１３は、本実施の形態に係る画像処理装置１の具体的な構成の一例を示すブロック図である。以下、図１３を参照して、画像処理装置１の具体的な構成とともに、その動作を具体的に説明する。なお、ここでは、第２の方式によって図１２のように仮想メモリ領域が構成されるものとする。
【００６９】
図１３において、画像処理装置１は、メモリ群１０、アクセススイッチ３０、ポインタ値格納部４１，４２、書き込み制御部５０、読み出し制御部６０、およびリードデータセレクタ７０を有する。上記書き込み制御部５０および読み出し制御部６０は、図１のアクセス制御部２２に対応する。なお、図１３では、補正量決定部２１および情報出力部２３は図示されていない。
【００７０】
アクセススイッチ３０は、メモリ群への接続スイッチである。
【００７１】
ポインタ値格納部４１，４２には、ＦＩＦＯ領域のアクセスポインタＡＰ（０）〜ＡＰ（Ｋ−１）が格納されている。アクセスポインタＡＰ（０）〜ＡＰ（Ｋ−１）は、初期値０であり、順次更新される値である。ポインタ値格納部４１には、書き込み用のアクセスポインタ、すなわちライトポインタが格納され、ポインタ値格納部４２には、読み出し用のアクセスポインタ、すなわちリードポインタが格納される。
【００７２】
書き込み制御部５０は、書き込み要求と書き込み対象のデータとを受け付け、当該書き込み要求に基づき、当該書き込み対象のデータをメモリ群１０に書き込む。上記書き込み要求には、アクセス先のＦＩＦＯ領域の番号ｋと、アクセスポインタの移動値ｄと、ウィンドウ幅値ｗとが含まれる。ここでは、ｄは１以上の整数であり、ｗは１以上４以下の整数である。
【００７３】
書き込み制御部５０は、ＦＩＦＯ群ポインタ管理部５１、ウィンドウ管理部５２、およびメモリマッピング部５３を含む。
【００７４】
以下、図１４を参照しながら、ＦＩＦＯ群ポインタ管理部５１、ウィンドウ管理部５２、およびメモリマッピング部５３について説明する。
【００７５】
ＦＩＦＯ群ポインタ管理部５１は、書き込み要求と書き込み対象データを受けると、書き込み要求に含まれるＦＩＦＯ領域の番号ｋに基づき、ＦＩＦＯ（ｋ）のアクセスポインタＡＰ（ｋ）をポインタ値格納部４１から読み出す。そして、ＦＩＦＯ群ポインタ管理部５１は、読み出したアクセスポインタＡＰ（ｋ）と、書き込み要求と、書き込み対象データとをウィンドウ管理部５２に渡す。
【００７６】
ウィンドウ管理部５２は、ポインタ制御（ポインタのループ処理を含む）、ウィンドウの生成（ウィンドウのループ処理を含む）等の処理を行う。
【００７７】
具体的には、ウィンドウ管理部５２は、ＦＩＦＯ群ポインタ管理部５１からＡＰ（ｋ）等を受けると、図１４のように、当該当初のＡＰ（ｋ）に移動値ｄを加算してＡＰ（ｋ）を更新する。すなわち、アクセスポインタの更新式ＡＰ（ｋ）＝ＡＰ（ｋ）＋ｄによりＡＰ（ｋ）を更新する。図１４では、移動値ｄ＝４である。ここで、更新後のＡＰ（ｋ）がＦＩＦＯ（ｋ）のアドレス総数ＬＭ（ｋ）以上となった場合には、ウィンドウ管理部５２は、ＡＰ（ｋ）＝ＡＰ（ｋ）−ＬＭ（ｋ）とするアクセスポインタのループ処理を行う。上記更新後のＡＰ（ｋ）は、ウィンドウ管理部５２からＦＩＦＯ群ポインタ管理部５１に渡され、ＦＩＦＯ群ポインタ管理部５１によりポインタ値格納部４１に格納される。
【００７８】
ウィンドウ管理部５２は、更新後のＡＰ（ｋ）とウィンドウ幅値ｗとに基づき、ウィンドウを構成するＦＩＦＯ（ｋ）上のｗ個のアドレスを求める。具体的には、ウィンドウ管理部５２は、図１４に示されるように、ウィンドウＷを構成するアドレスＷＡ（１），ＷＡ（２），・・・，ＷＡ（ｗ）を、下記式により算出する。
【００７９】
ＷＡ（１）＝ＡＰ（ｋ）＋０
ＷＡ（２）＝ＡＰ（ｋ）＋１
・・・
ＷＡ（ｗ）＝ＡＰ（ｋ）＋ｗ−１
【００８０】
このとき、ＷＡ（ｉ）（ｉ＝１，・・・，ｗ）がＬＭ（ｋ）以上となった場合には、ウィンドウ管理部５２は、ＷＡ（ｉ）＝ＷＡ（ｉ）−ＬＭ（ｋ）とするウィンドウのループ処理を行う。
【００８１】
また、ウィンドウ管理部５２は、可変領域のリニア空間上のポインタを算出する。ここで、可変領域のリニア空間とは、図１５に示されるように、ＦＩＦＯ（０）〜ＦＩＦＯ（Ｋ−１）の可変領域を連結して得られる仮想的な直線状のメモリ空間である。当該リニア空間では、先頭からリニアに、０，１，２，・・・といったようにアドレス番号が振られる。処理対象のＦＩＦＯ（ｋ）の初期位置ポインタＶｐｔ（ｋ）は、下記式（１）で与えられ、前の処理すなわちＦＩＦＯ（ｋ−１）に対する処理の際に既に計算され、保持されている。ただし、ＦＩＦＯ（０）の初期位置ポインタは、Ｖｐｔ（０）＝０である。なお、下記式（１）において、ＢＴは固定領域のメモリ総数である。
【００８２】
Ｖｐｔ（ｋ）＝Ｖｐｔ（ｋ−１）＋ＬＭ（ｋ−１）−ＢＴ  ・・・（１）
【００８３】
ウィンドウ管理部５２は、ウィンドウ内のアドレスＷＡ（ｉ）（ｉ＝１，・・・，ｗ）の各々に対応するリニア空間上のポインタＲｐｔ（ｉ）を、下記式（２）により算出する。
【００８４】
Ｒｐｔ（ｉ）＝Ｖｐｔ（ｋ）＋ＷＡ（ｉ）−ＢＴ  ・・・（２）
【００８５】
ついで、ウィンドウ管理部５２は、下記式（３）により、次処理すなわちＦＩＦＯ（ｋ＋１）に対する処理のための初期位置ポインタＶｐｔ（ｋ＋１）を算出し、保持する。例えば、ウィンドウ管理部５２は、初期位置ポインタ用のレジスタに、Ｖｐｔ（ｋ＋１）を格納する。
【００８６】
Ｖｐｔ（ｋ＋１）＝Ｖｐｔ（ｋ）＋ＬＭ（ｋ）−ＢＴ  ・・・（３）
【００８７】
なお、初期位置ポインタＶｐｔ（ｋ）の算出は、前の処理で行われる必要はなく、他のタイミングで算出されてもよい。例えば、ＦＩＦＯ（ｋ）の処理の際にＶｐｔ（ｋ）を算出してもよいし、Ｖｐｔ（１）〜Ｖｐｔ（Ｋ−１）を予め算出して所定の記憶領域に格納しておいてもよい。
【００８８】
ウィンドウ管理部５２は、ウィンドウ内のアドレスＷＡ（ｉ）、リニア空間上のポインタＲｐｔ（ｉ）、書き込み要求、および書き込み対象データを、メモリマッピング部５３に渡す。
【００８９】
メモリマッピング部５３は、上記ウィンドウ内のアドレスＷＡ（ｉ）の各々を実アドレスに変換する。以下、実アドレスの変換処理について説明するが、各アドレスについて同様の処理が行われるので、ここではアドレスＷＡ（ｉ）を「ＷＡ」と略記する。また、アドレスＷＡ（ｉ）に対応するポインタＲｐｔ（ｉ）も「Ｒｐｔ」と略記する。
【００９０】
メモリマッピング部５３は、アドレスＷＡと固定領域のメモリ総数ＢＴとを比較し、アドレスＷＡが固定領域内の場合、すなわちＷＡ＜ＢＴの場合、次のように実アドレスを特定する。アドレスＷＡの値をアクセス先のメモリ番号に決定し、処理対象のＦＩＦＯ領域の番号ｋをアクセス先のアドレスに決定する。すなわち、アクセス先の実アドレスは、ｍｅｍ（ＷＡ）［ｋ］と特定される。
【００９１】
一方、アドレスＷＡが可変領域内の場合、すなわちＷＡ≧ＢＴの場合、リニア空間上のポインタＲｐｔを可変領域のメモリ総数ＶＴ（ここでは４）で余り算した結果に、固定領域のメモリ総数ＢＴを加算して得られる値を、アクセス先のメモリ番号に決定する。すなわち、下記式（４）により、アクセス先のメモリ番号ＣＳを算出する。また、リニア空間上のポインタＲｐｔを可変領域のメモリ総数ＶＴで除算した結果の小数点以下切捨て値を、アクセス先のアドレスに決定する。すなわち、下記式（５）により、アクセス先のアドレスＡｄｄを算出する。したがって、アクセス先の実アドレスは、ｍｅｍ（ＣＳ）［Ａｄｄ］と特定される。
【００９２】
ＣＳ＝（Ｒｐｔ％ＶＴ）＋ＢＴ  ・・・（４）
Ａｄｄ＝ｆｌｏｏｒ（Ｒｐｔ／ＶＴ）  ・・・（５）
【００９３】
そして、メモリマッピング部５３は、アクセススイッチ３０を介して、上記特定された実アドレスに、書き込み対象データを書き込む。
【００９４】
再び図１３を参照すると、読み出し制御部６０は、読み出し要求を受け付け、当該読み出し要求に基づき、メモリ群１０からデータを読み出す制御を行う。上記読み出し要求には、アクセス先のＦＩＦＯ領域の番号ｋと、アクセスポインタの移動値ｄと、ウィンドウ幅値ｗとが含まれる。ここでは、ｄは１以上の整数であり、ｗは１以上４以下の整数である。なお、ｋ，ｄ，ｗは、書き込み側と同じ表記としているが、書き込み側のものとは別の値である。
【００９５】
読み出し制御部６０は、ＦＩＦＯ群ポインタ管理部６１、ウィンドウ管理部６２、およびメモリマッピング部６３を含む。
【００９６】
ＦＩＦＯ群ポインタ管理部６１は、書き込み側のＦＯＦＯ群ポインタ管理部５１と同様に、アクセスポインタを読み出してウィンドウ管理部６２に渡す処理と、ウィンドウ管理部６２から更新後のアクセスポインタを受け取ってポインタ値格納部４２に格納する処理とを行う。
【００９７】
ウィンドウ管理部６２は、書き込み側のウィンドウ管理部５２と同様に、アクセスポインタの更新、ウィンドウ内のアドレスの算出、可変領域のリニア空間上のポインタの算出、および初期位置ポインタの算出を行う。
【００９８】
メモリマッピング部６３は、書き込み側のメモリマッピング部５３と同様に、ウィンドウ内のアドレスに対応する実アドレスを特定する。そして、メモリマッピング部６３は、アクセススイッチ３０を介して、上記特定された実アドレスからのデータの読み出しを制御する。また、メモリマッピング部６３は、ウィンドウ内でのアドレスの配置を示す形態で、上記特定された実アドレスをリードデータセレクタ７０に渡す。
【００９９】
リードデータセレクタ７０は、メモリマッピング部６３からの上記情報に基づき、ウィンドウ内のアドレスに対応するデータをメモリ群１０から選択的に取得し、当該データをウィンドウ内でのアドレスの配置に従って配置して、読み出しデータとして出力する。
【０１００】
なお、上記の説明では、図１２のように仮想メモリ領域が構成される場合を例にとって説明したが、図９のように仮想メモリ領域が構成される場合にも、上記と同様の処理が行われる。ただし、この場合、ウィンドウ内のアドレスＷＡ（ｉ）は、常に可変領域内にあると判断され、実アドレスとしてｍｅｍ（ＣＳ）［Ａｄｄ］が特定される。また、上記式（１）〜（４）においては、ＢＴ＝０として計算される。
【０１０１】
図１６は、本実施の形態に係る画像処理装置１が適用された画像形成装置１００の構成の一例を示すブロック図である。具体的には、画像形成装置１００はタンデム式のカラー印刷装置であり、画像処理装置１はカラーレジ位置補正に利用される。以下、図１６を参照して、画像形成装置１００の構成および動作を説明する。
【０１０２】
画像形成装置１００は、イメージ展開部１１０、スクリーン生成部１２０、レジセンサ１３０、補正量決定部１４０、Ｙ色補正部１５０Ｙ、Ｍ色補正部１５０Ｍ、Ｃ色補正部１５０Ｃ、Ｋ色補正部１５０Ｋ、Ｙ色潜像形成装置１６０Ｙ、Ｍ色潜像形成装置１６０Ｍ、Ｃ色潜像形成装置１６０Ｃ、およびＫ色潜像形成装置１６０Ｋを有する。
【０１０３】
イメージ展開部１１０は、ＣＰＵ２０１やメモリ２０２等を含むホストコンピュータ２００から印刷画像データを受け取り、当該印刷画像データに対し、色空間変換や画像の回転・拡大縮小などの処理を行い、得られた画像データをスクリーン生成部１２０へ送る。
【０１０４】
スクリーン生成部１２０は、イメージ展開部１１０から画像データを受けると、当該画像データを２値化して、ＹＭＣＫ各色の２値の画像データを生成し、当該ＹＭＣＫ各色の画像データをそれぞれＹ色補正部１５０Ｙ、Ｍ色補正部１５０Ｍ、Ｃ色補正部１５０Ｃ、Ｋ色補正部１５０Ｋに出力する。
【０１０５】
レジセンサ１３０は、ＹＭＣＫ各色について、レジずれ量を検出して補正量決定部１４０に出力する。
【０１０６】
補正量決定部１４０は、レジセンサ１３０により検出されたレジずれ量に基づき、ＹＭＣＫ各色について、レジずれを補正するための補正量ＬＭ（０）〜ＬＭ（Ｋ−１）を算出する。そして、補正量決定部１４０は、算出されたＹＭＣＫ各色の補正量を、それぞれＹ色補正部１５０Ｙ、Ｍ色補正部１５０Ｍ、Ｃ色補正部１５０Ｃ、Ｋ色補正部１５０Ｋに出力する。
【０１０７】
Ｙ色補正部１５０Ｙ、Ｍ色補正部１５０Ｍ、Ｃ色補正部１５０Ｃ、およびＫ色補正部１５０Ｋは、それぞれ、補正量決定部１４０からの補正量に基づき、スクリーン生成部１２０からの画像データに対してレジ位置補正処理を施し、当該補正処理後の画像データを、Ｙ色潜像形成装置１６０Ｙ、Ｍ色潜像形成装置１６０Ｍ、Ｃ色潜像形成装置１６０Ｃ、Ｋ色潜像形成装置１６０Ｋに出力する。ここで、Ｙ色補正部１５０Ｙ、Ｍ色補正部１５０Ｍ、Ｃ色補正部１５０Ｃ、およびＫ色補正部１５０Ｋの各々は、図１のメモリ群１０、アクセス制御部２２、および情報出力部２３に対応する。
【０１０８】
Ｙ色潜像形成装置１６０Ｙ、Ｍ色潜像形成装置１６０Ｍ、Ｃ色潜像形成装置１６０Ｃ、およびＫ色潜像形成装置１６０Ｋは、それぞれ、上記レジ位置補正処理後の画像データに基づき、ＶＣＳＥＬを用いてＹＭＣＫ各色用の不図示の感光体に潜像を形成する。当該ＹＭＣＫ各色の潜像は各色のトナーで現像され、各色のトナー像は紙等の印刷媒体上に重ねて転写され定着される。
【０１０９】
なお、本発明は、上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々変更することができる。
【０１１０】
例えば、制御装置２０は、ハードウェア資源とソフトウェアとの協働により実現されてもよい。具体的には、制御装置２０の機能は、記録媒体に記録されたプログラムがメインメモリに読み出されてＣＰＵにより実行されることによって実現されてもよい。上記プログラムは、ＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体に記録されて提供されることも可能であるし、データ信号として通信により提供されることも可能である。
【０１１１】
また、画像処理装置１が、補正量に基づいて仮想メモリ領域を定義し、仮想アドレスと実アドレスの対応関係を所定の記憶領域に格納し、当該格納された対応関係に基づいてアドレスの変換を行う構成であってもよい。
【図面の簡単な説明】
【０１１２】
【図１】実施の形態に係る画像処理装置の構成の一例を示すブロック図である。
【図２】単位領域および補正量を説明するための図である。
【図３】単位ブロックの画素配置の一例を示す図である。
【図４】単位ブロックの画素配置の別の一例を示す図である。
【図５】メモリの一例を示す図である。
【図６】仮想メモリ領域の一例を示す図である。
【図７】ウィンドウの一例を示す図である。
【図８】ＦＩＦＯ領域に対するアクセスを説明するための図である。
【図９】第１の方式における実アドレスの配置の一例が示されている。
【図１０】図９のＦＩＦＯ（３）に対するアクセスの一例が示されている。
【図１１】図９のＦＩＦＯ（３）に対するアクセスの別の一例が示されている。
【図１２】第２の方式における実アドレスの配置の一例が示されている。
【図１３】実施の形態に係る画像処理装置の具体的な構成の一例を示すブロック図である。
【図１４】書き込み制御部の処理を説明するための図である。
【図１５】可変領域のリニア空間の一例を示す図である。
【図１６】実施の形態に係る画像処理装置が適用された画像形成装置の構成の一例を示すブロック図である。
【符号の説明】
【０１１３】
１  画像処理装置、１０  記憶装置群（メモリ群）、Ｍ０，Ｍ１，・・・  記憶装置（メモリ）、２０  制御装置、２１  補正量決定部、２２  アクセス制御部、２３  情報出力部。
【図１】
0004760854.tif 000002
【図２】
0004760854.tif 000003
【図３】
0004760854.tif 000004
【図４】
0004760854.tif 000005
【図５】
0004760854.tif 000006
【図６】
0004760854.tif 000007
【図７】
0004760854.tif 000008
【図８】
0004760854.tif 000009
【図９】
0004760854.tif 000010
【図１０】
0004760854.tif 000011
【図１１】
0004760854.tif 000012
【図１２】
0004760854.tif 000013
【図１３】
0004760854.tif 000014
【図１４】
0004760854.tif 000015
【図１５】
0004760854.tif 000016
【図１６】
0004760854.tif 000017