フレーム補間装置及びその方法
【課題】動画像のフレーム間に補間フレームを内挿し動画を滑らかにするフレーム補間装置10を提供する。
【解決手段】フレーム補間装置10は、動き推定部12、歪みエネルギー計算部14、破綻防止画像生成部16、アルファマップ生成部18、動き補償ワーピング部20、アルファブレンディング部22から構成される。入力された画像と推定されたフローに基づき、フローの信頼度を局所的に計算する。この信頼度をフローに従い補間フレームの時間位置にワーピングし0−1のアルファ値に変換しアルファマップを生成する。このアルファ値により動き補償画像と破綻防止画像をアルファブレンドすることにより局所的な画質劣化にも対応できる。
【解決手段】フレーム補間装置10は、動き推定部12、歪みエネルギー計算部14、破綻防止画像生成部16、アルファマップ生成部18、動き補償ワーピング部20、アルファブレンディング部22から構成される。入力された画像と推定されたフローに基づき、フローの信頼度を局所的に計算する。この信頼度をフローに従い補間フレームの時間位置にワーピングし0−1のアルファ値に変換しアルファマップを生成する。このアルファ値により動き補償画像と破綻防止画像をアルファブレンドすることにより局所的な画質劣化にも対応できる。
【発明の詳細な説明】
【技術分野】
【0001】
入力された動画像のフレーム間に補間画像(補間フレーム)を内挿し動画を滑らかにするフレーム補間装置及びその方法に関する。
【背景技術】
【0002】
特許文献1において、符号化された動画像をデコードする際に、フレーム内のフロー(動きベクトル)の分散、方向、DCT係数などにより補間フレームを内挿する/しないを制御する技術が開示されている。
【特許文献1】特開2005−6275公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記背景技術では画面全体の統計量により、補間フレームを内挿する/しないを制御するため、画面内の局所的な画質劣化に対応することが難しい。
【0004】
また、画面全体を内挿する/しないと切り替えるため、切り替えが頻繁に起こるとフリッカーとして視認されてしまい新たな画質劣化を生んでしまう。
【0005】
そこで本発明は、動画像のフレーム間に補間フレームを内挿し動画を滑らかにするフレーム補間装置及びその方法を提供する。
【課題を解決するための手段】
【0006】
本発明は、対象画像と参照画像との間に補間画像を内挿するフレーム補間装置において、前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定部と、前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算部と、前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算部と、前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成部と、(1)前記対象画像、(2)前記参照画像、または、(3)前記対象画像と前記参照画像との前記第1及び前記第2時間距離に応じた第3加重平均によって求められた時間加重平均画像、のいずれかを破綻防止画像として取得する破綻防止画像取得部と、前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間部、を有するフレーム補間装置である。
【0007】
また、本発明は、対象画像と参照画像との間に補間画像を内挿するフレーム補間装置において、前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定部と、前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算部と、前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算部と、前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成部と、前記対象画像を前記参照画像に幾何変換するための前記対象画像のベクトル抽出領域毎のグローバルモーションベクトルを求め、前記ベクトル抽出領域毎のグローバルモーションベクトルに基づいて破綻防止画像を取得する破綻防止画像取得部と、前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間部、を有するフレーム補間装置である。
【発明の効果】
【0008】
本発明によれば、動画像のフレーム間に補間フレームを内挿し、動画が滑らかになる。
【発明を実施するための最良の形態】
【0009】
以下、図面に基づいて本発明の実施形態のフレーム補間装置10を説明する。
【0010】
(実施形態1)
本発明の実施形態1のフレーム補間装置10について、図1から図7に基づいて説明する。
【0011】
本実施形態のフレーム補間装置10は、動画像が入力されたときに、対象となるフレームとフレームの間に補間フレームを内挿し単位時間当たりのフレーム数を増加させて動画を滑らかにするものである。このとき、動画の解像度、大きさ、フレームレート、補間フレーム数にかかわらず本実施形態は適用可能である。
【0012】
従来、フレーム間の動き推定によりフレーム間の動きベクトル(フロー)を求め、それに基づき動き補償を行い補間フレームを生成する方法が一般的であるが、フローの推定が誤った場合に画質劣化が発生するという問題があった。特許文献1では、フレーム全体のフローの分散などを見ることによりフレーム全体のフローの信頼度を推定し、それにより信頼度が低い場合には補間をしないという方法が開示されている。これにより信頼度が低い場合に画質劣化を抑えることができる。
【0013】
しかし、特許文献1の技術はフレーム全体を対象としており、フレーム内の局所的な劣化には対応が困難である。そこで本実施形態では、フレーム内の局所的な劣化にも対応できるフレーム補間装置10を提供する。
【0014】
(1)フレーム補間装置10の概要
本実施形態のフレーム補間装置10を、図1のブロック図に従い説明する。
【0015】
フレーム補間装置10は、対象画像Isrc、参照画像Idstが入力されたときに、その間にピクセルレベルで補間フレームを生成する。
【0016】
フレーム補間装置10は、動き推定部12、歪みエネルギー計算部14、破綻防止画像生成部16、アルファマップ生成部18、動き補償ワーピング部20、アルファブレンディング部22から構成される。
【0017】
各部12〜22の機能は、コンピュータに格納されたプログラムによっても実現できる。
【0018】
フレーム補間装置10は、図2に示すように、入力された画像と推定されたフローに基づき、フローの信頼度を局所的に計算する。この信頼度をフローに従い補間フレームの時間位置にワーピングし0−1のアルファ値に変換しアルファマップを生成する。このアルファ値により動き補償画像と破綻防止画像をアルファブレンドすることにより局所的な画質劣化にも対応できる。
【0019】
(2)動き推定部12
動き推定部12におけるフロー推定方法は、一般に、ブロックマッチング法、オプティカルフロー法、Pel−recursive法、ベイジアン法などがあるが、ここではブロックマッチング法によって求める方法を示す。しかしそれに限ったものではなく、オプティカルフロー法、Pel−recursive法、ベイジアン法などを用いても良い。
【0020】
まず、対象画像を以下のような予め設定された矩形領域のブロックに分割する。
【0021】
B(i)={i+(x,y)T|0=<x<M1,0=<y<M2}
ここで点i∈Xはブロックの左上の点、M1、M2はブロックのxサイズ、yサイズである。なお、X⊂Λ2はフレームである。
【0022】
動き探索の領域をW⊂Xとすると、差分二乗和基準(SSD:Sum of Squared Difference)に従ったブロックマッチングアルゴリズムは以下のようになる。
【数1】
【0023】
ブロックマッチングではブロック内は同一のフローを持つと仮定される。つまり各画素のフローは
【数2】
【0024】
と表せる。
【0025】
(3)歪みエネルギー計算部14
次に、歪みエネルギー計算部14について、図3のフローチャートに基づいて説明する。歪みエネルギー計算部14は、ピクセル単位で歪みエネルギーを計算する。
【0026】
(3−1)第1の歪みエネルギー
動きに沿ってフレーム間で輝度が一定であると仮定すると、
Idst(x+u(x))=Isrc(x)
が成り立つ。つまり残差
dpt(x)=Idst(x+u(x))−Isrc(x)
が小さいほどフローの信頼度が高いと考えることができる。よって残差の歪みエネルギー
D(x)=dpt(x)2
により信頼度を定義することができる。
【0027】
但し、一点(すなわち、1ピクセル)のみではノイズの影響を直接うけてしまい信頼度の信頼性が高くない。そこで周辺の残差を畳み込んだ
【数3】
【0028】
を第1の歪みエネルギーとし、これが小さいものほど信頼度が高いとする。ここでN(x)⊂Xは点xの近傍点の集合である。すなわち、自点を含めた近傍9点や25点などである。
【0029】
(3−2)第2の歪みエネルギー
また、この第1の歪みエネルギー(残差エネルギー)が仮に小さくても、周辺フローが空間的にバラバラだと補間フレームは局所的に劣化している可能性が高い。そこで周辺フローの平滑化エネルギーを考える。
【0030】
V(x,s)=||u(x+s)−u(x)||2
このエネルギーは互いのフローが近いベクトルを持つほど低いエネルギーとなる。つまり平滑化エネルギーが低いほど空間的には滑らかであり、そのフローは信頼できる。
【0031】
(3−3)拡張された歪みエネルギー
先ほどの第1の歪みエネルギー(残差エネルギー)を第2の歪みエネルギー(平滑化エネルギー)を考慮して以下のように拡張する。
【数4】
【0032】
ここでλ>=0は残差か平滑化かどちらを重視するかのハイパーパラメータである。このエネルギーにより残差が小さく空間的に滑らかなフローが信頼性が高いと判定されるようになる。
【0033】
なお、これらはl2ノルムで定義されたが、l1ノルムつまり絶対値でも構わない。
【0034】
D(x)=|dpt(x)|
V(x,s)=|u(x+s)−u(x)|+|v(x+s)−v(x)|
ここでu,vはベクトルuのx座標、y座標である。すなわち、
(u(x)=(u(x),v(x)T)
【0035】
である。
【0036】
(3−4)重み付けする場合
また、上記畳み込みは、周辺が動きに属する点で構成されている場合には問題ないが、そうではなく動きの境界を含む場合には歪みを発生させる。そこで以下のように画像の類似度により重み付けをしても良い。
【数5】
【0037】
第2式、右辺第1項が空間カーネルで空間にガウシアンの重み付けをしている。すなわち、中心ほど重みが大きい。右辺第2項が画素の類似度カーネルで、画素が近い点ほど大きな重みが設定されるようになっている。これにより、画素的に類似な領域だけ畳み込まれるため、動きの境界と画像の境界が重なっている限り、異なる動き領域を畳み込んでしまうことを防ぐことができる。
【0038】
(4)破綻防止画像生成部16
次に、破綻防止画像生成部16について図4のフローチャートに基づいて説明する。
【0039】
破綻防止画像生成部16は、信頼できないフロー領域の代わりに内挿するフレーム情報として破綻防止画像を用いる。
【0040】
この破綻防止画像となるフレーム情報としては、隣接フレームの時間加重平均画像を用いることができる。補間フレームの内挿時間位置を0=<t=<1とすると
It(x)=(1−t)Isrc(x)+tIdst(x)
と計算できる。
【0041】
この時間加重平均画像が視覚的にエントロピーが少なく画質的に良好だと考えられるが、対象画像Isrcのみや参照画像Idstのみでももちろん構わない。
【0042】
また、加重平均ではなく単なる平均
It(x)=0.5Isrc(x)+0.5Idst(x)
でも構わない。
【0043】
(5)アルファマップ生成部18
次に、アルファマップ生成部18について図5のフローチャートに基づいて説明する。
【0044】
(5−1)アルファ値の計算
アルファマップ生成部18は、アルファマップ、すなわち、信頼度マップを生成する。このアルファマップはアルファブレンドをする際の基準となる各点の係数のマップであり、この係数であるアルファ値(信頼度)は0−1の範囲の値を取るものとし、対象画像と同じサイズを持つ。
【0045】
前記歪みエネルギーU(x)は0以上の実数として定義されており、歪みエネルギーが小さいほどそのフローの信頼度が高い。信頼度が高い領域はフローによる動き補償画像を優先してアルファブレンディングしたいので、つまり歪みエネルギーが小さいものはアルファ値を1に近くし、逆であれば0に近くしたい。
【0046】
そこで以下のような正規分布関数により、前記歪みエネルギーU(x)を0−1の範囲のアルファ値へ変換を行うことができる。
【数6】
【0047】
他にもロジスティック写像
【数7】
【0048】
を用いることもできる。ここでa>0、b>0は変換の形状を決めるパラメータである。
【0049】
(5−2)位置のシフト
歪みエネルギーは対象画像と同じ時間位置で計算されているため、アルファマップとするには位置をシフトする必要がある。位置はフローによってシフトする。補間フレームの内挿時間位置を0=<t=<1とすると補間位置は
【数8】
【0050】
シフトによってアルファ値が重なってしまう部分も出てくる。この場合はアルファ値の高い方を優先する。これはアルファ値が高い方がフローの信頼度が高いからである。
【0051】
また、整数化オペレータによって切り捨てが起こっているので、それを保証するためにx軸とy軸に局所的な繰り返しを行っても良い。
【0052】
(6)動き補償ワーピング部20
次に、動き補償ワーピング部20について図6のフローチャートに基づいて説明する。
【0053】
動き補償ワーピング部20は、フローによって対象画像、参照画像をワーピングして動き補償する。
【0054】
フローによってシフトする方法はアルファマップ生成部18と同様である。点xに対する対象画像、参照画像の画素値は
I1=Isrc(x)
I2=Idst(x+u(x))
となる。補間フレームの内挿時間位置を0=<t=<1とすると時間の加重平均により補間画素値は
Imc=(1−t)I1+tI2
と計算できる。これが動き補償画像Imcとなる。
【0055】
アルファマップ生成部18と同様に、シフトした結果によって画素が重なってしまう領域もありうる。この場合は先ほどと同様にアルファ値を比較すると良い。
【0056】
また、穴が空いてしまう部分も発生する可能性があるが、小さな穴に関してはフィルタリング処理で埋めてしまうことができる。また大きな穴に関しては前記破綻防止画像で埋めることができる。
【0057】
(7)アルファブレンディング部22
次に、アルファブレンディング部22について図7のフローチャートに基づいて説明する。
【0058】
アルファブレンディング部22では、動き補償画像、破綻防止画像をアルファマップに従って合成する。
【0059】
合成は一般的なアルファブレンディングの手順に従う。
【0060】
I=α(x)Imc(x)+(1−α(x))It(x)
により最終的な補間画素値を決定することにより、対象画像と参照画像との間に補間されるフレーム補間画像が生成される。
【0061】
(8)効果
本実施形態のフレーム補間装置10は、動画像が入力されたときに、対象となるフレームとフレームの間に補間フレームを内挿し単位時間当たりのフレーム数を増加させて動画を滑らかにする。特に、フレーム内の局所的な劣化にも対応することができる。
【0062】
(実施形態2)
次に、実施形態2のフレーム補間装置10について図8及び図9に基づいて説明する。
【0063】
実施形態1のフレーム補間装置10では、ピクセル単位で歪みエネルギーを計算する構成であったが、そのままでは計算量が大きすぎる場合もありうる。そこで本実施形態のフレーム補間装置10ではブロック単位で簡易的に歪みエネルギーを計算する。
【0064】
本実施形態のフレーム補間装置10は、歪みエネルギー計算部14以外は実施形態1と同様であるので、説明は省略する。
【0065】
歪みエネルギー計算部14は、ブロック単位で歪みエネルギーを計算する。対象画像を以下のような予め設定された矩形領域のブロックに分割する。
【0066】
B(i)={i+(x,y)T|0=<x<M1,0=<y<M2}
ここで点i∈Xはブロックの左上の点、M1、M2はブロックのxサイズ、yサイズである(X⊂Λ2はフレーム)。残差エネルギーは以下のようなブロック単位のSAD(Sum of Absolute Difference)で行う。
【数9】
【0067】
ここでは絶対値差分和を用いたが、二乗和でも良い。
【0068】
平滑化エネルギーは周辺のブロックのフローとの差分で計算する。
【数10】
【0069】
ここでも絶対値の和でも良い。周辺のブロック分の総和により平滑化エネルギーとする。
【0070】
これらにより
【数11】
【0071】
という線形結合を歪みエネルギーと定義できる。これはブロック単位で計算される。ここでNは周辺を表す。例えば、周辺4ブロックなどである。
【0072】
(実施形態3)
次に、実施形態3のフレーム補間装置10について図10に基づいて説明する。
【0073】
本実施形態では、図10のブロック図に示すように、画像信号が符号化されて伝送され、それを復号器24によりデコードして補間フレームを内挿する。なお、このときには、動き推定部12でフローを求めず、復号器24からのフローを直接利用する。
【0074】
(実施形態4)
次に、実施形態4のフレーム補間装置10について図11から図15に基づいて説明する。
【0075】
実施形態1ではアルファブレンディングによって誤りフローによる補間フレームの破綻を防止する。しかし、図11に示すように、フローの推定結果が低精度で、誤りフローを多数含んでいる場合に問題が発生する。このフローに対するアルファマップを図12に示す。誤りフローの周辺でアルファ値が低くなっていることが確認できる。
【0076】
しかし、実施形態1では、破綻防止画像として時間加重平均画像を用いるため、このように画面内(特に同じ動き領域内)にアルファ値の高い領域と低い領域が混在してしまうと、動き補償画像と時間加重平均画像が混在することになり、その混在領域がフリッカーとして視認されてしまう。
【0077】
しかしながらアルファ値の低い領域のフローは低信頼であるから、動き補償画像をそのまま使うことはできない。一方、時間加重平均画像を挿入してもフリッカーとして視認されてしまう。ここでの問題は動き補償画像と時間加重平均画像間の、動きに対する「差」であると考えられる。つまり時間加重平均画像よりも動き補償画像に近い画像を破綻防止画像としてアルファブレンドする必要がある。
【0078】
ここで問題なのは、同じような動きをしている中に、時間加重平均画像が突然入ってしまうことである。この「同じような動き」というのは画面内のグローバルモーション(Global Motion)によって抽出できる。グローバルモーションとは画面内で支配的な動きのことである。つまりグローバルモーションから低信頼領域補償画像を生成し、これをアルファブレンディングの対象とすればよい。時間加重平均画像は静止のグローバルモーションと捉えることもできるので、アルファブレンディングからの拡張とも考えられる。
【0079】
(1)フレーム補間装置10の概要
本実施形態のフレーム補間装置10を、図13のブロック図に従い説明する。
【0080】
フレーム補間装置10は、動き推定部12、歪みエネルギー計算部14、破綻防止画像生成部16、アルファマップ生成部18、動き補償ワーピング部20、アルファブレンディング部22、グローバルモーション抽出部26、第2歪みエネルギー計算部28、第2アルファマップ生成部30、第2動き補償ワーピング部32から構成される。
【0081】
本実施形態は、基本的にはアルファブレンディングの拡張であるため実施形態1と同様であり、ここでは実施形態1とは異なる部分の説明する。
【0082】
なお、本実施形態では、以下の記述を用いることとする。
【数12】
【0083】
(2)グローバルモーション抽出部26
まず、グローバルモーション抽出部26について図14のフローチャートと図15に基づいて説明する。
【0084】
グローバルモーションは2次元平面から2次元平面への幾何変換によってモデル化できる。幾何変換の代表はアフィン変換である。これは並進、回転、拡大、せん断変形(正方形を菱形に変形する)を表すことのできる幾何変換である。最もよく使われる幾何変換であるが、自由度が6であるため多少複雑である。そこでここでは並進のみを考慮した幾何変換を考える。2次元フローを一つで表現でき自由度は2である。
【数13】
【0085】
ある領域内の代表フローを決定することで得られる。代表フローは平均値やメディアン値によって算出する。
【0086】
与えられたフローフィールドから任意の数(K個)のグローバルモーションuk−(但し、k=1,...,Kである)を抽出する問題は、シンプルにはk−means法によって解くことができる。k−means法はフィールドをK個にクラスタリングするアルゴリズムである。
【数14】
【0087】
このとき各クラスタの平均値は、
【数15】
【0088】
と計算できる。ここでNum()は要素数を数えるオペレータである。右肩の添え字tはイテレーションを表す。
【0089】
次に平均からの距離が最小となるクラスタを決定し、ラベル更新する。
【数16】
【0090】
k−means法では数14の数式、数式15の数式を任意の回数繰り返す。なお、数回で収束するが、1回で収束する場合もある。
【0091】
初期ラベルの与え方は色々考えられる。例えばランダムにk=1,・・・,Kを割り当てるというのも一つの方法である。ここでは図15に示すように、対象画像のクラスタリング(これもk−means法による)の結果を初期ラベルにする方法を行う。まず、対象画像のブロック内平均を取る。
【数17】
【数18】
【0092】
によりラベリングを行いラベルを更新する。次に
【数19】
【0093】
により各クラスタの平均値を算出する。
【0094】
これら数17の数式、数式18の数式を数回繰り返す。そして対象画像クラスタリングの結果をフロークラスタリングの初期値に設定する。
【数20】
【0095】
ここでTはk−means法のイテレーション回数である。
【0096】
ラベルz(i)を計算した後、平均値もしくはベクトルメディアン値によってグローバルモーションを決定する。
【数21】
【数22】
【0097】
(3)第2アルファマップ生成部30
第2アルファマップ生成部30は、グローバルモーションuk−(但し、k=1,...,Kである)に応じたアルファマップを生成する。フレーム内の全点がグローバルモーションuk−で構成されているとして(フレーム全体が一様なフローを持つとする)、実施形態1と同じようにアルファマップ生成を行う。その結果をα(x)(但し、k=1,...,Kである)とする。
【0098】
また、実施形態1で説明した時間加重平均画像に対するアルファマップも生成する。これは、グローバルモーションuk−=(0,0)Tとしたとき(すなわち、静止したとき)のアルファマップを生成し、αt(x)とする。
【0099】
(4)第2動き補償ワーピング部32
第2動き補償ワーピング部32は、グローバルモーションuk−(但し、k=1,...,Kである)に応じた動き補償ワーピング画像を生成する。フレーム内の全点がグローバルモーションuk−で構成されているとして(フレーム全体が一様なフローを持つとする)、実施形態1の動き補償ワーピングを行う。
【0100】
その結果をIk(x)(但し、k=1,...,Kである)とする。
【0101】
(4)アルファブレンディング部22
アルファブレンディング部22は、動き補償ワーピング画像Im(x)、グローバルモーションワーピング画像Ik(x)(但し、k=1,...,Kである)、時間加重平均画像It(x)をアルファブレンディングする。
【0102】
アルファブレンディングとして成り立つためには重み係数の総和が1になるように設計しなければならない。そのようなモデルとして
【数23】
【0103】
を考えることができる。
【0104】
もし、K=0とすれば実施形態1のアルファブレンディングと等価となっている。このことから、本実施形態は、実施形態1のアルファブレンディングの拡張と見ることができる。右辺第2項はグローバルモーションワーピング画像のそれぞれのアルファ値による加重平均となっており、アルファ値の高いグローバルモーションワーピング画像が優先される設計となっている。
【0105】
(変更例)
本発明は上記各実施形態に限らず、その主旨を逸脱しない限り種々に変更することができる。
【0106】
(1)変更例1
上記実施形態では、動き補償画像及び時間加重平均画像は、それぞれ補間画像の時間位置で加重平均を行った。
【0107】
しかし、上記各実施形態のフレーム補間装置を実装するときに、フレームの間の時間方向で量子化するとこの補間画像の時間位置に量子化できない場合がある。そのときは、前記補間画像の時間位置に最も近い時間において加重平均を行う。
【0108】
(2)変更例2
上記実施形態では、アルファマップ計算部18では、アルファマップを生成してから、補間フレームの時間位置に移動させたが、これに代えて、補間フレームの時間位置に各領域の歪みエネルギーを移動させてから、アルファマップを生成してもよい。
【図面の簡単な説明】
【0109】
【図1】本発明の実施形態1のフレーム補間装置10のブロック図である。
【図2】実施形態1の概念フローチャートである。
【図3】実施形態1の歪みエネルギー計算フローチャートである。
【図4】実施形態1の破綻防止画像生成フローチャートである。
【図5】実施形態1のアルファマップ生成フローチャートである。
【図6】実施形態1の動き補償ワーピングフローチャートである。
【図7】実施形態1のアルファブレンディングフローチャートである。
【図8】実施形態2のフレーム補間画像のブロック図である。
【図9】実施形態2の歪みエネルギー計算フローチャートである。
【図10】実施形態3のフレーム補間画像のブロック図である。
【図11】低い精度のフローの説明図である。
【図12】低い精度のフローから生成したアルファマップである。
【図13】実施形態4のフレーム補間装置のブロック図である。
【図14】k−meansクラスタリングのフローチャートである。
【図15】グローバルモーション抽出の説明図である。
【符号の説明】
【0110】
10 フレーム補間装置10
12 動き推定部
14 歪みエネルギー計算部
16 破綻防止画像生成部
18 アルファマップ生成部
20 動き補償ワーピング部
22 アルファブレンディング部
【技術分野】
【0001】
入力された動画像のフレーム間に補間画像(補間フレーム)を内挿し動画を滑らかにするフレーム補間装置及びその方法に関する。
【背景技術】
【0002】
特許文献1において、符号化された動画像をデコードする際に、フレーム内のフロー(動きベクトル)の分散、方向、DCT係数などにより補間フレームを内挿する/しないを制御する技術が開示されている。
【特許文献1】特開2005−6275公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記背景技術では画面全体の統計量により、補間フレームを内挿する/しないを制御するため、画面内の局所的な画質劣化に対応することが難しい。
【0004】
また、画面全体を内挿する/しないと切り替えるため、切り替えが頻繁に起こるとフリッカーとして視認されてしまい新たな画質劣化を生んでしまう。
【0005】
そこで本発明は、動画像のフレーム間に補間フレームを内挿し動画を滑らかにするフレーム補間装置及びその方法を提供する。
【課題を解決するための手段】
【0006】
本発明は、対象画像と参照画像との間に補間画像を内挿するフレーム補間装置において、前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定部と、前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算部と、前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算部と、前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成部と、(1)前記対象画像、(2)前記参照画像、または、(3)前記対象画像と前記参照画像との前記第1及び前記第2時間距離に応じた第3加重平均によって求められた時間加重平均画像、のいずれかを破綻防止画像として取得する破綻防止画像取得部と、前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間部、を有するフレーム補間装置である。
【0007】
また、本発明は、対象画像と参照画像との間に補間画像を内挿するフレーム補間装置において、前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定部と、前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算部と、前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算部と、前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成部と、前記対象画像を前記参照画像に幾何変換するための前記対象画像のベクトル抽出領域毎のグローバルモーションベクトルを求め、前記ベクトル抽出領域毎のグローバルモーションベクトルに基づいて破綻防止画像を取得する破綻防止画像取得部と、前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間部、を有するフレーム補間装置である。
【発明の効果】
【0008】
本発明によれば、動画像のフレーム間に補間フレームを内挿し、動画が滑らかになる。
【発明を実施するための最良の形態】
【0009】
以下、図面に基づいて本発明の実施形態のフレーム補間装置10を説明する。
【0010】
(実施形態1)
本発明の実施形態1のフレーム補間装置10について、図1から図7に基づいて説明する。
【0011】
本実施形態のフレーム補間装置10は、動画像が入力されたときに、対象となるフレームとフレームの間に補間フレームを内挿し単位時間当たりのフレーム数を増加させて動画を滑らかにするものである。このとき、動画の解像度、大きさ、フレームレート、補間フレーム数にかかわらず本実施形態は適用可能である。
【0012】
従来、フレーム間の動き推定によりフレーム間の動きベクトル(フロー)を求め、それに基づき動き補償を行い補間フレームを生成する方法が一般的であるが、フローの推定が誤った場合に画質劣化が発生するという問題があった。特許文献1では、フレーム全体のフローの分散などを見ることによりフレーム全体のフローの信頼度を推定し、それにより信頼度が低い場合には補間をしないという方法が開示されている。これにより信頼度が低い場合に画質劣化を抑えることができる。
【0013】
しかし、特許文献1の技術はフレーム全体を対象としており、フレーム内の局所的な劣化には対応が困難である。そこで本実施形態では、フレーム内の局所的な劣化にも対応できるフレーム補間装置10を提供する。
【0014】
(1)フレーム補間装置10の概要
本実施形態のフレーム補間装置10を、図1のブロック図に従い説明する。
【0015】
フレーム補間装置10は、対象画像Isrc、参照画像Idstが入力されたときに、その間にピクセルレベルで補間フレームを生成する。
【0016】
フレーム補間装置10は、動き推定部12、歪みエネルギー計算部14、破綻防止画像生成部16、アルファマップ生成部18、動き補償ワーピング部20、アルファブレンディング部22から構成される。
【0017】
各部12〜22の機能は、コンピュータに格納されたプログラムによっても実現できる。
【0018】
フレーム補間装置10は、図2に示すように、入力された画像と推定されたフローに基づき、フローの信頼度を局所的に計算する。この信頼度をフローに従い補間フレームの時間位置にワーピングし0−1のアルファ値に変換しアルファマップを生成する。このアルファ値により動き補償画像と破綻防止画像をアルファブレンドすることにより局所的な画質劣化にも対応できる。
【0019】
(2)動き推定部12
動き推定部12におけるフロー推定方法は、一般に、ブロックマッチング法、オプティカルフロー法、Pel−recursive法、ベイジアン法などがあるが、ここではブロックマッチング法によって求める方法を示す。しかしそれに限ったものではなく、オプティカルフロー法、Pel−recursive法、ベイジアン法などを用いても良い。
【0020】
まず、対象画像を以下のような予め設定された矩形領域のブロックに分割する。
【0021】
B(i)={i+(x,y)T|0=<x<M1,0=<y<M2}
ここで点i∈Xはブロックの左上の点、M1、M2はブロックのxサイズ、yサイズである。なお、X⊂Λ2はフレームである。
【0022】
動き探索の領域をW⊂Xとすると、差分二乗和基準(SSD:Sum of Squared Difference)に従ったブロックマッチングアルゴリズムは以下のようになる。
【数1】
【0023】
ブロックマッチングではブロック内は同一のフローを持つと仮定される。つまり各画素のフローは
【数2】
【0024】
と表せる。
【0025】
(3)歪みエネルギー計算部14
次に、歪みエネルギー計算部14について、図3のフローチャートに基づいて説明する。歪みエネルギー計算部14は、ピクセル単位で歪みエネルギーを計算する。
【0026】
(3−1)第1の歪みエネルギー
動きに沿ってフレーム間で輝度が一定であると仮定すると、
Idst(x+u(x))=Isrc(x)
が成り立つ。つまり残差
dpt(x)=Idst(x+u(x))−Isrc(x)
が小さいほどフローの信頼度が高いと考えることができる。よって残差の歪みエネルギー
D(x)=dpt(x)2
により信頼度を定義することができる。
【0027】
但し、一点(すなわち、1ピクセル)のみではノイズの影響を直接うけてしまい信頼度の信頼性が高くない。そこで周辺の残差を畳み込んだ
【数3】
【0028】
を第1の歪みエネルギーとし、これが小さいものほど信頼度が高いとする。ここでN(x)⊂Xは点xの近傍点の集合である。すなわち、自点を含めた近傍9点や25点などである。
【0029】
(3−2)第2の歪みエネルギー
また、この第1の歪みエネルギー(残差エネルギー)が仮に小さくても、周辺フローが空間的にバラバラだと補間フレームは局所的に劣化している可能性が高い。そこで周辺フローの平滑化エネルギーを考える。
【0030】
V(x,s)=||u(x+s)−u(x)||2
このエネルギーは互いのフローが近いベクトルを持つほど低いエネルギーとなる。つまり平滑化エネルギーが低いほど空間的には滑らかであり、そのフローは信頼できる。
【0031】
(3−3)拡張された歪みエネルギー
先ほどの第1の歪みエネルギー(残差エネルギー)を第2の歪みエネルギー(平滑化エネルギー)を考慮して以下のように拡張する。
【数4】
【0032】
ここでλ>=0は残差か平滑化かどちらを重視するかのハイパーパラメータである。このエネルギーにより残差が小さく空間的に滑らかなフローが信頼性が高いと判定されるようになる。
【0033】
なお、これらはl2ノルムで定義されたが、l1ノルムつまり絶対値でも構わない。
【0034】
D(x)=|dpt(x)|
V(x,s)=|u(x+s)−u(x)|+|v(x+s)−v(x)|
ここでu,vはベクトルuのx座標、y座標である。すなわち、
(u(x)=(u(x),v(x)T)
【0035】
である。
【0036】
(3−4)重み付けする場合
また、上記畳み込みは、周辺が動きに属する点で構成されている場合には問題ないが、そうではなく動きの境界を含む場合には歪みを発生させる。そこで以下のように画像の類似度により重み付けをしても良い。
【数5】
【0037】
第2式、右辺第1項が空間カーネルで空間にガウシアンの重み付けをしている。すなわち、中心ほど重みが大きい。右辺第2項が画素の類似度カーネルで、画素が近い点ほど大きな重みが設定されるようになっている。これにより、画素的に類似な領域だけ畳み込まれるため、動きの境界と画像の境界が重なっている限り、異なる動き領域を畳み込んでしまうことを防ぐことができる。
【0038】
(4)破綻防止画像生成部16
次に、破綻防止画像生成部16について図4のフローチャートに基づいて説明する。
【0039】
破綻防止画像生成部16は、信頼できないフロー領域の代わりに内挿するフレーム情報として破綻防止画像を用いる。
【0040】
この破綻防止画像となるフレーム情報としては、隣接フレームの時間加重平均画像を用いることができる。補間フレームの内挿時間位置を0=<t=<1とすると
It(x)=(1−t)Isrc(x)+tIdst(x)
と計算できる。
【0041】
この時間加重平均画像が視覚的にエントロピーが少なく画質的に良好だと考えられるが、対象画像Isrcのみや参照画像Idstのみでももちろん構わない。
【0042】
また、加重平均ではなく単なる平均
It(x)=0.5Isrc(x)+0.5Idst(x)
でも構わない。
【0043】
(5)アルファマップ生成部18
次に、アルファマップ生成部18について図5のフローチャートに基づいて説明する。
【0044】
(5−1)アルファ値の計算
アルファマップ生成部18は、アルファマップ、すなわち、信頼度マップを生成する。このアルファマップはアルファブレンドをする際の基準となる各点の係数のマップであり、この係数であるアルファ値(信頼度)は0−1の範囲の値を取るものとし、対象画像と同じサイズを持つ。
【0045】
前記歪みエネルギーU(x)は0以上の実数として定義されており、歪みエネルギーが小さいほどそのフローの信頼度が高い。信頼度が高い領域はフローによる動き補償画像を優先してアルファブレンディングしたいので、つまり歪みエネルギーが小さいものはアルファ値を1に近くし、逆であれば0に近くしたい。
【0046】
そこで以下のような正規分布関数により、前記歪みエネルギーU(x)を0−1の範囲のアルファ値へ変換を行うことができる。
【数6】
【0047】
他にもロジスティック写像
【数7】
【0048】
を用いることもできる。ここでa>0、b>0は変換の形状を決めるパラメータである。
【0049】
(5−2)位置のシフト
歪みエネルギーは対象画像と同じ時間位置で計算されているため、アルファマップとするには位置をシフトする必要がある。位置はフローによってシフトする。補間フレームの内挿時間位置を0=<t=<1とすると補間位置は
【数8】
【0050】
シフトによってアルファ値が重なってしまう部分も出てくる。この場合はアルファ値の高い方を優先する。これはアルファ値が高い方がフローの信頼度が高いからである。
【0051】
また、整数化オペレータによって切り捨てが起こっているので、それを保証するためにx軸とy軸に局所的な繰り返しを行っても良い。
【0052】
(6)動き補償ワーピング部20
次に、動き補償ワーピング部20について図6のフローチャートに基づいて説明する。
【0053】
動き補償ワーピング部20は、フローによって対象画像、参照画像をワーピングして動き補償する。
【0054】
フローによってシフトする方法はアルファマップ生成部18と同様である。点xに対する対象画像、参照画像の画素値は
I1=Isrc(x)
I2=Idst(x+u(x))
となる。補間フレームの内挿時間位置を0=<t=<1とすると時間の加重平均により補間画素値は
Imc=(1−t)I1+tI2
と計算できる。これが動き補償画像Imcとなる。
【0055】
アルファマップ生成部18と同様に、シフトした結果によって画素が重なってしまう領域もありうる。この場合は先ほどと同様にアルファ値を比較すると良い。
【0056】
また、穴が空いてしまう部分も発生する可能性があるが、小さな穴に関してはフィルタリング処理で埋めてしまうことができる。また大きな穴に関しては前記破綻防止画像で埋めることができる。
【0057】
(7)アルファブレンディング部22
次に、アルファブレンディング部22について図7のフローチャートに基づいて説明する。
【0058】
アルファブレンディング部22では、動き補償画像、破綻防止画像をアルファマップに従って合成する。
【0059】
合成は一般的なアルファブレンディングの手順に従う。
【0060】
I=α(x)Imc(x)+(1−α(x))It(x)
により最終的な補間画素値を決定することにより、対象画像と参照画像との間に補間されるフレーム補間画像が生成される。
【0061】
(8)効果
本実施形態のフレーム補間装置10は、動画像が入力されたときに、対象となるフレームとフレームの間に補間フレームを内挿し単位時間当たりのフレーム数を増加させて動画を滑らかにする。特に、フレーム内の局所的な劣化にも対応することができる。
【0062】
(実施形態2)
次に、実施形態2のフレーム補間装置10について図8及び図9に基づいて説明する。
【0063】
実施形態1のフレーム補間装置10では、ピクセル単位で歪みエネルギーを計算する構成であったが、そのままでは計算量が大きすぎる場合もありうる。そこで本実施形態のフレーム補間装置10ではブロック単位で簡易的に歪みエネルギーを計算する。
【0064】
本実施形態のフレーム補間装置10は、歪みエネルギー計算部14以外は実施形態1と同様であるので、説明は省略する。
【0065】
歪みエネルギー計算部14は、ブロック単位で歪みエネルギーを計算する。対象画像を以下のような予め設定された矩形領域のブロックに分割する。
【0066】
B(i)={i+(x,y)T|0=<x<M1,0=<y<M2}
ここで点i∈Xはブロックの左上の点、M1、M2はブロックのxサイズ、yサイズである(X⊂Λ2はフレーム)。残差エネルギーは以下のようなブロック単位のSAD(Sum of Absolute Difference)で行う。
【数9】
【0067】
ここでは絶対値差分和を用いたが、二乗和でも良い。
【0068】
平滑化エネルギーは周辺のブロックのフローとの差分で計算する。
【数10】
【0069】
ここでも絶対値の和でも良い。周辺のブロック分の総和により平滑化エネルギーとする。
【0070】
これらにより
【数11】
【0071】
という線形結合を歪みエネルギーと定義できる。これはブロック単位で計算される。ここでNは周辺を表す。例えば、周辺4ブロックなどである。
【0072】
(実施形態3)
次に、実施形態3のフレーム補間装置10について図10に基づいて説明する。
【0073】
本実施形態では、図10のブロック図に示すように、画像信号が符号化されて伝送され、それを復号器24によりデコードして補間フレームを内挿する。なお、このときには、動き推定部12でフローを求めず、復号器24からのフローを直接利用する。
【0074】
(実施形態4)
次に、実施形態4のフレーム補間装置10について図11から図15に基づいて説明する。
【0075】
実施形態1ではアルファブレンディングによって誤りフローによる補間フレームの破綻を防止する。しかし、図11に示すように、フローの推定結果が低精度で、誤りフローを多数含んでいる場合に問題が発生する。このフローに対するアルファマップを図12に示す。誤りフローの周辺でアルファ値が低くなっていることが確認できる。
【0076】
しかし、実施形態1では、破綻防止画像として時間加重平均画像を用いるため、このように画面内(特に同じ動き領域内)にアルファ値の高い領域と低い領域が混在してしまうと、動き補償画像と時間加重平均画像が混在することになり、その混在領域がフリッカーとして視認されてしまう。
【0077】
しかしながらアルファ値の低い領域のフローは低信頼であるから、動き補償画像をそのまま使うことはできない。一方、時間加重平均画像を挿入してもフリッカーとして視認されてしまう。ここでの問題は動き補償画像と時間加重平均画像間の、動きに対する「差」であると考えられる。つまり時間加重平均画像よりも動き補償画像に近い画像を破綻防止画像としてアルファブレンドする必要がある。
【0078】
ここで問題なのは、同じような動きをしている中に、時間加重平均画像が突然入ってしまうことである。この「同じような動き」というのは画面内のグローバルモーション(Global Motion)によって抽出できる。グローバルモーションとは画面内で支配的な動きのことである。つまりグローバルモーションから低信頼領域補償画像を生成し、これをアルファブレンディングの対象とすればよい。時間加重平均画像は静止のグローバルモーションと捉えることもできるので、アルファブレンディングからの拡張とも考えられる。
【0079】
(1)フレーム補間装置10の概要
本実施形態のフレーム補間装置10を、図13のブロック図に従い説明する。
【0080】
フレーム補間装置10は、動き推定部12、歪みエネルギー計算部14、破綻防止画像生成部16、アルファマップ生成部18、動き補償ワーピング部20、アルファブレンディング部22、グローバルモーション抽出部26、第2歪みエネルギー計算部28、第2アルファマップ生成部30、第2動き補償ワーピング部32から構成される。
【0081】
本実施形態は、基本的にはアルファブレンディングの拡張であるため実施形態1と同様であり、ここでは実施形態1とは異なる部分の説明する。
【0082】
なお、本実施形態では、以下の記述を用いることとする。
【数12】
【0083】
(2)グローバルモーション抽出部26
まず、グローバルモーション抽出部26について図14のフローチャートと図15に基づいて説明する。
【0084】
グローバルモーションは2次元平面から2次元平面への幾何変換によってモデル化できる。幾何変換の代表はアフィン変換である。これは並進、回転、拡大、せん断変形(正方形を菱形に変形する)を表すことのできる幾何変換である。最もよく使われる幾何変換であるが、自由度が6であるため多少複雑である。そこでここでは並進のみを考慮した幾何変換を考える。2次元フローを一つで表現でき自由度は2である。
【数13】
【0085】
ある領域内の代表フローを決定することで得られる。代表フローは平均値やメディアン値によって算出する。
【0086】
与えられたフローフィールドから任意の数(K個)のグローバルモーションuk−(但し、k=1,...,Kである)を抽出する問題は、シンプルにはk−means法によって解くことができる。k−means法はフィールドをK個にクラスタリングするアルゴリズムである。
【数14】
【0087】
このとき各クラスタの平均値は、
【数15】
【0088】
と計算できる。ここでNum()は要素数を数えるオペレータである。右肩の添え字tはイテレーションを表す。
【0089】
次に平均からの距離が最小となるクラスタを決定し、ラベル更新する。
【数16】
【0090】
k−means法では数14の数式、数式15の数式を任意の回数繰り返す。なお、数回で収束するが、1回で収束する場合もある。
【0091】
初期ラベルの与え方は色々考えられる。例えばランダムにk=1,・・・,Kを割り当てるというのも一つの方法である。ここでは図15に示すように、対象画像のクラスタリング(これもk−means法による)の結果を初期ラベルにする方法を行う。まず、対象画像のブロック内平均を取る。
【数17】
【数18】
【0092】
によりラベリングを行いラベルを更新する。次に
【数19】
【0093】
により各クラスタの平均値を算出する。
【0094】
これら数17の数式、数式18の数式を数回繰り返す。そして対象画像クラスタリングの結果をフロークラスタリングの初期値に設定する。
【数20】
【0095】
ここでTはk−means法のイテレーション回数である。
【0096】
ラベルz(i)を計算した後、平均値もしくはベクトルメディアン値によってグローバルモーションを決定する。
【数21】
【数22】
【0097】
(3)第2アルファマップ生成部30
第2アルファマップ生成部30は、グローバルモーションuk−(但し、k=1,...,Kである)に応じたアルファマップを生成する。フレーム内の全点がグローバルモーションuk−で構成されているとして(フレーム全体が一様なフローを持つとする)、実施形態1と同じようにアルファマップ生成を行う。その結果をα(x)(但し、k=1,...,Kである)とする。
【0098】
また、実施形態1で説明した時間加重平均画像に対するアルファマップも生成する。これは、グローバルモーションuk−=(0,0)Tとしたとき(すなわち、静止したとき)のアルファマップを生成し、αt(x)とする。
【0099】
(4)第2動き補償ワーピング部32
第2動き補償ワーピング部32は、グローバルモーションuk−(但し、k=1,...,Kである)に応じた動き補償ワーピング画像を生成する。フレーム内の全点がグローバルモーションuk−で構成されているとして(フレーム全体が一様なフローを持つとする)、実施形態1の動き補償ワーピングを行う。
【0100】
その結果をIk(x)(但し、k=1,...,Kである)とする。
【0101】
(4)アルファブレンディング部22
アルファブレンディング部22は、動き補償ワーピング画像Im(x)、グローバルモーションワーピング画像Ik(x)(但し、k=1,...,Kである)、時間加重平均画像It(x)をアルファブレンディングする。
【0102】
アルファブレンディングとして成り立つためには重み係数の総和が1になるように設計しなければならない。そのようなモデルとして
【数23】
【0103】
を考えることができる。
【0104】
もし、K=0とすれば実施形態1のアルファブレンディングと等価となっている。このことから、本実施形態は、実施形態1のアルファブレンディングの拡張と見ることができる。右辺第2項はグローバルモーションワーピング画像のそれぞれのアルファ値による加重平均となっており、アルファ値の高いグローバルモーションワーピング画像が優先される設計となっている。
【0105】
(変更例)
本発明は上記各実施形態に限らず、その主旨を逸脱しない限り種々に変更することができる。
【0106】
(1)変更例1
上記実施形態では、動き補償画像及び時間加重平均画像は、それぞれ補間画像の時間位置で加重平均を行った。
【0107】
しかし、上記各実施形態のフレーム補間装置を実装するときに、フレームの間の時間方向で量子化するとこの補間画像の時間位置に量子化できない場合がある。そのときは、前記補間画像の時間位置に最も近い時間において加重平均を行う。
【0108】
(2)変更例2
上記実施形態では、アルファマップ計算部18では、アルファマップを生成してから、補間フレームの時間位置に移動させたが、これに代えて、補間フレームの時間位置に各領域の歪みエネルギーを移動させてから、アルファマップを生成してもよい。
【図面の簡単な説明】
【0109】
【図1】本発明の実施形態1のフレーム補間装置10のブロック図である。
【図2】実施形態1の概念フローチャートである。
【図3】実施形態1の歪みエネルギー計算フローチャートである。
【図4】実施形態1の破綻防止画像生成フローチャートである。
【図5】実施形態1のアルファマップ生成フローチャートである。
【図6】実施形態1の動き補償ワーピングフローチャートである。
【図7】実施形態1のアルファブレンディングフローチャートである。
【図8】実施形態2のフレーム補間画像のブロック図である。
【図9】実施形態2の歪みエネルギー計算フローチャートである。
【図10】実施形態3のフレーム補間画像のブロック図である。
【図11】低い精度のフローの説明図である。
【図12】低い精度のフローから生成したアルファマップである。
【図13】実施形態4のフレーム補間装置のブロック図である。
【図14】k−meansクラスタリングのフローチャートである。
【図15】グローバルモーション抽出の説明図である。
【符号の説明】
【0110】
10 フレーム補間装置10
12 動き推定部
14 歪みエネルギー計算部
16 破綻防止画像生成部
18 アルファマップ生成部
20 動き補償ワーピング部
22 アルファブレンディング部
【特許請求の範囲】
【請求項1】
対象画像と参照画像との間に補間画像を内挿するフレーム補間装置において、
前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定部と、
前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算部と、
前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算部と、
前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成部と、
(1)前記対象画像、(2)前記参照画像、または、(3)前記対象画像と前記参照画像との前記第1及び前記第2時間距離に応じた第3加重平均によって求められた時間加重平均画像、のいずれかを破綻防止画像として取得する破綻防止画像取得部と、
前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間部、
を有するフレーム補間装置。
【請求項2】
対象画像と参照画像との間に補間画像を内挿するフレーム補間装置において、
前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定部と、
前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算部と、
前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算部と、
前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成部と、
前記対象画像を前記参照画像に幾何変換するための前記対象画像のベクトル抽出領域毎のグローバルモーションベクトルを求め、前記ベクトル抽出領域毎のグローバルモーションベクトルに基づいて破綻防止画像を取得する破綻防止画像取得部と、
前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間部、
を有するフレーム補間装置。
【請求項3】
前記歪みエネルギー計算部は、
前記対象領域の前記歪みエネルギーと、前記各対象領域の周囲にあるそれぞれの周囲領域の前記歪みエネルギーを求め、
前記対象領域の前記歪みエネルギーと前記周囲領域の前記歪みエネルギーとの第4加重平均を求めて、前記対象領域の前記歪みエネルギーとする、
請求項1または2記載のフレーム補間装置。
【請求項4】
前記対象領域の画素値と、前記周囲領域の画素値との差分が大きい程に、前記第4加重平均における前記周囲領域の前記歪みエネルギーの重みを小さくする、
請求項3記載のフレーム補間装置。
【請求項5】
前記歪みエネルギー計算部は、
前記各対象領域の周囲にある周囲領域の動きベクトルをそれぞれ求め、
前記対象領域の動きベクトルと、前記周囲領域の動きベクトルとの差分に基づいて平滑化エネルギーを求め、
前記歪みエネルギーに前記平滑化エネルギーを加算する、
請求項1または2記載のフレーム補間装置。
【請求項6】
前記歪みエネルギー計算部は、
前記対象領域の周囲にある周囲領域の動きベクトルを求め、
前記対象領域の動きベクトルと、前記周囲領域の動きベクトルとの差分に基づいて平滑化エネルギーを求め、
前記歪みエネルギーに前記平滑化エネルギーを加重平均する、
請求項1または2記載のフレーム補間装置。
【請求項7】
前記歪みエネルギー計算部は、
前記対象領域の画素値と、前記周囲領域の画素値との差分が大きい程に、前記加重平均における前記平滑化エネルギーの重みを小さくする、
請求項6記載のフレーム補間装置。
【請求項8】
前記重み計算部は、
前記歪みエネルギーと前記重みとが一対一に対応し、
前記重みが0から1となる単調減少関数に基づいて前記歪みエネルギーを変換する、
請求項1または2記載のフレーム補間装置。
【請求項9】
対象画像と参照画像との間に補間画像を内挿するフレーム補間方法において、
前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定ステップと、
前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算ステップと、
前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算ステップと、
前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成ステップと、
(1)前記対象画像、(2)前記参照画像、または、(3)前記対象画像と前記参照画像との前記第1及び前記第2時間距離に応じた第3加重平均によって求められた時間加重平均画像、のいずれかを破綻防止画像として取得する破綻防止画像取得ステップと、
前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間ステップ、
を有するフレーム補間方法。
【請求項10】
対象画像と参照画像との間に補間画像を内挿するフレーム補間方法において、
前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定ステップと、
前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算ステップと、
前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算ステップと、
前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成ステップと、
前記対象画像を前記参照画像に幾何変換するための前記対象画像のベクトル抽出領域毎のグローバルモーションベクトルを求め、前記ベクトル抽出領域毎のグローバルモーションベクトルに基づいて破綻防止画像を取得する破綻防止画像取得ステップと、
前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間ステップ、
を有するフレーム補間方法。
【請求項11】
コンピュータによって実行されるプログラムであって、当該コンピュータを請求項1から請求項8までのいずれか一項に記載のフレーム補間装置として機能させるプログラム。
【請求項12】
コンピュータによって実行されるプログラムであって、請求項9から請求項10までのいずれか一項に記載のフレーム補間方法を当該コンピュータに実行させるためのプログラム。
【請求項1】
対象画像と参照画像との間に補間画像を内挿するフレーム補間装置において、
前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定部と、
前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算部と、
前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算部と、
前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成部と、
(1)前記対象画像、(2)前記参照画像、または、(3)前記対象画像と前記参照画像との前記第1及び前記第2時間距離に応じた第3加重平均によって求められた時間加重平均画像、のいずれかを破綻防止画像として取得する破綻防止画像取得部と、
前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間部、
を有するフレーム補間装置。
【請求項2】
対象画像と参照画像との間に補間画像を内挿するフレーム補間装置において、
前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定部と、
前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算部と、
前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算部と、
前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成部と、
前記対象画像を前記参照画像に幾何変換するための前記対象画像のベクトル抽出領域毎のグローバルモーションベクトルを求め、前記ベクトル抽出領域毎のグローバルモーションベクトルに基づいて破綻防止画像を取得する破綻防止画像取得部と、
前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間部、
を有するフレーム補間装置。
【請求項3】
前記歪みエネルギー計算部は、
前記対象領域の前記歪みエネルギーと、前記各対象領域の周囲にあるそれぞれの周囲領域の前記歪みエネルギーを求め、
前記対象領域の前記歪みエネルギーと前記周囲領域の前記歪みエネルギーとの第4加重平均を求めて、前記対象領域の前記歪みエネルギーとする、
請求項1または2記載のフレーム補間装置。
【請求項4】
前記対象領域の画素値と、前記周囲領域の画素値との差分が大きい程に、前記第4加重平均における前記周囲領域の前記歪みエネルギーの重みを小さくする、
請求項3記載のフレーム補間装置。
【請求項5】
前記歪みエネルギー計算部は、
前記各対象領域の周囲にある周囲領域の動きベクトルをそれぞれ求め、
前記対象領域の動きベクトルと、前記周囲領域の動きベクトルとの差分に基づいて平滑化エネルギーを求め、
前記歪みエネルギーに前記平滑化エネルギーを加算する、
請求項1または2記載のフレーム補間装置。
【請求項6】
前記歪みエネルギー計算部は、
前記対象領域の周囲にある周囲領域の動きベクトルを求め、
前記対象領域の動きベクトルと、前記周囲領域の動きベクトルとの差分に基づいて平滑化エネルギーを求め、
前記歪みエネルギーに前記平滑化エネルギーを加重平均する、
請求項1または2記載のフレーム補間装置。
【請求項7】
前記歪みエネルギー計算部は、
前記対象領域の画素値と、前記周囲領域の画素値との差分が大きい程に、前記加重平均における前記平滑化エネルギーの重みを小さくする、
請求項6記載のフレーム補間装置。
【請求項8】
前記重み計算部は、
前記歪みエネルギーと前記重みとが一対一に対応し、
前記重みが0から1となる単調減少関数に基づいて前記歪みエネルギーを変換する、
請求項1または2記載のフレーム補間装置。
【請求項9】
対象画像と参照画像との間に補間画像を内挿するフレーム補間方法において、
前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定ステップと、
前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算ステップと、
前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算ステップと、
前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成ステップと、
(1)前記対象画像、(2)前記参照画像、または、(3)前記対象画像と前記参照画像との前記第1及び前記第2時間距離に応じた第3加重平均によって求められた時間加重平均画像、のいずれかを破綻防止画像として取得する破綻防止画像取得ステップと、
前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間ステップ、
を有するフレーム補間方法。
【請求項10】
対象画像と参照画像との間に補間画像を内挿するフレーム補間方法において、
前記対象画像内を分割したそれぞれの対象領域について、前記各対象領域から前記参照画像の各参照領域へのそれぞれの第1動きベクトル、前記各第1動きベクトルを前記対象画像と前記補間画像との第1時間距離に応じてスケーリングした各第2動きベクトル、及び、前記各第1動きベクトルを前記参照画像と前記補間画像との第2時間距離に応じてスケーリングした各第3動きベクトルを求める動き推定ステップと、
前記対象領域の各画素の画素値と前記参照領域の各画素の画素値との差分が小さい程に小さくなる歪みエネルギーを、前記対象領域毎にそれぞれ求める歪みエネルギー計算ステップと、
前記各対象領域から前記第2動きベクトルによって指し示される前記補間画像内の各第1補間領域の第1加重平均用の重みを、前記各対象領域の歪みエネルギーから求める重み計算ステップと、
前記各対象領域の画像を前記各第2動きベクトルを用いて前記補間画像の時間位置に動き補償した第1動き補償画像と、前記各参照領域の画像を前記第3動きベクトルを用いて前記補間画像の時間位置に動き補償した第2動き補償画像との、前記第1及び第2時間距離に応じた第2加重平均により第3動き補償画像を求める動き補償画像生成ステップと、
前記対象画像を前記参照画像に幾何変換するための前記対象画像のベクトル抽出領域毎のグローバルモーションベクトルを求め、前記ベクトル抽出領域毎のグローバルモーションベクトルに基づいて破綻防止画像を取得する破綻防止画像取得ステップと、
前記補間画像を分割した各第2補間領域に対応する前記動き補償画像内の領域の画像と、前記各第2補間領域に対応する前記破綻防止画像内の領域の画像との、前記重みに基づく前記第1加重平均を求めることにより前記各補間領域の画像を求める画像補間ステップ、
を有するフレーム補間方法。
【請求項11】
コンピュータによって実行されるプログラムであって、当該コンピュータを請求項1から請求項8までのいずれか一項に記載のフレーム補間装置として機能させるプログラム。
【請求項12】
コンピュータによって実行されるプログラムであって、請求項9から請求項10までのいずれか一項に記載のフレーム補間方法を当該コンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2008−244846(P2008−244846A)
【公開日】平成20年10月9日(2008.10.9)
【国際特許分類】
【出願番号】特願2007−82613(P2007−82613)
【出願日】平成19年3月27日(2007.3.27)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成20年10月9日(2008.10.9)
【国際特許分類】
【出願日】平成19年3月27日(2007.3.27)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]