(57)【要約】【課題】画像回転処理の処理時間の短縮化。【解決手段】Ｈ×Ｖの総画素数を有する画像データを、前記画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２ｎ（４≦ｎ）に設定されるＳＤＲＡＭ２に、回転角度９０°×ｍ（０≦ｍ≦３）の第１画像回転処理を画像データに施した後のライン順に沿って書き込み、回転角度９０°×ｐ（０≦ｐ≦３）の第２画像回転処理を施した後のライン順に沿って読み出す。その際、ＳＤＲＡＭ２の記録領域を、Columnアドレス数が２ｑ（２≦ｑ≦（ｎ−２））で、第１画像回転処理後の画像データの１ライン分の画素群が格納可能な複数の記録ブロック２１〜ｓに分割し、第１画像回転処理後の画像向きにおける画像データの１ライン分の画素群を記録ブロック２１〜ｓに書き込む。書き込んだ画像データを、第２画像回転処理後の画像向きに沿ってＳＤＲＡＭ２から読み出す。【選択図】図１
2005109967.tif 000002
【特許請求の範囲】
【請求項１】
Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データを、前記画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２ｎ（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭに、回転角度９０°×ｍ（０≦ｍ≦３、ｍ：整数 ）の第１画像回転処理を前記画像データに施した後のライン順に沿って書き込み、書き込んだ画像データを、回転角度９０°×ｐ（０≦ｐ≦３、ｐ：整数）の第２画像回転処理をさらに前記画像データに施した後のライン順に沿って前記ＳＤＲＡＭから読み出す画像処理方法であって、
前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２ｑ（２≦ｑ≦（ｎ−２）、ｑ：整数）に設定するとともに前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割したうえで、
前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群それぞれを、そのライン順に沿って前記記録ブロックそれぞれに順次対応させ、
前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する記録ブロックに書き込み、
前記ＳＤＲＡＭに書き込んだ画像データを、前記第２画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す、
ことを特徴とする画像処理方法。
【請求項２】
請求項１に記載の画像処理方法において、
前記第１画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記画像データを前記ＳＤＲＡＭに書き込む際に用いる水平同期周期HD１を、次の（１）式により設定し、
HD１＝VD/HD２  …（１）
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期
周期
HD２：第１画像回転処理前の画像データをそのままの画像向きでＳＤＲＡＭ
に書き込む際に用いる水平同期周期
前記第２画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記ＳＤＲＡＭから前記画像データを読み出す際に用いる水平同期周期HD３を、次の（２）式により設定する、
HD３＝VD/HD４  …（２）
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期
周期
HD４：第２画像回転処理前の画像データをそのままの画像向きでＳＤＲＡＭ
から読み出す際に用いる水平同期周期
ことを特徴とする画像処理方法。
【請求項３】
Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データを、前記画像データの全ての画素が格納可能な記録領域数を有するとともにCo lumnアドレス数が２ｎ（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭに、前記画像データの画像向きでのライン順に沿って書き込み、書き込んだ画像データを、回転角度９０°×ｐ（０≦ｐ≦３、ｐ：整数 )の画像回転処理を前記画像データに施した後のライン順に沿って前記ＳＤＲＡＭから読み出す画像処理方法であって、
前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２ｑ（２≦ｑ≦（ｎ−２）、ｑ：整数）に設定されるとともに前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割したうえで、
前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画素群それぞれを、その画像向きでのライン順に沿って前記記録ブロックそれぞれに順次対応させ、
前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する前記記録ブロックに書き込み、
前記ＳＤＲＡＭに書き込んだ画像データを、前記画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す、
ことを特徴とする画像処理方法。
【請求項４】
請求項３に記載の画像処理方法において、
前記画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記前記画像データを前記ＳＤＲＡＭから読み出す際に用いる水平同期周期HD１を、次の（１）式により設定する、
HD１＝VD/HD２  …（１）
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期
周期
HD２：画像データをＳＤＲＡＭに書き込む際に用いる水平同期周期
ことを特徴とする画像処理方法。
【請求項５】
Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データを、前記画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２ｎ（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭに、回転角度９０°×ｍ（０≦ｍ≦３、ｍ：整数 ）の画像回転処理を前記画像データに施した後のライン順に沿って書き込み、書き込んだ画像データを、前記画像回転処理後の画像向きでのライン順に沿って前記ＳＤＲＡＭから読み出す画像処理方法であって、
前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２ｑ（２≦ｑ≦（ｎ−２）に設定されるとともに前記画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割したうえで、
前記画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群それぞれを、その画像向きでのライン順に沿って前記記録ブロックそれぞれに順次対応させ、
前記画像回転処理後の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する記録ブロックに書き込み、
前記ＳＤＲＡＭに書き込んだ画像データを、前記画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す、
ことを特徴とする画像処理方法。
【請求項６】
請求項５に記載の画像処理方法において、
前記画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記前記画像データをＳＤＲＡＭに書き込む際に用いる水平同期周期HD３を、
HD３＝VD/HD４
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期
周期
HD４：画像データを、そのままの画像向きでＳＤＲＡＭに書き込む際に用いる
水平同期周期
により設定する、
ことを特徴とする画像処理方法。
【請求項７】
Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２ｎ（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭを備え、このＳＤＲＡＭに、前記画像データを、回転角度９０°×ｍ（０≦ｍ≦３、ｍ：整数 ）の第１画像回転処理を前記画像データに施した後のライン順に沿って書き込み、書き込んだ画像データを、回転角度９０°×ｐ（０≦ｐ≦３、ｐ：整数）の第２画像回転処理をさらに前記画像データに施した後のライン順に沿って前記ＳＤＲＡＭから読み出す画像処理装置であって、
前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２ｑ（２≦ｑ≦（ｎ−２）、ｑ：整数）に設定されるとともに前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割したうえで、前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群それぞれを、そのライン順に沿って前記記録ブロックそれぞれに順次対応させ、前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する記録ブロックに書き込む手段と、
前記ＳＤＲＡＭに書き込んだ画像データを、前記第２画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す手段と、
を備えることを特徴とする画像処理装置。
【請求項８】
請求項７に記載の画像処理装置において、
前記第１画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記ＳＤＲＡＭに前記画像データを書き込む際に用いる水平同期周期HD１を、次の（１）式により設定し、
HD１＝VD/HD２  …（１）
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期
周期
HD２：第１画像回転処理前の画像データをそのままの画像向きでＳＤＲＡＭ
に書き込む際に用いる水平同期周期
前記第２画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記ＳＤＲＡＭから前記画像データを読み出す際に用いる水平同期周期HD３を、次の（２）式により設定する、
HD３＝VD/HD４  …（２）
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期
周期
HD４：第２画像回転処理前の画像データをそのままの画像向きでＳＤＲＡＭ
から読み出す際に用いる水平同期周期
ことを特徴とする画像処理装置。
【請求項９】
Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２ｎ（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭを備え、このＳＤＲＡＭに、前記画像データを、前記画像データの画像向きでのライン順に沿って書き込み、書き込んだ画像データを、回転角度９０°×ｐ（ｐ：整数、０≦ｐ≦３ ）の画像回転処理を前記画像データに施した後のライン順に沿って前記ＳＤＲＡＭから読み出す画像処理装置であって、
前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２ｑ（２≦ｑ≦（ｎ−２）、ｑ：整数）に設定されるとともに前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割したうえで、前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画素群それぞれを、その画像向きでのライン順に沿って前記記録ブロックそれぞれに順次対応させ、前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する前記記録ブロックに書き込む手段と、
前記ＳＤＲＡＭに書き込んだ画像データを、前記画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す手段と、
を備えることを特徴とする画像処理装置。
【請求項１０】
請求項９に記載の画像処理装置において、
前記画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記前記画像データを前記ＳＤＲＡＭから読み出す際に用いる水平同期周期HD１を、次の（１）式により設定する、
HD１＝VD/HD２  …（１）
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期
周期
HD２：画像データをＳＤＲＡＭに書き込む際に用いる水平同期周期
ことを特徴とする画像処理装置。
【請求項１１】
Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２ｎ（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭを備え、このＳＤＲＡＭに、前記画像データを、回転角度９０°×ｍ（０≦ｍ≦３、ｍ：整数 ）の画像回転処理した後のライン順に沿って書き込み、書き込んだ画像データを、前記画像回転処理後の画像向きでのライン順に沿って前記ＳＤＲＡＭから読み出す画像処理装置であって、
前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２ｑ（２≦ｑ≦（ｎ−２）に設定されるとともに前記画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割したうえで、前記画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群それぞれを、その画像向きでのライン順に沿って前記記録ブロックそれぞれに順次対応させ、前記画像回転角度語の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する記録ブロックに書き込む手段と、
前記ＳＤＲＡＭに書き込んだ画像データを、前記画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す手段と、
を備えることを特徴とする画像処理装置。
【請求項１２】
請求項１１に記載の画像処理装置において、
前記回転角度処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記ＳＤＲＡＭに前記画像データを書き込む際に用いる水平同期周期HD３を、次の（２）式により設定する、
HD３＝VD/HD４  …（２）
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期
周期
HD４：画像データを、そのままの画像向きでＳＤＲＡＭに書き込む際に用いる
水平同期周期
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）に画像を書き込んで読み出す処理を行なう際に、処理する画像に回転処理を付加する画像処理方法および画像処理装置に関する。
【背景技術】
【０００２】
従来から、画像データがＳＤＲＡＭ上の各画像領域に書き込まれたのち読み出される処理においては、画像データを構成する各画素データは、画像データ上の画素配置順に沿って順次ＳＤＲＡＭ上の各記録領域に書き込まれたうえで読み出される。ＳＤＲＡＭでは、RowアドレスとColumnアドレスとで指定される各記録領域に画像データが順次格納されたうえで読み出される。
【０００３】
ＳＤＲＡＭでは、一般に、バーストリードが実施される。これはデータ転送の短縮化を図る処理であって、この処理はＳＤＲＡＭを含むメモリ装置では複数の記録領域が１つのRowアドレスを共有することに基づいている。具体的には、Rowアドレスを共有する複数の記録領域を指定する際に、共通のRowアドレスを指定したうえで、順次Columnアドレスを指定することで各記録領域の指定を行う。これにより、複数の記録領域で、Rowアドレスの指定処理の共通化が図られ、これによって画像データの転送に要する時間が短縮される。
【０００４】
ＳＤＲＡＭに画像データを書き込み/読み出し処理する際に、画像の回転を付加的に実施する場合がある。この場合、画像の回転処理は、主としてＳＤＲＡＭから画像データを読み出す際に実施される。
【特許文献１】特開２００２−２５９２０８号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の画像処理装置においては、画像回転処理を実施するとバーストリード処理が困難になり、処理時間が長時間化する場合がある。以下説明する。
【０００６】
画像の回転処理を任意の角度で実施する場合、その処理は非常に長時間を要する。これに対して、画像の回転処理を９０°ピッチ［９０°×ｓ（ｓ：整数、１≦ａ≦３）で実施する場合、その処理は、各アドレスの逆順読み出し処理や画像の縦横の逆配置処理という比較的処理時間が短い処理で実現できる。このような理由により、通常、画像回転処理は、９０°ピッチで実施される。
【０００７】
画像の縦横の逆配置処理は、ColumnアドレスをRowアドレスとして読み違える処理を行うことで実施される。このようなアドレス読み違え処理を行うためには、画像データ読み出し時において画素データ毎にRowアドレスを変更する必要がある。
【０００８】
バーストリードは、ＳＤＲＡＭに対して画像データを書き込む際と読み出す際とでRowアドレスが一致する場合に実施が可能な処理であって、読み出し時において画素データ毎にRowアドレスを変更しなければならない従来の画像回転処理では、バーストリードが不可能となって、処理時間が長時間化するのは避けられない。
【課題を解決するための手段】
【０００９】
本発明は、Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データを、前記画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２ｎ（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭに、回転角度９０°×ｍ（０≦ｍ≦３、ｍ：整数 ）の第１画像回転処理を前記画像データに施した後のライン順に沿って書き込み、書き込んだ画像データを、回転角度９０°×ｐ（０≦ｐ≦３、ｐ：整数）の第２画像回転処理をさらに前記画像データに施した後のライン順に沿って前記ＳＤＲＡＭから読み出す画像処理の方法や装置において、次のようにする。
【００１０】
まず、前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２ｑ（２≦ｑ≦（ｎ−２）、ｑ：整数）に設定されるとともに前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割する。
【００１１】
次に、前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群それぞれを、そのライン順に沿って前記記録ブロックそれぞれに順次対応させる。
【００１２】
そのうえで、前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する記録ブロックに書き込む。
【００１３】
最後に、前記ＳＤＲＡＭに書き込んだ画像データを、前記第２画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す。
【００１４】
また、本発明の他の発明では、Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データを、前記画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２ｎ（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭに、前記画像データの画像向きでのライン順に沿って書き込み、書き込んだ画像データを、回転角度９０°×ｐ（０≦ｐ≦３、ｐ：整数 )の画像回転処理を前記画像データに施した後のライン順に沿って前記ＳＤＲＡＭから読み出す画像処理方法や装置において、
まず、前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２ｑ（２≦ｑ≦（ｎ−２）、ｑ：整数）に設定されるとともに前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割する。
【００１５】
次に、前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画素群それぞれを、その画像向きでのライン順に沿って前記記録ブロックそれぞれに順次対応させる。
【００１６】
そのうえで、前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する前記記録ブロックに書き込む。
【００１７】
最後に、前記ＳＤＲＡＭに書き込んだ画像データを、前記画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す。
【００１８】
また、本発明のさらに他の発明では、Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データを、前記画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２ｎ（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭに、回転角度９０°×ｍ（０≦ｍ≦３、ｍ：整数 ）の画像回転処理を前記画像データに施した後のライン順に沿って書き込み、書き込んだ画像データを、前記画像回転処理後の画像向きでのライン順に沿って前記ＳＤＲＡＭから読み出す画像処理の方法や方法において、
まず、前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２ｑ（２≦ｑ≦（ｎ−２）に設定されるとともに前記画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割する。
【００１９】
次に、前記画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群それぞれを、その画像向きでのライン順に沿って前記記録ブロックそれぞれに順次対応させる。
【００２０】
そのうえで、前記画像回転処理後の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する記録ブロックに書き込む。
【００２１】
最後に、前記ＳＤＲＡＭに書き込んだ画像データを、前記画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す。
【００２２】
これにより、本発明は、ＳＤＲＡＭに対して画像データを（書き込む・読み出す）際において、（書き込み・読み出し）順で隣接する複数の画素のRowアドレスを共通化することが可能となる。
【００２３】
本発明の好ましい実施態様として、次のようなものがある。
【００２４】
前記第１画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記画像データを前記ＳＤＲＡＭに書き込む際に用いる水平同期周期HD１を、次の（１）式により設定する。
HD１＝VD/HD２  …（１）
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期
周期
HD２：第１画像回転処理前の画像データをそのままの画像向きでＳＤＲＡＭ
に書き込む際に用いる水平同期周期
前記第２画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記ＳＤＲＡＭから前記画像データを読み出す際に用いる水平同期周期HD３を、次の（２）式により設定する。
HD３＝VD/HD４  …（２）
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期
周期
HD４：第２画像回転処理前の画像データをそのままの画像向きでＳＤＲＡＭ
から読み出す際に用いる水平同期周期。
【００２５】
そうすれば、画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期周期VDの期間内に、画像データを構成する全ての画素を確実に（書き込む・読み出す）ことができる。
【発明の効果】
【００２６】
本発明によれば、ＳＤＲＡＭから画像データを（書き込む・読み出す）際において、（書き込み/読み出し）順で隣接する複数の画素のRowアドレスを共通化することが可能となり、その分、処理速度の高速化が図れる。
【発明を実施するための最良の形態】
【００２７】
図１は、本発明の最良の実施形態に係る画像処理装置１の機能ブロック図である。この画像処理装置１は、ＳＤＲＡＭ２を備えている。画像処理装置１は、外部から画像処理装置１に供給される垂直同期周期（信号）VD,水平同期周期（信号）HD,およびクロック信号CLKに基づいてＳＤＲＡＭ２に対する書き込み動作と読み出し動作とを制御する。
【００２８】
画像処理装置１は、Writeラインカウンタ３と、Write画素カウンタ４と、readラインカウンタ５と、read画素カウンタ６と、Write Rowカウンタ７と、Write Columnカウンタ８と、Read Row カウンタ９と、Read Column カウンタ１０と、Read/Write回転/反転制御器１１と、NWE制御器１２と、アドレス制御器１３と、入力遅延制御器１４と出力遅延制御器１５とを備える。
【００２９】
Writeラインカウンタ３は、垂直同期周期VDと水平同期周期HDとクロック信号CLKとに基づいて画像データ書き込み時の画素データのライン数を計数する。Write画素カウンタ４は、垂直同期周期VDと水平同期周期HDとクロック信号CLKとに基づいて、画像データ書き込み中の画素データの画素数（換言すれば、その時点の書き込みを終了した総画素数）を計数する。readラインカウンタ５は、垂直同期周期VDと水平同期周期HDとクロック信号CLKとに基づいて画像データ読み出し時の画像データのライン数（換言すれば、その時点の書き込みを終了した総ライン数）を計数する。read画素カウンタ６は、垂直同期周期VDと水平同期周期HDとクロック信号CLKとに基づいて画像データ読み出し時の画素数（換言すれば、その時点の読み出しを終了した総画素数）を計数する。
【００３０】
Write Rowカウンタ７は、Writeラインカウンタ３,Write画素カウンタ４の計数出力とクロック信号CLKとに基づき、画像データをＳＤＲＡＭ２に書き込む際のWrite Rowアドレスを計数する。Write Rowカウンタ７は、Read/Write回転/反転制御器１１の制御に基づいてWrite Rowアドレスを計数する。
【００３１】
Write Columnカウンタ８は、Writeラインカウンタ３,Write画素カウンタ４の計数出力とクロック信号CLKとに基づいて画像データをＳＤＲＡＭ２に書き込む際のWrite Column アドレスを計数する。Write Columnカウンタ８は、Read/Write回転/反転制御器１１の制御に基づいてWrite Column アドレスを計数する。
【００３２】
Read Row カウンタ９は、readラインカウンタ５,read画素カウンタ６の計数出力とクロック信号CLKとに基づいて、画像データをＳＤＲＡＭ２から読み出す際のRead Rowアドレスを計数する。Read Row カウンタ９はRead/Write回転/反転制御器１１の制御に基づいて画像データをＳＤＲＡＭ２から読み出す際のRead Rowアドレス数を計数する。
【００３３】
Read Column カウンタ１０は、readラインカウンタ５,read画素カウンタ６の計数出力とクロック信号CLKとに基づいて、画像データをＳＤＲＡＭ２から読み出す際のRead Columnアドレス数を計数する。Read Column カウンタ１０は、Read/Write回転/反転制御器１１の制御に基づいて画像データをＳＤＲＡＭ２から読み出す際のRead Columnアドレス数を計数する。
【００３４】
NWE制御器１２は、Write Columnカウンタ８の計数出力とRead Column カウンタ１０の計数出力とクロック信号CLKとに基づくRead/Write回転/反転制御器１１の制御によってＳＤＲＡＭ２にＮＷＥ制御信号を供給する。
【００３５】
アドレス制御器１３は、Write Rowカウンタ７の計数出力とWrite Columnカウンタ８の計数出力とRead Row カウンタ９の計数出力とRead Column カウンタ１０の計数出力とクロック信号CLKとに基づいて、画像データ書き込み/読み出し時のアドレス情報を生成してＳＤＲＡＭ２に供給する。
【００３６】
入力遅延制御器１４は、ＳＤＲＡＭ２に書き込まれる画像データの遅延制御を行う。出力遅延制御器１５はＳＤＲＡＭ２から読み出される画像データの遅延制御を行う。
【００３７】
画像処理装置１では、Writeラインカウンタ３,Write画素カウンタ４,Write Rowカウンタ７,Write Columnカウンタ８,アドレス制御器１３,NWE制御器１２およびR ead／Write回転／反転制御器１１により画素データをＳＤＲＡＭ２に書き込む手段が構成される。readラインカウンタ５,read画素カウンタ６,Read Row カウンタ９,Read Column カウンタ１０,アドレス制御器１３,NWE制御器１２,およびRead／Write回転／反転制御器１１により画素データをＳＤＲＡＭ２から読み出す手段が構成される。
【００３８】
以下、画像処理装置１による画像回転処理が図２〜図１６を参照して説明される。ここでは、次の条件下における画像処理装置１の画像回転動作が説明される。
・ＳＤＲＡＭ２は、columnアドレス数２ｎ（４≦ｎ、ｎ：整数）、Rowアドレス数Ｘ（Ｘ：自然数）、総記録領域数（２ｎ×Ｘ）である。本実施形態のＳＤＲＡＭ２の記録領域を示す図６,図７では、前記ｎ＝８,ｎ＝９であって、Columnアドレス数２８＝２５６,Columnアドレス数２９＝５１２の場合がそれぞれ例示される。
・ＳＤＲＡＭ２で記録処理される画像データは、ＣＣＤ等の撮像センサによって取り込まれたＨ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データである。画像データのデータ配置形態は、図６,図７それぞれに符号Ａを付して図示される。これらの図において、（ｘ,ｙ）は画像データ上における各画素の座標を示し、ｘは画像データの画像向きにおける垂直方向の座標を示し、ｙは水平方向の座標を示す。Ｈ×Ｖの画素数を有する本実施形態の画像データでは、ｘは、［０〜Ｖ−１]の範囲となり、ｙは、［０〜Ｈ−１］の範囲となる。したがって、画像データは、画素データ（０,０）〜画素データ（Ｖ−１,Ｈ−１）を有することになる。また、図６,図７それぞれのＳＤＲＡＭ２の各アドレス位置には、上記座標により表記される画像データの各画素が順次配置される。
・ＳＤＲＡＭ２の総記録領域数（２ｎ×Ｘ）は、画像データの総画素数（Ｈ×Ｖ）を格納可能である（２ｎ×Ｘ）≧（Ｈ×Ｖ）。
・画像データの１ライン画素数Ｈは、ＳＤＲＡＭ２のColumnアドレス数（本実施形態では２５６または５１２）の整数倍である。
Ｈ＝（ＳＤＲＡＭ２のColumnアドレス数×Ｙ（Ｙ：自然数）
なお、画像データの１ライン画素数Ｈが、ＳＤＲＡＭ２のColumnアドレス数の整数倍でない場合も考えられるが、その場合は、整数倍とならない画像データの残余の画像領域をＳＤＲＡＭ２に取り込まないように制御すれば、本発明を実施できる。
【００３９】
上記総記録領域数を有するＳＤＲＡＭ２に、画像データを書き込んだうえで読み出す。そして、書き込み処理を実施する際に、回転角度９０°×ｍ（０≦ｍ≦３、ｍ：整数 ）の第１画像回転処理を画像データに施した後のライン順に沿って、画像データをＳＤＲＡＭ２に書き込む。さらに、ＳＤＲＡＭ２に書き込んだ画像データを、回転角度９０°×ｐ（０≦ｐ≦３、ｐ：整数）の第２画像回転処理を第１画像回転処理実施後の画像データに施した後のライン順に沿ってＳＤＲＡＭ２から読み出す。
【００４０】
これにより、画像処理装置１は、画像データに第１,第２回転処理を連続的に実施したのちＳＤＲＡＭ２から画像回転処理後の画像データを出力する。
【００４１】
ＳＤＲＡＭ２を用いた第１,第２画像回転処理の要点は以下の通りである。
【００４２】
まず、ＳＤＲＡＭ２の記録領域が複数の記録ブロック２１〜ｓに分割される。第１画像回転処理後の画像向きにおける画像データの１ライン分の画素群それぞれが、そのライン順に沿って記録ブロック２１〜ｓそれぞれに順次対応される。記録ブロック２１〜ｓの記録領域数は、第１画像回転処理後の画像向きにおける画像データの１ライン分の画素群を格納可能な数に設定される。本実施形態では、記録ブロック２１〜ｓの記録領域数は、第１画像回転処理後の画像向きにおける画像データの１ライン分の画素群と同一に設定される。
【００４３】
第１画像回転処理後の画像向きにおける画像データの１ライン分の画像群それぞれを、Rowアドレスが記録ブロック２１〜ｓのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する記録ブロック２１〜ｓに書き込む。
【００４４】
ＳＤＲＡＭ２に書き込んだ画像データを、第２画像回転処理後の画像向きにおけるライン順に沿ってＳＤＲＡＭ２から読み出す。
【００４５】
ＳＤＲＡＭ２内に設けられる各記録ブロック２１〜ｓにおいて一つのRowアドレス内に配置されるColumnの数（以下、Columnアドレス数という）は２ｑ（２≦ｑ≦（ｎ−２）、ｑ：整数）に設定される。記録ブロック２１〜ｓの記録領域数は、第１画像回転処理後の画像向きにおける画像データの１ライン分の画素群が格納可能に設定される。
【００４６】
なお、各記録ブロック２１〜ｓのColumnアドレス数の指定に用いられる変数ｎは、ＳＤＲＡＭ２のColumnアドレス数の指定で用いられる変数ｎである。ｎ＝８,ｎ＝９とされる本実施形態においては、各記録ブロック２１〜ｓのColumnアドレス数の指定に用いられる変数ｑは、２≦ｑ≦（８−２＝６）,２≦ｑ≦（９−２＝７）の範囲となる。したがって、Columnアドレス数は、２２≦ｑ≦６,２２≦ｑ≦７の範囲となる。
【００４７】
本発明は、各記録ブロック２１〜ｓのColumnアドレス数を上記した範囲に設定すれば実施可能である。本実施形態では、各記録ブロック２１〜ｓのColumnアドレス数は、（２ｑ＝４）＝１６とされる。したがって、各記録ブロック２１〜sのRowアドレス数は、次の式により算定される。
(第１画像回転処理後の画像向きでの画像データの１ラインの画素数)/１６
また、２５６や５１２のColumnアドレス数を有する本実施形態のＳＤＲＡＭ２において各記録ブロック２１〜ｓは、Columnアドレス方向に２５６/１６＝１６個,５１２/１６＝３２個並列されることになる。
【００４８】
以上説明した記録ブロック２１〜ｓの構造に基づけば、ＳＤＲＡＭ２の記録領域を図示する図６,図７において、記録ブロック２１〜ｓは、次のようなアドレス範囲となる。
Columnアドレス,Rowアドレスともにアドレス当初に位置する記録ブロック２１は、次のようなアドレス範囲となる。第１画像回転処理の回転角度が０°とされる図６の構成では、記録ブロック２１は、Columnアドレス（０〜１５）,Rowアドレス（０〜Ｈ/１６−１）のアドレス範囲となる。第１画像回転角度が９０°とされる図７の構成では、記録ブロック２１は、Columnアドレス（０〜１５）,Rowアドレス（０〜Ｖ/１６−１）のアドレス範囲となる。
【００４９】
Columnアドレス,Rowアドレスともにアドレス最終位置する記録ブロック２ｓは、次のようなアドレス範囲となる。まず、Columnアドレス数が２５６とされる場合を説明する。
この場合、第１画像回転処理の回転角度が０°とされる図６の構成では、記録ブロック２ｓは、Columnアドレス（２４１〜２５６）,Rowアドレス（Ｈ（Ｖ−１６）/２５６〜ＨＶ/２５６−１）のアドレス範囲となる。第１画像回転処理の回転角度が９０°とされる図７の構成では、記録ブロック２ｓは、Columnアドレス（２４１〜２５６）,Rowアドレス（（Ｈ−１６）Ｖ/２５６〜ＨＶ/２５６−１）のアドレス範囲となる。
【００５０】
次にColumnアドレス数が５１２とされる場合を説明する。この場合、第１画像回転処理の回転角度が０°とされる図６の構成では、記録ブロック２ｓは、Columnアドレス（４９７〜５１２）,Rowアドレス（Ｈ（Ｖ−３２）/５１２〜ＨＶ/５１２−１）のアドレス範囲となる。第１画像回転処理の回転角度が９０°とされる図７の構成では、記録ブロック２ｓは、Columnアドレス（４９７〜５１２）,Rowアドレス（Ｈ−３２Ｖ/５１２〜ＨＶ/５１２−１）のアドレス範囲となる。
記録ブロック２１〜ｓのアドレス範囲がこのような数に設定されるのは、各記録ブロック２１〜ｓの記録領域数が、第１画像回転処理後の画像向きにおける画像データの１ライン分の画素データを格納可能な数に設定されることに起因する。
【００５１】
ここで、各画像回転処理の回転角度が０°,１８０°である場合では、各回転処理後の画像向きにおけるライン方向（Columnアドレス方向）は、回転処理前の画像向きにおけるライン方向と一致する。各画像回転処理の回転角度が９０°,２７０°である場合では、回転処理後の画像向きにおけるライン方向（Columnアドレス方向）は、回転処理前の画像向きにおけるライン方向（Columnアドレス方向）と一致せず、回転処理前のRowアドレス方向となる。
【００５２】
なお、上述したように、第１,第２画像回転処理の組み合わせパターンの相違により記録ブロック２１〜ｓに収納する画素データ数は異なる。そのため、記録ブロック２１〜ｓは、第１,第２画像処理パターンの組み合わせに応じてその格納記録領域数は変動する。これにより、ＳＤＲＡＭ２内に設定される記録ブロック２１〜ｓの総数も変動する。そのため記録ブロック２１〜ｓの総数を示す変数sも記録ブロック２１〜ｓの総数の変動に応じて変動するが、本実施の形態の説明では、変数ｓは便宜的に同一の変数ｓを用いる。
【００５３】
以下、画像処理装置１の画像回転処理の詳細が説明される。画像処理装置１においては、画像データが撮像当初の画像向きでのライン順に沿って撮像センサ等からＳＤＲＡＭ２に供給される。各ラインを構成する画素データは、ラインの並列方向（Columnアドレス順）に沿ってＳＤＲＡＭ２に供給される。画像データを構成する各画素データは、水平同期周期HDに同期して順次ＳＤＲＡＭ２に供給される。
【００５４】
まず、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が９０°である場合の処理が図２,図３のフローチャートと図６のＳＤＲＡＭ２における画像データ配置図とを参照して説明される。なお、第１画像回転処理の回転角度が０°である場合は、第１画像回転処理は実施されない場合と同義である。
【００５５】
最初に、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度０°の第１画像回転処理を含む）が図２のフローチャートと図６の画像データ配置図とを参照して説明される。
【００５６】
ＳＤＲＡＭ２に対する書き込み処理が開始されると、まず、Read/Write回転/反転制御器１１は、垂直同期周期VDが立ち下がるタイミングになるか否かを監視する（Ｓ２０１）。
【００５７】
Ｓ２０１で、垂直同期周期VDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、Write Rowカウンタ７のカウント数と、Write Columnカウンタ８のカウント数と、Writeラインカウンタ３のカウント数と、Write画素カウンタ４のカウント数とを初期値”０”に戻す（Ｓ２０２）。
【００５８】
これにより、Read/Write回転／反転制御器１１は、最初に画素データを書き込む記録領域を、記録ブロック２１〜ｓの配置順の最初に位置する記録ブロック２１とし、しかも、記録ブロック２１内での当初に位置する記録領域を書き込み記録領域として指定する。
【００５９】
Ｓ２０２のカウント数の初期設定処理を実施したRead/Write回転/反転制御器１１は、水平同期周期HDが立ち下がるタイミングになるか否かを監視する（Ｓ２０３）。
【００６０】
Ｓ２０３で、水平同期周期HDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、ＳＤＲＡＭ２にActコマンドを出力するとともに、Write Rowカウンタ７からアドレス制御器１３を介してWrite RowアドレスをＳＤＲＡＭ２に出力させる（Ｓ２０４）。
【００６１】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Write Rowアドレスとして（０）をＳＤＲＡＭ２に出力する。ActコマンドとWrite Rowアドレス（０）とを受けたＳＤＲＡＭ２は、Rowアドレス（０）の記録領域群を書き込み活性状態にする。  
【００６２】
垂直同期周期VD立ち下がり直後のタイミングでは、Read/Write回転/反転制御器１１は、引き続いてＳＤＲＡＭ２にWriteコマンドを出力するとともに、Wri te Columnカウンタ８からアドレス制御器１３を介してWrite Column アドレスをＳＤＲＡＭ２に出力させる（Ｓ２０５）。
【００６３】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Write Column アドレスとして（０）をＳＤＲＡＭ２に出力する。WriteコマンドとWrite Column アドレス（０）とを受けたＳＤＲＡＭ２は、その水平同期周期HDタイミングでＳＤＲＡＭ２に入力される画像データの画素データ（ｘ,ｙ）を、Ｓ２０４,Ｓ２０５でWrite Rowアドレス,Write Columnが指定されたアドレス位置の記録領域に書き込む。
【００６４】
Ｓ２０５の書き込み処理が終了すると、Read/Write回転/反転制御器１１は、Write Columnカウンタ８のカウント数とWrite画素カウンタ４のカウント数とをそれぞれ１カウント加増する（Ｓ２０６）。カウント加増処理を実施したRead/Write回転/反転制御器１１は、Write画素カウンタ４のカウント数が第１画像回転処理前の元画像データの１ラインの画素数Ｈの倍数に一致する否かを判断する（Ｓ２０７）。
【００６５】
Ｓ２０７で、Write画素カウンタ４のカウント数が第１画像回転処理前の元画像データの１ラインの画素数Ｈの倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、元画像データにおける１ライン分の画素データの書き込みがまた終了していないと判断する。そのような判断を下したRead/Write回転/反転制御器１１は、Ｓ２０６で加増されたWrite Columnカウンタ８のカウント数が記録ブロック２１〜sのColumnアドレス数（本実施形態では１６）の倍数に一致するか否かを判断する（Ｓ２０８）。
【００６６】
Ｓ２０８で、Write Columnカウンタ８のカウント数が記録ブロック２１〜sのColumnアドレス数（本実施形態では１６）の倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、次のように判断する。
【００６７】
各記録ブロック２１〜sは、各ブロックのColumnアドレス方向にそのColumnアドレス幅分（本実施形態では１６）だけ並列配置された記録領域群（以下、並列記録領域群という）がRowアドレス方向に複数配列されて構成される。並列記録領域群の数は以下に示されるように、第１画像回転処理前の元画像データの１ライン分の画像数に基づいて次のように規定される。
並列記録領域数＝第１画像回転処理前の元画像データの１ライン分の画素数Ｈ
/並列記録領域内のColumnアドレス数
Ｓ２０８で、Write Columnカウンタ８のカウント数が記録ブロック２１〜sのColumnアドレス数（本実施形態では１６）の倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、画素データを書き込み中の並列記録領域群を構成する全ての記録領域に画素データが未だ書き込まれていないと判断する。
【００６８】
Ｓ２０８で上記判断を下したRead/Write回転/反転制御器１１は、Ｓ２０５に戻って、書き込み中の並列記録領域群において画素データが格納されていない残余の記録領域に対する画素データの書き込み処理を行う。この場合、前記残余の記録領域と書き込み一つ前の記録領域とは、Rowアドレスが同一となるため、この時点でのRowアドレスの指定処理（Ｓ２０４）を実施する必要はない。Rowアドレスの指定処理（Ｓ２０４）を実施する必要がない分、画像データの書き込み処理時間の短縮化が図れる。Rowアドレスの共通化は、各記録ブロック２１〜sの並列記録領域群内で実施できる。書き込み時のRowアドレスの共通化が、図１７の書き込み処理のタイミング図に示される。ここでは、記録ブロック２１〜sの並列記録領域群の記録領域数を１６に設定しており、一つのRowアドレス指定で１６回連続的に画素データが書き込まれる。
【００６９】
Ｓ２０５〜Ｓ２０８の処理を繰り返し行った結果、Ｓ２０８で、Write Columnカウンタ８のカウント数が記録ブロック２１〜sのColumnアドレス数（本実施形態では１６）の倍数に一致すると判断する場合、Read/Write回転/反転制御器１１は、画素データ書き込み中の並列記録領域群を構成する全ての記録領域に対する画素データの書き込み処理が終了したと判断して、Ｓ２０９の処理に移行する。
【００７０】
Ｓ２０９では、Write Rowカウンタ７のWrite Rowアドレスを１カウント加増する処理と、Write Columnカウンタ８のWrite Column アドレスを１６減少する処理とを行う。これにより、画素データ書き込み中の記録ブロック２１〜sにおいて、書き込み対象とする並列記録領域群を一つ加増更新したうえで、書き込み対象とするColumnアドレスを加増更新後の並列記録領域群における当初の位置に移行させる。
【００７１】
Ｓ２０９の処理を実施したのち、Ｓ２０４に戻り、Ｓ２０４〜Ｓ２０９の処理を繰り返すことで記録ブロック２１〜sの各並列記録領域群に対する画素データの書き込みを実施する。
【００７２】
記録ブロック２１〜sの各並列記録領域群に対する画素データの書き込み処理（Ｓ２０４〜Ｓ２０９）を行いながら、Read/Write回転/反転制御器１１はＳ２０７で、Write画素カウンタ４のカウント数が元画像データの１ライン分の画素数（Ｈ）の倍数に一致するか否かを監視する。
【００７３】
Write画素カウンタ４のカウント数が元画像データの１ライン分の画素数（Ｈ）の倍数に一致すると判断する場合、Read/Write回転/反転制御器１１は、元画像データの１ライン分の画素データの全てをＳＤＲＡＭ２に書き込む処理が終了したと判断する。このとき、記録ブロック２１〜sの記録領域数は、第１画像回転処理（本例では０°回転）後の画像データにおける１ライン分の画素データ数（Ｈ）に設定されており、書き込み中の記録ブロック２１〜ｓの記録領域は全て画素データによって満たされることになる。
【００７４】
Ｓ２０７において、第１画像回転処理前の元画像データの１ライン分の画素データの全てを、そのラインに対応する記録ブロック２１〜sに書き込む処理が終了したと判断すると、Read/Write回転/反転制御器１１は、Ｓ２１０の処理を実施する。
【００７５】
Ｓ２１０では、Writeラインカウンタ３で計数している元画像データのライン数を１つ加増する。Ｓ２１０の処理を実施したのち、Read/Write回転/反転制御器１１は、加増したラインカウンタ３のライン数が、第１画像回転処理前の画像データのライン数（元画像データのライン数Ｖ）に一致するかを否かを判断する（Ｓ２１１）。
【００７６】
Ｓ２１１の処理において、加増したW riteラインカウンタ３のライン数が、第１画像回転処理前の元画像データのライン数Ｖに一致しないと判断すると、Read/Write回転/反転制御器１１は、元画像データの全ての画素データをＳＤＲＡＭ２に読み込む処理は未だ終了していないと判断する。
【００７７】
Ｓ２１１で元画像データの全ての画素データをＳＤＲＡＭ２に読み込む処理は未だ終了していないと判断したRead/Write回転/反転制御器１１は、Write RowアドレスとWrite Column アドレスとを次の式により算定する。
Write Rowアドレス＝（Ｈ/１６）×（Writeラインカウンタ３のカウント数/１６）
ただし少数点以下切捨
Write Column アドレス＝（Writeラインカウンタ３のカウント数mod１６）
×１６
上記算定式により、次のようなアドレス変更が実施される。画素データの書き込みを終了した記録ブロック２１〜s−１がColumnアドレス方向の終端に位置しない場合、アドレス移行は次のようになる。
【００７８】
この場合、Write Rowアドレスは１６カウント減少されるとともに、Write Column アドレスは１カウント加増される。これにより、Write RowアドレスとWrite Column アドレスとは、画素データの書き込みを終了した記録ブロック２１〜s−１に対してColumnアドレス方向の正順に隣接する次の記録ブロック２１〜sの当初のアドレス位置に移行する。
【００７９】
一方、画素データの書き込みを終了した記録ブロック２１〜s−１がColumnアドレス方向の終端に位置する場合（Columnアドレス数が２５６のＳＤＲＡＭ２では、記録ブロック２（１６,３２,…）であり、Columnアドレス数が５１２のＳＤＲＡＭ２では、記録ブロック２（３２,６４,…）である場合）、アドレス移行は次のようになる。
【００８０】
この場合、Write Rowアドレスは１カウント加増されるとともに、Write Column アドレスは２５５カウント減少される。これにより、Write RowアドレスとWrite Column アドレスとは、画素データの書き込みを終了した記録ブロック２１〜s−１に対してRowアドレス方向の一つ正順側にあり、かつColumnアドレスの当初に位置する記録ブロック２（１７,３３,…）または、記録ブロック２（３３,６５,…）の当初のアドレス位置に移行する。
【００８１】
Read/Write回転/反転制御器１１は、Ｓ２１２で算定したWrite RowアドレスとWrite Column アドレスとをそれぞれWrite Rowカウンタ７とWrite Columnカウンタ８とに設定したうえで、Ｓ２０３に戻ってＳＤＲＡＭ２に対する画像データの書き込み処理を継続する。
【００８２】
以上説明したＳ２０３〜Ｓ２１２の処理を繰り返しながら、Read/Write回転/反転制御器１１は、Ｓ２１２において加増したWriteラインカウンタ３のライン数が、第１画像回転処理前の元画像データのライン数Ｖに一致するかを否かをＳ２１１で監視する。そして、Ｓ２１２で、加増したラインカウンタ３のライン数が、第１画像回転処理前の元画像データのライン数Ｖに一致すると判断する場合、Read/Write回転/反転制御器１１は、元画像データの全ての画素データをＳＤＲＡＭ２に書き込む処理は終了したと判断して、画像データの書き込み操作を終了する。
【００８３】
以上の処理により、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度０°の第１画像回転処理を含む）が終了する。第１画像回転処理は、各元画像の各ラインの画素データ群を、対応する記録ブロック２１〜ｓの一つに格納する処理となる。
【００８４】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度０°であって実質的には第１画像回転処理なし）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に９０°の第２画像回転処理が実施される場合の処理が、図３のフローチャートと図７の画像データ配置図とを参照して説明される。
【００８５】
ＳＤＲＡＭ２に対する読み出し処理が開始されると、まず、Read/Write回転/反転制御器１１は、垂直同期周期VDが立ち下がるタイミングになるか否かを監視する（Ｓ３０１）。
【００８６】
Ｓ３０１で、垂直同期周期VDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、Read Row カウンタ９のカウント数を（Ｈ/１６−１）に設定し、Read Column カウンタ１０のカウント数を１５に設定し、readラインカウンタ５のカウント数とread画素カウンタ６のカウント数とを初期値”０”に戻す（Ｓ３０２）。なお、Ｈは、上述したように、第１画像回転処理前の元画像データの１ライン分の画素数である。
【００８７】
これにより、Read/Write回転／反転制御器１１は、最初に画素データを読み出す記録領域を、記録ブロック２１〜ｓの配置順の最初に位置する記録ブロック２１とし、しかも、記録ブロック２１内での最後に位置する記録領域を読み出し記録領域として指定する。
【００８８】
Ｓ３０２のカウント数初期設定処理を実施したRead/Write回転/反転制御器１１は、水平同期周期HDが立ち下がるタイミングになるか否かを監視する（Ｓ３０３）。
【００８９】
Ｓ３０３で、水平同期周期HDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、ＳＤＲＡＭ２にActコマンドを出力するとともに、Read Row カウンタ９からアドレス制御器１３を介してRead RowアドレスをＳＤＲＡＭ２に出力させる（Ｓ３０４）。
【００９０】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Read Rowアドレスとして（Ｈ/１６−１）をＳＤＲＡＭ２に出力する。ActコマンドとRead Rowアドレス（Ｈ/１６−１）とを受けたＳＤＲＡＭ２は、Rowアドレス（Ｈ/１６−１）に位置する記録領域群を読み出し活性状態にする。
【００９１】
垂直同期周期VD立ち下がり直後のタイミングでは、Read/Write回転/反転制御器１１は、引き続いてＳＤＲＡＭ２にReadコマンドを出力するとともに、Read Column カウンタ１０からアドレス制御器１３を介してRead Column アドレスをＳＤＲＡＭ２に出力させる（Ｓ３０５）。
【００９２】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Read Column アドレスとして（１５）をＳＤＲＡＭ２に出力する。ReadコマンドとRead Column アドレス（１５）とを受けたＳＤＲＡＭ２は、その水平同期周期HDタイミングで、Ro wアドレス（Ｈ/１６−１）、Columnアドレス（１５）でアドレス指定される記録領域に格納している画素データ（ｘ,ｙ）を読み出す。
【００９３】
Ｓ３０５の読み出し処理が終了すると、Read/Write回転/反転制御器１１は、Read Column カウンタ１０のカウント数を１６カウント加増するとともに、read画素カウンタ６のカウント数を１カウント加増する（Ｓ３０６）。この場合、Columnアドレスの加増処理は、現在読み出し記録領域が位置する記録ブロック２ａの配列方向の正順側に位置する隣の記録ブロック２ａ＋１に読み出し記録領域を移行させる処理となる。なお、変数ａは、１〜ｓ範囲内の任意の自然数である。
【００９４】
カウント加増処理を実施したRead/Write回転/反転制御器１１は、Columnアドレスの加増処理を実施したread画素カウンタ６のカウント数が元画像データのラインＶの倍数に一致する否かを判断する（Ｓ３０７）。
【００９５】
Ｓ３０７で、read画素カウンタ６のカウント数が画像データのライン数Ｖの倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、第２の回転処理（９０°）を施した後の画像データにおける１ライン分（Ｖ）の画素データの読み出しが未だ終了していないと判断する。そのような判断を下したRead/Write回転/反転制御器１１は、Ｓ３０６で１６カウント加増したRead Column カウンタ１０のカウント数がＳＤＲＡＭ２のColumnアドレス数を超過するか否かを判断する（Ｓ３０８）。なお、図３のフローチャートでは、Columnアドレス数を２５６に設定してＳ３０８の処理を構成している。これは、ＳＤＲＡＭ２のColumnアドレス数が２５６である場合を想定したものであり、Columnアドレス数が他の数（例えば、５１２）のＳＤＲＡＭ２を用いる場合には、Ｓ３０８のステップにおいて、Columnアドレス数はそのColumnアドレス数（５１２等）に設定される。
【００９６】
Ｓ３０８で、Read Column カウンタ１０のカウント数がＳＤＲＡＭ２のColumnアドレス数（図３では２５６）を超過しないと判断する場合、Read/Write回転/反転制御器１１は、次のように判断する。
【００９７】
この場合、Read/Write回転/反転制御器１１は、画素データを読み出すためにＳＤＲＡＭ２上の一つのColumnアドレスライン上で指定しているColumnアドレスが、Ｓ３０６のColumnアドレス加増処理を受けてもそのColumnアドレスラインの終端（Columnアドレス終端）に達せず、Columnアドレスライン上の途中位置にあると判断する。
【００９８】
Ｓ３０８で上記判断を下したRead/Write回転/反転制御器１１は、Ｓ３０５に戻って、Ｓ３０６でColumnアドレスだけを１６カウント加増処理したアドレス位置にあるＳＤＲＡＭ２の記録領域から画素データを読み出す処理を行う。この場合、読み出し中の記録領域と読み出し一つ前の記録領域とは、Rowアドレスが同一となるため、この時点でのRowアドレスの指定処理（Ｓ３０４）を実施する必要はない。Rowアドレスの指定処理（Ｓ３０４）を実施する必要がない分、画像データの読み出し処理時間の短縮化が図れる。Rowアドレスの共通化は、画素データを読み出す記録領域が同一のColumnアドレスライン内にある場合において実施できる。そのため、Rowアドレスを共通化できる間は、ＳＤＲＡＭ２から画素データをバーストリードすることができる。読み出し時のRowアドレスの共通化が、図１８の読み出し処理のタイミング図に示される。ここでは、記録ブロック２１〜sの並列記録領域群の記録領域数を１６に設定しており、一つのRowアドレス指定で１６個の画素データがバーストリードされる。
【００９９】
Ｓ３０５〜Ｓ３０８の処理を繰り返し行った結果、Ｓ３０６で実施したColumnアドレスの加増処理後のRead Column カウンタ１０のカウント数がＳＤＲＡＭ２のColumnアドレス数（図３のフローチャートでは２５６）を超過したと判断する場合、Read/Write回転/反転制御器１１は、画素データ読み出し中のColumnアドレスライン上には、Columnアドレスにして１６カウント毎（記録ブロック毎）に行う画素データの読み出す処理をこれ以上実施することができないと判断して、Ｓ３０９の処理に移行する。
【０１００】
Ｓ３０９では、Read Row カウンタ９のWrite RowアドレスをＨ/１６カウント加増する処理と、Read Column カウンタ１０のWrite Column アドレスを２５６カウント減少する処理とを行う。これにより、画素データ読み出し中のＳＤＲＡＭ２において、Rowアドレスを記録ブロック２１〜ｓのRowアドレス幅分加増更新したうえで、ColumnアドレスをそのColumnアドレスライン上の当初位置に移行させる。以上の処理により、読み出し記録領域の指定位置は、ＳＤＲＡＭ２のColumnアドレス方向の当初位置（Columnアドレス０）に移動したうえでRowアドレスの正順方向に記録ブロック一つ分移動する。なお、Ｓ３０９でColumnアドレスを２５６減少させた結果、−の算定結果となった場合には、算定結果は０とみなされる。
【０１０１】
Ｓ３０９の読み出し記録領域の移動処理を実施したのち、Ｓ３０４に戻り、Ｓ３０４〜Ｓ３０９の処理を繰り返す。これにより、画素データをColumnアドレス方向に沿って記録ブロック２１〜s毎に読み出す処理を、指定するColumnアドレスがColumnアドレス方向の終端に達するまで実施する。
【０１０２】
そのColumnアドレスライン上での画素データの読み出し処理（Ｓ３０４〜Ｓ３０９）を行いながら、Read/Write回転/反転制御器１１は、Ｓ３０７においてread画素カウンタ６のカウント数が元画像データのライン数Ｖ（第２画像回転処理後の画像データの１ライン分の画素数）の倍数に一致するか否かを監視する。
【０１０３】
Read画素カウンタ６のカウント数が元画像データのライン数Ｖ（第２画像画像回転処理後の画像データの１ライン分の画素数）の倍数に一致する場合、Read/Write回転/反転制御器１１は、第２画像画像回転処理後の画像データにおいてその画像向きでの１ライン分の画素データの読み出し処理は終了したと判断する。
【０１０４】
Ｓ３０７において、第２画像回転処理後画像データの１ライン分の画素データの全て読み出す処理が終了したと判断すると、Read/Write回転/反転制御器１１は、Ｓ３１０の処理を実施する。Ｓ３１０では、readラインカウンタ５で計数している読み出しにより形成する画像データ（第２画像回転処理後（９０°））のライン数を１つ加増する。
【０１０５】
Ｓ３１０の処理を実施したのち、Read/Write回転/反転制御器１１は、加増したreadラインカウンタ５のカウント数（ライン数）が、読み出しにより形成する画像データ（第２画像回転処理後（９０°））のライン数を超過しており、画像データを構成するすべての画素データの読み出しが終了したか否かを判断する。具体的には、この判断は、readラインカウンタ５のカウント数（ライン数）が、画像データ（第２画像回転処理後）のライン数である元画像データの１ラインの画素数（Ｈ）に一致するかを否かにより行われる（Ｓ３１１）。
【０１０６】
Ｓ３１１の処理において、加増したreadラインカウンタ５のカウント数（ライン数）が、元画像データの１ラインの画素数（第２画像回転処理（９０°）後の画像データのライン数）Ｈに一致しないと判断すると、Read/Write回転/反転制御器１１は、第２画像回転処理後の画像データの全ての画素データをＳＤＲＡＭ２から読み出す処理は未だ終了していないと判断する。
【０１０７】
Ｓ３１１で画像データの全ての画素データをＳＤＲＡＭ２に読み込む処理は未だ終了していないと判断するとRead/Write回転/反転制御器１１は、Read RowアドレスとRead Column アドレスとを、次の式により算定する。
Read Rowアドレス＝Ｈ/１６−１−（readラインカウンタ５のカウント数/１６）
ただし少数点以下切捨
Read Column アドレス＝（readラインカウンタ５のカウント数mod１６）×１６
上記算定式により、次のようなアドレス変更が実施される。読み出し指定する記録領域を、ＳＤＲＡＭ２内でアレイ状に配列される複数の記録ブロック２１〜ｓの中で配列順の当初に位置する記録ブロック２１内の記録領域に移動させる。記録ブロック２１は第１画像回転処理後の画像データの１ライン目に位置する画素群の格納記録領域を格納している。さらに、記録ブロック２１内に位置する記録領域の中から次の記録領域を読み出し記録領域として指定する。
【０１０８】
記録ブロック２１内での記録領域の指定を理解するうえで、画素データが次のような配置順に沿って記録ブロック２１〜ｓ内で格納されていることに注意を要する。画素データは、各記録ブロック２１〜ｓ内においてColumnアドレス方向に沿って順次配置されたのち、ブロック当初のCo lumnアドレス位置まで折り返したうえでRowアドレス方向に１アドレス分移行するという配置順に沿って記録ブロック２１〜ｓの記録領域に順次格納されている。
【０１０９】
画素データがこのような配置順で格納されている記録領域２１内において、読み出しが終了した画素データより上記配置順にして一つ手前のアドレス位置に、次の読み出し記録領域がくるように記録領域の指定が行われる。配置順にして一つ手前のアドレス位置とは、第１画像回転処理前の画像データ（元画像データ）上の当初ライン（０）上において画素順にして一つ手前の位置を示し、第２画像回転処理（９０°）後においては、ライン順にして一つ先のラインにおける当初の画素位置を示す。
【０１１０】
Read/Write回転/反転制御器１１は、Ｓ３１２で算定したRead Rowアドレス とRead Column アドレスとをそれぞれRead Row カウンタ９とRead Column カウンタ１０とに設定したうえで、Ｓ３０３に戻ってＳＤＲＡＭ２に対する画像データの書き込み処理を継続する。
【０１１１】
以上説明したＳ３０３〜Ｓ３１２の処理を繰り返しながら、Read/Write回転/反転制御器１１は、Ｓ３１２において加増したラインカウンタ３のライン数が、元画像の１ラインの画素数Ｈに一致するかを否かをＳ３１１で監視する。そして、Ｓ３１１で、加増したラインカウンタ３のライン数が、Ｈに一致するとＳ３１１で判断する場合、Read/Write回転/反転制御器１１は、画像データの全ての画素データをＳＤＲＡＭ２から読み込す処理が終了したと判断して、画像データの読み出し操作を終了する。
【０１１２】
以上の処理により、ＳＤＲＡＭ２から画像データを読み出す処理（回転角度９０°の第２画像回転処理を含む）が終了する。第２画像回転処理は、各元画像の各ラインの画素データがそれぞれ格納された記録ブロック２１〜ｓから、ブロック毎に一つずつ画素データを読み出すことで、第２画像回転処理後の画像向きにおおける各ラインの画像を形成する。その際、記録ブロック２１〜ｓから、ブロック毎に一つずつ画素データを読み出すことで、連続する複数の画素データの読み出し処理においてRowアドレス指定の共有化が図られ、これによってバーストリードが実現される。
【０１１３】
次に、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が９０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が０°である場合の処理が図４,図５のフローチャートと図７のＳＤＲＡＭ２内の画像データ配置図とを参照して説明される。なお、第２画像回転処理の回転角度が０°である場合は、第２画像回転処理が実施されない場合と同義である。
【０１１４】
最初に、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度９０°の第１画像回転処理を含む）が図４のフローチャートと図７の画像データ配置図とを参照して説明される。
【０１１５】
ＳＤＲＡＭ２に対する書き込み処理が開始されると、まず、Read/Write回転/反転制御器１１は、垂直同期周期VDが立ち下がるタイミングになるか否かを監視する（Ｓ４０１）。
【０１１６】
Ｓ４０１で、垂直同期周期VDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、Write Rowカウンタ７のカウント数をＨＶ/２５６−Ｖ/１６に設定し、Write Columnカウンタ８のカウント数を２４０に設定し、Writeラインカウンタ３のカウント数と、Write画素カウンタ４のカウント数とを初期値０に戻す（Ｓ４０２）。
【０１１７】
これにより、Read/Write回転／反転制御器１１は、最初に画素データを書き込む記録領域を、記録ブロック２１〜ｓの配置順の最後に位置する記録ブロック２ｓ内の記録領域とし、しかも、記録ブロック２ｓ内での当初に位置する記録領域を書き込み記録領域として指定する。
【０１１８】
Ｓ４０２のカウント数の初期設定処理を実施したRead/Write回転/反転制御器１１は、水平同期周期HDが立ち下がるタイミングになるか否かを監視する（Ｓ４０３）。
【０１１９】
Ｓ４０３で、水平同期周期HDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、ＳＤＲＡＭ２にActコマンドを出力するとともに、Write Rowカウンタ７からアドレス制御器１３を介してWrite RowアドレスをＳＤＲＡＭ２に出力させる（Ｓ４０４）。
【０１２０】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Write Rowアドレスとして（ＨＶ/２５６−Ｖ/１６）をＳＤＲＡＭ２に出力する。ActコマンドとWrite Rowアドレス（ＨＶ/２５６−Ｖ/１６）とを受けたＳＤＲＡＭ２は、Rowアドレス（ＨＶ/２５６−Ｖ/１６）の記録領域群を書き込み活性状態にする。
【０１２１】
垂直同期周期VD立ち下がり直後のタイミングでは、Read/Write回転/反転制御器１１は、引き続いてＳＤＲＡＭ２にWriteコマンドを出力するとともに、Write Columnカウンタ８からアドレス制御器１３を介してWrite Column アドレスをＳＤＲＡＭ２に出力させる（Ｓ４０５）。
【０１２２】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Write Column アドレスとして（２４０）をＳＤＲＡＭ２に出力する。WriteコマンドとWrite Column アドレス（２４０）とを受けたＳＤＲＡＭ２は、その水平同期周期HDタイミングでＳＤＲＡＭ２に入力される画像データの画素データ（ｘ,ｙ）を、Ｓ２０４,Ｓ２０５でWrite Rowアドレス,Write Columnが指定されたアドレス位置の記録領域に書き込む。
【０１２３】
Ｓ４０５の書き込み処理が終了すると、Read/Write回転/反転制御器１１は、Write Columnカウンタ８のカウント数を１６カウント減少させるとともに、Write画素カウンタ４のカウント数を１カウント加増する（Ｓ４０６）。カウント加増・減少処理を実施したRead/Write回転/反転制御器１１は、加増したWri te画素カウンタ４のカウント数が第１画像回転処理前の元画像データの１ラインの画素数Ｈの倍数に一致する否かを判断する（Ｓ４０７）。
【０１２４】
Ｓ４０７で、Write画素カウンタ４のカウント数が元画像データの１ラインの画素数Ｈの倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、第１画像回転処理前の元画像データにおける１ライン分の画素データの書き込みがまた終了していないと判断する。そのような判断を下したRead/Write回転/反転制御器１１は、Ｓ４０６で１６カウント減少させたWrite Columnカウンタ８のカウント数が０未満になるまで減少したか否かを判断する（Ｓ４０８）。
【０１２５】
Ｓ４０８で、Write Columnカウンタ８のカウント数０未満になるまで減少していないと判断する場合、Read/Write回転/反転制御器１１は、次のように判断する。
【０１２６】
Ｓ４０８における判断を理解するうえで、第１画像回転処理（９０°）を実施する場合における書き込み記録領域の指定時の規則性を理解することが必要となる。規則は次のように設定される。
・最終位置の記録ブロック２ｓ内の当初アドレス位置（（Ｈ−１６）Ｖ/２５６,２４１）or（（Ｈ−３２Ｖ）/５１２,４９７）を指定開始点とする。
・記録ブロック２１〜ｓの配置順の逆順に沿って各記録ブロック２１〜s毎に書きこみ指定記録領域を移行させる。
・書き込み記録領域の移行時、指定する書き込み記録領域の位置は、各記録ブロック２１〜ｓ内で同一の配置位置とする。
・書き込み記録領域の指定位置の同一化は、記録ブロック２１〜ｓ毎に移行する書き込み記録領域の指定が配置順当初に位置する記録ブロック２１になるまで継続する。
・書き込み記録領域の指定位置が配置順当初に位置する記録ブロック２１に到達すれば、次の書き込み記録領域の指定は配置順最後に位置する記録ブロック２ｓに戻る。
・書き込み記録領域の指定が配置順最後に位置する記録ブロック２ｓに戻れば、記録ブロック２ｓ内で指定する書き込み記録領域の位置はブロック内で記録領域の配置順の正順で一つ分移行する。
【０１２７】
このような規則に基づいて実施される書き込み記録領域の指定において、Ｓ４０８の判断は、書き込み記録領域の指定がColumnアドレス（０）に到達したか否かの判断となる。
【０１２８】
Ｓ４０８において、Write Columnカウンタ８のカウント数（Write Column アドレス）が０未満ではない場合、Read/Write回転／反転制御器１１は、Ｓ４０６で減少処理された次の書き込み記録領域のColumnアドレスが（０）に到達していないと判断する。
【０１２９】
Ｓ４０８で上記判断を下したRead/Write回転/反転制御器１１は、Ｓ４０５に戻って画素データの書き込み処理を行う。この場合、図１７に示されるように、書き込み処理中の記録領域と書き込み処理一つ前の記録領域とは、Rowアドレスが同一となるため、この時点でのRowアドレスの指定処理（Ｓ４０４）を実施する必要はない。Rowアドレスの指定処理（Ｓ４０４）を実施する必要がない分、画像データの書き込み処理時間の短縮化が図れる。Rowアドレスの共通化は、書き込み記録領域の指定がColumnアドレス（０）に達するまで実施できる。
【０１３０】
Ｓ４０５〜Ｓ４０８の処理を繰り返し行った結果、Ｓ４０８で、Write Columnカウンタ８のカウント数（Write Column アドレス）が０未満になった場合、Read/Write回転／反転制御器１１は、次に指定する書き込み記録領域を、Rowアドレスの変更を行うことなく実施することは不可能であると判断する。
このような判断を下したRead/Write回転/反転制御器１１は、Ｓ４０９の処理に移行する。
【０１３１】
Ｓ４０９では、Write Rowカウンタ７のWrite RowアドレスをＶ/１６カウント減少する処理と、Write Columnカウンタ８のWrite Column アドレスを２５６カウント加増する処理とを行う。これにより、書き込み記録領域の指定は、次の条件を満たす記録ブロック２１〜ｓに移行する。
条件とは、
・Columnアドレス方向の最後に位置する記録ブロック内にある記録領域である、
・最後に画像データを書き込んだ記録領域が属する記録ブロックに対して、Rowアドレス方向の逆順にしてブロック一つ分移行した記録ブロック内にある記録領域である、
・記録ブロック内における書き込み指定記録領域の位置は、先の書き込み記録領域と変わらない、
というものである。
【０１３２】
Ｓ４０９の書き込み記録領域指定処理を実施したのち、Ｓ４０４に戻り、Ｓ４０４〜Ｓ４０９の処理を繰り返すことで記録ブロック２１〜sに対する画素データの書き込みを継続する。
【０１３３】
記録ブロック２１〜sの各記録領域に対する画素データの書き込み処理（Ｓ４０４〜Ｓ４０９）を行いながら、Read/Write回転/反転制御器１１はＳ４０７で、Write画素カウンタ４のカウント数が元画像データの１ライン分の画素数（Ｈ）の倍数に一致するかを監視する。
【０１３４】
Write画素カウンタ４のカウント数が元画像データの１ライン分の画素数（Ｈ）の倍数に一致すると判断する場合、Read/Write回転/反転制御器１１は、元画像データの１ライン分の画素データの全てをＳＤＲＡＭ２に書き込む処理が終了したと判断する。このとき、画素データが書き込まれる記録領域は記録ブロック２１〜ｓの配置順当初に位置する記録ブロック２１となる。
【０１３５】
Ｓ４０７において、元画像データの１ライン分の画素データの全てを、記録ブロック２１〜sに分散して書き込む処理が終了したと判断すると、Read/Write回転/反転制御器１１は、Ｓ４１０の処理を実施する。
【０１３６】
Ｓ４１０では、Writeラインカウンタ３で計数している画像データのライン数を１つ加増する。Ｓ４１０の処理を実施したのち、Read/Write回転/反転制御器１１は、加増したラインカウンタ３のライン数が、元画像データのライン数（Ｖ）に一致するかを否かを判断する（Ｓ４１１）。
【０１３７】
Ｓ４１１の処理において、加増したWriteラインカウンタ３のライン数が、元画像データのライン数であるＶに一致しないと判断すると、Read/Write回転/反転制御器１１は、元画像データの全ての画素データをＳＤＲＡＭ２に読み込む処理は未だ終了していないと判断する。
【０１３８】
Ｓ４１１で画像データの全ての画素データをＳＤＲＡＭ２に読み込む処理は未だ終了していないと判断したRead/Write回転/反転制御器１１は、Write RowアドレスとWrite Column アドレスとを次の式により算定する。
Write Rowアドレス＝ＨＶ/２５６−
（Ｖ−Writeラインカウンタ３のカウント数）/１６
ただし少数点以下切捨
Write Column アドレス＝２４０＋
（Writeラインカウンタ３のカウント数mod１６）
上記算定式により、書き込み記録領域の指定は、次の条件を満たす記録ブロック２１〜ｓに移行する。
条件とは、
・記録ブロック２１〜ｓの配列順の最後に位置する記録ブロック２ｓ内にある記録領域である、
・記録ブロック２ｓ内で指定する書き込み記録領域の位置は、最後に画像データを書き込んだ記録領域が属する記録ブロック２１において、ブロック内での記録領域の配置順の正順で一つ分その書き込み記録領域から移行した記録領域である、
というものである。ここで、ブロック内での記録領域の配置順の正順とは、ブロック内でのColumnアドレス方向およびRowアドレス方向の正順である。
【０１３９】
Read/Write回転/反転制御器１１は、Ｓ４１１で算定したWrite RowアドレスとWrite Column アドレスとをそれぞれWrite Rowカウンタ７とWrite Columnカウンタ８とに設定したうえで、Ｓ４０３に戻ってＳＤＲＡＭ２に対する画像データの書き込み処理を継続する。
【０１４０】
以上説明したＳ４０３〜Ｓ４１２の処理を繰り返しながら、Read/Write回転/反転制御器１１は、Ｓ４１１において加増したWriteラインカウンタ３のライン数が、第１画像回転処理前の元画像データのライン数であるＶに一致するかを否かを監視する。そして、Ｓ４１１で、加増したWriteラインカウンタ３のライン数が、第１画像回転処理前の元画像データのライン数であるＶに一致すると判断する場合、Read/Write回転/反転制御器１１は、元画像データの全ての画素データをＳＤＲＡＭ２に書き込む処理は終了したと判断して、画像データの書き込み操作を終了する。
【０１４１】
以上の処理により、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度９０°の第１画像回転処理を含む）が終了する。第１の画像回転処理は、元画像のライン方向に沿って取り出す画素データのひとつずつを、複数設ける記録ブロック２１〜ｓそれぞれに、Columnアドレス方向に沿って順次ブロックを変更しながら格納する処理となる。
【０１４２】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度９０°）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に０°の第２画像回転処理（実質的に第２画像回転処理無し）が実施される場合の処理が、図５のフローチャートと図７の画像データ配置図とを参照して説明される。
【０１４３】
ＳＤＲＡＭ２に対する読み出し処理が開始されると、まず、Read/Write回転/反転制御器１１は、垂直同期周期VDが立ち下がるタイミングになるか否かを監視する（Ｓ５０１）。
【０１４４】
Ｓ５０１で、垂直同期周期VDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、Read Row カウンタ９のカウント数と、Read Column カウンタ１０のカウント数と、readラインカウンタ５のカウント数と、read画素カウンタ６のカウント数とを初期値０に戻す（Ｓ５０２）。
【０１４５】
Ｓ５０２のカウント数初期設定処理を実施したRead/Write回転/反転制御器１１は、水平同期周期HDが立ち下がるタイミングになるか否かを監視する（Ｓ５０３）。
【０１４６】
Ｓ５０３で、水平同期周期HDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、ＳＤＲＡＭ２にActコマンドを出力するとともに、Rea d Row カウンタ９からアドレス制御器１３を介してRead RowアドレスをＳＤＲＡＭ２に出力させる（Ｓ５０４）。
【０１４７】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Read Rowアドレスとして（０）をＳＤＲＡＭ２に出力する。ActコマンドとRead Rowアドレス（０）とを受けたＳＤＲＡＭ２は、Rowアドレス（０）に位置する記録領域群を読み出し活性状態にする。
【０１４８】
垂直同期周期VD立ち下がり直後のタイミングでは、Read/Write回転/反転制御器１１は、引き続いてＳＤＲＡＭ２にR eadコマンドを出力するとともに、Read Column カウンタ１０からアドレス制御器１３を介してRead Column アドレスをＳＤＲＡＭ２に出力させる（Ｓ５０５）。
【０１４９】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Read Column アドレスとして（０）をＳＤＲＡＭ２に出力する。ReadコマンドとRead Column アドレス（０）とを受けたＳＤＲＡＭ２は、その水平同期周期HDタイミングで、Rowアドレス（０）、Columnアドレス（０）でアドレス指定される記録領域に格納している画素データ（ｘ,ｙ）を読み出す。
【０１５０】
Ｓ５０５の読み出し処理が終了すると、Read/Write回転/反転制御器１１は、Read Column カウンタ１０のカウント数を１カウント加増するとともに、read画素カウンタ６のカウント数を１カウント加増する（Ｓ５０６）。この場合、Columnアドレスの加増処理は、現在読み出し記録領域が位置する記録ブロック２１の配列方向の正順側に位置する隣の記録領域に移行する処理となる。
【０１５１】
カウント加増処理を実施したRead/Write回転/反転制御器１１は、Columnアドレスの加増処理を実施したread画素カウンタ６のカウント数が元画像データの１ライン画素数Ｈの倍数に一致する否かを判断する（Ｓ５０７）。
【０１５２】
Ｓ５０７で、read画素カウンタ６のカウント数が第２画像回転処理後の画像データの１ライン画素数に相当する元画像のライン数Ｖの倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、第２の回転処理（９０°）を施した後の画像データにおける１ライン分の画素データの読み出しがまた終了していないと判断する。そのような判断を下したRead/Write回転/反転制御器１１は、Ｓ５０６で１カウント加増したRead Column カウンタ１０のカウント数が記録ブロック２１〜ｓのColumnアドレス数（１６）の倍数を超過するか否かを判断する（Ｓ５０８）。なお、図５のフローチャートでは、記録ブロック２１〜ｓのColumnアドレス数を１６に設定してＳ５０８の処理を構成している。記録ブロック２１〜ｓのColumnアドレス数を他の数（例えば、３２）に設定する場合には、Ｓ５０８のステップにおいて、記録ブロック２１〜ｓのColumnアドレス数はそのColumnアドレス数（３２等）に設定される。
【０１５３】
Ｓ５０８で、Read Column カウンタ１０のカウント数が記録ブロック２１〜ｓColumnアドレス数（図３では１６）の倍数を超過しないと判断する場合、Read/Write回転/反転制御器１１は、次のように判断する。
【０１５４】
この場合、Read/Write回転/反転制御器１１は、画素データを読み出すために記録ブロック２１〜ｓ内の一つの並列記録領域群上で指定しているColumnアドレスが、Ｓ５０６のColumnアドレス加増処理を受けてもその並列記録領域群の終端（Columnアドレス終端）に達せず、並列記録領域群上の途中位置にあると判断する。
【０１５５】
Ｓ５０８で上記判断を下したRead/Write回転/反転制御器１１は、Ｓ５０５に戻って、Ｓ５０６でColumnアドレスだけを１カウント加増処理したアドレス位置にあるＳＤＲＡＭ２の記録領域から画素データを読み出す処理を行う。この場合、図１８に示されるように、読み出し中の記録領域と読み出し一つ前の記録領域とは、Rowアドレスが同一となるため、この時点でのRowアドレスの指定処理（Ｓ５０４）を実施する必要はない。Rowアドレスの指定処理（Ｓ５０４）を実施する必要がない分、画像データの読み出し処理時間の短縮化が図れる。Rowアドレスの共通化は、画素データを読み出す記録領域が同一の並列記録領域群内にある場合において実施できる。そのため、Rowアドレスを共通化できる間は、ＳＤＲＡＭ２から画素データをバーストリードすることができる。
【０１５６】
Ｓ５０５〜Ｓ５０８の処理を繰り返し行った結果、Ｓ５０６で実施したColumnアドレスの加増処理後のRead Column カウンタ１０のカウント数が記録ブロック２１〜ｓのColumnアドレス数（図３のフローチャートでは１６）の倍数を超過したと判断する場合、Read/Write回転/反転制御器１１は、画素データ読み出し中の並列記録領域群において画素データの読み出す処理をこれ以上継続することができないと判断して、Ｓ５０９の処理に移行する。
【０１５７】
Ｓ５０９では、Read Row カウンタ９のWrite Rowアドレスを１カウント加増する処理と、Read Column カウンタ１０のWrite Column アドレスを１６カウント減少する処理とを行う。これにより、画素データ読み出し中のＳＤＲＡＭ２において、Rowアドレスを記録ブロック２１〜ｓのRowアドレス幅分加増更新したうえで、ColumnアドレスをそのColumnアドレスライン上の当初位置に移行させる。以上の処理により、読み出し記録領域の指定位置は、読み出し対象とする並列記録領域群を一つ加増更新したうえで、読み出し対象とするColumnアドレスを加増更新後の並列記録領域群における当初の位置に移行させる。
なお、Ｓ３０９でColumnアドレスを１６減少させた結果、−の算定結果となった場合には、算定結果は０とみなされる。
【０１５８】
Ｓ５０９の読み出し記録領域の移動処理を実施したのち、Ｓ５０４に戻り、Ｓ５０４〜Ｓ５０９の処理を繰り返す。これにより、一つの記録ブロック２１〜ｓ内の記録領域から画素データを読み出す処理を、その記録ブロック２１〜ｓの記録領域配置順の終端に位置する記録領域になるまで実施する。
【０１５９】
その記録ブロック２１〜ｓ内の記録領域から画素データを読み出す処理（Ｓ５０４〜Ｓ５０９）を行いながら、Read/Write回転/反転制御器１１は、Ｓ５０７においてread画素カウンタ６のカウント数が元画像データのライン数Ｖ（第２画像画像回転処理後の画像データの１ライン分の画素数）の倍数に一致するか否かを監視する。
【０１６０】
Read画素カウンタ６のカウント数が元画像データのライン数Ｖ（第２画像画像回転処理後画像データの１ライン分の画素数）の倍数に一致する場合、Read/Write回転/反転制御器１１は、第２画像画像回転処理後の画像データにおいてその画像向きでの１ライン分の画素データの読み出し処理は終了したと判断する。
【０１６１】
Ｓ５０７において、第２画像回転処理後の画像データの１ライン分の画素データの読み出す処理が全て終了したと判断すると、Read/Write回転/反転制御器１１は、Ｓ５１０の処理を実施する。Ｓ５１０では、readラインカウンタ５で計数している読み出しにより形成する画像データ（第２画像回転処理後（９０°））のライン数を１つ加増する。
Ｓ５１０の処理を実施したのち、Read/Write回転/反転制御器１１は、加増したreadラインカウンタ５のカウント数（ライン数）が、読み出しにより形成する画像データ（第２画像回転処理後（９０°））のライン数を超過しており、画像データを構成するすべての画素データの読み出しが終了したか否かを判断する。具体的には、この判断は、readラインカウンタ５のカウント数（ライン数）が、画像データ（第２画像回転処理後）のライン数である元画像データの１ラインの画素数（Ｈ）に一致するかを否かにより行われる（Ｓ５１１）。
【０１６２】
Ｓ５１１の処理において、加増したreadラインカウンタ５のカウント数（ライン数）が、元画像データの１ラインの画素数（第２画像回転処理（９０°）後の画像データのライン数）Ｈに一致しないと判断すると、Read/Write回転/反転制御器１１は、画像データの全ての画素データをＳＤＲＡＭ２から読み出す処理は未だ終了していないと判断する。
【０１６３】
Ｓ５１１で画像データの全ての画素データをＳＤＲＡＭ２に読み込む処理は未だ終了していないと判断するとRead/Write回転/反転制御器１１は、Read RowアドレスとRead Column アドレスとを、次の式により算定する。
Write Rowアドレス＝（Ｈ/１６）×（Writeラインカウンタ３のカウント数/１６）
ただし少数点以下切捨
Write Column アドレス＝（Writeラインカウンタ３のカウント数mod１６）
×１６
上記算定式により、次のようなアドレス変更が実施される。画素データの読み出しを終了した記録ブロック２１〜s−１がColumnアドレス方向の終端に位置しない場合、アドレス移行は次のようになる。
【０１６４】
この場合、Read Rowアドレスは１６カウント減少されるとともに、Read Column アドレスは１カウント加増される。これにより、Read RowアドレスとRead  Column アドレスとは、画素データの読み出しを終了した記録ブロック２１〜s−１に対してColumnアドレス方向の正順に隣接する次の記録ブロック２１〜sの当初のアドレス位置に移行する。
【０１６５】
一方、画素データの読み出しを終了した記録ブロック２１〜s−１がColumnアドレス方向の終端に位置する場合（Columnアドレス数が２５６のＳＤＲＡＭ２では、記録ブロック２（１６,３２,…）であり、Columnアドレス数が５１２のＳＤＲＡＭ２では、記録ブロック２（３２,６４,…）である場合）、アドレス移行は次のようになる。
【０１６６】
この場合、Read Rowアドレスは１カウント加増されるとともに、Read Column アドレスは２５５カウント減少される。これにより、Read RowアドレスとRead  Column アドレスとは、画素データの読み出しを終了した記録ブロック２１〜s−１に対してRowアドレス方向の一つ正順側にあり、かつColumnアドレスの当初に位置する記録ブロック２（１７,３３,…）または記録ブロック２（３３,６５,…）の当初のアドレス位置に移行する。
【０１６７】
Read/Write回転/反転制御器１１は、Ｓ５１２で算定したRead Rowアドレス とRead Column アドレスとをそれぞれRead Row カウンタ９とRead Column カウンタ１０とに設定したうえで、Ｓ５０３に戻ってＳＤＲＡＭ２に対する画像データの読み出し処理を継続する。
【０１６８】
以上説明したＳ５０３〜Ｓ５１２の処理を繰り返しながら、Read/Write回転/反転制御器１１は、Ｓ５１２において加増したreadラインカウンタ５のライン数が、第２画像回転処理後の画像データのライン数である元画像データの１ライン画素数Ｈに一致するか否かをＳ５１１で監視する。そして、Ｓ５１１で、加増したラインカウンタ３のライン数が、Ｈに一致すると判断する場合、Read/Write回転/反転制御器１１は、第２画像回転処理後の画像データの全ての画素データをＳＤＲＡＭ２から読み込す処理が終了したと判断して、画像データの読み出し操作を終了する。
【０１６９】
以上の処理により、ＳＤＲＡＭ２から画像データを読み出す処理（回転角度０°の第２画像回転処理を含む）が終了する。この場合において先に実施される第１画像回転処理（画像書き込み処理）により、各間記録ブロック２１〜sには、第２画像回転処理後の各ラインの画素データ群が格納される。そのため、第２画像回転処理は、第２画像回転処理後の画像の各ライン画素データ群を各記録ブロック２１〜sからColumnアドレス順に走査しながら読み出す処理となる。その際、各記録ブロック２１〜s内において、そのColumnアドレス順に画素データを順次読み出すことで、連続する複数の画素データの読み出し処理においてRowアドレス指定の共有化が図られ、これによってバーストリードが実現される。
【０１７０】
次に、ＳＤＲＡＭ２のｎ個の記録領域に、ｎ画素分の画素データを平均化したうえで書き込んだうえで読み出す場合の処理が図８〜図１１のフローチャートを参照して説明される。この場合の処理は基本的には、図２〜図５で示したフローチャートと同様であり、図８は図２に対応し、図９は図３に対応し、図１０は図４に対応し、図１１は図５に対応する。
【０１７１】
まず、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が９０°である場合の処理が図８,図９のフローチャートを参照して説明される。
【０１７２】
最初にＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度０°の第１画像回転処理を含む）が図８のフローチャートを参照して説明される。この場合の書き込み処理は、基本的には、図２のフローチャートと同一である。そのため、図８のフローチャートにおいて、図２のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０１７３】
図８のフローチャートの処理が、図２のフローチャートの処理と異なるのは、Ｓ２０６’の処理と、Ｓ２１２’の処理である。Ｓ２０６,Ｓ２０６’の処理は、ＳＤＲＡＭ２の一つの記録領域に画素データを書き込んだのち、Write Columnカウンタ８のColumnアドレスカウント数とWrite画素カウンタ４の画素カウント数とを加増更新する処理である。ここで、１画素ずつ画素データを書き込む図２の処理では、画素カウント数は１カウントずつ加増更新されていたが、図８の処理では、ｎ画素ずつ画素データを書き込むことに対応して、画素カウント数はｎカウントずつ加増更新される。この点で両処理は相違する。
【０１７４】
Ｓ２１２,Ｓ２１２’の処理は、元画像データの１ライン分の画素データをＳＤＲＡＭ２に書き込んだ後、次に書き込み処理を実施するＳＤＲＡＭ２上の記録領域の指定を行う処理である。ここで、１画素ずつ画素データを書き込む図２の処理では、Ｓ２１２において次に指定する記録領域のWrite Rowアドレスは、
Write Rowアドレス＝（Ｈ/１６）×（Writeラインカウンタ３のカウント数/１６）
の算定式により更新される。
【０１７５】
これに対して、図８の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Ｓ２１２’において次に指定する記録領域のWrite Rowアドレスは、
Write Rowアドレス＝（Ｈ/１６ｎ）
×（Writeラインカウンタ３のカウント数/１６）
の算定式により更新される。この点で両処理は相違する。
【０１７６】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度０°であって実質的には第１画像回転処理なし）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に９０°の第２画像回転処理が実施される場合の処理が、図９のフローチャートを参照して説明される。
【０１７７】
この場合の書き込み処理は、基本的には、図３のフローチャートと同一である。そのため、図９のフローチャートにおいて、図３のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０１７８】
図９のフローチャートの処理が、図３のフローチャートの処理と異なるのは、Ｓ３０２’の処理と、Ｓ３０６’の処理と、Ｓ３０９’の処理と、Ｓ３１２’の処理である。Ｓ３０２,Ｓ３０２’の処理は、垂直同期周期VD立ち下がり直後に読み出し処理する記録領域のアドレス指定である。Ｓ３０２の処理においてRead Rowアドレスは、
Read Rowアドレス＝Ｈ/１６−１
の算定式により指定される。これに対して、Ｓ３０２’の処理においては、ｎ画素分まとめて書き込み処理することに対応して、Read Rowアドレスは、
Read Rowアドレス＝Ｈ/１６ｎ−１
の算定式により指定される。この点で両処理は相違する。
【０１７９】
Ｓ３０６,Ｓ３０６’の処理は、ＳＤＲＡＭ２の一つの記録領域から画素データを読み出したのち、Write Columnカウンタ８のColumnアドレスカウント数とWrite画素カウンタ４の画素カウント数とを加増更新する処理である。ここで、１画素ずつ画素データを読み出す図３の処理では、画素カウント数は１カウントずつ加増更新されるが、図９の処理では、ｎ画素分ずつ画素データを読み出すことに対応して、画素カウント数はｎカウントずつ加増更新される。この点で両処理は相違する。
【０１８０】
Ｓ３０９,Ｓ３０９’の処理は、次に読み出し指定する記録領域を、Rowアドレスの変更を含めて指定する処理である。ここで、１画素ずつ画素データを書き込む図３の処理では、Ｓ３０９において、次に読み出し指定する記録領域のRowアドレスであるRead Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス（新）＝Read Rowアドレス（旧）＋Ｈ/１６
の算定式により更新される。これに対して、図９の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Ｓ３０９’において、Read Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス（新）＝Read Rowアドレス（旧）＋Ｈ/１６ｎ
の算定式により更新される。この点で両処理は相違する。
【０１８１】
Ｓ３１２,Ｓ３１２’の処理は、読み出し処理後の画像データの１ライン分となる画素データをＳＤＲＡＭ２から読み出した後、次に読み出し処理を実施する記録領域の指定を行う処理である。ここで、１画素ずつ画素データを書き込む図３の処理では、Ｓ３１２において次に指定する記録領域のRowアドレスであるRead Row カウンタ９のRowアドレスのカウント数は、
Read Rowアドレス＝Ｈ/１６−１−（readラインカウンタ５のカウント数/１６）
の算定式により更新される。
【０１８２】
これに対して、図８の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Ｓ３１２’において、Read Row カウンタ９のRowアドレスのカウント数は、
Read Rowアドレス＝Ｈ/１６ｎ−１
−（readラインカウンタ５のカウント数/１６ｎ）
の算定式により更新される。
【０１８３】
また、１画素ずつ画素データを書き込む図３の処理では、Ｓ３１２において次に指定する記録領域のColumnアドレスであるRead Column カウンタ１０のColumnアドレスカウント数は、
Columnアドレス＝１５−（rea dラインカウンタ５のカウント数 mod１６）
の算定式により更新される。
【０１８４】
これに対して、図８の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Ｓ３１２’において、Read Column カウンタ１０のColumnアドレスカウント数は、
Columnアドレス＝１５−（readラインカウンタ５のカウント数/ｎ mod１６）
の算定式により更新される。これらの点で両処理は相違する。
【０１８５】
次に、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が９０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が０°である場合の処理が図１０,図１１のフローチャートを参照して説明される。
【０１８６】
まず、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度９０°の第１画像回転処理を含む）が図１０のフローチャートを参照して説明される。この場合の書き込み処理は、基本的には、図４のフローチャートと同一である。そのため、図１０のフローチャートにおいて、図４のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０１８７】
図１０のフローチャートの処理が、図４のフローチャートの処理と異なるのは、Ｓ４０２’の処理と、Ｓ４０６’の処理と、Ｓ４１２’の処理である。Ｓ４０２,Ｓ４０２’の処理は、垂直同期周期VD立ち下がり直後に書き込み処理する記録領域のアドレス指定である。Ｓ４０２の処理においてWrite RowアドレスであるWrite Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝ＨＶ/２５６−Ｖ１６
の算定式により更新される。
【０１８８】
これに対して、Ｓ４０２’の処理においては、ｎ画素分まとめて書き込み処理することに対応して、Write Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝ＨＶ/２５６ｎ−Ｖ１６
の算定式により指定される。この点で両処理は相違する。
【０１８９】
Ｓ４０６,Ｓ４０６’の処理は、ＳＤＲＡＭ２の一つの記録領域に画素データを書き込んだのち、Write Columnカウンタ８のColumnアドレスカウント数とWrite画素カウンタ４の画素カウント数とを加増更新する処理である。ここで、１画素ずつ画素データを書き込む図４の処理では、画素カウント数は１カウントずつ加増更新されていたが、図１０の処理では、ｎ画素ずつ画素データを書き込むことに対応して、画素カウント数はｎカウントずつ加増更新される。この点で両処理は相違する。
【０１９０】
Ｓ４１２,Ｓ４１２’の処理は、元画像データの１ライン分（記録ブロック２１〜sの１ブロック分）の画素データをＳＤＲＡＭ２に書き込んだ後、次に書き込み処理を実施する記録領域の指定を行う処理である。ここで、１画素ずつ画素データを書き込む図４の処理では、Ｓ４１２において次に指定する記録領域のRowアドレスであるWrite Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝（ＨＶ/２５６）
−（Ｖ−Writeラインカウンタ３のカウント数）/１６
の算定式により更新される。
【０１９１】
これに対して、図１０の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Ｓ４１２’においてWrite Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝（ＨＶ/２５６ｎ）
−（Ｖ−Writeラインカウンタ３のカウント数）/１６
の算定式により指定される。この点で両処理は相違する。
【０１９２】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度９０°）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に０°の第２画像回転処理が実施される場合の処理が、図１１のフローチャートを参照して説明される。
【０１９３】
この場合の書き込み処理は、基本的には、図５のフローチャートと同一である。そのため、図１１のフローチャートにおいて、図５のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０１９４】
図１１のフローチャートの処理が、図５のフローチャートの処理と異なるのは、Ｓ５０６’の処理と、Ｓ５１２’の処理である。
【０１９５】
Ｓ５０６,Ｓ５０６’の処理は、ＳＤＲＡＭ２の一つの記録領域から画素データを読み出したのち、Write Columnカウンタ８のColumnアドレスカウント数とWrite画素カウンタ４の画素カウント数とを加増更新する処理である。ここで、１画素ずつ画素データを読み出す図５におけるＳ５０６の処理では、read画素カウンタ６の画素カウント数は１カウントずつ加増更新されるが、図１１におけるＳ５０６’の処理では、ｎ画素分ずつ画素データを読み出すことに対応して、read画素カウンタ６の画素カウント数はｎカウントずつ加増更新される。この点で両処理は相違する。
【０１９６】
Ｓ５１２,Ｓ５１２’の処理は、読み出し処理後の画像データの１ライン分となる画素データをＳＤＲＡＭ２から読み出した後、次に読み出し処理を実施する記録領域の指定を行う処理である。ここで、１画素ずつ画素データを書き込む図５におけるＳ５１２の処理では、Ｓ５１２において、次に指定する記録領域のRowアドレスであるRead Row カウンタ９のRowアドレスカウント数は、
Write Rowアドレス＝（Ｈ/１６）×（readラインカウンタ５のカウント数/１６）
の算定式により更新される。
【０１９７】
これに対して、図１１におけるＳ５１２’の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Read Row カウンタ９のRowアドレスカウント数は、
Write Rowアドレス＝（Ｈ/１６ｎ）
×（readラインカウンタ５のカウント数/１６）
の算定式により更新される。このの点で両処理は相違する。
【０１９８】
次に、図１６に示されるように、Ｈ×Ｖの画素数を有する画像データ内に、画像データより画素数の少ない小画像データが設けられている場合の処理が図１２〜図１５のフローチャートを参照して説明される。この場合の処理は基本的には、図２〜図５で示したフローチャートと同様であり、図１２は図２に対応し、図１３は図３に対応し、図１４は図４に対応し、図１５は図５に対応する。
【０１９９】
ここで、小画像データは、１ラインに付き画素数Ｈｗが格納されたライン数Ｖｗの大きさ（Ｈｗ×Ｖｗ）を有する。
【０２００】
また、図１６に示されるように、画像データ内において小画像データは次のように配置される。
・小画像データと各ラインの始端との間には、画像数Ｈｓの間隔が開けられる。
・小画像データと各ラインの終端との間には、画素数Ｈｅの間隔が開けられる。
・小画像データと最初のライン（０）との間には、ライン数Ｖｓの間隔が開けられる。
・小画像データと最後のライン（ｓ）との間にはライン数Ｖｅの間隔が開けられる。
【０２０１】
まず、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が９０°である場合の処理が図１２,図１３のフローチャートを参照して説明される。
【０２０２】
最初にＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度０°の第１画像回転処理を含む）が図１２のフローチャートを参照して説明される。この場合の書き込み処理は、基本的には、図２のフローチャートと同一である。そのため、図１２のフローチャートにおいて、図２のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０２０３】
図１２のフローチャートの処理が、図２のフローチャートの処理と異なるのは、Ｓ２０２’’の処理と、Ｓ２０７’’の処理と、Ｓ２１１’’の処理と、Ｓ２１２’’の処理である。Ｓ２０２’’の処理は、垂直同期周期VD立ち下がり直後に書き込み処理する記録領域のアドレス指定である。
【０２０４】
Ｓ２０２の処理においては、
・Rowアドレスの指定値であるWrite Rowカウンタ７のRowアドレスカウント数→０、
・Columnアドレスの指定値であるWrite Columnカウンタ８のColumnアドレスカウント数→０、
・Writeラインカウンタ３のラインカウント数→０、
・Write画素カウンタ４の画素カウント数→０、
に設定される。
【０２０５】
これに対して、Ｓ２０２’’の処理においては、画像データから小画像データを切り出して書き込み処理することに対応して、
・Write Rowカウンタ７のRowアドレスカウント数は、次の算定式により設定される。
Write Rowアドレス＝ＨＶｓ/２５６＋Ｈｓ/１６
・Write Columnカウンタ８のColumnアドレスカウント数は、次の算定式により設定される。
Write Columnアドレス＝（Ｖｓ mod １６）×１６＋（Ｈｓ mod １６）
・Writeラインカウンタ３のラインカウント数はＶｓに設定される。
・Write画素カウンタ４の画素カウント数はＨｓに設定される。
【０２０６】
このような算定式により書き込みアドレス位置を初期設定する点でＳ２０２’’の処理はＳ２０２の処理と相違する。
【０２０７】
Ｓ２０７,Ｓ２０７’’の処理は、画像データや小画像データにおける１ライン分の画素データをＳＤＲＡＭ２に書き込んだか否かを判断する処理である。ここで、画像データを書き込む図２の処理では、Write画素カウンタ４の画素カウント数が画像データの１ラインの画素数Ｈの倍数に一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込む図１２の処理では、Write画素カウンタ４の画素カウント数が（Ｈｓ＋Ｈｗ）の倍数に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２０８】
Ｓ２１１,Ｓ２１１’の処理は、画像データや小画像データの全ての画素データをＳＤＲＡＭ２に書き込む処理が終了したか否かを判断する処理である。ここで、画像データを書き込む図２の処理では、Writeラインカウンタ３のラインカウント数が画像データの総ラインＶに一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込む図１２の処理では、Writeラインカウンタ３のラインカウント数が（Ｖｓ＋Ｖｗ）に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２０９】
Ｓ２１２,Ｓ２１２’’の処理は、画像データや小画像データの１ライン分の画素データをＳＤＲＡＭ２に書き込んだ後、次に書き込み処理を実施するＳＤＲＡＭ２上の記録領域の指定を行う処理である。ここで、画像データを書き込む図２の処理では、Ｓ２１２において次に指定する記録領域のRowアドレスは、
Write Rowアドレス＝（Ｈ/１６）×（Writeラインカウンタ３のカウント/１６）
の算定式により指定される。
【０２１０】
Columnアドレスは、
Write Columnアドレス＝（Writeラインカウンタ３のカウント数 mod １６）
×１６
の算定式により指定される。
【０２１１】
これに対して、図１２の処理では、画像データから小画像データを切り出して書き込むことに対応して、Ｓ２１２’’において次に指定する記録領域のRowアドレスは、
Write Rowアドレス＝（Ｈ/１６ｎ）
×（Writeラインカウンタ３のカウント数/１６）＋Ｈｓ/１６
の算定式により指定される。
【０２１２】
Columnアドレスは、
Write Columnアドレス＝（Writeラインカウンタ３のカウント数 mod １６）
×１６＋（Ｈｓ mod １６）
の算定式より指定される。これらの点で両処理は相違する。
【０２１３】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度０°であって実質的には第１画像回転処理なし）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に９０°の第２画像回転処理が実施される場合の処理が、図１３のフローチャートを参照して説明される。
【０２１４】
この場合の書き込み処理は、基本的には、図３のフローチャートと同一である。そのため、図１３のフローチャートにおいて、図３のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０２１５】
図１３のフローチャートの処理が、図３のフローチャートの処理と異なるのは、Ｓ３０２’’の処理と、Ｓ３０７’’の処理と、Ｓ３１１’’の処理と、Ｓ３１２’’の処理である。Ｓ３０２,Ｓ３０２’’の処理は、垂直同期周期VD立ち下がり直後に読み出し処理する記録領域のアドレス指定である。Ｓ３０２の処理において、Read Rowアドレスは、
Read Rowアドレス＝Ｈ/１６−１
の算定式により指定され、
Read Columnアドレスは１５に更新され、readラインカウンタ５のラインカウント数とread画素カウンタ６の画素カウント数とは０に更新される。
【０２１６】
これに対して、Ｓ３０２’’の処理においては、画像データから小画像を切り出して書き込み処理することに対応して、Read Rowアドレスは、
Read Rowアドレス＝ＨＶｓ/２５６＋（Ｈ−Ｈｅ）/１６−１
の算定式により指定される。
【０２１７】
Read Columnアドレスは、
Read Columnアドレス＝（Ｖｓ mod １６）×１６−（Ｈｅ mod １６）＋１５
の算定式により指定される。readラインカウンタ５のラインカウント数はＨｅに更新され、read画素カウンタ６の画素カウント数はＶｓに更新される。
【０２１８】
このような処理を行う点でＳ３０２’’の処理はＳ３０２の処理と相違する。
【０２１９】
Ｓ３０７,Ｓ３０７’’の処理は、第２画像回転処理後の画像データや小画像データにおける１ライン分の画素データをＳＤＲＡＭ２から読み出したか否かを判断する処理である。ここで、画像データを読み出す図３の処理では、read画素カウンタ６の画素カウント数が元画像データのライン数Ｖの倍数に一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込だのち読み出す図１３の処理では、Write画素カウンタ４の画素カウント数が（Ｖｓ＋Ｖｗ）の倍数に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２２０】
Ｓ３１１,Ｓ３１１’の処理は、画像データや小画像データの全ての画素データをＳＤＲＡＭ２に読み出す処理が終了したか否かを判断する処理である。ここで、画像データを読み出す図３の処理では、readラインカウンタ５のラインカウント数が画像データの１ラインの画素数Ｈに一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込んだうえで読み出す図１３の処理では、Writeラインカウンタ３のラインカウント数が（Ｈｓ＋Ｈｗ）に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２２１】
Ｓ３１２,Ｓ３１２’’の処理は、読み出し処理後の画像データの１ライン分となる画素データをＳＤＲＡＭ２から読み出した後、次に読み出し処理を実施する記録領域の指定を行う処理である。ここで、画像データを読み出す図３の処理では、Ｓ３１２において次に指定する記録領域のRowアドレスであるRead Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス＝Ｈ/１６−１−（readラインカウンタ５のカウント数/１６）
の算定式により更新される。
【０２２２】
Read Column カウンタ１０のColumnアドレスカウント数は、
Read Columnアドレス＝１５−（readラインカウンタ５のカウント数 mod １６）
の算定式により更新される。
【０２２３】
これに対して、図１３の処理では、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込んだうえで読み出すことに対応して、Ｓ３１２’'において、Read Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス＝ＨＶｓ/２５６＋
（Ｈ−readラインカウンタ５のカウント数）/１６−１
の算定式により更新される。
【０２２４】
Read Column カウンタ１０のColumnアドレスカウント数は、
Read Columnアドレス＝（Ｖｓ mod １６）×１６
−（readラインカウンタ５のカウント数 mod １６）＋１５
の算定式により更新される。
【０２２５】
このような処理を行う点でＳ３１２’’の処理はＳ３１２の処理と相違する。
【０２２６】
次に、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が９０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が０°である場合の処理が図１４,図１５のフローチャートを参照して説明される。
【０２２７】
まず、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度９０°の第１画像回転処理を含む）が図１４のフローチャートを参照して説明される。この場合の書き込み処理は、基本的には、図４のフローチャートと同一である。そのため、図１４のフローチャートにおいて、図４のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０２２８】
図１４のフローチャートの処理が、図４のフローチャートの処理と異なるのは、Ｓ４０２’'の処理と、Ｓ４０７’'の処理と、Ｓ４１１''の処理と、Ｓ４１２’'の処理である。
【０２２９】
Ｓ４０２,Ｓ４０２’'の処理は、垂直同期周期VD立ち下がり直後に書き込み処理する記録領域のアドレス指定である。Ｓ４０２の処理においてRowアドレスであるWrite Rowカウンタ７のRowアドレスカウント数は、
Wr ite Rowアドレス＝ＨＶ/２５６−Ｖ１６
の算定式により更新される。
【０２３０】
Write Columnカウンタ８のColumnアドレスカウント数は２４０に更新され、Writeラインカウンタ３のラインカウント数とWrite画素カウンタ４の画素カウント数とはそれぞれ０に更新される。
【０２３１】
これに対して、Ｓ４０２’'の処理においては、画像データから小画像を切り出して書き込み処理することに対応して、Write Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝（Ｈ−Ｈｓ）Ｖ/２５６−（Ｖ−Ｖｓ）/１６
の算定式により更新される。
【０２３２】
Write Columnカウンタ８のColumnアドレスカウント数は、
Write Columnアドレス＝２４０−（Ｈｓ mod １６）×１６＋（Ｖｓ mod １６）
の算定式により更新される。
【０２３３】
Writeラインカウンタ３のラインカウント数はＶｓに更新され、Write画素カウンタ４の画素カウント数はＨｓに更新される。
【０２３４】
このような処理を行う点でＳ４０２’’の処理はＳ４０２の処理と相違する。
【０２３５】
Ｓ４０７,Ｓ４０７’’の処理は、第１画像回転処理後の画像データや小画像データにおける１ライン分の画素データをＳＤＲＡＭ２に書き込んだか否かを判断する処理である。ここで、画像データを書き込む図４の処理では、Write画素カウンタ４の画素カウント数が元画像データの１ラインの画素数Ｈの倍数に一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込む図１４の処理では、Write画素カウンタ４の画素カウント数が（Ｈｓ＋Ｈｗ）の倍数に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２３６】
Ｓ４１１,Ｓ４１１’の処理は、画像データや小画像データの全ての画素データをＳＤＲＡＭ２に書き込む処理が終了したか否かを判断する処理である。ここで、画像データを書き込む図４の処理では、Writeラインカウンタ３のラインカウント数が画像データのライン数Ｖに一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込む図１４の処理では、Writeラインカウンタ３のラインカウント数が（Ｖｓ＋Ｖｗ）に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２３７】
Ｓ４１２,Ｓ４１２’’の処理は、画像データや小画像データの１ライン分となる画素データをＳＤＲＡＭ２に書き込んだ後、次に書き込み処理を実施する記録領域の指定を行う処理である。ここで、画像データを書き込む図４の処理では、Ｓ４１２において次に書き込み指定する記録領域のRowアドレスであるWrite Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝ＨＶ/２５６−（Ｖ−Writeラインカウンタ３のカウント数）/１６
の算定式により更新される。
【０２３８】
Write Columnカウンタ８のColumnアドレスカウント数は、
Write Columnアドレス＝２４０
＋（Writeラインカウンタ３のカウント数 mod １６）
の算定式により更新される。
【０２３９】
これに対して、図１４の処理では、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込むことに対応して、Ｓ４１２’'において、Write Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝（Ｈ−Ｈｓ）Ｖ/２５６
−（Ｖ−Writeラインカウンタ３のカウント数）/１６
の算定式により更新される。
【０２４０】
Write Columnカウンタ８のColumnアドレスカウント数は、
Write Columnアドレス＝２４０−（Ｈｓ mod １６）×１６
＋（Writeラインカウンタ３のカウント数 mod １６）
の算定式により更新される。
【０２４１】
このような処理を行う点でＳ４１２’’の処理はＳ４１２の処理と相違する。
【０２４２】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度９０°）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に０°の第２画像回転処理が実施される場合の処理が、図１５のフローチャートを参照して説明される。
【０２４３】
この場合の読み出し処理は、基本的には、図５のフローチャートと同一である。そのため、図１５のフローチャートにおいて、図５のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０２４４】
図１５のフローチャートの処理が、図５のフローチャートの処理と異なるのは、Ｓ５０２'の処理と、Ｓ５０７’の処理と、Ｓ５１１''の処理と、Ｓ５１２’'の処理である。
【０２４５】
Ｓ５０２,Ｓ５０２’'の処理は、垂直同期周期VD立ち下がり直後に読み出し処理する記録領域のアドレス指定である。Ｓ５０２の処理においてRowアドレスであるRead Row カウンタ９のRowアドレスカウント数と、Read Column カウンタ１０のColumnアドレスカウント数と、readラインカウンタ５のラインカウント数とread画素カウンタ６の画素カウント数とはそれぞれ０に更新される。
【０２４６】
これに対して、Ｓ５０２’'の処理においては、画像データから小画像を切り出してＳＤＲＡＭ２に書き込み処理したのち読み出す処理することに対応して、Read Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス＝ＨＶｓ/２５６＋Ｈｓ/１６
の算定式により更新される。
【０２４７】
Read Column カウンタ１０のColumnアドレスカウント数は、
Read Columnアドレス＝（Ｖｓ mod １６）×１６＋（Ｈｓ mod １６）
の算定式により更新される。readラインカウンタ５のラインカウント数はＶｓに更新され、read画素カウンタ６の画素カウント数はＨｓに更新される。
【０２４８】
このような処理を行う点でＳ５０２’’の処理はＳ５０２の処理と相違する。
【０２４９】
Ｓ５０７,Ｓ５０７’’の処理は、第１画像回転処理後の画像データや小画像データにおける１ライン分の画素データをＳＤＲＡＭ２から読み出したか否かを判断する処理である。ここで、画像データを読み出す図５の処理では、read画素カウンタ６の画素カウント数が元画像データのライン数Ｖの倍数に一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込んだうえで読み出す図１５の処理では、read画素カウンタ６の画素カウント数が（Ｖｓ＋Ｖｗ）の倍数に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２５０】
Ｓ５１１,Ｓ５１１’の処理は、画像データや小画像データの全ての画素データをＳＤＲＡＭ２から読み出す処理が終了したか否かを判断する処理である。ここで、画像データを読み出す図５の処理では、readラインカウンタ５のラインカウント数が元画像データの１ライン画素数Ｈに一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込んだうえで読み出す図１５の処理では、readラインカウンタ５のラインカウント数が（Ｈｓ＋Ｈｗ）に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２５１】
Ｓ５１２,Ｓ５１２’’の処理は、画像データや小画像データの１ライン分となる画素データをＳＤＲＡＭ２から読み出した後、次に読み出し処理を実施する記録領域の指定を行う処理である。ここで、画像データを読み出す図５の処理では、Ｓ５１２において次に読み出し指定する記録領域のRowアドレスであるRead Row カウンタ９のRowアドレスカウント数は、
Read  Rowアドレス＝（Ｈ/１６）×（readラインカウンタ５のカウント数）
/１６
の算定式により更新される。
【０２５２】
Read Column カウンタ１０のColumnアドレスカウント数は、
Read Columnアドレス＝（readラインカウンタ５のカウント数 mod １６）
×１６
の算定式により更新される。
【０２５３】
これに対して、図１５の処理では、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込んだうえで読み出すことに対応して、Ｓ５１２’'において、Read Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス＝（Ｈ/１６）×（readラインカウンタ５のカウント数/１６）
＋Ｈｓ/１６
の算定式により更新される。
【０２５４】
Read Column カウンタ１０のColumnアドレスカウント数は、
Read Columnアドレス＝（readラインカウンタ５のラインカウント数 mod １６）
×１６＋（Ｈｓ mod １６）
の算定式により更新される。
【０２５５】
このような処理を行う点でＳ５１２’’の処理はＳ５１２の処理と相違する。
【０２５６】
図１９（ａ）に示される画像データ（１ライン画素数Ｈ、ライン数Ｖ）をＳＤＲＡＭ２に書き込み・読み出し処理する際に上述した画像回転処理を行う場合における水平同期周期HDと垂直同期周期VDとは次のように設定される。
【０２５７】
このような処理を実施する場合において、第２画像回転処理後の画像データが元画像データから９０°回転した画像（１ライン画素数Ｖ、ライン数Ｈ）になると、図１９（ｂ）に示されるように、１ライン分の画素の読み書きに設定される期間ｈが、実際画素数Ｖの１ラインの画素を読み書きする期間よりも長くなって各ラインで余分な読み書き時間を浪費する結果、時間的に全てのラインを読み書きすることができなくなる。
【０２５８】
このような不都合を解消するため、本実施形態では、第１画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、画像データをＳＤＲＡＭ２に書き込む際に用いる水平同期周期H D１を、次の（１）式により設定する。
HD１＝VD/HD２  …（１）
VD：画像データをＳＤＲＡＭ２に（書き込む・読み出す）際に用いる垂直同期
周期
HD２：第１画像回転処理前の元画像データをそのままの画像向きでＳＤＲＡＭ
に書き込む際に用いる水平同期周期
また、
第２画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、ＳＤＲＡＭ２から画像データを読み出す際に用いる水平同期周期HD３を、次の（２）式により設定する。
HD３＝VD/HD４  …（２）
VD：画像データをＳＤＲＡＭ２に（書き込む・読み出す）際に用いる垂直同期
周期
HD４：第２画像回転処理前の画像データをそのままの画像向きでＳＤＲＡＭ２
から読み出す際に用いる水平同期周期。
【０２５９】
これにより、図１９（ｃ）に示されるように、１ライン分の画素の読み書きに設定される期間ｈ'が、実際画素数Ｖの１ラインの画素を読み書きする期間と同等となって各ラインで余剰な読み書き時間がなくなる結果、画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期周期VDの期間内に、画像データを構成する全ての画素を確実に（書き込む・読み出す）ことが可能となる。このような制御を実施すめためにには、画像処理装置１に、水平同期周期HDを調整する装置を新たに設けるか、予め、上記調整をした水平同期周期HDを外部から供給するようにすればよい。
【０２６０】
上述した実施の形態では、ＳＤＲＡＭ２に書き込み・読み出し処理する画像データに対して画像回転処理だけを実施する場合を説明したが、ＳＤＲＡＭ２に書き込み・読み出し処理する画像データに対して画像反転処理をさらに実施する場合においても本発明は実施できる。その場合は、Columnアドレスの読み出し順を上述した説明とは逆に行えばよいだけである。また、上述した実施の形態では、第１,第２画像回転処理での回転角度を９０°としていたが、２７０°の場合においも本発明は実施できるのは言うまでもない。さらには、第１,第２画像回転処理の中に回転角度１８０°の画像回転処理を含んでいても本発明は同様に実施できるのはいうまでもない。
【０２６１】
上述した実施の形態では、プログレッシブ走査を行う画像処理装置において本発明を実施した場合を説明したが、本発明は、インターレース走査を行う画像処理装置においても実施可能である。その場合、最初のフィールドでは偶数ラインに対応するアドレスに画素データを書き込み、次のフィールドでは奇数ラインに対応するアドレスに画素データを書き込めばよい。
【図面の簡単な説明】
【０２６２】
【図１】本発明の一実施形態の画像処理装置の構成を示す機能ブロック図である。
【図２】実施の形態でＳＤＲＡＭに画像データを書き込む際の第１の例を示すフローチャートである。
【図３】実施の形態でＳＤＲＡＭから画像データを読み出す際の第１の例を示すフローチャートである。
【図４】実施の形態でＳＤＲＡＭに画像データを書き込む際の第２の例を示すフローチャートである。
【図５】実施の形態でＳＤＲＡＭから画像データを読み出す際の第２の例を示すフローチャートである。
【図６】実施の形態におけるＳＤＲＡＭの画素データの配置の第１の例を示す図である。
【図７】実施の形態におけるＳＤＲＡＭの画素データの配置の第２の例を示す図である。
【図８】実施の形態でＳＤＲＡＭに画像データを書き込む際の第３の例を示すフローチャートである。
【図９】実施の形態でＳＤＲＡＭから画像データを読み出す際の第３の例を示すフローチャートである。
【図１０】実施の形態でＳＤＲＡＭに画像データを書き込む際の第４の例を示すフローチャートである。
【図１１】実施の形態でＳＤＲＡＭから画像データを読み出す際の第４の例を示すフローチャートである。
【図１２】実施の形態でＳＤＲＡＭに画像データを書き込む際の第５の例を示すフローチャートである。
【図１３】実施の形態でＳＤＲＡＭから画像データを読み出す際の第５の例を示すフローチャートである。
【図１４】実施の形態でＳＤＲＡＭに画像データを書き込む際の第６の例を示すフローチャートである。
【図１５】実施の形態でＳＤＲＡＭから画像データを読み出す際の第６の例を示すフローチャートである。
【図１６】画像データ内に小画像データを設けた構成の構成例を示す図である。
【図１７】本発明の実施の形態の画像処理装置でＳＤＲＡＭに画像データを書き込む処理を行う際のタイミングチャートである。
【図１８】本発明の実施の形態の画像処理装置でＳＤＲＡＭから画像データを読み出す処理を行う際のタイミングチャートである。
【図１９】ＳＤＲＡＭの記録領域配置構成と、ＳＤＲＡＭに書き込み・読み出しする画像データの画素データ配置構成との関係を示す図である。
【符号の説明】
【０２６３】
１  画像処理装置              ２  SDRAM
２１〜ｓ  記録ブロック           ３  Writeラインカウンタ
４  Write画素カウンタ        ５  readラインカウンタ
６  read画素カウンタ         ７  Write Rowカウンタ
８  Write Columnカウンタ    ９  Read Row カウンタ
１０  Read Column カウンタ  １１  Read／Write回転／反転制御器
１２  NWE制御器            １３  アドレス制御器
１４  入力遅延制御器         １５ 出力遅延制御器
VD  垂直同期周期            ＨＤ  水平同期周期
【図１】
2005109967.tif 000003
【図２】
2005109967.tif 000004
【図３】
2005109967.tif 000005
【図４】
2005109967.tif 000006
【図５】
2005109967.tif 000007
【図６】
2005109967.tif 000008
【図７】
2005109967.tif 000009
【図８】
2005109967.tif 000010
【図９】
2005109967.tif 000011
【図１０】
2005109967.tif 000012
【図１１】
2005109967.tif 000013
【図１２】
2005109967.tif 000014
【図１３】
2005109967.tif 000015
【図１４】
2005109967.tif 000016
【図１５】
2005109967.tif 000017
【図１６】
2005109967.tif 000018
【図１７】
2005109967.tif 000019
【図１８】
2005109967.tif 000020
【図１９】
2005109967.tif 000021
【手続補正書】
【提出日】平成16年5月17日(2004.5.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）に画像を書き込んで読み出す処理を行なう際に、処理する画像に回転処理を付加する画像処理方法および画像処理装置に関する。
【背景技術】
【０００２】
従来から、画像データがＳＤＲＡＭ上の各画像領域に書き込まれたのち読み出される処理においては、画像データを構成する各画素データは、画像データ上の画素配置順に沿って順次ＳＤＲＡＭ上の各記録領域に書き込まれたうえで読み出される。ＳＤＲＡＭでは、RowアドレスとColumnアドレスとで指定される各記録領域に画像データが順次格納されたうえで読み出される。
【０００３】
ＳＤＲＡＭでは、一般に、バーストリードが実施される。これはデータ転送の短縮化を図る処理であって、この処理はＳＤＲＡＭを含むメモリ装置では複数の記録領域が１つのRowアドレスを共有することに基づいている。具体的には、Rowアドレスを共有する複数の記録領域を指定する際に、共通のRowアドレスを指定したうえで、順次Columnアドレスを指定することで各記録領域の指定を行う。これにより、複数の記録領域で、Rowアドレスの指定処理の共通化が図られ、これによって画像データの転送に要する時間が短縮される。
【０００４】
ＳＤＲＡＭに画像データを書き込み/読み出し処理する際に、画像の回転を付加的に実施する場合がある。この場合、画像の回転処理は、主としてＳＤＲＡＭから画像データを読み出す際に実施される。
【特許文献１】特開２００２−２５９２０８号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の画像処理装置においては、画像回転処理を実施するとバーストリード処理が困難になり、処理時間が長時間化する場合がある。以下説明する。
【０００６】
画像の回転処理を任意の角度で実施する場合、その処理は非常に長時間を要する。これに対して、画像の回転処理を９０°ピッチ［９０°×ｓ（ｓ：整数、１≦ｓ≦３）で実施する場合、その処理は、各アドレスの逆順読み出し処理や画像の縦横の逆配置処理という比較的処理時間が短い処理で実現できる。このような理由により、通常、画像回転処理は、９０°ピッチで実施される。
【０００７】
画像の縦横の逆配置処理は、ColumnアドレスをRowアドレスとして読み違える処理を行うことで実施される。このようなアドレス読み違え処理を行うためには、画像データ読み出し時において画素データ毎にRowアドレスを変更する必要がある。
【０００８】
バーストリードは、ＳＤＲＡＭに対して画像データを書き込む際と読み出す際とでRowアドレスが一致する場合に実施が可能な処理であって、読み出し時において画素データ毎にRowアドレスを変更しなければならない従来の画像回転処理では、バーストリードが不可能となって、処理時間が長時間化するのは避けられない。
【課題を解決するための手段】
【０００９】
本発明は、Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データを、前記画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２n（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭに、回転角度９０°×ｍ（０≦ｍ≦３、ｍ：整数 ）の第１画像回転処理を前記画像データに施した後のライン順に沿って書き込み、書き込んだ画像データを、回転角度９０°×ｐ（０≦ｐ≦３、ｐ：整数）の第２画像回転処理をさらに前記画像データに施した後のライン順に沿って前記ＳＤＲＡＭから読み出す画像処理の方法や装置において、次のようにする。
【００１０】
まず、前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２q（２≦ｑ≦（ｎ−２）、ｑ：整数）に設定されるとともに前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割する。
【００１１】
次に、前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群それぞれを、そのライン順に沿って前記記録ブロックそれぞれに順次対応させる。
【００１２】
そのうえで、前記第１画像回転処理後の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する記録ブロックに書き込む。
【００１３】
最後に、前記ＳＤＲＡＭに書き込んだ画像データを、前記第２画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す。
【００１４】
また、本発明の他の発明では、Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データを、前記画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２n（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭに、前記画像データの画像向きでのライン順に沿って書き込み、書き込んだ画像データを、回転角度９０°×ｐ（０≦ｐ≦３、ｐ：整数 )の画像回転処理を前記画像データに施した後のライン順に沿って前記ＳＤＲＡＭから読み出す画像処理方法や装置において、
まず、前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２q（２≦ｑ≦（ｎ−２）、ｑ：整数）に設定されるとともに前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割する。
【００１５】
次に、前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画素群それぞれを、その画像向きでのライン順に沿って前記記録ブロックそれぞれに順次対応させる。
【００１６】
そのうえで、前記画像回転処理前の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する前記記録ブロックに書き込む。
【００１７】
最後に、前記ＳＤＲＡＭに書き込んだ画像データを、前記画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す。
【００１８】
また、本発明のさらに他の発明では、Ｈ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データを、前記画像データの全ての画素が格納可能な記録領域数を有するとともにColumnアドレス数が２n（４≦ｎ、ｎ：整数）に設定されるＳＤＲＡＭに、回転角度９０°×ｍ（０≦ｍ≦３、ｍ：整数 ）の画像回転処理を前記画像データに施した後のライン順に沿って書き込み、書き込んだ画像データを、前記画像回転処理後の画像向きでのライン順に沿って前記ＳＤＲＡＭから読み出す画像処理の方法や装置において、
まず、前記ＳＤＲＡＭの記録領域を、Columnアドレス数が２q（２≦ｑ≦（ｎ−２）に設定されるとともに前記画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群が格納可能な記録領域数を有する複数の記録ブロックに分割する。
【００１９】
次に、前記画像回転処理後の画像向きにおける前記画像データの１ライン分の画素群それぞれを、その画像向きでのライン順に沿って前記記録ブロックそれぞれに順次対応させる。
【００２０】
そのうえで、前記画像回転処理後の画像向きにおける前記画像データの１ライン分の画像群それぞれを、Rowアドレスが前記記録ブロックのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する記録ブロックに書き込む。
【００２１】
最後に、前記ＳＤＲＡＭに書き込んだ画像データを、前記画像回転処理後の画像向きにおけるライン順に沿って前記ＳＤＲＡＭから読み出す。
【００２２】
これにより、本発明は、ＳＤＲＡＭに対して画像データを（書き込む・読み出す）際において、（書き込み・読み出し）順で隣接する複数の画素のRowアドレスを共通化することが可能となる。
【００２３】
本発明の好ましい実施態様として、次のようなものがある。
【００２４】
前記第１画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記画像データを前記ＳＤＲＡＭに書き込む際に用いる水平同期周期HD１を、次の（１）式により設定する。
HD１＝VD/HD２  …（１）
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期周期
HD２：第１画像回転処理前の画像データをそのままの画像向きでＳＤＲＡＭに書き込む際に用いる水平同期周期
前記第２画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、前記ＳＤＲＡＭから前記画像データを読み出す際に用いる水平同期周期HD３を、次の（２）式により設定する。
HD３＝VD/HD４  …（２）
VD：画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期周期
HD４：第２画像回転処理前の画像データをそのままの画像向きでＳＤＲＡＭから読み出す際に用いる水平同期周期。
【００２５】
そうすれば、画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期周期VDの期間内に、画像データを構成する全ての画素を確実に（書き込む・読み出す）ことができる。
【発明の効果】
【００２６】
本発明によれば、ＳＤＲＡＭから画像データを（書き込む・読み出す）際において、（書き込み/読み出し）順で隣接する複数の画素のRowアドレスを共通化することが可能となり、その分、処理速度の高速化が図れる。
【発明を実施するための最良の形態】
【００２７】
図１は、本発明の最良の実施形態に係る画像処理装置１の機能ブロック図である。この画像処理装置１は、ＳＤＲＡＭ２を備えている。画像処理装置１は、外部から画像処理装置１に供給される垂直同期周期（信号）VD,水平同期周期（信号）HD,およびクロック信号CLKに基づいてＳＤＲＡＭ２に対する書き込み動作と読み出し動作とを制御する。
【００２８】
画像処理装置１は、Writeラインカウンタ３と、Write画素カウンタ４と、readラインカウンタ５と、read画素カウンタ６と、Write Rowカウンタ７と、Write Columnカウンタ８と、Read Row カウンタ９と、Read Column カウンタ１０と、Read/Write回転/反転制御器１１と、NWE制御器１２と、アドレス制御器１３と、入力遅延制御器１４と出力遅延制御器１５とを備える。
【００２９】
Writeラインカウンタ３は、垂直同期周期VDと水平同期周期HDとクロック信号CLKとに基づいて画像データ書き込み時の画素データのライン数を計数する。Write画素カウンタ４は、垂直同期周期VDと水平同期周期HDとクロック信号CLKとに基づいて、画像データ書き込み中の画素データの画素数（換言すれば、その時点の書き込みを終了した総画素数）を計数する。readラインカウンタ５は、垂直同期周期VDと水平同期周期HDとクロック信号CLKとに基づいて画像データ読み出し時の画像データのライン数（換言すれば、その時点の書き込みを終了した総ライン数）を計数する。read画素カウンタ６は、垂直同期周期VDと水平同期周期HDとクロック信号CLKとに基づいて画像データ読み出し時の画素数（換言すれば、その時点の読み出しを終了した総画素数）を計数する。
【００３０】
Write Rowカウンタ７は、Writeラインカウンタ３,Write画素カウンタ４の計数出力とクロック信号CLKとに基づき、画像データをＳＤＲＡＭ２に書き込む際のWrite Rowアドレスを計数する。Write Rowカウンタ７は、Read/Write回転/反転制御器１１の制御に基づいてWrite Rowアドレスを計数する。
【００３１】
Write Columnカウンタ８は、Writeラインカウンタ３,Write画素カウンタ４の計数出力とクロック信号CLKとに基づいて画像データをＳＤＲＡＭ２に書き込む際のWrite Column アドレスを計数する。Write Columnカウンタ８は、Read/Write回転/反転制御器１１の制御に基づいてWrite Column アドレスを計数する。
【００３２】
Read Row カウンタ９は、readラインカウンタ５,read画素カウンタ６の計数出力とクロック信号CLKとに基づいて、画像データをＳＤＲＡＭ２から読み出す際のRead Rowアドレスを計数する。Read Row カウンタ９はRead/Write回転/反転制御器１１の制御に基づいて画像データをＳＤＲＡＭ２から読み出す際のRead Rowアドレス数を計数する。
【００３３】
Read Column カウンタ１０は、readラインカウンタ５,read画素カウンタ６の計数出力とクロック信号CLKとに基づいて、画像データをＳＤＲＡＭ２から読み出す際のRead Columnアドレス数を計数する。Read Column カウンタ１０は、Read/Write回転/反転制御器１１の制御に基づいて画像データをＳＤＲＡＭ２から読み出す際のRead Columnアドレス数を計数する。
【００３４】
NWE制御器１２は、Write Columnカウンタ８の計数出力とRead Column カウンタ１０の計数出力とクロック信号CLKとに基づくRead/Write回転/反転制御器１１の制御によってＳＤＲＡＭ２にＮＷＥ制御信号を供給する。
【００３５】
アドレス制御器１３は、Write Rowカウンタ７の計数出力とWrite Columnカウンタ８の計数出力とRead Row カウンタ９の計数出力とRead Column カウンタ１０の計数出力とクロック信号CLKとに基づいて、画像データ書き込み/読み出し時のアドレス情報を生成してＳＤＲＡＭ２に供給する。
【００３６】
入力遅延制御器１４は、ＳＤＲＡＭ２に書き込まれる画像データの遅延制御を行う。出力遅延制御器１５はＳＤＲＡＭ２から読み出される画像データの遅延制御を行う。
【００３７】
画像処理装置１では、Writeラインカウンタ３,Write画素カウンタ４,Write Rowカウンタ７,Write Columnカウンタ８,アドレス制御器１３,NWE制御器１２およびR ead/Write回転/反転制御器１１により画素データをＳＤＲＡＭ２に書き込む手段が構成される。readラインカウンタ５,read画素カウンタ６,Read Row カウンタ９,Read Column カウンタ１０,アドレス制御器１３,NWE制御器１２,およびRead/Write回転/反転制御器１１により画素データをＳＤＲＡＭ２から読み出す手段が構成される。
【００３８】
以下、画像処理装置１による画像回転処理が図２〜図１６を参照して説明される。ここでは、次の条件下における画像処理装置１の画像回転動作が説明される。
・ＳＤＲＡＭ２は、columnアドレス数２n（４≦ｎ、ｎ：整数）、Rowアドレス数Ｘ（Ｘ：自然数）、総記録領域数（２n×Ｘ）である。本実施形態のＳＤＲＡＭ２の記録領域を示す図６,図７では、前記ｎ＝８,ｎ＝９であって、Columnアドレス数２8＝２５６,Columnアドレス数２9＝５１２の場合がそれぞれ例示される。
・ＳＤＲＡＭ２で記録処理される画像データは、ＣＣＤ等の撮像センサによって取り込まれたＨ×Ｖ（Ｈ：１ラインの画素数、Ｖ：総ライン数、Ｈ,Ｖ：自然数）の総画素数を有する画像データである。画像データのデータ配置形態は、図６,図７それぞれに符号Ａを付して図示される。これらの図において、（ｘ,ｙ）は画像データ上における各画素の座標を示し、ｘは画像データの画像向きにおける垂直方向の座標を示し、ｙは水平方向の座標を示す。Ｈ×Ｖの画素数を有する本実施形態の画像データでは、ｘは、［０〜Ｖ−１]の範囲となり、ｙは、［０〜Ｈ−１］の範囲となる。したがって、画像データは、画素データ（０,０）〜画素データ（Ｖ−１,Ｈ−１）を有することになる。また、図６,図７それぞれのＳＤＲＡＭ２の各アドレス位置には、上記座標により表記される画像データの各画素が順次配置される。
・ＳＤＲＡＭ２の総記録領域数（２n×Ｘ）は、画像データの総画素数（Ｈ×Ｖ）を格納可能である（２n×Ｘ）≧（Ｈ×Ｖ）。
・画像データの１ライン画素数Ｈは、ＳＤＲＡＭ２のColumnアドレス数（本実施形態では２５６または５１２）の整数倍である。
Ｈ＝（ＳＤＲＡＭ２のColumnアドレス数×Ｙ（Ｙ：自然数）
なお、画像データの１ライン画素数Ｈが、ＳＤＲＡＭ２のColumnアドレス数の整数倍でない場合も考えられるが、その場合は、整数倍とならない画像データの残余の画像領域をＳＤＲＡＭ２に取り込まないように制御すれば、本発明を実施できる。
【００３９】
上記総記録領域数を有するＳＤＲＡＭ２に、画像データを書き込んだうえで読み出す。そして、書き込み処理を実施する際に、回転角度９０°×ｍ（０≦ｍ≦３、ｍ：整数 ）の第１画像回転処理を画像データに施した後のライン順に沿って、画像データをＳＤＲＡＭ２に書き込む。さらに、ＳＤＲＡＭ２に書き込んだ画像データを、回転角度９０°×ｐ（０≦ｐ≦３、ｐ：整数）の第２画像回転処理を第１画像回転処理実施後の画像データに施した後のライン順に沿ってＳＤＲＡＭ２から読み出す。
【００４０】
これにより、画像処理装置１は、画像データに第１,第２回転処理を連続的に実施したのちＳＤＲＡＭ２から画像回転処理後の画像データを出力する。
【００４１】
ＳＤＲＡＭ２を用いた第１,第２画像回転処理の要点は以下の通りである。
【００４２】
まず、ＳＤＲＡＭ２の記録領域が複数の記録ブロック２1〜sに分割される。第１画像回転処理後の画像向きにおける画像データの１ライン分の画素群それぞれが、そのライン順に沿って記録ブロック２1〜sそれぞれに順次対応される。記録ブロック２1〜sの記録領域数は、第１画像回転処理後の画像向きにおける画像データの１ライン分の画素群を格納可能な数に設定される。本実施形態では、記録ブロック２1〜sの記録領域数は、第１画像回転処理後の画像向きにおける画像データの１ライン分の画素群と同一に設定される。
【００４３】
第１画像回転処理後の画像向きにおける画像データの１ライン分の画像群それぞれを、Rowアドレスが記録ブロック２1〜sのColumnアドレス数毎にインクリメントされるアドレス指定に基づいて、対応する記録ブロック２1〜sに書き込む。
【００４４】
ＳＤＲＡＭ２に書き込んだ画像データを、第２画像回転処理後の画像向きにおけるライン順に沿ってＳＤＲＡＭ２から読み出す。
【００４５】
ＳＤＲＡＭ２内に設けられる各記録ブロック２1〜sにおいて一つのRowアドレス内に配置されるColumnの数（以下、Columnアドレス数という）は２q（２≦ｑ≦（ｎ−２）、ｑ：整数）に設定される。記録ブロック２1〜sの記録領域数は、第１画像回転処理後の画像向きにおける画像データの１ライン分の画素群が格納可能に設定される。
【００４６】
なお、各記録ブロック２1〜sのColumnアドレス数の指定に用いられる変数ｎは、ＳＤＲＡＭ２のColumnアドレス数の指定で用いられる変数ｎである。ｎ＝８,ｎ＝９とされる本実施形態においては、各記録ブロック２1〜sのColumnアドレス数の指定に用いられる変数ｑは、２≦ｑ≦（８−２＝６）,２≦ｑ≦（９−２＝７）の範囲となる。したがって、Columnアドレス数は、２2≦q≦6,２2≦q≦7の範囲となる。
【００４７】
本発明は、各記録ブロック２1〜sのColumnアドレス数を上記した範囲に設定すれば実施可能である。本実施形態では、各記録ブロック２1〜sのColumnアドレス数は、（２q=4）＝１６とされる。したがって、各記録ブロック２1〜sのRowアドレス数は、次の式により算定される。
(第１画像回転処理後の画像向きでの画像データの１ラインの画素数)/１６
また、２５６や５１２のColumnアドレス数を有する本実施形態のＳＤＲＡＭ２において各記録ブロック２1〜sは、Columnアドレス方向に２５６/１６＝１６個,５１２/１６＝３２個並列されることになる。
【００４８】
以上説明した記録ブロック２1〜sの構造に基づけば、ＳＤＲＡＭ２の記録領域を図示する図６,図７において、記録ブロック２1〜sは、次のようなアドレス範囲となる。
Columnアドレス,Rowアドレスともにアドレス当初に位置する記録ブロック２1は、次のようなアドレス範囲となる。第１画像回転処理の回転角度が０°とされる図６の構成では、記録ブロック２1は、Columnアドレス（０〜１５）,Rowアドレス（０〜Ｈ/１６−１）のアドレス範囲となる。第１画像回転角度が９０°とされる図７の構成では、記録ブロック２1は、Columnアドレス（０〜１５）,Rowアドレス（０〜Ｖ/１６−１）のアドレス範囲となる。
【００４９】
Columnアドレス,Rowアドレスともにアドレス最終位置する記録ブロック２sは、次のようなアドレス範囲となる。まず、Columnアドレス数が２５６とされる場合を説明する。
この場合、第１画像回転処理の回転角度が０°とされる図６の構成では、記録ブロック２sは、Columnアドレス（２４０〜２５５）,Rowアドレス（Ｈ（Ｖ−１６）/２５６〜ＨＶ/２５６−１）のアドレス範囲となる。第１画像回転処理の回転角度が９０°とされる図７の構成では、記録ブロック２sは、Columnアドレス（２４０〜２５５）,Rowアドレス（（Ｈ−１６）Ｖ/２５６〜ＨＶ/２５６−１）のアドレス範囲となる。
【００５０】
次にColumnアドレス数が５１２とされる場合を説明する。この場合、第１画像回転処理の回転角度が０°とされる図６の構成では、記録ブロック２sは、Columnアドレス（４９６〜５１１）,Rowアドレス（Ｈ（Ｖ−３２）/５１２〜ＨＶ/５１２−１）のアドレス範囲となる。第１画像回転処理の回転角度が９０°とされる図７の構成では、記録ブロック２sは、Columnアドレス（４９６〜５１１）,Rowアドレス（（Ｈ−３２）Ｖ/５１２〜ＨＶ/５１２−１）のアドレス範囲となる。
記録ブロック２1〜sのアドレス範囲がこのような数に設定されるのは、各記録ブロック２1〜sの記録領域数が、第１画像回転処理後の画像向きにおける画像データの１ライン分の画素データを格納可能な数に設定されることに起因する。
【００５１】
ここで、各画像回転処理の回転角度が０°,１８０°である場合では、各回転処理後の画像向きにおけるライン方向（Columnアドレス方向）は、回転処理前の画像向きにおけるライン方向と一致する。各画像回転処理の回転角度が９０°,２７０°である場合では、回転処理後の画像向きにおけるライン方向（Columnアドレス方向）は、回転処理前の画像向きにおけるライン方向（Columnアドレス方向）と一致せず、回転処理前のRowアドレス方向となる。
【００５２】
なお、上述したように、第１,第２画像回転処理の組み合わせパターンの相違により記録ブロック２1〜sに収納する画素データ数は異なる。そのため、記録ブロック２1〜sは、第１,第２画像処理パターンの組み合わせに応じてその格納記録領域数は変動する。
これにより、ＳＤＲＡＭ２内に設定される記録ブロック２1〜sの総数も変動する。そのため記録ブロック２1〜sの総数を示す変数sも記録ブロック２1〜sの総数の変動に応じて変動するが、本実施の形態の説明では、変数ｓは便宜的に同一の変数ｓを用いる。
【００５３】
以下、画像処理装置１の画像回転処理の詳細が説明される。画像処理装置１においては、画像データが撮像当初の画像向きでのライン順に沿って撮像センサ等からＳＤＲＡＭ２に供給される。各ラインを構成する画素データは、ラインの並列方向（Columnアドレス順）に沿ってＳＤＲＡＭ２に供給される。画像データを構成する各画素データは、水平同期周期HDに同期して順次ＳＤＲＡＭ２に供給される。
【００５４】
まず、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が９０°である場合の処理が図２,図３のフローチャートと図６のＳＤＲＡＭ２における画像データ配置図とを参照して説明される。なお、第１画像回転処理の回転角度が０°である場合は、第１画像回転処理は実施されない場合と同義である。
【００５５】
最初に、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度０°の第１画像回転処理を含む）が図２のフローチャートと図６の画像データ配置図とを参照して説明される。
【００５６】
ＳＤＲＡＭ２に対する書き込み処理が開始されると、まず、Read/Write回転/反転制御器１１は、垂直同期周期VDが立ち下がるタイミングになるか否かを監視する（Ｓ２０１）。
【００５７】
Ｓ２０１で、垂直同期周期VDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、Write Rowカウンタ７のカウント数と、Write Columnカウンタ８のカウント数と、Writeラインカウンタ３のカウント数と、Write画素カウンタ４のカウント数とを初期値”０”に戻す（Ｓ２０２）。
【００５８】
これにより、Read/Write回転/反転制御器１１は、最初に画素データを書き込む記録領域を、記録ブロック２1〜sの配置順の最初に位置する記録ブロック２1とし、しかも、記録ブロック２1内での当初に位置する記録領域を書き込み記録領域として指定する。
【００５９】
Ｓ２０２のカウント数の初期設定処理を実施したRead/Write回転/反転制御器１１は、水平同期周期HDが立ち下がるタイミングになるか否かを監視する（Ｓ２０３）。
【００６０】
Ｓ２０３で、水平同期周期HDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、ＳＤＲＡＭ２にActコマンドを出力するとともに、Write Rowカウンタ７からアドレス制御器１３を介してWrite RowアドレスをＳＤＲＡＭ２に出力させる（Ｓ２０４）。
【００６１】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Write Rowアドレスとして（０）をＳＤＲＡＭ２に出力する。ActコマンドとWrite Rowアドレス（０）とを受けたＳＤＲＡＭ２は、Rowアドレス（０）の記録領域群を書き込み活性状態にする。
【００６２】
垂直同期周期VD立ち下がり直後のタイミングでは、Read/Write回転/反転制御器１１は、引き続いてＳＤＲＡＭ２にWriteコマンドを出力するとともに、Wri te Columnカウンタ８からアドレス制御器１３を介してWrite Column アドレスをＳＤＲＡＭ２に出力させる（Ｓ２０５）。
【００６３】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Write Column アドレスとして（０）をＳＤＲＡＭ２に出力する。WriteコマンドとWrite Column アドレス（０）とを受けたＳＤＲＡＭ２は、その水平同期周期HDタイミングでＳＤＲＡＭ２に入力される画像データの画素データ（ｘ,ｙ）を、Ｓ２０４,Ｓ２０５でWrite Rowアドレス,Write Columnが指定されたアドレス位置の記録領域に書き込む。
【００６４】
Ｓ２０５の書き込み処理が終了すると、Read/Write回転/反転制御器１１は、Write Columnカウンタ８のカウント数とWrite画素カウンタ４のカウント数とをそれぞれ１カウント加増する（Ｓ２０６）。カウント加増処理を実施したRead/Write回転/反転制御器１１は、Write画素カウンタ４のカウント数が第１画像回転処理前の元画像データの１ラインの画素数Ｈの倍数に一致する否かを判断する（Ｓ２０７）。
【００６５】
Ｓ２０７で、Write画素カウンタ４のカウント数が第１画像回転処理前の元画像データの１ラインの画素数Ｈの倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、元画像データにおける１ライン分の画素データの書き込みがまた終了していないと判断する。そのような判断を下したRead/Write回転/反転制御器１１は、Ｓ２０６で加増されたWrite Columnカウンタ８のカウント数が記録ブロック２1〜sのColumnアドレス数（本実施形態では１６）の倍数に一致するか否かを判断する（Ｓ２０８）。
【００６６】
Ｓ２０８で、Write Columnカウンタ８のカウント数が記録ブロック２1〜sのColumnアドレス数（本実施形態では１６）の倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、次のように判断する。
【００６７】
各記録ブロック２1〜sは、各ブロックのColumnアドレス方向にそのColumnアドレス幅分（本実施形態では１６）だけ並列配置された記録領域群（以下、並列記録領域群という）がRowアドレス方向に複数配列されて構成される。並列記録領域群の数は以下に示されるように、第１画像回転処理前の元画像データの１ライン分の画像数に基づいて次のように規定される。
並列記録領域数＝第１画像回転処理前の元画像データの１ライン分の画素数Ｈ
/並列記録領域内のColumnアドレス数
Ｓ２０８で、Write Columnカウンタ８のカウント数が記録ブロック２1〜sのColumnアドレス数（本実施形態では１６）の倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、画素データを書き込み中の並列記録領域群を構成する全ての記録領域に画素データが未だ書き込まれていないと判断する。
【００６８】
Ｓ２０８で上記判断を下したRead/Write回転/反転制御器１１は、Ｓ２０５に戻って、書き込み中の並列記録領域群において画素データが格納されていない残余の記録領域に対する画素データの書き込み処理を行う。この場合、前記残余の記録領域と書き込み一つ前の記録領域とは、Rowアドレスが同一となるため、この時点でのRowアドレスの指定処理（Ｓ２０４）を実施する必要はない。Rowアドレスの指定処理（Ｓ２０４）を実施する必要がない分、画像データの書き込み処理時間の短縮化が図れる。Rowアドレスの共通化は、各記録ブロック２1〜sの並列記録領域群内で実施できる。書き込み時のRowアドレスの共通化が、図１７の書き込み処理のタイミング図に示される。ここでは、記録ブロック２1〜sの並列記録領域群の記録領域数を１６に設定しており、一つのRowアドレス指定で１６回連続的に画素データが書き込まれる。
【００６９】
Ｓ２０５〜Ｓ２０８の処理を繰り返し行った結果、Ｓ２０８で、Write Columnカウンタ８のカウント数が記録ブロック２1〜sのColumnアドレス数（本実施形態では１６）の倍数に一致すると判断する場合、Read/Write回転/反転制御器１１は、画素データ書き込み中の並列記録領域群を構成する全ての記録領域に対する画素データの書き込み処理が終了したと判断して、Ｓ２０９の処理に移行する。
【００７０】
Ｓ２０９では、Write Rowカウンタ７のWrite Rowアドレスを１カウント加増する処理と、Write Columnカウンタ８のWrite Column アドレスを１６減少する処理とを行う。これにより、画素データ書き込み中の記録ブロック２1〜sにおいて、書き込み対象とする並列記録領域群を一つ加増更新したうえで、書き込み対象とするColumnアドレスを加増更新後の並列記録領域群における当初の位置に移行させる。
【００７１】
Ｓ２０９の処理を実施したのち、Ｓ２０４に戻り、Ｓ２０４〜Ｓ２０９の処理を繰り返すことで記録ブロック２1〜sの各並列記録領域群に対する画素データの書き込みを実施する。
【００７２】
記録ブロック２1〜sの各並列記録領域群に対する画素データの書き込み処理（Ｓ２０４〜Ｓ２０９）を行いながら、Read/Write回転/反転制御器１１はＳ２０７で、Write画素カウンタ４のカウント数が元画像データの１ライン分の画素数（Ｈ）の倍数に一致するか否かを監視する。
【００７３】
Write画素カウンタ４のカウント数が元画像データの１ライン分の画素数（Ｈ）の倍数に一致すると判断する場合、Read/Write回転/反転制御器１１は、元画像データの１ライン分の画素データの全てをＳＤＲＡＭ２に書き込む処理が終了したと判断する。このとき、記録ブロック２1〜sの記録領域数は、第１画像回転処理（本例では０°回転）後の画像データにおける１ライン分の画素データ数（Ｈ）に設定されており、書き込み中の記録ブロック２1〜sの記録領域は全て画素データによって満たされることになる。
【００７４】
Ｓ２０７において、第１画像回転処理前の元画像データの１ライン分の画素データの全てを、そのラインに対応する記録ブロック２1〜sに書き込む処理が終了したと判断すると、Read/Write回転/反転制御器１１は、Ｓ２１０の処理を実施する。
【００７５】
Ｓ２１０では、Writeラインカウンタ３で計数している元画像データのライン数を１つ加増する。Ｓ２１０の処理を実施したのち、Read/Write回転/反転制御器１１は、加増したラインカウンタ３のライン数が、第１画像回転処理前の画像データのライン数（元画像データのライン数Ｖ）に一致するか否かを判断する（Ｓ２１１）。
【００７６】
Ｓ２１１の処理において、加増したW riteラインカウンタ３のライン数が、第１画像回転処理前の元画像データのライン数Ｖに一致しないと判断すると、Read/Write回転/反転制御器１１は、元画像データの全ての画素データをＳＤＲＡＭ２に読み込む処理は未だ終了していないと判断する。
【００７７】
Ｓ２１１で元画像データの全ての画素データをＳＤＲＡＭ２に読み込む処理は未だ終了していないと判断したRead/Write回転/反転制御器１１は、Write RowアドレスとWrite Column アドレスとを次の式により算定する。
Write Rowアドレス＝（Ｈ/１６）×（Writeラインカウンタ３のカウント数/１６）
ただし少数点以下切捨
Write Column アドレス＝（Writeラインカウンタ３のカウント数mod１６）×１６
上記算定式により、次のようなアドレス変更が実施される。画素データの書き込みを終了した記録ブロック２1〜s-1がColumnアドレス方向の終端に位置しない場合、アドレス移行は次のようになる。
【００７８】
この場合、Write Rowアドレスは１６カウント減少されるとともに、Write Column アドレスは１カウント加増される。これにより、Write RowアドレスとWrite Column アドレスとは、画素データの書き込みを終了した記録ブロック２1〜s-1に対してColumnアドレス方向の正順に隣接する次の記録ブロック２1〜sの当初のアドレス位置に移行する。
【００７９】
一方、画素データの書き込みを終了した記録ブロック２1〜s-1がColumnアドレス方向の終端に位置する場合（Columnアドレス数が２５６のＳＤＲＡＭ２では、記録ブロック２(16,32,…)であり、Columnアドレス数が５１２のＳＤＲＡＭ２では、記録ブロック２(32,64,…)である場合）、アドレス移行は次のようになる。
【００８０】
この場合、Write Rowアドレスは１カウント加増されるとともに、Write Column アドレスは２５５カウント減少される。これにより、Write RowアドレスとWrite Column アドレスとは、画素データの書き込みを終了した記録ブロック２1〜s-1に対してRowアドレス方向の一つ正順側にあり、かつColumnアドレスの当初に位置する記録ブロック２(17,33,…)または、記録ブロック２(33,65,…)の当初のアドレス位置に移行する。
【００８１】
Read/Write回転/反転制御器１１は、Ｓ２１２で算定したWrite RowアドレスとWrite Column アドレスとをそれぞれWrite Rowカウンタ７とWrite Columnカウンタ８とに設定したうえで、Ｓ２０３に戻ってＳＤＲＡＭ２に対する画像データの書き込み処理を継続する。
【００８２】
以上説明したＳ２０３〜Ｓ２１２の処理を繰り返しながら、Read/Write回転/反転制御器１１は、Ｓ２１０において加増したWriteラインカウンタ３のライン数が、第１画像回転処理前の元画像データのライン数Ｖに一致するか否かをＳ２１１で監視する。そして、Ｓ２１１で、加増したラインカウンタ３のライン数が、第１画像回転処理前の元画像データのライン数Ｖに一致すると判断する場合、Read/Write回転/反転制御器１１は、元画像データの全ての画素データをＳＤＲＡＭ２に書き込む処理は終了したと判断して、画像データの書き込み操作を終了する。
【００８３】
以上の処理により、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度０°の第１画像回転処理を含む）が終了する。第１画像回転処理は、各元画像の各ラインの画素データ群を、対応する記録ブロック２1〜sの一つに格納する処理となる。
【００８４】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度０°であって実質的には第１画像回転処理なし）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に９０°の第２画像回転処理が実施される場合の処理が、図３のフローチャートと図７の画像データ配置図とを参照して説明される。
【００８５】
ＳＤＲＡＭ２に対する読み出し処理が開始されると、まず、Read/Write回転/反転制御器１１は、垂直同期周期VDが立ち下がるタイミングになるか否かを監視する（Ｓ３０１）。
【００８６】
Ｓ３０１で、垂直同期周期VDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、Read Row カウンタ９のカウント数を（Ｈ/１６−１）に設定し、Read Column カウンタ１０のカウント数を１５に設定し、readラインカウンタ５のカウント数とread画素カウンタ６のカウント数とを初期値”０”に戻す（Ｓ３０２）。なお、Ｈは、上述したように、第１画像回転処理前の元画像データの１ライン分の画素数である。
【００８７】
これにより、Read/Write回転/反転制御器１１は、最初に画素データを読み出す記録領域を、記録ブロック２1〜sの配置順の最初に位置する記録ブロック２1とし、しかも、記録ブロック２1内での最後に位置する記録領域を読み出し記録領域として指定する。
【００８８】
Ｓ３０２のカウント数初期設定処理を実施したRead/Write回転/反転制御器１１は、水平同期周期HDが立ち下がるタイミングになるか否かを監視する（Ｓ３０３）。
【００８９】
Ｓ３０３で、水平同期周期HDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、ＳＤＲＡＭ２にActコマンドを出力するとともに、Read Row カウンタ９からアドレス制御器１３を介してRead RowアドレスをＳＤＲＡＭ２に出力させる（Ｓ３０４）。
【００９０】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Read Rowアドレスとして（Ｈ/１６−１）をＳＤＲＡＭ２に出力する。ActコマンドとRead Rowアドレス（Ｈ/１６−１）とを受けたＳＤＲＡＭ２は、Rowアドレス（Ｈ/１６−１）に位置する記録領域群を読み出し活性状態にする。
【００９１】
垂直同期周期VD立ち下がり直後のタイミングでは、Read/Write回転/反転制御器１１は、引き続いてＳＤＲＡＭ２にReadコマンドを出力するとともに、Read Column カウンタ１０からアドレス制御器１３を介してRead Column アドレスをＳＤＲＡＭ２に出力させる（Ｓ３０５）。
【００９２】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Read Column アドレスとして（１５）をＳＤＲＡＭ２に出力する。ReadコマンドとRead Column アドレス（１５）とを受けたＳＤＲＡＭ２は、その水平同期周期HDタイミングで、Ro wアドレス（Ｈ/１６−１）、Columnアドレス（１５）でアドレス指定される記録領域に格納している画素データ（ｘ,ｙ）を読み出す。
【００９３】
Ｓ３０５の読み出し処理が終了すると、Read/Write回転/反転制御器１１は、Read Column カウンタ１０のカウント数を１６カウント加増するとともに、read画素カウンタ６のカウント数を１カウント加増する（Ｓ３０６）。この場合、Columnアドレスの加増処理は、現在読み出し記録領域が位置する記録ブロック２aの配列方向の正順側に位置する隣の記録ブロック２a+1に読み出し記録領域を移行させる処理となる。なお、変数ａは、１〜ｓ範囲内の任意の自然数である。
【００９４】
カウント加増処理を実施したRead/Write回転/反転制御器１１は、Columnアドレスの加増処理を実施したread画素カウンタ６のカウント数が元画像データのラインＶの倍数に一致する否かを判断する（Ｓ３０７）。
【００９５】
Ｓ３０７で、read画素カウンタ６のカウント数が画像データのライン数Ｖの倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、第２の回転処理（９０°）を施した後の画像データにおける１ライン分（Ｖ）の画素データの読み出しが未だ終了していないと判断する。そのような判断を下したRead/Write回転/反転制御器１１は、Ｓ３０６で１６カウント加増したRead Column カウンタ１０のカウント数がＳＤＲＡＭ２のColumnアドレス数を超過するか否かを判断する（Ｓ３０８）。なお、図３のフローチャートでは、Columnアドレス数を２５６に設定してＳ３０８の処理を構成している。これは、ＳＤＲＡＭ２のColumnアドレス数が２５６である場合を想定したものであり、Columnアドレス数が他の数（例えば、５１２）のＳＤＲＡＭ２を用いる場合には、Ｓ３０８のステップにおいて、Columnアドレス数はそのColumnアドレス数（５１２等）に設定される。
【００９６】
Ｓ３０８で、Read Column カウンタ１０のカウント数がＳＤＲＡＭ２のColumnアドレス数（図３では２５６）を超過しないと判断する場合、Read/Write回転/反転制御器１１は、次のように判断する。
【００９７】
この場合、Read/Write回転/反転制御器１１は、画素データを読み出すためにＳＤＲＡＭ２上の一つのColumnアドレスライン上で指定しているColumnアドレスが、Ｓ３０６のColumnアドレス加増処理を受けてもそのColumnアドレスラインの終端（Columnアドレス終端）に達せず、Columnアドレスライン上の途中位置にあると判断する。
【００９８】
Ｓ３０８で上記判断を下したRead/Write回転/反転制御器１１は、Ｓ３０５に戻って、Ｓ３０６でColumnアドレスだけを１６カウント加増処理したアドレス位置にあるＳＤＲＡＭ２の記録領域から画素データを読み出す処理を行う。この場合、読み出し中の記録領域と読み出し一つ前の記録領域とは、Rowアドレスが同一となるため、この時点でのRowアドレスの指定処理（Ｓ３０４）を実施する必要はない。Rowアドレスの指定処理（Ｓ３０４）を実施する必要がない分、画像データの読み出し処理時間の短縮化が図れる。Rowアドレスの共通化は、画素データを読み出す記録領域が同一のColumnアドレスライン内にある場合において実施できる。そのため、Rowアドレスを共通化できる間は、ＳＤＲＡＭ２から画素データをバーストリードすることができる。読み出し時のRowアドレスの共通化が、図１８の読み出し処理のタイミング図に示される。ここでは、記録ブロック２1〜sの並列記録領域群の記録領域数を１６に設定しており、一つのRowアドレス指定で１６個の画素データがバーストリードされる。
【００９９】
Ｓ３０５〜Ｓ３０８の処理を繰り返し行った結果、Ｓ３０６で実施したColumnアドレスの加増処理後のRead Column カウンタ１０のカウント数がＳＤＲＡＭ２のColumnアドレス数（図３のフローチャートでは２５６）を超過したと判断する場合、Read/Write回転/反転制御器１１は、画素データ読み出し中のColumnアドレスライン上には、Columnアドレスにして１６カウント毎（記録ブロック毎）に行う画素データの読み出す処理をこれ以上実施することができないと判断して、Ｓ３０９の処理に移行する。
【０１００】
Ｓ３０９では、Read Row カウンタ９のWrite RowアドレスをＨ/１６カウント加増する処理と、Read Column カウンタ１０のWrite Column アドレスを２５６カウント減少する処理とを行う。これにより、画素データ読み出し中のＳＤＲＡＭ２において、Rowアドレスを記録ブロック２1〜sのRowアドレス幅分加増更新したうえで、ColumnアドレスをそのColumnアドレスライン上の当初位置に移行させる。以上の処理により、読み出し記録領域の指定位置は、ＳＤＲＡＭ２のColumnアドレス方向の当初位置（Columnアドレス０）に移動したうえでRowアドレスの正順方向に記録ブロック一つ分移動する。なお、Ｓ３０９でColumnアドレスを２５６減少させた結果、−の算定結果となった場合には、算定結果は０とみなされる。
【０１０１】
Ｓ３０９の読み出し記録領域の移動処理を実施したのち、Ｓ３０４に戻り、Ｓ３０４〜Ｓ３０９の処理を繰り返す。これにより、画素データをColumnアドレス方向に沿って記録ブロック２1〜s毎に読み出す処理を、指定するColumnアドレスがColumnアドレス方向の終端に達するまで実施する。
【０１０２】
そのColumnアドレスライン上での画素データの読み出し処理（Ｓ３０４〜Ｓ３０９）を行いながら、Read/Write回転/反転制御器１１は、Ｓ３０７においてread画素カウンタ６のカウント数が元画像データのライン数Ｖ（第２画像回転処理後の画像データの１ライン分の画素数）の倍数に一致するか否かを監視する。
【０１０３】
Read画素カウンタ６のカウント数が元画像データのライン数Ｖ（第２画像画像回転処理後の画像データの１ライン分の画素数）の倍数に一致する場合、Read/Write回転/反転制御器１１は、第２画像画像回転処理後の画像データにおいてその画像向きでの１ライン分の画素データの読み出し処理は終了したと判断する。
【０１０４】
Ｓ３０７において、第２画像回転処理後画像データの１ライン分の画素データの全て読み出す処理が終了したと判断すると、Read/Write回転/反転制御器１１は、Ｓ３１０の処理を実施する。Ｓ３１０では、readラインカウンタ５で計数している読み出しにより形成する画像データ（第２画像回転処理後（９０°））のライン数を１つ加増する。
【０１０５】
Ｓ３１０の処理を実施したのち、Read/Write回転/反転制御器１１は、加増したreadラインカウンタ５のカウント数（ライン数）が、読み出しにより形成する画像データ（第２画像回転処理後（９０°））のライン数を超過しており、画像データを構成するすべての画素データの読み出しが終了したか否かを判断する。具体的には、この判断は、readラインカウンタ５のカウント数（ライン数）が、画像データ（第２画像回転処理後）のライン数である元画像データの１ラインの画素数（Ｈ）に一致するかを否かにより行われる（Ｓ３１１）。
【０１０６】
Ｓ３１１の処理において、加増したreadラインカウンタ５のカウント数（ライン数）が、元画像データの１ラインの画素数（第２画像回転処理（９０°）後の画像データのライン数）Ｈに一致しないと判断すると、Read/Write回転/反転制御器１１は、第２画像回転処理後の画像データの全ての画素データをＳＤＲＡＭ２から読み出す処理は未だ終了していないと判断する。
【０１０７】
Ｓ３１１で画像データの全ての画素データをＳＤＲＡＭ２に読み込む処理は未だ終了していないと判断するとRead/Write回転/反転制御器１１は、Read RowアドレスとRead Column アドレスとを、次の式により算定する。
Read Rowアドレス＝Ｈ/１６−１−（readラインカウンタ５のカウント数/１６）
ただし少数点以下切捨
Read Column アドレス＝１５−（readラインカウンタ５のカウント数mod１６）
上記算定式により、次のようなアドレス変更が実施される。読み出し指定する記録領域を、ＳＤＲＡＭ２内でアレイ状に配列される複数の記録ブロック２1〜sの中で配列順の当初に位置する記録ブロック２1内の記録領域に移動させる。記録ブロック２1は第１画像回転処理後の画像データの１ライン目に位置する画素群の格納記録領域を格納している。さらに、記録ブロック２1内に位置する記録領域の中から次の記録領域を読み出し記録領域として指定する。
【０１０８】
記録ブロック２1内での記録領域の指定を理解するうえで、画素データが次のような配置順に沿って記録ブロック２1〜s内で格納されていることに注意を要する。画素データは、各記録ブロック２1〜s内においてColumnアドレス方向に沿って順次配置されたのち、ブロック当初のCo lumnアドレス位置まで折り返したうえでRowアドレス方向に１アドレス分移行するという配置順に沿って記録ブロック２1〜sの記録領域に順次格納されている。
【０１０９】
画素データがこのような配置順で格納されている記録領域２1内において、読み出しが終了した画素データより上記配置順にして一つ手前のアドレス位置に、次の読み出し記録領域がくるように記録領域の指定が行われる。配置順にして一つ手前のアドレス位置とは、第１画像回転処理前の画像データ（元画像データ）上の当初ライン（０）上において画素順にして一つ手前の位置を示し、第２画像回転処理（９０°）後においては、ライン順にして一つ先のラインにおける当初の画素位置を示す。
【０１１０】
Read/Write回転/反転制御器１１は、Ｓ３１２で算定したRead Rowアドレス とRead Column アドレスとをそれぞれRead Row カウンタ９とRead Column カウンタ１０とに設定したうえで、Ｓ３０３に戻ってＳＤＲＡＭ２に対する画像データの書き込み処理を継続する。
【０１１１】
以上説明したＳ３０３〜Ｓ３１２の処理を繰り返しながら、Read/Write回転/反転制御器１１は、Ｓ３１０において加増したラインカウンタ３のライン数が、元画像の１ラインの画素数Ｈに一致するか否かをＳ３１１で監視する。そして、Ｓ３１１で、加増したラインカウンタ３のライン数が、Ｈに一致するとＳ３１１で判断する場合、Read/Write回転/反転制御器１１は、画像データの全ての画素データをＳＤＲＡＭ２から読み込す処理が終了したと判断して、画像データの読み出し操作を終了する。
【０１１２】
以上の処理により、ＳＤＲＡＭ２から画像データを読み出す処理（回転角度９０°の第２画像回転処理を含む）が終了する。第２画像回転処理は、各元画像の各ラインの画素データがそれぞれ格納された記録ブロック２1〜sから、ブロック毎に一つずつ画素データを読み出すことで、第２画像回転処理後の画像向きにおおける各ラインの画像を形成する。その際、記録ブロック２1〜sから、ブロック毎に一つずつ画素データを読み出すことで、連続する複数の画素データの読み出し処理においてRowアドレス指定の共有化が図られ、これによってバーストリードが実現される。
【０１１３】
次に、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が９０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が０°である場合の処理が図４,図５のフローチャートと図７のＳＤＲＡＭ２内の画像データ配置図とを参照して説明される。なお、第２画像回転処理の回転角度が０°である場合は、第２画像回転処理が実施されない場合と同義である。
【０１１４】
最初に、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度９０°の第１画像回転処理を含む）が図４のフローチャートと図７の画像データ配置図とを参照して説明される。
【０１１５】
ＳＤＲＡＭ２に対する書き込み処理が開始されると、まず、Read/Write回転/反転制御器１１は、垂直同期周期VDが立ち下がるタイミングになるか否かを監視する（Ｓ４０１）。
【０１１６】
Ｓ４０１で、垂直同期周期VDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、Write Rowカウンタ７のカウント数をＨＶ/２５６−Ｖ/１６に設定し、Write Columnカウンタ８のカウント数を２４０に設定し、Writeラインカウンタ３のカウント数と、Write画素カウンタ４のカウント数とを初期値０に戻す（Ｓ４０２）。
【０１１７】
これにより、Read/Write回転/反転制御器１１は、最初に画素データを書き込む記録領域を、記録ブロック２1〜sの配置順の最後に位置する記録ブロック２s内の記録領域とし、しかも、記録ブロック２s内での当初に位置する記録領域を書き込み記録領域として指定する。
【０１１８】
Ｓ４０２のカウント数の初期設定処理を実施したRead/Write回転/反転制御器１１は、水平同期周期HDが立ち下がるタイミングになるか否かを監視する（Ｓ４０３）。
【０１１９】
Ｓ４０３で、水平同期周期HDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、ＳＤＲＡＭ２にActコマンドを出力するとともに、Write Rowカウンタ７からアドレス制御器１３を介してWrite RowアドレスをＳＤＲＡＭ２に出力させる（Ｓ４０４）。
【０１２０】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Write Rowアドレスとして（ＨＶ/２５６−Ｖ/１６）をＳＤＲＡＭ２に出力する。ActコマンドとWrite Rowアドレス（ＨＶ/２５６−Ｖ/１６）とを受けたＳＤＲＡＭ２は、Rowアドレス（ＨＶ/２５６−Ｖ/１６）の記録領域群を書き込み活性状態にする。
【０１２１】
垂直同期周期VD立ち下がり直後のタイミングでは、Read/Write回転/反転制御器１１は、引き続いてＳＤＲＡＭ２にWriteコマンドを出力するとともに、Write Columnカウンタ８からアドレス制御器１３を介してWrite Column アドレスをＳＤＲＡＭ２に出力させる（Ｓ４０５）。
【０１２２】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Write Column アドレスとして（２４０）をＳＤＲＡＭ２に出力する。WriteコマンドとWrite Columnアドレス（２４０）とを受けたＳＤＲＡＭ２は、その水平同期周期HDタイミングでＳＤＲＡＭ２に入力される画像データの画素データ（ｘ,ｙ）を、Ｓ４０４,Ｓ４０５でWrite Rowアドレス,Write Columnが指定されたアドレス位置の記録領域に書き込む。
【０１２３】
Ｓ４０５の書き込み処理が終了すると、Read/Write回転/反転制御器１１は、Write Columnカウンタ８のカウント数を１６カウント減少させるとともに、Write画素カウンタ４のカウント数を１カウント加増する（Ｓ４０６）。カウント加増・減少処理を実施したRead/Write回転/反転制御器１１は、加増したWri te画素カウンタ４のカウント数が第１画像回転処理前の元画像データの１ラインの画素数Ｈの倍数に一致する否かを判断する（Ｓ４０７）。
【０１２４】
Ｓ４０７で、Write画素カウンタ４のカウント数が元画像データの１ラインの画素数Ｈの倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、第１画像回転処理前の元画像データにおける１ライン分の画素データの書き込みがまた終了していないと判断する。そのような判断を下したRead/Write回転/反転制御器１１は、Ｓ４０６で１６カウント減少させたWrite Columnカウンタ８のカウント数が０未満になるまで減少したか否かを判断する（Ｓ４０８）。
【０１２５】
Ｓ４０８で、Write Columnカウンタ８のカウント数０未満になるまで減少していないと判断する場合、Read/Write回転/反転制御器１１は、次のように判断する。
【０１２６】
Ｓ４０８における判断を理解するうえで、第１画像回転処理（９０°）を実施する場合における書き込み記録領域の指定時の規則性を理解することが必要となる。規則は次のように設定される。
・最終位置の記録ブロック２s内の当初アドレス位置（（Ｈ−１６）Ｖ/２５６,２４０）or（（Ｈ−３２）Ｖ）/５１２,４９６）を指定開始点とする。
・記録ブロック２1〜sの配置順の逆順に沿って各記録ブロック２1〜s毎に書きこみ指定記録領域を移行させる。
・書き込み記録領域の移行時、指定する書き込み記録領域の位置は、各記録ブロック２1〜s内で同一の配置位置とする。
・書き込み記録領域の指定位置の同一化は、記録ブロック２1〜s毎に移行する書き込み記録領域の指定が配置順当初に位置する記録ブロック２1になるまで継続する。
・書き込み記録領域の指定位置が配置順当初に位置する記録ブロック２1に到達すれば、次の書き込み記録領域の指定は配置順最後に位置する記録ブロック２sに戻る。
・書き込み記録領域の指定が配置順最後に位置する記録ブロック２sに戻れば、記録ブロック２s内で指定する書き込み記録領域の位置はブロック内で記録領域の配置順の正順で一つ分移行する。
【０１２７】
このような規則に基づいて実施される書き込み記録領域の指定において、Ｓ４０８の判断は、書き込み記録領域の指定がColumnアドレス（０）に到達したか否かの判断となる。
【０１２８】
Ｓ４０８において、Write Columnカウンタ８のカウント数（Write Column アドレス）が０未満ではない場合、Read/Write回転/反転制御器１１は、Ｓ４０６で減少処理された次の書き込み記録領域のColumnアドレスが（０）に到達していないと判断する。
【０１２９】
Ｓ４０８で上記判断を下したRead/Write回転/反転制御器１１は、Ｓ４０５に戻って画素データの書き込み処理を行う。この場合、図１７に示されるように、書き込み処理中の記録領域と書き込み処理一つ前の記録領域とは、Rowアドレスが同一となるため、この時点でのRowアドレスの指定処理（Ｓ４０４）を実施する必要はない。Rowアドレスの指定処理（Ｓ４０４）を実施する必要がない分、画像データの書き込み処理時間の短縮化が図れる。Rowアドレスの共通化は、書き込み記録領域の指定がColumnアドレス（０）に達するまで実施できる。
【０１３０】
Ｓ４０５〜Ｓ４０８の処理を繰り返し行った結果、Ｓ４０８で、Write Columnカウンタ８のカウント数（Write Column アドレス）が０未満になった場合、Read/Write回転/反転制御器１１は、次に指定する書き込み記録領域を、Rowアドレスの変更を行うことなく実施することは不可能であると判断する。
このような判断を下したRead/Write回転/反転制御器１１は、Ｓ４０９の処理に移行する。
【０１３１】
Ｓ４０９では、Write Rowカウンタ７のWrite RowアドレスをＶ/１６カウント減少する処理と、Write Columnカウンタ８のWrite Column アドレスを２５６カウント加増する処理とを行う。これにより、書き込み記録領域の指定は、次の条件を満たす記録ブロック２1〜sに移行する。
条件とは、
・Columnアドレス方向の最後に位置する記録ブロック内にある記録領域である、
・最後に画像データを書き込んだ記録領域が属する記録ブロックに対して、Rowアドレス方向の逆順にしてブロック一つ分移行した記録ブロック内にある記録領域である、
・記録ブロック内における書き込み指定記録領域の位置は、先の書き込み記録領域と変わらない、
というものである。
【０１３２】
Ｓ４０９の書き込み記録領域指定処理を実施したのち、Ｓ４０４に戻り、Ｓ４０４〜Ｓ４０９の処理を繰り返すことで記録ブロック２1〜sに対する画素データの書き込みを継続する。
【０１３３】
記録ブロック２1〜sの各記録領域に対する画素データの書き込み処理（Ｓ４０４〜Ｓ４０９）を行いながら、Read/Write回転/反転制御器１１はＳ４０７で、Write画素カウンタ４のカウント数が元画像データの１ライン分の画素数（Ｈ）の倍数に一致するかを監視する。
【０１３４】
Write画素カウンタ４のカウント数が元画像データの１ライン分の画素数（Ｈ）の倍数に一致すると判断する場合、Read/Write回転/反転制御器１１は、元画像データの１ライン分の画素データの全てをＳＤＲＡＭ２に書き込む処理が終了したと判断する。このとき、画素データが書き込まれる記録領域は記録ブロック２1〜sの配置順当初に位置する記録ブロック２1となる。
【０１３５】
Ｓ４０７において、元画像データの１ライン分の画素データの全てを、記録ブロック２1〜sに分散して書き込む処理が終了したと判断すると、Read/Write回転/反転制御器１１は、Ｓ４１０の処理を実施する。
【０１３６】
Ｓ４１０では、Writeラインカウンタ３で計数している画像データのライン数を１つ加増する。Ｓ４１０の処理を実施したのち、Read/Write回転/反転制御器１１は、加増したラインカウンタ３のライン数が、元画像データのライン数（Ｖ）に一致するかを否かを判断する（Ｓ４１１）。
【０１３７】
Ｓ４１１の処理において、加増したWriteラインカウンタ３のライン数が、元画像データのライン数であるＶに一致しないと判断すると、Read/Write回転/反転制御器１１は、元画像データの全ての画素データをＳＤＲＡＭ２に書き込む処理は未だ終了していないと判断する。
【０１３８】
Ｓ４１１で画像データの全ての画素データをＳＤＲＡＭ２に書き込む処理は未だ終了していないと判断したRead/Write回転/反転制御器１１は、Write RowアドレスとWrite Column アドレスとを次の式により算定する。
Write Rowアドレス＝ＨＶ/２５６−（Ｖ−Writeラインカウンタ３のカウント数）/１６
ただし少数点以下切捨
Write Column アドレス＝２４０＋（Writeラインカウンタ３のカウント数mod１６）
上記算定式により、書き込み記録領域の指定は、次の条件を満たす記録ブロック２1〜sに移行する。
条件とは、
・記録ブロック２1〜sの配列順の最後に位置する記録ブロック２s内にある記録領域である、
・記録ブロック２s内で指定する書き込み記録領域の位置は、最後に画像データを書き込んだ記録領域が属する記録ブロック２1において、ブロック内での記録領域の配置順の正順で一つ分その書き込み記録領域から移行した記録領域である、
というものである。ここで、ブロック内での記録領域の配置順の正順とは、ブロック内でのColumnアドレス方向およびRowアドレス方向の正順である。
【０１３９】
Read/Write回転/反転制御器１１は、Ｓ４１２で算定したWrite RowアドレスとWrite Column アドレスとをそれぞれWrite Rowカウンタ７とWrite Columnカウンタ８とに設定したうえで、Ｓ４０３に戻ってＳＤＲＡＭ２に対する画像データの書き込み処理を継続する。
【０１４０】
以上説明したＳ４０３〜Ｓ４１２の処理を繰り返しながら、Read/Write回転/反転制御器１１は、Ｓ４１１において加増したWriteラインカウンタ３のライン数が、第１画像回転処理前の元画像データのライン数であるＶに一致するか否かを監視する。そして、Ｓ４１１で、加増したWriteラインカウンタ３のライン数が、第１画像回転処理前の元画像データのライン数であるＶに一致すると判断する場合、Read/Write回転/反転制御器１１は、元画像データの全ての画素データをＳＤＲＡＭ２に書き込む処理は終了したと判断して、画像データの書き込み操作を終了する。
【０１４１】
以上の処理により、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度９０°の第１画像回転処理を含む）が終了する。第１の画像回転処理は、元画像のライン方向に沿って取り出す画素データのひとつずつを、複数設ける記録ブロック２1〜sそれぞれに、Columnアドレス方向に沿って順次ブロックを変更しながら格納する処理となる。
【０１４２】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度９０°）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に０°の第２画像回転処理（実質的に第２画像回転処理無し）が実施される場合の処理が、図５のフローチャートと図７の画像データ配置図とを参照して説明される。
【０１４３】
ＳＤＲＡＭ２に対する読み出し処理が開始されると、まず、Read/Write回転/反転制御器１１は、垂直同期周期VDが立ち下がるタイミングになるか否かを監視する（Ｓ５０１）。
【０１４４】
Ｓ５０１で、垂直同期周期VDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、Read Row カウンタ９のカウント数と、Read Column カウンタ１０のカウント数と、readラインカウンタ５のカウント数と、read画素カウンタ６のカウント数とを初期値０に戻す（Ｓ５０２）。
【０１４５】
Ｓ５０２のカウント数初期設定処理を実施したRead/Write回転/反転制御器１１は、水平同期周期HDが立ち下がるタイミングになるか否かを監視する（Ｓ５０３）。
【０１４６】
Ｓ５０３で、水平同期周期HDが立ち下がるタイミングになったことを検知したRead/Write回転/反転制御器１１は、ＳＤＲＡＭ２にActコマンドを出力するとともに、Rea d Row カウンタ９からアドレス制御器１３を介してRead RowアドレスをＳＤＲＡＭ２に出力させる（Ｓ５０４）。
【０１４７】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Read Rowアドレスとして（０）をＳＤＲＡＭ２に出力する。ActコマンドとRead Rowアドレス（０）とを受けたＳＤＲＡＭ２は、Rowアドレス（０）に位置する記録領域群を読み出し活性状態にする。
【０１４８】
垂直同期周期VD立ち下がり直後のタイミングでは、Read/Write回転/反転制御器１１は、引き続いてＳＤＲＡＭ２にR eadコマンドを出力するとともに、Read Column カウンタ１０からアドレス制御器１３を介してRead Column アドレスをＳＤＲＡＭ２に出力させる（Ｓ５０５）。
【０１４９】
垂直同期周期VD立ち下がり直後のタイミングでは、アドレス制御器１３は、Read Column アドレスとして（０）をＳＤＲＡＭ２に出力する。ReadコマンドとRead Column アドレス（０）とを受けたＳＤＲＡＭ２は、その水平同期周期HDタイミングで、Rowアドレス（０）、Columnアドレス（０）でアドレス指定される記録領域に格納している画素データ（ｘ,ｙ）を読み出す。
【０１５０】
Ｓ５０５の読み出し処理が終了すると、Read/Write回転/反転制御器１１は、Read Column カウンタ１０のカウント数を１カウント加増するとともに、read画素カウンタ６のカウント数を１カウント加増する（Ｓ５０６）。この場合、Columnアドレスの加増処理は、現在読み出し記録領域が位置する記録ブロック２1の配列方向の正順側に位置する隣の記録領域に移行する処理となる。
【０１５１】
カウント加増処理を実施したRead/Write回転/反転制御器１１は、Columnアドレスの加増処理を実施したread画素カウンタ６のカウント数が元画像データの１ライン画素数Ｈの倍数に一致するか否かを判断する（Ｓ５０７）。
【０１５２】
Ｓ５０７で、read画素カウンタ６のカウント数が第２画像回転処理後の画像データの１ライン画素数に相当する元画像のライン数Ｖの倍数に一致しないと判断する場合、Read/Write回転/反転制御器１１は、第２の回転処理（９０°）を施した後の画像データにおける１ライン分の画素データの読み出しがまた終了していないと判断する。そのような判断を下したRead/Write回転/反転制御器１１は、Ｓ５０６で１カウント加増したRead Columnカウンタ１０のカウント数が記録ブロック２1〜sのColumnアドレス数（１６）の倍数を超過するか否かを判断する（Ｓ５０８）。なお、図５のフローチャートでは、記録ブロック２1〜sのColumnアドレス数を１６に設定してＳ５０８の処理を構成している。記録ブロック２1〜sのColumnアドレス数を他の数（例えば、３２）に設定する場合には、Ｓ５０８のステップにおいて、記録ブロック２1〜sのColumnアドレス数はそのColumnアドレス数（３２等）に設定される。
【０１５３】
Ｓ５０８で、Read Column カウンタ１０のカウント数が記録ブロック２1〜sColumnアドレス数（図３では１６）の倍数を超過しないと判断する場合、Read/Write回転/反転制御器１１は、次のように判断する。
【０１５４】
この場合、Read/Write回転/反転制御器１１は、画素データを読み出すために記録ブロック２1〜s内の一つの並列記録領域群上で指定しているColumnアドレスが、Ｓ５０６のColumnアドレス加増処理を受けてもその並列記録領域群の終端（Columnアドレス終端）に達せず、並列記録領域群上の途中位置にあると判断する。
【０１５５】
Ｓ５０８で上記判断を下したRead/Write回転/反転制御器１１は、Ｓ５０５に戻って、Ｓ５０６でColumnアドレスだけを１カウント加増処理したアドレス位置にあるＳＤＲＡＭ２の記録領域から画素データを読み出す処理を行う。この場合、図１８に示されるように、読み出し中の記録領域と読み出し一つ前の記録領域とは、Rowアドレスが同一となるため、この時点でのRowアドレスの指定処理（Ｓ５０４）を実施する必要はない。Rowアドレスの指定処理（Ｓ５０４）を実施する必要がない分、画像データの読み出し処理時間の短縮化が図れる。Rowアドレスの共通化は、画素データを読み出す記録領域が同一の並列記録領域群内にある場合において実施できる。そのため、Rowアドレスを共通化できる間は、ＳＤＲＡＭ２から画素データをバーストリードすることができる。
【０１５６】
Ｓ５０５〜Ｓ５０８の処理を繰り返し行った結果、Ｓ５０６で実施したColumnアドレスの加増処理後のRead Column カウンタ１０のカウント数が記録ブロック２1〜sのColumnアドレス数（図３のフローチャートでは１６）の倍数を超過したと判断する場合、Read/Write回転/反転制御器１１は、画素データ読み出し中の並列記録領域群において画素データの読み出す処理をこれ以上継続することができないと判断して、Ｓ５０９の処理に移行する。
【０１５７】
Ｓ５０９では、Read Row カウンタ９のWrite Rowアドレスを１カウント加増する処理と、Read Column カウンタ１０のWrite Column アドレスを１６カウント減少する処理とを行う。これにより、画素データ読み出し中のＳＤＲＡＭ２において、Rowアドレスを記録ブロック２1〜sのRowアドレス幅分加増更新したうえで、ColumnアドレスをそのColumnアドレスライン上の当初位置に移行させる。以上の処理により、読み出し記録領域の指定位置は、読み出し対象とする並列記録領域群を一つ加増更新したうえで、読み出し対象とするColumnアドレスを加増更新後の並列記録領域群における当初の位置に移行させる。
なお、Ｓ５０９でColumnアドレスを１６減少させた結果、−の算定結果となった場合には、算定結果は０とみなされる。
【０１５８】
Ｓ５０９の読み出し記録領域の移動処理を実施したのち、Ｓ５０４に戻り、Ｓ５０４〜Ｓ５０９の処理を繰り返す。これにより、一つの記録ブロック２1〜s内の記録領域から画素データを読み出す処理を、その記録ブロック２1〜sの記録領域配置順の終端に位置する記録領域になるまで実施する。
【０１５９】
その記録ブロック２1〜s内の記録領域から画素データを読み出す処理（Ｓ５０４〜Ｓ５０９）を行いながら、Read/Write回転/反転制御器１１は、Ｓ５０７においてread画素カウンタ６のカウント数が元画像データのライン数Ｖ（第２画像画像回転処理後の画像データの１ライン分の画素数）の倍数に一致するか否かを監視する。
【０１６０】
Read画素カウンタ６のカウント数が元画像データのライン数Ｖ（第２画像画像回転処理後画像データの１ライン分の画素数）の倍数に一致する場合、Read/Write回転/反転制御器１１は、第２画像画像回転処理後の画像データにおいてその画像向きでの１ライン分の画素データの読み出し処理は終了したと判断する。
【０１６１】
Ｓ５０７において、第２画像回転処理後の画像データの１ライン分の画素データの読み出す処理が全て終了したと判断すると、Read/Write回転/反転制御器１１は、Ｓ５１０の処理を実施する。Ｓ５１０では、readラインカウンタ５で計数している読み出しにより形成する画像データ（第２画像回転処理後（９０°））のライン数を１つ加増する。Ｓ５１０の処理を実施したのち、Read/Write回転/反転制御器１１は、加増したreadラインカウンタ５のカウント数（ライン数）が、読み出しにより形成する画像データ（第２画像回転処理後（９０°））のライン数を超過しており、画像データを構成するすべての画素データの読み出しが終了したか否かを判断する。具体的には、この判断は、readラインカウンタ５のカウント数（ライン数）が、画像データ（第２画像回転処理後）のライン数である元画像データの１ラインの画素数（Ｈ）に一致するかを否かにより行われる（Ｓ５１１）。
【０１６２】
Ｓ５１１の処理において、加増したreadラインカウンタ５のカウント数（ライン数）が、元画像データの１ラインの画素数（第２画像回転処理（９０°）後の画像データのライン数）Ｈに一致しないと判断すると、Read/Write回転/反転制御器１１は、画像データの全ての画素データをＳＤＲＡＭ２から読み出す処理は未だ終了していないと判断する。
【０１６３】
Ｓ５１１で画像データの全ての画素データをＳＤＲＡＭ２に読み込む処理は未だ終了していないと判断するとRead/Write回転/反転制御器１１は、Read RowアドレスとRead Column アドレスとを、次の式により算定する。
Write Rowアドレス＝（Ｈ/１６）×（Writeラインカウンタ３のカウント数/１６）
ただし少数点以下切捨
Write Column アドレス＝（Writeラインカウンタ３のカウント数mod１６）×１６
上記算定式により、次のようなアドレス変更が実施される。画素データの読み出しを終了した記録ブロック２1〜s-1がColumnアドレス方向の終端に位置しない場合、アドレス移行は次のようになる。
【０１６４】
この場合、Read Rowアドレスは１６カウント減少されるとともに、Read Column アドレスは１カウント加増される。これにより、Read RowアドレスとRead Column アドレスとは、画素データの読み出しを終了した記録ブロック２1〜s-1に対してColumnアドレス方向の正順に隣接する次の記録ブロック２1〜sの当初のアドレス位置に移行する。
【０１６５】
一方、画素データの読み出しを終了した記録ブロック２1〜s-1がColumnアドレス方向の終端に位置する場合（Columnアドレス数が２５６のＳＤＲＡＭ２では、記録ブロック２(16,32,…)であり、Columnアドレス数が５１２のＳＤＲＡＭ２では、記録ブロック２(32,64,…)である場合）、アドレス移行は次のようになる。
【０１６６】
この場合、Read Rowアドレスは１カウント加増されるとともに、Read Column アドレスは２５５カウント減少される。これにより、Read RowアドレスとRead Column アドレスとは、画素データの読み出しを終了した記録ブロック２1〜s-1に対してRowアドレス方向の一つ正順側にあり、かつColumnアドレスの当初に位置する記録ブロック２(17,33,…)または記録ブロック２(33,65,…)の当初のアドレス位置に移行する。
【０１６７】
Read/Write回転/反転制御器１１は、Ｓ５１２で算定したRead Rowアドレス とRead Column アドレスとをそれぞれRead Row カウンタ９とRead Column カウンタ１０とに設定したうえで、Ｓ５０３に戻ってＳＤＲＡＭ２に対する画像データの読み出し処理を継続する。
【０１６８】
以上説明したＳ５０３〜Ｓ５１２の処理を繰り返しながら、Read/Write回転/反転制御器１１は、Ｓ５１０において加増したreadラインカウンタ５のライン数が、第２画像回転処理後の画像データのライン数である元画像データの１ライン画素数Ｈに一致するか否かをＳ５１１で監視する。そして、Ｓ５１１で、加増したラインカウンタ３のライン数が、Ｈに一致すると判断する場合、Read/Write回転/反転制御器１１は、第２画像回転処理後の画像データの全ての画素データをＳＤＲＡＭ２から読み込す処理が終了したと判断して、画像データの読み出し操作を終了する。
【０１６９】
以上の処理により、ＳＤＲＡＭ２から画像データを読み出す処理（回転角度０°の第２画像回転処理を含む）が終了する。この場合において先に実施される第１画像回転処理（画像書き込み処理）により、各間記録ブロック２１〜sには、第２画像回転処理後の各ラインの画素データ群が格納される。そのため、第２画像回転処理は、第２画像回転処理後の画像の各ライン画素データ群を各記録ブロック２1〜sからColumnアドレス順に走査しながら読み出す処理となる。その際、各記録ブロック２1〜s内において、そのColumnアドレス順に画素データを順次読み出すことで、連続する複数の画素データの読み出し処理においてRowアドレス指定の共有化が図られ、これによってバーストリードが実現される。
【０１７０】
次に、ＳＤＲＡＭ２のｎ個の記録領域に、ｎ画素分の画素データを平均化したうえで書き込んだうえで読み出す場合の処理が図８〜図１１のフローチャートを参照して説明される。この場合の処理は基本的には、図２〜図５で示したフローチャートと同様であり、図８は図２に対応し、図９は図３に対応し、図１０は図４に対応し、図１１は図５に対応する。
【０１７１】
まず、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が９０°である場合の処理が図８,図９のフローチャートを参照して説明される。
【０１７２】
最初にＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度０°の第１画像回転処理を含む）が図８のフローチャートを参照して説明される。この場合の書き込み処理は、基本的には、図２のフローチャートと同一である。そのため、図８のフローチャートにおいて、図２のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０１７３】
図８のフローチャートの処理が、図２のフローチャートの処理と異なるのは、Ｓ２０６’の処理と、Ｓ２１２’の処理である。Ｓ２０６,Ｓ２０６’の処理は、ＳＤＲＡＭ２の一つの記録領域に画素データを書き込んだのち、Write Columnカウンタ８のColumnアドレスカウント数とWrite画素カウンタ４の画素カウント数とを加増更新する処理である。ここで、１画素ずつ画素データを書き込む図２の処理では、画素カウント数は１カウントずつ加増更新されていたが、図８の処理では、ｎ画素ずつ画素データを書き込むことに対応して、画素カウント数はｎカウントずつ加増更新される。この点で両処理は相違する。
【０１７４】
Ｓ２１２,Ｓ２１２’の処理は、元画像データの１ライン分の画素データをＳＤＲＡＭ２に書き込んだ後、次に書き込み処理を実施するＳＤＲＡＭ２上の記録領域の指定を行う処理である。ここで、１画素ずつ画素データを書き込む図２の処理では、Ｓ２１２において次に指定する記録領域のWrite Rowアドレスは、
Write Rowアドレス＝（Ｈ/１６）×（Writeラインカウンタ３のカウント数/１６）
の算定式により更新される。
【０１７５】
これに対して、図８の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Ｓ２１２’において次に指定する記録領域のWrite Rowアドレスは、
Write Rowアドレス＝（Ｈ/１６ｎ）×（Writeラインカウンタ３のカウント数/１６）
の算定式により更新される。この点で両処理は相違する。
【０１７６】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度０°であって実質的には第１画像回転処理なし）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に９０°の第２画像回転処理が実施される場合の処理が、図９のフローチャートを参照して説明される。
【０１７７】
この場合の書き込み処理は、基本的には、図３のフローチャートと同一である。そのため、図９のフローチャートにおいて、図３のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０１７８】
図９のフローチャートの処理が、図３のフローチャートの処理と異なるのは、Ｓ３０２’の処理と、Ｓ３０６’の処理と、Ｓ３０９’の処理と、Ｓ３１２’の処理である。Ｓ３０２,Ｓ３０２’の処理は、垂直同期周期VD立ち下がり直後に読み出し処理する記録領域のアドレス指定である。Ｓ３０２の処理においてRead Rowアドレスは、
Read Rowアドレス＝Ｈ/１６−１
の算定式により指定される。これに対して、Ｓ３０２’の処理においては、ｎ画素分まとめて書き込み処理することに対応して、Read Rowアドレスは、
Read Rowアドレス＝Ｈ/１６ｎ−１
の算定式により指定される。この点で両処理は相違する。
【０１７９】
Ｓ３０６,Ｓ３０６’の処理は、ＳＤＲＡＭ２の一つの記録領域から画素データを読み出したのち、Write Columnカウンタ８のColumnアドレスカウント数とWrite画素カウンタ４の画素カウント数とを加増更新する処理である。ここで、１画素ずつ画素データを読み出す図３の処理では、画素カウント数は１カウントずつ加増更新されるが、図９の処理では、ｎ画素分ずつ画素データを読み出すことに対応して、画素カウント数はｎカウントずつ加増更新される。この点で両処理は相違する。
【０１８０】
Ｓ３０９,Ｓ３０９’の処理は、次に読み出し指定する記録領域を、Rowアドレスの変更を含めて指定する処理である。ここで、１画素ずつ画素データを書き込む図３の処理では、Ｓ３０９において、次に読み出し指定する記録領域のRowアドレスであるRead Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス（新）＝Read Rowアドレス（旧）＋Ｈ/１６
の算定式により更新される。これに対して、図９の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Ｓ３０９’において、Read Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス（新）＝Read Rowアドレス（旧）＋Ｈ/１６ｎ
の算定式により更新される。この点で両処理は相違する。
【０１８１】
Ｓ３１２,Ｓ３１２’の処理は、読み出し処理後の画像データの１ライン分となる画素データをＳＤＲＡＭ２から読み出した後、次に読み出し処理を実施する記録領域の指定を行う処理である。ここで、１画素ずつ画素データを書き込む図３の処理では、Ｓ３１２において次に指定する記録領域のRowアドレスであるRead Row カウンタ９のRowアドレスのカウント数は、
Read Rowアドレス＝Ｈ/１６−１−（readラインカウンタ５のカウント数/１６）
の算定式により更新される。
【０１８２】
これに対して、図８の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Ｓ３１２’において、Read Row カウンタ９のRowアドレスのカウント数は、
Read Rowアドレス＝Ｈ/１６ｎ−１−（readラインカウンタ５のカウント数/１６ｎ）
の算定式により更新される。
【０１８３】
また、１画素ずつ画素データを書き込む図３の処理では、Ｓ３１２において次に指定する記録領域のColumnアドレスであるRead Column カウンタ１０のColumnアドレスカウント数は、
Columnアドレス＝１５−（rea dラインカウンタ５のカウント数 mod１６）
の算定式により更新される。
【０１８４】
これに対して、図８の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Ｓ３１２’において、Read Column カウンタ１０のColumnアドレスカウント数は、
Columnアドレス＝１５−（readラインカウンタ５のカウント数/ｎ mod１６）
の算定式により更新される。これらの点で両処理は相違する。
【０１８５】
次に、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が９０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が０°である場合の処理が図１０,図１１のフローチャートを参照して説明される。
【０１８６】
まず、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度９０°の第１画像回転処理を含む）が図１０のフローチャートを参照して説明される。この場合の書き込み処理は、基本的には、図４のフローチャートと同一である。そのため、図１０のフローチャートにおいて、図４のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０１８７】
図１０のフローチャートの処理が、図４のフローチャートの処理と異なるのは、Ｓ４０２’の処理と、Ｓ４０６’の処理と、Ｓ４１２’の処理である。Ｓ４０２,Ｓ４０２’の処理は、垂直同期周期VD立ち下がり直後に書き込み処理する記録領域のアドレス指定である。Ｓ４０２の処理においてWrite RowアドレスであるWrite Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝ＨＶ/２５６−Ｖ/１６
の算定式により更新される。
【０１８８】
これに対して、Ｓ４０２’の処理においては、ｎ画素分まとめて書き込み処理することに対応して、Write Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝ＨＶ/２５６ｎ−Ｖ/１６
の算定式により指定される。この点で両処理は相違する。
【０１８９】
Ｓ４０６,Ｓ４０６’の処理は、ＳＤＲＡＭ２の一つの記録領域に画素データを書き込んだのち、Write Columnカウンタ８のColumnアドレスカウント数とWrite画素カウンタ４の画素カウント数とを加増更新する処理である。ここで、１画素ずつ画素データを書き込む図４の処理では、画素カウント数は１カウントずつ加増更新されていたが、図１０の処理では、ｎ画素ずつ画素データを書き込むことに対応して、画素カウント数はｎカウントずつ加増更新される。この点で両処理は相違する。
【０１９０】
Ｓ４１２,Ｓ４１２’の処理は、元画像データの１ライン分（記録ブロック２1〜sの１ブロック分）の画素データをＳＤＲＡＭ２に書き込んだ後、次に書き込み処理を実施する記録領域の指定を行う処理である。ここで、１画素ずつ画素データを書き込む図４の処理では、Ｓ４１２において次に指定する記録領域のRowアドレスであるWrite Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝（ＨＶ/２５６）
−（Ｖ−Writeラインカウンタ３のカウント数）/１６
の算定式により更新される。
【０１９１】
これに対して、図１０の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Ｓ４１２’においてWrite Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝（ＨＶ/２５６ｎ）
−（Ｖ−Writeラインカウンタ３のカウント数）/１６
の算定式により指定される。この点で両処理は相違する。
【０１９２】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度９０°）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に０°の第２画像回転処理が実施される場合の処理が、図１１のフローチャートを参照して説明される。
【０１９３】
この場合の書き込み処理は、基本的には、図５のフローチャートと同一である。そのため、図１１のフローチャートにおいて、図５のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０１９４】
図１１のフローチャートの処理が、図５のフローチャートの処理と異なるのは、Ｓ５０６’の処理と、Ｓ５１２’の処理である。
【０１９５】
Ｓ５０６,Ｓ５０６’の処理は、ＳＤＲＡＭ２の一つの記録領域から画素データを読み出したのち、Write Columnカウンタ８のColumnアドレスカウント数とWrite画素カウンタ４の画素カウント数とを加増更新する処理である。ここで、１画素ずつ画素データを読み出す図５におけるＳ５０６の処理では、read画素カウンタ６の画素カウント数は１カウントずつ加増更新されるが、図１１におけるＳ５０６’の処理では、ｎ画素分ずつ画素データを読み出すことに対応して、read画素カウンタ６の画素カウント数はｎカウントずつ加増更新される。この点で両処理は相違する。
【０１９６】
Ｓ５１２,Ｓ５１２’の処理は、読み出し処理後の画像データの１ライン分となる画素データをＳＤＲＡＭ２から読み出した後、次に読み出し処理を実施する記録領域の指定を行う処理である。ここで、１画素ずつ画素データを書き込む図５におけるＳ５１２の処理では、Ｓ５１２において、次に指定する記録領域のRowアドレスであるRead Row カウンタ９のRowアドレスカウント数は、
Write Rowアドレス＝（Ｈ/１６）×（readラインカウンタ５のカウント数/１６）
の算定式により更新される。
【０１９７】
これに対して、図１１におけるＳ５１２’の処理では、ｎ画素ずつ画素データを書き込むことに対応して、Read Row カウンタ９のRowアドレスカウント数は、
Write Rowアドレス＝（Ｈ/１６ｎ）×（readラインカウンタ５のカウント数/１６）
の算定式により更新される。このの点で両処理は相違する。
【０１９８】
次に、図１６に示されるように、Ｈ×Ｖの画素数を有する画像データ内に、画像データより画素数の少ない小画像データが設けられている場合の処理が図１２〜図１５のフローチャートを参照して説明される。この場合の処理は基本的には、図２〜図５で示したフローチャートと同様であり、図１２は図２に対応し、図１３は図３に対応し、図１４は図４に対応し、図１５は図５に対応する。
【０１９９】
ここで、小画像データは、１ラインに付き画素数Ｈｗが格納されたライン数Ｖｗの大きさ（Ｈｗ×Ｖｗ）を有する。
【０２００】
また、図１６に示されるように、画像データ内において小画像データは次のように配置される。
・小画像データと各ラインの始端との間には、画像数Ｈｓの間隔が開けられる。
・小画像データと各ラインの終端との間には、画素数Ｈｅの間隔が開けられる。
・小画像データと最初のライン（０）との間には、ライン数Ｖｓの間隔が開けられる。
・小画像データと最後のライン（ｓ）との間にはライン数Ｖｅの間隔が開けられる。
【０２０１】
まず、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が９０°である場合の処理が図１２,図１３のフローチャートを参照して説明される。
【０２０２】
最初にＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度０°の第１画像回転処理を含む）が図１２のフローチャートを参照して説明される。この場合の書き込み処理は、基本的には、図２のフローチャートと同一である。そのため、図１２のフローチャートにおいて、図２のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０２０３】
図１２のフローチャートの処理が、図２のフローチャートの処理と異なるのは、Ｓ２０２’’の処理と、Ｓ２０７’’の処理と、Ｓ２１１’’の処理と、Ｓ２１２’’の処理である。Ｓ２０２’’の処理は、垂直同期周期VD立ち下がり直後に書き込み処理する記録領域のアドレス指定である。
【０２０４】
Ｓ２０２の処理においては、
・Rowアドレスの指定値であるWrite Rowカウンタ７のRowアドレスカウント数→０、
・Columnアドレスの指定値であるWrite Columnカウンタ８のColumnアドレスカウント数→０、
・Writeラインカウンタ３のラインカウント数→０、
・Write画素カウンタ４の画素カウント数→０、
に設定される。
【０２０５】
これに対して、Ｓ２０２’’の処理においては、画像データから小画像データを切り出して書き込み処理することに対応して、
・Write Rowカウンタ７のRowアドレスカウント数は、次の算定式により設定される。
Write Rowアドレス＝ＨＶｓ/２５６＋Ｈｓ/１６
・Write Columnカウンタ８のColumnアドレスカウント数は、次の算定式により設定される。
Write Columnアドレス＝（Ｖｓ mod １６）×１６＋（Ｈｓ mod １６）
・Writeラインカウンタ３のラインカウント数はＶｓに設定される。
・Write画素カウンタ４の画素カウント数はＨｓに設定される。
【０２０６】
このような算定式により書き込みアドレス位置を初期設定する点でＳ２０２’’の処理はＳ２０２の処理と相違する。
【０２０７】
Ｓ２０７,Ｓ２０７’’の処理は、画像データや小画像データにおける１ライン分の画素データをＳＤＲＡＭ２に書き込んだか否かを判断する処理である。ここで、画像データを書き込む図２の処理では、Write画素カウンタ４の画素カウント数が画像データの１ラインの画素数Ｈの倍数に一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込む図１２の処理では、Write画素カウンタ４の画素カウント数が（Ｈｓ＋Ｈｗ）の倍数に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２０８】
Ｓ２１１,Ｓ２１１’の処理は、画像データや小画像データの全ての画素データをＳＤＲＡＭ２に書き込む処理が終了したか否かを判断する処理である。ここで、画像データを書き込む図２の処理では、Writeラインカウンタ３のラインカウント数が画像データの総ラインＶに一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込む図１２の処理では、Writeラインカウンタ３のラインカウント数が（Ｖｓ＋Ｖｗ）に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２０９】
Ｓ２１２,Ｓ２１２’’の処理は、画像データや小画像データの１ライン分の画素データをＳＤＲＡＭ２に書き込んだ後、次に書き込み処理を実施するＳＤＲＡＭ２上の記録領域の指定を行う処理である。ここで、画像データを書き込む図２の処理では、Ｓ２１２において次に指定する記録領域のRowアドレスは、
Write Rowアドレス＝（Ｈ/１６）×（Writeラインカウンタ３のカウント/１６）
の算定式により指定される。
【０２１０】
Columnアドレスは、
Write Columnアドレス＝（Writeラインカウンタ３のカウント数 mod １６）×１６
の算定式により指定される。
【０２１１】
これに対して、図１２の処理では、画像データから小画像データを切り出して書き込むことに対応して、Ｓ２１２’’において次に指定する記録領域のRowアドレスは、
Write Rowアドレス＝（Ｈ/１６）×（Writeラインカウンタ３のカウント数/１６）
＋Ｈｓ/１６
の算定式により指定される。
【０２１２】
Columnアドレスは、
Write Columnアドレス＝（Writeラインカウンタ３のカウント数 mod １６）
×１６＋（Ｈｓ mod １６）
の算定式より指定される。これらの点で両処理は相違する。
【０２１３】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度０°であって実質的には第１画像回転処理なし）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に９０°の第２画像回転処理が実施される場合の処理が、図１３のフローチャートを参照して説明される。
【０２１４】
この場合の書き込み処理は、基本的には、図３のフローチャートと同一である。そのため、図１３のフローチャートにおいて、図３のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０２１５】
図１３のフローチャートの処理が、図３のフローチャートの処理と異なるのは、Ｓ３０２’’の処理と、Ｓ３０７’’の処理と、Ｓ３１１’’の処理と、Ｓ３１２’’の処理である。Ｓ３０２,Ｓ３０２’’の処理は、垂直同期周期VD立ち下がり直後に読み出し処理する記録領域のアドレス指定である。Ｓ３０２の処理において、Read Rowアドレスは、
Read Rowアドレス＝Ｈ/１６−１
の算定式により指定され、
Read Columnアドレスは１５に更新され、readラインカウンタ５のラインカウント数とread画素カウンタ６の画素カウント数とは０に更新される。
【０２１６】
これに対して、Ｓ３０２’’の処理においては、画像データから小画像を切り出して書き込み処理することに対応して、Read Rowアドレスは、
Read Rowアドレス＝ＨＶｓ/２５６＋（Ｈ−Ｈｅ）/１６−１
の算定式により指定される。
【０２１７】
Read Columnアドレスは、
Read Columnアドレス＝（Ｖｓ mod １６）×１６−（Ｈｅ mod １６）＋１５
の算定式により指定される。readラインカウンタ５のラインカウント数はＨｅに更新され、read画素カウンタ６の画素カウント数はＶｓに更新される。
【０２１８】
このような処理を行う点でＳ３０２’’の処理はＳ３０２の処理と相違する。
【０２１９】
Ｓ３０７,Ｓ３０７’’の処理は、第２画像回転処理後の画像データや小画像データにおける１ライン分の画素データをＳＤＲＡＭ２から読み出したか否かを判断する処理である。ここで、画像データを読み出す図３の処理では、read画素カウンタ６の画素カウント数が元画像データのライン数Ｖの倍数に一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込だのち読み出す図１３の処理では、Write画素カウンタ４の画素カウント数が（Ｖｓ＋Ｖｗ）の倍数に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２２０】
Ｓ３１１,Ｓ３１１’の処理は、画像データや小画像データの全ての画素データをＳＤＲＡＭ２に読み出す処理が終了したか否かを判断する処理である。ここで、画像データを読み出す図３の処理では、readラインカウンタ５のラインカウント数が画像データの１ラインの画素数Ｈに一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込んだうえで読み出す図１３の処理では、Writeラインカウンタ３のラインカウント数が（Ｈｅ＋Ｈｗ）に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２２１】
Ｓ３１２,Ｓ３１２’’の処理は、読み出し処理後の画像データの１ライン分となる画素データをＳＤＲＡＭ２から読み出した後、次に読み出し処理を実施する記録領域の指定を行う処理である。ここで、画像データを読み出す図３の処理では、Ｓ３１２において次に指定する記録領域のRowアドレスであるRead Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス＝Ｈ/１６−１−（readラインカウンタ５のカウント数/１６）
の算定式により更新される。
【０２２２】
Read Column カウンタ１０のColumnアドレスカウント数は、
Read Columnアドレス＝１５−（readラインカウンタ５のカウント数 mod １６）
の算定式により更新される。
【０２２３】
これに対して、図１３の処理では、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込んだうえで読み出すことに対応して、Ｓ３１２’'において、Read Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス＝ＨＶｓ/２５６
＋（Ｈ−readラインカウンタ５のカウント数）/１６−１
の算定式により更新される。
【０２２４】
Read Column カウンタ１０のColumnアドレスカウント数は、
Read Columnアドレス＝（Ｖｓ mod １６）×１６
−（readラインカウンタ５のカウント数 mod １６）＋１５
の算定式により更新される。
【０２２５】
このような処理を行う点でＳ３１２’’の処理はＳ３１２の処理と相違する。
【０２２６】
次に、画像データをＳＤＲＡＭ２に書き込む際に実施する第１画像回転処理の回転角度が９０°であり、画像データをＳＤＲＡＭ２から読み出す際に実施する第２画像回転処理の回転角度が０°である場合の処理が図１４,図１５のフローチャートを参照して説明される。
【０２２７】
まず、ＳＤＲＡＭ２に対する画像データの書き込み処理（回転角度９０°の第１画像回転処理を含む）が図１４のフローチャートを参照して説明される。この場合の書き込み処理は、基本的には、図４のフローチャートと同一である。そのため、図１４のフローチャートにおいて、図４のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０２２８】
図１４のフローチャートの処理が、図４のフローチャートの処理と異なるのは、Ｓ４０２’'の処理と、Ｓ４０７’'の処理と、Ｓ４１１''の処理と、Ｓ４１２’'の処理である。
【０２２９】
Ｓ４０２,Ｓ４０２’'の処理は、垂直同期周期VD立ち下がり直後に書き込み処理する記録領域のアドレス指定である。Ｓ４０２の処理においてRowアドレスであるWrite Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝ＨＶ/２５６−Ｖ/１６
の算定式により更新される。
【０２３０】
Write Columnカウンタ８のColumnアドレスカウント数は２４０に更新され、Writeラインカウンタ３のラインカウント数とWrite画素カウンタ４の画素カウント数とはそれぞれ０に更新される。
【０２３１】
これに対して、Ｓ４０２’'の処理においては、画像データから小画像を切り出して書き込み処理することに対応して、Write Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝（Ｈ−Ｈｓ）Ｖ/２５６−（Ｖ−Ｖｓ）/１６
の算定式により更新される。
【０２３２】
Write Columnカウンタ８のColumnアドレスカウント数は、
Write Columnアドレス＝２４０−（Ｈｓ mod １６）×１６＋（Ｖｓ mod １６）
の算定式により更新される。
【０２３３】
Writeラインカウンタ３のラインカウント数はＶｓに更新され、Write画素カウンタ４の画素カウント数はＨｓに更新される。
【０２３４】
このような処理を行う点でＳ４０２’’の処理はＳ４０２の処理と相違する。
【０２３５】
Ｓ４０７,Ｓ４０７’’の処理は、第１画像回転処理後の画像データや小画像データにおける１ライン分の画素データをＳＤＲＡＭ２に書き込んだか否かを判断する処理である。ここで、画像データを書き込む図４の処理では、Write画素カウンタ４の画素カウント数が元画像データの１ラインの画素数Ｈの倍数に一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込む図１４の処理では、Write画素カウンタ４の画素カウント数が（Ｈｓ＋Ｈｗ）の倍数に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２３６】
Ｓ４１１,Ｓ４１１’の処理は、画像データや小画像データの全ての画素データをＳＤＲＡＭ２に書き込む処理が終了したか否かを判断する処理である。ここで、画像データを書き込む図４の処理では、Writeラインカウンタ３のラインカウント数が画像データのライン数Ｖに一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込む図１４の処理では、Writeラインカウンタ３のラインカウント数が（Ｖｓ＋Ｖｗ）に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２３７】
Ｓ４１２,Ｓ４１２’’の処理は、画像データや小画像データの１ライン分となる画素データをＳＤＲＡＭ２に書き込んだ後、次に書き込み処理を実施する記録領域の指定を行う処理である。ここで、画像データを書き込む図４の処理では、Ｓ４１２において次に書き込み指定する記録領域のRowアドレスであるWrite Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝ＨＶ/２５６−（Ｖ−Writeラインカウンタ３のカウント数）/１６
の算定式により更新される。
【０２３８】
Write Columnカウンタ８のColumnアドレスカウント数は、
Write Columnアドレス＝２４０＋（Writeラインカウンタ３のカウント数 mod １６）
の算定式により更新される。
【０２３９】
これに対して、図１４の処理では、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込むことに対応して、Ｓ４１２’'において、Write Rowカウンタ７のRowアドレスカウント数は、
Write Rowアドレス＝（Ｈ−Ｈｓ）Ｖ/２５６
−（Ｖ−Writeラインカウンタ３のカウント数）/１６
の算定式により更新される。
【０２４０】
Write Columnカウンタ８のColumnアドレスカウント数は、
Write Columnアドレス＝２４０−（Ｈｓ mod １６）×１６
＋（Writeラインカウンタ３のカウント数 mod １６）
の算定式により更新される。
【０２４１】
このような処理を行う点でＳ４１２’’の処理はＳ４１２の処理と相違する。
【０２４２】
次に、画像データをＳＤＲＡＭ２に書き込む際に第１画像回転処理（上述例では回転角度９０°）が実施されたのち、画像データをＳＤＲＡＭ２から読み出す際に０°の第２画像回転処理が実施される場合の処理が、図１５のフローチャートを参照して説明される。
【０２４３】
この場合の読み出し処理は、基本的には、図５のフローチャートと同一である。そのため、図１５のフローチャートにおいて、図５のフローチャートと同一の処理を行う処理ステップには同一のステップ番号を付し、それらについての説明は省略される。
【０２４４】
図１５のフローチャートの処理が、図５のフローチャートの処理と異なるのは、Ｓ５０２'の処理と、Ｓ５０７’の処理と、Ｓ５１１''の処理と、Ｓ５１２’'の処理である。
【０２４５】
Ｓ５０２,Ｓ５０２’'の処理は、垂直同期周期VD立ち下がり直後に読み出し処理する記録領域のアドレス指定である。Ｓ５０２の処理においてRowアドレスであるRead Row カウンタ９のRowアドレスカウント数と、Read Column カウンタ１０のColumnアドレスカウント数と、readラインカウンタ５のラインカウント数とread画素カウンタ６の画素カウント数とはそれぞれ０に更新される。
【０２４６】
これに対して、Ｓ５０２’'の処理においては、画像データから小画像を切り出してＳＤＲＡＭ２に書き込み処理したのち読み出す処理することに対応して、Read Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス＝ＨＶｓ/２５６＋Ｈｓ/１６
の算定式により更新される。
【０２４７】
Read Column カウンタ１０のColumnアドレスカウント数は、
Read Columnアドレス＝（Ｖｓ mod １６）×１６＋（Ｈｓ mod １６）
の算定式により更新される。readラインカウンタ５のラインカウント数はＶｓに更新され、read画素カウンタ６の画素カウント数はＨｓに更新される。
【０２４８】
このような処理を行う点でＳ５０２’’の処理はＳ５０２の処理と相違する。
【０２４９】
Ｓ５０７,Ｓ５０７’’の処理は、第１画像回転処理後の画像データや小画像データにおける１ライン分の画素データをＳＤＲＡＭ２から読み出したか否かを判断する処理である。ここで、画像データを読み出す図５の処理では、read画素カウンタ６の画素カウント数が元画像データのライン数Ｖの倍数に一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込んだうえで読み出す図１５の処理では、read画素カウンタ６の画素カウント数が（Ｖｓ＋Ｖｗ）の倍数に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２５０】
Ｓ５１１,Ｓ５１１’の処理は、画像データや小画像データの全ての画素データをＳＤＲＡＭ２から読み出す処理が終了したか否かを判断する処理である。ここで、画像データを読み出す図５の処理では、readラインカウンタ５のラインカウント数が元画像データの１ライン画素数Ｈに一致するか否かが上記判断基準とされる。これに対して、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込んだうえで読み出す図１５の処理では、readラインカウンタ５のラインカウント数が（Ｈｓ＋Ｈｗ）に一致するか否かが上記判断基準とされる。この点で両処理は相違する。
【０２５１】
Ｓ５１２,Ｓ５１２’’の処理は、画像データや小画像データの１ライン分となる画素データをＳＤＲＡＭ２から読み出した後、次に読み出し処理を実施する記録領域の指定を行う処理である。ここで、画像データを読み出す図５の処理では、Ｓ５１２において次に読み出し指定する記録領域のRowアドレスであるRead Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス＝（Ｈ/１６）×（readラインカウンタ５のカウント数）/１６
の算定式により更新される。
【０２５２】
Read Column カウンタ１０のColumnアドレスカウント数は、
Read Columnアドレス＝（readラインカウンタ５のカウント数 mod １６）×１６
の算定式により更新される。
【０２５３】
これに対して、図１５の処理では、画像データから小画像データを切り出してＳＤＲＡＭ２に書き込んだうえで読み出すことに対応して、Ｓ５１２’'において、Read Row カウンタ９のRowアドレスカウント数は、
Read Rowアドレス＝（Ｈ/１６）×（readラインカウンタ５のカウント数/１６）
＋Ｈｓ/１６
の算定式により更新される。
【０２５４】
Read Column カウンタ１０のColumnアドレスカウント数は、
Read Columnアドレス＝（readラインカウンタ５のラインカウント数 mod １６）
×１６＋（Ｈｓ mod １６）
の算定式により更新される。
【０２５５】
このような処理を行う点でＳ５１２’’の処理はＳ５１２の処理と相違する。
【０２５６】
図１９（ａ）に示される画像データ（１ライン画素数Ｈ、ライン数Ｖ）をＳＤＲＡＭ２に書き込み・読み出し処理する際に上述した画像回転処理を行う場合における水平同期周期HDと垂直同期周期VDとは次のように設定される。
【０２５７】
このような処理を実施する場合において、第２画像回転処理後の画像データが元画像データから９０°回転した画像（１ライン画素数Ｖ、ライン数Ｈ）になると、図１９（ｂ）に示されるように、１ライン分の画素の読み書きに設定される期間ｈが、実際画素数Ｖの１ラインの画素を読み書きする期間よりも長くなって各ラインで余分な読み書き時間を浪費する結果、時間的に全てのラインを読み書きすることができなくなる。
【０２５８】
このような不都合を解消するため、本実施形態では、第１画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、画像データをＳＤＲＡＭ２に書き込む際に用いる水平同期周期H D１を、次の（１）式により設定する。
HD１＝VD/HD２  …（１）
VD：画像データをＳＤＲＡＭ２に（書き込む・読み出す）際に用いる垂直同期周期
HD２：第１画像回転処理前の元画像データをそのままの画像向きでＳＤＲＡＭ
に書き込む際に用いる水平同期周期
また、
第２画像回転処理の回転角度が９０°×ｒ（ｒ＝１,３）である場合には、ＳＤＲＡＭ
２から画像データを読み出す際に用いる水平同期周期HD３を、次の（２）式により設定する。
HD３＝VD/HD４  …（２）
VD：画像データをＳＤＲＡＭ２に（書き込む・読み出す）際に用いる垂直同期周期
HD４：第２画像回転処理前の画像データをそのままの画像向きでＳＤＲＡＭ２から読み出す際に用いる水平同期周期。
【０２５９】
これにより、図１９（ｃ）に示されるように、１ライン分の画素の読み書きに設定される期間ｈ'が、実際画素数Ｖの１ラインの画素を読み書きする期間と同等となって各ラインで余剰な読み書き時間がなくなる結果、画像データをＳＤＲＡＭに（書き込む・読み出す）際に用いる垂直同期周期VDの期間内に、画像データを構成する全ての画素を確実に（書き込む・読み出す）ことが可能となる。このような制御を実施するためには、画像処理装置１に、水平同期周期HDを調整する装置を新たに設けるか、予め、上記調整をした水平同期周期HDを外部から供給するようにすればよい。
【０２６０】
上述した実施の形態では、ＳＤＲＡＭ２に書き込み・読み出し処理する画像データに対して画像回転処理だけを実施する場合を説明したが、ＳＤＲＡＭ２に書き込み・読み出し処理する画像データに対して画像反転処理をさらに実施する場合においても本発明は実施できる。その場合は、Columnアドレスの読み出し順を上述した説明とは逆に行えばよいだけである。また、上述した実施の形態では、第１,第２画像回転処理での回転角度を９０°としていたが、２７０°の場合においも本発明は実施できるのは言うまでもない。さらには、第１,第２画像回転処理の中に回転角度１８０°の画像回転処理を含んでいても本発明は同様に実施できるのはいうまでもない。
【０２６１】
上述した実施の形態では、プログレッシブ走査を行う画像処理装置において本発明を実施した場合を説明したが、本発明は、インターレース走査を行う画像処理装置においても実施可能である。その場合、最初のフィールドでは偶数ラインに対応するアドレスに画素データを書き込み、次のフィールドでは奇数ラインに対応するアドレスに画素データを書き込めばよい。
【図面の簡単な説明】
【０２６２】
【図１】本発明の一実施形態の画像処理装置の構成を示す機能ブロック図である。
【図２】実施の形態でＳＤＲＡＭに画像データを書き込む際の第１の例を示すフローチャートである。
【図３】実施の形態でＳＤＲＡＭから画像データを読み出す際の第１の例を示すフローチャートである。
【図４】実施の形態でＳＤＲＡＭに画像データを書き込む際の第２の例を示すフローチャートである。
【図５】実施の形態でＳＤＲＡＭから画像データを読み出す際の第２の例を示すフローチャートである。
【図６】実施の形態におけるＳＤＲＡＭの画素データの配置の第１の例を示す図である。
【図７】実施の形態におけるＳＤＲＡＭの画素データの配置の第２の例を示す図である。
【図８】実施の形態でＳＤＲＡＭに画像データを書き込む際の第３の例を示すフローチャートである。
【図９】実施の形態でＳＤＲＡＭから画像データを読み出す際の第３の例を示すフローチャートである。
【図１０】実施の形態でＳＤＲＡＭに画像データを書き込む際の第４の例を示すフローチャートである。
【図１１】実施の形態でＳＤＲＡＭから画像データを読み出す際の第４の例を示すフローチャートである。
【図１２】実施の形態でＳＤＲＡＭに画像データを書き込む際の第５の例を示すフローチャートである。
【図１３】実施の形態でＳＤＲＡＭから画像データを読み出す際の第５の例を示すフローチャートである。
【図１４】実施の形態でＳＤＲＡＭに画像データを書き込む際の第６の例を示すフローチャートである。
【図１５】実施の形態でＳＤＲＡＭから画像データを読み出す際の第６の例を示すフローチャートである。
【図１６】画像データ内に小画像データを設けた構成の構成例を示す図である。
【図１７】本発明の実施の形態の画像処理装置でＳＤＲＡＭに画像データを書き込む処理を行う際のタイミングチャートである。
【図１８】本発明の実施の形態の画像処理装置でＳＤＲＡＭから画像データを読み出す処理を行う際のタイミングチャートである。
【図１９】ＳＤＲＡＭの記録領域配置構成と、ＳＤＲＡＭに書き込み・読み出しする画像データの画素データ配置構成との関係を示す図である。
【符号の説明】
【０２６３】
１  画像処理装置             ２  SDRAM
２1〜s 記録ブロック           ３  Writeラインカウンタ
４  Write画素カウンタ        ５  readラインカウンタ
６  read画素カウンタ         ７  Write Rowカウンタ
８  Write Columnカウンタ    ９  Read Row カウンタ
１０  Read Column カウンタ  １１  Read/Write回転/反転制御器
１２  NWE制御器            １３  アドレス制御器
１４  入力遅延制御器         １５ 出力遅延制御器
VD  垂直同期周期            ＨＤ  水平同期周期
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2005109967.tif 000022
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2005109967.tif 000023