JP5683153B2 - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP5683153B2
JP5683153B2 JP2010156921A JP2010156921A JP5683153B2 JP 5683153 B2 JP5683153 B2 JP 5683153B2 JP 2010156921 A JP2010156921 A JP 2010156921A JP 2010156921 A JP2010156921 A JP 2010156921A JP 5683153 B2 JP5683153 B2 JP 5683153B2
Authority
JP
Japan
Prior art keywords
image data
motion vector
layer
hierarchy
evaluation value
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
Application number
JP2010156921A
Other languages
English (en)
Other versions
JP2012019465A (ja
Inventor
貴幸 原
貴幸 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010156921A priority Critical patent/JP5683153B2/ja
Priority to US13/178,416 priority patent/US8761522B2/en
Publication of JP2012019465A publication Critical patent/JP2012019465A/ja
Application granted granted Critical
Publication of JP5683153B2 publication Critical patent/JP5683153B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform

Description

本発明は、複数の画像間における動きベクトルを検出する画像処理装置および画像処理方法に関するものである。
2つの画像間の動きベクトルをそれらの画像の相関から求めるブロックマッチングは、例えば動画像における圧縮技術を中心に開発が進んでいる。このような動きベクトルを求める技術は、連続して撮影した複数の画像間の位置ずれを求めることができるため、複数枚の画像を合成することによる電子防振処理やダイナミックレンジの拡大処理など、多岐の技術分野にわたって応用されている。
ブロックマッチングとは、それぞれの画像内に設定した所定の大きさの矩形ブロックにおける画像の相関を、互いの矩形ブロックの位置をずらして複数の位置で算出し、最も相関の高い位置を求めることで、2つの画像間における動きベクトルを求める方法である。
図9は、ブロックマッチングを概念的に説明するための図である。画像データ901が動きベクトルを求める際の基準となる画像であり、画像データ902が画像データ901に対する動きベクトルを求める対象となる画像である。
まず、画像処理装置は、画像データ901において、動きベクトルを求める基準となる領域であるベースブロック903を設定する。画像処理装置は、画像データ902において、画像データ901のベースブロック903と同じ位置およびサイズとなる射影ブロック904を求め、この射影ブロック904の位置を基準として、射影ブロック904を包括する所定サイズの検出範囲905を設定する。
そして、画像処理装置は、画像データ902において、この検出範囲905に含まれ、かつ、ベースブロック903と同じサイズであるターゲットブロック906を設定する。そして、画像データ901のベースブロック903の画像と画像データ902のターゲットブロック906の画像との相関を求める。画像処理装置は、ベースブロック903の画像データにおける信号レベルとターゲットブロック906の画像データの信号レベルの差分の絶対値の総和(SAD:Sum of Absolute Difference)を求める。画像処理装置は、SADの値が小さくなるほど、ベースブロック903の画像とターゲットブロック906の画像の相関が高いと判定する。
画像処理装置は、検出範囲905の全領域にターゲットブロック906を移動させてその都度SADを求める。最もSADの値が小さくなるターゲットブロック906の位置を検出することで、検出範囲905内において、ベースブロック903の画像と最も相関の高いターゲットブロック906の位置を求めることができる。そして、画像処理装置は、このときのベースブロック903とターゲットブロック906の位置のずれを、画像データ901と画像データ902の間におけるベースブロック903の画像データの動きベクトルとして求める。ベースブロック903の位置を複数設定すれば、画像データ901と画像データ902の間における複数の動きベクトルを求めることができる。
図10は、画像処理装置に含まれる、ベースブロック903の画像データとターゲットブロック906の画像データからSADを求める演算回路1001を説明するための図である。
画像処理装置は演算回路1001を有しており、入力1の端子でベースブロック903の画像データを受け取り、入力2の端子でターゲットブロック906の画像データを受け取る。演算回路1001は、ベースブロック903の画像データの各画素における信号レベルから、ターゲットブロック906の画像データの対応画素における信号レベルを減算し、その絶対値を加算することでSADを求める。
例えば、ベースブロック903およびターゲットブロック906の画像データが、16×16の256画素の信号で構成された画像データであるとする。ベースブロック903の画像データの各画素の信号レベルをP(1,1)、P(1,2)・・・P(1,16)、P(2,1)、P(2,2)・・・P(16,16)とする。また、ベースブロック903の画像データの各画素の信号レベルをQ(1,1)、Q(1,2)・・・Q(1,16)、Q(2,1)、Q(2,2)・・・Q(16,16)とする。演算回路1001はSADを下記の(式1)にて求めることができる。
Figure 0005683153
ここで、検出範囲905を、射影ブロック904を中心とした25×25画素からなる領域に設定すると、ターゲットブロック906は縦横ともに10通りの位置に移動できる。そのため、最多で、検出範囲905において100個のSADを求めることになる。さらに、検出範囲905を、射影ブロック904を中心とした32×32画素からなる領域に設定すると、ターゲットブロック906は縦横ともに17通りの位置に移動できる。そのため、最多で、検出範囲905において289個のSADを求めることになる。このように、検出範囲905に含まれる画素数の、ベースブロック903に含まれる画素数に対する割合を大きくするほど、SADを求めるための演算回数が増えてしまい、処理時間の増加につながってしまう。しかしながら、演算回数を抑えるために検出範囲905を狭くしてしまうと、動きベクトルが検出できなくなる可能性が増えてしまう。
そこで、画像データ901および画像データ902をともに縮小した縮小画像を用いておおまかな動きベクトルを検出した後に、もとの画像データ901および画像データ902を用いて詳細な動きベクトルを検出するものが提案されている。こうすることで、演算量を減らすことができる(特許文献1を参照)。
例えば、画像データ901のベースブロック903が16×16画素で設定され、画像データ902の検出範囲905が32×32画素で構成されているとする。上記の方法であれば、動きベクトルを検出するためには289個のSADを求める必要があった。ここで、もとの画像データ901および902を第1階層の画像データということにする。この第1階層の画像データ901および902を、ともに縦横が1/2倍となる第2階層の画像データに変換すると、同じベースブロック903が8×8画素で構成され、検出範囲905が16×16画素で構成される。さらに、これらの第2階層の画像データを縦横が1/2倍となる第3階層の画像データに変換すると、同じベースブロック903が4×4画素で構成され、検出範囲905が8×8画素で構成される。さらに、これらの第3階層の画像データを縦横が1/2倍となる第4階層の画像データに変換すると、同じベースブロック903が2×2画素で構成され、検出範囲905が4×4画素で構成される。この第4階層の画像データであれば、ターゲットブロック906は縦横ともに3通りの位置に移動できるため、SADを9個求めれば動きベクトルを検出することができる。さらに、ベースブロック903に含まれる画素数自体が少ないため、SADを求めるための(式1)における演算量も少なくすることができる。
ただし、第4階層の画像データを用いて求めた動きベクトルは、第3階層の画像データを用いて求めた動きベクトルに比較してその分解能が1/2でしかない。これは、第2階層の画像データを用いて求めた動きベクトルに比較してその分解能が1/4でしかなく、第1階層の画像データを用いて求めた動きベクトルに比較してその分解能が1/8でしかないことになる。
そこで、第3階層の検出範囲905の画像データ上に、第4階層の画像データで求めた動きベクトルによって求められる中心位置を設定し、この中心位置を基準として、6×6画素の新たな検出範囲を設定する。新たな検出範囲を6×6画素としたのは、第2階層のベースブロック903の画像データは4×4画素であり、6×6画素よりも外側の領域については、第4階層を用いて得られた動きベクトルの検出結果よりすでに除外されているためである。第3階層の画像データからは、SADを9個求めれば第3階層の画像データにおける動きベクトルを検出することができる。こうすることにより、第1階層の画像データを用いて求めた動きベクトルに比較してその分解能が1/4となる動きベクトルを求めることができる。
さらに、第2階層の検出範囲905の画像データ上に、第3階層の画像データで求めた動きベクトルによって求められる中心位置を設定し、この中心位置を基準として、10×10画素の新たな検出範囲を設定する。新たな検出範囲を10×10画素としたのは、第2階層のベースブロック903の画像データは8×8画素であり、10×10画素よりも外側の領域については、第3階層を用いて得られた動きベクトルの検出結果よりすでに除外されているためである。第2階層の画像データからは、SADを9個求めれば第2階層の画像データにおける動きベクトルを検出することができる。こうすることにより、第1階層の画像データを用いて求めた動きベクトルに比較してその分解能が1/2となる動きベクトルを求めることができる。
さらに、第1階層の検出範囲905の画像データ上に、第2階層の画像データで求めた動きベクトルによって求められる中心位置を設定し、この中心位置を基準として、18×18画素の新たな検出範囲を設定する。新たな検出範囲を18×18画素としたのは、第1階層のベースブロック903の画像データは16×16画素であり、18×18画素よりも外側の領域については、第2階層を用いて得られた動きベクトルの検出結果よりすでに除外されているためである。第1階層の画像データからは、SADを9個求めればよく、その結果、SADを289個求めた従来の方法と同じ精度の動きベクトルを求めることができる。
以上のような方法によれば、従来の方法では動きベクトルを求めるためにSADを289回演算していたが、その精度を落とすことなく、SADの演算回数を36回に減らすことが可能となる。しかも、第2乃至第4階層の画像データにおいては、SADを求めるための(式1)における演算量も減らすことができる。
特開2009−55410号公報
しかしながら、特許文献1の方法では、画像データ901および902に含まれる被写体が高域成分を主体としていると、これらの画像データをリサイズしたことによって高域成分が消失してしまった場合には、誤検出が生じやすくなるという問題があった。
上記課題を解決するため、本願発明に係る画像処理装置は、画像データを縮小して別の階層の画像データを生成する処理を繰り返し、複数の階層の画像データを生成する縮小手段と、前記複数の階層の画像データの鮮鋭度に関する評価値を算出する評価手段と、同じ階層の複数の画像データのいずれかの位置をずらしながら相関を求めることで、前記複数の画像データの間の動きベクトルを検出する動きベクトル検出手段を有し、前記評価値は前記鮮鋭度が高いほど大きな値となり、前記動きベクトル検出手段は、第1階層の画像データを縮小して生成した第2階層の画像データから算出された前記評価値が予め定めた閾値以上であれば、前記第2階層の画像データにおける第1の動きベクトルをもとに前記第1階層の画像データにおける相関の検出範囲を設定し、前記第1階層の複数の画像データのいずれかの位置を第1の量だけずらしながら、前記第1階層の画像データのうちの前記第1の検出範囲における画像データの相関を求めて前記第1階層の画像データにおける第2の動きベクトルを検出し、前記第2階層の画像データから算出された評価値が予め定めた閾値以上でなければ、前記第1階層の複数の画像データのいずれかの位置を第1の量より大きな第2の量だけずらしながら相関を求めて第3の動きベクトルを検出し、検出した前記第3の動きベクトルをもとに前記第1階層の画像データにおける第2の検出範囲を設定し、前記第1階層の複数の画像データのいずれかの位置を前記第2の量よりも小さい第3の量だけずらしながら、前記第1階層の画像データのうちの前記第2の検出範囲における画像データの相関を求めて、前記第1階層の画像データにおける第4の動きベクトルを検出し、前記評価値が予め閾値以上である複数の階層の画像データのうち、最も縮小された階層の画像データから順に、動きベクトルの検出と相関の検出範囲の設定を繰り返すものであって、前記予め定めた閾値は複数の階層の画像データごとに異なる値に設定されており、最も縮小された階層の画像データに対応する閾値から順に、小さな値に設定されることを特徴とするものである。
本発明によれば、動きベクトルの誤検出を抑えつつ、動きベクトルの検出における演算負荷を減少させることができる。
本実施形態における画像処理装置の構成の一例を示すブロック図である。 動きベクトルを求めるブロックを説明するための概念図である。 階層決定処理を示すフローチャートを示す図である。 評価回路108の構成を示すブロック図、および、フィルタ係数を説明するための図である。 第4階層の画像データにおけるターゲットブロックの設定の仕方を説明するための図である。 第3階層の画像データにおける新たな検出範囲の設定の仕方を説明するための図である。 第3階層の画像データにおけるターゲットブロックの設定の仕方を説明するための図である。 第3階層の画像データにおけるターゲットブロックの設定の仕方を説明するための図である。 ブロックマッチングを概念的に説明するための図である。 ベースブロックの画像とターゲットブロックの画像からSADを求める演算回路を説明するための図である。
以下に図を用いて、本発明の実施形態について説明を行う。
(第1の実施形態)
図1は、本実施形態における画像処理装置の構成の一例を示すブロック図である。本実施形態では、図2に示すように入力された画像データ901を幾つかのブロックに分割し、ブロック毎に、画像データ902との間における動きベクトルを求める。これら複数の動きベクトルからこれらの画像データ間の代表的な動きベクトルを算出し、電子防振処理やダイナミックレンジの拡大処理に用いることができる。
図1において、メモリ101はベースブロック903の画像データを記憶する。このメモリ101に記憶される画像データを第1階層の画像データと言うことにする。縮小回路102はメモリ101に記憶された第1階層の画像データを縦横ともに1/2倍に縮小した第2階層の画像データを生成する。メモリ103は第2階層の画像データを記憶する。縮小回路104はメモリ103に記憶された第2階層の画像データを縦横ともに1/2倍に縮小した第3階層の画像データを生成する。つまり、第3階層の画像データは第1階層の画像データを縦横ともに1/4倍に縮小したものとなる。メモリ105は第3階層の画像データを記憶する。縮小回路106はメモリ105に記憶された第3階層の画像データを縦横ともに1/2倍に縮小した第4階層の画像データを生成する。つまり、第4階層の画像データは第1階層の画像データを縦横ともに1/8倍に縮小したものとなる。メモリ107は第4階層の画像データを記憶する。評価回路108はメモリ101に記憶された第1階層の画像データ、メモリ103に記憶された第2階層の画像データ、メモリ105に記憶された第3階層の画像データ、および、メモリ107に記憶された第4階層の画像データの評価値を求める。制御回路109はこの画像処理装置全体を制御するものであり、評価回路108で求められた評価値を受けて、縮小回路102、104、106および動きベクトル検出回路121乃至124に指示を出す。
メモリ111は画像データ902を第1階層の画像データとして記憶する。縮小回路112はメモリ111に記憶された第1階層の画像データを縦横ともに1/2倍に縮小した第2階層の画像データを生成する。メモリ113は第2階層の画像データを記憶する。縮小回路114はメモリ113に記憶された第2階層の画像データを縦横ともに1/2倍に縮小した第3階層の画像データを生成する。つまり、第3階層の画像データは第1階層の画像データを縦横ともに1/4倍に縮小したものとなる。メモリ115は第3階層の画像データを記憶する。縮小回路116はメモリ115に記憶された第3階層の画像データを縦横ともに1/2倍に縮小した第4階層の画像データを生成する。つまり、第4階層の画像データは第1階層の画像データを縦横ともに1/8倍に縮小したものとなる。メモリ117は第4階層の画像データを記憶する。
動きベクトル検出回路121はメモリ107に記憶された第4階層の画像データと、メモリ117に記憶された第4階層の画像データを用いて動きベクトルを検出する。動きベクトル検出回路122はメモリ105に記憶された第3階層の画像データと、メモリ115に記憶された第3階層の画像データを用いて動きベクトルを検出する。動きベクトル検出回路123はメモリ103に記憶された第2階層の画像データと、メモリ113に記憶された第2階層の画像データを用いて動きベクトルを検出する。動きベクトル検出回路124はメモリ101に記憶された第1階層の画像データと、メモリ111に記憶された第1階層の画像データを用いて動きベクトルを検出する。これら動きベクトル検出回路121乃至124は、図10に示す演算回路1001を有しており、2つの画像データの信号レベルの差分の絶対値の総和であるSADを求めることができる。
なお、図1の実線の矢印は画像データの流れを示し、点線の矢印は制御データの流れを示す。また、メモリ101乃至117は、説明を容易にするために別の回路として記載したが、1つの回路でこれらを兼用する構成としてもよい。これは、メモリ101乃至117に限られるものではなく、縮小回路102乃至116や、動きベクトル検出回路121乃至124においても、それぞれを1つの回路で兼用する構成としてもよい。
本実施形態では、全体を大きく2つの部分に分けて説明する。一つ目は、動きベクトルの検出に用いる画像データの階層を決定する階層決定処理であり、もう一つは、階層決定処理によって決定された階層の画像データを用いて動きベクトル検出を行う動きベクトル検出処理である。
図3は階層決定処理を示すフローチャートを示す図である。制御回路109によって、画像データ901のいずれかのベースブロック903が選択され、そのベースブロック903の画像データがメモリ101に入力されると、この図3に示す階層決定処理が開始される。
ステップS301において、評価回路108が、メモリ101に記憶されたベースブロック903の第1階層の画像データから第1の評価値を算出する。
図4(a)は、評価回路108の構成を示すブロック図である。評価回路108は、ハイパスフィルタ回路401、絶対値回路402、および、積分回路403を有する。
ハイパスフィルタ回路401は、入力された画像データの高域成分を抽出する空間フィルタであり、たとえば図4(b)のフィルタ係数を持つ二次元FIRフィルタにより構成する。もちろん、高域成分を抽出するフィルタの構成はこれに限られるものではなく、周知の方法を適用することができる。
一般にハイパスフィルタの出力は正負の値をとり得るが、ここでは、ある程度のレベルのコントラストが生じているか否かを評価するのが目的である。そのため、絶対値回路402が、ハイパスフィルタ回路401から出力された値の振幅だけを抽出するために、ハイパスフィルタ回路401から出力された値の絶対値を求める。この絶対値回路402は、負数であれば全ビット反転するような簡易な構成のものでもかまわない。これらの処理を評価回路108に入力された画像データの全体に対して行い、積分回路403は、絶対値回路402がそれぞれの画素で得た絶対値を積分し、評価値として出力する。この評価値は、入力された画像データが平坦であるほど小さな値となり、入力された画像データがコントラストの高い部分を多く含むほど大きな値となる。
なお、図4に示す図は評価回路108の構成の一例であって、評価回路108は別の構成を有するものであっても構わない。評価回路108は、入力された画像データの信号レベルの鮮鋭度を評価すればよいため、例えば、入力された画像データの分散を算出し、分散の値が大きいほど高い評価値を得るようにしても構わない。
図3に戻り、ステップS302において、制御回路109は第1階層の画像データから得られた第1の評価値を第1の閾値と比較する。第1の評価値が第1の閾値未満であると判定された場合にはステップS303に進み、第1の評価値が第1の閾値以上であると判定された場合にはステップS304に進む。評価値が低いということは、その画像データの鮮鋭度が低く、領域間あるいは画素間における信号レベルの差が出にくいということである。つまり、ターゲットブロック906の画像データを移動させて、それそれの位置でこのベースブロック903の画像データとのSADを求めたとしても、その値に差が出にくく、動きベクトルを誤検出してしまう可能性が高くなる。そこで、動きベクトルを誤検出する可能性が低いとみなせる評価値の閾値を予め定めておき、評価値とこの閾値の比較結果から、その評価値が得られた画像データが動きベクトルを検出するために適したものであるかを判定する。
ステップS303において、制御回路109はこのベースブロック903の画像データからは動きベクトルの検出が不可能であると判定する。動きベクトルの検出が不可能であると判定した場合には、この図3に示すフローチャートを一度終了する。そして、制御回路109によって、画像データ901の別のベースブロック903が選択され、この別のベースブロック903の画像データがメモリ101に入力されると、再び図3に示す階層決定処理が開始される。
ステップS304において、制御回路109は縮小回路102に画像データを縮小するよう指示を送る。縮小回路102はこの指示を受けると、メモリ101から第1階層の画像データを読み出して1/2倍に縮小した第2階層の画像データを生成し、メモリ103が第2階層の画像データを記憶する。
ステップS305において、評価回路108は、メモリ103に記憶されたベースブロック903の第2階層の画像データから第2の評価値を算出する。
ステップS306において、制御回路109は第2階層の画像データから得られた第2の評価値を第2の閾値と比較する。第2の評価値が第2の閾値以上であると判定された場合にはステップS307に進み、第2の評価値が第2の閾値未満であると判定された場合にはステップS316に進む。
ステップS307において、制御回路109は縮小回路104に画像データを縮小するよう指示を送る。縮小回路104はこの指示を受けると、メモリ103から第2階層の画像データを読み出して1/2倍に縮小した第3階層の画像データを生成し、メモリ105が第3階層の画像データを記憶する。
ステップS308において、評価回路108は、メモリ105に記憶されたベースブロック903の第3階層の画像データから第3の評価値を算出する。
ステップS309において、制御回路109は第3階層の画像データから得られた第3の評価値を第3の閾値と比較する。第3の評価値が第3の閾値以上であると判定された場合にはステップS310に進み、第3の評価値が第3の閾値未満であると判定された場合にはステップS315に進む。
ステップS310において、制御回路109は縮小回路106に画像データを縮小するよう指示を送る。縮小回路104はこの指示を受けると、メモリ105から第3階層の画像データを読み出して1/2倍に縮小した第4階層の画像データを生成し、メモリ107が第4階層の画像データを記憶する。
ステップS311において、評価回路108は、メモリ107に記憶されたベースブロック903の第4階層の画像データから第4の評価値を算出する。
ステップS312において、制御回路109は第4階層の画像データから得られた第4の評価値を第4の閾値と比較する。第4の評価値が第4の閾値以上であると判定された場合にはステップS313に進み、第3の評価値が第3の閾値未満であると判定された場合にはステップS314に進む。
ステップS313において、制御回路109は、第4階層の画像データから動きベクトルを求めても誤検出となる可能性は低いと判定し、第1乃至第4の階層の画像データを全て利用して動きベクトルの検出を行うことを決定する。すなわち、制御回路109は、動きベクトル検出回路121乃至124のすべてに対して動きベクトルを検出するよう指示を出す。また、制御回路109は、動きベクトル検出回路122は動きベクトル検出回路121の検出結果を、動きベクトル検出回路123は動きベクトル検出回路122の検出結果を、動きベクトル検出回路124は動きベクトル検出回路123の検出結果を用いるよう指示を出す。
ステップS314において、制御回路109は、第1乃至第3階層の画像データから動きベクトルを求めても誤検出となる可能性は低いが、第4階層の画像データから動きベクトルを求めると誤検出となる可能性が高いと判定する。よって、制御回路109は、第4の階層の画像データを用いずに、第1乃至第3階層の画像データを利用して動きベクトルの検出を行うことを決定する。すなわち、制御回路109は、動きベクトル検出回路121には動きベクトルを検出するよう指示は出さないが、動きベクトル検出回路122乃至124に対して動きベクトルを検出するよう指示を出す。また、制御回路109は、動きベクトル検出回路123は動きベクトル検出回路122の検出結果を、動きベクトル検出回路124は動きベクトル検出回路123の検出結果を用いて動きベクトルの検出を行うよう指示を出す。
ステップS315において、制御回路109は、第1および第2階層の画像データから動きベクトルを求めても誤検出となる可能性は低いが、第3階層の画像データから動きベクトルを求めると誤検出となる可能性が高いと判定する。よって、制御回路109は、第3の階層の画像データを用いずに、第1および第2階層の画像データを利用して動きベクトルの検出を行うことを決定する。すなわち、制御回路109は、動きベクトル検出回路121および122には動きベクトルを検出するよう指示は出さないが、動きベクトル検出回路123および124に対して動きベクトルを検出するよう指示を出す。また、制御回路109は、動きベクトル検出回路124は動きベクトル検出回路123の検出結果を用いて動きベクトルの検出を行うよう指示を出す。
ステップS316において、制御回路109は、第1階層の画像データから動きベクトルを求めても誤検出となる可能性は低いが、第2階層の画像データから動きベクトルを求めると誤検出となる可能性が高いと判定する。よって、制御回路109は、第2階層の画像データを用いずに、第1階層の画像データを利用して動きベクトルの検出を行うことを決定する。すなわち、制御回路109は、動きベクトル検出回路121乃至123には動きベクトルを検出するよう指示は出さないが、動きベクトル検出回路124に対して動きベクトルを検出するよう指示を出す。
本実施形他の画像処理装置は、このような階層決定処理によって、どの階層の画像データまで動きベクトル検出に利用可能か判断する。なお、ここでは、第4階層の画像データまで用いる例をあげて説明を行ったが、これに限定されるものではない。階層数を増やすほど、広範囲にわたって少ない演算量で動きベクトルを検出することができるため、動きベクトルが大きくなることが予め予想される場合には、階層を増やすようにしてもよい。
また、上述した第1乃至第4の閾値は全ての同一の値でも構わないが、一般的には画像データを縮小するほどこの評価値は低くなりやすいので、第1の閾値から第4の閾値にむかうほど小さな値としてもよい。そして、第1の閾値から第4の閾値は、それぞれに好適な値を実験的に求めることが望ましい。
さらに、ある階層のデータの評価値が閾値以上であるかを判定し、閾値以上であれば次の階層の画像データを生成する構成を例にあげて説明を行ったが、先に全ての階層の画像データを生成してから、各階層の画像データの評価値を求めるように構成してもよい。
次に、動きベクトル検出処理について説明を行う。本実施形態では、第1階層の画像データ901のベースブロック903が16×16画素で設定され、第1階層の画像データ902の検出範囲905が32×32画素で構成されているものとする。
まずは、図3に示す階層決定処理において、制御回路109が全階層の画像データを用いると決定した(S310)場合について説明する。動きベクトル検出回路121は、メモリ107に記憶されたベースブロック903の第4階層の画像データを読み出す。また、動きベクトル検出回路121は、メモリ117に記憶された第4階層の画像データのうち、検出範囲905に対応する領域の画像データを読み出す。
図5は、第4階層の画像データにおけるターゲットブロックの設定の仕方を説明するための図である。図5に示すように、ベースブロック903の第4階層の画像データ501は2×2画素で構成され、第4階層の検出範囲905に対応する画像データ502は4×4画素で構成される。ターゲットブロック511〜519は、画像データ502内で1画素ずつずらした位置に設定される。なお、本実施形態では、検出範囲905の中央に射影ブロック904が位置するため、ターゲットブロック515の画像データの位置が、射影ブロック904の位置と一致する。
動きベクトル検出回路121は、ターゲットブロック511〜519のそれぞれの画像データにおいて、画像データ501との画像の信号レベルの差分の絶対値の総和であるSADを求める。この場合は、9個のSADが求まる。動きベクトル検出回路121は、ターゲットブロック511〜519の画像データから、画像データ501との相関が最も高い、すなわちSADが最も小さくなる画像データを選択する。この選択された画像データの位置と射影ブロック904との位置(図5のターゲットブロック515の位置)とのずれが動きベクトルとなる。例えば、ターゲットブロック511の画像データのSADが最も小さいのであれば、動きベクトル検出回路121は、動きベクトルの検出結果として中心にあるターゲットブロック515から左に1画素、上に1画素ずらしたことを示す(−1,−1)を出力する。
続いて、動きベクトル検出回路122は、動きベクトル検出回路121より動きベクトルの検出結果を受け取る。動きベクトル検出回路122は、メモリ105に記憶されたベースブロック903の第3階層の画像データを読み出す。また、動きベクトル検出回路122は、メモリ115に記憶された第3階層の画像データのうち、動きベクトル検出回路121における検出結果に応じた領域の画像データを読み出す。
図6は、第3階層の画像データにおける新たな検出範囲の設定の仕方を説明するための図である。動きベクトル検出回路122は、図5のターゲットブロック517の位置を示す検出結果(−1,−1)に応じて、第3階層の画像データにおける新たな検出範囲を設定する。画像データ601はメモリ115に記憶された第3階層の画像データであり、その中央にあるブロック602の位置が射影ブロック904の位置と一致する。第3階層の画像データ902の画素数は、第4階層の画像データ902の画素数よりも縦横ともに2倍であるため、ブロック602から(−2,−2)だけ移動させたブロック603の位置が、図5のターゲットブロック511の位置と一致する。動きベクトル検出回路122は、このブロック603の位置を中心として、縦横ともに1画素ずつ拡大した領域を新たな検出範囲604として設定する。この検出範囲604よりも外側の領域は、第4階層における動きベクトルの検出結果より、動きベクトルを求める対象から排除することができる。
図7は、第3階層の画像データにおけるターゲットブロックの設定の仕方を説明するための図である。ベースブロック903の第3階層の画像データ701は4×4画素で構成され、新たに設定した第3階層の検出範囲の画像データ702は6×6画素で構成される。この図7の画像データ702は、図6の検出範囲604における画像データと同じものである。
ターゲットブロック711乃至719は、画像データ702内で1画素ずつずらした位置に設定される。なお、ターゲットブロック715の位置が、図6のブロック603の位置と一致する。動きベクトル検出回路122は、ターゲットブロック711乃至719のそれぞれの画像データにおいて、画像データ701との画像の信号レベルの差分の絶対値の総和であるSADを求める。この場合は、9個のSADが求まる。動きベクトル検出回路122は、画像データ701との相関が最も高い、すなわちSADが最も小さくなるターゲットブロックを選択する。この選択されたターゲットブロックの位置と射影ブロック904との位置(図6のブロック602の位置)とのずれが動きベクトルとなる。例えば、ターゲットブロック716の画像データのSADが最も小さいのであれば、動きベクトル検出回路121は、動きベクトルの検出結果として、ブロック602の位置から左に1画素、上に2画素移動させたことを示す(−1,−2)を出力する。
動きベクトル検出回路123は、動きベクトル検出回路122より動きベクトルの検出結果を受け取る。動きベクトル検出回路123は、メモリ103に記憶されたベースブロック903の第2階層の画像データを読み出す。また、動きベクトル検出回路123は、メモリ113に記憶された第2階層の画像データのうち、動きベクトル検出回路122における検出結果に応じた領域の画像データを読み出す。そして、動きベクトル検出回路123は、第2階層の画像データを用いて、第3階層の画像データに対する動きベクトル検出回路122と同様の処理を行って、第2階層の画像データにおける動きベクトルを検出する。
同様に、動きベクトル検出回路124は、動きベクトル検出回路123より動きベクトルの検出結果を受け取る。動きベクトル検出回路124は、メモリ101に記憶されたベースブロック903の第1階層の画像データを読み出す。また、動きベクトル検出回路124は、メモリ111に記憶された第1階層の画像データのうち、動きベクトル検出回路123における検出結果に応じた領域の画像データを読み出す。そして、動きベクトル検出回路124は、第1階層の画像データを用いて、第2階層の画像データに対する動きベクトル検出回路122と同様の処理を行って、第1階層の画像データにおける動きベクトルを検出する。そして、この動きベクトル検出回路124から出力された検出結果が、このベースブロック903の最終的な動きベクトルとなる。
したがって、SADの演算量は、動きベクトル検出回路121乃至124でそれぞれ9回となるため、合計36回で済むことになる。このように、本実施形態の画像処理装置は、第n階層の画像データで求めた動きベクトルを2倍することにより得られる位置を中心として第n−1階層での相関の検出範囲を求め、この検出範囲内で第n−1階層の動きベクトルを検出する。ここで、nは2以上の自然数である。画像データを生成する階層を増やした場合には、この処理を繰り返す回数を増やせばよい。また、第n−1階層の画像データを縦横ともに1/m倍にして第n階層の画像データを生成するのであれば、第n階層の画像データから求めた動きベクトルをm倍することで、第n−1階層の画像データの射影ブロックの中心位置を求めることができる。
次に、図3に示す階層決定処理において、制御回路109が第1乃至第3階層の画像データを用いると決定した(S314)場合について説明する。動きベクトル検出回路122は、メモリ105に記憶されたベースブロック903の第3階層の画像データを読み出す。また、動きベクトル検出回路122は、メモリ115に記憶された第3階層の画像データのうち、検出範囲905に対応する領域の画像データを読み出す。この場合、第4階層の画像データを用いて動きベクトルを検出することは行われないので、動きベクトル検出回路122は、動きベクトル検出回路121より動きベクトルの検出結果を受け取ることはない。
そのため、動きベクトル検出回路122は、検出範囲905の第3階層の画像データは8×8画素であるため、動きベクトル検出回路122はこの8×8画素を検出範囲として動きベクトルを検出する。ベースブロック903の第3階層の画像データが4×4画素であるため、ここでは25個のSADを求めることになる。動きベクトル検出回路122は、SADが最も小さくなるターゲットブロックの位置を求め、射影ブロック904との位置のずれを動きベクトルとして出力する。
続いて、動きベクトル検出回路123は、動きベクトル検出回路122より動きベクトルの検出結果を受け取る。動きベクトル検出回路123は、メモリ103に記憶されたベースブロック903の第2階層の画像データを読み出す。また、動きベクトル検出回路123は、メモリ113に記憶された第2階層の画像データのうち、動きベクトル検出回路122における検出結果に応じた領域の画像データを読み出す。以降は上述したものと同様の方法で、動きベクトル検出回路123が第2階層における動きベクトルを検出する。
続いて、動きベクトル検出回路124は、動きベクトル検出回路123より動きベクトルの検出結果を受け取る。動きベクトル検出回路124は、メモリ101に記憶されたベースブロック903の第1階層の画像データを読み出す。また、動きベクトル検出回路124は、メモリ111に記憶された第1階層の画像データのうち、動きベクトル検出回路123における検出結果に応じた領域の画像データを読み出す。以降は上述したものと同様の方法で、動きベクトル検出回路124が第1階層における動きベクトルを検出する。
次に、図3に示す階層決定処理において、制御回路109が第1および第2階層の画像データを用いると決定した(S315)場合について説明する。動きベクトル検出回路123は、メモリ103に記憶されたベースブロック903の第2階層の画像データを読み出す。また、動きベクトル検出回路123は、メモリ113に記憶された第2階層の画像データのうち、検出範囲905に対応する領域の画像データを読み出す。この場合、第3階層の画像データを用いて動きベクトルを検出することは行われないので、動きベクトル検出回路123は、動きベクトル検出回路122より動きベクトルの検出結果を受け取ることはない。
そのため、動きベクトル検出回路123は、検出範囲905の第2階層の画像データは16×16画素であるため、動きベクトル検出回路122はこの16×16画素を検出範囲として動きベクトルを検出する。ベースブロック903の第2階層の画像データが8×8画素であるため、ここでは81個のSADを求めることになる。動きベクトル検出回路123は、SADが最も小さくなるターゲットブロックの位置を求め、射影ブロック904との位置のずれを動きベクトルとして出力する。
続いて、動きベクトル検出回路124は、動きベクトル検出回路123より動きベクトルの検出結果を受け取る。動きベクトル検出回路124は、メモリ101に記憶されたベースブロック903の第1階層の画像データを読み出す。また、動きベクトル検出回路124は、メモリ111に記憶された第1階層の画像データのうち、動きベクトル検出回路123における検出結果に応じ多領域の画像データを読み出す。以降の処理は上述した通りである。
図3に示す階層決定処理において、制御回路109が第1階層の画像データのみを用いると決定した(S316)場合には、制御回路109は縮小回路112乃至116に処理をさせず、動きベクトル検出回路124のみに動きベクトルを検出するよう指示を出す。動きベクトル検出回路124は、メモリ101に記憶されたベースブロック903の第1階層の画像データを読み出す。また、動きベクトル検出回路124は、メモリ111に記憶された第1階層の画像データのうち、検出範囲905に対応する領域の画像データを読み出す。この場合、第2階層の画像データを用いて動きベクトルを検出することは行われないので、動きベクトル検出回路124は、動きベクトル検出回路123より動きベクトルの検出結果を受け取ることはない。
そのため、動きベクトル検出回路124は、検出範囲905の第1階層の画像データが32×32画素であるため、動きベクトル検出回路123はこの32×32画素を検出範囲として動きベクトルを検出する。ベースブロック903の第1階層の画像データが16×16画素であるため、ここでは289個のSADを求めることになる。動きベクトル検出回路124は、SADが最も小さくなるターゲットブロックの位置を求め、射影ブロック904との位置のずれを、ベースブロック903の最終的な動きベクトルとして出力する。
そして、制御回路109は、画像データ901のいずれかのベースブロック903における動きベクトルを検出できたのであれば、別のベースブロック903における動きベクトルの検出へと進む。あるいは、主被写体領域のように、画像データ901の一部の領域のみをベースブロック903として、この一部の領域における動きベクトルのみを検出するようにしてもよい。
このように、本実施形態の画像処理装置によれば、画像データ間の相関を演算する際に、演算量を減らすために段階的に縮小した複数の階層の画像データを用いている。しかしながら、画像データを縮小することによって相関を誤判定する可能性が増加するため、その可能性の大きさを評価する評価値を算出し、この評価値に応じて動きベクトルの検出に用いる画像データの階層を決定している。したがって、本実施形態の画像処理装置によれば、動きベクトルの誤検出を抑えつつ、動きベクトルの検出における演算負荷を減少させることが可能となる。
(第2の実施形態)
上記実施形態の構成では、第n階層の画像データから動きベクトルの検出を行える場合と、第n−1階層の画像データからしか動きベクトルの検出を行えない場合とで、SADの演算量に大きな違いが生じていた。
そこで、第2の実施形態では、第n階層の画像データから動きベクトルの検出を行えない場合であっても、第n−1階層の画像データにおける動きベクトルの検出のための演算量を抑えることが可能な構成について説明する。
ここでは、図3に示す階層決定処理において、制御回路109が第1乃至第3階層の画像データを用いると決定した(S314)場合を例にあげて説明する。動きベクトル検出回路122は、メモリ105に記憶されたベースブロック903の第3階層の画像データを読み出す。また、動きベクトル検出回路122は、メモリ115に記憶された第3階層の画像データのうち、検出範囲905に対応する領域の画像データを読み出す。ベースブロック903の第3階層の画像データが4×4画素であり、検出範囲905の第3階層の画像データは8×8画素である。第1の実施形態では、動きベクトル検出回路122は検出範囲905の中で1つずつ位置をずらしてターゲットブロックを設定していたため、25個のターゲットブロックが設定されていた。
これに対し、本実施形態では、動きベクトル検出回路122は検出範囲905の中で2つずつ位置をずらしてターゲットブロックを設定する。図8は、第3階層の画像データにおけるターゲットブロックの設定の仕方を説明するための図である。図8に示すように、ベースブロック903の第3階層の画像データ801は4×4画素で構成され、第3階層の検出範囲905に対応する画像データ802は8×8画素で構成される。ターゲットブロック811〜819は、画像データ802内で2画素ずつずらした位置に設定される。ターゲットブロック815の画像データの位置が、射影ブロック904の位置と一致する。
動きベクトル検出回路122は、これら9個のターゲットブロック811〜819の中から最もSADが小さくなるターゲットブロックを選択する。そして、動きベクトル検出回路122は、選択したターゲットブロックを中心として、図7と同様に上下左右に1画素ずつずらすための6×6画素の検索範囲を新たに設定し、9個のターゲットブロックを設定する。そして、動きベクトル検出回路122は、この中から最もSADが小さくなるターゲットブロックのターゲットブロック815に対するずれを、第3階層における動きベクトルの検出結果として出力する。
このように、ターゲットブロックのずらす量を変えて段階的にSADを求めることで、18個のSADで動きベクトルを検出することができるようになる。ここでは第3階層の画像データを例にあげて説明を行ったが、第2階層や第1階層でも同様の処理を適用することが可能である。また、ここではターゲットブロックの設定を2段階にわけて動きベクトルを求める例をあげて説明を行ったが、これに限られるものではない。ターゲットブロックのずらす量を4画素、2画素、1画素と3段階に設定したり、8画素、4画素、2画素、1画素と4段階に設定したりしても構わない。必要とされるSADの演算量に応じて、適宜この段数を設定すればよい。
このように、本実施形態の画像処理装置によれば、より画素数の低い階層の画像データを生成しない場合であっても、動きベクトルの誤検出を抑えつつ、動きベクトルの検出における演算負荷を減少させることが可能となる。
なお、上記の各実施形態によれば、評価回路108はベースブロック903の画像データを用いて、ベースブロック903ごとに評価値を求めることができる構成となっていたが、これに限られるものではない。ベースブロック903を縮小するための縮小回路102乃至106とは別の縮小回路を設け、画像データ901全体を対象として各階層の画像データを生成するようにしてもよい。この場合、画像データ901全体を対象とした各階層の画像データから評価値を求め、この画像データ901全体を対象とした評価値から、全てのベースブロック903においてどの階層の画像データから動きベクトルを検出するかを決定すればよい。あるいは、例えばウェーブレット変換によって画像データ901を周波数帯域の異なる複数の階層の画像データに分離し、これらの階層の画像データから評価値を求めるようにしてもよい。
さらには、評価回路108は、画像データ901の代わりに、画像データ901との相関を求めるための画像データ902を用いて、評価値を求めるようにしてもよい。画像データ901と画像データ902が、動画像中で連続するフレームの画像データであるならば、どちらも用いて評価値を求めたとしても、さほど違いは生じない可能性が高いためである。
あるいは、画像データ901と画像データ902の両方から評価値を求め、ともに評価値が閾値以上である場合に、その階層の画像データを用いて動きベクトルを検出するように構成してもよい。
また、評価回路108による評価値に関わらず、画素数が所定値以下となる階層の画像データからは動きベクトルを検出しないように構成してもよい。つまり、ユーザーが設定した第1階層の画像データの画素数に応じて、自動的にどの階層の画像データまでを生成可能であるかを決定する構成としてもよい。
さらに、上述した画像処理装置は、動画像を撮影することができるカメラ内部に搭載してもよい。カメラ内部で上記処理を生成した動画像に対してリアルタイムで実行することで、防振処理を効果的に行うことができるようになる。あるいは、プロバイダサーバが上記の画像処理装置を有し、インターネット回線を通して、ユーザ端末から通信されてきた動画像や連射画像に対して、動きベクトルを検出するように構成してもよい。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するプログラムコードを含むソフトウェア(プログラム)を、ネットワーク又は各種の不揮発性の記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
101、103、105、107、111、113、115、117 メモリ
102、104、106、112、114、116 縮小回路
108 評価回路
109 制御回路
121、122、123、124 動きベクトル検出回路
401 ハイパスフィルタ回路
402 絶対値回路
403 積分回路
1001 演算回路

Claims (6)

  1. 画像データを縮小して別の階層の画像データを生成する処理を繰り返し、複数の階層の画像データを生成する縮小手段と、
    前記複数の階層の画像データの鮮鋭度に関する評価値を算出する評価手段と、同じ階層の複数の画像データのいずれかの位置をずらしながら相関を求めることで、前記複数の画像データの間の動きベクトルを検出する動きベクトル検出手段を有し、
    前記評価値は前記鮮鋭度が高いほど大きな値となり、
    前記動きベクトル検出手段は、
    第1階層の画像データを縮小して生成した第2階層の画像データから算出された前記評価値が予め定めた閾値以上であれば、前記第2階層の画像データにおける第1の動きベクトルをもとに前記第1階層の画像データにおける第1の検出範囲を設定し、前記第1階層の複数の画像データのいずれかの位置を第1の量だけずらしながら、前記第1階層の画像データのうちの前記第1の検出範囲における画像データの相関を求めて前記第1階層の画像データにおける第2の動きベクトルを検出し、
    前記第2階層の画像データから算出された評価値が前記予め定めた閾値以上でなければ、前記第1階層の複数の画像データのいずれかの位置を第1の量より大きな第2の量だけずらしながら相関を求めて第3の動きベクトルを検出し、検出した前記第3の動きベクトルをもとに前記第1階層の画像データにおける第2の検出範囲を設定し、前記第1階層の複数の画像データのいずれかの位置を前記第2の量よりも小さい第3の量だけずらしながら、前記第1階層の画像データのうちの前記第2の検出範囲における画像データの相関を求めて、前記第1階層の画像データにおける第4の動きベクトルを検出し、
    前記評価値が予め閾値以上である複数の階層の画像データのうち、最も縮小された階層の画像データから順に、動きベクトルの検出と相関の検出範囲の設定を繰り返すものであって、
    前記予め定めた閾値は複数の階層の画像データごとに異なる値に設定されており、最も縮小された階層の画像データに対応する閾値から順に、小さな値に設定されることを特徴とする画像処理装置。
  2. 前記評価手段は、前記画像データから抽出した高域成分の値を用いて前記評価値を算出することを特徴とする請求項1に記載の画像処理装置。
  3. 前記評価手段は、前記画像データから高域成分を抽出するフィルタ手段と、前記フィルタ手段の出力の絶対値を積分する積分手段を有することを特徴とする請求項に記載の画像処理装置。
  4. 縮小手段が画像データを縮小して別の階層の画像データを生成する処理を繰り返し、複数の階層の画像データを生成する工程と、
    評価手段が前記複数の階層の前記画像データの鮮鋭度に関する評価値を算出する工程と、
    動きベクトル検出手段が同じ階層の複数の画像データのいずれかの位置をずらしながら相関を求めることで、前記複数の画像データの間の動きベクトルを検出する工程を有し、
    前記評価値は前記鮮鋭度が高いほど大きな値となり、
    前記動きベクトル検出手段は、
    第1階層の画像データを縮小して生成した第2階層の画像データから算出された前記評価値が予め定めた閾値以上であれば、前記第2階層の画像データにおける第1の動きベクトルをもとに前記第1階層の画像データにおける第1の検出範囲を設定し、前記第1階層の複数の画像データのいずれかの位置を第1の量だけずらしながら、前記第1階層の画像データのうちの前記第1の検出範囲における画像データの相関を求めて前記第1階層の画像データにおける第2の動きベクトルを検出し、
    前記第2階層の画像データから算出された評価値が前記予め定めた閾値以上でなければ、前記第1階層の複数の画像データのいずれかの位置を第1の量より大きな第2の量だけずらしながら相関を求めて第3の動きベクトルを検出し、検出した前記第3の動きベクトルをもとに前記第1階層の画像データにおける第2の検出範囲を設定し、前記第1階層の複数の画像データのいずれかの位置を前記第2の量よりも小さい第3の量だけずらしながら、前記第1階層の画像データのうちの前記第2の検出範囲における画像データの相関を求めて、前記第1階層の画像データにおける第4の動きベクトルを検出し、
    前記評価値が予め閾値以上である複数の階層の画像データのうち、最も縮小された階層の画像データから順に、動きベクトルの検出と相関の検出範囲の設定を繰り返すものであって、
    前記予め定めた閾値は複数の階層の画像データごとに異なる値に設定されており、最も縮小された階層の画像データに対応する閾値から順に、小さな値に設定されることを特徴とする画像処理方法。
  5. コンピュータが読み出すことで、該コンピュータに請求項に記載画像処理方法を実行させるプログラムコードを含むプログラム。
  6. 請求項に記載のプログラムを記憶した不揮発性の記憶媒体。
JP2010156921A 2010-07-09 2010-07-09 画像処理装置および画像処理方法 Expired - Fee Related JP5683153B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010156921A JP5683153B2 (ja) 2010-07-09 2010-07-09 画像処理装置および画像処理方法
US13/178,416 US8761522B2 (en) 2010-07-09 2011-07-07 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010156921A JP5683153B2 (ja) 2010-07-09 2010-07-09 画像処理装置および画像処理方法

Publications (2)

Publication Number Publication Date
JP2012019465A JP2012019465A (ja) 2012-01-26
JP5683153B2 true JP5683153B2 (ja) 2015-03-11

Family

ID=45438634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010156921A Expired - Fee Related JP5683153B2 (ja) 2010-07-09 2010-07-09 画像処理装置および画像処理方法

Country Status (2)

Country Link
US (1) US8761522B2 (ja)
JP (1) JP5683153B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101978967B1 (ko) * 2012-08-01 2019-05-17 삼성전자주식회사 제스처의 방향에 기초하여 상기 제스처를 인식하는 제스처 인식 장치와 제스처 인식 방법
KR102290964B1 (ko) * 2014-02-19 2021-08-18 삼성전자주식회사 적응적 서치 레인지를 이용한 비디오 인코딩 장치 및 그 방법
US11750552B2 (en) 2016-06-21 2023-09-05 Pearson Education, Inc. Systems and methods for real-time machine learning model training

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2768669B2 (ja) * 1987-01-23 1998-06-25 株式会社日立製作所 Tv信号の動き補償フレーム間符号化装置
JPH02131690A (ja) * 1988-11-11 1990-05-21 Japan Radio Co Ltd 動き補償回路
FR2663178B1 (fr) * 1990-06-06 1995-07-21 Thomson Csf Procede d'estimation hierarchique du mouvement dans une sequence d'images.
JP3277418B2 (ja) * 1993-09-09 2002-04-22 ソニー株式会社 動きベクトル検出装置および方法
JP3846642B2 (ja) * 1994-01-31 2006-11-15 ソニー株式会社 動き量検出方法及び動き量検出装置
TW321748B (ja) * 1994-02-23 1997-12-01 Rca Thomson Licensing Corp
JP3724653B2 (ja) * 1995-03-20 2005-12-07 ソニー株式会社 動き量検出方法及び動き量検出装置
US6430317B1 (en) * 1997-12-31 2002-08-06 Sarnoff Corporation Method and apparatus for estimating motion using block features obtained from an M-ary pyramid
US6560371B1 (en) * 1997-12-31 2003-05-06 Sarnoff Corporation Apparatus and method for employing M-ary pyramids with N-scale tiling
US6295377B1 (en) * 1998-07-13 2001-09-25 Compaq Computer Corporation Combined spline and block based motion estimation for coding a sequence of video images
US6594397B1 (en) * 2000-03-03 2003-07-15 Tektronix, Inc. Adaptive multi-modal motion estimation for video compression
JP2001298745A (ja) * 2000-04-17 2001-10-26 Sharp Corp 動きベクトル探索装置および方法
US6842483B1 (en) * 2000-09-11 2005-01-11 The Hong Kong University Of Science And Technology Device, method and digital video encoder for block-matching motion estimation
EP1259079B1 (en) * 2001-04-30 2007-03-21 STMicroelectronics Pvt. Ltd An efficient low power motion estimation of a video frame sequence
US7239721B1 (en) * 2002-07-14 2007-07-03 Apple Inc. Adaptive motion estimation
JP4383367B2 (ja) * 2005-02-24 2009-12-16 三洋電機株式会社 動きベクトル検出装置
US7983341B2 (en) * 2005-02-24 2011-07-19 Ericsson Television Inc. Statistical content block matching scheme for pre-processing in encoding and transcoding
JP4885698B2 (ja) * 2006-12-20 2012-02-29 富士フイルム株式会社 動きベクトル算出装置、方法およびプログラム、動画像圧縮記録装置ならびに撮像装置
JP2008193456A (ja) * 2007-02-06 2008-08-21 Nec Corp 動画像符号化における動き予測方法及び装置
JP2009055410A (ja) * 2007-08-28 2009-03-12 Sony Corp 画像処理装置および画像処理方法
JP2010074496A (ja) * 2008-09-18 2010-04-02 Fujitsu Ltd 動きベクトル検出処理装置本発明は、動画像情報をビデオストリームに符号化する動画像符号化処理における、演算量を削減した動きベクトル検出処理装置に関する。
JP4742325B2 (ja) * 2009-06-22 2011-08-10 カシオ計算機株式会社 動きベクトル検出装置、および、プログラム

Also Published As

Publication number Publication date
US20120008867A1 (en) 2012-01-12
US8761522B2 (en) 2014-06-24
JP2012019465A (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
AU2011216119B2 (en) Generic platform video image stabilization
US9824426B2 (en) Reduced latency video stabilization
CN108492287B (zh) 一种视频抖动检测方法、终端设备及存储介质
US20100142828A1 (en) Image matching apparatus and method
US8274602B2 (en) Image processing apparatus and image processing method with redundant frame detection
US20110033132A1 (en) Image correction apparatus and image correction method
JP4639555B2 (ja) 動きベクトル検出装置および方法、手振れ補正装置および方法、並びに撮像装置
US20200160560A1 (en) Method, system and apparatus for stabilising frames of a captured video sequence
JP5683153B2 (ja) 画像処理装置および画像処理方法
JP5082856B2 (ja) 画像処理方法、画像処理プログラム、画像処理装置、及び撮像装置
JP4496595B2 (ja) 画像処理装置および画像処理方法、並びに記録媒体
JPWO2010007777A1 (ja) 画像処理装置、画像処理方法、プログラム、記録媒体および集積回路
JP6057629B2 (ja) 画像処理装置、その制御方法、および制御プログラム
US20150310626A1 (en) Motion vector detector, distance detector, motion vector detection method and computer program product
JP2006215655A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
JP4289170B2 (ja) ノイズ量測定装置および映像受像機
JP2006215657A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
JP2009044456A (ja) 画像符号化装置および画像符号化方法
JP2006279413A (ja) 動きベクトル検出装置、画像表示装置、画像撮像装置、動きベクトル検出方法、プログラムおよび記録媒体
JP2009267726A (ja) 動画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム
JP2009187429A (ja) 画像処理装置と画像処理方法
JP3171249B2 (ja) 動画像符号化の動きベクトル探索方法
JP2008257321A (ja) 顔検出装置
JP2007180691A (ja) ノイズ量測定装置
KR100831941B1 (ko) 카메라의 광역 움직임 정보 추출방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140922

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: 20141216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150113

R151 Written notification of patent or utility model registration

Ref document number: 5683153

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees