JP2013066164A - 画像処理装置、および画像処理方法、並びにプログラム - Google Patents

画像処理装置、および画像処理方法、並びにプログラム Download PDF

Info

Publication number
JP2013066164A
JP2013066164A JP2012145054A JP2012145054A JP2013066164A JP 2013066164 A JP2013066164 A JP 2013066164A JP 2012145054 A JP2012145054 A JP 2012145054A JP 2012145054 A JP2012145054 A JP 2012145054A JP 2013066164 A JP2013066164 A JP 2013066164A
Authority
JP
Japan
Prior art keywords
block
motion vector
lmv
local motion
reliability
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.)
Ceased
Application number
JP2012145054A
Other languages
English (en)
Inventor
Ken Tamayama
研 玉山
Masaki Handa
正樹 半田
Aoki Eyama
碧輝 江山
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2012145054A priority Critical patent/JP2013066164A/ja
Priority to PCT/JP2012/068554 priority patent/WO2013031424A1/ja
Priority to US14/240,059 priority patent/US9177386B2/en
Priority to CN201280040885.7A priority patent/CN103765898A/zh
Publication of JP2013066164A publication Critical patent/JP2013066164A/ja
Ceased legal-status Critical Current

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

【課題】信頼度の高いグローバル動きベクトル(GMV)の算出を実行する装置および方法を提供する。
【解決手段】ブロック対応のローカル動きベクトル(LMV)と、ブロック各々のLMVの信頼度指標としてのブロック重みを算出し、ブロック重みに応じてグローバル動きベクトル(GMV)を算出する。注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル(LMV)の信頼度と、注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)の類似度を算出し、信頼度と類似度を適用した演算処理により、ブロック重みを算出する。本構成により、信頼度の高いグローバル動きベクトル(GMV)を効率的に算出することが可能となる。
【選択図】図4

Description

本開示は、画像処理装置、および画像処理方法、並びにプログラムに関する。特に、画像の動きベクトル検出処理を実行する画像処理装置、および画像処理方法、並びにプログラムに関する。
動画像の圧縮などの画像符号化においては動きベクトルを検出し、動きベクトル情報に基づくデータ圧縮処理が実行される。画像符号化方式として知られるMPEG方式では、例えば、各フレームをブロック分割して、現在フレームと参照フレームの対応ブロックごとに動きベクトルを検出する処理が実行される。しかし、ブロック単位の動きベクトル情報を圧縮データに含めるとデータ量が増大することになる。カメラが例えばパン、チルト、あるいは手ぶれなどで移動した場合、各ブロックの動きベクトルはほぼ共通であり、このような場合ブロック単位の動きベクトルではなく、1つのフレームに対応する1つの動きベクトルを設定して符号化処理を行うことでデータ量の削減が可能となる。
個々のブロック単位の動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)と呼び、1つのフレームに対応する1つの動きベクトルはグローバル動きベクトル(GMV:Global Motion Vector)と呼ばれる。グローバル動きベクトル(GMV)を利用したデータ符号化は、例えばMPEG−4において採用されている。
例えば、図1(a)に示すように、時間t0,t1の時間で撮影された2つのフレーム画像10,11があるとする。この2フレームではカメラが例えばパン、チルト、あるいは手ぶれなどで移動して撮影されたフレームであり、撮影画像が図に示す通り、全体的に移動している。
このような画像を符号化するような場合、各フレームを例えばn画素×n画素の複数のブロックに分割して、各ブロック単位の動きベクトル(MV:Motion Vector)、すなわち、ローカル動きベクトル(LMV)を検出して、個別のブロック単位の動きベクトルを利用したデータ圧縮および復元処理が従来は行われていた。しかし、パン、チルト、あるいは手ぶれなどでカメラが移動した場合、図1(b)に示すように、どのブロックの動きベクトルもほぼ同じベクトルとなる。
このような場合、図1(c)に示すように画面全体の動きを表現する1つの動きベクトル21を用い、画像符号化を実行することにより符号化効率を大幅に改善できる。このような画面全体の動きを表現するベクトルがグローバル動きベクトル(GMV:Global Motion Vector)と呼ばれる。
グローバル動きベクトル(GMV)は、図に示すような単純な平行移動の他、複数パラメータを用いて、回転、拡大、縮小を伴ったもの、アフィン(Affine)変換、投射影変換を用いたデータとして表現可能である。前述したようにグローバル動きベクトル(GMV)を適用した符号化方法は、MPEG−4等で採用されている。
MPEG−4では、グローバル動きベクトル(GMV)を適用し、グローバル動き補償(GMC:Global Motion Compensation)を用いた画像符号化手法が規格として採用されており、符号化装置(Encoder)側でグローバル動きベクトル(GMV)を検出し、復号装置(Decoder)側で伝送されたグローバル動きベクトル(GMV)を用いてグローバル動き補償(GMC)による復元が実行される。
グローバル動きベクトル(GMV)は、図2に示すように現在フレームと参照フレーム間の対応する類似画素位置(x,y),(x',y')の関係を平行移動、回転、拡大、縮小、アフィン(Affine)変換、投射影変換などを用いたデータとして表現され、通常は、1つのフレーム画像に対し、1つのグローバル動きベクトル(GMV)が適用される。なお、例えば通常のブロックサイズより大きなサイズに画面を分割し、各々にグローバル動きベクトル(GMV)を設定してもよい。すなわち、グローバル動きベクトル(GMV)はフレーム画像に対して1つとは限らず、フレーム画像に含まれる複数のブロックに共通の動きベクトルとして1つのグローバル動きベクトル(GMV)を設定し、1フレームに複数のグローバル動きベクトル(GMV)を設定する構成としてもよい。
グローバル動きベクトル(GMV)は、例えば平行移動(並進)のみを示すベクトルの場合は、2つのパラメータ[a,a]を用いて以下のように表現される。
x'=x+a
y'=y+a
平行移動(並進)と回転を考慮したグローバル動きベクトル(GMV)は、3つのパラメータ[a,a,a]を用いて以下のように表現される。
x'=sinax−cosay+a
y'=cosax+sinay+a
アフィン変換に対応するグローバル動きベクトル(GMV)は、6つのパラメータ[a,a,a,a,a,a]を用いて以下のように表現される。
x'=ax−ay+a
y'=ax+ay+a
投射変換に対応するグローバル動きベクトル(GMV)は、8つのパラメータ[a,a,a,a,a,a,a,a]を用いて以下のように表現される。
x'=((ax+ay+a)/(ax+ay+1))
y'=((ax+ay+a)/(ax+ay+1))
動画像フレームからグローバル動きベクトル(GMV)を求める場合、図2に示すように、現在フレームと、例えば現在フレームの前後いずれかの時間に撮影された参照フレームとを用いた処理が実行される。グローバル動きベクトル(GMV)を求める手法にはいくつかの手法があるが、その1つの手法として、まず、フレーム画像の分割領域であるブロック単位のローカル動きベクトル(LMV)を求め、ローカル動きベクトル(LMV)を利用してグローバル動きベクトル(GMV)を求める手法がある。
この手法は、まず、ブロック単位のローカル動きベクトル(LMV)を求め、さらに、ブロック数に対応する複数のローカル動きベクトル(LMV)から信頼度の高いローカル動きベクトル(LMV)を選択し、選択された信頼度の高いローカル動きベクトル(LMV)のみに基づいて1つのグローバル動きベクトル(GMV)を求める手法である。
例えば、p個のブロック数に対応するp個のローカル動きベクトル(LMV)が求められた場合、p個中からq個の信頼度の高いローカル動きベクトル(LMV)を選択し、(p−q)個の信頼度の低いローカル動きベクトル(LMV)は利用することなく、m個の信頼度の高いローカル動きベクトル(LMV)のみに基づいて1つのグローバル動きベクトル(GMV)を求める。
ローカル動きベクトル(LMV)の信頼度情報としては、例えば現在フレームと参照フレームとのブロックマッチングで明確な特徴点一致情報が得られているか否かといった情報が利用される。また、信頼度の高いローカル動きベクトル(LMV)に基づいて1つのグローバル動きベクトル(GMV)を求める手法としては、例えば最小二乗法が適用される。
このローカル動きベクトル(LMV)を利用したグローバル動きベクトル(GMV)の導出手法は、従来のローカル動きベクトル(LMV)算出の延長上で実行可能であり、既存の構成を利用可能であるという利点がある。しかし、信頼度の高いローカル動きベクトル(LMV)の数が少ない場合、グローバル動きベクトル(GMV)の信頼度が極端に低下するという欠点がある。
上記欠点を解決するための1つの提案として、特許文献1(特開2009−65332号公報)に記載された技術がある。
この特許文献1は、例えば、動画像を構成するフレーム画像の分割領域であるブロックに対応するローカル動きベクトル(LMV)の平均値を求めて、その平均値との比較する方法を開示している。
しかし、ある画像領域に様々な異なるローカル動きベクトル(LMV)が設定されている場合などには、たまたま平均値が注目ブロックのベクトルに近いベクトルになってしまうといった場合も発生し、状況によっては正確な処理ができなくなる場合が発生するといった問題がある。
特開2009−065332号公報
本開示は、例えば上記問題点に鑑みてなされたものであり、より信頼度の高いグローバル動きベクトル(GMV)を算出可能とした画像処理装置、および画像処理方法、並びにプログラムを提供することを目的とする。
本開示の第1の側面は、
フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)として算出するローカル動きベクトル算出部と、
前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出するブロック重み算出部と、
前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出するグローバル動きベクトル算出部を有し、
前記ブロック重み算出部は、
注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル(LMV)の信頼度と、
前記注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)の類似度を算出し、
前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出する画像処理装置にある。
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、前記信頼度の高い信頼される近傍ブロックを信頼近傍ブロックとして抽出し、さらに、前記信頼近傍ブロック中、前記類似度の高い類似ブロックを抽出し、前記信頼近傍ブロックに対する前記類似ブロックの比率を前記注目ブロックの重みとして設定する処理を実行する。
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、各ブロック対応のローカル動きベクトル(LMV)によって対応付けられるブロック間の画素値差分絶対値和を適用して前記信頼度を算出する。
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、各ブロック対応のローカル動きベクトル(LMV)によって対応付けられるブロックの分散値または特徴点数を適用して前記信頼度を算出する。
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)が1つのグローバル動き(GMV)の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する。
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、画像処理装置内の画像補正部において回転補正可能な許容回転角度を考慮し、注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)が前記許容回転角度以内のグローバル動き(GMV)の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する。
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度と、近傍ブロックの信頼度との乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果と、注目ブロックの信頼度を乗算して前記ブロック重みを算出する。
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度と近傍ブロックの信頼度の乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する。
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度の加算値を、近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する。
さらに、本開示の画像処理装置の一実施態様において、前記グローバル動きベクトル算出部は、各ブロック対応のローカル動きベクトル(LMV)と、各ブロック重みを適用したコスト演算式を適用して、コストを最小とするグローバル動きベクトル(GMV)のパラメータを算出する。
さらに、本開示の画像処理装置の一実施態様において、前記グローバル動きベクトル算出部は、並進および回転を考慮した3軸対応のグローバル動きベクトルのパラメータ、またはアフィン変換を考慮した6軸対応のグローバル動きベクトルのパラメータを算出する。
さらに、本開示の第2の側面は、
画像処理装置において実行する画像処理方法であり、
ローカル動きベクトル算出部が、フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)として算出するローカル動きベクトル算出ステップと、
ブロック重み算出部が、前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出するブロック重み算出ステップと、
グローバル動きベクトル算出部が、前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出するグローバル動きベクトル算出ステップを実行し、
前記ブロック重み算出部は、前記ブロック重み算出ステップにおいて、
注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル(LMV)の信頼度と、
前記注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)の類似度を算出し、
前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出する画像処理方法にある。
さらに、本開示の第3の側面は、
画像処理装置において画像処理を実行させるプログラムであり、
ローカル動きベクトル算出部に、フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)として算出させるローカル動きベクトル算出ステップと、
ブロック重み算出部に、前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出させるブロック重み算出ステップと、
グローバル動きベクトル算出部に、前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出させるグローバル動きベクトル算出ステップを実行させ、
前記ブロック重み算出ステップにおいて、
注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル(LMV)の信頼度と、
前記注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)の類似度を算出し、
前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出させるプログラムにある。
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本開示の一実施例の構成によれば、信頼度の高いグローバル動きベクトル(GMV)の算出を実行する装置および方法が実現される。
具体的には、ブロック対応のローカル動きベクトル(LMV)と、ブロック各々のLMVの信頼度指標としてのブロック重みを算出し、ブロック重みに応じてグローバル動きベクトル(GMV)を算出する。注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル(LMV)の信頼度と、注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)の類似度を算出し、信頼度と類似度を適用した演算処理により、ブロック重みを算出する。
本構成により、信頼度の高いグローバル動きベクトル(GMV)を効率的に算出することが可能となる。
グローバル動きベクトル(GMV)について説明する図である。 現在フレームと参照フレームの対応点とグローバル動きベクトル(GMV)の関係について説明する図である。 ブロック単位の重み設定例について説明する図である。 画像処理装置の構成例について説明する図である。 ブロックマッチングによるローカル動きベクトル(LMV)の算出処理例について説明する図である。 本開示の画像処理装置の実行するブロック重み計算処理の概要について説明する図である。 本開示の画像処理装置の実行するブロック重み計算処理の具体例について説明する図である。 本開示の画像処理装置の実行するブロック重み決定処理において適用する信頼度算出処理について説明する図である。 本開示の画像処理装置の実行するブロック重み決定処理のシーケンスを説明するフローチャートを示す図である。 本開示の画像処理装置の実行するブロック重み決定処理において適用する類似度判定処理について説明する図である。 本開示の画像処理装置の実行するブロック重み決定処理において適用する類似度判定処理について説明する図である。 本開示の画像処理装置の実行するブロック重み決定処理において適用する類似度判定処理について説明する図である。 本開示の画像処理装置の実行する重み設定処理に適用する信頼度と類似度の設定例について説明する図である。 本開示の画像処理装置の実行するグローバル動きベクトル(GMV)の定義について説明する図である。 本開示の画像処理装置の実行するグローバル動きベクトル(GMV)の導出処理について説明する図である。 本開示の画像処理装置の一例である撮像装置の構成と処理について説明する図である。 本開示の画像処理装置の構成例について説明する図である。
以下、図面を参照しながら本開示の画像処理装置、および画像処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
1.ローカル動きベクトル(LMV)算出ブロックの重みに基づくグローバル動き推定(GME)処理について
2.ブロック重み算出処理の概要
3.ブロック重み算出処理の詳細
4.ブロック対応のローカル動きベクトル(LMV)の類似度判定処理の詳細
5.隣接ブロックのLMV信頼度と類似度判定に基づく重み算出処理例
6.グローバル動きベクトル算出部(GME)の処理について
7.画像処理装置の構成例について
8.本開示の構成のまとめ
[1.ローカル動きベクトル(LMV)算出ブロックの重みに基づくグローバル動き推定(GME)処理について]
まず、ローカル動きベクトル(LMV)を設定したLMV設定ブロックの重みに基づくグローバル動き推定(GME)処理について説明する。
本開示の画像処理装置は、連続撮影された画像を入力し、各画像間の動きに対応するグローバル動きベクトル(GMV)を求める処理を実行する。本開示の画像処理装置は、まず画像を構成するフレーム画像の分割領域であるブロック単位のローカル動きベクトル(LMV)を求め、ローカル動きベクトル(LMV)を利用してグローバル動きベクトル(GMV)を求める。
本開示の構成では、ローカル動きベクトル(LMV)に対応するブロック各々に対して信頼度や類似度を算出し、信頼度や類似度に応じた重み(Weight)を定義し、個々のローカル動きベクトル(LMV)の重み(Weight)を勘案してグローバル動きベクトル(GMV)を求める。
本開示の画像処理装置におけるグローバル動きベクトル(GMV)の導出手法の概要について、図3を参照して説明する。本開示の手法は、まず、図3(a)に示すように、1つのフレーム画像50を多数の画像区分領域であるブロック51に分割する。さらに、各ブロックに対するローカル動きベクトル(LMV)を求め、その後、図3(b)に示すように、全てのブロックに信頼度や類似度に応じた重み(weight)を設定する。図3(b)に示す0.3、0.5、1.0等の数値が各ブロック単位のローカル動きベクトル(LMV)の信頼度や類似度に応じた重み(weight)を示す数値である。1.0が最も信頼度や類似度の高いLMV対応の重みであり、信頼度や類似度の低いLMV対応の重みは数値が小さくなる。
本開示の画像処理装置におけるグローバル動きベクトル(GMV)の導出においては、に図3(b)のブロック単位の重み設定例に示すように、各ローカル動きベクトル(LMV)の設定ブロックに対して、ローカル動きベクトル(LMV)の信頼度やや類似度に応じた重みを設定する。
その後、個々のローカル動きベクトル(LMV)の重み(Weight)を考慮してグローバル動きベクトル(GMV)を求める。
グローバル動きベクトル(GMV)の算出処理の詳細について、図4を参照して説明する。図4は、本開示の画像処理装置内に設定されるグローバル動きベクトル(GMV)生成部の構成例を示している。入力は、現在フレーム画像と参照フレーム画像であり、出力がグローバル動きベクトル(GMV)となる。
参照フレーム画像は、現在フレーム画像と異なる時間に撮影された画像である。具体的には、現在フレーム画像の前フレーム、あるいは後フレームの画像である。各フレーム画像の撮影間隔は既知であるとする。
画像処理装置内に設定されるグローバル動きベクトル(GMV)生成手段は、図4に示すように、ローカル動きベクトル算出部(LME)101と、ブロック重み算出部102と、グローバル動きベクトル(GMV)算出部103を有する。
ローカル動きベクトル算出部(LME)101は、現在フレーム画像と、参照フレーム画像を入力して、1フレームを小領域のブロックに分割した各ブロック対応の動きベクトル、すなわちローカル動きベクトル(LMV)を算出する。なお、このローカル動きベクトル算出部(LME)101における処理は、従来から公知の例えばブロックマッチング処理を適用した処理として実行可能である。
すなわち、現在フレーム画像に設定したブロックの画素構成に最も近い画素構成を持つブロックを、参照フレーム画像から探索する。このブロック探索結果として得られた2つのブロック間の移動情報に基づいて各ブロック対応のローカル動きベクトル(LMV)を算出する。
図5を参照して、ブロックマッチング処理を適用したローカル動きベクトル(LMV)の算出処理例について説明する。
図5(a)には、現在フレーム画像(T)と、その現在フレーム画像の直前に撮影された参照フレーム画像(R)を示している。現在フレーム画像に設定したブロックbtの画素構成に最も近い画素構成を持つ参照フレーム画像内のブロックbrを探索する。
このbrからbtに向かうベクトルがローカル動きベクトル(LMV)となる。
このローカル動きベクトル(LMV)の算出処理は、図5(b)に示す式に従って実行される。
現在フレーム画像と参照フレーム画像の対応ブロックの画素値情報の差分絶対値和である最小残差(SAD:Sum of Absolute Difference)を生成して、このSAD値が最小となるブロックを対応ブロックとして選択して、ローカル動きベクトル(LMV)を算出する。
具体的には、以下の(式1)に従って、ローカル動きベクトル(LMV)を算出する。
・・・・・(式1)
なお、
(x,y)は、現在フレーム画像のブロックの1つの頂点座標、
(i,j)はブロックサイズ、
(X,Y)は、現在フレームと参照フレームの対応ブロックの移動量のx,yの各成分、
に相当する。
ローカル動きベクトル算出部(LME)101において算出したローカル動きベクトル(LMV)は、ブロック重み算出部102と、グローバル動きベクトル(GMV)算出部103に入力される。
また、ローカル動きベクトル算出部(LME)101は、ローカル動きベクトル(LMV)算出処理に際して、動き補償(MC:Motion Compensation)画像と、現在フレーム画像と参照フレーム画像の対応ブロックの画素情報の差分絶対値和である最小残差(SAD:Sum of Absolute Difference)を生成して、これらをブロック重み算出部102に入力する。
動き補償(MC:Motion Compensation)画像は、例えば参照フレームに基づいて生成した補正画像であり、現在フレーム画像の各画素位置の被写体が参照フレームの同じ画素位置に設定するように参照フレーム画像を補正した画像である。この補正画像は、例えば、各ブロック単位のローカル動きベクトル(LMV)の動き量だけ、参照フレーム画像の画素位置を移動させることで生成する。
ブロック重み算出部102は、現在フレーム画像のローカル動きベクトル(LME)算出単位であるブロック各々に対応するブロック対応重み(Weight)を算出して、グローバル動きベクトル算出部(GME)103に出力する。
ブロック対応重み(Weight)は、先に図3を参照して説明した重みであり、各ブロック対応のローカル動きベクトル(LME)の信頼度や類似度に応じて算出される。
このブロック対応重み(Weight)の算出処理の詳細については後述する。
グローバル動きベクトル算出部(GME)103は、ブロック重み算出部102の算出したブロック重み(Weight)と、ローカル動きベクトル算出部(LME)101の算出した各ブロック対応のローカル動きベクトル(LMV)を入力し、これらの入力データに基づいて、フレーム対応のグローバル動きベクトル(GMV)を算出する。
[2.ブロック重み算出処理の概要]
次に、ブロック重み算出部102の実行するブロック重み算出処理の概要について説明する。
ブロック重み算出部102は、現在フレーム画像に設定されたブロック各々の重み(weight)、すなわち各ブロック対応のローカル動きベクトル(LME)の信頼度や類似度に従った重み(weight)を算出する。ブロック重み算出部102の実行する処理について図6以下を参照して説明する。
図6は、ブロック重み算出部102の実行するブロック重み算出処理のアルゴリズムを示している。
ブロック重みを算出する対象となるブロックを注目ブロックとし、この注目ブロックの周囲の8ブロックを近傍ブロックとする。
まず、注目ブロックのローカル動きベクトル(LMV)と、近傍ブロック各々のローカル動きベクトル(LMV)の信頼度を算出する。
さらに、注目ブロックのローカル動きベクトル(LMV)と、近傍ブロック各々のローカル動きベクトル(LMV)との類似度を算出する。
これらの信頼度および類似度情報を適用して注目ブロックの重み(Weight)を算出する。
注目ブロックの重み(Weight)は、グローバル動きベクトル(GMV)を算出する際の各ローカル動きベクトル(LMV)の寄与度に対応する。
ブロック重み算出部102の実行するブロック重み算出処理の具体的な処理例について図7以下を参照して説明する。
まず、図7に示すように、ステップ(S1)において、注目ブロックの周囲の近傍ブロックから、各ブロックに対応して算出したローカル動きベクトル(LMV)の信頼度の高いブロックを選択する。
信頼度は、例えば、各ブロックに対応して算出したローカル動きベクトル(LMV)が信頼できる場合は[1]、信頼できない場合は[0]の設定とする。
図7に示す例では、信頼度の高い近傍ブロック、すなわち、信頼度=1の設定された近傍ブロック数=5である。
各ブロック対応のローカル動きベクトル(LMV)の信頼度は、様々な手法で算出可能である。
複数の信頼度算出処理例について、図8を参照して説明する。
図8には、以下の(1)〜(4)4つの信頼度算出処理例を示している。
(1)各ローカル動きベクトル(LMV)対するSAD値に基づく信頼度、
(2)ブロック内の画素値の分散に基づく信頼度、
(3)SADの第1、第2極小値との比に基づく信頼度、
(4)ブロック内の特徴点数に基づく信頼度、
(1)各ローカル動きベクトル(LMV)対するSAD値に基づく信頼度は、先に図5を参照して説明したローカル動きベクトル(LMV)の算出に際して求めた現在フレーム画像と参照フレーム画像の対応ブロックの画素情報の差分絶対値和である最小残差(SAD:Sum of Absolute Difference)の値、すなわちSAD(x,y,X,Y)を信頼度指標とする例である。
例えば、ブロック対応のLMV算出において算出したSADが既定閾値以下であれば、そのブロックのLMVの信頼度を1(信頼できる)、SADが既定閾値より大きい場合は、そのブロックのLMVの信頼度を0(信頼できない)と設定する。
(2)ブロック内の画素値の分散に基づく信頼度は、ローカル動きベクトル(LMV)の算出に適用した現在フレーム画像と参照フレーム画像の対応ブロックの分散の乗算値に従って設定する処理例である。
具体的には、以下の(式2)に従って信頼度(reliability)を算出する。
(式2)
なお、上記式において、
E(R(x,y))は、LMV算出に適用した参照フレーム画像のブロックの画素値平均、
V(R(x,y))は、LMV算出に適用した参照フレーム画像のブロックの画素値分散、
V(T(x,y))は、LMV算出に適用した現在フレーム画像のブロックの画素値分散、
である。
上記(式2)に従って算出したReliabilityが既定閾値以上であれば、そのブロックのLMVの信頼度を1(信頼できる)、Reliabilityが既定閾値未満である場合は、そのブロックのLMVの信頼度を0(信頼できない)と設定する。
(3)SADの第1、第2極小値との比に基づく信頼度は、先に図5を参照して説明したローカル動きベクトル(LMV)の算出に際して求めた現在フレーム画像と参照フレーム画像の対応ブロックの画素情報の差分絶対値和である最小残差(SAD:Sum of Absolute Difference)を適用する。
LMV算出に適用したSADをSADminとする。
さらに、ブロック探索において探索した結果として得られた2番目に小さいSADをSAD2ndとする。
この2つの極小値の比を以下の算出式(式3)で算出する。
・・・・・(式3)
上記(式3)によって算出したReliabilityが既定閾値以上であれば、そのブロックのLMVの信頼度を1(信頼できる)、Reliabilityが既定閾値未満である場合は、そのブロックのLMVの信頼度を0(信頼できない)と設定する。
(4)ブロック内の特徴点数に基づく信頼度は、先に図5を参照して説明したローカル動きベクトル(LMV)の算出に際して求めた現在フレーム画像と参照フレーム画像の対応ブロックの特徴点数の乗算値を信頼度の指標とする処理である。
具体的には、以下に示す(式4)に従って、対応ブロックの特徴点数の乗算値を算出する。
Reliability=NF(R(x,y))・(NF(T(x,y))
・・・・・(式4)
ただし、上記(式4)において、
NF(R(x,y))は、ローカル動きベクトル(LMV)の算出に際して求めた参照フレーム画像の対応ブロックの特徴点数、
NF(T(x,y))は、ローカル動きベクトル(LMV)の算出に際して求めた現在フレーム画像の対応ブロックの特徴点数、
である。
上記(式4)によって算出したReliabilityが既定閾値以上であれば、そのブロックのLMVの信頼度を1(信頼できる)、Reliabilityが既定閾値未満である場合は、そのブロックのLMVの信頼度を0(信頼できない)と設定する。
このように、各ブロック対応のローカル動きベクトル(LMV)の信頼度は、様々な手法で算出可能である。
図4に示すブロック重み算出部102では、図8を参照して説明した(1)〜(4)のいずれかの手法を適用して各ブロック対応の信頼度を算出する。なお、図8を参照して説明した(1)〜(4)の手法を組み合わせて適用して信頼度算出を行ってもよい。
図7に戻り、ブロック重み算出部102の処理シーケンスについての説明を続ける。
ステップ(S1)において、上述した処理に従って、各ブロックの信頼度として、1(信頼できる)、0(信頼できない)の各値を設定する。
次に、ステップ(S2)において、信頼度=1が設定された信頼可能なブロックのうち、注目ブロックのローカル動きベクトル(LMV)と、近傍ブロック各々のローカル動きベクトル(LMV)の差分が閾値以下の類似度の高い近傍ブロックの数を取得する。
図に示す例では、差分が閾値以下の類似度の高い、かつ信頼度=1の信頼できる近傍ブロックの数=3である。
次にステップ(S3)で、差分が閾値以下の信頼できる近傍ブロックの数の割合、すなわち、
(差分が閾値以下の信頼できる近傍ブロックの数)/(信頼可能な近傍ブロック数)
を算出する。
この例では、
(差分が閾値以下の信頼できる近傍ブロックの数)/(信頼可能な近傍ブロック数)
=3/5
=0.6
となる。
ブロック重み算出部102は、この算出値=0.6を、注目ブロックの重み(Weight)として設定し、グローバル動き算出部103に出力する。
[3.ブロック重み算出処理の詳細]
次に、図9以下を参照してブロック重み算出部102の実行するブロック重み算出処理の詳細シーケンスについて説明する。
図9は、ブロック重み算出部102の実行するブロック重み算出処理の詳細シーケンスを説明するフローチャートである。
フローの各ステップの処理について説明する。
なお、図9の(a),(b)に示すように、
注目ブロックをb0、近傍ブロックb1〜b8として、これらの9つのブロックを参照ブロックとする。
また、各ブロックに対応する信頼度として、
1:信頼できる
0:信頼できない
これらの信頼度情報を算出済みであるとする。
これらのブロック対応の信頼度情報は、先に図8を参照して説明した(1)〜(4)のいずれかの方法で算出される。なお、図8(1)の各LMVに対応するSAD値を用いる場合は、ローカル動き推定情報(Local Motion Estimation)の出力として得られるSAD値を信頼度情報(信頼度マップ)としてそのまま利用することが可能である。
ステップS101において、
注目ブロックb0が信頼できるか否かを判定する。
すなわち、信頼度=1の設定ブロックであるか否かを判定する。
注目ブロックが信頼度=1の設定ブロックであり、信頼できる場合はステップS102に進み、注目ブロックが信頼度=0の設定ブロックであり、信頼できない場合はステップS111に進み、重み(weight)を0に設定する。
すなわち、注目ブロックのローカル動きベクトル(LMV)が信頼可能か否かを判定し、信頼度=0の設定ブロックで信頼不可と判定した場合は、重み(Weight)=0で終了する。
ステップS101において注目ブロックb0が信頼できると判定し、ステップS102に進むと、ステップS102において初期化処理を行う。具体的には以下の処理を行う。
Reliability_Cnt=0;
under_threshhold_Cnt=0;
i=1;
ただし、
Reliability_Cnt:近傍8ブロック中の信頼度=1の設定された信頼可能ブロック数を示すカウンタ、
under_threshhold_Cnt:信頼可能ブロック中、注目ブロックとの差分が閾値以下の類似ブロックの数を示すカウンタ、
i:ブロック位置のindex
である。
次に、ステップS103において、近傍ブロックbiが信頼可能か否かを判定する。
注目ブロック近傍にある近傍ブロックbiが、信頼度=1の設定ブロックであり信頼可能であれば、ステップS104において、信頼ブロック数のカウンタ[Reliability_Cnt]をインクリメントする。
近傍ブロックbiが、信頼度=0の設定ブロックであり、信頼不可であれば、ステップS107に進む。
ステップS105では、注目ブロックb0とそのブロック近傍のあるブロックbiのローカル動きベクトル(LMV)の類似度を判定する。
具体的には、
注目ブロックb0のローカル動きベクトル(LMV)と、
近傍ブロックbiのローカル動きベクトル(LMV)と、
これら2つのローカル動きベクトルが1つの共通するグローバル動きベクトル(GMV)に対応した動きベクトルであるか否かを判定する。
例えば、各ローカル動きベクトル(LMV)のH方向成分とV方向成分それぞれの差分、それぞれ閾値範囲内に存在することが、「差分が閾値範囲内である」、すなわちYesの判定条件となる。
この類似度判定処理の詳細については後述する。
ステップS105において、注目ブロックb0のローカル動きベクトル(LMV)と、近傍ブロックbiのローカル動きベクトル(LMV)とが類似すると判定した場合は、ステップS106に進み、信頼可能な差分閾値以下のブロック数のカウンタ[under_threshhold_Cnt]をインクリメントする。
一方、ステップS105において、注目ブロックb0のローカル動きベクトル(LMV)と、近傍ブロックbiのローカル動きベクトル(LMV)とが類似しないと判定した場合は、ステップS107に進む。
ステップS107はブロックNo:iの更新処理である。
近傍ブロックi=1〜8について処理が順次実行される。
ステップS108において、
i>8
と判定され、近傍ブロックB1〜b8の処理がすべて完了すると、ステップS109に進む。
ステップS109において、
近傍ブロック中、信頼度=1の設定された信頼ブロック数のカウンタ[Reliability_Cnt]が0より大か否かを判定する。
すなわち、近傍ブロックb1〜b8の中に1つでも信頼できるブロックがあるか否かを判定する。
ない場合は、ステップS111に進み、注目ブロックの重み(Weight)を0に設定する。
ステップS109において、近傍ブロックb1〜b8の中に1つでも信頼度=1の設定された信頼できるブロックがあると判定した場合は、ステップS110に進む。
ステップS110では、
注目ブロックの重み(Weight)を算出する。
例えば、以下の式に従って、注目ブロックの重み(Weight)を算出する。
Weight=(under_threshhold_Cnt)/(Reliability_Cnt)
すなわち、
注目ブロックの重み=(近傍ブロック中の信頼可能(信頼度=1)な差分閾値以下のブロック数)/(近傍ブロック中の信頼ブロック数)
として注目ブロックの重みを算出する。
なお、上記式に示す注目ブロックの重み(Weight)の算出処理例は一例であり、この他の式を適用した重み算出処理も可能である。
注目ブロックの重み(Weight)の算出処理のその他の具体例については、後段で説明する。
[4.ブロック対応のローカル動きベクトル(LMV)の類似度判定処理の詳細]
次に、ブロック対応のローカル動きベクトル(LMV)の類似度判定処理の詳細について説明する。
前述したように、図9に示すフローのステップS105では、注目ブロックb0とそのブロック近傍のあるブロックbiのローカル動きベクトル(LMV)の類似度を判定している。
すなわち、
注目ブロックb0のローカル動きベクトル(LMV)と、
近傍ブロックbiのローカル動きベクトル(LMV)と、
これら2つのローカル動きベクトルが1つの共通するグローバル動きベクトル(GMV)に対応した動きベクトルであるか否かを判定する。
2つのローカル動きベクトルが1つの共通するグローバル動きベクトル(GMV)に対応した動きベクトルである場合、これらのローカル動きベクトル(LMV)は類似する。すなわち類似度=1と判定する。
一方、2つのローカル動きベクトルが1つの共通するグローバル動きベクトル(GMV)に対応した動きベクトルでない場合、これらのローカル動きベクトル(LMV)は類似しない。すなわち類似度=0と判定する。
この注目ブロックのローカル動きベクトル(LMV)と、近傍ブロック各々のローカル動きベクトル(LMV)の類似度判定処理方法について、図10、図11を参照して説明する。
図10(a)に示すように、注目ブロックのローカル動きベクトル(LMV)と、近傍ブロック各々のローカル動きベクトル(LMV)をそれぞれ求める。
注目ブロックのローカル動きベクトル(LMV)は、
起点(x1,y1)、終点(x1',y1')のベクトルであり、
水平方向成分=u1,
垂直方向成分=v1、
である。
すなわち、注目ブロックのローカル動きベクトル(LMV)は、(u1,v1)である。
一方、近傍ブロックのローカル動きベクトル(LMV)は、
起点(x0,y0)、終点(x0',y0')のベクトルであり、
水平方向成分=u0,
垂直方向成分=v0、
である。
すなわち、近傍ブロックのローカル動きベクトル(LMV)は、(u0,v0)である。
図10(b)に示すように、グローバル動きベクトル(GMV)による座標変換を定義する。
グローバル動きベクトル(GMV)は、画面全体に共通する動きベクトルであり、グローバル動きベクトル(GMV)による座標変換は、以下の(式5)によって定義される。
・・・・・(式5)
上記(式5)は、3軸対応のGMV、すなわち、平行移動(並進)と回転を考慮したグローバル動きベクトル(GMV)に従った座標変換を示している。
(x0,y0)は変換前の座標、
(x'0,y'0)はグローバル動きベクトル(GMV)に従った座標変換後の座標、
aはグローバル動きベクトル(GMV)に従ったx方向の移動量、
bはグローバル動きベクトル(GMV)に従ったy方向の移動量、
θはグローバル動きベクトル(GMV)に従った回転角、
を示している。
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)は、
上記(式5)に示す3軸対応のグローバル動きベクトル(GMV)による座標変換式と、近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)を適用して以下の(式6)のように示すことができる。
・・・・・(式6)
なお、上記(式6)において、
Iは、単位行列であり、θ=0としたときの回転行列に相当し、以下の(式7)によって示される行列である。
・・・・・(式7)
上記(式6)に基づいて、
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)との差分は、
以下の(式7)のように表現できる。
・・・・・(式8)
上記(式8)において、
(x1,y1)は、注目ブロックの1つの特徴点座標、
(x0,y0)は、近傍ブロックの1つの特徴点座標、
θは、前述の(式6)に示す3軸対応のグローバル動きベクトル(GMV)に従った座標変換処理に適用する回転角度であり、画面全体のグローバル動きにおける回転角度に相当する。
ここで、グローバル動きとして許容される回転量を、
−θmax≦θ≦θmax
とする。
この許容回転量は、例えば撮像装置(カメラ)の手ぶれ等によって回転した画像に対する補正可能な角度などによって規定される。
具体的には、例えば撮像装置の水平方向の画素ライン数などに基づいて決定される。撮像装置の出力画像として生成する画像の水平画素ライン数は、撮像装置の撮像素子の水平ラインより少なく設定され、手ぶれ等によって画像を回転させる補正が必要な場合に、撮像素子上下の画素情報を利用して画像を回転させた補正画像を生成することができる。
撮像画像の上下に多数の水平画素ラインが存在すれば、大きな角度を回転させる補正処理が可能であるが、撮像画像の上下に水平画素ラインが少ない場合は、大きな角度を回転させる補正処理が不可能となる。
上記の許容回転角度θは、これらの撮像素子の構成等によって規定される。
このように、例えば撮像素子の構成等に従って、補正可能な角度範囲−θmax〜θmaxが規定され、この角度範囲をグローバル動きの許容回転量とする。
この許容回転量、
−θmax≦θ≦θmax
のθの範囲を上記の(式7)に代入して、
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)との差分の許容範囲を算出することができる。
すなわち、
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)との差分、
すなわち、
u1−u0、
v1−v0、
これらの各値が、以下の(式A)、(式B)の条件式を満足するか否かを判定する。
(x1−x0)(1−coxθmax)−|y1−y0|sinθmax
≦u1−u0
≦(x1−x0)(1−coxθmax)+|y1−y0|sinθmax
・・・・・(式A)
−|x1−x0|sinθmax+(y1−y0)(1−coxθmax)
≦v1−v0
≦|x1−x0|sinθmax+(y1−y0)(1−coxθmax)
・・・・・(式B)
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)との差分、
すなわち、
u1−u0、
v1−v0、
これらの各値が、上記の(式A)、(式B)の条件式を満足すれば、これら2つのローカル動きベクトルによって規定されるグローバル動きベクトル(GMV)は、許容範囲の回転角度θ、すなわち、
−θmax≦θ≦θmax
上記範囲のθを持つGMVであると判断される。
すなわち、
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)との差分が、上記(式A)と(式B)の両判定式を満足する場合、
これら2つのローカル動きベクトル(LMV)は、補正可能な許容回転角度を持つ1つのGMV対応の類似するローカル動きベクトル(LMV)であると判定することができ、
この場合、
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)とは、類似すると判定する。すなわち類似度=1とする。
一方、
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)との差分が、上記(式A)と(式B)の両判定式の少なくともいずれかを満足しない場合、
これら2つのローカル動きベクトル(LMV)は、補正可能な許容回転角度を持つ1つのGMV対応の類似するローカル動きベクトル(LMV)ではないと判定することができ、
この場合、
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)とは、類似しないと判定する。すなわち類似度=0とする。
なお、上記(式A)、(式B)による類似度判定処理は一例であり、さらに、例えばGMVやLMVの算出誤差等を考慮して、予め設定した定数Cを含んだ以下の判定式(式A2)、(式B2)を適用して類似度判定を行う構成としてもよい。
(x1−x0)(1−coxθmax)−C−|y1−y0|sinθmax
≦u1−u0
≦(x1−x0)(1−coxθmax)+C+|y1−y0|sinθmax
・・・・・(式A2)
−C−|x1−x0|sinθmax+(y1−y0)(1−coxθmax)
≦v1−v0
≦C+|x1−x0|sinθmax+(y1−y0)(1−coxθmax)
・・・・・(式B2)
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)との差分が、上記(式A2)と(式B2)の両判定式を満足する場合、
これら2つのローカル動きベクトル(LMV)は、補正可能な許容回転角度を持つ1つのGMV対応の類似するローカル動きベクトル(LMV)であると判定することができ、
この場合、
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)とは、類似すると判定する。すなわち類似度=1とする。
一方、
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)との差分が、上記(式A2)と(式B2)の両判定式の少なくともいずれかを満足しない場合、
これら2つのローカル動きベクトル(LMV)は、補正可能な許容回転角度を持つ1つのGMV対応の類似するローカル動きベクトル(LMV)ではないと判定することができ、
この場合、
注目ブロックのローカル動きベクトル(LMV)=(u1,v1)と、
近傍ブロックのローカル動きベクトル(LMV)=(u0,v0)とは、類似しないと判定する。すなわち類似度=0とする。
上述の類似度判定処理は、注目ブロックのローカル動きベクトル(LMV)と、近傍ブロックのローカル動きベクトル(LMV)とが、1つのグローバル動きベクトル(GMV)に対応する回転角θによる回転に対応するか否か判定しているものである。
この類似度判定処理と画像フレームの動きとの対応関係について、図11を参照して説明する。
図11に示すように、連続撮影画像である参照フレーム画像211と、現在フレーム画像212が、例えば手ぶれ等に起因して回転中心220を中心として角度θで回転したとする。
ここで、参照フレーム画像211の2つの隣接ブロック231,232へ向かうベクトルをp1,p2とする。
また、回転後の現在フレーム画像212の2つの隣接ブロック241,242へ向かうベクトルをq1,q2とし、
参照フレーム画像211の座標位置(x,y)を現在フレーム画像212の対応座標位置(x',y')に変換する回転行列をR(θ)とする。
これらの各パラメータの関係は、以下のように示される。
q1=R(θ)p1
q2=R(θ)p2
このとき、各ブロックのローカル動きベクトル(LMV)の期待値は、
LMV1=q1−p1、
LMV2=q2−p2、
となる。
また、隣接ブロックのローカル動きベクトル(LMV)の差分値は、以下のように示される。
LMV2−LMV1=(q2−p2)−(q1−p1)
=(R(θ)−E)(p1−p2)
となる。
なお、Eは単位行列である。
このように、隣接ブロックのローカル動きベクトル(LMV)の差分値(LMV2−LMV1)は、回転行列R(θ)とブロック間の位置ベクトル(p1−p2)で表せる。
上述した(式A)と(式B)、あるいは(式A2)と(式2B)を満足するのは、隣接する2つのブロック間のローカル動きベクトル(LMV)の差分が上記の期待値に近い場合であり、この場合に、これらの隣接する2つのブロック間のローカル動きベクトル(LMV)は、類似する。すなわち、類似度=1と判定する。
このように、隣接ブロックのローカル動きベクトル(LMV)が類似するか否かの判定は、1つのグローバル動きベクトル(GMV)に対応する回転に応じたローカル動きベクトル(LMV)が隣接ブロック各々において算出されているか否かの判定処理と同様の処理となる。
注目ブロックのローカル動きベクトル(LMV)と、その近傍の参照ブロックのローカル動きベクトル(LMV)がいずれも画面全体の動きを示す1つのグローバル動きベクトル(GMV)に対応する回転に応じたローカル動きベクトル(LMV)である場合に、これらの2つのブロックのローカル動きベクトル(LMV)は類似する、すなわち類似度=1と判定する。
一方、注目ブロックのローカル動きベクトル(LMV)と、その近傍の参照ブロックのローカル動きベクトル(LMV)が画面全体の動きを示す1つのグローバル動きベクトル(GMV)に対応する回転に応じたローカル動きベクトル(LMV)でない場合は、これらの2つのブロックのローカル動きベクトル(LMV)は類似しない、すなわち類似度=0と判定する。
図12は、この類似度判定処理の概念を示す図である。
図12には、連続撮影画像である参照フレーム画像310と、現在フレーム画像320を示している。
これらの2つの画像は連続撮影画像であるが、手ぶれの影響で回転している。
現在フレーム画像320にローカル動きベクトル(LMV)算出用のブロックを設定し、前述したブロックマッチング処理等を適用して各ブロック対応のローカル動きベクトル(LMV)を算出する。
なお、ブロックは、図に示すように、画像中に離散的に分散して設定してもよい。
先に図3を参照して説明したブロック設定例では、ブロックは隙間なく設定する例として説明したが、図12に示すように、ブロック間に隙間を設定して複数のブロックを離間して設定してもよい。
図12に示す現在フレーム320の注目ブロック321に対応する参照フレーム310のブロックは、図に示す注目ブロック311である。
注目ブロック321に対応するローカル動きベクトル(LMV)は、(u1,v1)である。
また、現在フレーム320の近傍ブロック322に対応する参照フレーム310のブロックは、図に示す近傍ブロック312である。
近傍ブロック322に対応するローカル動きベクトル(LMV)は、(u0,v0)である。
これらの2つのベクトルが、画面全体の動きを示す1つのグローバル動きベクトル(GMV)に対応する回転に応じたローカル動きベクトル(LMV)である場合に、これらの2つのブロックのローカル動きベクトル(LMV)は類似する、すなわち類似度=1と判定する。
一方、これらの2つのベクトルが、画面全体の動きを示す1つのグローバル動きベクトル(GMV)に対応する回転に応じたローカル動きベクトル(LMV)でない場合は、これらの2つのブロックのローカル動きベクトル(LMV)は類似しない、すなわち類似度=0と判定する。
[5.隣接ブロックのLMV信頼度と類似度判定に基づく重み算出処理例]
次に、隣接ブロックのLMV信頼度と類似度判定に基づく重み算出処理例について説明する。
先に説明した図9に示すフローのステップS110では、注目ブロックの重み(Weight)を算出する一処理例として、以下の式に従って、注目ブロックの重み(Weight)を算出する処理例を説明した。
Weight=(under_threshhold_Cnt)/(Reliability_Cnt)
すなわち、
注目ブロックの重み=(近傍ブロック中の信頼可能(信頼度=1)な差分閾値以下のブロック数)/(近傍ブロック中の信頼ブロック数)
として注目ブロックの重みを算出する処理例である。
以下、注目ブロックの重み(Weight)の算出処理の複数の例について説明する。
図9に示すフローに従った処理を実行すると、1つの注目ブロックと周囲の8つの近傍ブロックを含む9ブロックについて、ブロック対応のローカル動きベクトル(LMV)の信頼度と類似度が設定される。
具体的には、図13に示すように、1つの注目ブロックと周囲の8つの近傍ブロックを含む9ブロックにおいて、
9ブロック各々のローカル動きベクトル(LMV)の信頼度、
注目ブロックと8つの近傍ブロック間の類似度、
これらの信頼度と類似度からなる判定データが算出される。
図4に示すブロック重み算出部102は、図9に示すフローのステップS110において、注目ブロックの重み(Weight)を算出する。
この重みの算出は、例えば、以下の(式C1)、(式C2)、(式C3)のいずれかを適用して算出可能である。
・・・・・(式C1)
・・・・・(式C2)
・・・・・(式C3)
なお、上記(式C1)〜(式C3)において、
R0は、注目ブロックの信頼度、
Riは、近傍ブロックi番目の信頼度、
Siは、注目ブロックと近傍ブロックi番目との類似度、
iは、近傍ブロックの識別番号i=1〜8
である。
上記(式C1)は、注目ブロックと各近傍ブロックの類似度Siと近傍ブロックの信頼度Riの乗算値の加算結果を近傍ブロックの信頼度Riの加算値で除算した結果と注目ブロックの信頼度R0を乗算して重みWを算出する式である。
上記(式C2)は、注目ブロックと各近傍ブロックの類似度Siと近傍ブロックの信頼度Riの乗算値の加算結果を近傍ブロックの信頼度Riの加算値で除算した結果を重みWとして算出する式である。
上記(式C3)は、注目ブロックと各近傍ブロックの類似度Siの加算値を、近傍ブロックの信頼度Riの加算値で除算した結果を重みWとして算出する式である。
図4に示すブロック重み算出部102は、図9に示すフローのステップS110において、上記(式C1)〜(式C3)のいずれかを適用して、注目ブロックの重み(Weight)を算出する。
なお、上述した処理例では、信頼度を0,1の2値、類似度を0,1の2値とした設定例を説明したが、
例えば、
信頼度0≦R≦1、
類似度0≦S≦1
このように、0〜1の範囲で設定して上記の(式C1)〜(式C3)のいずれかを適用して、注目ブロックの重み(Weight)を算出する構成としてもよい。
このように、図4に示すブロック重み算出部102は、ブロック対応のLMV信頼度と、注目ブロックと近傍ブロックのLMV類似度を考慮した重み(Weight)を設定して、図4に示すグローバル動きベクトル算出部103に出力する。
[6.グローバル動きベクトル算出部(GME)の処理について]
次に、図4に示すグローバル動きベクトル算出部(GME)103において実行するグローバル動きベクトル(GMV)の推定処理(GME)について説明する。
図4に示すグローバル動きベクトル算出部(GME)103は、ブロック重み算出部102の算出したブロック重み(Weight)と、ローカル動きベクトル算出部(LME)101の算出した各ブロック対応のローカル動きベクトル(LMV)を入力し、これらの入力データに基づいて、フレーム対応のグローバル動きベクトル(GMV)を算出する。
先に、図2を参照して説明したように、グローバル動きベクトル(GMV)は、現在フレームと参照フレーム間の対応する類似画素位置(x,y),(x',y')の関係を平行移動、回転、拡大、縮小、アフィン(Affine)変換、投射影変換などを用いたデータとして表現され、通常は、1つのフレーム画像に対し、1つのグローバル動きベクトル(GMV)が適用される。
グローバル動きベクトル(GMV)には、
平行移動(並進)と回転を考慮した3軸(3自由度)のグローバル動きベクトル(GMV)、
アフィン変換に対応する6軸(6自由度)のグローバル動きベクトル(GMV)、
例えば、これらの種類がある。
これらの2つのタイプのGMV推定処理(GME)を実行する構成について説明する。
図14を参照してグローバル動きベクトル(GMV)およびGMEの定義について説明する。
GMVによる座標変換を以下の式によって定義する。
上記式に示すアフィン変換は、前述した6軸対応のグローバル動きベクトル(GMV)を適用した場合の座標変換である。
また、並進+回転は、3軸対応のグローバル動きベクトル(GMV)を適用した場合の座標変換である。
アフィン変換(6自由度)は、例えば、CODECなどいろいろな動きに対応したいとき利用される。並進、回転、拡大縮小、ひしゃげ等である。
一方、並進と回転(3自由度)は、カメラの手ぶれの補正で支配的な要素である。
なお、上記式における各パラメータの定義と、各ブロックnに対応するローカル動きベクトル(LMV)に対する重みWnの設定は、以下の設定とする。
上記式において、
格子点とは、各ブロックnの特徴点、
nはブロックの識別番号、
Wnは、ブロックnの重み(Weight)、
である。
3軸対応の3自由度のグローバル動きベクトル(GMV)と、
6軸対応の6自由度のグローバル動きベクトル(GMV)は、
図15に示すように、最終的には以下の式によって算出される。
上記式に示すコスト(Cost)は、
各ブロックn対応の重みWnと、
各ブロックnの特徴点(x,y)に対するローカル動きヘクトル(LMV)(u,v)の適用位置と、対応点(x',y')との差分の2乗データとの積算値である。
このコスト(Cost)を最小にするように、上記式に示す3軸機対応GMV、または6軸対応GMVの各パラメータを算出する。
3軸機対応GMVのパラメータは、平行移動(並進)と回転に関するパラメータa,b,θである。
6軸機対応GMVのパラメータは、アフィン変換に関するパラメータa0,a1,a2,b0,b1,b2である。
なお、コスト(Cost)を最小にする各パラメータの算出処理には、例えば最小二乗法を適用する。
なお、上記式に示す3軸対応グローバル動きベクトル(GMV)や、6軸対応のグローバル動きベクトル(GMV)の具体的な算出処理等については、例えば前述した特許文献1(特開2009−065332号公報)に記載されている。
本願構成におけるグローバル動きベクトルの算出処理に際しては、例えば、この特許文献1(特開2009−065332号公報)に記載された手法が適用可能である。
このように、本願に従ったグローバル動きベクトル(GMV)の算出処理においては、以下のような処理シーケンスで処理が実行される。
まず、図4に示すローカル動きベクトル算出部101が、画像フレームにブロックを設定し、設定したブロック対応のローカル動きベクトル(LMV)を求める。
なお、設定するブロックは、図3に示すように隙間の内設定としてもよいし、図11や図12に示すように隙間を設定して離間して配置した離散的なブロックでもよい。
次に、図4に示すブロック重み算出部102が、ブロック対応のLMV信頼度と、注目ブロックと近傍ブロックのLMV類似度を考慮した重み(Weight)を設定して、図4に示すグローバル動きベクトル算出部103に出力する。
最後に、グローバル動きベクトル算出部103において、ブロック重み算出部102の算出したブロック重み(Weight)と、ローカル動きベクトル算出部(LME)101の算出した各ブロック対応のローカル動きベクトル(LMV)を入力し、これらの入力データに基づいて、フレーム対応のグローバル動きベクトル(GMV)を算出する。
本願の処理では、例えば、信頼できるローカル動きベクトル(LMV)が少ない場合に、類似したローカル動きベクトル(LMV)に絞ってグローバル動きを推定(GME)することが可能となり、算出されるグローバル動きベクトル(GMV)が安定するという効果がある。
例えば具体的には、信頼できるローカル動きベクトル(LMV)が少なすぎるためにグローバル動きベクトル(GMV)の推定を諦めるといったケースを減らすことができる。
[7.画像処理装置の構成例について]
最後に、図16、図17を参照して、上述した処理を実行する画像処理装置の構成例について説明する。
図16は、撮像装置としての装置構成例を示している。
図16に示す撮像装置500は、撮像部501、フレームメモリ502、グローバル動きベクトル生成部503、画像補正部504、記憶部505を有する。
撮像部501は、画像の連続撮影を行う。この連続撮影画像に含まれる各撮影画像520はフレームメモリ502に順次格納される。
例えば、これらの連続撮影画像は、手ぶれ等の影響で、各画像フレーム間に画像ずれが発生している。
グローバル動きベクトル生成部503は、フレームメモリ502に順次格納された画像を適用して、画像全体の動きを示すグローバル動きベクトル(GMV)を算出する。
このグローバル動きベクトル生成部503は、先に説明した図4の構成を持つ。グローバル動きベクトル生成部503は、先に説明した図7に示すフローに従った処理を実行して画像全体の動きを示すグローバル動きベクトル(GMV)を算出する。
生成したグローバル動きベクトル(GMV)521は画像補正部504に入力される。
画像補正部504は、グローバル動きベクトル生成部503の生成したグローバル動きベクトル(GMV)521を適用して、画像の回転等の画像ずれを補正した補正画像522を生成して記憶部505に格納する。
なお、画像補正部504において回転した画像を補正する際は、先に説明したように、撮像部の撮像素子から入力される画素情報が必要であり、回転量が大きいほど、必要となる画素ライン数が多くなる。
先に説明したように、このラインメモリの数に応じて許容回転量θが決定される。
グローバル動きベクトル生成部502のブロック重み算出部(図4のブロック重み算出部102)は、このラインメモリの数に応じて決定される許容回転量θを考慮して隣接ブロック間のローカル動きベクトル(LMV)の類似度判定を実行する。
グローバル動きベクトル生成部502は、信頼度が高く、かつ類似度ありの判定のなされたブロックのローカル動きベクトル(LMV)の重みを高く設定してグローバル動きベクトル(GMV)の算出処理を実行する。
このように、本開示の構成を、動き補償(Motion Compensation)による手ぶれ補正(手ぶれスタビライザ)と組み合わせる場合、回転手ぶれの補正に使うことができるラインメモリの量に応じて回転θの許容範囲を定め、そのθの範囲で類似度を高く評価することで、補正可能なGMVを安定して求めることができる。
図17は、上述した画像処理を実行する装置の1つのハードウェア構成例であるパーソナルコンピュータのハードウェア構成例を示している。
CPU(Central Processing Unit)701は、ROM(Read Only Memory)702、または記憶部708に記憶されているプログラムに従って各種の処理を実行する。例えば、上述の実施例において説明したグローバル動きベクトル(GMV)を決定するプログラムを実行する。RAM(Random Access Memory)703には、CPU701が実行するプログラムやデータなどが適宜記憶される。これらのCPU701、ROM702、およびRAM703は、バス704により相互に接続されている。
CPU701はバス704を介して入出力インタフェース705に接続され、入出力インタフェース705には、キーボード、マウス、マイクロホンなどよりなる入力部706、ディスプレイ、スピーカなどよりなる出力部707が接続されている。CPU701は、入力部706から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部707に出力する。
入出力インタフェース705に接続されている記憶部708は、例えばハードディスクからなり、CPU701が実行するプログラムや各種のデータを記憶する。通信部709は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
入出力インタフェース705に接続されているドライブ710は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア711を駆動し、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部708に転送され記憶される。
[8.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)として算出するローカル動きベクトル算出部と、
前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出するブロック重み算出部と、
前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出するグローバル動きベクトル算出部を有し、
前記ブロック重み算出部は、
注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル(LMV)の信頼度と、
前記注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)の類似度を算出し、
前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出する画像処理装置。
(2)前記ブロック重み算出部は、前記信頼度の高い信頼される近傍ブロックを信頼近傍ブロックとして抽出し、さらに、前記信頼近傍ブロック中、前記類似度の高い類似ブロックを抽出し、前記信頼近傍ブロックに対する前記類似ブロックの比率を前記注目ブロックの重みとして設定する処理を実行する前記(1)に記載の画像処理装置。
(3)前記ブロック重み算出部は、各ブロック対応のローカル動きベクトル(LMV)によって対応付けられるブロック間の画素値差分絶対値和を適用して前記信頼度を算出する前記(1)または(2)に記載の画像処理装置。
(4)前記ブロック重み算出部は、各ブロック対応のローカル動きベクトル(LMV)によって対応付けられるブロックの分散値または特徴点数を適用して前記信頼度を算出する前記(1)〜(3)いずれかに記載の画像処理装置。
(5)前記ブロック重み算出部は、注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)が1つのグローバル動き(GMV)の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する前記(1)〜(4)いずれかに記載の画像処理装置。
(6)前記ブロック重み算出部は、画像処理装置内の画像補正部において回転補正可能な許容回転角度を考慮し、注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)が前記許容回転角度以内のグローバル動き(GMV)の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する前記(5)に記載の画像処理装置。
(7)前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度と、近傍ブロックの信頼度との乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果と、注目ブロックの信頼度を乗算して前記ブロック重みを算出する前記(1)〜(6)いずれかに記載の画像処理装置。
(8)前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度と近傍ブロックの信頼度の乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する前記(1)〜(7)いずれかに記載の画像処理装置。
(9)前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度の加算値を、近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する前記(1)〜(8)いずれかに記載の画像処理装置。
(10)前記グローバル動きベクトル算出部は、各ブロック対応のローカル動きベクトル(LMV)と、各ブロック重みを適用したコスト演算式を適用して、コストを最小とするグローバル動きベクトル(GMV)のパラメータを算出する前記(1)〜(9)いずれかに記載の画像処理装置。
(11)前記グローバル動きベクトル算出部は、並進および回転を考慮した3軸対応のグローバル動きベクトルのパラメータ、またはアフィン変換を考慮した6軸対応のグローバル動きベクトルのパラメータを算出する前記(10)に記載の画像処理装置。
さらに、上記した装置およびシステムにおいて実行する処理の方法や、処理を実行させるプログラムおよびプログラムを記録した記録媒体も本開示の構成に含まれる。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本開示の一実施例の構成によれば、信頼度の高いグローバル動きベクトル(GMV)の算出を実行する装置および方法が実現される。
具体的には、ブロック対応のローカル動きベクトル(LMV)と、ブロック各々のLMVの信頼度指標としてのブロック重みを算出し、ブロック重みに応じてグローバル動きベクトル(GMV)を算出する。注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル(LMV)の信頼度と、注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)の類似度を算出し、信頼度と類似度を適用した演算処理により、ブロック重みを算出する。
本構成により、信頼度の高いグローバル動きベクトル(GMV)を効率的に算出することが可能となる。
10,11 フレーム画像
21 動きベクトル
101 ローカル動きベクトル算出部(LME)
102 ブロック重み算出部
103 グローバル動きベクトル(GMV)算出部
500 撮像装置
501 撮像部
502 フレームメモリ
503 グローバル動きベクトル生成部
504 画像補正部
505 記憶部
701 CPU
702 ROM
703 RAM
704 バス
705 入出力インタフェース
706 入力部
707 出力部
708 記憶部
709 通信部
710 ドライブ
711 リムーバブルメディア

Claims (13)

  1. フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)として算出するローカル動きベクトル算出部と、
    前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出するブロック重み算出部と、
    前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出するグローバル動きベクトル算出部を有し、
    前記ブロック重み算出部は、
    注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル(LMV)の信頼度と、
    前記注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)の類似度を算出し、
    前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出する画像処理装置。
  2. 前記ブロック重み算出部は、
    前記信頼度の高い信頼される近傍ブロックを信頼近傍ブロックとして抽出し、
    さらに、前記信頼近傍ブロック中、前記類似度の高い類似ブロックを抽出し、
    前記信頼近傍ブロックに対する前記類似ブロックの比率を前記注目ブロックの重みとして設定する処理を実行する請求項1に記載の画像処理装置。
  3. 前記ブロック重み算出部は、
    各ブロック対応のローカル動きベクトル(LMV)によって対応付けられるブロック間の画素値差分絶対値和を適用して前記信頼度を算出する請求項1に記載の画像処理装置。
  4. 前記ブロック重み算出部は、
    各ブロック対応のローカル動きベクトル(LMV)によって対応付けられるブロックの分散値または特徴点数を適用して前記信頼度を算出する請求項1に記載の画像処理装置。
  5. 前記ブロック重み算出部は、
    注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)が1つのグローバル動き(GMV)の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する請求項1に記載の画像処理装置。
  6. 前記ブロック重み算出部は、
    画像処理装置内の画像補正部において回転補正可能な許容回転角度を考慮し、注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)が前記許容回転角度以内のグローバル動き(GMV)の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する請求項5に記載の画像処理装置。
  7. 前記ブロック重み算出部は、
    注目ブロックと各近傍ブロックの類似度と、近傍ブロックの信頼度との乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果と、注目ブロックの信頼度を乗算して前記ブロック重みを算出する請求項1に記載の画像処理装置。
  8. 前記ブロック重み算出部は、
    注目ブロックと各近傍ブロックの類似度と近傍ブロックの信頼度の乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する請求項1に記載の画像処理装置。
  9. 前記ブロック重み算出部は、
    注目ブロックと各近傍ブロックの類似度の加算値を、近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する請求項1に記載の画像処理装置。
  10. 前記グローバル動きベクトル算出部は、
    各ブロック対応のローカル動きベクトル(LMV)と、各ブロック重みを適用したコスト演算式を適用して、コストを最小とするグローバル動きベクトル(GMV)のパラメータを算出する請求項1に記載の画像処理装置。
  11. 前記グローバル動きベクトル算出部は、
    並進および回転を考慮した3軸対応のグローバル動きベクトルのパラメータ、またはアフィン変換を考慮した6軸対応のグローバル動きベクトルのパラメータを算出する請求項10に記載の画像処理装置。
  12. 画像処理装置において実行する画像処理方法であり、
    ローカル動きベクトル算出部が、フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)として算出するローカル動きベクトル算出ステップと、
    ブロック重み算出部が、前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出するブロック重み算出ステップと、
    グローバル動きベクトル算出部が、前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出するグローバル動きベクトル算出ステップを実行し、
    前記ブロック重み算出部は、前記ブロック重み算出ステップにおいて、
    注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル(LMV)の信頼度と、
    前記注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)の類似度を算出し、
    前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出する画像処理方法。
  13. 画像処理装置において画像処理を実行させるプログラムであり、
    ローカル動きベクトル算出部に、フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)として算出させるローカル動きベクトル算出ステップと、
    ブロック重み算出部に、前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出させるブロック重み算出ステップと、
    グローバル動きベクトル算出部に、前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出させるグローバル動きベクトル算出ステップを実行させ、
    前記ブロック重み算出ステップにおいて、
    注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル(LMV)の信頼度と、
    前記注目ブロックと近傍ブロックの各ローカル動きベクトル(LMV)の類似度を算出し、
    前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出させるプログラム。
JP2012145054A 2011-09-02 2012-06-28 画像処理装置、および画像処理方法、並びにプログラム Ceased JP2013066164A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012145054A JP2013066164A (ja) 2011-09-02 2012-06-28 画像処理装置、および画像処理方法、並びにプログラム
PCT/JP2012/068554 WO2013031424A1 (ja) 2011-09-02 2012-07-23 画像処理装置、および画像処理方法、並びにプログラム
US14/240,059 US9177386B2 (en) 2011-09-02 2012-07-23 Image processing apparatus, image processing method, and program
CN201280040885.7A CN103765898A (zh) 2011-09-02 2012-07-23 图像处理设备、图像处理方法和程序

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011191188 2011-09-02
JP2011191188 2011-09-02
JP2012145054A JP2013066164A (ja) 2011-09-02 2012-06-28 画像処理装置、および画像処理方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2013066164A true JP2013066164A (ja) 2013-04-11

Family

ID=47755931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012145054A Ceased JP2013066164A (ja) 2011-09-02 2012-06-28 画像処理装置、および画像処理方法、並びにプログラム

Country Status (4)

Country Link
US (1) US9177386B2 (ja)
JP (1) JP2013066164A (ja)
CN (1) CN103765898A (ja)
WO (1) WO2013031424A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019144803A (ja) * 2018-02-20 2019-08-29 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519239A (zh) * 2013-09-29 2015-04-15 诺基亚公司 用于视频防抖的方法和装置
US20160191945A1 (en) * 2014-12-24 2016-06-30 Sony Corporation Method and system for processing video content
JP6890944B2 (ja) * 2016-10-07 2021-06-18 キヤノン株式会社 像ぶれ補正装置およびその制御方法、撮像装置
CN107454418B (zh) * 2017-03-03 2019-11-22 叠境数字科技(上海)有限公司 基于运动注意力模型的360度全景视频编码方法
JP6886622B2 (ja) * 2018-01-22 2021-06-16 京セラドキュメントソリューションズ株式会社 画像処理装置
CN111279685A (zh) 2018-04-28 2020-06-12 深圳市大疆创新科技有限公司 运动估计
CN109740643A (zh) * 2018-12-19 2019-05-10 惠科股份有限公司 用于确定画面相邻行相似度的方法
CN109740644A (zh) 2018-12-19 2019-05-10 惠科股份有限公司 用于确定画面相邻行相似度的方法
CN111967515B (zh) * 2020-08-14 2024-09-06 Oppo广东移动通信有限公司 图像信息提取方法、训练方法及装置、介质和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065332A (ja) * 2007-09-05 2009-03-26 Sony Corp 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP2009258868A (ja) * 2008-04-15 2009-11-05 Sony Corp 画像処理装置および画像処理方法
JP2010147985A (ja) * 2008-12-22 2010-07-01 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
JP2011100428A (ja) * 2009-10-06 2011-05-19 Nanao Corp 動きベクトル検出装置、フレーム補間処理装置およびそれらの方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995004432A1 (en) * 1993-07-30 1995-02-09 British Telecommunications Plc Coding image data
US20030059089A1 (en) * 2001-09-25 2003-03-27 Quinlan James E. Block matching at the fractional pixel level for motion estimation
EP1924098A1 (en) * 2006-11-14 2008-05-21 Sony Deutschland GmbH Motion estimation and scene change detection using two matching criteria
JP4506875B2 (ja) * 2008-05-19 2010-07-21 ソニー株式会社 画像処理装置および画像処理方法
JP2009290827A (ja) * 2008-06-02 2009-12-10 Sony Corp 画像処理装置および画像処理方法
CN101924874B (zh) * 2010-08-20 2011-10-26 北京航空航天大学 一种匹配块分级的实时电子稳像方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065332A (ja) * 2007-09-05 2009-03-26 Sony Corp 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP2009258868A (ja) * 2008-04-15 2009-11-05 Sony Corp 画像処理装置および画像処理方法
JP2010147985A (ja) * 2008-12-22 2010-07-01 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
JP2011100428A (ja) * 2009-10-06 2011-05-19 Nanao Corp 動きベクトル検出装置、フレーム補間処理装置およびそれらの方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019144803A (ja) * 2018-02-20 2019-08-29 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP7009252B2 (ja) 2018-02-20 2022-01-25 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム

Also Published As

Publication number Publication date
US20140185938A1 (en) 2014-07-03
US9177386B2 (en) 2015-11-03
WO2013031424A1 (ja) 2013-03-07
CN103765898A (zh) 2014-04-30

Similar Documents

Publication Publication Date Title
WO2013031424A1 (ja) 画像処理装置、および画像処理方法、並びにプログラム
JP5045320B2 (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
EP3110138B1 (en) Projection system, semiconductor integrated circuit, and image correction method
CN110322542B (zh) 重建真实世界3d场景的视图
TWI455588B (zh) 以雙向、局部及全域移動評估為基礎之框率轉換
US10410358B2 (en) Image processing with occlusion and error handling in motion fields
JP2009290827A (ja) 画像処理装置および画像処理方法
JP2016508652A (ja) 画像シーケンスにおける物体のオクルージョンの決定
WO2011161579A1 (en) Method, apparatus and computer program product for providing object tracking using template switching and feature adaptation
JP7116262B2 (ja) 画像深度推定方法および装置、電子機器、ならびに記憶媒体
TWI408620B (zh) 用以決定插補畫面之移動向量的影像處理方法及其相關裝置
JP2011071986A (ja) 低解像度ビデオから高解像度ビデオを生成する方法
JPWO2018139461A1 (ja) 移動物体検出装置、移動物体検出方法及び記憶媒体
US8447126B2 (en) Image processing method and related apparatus
EP3633606A1 (en) Information processing device, information processing method, and program
CN104202603B (zh) 一种应用于视频帧速率上转换的运动向量场生成方法
JP2007053621A (ja) 画像生成装置
Lee et al. Fast 3D video stabilization using ROI-based warping
CN105100588A (zh) 图像处理设备、成像设备以及图像处理方法
JP2010250611A (ja) 画像処理装置、画像処理方法及び記録媒体
JP3268258B2 (ja) 2次元三角パッチ線格子モデルを用いた動画像の動き推定方法
JP5928465B2 (ja) 劣化復元システム、劣化復元方法およびプログラム
JP5478533B2 (ja) 全方位画像生成方法、画像生成装置およびプログラム
JP2010044586A (ja) 2次元コード読取装置とそのプログラム
JP2004096557A (ja) 画像処理装置及び画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160706

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20160819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161227

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20170425