(57)【要約】【課題】アクセスパターンの各設定位置で、そのパターンに対応した複数の画素データの同時取得を容易とする。【解決手段】データ格納制御部１２０は、初期格納時に、注目画素の画素データを最初のメモリバンクに格納することを開始した後、注目画素が開始位置のアクセスパターンで特定される複数の画素のいずれかになるとき、あるいは同一のバンクに一定数の画素データを連続して格納したとき、画素データを格納するバンクを順次切り替える。データアクセス制御部１４０は、データアクセス時に、アクセスパターンが所定位置にあるとき、その所定位置におけるアクセスパターンで特定される複数の画素の画素データを各バンクから同時に読み出すと共に、アクセスパターンの設定位置を移動した際に、当該アクセスパターンで特定される複数の画素の画素データが夫々異なるバンクに格納されているように、読み出した画素データを一つ前のバンクに移動する。【選択図】        図１
2006277653.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリバンクからなるメモリ部と、
水平または垂直の方向に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを上記複数のメモリバンクに振り分けて格納するための制御を行うデータ格納制御部と、
上記所定画面上に設定される複数の画素のパターンをアクセスパターンとし、上記複数のメモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するための制御を行うデータアクセス制御部とを備え、
上記データ格納制御部は、
上記設定位置の開始位置における上記アクセスパターンで特定される複数の画素に基づき、上記注目画素の画素データを最初のメモリバンクに格納することを開始した後、上記注目画素が上記複数の画素のいずれかになるとき、あるいは同一のメモリバンクに一定数の画素データを連続して格納したとき、上記注目画素の画素データを格納するメモリバンクを順次切り替え、
上記注目画素が上記複数の画素のいずれかになることで該注目画素の画素データを格納するメモリバンクを切り替えるとき、切り替え前のメモリバンクの書き込みアドレスを上記一定数に対応したアドレスの次のアドレスとし、
上記データアクセス制御部は、
上記設定位置が所定位置にあるとき、該所定位置における上記アクセスパターンで特定される複数の画素の画素データを上記複数のメモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納されているように、上記読み出した画素データのいずれかあるいは全部を、該画素データが格納されていたメモリバンクの１つ前のメモリバンクに格納する
ことを特徴とするデータアクセス装置。
【請求項２】
上記データ格納制御部は、
上記注目画素が、上記設定位置の開始位置における上記アクセスパターンで特定される複数の画素に一致する画素であるか否かを判定する一致判定部と、
上記一致判定部における一致判定出力でカウントを開始し、同一のメモリバンクに連続して格納される画素データの個数をカウントするカウント部と、
上記一致判定部の判定出力および上記カウント部のカウント値に基づいて、上記注目画素毎に、上記メモリ部に対する書き込みアドレスを生成するアドレス生成部とを有する
ことを特徴とする請求項１に記載のデータアクセス装置。
【請求項３】
上記データ格納制御部は、
上記複数のメモリバンクのそれぞれに対応した読み出しを行うか否かを示す読み出しフラグを生成する読み出しフラグ生成部をさらに有し、
上記読み出しフラグ生成部は、上記複数の画素のいずれかに対応する画素データが格納されるメモリバンクについての読み出しフラグを読み出しを行うことを示すフラグオンの状態とし、その他のメモリバンクについての読み出しフラグを読み出しを行わないことを示すフラグオフの状態とする
ことを特徴とする請求項２に記載のデータアクセス装置。
【請求項４】
上記データ格納制御部は、
上記複数のメモリバンクのそれぞれに対応した読み出し開始アドレスおよび書き込み開始アドレスを生成する開始アドレス生成部をさらに有し、
上記開始アドレス生成部は、それぞれのメモリバンクに対して、上記複数の画素の１番目の画素以降の画素のデータであって最初の画素データが格納されたアドレスを読み出し開始アドレスとし、上記最初の画素データから連続して格納された画素データの個数が上記一定数であるとき上記読み出し開始アドレスを書き込み開始アドレスとし、上記最初の画素データから連続して格納された画素データの個数が上記一定数に満たないとき、最後の画素データが格納されたアドレスの次のアドレスを上記書き込み開始アドレスとする
ことを特徴とする請求項２に記載のデータアクセス装置。
【請求項５】
上記データアクセス制御部は、
上記複数のメモリバンクの読み出し開始アドレスを設定する読み出し開始アドレス設定部と、
上記複数のメモリバンクの書き込み開始アドレスを設定する書き込み開始アドレス設定部と、
上記複数のメモリバンクの読み出しアドレスを生成する読み出しアドレス生成部と、
上記複数のメモリバンクの書き込みアドレスを生成する書き込みアドレス生成部と、
上記複数のメモリバンクの、読み出しを行うか否かを示す読み出しフラグを生成する読み出しフラグ生成部と、
上記複数のメモリバンクの、書き込みを行うか否かを示す書き込みフラグを生成する書き込みフラグ生成部と、
最初に上記複数の画素のうち１番目の画素の画素データが格納されたメモリバンクを指定し、その後は上記設定位置が上記一定数だけ移動する毎に上記複数のメモリバンクを順次指定するバンク指定部とを有し、
上記読み出し開始アドレス設定部は、
各メモリバンクのそれぞれに対し、
最初の読み出し開始アドレスを外部から与えられる読み出し開始アドレスとし、
上記設定位置が上記一定数だけ移動する毎の読み出し開始アドレスを、上記バンク指定部で指定されていないメモリバンクについては１つ前のメモリバンクの書き込みフラグがフラグオフの状態となったときの読み出しアドレスとし、上記バンク指定部で指定されているメモリバンクについては１つ前のメモリバンクの書き込みフラグがフラグオフとなったときの読み出しアドレスを上記一定数だけ進めたアドレスとし、
上記書き込み開始アドレス設定部は、
各メモリバンクのそれぞれに対し、
最初の書き込み開始アドレスを、外部から与えられる書き込み開始アドレスとし、
上記設定位置が一定数だけ移動する毎の書き込み開始アドレスを、上記バンク指定部で指定されていないメモリバンクについては直前の読み出し開始アドレスとし、上記バンク指定部で指定されているメモリバンクについては直前の読み出し開始アドレスを上記一定数だけ進めたアドレスを書き込み開始アドレスとし、
上記読み出しアドレス生成部は、
各メモリバンクのそれぞれに対し、
最初および上記設定位置が上記一定数だけ移動する毎に、上記読み出し開始アドレス設定部で設定された読み出し開始アドレスを読み出しアドレスとし、
各設定位置で画素データの読み出しが行われるとき、上記読み出しアドレスをインクリメントし、上記読み出し開始アドレスが上記一定数の（Ｒ−１）倍を越えると共にＲ倍以下にあるとき（Ｒは正の整数）、該インクリメントされたアドレスが上記一定数のＲ倍を越えないときは該インクリメントされたアドレスを次の読み出しアドレスとし、上記インクリメントされたアドレスが上記一定数のＲ倍を越えるときは該インクリメントされたアドレスを上記一定数だけ戻したアドレスを次の読み出しアドレスとし、
上記書き込みアドレス生成部は、
上記各メモリバンクのそれぞれに対し、
最初および上記設定位置が一定数だけ移動する毎に、上記書き込み開始アドレス設定部で設定された書き込み開始アドレスを書き込みアドレスとし、
各設定位置で画素データの書き込みが行われるとき、上記書き込みアドレスをインクリメントし、上記書き込み開始アドレスが上記一定数の（Ｒ−１）倍を越えると共にＲ倍以下にあるとき（Ｒは正の整数）、該インクリメントされたアドレスが上記一定数のＲ倍を越えないときは該インクリメントされたアドレスを次の書き込みアドレスとし、上記インクリメントされたアドレスが上記一定数のＲ倍を越えるときは該インクリメントされたアドレスを上記一定数だけ戻したアドレスを次の書き込みアドレスとし、
上記読み出しフラグ生成部は、
上記各メモリバンクのそれぞれに対し、
最初は、外部から与えられる読み出しフラグに基づき、上記設定位置の開始位置における上記アクセスパターンで特定される複数の画素の画素データのいずれかが格納されているメモリバンクについての読み出しフラグを読み出しを行うことを示すフラグオンの状態とし、その他のメモリバンクについての読み出しフラグを読み出しを行わないことを示すフラグオフの状態とし、
上記設定位置が一定数だけ移動する毎に、１つ前のメモリバンクの読み出しフラグを新たな読み出しフラグとし、
上記書き込みフラグ生成部は、
上記各メモリバンクのそれぞれに対し、
最初および上記設定位置が一定数だけ移動する毎に、上記読み出し開始アドレス設定部で設定される読み出し開始アドレスと上記書き込み開始アドレス設定部で設定される書き込み開始アドレスに基づき、上記読み出し開始アドレスと上記書き込み開始アドレスが同じであるメモリバンクについての書き込みフラグを書き込みを行わないことを示すフラグオフの状態とし、その他のメモリバンクについての書き込みフラグを書き込みを行うことを示すフラグオンの状態とし、
各設定位置毎に、上記書き込みアドレス生成部で生成された次の書き込みアドレスが上記読み出し開始アドレス生成部で生成された読み出し開始アドレスと同じになるメモリバンクについての書き込みフラグをフラグオンの状態からフラグオフの状態とする
ことを特徴とする請求項１に記載のデータアクセス装置。
【請求項６】
上記外部から与えられる上記書き込み開始アドレスおよび上記読み出し開始アドレスは、上記データ格納制御部から与えられる
ことを特徴とする請求項５に記載のデータアクセス装置。
【請求項７】
上記外部から与えられる上記読み出しフラグは、上記データ格納制御部から与えられる
ことを特徴とする請求項５に記載のデータアクセス装置。
【請求項８】
水平または垂直の方向に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを上記複数のメモリバンクに振り分けて格納するデータ格納工程と、
上記所定画面上に設定される複数の画素のパターンをアクセスパターンとし、上記複数のメモリバンクから、上記アクセスパターンの設定位置を開始位置から上記画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス工程とを備え、
上記データ格納工程では、
上記設定位置の開始位置における上記アクセスパターンで特定される複数の画素に基づき、上記注目画素の画素データを最初のメモリバンクに格納することを開始した後、上記注目画素が上記複数の画素のいずれかになるとき、あるいは同一のメモリバンクに一定数の画素データを連続して格納したとき、上記注目画素の画素データを格納するメモリバンクを順次切り替え、
上記注目画素が上記複数の画素のいずれかになることで該注目画素の画素データを格納するメモリバンクを切り替えるとき、切り替え前のメモリバンクの書き込みアドレスを上記一定数に対応したアドレスの次のアドレスとし、
上記データアクセス工程では、
上記設定位置が所定位置にあるとき、該所定位置における上記アクセスパターンで特定される複数の画素の画素データを上記複数のメモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納されているように、上記読み出した画素データのいずれかあるいは全部を、該画素データが格納されていたメモリバンクの１つ前のメモリバンクに格納する
ことを特徴とするデータアクセス方法。
【請求項９】
水平または垂直の方向に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを上記複数のメモリバンクに振り分けて格納するデータ格納工程と、
上記所定画面上に設定される複数の画素のパターンをアクセスパターンとし、上記複数のメモリバンクから、上記アクセスパターンの設定位置を開始位置から上記画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス工程とを備え、
上記データ格納工程では、
上記設定位置の開始位置における上記アクセスパターンで特定される複数の画素に基づき、上記注目画素の画素データを最初のメモリバンクに格納することを開始した後、上記注目画素が上記複数の画素のいずれかになるとき、あるいは同一のメモリバンクに一定数の画素データを連続して格納したとき、上記注目画素の画素データを格納するメモリバンクを順次切り替え、
上記注目画素が上記複数の画素のいずれかになることで該注目画素の画素データを格納するメモリバンクを切り替えるとき、切り替え前のメモリバンクの書き込みアドレスを上記一定数に対応したアドレスの次のアドレスとし、
上記データアクセス工程では、
上記設定位置が所定位置にあるとき、該所定位置における上記アクセスパターンで特定される複数の画素の画素データを上記複数のメモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納されているように、上記読み出した画素データのいずれかあるいは全部を、該画素データが格納されていたメモリバンクの１つ前のメモリバンクに格納する
データアクセス方法をコンピュータに実行させるためのプログラム。
【請求項１０】
水平または垂直の方向に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを上記複数のメモリバンクに振り分けて格納するデータ格納工程と、
上記所定画面上に設定される複数の画素のパターンをアクセスパターンとし、上記複数のメモリバンクから、上記アクセスパターンの設定位置を開始位置から上記画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス工程とを備え、
上記データ格納工程では、
上記設定位置の開始位置における上記アクセスパターンで特定される複数の画素に基づき、上記注目画素の画素データを最初のメモリバンクに格納することを開始した後、上記注目画素が上記複数の画素のいずれかになるとき、あるいは同一のメモリバンクに一定数の画素データを連続して格納したとき、上記注目画素の画素データを格納するメモリバンクを順次切り替え、
上記注目画素が上記複数の画素のいずれかになることで該注目画素の画素データを格納するメモリバンクを切り替えるとき、切り替え前のメモリバンクの書き込みアドレスを上記一定数に対応したアドレスの次のアドレスとし、
上記データアクセス工程では、
上記設定位置が所定位置にあるとき、該所定位置における上記アクセスパターンで特定される複数の画素の画素データを上記複数のメモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納されているように、上記読み出した画素データのいずれかあるいは全部を、該画素データが格納されていたメモリバンクの１つ前のメモリバンクに格納する
データアクセス方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、所定画面上に設定される複数の画素のパターンをアクセスパターンとし、このアクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、このアクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス装置、データアクセス方法、プログラムおよび記録媒体に関する。
【０００２】
詳しくは、この発明は、アクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納された状態として、当該複数の画素データを同時にアクセスできるようにしたことによって、当該複数の画素データの同時取得を容易としたデータアクセス装置等に係るものである。
【背景技術】
【０００３】
従来、半導体メモリＭＹは、図１６に示すように、ワード線ＷＬとビット線ＢＬを指定してメモリセルＭＣをアクセスする構造となっており、指定されたワード線ＷＬとビット線ＢＬが交差する位置にあるメモリセルＭＣに格納されたデータが読み出される。このような構造の半導体メモリＭＹでは、複数のワード線ＷＬで同じビット線ＢＬを共有している。したがって、図１７のように、例えば２つのワード線ＷＬ１，ＷＬ２を指定すると、ビット線ＢＬにはこれらワード線ＷＬ１，ＷＬ２のデータが混じり合って出てくるため、異なるワード線ＷＬのデータには同時アクセスできない。
【０００４】
これに対して、図１８のように、メモリＭＹを複数のメモリバンクＢＫ０〜ＢＫｎ−１に分け、それぞれのメモリバンクＢＫ０〜ＢＫｎ−１に異なるアドレスを指定することで、複数のワード線ＷＬのデータに同時にアクセスできるが、メモリバンク内の異なるワード線ＷＬのデータには同時にアクセスできない。
【０００５】
一般に、同時に複数データにアクセスが可能なのは、その複数データが異なるメモリバンクに格納されているか、あるいはその複数データが同一ワード線上に格納されているかのいずれかである。
【０００６】
また従来、入力データに含まれる特定のデータ配列を認識することにより、パターン認識や動き検出等の処理が行われている。例えば、数ラインの画素データを蓄積でき画素単位で出力できるバッファメモリと、数ビット幅データを処理し得る複数のプロセッサエレメントを含み、この複数のプロセッサエレメントで同時並行してデータ処理ができるデータ処理器と、マッチング参照データと制御データを格納する制御情報メモリとを備え、データ処理器の各プロセッサエレメントが、バッファメモリが出力した画像データの中の、自己に宛てられた注目画素中心のマトリクスの画素データ群を、閾値を用いて２値化して該プロセッサエレメントが処理可能なシリアル配列のビット幅に区切った対象データに変換し、同形式で制御情報メモリにあった参照データと合致するか否かを判定することが行われている（例えば、特許文献１参照）。
【０００７】
また、動画像の処理の分野において、動き、すなわち、時間的に異なる画像中の物体の動き方向と大きさ（または速さ）が用いられており、例えば画像の高能率符号化における動き補償フレーム間符号化や、フレーム間時間領域フィルタによるテレビジョン雑音低減装置における動きによるパラメータ制御等に動きが用いられる。動きを求める動き検出方法としては、ブロックマッチング法が知られている。本件出願人は、画像信号中の動きを検出する動き検出方法において、（ａ）１画面全体または１画面を複数に分割した比較的大きなブロック毎に、マッチング法によって積算値テーブルを生成し、この積算値テーブルを用いて、１画面全体または１画面を複数に分割した比較的大きなブロック毎に、１または複数の候補ベクトルを抽出するステップと、（ｂ）この候補ベクトルのみを対象としてマッチングを行い、１画素または比較的小さいブロック毎に動きベクトルを検出するステップとからなる２ステップの動き検出方法を先に提案している。この２ステップの動き検出方法では、画像の動き検出を２ステップ方式の代表点マッチングにより行う代表点マッチング、ベクトル割り当ての２ステップの過程において、いずれも画面内における任意の複数の画素データを同時に読み出す必要がある（例えば、特許文献２参照）。
【０００８】
【特許文献１】特開２００３−２０３２３６号公報
【特許文献２】特開２００１−６１１５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ここで、水平または垂直の方向に伸びる画素列が垂直または水平の方向に順次配列された所定画面の上に複数の画素のパターンをアクセスパターンとして設定し、このアクセスパターンの設定位置を開始位置から画素列方向に１画素ずつ順に移動した各設定位置で、アクセスパターンで特定される複数の画素の画素データを同時に取得することを考える。
【００１０】
例えば、図１９に示すように、水平方向に伸びる画素列が垂直方向に順次配列された画面ＳＲＮの上に５個の画素ＩＭ１〜ＩＭ５のパターンをアクセスパターンＡＣＰとして設定し、このアクセスパターンＡＣＰの設定位置を開始位置から画素列方向に移動していく場合を考える。この場合、画素列方向は水平方向であり、アクセスパターンＡＣＰの設定位置はラスタスキャン順に移動していく。また、図１９の「□」は１画素を示しており、この図１９におけるアクセスパターンＡＣＰの設定位置は、開始位置を示している。
【００１１】
この画面ＳＲＮの各画素列の画素のデータを、左上の画素からラスタスキャン順に、図２０に示すように、５個のメモリバンクＢＫ０〜ＢＫ４に１画素ずつ順に格納したとする。図２０の□内の数字はバンクアドレス０〜４を示している。この場合、アクセスパターンＡＣＰの設定位置が開始位置にあるとき、図２１に示すように、アクセスパターンＡＣＰで特定される５個の画素ＩＭ１〜ＩＭ５の画素データは、メモリバンクＢＫ０〜ＢＫ４の○印で示すアドレス位置に格納されていることから、５個の画素データに同時にアクセスして読み出すことができる。
【００１２】
アクセスパターンＡＣＰの設定位置が開始位置から１画素ずつ移動して４画素の移動までは、上述した設定位置が開始位置にある場合と同様に、５個の画素データに同時にアクセスして読み出すことができる。しかし、図２２に示すように、アクセスパターンＡＣＰの設定位置が５画素移動したとき、アクセスパターンＡＣＰで特定される５個の画素ＩＭ１〜ＩＭ５の画素データは、図２３に示すように、メモリバンクＢＫ０〜ＢＫ４の○印で示すアドレス位置に格納されており、メモリバンクＢＫ０で複数のワード線のデータにアクセスすることが必要になるので、５個の画素データに同時アクセスして読み出すことができなくなる。
【００１３】
アクセスパターンによっては、格納場所を上手く選べば同時にアクセスできるが、どのようなアクセスパターンでも複数の画素データに同時にアクセスできるようにするためには、１メモリバンクが１ワード線だけで構成されるぐらい細かく、バンク分割する必要がある。しかし、細かく分割するほどバンク数は多くなり、（ａ）それぞれのバンクに異なるアドレスを指定するのでアドレスバスが膨大になる、（ｂ）デコーダやセレクタがバンクの数だけ必要なのでチップ面積が大きくなる、（ｃ）同時に複数のバンクが動作するため消費電力が多くなる、等の問題点が出てくる。
【００１４】
なお、アクセスパターンに対応した複数の画素データに時分割でアクセスし、キャッシュやバッファに一時記憶し、見かけ上の同時アクセスを達成することが提案されているが（実開昭６３−３５１４６号公報、実開平８−８９６号公報参照）、時間的な遅れが発生するという問題点があった。
【００１５】
この発明の目的は、アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データを同時に取得することを容易に行い得るようにすることにある。
【課題を解決するための手段】
【００１６】
この発明の概念は、
複数のメモリバンクからなるメモリ部と、
水平または垂直の方向に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを上記複数のメモリバンクに振り分けて格納するための制御を行うデータ格納制御部と、
上記所定画面上に設定される複数の画素のパターンをアクセスパターンとし、上記複数のメモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するための制御を行うデータアクセス制御部とを備え、
上記データ格納制御部は、
上記設定位置の開始位置における上記アクセスパターンで特定される複数の画素に基づき、上記注目画素の画素データを最初のメモリバンクに格納することを開始した後、上記注目画素が上記複数の画素のいずれかになるとき、あるいは同一のメモリバンクに一定数の画素データを連続して格納したとき、上記注目画素の画素データを格納するメモリバンクを順次切り替え、
上記注目画素が上記複数の画素のいずれかになることで該注目画素の画素データを格納するメモリバンクを切り替えるとき、切り替え前のメモリバンクの書き込みアドレスを上記一定数に対応したアドレスの次のアドレスとし、
上記データアクセス制御部は、
上記設定位置が所定位置にあるとき、該所定位置における上記アクセスパターンで特定される複数の画素の画素データを上記複数のメモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納されているように、上記読み出した画素データのいずれかあるいは全部を、該画素データが格納されていたメモリバンクの１つ前のメモリバンクに格納する
ことを特徴とするデータアクセス装置にある。
【００１７】
この発明においては、水平または垂直の方向に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素を順に注目画素とし、この注目画素の画素データを複数のメモリバンクに振り分けて格納する。
【００１８】
例えば、データ格納制御部は、注目画素が、開始位置に設定されたアクセスパターンで特定される複数の画素（初期アクセス画素）に一致する画素であるか否かを判定する一致判定部と、この一致判定部における一致判定出力でカウントを開始し、同一のメモリバンクに連続して格納される画素データの個数をカウントするカウント部と、一致判定部の判定出力およびカウント部のカウント値に基づいて、注目画素毎に、メモリ部に対する書き込みアドレスを生成するアドレス生成部とを有する。
【００１９】
この場合、１番目の画素から順に注目画素となり、最初は複数のメモリバンクのうち最初のメモリバンクに格納される。その後、注目画素が複数の初期アクセス画素のいずれかになるとき、あるいは同一のメモリバンクに一定数の画素データを連続して格納したとき、注目画素の画素データを格納するメモリバンクが順次切り替えられる。
【００２０】
これにより、開始位置に設定されたアクセスパターンで特定される複数の初期アクセス画素の画素データはそれぞれ異なるメモリバンクに格納された状態となって同時アクセスが可能となり、また複数のメモリバンクに格納される画素データの数が平均化されるため、メモリバンクの容量を小さくできる。
【００２１】
またこの場合、注目画素が初期アクセス画素のいずれかとなることでこの注目画素の画素データを格納するメモリバンクを切り替えるとき、切り替え前のメモリバンクの書き込みアドレスが一定数に対応したアドレスの次のアドレスとされる。これにより、この切り替え前のメモリバンクに画素データが格納されていない領域が形成され、後述するように後のメモリバンクから読み出された画素データの格納が可能となる。
【００２２】
また、この発明においては、アクセスパターンの設定位置が開始位置から画素列方向に移動した各設定位置で、アクセスパターンで特定される複数の画素（アクセス画素）の画素データを、複数のメモリバンクから同時に取得する。
【００２３】
例えば、データアクセス制御部は、複数のメモリバンクの読み出し開始アドレスを設定する読み出し開始アドレス設定部と、複数のメモリバンクの書き込み開始アドレスを設定する書き込み開始アドレス設定部と、複数のメモリバンクの読み出しアドレスを生成する読み出しアドレス生成部と、複数のメモリバンクの書き込みアドレスを生成する書き込みアドレス生成部と、複数のメモリバンクの、読み出しを行うか否かを示す読み出しフラグを生成する読み出しフラグ生成部と、複数のメモリバンクの、書き込みを行うか否かを示す書き込みフラグを生成する書き込みフラグ生成部と、最初に複数のアクセス画素のうち１番目の画素の画素データが格納されたメモリバンクを指定し、その後はアクセスパターンの設定位置が一定数だけ移動する毎に複数のメモリバンクを順次指定するバンク指定部とを有する。
【００２４】
そして、読み出し開始アドレス設定部は、各メモリバンクのそれぞれに対し、最初の読み出し開始アドレスを外部から与えられる読み出し開始アドレスとし、アクセスパターンの設定位置が一定数だけ移動する毎の読み出し開始アドレスを、バンク指定部で指定されていないメモリバンクについては１つ前のメモリバンクの書き込みフラグがフラグオフの状態となったときの読み出しアドレスとし、バンク指定部で指定されているメモリバンクについては１つ前のメモリバンクの書き込みフラグがフラグオフとなったときの読み出しアドレスを一定数だけ進めたアドレスとする。
【００２５】
また、書き込み開始アドレス設定部は、各メモリバンクのそれぞれに対し、最初の書き込み開始アドレスを、外部から与えられる書き込み開始アドレスとし、アクセスパターンの設定位置が一定数だけ移動する毎の書き込み開始アドレスを、バンク指定部で指定されていないメモリバンクについては直前の読み出し開始アドレスとし、バンク指定部で指定されているメモリバンクについては直前の読み出し開始アドレスを一定数だけ進めたアドレスを書き込み開始アドレスとする。
【００２６】
また、読み出しアドレス生成部は、各メモリバンクのそれぞれに対し、最初およびアクセスパターンの設定位置が一定数だけ移動する毎に、読み出し開始アドレス設定部で設定された読み出し開始アドレスを読み出しアドレスとし、各設定位置で画素データの読み出しが行われるとき、読み出しアドレスをインクリメントし、読み出し開始アドレスが一定数の（Ｒ−１）倍を越えると共にＲ倍以下にあるとき（Ｒは正の整数）、インクリメントされたアドレスが一定数のＲ倍を越えないときはこのインクリメントされたアドレスを次の読み出しアドレスとし、インクリメントされたアドレスが一定数のＲ倍を越えるときはこのインクリメントされたアドレスを一定数だけ戻したアドレスを次の読み出しアドレスとする。
【００２７】
また、書き込みアドレス生成部は、各メモリバンクのそれぞれに対し、最初およびアクセスパターンの設定位置が一定数だけ移動する毎に、書き込み開始アドレス設定部で設定された書き込み開始アドレスを書き込みアドレスとし、各設定位置で画素データの書き込みが行われるとき、書き込みアドレスをインクリメントし、書き込み開始アドレスが一定数の（Ｒ−１）倍を越えると共にＲ倍以下にあるとき（Ｒは正の整数）、インクリメントされたアドレスが一定数のＲ倍を越えないときはこのインクリメントされたアドレスを次の書き込みアドレスとし、インクリメントされたアドレスが一定数のＲ倍を越えるときはこのインクリメントされたアドレスを一定数だけ戻したアドレスを次の書き込みアドレスとする。
【００２８】
また、読み出しフラグ生成部は、各メモリバンクのそれぞれに対し、最初は、外部から与えられる読み出しフラグに基づき、開始位置に設定されたアクセスパターンで特定される複数の画素（初期アクセス画素）の画素データのいずれかが格納されているメモリバンクについての読み出しフラグを読み出しを行うことを示すフラグオンの状態とし、その他のメモリバンクについての読み出しフラグを読み出しを行わないことを示すフラグオフの状態とし、アクセスパターンの設定位置が一定数だけ移動する毎に、１つ前のメモリバンクの読み出しフラグを新たな読み出しフラグとする。
【００２９】
また、書き込みフラグ生成部は、各メモリバンクのそれぞれに対し、最初およびアクセスパターンの設定位置が一定数だけ移動する毎に、読み出し開始アドレス設定部で設定される読み出し開始アドレスと書き込み開始アドレス設定部で設定される書き込み開始アドレスに基づき、読み出し開始アドレスと書き込み開始アドレスが同じであるメモリバンクについての書き込みフラグを書き込みを行わないことを示すフラグオフの状態とし、その他のメモリバンクについての書き込みフラグを書き込みを行うことを示すフラグオンの状態とし、各設定位置毎に、書き込みアドレス生成部で生成された次の書き込みアドレスが読み出し開始アドレス生成部で生成された読み出し開始アドレスと同じになるメモリバンクについての書き込みフラグをフラグオンの状態からフラグオフの状態とする。
【００３０】
この場合、アクセスパターンの設定位置が所定位置にあるとき、この所定位置におけるアクセスパターンで特定される複数の画素（アクセス画素）の画素データが複数のメモリバンクから同時に読み出されると共に、この設定位置が画素列方向に移動した際に、設定位置におけるアクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納されているように、読み出された画素データのいずれかあるいは全部が、その画素データが格納されていたメモリバンクの１つ前のメモリバンクに格納される。これにより、アクセスパターンの設定位置が開始位置から移動した全ての位置で、当該アクセスパターンで特定される複数のアクセス画素の画素データがそれぞれ異なるメモリバンクに格納された状態となって同時アクセスが可能となる。
【００３１】
例えば、データアクセス制御部に与えられる読み出しフラグは、データ格納制御部から与えられる。この場合、データ格納制御部は、複数のメモリバンクのそれぞれに対応した、読み出しを行うか否かを示す読み出しフラグを生成する読み出しフラグ生成部をさらに有し、この読み出しフラグ生成部は、複数の画素のいずれかに対応する画素データが格納されるメモリバンクに対する読み出しフラグを読み出しを行うことを示すフラグオンの状態とし、その他のメモリバンクに対する読み出しフラグを読み出しを行わないことを示すフラグオフの状態とする。このように、データ格納制御部からデータアクセス制御部に読み出しフラグを与えることで、例えばこれらデータ格納制御部およびデータアクセス制御部を制御する制御装置が、アクセスパターンおよび一定数の情報に基づいて読み出しフラグを生成して、データアクセス制御部に与えることが必要でなくなる。
【００３２】
また例えば、データアクセス制御部に与えられる読み出し開始アドレスおよび書き込み開始アドレスは、データ格納制御部から与えられる。この場合、データ格納制御部は、複数のメモリバンクのそれぞれに対応した、読み出し開始アドレスおよび書き込み開始アドレスを生成する開始アドレス生成部をさらに有し、この開始アドレス生成部は、それぞれのメモリバンクに対して、複数のアクセス画素の１番目の画素以降の画素のデータであって最初の画素データが格納されたアドレスを読み出し開始アドレスとし、最初の画素データから連続して格納された画素データの個数が一定数であるとき読み出し開始アドレスを書き込み開始アドレスとし、最初の画素データから連続して格納された画素データの個数が一定数に満たないとき、最後の画素データが格納されたアドレスの次のアドレスを書き込み開始アドレスとする。このように、データ格納制御部からデータアクセス制御部に読み出し開始アドレスおよび書き込み開始アドレスを与えることで、例えばこれらデータ格納制御部およびデータアクセス制御部を制御する制御装置が、アクセスパターンおよび一定数の情報に基づいて読み出し開始アドレスおよび書き込み開始アドレスを生成して、データアクセス制御部に与えることが必要でなくなる。
【発明の効果】
【００３３】
この発明によれば、アクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納された状態として、当該複数の画素データを同時にアクセスできるようにしたものであり、当該複数の画素データの同時取得を容易に行うことができる。
【発明を実施するための最良の形態】
【００３４】
以下、図面を参照しながら、この発明の実施の形態について説明する。図１は、実施の形態としてのデータアクセス装置１００の構成を示している。
【００３５】
このデータアクセス装置１００は、メモリ部１１０と、データ格納制御部１２０と、データアクセス制御部１４０とを備えている。
【００３６】
メモリ部１１０は、６個のメモリバンクＢＫ０〜ＢＫ５からなっている。このメモリ部１１０は、図示しない制御装置から入力端子１５０を介して与えられる制御信号ＳＣＬに基づいて動作する。
【００３７】
このメモリ部１１０には、初期格納時に、入力端子１１１から、格納すべき所定画面の画素データＤｉが入力される。ここで、所定画面は、水平方向に伸びる画素列が垂直方向に順次配列された構成となっており、メモリ部１１０には各画素列の画素データが順に注目画素としてラスタスキャン順に入力されていく。そして、このようにメモリ部１１０に入力されていく各注目画素の画素データは６個のメモリバンクＢＫ０〜ＢＫ５に振り分けて格納される。
【００３８】
また、データアクセス時に、画面上に複数の画素のパターンがアクセスパターンＡＣＰとして設定され、このアクセスパターンＡＣＰの設定位置が開始位置から画素列方向に１画素ずつ移動した各設定位置で、アクセスパターンＡＣＰで特定される複数の画素（以下、適宜、「アクセス画素」という）の画素データＤo1〜Ｄo5が、６個のメモリバンクＢＫ０〜ＢＫ５のいずれかから同時に読み出されて、出力端子１１２に出力される。
【００３９】
この場合、アクセスパターンＡＣＰの設定位置は、ラスタスキャン順に移動していく。この実施の形態では、アクセスパターンＡＣＰは５個の画素のパターンとされ、上述の各設定位置でアクセスパターンＡＣＰで特定される５個のアクセス画素の画素データＤo1〜Ｄo5が同時に読み出される。なお、このように各設定位置で読み出される画素データＤo1〜Ｄo5は、他のメモリバンクに格納すべき画素データとして、メモリ部１１０に再入力される。
【００４０】
データ格納制御部１２０は、図示しない制御装置から入力端子１５０を介して供給される制御信号ＳＣＬに基づいて動作する。このデータ格納制御部１２０は、上述したように、各注目画素の画素データをメモリ部１１０の６個のメモリバンクＢＫ０〜ＢＫ５に振り分けて格納するための制御を行う。つまり、このデータ格納制御部１２０は、１番目の画素から順に注目画素とし、最初は６個のメモリバンクＢＫ０〜ＢＫ５のうち最初のメモリバンク、つまりメモリバンクＢＫ０にその注目画素の画素データを格納する。
【００４１】
その後に、このデータ格納制御部１２０は、開始位置に設定されたアクセスパターンＡＣＰで特定される５個の画素（以下、適宜、「初期アクセス画素」という）ＩＭ１〜ＩＭ５に基づき、注目画素が５個の初期アクセス画素ＩＭ１〜ＩＭ５のいずれかとなるとき、あるいは同一のメモリバンクに一定数Ｎの画素データを連続して格納したとき、注目画素の画素データを格納するメモリバンクを順次切り替える。この実施の形態では、画面の水平方向に伸びる画素列の画素数が２２個とされ、一定数Ｎは画素列の画素数と同じく２２とされている。
【００４２】
また、このデータ格納制御部１２０は、注目画素が５個の初期アクセス画素ＩＭ１〜ＩＭ５のいずれかになることでメモリバンクを切り替えるとき、切り替え前のメモリバンクの書き込みアドレスを一定数だけ進めて次の書き込みアドレスとする。
【００４３】
データ格納制御部１２０についてさらに詳細に説明する。図２は、このデータ格納制御部１２０の構成を示している。このデータ格納制御部１２０は、カウンタ（カウンタＡ）１２１と、カウンタ（カウンタＢ）１２２と、一致判定部１２３と、オフセット制御部１２４と、バンクアドレスカウンタ１２５と、ビット線アドレスカウンタ１２６と、ワード線アドレスカウンタ１２７と、アドレス生成部１２８と、読み出しフラグ生成部１２９とを有している。
【００４４】
カウンタ（カウンタＡ）１２１は、上述したメモリ部１１１に順に入力される各注目画素の画素データの入力個数をカウントする。このカウンタ１２１には、メモリ部１１０に入力される各注目画素の画素データに同期したデータクロックＤＣＫが供給される。このデータクロックＤＣＫは、上述した制御信号ＳＣＬのひとつを構成しており、図示しない制御装置から供給される。このカウンタ１２１は、最初にそのカウント値が０とされ、その後はメモリ部１１０に各注目画素の画素データが入力される毎に、データクロックＤＣＫによってインクリメントされていく。
【００４５】
一致判定部１２３は、上述したメモリ部１１０に所定の注目画素の画素データが入力される毎に、その注目画素が、開始位置に設定されたアクセスパターンＡＣＰで特定される５個の初期アクセス画素に一致するか否かを判定する。そのため、この一致判定部１２３には、注目画素が当該５個の初期アクセス画素となるときに上述したカウンタ１２１から出力されるカウント値ＣＮ１〜ＣＮ５が、アクセスパターン情報ＩＡＰとして供給される。このアクセスパターン情報ＩＡＰは、上述した制御信号ＳＣＬのひとつを構成しており、図示しない制御装置から供給される。この一致判定部１２３は、ある注目画素におけるカウンタ１２１のカウント値が、カウント値ＣＮ１〜ＣＮ５と一致するとき、それぞれ、当該注目画素は１番目〜５番目の初期アクセス画素であると判定する。
【００４６】
カウンタ（カウンタＢ）１２２は、同一のメモリバンクに連続して格納される画素データの個数をカウントする。このカウンタ１２２には、メモリ部１１０に入力される各注目画素の画素データに同期したデータクロックＤＣＫが供給されると共に、上述した一致判定部１２３の判定出力が供給される。このカウンタ１２２は、最初はそのカウント値が０とされ、上述した一致判定部１２３で注目画素が初期アクセス画素であると判定されるか、同一のメモリバンクに連続して格納される画素データの個数が一定数Ｎとなり、カウント値が一定数Ｎを越えるとき、そのカウント値が１にセットされ、その後はメモリ部１１０に各注目画素の画素データが入力される毎に、データクロックＤＣＫによってインクリメントされていく。
【００４７】
バンクアドレスカウンタ１２５は、６個のメモリバンクＢＫ０〜ＢＫ５のうち注目画素の画素データを格納すべきメモリバンクを示すカウント値、つまりバンクアドレスを出力する。このバンクアドレスカウンタ１２５には、上述した一致判定部１２３の判定出力が供給されると共に、カウンタ１２２のカウント値が供給される。このバンクアドレスカウンタ１２５は、最初はそのカウント値が０とされ、その後に注目画素が初期アクセス画素のいずれかであると判定されるか、あるいは同一メモリバンクに連続して格納される画素データの個数が一定数Ｎとなり、カウンタ１２２のカウント値が一定数Ｎを越えるとき、インクリメントされる。このバンクアドレスカウンタ１２５は、カウント値５の次はカウント値０となり、６進カウンタの構成となっている。このバンクアドレスカウンタ１２５のカウント値０〜５、つまりバンクアドレス０〜５は、それぞれメモリバンクＢＫ０〜ＢＫ５を示している。
【００４８】
ビット線アドレスカウンタ１２６は、６個のメモリバンクＢＫ０〜ＢＫ５にそれぞれ対応した６個のカウンタ１２６-0〜１２６-5からなっている。このビット線アドレスカウンタ１２６には、メモリ部１１０に入力される各注目画素の画素データに同期したデータクロックＤＣＫが供給されると共に、バンクアドレスカウンタ１２５のカウント値（バンクアドレス）が供給される。これらのカウンタ１２６-0〜１２６-5は、最初はそのカウント値、つまりビット線アドレスが０とされ、その後はメモリ部１１０に各注目画素の画素データが入力されて格納される毎に、カウンタ１２６-0〜１２６-5のうちバンクアドレスに対応したカウンタがインクリメントされていく。この実施の形態では、各メモリバンクＢＫ０〜ＢＫ５のワード線長は１０とされ、カウンタ１２６-0〜１２６-5は、カウント値９の次はカウント値０となり、１０進カウンタの構成となっている。
【００４９】
ワード線アドレスカウンタ１２７は、６個のメモリバンクＢＫ０〜ＢＫ５にそれぞれ対応した６個のカウンタ１２７-0〜１２７-5からなっている。これらのカウンタ１２７-0〜１２７-5には、それぞれ上述したカウンタ１２６-0〜１２６-5の桁上げ信号であるキャリーＣＡが供給される。これらのカウンタ１２７-0〜１２７-5は、それぞれ、カウンタ１２６-0〜１２６-5からキャリーＣＡが供給される毎に、インクリメントされていく。
【００５０】
オフセット制御部１２４は、ビット線アドレスカウンタ１２６およびワード線アドレスカウンタ１２７のカウント値のオフセット制御をする。このオフセット制御部１２４には、一致判定部１２３の判定出力が供給されると共に、バンクアドレスカウンタ１２５のカウント値（バンクアドレス）が供給される。このオフセット制御部１２４は、注目画素が初期アクセス画素のいずれかとなるとき、バンクアドレスカウンタ１２５のカウント値で示されるメモリバンクの書き込みアドレスが一定数Ｎに対応したアドレスの次のアドレスとなるように、ビット線アドレスカウンタ１２６およびワード線アドレスカウンタ１２７にオフセットを与える。
【００５１】
アドレス生成部１２８は、メモリ部１１０に供給する書き込みアドレスＷを生成する。このアドレス生成部１２８には、カウンタ１２５〜１２７のカウント値が供給されると共に、カウンタ１２２のカウント値が供給される。このアドレス生成部１２８は、バンクアドレスカウンタ１２５のカウント値（バンクアドレス）、ビット線アドレスカウンタ１２６を構成するカウンタ１２６-0〜１２６-5のうちバンクアドレスに対応したカウンタのカウント値（ビット線アドレス）、およびワード線アドレスカウンタ１２７を構成するカウンタ１２７-0〜１２７-5のうちバンクアドレスに対応したカウンタのカウント値（ワード線アドレス）を合成して、メモリ部１１０に供給する書き込みアドレスＷを生成する。
【００５２】
また、このアドレス生成部１２８は、データアクセス制御部１４０で用いられる、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する、読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳを生成する。この場合、アドレス生成部１２８は、それぞれのメモリバンクＢＫ０〜ＢＫ５の、初期アクセス画素の１番目の画素以降のデータであって最初に画素データが格納された書き込みアドレスＷを読み出し開始アドレスＲＳとする。また、アドレス生成部１２８は、最初の画素データから連続して格納された画素データの個数が一定数Ｎであるとき読み出し開始アドレスＲＳを書き込み開始アドレスＷＳとし、最初の画素データから連続して格納された画素データの個数が一定数Ｎに満たないとき、最後の画素データが格納されたアドレスの次のアドレスを書き込み開始アドレスＷＳとする。
【００５３】
また、アドレス生成部１２８は、データアクセス制御部１４０のバンク指定部のカウンタの初期値ＢＳを生成する。この場合、５個の初期アクセス画素のうち１番目の初期アクセス画素の画素データが格納されたメモリバンクを示すバンクアドレス（バンクアドレスカウンタ１２５のカウント値）を初期値とする。
【００５４】
読み出しフラグ生成部１２９は、データアクセス制御部１４０で用いられる、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しフラグＲＦＧを生成する。この読み出しフラグ生成部１２９には、一致判定部１２３の判定出力が供給されると共に、バンクアドレスカウンタ１２５のカウント値（バンクアドレス）が供給される。この読み出しフラグ生成部１２９は、６個のメモリバンクＢＫ０〜ＢＫ５のうち、５個の初期アクセス画素のいずれかに対応する画素データが格納されるメモリバンクに対する読み出しフラグＲＦＧを読み出しを行うことを示すフラグオンの状態、例えば１とし、その他のメモリバンクに対する読み出しフラグＲＦＧを読み出しを行わないことを示すフラグオフの状態、例えば０とする。
【００５５】
次に、図２に示すデータ格納制御部１２０の制御による初期格納時の動作を、図３のフローチャートを用いて説明する。なお、データ格納制御部１２０は、例えばマイクロプロセッサで構成され、図示しないプログラムメモリに格納されたデータ格納制御プログラムに従って制御処理をする。
【００５６】
ステップＳＴ１で、動作を開始し、ステップＳＴ２で、バンクアドレスカウンタ１２５のカウント値（バンクアドレス）、ビット線アドレスカウンタ１２６（カウンタ１２６-0〜１２６-5）のカウント値（ビット線アドレス）およびワード線アドレスカウンタ１２７（カウンタ１２７-0〜１２７-5）のカウント値（ワード線アドレス）をそれぞれ０にし、カウンタ（カウンタＡ）１２１およびカウンタ（カウンタＢ）１２２のカウント値をそれぞれ０にし、さらに読み出しフラグ生成部１２９から出力される各メモリバンクＢＫ０〜ＢＫ５に対応する読み出しフラグＲＦＧを全て読み出しを行わないことを示すフラグオフの状態、例えば０にする。
【００５７】
次に、ステップＳＴ３で、注目画素の画素データが入力されたか否かを判定する。この場合、データクロックＤＣＫが供給されるとき、注目画素の画素データが入力されたと判定する。注目画素の画素データが入力されたと判定するとき、ステップＳＴ４で、カウンタ（カウンタＡ）１２１をインクリメントする。そして、ステップＳＴ５で、注目画素が初期アクセス画素であるか否かを、一致判定部１２３で判定する。この場合、カウンタ（カウンタＡ）１２１のカウント値が、アクセスパターン情報ＩＡＰとしてのカウント値ＣＮ１〜ＣＮ５のいずれかと一致するとき、注目画素が初期アクセス画素であると判定する。
【００５８】
注目画素が初期アクセス画素であると判定するとき、ステップＳＴ６で、注目画素が１番目の画素であるか否か、すなわちカウンタ（カウンタＡ）１２１のカウント値が１であるか否かを判定する。注目画素が１番目の画素でないときは、ステップＳＴ７で、注目画素が１番目の初期アクセス画素であるか否かを、一致判定部１２３で判定する。この場合、カウンタ（カウンタＡ）１２１のカウント値が、アクセスパターン情報ＩＡＰとしてのカウント値ＣＮ１と一致するとき、注目画素が１番目の初期アクセス画素であると判定する。
【００５９】
注目画素が１番目の初期アクセス画素ではなく、２番目以降の初期アクセス画素であると判定するとき、ステップＳＴ８で、書き込みアドレスＷを、バンクアドレスに対応したメモリバンクの書き込み開始アドレスＷＳにし、その後にステップＳＴ９に進む。この書き込みアドレスＷは、アドレス生成部１２８で、バンクアドレスカウンタ１２５のカウント値（バンクアドレス）、ビット線アドレスカウンタ１２６のバンクアドレスに対応したカウンタのカウント値（ビット線アドレス）およびワード線アドレスカウンタ１２７のバンクアドレスに対応したカウンタのカウント値（ワード線アドレス）を合成することで生成されている。
【００６０】
一方、注目画素が１番目の初期アクセス画素であるときは、直ちにステップＳＴ９に進む。このステップＳＴ９では、オフセット制御部１２４は、バンクアドレスに対応したメモリバンクの書き込みアドレスＷが一定数Ｎ、この実施の形態では２２に対応したアドレスの次のアドレスとなるように、ビット線アドレスカウンタ１２６の当該バンクアドレスに対応したカウンタおよびワード線アドレスカウンタ１２７の当該バンクアドレスに対応したカウンタにオフセットを与える。そして、ステップＳＴ１０で、バンクアドレスカウンタ１２５のカウント値（バンクアドレス）をインクリメントする。その後に、ステップＳＴ１１に進む。
【００６１】
ステップＳＴ６で、注目画素が１番目の画素であるときは、直ちにステップＳＴ１１に進む。このステップＳＴ１１では、注目画素が１番目の初期アクセス画素であるか否かを、一致判定部１２３で判定する。注目画素が１番目の初期アクセス画素であるときは、ステップＳＴ１２で、バンクアドレスカウンタ１２５のカウント値（バンクアドレス）を、データアクセス制御部１４０におけるバンク指定部のカウンタの初期値にする。その後にステップＳＴ１３に進む。一方、注目画素が１番目の初期アクセス画素でないときは、直ちに、ステップＳＴ１３に進む。
【００６２】
ステップＳＴ１３では、読み出しフラグ生成部１２９は、バンクアドレスに対応したメモリバンクの読み出しフラグＲＦＧを読み出しを行うことを示すフラグオンの状態、例えば１にする。そして、ステップＳＴ１４で、アドレス生成部１２８で生成されている書き込みアドレスＷを、バンクアドレスに対応したメモリバンクの読み出し開始アドレスＲＳにする。その後に、ステップＳＴ１５に進む。
【００６３】
ステップＳＴ１５では、インクリメントされたバンクアドレスに対応した、すなわち切り替えられたメモリバンクへの画素データの連続した格納個数をカウントするために、カウンタ（カウンタＢ）１２２を１にセットする。そして、ステップＳＴ１６で、アドレス生成部１２８で生成されている書き込みアドレスＷに基づき、当該書き込みアドレスＷのバンクアドレスで指定されるメモリバンクの、当該書き込みアドレスＷのビット線アドレスおよびワード線アドレスで指定されるアドレス位置に、注目画素の画素データを格納する。
【００６４】
次に、ステップＳＴ１７で、ビット線アドレスカウンタ１２６のバンクアドレスに対応したカウンタのカウント値（ビット線アドレス）をインクリメントする。そして、ステップＳＴ１８で、ステップＳＴ１７で、カウンタのカウント値が０となったとき、そのカウンタから出力されるキャリーＣＡにより、ワード線アドレスカウンタ１２７のバンクアドレスに対応したカウンタのカウント値（ワード線アドレス）をインクリメントする。その後に、ステップＳＴ１９に進む。
【００６５】
このステップＳＴ１９では、画面ＳＲＮの全ての画素の画素データが入力されたか否かを判定する。この場合、カウンタ（カウンタＡ）１２１のカウント値が、画面ＳＲＮを構成する画素の個数に等しいとき、全ての画素の画素データが入力されたと判定する。全ての画素の画素データが入力されたと判定するとき、ステップＳＴ２０で、動作を終了する。一方、全ての画素の画素データが入力されていないと判定するとき、ステップＳＴ３に戻り、次の注目画素の画素データの入力を待つ。
【００６６】
また、上述のステップＳＴ５で、注目画素が初期アクセス画素ではないと判定するとき、ステップＳＴ２１で、カウンタ（カウンタＢ）１２２のカウント値をインクリメントする。そして、ステップＳＴ２２で、カウンタ（カウンタＢ）１２２のカウント値が一定数Ｎより大きいか否かを判定する。カウント値が一定数Ｎより大きいときは、ステップＳＴ２３に進み、注目画素が１番目の初期アクセス画素の後の画素であるか否かを判定する。この場合、カウンタ（カウンタＡ）１２１のカウント値が、アクセスパターン情報ＩＡＰとしてのカウント値ＣＮ１より大きいとき、注目画素が１番目の初期アクセス画素の後の画素である判定する。
【００６７】
注目画素が１番目の初期アクセス画素の後の画素であるときは、ステップＳＴ２４で、アドレス生成部１２８で、バンクアドレスに対応したメモリバンクの書き込み開始アドレスが既に設定されているか否かを判定する。設定されていないと判定するときは、ステップＳＴ２５で、書き込み開始アドレスを、読み出し開始アドレスと同じアドレスにする。その後、ステップＳＴ２６に進む。上述のステップＳＴ２４で、既に設定されていると判定するときは、直ちにステップＳＴ２６に進む。
【００６８】
このステップＳＴ２６では、バンクアドレスカウンタ１２５のカウント値（バンクアドレス）をインクリメントする。そして、ステップＳＴ２７で、アドレス生成部１２８で、バンクアドレスに対応した読み出し開始アドレスが既に設定されているか否かを判定する。設定されていないと判定するときは、上述したステップＳＴ１４に進み、アドレス生成部１２８で生成されている書き込みアドレスＷを読み出し開始アドレスＲＳにする。一方、設定されていると判定するときは、上述したステップＳＴ１５に進む。
【００６９】
なお、上述のステップＳＴ２３で、注目画素が１番目の初期アクセス画素の後でないときは、直ちに、ステップＳＴ１５に進む。また、上述ステップＳＴ２２で、カウンタ（カウンタＢ）１２２のカウント値が一定数Ｎより大きくないと判定するときは、注目画素の画素データを格納すべきメモリバンクの切り替えが必要ないので、直ちに上述したステップＳＴ１６に進む。
【００７０】
上述した初期格納時の動作により、画面ＳＲＮの各画素のデータは、図４、図５に示すように、メモリバンクＢＫ０〜ＢＫ５に、振り分けられて格納される。
【００７１】
図４の「□」は上述したように１画素を示しており、その□内の数字は、その画素の画素データが格納されるメモリバンクのバンクアドレスを示している。ここで、メモリバンクＢＫ０〜ＢＫ５のバンクアドレスは、それぞれ、０〜５である。
【００７２】
例えば、上述したように、画面ＳＲＮは水平方向に伸びる画素列が垂直方向に順次配列されたものであって、アクセスパターンＡＣＰは５個の画素ＩＭ１〜ＩＭ５のパターンからなっており、図４に示すアクセスパターンＡＣＰの設定位置がその開始位置であるとする。
【００７３】
まず、第１列の先頭画素が注目画素となるが、この画素は１番目の初期アクセス画素ＩＭ１であり、この画素からメモリバンクＢＫ０への画素データの格納が開始される。この場合、バンクアドレスカウンタ１２５のカウント値（バンクアドレス）が０にあるが、これがバンク指定部のカウンタの初期値とされる。またこの場合、このメモリバンクＢＫ０の読み出しフラグＲＦＧは読み出しを行うことを示すフラグオンの状態、例えば１に変更されると共に、この初期アクセス画素ＩＭ１の画素データを格納すべきアドレス位置を示すアドレス（書き込みアドレスＷ）が、当該メモリバンクＢＫ０の読み出し開始アドレスＲＳとされる（図５のメモリバンクＢＫ０参照）。
【００７４】
その後、この第１列の先頭画素に続く画素が順に注目画素となり、その画素データがメモリバンクＢＫ０に格納されていく。このメモリバンクＢＫ０に連続して２２個（一定数Ｎ）だけ画素データが格納されるまでに、注目画素が２番目の初期アクセス画素ＩＭ２とならないので、当該メモリバンクＢＫ０には２２画素の画素データが連続して格納される（図５のメモリバンクＢＫ０の最初の２２個のアドレス位置参照）。
【００７５】
そのため、このメモリバンクＢＫ０の書き込み開始アドレスＷＳは、上述した読み出し開始アドレスＲＳと同じアドレスとされる（図５のメモリバンクＢＫ０参照）。また、このメモリバンクＢＫ０の次の書き込みアドレスＷは、２２個目の画素データが格納されたアドレス位置の次のアドレス位置を示すものとされる。
【００７６】
メモリバンクＢＫ０に２２画素の画素データが連続して格納された後、バンクアドレスがインクリメントされて、画素データを格納すべきメモリバンクはＢＫ１となる。この場合、第２列の先頭画素が注目画素となっており、この画素からメモリバンクＢＫ１への画素データの格納が開始される。そして、この第２列の先頭画素の画素データを格納すべきアドレス位置を示すアドレス（書き込みアドレスＷ）が、当該メモリバンクＢＫ１の読み出し開始アドレスＲＳとされる（図５のメモリバンクＢＫ１参照）。
【００７７】
その後、第２列の先頭画素に続く画素が順に注目画素となって、その画素データがメモリバンクＢＫ１に格納されていくが、第２列の４番目の画素は２番目の初期アクセス画素ＩＭ２であるので、この画素ＩＭ２が注目画素となるとき、バンクアドレスがインクリメントされて、画素データを格納すべきメモリバンクはＢＫ２となる。
【００７８】
そのため、このメモリバンクＢＫ１には３画素の画素データが連続して格納される（図５のメモリバンクＢＫ１の最初の３個のアドレス位置参照）。この場合、このメモリバンクＢＫ１の書き込み開始アドレスＷＳは、３画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる（図５のメモリバンクＢＫ１参照）。
【００７９】
また、このメモリバンクＢＫ１の次の書き込みアドレスＷは、仮に２２画素の画素データが連続して格納されたとした場合の、２２個目の画素データが格納されたアドレス位置の次のアドレス位置を示すものとされる。つまり、このメモリバンクＢＫ１に対する書き込みアドレスＷにオフセットが与えられる。なお、図５において、塗りつぶしもハッチングもされていないメモリセルＭＣは、初期格納時に、画素データが格納されないメモリセルＭＣを示している。
【００８０】
このように注目画素が２番目の初期アクセス画素ＩＭ２となると、メモリバンクがＢＫ１からＢＫ２に切り替えられるので、この画素ＩＭ２からメモリバンクＢＫ２への画素データの格納が開始される。そして、このメモリバンクＢＫ２の読み出しフラグＲＦＧは読み出しを行うことを示すフラグオンの状態、例えば１に変更されると共に、この画素ＩＭ２の画素データを格納すべきアドレス位置を示すアドレス（書き込みアドレスＷ）が、当該メモリバンクＢＫ２の読み出し開始アドレスＲＳとされる（図５のメモリバンクＢＫ２参照）。
【００８１】
その後、この画素ＩＭ２に続く画素が順に注目画素となって、その画素データがメモリバンクＢＫ２に格納されていくが、第３列の２番目の画素は３番目の初期アクセス画素ＩＭ３であるので、この画素ＩＭ３が注目画素となるとき、バンクアドレスがインクリメントされて、画素データを格納すべきメモリバンクはＢＫ３となる。
【００８２】
そのため、メモリバンクＢＫ２には２０画素の画素データが連続して格納される（図５のメモリバンクＢＫ２の最初の２０個のアドレス位置参照）。この場合、このメモリバンクＢＫ２の書き込み開始アドレスＷＳは、２０画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる（図５のメモリバンクＢＫ２参照）。また、このメモリバンクＢＫ２の次の書き込みアドレスＷは、上述したメモリバンクＢＫ１の場合と同様に、仮に２２画素の画素データが連続して格納されたとした場合の、２２個目の画素データが格納されたアドレス位置の次のアドレス位置を示すものとされる。
【００８３】
このように注目画素が３番目の初期アクセス画素ＩＭ３となると、メモリバンクがＢＫ２からＢＫ３に切り替えられるので、この画素ＩＭ３からメモリバンクＢＫ３への画素データの格納が開始される。そして、このメモリバンクＢＫ３の読み出しフラグＲＦＧは読み出しを行うことを示すフラグオンの状態、例えば１に変更されると共に、この画素ＩＭ３の画素データを格納すべきアドレス位置を示すアドレス（書き込みアドレスＷ）が、当該メモリバンクＢＫ３の読み出し開始アドレスＲＳとされる（図５のメモリバンクＢＫ３参照）。
【００８４】
その後、この画素ＩＭ３に続く画素が順に注目画素となって、その画素データがメモリバンクＢＫ３に格納されていくが、第３列の６番目の画素は４番目の初期アクセス画素ＩＭ４であるので、この画素ＩＭ４が注目画素となるとき、バンクアドレスがインクリメントされて、画素データを格納すべきメモリバンクはＢＫ４となる。
【００８５】
そのため、メモリバンクＢＫ３には４画素の画素データが連続して格納される（図５のメモリバンクＢＫ３の最初の４個のアドレス位置参照）。この場合、このメモリバンクＢＫ３の書き込み開始アドレスＷＳは、４画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる（図５のメモリバンクＢＫ３参照）。また、このメモリバンクＢＫ３の次の書き込みアドレスＷは、上述したメモリバンクＢＫ１，ＢＫ２の場合と同様に、仮に２２画素の画素データが連続して格納されたとした場合の、２２個目の画素データが格納されたアドレス位置の次のアドレス位置を示すものとされる。
【００８６】
このように注目画素が４番目の初期アクセス画素ＩＭ４となると、メモリバンクがＢＫ３からＢＫ４に切り替えられるので、この画素ＩＭ４からメモリバンクＢＫ４への画素データの格納が開始される。そして、このメモリバンクＢＫ４の読み出しフラグＲＦＧは読み出しを行うことを示すフラグオンの状態、例えば１に変更されると共に、この画素ＩＭ４の画素データを格納すべきアドレス位置を示すアドレス（書き込みアドレスＷ）が、当該メモリバンクＢＫ４の読み出し開始アドレスＲＳとされる（図５のメモリバンクＢＫ４参照）。
【００８７】
その後、この画素ＩＭ４に続く画素が順に注目画素となって、その画素データがメモリバンクＢＫ４に格納されていくが、第４列の１番目の画素は５番目の初期アクセス画素ＩＭ５であるので、この画素ＩＭ５が注目画素となるとき、バンクアドレスがインクリメントされて、画素データを格納すべきメモリバンクはＢＫ５となる。
【００８８】
そのため、メモリバンクＢＫ４には１７画素の画素データが連続して格納される（図５のメモリバンクＢＫ４の最初の１７個のアドレス位置参照）。この場合、このメモリバンクＢＫ４の書き込み開始アドレスＷＳは、１７画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる（図５のメモリバンクＢＫ４参照）。また、このメモリバンクＢＫ４の次の書き込みアドレスＷは、上述したメモリバンクＢＫ１〜ＢＫ３の場合と同様に、仮に２２画素の画素データが連続して格納されたとした場合の、２２個目の画素データが格納されたアドレス位置の次のアドレス位置を示すものとされる。
【００８９】
このように注目画素が５番目の初期アクセス画素ＩＭ５となると、メモリバンクがＢＫ４からＢＫ５に切り替えられるので、この画素ＩＭ５からメモリバンクＢＫ５への画素データの格納が開始される。そして、このメモリバンクＢＫ５の読み出しフラグＲＦＧは読み出しを行うことを示すフラグオンの状態、例えば１に変更されると共に、この画素ＩＭ５の画素データを格納すべきアドレス位置を示すアドレス（書き込みアドレスＷ）が、当該メモリバンクＢＫ５の読み出し開始アドレスＲＳとされる（図５のメモリバンクＢＫ５参照）。
【００９０】
その後、この画素ＩＭ５に続く画素が順に注目画素となって、その画素データがメモリバンクＢＫ５に格納されていく。５番目の初期アクセス画素ＩＭ５が最後の初期アクセス画素であるため、メモリバンクＢＫ５に連続して２２個（一定数Ｎ）だけ画素データが格納されるまでに注目画素が初期アクセス画素となることはなく、当該メモリバンクＢＫ５には２２画素の画素データが連続して格納される（図５のメモリバンクＢＫ５の最初の２２個のアドレス位置参照）。
【００９１】
そのため、このメモリバンクＢＫ５の書き込み開始アドレスＷＳは、上述した読み出し開始アドレスＲＳと同じアドレスとされる（図５のメモリバンクＢＫ５参照）。また、このメモリバンクＢＫ５の次の書き込みアドレスＷは、２２個目の画素データが格納されたアドレス位置の次のアドレス位置を示すものとされる。
【００９２】
メモリバンクＢＫ５に２２画素の画素データが連続して格納された後、バンクアドレスがインクリメントされて、画素データを格納すべきメモリバンクは再びＢＫ０となる。この場合、第５列の先頭画素が注目画素となっており、この画素からメモリバンクＢＫ０への画素データの格納が開始される。その後、この第５列の先頭画素に続く画素が順に注目画素となって、その画素データがメモリバンクＢＫ０に格納されていく。
【００９３】
この場合、メモリバンクＢＫ０に連続して２２個（一定数Ｎ）だけ画素データが格納されるまでに注目画素がアクセス画素となることはなく、当該メモリバンクＢＫ０には２２画素の画素データが連続して格納される（図５のメモリバンクＢＫ０の２番目の２２個のアドレス位置参照）。この場合、このメモリバンクＢＫ０の次の書き込みアドレスＷは、２２個目の画素データが格納されたアドレス位置の次のアドレス位置を示すものとされる。
【００９４】
以下、同様にして、２２画素の画素データが格納される毎に、画素データを格納すべきメモリバンクが切り替えられ、注目画素の画素データが各メモリバンクに２２個ずつ格納されていく（図５のメモリバンクＢＫ１〜ＢＫ５の２番目の２２個のアドレス位置参照）。
【００９５】
図１に戻って、データアクセス制御部１４０は、図示しない制御装置から入力端子１５０を介して供給される制御信号ＳＣＬに基づいて動作する。このデータアクセス制御部１４０は、上述したように、アクセスパターンＡＣＰの各設定位置で、このアクセスパターンＡＣＰで特定される５個のアクセス画素ＩＭ１〜ＩＭ５の画素データを、６個のメモリバンクＢＫ０〜ＢＫ５のいずれかから同時に読み出すための制御を行う。
【００９６】
つまり、このデータアクセス制御部１４０は、アクセスパターンＡＣＰの設定位置が所定位置にあるとき、この所定位置におけるアクセスパターンＡＣＰで特定される５個のアクセス画素ＩＭ１〜ＩＭ５の画素データを６個のメモリバンクＢＫ０〜ＢＫ５のいずれかから同時に読み出す。
【００９７】
また、このデータアクセス制御部１４０は、アクセスパターンＡＣＰの設定位置が画素列方向に移動した際に、その設定位置におけるアクセスパターンＡＣＰで特定される５個のアクセス画素ＩＭ１〜ＩＭ５の画素データがそれぞれ異なるメモリバンクに格納されているように、読み出した画素データのいずれかあるいは全部を、その画素データが格納されていたメモリバンクの１つ前のメモリバンクに格納する。
【００９８】
データアクセス制御部１４０についてさらに詳細に説明する。図６は、このデータアクセス制御部１４０の構成を示している。このデータアクセス制御部１４０は、開始アドレス保持部１４１と、カウンタ（カウンタＡ）１４２と、カウンタ（カウンタＢ）１４３と、バンク指定部１４４と、アドレスカウンタフラグ制御部１４５と、書き込みアドレスカウンタ１４６と、読み出しアドレスカウンタ１４７と、書き込みアドレス生成部１４８と、読み出しアドレス生成部１４９と、読み出しフラグ生成部１５０と、書き込みフラグ生成部１５１とを有している。
【００９９】
カウンタ（カウンタＡ）１４２は、アクセスパターンＡＣＰの設定位置を示すカウント値を出力する。このカウンタ１４２には、アクセスパターンＡＣＰの設定位置を移動するための移動クロックＭＣＫが供給される。この移動クロックＭＣＫは、上述した制御信号ＳＣＬのひとつを構成しており、図示しない制御装置から供給される。このカウンタ１４２は、最初にそのカウント値が０とされ、その後アクセスパターンＡＣＰの設定位置を開始位置とするとき最初の移動クロックＭＣＫでインクリメントされてカウント値が１となり、その後はこの設定位置が画素列方向に１画素ずつ移動する毎に、移動クロックＭＣＫでインクリメントされていく。
【０１００】
カウンタ（カウンタＢ）１４３は、アクセスパターンＡＣＰの設定位置の移動に際し、一定数Ｎ毎の設定位置で、いま何番目の設定位置にあるかを示すカウント値を出力する。この実施の形態では、この一定数Ｎは、水平方向の画素列の画素数と同じ２２である。このカウンタ１４３には、上述したカウンタ（カウンタＡ）１４２と同様に、移動クロックＭＣＫが供給される。このカウンタ１４３は、最初にそのカウント値が０とされ、その後アクセスパターンＡＣＰの設定位置を開始位置とするとき最初の移動クロックＭＣＫでインクリメントされてカウント値が１となり、その後はこの設定位置が画素列方向に１画素ずつ移動する毎に、移動クロックＭＣＫでインクリメントされていく。ただし、アクセスパターンＡＣＰが一定数Ｎだけ移動し、そのカウント値がＮとなった場合、そのカウント値は０とされ、次の一定数Ｎのカウントに備えられる。
【０１０１】
バンク指定部１４４は、アクセスパターンＡＣＰの設定位置を一定数Ｎだけ移動する毎に設定される、各メモリバンクＢＫ０〜ＢＫ５に対する次の読み出し開始アドレスＲＳおよび次の書き込み開始アドレスＷＳのうち、一定数Ｎだけそれらのアドレスを進めるオフセット処理を行うメモリバンクを指定するカウント値を出力する。このバンク指定部１４４には、カウンタ（カウンタＢ）１４３のカウント値が供給される。また、このバンク指定部１４４には、上述したデータ格納制御部１２０のアドレス生成部１２８で生成された初期値ＢＳが供給される。
【０１０２】
このバンク指定部１４４はカウンタ（図示せず）を備えている。最初は、そのカウント値が初期値ＢＳにセットされる。その後、カウンタ（カウンタＢ）１４３のカウント値がＮから０に変化する毎に、そのカウント値がインクリメントされる。このバンク指定部１４４のカウンタは、カウント値５の次はカウント値０となり、６進カウンタの構成となっている。このバンク指定部１４４のカウンタのカウント値０〜５は、それぞれ、メモリバンクＢＫ０〜ＢＫ５を指定する。
【０１０３】
開始アドレス保持部１４１は、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳを保持する。この開始アドレス保持部１４１には、上述したデータ格納制御部１２０のアドレス生成部１２８で生成された、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳが供給され、これが初期値として保持される。
【０１０４】
この開始アドレス保持部１４１は、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する次の書き込み開始アドレスＷＳとして、１つ前のメモリバンクの書き込みフラグＷＦＧがフラグオフの状態、例えば０となったとき、そのとき保持されている読み出し開始アドレスＲＳを保持する。また、この開始アドレス保持部１４１は、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する次の読み出し開始アドレスＲＳとして、１つ前のメモリバンクの書き込みフラグＷＦＧがフラグオフの状態、例えば０となったとき、そのときの読み出しアドレスを保持する。
【０１０５】
書き込みアドレスカウンタ１４６は、６個のメモリバンクＢＫ０〜ＢＫ５にそれぞれ対応した６個のカウンタ１４６-0〜１４６-5からなっている。これらカウンタ１４６-0〜１４６-5のそれぞれは、ビット線アドレスを示すカウント値を得るためのビット線アドレスカウンタと、ワード線アドレスを示すカウント値を得るためのワード線アドレスカウンタとからなっている（図２のビット線アドレスカウンタ１２６およびワード線アドレスカウンタ１２７参照）。カウンタ１４６-0〜１４６-5は、アドレスカウンタフラグ制御部１４５の制御のもと、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する書き込みアドレス（ビット線アドレスおよびワード線アドレス）を示すカウント値を出力する。
【０１０６】
読み出しアドレスカウンタ１４７は、６個のメモリバンクＢＫ０〜ＢＫ５にそれぞれ対応した６個のカウンタ１４７-0〜１４７-5からなっている。これらカウンタ１４７-0〜１４７-5のそれぞれも、ビット線アドレスを示すカウント値を得るためのビット線アドレスカウンタと、ワード線アドレスを示すカウント値を得るためのワード線アドレスカウンタとからなっている。カウンタ１４７-0〜１４７-5は、アドレスカウンタフラグ制御部１４５の制御のもと、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しアドレス（ビット線アドレスおよびワード線アドレス）を示すカウント値を出力する。
【０１０７】
読み出しフラグ生成部１５０は、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しフラグＲＦＧを生成する。この読み出しフラグ生成部１５０には、上述したデータ格納制御部１２０の読み出しフラグ生成部１２９で生成された、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しフラグＲＦＧが供給される。この読み出しフラグ生成部１５０は、アドレスカウンタフラグ制御部１４５の制御のもと、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しフラグＲＦＧを生成する。
【０１０８】
書き込みフラグ生成部１５１は、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する書き込みフラグＷＦＧを生成する。この書き込みフラグ生成部１５１は、アドレスカウンタフラグ制御部１４５の制御のもと、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する書き込みフラグＷＦＧを生成する。
【０１０９】
アドレスカウンタフラグ制御部１４５は、上述した書き込みアドレスカウンタ１４６、読み出しアドレスカウンタ１４７、読み出しフラグ生成部１５０および書き込みフラグ生成部１５１の動作を制御する。このアドレスカウンタフラグ制御部１４５には、アクセスパターンＡＣＰの設定位置を移動するための移動クロックＭＣＫ、カウンタ（カウンタＢ）１４３のカウント値、バンクカウンタ１４４のカウント値、書き込みアドレスカウンタ１４６を構成する各カウンタ１４６-0〜１４６-5のカウント値（書き込みアドレス）、読み出しアドレスカウンタ１４７を構成する各カウンタ１４７-0〜１４７-5のカウント値（読み出しアドレス）、読み出しフラグ生成部１５０で生成される読み出しフラグＲＦＧおよび書き込みフラグ生成部１５１で生成される書き込みフラグＷＦＧが供給される。
【０１１０】
このアドレスカウンタフラグ制御部１４５は、最初およびアクセスパターンＡＣＰの設定位置を一定数Ｎだけ移動する毎に、開始アドレス保持部１４１に保持されている、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳをカウンタ１４６，１４７にセットする。この場合、アドレスカウンタフラグ制御部１４５は、読み出しアドレスカウンタ１４７を構成するカウンタ１４７-0〜１４７-5のカウント値（読み出しアドレス）を、それぞれ、メモリバンクＢＫ０〜ＢＫ５に対する読み出し開始アドレスＲＳと等しくなるようにセットし、書き込みアドレスカウンタ１４６を構成するカウンタ１４６-0〜１４６-5のカウント値（読み出しアドレス）を、それぞれ、メモリバンクＢＫ０〜ＢＫ５に対する書き込み開始アドレスＷＳと等しくなるようにセットする。
【０１１１】
ただしこの場合、アクセスパターンＡＣＰの設定位置を一定数Ｎだけ移動する毎の読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳのセットに関しては、バンク指定部１４４のカウンタのカウント値で指定されるメモリバンクに対応する開始アドレスＲＳ，ＷＳを一定数Ｎだけ進めるオフセット処理をさらに行う。この場合、アドレスカウンタフラグ制御部１４５は、読み出しアドレスカウンタ１４７を構成するカウンタ１４７-0〜１４７-5のうち、バンクカウンタ１４４のカウント値で特定されるメモリバンクに対応するカウンタのカウント値を一定数Ｎだけ進めたカウント値に再セットすると共に、書き込みアドレスカウンタ１４６を構成するカウンタ１４６-0〜１４６-5のうち、バンクカウンタ１４４のカウント値で特定されるメモリバンクに対応するカウンタのカウント値を一定数Ｎだけ進めたカウント値に再セットする。
【０１１２】
また、アドレスカウンタフラグ制御部１４５は、アクセスパターンＡＣＰの各設定位置で、カウンタ１４７-0〜１４７-5のうち、画素データの読み出しが行われるメモリバンクに対応するカウンタをインクリメントする。そして、このアドレスカウンタフラグ制御部１４５は、それぞれのカウンタ１４７-0〜１４７-5に対し、読み出し開始アドレスＲＳが一定数Ｎの（Ｒ−１）倍を越えると共にＲ倍以下にあるとき（Ｒは正の整数）、インクリメントされたカウント値（読み出しアドレス）が一定数ＮのＲ倍を越えないときは、インクリメントされたカウント値をそのままとするが、インクリメントされたカウント値が一定数ＮのＲ倍を越えるときは、インクリメントされたカウント値から一定数Ｎだけ戻したカウント値とするオフセット処理をする。
【０１１３】
また、アドレスカウンタフラグ制御部１４５は、アクセスパターンＡＣＰの各設定位置で、カウンタ１４６-0〜１４６-5のうち、画素データの書き込みが行われるメモリバンクに対応するカウンタをインクリメントする。そして、このアドレスカウンタフラグ制御部１４５は、それぞれのカウンタ１４６-0〜１４６-5に対し、書き込み開始アドレスＷＳが一定数Ｎの（Ｒ−１）倍を越えると共にＲ倍以下にあるとき（Ｒは正の整数）、インクリメントされたカウント値（書き込みアドレス）が一定数ＮのＲ倍を越えないときは、インクリメントされたカウント値をそのままとするが、インクリメントされたカウント値が一定数ＮのＲ倍を越えるときは、インクリメントされたカウント値から一定数Ｎだけ戻したカウント値とするオフセット処理をする。
【０１１４】
また、読み出しフラグ生成部１５０は、最初、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しフラグＲＦＧを、上述したデータ格納制御部１２０の読み出しフラグ生成部１２９から供給される、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しフラグＲＦＧと同じ状態とする。すなわち、開始位置に設定されたアクセスパターンＡＣＰで特定される５個の初期アクセス画素ＩＭ１〜ＩＭ５の画素データのいずれかが格納されているメモリバンクに対する読み出しフラグＲＦＧをフラグオンの状態とし、その他のメモリバンクに対する読み出しフラグＲＦＧをフラグオフの状態とする。
【０１１５】
また、この読み出しフラグ生成部１５０は、アクセスパターンＡＣＰの設定位置が一定数Ｎだけ移動する毎に、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しフラグＲＦＧを、１つ前のメモリバンクの読み出しフラグＲＦＧとする。この場合、メモリバンクＢＫ０，ＢＫ１，ＢＫ２，ＢＫ３，ＢＫ４，ＢＫ５の１つ前のメモリバンクは、それぞれ、メモリバンクＢＫ５，ＢＫ０，ＢＫ１，ＢＫ２，ＢＫ３，ＢＫ４である。
【０１１６】
また、書き込みフラグ生成部１５１は、最初およびアクセスパターンＡＣＰの設定位置を一定数Ｎだけ移動する毎に、読み出し開始アドレスＲＳと書き込み開始アドレスＷＳが同じであるメモリバンクに対応する書き込みフラグＷＦＧを書き込みを行わないことを示すフラグオフの状態、例えば０とし、その他のメモリバンクに対応する書き込みフラグＷＦＧを書き込みを行うことを示すフラグオンの状態、例えば１とする。
【０１１７】
また、この書き込みフラグ制御部１５１は、アクセスパターンＡＣＰの各設定位置で、次の書き込みアドレスが読み出し開始アドレスＲＳと同じになるメモリバンクに対する書き込みフラグＷＦＧを、フラグオンの状態からフラグオフの状態とする。
【０１１８】
書き込みアドレス生成部１４８は、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する書き込みアドレスＷを生成する。この書き込みアドレス生成部１４８には、書き込み込みアドレスカウンタ１４６を構成する各カウンタ１４６-0〜１４６-5のカウント値（ビット線アドレスおよびワード線アドレス）が供給される。書き込みアドレス生成部１４８は、カウンタ１４６-0〜１４６-5のカウント値（ビット線アドレスおよびワード線アドレス）に、それぞれ、メモリバンクＢＫ０〜ＢＫ５のバンクアドレスを合成することで、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する書き込みアドレスＷを生成する。
【０１１９】
読み出しアドレス生成部１４９は、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しアドレスＲを生成する。この読み出しアドレス生成部１４９には、読み出しアドレスカウンタ１４７を構成する各カウンタ１４７-0〜１４７-5のカウント値（ビット線アドレスおよびワード線アドレス）が供給される。読み出しアドレス生成部１４９は、カウンタ１４７-0〜１４７-5のカウント値（ビット線アドレスおよびワード線アドレス）に、それぞれ、メモリバンクＢＫ０〜ＢＫ５のバンクアドレスを合成することで、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しアドレスＲを生成する。
【０１２０】
次に、図６に示すデータアクセス制御部１４０の制御によるデータアクセス時の動作を、図７のフローチャートを用いて説明する。なお、データアクセス制御部１４０は、例えばマイクロプロセッサで構成され、図示しないプログラムメモリに格納されたデータアクセス制御プログラムに従って制御処理をする。
【０１２１】
ステップＳＴ３１で、動作を開始し、ステップＳＴ３２で、アドレスカウンタフラグ制御部１４５は、読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳをセットする。この場合、アドレスカウンタフラグ制御部１４５は、読み出しアドレスカウンタ１４７を構成するカウンタ１４７-0〜１４７-5のカウント値（読み出しアドレス）を、それぞれ、開始アドレス保持部１４１に初期値として保持されている、メモリバンクＢＫ０〜ＢＫ５に対する読み出し開始アドレスＲＳと等しくなるようにセットし、書き込みアドレスカウンタ１４６を構成するカウンタ１４６-0〜１４６-5のカウント値（読み出しアドレス）を、それぞれ、開始アドレス保持部１４１に初期値として保持されている、メモリバンクＢＫ０〜ＢＫ５に対する書き込み開始アドレスＷＳと等しくなるようにセットする。
【０１２２】
またこの場合、読み出しフラグ生成部１５０は、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しフラグＲＦＧを、上述したデータ格納制御部１２０の読み出しフラグ生成部１２９から供給される、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しフラグＲＦＧと同じ状態とする。すなわち、開始位置に設定されたアクセスパターンＡＣＰで特定される５個の初期アクセス画素ＩＭ１〜ＩＭ５の画素データのいずれかが格納されているメモリバンクに対する読み出しフラグＲＦＧをフラグオンの状態とし、その他のメモリバンクに対する読み出しフラグＲＦＧをフラグオフの状態とする。
【０１２３】
またこの場合、書き込みフラグ生成部１５１は、開始アドレス保持部１４１に初期値として保持されているメモリバンクＢＫ０〜ＢＫ５に対する読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳに基づいて、読み出し開始アドレスＲＳと書き込み開始アドレスＷＳが同じであるメモリバンクに対応する書き込みフラグＷＦＧを書き込みを行わないことを示すフラグオフの状態、例えば０とし、その他のメモリバンクに対応する書き込みフラグＷＦＧを書き込みを行うことを示すフラグオンの状態、例えば１とする。
【０１２４】
また、このステップＳＴ３２で、カウンタ（カウンタＡ）１４２のカウント値およびカウンタ（カウンタＢ）１４３のカウント値をそれぞれ０にする。また、バンク指定部１４４のカウンタのカウント値を初期値ＢＳにする。
【０１２５】
次に、ステップＳＴ３３で、移動クロックＭＣＫにより、カウンタ（カウンタＡ）１４２をインクリメントし、ステップＳＴ３４で、移動クロックＭＣＫによりカウンタ（カウンタＢ）１４３をインクリメントする。そして、ステップＳＴ３５で、メモリバンクＢＫ０〜ＢＫ５のうち、読み出しフラグＲＦＧが１となっている５個のメモリバンクの、読み出しアドレス生成部１４９で生成された読み出しアドレスＲで示されるアドレス位置から、アクセスパターンＡＣＰで特定される５個のアクセス画素の画素データＤo1〜Ｄo5を読み出して出力する。
【０１２６】
次に、ステップＳＴ３６で、各メモリバンクＢＫ０〜ＢＫ５につき、１つ前のメモリバンクの書き込みフラグＷＦＧが１であるか否かを判定する。１つ前のメモリバンクの書き込みフラグＷＦＧが１であるメモリバンクについてはステップＳＴ３７に進む。このステップＳＴ３７では、そのメモリバンクよりステップＳＴ３５で読み出された画素データを、１つ前のメモリバンクの、書き込みアドレス生成部１４８で生成された書き込みアドレスＷで示されるアドレス位置に書き込む。そして、ステップＳＴ３８で、アドレスカウンタフラグ制御部１４５は、書き込みアドレスカウンタ１４６を構成するカウンタ１４６-0〜１４６-5のうち、ステップＳＴ３７で、画素データが書き込まれたメモリバンクに対応するカウンタのカウント値（書き込みアドレス）をインクリメントする。その後に、ステップＳＴ３９に進む。
【０１２７】
上述のステップＳＴ３６で、１つ前のメモリバンクの書き込みフラグＷＦＧが０であるメモリバンクについてはステップＳＴ４０進む。このステップＳＴ４０では、開始アドレス保持部１４１に、次の開始アドレスＲＳ，ＷＳが既に保持されているか否かを判定する。次の開始アドレスＲＳ，ＷＳがまだ保持されていないと判定するときは、ステップＳＴ４１に進む。このステップＳＴ４１で、開始アドレス保持部１４１は、保持されている読み出し開始アドレスＲＳを次の書き込み開始アドレスＷＳとして保持する。そして、ステップＳＴ４２で、読み出しアドレスカウンタ１４７を構成するカウンタ１４７-0〜１４７-5のうち、対応するメモリバンクのカウンタのカウント値（読み出しアドレス）を、次の読み出し開始アドレスＲＳとして保持する。その後にステップＳＴ３９に進む。なお、ステップＳＴ４０で、次の開始アドレスＲＳ，ＷＳが既に保持されていると判定するときは、直ちにステップＳＴ３９に進む。
【０１２８】
このステップＳＴ３９では、アドレスカウンタフラグ制御部１４５は、読み出しアドレスカウンタ１４７を構成するカウンタ１４７-0〜１４７-5のうち、ステップＳＴ３５で、画素データＤo1〜Ｄo5が読み出されたメモリバンクに対応するカウンタのカウント値（読み出しアドレス）をインクリメントする。
【０１２９】
次に、ステップＳＴ４３で、開始アドレスＲＳ，ＷＳが一定数Ｎの（Ｒ−１）倍を越えると共にＲ倍以下にあるとき（Ｒは正の整数）、各メモリバンクＢＫ０〜ＢＫ５につき、読み出しアドレスまたは書き込みアドレスが一定数ＮのＲ倍を越えたか否かを判定する。上述したように、この実施の形態でＮは２２である。
【０１３０】
読み出しアドレスまたは書き込みアドレスが一定数ＮのＲ倍を越えたと判定するとき、アドレスカウンタフラグ制御部１４５は、ステップＳＴ４４で、それぞれ、読み出しアドレスカウンタ１４７を構成するカウンタ１４７-0〜１４７-5のうち、対応するメモリバンクのカウンタのカウント値（読み出しアドレス）または書き込みアドレスカウンタ１４６を構成するカウンタ１４６-0〜１４６-5のうち、対応するメモリバンクのカウンタのカウント値（書き込みアドレス）を、一定数Ｎだけ戻したカウント値とするオフセット処理をする。その後に、ステップＳＴ４５に進む。ステップＳＴ４３で、読み出しアドレスまたは書き込みアドレスが一定数ＮのＲ倍を越えていないと判定するときは、直ちにステップＳＴ４５に進む。
【０１３１】
このステップＳＴ４５では、各メモリバンクＢＫ０〜ＢＫ５につき、書き込みアドレスカウンタ１４６を構成するカウンタ１４６-0〜１４６-5のカウント値（書き込みアドレス）が読み出し開始アドレスＲＳと同じであるか否かを判定する。同じであると判定するメモリバンクについては、ステップＳＴ４６に進む。このステップＳＴ４６では、書き込みフラグ生成部１５１は、対応するメモリバンクの書き込みフラグＲＦＧを０にする。その後に、ステップＳＴ４７に進む。一方、ステップＳＴ４５で、同じでないと判定するときは、直ちにステップＳＴ４７に進む。
【０１３２】
このステップＳＴ４７では、全てアクセスしたか否か、つまりアクセスパターンＡＣＰが開始位置から終了位置まで移動したか否かを判定する。この場合、カウンタ（カウンタＡ）１４２のカウント値が終了位置を示す値となるとき、全てアクセスしたと判定する。全てアクセスしたと判定するとき、ステップＳＴ４８で、動作を終了する。
【０１３３】
ステップＳＴ４７で、全てアクセスしていないと判定するときは、ステップＳＴ４９に進む。このステップＳＴ４９では、カウンタ（カウンタＢ）１４３のカウント値が一定数Ｎであるか否かを判定する。カウント値が一定数Ｎであるときは、ステップＳＴ５０で、カウンタ（カウンタＢ）１４３のカウント値を０にする。
【０１３４】
次に、ステップＳＴ５１で、次の読み出し開始アドレスＲＳおよび次の書き込み開始アドレスＷＳをセットする。この場合、アドレスカウンタフラグ制御部１４５は、読み出しアドレスカウンタ１４７を構成するカウンタ１４７-0〜１４７-5のカウント値（読み出しアドレス）を、それぞれ、開始アドレス保持部１４１に保持されている、メモリバンクＢＫ０〜ＢＫ５に対する次の読み出し開始アドレスＲＳと等しくなるようにセットし、書き込みアドレスカウンタ１４６を構成するカウンタ１４６-0〜１４６-5のカウント値（読み出しアドレス）を、それぞれ、開始アドレス保持部１４１に保持されている、メモリバンクＢＫ０〜ＢＫ５に対する次の書き込み開始アドレスＷＳと等しくなるようにセットする。
【０１３５】
次に、ステップＳＴ５２で、バンク指定部１４４のカウンタのカウント値で指定されるメモリバンクの開始アドレスＲＳ，ＷＳを、一定数Ｎだけ進めるオフセット処理をする。この場合、アドレスカウンタフラグ制御部１４５は、読み出しアドレスカウンタ１４７を構成するカウンタ１４７-0〜１４７-5のうち、バンク指定部１４４のカウンタのカウント値で指定されるメモリバンクに対応するカウンタのカウント値を一定数Ｎだけ進めたカウント値に再セットすると共に、書き込みアドレスカウンタ１４６を構成するカウンタ１４６-0〜１４６-5のうち、バンク指定部１４４のカウンタのカウント値で指定されるメモリバンクに対応するカウンタのカウント値を一定数Ｎだけ進めたカウント値に再セットする。
【０１３６】
次に、ステップＳＴ５３で、バンク指定部１４４のカウンタのカウント値をインクリメントする。そして、ステップＳＴ５４で、それぞれのメモリバンクＢＫ０〜ＢＫに対する書き込みフラグＷＦＧをセットする。この場合、書き込みフラグ生成部１５１は、読み出し開始アドレスＲＳと書き込み開始アドレスＷＳが同じであるメモリバンクに対応する書き込みフラグＷＦＧを０とし、その他のメモリバンクに対応する書き込みフラグＷＦＧを１とする。
【０１３７】
次に、ステップＳＴ５５で、それぞれのメモリバンクＢＫ０〜ＢＫに対する読み出しフラグＲＦＧをセットする。この場合、読み出しフラグ生成部１５０は、それぞれのメモリバンクＢＫ０〜ＢＫ５に対する読み出しフラグＲＦＧを、１つ前のメモリバンクの読み出しフラグＲＦＧとするシフト処理をする。その後に、ステップＳＴ３３に戻り、アクセスパターンＡＣＰの次の設定位置の処理に移る。上述したステップＳＴ４９で、カウンタ（カウンタＢ）１４３のカウント値が一定数Ｎと同じでないときは、直ちにステップＳＴ３３に戻り、アクセスパターンＡＣＰの次の設定位置の処理に移る。
【０１３８】
上述したデータアクセス時の動作をさらに説明する。上述したように、初期格納時の動作により、画面ＳＲＮの各画素のデータは、上述した図４、図５に示すように、メモリバンクＢＫ０〜ＢＫ５に、振り分けられて格納されている。
【０１３９】
動作開始時に、メモリバンクＢＫ０〜ＢＫ５の読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳがセットされる。この場合、メモリバンクＢＫ０〜ＢＫ５の開始アドレスＲＳ，ＷＳは、図９に示すように、データ格納制御部１２０のアドレス生成部１２８で生成された開始アドレスＲＳ，ＷＳと同じアドレスにセットされる。そして、これらメモリバンクＢＫ０〜ＢＫ５の初期状態の読み出しアドレスＲおよび書き込みアドレスＷは、図９に示すように、それぞれ、読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳと同じアドレスとなる。
【０１４０】
また動作開始時に、読み出しフラグＲＦＧおよび書き込みフラグＷＦＧがセットされる。この場合、メモリバンクＢＫ０〜ＢＫ５の読み出しフラグＲＦＧは、図９に示すように、データ格納制御部１２０の読み出しフラグ生成部１２９で生成された読み出しフラグＲＦＧと同じ状態にセットされる。つまり、メモリバンクＢＫ０，ＢＫ２〜ＢＫ５の読み出しフラグＲＦＧは読み出しを行うことを示すフラグオンの状態、例えば１とされ、その他のメモリバンクＢＫ１は読み出しを行わないことを示すフラグオフの状態、例えば０とされる。
【０１４１】
また、メモリバンクＢＫ０〜ＢＫ５の書き込みフラグＲＦＧは、図９に示すように、メモリバンクＢＫ０，ＢＫ５については、書き込み開始アドレスＲＳと読み出し開始アドレスＷＳが同じであることから、書き込みを行わないことを示すフラグオフの状態、例えば０とされ、またその他のバンクＢＫ１〜ＢＫ４については書き込みを行うことを示すフラグオンの状態、例えば１とされる。
【０１４２】
カウンタ（カウンタＡ）１４２のカウントが開始され、図８に示すように、アクセスパターンＡＣＰの設定位置が開始位置とされると、メモリバンクＢＫ０〜ＢＫ５のうち、読み出しフラグＲＦＧが１となっている５個のメモリバンクＢＫ０，ＢＫ２〜ＢＫ５の、読み出しアドレスＲで示されるアドレス位置から、開始位置のアクセスパターンＡＣＰで特定される５個の初期アクセス画素ＩＭ１〜ＩＭ５の画素データＤo1〜Ｄo5が同時に読み出される。そして、メモリバンクＢＫ０，ＢＫ２〜ＢＫ５の読み出しアドレスＲはそれぞれインクリメントされる。
【０１４３】
メモリバンクＢＫ２〜ＢＫ５から読み出された画素データは、図１０に示すように、１つ前のメモリバンクＢＫ１〜ＢＫ４の書き込みフラグＷＲＧが１であるので、その書き込み込みアドレスＷで示されるアドレス位置に書き込まれる。そして、メモリバンクＢＫ１〜ＢＫ４の書き込みアドレスＷはそれぞれインクリメントされる。
【０１４４】
メモリバンクＢＫ０，ＢＫ１については、１つ前のメモリバンクＢＫ５，ＢＫ０の書き込みフラグＷＲＧが０であるので、読み出し開始アドレスＲＳが次の書き込み開始アドレスＷＳとして保持され、また読み出しアドレスＲが次の読み出し開始アドレスＲＳとして保持される。
【０１４５】
その後、移動クロックＭＣＫの入力に伴ってアクセスパターンＡＣＰの設定位置が画素列方向（水平方向）に１画素移動する毎に、上述したと同様に、アクセスパターンＡＣＰで特定される５個のアクセス画素ＩＭ１〜ＩＭ５の画素データＤo1〜Ｄo5が同時に読み出され、読み出しアドレスＲのインクリメント、読み出された画素データの他のメモリバンクへの移動、書き込みアドレスＷのインクリメント、次の開始アドレスＷＳ，ＲＳの保持の処理が行われる。
【０１４６】
この場合、図１１に示すように、アクセスパターンＡＣＰの設定位置が開始位置から画素列方向に２画素移動したところでは、メモリバンクＢＫ２のインクリメントされた書き込みアドレスＷが２３となって一定数Ｎ＝２２を越えるので、図１２に示すように、メモリバンクＢＫ２の書き込みアドレスＷは一定数Ｎ＝２２だけ戻され、またこれにより書き込みアドレスＷが読み出し開始アドレスＲＳと同じになるので、メモリバンクＢＫ２の書き込みフラグＷＦＧは０に変更される。
【０１４７】
同様に、アクセスパターンＡＣＰの設定位置の移動に伴って、所定のメモリバンクの書き込みアドレスＷまたは読み出しアドレスＲが一定数Ｎ＝２２を越えるときは、その所定のメモリバンクの書き込みアドレスＷまたは読み出しアドレスＲは一定数Ｎ＝２２だけ戻され、またこれにより書き込みアドレスＷが読み出し開始アドレスＲＳと同じになるとき、その所定のメモリバンクバンクの書き込みフラグＷＦＧは０に変更される。
【０１４８】
図１３は、アクセスパターンＡＣＰの設定位置が開始位置から２２画素移動した状態を示しており、この場合アクセスパターンＡＣＰの設定位置は開始位置から垂直方向に１画素移動した位置となる。図１４は、そのときの各メモリバンクＢＫ０〜ＢＫ５の状態を示しており、各メモリバンクＢＫ０〜ＢＫ５の次の読み出し開始アドレスＲＳ′および読み出し開始アドレスＷＳ′は、それぞれ図示の位置となる。
【０１４９】
図１５は、上述したようにアクセスパターンＡＣＰの設定位置が開始位置から２２画素移動した後に、読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳがセットされると共に、読み出しフラグＲＦＧおよび書き込みフラグＷＦＧがセットされた状態を示している。
【０１５０】
この場合、メモリバンクＢＫ０〜ＢＫ５の開始アドレスＲＳ，ＷＳは、それぞれ保持されている次の開始アドレスＲＳ′，ＷＳ′（図１４参照）とされる。ただしこの場合、バンク指定部１４４のカウンタのカウント値は０にあるので、メモリバンクＢＫ０に対応する開始アドレスＲＳ，ＷＳが、さらに一定数Ｎ＝２２だけ進めるようにオフセット処理される。
【０１５１】
また、メモリバンクＢＫ０〜ＢＫ５の書き込みフラグＷＦＧは、メモリバンクＢＫ０，ＢＫ１については書き込み開始アドレスＲＳと読み出し開始アドレスＷＳが同じであることから、書き込みを行わないことを示すフラグオフの状態、例えば０とされ、またその他のバンクＢＫ２〜ＢＫ５については書き込みを行うことを示すフラグオンの状態、例えば１とされる。
【０１５２】
また、メモリバンクＢＫ０〜ＢＫ５の読み出しフラグＲＦＧは、それぞれ、１つ前のメモリバンクＢＫ５〜ＢＫ４の読み出しフラグＲＦＧとされる。つまり、メモリバンクＢＫ０，ＢＫ１，ＢＫ３〜ＢＫ５の読み出しフラグＲＦＧは読み出しを行うことを示すフラグオンの状態、例えば１とされ、その他のメモリバンクＢＫ２の読み出しフラグＲＦＧは読み出しを行わないことを示すフラグオフの状態、例えば０とされる。なお、図１５に示す、メモリバンクＢＫ０〜ＢＫ５の次の読み出し開始アドレスＲＳ′および次の書き込み開始アドレスＷＳ′は、アクセスパターンＡＣＰの設定位置をさらに２２画素移動した後のものを示している。
【０１５３】
アクセスパターンＡＣＰの設定位置が上述の図１３に示す位置に移動した後、上述したように開始アドレスＲＳ，ＷＳ、およびフラグＲＦＧ，ＷＦＧのセットが行われ、メモリバンクＢＫ０〜ＢＫ５のうち、読み出しフラグＲＦＧが１となっている５個のメモリバンクＢＫ０，ＢＫ１，ＢＫ３〜ＢＫ５の、読み出しアドレスＲで示されるアドレス位置から、アクセスパターンＡＣＰで特定される５個のアクセス画素ＩＭ１〜ＩＭ５の画素データＤo1〜Ｄo5が同時に読み出される。その後、移動クロックＭＣＫの入力に伴ってアクセスパターンＡＣＰの設定位置が画素列方向（水平方向）に１画素移動する毎に、上述したと同様に、アクセスパターンＡＣＰで特定される５個のアクセス画素ＩＭ１〜ＩＭ５の画素データＤo1〜Ｄo5が同時に読み出される。
【０１５４】
以下、アクセスパターンＡＣＰの設定位置が一定数Ｎ＝２２だけ移動する毎に、上述したと同様の動作が繰り返され、アクセスパターンＡＣＰの設定位置が終了位置となるまで、各設定位置で、アクセスパターンＡＣＰで特定される５個のアクセス画素ＩＭ１〜ＩＭ５の画素データＤo1〜Ｄo5が同時に読み出される。
【０１５５】
図１に示すデータアクセス装置１００によれば、初期格納時に、注目画素の画素データを最初のメモリバンクに格納することが開始された後、注目画素が５個の初期アクセス画素のいずれかになるとき、あるいは同一のメモリバンクに一定数Ｎ＝２２の画素データを連続して格納したとき、注目画素の画素データを格納するメモリバンクが順次切り替えられるものであり、５個の初期アクセス画素ＩＭ１〜ＩＭ５の画素データはそれぞれ異なるメモリバンクに格納された状態となって同時アクセスが可能となり、また６個のメモリバンクＢＫ０〜ＢＫ５に格納される画素データの数が平均化されるため、各メモリバンクＢＫ０〜ＢＫ５の容量を小さくできる。
【０１５６】
また、図１に示すデータアクセス装置１００によれば、データアクセス時に、アクセスパターンＡＣＰの設定位置が所定位置にあるとき、この所定位置におけるアクセスパターンで特定される５個のアクセス画素ＩＭ１〜ＩＭ５の画素データＤo1〜Ｄo5が６個のメモリバンクＢＫ０〜ＢＫ５のいずれかから同時に読み出されると共に、この設定位置が移動した際に、この設定位置のアクセスパターンＡＣＰで特定される５個のアクセス画素ＩＭ１〜ＩＭ５の画素データＤo1〜Ｄo5がそれぞれ異なるメモリバンクに格納されているように、読み出された画素データＤo1〜Ｄo5のいずれかあるいは全部が、その画素データＤo1〜Ｄo5が格納されていたメモリバンクの１つ前のメモリバンクに格納されるものであり、アクセスパターンＡＣＰの設定位置が開始位置から移動した全ての位置で、当該アクセスパターンＡＣＰで特定される５個のアクセス画素ＩＭ１〜ＩＭ５の画素データＤo1〜Ｄo5がそれぞれ異なるメモリバンクに格納された状態となって同時アクセスが可能となる。
【０１５７】
また、図１に示すデータアクセス装置１００によれば、データ格納制御部１２０からデータアクセス制御部１４０に各メモリバンクＢＫ０〜ＢＫ５の読み出しフラグＲＦＧを与えるものであり、例えばこれらデータ格納制御部１２０およびデータアクセス制御部１４０を制御する制御装置が、アクセスパターンＡＣＰおよび一定数Ｎの情報に基づいて各メモリバンクＢＫ０〜ＢＫ５の読み出しフラグＲＦＧを生成して、データアクセス制御部１４０に与えることが必要でなくなる。
【０１５８】
また、図１に示すデータアクセス装置１００によれば、データ格納制御部１２０からデータアクセス制御部１４０に各メモリバンクＢＫ０〜ＢＫ５の読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳを与えるものであり、例えばこれらデータ格納制御部１２０およびデータアクセス制御部１４０を制御する制御装置が、アクセスパターンＡＣＰおよび一定数Ｎの情報に基づいて各メモリバンクＢＫ０〜ＢＫ５の読み出し開始アドレスＲＳおよび書き込み開始アドレスＷＳを生成して、データアクセス制御部１４０に与えることが必要でなくなる。
【０１５９】
なお、上述の実施の形態においては、アクセスパターンＡＣＰが５個の画素のパターンであり、メモリ部１１０が６個のメモリバンクＢＫ０〜ＢＫ５で構成され、またそれぞれのメモリバンクのワード線長が１０で、同一のメモリバンクに連続して格納する一定数Ｎが２２であるものを示したが、これに限定されるものではない。必要なワード線長、メモリバンク数、および一定数Ｎは、アクセスパターンＡＣＰを構成する画素の個数およびこのアクセスパターンＡＣＰの分布範囲によって定めればよい。
【０１６０】
アクセスパターンＡＣＰを構成する各画素の画素データを異なるメモリバンクに格納するためのメモリバンクの最低個数は、アクセスパターンＡＣＰを構成する画素の個数と等しくなる。同一のメモリバンクに連続して格納する一定数Ｎを多くすればメモリバンクの必要個数は少なくなるが、初期格納時の書き込みアドレスＷのオフセット処理により画素データが格納されない領域が増えるため、各メモリバンクに必要なメモリ容量が多くなる。逆に、一定数Ｎを少なくすると、各メモリバンクに必要なメモリ容量は少なくなるが、メモリバンクの必要個数が多くなる。
【０１６１】
なお、上述実施の形態においては、画面ＳＲＮが水平方向に伸びる画素列が垂直方向に順次配列された構成であるとし、初期格納時には、各画素列の画素を順に注目画素とし、この注目画素の画素データを各メモリバンクＢＫ０〜ＢＫ５に振り分けて格納し、データアクセス時には、アクセスパターンＡＣＰの設定位置を画素列方向に移動した各設定位置で当該アクセスパターンＡＣＰで特定される５個の画素ＩＭ１〜ＩＭ５の画素データＤo1〜Ｄo5を同時に得るものを示したが、画面ＳＲＮが垂直方向に伸びる画素列が水平方向に順次配列された構成であるとして、初期格納時およびデータアクセス時の動作を行うように構成することもできる。
【０１６２】
また、上述実施の形態においては、データ格納制御部１２０からデータアクセス制御部１４０に開始アドレスＲＳ，ＷＳおよび読み出しフラグＲＦＧを与えるものを示したが、これら開始アドレスＲＳ，ＷＳおよび読み出しフラグＲＦＧを、データ格納制御部１２０およびデータアクセス制御部１４０の動作を制御する制御装置から、データアクセス制御部１４０に与える構成とすることもできる。
【産業上の利用可能性】
【０１６３】
この発明は、アクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データの同時取得を容易に行い得るものであり、例えば特定のデータ配列を認識してパターン認識や動き検出等の処理を行う装置に適用できる。
【図面の簡単な説明】
【０１６４】
【図１】実施の形態としてのデータアクセス装置の構成を示すブロック図である。
【図２】データアクセス装置を構成するデータ格納制御部の構成を示すブロック図である。
【図３】データ格納制御部の制御による初期格納時の動作を示すフローチャートである。
【図４】画面上に設定されたアクセスパターンを説明するための図である。
【図５】初期格納後の各メモリバンクのデータ格納状態を示す図である。
【図６】データアクセス装置を構成するデータアクセス制御部の構成を示すブロック図である。
【図７】データアクセス制御部の制御によるデータアクセス時の動作を示すフローチャートである。
【図８】アクセスパターンが画面上の開始位置にある状態を示す図である。
【図９】各メモリバンクの初期状態における、データ格納状態、読み出しおよび書き込みの開始アドレス、読み出しおよび書き込みのフラグを示す図である。
【図１０】画素データの読み出し後の移動処理を説明するための図である。
【図１１】画面上に設定されたアクセスパターンが開始位置から２画素移動した状態を示す図である。
【図１２】書き込みアドレスのオフセット処理を説明するための図である。
【図１３】画面上に設定されたアクセスパターンが開始位置から２２画素（一定数）移動した状態を示す図である。
【図１４】各メモリバンクの２２画素移動後の状態を示す図である。
【図１５】各メモリバンクにおける２２画素移動後の開始アドレスおよびフラグのセットを説明するための図である。
【図１６】一般的な半導体メモリの構造を概略的に示す図である。
【図１７】同時アクセスできない状態を示す図である。
【図１８】複数メモリバンクのメモリ構成を示す図である。
【図１９】画面上に設定されたアクセスパターンの一例を示す図である。
【図２０】４個のメモリバンクへの画素データの格納例を示す図である。
【図２１】アクセスパターンが開始位置にあるときの各メモリバンクにおけるデータアクセス位置を示す図である。
【図２２】アクセスパターンを５画素移動した状態を示す図である。
【図２３】アクセスパターンが５画素移動した位置にあるときの各メモリバンクにおけるデータアクセス位置を示す図である。
【符号の説明】
【０１６５】
１００・・・データアクセス装置、１１０・・・メモリ部、１１１・・・入力端子、１１２・・・出力端子、ＢＫ０〜ＢＫ５・・・メモリバンク、１２０・・・データ格納制御部、１２１・・・カウンタ（カウンタＡ）、１２２・・・カウンタ（カウンタＢ）、１２３・・・一致判定部、１２４・・・オフセット制御部、１２５・・・バンクアドレスカウンタ、１２６・・・ビット線アドレスカウンタ、１２７・・・ワードアドレス線カウンタ、１２８・・・アドレス生成部、１２９・・・読み出しフラグ生成部、１４０・・・データアクセス制御部、１４１・・・開始アドレス保持部、１４２・・・カウンタ（カウンタＡ）、１４３・・・カウンタ（カウンタＢ）、１４４・・・バンク指定部、１４５・・・アドレスカウンタフラグ制御部、１４６・・・書き込みアドレスカウンタ、１４７・・・読み出しアドレスカウンタ、１４８・・・書き込みアドレス生成部、１４９・・・読み出しアドレス生成部、１５０・・・読み出しフラグ生成部、１５１・・・書き込みフラグ生成部
【図１】
2006277653.tif 000003
【図２】
2006277653.tif 000004
【図３】
2006277653.tif 000005
【図４】
2006277653.tif 000006
【図５】
2006277653.tif 000007
【図６】
2006277653.tif 000008
【図７】
2006277653.tif 000009
【図８】
2006277653.tif 000010
【図９】
2006277653.tif 000011
【図１０】
2006277653.tif 000012
【図１１】
2006277653.tif 000013
【図１２】
2006277653.tif 000014
【図１３】
2006277653.tif 000015
【図１４】
2006277653.tif 000016
【図１５】
2006277653.tif 000017
【図１６】
2006277653.tif 000018
【図１７】
2006277653.tif 000019
【図１８】
2006277653.tif 000020
【図１９】
2006277653.tif 000021
【図２０】
2006277653.tif 000022
【図２１】
2006277653.tif 000023
【図２２】
2006277653.tif 000024
【図２３】
2006277653.tif 000025