JP4214738B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP4214738B2 JP4214738B2 JP2002237440A JP2002237440A JP4214738B2 JP 4214738 B2 JP4214738 B2 JP 4214738B2 JP 2002237440 A JP2002237440 A JP 2002237440A JP 2002237440 A JP2002237440 A JP 2002237440A JP 4214738 B2 JP4214738 B2 JP 4214738B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- image data
- memory
- feature amount
- line
- 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
Description
【発明の属する技術分野】
本発明は、例えば、画像データを処理する画像処理装置に関するものである。
【0002】
【従来の技術】
画像データに基づいて所定の処理、例えば動きベクトルを検出し生成する処理等を行う画像処理装置が知られている。
この動きベクトルを検出する場合に、一般的な画像処理装置では、所定の画素を含むブロック単位でマッチングを行うブロックマッチング方式により動きベクトルを検出する。
【0003】
【発明が解決しようとする課題】
しかし、上述した画像処理装置では、画素単位で動きベクトルを求める場合、一般的なブロックマッチング方式ではブロックの平均的な動きしか求めることができない。また、複雑な動きを含む画像データ、例えば複数のオブジェクトそれぞれが異なる動きを行うオブジェクトを含む画像データを処理する場合には、求めようとしている画素の動きが別の動きとして出力してしまう場合がある。
【0004】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、複雑な動きを含む画像データであっても、正確な動きベクトルを算出可能な画像処理装置を提供することである。
【0005】
【課題を解決するための手段】
前記目的を達成するために、第1の発明の画像処理装置は、複数の画素を含む第1および第2の画像データを処理する画像処理装置であって、前記第1および第2の画像データに基づいて前記第1および第2の画像データに対応する第1および第2の特徴量データを生成する特徴量データ生成手段と、前記第1の画像データに対応する第1の特徴量データと、前記第2の画像データに対応する第2の特徴量とに基づいて、比較データを生成するメモリと、前記第1および第2の画像データ、ならびに前記メモリにより生成された前記比較データに基づいて、所定のブロック単位毎にマッチング演算を行って動きベクトルを生成する動きベクトル生成手段とを有し、前記メモリは、前記第1の画像データを記憶する画像データ記憶手段と、前記第1の画像データの内の画素それぞれに対応する前記第1の特徴量データを記憶する特徴量データ記憶手段と、前記特徴量データ記憶手段に記憶された第1の特徴量データと、前記特徴量データ生成手段により生成された、前記ブロックにおける所定の画素位置に対応する第2の特徴量データとを比較し、前記比較の結果を示す前記比較データを生成する比較手段とを有し、前記動きベクトル生成手段は、前記ブロック内の画素のうち、該画素に対応する比較データが一致を示す画素である場合に前記マッチング演算の対象とする。
【0006】
第1の発明の画像処理装置によれば、複数の画素を含む第1および第2の画像データを処理する。
メモリでは、前記第1の画像データに対応する第1の特徴量データに基づいて、比較データが生成される。
特徴量データ生成手段では、前記第2の画像データに基づいて、第2の特徴量データが生成される。
動きベクトル生成手段では、前記第1および第2の画像データ、ならびに前記メモリにより生成された前記比較データに基づいて動きベクトルが生成される。
また、前記メモリにおいて、画像データ記憶手段では、前記第1の画像データが記憶される。
特徴量データ記憶手段では、前記第1の画像データの内の画素それぞれに対応する前記第1の特徴量データが記憶される。
比較手段では、前記特徴量データ記憶手段に記憶された第1の特徴量データと、前記特徴量データ生成手段により生成された第2の特徴量データとを比較し、前記比較の結果を示す前記比較データが生成される。
【0008】
【発明の実施の形態】
本発明に係る画像処理装置は、画像データに基づいて特徴量データを生成し、生成した特徴量データに基づいてブロックマッチングを行う。この際、画像処理装置は、所定の特徴量データの画素のみマッチングを行い、その結果に基づいて動きベクトルを生成する。
【0009】
例えば、具体的には、画像処理装置は、画像データに基づいて、画像データの内のオブジェクトを検出し、検出結果に基づいてブロックマッチングを行う。この際、画像処理装置は、所定のオブジェクトのみマッチングを行い、動きベクトルを生成する。この処理方式をオブジェクトマッチング方式と言う。
また、画像処理装置は、画像データと特徴量データを記憶し、特徴量データを比較する比較機能を含むメモリを有する。
以下、詳細に説明する。
【0010】
図1は、本発明に係る画像処理装置の一実施の形態を示す機能ブロックである。
本実施の形態に係る画像処理装置1は、例えば図1に示すように、ラインメモリ2、探索範囲レジスタ3、特徴量生成部4、メモリ5、ラインメモリ6、ブロック範囲レジスタ7、および差分絶対値和・最小値演算部8を有する。
【0011】
ラインメモリ2は、入力された画像データに応じて、例えば所定のラインごとに画像データを記憶し、所定のタイミングで画像データを探索範囲レジスタ3に出力する。
【0012】
探索範囲レジスタ3は、ラインメモリ2から出力された画像データに基づいて、画像データの所定の探索範囲の内の画素を記憶する。
探索範囲レジスタ3は、所定の探索範囲の内の画素、例えば、探索範囲内で所定の位相の探索ブロックの内の画像データを、差分絶対値和・最小値演算部8に出力する。
また、探索範囲レジスタ3は、記憶してる画像データを特徴量生成部4に出力する。
【0013】
特徴量生成部4は、探索範囲レジスタ3から出力された画像データに基づいて、画素それぞれに対応した所定の特徴量データを生成し、生成した特徴量データをメモリ5に出力する。
特徴量生成部4は、例えば、探索範囲レジスタ3から出力された画像データに基づいて、画像データに含まれるオブジェクトを検出し、検出されたオブジェクトそれぞれに識別情報、例えばオブジェクト番号を割り当てる。この際、特徴量生成部4は、画素それぞれに対応したオブジェクト番号を生成する。
【0014】
メモリ5は、入力された画像データ、および、特徴量生成部4から出力された特徴量データを記憶する。
メモリ5は、特徴量生成部4から出力された特徴量データと、内部に記憶している画像データ(画素データとも言う)および特徴量データとに基づいて後述する比較処理を行い、比較処理の結果である比較データ(一致データとも言う)、および画素データを、ラインメモリ6に出力する。
【0015】
メモリ5は、例えば図1に示すように、特徴量メモリ51、フレームメモリ52、特徴量一致判定部53とを有する。
特徴量メモリ51は、例えば特徴量生成部4から出力された特徴量データを記憶する。
特徴量メモリ51は、記憶している特徴量データを、特徴量一致判定部53に出力する。
【0016】
フレームメモリ52は、入力された画像データ(画素データ)を記憶する。
フレームメモリ52は、所定の制御に応じた画像データを、例えばラインメモリ6に出力する。
【0017】
特徴量一致判定部53は、特徴量メモリ51に記憶されている特徴量データと、所定の特徴量データの比較を行い、比較の結果に基づいて、一致データを出力する。
例えば、特徴量一致判定部53は、特徴量メモリ51に記憶している特徴量データと、特徴量生成部4から出力された特徴量データの比較を行い、比較の結果を示す一致データを、例えば差分絶対値和・最小値演算部8に出力する。
【0018】
ラインメモリ6は、メモリ5から出力された画像データ(画素データ)を記憶し、所定のタイミングで画像データをブロック範囲レジスタに出力する。
【0019】
ブロック範囲レジスタ7は、ラインメモリ6から出力された画像データに基づいて、画像データの所定の参照ブロック範囲の内の画素を記憶し、所定のタイミングで、その参照ブロック範囲の内の画像データを、差分絶対値和・最小値演算部8に出力する。
【0020】
差分絶対値和・最小値演算部8は、所定の探索範囲の内の画像データ、参照ブロックの内の画像データ、一致データに基づいて、所定のブロックマッチング処理を行い、動きベクトルを生成する。
【0021】
例えば、具体的には、差分絶対値和・最小値演算部8は、探索範囲レジスタ3から出力された、所定の探索範囲の内の画素データ、ブロック範囲レジスタ7から出力されたブロック範囲の内の画素データ、およびメモリ5から出力された一致データに基づいて、探索範囲内で所定の位相にずらしたブロックと、参照ブロックとのブロックマッチングを行い、差分絶対値を生成し、差分絶対値が最小となる位相を動きベクトルとして出力する。
【0022】
この際、差分絶対値和・最小値演算部8は、マスキング処理された所定のオブジェクトの画素データに応じて、ブロックマッチング処理を行い、動きベクトルを生成する。
具体的には、差分絶対値和・最小値演算部8は、画素それぞれに対応した一致データに基づいて、探索範囲の画像データの内の所定のオブジェクトの画素と、参照範囲の内の所定のオブジェクトの画素とのマッチング処理を行い、動きベクトルを生成する。
【0023】
図2は、ブロックマッチングにより動きベクトルを検出する動作を説明するための図である。ブロックマッチング処理について図2を参照しながら説明する。
ブロックマッチング処理は、例えば図2(a)に示すように、参照フレームの内の参照ブロックと、予測フレームの探索範囲の内の探索ブロックとのマッチングを行う。
具体的には、参照ブロックの内の画素と、探索ブロックの内の対応する画素との差分値を取り、その差分値の総和である総和差分値を算出する。
そして、探索フレーム内の探索範囲内で探索ブロックを移動させながら、上述した総和差分値を生成する。ここで、位相は、探索ブロックと参照ブロックとの位置のずれである。
そして、最小の総和差分値の時の位相を、動きベクトルとする。
しかし、図2(b)に示すように、所定のブロック内で、複数のオブジェクトそれぞれの動きが異なる場合がある。
【0024】
図3は、図1に示した画像処理装置の差分絶対値和・最小値演算部の動作を説明するための図である。図3(a)は位相シフト前の状態を示す図、図3(b)は位相シフト後の状態を示す図である。
参照ブロックサイズを3×3画素、探索範囲を5×5画素としている。
【0025】
差分絶対値和・最小値演算部8は、例えば図3に示すように、位相1から、位相2にシフトしたときに読み出される探索ブロックbpが水平方向に1画素ずれた位置のものとなっている。例えば更新による位相のシフト量は1画素である。
【0026】
次に、参照ブロックbrと探索ブロックbpの間での対応する画素ごとの差分絶対値を演算し、それらの値の差分絶対値総和Sを求める。
【0027】
【数1】
…(1)
【0028】
差分絶対値総和Sは、参照ブロックbrの内の画素の画素値ks と、対応する探索ブロックbpの内の画素の画素値kp を用いて、例えば、数式(1)により計算される。
【0029】
次に、その差分絶対値総和Sを、評価テーブルに記憶させる。
評価テーブルでは、読み出される探索ブロックに対応した位相ごとに、計算された差分絶対値総和Sが記憶される。
【0030】
図3に示したように、例えば位相1から位相2にシフトした場合に、そのシフトに応じて評価テーブルに記憶させる位置もシフトする。
【0031】
探索範囲内の全ての、探索ブロックbpの読み出しから評価テーブルへの記録が終了すると、評価テーブル内の最小値を探索する。
すべての位相の評価値テーブルが記録していない場合には、全ての位相について探索するまで上述の処理を繰り返す。
これは、参照ブロックbrと最も近い探索範囲内の探索ブロックを探索していることになる。
【0032】
上述したように、評価テーブルでは読み出される探索ブロックbpに対応した位相ごとに差分絶対値総和が記録されている。したがって、評価テーブル内で最小値が分かれば、探索範囲の内の参照ブロックbrに対応する探索ブロックの位相が分かる。その差分絶対値総和が最小値をとる場合の探索ブロックの位相を、動きベクトルとする。
【0033】
図4は、図1に示した画像処理装置のブロックマッチングに関する動作を説明するための図である。
画像処理装置1の特徴量生成部4は、画像データに基づいてオブジェクトを検出し、オブジェクトそれぞれに、例えばオブジェクトを識別するための識別番号であるオブジェクト番号を割り当てる。差分絶対値和・最小値演算部8は、図4に示すように、所定のオブジェクトのみマッチング処理し、動きベクトルを生成する。
【0034】
具体的には、差分絶対値和・最小値演算部8は、例えば、参照ブロックの内の所定のオブジェクト番号の画素と、探索ブロックの内の所定のオブジェクト番号の画素に基づいて、上述したマッチングを行い、動きベクトルを生成する。
こうすることにより、例えば図2(b)に示したように所定のブロック内で、複数のオブジェクトそれぞれの動きが異なる場合であっても、所定のオブジェクトの正確な動きベクトルを生成することができる。
【0035】
図5は、図1に示した画像処理装置のメモリが記憶および処理するデータの構造を模式的に示す図である。
メモリ5は、例えば図5に示すように、画像データと特徴量データとを記憶する。
画像データは、例えば、画素それぞれの画素値である。
特徴量データは、例えば、画素それぞれに対応した特徴量を示すデータであり、具体的には、例えばオブジェクト番号や過去の動きベクトル等である。
メモリ5は、画素ごとに、画素データ、および特徴量データ、例えば、上述したオブジェクト番号等を記憶する。
【0036】
画像処理装置1は、例えば図3に示すように、所定のブロックの内で、所定のオブジェクトのみの画素を抽出し、ブロック内の抽出した画素に基づいて、ブロックマッチングを行う。
【0037】
図6は、図1に示した画像処理装置のメモリの一具体例を示す構成図である。
簡単な説明のため、4bitデータ構造の場合について説明する。
ここでは、特徴量のデータ領域と通常の画素データ領域をもっており、図5に示したように画素データに特徴量データを付加した構造をとっている。
【0038】
メモリ5は、例えば図6に示すように、特徴量メモリ51、フレームメモリ52、および特徴量一致判定部53を有する。各構成要素の機能は、上述したので説明を省略する。
【0039】
メモリ5は、より具体的には、図6に示すように、DRAM(Dynamic random access memory)セル101、センスアンプ(Sense Amp )102、CAM(Content Addressable Memory)103、トランスファゲート(Transfer gate )104、判定回路105、ビット線BL、ビットバー線BBL、ワード線WL、マッチ線ML、検索イネーブル線SEL、特徴量データバスCDB、画像データバスPDBを有する。
【0040】
特徴量メモリ51は、例えば図6に示すように、DRAMセル101−11〜14,21〜24,31〜34,41〜44、センスアンプ102−1〜4、トランスファゲート104−1〜4、ビット線BL−1〜4、ビットバー線BBL−1〜4、ワード線WL−1〜4、マッチ線ML、検索イネーブル線SEL、特徴量データバスCDBを有する。
【0041】
フレームメモリ52は、例えば図6に示すように、DRAMセル101−51〜54,61〜64,71〜74,81〜84、センスアンプ102−5〜8、トランスファゲート104−5〜8、ビット線BL−5〜8、ビットバー線BBL−5〜8、ワード線WL−1〜4、画像データバスPDBを有する。
【0042】
特徴量一致判定部53は、例えば図6に示すように、CAM103−1〜4、および判定回路105を有する。
CAM103は、例えば、マッチ線ML、検索イネーブル線SEL、ビット線BL、ビットバー線BBLに接続されている。
特徴量一致判定部は、例えば、マッチ線ML、検索イネーブル線SEL、特徴量データバスCDBに接続されている。
【0043】
ビット線BL−1およびビットバー線BBL−1には、DRAMセル101−11〜14、センスアンプ102−1、CAM103−1、およびトランスファゲート104−1が直列に接続されている。ビット線BL−2およびビットバー線BBL−2には、DRAMセル101−21〜24、センスアンプ102−2、CAM103−2、およびトランスファゲート104−2が直列に接続されている。ビット線BL−3およびビットバー線BBL−3には、DRAMセル101−31〜34、センスアンプ102−3、CAM103−3、およびトランスファゲート104−3が直列に接続されている。ビット線BL−4およびビットバー線BBL−4には、DRAMセル101−41〜44、センスアンプ102−4、CAM103−4、およびトランスファゲート104−4が直列に接続されている。
【0044】
ビット線BL−5およびビットバー線BBL−5には、DRAMセル101−51〜54、センスアンプ102−5、およびトランスファゲート104−5が直列に接続されている。ビット線BL−6およびビットバー線BBL−6には、DRAMセル101−61〜64、センスアンプ102−6、およびトランスファゲート104−6が直列に接続されている。ビット線BL−7およびビットバー線BBL−7には、DRAMセル101−71〜74、センスアンプ102−7、およびトランスファゲート104−7が直列に接続されている。ビット線BL−8およびビットバー線BBL−8には、DRAMセル101−81〜84、センスアンプ102−8、およびトランスファゲート104−8が直列に接続されている。
【0045】
ビット線BLおよびビットバー線は、特徴量データバスCDBに接続されている。
ワード線WL−1にはDRAMセル101−11〜81が直列に接続されている。ワード線WL−2にはDRAMセル101−12〜82が直列に接続されている。ワード線WL−3にはDRAMセル101−13〜83が直列に接続されている。ワード線WL−4にはDRAMセル101−14〜84が直列に接続されている。
マッチ線MLおよび検索イネーブル線SELには、CAM103−1〜4が直列に接続されている。
【0046】
DRAM(Dynamic random access memory)セル101は、所定のデータを記憶する。
例えばDRAMセル101−11〜44は、特徴量データ、例えばオブジェクト番号や過去の動きベクトル等を記憶する。
例えばDRAMセル101−51〜84は、画像データ、例えば画素それぞれの画素値を記憶する。
【0047】
センスアンプ(Sense Amp )102は、DRAMセル101に記憶されているデータに応じて、所定のレベルまで増幅する。
CAM(Content Addressable Memory)103は、センスアンプ102で増幅されたDRAM101に記憶されているデータと、特徴量データバスCDB上のデータとを比較し、比較の結果に応じた信号をマッチ線MLに出力する。
【0048】
トランスファゲート(Transfer gate )104は、所定のデータを、所定のバスに出力する。
例えば、トランスファゲート104−1〜4は、特徴量データを、特徴量データバスCDBに出力する。
例えば、トランスファゲート104−5〜8は、画像データを、画像データバスPDBに出力する。
【0049】
判定回路105は、例えば、検索イネーブル線SELに所定の電圧を印加してCAM103に所定の比較を行わせる。
判定回路105は、マッチ線MLの電圧を監視し、CAM103から出力された比較結果に応じた比較データを受信し、比較データを差分絶対値和・最小値演算部8に出力する。
また、上述の形態に限られるものではない。例えば、マッチ線MLを差分絶対値和・最小値演算部8に接続し、直接、比較データを差分絶対値和・最小値演算部8に出力してもよい。
【0050】
次にメモリ5のより具体的な構成の一具体例を説明する。
図7は、図6に示したメモリの特徴量データ記憶部を示す構成図である。
特徴量メモリ51は、例えば図7に示すように、ビット線イコライズ部510、データメモリ511、センスアンプ部512、検出部513、出力部514、ビット線イコライズ信号線IL、1/2VDD電圧線DL、ワード線WL、センスアンプH信号線SHL、センスアンプL信号線SLL、ビット線BL、ビットバー線BBL、データバスDB1、データバーバス(データバスとも言う)DB2、行(Column)デコード線CL、検索イネーブル線SEL、マッチ線MLを有する。
【0051】
データメモリ511はDRAMセル101に相当する。センスアンプ部512はセンスアンプ102に相当する。検出部513はCAM103に相当する。出力部514はトランスファゲート104に相当する。
【0052】
ビット線イコライズ部510は、NチャネルMOSトランジスタT1〜T3と、ビット線イコライズ信号線IL、1/2VDD電圧線DLとを有する。
【0053】
データメモリ511は、NチャネルMOSトランジスタT4とコンデンサCを含む複数のセルがマトリックス状に設けられている。
簡単な説明のため、1つのNチャネルMOSトランジスタT4とコンデンサCを含むセルを1つだけ図示している。
また、データメモリ511は、複数のワード線WL、ビット線BLおよびビットバー線BBLを有する。また、このワード線WLと、ビット線BLの交点にDRAMセルが設けられている。
【0054】
センスアンプ部512は、PチャネルMOSトランジスタT5,T6、NチャネルMOSトランジスタT7,T8、センスアンプH信号線SHL、センスアンプL信号線SLL、ビット線BL、ビットバー線BBLを有する。
【0055】
検出部513は、NチャネルMOSトランジスタT11〜T14と、検索イネーブル線SEL、マッチ線MLを有する。
NチャネルMOSトランジスタT11,14のゲートは、検索イネーブル線SELに接続されている。
【0056】
出力部514は、NチャネルMOSトランジスタT9,T10と、行デコード線CLと、データバスDB1、データバスDB2、ビット線BL、ビットバー線BBLを有する。
【0057】
NチャネルMOSトランジスタT1〜T3のゲートは、ビット線イコライズ信号線ILに接続されている。
NチャネルMOSトランジスタT1のドレインは1/2VDD電圧線DLに接続され、ソースはビット線BLに接続されている。
NチャネルMOSトランジスタT2のドレインは1/2VDD電圧線DLに接続され、ソースはビットバー線BBLに接続されている。
ビット線BLとビットバー線BBLの間には、NチャネルMOSトランジスタT3のドレイン−ソースが接続されている。
【0058】
NチャネルMOSトランジスタT4のゲートはワード線WLに接続され、ドレインは1/2VDD電圧線DLに接続され、ソースはコンデンサCの一端に接続されている。コンデンサCの他端は基準電位に接続されている。
【0059】
センスアンプH信号線SHLとセンスアンプL信号線SLLとの間には、PチャネルMOSトランジスタT5とNチャネルMOSトランジスタT7が直列に接続され、PチャネルMOSトランジスタT6とNチャネルMOSトランジスタT8が直列に接続されている。
【0060】
ビット線BLには、PチャネルMOSトランジスタT6とNチャネルMOSトランジスタT8のゲートと、PチャネルMOSトランジスタT5とNチャネルMOSトランジスタT7のドレインが接続されている。
ビットバー線BBLには、PチャネルMOSトランジスタT5とNチャネルMOSトランジスタT7のゲートと、PチャネルMOSトランジスタT6とNチャネルMOSトランジスタT8のドレインが接続されている。
【0061】
また、データバスDB1と1/2VDDとの間には、NチャネルMOSトランジスタT1とNチャネルMOSトランジスタT9が直列に接続されている。
また、データバスDB2と1/2VDDとの間には、NチャネルMOSトランジスタT2とNチャネルMOSトランジスタT10が直列に接続されている。
NチャネルMOSトランジスタT9,10のゲートは、行デコード線CLに接続されている。
【0062】
データバスDB1と、データバスDB2との間には、NチャネルMOSトランジスタT11〜T14が直列に接続されている。
NチャネルMOSトランジスタT11,14のゲートは、検索イネーブル線SELに接続されている。
NチャネルMOSトランジスタT12のゲートは、NチャネルMOSトランジスタT8のゲートに接続されている。
NチャネルMOSトランジスタT13のゲートは、NチャネルMOSトランジスタT7のゲートに接続されている。
マッチ線MLには、例えばNチャネルMOSトランジスタT12,13のソースが接続されている。
【0063】
読出し動作
図8は、図7に示した特徴量メモリ51の動作を示すタイミングチャートである。
上述した特徴量メモリ51の読み出し動作を図8を参照しながら説明する。
【0064】
特徴量メモリ51のデータメモリ511を構成するセルの1つでは、コンデンサCに蓄積された電荷が減衰するのに一定の時間がかかることを用い、電荷の有無を情報の”1”、”0”に対応させてデータの蓄積を行う。
【0065】
読み出しや書き込みに先だって、まず、ビット線イコライズ部510では、ビット線のイコライズが行われる。
ビット線イコライズ信号線ILを”H”レベルに設定する。
NチャネルMOSトランジスタT1、T2、T3がオンになり、1/2VDD電圧線DLの電圧1/2VDDがビット線BLおよびビットバー線BBLに印加され、ビット線BLおよびビットバー線BBLは同電位になる。
【0066】
読み出しの場合は、ビット線BLおよびビットバー線BBLが1/2VDDになった状態で、ビット線イコライズ信号線ILを”L”レベルにする。
NチャネルMOSトランジスタT1、T2、T3がいずれもオフになって、ビット線BLおよびビットバー線BBLは1/2VDD電圧線DLに対して、またビット線BLとビットバー線BBL相互間でハイインピーダンスになる。
【0067】
次にワード線WLを”H”レベルにしてデータメモリ511のNチャネルMOSトランジスタT4とコンデンサCからなるセルを選択する。
これによりNチャネルMOSトランジスタT4がオンになってコンデンサCに蓄積された電荷がビット線BLに出力される。
これに合わせて、センスアンプ部512のPチャネルMOSトランジスタT5、T6とNチャネルMOSトランジスタT7、T8によるフリップフロップから構成されるセンスアンプの電源である、センスアンプH信号線SHLを”H”レベルに、センスアンプL信号線SLLを”L”レベルにする。
【0068】
これによってセンスアンプ部512が働いて、ビット線BLに出力されたコンデンサCの電荷が増幅され、ビット線BLおよびビットバー線BBLに互いに逆の”H”レベルまたは”L”レベル信号が出力されることになる。
すなわち、コンデンサCに正電荷が蓄積されていた場合はビット線BLが”H”レベルでビットバー線BBLが”L”レベルに、コンデンサCに正電荷が蓄積されていなかった場合はビット線BLが”L”レベルに、ビットバー線BBLが”H”レベルになる。
【0069】
次に、出力部514の行デコード線CLを”H”レベルにすることによって(図8(f))、NチャネルMOSトランジスタT9およびT10がオンされ、このビット線BLおよびビットバー線BBLのレベル信号は、データバスDB1およびデータバスDB2に出力され、読み出される。
【0070】
書込み動作
データの書き込みには、上述した読み出し動作の逆の動作を行う。
まず、ビット線のイコライズを行っておき、データバスDB1およびデータバスDB2上の互いに逆の”1”、”0”に対応した”H”レベルまたは”L”レベルの信号を、行デコード線CLを”H”レベルにして、NチャネルMOSトランジスタT9およびT10をオンすることによって、ビット線BLおよびビットバー線BBLに取り込む。
【0071】
センスアンプH信号線SHLを”H”レベルに、センスアンプL信号線SLLを”L”レベルにして取り込んだ信号をセンスアンプ部512で増幅する。
この増幅されたビット線BL上の信号を、ワード線WLを”H”レベルにしてセルを選択してコンデンサCに蓄積して書き込みとする。
また、記憶のリフレッシュには、コンデンサCに蓄積された電荷をビット線BLに一旦読み出して、センスアンプ部512で増幅した後、再び書き込みを行うことで実現できる。
【0072】
比較(一致検索)の方法
比較(一致検索)の方法について説明する。
DRAMの読み出し動作で、ビット線BLにメモリセルのデータが読み出され、センスアンプ部512で増幅され、ビット線BLとビットバー線BBLに増幅されたデータが出力された状態で、行デコード線CLを”L”レベルにしてNチャネルMOSトランジスタT9、T10をオフにしておく。
この状態で、データバスDB1、データバスDB2にデータを与え、検索イネーブル線SELを”H”レベルにし、マッチ線MLを”H”レベルにプリチャージして一致検索を行う。
【0073】
この一致検索状態で、ビット線BLとビットバー線BBL側のデータとデータバスDB1、データバスDB2側に両データが共に”1”であるとする。
すると一致検索NチャネルMOSトランジスタのうちトランジスタT12はオン、トランジスタT13はオフになる。
一方トランジスタT11はデータバスDB1が”H”レベルのためオフであり、トランジスタT14はデータバスDB2が”L”レベルのためオンになる。
【0074】
一方、両データが”0”の場合は、トランジスタT11がオン、トランジスタT12がオフ、トランジスタT13がオン、トランジスタT14がオフとなる。
このように、ビット線BLとデータバスDB1のデータが一致した時は、トランジスタT11とトランジスタT12の内のいずれかと、トランジスタT13とトランジスタT14の内のいずれかがオフとなって、マッチ線MLのプリチャージを”L”レベルに引き落とすことはできない。
マッチ線MLにつながるすべての同様なセンスアンプ部512でビット線BLとデータバスDB1のデータが一致した時は、マッチ線MLは”L”レベルに引き落とされることがなく、プリチャージされた状態の”H”レベルを保つ。
このマッチ線MLの電位が変化しないことを、マッチ線MLの末端に接続された、例えば判定回路105の検出アンプで計測して、一致を検出することができる。
【0075】
一方、ビット線BLとビットバー線BBL側のデータが”1”で、データバスDB1、データバスDB2側のデータが”0”の場合、一致検索NチャネルMOSトランジスタのうちトランジスタT11とトランジスタT12はオン、トランジスタT13とトランジスタT14はオフになる。
このため、マッチ線MLのプリチャージ電荷は、トランジスタT11およびトランジスタT12を通って”L”レベルに引き抜かれ、マッチ線MLの電位は低下する。
【0076】
マッチ線MLにつながる同様なセンスアンプの内の1つでも不一致があれば、マッチ線MLの電位は”L”レベルに変化するので、この変化をマッチ線MLの末端に接続された検出アンプで検出することで、いずれかセンスアンプで不一致があったことを検出することができる。
【0077】
特徴メモリ部の一致検索動作
次に、特徴メモリ部の一致検索動作を、図6を参照しながら説明する。
一致検索を行いたい行のワード線を”H”レベルにして、ビット線にDRAMセル101のデータを読み出し、このデータをセンスアンプ102で増幅しておく。
また、行デコード線CLはすべて”L”レベルにする。
【0078】
この状態で、データバスDB1、データバスDB2にデータを与え、検索イネーブル線SELと一致検索(マッチ)線MLを”H”レベルにプリチャージして一致検索を行う。
このようにするとワード線を”H”レベルにした行のDRAMセル101のデータがビット線に、その否定データがビットバー線に出力され、このデータがデータバスDB1、データバスDB2に与えられたデータとCAM103で比較される。
ここでDRAMセル101の記憶データとデータバスの検索データとが一致であれば一致検索線のプリチャージ電荷が保持され、不一致であるとプリチャージ電荷が引き抜かれる。
【0079】
一致検索線が各CAM103について共通であるため、ワード線で選択された行のDRAMセル101の記憶データと検索データとがその行のすべてのセル(ビット)で一致している時だけ(図6では4ビットすべてが一致している時だけ)、一致検索線のプリチャージ電位は変化しない。
逆に、その行の1つのセルでも不一致があれば、そのセルの検出部を介して一致検索線のプリチャージ電位は”L”レベルに引き抜かれる。
【0080】
上述したように、ワード線WLで行単位にDRAMセル101の記憶データを順次読みだし、センスアンプ102で増幅した後、CAM103で比較を行うことによって、行単位での一致検索を各行について行うことができる。
【0081】
また、上述したように、DRAMセル101を用いて大容量の連想メモリを、集積度を向上して大容量の連想メモリを構築することができ、グラフィックスや画像関係などのデータの検索にも応用できる。
また、16MビットのシンクロナスDRAMで、従来は1回のDRAMサイクルで読み出せるのは8×8の64ビットで、16Mビットの検索に262144回のDRAMアクセスが必要であったが、上述メモリでは、ワード線に接続されるセル数分の全ビットの一致検索が一度に行われるので、約1000倍の検索速度となり、256回のDRAMアクセスで16Mビットの検索が可能になる。
【0082】
フレームメモリ52
図9は、図6に示したメモリのフレームメモリを示す構成図である。
フレームメモリは、例えば図9に示すように、ビット線イコライズ部510、データメモリ511、センスアンプ部512、出力部514、ビット線イコライズ信号線IL、1/2VDD電圧線DL、ワード線WL、センスアンプH信号線SHL、センスアンプL信号線SLL、ビット線BL、ビットバー線BBL、データバスDB1、データバーバス(データバスとも言う)DB2、行デコード線CLを有する。
特徴量メモリ51と、フレームメモリ52との相違点は、検出部がない点である。その他の構成および動作は同じであるので、各構成要素の説明を省略する。
【0083】
画像処理装置の動作
図10は、図1に示した画像処理装置の動作を説明するためのフローチャートである。
画像処理装置1の動作を、図10および図1を参照しながら説明する。
【0084】
例えば、動画像の画像データが画像処理装置に入力される。
時刻Tの画像データが、ラインメモリ2、およびメモリ5に入力される。
ラインメモリ2では、入力された画像データに応じて、例えば所定のラインごとに画像データを記憶し、所定のタイミングで画像データが探索範囲レジスタ3に出力される。
【0085】
探索範囲レジスタ3では、ラインメモリ2から出力された画像データが、特徴量生成部4に出力される。
特徴量生成部4では、探索範囲レジスタ3から出力された画像データに基づいて、画素それぞれに対応した所定の特徴量データを生成し、生成した特徴量データをメモリ5に出力する。例えば、探索範囲レジスタ3から出力された画像データに基づいて、画像データに含まれるオブジェクトを検出し、検出されたオブジェクトそれぞれに識別情報、例えばオブジェクト番号が割り当てられ、画素それぞれに対応したオブジェクト番号が、メモリ5に出力される。
メモリ5において、特徴量メモリ51では、特徴量生成部4から出力された特徴量データ、例えばオブジェクト番号を画素ごとに記憶される(ST101)。
フレームメモリ52では、入力された画像データが記憶される。
【0086】
次に時刻T+1の画像データが、ラインメモリ2に入力され、ラインメモリ2から探索範囲レジスタ3へ出力される。
探索範囲レジスタ3では、所定の探索範囲内の所定のブロックの内の画像データが、差分絶対値和・最小値演算部8に出力される。
また、探索範囲レジスタ3では、所定の探索範囲内の所定のブロックの内の画像データが、特徴量生成部4に出力される。
特徴量生成部4では、探索範囲レジスタ3から出力された画像データに基づいて、特徴量データ、例えばオブジェクトに応じたオブジェクト番号が生成され、メモリ5に出力される(ST102)。
【0087】
メモリ5において、特徴量一致判定部53では、特徴量メモリ51に記憶されている特徴量データと、特徴量生成部4から出力された特徴量データとの比較(一致検索)が行われ、比較の結果を示す比較データ(一致データ)が画素ごとに、差分絶対値和・最小値演算部8に出力される(ST103)。
また、メモリ5において、フレームメモリ52では、記憶している、画素毎の比較データに対応した画像データが、ラインメモリ6に出力される(ST104)。
ラインメモリ6では、メモリ5から出力された画像データが、ブロック範囲レジスタ7に出力される。
ブロック範囲レジスタ7では、所定の参照ブロックの内の画像データが、差分絶対値和・最小値演算部8に出力される。
【0088】
差分絶対値和・最小値演算部8では、探索範囲レジスタ3から出力された所定の探索範囲の画像データと、ブロック範囲レジスタ7から出力された所定の参照ブロックの内の画像データと、メモリ5から出力された比較データ(一致データ)に基づいて、所定のブロックマッチング処理を行い(ST105)、動きベクトルを生成する(ST106)。
【0089】
例えば、具体的には、差分絶対値和・最小値演算部8では、探索範囲レジスタ3から出力された、所定の探索範囲内の探索ブロックの内の画素データ、ブロック範囲レジスタ7から出力された参照ブロックの内の画素データ、およびメモリ5から出力された一致データに基づいて、所定の特徴量データについて、探索範囲内の所定の探索ブロックの位相にずらしたブロックと、参照ブロックとのブロックマッチングを行い、差分絶対値を生成し、差分絶対値が最小となる位相を動きベクトルとして出力する。
【0090】
また、差分絶対値和・最小値演算部8では、画素それぞれに対応した一致データに基づいて、探索範囲の画像データの内の所定のオブジェクトの画素と、参照範囲の内の所定のオブジェクトの画素とのマッチング処理を行い、動きベクトルが生成され出力される。
【0091】
以上、説明したように、本実施の形態に係る画像処理装置では、画像データに基づいて、特徴量データを生成する特徴量生成部4と、所定の探索範囲の画像データと、所定の参照ブロックの内の画像データと、メモリ5から出力された比較データ(一致データ)とに基づいて、所定の特徴量データが一致している画素とを比較して、そして探索範囲の全ての位相の探索ブロックに関して差分絶対値和を生成し、最も差分絶対値和が小さい位相を、動きベクトルとする差分絶対値和・最小値演算部8とを設け、メモリ5には、画像データを記憶するフレームメモリ52と、画像データの内の画素それぞれに対応する特徴量データを記憶する特徴量メモリ51と、特徴量メモリ51に記憶された特徴量データと、特徴量生成部4により生成された特徴量データとを比較し、比較の結果を示す比較データを生成する特徴量一致判定部53とを設けたので、複雑な動きを含む画像データであっても、正確な動きベクトルを算出可能である。
【0092】
また、メモリ5には、CAM103を含む特徴量メモリ51と、フレームメモリ52と、判定回路105とを設けたので、一般的なメモリと比べて、より小さい容量で、一致検索機能を持たせることができる。
また、集積度の面で見てもCAM103を利用した方が、通常のEOR(Exclusive OR)回路を用いた場合よりも回路規模を小さくすることができる。
【0093】
メモリ5は、画素に特徴量データを付け加えて記憶し、一致検索機能を付け加えて同一特徴か否かの判定をしながら所定の処理を行うので、効率よく、画像データを処理することができる。
【0094】
また、一致検索するために余分なデータをアクセスする必要がないためにメモリアクセスに無駄がない。
また、画素用メモリと特徴量データを記憶するメモリと一致検索回路を1つの半導体基板上に設けることで、より小規模なメモリを構成することがきる。
【0095】
また、ブロックマッチングに必要なデータをメモリからのアクセス時点で無駄なデータをマスクしているためメモリのアクセスを効率よく行うことが出来る。
【0096】
また、DRAMメモリにビット線BL上のデータと与えられたデータとを比較し、比較の結果にしたがって一致(マッチ)線MLを駆動する比較手段を設けた。
これにより、比較的簡単な構成によって、集積度が高く、大容量で廉価な連想メモリを実現することができる。
【0097】
なお、本発明は本実施の形態に限られるものではなく、任意好適な種々の改変が可能である。本実施の形態において、メモリ5は、4ビットのDRAMセルを設けたが、この形態に限られるものではない。
【0098】
【発明の効果】
本発明によれば、複雑な動きを含む画像データであっても、正確な動きベクトルを算出可能な画像処理装置を提供することができる。
【図面の簡単な説明】
【図1】本発明に係る画像処理装置の一実施の形態を示す機能ブロックである。
【図2】ブロックマッチングにより動きベクトルを検出する動作を説明するための図である。
【図3】図1に示した画像処理装置の差分絶対値和・最小値演算部の動作を説明するための図である。(a)は位相シフト前の状態を示す図、(b)は位相シフト後の状態を示す図である。
【図4】図1に示した画像処理装置のブロックマッチングに関する動作を説明するための図である。
【図5】図1に示した画像処理装置のメモリが記憶および処理するデータの構造を模式的に示す図である。
【図6】図1に示した画像処理装置のメモリの一具体例を示す構成図である。
【図7】図6に示したメモリの特徴量データ記憶部を示す構成図である。
【図8】図7に示した特徴量メモリの動作を示すタイミングチャートである。
【図9】図6に示したメモリのフレームメモリを示す構成図である。
【図10】図1に示した画像処理装置の動作を説明するためのフローチャートである。
【符号の説明】
1…画像処理装置、2…ラインメモリ、3…センスアンプ部、4…特徴量生成部、5…メモリ、6…ラインメモリ、7…ブロック範囲レジスタ、8…差分絶対値和・最小値演算部、51…特徴量メモリ、52…フレームメモリ、53…特徴量一致判定部、101…セル、102…センスアンプ、103…CAM、104…トランスファゲート、105…判定回路、510…ビット線イコライズ部、511…データメモリ部、512…センスアンプ部、513…検出部、514…出力部。
Claims (4)
- 複数の画素を含む第1および第2の画像データを処理する画像処理装置であって、
前記第1および第2の画像データに基づいて前記第1および第2の画像データに対応する第1および第2の特徴量データを生成する特徴量データ生成手段と、
前記第1の画像データに対応する第1の特徴量データと、前記第2の画像データに対応する第2の特徴量とに基づいて、比較データを生成するメモリと、
前記第1および第2の画像データ、ならびに前記メモリにより生成された前記比較データに基づいて、所定のブロック単位毎にマッチング演算を行って動きベクトルを生成する動きベクトル生成手段とを有し、
前記メモリは、
前記第1の画像データを記憶する画像データ記憶手段と、
前記第1の画像データの内の画素それぞれに対応する前記第1の特徴量データを記憶する特徴量データ記憶手段と、
前記特徴量データ記憶手段に記憶された第1の特徴量データと、前記特徴量データ生成手段により生成された、前記ブロックにおける所定の画素位置に対応する第2の特徴量データとを比較し、前記比較の結果を示す前記比較データを生成する比較手段とを有し、
前記動きベクトル生成手段は、
前記ブロック内の画素のうち、該画素に対応する比較データが一致を示す画素である場合に前記マッチング演算の対象とする
画像処理装置。 - 前記第1および第2の画像データは、所定のオブジェクトを含み、
前記特徴量データ生成手段は、前記第1の画像データおよび当該第1の画像データより後の第2の画像データに含まれるオブジェクトに基づいて、前記オブジェクトを識別するオブジェクト識別情報を生成し、
前記特徴量データ記憶手段は、前記特徴量データ生成手段で生成された前記第1の画像データに含まれるオブジェクトに応じたオブジェクト識別情報を前記第1の特徴量データとして記憶しておき、
前記比較手段は、前記特徴量データ記憶手段に記憶された前記第1の特徴量データとしてのオブジェクト識別情報と、前記特徴量データ生成手段により生成された前記第2の特徴量データとしてのオブジェクト識別情報とを比較し、前記比較の結果を示す前記比較データを生成する
請求項1に記載の画像処理装置。 - 前記動きベクトル生成手段は、前記第1および第2の画像データ、ならびに前記メモリにより生成された前記比較データに基づいて、前記第1および第2の画像データの内の、当該比較データが一致している画素に基づいて、動きベクトルを生成する
請求項1に記載の画像処理装置。 - 前記メモリは、前記画像記憶手段に記憶されている前記画像データと、前記前記比較手段により生成された比較データとを対応づけて出力する
請求項1に記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002237440A JP4214738B2 (ja) | 2002-08-16 | 2002-08-16 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002237440A JP4214738B2 (ja) | 2002-08-16 | 2002-08-16 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004078522A JP2004078522A (ja) | 2004-03-11 |
JP4214738B2 true JP4214738B2 (ja) | 2009-01-28 |
Family
ID=32021188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002237440A Expired - Fee Related JP4214738B2 (ja) | 2002-08-16 | 2002-08-16 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4214738B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5239095B2 (ja) * | 2008-04-08 | 2013-07-17 | 富士フイルム株式会社 | 画像処理システム、画像処理方法、およびプログラム |
-
2002
- 2002-08-16 JP JP2002237440A patent/JP4214738B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004078522A (ja) | 2004-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6505270B1 (en) | Content addressable memory having longest prefix matching function | |
US6430073B1 (en) | Dram CAM cell with hidden refresh | |
Haraszti | CMOS memory circuits | |
US6584003B1 (en) | Low power content addressable memory architecture | |
KR910006112B1 (ko) | 다수값 정보기억방식의 반도체기억장치 | |
US6775166B2 (en) | Content addressable memory architecture | |
US10318372B2 (en) | Apparatuses and methods for comparing a current representative of a number of failing memory cells | |
JPH10503317A (ja) | 不揮発性連想記憶メモリ | |
US6678198B2 (en) | Pseudo differential sensing method and apparatus for DRAM cell | |
JPH04325996A (ja) | 半導体連想記憶装置 | |
US6504775B1 (en) | Bitline precharge | |
TW582036B (en) | Semiconductor memory device storing ternary data signal | |
US20220208279A1 (en) | Circuit and method for on-chip leakage detection and compensation for memories | |
JP5339544B2 (ja) | パラレル連想メモリ | |
TW594749B (en) | Multiple word-line accessing and accessor | |
WO2003056564A1 (en) | Low power content addressable memory architecture | |
JP4214738B2 (ja) | 画像処理装置 | |
JP5530268B2 (ja) | 不揮発性記憶装置 | |
US9431070B1 (en) | Memory apparatus | |
KR101155120B1 (ko) | 데이터 손실을 최소화하는 바이너리 내용 주소화 메모리 | |
US6671218B2 (en) | System and method for hiding refresh cycles in a dynamic type content addressable memory | |
JPH1196772A (ja) | 半導体メモリ装置 | |
US20230238037A1 (en) | Content addressable memory device and method for data searching and comparing thereof | |
US20230352087A1 (en) | Content addressable memory device, content addressable memory cell and method for data searching and comparing thereof | |
JP2531296B2 (ja) | シリアルアクセスメモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050801 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080715 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080916 |
|
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: 20081014 |
|
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: 20081027 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111114 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121114 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131114 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |