(57)【要約】【課題】メモリに対する追いかけ制御を適確に行い得る画像処理装置及び画像処理方法を提供する。【解決手段】画像をメモリに書き込む書き込み手段と、画像に含まれる複数の第１のブロックのうちの所定の位置の画素の書き込みが完了した場合に、第１のブロックの画像における書き込みが完了した画素の位置を示す書き込み座標を算出する第１の座標算出手段と、書き込み手段によってメモリに書き込まれた画像をメモリから読み出す読み出し手段と、画像に含まれる複数の第２のブロックのうちの読み出しの対象となる第２のブロックの画像における位置を示す読み出し座標を算出する第２の座標算出手段と、書き込み座標と前記読み出し座標との位置関係に基づいて、前記読み出し手段から発せられる読み出し要求を許可するか否かを制御する制御手段とを有している。【選択図】図２
2017204170.tif 000002
【特許請求の範囲】
【請求項１】
画像をメモリに書き込む書き込み手段と、
前記画像に含まれる複数の第１のブロックのうち所定の位置の画素の書き込みが完了した場合に、前記第１のブロックの前記画像における書き込みが完了した画素の位置を示す書き込み座標を算出する第１の座標算出手段と、
前記書き込み手段によって前記メモリに書き込まれた前記画像を前記メモリから読み出す読み出し手段と、
前記画像に含まれる複数の第２のブロックのうちの読み出しの対象となる前記第２のブロックの前記画像における位置を示す読み出し座標を算出する第２の座標算出手段と、
前記書き込み座標と前記読み出し座標との位置関係に基づいて、前記読み出し手段から発せられる読み出し要求を許可するか否かを制御する制御手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記第１の座標算出手段は、前記書き込み手段から発せられる信号に基づいて前記書き込み座標を算出し、
前記第２の座標算出手段は、前記読み出し手段から発せられる信号に基づいて前記読み出し座標を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記書き込み手段は、１フレームの前記画像に含まれる複数の前記第１のブロックを所定の順序で前記メモリに書き込み、
前記読み出し手段は、１フレームの前記画像に含まれる複数の前記第２のブロックを所定の順序で前記メモリから読み出すことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１の座標算出手段は、１フレームの前記画像に含まれる複数の前記第１のブロックの書き込みが完了する毎に、前記書き込み座標を更新することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第２の座標算出手段は、前記読み出し手段から前記制御手段に前記読み出し要求が発せられた際に前記読み出し座標を更新することを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第１のブロックのサイズと前記第２のブロックのサイズとが互いに異なることを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記第１のブロックは、１フレームの前記画像を複数の領域に分割することにより画定される複数の第１の分割ブロックにそれぞれ複数含まれている第１のラインであり、
前記書き込み座標は、書き込みが完了した前記第１のラインの位置を示す第１の座標と、書き込みが完了した前記第１の分割ブロックの位置を示す第２の座標と、前記複数の第１の分割ブロックをそれぞれ含む複数のブロックラインのうちの書き込みが完了した前記ブロックラインの位置を示す第３の座標とを含むことを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記第１の座標は、書き込みが完了した前記第１のラインの最後尾の画素の座標であり、
前記第２の座標は、書き込みが完了した前記第１の分割ブロックの最後尾の画素の座標であり、
前記第３の座標は、書き込みが完了した前記ブロックラインの最後尾の画素の座標であることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記第１のブロックは、１フレームの前記画像を複数の領域に分割することにより画定される複数の第１の分割ブロックにそれぞれ複数含まれており、
前記複数の第１の分割ブロックは、互いにオーバーラップしていることを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項１０】
前記第２のブロックは、１フレームの前記画像を複数の領域に分割することにより画定される第２の分割ブロックにそれぞれ複数含まれている第２のラインであり、
前記読み出し座標は、読み出し対象となる前記第２のラインの位置を示す座標であることを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記読み出し座標は、読み出し対象となる前記第２のラインの最後尾の画素の座標であることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記第２のブロックは、１フレームの前記画像を複数の領域に分割することにより画定される複数の第２の分割ブロックにそれぞれ複数含まれており、
前記複数の第２の分割ブロックは、互いにオーバーラップしていることを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１３】
前記書き込み手段によって書き込みが開始される座標と、前記読み出し手段によって読み出しが開始される座標とが互いに異なることを特徴とする請求項１から１２のいずれか１項に記載の画像処理装置。
【請求項１４】
１フレームの前記画像に含まれる複数の前記第１のブロックの書き込みが全て完了した際には、前記制御手段は、前記書き込み座標と前記読み出し座標との前記位置関係にかかわらず、前記読み出し手段から発せられる前記読み出し要求を許可することを特徴とする請求項１から１３のいずれか１項に記載の画像処理装置。
【請求項１５】
画像に含まれる複数の第１のブロックのうちの所定の位置の画素の書き込みが完了した場合に、前記第１のブロックの前記画像における書き込みが完了した画素の位置を示す書き込み座標を算出するステップと、
前記画像に含まれる複数の第２のブロックのうちの読み出しの対象となる前記第２のブロックの前記画像における位置を示す読み出し座標を算出するステップと、
前記書き込み座標と前記読み出し座標との位置関係に基づいて読み出し要求を許可するか否かを制御するステップと
を有することを特徴とする画像処理方法。
【請求項１６】
コンピュータに、
画像に含まれる複数の第１のブロックのうちの所定の位置の画素の書き込みが完了した場合に、前記第１のブロックの前記画像における書き込みが完了した前記画素の位置を示す書き込み座標を算出するステップと、
前記画像に含まれる複数の第２のブロックのうちの読み出しの対象となる前記第２のブロックの前記画像における位置を示す読み出し座標を算出するステップと、
前記書き込み座標と前記読み出し座標との位置関係に基づいて読み出し要求を許可するか否かを制御するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラ等に用いられる撮像素子の画素数は、数千万画素にまでなっている。撮像素子の画素数の増加に伴い、撮像素子によって取得される画像データのメモリへの書き込みや読み出しに要する時間も長くなる。メモリへの書き込みや読み出しに要する時間を短縮させるために、例えば、撮像素子からの画像データをメモリに書き込んだ直後に、その画像データをメモリから読み出して画像処理等を行うことが提案されている。具体的には、読み出しアドレスと書き込み中のアドレスとをメモリ転送制御部において管理し、書き込み処理と読み出し処理とを並行して実行し、画像データの書き込み開始から読み出し完了までの時間を短縮する制御方法が提案されている。このような制御は、追いかけ制御と称される。
【０００３】
特許文献１には、読み出し処理が書き込み処理を追い越さないようにメモリアクセスを行う技術が開示されている。特許文献１では、読み出し回数をカウントするリードカウンタと、書き込み回数をカウントするライトカウンタとが用いられる。引用文献１では、読み出し回数と書き込み回数との差分が上限設定値を越えると、書き込み処理を停止する。一方、引用文献１では、読み出し回数と書き込み回数との差分が下限設定未満になると読み出し処理を停止する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３２３３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術においては、書き込み処理を行う際のブロックと読み出し処理を行う際のブロックとの間においてサイズ等が異なる場合には、メモリに対する追いかけ制御を適確に行い得ない場合があった。
【０００６】
本発明の目的は、メモリに対する追いかけ制御を適確に行い得る画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【０００７】
実施形態の一態様によれば、画像をメモリに書き込む書き込み手段と、前記画像に含まれる複数の第１のブロックのうちの所定の位置の画素の書き込みが完了した場合に、前記第１のブロックの前記画像における書き込みが完了した画素の位置を示す書き込み座標を算出する第１の座標算出手段と、前記書き込み手段によって前記メモリに書き込まれた前記画像を前記メモリから読み出す読み出し手段と、前記画像に含まれる複数の第２のブロックのうちの読み出しの対象となる前記第２のブロックの前記画像における位置を示す読み出し座標を算出する第２の座標算出手段と、前記書き込み座標と前記読み出し座標との位置関係に基づいて、前記読み出し手段から発せられる読み出し要求を許可するか否かを制御する制御手段とを有することを特徴とする画像処理装置が提供される。
【発明の効果】
【０００８】
本発明によれば、メモリに対する追いかけ制御を適確に行い得る画像処理装置及び画像処理方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態による画像処理装置を示すブロック図である。
【図２】メモリ制御部を示すブロック図である。
【図３】書き込みアクセスや読み出しアクセスの順序を概念的に示す図である。
【図４】書き込み処理と読み出し処理とにおけるブロック分割の態様の例を示す図である。
【図５】メモリ制御部の動作を示すタイミングチャートである。
【図６】一実施形態による画像処理装置の動作を示すフローチャートである。
【図７】書き込みアドレス生成部及び読み出しアドレス生成部の構成を示すブロック図である。
【図８】一実施形態の変形例（その１）におけるブロック分割の態様の例を示す図である。
【図９】一実施形態の変形例（その２）におけるブロック分割の態様の例を示す図である。
【図１０】分割ブロックの最後尾にアクセスが達した際のアクセス座標のジャンプを概念的に示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明を実施するための形態を説明する。なお、本発明は以下の実施形態に限定されるものではなく、その要旨を逸脱しない範囲において適宜変更可能である。また、以下で説明する図面において、同じ機能を有するものは同一の符号を付し、その説明を省略又は簡潔にすることもある。
【００１１】
［一実施形態］
一実施形態による画像処理装置及び画像処理方法について図面を用いて説明する。図１は、本実施形態による画像処理装置１００を示すブロック図である。本実施形態では、画像処理装置１００が撮像素子を備える撮像装置である場合、より具体的には、画像処理装置１００がデジタルカメラである場合を例に説明するが、これに限定されるものではない。
【００１２】
図１に示すように、撮像素子１０２の前段には、結像光学系（結像光学部）１０１が配されている。結像光学系１０１は、レンズや絞り等を備えている。撮影の際、結像光学系１０１は、フォーカス調節や露出調節等を行い、撮像素子１０２に光学像を結像する。撮像素子（撮像部、撮像手段）１０２は、結像光学系１０１によって結像された光学像を電気信号（アナログ画像信号）に変換する光電変換機能を有している。即ち、撮像素子１０２の受光面（図示せず）には、光電変換部（光電変換素子）がマトリクス状に配されている。撮像素子１０２としては、例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等が用いられる。撮像素子１０２は、例えば、１フレームが水平１９２０画素×垂直１０８０画素、６０フレーム毎秒（ｆｐｓ）の動画データを出力する。Ａ／Ｄ変換部１０３は、撮像素子１０２からのアナログ画像信号をデジタル画像信号に変換する。
【００１３】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０８は、画像処理装置１００全体の制御を司るものであり、各機能ブロック（各処理部）に対しての動作の指示を行い、各種の制御や処理を実行する。メモリ１１２には、静止画像、動画像、音声等のデータが格納される。また、ＣＰＵ（制御部、処理部）１０８を動作させる際に用いられる定数や、画像処理装置１００によって実行されるプログラム等をメモリ１１２に格納することも可能である。メモリ１１２は、これらを格納するのに十分な記憶容量を備えている。また、メモリ１１２は、処理中の画像データ等を一時的に記憶する際にも用いられる。メモリ１１２としては、例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が用いられる。
【００１４】
メモリ制御部１２０は、ＣＰＵ１０８からの指示に応じて、メモリ１１２へのデータの書き込みやメモリ１１２からのデータの読み出しを行う。不揮発性メモリ制御部１０６は、ＣＰＵ１０８からの指示に応じて、不揮発性メモリ１０５へのデータの書き込みや不揮発性メモリ１０５からのデータの読み出しを行う。不揮発性メモリ１０５は、電気的に消去や記録が可能であり、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等が用いられる。不揮発性メモリ１０５には、ＣＰＵ１０８を動作させる際に用いられる定数や、プログラム等が記憶される。ＣＰＵ１０８は、補正処理部１０４、拡大縮小処理部１０９、メモリ制御部１２０、不揮発性メモリ制御部１０６、表示制御部１１０、操作部１０７、及び、撮像素子１０２に対する制御を行う。不揮発性メモリ１０５等に記録されたプログラムをＣＰＵ１０８が実行することによって、画像処理装置１００によって行われる様々な処理が実現される。
【００１５】
補正処理部１０４は、Ａ／Ｄ変換部１０３から出力される画像データに対して、画素補正、黒レベル補正、シェーディング補正、傷補正、倍率色収差補正等を行う。メモリ制御部１２０は、補正処理部１０４によって補正処理が施された画像データを、メモリ１１２に書き込む。また、メモリ制御部１２０は、メモリ１１２に書き込んだ画像データをメモリ１１２から読み出し、読み出した画像データを例えば拡大縮小処理部１０９に転送する。拡大縮小処理部１０９は、画像データに対して、拡大縮小等のリサイズ処理、圧縮伸長処理、フォーマット変換処理、現像処理、歪み補正等を行う。メモリ制御部１２０は、拡大縮小処理部１０９によって処理された画像データをメモリ１１２に書き込む。また、メモリ１１２に書き込まれた画像データは、メモリ制御部１２０によって読み出され、各機能ブロックに適宜転送される。
【００１６】
補正処理部１０４や拡大縮小処理部１０９は、上記のような処理を行うため、画像データを記憶するためのメモリ（図示せず）を有している。かかるメモリの容量を小さくするため、補正処理部１０４や拡大縮小処理部１０９は、１フレームの画像データを水平方向にも垂直方向にも分割することにより画定される分割ブロック３００ａ〜３００ｉ（図３参照）を単位として上記のような処理を行う。このため、本実施形態では、分割ブロック３００ａ〜３００ｉを単位としてメモリ１１２への画像データの書き込みや読み出しが行われる。なお、分割ブロック３００ａ〜３００ｉについては、後に詳述することとする。更に、本実施形態では、処理における遅延を小さくするため、画像データの書き込みが完了した部分の画像データを順次読み出していく追いかけ制御を行う。ところで、分割ブロック３００ａ〜３００ｉを単位として追いかけ制御を行う場合には、読み出し対象となる分割ブロック３００ａ〜３００ｉへの画像データの書き込みが完全に完了しなければ、当該分割ブロック３００ａ〜３００ｉへの読み出し処理は行えない。そこで、本実施形態では、処理における遅延をより小さくすべく、当該分割ブロック３００ａ〜３００ｉにそれぞれ複数含まれているより小さい単位であるライン（ブロック）３２０（図３参照）を単位として追いかけ制御を行うこととしている。従って、本実施形態では、分割ブロックに含まれるライン（ブロック）３２０のうちの書き込み処理が完了したライン（ブロック）３２０から順に画像データが順次読み出される。このような追いかけ制御は、メモリ制御部１２０等によって実行される。なお、分割ブロック３００ａ〜３００ｉに含まれる各々のライン（ブロック）３２０は、分割ブロック３００ａ〜３００ｉの水平方向のサイズと同じサイズに分割されているため、分割ラインと称することもできる。
【００１７】
表示部１１１は、表示制御部１１０によって制御され、各種画像データ等を表示する。表示部１１１としては、例えば液晶モニタ等が用いられる。操作部１０７は、ユーザによって操作されるスイッチやボタン等を含み、電源のＯＮ／ＯＦＦの操作や、シャッタのＯＮ／ＯＦＦの操作等に用いられる。
【００１８】
図２は、メモリ制御部１２０を示すブロック図である。メモリ制御部１２０は、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）２１０と、追いかけ制御部２００とを有している。ＤＭＡＣ２１０は、書き込み用のダイレクトメモリアクセスコントローラであるＷＲＤＭＡＣ（Ｗｒｉｔｅ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ）２１１を有している。また、ＤＭＡＣ２１０は、読み出し用のダイレクトメモリアクセスコントローラであるＲＤＤＭＡＣ（Ｒｅａｄ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ）２１３を有している。メモリＩ／Ｆ（Ｍｅｍｏｒｙ  Ｉｎｔｅｒｆａｃｅ）２０５は、ＷＲＤＭＡＣ２１１やＲＤＤＭＡＣ２１３からの制御信号に従って、メモリ１１２を制御する。追いかけ制御部２００は、ＷＲＤＭＡＣ２１１やＲＤＤＭＡＣ２１３からのオフセット信号に基づいて、後述する書き込み座標や読み出し座標の計算を行う。そして、書き込み座標と読み出し座標との比較結果に基づいて、ＲＤＤＭＡＣ２１３からの読み出しリクエスト信号ＲＤ＿ＲＥＱを適宜マスクする。ＷＲＤＭＡＣ２１１によって画像データの書き込みが完了した部分の画像データをＲＤＤＭＡＣ２１３が順次読み出していく追いかけ制御が行われる。このような追いかけ制御が、追いかけ制御部２００によって司られる。
【００１９】
ＷＲＤＭＡＣ２１１は、メモリ１１２にデータを書き込む際のメモリアドレス（アクセスアドレス）、即ち、書き込みアドレス（書き込みアドレス値）ＷＡＤＲＳを生成する書き込みアドレス生成部２１２を備えている。書き込みアドレス生成部２１２は、データ転送長等の管理や制御を行い得る。ＲＤＤＭＡＣ２１３は、メモリ１１２からデータを読み出す際のメモリアドレス、即ち、読み出しアドレス（読み出しアドレス値）ＲＡＤＲＳを生成する読み出しアドレス生成部２１４を備えている。読み出しアドレス生成部２１４は、データ転送長等の管理や制御を行い得る。ＷＲＤＭＡＣ２１１は、書き込みアドレスをインクリメントする機能を備えている。従って、ＷＲＤＭＡＣ２１１は、メモリ１１２上の所定のアドレス空間（アドレス領域）に画像データを順番に格納していくことが可能である。また、ＲＤＤＭＡＣ２１３は、読み出しアドレスをインクリメントする機能を備えている。従って、ＲＤＤＭＡＣ２１３は、メモリ１１２上の所定のアドレス空間に格納された画像データを順番に読み出していくことが可能である。また、ＷＲＤＭＡＣ２１１やＲＤＤＭＡＣ２１３は、アクセスアドレスを適宜ジャンプさせることができ（オフセットジャンプ機能）、分割ブロック３００ａ〜３００ｉの画像データのメモリ１１２への書き込み処理や読み出し処理を順次行うことができる。
【００２０】
このように、ＷＲＤＭＡＣ２１１は、画像（画像データ）をメモリ１２２に書き込む書き込み手段として機能し得る。また、ＲＤＤＭＡＣ２１３は、ＷＲＤＭＡＣ２１１によってメモリ１２２に書き込まれた画像（画像データ）をメモリ１２２から読み出す読み出し手段として機能し得る。
【００２１】
図７は、書き込みアドレス生成部２１２及び読み出しアドレス生成部２１４の構成を示すブロック図である。書き込みアドレス生成部２１２の構成と読み出しアドレス生成部２１４の構成とは同様であるため、ここでは、同一の図面、即ち、図７を用いて書き込みアドレス生成部２１２と読み出しアドレス生成部２１４とについて説明することとする。
【００２２】
ＷＲＤＭＡＣ２１１とＲＤＤＭＡＣ２１３は、ある量の画像データが転送される毎にアクセスアドレスをジャンプさせるオフセットジャンプ機能を有している。例えば、１つのライン３２０（図３参照）の画像データの転送が完了する毎に、アクセスアドレスをジャンプさせる。また、１つの分割ブロック３００ａ〜３００ｉ（図３参照）の画像データの転送が完了する毎に、アクセスアドレスをジャンプさせる。また、１つのブロックライン３２１ａ〜３２１ｃ（図３参照）の画像データの転送が完了する毎に、アクセスアドレスをジャンプさせる。このようなオフセットジャンプ機能を実現させるべく、ＣＰＵ１０８は、以下のような設定をＷＲＤＭＡＣ２１１やＲＤＤＭＡＣ２１３に対して行う。即ち、ＣＰＵ１０８は、ＷＲＤＭＡＣ２１１やＲＤＤＭＡＣ２１３に備えられたアドレスカウンタにスタートアドレス値を入力することによって、スタートアドレスの設定を行う。また、ＣＰＵ１０８は、ＷＲＤＭＡＣ２１１やＲＤＤＭＡＣ２１３に備えられた算出部７０１に対して、水平・垂直分割数、即ち、水平方向における画像の分割数と、垂直方向における画像の分割数とを入力する。なお、ここでは、水平・垂直分割数を入力する場合を例に説明したが、入力する情報はこれに限定されるものではない。水平方向における分割の態様と、垂直方向における分割の態様とを示す情報を適宜入力すればよい。これにより、分割が均等に行われていない場合や、各々の分割ブロックがオーバーラップしている場合等に対しても対応可能となる。また、ＣＰＵ１０８は、算出部７０１に対して、水平画像サイズ、即ち、水平方向における画像の画素数と、垂直ライン数、即ち、垂直方向における画像の画素数とを入力する。また、ＣＰＵ１０８は、算出部７０１に対して、バースト長、即ち、１回のリクエスト信号におけるアドレス指定によって連続してアクセス可能なデータ長を入力する。また、ＣＰＵ１０８は、ＷＲＤＭＡＣ２１１やＲＤＤＭＡＣ２１３に備えられたアドレス加算値算出部７０２に対して、オフセット値（オフセットジャンプ値）を入力する。オフセット値は、オフセットジャンプの際に適用されるオフセット量を示すものである。かかるオフセット値は複数種存在しており、オフセットジャンプが行われる箇所に応じて、適切なオフセット値が選択される。かかるオフセット値は、例えばＣＰＵ１０８によって設定される。
【００２３】
算出部７０１は、水平画像サイズ、水平分割数、バースト長等に基づいてデータ転送長を算出し、算出したデータ転送長をアドレス加算値算出部７０２に出力する。データ転送長は、メモリ１１２に対する１回のアクセスにおいて転送されるデータの長さ、即ち、メモリ１１２に対する１回のアクセスにおいて転送されるデータ量である。算出部７０１は、メモリ１１２に対するアクセスにおいて転送されたデータ量に基づいてオフセット信号を生成し、生成したオフセット信号をアドレス加算値算出部７０２に出力する。具体的には、ライン３２０の最後尾（末尾）に位置する画素３０１〜３０９に書き込み処理が達した際には、第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がそれぞれ生成される。ライン３２０の最後尾に位置する画素３０１〜３０９に読み出し処理が達した際には、第１の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１がそれぞれ生成される。分割ブロック３００ａ、３００ｂ、３００ｄ、３００ｅ、３００ｇ、３００ｈの最後尾に位置する画素３１１，３１２，３１４，３１５，３１７，３１８に書き込み処理が達した際には、第２の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ２がそれぞれ生成される。分割ブロック３００ａ、３００ｂ、３００ｄ、３００ｅ、３００ｇ、３００ｈの最後尾に位置する画素３１１，３１２，３１４，３１５，３１７，３１８に読み出し処理が達した際には、第２の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ２がそれぞれ生成される。ブロックライン３２１ａ、３２１ｂの最後尾に位置する画素３１３，３１６に書き込み処理が達した際には、第３の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ３がそれぞれ生成される。ブロックライン３２１ａ、３２１ｂの最後尾に位置する画素３１３，３１６に読み出し処理が達した際には、第３の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ３がそれぞれ生成される。
【００２４】
アドレス加算値算出部７０２は、算出部７０１から出力されるデータ転送長に基づいてアドレス加算値を算出し、算出したアドレス加算値をアドレス算出部７０３に出力する。アドレス加算値算出部７０２は、オフセット信号を算出部７０１から受信した際には、適切なオフセット値を、算出部７０１から受信したデータ転送長に加算する。アドレス加算値算出部７０２は、いずれの分割ブロックに対して書き込み処理や読み出し処理が行われているかをオフセット信号に基づいて把握することができるため、適切なオフセット値を選択することができる。そして、アドレス加算値算出部７０２は、加算によって得られた値をアドレス加算値としてアドレス算出部７０３に出力する。
【００２５】
アドレス算出部７０３は、メモリ１１２へのアクセスを開始する際においては、ＣＰＵ１０８によって設定されたスタートアドレスに基づいたアドレス値を出力する。アドレス算出部７０３は、メモリ１１２へのアクセスが開始された以降においては、アドレス加算値算出部７０２から出力されるアドレス加算値を現在のアドレス値に加算し、算出したアドレス値を出力する。オフセット信号が算出部７０１から発せられた際には、当該オフセット信号に対応するオフセット値の分だけアドレス加算値算出部７０２から出力されるアドレス加算値がオフセットされる。従って、オフセット信号が算出部７０１から発せられた際には、当該オフセット信号に対応するオフセット値に応じたオフセットジャンプが行われることとなる。
【００２６】
図３は、書き込みアクセスや読み出しアクセスの順序を概念的に示す図である。図３は、メモリ１１２における仮想的なアドレス空間を画像に対応するように概念的に示したものである。図３に示すように、１フレームの画像データを水平方向及び垂直方向にそれぞれ３分割することによって矩形の分割ブロック３００ａ〜３００ｉが画定されている。これらの分割ブロック３００ａ〜３００ｉに対して２次元的に連続してアクセスが行われる。なお、本明細書においては、個々の分割ブロックについて説明する際には、符号３００ａ〜３００ｉを用い、分割ブロック一般について説明する際には、符号３００を用いることとする。
【００２７】
各々の分割ブロック３００には、複数のライン３２０が含まれている。また、複数の分割ブロック３００ａ〜３００ｃによってブロックライン３２１ａが構成されており、複数の分割ブロック３００ｄ〜３００ｆによってブロックライン３２１ｂが構成されている。また、複数の分割ブロック３００ｇ〜３００ｉによってブロックライン３２１ｃが構成されている。ここでは、個々のブロックラインについて説明する際には、符号３２１ａ〜３２１ｃを用い、ブロックライン一般について説明する際には、符号３２１を用いることとする。
【００２８】
分割ブロック３００ａ、３００ｄ、３００ｇの水平方向における画素数（サイズ）をＸＡ、分割ブロック３００ｂ、３００ｅ、３００ｈの水平方向における画素数をＸＢ、分割ブロック３００ｃ、３００ｆ、３００ｉの水平方向における画素数をＸＣとする。分割ブロック３００ａ〜３００ｃの垂直方向におけるライン数（画素数）をＹＡ、分割ブロック３００ｄ〜３００ｆの垂直方向におけるライン数をＹＢ、分割ブロック３００ｇ〜３００ｉの垂直方向におけるライン数をＹＣとする。なお、ここでは、説明を簡略化するため、ＹＡ＝４、ＹＢ＝４、ＹＣ＝６とするが、実際には垂直方向におけるライン数はこれらの値よりも遙かに大きい。また、１つの画像の水平方向における画素数を、ＸＨ（＝ＸＡ＋ＸＢ＋ＸＣ）とする。画素数ＸＡ〜ＸＣ、ライン数ＹＡ〜ＹＣ、オフセット値等は、上述したように、ＤＭＡＣ２１０に備えられた算出部７０１やアドレス加算値算出部７０２に対してＣＰＵ１０８から予め入力される。そして、算出部７１０やアドレス加算値算出部７０２に備えられているレジスタ（不図示）にこれらの値が予め格納される。図３における矢印は、座標のジャンプ、即ち、アドレスジャンプを概念的に示している。なお、１フレームの画像の左上端の画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の先頭のアドレスとなる。そして、当該画像の第１番目のラインから最終ラインまでが連続したアドレスに順次書き込まれる。当該画像の第ｎ番目のラインの最後尾に位置する画素のデータが書き込まれるアドレスの次のアドレスには、当該画像の第ｎ＋１番目のラインの先頭に位置する画素のデータが書き込まれる。当該画像の右下端に位置する画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の最後尾のアドレスとなる。
【００２９】
上述したように、本実施形態では、分割ブロック３００を単位として書き込み処理や読み出し処理が行われる。例えば、まず、図３の左上に位置する分割ブロック３００ａの画像データがメモリ１１２に書き込まれる。分割ブロック３００ａの画像データの書き込みが完了した後には、分割ブロック３００ａの右側に位置する分割ブロック３００ｂの画像データの書き込みが行われる。分割ブロック３００ｂの画像データの書き込みが完了した後には、分割ブロック３００ｂの右側に位置する分割ブロック３００ｃの画像データの書き込みが行われる。このように、第１番目のブロックライン３２１ａに位置する分割ブロック３００ａ〜３００ｃの画像データのメモリ１１２への書き込みが左側から右側へ順次行われる。第１番目のブロックライン３２１ａに位置する分割ブロック３００ａ〜３００ｃの画像データの書き込みが完了した後には、第２番目のブロックライン３２１ｂに位置する分割ブロック３００ｄ〜３００ｆの画像データの書き込みが順次行われる。第２番目のブロックライン３２１ｂに位置する分割ブロック３００ｄ〜３００ｆの画像データの書き込みが完了した後には、第３番目のブロックライン３２１ｃに位置する分割ブロック３００ｇ〜３００ｉの画像データの書き込みが順次行われる。こうして、全ての分割ブロック３００ａ〜３００ｉの画像データのメモリ１１２への書き込みが順次行われる。なお、ここでは、書き込みアクセスを例として説明するが、読み込みアクセスも同様にして行われる。
【００３０】
書き込みアクセスにおける順序をより具体的に以下に説明する。まず、分割ブロック３００ａの画像データのメモリ１１２への書き込みが以下のようにして行われる。即ち、書き込みアドレス生成部２１２によって発行されるアドレス値に従って、分割ブロック３００ａの第１番目のライン３２０の画像データのメモリ１１２への書き込みが行われる。分割ブロック３００ａの第１番目のライン３２０の先頭の座標は（１，１）であり、分割ブロック３００ａの第１番目のライン３２０の最後尾の座標（Ｈ１，Ｖ１）は（ＸＡ，１）である。
【００３１】
分割ブロック３００ａの第１番目のライン３２０の画像データの書き込みが完了した後には、分割ブロック３００ａの第２番目のライン３２０の画像データの書き込みが行われる。分割ブロック３００ａの第２番目のライン３２０の先頭の座標は（１，２）である。座標（１，２）に対応するメモリアドレスは、座標（ＸＡ，１）に対応するメモリアドレスの次のメモリアドレスではない。従って、第１番目のライン３２０の画像データの書き込みから第２番目のライン３２０の画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック３００ａの第１番目のライン３２０の最後尾の座標（ＸＡ，１）に書き込み処理が達した際には、オフセット値のアドレス値への加算が書き込みアドレス生成部２１２のアドレス加算値算出部７０２によって行われる。即ち、データ転送長に応じた値を現在のアドレス値に加算するのみならず、オフセット値をも現在のアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は、（ＸＨ−ＸＡ）である。
【００３２】
この後、分割ブロック３００ａ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。分割ブロック３００ａ内に位置する複数のライン３２０のうちの最後尾のライン３２０を除く各々のライン３２０の最後尾の座標（Ｈ１，Ｖ１）の画素３０１に書き込み処理が達する毎に、オフセット値のアドレス値への加算が行われる。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック３００ａ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。こうして、分割ブロック３００ａの画像データがメモリ１１２に書き込まれる。
【００３３】
分割ブロック３００ａの画像データのメモリ１１２への書き込みが完了した後には、当該分割ブロック３００ａの右側に位置する分割ブロック３００ｂの画像データの書き込みが行われる。分割ブロック３００ａの最後尾のライン３２０である第ＹＡ番目のライン３２０の最後尾の画素３１１の座標（Ｈ２，Ｖ２）、即ち、分割ブロック３００ａの最後尾の画素３１１の座標（Ｈ２，Ｖ２）は、（ＸＡ，ＹＡ）である。一方、分割ブロック３００ｂの第１番目のライン３２０の先頭の座標、即ち、分割ブロック３００ｂの先頭の座標は、（ＸＡ＋１，１）である。座標（ＸＡ＋１，１）に対応するメモリアドレスは、座標（ＸＡ，ＹＡ）に対応するメモリアドレスの次のメモリアドレスではない。従って、第１番目の分割ブロック３００ａの画像データの書き込みから第２番目の分割ブロック３００ｂの画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。具体的には、第１番目の分割ブロック３００ａの最後尾の座標（ＸＡ，ＹＡ）に書き込み処理が達した際には、オフセット値のアドレス値への加算が行われる。即ち、データ転送長に応じた値をアドレス値に加算するのみならず、オフセット値をもアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は、（−ＸＨ×（ＹＡ−１））である。オフセット値が負の値であるため、座標（ＸＡ，ＹＡ）に対応するメモリアドレスから座標（ＸＡ＋１，１）に対応するメモリアドレスに戻る。こうして、アクセスアドレスがジャンプし、分割ブロック３００ｂの第１番目のライン３２０の画像データの書き込みが行われる。分割ブロック３００ｂの第１番目のライン３２０の先頭の座標は（ＸＡ＋１，１）であり、分割ブロック３００ｂの第１番目のライン３２０の最後尾の座標は（ＸＡ＋ＸＢ，１）である。分割ブロック３００ｂの第１番目のライン３２０の画像データの書き込みが完了した後には、分割ブロック３００ｂの第２番目のライン３２０の画像データの書き込みが行われる。分割ブロック３００ｂの第２番目のライン３２０の先頭の座標は、（ＸＡ＋１，２）である。従って、第１番目のライン３２０の画像データの書き込みから第２番目のライン３２０の画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。即ち、分割ブロック３００ｂの第１番目のライン３２０の最後尾の座標（ＸＡ＋ＸＢ，１）に書き込み処理が達した際には、オフセット値のアドレス値への加算が行われる。ここで加算されるオフセット値は、（ＸＨ−ＸＢ）である。この後、分割ブロック３００ｂ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。分割ブロック３００ｂ内に位置する複数のライン３２０のうちの最後尾のライン３２０を除く各々のライン３２０の最後尾の座標（Ｈ１，Ｖ１）の画素３０２に書き込み処理が達する毎に、オフセット値のアドレス値への加算が行われる。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック３００ｂ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。こうして、分割ブロック３００ｂの画像データがメモリ１１２に書き込まれる。
【００３４】
分割ブロック３００ｂの画像データのメモリ１１２への書き込みが完了した後には、当該分割ブロック３００ｂの右側に位置する分割ブロック３００ｃの画像データの書き込みが行われる。分割ブロック３００ｂの最後尾の座標は、（ＸＡ＋ＸＢ，ＹＡ）である。一方、分割ブロック３００ｃの第１番目のライン３２０の先頭の座標は、（ＸＡ＋ＸＢ＋１，１）である。座標（ＸＡ＋ＸＢ＋１，１）に対応するメモリアドレスは、座標（ＸＡ＋ＸＢ，ＹＡ）に対応するメモリアドレスの次のメモリアドレスではない。従って、分割ブロック３００ｂの画像データの書き込みから分割ブロック３００ｃの画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック３００ｂの最後尾の座標（ＸＡ＋ＸＢ，ＹＡ）に書き込み処理が達した際には、オフセット値のアドレス値への加算が行われる。即ち、データ転送長に応じた値をアドレス値に加算するのみならず、オフセット値をもアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は、（−ＸＨ×（ＹＡ−１））である。オフセット値が負の値であるため、座標（ＸＡ＋ＸＢ，ＹＡ）に対応するメモリアドレスから座標（ＸＡ＋ＸＢ＋１，１）に対応するメモリアドレスに戻る。こうして、アクセスアドレスがジャンプし、分割ブロック３００ｃの第１番目のライン３２０の画像データの書き込みが行われる。分割ブロック３００ｂの第１番目のライン３２０の先頭の座標は（ＸＡ＋ＸＢ＋１，１）であり、分割ブロック３００ｃの第１番目のライン３２０の最後尾の座標は（ＸＡ＋ＸＢ＋ＸＣ，１）である。分割ブロック３００ｃの第１番目のライン３２０の画像データの書き込みが完了した後には、分割ブロック３００ｃの第２番目のライン３２０の画像データの書き込みが行われる。分割ブロック３００ｃの第２番目のライン３２０の先頭の座標は、（ＸＡ＋ＸＢ＋１，２）である。従って、第１番目のライン３２０の画像データの書き込みから第２番目のライン３２０の画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。即ち、分割ブロック３００ｃの最後尾の座標（ＸＡ＋ＸＢ＋ＸＣ，１）に書き込み処理が達した際には、オフセット値のアドレス値への加算が行われる。ここで加算されるオフセット値は、（ＸＨ−ＸＣ）である。この後、分割ブロック３００ｃ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。分割ブロック３００ｃ内に位置する複数のライン３２０のうちの最後尾のライン３２０を除く各々のライン３２０の最後尾の画素３０３に書き込み処理が達する毎に、オフセット値のアドレス値への加算が行われる。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック３００ｃ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。こうして、分割ブロック３００ｃの画像データがメモリ１１２に書き込まれる。
【００３５】
分割ブロック３００ｃの画像データのメモリ１１２への書き込みが完了した後には、当該分割ブロック３００ａの下側に位置する分割ブロック３００ｄの画像データの書き込みが行われる。分割ブロック３００ｃの最後尾の座標は、（ＸＡ＋ＸＢ＋ＸＣ，ＹＡ）である。一方、分割ブロック３００ｄの第１番目のライン３２０の先頭の座標は、（１，ＹＡ＋１）である。座標（１，ＹＡ＋１）に対応するメモリアドレスは、座標（ＸＡ＋ＸＢ＋ＸＣ，ＹＡ）に対応するメモリアドレスの次のメモリアドレスである。従って、この場合には、オフセット値のアドレス値への加算を行う必要がない。従って、分割ブロック３００ｃの画像データの書き込みから分割ブロック３００ｄの画像データの書き込みに移行する際には、オフセット値のアドレス値への加算は行われない。換言すれば、オフセット値＝０が加算される。この後、分割ブロック３００ｄ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。分割ブロック３００ｄ内に位置する複数のライン３２０のうちの最後尾のライン３２０を除く各々のライン３２０の最後尾の座標（Ｈ１，Ｖ１）の画素３０４に書き込み処理が達する毎に、オフセット値、即ち、（ＸＨ−ＸＡ）のアドレス値への加算が行われる。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック３００ｄ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。こうして、分割ブロック３００ｄの画像データがメモリ１１２に書き込まれる。
【００３６】
分割ブロック３００ｄの画像データのメモリ１１２への書き込みが完了した後には、当該分割ブロック３００ｄの右側に位置する分割ブロック３００ｅの画像データの書き込みが行われる。分割ブロック３００ｄの画像データの書き込みから分割ブロック３００ｅの画像データの書き込みに移行する際には、上記と同様に、オフセット値のアドレス値への加算が行われる。ここで加算されるオフセット値は、（−ＸＨ×（ＹＢ−１））である。こうして、分割ブロック３００ｄの画像データの書き込みから分割ブロック３００ｅの画像データの書き込みに移行する。そして、分割ブロック３００ｅ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。分割ブロック３００ｅ内に位置する複数のライン３２０のうちの最後尾のライン３２０を除く各々のライン３２０の最後尾の座標（Ｈ１，Ｖ１）の画素３０５に書き込み処理が達する毎に、オフセット値、即ち、（ＸＨ−ＸＢ）のアドレス値への加算が行われる。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック３００ｅ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。こうして、分割ブロック３００ｅの画像データがメモリ１１２に書き込まれる。
【００３７】
分割ブロック３００ｅの画像データのメモリ１１２への書き込みが完了した後には、当該分割ブロック３００ｅの右側に位置する分割ブロック３００ｆの画像データの書き込みが行われる。分割ブロック３００ｅの画像データの書き込みから分割ブロック３００ｆの画像データの書き込みに移行する際には、上記と同様に、オフセット値のアドレス値への加算が行われる。ここで加算されるオフセット値は、（−ＸＨ×（ＹＢ−１））である。こうして、分割ブロック３００ｅの画像データの書き込みから分割ブロック３００ｆの画像データの書き込みに移行する。この後、分割ブロック３００ｆ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。分割ブロック３００ｆ内に位置する複数のライン３２０のうちの最後尾のライン３２０を除く各々のライン３２０の最後尾の画素３０６に書き込み処理が達する毎に、オフセット値、即ち、（ＸＨ−ＸＣ）のアドレス値への加算が行われる。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック３００ｆ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。こうして、分割ブロック３００ｆの画像データがメモリ１１２に書き込まれる。
【００３８】
分割ブロック３００ｆの画像データのメモリ１１２への書き込みが完了した後には、分割ブロック３００ｄの下側に位置する分割ブロック３００ｇの画像データの書き込みが行われる。分割ブロック３００ｆの画像データの書き込みから分割ブロック３００ｇの画像データの書き込みに移行する際には、オフセット値のアドレス値への加算は行われない。即ち、データ転送長に応じたアドレス加算値をアドレス値に加算させることによって、分割ブロック３００ｆの画像データの書き込みから分割ブロック３００ｇの画像データの書き込みに移行する。この後、分割ブロック３００ｇ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。分割ブロック３００ｇ内に位置する複数のライン３２０のうちの最後尾のライン３２０を除く各々のライン３２０の最後尾の画素３０７に書き込み処理が達する毎に、オフセット値、即ち、（ＸＨ−ＸＡ）のアドレス値への加算が行われる。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック３００ｇ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。こうして、分割ブロック３００ｇの画像データがメモリ１１２に書き込まれる。
【００３９】
分割ブロック３００ｇの画像データのメモリ１１２への書き込みが完了した後には、当該分割ブロック３００ｇの右側に位置する分割ブロック３００ｈの画像データの書き込みが行われる。分割ブロック３００ｇの画像データの書き込みから分割ブロック３００ｈの画像データの書き込みに移行する際には、上記と同様に、オフセット値のアドレス値への加算が行われる。ここで加算されるオフセット値は、（−ＸＨ×（ＹＣ−１））である。こうして、分割ブロック３００ｇの画像データの書き込みから分割ブロック３００ｈの画像データの書き込みに移行する。この後、分割ブロック３００ｈ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。分割ブロック３００ｈ内に位置する複数のライン３２０のうちの最後尾のライン３２０を除く各々のライン３２０の最後尾の画素３０８に書き込み処理が達する毎に、オフセット値、即ち、（ＸＨ−ＸＢ）のアドレス値への加算が行われる。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック３００ｈ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。こうして、分割ブロック３００ｈの画像データがメモリ１１２に書き込まれる。
【００４０】
分割ブロック３００ｈの画像データのメモリ１１２への書き込みが完了した後には、当該分割ブロック３００ｈの右側に位置する分割ブロック３００ｉの画像データの書き込みが行われる。分割ブロック３００ｈの画像データの書き込みから分割ブロック３００ｉの画像データの書き込みに移行する際には、上記と同様に、オフセット値のアドレス値への加算が行われる。ここで加算されるオフセット値は、（−ＸＨ×（ＹＣ−１））である。こうして、分割ブロック３００ｈの画像データの書き込みから分割ブロック３００ｉの画像データの書き込みに移行する。この後、分割ブロック３００ｉ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。分割ブロック３００ｉ内に位置する複数のライン３２０のうちの最後尾のライン３２０を除く各々のライン３２０の最後尾の画素３０９に書き込み処理が達する毎に、オフセット値、即ち、（ＸＨ−ＸＣ）のアドレス値への加算が行われる。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック３００ｉ内に位置する複数のライン３２０の各々の画像データの書き込みが順次行われる。こうして、分割ブロック３００ｉの画像データがメモリ１１２に書き込まれる。
【００４１】
上記のような処理によって、９つの分割ブロック３００に分割された画像がメモリ１１２に順次書き込まれる。
【００４２】
なお、ここでは、書き込み処理を例に説明したが、読み出し処理も同様にして行い得る。複数の分割ブロック３００に分割された画像をメモリ１１２から読み出す際の読み出しアドレス生成部２１４の動作は、画像を複数の分割ブロック３００に分割してメモリ１１２に書き込む際の書き込みアドレス生成部２１２の上述した動作とほぼ同様である。従って、ここでは、読み出し処理についての詳述は省略することとする。
【００４３】
本実施形態による画像処理装置は、上述したように、分割ブロック３００に含まれるブロック（ライン）３２０を単位として追いかけ制御を行うものである。従って、あるライン３２０の画像データの読み出しが可能になった際には、ある書き込み用の分割ブロック３００の書き込みが完全に完了しない段階であっても、当該ライン３２０の画像データの読み出しが適宜行われる。ＷＲＤＭＡＣ２１１は、１フレームの画像に含まれる複数のライン（ブロック）３２０を、上記のように所定の順序でメモリ１２２に書き込む。また、ＲＤＤＭＡＣ２１３は、１フレームの画像に含まれる複数のライン（ブロック）３２０を、上記のように所定の順序でメモリ１１２から読み出す。
【００４４】
次に、ＤＭＡＣ２１０とメモリＩ／Ｆ２０５と追いかけ制御部２００との間で入出力される信号について図２を用いて説明する。図２に示すように、ＤＭＡＣ２１０に備えられたＷＲＤＭＡＣ２１１から出力される書き込みリクエスト信号ＷＲ＿ＲＥＱが、メモリＩ／Ｆ２０５に入力されるようになっている。書き込みリクエスト信号ＷＲ＿ＲＥＱは、メモリ１１２への画像データの書き込みをメモリＩ／Ｆ２０５に対して要求するためのものである。書き込みリクエスト信号ＷＲ＿ＲＥＱは、例えば、１つのライン３２０の画像データをＷＲＤＭＡＣ２１１が例えば補正処理部１０４から受信し、当該１つのライン３２０の画像データをメモリＩ／Ｆ２０５に送信可能になった際に発行される。メモリＩ／Ｆ２０５からパルス状に出力されるアクノリッジ信号ＷＲ＿ＡＣＫは、ＷＲＤＭＡＣ２１１に入力される。アクノリッジ信号ＷＲ＿ＡＣＫは、例えば、ＷＲＤＭＡＣ２１１からの書き込みリクエスト信号ＷＲ＿ＲＥＱをメモリＩ／Ｆ２０５が受信し、書き込みデータＷＲ＿ＤＡＴＡをメモリＩ／Ｆ２０５が受信可能になった際に出力される。ＷＲＤＭＡＣ２１１は、アクノリッジ信号ＷＲ＿ＡＣＫを受信した後、例えば１つのライン３２０の画像データである書き込みデータＷＲ＿ＤＡＴＡを、メモリＩ／Ｆ２０５を介してメモリ１１２に書き込む。書き込みアドレス生成部２１２は、アクノリッジ信号ＷＲ＿ＡＣＫを受信した後、次のライン３２０の画像データの書き込みに備えて、アドレス値のインクリメントを行い、必要に応じて各種オフセット値のアドレス値への加算を行う。
【００４５】
ＤＭＡＣ２１０に備えられたＲＤＤＭＡＣ２１３から出力される読み出しリクエスト信号ＲＤ＿ＲＥＱは、追いかけ制御部２００に備えられた読み出しリクエストマスク部２０４に入力されるようになっている。読み出しリクエスト信号ＲＤ＿ＲＥＱは、メモリ１１２からの画像データの読み出しをメモリＩ／Ｆ２０５に要求するためのものである。読み出しリクエスト信号ＲＤ＿ＲＥＱは、読み出しリクエストマスク部２０４を介して、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴとしてメモリＩ／Ｆ２０５に入力される。読み出しリクエスト信号ＲＤ＿ＲＥＱは、例えば１つのライン３２０の画像データをＲＤＤＭＡＣ２１３が受信可能になった際に発行される。メモリＩ／Ｆ２０５からパルス状に出力されるアクノリッジ信号ＲＤ＿ＡＣＫは、ＲＤＤＭＡＣ２１３に入力される。アクノリッジ信号ＲＤ＿ＡＣＫは、例えば、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴをメモリＩ／Ｆ２０５が受信し、読み出しデータＲＤ＿ＤＡＴＡをメモリＩ／Ｆ２０５が送信可能になった際に出力される。ＲＤＤＭＡＣ２１３は、アクノリッジ信号ＲＤ＿ＡＣＫを受信した後、例えば１つのライン３２０の画像データである読み出しデータＲＤ＿ＤＡＴＡを、メモリＩ／Ｆ２０５を介してメモリ１１２から読み出す。読み出しアドレス生成部２１４は、アクノリッジ信号ＲＤ＿ＡＣＫを受信した後、次のライン３２０の画像データの読み出しに備えて、アドレス値のインクリメントを行い、必要に応じて各種オフセット値のアドレス値への加算を行う。
【００４６】
上述したように、書き込みアドレス生成部２１２は、アクノリッジ信号ＷＲ＿ＡＣＫを受信した後、次のライン３２０の画像データの書き込みに備えて、アドレス値のインクリメントを行い、必要に応じて各種オフセット値のアドレス値への加算を行う。オフセット値のアドレス値への加算を行う際には、書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１〜ＷＲ＿ＯＦＦＳＥＴ３がＷＲＤＭＡＣ２１１において発行される。ＷＲＤＭＡＣ２１１において発行される書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１〜ＷＲ＿ＯＦＦＳＥＴ３は、追いかけ制御部２００に備えられた書き込み座標計算部２０１に入力される。書き込み座標計算部２０１は、書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１〜ＷＲ＿ＯＦＦＳＥＴ３に基づいて、書き込み処理がどこまで到達したかを示す第１〜第３の書き込み座標（ＨＷ１，ＶＷ１）〜（ＨＷ３，ＶＷ３）をそれぞれ算出する。第１の書き込み座標（ＨＷ１，ＶＷ１）は、分割ブロック３００に含まれる複数のライン３２０のうちの最後尾のライン３２０を除くライン３２０の最後尾の画素３０１〜３０９に書き込み処理が到達した際に更新される。第１の書き込み座標（ＨＷ１，ＶＷ１）は、書き込み処理が完了したライン３２０のうちの最後尾のライン３２０を除くライン３２０の最後尾の画素３０１〜３０９の座標を示す。第２の書き込み座標（ＨＷ２，ＶＷ２）は、ブロックライン３２１に含まれる複数の分割ブロック３００のうちの最後尾を除く分割ブロック３００の最後尾の画素３１１，３１２，３１４，３１５，３１７，３１８に書き込み処理が達した際に更新される。第２の書き込み座標（ＨＷ２，ＶＷ２）は、書き込み処理が完了した分割ブロック３００のうちの最後尾の分割ブロック３００の最後尾の画素３１１，３１２，３１４，３１５，３１７，３１８の座標を示す。第３の書き込み座標（ＨＷ３、ＶＷ３）は、複数のブロックライン３２１のうちの最後尾のブロックライン３２１を除くブロックライン３２１の最後尾の画素３１３，３１６に書き込み処理が達した際に更新される。第３の書き込み座標（ＨＷ３、ＶＷ３）は、書き込み処理が完了したブロックライン３２１の最後尾の画素３１３，３１６の座標を示す。なお、ＷＲＤＭＡＣ２１１から発せられる各種の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１〜ＷＲ＿ＯＦＦＳＥＴ３は、書き込みリクエスト信号ＷＲ＿ＲＥＱに同期してＨｉｇｈレベルに出力される。
【００４７】
このように、書き込み座標計算部２０１は、画像に含まれる複数のブロック（ライン）３２０のうちの書き込みが完了したライン３２０の位置を示す書き込み座標を読み出しオフセット信号に基づいて算出する書き込み座標算出手段として機能し得る。また、読み出し座標計算部２０２は、画像に含まれる複数のブロック（ライン）３２０のうちの読み出しの対象となるブロックの位置を示す読み出し座標を、読み出しオフセット信号に基づいて算出する読み出し座標算出手段として機能し得る。また、書き込み座標計算部２０１は、１フレームの画像に含まれる複数のブロック（ライン）３２０の書き込みが完了する毎に、書き込み座標を更新する。
【００４８】
上述したように、読み出しアドレス生成部２１４は、アクノリッジ信号ＲＤ＿ＡＣＫを受信した後、次のライン３２０の画像データの読み出しに備えて、アドレス値のインクリメントを行い、必要に応じてオフセット値のアドレス値への加算を行う。オフセット値のアドレス値への加算を行う際には、読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１〜ＲＤ＿ＯＦＦＳＥＴ３がＲＤＤＭＡＣ２１３において発行される。ＲＤＤＭＡＣ２１３において発行される読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１〜ＲＤ＿ＯＦＦＳＥＴ３は、追いかけ制御部２００に備えられた読み出し座標計算部２０２にも入力される。読み出し座標計算部２０２は、次に読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴがＨｉｇｈレベルになった際に読み出し処理の対象となるライン３２０の最後尾の画素の座標を示す読み出し座標（ＨＲ，ＶＲ）を算出する。読み出し座標計算部２０２は、読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１〜ＲＤ＿ＯＦＦＳＥＴ３に基づいて、読み出し座標（ＨＲ，ＶＲ）を算出する。読み出し座標計算部２０２は、分割ブロック３００に含まれる複数のライン３２０のうちの最後尾のライン３２０を除くライン３２０の読み出し処理の際に発せられる読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１を受信する毎に、ＶＲの値を１ずつ増やす。一方、かかる読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１を受信した際には、読み出し座標計算部２０２は、ＨＲの値を変化させない。また、読み出し座標計算部２０２は、ブロックライン３２１の最後尾の分割ブロック３００を除く分割ブロック３００の最後尾の画素に読み出し処理が達する毎に発せられる読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ２を受信する毎に、以下のように動作する。即ち、読み出し座標計算部２０２は、当該分割ブロック３００に含まれるライン３２０の数から１を減算した値の分だけＶＲの値を減少させる。一方、かかる読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ２を受信した際には、読み出し座標計算部２０２は、当該分割ブロック３００の次の分割ブロック３００の水平方向のサイズ（画素数）の分だけＨＲの値を増加させる。また、読み出し座標計算部２０２は、ブロックライン３２１の最後尾の画素に読み出し処理が達する毎に発せられる読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ３を受信した際には、ＶＲの値を１だけ増加させる。一方、かかる読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ３を受信した際には、読み出し座標計算部２０２は、当該ブロックライン３２１の次のブロックライン３２１の先頭の分割ブロック３００の水平方向のサイズ（画素数）に応じた値をＨＲの値とする。読み出し座標計算部２０２は、ＲＤＤＭＡＣ２１３から読み出しリクエストマスク部２０４に読み出しリクエスト信号ＲＤ＿ＲＥＱが発せられた際に、読み出し座標（ＨＲ、ＶＲ）を更新する。
【００４９】
追いかけ制御部２００には座標比較部２０３が備えられている。書き込み座標計算部２０１によって算出される第１〜第３の書き込み座標（ＨＷ１、ＶＷ１）〜（ＨＷ３、ＶＷ３）が、座標比較部２０３に入力されるようになっている。また、読み出し座標計算部２０２によって算出される読み出し座標（ＨＲ、ＶＲ）が、座標比較部２０３に入力されるようになっている。座標比較部２０３は、書き込み処理が完了したライン３２０の位置を把握するための書き込み座標（ＨＷ１、ＶＷ１）〜（ＨＷ３、ＶＷ３）と、次に読み出し処理の対象となるライン３２０の位置を把握するための読み出し座標（ＨＲ、ＶＲ）とを比較する。書き込み座標（ＨＷ１、ＶＷ１）〜（ＨＷ３、ＶＷ３）と読み出し座標（ＨＲ、ＶＲ）とを比較した結果、以下の条件式（１）〜（３）のうちのいずれかを満たす場合には、読み出し処理が行われることが好ましい。そこで、以下の条件式（１）〜（３）のうちのいずれかを満たす場合には、座標比較部２０３は、読み出しリクエストマスク部２０４に対して出力するリクエストマスク信号ＲＥＱ＿ＭＡＳＫをＬｏｗレベルにする。後述するように、リクエストマスク信号ＲＥＱ＿ＭＡＳＫをＬｏｗレベルにした場合には、ＲＤＤＭＡＣ２１３から発せられる読み出しリクエスト信号ＲＤ＿ＲＥＱが読み出しリクエストマスク部２０４においてマスクされず、読み出し処理が行われる。一方、以下の条件式（１）〜（３）のうちのいずれをも満たさない場合には、読み出し処理を行わない。そこで、座標比較部２０３は、以下の条件式（１）〜（３）のうちのいずれをも満たさない場合には、読み出しリクエストマスク部２０４に対して出力するリクエストマスク信号ＲＥＱ＿ＭＡＳＫをＨｉｇｈレベルにする。
ＨＷ１≧ＨＲ  かつ  ＶＷ１＞ＶＲ  ・・・（１）
ＨＷ２≧ＨＲ  かつ  ＶＷ２＞ＶＲ  ・・・（２）
ＨＷ３≧ＨＲ  かつ  ＶＷ３＞ＶＲ  ・・・（３）
なお、上記の条件（１）〜（３）のいずれかを満たすか否かの判定は、クロック信号ＣＬＫの立ち上がりのタイミングにおいて実施される。こうして、リクエストマスク信号ＲＥＱ＿ＭＡＳＫの制御が、座標比較部２０３によって行われる。
【００５０】
リクエストマスク信号ＲＥＱ＿ＭＡＳＫがＬｏｗレベルである場合には、読み出しリクエストマスク部２０４は、メモリＩ／Ｆ２０５に対して出力する読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴをＨｉｇｈレベルとする。一方、リクエストマスク信号ＲＥＱ＿ＭＡＳＫがＨｉｇｈレベルである場合には、読み出しリクエストマスク部２０４は、メモリＩ／Ｆ２０５に対して出力する読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴをＬｏｗレベルとする。このように、座標比較部２０３と読み出しリクエストマスク部２０４とが相俟って、ＲＤＤＭＡＣ２１３から発せられる読み出し要求を許可するか否かを、書き込み座標と読み出し座標との位置関係に基づいて制御する制御手段として機能し得る。
【００５１】
ＷＲＤＭＡＣ２１１は、１フレーム分の画像データの最後尾の画素についての書き込み処理が完了した際には、書き込み完了信号ＷＲ＿ＥＮＤを座標比較部２０３に出力する。座標比較部２０３は、書き込み完了信号ＷＲ＿ＥＮＤを受信した際には、読み出しリクエスト信号ＲＤ＿ＲＥＱのマスクを解除すべく、リクエストマスク信号ＲＥＱ＿ＭＡＳＫをＬｏｗレベルとする。１フレーム分の画像データの書き込みが完了した後には、ＲＤＤＭＡＣ２１３から出力される読み出しリクエスト信号ＲＤ＿ＲＥＱは、読み出しリクエストマスク部２０４によってマスクされることはない。かかる読み出しリクエスト信号ＲＤ＿ＲＥＱは、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴ信号としてメモリＩ／Ｆに出力される。
【００５２】
追いかけ制御部２００によって行われる動作の詳細について図４及び図５を用いて説明する。図４は、書き込み処理と読み出し処理とにおけるブロック分割の態様の例を示す図である。図４は、書き込み処理用のブロック分割の態様と読み出し処理用のブロック分割の態様とが互いに異なっている例を示している。より具体的には、書き込み用のブロック（ライン）３２０のサイズと読み出し用のブロック（ライン）３２０のサイズとが互いに異なっている。図４は、図１において、画像の書き込みを行う処理部（機能ブロック）におけるブロック分割の態様と、画像の読み出しを行う処理部（機能ブロック）におけるブロック分割の態様とが異なる場合に相当する。書き込み処理用のブロック分割は実線で示されており、読み出し処理用のブロック分割は破線で示されている。書き込み処理用のブロック分割においては、水平方向においても垂直方向においても分割数は例えば３に設定されている。即ち、９個の書き込み処理用の分割ブロックＷＲ０＿０〜ＷＲ２＿２が設定されている。一方、読み出し処理用のブロック分割においては、水平方向においても垂直方向においても分割数は例えば４に設定されている。即ち、１６個の読み出し用の分割ブロックＲＤ０＿０〜ＲＤ３＿３が設定されている。
【００５３】
書き込み用の分割ブロック（書き込み用分割ブロック）ＷＲ０＿＊、ＷＲ１＿＊、ＷＲ２＿＊（＊は０〜２の整数）の水平方向の画素数は、それぞれＷＸＡ、ＷＸＢ、ＷＸＣとする。また、書き込み用の分割ブロックＷＲ＊＿０、ＷＲ＊＿１、ＷＲ＊＿２（＊は０〜２の整数）のライン数、即ち、垂直方向の画素数は、それぞれＷＹＡ=４，ＷＹＢ＝４，ＷＹＣ＝６とする。なお、ここでは、説明を簡略化するため、ＷＹＡ＝４、ＷＹＢ＝４、ＷＹＣ＝６とするが、実際には垂直方向のライン数はこれらの値よりも遙かに大きい。読み出し用の分割ブロック（読み出し分割ブロック）ＲＤ０＿＊、ＲＤ１＿＊、ＲＤ２＿＊、ＲＤ３＿＊（＊は０〜３の整数）の水平方向の画素数は、それぞれＲＸＡ、ＲＸＢ、ＲＸＣ、ＲＸＤとする。読み出し用の分割ブロックＲＤ＊＿０、ＲＤ＊＿１、ＲＤ＊＿２、ＲＤ＊＿３（＊は０〜３）のライン数、即ち、垂直方向の画素数は、それぞれＲＹＡ=３、ＲＹＢ＝３，ＲＹＣ＝３、ＲＹＤ＝５とする。なお、ここでは、説明を簡略化するため、ＲＹＡ＝３、ＲＹＢ＝３、ＲＹＣ＝３、ＲＹＤ＝５とするが、実際には垂直方向のライン数はこれらの値よりも遙かに大きい。ただし、各々の分割ブロックの水平方向における画素数は、以下の条件（４）〜（６）を満たすものとする。
ＲＸＡ＜ＷＸＡ  ・・・（４）
（ＲＸＡ＋ＲＸＢ）＜（ＷＸＡ＋ＷＸＢ）  ・・・（５）
（ＲＸＡ＋ＲＸＢ＋ＲＸＣ）＜（ＷＸＡ＋ＷＸＢ＋ＷＸＣ）  ・・・（６）
【００５４】
図５は、メモリ制御部１２０の動作を示すタイミングチャートである。図５には、書き込み用の分割ブロックＷＲ０_０〜ＷＲ２＿０についての書き込み処理が行われる期間（書き込み期間）と、読み出し用の分割ブロックＲＤ０＿０〜ＲＤ３＿０についての読み出し処理が行われる期間（読み出し期間）とが示されている。
【００５５】
まず、１フレームの画像についての書き込み処理や読み出し処理を開始する前に、書き込み座標計算部２０１や読み出し座標計算部２０２において初期化が行われる。即ち、書き込み座標計算部２０１において、第１の書き込み座標（ＨＷ１，ＶＷ１）、第２の書き込み座標（ＨＷ２，ＶＷ２）及び第３の書き込み座標（ＨＷ３，ＶＷ３）が（０，０）に初期化される。また、読み出し座標計算部２０２において、読み出し座標（ＨＲ、ＶＲ）が（０，０）に初期化される。そして、先頭に位置する書き込み用の分割ブロックＷＲ０＿０についての書き込み期間と先頭に位置する読み出し用の分割ブロックＲＤ０＿０についての読み出し期間とが開始される。
【００５６】
まず、初期の段階においては、書き込み用の分割ブロックＷＲ０＿０〜ＷＲ２＿２のいずれのライン３２０の画像データもメモリ１１２に書き込まれていない。従って、この段階では、以下に示すように、読み出し用の分割ブロックＷＲ０＿０の第１番目のライン３２０の画像データの読み出しは行われない。即ち、まず、ＲＤＤＭＡＣ２１３から出力される読み出しリクエスト信号ＲＤ＿ＲＥＱがＨｉｇｈレベルに設定される。また、ＲＤＤＭＡＣ２１３から出力される第１の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１が、読み出しリクエスト信号ＲＤ＿ＲＥＱに同期してＨｉｇｈレベルとなる。読み出しリクエスト信号ＲＤ＿ＲＥＱの立ち上がりに同期してパルス状に出力される読み出し座標更新信号の立ち下がりの時刻ｔｒ０において、読み出し座標（ＨＲ，ＶＲ）が読み出し座標計算部２０２によって更新される。読み出し用の分割ブロックＲＤ０＿０の第１番目のライン３２０の最後尾の座標は、（ＲＸＡ，１）であるため、読み出し座標（ＨＲ，ＶＲ）は（ＲＸＡ，１）に更新される。この段階では、書き込み座標（ＨＷ１，ＶＷ１）〜（ＨＷ３，ＶＷ３）はいずれも（０，０）である。上記の条件式（１）〜（３）のいずれをも満たさないため、座標比較部２０３から出力されるリクエストマスク信号ＲＥＱ＿ＭＡＳＫはＨｉｇｈレベルである。リクエストマスク信号ＲＥＱ＿ＭＡＳＫがＨｉｇｈレベルであるため、読み出しリクエストマスク部２０４からメモリＩ／Ｆ２０５に出力される読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴはＬｏｗレベルである。従って、書き込み用の分割ブロックＷＲ０＿０の第１番目のライン３２０の画像データのメモリ１１２からの読み出しは行われない。
【００５７】
次に、書き込み用の分割ブロックＷＲ０＿０の第１番目のライン３２０の画像データのメモリ１１２への書き込みが以下のようにして行われる。即ち、ＷＲＤＭＡＣ２１１から出力される書き込みリクエスト信号ＷＲ＿ＲＥＱがＨｉｇｈレベルに設定される。ＷＲＤＭＡＣ２１１から出力される第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１が、書き込みリクエスト信号ＷＲ＿ＲＥＱに同期してＨｉｇｈレベルとなる。メモリＩ／Ｆ２０５からＷＲＤＭＡＣ２１１にアクノリッジ信号ＷＲ＿ＡＣＫが返信され、書き込み用の分割ブロックＷＲ０＿０の第１番目のライン３２０の画像データのメモリ１１２への書き込みが行われる。アクノリッジ信号ＷＲ＿ＡＣＫの立ち下がりに同期して書き込みリクエスト信号ＷＲ＿ＲＥＱがＬｏｗレベルとなる。また、書き込みリクエスト信号ＷＲ＿ＲＥＱの立ち下がりに同期して第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＬｏｗレベルとなる。アクノリッジ信号ＷＲ＿ＡＣＫに同期する第１の書き込み座標更新信号の立ち下がりの時刻ｔｗ０において、第１の書き込み座標（ＨＷ１，ＶＷ１）が書き込み座標計算部２０１によって更新される。書き込み用の分割ブロックＷＲ０＿０の第１番目のライン３２０の最後尾の座標は（ＷＸＡ，１）であるため、第１の書き込み座標（ＨＷ１，ＶＷ１）は（ＷＸＡ，１）に更新される。この段階では、上記の条件式（１）〜（３）のいずれをも満たさないため、座標比較部２０３から発せられるリクエストマスク信号ＲＥＱ＿ＭＡＳＫはＨｉｇｈレベルである。リクエストマスク信号ＲＥＱ＿ＭＡＳＫがＨｉｇｈレベルであるため、読み出しリクエストマスク部２０４からメモリＩ／Ｆ２０５に出力される読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴはＬｏｗレベルである。従って、この段階では、書き込み用の分割ブロックＷＲ０＿０の第１番目のライン３２０に書き込まれた画像データはメモリ１１２から読み出されない。読み出し用の分割ブロックＲＤ０＿０の第１番目のライン３２０の画像データの画素数ＲＸＡは、書き込み用の分割ブロックＷＲ０＿０の第１番目のライン３２０の画素数ＷＸＡより小さい。このため、読み出し用の分割ブロックＲＤ０＿０の第１番目のライン３２０には、読み出し可能な画像データの格納が完了している。従って、読み出し用の分割ブロックＲＤ０＿０の第１番目のライン３２０の画像データを、この段階でメモリ１１２から読み出すことも可能である。しかし、本実施形態では、上記の条件式（１）〜（３）のいずれかを満たした場合に読み出しを行うこととしているため、この段階では、読み出し用の分割ブロックＲＤ０＿０の第１番目のライン３２０の画像データのメモリ１１２から読み出しは行われない。
【００５８】
次に、書き込み用の分割ブロックＷＲ０＿０の第２番目のライン３２０の画像データのメモリ１１２への書き込みが以下のようにして行われる。即ち、書き込みリクエスト信号ＷＲ＿ＲＥＱがＨｉｇｈレベルに設定される。書き込みリクエスト信号ＷＲ＿ＲＥＱに同期して、第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＨｉｇｈレベルとなる。メモリＩ／Ｆ２０５からＷＲＤＭＡＣ２１１にアクノリッジ信号ＷＲ＿ＡＣＫが返信され、書き込み用の分割ブロックＷＲ０＿０の第２番目のライン３２０の画像データのメモリ１１２への書き込みが行われる。アクノリッジ信号ＷＲ＿ＡＣＫの立ち下がりに同期して書き込みリクエスト信号ＷＲ＿ＲＥＱがＬｏｗレベルとなる。書き込みリクエスト信号ＷＲ＿ＲＥＱの立ち下がりに同期して第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＬｏｗレベルとなる。アクノリッジ信号ＷＲ＿ＡＣＫに同期する第１の書き込み座標更新信号の立ち下がりの時刻ｔｗ１において、第１の書き込み座標（ＨＷ１，ＶＷ１）が書き込み座標計算部２０１によって更新される。書き込み用の分割ブロックＷＲ０＿０の第２番目のライン３２０の最後尾の座標は（ＷＸＡ，２）であるため、第１の書き込み座標（ＨＷ１，ＶＷ１）は（ＷＸＡ，２）に更新される。この段階では、上記の条件式（１）を満たすため、座標比較部２０３から発せられるリクエストマスク信号ＲＥＱ＿ＭＡＳＫはＬｏｗレベルとなる。リクエストマスク信号ＲＥＱ＿ＭＡＳＫがＬｏｗレベルとなるため、読み出しリクエストマスク部２０４からメモリＩ／Ｆ２０５に出力される読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴはＨｉｇｈレベルとなる。この後、メモリＩ／Ｆ２０５からＲＤＤＭＡＣ２１３にアクノリッジ信号ＲＤ＿ＡＣＫがパルス状に返信され、読み出し用の分割ブロックＲＤ０＿０の第１番目のライン３２０の画像データのメモリ１１２からの読み出しが行われる。アクノリッジ信号ＲＤ＿ＡＣＫの立ち下がりに同期して、読み出しリクエスト信号ＲＤ＿ＲＥＱ、ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴがＬｏｗレベルとなる。また、読み出しリクエスト信号ＲＤ＿ＲＥＱの立ち下がりに同期して第１の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１がＬｏｗレベルとなる。
【００５９】
次に、読み出しリクエスト信号ＲＤ＿ＲＥＱがＨｉｇｈレベルに設定される。読み出しリクエスト信号ＲＤ＿ＲＥＱに同期して、第１の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１がＨｉｇｈレベルとなる。読み出しリクエスト信号ＲＤ＿ＲＥＱの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻ｔｒ１において、読み出し座標（ＨＲ，ＶＲ）が読み出し座標計算部２０２によって更新される。読み出し用の分割ブロックＲＤ０＿０の第１番目のライン３２０の画像データのメモリ１１２からの読み出しは完了しているため、次の読み出し処理において読み出し対象となるのは、読み出し用の分割ブロックＲＤ０＿０の第２番目のライン３２０である。読み出し用の分割ブロックＲＤ０＿０の第２番目のライン３２０の最後尾の座標は（ＲＸＡ，２）である。このため、読み出し座標（ＨＲ，ＶＲ）は（ＲＸＡ，２）に更新される。この段階では、第１の書き込み座標（ＨＷ１，ＶＷ１）は（ＷＸＡ，２）であり、第２の書き込み座標（ＨＷ２，ＶＷ２）と第３の書き込み座標（ＨＷ３，ＶＷ３）はいずれも（０，０）である。上記の条件式（１）〜（３）のいずれをも満たさないため、座標比較部２０３から発せられるリクエストマスク信号ＲＥＱ＿ＭＡＳＫはＨｉｇｈレベルである。リクエストマスク信号ＲＥＱ＿ＭＡＳＫがＨｉｇｈレベルであるため、読み出しリクエストマスク部２０４からメモリＩ／Ｆ２０５に出力される読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴはＬｏｗレベルである。従って、この段階では、書き込み用の分割ブロックＷＲ０＿０の第２番目のライン３２０の画像データはメモリ１１２から読み出されない。
【００６０】
次に、書き込み用の分割ブロックＷＲ０＿０の第３番目のライン３２０の画像データのメモリ１１２への書き込みが以下のようにして行われる。即ち、書き込みリクエスト信号ＷＲ＿ＲＥＱがＨｉｇｈレベルに設定される。書き込みリクエスト信号ＷＲ＿ＲＥＱに同期して、第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＨｉｇｈレベルとなる。この後、アクノリッジ信号ＷＲ＿ＡＣＫが返信され、書き込み用の分割ブロックＷＲ０＿０の第３番目のライン３２０の画像データのメモリ１１２への書き込みが行われる。アクノリッジ信号ＷＲ＿ＡＣＫの立ち下がりに同期して書き込みリクエスト信号ＷＲ＿ＲＥＱがＬｏｗレベルとなる。書き込みリクエスト信号ＷＲ＿ＲＥＱの立ち下がりに同期して第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＬｏｗレベルとなる。アクノリッジ信号ＷＲ＿ＡＣＫに同期する第１の書き込み座標更新信号の立ち下がりの時刻ｔｗ２において、第１の書き込み座標（ＨＷ１，ＶＷ１）が更新される。書き込み用の分割ブロックＷＲ０＿０の第３番目のライン３２０の最後尾の座標は（ＷＸＡ，３）であるため、第１の書き込み座標（ＨＷ１，ＶＷ１）は（ＷＸＡ，３）に更新される。この段階では、上記の条件式（１）を満たすため、座標比較部２０３から発せられるリクエストマスク信号ＲＥＱ＿ＭＡＳＫがＬｏｗレベルとなり、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴがＨｉｇｈレベルとなる。この後、アクノリッジ信号ＲＤ＿ＡＣＫがＲＤＤＭＡＣ２１３に返信され、読み出し用の分割ブロックＲＤ０＿０の第２番目のライン３２０の画像データのメモリ１１２からの読み出しが行われる。アクノリッジ信号ＲＤ＿ＡＣＫの立ち下がりに同期して、読み出しリクエスト信号ＲＤ＿ＲＥＱ、ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴがＬｏｗレベルとなる。また、読み出しリクエスト信号ＲＤ＿ＲＥＱの立ち下がりに同期して第１の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１がＬｏｗレベルとなる。
【００６１】
次に、読み出しリクエスト信号ＲＤ＿ＲＥＱがＨｉｇｈレベルに設定される。読み出しリクエスト信号ＲＤ＿ＲＥＱに同期して第２の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ２がＨｉｇｈレベルとなる。読み出しリクエスト信号ＲＤ＿ＲＥＱの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻ｔｒ２において、読み出し座標（ＨＲ，ＶＲ）が更新される。読み出し用の分割ブロックＲＤ０＿０の第２番目のライン３２０の画像データの読み出しは完了しているため、次の読み出し処理において読み出し対象とされるライン３２０は、読み出し用の分割ブロックＲＤ０＿０の第３番目のライン３２０である。読み出し用の分割ブロックＲＤ０＿０の第３番目のライン３２０の最後尾の座標は（ＲＸＡ，３）である。このため、読み出し座標（ＨＲ，ＶＲ）は（ＲＸＡ，３）に更新される。この段階では、第１の書き込み座標（ＨＷ１，ＶＷ１）は（ＷＸＡ，３）であり、第２の書き込み座標（ＨＷ２，ＶＷ２）と第３の書き込み座標（ＨＷ３，ＶＷ３）はいずれも（０，０）である。上記の条件式（１）〜（３）のいずれをも満たさないため、リクエストマスク信号ＲＥＱ＿ＭＡＳＫはＨｉｇｈレベルであり、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴはＬｏｗレベルである。従って、この段階では、書き込み用の分割ブロックＷＲ０＿０の第３番目のライン３２０の画像データはメモリ１１２から読み出されない。
【００６２】
次に、書き込み用の分割ブロックＷＲ０＿０の第４番目のライン３２０の画像データのメモリ１１２への書き込みが以下のようにして行われる。即ち、書き込みリクエスト信号ＷＲ＿ＲＥＱがＨｉｇｈレベルに設定される。書き込みリクエスト信号ＷＲ＿ＲＥＱに同期して、第２の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ２がＨｉｇｈレベルとなる。この後、アクノリッジ信号ＷＲ＿ＡＣＫが返信され、分割ブロックＷＲ０＿０の第４番目のライン３２０の画像データのメモリ１１２への書き込みが行われる。アクノリッジ信号ＷＲ＿ＡＣＫの立ち下がりに同期して書き込みリクエスト信号ＷＲ＿ＲＥＱがＬｏｗレベルとなる。書き込みリクエスト信号ＷＲ＿ＲＥＱの立ち下がりに同期して第２の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ２がＬｏｗレベルとなる。アクノリッジ信号ＷＲ＿ＡＣＫに同期する第２の書き込み座標更新信号の立ち下がりの時刻ｔｗ３において、第２の書き込み座標（ＨＷ２，ＶＷ２）が更新される。書き込み用の分割ブロックＷＲ０＿０の第４番目のライン３２０の最後尾の座標は（ＷＸＡ，４）であるため、第１の書き込み座標（ＨＷ１，ＶＷ１）は（ＷＸＡ，４）に更新される。この段階では、上記の条件式（２）を満たすため、座標比較部２０３から発せられるリクエストマスク信号ＲＥＱ＿ＭＡＳＫがＬｏｗレベルとなり、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴがＨｉｇｈレベルとなる。この後、アクノリッジ信号ＲＤ＿ＡＣＫがＲＤＤＭＡＣ２１３に返信され、読み出し用の分割ブロックＲＤ０＿０の第３番目のライン３２０の画像データのメモリ１１２からの読み出しが行われる。アクノリッジ信号ＲＤ＿ＡＣＫの立ち下がりに同期して、読み出しリクエスト信号ＲＤ＿ＲＥＱ、ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴがＬｏｗレベルとなる。読み出しリクエスト信号ＲＤ＿ＲＥＱの立ち下がりに同期して第２の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ２がＬｏｗレベルとなる。こうして、先頭の読み出し用の分割ブロックＲＤ０＿０に位置する全てのライン３２０の画像データのメモリ１１２からの読み出しが完了する。
【００６３】
次に、読み出しリクエスト信号ＲＤ＿ＲＥＱがＨｉｇｈレベルに設定される。読み出しリクエスト信号ＲＤ＿ＲＥＱに同期して、第１の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１がＨｉｇｈレベルとなる。読み出しリクエスト信号ＲＤ＿ＲＥＱの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻ｔｒ３において、読み出し座標（ＨＲ，ＶＲ）が更新される。読み出し用の分割ブロックＲＤ０＿０に位置する全てのライン３２０の画像データのメモリ１１２からの読み出しが完了しているため、次の読み出し処理において読み出し対象となるのは、読み出し用の分割ブロックＲＤ１＿０の第１番目のライン３２０である。読み出し用の分割ブロックＲＤ１＿０の第１番目のライン３２０の最後尾の座標は（ＲＸＡ＋ＲＸＢ，１）である。このため、読み出し座標（ＨＲ，ＶＲ）は（ＲＸＡ＋ＲＸＢ，１）に更新される。この段階では、第１の書き込み座標（ＨＷ１，ＶＷ１）が（ＷＸＡ，３）であり、（ＨＷ２，ＶＷ２）が（ＷＸＡ，４）であり、（ＨＷ３，ＶＷ３）が（０，０）である。上記の条件式（１）〜（３）のいずれをも満たさないため、リクエストマスク信号ＲＥＱ＿ＭＡＳＫはＨｉｇｈレベルであり、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴはＬｏｗレベルである。従って、この段階では、書き込み用の分割ブロックＷＲ１＿０の第１番目のライン３２０の画像データのメモリ１１２からの読み出しは行われない。
【００６４】
次に、書き込み用の分割ブロックＷＲ１＿０の第１番目のライン３２０の画像データのメモリ１１２への書き込みが以下のようにして行われる。即ち、書き込みリクエスト信号ＷＲ＿ＲＥＱがＨｉｇｈレベルに設定される。書き込みリクエスト信号ＷＲ＿ＲＥＱに同期して第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＨｉｇｈレベルとなる。メモリＩ／Ｆ２０５からＷＲＤＭＡＣ２１１にアクノリッジ信号ＷＲ＿ＡＣＫが返信され、書き込み用の分割ブロックＷＲ１＿０の第１番目のライン３２０の画像データのメモリ１１２への書き込みが行われる。アクノリッジ信号ＷＲ＿ＡＣＫの立ち下がりに同期して書き込みリクエスト信号ＷＲ＿ＲＥＱがＬｏｗレベルとなる。書き込みリクエスト信号ＷＲ＿ＲＥＱの立ち下がりに同期して第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＬｏｗレベルとなる。アクノリッジ信号ＷＲ＿ＡＣＫに同期する第１の書き込み座標更新信号の立ち下がりの時刻ｔｗ４において、第１の書き込み座標（ＨＷ１，ＶＷ１）が更新される。書き込み用の分割ブロックＷＲ１＿０の第１番目のライン３２０の最後尾の座標は（ＷＸＡ＋ＷＸＢ，１）であるため、第１の書き込み座標（ＨＷ１，ＶＷ１）は（ＷＸＡ＋ＷＸＢ，１）に更新される。この段階では、読み出し座標（ＨＲ，ＶＲ）は（ＲＸＡ＋ＲＸＢ，１）であり、上記の条件式（１）〜（３）のいずれをも満たさない。このため、座標比較部２０３から発せられるリクエストマスク信号ＲＥＱ＿ＭＡＳＫはＨｉｇｈレベルであり、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴはＬｏｗレベルである。従って、この段階では、書き込み用の分割ブロックＷＲ１＿０の第１番目のライン３２０に書き込まれた画像データはメモリ１１２から読み出されない。
【００６５】
次に、書き込み用の分割ブロックＷＲ１＿０の第２番目のライン３２０の画像データのメモリ１１２への書き込みが以下のようにして行われる。即ち、書き込みリクエスト信号ＷＲ＿ＲＥＱがＨｉｇｈレベルに設定される。書き込みリクエスト信号ＷＲ＿ＲＥＱに同期して第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＨｉｇｈレベルとなる。メモリＩ／Ｆ２０５からＷＲＤＭＡＣ２１１にアクノリッジ信号ＷＲ＿ＡＣＫが返信され、書き込み用の分割ブロックＷＲ１＿０の第２番目のライン３２０の画像データのメモリ１１２への書き込みが行われる。アクノリッジ信号ＷＲ＿ＡＣＫの立ち下がりに同期して書き込みリクエスト信号ＷＲ＿ＲＥＱがＬｏｗレベルとなる。書き込みリクエスト信号ＷＲ＿ＲＥＱの立ち下がりに同期して第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＬｏｗレベルとなる。アクノリッジ信号ＷＲ＿ＡＣＫに同期する第１の書き込み座標更新信号の立ち下がりの時刻ｔｗ５において、第１の書き込み座標（ＨＷ１，ＶＷ１）が書き込み座標計算部２０１によって更新される。書き込み用の分割ブロックＷＲ１＿０の第２番目のライン３２０の最後尾の座標は（ＷＸＡ＋ＷＸＢ，２）であるため、第１の書き込み座標（ＨＷ１，ＶＷ１）は（ＷＸＡ＋ＷＸＢ，２）に更新される。この段階では、読み出し座標（ＨＲ，ＶＲ）は（ＲＸＡ＋ＲＸＢ，１）であり、上記の条件式（１）を満たすため、リクエストマスク信号ＲＥＱ＿ＭＡＳＫはＬｏｗレベル、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴはＨｉｇｈレベルとなる。この後、メモリＩ／Ｆ２０５からＲＤＤＭＡＣ２１３にアクノリッジ信号ＲＤ＿ＡＣＫがパルス状に返信され、読み出し用の分割ブロックＲＤ１＿０の第１番目のライン３２０の画像データのメモリ１１２からの読み出しが行われる。アクノリッジ信号ＲＤ＿ＡＣＫの立ち下がりに同期して、読み出しリクエスト信号ＲＤ＿ＲＥＱ、ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴがＬｏｗレベルとなる。読み出しリクエスト信号ＲＤ＿ＲＥＱの立ち下がりに同期して第１の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１がＬｏｗレベルとなる。
【００６６】
書き込み用の分割ブロックＷＲ１＿０についてのこの後の書き込み処理は、書き込み用の分割ブロックＷＲ０＿０についての上述した書き込み処理と同様であるため、説明を省略する。なお、時刻ｔｗ６においては、第１の書き込み座標（ＨＷ１、ＶＷ１）が（ＷＸＡ＋ＷＸＢ，３）に更新され、時刻ｔｗ７においては第２の書き込み座標（ＨＷ２、ＶＷ２）が（ＷＸＡ＋ＷＸＢ，４）に更新される。
【００６７】
また、読み出し用の分割ブロックＲＤ１＿０、ＲＤ２＿０についてのこの後の読み出し処理は、読み出し用の分割ブロックＲＤ０＿０についての上述した読み出し処理と同様であるため、説明を省略する。なお、時刻ｔｒ４、ｔｒ５においては、読み出し座標（ＨＲ、ＶＲ）が、（ＲＸＡ＋ＲＸＢ，２）、（ＲＸＡ＋ＲＸＢ，３）にそれぞれ更新される。また、時刻ｔｒ６、ｔｒ７、ｔｒ８においては、読み出し座標（ＨＲ、ＶＲ）が、（ＲＸＡ＋ＲＸＢ＋ＲＸＣ，１）、（ＲＸＡ＋ＲＸＢ＋ＲＸＣ，２）、（ＲＸＡ＋ＲＸＢ＋ＲＸＣ，３）にそれぞれ更新される。
【００６８】
書き込み用の分割ブロックＷＲ２＿０についての書き込み処理も、書き込み用の分割ブロックＷＲ０＿０についての上述した書き込み処理と同様であるため、説明を省略する。なお、時刻ｔｗ８、ｔｗ９、ｔｗ１０においては、第１の書き込み座標（ＨＷ１、ＶＷ１）が、（ＷＸＡ＋ＷＸＢ＋ＷＸＣ，１）、（ＷＸＡ＋ＷＸＢ＋ＷＸＣ，２）、（ＷＸＡ＋ＷＸＢ＋ＷＸＣ，３）にそれぞれ更新される。書き込み用の分割ブロックＷＲ２＿０の第４番目のライン３２０の画像データをメモリ１１２に書き込む際には、書き込みリクエスト信号ＷＲ＿ＲＥＱに同期して第３の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ３がＨｉｇｈレベルとなる。また、書き込みリクエスト信号ＷＲ＿ＲＥＱの立ち下がりに同期して第３の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ３がＬｏｗレベルとなる。アクノリッジ信号ＷＲ＿ＡＣＫに同期する第３の書き込み座標更新信号の立ち下がりの時刻ｔｗ１１において、第３の書き込み座標（ＨＷ３，ＶＷ３）が（ＷＸＡ＋ＷＸＢ＋ＷＸＣ，４）に更新される。読み出し用の分割ブロックＲＤ３＿０についての読み出し処理においては、時刻ｔｒ９において、読み出し座標（ＨＲ、ＶＲ）が（ＲＸＡ＋ＲＸＢ＋ＲＸＣ＋ＲＸＤ，１）に更新される。第３の書き込み座標（ＨＷ３、ＶＷ３）は（ＷＸＡ＋ＷＸＢ＋ＷＸＣ，４）であり、上記の条件式（３）を満たすため、リクエストマスク信号ＲＥＱ＿ＭＡＳＫはＬｏｗレベル、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴはＨｉｇｈレベルとなる。従って、読み出し用の分割ブロックＲＤ３＿０の第１番目のライン３２０からの画像データの読み出しが行われる。時刻ｔｒ１０においては、読み出し座標（ＨＲ、ＶＲ）が（ＲＸＡ＋ＲＸＢ＋ＲＸＣ＋ＲＸＤ，２）に更新される。第３の書き込み座標（ＨＷ３、ＶＷ３）は（ＷＸＡ＋ＷＸＢ＋ＷＸＣ，４）であり、上記の条件式（３）を満たすため、リクエストマスク信号ＲＥＱ＿ＭＡＳＫはＬｏｗレベル、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴはＨｉｇｈレベルとなる。従って、読み出し用の分割ブロックＲＤ３＿０の第２番目のライン３２０からの画像データの読み出しが行われる。時刻ｔｒ１１においては、読み出し座標（ＨＲ、ＶＲ）が（ＲＸＡ＋ＲＸＢ＋ＲＸＣ＋ＲＸＤ，３）に更新される。第３の書き込み座標（ＨＷ３、ＶＷ３）は（ＷＸＡ＋ＷＸＢ＋ＷＸＣ，４）であり、上記の条件式（３）を満たすため、リクエストマスク信号ＲＥＱ＿ＭＡＳＫはＬｏｗレベル、読み出しリクエスト信号ＲＤ＿ＲＥＱ＿ＭＡＳＫ＿ＯＵＴはＨｉｇｈレベルとなる。従って、読み出し用の分割ブロックＲＤ３＿０の第３番目のライン３２０からの画像データの読み出しが行われる。
【００６９】
書き込み用の分割ブロックＷＲ０＿１〜ＷＲ２＿２や読み出し用の分割ブロックＲＤ０＿１〜ＲＤ３＿３についても、上記と同様にして書き込み処理や読み出し処理が行われる。
【００７０】
なお、図４に付されたドットは、書き込み用の分割ブロックＷＲ１＿２の第３番目のライン３２０まで書き込み処理が完了した状態を示している。この状態においては、第１の書き込み座標（ＨＷ１、ＶＷ１）は（ＷＸＡ＋ＷＸＢ、１１）であり、第２の書き込み座標（ＨＷ２、ＶＷ２）は（ＷＸＡ，１４）であり、第３の書き込み座標（ＨＷ３、ＶＷ３）は（ＷＸＡ＋ＷＸＢ＋ＷＸＣ，８）である。また、読み出し座標（ＨＲ、ＶＲ）は（ＲＸＡ＋ＲＸＢ＋ＲＸＣ、８）である。この状態では、読み出し用の分割ブロックＲＤ２＿２の第１番目のライン３２０の画像データのメモリ１１２からの読み出しは完了している。この後、書き込み処理が進行し、書き込み用の分割ブロックＷＲ２＿２の第１番目のライン３２０の画像データの書き込みが行われると、第１の書き込み座標（ＨＷ１、ＶＷ１）が（ＷＸＡ＋ＷＸＢ＋ＷＸＣ、９）となり、上記の条件式（１）を満たす状態となる。そうすると、読み出し用の分割ブロックＲＤ２＿２の第２番目のライン３２０の画像データのメモリ１１２からの読み出しが行われ、読み出し座標（ＨＲ、ＶＲ）が（ＲＸＡ＋ＲＸＢ＋ＲＸＣ、９）に更新される。
【００７１】
ＷＲＤＭＡＣ２１１は、書き込み用の分割ブロックＷＲ２＿２についての書き込み処理が完了した際には、書き込み完了信号ＷＲ＿ＥＮＤをＨｉｇｈレベルとする。座標比較部２０３は、書き込み完了信号ＷＲ＿ＥＮＤがＨｉｇｈレベルとなった際には、上記の条件式（１）〜（３）に基づく座標の比較を停止して、リクエストマスク信号ＲＥＱ＿ＭＡＳＫをＬｏｗレベルとする。これにより、書き込み用の分割ブロックＷＲ２＿２についての書き込み処理が完了した後においては、ＲＤＤＭＡＣ２１３から出力される読み出しリクエスト信号ＲＤ＿ＲＥＱが、読み出しリクエストマスク部２０４によってマスクされなくなる。従って、書き込み用の分割ブロックＷＲ２＿２についての書き込み処理が完了した後においては、読み出し用の分割ブロックの画像データのメモリ１１２からの読み出しが連続的に行われる。
【００７２】
図６は、本実施形態による画像処理装置の動作を示すフローチャートである。図６に示す処理は、主としてＣＰＵ１０８及びメモリ制御部１２０によって実行される。
【００７３】
まず、ＣＰＵ１０８からの指示によって、ＷＲＤＭＡＣ２１１とＲＤＤＭＡＣ２１３に処理を開始させる（ステップＳ６００）。
【００７４】
次に、書き込み座標計算部２０１において、第１の書き込み座標（ＨＷ１、ＶＷ１）、第２の書き込み座標（ＨＷ２、ＶＷ２）、及び、第３の書き込み座標（ＨＷ３、ＶＷ３）を、例えば（０，０）に初期化する。また、読み出し座標計算部２０２において、読み出し座標（ＨＲ、ＶＲ）を例えば（０，０）に初期化する。これらの座標値の初期化は、ＣＰＵ１０８からの指示によって行われる（ステップＳ６０１）。
【００７５】
ステップＳ６０２では、座標比較部２０３が、上記の条件式（１）〜（３）のいずれかを満たすか否かを判定する。上記の条件式（１）〜（３）のいずれかを満たす場合には（ステップＳ６０２においてＹＥＳ）、ステップＳ６０３に移行する。ステップＳ６０３では、ＲＤＤＭＡＣ２１３からの読み出しリクエスト信号ＲＤ＿ＲＥＱに対するマスク処理が、読み出しリクエストマスク部２０４において解除される。上記の条件式（１）〜（３）のいずれをも満たさない場合には（ステップＳ６０２においてＮＯ）、ステップＳ６０４に移行する。ステップＳ６０４では、ＲＤＤＭＡＣ２１３からの読み出しリクエスト信号ＲＤ＿ＲＥＱに対するマスク処理が、読み出しリクエストマスク部２０４において行われる。これにより、ＲＤＤＭＡＣ２１３によるメモリ１１２からの画像データの読み出しは停止される。
【００７６】
ステップＳ６０５では、ＷＲＤＭＡＣ２１１から出力される第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＨｉｇｈレベルであるか否かが判定される。第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＨｉｇｈレベルである場合には（ステップＳ６０５においてＹＥＳ）、第１の書き込み座標（ＨＷ１、ＶＷ１）を書き込み処理が完了したライン３２０の最後尾の画素の座標に更新する（ステップＳ６０８）。第１の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ１がＬｏｗレベルである場合には（ステップＳ６０５においてＮＯ）、ステップＳ６０６に移行する。
【００７７】
ステップＳ６０６では、ＷＲＤＭＡＣ２１１から出力される第２の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ２がＨｉｇｈレベルであるか否かが判定される。第２の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ２がＨｉｇｈレベルである場合には（ステップＳ６０６においてＹＥＳ）、第２の書き込み座標（ＨＷ２、ＶＷ２）を書き込み処理が完了したライン３２０の最後尾の画素の座標に更新する（ステップＳ６０９）。第２の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ２がＬｏｗレベルである場合には、ステップＳ６０７に移行する。
【００７８】
ステップＳ６０７では、ＷＲＤＭＡＣ２１１から出力される第３の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ３がＨｉｇｈレベルであるか否かが判定される。第３の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ３がＨｉｇｈレベルである場合には、第３の書き込み座標（ＨＷ３、ＶＷ３）を書き込み処理が完了したライン３２０の最後尾の画素の座標に更新する（ステップＳ６１０）。第３の書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴ３がＬｏｗレベルである場合には、ステップＳ６１１に移行する。
【００７９】
ステップＳ６１１では、ＲＤＤＭＡＣ２１３から出力される第１〜第３の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１〜ＲＤ＿ＯＦＦＳＥＴ３のうちのいずれかがＨｉｇｈレベルであるか否かが判定される。第１〜第３の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１〜ＲＤ＿ＯＦＦＳＥＴ３のうちのいずれかがＨｉｇｈレベルである場合には、読み出し座標（ＨＲ、ＶＲ）を読み出し処理が完了したライン３２０の最後尾の画素の座標に更新する（ステップＳ６１２）。第１〜第３の読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴ１〜ＲＤ＿ＯＦＦＳＥＴ３のすべてがＬｏｗレベルである場合には、ステップＳ６１３に移行する。
【００８０】
ステップＳ６１３では、書き込み処理が完了したか否かが判定される。書き込み処理が完了した場合には（ステップＳ６１３においてＹＥＳ）、ステップＳ６１４に移行する。ステップＳ６１４では、読み出しリクエスト信号ＲＤ＿ＲＥＱに対するマスクが解除される。一方、書き込み処理が完了していない場合には（ステップＳ６１３においてＮＯ）、ステップＳ６０２に戻り、上記と同様の処理が行われる。
【００８１】
ステップＳ６１５では、読み出しが完了していないライン３２０についての読み出し処理が行われ、読み出し処理が完了したか否かが判定される。読み出し処理が完了していない場合には（ステップＳ６１５においてＮＯ）、読み出しが完了していないライン３２０についての読み出し処理が継続して行われる。一方、読み出し処理が完了した場合には（ステップＳ６１５においてＹＥＳ）、追いかけ制御が終了する。
【００８２】
このように、本実施形態では、書き込み処理が完了したブロック（ライン）３２０に応じた書き込み座標（ＨＷ１、ＶＷ１）、（ＨＷ２、ＶＷ２）、（ＨＷ３、ＶＷ３）と、読み出し処理が行われるブロック３２０に応じた読み出し座標（ＨＲ、ＶＲ）とを比較する。そして、書き込み座標（ＨＷ１、ＶＷ１）、（ＨＷ２、ＶＷ２）、（ＨＷ３、ＶＷ３）と読み出し座標（ＨＲ、ＶＲ）との比較の結果に基づいて読み出しが行われる。本実施形態によれば、座標を比較することによって読み出しの可否を判断するため、書き込み用のブロック３２０のサイズと読み出し用のブロック３２０のサイズとが異なる場合であっても、書き込みが完了していないブロック３２０を読み出してしまうことはない。このため、本実施形態によれば、追いかけ制御を適確に行い得る画像処理装置及び画像処理方法を提供することができる。
【００８３】
（変形例（その１））
本実施形態の変形例（その１）による画像処理装置及び画像処理方法について図８を用いて説明する。図８は、本変形例におけるブロック分割の態様を示す図である。図８における太い実線は、書き込み用の分割ブロックを概念的に示しており、図８における太い破線は、読み出し用の分割ブロックを概念的に示している。
【００８４】
本変形例は、書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標とが異なるものである。即ち、本変形例では、先頭に位置する書き込み用の分割ブロックＷＲ０＿０の第１番目のライン３２０の先頭の座標と、先頭に位置する読み出し用の分割ブロックＲＤ０＿０の第１番目のライン３２０の先頭の座標とが異なっている。ここでは、読み出し処理が行われる領域が、書き込み処理が行われる領域よりも小さい場合を例に説明する。
【００８５】
書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標との間の水平方向におけるずれ差異はＤＩＦＸである。書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標との間の垂直方向における差異はＤＩＦＹである。
【００８６】
このような場合には、例えば、上述した第１〜第３の書き込み座標（ＨＷ１、ＶＷ１）、（ＨＷ２、ＶＷ２）、（ＨＷ３、ＶＷ３）をアクセス開始座標の差異量ＤＩＦＸ、ＤＩＦＹの分だけシフトさせるようにすればよい。アクセス開始座標の差異量ＤＩＦＸ、ＤＩＦＹの分だけシフトさせた第１〜第３の書き込み座標（ＨＷ１、ＶＷ１）′、（ＨＷ２、ＶＷ２）′、（ＨＷ３、ＶＷ３）′は、以下の式（７）〜（９）によって表される。なお、読み出し処理におけるアクセス開始座標は（０，０）とする。アクセス開始座標の差異量ＤＩＦＸ、ＤＩＦＹの分だけシフトさせた書き込み座標（ＨＷ１、ＶＷ１）′、（ＨＷ２、ＶＷ２）′、（ＨＷ３、ＶＷ３）′は、書き込み座標計算部２０１によって算出される。
（ＨＷ１，ＶＷ１）′＝（ＨＷ１−ＤＩＦＸ，ＶＷ１−ＤＩＦＹ）  ・・・（７）
（ＨＷ２，ＶＷ２）′＝（ＨＷ２−ＤＩＦＸ，ＶＷ２−ＤＩＦＹ）  ・・・（８）
（ＨＷ３，ＶＷ３）′＝（ＨＷ３−ＤＩＦＸ，ＶＷ３−ＤＩＦＹ）  ・・・（９）
【００８７】
なお、ここでは、書き込み座標（ＨＷ１、ＶＷ１）、（ＨＷ２、ＶＷ２）、（ＨＷ３、ＶＷ３）をアクセス開始座標の差異量ＤＩＦＸ、ＤＩＦＹの分だけシフトさせる場合を例に説明したが、これに限定されるものではない。例えば、アクセス開始座標の差異量ＤＩＦＸ、ＤＩＦＹの分だけ書き込み座標（ＨＲ、ＶＲ）にシフトさせるようにしてもよい。アクセス開始座標の差異量ＤＩＦＸ、ＤＩＦＹの分だけシフトさせた書き込み座標（ＨＲ、ＶＲ）′は、書き込み処理におけるアクセス開始座標を（０，０）とする場合、以下のような式（１０）によって表される。アクセス開始座標の差異量ＤＩＦＸ、ＤＩＦＹの分だけシフトさせた書き込み座標（ＨＲ、ＶＲ）′は、読み出し座標計算部２０２によって算出される。
（ＨＲ，ＶＲ）′＝（ＨＲ＋ＤＩＦＸ，ＶＲ＋ＤＩＦＹ）  ・・・（１０）
【００８８】
このように、書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標とが異なっていてもよい。
【００８９】
（変形例（その２））
本実施形態の変形例（その２）による画像処理装置及び画像処理方法について図９及び図１０を用いて説明する。図９は、本変形例におけるブロック分割の態様を示す図である。図９における太い実線は、書き込み用の分割ブロックを概念的に示しており、図９における太い破線は、読み出し用の分割ブロックを概念的に示している。
【００９０】
本変形例は、互いに隣接する分割ブロックが互いにオーバーラップしている場合を示している。互いに隣接する読み出し用の分割ブロックＲＤ＊＿＊の水平方向におけるオーバーラップ量はＯＬＸである。互いに隣接する読み出し用の分割ブロックＲＤ＊＿＊の垂直方向におけるオーバーラップ量はＯＬＹである。
【００９１】
このような場合には、例えば、読み出し対象の分割ブロックＲＤ＊＿＊が切り替わる際に、上述した読み出し座標（ＨＲ、ＶＲ）をオーバーラップ量ＯＬＸ，ＯＬＹの分だけシフトさせるようにすればよい。オーバーラップ量ＯＬＸ，ＯＬＹの分だけシフトさせた読み出し座標（ＨＲ、ＶＲ）′は、以下のような式（１１）によって表される。オーバーラップ量ＯＬＸ，ＯＬＹの分だけシフトさせた読み出し座標（ＨＲ、ＶＲ）′は、読み出し座標計算部２０２によって算出される。
（ＨＲ、ＶＲ）′＝（ＨＲ−ＯＬＸ、ＶＲ−ＯＬＹ）      式（１１）
【００９２】
このように、互いに隣接する分割ブロックが互いにオーバーラップしていてもよい。なお、ここでは、互いに隣接する読み出し用の分割ブロックＲＤ＊＿＊が互いにオーバーラップしている場合を例に説明したが、互いに隣接する書き込み用の分割ブロックＷＲ＊＿＊が互いにオーバーラップしていてもよい。
【００９３】
図１０は、分割ブロックの最後尾にアクセスが達した際のアクセス座標のジャンプを概念的に示す図である。図１０（ａ）は、互いに隣接する分割ブロック３００ａ〜３００ｃが水平方向に互いにオーバーラップしている場合を示している。分割ブロック３００ａ、３００ｂの最後尾の座標（Ｈ２、Ｖ２）の画素３１１，３１２にアクセスが達した際には、図３を用いて上述した第１実施形態による画像処理装置と同様に、オフセット値のアドレス値への加算が行われる。ここで加算されるオフセット値は、（−ＸＨ×（ＹＡ−１）−ＯＬＸ）である。
【００９４】
図１０（ｂ）は、互いに隣接する分割ブロック３００ｄ〜３００ｉが水平方向においても垂直方向においても互いにオーバーラップしている場合を示している。ブロックライン３２１ｂの最後尾の座標（Ｈ３、Ｖ３）の画素３１６にアクセスが達した際には、図３を用いて上述した第１実施形態による画像処理装置と同様に、オフセット値のアドレス値への加算が行われる。ここで加算されるオフセット値は、（−ＸＨ×ＯＬＹ）である。
【００９５】
このように、互いに隣接する分割ブロックが互いにオーバーラップしていてもよい。本変形例においても、メモリ１１２に対する追いかけ制御を適確に行い得る画像処理装置を提供することができる。
【００９６】
［変形実施形態］
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００９７】
例えば、上記実施形態では、１回の書き込み処理や１回の読み出し処理によって、分割ブロックの水平方向の画素数に対応する１つのライン３２０の分の画像データの書き込みや読み出しが行われる場合を例に説明した。即ち、１回の書き込みリクエスト信号ＷＲ＿ＲＥＱや１回の読み出しリクエスト信号ＲＤ＿ＲＥＱによって、１つのライン３２０の分の画像データの書き込み処理や読み出し処理が行われる場合を例に説明した。しかし、これに限定されるものではない。１つのライン３２０の分の画像データの書き込みや読み出しを複数回に分けて行うようにしてもよい。即ち、複数回の書き込みリクエスト信号ＷＲ＿ＲＥＱや複数回の読み出しリクエスト信号ＲＤ＿ＲＥＱによって、１つのライン３２０の分の画像データの書き込み処理や読み出し処理が行われるようにしてもよい。このような場合であっても、書き込みオフセット信号ＷＲ＿ＯＦＦＳＥＴや読み出しオフセット信号ＲＤ＿ＯＦＦＳＥＴがＨｉｇｈレベルとなるのは、各々のライン２３０の最後尾の画素に書き込み処理や読み出し処理が達した際である。
【００９８】
また、上記実施形態では、上記の条件式（１）〜（３）のいずれかを満たす場合に読み出し処理を行う場合を例に説明したが、用いられる条件式は上記の（１）〜（３）に限定されるものではない。例えば、上記の条件式（１）〜（３）の代わりに、以下のような条件式（１２）〜（１４）を用いてもよい。この場合には、ＬＧＡＰの分だけ、読み出し処理が遅れて実行されることとなる。
ＨＷ１≧ＨＲ  かつ  ＶＷ１＞（ＶＲ＋ＬＧＡＰ）  ・・・（１２）
ＨＷ２≧ＨＲ  かつ  ＶＷ２＞（ＶＲ＋ＬＧＡＰ）  ・・・（１３）
ＨＷ３≧ＨＲ  かつ  ＶＷ３＞（ＶＲ＋ＬＧＡＰ）  ・・・（１４）
【００９９】
また、上記の条件式（１）〜（３）の代わりに、以下のような条件式（１５）〜（１７）を用いてもよい。この場合には、読み出し処理が可能になったライン３２０に対して直ちに読み出し処理を行うことができる。
ＨＷ１≧ＨＲ  かつ  ＶＷ１≧ＶＲ  ・・・（１５）
ＨＷ２≧ＨＲ  かつ  ＶＷ２≧ＶＲ  ・・・（１６）
ＨＷ３≧ＨＲ  かつ  ＶＷ３≧ＶＲ  ・・・（１７）
また、上記実施形態では、分割ブロック３００ａ〜３００ｃの書き込み等を順次行い、分割ブロック３００ｄ〜３００ｆの書き込み等を順次行い、この後、分割ブロック３００ｇ〜３００ｉの書き込み等を順次行う場合を例に説明した。しかし、これに限定されるものではない。例えば、分割ブロック３００ａ、３００ｄ、３００ｇの順に書き込み等を行い、分割ブロック３００ｂ、３００ｅ、３００ｈの順に書き込み等を行い、この後、分割ブロック３００ｃ、３００ｆ、３００ｉの順に書き込み等を行うようにしてもよい。
また、上記実施形態では、ブロック（ライン）３２０が水平方向である場合を例に説明したが、当該ブロック（ライン）３２０が垂直方向であってもよい。
また、上記実施形態では、１フレームの画像の左上端の画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の先頭のアドレスとなる場合を例に説明した。また、当該画像の右下端に位置する画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の最後尾のアドレスとなる場合を例に説明した。しかし、これに限定されるものではない。例えば、１フレームの画像の左下端の画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の先頭のアドレスとなってもよい。そして、当該画像の右上端に位置する画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の最後尾のアドレスとなってもよい。
【０１００】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０１】
２０１…書き込み座標計算部
２０２…読み出し座標計算部
２０３…座標比較部
２１１…ＷＲＤＭＡＣ
２１３…ＲＤＤＭＡＣ
３２０…ブロック
【図１】
2017204170.tif 000003
【図２】
2017204170.tif 000004
【図３】
2017204170.tif 000005
【図４】
2017204170.tif 000006
【図５】
2017204170.tif 000007
【図６】
2017204170.tif 000008
【図７】
2017204170.tif 000009
【図８】
2017204170.tif 000010
【図９】
2017204170.tif 000011
【図１０】
2017204170.tif 000012