JP4536310B2 - Motion vector detection device and motion compensated prediction encoding device - Google Patents
Motion vector detection device and motion compensated prediction encoding device Download PDFInfo
- Publication number
- JP4536310B2 JP4536310B2 JP2002004957A JP2002004957A JP4536310B2 JP 4536310 B2 JP4536310 B2 JP 4536310B2 JP 2002004957 A JP2002004957 A JP 2002004957A JP 2002004957 A JP2002004957 A JP 2002004957A JP 4536310 B2 JP4536310 B2 JP 4536310B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- semiconductor memory
- motion vector
- value
- reference block
- 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
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Static Random-Access Memory (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、動きベクトル検出装置および動き補償予測符号化装置に関する。詳しくは、加算器と相関値テーブル生成用の半導体メモリとを用いて差分絶対値を累積していき、この半導体メモリに、参照ブロックに対する探索範囲に存在する複数の候補ブロックのそれぞれに対応した相関値を得るようにしたことによって、半導体チップの大型化を防止できるようにした動きベクトル検出装置および動き補償予測符号化装置に係るものである。
【0002】
【従来の技術】
画像処理においては、動きベクトル検出は重要な要素の一つであり、その代表的な方法としてブロックマッチング法がある。これは、あるフレームの一部を構成するある画素ブロック(参照ブロック)について、時間の異なるフレームにおける様々な位置での同一形状画素ブロック(候補ブロック)との相関を評価し、その中で相関が最も高い候補ブロックとの間の相対的な位置ずれを、その参照ブロックにおける動きベクトルとみなすものである。
【0003】
ここで、候補ブロックを想定する領域が探索範囲である。相関の評価には、参照ブロックと候補ブロックとの対応する各画素間の画素データの差分絶対値のブロック内各画素についての総和、すなわち差分絶対値和が用いられることが多い。1個の参照ブロックにつき探索範囲内の画素数分の差分絶対値和(相関値)が得られるが、これが相関値テーブルである。この相関値テーブルの中で最も差分絶対値和の小さい、すなわち相関の高いところが、画素を単位とした動きベクトルと見なされる。また実際には、この処理は演算負荷の非常に重いものであり、ブロックの形状や大きさ、あるいは演算に使用する画素位置などについて、様々な工夫が行われている。
【0004】
【発明が解決しようとする課題】
従来のブロックマッチングには、差分絶対値演算器と記憶素子としての複数のレジスタとを組み合わせた、あるいはさらに加算器をも組み合わせたPE(Processing Element)が多く用いられている。アレイ配置したPE間に並列かつパイプライン的にデータを流すことで、複数の差分絶対値和を並列に演算し、または差分絶対値を得た後に加算器によって総和をし、差分絶対値和(相関値)の集まり、すなわち相関値テーブルを生成するのである。
【0005】
この場合、記憶素子としてレジスタを用いるためにその構成素子数が多く占有面積が広くなり、さらに各PEに複数個(例えば2〜3個)のレジスタがあるのでPE全体としても占有面積が広くなる。そのため、半導体チップが大型化するといった問題点があった。
そこで、この発明では、半導体チップの大型化を防止し得る動きベクトル検出装置等を提供することを目的とする。
【0006】
【課題を解決するための手段】
この発明に係る動きベクトル検出装置は、時間的に前後する参照フレームと探索フレームとから動きベクトルを検出する動きベクトル検出装置であって、参照フレームより取り出される参照ブロックの画素データを共通に入力すると共に、上記探索フレームより取り出される、上記参照ブロックに対する探索範囲に存在する複数の候補ブロックの画素データをそれぞれ入力し、上記参照ブロックの画素データと上記候補ブロックの画素データとの差分絶対値を演算する複数の差分絶対値演算器と、複数の加算器と複数の記憶領域を有する相関値テーブル生成用の半導体メモリと、上記複数の差分絶対値演算器で演算されて得られた差分絶対値のそれぞれを、上記半導体メモリの複数の記憶領域に記憶されていた記憶データのそれぞれに、上記複数の加算器を用いて足し込み、該複数の加算器で得られた足し込みデータのそれぞれを上記半導体メモリの複数の記憶領域に記憶することを所定回数だけ繰り返し、上記半導体メモリの複数の記憶領域に、上記複数の候補ブロックのそれぞれに対応した相関値が得られるように制御するコントローラと、上記半導体メモリの複数の記憶領域に得られた上記複数の候補ブロックのそれぞれに対応した相関値に基づいて、上記参照ブロックに対応した動きベクトルを検出する相関値テーブル評価器とを備え、上記加算器は、上記記憶領域に記憶されている値を読み出し、読み出した値に上記差分絶対値演算器で演算されて得られた差分絶対値を足し込んだデータを上記記憶領域に書き戻し、足し込みの演算結果がオーバフローとなる場合、当該加算器に対応した上記半導体メモリの記憶領域に最大値をセットするものである。
【0007】
この発明において、複数の差分絶対値演算器では、複数の候補ブロックのそれぞれの画素データと参照ブロックの画素データの差分絶対値が演算される。そして、複数の加算器は、相関値テーブル生成用の半導体メモリの複数の記憶領域に記憶されている記憶データを読み出す。その後、複数の加算器は、読み出した記憶データに、複数の差分絶対値演算器で演算されて得られた差分絶対値のそれぞれを足し込む。そして、このように複数の加算器で得られた足し込みデータのそれぞれは半導体メモリの複数の記憶領域に記憶される。ここで、加算器は、足し込みの演算結果がオーバフローとなる場合、当該加算器に対応した半導体メモリの記憶領域に最大値をセットする。これにより、この半導体メモリの記憶領域に誤った小さな値が相関値として記憶される、動きベクトルの検出誤りを生じることを防止できる。
【0008】
上述の差分絶対値演算、加算演算および記憶動作が所定回数、例えばブロックマッチング法の場合には参照ブロックを構成する画素データの個数と等しい回数だけ繰り返されることで、半導体メモリの複数の記憶領域に、参照ブロックに対する探索範囲に存在する複数の候補ブロックのそれぞれに対応した相関値(差分絶対値和)が得られる。そして、相関値テーブル評価器では、このように半導体メモリに得られる複数の候補ブロックのそれぞれに対応した相関値に基づいて、参照ブロックに対応した動きベクトルが検出される。
【0009】
このように、記憶素子としてレジスタよりも小型、高密度な半導体メモリを使用することにより、占有面積を狭くすることが可能となり、半導体チップの大型化を防止できる。
【0010】
なお、少なくとも複数の加算器および半導体メモリが一体化され、加算器を構成するビット単位の複数の加算部が、半導体メモリを構成するマトリックス状に配されたメモリセルのカラムのピッチに揃えて配されることで、加算器から半導体メモリへの足し込みデータの供給および半導体メモリから加算器への記憶データの供給が効率的に行われる。
【0011】
また、半導体メモリが、上述の複数の加算部に関連して設けられた書き込みおよび読み出し用の第1のポートと読み出し専用の第2のポートとを有することで、半導体メモリの記憶データ、例えば相関値の読み出しを、足し込みとは別途独立して行うことができる。
【0012】
また、半導体メモリをクリアまたはプリセットするためのデータを生成し、このデータによって半導体メモリをクリアまたはプリセットすることで、外部からクリアまたはプリセットするためのデータを入力することなく、半導体メモリを容易にクリアまたはプリセットすることができ、またプリセットするためのデータを工夫することで、例えば平坦な絵柄の部分においては(0,0)等の特定の動きベクトルが検出されやすくできる。
【0013】
また、加算器を構成する複数の加算部による演算結果がオーバフローとなる場合、複数の加算部に対応した半導体メモリの所定領域に最大値をセットすることで、この半導体メモリの所定領域に誤った小さな値が相関値として記憶されることを防止できる。
【0014】
【発明の実施の形態】
以下、図面を参照しながら、この発明の実施の形態について説明する。
図1は、実施の形態としての動き補償予測符号化装置100の構成を示している。
この符号化装置100は、画像データ(動画像を構成するフレームデータ)Diを入力する入力端子101と、この入力端子101に供給される画像データDiと後述する動き補償回路110から供給される予測画像データとの差分を演算する減算器102と、この減算器102で得られる差分データに対してDCT(離散コサイン変換)を行うDCT回路103と、このDCT回路103で得られるDCT係数に対して量子化を行う量子化回路104と、この量子化回路104で得られた符号化データDoを出力する出力端子105とを有している。
【0015】
また、符号化装置100は、量子化回路104で得られた符号化データDoに対して逆量子化を行う逆量子化回路106と、この逆量子化回路106の出力データに対して逆DCTを行って差分データを得る逆DCT回路107と、この逆DCT回路107で得られる差分データと動き補償回路110で得られる予測画像データとを加算して元の画像データを復元する加算器108と、この加算器108で復元された画像データを記憶するフレームメモリ109とを有している。
【0016】
また、符号化装置100は、フレームメモリ109に記憶された画像データを読み込み、後述する動きベクトル検出回路111からの動きベクトルMVに基づいて動き補償をした後、上述したように減算器102および加算器108に予測画像データとして供給する動き補償回路110と、入力端子101に供給される画像データDiの動きベクトルMVを検出して動き補償回路110に供給する動きベクトル検出回路111とを有している。
【0017】
図1に示す動き補償予測符号化装置100の動作を説明する。
入力端子101に入力される画像データDiは、減算器102および動きベクトル検出回路111に供給される。減算器102では、この画像データDiと動き補償回路110から供給される予測画像データとの差分が演算される。
【0018】
減算器102で得られる差分データはDCT回路103に供給されて離散コサイン変換される。このDCT回路103で得られるDCT係数は量子化回路104に供給されて量子化される。そして、この量子化回路104で得られた符号化データDoが出力端子105に出力される。
【0019】
また、量子化回路104で得られた符号化データDoが逆量子化回路106に供給されて逆量子化され、さらにこの逆量子化回路106の出力データが逆DCT回路107に供給されて逆DCTされ、差分データが復元される。この差分データと動き補償回路110からの予測データとが加算器108で加算されて元の画像データが復元され、この復元された画像データがフレームメモリ109に記憶される。
【0020】
動き補償回路110では、あるフレームにおいては、その前のフレームにフレームメモリ109に記憶された画像データの読み込みが行われて、動きベクトル検出回路111からの動きベクトルMVに基づいて動き補償されて、予測画像データが得られる。この予測画像データは、上述したように、差分データを得るために減算器102に供給されると共に、画像データを復元するために加算器108に供給される。
【0021】
次に、動きベクトル検出回路111の詳細を説明する。
この動きベクトル検出回路111では、ブロックマッチング法により動きベクトルが検出される。これは、図2に示すように、探索フレームの候補ブロックを所定の探索範囲内で移動し、参照フレームの参照ブロックと最も合致している候補ブロックを検出することにより、動きベクトルを求めるものである。
【0022】
ブロックマッチング法では、図3Aに示すように、1枚の画像、例えば水平H画素、垂直Vラインの1フレームの画像が図4Bに示すように、P画素×Qラインのブロックに細分化される。図3Bの例では、P=5、Q=5の例である。cがブロックの中心画素位置である。
【0023】
図4A〜Cは、cを中心画素とする参照ブロックとc´を中心とする候補ブロックの位置関係を示している。cを中心画素とする参照ブロックは、参照フレームの注目しているある参照ブロックであり、それと一致する探索フレームの候補ブロックが探索フレームにおいてc´を中心とするブロックの位置にあるものとしている。ブロックマッチング法では、探索範囲内において、参照ブロックと最も合致する候補ブロックを見出すことによって、動きベクトルを検出する。
【0024】
図4Aの場合では、水平方向に+1画素、垂直方向に+1ライン、すなわち、(+1,+1)の動きベクトルが検出される。図4Bでは、(+3,+3)の動きベクトルMVが検出され、図4Cでは、(+2,−1)の動きベクトルが検出される。動きベクトルは、参照フレームの参照ブロック毎に求められる。
【0025】
動きベクトルを探索する範囲を水平方向で±S画素、垂直方向で±Tラインとすると、参照ブロックは、その中心cに対して、水平に±S、垂直に±Tずれたところに中心c´を有する候補ブロックと比較される必要がある。
【0026】
図5は、参照フレームのある参照ブロックの中心cの位置をRとする時に、比較すべき探索フレームの(2S+1)×(2T+1)個の候補ブロックとの比較が必要なことを示している。すなわち、この図5のます目の位置にc´が存在する候補ブロックの全てが比較対象である。図5は、S=4,T=3とした例である。
【0027】
探索範囲内の比較で得られた評価値(すなわち、フレーム差の絶対値和、このフレーム差の二乗和、あるいはフレーム差の絶対値のn乗和等)の中で、最小値を検出することによって、動きベクトルが検出される。図5の探索範囲は、候補ブロックの中心が位置する領域であり、候補ブロックの全体が含まれる探索範囲の大きさは、(2S+P)×(2T+Q)となる。
【0028】
図6は、動きベクトル検出回路111の構成を示している。
この動きベクトル検出回路111は、回路全体の動作を制御するコントローラ121と、参照フレームの画像データDiが入力される入力端子122と、この画像データDiを探索フレームの画像データとして蓄積するフレームメモリ123とを有している。フレームメモリ123の書き込み、読み出し等の動作は、コントローラ121によって制御される。
【0029】
また、動きベクトル検出回路111は、複数の差分絶対値演算器124-1〜124-Nを有している。ここで、Nは、ある参照ブロック内の1個の参照画素に対する探索範囲に存在する複数の候補ブロックの個数である。複数の演算器124-1〜124-Nは、入力端子122に入力される画像データDiを構成する画素データを、参照ブロックの画素データDrとして共通に入力すると共に、また当該参照ブロックに対する探索範囲に存在する複数の候補ブロックの画素データDc-1〜Dc-Nをそれぞれ入力し、参照ブロックの画素データと候補ブロックの画素データとの差分絶対値を演算するものである。
【0030】
この場合、演算器124-1〜124-Nにおいては、図7に示すように、1個の参照画素とN個の探索範囲画素との1対Nのマッチング演算が行われる。ここで、参照ブロック内における参照画素の位置に応じて、この参照画素に対する探索範囲画素の位置が変化する。例えば、ハッチングして示した位置は、参照ブロックの左上の1個の画素に対するN個の探索範囲画素の位置を示している。
【0031】
また、動きベクトル検出回路111は、複数の加算器125-1〜125-Nと、複数の記憶領域126-1〜126-Nを有する相関値テーブル生成用の半導体メモリ126とを有している。複数の加算器125-1〜125-Nは、複数の演算器124-1〜124-Nで演算されて得られた差分絶対値をそれぞれ入力すると共に、半導体メモリ126の複数の記憶領域126-1〜126-Nに記憶されていた記憶データのそれぞれを入力し、差分絶対値を記憶データに足し込むものである。
【0032】
このように、複数の加算器125-1〜125-Nで得られた足し込みデータのそれぞれは、半導体メモリ126の複数の記憶領域126-1〜126-Nに記憶データとして書き戻される。半導体メモリ126の書き込み、読み出しの動作は、コントローラ121によって制御される。
【0033】
コントローラ121は、参照フレームの各参照ブロックについて、複数の差分絶対値演算器124-1〜124-Nにおける差分絶対値の演算、複数の加算器125-1〜125-Nにおける足し込みの演算、半導体メモリ126の複数の記憶領域126-1〜126-Nへの足し込みデータの書き戻しを、ブロック内画素分だけ行い、半導体メモリ126の複数の記憶領域126-1〜126-Nに、各参照ブロックに対する探索範囲に存在する複数の候補ブロックのそれぞれに対応した相関値が得られるように制御する。
【0034】
なお、入力端子122に入力される画像データDiは各ラインの画素データが連続したものとなっている。そのため、演算器124-1〜124-Nに入力される参照ブロックの画素データDrは、参照ブロック毎に連続したものではなく、複数の参照ブロックの画素データが所定数ずつ連続したものとなっている。例えば、参照ブロックが、図3Bに示すようにP画素×Qラインで構成される場合には、あるラインの画素データは、P画素毎に異なった参照ブロックを構成している。また、ある参照ブロックに着目すると、当該参照ブロックの画素データは、Qラインの画素データが入力されてはじめて、全て入力されることとなる。
【0035】
このように、演算器124-1〜124-Nに入力される参照ブロックの画素データDrは複数の参照ブロックの画素データが所定数ずつ連続したものとなっていることから、上述した複数の差分絶対値演算器124-1〜124-Nにおける差分絶対値の演算、複数の加算器125-1〜125-Nにおける足し込みの演算、半導体メモリ126の複数の記憶領域126-1〜126-Nへの足し込みデータの書き戻しは、複数の参照ブロックに対応して、時分割的に行われる。そして、Qラインの画素データの入力毎に、新たな複数の参照ブロックの処理に移っていく。
【0036】
また、動きベクトル検出回路111は、参照ブロック毎に、半導体メモリ126の複数の記憶領域126-1〜126-Nに得られた、参照ブロックに対する探索範囲に存在する複数の候補ブロックのそれぞれに対応した相関値(差分絶対値和)に基づいて、参照ブロックに対応した動きベクトルMVを検出する相関値テーブル評価器127と、この評価器127で検出された動きベクトルMVを出力する出力端子128とを有している。評価器127では、最小の相関値を発生する候補ブロックの位置を、動きベクトルMVとして検出する。
【0037】
図6に示す動きベクトル検出回路111の動作を説明する。
入力端子122に入力される画像データDiは、参照ブロックの画素データDrとして、複数の差分絶対値演算器124-1〜124-Nに共通に入力される。また、入力端子122に入力される画像データDiはフレームメモリ123に供給され、探索フレームの画像データとして蓄積される。
【0038】
また、フレームメモリ123から当該参照ブロックに対する探索範囲に存在する複数の候補ブロックの画素データDc-1〜Dc-Nが複数の差分絶対値演算器124-1〜124-Nにそれぞれ入力される。この候補ブロックの画素データDc-1〜Dc-Nは、それぞれ参照ブロックの画素データDrに対応した画素位置のものとされる。演算器124-1〜124-Nでは、画素データDrと画素データDc-1〜Dc-Nとの差分絶対値がそれぞれ演算される。
【0039】
また、複数の演算器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が含まれる参照ブロックに対応した記憶部より読み出される。
【0040】
複数の加算器125-1〜125-Nでは、それぞれ記憶データに差分絶対値が足し込まれる。そして、このように複数の加算器125-1〜125-Nで得られた足し込みデータのそれぞれは、半導体メモリ126の複数の記憶領域126-1〜126-Nに記憶データとして書き戻される。この場合、画素データDrが含まれる参照ブロックに対応した記憶部に書き戻される。
【0041】
上述した複数の差分絶対値演算器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に出力される。
【0042】
なお、本実施の形態において、複数の加算器125-1〜125-Nと半導体メモリ126は一体化されており、複数の加算器125-1〜125-Nを構成するそれぞれのビット単位の複数の加算部は、半導体メモリ126のカラムのピッチに揃えて配されている。
【0043】
図8は、加算器125-1およびそれに対応した半導体メモリ126の記憶領域126-1の部分の詳細構成を示したものである。なお、説明は省略するが、加算器125-2〜125-Nおよびそれに対応した半導体メモリ126の記憶領域126-2〜126-Nの部分についても同様に構成されている。
【0044】
図8において、記憶領域126-1には、カラム方向にn個、ロウ方向にX+1個のメモリセル(Memory Cell)130がマトリックス状に配されている。この場合、カラム方向に延びる各行のn個のメモリセル130によって、それぞれ1参照ブロック分の記憶部が構成されている。
【0045】
図9は、メモリセル130の構成例を示している。このメモリセル130は、書き込みおよび読み出し用の第1のポートと読み出し専用の第2のポートとを有する2ポート構成のものである。
【0046】
負荷素子である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の各ゲート入力となっている。
【0047】
CMOSインバータ11の記憶ノードN1は、ゲートが端子13に接続されたアクセストランジスタQ5を介して端子14に接続される。一方、CMOSインバータ12の記憶ノードN2は、ゲートが端子13に接続されたアクセストランジスタQ6を介して端子15に接続される。端子13にはワード線WLが接続され、端子14にはビット線BLが接続され、端子15にはビット線/BL(/BLはBLバーを表している)が接続される。
【0048】
また、N型MOSトランジスタQ7,Q8が直列に接続され、その一端は接地され、その他端は端子16に接続される。そして、トランジスタQ7のゲートは記憶ノードN1に接続され、トランジスタQ8のゲートは端子17に接続される。端子16には読み出し専用ビット線BRLが接続され、端子17には読み出し専用ワード線WRLが接続される。
【0049】
このようなメモリセル130において、一対のCMOSインバータ11,12で構成されるメモリセル部に“1”または“0”のデータが記憶される。そして、このメモリセル部とビット線BL,/BLとの間で、アクセストランジスタQ5,Q6を介して、読み出しおよび書き込みのデータ転送が行われる。また、メモリセル部と読み出し専用ビット線BRLとの間で、アクセストランジスタQ8を介して読み出しのデータ転送が行われる。
【0050】
なお、図9に示すメモリセル130の構成例は、SRAM(Static Random Access Memory)セルをベースとしたものであるが、他のメモリセル、例えばDRAM(Dynamic Random Access Memory)、FeRAM(Ferro-electric Random Access Memory)、MRAM(Magnetic Random Access Memory)等におけるメモリセルをベースにして構成してもよい。
【0051】
図8に戻って、カラム方向に並ぶ各行のメモリセル130に沿って、ワード線WL0〜WLX、および読み出し専用ワード線WRL0〜WRLXが配されている。上述したように、ワード線WL0〜WLXはメモリセル130の端子13に接続され、読み出し専用ワード線WRL0〜WRLXはメモリセル130の端子17に接続される。
【0052】
また、ロウ方向に並ぶ各列のメモリセル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に接続される。
【0053】
なお、この読み出し専用ビット線BRL0〜BRLn-1による読み出しモードに入る前には、ビット線BRL0〜BRLn-1をプリチャージすることが必要となる。そのために、ビット線BRL0はP型MOSトランジスタQ41を介して電源に接続される。そして、このトランジスタQ41のゲートには、プリチャージ制御信号/φRPC(/φRPCはφRPCバーを表しており、プリチャージ制御信号φRPCが反転されたものである)が入力される。ビット線BRL1〜BRLn-1に関しても同様に構成されている。
【0054】
また、メモリ領域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の読み出しが行われる。
【0055】
ここで、センスアンプSA0の部分の構成の詳細を説明する。
ビット線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が反転されたものである)が入力される。
【0056】
また、トランジスタQ22のドレインはP型MOSトランジスタQ26,Q27の並列回路を介して電源に接続され、トランジスタQ24のドレインはP型MOSトランジスタQ28,Q29の並列回路を介して電源に接続される。そして、トランジスタQ22のドレインはトランジスタQ29のゲートに接続され、トランジスタQ24のドレインはトランジスタQ27のゲートに接続される。トランジスタQ26,Q28のゲートには、イコライズ制御信号/φEQが入力される。
【0057】
なお、読み出しモードに入る前にはビット線対BL0,/BL0をイコライズ(プリチャージ)することが必要となる。そのために、ビット線BL0はP型MOSトランジスタQ31を介して電源に接続され、ビット線/BL0はP型MOSトランジスタQ32を介して電源に接続され、ビット線BL0,/BL0はP型MOSトランジスタQ33を介して接続される。そして、トランジスタQ31〜Q33のゲートには、イコライズ制御信号/φEQが入力される。
センスアンプSA2〜SAn-1の部分の構成も、上述したセンスアンプSA0の部分の構成と同様とされる。
【0058】
また、上述したように、カラム方向に延びる各行のn個のメモリセル130によって、それぞれ1つの参照ブロックの記憶部が構成されている。所定の記憶部にある参照ブロックの足し込みデータを順次書き込むことを開始する前に、この所定の記憶部を構成するメモリセル130の記憶データをクリアすることが必要となる。そのために、ビット線対BL0,/BL0〜BLn-1,/BLn-1のそれぞれに対応して、“0”のデータを生成し、このデータをメモリセル130に書き込みデータとして供給する構成を備えている。
【0059】
すなわち、ビット線BL0はN型MOSトランジスタQ51を介して接地される。そして、このトランジスタQ51のゲートには、クリア制御信号φCLRが入力される。ビット線対BL1,/BL1〜BLn-1,/BLn-1の部分に関しても同様に構成されている。
【0060】
また、加算器125-1はnビットのそれぞれのビットの加算を行うためのn個の加算部1400〜140n-1からなっており、これらn個の加算部1400〜140n-1はメモリ領域126-1のカラムのピッチに揃えて配されている。
【0061】
加算部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がそれぞれ入力される。
【0062】
加算部1400の非反転出力端子Sは、N型MOSトランジスタQ11のゲートに接続されている。そして、このトランジスタQ11のドレインは、加算部1400に対応してロウ方向に並ぶメモリセル130に接続されているビット線/BL0に接続される。一方、この加算部1400の反転出力端子/S(/SはSバーを表している)は、N型MOSトランジスタQ12のゲートに接続される。そして、このトランジスタQ12のドレインは、加算部1400に対応してロウ方向に並ぶメモリセル130に接続されているビット線BL0に接続される。
【0063】
トランジスタQ11,Q12の互いのソースは接続され、その接続点はN型MOSトランジスタQ13,Q14の直列回路を介して接地される。そして、トランジスタQ14のゲートには書き込み制御信号φWが入力され、トランジスタQ13のゲートには加算部140n-1のキャリ出力端子COUTに得られるMSB(Most Significant Bit)のキャリ出力CMSBがインバータ141を介して入力される。
加算部1401〜140n-1の出力端子S,/S側の構成も、上述した加算部1400の出力端子S,/S側の構成と同様とされる。
【0064】
また、加算部1400のキャリ入力端子CINは接地され、“0”が入力された状態とされる。また、加算部1400〜140n-2のキャリ出力端子COUTは、それぞれ加算部1401〜140n-1に接続されている。これにより、加算部1400〜140n-1でnビット加算器が構成される。
【0065】
また、ビット線/BL0はN型MOSトランジスタQ61,Q62を介して接地される。そして、トランジスタQ61のゲートにはクリア制御信号/φCLR(/φC LRはφCLRバーを表しており、クリア制御信号φCLRが反転されたものである)が入力され、トランジスタ62のゲートには加算部140n-1のキャリ出力端子COUTに得られるMSBのキャリ出力CMSBが入力される。
【0066】
図8に示す加算器125-1および記憶領域126-1の部分の動作を説明する。
まず、カラム方向に延びる各行のn個のメモリセル130によってそれぞれ1つの参照ブロックの記憶部が構成されているが、所定の記憶部を構成するメモリセル130の記憶データをクリアする動作について説明する。
【0067】
所定の記憶部を構成するメモリセル130の記憶データをクリアする場合、書き込み制御信号φWおよびクリア制御信号φCLRはアクティブ、つまり“1”とされ、読み出し制御信号φRおよびイコライズ制御信号φEQはインアクティブ、つまり“0”とされ、さらにワード線WL0〜WLXのうち、所定の記憶部に対応するワード線が活性化される。
【0068】
この場合、クリア制御信号φCLRがアクティブとされてトランジスタQ51がオンとなる。そのため、“0”のデータが生成され、このデータがビット線BL0〜BLn-1に出力される。したがって、所定の記憶部に対応するワード線を活性化することで、当該所定の記憶部を構成するn個のメモリセル130には“0”のデータが書き込まれ、記憶データのクリアが行われる。
【0069】
次に、所定の記憶部に記憶されている記憶データMD0〜MDn-1に、8ビットの差分絶対値D0〜D7を、加算器125-1(加算部1401〜140n-1)で足し込み、そして加算器125-1で得られた足し込みデータAD0〜ADn-1を、当該所定の記憶部に書き戻す動作について説明する。
【0070】
所定の記憶部に記憶されている記憶データMD0〜MDn-1に、8ビットの差分絶対値D0〜D7を足し込む場合、最初に、イコライズ制御信号φEQはアクティブ、つまり“1”とされ、書き込み制御信号φW、読み出し制御信号φRおよびクリア制御信号φCLRはインアクティブ、つまり“0”とされ、ビット線対BL0,/BL0〜BLn-1,/BLn-1のイコライズ(プリチャージ)が行われる。
【0071】
この場合、ビット線対BL0,/BL0に関しては、イコライズ制御信号φEQがアクティブとされてトランジスタQ31〜Q33の全てがオンとなり、ビット線BL0およびビット線/BL0に電源の電位が印加され、これらビット線BL0およびビット線/BL0は同電位となる。他のビット線対BL1,/BL1〜BLn-1,/BLn-1に関しても同様である。
【0072】
このようにビット線対BL0,/BL0〜BLn-1,/BLn-1のイコライズが行われた状態で、読み出し制御信号φRはアクティブ、つまり“1”とされ、書き込み制御信号φW、イコライズ制御信号φEQおよびクリア制御信号φCLRはインアクティブ、つまり“0”とされ、さらにワード線WL0〜WLXのうち、所定の記憶部に対応するワード線が活性化される。
【0073】
これにより、所定の記憶部を構成するn個のメモリセル130の記憶データMD0〜MDn-1が、それぞれビット線対BL0,/BL0〜BLn-1,/BLn-1およびセンスアンプSA0〜SAn-1を介して読み出され、加算部1400〜140n-1のB側の入力端子にそれぞれ入力される。したがって、所定の記憶部に記憶されている記憶データMD0〜MDn-1に、8ビットの差分絶対値D0〜D7が足し込まれる。
【0074】
そして、加算部1400〜140n-1における加算出力、つまり足し込みデータAD0〜ADn-1が有効になったところで、書き込み制御信号φWはアクティブ、つまり“1”とされ、読み出し制御信号φR、イコライズ制御信号φEQおよびクリア制御信号φCLRはインアクティブ、つまり“0”とされ、さらにワード線WL0〜WLXのうち、所定の記憶部に対応するワード線が活性化される。
【0075】
この場合、加算部1400の部分に関して、足し込みデータS0が“1”である場合には、トランジスタQ11はオン、トランジスタQ12はオフとなり、ビット線/BL0に“0”が出力されることから、所定の記憶部を構成するn個のメモリセル130のうち、当該加算部1400に対応するメモリセル130には、“1”のデータが記憶される。一方、加算部1400の部分に関して、足し込みデータS0が“0”である場合には、トランジスタQ11はオフ、トランジスタQ12はオンとなり、ビット線BL0に“0”が出力されることから、所定の記憶部を構成するn個のメモリセル130のうち、当該加算部1400に対応するメモリセル130には、“0”のデータが記憶される。
【0076】
他の加算部1401〜140n-1の部分に関しても同様である。これにより、加算器125-1で得られた足し込みデータAD0〜ADn-1は、所定の記憶部を構成するn個のメモリセル130に書き戻される。
【0077】
なお、足し込みの動作において、オーバフローとなる場合には、加算部140n-1のキャリ出力端子COUTに得られるMSBのキャリ出力CMSBが“1”となるため、トランジスタQ13はオフとなり、足し込みデータAD0〜ADn-1が、所定の記憶部を構成するn個のメモリセル130に書き込まれることはない。
【0078】
その代わり、この場合、トランジスタQ61がオンとなる他に、トランジスタQ62もオンとなるので、ビット線/BL0〜/BLn-1にそれぞれ“0”の信号が出力される。したがって、所定の記憶部を構成するn個のメモリセル130のそれぞれに“1”のデータが書き込まれる。つまり、この所定の記憶部には最大値が記憶される。
【0079】
次に、所定の記憶部に記憶された、ある参照ブロックに対応した最終的な足し込みデータ、つまり相関値(差分絶対値和)を、読み出す場合の動作を説明する。
最初に、プリチャージ制御信号/φRPCがアクティブ、つまり“1”とされ、読み出し専用ビット線BRL0〜BRLn-1のプリチャージが行われる。この場合、トランジスタQ41はオンとなり、読み出し専用ビット線BRL0〜BRLn-1のそれぞれに電源の電位が印加される。
【0080】
このように読み出し専用ビット線BRL0〜BRLn-1のプリチャージが行われた状態で、読み出し専用ワード線WRL0〜WRLXのうち、所定の記憶部に対応する読み出し専用ワード線が活性化される。これにより、所定の記憶部を構成するn個のメモリセル130の記憶データΣ0〜Σn-1が、それぞれ読み出し専用ビット線BRL0〜BRLn-1に得られる。ここで、記憶データΣ0〜Σn-1は、nビットの相関値(差分絶対値和)を構成している。
【0081】
以上説明したように、本実施の形態においては、加算器125-1〜125-Nと相関値テーブル生成用の半導体メモリ126とを用いて差分絶対値を累積していき、この半導体メモリ126に、参照ブロックに対する探索範囲に存在する複数の候補ブロックのそれぞれに対応した相関値(差分絶対値和)を得るようにしたものであり、従来のように記憶素子としてレジスタを用いるものに比べて、占有面積を小さくでき、半導体チップの大型化を防止することができる。
【0082】
また、加算器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の供給を効率的に行うことができる。
【0083】
また、半導体メモリ126が、上述の複数の加算部1400〜140n-1に関連して設けられた書き込みおよび読み出し用の第1のポートと、読み出し専用の第2のポートとを有するものであり(図8参照)、半導体メモリ126からのある参照ブロックに対応する相関値Σ0〜Σn-1の読み出しを、足し込みとは別途独立して行うことができる。
【0084】
また、半導体メモリ126の所定の記憶部を構成するメモリセル130の記憶データをクリアする際に、トランジスタQ51をオンとして、クリアするための“0”データを生成し、このデータをメモリセル130に書き込みデータとして供給するものであり、外部からクリアするためのデータを入力することなく、半導体メモリ126を容易にクリアすることができる。
【0085】
また、加算器125-1〜125-Nをそれぞれ構成する複数の加算部1400〜140n-1による演算結果がオーバフローとなる場合、複数の加算部1400〜140n-1に対応した半導体メモリ126の所定の記憶部に最大値を記憶(セット)するものであり、この所定の記憶部に誤った小さな値が相関値として記憶され、動きベクトルの検出誤りが生じることを防止できる。
【0086】
なお、上述実施の形態において、半導体メモリ126の記憶領域126-1〜126-Nでは、ビット線BL0〜BLn-1をトランジスタQ51を介して接地し、このトランジスタQ51のゲートにクリア制御信号/φCLRを入力する構成とし、クリア信号φCLRをアクティブとしたとき所定の記憶部を構成するn個のメモリセル130に“0”のデータが書き込まれてクリアされるものを示した(図8参照)。
【0087】
ここで、図8に破線図示するように、ビット線/BL0〜/BLn-1をトランジスタQ52を介して接地し、このトランジスタQ52のゲートにクリア制御信号/φCLRを入力する構成とした場合、クリア信号φCLRをアクティブとしたとき、トランジスタQ52で“1”のデータが生成され、所定の記憶部を構成するn個のメモリセル130に“1”のデータが書き込まれる。
【0088】
したがって、ビット線対BL0,/BL0〜BLn-1,/BLn-1のそれぞれに対応してトランジスタQ51,Q52を設けておき、それらのいずれかを選択的にビット線に接続し、クリア信号φCLRをアクティブとしたとき所定の記憶部を構成するn個のメモリセル130に、所定のデータをプリセットするようにしてもよい。このプリセットデータを工夫することで、例えば平坦な絵柄の部分においては(0,0)等の特定の動きベクトルが検出されやすくできる。このプリセットの設定は、半導体装置の設計時に予め決めておけばよく、従ってコンタクトレイヤのプログラムなどによって設定することが想定される。
【0089】
また、上述実施の形態においては、加算器125-1〜125-Nおよび相関値テーブル生成用の半導体メモリ126とを一体化したものであるが、さらに差分絶対値演算器124-1〜124-Nや相関値テーブル評価器127をも一体化するようにしてもよい。
【0090】
また、上述実施の形態においては、メモリセル130が2ポート構成のものであったが(図9参照)、メモリセルが2ポート構成でなくてもよく、半導体メモリ126全体として2ポート構成であってもよい。さらには、半導体メモリ126として2ポート構成でなくとも、例えば映像信号におけるブランキング期間に相関値(テーブルデータ)の読み出しを行ったり、同一機能ブロックを複数個有してフィールドまたはフレーム間でインターリーブさせて用いるなど、足し込みと相関値の読み出しとを同一ポートにおいて異なる期間に行ってもよい。
【0091】
また、上述実施の形態においては、加算器125-1〜125-Nおよび半導体メモリ126を用いた足し込みを、動きベクトル検索における差分絶対値の足し込みに適用したものであるが、他の信号処理における同様の足し込みにも適用することができる。
【0092】
また、上述実施の形態においては、加算器125-1〜125-Nおよび相関値テーブル生成用の半導体メモリ126とを一体化したものであるが、減算器、乗算器、除算器などのその他の演算器と半導体メモリとを一体化したものも同様に構成でき、演算器と半導体メモリとの間のデータのやり取りを効率よく行うことができる。
【0093】
また、上述実施の形態においては、動きベクトル検出回路111を動き補償予測符号化装置100に適用したものを示したが、動きベクトルを使用するその他の装置にも同様に適用できることは勿論である。
【0094】
また、上述実施の形態においては、ブロックマッチング法によって動きベクトルを検出するものを示したが、この発明はブロックマッチング法に限定されるものではなく、代表点ブロックマッチング法など他の画素値のマッチングをベースとする方法にも適用可能である。
【0095】
【発明の効果】
この発明によれば、複数の加算器と複数の記憶領域とを有する相関値テーブル生成用の半導体メモリを用いて差分絶対値を累積していき、この半導体メモリの記憶領域に、参照ブロックに対応した探索範囲の複数の候補ブロックのそれぞれに対する相関値(差分絶対値和)を得るものであり、従来のように記憶素子としてレジスタを用いるものに比べて、占有面積を小さくでき、半導体チップの大型化を防止することができる。
【0096】
また、この発明によれば、少なくとも複数の加算器および半導体メモリが一体化され、加算器を構成するビット単位の複数の加算部が、半導体メモリを構成するマトリックス状に配されたメモリセルのカラムのピッチに揃えて配されるものであり、加算器から半導体メモリへの足し込みデータの供給および半導体メモリから加算器への記憶データの供給を効率的に行うことができる。
【0097】
また、この発明によれば、半導体メモリが、上述の複数の加算部に関連して設けられた書き込みおよび読み出し用の第1のポートと読み出し専用の第2のポートとを有するものであり、半導体メモリの記憶データ、例えば相関値の読み出しを、足し込みとは別途独立して行うことができる。
【0098】
また、この発明によれば、半導体メモリをクリアまたはプリセットするためのデータを生成し、このデータによって半導体メモリをクリアまたはプリセットすることで、外部からクリアまたはプリセットするためのデータを入力することなく、半導体メモリを容易にクリアまたはプリセットすることができ、またプリセットするためのデータを工夫することで、例えば平坦な絵柄の部分においては(0,0)等の特定の動きベクトルが検出されやすくできる。
【0099】
また、この発明によれば、加算器を構成する複数の加算部による演算結果がオーバフローとなる場合、複数の加算部に対応した半導体メモリの所定領域に最大値をセットするものであり、この半導体メモリの所定領域に誤った小さな値が相関値として記憶される、動きベクトルの検出誤りを生じることを防止できる。
【図面の簡単な説明】
【図1】実施の形態としての動き補償予測符号化装置の構成を示すブロック図である。
【図2】動き検出のためのブロックマッチング法を説明するための図である。
【図3】動き検出のためのブロックマッチング法を説明するための図である。
【図4】動き検出のためのブロックマッチング法を説明するための図である。
【図5】動き検出のためのブロックマッチング法を説明するための図である。
【図6】動きベクトル検出回路の構成を示すブロック図である。
【図7】1個の参照画素とN個の探索範囲画素との1対Nのマッチング演算を説明するための図である。
【図8】半導体メモリと加算器とを一体化した構成を示す図である。
【図9】メモリセルの構成を示す図である。
【符号の説明】
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・・・加算部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a motion vector detection device.andMotion compensated predictive coding deviceIn placeRelated. Specifically, the absolute value of the difference is accumulated using an adder and a semiconductor memory for generating a correlation value table, and the correlation corresponding to each of a plurality of candidate blocks existing in the search range for the reference block is stored in this semiconductor memory. The present invention relates to a motion vector detection device and a motion compensation predictive coding device that can prevent an increase in size of a semiconductor chip by obtaining a value.
[0002]
[Prior art]
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.
[0003]
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.
[0004]
[Problems to be solved by the invention]
In 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.
[0005]
In this case, since a register is used as a storage element, the number of constituent elements is large and the occupation area is widened. Further, since each PE has a plurality of (for example, two to three) registers, the occupation area is widened as a whole PE. . Therefore, there is a problem that the semiconductor chip is increased in size.
Therefore, an object of the present invention is to provide a motion vector detection device and the like that can prevent an increase in the size of a semiconductor chip.
[0006]
[Means for Solving the Problems]
The motion vector detection device according to the present invention is a motion vector detection device that detects a motion vector from a reference frame and a search frame that move back and forth in time, and commonly inputs pixel data of a reference block extracted from the reference frame. In addition, pixel data of a plurality of candidate blocks existing in the search range for the reference block, which are extracted from the search frame, are respectively input, and an absolute difference value between the pixel data of the reference block and the pixel data of the candidate block is calculated. A plurality of difference absolute value calculators, a semiconductor memory for generating a correlation value table having a plurality of adders and a plurality of storage areas, and a difference absolute value obtained by calculating with the plurality of difference absolute value calculators. Each of the storage data stored in a plurality of storage areas of the semiconductor memory, Adding a plurality of adders and repeatedly storing the addition data obtained by the plurality of adders in a plurality of storage areas of the semiconductor memory a predetermined number of times, A controller for controlling a region to obtain a correlation value corresponding to each of the plurality of candidate blocks, and a correlation value corresponding to each of the plurality of candidate blocks obtained in the plurality of storage regions of the semiconductor memory. And a correlation value table evaluator for detecting a motion vector corresponding to the reference block, and the adder reads a value stored in the storage area and calculates the difference absolute value calculator to the read value. Add the absolute value of the difference obtained byIncludedWrite back the stored data to the above storage areaHowever, when the result of the addition operation overflows, the maximum value is set in the storage area of the semiconductor memory corresponding to the adder.
[0007]
In the present invention, the plurality of difference absolute value calculators calculate the difference absolute values of the pixel data of the plurality of candidate blocks and the pixel data of the reference block. The plurality of adders read stored data stored in the plurality of storage areas of the semiconductor memory for generating the correlation value table. Thereafter, the plurality of adders add each of the difference absolute values obtained by the calculation by the plurality of difference absolute value calculators to the read storage data. Then, each of the addition data obtained by the plurality of adders is stored in a plurality of storage areas of the semiconductor memory.Here, the adder sets a maximum value in the storage area of the semiconductor memory corresponding to the adder when the result of the addition operation overflows. Thereby, it is possible to prevent a motion vector detection error in which an erroneously small value is stored as a correlation value in the storage area of the semiconductor memory.
[0008]
The above-described difference absolute value calculation, addition calculation, and storage operation are repeated a predetermined number of times, for example, in the case of the block matching method, a number of times equal to the number of pixel data constituting the reference block. Correlation values (sum of absolute differences) corresponding to each of a plurality of candidate blocks existing in the search range for the reference block are obtained. Then, the correlation value table evaluator detects a motion vector corresponding to the reference block based on the correlation value corresponding to each of the plurality of candidate blocks obtained in the semiconductor memory in this way.
[0009]
Thus, by using a semiconductor memory that is smaller and denser than the register as the memory element, the occupied area can be reduced, and the increase in size of the semiconductor chip can be prevented.
[0010]
It should be noted that at least a plurality of adders and semiconductor memories are integrated, and a plurality of adders in bit units constituting the adder are provided.,Semiconductor memoryMemory cells arranged in a matrixThus, the addition data is supplied from the adder to the semiconductor memory and the storage data is supplied from the semiconductor memory to the adder efficiently.
[0011]
Further, since the semiconductor memory has a first port for writing and reading and a second port dedicated for reading provided in association with the above-described plurality of addition units, data stored in the semiconductor memory, for example, correlation Reading of values can be performed independently of adding.
[0012]
In addition, by generating data for clearing or presetting the semiconductor memory and clearing or presetting the semiconductor memory with this data, the semiconductor memory can be easily cleared without inputting data for clearing or presetting from the outside. Or, it can be preset, and by devising data for presetting, for example, a specific motion vector such as (0, 0) can be easily detected in a flat picture portion.
[0013]
In addition, when the calculation result by a plurality of adders constituting the adder overflows, the maximum value is set in a predetermined area of the semiconductor memory corresponding to the plurality of adders, thereby erroneously setting the predetermined area of the semiconductor memory. It is possible to prevent a small value from being stored as a correlation value.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows a configuration of a motion compensated prediction encoding
The
[0015]
The
[0016]
Also, the
[0017]
The operation of the motion compensated
Image data Di input to the
[0018]
The difference data obtained by the
[0019]
Also, the encoded data Do obtained by the
[0020]
In the
[0021]
Next, details of the motion
In the motion
[0022]
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. 4B. . In the example of FIG. 3B, P = 5 and Q = 5. c is the central pixel position of the block.
[0023]
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.
[0024]
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.
[0025]
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
[0026]
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.
[0027]
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).
[0028]
FIG. 6 shows the configuration of the motion
The motion
[0029]
In addition, the motion
[0030]
In this case, the
[0031]
The motion
[0032]
Thus, the plurality of
[0033]
For each reference block of the reference frame, the controller 121 calculates a difference absolute value in the plurality of difference absolute value calculators 124-1 to 124-N, and adds a plurality of adders 125.-1~ 125-NOf addition in the plurality of
[0034]
The image data Di input to the
[0035]
Thus, the
[0036]
The motion
[0037]
The operation of the motion
The image data Di input to the
[0038]
Also, pixel data Dc of a plurality of candidate blocks existing in the search range for the reference block from the frame memory 123.-1~ Dc-NIs a plurality of
[0039]
Also, a plurality of computing
[0040]
[0041]
The plurality of difference
[0042]
In this embodiment, a plurality of
[0043]
FIG. 8 shows the
[0044]
In FIG. 8, the
[0045]
FIG. 9 shows a configuration example of the
[0046]
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
[0047]
The storage node N1 of the
[0048]
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
[0049]
In such a
[0050]
The configuration example of the
[0051]
Returning to FIG. 8, along the
[0052]
In addition, the bit lines BL are arranged along the
[0053]
This read-only bit line BRL0~ BRLn-1Before entering the read mode by the bit line BRL0~ BRLn-1Must be precharged. Therefore, the bit line BRL0Are connected to a power source via a P-type MOS transistor Q41. The gate of the transistor Q41 has a precharge control signal / φRPC(/ ΦRPCIs φRPCRepresents the precharge control signal φRPCIs inverted). Bit line BRL1~ BRLn-1It is configured in the same way.
[0054]
In addition, the
[0055]
Here, the sense amplifier SA0Details of the configuration of this part will be described.
Bit line BL0Is connected to the gate of the N-type MOS transistor Q22 via the P-type MOS transistor Q21. Also, bit line / BL0Is connected to the gate of the N-type MOS transistor Q24 via the 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 connected to the read control signal / φ.R(/ ΦRIs φRRepresents the bar, and the read control signal φRAnd the equalization control signal / φ is applied to the gate of the transistor Q25.EQ(/ ΦEQIs φEQRepresents the equalization control signal φEQIs inverted).
[0056]
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. The equalization control signal / φ is applied to the gates of the transistors Q26 and Q28.EQIs entered.
[0057]
Before entering the read mode, the bit line pair BL0, / BL0Must be equalized (precharged). Therefore, the bit line BL0Is connected to the power supply via a P-type MOS transistor Q31, and the bit line / BL0Is connected to the power supply via a P-type MOS transistor Q32 and the bit line BL0, / BL0Are connected via a P-type MOS transistor Q33. The equalization control signal / φ is applied to the gates of the transistors Q31 to Q33.EQIs entered.
Sense amplifier SA2~ SAn-1The configuration of this part is also the above-described sense amplifier SA.0This is the same as the configuration of the part.
[0058]
Further, as described above, each of the
[0059]
That is, the bit line BL0Are grounded via an N-type MOS transistor Q51. The clear control signal φ is supplied to the gate of the transistor Q51.CLRIs entered. Bit line pair BL1, / BL1~ BLn-1, / BLn-1This part is also configured in the same manner.
[0060]
Also,
[0061]
Adder 1400~ 1407The difference
[0062]
Adder 1400The non-inverting output terminal S is connected to the gate of the N-type MOS transistor Q11. The drain of the transistor Q11 is connected to the adding unit 140.0Corresponding to the bit lines / BL connected to the
[0063]
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. A write control signal φ is applied to the gate of the transistor Q14.WIs added to the gate of the transistor Q13.n-1Carry output terminal COUTMSB (Most Significant Bit) carry output CMSBIs input via the inverter 141.
Adder 1401~ 140n-1The configuration of the output terminals S, / S side of the adder 140 is also described above.0This is the same as the configuration on the output terminals S, / S side.
[0064]
Also, the adding unit 1400Carry input terminal CINIs grounded and "0" is input. Also, the adding unit 1400~ 140n-2Carry output terminal COUTRespectively, adder 1401~ 140n-1It is connected to the. Thus, the adding unit 1400~ 140n-1Constitutes an n-bit adder.
[0065]
Also, bit line / BL0Are grounded via N-type MOS transistors Q61 and Q62. The clear control signal / φ is applied to the gate of the transistor Q61.CLR(/ ΦC LRIs φCLRRepresents the bar and the clear control signal φCLRIs added to the gate of the transistor 62.n-1Carry output terminal COUTMSB carry output C obtainedMSBIs entered.
[0066]
First, the memory portion of one reference block is constituted by
[0067]
When clearing the storage data of the
[0068]
In this case, the clear control signal φCLRIs activated and the transistor Q51 is turned on. Therefore, data “0” is generated, and this data is stored in the bit line BL.0~ BLn-1Is output. Therefore, by activating a word line corresponding to a predetermined storage unit, data “0” is written in
[0069]
Next, storage data MD stored in a predetermined storage unit0~
[0070]
Storage data MD stored in a predetermined storage unit0~
[0071]
In this case, the bit line pair BL0, / BL0Is equalized control signal φEQIs activated, all of the transistors Q31 to Q33 are turned on, and the bit line BL0And bit line / BL0The power supply potential is applied to the bit lines BL.0And bit line / BL0Are at the same potential. Other bit line pairs BL1, / BL1~ BLn-1, / BLn-1The same applies to.
[0072]
In this way, the bit line pair BL0, / BL0~ BLn-1, / BLn-1In the state where equalization is performed, the read control signal φRIs active, that is, “1”, and the write control signal φW, Equalize control signal φEQAnd clear control signal φCLRIs inactive, ie, “0”, and the word line WL0~ WLXAmong these, a word line corresponding to a predetermined storage unit is activated.
[0073]
Thereby, the storage data MD of the
[0074]
Then, the adding unit 1400~ 140n-1Addition output at, that is, addition data AD0~ ADn-1When becomes effective, write control signal φWIs active, that is, “1”, and the read control signal φR, Equalize control signal φEQAnd clear control signal φCLRIs inactive, ie, “0”, and the word line WL0~ WLXAmong these, a word line corresponding to a predetermined storage unit is activated.
[0075]
In this case, the adding unit 1400The additional data S for the part0Is "1", the transistor Q11 is on, the transistor Q12 is off, and the bit line / BL0Since “0” is output to the
[0076]
Other adder 1401~ 140n-1The same applies to the portion of. Thus, the
[0077]
In addition, in the case of overflow in the adding operation, the adding unit 140n-1Carry output terminal COUTMSB carry output C obtainedMSBBecomes “1”, the transistor Q13 is turned off, and the additional data AD0~ ADn-1However, the data is not written into the
[0078]
Instead, in this case, in addition to the transistor Q61 being turned on, the transistor Q62 is also turned on, so that the bit line / BL0~ / BLn-1In this case, a signal of “0” is output. Therefore, data “1” is written in each of the
[0079]
Next, an operation when reading final addition data corresponding to a certain reference block, that is, a correlation value (difference absolute value sum) stored in a predetermined storage unit will be described.
First, precharge control signal / φRPCIs active, ie, “1”, and the read-only bit line BRL0~ BRLn-1Is precharged. In this case, the transistor Q41 is turned on, and the read-only bit line BRL0~ BRLn-1The potential of the power supply is applied to each of the above.
[0080]
In this way, the read-only bit line BRL0~ BRLn-1Read-only word line WRL in the precharge state0~ WRLXAmong these, the read-only word line corresponding to the predetermined storage unit is activated. As a result, the storage data Σ of the
[0081]
As described above, in the present embodiment, the
[0082]
Also,
[0083]
Further, the
[0084]
Further, when clearing the stored data of the
[0085]
Also,
[0086]
In the above embodiment, the
[0087]
Here, as shown by the broken line in FIG.0~ / BLn-1Is grounded via the transistor Q52, and the clear control signal / φ is applied to the gate of the transistor Q52.CLRClear signal φCLRWhen “1” is activated, data “1” is generated by the transistor Q52, and data “1” is written in
[0088]
Therefore, the bit line pair BL0, / BL0~ BLn-1, / BLn-1Transistors Q51 and Q52 are provided corresponding to each of these, and one of them is selectively connected to the bit line, and the clear signal φCLRWhen data is activated, predetermined data may be preset in
[0089]
In the above-described embodiment, the
[0090]
In the above embodiment, the
[0091]
In the above-described embodiment, the
[0092]
In the above-described embodiment, the
[0093]
In the above-described embodiment, the motion
[0094]
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.
[0095]
【The invention's effect】
According to this invention,pluralWith adderAnd having a plurality of storage areasSemiconductor memo for correlation value table generationLiUse this semiconductor memory to accumulate absolute differences usingStorage areaIn addition, a correlation value (sum of absolute differences) for each of a plurality of candidate blocks in the search range corresponding to the reference block is obtained, and the occupied area is reduced compared to the conventional case using a register as a storage element. And an increase in size of the semiconductor chip can be prevented.
[0096]
According to the present invention, at least a plurality of adders and a semiconductor memory are integrated, and a plurality of adders in bit units constituting the adder are provided.,Semiconductor memoryMemory cells arranged in a matrixThus, the addition data from the adder to the semiconductor memory and the storage data from the semiconductor memory to the adder can be efficiently supplied.
[0097]
According to the invention, the semiconductor memory has the first port for writing and reading and the second port dedicated for reading provided in association with the plurality of addition units described above, and the semiconductor Data stored in the memory, for example, correlation values can be read out independently of addition.
[0098]
Further, according to the present invention, data for clearing or presetting the semiconductor memory is generated, and by clearing or presetting the semiconductor memory with this data, without inputting data for clearing or presetting from the outside, The semiconductor memory can be easily cleared or preset, and by devising data for presetting, for example, a specific motion vector such as (0, 0) can be easily detected in a flat picture portion.
[0099]
Further, according to the present invention, when the calculation result by the plurality of adders constituting the adder overflows, a maximum value is set in a predetermined area of the semiconductor memory corresponding to the plurality of adders. 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 of the memory.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a motion compensated prediction encoding apparatus as an embodiment.
FIG. 2 is a diagram for explaining a block matching method for motion detection.
FIG. 3 is a diagram for explaining a block matching method for motion detection.
FIG. 4 is a diagram for explaining a block matching method for motion detection.
FIG. 5 is a diagram for explaining a block matching method for motion detection.
FIG. 6 is a block diagram showing a configuration of a motion vector detection circuit.
FIG. 7 is a diagram for explaining a 1: N matching operation between one reference pixel and N search range pixels;
FIG. 8 is a diagram showing a configuration in which a semiconductor memory and an adder are integrated.
FIG. 9 is a diagram showing a configuration of a memory cell.
[Explanation of symbols]
DESCRIPTION OF
Claims (4)
参照フレームより取り出される参照ブロックの画素データを共通に入力すると共に、上記探索フレームより取り出される、上記参照ブロックに対する探索範囲に存在する複数の候補ブロックの画素データをそれぞれ入力し、上記参照ブロックの画素データと上記候補ブロックの画素データとの差分絶対値を演算する複数の差分絶対値演算器と、
複数の加算器と複数の記憶領域を有する相関値テーブル生成用の半導体メモリと、
上記複数の差分絶対値演算器で演算されて得られた差分絶対値のそれぞれを、上記半導体メモリの複数の記憶領域に記憶されていた記憶データのそれぞれに、上記複数の加算器を用いて足し込み、該複数の加算器で得られた足し込みデータのそれぞれを上記半導体メモリの複数の記憶領域に記憶することを所定回数だけ繰り返し、上記半導体メモリの複数の記憶領域に、上記複数の候補ブロックのそれぞれに対応した相関値が得られるように制御するコントローラと、
上記半導体メモリの複数の記憶領域に得られた上記複数の候補ブロックのそれぞれに対応した相関値に基づいて、上記参照ブロックに対応した動きベクトルを検出する相関値テーブル評価器とを備え、
上記加算器は、
上記記憶領域に記憶されている値を読み出し、読み出した値に上記差分絶対値演算器で演算されて得られた差分絶対値を足し込んだデータを上記記憶領域に書き戻し、
足し込みの演算結果がオーバフローとなる場合、当該加算器に対応した上記半導体メモリの記憶領域に最大値をセットすることを特徴とする動きベクトル検出装置。A motion vector detection device that detects a motion vector from a reference frame and a search frame that are temporally forward and backward,
The pixel data of the reference block extracted from the reference frame is input in common, and the pixel data of a plurality of candidate blocks existing in the search range for the reference block, which are extracted from the search frame, are input, respectively. A plurality of difference absolute value calculators for calculating a difference absolute value between the data and the pixel data of the candidate block;
A semiconductor memory for generating a correlation value table having a plurality of adders and a plurality of storage areas;
The difference absolute values calculated by the plurality of difference absolute value calculators are added to the storage data stored in the plurality of storage areas of the semiconductor memory using the plurality of adders. And storing each of the addition data obtained by the plurality of adders in the plurality of storage areas of the semiconductor memory a predetermined number of times, and the plurality of candidate blocks in the plurality of storage areas of the semiconductor memory. A controller that controls to obtain a correlation value corresponding to each of the
A correlation value table evaluator that detects a motion vector corresponding to the reference block based on correlation values corresponding to each of the plurality of candidate blocks obtained in the plurality of storage areas of the semiconductor memory;
The above adder
Reading the value stored in the storage area, the read write sum absolute difference value obtained by being calculated by the difference absolute value calculator to the value data to written back into the storage area,
A motion vector detection device , wherein, when an addition operation result overflows, a maximum value is set in a storage area of the semiconductor memory corresponding to the adder .
上記動きベクトル検出回路は、
参照フレームより取り出される参照ブロックの画素データを共通に入力すると共に、上記探索フレームより取り出される、上記参照ブロックに対する探索範囲に存在する複数の候補ブロックの画素データをそれぞれ入力し、上記参照ブロックの画素データと上記候補ブロックの画素データとの差分絶対値を演算する複数の差分絶対値演算器と、
複数の加算器と複数の記憶領域を有する相関値テーブル生成用の半導体メモリと、
上記複数の差分絶対値演算器で演算されて得られた差分絶対値のそれぞれを、上記半導体メモリの複数の記憶領域に記憶されていた記憶データのそれぞれに、上記複数の加算器を用いて足し込み、該複数の加算器で得られた足し込みデータのそれぞれを上記半導体メモリの複数の記憶領域に記憶することを所定回数だけ繰り返し、上記半導体メモリの複数の記憶領域に、上記複数の候補ブロックのそれぞれに対応した相関値が得られるように制御するコントローラと、
上記半導体メモリの複数の記憶領域に得られた上記複数の候補ブロックのそれぞれに対応した相関値に基づいて、上記参照ブロックに対応した動きベクトルを検出する相関値テーブル評価器とを備え、
上記加算器は、
上記記憶領域に記憶されている値を読み出し、読み出した値に上記差分絶対値演算器で演算されて得られた差分絶対値を足し込んだデータを上記記憶領域に書き戻し、
足し込みの演算結果がオーバフローとなる場合、当該加算器に対応した上記半導体メモリの記憶領域に最大値をセットすることを特徴とする動き補償予測符号化装置。A motion-compensated predictive coding apparatus that detects a motion vector from a reference frame and a search frame that are temporally moved by a motion vector detection circuit and performs motion compensation using the motion vector,
The motion vector detection circuit is
The pixel data of the reference block extracted from the reference frame is input in common, and the pixel data of a plurality of candidate blocks existing in the search range for the reference block, which are extracted from the search frame, are input, respectively. A plurality of difference absolute value calculators for calculating a difference absolute value between the data and the pixel data of the candidate block;
A semiconductor memory for generating a correlation value table having a plurality of adders and a plurality of storage areas;
The difference absolute values calculated by the plurality of difference absolute value calculators are added to the storage data stored in the plurality of storage areas of the semiconductor memory using the plurality of adders. And storing each of the addition data obtained by the plurality of adders in the plurality of storage areas of the semiconductor memory a predetermined number of times, and the plurality of candidate blocks in the plurality of storage areas of the semiconductor memory. A controller that controls to obtain a correlation value corresponding to each of the
A correlation value table evaluator that detects a motion vector corresponding to the reference block based on correlation values corresponding to each of the plurality of candidate blocks obtained in the plurality of storage areas of the semiconductor memory;
The above adder
Reading the value stored in the storage area, the read write sum absolute difference value obtained by being calculated by the difference absolute value calculator to the value data to written back into the storage area,
A motion-compensated predictive coding apparatus , wherein, when an addition operation result overflows, a maximum value is set in a storage area of the semiconductor memory corresponding to the adder .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002004957A JP4536310B2 (en) | 2002-01-11 | 2002-01-11 | Motion vector detection device and motion compensated prediction encoding device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002004957A JP4536310B2 (en) | 2002-01-11 | 2002-01-11 | Motion vector detection device and motion compensated prediction encoding device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007304546A Division JP4689659B2 (en) | 2007-11-26 | 2007-11-26 | Semiconductor memory and signal processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003209846A JP2003209846A (en) | 2003-07-25 |
JP4536310B2 true JP4536310B2 (en) | 2010-09-01 |
Family
ID=27644138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002004957A Expired - Fee Related JP4536310B2 (en) | 2002-01-11 | 2002-01-11 | Motion vector detection device and motion compensated prediction encoding device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4536310B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1706001B (en) | 2002-10-15 | 2012-03-21 | 索尼株式会社 | Memory device, motion vector detection device, and detection method |
WO2020133518A1 (en) * | 2018-12-29 | 2020-07-02 | 深圳市大疆创新科技有限公司 | Video processing method and device |
-
2002
- 2002-01-11 JP JP2002004957A patent/JP4536310B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003209846A (en) | 2003-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8073058B2 (en) | Memory device and device and method for detecting motion vector | |
KR100927760B1 (en) | Memory cell circuit, memory device, motion vector detection device, and motion compensation predictive encoding device | |
JP3863376B2 (en) | Motion estimator | |
US20050238102A1 (en) | Hierarchical motion estimation apparatus and method | |
KR101578052B1 (en) | Motion estimation device and Moving image encoding device having the same | |
JP4536310B2 (en) | Motion vector detection device and motion compensated prediction encoding device | |
JP4932273B2 (en) | Arithmetic processing circuit using ferroelectric capacitor and arithmetic method | |
JP4689659B2 (en) | Semiconductor memory and signal processing apparatus | |
US7777751B2 (en) | Tiled memory array for full search motion estimation | |
CN110213592B (en) | Circuit applicable to motion estimation in HEVC standard and working method thereof | |
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 | |
JP4238578B2 (en) | Motion vector detection device and detection method | |
US6901027B2 (en) | Apparatus for processing data, memory bank used therefor, semiconductor device, and method for reading out pixel data | |
JPWO2008117440A1 (en) | Decoding method and decoding apparatus | |
JP4003529B2 (en) | Motion vector detection circuit and motion vector detection method | |
Acken et al. | An architectural design for parallel fractal compression | |
JP2003208789A5 (en) | ||
KR20000037705A (en) | Apparatus for estimating motion for low rate video codec | |
JP2004159314A (en) | Memory device, device and method for detecting motion vector | |
Wu et al. | A VLSI design with built-in SRAM arrays for implementing Full Search Block Matching Algorithm | |
Chakrabarti et al. | Parallel Architecture for Successive Elimination Block Matching Algorithm | |
Chen | A fuzzy search block-matching chip for motion estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041228 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070824 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070925 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071126 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071205 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080509 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090918 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091102 |
|
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: 20100616 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |