JP4689659B2 - Semiconductor memory and signal processing apparatus - Google Patents
Semiconductor memory and signal processing apparatus Download PDFInfo
- Publication number
- JP4689659B2 JP4689659B2 JP2007304546A JP2007304546A JP4689659B2 JP 4689659 B2 JP4689659 B2 JP 4689659B2 JP 2007304546 A JP2007304546 A JP 2007304546A JP 2007304546 A JP2007304546 A JP 2007304546A JP 4689659 B2 JP4689659 B2 JP 4689659B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage area
- semiconductor memory
- input
- arithmetic
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Static Random-Access Memory (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
この発明は、動きベクトル検出回路に適用可能な半導体メモリ及び信号処理装置に関する。詳しくは、半導体メモリが、複数の記憶領域と、該当する記憶領域から読み出したデータと入力されるデータとを用いて演算を行ったデータを当該記憶領域に書き戻す演算手段とを備え、少なくともこの記憶領域及び演算手段が、半導体チップ上に一体化されて形成されていることにより、半導体チップの大型化を防止できるようにしたものである。 The present invention relates to a semiconductor memory and a signal processing device applicable to a motion vector detection circuit. Specifically, the semiconductor memory includes a plurality of storage areas, and a calculation unit that writes back data that has been calculated using the data read from the corresponding storage areas and the input data to the storage areas. Since the storage area and the calculation means are formed integrally on the semiconductor chip, the semiconductor chip can be prevented from being enlarged.
画像処理においては、動きベクトル検出は重要な要素の一つであり、その代表的な方法としてブロックマッチング法がある。これは、あるフレームの一部を構成するある画素ブロック(参照ブロック)について、時間の異なるフレームにおける様々な位置での同一形状画素ブロック(候補ブロック)との相関を評価し、その中で相関が最も高い候補ブロックとの間の相対的な位置ずれを、その参照ブロックにおける動きベクトルとみなすものである。 In image processing, motion vector detection is one of important elements, and a typical method is a block matching method. This is to evaluate the correlation between a certain pixel block (reference block) constituting a part of a certain frame and the same shape pixel block (candidate block) at various positions in a frame at different times. A relative positional shift with the highest candidate block is regarded as a motion vector in the reference block.
ここで、候補ブロックを想定する領域が探索範囲である。相関の評価には、参照ブロックと候補ブロックとの対応する各画素間の画素データの差分絶対値のブロック内各画素についての総和、すなわち差分絶対値和が用いられることが多い。1個の参照ブロックにつき探索範囲内の画素数分の差分絶対値和(相関値)が得られるが、これが相関値テーブルである。この相関値テーブルの中で最も差分絶対値和の小さい、すなわち相関の高いところが、画素を単位とした動きベクトルと見なされる。また実際には、この処理は演算負荷の非常に重いものであり、ブロックの形状や大きさ、あるいは演算に使用する画素位置などについて、様々な工夫が行われている。 Here, an area that assumes a candidate block is a search range. For the evaluation of the correlation, the sum total of each pixel in the block of the absolute difference value of the pixel data between the corresponding pixels of the reference block and the candidate block, that is, the sum of absolute differences is often used. A sum of absolute differences (correlation values) corresponding to the number of pixels in the search range is obtained for one reference block, which is a correlation value table. In the correlation value table, the place where the sum of absolute differences is smallest, that is, where the correlation is high is regarded as a motion vector in units of pixels. In practice, this processing has a very heavy calculation load, and various measures are taken with respect to the shape and size of the block, the pixel position used for the calculation, and the like.
例えば、特許文献1に記載の多ポートメモリ装置によれば、ブロックマッチングにおいて探索用のメモリの画素群をセットするシフトレジスタを備え、こられのシフトレジスタから画素データを同時に並列して読み出して、当該画素データをPEアレイに出力するようにした技術的思想である。これにより、1個の探索用のメモリから複数の画素データを関連のないアドレスから同時に読み出してPEアレイに出力できるようになる。
For example, according to the multi-port memory device described in
ところで、従来のブロックマッチングには、差分絶対値演算器と記憶素子としての複数のレジスタとを組み合わせた、あるいはさらに加算器をも組み合わせたPE(Processing Element)が多く用いられている。アレイ配置したPE間に並列かつパイプライン的にデータを流すことで、複数の差分絶対値和を並列に演算し、または差分絶対値を得た後に加算器によって総和をし、差分絶対値和(相関値)の集まり、すなわち相関値テーブルを生成するのである。 By the way, in the conventional block matching, a PE (Processing Element) in which a difference absolute value arithmetic unit and a plurality of registers as storage elements are combined or an adder is further combined is often used. By flowing data between PEs arranged in an array in parallel and in a pipeline, a plurality of difference absolute value sums are calculated in parallel, or after obtaining the difference absolute values, the sum is summed by an adder, and the difference absolute value sum ( A collection of correlation values), that is, a correlation value table is generated.
この場合、特許文献1の図7に示すように記憶素子としてレジスタを用いるためにその構成素子数が多く占有面積が広くなり、さらに各PEに複数個(例えば2〜3個)のレジスタがあるのでPE全体としても占有面積が広くなる。そのため、半導体チップが大型化するといった問題点があった。
In this case, as shown in FIG. 7 of
そこで、この発明では、半導体チップの大型化を防止し得る半導体メモリ及び信号処理装置を提供することを目的とする。 Therefore, an object of the present invention is to provide a semiconductor memory and a signal processing device that can prevent an increase in the size of a semiconductor chip.
この発明に係る半導体メモリは、データを入力する入力手段と、複数の記憶領域と、上記記憶領域に記憶されているデータを読み出し、読み出したデータと上記入力手段により入力されるデータを用いて所定の演算を行ったデータを上記記憶領域に書き戻す演算手段と、上記記憶領域に記憶されているデータを読み出すための読み出し手段とを備え、少なくとも上記記憶領域及び上記演算手段は、半導体チップ上に一体化されて形成され、上記複数の記憶領域は、マトリックス状に配されるメモリセルからなり、上記演算手段は、ビット単位の演算を行う複数の演算部からなり、上記複数の演算部は、上記メモリセルのカラムのピッチに揃えて配されているものである。
The semiconductor memory according to the present invention reads data stored in an input means for inputting data, a plurality of storage areas, and data stored in the storage area, and uses the read data and data input by the input means to perform predetermined processing. And a reading means for reading the data stored in the storage area. At least the storage area and the calculating means are provided on a semiconductor chip. The plurality of storage areas are formed in an integrated manner, and the memory areas are arranged in a matrix, and the calculation means includes a plurality of calculation units that perform bit-unit calculations. it's also disposed aligned with the pitch of the columns of the memory cells.
この発明に係る半導体メモリによれば、半導体チップ上に一体化されて形成された記憶領域及び演算手段を有している。例えば、この記憶領域はマトリックス状に配されるメモリセルからなり、演算手段はビット単位の演算を行う複数の演算部からなる。この場合、複数の演算部は、上記メモリセルのカラムのピッチに揃えて配されている。これにより、従来のように記憶素子としてレジスタを用いるものに比べて占有面積を小さくでき、半導体チップの大型化を防止することができる。また、演算部からメモリセルへの足し込みデータの供給及びメモリセルから演算部への記憶データの供給を効率的に行うことができる。
According to the semiconductor memory of the present invention, the storage area and the computing means are formed integrally on the semiconductor chip. For example, the storage area is composed of memory cells arranged in a matrix, and the computing means is composed of a plurality of computing units that perform bit-wise computations. In this case, the plurality of arithmetic units are arranged in alignment with the column pitch of the memory cell. As a result, the occupied area can be reduced as compared with the conventional case in which a register is used as a memory element, and an increase in the size of the semiconductor chip can be prevented. Further, it is possible to efficiently supply the addition data from the arithmetic unit to the memory cell and supply the storage data from the memory cell to the arithmetic unit.
この発明に係る信号処理装置は、信号を処理する装置であって、上記信号を入力する入力手段と、複数の記憶領域と、上記記憶領域に記憶されている信号を読み出し、読み出した信号と上記入力手段により入力される信号を用いて所定の演算を行った信号を上記記憶領域に書き戻す演算手段と、上記記憶領域に記憶されている信号を読み出すための読み出し手段とを有し、少なくとも上記記憶領域及び上記演算手段が、半導体チップ上に一体化され、上記複数の記憶領域は、マトリックス状に配されるメモリセルからなり、上記演算手段は、ビット単位の演算を行う複数の演算部からなり、上記複数の演算部は、上記メモリセルのカラムのピッチに揃えて配されている半導体メモリを備えるものである。
The signal processing device according to the present invention is a device for processing a signal, wherein the input means for inputting the signal, a plurality of storage areas, a signal stored in the storage area is read, the read signal and the above-mentioned Computation means for writing back a signal obtained by performing a predetermined computation using a signal input by the input means to the storage area, and readout means for reading the signal stored in the storage area, and at least the above The storage area and the calculation means are integrated on a semiconductor chip, and the plurality of storage areas include memory cells arranged in a matrix, and the calculation means includes a plurality of calculation units that perform bit-unit calculations. becomes, the plurality of operation portions is the even Ru comprising a semiconductor memory which are arranged aligned to the pitch of the columns of the memory cells.
この発明に係る信号処理装置によれば、記憶領域及び演算手段が半導体チップ上に一体化され、複数の記憶領域はマトリックス状に配されるメモリセルからなり、演算手段はビット単位の演算を行う複数の演算部からなる半導体メモリを備えている。この半導体メモリは、複数の演算部が、メモリセルのカラムのピッチに揃えて配されている。これにより、当該装置に用いる半導体チップの大型化を防止することができる。また、演算部からメモリセルへの足し込みデータの供給及びメモリセルから演算部への記憶データの供給を効率的に行うことができる。 According to the signal processing apparatus of the present invention, the storage area and the calculation means are integrated on the semiconductor chip , the plurality of storage areas are formed of memory cells arranged in a matrix, and the calculation means performs a calculation in bit units. A semiconductor memory including a plurality of arithmetic units is provided. In this semiconductor memory, a plurality of arithmetic units are arranged in alignment with the pitch of the column of memory cells. Thereby, the enlargement of the semiconductor chip used for the device can be prevented. Further, it is possible to efficiently supply the addition data from the arithmetic unit to the memory cell and supply the storage data from the memory cell to the arithmetic unit.
この発明によれば、半導体メモリが、複数の記憶領域と、該当する記憶領域から読み出したデータと入力されるデータとを用いて演算を行ったデータを当該記憶領域に書き戻す演算手段とを備え、少なくともこの記憶領域及び演算手段が、半導体チップ上に一体化されて形成されている。この構成によって、従来のように記憶素子としてレジスタを用いるものに比べて、占有面積を小さくでき、半導体チップの大型化を防止することができる。 According to the present invention, the semiconductor memory includes a plurality of storage areas, and a calculation unit that writes back data that has been calculated using data read from the corresponding storage areas and input data to the storage areas. At least the storage area and the calculation means are integrally formed on the semiconductor chip. With this configuration, it is possible to reduce the occupied area and prevent an increase in the size of the semiconductor chip as compared with the conventional case where a register is used as a memory element.
また、この発明によれば、演算手段を構成するビット単位の複数の演算部が、半導体メモリを構成するマトリックス状に配されたメモリセルのカラムのピッチに揃えて配されるものであり、演算部からメモリセルへの足し込みデータの供給及びメモリセルから演算部への記憶データの供給を効率的に行うことができる。 Further, according to the present invention, the plurality of arithmetic units in bit units constituting the arithmetic means are arranged in alignment with the column pitch of the memory cells arranged in a matrix constituting the semiconductor memory. It is possible to efficiently supply additional data from the memory cell to the memory cell and supply storage data from the memory cell to the arithmetic unit.
また、この発明によれば、記憶領域をクリアまたはプリセットするためのデータを生成し、このデータによって記憶領域をクリアまたはプリセットすることで、外部からクリアまたはプリセットするためのデータを入力することなく、半導体メモリを容易にクリアまたはプリセットすることができ、またプリセットするためのデータを工夫することで、例えば平坦な絵柄の部分においては(0,0)等の特定の動きベクトルが検出されやすくできる。 Further, according to the present invention, the data for clearing or presetting the storage area is generated, and the storage area is cleared or preset by this data without inputting data for clearing or presetting from the outside. The semiconductor memory can be easily cleared or preset, and by devising the data for presetting, for example, a specific motion vector such as (0, 0) can be easily detected in a flat picture portion.
また、この発明によれば、演算手段を構成する複数の加算部による演算結果がオーバフローとなる場合、複数の加算部に対応した記憶領域の所定領域に最大値をセットするものであり、この記憶領域の所定領域に誤った小さな値が相関値として記憶される、動きベクトルの検出誤りを生じることを防止できる。 Further, according to the present invention, when the calculation result by the plurality of addition units constituting the calculation means overflows, the maximum value is set in a predetermined area of the storage area corresponding to the plurality of addition units. It is possible to prevent a motion vector detection error in which an erroneously small value is stored as a correlation value in a predetermined area.
以下、図面を参照しながら、この発明の実施の形態について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、実施の形態としての動き補償予測符号化装置100の構成を示している。
FIG. 1 shows a configuration of a motion compensated prediction encoding
この符号化装置100は、画像データ(動画像を構成するフレームデータ)Diを入力する入力端子101と、この入力端子101に供給される画像データDiと後述する動き補償回路110から供給される予測画像データとの差分を演算する減算器102と、この減算器102で得られる差分データに対してDCT(離散コサイン変換)を行うDCT回路103と、このDCT回路103で得られるDCT係数に対して量子化を行う量子化回路104と、この量子化回路104で得られた符号化データDoを出力する出力端子105とを有している。
The
また、符号化装置100は、量子化回路104で得られた符号化データDoに対して逆量子化を行う逆量子化回路106と、この逆量子化回路106の出力データに対して逆DCTを行って差分データを得る逆DCT回路107と、この逆DCT回路107で得られる差分データと動き補償回路110で得られる予測画像データとを加算して元の画像データを復元する加算器108と、この加算器108で復元された画像データを記憶するフレームメモリ109とを有している。
The
また、符号化装置100は、フレームメモリ109に記憶された画像データを読み込み、後述する動きベクトル検出回路111からの動きベクトルMVに基づいて動き補償をした後、上述したように減算器102及び加算器108に予測画像データとして供給する動き補償回路110と、入力端子101に供給される画像データDiの動きベクトルMVを検出して動き補償回路110に供給する動きベクトル検出回路111とを有している。
Also, the
図1に示す動き補償予測符号化装置100の動作を説明する。
The operation of the motion compensated
入力端子101に入力される画像データDiは、減算器102及び動きベクトル検出回路111に供給される。減算器102では、この画像データDiと動き補償回路110から供給される予測画像データとの差分が演算される。
Image data Di input to the
減算器102で得られる差分データはDCT回路103に供給されて離散コサイン変換される。このDCT回路103で得られるDCT係数は量子化回路104に供給されて量子化される。そして、この量子化回路104で得られた符号化データDoが出力端子105に出力される。
The difference data obtained by the
また、量子化回路104で得られた符号化データDoが逆量子化回路106に供給されて逆量子化され、さらにこの逆量子化回路106の出力データが逆DCT回路107に供給されて逆DCTされ、差分データが復元される。この差分データと動き補償回路110からの予測データとが加算器108で加算されて元の画像データが復元され、この復元された画像データがフレームメモリ109に記憶される。
Also, the encoded data Do obtained by the
動き補償回路110では、あるフレームにおいては、その前のフレームにフレームメモリ109に記憶された画像データの読み込みが行われて、動きベクトル検出回路111からの動きベクトルMVに基づいて動き補償されて、予測画像データが得られる。この予測画像データは、上述したように、差分データを得るために減算器102に供給されると共に、画像データを復元するために加算器108に供給される。
In the
次に、動きベクトル検出回路111の詳細を説明する。
Next, details of the motion
この動きベクトル検出回路111では、ブロックマッチング法により動きベクトルが検出される。これは、図2に示すように、探索フレームの候補ブロックを所定の探索範囲内で移動し、参照フレームの参照ブロックと最も合致している候補ブロックを検出することにより、動きベクトルを求めるものである。
In the motion
ブロックマッチング法では、図3Aに示すように、1枚の画像、例えば水平H画素、垂直Vラインの1フレームの画像が図3Bに示すように、P画素×Qラインのブロックに細分化される。図3Bの例では、P=5、Q=5の例である。cがブロックの中心画素位置である。 In the block matching method, as shown in FIG. 3A, one image, for example, one frame image of horizontal H pixels and vertical V lines is subdivided into blocks of P pixels × Q lines as shown in FIG. 3B. . In the example of FIG. 3B, P = 5 and Q = 5. c is the central pixel position of the block.
図4A〜Cは、cを中心画素とする参照ブロックとc´を中心とする候補ブロックの位置関係を示している。cを中心画素とする参照ブロックは、参照フレームの注目しているある参照ブロックであり、それと一致する探索フレームの候補ブロックが探索フレームにおいてc´を中心とするブロックの位置にあるものとしている。ブロックマッチング法では、探索範囲内において、参照ブロックと最も合致する候補ブロックを見出すことによって、動きベクトルを検出する。 4A to 4C show the positional relationship between a reference block having c as the central pixel and a candidate block having c ′ as the center. The reference block having c as the central pixel is a reference block of interest in the reference frame, and the candidate block of the search frame that matches the reference block is located at the position of the block centering on c ′ in the search frame. In the block matching method, a motion vector is detected by finding a candidate block that most closely matches a reference block within a search range.
図4Aの場合では、水平方向に+1画素、垂直方向に+1ライン、すなわち、(+1,+1)の動きベクトルが検出される。図4Bでは、(+3,+3)の動きベクトルMVが検出され、図4Cでは、(+2,−1)の動きベクトルが検出される。動きベクトルは、参照フレームの参照ブロック毎に求められる。 In the case of FIG. 4A, motion vectors of +1 pixel in the horizontal direction and +1 line in the vertical direction, that is, (+1, +1) are detected. In FIG. 4B, a motion vector MV of (+3, +3) is detected, and in FIG. 4C, a motion vector of (+2, −1) is detected. The motion vector is obtained for each reference block of the reference frame.
動きベクトルを探索する範囲を水平方向で±S画素、垂直方向で±Tラインとすると、参照ブロックは、その中心cに対して、水平に±S、垂直に±Tずれたところに中心c´を有する候補ブロックと比較される必要がある。 Assuming that the motion vector search range is ± S pixels in the horizontal direction and ± T lines in the vertical direction, the reference block has a center c ′ at a position shifted ± S horizontally and ± T vertically from the center c. Need to be compared to a candidate block with
図5は、参照フレームのある参照ブロックの中心cの位置をRとする時に、比較すべき探索フレームの(2S+1)×(2T+1)個の候補ブロックとの比較が必要なことを示している。すなわち、この図5のます目の位置にc´が存在する候補ブロックの全てが比較対象である。図5は、S=4,T=3とした例である。 FIG. 5 shows that when the position of the center c of a reference block having a reference frame is R, it is necessary to compare with (2S + 1) × (2T + 1) candidate blocks of the search frame to be compared. That is, all candidate blocks in which c ′ exists at the position of the first grid in FIG. 5 are comparison targets. FIG. 5 shows an example in which S = 4 and T = 3.
探索範囲内の比較で得られた評価値(すなわち、フレーム差の絶対値和、このフレーム差の二乗和、あるいはフレーム差の絶対値のn乗和等)の中で、最小値を検出することによって、動きベクトルが検出される。図5の探索範囲は、候補ブロックの中心が位置する領域であり、候補ブロックの全体が含まれる探索範囲の大きさは、(2S+P)×(2T+Q)となる。 Detecting the minimum value among evaluation values obtained by comparison within the search range (that is, sum of absolute values of frame differences, sum of squares of frame differences, or sum of absolute values of frame differences, etc.) Thus, a motion vector is detected. The search range in FIG. 5 is an area where the center of the candidate block is located, and the size of the search range including the entire candidate block is (2S + P) × (2T + Q).
図6は、動きベクトル検出回路111の構成を示している。
FIG. 6 shows the configuration of the motion
この動きベクトル検出回路111は、回路全体の動作を制御するコントローラ121と、参照フレームの画像データDiが入力される入力端子122と、この画像データDiを探索フレームの画像データとして蓄積するフレームメモリ123とを有している。フレームメモリ123の書き込み、読み出し等の動作は、コントローラ121によって制御される。
The motion
また、動きベクトル検出回路111は、複数の差分絶対値演算器124-1〜124-Nを有している。ここで、Nは、ある参照ブロック内の1個の参照画素に対する探索範囲に存在する複数の候補ブロックの個数である。複数の演算器124-1〜124-Nは、入力端子122に入力される画像データDiを構成する画素データを、参照ブロックの画素データDrとして共通に入力すると共に、また当該参照ブロックに対する探索範囲に存在する複数の候補ブロックの画素データDc-1〜Dc-Nをそれぞれ入力し、参照ブロックの画素データと候補ブロックの画素データとの差分絶対値を演算するものである。
The motion
この場合、演算器124-1〜124-Nにおいては、図7に示すように、1個の参照画素とN個の探索範囲画素との1対Nのマッチング演算が行われる。ここで、参照ブロック内における参照画素の位置に応じて、この参照画素に対する探索範囲画素の位置が変化する。例えば、ハッチングして示した位置は、参照ブロックの左上の1個の画素に対するN個の探索範囲画素の位置を示している。
In this case, in the
また、動きベクトル検出回路111は、複数の加算器125-1〜125-Nと、複数の記憶領域126-1〜126-Nを有する相関値テーブル生成用の半導体メモリ126とを有している。複数の加算器125-1〜125-Nは、複数の演算器124-1〜124-Nで演算されて得られた差分絶対値をそれぞれ入力すると共に、半導体メモリ126の複数の記憶領域126-1〜126-Nに記憶されていた記憶データのそれぞれを入力し、差分絶対値を記憶データに足し込むものである。
The motion
このように、複数の加算器125-1〜125-Nで得られた足し込みデータのそれぞれは、半導体メモリ126の複数の記憶領域126-1〜126-Nに記憶データとして書き戻される。半導体メモリ126の書き込み、読み出しの動作は、コントローラ121によって制御される。
In this way, each of the addition data obtained by the plurality of
コントローラ121は、参照フレームの各参照ブロックについて、複数の差分絶対値演算器124-1〜124-Nにおける差分絶対値の演算、複数の加算器125-1〜125-Nにおける足し込みの演算、半導体メモリ126の複数の記憶領域126-1〜126-Nへの足し込みデータの書き戻しを、ブロック内画素分だけ行い、半導体メモリ126の複数の記憶領域126-1〜126-Nに、各参照ブロックに対する探索範囲に存在する複数の候補ブロックのそれぞれに対応した相関値が得られるように制御する。
For each reference block of the reference frame, the
なお、入力端子122に入力される画像データDiは各ラインの画素データが連続したものとなっている。そのため、演算器124-1〜124-Nに入力される参照ブロックの画素データDrは、参照ブロック毎に連続したものではなく、複数の参照ブロックの画素データが所定数ずつ連続したものとなっている。例えば、参照ブロックが、図3Bに示すようにP画素×Qラインで構成される場合には、あるラインの画素データは、P画素毎に異なった参照ブロックを構成している。また、ある参照ブロックに着目すると、当該参照ブロックの画素データは、Qラインの画素データが入力されてはじめて、全て入力されることとなる。
The image data Di input to the
このように、演算器124-1〜124-Nに入力される参照ブロックの画素データDrは複数の参照ブロックの画素データが所定数ずつ連続したものとなっていることから、上述した複数の差分絶対値演算器124-1〜124-Nにおける差分絶対値の演算、複数の加算器125-1〜125-Nにおける足し込みの演算、半導体メモリ126の複数の記憶領域126-1〜126-Nへの足し込みデータの書き戻しは、複数の参照ブロックに対応して、時分割的に行われる。そして、Qラインの画素データの入力毎に、新たな複数の参照ブロックの処理に移っていく。
As described above, since the pixel data Dr of the reference block input to the
また、動きベクトル検出回路111は、参照ブロック毎に、半導体メモリ126の複数の記憶領域126-1〜126-Nに得られた、参照ブロックに対する探索範囲に存在する複数の候補ブロックのそれぞれに対応した相関値(差分絶対値和)に基づいて、参照ブロックに対応した動きベクトルMVを検出する相関値テーブル評価器127と、この評価器127で検出された動きベクトルMVを出力する出力端子128とを有している。評価器127では、最小の相関値を発生する候補ブロックの位置を、動きベクトルMVとして検出する。
Further, the motion
図6に示す動きベクトル検出回路111の動作を説明する。
The operation of the motion
入力端子122に入力される画像データDiは、参照ブロックの画素データDrとして、複数の差分絶対値演算器124-1〜124-Nに共通に入力される。また、入力端子122に入力される画像データDiはフレームメモリ123に供給され、探索フレームの画像データとして蓄積される。
The image data Di input to the
また、フレームメモリ123から当該参照ブロックに対する探索範囲に存在する複数の候補ブロックの画素データDc-1〜Dc-Nが複数の差分絶対値演算器124-1〜124-Nにそれぞれ入力される。この候補ブロックの画素データDc-1〜Dc-Nは、それぞれ参照ブロックの画素データDrに対応した画素位置のものとされる。演算器124-1〜124-Nでは、画素データDrと画素データDc-1〜Dc-Nとの差分絶対値がそれぞれ演算される。
Further, pixel data Dc −1 to Dc −N of a plurality of candidate blocks existing in the search range for the reference block are input from the
また、複数の演算器124-1〜124-Nで演算されて得られた差分絶対値はそれぞれ複数の加算器125-1〜125-Nに入力される。また、この複数の加算器125-1〜125-Nには、半導体メモリ126の複数の記憶領域126-1〜126-Nに記憶されていた記憶データがそれぞれ入力される。後述するように、複数の記憶領域126-1〜126-Nのそれぞれは複数の参照ブロック分の記憶部からなっている。上述したように複数の加算器125-1〜125-Nに入力される記憶データは、画素データDrが含まれる参照ブロックに対応した記憶部より読み出される。
Further, the difference absolute value obtained by the calculation of a plurality of
複数の加算器125-1〜125-Nでは、それぞれ記憶データに差分絶対値が足し込まれる。そして、このように複数の加算器125-1〜125-Nで得られた足し込みデータのそれぞれは、半導体メモリ126の複数の記憶領域126-1〜126-Nに記憶データとして書き戻される。この場合、画素データDrが含まれる参照ブロックに対応した記憶部に書き戻される。
In the plurality of
上述した複数の差分絶対値演算器124-1〜124-Nにおける差分絶対値の演算、複数の加算器125-1〜125-Nにおける足し込みの演算、半導体メモリ126の複数の記憶領域126-1〜126-Nへの足し込みデータの書き戻しは、参照フレームの各参照ブロックについて、ブロック内画素分だけ行われる。これにより、半導体メモリ126の複数の記憶領域126-1〜126-Nに、各参照ブロックについて、参照ブロックに対する探索範囲に存在する複数の候補ブロックのそれぞれに対応した相関値(差分絶対値和)が得られる。相関値テーブル評価器127は、半導体メモリ126の複数の記憶領域126-1〜126-Nに得られた、各参照ブロックに対する探索範囲に存在する複数の候補ブロックのそれぞれに対応した相関値は、順次読み出されて相関値テーブル評価器127に供給される。評価器127では、各参照ブロックについて、最小の相関値を発生する候補ブロックの位置が、動きベクトルMVとして検出される。このように、評価器127で検出された各参照ブロックにおける動きベクトルMVは順次出力端子128に出力される。
Calculation of the difference absolute values in the plurality of difference
なお、本実施の形態において、複数の加算器125-1〜125-Nと半導体メモリ126は一体化されており、複数の加算器125-1〜125-Nを構成するそれぞれのビット単位の複数の加算部は、半導体メモリ126のカラムのピッチに揃えて配されている。
In the present embodiment, the plurality of
図8は、加算器125-1及びそれに対応した半導体メモリ126の記憶領域126-1の部分の詳細構成を示したものである。なお、説明は省略するが、加算器125-2〜125-N及びそれに対応した半導体メモリ126の記憶領域126-2〜126-Nの部分についても同様に構成されている。
FIG. 8 shows a detailed configuration of the
図8において、記憶領域126-1には、カラム方向にn個、ロウ方向にX+1個のメモリセル(Memory Cell)130がマトリックス状に配されている。この場合、カラム方向に延びる各行のn個のメモリセル130によって、それぞれ1参照ブロック分の記憶部が構成されている。
8, the storage area 126 -1, n pieces in the column direction, the row direction X + 1 memory cells (Memory Cell) 130 are arranged in a matrix. In this case, a memory unit for one reference block is configured by
図9は、メモリセル130の構成例を示している。このメモリセル130は、書き込み及び読み出し用の第1のポートと読み出し専用の第2のポートとを有する2ポート構成のものである。
FIG. 9 shows a configuration example of the
負荷素子であるP型MOSトランジスタQ1とN型MOSトランジスタQ3とが電源と接地との間に直列に接続されてCMOSインバータ11が形成されていると共に、負荷素子であるP型MOSトランジスタQ2とN型MOSトランジスタQ4とが電源と接地との間に直列に接続されてCMOSインバータ12が形成されている。そして、これらCMOSインバータ11,12の各出力、すなわち記憶ノードN1,N2の各電位が互いに他のCMOSインバータ12,11の入力、すなわちN型MOSトランジスタQ4,Q3の各ゲート入力となっている。
A P-type MOS transistor Q1 and an N-type MOS transistor Q3, which are load elements, are connected in series between a power source and a ground to form a
CMOSインバータ11の記憶ノードN1は、ゲートが端子13に接続されたアクセストランジスタQ5を介して端子14に接続される。一方、CMOSインバータ12の記憶ノードN2は、ゲートが端子13に接続されたアクセストランジスタQ6を介して端子15に接続される。端子13にはワード線WLが接続され、端子14にはビット線BLが接続され、端子15にはビット線/BL(/BLはBLバーを表している)が接続される。
The storage node N1 of the
また、N型MOSトランジスタQ7,Q8が直列に接続され、その一端は接地され、その他端は端子16に接続される。そして、トランジスタQ7のゲートは記憶ノードN1に接続され、トランジスタQ8のゲートは端子17に接続される。端子16には読み出し専用ビット線BRLが接続され、端子17には読み出し専用ワード線WRLが接続される。
N-type MOS transistors Q7 and Q8 are connected in series, one end thereof is grounded, and the other end is connected to the terminal 16. The gate of transistor Q7 is connected to storage node N1, and the gate of transistor Q8 is connected to
このようなメモリセル130において、一対のCMOSインバータ11,12で構成されるメモリセル部に“1”または“0”のデータが記憶される。そして、このメモリセル部とビット線BL,/BLとの間で、アクセストランジスタQ5,Q6を介して、読み出し及び書き込みのデータ転送が行われる。また、メモリセル部と読み出し専用ビット線BRLとの間で、アクセストランジスタQ8を介して読み出しのデータ転送が行われる。
In such a
なお、図9に示すメモリセル130の構成例は、SRAM(Static Random Access Memory)セルをベースとしたものであるが、他のメモリセル、例えばDRAM(Dynamic Random Access Memory)、FeRAM(Ferro-electric Random Access Memory)、MRAM(Magnetic Random Access Memory)等におけるメモリセルをベースにして構成してもよい。
The configuration example of the
図8に戻って、カラム方向に並ぶ各行のメモリセル130に沿って、ワード線WL0〜WLX、及び読み出し専用ワード線WRL0〜WRLXが配されている。上述したように、ワード線WL0〜WLXはメモリセル130の端子13に接続され、読み出し専用ワード線WRL0〜WRLXはメモリセル130の端子17に接続される。
Returning to FIG. 8, word lines WL 0 to WL X and read-only word lines WRL 0 to WRL X are arranged along the
また、ロウ方向に並ぶ各列のメモリセル130に沿って、ビット線BL0〜BLn-1,/BL0〜/BLn-1、及び読み出し専用ビット線BRL0〜BRLn-1が配されている。上述したように、ビット線BL0〜BLn-1はメモリセル130の端子14に接続され、ビット線/BL0〜/BLn-1はメモリセル130の端子15に接続され、読み出し専用ビット線BRL0〜BRLn-1はメモリセル130の端子16に接続される。
In addition, bit lines BL 0 to BL n−1 , / BL 0 to / BL n−1 and read-only bit lines BRL 0 to BRL n−1 are arranged along the
なお、この読み出し専用ビット線BRL0〜BRLn-1による読み出しモードに入る前には、ビット線BRL0〜BRLn-1をプリチャージすることが必要となる。そのために、ビット線BRL0はP型MOSトランジスタQ41を介して電源に接続される。そして、このトランジスタQ41のゲートには、プリチャージ制御信号/φRPC(/φRPCはφRPCバーを表しており、プリチャージ制御信号φRPCが反転されたものである)が入力される。ビット線BRL1〜BRLn-1に関しても同様に構成されている。 It is necessary to precharge the bit lines BRL 0 to BRL n-1 before entering the read mode using the read - only bit lines BRL 0 to BRL n-1 . For this purpose, the bit line BRL 0 is connected to the power supply via the P-type MOS transistor Q41. A precharge control signal / φ RPC (/ φ RPC represents φ RPC bar, and is an inverted version of the precharge control signal φ RPC ) is input to the gate of the transistor Q41. The bit lines BRL 1 to BRL n−1 are similarly configured.
また、メモリ領域126-1のロウ方向に並ぶ各列のメモリセル130にそれぞれ対応して、センスアンプSA0〜SAn-1が配されている。各センスアンプSA0〜SAn-1は、それぞれビット線BL0〜BLn-1,/BL0〜/BLn-1に接続されている。これにより、記憶領域126-1のロウ方向に並ぶ各列のメモリセル130から、ビット線対BL0,/BL0〜BLn-1,/BLn-1及びセンスアンプSA0〜SAn-1を介して記憶データMD0〜MDn-1の読み出しが行われる。
Further, to each
ここで、センスアンプSA0の部分の構成の詳細を説明する。 Here, the configuration of the sense amplifier SA 0 will be described in detail.
ビット線BL0は、P型MOSトランジスタQ21を介してN型MOSトランジスタQ22のゲートに接続される。また、ビット線/BL0は、P型MOSトランジスタQ23を介してN型MOSトランジスタQ24のゲートに接続される。そして、トランジスタQ22,Q24の互いのソースは接続され、その接続点はN型MOSトランジスタQ25を介して接地される。そして、トランジスタQ21,Q23のゲートには、読み出し制御信号/φR(/φRはφRバーを表しており、読み出し制御信号φRが反転されたものである)が入力され、トランジスタQ25のゲートには、イコライズ制御信号/φEQ(/φEQはφEQバーを表しており、イコライズ制御信号φEQが反転されたものである)が入力される。 Bit line BL 0 is connected to the gate of N-type MOS transistor Q22 via P-type MOS transistor Q21. Bit line / BL 0 is connected to the gate of N-type MOS transistor Q24 via P-type MOS transistor Q23. The sources of the transistors Q22 and Q24 are connected to each other, and the connection point is grounded via the N-type MOS transistor Q25. The gates of the transistors Q21 and Q23 are supplied with a read control signal / φ R (/ φ R represents φ R bar, which is an inverted version of the read control signal φ R ). An equalize control signal / φ EQ (/ φ EQ represents a φ EQ bar and is an inverted version of the equalize control signal φ EQ ) is input to the gate.
また、トランジスタQ22のドレインはP型MOSトランジスタQ26,Q27の並列回路を介して電源に接続され、トランジスタQ24のドレインはP型MOSトランジスタQ28,Q29の並列回路を介して電源に接続される。そして、トランジスタQ22のドレインはトランジスタQ29のゲートに接続され、トランジスタQ24のドレインはトランジスタQ27のゲートに接続される。トランジスタQ26,Q28のゲートには、イコライズ制御信号/φEQが入力される。 The drain of the transistor Q22 is connected to a power supply via a parallel circuit of P-type MOS transistors Q26 and Q27, and the drain of the transistor Q24 is connected to a power supply via a parallel circuit of P-type MOS transistors Q28 and Q29. The drain of transistor Q22 is connected to the gate of transistor Q29, and the drain of transistor Q24 is connected to the gate of transistor Q27. An equalize control signal / φ EQ is input to the gates of transistors Q26 and Q28.
なお、読み出しモードに入る前にはビット線対BL0,/BL0をイコライズ(プリチャージ)することが必要となる。そのために、ビット線BL0はP型MOSトランジスタQ31を介して電源に接続され、ビット線/BL0はP型MOSトランジスタQ32を介して電源に接続され、ビット線BL0,/BL0はP型MOSトランジスタQ33を介して接続される。そして、トランジスタQ31〜Q33のゲートには、イコライズ制御信号/φEQが入力される。 It is necessary to equalize (precharge) the bit line pair BL 0 and / BL 0 before entering the read mode. Therefore, the bit line BL 0 is connected to the power supply via the P-type MOS transistor Q31, the bit line / BL 0 is connected to the power supply via the P-type MOS transistor Q32, and the bit lines BL 0 and / BL 0 are connected to the power supply. It is connected via a type MOS transistor Q33. An equalize control signal / φ EQ is input to the gates of transistors Q31 to Q33.
センスアンプSA2〜SAn-1の部分の構成も、上述したセンスアンプSA0の部分の構成と同様とされる。 The configuration of the sense amplifiers SA 2 to SA n-1 is the same as the configuration of the sense amplifier SA 0 described above.
また、上述したように、カラム方向に延びる各行のn個のメモリセル130によって、それぞれ1つの参照ブロックの記憶部が構成されている。所定の記憶部にある参照ブロックの足し込みデータを順次書き込むことを開始する前に、この所定の記憶部を構成するメモリセル130の記憶データをクリアすることが必要となる。そのために、ビット線対BL0,/BL0〜BLn-1,/BLn-1のそれぞれに対応して、“0”のデータを生成し、このデータをメモリセル130に書き込みデータとして供給する構成を備えている。
In addition, as described above, each of the
すなわち、ビット線BL0はN型MOSトランジスタQ51を介して接地される。そして、このトランジスタQ51のゲートには、クリア制御信号φCLRが入力される。ビット線対BL1,/BL1〜BLn-1,/BLn-1の部分に関しても同様に構成されている。 That is, the bit line BL 0 is grounded via the N-type MOS transistor Q51. A clear control signal φ CLR is input to the gate of the transistor Q51. The bit line pairs BL 1 , / BL 1 to BL n−1 , / BL n−1 are similarly configured.
また、加算器125-1はnビットのそれぞれのビットの加算を行うためのn個の加算部1400〜140n-1からなっており、これらn個の加算部1400〜140n-1はメモリ領域126-1のカラムのピッチに揃えて配されている。
The
加算部1400〜1407のそれぞれのA側の入力端子には、差分絶対値演算器124-1からの8ビットの差分絶対値のビットデータD0〜D7が入力される。また、加算部1408〜140n-1のそれぞれのA側の入力端子は接地され、“0”が入力された状態とされる。一方、加算部1400〜140n-1のそれぞれのB側の入力端子には、これら加算部1400〜140n-1のそれぞれに対応して記憶領域126-1のロウ方向に並ぶメモリセル130から、ビット線対BL0,/BL0〜BLn-1,/BLn-1及びセンスアンプSA0〜SAn-1を介して読み出された記憶データMD0〜MDn-1がそれぞれ入力される。
Each of A-side input terminal of the adder 140 0-140 7-bit data D 0 to D 7 of the 8-bit difference absolute value from the difference
加算部1400の非反転出力端子Sは、N型MOSトランジスタQ11のゲートに接続されている。そして、このトランジスタQ11のドレインは、加算部1400に対応してロウ方向に並ぶメモリセル130に接続されているビット線/BL0に接続される。一方、この加算部1400の反転出力端子/S(/SはSバーを表している)は、N型MOSトランジスタQ12のゲートに接続される。そして、このトランジスタQ12のドレインは、加算部1400に対応してロウ方向に並ぶメモリセル130に接続されているビット線BL0に接続される。
The non-inverting output terminal S of the adder 140 0 is connected to the gate of the N-type MOS transistor Q11. Then, the drain of the transistor Q11 is connected to the bit line / BL 0 connected to the
トランジスタQ11,Q12の互いのソースは接続され、その接続点はN型MOSトランジスタQ13,Q14の直列回路を介して接地される。そして、トランジスタQ14のゲートには書き込み制御信号φWが入力され、トランジスタQ13のゲートには加算部140n-1のキャリ出力端子COUTに得られるMSB(Most Significant Bit)のキャリ出力CMSBがインバータ141を介して入力される。 The sources of the transistors Q11 and Q12 are connected to each other, and the connection point is grounded via a series circuit of N-type MOS transistors Q13 and Q14. The write control signal φ W is input to the gate of the transistor Q14, and the carry output C MSB of the MSB (Most Significant Bit) obtained at the carry output terminal C OUT of the adder 140 n-1 is input to the gate of the transistor Q13. It is input via the inverter 141.
加算部1401〜140n-1の出力端子S,/S側の構成も、上述した加算部1400の出力端子S,/S側の構成と同様とされる。 The configuration of the output terminals S and / S side of the adders 140 1 to 140 n−1 is the same as the configuration of the output terminal S and / S side of the adder 140 0 described above.
また、加算部1400のキャリ入力端子CINは接地され、“0”が入力された状態とされる。また、加算部1400〜140n-2のキャリ出力端子COUTは、それぞれ加算部1401〜140n-1に接続されている。これにより、加算部1400〜140n-1でnビット加算器が構成される。 Further, the carry input terminal C IN of the adder 140 0 is a state of being grounded, "0" is input. The carry output terminals C OUT of the adders 140 0 to 140 n-2 are connected to the adders 140 1 to 140 n−1 , respectively. Thus, the adders 140 0 to 140 n−1 constitute an n- bit adder.
また、ビット線/BL0はN型MOSトランジスタQ61,Q62を介して接地される。そして、トランジスタQ61のゲートにはクリア制御信号/φCLR(/φCLRはφCLRバーを表しており、クリア制御信号φCLRが反転されたものである)が入力され、トランジスタ62のゲートには加算部140n-1のキャリ出力端子COUTに得られるMSBのキャリ出力CMSBが入力される。 Bit line / BL 0 is grounded through N-type MOS transistors Q61 and Q62. Then, a clear control signal / φ CLR (/ φ CLR represents φ CLR bar, which is an inverted version of the clear control signal φ CLR ) is input to the gate of the transistor Q61, and the gate of the transistor 62 is input to the gate of the transistor Q61. The MSB carry output C MSB obtained at the carry output terminal C OUT of the adder 140 n-1 is input.
図8に示す加算器125-1及び記憶領域126-1の部分の動作を説明する。
The operation of the
まず、カラム方向に延びる各行のn個のメモリセル130によってそれぞれ1つの参照ブロックの記憶部が構成されているが、所定の記憶部を構成するメモリセル130の記憶データをクリアする動作について説明する。
First, the memory unit of one reference block is constituted by
所定の記憶部を構成するメモリセル130の記憶データをクリアする場合、書き込み制御信号φW及びクリア制御信号φCLRはアクティブ、つまり“1”とされ、読み出し制御信号φR及びイコライズ制御信号φEQはインアクティブ、つまり“0”とされ、さらにワード線WL0〜WLXのうち、所定の記憶部に対応するワード線が活性化される。
When clearing the stored data of the
この場合、クリア制御信号φCLRがアクティブとされてトランジスタQ51がオンとなる。そのため、“0”のデータが生成され、このデータがビット線BL0〜BLn-1に出力される。したがって、所定の記憶部に対応するワード線を活性化することで、当該所定の記憶部を構成するn個のメモリセル130には“0”のデータが書き込まれ、記憶データのクリアが行われる。
In this case, the clear control signal φ CLR is activated and the transistor Q51 is turned on. Therefore, data “0” is generated, and this data is output to the bit lines BL 0 to BL n−1 . Therefore, by activating a word line corresponding to a predetermined storage unit, data “0” is written in
次に、所定の記憶部に記憶されている記憶データMD0〜MDn-1に、8ビットの差分絶対値D0〜D7を、加算器125-1(加算部1401〜140n-1)で足し込み、そして加算器125-1で得られた足し込みデータAD0〜ADn-1を、当該所定の記憶部に書き戻す動作について説明する。
Then, the stored data MD 0 ~MD n-1 stored in a predetermined storage unit, the 8-bit difference absolute value D 0 to D 7, the adder 125 -1 (the adding unit 140 1 to 140 n- The operation of adding in 1 ) and writing back the addition data AD 0 to AD n−1 obtained by the
所定の記憶部に記憶されている記憶データMD0〜MDn-1に、8ビットの差分絶対値D0〜D7を足し込む場合、最初に、イコライズ制御信号φEQはアクティブ、つまり“1”とされ、書き込み制御信号φW、読み出し制御信号φR及びクリア制御信号φCLRはインアクティブ、つまり“0”とされ、ビット線対BL0,/BL0〜BLn-1,/BLn-1のイコライズ(プリチャージ)が行われる。 To and has stored data MD 0 to MD n-1 that is stored in a predetermined storage unit, if Komu adding the difference absolute value D 0 to D 7 of the 8-bit first, equalization control signal phi EQ is active, or "1 The write control signal φ W , the read control signal φ R and the clear control signal φ CLR are inactive, that is, set to “0”, and the bit line pairs BL 0 , / BL 0 to BL n−1 , / BL n -1 equalization (precharge) is performed.
この場合、ビット線対BL0,/BL0に関しては、イコライズ制御信号φEQがアクティブとされてトランジスタQ31〜Q33の全てがオンとなり、ビット線BL0及びビット線/BL0に電源の電位が印加され、これらビット線BL0及びビット線/BL0は同電位となる。他のビット線対BL1,/BL1〜BLn-1,/BLn-1に関しても同様である。 In this case, the bit line pair BL 0, with respect to / BL 0, all the equalization control signal phi EQ is active transistor Q31~Q33 is turned on, the potential of the power supply to the bit line BL 0 and the bit line / BL 0 is When applied, the bit line BL 0 and the bit line / BL 0 have the same potential. The same applies to the other bit line pairs BL 1 , / BL 1 to BL n−1 , / BL n−1 .
このようにビット線対BL0,/BL0〜BLn-1,/BLn-1のイコライズが行われた状態で、読み出し制御信号φRはアクティブ、つまり“1”とされ、書き込み制御信号φW、イコライズ制御信号φEQ及びクリア制御信号φCLRはインアクティブ、つまり“0”とされ、さらにワード線WL0〜WLXのうち、所定の記憶部に対応するワード線が活性化される。 In this state where the bit line pairs BL 0 , / BL 0 to BL n−1 , / BL n−1 are equalized, the read control signal φ R is active, that is, “1”, and the write control signal φ W , equalize control signal φ EQ and clear control signal φ CLR are inactive, that is, set to “0”, and among the word lines WL 0 to WL X , a word line corresponding to a predetermined storage unit is activated. .
これにより、所定の記憶部を構成するn個のメモリセル130の記憶データMD0〜MDn-1が、それぞれビット線対BL0,/BL0〜BLn-1,/BLn-1及びセンスアンプSA0〜SAn-1を介して読み出され、加算部1400〜140n-1のB側の入力端子にそれぞれ入力される。したがって、所定の記憶部に記憶されている記憶データMD0〜MDn-1に、8ビットの差分絶対値D0〜D7が足し込まれる。
As a result, the storage data MD 0 to MD n-1 of the n
そして、加算部1400〜140n-1における加算出力、つまり足し込みデータAD0〜ADn-1が有効になったところで、書き込み制御信号φWはアクティブ、つまり“1”とされ、読み出し制御信号φR、イコライズ制御信号φEQ及びクリア制御信号φCLRはインアクティブ、つまり“0”とされ、さらにワード線WL0〜WLXのうち、所定の記憶部に対応するワード線が活性化される。 Then, when the addition output in the adders 140 0 to 140 n−1 , that is, the addition data AD 0 to AD n−1 becomes valid, the write control signal φ W is active, that is, “1”, and the read control is performed. The signal φ R , the equalize control signal φ EQ and the clear control signal φ CLR are inactive, that is, “0”, and among the word lines WL 0 to WL X , a word line corresponding to a predetermined storage unit is activated. The
この場合、加算部1400の部分に関して、足し込みデータS0が“1”である場合には、トランジスタQ11はオン、トランジスタQ12はオフとなり、ビット線/BL0に“0”が出力されることから、所定の記憶部を構成するn個のメモリセル130のうち、当該加算部1400に対応するメモリセル130には、“1”のデータが記憶される。一方、加算部1400の部分に関して、足し込みデータS0が“0”である場合には、トランジスタQ11はオフ、トランジスタQ12はオンとなり、ビット線BL0に“0”が出力されることから、所定の記憶部を構成するn個のメモリセル130のうち、当該加算部1400に対応するメモリセル130には、“0”のデータが記憶される。
In this case, when the addition data S 0 is “1” for the addition unit 140 0 , the
他の加算部1401〜140n-1の部分に関しても同様である。これにより、加算器125-1で得られた足し込みデータAD0〜ADn-1は、所定の記憶部を構成するn個のメモリセル130に書き戻される。
The same applies to the other addition units 140 1 to 140 n−1 . As a result, the addition data AD 0 to AD n−1 obtained by the
なお、足し込みの動作において、オーバフローとなる場合には、加算部140n-1のキャリ出力端子COUTに得られるMSBのキャリ出力CMSBが“1”となるため、トランジスタQ13はオフとなり、足し込みデータAD0〜ADn-1が、所定の記憶部を構成するn個のメモリセル130に書き込まれることはない。
In addition, when overflow occurs in the adding operation, the carry output C MSB of the MSB obtained at the carry output terminal C OUT of the adder 140 n-1 is “1”, so that the transistor Q13 is turned off, The addition data AD 0 to AD n-1 is not written into the
その代わり、この場合、トランジスタQ61がオンとなる他に、トランジスタQ62もオンとなるので、ビット線/BL0〜/BLn-1にそれぞれ“0”の信号が出力される。したがって、所定の記憶部を構成するn個のメモリセル130のそれぞれに“1”のデータが書き込まれる。つまり、この所定の記憶部には最大値が記憶される。
Instead, in this case, since the transistor Q61 is turned on and the transistor Q62 is also turned on, a signal of “0” is output to each of the bit lines / BL 0 to / BL n−1 . Therefore, data “1” is written in each of the
次に、所定の記憶部に記憶された、ある参照ブロックに対応した最終的な足し込みデータ、つまり相関値(差分絶対値和)を、読み出す場合の動作を説明する。 Next, an operation for reading out final addition data corresponding to a certain reference block stored in a predetermined storage unit, that is, a correlation value (difference absolute value sum) will be described.
最初に、プリチャージ制御信号/φRPCがアクティブ、つまり“1”とされ、読み出し専用ビット線BRL0〜BRLn-1のプリチャージが行われる。この場合、トランジスタQ41はオンとなり、読み出し専用ビット線BRL0〜BRLn-1のそれぞれに電源の電位が印加される。 First, the precharge control signal / φ RPC is active, that is, “1”, and the read-only bit lines BRL 0 to BRL n−1 are precharged. In this case, the transistor Q41 is turned on, and the power supply potential is applied to each of the read-only bit lines BRL 0 to BRL n−1 .
このように読み出し専用ビット線BRL0〜BRLn-1のプリチャージが行われた状態で、読み出し専用ワード線WRL0〜WRLXのうち、所定の記憶部に対応する読み出し専用ワード線が活性化される。これにより、所定の記憶部を構成するn個のメモリセル130の記憶データΣ0〜Σn-1が、それぞれ読み出し専用ビット線BRL0〜BRLn-1に得られる。ここで、記憶データΣ0〜Σn-1は、nビットの相関値(差分絶対値和)を構成している。
In this state where the read-only bit lines BRL 0 to BRL n−1 are precharged, the read-only word line corresponding to a predetermined storage unit is activated among the read-only word lines WRL 0 to WRL X. Is done. Thus, the stored data Σ 0 ~Σ n-1 of the
以上説明したように、本実施の形態においては、加算器125-1〜125-Nと相関値テーブル生成用の半導体メモリ126とを用いて差分絶対値を累積していき、この半導体メモリ126に、参照ブロックに対する探索範囲に存在する複数の候補ブロックのそれぞれに対応した相関値(差分絶対値和)を得るようにしたものであり、従来のように記憶素子としてレジスタを用いるものに比べて、占有面積を小さくでき、半導体チップの大型化を防止することができる。
As described above, in the present embodiment, the difference absolute values are accumulated using the
また、加算器125-1〜125-N及び相関値テーブル生成用の半導体メモリ126とを一体化し、加算器125-1〜125-Nをそれぞれ構成するビット単位の複数の加算部1400〜140n-1が半導体メモリ126のカラムのピッチに揃えて配されているので(図8参照)、加算器125-1〜125-Nから半導体メモリ126への足し込みデータAD0〜ADn-1の供給及び半導体メモリ126から加算器125-1〜125-Nへの記憶データMD0〜MDn-1の供給を効率的に行うことができる。
Further, the
また、半導体メモリ126が、上述の複数の加算部1400〜140n-1に関連して設けられた書き込み及び読み出し用の第1のポートと、読み出し専用の第2のポートとを有するものであり(図8参照)、半導体メモリ126からのある参照ブロックに対応する相関値Σ0〜Σn-1の読み出しを、足し込みとは別途独立して行うことができる。
Further, the
また、半導体メモリ126の所定の記憶部を構成するメモリセル130の記憶データをクリアする際に、トランジスタQ51をオンとして、クリアするための“0”データを生成し、このデータをメモリセル130に書き込みデータとして供給するものであり、外部からクリアするためのデータを入力することなく、半導体メモリ126を容易にクリアすることができる。
Further, when clearing the stored data of the
また、加算器125-1〜125-Nをそれぞれ構成する複数の加算部1400〜140n-1による演算結果がオーバフローとなる場合、複数の加算部1400〜140n-1に対応した半導体メモリ126の所定の記憶部に最大値を記憶(セット)するものであり、この所定の記憶部に誤った小さな値が相関値として記憶され、動きベクトルの検出誤りが生じることを防止できる。
In addition, when the calculation results by the plurality of adders 140 0 to 140 n−1 constituting the
なお、上述実施の形態において、半導体メモリ126の記憶領域126-1〜126-Nでは、ビット線BL0〜BLn-1をトランジスタQ51を介して接地し、このトランジスタQ51のゲートにクリア制御信号/φCLRを入力する構成とし、クリア制御信号φCLRをアクティブとしたとき所定の記憶部を構成するn個のメモリセル130に“0”のデータが書き込まれてクリアされるものを示した(図8参照)。
In the above embodiment, in the
ここで、図8に破線図示するように、ビット線/BL0〜/BLn-1をトランジスタQ52を介して接地し、このトランジスタQ52のゲートにクリア制御信号/φCLRを入力する構成とした場合、クリア制御信号φCLRをアクティブとしたとき、トランジスタQ52で“1”のデータが生成され、所定の記憶部を構成するn個のメモリセル130に“1”のデータが書き込まれる。
Here, as shown by a broken line in FIG. 8, the bit lines / BL 0 to / BL n-1 are grounded via the transistor Q52, and the clear control signal / φ CLR is input to the gate of the transistor Q52. In this case, when the clear control signal φ CLR is activated, data “1” is generated by the transistor Q52, and data “1” is written to
したがって、ビット線対BL0,/BL0〜BLn-1,/BLn-1のそれぞれに対応してトランジスタQ51,Q52を設けておき、それらのいずれかを選択的にビット線に接続し、クリア制御信号φCLRをアクティブとしたとき所定の記憶部を構成するn個のメモリセル130に、所定のデータをプリセットするようにしてもよい。このプリセットデータを工夫することで、例えば平坦な絵柄の部分においては(0,0)等の特定の動きベクトルが検出されやすくできる。このプリセットの設定は、半導体装置の設計時に予め決めておけばよく、従ってコンタクトレイヤのプログラムなどによって設定することが想定される。
Therefore, transistors Q51 and Q52 are provided corresponding to the bit line pairs BL 0 , / BL 0 to BL n−1 , / BL n−1 , respectively, and either of them is selectively connected to the bit line. When the clear control signal φ CLR is activated, predetermined data may be preset in the
また、上述実施の形態においては、加算器125-1〜125-N及び相関値テーブル生成用の半導体メモリ126とを一体化したものであるが、さらに差分絶対値演算器124-1〜124-Nや相関値テーブル評価器127をも一体化するようにしてもよい。
Also, in the above-described embodiment, the
また、上述実施の形態においては、メモリセル130が2ポート構成のものであったが(図9参照)、メモリセルが2ポート構成でなくてもよく、半導体メモリ126全体として2ポート構成であってもよい。さらには、半導体メモリ126として2ポート構成でなくとも、例えば映像信号におけるブランキング期間に相関値(テーブルデータ)の読み出しを行ったり、同一機能ブロックを複数個有してフィールドまたはフレーム間でインターリーブさせて用いるなど、足し込みと相関値の読み出しとを同一ポートにおいて異なる期間に行ってもよい。
In the above embodiment, the
また、上述実施の形態においては、加算器125-1〜125-N及び半導体メモリ126を用いた足し込みを、動きベクトル検索における差分絶対値の足し込みに適用したものであるが、他の信号処理における同様の足し込みにも適用することができる。
In the above-described embodiment, the addition using the
また、上述実施の形態においては、加算器125-1〜125-N及び相関値テーブル生成用の半導体メモリ126とを一体化したものであるが、減算器、乗算器、除算器などのその他の演算器と半導体メモリとを一体化したものも同様に構成でき、演算器と半導体メモリとの間のデータのやり取りを効率よく行うことができる。
In the above-described embodiment, the
また、上述実施の形態においては、動きベクトル検出回路111を動き補償予測符号化装置100に適用したものを示したが、動きベクトルを使用するその他の装置にも同様に適用できることは勿論である。
In the above-described embodiment, the motion
また、上述実施の形態においては、ブロックマッチング法によって動きベクトルを検出するものを示したが、この発明はブロックマッチング法に限定されるものではなく、代表点ブロックマッチング法など他の画素値のマッチングをベースとする方法にも適用可能である。 In the above-described embodiment, the motion vector is detected by the block matching method. However, the present invention is not limited to the block matching method, and other pixel value matching such as a representative point block matching method. It can also be applied to methods based on.
この発明は、動きベクトル検出回路に適用して好適である。 The present invention is suitable for application to a motion vector detection circuit.
100・・・動き補償予測符号化装置、101・・・入力端子、102・・・減算器、103・・・DCT回路、104・・・量子化回路、105・・・出力端子、106・・・逆量子化回路、107・・・逆DCT回路、108・・・加算器、109・・・フレームメモリ、110・・・動き補償回路、111・・・動きベクトル検出回路、121・・・コントローラ、122・・・入力端子、123・・・フレームメモリ、124-1〜124-N・・・差分絶対値演算器、125-1〜125-N・・・加算器、126・・・相関値テーブル用の半導体メモリ、126-1〜126-N・・・記憶領域、127・・・相関値テーブル評価器、128・・・出力端子、130・・・メモリセル、1400〜140n-1・・・加算部
DESCRIPTION OF
Claims (6)
複数の記憶領域と、
上記記憶領域に記憶されているデータを読み出し、読み出したデータと上記入力手段により入力されるデータを用いて所定の演算を行ったデータを上記記憶領域に書き戻す演算手段と、
上記記憶領域に記憶されているデータを読み出すための読み出し手段とを備え、
少なくとも上記記憶領域及び上記演算手段は、半導体チップ上に一体化されて形成され、
上記複数の記憶領域は、マトリックス状に配されるメモリセルからなり、
上記演算手段は、ビット単位の演算を行う複数の演算部からなり、
上記複数の演算部は、上記メモリセルのカラムのピッチに揃えて配されている半導体メモリ。 An input means for inputting data;
Multiple storage areas;
Arithmetic means for reading out the data stored in the storage area, and writing back the data obtained by performing a predetermined arithmetic operation using the read data and data input by the input means to the storage area;
A reading means for reading data stored in the storage area,
At least the storage area and the arithmetic means are formed integrally on a semiconductor chip ,
The plurality of storage areas are composed of memory cells arranged in a matrix,
The arithmetic means comprises a plurality of arithmetic units that perform arithmetic operations in bit units,
The plurality of arithmetic units are semiconductor memories arranged in alignment with the column pitch of the memory cells .
上記信号を入力する入力手段と、複数の記憶領域と、上記記憶領域に記憶されている信号を読み出し、読み出した信号と上記入力手段により入力される信号を用いて所定の演算を行った信号を上記記憶領域に書き戻す演算手段と、上記記憶領域に記憶されている信号を読み出すための読み出し手段とを有し、少なくとも上記記憶領域及び上記演算手段が、半導体チップ上に一体化されて形成され、
上記複数の記憶領域は、マトリックス状に配されるメモリセルからなり、
上記演算手段は、ビット単位の演算を行う複数の演算部からなり、
上記複数の演算部は、上記メモリセルのカラムのピッチに揃えて配されている半導体メモリを備える信号処理装置。 A device for processing signals,
An input means for inputting the signal, a plurality of storage areas, a signal stored in the storage area, and a signal obtained by performing a predetermined calculation using the read signal and the signal input by the input means. Computation means for writing back to the storage area and read means for reading out signals stored in the storage area, and at least the storage area and the computation means are formed integrally on a semiconductor chip. ,
The plurality of storage areas are composed of memory cells arranged in a matrix,
The arithmetic means comprises a plurality of arithmetic units that perform arithmetic operations in bit units,
It said plurality of operation portions, signal processing apparatus Ru comprising a semiconductor memory which are arranged aligned to the pitch of the columns of the memory cells.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007304546A JP4689659B2 (en) | 2007-11-26 | 2007-11-26 | Semiconductor memory and signal processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007304546A JP4689659B2 (en) | 2007-11-26 | 2007-11-26 | Semiconductor memory and signal processing apparatus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002004957A Division JP4536310B2 (en) | 2002-01-11 | 2002-01-11 | Motion vector detection device and motion compensated prediction encoding device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008159240A JP2008159240A (en) | 2008-07-10 |
JP4689659B2 true JP4689659B2 (en) | 2011-05-25 |
Family
ID=39659948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007304546A Expired - Fee Related JP4689659B2 (en) | 2007-11-26 | 2007-11-26 | Semiconductor memory and signal processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4689659B2 (en) |
-
2007
- 2007-11-26 JP JP2007304546A patent/JP4689659B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008159240A (en) | 2008-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100927760B1 (en) | Memory cell circuit, memory device, motion vector detection device, and motion compensation predictive encoding device | |
US7626847B2 (en) | Memory device, motion vector detection device, and detection method | |
US10553273B2 (en) | Semiconductor memory device and data path configuration method thereof | |
KR0174774B1 (en) | Semiconductor memory and method of using the same, column decoder and image processor | |
JP4932273B2 (en) | Arithmetic processing circuit using ferroelectric capacitor and arithmetic method | |
JP4689659B2 (en) | Semiconductor memory and signal processing apparatus | |
JP4536310B2 (en) | Motion vector detection device and motion compensated prediction encoding device | |
JP4165070B2 (en) | Semiconductor memory device, motion vector detection device, and motion compensated prediction encoding device | |
JP4345301B2 (en) | Motion vector detection circuit | |
JP2003289545A (en) | Semiconductor device | |
JP4122774B2 (en) | Semiconductor memory device, motion vector detection device, and motion compensated prediction encoding device | |
KR0173356B1 (en) | Parallel-to serial conversion device and linear transformation device making use thereof | |
US6901027B2 (en) | Apparatus for processing data, memory bank used therefor, semiconductor device, and method for reading out pixel data | |
CN112204663B (en) | Sense operation in memory | |
JP4238578B2 (en) | Motion vector detection device and detection method | |
KR20220142875A (en) | Semiconductor device for performing computation-in-memory and operation method thereof | |
JP4003529B2 (en) | Motion vector detection circuit and motion vector detection method | |
JP4659571B2 (en) | Ferroelectric memory | |
JP2003208789A5 (en) | ||
Acken et al. | An architectural design for parallel fractal compression | |
Tasnim et al. | MAGIC-DHT: Fast in-memory computing for Discrete Hadamard Transform | |
JP2016100035A (en) | Semiconductor storage device and linear interpolation device | |
JPH0778465A (en) | Semiconductor integrated circuit | |
Wu et al. | A VLSI design with built-in SRAM arrays for implementing Full Search Block Matching Algorithm | |
JPH0845273A (en) | Semiconductor memory and pre-charge method for semiconductor memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080508 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080630 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080805 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090916 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091109 |
|
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: 20110216 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |