JP2008053875A - Image processing apparatus and method, program, and program storage medium - Google Patents
Image processing apparatus and method, program, and program storage medium Download PDFInfo
- Publication number
- JP2008053875A JP2008053875A JP2006226016A JP2006226016A JP2008053875A JP 2008053875 A JP2008053875 A JP 2008053875A JP 2006226016 A JP2006226016 A JP 2006226016A JP 2006226016 A JP2006226016 A JP 2006226016A JP 2008053875 A JP2008053875 A JP 2008053875A
- Authority
- JP
- Japan
- Prior art keywords
- resolution
- image
- pixel
- pixels
- corresponding point
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】動きベクトルを高速に安定的に求められるようにする。
【解決手段】多重解像度化部31は、入力画像を複数の解像度の画像に変換し、多重解像度画像バッファ32−1は、複数の解像度に変換された第1のタイミングの第1の画像を蓄積し、多重解像度画像バッファ32−2は、複数の解像度に変換された第1のタイミングよりも時間的に直前の第2のタイミングの第2の画像を蓄積し、対応点探索部33は、第1の解像度の第2の画像の各画素と第1の解像度の第1の画像の各画素との対応点を探索し、対応点動きベクトルバッファ34に格納し、格納された第1の解像度の対応点情報に基づいて、第1の解像度よりも高解像度の第2の解像度の第2の画像の各画素と第2の解像度の第1の画像の各画素との対応点を探索し、順次繰り返す。本発明は、撮像装置に適用することができる。
【選択図】図4A motion vector is obtained stably at high speed.
A multi-resolution converting unit converts an input image into an image having a plurality of resolutions, and a multi-resolution image buffer stores a first image at a first timing converted to the plurality of resolutions. Then, the multi-resolution image buffer 32-2 accumulates the second image at the second timing immediately before the first timing converted into a plurality of resolutions, and the corresponding point search unit 33 A corresponding point between each pixel of the second image having the first resolution and each pixel of the first image having the first resolution is searched for, stored in the corresponding point motion vector buffer 34, and stored in the first resolution. Based on the corresponding point information, a corresponding point between each pixel of the second image having the second resolution higher than the first resolution and each pixel of the first image having the second resolution is searched, and sequentially repeat. The present invention can be applied to an imaging apparatus.
[Selection] Figure 4
Description
本発明は、画像処理装置および方法、プログラム、並びにプログラム格納媒体に関し、特に、動きベクトルを画素単位で高速に、かつ、安定して抽出できるようにした画像処理装置および方法、プログラム、並びにプログラム格納媒体に関する。 The present invention relates to an image processing apparatus and method, a program, and a program storage medium, and in particular, an image processing apparatus and method, a program, and a program storage capable of stably and stably extracting a motion vector in units of pixels. It relates to the medium.
動画像中の物体の動きを求める手段や画像間の対応を求める手段としてブロックマッチングがある。 There is block matching as means for obtaining the motion of an object in a moving image and means for obtaining a correspondence between images.
これは、例えば、図1で示されるように、再生されるタイミングが連続した2つの画像PA,PB(画像PAが再生された後に画像PBが再生される)が与えられたとき、画像PA上のある画素p1(または画像領域)が画像PB上の、どの画素に(またはどの画像領域に)「対応」するかを、画素p1近傍の画素からならるブロックで検索し、対応位置の画素p2を特定する処理である。尚、図1においては、Sbは、マッチングブロックのサイズSb×Sbの1辺の画素数を示したものであり、Ssは、マッチングブロックを移動させる範囲、すなわち、探索範囲を示す探索範囲Ss×Ssの1辺の画素数を示したものである。 For example, as shown in FIG. 1, when two images PA and PB having continuous reproduction timings (image PB is reproduced after image PA is reproduced) are given on image PA. A pixel p1 (or an image area) having a pixel that corresponds to (or to which image area) on the image PB is searched for in a block consisting of pixels near the pixel p1, and the pixel p2 at the corresponding position is searched. Is the process of identifying In FIG. 1, Sb indicates the number of pixels on one side of the matching block size Sb × Sb, and Ss indicates a range in which the matching block is moved, that is, a search range Ss × indicating the search range. The number of pixels on one side of Ss is shown.
また、図2で示されるように、特に、動画において時間的に連続したフレーム画像B2,B1,CF,F1,F2とする場合、上述の「対応」は、フレーム画像CF上の画素p1およびフレーム画像F1上の画素p2に基づいて、v1=p2-p1を求めれば画素p1を起点とする二次元の動きベクトルv1という形で表現することができる。尚、図2においては、フレームB2,B1,CF,F1,F2の順序で時間方向に配置されており、実線で囲まれ、水平方向および垂直方向に点線が入ったマスが画素を示しており、特に各マスの点線の交点部分が画素中心を示している。 Further, as shown in FIG. 2, in particular, in the case where the frame images B2, B1, CF, F1, and F2 that are temporally continuous in the moving image are used, the above “correspondence” means the pixel p1 and the frame on the frame image CF. If v1 = p2-p1 is obtained based on the pixel p2 on the image F1, it can be expressed in the form of a two-dimensional motion vector v1 starting from the pixel p1. In FIG. 2, the frames are arranged in the time direction in the order of frames B2, B1, CF, F1, and F2, surrounded by solid lines, and squares with dotted lines in the horizontal and vertical directions indicate pixels. In particular, the intersection of dotted lines of each square indicates the pixel center.
ブロックマッチングは画像処理の幅広い分野で重要な基礎技術として利用されており、例えば、高ダイナミックレンジ化、ノイズ削減、手ぶれ防止、フレーム挿入などに応用されている(特許文献1参照)。 Block matching is used as an important basic technology in a wide range of image processing, and is applied to, for example, high dynamic range, noise reduction, camera shake prevention, frame insertion, and the like (see Patent Document 1).
ところで、近年の画像処理技術は、ブロックサイズを小さくし大局的なオブジェクトの構造および動特性を配慮することにより、さらなる圧縮率の向上を狙う傾向にある。また、撮像素子の解像度が上がったため、データ量が増え、フレームあたりの処理時間を下げることが一層困難になってきている。ここで、画素単位でブロックマッチングに必要な計算量を考えてみる。 By the way, recent image processing techniques tend to aim at further improvement of the compression ratio by reducing the block size and taking into consideration the structure and dynamic characteristics of the global object. Further, since the resolution of the image pickup device has increased, the amount of data has increased and it has become more difficult to reduce the processing time per frame. Here, consider the amount of calculation required for block matching in pixel units.
すなわち、図1で示されるように参照画像PAと目的画像PBの2枚からオプティカルフローを求める。 That is, as shown in FIG. 1, an optical flow is obtained from two images, a reference image PA and a target image PB.
ここで、画像解像度は、画像PA,PBともに、W×H = W×(Ar×W)(Arはアスペクト比)であり、マッチングブロックサイズは、Sb×Sb=(Kb×W)×(Kb×W)であり、ブロック可動範囲(探索範囲)はSs×Ss=(Ks×W)×(Ks×W)であり、Sb<<MIN(W,H)かつSS<<MIN(W,H)であり、ブロックマッチングにおけるブロック間のマッチングの評価は、e(p1,p2)=Σ(dyが−Sb/2乃至Sb/2)Σ(dxが−Sb/2乃至Sb/2)Diff(C1(x1+dx,y1+dy),C(x2+dx,y2+dy))であるものとする。尚、MIN(W,H)は、WまたはHのいずれか小さい方の値を取る関数を示している。 Here, the image resolution is W × H = W × (Ar × W) (Ar is the aspect ratio) for both images PA and PB, and the matching block size is Sb × Sb = (Kb × W) × (Kb × W), the block movable range (search range) is Ss × Ss = (Ks × W) × (Ks × W), and Sb << MIN (W, H) and SS << MIN (W, H ), And the evaluation of matching between blocks in block matching is e (p1, p2) = Σ (dy is −Sb / 2 to Sb / 2) Σ (dx is −Sb / 2 to Sb / 2) Diff ( C1 (x1 + dx, y1 + dy), C (x2 + dx, y2 + dy)). MIN (W, H) represents a function that takes a smaller value of W or H.
さらに、C(x,y)は座標p={x,y}における輝度値を表す。またDiff(C,C’)は輝度値CとC’の非類似度を表す関数で、たとえば二乗誤差などがよく使われる。また各添字はフレーム番号に対応する。 Further, C (x, y) represents a luminance value at the coordinates p = {x, y}. Diff (C, C ′) is a function representing the dissimilarity between the luminance values C and C ′, and for example, a square error is often used. Each subscript corresponds to a frame number.
さらに、Tcは、1画素同士のマッチング計算f(C,C’)にかかる時間(データ転送も含む)であるものとする。 Further, Tc is the time (including data transfer) required for the matching calculation f (C, C ′) between the pixels.
これらの条件のもとで、全探索をかける場合、計算時間Tは、T=W×H×Sb×Sb×Ss×Ss×Tc=Ar×Ks^2×Kb^2×W^6×Tcと概算でき、Wの6乗に比例する計算量となる。 When performing a full search under these conditions, the calculation time T is T = W × H × Sb × Sb × Ss × Ss × Tc = Ar × Ks ^ 2 × Kb ^ 2 × W ^ 6 × Tc The amount of calculation is proportional to the sixth power of W.
例えば、マッチングブロックサイズを固定したとしてもWの4乗に比例する計算量である。これではSD(Standard Definition)画質の6倍の画素数を持つHD(High Definition)画質の動画を処理すると最悪の場合、(√6)^6=216倍(「^」はべき乗を示している)の時間がかかることになる。さらに、昨今はカメラの撮像素子の画素サイズが小さくなった分、相対的に低感度となり、その影響で暗ノイズが増える傾向にある。そのため暗い環境で撮影された画像では、ブロックマッチングが破綻し、ロバスト性を低下させる可能性が高い。また、さらに高フレームレート化し、より動特性の高い画像を得ようとすると、フレームあたりの光量が減り、必然的に暗ノイズが増え、一層ロバスト性を低下させることとなり、さらにデータ量が増大することにより処理時間が一層増す。結果として、処理時間を短縮させることは、一層困難なものとなりつつある。 For example, even if the matching block size is fixed, the amount of calculation is proportional to the fourth power of W. In this case, when processing an HD (High Definition) image quality with 6 times the number of pixels of SD (Standard Definition) image quality, (√6) ^ 6 = 216 times ("^" indicates a power) ). Furthermore, recently, as the pixel size of the image sensor of the camera is reduced, the sensitivity is relatively low, and dark noise tends to increase due to the influence. Therefore, in an image taken in a dark environment, there is a high possibility that block matching breaks down and the robustness is lowered. In addition, when trying to obtain an image with higher frame rate and higher dynamic characteristics, the amount of light per frame decreases, inevitably dark noise increases, further reducing robustness, and the amount of data further increases. This further increases the processing time. As a result, reducing processing time is becoming more difficult.
そこで、これらの問題を解決するため、従来においては、専用計算ハードウェアを使用したり、探索範囲を限定した計算(Lucas-Kanade法やエピポーラの使用)を行ったり、上述の手法で一部の代表点だけ計算した後で必要な部分を補間するようにしたり、入力画像を多重解像度化して計算したり、入力画像を十分に高画質化した後でマッチングを計算したり、さらには、撮像素子を改良するといった方法のいずれか1つを用いるか、あるいは複数に組み合わせることで解決を図る試みが続けられてきた。 Therefore, in order to solve these problems, in the past, dedicated calculation hardware was used, calculation with a limited search range (Lucas-Kanade method or use of epipolar), or some of the above methods. After calculating only the representative points, the necessary part is interpolated, the input image is calculated with multiple resolutions, the matching is calculated after the input image has been made sufficiently high in quality, and the image sensor Attempts have been made to try to solve the problem by using any one of the methods such as improving or by combining a plurality of methods.
これらの試行の一つとして、与えられた画像から徐々に解像度を低くしていった画像群、いわゆる画像ピラミッドを使う方法が提案されている。画像ピラミッドは、入力画像を低解像度化する処理が繰り返されることで生成される複数の解像度の画像群である。入力画像を低解像度化する場合、複数の画素を平均化する平均化フィルタのようなローパスフィルタが用いられ、低解像度レベルの画像から処理を開始し、徐々に高解像度レベルの画像に切り替えながら画素間の対応の計算を高精度化してゆく。この方法が用いられることによりマッチングブロックサイズと探索範囲とは、大幅に小さくすることが可能となり、結果として、処理の高速化が可能になる。例えば1280×960の画像を倍数1/4で低解像度化して、7種類の画像から構成される画像ピラミッドを考える。 As one of these trials, there has been proposed a method using an image group in which resolution is gradually lowered from a given image, so-called image pyramid. The image pyramid is an image group having a plurality of resolutions generated by repeating the process of reducing the resolution of an input image. When reducing the resolution of an input image, a low-pass filter such as an averaging filter that averages multiple pixels is used, and processing starts from an image at a low resolution level, and gradually switches to an image at a high resolution level. We will improve the calculation of correspondence between the two. By using this method, the matching block size and the search range can be significantly reduced, and as a result, the processing speed can be increased. For example, consider an image pyramid composed of seven types of images by reducing the resolution of a 1280 × 960 image by a multiple of 1/4.
すなわち、解像度レベル(0)では解像度を1280×960とし、解像度レベル(0)相当の探索範囲Ss×Ssを196×196とし、解像度レベル(0)相当のマッチングブロックサイズSb×Sbを196×196とすると、検査回数は、1280×960×196^4となる。 That is, at the resolution level (0), the resolution is 1280 × 960, the search range Ss × Ss corresponding to the resolution level (0) is 196 × 196, and the matching block size Sb × Sb corresponding to the resolution level (0) is 196 × 196. Then, the number of inspections is 1280 × 960 × 196 ^ 4.
これに対して、解像度レベル(0)では解像度を640×480となり、解像度レベル(0)相当の探索範囲Ss×Ssは96×96となり、解像度レベル(0)相当のマッチングブロックサイズSb×Sbは96×96となるので、検査回数は、解像度レベル(0)での1/2^4倍となる。 On the other hand, at the resolution level (0), the resolution is 640 × 480, the search range Ss × Ss corresponding to the resolution level (0) is 96 × 96, and the matching block size Sb × Sb corresponding to the resolution level (0) is Since 96 × 96, the number of inspections is 1/2 ^ 4 times the resolution level (0).
また、解像度レベル(2)では解像度を320×240となり、解像度レベル(0)相当の探索範囲Ss×Ssは48×48となり、解像度レベル(0)相当のマッチングブロックサイズSb×Sbは48×48となるので、検査回数は、解像度レベル(0)での1/2^8倍となる。 The resolution level (2) is 320 × 240, the search range Ss × Ss corresponding to the resolution level (0) is 48 × 48, and the matching block size Sb × Sb corresponding to the resolution level (0) is 48 × 48. Therefore, the number of inspections is 1/2 ^ 8 times the resolution level (0).
さらに、解像度レベル(3)では解像度を160×120となり、解像度レベル(0)相当の探索範囲Ss×Ssは24×24となり、解像度レベル(0)相当のマッチングブロックサイズSb×Sbは24×24となるので、検査回数は、解像度レベル(0)での1/2^12倍となる。 Furthermore, at the resolution level (3), the resolution is 160 × 120, the search range Ss × Ss corresponding to the resolution level (0) is 24 × 24, and the matching block size Sb × Sb corresponding to the resolution level (0) is 24 × 24. Therefore, the number of inspections is 1/2 ^ 12 times the resolution level (0).
また、同様に、解像度レベル(4)では解像度を80×60となり、解像度レベル(0)相当の探索範囲Ss×Ssは12×12となり、解像度レベル(0)相当のマッチングブロックサイズSb×Sbは12×12となるので、検査回数は、解像度レベル(0)での1/2^16倍となる。 Similarly, at the resolution level (4), the resolution is 80 × 60, the search range Ss × Ss corresponding to the resolution level (0) is 12 × 12, and the matching block size Sb × Sb corresponding to the resolution level (0) is Since it is 12 × 12, the number of inspections is 1/2 ^ 16 times the resolution level (0).
さらに、同様に、解像度レベル(0)では解像度を40×30となり、解像度レベル(0)相当の探索範囲Ss×Ssは6×6となり、解像度レベル(0)相当のマッチングブロックサイズSb×Sbは6×6となるので、検査回数は、解像度レベル(0)での1/2^20倍となる。 Similarly, at the resolution level (0), the resolution is 40 × 30, the search range Ss × Ss corresponding to the resolution level (0) is 6 × 6, and the matching block size Sb × Sb corresponding to the resolution level (0) is Since 6 × 6, the number of inspections is 1/2 ^ 20 times the resolution level (0).
また、同様に、解像度レベル(6)では解像度を20×15となり、解像度レベル(0)相当の探索範囲Ss×Ssは3×3となり、解像度レベル(0)相当のマッチングブロックサイズSb×Sbは3×3となるので、検査回数は、解像度レベル(0)での1/2^24倍(=20×15×3^4)となる。 Similarly, at the resolution level (6), the resolution is 20 × 15, the search range Ss × Ss corresponding to the resolution level (0) is 3 × 3, and the matching block size Sb × Sb corresponding to the resolution level (0) is Since 3 × 3, the number of inspections is 1/2 ^ 24 times (= 20 × 15 × 3 ^ 4) at the resolution level (0).
このとき解像度レベル(0)で大きなSsとSbを設定したとしても解像度レベル(6)では相対的に非常に小さなW,H,Ss,Sbでよいため、結果的に計算量を小さくすることが可能となる。より具体的には、例えば、Ss=Sb=196としても、解像度レベル(6)では高々3×3画素の検索範囲でしかも高々3×3画素のマッチングブロックを用いた処理を高々20×15点で調べればよい。 At this time, even if a large Ss and Sb are set at the resolution level (0), relatively small W, H, Ss, and Sb are sufficient at the resolution level (6). It becomes possible. More specifically, for example, even when Ss = Sb = 196, processing using a matching block of at most 3 × 3 pixels and at most 3 × 3 pixels at resolution level (6) is at most 20 × 15 points. You can check with.
また、低解像度でのオブジェクト構造概形からスタートして徐々に詳細化してゆくので、動きベクトル同士の関係構造を崩さず、動力学的にそれぞれの画像中の2次元オブジェクトのある部位同士が構造上の同一部位であるという意味での対応を求めることが可能である。 In addition, since it starts with the outline of the object structure at low resolution and gradually refines, the relationship structure between the motion vectors is not destroyed, and the two-dimensional object parts in each image are structured dynamically. It is possible to determine the correspondence in the sense that they are the same part above.
しかしながら、下位レベルで求めた対応を適切に上位レベルに反映させることができないと、安定的に精度を向上させていくことができない恐れがある。 However, if the response obtained at the lower level cannot be appropriately reflected on the upper level, the accuracy may not be stably improved.
また、どの応用においても低照度などの悪条件下での撮像映像への対処として、十分に高画質化した後にブロックマッチングを実行することが必須となる。しかしながら、画質そのものを向上させるためにブロックマッチングを実施するのであって、ブロックマッチングを行うために画質向上を事前にするということでは本末転倒になってしまうことがあった。また、単純な撮像素子の改良では膨大なコストがかかる上、すでに存在する画像に対処することはできない恐れがあった。 In any application, it is indispensable to execute block matching after sufficiently improving the image quality in order to cope with captured images under bad conditions such as low illuminance. However, block matching is performed in order to improve the image quality itself, and if the image quality improvement is performed in advance in order to perform block matching, it may be overturned. In addition, improvement of a simple image pickup device requires enormous costs and may not be able to deal with an already existing image.
結果として、いずれの方法でも確立したロバストな方法がない上、コスト高となる恐れがあった。 As a result, there is no robust method established by any method, and there is a risk that the cost is increased.
本発明はこのような状況に鑑みてなされたものであり、特に、ノイズ耐性を維持しつつ、高速で、かつ、高精度に動きベクトルを検出できるようにするものである。 The present invention has been made in view of such a situation, and in particular, enables motion vectors to be detected at high speed and with high accuracy while maintaining noise resistance.
本発明の一側面の画像処理装置は、入力画像を複数の解像度の画像に変換する多重解像度化手段と、前記多重解像度化手段により複数の解像度に変換された第1のタイミングの第1の画像を蓄積する第1の蓄積手段と、前記多重解像度化手段により複数の解像度に変換された前記第1のタイミングよりも時間的に直前の第2のタイミングの第2の画像を蓄積する第2の蓄積手段と、第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点を探索する対応点探索手段と、前記対応点探索手段により探索された前記第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点の情報を格納する格納手段とを含み、前記対応点探索手段は、前記格納手段に格納された前記第1の解像度における対応点の情報に基づいて、前記第1の解像度よりも高解像度の第2の解像度における第2の画像の画素と前記第2の解像度における前記第1の画像の画素との対応点を探索し、順次繰り返す。 An image processing apparatus according to an aspect of the present invention includes a multi-resolution unit that converts an input image into an image having a plurality of resolutions, and a first image that is converted into a plurality of resolutions by the multi-resolution unit. And a second storage unit for storing a second image at a second timing immediately before the first timing converted to a plurality of resolutions by the multi-resolution unit. Search by means of storage means, corresponding point search means for searching for corresponding points between the pixels of the second image at the first resolution and the pixels of the first image at the first resolution, and the corresponding point searching means Storage means for storing information of corresponding points between the pixels of the second image at the first resolution and the pixels of the first image at the first resolution, and the corresponding point search means The storage hand Based on the corresponding point information stored in the first resolution, the pixels of the second image at the second resolution higher than the first resolution and the first image at the second resolution. Search for corresponding points with the pixels of the image and repeat sequentially.
前記対応点探索手段には、前記第1の解像度における第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点の評価値をブロックマッチングにより求める評価値計算手段をさらに含ませるようにすることができ、前記評価値計算手段により計算された評価値が最小となる画素を対応点として探索させるようにすることができる。 The corresponding point search means includes an evaluation value calculation means for obtaining an evaluation value of a corresponding point between the pixel of the second image at the first resolution and the pixel of the first image at the first resolution by block matching. Can be further included, and a pixel having the smallest evaluation value calculated by the evaluation value calculating means can be searched as a corresponding point.
前記評価値計算手段には、前記ブロックマッチングのブロック内の注目画素からの距離に応じた重み付け評価を用いて、前記第1の解像度の第2の画像の各画素と前記第1の解像度の第1の画像の各画素との対応点の評価値を求めるようにさせることができる。 The evaluation value calculation means uses each of the pixels of the second image of the first resolution and the first resolution of the first resolution using weighted evaluation according to the distance from the target pixel in the block matching block. An evaluation value of a corresponding point with each pixel of one image can be obtained.
前記評価値計算手段には、前記ブロックマッチングのブロック間の対応画素間の画素値の差に応じた重み付け評価を用いて、前記第1の解像度の第2の画像の各画素と前記第1の解像度の第1の画像の各画素との対応点の評価値を求めるようにさせることができる。 The evaluation value calculation means uses each pixel of the second image of the first resolution and the first image by using a weighted evaluation according to a difference in pixel value between corresponding pixels between the blocks of the block matching. The evaluation value of the corresponding point with each pixel of the first image of resolution can be obtained.
所定の解像度の画像における対応点の近傍にある5個の画素に対する5個の評価値を計算し、前記5個の評価値に基づいた近似関数の係数により、前記対応点を求めるフィッティング計算手段をさらに含ませるようにすることができる。 Fitting calculation means for calculating five evaluation values for five pixels in the vicinity of corresponding points in an image of a predetermined resolution and obtaining the corresponding points by using an approximate function coefficient based on the five evaluation values. Further, it can be included.
所定の解像度の画像における対応点の近傍にある9個の画素に対する9個の評価値を計算し、前記9個の評価値に基づいた近似関数の係数により、前記対応点を求めるフィッティング計算手段をさらに含ませるようにすることができる。 Fitting calculation means for calculating nine evaluation values for nine pixels in the vicinity of corresponding points in an image of a predetermined resolution and obtaining the corresponding points by using coefficients of an approximation function based on the nine evaluation values. Further, it can be included.
前記多重解像度化手段には、前記入力画像を、前記入力画像よりも低解像度の複数の解像度の画像、または、前記入力画像よりも高解像度の複数の解像度の画像に変換させるようにすることができる。 The multi-resolution processing unit may convert the input image into a plurality of resolution images having a resolution lower than that of the input image or a plurality of resolution images having a resolution higher than that of the input image. it can.
本発明の一側面の画像処理方法は、入力画像を複数の解像度の画像に変換する多重解像度化ステップと、前記多重解像度化ステップの処理により複数の解像度に変換された第1のタイミングの第1の画像を蓄積する第1の蓄積ステップと、前記多重解像度化ステップの処理により複数の解像度に変換された前記第1のタイミングよりも時間的に直前の第2のタイミングの第2の画像を蓄積する第2の蓄積ステップと、第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点を探索する対応点探索ステップと、前記対応点探索ステップの処理により探索された前記第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点の情報を格納する格納ステップとを含み、前記対応点探索ステップの処理は、前記格納ステップの処理で格納された前記第1の解像度における対応点の情報に基づいて、前記第1の解像度よりも高解像度の第2の解像度における第2の画像の画素と前記第2の解像度における前記第1の画像の画素との対応点を探索し、順次繰り返す。 An image processing method according to an aspect of the present invention includes a multi-resolution step of converting an input image into an image having a plurality of resolutions, and a first timing converted to a plurality of resolutions by the processing of the multi-resolution step. A first accumulation step for accumulating the first image, and a second image at a second timing immediately before the first timing converted to a plurality of resolutions by the processing of the multi-resolution step. A second accumulation step, a corresponding point search step of searching for a corresponding point between the pixel of the second image at the first resolution and the pixel of the first image at the first resolution, and the corresponding point A storage for storing information of corresponding points between the pixel of the second image at the first resolution and the pixel of the first image at the first resolution searched by the processing of the search step The corresponding point search step includes a second resolution higher than the first resolution based on the corresponding point information stored in the storage step. Corresponding points between the pixels of the second image at the resolution and the pixels of the first image at the second resolution are searched and repeated sequentially.
本発明の一側面のプログラムは、入力画像を複数の解像度の画像に変換する多重解像度化ステップと、前記多重解像度化ステップの処理により複数の解像度に変換された第1のタイミングの第1の画像を蓄積する第1の蓄積ステップと、前記多重解像度化ステップの処理により複数の解像度に変換された前記第1のタイミングよりも時間的に直前の第2のタイミングの第2の画像を蓄積する第2の蓄積ステップと、第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点を探索する対応点探索ステップと、前記対応点探索ステップの処理により探索された前記第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点の情報を格納する格納ステップとを含み、前記対応点探索ステップの処理は、前記格納ステップの処理で格納された前記第1の解像度における対応点の情報に基づいて、前記第1の解像度よりも高解像度の第2の解像度における第2の画像の画素と前記第2の解像度における前記第1の画像の画素との対応点を探索し、順次繰り返す。 A program according to one aspect of the present invention includes a multiresolution step of converting an input image into an image of a plurality of resolutions, and a first image at a first timing converted into a plurality of resolutions by the processing of the multiresolution step. And a second image at a second timing immediately before the first timing converted to a plurality of resolutions by the processing of the multi-resolution step. 2, a corresponding point search step for searching for a corresponding point between the pixel of the second image at the first resolution and the pixel of the first image at the first resolution, and the corresponding point searching step A storage space for storing information on corresponding points of the pixel of the second image at the first resolution and the pixel of the first image at the first resolution searched by the processing of The corresponding point search step processing includes a second resolution higher than the first resolution based on the corresponding point information at the first resolution stored in the storage step processing. The corresponding points of the pixels of the second image at the resolution of the first image and the pixels of the first image at the second resolution are searched and repeated sequentially.
本発明の一側面のプログラム格納媒体は、請求項9に記載のプログラムが格納されている。
A program storage medium according to one aspect of the present invention stores the program according to
本発明の画像処理装置は、独立した装置であっても良いし、画像処理を行うブロックであっても良い。 The image processing apparatus of the present invention may be an independent apparatus or a block that performs image processing.
本発明の一側面によれば、動きベクトルを画素単位で、高速に、かつ、安定して抽出することが可能となる。 According to one aspect of the present invention, a motion vector can be extracted in a pixel unit at high speed and stably.
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。 Embodiments of the present invention will be described below. The correspondence relationship between the invention described in this specification and the embodiments of the invention is exemplified as follows. This description is intended to confirm that the embodiments supporting the invention described in this specification are described in this specification. Therefore, although there is an embodiment which is described in the embodiment of the invention but is not described here as corresponding to the invention, it means that the embodiment is not It does not mean that it does not correspond to the invention. Conversely, even if an embodiment is described herein as corresponding to an invention, that means that the embodiment does not correspond to an invention other than the invention. Absent.
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。 Further, this description does not mean all the inventions described in this specification. In other words, this description is for the invention described in the present specification, which is not claimed in this application, that is, for the invention that will be applied for in the future or that will appear and be added by amendment. It does not deny existence.
即ち、本発明の一側面の画像処理装置は、入力画像を複数の解像度の画像に変換する多重解像度化手段(例えば、図4の多重解像度化部31)と、前記多重解像度化手段により複数の解像度に変換された第1のタイミングの第1の画像を蓄積する第1の蓄積手段(例えば、図4の多重解像度画像バッファ32−1)と、前記多重解像度化手段により複数の解像度に変換された前記第1のタイミングよりも時間的に直前の第2のタイミングの第2の画像を蓄積する第2の蓄積手段(例えば、図4の多重解像度画像バッファ32−2)と、第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点を探索する対応点探索手段(例えば、図4の対応点探索部33)と、前記対応点探索手段により探索された前記第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点の情報を格納する格納手段(例えば、図4の対応点動きベクトルバッファ34)とを含み、前記対応点探索手段は、前記格納手段に格納された前記第1の解像度における対応点の情報に基づいて、前記第1の解像度よりも高解像度の第2の解像度における第2の画像の画素と前記第2の解像度における前記第1の画像の画素との対応点を探索し、順次繰り返す。
That is, an image processing apparatus according to an aspect of the present invention includes a multi-resolution converting unit (for example, the multi-resolution converting unit 31 in FIG. 4) that converts an input image into a plurality of resolution images, and a plurality of resolutions by the multi-resolution converting unit. The first storage means (for example, the multi-resolution image buffer 32-1 in FIG. 4) for storing the first image of the first timing converted into the resolution is converted into a plurality of resolutions by the multi-resolution converting means. A second accumulator (for example, the multi-resolution image buffer 32-2 in FIG. 4) that accumulates the second image at the second timing immediately before the first timing, and the first resolution. Corresponding point search means (for example, corresponding
前記対応点探索手段には、前記第1の解像度における第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点の評価値をブロックマッチングにより求める評価値計算手段(例えば、図4の評価計算部33c)をさらに含ませるようにすることができ、前記評価値計算手段により計算された評価値が最小となる画素を対応点として探索させるようにすることができる。
The corresponding point search means includes an evaluation value calculation means for obtaining an evaluation value of a corresponding point between the pixel of the second image at the first resolution and the pixel of the first image at the first resolution by block matching. (For example, the
前記評価値計算手段(例えば、図4の評価計算部33c)には、前記ブロックマッチングのブロック内の注目画素からの距離に応じた重み付け評価を用いて、前記第1の解像度の第2の画像の各画素と前記第1の解像度の第1の画像の各画素との対応点の評価値を求めるようにさせることができる。
The evaluation value calculation means (for example, the
前記評価値計算手段(例えば、図4の評価計算部33c)には、前記ブロックマッチングのブロック間の対応画素間の画素値の差に応じた重み付け評価を用いて、前記第1の解像度の第2の画像の各画素と前記第1の解像度の第1の画像の各画素との対応点の評価値を求めるようにさせることができる。
The evaluation value calculation means (for example, the
所定の解像度の画像における対応点の近傍にある5個の画素に対する5個の評価値を計算し、前記5個の評価値に基づいた近似関数の係数により、前記対応点を求めるフィッティング計算手段(例えば、図14のフィッティング計算部61)をさらに含ませるようにすることができる。 Fitting calculation means for calculating five evaluation values for five pixels in the vicinity of corresponding points in an image of a predetermined resolution, and obtaining the corresponding points using coefficients of an approximation function based on the five evaluation values. For example, the fitting calculation unit 61) of FIG. 14 can be further included.
所定の解像度の画像における対応点の近傍にある9個の画素に対する9個の評価値を計算し、前記9個の評価値に基づいた近似関数の係数により、前記対応点を求めるフィッティング計算手段(例えば、図14のフィッティング計算部61)をさらに含ませるようにすることができる。 Nine evaluation values for nine pixels in the vicinity of corresponding points in an image of a predetermined resolution are calculated, and fitting calculation means for calculating the corresponding points using coefficients of an approximation function based on the nine evaluation values ( For example, the fitting calculation unit 61) of FIG. 14 can be further included.
前記多重解像度化手段(例えば、図4の多重解像度化部31)には、前記入力画像を、前記入力画像よりも低解像度の複数の解像度の画像(例えば、図4の多重解像度化部31の低解像度化フィルタ31a)、または、前記入力画像よりも高解像度の複数の解像度の画像に変換させる(例えば、図4の多重解像度化部31の高解像度化フィルタ31b)ようにすることができる。
In the multi-resolution unit (for example, the multi-resolution unit 31 in FIG. 4), the input image is converted into a plurality of resolution images having a lower resolution than the input image (for example, the multi-resolution unit 31 in FIG. 4). The
本発明の一側面の画像処理方法およびプログラムは、入力画像を複数の解像度の画像に変換する多重解像度化ステップ(例えば,図6のステップS22,S23)と、前記多重解像度化ステップの処理により複数の解像度に変換された第1のタイミングの第1の画像を蓄積する第1の蓄積ステップ(例えば,図6のステップS22,S23)と、前記多重解像度化ステップの処理により複数の解像度に変換された前記第1のタイミングよりも時間的に直前の第2のタイミングの第2の画像を蓄積する第2の蓄積ステップ(例えば,図6のステップS21)と、第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点を探索する対応点探索ステップと、前記対応点探索ステップ(例えば,図6のステップS25)の処理により探索された前記第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点の情報を格納する格納ステップ(例えば,図6のステップS26)とを含み、前記対応点探索ステップの処理は、前記格納ステップの処理で格納された前記第1の解像度における対応点の情報に基づいて、前記第1の解像度よりも高解像度の第2の解像度における第2の画像の画素と前記第2の解像度における前記第1の画像の画素との対応点を探索し、順次繰り返す。 An image processing method and a program according to an aspect of the present invention include a multi-resolution step (for example, steps S22 and S23 in FIG. 6) for converting an input image into an image having a plurality of resolutions, and a plurality of processing steps according to the multi-resolution step. A first accumulation step (for example, steps S22 and S23 in FIG. 6) for accumulating the first image at the first timing converted to the resolution of the first resolution and the multi-resolution conversion process are performed to convert the first image into a plurality of resolutions. A second accumulation step (for example, step S21 in FIG. 6) for accumulating the second image at the second timing immediately before the first timing, and the second resolution at the first resolution. A corresponding point search step of searching for a corresponding point between the pixel of the image and the pixel of the first image at the first resolution; and the corresponding point searching step (for example, FIG. 6). A storing step (for example, storing information of corresponding points between the pixel of the second image at the first resolution and the pixel of the first image at the first resolution searched by the processing of step S25) Step S26) in FIG. 6 is performed, and the processing of the corresponding point search step is higher than the first resolution based on the information of the corresponding point in the first resolution stored in the processing of the storage step. Corresponding points between the pixels of the second image at the second resolution and the pixels of the first image at the second resolution are searched for and repeated sequentially.
図3を参照して、本発明を適用した手ぶれ補正処理装置の一実施の形態の構成について説明する。 With reference to FIG. 3, the configuration of an embodiment of a camera shake correction processing apparatus to which the present invention is applied will be described.
図3の手ぶれ補正装置1は、画像を撮像する際、手ぶれにより発生する画像のちらつきを、動きベクトルに応じて補正するものである。
The camera
画像バッファ11は、撮像された画像を一時的に蓄積し、動きベクトル検出部12および手ぶれ補正部14に適宜供給する。
The
動きベクトル検出部12は、画像バッファ11に蓄積された画像の各画素について動きベクトルを検出し、動きベクトルバッファ13に蓄積させる。
The motion
手ぶれ補正部14は、画像バッファ11に蓄積されている画像を読み出し、動きベクトルバッファ13に蓄積されている動きベクトルに応じて、手ぶれを補正して出力する。
The camera
次に、図4を参照して、動きベクトル検出部12の構成例について説明する。
Next, a configuration example of the motion
多重解像度化部31は、画像バッファ11に蓄積されている画像を低解像度化フィルタ31aおよび高解像度化フィルタ31bにより複数の解像度の画像に変換し、多重解像度画像バッファ32−1に供給する。低解像度化フィルタ31aは、入力画像を水平方向および垂直方向に隣接する画素を平均化するなどして、低解像度化する処理を所定回数繰り返し、順次低解像度化した画像に変換する。また、高解像度化フィルタ31bは、入力画像を水平方向および垂直方向に隣接する画素間の画素を補間するなどして、高解像度化する処理を所定回数繰り返し、順次高解像度化した画像に変換する。
The multi-resolution unit 31 converts the image stored in the
多重解像度画像バッファ32−1は、入力画像を含む、入力画像を複数の解像度の画像に変換した画像を一時的に記憶し、次の入力画像について入力されるとき、記憶している複数の解像度の画像を多重解像度画像バッファ32−2に転送する。すなわち、多重解像度画像バッファ32−1,32−2は、時間的に連続する2枚の入力画像について、それぞれ複数の多重解像度化された画像を一時的に記憶している。尚、多重解像度画像バッファ32−1,32−2は、新たな入力画像の多重解像度化画像が供給されてくると、それまでに記憶していた画像を消去し、新たな入力画像の多重解像度化画像を記憶する。 The multi-resolution image buffer 32-1 temporarily stores an image obtained by converting an input image into an image having a plurality of resolutions including the input image, and stores the plurality of resolutions when the next input image is input. Are transferred to the multi-resolution image buffer 32-2. That is, the multi-resolution image buffers 32-1 and 32-2 temporarily store a plurality of multi-resolution images for two temporally continuous input images. When a multi-resolution image of a new input image is supplied to the multi-resolution image buffers 32-1 and 32-2, the multi-resolution image buffer 32-1, 2-2 erases the image stored so far and multi-resolution of the new input image. The converted image is stored.
対応点探索部33は、多重解像度画像バッファ32−1,32−2に記憶されている最低解像度の画像から各画素について対応点を探索する。すなわち、対応点探索部33は、多重解像度画像バッファ32−2に記憶されている直前の画像の画素における動きベクトルの終点となる対応点を、多重解像度画像バッファ32−1に記憶されている画像の決められた探索範囲内を探索することにより決定し、対応点動きベクトルバッファ34に格納する。
The corresponding
マッチングブロック設定部33aは、多重解像度画像のうち、最低解像度の画像については、直前の画像の注目画素に対応するマッチングブロックを構成する画素を抽出すると供に、今現在の画像における各画素について、探索範囲となるマッチングブロックを構成する画素を抽出する。
The matching
また、マッチングブロック設定部33aは、多重解像度画像のうち、最低解像度以外の画像については、所定の解像度の直前の画像における注目画素について、初期値動きベクトルバッファ36に格納されている所定の解像度よりも解像度レベルが1レベル低い画像における対応点(動きベクトルの終点)の情報に基づいて、初期対応点決定部33eにより決定された初期対応点を基準として、探索範囲内の画素とマッチングブロックを構成する画素、すなわち、直前の画像における注目画素と、その近傍の画素を抽出すると供に、探索範囲設定部33bにおいて注目画素に対応して設定される現在の画像上の探索範囲内でマッチングブロックを移動させて、順次マッチングブロックを構成する画素を抽出する。
Further, the matching
評価計算部33cは、マッチングブロック設定部33aより供給されてくる直前の画像と、現在の画像とのそれぞれのマッチングブロックを構成する画素により評価値を計算する。
The
対応点決定部33dは、評価計算部33cにより計算された評価値のうち、最も小さな評価値をとる現在の画像の画素、すなわち、直前の画像と現在の画像との間で最も類似しているとみなされる画素を、注目画素の対応点(注目画素の動きベクトルの終点)として対応点動きベクトルバッファ34に格納する。また、対応点決定部33dは、最も解像度の高い画像(または、動きベクトルを求めようとする所定の解像度の画像)における対応点の情報を動きベクトル生成部37に供給する。
The corresponding
動きベクトル出力判定部35は、対応点動きベクトルバッファ34に新たに対応点の情報が蓄積されると、初期値動きベクトルバッファ36に転送する。
When the corresponding point information is newly accumulated in the corresponding point
動きベクトル生成部37は、最高解像度の画像(または、動きベクトルを求めようとする所定の解像度の画像)における直前の画像における各画素に対応した今現在の画像の対応点の情報に基づいて、動きベクトルを求めて動きベクトルバッファ13に順次格納する。
The motion
次に、図5のフローチャートを参照して、手ぶれ補正処理について説明する。 Next, camera shake correction processing will be described with reference to the flowchart of FIG.
ステップS1において、画像バッファ11は、入力画像をバッファリングする。
In step S1, the
ステップS2において、動きベクトル検出部12は、画像バッファ11に格納された画像を読み出し、動きベクトル検出処理を実行し、入力された画像の各画素単位で動きベクトルを検出して動きベクトルバッファ13に格納させる。
In step S <b> 2, the motion
ここで、図6のフローチャートを参照して、動きベクトル検出処理について説明する。 Here, the motion vector detection process will be described with reference to the flowchart of FIG.
ステップS21において、多重解像度化部31は、多重解像度画像バッファ32−1を制御して、それまでに記憶していた複数の解像度の画像を多重解像度画像バッファ32−2に転送させる。このとき、多重解像度画像バッファ32−2は、それまでに記憶していた多重解像度画像を消去すると供に、新たに供給されてきた多重解像度画像を記憶する。 In step S <b> 21, the multi-resolution converting unit 31 controls the multi-resolution image buffer 32-1 to transfer images having a plurality of resolutions stored so far to the multi-resolution image buffer 32-2. At this time, the multi-resolution image buffer 32-2 stores the newly supplied multi-resolution image as well as deleting the multi-resolution image stored so far.
ステップS22において、多重解像度化部31は、低解像度化フィルタ31aを制御して、入力画像を順次低解像度化した画像に変換して多重解像度画像バッファ32−1に記憶させる。すなわち、低解像度化フィルタ31aは、入力画像(解像度レベル(0)の画像=Level 0の画像)を、図7で示されるように、水平方向および垂直方向に3×3画素単位で、例えば、以下の式(1)で示されるようなフィルタ処理により画素値を1画素に変換することにより入力画像よりも低解像度の解像度レベル(1)の画像(Level 1の画像)に変換する。図7においては、下から順に低解像度化された解像度レベル(0),(1),(2)の画像(=Level 0,1,2の画像)を示しており、それぞれ水平方向、または、垂直方向の1次元の方向の配列状態を示している。また、図中のバツ印は、画素pの画素中心を示し、縦棒は画素境界であり、各番号が画素pを識別する番号である。従って、図7においては、解像度レベル(0)の画像(Level 0の画像)について、画素p0乃至p15が表示されており、解像度レベル(1)の画像(Level 1の画像)について、画素p0乃至p8が表示されており、解像度レベル(2)の画像(Level 2の画像)について、画素p0乃至p4が表示されている。
In step S22, the multi-resolution converting unit 31 controls the low-
尚、式(1)は、ガウシアンフィルタの例を示している。 Equation (1) shows an example of a Gaussian filter.
また、解像度レベル(1)の画像における画素p3は、解像度レベル(0)の画像における画素p5乃至p7の画素値をフィルタ処理した画素値であり、同様にして、解像度レベル(1)の画像における画素p4は、解像度レベル(0)の画像における画素p7乃至p9の画素値をフィルタ処理した画素値であり、解像度レベル(1)の画像における画素p5は、解像度レベル(0)の画像における画素p9乃至p11の画素値をフィルタ処理した画素値である。 Further, the pixel p3 in the image at the resolution level (1) is a pixel value obtained by filtering the pixel values of the pixels p5 to p7 in the image at the resolution level (0), and similarly, in the image at the resolution level (1). The pixel p4 is a pixel value obtained by filtering the pixel values of the pixels p7 to p9 in the resolution level (0) image, and the pixel p5 in the resolution level (1) image is the pixel p9 in the resolution level (0) image. To the pixel value obtained by filtering the pixel value of p11.
同様にして、解像度レベル(2)の画像における画素p2は、解像度レベル(1)の画像における画素p3乃至p5の画素値をフィルタ処理した画素値である。 Similarly, the pixel p2 in the resolution level (2) image is a pixel value obtained by filtering the pixel values of the pixels p3 to p5 in the resolution level (1) image.
尚、図7においては、水平方向、または、垂直方向からみた1次元の配置について表現されているため、1レベル(Level)分低い解像度の画像を生成する際、3画素をフィルタ処理した値が、低解像度の1画素として構成されるように表現されているが、実際には、注目画素を中心とした3×3画素に対してフィルタ処理された値が1レベル分低い解像度の画素値として求められることになる。さらに、幾何学的に水平方向および垂直方向に対して画素p0の画素中心の位置が同一位置となり、図中の右端部で示されるように、各レベルの右端部の画素中心が、1レベル上位画像における端部の画素境界と一致するように配置される。 In FIG. 7, since a one-dimensional arrangement viewed from the horizontal direction or the vertical direction is expressed, when an image having a resolution that is one level lower is generated, a value obtained by filtering three pixels is obtained. However, in actuality, the value obtained by filtering the 3 × 3 pixel centered on the target pixel is a pixel value having a lower resolution by one level. It will be required. Furthermore, the position of the pixel center of the pixel p0 is geometrically the same in the horizontal and vertical directions, and the pixel center at the right end of each level is one level higher, as shown by the right end in the figure. They are arranged so as to coincide with the pixel boundaries at the edges in the image.
ステップS23において、多重解像度化部31は、高解像度化フィルタ31bを制御して、入力画像を順次高解像度化した画像に変換して多重解像度画像バッファ32−2に記憶させる。すなわち、高解像度化フィルタ31bは、入力画像(解像度レベル(0)の画像=図中のLevel 0の画像)を、図8で示されるように、水平方向および垂直方向に4×4画素単位で、バイキュービックフィルタ処理により画素値を1画素に変換することにより入力画像よりも高解像度の解像度レベル(-1)の画像(Level −1の画像)に変換する。図8においては、上から順に高解像度化された解像度レベル(0),(-1),(-2)の画像(=Level 0,−1,−2の画像)を示しており、それぞれ水平方向、または、垂直方向の1次元の方向の配列状態を示している。従って、図8においては、解像度レベル(0)の画像について、画素p0乃至p3が表示されており、解像度レベル(-1)の画像について、画素p0乃至p7が表示されており、解像度レベル(-2)の画像について、画素p0乃至p15が表示されている。
In step S23, the multi-resolution processing unit 31 controls the high-
また、解像度レベル(-1)の画像における画素p2は、解像度レベル(0)の画像における画素p0乃至p3の画素値をバイキュービックフィルタ処理した画素値である。 The pixel p2 in the resolution level (−1) image is a pixel value obtained by performing bicubic filter processing on the pixel values of the pixels p0 to p3 in the resolution level (0) image.
同様にして、解像度レベル(-2)の画像における画素p6は、解像度レベル(-1)の画像における画素p2乃至p5の画素値をバイキュービックフィルタ処理した画素値である。 Similarly, the pixel p6 in the image at the resolution level (−2) is a pixel value obtained by performing bicubic filter processing on the pixel values of the pixels p2 to p5 in the image at the resolution level (−1).
尚、図8においては、水平方向、または、垂直方向からみた1次元の配置について表現されているため、1レベル(Level)分高い解像度の画像を生成する際、4画素のフィルタ処理結果が、高解像度の1画素として構成されるように表現されているが、実際には、注目画素に対して所定の位置に存在する4×4画素に対してバイキュービックフィルタ処理された値が1レベル分高い解像度の画素値として求められることになる。また、高解像度化される場合、上下左右の端部における画素の境界は一致するように変換される。 In FIG. 8, since a one-dimensional arrangement viewed from the horizontal direction or the vertical direction is expressed, when an image having a resolution higher by one level (Level) is generated, the filter processing result of four pixels is Although expressed as one pixel having a high resolution, the value obtained by bicubic filter processing for 4 × 4 pixels existing at a predetermined position with respect to the target pixel is actually one level. It is obtained as a pixel value with a high resolution. When the resolution is increased, the pixel boundaries at the upper, lower, left, and right ends are converted so as to coincide.
ステップS24において、対応点探索部33は、最低解像度対応点抽出処理を実行して、最低解像度の直前の画像の各画素についての対応点(各画素の動きベクトルの終点)を抽出する。
In step S24, the corresponding
ここで、図9のフローチャートを参照して、最低解像度対応点抽出処理について説明する。 Here, the minimum resolution corresponding point extraction processing will be described with reference to the flowchart of FIG.
ステップS41において、マッチングブロック設定部33aは、多重解像度画像バッファ32−2に記憶されている、直前の画像における最低解像度の画像のうち、未処理の画素を注目画素pbとして設定すると供に、注目画素pbに対応するマッチングブロックを構成する画素群を抽出し、評価計算部33cに供給する。マッチングブロック設定部33aにより設定されるマッチングブロックのサイズは、例えば、Sb[k]×Sb[k]である。ここで、Sb[k]は、以下の式(2)で示される。
In step S41, the matching
式(2)において、MAX(A,B)は、AまたはBのうち、いずれか大きい値をとることを示している。また、INT(A)は、値Aの小数点以下を切り捨てた値をとることを示している。さらに、kは、解像度レベル(k)(Level)を示すものであり、kは、le≦k≦Lの整数である。すなわち、解像度レベル(L)の画像は、最低解像度の画像であり、解像度レベル(le)の画像は、最高解像度の画像である。従って、Sb[0]は、入力画像(解像度レベル(0)の画像)に対するマッチングブロックサイズである。 In Expression (2), MAX (A, B) indicates that A or B takes a larger value. In addition, INT (A) indicates that the value A is rounded down. Further, k represents a resolution level (k) (Level), and k is an integer satisfying le ≦ k ≦ L. That is, the resolution level (L) image is the lowest resolution image, and the resolution level (le) image is the highest resolution image. Therefore, Sb [0] is the matching block size for the input image (image of resolution level (0)).
ステップS42において、探索範囲設定部33bは、多重解像度画像バッファ32−2に記憶されている最低解像度の画像(直前の画像)上の注目画素pbに対応する、多重解像度画像バッファ32−1に記憶されている最低解像度の画像(今現在の画像)上の未処理の探索範囲を設定する。ここで、探索範囲サイズは、例えば、Ss[k]×Ss[k]である。ここで、Ss[k]は、以下の式(3)で示される。
In step S42, the search
従って、Ss[0]は、入力画像(解像度レベル(0)の画像)に対する探索範囲サイズである。 Therefore, Ss [0] is the search range size for the input image (image of resolution level (0)).
ステップS43において、探索範囲設定部33bは、探索範囲内における未処理の対応点画素pfを今現在の画像上に設定する。
In step S43, the search
ステップS44において、マッチングブロック設定部33aは、対応点画素pfに対応する、多重解像度画像バッファ32−1に記憶されている最低解像度の画像(現在の画像)マッチングブロックを構成する画素群を抽出し、評価計算部33cに供給する。
In step S44, the matching
ステップS45において、評価計算部33cは、マッチングブロック設定部33aより供給されてきた、直前の最低解像度の画像上の注目画素pbに対応するマッチングブロックを構成する画素群と、現在の最低解像度の画像上の対応点画素pfに対応するマッチングブロックを構成する画素群とを用いて、以下の式(4)を計算することにより、注目画素pbと対応点画素pfとの評価値e(Pb,Pf)を計算する。
In step S45, the
ここでROIはマッチングブロックの範囲を示す。また、dは、マッチングブロックを構成する各画素の注目画素pbまたは対応点画素pfからの距離を示している。さらに、Cb(),Cf()は、それぞれ注目画素pbまたは対応点画素pfを中心としたマッチングブロックを構成する画素の輝度を示している。また、式(4)における関数g(x,σ)は、式(5)で示される関数であり、図10で示されるように、変数xに対して0付近で強度が大きく、0から離れるに従って急激に小さくなる、いわゆるガウス関数である。従って、g(x,σd)は、画素間の距離に関するガウス関数であり、g(x,σI)は、画素間の輝度差に関するガウス関数である。 Here, ROI indicates the range of the matching block. Further, d represents the distance from each pixel constituting the matching block from the target pixel pb or the corresponding point pixel pf. Further, Cb () and Cf () respectively indicate the luminances of the pixels constituting the matching block centered on the target pixel pb or the corresponding point pixel pf. Further, the function g (x, σ) in the equation (4) is a function represented by the equation (5), and as shown in FIG. 10, the intensity is large near 0 with respect to the variable x and deviates from 0. It is a so-called Gaussian function that decreases rapidly according to the above. Therefore, g (x, σd) is a Gaussian function related to the distance between pixels, and g (x, σI) is a Gaussian function related to the luminance difference between pixels.
すなわち、式(4)は2乗誤差によって非類似度を測る方式を基礎に据え、式(5)を利用することにより、マッチングブロックの中心画素からの距離が遠く、輝度差が大きい、画素間の評価寄与度を下げるように働く。つまり、マッチングブロックの中心位置に存在する画素(=注目画素pbまたは対応点画素pf)同士のマッチングを最大限に重視しつつ、大きすぎる色の差は無視するように働く。σd, σIによってこれらの具合を調整することができる。 That is, equation (4) is based on a method of measuring dissimilarity by square error, and by using equation (5), the distance from the center pixel of the matching block is far and the luminance difference is large. It works to lower the evaluation contribution. That is, the maximum difference is emphasized between the pixels (= the target pixel pb or the corresponding point pixel pf) existing at the center position of the matching block, and the difference between colors that is too large is ignored. These conditions can be adjusted by σd and σI.
結果として、式(4)により計算される評価値eは、完全に一致するパターン同士の評価値が最小である0となり、比べたいマッチングブロック同士で多少の画像変形(拡大、縮小、回転、歪)が起きていても画素同士のマッチングはうまく行きやすく、ノイズ、エッジ、または異なる背景パターンは、ほぼ無視することができるといった特徴を備えている。 As a result, the evaluation value e calculated by Equation (4) is 0, which is the smallest evaluation value between completely matching patterns, and some image deformation (enlargement, reduction, rotation, distortion) between matching blocks to be compared. ) Is easy to match between pixels, and noise, edges, or different background patterns can be almost ignored.
ステップS46において、探索範囲設定部33bは、探索範囲内における全ての対応点画素pfについて、注目画素pbとの評価値eが計算されたか否かを判定する。ステップS46において、全ての対応点画素pfについて、注目画素pbとの評価値eが計算されていないと判定された場合、処理は、ステップS43に戻る。すなわち、探索範囲内における全ての対応点画素pfについて、注目画素pbとの評価値eが計算されるまで、ステップS43乃至S46の処理が繰り返される。
In step S46, the search
そして、ステップS46において、探索範囲内における全ての対応点画素pfについて、注目画素pbとの評価値eが計算されたと判定された場合、処理は、ステップS47に進む。 If it is determined in step S46 that the evaluation value e with the target pixel pb has been calculated for all corresponding point pixels pf within the search range, the process proceeds to step S47.
ステップS47において、探索範囲設定部33bは、注目画素pbについて未処理の探索範囲が存在するか否かを判定し、未処理の探索範囲が存在する場合、処理は、ステップS42に戻り、未処理の探索範囲がなくなるまで、ステップS42乃至S47の処理が繰り返される。
In step S47, the search
ステップS47において、未処理の探索範囲が存在しないと判定された場合、ステップS48において、対応点決定部33dは、評価値eが最小となる注目画素pbおよび対応点画素pfとの組み合わせを検索し、その対応点画素pfを注目画素pbの対応点、すなわち、動きベクトルVL=P[L](pb)として、対応点動きベクトルバッファ34に記憶させる。
If it is determined in step S47 that there is no unprocessed search range, in step S48, the corresponding
ステップS49において、マッチングブロック設定部33aは、未処理の注目画素が存在するか否かを判定し、未処理の注目画素が存在する場合、処理は、ステップS41に戻る。すなわち、最低解像度の全ての画素について、対応点が求められるまで、ステップS41乃至S49の処理が繰り返され、ステップS49において、直前の最低解像度の画像の全ての画素について対応点が求められた場合、すなわち、直前の最低解像度の画像の全ての画素について動きベクトルが求められた場合、処理は終了する。尚、処理が終了される際、動きベクトル出力判定部35は、解像度レベルが最高解像度ではないとき、対応点動きベクトルバッファ34の情報を初期値動きベクトルバッファ36に転送する。
In step S49, the matching
以上の処理により、直前の画像における各画素が順次注目画素として設定され、画像全体をカバーするように探索範囲が設定され、マッチングブロックを順次移動させながらブロックマッチングが繰り返されことにより、最低解像度の画像の各画素について、対応点、すなわち、始点を各画素としたときの動きベクトルの終点が求められ、対応点動きベクトルバッファ34に記憶される。この際、画像全体に対して探索範囲が順次設定されても、解像度が十分に低いので、対応点は、高速に求められることになる。
With the above processing, each pixel in the immediately preceding image is sequentially set as a target pixel, a search range is set so as to cover the entire image, and block matching is repeated while sequentially moving the matching blocks, so that the lowest resolution is achieved. For each pixel of the image, the corresponding point, that is, the end point of the motion vector when the start point is each pixel, is obtained and stored in the corresponding point
ここで、図6のフローチャートの説明に戻る。 Now, the description returns to the flowchart of FIG.
ステップS24において、最低解像度対応点抽出処理により最低解像度の画像における各画素の対応点が求められると、ステップS25において、対応点探索部33は、順次対応点抽出処理を実行し、最低解像度の画像における対応点を用いて、順次高い解像度の画像における対応点を探索していく。
In step S24, when the corresponding point of each pixel in the image with the lowest resolution is obtained by the lowest resolution corresponding point extraction process, in step S25, the corresponding
ここで、図11のフローチャートを参照して、順次対応点抽出処理について説明する。 Here, the corresponding point extraction processing will be described sequentially with reference to the flowchart of FIG.
ステップS61において、マッチングブロック設定部33aは、解像度レベル(k)を示す図示せぬカウンタkを(L−1)に設定する。尚、kは、上述したように、le≦k≦Lの整数である。
In step S61, the matching
ステップS62において、マッチングブロック設定部33aは、多重解像度画像バッファ32−2に記憶されている、直前の画像における解像度レベル(k)の画像のうち、未処理の画素を注目画素pbとして設定すると供に、注目画素pbに対応するマッチングブロックを構成する画素群を抽出し、評価計算部33cに供給する。マッチングブロック設定部33aにより設定されるマッチングブロックのサイズは、例えば、Sb[k]×Sb[k]である。ここで、Sb[k]は、以下の式(6)で示される。
In step S62, the matching
ステップS63において、初期対応点決定部33eは、解像度レベル(k+1)の画像における対応点の情報を利用して、解像度レベル(k)の注目画素pbに対応する初期対応点Q[k](pb)を設定し、設定した初期対応点Q[k](pb)の情報を探索範囲設定部33bに供給する。
In step S63, the initial corresponding
より詳細には、図12で示されるように、初期対応点決定部33eは、解像度レベル(k)の注目画素pbの座標(x[k],y[k])を、解像度レベル(k+1)の画像空間における座標(x[k+1],y[k+1])に変換することにより、対応する解像度レベル(k+1)の画像上の注目画素pb’の座標(x[k+1],y[k+1])を求める。図12においては、解像度レベル(k)の画像上の画素p1が、注目画素pbに設定されており、注目画素pbに対応する、解像度レベル(k+1)の画像上の画素が画素pb’に設定されており、解像度レベル(k+1)の画像上の座標で表現されている。
More specifically, as shown in FIG. 12, the initial corresponding
次に、初期値動きベクトルバッファ36には、解像度レベル(k+1)の画像上の各画素について対応点が求められているので、初期対応点決定部33eは、画素pb’の近傍に存在する、解像度レベル(k+1)の画像上の4画素の対応点を用いて、4近傍双一次補間処理により近似対応点P[k+1](pb’)を求める。すなわち、図12においては、水平方向、または、垂直方向の1次元の配置のみが示されているので、画素pb’の近傍の画素としては、画素p0,p1のみが示されているが、さらに2画素が近傍に存在する。ここでは、画素pb’の近傍の画素として画素p0,p1の他に、画素pA,pB(図示せず)が存在するものとすると、初期対応点決定部33eは、それらの対応点P[k+1](p0),P[k+1](p1),P[k+1](pA),P[k+1](pB)を用いて、4近傍双一次補間処理により近似対応点P[k+1](pb’)(=P[k+1](p0)・{1−α}{1−β}+P[k+1](p1)・α{1−β}+P[k+1](pA)・{1−α}β+P[k+1](pB)・αβ(α(0≦α≦1)は、それぞれ画素p1,p2間の近似対応点P[k+1](pb’)の位置する空間的な比率、β(0≦β≦1)は、画素pA,pB間の近似対応点P[k+1](pb’)の位置する空間的な比率))を求める。さらに、初期対応点決定部33eは、その近似対応点P[k+1](pb’)の座標を、解像度レベル(k+1)の画像における座標から、解像度レベル(k)の画像における座標に変換することで、初期対応点Q[k](pb)を求める。
Next, in the initial value
尚、解像度レベル(k),(k+1)間の座標変換は、カウンタkが0より大きい場合、すなわち、入力画像よりも低解像度の場合、以下の式(7)のように変換され、カウンタkが0より小さい場合、以下の式(8)のように変換される。 The coordinate conversion between the resolution levels (k) and (k + 1) is converted as shown in the following equation (7) when the counter k is larger than 0, that is, when the resolution is lower than the input image. When the counter k is smaller than 0, it is converted as shown in the following equation (8).
ステップS64において、探索範囲設定部33bは、多重解像度画像バッファ32−2に記憶されている解像度レベル(k)の画像(直前の画像)上の注目画素pbに対応する多重解像度画像バッファ32−1に記憶されている解像度レベル(k)の画像(今現在の画像)上の、初期対応点Q[k](pb)に対応した探索範囲(例えば、初期対応点Q[k](pb)を中心とした探索範囲)を設定する。ここで、探索範囲サイズは、例えば、Ss[k]×Ss[k]である。ここで、Ss[k]は、以下の式(9)で示される。
In step S64, the search
ステップS65において、探索範囲設定部33bは、探索範囲内における未処理の対応点画素pfを今現在の画像上に設定する。
In step S65, the search
ステップS66において、マッチングブロック設定部33aは、対応点画素pfに対応する、多重解像度画像バッファ32−1に記憶されている解像度レベル(k)の画像(現在の画像)におけるマッチングブロックを構成する画素群を抽出し、評価計算部33cに供給する。
In step S <b> 66, the matching
ステップS67において、評価計算部33cは、マッチングブロック設定部33aより供給されてきた、直前の解像度レベル(k)の画像上の注目画素pbに対応するマッチングブロックを構成する画素群と、現在の解像度レベル(k)の画像上の対応点画素pfに対応するマッチングブロックを構成する画素群とを用いて、上述の式(4)を計算することにより、注目画素pbと対応点画素pfとの評価値e(Pb,Pf)を計算する。
In step S67, the
ステップS68において、探索範囲設定部33bは、探索範囲内における全ての対応点画素pfについて、注目画素pbとの評価値eが計算されたか否かを判定する。ステップS68において、全ての対応点画素pfについて、注目画素pbとの評価値eが計算されていないと判定された場合、処理は、ステップS66に戻る。すなわち、探索範囲内における全ての対応点画素pfについて、注目画素pbとの評価値eが計算されるまで、ステップS66乃至S68の処理が繰り返される。
In step S68, the search
そして、ステップS68において、探索範囲内における全ての対応点画素pfについて、注目画素pbとの評価値eが計算されたと判定された場合、処理は、ステップS69に進む。 If it is determined in step S68 that the evaluation value e with the target pixel pb has been calculated for all corresponding point pixels pf within the search range, the process proceeds to step S69.
ステップS69において、対応点決定部33dは、評価値eが最小となる注目画素pbおよび対応点画素pfとの組み合わせを検索し、その対応点画素pfを注目画素pbの対応点、すなわち、動きベクトルVk=P[k](pb)として、対応点動きベクトルバッファ34に記憶させる。
In step S69, the corresponding
ステップS70において、マッチングブロック設定部33aは、未処理の注目画素が存在するか否かを判定し、未処理の注目画素が存在する場合、処理は、ステップS62に戻る。すなわち、解像度レベル(k)の画像の全ての画素について、対応点が求められるまで、ステップS62乃至S70の処理が繰り返され、ステップS70において、直前の解像度レベル(k)の画像の全ての画素について対応点が求められた場合、すなわち、直前の解像度レベル(k)の画像の全ての画素について動きベクトルが求められた場合、処理は、ステップS71に進む。
In step S70, the matching
ステップS71において、マッチングブロック設定部33aは、解像度レベルを示す図示せぬカウンタkが最小値であるか否かを判定し、最小値ではない、すなわち、さらに、解像度の高い画像が存在すると判定された場合、ステップS72において、カウンタkを1デクリメントし、処理は、ステップS62に戻り、それ以降の処理が繰り返される。すなわち、解像度レベル(L-1)乃至(le)までの解像度レベル(k+1)で求められた対応点の情報を利用することにより、さらに、1レベル分上位の解像度レベルkの画像における各画素の対応点を求める処理が順次繰り返される。尚、このとき、動きベクトル出力判定部35は、対応点動きベクトルバッファ34の情報を初期値動きベクトルバッファ36に転送する。
In step S71, the matching
一方、ステップS71において、カウンタkが最小値であると判定された場合、すなわち、最高解像度レベルより1レベル低解像度の画像における各画素の対応点が求められた場合、処理は、終了する。 On the other hand, when it is determined in step S71 that the counter k is the minimum value, that is, when the corresponding point of each pixel in the image that is one level lower than the highest resolution level is obtained, the process ends.
以上の処理により、解像度レベルの高い、低解像度の画像より、直前の画像における各画素が順次注目画素として設定され、直前の解像度レベルの画像における対応点に基づいて設定される初期対応点にのみ探索範囲が設定され、マッチングブロックを順次移動させながらブロックマッチングが繰り返されことにより、各解像度レベルの画像の各画素について、対応点、すなわち、始点を各画素としたときの動きベクトルの終点が求められ、対応点動きベクトルバッファ34に記憶される。そして、この処理が、最高解像度の1レベル低解像度の解像度レベル(le)の画像にまで、繰り返される。
Through the above processing, each pixel in the immediately preceding image is sequentially set as a pixel of interest from a low resolution image with a high resolution level, and only the initial corresponding point set based on the corresponding point in the immediately preceding resolution level image. The search range is set, and the block matching is repeated while sequentially moving the matching blocks, so that for each pixel of the image of each resolution level, the corresponding point, that is, the end point of the motion vector when the starting point is each pixel is obtained. And stored in the corresponding point
結果として、探索範囲を初期対応点の近傍付近のみとすることが可能となるため、各解像度レベルの画像の各画素について、探索範囲を1回設定するのみでよいので、マッチングブロックの移動回数を低減させる事が可能となる。結果として、対応点の探索に必要な評価値の計算回数を低減することが可能となる。さらに、異なる解像度レベルで同様の処理を繰り返すことにはなるが、解像度レベルに関わらず、探索範囲を1回設定するだけでよいため、所望とする解像度レベルの画像において、動きベクトルの終点である対応点を高速で、かつ、安定的に探索することが可能となる。 As a result, since it is possible to make the search range only near the initial corresponding point, it is only necessary to set the search range once for each pixel of the image of each resolution level. It can be reduced. As a result, it is possible to reduce the number of evaluation value calculations necessary for searching for corresponding points. Furthermore, although the same processing is repeated at different resolution levels, it is only necessary to set the search range once regardless of the resolution level. Therefore, it is the end point of the motion vector in the image of the desired resolution level. It becomes possible to search for corresponding points at high speed and stably.
ここで、図6のフローチャートの説明に戻る。 Now, the description returns to the flowchart of FIG.
ステップS25において、順次対応点抽出処理により、最高解像度の解像度レベル(le)の画像における各画素の対応点P[le](p)が求められることになる。 In step S25, the corresponding point P [le] (p) of each pixel in the image with the highest resolution level (le) is obtained by sequential corresponding point extraction processing.
ステップS26において、動きベクトル生成部37は、解像度レベル(le)の各画素における対応点を利用して、動きベクトル生成処理により最終的に動きベクトルを生成し、動きベクトルバッファ13に記憶させて、処理を終了する。
In step S26, the motion
ここで、図13のフローチャートを参照して、動きベクトル生成処理について説明する。 Here, the motion vector generation processing will be described with reference to the flowchart of FIG.
ステップS91において、動きベクトル生成部37は、最高解像度である解像度レベル(le)の画像上の未処理の画素より注目画素pを設定する。
In step S91, the motion
ステップS92において、動きベクトル生成部37は、対応点動きベクトルバッファ34に記憶されている、注目画素pの対応点P[le](p)を読み出し、ステップS93において、動きベクトルの終点である対応点から始点である注目画素を用いて、以下の式(10)を計算することにより、動きベクトルV(p)を生成する。
In step S92, the motion
ステップS94において、動きベクトル生成部37は、生成した注目画素pにおける動きベクトルV(p)を動きベクトルバッファ13に記憶させる。
In step S94, the motion
ステップS95において、動きベクトル生成部37は、未処理の画素があるか否かを判定し、未処理の画素が存在すると判定した場合、処理は、ステップS91に戻り、未処理の画素がなくなるまで、ステップS91乃至S95の処理を繰り返す。そして、ステップS95において、未処理の画素が存在しない、すなわち、全ての画素について動きベクトルが生成されたと判定された場合、処理は終了する。
In step S95, the motion
以上の処理により、低解像度の解像度レベルの画像より順次、直前の対応点の情報に基づいて、初期対応点を求め、その初期対応点近傍のみをマッチングブロックの探索範囲として設定することが可能となるので、高速で、かつ、安定的に動きベクトルを検出することが可能となる。尚、より高解像度の画像について、動きベクトルが必要である場合、さらに、多重解像度化部31により高解像度の画像を生成し、解像度レベル(le)を低くするように変化させるようにしてもよい。 As a result of the above processing, it is possible to obtain an initial corresponding point sequentially from the image of the low-resolution resolution level based on the information of the previous corresponding point and set only the vicinity of the initial corresponding point as the search range of the matching block. Therefore, it becomes possible to detect a motion vector stably at high speed. When a motion vector is necessary for a higher resolution image, the multiresolution section 31 may generate a higher resolution image and change the resolution level (le) to be lower. .
ここで、図5のフローチャートの説明に戻る。 Now, the description returns to the flowchart of FIG.
ステップS3において、手ぶれ補正部14は、動きベクトルバッファ13に格納されている各画素の動きベクトルの情報を読み出し、画像バッファ11より読み出した画像の各画素について、動きベクトルと逆方向の位置に画素を移動させるようにすることで、画像に生じた手ぶれを補正して、出力する。
In step S <b> 3, the camera
ステップS4において、手ぶれ補正部14は、画像バッファ11に、次の画像が供給されてきたか否かを判定し、次の画像が供給されてきた場合、処理は、ステップS1に戻り、手ぶれを補正する処理が順次繰り返す。そして、ステップS4において、次の画像が供給されてきていないと判定された場合、処理は、終了する。
In step S4, the camera
以上の処理により、手ぶれの発生しているような画像であっても、上述した手法により、各画素について高速で動きベクトルが求められるので、動きベクトルに基づいて、手ぶれを補正して出力することが可能となる。 With the above processing, even for an image with camera shake, the motion vector is obtained at high speed for each pixel by the above-described method. Therefore, the camera shake is corrected based on the motion vector and output. Is possible.
以上においては、繰り返し計算により対応点の精度を向上させるものであったが、例えば、パラメータフィッティングにより1回の計算で対応点を精度良く求めることもできる。 In the above, the accuracy of the corresponding points is improved by repeated calculation. However, for example, the corresponding points can be accurately obtained by one calculation by parameter fitting.
図14は、パラメータフィッティングにより1回の計算で対応点を精度良く求めるようにした動きベクトル検出部12の構成を示している。尚、図14において、図4と同様の構成については、同一の符号を付しており、その説明は適宜省略するものとする。
FIG. 14 shows a configuration of the motion
図14において、図4と異なるのは、フィッティング計算部61および動きベクトル生成部62が設けられている点である。フィッティング計算部61は、2次関数により解像度レベルが1レベル下位の複数の画素を用いて解析的に対応点の位置を計算する。動きベクトル生成部62は、フィッティング計算部61より供給されてくる対応点に基づいて動きベクトルを生成する。
14 is different from FIG. 4 in that a
図14の動きベクトル検出部12を用いた手ぶれ補正処理について説明するが、図6のフローチャートにおけるステップS26の動きベクトル生成処理を除いて、図4の動きベクトル検出部12を用いた場合と同様であるので、図14の動きベクトル検出部12における動きベクトル生成処理のみを説明し、その他の処理は同様であるので、その説明は省略するものとする。
The camera shake correction process using the motion
まず、5点の近傍の画素値を用いたフィッティング計算を行う例について、図15のフローチャートを参照して説明する。 First, an example of performing fitting calculation using pixel values in the vicinity of five points will be described with reference to the flowchart of FIG.
ステップS111において、フィッティング計算部61は、未処理の画素より注目画素pを設定する。
In step S111, the
ステップS112において、フィッティング計算部61は、注目画素p[k]の初期対応点Q[k](p)を求める。すなわち、例えば、解像度レベル(le)については、le=1とし、動きベクトルを最終的に求める画像の解像度が、解像度レベル(0)、すなわち、入力画像の各画素における動きベクトルを求めるものとすれば、図12で示した方法と同様の手法により、フィッティング計算部61は、注目画素pから解像度レベルが1レベル上位の画素p’を求め、画素p’の対応点である画素P[1](p’)を求め、さらに、対応点画素P[1](p’)を座標変換により、解像度レベル(0)での対応点画素P[0](p)の初期対応点Q[0](p)を求める。
In step S112, the
ステップS113において、フィッティング計算部61は、図16で示されるように、解像度レベル(0)において、Q[0](p)に最も近い画素の画素中心q[0]とその周りの画素の画素中心4点、すなわちq[i]:{i=0,1,3,5,7}の計5点で式(4)の評価値e[i]:{i=0,1,3,5,7}を計算する。
In step S113, the
ステップS114において、フィッティング計算部61は、初期対応点Q[0](p)の近傍の5画素の評価値e[i]:{i=0,1,3,5,7}を、以下の式(11)で示される関係式に代入し、加算ベクトル(s,t)を求め、さらに、初期対応点Q[0](p)に最も近い画素q[0]にベクトル加算し、対応点P[0](p)を計算し、動きベクトル生成部62に供給する。
In step S114, the
ここで、s,tは、図16で示されるように、初期対応点Q[0](p)に最も近い画素q[0]を中心とした空間の軸である。また、st空間内の位置に応じた評価値の関係は、例えば、以下の式(12)の近似関数F(q)=f(s,t)により表現することができる。 Here, as shown in FIG. 16, s and t are axes of a space centered on the pixel q [0] closest to the initial corresponding point Q [0] (p). Further, the relationship between the evaluation values according to the positions in the st space can be expressed by, for example, an approximate function F (q) = f (s, t) in the following equation (12).
ここで、a,b,c,d,α,βは、パラメータである。 Here, a, b, c, d, α, and β are parameters.
そこで、式(12)で示される近似関数F(q)=f(s,t)に、評価値e[i]:{i=0,1,3,5,7}を、それぞれのst空間上の座標と供に代入すると、以下の式(13)で示される5個の関係式が得られる。 Therefore, an evaluation value e [i]: {i = 0,1,3,5,7} is assigned to the approximate function F (q) = f (s, t) represented by the equation (12) in each st space. Substituting with the above coordinates, the following five relational expressions are obtained.
さらに、パラメータのうちαが0であると仮定すれば、パラメータs,tのそれぞれについて、偏微分すると、以下の式(14),式(15)で示されるような連立方程式となり、これを解くことにより、近似関数fを最小にする(s,t)が式(11)となる。 Further, if it is assumed that α is 0 among the parameters, partial differentiation of the parameters s and t results in simultaneous equations as shown in the following equations (14) and (15), which are solved. Thus, (s, t) that minimizes the approximate function f is expressed by Equation (11).
ステップS115において、動きベクトル生成部62は、動きベクトルの終点である対応点から始点である注目画素を用いて、上述した式(10)を計算することにより、動きベクトルV(p)を生成する。
In step S115, the motion
ステップS116において、動きベクトル生成部62は、生成した注目画素pにおける動きベクトルV(p)を動きベクトルバッファ13に記憶させる。
In step S116, the motion
ステップS117において、動きベクトル生成部62は、未処理の画素があるか否かを判定し、未処理の画素が存在すると判定した場合、処理は、ステップS111に戻り、未処理の画素がなくなるまで、ステップS111乃至S117の処理を繰り返す。そして、ステップS117において、未処理の画素が存在しない、すなわち、全ての画素について動きベクトルが生成されたと判定された場合、処理は終了する。
In step S117, the motion
以上の処理により、たかだか5点の評価値を求めるだけで、繰り返し計算ではなく1回の計算で高精度な動きベクトルを求めることができる。また、オリジナル解像度以上の画像はピラミッド中に必要としないので、多重解像度画像バッファ32−1,32−2の容量を節約することが可能となる。 With the above processing, it is possible to obtain a highly accurate motion vector by a single calculation rather than iterative calculation only by obtaining at most five evaluation values. Further, since an image having an original resolution or higher is not required in the pyramid, the capacity of the multi-resolution image buffers 32-1 and 32-2 can be saved.
また、以上においては、5点を用いたフィッティングの例であるが、それ以上の画素に対応する評価値を用いるようにしてもよく、例えば、9点によるフィッティングを行うようにしても良い。 Further, although the above is an example of fitting using 5 points, evaluation values corresponding to more pixels may be used, for example, fitting may be performed using 9 points.
図17は、9点の画素によるフィッティングを用いた動きベクトル生成処理を説明するフローチャートである。尚、図17におけるステップS131,S132、およびS135乃至S137の処理については、図15におけるステップS111,S112、およびS115乃至S117の処理と同様であるので、その説明は省略する。 FIG. 17 is a flowchart for explaining motion vector generation processing using fitting with nine pixels. Note that the processing in steps S131, S132, and S135 through S137 in FIG. 17 is the same as the processing in steps S111, S112, and S115 through S117 in FIG.
すなわち、ステップS133において、フィッティング計算部61は、図16で示されるように、解像度レベル(0)において、Q[0](p)に最も近い画素の画素中心q[0]とその周りの画素の画素中心8点、すなわちq[i]:{i=0乃至8}の計9点で式(4)の評価値e[i]:{i=0乃至8}を計算する。
That is, in step S133, the
ステップS134において、フィッティング計算部61は、初期対応点Q[0](p)の近傍の9画素の評価値e[i]:{i=0乃至8}を、以下の式(16)で示される関係式に代入し、加算ベクトル(s,t)を求め、さらに、初期対応点Q[0](p)に最も近い画素q[0]にベクトル加算し、対応点P[0](p)を計算し、動きベクトル生成部62に供給する。
In step S134, the
すなわち、式(16)は、上述したように、5点を用いた方法でa,b,c,d,βは、αをパラメータとした値として表現するものとすれば、新たな画素q[i]:{i=2,4,6,8}の4点に関して、式(12)の近似関数F(q)=f(s,t)と評価値eとの間の差が最も小さくなるよう、最小二乗法によりf(s,t)のパラメータαを決定して、fの最小値をとる座標を一回の計算で決定できるようにしたものである。尚、式(16)については、パラメータa,b,c,d,αは、それぞれ(e[1]+e[5]−2e[0])/2,(e[1]−e[5])/2,(e[3]+e[7])/2,(e[3]+e[7]−2e[0])/2,(e[2]−e[4]+e[6]−e[8])/4である。 In other words, as described above, if the expression (16) is expressed by using a method using five points and a, b, c, d, and β are expressed using α as a parameter, a new pixel q [ i]: For the four points {i = 2, 4, 6, 8}, the difference between the approximate function F (q) = f (s, t) in equation (12) and the evaluation value e is the smallest. As described above, the parameter α of f (s, t) is determined by the least square method so that the coordinates taking the minimum value of f can be determined by a single calculation. Note that for equation (16), the parameters a, b, c, d, and α are (e [1] + e [5] −2e [0]) / 2, (e [1] −e [5], respectively. ) / 2, (e [3] + e [7]) / 2, (e [3] + e [7] -2e [0]) / 2, (e [2] -e [4] + e [6]- e [8]) / 4.
新たな画素q[i]:{i=2,4,6,8}の4点に関する評価値eは、以下の式(17)により表現される。 New pixel q [i]: The evaluation value e for four points of {i = 2, 4, 6, 8} is expressed by the following equation (17).
さらに、式(17)は、図16で示されるst空間における座標系で表現すれば、以下の式(18)により表現されることになる。 Furthermore, when the expression (17) is expressed by a coordinate system in the st space shown in FIG. 16, it is expressed by the following expression (18).
このような場合、以下の式(19)で示されるように、真値であるF(q[i]):{i=2,4,6,8}とサンプル値である評価値e[i]:{i=2,4,6,8}との誤差二乗和Eを定義すれば、パラメータαは、誤差二乗和Eを最小とするときの値となる。 In such a case, as shown in the following equation (19), F (q [i]): {i = 2, 4, 6, 8} that is a true value and an evaluation value e [i that is a sample value ]: If an error square sum E with {i = 2, 4, 6, 8} is defined, the parameter α is a value when the error square sum E is minimized.
式(19)で示される誤差二乗和Eが最小となるのは、以下の式(20)で示されるように、αにより偏微分した関数が0となる条件を満たしたときとなる。 The error sum of squares E shown in Expression (19) is minimized when the condition that the function partially differentiated by α is 0 is satisfied, as shown in Expression (20) below.
この条件に従って、式(19)を解くと、以下の式(21)で示されるように、αが求められる。 When equation (19) is solved according to this condition, α is obtained as shown in equation (21) below.
以上の処理により、全てのパラメータが決定されることにより、以下の式(22),式(23)で示されるように、関数F(q)=f(s,t)をそれぞれs,tで偏微分した値を0とすれば、式(16)を求めることができる。 By determining all the parameters by the above processing, the function F (q) = f (s, t) is expressed as s and t, respectively, as shown in the following equations (22) and (23). If the value obtained by partial differentiation is 0, equation (16) can be obtained.
以上の処理により、9点の評価値を求めるだけで、繰り返し計算ではなく1回の計算により、より高精度な動きベクトルを求めることが可能となる。なお、図15,図17のフローチャートを参照して説明した図14の動きベクトル検出部12の処理は、説明の例として解像度レベル(le)がle=1のときを述べたが、メモリの制約や動きベクトル保持方法などが変われば、leは1以外の値でも良い。
With the above processing, it is possible to obtain a motion vector with higher accuracy by only calculating nine evaluation values and performing one calculation instead of repeated calculation. The processing of the motion
また、これまで述べた方法は動きベクトル画像を過去から未来への変化として一方向にしか考えなかったが、2つの入力画像を入れ替えれば同様の処理で未来から過去のへの動きベクトルも生成できる。 In addition, the method described so far considered the motion vector image as a change from the past to the future only in one direction, but if the two input images are replaced, a motion vector from the future to the past can be generated by the same processing. .
以上のような処理により、ロバストかつ高精度な動きベクトルの検出を高速で実現することが可能となる。 With the processing as described above, it is possible to realize robust and highly accurate motion vector detection at high speed.
本発明によれば、特に条件の悪い画像群を用いた、画像圧縮、映像特殊効果、静止画像/フレーム高画質化、動画性向上、物体追跡など、動きベクトルや対応点探索を利用した様々な画像処理における精度と処理速度を向上させることが可能となる。 According to the present invention, various image processing using motion vectors and corresponding point search, such as image compression, image special effects, still image / frame image quality improvement, moving image improvement, object tracking, etc., using particularly unfavorable image groups. The accuracy and processing speed in image processing can be improved.
ところで、上述した一連の画像処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。 Incidentally, the series of image processing described above can be executed by hardware, but can also be executed by software. When a series of processing is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a recording medium in a general-purpose personal computer or the like.
図18は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェース1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
FIG. 18 shows a configuration example of a general-purpose personal computer. This personal computer incorporates a CPU (Central Processing Unit) 1001. An input /
入出力インタフェース1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブルメディア1011に対してデータを読み書きするドライブ1010が接続されている。
An input /
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア1011から読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
The
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。 In this specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in time series in the order described, but of course, it is not necessarily performed in time series. Or the process performed separately is included.
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。 Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
31 多重解像度化部, 31a 像度化部, 31b 像度化部, 32,32−1,32−2 多重解像度画像バッファ, 33 対応点探索部, 33a マッチングブロック設定部, 33b 探索範囲設定部, 33c 評価計算部, 33d 対応点決定部, 33e 初期対応点決定部33e, 34 対応点動きベクトルバッファ, 35 動きベクトル出力判定部, 36 初期値動きベクトルバッファ, 37 動きベクトル生成部
31 multi-resolution conversion unit, 31a imaging unit, 31b imaging unit, 32, 32-1, 32-2 multi-resolution image buffer, 33 corresponding point search unit, 33a matching block setting unit, 33b search range setting unit, 33c evaluation calculation unit, 33d corresponding point determination unit, 33e initial corresponding
Claims (10)
前記多重解像度化手段により複数の解像度に変換された第1のタイミングの第1の画像を蓄積する第1の蓄積手段と、
前記多重解像度化手段により複数の解像度に変換された前記第1のタイミングよりも時間的に直前の第2のタイミングの第2の画像を蓄積する第2の蓄積手段と、
第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点を探索する対応点探索手段と、
前記対応点探索手段により探索された前記第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点の情報を格納する格納手段とを含み、
前記対応点探索手段は、前記格納手段に格納された前記第1の解像度における対応点の情報に基づいて、前記第1の解像度よりも高解像度の第2の解像度における第2の画像の画素と前記第2の解像度における前記第1の画像の画素との対応点を探索し、順次繰り返す
画像処理装置。 Multi-resolution means for converting an input image into a plurality of resolution images;
First accumulation means for accumulating a first image at a first timing converted into a plurality of resolutions by the multiresolution means;
Second storage means for storing a second image at a second timing immediately before the first timing converted into a plurality of resolutions by the multi-resolution means;
Corresponding point search means for searching for corresponding points between the pixels of the second image at the first resolution and the pixels of the first image at the first resolution;
Storage means for storing information on corresponding points of the pixels of the second image at the first resolution searched by the corresponding point search means and the pixels of the first image at the first resolution. ,
The corresponding point search means is based on the information of the corresponding points in the first resolution stored in the storage means, and the pixels of the second image at a second resolution higher than the first resolution. An image processing apparatus that searches for a corresponding point with a pixel of the first image at the second resolution and repeats sequentially.
前記第1の解像度における第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点の評価値をブロックマッチングにより求める評価値計算手段をさらに含み、
前記評価値計算手段により計算された評価値が最小となる画素を対応点として探索する
請求項1に記載の画像処理装置。 The corresponding point search means includes
Evaluation value calculating means for obtaining an evaluation value of a corresponding point between a pixel of the second image at the first resolution and a pixel of the first image at the first resolution by block matching;
The image processing apparatus according to claim 1, wherein a pixel having the smallest evaluation value calculated by the evaluation value calculating unit is searched as a corresponding point.
請求項2に記載の画像処理装置。 The evaluation value calculation means uses each of the pixels of the second image of the first resolution and the first of the first resolution using weighted evaluation according to the distance from the target pixel in the block matching block. The image processing apparatus according to claim 2, wherein an evaluation value of a corresponding point with each pixel of the image is obtained.
請求項2に記載の画像処理装置。 The evaluation value calculation means uses each of the pixels of the second image of the first resolution and the first resolution using weighted evaluation according to a difference in pixel value between corresponding pixels between the blocks of the block matching. The image processing apparatus according to claim 2, wherein an evaluation value of a corresponding point with each pixel of the first image is obtained.
請求項2に記載の画像処理装置。 Fitting calculation means for calculating five evaluation values for five pixels in the vicinity of corresponding points in an image of a predetermined resolution and obtaining the corresponding points by using an approximate function coefficient based on the five evaluation values. The image processing apparatus according to claim 2, further comprising:
請求項2に記載の画像処理装置。 Fitting calculation means for calculating nine evaluation values for nine pixels in the vicinity of corresponding points in an image of a predetermined resolution and obtaining the corresponding points by using coefficients of an approximation function based on the nine evaluation values. The image processing apparatus according to claim 2, further comprising:
請求項1に記載の画像処理装置。 The multi-resolution unit converts the input image into a plurality of resolution images having a resolution lower than that of the input image or a plurality of resolution images having a resolution higher than that of the input image. Image processing device.
前記多重解像度化ステップの処理により複数の解像度に変換された第1のタイミングの第1の画像を蓄積する第1の蓄積ステップと、
前記多重解像度化ステップの処理により複数の解像度に変換された前記第1のタイミングよりも時間的に直前の第2のタイミングの第2の画像を蓄積する第2の蓄積ステップと、
第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点を探索する対応点探索ステップと、
前記対応点探索ステップの処理により探索された前記第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点の情報を格納する格納ステップとを含み、
前記対応点探索ステップの処理は、前記格納ステップの処理で格納された前記第1の解像度における対応点の情報に基づいて、前記第1の解像度よりも高解像度の第2の解像度における第2の画像の画素と前記第2の解像度における前記第1の画像の画素との対応点を探索し、順次繰り返す
画像処理方法。 A multi-resolution step for converting an input image into a plurality of resolution images;
A first accumulation step of accumulating a first image at a first timing converted into a plurality of resolutions by the processing of the multi-resolution step;
A second accumulating step of accumulating a second image at a second timing immediately before the first timing converted into a plurality of resolutions by the multi-resolution process;
A corresponding point search step of searching for corresponding points between the pixels of the second image at the first resolution and the pixels of the first image at the first resolution;
A storing step for storing information on corresponding points between the pixel of the second image at the first resolution and the pixel of the first image at the first resolution searched by the processing of the corresponding point searching step; Including
The processing of the corresponding point search step includes a second resolution at a second resolution higher than the first resolution based on the information on the corresponding points at the first resolution stored in the processing at the storage step. An image processing method for searching for a corresponding point between a pixel of an image and a pixel of the first image at the second resolution, and sequentially repeating.
前記多重解像度化ステップの処理により複数の解像度に変換された第1のタイミングの第1の画像を蓄積する第1の蓄積ステップと、
前記多重解像度化ステップの処理により複数の解像度に変換された前記第1のタイミングよりも時間的に直前の第2のタイミングの第2の画像を蓄積する第2の蓄積ステップと、
第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点を探索する対応点探索ステップと、
前記対応点探索ステップの処理により探索された前記第1の解像度における前記第2の画像の画素と前記第1の解像度における前記第1の画像の画素との対応点の情報を格納する格納ステップとを含み、
前記対応点探索ステップの処理は、前記格納ステップの処理で格納された前記第1の解像度における対応点の情報に基づいて、前記第1の解像度よりも高解像度の第2の解像度における第2の画像の画素と前記第2の解像度における前記第1の画像の画素との対応点を探索し、順次繰り返す
プログラム。 A multi-resolution step for converting an input image into a plurality of resolution images;
A first accumulation step of accumulating a first image at a first timing converted into a plurality of resolutions by the processing of the multi-resolution step;
A second accumulating step of accumulating a second image at a second timing immediately before the first timing converted into a plurality of resolutions by the multi-resolution process;
A corresponding point search step of searching for corresponding points between the pixels of the second image at the first resolution and the pixels of the first image at the first resolution;
A storing step for storing information on corresponding points between the pixel of the second image at the first resolution and the pixel of the first image at the first resolution searched by the processing of the corresponding point searching step; Including
The processing of the corresponding point search step includes a second resolution at a second resolution higher than the first resolution based on the information on the corresponding points at the first resolution stored in the processing at the storage step. A program for searching for corresponding points between pixels of an image and pixels of the first image at the second resolution, and sequentially repeating the program.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006226016A JP2008053875A (en) | 2006-08-23 | 2006-08-23 | Image processing apparatus and method, program, and program storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006226016A JP2008053875A (en) | 2006-08-23 | 2006-08-23 | Image processing apparatus and method, program, and program storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008053875A true JP2008053875A (en) | 2008-03-06 |
Family
ID=39237508
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006226016A Withdrawn JP2008053875A (en) | 2006-08-23 | 2006-08-23 | Image processing apparatus and method, program, and program storage medium |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008053875A (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009071821A (en) * | 2007-09-11 | 2009-04-02 | Samsung Electronics Co Ltd | Video alignment method and apparatus |
| KR20090100279A (en) * | 2008-03-18 | 2009-09-23 | 톰슨 라이센싱 | Method and device for generating image data stream, method and device for reconstructing current image from image data stream, storage medium having image data stream and image data stream |
| JP2013520717A (en) * | 2010-02-11 | 2013-06-06 | マイクロソフト コーポレーション | General platform video image stabilization |
| WO2015107887A1 (en) * | 2014-01-15 | 2015-07-23 | 日本電気株式会社 | Motion vector searching apparatus, motion vector searching method, and storage medium storing motion vector searching program |
| US9824426B2 (en) | 2011-08-01 | 2017-11-21 | Microsoft Technology Licensing, Llc | Reduced latency video stabilization |
| CN113498609A (en) * | 2018-12-31 | 2021-10-12 | 北京达佳互联信息技术有限公司 | Picture resolution dependent configuration for video coding and decoding |
-
2006
- 2006-08-23 JP JP2006226016A patent/JP2008053875A/en not_active Withdrawn
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009071821A (en) * | 2007-09-11 | 2009-04-02 | Samsung Electronics Co Ltd | Video alignment method and apparatus |
| KR20090100279A (en) * | 2008-03-18 | 2009-09-23 | 톰슨 라이센싱 | Method and device for generating image data stream, method and device for reconstructing current image from image data stream, storage medium having image data stream and image data stream |
| KR101579472B1 (en) | 2008-03-18 | 2015-12-23 | 톰슨 라이센싱 | A method and device for generating an image data stream, a method and device for reconstructing a current image from an image data stream, a storage medium having an image data stream and an image data stream |
| US10257421B2 (en) | 2010-02-11 | 2019-04-09 | Microsoft Technology Licensing, Llc | Generic platform video image stabilization |
| JP2013520717A (en) * | 2010-02-11 | 2013-06-06 | マイクロソフト コーポレーション | General platform video image stabilization |
| US10841494B2 (en) | 2010-02-11 | 2020-11-17 | Microsoft Technology Licensing, Llc | Motion vector estimation for video image stabilization |
| US9578240B2 (en) | 2010-02-11 | 2017-02-21 | Microsoft Technology Licensing, Llc | Generic platform video image stabilization |
| US9824426B2 (en) | 2011-08-01 | 2017-11-21 | Microsoft Technology Licensing, Llc | Reduced latency video stabilization |
| JPWO2015107887A1 (en) * | 2014-01-15 | 2017-03-23 | 日本電気株式会社 | Motion vector search apparatus, motion vector search method, and recording medium for storing motion vector search program |
| US10349071B2 (en) | 2014-01-15 | 2019-07-09 | Nec Corporation | Motion vector searching apparatus, motion vector searching method, and storage medium storing motion vector searching program |
| WO2015107887A1 (en) * | 2014-01-15 | 2015-07-23 | 日本電気株式会社 | Motion vector searching apparatus, motion vector searching method, and storage medium storing motion vector searching program |
| CN113498609A (en) * | 2018-12-31 | 2021-10-12 | 北京达佳互联信息技术有限公司 | Picture resolution dependent configuration for video coding and decoding |
| CN113498609B (en) * | 2018-12-31 | 2023-06-20 | 北京达佳互联信息技术有限公司 | Image resolution-dependent configuration for video codecs |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10818018B2 (en) | Image processing apparatus, image processing method, and non-transitory computer-readable storage medium | |
| JP4154661B2 (en) | Image processing apparatus and method, recording medium, and program | |
| US8311336B2 (en) | Compositional analysis method, image apparatus having compositional analysis function, compositional analysis program, and computer-readable recording medium | |
| JP3837575B2 (en) | Speeding up of super-resolution processing | |
| US9674441B2 (en) | Image processing apparatus, image processing method, and storage medium | |
| KR20070080582A (en) | An image processing apparatus and method, a recording medium, and a program | |
| JP5107409B2 (en) | Motion detection method and filtering method using nonlinear smoothing of motion region | |
| US11062464B2 (en) | Image processing apparatus, method, and storage medium to derive optical flow | |
| CN1734500A (en) | Computing a higher resolution image using model-based, robust bayesian estimation | |
| JP2012177676A (en) | Information processor and method, and program | |
| CN102208107A (en) | Image processing device, image processing method, and program | |
| US8085986B2 (en) | Image processing apparatus and method for processing images more naturally and sharply | |
| JP2009147807A (en) | Image processing device | |
| JP4689758B1 (en) | Image coincidence point detection apparatus, image coincidence point detection method, and recording medium | |
| JP6093221B2 (en) | Image processing circuit and image detection apparatus | |
| KR20180122548A (en) | Method and apparaturs for processing image | |
| JP2012253482A (en) | Image processing device, image processing method, recording medium, and program | |
| JP2000244851A (en) | Image processing apparatus, method, and computer-readable storage medium | |
| JP5163429B2 (en) | Motion vector detection apparatus, processing method thereof, and program | |
| JP6075294B2 (en) | Image processing system and image processing method | |
| JP5566199B2 (en) | Image processing apparatus, control method therefor, and program | |
| JP2008053875A (en) | Image processing apparatus and method, program, and program storage medium | |
| JP2010114596A (en) | Motion vector detection apparatus, motion vector processing method and program | |
| US20130120802A1 (en) | Image processing apparatus and image processing method | |
| JP2005277732A (en) | Rectangular image four-corner detection method and apparatus, program, and storage medium storing rectangular image four-corner detection program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091110 |