JP5045320B2 - 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム - Google Patents

画像処理装置、および画像処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP5045320B2
JP5045320B2 JP2007230053A JP2007230053A JP5045320B2 JP 5045320 B2 JP5045320 B2 JP 5045320B2 JP 2007230053 A JP2007230053 A JP 2007230053A JP 2007230053 A JP2007230053 A JP 2007230053A JP 5045320 B2 JP5045320 B2 JP 5045320B2
Authority
JP
Japan
Prior art keywords
motion vector
block
lmv
weight
calculated
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
JP2007230053A
Other languages
English (en)
Other versions
JP2009065332A (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.)
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 JP2007230053A priority Critical patent/JP5045320B2/ja
Priority to US12/204,634 priority patent/US20090074071A1/en
Priority to CN2008102128146A priority patent/CN101383966B/zh
Publication of JP2009065332A publication Critical patent/JP2009065332A/ja
Application granted granted Critical
Publication of JP5045320B2 publication Critical patent/JP5045320B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/53Multi-resolution motion estimation; Hierarchical motion 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/527Global motion vector estimation

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)を求める手法がある。この手法は、例えば非特許文献1(IEEE Transactions on Consumer Electronics, Vol. 52, No. 2, MAY 2006)に記載されている。
この手法は、まず、ブロック単位のローカル動きベクトル(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)の信頼度が極端に低下するという欠点がある。
IEEE Transactions on Consumer Electronics, Vol. 52, No. 2, MAY 2006
本発明は、このような問題点に鑑みてなされたものであり、ローカル動きベクトル(LMV)を利用したグローバル動きベクトル(GMV)の導出処理において、信頼度の高いローカル動きベクトル(LMV)の数が少ない場合においても、グローバル動きベクトル(GMV)の信頼度を極端に低下させることのないグローバル動きベクトル(GMV)の導出を可能とした画像処理装置、および画像処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
画像処理装置であり、
動画像を構成する画像フレームの分割領域であるブロックに対応する動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)として算出するローカル動きベクトル算出部と、
前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出するブロック重み算出部と、
前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出するグローバル動きベクトル算出部を有し、
前記グローバル動きベクトル算出部は、
各ブロック(n)対応のローカル動きベクトル(LMVn)とグローバル動きベクトル(GMV)との差分[en]と、差分算出ブロックのブロック重み[wn]との乗算データ[wn×en]の総和をコスト[Q]として算出し、コスト[Q]を最小とする前記グローバル動きベクトル(GMV)の構成パラメータを算出し、算出パラメータを設定したグローバル動きベクトル(GMV)を生成する構成であることを特徴とする画像処理装置にある。
さらに、本発明の画像処理装置の一実施態様において、前記ブロック重み算出部は、異なる複数のデータに基づく複数のブロック対応重みデータを算出し、該複数のブロック対応重みデータに基づいて各ブロックに対応するブロック重みを算出する構成であることを特徴とする。
さらに、本発明の画像処理装置の一実施態様において、前記ブロック重み算出部は、異なる複数のデータに基づく複数のブロック対応重みデータを算出し、該複数のブロック対応重みデータの乗算結果を各ブロックに対応するブロック重みとして算出する構成であることを特徴とする。
さらに、本発明の画像処理装置の一実施態様において、前記ブロック重み算出部は、
(a)各ブロック対応のローカル動きベクトル(LMV)のサイズ、
(b)各ブロック対応の差分絶対値和(SAD:Sum of Absolute Difference)
(c)各ブロック対応のブロック構成画素値の分散値、
(d)処理対象フレームと参照フレームの対応ブロックの構成画素値から算出する共分散値、
(e)ブロック対応のローカル動きベクトル(LMV)と周辺ブロックのローカル動きベクトル(LMV)との相関値、
(f)処理対象フレームと参照フレームの対応ブロックの構成画素値から算出する相関係数、
上記(a)から(f)の少なくともいずれかの値を適用したブロック重み算出処理を実行する構成であることを特徴とする。
さらに、本発明の画像処理装置の一実施態様において、前記グローバル動きベクトル算出部は、前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、画像フレームに含まれる全てのブロックに共通の動きベクトルとしてフレーム対応の1つのグローバル動きベクトル(GMV)を算出する構成であることを特徴とする。
さらに、本発明の第2の側面は、
画像処理装置において動きベクトル検出を実行する画像処理方法であり、
ローカル動きベクトル算出部が、動画像を構成する画像フレームの分割領域であるブロックに対応する動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)として算出するローカル動きベクトル算出ステップと、
ブロック重み算出部が、前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出するブロック重み算出ステップと、
グローバル動きベクトル算出部が、前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出するグローバル動きベクトル算出ステップを有し、
前記グローバル動きベクトル算出ステップは、
各ブロック(n)対応のローカル動きベクトル(LMVn)とグローバル動きベクトル(GMV)との差分[en]と、差分算出ブロックのブロック重み[wn]との乗算データ[wn×en]の総和をコスト[Q]として算出し、コスト[Q]を最小とする前記グローバル動きベクトル(GMV)の構成パラメータを算出し、算出パラメータを設定したグローバル動きベクトル(GMV)を生成するステップであることを特徴とする画像処理方法にある。
さらに、本発明の画像処理方法の一実施態様において、前記ブロック重み算出ステップは、異なる複数のデータに基づく複数のブロック対応重みデータを算出し、該複数のブロック対応重みデータに基づいて各ブロックに対応するブロック重みを算出するステップであることを特徴とする。
さらに、本発明の画像処理方法の一実施態様において、前記ブロック重み算出ステップは、異なる複数のデータに基づく複数のブロック対応重みデータを算出し、該複数のブロック対応重みデータの乗算結果を各ブロックに対応するブロック重みとして算出するステップであることを特徴とする。
さらに、本発明の画像処理方法の一実施態様において、前記ブロック重み算出ステップは、
(a)各ブロック対応のローカル動きベクトル(LMV)のサイズ、
(b)各ブロック対応の差分絶対値和(SAD:Sum of Absolute Difference)
(c)各ブロック対応のブロック構成画素値の分散値、
(d)処理対象フレームと参照フレームの対応ブロックの構成画素値から算出する共分散値、
(e)ブロック対応のローカル動きベクトル(LMV)と周辺ブロックのローカル動きベクトル(LMV)との相関値、
(f)処理対象フレームと参照フレームの対応ブロックの構成画素値から算出する相関係数、
上記(a)から(f)の少なくともいずれかの値を適用したブロック重み算出処理を実行するステップであることを特徴とする。
さらに、本発明の画像処理方法の一実施態様において、前記グローバル動きベクトル算出ステップは、前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、画像フレームに含まれる全てのブロックに共通の動きベクトルとしてフレーム対応の1つのグローバル動きベクトル(GMV)を算出するステップであることを特徴とする。
さらに、本発明の第3の側面は、
画像処理装置において動きベクトル検出を実行させるコンピュータ・プログラムであり、
ローカル動きベクトル算出部に、動画像を構成する画像フレームの分割領域であるブロックに対応する動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)として算出させるローカル動きベクトル算出ステップと、
ブロック重み算出部に、前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出させるブロック重み算出ステップと、
グローバル動きベクトル算出部に、前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出させるグローバル動きベクトル算出ステップを有し、
前記グローバル動きベクトル算出ステップは、
各ブロック(n)対応のローカル動きベクトル(LMVn)とグローバル動きベクトル(GMV)との差分[en]と、差分算出ブロックのブロック重み[wn]との乗算データ[wn×en]の総和をコスト[Q]として算出し、コスト[Q]を最小とする前記グローバル動きベクトル(GMV)の構成パラメータを算出し、算出パラメータを設定したグローバル動きベクトル(GMV)を生成させるステップであることを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の一実施例の構成によれば、動画像を構成する画像フレームの分割領域であるブロックに対応するローカル動きベクトル(LMV)と、ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みとを算出し、ブロック重みに応じて各ブロック対応の寄与率を設定してグローバル動きベクトル(GMV)を算出する構成とした。ブロック重みの算出においては、ローカル動きベクトル(LMV)のサイズや、差分絶対値和(SAD)、ブロック構成画素値の分散値、処理対象フレームと参照フレームの対応ブロックの構成画素値から算出する共分散値など様々な視点からの指標を適用した構成としたので、信頼度の高いグローバル動きベクトル(GMV)を算出することが可能となる。
以下、図面を参照しながら本発明の画像処理装置、および画像処理方法、並びにコンピュータ・プログラムの詳細について説明する。
本発明の画像処理装置は、動画像データを入力し、動画像データに対応するグローバル動きベクトル(GMV)を求める処理を実行する。本発明の画像処理装置は、まずブロック単位のローカル動きベクトル(LMV)を求め、ローカル動きベクトル(LMV)を利用してグローバル動きベクトル(GMV)を求める。
本発明の構成では、ローカル動きベクトル(LMV)に対応するブロック各々に対して信頼度を設定し、信頼度に対応する重み(Weight)を定義し、個々のローカル動きベクトル(LMV)の重み(Weight)を考慮してグローバル動きベクトル(GMV)を求める。
本発明の画像処理装置におけるグローバル動きベクトル(GMV)の導出手法の概要について、図3を参照して説明する。図3(a)は、先に説明した従来手法を説明する図であり、図3(b)が本発明の手法を説明する図である。
図3(a)は、1つの画像フレームを区分したp個のブロック数に対応するp個のローカル動きベクトル(LMV)を求め、p個からq個の信頼度の高いローカル動きベクトル(LMV)を選択し、(p−q)個の信頼度の低いローカル動きベクトル(LMV)は利用することなく、q個の信頼度の高いローカル動きベクトル(LMV)のみに基づいて1つのグローバル動きベクトル(GMV)を求める手法である。ローカル動きベクトル(LMV)の信頼度情報としては、例えば現在フレームと参照フレームとのブロックマッチングで明確な特徴点一致情報が得られているか否かといった情報が利用される。また、信頼度の高いローカル動きベクトル(LMV)に基づいて1つのグローバル動きベクトル(GMV)を求める手法としては、例えば最小二乗法が適用される。
このローカル動きベクトル(LMV)を利用したグローバル動きベクトル(GMV)の導出手法は、従来のローカル動きベクトル(LMV)算出の延長上で実行可能であり、既存の構成を利用可能であるという利点がある。しかし、信頼度の高いローカル動きベクトル(LMV)の数が少ない場合、グローバル動きベクトル(GMV)の信頼度が極端に低下するという欠点がある。
一方、図3(b)に示す本発明の手法では、1つの画像フレームを区分したn個のブロック数に対応するn個のローカル動きベクトル(LMV)を求め、さらに全てのブロックに信頼度に応じた重み(weight)を設定する。その後、個々のローカル動きベクトル(LMV)の重み(Weight)を考慮してグローバル動きベクトル(GMV)を求める。
本発明の手法の具体例について説明する。グローバル動きベクトル(GMV)は、例えば平行移動(並進)のみを示すベクトルの場合は、前述したように、現フレーム画像の座標(x,y)と、参照画像の座標(x',y')との対応関係が、2つのパラメータ[a,a]を用いて以下の式(式1)として表現される。
x'=x+a
y'=y+a
・・・(式1)
一方、図3(b)に示す画像フレーム中の任意のブロック、ブロックnについて、ローカル動きベクトル(LMVn)が、平行移動(並進)のみを示すベクトルの場合、
ローカル動きベクトル(LMVn)=(MVXn,MVYn)
とすると、現フレーム画像のブロックnの座標(xn,yn)と、参照画像のブロックnの座標(un,vn)との対応は、以下の式(式2)によって示される。
un=xn+MVXn
vn=yn=MVYn
・・・(式2)
例えば、ブロック数がp個の場合、p個のローカル動きベクトル(LMV)=(MVXn,MVYn)に対応する上記関係式が設定される。
ここで、1つの画像フレームに対応するグローバル動きベクトル(GMV)とそのフレームに含まれるブロックnのローカル動きベクトル(LMVn)との差分[en]を以下の式(式3)のように定義する。
・・・(式3)
上記式(式3)によって算出される各ブロックnに対応するベクトル差分[en]と各ブロックnに対応して設定される重み(weight)[Wn]を利用して、グローバル動きベクトルコスト(GMVコスト)[Q]を以下の式(式4)に従って算出する。
・・・(式4)
上記式(式4)によって算出されるGMVコスト[Q]を最小にする2つのパラメータ[a,a]を算出し、算出したパラメータ[a,a]によって、上記式(式1)で示すグローバル動きベクトル(GMV)、すなわち、
x'=x+a
y'=y+a
上記のグローバル動きベクトル(GMV)を決定する。
なお、上記の式(式3)(式4)に従って、コストQを最小にするパラメータa,aを算出する処理は、各ブロック対応の重み(weight)を考慮した最小二乗法を適用した処理である。
また、上述した処理例は、グローバル動きベクトル(GMV)が、平行移動(並進)のみを示すベクトルの場合であり、2つのパラメータ[a,a]を求める処理として説明したが、前述したように、グローバル動きベクトル(GMV)は、平行移動、回転、拡大、縮小、アフィン(Affine)変換、投射影変換などを含む情報として設定される場合もあり、設定態様に応じてパラメータ数は変化する。この場合も、上述の処理と同様に、グローバル動きベクトル(GMV)とそのフレームに含まれるブロックnのローカル動きベクトル(LMVn)との差分[en]を算出し、各ブロック対応の重み(weight)を考慮したGMVコスト[Q]を最小にするパラメータ[a,a,a,a・・・]を算出し、算出したパラメータによって、グローバル動きベクトル(GMV)を決定する。
本発明のグローバル動きベクトル(GMV)の算出処理の詳細について、図4、図5を参照して説明する。図4は、本発明の画像処理装置内に設定されるグローバル動きベクトル(GMV)生成手段の構成例を示している。入力は、現在フレーム画像と参照フレーム画像であり、出力がグローバル動きベクトル(GMV)となる。
本発明の画像処理装置内に設定されるグローバル動きベクトル(GMV)生成手段は、図4に示すように、ローカル動きベクトル算出部(LME)101と、ブロック重み算出部102と、グローバル動きベクトル(GMV)算出部103を有する。
ローカル動きベクトル算出部(LME)101は、現在フレーム画像と、参照フレーム画像を入力して、1フレームを小領域のブロックに分割した各ブロック対応の動きベクトル、すなわちローカル動きベクトル(LME)を算出する。なお、このローカル動きベクトル算出部(LME)101における処理は、従来から公知の例えばブロックマッチング処理を適用して、各ブロック対応のローカル動きベクトル(LMV)を算出する。
ローカル動きベクトル算出部(LME)101において算出したローカル動きベクトル(LMV)は、ブロック重み算出部102と、グローバル動きベクトル(GMV)算出部103に入力される。
また、ローカル動きベクトル算出部(LME)101におけるローカル動きベクトル(LMV)算出処理に際して生成される動き補償(MC:Motion Compensation)画像と、現在画像フレームと参照画像フレームの対応ブロックの画素情報の差分絶対値和である最小残差(SAD:Sum of Absolute Differnce)とがブロック重み算出部102に入力される。
ブロック重み算出部102は、現在フレームに設定されたブロック各々の重み(weight)を算出する。ブロック重み算出部102の一例の詳細構成および処理について図5を参照して説明する。
ブロック重み算出部102は、図5に示すように、ブロック分散値算出部211、画像間共分散算出部212、近傍LMVとの相関算出部213、さらに、
(a)LMV対応重み算出部221、
(b)残差対応重み算出部222、
(c)分散対応重み算出部223、
(d)共分散対応重み算出部224、
(e)LMV相関対応重み算出部225、
さらに、乗算部231を有する。
本実施例で示すブロック重み算出部102は、上記(a)〜(e)の5種類の異なるデータに対応するブロック重みを各々算出し、これら5種類のブロック重みの乗算により最終的なブロック重みを算出する構成としている。以下、上記(a)〜(e)の5種類のブロック重みデータの算出処理について順次、説明する。
(a)LMV対応重み算出部221
LMV対応重み算出部221は、図4に示すローカル動きベクトル算出部(LME)101から入力する各ブロック対応のローカル動きベクトル(LMV)を入力し入力LMVに基づいてLMV対応重みを算出する。
LMV対応重み算出部221は、LMV対応重み算出テーブルを保持しており、このテーブルに従ってLMV対応重みの算出を行う。LMV対応重み算出テーブルの構成例を図6に示す。図6に示すテーブルは、ローカル動きベクトル(LMV)のスカラー量に対応して算出される値[LMV]とLMV対応重み(weight)との対応データによって構成されている。
本処理例では、
LMV=LMVx+LMVy
として算出される。LMVxはローカル動きベクトル(LMV)のx成分、LMVyはローカル動きベクトル(LMV)のy成分を示している。
なお、図6に示すLMV対応重み算出テーブルに設定される重みは1.0〜0.0の範囲であり、最大重みが[1.0]となっている。なお、このテーブルは一例であり、設定する重みの範囲も0.0〜1.0の範囲とする設定でもよいし、例えば0.5〜1.0k範囲に設定するなどの構成としてもよい。
また、LMV対応重み算出部221は、図7(a)に示すフローに従ってLMV対応重み算出する構成としてもよい。まず、ステップS101において、図4に示すローカル動きベクトル算出部(LME)101から入力する各ブロック対応のローカル動きベクトルの水平成分(LMVx)と、垂直成分(LMVy)から、ローカル動きベクトル(LMV)のサイズ[LmvSize]を計算する。ローカル動きベクトル(LMV)のサイズ[LmvSize]は、以下の式(式5)によって算出される。
・・・(式5)
次に、ステップS102において、ステップS101で算出したローカル動きベクトル(LMV)のサイズ[LmvSize]に基づいて、予め定められた変換式により、LMV対応重みを算出する。例えば、図7(b)に示す変換テーブルに従った変換により重み算出を行う。
このようにして算出されるLMV対応重みは、図7(b)に示すように、ローカル動きベクトル(LMV)のサイズ[LmvSize]が小さいほど大きく、ローカル動きベクトル(LMV)のサイズ[LmvSize]が大きくなるほど重みが小さい設定となる。図7(b)に示す例では、ローカル動きベクトル(LMV)のサイズ[LmvSize]に応じて階段上に重みが変化する設定となっている。
(b)残差対応重み算出部222
残差対応重み算出部222は、図4に示すローカル動きベクトル算出部(LME)101から入力する各ブロック対応の最小残差(SAD:Sum of Absolute Differnce)を入力して、最小残差(SAD)対応の重みを算出する。この処理について、図8を参照して説明する。
図8(a)は、残差対応重み算出部222において、最小残差(SAD)に基づいて最小残差(SAD)対応の重みを算出する処理シーケンスを説明するフローチャートであり、図8(b)は、最小残差(SAD)と残差対応重みとの対応関係の一例を示す図である。
最小残差(SAD)は、前述したように現在画像フレームと参照画像フレームの対応ブロックの画素情報の差分絶対値和である。残差対応重み算出部222は、図4に示すローカル動きベクトル算出部(LME)101から入力する各ブロック対応の最小残差(SAD)に基づいて、図8(a)に示すフローに従った処理を実行して残差対応重みを算出する。
まず、ステップS201において、図4に示すローカル動きベクトル算出部(LME)101から入力する各ブロック対応のローカル動きベクトルの水平成分(LMVx)と、垂直成分(LMVy)から、ローカル動きベクトル(LMV)のサイズ[LmvSize]を計算する。ローカル動きベクトル(LMV)のサイズ[LmvSize]は、前述の式(式5)によって算出される。
次に、ステップS202において、ステップS201で算出したローカル動きベクトル(LMV)のサイズ[LmvSize]に基づいて、予め定められた変換式により、残差対応重みを算出する。例えば、図8(b)に示す変換テーブルに従った変換により重み算出を行う。
このようにして算出される残差対応重みは、図8(b)に示すように、最小残差(SAD)が小さいほど大きく、最小残差(SAD)が大きくなるほど重みが小さい設定となる。図8(b)に示す例では、一定値[Tha]以下の最小残差(SAD)に対しては、重みの最大値[1.0]を設定し、一定値[Thb]以上の最小残差(SAD)に対しては、重みの最小値[0.0]を設定する例を示している。
(c)ブロック分散対応重み算出部223
ブロック分散対応重み算出部223は、ブロック分散値算出部211から現在フレームの各ブロック対応のブロック分散値を入力して、ブロック分散対応重みを算出する。この処理について、図9を参照して説明する。
図9(a)は、ブロック分散値算出部211と、ブロック分散対応重み算出部223において実行されるブロック分散対応重み算出処理シーケンスを説明するフローチャートであり、図9(b)は、ブロック分散値算出部211におけるブロック分散値の算出処理を説明する図であり、図9(c)は、ブロック分散とブロック分散対応重みとの対応関係の一例を示す図である。
まず、図9(a)に示すフローチャートのステップS301はブロック分散値算出部211の処理であり、現在フレーム画像を入力し、現在フレーム画像の各ブロック各々についてのブロック分散値[VarBlk]を算出する。ブロック分散値[VarBlk]の算出は、以下の式(式6)に従って実行される。
・・・(式6)
なお、
piはブロック内のi番目の画素値、
piバー(−)は、ブロック内の画素値の平均値、
nはブロック内の画素数、
である。
図9(b)は、このステップS301の処理、すなわち、ブロック分散値算出部211におけるブロック分散値の算出処理を説明している図であり、現在フレーム301の処理対象ブロック302からの画素値piと、ブロック内画素の画素値平均値piバー(−)を算出して、上記式(式6)に従ってブロック分散値[VarBlk]を算出することを説明する図である。
次のステップS302の処理は、ブロック分散対応重み算出部223の処理であり、ブロック分散対応重み算出部223は、ブロック分散値算出部211において、ステップS301で算出したブロック分散値[VarBlk]を入力し、ブロック分散値[Varblock]に基づいて、予め定められた変換式により、ブロック分散対応重みを算出する。例えば、図9(c)に示す変換テーブルに従った変換により重み算出を行う。
このようにして算出されるブロック分散対応重みは、図9(c)に示すように、ブロック分散が小さいほど小さく、ブロック分散が大きくなるほど重みが大きい設定となる。図9(c)に示す例では、ブロック分散の値[VarBlk]に応じて階段上に重みが変化する設定となっている。
(d)ブロック共分散対応重み算出部224
ブロック共分散対応重み算出部224は、画像間共分散算出部212から現在フレームと動き補償(MC)画像の対応ブロックの解析によって算出した共分散値を入力して共分散対応重みを算出する。この処理について、図10を参照して説明する。
図10(a)は、画像間共分散算出部212と、共分散対応重み算出部224において実行される共分散対応重みを算出処理シーケンスを説明するフローチャートであり、図10(b)は、画像間共分散算出部212における共分散の算出処理を説明する図であり、図10(c)は、共分散と共分散対応重みとの対応関係の一例を示す図である。
まず、図10(a)に示すフローチャートのステップS401は共分散算出部212の処理であり、現在フレーム画像と参照フレームの動き補償(MC)画像を入力し、現在フレーム画像の各ブロック各々についての共分散[CoVarBlk]を算出する。共分散値[CoVarBlk]の算出は、以下の手順で実行される。図10(b)を参照して説明する。
まず、現在フレーム画像321の処理対象ブロック322のブロック内画素値(pi)の平均値(piバー(−))を算出する。
次に、動き補償のなされた参照画像(MC画)331の対応ブロック332のブロック内画素値(qi)の平均値(qiバー(−))を算出する。
これらの算出値に基づいて以下の式(式7)に従って共分散を算出する。
・・・(式7)
なお、
piは現在フレームのブロック内のi番目の画素値、
piバー(−)は、現在フレームのブロック内の画素値の平均値、
qiは動き補償のなされた参照画像(MC画)の対応ブロック内のi番目の画素値、
qiバー(−)は、動き補償のなされた参照画像(MC画)の対応ブロック内の画素値の平均値、
nはブロック内の画素数、
である。
次のステップS402の処理は、共分散対応重み算出部224の処理であり、共分散対応重み算出部224は、画像間分散算出部212において、ステップS401で算出した共分散値[CoVarBlk]を入力し、共分散値[CoVarblk]に基づいて、予め定められた変換式により、共分散対応重みを算出する。例えば、図10(c)に示す変換テーブルに従った変換により重み算出を行う。
このようにして算出される共分散対応重みは、例えば図10(c)に示すように、共分散が小さいほど小さく、共分散が大きくなるほど重みが大きい設定となる。図10(c)に示す例では、共分散の値[CoVarBlk]に応じて階段上に重みが変化する設定となっている。
なお、上述した処理では、共分散を検出して変換式を用いて共分散対応重みを算出する構成としているが、現在フレーム画像と参照フレームの動き補償(MC)画像の対応ブロックの画素値データから相関係数を算出し、算出した相関係数に基づいて相関係数対応重みを算出する構成としてもよい。この処理について、図11を参照して説明する。
図11(a)は、現在フレーム画像と参照フレームの動き補償(MC)画像の対応ブロックの画素値データから相関係数を算出し、算出した相関係数に基づいて共分散対応重みを算出する処理シーケンスを説明するフローチャートであり、図11(c)は、相関係数と共分散対応重みとの対応関係の一例を示す図である。
まず、図11(a)に示すフローチャートのステップS421において、現在フレーム画像と参照フレームの動き補償(MC)画像を入力し、現在フレーム画像の各ブロック各々の対応ブロックデータから以下の式(式8)に従って相関係数を算出する。
・・・(式8)
なお、
piは現在フレームのブロック内のi番目の画素値、
piバー(−)は、現在フレームのブロック内の画素値の平均値、
qiは動き補償のなされた参照画像(MC画)の対応ブロック内のi番目の画素値、
qiバー(−)は、動き補償のなされた参照画像(MC画)の対応ブロック内の画素値の平均値、
nはブロック内の画素数、
である。
次のステップS422の処理は、ステップS421で算出した相関係数を入力し、相関係数に基づいて、予め定められた変換式により、相関係数対応重みを算出する。例えば、図11(b)に示す変換テーブルに従った変換により重み算出を行う。
このようにして算出される相関係数対応重みは、例えば図11(b)に示すように、相関係数が小さいほど小さく、相関係数が大きくなるほど重みが大きい設定となる。図11(b)に示す例では、相関係数の値に応じてなだらかに重みが変化する設定となっている。
(e)LMV相関対応重み算出部225
ローカル動きベクトル(LMV)相関対応重み算出部225は、近傍LMVとの相関算出部213から現在フレームの各ブロック対応のローカル動きベクトル(LMV)相関値を入力して、ローカル動きベクトル(LMV)相関対応重みを算出する。この処理について、図12を参照して説明する。
図12(a)は、近傍LMVとの相関算出部213と、ローカル動きベクトル(LMV)相関対応重み算出部225において実行されるローカル動きベクトル(LMV)相関対応重み算出処理シーケンスを説明するフローチャートであり、図12(b)は、近傍LMVとの相関算出部213における近傍LMVとの相関算出処理を説明する図であり、図12(c)は、近傍LMVとの相関[Lmv_cor]とLMV相関対応重みとの対応関係の一例を示す図である。
まず、図12(a)に示すフローチャートのステップS501は近傍LMVとの相関算出部213の処理であり、現在フレーム画像の処理対象ブロックのローカル動きベクトル(LMV)と、周辺ブロックのローカル動きベクトル(LMV)を入力し、現在フレーム画像の各ブロック各々についてのLMV相関値[Lmv_cor]を算出する処理である。
この処理の手順について、図12(b)を参照して説明する。現在フレーム画像551の処理対象ブロック552のブロック内画素の画素値平均を算出し、次に、この平均値と、ブロック内各画素の画素値を用いて、以下の式(式9)に従ってLMV相関値[Lmv_cor]を算出する。
・・・(式9)
ただし、
AveLmvX:処理対象ブロックの近傍ブロックのLMV平均値(水平方向)
AveLmvY:処理対象ブロックの近傍ブロックのLMV平均値(垂直方向)
LMVx:処理対象ブロックのLMV(水平方向)
LMVy:処理対象ブロックのLMV(垂直方向)
である。
次のステップS502の処理は、LMV相関対応重み算出部225の処理であり、近傍LMVとの相関算出部213において、ステップS501で算出したLMV相関値[Lmv_cor]を入力し、LMV相関値[Lmv_cor]に基づいて、予め定められた変換式により、LMV相関対応重みを算出する。例えば、図12(c)に示す変換テーブルに従った変換により重み算出を行う。
このようにして算出されるLMV相関対応重みは、図12(c)に示すように、LMV相関が小さいほど大きく、LMV相関が大きくなるほど重みが小さくなる設定となる。図12(c)に示す例では、一定値[Tha]以下のLMV相関に対しては、重みの最大値[1.0]を設定し、一定値[Thb]以上のLMV相関に対しては、重みの最小値[0.0]を設定する例を示している。
以上、図4に示すグローバル動きベクトル生成手段におけるブロック重み算出部102の実行する処理、すなわち、図5に示す
(a)LMV対応重み算出部221、
(b)残差対応重み算出部222、
(c)分散対応重み算出部223(+ブロック分散値算出部211)
(d)共分散対応重み算出部224(+画像間共分散算出部212)、
(e)LMV相関対応重み算出部225(+近傍LMVとの相関算出部213)、
これらの各重み算出部の処理について説明した。
ブロック重み算出部102は、図5に示すように、これら(a)〜(e)の異なるブロック対応重みデータを乗算部231に入力して、最終的なブロック対応重みを算出して、図4に示すグローバル動きベクトル算出部(GME)103に出力する。
(a)LMV対応重み算出部221の算出するLMV対応重みを[W_lmv]、
(b)残差対応重み算出部222の算出する残差対応重みを[W_sad]、
(c)分散対応重み算出部223の算出する分散対応重みを[W_var]、
(d)共分散対応重み算出部224の算出する共分散対応重みを[W_cor]、
(e)LMV相関対応重み算出部225の算出するLMV相関対応重みを[W_lmvcor]、
このように設定したとき、乗算部231は、これらの値を入力して、ブロック重み[W_block]を以下の算出式(式10)に従って算出する。
W_block=W_lmv×W_sad×W_var×W_cor×W_imvcor
・・・(式10)
図4に示すグローバル動きベクトル算出部(GME)103は、ブロック重み算出部102の算出した上記ブロック重み[W_block]と、ローカル動きベクトル算出部(LME)101の算出した各ブロック対応のローカル動きベクトル(LMV)を入力し、これらの入力テータに基づいて、フレーム対応のグローバル動きベクトル(GMV)を算出する。
グローバル動きベクトル算出部(GME)103における、グローバル動きベクトル(GMV)の算出処理について図13を参照して説明する。
グローバル動きベクトル算出部(GME)103は、ブロック重み算出部102の算出したブロック重み[W_block]データとして例えば、図13(a)に示すデータを受領する。これは、1つのフレームに設定された小領域のブロック各々について、前述の複数の異なる重みデータ、すなわち、
(a)LMV対応重み算出部221の算出したLMV対応重み[W_lmv]、
(b)残差対応重み算出部222の算出した残差対応重み[W_sad]、
(c)分散対応重み算出部223の算出した分散対応重み[W_var]、
(d)共分散対応重み算出部224の算出した共分散対応重み[W_cor]、
(e)LMV相関対応重み算出部225の算出したLMV相関対応重み[W_lmvcor]、
これらのデータに基づいて、下式、すなわち、
W_block=W_lmv×W_sad×W_var×W_cor×W_imvcor
このブロック重み算出式を適用して、各ブロック各々の重みを算出した結果である。
グローバル動きベクトル算出部(GME)103は、この図13(a)に示すブロック重みの他、さらに、ローカル動きベクトル算出部(LME)101の算出した各ブロック対応のローカル動きベクトル(LMV)を入力し、個々のローカル動きベクトル(LMV)の重み(Weight)を考慮してグローバル動きベクトル(GMV)を求める。
グローバル動きベクトル算出部(GME)103における処理例について、図13(b)に示すフローチャートを参照して説明する。ここでは、一例として、グローバル動きベクトル(GMV)と、ブロック対応のローカル動きベクトル(LMV)とが平行移動(並進)のみを示すベクトルであると仮定して説明する。
まず、ステップS601において、処理対象フレームの各ブロック(n)に対応するローカル動きベクトル(LMVn)と、グローバル動きベクトル(GMV)との差分[en]を算出する
前述したように、グローバル動きベクトル(GMV)は、例えば平行移動(並進)のみを示すベクトルの場合、現フレーム画像の座標(x,y)と、参照画像の座標(x',y')との対応関係が、2つのパラメータ[a,a]を用いて以下の式として表現される。
x'=x+a
y'=y+a
一方、各ブロックのローカル動きベクトル(LMVn)が、平行移動(並進)のみを示すベクトルの場合、
ローカル動きベクトル(LMVn)=(MVXn,MVYn)
とすると、現フレーム画像のブロックnの座標(xn,yn)と、参照画像のブロックnの座標(un,vn)との対応は、以下の式によって示される。
un=xn+MVXn
vn=yn=MVYn
ここで、1つの画像フレームに対応するグローバル動きベクトル(GMV)とそのフレームに含まれるブロックnのローカル動きベクトル(LMVn)との差分[en]は、先に説明したように、以下の式(式11)となる。
・・・(式11)
ステップS602において、各ブロック(n)のブロック重み[Wn]と差分[en]との乗算結果の総和データであるコスト[Q]を算出する。すなわち、上記式(式11)によって算出される各ブロックnに対応するベクトル差分[en]と各ブロックnに対応して設定される重み(weight)を利用して、グローバル動きベクトルコスト(GMVコスト)[Q]を以下の式(式12)に従って算出する。
・・・(式12)
次に、ステップS603において、上記式(式12)によって算出されるGMVコスト[Q]を最小にするパラメータ[a〜a]を算出する。本例では、グローバル動きベクトル(GMV)は、平行移動(並進)のみを示すベクトルの例であり、2つのパラメータ[a,a]を用いた以下の式、
x'=x+a
y'=y+a
この2つのパラメータ[a,a]を用いた式として表現されているので、上記式(式12)によって算出されるGMVコスト[Q]を最小にする2つのパラメータ[a,a]算出する。
最後に、ステップS604において、算出したパラメータ[a〜a]によって、表現されるグローバル動きベクトル(GMV)を処理対象フレームに対応するグローバル動きベクトル(GMV)として決定する。平行移動(並進)のみを示すベクトルの場合は、GMVコスト[Q]を最小にする2つのパラメータ[a,a]を適用して、
x'=x+a
y'=y+a
上記のグローバル動きベクトル(GMV)が決定される。
なお、前述したように、上記の式(式11)(式12)に従って、コストQを最小にするパラメータa,aを算出する処理は、各ブロック対応の重み(weight)を考慮した最小二乗法を適用した処理である。また、上述した処理例は、グローバル動きベクトル(GMV)が、平行移動(並進)のみを示すベクトルの場合であり、2つのパラメータ[a,a]を求める処理として説明したが、前述したように、グローバル動きベクトル(GMV)は、平行移動、回転、拡大、縮小、アフィン(Affine)変換、投射影変換などを含む情報として設定される場合もあり、設定態様に応じてパラメータ数は変化する。この場合も、上述の処理と同様に、グローバル動きベクトル(GMV)とそのフレームに含まれるブロックnのローカル動きベクトル(LMVn)との差分[en]を算出し、各ブロック対応の重み(weight)を考慮したGMVコスト[Q]を最小にするパラメータ[a,a,a,a・・・]を算出し、算出したパラメータによって、グローバル動きベクトル(GMV)を決定する。
このように本発明の画像処理装置では、各ブロックに対応するローカル動きベクトルの信頼度に対応するブロック重みを算出してブロック重みに応じて各ブロックに対応するローカル動きベクトルの寄与率を設定してグローバル動きベクトル(GMV)を決定する構成としている。従って、各ブロックのローカル動きベクトル(LMV)を信頼度に応じて確実に反映させた信頼度の高いグローバル動きベクトル(GMV)を決定することが可能となる。
最後に、図14を参照して、上述した処理を実行する装置の1つのハードウェア構成例としてパーソナルコンピュータのハードウェア構成例について説明する。CPU(Central Processing Unit)701は、ROM(Read
Only Memory)702、または記憶部708に記憶されているプログラムに従って各種の処理を実行する。例えば、上述の実施例において説明したグローバル動きベクトル(GMV)を決定するプログラムを実行する。RAM(Random Access Memory)703には、CPU701が実行するプログラムやデータなどが適宜記憶される。これらのCPU301、ROM702、およびRAM703は、バス704により相互に接続されている。
CPU701はバス704を介して入出力インタフェース705に接続され、入出力インタフェース705には、キーボード、マウス、マイクロホンなどよりなる入力部706、ディスプレイ、スピーカなどよりなる出力部707が接続されている。CPU701は、入力部706から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部707に出力する。
入出力インタフェース705に接続されている記憶部708は、例えばハードディスクからなり、CPU701が実行するプログラムや各種のデータを記憶する。通信部709は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
入出力インタフェース705に接続されているドライブ710は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア711を駆動し、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部708に転送され記憶される。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の一実施例構成によれば、動画像を構成する画像フレームの分割領域であるブロックに対応するローカル動きベクトル(LMV)と、ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みとを算出し、ブロック重みに応じて各ブロック対応の寄与率を設定してグローバル動きベクトル(GMV)を算出する構成とした。ブロック重みの算出においては、ローカル動きベクトル(LMV)のサイズや、差分絶対値和(SAD)、ブロック構成画素値の分散値、処理対象フレームと参照フレームの対応ブロックの構成画素値から算出する共分散値など様々な視点からの指標を適用した構成としたので、信頼度の高いグローバル動きベクトル(GMV)を算出することが可能となる。
グローバル動きベクトル(GMV)について説明する図である。 現在フレームと参照フレームの対応点とグローバル動きベクトル(GMV)の関係について説明する図である。 本発明の画像処理装置におけるグローバル動きベクトル(GMV)の導出手法の概要について説明する図である。 本発明の画像処理装置内に設定されるグローバル動きベクトル(GMV)生成手段の構成例を示す図である。 ブロック重み算出部の一例の詳細構成および処理について説明する図である。 LMV対応重み算出部においてLMV対応重みの算出を行うために適用するLMV対応重み算出テーブルの構成例について説明する図である。 LMV対応重み算出部の実行する処理について説明するフローチャートおよびLMV対応重みの設定例について説明する図である。 残差対応重み算出部の実行する処理について説明するフローチャートおよび残差対応重みの設定例について説明する図である。 ブロック分散対応重み算出部の実行する処理について説明するフローチャートおよびブロック分散対応重みの設定例について説明する図である。 ブロック共分散対応重み算出部の実行する処理について説明するフローチャートおよびブロック共分散対応重みの設定例について説明する図である。 相関係数対応重みの算出処理について説明するフローチャートおよび相関係数対応重みの設定例について説明する図である。 LMV相関対応重み算出部の実行する処理について説明するフローチャートおよびLMV相関対応重みの設定例について説明する図である。 グローバル動きベクトル算出部(GME)103における、グローバル動きベクトル(GMV)の算出処理について説明する図である。 本発明の一実施例に係る画像処理装置のハードウェア構成例について説明する図である。
符号の説明
10,11 画像フレーム
21 動きベクトル
101 ローカル動きベクトル算出部(LME)
102 ブロック重み算出部
103 グローバル動きベクトル(GMV)算出部
211 ブロック分散値算出部
212 画像間共分散算出部
213 近傍LMVとの相関算出部
221 LMV対応重み算出部
222 残差対応重み算出部
223 分散対応重み算出部
224 共分散対応重み算出部
225 LMV相関対応重み算出部
231 乗算部
701 CPU
702 ROM
703 RAM
704 バス
705 入出力インタフェース
706 入力部
707 出力部
708 記憶部
709 通信部
710 ドライブ
711 リムーバブルメディア

Claims (11)

  1. 動画像を構成する注目画像フレームと参照画像フレームとの間で、所定の分割領域であるブロック毎に差分絶対値和(SAD:Sum of Absolute Difference)を算出することにより得られる前記分割領域に対応するローカル動きベクトル(LMV:Local Motion Vector)と、前記ローカル動きベクトル(LMV)によって動き補償がなされた動き補償画像(MC画像:Motion Compensation画像)とを算出するローカル動きベクトル算出部と、
    前記ローカル動きベクトル算出部において算出された前記ローカル動きベクトル(LMV)、前記ローカル動きベクトル算出部において算出された前記動き補償画像(MC画像)、および前記ローカル動きベクトル算出部において算出された差分絶対値和(SAD)の全てを用いて、前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出するブロック重み算出部であり、少なくとも各ブロック対応のローカル動きベクトル(LMV)のサイズが大きくなるにつれてブロック重みを小さくする設定としたブロック重みを算出するブロック重み算出部と、
    前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出するグローバル動きベクトル算出部を有し、
    前記グローバル動きベクトル算出部は、
    各ブロック(n)対応のローカル動きベクトル(LMVn)とグローバル動きベクトル(GMV)との差分[en]と、差分算出ブロックのブロック重み[wn]との乗算データ[wn×en]の総和をコスト[Q]として算出し、コスト[Q]を最小とする前記グローバル動きベクトル(GMV)の構成パラメータを算出し、算出パラメータを設定したグローバル動きベクトル(GMV)を生成する構成であることを特徴とする画像処理装置。
  2. 前記ブロック重み算出部は、
    異なる複数のデータに基づく複数のブロック対応重みデータを算出し、該複数のブロック対応重みデータに基づいて各ブロックに対応するブロック重みを算出する構成であることを特徴とする請求項1に記載の画像処理装置。
  3. 前記ブロック重み算出部は、
    異なる複数のデータに基づく複数のブロック対応重みデータを算出し、該複数のブロック対応重みデータの乗算結果を各ブロックに対応するブロック重みとして算出する構成であることを特徴とする請求項1に記載の画像処理装置。
  4. 前記ブロック重み算出部は、
    (a)各ブロック対応のローカル動きベクトル(LMV)のサイズ、
    (b)各ブロック対応の差分絶対値和(SAD:Sum of Absolute Difference)
    (c)各ブロック対応のブロック構成画素値の分散値、
    (d)処理対象フレームと参照フレームの対応ブロックの構成画素値から算出する共分散値、
    (e)ブロック対応のローカル動きベクトル(LMV)と周辺ブロックのローカル動きベクトル(LMV)との相関値、
    (f)処理対象フレームと参照フレームの対応ブロックの構成画素値から算出する相関係数、
    上記(a)から(f)の少なくともいずれかの値を適用したブロック重み算出処理を実行する構成であることを特徴とする請求項1に記載の画像処理装置。
  5. 前記グローバル動きベクトル算出部は、
    前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、画像フレームに含まれる全てのブロックに共通の動きベクトルとしてフレーム対応の1つのグローバル動きベクトル(GMV)を算出する構成であることを特徴とする請求項1に記載の画像処理装置。
  6. 画像処理装置において動きベクトル検出を実行する画像処理方法であり、
    ローカル動きベクトル算出部が、動画像を構成する注目画像フレームと参照画像フレームとの間で、所定の分割領域であるブロック毎に差分絶対値和(SAD:Sum of Absolute Difference)を算出することにより得られる前記分割領域に対応するローカル動きベクトル(LMV:Local Motion Vector)と、前記ローカル動きベクトル(LMV)によって動き補償がなされた動き補償画像(MC画像:Motion Compensation画像)とを算出するローカル動きベクトル算出ステップと、
    ブロック重み算出部が、前記ローカル動きベクトル算出ステップにおいて算出された前記ローカル動きベクトル(LMV)、前記ローカル動きベクトル算出部において算出された前記動き補償画像(MC画像)、および前記ローカル動きベクトル算出部において算出された差分絶対値和(SAD)の全てを用いて、前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出するブロック重み算出ステップであり、少なくとも各ブロック対応のローカル動きベクトル(LMV)のサイズが大きくなるにつれてブロック重みを小さくする設定としたブロック重みを算出するブロック重み算出ステップと、
    グローバル動きベクトル算出部が、前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出するグローバル動きベクトル算出ステップを有し、
    前記グローバル動きベクトル算出ステップは、
    各ブロック(n)対応のローカル動きベクトル(LMVn)とグローバル動きベクトル(GMV)との差分[en]と、差分算出ブロックのブロック重み[wn]との乗算データ[wn×en]の総和をコスト[Q]として算出し、コスト[Q]を最小とする前記グローバル動きベクトル(GMV)の構成パラメータを算出し、算出パラメータを設定したグローバル動きベクトル(GMV)を生成するステップであることを特徴とする画像処理方法。
  7. 前記ブロック重み算出ステップは、
    異なる複数のデータに基づく複数のブロック対応重みデータを算出し、該複数のブロック対応重みデータに基づいて各ブロックに対応するブロック重みを算出するステップであることを特徴とする請求項6に記載の画像処理方法。
  8. 前記ブロック重み算出ステップは、
    異なる複数のデータに基づく複数のブロック対応重みデータを算出し、該複数のブロック対応重みデータの乗算結果を各ブロックに対応するブロック重みとして算出するステップであることを特徴とする請求項6に記載の画像処理方法。
  9. 前記ブロック重み算出ステップは、
    (a)各ブロック対応のローカル動きベクトル(LMV)のサイズ、
    (b)各ブロック対応の差分絶対値和(SAD:Sum of Absolute Difference)
    (c)各ブロック対応のブロック構成画素値の分散値、
    (d)処理対象フレームと参照フレームの対応ブロックの構成画素値から算出する共分散値、
    (e)ブロック対応のローカル動きベクトル(LMV)と周辺ブロックのローカル動きベクトル(LMV)との相関値、
    (f)処理対象フレームと参照フレームの対応ブロックの構成画素値から算出する相関係数、
    上記(a)から(f)の少なくともいずれかの値を適用したブロック重み算出処理を実行するステップであることを特徴とする請求項6に記載の画像処理方法。
  10. 前記グローバル動きベクトル算出ステップは、
    前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、画像フレームに含まれる全てのブロックに共通の動きベクトルとしてフレーム対応の1つのグローバル動きベクトル(GMV)を算出するステップであることを特徴とする請求項6に記載の画像処理方法。
  11. 画像処理装置において動きベクトル検出を実行させるコンピュータ・プログラムであり、
    ローカル動きベクトル算出部に、動画像を構成する注目画像フレームと参照画像フレームとの間で、所定の分割領域であるブロック毎に差分絶対値和(SAD:Sum of Absolute Difference)を算出することにより得られる前記分割領域に対応するローカル動きベクトル(LMV:Local Motion Vector)と、前記ローカル動きベクトル(LMV)によって動き補償がなされた動き補償画像(MC画像:Motion Compensation画像)とを算出させるローカル動きベクトル算出ステップと、
    ブロック重み算出部に、前記ローカル動きベクトル算出ステップにおいて算出された前記ローカル動きベクトル(LMV)、前記ローカル動きベクトル算出部において算出された前記動き補償画像(MC画像)、および前記ローカル動きベクトル算出部において算出された差分絶対値和(SAD)の全てを用いて、前記ブロック各々に対応するローカル動きベクトル(LMV)の信頼度指標としてのブロック重みを算出するブロック重み算出ステップであり、少なくとも各ブロック対応のローカル動きベクトル(LMV)のサイズが大きくなるにつれてブロック重みを小さくする設定としたブロック重みを算出するブロック重み算出ステップと、
    グローバル動きベクトル算出部に、前記ローカル動きベクトル(LMV)と、前記ブロック重みを入力し、画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)を算出させるグローバル動きベクトル算出ステップを有し、
    前記グローバル動きベクトル算出ステップは、
    各ブロック(n)対応のローカル動きベクトル(LMVn)とグローバル動きベクトル(GMV)との差分[en]と、差分算出ブロックのブロック重み[wn]との乗算データ[wn×en]の総和をコスト[Q]として算出し、コスト[Q]を最小とする前記グローバル動きベクトル(GMV)の構成パラメータを算出し、算出パラメータを設定したグローバル動きベクトル(GMV)を生成させるステップであることを特徴とするコンピュータ・プログラム。
JP2007230053A 2007-09-05 2007-09-05 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム Expired - Fee Related JP5045320B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007230053A JP5045320B2 (ja) 2007-09-05 2007-09-05 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
US12/204,634 US20090074071A1 (en) 2007-09-05 2008-09-04 Apparatus and Method for Image Processing and Computer Program
CN2008102128146A CN101383966B (zh) 2007-09-05 2008-09-05 用于图像处理的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007230053A JP5045320B2 (ja) 2007-09-05 2007-09-05 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2009065332A JP2009065332A (ja) 2009-03-26
JP5045320B2 true JP5045320B2 (ja) 2012-10-10

Family

ID=40454420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007230053A Expired - Fee Related JP5045320B2 (ja) 2007-09-05 2007-09-05 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム

Country Status (3)

Country Link
US (1) US20090074071A1 (ja)
JP (1) JP5045320B2 (ja)
CN (1) CN101383966B (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5298899B2 (ja) * 2009-02-03 2013-09-25 株式会社Jvcケンウッド 画像補正処理装置および画像補正処理方法
JP4915423B2 (ja) 2009-02-19 2012-04-11 ソニー株式会社 画像処理装置、フォーカルプレーン歪み成分算出方法、画像処理プログラム及び記録媒体
JP4915424B2 (ja) 2009-02-19 2012-04-11 ソニー株式会社 画像処理装置、カメラモーション成分算出方法、画像処理プログラム及び記録媒体
CN101990093A (zh) * 2009-08-06 2011-03-23 索尼株式会社 检测视频中的重放片段的方法和设备
JP4964937B2 (ja) * 2009-10-06 2012-07-04 株式会社ナナオ 動きベクトル検出装置、フレーム補間処理装置およびそれらの方法
JP2011217044A (ja) * 2010-03-31 2011-10-27 Sony Corp 画像処理装置、画像処理方法および画像処理プログラム
JP2011233039A (ja) * 2010-04-28 2011-11-17 Sony Corp 画像処理装置、画像処理方法、撮像装置、およびプログラム
US20110299597A1 (en) * 2010-06-07 2011-12-08 Sony Corporation Image processing method using motion estimation and image processing apparatus
JP5198543B2 (ja) * 2010-11-19 2013-05-15 株式会社東芝 画像処理方法、画像処理装置及び画像処理プログラム
JP2012227669A (ja) * 2011-04-19 2012-11-15 Sony Corp 情報処理装置と情報処理方法およびプログラム
JP5687553B2 (ja) * 2011-04-25 2015-03-18 オリンパス株式会社 画像合成装置、画像合成方法及び画像合成プログラム
US20120311006A1 (en) * 2011-05-31 2012-12-06 Juei-Chao Chen Method for improving computation speed of cross-covariance function and autocovariance function for computer hardware
CN102868879B (zh) * 2011-07-05 2015-04-29 北京大学 一种视频帧速率上转换方法及系统
JP2013041387A (ja) * 2011-08-15 2013-02-28 Sony Corp 画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラム
JP2013066164A (ja) * 2011-09-02 2013-04-11 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
JP6146265B2 (ja) 2013-11-07 2017-06-14 ソニー株式会社 顕微鏡システムおよびオートフォーカス方法
KR20170116043A (ko) * 2015-02-12 2017-10-18 엘지전자 주식회사 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
CN104837031B (zh) * 2015-04-08 2018-01-30 中国科学院信息工程研究所 一种高速自适应提取视频关键帧的方法
WO2018056181A1 (ja) * 2016-09-26 2018-03-29 ソニー株式会社 符号化装置、符号化方法、復号化装置、復号化方法、送信装置および受信装置
US10291931B2 (en) * 2016-10-13 2019-05-14 Ati Technologies Ulc Determining variance of a block of an image based on a motion vector for the block
JP6823469B2 (ja) * 2017-01-20 2021-02-03 キヤノン株式会社 像ブレ補正装置及びその制御方法、撮像装置、プログラム、記憶媒体
CN110139100B (zh) * 2019-05-16 2021-07-06 东莞职业技术学院 多图像运动估计的扩展块匹配及运动矢量估计算法
CN110188754B (zh) 2019-05-29 2021-07-13 腾讯科技(深圳)有限公司 图像分割方法和装置、模型训练方法和装置
CN111967515A (zh) * 2020-08-14 2020-11-20 Oppo广东移动通信有限公司 图像信息提取方法、训练方法及装置、介质和电子设备
CN117036228A (zh) * 2022-12-05 2023-11-10 珠海祺力电子有限公司 一种基于物联网的pcba生产流程监测管理系统及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2586686B2 (ja) * 1990-04-19 1997-03-05 日本電気株式会社 動画像の動き情報検出装置および動画像の動き補償フレーム間予測符号化装置
JP4239231B2 (ja) * 1998-01-27 2009-03-18 ソニー株式会社 ブロック歪低減装置及び方法
EP1334595B1 (en) * 2000-09-27 2004-12-22 Itt Manufacturing Enterprises, Inc. Intervote modulator
EP1376471A1 (en) * 2002-06-19 2004-01-02 STMicroelectronics S.r.l. Motion estimation for stabilization of an image sequence
JP4052588B2 (ja) * 2004-01-26 2008-02-27 Kddi株式会社 動き予測情報検出装置
WO2005084036A1 (ja) * 2004-03-01 2005-09-09 Sony Corporation 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム
US20070025444A1 (en) * 2005-07-28 2007-02-01 Shigeyuki Okada Coding Method
JP4743601B2 (ja) * 2005-09-21 2011-08-10 Kddi株式会社 動画像処理装置
WO2007062404A2 (en) * 2005-11-23 2007-05-31 Capso Vision, Inc. Movement detection and construction of an 'actual reality' image
US8130845B2 (en) * 2006-11-02 2012-03-06 Seiko Epson Corporation Method and apparatus for estimating and compensating for jitter in digital video
US8488676B2 (en) * 2007-05-14 2013-07-16 Himax Technologies Limited Motion estimation method

Also Published As

Publication number Publication date
US20090074071A1 (en) 2009-03-19
JP2009065332A (ja) 2009-03-26
CN101383966B (zh) 2010-12-15
CN101383966A (zh) 2009-03-11

Similar Documents

Publication Publication Date Title
JP5045320B2 (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
WO2013031424A1 (ja) 画像処理装置、および画像処理方法、並びにプログラム
TWI621352B (zh) 運動向量之預測解碼方法、預測解碼裝置
US8274602B2 (en) Image processing apparatus and image processing method with redundant frame detection
US8503531B2 (en) Image processing apparatus and method, recording medium, and program
US20160080764A1 (en) Encoding system using motion estimation and encoding method using motion estimation
JP5833757B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム及び記録媒体
JP2013532926A (ja) 複数のプロセッサを使用してビデオフレームを符号化するための方法およびシステム
KR20090014371A (ko) 움직임 검출 장치
US20030152150A1 (en) Information processing apparatus and method, recording medium, and program
KR101810118B1 (ko) 프로파일 정보 기반 움직임 추정장치 및 방법
CN113453020B (zh) 位元率控制方法与视频处理装置
KR100810391B1 (ko) 움직임 보간을 이용한 프레임 레이트 변환 방법
JP6918661B2 (ja) 符号化装置、符号化方法及びプログラム
CN110944211A (zh) 用于帧内预测的插值滤波方法、装置、介质及电子设备
JP5254565B2 (ja) 動画像予測符号化装置、方法及びプログラム、並びに、動画像予測復号装置、方法及びプログラム
JP5095520B2 (ja) 動きベクトル割付装置、フレームレート変換装置、動画像符号化装置、動きベクトル割付方法、動きベクトル割付プログラム、および、記録媒体
JP4207763B2 (ja) 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム
KR101895822B1 (ko) 프로파일 정보 기반 움직임 추정장치 및 방법
KR100892471B1 (ko) 움직임 검출 장치
JP4144316B2 (ja) 画像データ処理装置および方法、記録媒体、並びにプログラム
JP5637010B2 (ja) 動きベクトル検出装置、動きベクトル検出方法及び動きベクトル検出プログラム
JP2008301085A (ja) 動きベクトル探索装置及びその制御方法、コンピュータプログラム
JP2010183575A (ja) ビデオフレームのシーケンスを処理してシーケンスのショット間にワイプ遷移が存在するか否かを判断する方法及び装置
Zhou et al. Improved Poisson Matting for a Real Time Tele-presence System Using GPU

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120217

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120702

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees