JP2005309622A - Data storage device, data storage control device, data storage control method and data storage control program - Google Patents
Data storage device, data storage control device, data storage control method and data storage control program Download PDFInfo
- Publication number
- JP2005309622A JP2005309622A JP2004123467A JP2004123467A JP2005309622A JP 2005309622 A JP2005309622 A JP 2005309622A JP 2004123467 A JP2004123467 A JP 2004123467A JP 2004123467 A JP2004123467 A JP 2004123467A JP 2005309622 A JP2005309622 A JP 2005309622A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bank
- access pattern
- stored
- line address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Image Input (AREA)
- Dram (AREA)
Abstract
Description
本発明は、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うデータ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラムに関する。 The present invention relates to a data storage device, a data storage control device, a data storage control method, and a data storage control program that store all data in a memory composed of a plurality of memory banks and simultaneously read out a desired plurality of data.
半導体メモリは、図23に示すように、ワード線WLとビット線BLを指定してメモリセルMCをアクセスする構造となっており、活性化された1ワード線とビット線の交差する位置にあるメモリセルMCに格納されたデータが読み出される。 As shown in FIG. 23, the semiconductor memory has a structure in which the memory cell MC is accessed by designating the word line WL and the bit line BL, and is located at a position where the activated one word line and the bit line intersect. Data stored in the memory cell MC is read out.
このような構造の半導体メモリでは、同じビット線を複数のワード線のデータが共有しているので、図24のように、複数のワード線WL1,WL2を指定するとビット線に出てきたデータが壊れてしまうため、異なるワード線のデータには同時アクセスできない。 In a semiconductor memory having such a structure, data of a plurality of word lines share the same bit line. Therefore, when a plurality of word lines WL1 and WL2 are designated as shown in FIG. Since it is broken, data on different word lines cannot be accessed simultaneously.
一方、独立したメモリバンクからは同時にデータを読み出すことが可能であり、図25に示すように、メモリをn個のメモリバンクBK0〜BKn−1に分け、それぞれのメモリバンクに異なるアドレスを指定することで複数のワード線のデータに同時アクセスすることができるが、メモリバンク内の異なるワード線のデータには同時アクセスできない。すなわち、同時に読み出すことが出来るのは各メモリバンクから同一ワード線上に格納されたデータであり、同一メモリバンクにおける異なるワード線上に格納されたデータは同時読み出し不可能である。 On the other hand, it is possible to simultaneously read data from independent memory banks. As shown in FIG. 25, the memory is divided into n memory banks BK0 to BKn-1, and different addresses are designated for the respective memory banks. Thus, data on a plurality of word lines can be accessed simultaneously, but data on different word lines in the memory bank cannot be accessed simultaneously. That is, data stored on the same word line from each memory bank can be read simultaneously, and data stored on different word lines in the same memory bank cannot be read simultaneously.
ここで、メモリバンクとは、複数のワード線と複数のビット線からなるメモリにおいて選択されるワード・アドレスが単一であるメモリ単位をいう。 Here, the memory bank refers to a memory unit having a single word address selected in a memory composed of a plurality of word lines and a plurality of bit lines.
また、従来より、入力データに含まれる特定のデータ配列を認識することにより、例えば画像データのパターン認識等の処理が行われている。 Conventionally, processing such as pattern recognition of image data has been performed by recognizing a specific data array included in input data.
また、従来より、入力データに含まれる特定のデータ配列を認識することにより、例えば画像データのパターン認識や動き検出等の処理が行われている。 Conventionally, processing such as pattern recognition and motion detection of image data has been performed by recognizing a specific data array included in input data.
例えば、数ライン画像データを蓄積でき画素単位で出力できるバッファメモリと、数ビット幅データを処理可のプロセッサエレメントの複数を含み複数プロセッサエレメントで同時並行してデータ処理ができるデータ処理器と、マッチング参照データと制御データを格納する制御情報メモリとを備え、データ処理器の各プロセッサエレメントが、バッファメモリが出力した画像データの中の、自己に宛てられた注目画素中心のマトリクスの画像データ群を、閾値を用いて2値化して該プロセッサエレメントが処理可能なシリアル配列のビット幅に区切った対象データに変換し、同形式で制御情報メモリにあった参照データと合致か判定することが行われている(例えば、特許文献1参照)。 For example, a buffer memory that can store several lines of image data and output in pixel units, a data processor that includes multiple processor elements that can process several bits of width data, and that can process data simultaneously in multiple processor elements, and matching A control information memory for storing reference data and control data, and each processor element of the data processor selects a group of image data in a matrix centered on a target pixel addressed to itself among the image data output from the buffer memory. Then, it is binarized using a threshold value, converted into target data divided into serial array bit widths that can be processed by the processor element, and it is determined whether it matches the reference data in the control information memory in the same format. (For example, refer to Patent Document 1).
また、動画像の処理の分野において、動き、すなわち、時間的に異なる画像中の物体の動き方向と大きさ(または速さ)が用いられており、例えば画像の高能率符号化における動き補償フレーム間符号化や、フレーム間時間領域フィルタによるテレビジョン雑音低減装置における動きによるパラメータ制御等に動きが用いられる。動きを求める動き検出方法としては、ブロックマッチング法が知られている。 Also, in the field of moving image processing, motion, that is, the motion direction and size (or speed) of an object in a temporally different image is used. For example, a motion compensation frame in high-efficiency encoding of an image Motion is used for inter-coding, parameter control by motion in a television noise reduction device using an inter-frame time domain filter, and the like. A block matching method is known as a motion detection method for obtaining motion.
本件出願人は、画像信号中の動きを検出する動き検出方法において、(a)1画面全体または1画面を複数に分割した比較的大きなブロック毎に、マッチング法によって積算値テーブルを生成し、上記積算値テーブルを用いて、上記1画面全体または1画面を複数に分割した比較的大きなブロック毎に、1または複数の候補ベクトルを抽出するステップと、(b)上記候補ベクトルのみを対象としてマッチングを行い、1画素または比較的小さいブロック毎に動きベクトルを検出するステップとからなる2ステップの動き検出方法を先に提案している。この2ステップの動き検出方法では、画像の動き検出を2ステップ方式の代表点マッチングにより行う代表点マッチング、ベクトル割り当ての2ステップの過程において、いずれも画像内における任意の複数の画素データを同時に読み出す必要がある(例えば、特許文献2参照)。
ところで、例えば、図26に示すように、ある画像に対して、同時アクセスしたい画素が4画素のパターンの場合、図27に示すように所望の複数画素を別バンクに格納するための必要最低限のバンク数は4となる。 縦(h画素)×横(w画素)のサーチエリアSRがあり、その中で任意のアクセスしたいn個の候補がある場合、その種類は、(h×w)C(n)個ある。このひとつひとつをアクセスパターンと言っている。アクセスパターンとしては、サーチエリア内の任意のアクセス候補の数の組み合わせが可能である。図26の例であれは16×8C4通りの組み合わせの内の一つの例を示したものである。 By the way, for example, as shown in FIG. 26, when a pixel to be accessed simultaneously has a pattern of 4 pixels as shown in FIG. 26, the minimum necessary for storing a desired plurality of pixels in another bank as shown in FIG. The number of banks is 4. If there is a vertical (h pixel) × horizontal (w pixel) search area SR, and there are n candidates to be accessed, there are (h × w) C (n) types. Each of these is called an access pattern. As an access pattern, a combination of any number of access candidates in the search area is possible. In the example of FIG. 26, one of the 16 × 8 C four combinations is shown.
ただし、スキャン順にアクセスしたいパターンが移動していくのに対応するためには、初期配置においてアクセス画素以外の格納方法にも工夫が必要となる。 However, in order to cope with the movement of the pattern to be accessed in the scan order, it is necessary to devise a storage method other than the access pixel in the initial arrangement.
例えば、図28に示すように、アクセス候補間の画素を1 画素毎に別バンクに格納したり、図29に示すように、アクセス候補間の画素を同じバンクに格納する必要がある。 For example, as shown in FIG. 28, it is necessary to store pixels between access candidates in a separate bank for each pixel, or store pixels between access candidates in the same bank as shown in FIG.
アクセス候補間の画素を同じバンクに格納すると、図30の(A),(B),(C)に示すように、スキャン順にパターンが移動しても、ある一定の区間は同時にアクセスが可能となる。 When the pixels between the access candidates are stored in the same bank, as shown in FIGS. 30A, 30B, and 30C, even if the pattern moves in the scan order, it is possible to simultaneously access a certain section. Become.
しかし、図31に示すように、アクセスパターンの移動がアクセス画素間を超えると、同時に同じバンクの画素にアクセスすることになってしまう。 However, as shown in FIG. 31, if the movement of the access pattern exceeds between access pixels, the pixels in the same bank are simultaneously accessed.
ここで、図27〜図31中の数字は、格納先のバンクアドレスを表している。 Here, the numbers in FIG. 27 to FIG. 31 represent the bank address of the storage destination.
このデータを同時アクセスするためには、他のバンクに格納するか、同じワード線に格納するかのどちらかである。パターンによっては、格納する場所を上手く選べば同時アクセスできる場合があるが、どのようなパターンでも同時アクセスできるようにするためには、1バンクが1 ワード線だけで構成されるぐらい細かくバンク分割する必要がある。しかし、細かく分割するほどバンク数は多くなり、バンク数が多くなると、次のような問題点が発生する。 In order to access this data simultaneously, it is stored either in another bank or on the same word line. Depending on the pattern, simultaneous access may be possible if the storage location is selected appropriately. However, in order to allow simultaneous access to any pattern, the bank is divided so finely that one bank is composed of only one word line. There is a need. However, the finer the number of banks, the larger the number of banks. As the number of banks increases, the following problems occur.
すなわち、 それぞれのバンクに異なるアドレスを指定するのでアドレスバスが膨大になる。 In other words, since different addresses are assigned to each bank, the address bus becomes enormous.
また、 デコーダやセレクタがバンクの数だけ必要なのでチップ面積が大きくなる。 In addition, since the number of decoders and selectors required is the same as the number of banks, the chip area increases.
また、 同時に複数のバンクが動作するため消費電力が多くなる。 In addition, power consumption increases because multiple banks operate simultaneously.
さらに、1 ワード線のデータ数を増やすと、ワード線が長くなり、1 ワード線のデータにアクセスするときに時間がかかる。 Furthermore, if the number of data for one word line is increased, the word line becomes longer and it takes time to access the data for one word line.
このように、半導体メモリでは、1バンクにつき1ワード線のみ構成するとデータの同時読み出しは可能であるが、格納すべきデータ量が膨大になるとハードウエアに負担がかかり、現実的でない。 Thus, in a semiconductor memory, if only one word line is configured per bank, data can be read simultaneously. However, if the amount of data to be stored is enormous, the hardware is burdened, which is not realistic.
そこで、従来の技術ではデータを読み出し、一時的に記憶するバッファやキャッシュを設け、所望の複数データを複数回に時間的に分割し、バッファやキャッシュに一時記憶し、読み出していた。 Therefore, in the conventional technique, a buffer or cache for reading data and temporarily storing it is provided, and a plurality of desired data is divided into a plurality of times in time, temporarily stored in the buffer or cache, and read.
しかしながら、所望の複数データの数が増え、かつ、データの入出力が高速になると、データの読み出し処理が時間的に遅れてしまう。また、これを解決するために、一時記憶するバッファやキャッシュを増やすことがなされているが、その領域が大きくなるとハードウエアに負担が生じる。 However, when the number of desired plural data increases and the data input / output speeds up, the data read processing is delayed in time. In order to solve this problem, the number of buffers and caches to be temporarily stored has been increased. However, if the area becomes large, a burden is imposed on hardware.
また、アクセス候補間の画素を同じバンクに格納する場合、画像の大きさとサーチエリアの大きさによっては、最終バンクとして非常に大きなバンクを用意しなければならない場合が存在する。これは最終候補画素以降を同じバンクに格納していることに起因する。バンクが大きくなることは、1 ワード線上の画素数が増えることにつながり、各データへのアクセスへの時間がかかるという問題が生じてしまう。 When pixels between access candidates are stored in the same bank, depending on the size of the image and the size of the search area, it may be necessary to prepare a very large bank as the final bank. This is due to the fact that the final candidate pixels and subsequent are stored in the same bank. An increase in the bank leads to an increase in the number of pixels on one word line, which causes a problem that it takes time to access each data.
そこで、本発明の目的は、上述の如き従来の問題点に鑑み、画像の大きさやサーチエリアの大きさに依存することなく、且つ、ハードウエアに負担を生じることなく、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うことのできるデータ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラムを提供することにある。 In view of the above-described conventional problems, an object of the present invention is to include a plurality of memory banks without depending on the size of an image and the size of a search area and without causing a burden on hardware. An object of the present invention is to provide a data storage device, a data storage control device, a data storage control method, and a data storage control program capable of storing all data in a memory and simultaneously reading desired plural data.
本発明の更に他の目的、本発明によって得られる具体的な利点は、以下に説明される実施の形態の説明から一層明らかにされる。 Other objects of the present invention and specific advantages obtained by the present invention will become more apparent from the description of embodiments described below.
本発明に係るデータ格納装置は、全データを上記メモリを構成する複数のメモリバンクに振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、アクセスパターンの最終候補まではアクセス候補間のデータを同じバンクに格納し、アクセスパターンの最終以降は所定周期毎にバンクを切り替えてデータを格納することにより初期配置するデータ格納処理部と、上記複数のメモリバンクからなるメモリ上に初期配置された全データに対し、ワード線アドレスとビット線アドレスをインクリメントしながら、そのワード線アドレス、ビット線アドレス上の画素のデータをバンク数だけ読み出すデータ読み出し格納処理部とを備え、上記データ読み出し格納処理部は、アクセスパターン及び同一ワード線上の1画素のデータを読み出し、そのバンクアドレス−1のバンクアドレスの最終ワード線アドレスの最終ビット線アドレスに+1した位置に、上記読み出した1画素のデータを格納することを特徴とする。 When the data storage device according to the present invention distributes and stores all data in a plurality of memory banks constituting the memory, the data storage device is configured based on an access pattern indicating a plurality of desired data to be read simultaneously. The data storage processing unit that stores data between access candidates in the same bank until the final candidate, and stores the data by switching the bank at predetermined intervals after the final access pattern, and the plurality of memory banks A data read storage processing unit that reads out the data of the pixels on the word line address and the bit line address by the number of banks while incrementing the word line address and the bit line address for all the data initially arranged in the memory consisting of The data read / store processing unit includes an access pattern and the same word. It reads the data of one pixel of de line, +1 position to the last bit line address of the last word line address of the bank address of the bank address -1, and wherein storing the data of one pixel read above.
また、本発明は、複数のメモリバンクからなるメモリに対するデータの書き込み/読み出しを制御するデータ格納制御装置であって、全データを上記メモリを構成する複数のメモリバンクに振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、アクセスパターンの最終候補まではアクセス候補間のデータを同じバンクに格納し、アクセスパターンの最終以降は所定周期毎にバンクを切り替えてデータを格納することにより初期配置するデータ格納処理部と、上記複数のメモリバンクからなるメモリ上に初期配置された全データに対し、ワード線アドレスとビット線アドレスをインクリメントしながら、そのワード線アドレス、ビット線アドレス上の画素のデータをバンク数だけ読み出すデータ読み出し格納処理部とを備え、上記データ読み出し格納処理部は、アクセスパターン及び同一ワード線上の1画素のデータを読み出し、そのバンクアドレス−1のバンクアドレスの最終ワード線アドレスの最終ビット線アドレスに+1した位置に、上記読み出した1画素のデータを格納することを特徴とする。 Further, the present invention is a data storage control device for controlling writing / reading of data to / from a memory composed of a plurality of memory banks, and when all data is distributed and stored in a plurality of memory banks constituting the memory, Based on the access pattern indicating the desired multiple data to be read simultaneously, the data between the access candidates is stored in the same bank until the final access pattern candidate, and the bank is switched every predetermined cycle after the final access pattern The data storage processing unit that is initially arranged by storing data and the word line address and bit line address for all data initially arranged on the memory composed of the plurality of memory banks while incrementing the word line address Reads the pixel data on the address and bit line address by the number of banks. The data read storage processing unit reads an access pattern and data of one pixel on the same word line, and sets the final bit line address of the last word line address of the bank address of the bank address −1. The read one-pixel data is stored in a position incremented by one.
また、本発明は、複数のメモリバンクからなるメモリに対するデータの書き込み/読み出しを制御するデータ格納制御方法であって、全データを上記メモリを構成する複数のメモリバンクに振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、アクセスパターンの最終候補まではアクセス候補間のデータを同じバンクに格納し、アクセスパターンの最終以降は所定周期毎にバンクを切り替えてデータを格納することにより初期配置し、上記複数のメモリバンクからなるメモリ上に初期配置された全データに対し、アクセスパターン及び同一ワード線上の1画素のデータを読み出し、そのバンクアドレス−1のバンクアドレスの最終ワード線アドレスの最終ビット線アドレスに+1した位置に、上記読み出した1画素のデータを格納し、ワード線アドレスとビット線アドレスをインクリメントしながら、そのワード線アドレス、ビット線アドレス上の画素のデータをバンク数だけ読み出すことを特徴とする。 Further, the present invention is a data storage control method for controlling writing / reading of data to / from a memory composed of a plurality of memory banks, and when all data is distributed and stored in a plurality of memory banks constituting the memory, Based on the access pattern indicating the desired multiple data to be read simultaneously, the data between the access candidates is stored in the same bank until the final access pattern candidate, and the bank is switched every predetermined cycle after the final access pattern The data is stored in an initial arrangement, and the access pattern and the data of one pixel on the same word line are read from all the data initially arranged on the memory composed of the plurality of memory banks, and the bank address-1 Position of bank address last word line address plus last bit line address Stores data of one pixel read out above, while incrementing the word line address and the bit line address, and wherein the reading the word line address, the data of the pixels on the bit line address by the number of banks.
また、本発明は、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、全データを上記メモリを構成する複数のメモリバンクに振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、アクセスパターンの最終候補まではアクセス候補間のデータを同じバンクに格納し、アクセスパターンの最終以降は所定周期毎にバンクを切り替えてデータを格納することにより初期配置し、上記複数のメモリバンクからなるメモリ上に初期配置された全データに対し、アクセスパターン及び同一ワード線上の1画素のデータを読み出し、そのバンクアドレス−1のバンクアドレスの最終ワード線アドレスの最終ビット線アドレスに+1した位置に、上記読み出した1画素のデータを格納し、ワード線アドレスとビット線アドレスをインクリメントしながら、そのワード線アドレス、ビット線アドレス上の画素のデータをバンク数だけ読み出すことを特徴とする。 The present invention also provides a data storage control program for executing data storage control for storing all data in a memory composed of a plurality of memory banks and performing simultaneous reading of a desired plurality of data by a computer. Are stored in a plurality of memory banks constituting the memory, and based on the access pattern indicating the desired plurality of data to be read simultaneously, the data between the access candidates is the same until the final access pattern candidate The data is stored in the bank, and after the last access pattern, the data is stored by switching the bank every predetermined period, and the access pattern is applied to all the data initially arranged on the memory composed of the plurality of memory banks. 1 pixel data on the same word line is read out and the bank of the bank address-1 is read. The read one pixel data is stored at the position of the last word line address of the address plus 1 with respect to the last bit line address, and the word line address and bit line address are incremented while incrementing the word line address and bit line address. The pixel data is read by the number of banks.
本発明によれば、必要最低限のバンク数で実現して、アドレスバス、セレクタ、デコーダ、消費電力の大きさなどを最小に抑え、全データにおいて所望の複数画素を同時アクセスすることができる。 According to the present invention, it can be realized with the minimum necessary number of banks, and the address bus, selector, decoder, power consumption, etc. can be minimized, and desired data can be accessed simultaneously in all data.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、本発明は以下の例に限定されるものではなく、本発明の要旨を逸脱しない範囲で、任意に変更可能であることは言うまでもない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Needless to say, the present invention is not limited to the following examples, and can be arbitrarily changed without departing from the gist of the present invention.
本発明は、例えば図1に示すような構成のデータ格納装置100により実施される。
The present invention is implemented by, for example, a
このデータ格納装置100は、複数バンクのメモリ10と、上記メモリ10へのデータの書き込みを行うデータ格納制御部20と、上記メモリ10からのデータの読み出しを行うとともに素の再書き込みの制御を行うデータ読み出し格納制御部30からなり、格納するデータが上記メモリ10及びデータ格納制御部20に供給され、複数データの同時読み出しを示すアクセスパターンが上記データ格納制御部20供給され、動作制御用の制御信号が上記メモリ10、データ格納制御部20及びデータ読み出し格納制御部30に供給されるようになっている。
The
上記データ格納制御部20は、図2に示すように供給されたデータを計数するカウンタ21と、このカウンタ21の計数出力とアクセスパターンとの一致判定を行う一致判定部22と、この一致判定部22の判定出力に応じてフラグを生成するフラグ生成部23と、上記カウンタ21の出力によりインクリメントされるバンクアドレスカウンタ24と、このバンクアドレスカウンタ24の出力によりインクリメントされるビット線アドレスカウンタ25と、このビット線アドレスカウンタ25の出力によりインクリメントされるワード線アドレスカウンタ26と、これらのカウンタ24,25,26の出力に基づいて書き込みアドレスを生成するアドレス生成部27からなり、上記フラグ生成部23の出力が上記バンクアドレスカウンタ24及びビット線アドレスカウンタ25に与えられるようになっている。
As shown in FIG. 2, the data
また、データ読み出し格納制御部30は、図3に示すように、データ読み出し用の周期カウンタ31と、上記周期カウンタ31の出力によりインクリメントされるバンクアドレスカウンタ32と、このバンクアドレスカウンタ32の出力によりインクリメントされるビット線アドレスカウンタ33と、このビット線アドレスカウンタ33の出力によりインクリメントされるワード線アドレスカウンタ34と、これらのカウンタ32,33,34の出力に基づいて書き込みアドレスを生成するアドレス生成部35からなり、アドレスが上記バンクアドレスカウンタ32に与えられるようになっている。
Further, as shown in FIG. 3, the data read /
このような構成のデータ格納装置100における画像データの各バンクへの初期配置について説明する。
An initial arrangement of image data in each bank in the
図4のように、ある一枚の画像に対して、複数同時アクセスしたい画素に対応するパターンがあり、それを左上からラスタスキャンする場合を例とする。ここでは、4バンク[バンクアドレス0〜3]のメモリ10を用いて、4画素を同時アクセスする例について説明する。複数同時アクセスしたい画素に対応するアクセスパターンは、この図4に示す例に限定されるものではない。すなわち、上述の如く縦(h画素)×横(w画素)のサーチエリアSRがあり、その中で任意のアクセスしたいn個の候補がある場合、その種類は、(h×w)C(n)個ある。このひとつひとつをアクセスパターンと言っている。アクセスパターンとしては、サーチエリア内の任意のアクセス候補の数の組み合わせが可能である。図4の例であれば16×8C4通りの組み合わせの内の一つの例を示したものである。
As an example, as shown in FIG. 4, there is a pattern corresponding to a plurality of pixels to be accessed simultaneously for a single image, and raster scanning is performed from the upper left. Here, an example in which four pixels are simultaneously accessed using the
ここで、同時アクセスしたい画素数をアクセス候補数といい、アクセスパターンを構成する候補の数に等しい。この例では、4つの候補からアクセスパターンが形成されているため、アクセス候補数は4となっている。 Here, the number of pixels to be accessed simultaneously is referred to as the number of access candidates, and is equal to the number of candidates constituting the access pattern. In this example, since the access pattern is formed from four candidates, the number of access candidates is four.
そして、このデータ格納装置100では、画像データが入力された際に、上記データ格納制御部20により初期配置処理を行い、アクセスパターンと一致した場合は、その時点のビット線アドレスカウンタ25の値とワード線アドレスカウンタ26の値をそのバンクの書き込みビット線アドレスと書き込みワード線アドレスとして格納し、バンクアドレスカウンタ24をインクリメントしてそのバンクアドレスに画素を格納し、また、アクセスパターンと一致しない場合は、現在のバンクアドレスにビット線アドレスカウンタ25をインクリメントしたビットアドレス位置に格納し、ビット線アドレスが終了すれば、ビット線アドレスカウンタ25を0に戻し、ワード線アドレスカウンタ26をインクリメントすることによって、例えば図5に示すように、アクセス候補間の画素を同じバンクに格納する。上記画像の左上から1 画素ずつバンクに格納するときに、上記データ格納制御部20は、アクセスパターンと一致する毎にバンクアドレスをインクリメントさせて、バンク0の次はバンク1、その次はバンク2とバンクを変えて、アクセス候補間の画素を同じバンクに格納する。図5中の数字は、格納先のバンクアドレスを表している。
In the
すなわち、アクセス開始位置にアクセスパターンがセットされた状況において、アクセスパターン対する画像データの一致/不一致を見ている。 In other words, in the situation where the access pattern is set at the access start position, the image data matches or does not match the access pattern.
このデータ格納装置100において、上記データ格納制御部20は、例えばマイクロプロセッサにて構成され、図示しないプロラムメモリに格納されたデータ格納制御プログラムに従って、図6のフローチャートに示すように、アクセスパターンの最終画素以前での格納処理(初期配置処理A)と、アクセスパターンの最終画素以降での格納処理(初期配置処理B)を実行することにより、初期配置処理を行う。
In the
初期配置処理Aでは、図7のフローチャートに示す手順に従って、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、アクセスパターンの最終画素以前の画素について、アクセス候補間の画素の画像データを同じバンクに格納する処理を行う。 In the initial arrangement process A, according to the procedure shown in the flowchart of FIG. 7, based on an access pattern indicating a plurality of desired data to be read simultaneously, an image of pixels between access candidates for pixels before the last pixel of the access pattern Performs processing to store data in the same bank.
すなわち、初期配置処理Aでは、先ず、バンクアドレスカウンタ24、ビット線アドレスカウンタ25及びワード線アドレスカウンタ26の値を全て「0」に初期設定する(ステップS1)。
That is, in the initial arrangement process A, first, the values of the
そして、格納すべき1画素分の画像データが入力されると(ステップS2)、一致判定部22によりアクセス箇所であるか否かを判定し(ステップS3)、その判定結果がNOである場合には、現在のバンクアドレスカウンタ24、ビット線アドレスカウンタ25及びワード線アドレスカウンタ26の値で示される書き込みアドレスで上記メモリ10にその画素の画像データを格納して(ステップS6)、初期位置での全アクセス画素のデータが入力されたか否かを判定する(ステップS7)。
Then, when image data for one pixel to be stored is input (step S2), the
上記ステップS7における判定結果がNOである場合には、ビット線アドレスカウンタ25をインクリメントして(ステップS8)、ビット線アドレスカウンタ25の値がビット線長さより大きくなったか否かを判定する(ステップS9)。
If the determination result in step S7 is NO, the bit
上記ステップS9における判定結果がNOである場合には、上記ステップS2に戻って次の1画素分の画像データについて格納処理を行う。また、このステップS9における判定結果がYESである場合には、上記ビット線アドレスカウンタ25の値を「0」にリセットするとともにワード線アドレスカウンタ26をインクリメントして(ステップS10)から、上記ステップS2に戻って次の1画素分の画像データについて格納処理を行う。
If the determination result in step S9 is NO, the process returns to step S2 to perform storage processing for the next one pixel of image data. If the decision result in the step S9 is YES, the value of the bit
そして、上記ステップS3における判定結果がYESである場合、すなわちアクセス位置の場合には、ワード線アドレスカウンタ26とビット線アドレスカウンタ25の値を、そのバックアドレスのワード線アドレスとビット線アドレスとして格納して(ステップS4)から、バンクアドレスカウンタ24をインクリメントするとともに、ワード線アドレスカウンタ26とビット線アドレスカウンタ25の値を「0」にリセットして(ステップS5)、上記ステップS6に進んで上記バンクアドレスカウンタ24、ワード線アドレスカウンタ25及びビット線アドレスカウンタ26の値を「0」の値で示される書き込みアドレスで上記メモリ10にその入力画素の画像データを格納する。
When the determination result in step S3 is YES, that is, in the case of the access position, the values of the word line address counter 26 and the bit
上記ステップS1からステップS10の処理を繰り返すことにより、初期位置での全アクセス画素のデータの格納処理を行い、上記ステップS7における判定結果がYESになると初期配置処理Aを終了する。 By repeating the processing from step S1 to step S10, data storage processing for all access pixels at the initial position is performed. When the determination result in step S7 is YES, the initial arrangement processing A is terminated.
そして、次の初期配置処理Bでは、図8のフローチャートに示す手順に従って、アクセスパターンの最終画素以以降の画素について、所定の周期毎すなわち一定画素数毎にバンクを切り替えて格納する処理を行う。ここで、上記バンクを切り替える所定の周期は、ビット線アドレス(カラム数) の等倍となる。 Then, in the next initial arrangement process B, according to the procedure shown in the flowchart of FIG. 8, for the pixels after the last pixel of the access pattern, a process of switching and storing the bank at every predetermined period, that is, every certain number of pixels is performed. Here, the predetermined cycle for switching the bank is equal to the bit line address (number of columns).
すなわち、初期配置処理Bでは、先ず、ワード線アドレスカウンタ26の値をWに設定し、カウンタ21、バンクアドレスカウンタ24及びビット線アドレスカウンタ25の値を全て「0」に設定する(ステップS11)。
That is, in the initial arrangement process B, first, the value of the word line address counter 26 is set to W, and the values of the
ここで、Wは、画像の大きさ、サーチエリアの大きさ及びカラム数によって決まる値であり、
W=サーチエリアの縦方向の画素数×画像の横方向の画素数/カラム数
にて与えられる。
Here, W is a value determined by the size of the image, the size of the search area, and the number of columns.
W = number of pixels in the vertical direction of the search area × number of pixels in the horizontal direction of the image / number of columns.
そして、格納すべき1画素分の画像データが入力されると(ステップS12)、カウンタ21の値が所定の周期に対応する画素数よりも大きくなったか否かを判定し(ステップS13)、その判定結果がNOである場合には、現在のバンクアドレスカウンタ24、ビット線アドレスカウンタ25及びワード線アドレスカウンタ26の値で示される書き込みアドレスで上記メモリ10にその入力画素の画像データを格納して(ステップS18)、全データが入力されたか否かを判定する(ステップS19)。
When image data for one pixel to be stored is input (step S12), it is determined whether or not the value of the
上記ステップS19における判定結果がNOである場合には、ビット線アドレスカウンタ25をインクリメントして(ステップS20)、ビット線アドレスカウンタ25の値がビット線長さより大きくなったか否かを判定する(ステップS21)。
If the determination result in step S19 is NO, the bit
上記ステップS21における判定結果がNOである場合には、上記ステップS12に戻って次の1画素分の画像データについて格納処理を行う。また、このステップS21における判定結果がYESである場合には、上記ビット線アドレスカウンタ25の値を「0」にリセットするとともにワード線アドレスカウンタ26をインクリメントして(ステップS22)、上記ステップS12に戻って次の1画素分の画像データについて格納処理を行う。
If the determination result in step S21 is NO, the process returns to step S12 to perform storage processing for the next one pixel of image data. If the decision result in the step S21 is YES, the value of the bit
そして、上記ステップS13における判定結果がYESである場合、すなわち、所定の周期に対応する画素数分の画像データを1つのバンクに格納したら、バンクアドレスカウンタ24をインクリメントして(ステップS14)、バンクアドレスカウンタ24の値がアクセス候補数よりも大きくなったか否かを判定する(ステップS15)。
When the determination result in step S13 is YES, that is, when image data for the number of pixels corresponding to a predetermined cycle is stored in one bank, the
このステップS15における判定結果がNOである場合には、ビット線アドレスカウンタ25の値を「0」にリセットするとともに、ワード線アドレスカウンタ26の値bをb−周期/カラム数に設定してから(ステップS15)、上記ステップS18に移って、バンクアドレスカウンタ24、ビット線アドレスカウンタ25及びワード線アドレスカウンタ26の値で示される書き込みアドレスで上記メモリ10にその入力画素の画像データを格納する。
If the determination result in step S15 is NO, the value of the bit
また、上記ステップS15における判定結果がYESである場合には、バンクアドレスカウンタ24及びビット線アドレスカウンタ25の値を「0」にリセットするとともに、ワード線アドレスカウンタ26をインクリメントしてから(ステップS17)、上記ステップS18に移って、バンクアドレスカウンタ24、ビット線アドレスカウンタ25及びワード線アドレスカウンタ26の値で示される書き込みアドレスで上記メモリ10にその入力画素の画像データを格納する。
If the determination result in step S15 is YES, the values of the
上記ステップS11からステップS22の処理を繰り返すことにより、全データの格納処理を行い、上記ステップS19における判定結果がYESになると初期配置処理Bを終了する。 By repeating the processing from step S11 to step S22, all data storage processing is performed. When the determination result in step S19 is YES, the initial arrangement processing B is terminated.
このように、初期配置処理Bでは、最終画素以降、1画素毎に入力した画像データを際、最終のバンクのビット線アドレスをインクリメントしながら格納していくが(ビット線アドレスカウンタ25が終了すればビット線アドレスカウンタ25を0に戻し、ワード線アドレスカウンタ26をインクリメント)、 ある決まった画素数を格納する毎すなわち所定の周期毎に、バンクアドレスカウンタ24、ビット線アドレスカウンタ25を0に戻し、画像の大きさとサーチエリアから算出できる1バンク当たりの最大画素間距離が格納可能なワード線のアドレスにデータを格納する。
As described above, in the initial arrangement process B, the image data input for each pixel after the final pixel is stored while incrementing the bit line address of the final bank (the bit
ここで、カラム数(ビット線アドレスの上限)が40で、周期が80画素の場合について、データの初期配置の例を図9の(A)に2次元配列状態を示し、また、各メモリバンク1〜3における1次元配列状態を図9の(B)に示すとともに、ビッド線、ワード線へのデータの格納の仕方を図10に示す。なお、図9の(A)における数字は、格納先バンクのビット線アドレスを表している。 Here, in the case where the number of columns (upper limit of the bit line address) is 40 and the period is 80 pixels, an example of the initial arrangement of data is shown in FIG. The one-dimensional array state in 1 to 3 is shown in FIG. 9B, and FIG. 10 shows how data is stored in the bid line and the word line. Note that the numbers in FIG. 9A represent the bit line addresses of the storage destination banks.
次に、所望のパターンの画素のアクセスの仕方とデータの再格納について説明する。 Next, how to access pixels having a desired pattern and data re-storage will be described.
このデータ格納装置100では、以上のようにしてメモリ10上に初期配置した各画素の画像データは、アクセス候補間の画素を同じバンクに格納してあるので、スキャン順にアクセスパターンが移動しても、ある一定の区間は同時にアクセスできるのであるがアクセスパターンの移動がアクセス画素間を超えると、同時に同じバンクの画素にアクセスすることになってしまうので、アクセスした画素の画像データの再格納位置を工夫することによって、アクセスパターンの移動に対応できるようにしている。
In this
すなわち、メモリ10上に初期配置した各画素の画像データから、図11の(A),(B)に示すように、アクセスパターン及び同一ワード線上の1画素を読み出し、図12の(A),(B)に示すように、そのバンクアドレス−1 のバンクアドレスの最終ワード線番号の最終ビット線の次に今読み出したデータを格納するようにする。すなわち、アクセス候補最終画素が存在するバンクの次のバンクの先頭画素をも同時に読み出し、最終バンク、書き込みワード線アドレス、書き込みワート線アドレスの次に格納するようにする。この画素は同一ワード線上に格納されているので、同時アクセスが可能となっている。
That is, as shown in FIGS. 11A and 11B, the access pattern and one pixel on the same word line are read out from the image data of each pixel initially arranged on the
ここで、図11及び図12において、(A)はデータの2次元配列状態を示し、また、(B)は各メモリバンク1〜3における1次元配列状態を示している。また、図11及び図12の(A)における数字は、格納先バンクのビット線アドレスを表している。 Here, in FIG. 11 and FIG. 12, (A) shows a two-dimensional arrangement state of data, and (B) shows a one-dimensional arrangement state in each of the memory banks 1-3. The numbers in FIGS. 11 and 12A represent the bit line addresses of the storage destination banks.
サーチエリアが移動するにつれて、各バンクから読み出すことには変わりないが、アクセス候補最終画素が存在する次のバンクは次々と入れ替わっていくようになることにより、パターンがスキャン順に移動しても同時アクセスを実現することができる。 As the search area moves, reading from each bank remains the same, but the next bank where the access candidate final pixel exists is replaced one after another, so that even if the pattern moves in the scan order, simultaneous access Can be realized.
ここで、サーチエリアを横方向に+1移動させた場合のアクセスの仕方とデータの再格納の様子を図13の(A),(B)及び図14の(A),(B)に示し、サーチエリアを縦方向に+1移動させた場合のアクセスの仕方とデータの再格納の様子を図15の(A),(B)及び図16の(A),(B)に示し、サーチエリアを縦方向に+2移動させた場合のアクセスの仕方とデータの再格納の様子を図17の(A),(B)及び図18の(A),(B)に示してある。 Here, FIGS. 13A and 13B and FIGS. 14A and 14B show how to access and how data is re-stored when the search area is moved +1 in the horizontal direction. FIGS. 15A and 15B and FIG. 16A and FIG. 16B show how to access and how data is re-stored when the search area is moved +1 in the vertical direction. FIGS. 17A and 17B and FIGS. 18A and 18B show how to access and how data is re-stored when moved +2 in the vertical direction.
なお、図13〜図18において、(A)はデータの2次元配列状態を示し、また、(B)は各メモリバンク1〜3における1次元配列状態を示している。また、図13〜図18の(A)における数字は、格納先バンクのビット線アドレスを表している。
13 to 18, (A) shows a two-dimensional arrangement state of data, and (B) shows a one-dimensional arrangement state in each of the
このデータ格納装置100において、上記データ読み出し格納制御部30は、例えばマイクロプロセッサにて構成され、図示しないプロラムメモリに格納されたデータ格納制御プログラムに従って、図19のフローチャートに示す手順でアクセス処理を行う。
In the
すなわち、上記データ読み出し格納制御部30は、アクセス処理を開始すると、先ず、周期カウンタ31、バンクアドレスカウンタ32a、バンクアドレスカウンタ32b、ビット線アドレスカウンタ33及びワード線アドレスカウンタ34aの値を「0」に設定するとともに、ワード線アドレスカウンタ34bの値を「W」に設定する(ステップS31)。
That is, when the data read /
そして、バンクアドレスカウンタ32a、ビット線アドレスカウンタ33及びワード線アドレスカウンタ34aの値で示される読み出しアドレスでメモリ10のバンクアドレス[a]のバンクから1画素分の画像データを読み出し(ステップS32)、さらに、1つ前のバンクアドレス[a−1]の書き込みワード線アドレスと書き込みビット線アドレスを読み出して、その位置に上記1画素分の画像データを再格納する(ステップS33)。さらに、書き込みワード線アドレスと書き込み最終ビット線アドレスを計算して、1つ前のバンクアドレス[a−1]に格納する(ステップS34)。
Then, the image data for one pixel is read from the bank of the bank address [a] of the
次に、バンクアドレスカウンタ32aにより与えられるバンクアドレス[a]がアクセス候補数よりも大きくなったか否かを判定する(ステップS35)。 Next, it is determined whether or not the bank address [a] given by the bank address counter 32a is larger than the number of access candidates (step S35).
このステップS35における判定結果がNOである場合には、バンクアドレスカウンタ32aをインクリメントして(ステップS36)、上記ステップS32に戻って、次のバンクに対するアクセス処理を行う。 If the decision result in the step S35 is NO, the bank address counter 32a is incremented (step S36), and the process returns to the step S32 to perform an access process for the next bank.
また、上記ステップS35における判定結果がYESである場合には、バンクアドレスカウンタ32b、ビット線アドレスカウンタ33及びワード線アドレスカウンタ34bの値で示される読み出しアドレスでメモリ10のバンクアドレス[b]のバンクから1画素分の画像データを読み出し(ステップS37)、用意された最終バンクの書き込みワード線アドレスと書き込みビット線アドレスを読み出して、その位置に上記1画素分の画像データを再格納する(ステップS38)。さらに、書き込みワード線アドレスと書き込み最終ビット線アドレスを計算して、最終バンクアドレスに格納する(ステップS39)。
If the decision result in the step S35 is YES, the bank address [b] of the
次に、1画面全てスキャンしたか否かを判定する(ステップS40)。 Next, it is determined whether or not one screen has been scanned (step S40).
このステップS40における判定結果がNOである場合には、バンクアドレスカウンタ32aの値すなわちバンクアドレス[a]を「0」にリセットし(ステップS41)、周期カウンタ31をインクリメントして(ステップS42)、周期カウンタ31の値が所定周期の画素数よりも大きくなったか否かを判定する(ステップS43)。
If the determination result in step S40 is NO, the value of the bank address counter 32a, that is, the bank address [a] is reset to “0” (step S41), the
このステップS43における判定結果がNOである場合には、ビット線アドレス、ワード線アドレス[a]及びワード線アドレス[b]を計算して(ステップS49)、上記ステップS32に戻って、次のバンクに対するアクセス処理を行う。 If the decision result in the step S43 is NO, the bit line address, the word line address [a] and the word line address [b] are calculated (step S49), and the process returns to the step S32 and the next bank Access processing for.
また、上記ステップS43における判定結果がYESである場合には、バンクアドレスカウンタ32bをインクリメントして(ステップS44)、バンクアドレス[b]がアクセス候補数よりも大きくなったか否かを判定する(ステップS45)。 If the determination result in step S43 is YES, the bank address counter 32b is incremented (step S44), and it is determined whether or not the bank address [b] is larger than the access candidate number (step S44). S45).
このステップS45における判定結果がNOである場合には、ワード線アドレスカウンタ34bの値すなわちワード線アドレス[b]をb−周期/カラム数に設定し(ステップS46)、さらに、ビット線アドレス、ワード線アドレス[a]を計算して(ステップS47)、上記ステップS32に戻る。 If the decision result in the step S45 is NO, the value of the word line address counter 34b, that is, the word line address [b] is set to b−cycle / column number (step S46), and further, the bit line address, the word The line address [a] is calculated (step S47), and the process returns to step S32.
ここで、r_lastを読んだ後、次にb_firstを読み出したいのであるが、図20に示すように、r_lastを読んだ後は上記ステップS42でインクリメントされるために、読み出しアドレスは、r_hereとなってしまう。そこで、読み出しアドレスをb_firstにするために、上記ステップS46においてワード線アドレス[b]をb−周期/カラム数に設定する。この例では、周期=80,カラム数=40なので、周期/カラム数は[2]となり、ワード線アドレス[b]を2つマイナスすることによってb_firstとすることによって、r_lastの次にb_firstを読み出す。 Here, after reading r_last, it is desired to read b_first next. However, as shown in FIG. 20, after reading r_last, the read address is r_here because it is incremented in step S42. End up. Therefore, in order to set the read address to b_first, the word line address [b] is set to b−cycle / column number in step S46. In this example, since the period = 80 and the number of columns = 40, the period / number of columns is [2]. By subtracting two word line addresses [b] to b_first, b_first is read next to r_last. .
また、上記ステップS45における判定結果がYESである場合には、バンクアドレスカウンタ32bの値すなわちバンクアドレス[b]を「0」にリセットし(ステップS48)、上記ステップS49に進んで、ビット線アドレス、ワード線アドレス[a]及びワード線アドレス[b]を計算して、上記ステップS32に戻る。 If the decision result in the step S45 is YES, the value of the bank address counter 32b, that is, the bank address [b] is reset to “0” (step S48), the process proceeds to the step S49, and the bit line address Then, the word line address [a] and the word line address [b] are calculated, and the process returns to step S32.
そして、上記ステップS32からステップS49の処理を繰り返し行い、上記ステップS40における判定結果がYESすなわち1画面を全てスキャンしたらアクセス処理を終了する。 Then, the processing from step S32 to step S49 is repeated, and when the determination result in step S40 is YES, that is, when one screen is scanned, the access processing is terminated.
ここで、上記ステップS47におけるワード線アドレスとビット線アドレスを計算は、図21のフローチャートに示す手順に従って行われる。 Here, the calculation of the word line address and the bit line address in step S47 is performed according to the procedure shown in the flowchart of FIG.
すなわち、ビット線アドレスカウンタ33をインクリメントして(ステップS51)、ビット線アドレスカウンタ33aの値がビット線長さより大きくなったか否かを判定する(ステップS52)。 That is, the bit line address counter 33 is incremented (step S51), and it is determined whether or not the value of the bit line address counter 33a has become larger than the bit line length (step S52).
このステップS52における判定結果がYESである場合には、上記ビット線アドレスカウンタ33の値を「0」にリセットするとともにワード線アドレスカウンタ34bをクリメントして(ステップS53)、ワード線アドレスカウンタ34bの値が所定のワード線長Wより大きくなったか否かを判定する(ステップS54)。 If the decision result in the step S52 is YES, the value of the bit line address counter 33 is reset to “0” and the word line address counter 34b is incremented (step S53), and the word line address counter 34b It is determined whether or not the value is larger than a predetermined word line length W (step S54).
ここで、上記ワード線長Wは、サーチエリアSR内のどの任意の点をアクセス候補とした場合も、各メモリバンクでメモリアドレスが足りないということがないように、ワード線長を設定するためのものである。 Here, the word line length W is set so that the memory address is not insufficient in each memory bank regardless of any arbitrary point in the search area SR as an access candidate. belongs to.
このステップS54における判定結果がYESである場合には、上記ワード線アドレスカウンタ34bの値を「0」にリセットして、処理を終了する。 If the decision result in the step S54 is YES, the value of the word line address counter 34b is reset to “0” and the process is ended.
また、上記ステップS52,S54における判定結果がNOである場合には処理を終了する。 Moreover, a process is complete | finished when the determination result in the said step S52, S54 is NO.
また、上記ステップS49におけるワード線アドレスとビット線アドレスを計算は、図22のフローチャートに示す手順に従って行われる。 Further, the calculation of the word line address and the bit line address in step S49 is performed according to the procedure shown in the flowchart of FIG.
すなわち、ビット線アドレスカウンタ33をインクリメントして(ステップS61)、ビット線アドレスカウンタ33bの値がビット線長さより大きくなったか否かを判定する(ステップS62)。 That is, the bit line address counter 33 is incremented (step S61), and it is determined whether or not the value of the bit line address counter 33b is larger than the bit line length (step S62).
このステップS62における判定結果がYESである場合には、上記ビット線アドレスカウンタ33の値を「0」にリセットするとともにワード線アドレスカウンタ34bをクリメントして(ステップS63)、処理を終了する。 If the decision result in the step S62 is YES, the value of the bit line address counter 33 is reset to “0” and the word line address counter 34b is incremented (step S63), and the process is ended.
また、上記ステップS62における判定結果がNOである場合には処理を終了する。 Moreover, a process is complete | finished when the determination result in the said step S62 is NO.
このようにして、この実施の形態では、メモリバンクBK1,BK2、BK3のデータがメモリバンクBK3を介して読み出される。 Thus, in this embodiment, the data in the memory banks BK1, BK2, and BK3 are read out through the memory bank BK3.
なお、上述の実施の形態では、アクセスパターンの候補間の領域をラスタ方向にスキャンした場合に、メモリバンクBK3のデータはメモリバンクBK2に書込み、メモリバンクBK2のデータはメモリバンクBK1に書込み、メモリバンクBK1のデータはメモリバンクBK0に書き込むようになっているが、このメモリバンクアドレスはこれに限られるものでなく、メモリバンクBK3のデータをメモリバンクBK0に、メモリバンクBK0のデータをメモリバンクBK2に、メモリバンクBK2のデータをメモリバンクBK1に書き込むようなあるパターンに従って読み込み・書込みを行う構造としてもよい。またスキャンする方向もラスタ方向に限られるものではなく、ラスタ方向と逆、縦方向、斜め方向等であっても構わない。 In the above-described embodiment, when the area between the access pattern candidates is scanned in the raster direction, the data in the memory bank BK3 is written in the memory bank BK2, the data in the memory bank BK2 is written in the memory bank BK1, The data in the bank BK1 is written in the memory bank BK0. However, the memory bank address is not limited to this, the data in the memory bank BK3 is stored in the memory bank BK0, and the data in the memory bank BK0 is stored in the memory bank BK2. In addition, the data may be read / written in accordance with a certain pattern in which data in the memory bank BK2 is written in the memory bank BK1. Further, the scanning direction is not limited to the raster direction, and may be the reverse of the raster direction, the vertical direction, the diagonal direction, or the like.
また、上述の実施の形態では、データ読出し格納処理部が、ワード線アドレスとビット線アドレスをインクリメントしながら、そのワード線アドレス、ビット線アドレス上の画素のデータをバンク数だけ読み出したが、本願発明はこれに限られるものではなく、あるパターンにしたがって読み出すのであれば良い。したがって上記ワード線アドレス、上記ビット線アドレスをデクリメント、また予め決めた所定のパターンに基づきワード線アドレス、ビット線アドレスの画素を読み出しても良い。 In the above-described embodiment, the data read storage processing unit reads the pixel data on the word line address and the bit line address by the number of banks while incrementing the word line address and the bit line address. The invention is not limited to this, and it is sufficient if reading is performed according to a certain pattern. Therefore, the word line address and the bit line address may be decremented, and the word line address and bit line address pixels may be read based on a predetermined pattern.
10 メモリ、20 データ格納制御部、21,31 カウンタ、22 一致判定部、23 フラグ生成部、24,32 バンクアドレスカウンタ、25,33ビット線アドレスカウンタ、26,34ワード線アドレスカウンタ、27,35 アドレス生成部、30 データ読み出し格納制御部、40 アドレス生成部、100 データ格納装置 10 memory, 20 data storage control unit, 21, 31 counter, 22 match determination unit, 23 flag generation unit, 24, 32 bank address counter, 25, 33 bit line address counter, 26, 34 word line address counter, 27, 35 Address generation unit, 30 data read / storage control unit, 40 address generation unit, 100 data storage device
Claims (12)
上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、画素のデータを各バンクからそれぞれ読み出すデータ読み出し格納処理部とを備え、
上記データ読み出し格納処理部は、アクセスパターン及び同一ワード線上の1画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに上記読み出した1画素を格納することを特徴とするデータ格納装置。 When data is distributed and stored in a plurality of memory banks constituting the memory, data between access candidates is determined until the final access pattern candidate based on an access pattern indicating a plurality of desired data to be read simultaneously. A data storage processing unit that is stored in the same bank and initially arranged by storing the data by switching the bank every predetermined cycle after the final access pattern;
A data read storage processing unit for reading out pixel data from each bank for data initially arranged on a memory composed of a plurality of memory banks,
The data read / store processing unit reads data of one pixel on the access pattern and the same word line, and one of the ranges determined based on each position of the access pattern candidate is determined based on the moving direction of the access pattern. A data storage device, wherein the read out one pixel is stored in a bank in which data of pixels in an adjacent range is stored.
データを上記メモリを構成する複数のメモリバンクに振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、アクセスパターンの最終候補まではアクセス候補間のデータを同じバンクに格納し、アクセスパターンの最終以降は所定周期毎にバンクを切り替えてデータを格納することにより初期配置するデータ格納処理部と、
上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、画素のデータを各バンクからそれぞれ読み出すデータ読み出し格納処理部とを備え、
上記データ読み出し格納処理部は、アクセスパターン及び同一ワード線上の1画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに上記読み出した1画素を格納することを特徴とするデータ格納制御装置。 A data storage control device for controlling writing / reading of data to / from a memory composed of a plurality of memory banks,
When data is distributed and stored in a plurality of memory banks constituting the memory, data between access candidates is determined until the final access pattern candidate based on an access pattern indicating a plurality of desired data to be read simultaneously. A data storage processing unit that is stored in the same bank and initially arranged by storing the data by switching the bank every predetermined cycle after the final access pattern;
A data read storage processing unit for reading out pixel data from each bank for data initially arranged on a memory composed of a plurality of memory banks,
The data read / store processing unit reads data of one pixel on the access pattern and the same word line, and one of the ranges determined based on each position of the access pattern candidate is determined based on the moving direction of the access pattern. A data storage control device, wherein the read one pixel is stored in a bank in which data of pixels in adjacent ranges is stored.
データを上記メモリを構成する複数のメモリバンクに振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、アクセスパターンの最終候補まではアクセス候補間のデータを同じバンクに格納し、アクセスパターンの最終以降は所定周期毎にバンクを切り替えてデータを格納することにより初期配置し、
上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、アクセスパターン及び同一ワード線上の1画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに上記読み出した1画素を格納することを特徴とするデータ格納制御方法。 A data storage control method for controlling writing / reading of data to / from a memory composed of a plurality of memory banks,
When data is distributed and stored in a plurality of memory banks constituting the memory, data between access candidates is determined until the final access pattern candidate based on an access pattern indicating a plurality of desired data to be read simultaneously. Store in the same bank, and after the end of the access pattern, initial placement by switching the bank every predetermined cycle and storing data,
The access pattern and the data of one pixel on the same word line are read out from the data initially arranged on the memory composed of the plurality of memory banks, and the access is out of the range determined based on each position of the access pattern candidate. A data storage control method, wherein the one pixel read out is stored in a bank in which data of pixels in one adjacent range determined based on a pattern moving direction is stored.
データを上記メモリを構成する複数のメモリバンクに振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、アクセスパターンの最終候補まではアクセス候補間のデータを同じバンクに格納し、アクセスパターンの最終以降は所定周期毎にバンクを切り替えてデータを格納することにより初期配置し、上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、アクセスパターン及び同一ワード線上の1画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに上記読み出した1画素を格納することを特徴とするデータ格納制御プログラム。 A data storage control program for executing, by a computer, data storage control for storing all data in a memory composed of a plurality of memory banks and simultaneously reading desired multiple data,
When data is distributed and stored in a plurality of memory banks constituting the memory, data between access candidates is determined until the final access pattern candidate based on an access pattern indicating a plurality of desired data to be read simultaneously. Stored in the same bank, and after the end of the access pattern, the data is stored by switching the bank every predetermined cycle, and the initial arrangement is performed on the data initially arranged on the memory composed of the plurality of memory banks. The data of one pixel on the same word line is read, and the data of the pixels in one adjacent range determined based on the moving direction of the access pattern among the ranges determined based on the positions of the access pattern candidates is stored. A data storage system characterized by storing the read one pixel in a bank Program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004123467A JP4506256B2 (en) | 2004-04-19 | 2004-04-19 | Data storage device, data storage control device, data storage control method, and data storage control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004123467A JP4506256B2 (en) | 2004-04-19 | 2004-04-19 | Data storage device, data storage control device, data storage control method, and data storage control program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005309622A true JP2005309622A (en) | 2005-11-04 |
JP2005309622A5 JP2005309622A5 (en) | 2007-05-31 |
JP4506256B2 JP4506256B2 (en) | 2010-07-21 |
Family
ID=35438371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004123467A Expired - Fee Related JP4506256B2 (en) | 2004-04-19 | 2004-04-19 | Data storage device, data storage control device, data storage control method, and data storage control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4506256B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005332369A (en) * | 2004-04-19 | 2005-12-02 | Sony Corp | Data storage unit, data storage controller, data storage control method, and data storage control program |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03196376A (en) * | 1989-01-30 | 1991-08-27 | Honeywell Inc | Addressing mechanism for parallel access to a plurality of adjacent storage positions from the whole field storage devices |
JP2002112163A (en) * | 2000-09-28 | 2002-04-12 | Mitsubishi Electric Corp | Image data storage device and its image data storage method |
-
2004
- 2004-04-19 JP JP2004123467A patent/JP4506256B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03196376A (en) * | 1989-01-30 | 1991-08-27 | Honeywell Inc | Addressing mechanism for parallel access to a plurality of adjacent storage positions from the whole field storage devices |
JP2002112163A (en) * | 2000-09-28 | 2002-04-12 | Mitsubishi Electric Corp | Image data storage device and its image data storage method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005332369A (en) * | 2004-04-19 | 2005-12-02 | Sony Corp | Data storage unit, data storage controller, data storage control method, and data storage control program |
Also Published As
Publication number | Publication date |
---|---|
JP4506256B2 (en) | 2010-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7401177B2 (en) | Data storage device, data storage control apparatus, data storage control method, and data storage control program | |
JP4586627B2 (en) | DATA ACCESS DEVICE, DATA ACCESS METHOD, PROGRAM, AND RECORDING MEDIUM | |
US6560686B1 (en) | Memory device with variable bank partition architecture | |
KR20000039714A (en) | Texture mapping system | |
EP1575298B1 (en) | Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program | |
US6992673B2 (en) | Memory access device, semiconductor device, memory access method, computer program and recording medium | |
JP4506256B2 (en) | Data storage device, data storage control device, data storage control method, and data storage control program | |
KR101164235B1 (en) | Data storage apparatus, data storage controlling apparatus and method, and data storage controlling program | |
JP4534488B2 (en) | Data storage device, data storage control device, data storage control method, and data storage control program | |
JP4487568B2 (en) | Data storage device, data storage control device, data storage control method, and data storage control program | |
JP4735008B2 (en) | Data storage device, data storage control device, data storage control method, and data storage control program | |
JP4687108B2 (en) | Data storage device, data storage control device, data storage control method, and data storage control program | |
US4888584A (en) | Vector pattern processing circuit for bit map display system | |
US6674442B1 (en) | Image memory system | |
KR950033862A (en) | Interface method and device with RAM | |
JP4538737B2 (en) | DATA ACCESS DEVICE, DATA ACCESS METHOD, PROGRAM, AND RECORDING MEDIUM | |
JP4655220B2 (en) | DESIGN DEVICE AND METHOD, AND DATA STORAGE DEVICE | |
JP4701620B2 (en) | Data storage device, data storage control device, data storage control method, and data storage control program | |
JP4635687B2 (en) | DATA ACCESS DEVICE, DATA ACCESS METHOD, PROGRAM, AND RECORDING MEDIUM | |
JP2633251B2 (en) | Image memory device | |
US6493277B2 (en) | Data generation circuit and method for data generating | |
JP4650459B2 (en) | Semiconductor device and data processing device | |
JPH01124076A (en) | Image processing and recording device | |
JPH09212639A (en) | Image rotary processing method and device therefor | |
JPH0337774A (en) | Image rotating circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070409 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070409 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100331 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100406 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100419 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |