データアクセス装置、データアクセス方法、プログラムおよび記録媒体
【課題】アクセスパターンの各設定位置で、そのパターンに対応した複数の画素データの同時取得を容易とする。
【解決手段】データ格納制御部120は、第K(K=1〜3)の位相処理時に、画面の各画素列を、K番目の画素列を最初の画素列として第1〜第3の画素列の繰り返しであるとし、この第1〜第3の画素列の画素データを夫々上位メモリバンクBK0〜BK2に格納する。データアクセス制御部140は、第Kの位相処理時に、アクセスパターンACPの各設定位置で、パターンACPで特定される12個の画素の画素データを夫々12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23から同時に読み出し、またパターンACPの設定位置を移動した際に、それで特定される12個の画素の画素データが夫々異なる下位メモリバンクに格納されているように、画素データの移動処理をする。
【解決手段】データ格納制御部120は、第K(K=1〜3)の位相処理時に、画面の各画素列を、K番目の画素列を最初の画素列として第1〜第3の画素列の繰り返しであるとし、この第1〜第3の画素列の画素データを夫々上位メモリバンクBK0〜BK2に格納する。データアクセス制御部140は、第Kの位相処理時に、アクセスパターンACPの各設定位置で、パターンACPで特定される12個の画素の画素データを夫々12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23から同時に読み出し、またパターンACPの設定位置を移動した際に、それで特定される12個の画素の画素データが夫々異なる下位メモリバンクに格納されているように、画素データの移動処理をする。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、所定画面上に設定される複数の画素のパターンをアクセスパターンとし、このアクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、このアクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス装置、データアクセス方法、プログラムおよび記録媒体に関する。
【0002】
詳しくは、この発明は、アクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納された状態として、当該複数の画素データを同時にアクセスできるようにしたことによって、当該複数の画素データの同時取得を容易としたデータアクセス装置等に係るものである。
【背景技術】
【0003】
従来、半導体メモリMYは、図29に示すように、ワード線WLとビット線BLを指定してメモリセルMCをアクセスする構造となっており、指定されたワード線WLとビット線BLが交差する位置にあるメモリセルMCに格納されたデータが読み出される。このような構造の半導体メモリMYでは、複数のワード線WLで同じビット線BLを共有している。したがって、図30に示すように、例えば2つのワード線WL1,WL2を指定すると、ビット線BLにはこれらワード線WL1,WL2のデータが混じり合って出てくるため、異なるワード線WLのデータには同時アクセスできない。
【0004】
これに対して、図31に示すように、メモリMYを複数のメモリバンクBK0〜BKn−1に分け、それぞれのメモリバンクBK0〜BKn−1に異なるアドレスを指定することで、複数のワード線WLのデータに同時にアクセスできるが、メモリバンク内の異なるワード線WLのデータには同時にアクセスできない。
【0005】
一般に、同時に複数データにアクセスが可能なのは、その複数データが異なるメモリバンクに格納されているか、あるいはその複数データが同一ワード線上に格納されているかのいずれかである。
【0006】
また従来、入力データに含まれる特定のデータ配列を認識することにより、パターン認識や動き検出等の処理が行われている。例えば、数ラインの画素データを蓄積でき画素単位で出力できるバッファメモリと、数ビット幅データを処理し得る複数のプロセッサエレメントを含み、この複数のプロセッサエレメントで同時並行してデータ処理ができるデータ処理器と、マッチング参照データと制御データを格納する制御情報メモリとを備え、データ処理器の各プロセッサエレメントが、バッファメモリが出力した画像データの中の、自己に宛てられた注目画素中心のマトリクスの画素データ群を、閾値を用いて2値化して該プロセッサエレメントが処理可能なシリアル配列のビット幅に区切った対象データに変換し、同形式で制御情報メモリにあった参照データと合致するか否かを判定することが行われている(例えば、特許文献1参照)。
【0007】
また、動画像の処理の分野において、動き、すなわち、時間的に異なる画像中の物体の動き方向と大きさ(または速さ)が用いられており、例えば画像の高能率符号化における動き補償フレーム間符号化や、フレーム間時間領域フィルタによるテレビジョン雑音低減装置における動きによるパラメータ制御等に動きが用いられる。動きを求める動き検出方法としては、ブロックマッチング法が知られている。本件出願人は、画像信号中の動きを検出する動き検出方法において、(a)1画面全体または1画面を複数に分割した比較的大きなブロック毎に、マッチング法によって積算値テーブルを生成し、この積算値テーブルを用いて、1画面全体または1画面を複数に分割した比較的大きなブロック毎に、1または複数の候補ベクトルを抽出するステップと、(b)この候補ベクトルのみを対象としてマッチングを行い、1画素または比較的小さいブロック毎に動きベクトルを検出するステップとからなる2ステップの動き検出方法を先に提案している。この2ステップの動き検出方法では、画像の動き検出を2ステップ方式の代表点マッチングにより行う代表点マッチング、ベクトル割り当ての2ステップの過程において、いずれも画面内における任意の複数の画素データを同時に読み出す必要がある(例えば、特許文献2参照)。
【0008】
【特許文献1】特開2003−203236号公報
【特許文献2】特開2001−61152号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
ここで、水平または垂直の方向に伸びる画素列が垂直または水平の方向に順次配列された所定画面の上に複数の画素のパターンをアクセスパターンとして設定し、このアクセスパターンの設定位置を開始位置から画素列方向に1画素ずつ順に移動した各設定位置で、アクセスパターンで特定される複数の画素の画素データを同時に取得することを考える。
【0010】
例えば、図32に示すように、水平方向に伸びる画素列が垂直方向に順次配列された画面SRNの上に4個の画素IM1〜IM4のパターンをアクセスパターンACPとして設定し、このアクセスパターンACPの設定位置を開始位置から画素列方向に移動していく場合を考える。この場合、画素列方向は水平方向であり、アクセスパターンACPの設定位置はラスタスキャン順に移動していく。また、図32の「□」は1画素を示しており、この図32におけるアクセスパターンACPの設定位置は、その開始位置を示している。
【0011】
この画面SRNの各画素列の画素のデータを、図33に示すように、4個のメモリバンクBK0〜BK3に、ラスタスキャン順に格納したとする。図33の□内の数字はバンクアドレス0〜3を示している。この場合、アクセスパターンACPの設定位置が開始位置にあるとき、図34に示すように、このアクセスパターンACPで特定される4個の画素IM1〜IM4の画素データは、メモリバンクBK0〜BK3の○印で示すアドレス位置に格納されていることから、4個の画素データに同時にアクセスして読み出すことができる。
【0012】
アクセスパターンACPの設定位置が開始位置から1画素ずつ移動して9画素の移動までは、上述した設定位置が開始位置にある場合と同様に、4個の画素データに同時にアクセスして読み出すことができる。しかし、図35に示すように、アクセスパターンACPの設定位置が10画素移動したとき、アクセスパターンACPで特定される4個の画素IM1〜IM4の画素データは、図36に示すように、メモリバンクBK0〜BK3の○印で示すアドレス位置に格納されており、メモリバンクBK1で複数のワード線のデータにアクセスすることが必要になるので、4個の画素データに同時アクセスして読み出すことができなくなる。
【0013】
なお、アクセスパターンに対応した複数の画素データに時分割でアクセスし、キャッシュやバッファに一時記憶し、見かけ上の同時アクセスを達成することが提案されているが(実開昭63−35146号公報、実開平8−896号公報参照)、時間的な遅れが発生するという問題点があった。
【0014】
この発明の目的は、アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データを同時に取得することを容易に行い得るようにすることにある。
【課題を解決するための手段】
【0015】
この発明の概念は、
それぞれ、下位バンクアドレスで特定される下位メモリバンクからなり、上位バンクアドレスで特定される複数の上位メモリバンクを有するメモリ部と、
水平または垂直に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを、上記所定画面上に設定される複数の画素のパターンであるアクセスパターンに基づき、上記複数の上位メモリバンクに振り分けて格納するための制御を行うデータ格納制御部と、
上記複数の上位メモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するための制御を行うデータアクセス制御部とを備え、
上記データ格納制御部は、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、それぞれ、上記所定画面における各画素列を、K番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、該第1〜第Nの画素列の画素データを、それぞれ第1〜第Nの上位メモリバンクに格納するものとし、
上記第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ上記第Mの上位メモリバンクに格納する際、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、上記第Mの画素列の注目画素が上記複数の画素のいずれかに最初に該当するとき、上記注目画素の画素データを上記第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始し、その後上記第Mの画素列の注目画素が上記複数の画素のいずれかに該当するとき、上記注目画素の画素データを格納する上記第Mの上位メモリバンクの下位メモリバンクを順次切り替え、
上記データアクセス制御部は、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、上記画素列方向に順次移動した上記アクセスパターンの各設定位置で、該アクセスパターンで特定される複数の画素の画素データを、上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データが異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを該画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する
ことを特徴とするデータアクセス装置にある。
【0016】
この発明においては、水平または垂直の方向に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素が順に注目画素とされ、この注目画素の画素データが複数の上位メモリバンクに振り分けて格納される。
【0017】
例えば、データ格納制御部は、第K(K=1〜N)の位相処理時に、注目画素が、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に一致する画素であるか否かを判定する一致判定部と、注目画素が画素列の最初から何番目の画素であるかをカウントするカウント部と、第Kの位相処理時に、一致判定部の判定出力およびカウント部のカウント値に基づいて、注目画素毎に、メモリ部に対する書き込みアドレスを生成するアドレス生成部とを有する。
【0018】
この場合、第Kの位相処理時において、所定画面における各画素列を、K番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、この第1〜第Nの画素列のデータを、それぞれ第1〜第Nの上位メモリバンクに格納するものとされる。
【0019】
そして、第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ第Mの上位メモリバンクに格納する際、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、第Mの画素列の注目画素が複数の画素のいずれかに最初に該当するとき、注目画素の画素データが第Mの上位メモリバンクの最初の下位メモリバンクに格納することが開始される。また、その後、第Mの画素列の注目画素が複数の画素のいずれかに該当するとき、注目画素の画素データを格納する第Mの上位メモリバンクの下位メモリバンクが切り替えられる。
【0020】
また、この発明においては、アクセスパターンの設定位置が開始位置から画素列方向に移動した各設定位置で、アクセスパターンで特定される複数の画素(アクセス画素)の画素データが複数の上位メモリバンクから同時に取得される。
【0021】
例えば、データアクセス制御部は、第Kの位相処理時に第1〜第Nの上位メモリバンクを構成する下位メモリバンクの読み出しアドレスを生成する読み出しアドレス生成部と、第Kの位相処理時に第1〜第Nの上位メモリバンクを構成する下位メモリバンクの書き込みアドレスを生成する書き込みアドレス生成部とを有する。
【0022】
そして、読み出しアドレス生成部は、第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対し、最初の読み出しアドレスを、外部から与えられる読み出し開始アドレスにセットし、各設定位置で画素データの読み出しが行われるとき、読み出しアドレスをインクリメントして次の読み出しアドレスを生成する。また、書き込みアドレス生成部は、第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対し、最初の書き込みアドレスを、外部から与えられる書き込み開始アドレスにセットし、各設定位置で画素データの書き込みが行われるとき、書き込みアドレスをインクリメントして次の書き込みアドレスを生成する。
【0023】
この場合、第Kの位相処理時において、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、画素列方向に順次移動したアクセスパターンの各設定位置で、このアクセスパターンで特定される複数の画素の画素データが、第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出される。
【0024】
そして、この設定位置が画素列方向に移動した際に、設定位置におけるアクセスパターンで特定される複数の画素の画素データがそれぞれ異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出された画素データを、この画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する画素データの移動処理が行われる。
【0025】
このように、アクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データがそれぞれ異なる下位メモリバンクに格納された状態とし、当該複数の画素データを同時にアクセスできるようにしたものであり、当該複数の画素データの同時取得を容易に行うことができる。
【0026】
また、初期格納時に第1〜第Nの画素列の画素データのそれぞれを第1〜第Nの上位メモリバンクに振り分けて格納し、データアクセス時に上位メモリバンク毎にデータの移動処理を行うものであり、データアクセス時における画素データの移動処理を少なくできる。
【0027】
例えば、複数の画素のパターンは、複数の中心画素および各中心画素の周辺に位置する周辺画素のパターンである。この場合、アクセスパターンを構成する画素の数が多くなるが、上述したように第1〜第Nの画素列の画素データのそれぞれを第1〜第Nの上位メモリバンクに振り分けて格納することで、データアクセス時に画素データの移動処理を少なくできる。
【0028】
また例えば、中心画素とこの中心画素の周辺に位置する周辺画素からなる画素群がL本の画素列に渡るとき、NはLと等しくされる。この場合、第K(K=1〜N)の位相処理時に、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素が、第1〜第Nの画素列に分散されるので、各上位メモリバンクにおける下位メモリバンクの必要個数のバラツキを小さくできる。
【0029】
また、例えば、データアクセス制御部に与えられる読み出し開始アドレスおよび書き込み開始アドレスは、データ格納制御部から与えられる。この場合、データ格納制御部は、第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対応した読み出し開始アドレスおよび書き込み開始アドレスを生成する開始アドレス生成部をさらに有し、この開始アドレス生成部は、それぞれのメモリバンクに対して、最初の画素データが格納されたアドレスを読み出し開始アドレスとし、最後の画素データが格納されたアドレスのつぎのアドレスを書き込み開始アドレスとする。
【0030】
このように、データ格納制御部からデータアクセス制御部に読み出し開始アドレスおよび書き込み開始アドレスを与えることで、例えばこれらデータ格納制御部およびデータアクセス制御部を制御する制御装置が、アクセスパターンに基づいて読み出し開始アドレスおよび書き込み開始アドレスを生成して、データアクセス制御部に与えることが必要でなくなる。
【発明の効果】
【0031】
この発明によれば、アクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納された状態として、当該複数の画素データを同時にアクセスできるようにしたものであり、当該複数の画素データの同時取得を容易に行うことができる。
【発明を実施するための最良の形態】
【0032】
以下、図面を参照しながら、この発明の実施の形態について説明する。図1は、実施の形態としてのデータアクセス装置100の構成を示している。
【0033】
このデータアクセス装置100は、メモリ部110と、データ格納制御部120と、データアクセス制御部140とを備えている。
【0034】
メモリ部110は、それぞれ、上位バンクアドレスで特定される、3個の上位メモリバンクBK0〜BK2を有している。上位メモリバンクBK0は、それぞれ、下位バンクアドレスで特定される、4個の下位メモリバンクBK00〜BK03からなっている。上位メモリバンクBK1は、それぞれ、下位バンクアドレスで特定される、4個の下位メモリバンクBK10〜BK13からなっている。上位メモリバンクBK2は、それぞれ、下位バンクアドレスで特定される、4個の下位メモリバンクBK20〜BK23からなっている。このメモリ部110は、図示しない制御装置から入力端子150を介して与えられる制御信号SCLに基づいて動作する。
【0035】
このメモリ部110には、初期格納時に、入力端子111から、格納すべき所定画面の画素データDiが入力される。ここで、所定画面は、水平方向に伸びる画素列が垂直方向に順次配列された構成となっており、メモリ部110には各画素列の画素データが順に注目画素としてラスタスキャン順に入力されていく。この所定画面上に、複数の画素のパターンがアクセスパターンACPとして設定される。注目画素の画素データは、アクセスパターンACPに基づき、メモリ部110の3個の上位メモリバンクBK0〜BK2に振り分けて格納される。
【0036】
図2は、この実施の形態における、画面SRN上に設定されるアクセスパターンACPを示している。このアクセスパターンACPは、4個の中心画素IM1〜IM4、および各中心画素の上下に位置する8個の周辺画素IM1U,IM1D,IM2U,IM2D,IM3U,IM3D,IM4U,IM4Dのパターンである。図2の「□」は画面SRNを構成する画素を示している。また、図2に示すアクセスパターンACPの設定位置は、その開始位置である。
【0037】
また、データアクセス時に、アクセスパターンACPの設定位置が開始位置(図2参照)から画素列方向に1画素ずつ移動した各設定位置で、アクセスパターンACPで特定される12個の画素(以下、適宜、「アクセス画素」という)の画素データDo01〜D12が、上位メモリバンクBK0〜BK2を構成する下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23から同時に読み出されて、出力端子112に出力される。なお、このように各設定位置で読み出される画素データDo01〜Do12は、他の下位メモリバンクへのデータ移動処理のために、メモリ部110に再入力される。
【0038】
データ格納制御部120は、図示しない制御装置から入力端子150を介して供給される制御信号SCLに基づいて動作する。このデータ格納制御部120は、上述したように、各注目画素の画素データをメモリ部110の3個の上位メモリバンクBK0〜BK2に振り分けて格納するための制御を行う。
【0039】
データ格納制御部120は、第1〜第3の位相処理を順次行う。そして、データ格納制御部120は、第K(K=1〜3)の位相処理時において、画面SRNにおける各画素列を、K番目の画素列を最初の画素列として第1〜第3の画素列の繰り返しであるとし、この第1〜第3の画素列のデータをそれぞれ上位メモリバンクBK0〜BK2に格納する。
【0040】
データ格納制御部120は、第Kの位相処理時に、第M(M=1〜3)の画素列の画素データをそれぞれ第Mの上位メモリバンクに格納する際、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンACPで特定される12個の画素(以下、適宜、「初期アクセス画素」という)に基づき、第Mの画素列の注目画素がこの12個の初期アクセス画素のいずれかに最初に該当するとき、注目画素の画素データを第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始する。また、その後、第Mの画素列の注目画素が複数の画素のいずれかに該当するとき、注目画素の画素データを格納する第Mの上位メモリバンクの下位メモリバンクを切り替える。
【0041】
データ格納制御部120についてさらに詳細に説明する。図3は、このデータ格納制御部120の構成を示している。このデータ格納制御部120は、カウンタ(カウンタA)121と、カウンタ(カウンタB)122と、一致判定部123と、上位バンクアドレスカウンタ124と、下位バンクアドレスカウンタ125と、ビット線アドレスカウンタ126と、ワード線アドレスカウンタ127と、アドレス生成部128とを有している。
【0042】
カウンタ(カウンタA)121は、第K(K=1〜3)の位相処理時に、上述したメモリ部110に順に入力される各注目画素の画素データの入力個数をカウントする。このカウンタ121には、メモリ部110に入力される各注目画素の画素データに同期したデータクロックDCKが供給される。このデータクロックDCKは、上述した制御信号SCLのひとつを構成しており、図示しない制御装置から供給される。このカウンタ121は、最初にそのカウント値が0とされ、その後はメモリ部110に各注目画素の画素データが入力される毎に、データクロックDCKによってインクリメントされていく。
【0043】
一致判定部123は、第Kの位相処理時に、上述したメモリ部110に所定の注目画素の画素データが入力される毎に、その注目画素が、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンACPで特定される12個の初期アクセス画素に一致するか否かを判定する。そのため、この一致判定部123には、第1〜第3の位相処理時のそれぞれで、注目画素が当該12個の初期アクセス画素となる際に上述したカウンタ121から出力されるカウント値CN1〜CN12に対応した値が、アクセスパターン情報IAPとして供給される。このアクセスパターン情報IAPは、上述した制御信号SCLのひとつを構成しており、図示しない制御装置から供給される。この一致判定部123は、ある注目画素におけるカウンタ121のカウント値が、カウント値CN1〜CN12と一致するとき、それぞれ、当該注目画素は1番目〜12番目の初期アクセス画素であると判定する。
【0044】
カウンタ(カウンタB)122は、注目画素が画素列の最初から何番目の画素であるかをカウントする。このカウンタ122には、メモリ部110に入力される各注目画素の画素データに同期したデータクロックDCKが供給される。このカウンタ122は、最初はそのカウント値が0とされ、その後はメモリ部110に各注目画素の画素データが入力される毎に、データクロックDCKによってインクリメントされていく。そして、カウント値が画素列の画素数m(この実施の形態では22)と等しくなる毎に、0にリセットされる。
【0045】
上位バンクアドレスカウンタ124は、3個の上位メモリバンクBK0〜BK2のうち、注目画素の画素データを格納すべき上位メモリバンクを示すカウント値、つまり上位バンクアドレスを出力する。このカウンタ124には、上述したカウンタ(カウンタB)122のカウント値が供給される。このカウンタ124は、最初はそのカウント値が0とされ、注目画素がK番目以降の画素列の画素となった後に、カウンタ122のカウント値が0にリセットされるとき、インクリメントされる。このカウンタ124は、カウント値2の次はカウント値0となり、3進カウンタの構成となっている。このカウンタ124のカウント値0〜2、つまり上位バンクアドレス0〜2は、それぞれ上位メモリバンクBK0〜BK2を示している。
【0046】
下位バンクアドレスカウンタ125は、上述した上位バンクアドレスカウンタ124のカウント値で示される上位メモリバンクを構成する下位メモリバンクのうち、実際に注目画素の画素データを格納すべき下位メモリバンクを示すカウント値、つまり下位バンクアドレスを出力する。このカウンタ125は、上位メモリバンクBK0〜BK2にそれぞれ対応した3個のカウンタ125-0〜125-2からなっている。このカウンタ125には、上述した一致判定部123の判定出力が供給されると共に、上述したカウンタ124のカウント値(上位バンクアドレス)が供給される。
【0047】
これらのカウンタ125-0〜125-2は、最初はそのカウント値、つまり下位バンクアドレスが0とされ、その後は、上位バンクアドレス(カウンタ124のカウント値)が0〜2のそれぞれにあるとき、注目画素が初期アクセス画素に該当し、かつ当該上位バンクアドレスでは最初の初期アクセス画素でない場合、当該上位バンクアドレスに対応したカウンタがインクリメントされる。
【0048】
ビット線アドレスカウンタ126は、上位メモリバンクBK0〜BK2を構成する12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23にそれぞれ対応した12個のカウンタからなっている。このビット線アドレスカウンタ126には、メモリ部110に入力される各注目画素の画素データに同期したデータクロックDCKが供給されると共に、カウンタ124,125のカウント値(バンクアドレス)が供給される。
【0049】
12個のカウンタは、最初はそのカウント値、つまりビット線アドレスが0とされ、その後はメモリ部110に各注目画素の画素データが入力されて格納される毎に、当該12個のカウンタのうち、バンクアドレスに対応したカウンタがインクリメントされていく。この実施の形態では、各下位メモリバンクのワード線長は10とされ、当該12個のカウンタは、カウント値9の次はカウント値0となり、10進カウンタの構成となっている。ここで、バンクアドレスは、カウンタ124のカウント値(上位バンクアドレス)と、この上位バンクアドレスに対応したカウンタ125内のカウンタのカウント値(下位バンクアドレス)からなる。
【0050】
ワード線アドレスカウンタ127は、上位メモリバンクBK0〜BK2を構成する12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23にそれぞれ対応した12個のカウンタからなっている。当該12個のカウンタには、それぞれ、上述したカウンタ126内の12個のカウンタの桁上げ信号であるキャリーCAが供給される。当該12個のカウンタは、それぞれ、キャリーCAが供給される毎に、インクリメントされていく。
【0051】
アドレス生成部128は、メモリ部110に供給する書き込みアドレスWを生成する。このアドレス生成部128には、カウンタ124〜127のカウント値が供給される。このアドレス生成部128は、上位バンクアドレス、下位バンクアドレス、ビット線アドレスおよびワード線アドレスを合成して、メモリ部110に供給する書き込みアドレスWを生成する。
【0052】
ここで、上位バンクアドレスは、カウンタ124のカウント値で与えられる。下位バンクアドレスは、カウンタ125を構成するカウンタ125-0〜125-2のうち上位バンクアドレスに対応したカウンタのカウント値で与えられる。ビット線アドレスは、カウンタ126を構成する12個のカウンタのうちバンクアドレス(上位バンクアドレスおよび下位バンクアドレス)に対応したカウンタのカウント値で与えられる。そして、ワード線アドレスは、カウンタ127を構成する12個のカウンタのうちバンクアドレス(上位バンクアドレスおよび下位バンクアドレス)に対応したカウンタのカウント値で与えられる。
【0053】
また、アドレス生成部128は、データアクセス制御部140で用いられる、各下位メモリバンクに対する、読み出し開始アドレスRSおよび書き込み開始アドレスWSを生成する。この場合、アドレス生成部128は、各下位メモリバンクの、最初の書き込みアドレスW、つまり最初に画素データが格納されたアドレスを読み出し開始アドレスRSとし、また最後の画素データが格納されたアドレスの次のアドレスを書き込み開始アドレスWSとする。
【0054】
次に、図3に示すデータ格納制御部120の制御による初期格納時(第Kの位相処理時)の動作を、図4のフローチャートを用いて説明する。なお、データ格納制御部120は、例えばマイクロプロセッサで構成され、図示しないプログラムメモリに格納されたデータ格納制御プログラムに従って制御動作をする。
【0055】
ステップST1で、動作を開始し、ステップST2で、上位バンクアドレスカウンタ124のカウント値(上位バンクアドレス)、下位バンクアドレスカウンタ125を構成する3個のカウンタ125-0〜125-2のカウント値(下位バンクアドレス)、ビット線アドレスカウンタ126を構成する12個のカウンタのカウント値(ビット線アドレス)、およびワード線アドレスカウンタ127を構成する12個のカウンタのカウント値(ワード線アドレス)をそれぞれ0にし、カウンタ(カウンタA)121およびカウンタ(カウンタB)122のカウント値をそれぞれ0にする。
【0056】
次に、ステップST3で、注目画素の画素データが入力されたか否かを判定する。この場合、データクロックDCKが供給されるとき、注目画素の画素データが入力されたと判定する。注目画素の画素データが入力されたと判定するとき、ステップST4で、カウンタ(カウンタA)121をインクリメントし、さらにステップST5で、カウンタ(カウンタB)122をインクリメントする。
【0057】
次に、ステップST6で、ステップST3で入力された注目画素が、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンACPで特定される12個の初期アクセス画素のいずれかであるか否かを、一致判定部123で判定する。この場合、カウンタ(カウンタA)121のカウント値が、アクセスパターン情報IAPとしてのカウント値CN1〜CN12のいずれかと一致するとき、注目画素が初期アクセス画素であると判定する。
【0058】
注目画素が初期アクセス画素であると判定するとき、ステップST7で、その初期アクセス画素が現在の上位バンクアドレスで最初の初期アクセス画素であるか否かを判定する。現在の上位バンクアドレスは、上位バンクアドレスカウンタ124のカウント値で与えられる。
【0059】
最初の初期アクセス画素であると判定するとき、直ちに、ステップST10に進む。一方、最初の初期アクセス画素でないと判定するとき、ステップST8で、書き込みアドレスWを、バンクアドレスに対応した下位メモリバンクの書き込み開始アドレスWSにする。
【0060】
ここで、バンクアドレスは、上位バンクアドレスおよび下位バンクアドレスからなる。上位バンクアドレスは、カウンタ124のカウント値で与えられる。下位バンクアドレスは、上位バンクアドレスに対応したカウンタ125内のカウンタのカウント値で与えられる。書き込みアドレスWは、アドレス生成部128で、上述したバンクアドレスの他に、ビット線アドレスおよびワード線アドレスを合成することで生成されている。ビット線アドレスは、バンクアドレスに対応したカウンタ126内のカウンタのカウント値で与えられる。ワード線アドレスは、バンクアドレスに対応したカウンタ127内のカウンタのカウント値で与えられる。
【0061】
次に、ステップST9で、上位バンクアドレスに対応したカウンタ125内のカウンタのカウント値(下位バンクアドレス)をインクリメントする。その後に、ステップST10に進む。ステップST10では、書き込みアドレスWを、バンクアドレスに対応した下位メモリバンクの読み出し開始アドレスRSにする。
【0062】
次に、ステップST11に進む。上述のステップST6で、注目画素が初期アクセス画素でないと判定されるとき、ステップST12で、注目画素が現在の上位バンクアドレスで最初の初期アクセス画素の後の画素であるか否かを判定する。注目画素が最初の初期アクセス画素の後の画素であると判定するとき、直ちに、ステップST11に進む。このステップST11では、アドレス生成部128で生成されている書き込みアドレスWに基づき、当該書き込みアドレスWのバンクアドレスで指定される下位メモリバンクの、当該書き込みアドレスWのビット線アドレスおよびワード線アドレスで指定されるアドレス位置に、注目画素の画素データを格納する。
【0063】
次に、ステップST13で、ビット線アドレスカウンタ126のバンクアドレスに対応したカウンタのカウント値(ビット線アドレス)をインクリメントする。そして、ステップST14で、ステップST13で、カウンタのカウント値が0となったとき、そのカウンタから出力されるキャリーCAにより、ワード線アドレスカウンタ127のバンクアドレスに対応したカウンタのカウント値(ワード線アドレス)をインクリメントする。その後に、ステップST15に進む。
【0064】
上述のステップST12で、注目画素が最初の初期アクセス画素の後の画素でないと判定するとき、直ちに、ステップST15に進む。このステップST15では、カウンタ(カウンタB)122のカウント値が画素列の画素数mと等しいか否かを判定する。カウント値がmと等しいとき、ステップST16で、注目画素がK番目以降の画素列の画素であるか否かを判定する。
【0065】
注目画素がK番目以降の画素列の画素であると判定するときは、ステップST17で、上位バンクアドレスカウンタ124のカウント値(上位バンクアドレス)をインクリメントし、ステップST18に進む。注目画素がK番目以降の画素列の画素でないと判定するときは、直ちに、ステップST18に進む。このステップST18では、カウンタ(カウンタB)122を0にリセットし、その後に、ステップST19に進む。
【0066】
上述のステップST15で、カウント値がmと等しくないとき、直ちに、ステップST19に進む。このステップST19では、画面SRNの全ての画素の画素データが入力されたか否かを判定する。この場合、カウンタ(カウンタA)121のカウント値が、画面SRNを構成する画素の個数に等しいとき、全ての画素の画素データが入力されたと判定する。全ての画素の画素データが入力されたと判定するとき、ステップST20で、動作を終了する。一方、全ての画素の画素データが入力されていないと判定するとき、ステップST3に戻り、次の注目画素の画素データの入力を待つ。
【0067】
上述した初期格納時の動作により、画面SRNの各画素のデータは、上位メモリバンクBK0〜BK2に振り分けられて格納される。
【0068】
図5は、第1の位相処理時におけるアクセスパターンACPの初期設定位置を示している。このアクセスパターンACPの初期設定位置は、アクセスパターンACPの設定位置の開始位置となっている。この図5の「□」は上述の図2と同様に1画素を示している。以下の同種の図においても同様である。この図5の□内の数字は、各画素列が0〜2のいずれの画素列であるかを示している。この場合、画面SRNにおける各画素列は、1番目の画素列が最初の画素列とされて、0〜2の画素列の繰り返しであるとされ、この0〜2の画素列の画素データがそれぞれ上位メモリバンクBK0〜BK2に格納される。ここで、0〜2の画素列は、それぞれ、第1〜第3の画素列を構成する。
【0069】
図6は、第1の位相処理時における、各画素の画素データの初期格納状態を示している。この図6の□内の数字は、その画素の画素データが格納される下位メモリバンクのバンクアドレスを示している。ここで、「00」〜「03」は、それぞれ、上位メモリバンクBK0を構成する下位メモリバンクBK00〜BK03を示している。「10」〜「13」は、それぞれ、上位メモリバンクBK1を構成する下位メモリバンクBK10〜BK13を示している。「20」〜「23」は、それぞれ、上位メモリバンクBK2を構成する下位メモリバンクBK20〜BK23を示している。
【0070】
図7は、上位メモリバンクBK0に係る画面SRN上のアクセスパターン、および下位メモリバンクBK00〜BK03への画素振り分けを示している。そして、図8は、下位メモリバンクBK00〜BK03のデータ格納状態を示している。ここで、「■」は画素データが格納されているメモリセルMCを示し、「□」は画素データが格納されていないメモリセルMCを示している。これは、以下の図においても同様である。
【0071】
図9は、上位メモリバンクBK1に係る画面SRN上のアクセスパターン、および下位メモリバンクBK10〜BK13への画素振り分けを示している。そして、図10は、下位メモリバンクBK10〜BK13のデータ格納状態を示している。さらに、図11は、上位メモリバンクBK2に係る画面SRN上のアクセスパターン、および下位メモリバンクBK20〜BK23への画素振り分けを示している。そして、図12は、下位メモリバンクBK20〜BK23のデータ格納状態を示している。
【0072】
最初、上位バンクアドレスは「0」となっており、また各上位バンクアドレスに対応した下位バンクアドレスも「0」となっている。この状態で、第1列の先頭画素が注目画素となる。この注目画素は、アクセスパターンACPで特定される12個の初期アクセス画素のいずれでもなく、また現在の上位バンクアドレス「0」で最初の初期アクセス画素IM1Uより後の画素でもない。そのため、この注目画素の画素データは上位バンクアドレスBK0に格納されない。
【0073】
その後、第1列の2番目の画素が注目画素となる。この注目画素は現在の上位バンクアドレス「0」で最初の初期アクセス画素IM1Uであり、この画素IM1Uから上位メモリバンクBK0を構成する最初の下位メモリバンクBK00への画素データの格納が開始される。この場合、この画素IM1Uの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK00の読み出し開始アドレスRSとされる(図8のバンクBK00参照)。
【0074】
その後、この画素IM1Uに続く画素が順に注目画素となり、その画素データが下位メモリバンクBK00に格納されていくが、第1列の9番目の画素は現在の上位バンクアドレス「0」で2番目の初期アクセス画素IM2Uであり、この画素IM2Uが注目画素となるとき、現在の上位バンクアドレス「0」に対応した下位バンクアドレスがインクリメントされて「1」となり、画素データを格納すべき下位メモリバンクはBK01となる。
【0075】
そのため、下位メモリバンクBK00は、7画素の画素データが格納された状態となる(図8のバンクBK00の最初の7個のアドレス位置参照)。この場合、この下位メモリバンクBK00の書き込み開始アドレスWSは、7画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図8のバンクBK00参照)。
【0076】
上述したように画素IM2Uが注目画素となるとき画素データを格納すべき下位メモリバンクはBK01となり、この画素IM2Uから上位メモリバンクBK0を構成する下位メモリバンクBK01への画素データの格納が開始される。この場合、この画素IM2Uの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK01の読み出し開始アドレスRSとされる(図8のバンクBK01参照)。
【0077】
その後、この画素IM2Uに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK01に格納されていくが、第1列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「1」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0078】
この状態で、第2列の先頭画素が注目画素となる。この注目画素は、アクセスパターンACPで特定される12個の初期アクセス画素のいずれでもなく、また現在の上位バンクアドレス「1」で最初の初期アクセス画素IM1より後の画素でもない。そのため、この注目画素の画素データは上位バンクアドレスBK1に格納されない。
【0079】
その後、第2列の2番目の画素が注目画素となる。この注目画素は現在の上位バンクアドレス「1」で最初の初期アクセス画素IM1であり、この画素IM1から上位メモリバンクBK1を構成する最初の下位メモリバンクBK10への画素データの格納が開始される。この場合、この画素IM1の画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK10の読み出し開始アドレスRSとされる(図10のバンクBK10参照)。
【0080】
その後、この画素IM1に続く画素が順に注目画素となり、その画素データが下位メモリバンクBK10に格納されていくが、第2列の9番目の画素は現在の上位バンクアドレス「1」で2番目の初期アクセス画素IM2であり、この画素IM2が注目画素となるとき、現在の上位バンクアドレス「1」に対応した下位バンクアドレスがインクリメントされて「1」となり、画素データを格納すべき下位メモリバンクはBK11となる。
【0081】
そのため、下位メモリバンクBK10は、7画素の画素データが格納された状態となる(図10のバンクBK10の最初の7個のアドレス位置参照)。この場合、この下位メモリバンクBK10の書き込み開始アドレスWSは、7画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図10のバンクBK10参照)。
【0082】
上述したように画素IM2が注目画素となるとき画素データを格納すべき下位メモリバンクはBK11となり、この画素IM2から上位メモリバンクBK1を構成する下位メモリバンクBK11への画素データの格納が開始される。この場合、この画素IM2の画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK11の読み出し開始アドレスRSとされる(図10のバンクBK11参照)。
【0083】
その後、この画素IM2に続く画素が順に注目画素となって、その画素データが下位メモリバンクBK11に格納されていくが、第2列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「2」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0084】
この状態で、第3列の先頭画素が注目画素となる。この注目画素は、アクセスパターンACPで特定される12個の初期アクセス画素のいずれでもなく、また現在の上位バンクアドレス「2」で最初の初期アクセス画素IM1Dより後の画素でもない。そのため、この注目画素の画素データは上位バンクアドレスBK2に格納されない。
【0085】
その後、第3列の2番目の画素が注目画素となる。この注目画素は現在の上位バンクアドレス「2」で最初の初期アクセス画素IM1Dであり、この画素IM1Dから上位メモリバンクBK2を構成する最初の下位メモリバンクBK20への画素データの格納が開始される。この場合、この画素IM1Dの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK20の読み出し開始アドレスRSとされる(図12のバンクBK20参照)。
【0086】
その後、この画素IM1Dに続く画素が順に注目画素となり、その画素データが下位メモリバンクBK20に格納されていくが、第3列の9番目の画素は現在の上位バンクアドレス「2」で2番目の初期アクセス画素IM2Dであり、この画素IM2Dが注目画素となるとき、現在の上位バンクアドレス「2」に対応した下位バンクアドレスがインクリメントされて「1」となり、画素データを格納すべき下位メモリバンクはBK21となる。
【0087】
そのため、下位メモリバンクBK20は、7画素の画素データが格納された状態となる(図12のバンクBK20の最初の7個のアドレス位置参照)。この場合、この下位メモリバンクBK20の書き込み開始アドレスWSは、7画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図12のバンクBK10参照)。
【0088】
上述したように画素IM2Dが注目画素となるとき画素データを格納すべき下位メモリバンクはBK21となり、この画素IM2Dから上位メモリバンクBK2を構成する下位メモリバンクBK21への画素データの格納が開始される。この場合、この画素IM2Dの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK21の読み出し開始アドレスRSとされる(図12のバンクBK21参照)。
【0089】
その後、この画素IM2Dに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK21に格納されていくが、第3列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて再び「0」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0090】
この状態で、第4列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「0」で最初の初期アクセス画素IM1Uより後の画素である。そのため、この画素から上位メモリバンクBK0を構成する下位メモリバンクBK01への画素データの格納が再度開始される。
【0091】
その後、この画素に続く画素が順に注目画素となって、その画素データが下位メモリバンクBK01に格納されていくが、第4列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「1」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0092】
この状態で、第5列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「1」で最初の初期アクセス画素IM1より後の画素である。そのため、この画素から上位メモリバンクBK1を構成する下位メモリバンクBK11への画素データの格納が再度開始される。
【0093】
その後、この画素に続く画素が順に注目画素となり、その画素データが下位メモリバンクBK11に格納されていくが、第5列の5番目の画素は現在の上位バンクアドレス「1」で3番目の初期アクセス画素IM3Uであり、この画素IM3Uが注目画素となるとき、現在の上位バンクアドレス「1」に対応した下位バンクアドレスがインクリメントされて「2」となり、画素データを格納すべき下位メモリバンクはBK12となる。
【0094】
そのため、下位メモリバンクBK11は、18画素の画素データが格納された状態となる(図10のバンクBK11の最初の18個のアドレス位置参照)。この場合、この下位メモリバンクBK11の書き込み開始アドレスWSは、18画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図10のバンクBK11参照)。
【0095】
上述したように画素IM3Uが注目画素となるとき画素データを格納すべき下位メモリバンクはBK12となり、画素IM3Uから上位メモリバンクBK1を構成する下位メモリバンクBK12への画素データの格納が開始される。この場合、この画素IM3Uの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK12の読み出し開始アドレスRSとされる(図10のバンクBK12参照)。
【0096】
その後、この画素IM3Uに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK12に格納されていくが、第5列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「2」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0097】
この状態で、第6列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「2」で最初の初期アクセス画素IM1Dより後の画素である。そのため、この画素から上位メモリバンクBK2を構成する下位メモリバンクBK21への画素データの格納が再度開始される。
【0098】
その後、この画素に続く画素が順に注目画素となり、その画素データが下位メモリバンクBK21に格納されていくが、第6列の5番目の画素は現在の上位バンクアドレス「2」で3番目の初期アクセス画素IM3であり、この画素IM3が注目画素となるとき、現在の上位バンクアドレス「2」に対応した下位バンクアドレスがインクリメントされて「2」となり、画素データを格納すべき下位メモリバンクはBK22となる。
【0099】
そのため、下位メモリバンクBK21は、18画素の画素データが格納された状態となる(図12のバンクBK21の最初の18個のアドレス位置参照)。この場合、この下位メモリバンクBK21の書き込み開始アドレスWSは、18画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図12のバンクBK21参照)。
【0100】
上述したように画素IM3が注目画素となるとき画素データを格納すべき下位メモリバンクはBK22となり、画素IM3から上位メモリバンクBK2を構成する下位メモリバンクBK22への画素データの格納が開始される。この場合、この画素IM3の画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK22の読み出し開始アドレスRSとされる(図12のバンクBK22参照)。
【0101】
その後、この画素IM3に続く画素が順に注目画素となって、その画素データが下位メモリバンクBK22に格納されていくが、第6列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて再び「0」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0102】
この状態で、第7列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「0」で最初の初期アクセス画素IM1Uより後の画素である。そのため、この画素から上位メモリバンクBK0を構成する下位メモリバンクBK01への画素データの格納が再度開始される。
【0103】
その後、この画素に続く画素が順に注目画素となり、その画素データが下位メモリバンクBK01に格納されていくが、第7列の5番目の画素は現在の上位バンクアドレス「0」で3番目の初期アクセス画素IM3Dであり、この画素IM3Dが注目画素となるとき、現在の上位バンクアドレス「0」に対応した下位バンクアドレスがインクリメントされて「2」となり、画素データを格納すべき下位メモリバンクはBK02となる。
【0104】
そのため、下位メモリバンクBK01は、40画素の画素データが格納された状態となる(図8のバンクBK01の最初の40個のアドレス位置参照)。この場合、この下位メモリバンクBK01の書き込み開始アドレスWSは、40画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図8のバンクBK01参照)。
【0105】
上述したように画素IM3Dが注目画素となるとき画素データを格納すべき下位メモリバンクはBK02となり、画素IM3Dから上位メモリバンクBK0を構成する下位メモリバンクBK02への画素データの格納が開始される。この場合、この画素IM3Dの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK02の読み出し開始アドレスRSとされる(図8のバンクBK02参照)。
【0106】
その後、この画素IM3Dに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK02に格納されていくが、第7列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「1」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0107】
この状態で、第8列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「1」で4番目の初期アクセス画素IM4Uであり、現在の上位バンクアドレス「1」に対応した下位バンクアドレスがインクリメントされて「3」となり、画素データを格納すべき下位メモリバンクはBK13となる。
【0108】
そのため、下位メモリバンクBK12は、18画素の画素データが格納された状態となる(図10のバンクBK12の最初の18個のアドレス位置参照)。この場合、この下位メモリバンクBK12の書き込み開始アドレスWSは、18画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図10のバンクBK12参照)。
【0109】
上述したように画素IM4Uが注目画素となるとき画素データを格納すべき下位メモリバンクはBK13となり、画素IM4Uから上位メモリバンクBK1を構成する下位メモリバンクBK13への画素データの格納が開始される。この場合、この画素IM4Uの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK13の読み出し開始アドレスRSとされる(図10のバンクBK13参照)。
【0110】
その後、この画素IM4Uに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK13に格納されていくが、第8列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「2」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0111】
この状態で、第9列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「2」で4番目の初期アクセス画素IM4であり、現在の上位バンクアドレス「2」に対応した下位バンクアドレスがインクリメントされて「3」となり、画素データを格納すべき下位メモリバンクはBK23となる。
【0112】
そのため、下位メモリバンクBK22は、18画素の画素データが格納された状態となる(図12のバンクBK22の最初の18個のアドレス位置参照)。この場合、この下位メモリバンクBK22の書き込み開始アドレスWSは、18画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図12のバンクBK22参照)。
【0113】
上述したように画素IM4が注目画素となるとき画素データを格納すべき下位メモリバンクはBK23となり、画素IM4から上位メモリバンクBK2を構成する下位メモリバンクBK23への画素データの格納が開始される。この場合、この画素IM4の画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK23の読み出し開始アドレスRSとされる(図12のバンクBK23参照)。
【0114】
その後、この画素IM4に続く画素が順に注目画素となって、その画素データが下位メモリバンクBK23に格納されていくが、第9列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて再度「0」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0115】
この状態で、第10列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「0」で4番目の初期アクセス画素IM4Dであり、現在の上位バンクアドレス「0」に対応した下位バンクアドレスがインクリメントされて「3」となり、画素データを格納すべき下位メモリバンクはBK03となる。
【0116】
そのため、下位メモリバンクBK02は、18画素の画素データが格納された状態となる(図8のバンクBK02の最初の18個のアドレス位置参照)。この場合、この下位メモリバンクBK02の書き込み開始アドレスWSは、18画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図8のバンクBK02参照)。
【0117】
上述したように画素IM4Dが注目画素となるとき画素データを格納すべき下位メモリバンクはBK03となり、画素IM4Dから上位メモリバンクBK0を構成する下位メモリバンクBK03への画素データの格納が開始される。この場合、この画素IM4Dの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK03の読み出し開始アドレスRSとされる(図8のバンクBK03参照)。
【0118】
その後、この画素IM4Dに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK03に格納されていくが、第10列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「1」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0119】
この状態で、第11列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「1」で最初の初期アクセス画素IM1より後の画素である。そのため、この画素から上位メモリバンクBK1を構成する下位メモリバンクBK13への画素データの格納が再度開始される。
【0120】
その後、この画素に続く画素が順に注目画素となって、その画素データが下位メモリバンクBK03に格納されていくが、第11列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「2」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0121】
以下、同様にして、下位メモリバンクBK23,BK03,BK13に順次1画素列ずつ画素データが格納されていくことが繰り返し行われ、全画素の画素データの格納が行われる(図12のBK23、図8のBK03、図10のBK13参照)。
【0122】
上述の図5〜図12を使用した説明は、第1の位相処理時における初期格納の動作を説明したものである。詳細説明は省略するが、第2の位相処理時および第3の位相処理時における初期格納の動作も同様にして行われる。
【0123】
なお、図13は、第2の位相処理時におけるアクセスパターンACPの初期設定位置を示している。このアクセスパターンACPの初期設定位置は、開始位置から画素列方向に直交する方向に1画素分ずれた位置となっている。この場合、画面SRNにおける各画素列は、2番目の画素列が最初の画素列とされて、0〜2の画素列の繰り返しであるとされ、この0〜2の画素列の画素データがそれぞれ上位メモリバンクBK0〜BK2に格納される。図14は、第2の位相処理時における、各画素の画素データの、下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23への初期格納状態を示している。
【0124】
また、図15は、第3の位相処理時におけるアクセスパターンACPの初期設定位置を示している。このアクセスパターンACPの初期設定位置は、開始位置から画素列方向に直交する方向に2画素分ずれた位置となっている。この場合、画面SRNにおける各画素列は、3番目の画素列が最初の画素列とされて、0〜2の画素列の繰り返しであるとされ、この0〜2の画素列の画素データがそれぞれ上位メモリバンクBK0〜BK2に格納される。図16は、第3の位相処理時における、各画素の画素データの、下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23への初期格納状態を示している。
【0125】
図1に戻って、データアクセス制御部140は、図示しない制御装置から入力端子150を介して供給される制御信号SCLに基づいて動作する。このデータアクセス制御部140は、アクセスパターンACPの設定位置を開始位置から画素列方向に移動した各設定位置で、このアクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データを、3個の上位メモリバンクBK0〜BK2から同時に読み出すための制御を行う。
【0126】
データアクセス制御部140は、第1〜第3の位相処理を順次行う。そして、データアクセス制御部140は、第K(K=1〜3)の位相処理時において、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置(初期設定位置)とし、一列分の移動が終わる毎に3画素分ずれた列の先頭に移動し、画素列方向に順次移動したアクセスパターンACPの各設定位置で、このアクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データを、3個の上位メモリバンクBK0〜BK2を構成する12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23から同時に読み出す。
【0127】
また、このデータアクセス制御部140は、アクセスパターンACPの設定位置が画素列方向に移動した際に、その設定位置におけるアクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データがそれぞれ異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを、その画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する。
【0128】
データアクセス制御部140についてさらに詳細に説明する。図17は、このデータアクセス制御部140の構成を示している。このデータアクセス制御部140は、カウンタ141と、アドレスカウンタ制御部142と、読み出しアドレスカウンタ143と、書き込みアドレスカウンタ144と、読み出しアドレス生成部145と、書き込みアドレス生成部146とを有している。
【0129】
カウンタ141は、アクセスパターンACPの設定位置を示すカウント値を出力する。このカウンタ141には、アクセスパターンACPの設定位置を移動するための移動クロックMCKが供給される。この移動クロックMCKは、上述した制御信号SCLのひとつを構成しており、図示しない制御装置から供給される。このカウンタ141は、最初にそのカウント値が0とされ、その後アクセスパターンACPの設定位置を開始位置とするとき最初の移動クロックMCKでインクリメントされてカウント値が1となり、その後はこの設定位置が画素列方向に1画素ずつ移動する毎に、移動クロックMCKでインクリメントされていく。
【0130】
読み出しアドレスカウンタ143は、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23にそれぞれ対応した12個のカウンタからなっている。この12個のカウンタのそれぞれは、ビット線アドレスを示すカウント値を得るためのビット線アドレスカウンタと、ワード線アドレスを示すカウント値を得るためのワード線アドレスカウンタとからなっている(図3のビット線アドレスカウンタ126およびワード線アドレスカウンタ127参照)。カウンタ143内の12個のカウンタは、アドレスカウンタ制御部142の制御のもと、それぞれ、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23に対する読み出しアドレス(ビット線アドレスおよびワード線アドレス)を示すカウント値を出力する。
【0131】
書き込みアドレスカウンタ144は、9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22にそれぞれ対応した9個のカウンタからなっている。この9個のカウンタのそれぞれも、ビット線アドレスを示すカウント値を得るためのビット線アドレスカウンタと、ワード線アドレスを示すカウント値を得るためのワード線アドレスカウンタとからなっている。カウンタ144内の9個のカウンタは、アドレスカウンタ制御部142の制御のもと、それぞれ、9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22に対する書き込みアドレス(ビット線アドレスおよびワード線アドレス)を示すカウント値を出力する。
【0132】
アドレスカウンタ制御部142は、上述した読み出しアドレスカウンタ143および書き込みアドレスカウンタ144の動作を制御する。このアドレスカウンタ制御部142には、アクセスパターンACPの設定位置を移動するための移動クロックMCKと、さらに上述したデータ格納制御部120のアドレス生成部128で生成された、それぞれの下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23に対する読み出し開始アドレスRSおよび書き込み開始アドレスWSが供給される。
【0133】
このアドレスカウンタ制御部142は、最初に、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23のそれぞれに対する読み出し開始アドレスRSをカウンタ143内の12個のカウンタにセットし、9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22のそれぞれに対する書き込み開始アドレスWSをカウンタ144内の9個のカウンタにセットする。
【0134】
また、アドレスカウンタ制御部142は、アクセスパターンACPの各設定位置で、画素データの読み出しが行われる毎にカウンタ143内の12個のカウンタをインクリメントすると共に、画素データの書き込みが行われる毎にカウンタ144内の9個のカウンタをインクリメントする。
【0135】
読み出しアドレス生成部145は、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23のそれぞれに対する読み出しアドレスRを生成する。この読み出しアドレス生成部145には、読み出しアドレスカウンタ143を構成する各カウンタのカウント値(ビット線アドレスおよびワード線アドレス)が供給される。読み出しアドレス生成部145は、各カウンタのカウント値(ビット線アドレスおよびワード線アドレス)に、それぞれ、上位バンクアドレスおよび下位バンクアドレスを合成することで、それぞれの下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23に対する読み出しアドレスRを生成する。
【0136】
書き込みアドレス生成部146は、9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22のそれぞれに対する書き込みアドレスWを生成する。この書き込みアドレス生成部146には、書き込み込みアドレスカウンタ144を構成する各カウンタのカウント値(ビット線アドレスおよびワード線アドレス)が供給される。書き込みアドレス生成部146は、各カウンタのカウント値(ビット線アドレスおよびワード線アドレス)に、それぞれ、上位バンクアドレスおよび下位バンクアドレスを合成することで、それぞれの下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22に対する書き込みアドレスWを生成する。
【0137】
次に、図17に示すデータアクセス制御部140の制御によるデータアクセス時(第Kの位相処理時)の動作を、図18のフローチャートを用いて説明する。なお、データアクセス制御部140は、例えばマイクロプロセッサで構成され、図示しないプログラムメモリに格納されたデータアクセス制御プログラムに従って制御動作をする。
【0138】
ステップST31で、動作を開始し、ステップST32で、アドレスカウンタ制御部142は、読み出しアドレスRおよび書き込みアドレスWをセットする。この場合、読み出しアドレスカウンタ143内の12個のカウンタのカウント値(読み出しアドレス)は、それぞれ、データ格納制御部120から供給された、第Kの位相処理時の読み出し開始アドレスRSと等しくなるようにセットされる。また、書き込みアドレスカウンタ144内の9個のカウント値(書き込みアドレス)は、それぞれ、データ格納制御部120から供給された、第Kの位相処理時の書き込み開始アドレスWSと等しくなるようにセットされる。
【0139】
次に、ステップST33で、移動クロックMCKにより、カウンタ141をインクリメントする。そして、ステップST34で、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23の、読み出しアドレス生成部145で生成された読み出しアドレスRで示されるアドレス位置から、アクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データDo01〜Do12を読み出して出力する。
【0140】
この場合、下位メモリバンクBK00,BK01,BK02,BK03からはそれぞれアクセス画素IM1U,IM2U,IM3D,IM4Dの画素データが読み出され、下位メモリバンクBK10,BK11,BK12,BK13からはそれぞれアクセス画素IM1,IM2,IM3U,IM4Uの画素データが読み出され、さらに下位メモリバンクBK20,BK21,BK22,BK23からはそれぞれアクセス画素IM1D,IM2D,IM3,IM4の画素データが読み出される(図7、図9、図11参照)。
【0141】
次に、ステップST35で、上述のステップST34で画素データの読み出しを行った12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23に対応する読み出しアドレスカウンタ143内の12個のカウンタのカウント値(読み出しアドレス)を、インクリメントする。
【0142】
次に、ステップST36で、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを、1つ前の下位メモリバンクに格納する。この場合、下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22の、書き込みアドレス生成部146で生成された書き込みアドレスWで示されるアドレス位置に、それぞれ、下位メモリバンクBK01〜BK03,BK11〜BK13,BK21〜BK23から読み出された画素データが書き込まれる。
【0143】
次に、ステップST37で、上述のステップST36で画素データの書き込みを行った9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22に対応する書き込みアドレスカウンタ144内の9個のカウンタのカウント値(書き込みアドレス)を、インクリメントする。
【0144】
次に、ステップST38で、全てアクセスしたか否か、つまりアクセスパターンACPが、第Kの位相処理時の初期設定位置から終了位置まで移動したか否かを判定する。この場合、カウンタ141のカウント値が終了位置を示す値となるとき、全てアクセスしたと判定する。全てアクセスしたと判定するときは、ステップST39で、動作を終了する。全てアクセスしていないと判定するときは、ステップST33に戻って、アクセスパターンACPの次の設定位置の処理に移る。
【0145】
ここで、第1の位相処理時のアクセスパターンACPの初期設定位置は開始位置である(図5参照)。第2の位相処理時のアクセスパターンACPの初期設定位置は、開始位置から画素列方向に直交する方向に1画素分ずれた位置である(図13参照)。さらに、第3の位相処理時のアクセスパターンACPの初期設定位置は、開始位置から画素列方向に直交する方向に2画素分ずれた位置である(図15参照)。
【0146】
上述したデータアクセス時の動作をさらに説明する。上述したように、初期格納時の動作により、画面SRNの各画素の画素データは、3個の上位メモリバンクBK0〜BK2に振り分けて格納されている。図19は、第1の位相処理時において、アクセスパターンACPが開始位置(第1の位相処理時の初期設定位置)にある状態を示している。図20は、図19のうち、例えば上位メモリバンクBK0に係る部分のみを取り出したものである。
【0147】
第1の位相処理時の動作開始時に、下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23の読み出しアドレスRおよび書き込み開始アドレスWがセットされる。この場合、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23の読み出しアドレスRは、データ格納制御部120のアドレス生成部128で生成された、第1の位相処理時の読み出し開始アドレスRSと同じアドレスにセットされる。またこの場合、9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22の書き込みアドレスWは、データ格納制御部120のアドレス生成部128で生成された、第1の位相処理時の書き込み開始アドレスWSと同じアドレスにセットされる。
【0148】
図21は、初期状態における、メモリバンクBK00〜BK03のデータ格納状態および読み出しアドレスRおよび書き込みアドレスWのアドレス位置を示している。なお、メモリバンクBK10〜BK13,BK20〜23のデータ格納状態および読み出しアドレスRおよび書き込みアドレスWのアドレス位置は、メモリバンクBK00〜BK03の場合と同様であるので、その図示を省略する。以下の各状態においても同様である。
【0149】
カウンタ141のカウントが開始され、上述の図19に示すように、アクセスパターンACPの設定位置が開始位置とされると、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23の、読み出しアドレスRで示されるアドレス位置から、開始位置のアクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データDo01〜Do12が同時に読み出される。そして、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23の読み出しアドレスRはそれぞれインクリメントされる。
【0150】
下位メモリバンクBK01〜BK03,BK11〜BK13,BK21〜BK23から読み出された画素データは、図22に示すように、1つ前の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22の、書き込み込みアドレスWで示されるアドレス位置に書き込まれる(画素データの移動)。そして、下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22の書き込みアドレスWはそれぞれインクリメントされる。
【0151】
その後、移動クロックMCKの入力に伴ってアクセスパターンACPの設定位置が画素列方向(水平方向)に1画素移動する毎に、上述したと同様に、アクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データDo01〜Do12が同時に読み出され、読み出しアドレスRのインクリメント、画素データの移動、書き込みアドレスWのインクリメントの処理が行われる。
【0152】
図23は、第1の位相処理時において、アクセスパターンACPが1画素移動した状態を示している。図24は、図23のうち、例えば上位メモリバンクBK0に係る部分のみを取り出したものである。さらに、図25は、アクセスパターンACPが1画素移動した状態における、メモリバンクBK00〜BK03のデータ格納状態および読み出しアドレスRおよび書き込みアドレスWのアドレス位置を示している。
【0153】
また、図26は、第1の位相処理時において、アクセスパターンACPが22画素移動した状態を示している。図27は、図26のうち、例えば上位メモリバンクBK0に係る部分のみを取り出したものである。さらに、図28は、アクセスパターンACPが22画素移動した状態における、メモリバンクBK00〜BK03のデータ格納状態および読み出しアドレスRおよび書き込みアドレスWのアドレス位置を示している。
【0154】
この場合、図26に示すように、アクセスパターンACPの設定位置は、開始位置から画素列方向に直交する方向に3画素分ずれた列の先頭に移動する。なお、1画素分ずれた列についてのデータアクセス動作は第2の位相処理時に行われ、2画素分ずれた列についてのデータアクセス動作は第3の位相処理時に行われる。
【0155】
以下、アクセスパターンACPが22画素移動する毎に、アクセスパターンACPの設定位置は、画素列方向に直交する方向に3画素分ずれた列の先頭に移動する。
【0156】
上述の図19〜図28を使用した説明は、第1の位相処理時におけるデータアクセスの動作を説明したものである。詳細説明は省略するが、第2の位相処理時および第3の位相処理時におけるデータアクセスの動作も同様にして行われる。これら第1〜第3の位相処理時におけるデータアクセスの動作が行われることで、アクセスパターンACPの設定位置を開始位置から画素列方向に移動した各設定位置で、このアクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データDo01〜Do12を、3個の上位メモリバンクBK0〜BK2から同時に取得できる。
【0157】
なお、データ格納制御部120の制御による初期格納の第1〜第3の位相処理と、データアクセス制御部140の制御によるデータアクセスの第1〜第3の位相処理との処理時間の関係については、初期格納とデータアクセスの各位相の処理を交互に行うか、あるいは初期格納の全ての位相の処理を行った後に、データアクセスの全ての位相の処理を行うようにする。ただし、初期格納の全ての位相の処理をまとめて行う場合には、上位メモリバンクBK0〜BK2が3セット必要となる。
【0158】
図1に示すデータアクセス装置100によれば、アクセスパターンACPの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データがそれぞれ異なる下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23に格納された状態として、当該12個の画素データを同時にアクセスできるようにしたものであり、当該12個の画素データの同時取得を容易に行うことができる。
【0159】
また、図1に示すデータアクセス装置100によれば、初期格納時に、第1〜第3の画素列の画素データのそれぞれが上位メモリバンクBK0〜BK2に振り分けて格納され、データアクセス時に上位メモリバンク毎にデータの移動処理を行うものであり、データアクセス時における画素データの移動処理を少なくできる。
【0160】
例えば、アクセスパターンACPが上述実施の形態にように12個の画素のパターンであるとき、初期格納時に、各画素列の画素データを、12個のメモリバンクに、それぞれ、開始位置に設定されたアクセスパターンACPで特定される12個の画素の画素データを先頭にして格納すると共に、データアクセス時に、アクセスパターンで特定される12個の画素の画素データが12個のメモリバンクに格納されているようにデータ移動処理を行うものにあっては、このデータ移動処理として11個分の移動処理が必要となるが、図1に示すデータアクセス装置110では、1個の上位メモリバンクでは3個分の移動処理でよく(図22参照)、3個の上位メモリバンクBK0〜BK2では合計で9個分の移動処理で済む。
【0161】
また、図1に示すデータアクセス装置100によれば、アクセスパターンACPは、4個の中心画素IM1〜IM4および各中心画素の上下に位置する周辺画素IM1U〜IM4U,IM1D〜IM4Dのパターンであって、アクセスパターンACPを構成する画素の数が12個と多くなるが、上述したように第1〜第3の画素列の画素データのそれぞれを3個の上位メモリバンクBK0〜BK2に振り分けて格納し、またデータアクセス時に上位メモリバンク毎にデータの移動処理を行うものであり、データアクセス時における画素データの移動処理を少なくできる。
【0162】
また、図1に示すデータアクセス装置100によれば、中心画素とその上下に位置する周辺画素からなる画素群が3本の画素列に渡っており、上述したように第1〜第3の画素列の画素データのそれぞれを3個の上位メモリバンクBK0〜BK2に振り分けて格納することで、各上位メモリバンクにおける下位メモリバンクの必要個数はそれぞれ4個であり、そのバラツキを抑えている。
【0163】
また、図1に示すデータアクセス装置100によれば、データ格納制御部120からデータアクセス制御部140に各メモリバンクBK0〜BK5の読み出し開始アドレスRSおよび書き込み開始アドレスWSを与えるものであり、例えばこれらデータ格納制御部120およびデータアクセス制御部140を制御する制御装置が、アクセスパターンACPの情報に基づいて各下位メモリバンクの読み出し開始アドレスRSおよび書き込み開始アドレスWSを生成して、データアクセス制御部140に与えることが必要でなくなる。
【0164】
なお、上述実施の形態においては、アクセスパターンACPは、図2に示すように、4個の中心画素IM1〜IM4、および各中心画素の上下に位置する8個の周辺画素IM1U,IM1D,IM2U,IM2D,IM3U,IM3D,IM4U,IM4Dからなる12個の画素のパターンであるが、これに限定されるものではない。例えば、中心画素の個数は4個に限られるものではなく、また周辺画素は、中心画素の上下に位置する代わりに、左右、上下左右、または斜め方向に位置するものであってもよく、さらには中心画素に隣接していなくてもよい。
【0165】
また、上述実施の形態においては、アクセスパターンACPは、図2に示すように、中心画素と周辺画素とを組み合わせたパターンとして考えているが、必ずしも、中心画素と周辺画素とを組み合わせた画素パターンとして捉える必要はない。すなわち、この発明は、アクセスパターンACPが中心画素と周辺画素とを組み合わせた画素パターンであるか否かに拘わらず、当該アクセスパターンACPを構成する画素の数が大きい場合に有効なものとなる。
【0166】
また、上述実施の形態においては、画面SRNにおける各画素列を第1〜第3の画素列の繰り返しであるとして、この第1〜第3の画素列の画素データをそれぞれ上位メモリバンクBK0〜BK2に振り分けて格納するものを示したが、上位メモリバンクの個数は3個に限定されない。一般にN個(Nは2以上の整数)の上位メモリバンクを使用する場合、画面SRNにおける各画素列は第1〜第Nの画素列の繰り返しであるとして、この第1〜第Nの画素列の画素データがそれぞれ第1〜第Nの上位メモリバンクに格納されることになる。このように第1〜第Nの上位メモリバンクを用いる場合、データ格納制御部120およびデータアクセス制御部140は、それぞれ、第1〜第Nの位相処理を行うことになる。
【0167】
また、上述実施の形態においては、画面SRNが水平方向に伸びる画素列が垂直方向に順次配列された構成であるとし、初期格納時には、各画素列の画素を順に注目画素とし、この注目画素の画素データを各上位メモリバンクBK0〜BK2に振り分けて格納し、データアクセス時には、アクセスパターンACPの設定位置を画素列方向に移動した各設定位置で当該アクセスパターンACPで特定される12個の画素の画素データDo01〜Do12を同時に得るものを示したが、画面SRNが垂直方向に伸びる画素列が水平方向に順次配列された構成であるとして、初期格納時およびデータアクセス時の動作を行うように構成することもできる。
【0168】
また、上述実施の形態においては、データ格納制御部120からデータアクセス制御部140に開始アドレスRS,WSを与えるものを示したが、これら開始アドレスRS,WSを、データ格納制御部120およびデータアクセス制御部140の動作を制御する制御装置から、データアクセス制御部140に与える構成とすることもできる。
【産業上の利用可能性】
【0169】
この発明は、アクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データの同時取得を容易に行い得るものであり、例えば特定のデータ配列を認識してパターン認識や動き検出等の処理を行う装置に適用できる。
【図面の簡単な説明】
【0170】
【図1】実施の形態としてのデータアクセス装置の構成を示すブロック図である。
【図2】実施の形態で、画面上に設定されるアクセスパターンを示す図である。
【図3】データアクセス装置を構成するデータ格納制御部の構成を示すブロック図である。
【図4】データ格納制御部の制御による初期格納時の動作を示すフローチャートである。
【図5】第1の位相処理時におけるアクセスパターンの設定位置を示す図である。
【図6】第1の位相処理時における画素データの初期格納状態を示す図である。
【図7】第1の位相処理時における、上位メモリバンクBK0に係る画面上のアクセスパターン、および下位メモリバンクBK00〜BK03への画素振り分けを示す図である。
【図8】第1の位相処理時における、下位メモリバンクBK00〜BK03のデータ格納状態を示す図である。
【図9】第1の位相処理時における、上位メモリバンクBK1に係る画面上のアクセスパターン、および下位メモリバンクBK10〜BK13への画素振り分けを示す図である。
【図10】第1の位相処理時における、下位メモリバンクBK10〜BK13のデータ格納状態を示す図である。
【図11】第1の位相処理時における、上位メモリバンクBK2に係る画面上のアクセスパターン、および下位メモリバンクBK20〜BK23への画素振り分けを示す図である。
【図12】第1の位相処理時における、下位メモリバンクBK20〜BK23のデータ格納状態を示す図である。
【図13】第2の位相処理時におけるアクセスパターンの設定位置を示す図である。
【図14】第2の位相処理時における画素データの初期格納状態を示す図である。
【図15】第3の位相処理時におけるアクセスパターンの設定位置を示す図である。
【図16】第3の位相処理時における画素データの初期格納状態を示す図である。
【図17】データアクセス装置を構成するデータアクセス制御部の構成を示すブロック図である。
【図18】データアクセス制御部の制御によるデータアクセス時の動作を示すフローチャートである。
【図19】第1の位相処理時における、アクセスパターンが開始位置にある状態を示す図である。
【図20】第1の位相処理時における、アクセスパターンが開始位置にある状態(上位メモリバンクBK0に係る部分)を示す図である。
【図21】第1の位相処理時における、上位メモリバンクBK0を構成する下位メモリバンクBK00〜BK03の初期状態を示す図である。
【図22】画素データの読み出し後の移動処理を説明するための図である。
【図23】第1の位相処理時における、画面上に設定されたアクセスパターンが開始位置から1画素移動した状態を示す図である。
【図24】第1の位相処理時における、アクセスパターンが開始位置から1画素移動した状態(上位メモリバンクBK0に係る部分)を示す図である。
【図25】第1の位相処理時における、上位メモリバンクBK0を構成する下位メモリバンクBK00〜BK03の1画素移動後の状態を示す図である。
【図26】第1の位相処理時における、画面上に設定されたアクセスパターンが開始位置から22画素移動した状態を示す図である。
【図27】第1の位相処理時における、アクセスパターンが開始位置から22画素移動した状態(上位メモリバンクBK0に係る部分)を示す図である。
【図28】第1の位相処理時における、上位メモリバンクBK0を構成する下位メモリバンクBK00〜BK03の22画素移動後の状態を示す図である。
【図29】一般的な半導体メモリの構造を概略的に示す図である。
【図30】同時アクセスできない状態を示す図である。
【図31】複数メモリバンクのメモリ構成を示す図である。
【図32】画面上に設定されたアクセスパターンの一例を示す図である。
【図33】4個のメモリバンクへの画素データの格納例を示す図である。
【図34】アクセスパターンが開始位置にあるときの各メモリバンクにおけるデータアクセス位置を示す図である。
【図35】アクセスパターンが10画素移動した状態を示す図である。
【図36】アクセスパターンが10画素移動した位置にあるときの各メモリバンクにおけるデータアクセス位置を示す図である。
【符号の説明】
【0171】
100・・・データアクセス装置、110・・・メモリ部、111・・・入力端子、112・・・出力端子、BK0〜BK2・・・上位メモリバンク、BK00〜BK03,BK10〜BK13,BK20〜BK23・・・下位メモリバンク、120・・・データ格納制御部、121・・・カウンタ(カウンタA)、122・・・カウンタ(カウンタB)、123・・・一致判定部、124・・・上位バンクアドレスカウンタ、125・・・下位バンクアドレスカウンタ、126・・・ビット線アドレスカウンタ、127・・・ワードアドレス線カウンタ、128・・・アドレス生成部、140・・・データアクセス制御部、141・・・カウンタ、142・・・アドレスカウンタ制御部、143・・・読み出しアドレスカウンタ、144・・・書き込みアドレスカウンタ、145・・・読み出しアドレス生成部、146・・・書き込みアドレス生成部、150・・・入力端子
【技術分野】
【0001】
この発明は、所定画面上に設定される複数の画素のパターンをアクセスパターンとし、このアクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、このアクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス装置、データアクセス方法、プログラムおよび記録媒体に関する。
【0002】
詳しくは、この発明は、アクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納された状態として、当該複数の画素データを同時にアクセスできるようにしたことによって、当該複数の画素データの同時取得を容易としたデータアクセス装置等に係るものである。
【背景技術】
【0003】
従来、半導体メモリMYは、図29に示すように、ワード線WLとビット線BLを指定してメモリセルMCをアクセスする構造となっており、指定されたワード線WLとビット線BLが交差する位置にあるメモリセルMCに格納されたデータが読み出される。このような構造の半導体メモリMYでは、複数のワード線WLで同じビット線BLを共有している。したがって、図30に示すように、例えば2つのワード線WL1,WL2を指定すると、ビット線BLにはこれらワード線WL1,WL2のデータが混じり合って出てくるため、異なるワード線WLのデータには同時アクセスできない。
【0004】
これに対して、図31に示すように、メモリMYを複数のメモリバンクBK0〜BKn−1に分け、それぞれのメモリバンクBK0〜BKn−1に異なるアドレスを指定することで、複数のワード線WLのデータに同時にアクセスできるが、メモリバンク内の異なるワード線WLのデータには同時にアクセスできない。
【0005】
一般に、同時に複数データにアクセスが可能なのは、その複数データが異なるメモリバンクに格納されているか、あるいはその複数データが同一ワード線上に格納されているかのいずれかである。
【0006】
また従来、入力データに含まれる特定のデータ配列を認識することにより、パターン認識や動き検出等の処理が行われている。例えば、数ラインの画素データを蓄積でき画素単位で出力できるバッファメモリと、数ビット幅データを処理し得る複数のプロセッサエレメントを含み、この複数のプロセッサエレメントで同時並行してデータ処理ができるデータ処理器と、マッチング参照データと制御データを格納する制御情報メモリとを備え、データ処理器の各プロセッサエレメントが、バッファメモリが出力した画像データの中の、自己に宛てられた注目画素中心のマトリクスの画素データ群を、閾値を用いて2値化して該プロセッサエレメントが処理可能なシリアル配列のビット幅に区切った対象データに変換し、同形式で制御情報メモリにあった参照データと合致するか否かを判定することが行われている(例えば、特許文献1参照)。
【0007】
また、動画像の処理の分野において、動き、すなわち、時間的に異なる画像中の物体の動き方向と大きさ(または速さ)が用いられており、例えば画像の高能率符号化における動き補償フレーム間符号化や、フレーム間時間領域フィルタによるテレビジョン雑音低減装置における動きによるパラメータ制御等に動きが用いられる。動きを求める動き検出方法としては、ブロックマッチング法が知られている。本件出願人は、画像信号中の動きを検出する動き検出方法において、(a)1画面全体または1画面を複数に分割した比較的大きなブロック毎に、マッチング法によって積算値テーブルを生成し、この積算値テーブルを用いて、1画面全体または1画面を複数に分割した比較的大きなブロック毎に、1または複数の候補ベクトルを抽出するステップと、(b)この候補ベクトルのみを対象としてマッチングを行い、1画素または比較的小さいブロック毎に動きベクトルを検出するステップとからなる2ステップの動き検出方法を先に提案している。この2ステップの動き検出方法では、画像の動き検出を2ステップ方式の代表点マッチングにより行う代表点マッチング、ベクトル割り当ての2ステップの過程において、いずれも画面内における任意の複数の画素データを同時に読み出す必要がある(例えば、特許文献2参照)。
【0008】
【特許文献1】特開2003−203236号公報
【特許文献2】特開2001−61152号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
ここで、水平または垂直の方向に伸びる画素列が垂直または水平の方向に順次配列された所定画面の上に複数の画素のパターンをアクセスパターンとして設定し、このアクセスパターンの設定位置を開始位置から画素列方向に1画素ずつ順に移動した各設定位置で、アクセスパターンで特定される複数の画素の画素データを同時に取得することを考える。
【0010】
例えば、図32に示すように、水平方向に伸びる画素列が垂直方向に順次配列された画面SRNの上に4個の画素IM1〜IM4のパターンをアクセスパターンACPとして設定し、このアクセスパターンACPの設定位置を開始位置から画素列方向に移動していく場合を考える。この場合、画素列方向は水平方向であり、アクセスパターンACPの設定位置はラスタスキャン順に移動していく。また、図32の「□」は1画素を示しており、この図32におけるアクセスパターンACPの設定位置は、その開始位置を示している。
【0011】
この画面SRNの各画素列の画素のデータを、図33に示すように、4個のメモリバンクBK0〜BK3に、ラスタスキャン順に格納したとする。図33の□内の数字はバンクアドレス0〜3を示している。この場合、アクセスパターンACPの設定位置が開始位置にあるとき、図34に示すように、このアクセスパターンACPで特定される4個の画素IM1〜IM4の画素データは、メモリバンクBK0〜BK3の○印で示すアドレス位置に格納されていることから、4個の画素データに同時にアクセスして読み出すことができる。
【0012】
アクセスパターンACPの設定位置が開始位置から1画素ずつ移動して9画素の移動までは、上述した設定位置が開始位置にある場合と同様に、4個の画素データに同時にアクセスして読み出すことができる。しかし、図35に示すように、アクセスパターンACPの設定位置が10画素移動したとき、アクセスパターンACPで特定される4個の画素IM1〜IM4の画素データは、図36に示すように、メモリバンクBK0〜BK3の○印で示すアドレス位置に格納されており、メモリバンクBK1で複数のワード線のデータにアクセスすることが必要になるので、4個の画素データに同時アクセスして読み出すことができなくなる。
【0013】
なお、アクセスパターンに対応した複数の画素データに時分割でアクセスし、キャッシュやバッファに一時記憶し、見かけ上の同時アクセスを達成することが提案されているが(実開昭63−35146号公報、実開平8−896号公報参照)、時間的な遅れが発生するという問題点があった。
【0014】
この発明の目的は、アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データを同時に取得することを容易に行い得るようにすることにある。
【課題を解決するための手段】
【0015】
この発明の概念は、
それぞれ、下位バンクアドレスで特定される下位メモリバンクからなり、上位バンクアドレスで特定される複数の上位メモリバンクを有するメモリ部と、
水平または垂直に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを、上記所定画面上に設定される複数の画素のパターンであるアクセスパターンに基づき、上記複数の上位メモリバンクに振り分けて格納するための制御を行うデータ格納制御部と、
上記複数の上位メモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するための制御を行うデータアクセス制御部とを備え、
上記データ格納制御部は、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、それぞれ、上記所定画面における各画素列を、K番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、該第1〜第Nの画素列の画素データを、それぞれ第1〜第Nの上位メモリバンクに格納するものとし、
上記第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ上記第Mの上位メモリバンクに格納する際、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、上記第Mの画素列の注目画素が上記複数の画素のいずれかに最初に該当するとき、上記注目画素の画素データを上記第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始し、その後上記第Mの画素列の注目画素が上記複数の画素のいずれかに該当するとき、上記注目画素の画素データを格納する上記第Mの上位メモリバンクの下位メモリバンクを順次切り替え、
上記データアクセス制御部は、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、上記画素列方向に順次移動した上記アクセスパターンの各設定位置で、該アクセスパターンで特定される複数の画素の画素データを、上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データが異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを該画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する
ことを特徴とするデータアクセス装置にある。
【0016】
この発明においては、水平または垂直の方向に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素が順に注目画素とされ、この注目画素の画素データが複数の上位メモリバンクに振り分けて格納される。
【0017】
例えば、データ格納制御部は、第K(K=1〜N)の位相処理時に、注目画素が、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に一致する画素であるか否かを判定する一致判定部と、注目画素が画素列の最初から何番目の画素であるかをカウントするカウント部と、第Kの位相処理時に、一致判定部の判定出力およびカウント部のカウント値に基づいて、注目画素毎に、メモリ部に対する書き込みアドレスを生成するアドレス生成部とを有する。
【0018】
この場合、第Kの位相処理時において、所定画面における各画素列を、K番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、この第1〜第Nの画素列のデータを、それぞれ第1〜第Nの上位メモリバンクに格納するものとされる。
【0019】
そして、第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ第Mの上位メモリバンクに格納する際、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、第Mの画素列の注目画素が複数の画素のいずれかに最初に該当するとき、注目画素の画素データが第Mの上位メモリバンクの最初の下位メモリバンクに格納することが開始される。また、その後、第Mの画素列の注目画素が複数の画素のいずれかに該当するとき、注目画素の画素データを格納する第Mの上位メモリバンクの下位メモリバンクが切り替えられる。
【0020】
また、この発明においては、アクセスパターンの設定位置が開始位置から画素列方向に移動した各設定位置で、アクセスパターンで特定される複数の画素(アクセス画素)の画素データが複数の上位メモリバンクから同時に取得される。
【0021】
例えば、データアクセス制御部は、第Kの位相処理時に第1〜第Nの上位メモリバンクを構成する下位メモリバンクの読み出しアドレスを生成する読み出しアドレス生成部と、第Kの位相処理時に第1〜第Nの上位メモリバンクを構成する下位メモリバンクの書き込みアドレスを生成する書き込みアドレス生成部とを有する。
【0022】
そして、読み出しアドレス生成部は、第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対し、最初の読み出しアドレスを、外部から与えられる読み出し開始アドレスにセットし、各設定位置で画素データの読み出しが行われるとき、読み出しアドレスをインクリメントして次の読み出しアドレスを生成する。また、書き込みアドレス生成部は、第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対し、最初の書き込みアドレスを、外部から与えられる書き込み開始アドレスにセットし、各設定位置で画素データの書き込みが行われるとき、書き込みアドレスをインクリメントして次の書き込みアドレスを生成する。
【0023】
この場合、第Kの位相処理時において、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、画素列方向に順次移動したアクセスパターンの各設定位置で、このアクセスパターンで特定される複数の画素の画素データが、第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出される。
【0024】
そして、この設定位置が画素列方向に移動した際に、設定位置におけるアクセスパターンで特定される複数の画素の画素データがそれぞれ異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出された画素データを、この画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する画素データの移動処理が行われる。
【0025】
このように、アクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データがそれぞれ異なる下位メモリバンクに格納された状態とし、当該複数の画素データを同時にアクセスできるようにしたものであり、当該複数の画素データの同時取得を容易に行うことができる。
【0026】
また、初期格納時に第1〜第Nの画素列の画素データのそれぞれを第1〜第Nの上位メモリバンクに振り分けて格納し、データアクセス時に上位メモリバンク毎にデータの移動処理を行うものであり、データアクセス時における画素データの移動処理を少なくできる。
【0027】
例えば、複数の画素のパターンは、複数の中心画素および各中心画素の周辺に位置する周辺画素のパターンである。この場合、アクセスパターンを構成する画素の数が多くなるが、上述したように第1〜第Nの画素列の画素データのそれぞれを第1〜第Nの上位メモリバンクに振り分けて格納することで、データアクセス時に画素データの移動処理を少なくできる。
【0028】
また例えば、中心画素とこの中心画素の周辺に位置する周辺画素からなる画素群がL本の画素列に渡るとき、NはLと等しくされる。この場合、第K(K=1〜N)の位相処理時に、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素が、第1〜第Nの画素列に分散されるので、各上位メモリバンクにおける下位メモリバンクの必要個数のバラツキを小さくできる。
【0029】
また、例えば、データアクセス制御部に与えられる読み出し開始アドレスおよび書き込み開始アドレスは、データ格納制御部から与えられる。この場合、データ格納制御部は、第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対応した読み出し開始アドレスおよび書き込み開始アドレスを生成する開始アドレス生成部をさらに有し、この開始アドレス生成部は、それぞれのメモリバンクに対して、最初の画素データが格納されたアドレスを読み出し開始アドレスとし、最後の画素データが格納されたアドレスのつぎのアドレスを書き込み開始アドレスとする。
【0030】
このように、データ格納制御部からデータアクセス制御部に読み出し開始アドレスおよび書き込み開始アドレスを与えることで、例えばこれらデータ格納制御部およびデータアクセス制御部を制御する制御装置が、アクセスパターンに基づいて読み出し開始アドレスおよび書き込み開始アドレスを生成して、データアクセス制御部に与えることが必要でなくなる。
【発明の効果】
【0031】
この発明によれば、アクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データがそれぞれ異なるメモリバンクに格納された状態として、当該複数の画素データを同時にアクセスできるようにしたものであり、当該複数の画素データの同時取得を容易に行うことができる。
【発明を実施するための最良の形態】
【0032】
以下、図面を参照しながら、この発明の実施の形態について説明する。図1は、実施の形態としてのデータアクセス装置100の構成を示している。
【0033】
このデータアクセス装置100は、メモリ部110と、データ格納制御部120と、データアクセス制御部140とを備えている。
【0034】
メモリ部110は、それぞれ、上位バンクアドレスで特定される、3個の上位メモリバンクBK0〜BK2を有している。上位メモリバンクBK0は、それぞれ、下位バンクアドレスで特定される、4個の下位メモリバンクBK00〜BK03からなっている。上位メモリバンクBK1は、それぞれ、下位バンクアドレスで特定される、4個の下位メモリバンクBK10〜BK13からなっている。上位メモリバンクBK2は、それぞれ、下位バンクアドレスで特定される、4個の下位メモリバンクBK20〜BK23からなっている。このメモリ部110は、図示しない制御装置から入力端子150を介して与えられる制御信号SCLに基づいて動作する。
【0035】
このメモリ部110には、初期格納時に、入力端子111から、格納すべき所定画面の画素データDiが入力される。ここで、所定画面は、水平方向に伸びる画素列が垂直方向に順次配列された構成となっており、メモリ部110には各画素列の画素データが順に注目画素としてラスタスキャン順に入力されていく。この所定画面上に、複数の画素のパターンがアクセスパターンACPとして設定される。注目画素の画素データは、アクセスパターンACPに基づき、メモリ部110の3個の上位メモリバンクBK0〜BK2に振り分けて格納される。
【0036】
図2は、この実施の形態における、画面SRN上に設定されるアクセスパターンACPを示している。このアクセスパターンACPは、4個の中心画素IM1〜IM4、および各中心画素の上下に位置する8個の周辺画素IM1U,IM1D,IM2U,IM2D,IM3U,IM3D,IM4U,IM4Dのパターンである。図2の「□」は画面SRNを構成する画素を示している。また、図2に示すアクセスパターンACPの設定位置は、その開始位置である。
【0037】
また、データアクセス時に、アクセスパターンACPの設定位置が開始位置(図2参照)から画素列方向に1画素ずつ移動した各設定位置で、アクセスパターンACPで特定される12個の画素(以下、適宜、「アクセス画素」という)の画素データDo01〜D12が、上位メモリバンクBK0〜BK2を構成する下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23から同時に読み出されて、出力端子112に出力される。なお、このように各設定位置で読み出される画素データDo01〜Do12は、他の下位メモリバンクへのデータ移動処理のために、メモリ部110に再入力される。
【0038】
データ格納制御部120は、図示しない制御装置から入力端子150を介して供給される制御信号SCLに基づいて動作する。このデータ格納制御部120は、上述したように、各注目画素の画素データをメモリ部110の3個の上位メモリバンクBK0〜BK2に振り分けて格納するための制御を行う。
【0039】
データ格納制御部120は、第1〜第3の位相処理を順次行う。そして、データ格納制御部120は、第K(K=1〜3)の位相処理時において、画面SRNにおける各画素列を、K番目の画素列を最初の画素列として第1〜第3の画素列の繰り返しであるとし、この第1〜第3の画素列のデータをそれぞれ上位メモリバンクBK0〜BK2に格納する。
【0040】
データ格納制御部120は、第Kの位相処理時に、第M(M=1〜3)の画素列の画素データをそれぞれ第Mの上位メモリバンクに格納する際、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンACPで特定される12個の画素(以下、適宜、「初期アクセス画素」という)に基づき、第Mの画素列の注目画素がこの12個の初期アクセス画素のいずれかに最初に該当するとき、注目画素の画素データを第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始する。また、その後、第Mの画素列の注目画素が複数の画素のいずれかに該当するとき、注目画素の画素データを格納する第Mの上位メモリバンクの下位メモリバンクを切り替える。
【0041】
データ格納制御部120についてさらに詳細に説明する。図3は、このデータ格納制御部120の構成を示している。このデータ格納制御部120は、カウンタ(カウンタA)121と、カウンタ(カウンタB)122と、一致判定部123と、上位バンクアドレスカウンタ124と、下位バンクアドレスカウンタ125と、ビット線アドレスカウンタ126と、ワード線アドレスカウンタ127と、アドレス生成部128とを有している。
【0042】
カウンタ(カウンタA)121は、第K(K=1〜3)の位相処理時に、上述したメモリ部110に順に入力される各注目画素の画素データの入力個数をカウントする。このカウンタ121には、メモリ部110に入力される各注目画素の画素データに同期したデータクロックDCKが供給される。このデータクロックDCKは、上述した制御信号SCLのひとつを構成しており、図示しない制御装置から供給される。このカウンタ121は、最初にそのカウント値が0とされ、その後はメモリ部110に各注目画素の画素データが入力される毎に、データクロックDCKによってインクリメントされていく。
【0043】
一致判定部123は、第Kの位相処理時に、上述したメモリ部110に所定の注目画素の画素データが入力される毎に、その注目画素が、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンACPで特定される12個の初期アクセス画素に一致するか否かを判定する。そのため、この一致判定部123には、第1〜第3の位相処理時のそれぞれで、注目画素が当該12個の初期アクセス画素となる際に上述したカウンタ121から出力されるカウント値CN1〜CN12に対応した値が、アクセスパターン情報IAPとして供給される。このアクセスパターン情報IAPは、上述した制御信号SCLのひとつを構成しており、図示しない制御装置から供給される。この一致判定部123は、ある注目画素におけるカウンタ121のカウント値が、カウント値CN1〜CN12と一致するとき、それぞれ、当該注目画素は1番目〜12番目の初期アクセス画素であると判定する。
【0044】
カウンタ(カウンタB)122は、注目画素が画素列の最初から何番目の画素であるかをカウントする。このカウンタ122には、メモリ部110に入力される各注目画素の画素データに同期したデータクロックDCKが供給される。このカウンタ122は、最初はそのカウント値が0とされ、その後はメモリ部110に各注目画素の画素データが入力される毎に、データクロックDCKによってインクリメントされていく。そして、カウント値が画素列の画素数m(この実施の形態では22)と等しくなる毎に、0にリセットされる。
【0045】
上位バンクアドレスカウンタ124は、3個の上位メモリバンクBK0〜BK2のうち、注目画素の画素データを格納すべき上位メモリバンクを示すカウント値、つまり上位バンクアドレスを出力する。このカウンタ124には、上述したカウンタ(カウンタB)122のカウント値が供給される。このカウンタ124は、最初はそのカウント値が0とされ、注目画素がK番目以降の画素列の画素となった後に、カウンタ122のカウント値が0にリセットされるとき、インクリメントされる。このカウンタ124は、カウント値2の次はカウント値0となり、3進カウンタの構成となっている。このカウンタ124のカウント値0〜2、つまり上位バンクアドレス0〜2は、それぞれ上位メモリバンクBK0〜BK2を示している。
【0046】
下位バンクアドレスカウンタ125は、上述した上位バンクアドレスカウンタ124のカウント値で示される上位メモリバンクを構成する下位メモリバンクのうち、実際に注目画素の画素データを格納すべき下位メモリバンクを示すカウント値、つまり下位バンクアドレスを出力する。このカウンタ125は、上位メモリバンクBK0〜BK2にそれぞれ対応した3個のカウンタ125-0〜125-2からなっている。このカウンタ125には、上述した一致判定部123の判定出力が供給されると共に、上述したカウンタ124のカウント値(上位バンクアドレス)が供給される。
【0047】
これらのカウンタ125-0〜125-2は、最初はそのカウント値、つまり下位バンクアドレスが0とされ、その後は、上位バンクアドレス(カウンタ124のカウント値)が0〜2のそれぞれにあるとき、注目画素が初期アクセス画素に該当し、かつ当該上位バンクアドレスでは最初の初期アクセス画素でない場合、当該上位バンクアドレスに対応したカウンタがインクリメントされる。
【0048】
ビット線アドレスカウンタ126は、上位メモリバンクBK0〜BK2を構成する12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23にそれぞれ対応した12個のカウンタからなっている。このビット線アドレスカウンタ126には、メモリ部110に入力される各注目画素の画素データに同期したデータクロックDCKが供給されると共に、カウンタ124,125のカウント値(バンクアドレス)が供給される。
【0049】
12個のカウンタは、最初はそのカウント値、つまりビット線アドレスが0とされ、その後はメモリ部110に各注目画素の画素データが入力されて格納される毎に、当該12個のカウンタのうち、バンクアドレスに対応したカウンタがインクリメントされていく。この実施の形態では、各下位メモリバンクのワード線長は10とされ、当該12個のカウンタは、カウント値9の次はカウント値0となり、10進カウンタの構成となっている。ここで、バンクアドレスは、カウンタ124のカウント値(上位バンクアドレス)と、この上位バンクアドレスに対応したカウンタ125内のカウンタのカウント値(下位バンクアドレス)からなる。
【0050】
ワード線アドレスカウンタ127は、上位メモリバンクBK0〜BK2を構成する12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23にそれぞれ対応した12個のカウンタからなっている。当該12個のカウンタには、それぞれ、上述したカウンタ126内の12個のカウンタの桁上げ信号であるキャリーCAが供給される。当該12個のカウンタは、それぞれ、キャリーCAが供給される毎に、インクリメントされていく。
【0051】
アドレス生成部128は、メモリ部110に供給する書き込みアドレスWを生成する。このアドレス生成部128には、カウンタ124〜127のカウント値が供給される。このアドレス生成部128は、上位バンクアドレス、下位バンクアドレス、ビット線アドレスおよびワード線アドレスを合成して、メモリ部110に供給する書き込みアドレスWを生成する。
【0052】
ここで、上位バンクアドレスは、カウンタ124のカウント値で与えられる。下位バンクアドレスは、カウンタ125を構成するカウンタ125-0〜125-2のうち上位バンクアドレスに対応したカウンタのカウント値で与えられる。ビット線アドレスは、カウンタ126を構成する12個のカウンタのうちバンクアドレス(上位バンクアドレスおよび下位バンクアドレス)に対応したカウンタのカウント値で与えられる。そして、ワード線アドレスは、カウンタ127を構成する12個のカウンタのうちバンクアドレス(上位バンクアドレスおよび下位バンクアドレス)に対応したカウンタのカウント値で与えられる。
【0053】
また、アドレス生成部128は、データアクセス制御部140で用いられる、各下位メモリバンクに対する、読み出し開始アドレスRSおよび書き込み開始アドレスWSを生成する。この場合、アドレス生成部128は、各下位メモリバンクの、最初の書き込みアドレスW、つまり最初に画素データが格納されたアドレスを読み出し開始アドレスRSとし、また最後の画素データが格納されたアドレスの次のアドレスを書き込み開始アドレスWSとする。
【0054】
次に、図3に示すデータ格納制御部120の制御による初期格納時(第Kの位相処理時)の動作を、図4のフローチャートを用いて説明する。なお、データ格納制御部120は、例えばマイクロプロセッサで構成され、図示しないプログラムメモリに格納されたデータ格納制御プログラムに従って制御動作をする。
【0055】
ステップST1で、動作を開始し、ステップST2で、上位バンクアドレスカウンタ124のカウント値(上位バンクアドレス)、下位バンクアドレスカウンタ125を構成する3個のカウンタ125-0〜125-2のカウント値(下位バンクアドレス)、ビット線アドレスカウンタ126を構成する12個のカウンタのカウント値(ビット線アドレス)、およびワード線アドレスカウンタ127を構成する12個のカウンタのカウント値(ワード線アドレス)をそれぞれ0にし、カウンタ(カウンタA)121およびカウンタ(カウンタB)122のカウント値をそれぞれ0にする。
【0056】
次に、ステップST3で、注目画素の画素データが入力されたか否かを判定する。この場合、データクロックDCKが供給されるとき、注目画素の画素データが入力されたと判定する。注目画素の画素データが入力されたと判定するとき、ステップST4で、カウンタ(カウンタA)121をインクリメントし、さらにステップST5で、カウンタ(カウンタB)122をインクリメントする。
【0057】
次に、ステップST6で、ステップST3で入力された注目画素が、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンACPで特定される12個の初期アクセス画素のいずれかであるか否かを、一致判定部123で判定する。この場合、カウンタ(カウンタA)121のカウント値が、アクセスパターン情報IAPとしてのカウント値CN1〜CN12のいずれかと一致するとき、注目画素が初期アクセス画素であると判定する。
【0058】
注目画素が初期アクセス画素であると判定するとき、ステップST7で、その初期アクセス画素が現在の上位バンクアドレスで最初の初期アクセス画素であるか否かを判定する。現在の上位バンクアドレスは、上位バンクアドレスカウンタ124のカウント値で与えられる。
【0059】
最初の初期アクセス画素であると判定するとき、直ちに、ステップST10に進む。一方、最初の初期アクセス画素でないと判定するとき、ステップST8で、書き込みアドレスWを、バンクアドレスに対応した下位メモリバンクの書き込み開始アドレスWSにする。
【0060】
ここで、バンクアドレスは、上位バンクアドレスおよび下位バンクアドレスからなる。上位バンクアドレスは、カウンタ124のカウント値で与えられる。下位バンクアドレスは、上位バンクアドレスに対応したカウンタ125内のカウンタのカウント値で与えられる。書き込みアドレスWは、アドレス生成部128で、上述したバンクアドレスの他に、ビット線アドレスおよびワード線アドレスを合成することで生成されている。ビット線アドレスは、バンクアドレスに対応したカウンタ126内のカウンタのカウント値で与えられる。ワード線アドレスは、バンクアドレスに対応したカウンタ127内のカウンタのカウント値で与えられる。
【0061】
次に、ステップST9で、上位バンクアドレスに対応したカウンタ125内のカウンタのカウント値(下位バンクアドレス)をインクリメントする。その後に、ステップST10に進む。ステップST10では、書き込みアドレスWを、バンクアドレスに対応した下位メモリバンクの読み出し開始アドレスRSにする。
【0062】
次に、ステップST11に進む。上述のステップST6で、注目画素が初期アクセス画素でないと判定されるとき、ステップST12で、注目画素が現在の上位バンクアドレスで最初の初期アクセス画素の後の画素であるか否かを判定する。注目画素が最初の初期アクセス画素の後の画素であると判定するとき、直ちに、ステップST11に進む。このステップST11では、アドレス生成部128で生成されている書き込みアドレスWに基づき、当該書き込みアドレスWのバンクアドレスで指定される下位メモリバンクの、当該書き込みアドレスWのビット線アドレスおよびワード線アドレスで指定されるアドレス位置に、注目画素の画素データを格納する。
【0063】
次に、ステップST13で、ビット線アドレスカウンタ126のバンクアドレスに対応したカウンタのカウント値(ビット線アドレス)をインクリメントする。そして、ステップST14で、ステップST13で、カウンタのカウント値が0となったとき、そのカウンタから出力されるキャリーCAにより、ワード線アドレスカウンタ127のバンクアドレスに対応したカウンタのカウント値(ワード線アドレス)をインクリメントする。その後に、ステップST15に進む。
【0064】
上述のステップST12で、注目画素が最初の初期アクセス画素の後の画素でないと判定するとき、直ちに、ステップST15に進む。このステップST15では、カウンタ(カウンタB)122のカウント値が画素列の画素数mと等しいか否かを判定する。カウント値がmと等しいとき、ステップST16で、注目画素がK番目以降の画素列の画素であるか否かを判定する。
【0065】
注目画素がK番目以降の画素列の画素であると判定するときは、ステップST17で、上位バンクアドレスカウンタ124のカウント値(上位バンクアドレス)をインクリメントし、ステップST18に進む。注目画素がK番目以降の画素列の画素でないと判定するときは、直ちに、ステップST18に進む。このステップST18では、カウンタ(カウンタB)122を0にリセットし、その後に、ステップST19に進む。
【0066】
上述のステップST15で、カウント値がmと等しくないとき、直ちに、ステップST19に進む。このステップST19では、画面SRNの全ての画素の画素データが入力されたか否かを判定する。この場合、カウンタ(カウンタA)121のカウント値が、画面SRNを構成する画素の個数に等しいとき、全ての画素の画素データが入力されたと判定する。全ての画素の画素データが入力されたと判定するとき、ステップST20で、動作を終了する。一方、全ての画素の画素データが入力されていないと判定するとき、ステップST3に戻り、次の注目画素の画素データの入力を待つ。
【0067】
上述した初期格納時の動作により、画面SRNの各画素のデータは、上位メモリバンクBK0〜BK2に振り分けられて格納される。
【0068】
図5は、第1の位相処理時におけるアクセスパターンACPの初期設定位置を示している。このアクセスパターンACPの初期設定位置は、アクセスパターンACPの設定位置の開始位置となっている。この図5の「□」は上述の図2と同様に1画素を示している。以下の同種の図においても同様である。この図5の□内の数字は、各画素列が0〜2のいずれの画素列であるかを示している。この場合、画面SRNにおける各画素列は、1番目の画素列が最初の画素列とされて、0〜2の画素列の繰り返しであるとされ、この0〜2の画素列の画素データがそれぞれ上位メモリバンクBK0〜BK2に格納される。ここで、0〜2の画素列は、それぞれ、第1〜第3の画素列を構成する。
【0069】
図6は、第1の位相処理時における、各画素の画素データの初期格納状態を示している。この図6の□内の数字は、その画素の画素データが格納される下位メモリバンクのバンクアドレスを示している。ここで、「00」〜「03」は、それぞれ、上位メモリバンクBK0を構成する下位メモリバンクBK00〜BK03を示している。「10」〜「13」は、それぞれ、上位メモリバンクBK1を構成する下位メモリバンクBK10〜BK13を示している。「20」〜「23」は、それぞれ、上位メモリバンクBK2を構成する下位メモリバンクBK20〜BK23を示している。
【0070】
図7は、上位メモリバンクBK0に係る画面SRN上のアクセスパターン、および下位メモリバンクBK00〜BK03への画素振り分けを示している。そして、図8は、下位メモリバンクBK00〜BK03のデータ格納状態を示している。ここで、「■」は画素データが格納されているメモリセルMCを示し、「□」は画素データが格納されていないメモリセルMCを示している。これは、以下の図においても同様である。
【0071】
図9は、上位メモリバンクBK1に係る画面SRN上のアクセスパターン、および下位メモリバンクBK10〜BK13への画素振り分けを示している。そして、図10は、下位メモリバンクBK10〜BK13のデータ格納状態を示している。さらに、図11は、上位メモリバンクBK2に係る画面SRN上のアクセスパターン、および下位メモリバンクBK20〜BK23への画素振り分けを示している。そして、図12は、下位メモリバンクBK20〜BK23のデータ格納状態を示している。
【0072】
最初、上位バンクアドレスは「0」となっており、また各上位バンクアドレスに対応した下位バンクアドレスも「0」となっている。この状態で、第1列の先頭画素が注目画素となる。この注目画素は、アクセスパターンACPで特定される12個の初期アクセス画素のいずれでもなく、また現在の上位バンクアドレス「0」で最初の初期アクセス画素IM1Uより後の画素でもない。そのため、この注目画素の画素データは上位バンクアドレスBK0に格納されない。
【0073】
その後、第1列の2番目の画素が注目画素となる。この注目画素は現在の上位バンクアドレス「0」で最初の初期アクセス画素IM1Uであり、この画素IM1Uから上位メモリバンクBK0を構成する最初の下位メモリバンクBK00への画素データの格納が開始される。この場合、この画素IM1Uの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK00の読み出し開始アドレスRSとされる(図8のバンクBK00参照)。
【0074】
その後、この画素IM1Uに続く画素が順に注目画素となり、その画素データが下位メモリバンクBK00に格納されていくが、第1列の9番目の画素は現在の上位バンクアドレス「0」で2番目の初期アクセス画素IM2Uであり、この画素IM2Uが注目画素となるとき、現在の上位バンクアドレス「0」に対応した下位バンクアドレスがインクリメントされて「1」となり、画素データを格納すべき下位メモリバンクはBK01となる。
【0075】
そのため、下位メモリバンクBK00は、7画素の画素データが格納された状態となる(図8のバンクBK00の最初の7個のアドレス位置参照)。この場合、この下位メモリバンクBK00の書き込み開始アドレスWSは、7画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図8のバンクBK00参照)。
【0076】
上述したように画素IM2Uが注目画素となるとき画素データを格納すべき下位メモリバンクはBK01となり、この画素IM2Uから上位メモリバンクBK0を構成する下位メモリバンクBK01への画素データの格納が開始される。この場合、この画素IM2Uの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK01の読み出し開始アドレスRSとされる(図8のバンクBK01参照)。
【0077】
その後、この画素IM2Uに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK01に格納されていくが、第1列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「1」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0078】
この状態で、第2列の先頭画素が注目画素となる。この注目画素は、アクセスパターンACPで特定される12個の初期アクセス画素のいずれでもなく、また現在の上位バンクアドレス「1」で最初の初期アクセス画素IM1より後の画素でもない。そのため、この注目画素の画素データは上位バンクアドレスBK1に格納されない。
【0079】
その後、第2列の2番目の画素が注目画素となる。この注目画素は現在の上位バンクアドレス「1」で最初の初期アクセス画素IM1であり、この画素IM1から上位メモリバンクBK1を構成する最初の下位メモリバンクBK10への画素データの格納が開始される。この場合、この画素IM1の画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK10の読み出し開始アドレスRSとされる(図10のバンクBK10参照)。
【0080】
その後、この画素IM1に続く画素が順に注目画素となり、その画素データが下位メモリバンクBK10に格納されていくが、第2列の9番目の画素は現在の上位バンクアドレス「1」で2番目の初期アクセス画素IM2であり、この画素IM2が注目画素となるとき、現在の上位バンクアドレス「1」に対応した下位バンクアドレスがインクリメントされて「1」となり、画素データを格納すべき下位メモリバンクはBK11となる。
【0081】
そのため、下位メモリバンクBK10は、7画素の画素データが格納された状態となる(図10のバンクBK10の最初の7個のアドレス位置参照)。この場合、この下位メモリバンクBK10の書き込み開始アドレスWSは、7画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図10のバンクBK10参照)。
【0082】
上述したように画素IM2が注目画素となるとき画素データを格納すべき下位メモリバンクはBK11となり、この画素IM2から上位メモリバンクBK1を構成する下位メモリバンクBK11への画素データの格納が開始される。この場合、この画素IM2の画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK11の読み出し開始アドレスRSとされる(図10のバンクBK11参照)。
【0083】
その後、この画素IM2に続く画素が順に注目画素となって、その画素データが下位メモリバンクBK11に格納されていくが、第2列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「2」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0084】
この状態で、第3列の先頭画素が注目画素となる。この注目画素は、アクセスパターンACPで特定される12個の初期アクセス画素のいずれでもなく、また現在の上位バンクアドレス「2」で最初の初期アクセス画素IM1Dより後の画素でもない。そのため、この注目画素の画素データは上位バンクアドレスBK2に格納されない。
【0085】
その後、第3列の2番目の画素が注目画素となる。この注目画素は現在の上位バンクアドレス「2」で最初の初期アクセス画素IM1Dであり、この画素IM1Dから上位メモリバンクBK2を構成する最初の下位メモリバンクBK20への画素データの格納が開始される。この場合、この画素IM1Dの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK20の読み出し開始アドレスRSとされる(図12のバンクBK20参照)。
【0086】
その後、この画素IM1Dに続く画素が順に注目画素となり、その画素データが下位メモリバンクBK20に格納されていくが、第3列の9番目の画素は現在の上位バンクアドレス「2」で2番目の初期アクセス画素IM2Dであり、この画素IM2Dが注目画素となるとき、現在の上位バンクアドレス「2」に対応した下位バンクアドレスがインクリメントされて「1」となり、画素データを格納すべき下位メモリバンクはBK21となる。
【0087】
そのため、下位メモリバンクBK20は、7画素の画素データが格納された状態となる(図12のバンクBK20の最初の7個のアドレス位置参照)。この場合、この下位メモリバンクBK20の書き込み開始アドレスWSは、7画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図12のバンクBK10参照)。
【0088】
上述したように画素IM2Dが注目画素となるとき画素データを格納すべき下位メモリバンクはBK21となり、この画素IM2Dから上位メモリバンクBK2を構成する下位メモリバンクBK21への画素データの格納が開始される。この場合、この画素IM2Dの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK21の読み出し開始アドレスRSとされる(図12のバンクBK21参照)。
【0089】
その後、この画素IM2Dに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK21に格納されていくが、第3列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて再び「0」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0090】
この状態で、第4列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「0」で最初の初期アクセス画素IM1Uより後の画素である。そのため、この画素から上位メモリバンクBK0を構成する下位メモリバンクBK01への画素データの格納が再度開始される。
【0091】
その後、この画素に続く画素が順に注目画素となって、その画素データが下位メモリバンクBK01に格納されていくが、第4列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「1」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0092】
この状態で、第5列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「1」で最初の初期アクセス画素IM1より後の画素である。そのため、この画素から上位メモリバンクBK1を構成する下位メモリバンクBK11への画素データの格納が再度開始される。
【0093】
その後、この画素に続く画素が順に注目画素となり、その画素データが下位メモリバンクBK11に格納されていくが、第5列の5番目の画素は現在の上位バンクアドレス「1」で3番目の初期アクセス画素IM3Uであり、この画素IM3Uが注目画素となるとき、現在の上位バンクアドレス「1」に対応した下位バンクアドレスがインクリメントされて「2」となり、画素データを格納すべき下位メモリバンクはBK12となる。
【0094】
そのため、下位メモリバンクBK11は、18画素の画素データが格納された状態となる(図10のバンクBK11の最初の18個のアドレス位置参照)。この場合、この下位メモリバンクBK11の書き込み開始アドレスWSは、18画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図10のバンクBK11参照)。
【0095】
上述したように画素IM3Uが注目画素となるとき画素データを格納すべき下位メモリバンクはBK12となり、画素IM3Uから上位メモリバンクBK1を構成する下位メモリバンクBK12への画素データの格納が開始される。この場合、この画素IM3Uの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK12の読み出し開始アドレスRSとされる(図10のバンクBK12参照)。
【0096】
その後、この画素IM3Uに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK12に格納されていくが、第5列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「2」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0097】
この状態で、第6列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「2」で最初の初期アクセス画素IM1Dより後の画素である。そのため、この画素から上位メモリバンクBK2を構成する下位メモリバンクBK21への画素データの格納が再度開始される。
【0098】
その後、この画素に続く画素が順に注目画素となり、その画素データが下位メモリバンクBK21に格納されていくが、第6列の5番目の画素は現在の上位バンクアドレス「2」で3番目の初期アクセス画素IM3であり、この画素IM3が注目画素となるとき、現在の上位バンクアドレス「2」に対応した下位バンクアドレスがインクリメントされて「2」となり、画素データを格納すべき下位メモリバンクはBK22となる。
【0099】
そのため、下位メモリバンクBK21は、18画素の画素データが格納された状態となる(図12のバンクBK21の最初の18個のアドレス位置参照)。この場合、この下位メモリバンクBK21の書き込み開始アドレスWSは、18画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図12のバンクBK21参照)。
【0100】
上述したように画素IM3が注目画素となるとき画素データを格納すべき下位メモリバンクはBK22となり、画素IM3から上位メモリバンクBK2を構成する下位メモリバンクBK22への画素データの格納が開始される。この場合、この画素IM3の画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK22の読み出し開始アドレスRSとされる(図12のバンクBK22参照)。
【0101】
その後、この画素IM3に続く画素が順に注目画素となって、その画素データが下位メモリバンクBK22に格納されていくが、第6列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて再び「0」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0102】
この状態で、第7列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「0」で最初の初期アクセス画素IM1Uより後の画素である。そのため、この画素から上位メモリバンクBK0を構成する下位メモリバンクBK01への画素データの格納が再度開始される。
【0103】
その後、この画素に続く画素が順に注目画素となり、その画素データが下位メモリバンクBK01に格納されていくが、第7列の5番目の画素は現在の上位バンクアドレス「0」で3番目の初期アクセス画素IM3Dであり、この画素IM3Dが注目画素となるとき、現在の上位バンクアドレス「0」に対応した下位バンクアドレスがインクリメントされて「2」となり、画素データを格納すべき下位メモリバンクはBK02となる。
【0104】
そのため、下位メモリバンクBK01は、40画素の画素データが格納された状態となる(図8のバンクBK01の最初の40個のアドレス位置参照)。この場合、この下位メモリバンクBK01の書き込み開始アドレスWSは、40画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図8のバンクBK01参照)。
【0105】
上述したように画素IM3Dが注目画素となるとき画素データを格納すべき下位メモリバンクはBK02となり、画素IM3Dから上位メモリバンクBK0を構成する下位メモリバンクBK02への画素データの格納が開始される。この場合、この画素IM3Dの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK02の読み出し開始アドレスRSとされる(図8のバンクBK02参照)。
【0106】
その後、この画素IM3Dに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK02に格納されていくが、第7列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「1」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0107】
この状態で、第8列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「1」で4番目の初期アクセス画素IM4Uであり、現在の上位バンクアドレス「1」に対応した下位バンクアドレスがインクリメントされて「3」となり、画素データを格納すべき下位メモリバンクはBK13となる。
【0108】
そのため、下位メモリバンクBK12は、18画素の画素データが格納された状態となる(図10のバンクBK12の最初の18個のアドレス位置参照)。この場合、この下位メモリバンクBK12の書き込み開始アドレスWSは、18画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図10のバンクBK12参照)。
【0109】
上述したように画素IM4Uが注目画素となるとき画素データを格納すべき下位メモリバンクはBK13となり、画素IM4Uから上位メモリバンクBK1を構成する下位メモリバンクBK13への画素データの格納が開始される。この場合、この画素IM4Uの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK13の読み出し開始アドレスRSとされる(図10のバンクBK13参照)。
【0110】
その後、この画素IM4Uに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK13に格納されていくが、第8列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「2」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0111】
この状態で、第9列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「2」で4番目の初期アクセス画素IM4であり、現在の上位バンクアドレス「2」に対応した下位バンクアドレスがインクリメントされて「3」となり、画素データを格納すべき下位メモリバンクはBK23となる。
【0112】
そのため、下位メモリバンクBK22は、18画素の画素データが格納された状態となる(図12のバンクBK22の最初の18個のアドレス位置参照)。この場合、この下位メモリバンクBK22の書き込み開始アドレスWSは、18画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図12のバンクBK22参照)。
【0113】
上述したように画素IM4が注目画素となるとき画素データを格納すべき下位メモリバンクはBK23となり、画素IM4から上位メモリバンクBK2を構成する下位メモリバンクBK23への画素データの格納が開始される。この場合、この画素IM4の画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK23の読み出し開始アドレスRSとされる(図12のバンクBK23参照)。
【0114】
その後、この画素IM4に続く画素が順に注目画素となって、その画素データが下位メモリバンクBK23に格納されていくが、第9列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて再度「0」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0115】
この状態で、第10列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「0」で4番目の初期アクセス画素IM4Dであり、現在の上位バンクアドレス「0」に対応した下位バンクアドレスがインクリメントされて「3」となり、画素データを格納すべき下位メモリバンクはBK03となる。
【0116】
そのため、下位メモリバンクBK02は、18画素の画素データが格納された状態となる(図8のバンクBK02の最初の18個のアドレス位置参照)。この場合、この下位メモリバンクBK02の書き込み開始アドレスWSは、18画素の画素データのうち最後の画素データが格納されたアドレス位置の次のアドレス位置を示すアドレスとされる(図8のバンクBK02参照)。
【0117】
上述したように画素IM4Dが注目画素となるとき画素データを格納すべき下位メモリバンクはBK03となり、画素IM4Dから上位メモリバンクBK0を構成する下位メモリバンクBK03への画素データの格納が開始される。この場合、この画素IM4Dの画素データを格納すべきアドレス位置を示す書き込みアドレスWが、当該下位メモリバンクBK03の読み出し開始アドレスRSとされる(図8のバンクBK03参照)。
【0118】
その後、この画素IM4Dに続く画素が順に注目画素となって、その画素データが下位メモリバンクBK03に格納されていくが、第10列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「1」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0119】
この状態で、第11列の先頭画素が注目画素となる。この注目画素は、現在の上位バンクアドレス「1」で最初の初期アクセス画素IM1より後の画素である。そのため、この画素から上位メモリバンクBK1を構成する下位メモリバンクBK13への画素データの格納が再度開始される。
【0120】
その後、この画素に続く画素が順に注目画素となって、その画素データが下位メモリバンクBK03に格納されていくが、第11列の22番目の画素の画素データまで格納されると、カウンタ122のカウント値Bが画素列の画素数m(=22)と等しくなり、上位バンクアドレスがインクリメントされて「2」となり、またカウンタ122のカウント値Bも「0」にリセットされる。
【0121】
以下、同様にして、下位メモリバンクBK23,BK03,BK13に順次1画素列ずつ画素データが格納されていくことが繰り返し行われ、全画素の画素データの格納が行われる(図12のBK23、図8のBK03、図10のBK13参照)。
【0122】
上述の図5〜図12を使用した説明は、第1の位相処理時における初期格納の動作を説明したものである。詳細説明は省略するが、第2の位相処理時および第3の位相処理時における初期格納の動作も同様にして行われる。
【0123】
なお、図13は、第2の位相処理時におけるアクセスパターンACPの初期設定位置を示している。このアクセスパターンACPの初期設定位置は、開始位置から画素列方向に直交する方向に1画素分ずれた位置となっている。この場合、画面SRNにおける各画素列は、2番目の画素列が最初の画素列とされて、0〜2の画素列の繰り返しであるとされ、この0〜2の画素列の画素データがそれぞれ上位メモリバンクBK0〜BK2に格納される。図14は、第2の位相処理時における、各画素の画素データの、下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23への初期格納状態を示している。
【0124】
また、図15は、第3の位相処理時におけるアクセスパターンACPの初期設定位置を示している。このアクセスパターンACPの初期設定位置は、開始位置から画素列方向に直交する方向に2画素分ずれた位置となっている。この場合、画面SRNにおける各画素列は、3番目の画素列が最初の画素列とされて、0〜2の画素列の繰り返しであるとされ、この0〜2の画素列の画素データがそれぞれ上位メモリバンクBK0〜BK2に格納される。図16は、第3の位相処理時における、各画素の画素データの、下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23への初期格納状態を示している。
【0125】
図1に戻って、データアクセス制御部140は、図示しない制御装置から入力端子150を介して供給される制御信号SCLに基づいて動作する。このデータアクセス制御部140は、アクセスパターンACPの設定位置を開始位置から画素列方向に移動した各設定位置で、このアクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データを、3個の上位メモリバンクBK0〜BK2から同時に読み出すための制御を行う。
【0126】
データアクセス制御部140は、第1〜第3の位相処理を順次行う。そして、データアクセス制御部140は、第K(K=1〜3)の位相処理時において、開始位置から画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置(初期設定位置)とし、一列分の移動が終わる毎に3画素分ずれた列の先頭に移動し、画素列方向に順次移動したアクセスパターンACPの各設定位置で、このアクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データを、3個の上位メモリバンクBK0〜BK2を構成する12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23から同時に読み出す。
【0127】
また、このデータアクセス制御部140は、アクセスパターンACPの設定位置が画素列方向に移動した際に、その設定位置におけるアクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データがそれぞれ異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを、その画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する。
【0128】
データアクセス制御部140についてさらに詳細に説明する。図17は、このデータアクセス制御部140の構成を示している。このデータアクセス制御部140は、カウンタ141と、アドレスカウンタ制御部142と、読み出しアドレスカウンタ143と、書き込みアドレスカウンタ144と、読み出しアドレス生成部145と、書き込みアドレス生成部146とを有している。
【0129】
カウンタ141は、アクセスパターンACPの設定位置を示すカウント値を出力する。このカウンタ141には、アクセスパターンACPの設定位置を移動するための移動クロックMCKが供給される。この移動クロックMCKは、上述した制御信号SCLのひとつを構成しており、図示しない制御装置から供給される。このカウンタ141は、最初にそのカウント値が0とされ、その後アクセスパターンACPの設定位置を開始位置とするとき最初の移動クロックMCKでインクリメントされてカウント値が1となり、その後はこの設定位置が画素列方向に1画素ずつ移動する毎に、移動クロックMCKでインクリメントされていく。
【0130】
読み出しアドレスカウンタ143は、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23にそれぞれ対応した12個のカウンタからなっている。この12個のカウンタのそれぞれは、ビット線アドレスを示すカウント値を得るためのビット線アドレスカウンタと、ワード線アドレスを示すカウント値を得るためのワード線アドレスカウンタとからなっている(図3のビット線アドレスカウンタ126およびワード線アドレスカウンタ127参照)。カウンタ143内の12個のカウンタは、アドレスカウンタ制御部142の制御のもと、それぞれ、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23に対する読み出しアドレス(ビット線アドレスおよびワード線アドレス)を示すカウント値を出力する。
【0131】
書き込みアドレスカウンタ144は、9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22にそれぞれ対応した9個のカウンタからなっている。この9個のカウンタのそれぞれも、ビット線アドレスを示すカウント値を得るためのビット線アドレスカウンタと、ワード線アドレスを示すカウント値を得るためのワード線アドレスカウンタとからなっている。カウンタ144内の9個のカウンタは、アドレスカウンタ制御部142の制御のもと、それぞれ、9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22に対する書き込みアドレス(ビット線アドレスおよびワード線アドレス)を示すカウント値を出力する。
【0132】
アドレスカウンタ制御部142は、上述した読み出しアドレスカウンタ143および書き込みアドレスカウンタ144の動作を制御する。このアドレスカウンタ制御部142には、アクセスパターンACPの設定位置を移動するための移動クロックMCKと、さらに上述したデータ格納制御部120のアドレス生成部128で生成された、それぞれの下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23に対する読み出し開始アドレスRSおよび書き込み開始アドレスWSが供給される。
【0133】
このアドレスカウンタ制御部142は、最初に、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23のそれぞれに対する読み出し開始アドレスRSをカウンタ143内の12個のカウンタにセットし、9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22のそれぞれに対する書き込み開始アドレスWSをカウンタ144内の9個のカウンタにセットする。
【0134】
また、アドレスカウンタ制御部142は、アクセスパターンACPの各設定位置で、画素データの読み出しが行われる毎にカウンタ143内の12個のカウンタをインクリメントすると共に、画素データの書き込みが行われる毎にカウンタ144内の9個のカウンタをインクリメントする。
【0135】
読み出しアドレス生成部145は、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23のそれぞれに対する読み出しアドレスRを生成する。この読み出しアドレス生成部145には、読み出しアドレスカウンタ143を構成する各カウンタのカウント値(ビット線アドレスおよびワード線アドレス)が供給される。読み出しアドレス生成部145は、各カウンタのカウント値(ビット線アドレスおよびワード線アドレス)に、それぞれ、上位バンクアドレスおよび下位バンクアドレスを合成することで、それぞれの下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23に対する読み出しアドレスRを生成する。
【0136】
書き込みアドレス生成部146は、9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22のそれぞれに対する書き込みアドレスWを生成する。この書き込みアドレス生成部146には、書き込み込みアドレスカウンタ144を構成する各カウンタのカウント値(ビット線アドレスおよびワード線アドレス)が供給される。書き込みアドレス生成部146は、各カウンタのカウント値(ビット線アドレスおよびワード線アドレス)に、それぞれ、上位バンクアドレスおよび下位バンクアドレスを合成することで、それぞれの下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22に対する書き込みアドレスWを生成する。
【0137】
次に、図17に示すデータアクセス制御部140の制御によるデータアクセス時(第Kの位相処理時)の動作を、図18のフローチャートを用いて説明する。なお、データアクセス制御部140は、例えばマイクロプロセッサで構成され、図示しないプログラムメモリに格納されたデータアクセス制御プログラムに従って制御動作をする。
【0138】
ステップST31で、動作を開始し、ステップST32で、アドレスカウンタ制御部142は、読み出しアドレスRおよび書き込みアドレスWをセットする。この場合、読み出しアドレスカウンタ143内の12個のカウンタのカウント値(読み出しアドレス)は、それぞれ、データ格納制御部120から供給された、第Kの位相処理時の読み出し開始アドレスRSと等しくなるようにセットされる。また、書き込みアドレスカウンタ144内の9個のカウント値(書き込みアドレス)は、それぞれ、データ格納制御部120から供給された、第Kの位相処理時の書き込み開始アドレスWSと等しくなるようにセットされる。
【0139】
次に、ステップST33で、移動クロックMCKにより、カウンタ141をインクリメントする。そして、ステップST34で、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23の、読み出しアドレス生成部145で生成された読み出しアドレスRで示されるアドレス位置から、アクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データDo01〜Do12を読み出して出力する。
【0140】
この場合、下位メモリバンクBK00,BK01,BK02,BK03からはそれぞれアクセス画素IM1U,IM2U,IM3D,IM4Dの画素データが読み出され、下位メモリバンクBK10,BK11,BK12,BK13からはそれぞれアクセス画素IM1,IM2,IM3U,IM4Uの画素データが読み出され、さらに下位メモリバンクBK20,BK21,BK22,BK23からはそれぞれアクセス画素IM1D,IM2D,IM3,IM4の画素データが読み出される(図7、図9、図11参照)。
【0141】
次に、ステップST35で、上述のステップST34で画素データの読み出しを行った12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23に対応する読み出しアドレスカウンタ143内の12個のカウンタのカウント値(読み出しアドレス)を、インクリメントする。
【0142】
次に、ステップST36で、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを、1つ前の下位メモリバンクに格納する。この場合、下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22の、書き込みアドレス生成部146で生成された書き込みアドレスWで示されるアドレス位置に、それぞれ、下位メモリバンクBK01〜BK03,BK11〜BK13,BK21〜BK23から読み出された画素データが書き込まれる。
【0143】
次に、ステップST37で、上述のステップST36で画素データの書き込みを行った9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22に対応する書き込みアドレスカウンタ144内の9個のカウンタのカウント値(書き込みアドレス)を、インクリメントする。
【0144】
次に、ステップST38で、全てアクセスしたか否か、つまりアクセスパターンACPが、第Kの位相処理時の初期設定位置から終了位置まで移動したか否かを判定する。この場合、カウンタ141のカウント値が終了位置を示す値となるとき、全てアクセスしたと判定する。全てアクセスしたと判定するときは、ステップST39で、動作を終了する。全てアクセスしていないと判定するときは、ステップST33に戻って、アクセスパターンACPの次の設定位置の処理に移る。
【0145】
ここで、第1の位相処理時のアクセスパターンACPの初期設定位置は開始位置である(図5参照)。第2の位相処理時のアクセスパターンACPの初期設定位置は、開始位置から画素列方向に直交する方向に1画素分ずれた位置である(図13参照)。さらに、第3の位相処理時のアクセスパターンACPの初期設定位置は、開始位置から画素列方向に直交する方向に2画素分ずれた位置である(図15参照)。
【0146】
上述したデータアクセス時の動作をさらに説明する。上述したように、初期格納時の動作により、画面SRNの各画素の画素データは、3個の上位メモリバンクBK0〜BK2に振り分けて格納されている。図19は、第1の位相処理時において、アクセスパターンACPが開始位置(第1の位相処理時の初期設定位置)にある状態を示している。図20は、図19のうち、例えば上位メモリバンクBK0に係る部分のみを取り出したものである。
【0147】
第1の位相処理時の動作開始時に、下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23の読み出しアドレスRおよび書き込み開始アドレスWがセットされる。この場合、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23の読み出しアドレスRは、データ格納制御部120のアドレス生成部128で生成された、第1の位相処理時の読み出し開始アドレスRSと同じアドレスにセットされる。またこの場合、9個の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22の書き込みアドレスWは、データ格納制御部120のアドレス生成部128で生成された、第1の位相処理時の書き込み開始アドレスWSと同じアドレスにセットされる。
【0148】
図21は、初期状態における、メモリバンクBK00〜BK03のデータ格納状態および読み出しアドレスRおよび書き込みアドレスWのアドレス位置を示している。なお、メモリバンクBK10〜BK13,BK20〜23のデータ格納状態および読み出しアドレスRおよび書き込みアドレスWのアドレス位置は、メモリバンクBK00〜BK03の場合と同様であるので、その図示を省略する。以下の各状態においても同様である。
【0149】
カウンタ141のカウントが開始され、上述の図19に示すように、アクセスパターンACPの設定位置が開始位置とされると、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23の、読み出しアドレスRで示されるアドレス位置から、開始位置のアクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データDo01〜Do12が同時に読み出される。そして、12個の下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23の読み出しアドレスRはそれぞれインクリメントされる。
【0150】
下位メモリバンクBK01〜BK03,BK11〜BK13,BK21〜BK23から読み出された画素データは、図22に示すように、1つ前の下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22の、書き込み込みアドレスWで示されるアドレス位置に書き込まれる(画素データの移動)。そして、下位メモリバンクBK00〜BK02,BK10〜BK12,BK20〜BK22の書き込みアドレスWはそれぞれインクリメントされる。
【0151】
その後、移動クロックMCKの入力に伴ってアクセスパターンACPの設定位置が画素列方向(水平方向)に1画素移動する毎に、上述したと同様に、アクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データDo01〜Do12が同時に読み出され、読み出しアドレスRのインクリメント、画素データの移動、書き込みアドレスWのインクリメントの処理が行われる。
【0152】
図23は、第1の位相処理時において、アクセスパターンACPが1画素移動した状態を示している。図24は、図23のうち、例えば上位メモリバンクBK0に係る部分のみを取り出したものである。さらに、図25は、アクセスパターンACPが1画素移動した状態における、メモリバンクBK00〜BK03のデータ格納状態および読み出しアドレスRおよび書き込みアドレスWのアドレス位置を示している。
【0153】
また、図26は、第1の位相処理時において、アクセスパターンACPが22画素移動した状態を示している。図27は、図26のうち、例えば上位メモリバンクBK0に係る部分のみを取り出したものである。さらに、図28は、アクセスパターンACPが22画素移動した状態における、メモリバンクBK00〜BK03のデータ格納状態および読み出しアドレスRおよび書き込みアドレスWのアドレス位置を示している。
【0154】
この場合、図26に示すように、アクセスパターンACPの設定位置は、開始位置から画素列方向に直交する方向に3画素分ずれた列の先頭に移動する。なお、1画素分ずれた列についてのデータアクセス動作は第2の位相処理時に行われ、2画素分ずれた列についてのデータアクセス動作は第3の位相処理時に行われる。
【0155】
以下、アクセスパターンACPが22画素移動する毎に、アクセスパターンACPの設定位置は、画素列方向に直交する方向に3画素分ずれた列の先頭に移動する。
【0156】
上述の図19〜図28を使用した説明は、第1の位相処理時におけるデータアクセスの動作を説明したものである。詳細説明は省略するが、第2の位相処理時および第3の位相処理時におけるデータアクセスの動作も同様にして行われる。これら第1〜第3の位相処理時におけるデータアクセスの動作が行われることで、アクセスパターンACPの設定位置を開始位置から画素列方向に移動した各設定位置で、このアクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データDo01〜Do12を、3個の上位メモリバンクBK0〜BK2から同時に取得できる。
【0157】
なお、データ格納制御部120の制御による初期格納の第1〜第3の位相処理と、データアクセス制御部140の制御によるデータアクセスの第1〜第3の位相処理との処理時間の関係については、初期格納とデータアクセスの各位相の処理を交互に行うか、あるいは初期格納の全ての位相の処理を行った後に、データアクセスの全ての位相の処理を行うようにする。ただし、初期格納の全ての位相の処理をまとめて行う場合には、上位メモリバンクBK0〜BK2が3セット必要となる。
【0158】
図1に示すデータアクセス装置100によれば、アクセスパターンACPの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンACPで特定される12個のアクセス画素IM1〜IM4,IM1U〜IM4U,IM1D〜IM4Dの画素データがそれぞれ異なる下位メモリバンクBK00〜BK03,BK10〜BK13,BK20〜BK23に格納された状態として、当該12個の画素データを同時にアクセスできるようにしたものであり、当該12個の画素データの同時取得を容易に行うことができる。
【0159】
また、図1に示すデータアクセス装置100によれば、初期格納時に、第1〜第3の画素列の画素データのそれぞれが上位メモリバンクBK0〜BK2に振り分けて格納され、データアクセス時に上位メモリバンク毎にデータの移動処理を行うものであり、データアクセス時における画素データの移動処理を少なくできる。
【0160】
例えば、アクセスパターンACPが上述実施の形態にように12個の画素のパターンであるとき、初期格納時に、各画素列の画素データを、12個のメモリバンクに、それぞれ、開始位置に設定されたアクセスパターンACPで特定される12個の画素の画素データを先頭にして格納すると共に、データアクセス時に、アクセスパターンで特定される12個の画素の画素データが12個のメモリバンクに格納されているようにデータ移動処理を行うものにあっては、このデータ移動処理として11個分の移動処理が必要となるが、図1に示すデータアクセス装置110では、1個の上位メモリバンクでは3個分の移動処理でよく(図22参照)、3個の上位メモリバンクBK0〜BK2では合計で9個分の移動処理で済む。
【0161】
また、図1に示すデータアクセス装置100によれば、アクセスパターンACPは、4個の中心画素IM1〜IM4および各中心画素の上下に位置する周辺画素IM1U〜IM4U,IM1D〜IM4Dのパターンであって、アクセスパターンACPを構成する画素の数が12個と多くなるが、上述したように第1〜第3の画素列の画素データのそれぞれを3個の上位メモリバンクBK0〜BK2に振り分けて格納し、またデータアクセス時に上位メモリバンク毎にデータの移動処理を行うものであり、データアクセス時における画素データの移動処理を少なくできる。
【0162】
また、図1に示すデータアクセス装置100によれば、中心画素とその上下に位置する周辺画素からなる画素群が3本の画素列に渡っており、上述したように第1〜第3の画素列の画素データのそれぞれを3個の上位メモリバンクBK0〜BK2に振り分けて格納することで、各上位メモリバンクにおける下位メモリバンクの必要個数はそれぞれ4個であり、そのバラツキを抑えている。
【0163】
また、図1に示すデータアクセス装置100によれば、データ格納制御部120からデータアクセス制御部140に各メモリバンクBK0〜BK5の読み出し開始アドレスRSおよび書き込み開始アドレスWSを与えるものであり、例えばこれらデータ格納制御部120およびデータアクセス制御部140を制御する制御装置が、アクセスパターンACPの情報に基づいて各下位メモリバンクの読み出し開始アドレスRSおよび書き込み開始アドレスWSを生成して、データアクセス制御部140に与えることが必要でなくなる。
【0164】
なお、上述実施の形態においては、アクセスパターンACPは、図2に示すように、4個の中心画素IM1〜IM4、および各中心画素の上下に位置する8個の周辺画素IM1U,IM1D,IM2U,IM2D,IM3U,IM3D,IM4U,IM4Dからなる12個の画素のパターンであるが、これに限定されるものではない。例えば、中心画素の個数は4個に限られるものではなく、また周辺画素は、中心画素の上下に位置する代わりに、左右、上下左右、または斜め方向に位置するものであってもよく、さらには中心画素に隣接していなくてもよい。
【0165】
また、上述実施の形態においては、アクセスパターンACPは、図2に示すように、中心画素と周辺画素とを組み合わせたパターンとして考えているが、必ずしも、中心画素と周辺画素とを組み合わせた画素パターンとして捉える必要はない。すなわち、この発明は、アクセスパターンACPが中心画素と周辺画素とを組み合わせた画素パターンであるか否かに拘わらず、当該アクセスパターンACPを構成する画素の数が大きい場合に有効なものとなる。
【0166】
また、上述実施の形態においては、画面SRNにおける各画素列を第1〜第3の画素列の繰り返しであるとして、この第1〜第3の画素列の画素データをそれぞれ上位メモリバンクBK0〜BK2に振り分けて格納するものを示したが、上位メモリバンクの個数は3個に限定されない。一般にN個(Nは2以上の整数)の上位メモリバンクを使用する場合、画面SRNにおける各画素列は第1〜第Nの画素列の繰り返しであるとして、この第1〜第Nの画素列の画素データがそれぞれ第1〜第Nの上位メモリバンクに格納されることになる。このように第1〜第Nの上位メモリバンクを用いる場合、データ格納制御部120およびデータアクセス制御部140は、それぞれ、第1〜第Nの位相処理を行うことになる。
【0167】
また、上述実施の形態においては、画面SRNが水平方向に伸びる画素列が垂直方向に順次配列された構成であるとし、初期格納時には、各画素列の画素を順に注目画素とし、この注目画素の画素データを各上位メモリバンクBK0〜BK2に振り分けて格納し、データアクセス時には、アクセスパターンACPの設定位置を画素列方向に移動した各設定位置で当該アクセスパターンACPで特定される12個の画素の画素データDo01〜Do12を同時に得るものを示したが、画面SRNが垂直方向に伸びる画素列が水平方向に順次配列された構成であるとして、初期格納時およびデータアクセス時の動作を行うように構成することもできる。
【0168】
また、上述実施の形態においては、データ格納制御部120からデータアクセス制御部140に開始アドレスRS,WSを与えるものを示したが、これら開始アドレスRS,WSを、データ格納制御部120およびデータアクセス制御部140の動作を制御する制御装置から、データアクセス制御部140に与える構成とすることもできる。
【産業上の利用可能性】
【0169】
この発明は、アクセスパターンの設定位置を開始位置から画素列方向に順次移動した各設定位置で、当該アクセスパターンで特定される複数の画素の画素データの同時取得を容易に行い得るものであり、例えば特定のデータ配列を認識してパターン認識や動き検出等の処理を行う装置に適用できる。
【図面の簡単な説明】
【0170】
【図1】実施の形態としてのデータアクセス装置の構成を示すブロック図である。
【図2】実施の形態で、画面上に設定されるアクセスパターンを示す図である。
【図3】データアクセス装置を構成するデータ格納制御部の構成を示すブロック図である。
【図4】データ格納制御部の制御による初期格納時の動作を示すフローチャートである。
【図5】第1の位相処理時におけるアクセスパターンの設定位置を示す図である。
【図6】第1の位相処理時における画素データの初期格納状態を示す図である。
【図7】第1の位相処理時における、上位メモリバンクBK0に係る画面上のアクセスパターン、および下位メモリバンクBK00〜BK03への画素振り分けを示す図である。
【図8】第1の位相処理時における、下位メモリバンクBK00〜BK03のデータ格納状態を示す図である。
【図9】第1の位相処理時における、上位メモリバンクBK1に係る画面上のアクセスパターン、および下位メモリバンクBK10〜BK13への画素振り分けを示す図である。
【図10】第1の位相処理時における、下位メモリバンクBK10〜BK13のデータ格納状態を示す図である。
【図11】第1の位相処理時における、上位メモリバンクBK2に係る画面上のアクセスパターン、および下位メモリバンクBK20〜BK23への画素振り分けを示す図である。
【図12】第1の位相処理時における、下位メモリバンクBK20〜BK23のデータ格納状態を示す図である。
【図13】第2の位相処理時におけるアクセスパターンの設定位置を示す図である。
【図14】第2の位相処理時における画素データの初期格納状態を示す図である。
【図15】第3の位相処理時におけるアクセスパターンの設定位置を示す図である。
【図16】第3の位相処理時における画素データの初期格納状態を示す図である。
【図17】データアクセス装置を構成するデータアクセス制御部の構成を示すブロック図である。
【図18】データアクセス制御部の制御によるデータアクセス時の動作を示すフローチャートである。
【図19】第1の位相処理時における、アクセスパターンが開始位置にある状態を示す図である。
【図20】第1の位相処理時における、アクセスパターンが開始位置にある状態(上位メモリバンクBK0に係る部分)を示す図である。
【図21】第1の位相処理時における、上位メモリバンクBK0を構成する下位メモリバンクBK00〜BK03の初期状態を示す図である。
【図22】画素データの読み出し後の移動処理を説明するための図である。
【図23】第1の位相処理時における、画面上に設定されたアクセスパターンが開始位置から1画素移動した状態を示す図である。
【図24】第1の位相処理時における、アクセスパターンが開始位置から1画素移動した状態(上位メモリバンクBK0に係る部分)を示す図である。
【図25】第1の位相処理時における、上位メモリバンクBK0を構成する下位メモリバンクBK00〜BK03の1画素移動後の状態を示す図である。
【図26】第1の位相処理時における、画面上に設定されたアクセスパターンが開始位置から22画素移動した状態を示す図である。
【図27】第1の位相処理時における、アクセスパターンが開始位置から22画素移動した状態(上位メモリバンクBK0に係る部分)を示す図である。
【図28】第1の位相処理時における、上位メモリバンクBK0を構成する下位メモリバンクBK00〜BK03の22画素移動後の状態を示す図である。
【図29】一般的な半導体メモリの構造を概略的に示す図である。
【図30】同時アクセスできない状態を示す図である。
【図31】複数メモリバンクのメモリ構成を示す図である。
【図32】画面上に設定されたアクセスパターンの一例を示す図である。
【図33】4個のメモリバンクへの画素データの格納例を示す図である。
【図34】アクセスパターンが開始位置にあるときの各メモリバンクにおけるデータアクセス位置を示す図である。
【図35】アクセスパターンが10画素移動した状態を示す図である。
【図36】アクセスパターンが10画素移動した位置にあるときの各メモリバンクにおけるデータアクセス位置を示す図である。
【符号の説明】
【0171】
100・・・データアクセス装置、110・・・メモリ部、111・・・入力端子、112・・・出力端子、BK0〜BK2・・・上位メモリバンク、BK00〜BK03,BK10〜BK13,BK20〜BK23・・・下位メモリバンク、120・・・データ格納制御部、121・・・カウンタ(カウンタA)、122・・・カウンタ(カウンタB)、123・・・一致判定部、124・・・上位バンクアドレスカウンタ、125・・・下位バンクアドレスカウンタ、126・・・ビット線アドレスカウンタ、127・・・ワードアドレス線カウンタ、128・・・アドレス生成部、140・・・データアクセス制御部、141・・・カウンタ、142・・・アドレスカウンタ制御部、143・・・読み出しアドレスカウンタ、144・・・書き込みアドレスカウンタ、145・・・読み出しアドレス生成部、146・・・書き込みアドレス生成部、150・・・入力端子
【特許請求の範囲】
【請求項1】
それぞれ、下位バンクアドレスで特定される下位メモリバンクからなり、上位バンクアドレスで特定される複数の上位メモリバンクを有するメモリ部と、
水平または垂直に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを、上記所定画面上に設定される複数の画素のパターンであるアクセスパターンに基づき、上記複数の上位メモリバンクに振り分けて格納するための制御を行うデータ格納制御部と、
上記複数の上位メモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するための制御を行うデータアクセス制御部とを備え、
上記データ格納制御部は、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記所定画面における各画素列を、K番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、該第1〜第Nの画素列の画素データを、それぞれ第1〜第Nの上位メモリバンクに格納するものとし、
上記第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ上記第Mの上位メモリバンクに格納する際、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、上記第Mの画素列の注目画素が上記複数の画素のいずれかに最初に該当するとき、上記注目画素の画素データを上記第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始し、その後上記第Mの画素列の注目画素が上記複数の画素のいずれかに該当するとき、上記注目画素の画素データを格納する上記第Mの上位メモリバンクの下位メモリバンクを順次切り替え、
上記データアクセス制御部は、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、上記画素列方向に順次移動した上記アクセスパターンの各設定位置で、該アクセスパターンで特定される複数の画素の画素データを、上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データが異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを該画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する
ことを特徴とするデータアクセス装置。
【請求項2】
上記複数の画素のパターンは、複数の中心画素および各中心画素の周辺に位置する周辺画素のパターンである
ことを特徴とする請求項1に記載のデータアクセス装置。
【請求項3】
上記中心画素と該中心画素の周辺に位置する周辺画素からなる画素群がL本の画素列に渡るとき、上記Nは上記Lと等しくされる
ことを特徴とする請求項2に記載のデータアクセス装置。
【請求項4】
上記データ格納制御部は、
上記第Kの位相処理時に、それぞれ、上記注目画素が、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に一致する画素であるか否かを判定する一致判定部と、
上記注目画素が上記画素列の最初から何番目の画素であるかをカウントするカウント部と、
上記第Kの位相処理時に、上記一致判定部の判定出力およびカウント部のカウント値に基づいて、上記注目画素毎に、上記メモリ部に対する書き込みアドレスを生成するアドレス生成部とを有する
ことを特徴とする請求項1に記載のデータアクセス装置。
【請求項5】
上記データ格納制御部は、
上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対応した読み出し開始アドレスおよび書き込み開始アドレスを生成する開始アドレス生成部をさらに有し、
上記開始アドレス生成部は、それぞれのメモリバンクに対して、最初の画素データが格納されたアドレスを上記読み出し開始アドレスとし、最後の画素データが格納されたアドレスのつぎのアドレスを上記書き込み開始アドレスとする
ことを特徴とする請求項4に記載のデータアクセス装置。
【請求項6】
上記データアクセス制御部は、
上記第Kの位相処理時のそれぞれで上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクの読み出しアドレスを生成する読み出しアドレス生成部と、
上記第Kの位相処理時のそれぞれで上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクの書き込みアドレスを生成する書き込みアドレス生成部とを有し、
上記読み出しアドレス生成部は、
上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対し、最初の読み出しアドレスを、外部から与えられる読み出し開始アドレスにセットし、各設定位置で画素データの読み出しが行われるとき、上記読み出しアドレスをインクリメントして次の読み出しアドレスを生成し、
上記書き込みアドレス生成部は、
上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対し、最初の書き込みアドレスを、外部から与えられる書き込み開始アドレスにセットし、
各設定位置で画素データの書き込みが行われるとき、上記書き込みアドレスをインクリメントして次の書き込みアドレスを生成する
ことを特徴とする請求項1に記載のデータアクセス装置。
【請求項7】
上記外部から与えられる上記書き込み開始アドレスおよび上記読み出し開始アドレスは、上記データ格納制御部から与えられる
ことを特徴とする請求項6に記載のデータアクセス装置。
【請求項8】
水平または垂直の方向に伸びる画素列が垂直または水平の方向の順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを、上記所定画面上に設定される複数の画素のパターンであるアクセスパターンに基づき、それぞれ下位バンクアドレスで特定される下位メモリバンクからなり、上位バンクアドレスで特定される複数の上位メモリバンクに振り分けて格納するデータ格納工程と、
上記複数の上位メモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス工程とを備え、
上記データ格納工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記所定画面における各画素列をK番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、該第1〜第Nの画素列の画素データをそれぞれ第1〜第Nの上位メモリバンクに格納するものとし、
上記第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ上記第Mの上位メモリバンクに格納する際、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、上記第Mの画素列の注目画素が上記複数の画素のいずれかに最初に該当するとき、上記注目画素の画素データを上記第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始し、その後上記第Mの画素列の注目画素が上記複数の画素のいずれかに該当するとき、上記注目画素の画素データを格納する上記第Mの上位メモリバンクの下位メモリバンクを順次切り替え、
上記データアクセス工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、上記画素列方向に順次移動した上記アクセスパターンの各設定位置で、該アクセスパターンで特定される複数の画素の画素データを、上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データが異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを該画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する
ことを特徴とするデータアクセス方法。
【請求項9】
水平または垂直の方向に伸びる画素列が垂直または水平の方向の順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを、上記所定画面上に設定される複数の画素のパターンであるアクセスパターンに基づき、それぞれ下位バンクアドレスで特定される下位メモリバンクからなり、上位バンクアドレスで特定される複数の上位メモリバンクに振り分けて格納するデータ格納工程と、
上記複数の上位メモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス工程とを備え、
上記データ格納工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記所定画面における各画素列をK番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、該第1〜第Nの画素列の画素データをそれぞれ第1〜第Nの上位メモリバンクに格納するものとし、
上記第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ上記第Mの上位メモリバンクに格納する際、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、上記第Mの画素列の注目画素が上記複数の画素のいずれかに最初に該当するとき、上記注目画素の画素データを上記第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始し、その後上記第Mの画素列の注目画素が上記複数の画素のいずれかに該当するとき、上記注目画素の画素データを格納する上記第Mの上位メモリバンクの下位メモリバンクを順次切り替え、
上記データアクセス工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、上記画素列方向に順次移動した上記アクセスパターンの各設定位置で、該アクセスパターンで特定される複数の画素の画素データを、上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データが異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを該画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する
データアクセス方法をコンピュータに実行させるためのプログラム。
【請求項10】
水平または垂直の方向に伸びる画素列が垂直または水平の方向の順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを、上記所定画面上に設定される複数の画素のパターンであるアクセスパターンに基づき、それぞれ下位バンクアドレスで特定される下位メモリバンクからなり、上位バンクアドレスで特定される複数の上位メモリバンクに振り分けて格納するデータ格納工程と、
上記複数の上位メモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス工程とを備え、
上記データ格納工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記所定画面における各画素列をK番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、該第1〜第Nの画素列の画素データをそれぞれ第1〜第Nの上位メモリバンクに格納するものとし、
上記第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ上記第Mの上位メモリバンクに格納する際、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、上記第Mの画素列の注目画素が上記複数の画素のいずれかに最初に該当するとき、上記注目画素の画素データを上記第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始し、その後上記第Mの画素列の注目画素が上記複数の画素のいずれかに該当するとき、上記注目画素の画素データを格納する上記第Mの上位メモリバンクの下位メモリバンクを順次切り替え、
上記データアクセス工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、上記画素列方向に順次移動した上記アクセスパターンの各設定位置で、該アクセスパターンで特定される複数の画素の画素データを、上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データが異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを該画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する
データアクセス方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
それぞれ、下位バンクアドレスで特定される下位メモリバンクからなり、上位バンクアドレスで特定される複数の上位メモリバンクを有するメモリ部と、
水平または垂直に伸びる画素列が垂直または水平の方向に順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを、上記所定画面上に設定される複数の画素のパターンであるアクセスパターンに基づき、上記複数の上位メモリバンクに振り分けて格納するための制御を行うデータ格納制御部と、
上記複数の上位メモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するための制御を行うデータアクセス制御部とを備え、
上記データ格納制御部は、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記所定画面における各画素列を、K番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、該第1〜第Nの画素列の画素データを、それぞれ第1〜第Nの上位メモリバンクに格納するものとし、
上記第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ上記第Mの上位メモリバンクに格納する際、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、上記第Mの画素列の注目画素が上記複数の画素のいずれかに最初に該当するとき、上記注目画素の画素データを上記第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始し、その後上記第Mの画素列の注目画素が上記複数の画素のいずれかに該当するとき、上記注目画素の画素データを格納する上記第Mの上位メモリバンクの下位メモリバンクを順次切り替え、
上記データアクセス制御部は、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、上記画素列方向に順次移動した上記アクセスパターンの各設定位置で、該アクセスパターンで特定される複数の画素の画素データを、上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データが異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを該画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する
ことを特徴とするデータアクセス装置。
【請求項2】
上記複数の画素のパターンは、複数の中心画素および各中心画素の周辺に位置する周辺画素のパターンである
ことを特徴とする請求項1に記載のデータアクセス装置。
【請求項3】
上記中心画素と該中心画素の周辺に位置する周辺画素からなる画素群がL本の画素列に渡るとき、上記Nは上記Lと等しくされる
ことを特徴とする請求項2に記載のデータアクセス装置。
【請求項4】
上記データ格納制御部は、
上記第Kの位相処理時に、それぞれ、上記注目画素が、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に一致する画素であるか否かを判定する一致判定部と、
上記注目画素が上記画素列の最初から何番目の画素であるかをカウントするカウント部と、
上記第Kの位相処理時に、上記一致判定部の判定出力およびカウント部のカウント値に基づいて、上記注目画素毎に、上記メモリ部に対する書き込みアドレスを生成するアドレス生成部とを有する
ことを特徴とする請求項1に記載のデータアクセス装置。
【請求項5】
上記データ格納制御部は、
上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対応した読み出し開始アドレスおよび書き込み開始アドレスを生成する開始アドレス生成部をさらに有し、
上記開始アドレス生成部は、それぞれのメモリバンクに対して、最初の画素データが格納されたアドレスを上記読み出し開始アドレスとし、最後の画素データが格納されたアドレスのつぎのアドレスを上記書き込み開始アドレスとする
ことを特徴とする請求項4に記載のデータアクセス装置。
【請求項6】
上記データアクセス制御部は、
上記第Kの位相処理時のそれぞれで上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクの読み出しアドレスを生成する読み出しアドレス生成部と、
上記第Kの位相処理時のそれぞれで上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクの書き込みアドレスを生成する書き込みアドレス生成部とを有し、
上記読み出しアドレス生成部は、
上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対し、最初の読み出しアドレスを、外部から与えられる読み出し開始アドレスにセットし、各設定位置で画素データの読み出しが行われるとき、上記読み出しアドレスをインクリメントして次の読み出しアドレスを生成し、
上記書き込みアドレス生成部は、
上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクのそれぞれに対し、最初の書き込みアドレスを、外部から与えられる書き込み開始アドレスにセットし、
各設定位置で画素データの書き込みが行われるとき、上記書き込みアドレスをインクリメントして次の書き込みアドレスを生成する
ことを特徴とする請求項1に記載のデータアクセス装置。
【請求項7】
上記外部から与えられる上記書き込み開始アドレスおよび上記読み出し開始アドレスは、上記データ格納制御部から与えられる
ことを特徴とする請求項6に記載のデータアクセス装置。
【請求項8】
水平または垂直の方向に伸びる画素列が垂直または水平の方向の順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを、上記所定画面上に設定される複数の画素のパターンであるアクセスパターンに基づき、それぞれ下位バンクアドレスで特定される下位メモリバンクからなり、上位バンクアドレスで特定される複数の上位メモリバンクに振り分けて格納するデータ格納工程と、
上記複数の上位メモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス工程とを備え、
上記データ格納工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記所定画面における各画素列をK番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、該第1〜第Nの画素列の画素データをそれぞれ第1〜第Nの上位メモリバンクに格納するものとし、
上記第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ上記第Mの上位メモリバンクに格納する際、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、上記第Mの画素列の注目画素が上記複数の画素のいずれかに最初に該当するとき、上記注目画素の画素データを上記第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始し、その後上記第Mの画素列の注目画素が上記複数の画素のいずれかに該当するとき、上記注目画素の画素データを格納する上記第Mの上位メモリバンクの下位メモリバンクを順次切り替え、
上記データアクセス工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、上記画素列方向に順次移動した上記アクセスパターンの各設定位置で、該アクセスパターンで特定される複数の画素の画素データを、上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データが異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを該画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する
ことを特徴とするデータアクセス方法。
【請求項9】
水平または垂直の方向に伸びる画素列が垂直または水平の方向の順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを、上記所定画面上に設定される複数の画素のパターンであるアクセスパターンに基づき、それぞれ下位バンクアドレスで特定される下位メモリバンクからなり、上位バンクアドレスで特定される複数の上位メモリバンクに振り分けて格納するデータ格納工程と、
上記複数の上位メモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス工程とを備え、
上記データ格納工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記所定画面における各画素列をK番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、該第1〜第Nの画素列の画素データをそれぞれ第1〜第Nの上位メモリバンクに格納するものとし、
上記第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ上記第Mの上位メモリバンクに格納する際、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、上記第Mの画素列の注目画素が上記複数の画素のいずれかに最初に該当するとき、上記注目画素の画素データを上記第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始し、その後上記第Mの画素列の注目画素が上記複数の画素のいずれかに該当するとき、上記注目画素の画素データを格納する上記第Mの上位メモリバンクの下位メモリバンクを順次切り替え、
上記データアクセス工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、上記画素列方向に順次移動した上記アクセスパターンの各設定位置で、該アクセスパターンで特定される複数の画素の画素データを、上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データが異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを該画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する
データアクセス方法をコンピュータに実行させるためのプログラム。
【請求項10】
水平または垂直の方向に伸びる画素列が垂直または水平の方向の順次配列された所定画面における各画素列の画素を順に注目画素とし、該注目画素の画素データを、上記所定画面上に設定される複数の画素のパターンであるアクセスパターンに基づき、それぞれ下位バンクアドレスで特定される下位メモリバンクからなり、上位バンクアドレスで特定される複数の上位メモリバンクに振り分けて格納するデータ格納工程と、
上記複数の上位メモリバンクから、上記アクセスパターンの設定位置を開始位置から画素列方向に移動した各設定位置で、上記アクセスパターンで特定される複数の画素の画素データを同時に取得するデータアクセス工程とを備え、
上記データ格納工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記所定画面における各画素列をK番目の画素列を最初の画素列として第1〜第Nの画素列の繰り返しであるとし、該第1〜第Nの画素列の画素データをそれぞれ第1〜第Nの上位メモリバンクに格納するものとし、
上記第Kの位相処理時に、第M(M=1〜N)の画素列の画素データをそれぞれ上記第Mの上位メモリバンクに格納する際、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置に設定されたアクセスパターンで特定される複数の画素に基づき、上記第Mの画素列の注目画素が上記複数の画素のいずれかに最初に該当するとき、上記注目画素の画素データを上記第Mの上位メモリバンクの最初の下位メモリバンクに格納することを開始し、その後上記第Mの画素列の注目画素が上記複数の画素のいずれかに該当するとき、上記注目画素の画素データを格納する上記第Mの上位メモリバンクの下位メモリバンクを順次切り替え、
上記データアクセス工程では、
第1〜第N(Nは2以上の整数)の位相処理を順次行うものとし、第K(K=1〜N)の位相処理時において、上記開始位置から上記画素列方向に直交する方向に(K−1)画素分ずれた位置を最初の設定位置とし、一列分の移動が終わる毎にN画素分ずれた列の先頭に移動し、上記画素列方向に順次移動した上記アクセスパターンの各設定位置で、該アクセスパターンで特定される複数の画素の画素データを、上記第1〜第Nの上位メモリバンクを構成する下位メモリバンクから同時に読み出し、上記設定位置が上記画素列方向に移動した際に、上記設定位置における上記アクセスパターンで特定される複数の画素の画素データが異なる下位メモリバンクに格納されているように、上位メモリバンク毎に、所定の下位メモリバンクから読み出した画素データを該画素データが格納されていた下位メモリバンクの1つ前の下位メモリバンクに格納する
データアクセス方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【公開番号】特開2006−309602(P2006−309602A)
【公開日】平成18年11月9日(2006.11.9)
【国際特許分類】
【出願番号】特願2005−133251(P2005−133251)
【出願日】平成17年4月28日(2005.4.28)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成18年11月9日(2006.11.9)
【国際特許分類】
【出願日】平成17年4月28日(2005.4.28)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]