JP2005222530A - Data storing device, data storing controller, data storing control method, and data storing control program - Google Patents

Data storing device, data storing controller, data storing control method, and data storing control program Download PDF

Info

Publication number
JP2005222530A
JP2005222530A JP2005000887A JP2005000887A JP2005222530A JP 2005222530 A JP2005222530 A JP 2005222530A JP 2005000887 A JP2005000887 A JP 2005000887A JP 2005000887 A JP2005000887 A JP 2005000887A JP 2005222530 A JP2005222530 A JP 2005222530A
Authority
JP
Japan
Prior art keywords
data
read
memory
range
reading
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
Application number
JP2005000887A
Other languages
Japanese (ja)
Other versions
JP4687108B2 (en
Inventor
Tetsujiro Kondo
哲二郎 近藤
Hiroki Tetsukawa
弘樹 鉄川
Kenji Takahashi
健治 高橋
Hiroshi Sato
浩 佐藤
Masaki Handa
正樹 半田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005000887A priority Critical patent/JP4687108B2/en
Publication of JP2005222530A publication Critical patent/JP2005222530A/en
Application granted granted Critical
Publication of JP4687108B2 publication Critical patent/JP4687108B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Input (AREA)
  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data storing device which can store all data in a memory which consists of multiple memory banks and read out of requested multiple data simultaneously without heavy putting load on hardware. <P>SOLUTION: When all data are stored in a memory which consists of multiple memory banks, all the data are distributed into multiple areas with setting distribution unit as an area in which requested multiple data which is to be read out simultaneously by a data distribution decision part exist. The data within the area are distributed in the multiple memory banks constructing the memory, and are stored on one wordline of each memory bank, and all the data are allocated on the memory which consists of multiple memory banks. The multiple data which are targeted for simultaneous reading out within each area out of all the data allocated on the memory, and a part of the data within each area is substituted or updated sequentially with the data within the neighboring area. A memory controlling part, address translating part and address generating part perform read out controlling of the multiple data targeted for the next simultaneous read out. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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.

半導体メモリは、図20に示すように、ワード線WLとビット線BLを指定してメモリセルMCをアクセスする構造となっており、活性化された1ワード線とビット線の交差する位置にあるメモリセルMCに格納されたデータが読み出される。   As shown in FIG. 20, 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.

このような構造の半導体メモリでは、同じビット線を複数のワード線のデータが共有しているので、図21のように、複数のワード線WL1,WL2を指定するとビット線に出てきたデータが壊れてしまうため、異なるワード線のデータには同時アクセスできない。   In the 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.

また、独立したメモリバンクからは同時にデータを読み出すことが可能であり、図22に示すように、メモリを複数のメモリバンクBK1〜BKnに分け、それぞれのメモリバンクに異なるアドレスを指定することで複数のワード線のデータに同時アクセスすることができるが、メモリバンク内の異なるワード線のデータには同時アクセスできない。すなわち、同時に読み出すことが出来るのは各メモリバンクから同一ワード線上に格納されたデータであり、同一メモリバンクにおける異なるワード線上に格納されたデータは同時読み出し不可能である。   Further, data can be read simultaneously from independent memory banks. As shown in FIG. 22, the memory is divided into a plurality of memory banks BK1 to BKn, and a plurality of addresses can be designated by specifying different addresses for each memory bank. However, 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.

ここで、メモリバンクとは、メモリを管理するときの単位となる、一定の容量を持った領域である。よって、独立したメモリバンク間においてデータのアクセス衝突は生じない。
なお、メモリは、1又は複数のメモリバンクにより構成される。
Here, the memory bank is an area having a certain capacity as a unit for managing the memory. Therefore, data access collision does not occur between independent memory banks.
The memory is composed of one or a plurality of memory banks.

また、従来より、入力データに含まれる特定のデータ配列を認識することにより、例えば画像データのパターン認識や動き検出等の処理が行われている。   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, motion is used for motion compensation inter-frame coding in high-efficiency coding of images, 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参照)。   In the motion detection method for detecting motion in an image signal, the applicant of the present application generates (a) an integrated value table by a matching method for each relatively large block obtained by dividing the entire screen or a screen into a plurality of blocks. Extracting one or a plurality of candidate vectors for each relatively large block obtained by dividing the whole screen or a screen into a plurality using the integrated value table; and (b) matching only the candidate vectors. A two-step motion detection method has been proposed which includes a step of detecting a motion vector for each pixel or each relatively small block. In this two-step motion detection method, any two or more pixel data in the image are simultaneously read out in the two-step process of representative point matching and vector assignment in which the motion detection of the image is performed by the two-step representative point matching. There is a need (see, for example, Patent Document 2).

特開2003−203236号公報JP 2003-203236 A 特開2001−61152号公報JP 2001-61152 A

ところで、半導体メモリでは、1メモリバンクにつき1ワード線のみで構成されると、上述のようにデータが壊れることなくデータの同時読み出しは可能であるが、格納すべきデータ量が膨大になるとメモリバンク数が増大し、ハードウエアに負担がかかり、現実的でない。   By the way, in a semiconductor memory, if it is composed of only one word line per memory bank, it is possible to read data simultaneously without breaking the data as described above, but if the amount of data to be stored becomes enormous, the memory bank The number increases and 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.

そこで、本発明の目的は、上述の如き従来の問題点に鑑み、ハードウエアに負担を生じることなく、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うことのできるデータ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラムを提供することにある。   Therefore, in view of the conventional problems as described above, the object of the present invention is to store all data in a memory composed of a plurality of memory banks without causing a burden on hardware, and to simultaneously read a desired plurality of data. 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 that can be performed.

本発明の更に他の目的、本発明によって得られる具体的な利点は、以下に説明される実施の形態の説明から一層明らかにされる。   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.

本発明では、所望の複数データの存在する範囲のデータを同時読み出し可能に配置し、上記範囲の周期で全データを分割し、周期的に配置する。初期配置での同時読み出し可能な範囲を周期的に読み出し、入れ換え操作を順に行う。これにより全データにおいて任意の複数データの同時読み出しを可能とする。   In the present invention, data in a range where a plurality of desired data exists can be read simultaneously, and all data is divided and periodically arranged in a cycle of the above range. The range in which simultaneous reading in the initial arrangement is possible is periodically read, and the replacement operation is sequentially performed. This enables simultaneous reading of a plurality of arbitrary data in all data.

本発明に係るデータ格納装置は、複数のメモリバンクからなるメモリと、検出パターンに基づいて、同時に読み出そうとする所望の複数データの存在する範囲をデータの分割単位と決めるデータ分割判定手段と、上記メモリに対するデータの書き込み/読み出しを制御するメモリ制御手段とを備え、上記メモリ制御手段は、上記データ分割判定手段からの分割単位に基づき、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで、上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出す制御を行うことを特徴とする。   A data storage device according to the present invention includes a memory composed of a plurality of memory banks, and a data division determination unit that determines, as a data division unit, a range in which desired data to be simultaneously read is present based on a detection pattern. Memory control means for controlling writing / reading of data to / from the memory, and the memory control means divides all data into a plurality of ranges based on the division unit from the data division determination means, Are allocated to the plurality of memory banks, and each memory bank stores the data on a single word line, so that a plurality of data to be read simultaneously in the respective ranges can be obtained from all the data arranged on the memory. Read periodically and replace or rewrite a part of each range above with the data in the adjacent range in order. And performing control to read out a plurality data to be read.

また、本発明に係るデータ格納制御装置は、検出パターンに基づいて、同時に読み出そうとする所望の複数データの存在する範囲をデータの分割単位と決めるデータ分割判定手段と、複数のメモリバンクからなるメモリに対するデータの書き込み/読み出しを制御するメモリ制御手段とを備え、上記メモリ制御手段は、上記データ分割判定手段からの分割単位に基づき、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで、上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出す制御を行うことを特徴とする。   In addition, the data storage control device according to the present invention includes a data division determination means for determining a range where a plurality of pieces of desired data to be read simultaneously as a data division unit based on a detection pattern, and a plurality of memory banks. Memory control means for controlling writing / reading of data to / from the memory, wherein the memory control means divides all data into a plurality of ranges based on the division unit from the data division determination means, By allocating data to the plurality of memory banks and storing the data on one word line in each memory bank, a plurality of data to be read simultaneously in each of the ranges are periodically generated from all the data arranged on the memory. And then replace or rewrite a part of each of the above ranges with the data in the adjacent range in order, And performing control to read out a plurality data of interest out.

また、本発明に係るデータ格納制御方法は、全データを複数のメモリバンクからなるメモリに格納する際に、同時に読み出そうとする所望の複数データの存在する範囲を分割単位として、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出すことを特徴とする。   In addition, the data storage control method according to the present invention, when storing all data in a memory composed of a plurality of memory banks, sets all the data as a division unit with a range in which desired multiple data to be read simultaneously exist. Dividing into a plurality of ranges, allocating the data in each range to the plurality of memory banks, and storing the data on one word line in each memory bank, from the all data arranged on the memory, each of the data A plurality of data to be simultaneously read in a range are periodically read, and a part of each of the above ranges is sequentially replaced or rewritten with data in an adjacent range, and the next plurality of data to be simultaneously read is read. .

さらに、本発明に係るデータ格納制御プログラムは、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、全データを複数のメモリバンクからなるメモリに格納する際に、同時に読み出そうとする所望の複数データの存在する範囲を分割単位として、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出すことを特徴とする。   Furthermore, a data storage control program according to the present invention is a data storage control program for storing all data in a memory composed of a plurality of memory banks and executing a data storage control for simultaneously reading out a plurality of desired data by a computer. Then, when storing all the data in a memory composed of a plurality of memory banks, the entire data is divided into a plurality of ranges with the range where the desired plurality of data to be read simultaneously is present as a division unit, Data in the range is distributed to the plurality of memory banks, and in each memory bank, the data is stored on one word line, and from the all data arranged on the memory, a plurality of data to be read simultaneously in each range Are read out periodically and a part of each of the above ranges is sequentially replaced or rewritten with data in the adjacent range. Characterized by reading a plurality data of the next simultaneous read target.

本発明によれば、ハードウエアに負担を生じることなく、全データにおいて任意の複数データの同時読み出しを行うことができる。   According to the present invention, it is possible to simultaneously read out a plurality of arbitrary data in all data without causing a burden on hardware.

以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、本発明は以下の例に限定されるものではなく、本発明の要旨を逸脱しない範囲で、任意に変更可能であることは言うまでもない。   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 data storage device 100 configured as shown in FIG.

このデータ格納装置100は、画像データIDが供給されるメモリ制御部10と、検出パターンDPが供給されるデータ分割判定部20、アドレス変換部30及びデータ選択部60と、上記データ分割判定部20及びアドレス変換部30の出力に基づいて論理アドレスLAを生成して上記メモリ制御部10に供給するアドレス生成部40と、上記メモリ制御部10により画素データPDの書き込み/読み出しが行われる複数メモリバンクからなるメモリ50を備え、上記メモリ50から読み出された画素データPDを上記データ選択部60を介して出力するようになっている。   The data storage device 100 includes a memory control unit 10 to which an image data ID is supplied, a data division determination unit 20 to which a detection pattern DP is supplied, an address conversion unit 30 and a data selection unit 60, and the data division determination unit 20. And an address generation unit 40 that generates a logical address LA based on the output of the address conversion unit 30 and supplies the logical address LA to the memory control unit 10, and a plurality of memory banks in which pixel data PD is written / read by the memory control unit 10 The pixel data PD read from the memory 50 is output via the data selection unit 60.

このデータ格納装置100において、上記メモリ制御部10は、例えばマイクロプロセッサにて構成され、図示しないプロラムメモリに格納されたデータ格納制御プログラムに従って、図2のフローチャートに示すように、データを初期配置し、初期配置したデータの一部を入れ替えて上書きして、任意の複数画素データを同時に読み出す処理を行う。   In the data storage device 100, the memory control unit 10 is configured by, for example, a microprocessor, and initially arranges data according to a data storage control program stored in a program memory (not shown) as shown in the flowchart of FIG. Then, a part of the initially arranged data is replaced and overwritten, and processing for simultaneously reading arbitrary plural pixel data is performed.

すなわち、上記メモリ制御部10は、先ず、検出パターンDPにより示される同時に読み出す複数の画素データの空間的範囲を上記データ分割判定部20により検出して(ステップS1)、同時読み出し可能なデータ範囲、周期を決定し(ステップS2)、同時読み出しする各データの各メモリバンクと、ワード線のメモリアドレスを決定する(ステップS3)。   That is, the memory control unit 10 first detects a spatial range of a plurality of pixel data to be read simultaneously indicated by the detection pattern DP by the data division determination unit 20 (step S1), and a data range that can be read simultaneously, The cycle is determined (step S2), and the memory banks of the data to be read simultaneously and the memory address of the word line are determined (step S3).

次に、上記メモリ制御部10は、全画像データの書き込みアドレスを決定してメモリ50に書き込み初期配置する(ステップS4)。   Next, the memory control unit 10 determines a write address for all the image data, and initially writes it in the memory 50 (step S4).

ここで、全画像データの初期配置について説明する。   Here, the initial arrangement of all image data will be described.

ある所望の複数画素データが存在する範囲におけるデータを、各メモリバンクの同一ワード線上に配置する。これにより、ある所望の複数画素データの同時読み出しは可能になる。なお、第1のメモリバンクでは第Nワード線にデータを格納し、第2メモリバンクでは第Mワード線上にデータを格納するようにしてもよい。尚、NとMは同じであっても構わない。   Data in a range in which some desired plural pixel data exists is arranged on the same word line of each memory bank. As a result, it is possible to simultaneously read certain desired plural pixel data. The first memory bank may store data on the Nth word line, and the second memory bank may store data on the Mth word line. N and M may be the same.

次に、上記データが存在する範囲あるいは、その範囲上の範囲を1周期として、全画像データを分割する。上記範囲により分割されたデータを各メモリバンクのワード線上にそれぞれ配置する。これにより各範囲に存在する複数画素データは同時に読み出すことが出来る。   Next, the entire image data is divided with the range where the data exists or the range on the range as one period. The data divided by the above range is arranged on the word line of each memory bank. Thereby, a plurality of pixel data existing in each range can be read simultaneously.

しかしながら、この初期配置状態では、上述した範囲がまたがってしまう場合に複数画素データを同時に読み出すことが出来ない。   However, in this initial arrangement state, a plurality of pixel data cannot be read out simultaneously when the above-described range is straddled.

そこで、上記メモリ制御部10は、初期配置したデータを上記メモリ50から読み出し、その一部を入れ替えて上記メモリ50に上書きする(ステップS5)。   Therefore, the memory control unit 10 reads the initially arranged data from the memory 50, replaces a part thereof, and overwrites the memory 50 (step S5).

すなわち、初期配置された各範囲における複数画素データを読み出した後に、その一部を入れ換えることで、先ほど同時読み出しできなかった範囲における複数画素データを同時読み出しできるように配置し直す。   That is, after a plurality of pixel data in each initially arranged range is read out, a part of the data is replaced so that the plurality of pixel data in the range that could not be read out simultaneously can be read out simultaneously.

このとき、入れ換えるデータ先にあった元のデータは別のメモリ、あるいは、メモリの未使用部分、余り部分に移動させ、退避させる。初期のデータが削除されないように退避と上書きを同時に行うことにより、任意の複数画素データを同時に読み出すことが可能となる。尚、入れ替えるデータ先にあった元のデータは、その後の処理で不要と分かっている場合には退避させずに、上書きしてもよい。   At this time, the original data in the data destination to be replaced is moved to another memory, or an unused part of the memory and a surplus part and saved. By simultaneously saving and overwriting so that the initial data is not deleted, it becomes possible to simultaneously read arbitrary plural pixel data. Note that the original data in the data destination to be replaced may be overwritten without being saved if it is known that it is unnecessary in the subsequent processing.

ここで、データの入れ換え上書きの移動は垂直方向、水平方向どちらでもよく、移動後、再度、初期配置に戻してもよい。また、データの入れ換え上書きの移動は連続的でもよいし、不連続でも構わないし、大きさも限定されない。上書きによりデータが無くなるのを防ぐためにはメモリの余り部分に退避させ、その大きさは入れ換え上書きのデータの容量により、適当な大きさを用意すればよい。   Here, the data replacement overwrite movement may be performed in either the vertical direction or the horizontal direction, and after the movement, the initial arrangement may be restored again. In addition, the data replacement overwrite movement may be continuous or discontinuous, and the size is not limited. In order to prevent the data from being lost due to overwriting, the data is saved in the remaining part of the memory, and the size of the data may be prepared according to the capacity of the data to be replaced and overwritten.

上記ステップS5の処理を行う前に、初期配置したデータに対して、入れ替え上書きの方向、範囲の決定を行うことができる(ステップS5’)。   Before performing the process of step S5, it is possible to determine the replacement overwrite direction and range for the initially arranged data (step S5 ').

そして、上記メモリ制御部10は、上記メモリ50から複数のデータの同時読み出しを行い(ステップS6)、その一部を入れ替えて上記メモリ50に上書きして(ステップS7)、上記ステップS6に戻り、上記ステップS6とステップ7の各処理を繰り返し行う。   The memory control unit 10 simultaneously reads a plurality of data from the memory 50 (step S6), replaces a part of the data and overwrites the memory 50 (step S7), and returns to the step S6. The processes in step S6 and step 7 are repeated.

上記メモリ50の種類は公知のものであればよい。具体例を挙げれば、SRAM,DRAM,MRAM,FeRAMなどが挙げられる。   The type of the memory 50 may be any known one. Specific examples include SRAM, DRAM, MRAM, FeRAM, and the like.

ここで、例えば図3に示すように、全画像データをm0×n0とし、同時に読み出すべき複数画素データYPDはN個存在し、全画像データ内における位置を(xi,yi;0<=i<N)とした場合、図4に示すように、複数画素データの分布はa0×b0(a0=max.xi−min.xi,b0=max.yi−min.xi)となる。   Here, for example, as shown in FIG. 3, the total image data is m0 × n0, there are N pieces of multiple pixel data YPD to be read out simultaneously, and the position in all the image data is (xi, yi; 0 <= i < N), the distribution of the plurality of pixel data is a0 × b0 (a0 = max.xi-min.xi, b0 = max.yi-min.xi) as shown in FIG.

上記ステップS5の初期配置処理では、a1×b1(a1>=a0,b1>=b0)の範囲を周期として初期のデータ配置を行う。   In the initial arrangement process in step S5, initial data arrangement is performed with a range of a1 × b1 (a1> = a0, b1> = b0) as a cycle.

すなわち、図5に示すように、初期のデータ配置は全画像データm0×n0内のデータをa1×b1の範囲を周期として配置する。図5に斜線を付して示すa1×b1の範囲内のデータは各メモリバンクの同一ワード線上に配置し、同時読み出し可能にしておく。   That is, as shown in FIG. 5, in the initial data arrangement, data in all the image data m0 × n0 is arranged with a range of a1 × b1 as a period. Data within the range of a1 × b1 indicated by hatching in FIG. 5 is arranged on the same word line of each memory bank so that it can be read simultaneously.

そして、上記ステップS6の上書き処理では、図6に示すように、a1×b1の範囲内のデータを周期的に読み出した後にその一部(図6ではグレー部分)を隣接のa1×b1の範囲データと入れ換え、上書きを行う。入れ換え、上書きするグレー部分の範囲はa1×b1の範囲以下であればよい。   Then, in the overwriting process in step S6, as shown in FIG. 6, after data in the range of a1 × b1 is periodically read out, a part thereof (gray portion in FIG. 6) is adjacent to the range of adjacent a1 × b1. Replace with data and overwrite. The range of the gray part to be replaced or overwritten may be equal to or less than the range of a1 × b1.

初期のデータ配置において、全画像データの読み出しが終了、つまりデータの入れ替え・上書きが終わると、図7に示すように、初期のデータ配置から図6でのグレー部分がずれたデータ配置になる。   In the initial data arrangement, when the reading of all image data is completed, that is, the replacement / overwriting of data is completed, the gray arrangement in FIG. 6 is shifted from the initial data arrangement as shown in FIG.

すなわち、グレー部分のみずれたa1×b1の範囲のデータが同時読み出し可能となる。図7の配置では、図5の初期配置より図6でのグレー部分が一段下がったときのa1×b1の範囲のデータが同時読み出し可能となる。   That is, data in the range of a1 × b1 shifted only in the gray portion can be read simultaneously. In the arrangement of FIG. 7, data in the range of a1 × b1 when the gray portion in FIG. 6 is lowered by one step from the initial arrangement of FIG. 5 can be read simultaneously.

したがって、上記ステップS6及びステップS7では、このような周期的な読み出し、読み出し後の入れ換え上書きを続けることで、全画像データ上の全てのa1×b1の範囲のデータを同時に読み出すことができる。   Therefore, in step S6 and step S7, data in the range of all a1 × b1 on all the image data can be read simultaneously by continuing such periodic reading and replacement overwriting after reading.

次に、上記データ格納装置100における全画像データの格納及び複数画素データの同時読み出しの具体例として、図8に示すように、全画像データは720×240あり、読み出すべき複数データYPDは7個存在し、読み出すべき複数データの分布は128×64の範囲内に存在する場合について説明する。   Next, as a specific example of storage of all image data and simultaneous readout of a plurality of pixel data in the data storage device 100, as shown in FIG. 8, there are 720 × 240 all image data, and seven pieces of multiple data YPD to be read out. A case will be described in which the distribution of a plurality of data to be read exists within a range of 128 × 64.

なお、以下に説明する具体例は一例であり、本発明は具体例に限定されるものではない。   In addition, the specific example demonstrated below is an example, and this invention is not limited to a specific example.

まず、最初の読み出すべき複数データのパターンが存在する128×64の範囲のデータを初期配置する。ここでは8メモリバンク用意し、1ワード線上に1024画素格納されるメモリを用意する。図9の(A),(B)に示すように上記128×64の範囲を16×64の短冊、8本に分割し、16×64の各短冊を各メモリバンクの1ワード線上に格納する。例えば、図9(B)において、短冊ST1は、第1バンクの第nワード線に格納され、短冊ST2は、第2バンクの第nワード線に格納される。 First, data in a range of 128 × 64 in which a plurality of data patterns to be read out first exists is initially arranged. Here, 8 memory banks are prepared, and a memory for storing 1024 pixels on one word line is prepared. As shown in FIGS. 9A and 9B, the 128 × 64 range is divided into 16 × 64 strips and 8 strips, and each 16 × 64 strip is stored on one word line of each memory bank. . For example, in FIG. 9 (B), the strip ST1 is stored in the n 1 word line of the first bank, strip ST2 is stored in the n 2 word line of the second bank.

これにより最初に読み出すべき複数データ7個を含む128×64範囲に存在するデータは各メモリバンクの1ワード線上に格納されているため同時読み出し可能である。   As a result, data existing in a 128 × 64 range including seven pieces of data to be read first is stored on one word line of each memory bank and can be read simultaneously.

次に、図10に示すように、この128×64の周期を用いて、全画像データを複数の各範囲A1,A2・・・のデータに分割する。   Next, as shown in FIG. 10, using this 128 × 64 cycle, the entire image data is divided into a plurality of ranges of data A1, A2,.

そして、図11に示すように、分割された128×64の範囲A1,A2・・・にあるデータは、それぞれ先ほどと同様に各メモリバンクの1ワード線上に格納する。   Then, as shown in FIG. 11, the divided data in the 128 × 64 range A1, A2,... Is stored on one word line of each memory bank as before.

ここでは、便宜上、全画像データを分割した左上端から下に向かって1,2・・・と番号付ける。128×64の範囲にあるデータは左から16×64の短冊周期で第1メモリバンク、第2メモリバンク・・・に格納される。格納されるワード線は分割した128×64の番号に従って格納される。図11に示した例では、範囲A6にあるので各メモリバンクの6番目のワード線上にデータは格納される。つまり、短冊A6_ST1のデータは、第1バンクの6番目のワード線上に格納され、短冊A6_ST2のデータは、第2バンクの6番目のワード線上に格納される。同様に、短冊A7_ST1のデータは、第1バンクの7番目のワード線上に格納され、短冊A7_ST2のデータは、第2バンクの7番目のワード線上に格納される。   Here, for the sake of convenience, numbers are assigned as 1, 2,... Data in the range of 128 × 64 is stored in the first memory bank, the second memory bank,... At a strip cycle of 16 × 64 from the left. The stored word lines are stored according to the divided 128 × 64 numbers. In the example shown in FIG. 11, since it is in the range A6, data is stored on the sixth word line of each memory bank. That is, the data of the strip A6_ST1 is stored on the sixth word line of the first bank, and the data of the strip A6_ST2 is stored on the sixth word line of the second bank. Similarly, the data of the strip A7_ST1 is stored on the seventh word line of the first bank, and the data of the strip A7_ST2 is stored on the seventh word line of the second bank.

このようにして、全画像データをメモリ50に格納すると、図12に示すように、このように分割した128×64の範囲に存在する任意の複数個のデータGP1、GP2、GP3は、同時に読み出し可能となる。   When all the image data is stored in the memory 50 in this way, as shown in FIG. 12, any plural pieces of data GP1, GP2, GP3 existing in the range of 128 × 64 divided in this way are read out simultaneously. It becomes possible.

次に、128×64の範囲間をまたぐような場合には任意の複数同時読み出し出来ないので、図13のような初期配置で、各128×64の範囲を読み出すときのその一部を入れ換え、上書きを行う。   Next, in the case of straddling the range of 128 × 64, it is not possible to simultaneously read out a plurality of arbitrary, so in the initial arrangement as shown in FIG. Overwrite.

例えば、図14に示すように128×64の範囲のうちの128×1を読み出し、隣接した128×64の範囲の128×1の位置に上書きを行う。   For example, as shown in FIG. 14, 128 × 1 in the range of 128 × 64 is read, and overwriting is performed at the position of 128 × 1 in the adjacent range of 128 × 64.

そのとき、最初の128×1のデータが無くならないように、メモリ50の余り部分へ退避させる。   At that time, the data is saved in the remainder of the memory 50 so that the first 128 × 1 data is not lost.

この操作を繰り返すことで128×64の範囲は順に移動し、その128×64の範囲に存在するデータは同時読み出し可能であるからこの操作を繰り返すことで全画像データの任意の複数データを読み出すことができる。   By repeating this operation, the 128 × 64 range moves in order, and the data existing in the 128 × 64 range can be read simultaneously, so by repeating this operation, arbitrary multiple data of all image data can be read out. Can do.

ここで、図13に示す例では、範囲A6の斜線部分を読み出した後、範囲A5の斜線部分に上書きし、次に、範囲A7の斜線部分を読み出した後、範囲A6の斜線部分に上書きし、以下これを繰り返す。   Here, in the example shown in FIG. 13, after reading the hatched portion of the range A6, it is overwritten on the hatched portion of the range A5, and then after reading the hatched portion of the range A7, it is overwritten on the hatched portion of the range A6. This is repeated below.

本発明は、例えば図15に示すような構成の画像の動き検出装置9に適用される。なお、動き検出装置9は1適用例であって、本発明はこの適用例以外にも適用し得るものであることは云うまでもない。   The present invention is applied to, for example, an image motion detection apparatus 9 having a configuration as shown in FIG. Note that the motion detection device 9 is an application example, and it goes without saying that the present invention can be applied to other application examples.

この動き検出装置9は、入力端子1にディジタルビデオ信号が供給される。ディジタルビデオ信号は、例えば輝度信号を所定の周波数でサンプリングし、サンプル(画素)をそれぞれ8ビットへ変換したものである。ディジタルビデオ信号が代表点マッチング処理部2に供給される。   The motion detection device 9 is supplied with a digital video signal at the input terminal 1. The digital video signal is obtained, for example, by sampling a luminance signal at a predetermined frequency and converting each sample (pixel) to 8 bits. The digital video signal is supplied to the representative point matching processing unit 2.

代表点マッチング処理部2は、前フレームの画像を間引き処理することによって、代表点からなる画像に変換し、現フレームの画像と前フレームの代表点からなる画像との間で、ブロックマッチングと同様に、マッチング処理を行うものである。代表点は、図16に示すように、1画面例えば1フレームの画像を複数の(m画素×nライン)のブロックへ分割した時の各ブロックを代表するデータである。代表点データとしては、ブロックの中心位置の画素の値、ブロック内の画素の値の平均値、ブロック内の画素の中間値等が使用される。   The representative point matching processing unit 2 converts the image of the previous frame into an image composed of representative points by performing a thinning process, and similar to the block matching between the image of the current frame and the image composed of the representative points of the previous frame. In addition, a matching process is performed. As shown in FIG. 16, the representative point is data representing each block when an image of one frame, for example, one frame is divided into a plurality of (m pixels × n lines) blocks. As the representative point data, the value of the pixel at the center position of the block, the average value of the pixel values in the block, the intermediate value of the pixels in the block, and the like are used.

代表点マッチング処理部2は、設定されたサーチ範囲内で現フレームの参照フレーム画像と、代表点データで構成された前フレームの候補フレーム画像との間で、フレーム間差分を計算する。すなわち、前フレームのあるブロックの代表点データから、現フレームの同一位置のブロックのm×n個の各画素の値が減算され、減算出力の絶対値が1ブロックで積算され、さらに、各ブロックの積算値が1フレームで積算される。この積算値が評価値テーブル形成部3に供給される。評価値テーブル形成部3では、サーチ範囲内の各位置において求められた積算値をメモリに記憶し、メモリ上に評価値テーブルを形成する。   The representative point matching processing unit 2 calculates the inter-frame difference between the reference frame image of the current frame and the candidate frame image of the previous frame configured by the representative point data within the set search range. That is, the value of each of the m × n pixels of the block at the same position in the current frame is subtracted from the representative point data of a block in the previous frame, and the absolute value of the subtraction output is integrated in one block. Are integrated in one frame. This integrated value is supplied to the evaluation value table forming unit 3. The evaluation value table forming unit 3 stores the integrated value obtained at each position within the search range in a memory, and forms an evaluation value table on the memory.

評価値テーブル形成部3により形成された評価値テーブルを参照して、1または複数の候補ベクトルを候補ベクトル抽出部4が抽出する。抽出された候補ベクトルが動きベクトル検出部5に供給される。動きベクトル検出部5には、遅延回路6を介して入力ビデオデータが供給される。遅延回路6は、候補ベクトルを遅延するのに要する時間、入力ビデオデータを遅延させる。入力ビデオデータがメモリから読出されるものである時には、読出したビデオデータを動きベクトル検出部5に与えれば良いので、遅延回路6を設ける必要がない。   With reference to the evaluation value table formed by the evaluation value table forming unit 3, the candidate vector extracting unit 4 extracts one or a plurality of candidate vectors. The extracted candidate vectors are supplied to the motion vector detection unit 5. Input video data is supplied to the motion vector detector 5 via the delay circuit 6. The delay circuit 6 delays the input video data for the time required to delay the candidate vector. When the input video data is read from the memory, the read video data only needs to be given to the motion vector detection unit 5, so that there is no need to provide the delay circuit 6.

動きベクトル検出部5は、候補ベクトルを使用したマッチング処理によって1画素単位で動きベクトルを検出し、出力端子7に検出した動きベクトルを出力する。ここで、1画素単位の動きベクトル検出について説明する。1画素単位の動きベクトル検出においても、評価値を得るために、ブロック化がなされる。図17に示すように、例えば画素P1を中心とする3×3のブロックB1を構成する。ブロックB1が例えば現フレームの参照ブロックである。前フレームの候補ブロックも同様に構成される。そして、ブロックマッチングによって、サーチ範囲内の評価値テーブルが形成される。この評価値テーブル内で最小の評価値と対応して画素P1に関して動きベクトルが検出される。次に、隣の画素P2について同様に参照ブロックが形成される。そして、ブロックマッチングによって、同様に評価値テーブルが形成され、評価値テーブルに基づいて画素P2に関する動きベクトルが検出される。このようにして1画素毎に動きベクトルが検出される。   The motion vector detection unit 5 detects a motion vector in units of one pixel by matching processing using candidate vectors, and outputs the detected motion vector to the output terminal 7. Here, the motion vector detection for each pixel will be described. Even in the motion vector detection in units of one pixel, in order to obtain an evaluation value, blocking is performed. As shown in FIG. 17, for example, a 3 × 3 block B1 with the pixel P1 as the center is formed. Block B1 is a reference block of the current frame, for example. The candidate block of the previous frame is similarly configured. Then, an evaluation value table within the search range is formed by block matching. A motion vector is detected for the pixel P1 corresponding to the minimum evaluation value in the evaluation value table. Next, a reference block is similarly formed for the adjacent pixel P2. Then, an evaluation value table is similarly formed by block matching, and a motion vector related to the pixel P2 is detected based on the evaluation value table. In this way, a motion vector is detected for each pixel.

一般的には、1画素毎に動きベクトルを検出する処理は、ブロック毎に動きベクトルを検出する処理に比較して大幅に計算量が増大し、処理が複雑化する。しかしながら、ここでは、候補ベクトル抽出部4にて抽出された1または複数の候補ベクトルのみを対象として動きベクトルを検出するので、計算量の増大、処理の複雑化を防止できる。   In general, the process of detecting a motion vector for each pixel greatly increases the amount of calculation compared to the process of detecting a motion vector for each block, and the process becomes complicated. However, here, since the motion vector is detected only for one or a plurality of candidate vectors extracted by the candidate vector extraction unit 4, it is possible to prevent an increase in calculation amount and a complicated process.

図18は、候補ベクトル抽出部4の処理を説明するためのものである。評価値テーブル形成部3において形成された評価値テーブルは、xおよびy座標で規定されるサーチ範囲のz座標として、評価値が存在するものである。図18の(A)は、評価値テーブルのx方向の分布の一例を概念的に示し、例えばy=y1 を通る水平方向の分布である。図18の(B)は、評価値テーブルのy方向の分布の一例概念的に示し、例えばx=x1を通る垂直方向の分布である。図18の(A),(B)に示した評価値テーブルからは、座標上の原点と、(x=x1,y=y1)の点とにそれぞれ極小値が存在していることが分かる。このような評価値テーブルは、背景(静止画)に対して斜めに移動する物体が存在する画像の場合に得られる。   FIG. 18 is a diagram for explaining the processing of the candidate vector extraction unit 4. The evaluation value table formed in the evaluation value table forming unit 3 has an evaluation value as the z coordinate of the search range defined by the x and y coordinates. FIG. 18A conceptually shows an example of the distribution in the x direction of the evaluation value table. For example, the distribution in the horizontal direction passing through y = y1. FIG. 18B conceptually shows an example of the distribution in the y direction of the evaluation value table. For example, the distribution in the vertical direction passing through x = x1. From the evaluation value tables shown in FIGS. 18A and 18B, it can be seen that there are local minimum values at the origin on the coordinates and at the point (x = x1, y = y1). Such an evaluation value table is obtained in the case of an image in which an object moving obliquely with respect to the background (still image) exists.

候補ベクトル抽出部4は、このような評価値テーブルから極小値を探し、極小値に対応する候補ベクトルを抽出する。図18の例では、(x=0,y=0)の動きベクトルと、(x=x1,y=y1)の動きベクトルを候補ベクトルとして抽出する。ここでは、簡単化のために、二つの極小値が明確に存在する評価値テーブルの例について説明した。しかしながら、実際には、より多くの極小値が存在したり、また、各極小値の大きさが相違し、さらに、各極小値と周辺の評価値とにより描かれる曲線の形状が相違する。候補ベクトル抽出部4では、そのような場合に、適切な候補ベクトルを抽出するように、候補数を削減する。すなわち、極小値としきい値とを比較して、しきい値より大きな極小値は、候補ベクトルとしない処理を行い、また、極小値と周辺の評価値とで描かれる曲線の急峻度を検出し、検出した急峻度としきい値とを比較して、急峻度が小さいものを候補ベクトルとしない処理を行う。   The candidate vector extraction unit 4 searches for such a minimum value from such an evaluation value table, and extracts a candidate vector corresponding to the minimum value. In the example of FIG. 18, a motion vector (x = 0, y = 0) and a motion vector (x = x1, y = y1) are extracted as candidate vectors. Here, for the sake of simplicity, an example of an evaluation value table in which two local minimum values clearly exist has been described. However, in practice, there are more local minimum values, the sizes of the local minimum values are different, and the shapes of curves drawn by the local minimum values and the surrounding evaluation values are different. In such a case, the candidate vector extraction unit 4 reduces the number of candidates so as to extract an appropriate candidate vector. In other words, the minimum value is compared with the threshold value, and the minimum value larger than the threshold value is processed as a candidate vector, and the steepness of the curve drawn by the minimum value and the surrounding evaluation value is detected. Then, the detected steepness is compared with a threshold value, and a process that does not use a candidate having a small steepness as a candidate vector is performed.

動きベクトル検出部5は、このように抽出された候補ベクトルのみを対象とし、1画素毎に候補ベクトルから最良と思われる動きベクトルを決定する。上述した例のように、二つの候補ベクトルが与えられた時に、注目画素について、マッチング処理によって、図19に示すように、二つの評価値を形成する。一つの評価値E0,0は、(x=0,y=0)の動きベクトルに対応するものであり、他の評価値Ex1,y1は、(x=x1,y=y1)の動きベクトルに対応するものである。   The motion vector detection unit 5 targets only the candidate vectors extracted in this way, and determines a motion vector that seems to be the best from the candidate vectors for each pixel. As shown in the above example, when two candidate vectors are given, two evaluation values are formed for the target pixel by matching processing as shown in FIG. One evaluation value E0,0 corresponds to the motion vector of (x = 0, y = 0), and the other evaluation values Ex1, y1 are the motion vector of (x = x1, y = y1). Corresponding.

評価値に基づいて最良の動きベクトルを決定する方法の一例を説明する。候補ベクトルにそれぞれ対応して求められた評価値の中で最小の評価値を生じさせ、且つその大きさが十分に小なるものを最良の動きベクトルとして選択する。例えば評価値E0,0 が最小であり、且つ評価値E0,0 が十分に小さな値となる場合には、動きベクトルMVとして(x=0,y=0)が選択される。一方、評価値Ex1,y1が最小であり、且つ評価値Ex1,y1が十分に小さな値となる場合には、注目画素の動き動きベクトルMVとして(x=x1,y=y1)が選択される。若し、これらの条件が満たされない画素に関しては、動きベクトルが不定とする。候補ベクトルから最良の動きベクトルを決定する方法としては、これ以外の他の方法が可能である。   An example of a method for determining the best motion vector based on the evaluation value will be described. Among the evaluation values obtained corresponding to the candidate vectors, the smallest evaluation value is generated, and the one whose size is sufficiently small is selected as the best motion vector. For example, when the evaluation value E0,0 is the minimum and the evaluation value E0,0 is a sufficiently small value, (x = 0, y = 0) is selected as the motion vector MV. On the other hand, when the evaluation values Ex1, y1 are minimum and the evaluation values Ex1, y1 are sufficiently small, (x = x1, y = y1) is selected as the motion motion vector MV of the target pixel. . If the pixel does not satisfy these conditions, the motion vector is indefinite. Other methods are possible as a method for determining the best motion vector from the candidate vectors.

このような構成の画像の動き検出装置9では、上記代表点マッチング処理部2における代表点マッチング処理課程及び候補ベクトル抽出部4における候補ベクトル割り当て課程で任意の複数データを読み出す必要がある。上述の図1に示した構成のデータ格納装置100を備えることにより、上記データ格納装置100から所望の複数データを読み出して、上記代表点マッチング処理部2における代表点マッチング処理課程及び候補ベクトル抽出部4における候補ベクトル割り当て課程を実行する。また、2ステップ方式による代表点マッチングにより動き検出を行った後、各フレームの動きベクトルの周辺画素を引き寄せるタップ引き寄せ過程においても、上記データ格納装置100から任意の複数データを読み出すことができる。   In the image motion detection device 9 having such a configuration, it is necessary to read a plurality of arbitrary data in the representative point matching process in the representative point matching processor 2 and the candidate vector assignment process in the candidate vector extraction unit 4. By providing the data storage device 100 having the configuration shown in FIG. 1 described above, a plurality of desired data are read from the data storage device 100, and the representative point matching processing process and candidate vector extraction unit in the representative point matching processing unit 2 are read out. The candidate vector assignment process in 4 is executed. In addition, after performing motion detection by representative point matching by the two-step method, a plurality of arbitrary data can be read from the data storage device 100 even in a tap pulling process in which peripheral pixels of the motion vector of each frame are pulled.

本発明を実施するデータ格納装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data storage apparatus which implements this invention. 上記データ格納装置において、メモリ制御部により実行されるデータ格納制御の手順を示すフローチャートである。It is a flowchart which shows the procedure of the data storage control performed by the memory control part in the said data storage device. 全画像データ内における同時に読み出すべき複数画素データの位置を説明するための模式的な図である。It is a schematic diagram for demonstrating the position of the several pixel data which should be read simultaneously within all the image data. 上記複数画素データの分布状態を示す模式的な図である。It is a schematic diagram which shows the distribution state of the said several pixel data. 上記データ格納装置におけるデータの初期配置を説明するための模式的な図である。It is a schematic diagram for explaining the initial arrangement of data in the data storage device. 上記データ格納装置におけるデータの入れ換え、上書きを説明するための模式的な図である。It is a schematic diagram for explaining data exchange and overwriting in the data storage device. 上記データの入れ換え、上書き後のデータ配置を示す模式的な図である。It is a schematic diagram which shows the data arrangement | positioning after replacement | exchange of the said data and overwrite. 上記データ格納装置における全画像データの格納及び複数画素データの同時読み出しの具体例における全画像データ及び同時に読み出すべき複数画素データを示す模式的な図である。It is a typical figure which shows all the image data and the several pixel data which should be read simultaneously in the specific example of storing of all the image data in the said data storage device, and simultaneous reading of several pixel data. 上記具体例における全画像データの初期配置を説明するための模式的な図である。It is a schematic diagram for demonstrating the initial arrangement | positioning of all the image data in the said specific example. 上記具体例における全画像データを複数の各範囲のデータに分割した状態を説明するための模式的な図である。It is a schematic diagram for demonstrating the state which divided | segmented all the image data in the said specific example into the data of several each range. 上記具体例における分割された各範囲にあるデータの各メモリバンクへの格納状態を説明するための模式的な図である。It is a typical figure for demonstrating the storage state to each memory bank of the data in each range divided | segmented in the said specific example. 上記具体例において、全画像データをメモリに格納した初期配置で同時に読み出し可能な複数データを示す模式的な図である。In the said specific example, it is a schematic diagram which shows the several data which can be read simultaneously by the initial arrangement which stored all the image data in the memory. 上記具体例におけるデータの入れ換え、上書きを説明するための模式的な図である。It is a schematic diagram for demonstrating replacement of data and overwriting in the specific example. 上記具体例における上書きの位置を示す模式的な図である。It is a schematic diagram which shows the position of overwriting in the said specific example. 本発明が適用される画像の動き検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image motion detection apparatus with which this invention is applied. 上記画像の動き検出装置における代表転ブロックマッチングを説明するための模式的な図である。It is a schematic diagram for demonstrating the representative block block matching in the said image motion detection apparatus. 上記画像の動き検出装置における1画素単位の動きベクトル検出処理を説明するための模式的な図である。It is a schematic diagram for demonstrating the motion vector detection process of the pixel unit in the said motion detection apparatus. 上記画像の動き検出装置における評価値の分布の一例を示す図である。It is a figure which shows an example of distribution of the evaluation value in the said motion detection apparatus. 上記画像の動き検出装置における評価値テーブルの一例を示す図である。It is a figure which shows an example of the evaluation value table in the said motion detection apparatus. 一般的な半導体メモリの構造を模式的に示す図である。It is a figure which shows typically the structure of a general semiconductor memory. 上記半導体メモリにおいて、同時アクセスできない状態を模式的に示す図である。It is a figure which shows typically the state which cannot access simultaneously in the said semiconductor memory. 複数メモリバンクのメモリ構成を示す図である。It is a figure which shows the memory structure of a several memory bank.

符号の説明Explanation of symbols

10 メモリ制御部、20 データ分割判定部、30 アドレス変換部、40 アドレス生成部、50 メモリ、60 データ選択部、100 データ格納装置
10 memory control unit, 20 data division determination unit, 30 address conversion unit, 40 address generation unit, 50 memory, 60 data selection unit, 100 data storage device

Claims (10)

複数のメモリバンクからなるメモリと、
検出パターンに基づいて、同時に読み出そうとする所望の複数データの存在する範囲をデータの分割単位と決めるデータ分割判定手段と、
上記メモリに対するデータの書き込み/読み出しを制御するメモリ制御手段とを備え、 上記メモリ制御手段は、上記データ分割判定手段からの分割単位に基づき、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで、上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出す制御を行うことを特徴とするデータ格納装置。
A memory consisting of a plurality of memory banks;
A data division determining means for determining, as a data division unit, a range in which a plurality of desired data to be read simultaneously is present based on a detection pattern;
Memory control means for controlling writing / reading of data to / from the memory, the memory control means divides all data into a plurality of ranges based on the division unit from the data division determination means, By allocating data to the plurality of memory banks and storing the data on one word line in each memory bank, a plurality of data to be simultaneously read in the respective ranges are periodically generated from all the data arranged on the memory. The data storage device is characterized in that the data is read out, and a part of each of the ranges is sequentially replaced or rewritten with data in an adjacent range to read out a plurality of data to be read at the same time.
上記メモリ制御手段は、各範囲における同時読み出し対象の複数データの周期的な読み出し及び読み出された上記読み出し対象の複数データの少なくとも一部を、書き込み先のデータの退避後に書き込むことを繰り返すことにより、全データに対し所望の複数データの同時読み出しを行うことを特徴とする請求項1記載のデータ格納装置。   The memory control means repeats periodically reading a plurality of data to be simultaneously read in each range and writing at least a part of the read plurality of data to be read after saving the write destination data. 2. A data storage device according to claim 1, wherein a plurality of desired data are simultaneously read from all data. 検出パターンに基づいて、同時に読み出そうとする所望の複数データの存在する範囲をデータの分割単位と決めるデータ分割判定手段と、
複数のメモリバンクからなるメモリに対するデータの書き込み/読み出しを制御するメモリ制御手段とを備え、
上記メモリ制御手段は、上記データ分割判定手段からの分割単位に基づき、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで、上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出す制御を行うことを特徴とするデータ格納制御装置。
A data division determining means for determining, as a data division unit, a range in which a plurality of desired data to be read simultaneously is present based on a detection pattern;
Memory control means for controlling writing / reading of data to / from a memory composed of a plurality of memory banks,
The memory control unit divides all the data into a plurality of ranges based on the division unit from the data division determination unit, and distributes the data in each range to the plurality of memory banks. By storing on a word line, a plurality of data to be read simultaneously in each range is periodically read out from all the data arranged on the memory, and a part of each range is data in an adjacent range. A data storage control device that performs a control of sequentially reading or reading out a plurality of data to be read simultaneously.
上記メモリ制御手段は、各範囲における同時読み出し対象の複数データの周期的な読み出し及び読み出された上記読み出し対象の複数データの少なくとも一部を、書き込み先のデータの退避後に書き込むことを繰り返すことにより、全データに対し所望の複数データの同時読み出しを行うことを特徴とする請求項3記載のデータ格納制御装置。   The memory control means repeats periodically reading a plurality of data to be simultaneously read in each range and writing at least a part of the read plurality of data to be read after saving the write destination data. 4. The data storage control device according to claim 3, wherein desired data are simultaneously read from all data. 全データを複数のメモリバンクからなるメモリに格納する際に、同時に読み出そうとする所望の複数データの存在する範囲を分割単位として、全データを複数の範囲に分割し、
各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで上記メモリ上に配置された上記全データから、
上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出すことを特徴とするデータ格納制御方法。
When all the data is stored in a memory composed of a plurality of memory banks, the entire data is divided into a plurality of ranges, with a range where a plurality of desired data to be simultaneously read exist as a division unit,
The data in each range is distributed to the plurality of memory banks, and in each memory bank, the data is stored on one word line so that all the data arranged on the memory is
A plurality of data to be simultaneously read in each of the above ranges is periodically read, and a part of each of the above ranges is sequentially replaced or rewritten with data in an adjacent range, and the next plurality of data to be simultaneously read is read. Data storage control method.
各範囲における同時読み出し対象の複数データの周期的な読み出し及び読み出された上記読み出し対象の複数データの少なくとも一部を、書き込み先のデータの退避後に書き込むことを繰り返すことにより、全データに対し所望の複数データの同時読み出しを行うことを特徴とする請求項5記載のデータ格納制御方法。   By repeating the periodic reading of a plurality of data to be read simultaneously in each range and writing at least a part of the read plurality of data to be read after saving the write destination data, it is desired for all the data. 6. The data storage control method according to claim 5, wherein a plurality of data are simultaneously read out. 画像の動き検出を2ステップ方式の代表点マッチングにより行う過程において、画像内における任意の複数の画素データパターンを同時に読み出すことを特徴とする請求項5記載のデータ格納制御方法。   6. The data storage control method according to claim 5, wherein in the process of detecting the motion of the image by the two-step method of representative point matching, a plurality of arbitrary pixel data patterns in the image are read simultaneously. 複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、
全データを複数のメモリバンクからなるメモリに格納する際に、同時に読み出そうとする所望の複数データの存在する範囲を分割単位として、全データを複数の範囲に分割し、
各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで上記メモリ上に配置された上記全データから、
上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出すことを特徴とするデータ格納制御プログラム。
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 storing all the data in a memory consisting of a plurality of memory banks, dividing the entire data into a plurality of ranges, with a range in which a plurality of desired data to be simultaneously read exists as a division unit,
The data in each range is distributed to the plurality of memory banks, and in each memory bank, the data is stored on one word line so that all the data arranged on the memory is
A plurality of data to be simultaneously read in each of the above ranges is periodically read, and a part of each of the above ranges is sequentially replaced or rewritten with data in an adjacent range, and the next plurality of data to be simultaneously read is read. A data storage control program.
各範囲における同時読み出し対象の複数データの周期的な読み出し及び読み出された上記読み出し対象の複数データの少なくとも一部を、書き込み先のデータの退避後に書き込むことを繰り返すことにより、全データに対し所望の複数データの同時読み出しを行うことを特徴とする請求項8記載のデータ格納制御プログラム。   By repeating the periodic reading of a plurality of data to be read simultaneously in each range and writing at least a part of the read plurality of data to be read after saving the write destination data, it is desired for all the data. 9. The data storage control program according to claim 8, wherein a plurality of data are simultaneously read out. 画像の動き検出を2ステップ方式の代表点マッチングにより行う過程において、画像内における任意の複数の画素データパターンを同時に読み出すことを特徴とする請求項8記載のデータ格納制御プログラム。
9. The data storage control program according to claim 8, wherein in the process of detecting the motion of the image by the representative point matching of the two-step method, a plurality of arbitrary pixel data patterns in the image are read simultaneously.
JP2005000887A 2004-01-05 2005-01-05 Data storage device, data storage control device, data storage control method, and data storage control program Expired - Fee Related JP4687108B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005000887A JP4687108B2 (en) 2004-01-05 2005-01-05 Data storage device, data storage control device, data storage control method, and data storage control program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004000570 2004-01-05
JP2004000570 2004-01-05
JP2005000887A JP4687108B2 (en) 2004-01-05 2005-01-05 Data storage device, data storage control device, data storage control method, and data storage control program

Publications (2)

Publication Number Publication Date
JP2005222530A true JP2005222530A (en) 2005-08-18
JP4687108B2 JP4687108B2 (en) 2011-05-25

Family

ID=34998079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005000887A Expired - Fee Related JP4687108B2 (en) 2004-01-05 2005-01-05 Data storage device, data storage control device, data storage control method, and data storage control program

Country Status (1)

Country Link
JP (1) JP4687108B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
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
WO2008010599A1 (en) * 2006-07-20 2008-01-24 Nec Corporation Memory access control device, memory access control method, data storage method, and memory access control program
CN104349080A (en) * 2013-08-07 2015-02-11 联想(北京)有限公司 Image processing method and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08275181A (en) * 1995-01-30 1996-10-18 Hitachi Ltd Decoder for dynamic image data
JP2001086447A (en) * 1999-09-17 2001-03-30 Sanyo Electric Co Ltd Image processor
JP2005196360A (en) * 2004-01-05 2005-07-21 Sony Corp Data storage device, data storage control device, data storage control method and data storage control program
JP2005196361A (en) * 2004-01-05 2005-07-21 Sony Corp Data storage device, data storage control device, data storage control method and data storage control program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08275181A (en) * 1995-01-30 1996-10-18 Hitachi Ltd Decoder for dynamic image data
JP2001086447A (en) * 1999-09-17 2001-03-30 Sanyo Electric Co Ltd Image processor
JP2005196360A (en) * 2004-01-05 2005-07-21 Sony Corp Data storage device, data storage control device, data storage control method and data storage control program
JP2005196361A (en) * 2004-01-05 2005-07-21 Sony Corp Data storage device, data storage control device, data storage control method and data storage control program

Cited By (5)

* Cited by examiner, † Cited by third party
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
WO2008010599A1 (en) * 2006-07-20 2008-01-24 Nec Corporation Memory access control device, memory access control method, data storage method, and memory access control program
JP4868298B2 (en) * 2006-07-20 2012-02-01 日本電気株式会社 Memory access control device, memory access control method, data storage method, and memory access control program
US8751723B2 (en) 2006-07-20 2014-06-10 Nec Corporation Memory access control device, method and recording medium for simultaneously accessing horizontally or vertically consecutive unit data or unit data on vertically alternate lines in different modes
CN104349080A (en) * 2013-08-07 2015-02-11 联想(北京)有限公司 Image processing method and electronic equipment

Also Published As

Publication number Publication date
JP4687108B2 (en) 2011-05-25

Similar Documents

Publication Publication Date Title
CN102460503B (en) Apparatus and method for displaying warped version of source image
US7401177B2 (en) Data storage device, data storage control apparatus, data storage control method, and data storage control program
EP1575298B1 (en) Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program
JP4224876B2 (en) Storage device, writing method and reading method
CN115035128A (en) Image overlapping sliding window segmentation method and system based on FPGA
JP2007241738A (en) Screen composing device
JP4586627B2 (en) DATA ACCESS DEVICE, DATA ACCESS METHOD, PROGRAM, AND RECORDING MEDIUM
JP4687108B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
US6560686B1 (en) Memory device with variable bank partition architecture
JP4534488B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
JP4506256B2 (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
JP4487568B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
JP2020160828A (en) Image data processing device for affine transformation of two-dimensional image
US6842179B2 (en) Graphics processing system
US6903744B2 (en) Graphics processing system
JP4635687B2 (en) DATA ACCESS DEVICE, DATA ACCESS METHOD, PROGRAM, AND RECORDING MEDIUM
JP4538737B2 (en) DATA ACCESS DEVICE, DATA ACCESS METHOD, PROGRAM, AND RECORDING MEDIUM
KR950033862A (en) Interface method and device with RAM
JP4655220B2 (en) DESIGN DEVICE AND METHOD, AND DATA STORAGE DEVICE
JP2008271351A (en) Motion vector detection circuit
CN113724174A (en) Histogram equalization system and image processing apparatus
US9053560B2 (en) Edge management unit for 2-dimension vector graphics, graphic processing apparatus and method thereof
CN111831212A (en) Data writing and reading method, device and equipment
JP2009003632A (en) Image processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110111

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: 20110118

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: 20110131

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

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

LAPS Cancellation because of no payment of annual fees