[go: up one dir, main page]

JP2008053875A - Image processing apparatus and method, program, and program storage medium - Google Patents

Image processing apparatus and method, program, and program storage medium Download PDF

Info

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
Application number
JP2006226016A
Other languages
Japanese (ja)
Inventor
Takahiro Ishii
隆寛 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006226016A priority Critical patent/JP2008053875A/en
Publication of JP2008053875A publication Critical patent/JP2008053875A/en
Withdrawn legal-status Critical Current

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の画像の各画素との対応点を探索し、順次繰り返す。本発明は、撮像装置に適用することができる。
【選択図】図4
A 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).

特開2002−044669号公報JP 2002-044669 A

ところで、近年の画像処理技術は、ブロックサイズを小さくし大局的なオブジェクトの構造および動特性を配慮することにより、さらなる圧縮率の向上を狙う傾向にある。また、撮像素子の解像度が上がったため、データ量が増え、フレームあたりの処理時間を下げることが一層困難になってきている。ここで、画素単位でブロックマッチングに必要な計算量を考えてみる。   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 claim 9.

本発明の画像処理装置は、独立した装置であっても良いし、画像処理を行うブロックであっても良い。   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 point search unit 33 in FIG. 4) for searching for corresponding points between the pixels of the second image in the first image and the pixels of the first image at the first resolution, and the corresponding points Search by search means Storage means for storing information on corresponding points between the pixels of the second image at the first resolution and the pixels of the first image at the first resolution (for example, corresponding point motion vectors in FIG. 4) The corresponding point search means based on the corresponding point information at the first resolution stored in the storage means at a second resolution higher than the first resolution. Corresponding points between the pixels of the second image and the pixels of the first image at the second resolution are searched and repeated sequentially.

前記対応点探索手段には、前記第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 evaluation calculation unit 33c in FIG. 4) can be further included, and a pixel having the smallest evaluation value calculated by the evaluation value calculation means can be searched as a corresponding point. .

前記評価値計算手段(例えば、図4の評価計算部33c)には、前記ブロックマッチングのブロック内の注目画素からの距離に応じた重み付け評価を用いて、前記第1の解像度の第2の画像の各画素と前記第1の解像度の第1の画像の各画素との対応点の評価値を求めるようにさせることができる。   The evaluation value calculation means (for example, the evaluation calculation unit 33c in FIG. 4) uses the weighted evaluation according to the distance from the target pixel in the block of the block matching to use the second image having the first resolution. The evaluation value of the corresponding point between each pixel and each pixel of the first image of the first resolution can be obtained.

前記評価値計算手段(例えば、図4の評価計算部33c)には、前記ブロックマッチングのブロック間の対応画素間の画素値の差に応じた重み付け評価を用いて、前記第1の解像度の第2の画像の各画素と前記第1の解像度の第1の画像の各画素との対応点の評価値を求めるようにさせることができる。   The evaluation value calculation means (for example, the evaluation calculation unit 33c in FIG. 4) uses the weighted evaluation according to the difference in pixel value between corresponding pixels between the blocks of the block matching, and the first resolution of the first resolution. The evaluation value of the corresponding point between each pixel of the second image and each pixel of the first image having the first resolution can be obtained.

所定の解像度の画像における対応点の近傍にある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 resolution reduction filter 31a) or an image having a plurality of resolutions higher than the input image can be converted (for example, the resolution enhancement filter 31b of the multi-resolutionization unit 31 in FIG. 4).

本発明の一側面の画像処理方法およびプログラムは、入力画像を複数の解像度の画像に変換する多重解像度化ステップ(例えば,図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 shake correction apparatus 1 in FIG. 3 corrects image flicker caused by camera shake according to a motion vector when an image is captured.

画像バッファ11は、撮像された画像を一時的に蓄積し、動きベクトル検出部12および手ぶれ補正部14に適宜供給する。   The image buffer 11 temporarily stores the captured image and supplies it to the motion vector detection unit 12 and the camera shake correction unit 14 as appropriate.

動きベクトル検出部12は、画像バッファ11に蓄積された画像の各画素について動きベクトルを検出し、動きベクトルバッファ13に蓄積させる。   The motion vector detection unit 12 detects a motion vector for each pixel of the image stored in the image buffer 11 and stores it in the motion vector buffer 13.

手ぶれ補正部14は、画像バッファ11に蓄積されている画像を読み出し、動きベクトルバッファ13に蓄積されている動きベクトルに応じて、手ぶれを補正して出力する。   The camera shake correction unit 14 reads the image stored in the image buffer 11, corrects the camera shake according to the motion vector stored in the motion vector buffer 13, and outputs it.

次に、図4を参照して、動きベクトル検出部12の構成例について説明する。   Next, a configuration example of the motion vector detection unit 12 will be described with reference to FIG.

多重解像度化部31は、画像バッファ11に蓄積されている画像を低解像度化フィルタ31aおよび高解像度化フィルタ31bにより複数の解像度の画像に変換し、多重解像度画像バッファ32−1に供給する。低解像度化フィルタ31aは、入力画像を水平方向および垂直方向に隣接する画素を平均化するなどして、低解像度化する処理を所定回数繰り返し、順次低解像度化した画像に変換する。また、高解像度化フィルタ31bは、入力画像を水平方向および垂直方向に隣接する画素間の画素を補間するなどして、高解像度化する処理を所定回数繰り返し、順次高解像度化した画像に変換する。   The multi-resolution unit 31 converts the image stored in the image buffer 11 into an image having a plurality of resolutions by using the low-resolution filter 31a and the high-resolution filter 31b, and supplies the image to the multi-resolution image buffer 32-1. The resolution reduction filter 31a repeats a process for reducing the resolution a predetermined number of times, for example, by averaging pixels adjacent in the horizontal direction and the vertical direction, and sequentially converts the input image into a reduced resolution image. Further, the high resolution filter 31b repeats a process for increasing the resolution a predetermined number of times by interpolating pixels between adjacent pixels in the horizontal direction and the vertical direction, and sequentially converts the input image into a higher resolution image. .

多重解像度画像バッファ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 point search unit 33 searches for corresponding points for each pixel from the lowest resolution images stored in the multi-resolution image buffers 32-1 and 32-2. That is, the corresponding point search unit 33 uses the image stored in the multi-resolution image buffer 32-1 as the corresponding point that is the end point of the motion vector in the pixel of the previous image stored in the multi-resolution image buffer 32-2. Is determined by searching within the determined search range and stored in the corresponding point motion vector buffer 34.

マッチングブロック設定部33aは、多重解像度画像のうち、最低解像度の画像については、直前の画像の注目画素に対応するマッチングブロックを構成する画素を抽出すると供に、今現在の画像における各画素について、探索範囲となるマッチングブロックを構成する画素を抽出する。   The matching block setting unit 33a extracts the pixels constituting the matching block corresponding to the target pixel of the immediately preceding image for the lowest resolution image among the multi-resolution images, and for each pixel in the current image, Pixels constituting a matching block that is a search range are extracted.

また、マッチングブロック設定部33aは、多重解像度画像のうち、最低解像度以外の画像については、所定の解像度の直前の画像における注目画素について、初期値動きベクトルバッファ36に格納されている所定の解像度よりも解像度レベルが1レベル低い画像における対応点(動きベクトルの終点)の情報に基づいて、初期対応点決定部33eにより決定された初期対応点を基準として、探索範囲内の画素とマッチングブロックを構成する画素、すなわち、直前の画像における注目画素と、その近傍の画素を抽出すると供に、探索範囲設定部33bにおいて注目画素に対応して設定される現在の画像上の探索範囲内でマッチングブロックを移動させて、順次マッチングブロックを構成する画素を抽出する。   Further, the matching block setting unit 33a, for an image other than the lowest resolution among the multi-resolution images, for the pixel of interest in the image immediately before the predetermined resolution, than the predetermined resolution stored in the initial value motion vector buffer 36. Based on the information on the corresponding point (end point of the motion vector) in the image whose resolution level is one level lower, the matching block is configured with the pixels in the search range on the basis of the initial corresponding point determined by the initial corresponding point determination unit 33e. The pixel, that is, the pixel of interest in the previous image and its neighboring pixels are extracted, and the matching block is moved within the search range on the current image set in correspondence with the pixel of interest in the search range setting unit 33b Thus, pixels constituting the matching block are sequentially extracted.

評価計算部33cは、マッチングブロック設定部33aより供給されてくる直前の画像と、現在の画像とのそれぞれのマッチングブロックを構成する画素により評価値を計算する。   The evaluation calculation unit 33c calculates an evaluation value based on the pixels constituting each matching block of the immediately preceding image supplied from the matching block setting unit 33a and the current image.

対応点決定部33dは、評価計算部33cにより計算された評価値のうち、最も小さな評価値をとる現在の画像の画素、すなわち、直前の画像と現在の画像との間で最も類似しているとみなされる画素を、注目画素の対応点(注目画素の動きベクトルの終点)として対応点動きベクトルバッファ34に格納する。また、対応点決定部33dは、最も解像度の高い画像(または、動きベクトルを求めようとする所定の解像度の画像)における対応点の情報を動きベクトル生成部37に供給する。   The corresponding point determination unit 33d is the pixel of the current image having the smallest evaluation value among the evaluation values calculated by the evaluation calculation unit 33c, that is, the most similar between the immediately preceding image and the current image. Are stored in the corresponding point motion vector buffer 34 as corresponding points of the target pixel (end points of the target pixel's motion vector). Also, the corresponding point determination unit 33d supplies information on corresponding points in the image with the highest resolution (or an image with a predetermined resolution for which a motion vector is to be obtained) to the motion vector generation unit 37.

動きベクトル出力判定部35は、対応点動きベクトルバッファ34に新たに対応点の情報が蓄積されると、初期値動きベクトルバッファ36に転送する。   When the corresponding point information is newly accumulated in the corresponding point motion vector buffer 34, the motion vector output determination unit 35 transfers the information to the initial value motion vector buffer 36.

動きベクトル生成部37は、最高解像度の画像(または、動きベクトルを求めようとする所定の解像度の画像)における直前の画像における各画素に対応した今現在の画像の対応点の情報に基づいて、動きベクトルを求めて動きベクトルバッファ13に順次格納する。   The motion vector generation unit 37 is based on information on corresponding points of the current image corresponding to each pixel in the immediately preceding image in the highest resolution image (or an image of a predetermined resolution for which a motion vector is to be obtained). The motion vector is obtained and sequentially stored in the motion vector buffer 13.

次に、図5のフローチャートを参照して、手ぶれ補正処理について説明する。   Next, camera shake correction processing will be described with reference to the flowchart of FIG.

ステップS1において、画像バッファ11は、入力画像をバッファリングする。   In step S1, the image buffer 11 buffers the input image.

ステップS2において、動きベクトル検出部12は、画像バッファ11に格納された画像を読み出し、動きベクトル検出処理を実行し、入力された画像の各画素単位で動きベクトルを検出して動きベクトルバッファ13に格納させる。   In step S <b> 2, the motion vector detection unit 12 reads an image stored in the image buffer 11, executes a motion vector detection process, detects a motion vector for each pixel of the input image, and stores the motion vector in the motion vector buffer 13. Store.

ここで、図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-resolution filter 31a to sequentially convert the input image into an image with a reduced resolution and store the converted image in the multi-resolution image buffer 32-1. That is, the low resolution filter 31a converts an input image (resolution level (0) image = Level 0 image) in units of 3 × 3 pixels in the horizontal and vertical directions as shown in FIG. The pixel value is converted into one pixel by a filtering process as shown in the following expression (1), thereby converting the pixel value into an image (Level 1 image) having a resolution level (1) lower than the input image. FIG. 7 shows images of resolution levels (0), (1), and (2) (resolutions of Levels 0, 1, and 2) in which the resolution is reduced in order from the bottom, respectively, in the horizontal direction or An arrangement state in a one-dimensional direction in the vertical direction is shown. Moreover, the cross in the figure indicates the pixel center of the pixel p, the vertical bar is the pixel boundary, and each number is a number for identifying the pixel p. Accordingly, in FIG. 7, pixels p0 to p15 are displayed for the resolution level (0) image (Level 0 image), and for the resolution level (1) image (Level 1 image), pixels p0 to p15 are displayed. p8 is displayed, and pixels p0 to p4 are displayed for an image of resolution level (2) (an image of Level 2).

Figure 2008053875
Figure 2008053875

尚、式(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-resolution filter 31b to sequentially convert the input images into high-resolution images and store them in the multi-resolution image buffer 32-2. That is, the high resolution filter 31b converts the input image (resolution level (0) image = level 0 image in the figure) in units of 4 × 4 pixels in the horizontal direction and the vertical direction as shown in FIG. Then, the pixel value is converted into one pixel by bicubic filter processing, thereby converting the pixel value into an image having a resolution level (-1) higher than the input image (Level-1 image). FIG. 8 shows images of resolution levels (0), (−1), and (−2) in which resolution is increased in order from the top (= level 0, −1, and −2 images). An arrangement state of a direction or a one-dimensional direction in the vertical direction is shown. Therefore, in FIG. 8, pixels p0 to p3 are displayed for the image of resolution level (0), and pixels p0 to p7 are displayed for the image of resolution level (−1), and the resolution level (− Pixels p0 to p15 are displayed for the image 2).

また、解像度レベル(-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 point search unit 33 executes a minimum resolution corresponding point extraction process to extract a corresponding point (end point of the motion vector of each pixel) for each pixel of the image immediately before the minimum resolution.

ここで、図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 block setting unit 33a sets an unprocessed pixel as the target pixel pb among the lowest resolution images stored in the multi-resolution image buffer 32-2, and the target pixel pb. A pixel group constituting a matching block corresponding to the pixel pb is extracted and supplied to the evaluation calculation unit 33c. The size of the matching block set by the matching block setting unit 33a is, for example, Sb [k] × Sb [k]. Here, Sb [k] is expressed by the following equation (2).

Figure 2008053875
Figure 2008053875

式(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 range setting unit 33b stores in the multiresolution image buffer 32-1 corresponding to the pixel of interest pb on the lowest resolution image (previous image) stored in the multiresolution image buffer 32-2. An unprocessed search range on the lowest resolution image (current image) being set is set. Here, the search range size is, for example, Ss [k] × Ss [k]. Here, Ss [k] is expressed by the following equation (3).

Figure 2008053875
Figure 2008053875

従って、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 range setting unit 33b sets an unprocessed corresponding point pixel pf in the search range on the current image.

ステップS44において、マッチングブロック設定部33aは、対応点画素pfに対応する、多重解像度画像バッファ32−1に記憶されている最低解像度の画像(現在の画像)マッチングブロックを構成する画素群を抽出し、評価計算部33cに供給する。   In step S44, the matching block setting unit 33a extracts a pixel group constituting the lowest resolution image (current image) matching block stored in the multiresolution image buffer 32-1 corresponding to the corresponding point pixel pf. To the evaluation calculation unit 33c.

ステップS45において、評価計算部33cは、マッチングブロック設定部33aより供給されてきた、直前の最低解像度の画像上の注目画素pbに対応するマッチングブロックを構成する画素群と、現在の最低解像度の画像上の対応点画素pfに対応するマッチングブロックを構成する画素群とを用いて、以下の式(4)を計算することにより、注目画素pbと対応点画素pfとの評価値e(Pb,Pf)を計算する。   In step S45, the evaluation calculation unit 33c supplies a pixel group constituting the matching block corresponding to the target pixel pb on the immediately preceding lowest resolution image supplied from the matching block setting unit 33a, and the current lowest resolution image. The following equation (4) is calculated using the pixel group that constitutes the matching block corresponding to the upper corresponding point pixel pf, thereby obtaining an evaluation value e (Pb, Pf) between the target pixel pb and the corresponding point pixel pf. ).

Figure 2008053875
Figure 2008053875

Figure 2008053875
Figure 2008053875

ここで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 range setting unit 33b determines whether or not the evaluation value e with the target pixel pb has been calculated for all corresponding point pixels pf in the search range. If it is determined in step S46 that the evaluation value e with the target pixel pb has not been calculated for all corresponding point pixels pf, the process returns to step S43. That is, for all the corresponding point pixels pf in the search range, the processes of steps S43 to S46 are repeated until the evaluation value e with the target pixel pb is calculated.

そして、ステップ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 range setting unit 33b determines whether or not there is an unprocessed search range for the pixel of interest pb. If there is an unprocessed search range, the process returns to step S42, and the unprocessed search range is processed. Until there is no more search range, steps S42 to S47 are repeated.

ステップ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 point determination unit 33d searches for a combination of the target pixel pb and the corresponding point pixel pf that minimizes the evaluation value e. The corresponding point pixel pf is stored in the corresponding point motion vector buffer 34 as the corresponding point of the target pixel pb, that is, the motion vector VL = P [L] (pb).

ステップS49において、マッチングブロック設定部33aは、未処理の注目画素が存在するか否かを判定し、未処理の注目画素が存在する場合、処理は、ステップS41に戻る。すなわち、最低解像度の全ての画素について、対応点が求められるまで、ステップS41乃至S49の処理が繰り返され、ステップS49において、直前の最低解像度の画像の全ての画素について対応点が求められた場合、すなわち、直前の最低解像度の画像の全ての画素について動きベクトルが求められた場合、処理は終了する。尚、処理が終了される際、動きベクトル出力判定部35は、解像度レベルが最高解像度ではないとき、対応点動きベクトルバッファ34の情報を初期値動きベクトルバッファ36に転送する。   In step S49, the matching block setting unit 33a determines whether or not there is an unprocessed target pixel. If there is an unprocessed target pixel, the process returns to step S41. That is, the processing in steps S41 to S49 is repeated until the corresponding points are obtained for all the pixels with the lowest resolution. When the corresponding points are obtained for all the pixels of the immediately preceding lowest resolution image in step S49, That is, when motion vectors are obtained for all pixels of the immediately preceding lowest resolution image, the process ends. When the processing is completed, the motion vector output determination unit 35 transfers the information of the corresponding point motion vector buffer 34 to the initial value motion vector buffer 36 when the resolution level is not the highest resolution.

以上の処理により、直前の画像における各画素が順次注目画素として設定され、画像全体をカバーするように探索範囲が設定され、マッチングブロックを順次移動させながらブロックマッチングが繰り返されことにより、最低解像度の画像の各画素について、対応点、すなわち、始点を各画素としたときの動きベクトルの終点が求められ、対応点動きベクトルバッファ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 motion vector buffer 34. At this time, even if the search range is sequentially set for the entire image, the resolution is sufficiently low, and the corresponding points are obtained at high speed.

ここで、図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 point search unit 33 sequentially executes the corresponding point extraction process to obtain the image with the lowest resolution. Using the corresponding points, the corresponding points in the high-resolution image are searched sequentially.

ここで、図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 block setting unit 33a sets a counter k (not shown) indicating the resolution level (k) to (L-1). Note that k is an integer of le ≦ k ≦ L as described above.

ステップS62において、マッチングブロック設定部33aは、多重解像度画像バッファ32−2に記憶されている、直前の画像における解像度レベル(k)の画像のうち、未処理の画素を注目画素pbとして設定すると供に、注目画素pbに対応するマッチングブロックを構成する画素群を抽出し、評価計算部33cに供給する。マッチングブロック設定部33aにより設定されるマッチングブロックのサイズは、例えば、Sb[k]×Sb[k]である。ここで、Sb[k]は、以下の式(6)で示される。   In step S62, the matching block setting unit 33a sets an unprocessed pixel as the target pixel pb among the images of the resolution level (k) in the previous image stored in the multi-resolution image buffer 32-2. Then, a pixel group constituting a matching block corresponding to the target pixel pb is extracted and supplied to the evaluation calculation unit 33c. The size of the matching block set by the matching block setting unit 33a is, for example, Sb [k] × Sb [k]. Here, Sb [k] is expressed by the following equation (6).

Figure 2008053875
Figure 2008053875

ステップS63において、初期対応点決定部33eは、解像度レベル(k+1)の画像における対応点の情報を利用して、解像度レベル(k)の注目画素pbに対応する初期対応点Q[k](pb)を設定し、設定した初期対応点Q[k](pb)の情報を探索範囲設定部33bに供給する。   In step S63, the initial corresponding point determination unit 33e uses the information on the corresponding points in the image at the resolution level (k + 1), and the initial corresponding point Q [k] corresponding to the target pixel pb at the resolution level (k). (pb) is set, and information about the set initial corresponding point Q [k] (pb) is supplied to the search range setting unit 33b.

より詳細には、図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 point determination unit 33e determines the coordinates (x [k], y [k]) of the target pixel pb at the resolution level (k) as the resolution level (k +). By converting to the coordinates (x [k + 1], y [k + 1]) in the image space of 1), the coordinates of the pixel of interest pb ′ on the image of the corresponding resolution level (k + 1) (x [ k + 1], y [k + 1]). In FIG. 12, the pixel p1 on the image at the resolution level (k) is set as the target pixel pb, and the pixel on the image at the resolution level (k + 1) corresponding to the target pixel pb is the pixel pb ′. It is expressed by coordinates on the image of the resolution level (k + 1).

次に、初期値動きベクトルバッファ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 motion vector buffer 36, since the corresponding point is obtained for each pixel on the image of the resolution level (k + 1), the initial corresponding point determination unit 33e exists in the vicinity of the pixel pb ′. Then, the approximate corresponding point P [k + 1] (pb ′) is obtained by the 4-neighbor bilinear interpolation process using the corresponding points of the four pixels on the image of the resolution level (k + 1). That is, in FIG. 12, only the one-dimensional arrangement in the horizontal direction or the vertical direction is shown, so that only the pixels p0 and p1 are shown as the pixels in the vicinity of the pixel pb ′. Two pixels exist in the vicinity. Here, assuming that there are pixels pA and pB (not shown) in addition to the pixels p0 and p1 as pixels in the vicinity of the pixel pb ′, the initial corresponding point determination unit 33e selects the corresponding points P [k +1] (p0), P [k + 1] (p1), P [k + 1] (pA), P [k + 1] (pB) and approximate corresponding points by 4-neighbor bilinear interpolation 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) is an approximate corresponding point P [ The spatial ratio β + 1 (0 ≦ β ≦ 1) where k + 1] (pb ′) is located is the spatial ratio where the approximate corresponding point P [k + 1] (pb ′) between the pixels pA and pB is located. The right ratio)). Further, the initial corresponding point determination unit 33e changes the coordinates of the approximate corresponding point P [k + 1] (pb ′) from the coordinates in the image at the resolution level (k + 1) to the coordinates in the image at the resolution level (k). Is converted into the initial corresponding point Q [k] (pb).

尚、解像度レベル(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).

Figure 2008053875
Figure 2008053875

Figure 2008053875
Figure 2008053875

ステップ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 range setting unit 33b multi-resolution image buffer 32-1 corresponding to the pixel of interest pb on the resolution level (k) image (previous image) stored in the multi-resolution image buffer 32-2. The search range (for example, the initial corresponding point Q [k] (pb) corresponding to the initial corresponding point Q [k] (pb) on the image (current image) of the resolution level (k) stored in Set the search range as the center. Here, the search range size is, for example, Ss [k] × Ss [k]. Here, Ss [k] is expressed by the following equation (9).

Figure 2008053875
Figure 2008053875

ステップS65において、探索範囲設定部33bは、探索範囲内における未処理の対応点画素pfを今現在の画像上に設定する。   In step S65, the search range setting unit 33b sets the unprocessed corresponding point pixel pf in the search range on the current image.

ステップS66において、マッチングブロック設定部33aは、対応点画素pfに対応する、多重解像度画像バッファ32−1に記憶されている解像度レベル(k)の画像(現在の画像)におけるマッチングブロックを構成する画素群を抽出し、評価計算部33cに供給する。   In step S <b> 66, the matching block setting unit 33 a constitutes a matching block in the image (current image) of the resolution level (k) stored in the multi-resolution image buffer 32-1 corresponding to the corresponding point pixel pf. A group is extracted and supplied to the evaluation calculator 33c.

ステップS67において、評価計算部33cは、マッチングブロック設定部33aより供給されてきた、直前の解像度レベル(k)の画像上の注目画素pbに対応するマッチングブロックを構成する画素群と、現在の解像度レベル(k)の画像上の対応点画素pfに対応するマッチングブロックを構成する画素群とを用いて、上述の式(4)を計算することにより、注目画素pbと対応点画素pfとの評価値e(Pb,Pf)を計算する。   In step S67, the evaluation calculation unit 33c supplies the pixel group constituting the matching block corresponding to the pixel of interest pb on the image at the previous resolution level (k) supplied from the matching block setting unit 33a, and the current resolution. Evaluation of the pixel of interest pb and the corresponding point pixel pf is performed by calculating the above equation (4) using the pixel group constituting the matching block corresponding to the corresponding point pixel pf on the level (k) image. Calculate the value e (Pb, Pf).

ステップS68において、探索範囲設定部33bは、探索範囲内における全ての対応点画素pfについて、注目画素pbとの評価値eが計算されたか否かを判定する。ステップS68において、全ての対応点画素pfについて、注目画素pbとの評価値eが計算されていないと判定された場合、処理は、ステップS66に戻る。すなわち、探索範囲内における全ての対応点画素pfについて、注目画素pbとの評価値eが計算されるまで、ステップS66乃至S68の処理が繰り返される。   In step S68, the search range setting unit 33b determines whether or not the evaluation value e with the target pixel pb has been calculated for all the corresponding point pixels pf in the search range. If it is determined in step S68 that the evaluation value e with the target pixel pb has not been calculated for all corresponding point pixels pf, the process returns to step S66. That is, the processing of steps S66 to S68 is repeated until the evaluation value e with the target pixel pb is calculated for all corresponding point pixels pf within the search range.

そして、ステップ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 point determination unit 33d searches for a combination of the target pixel pb and the corresponding point pixel pf that minimizes the evaluation value e, and uses the corresponding point pixel pf as a corresponding point of the target pixel pb, that is, a motion vector. The corresponding point motion vector buffer 34 is stored as Vk = P [k] (pb).

ステップS70において、マッチングブロック設定部33aは、未処理の注目画素が存在するか否かを判定し、未処理の注目画素が存在する場合、処理は、ステップS62に戻る。すなわち、解像度レベル(k)の画像の全ての画素について、対応点が求められるまで、ステップS62乃至S70の処理が繰り返され、ステップS70において、直前の解像度レベル(k)の画像の全ての画素について対応点が求められた場合、すなわち、直前の解像度レベル(k)の画像の全ての画素について動きベクトルが求められた場合、処理は、ステップS71に進む。   In step S70, the matching block setting unit 33a determines whether or not there is an unprocessed target pixel. If there is an unprocessed target pixel, the process returns to step S62. That is, the processes in steps S62 to S70 are repeated for all the pixels of the image at the resolution level (k) until the corresponding points are obtained. In step S70, all the pixels of the image at the immediately previous resolution level (k) are determined. When the corresponding point is obtained, that is, when the motion vector is obtained for all the pixels of the image having the immediately previous resolution level (k), the process proceeds to step S71.

ステップS71において、マッチングブロック設定部33aは、解像度レベルを示す図示せぬカウンタkが最小値であるか否かを判定し、最小値ではない、すなわち、さらに、解像度の高い画像が存在すると判定された場合、ステップS72において、カウンタkを1デクリメントし、処理は、ステップS62に戻り、それ以降の処理が繰り返される。すなわち、解像度レベル(L-1)乃至(le)までの解像度レベル(k+1)で求められた対応点の情報を利用することにより、さらに、1レベル分上位の解像度レベルkの画像における各画素の対応点を求める処理が順次繰り返される。尚、このとき、動きベクトル出力判定部35は、対応点動きベクトルバッファ34の情報を初期値動きベクトルバッファ36に転送する。   In step S71, the matching block setting unit 33a determines whether or not a counter k (not shown) indicating the resolution level is the minimum value, and is determined not to be the minimum value, that is, there is an image with a higher resolution. In step S72, the counter k is decremented by 1, and the process returns to step S62, and the subsequent processes are repeated. That is, by using the corresponding point information obtained at the resolution levels (k + 1) from the resolution levels (L-1) to (le), each of the images in the resolution level k that is one level higher is displayed. The process for obtaining the corresponding points of the pixels is sequentially repeated. At this time, the motion vector output determination unit 35 transfers the information in the corresponding point motion vector buffer 34 to the initial value motion vector buffer 36.

一方、ステップ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 motion vector buffer 34. Then, this process is repeated up to the image of the resolution level (le) of the highest resolution 1 level and lower resolution.

結果として、探索範囲を初期対応点の近傍付近のみとすることが可能となるため、各解像度レベルの画像の各画素について、探索範囲を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 vector generation unit 37 finally generates a motion vector by the motion vector generation process using the corresponding point in each pixel of the resolution level (le), and stores it in the motion vector buffer 13, The process ends.

ここで、図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 vector generation unit 37 sets the target pixel p from the unprocessed pixel on the image of the resolution level (le) that is the highest resolution.

ステップS92において、動きベクトル生成部37は、対応点動きベクトルバッファ34に記憶されている、注目画素pの対応点P[le](p)を読み出し、ステップS93において、動きベクトルの終点である対応点から始点である注目画素を用いて、以下の式(10)を計算することにより、動きベクトルV(p)を生成する。   In step S92, the motion vector generation unit 37 reads the corresponding point P [le] (p) of the pixel of interest p stored in the corresponding point motion vector buffer 34. In step S93, the corresponding motion vector is the end point of the motion vector. The motion vector V (p) is generated by calculating the following equation (10) using the pixel of interest that is the starting point from the point.

Figure 2008053875
Figure 2008053875

ステップS94において、動きベクトル生成部37は、生成した注目画素pにおける動きベクトルV(p)を動きベクトルバッファ13に記憶させる。   In step S94, the motion vector generation unit 37 stores the generated motion vector V (p) at the target pixel p in the motion vector buffer 13.

ステップS95において、動きベクトル生成部37は、未処理の画素があるか否かを判定し、未処理の画素が存在すると判定した場合、処理は、ステップS91に戻り、未処理の画素がなくなるまで、ステップS91乃至S95の処理を繰り返す。そして、ステップS95において、未処理の画素が存在しない、すなわち、全ての画素について動きベクトルが生成されたと判定された場合、処理は終了する。   In step S95, the motion vector generation unit 37 determines whether or not there is an unprocessed pixel. If it is determined that there is an unprocessed pixel, the process returns to step S91 until there is no unprocessed pixel. The processes of steps S91 to S95 are repeated. If it is determined in step S95 that there are no unprocessed pixels, that is, motion vectors have been generated for all pixels, the process ends.

以上の処理により、低解像度の解像度レベルの画像より順次、直前の対応点の情報に基づいて、初期対応点を求め、その初期対応点近傍のみをマッチングブロックの探索範囲として設定することが可能となるので、高速で、かつ、安定的に動きベクトルを検出することが可能となる。尚、より高解像度の画像について、動きベクトルが必要である場合、さらに、多重解像度化部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 shake correction unit 14 reads the motion vector information of each pixel stored in the motion vector buffer 13, and for each pixel of the image read from the image buffer 11, The camera shake generated in the image is corrected and output.

ステップS4において、手ぶれ補正部14は、画像バッファ11に、次の画像が供給されてきたか否かを判定し、次の画像が供給されてきた場合、処理は、ステップS1に戻り、手ぶれを補正する処理が順次繰り返す。そして、ステップS4において、次の画像が供給されてきていないと判定された場合、処理は、終了する。   In step S4, the camera shake correction unit 14 determines whether or not the next image has been supplied to the image buffer 11. If the next image has been supplied, the process returns to step S1 to correct camera shake. The processing to be repeated sequentially. If it is determined in step S4 that the next image has not been supplied, the process ends.

以上の処理により、手ぶれの発生しているような画像であっても、上述した手法により、各画素について高速で動きベクトルが求められるので、動きベクトルに基づいて、手ぶれを補正して出力することが可能となる。   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 vector detection unit 12 in which the corresponding points are accurately obtained by one calculation by parameter fitting. In FIG. 14, the same components as those in FIG. 4 are denoted by the same reference numerals, and the description thereof will be omitted as appropriate.

図14において、図4と異なるのは、フィッティング計算部61および動きベクトル生成部62が設けられている点である。フィッティング計算部61は、2次関数により解像度レベルが1レベル下位の複数の画素を用いて解析的に対応点の位置を計算する。動きベクトル生成部62は、フィッティング計算部61より供給されてくる対応点に基づいて動きベクトルを生成する。   14 is different from FIG. 4 in that a fitting calculation unit 61 and a motion vector generation unit 62 are provided. The fitting calculation unit 61 analytically calculates the position of the corresponding point using a plurality of pixels whose resolution level is one level lower by a quadratic function. The motion vector generation unit 62 generates a motion vector based on the corresponding points supplied from the fitting calculation unit 61.

図14の動きベクトル検出部12を用いた手ぶれ補正処理について説明するが、図6のフローチャートにおけるステップS26の動きベクトル生成処理を除いて、図4の動きベクトル検出部12を用いた場合と同様であるので、図14の動きベクトル検出部12における動きベクトル生成処理のみを説明し、その他の処理は同様であるので、その説明は省略するものとする。   The camera shake correction process using the motion vector detection unit 12 in FIG. 14 will be described, but is the same as that using the motion vector detection unit 12 in FIG. 4 except for the motion vector generation process in step S26 in the flowchart in FIG. Therefore, only the motion vector generation process in the motion vector detection unit 12 in FIG. 14 will be described, and the other processes are the same, and the description thereof will be omitted.

まず、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 fitting calculation unit 61 sets a pixel of interest p from unprocessed pixels.

ステップ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 fitting calculation unit 61 obtains an initial corresponding point Q [k] (p) of the target pixel p [k]. That is, for example, with respect to the resolution level (le), it is assumed that le = 1, and the resolution of the image for which the motion vector is finally obtained is the resolution level (0), that is, the motion vector at each pixel of the input image is obtained. For example, the fitting calculation unit 61 obtains a pixel p ′ whose resolution level is one level higher from the target pixel p by the same method as the method shown in FIG. 12, and the pixel P [1] corresponding to the pixel p ′. (p ′) is obtained, and the corresponding point pixel P [1] (p ′) is subjected to coordinate transformation to obtain the initial corresponding point Q [0] of the corresponding point pixel P [0] (p) at the resolution level (0). Find (p).

ステップ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 fitting calculation unit 61, as shown in FIG. 16, at the resolution level (0), the pixel center q [0] of the pixel closest to Q [0] (p) and the pixels around it. Evaluated value e [i] of equation (4) at four points in the center, that is, q [i]: {i = 0,1,3,5,7} in total, {i = 0,1,3,5 , 7}.

ステップ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 fitting calculation unit 61 calculates an evaluation value e [i]: {i = 0,1,3,5,7} of five pixels in the vicinity of the initial corresponding point Q [0] (p) as follows: Substituting into the relational expression shown in equation (11), the addition vector (s, t) is obtained, and the vector addition is performed on the pixel q [0] closest to the initial corresponding point Q [0] (p). P [0] (p) is calculated and supplied to the motion vector generation unit 62.

Figure 2008053875
Figure 2008053875

ここで、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).

Figure 2008053875
Figure 2008053875

ここで、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.

Figure 2008053875
Figure 2008053875

さらに、パラメータのうちαが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).

Figure 2008053875
Figure 2008053875

Figure 2008053875
Figure 2008053875

ステップS115において、動きベクトル生成部62は、動きベクトルの終点である対応点から始点である注目画素を用いて、上述した式(10)を計算することにより、動きベクトルV(p)を生成する。   In step S115, the motion vector generation unit 62 generates the motion vector V (p) by calculating Expression (10) described above using the target pixel that is the start point from the corresponding point that is the end point of the motion vector. .

ステップS116において、動きベクトル生成部62は、生成した注目画素pにおける動きベクトルV(p)を動きベクトルバッファ13に記憶させる。   In step S116, the motion vector generation unit 62 stores the generated motion vector V (p) at the target pixel p in the motion vector buffer 13.

ステップS117において、動きベクトル生成部62は、未処理の画素があるか否かを判定し、未処理の画素が存在すると判定した場合、処理は、ステップS111に戻り、未処理の画素がなくなるまで、ステップS111乃至S117の処理を繰り返す。そして、ステップS117において、未処理の画素が存在しない、すなわち、全ての画素について動きベクトルが生成されたと判定された場合、処理は終了する。   In step S117, the motion vector generation unit 62 determines whether there is an unprocessed pixel. If it is determined that there is an unprocessed pixel, the process returns to step S111 until there is no unprocessed pixel. The processes of steps S111 to S117 are repeated. If it is determined in step S117 that there are no unprocessed pixels, that is, motion vectors have been generated for all pixels, the process ends.

以上の処理により、たかだか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 fitting calculation unit 61, as shown in FIG. 16, has the pixel center q [0] of the pixel closest to Q [0] (p) and the surrounding pixels at the resolution level (0). The evaluation value e [i]: {i = 0 to 8} of the equation (4) is calculated at 8 points in the pixel center, that is, q [i]: {i = 0 to 8} for a total of 9 points.

ステップ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 fitting calculation unit 61 represents the evaluation values e [i]: {i = 0 to 8} of nine pixels in the vicinity of the initial corresponding point Q [0] (p) by the following equation (16). The addition vector (s, t) is obtained, and the vector addition is performed on the pixel q [0] closest to the initial corresponding point Q [0] (p), and the corresponding point P [0] (p ) Is calculated and supplied to the motion vector generator 62.

Figure 2008053875
Figure 2008053875

すなわち、式(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).

Figure 2008053875
Figure 2008053875

さらに、式(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).

Figure 2008053875
Figure 2008053875

このような場合、以下の式(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.

Figure 2008053875
Figure 2008053875

式(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.

Figure 2008053875
Figure 2008053875

この条件に従って、式(19)を解くと、以下の式(21)で示されるように、αが求められる。   When equation (19) is solved according to this condition, α is obtained as shown in equation (21) below.

Figure 2008053875
Figure 2008053875

以上の処理により、全てのパラメータが決定されることにより、以下の式(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.

Figure 2008053875
Figure 2008053875

Figure 2008053875
Figure 2008053875

以上の処理により、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 vector detection unit 12 of FIG. 14 described with reference to the flowcharts of FIGS. 15 and 17 has been described when the resolution level (le) is le = 1 as an example of description. If the motion vector holding method changes, le may be a value other than 1.

また、これまで述べた方法は動きベクトル画像を過去から未来への変化として一方向にしか考えなかったが、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 / output interface 1005 is connected to the CPU 1001 via the bus 1004. A ROM (Read Only Memory) 1002 and a RAM (Random Access Memory) 1003 are connected to the bus 1004.

入出力インタフェース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 / output interface 1005 includes an input unit 1006 including an input device such as a keyboard and a mouse for a user to input an operation command, an output unit 1007 for outputting a processing operation screen and an image of a processing result to a display device, a program and various data. A storage unit 1008 including a hard disk drive to be stored, a LAN (Local Area Network) adapter, and the like, and a communication unit 1009 for performing communication processing via a network represented by the Internet are connected. Also, a magnetic disk (including a flexible disk), an optical disk (including a CD-ROM (Compact Disc-Read Only Memory), a DVD (Digital Versatile Disc)), a magneto-optical disk (including an MD (Mini Disc)), or a semiconductor A drive 1010 for reading / writing data from / to a removable medium 1011 such as a memory is connected.

CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア1011から読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。   The CPU 1001 is read from a program stored in the ROM 1002 or a removable medium 1011 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, installed in the storage unit 1008, and loaded from the storage unit 1008 to the RAM 1003. Various processes are executed according to the program. The RAM 1003 also appropriately stores data necessary for the CPU 1001 to execute various processes.

尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。   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.

従来の動きベクトルの求め方を説明する図である。It is a figure explaining how to obtain a conventional motion vector. 従来の動きベクトルの求め方を説明する図である。It is a figure explaining how to obtain a conventional motion vector. 本発明を適用した手ぶれ補正処理装置の構成例について説明するブロック図である。It is a block diagram explaining the structural example of the camera-shake correction processing apparatus to which this invention is applied. 図3の動きベクトル検出部の構成例を説明するブロック図である。It is a block diagram explaining the structural example of the motion vector detection part of FIG. 図3の手ぶれ補正処理装置による手ぶれ補正処理を説明するフローチャートである。4 is a flowchart for explaining camera shake correction processing by the camera shake correction processing apparatus of FIG. 3; 図4の動きベクトル検出部による動きベクトル検出処理を説明するフローチャートである。It is a flowchart explaining the motion vector detection process by the motion vector detection part of FIG. 多重解像度化部による低解像度化の多重解像度化処理を説明する図である。It is a figure explaining the multi-resolution process of the low resolution by a multi-resolution part. 多重解像度化部による高解像度化の多重解像度化処理を説明する図である。It is a figure explaining the multi-resolution conversion process of the high resolution by a multi-resolution part. 図4の動きベクトル検出部による最低解像度対応点抽出処理を説明するフローチャートである。It is a flowchart explaining the minimum resolution corresponding | compatible point extraction process by the motion vector detection part of FIG. ガウス関数を説明する図である。It is a figure explaining a Gaussian function. 図4の動きベクトル検出部による順次対応点抽出処理を説明するフローチャートである。It is a flowchart explaining the corresponding point extraction process by the motion vector detection part of FIG. 初期対応点の設定方法を説明する図である。It is a figure explaining the setting method of an initial corresponding point. 図4の動きベクトル検出部による動きベクトル生成処理を説明するフローチャートである。It is a flowchart explaining the motion vector production | generation process by the motion vector detection part of FIG. 図3の動きベクトル検出部のその他の構成例を説明するブロック図である。It is a block diagram explaining the other structural example of the motion vector detection part of FIG. 図14の動きベクトル検出部による動きベクトル生成処理を説明するフローチャートである。It is a flowchart explaining the motion vector generation process by the motion vector detection part of FIG. 図14の動きベクトル検出部による動きベクトル生成処理を説明する図である。It is a figure explaining the motion vector production | generation process by the motion vector detection part of FIG. 図14の動きベクトル検出部によるその他の動きベクトル生成処理を説明するフローチャートである。It is a flowchart explaining the other motion vector production | generation process by the motion vector detection part of FIG. パーソナルコンピュータの構成例を説明する図である。And FIG. 11 is a diagram illustrating a configuration example of a personal computer.

符号の説明Explanation of symbols

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 point determination unit 33e, 34 corresponding point motion vector buffer, 35 motion vector output determination unit, 36 initial value motion vector buffer, 37 motion vector generation unit

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.
前記評価値計算手段は、前記ブロックマッチングのブロック内の注目画素からの距離に応じた重み付け評価を用いて、前記第1の解像度の第2の画像の各画素と前記第1の解像度の第1の画像の各画素との対応点の評価値を求める
請求項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.
前記評価値計算手段は、前記ブロックマッチングのブロック間の対応画素間の画素値の差に応じた重み付け評価を用いて、前記第1の解像度の第2の画像の各画素と前記第1の解像度の第1の画像の各画素との対応点の評価値を求める
請求項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.
所定の解像度の画像における対応点の近傍にある5個の画素に対する5個の評価値を計算し、前記5個の評価値に基づいた近似関数の係数により、前記対応点を求めるフィッティング計算手段をさらに含む
請求項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:
所定の解像度の画像における対応点の近傍にある9個の画素に対する9個の評価値を計算し、前記9個の評価値に基づいた近似関数の係数により、前記対応点を求めるフィッティング計算手段をさらに含む
請求項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.
請求項9に記載のプログラムが格納されたプログラム格納媒体。   A program storage medium in which the program according to claim 9 is stored.
JP2006226016A 2006-08-23 2006-08-23 Image processing apparatus and method, program, and program storage medium Withdrawn JP2008053875A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (13)

* Cited by examiner, † Cited by third party
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