JP4563982B2 - Motion estimation method, apparatus, program thereof, and recording medium thereof - Google Patents
Motion estimation method, apparatus, program thereof, and recording medium thereof Download PDFInfo
- Publication number
- JP4563982B2 JP4563982B2 JP2006295407A JP2006295407A JP4563982B2 JP 4563982 B2 JP4563982 B2 JP 4563982B2 JP 2006295407 A JP2006295407 A JP 2006295407A JP 2006295407 A JP2006295407 A JP 2006295407A JP 4563982 B2 JP4563982 B2 JP 4563982B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- frame
- shift amount
- processing target
- spatial
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は,高能率画像信号符号化方法に関し,特に,複数の参照フレームを用いた動き補償を利用するフレーム間予測を伴う動画像符号化において,整数画素精度の変移量推定を高速化するための動き推定方法,装置,そのプログラムおよびその記録媒体に関するものである。 The present invention relates to a high-efficiency image signal encoding method, and more particularly, to speed up the amount of shift estimation with integer pixel accuracy in moving image encoding with inter-frame prediction using motion compensation using a plurality of reference frames. The present invention relates to a motion estimation method, apparatus, program thereof, and recording medium thereof.
近年,臨場感あふれる大画面のスポーツ映像やデジタルシネマに代表される超高画質映像への期待が高まっている。これを受けて,映像の高画質化に関する研究が精力的に行われている。超高画質映像の実現には,次の四要素が必要である。すなわち,空間解像度,画素値深度,色再現性,時間解像度である。これを受けて,前者の三要素については,デジタルシネマ等の応用およびナチュラルビジョンプロジェクトにおいて検討が進められている。 In recent years, there are growing expectations for super-high-quality images such as large-screen sports images and digital cinema that are full of realism. In response to this, research on high-quality video has been vigorously conducted. The following four elements are necessary to realize ultra-high-quality video. That is, spatial resolution, pixel value depth, color reproducibility, and temporal resolution. In response, the former three elements are being studied in applications such as digital cinema and natural vision projects.
しかし,被写体の自然な動きを表現するために不可欠な時間解像度の向上,すなわち,映像の高フレームレート化については,充分な検討がなされていない。Spillmann らによれば,網膜の出力細胞である神経節細胞が出力するパルス数の上限は毎秒300〜400個程度であるとする生理学的な知見が示されている。このため,人の視覚系は最も短くて1/150〜1/200秒程度までの発光の違いを知覚できると推察される。これは,知覚可能なフレームレートの検知限が,150〜200[フレーム/秒]であることを意味する。現行映像のフレームレートである30,60[フレーム/秒]は,フリッカーの検知限から定められたものであり,自然な動きを表現するのに十分な値ではない。 However, sufficient studies have not been made on improving time resolution, that is, increasing the frame rate of an image, which is indispensable for expressing the natural movement of a subject. According to Spillmann et al., Physiological knowledge that the upper limit of the number of pulses output by ganglion cells as output cells of the retina is about 300 to 400 per second is shown. For this reason, it is presumed that the human visual system is the shortest and can perceive a difference in light emission from 1/150 to 1/200 second. This means that the perceivable frame rate detection limit is 150 to 200 [frames / second]. The current video frame rate of 30, 60 [frames / second] is determined from the flicker detection limit and is not a sufficient value to express natural motion.
一方,映像の超高画質化はデータ量の爆発的な増加を招くため,効率的な符号化方法が必要となる。動画像データの時間軸方向の冗長度削減には,動き補償によるフレーム間予測が有効である。動き補償を用いて予測誤差の低減を図る場合,動き推定による正確なフレーム間の変移量推定が必要となる。高フレームレート映像に対して,隣接フレーム間の正確な変移量を推定する場合,1画素に満たない変移量が多く発生する可能性があるため,小数画素精度の動き推定が必要となる。例えば,1000[フレーム/秒]の高フレームレート映像の場合,1/1000画素精度程度の変移量が発生する可能性がある。 On the other hand, the super high image quality of the video leads to an explosive increase in the amount of data, so an efficient encoding method is required. Inter-frame prediction by motion compensation is effective for reducing redundancy of moving image data in the time axis direction. In order to reduce prediction errors using motion compensation, it is necessary to accurately estimate the amount of shift between frames by motion estimation. When an accurate shift amount between adjacent frames is estimated for a high frame rate video, there is a possibility that a shift amount less than one pixel may occur. Therefore, motion estimation with decimal pixel accuracy is required. For example, in the case of a high frame rate video of 1000 [frames / second], there is a possibility that a shift amount of about 1/1000 pixel accuracy may occur.
小数画素精度の動き推定において,参照フレーム内の小数画素位置の画素値を得るためには,補間フィルタを用いる。しかし,一般的に,補間フィルタの低域通過特性による制約のため,1/4ないし1/8画素精度の補間によって,予測性能は飽和することが報告されている。このため,補間フィルタを用いた小数画素精度の動き推定によって,高フレームレート映像に含まれる微小な変移量に対応することには限界がある。 In motion estimation with decimal pixel accuracy, an interpolation filter is used to obtain the pixel value at the decimal pixel position in the reference frame. However, it is generally reported that the prediction performance is saturated by interpolation with 1/4 to 1/8 pixel accuracy due to the restriction due to the low-pass characteristic of the interpolation filter. For this reason, there is a limit in dealing with a minute amount of shift included in a high frame rate video by fractional pixel precision motion estimation using an interpolation filter.
一方,動き補償時に複数フレームを参照フレームとして利用する方法(複数参照フレーム)がある。高フレームレート映像の場合,時間軸方向のサンプリングを密に行っているため,当該フレームと整数画素位置で対応付けが行えるフレームが存在する可能性が高い。つまり,当該フレームと参照フレーム間の変移量が整数画素精度で表せるフレームが存在する可能性が高い。 On the other hand, there is a method (multiple reference frames) that uses a plurality of frames as reference frames during motion compensation. In the case of a high frame rate video, since sampling in the time axis direction is densely performed, there is a high possibility that there is a frame that can be associated with the frame at integer pixel positions. That is, there is a high possibility that there is a frame in which the shift amount between the frame and the reference frame can be expressed with integer pixel accuracy.
変移量が整数画素精度で表せれば,補間フィルタ処理が不要となり,予測誤差を低く抑える可能性が高まる。このため,高フレームレート映像に対する動き補償では,複数参照フレームを用いた整数画素精度の動き補償が有効といえる。しかし,総当りで変移量を求めるとなると,参照フレームの対象となるフレーム数が増加するため,計算量,消費メモリ共に増大する。例えば,1[pixel/sec ]の変移量をもつ画素の場合,フレームレートが1000[frames/sec]のフレームに対して,動き補償による変移量推定を行う場合,1000[frames]を参照フレームとして変移量の推定を行う必要がある。このため,参照フレームを絞り込む手段が必要となる。 If the amount of shift can be expressed with integer pixel accuracy, interpolation filter processing is not necessary, and the possibility of keeping prediction errors low is increased. For this reason, it can be said that motion compensation with integer pixel accuracy using multiple reference frames is effective in motion compensation for high frame rate video. However, when the amount of shift is determined by brute force, the number of frames subject to reference frames increases, so both the calculation amount and the memory consumption increase. For example, in the case of a pixel having a shift amount of 1 [pixel / sec], when estimating a shift amount by motion compensation for a frame having a frame rate of 1000 [frames / sec], 1000 [frames] is used as a reference frame. It is necessary to estimate the amount of displacement. For this reason, a means for narrowing down the reference frame is required.
複数参照フレームに対する動き探索の高速化に関して,以下のような検討が行われている。下記の非特許文献1では,隣接フレームに対して動き探索を行い,その探索結果に対して,運動の等速性を仮定して他の参照フレームでの動き探索の範囲を絞り込んでいる。この非特許文献1に示されているような従来手法は,小数画素精度での動き探索の演算量低減を目指した手法である。このため,整数画素精度の動き探索を行うための参照フレームの絞込みについては,考慮していない。さらに,隣接フレームで得られた動き探索結果を基に外挿を行うことが前提の手法である。このため,上述の場合のように,隣接フレームに限定せず,整数画素精度で動き探索を行うための参照フレームを設定する場合には,演算量の低減は期待できない。
本発明はかかる事情に鑑みてなされたものであって,高フレームレート映像信号に対する符号化処理において,複数参照フレームを用いた整数画素精度の変移量推定を行う場合,高速な動き推定方法を確立することを目的とする。 The present invention has been made in view of such circumstances, and establishes a high-speed motion estimation method in the case of performing integer pixel precision shift amount estimation using a plurality of reference frames in encoding processing for a high frame rate video signal. The purpose is to do.
上記課題を解決するため,本発明は,以下の方法を用いる。なお,画素値として輝度の値を用いる例を説明するが,輝度以外の画素値を用いてもよい。 In order to solve the above problems, the present invention uses the following method. In addition, although the example which uses the value of a brightness | luminance as a pixel value is demonstrated, you may use pixel values other than a brightness | luminance.
第一の発明では,フレーム間予測を伴う動画像符号化において,1または複数の参照フレームを用いた動き補償(複数参照フレーム動き補償)を利用する場合,一定の空間変移に必要な時間変移量を重み値とする,処理対象フレーム内の該空間変移の距離にある画素間の空間輝度勾配と隣接フレーム間の時間輝度勾配との加重和からなるコスト関数を最小化する時間変移量を求め,求めた時間変移量に対応するフレームを参照フレームとして動き推定を行う。または求めた時間変移量に対応するフレームとその前後の複数フレームとを参照フレームとして動き推定を行う。 In the first invention, when motion compensation using one or a plurality of reference frames (multiple reference frame motion compensation) is used in moving picture coding with inter-frame prediction, the amount of time variation required for a certain spatial transition A time shift amount that minimizes a cost function composed of a weighted sum of a spatial luminance gradient between pixels at a distance of the spatial shift in the processing target frame and a temporal luminance gradient between adjacent frames in the processing target frame, Motion estimation is performed using a frame corresponding to the obtained time shift amount as a reference frame. Alternatively, motion estimation is performed using a frame corresponding to the obtained time shift amount and a plurality of frames before and after the frame as reference frames.
また,第二の発明では,フレーム間予測を伴う動画像符号化において,1または複数の参照フレームを用いた動き補償(複数参照フレーム動き補償)を利用する場合,局所領域内の各画素に対して,一定の空間変移に必要な時間変移量を,当該フレーム内の該空間変移の距離にある画素間の輝度勾配と隣接フレーム間の輝度勾配との比により推定し,推定された時間変移量に基づき,この局所領域内の該時間変移量のヒストグラムを生成し,同ヒストグラムにおける最大頻度の時間変移量を求め,該時間変移量に対応するフレームを参照フレームとして動き推定を行う。または該時間変移量に対応するフレームとその前後の複数フレームとを参照フレームとして動き推定を行う。詳しくは,以下のとおりである。 In the second invention, when motion compensation using one or a plurality of reference frames (multiple reference frame motion compensation) is used in moving picture coding with inter-frame prediction, for each pixel in the local region Thus, the amount of time shift required for a certain spatial shift is estimated by the ratio of the luminance gradient between the pixels at the distance of the spatial shift in the frame and the luminance gradient between adjacent frames, and the estimated time shift amount Based on the above, a histogram of the time shift amount in the local region is generated, the time shift amount of the maximum frequency in the histogram is obtained, and motion estimation is performed using a frame corresponding to the time shift amount as a reference frame. Alternatively, motion estimation is performed using a frame corresponding to the time shift amount and a plurality of frames before and after the frame as reference frames. Details are as follows.
[第一の発明]
以下では,簡単のため1次元信号を例にとり説明する。第tフレームの位置xにおける画素値をf(x,t)とする。フレーム間隔をΔt とする。平行移動モデルを仮定し,1画素の変移に必要なフレーム数(時間変移量)をbとすると,次式の関係が成り立つ。
[First invention]
In the following, for simplicity, a one-dimensional signal will be described as an example. The pixel value at the position x of the t-th frame is assumed to be f (x, t). Let the frame interval be Δt . Assuming a translation model and assuming that the number of frames required for shifting one pixel (time shift amount) is b, the following relationship holds.
f(x,t)=f(x−1,t−bΔt ) (1)
上式の右辺はテイラー展開の一次近似により,次式のように近似できる。
f (x, t) = f (x-1, t-bΔ t) (1)
The right-hand side of the above equation can be approximated by the first-order approximation of Taylor expansion as
さらに,上式の右辺の第2項を差分近似する。 Further, the second term on the right side of the above equation is approximated by difference.
以上の関係を用いて,以下の式を得る。 Using the above relationship, the following equation is obtained.
上式の両辺が等しいものとして,bについて解くと,次式を得る。 Solving for b, assuming that both sides of the above equation are equal, the following equation is obtained.
上式は,各画素に対する1画素の変移に必要な時間変移量を与える。 The above equation gives the amount of time shift required for shifting one pixel for each pixel.
さらに,変移量を一般化して,a画素の変移に必要なフレーム数(時間変移量)をba とすると,前述と同様に考えれば,次式が得られる。なお,aは整数とする。 Furthermore, when the amount of transition is generalized and the number of frames necessary for the transition of a pixel (time variation amount) is b a , the following equation is obtained in the same manner as described above. Note that a is an integer.
上式は,各画素に対するa画素の変移に必要な時間変移量を与える。式(5)で示したbは,式(6)においてa=1とした場合であり,b1 にあたる。 The above equation gives the amount of time shift required for shifting a pixel for each pixel. The b shown in the equation (5) is a case where a = 1 in the equation (6) and corresponds to b 1 .
一方,符号化効率の観点からは,複数画素に対して,共通の時間変移量を与えることが望ましい。そこで,局所領域内の各点の時間変移量が等しいと仮定して,局所領域内で上記の関係式が最小二乗誤差の意味で最もよく当てはまるba を推定する。つまり,局所領域Rで次式を最小化する時間変移量を求める。 On the other hand, from the viewpoint of encoding efficiency, it is desirable to give a common time shift amount to a plurality of pixels. Therefore, assuming equal time displacement amount of each point in the local region, the above relation in the local region to estimate the best fit b a sense of the least square error. That is, a time shift amount that minimizes the following expression in the local region R is obtained.
ここで,argminb は,次に続く関数を最小化するbを返す。このコスト関数E(ba )は,次式の通りである。 Here, argmin b returns b that minimizes the next function. The cost function E (b a ) is as follows:
式(8)において,
es (x,t,a)=f(x−a,t)−f(x,t),および,
et (x,t,a)=f(x−a,t−Δt )−f(x−a,t)
とおくと,E(ba )は以下の通り,展開できる。なお,es (x,t,a)を空間輝度勾配,et (x,t,a)を時間輝度勾配と呼ぶ。
In equation (8),
e s (x, t, a) = f (x−a, t) −f (x, t), and
e t (x, t, a) = f (x−a, t− Δt ) −f (x−a, t)
Then, E (b a ) can be expanded as follows. Note that e s (x, t, a) is called a spatial luminance gradient, and e t (x, t, a) is called a temporal luminance gradient.
従って,上式を最小化するbの値は,次式となる。 Therefore, the value of b that minimizes the above equation is as follows.
f(x,t)に対する動き推定は,式(7)で示したフレーム間隔bopt に基づき,フレームf(x,t−bopt Δt )を参照フレームとして,整数画素精度の動き推定を行う。なお,詳しくは第二の発明で説明するように,さらにフレームf(x,t−bopt Δt )の前後の複数フレームを参照フレームとしてもよい。 The motion estimation for f (x, t) is based on the frame interval b opt shown in Equation (7), and the motion estimation with integer pixel accuracy is performed using the frame f (x, t−b opt Δt ) as a reference frame. . As will be described in detail in the second invention, a plurality of frames before and after the frame f (x, t−b opt Δt ) may be used as reference frames.
[第二の発明]
式(6)を用いて,局所領域R内の全画素について,時間変移量を求める。この結果得られるf(x,t)(x∈R)における時間変移量をb(x,t,a)とおく。b(x,t,a)(x∈R)の頻度が最多となる値をbopt として,第(t−bopt )フレームを参照フレームとする。
[Second invention]
Using equation (6), the time shift amount is obtained for all the pixels in the local region R. The time shift amount at f (x, t) (xεR) obtained as a result is set as b (x, t, a). Let b opt be the value with the highest frequency of b (x, t, a) (xεR), and let the (t−b opt ) frame be the reference frame.
さらに,その第(t−bopt )フレームの前後の複数フレーム(2M−1フレーム)を参照フレームとしてもよい。この場合には,第τフレーム(t−bopt −M≦τ<t−bopt +M)が動き推定の探索対象となる参照フレームとなる。ここで,Mは整数とし,Mの値は外部から与えられるものとする。Mの値を外部から与える手段を持たない場合には,内部で同値を生成するものとする。例えば,b(x,t,a)(x∈R)の最大頻度の確率をrとすると,Mを次式で与える。 Further, a plurality of frames (2M-1 frames) before and after the (t-b opt ) frame may be used as reference frames. In this case, the τ-th frame (t−b opt −M ≦ τ <t−b opt + M) is a reference frame to be searched for motion estimation. Here, M is an integer, and the value of M is given from the outside. If there is no means for giving the value of M from the outside, the same value is generated internally. For example, assuming that the probability of the maximum frequency of b (x, t, a) (xεR) is r, M is given by the following equation.
なお,ここでFはシーケンスのフレームレートであり,Nは領域R内の画素数である。 Here, F is the frame rate of the sequence, and N is the number of pixels in the region R.
本発明により,参照フレームを隣接フレームに制限しない動き推定を高フレームレート映像に適用する際,整数画素精度の動き推定の探索対象となる参照フレームを高速に定めることが可能となる。これにより,変移量を高速に推定することが可能となる。整数画素精度の動き推定により変移量を推定することで,補間フィルタの適用に伴う参照信号内の高周波成分の欠落を回避できるため,動き補償フレーム間予測における予測残差を低減することができる。 According to the present invention, when motion estimation in which a reference frame is not limited to adjacent frames is applied to a high frame rate video, it is possible to quickly determine a reference frame to be searched for motion estimation with integer pixel accuracy. This makes it possible to estimate the amount of displacement at high speed. By estimating the shift amount by motion estimation with integer pixel accuracy, it is possible to avoid missing high-frequency components in the reference signal due to the application of the interpolation filter, thereby reducing the prediction residual in motion compensation interframe prediction.
以下では,動き推定対象フレームの画素値f(x,t)を当該フレームの当該画素値と呼び,f(x−a,t)を当該フレームの変移位置画素値と呼び,f(x−a,t−Δt )を隣接フレームの変移位置画素値と呼ぶ。 Hereinafter, the pixel value f (x, t) of the motion estimation target frame is referred to as the pixel value of the frame, f (x−a, t) is referred to as the transition position pixel value of the frame, and f (x−a , T−Δ t ) is called the transition position pixel value of the adjacent frame.
[動き推定処理の流れ(実施例1)]
実施例1の動き推定処理の流れについて,図1を参照して説明する。
[Flow of Motion Estimation Processing (Example 1)]
A flow of motion estimation processing according to the first embodiment will be described with reference to FIG.
ステップS101:空間変移量aを読み込み,記憶する。この空間変移量aは,本実施例では,符号化時のパラメータとして外部から与えられるものとする。例えば,a=1というように,あらかじめ定められている場合には,この空間変移量の読込み処理は不要である。 Step S101: The spatial shift amount a is read and stored. In this embodiment, the spatial shift amount a is assumed to be given from the outside as a parameter at the time of encoding. For example, in the case where a = 1 is set in advance, such as a = 1, this spatial shift amount reading process is not necessary.
ステップS102:当該フレームをフレームバッファに読み込む。なお,当該フレームのフレーム番号をtとする。 Step S102: The frame is read into the frame buffer. Note that the frame number of the frame is t.
ステップS103:当該フレームの隣接フレームをフレームバッファに読み込む。 Step S103: Read an adjacent frame of the frame into the frame buffer.
ステップS104:レジスタA1,A2を零値に初期化する。 Step S104: The registers A1 and A2 are initialized to zero values.
ステップS105:読み込んだ空間変移量aをもとに,当該フレームの処理対象画素値f(x,t),および当該フレームの変移位置画素値f(x−a,t)をフレームバッファから読み出し,それらの値の差分を求める処理を行い,結果をレジスタEsに書き出す。 Step S105: Based on the read spatial shift amount a, the processing target pixel value f (x, t) of the frame and the shift position pixel value f (x−a, t) of the frame are read from the frame buffer. A process for obtaining a difference between these values is performed, and the result is written in the register Es.
ステップS106:読み込んだ空間変移量aをもとに,当該フレームの変移位置画素値f(x−a,t),および隣接フレームの変移位置画素値f(x−a,t−Δt )を各フレームバッファから読み出し,それらの値の差分を求める処理を行い,求めた結果をレジスタEtに書き出す。 Step S106: Based on the read spatial shift amount a, the shift position pixel value f (x−a, t) of the frame and the shift position pixel value f (x−a, t− Δt ) of the adjacent frame are obtained. Reading from each frame buffer, obtaining a difference between these values, and writing the obtained result to the register Et.
ステップS107:レジスタEtの値を読み込み,同値の二乗値を求め,求めた結果をレジスタA1の値と加算し,加算結果をレジスタA1に書き出す。 Step S107: The value of the register Et is read, the square value of the same value is obtained, the obtained result is added to the value of the register A1, and the addition result is written to the register A1.
ステップS108:レジスタEs,Etの値を読み込み,両値の積を求め,求めた結果をレジスタA2の値と加算し,加算結果をレジスタA2に書き出す。 Step S108: The values of the registers Es and Et are read, the product of both values is obtained, the obtained result is added to the value of the register A2, and the addition result is written to the register A2.
ステップS109,S110:局所領域R内の全ての画素について処理を終えたかどうかを判定し,処理を終えたならば,ステップS111へ進む。そうでなければ,処理対象画素を局所領域R内の次の画素とし,ステップS105〜S108の処理を同様に繰り返す。 Steps S109 and S110: It is determined whether or not the processing has been completed for all the pixels in the local region R. If the processing has been completed, the process proceeds to step S111. Otherwise, the processing target pixel is set as the next pixel in the local region R, and the processing in steps S105 to S108 is repeated in the same manner.
ステップS111:レジスタA1,A2の値を読み込み,A1の値を用いたA2の値に対する除算処理を行い,結果をレジスタbに書き出す。 Step S111: Read the values of the registers A1 and A2, perform division processing on the value of A2 using the value of A1, and write the result to the register b.
ステップS112:レジスタbの値,参照フレーム枚数を格納したMの値を読み込み,第(t−b−M)フレームから第(t−b+M)フレームまでの2M+1フレームを動き推定の探索対象となる参照フレームとして,フレームバッファに書き出す。tは当該フレームのフレーム番号である。 Step S112: The value of the register b and the value of M storing the number of reference frames are read, and the 2M + 1 frame from the (t−b−M) th frame to the (t−b + M) th frame is a reference for motion estimation search. Write as a frame to the frame buffer. t is the frame number of the frame.
ステップS113:ステップS102で書き出したフレームバッファ内の当該フレームの画素値,およびステップS112で書き出したフレームバッファ内の参照フレームの画素値を入力として読み込み,動き推定処理を行い,推定された変移量をレジスタに書き出す。なお,具体的な動き推定手法は外部より与えられるものとする。動き推定手法としては,例えばブロックマッチングに基づく動き推定がある。 Step S113: The pixel value of the frame in the frame buffer written out in step S102 and the pixel value of the reference frame in the frame buffer written out in step S112 are read as inputs, motion estimation processing is performed, and the estimated amount of change is calculated. Write to register. Note that a specific motion estimation method is given from the outside. As a motion estimation method, for example, there is motion estimation based on block matching.
[動き推定装置(実施例1)]
図2は,実施例1の動き推定装置の構成図である。図2を参照して,実施例1の動き推定装置を説明する。
[Motion Estimation Device (Example 1)]
FIG. 2 is a configuration diagram of the motion estimation apparatus according to the first embodiment. With reference to FIG. 2, the motion estimation apparatus of Example 1 is demonstrated.
当該フレーム読込み部101:当該フレームを読み込み,当該フレーム記憶部102に格納する。
Frame reading unit 101: Reads the frame and stores it in the
空間変移量読込み部103:空間変移量aを読み込み,空間変移量記憶部104に格納する。
Spatial shift reading unit 103: Reads the spatial shift a and stores it in the spatial
隣接フレーム読込み部105:当該フレームを読み込み,隣接フレーム記憶部106に格納する。
Adjacent frame reading unit 105: Reads the frame and stores it in the adjacent
参照フレーム数読込み部107:参照フレーム数Mを読み込み,参照フレーム数記憶部108に格納する。
Reference frame number reading unit 107: Reads the reference frame number M and stores it in the reference frame
空間輝度勾配算出部109:空間変移量記憶部104内の空間変移量aをもとに,当該フレーム記憶部102から当該フレームの処理対象画素値f(x,t)と,当該フレームの変移位置画素値f(x−a,t)とを読み出し,両画素値の差分を求める処理を行い,求めた結果を空間輝度勾配記憶部110に書き出す。
Spatial luminance gradient calculation unit 109: Based on the spatial shift amount a in the spatial shift
時間輝度勾配算出部111:空間変移量記憶部104内の空間変移量aをもとに,当該フレーム記憶部102から当該フレームの変移位置画素値f(x−a,t)を読み出し,隣接フレーム記憶部106から隣接フレームの変移位置画素値f(x−a,t−Δt )を読み出し,両値の差分を求める処理を行い,求めた結果を時間輝度勾配記憶部112に書き出す。
Temporal luminance gradient calculation unit 111: Based on the spatial shift amount a in the spatial shift
積算処理部113:空間輝度勾配記憶部110の値,および時間輝度勾配記憶部112の値を入力として読み込み,両値の積演算を行い,演算結果を積算値記憶部114に書き出す。
Integration processing unit 113: Reads the value of the spatial luminance
二乗演算処理部115:時間輝度勾配記憶部112の値を入力として読み込み,同値に対する二乗演算を行い,演算結果を二乗値記憶部116に書き出す。
Square calculation processing unit 115: Reads the value of the time luminance gradient storage unit 112 as an input, performs a square calculation on the same value, and writes the calculation result to the square
最終画素判定処理部117:以上の処理を局所領域内の全ての画素について繰り返す制御を行う。 Final pixel determination processing unit 117: Control is performed to repeat the above processing for all the pixels in the local region.
除算処理部118:二乗値記憶部116の値,積算値記憶部114の値を入力として読み込み,後者を前者で除する演算を行い,整数値に丸める処理を行い,結果を除算値記憶部119に書き出す。
Division processing unit 118: The value of the square
参照フレーム読込み部120:除算値記憶部119の値,参照フレーム数記憶部108の値を入力として読み込み,両値を各々,b,Mとすると,第(t−b−M)フレームから第(t−b+M)フレームまでの2M+1フレームを動き推定の探索対象となる参照フレームとして,参照フレーム記憶部121に書き出す。tは当該フレームのフレーム番号である。
Reference frame reading unit 120: Reads the value of the division
動き推定処理部122:当該フレーム記憶部102の当該フレームの画素値,参照フレーム記憶部121の参照フレームの画素値を入力として読み込み,動き推定処理を行い,推定された変移量を変移量記憶部123に書き出す。なお,具体的な動き推定手法は外部より与えられるものとする。例えば,ブロックマッチングに基づく動き推定がある。
Motion estimation processing unit 122: Reads the pixel value of the frame in the
[動き推定処理の流れ(実施例2)]
実施例2の動き推定処理の流れについて,図3を参照して説明する。
[Flow of Motion Estimation Processing (Example 2)]
A flow of motion estimation processing according to the second embodiment will be described with reference to FIG.
ステップS201〜S203:実施例1のステップS101〜S103と同じである。 Steps S201 to S203: The same as steps S101 to S103 of the first embodiment.
ステップS204:ヒストグラムHの各要素を零値に初期化する。 Step S204: Each element of the histogram H is initialized to zero.
ステップS205,S206:実施例1のステップS105,S106と同じである。 Steps S205 and S206: The same as steps S105 and S106 of the first embodiment.
ステップS207:レジスタEs,Etの値を読み込み,両値の除算Es/Etを行い,求めた結果を整数値に丸める処理を行い,結果をレジスタbに書き出す。 Step S207: Read the values of the registers Es and Et, divide both values Es / Et, round the obtained result to an integer value, and write the result to the register b.
ステップS208:レジスタbの値,ヒストグラムHを入力として読み込み,ヒストグラムHの第b要素の頻度に1を加算し,加算後の頻度をヒストグラムHの第b要素の頻度として上書きする。 Step S208: Read the value of the register b and the histogram H as input, add 1 to the frequency of the b-th element of the histogram H, and overwrite the frequency after the addition as the frequency of the b-th element of the histogram H.
ステップS209,S210:局所領域R内の全ての画素について処理を終えたかどうかを判定し,処理を終えたならば,ステップS211へ進む。そうでなければ,処理対象画素を局所領域R内の次の画素とし,ステップS205〜S208の処理を同様に繰り返す。 Steps S209 and S210: It is determined whether or not the processing has been completed for all the pixels in the local region R. If the processing is completed, the process proceeds to step S211. Otherwise, the process target pixel is set as the next pixel in the local region R, and the processes in steps S205 to S208 are repeated in the same manner.
ステップS211:ヒストグラムHを入力として読み込み,同ヒストグラムにおける最大頻度を有する要素の値を求め,レジスタbに書き出す。 Step S211: The histogram H is read as an input, the value of the element having the maximum frequency in the histogram is obtained and written in the register b.
ステップS212,S213:実施例1のステップS112,S113と同じである。 Steps S212 and S213: Same as steps S112 and S113 of the first embodiment.
[動き推定装置(実施例2)]
図4は,実施例2の動き推定装置の構成図である。図4を参照して,実施例2の動き推定装置を説明する。
[Motion Estimation Device (Example 2)]
FIG. 4 is a configuration diagram of the motion estimation apparatus according to the second embodiment. With reference to FIG. 4, the motion estimation apparatus of Example 2 is demonstrated.
当該フレーム読込み部201:当該フレームを読み込み,当該フレーム記憶部202に格納する。
Frame reading unit 201: Reads the frame and stores it in the
空間変移量読込み部203:空間変移量aを読み込み,空間変移量記憶部204に格納する。
Spatial shift reading unit 203: Reads the spatial shift a and stores it in the spatial
隣接フレーム読込み部205:当該フレームを読み込み,隣接フレーム記憶部206に格納する。
Adjacent frame reading unit 205: Reads the frame and stores it in the adjacent
参照フレーム数読込み部207:参照フレーム数Mを読み込み,参照フレーム数記憶部208に格納する。
Reference frame number reading unit 207: Reads the reference frame number M and stores it in the reference frame
空間輝度勾配算出部209:空間変移量記憶部204内の空間変移量aをもとに,当該フレーム記憶部202から当該フレームの処理対象画素値f(x,t)と,当該フレームの変移位置画素値f(x−a,t)とを読み出し,両画素値の差分を求める処理を行い,求めた結果を空間輝度勾配記憶部210に書き出す。
Spatial luminance gradient calculation unit 209: based on the spatial shift amount a in the spatial shift
時間輝度勾配算出部211:空間変移量記憶部204内の空間変移量aをもとに,当該フレーム記憶部202から当該フレームの変移位置画素値f(x−a,t)を読み出し,隣接フレーム記憶部206から隣接フレームの変移位置画素値f(x−a,t−Δt )を読み出し,両値の差分を求める処理を行い,求めた結果を時間輝度勾配記憶部212に書き出す。
Temporal luminance gradient calculating unit 211: Based on the spatial shift amount a in the spatial shift
除算処理部213:空間輝度勾配記憶部210の値,および時間輝度勾配記憶部212の値を入力として読み込み,前者を後者で除する演算を行い,整数値に丸める処理を行い,結果を除算値記憶部214に書き出す。
Division processing unit 213: Reads the value of the spatial luminance gradient storage unit 210 and the value of the temporal luminance
ヒストグラム更新部215:除算値記憶部214の値,およびヒストグラムを入力として読み込み,除算値記憶部214の値をbとすると,ヒストグラムの第b要素の頻度に1を加算し,加算後の頻度をヒストグラムの第b要素の頻度として,ヒストグラム記憶部216に書き出す。
Histogram update unit 215: Reads the value of the division
最終画素判定処理部217:以上の処理を局所領域内の全ての画素について繰り返す制御を行う。 Final pixel determination processing unit 217: Control is performed to repeat the above processing for all pixels in the local region.
最大頻度要素検出部218:ヒストグラム記憶部216のヒストグラムを入力として読み込み,同ヒストグラムにおける最大頻度を有する要素の値を求め,この値を最大頻度要素記憶部219に書き出す。
Maximum frequency element detection unit 218: Reads the histogram of the
参照フレーム読込み部220:最大頻度要素記憶部219の値,参照フレーム数記憶部208の値を入力として読み込み,両値を各々,b,Mとすると,第(t−b−M)フレームから第(t−b+M)フレームまでの2M+1フレームを動き推定の探索対象となる参照フレームとして,参照フレーム記憶部221に書き出す。tは当該フレームのフレーム番号である。
Reference frame reading unit 220: Reads the value of the maximum frequency
動き推定処理部222:当該フレーム記憶部202の当該フレームの画素値,参照フレーム記憶部221の参照フレームの画素値を入力として読み込み,動き推定処理を行い,推定された変移量を変移量記憶部223に書き出す。なお,具体的な動き推定手法は外部より与えられるものとする。例えば,ブロックマッチングに基づく動き推定がある。
Motion estimation processing unit 222: Reads the pixel value of the frame of the
説明を分かりやすくするために,1次元信号を例にとり説明したが,本実施例の説明から本技術を2次元の画像信号に容易に適用することができることは言うまでもない。 In order to make the explanation easy to understand, the description has been given by taking a one-dimensional signal as an example, but it goes without saying that the present technology can be easily applied to a two-dimensional image signal from the description of the present embodiment.
以上の動き推定の処理は,コンピュータとソフトウェアプログラムとによって実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも,ネットワークを通して提供することも可能である。 The motion estimation process described above can be realized by a computer and a software program, and the program can be provided by being recorded on a computer-readable recording medium or provided through a network.
101,201 当該フレーム読込み部
102,202 当該フレーム記憶部
103,203 空間変移量読込み部
104,204 空間変移量記憶部
105,205 隣接フレーム読込み部
106,206 隣接フレーム記憶部
107,207 参照フレーム数読込み部
108,208 参照フレーム数記憶部
109,209 空間輝度勾配算出部
110,210 空間輝度勾配記憶部
111,211 時間輝度勾配算出部
112,212 時間輝度勾配記憶部
113 積算処理部
114 積算値記憶部
115 二乗演算処理部
116 二乗値記憶部
117,217 最終画素判定処理部
118,213 除算処理部
119,214 除算値記憶部
120,220 参照フレーム読込み部
121,221 参照フレーム記憶部
122,222 動き推定処理部
123,223 変移量記憶部
215 ヒストグラム更新部
216 ヒストグラム記憶部
218 最大頻度要素検出部
219 最大頻度要素記憶部
101, 201
Claims (6)
処理対象フレームにおける処理対象画素と,その処理対象画素から所定の整数画素分の空間変移量だけ離れた画素との間の空間画素値勾配を算出する空間画素値勾配算出ステップと,
当該処理対象フレームにおける前記処理対象画素から前記空間変移量だけ離れた変移位置画素と,隣接フレームにおける前記変移位置画素に対応する位置にある変移位置画素との間の時間画素値勾配を算出する時間画素値勾配算出ステップと,
前記空間画素値勾配と前記時間画素値勾配との,前記空間変移量に必要な時間変移量を重み値とする加重和からなるコスト関数を最小化する時間変移量を算出する時間変移量算出ステップと,
前記算出された時間変移量に対応するフレーム,またはさらにその前後の複数フレームを参照フレームとして,動き補償における動きを推定する動き推定ステップとを有する
ことを特徴とする動き推定方法。 In a motion estimation method in video coding with inter-frame prediction using motion compensation using one or more reference frames,
A spatial pixel value gradient calculating step for calculating a spatial pixel value gradient between the processing target pixel in the processing target frame and a pixel separated from the processing target pixel by a spatial shift amount corresponding to a predetermined integer pixel;
Time for calculating a time pixel value gradient between a transition position pixel separated from the processing target pixel in the processing target frame by the spatial shift amount and a transition position pixel in a position corresponding to the transition position pixel in an adjacent frame A pixel value gradient calculating step;
A time shift amount calculating step for calculating a time shift amount that minimizes a cost function including a weighted sum of the space pixel value gradient and the time pixel value gradient, the time shift amount necessary for the space shift amount as a weight value; When,
A motion estimation method comprising: a motion estimation step of estimating motion in motion compensation using a frame corresponding to the calculated time shift amount or a plurality of frames before and after the frame as reference frames.
処理対象フレームにおける処理対象画素と,その処理対象画素から所定の整数画素分の空間変移量だけ離れた画素との間の空間画素値勾配を,当該処理対象フレームにおける局所領域内の各画素について算出する空間画素値勾配算出ステップと,
当該処理対象フレームにおける前記処理対象画素から前記空間変移量だけ離れた変移位置画素と,隣接フレームにおける前記変移位置画素に対応する位置にある変移位置画素との間の時間画素値勾配を,当該処理対象フレームにおける局所領域内の各画素について算出する時間画素値勾配算出ステップと,
前記空間画素値勾配と前記時間画素値勾配との比を算出し,前記局所領域内の各画素ごとの時間変移量を推定する時間変移量推定ステップと,
推定された各画素ごとの時間変移量に基づき,この局所領域内の全画素に対する時間変移量のヒストグラムを生成し,該ヒストグラムにおける最大頻度の時間変移量を求める時間変移量算出ステップと,
前記算出された時間変移量に対応するフレーム,またはさらにその前後の複数フレームを参照フレームとして,動き補償における動きを推定する動き推定ステップとを有する
ことを特徴とする動き推定方法。 In a motion estimation method in video coding with inter-frame prediction using motion compensation using one or more reference frames,
The spatial pixel value gradient between the processing target pixel in the processing target frame and a pixel separated from the processing target pixel by a predetermined integer pixel spatial shift amount is calculated for each pixel in the local region in the processing target frame. A spatial pixel value gradient calculating step,
A temporal pixel value gradient between a transition position pixel separated from the processing target pixel in the processing target frame by the spatial shift amount and a transition position pixel in a position corresponding to the transition position pixel in an adjacent frame is represented by the processing. A temporal pixel value gradient calculating step for calculating each pixel in the local region in the target frame;
Calculating a ratio between the spatial pixel value gradient and the temporal pixel value gradient, and estimating a time shift amount for each pixel in the local region;
A time shift amount calculating step for generating a time shift amount histogram for all pixels in the local region based on the estimated time shift amount for each pixel, and obtaining a maximum frequency time shift amount in the histogram;
A motion estimation step of estimating a motion in motion compensation using a frame corresponding to the calculated time shift amount or a plurality of frames before and after the frame as a reference frame.
処理対象フレームにおける処理対象画素と,その処理対象画素から所定の整数画素分の空間変移量だけ離れた画素との間の空間画素値勾配を算出する空間画素値勾配算出手段と,
当該処理対象フレームにおける前記処理対象画素から前記空間変移量だけ離れた変移位置画素と,隣接フレームにおける前記変移位置画素に対応する位置にある変移位置画素との間の時間画素値勾配を算出する時間画素値勾配算出手段と,
前記空間画素値勾配と前記時間画素値勾配との,前記空間変移量に必要な時間変移量を重み値とする加重和からなるコスト関数を最小化する時間変移量を算出する時間変移量算出手段と,
前記算出された時間変移量に対応するフレーム,またはさらにその前後の複数フレームを参照フレームとして,動き補償における動きを推定する動き推定手段とを備える
ことを特徴とする動き推定装置。 In a motion estimation apparatus in video coding with inter-frame prediction using motion compensation using one or a plurality of reference frames,
A spatial pixel value gradient calculating means for calculating a spatial pixel value gradient between a processing target pixel in the processing target frame and a pixel separated from the processing target pixel by a spatial shift amount corresponding to a predetermined integer pixel;
Time for calculating a time pixel value gradient between a transition position pixel separated from the processing target pixel in the processing target frame by the spatial shift amount and a transition position pixel in a position corresponding to the transition position pixel in an adjacent frame Pixel value gradient calculating means;
Time shift amount calculating means for calculating a time shift amount that minimizes a cost function composed of a weighted sum of the space pixel value gradient and the time pixel value gradient using a time shift amount required for the space shift amount as a weight value. When,
A motion estimation apparatus comprising: a motion estimation unit configured to estimate motion in motion compensation using a frame corresponding to the calculated time shift amount or a plurality of frames before and after the frame as reference frames.
処理対象フレームにおける処理対象画素と,その処理対象画素から所定の整数画素分の空間変移量だけ離れた画素との間の空間画素値勾配を,当該処理対象フレームにおける局所領域内の各画素について算出する空間画素値勾配算出手段と,
当該処理対象フレームにおける前記処理対象画素から前記空間変移量だけ離れた変移位置画素と,隣接フレームにおける前記変移位置画素に対応する位置にある変移位置画素との間の時間画素値勾配を,当該処理対象フレームにおける局所領域内の各画素について算出する時間画素値勾配算出手段と,
前記空間画素値勾配と前記時間画素値勾配との比を算出し,前記局所領域内の各画素ごとの時間変移量を推定する時間変移量推定手段と,
推定された各画素ごとの時間変移量に基づき,この局所領域内の全画素に対する時間変移量のヒストグラムを生成し,該ヒストグラムにおける最大頻度の時間変移量を求める時間変移量算出手段と,
前記算出された時間変移量に対応するフレーム,またはさらにその前後の複数フレームを参照フレームとして,動き補償における動きを推定する動き推定手段とを備える
ことを特徴とする動き推定装置。 In a motion estimation apparatus in video coding with inter-frame prediction using motion compensation using one or a plurality of reference frames,
The spatial pixel value gradient between the processing target pixel in the processing target frame and a pixel separated from the processing target pixel by a predetermined integer pixel spatial shift amount is calculated for each pixel in the local region in the processing target frame. Spatial pixel value gradient calculating means for
A temporal pixel value gradient between a transition position pixel separated from the processing target pixel in the processing target frame by the spatial shift amount and a transition position pixel in a position corresponding to the transition position pixel in an adjacent frame is represented by the processing. A time pixel value gradient calculating means for calculating each pixel in the local region in the target frame;
Calculating a ratio between the spatial pixel value gradient and the temporal pixel value gradient, and estimating a time shift amount for each pixel in the local region;
A time shift amount calculating means for generating a histogram of time shift amounts for all the pixels in the local region based on the estimated time shift amount for each pixel, and obtaining a time shift amount having a maximum frequency in the histogram;
A motion estimation apparatus comprising: a motion estimation unit configured to estimate motion in motion compensation using a frame corresponding to the calculated time shift amount or a plurality of frames before and after the frame as reference frames.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006295407A JP4563982B2 (en) | 2006-10-31 | 2006-10-31 | Motion estimation method, apparatus, program thereof, and recording medium thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006295407A JP4563982B2 (en) | 2006-10-31 | 2006-10-31 | Motion estimation method, apparatus, program thereof, and recording medium thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008113292A JP2008113292A (en) | 2008-05-15 |
JP4563982B2 true JP4563982B2 (en) | 2010-10-20 |
Family
ID=39445554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006295407A Expired - Fee Related JP4563982B2 (en) | 2006-10-31 | 2006-10-31 | Motion estimation method, apparatus, program thereof, and recording medium thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4563982B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9984504B2 (en) * | 2012-10-01 | 2018-05-29 | Nvidia Corporation | System and method for improving video encoding using content information |
US10237563B2 (en) | 2012-12-11 | 2019-03-19 | Nvidia Corporation | System and method for controlling video encoding using content information |
JP2014187580A (en) | 2013-03-25 | 2014-10-02 | Kddi Corp | Video encoder, video decoder, video encoding method, video decoding method, and program |
US10242462B2 (en) | 2013-04-02 | 2019-03-26 | Nvidia Corporation | Rate control bit allocation for video streaming based on an attention area of a gamer |
DE102019007801A1 (en) * | 2019-11-11 | 2021-05-12 | Yamaichi Electronics Deutschland Gmbh | Connector system and connector housing |
-
2006
- 2006-10-31 JP JP2006295407A patent/JP4563982B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008113292A (en) | 2008-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11610082B2 (en) | Method and apparatus for training neural network model used for image processing, and storage medium | |
CN109068174B (en) | Video frame rate up-conversion method and system based on cyclic convolution neural network | |
US20220222776A1 (en) | Multi-Stage Multi-Reference Bootstrapping for Video Super-Resolution | |
US9436981B2 (en) | Dictionary creation device, image processing device, image processing system, dictionary creation method, image processing method, and program | |
US20150215590A1 (en) | Image demosaicing | |
CN110555808B (en) | Image processing method, device, equipment and machine-readable storage medium | |
US20040240551A1 (en) | Method of generating an interpolation image, an interpolation image generating apparatus, and an image display system using the same | |
JP4563982B2 (en) | Motion estimation method, apparatus, program thereof, and recording medium thereof | |
CN111652921A (en) | Generation method of monocular depth prediction model and monocular depth prediction method | |
CN113724136B (en) | Video restoration method, device and medium | |
CN114885144B (en) | High frame rate 3D video generation method and device based on data fusion | |
JP7176616B2 (en) | Image processing system, image processing apparatus, image processing method, and image processing program | |
CN110782480A (en) | Infrared pedestrian tracking method based on online template prediction | |
CN114885112A (en) | High frame rate video generation method and device based on data fusion | |
CN117196948A (en) | Event data driving-based video super-resolution method | |
JP4621944B2 (en) | Image filter device, method and computer program | |
JP2017011653A (en) | Image processing device, imaging apparatus, image processing method and program | |
JP5441737B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP2006215657A (en) | Method, apparatus, program and program storage medium for detecting motion vector | |
CN117241065B (en) | Video plug-in frame image generation method, device, computer equipment and storage medium | |
JP2009116730A (en) | Image processing apparatus and method | |
JP2009225253A (en) | Image processing apparatus and its method | |
CN110598547A (en) | Method and device for estimating fast moving human body posture | |
KR102293883B1 (en) | Simultaneous image compression and thumbnail generation | |
CN116091773B (en) | Training method of image segmentation model, image segmentation method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080529 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090115 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100331 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100721 |
|
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: 20100727 |
|
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: 20100729 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130806 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |