JP2010004255A - Interpolation frame creating apparatus, interpolation frame creating method and interpolation frame creating program - Google Patents
Interpolation frame creating apparatus, interpolation frame creating method and interpolation frame creating program Download PDFInfo
- Publication number
- JP2010004255A JP2010004255A JP2008160522A JP2008160522A JP2010004255A JP 2010004255 A JP2010004255 A JP 2010004255A JP 2008160522 A JP2008160522 A JP 2008160522A JP 2008160522 A JP2008160522 A JP 2008160522A JP 2010004255 A JP2010004255 A JP 2010004255A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- interpolation
- motion vector
- vector
- 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.)
- Pending
Links
Images
Landscapes
- Television Systems (AREA)
Abstract
Description
本発明は、動画像の時間解像度を改善する補間フレーム作成装置、補間フレーム作成方法および補間フレーム作成プログラムに関する。 The present invention relates to an interpolation frame creation device, an interpolation frame creation method, and an interpolation frame creation program that improve the temporal resolution of a moving image.
フレーム補間技術とは、補間フレームを作成し、表示時刻で前後する2枚のフレームの表示時刻間に内挿することで動画像の時間解像度を上げる技術である。 The frame interpolation technique is a technique for increasing the temporal resolution of a moving image by creating an interpolation frame and interpolating between the display times of two frames preceding and following the display time.
補間フレーム内をブロックと呼ばれる矩形領域(以下、補間ブロックと記す)に分割し、補間ブロックごとに動きベクトル(以下、補間MVと記す)を割り当て、補間フレームを作成する手法がある。 There is a method of dividing an interpolation frame into rectangular areas called blocks (hereinafter referred to as interpolation blocks), assigning motion vectors (hereinafter referred to as interpolation MV) to each interpolation block, and creating an interpolation frame.
特許文献1には、補間MVを導出する手法として、周囲のブロックに割り当てられた動きベクトルに基づき平滑化による補正処理がなされた動きベクトルを補間MVとして割り当てることで局所的な動きを示すベクトルを割り当てる技術が提案されている。しかし、背景の中に文字等のテロップが移動するような画像中では、ブロック境界にかかる文字の一部を含むブロックは、背景との相関が高くなる。そのため、ブロック境界にかかる文字の一部を含むブロックにおける動きベクトルが、誤って導出される可能性が高い。
In
導出されたベクトルを補正する手法として非特許文献1のような方法がある。非特許文献1は、相関の高いベクトルに重みを与えて重み付きのベクトルメディアンフィルタ処理を施す技術である。しかし、周辺ブロックのほとんどが静止領域である場合、周辺ブロックに割り当てられている零ベクトルで示される画像の相関は高い。このような場合、非特許文献1の方法では、補正処理によってもブロック境界にかかる文字の一部を含む補間ブロックに割り当てられる動きベクトルは零ベクトルのままである可能性が高く、画像の破綻が生じてしまう。
本発明は上記課題を解決するためになされたものであって、補間ブロックに割り当てられた動きベクトルの信頼度と、補間ブロックに所定のベクトルの信頼度を算出し、2つの信頼度の比に応じて重み付けしたベクトル補正処理を行うことにより、信頼度の高いベクトルを用いた補間画像作成を可能にする補間フレーム作成装置、方法およびプログラムを提供することを目的とする。 The present invention has been made to solve the above-described problem. The reliability of a motion vector assigned to an interpolation block and the reliability of a predetermined vector are calculated for the interpolation block, and the ratio between the two reliability levels is calculated. An object of the present invention is to provide an interpolation frame creation apparatus, method, and program capable of creating an interpolation image using a highly reliable vector by performing weighted vector correction processing accordingly.
上記課題を解決するために本発明は、入力される動画像の第1のフレームと第2のフレームとの間に補間フレームを内挿する補間フレーム作成装置において、前記補間フレームを分割した複数の補間ブロックのうち、処理の対象となる対象補間ブロックに第1のフレーム内の第1の領域と第2のフレーム内の第2の領域とを結ぶ第1の動きベクトルを割り当てる動き推定手段と、前記対象補間ブロックの前記第1の領域と前記第2の領域との相関の高さを表す第1の信頼度を求める第1の信頼度算出手段と、前記対象補間ブロックに前記第1の動きベクトルに代えて所定のベクトルを割り当てた場合に前記破綻防止の始点が示す前記第1のフレーム内の領域と、前記第2のフレーム内で前記所定のベクトルの終点が示す領域との相関の高さを表す第2の信頼度を求める第2の信頼度算出手段と、前記対象補間ブロック及びその周辺の補間ブロックである周辺ブロックそれぞれの、前記第1および第2の信頼度に基づいて、前記第1の動きベクトルを補正した第2の動きベクトルを求める補正手段と、前記第2の動きベクトルを用いて、前記第1のフレーム及び前記第2のフレームの画素値に基づき、前記補間フレームを作成する作成手段と、を具備したことを特徴とする補間フレーム作成装置を提供する。 In order to solve the above-mentioned problem, the present invention provides an interpolation frame creating apparatus for interpolating an interpolation frame between a first frame and a second frame of an input moving image, and a plurality of the interpolation frames are divided. Motion estimation means for allocating a first motion vector connecting the first region in the first frame and the second region in the second frame to the target interpolation block to be processed among the interpolation blocks; A first reliability calculating means for obtaining a first reliability representing a level of correlation between the first area and the second area of the target interpolation block; and the first motion in the target interpolation block. When a predetermined vector is assigned instead of a vector, a high correlation between the area in the first frame indicated by the start point of failure prevention and the area indicated by the end point of the predetermined vector in the second frame The first 2nd reliability calculation means for obtaining a reliability of 2, and the first motion based on the first and second reliability of each of the target interpolation block and the peripheral blocks that are the surrounding interpolation blocks Correction means for obtaining a second motion vector obtained by correcting a vector, and creation means for creating the interpolation frame based on the pixel values of the first frame and the second frame using the second motion vector And an interpolation frame creation device characterized by comprising:
また、同装置による補間フレーム作成方法、及びコンピュータに同方法を実現させる補間フレーム作成プログラムを提供する。 Also provided are an interpolation frame creation method using the same apparatus and an interpolation frame creation program that causes a computer to implement the method.
本発明によれば、より信頼度の高い動きベクトルを補間ブロックに割り当てることができ、品質の高い補間フレームの作成が可能になる。 According to the present invention, a motion vector with higher reliability can be assigned to an interpolation block, and a high-quality interpolation frame can be created.
以下、本発明の実施形態について説明する。 Hereinafter, embodiments of the present invention will be described.
(第1の実施形態)
以下、第1の実施形態について説明する。入力された動画像の表示時刻が連続する2枚の入力画像のうち、表示時刻が前のフレームを参照フレーム、後のフレームを対象フレームと記載する。参照フレーム、対象フレームの間に補間フレームを生成する場合の例について以下説明する。
(First embodiment)
The first embodiment will be described below. Of the two input images in which the display times of the input moving images are continuous, the frame with the previous display time is described as the reference frame, and the subsequent frame is described as the target frame. An example in which an interpolation frame is generated between the reference frame and the target frame will be described below.
図1は、上記入力画像の表示タイミング及び上記補間フレームの表示タイミングを示す図である。入力画像のうち時刻tに表示されるフレームが参照フレームIsrc、時刻t+1に表示されるフレームが対象フレームIdstである。それらの表示時刻間であるt+Δt(ただし、0<Δt<1)に内挿され表示されるフレームが補間フレームIintである。 FIG. 1 is a diagram showing the display timing of the input image and the display timing of the interpolation frame. Of the input image, the frame displayed at time t is the reference frame I src , and the frame displayed at time t + 1 is the target frame I dst . The interpolated frame I int is a frame that is interpolated and displayed at t + Δt (where 0 <Δt <1) between these display times.
図2は、第1の実施形態の補間フレーム作成装置のブロック図である。 FIG. 2 is a block diagram of the interpolation frame creation apparatus according to the first embodiment.
本実施形態の補間フレーム作成装置は、動き推定部101、フレームメモリ102、動きベクトル補正部103、補間画像生成部104および切替部105を備える。
The interpolated frame creation apparatus of this embodiment includes a
動き推定部101は、補間フレームIintをあらかじめ設定されたM1×M2(M1,M2)画素の矩形ブロックに分割し、補間ブロックに動きベクトルを割り当てる。以下、動き推定の一手法であるブロックマッチング法を用いて動きベクトルu(i) を導出する方法について説明する。
The
図3は、補間ブロックiに動きベクトルを割り当てる方法について説明するための図である。このベクトルx(i)は、補間ブロックの左上の位置を指すベクトルである。補間ブロックiの動きベクトルu(i)は、式(1)に基づき求められる。
ここで、B(i)は、B(i)={(i+(x,y))T|0≦x<M1,0≦y<M2}であらわすことができるM1 ×M2個のベクトルの集合を示す。Idst(x)は、対象フレーム内の位置xでの画素値を示す。また、Isrc(x)は参照フレーム内の位置xでの画素値を示す。また、動き探索の領域をWで表す。 Here, B (i) is B (i) = {(i + (x, y)) T | 0 ≦ x <M 1 , 0 ≦ y <M 2 } M 1 × M 2 A set of vectors is shown. I dst (x) indicates a pixel value at a position x in the target frame. I src (x) represents a pixel value at a position x in the reference frame. The motion search area is denoted by W.
補間ブロックiに対して、ベクトルsが指し示す対象フレームIdst内のブロックと、参照フレームIsrc内の参照ブロックとの差分二乗和基準によるブロックマッチング誤差を相関値としてそれぞれ求める。探索領域W内でベクトルsを変化させ、マッチング誤差が最小となった際の対象フレームIdst内のブロック(以下、第1のブロックB1 (i)と記す)と参照フレームIsrc内のブロック(以下、第1のブロックB2 (i)と記す)とを結ぶベクトルsを動きベクトルu(i)として補間ブロックiに割り当てる。 For the interpolated block i, a block matching error based on the difference square sum criterion between the block in the target frame I dst indicated by the vector s and the reference block in the reference frame I src is obtained as a correlation value. A block in the target frame I dst (hereinafter referred to as the first block B 1 (i)) and a block in the reference frame I src when the vector s is changed in the search region W and the matching error is minimized. (Hereinafter referred to as the first block B 2 (i)) is assigned to the interpolation block i as a motion vector u (i).
また、u(i)は次の式(2)に示すブロック間の画素値の差分値絶対値和に基づき導出しても良い。
なお、動きベクトルを推定する方法は、上述のブロックマッチング法によらず、その他のオプティカルフロー法、Pel-recursive、ベイジアン法などを用いても良い。 As a method for estimating a motion vector, other optical flow methods, Pel-recursive, Bayesian methods, and the like may be used instead of the above-described block matching method.
フレームメモリ102は、入力画像を取得し保存する。
The
動きベクトル補正部103は、動き推定部101が求めた補間ブロックごとの動きベクトルu(i)を取得し、動きベクトル信頼度および破綻防止ベクトル(所定のベクトル)信頼度を算出して動きベクトルu(i)の補正処理を行う。信頼度の算出方法及びベクトルの補正処理については後述する。なお、本実施形態では、すべての補間ブロックにおいて、破綻防止ベクトル(所定のベクトル)が零ベクトルである場合について説明する。なお、この破綻防止ベクトルは、動き推定部101で求めた1フレーム分の動きベクトルの平均ベクトルとしてもよい。補正された動きベクトル、動きベクトル信頼度および破綻防止ベクトル信頼度を補間画像生成部104に出力する。
The motion
補間画像生成部104は、動きベクトル補正部103から動きベクトル、動きベクトル信頼度および破綻防止ベクトル信頼度を取得し、補間フレーム作成処理を行い、補間フレームを切替部105に出力する。補間画像生成部104が補間フレームを生成する方法は後述する。
The interpolated
切替器105は、入力画像を表示するタイミングには切替部105のスイッチをフレームメモリ102側につなぎ、入力画像をフレームメモリ102から取得し、出力する。また、補間フレームを表示するタイミングには、切替部105のスイッチを補間フレーム作成部104側につなぎ、補間フレーム作成部104から補間フレームを取得し、表示画像を出力する。
The
次に、動きベクトル補正部103について詳細に説明する。
Next, the motion
図4は、補間フレーム作成装置の動きベクトル補正部103の詳細を抜き出したブロック図である。
FIG. 4 is a block diagram in which details of the motion
動きベクトル補正部103は、動きベクトル保存メモリ201、動きベクトル信頼度算出部202、動きベクトル信頼度保存メモリ203、破綻防止ベクトル信頼度算出部204、破綻防止ベクトル信頼度保存メモリ205、切替部206および信頼度比動きベクトル補正部207を有する。
The motion
動きベクトル保存メモリ201は、それぞれの補間ブロックごとの動きベクトルを保存する。
The motion
動きベクトル信頼度算出部202は、動きベクトル保存メモリ201から1フレーム分の動きベクトルu(i)を取り出し、それらの動きベクトルが補間フレームを内挿する際に用いられる動きベクトルとして、どの程度適しているかを表す動きベクトル信頼度を、以下に示す方法で導出する。
The motion vector
補間ブロックiに動きベクトルvを割り当てた場合に補間される画像の信頼度をα(i,v)と記す。信頼度α(i,v)は、動きベクトルvが結ぶ対象フレームIdst内のブロックと参照フレームIsrc内のブロックとの画素の相関の高さを示す指標である。信頼度α(i,v)は、式(3)から算出することが出来る。
ここで、εは正の数の零除算を防ぐための安全定数である。E(i,v)は、差分絶対値和に基づく式(4)から導出される。
で表す。 Represented by
なお、E(i,v)は式(5)に示す画素の差分二乗和に基づき求めても良い。
また、α(i,v)は、式(4)ではなく、指数関数による式(6)から導出しても良い。
ここで、σIは入力画像の画像信号に乗っているノイズの標準偏差を示す。 Here, σ I represents the standard deviation of noise on the image signal of the input image.
動きベクトル信頼度算出部202は式(3)のvにu(i)を代入することで動き推定部101が求めた動きベクトルu(i)を補間ブロックiに割り当てた際に補間される補間画像の信頼度を示すα(i,u(i))を導出する。
The motion vector
動きベクトル信頼度保存メモリ203は、動きベクトル信頼度算出部202が導出した補間ブロックごとの動きベクトル信頼度α(i,u(i))を保存する。
The motion vector
破綻防止ベクトル信頼度算出部204は、所定のベクトルである破綻防止ベクトルの信頼度を示す破綻防止ベクトル信頼度を算出する。前述したように、本実施形態では、破綻防止ベクトルを零ベクトルにする。破綻防止ベクトル信頼度は、動きベクトル信頼度α(i,u(i))を導出したときと同様に、式(3)、(4)または式(6)のいずれかの式のvに零ベクトルを代入し、破綻防止ベクトルの信頼度α(i,0)を導出する。 The failure prevention vector reliability calculation unit 204 calculates a failure prevention vector reliability indicating the reliability of the failure prevention vector which is a predetermined vector. As described above, in this embodiment, the failure prevention vector is set to a zero vector. The failure prevention vector reliability is zero in v of any one of the equations (3), (4), or (6), as in the case of deriving the motion vector reliability α (i, u (i)). Substituting the vector, the reliability α (i, 0) of the bankrupt prevention vector is derived.
破綻防止ベクトル信頼度保存メモリ205は、破綻防止ベクトル信頼度算出部204が導出した補間ブロックiごとの破綻防止ベクトル信頼度α(i,0)を保存する。
The failure prevention vector
信頼度比動きベクトル補正部207は、動きベクトルu(i)、動きベクトル信頼度α(i,u(i))、破綻防止ベクトル信頼度α(i,0)をそれぞれ取得し、α(i,u(i))とα(i,0)の比を計算し、その比によって重み付けをしたベクトルのフィルタ処理を行う。なお、フィルタ処理に関する詳細な説明は後述する。 The reliability ratio motion vector correction unit 207 acquires the motion vector u (i), the motion vector reliability α (i, u (i)), and the failure prevention vector reliability α (i, 0), respectively, and α (i , u (i)) and α (i, 0) are calculated, and a vector filtering process weighted by the ratio is performed. A detailed description of the filter process will be described later.
次に、フィルタ処理によって得られた動きベクトル(補正動きベクトル)に対し、動きベクトル信頼度算出部202で行う処理と同様の方法で、動きベクトル信頼度(補正動きベクトル信頼度)を導出し、補正動きベクトル信頼度が、動きベクトル信頼度保存メモリ203から入力された動きベクトル信頼度よりも高ければ、補正動きベクトル信頼度を動きベクトル信頼度保存メモリ203に書き込む。また、補正動きベクトルも動きベクトル保存メモリ201に書き込む。
Next, with respect to the motion vector (corrected motion vector) obtained by the filter processing, a motion vector reliability (corrected motion vector reliability) is derived by a method similar to the processing performed by the motion vector
切替器206は、あらかじめ設定された回数に対して残り何回動きベクトル補正処理を行うかを示す指標であるitrを信頼度比動きベクトル補正部207から取得し、itrが非零の場合は動きベクトルu(i)、動きベクトル信頼度α(i,u(i))、破綻防止ベクトル信頼度α(i,0)それぞれを信頼度比動きベクトル補正部207側につなぐ。一方、itrが零の場合は、上記のu(i)、α(i,u(i))、α(i,0)を補間画像生成部104側につなぐ。itrの初期値はユーザが設定できる整数値であり、信頼度比動きベクトル補正部207に保持されている。
The
図5は、動きベクトル補正部103の処理を示すフローチャートである。
FIG. 5 is a flowchart showing processing of the motion
まず、補間フレーム内の補間ブロックiごとにループするループ処理を行う(ステップ401)。ループ内では、補間ブロックiごとに動きベクトルu(i)を取得し、動きベクトル信頼度算出部202は動きベクトル信頼度α(i,u(i))をそれぞれ算出する(ステップ402)。また、破綻防止ベクトル信頼度算出部204は、補間ブロックiごとに破綻防止ベクトル信頼度α(i,0)を算出する(ステップ403)。
First, loop processing that loops for each interpolation block i in the interpolation frame is performed (step 401). In the loop, the motion vector u (i) is acquired for each interpolation block i, and the motion vector
次に、切替部206はitrが非零であるかどうかを判定する(ステップ404)。
Next, the
itrが零ではない場合(ステップ404,No)、補間ブロックiについてループするループ処理を行う(ステップ405)。ループ内では、信頼度比動きベクトル補正部207は、補間ブロックiごとに動きベクトルu(i)の補正処理を行う(ステップ406)。ループが終了し、補間フレーム内のすべての補間ブロックiに対して補正処理を行ったら、itrをデクリメントして(ステップ407)ステップ404に戻る。itrが零になった場合(ステップ404,Yes)、信頼度比動きベクトル補正部207によるフィルタ処理を終了し、切替部206は求められた補正動きベクトル、破綻防止ベクトル信頼度、補正動きベクトル信頼度を補間フレーム作成部104に出力する。
When itr is not zero (
次に、信頼度比動きベクトル補正部207について詳細に説明する。 Next, the reliability ratio motion vector correction unit 207 will be described in detail.
図6は、動きベクトル補正部103の信頼度比動きベクトル補正部207の詳細を示すブロック図である。
FIG. 6 is a block diagram illustrating details of the reliability ratio motion vector correction unit 207 of the motion
信頼度比動きベクトル補正部207は、重み付けベクトルフィルタ部301、および更新部302から構成されている。
The reliability ratio motion vector correction unit 207 includes a weighted
重み付けベクトルフィルタ部301は、入力される動きベクトル信頼度α(i,u(i))と破綻防止ベクトル信頼度α(i,0)の比を重みとした、ベクトルメディアンフィルタ処理を行う。補間ブロックiの動きベクトルu(i)に対する補正処理後のベクトルは、式(7)によって導出される。
式(7)に示すノルムは、norm=2の場合は式(9)に示す値となる。なお、x=(x1 ,x2)Tである。
を表している。また、norm=1の場合は式(9)に示す値となる。
である。 It is.
また、w(i+s)は、式(10)から導出される。動きベクトル信頼度α(i+s,u(i+s))と破綻防止ベクトル信頼度α(i+s,0)の比に基づく重み係数である。
ここで、集合Nは補間ブロックiを含めたその周辺の補間ブロックの集合である。例えば、集合Nは、図7で示すような補間ブロックiとその周辺の補間ブロックも含めた9ブロック等を表す。εは正の数の零除算を防ぐための安全定数である。 Here, the set N is a set of interpolation blocks in the vicinity including the interpolation block i. For example, the set N represents nine blocks including the interpolation block i and the surrounding interpolation blocks as shown in FIG. ε is a safety constant for preventing positive division by zero.
重み付けベクトルフィルタ部301は、集合Nに割り当てられた動きベクトル集合Nに含まれる複数の補間ブロックそれぞれに対して、計算対象となる補間ブロックi+cに割り当てられている動きベクトルu(i+c)と、集合N内の周囲の補間ブロックi+s(s∈N)に割り当てられている動きベクトルu(i+s)との差分ベクトルのノルムに、式(10)に示す重み係数とを乗算した値をそれぞれ求め、それらの和を求める。求められた値が最小となる計算対象の補間ブロックcminに割り当てられていた動きベクトルu(i+ cmin)を補間ブロックiの補正動きベクトルu’(i)として割り当てる。
The weighting
また、w(s)は式(11)に示すように、対象フレームIdstと参照フレームのIsrc画素値の差分絶対値和の比による重み付け係数を乗じた値であってもよい。
ただし、ここでのw’(s)は式(12)で定義される値である。
また、SADΔtは式(13)によって定義される。
なお、SADΔtは、式(14)に示す画素値の差分二乗和によって定義してもよい。
つまり、式(12)で算出したw’(s)と、式(10)を乗算した値を重み付け係数w(i+s)として用いる。 That is, a value obtained by multiplying w ′ (s) calculated by Expression (12) and Expression (10) is used as the weighting coefficient w (i + s).
また、上記の本実施形態では、ベクトルフィルタ処理を式(7)に基づき行っていたが、式(15)に示す平均処理によって行っても良い。
ここでのT(x)はxの要素数を数えるオペレータである。また、w”(c)は、式(4)若しくは式(8)記載のw(c)を正規化したものであり、式(16)で表される値である。
である。 It is.
次に、更新部302について詳細に説明する。
Next, the
図8は、更新部302の処理を示すフローチャートである。
FIG. 8 is a flowchart showing the processing of the
更新部302は、重み付けベクトルフィルタ部301から補正動きベクトルu’(i)を取得し、動きベクトルu(i)と同じベクトルであるかどうかを判定する(ステップ501)。同じベクトルであれば(ステップ501、Yes)、処理を終了する。異なるベクトルであれば(ステップ501、No)、u’(i)の動きベクトル信頼度α(i,u’(i))を算出する(ステップ502)。
The
次に、α(i,u’(i))と補正前の動きベクトルu(i)の動きベクトル信頼度α(i,u(i))の大小比較を行う(ステップ503)。α(i,u’(i))>α(i,u(i))であり、補正動きベクトルの方が信頼度が高い場合には(ステップ503、Yes)、α(i,u’(i))を動きベクトル信頼度保存メモリ203に上書きする(ステップ504)。また同様に、u’(i)を動きベクトルu(i)として動きベクトル保存メモリ201に上書きして処理を終了する。(ステップ505)。また、α(i,u’(i))<α(i,u(i))であれば(ステップ503、No)、処理を終了する。
Next, α (i, u ′ (i)) is compared with the motion vector reliability α (i, u (i)) of the motion vector u (i) before correction (step 503). If α (i, u ′ (i))> α (i, u (i)) and the corrected motion vector is more reliable (
以下、補間画像生成部104が補間フレームIintを作成する方法について詳細に説明する。
Hereinafter, a method in which the interpolation
補間画像生成部104は、補間ブロックiごとに動きベクトル保存メモリに保存された動きベクトルu(i)、動きベクトル信頼度α(i,u(i))および破綻防止ベクトル信頼度α(i,0)を取得し、動きベクトルおよび破綻防止ベクトルから指定される対象フレームおよび参照フレームの画素値に対する上記2つの信頼度を用いた重み平均処理によって、補間フレームのブロックiに属する画素値を決定する。
The interpolated
第1のブロック内の画素位置x∈B(i)の補間画素を以下のように決定する。 The interpolation pixel at pixel position xεB (i) in the first block is determined as follows.
本実施形態では、破綻防止ベクトルとして零ベクトルとして設定されているため、式(17)のように静止画素Istillを生成する。なお、xは式(1)に示すように、x∈B(i)を満たす。
ここでは参照フレームIsrcをそのまま用いているが、たとえば式(18)のように参照フレームIsrcと対象フレームIdstの画素値の平均による平均画像を用いても良い。
次に、動きベクトルu(i)によって画素をシフトした動き補償画素Imcを生成する。
ここでも同様に、式(19)の代わりに式(20)に示す平均画像を動き補償画素Imcとして生成してもよい。
静止画素Istill(x)に対応する信頼度は信頼度α(i,0)である。また、動き補償画素Imc(x)に対応する信頼度は信頼度α(i,u(i))である。これらのα(i,0)、α(i,u(i))を重みと考え、式(21)に示す重み平均により補間フレームIintを生成することができる。
ここで、α(i,0)=0かつα(i,u(i))=0の場合には、上記重み平均は不定になってしまうので、その場合にはIint(x)=0.5Imc(x)+0.5Istill(x) のようにする。また、Iint(x)= Istill(x)のようにして補間フレーム画素Iint(x)を生成しても良い。 Here, when α (i, 0) = 0 and α (i, u (i)) = 0, the weighted average becomes indefinite, so in that case I int (x) = 0.5 I mc (x) +0.5 I still (x). Alternatively, the interpolated frame pixel I int (x) may be generated as I int (x) = I still (x).
以上の処理を、補間フレーム内の全ての補間ブロックに対して行い、補間フレームIintを生成して出力する。 The above processing is performed for all the interpolation blocks in the interpolation frame, and an interpolation frame I int is generated and output.
上記のように、本実施形態の補間フレーム作成装置は、式(10)に示すように信頼度比による重み付けを行うことで、補正対象の補間ブロック及び周辺の補間ブロックの動きベクトルの中で、動きベクトルの信頼度よりも静止側の信頼度が高い動きベクトルの補正処理における寄与を低減することが可能になる。 As described above, the interpolation frame creating apparatus of the present embodiment performs weighting by the reliability ratio as shown in Expression (10), so that among the motion vectors of the interpolation block to be corrected and the surrounding interpolation blocks, It is possible to reduce the contribution in the correction processing of the motion vector whose reliability on the stationary side is higher than the reliability of the motion vector.
図9は、文字テロップABCが画面上方向に平行移動している入力画像のフレーム及び補間フレームを示している。破線は、画像をブロックに分けた場合の境界部を表している。また、矢印はその始点を含むブロックの動きベクトルを示している。 FIG. 9 shows an input image frame and an interpolation frame in which the character telop ABC is translated in the upward direction on the screen. The broken line represents the boundary when the image is divided into blocks. Moreover, the arrow has shown the motion vector of the block containing the starting point.
従来技術では、図9の“A”の一部を含んだ画像を補間すべき補間ブロック(以下、ブロックA’と記す)は、動き推定処理において、動きベクトルの候補として零ベクトルを割り当てた場合のマッチング誤差が小さいために、“A”の一部の動きを反映せずに、そのまま零ベクトルが割り当てられてしまう可能性が高かった。このとき、零ベクトルを動きベクトルとして補間フレームを作成すると、図9(b)に示すような文字の一部が崩れた補間フレームとなってしまう。 In the prior art, an interpolation block (hereinafter referred to as a block A ′) that should interpolate an image including a part of “A” in FIG. 9 is assigned a zero vector as a motion vector candidate in the motion estimation process. Since the matching error is small, there is a high possibility that the zero vector is assigned as it is without reflecting a part of the movement of “A”. At this time, if an interpolation frame is created using the zero vector as a motion vector, an interpolation frame in which a part of the character is broken as shown in FIG.
図9に示す入力画像に対しては、ブロックB’の動きベクトルをブロックA’に割り当てる補正処理が可能であれば、より高品質な補間フレームを得ることができる。 For the input image shown in FIG. 9, if a correction process for assigning the motion vector of the block B ′ to the block A ′ is possible, a higher quality interpolation frame can be obtained.
本実施形態の補間フレーム作成装置は、式(10)に示すように破綻防止ベクトルである零ベクトル及び割り当てられた動きベクトルの信頼度比を重みにした、式(7)で示す補正処理を行う。これにより、ブロックB’以外の周辺ブロックでは、破綻防止ベクトル信頼度と動きベクトル信頼度が共に高くなるために式(10)に示す重み係数はほぼ1になる。一方、ブロックB’では破綻防止ベクトル信頼度は小さくなり、動きベクトル信頼度が大きくなる。したがって、ブロックB’に割り当てられた動きベクトルには大きな重みがつく補正処理が行われるため、ブロックA’の動きベクトルは、より好ましい動きベクトルに補正され、図9(a)に示す補間フレームが作成される可能性が高くなる。 The interpolation frame creation apparatus according to the present embodiment performs the correction process represented by Expression (7) using the reliability ratio of the zero vector that is the failure prevention vector and the assigned motion vector as a weight, as represented by Expression (10). . As a result, in the peripheral blocks other than the block B ′, the failure prevention vector reliability and the motion vector reliability are both high, so that the weighting coefficient shown in the equation (10) is almost 1. On the other hand, in the block B ′, the failure prevention vector reliability decreases and the motion vector reliability increases. Therefore, since the motion vector assigned to the block B ′ is subjected to a correction process with a large weight, the motion vector of the block A ′ is corrected to a more preferable motion vector, and the interpolation frame shown in FIG. More likely to be created.
一方、ブロックB’の右側の補間ブロック(以下、ブロックC’と記載する)においても上と同様の理由でブロックB’の動きベクトルの重みが大きいために誤って割り当てられる補正処理がなされることがある。しかし、ブロックC’においては、フレーム間で移動しない☆の模様がある。その場合には、その補正動きベクトルの信頼度は補正前の動きベクトルよりも小さいため、更新部302によってブロックC’に割り当てられる動きベクトルとして更新されない。
On the other hand, in the interpolation block on the right side of the block B ′ (hereinafter referred to as the block C ′), correction processing that is erroneously assigned is performed because the motion vector weight of the block B ′ is large for the same reason as above. There is. However, in the block C ′, there is a ☆ pattern that does not move between frames. In that case, since the reliability of the corrected motion vector is smaller than the motion vector before the correction, it is not updated by the updating
上記のように補正対象となっている動きベクトルを含む周辺の動きベクトルの中で、動きベクトルの信頼度よりも静止側の信頼度が同等ないし高い動きベクトルの補正処理における寄与を低減することで、より品質の高い動きベクトルを得ることができる。 By reducing the contribution in motion vector correction processing that has the same or higher reliability on the stationary side than the reliability of the motion vector among the surrounding motion vectors including the motion vector to be corrected as described above. Therefore, a higher quality motion vector can be obtained.
なお、本実施形態では破綻防止ベクトルとして零ベクトルを設定した場合について述べたが、フレーム全体が動きを有するような場合には、補間ブロックに割り当てられた動きベクトルの平均ベクトルを破綻防止ベクトルとする等してもよい。 In this embodiment, the case where the zero vector is set as the failure prevention vector has been described. However, when the entire frame has motion, the average vector of the motion vectors assigned to the interpolation block is used as the failure prevention vector. May be equal.
また、上記の実施形態では、作成する補間フレームのうち、表示時間が前になるフレームを参照フレーム、後になるフレームを対象フレームする場合について説明したが、表示時間が後になるフレームを参照フレーム、前になるフレームを対象フレームとしてもよい。 Further, in the above-described embodiment, the description has been given of the case where, among the interpolation frames to be created, the frame whose display time is earlier is the reference frame, and the frame that is later is the target frame. The target frame may be the target frame.
101・・・動き推定部
102・・・フレームメモリ
103・・・動きベクトル補正部
104・・・補間画像生成部
105・・・切替部
201・・・動きベクトル保存メモリ
202・・・動きベクトル信頼度算出部
203・・・動きベクトル信頼度保存メモリ
204・・・破綻防止ベクトル信頼度算出部
205・・・破綻防止ベクトル信頼度保存メモリ
206・・・切替部
207・・・信頼度比動きベクトル補正部
DESCRIPTION OF
201 ... motion
Claims (7)
前記補間フレームを分割した複数の補間ブロックのうち、処理の対象となる対象補間ブロックに、第1のフレーム内の第1の領域と第2のフレーム内の第2の領域とを結ぶ第1の動きベクトルを割り当てる動き推定手段と、
前記対象補間ブロックに割り当てられた前記第1の動きベクトルの示す、前記第1の領域と前記第2の領域との相関の高さを表す第1の信頼度を求める第1の信頼度算出手段と、
前記対象補間ブロックに前記第1の動きベクトルに代えて所定のベクトルを割り当てた場合に前記所定のベクトルが示す、前記第1のフレーム内の領域と前記第2のフレーム内の領域との相関の高さを表す第2の信頼度を求める第2の信頼度算出手段と、
前記対象補間ブロック及びその周辺の補間ブロックである周辺ブロックそれぞれの、前記第1および第2の信頼度に基づいて、前記第1の動きベクトルを補正した第2の動きベクトルを求める補正手段と、
前記第2の動きベクトルを用いて、前記第1のフレーム及び前記第2のフレームの画素値に基づき、前記補間フレームを作成する作成手段と、
を具備したことを特徴とする補間フレーム作成装置。
In an interpolation frame creating apparatus for interpolating an interpolation frame between a first frame and a second frame of an input moving image,
Of the plurality of interpolation blocks obtained by dividing the interpolation frame, the first interpolation in the first frame and the second region in the second frame are connected to the target interpolation block to be processed. Motion estimation means for assigning motion vectors;
First reliability calculation means for obtaining a first reliability indicating a level of correlation between the first area and the second area indicated by the first motion vector assigned to the target interpolation block When,
When a predetermined vector is assigned to the target interpolation block instead of the first motion vector, the predetermined vector indicates a correlation between the area in the first frame and the area in the second frame. A second reliability calculation means for obtaining a second reliability representing the height;
Correction means for obtaining a second motion vector obtained by correcting the first motion vector based on the first and second reliability levels of the target interpolation block and peripheral blocks that are neighboring interpolation blocks;
Creating means for creating the interpolation frame based on the pixel values of the first frame and the second frame using the second motion vector;
An interpolated frame creating apparatus comprising:
The correction means weights the first motion vector of each of the target interpolation block and the peripheral blocks which are the interpolation blocks around the target interpolation block by a ratio between the first reliability and the second reliability. The one of the first motion vectors of the target interpolation block and the peripheral blocks is obtained as the second motion vector of the target interpolation block based on the weighted vector obtained. Interpolation frame creation device.
さらに具備したことを特徴とする請求項2記載の補間フレーム作成装置。
When the second motion vector is assigned to the target interpolation block instead of the first motion vector, the region in the first frame indicated by the second motion vector and the second frame in the second frame A third confidence level representing the level of correlation with the area is obtained, and when the third confidence level is lower than the first confidence level, the first motion vector is used as the second motion vector. Update means to update
The interpolation frame creation device according to claim 2, further comprising:
(a)1つの補間ブロックを第1の補間ブロックとして選択し、
(b)前記第1の補間ブロックに割り当てられている前記第2の動きベクトルから得られる前記第1の信頼度と前記第2の信頼度との比に基づく第1の重み係数を求め、
(c)前記第1の補間ブロックに割り当てられた前記第1の動きベクトルと、第1の補間ブロック以外の補間ブロックに割り当てられた前記第1の動きベクトルの差分ベクトルのノルムをそれぞれ求め、
(d)前記ノルムに前記第1の重み係数を乗じた第1の値の総和を求め、
前記第1の値の総和が最小となる前記第1の補間ブロックに割り当てられていた前記第1の動きベクトルを前記対象補間ブロックの前記第2の動きベクトルとして割り当てることを特徴とする請求項3記載の補間フレーム作成装置。
The correction means selects (a) one interpolation block as a first interpolation block for the second motion vector of each of the target interpolation block and the peripheral block as the averaging process,
(B) determining a first weighting factor based on a ratio between the first reliability and the second reliability obtained from the second motion vector assigned to the first interpolation block;
(C) obtaining a norm of a difference vector between the first motion vector assigned to the first interpolation block and the first motion vector assigned to an interpolation block other than the first interpolation block;
(D) obtaining a sum of first values obtained by multiplying the norm by the first weighting factor;
4. The first motion vector assigned to the first interpolation block that minimizes the sum of the first values is assigned as the second motion vector of the target interpolation block. The interpolation frame creation apparatus described.
The interpolation frame creation apparatus according to any one of claims 1 to 4, wherein a zero vector is set as the predetermined vector.
前記補間フレームを分割した複数の補間ブロックのうち、処理の対象となる対象補間ブロックに第1のフレーム内の第1の領域と第2のフレーム内の第2の領域とを結ぶ第1の動きベクトルを割り当てるステップと、
前記対象補間ブロックの前記第1の領域と前記第2の領域との相関の高さを表す第1の信頼度を求めるステップと、
前記対象補間ブロックに前記第1の動きベクトルに代えて所定のベクトルを用割り当てた場合に前記第破綻防止の始点が示す前記第1のフレーム内の領域と、前記第2のフレーム内で前記所定のベクトルの終点が示す領域との相関の高さを表す第2の信頼度を求めるステップと、
前記対象補間ブロック及びその周辺の補間ブロックである周辺ブロックそれぞれの、前記第1および第2の信頼度に基づいて、前記第1の動きベクトルを補正した第2の動きベクトルを求めるステップと、
前記第2の動きベクトルを用いて、前記第1のフレーム及び前記第2のフレームの画素値に基づき、前記補間フレームを作成するステップと、
を有することを特徴とする補間フレーム作成方法。
In an interpolation frame creation method for interpolating an interpolation frame between a first frame and a second frame of an input moving image,
Of the plurality of interpolation blocks obtained by dividing the interpolation frame, the first motion connecting the first region in the first frame and the second region in the second frame to the target interpolation block to be processed. Assigning a vector;
Obtaining a first confidence level indicating a level of correlation between the first region and the second region of the target interpolation block;
When a predetermined vector is assigned to the target interpolation block instead of the first motion vector, the region in the first frame indicated by the start point of the first failure prevention and the predetermined vector in the second frame Obtaining a second confidence level indicating the level of correlation with the region indicated by the end point of the vector;
Obtaining a second motion vector obtained by correcting the first motion vector based on the first and second reliability of each of the target interpolation block and peripheral blocks which are neighboring interpolation blocks;
Using the second motion vector to create the interpolated frame based on pixel values of the first frame and the second frame;
An interpolated frame creation method characterized by comprising:
前記補間フレームを分割した複数の補間ブロックのうち、処理の対象となる対象補間ブロックに第1のフレーム内の第1の領域と第2のフレーム内の第2の領域とを結ぶ第1の動きベクトルを割り当てる動き推定機能と、
前記対象補間ブロックの前記第1の領域と前記第2の領域との相関の高さを表す第1の信頼度を求める第1の信頼度算出機能と、
前記対象補間ブロックに前記第1の動きベクトルに代えて所定のベクトルを用割り当てた場合に前記第破綻防止の始点が示す前記第1のフレーム内の領域と、前記第2のフレーム内で前記所定のベクトルの終点が示す領域との相関の高さを表す第2の信頼度を求める第2の信頼度算出機能と、
前記対象補間ブロック及びその周辺の補間ブロックである周辺ブロックそれぞれの、前記第1および第2の信頼度に基づいて、前記第1の動きベクトルを補正した第2の動きベクトルを求める補正機能と、
前記第2の動きベクトルを用いて、前記第1のフレーム及び前記第2のフレームの画素値に基づき、前記補間フレームを作成する作成機能と、
をコンピュータに実現させることを特徴とする補間フレーム作成プログラム。 In an interpolation frame creation program for interpolating an interpolation frame between a first frame and a second frame of an input moving image,
Of the plurality of interpolation blocks obtained by dividing the interpolation frame, the first motion connecting the first region in the first frame and the second region in the second frame to the target interpolation block to be processed. A motion estimation function that assigns vectors;
A first reliability calculation function for obtaining a first reliability representing a level of correlation between the first area and the second area of the target interpolation block;
When a predetermined vector is assigned to the target interpolation block instead of the first motion vector, the region in the first frame indicated by the start point of the first failure prevention and the predetermined vector in the second frame A second reliability calculation function for obtaining a second reliability indicating the degree of correlation with the region indicated by the end point of the vector;
A correction function for obtaining a second motion vector obtained by correcting the first motion vector based on the first and second reliability of each of the target interpolation block and peripheral blocks which are neighboring interpolation blocks;
A creation function for creating the interpolation frame based on pixel values of the first frame and the second frame using the second motion vector;
An interpolated frame creation program characterized by causing a computer to realize the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008160522A JP2010004255A (en) | 2008-06-19 | 2008-06-19 | Interpolation frame creating apparatus, interpolation frame creating method and interpolation frame creating program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008160522A JP2010004255A (en) | 2008-06-19 | 2008-06-19 | Interpolation frame creating apparatus, interpolation frame creating method and interpolation frame creating program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010004255A true JP2010004255A (en) | 2010-01-07 |
Family
ID=41585592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008160522A Pending JP2010004255A (en) | 2008-06-19 | 2008-06-19 | Interpolation frame creating apparatus, interpolation frame creating method and interpolation frame creating program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010004255A (en) |
-
2008
- 2008-06-19 JP JP2008160522A patent/JP2010004255A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI455588B (en) | Bi-directional, local and global motion estimation based frame rate conversion | |
JP4997281B2 (en) | Method for determining estimated motion vector in image, computer program, and display device | |
JP4198608B2 (en) | Interpolated image generation method and apparatus | |
JP2008244846A (en) | Device and method for interpolating frame | |
JP4869045B2 (en) | Interpolation frame creation method and interpolation frame creation apparatus | |
JP2004297719A (en) | Frame interpolation method and image display system using the same | |
US20120093231A1 (en) | Image processing apparatus and image processing method | |
JP2005210697A (en) | Frame rate conversion for motion compensation | |
TWI408620B (en) | Image processing method for determining motion vectors of interpolated picture and related apparatus thereof | |
KR20080033094A (en) | Interpolation method for a motion compensated image and device for the implementation of said method | |
JP5669523B2 (en) | Frame interpolation apparatus and method, program, and recording medium | |
TWI490819B (en) | Image processing method and apparatus thereof | |
JP5492223B2 (en) | Motion vector detection apparatus and method | |
WO2015085922A1 (en) | Method and apparatus for frame rate up-conversion | |
US8385430B2 (en) | Video signal processing apparatus and video signal processing method | |
US20090310679A1 (en) | Video processing apparatus and methods | |
JP6772000B2 (en) | Image processing equipment, image processing methods and programs | |
JP5490117B2 (en) | Image processing device | |
JP2007060192A (en) | Interpolating frame generator, its method, image display system and program and recording medium | |
JP2014052855A (en) | Image processor, control method thereof, and control program | |
JP4650683B2 (en) | Image processing apparatus and method, program, and recording medium | |
JP2010004255A (en) | Interpolation frame creating apparatus, interpolation frame creating method and interpolation frame creating program | |
JP4886479B2 (en) | Motion vector correction apparatus, motion vector correction program, interpolation frame generation apparatus, and video correction apparatus | |
JP2015148965A (en) | Image processing apparatus, imaging apparatus, and image processing method | |
JP2011223086A (en) | Resolution converting device and method, scanning line interpolating device and method, and video display device and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110107 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110705 |