(57)【特許請求の範囲】
【請求項１】
勾配法に基づいて動きベクトルを算出する動きベクトル算出装置であって、
入力した動画像信号を指定されたブロック領域に分割して、指定された位置（ｘ，ｙ）及び画素サイズＭ×Ｎの画像ブロックを抽出するブロック設定部と、
異なるフレーム信号を記憶するメモリと、
前記ブロック設定部で分割されたブロック領域の画像において、水平方向の座標値をｘ、垂直方向の座標値をｙ、時間方向の座標値をｔとし、座標（ｘ、ｙ、ｔ）で表される画素が微小時間移動したとき、同一フレーム内の水平方向画素間の差分値Ix、垂直方向画素間の差分値Iy、及び現在フレームの信号と前記メモリに記憶された異なるフレーム信号とを用いて、フレーム間の時間の差分値Itを算出する差分演算部と、
前記差分値Ix、 Iy、Itに基づいて、画素の微小時間移動に伴う、輝度値の水平方向、垂直方向、時間方向の３×３輝度勾配分散共分散行列Aを算出する分散行列生成部と、
前記画素の輝度勾配の分布を近似した平面式の、２乗誤差に関して極小点を与える式を演算して係数を算出する係数演算部と、
前記係数演算部で算出した係数を用いて動きベクトルを算出する動きベクトル算出部と、
を備える動きベクトル算出装置。
【請求項２】
前記分散行列生成部は、前記ブロック領域内の全ての画素の輝度勾配ベクトル(Ix,Iy,It) ｔが、αIx+βIy+γIt=δで表される二次元の平面に分布すると仮定し、該平面の法線ベクトル（α、β、γ）ｔを用いて、評価関数Eを、E=Σδ2=Σ(αIx+βIy+γIt)2 と定義する請求項１記載の動きベクトル算出装置。
【請求項３】
前記係数演算部は、前記評価関数Eの極小点を算出する請求項２記載の動きベクトル算出装置。
【請求項４】
さらに、
前記分散行列生成部において算出された分散共分散行列Aの要素と前記動きベクトル算出部において算出された動きベクトル（u,v）を用いて、極小値Eminを算出する極小値算出部と、
分散共分散行列Aの要素について、前記差分値It=0として分散共分散行列Aを２×２行列に変換し、固有値λ１、λ２を算出する２×２固有値算出部と、
前記極小値Eminが設定した閾値以下で、かつ、前記固有値λ１、λ２が設定した閾値以上のとき、前記動きベクトル（u,v）を出力する信頼度判定部と、
を備える請求項３記載の動きベクトル算出装置。
【請求項５】
勾配法に基づいて動きベクトルを算出する動きベクトル算出方法であって、
入力した動画像信号を指定された複数のブロック領域に分割して、指定された位置（ｘ，ｙ）及び画素サイズＭ×Ｎの画像ブロックを抽出するステップと、
前記分割されたブロック領域の画像において、水平方向の座標値をｘ、垂直方向の座標値をｙ、時間方向の座標値をｔとし、座標（ｘ、ｙ、ｔ）で表される画素が微小時間移動したとき、同一フレーム内の水平方向画素間の差分値Ix、垂直方向画素間の差分値Iy、及び異なるフレーム信号とのフレーム間の時間の差分値Itを算出するステップと、
前記差分値Ix、 Iy、Itに基づいて、画素の微小時間移動に伴う、輝度勾配分散行列を生成して３×３輝度勾配分散共分散行列Aを算出するステップと、
前記画素の輝度勾配の分布を近似した平面式の、２乗誤差に関して極小点を与える式を演算して係数を算出するステップと、
前記算出した係数を用いて動きベクトルを算出するステップと、
を有する動きベクトル算出方法。
【請求項６】
前記分散行列生成ステップでは、前記ブロック領域内の全ての画素の輝度勾配ベクトル(Ix,Iy,It) ｔが、αIx+βIy+γIt=δで表される二次元の平面に分布すると仮定し、該平面の法線ベクトル（α、β、γ）ｔを用いて、評価関数Eを、E=Σδ2=Σ(αIx+βIy+γIt)2  と定義する請求項５記載の動きベクトル算出方法。
【請求項７】
前記係数演算ステップでは、前記評価関数Eの極小点を算出する請求項６記載の動きベクトル算出方法。
【請求項８】
さらに、
前記分散行列生成ステップにおいて算出された分散共分散行列Aの要素と前記動きベクトル算出ステップにおいて算出された動きベクトル（u,v）を用いて、極小値Eminを算出する極小値算出ステップと、
分散共分散行列Aの要素について、前記差分値It=0として分散共分散行列Aを２×２行列に変換し、固有値λ１、λ２を算出する２×２算出ステップと、
前記極小値Eminが設定した閾値以下で、かつ、前記固有値λ１、λ２が設定した閾値以上のとき、前記動きベクトル（u,v）を出力する信頼度判定ステップと、
を有する請求項７記載の動きベクトル算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、動きベクトル算出装置及び動きベクトル算出方法に関する。
【背景技術】
【０００２】
圧縮符号化技術を用いて、映像データを圧縮することが行われている。この圧縮符号化技術には、ＭＰＥＧ−１やＭＰＥＧ−２などのように、２枚のフレームを比較してこれらフレーム間の動きベクトルを算出するものがある。動きベクトルの算出手法として、一方のフレーム内における画素ブロックと、他方のフレーム内の画素ブロックとをブロックマッチングして、そのマッチング度に基づき、動きベクトルを算出するブロックマッチング法がある。しかし、ブロックマッチング法は、演算量が膨大であり、１画素以下の小数点精度がとれない。
【０００３】
一方、演算量を少なくし、１画素以下の小数点精度がとれる手法として、Lucas-Kanade法がある。同法は、輝度勾配ベクトルの分布から動きベクトルを算出するもので、勾配法に分類される。しかし、探索範囲が狭く、数画素にも及ぶ大きな動きのとき、正しい動きベクトルの算出ができない。
【０００４】
そこで、大きな動き画像に対しても、動きベクトルの推定が可能であり、１画素以下の小数点精度がとれるものとして、固有値ベクトル法がある。同法は勾配法に分類されるもので、輝度勾配ベクトルの分布を３×３分散共分散行列の固有ベクトルを求め、動きベクトルを算出するが、演算量が膨大なものとなる。
【０００５】
精度の高い動きベクトルを算出するには、高精度の固有値の演算が必要であるにもかかわらず、上記したいずれの手法も、欠点を内在しており、探索範囲と演算量と１画素以下の小数点精度のいずれをも満たす算出手法が求められていた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−５１７８８号公報
【非特許文献】
【０００７】
【非特許文献１】“信頼度を用いた輝度勾配法による動き推定手法の検討”情報研報,Vol.97,No.28,p19-24(1997)
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明が解決しようとする課題は、探索範囲が広く、演算量が少なく、１画素以下の小数点精度がある動きベクトル算出装置及び動きベクトル算出方法を提供することである。
【課題を解決するための手段】
【０００９】
実施形態の動きベクトル算出装置は、勾配法に基づいて動きベクトルを算出する動きベクトル算出装置であって、入力した動画像信号を指定されたブロック領域に分割して、指定された位置（ｘ，ｙ）及び画素サイズＭ×Ｎの画像ブロックを抽出するブロック設定部と、異なるフレーム信号を記憶するメモリと、前記ブロック設定部で分割されたブロック領域の画像において、水平方向の座標値をｘ、垂直方向の座標値をｙ、時間方向の座標値をｔとし、座標（ｘ、ｙ、ｔ）で表される画素が微小時間移動したとき、同一フレーム内の水平方向画素間の差分値Ix、垂直方向画素間の差分値Iy、及び現在フレームの信号と前記メモリに記憶された異なるフレーム信号とを用いて、フレーム間の時間の差分値Itを算出する差分演算部と、前記差分値Ix、 Iy、Itに基づいて、画素の微小時間移動に伴う、輝度値の水平方向、垂直方向、時間方向の３×３輝度勾配分散共分散行列Aを算出する分散行列生成部と、前記画素の輝度勾配の分布を近似した平面式の、２乗誤差に関して極小点を与える式を演算して係数を算出する係数演算部と、前記係数演算部で算出した係数を用いて動きベクトルを算出する動きベクトル算出部と、を備える。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る動きベクトル算出装置の構成例を示す図である。
【図２】ある画像ブロック内の各輝度勾配ベクトルと同画像ブロックの移動ベクトルがなす角度θを説明するための説明図である。
【図３】輝度勾配ベクトルの分布の概念について説明するための説明図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１２】
本実施形態に係る動きベクトル算出装置は、いわゆる勾配法に基づいて、動きベクトルを推定する。勾配法は、動画像から対象の動きのパラメータを時空間微分から推定するもので、「物体上の点の明るさは移動後も変化しない」という仮定から時空間微分とオプティカルフローとの関係式を導出し、それを利用して対象の動きを推定する。
【００１３】
図１は、本実施形態に係る動きベクトル算出装置の構成例を示す図である。図１に示すように、動きベクトル算出装置１００は、主として、ブロック設定部１、差分演算部２、メモリ３、分散行列生成部４、係数演算部５、動きベクトル算出部６、極小値算出部７、２×２固有値算出部８、信頼度判定部９から構成されている。
【００１４】
なお、本装置は、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方として実現され得る。具体的には、ＣＰＵ などの演算器や主メモリ、バス、あるいはハードディスクや不揮発性メモリなどの記憶装置、記憶メディア、記憶メディア用読取ドライブ、各種通信や送受信ポート、その他の周辺装置のハードウェア構成部や、それらハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、情報入力に利用されるインターフェースなどが挙げられる。これらハードウェアやソフトウェアは、メモリ上に展開したプログラムを演算器で順次演算処理したり、メモリやハードディスク上に保持されているデータや、インターフェースを介して入力されたデータなどを加工、蓄積、出力処理したり、あるいは各ハードウェア構成部の制御を行ったりするために利用される。
【００１５】
ブロック設定部１は、動画像の映像信号を入力し、入力した画像信号を指定されたブロック領域の画像に分割するものである。ブロック設定部１では、指定された位置（ｘ，ｙ）及びサイズＭ×Ｎの画像ブロックを抽出する。画像ブロックは、異なる時間ｔ，ｔ＋ｔ1 ，ｔ＋ｔ2 ，…の画像ブロックである。画像ブロック位置（水平ｘ，垂直ｙ）は、ブロック位置情報に基づき指定される。画像ブロックのサイズＭ，Ｎは、予め指定された縦方向及び横方向の画素数である。
【００１６】
メモリ３には、異なるフレームの信号が記憶される。異なるフレーム信号は、例えば、１フレーム前の信号である。
【００１７】
差分演算部２は、ブロック設定部１で分割されたブロック領域の画像において同一フレーム内の水平方向画素間の差分値Ix、垂直方向画素間の差分値Iy、及びフレーム間（時間）差分値Itを算出するものである。差分値Itは、現在フレームの信号とメモリ３に記憶された異なるフレーム信号とを用いて、差分演算して算出する。
【００１８】
分散行列生成部４は、動画像中において、水平方向の座標値をｘ、垂直方向の座標値をｙ、時間方向の座標値をｔとしたとき、座標（ｘ、ｙ、ｔ）で表される画素が微小時間移動したとき、輝度値の水平方向、垂直方向、時間方向の勾配の分散を算出する。具体的には、３×３輝度勾配分散共分散行列Aを算出するものである。
【００１９】
係数演算部５は、輝度勾配の分布を近似した平面式の２乗誤差に関して極小点を与える式の演算によって、平面式の係数を算出するものである。
【００２０】
動きベクトル算出部６は、係数演算部５で求めた係数を用いて、動きベクトル（u,v）を算出するものである。
【００２１】
次に、極小値算出部７は、分散行列生成部４において算出された分散共分散行列Aの要素、及び、動きベクトル算出部６において算出された動きベクトル（u,v）を用いて、後述する極小値Eminを算出するものである。
【００２２】
２×２固有値算出部８は、分散共分散行列Aの要素についてIt=0として分散共分散行列Aを２×２行列に変換し、後述する固有値λ１、λ２を算出するものである。
【００２３】
信頼度判定部９は、極小値Eminが設定閾値以下で、かつ、固有値λ１、λ２が設定閾値以上のとき、動きベクトル（u,v）を出力するものである。動きベクトル（u,v）を３次元拡張したベクトルが移動ベクトルである。
【００２４】
図２は、ある画像ブロック内の各輝度勾配ベクトルと、この画像ブロックの移動ベクトルのなす角度θを説明するための図である。
【００２５】
ここでは、画素数Ｍ×Ｎをもつある画像ブロック内にあって、該画像ブロック内の各画素の輝度勾配ベクトルをｇｉ＝(Ｉx,Ｉy,Ｉt)ｔ［ただし、Ｉｘはｘ（水平）方向の輝度勾配成分、Ｉｙはｙ（垂直）方向の輝度勾配成分、Ｉｔはｔ（時間）方向の輝度勾配成分］と表し、この画像ブロック内の移動ベクトルをｗ＝(ｕ,ｖ,１)ｔと表している。
【００２６】
図３は、輝度勾配ベクトルｇｉ＝(Ｉx,Ｉy,Ｉt)ｔの分布の概念を説明するための説明図である。横軸は輝度勾配ベクトルの水平（and/or 垂直）の成分を表わし、縦軸は輝度勾配ベクトルの時間成分を表わしている。図の斜線領域のように、輝度勾配ベクトルは分布をしている。分布を平面で最小2乗近似できれば、この平面と直交するベクトルを移動ベクトル(u,v,1)とすることで、動きベクトル(u,v)が求められる。
【００２７】
最小2乗近似平面を求める一手法として固有ベクトル法がある。輝度勾配分散共分散行列の固有値を大きな順にλ１、λ２、λ３とし、この固有値に対応する固有ベクトルξ１、ξ２、ξ３とする。ξ１、ξ２で表わされる平面はこの分布を平面で最小2乗近似したものである。この平面と直交するベクトルとしてξ３を用いることができる。
【００２８】
以上のように構成された動きベクトル算出装置における各演算処理について、以下、詳述する。
【００２９】
（輝度勾配ベクトルの近似平面）
まず、輝度勾配ベクトル(Ix,Iy,It) ｔは、分布するものとし、分布を近似する平面の式を、
αIx+βIy+γIt=δ         (1)
とする。
(1)式の平面の法線ベクトルは（α、β、γ）ｔである。
【００３０】
（評価関数の定義）
ここで、評価関数Eを定義する。
Σはブロック領域内の全ての画素の(Ix,Iy,It) ｔについての和を表わす。
E=Σδ2=Σ(αIx+βIy+γIt)2    (2)
この評価関数Eを最小にする平面を求めることで、分布を最小2乗近似した平面が求められる。
評価関数Eの極小点を求めるため、α、β、γで偏導関数を求め0と置く。
∂E/∂α=αΣIx2+βΣIxIy+γΣIxIt=0    (3)
∂E/∂β=αΣIxIy+βΣIy2+γΣIyIt=0    (4)
∂E/∂γ=αΣIxIt+βΣIyIt+γΣIt2=0    (5)
【００３１】
（ブロックの輝度勾配分散共分散行列）
(3)式、(4)式、(5)式の係数は、輝度勾配分散共分散行列Aの要素として表わすことができる。
【数１】
0005855490.tif 000002
である。
(3)式、(4)式、(5)式をAの要素を用いて書き直すと
a11α+a12β+a13γ=0      (3ａ)
a21α+a22β+a23γ=0      (4ａ)
a31α+a32β+a33γ=0      (5ａ)
(3ａ)式、(4ａ)式、(5ａ)式をγで除算すると
a11α/γ+a12β/γ+a13=0      (8a)
a21α/γ+a22β/γ+a23=0      (8b)
a31α/γ+a32β/γ+a33=0      (8c)
【００３２】
（動きベクトルの基本拘束式）
公知のように、微小時間において画像中の輝度は変化しないという条件から、次式に示す勾配法による動きベクトルｍ（u,v）の基本拘束式が得られる。
Ix u+Iy v+It=0             （９）
ただし、ｕは動きベクトルｍのｘ成分、ｖは動きベクトルｍのｙ成分である。また、動きベクトルｍ（u,v）を３次元へ拡張した移動ベクトルをｗ＝(ｕ,ｖ,１)ｔと定義する。基本拘束式（９）は輝度勾配ベクトルｇｉ＝(Ｉx,Ｉy,Ｉt)ｔと移動ベクトルをｗ＝(ｕ,ｖ,１)tを用いて次式で表される。
(Ix,Iy,It) (u,v,1)ｔ=0     (9ａ)
基本拘束式の移動ベクトル(u,v,1)ｔと(1)式平面の法線ベクトル(α、β、γ) ｔが同方向にあるとして、
u=α/γ        (10a)
v=β/γ        (10b)
とする。
そこで、(10a)式、(10b)式を (8a)式、(8b)式、(8c)式に適用すると、以下の式になる。
【数２】
0005855490.tif 000003
【００３３】
（係数の算出）
公知のLucas-Kanade法は(11a)式、(11b)式についての解を求めるものであり、(11c)式は考慮されていない。
未知数２に対して３つの方程式による優決定２元連立１次方程式になるので、(11a)式、(11b)式、(11c)式の交点を最小二乗法で求める。
正規方程式を作成すると
【数３】
0005855490.tif 000004
ここで、
b11=a112+a212+a312
=(ΣIx2)2+(ΣIxIy)2+(ΣIxIt)2                         (13a)
b12=b21=a11a12+a21a22+a31a32 
=(ΣIx2+ΣIy2)ΣIxIy +ΣIxItΣIyIt                   (13b)
b22=a122+a222+a322
=(ΣIy2)2+ (ΣIxIy)2+ (ΣIyIt)2                      (13c)
c1=a11a13+a21a23+a31a33
=ΣIx2ΣIxIt+ΣIxIyΣIyIt+ΣIxItΣIt 2 
=(ΣIx2+ΣIt 2)ΣIxIt+ΣIxIyΣIyIt                     (13d)
c2=a12a13+a22a23+a32a33 
=ΣIxIyΣIxIt+ΣIy 2ΣIyIt+ΣIyItΣIt 2
= (ΣIy 2 +ΣIt 2)ΣIyIt+ΣIxIyΣIxIt                  (13e)
とおくと、(12)式は次式で表わされる。
【数４】
0005855490.tif 000005
【００３４】
（動きベクトルの算出）
よって、動きベクトル（u,v）は次式で求められる。
u=(b12c2‐b22c1)/(b11b22‐b122)                    (15a)
v=(b12c1‐b11c2)/ (b11b22‐b122)                    (15b)
以上、述べたように、(13a)式〜(13e)式、(15a)式、(15b)式から、積和演算および除算によって“一義的に”動きベクトル(u,v)が算出されるので、反復演算の必要はない。
また、法線ベクトル（α、β、γ）ｔを単位ベクトルとすれば、
α2+β2+γ2=1
であるので、(2)式の評価関数Eを変形すると、次式となる。
E=Σδ2=(1/γ2){Σ(α/γ)Ix+(β/γ)Iy+It}2
={1/(u2+v2+1)}Σ(Ix u+Iy v+It)2 
= {1/(u2+v2+1)}(a11 u2+a22 v2+a33+2 a12 uv+2 a13u+2 a23v)       (２ａ)
(15a)式、(15b)式で求められたu,vを(２ａ)式に代入すると、評価関数Eの極小値Eminが得られる。
Emin=Σδ2={1/(u2+v2+1)}Σ(Ix u+Iy v+It)2 
= {1/(u2+v2+1)}(a11 u2+a22 v2+a33+2 a12 uv+2 a13u+2 a23v)        (16)
【００３５】
（動きベクトル(u,v)の信頼度判定）
(16)式で与えられる極小値Eminは、法線ベクトル方向の誤差の２乗を表わしており、
極小値Eminが小さいとき、(1)式の平面の近似が良好であると判定できる。
この極小値Eminを動きベクトル(u,v)の信頼度評価に使用する。
【００３６】
本実施形態では、(15a)式、(15b)式で算出された動きベクトル(u,v)の信頼度判定を以下の判定条件１，２で行う。
１．(16)式の極小値Eminが閾値以下の場合、ブロック内の輝度勾配ベクトル分布の平面近似が良好であり、ブロック内の各画素の動きが揃っていることを意味し信頼度ありと判定する。また、極小値Eminを後述するλ１、λ２で規格化したEmin/(Emin+λ１+λ２)を閾値の判定に利用してもよい。
２．(6)式において、It=0とおいた２×２の輝度勾配ベクトルの固有値をλ１、λ２としたとき、λ1、λ2がある閾値以上の場合、ブロック内の輝度勾配ベクトルIx,Iyが充分な大きさで存在し、水平垂直平面の２方向に輝度勾配ベクトルが分布（コーナエッジ）していると判定できる。
【００３７】
上記した判定条件１のみでは、輝度勾配ベクトル自体が微小である場合にも極小値Eminが閾値以下になる場合があり、この場合、雑音の影響で正しい動きベクトルを求めるのが困難になる。また、窓問題として知られているように、輝度勾配ベクトルが１方向に分布（直線状エッジ）している場合には、一義的に動きベクトルを求めることはできない。そのような場合には、判定条件２に記した固有値λ1、λ2から判定できる。 
２×２行列の固有値算出は２次方程式に帰着するので大きな演算量を必要としない。加えて、この判定条件２に用いる固有値λ1、λ2はさほど精度が必要ではないので、以下のように演算を簡易化することも可能である。
【数５】
0005855490.tif 000006
【００３８】
本実施形態によれば、一義的な積和除算を用いて大きな動きに対して精度よく動きベクトルを推定することができる。また、推定された動きベクトルの信頼度を画像依存性の少ない判定ができ、ブロック内に動きベクトル推定に適したコーナエッジのあることを判定できる。
【００３９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４０】
１００・・・動きベクトル算出装置
１・・・ブロック設定部
２・・・差分演算部
３・・・メモリ
４・・・分散行列生成部
５・・・係数演算部
６・・・動きベクトル算出部
７・・・極小値算出部
８・・・２×２固有値算出部
９・・・信頼度判定部
【図１】
0005855490.tif 000007
【図２】
0005855490.tif 000008
【図３】
0005855490.tif 000009