JP3004697B2 - 動きベクトル検出回路 - Google Patents
動きベクトル検出回路Info
- Publication number
- JP3004697B2 JP3004697B2 JP22477790A JP22477790A JP3004697B2 JP 3004697 B2 JP3004697 B2 JP 3004697B2 JP 22477790 A JP22477790 A JP 22477790A JP 22477790 A JP22477790 A JP 22477790A JP 3004697 B2 JP3004697 B2 JP 3004697B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- pixel data
- input
- circuit
- motion vector
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明は、動画像の動き検出予測信号を用いるテレビ
電話や動画像蓄積装置等において、動画像の符号化(圧
縮)を行う動き補償符号化装置等に設けられ、画素デー
タの動きを検出する動きベクトル検出回路に関するもの
である。
電話や動画像蓄積装置等において、動画像の符号化(圧
縮)を行う動き補償符号化装置等に設けられ、画素デー
タの動きを検出する動きベクトル検出回路に関するもの
である。
(従来の技術) 従来、このような分野の技術としては、安田靖彦監修
「画像伝送における高能率符号化技術」(昭62−3−3
1)(株)トリケプス、P.231−233に記載されるものが
あった。
「画像伝送における高能率符号化技術」(昭62−3−3
1)(株)トリケプス、P.231−233に記載されるものが
あった。
従来、テレビ電話や動画像蓄積装置等において、動画
像は処理の柔軟性に富むディジタル・データとして扱わ
れるが、その動画像データをディジタル・データとして
直接表現すると、膨大なデータ量となる。そこで、通信
の効率化や記録媒体の節約等のために、動画像を符号化
して通信あるいは記録することが行われる。
像は処理の柔軟性に富むディジタル・データとして扱わ
れるが、その動画像データをディジタル・データとして
直接表現すると、膨大なデータ量となる。そこで、通信
の効率化や記録媒体の節約等のために、動画像を符号化
して通信あるいは記録することが行われる。
動画像の符号化では、符号化効率を向上させるのに、
動き補償が有効であり、これに関する技術が前記文献に
記載されている。動き補償とは、符号化対象フレーム
(現フレーム)を小さな矩形ブロックに分割し、各ブロ
ックに対して、前フレームの中から最も近似度が高い部
分を検出(動き検出)し、これを予測信号として用いる
ものである。
動き補償が有効であり、これに関する技術が前記文献に
記載されている。動き補償とは、符号化対象フレーム
(現フレーム)を小さな矩形ブロックに分割し、各ブロ
ックに対して、前フレームの中から最も近似度が高い部
分を検出(動き検出)し、これを予測信号として用いる
ものである。
第2図(a)〜(c)は、この動き検出の説明図であ
る。
る。
第2図(a)は、現フレームと前フレームの対応を示
す図である。
す図である。
Ftは現フレーム、Ft-1は前フレーム、A(n,m)は現
フレームFtの分割された1ブロック、B(n,m)は前フ
レームのA(n,m)に対応する検索対象ブロックであ
る。A(n,m+1)はA(n,m)の隣りブロック、B(n,
m+1)はA(n,m+1)に対応する検索対象ブロックで
ある。Bs(n,m)(0,0),Bs(n,m+1)(0,0)はブロ
ックA(n,m),A(n,m+1)と同じ位置で同じ大きさの
ブロックである。
フレームFtの分割された1ブロック、B(n,m)は前フ
レームのA(n,m)に対応する検索対象ブロックであ
る。A(n,m+1)はA(n,m)の隣りブロック、B(n,
m+1)はA(n,m+1)に対応する検索対象ブロックで
ある。Bs(n,m)(0,0),Bs(n,m+1)(0,0)はブロ
ックA(n,m),A(n,m+1)と同じ位置で同じ大きさの
ブロックである。
第2図(b)は、ブロックA(n,m)に対応する検索
範囲、すなわちB(n,m)の大きさを示す図である。第
2図(c)は検索のためのB(n,m)内のブロックB
s(n,m)(p,q)の移動を示す図である。
範囲、すなわちB(n,m)の大きさを示す図である。第
2図(c)は検索のためのB(n,m)内のブロックB
s(n,m)(p,q)の移動を示す図である。
Bs(n,m)(p,q)は、A(n,m)とB(n,m)内のどの
部分とが比較されるかを示すブロックである。ベクトル
p,qは、Bs(n,m)(0,0)の位置を中心に、そのブロッ
ク位置を垂直方向にp、水平方向にq画素分だけ移動さ
せたことを示すBs(n,m)(p,q)はB(n,m)内である
から、 −r1≦p≦r2,−c1≦q≦c2 となる。ここで、ブロックA(n,m)内の各画素の値をx
t(iM・n+i,jM・m+j)で表わし(ブロックの大き
さをiM×jMとする)、比較されるブロックBs(n,m)
(p,q)内の各画素の値をxt-1(iM・n+i+p,jM・m
+j+q)で表わす。
部分とが比較されるかを示すブロックである。ベクトル
p,qは、Bs(n,m)(0,0)の位置を中心に、そのブロッ
ク位置を垂直方向にp、水平方向にq画素分だけ移動さ
せたことを示すBs(n,m)(p,q)はB(n,m)内である
から、 −r1≦p≦r2,−c1≦q≦c2 となる。ここで、ブロックA(n,m)内の各画素の値をx
t(iM・n+i,jM・m+j)で表わし(ブロックの大き
さをiM×jMとする)、比較されるブロックBs(n,m)
(p,q)内の各画素の値をxt-1(iM・n+i+p,jM・m
+j+q)で表わす。
B(n,m)内で、A(n,m)と最も近似度の高い部分を
検出するのに、p,qを変化させ、A(n,m)とBs(n,m)
(p,q)の差分絶対値を求め、その値が最も小さいもの
を近似度の高いものとする。すなわち、各p,qに対し、 の計算を行い、この結果が最小となるp,qを求める。
検出するのに、p,qを変化させ、A(n,m)とBs(n,m)
(p,q)の差分絶対値を求め、その値が最も小さいもの
を近似度の高いものとする。すなわち、各p,qに対し、 の計算を行い、この結果が最小となるp,qを求める。
このp,qを動きベクトルとし、Bs(n,m)(p,q)を予
測信号として、符号化対象フレームとなる現フレームFt
のブロックA(n,m)を符号化する替わりに、動きベク
トルと、予測信号のBs(n,m)(p,q)と現フレームFtの
ブロックA(n,m)との誤差を符号化した方が、符号化
効率を向上できる。
測信号として、符号化対象フレームとなる現フレームFt
のブロックA(n,m)を符号化する替わりに、動きベク
トルと、予測信号のBs(n,m)(p,q)と現フレームFtの
ブロックA(n,m)との誤差を符号化した方が、符号化
効率を向上できる。
実際には、前フレームFt-1と現フレームFtのデータ
は、それぞれフレームメモリに格納され、その間で、p,
qを少しずつずらしながら、(1)式の計算が行われ
る。
は、それぞれフレームメモリに格納され、その間で、p,
qを少しずつずらしながら、(1)式の計算が行われ
る。
(発明が解決しようとする課題) しかしながら、上記構成の回路では、次のような課題
があった。
があった。
前記(1)式の計算では、ベクトルp,qが近い場合、
第2図(c)に示すように、Bs(n,m)(p,q)のかなり
の部分が共通な画素となるが、画素単位ではそれぞれず
れた画素での計算となる。さらに、第2図(a)に示す
ように、検索対象のブロックB(n,m),B(n,m+1)も
共通画素を含むが、それぞれ別のブロックA(n,m),A
(n,m+1)との計算となるため、画素データの読出し
が複数回になり、その制御が複雑となる。このため、こ
のような動き検出処理機能を有する動き補償符号化装置
等においては、一般にソフトウェアで制御が可能なマイ
クロプロセッサ等のプロセッサを用いて計算を行ってい
る。
第2図(c)に示すように、Bs(n,m)(p,q)のかなり
の部分が共通な画素となるが、画素単位ではそれぞれず
れた画素での計算となる。さらに、第2図(a)に示す
ように、検索対象のブロックB(n,m),B(n,m+1)も
共通画素を含むが、それぞれ別のブロックA(n,m),A
(n,m+1)との計算となるため、画素データの読出し
が複数回になり、その制御が複雑となる。このため、こ
のような動き検出処理機能を有する動き補償符号化装置
等においては、一般にソフトウェアで制御が可能なマイ
クロプロセッサ等のプロセッサを用いて計算を行ってい
る。
しかし、この場合、扱う計算量が非常に多いため、処
理に時間がかかるという問題があった。即ち、現フレー
ムFtのあるブロックA(n,m)と、それと比較される前
フレームFt-1のブロックBs(n,m)(p,q)との計算で
は、それぞれのブロックの大きさがiM×jMであったとす
ると、iM×jM回の差分絶対値の累積加算が行われる。こ
れが、それぞれの動きベクトル、つまりp,qのとり得る
数だけ、(r1+r2+1)×(c1+c2+1)回繰り返され
る。
理に時間がかかるという問題があった。即ち、現フレー
ムFtのあるブロックA(n,m)と、それと比較される前
フレームFt-1のブロックBs(n,m)(p,q)との計算で
は、それぞれのブロックの大きさがiM×jMであったとす
ると、iM×jM回の差分絶対値の累積加算が行われる。こ
れが、それぞれの動きベクトル、つまりp,qのとり得る
数だけ、(r1+r2+1)×(c1+c2+1)回繰り返され
る。
これだけの計算を行って、ブロックA(n,m)に対す
る動きベクトルが求まる。従って、現フレームFtのある
1個のブロックA(n,m)に対して、iM×jM×(r1+r2
+1)×(c1+c2+1)回の差分絶対値の累積加算が行
われる。これが現フレームFtの各ブロックについて行わ
れるため、膨大な計算量となる。
る動きベクトルが求まる。従って、現フレームFtのある
1個のブロックA(n,m)に対して、iM×jM×(r1+r2
+1)×(c1+c2+1)回の差分絶対値の累積加算が行
われる。これが現フレームFtの各ブロックについて行わ
れるため、膨大な計算量となる。
そこで、ベクトル数を制限することが考えられる。つ
まり、使用上問題がない程度に、ベクトルを間引くこと
によって計算量を減らすことが考えられる。しかし、一
般にマイクロプロセッサ等のプロセッサでは、各計算を
シリアルに行っていくため、このような間引きを行って
も、まだ複数回同じ画素データを読込んだり、かなりの
量の計算をしなければならず、処理にかなりの時間がか
かり、あまり実用的ではなかった。
まり、使用上問題がない程度に、ベクトルを間引くこと
によって計算量を減らすことが考えられる。しかし、一
般にマイクロプロセッサ等のプロセッサでは、各計算を
シリアルに行っていくため、このような間引きを行って
も、まだ複数回同じ画素データを読込んだり、かなりの
量の計算をしなければならず、処理にかなりの時間がか
かり、あまり実用的ではなかった。
本発明は前記従来技術が持っていた課題として、制御
の簡単化を図るためにプロセッサを用いた場合、該プロ
セッサは各計算をシリアルに行っていくので、処理にか
なり時間がかかり、そのためリアルタイムで動画像を扱
う場合は高速のプロセッサやメモリが必要となり、回路
構成の複雑化、回路規模の大型化及びコスト高になると
いう点について解決した動きベクトル検出回路を提供す
るものである。
の簡単化を図るためにプロセッサを用いた場合、該プロ
セッサは各計算をシリアルに行っていくので、処理にか
なり時間がかかり、そのためリアルタイムで動画像を扱
う場合は高速のプロセッサやメモリが必要となり、回路
構成の複雑化、回路規模の大型化及びコスト高になると
いう点について解決した動きベクトル検出回路を提供す
るものである。
(課題を解決するための手段) 前記課題を解決するために、本発明のうちの第1の発
明は、1フレーム内を複数個のブロックに分割し、個々
の現ブロックについて他のフレームとの比較によって画
素データの動きを検出する動きベクトル検出回路におい
て、複数個の直列接続された遅延回路、及び複数個の演
算回路を備えている。ここで、複数個の遅延回路は、比
較される前記フレーム内における探索範囲ブロックの画
素データ及び現ブロックの画素データのうち、現ブロッ
クの画素データを遅延させる回路である。複数個の演算
回路は、前記複数個の遅延回路の所定位置より取り出し
た現ブロックの画素データと前記探索範囲ブロックの画
素データとを入力し、探索範囲内に存在するベクトルの
中で、必要とする任意のベクトルに対する評価関数値を
算出する回路である。
明は、1フレーム内を複数個のブロックに分割し、個々
の現ブロックについて他のフレームとの比較によって画
素データの動きを検出する動きベクトル検出回路におい
て、複数個の直列接続された遅延回路、及び複数個の演
算回路を備えている。ここで、複数個の遅延回路は、比
較される前記フレーム内における探索範囲ブロックの画
素データ及び現ブロックの画素データのうち、現ブロッ
クの画素データを遅延させる回路である。複数個の演算
回路は、前記複数個の遅延回路の所定位置より取り出し
た現ブロックの画素データと前記探索範囲ブロックの画
素データとを入力し、探索範囲内に存在するベクトルの
中で、必要とする任意のベクトルに対する評価関数値を
算出する回路である。
第2の発明は、第1の発明において、前記複数値の遅
延回路の複数位置より取り出した複数個の現ブロックの
画素データを選択して前記演算回路へ入力する選択手段
を、設けている。
延回路の複数位置より取り出した複数個の現ブロックの
画素データを選択して前記演算回路へ入力する選択手段
を、設けている。
(作 用) 第1の発明によれば、以上のように動きベクトル検出
回路を構成したので、探索範囲ブロックの画素データ及
び現ブロックの画素データが入力されると、該現ブロッ
クの画素データは、直列遅延回路で適宜遅延されて所定
の演算回路へ入力される。各演算回路では、必要とする
任意のベクトルに対応した評価関数値を求める。これに
より、水平方向あるいは垂直方向に連続するブロックの
計算では、複数回、同じ画素データを読み込むことがな
く、高速なプロセッサやメモリを用いなくとも、高速
に、動きベクトルの検出が行える。
回路を構成したので、探索範囲ブロックの画素データ及
び現ブロックの画素データが入力されると、該現ブロッ
クの画素データは、直列遅延回路で適宜遅延されて所定
の演算回路へ入力される。各演算回路では、必要とする
任意のベクトルに対応した評価関数値を求める。これに
より、水平方向あるいは垂直方向に連続するブロックの
計算では、複数回、同じ画素データを読み込むことがな
く、高速なプロセッサやメモリを用いなくとも、高速
に、動きベクトルの検出が行える。
第2の発明によれば、直列遅延回路の出力が、選択手
段で選択されて複数の演算回路へ入力される。これによ
り、扱う画像の種類(例えば、全体的に動く、あるいは
上下右左、上下、左右に多く動く画像)に対してそれに
合わせたベクトル配置で、的確に動きベクトルの検出が
行える。
段で選択されて複数の演算回路へ入力される。これによ
り、扱う画像の種類(例えば、全体的に動く、あるいは
上下右左、上下、左右に多く動く画像)に対してそれに
合わせたベクトル配置で、的確に動きベクトルの検出が
行える。
従って、前記課題を解決できるのである。
(実施例) 第1図は、本発明の第1の実施例を示す動きベクトル
検出回路の構成ブロック図である。
検出回路の構成ブロック図である。
この動きベクトル検出回路では、例えば現フレームの
現ブロックの大きさが4×4画素で、比較されるフレー
ムとして前フレームの探索範囲ブロックが8×8画素の
大きさとした場合の回路例が示されている。
現ブロックの大きさが4×4画素で、比較されるフレー
ムとして前フレームの探索範囲ブロックが8×8画素の
大きさとした場合の回路例が示されている。
この動きベクトル検出回路は、現ブロックの画素デー
タDaが入力される入力端子1a、探索範囲ブロックの画素
デターDbが入力される入力端子1b、及び出力端子2を有
している。入力端子1aには、複数の遅延回路10−1〜10
−36が直列に接続され、その遅延回路10−1〜10−36の
所定の位置に選択手段20が接続されている。選択手段20
の出力側と入力端子1bとは、複数の演算回路30−1〜30
−13の入力側に接続され、その演算回路30−1〜30−13
の出力側が、比較回路40を介して出力端子2に接続され
ている。
タDaが入力される入力端子1a、探索範囲ブロックの画素
デターDbが入力される入力端子1b、及び出力端子2を有
している。入力端子1aには、複数の遅延回路10−1〜10
−36が直列に接続され、その遅延回路10−1〜10−36の
所定の位置に選択手段20が接続されている。選択手段20
の出力側と入力端子1bとは、複数の演算回路30−1〜30
−13の入力側に接続され、その演算回路30−1〜30−13
の出力側が、比較回路40を介して出力端子2に接続され
ている。
遅延回路10−1〜10−36は、現ブロックの画素データ
Daに遅延を与える機能を有し、例えば、クロック信号に
同期して入力データを一時保持するレジスタで構成され
ている。
Daに遅延を与える機能を有し、例えば、クロック信号に
同期して入力データを一時保持するレジスタで構成され
ている。
選択手段20は、遅延回路10−1〜10−36の出力を選択
して演算回路30−1〜30−13へ与えるもので、複数のセ
レクタ20−1〜20−8で構成されている。セレクタ20−
1は、入力端子1a及び遅延回路10−1,10−16の出力のい
ずれか一つを選択して演算回路30−1へ与え、セレクタ
20−2は、遅延回路10−2,10−10の出力のいずれか一つ
を選択して演算回路30−2へ与え、セレクタ20−3は、
遅延回路10−4,10−2,10−12の出力のいずれか一つを選
択して演算回路30−3へ与える機能を有している。
して演算回路30−1〜30−13へ与えるもので、複数のセ
レクタ20−1〜20−8で構成されている。セレクタ20−
1は、入力端子1a及び遅延回路10−1,10−16の出力のい
ずれか一つを選択して演算回路30−1へ与え、セレクタ
20−2は、遅延回路10−2,10−10の出力のいずれか一つ
を選択して演算回路30−2へ与え、セレクタ20−3は、
遅延回路10−4,10−2,10−12の出力のいずれか一つを選
択して演算回路30−3へ与える機能を有している。
セレクタ20−4は、遅延回路10−16,10−17の出力の
いずれか一つを選択して演算回路30−6へ与え、セレク
タ20−5は、遅延回路10−19,10−20の出力のいずれか
一つを選択して演算回路30−8へ与え、セレクタ20−6
は、遅延回路10−24,10−32,10−34の出力のいずれか一
つを選択して演算回路30−11へ与える機能を有してい
る。さらに、セレクタ20−7は、遅延回路10−26,10−3
4の出力のいずれか一つを選択して演算回路30−12へ与
え、セレクタ20−8は、遅延回路10−2,10−35,10−36
の出力のいずれか一つを選択して演算回路30−13へ与え
る機能を有している。
いずれか一つを選択して演算回路30−6へ与え、セレク
タ20−5は、遅延回路10−19,10−20の出力のいずれか
一つを選択して演算回路30−8へ与え、セレクタ20−6
は、遅延回路10−24,10−32,10−34の出力のいずれか一
つを選択して演算回路30−11へ与える機能を有してい
る。さらに、セレクタ20−7は、遅延回路10−26,10−3
4の出力のいずれか一つを選択して演算回路30−12へ与
え、セレクタ20−8は、遅延回路10−2,10−35,10−36
の出力のいずれか一つを選択して演算回路30−13へ与え
る機能を有している。
但し、遅延回路10−9,10−11,10−25,10−27の出力
は、セレクタを通さずに、直接、演算回路30−4,30−5,
30−9,30−10へそれぞれ入力される構成になっている。
は、セレクタを通さずに、直接、演算回路30−4,30−5,
30−9,30−10へそれぞれ入力される構成になっている。
演算回路30−1〜30−13は、設定された各ベクトルに
対応した評価関数値を計算する回路である。評価関数と
して、現ブロックの画素データDaと探索範囲ブロックの
画素データDbとの差分絶対値の累積値とすると、各演算
回路30−1〜30−13は、入力端子1bから入力される探索
範囲ブロックの画素データDbと、遅延回路10−1〜10−
36の出力のうち、所望の段数分遅延された位置より取り
出された現ブロックの画素データとの、差分絶対値の累
積加算を行う差分絶対値回路及び累積加算回路より構成
される。
対応した評価関数値を計算する回路である。評価関数と
して、現ブロックの画素データDaと探索範囲ブロックの
画素データDbとの差分絶対値の累積値とすると、各演算
回路30−1〜30−13は、入力端子1bから入力される探索
範囲ブロックの画素データDbと、遅延回路10−1〜10−
36の出力のうち、所望の段数分遅延された位置より取り
出された現ブロックの画素データとの、差分絶対値の累
積加算を行う差分絶対値回路及び累積加算回路より構成
される。
比較回路40は、各演算回路30−1〜30−13で計算され
た評価関数値を逐次比較し、現ブロックに対する動きベ
クトルを決定してその決定結果を出力端子2へ出力する
回路である。
た評価関数値を逐次比較し、現ブロックに対する動きベ
クトルを決定してその決定結果を出力端子2へ出力する
回路である。
なお、第1図において、各回路間の接続は信号のビッ
ト数分のバスとなっている。例えば、入力端子1a,1bか
らの入力画素データDa,Dbがそれぞれ8ビットで与えら
れる場合、各遅延回路10−1〜10−36の入出力線、及び
各演算回路30−1〜30−13への入力線は、それぞれ8ビ
ットとなる。また、現ブロックの大きさが4×4の場
合、16回の差分絶対値の累積加算が行われるため、各演
算回路30−1〜30−13からの出力線は12ビットとなる。
ト数分のバスとなっている。例えば、入力端子1a,1bか
らの入力画素データDa,Dbがそれぞれ8ビットで与えら
れる場合、各遅延回路10−1〜10−36の入出力線、及び
各演算回路30−1〜30−13への入力線は、それぞれ8ビ
ットとなる。また、現ブロックの大きさが4×4の場
合、16回の差分絶対値の累積加算が行われるため、各演
算回路30−1〜30−13からの出力線は12ビットとなる。
以上のように構成された動きベクトル検出回路の動作
を、第3図(a),(b)、第4図及び第5図(a)〜
(d)を参照しつつ説明する。
を、第3図(a),(b)、第4図及び第5図(a)〜
(d)を参照しつつ説明する。
第3図(a),(b)は現ブロック及び探索範囲ブロ
ックを示す図であり、同図(a)は現ブロックを示す。
A(n,m),A(n,m+1),…は4×4画素のブロックで
ある。ブロックA(n,m)の左上の画素をxt(4n,4m)と
し、そのブロック内の画素をxt(4n+1,4m+j)とす
る。また、ブロックA(n,m+1)の左上の画素をxt(4
n,4m+1)とし、そのブロック内の画素をxt(4n+i,4m
+j)とする。
ックを示す図であり、同図(a)は現ブロックを示す。
A(n,m),A(n,m+1),…は4×4画素のブロックで
ある。ブロックA(n,m)の左上の画素をxt(4n,4m)と
し、そのブロック内の画素をxt(4n+1,4m+j)とす
る。また、ブロックA(n,m+1)の左上の画素をxt(4
n,4m+1)とし、そのブロック内の画素をxt(4n+i,4m
+j)とする。
第3図(b)は探索範囲ブロックを示す図である。現
ブロックA(n,m)に対し、上下左右にそれぞれ±2の
範囲で動きベクトルを検出する場合、B(n,m),B(n,m
+1),…の探索範囲ブロックの大きさは8×8画素と
なる。現ブロックA(n,m)のxt(4n,4m)と位置的に対
応するB(n,m)の画素をxt-1(4n,4m)とし、そのブロ
ック内の画素をxt-1(4n+i+p,4m+j+q)とする。
ここで、探索範囲ブロックどうしはそれぞれ重り合う部
分があり、例えばB(n,m)のxt-1(4n−2,4m+2)と
B(n,m+1)のxt-1(4n−2,4(m+1)−2)とは、
同じ画素を示すことになる。
ブロックA(n,m)に対し、上下左右にそれぞれ±2の
範囲で動きベクトルを検出する場合、B(n,m),B(n,m
+1),…の探索範囲ブロックの大きさは8×8画素と
なる。現ブロックA(n,m)のxt(4n,4m)と位置的に対
応するB(n,m)の画素をxt-1(4n,4m)とし、そのブロ
ック内の画素をxt-1(4n+i+p,4m+j+q)とする。
ここで、探索範囲ブロックどうしはそれぞれ重り合う部
分があり、例えばB(n,m)のxt-1(4n−2,4m+2)と
B(n,m+1)のxt-1(4n−2,4(m+1)−2)とは、
同じ画素を示すことになる。
第4図はデータ入力タイミングを示す図で、Daは入力
端子1aから入力される現ブロック内の画素データ、Dbは
入力端子1bから入力される探索範囲ブロック内の画素デ
ータである。そして、セレクタ20−1が入力端子1aから
の入力を選択していた場合、第4図に示す画素データD
a,Dbが演算回路30−1の入力となる。S1は、現ブロック
の画素データが演算回路に入力されるタイミングによ
り、そのデータに対し演算を行うか、停止するかを示す
タイミング信号である。Da2は、遅延回路10−2の出力
であり、セレクタ20−2が、この出力を選択している場
合、これが演算回路30−2に入力される。S2は、これに
合わせて、その時の入力画素データについて演算を行う
か、停止するかを示すタイミング信号である。
端子1aから入力される現ブロック内の画素データ、Dbは
入力端子1bから入力される探索範囲ブロック内の画素デ
ータである。そして、セレクタ20−1が入力端子1aから
の入力を選択していた場合、第4図に示す画素データD
a,Dbが演算回路30−1の入力となる。S1は、現ブロック
の画素データが演算回路に入力されるタイミングによ
り、そのデータに対し演算を行うか、停止するかを示す
タイミング信号である。Da2は、遅延回路10−2の出力
であり、セレクタ20−2が、この出力を選択している場
合、これが演算回路30−2に入力される。S2は、これに
合わせて、その時の入力画素データについて演算を行う
か、停止するかを示すタイミング信号である。
入力端子1bから入力される探索範囲ブロックの画素デ
ータDbは、第3図(b)のブロックの左上から縦方向
(主走査方向)に逐次入力する。ブロックの左下、すな
わちxt-1(4n+2,4m−2)の画素データDbが入力された
後は、次の列のxt-1(4n−2,4m−2)から連続して入力
される。つまり、第4図に示すような画素データDbの入
力となり、このデータが同時に演算回路30−1〜30−13
に与えられる。
ータDbは、第3図(b)のブロックの左上から縦方向
(主走査方向)に逐次入力する。ブロックの左下、すな
わちxt-1(4n+2,4m−2)の画素データDbが入力された
後は、次の列のxt-1(4n−2,4m−2)から連続して入力
される。つまり、第4図に示すような画素データDbの入
力となり、このデータが同時に演算回路30−1〜30−13
に与えられる。
入力端子1aから入力される現ブロックの画素データDa
は、第3図(a)のブロックの左上から縦方向に逐次入
力する。ブロックの左下、すなわちxt(4n+3,4m)の画
素デターDaが入力された後は、一時入力を停止し、探索
範囲ブロックの走査が次の列に移ったと同時に、現ブロ
ックの次の列の画素データDaの入力を開始する。そし
て、入力端子1a,1bへの入力は、ブロックA(n,m)の列
の先頭及びブロックB(n,m)の列の先頭画素がそれぞ
れ同期して入力される。
は、第3図(a)のブロックの左上から縦方向に逐次入
力する。ブロックの左下、すなわちxt(4n+3,4m)の画
素デターDaが入力された後は、一時入力を停止し、探索
範囲ブロックの走査が次の列に移ったと同時に、現ブロ
ックの次の列の画素データDaの入力を開始する。そし
て、入力端子1a,1bへの入力は、ブロックA(n,m)の列
の先頭及びブロックB(n,m)の列の先頭画素がそれぞ
れ同期して入力される。
このように入力された画素データDa,Dbに対し、セレ
クタ20−1が入力端子1aからの入力を選択していた場
合、演算回路30−1へは、xt(4n,4m),xt(4n+1,4
m)、…とxt-1(4n−2,4m−2),xt-1(4n−1,4m−
2),…とが同期して入力される。そして該演算回路30
−1により、逐次演算が行われ、現ブロックのxt(4n+
3,4m+3)の画素データが入力され、その演算が終わっ
た時点で、(1)式に基づき、ベクトルp=−2,q=−
2、つまり の計算が行われたことになる。この計算結果であるベク
トルp=−2,q=−2に対する差分絶対値の累積値が、
比較回路40へ転送される。
クタ20−1が入力端子1aからの入力を選択していた場
合、演算回路30−1へは、xt(4n,4m),xt(4n+1,4
m)、…とxt-1(4n−2,4m−2),xt-1(4n−1,4m−
2),…とが同期して入力される。そして該演算回路30
−1により、逐次演算が行われ、現ブロックのxt(4n+
3,4m+3)の画素データが入力され、その演算が終わっ
た時点で、(1)式に基づき、ベクトルp=−2,q=−
2、つまり の計算が行われたことになる。この計算結果であるベク
トルp=−2,q=−2に対する差分絶対値の累積値が、
比較回路40へ転送される。
演算回路30−2では、セレクタ20−2が遅延回路10−
2の出力を選択していた場合、xt(4n,4m),xt(4n+1,
4m),…xt-1(4n,4m−2),xt-1(4n+1,4m−2),…
が同期して入力される。そして該演算回路30−2によ
り、逐次演算が行われ、現ブロックのxt(4n+3,4m+
3)の画素データが入力され、その演算が終わった時点
で、(1)式に基づき、ベクトルp=0,q=−2、つま
り の計算が行われたことになる。この計算値が、時間的に
現ブロックの画素データが遅延されている分だけ遅れた
タイミングで、出力される。
2の出力を選択していた場合、xt(4n,4m),xt(4n+1,
4m),…xt-1(4n,4m−2),xt-1(4n+1,4m−2),…
が同期して入力される。そして該演算回路30−2によ
り、逐次演算が行われ、現ブロックのxt(4n+3,4m+
3)の画素データが入力され、その演算が終わった時点
で、(1)式に基づき、ベクトルp=0,q=−2、つま
り の計算が行われたことになる。この計算値が、時間的に
現ブロックの画素データが遅延されている分だけ遅れた
タイミングで、出力される。
このようにして、遅延回路10−1〜10−36から取り出
す位置により、各ベクトルp=−2,q=−2、p=0,q=
−2、…に対する演算を行うことができる。
す位置により、各ベクトルp=−2,q=−2、p=0,q=
−2、…に対する演算を行うことができる。
第5図(a)〜(d)は、ベクトル位置を示す図であ
る。
る。
例えば、セレクタ20−1が入力端子1aからの入力を選
択し、さらにセレクタ20−2,20−3,20−4,20−5,20−6,
20−7,20−8が遅延回路10−2,10−4,10−16,10−20,10
−32,10−34,10−36の各出力を選択している場合、前述
したように、各演算回路30−1〜30−13が、それぞれベ
クトル位置p=−2,q=−2、p=0,q=−2、p=+2,
q=−2、p=−1,q=−1、…の演算を行う。この演算
対象となるベクトル位置が第5図(a)に示されてい
る。図中の○印は、演算が行われるベクトル位置を示し
ている。前記のような接続では、第5図(a)に示すよ
うに、千鳥状に演算するベクトル位置が配置されてい
る。なお、第5図(a)〜(d)のV1〜V13は、それぞ
れの演算回路30−1〜30−13に対応している。
択し、さらにセレクタ20−2,20−3,20−4,20−5,20−6,
20−7,20−8が遅延回路10−2,10−4,10−16,10−20,10
−32,10−34,10−36の各出力を選択している場合、前述
したように、各演算回路30−1〜30−13が、それぞれベ
クトル位置p=−2,q=−2、p=0,q=−2、p=+2,
q=−2、p=−1,q=−1、…の演算を行う。この演算
対象となるベクトル位置が第5図(a)に示されてい
る。図中の○印は、演算が行われるベクトル位置を示し
ている。前記のような接続では、第5図(a)に示すよ
うに、千鳥状に演算するベクトル位置が配置されてい
る。なお、第5図(a)〜(d)のV1〜V13は、それぞ
れの演算回路30−1〜30−13に対応している。
以下同様に、セレクタ20−1〜20−8が、遅延回路10
−16,10−10,10−2,10−17,10−19,10−34,10−26,10−
20の各出力を選択している場合、第5図(b)に示すベ
クトル位置の演算が行われる。
−16,10−10,10−2,10−17,10−19,10−34,10−26,10−
20の各出力を選択している場合、第5図(b)に示すベ
クトル位置の演算が行われる。
セレクタ20−1〜20−8が、遅延回路10−1,10−10,1
0−2,10−17,10−19,10−34,10−26,10−35の各出力を
選択している場合、第5図(c)に示すベクトル位置の
演算が行われる。
0−2,10−17,10−19,10−34,10−26,10−35の各出力を
選択している場合、第5図(c)に示すベクトル位置の
演算が行われる。
セレクタ20−1〜20−8が、遅延回路10−16,10−10,
10−12,10−17,10−24,10−26,10−20の各出力を選択し
ている場合、第5図(d)のベクトル位置の演算が行わ
れている。
10−12,10−17,10−24,10−26,10−20の各出力を選択し
ている場合、第5図(d)のベクトル位置の演算が行わ
れている。
各演算回路30−1〜30−13の出力は、そのベクトルに
対する演算が終わりしだい、比較回路40へ転送される。
比較回路40では、逐次転送されてくる評価値の大小を比
較し、そのブロックに対する演算を行ったベクトル数、
例えば13個転送された後、最後に残った値が何番目に送
られてきたものかによって、そのブロックに対する動き
ベクトル値に対応した値を出力端子2から出力する。
対する演算が終わりしだい、比較回路40へ転送される。
比較回路40では、逐次転送されてくる評価値の大小を比
較し、そのブロックに対する演算を行ったベクトル数、
例えば13個転送された後、最後に残った値が何番目に送
られてきたものかによって、そのブロックに対する動き
ベクトル値に対応した値を出力端子2から出力する。
各演算回路30−1〜30−13は、現ブロックA(n,m)
の画素データDaの入力、演算が終わると、次のブロック
A(n,m+1)の画素データDaを入力でき、そのブロッ
クに対する演算を始める。探索範囲ブロックB(n,m)
とB(n,m+1)の重り合う部分が入力されている間
は、ブロックA(n,m)に対するものとA(n,m+1)に
対するベクトルの演算を行っている演算回路とが存在す
る。しかし、探索範囲のブロックの入力画素データDb
は、ブロックB(n,m)の右下の画素の次にブロックB
(n,m+1)の左上が入力されるわけではなく、連続的
に次の列が入力される。
の画素データDaの入力、演算が終わると、次のブロック
A(n,m+1)の画素データDaを入力でき、そのブロッ
クに対する演算を始める。探索範囲ブロックB(n,m)
とB(n,m+1)の重り合う部分が入力されている間
は、ブロックA(n,m)に対するものとA(n,m+1)に
対するベクトルの演算を行っている演算回路とが存在す
る。しかし、探索範囲のブロックの入力画素データDb
は、ブロックB(n,m)の右下の画素の次にブロックB
(n,m+1)の左上が入力されるわけではなく、連続的
に次の列が入力される。
このように、現ブロック及び探索範囲ブロックとも、
ブロックのスキャン方向(副走査方向)に、それぞれの
列を逆もどりすることなく、連続して入力することによ
り、現ブロックA(n,m),A(n,m+1),…に対する動
きベクトルが次々に出力される。ここで、第5図(a)
〜(d)に示すベクトルの配置は、同図(a)について
はおおよその動きベクトルを求めるのに適している。さ
らに、同図(b)は上下左右、同図(c)は左右、同図
(d)は上下をそれぞれ重点的に調べ、動きベクトルを
求めるのに適している。第1図に示す構成では、各セレ
クタ20−1〜20−8を切換えることにより、それぞれの
ベクトル配置に設定できるようになっている。従って、
この第1の実施例では、次のような利点を有している。
ブロックのスキャン方向(副走査方向)に、それぞれの
列を逆もどりすることなく、連続して入力することによ
り、現ブロックA(n,m),A(n,m+1),…に対する動
きベクトルが次々に出力される。ここで、第5図(a)
〜(d)に示すベクトルの配置は、同図(a)について
はおおよその動きベクトルを求めるのに適している。さ
らに、同図(b)は上下左右、同図(c)は左右、同図
(d)は上下をそれぞれ重点的に調べ、動きベクトルを
求めるのに適している。第1図に示す構成では、各セレ
クタ20−1〜20−8を切換えることにより、それぞれの
ベクトル配置に設定できるようになっている。従って、
この第1の実施例では、次のような利点を有している。
扱う画像の種類、つまり全体的に動く、あるいは上下
左右、上下、左右に多く動くものに対してそれに合わせ
たベクトル配置で、動きベクトルの検出を行うことがで
きる。そのため、少ない演算回路30−1〜30−13で、検
出精度をさほど低下させずに、効率よく、しかも高速
に、動きベクトルを検出できる。
左右、上下、左右に多く動くものに対してそれに合わせ
たベクトル配置で、動きベクトルの検出を行うことがで
きる。そのため、少ない演算回路30−1〜30−13で、検
出精度をさほど低下させずに、効率よく、しかも高速
に、動きベクトルを検出できる。
第6図は、本発明の第2の実施例を示す動きベクトル
検出回路の構成ブロック図であり、第1図中の要素と共
通の要素には共通の符号が付されている。
検出回路の構成ブロック図であり、第1図中の要素と共
通の要素には共通の符号が付されている。
前記第1の実施例では、現ブロックの画素データとし
て、直列遅延回路10−1〜10−36の複数位置の出力を選
択手段20で選択して演算回路20−1〜30−13に入力する
構成になっている。ところが、扱う画像の種類が限られ
ている場合、第6図に示すように、選択手段20を省略
し、遅延回路10−1〜10−36の所望の位置、例えば第5
図(a)に示すベクトル配置で、演算回路30−1〜30−
13に固定的に接続した構成にしても良い。このように構
成しても、扱う画像の種類を限定すれば、前記第1の実
施例とほぼ同様の効果が得られるばかりか、回路構成を
より簡単化できる。
て、直列遅延回路10−1〜10−36の複数位置の出力を選
択手段20で選択して演算回路20−1〜30−13に入力する
構成になっている。ところが、扱う画像の種類が限られ
ている場合、第6図に示すように、選択手段20を省略
し、遅延回路10−1〜10−36の所望の位置、例えば第5
図(a)に示すベクトル配置で、演算回路30−1〜30−
13に固定的に接続した構成にしても良い。このように構
成しても、扱う画像の種類を限定すれば、前記第1の実
施例とほぼ同様の効果が得られるばかりか、回路構成を
より簡単化できる。
なお、本発明は上記実施例に限定されない。例えば、
上記実施例では、現ブロック4×4、探索範囲ブロック
を8×8、演算を行うベクトル数を13個としたが、これ
ら以外の数に変更してもよい。さらに、第1図及び第6
図中の各ブロックは、個別回路で構成する以外に、プロ
セッサによるプログラム制御等で実行する構成にしても
よい。
上記実施例では、現ブロック4×4、探索範囲ブロック
を8×8、演算を行うベクトル数を13個としたが、これ
ら以外の数に変更してもよい。さらに、第1図及び第6
図中の各ブロックは、個別回路で構成する以外に、プロ
セッサによるプログラム制御等で実行する構成にしても
よい。
(発明の効果) 以上詳細に説明したように、第1の発明によれば、直
列遅延回路の任意の位置より取り出された現ブロックの
画素データを、複数個の演算回路へ入力する構成にした
ので、少ない演算回路数で、検出精度をさほど低下させ
ずに、効率良く、しかも高速に動ベクトルを検出でき
る。このように、回路構成の簡単化、及び回路規模の小
型化が図れるため、低コスト化が可能となり、従ってテ
レビ電話装置等の種々の装置に適用できる。
列遅延回路の任意の位置より取り出された現ブロックの
画素データを、複数個の演算回路へ入力する構成にした
ので、少ない演算回路数で、検出精度をさほど低下させ
ずに、効率良く、しかも高速に動ベクトルを検出でき
る。このように、回路構成の簡単化、及び回路規模の小
型化が図れるため、低コスト化が可能となり、従ってテ
レビ電話装置等の種々の装置に適用できる。
第2の発明によれば、選択手段を設け、直列遅延回路
の出力を切換えて複数個の演算回路へ入力する構成にし
たので、第1の発明とほぼ同様の効果が得られるばかり
か、扱う画像の種類(例えば、全体的に動く、あるいは
上下左右、上下、左右に多く動く画像)に対してそれに
合わせたベクトル配置で、動きベクトルを的確に検出で
きる。
の出力を切換えて複数個の演算回路へ入力する構成にし
たので、第1の発明とほぼ同様の効果が得られるばかり
か、扱う画像の種類(例えば、全体的に動く、あるいは
上下左右、上下、左右に多く動く画像)に対してそれに
合わせたベクトル配置で、動きベクトルを的確に検出で
きる。
第1図は本発明の第1の実施例を示す動きベクトル検出
回路の構成ブロック図、第2図(a)〜(c)は従来の
動き検出の説明図、第3図(a),(b)は第1図の現
ブロック及び探索範囲ブロックを示す図、第4図は第1
図のデータ入力タイミング図、第5図(a)〜(d)は
第1図のベクトル位置を示す図、第6図は本発明の第2
の実施例を示す動きベクトル検出回路の構成ブロック図
である。 10−1〜10−36……遅延回路。20……選択手段、20−1
〜20−8……セレクタ、30−1〜30−13……演算回路、
40……比較回路。
回路の構成ブロック図、第2図(a)〜(c)は従来の
動き検出の説明図、第3図(a),(b)は第1図の現
ブロック及び探索範囲ブロックを示す図、第4図は第1
図のデータ入力タイミング図、第5図(a)〜(d)は
第1図のベクトル位置を示す図、第6図は本発明の第2
の実施例を示す動きベクトル検出回路の構成ブロック図
である。 10−1〜10−36……遅延回路。20……選択手段、20−1
〜20−8……セレクタ、30−1〜30−13……演算回路、
40……比較回路。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04N 7/32,7/14
Claims (2)
- 【請求項1】1フレーム内を複数個のブロックに分割
し、個々の現ブロックについて他のフレームとの比較に
よって画素データの動きを検出する動きベクトル検出回
路において、 比較される前記フレーム内における探索範囲ブロックの
画素データ及び現ブロックの画素データのうち、現ブロ
ックの画素データを遅延させる複数個の直列接続された
遅延回路と、 前記複数個の遅延回路の所定位置より取り出した現ブロ
ックの画素データと前記探索範囲ブロックの画素データ
とを入力し、探索範囲内に存在するベクトルの中で、必
要とする任意のベクトルに対する評価関数値を算出する
複数個の演算回路とを、 備えたことを特徴とする動きベクトル検出回路。 - 【請求項2】請求項1記載の動きベクトル検出回路にお
いて、 前記複数個の遅延回路の複数位置より取り出した複数個
の現ブロックの画素データを選択して前記演算回路へ入
力する選択手段を、 設けたことを特徴とする動きベクトル検出回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22477790A JP3004697B2 (ja) | 1990-08-27 | 1990-08-27 | 動きベクトル検出回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22477790A JP3004697B2 (ja) | 1990-08-27 | 1990-08-27 | 動きベクトル検出回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04105484A JPH04105484A (ja) | 1992-04-07 |
JP3004697B2 true JP3004697B2 (ja) | 2000-01-31 |
Family
ID=16819050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22477790A Expired - Fee Related JP3004697B2 (ja) | 1990-08-27 | 1990-08-27 | 動きベクトル検出回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3004697B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2652195B2 (ja) * | 1988-05-23 | 1997-09-10 | 富士通株式会社 | ブロツクマツチング型動き検出回路 |
GB8909498D0 (en) * | 1989-04-26 | 1989-06-14 | British Telecomm | Motion estimator |
-
1990
- 1990-08-27 JP JP22477790A patent/JP3004697B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04105484A (ja) | 1992-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5512962A (en) | Motion vector detecting apparatus for moving picture | |
KR100203913B1 (ko) | 모션 벡터 생성기 | |
EP0400084B1 (en) | Circuit implementation of block matching algorithm | |
JP3434979B2 (ja) | 局所領域画像追跡装置 | |
WO1997022083A1 (en) | Method and apparatus for motion estimation in a video signal | |
JP4377693B2 (ja) | 画像データ検索 | |
US5636293A (en) | Multiple module architecture for implementing full search block matching | |
JP3004697B2 (ja) | 動きベクトル検出回路 | |
US5477278A (en) | Apparatus for detecting motion of moving picture | |
JP3004685B2 (ja) | 動きベクトル検出回路 | |
GB2214751A (en) | Video signal coding | |
JP4228705B2 (ja) | 動きベクトル探索方法および装置 | |
JP3041658B2 (ja) | 高並列動き補償演算器 | |
US6125141A (en) | Device and method for detecting motion vectors | |
US6968011B2 (en) | Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices | |
JPH06178289A (ja) | 動きベクトル検出回路 | |
JP2868457B2 (ja) | 動きベクトル探索装置 | |
JP2868441B2 (ja) | 動きベクトル探索方法および探索装置 | |
JP2866321B2 (ja) | 動きベクトル探索方法および装置 | |
JP3068669B2 (ja) | パターン認識装置 | |
JPH0779436A (ja) | 動きベクトル検出装置 | |
JP2931783B2 (ja) | 動きベクトル探索装置 | |
JPH09162747A (ja) | 動きベクトル検出装置およびその方法 | |
JP2872105B2 (ja) | ディストーション算出装置 | |
JP2768648B2 (ja) | 動きベクトル探索方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |