JP2011182084A - Image processor and image processing program - Google Patents
Image processor and image processing program Download PDFInfo
- Publication number
- JP2011182084A JP2011182084A JP2010042552A JP2010042552A JP2011182084A JP 2011182084 A JP2011182084 A JP 2011182084A JP 2010042552 A JP2010042552 A JP 2010042552A JP 2010042552 A JP2010042552 A JP 2010042552A JP 2011182084 A JP2011182084 A JP 2011182084A
- Authority
- JP
- Japan
- Prior art keywords
- movement vector
- image
- region
- reliability
- derived
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Image Processing (AREA)
- Studio Devices (AREA)
Abstract
Description
本発明は、電子撮影装置等の画像入力機器で生成された複数の画像を合成する際に用いられる画像処理の技術に関する。 The present invention relates to an image processing technique used when a plurality of images generated by an image input device such as an electronic photographing apparatus are combined.
像ブレを低減する、画像のダイナミックレンジを拡大する、あるいは、撮像素子の画素数や撮影レンズの解像性能を上回る解像度の画像を得るための技術として、複数の画像を位置合わせして重ね合わせ、合成する技術(以下では、複数の画像を位置合わせ合成することを「複数の画像を合成する」と称する)が知られている。 As a technique for reducing image blur, expanding the dynamic range of an image, or obtaining an image with a resolution that exceeds the number of pixels in the image sensor and the resolution of the taking lens, multiple images are aligned and superimposed. A technique for synthesizing (hereinafter, synthesizing and synthesizing a plurality of images is referred to as “combining a plurality of images”) is known.
像ブレを低減するには、適正露光量が得られるシャッタ秒時よりも短い時間で露光動作を行うことを比較的短時間の間に複数回行う。このように撮影を行うことにより、ひとつ一つの画像は露光量不足の画像ではあっても、像ブレの少ないものを得ることが可能となる。このようにして得られた複数の画像を合成することにより、適正な露光量で像ブレの少ない画像を得ることができる。この技術を以下では電子ブレ補正技術と称する。 In order to reduce the image blur, the exposure operation is performed a plurality of times in a relatively short time in a time shorter than the shutter speed at which the appropriate exposure amount is obtained. By photographing in this way, it is possible to obtain an image with little image blur even if each image is an image with insufficient exposure. By synthesizing a plurality of images thus obtained, an image with less image blur can be obtained with an appropriate exposure amount. This technique is hereinafter referred to as an electronic blur correction technique.
ダイナミックレンジ拡大は、複数回の露光動作を行い、その際に標準的な露光量に対して不足気味の露光量、過剰気味の露光量それぞれでもって露光動作を行う。不足気味の露光量で得られる画像は、ハイライト部分の白飛びが抑制され、過剰気味の露光量で得られる画像はシャドー部分の黒つぶれが抑制される。これら複数の画像を合成することにより、黒つぶれや白飛びが抑制された、ダイナミックレンジの広い画像を得ることが可能となる。この技術を以下ではダイナミックレンジ拡大技術と称する。 In the dynamic range expansion, an exposure operation is performed a plurality of times, and at that time, an exposure operation is performed with an underexposure exposure amount and an overexposure exposure amount with respect to a standard exposure amount. In an image obtained with an underexposure exposure amount, whiteout in a highlight portion is suppressed, and in an image obtained with an overexposure exposure amount, blackout in a shadow portion is suppressed. By synthesizing these plural images, it is possible to obtain an image with a wide dynamic range in which blackout and whiteout are suppressed. Hereinafter, this technique is referred to as a dynamic range expansion technique.
撮像素子の画素数や撮影レンズの解像性能を上回る解像度の画像を得るためには、複数の撮影で得られた複数の画像を合成し、それによって互いの画像で欠落している情報を補完しあう。それにより、1回の撮影で得られる画像が有する解像度よりも高い解像度の画像を得ることができる。この技術を以下では超解像技術と称する。 To obtain an image with a resolution that exceeds the number of pixels of the image sensor and the resolution of the taking lens, multiple images obtained from multiple shots are combined, thereby complementing the missing information in each other's images. Each other. Thereby, it is possible to obtain an image having a higher resolution than that of an image obtained by one shooting. This technique is hereinafter referred to as super-resolution technique.
上記のように、複数の画像を合成する技術は、画像処理分野において基本的な技術であり、様々な方法が提案されている。 As described above, a technique for combining a plurality of images is a basic technique in the image processing field, and various methods have been proposed.
特許文献1には、電子ブレ補正の技術が開示されている。特許文献1の技術では、画像の移動ベクトルや倍率変動量について、画像の代表値を求めて画像の位置ずれを補正する。しかし、現実の撮影においては、一連の複数の露光動作を行っている間に撮影者の手ブレや被写体ブレが発生する。そのため、複数の画像のそれぞれにおいて、被写体の写っている位置(被写体位置)が変化する。撮影者の手ブレに起因する被写体位置の変化は、画像内で一様な全体的な動きとなる。したがって、画像の代表的な位置で移動ベクトルを求め、位置合わせすることにより複数の画像の合成を容易に行うことができる。一方、被写体ブレでは、被写体中の動く部分だけが複数の画像間で位置ずれを生じる。このような、局所的に生じる位置ずれは、特許文献1に開示されるような、複数画像間の全体的な動きを補正する方式では、補正をすることは困難である。 Patent Document 1 discloses a technique for electronic blur correction. In the technique disclosed in Patent Document 1, a representative value of an image is obtained for an image movement vector and a magnification variation amount, and the positional deviation of the image is corrected. However, in actual shooting, camera shake or subject blur occurs during a series of a plurality of exposure operations. For this reason, the position of the subject (subject position) changes in each of the plurality of images. The change in the subject position caused by the camera shake of the photographer becomes a uniform overall movement in the image. Therefore, it is possible to easily synthesize a plurality of images by obtaining a movement vector at a representative position of the image and aligning it. On the other hand, in subject blurring, only a moving part in a subject is displaced between a plurality of images. Such locally generated positional deviation is difficult to correct with a method for correcting the overall movement between a plurality of images as disclosed in Japanese Patent Application Laid-Open No. 2004-133620.
この問題に対処するため、特許文献2、特許文献3には、撮影者の手ブレに起因した画像の全体的な位置ずれとともに、被写体の動きに起因した局所的な動きも同時に補正する手法が提案されている。特許文献2、特許文献3に開示される手法は、画像を小領域に分割し、各領域での移動ベクトルを求めたうえで、画像を滑らかに変形するものである。このようにすることにより、画像全体に存在するブレ(手ブレ)と画像内に局所的に存在するブレ(被写体ブレ)を同時に補正することが可能となる。 In order to cope with this problem, Patent Documents 2 and 3 disclose a method of simultaneously correcting the local movement caused by the movement of the subject as well as the overall positional deviation of the image caused by the camera shake of the photographer. Proposed. The methods disclosed in Patent Document 2 and Patent Document 3 divide an image into small regions, obtain a movement vector in each region, and then smoothly deform the image. By doing so, it becomes possible to simultaneously correct blurring (blurring of camera shake) existing in the entire image and blurring (subject blurring) existing locally in the image.
上述の手法では、各領域で求められた移動ベクトルの信頼性の判定処理が性能に大きく影響する。例えば、移動ベクトルを正しく求めることが困難な領域として、図1に例示されるものがある。図1は、複数の画像を位置合わせする際に移動ベクトルを正しく求めることが困難な領域を有する画像の例を示す図である。 In the above-described method, the determination process of the reliability of the movement vector obtained in each region greatly affects the performance. For example, FIG. 1 illustrates an area where it is difficult to correctly determine a movement vector. FIG. 1 is a diagram illustrating an example of an image having a region where it is difficult to correctly obtain a movement vector when aligning a plurality of images.
図1において、低コントラスト領域1、繰り返しパターン領域2、開口問題領域3などが示される。開口問題領域は、コントラストはあるものの、位置合わせの手がかりが足りない領域と定義することができる。このような領域では、テンプレートマッチングの処理に際して本来の対応位置とは異なる位置をマッチング位置として検出してしまうことがある。その結果、求められる移動ベクトルが必ずしも正確なものではない場合を生じる。このような不正確な移動ベクトルの影響によって、合成された画像が不自然なものとなることがある。 In FIG. 1, a low contrast region 1, a repetitive pattern region 2, an opening problem region 3 and the like are shown. The opening problem area can be defined as an area that has contrast but lacks clues for alignment. In such an area, a position different from the original corresponding position may be detected as a matching position in the template matching process. As a result, there are cases where the required movement vector is not always accurate. The combined image may become unnatural due to the influence of such an inaccurate movement vector.
特許文献2には、画像を格子状に分割し、各格子点で移動ベクトルを求め、さらに各格子点の輝度勾配の大きさに応じて重み付けしたうえで、格子を変形する技術が開示される。これによって、低コントラスト領域1など輝度勾配が小さい領域で求めた移動ベクトルの悪影響を抑制している。しかし、特許文献2の技術では、繰り返しパターン領域2や開口問題領域3などで求めた移動ベクトルに対する配慮が必ずしも十分とは云えない。 Japanese Patent Application Laid-Open No. 2004-228667 discloses a technique for deforming a grid after dividing an image into a grid, obtaining a movement vector at each grid point, and further weighting according to the magnitude of the luminance gradient of each grid point. . This suppresses the adverse effect of the movement vector obtained in a region with a small luminance gradient, such as the low contrast region 1. However, in the technique of Patent Document 2, it is not always sufficient to consider the movement vector obtained in the repeated pattern area 2 and the opening problem area 3.
特許文献3には、画像を小領域に分割し、各領域で移動ベクトルを求め、それら移動ベクトルについて、エッジの大きさあるいはコーナー角度などに応じた信頼度と、周囲の移動ベクトルとの相関を表す相関度によって重み付けをしながら移動ベクトルを円滑化する技術が開示される。 In Patent Document 3, an image is divided into small regions, movement vectors are obtained in each region, and the reliability of the movement vectors according to the size of the edge or the corner angle and the correlation between the surrounding movement vectors are calculated. A technique for smoothing a movement vector while weighting according to the degree of correlation to be expressed is disclosed.
特許文献3に開示される手法では、低コントラスト領域1、繰り返しパターン領域2、開口問題領域3で求めた移動ベクトルを用いない。したがって、これらの領域で求められる移動ベクトルに生じる誤差の影響を排除できる可能性がある。しかし、それらの排除した移動ベクトルが有する情報を活用することができず、かえって、位置合わせの手がかりが少なくなってしまう恐れがある。その結果、位置合わせ処理の安定を欠く場合がある。 The technique disclosed in Patent Document 3 does not use the movement vector obtained in the low contrast area 1, the repeated pattern area 2, and the opening problem area 3. Therefore, there is a possibility that the influence of errors occurring in the movement vector required in these areas can be eliminated. However, there is a possibility that the information contained in these excluded movement vectors cannot be used, and there are fewer clues for alignment. As a result, the alignment process may not be stable.
本発明は、上記の課題に鑑みてなされたものであり、移動ベクトルの信頼性をより詳しく評価し、信頼性の低い移動ベクトルからも位置合わせに有効な情報を抽出して活用することで、より安定した画像位置合わせ結果を得ることの可能な技術を提供することを目的とする。 The present invention has been made in view of the above problems, and evaluates the reliability of a movement vector in more detail, and extracts and uses information effective for alignment from a movement vector with low reliability. It is an object to provide a technique capable of obtaining a more stable image alignment result.
本発明の第1の態様によれば、基準画像中に基準領域を設定し、前記基準領域に対応する領域を参照画像内にて探索する領域である探索領域を設定する移動ベクトル測定領域設定部と、
前記移動ベクトル測定領域設定部で設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出部と、
前記移動ベクトル測定領域設定部で設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出部と、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出部で導出された移動ベクトルを2軸方向に沿う軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正処理部と
を有することにより上述した課題を解決する。
According to the first aspect of the present invention, a movement vector measurement region setting unit that sets a reference region in a reference image and sets a search region that is a region for searching for a region corresponding to the reference region in a reference image. When,
When a movement vector is derived from the reference area and the corresponding search area set by the movement vector measurement area setting unit, the reliability of the derived movement vector is determined from the reference area and the corresponding search area. A reliability deriving unit derived by analyzing at least one of the regions;
A motion vector deriving unit for searching in the search region for a region corresponding to the reference region set by the movement vector measurement region setting unit, and deriving a motion vector;
Based on the analysis result obtained by analyzing at least one of the reference area and the corresponding search area, the movement vector derived by the movement vector deriving unit is decomposed into axial components along two axial directions. The movement vector correction processing unit for deriving the movement vector of each axis component and correcting the movement vector of the axis component with lower reliability among the movement vectors of each axis component solves the above-described problem. .
本発明の第2の態様は、複数の画像間の位置ずれを減じて重ね合わせる処理をコンピュータに実行させるための画像処理プログラムである。この画像処理プログラムが、
基準画像中に基準領域を設定し、前記基準領域に対応する領域を参照画像内にて探索する領域である探索領域を設定する移動ベクトル測定領域設定ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出ステップと、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出ステップで導出された移動ベクトルを2軸方向の軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正ステップと
を有する。
A second aspect of the present invention is an image processing program for causing a computer to execute a process of superimposing by reducing a positional deviation between a plurality of images. This image processing program
A movement vector measurement region setting step for setting a reference region in a reference image and setting a search region which is a region for searching for a region corresponding to the reference region in a reference image;
When a movement vector is derived from the reference area and the corresponding search area set in the movement vector measurement area setting step, the reliability of the derived movement vector is determined from the reference area and the corresponding search area. A reliability deriving step derived by analyzing at least one of the regions;
A motion vector deriving step of searching in the search region for a region corresponding to the reference region set in the motion vector measurement region setting step, and deriving a motion vector;
Based on the analysis result obtained by analyzing at least one of the reference area and the corresponding search area, the movement vector derived in the movement vector deriving step is decomposed into two axial components. A movement vector correction step of deriving a movement vector of each axis component and correcting a movement vector of the axis component having lower reliability among the movement vectors of each axis component.
本発明の第3の態様は、複数の画像間の位置ずれを減じて重ね合わせる処理をコンピュータに実行させるための画像処理プログラムである。この画像処理プログラムが、
基準画像中に基準領域を設定し、前記基準領域に対応する領域を参照画像内にて探索する領域である探索領域を設定する移動ベクトル測定領域設定ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出ステップと、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出ステップで導出された移動ベクトルを2軸方向の軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正ステップと
を有する。
A third aspect of the present invention is an image processing program for causing a computer to execute a process of superimposing by reducing a positional deviation between a plurality of images. This image processing program
A movement vector measurement region setting step for setting a reference region in a reference image and setting a search region which is a region for searching for a region corresponding to the reference region in a reference image;
A motion vector deriving step of searching in the search region for a region corresponding to the reference region set in the motion vector measurement region setting step, and deriving a motion vector;
When a movement vector is derived from the reference area and the corresponding search area set in the movement vector measurement area setting step, the reliability of the derived movement vector is determined from the reference area and the corresponding search area. A reliability deriving step derived by analyzing at least one of the regions;
Based on the analysis result obtained by analyzing at least one of the reference area and the corresponding search area, the movement vector derived in the movement vector deriving step is decomposed into two axial components. A movement vector correction step of deriving a movement vector of each axis component and correcting a movement vector of the axis component having lower reliability among the movement vectors of each axis component.
本発明によれば、1軸方向だけにでも信頼性が高いと判定される場合には、その軸方向の成分の移動ベクトルを有効に活用することが可能となり、複数の画像間の位置ずれを減じることが可能となる。 According to the present invention, when it is determined that the reliability is high only in one axial direction, it is possible to effectively use the movement vector of the component in the axial direction, and the positional deviation between a plurality of images can be reduced. It can be reduced.
− 第1の実施の形態 −
図2は、本発明の第1の実施の形態の画像処理部を有する撮影装置100の構成を概略的に示す図である。図2中、各構成要素を結ぶ線に付される矢印はデータの流れの向きを示している。撮影装置100は、ユーザによる1回の撮影操作(レリーズスイッチを押下する操作)に応答して一連の複数回の露光動作を行うことが可能に構成される。そして撮影装置100は、複数回の露光動作で生成された複数コマ分の画像に対して位置合わせ、合成の処理を行い、ダイナミックレンジの拡大された画像、ブレの抑制された画像などを生成可能に構成される。なお、ここで「位置合わせ」とは、同様の被写体を有する複数の画像間において、対応関係にある画素や領域を特定する処理を示し、本実施形態においては、基準画像の或る領域に対して対応関係にある画素または領域を参照画像内で特定する処理をいう。
− First embodiment −
FIG. 2 is a diagram schematically showing a configuration of the photographing apparatus 100 having the image processing unit according to the first embodiment of the present invention. In FIG. 2, the arrows attached to the lines connecting the components indicate the direction of data flow. The photographing apparatus 100 is configured to be able to perform a series of multiple exposure operations in response to a single photographing operation (an operation of pressing a release switch) by a user. Then, the image capturing apparatus 100 can perform alignment and composition processing on images for a plurality of frames generated by a plurality of exposure operations, and can generate an image with an expanded dynamic range, an image with reduced blurring, and the like. Configured. Here, “alignment” refers to a process of identifying pixels or areas having a correspondence relationship between a plurality of images having the same subject, and in this embodiment, for a certain area of the reference image. In other words, the process specifies a pixel or region having a corresponding relationship in a reference image.
撮影装置100は、光学系104と、撮像部105と、アナログフロントエンド(以下AFE)106と、信号処理回路107と、記憶部108と、CPU109と、画像処理部300とを有し、これらの要素がシステムバス110を介して電気的に接続される。 The imaging apparatus 100 includes an optical system 104, an imaging unit 105, an analog front end (hereinafter referred to as AFE) 106, a signal processing circuit 107, a storage unit 108, a CPU 109, and an image processing unit 300. The elements are electrically connected via the system bus 110.
記憶部108は、RAM108AとROM108Bとを有する。ROM108Bは、フラッシュメモリ等で構成される。ROM108Bには、撮影パラメータと、画像処理パラメータ(これらのパラメータについては後で説明する)と、画像処理プログラムとが記憶される。ROM108Bにはまた、撮影して得られた画像データが記憶される。なお、記憶部108は、撮影装置100に対して着脱自在に装着されるメモリカードやハードディスクドライブ等の記憶媒体を含んでいてもよい。その場合、画像データはROM108Bまたは記憶媒体に記憶可能である。 The storage unit 108 includes a RAM 108A and a ROM 108B. The ROM 108B is configured by a flash memory or the like. The ROM 108B stores shooting parameters, image processing parameters (these parameters will be described later), and an image processing program. The ROM 108B also stores image data obtained by photographing. Note that the storage unit 108 may include a storage medium such as a memory card or a hard disk drive that is detachably attached to the photographing apparatus 100. In that case, the image data can be stored in the ROM 108B or a storage medium.
RAM108Aは、ワークエリアとして用いられる。例えば、上記の画像処理プログラムはROM108Bから読み出されてRAM108Aにコピーされ、その画像処理プログラムがCPU109によって逐次読み込まれ、解釈、実行される。画像処理部300は専用のハードウェアロジックや特定用途向け集積回路(ASIC)で構成することも可能であるが、以下ではCPU109が上記の画像処理プログラムを解釈、実行することにより画像処理部300が構成されるものとして説明をする。 The RAM 108A is used as a work area. For example, the image processing program is read from the ROM 108B and copied to the RAM 108A, and the image processing program is sequentially read, interpreted and executed by the CPU 109. The image processing unit 300 can be configured by a dedicated hardware logic or an application specific integrated circuit (ASIC), but in the following, the CPU 109 interprets and executes the above-described image processing program so that the image processing unit 300 It will be described as being configured.
ROM108Bに記憶される撮影パラメータのうち、焦点距離、シャッタ速度、絞り(F値)等に関連するものが光学系104に出力される。光学系104は被写体像を撮像部105の受光面上に形成する焦点距離可変のレンズと、シャッタ速度および絞りを調節可能なシャッタユニットとを含む。光学系104は、ROM108Bから読み出される上記焦点距離、シャッタ速度、絞り等に関連するパラメータに基づいて焦点距離、シャッタ速度、絞り等を調節可能に構成される。 Of the shooting parameters stored in the ROM 108B, those related to the focal length, shutter speed, aperture (F value), and the like are output to the optical system 104. The optical system 104 includes a variable focal length lens that forms a subject image on the light receiving surface of the imaging unit 105, and a shutter unit that can adjust a shutter speed and an aperture. The optical system 104 is configured to be able to adjust the focal length, shutter speed, aperture, etc. based on the parameters related to the focal length, shutter speed, aperture, etc. read from the ROM 108B.
撮像部105は、CCD、またはCMOS等のイメージセンサで構成される。撮像部105は、ダイクロイックプリズム等の色分解光学系と複数のイメージセンサとを有する、いわゆる多板式の構成を有していてもよいし、受光面上に赤、緑、青等のオンチップカラーフィルタが形成されるイメージセンサを有する、いわゆる単板式の構成を有していてもよい。以下では、撮像部105が単板式の構成を有していて、イメージセンサがベイヤ配列のオンチップカラーフィルタを有するものとして説明をする。撮像部105は、光学系104で形成された被写体像を光電変換してアナログ画像信号を生成する。 The imaging unit 105 is configured by an image sensor such as a CCD or a CMOS. The imaging unit 105 may have a so-called multi-plate configuration having a color separation optical system such as a dichroic prism and a plurality of image sensors, or on-chip color such as red, green, and blue on the light receiving surface. You may have what is called a single plate type structure which has an image sensor in which a filter is formed. In the following description, it is assumed that the imaging unit 105 has a single-plate configuration and the image sensor has a Bayer array on-chip color filter. The imaging unit 105 photoelectrically converts the subject image formed by the optical system 104 to generate an analog image signal.
ROM108Bに記憶される上記撮影パラメータのうち、ISO感度(アンプゲイン)等に関するものがAFE106に出力される。AFE106は、撮像部105から出力されるアナログ画像信号に相関二重サンプリング、増幅、A/D変換等の処理をしてデジタル画像信号を生成し、RAM108Aに一時的にストアする。このとき、AFE106は、撮像部105から出力されるアナログ画像信号を、ROM108Bから出力されるアンプゲインのパラメータに基づくゲイン設定で増幅する。 Among the shooting parameters stored in the ROM 108 </ b> B, those related to ISO sensitivity (amplifier gain) and the like are output to the AFE 106. The AFE 106 performs processing such as correlated double sampling, amplification, and A / D conversion on the analog image signal output from the imaging unit 105 to generate a digital image signal, and temporarily stores it in the RAM 108A. At this time, the AFE 106 amplifies the analog image signal output from the imaging unit 105 with a gain setting based on an amplifier gain parameter output from the ROM 108B.
信号処理回路107は、上述のようにAFE106から出力されてRAM108Aにストアされたデジタル画像信号に対して、ノイズ除去やデモザイキング、階調補正の処理などを行い、画像データを生成する。画像データは、記憶部108(RAM108AまたはROM108B)にストアされる。上述した一連の処理は、露光動作が1回行われる度に行われる。複数の露光動作が連続して行われる場合、露光回数分だけ上記の処理が行われる。 As described above, the signal processing circuit 107 performs noise removal, demosaicing, tone correction processing, and the like on the digital image signal output from the AFE 106 and stored in the RAM 108A to generate image data. The image data is stored in the storage unit 108 (RAM 108A or ROM 108B). The series of processes described above is performed every time the exposure operation is performed once. When a plurality of exposure operations are continuously performed, the above processing is performed for the number of times of exposure.
画像処理部300は、位置合わせ処理部309と、画像合成処理部310とを有する。ROM108Bに記憶されるパラメータのうち、画像処理パラメータが位置合わせ処理部309によって読み出される。位置合わせ処理部309は、一連の複数回の露光動作が行われて生成される複数コマ分の画像データに対して、上記画像処理パラメータに基づいて以下に詳述するように移動ベクトル導出の処理を行う。位置合わせ処理部309は、導出された移動ベクトルの情報を記憶部108に出力する。 The image processing unit 300 includes an alignment processing unit 309 and an image composition processing unit 310. Among the parameters stored in the ROM 108B, the image processing parameter is read by the alignment processing unit 309. The alignment processing unit 309 performs movement vector derivation processing on image data for a plurality of frames generated by performing a series of multiple exposure operations based on the image processing parameters as described in detail below. I do. The alignment processing unit 309 outputs information on the derived movement vector to the storage unit 108.
画像合成処理部310は、記憶部108に記憶される複数コマ分の画像データと移動ベクトルの情報とをもとに画像合成の処理を行い、合成画像を生成する。生成された合成画像は、表示装置やプリンタ等に出力することができる。記憶部108がメモリカードやハードディスク等の記憶媒体を含む場合、生成された合成画像を記憶媒体に記憶することも可能である。 The image composition processing unit 310 performs image composition processing based on the image data for a plurality of frames stored in the storage unit 108 and information on the movement vector, and generates a composite image. The generated composite image can be output to a display device, a printer, or the like. When the storage unit 108 includes a storage medium such as a memory card or a hard disk, the generated composite image can be stored in the storage medium.
図3は、位置合わせ処理部309の内部構成を示す。図4は、画像処理部300で合成処理される対象の二つの画像を模式的に示す。図4において、(a)は基準画像を、(b)は参照画像、すなわち基準画像に重ね合わせる画像を示す。基準画像とは、位置合わせに際しての基準となる画像である。基準画像に対して基準座標系が設定される。参照画像とは、基準画像中の画像要素と参照画像中の画像要素とが重なり合うように変形の処理を行う対象の画像である。 FIG. 3 shows an internal configuration of the alignment processing unit 309. FIG. 4 schematically shows two images to be combined by the image processing unit 300. 4A shows a standard image, and FIG. 4B shows a reference image, that is, an image to be superimposed on the standard image. The reference image is an image serving as a reference for alignment. A reference coordinate system is set for the reference image. The reference image is an image to be subjected to deformation processing so that an image element in the standard image and an image element in the reference image overlap each other.
図4に示されるように、基準画像上にテンプレートが複数設けられる。テンプレートは、参照画像中で基準画像中の画像要素と一致する画像要素を見つけ出す処理をする際の基準となる画像要素である。基準画像上にはまた、テンプレートの存在する位置を節点として位置合わせ基準ブロックが設けられる。 As shown in FIG. 4, a plurality of templates are provided on the reference image. The template is an image element that serves as a reference in the process of finding an image element that matches an image element in the reference image in the reference image. An alignment reference block is also provided on the reference image with the position where the template exists as a node.
図4(a)では、互いに隣接しあう4つのテンプレートで囲われる1つの矩形領域に対応して位置合わせ基準ブロックが1つ設けられる例が示されている。しかし、位置合わせ基準ブロックは三つのテンプレートで囲われる三角形状のものであってもよいし、任意の形状の多角形状を有していてもよい。また、各位置合わせ基準ブロックは互いに同じ形状や面積を有していても、異なる形状や面積を有していてもよい。例えば、観察者に注目される対象が存在する確率の高い画面中央部では位置合わせ基準ブロックを小さめに設定し、画面周辺部では位置合わせ基準ブロックを大きめに設定してもよい。同様に、画像内の空間周波数の高めの領域においては位置合わせ基準ブロックを小さめに設定し、空間周波数の低めの領域においては位置合わせ基準ブロックを大きめに設定する、といったことも可能である。 FIG. 4A shows an example in which one alignment reference block is provided corresponding to one rectangular area surrounded by four templates adjacent to each other. However, the alignment reference block may have a triangular shape surrounded by three templates, or may have an arbitrary polygonal shape. In addition, each alignment reference block may have the same shape or area, or may have a different shape or area. For example, the alignment reference block may be set smaller in the center of the screen where there is a high probability that there is an object of interest to the observer, and the alignment reference block may be set larger in the periphery of the screen. Similarly, it is also possible to set the alignment reference block smaller in a region with a higher spatial frequency in the image and to set a larger alignment reference block in a region with a lower spatial frequency.
また、二つの画像を重ねて1つの大きなパノラマ画像を得るような用途においては、画像を重ね合わせる部分にのみテンプレートや位置合わせ基準ブロックが設けられるものであってもよい。 Further, in an application where two images are overlapped to obtain one large panoramic image, a template or an alignment reference block may be provided only in a portion where the images are overlapped.
図4(b)に示される参照画像において、基準画像上に設けられる各テンプレートに対応して探索領域が設けられる。探索領域とは、基準画像上に設けられる各テンプレートと一致する画像要素を参照画像内で探索する際の探索範囲を規定する領域である。 In the reference image shown in FIG. 4B, a search area is provided corresponding to each template provided on the standard image. The search area is an area that defines a search range when searching for an image element that matches each template provided on the reference image in the reference image.
図3を参照して、位置合わせ処理部309は、移動ベクトル測定領域設定部311と、位置合わせ基準領域設定部312と、移動ベクトル導出部313と、信頼性導出部314と、移動ベクトル補正処理部315と、移動ベクトル補間処理部316とを有する。 Referring to FIG. 3, alignment processing unit 309 includes movement vector measurement region setting unit 311, alignment reference region setting unit 312, movement vector derivation unit 313, reliability derivation unit 314, and movement vector correction processing. Unit 315 and a movement vector interpolation processing unit 316.
移動ベクトル測定領域設定部311は、記憶部108から読み出された画像サイズ、位置合わせテンプレート数、探索範囲などの画像処理パラメータをもとに、移動ベクトル導出処理をするためのテンプレート領域や探索領域などの移動ベクトル測定領域を設定する。つまり、移動ベクトル測定領域設定部311は、基準画像上に複数のテンプレートを設定し、参照画像上に探索領域を設定する。 The movement vector measurement region setting unit 311 is a template region or search region for performing a movement vector derivation process based on image processing parameters such as the image size read from the storage unit 108, the number of alignment templates, and the search range. Set the movement vector measurement area. That is, the movement vector measurement region setting unit 311 sets a plurality of templates on the standard image and sets a search region on the reference image.
位置合わせ基準領域設定部312は、記憶部108から読み出された画像サイズ、領域分割数などの画像処理パラメータをもとに、基準画像を複数の小領域に分割して位置合わせ基準ブロックを得る。図4(a)に示される例では、基準画像上において互いに隣接し合う4つのテンプレートで囲われる矩形状の領域が1つの位置合わせ基準ブロックとなる。図4(a)では、6つの位置合わせ基準ブロックが示されている。 The alignment reference area setting unit 312 divides the reference image into a plurality of small areas based on image processing parameters such as the image size and the number of area divisions read from the storage unit 108 to obtain alignment reference blocks. . In the example shown in FIG. 4A, a rectangular region surrounded by four templates adjacent to each other on the reference image is one alignment reference block. In FIG. 4A, six alignment reference blocks are shown.
移動ベクトル導出部313は、移動ベクトル測定領域設定部311で設定された移動ベクトル設定領域のそれぞれにおいて、基準画像と参照画像とのテンプレートマッチングの処理を行う。そして、それぞれの移動ベクトル測定領域に対応する移動ベクトルを導出する。テンプレートマッチング処理とは、テンプレートを探索領域内で走査しながら一致指標を演算し、一致指標が最も高くなる位置を検出する処理である。ここでは、一致指標が最も高くなる位置とテンプレートの対応位置との位置ずれを計算し、位置ずれの方向と位置ずれ量とを規定する移動ベクトルとして出力する。尚、一致指標としては、SAD(Sum of Absolute intensity Difference)、SSD(Sum of Squared intensity Difference)、NCC(Normalized Cross-Correlation)など公知の技術を用いてよい。 The movement vector deriving unit 313 performs template matching processing between the reference image and the reference image in each of the movement vector setting regions set by the movement vector measurement region setting unit 311. Then, a movement vector corresponding to each movement vector measurement region is derived. The template matching process is a process of calculating a matching index while scanning a template in a search area and detecting a position where the matching index is the highest. Here, the positional deviation between the position with the highest matching index and the corresponding position of the template is calculated, and is output as a movement vector that defines the direction of positional deviation and the amount of positional deviation. As the coincidence index, a known technique such as SAD (Sum of Absolute Intensity Difference), SSD (Sum of Squared Intensity Difference), or NCC (Normalized Cross-Correlation) may be used.
信頼性導出部314は、移動ベクトル導出部313で導出される移動ベクトルそれぞれの信頼性を導出する。ここで図5を参照してテンプレート中の画像要素が有するパターンの例を説明する。図5(c)に例示される低コントラスト画像、あるいは図5(d)に例示される繰り返しパターン画像をテンプレートとしてテンプレートマッチングを行うと、本来のものとは異なる移動ベクトルを導出する可能性が高くなる。 The reliability deriving unit 314 derives the reliability of each movement vector derived by the movement vector deriving unit 313. Here, an example of a pattern included in an image element in a template will be described with reference to FIG. When template matching is performed using the low contrast image illustrated in FIG. 5C or the repetitive pattern image illustrated in FIG. 5D as a template, there is a high possibility of deriving a movement vector different from the original one. Become.
つまり、テンプレート中の画像要素がこのような低コントラスト画像や繰り返しパターンの画像である場合、導出される移動ベクトルの信頼性は画像中のどの方向に対しても低い。ここで、導出される移動ベクトルの信頼性とは、導出される移動ベクトルが、本来あるべき向きおよび大きさに一致する確率や可能性と定義することができる。あるいは、正確な移動ベクトルが導出される確率や可能性と定義してもよい。 That is, when the image element in the template is such a low-contrast image or a repetitive pattern image, the reliability of the derived movement vector is low in any direction in the image. Here, the reliability of the derived movement vector can be defined as the probability or possibility that the derived movement vector matches the original direction and size. Alternatively, it may be defined as a probability or possibility that an accurate movement vector is derived.
図5(a)に示されるような画像、すなわち二つの方向、理想的には互いに直交する二つの方向に対して明確なパターン境界を有する画像をテンプレートとしてテンプレートマッチングを行うと、対応位置を一意に見つけ出すことができる。つまり、図5(a)のような画像要素から導出される移動ベクトルの信頼性は、任意の2軸方向に対して高い。 When template matching is performed using an image as shown in FIG. 5A, that is, an image having a clear pattern boundary in two directions, ideally, two directions orthogonal to each other, the corresponding position is unique. Can find out. That is, the reliability of the movement vector derived from the image element as shown in FIG. 5A is high in any two-axis direction.
図5(b)に示されるような画像要素、すなわち、ある1方向に沿う直線状のパターン境界を有する画像をテンプレートとしてテンプレートマッチングを行うと、パターン境界に直交する方向には位置ずれ量を正しく導出することができる。しかし、パターン境界に沿う方向には位置合わせの手がかりがなく位置ずれ量を正しく求めることができない。従って、図5(b)に示されるような画像要素から導出される移動ベクトルの信頼性は、パターン境界に直交する1軸方向だけに高く、パターン境界に平行な方向には低い。このように、1方向のみにしか移動ベクトルを正確に求められない領域は一般に「開口問題領域」と称される。 When template matching is performed using an image element as shown in FIG. 5B, that is, an image having a linear pattern boundary along a certain direction as a template, the amount of misalignment is correctly corrected in the direction orthogonal to the pattern boundary. Can be derived. However, there is no clue to alignment in the direction along the pattern boundary, and the amount of misalignment cannot be obtained correctly. Therefore, the reliability of the motion vector derived from the image element as shown in FIG. 5B is high only in one axial direction orthogonal to the pattern boundary and low in the direction parallel to the pattern boundary. As described above, an area in which a movement vector can be accurately obtained only in one direction is generally referred to as an “opening problem area”.
信頼性導出部314は、基準画像のテンプレート中の画像要素、参照画像の探索領域中の画像要素のうち、少なくともいずれかを解析して信頼性を導出することができる。以下では理解を容易にするため、信頼性導出部314は、テンプレート中の画像要素を解析して信頼性を導出するものとして説明をする。 The reliability deriving unit 314 can derive reliability by analyzing at least one of the image elements in the template of the standard image and the image elements in the search area of the reference image. In the following, for ease of understanding, the reliability deriving unit 314 is described as deriving reliability by analyzing image elements in the template.
信頼性導出部314の処理フローを図6に示す。図6に示される処理は、画像処理部300を実施するための画像処理プログラムがCPU109により実行されて、この画像処理プログラム中で信頼性導出処理が呼び出されときにCPU109により実行される。 A processing flow of the reliability deriving unit 314 is shown in FIG. The processing shown in FIG. 6 is executed by the CPU 109 when an image processing program for executing the image processing unit 300 is executed by the CPU 109 and the reliability derivation processing is called in the image processing program.
S600においてCPU109は、現在選択されているテンプレートの領域の画像を解析し、低コントラストの領域であるか否かの判定をする。例えば領域内の画像に対して画素ごとに微分強度の絶対値を求める。その微分強度の絶対値の総和を閾値と比較し、微分強度の絶対値の総和が閾値よりも高い場合はコントラストが高く、微分強度の絶対値の総和が閾値以下である場合はコントラストが低いと判定することが可能である。 In S600, the CPU 109 analyzes the image of the currently selected template area and determines whether or not the area is a low contrast area. For example, the absolute value of the differential intensity is obtained for each pixel with respect to the image in the region. The sum of the absolute values of the differential intensities is compared with a threshold. If the sum of the absolute values of the differential intensities is higher than the threshold, the contrast is high, and if the sum of the absolute values of the differential intensities is less than or equal to the threshold, the contrast is low. It is possible to determine.
S600での判定が肯定されると処理はS602に進む一方、否定されるとS604に進む。S604においてCPU109は、現在選択されているテンプレートの領域の画像が繰り返しパターンを有するものであるか否かの判定を行う。具体的には、現在選択されているテンプレートの領域の画像について自己相関を演算する。そして、相関値の極大位置が周期的に発生する場合や、極大位置にばらつきがある場合、繰り返し領域と判定する。 If the determination in S600 is affirmative, the process proceeds to S602, whereas if the determination is negative, the process proceeds to S604. In step S <b> 604, the CPU 109 determines whether the image of the currently selected template area has a repeated pattern. Specifically, the autocorrelation is calculated for the image of the currently selected template region. Then, when the maximum position of the correlation value occurs periodically or when the maximum position varies, it is determined as a repetitive region.
S604での判定が肯定された場合、処理はS602に進む一方、否定された場合にはS606に進む。S600およびS604での判定が肯定された場合の分岐先であるS602においてCPU109は、現在選択されているテンプレートで導出される移動ベクトルの信頼性は2軸方向ともに低いと決定し、この決定に関連する属性を、現在処理対象となっているテンプレートに対して付与する。 If the determination in S604 is affirmed, the process proceeds to S602, whereas if the determination is negative, the process proceeds to S606. In S602, which is a branch destination when the determinations in S600 and S604 are affirmed, the CPU 109 determines that the reliability of the motion vector derived from the currently selected template is low in both the two-axis directions, and is related to this determination. Attributes to be assigned to the template currently being processed.
S604での判定が否定された場合の分岐先であるS606においてCPU109は、現在選択されているテンプレートの領域の画像が開口問題領域であるか否かの判定を行う。S606で行われる開口問題領域判定の処理について、図7を参照して説明する。図7は、S606で行われる開口問題判定処理の内容を説明するフローチャートである。 In S606, which is a branch destination when the determination in S604 is negative, the CPU 109 determines whether the image of the currently selected template area is an opening problem area. The opening problem area determination process performed in S606 will be described with reference to FIG. FIG. 7 is a flowchart for explaining the contents of the opening problem determination process performed in S606.
S700においてCPU109は、X方向、つまり画像を構成する、二次元配列された画素の、行方向に微分処理を行う。S702においてCPU109は、Y方向、つまり上記二次元配列された画素の、列方向に微分処理を行う。ここでの微分処理は、1次微分系の処理であり、例えばSobelフィルタやPrewitフィルタなどでよい。 In S700, the CPU 109 performs differentiation processing in the X direction, that is, the row direction of the two-dimensionally arranged pixels that form the image. In step S <b> 702, the CPU 109 performs differentiation processing in the Y direction, that is, in the column direction of the two-dimensionally arranged pixels. The differential processing here is processing of a first-order differential system, and may be, for example, a Sobel filter or a Prewit filter.
S704においてCPU109は、S700、S702で求められたX方向微分値dxijおよびY方向微分値dyijをもとに、エッジ勾配方向θijを求める。ここでi、jは画素の行方向、列方向の位置を表す。エッジ勾配方向θijは、以下の式で求めることができる。 In S704, the CPU 109 obtains the edge gradient direction θij based on the X-direction differential value dxij and the Y-direction differential value dyij obtained in S700 and S702. Here, i and j represent the position of the pixel in the row direction and column direction. The edge gradient direction θij can be obtained by the following equation.
θij=tan-1(dyij/dxij) … 式(1) θij = tan −1 (dyij / dxij) (1)
S706においてCPU109は、現在選択されているテンプレートの領域の画像内の全ての画素についてS700からS704の処理を行ったか否かを判定し、この判定が否定される間、処理はS700に戻る。一方、S706での判定が肯定されると処理はS708に進む。 In S706, the CPU 109 determines whether or not the processing of S700 to S704 has been performed for all the pixels in the image of the currently selected template region, and the process returns to S700 while this determination is negative. On the other hand, if the determination in S706 is affirmative, the process proceeds to S708.
S708においてCPU109は、上述のようにして求められたθijを統計処理し、θijの分散(θijの分布のばらつき)を求める。そして、このθijの分散が予め定められた閾値を越すか否かを判定する。 In step S <b> 708, the CPU 109 performs statistical processing on θij obtained as described above, and obtains dispersion of θij (variation of distribution of θij). Then, it is determined whether or not the variance of θij exceeds a predetermined threshold value.
S708での判定が肯定された場合、処理はS710に進み、「2軸方向に信頼性が高い」との判定結果を返して図7の処理を終え、リターンする。一方、S708での判定結果が否定された場合、処理はS712に進み、「開口問題領域」との判定結果と、導出される動きベクトル中、高い信頼性が得られる方向θの情報を返して図7の処理を終え、リターンする。 If the determination in S708 is affirmative, the process proceeds to S710, the determination result that “reliability is high in the two-axis direction” is returned, the process in FIG. 7 is terminated, and the process returns. On the other hand, if the determination result in S708 is negative, the process proceeds to S712, and returns the determination result of “open problem area” and information on the direction θ in which high reliability is obtained in the derived motion vector. After the process of FIG.
ここで、高い信頼性が得られる方向θについて図8を参照して説明する。図8に例示されるような画像のパターンで高い位置合わせ精度が期待できるのは、パターンの境界が延在する方向に直交する方向である。その方向を表す角度θを用いて、上述した高い信頼性が得られる方向の角度θを規定することができる。この角度θは、例えば以下のようにして求めることが可能である。すなわち、信頼性を導出する対象の領域内の全画素について上記式(1)に基づいてθijを求める。これらのθijを統計処理し、最頻値をθとすることが可能である。あるいは、これらのθijの平均値や中央値をθとすることも可能である。 Here, the direction θ in which high reliability is obtained will be described with reference to FIG. High alignment accuracy can be expected in the image pattern as exemplified in FIG. 8 in the direction orthogonal to the direction in which the boundary of the pattern extends. By using the angle θ representing the direction, the angle θ in the direction in which the above-described high reliability can be obtained can be defined. This angle θ can be obtained as follows, for example. That is, θij is obtained based on the above formula (1) for all the pixels in the region from which reliability is derived. It is possible to statistically process these θij and set the mode value to θ. Alternatively, the average value or median value of these θij can be set to θ.
S710の処理が行われた場合、図6のS606での判定は否定されて処理はS610に分岐する。S712での処理が行われた場合、図6でのS606の判定は肯定されて処理はS608に分岐する。 When the process of S710 is performed, the determination in S606 of FIG. 6 is denied and the process branches to S610. When the process in S712 is performed, the determination in S606 in FIG. 6 is affirmed, and the process branches to S608.
S608においてCPU109は、現在選択されているテンプレートで導出される移動ベクトルの信頼性は1軸方向にのみ高く、信頼性の高い方向はθであると決定し、この決定に関連する属性を現在選択されているテンプレートに対して付与する。 In step S <b> 608, the CPU 109 determines that the reliability of the movement vector derived from the currently selected template is high only in one axis direction, and that the direction having high reliability is θ, and currently selects an attribute related to this determination. It is given to the template that has been made.
S610においてCPU109は、現在選択されているテンプレートで導出される移動ベクトルの信頼性は2軸方向とも高いと決定し、この決定に関連する属性を現在選択されているテンプレートに対して付与する。 In S610, the CPU 109 determines that the reliability of the movement vector derived from the currently selected template is high in both the biaxial directions, and assigns an attribute related to this determination to the currently selected template.
S612においてCPU109は、基準画像内の全てのテンプレートに対して信頼性導出のための解析を完了したか否かの判定を行う。この判定が否定される間、S600からS610の処理を繰り返し行う。S612の判定が肯定されると、CPU109はリターンする。 In step S612, the CPU 109 determines whether or not analysis for deriving reliability has been completed for all templates in the reference image. While this determination is negative, the processing from S600 to S610 is repeated. If the determination in S612 is affirmed, the CPU 109 returns.
移動ベクトル補正処理部315は、移動ベクトル導出部313で導出された移動ベクトルと信頼性導出部314で導出された信頼性とをもとに、移動ベクトルを必要に応じて補正する処理を行う。なお、ここで「移動ベクトルを補正する」とは当該移動ベクトルを他の移動ベクトルと置換したり、他の移動ベクトルを用いて導出された移動ベクトルと置換したり、当該移動ベクトルと他の移動ベクトルを用いて導出された移動ベクトルと置換したり、当該移動ベクトルのみを用いて導出された移動ベクトルと置換すること等を含む。 The movement vector correction processing unit 315 performs a process of correcting the movement vector as necessary based on the movement vector derived by the movement vector deriving unit 313 and the reliability derived by the reliability deriving unit 314. Here, “correction of a movement vector” means that the movement vector is replaced with another movement vector, a movement vector derived using another movement vector, or the movement vector and another movement. This includes replacement with a movement vector derived using a vector, replacement with a movement vector derived using only the movement vector, and the like.
移動ベクトル補正処理部315で行われる処理内容について図9を参照して説明する。本処理は、移動ベクトル導出部313で導出された移動ベクトルと、信頼性導出部314で導出された信頼性をもとに、移動ベクトルに補正を加える処理である。 The content of processing performed by the movement vector correction processing unit 315 will be described with reference to FIG. This process is a process of correcting the movement vector based on the movement vector derived by the movement vector deriving unit 313 and the reliability derived by the reliability deriving unit 314.
図9(a)および図9(b)にはそれぞれ、相隣り合う4つの領域のテンプレート(テンプレート1、テンプレート2、テンプレート3、テンプレート4)が示されている。各テンプレート中には画像のパターンと、当該のテンプレートに対応して求められた移動ベクトルMV1、MV2、MV3、MV4が示されている。図9(a)が補正処理前の状態を、図9(b)が補正処理後の状態を示す。 FIG. 9A and FIG. 9B respectively show four adjacent templates (template 1, template 2, template 3, template 4). In each template, an image pattern and movement vectors MV1, MV2, MV3, and MV4 obtained corresponding to the template are shown. FIG. 9A shows a state before the correction process, and FIG. 9B shows a state after the correction process.
以下では、テンプレート1、テンプレート2、テンプレート3、テンプレート4のみの移動ベクトルに対し、必要に応じて補正を加える例について説明する。しかし、実際には基準画像中の全テンプレートの移動ベクトルに対し、必要に応じて補正が加えられる。 Below, the example which correct | amends as needed with respect to the movement vector of only the template 1, the template 2, the template 3, and the template 4 is demonstrated. However, in practice, correction is added to the movement vectors of all templates in the reference image as necessary.
テンプレート1およびテンプレート4は、信頼性導出部314によって導出される信頼性が2軸方向とも高いものとなる画像要素を有する例が示されている。テンプレート2は、信頼性導出部314によって導出される信頼性が2軸方向とも低いものとなる画像要素を有する例が示されている。そしてテンプレート3は、開口問題領域、すなわち、信頼性導出部314によって導出される信頼性が1軸方向にのみ高いものとなる画像要素を有する例が示されている。 The template 1 and the template 4 are shown as an example having an image element in which the reliability derived by the reliability deriving unit 314 is high in both biaxial directions. The template 2 shows an example having image elements whose reliability derived by the reliability deriving unit 314 is low in both biaxial directions. The template 3 shows an example having an opening problem area, that is, an image element in which the reliability derived by the reliability deriving unit 314 is high only in one axis direction.
信頼性が2軸方向とも高いテンプレート1およびテンプレート4では、移動ベクトル補正処理の前後で変化は無く、それぞれMV1、MV4のままとなっている。そして、テンプレート2およびテンプレート3では、以下に説明するように補正が加えられる。 In Template 1 and Template 4, which have high reliability in both the two-axis directions, there is no change before and after the movement vector correction process, and they remain MV1 and MV4, respectively. In template 2 and template 3, correction is applied as described below.
2軸方向とも信頼性が低いテンプレート2を用いて移動ベクトル導出部313で求められた移動ベクトルは、図9(a)で示されるようにMV2である。この移動ベクトルMV2の信頼性は2軸方向ともに低い。この場合、テンプレート2の周囲に存在するテンプレート中から信頼性が2軸とも高いテンプレートの移動ベクトルをテンプレート2における補正後の移動ベクトルとする。 The movement vector obtained by the movement vector deriving unit 313 using the template 2 having low reliability in both the two-axis directions is MV2 as shown in FIG. The reliability of the movement vector MV2 is low in both biaxial directions. In this case, a movement vector of a template having high reliability in both axes among the templates existing around the template 2 is set as a corrected movement vector in the template 2.
例えば図9(b)に示されるように、テンプレート2の隣に位置し、信頼性が2軸方向ともに高いテンプレート1の移動ベクトルMV1をテンプレート2に対応する補正後の移動ベクトルとする。このように移動ベクトルを補正することにより、より好ましい位置合わせの結果を得ることが期待できる。 For example, as shown in FIG. 9B, the movement vector MV1 of the template 1 that is located next to the template 2 and has high reliability in both two-axis directions is set as a corrected movement vector corresponding to the template 2. By correcting the movement vector in this way, it can be expected to obtain a more preferable alignment result.
続いて、信頼性が1軸方向にのみ高く、高信頼性方向がθであるテンプレート3における移動ベクトルの補正について説明する。先にも説明したように、高信頼性方向においては信頼性の高い移動量を求めることができるが、高信頼性方向と直交する方向には信頼性の高い移動量を求めることができない。そこで、補正処理前の移動ベクトルMV3を、図9(a)に示されるように高信頼性方向に沿う軸成分の移動ベクトルMV3x’と、高信頼性方向と直交する方向に沿う軸成分の移動ベクトルMV3y’とに分解する。なお、本明細書中では高信頼性方向と直交する方向を低信頼性方向と称する。 Next, correction of the movement vector in the template 3 whose reliability is high only in one axis direction and whose high reliability direction is θ will be described. As described above, a highly reliable movement amount can be obtained in the high reliability direction, but a highly reliable movement amount cannot be obtained in the direction orthogonal to the high reliability direction. Therefore, the movement vector MV3 before the correction processing is changed from the movement vector MV3x ′ of the axial component along the high reliability direction and the movement of the axial component along the direction orthogonal to the high reliability direction as shown in FIG. It decomposes into the vector MV3y ′. In the present specification, a direction orthogonal to the high reliability direction is referred to as a low reliability direction.
高信頼性方向に沿う軸成分の移動ベクトルMV3x’および低信頼性方向に沿う軸成分の移動ベクトルMV3y’は、以下のようにして求めることができる。テンプレートの画像要素を構成する画素の配列の行方向(x軸方向)および列方向(y軸方向)で画定されるxy座標系における、移動ベクトルMV3のx軸方向に沿う軸成分をMV3x、y軸方向に沿う軸成分をMV3yとする。 The axial component movement vector MV3x ′ along the high reliability direction and the axial component movement vector MV3y ′ along the low reliability direction can be obtained as follows. In the xy coordinate system defined by the row direction (x-axis direction) and the column direction (y-axis direction) of the array of pixels constituting the image element of the template, the axis components along the x-axis direction of the movement vector MV3 are represented by MV3x, y The axial component along the axial direction is MV3y.
これらのx軸方向に沿う軸成分の移動ベクトルMV3xおよびy軸方向に沿う軸成分の移動ベクトルMV3yを、上記の角度θだけ回転させた、高信頼性方向(x’軸方向)および低信頼性方向(y’軸方向)で画定されるx’y’座標系における2軸方向に沿う軸成分の移動ベクトルMV3x’、MV3y’を座標回転の処理により求める。この座標回転の処理には以下の式(2)を用いることができる。つまり、式(2)においてx=MV3x、y=MV3yとして求められたx’、y’がMV3x’、MV3y’となる。 The axis component movement vector MV3x along the x-axis direction and the axis component movement vector MV3y along the y-axis direction are rotated by the angle θ, and the high-reliability direction (x′-axis direction) and low reliability are obtained. The movement vectors MV3x ′ and MV3y ′ of the axis components along the two-axis direction in the x′y ′ coordinate system defined by the direction (y′-axis direction) are obtained by coordinate rotation processing. The following equation (2) can be used for this coordinate rotation process. That is, x ′ and y ′ obtained as x = MV3x and y = MV3y in Equation (2) become MV3x ′ and MV3y ′.
式(2)で求められた2軸成分の移動ベクトルのうち、低信頼性方向に沿う軸成分のベクトルMV3y’については、高い信頼性が期待できない。この場合、テンプレート3の近隣に存在するテンプレート中から、テンプレート3の低信頼性方向に対して十分な信頼性を有するテンプレートを探索する。図9の例では、テンプレート4がそのようなテンプレートに該当する。 Of the biaxial component movement vectors obtained by the equation (2), high reliability cannot be expected for the axial component vector MV3y ′ along the low reliability direction. In this case, a template having sufficient reliability with respect to the low reliability direction of the template 3 is searched from templates existing in the vicinity of the template 3. In the example of FIG. 9, the template 4 corresponds to such a template.
なお、テンプレート3の低信頼性方向に対して、近隣のテンプレートが十分な信頼性を有するかどうかの判定には以下のようにすることが可能である。すなわち、補正対象のテンプレート(テンプレート3)の近隣に位置するテンプレート(本例ではテンプレート4)の高信頼性方向が、補正対象のテンプレートの低信頼性方向に対して例えば45度以上、好ましくは60度以上の角度差を有しているか否かを判定基準とすることが可能である。あるいは、補正対象のテンプレートの近隣に存在するテンプレートの中から、2軸方向共に信頼性の高いものを探索してもよい。 Note that it is possible to determine whether a neighboring template has sufficient reliability with respect to the low reliability direction of the template 3 as follows. That is, the high reliability direction of the template (template 4 in this example) located in the vicinity of the template to be corrected (template 3) is, for example, 45 degrees or more with respect to the low reliability direction of the template to be corrected, preferably 60. Whether or not the angle difference is equal to or greater than the degree can be used as a criterion. Alternatively, a template having high reliability in both two-axis directions may be searched from templates existing in the vicinity of the template to be corrected.
次に、図9(a)に示されるように、移動ベクトルMV4についても上記の式(2)を用い、移動ベクトルMV4の、テンプレート3の低信頼性方向に沿う軸成分のベクトルを求める。このようにして求められたのが図9(a)におけるMV4y’である。 Next, as shown in FIG. 9A, the above-described equation (2) is also used for the movement vector MV4, and the vector of the axis component of the movement vector MV4 along the low reliability direction of the template 3 is obtained. The MV4y ′ in FIG. 9A is thus obtained.
続いて、図9(b)に示されるように、テンプレート3の移動ベクトルMV3の、低信頼性方向に沿う軸成分のベクトルMV3y’を上述のようにして求められたMV4y’に置き換える。以下、図9(b)に示されるテンプレート3の移動ベクトルを拡大して示す図10を参照して説明する。以上のように移動ベクトルを補正処理した結果、移動ベクトルMV3に対応する高信頼性方向に沿う軸成分のベクトルはMV3x’のまま変わらず、低信頼性方向に沿う軸方向のベクトルはMV3y’からMV4y’に補正される。これら2つの軸方向の成分のベクトルMV3x’、MV4y’を合成したものが補正後の移動ベクトルMV3newとなる。 Subsequently, as shown in FIG. 9B, the vector MV3y ′ of the axial component along the low reliability direction of the movement vector MV3 of the template 3 is replaced with MV4y ′ obtained as described above. Hereinafter, a description will be given with reference to FIG. 10 in which the movement vector of the template 3 shown in FIG. As a result of correcting the movement vector as described above, the vector of the axial component along the high reliability direction corresponding to the movement vector MV3 remains MV3x ′, and the vector in the axial direction along the low reliability direction is changed from MV3y ′. It is corrected to MV4y ′. A combination of these two axial component vectors MV3x 'and MV4y' is a corrected movement vector MV3new.
上記2つの軸方向成分のベクトルMV3x’、MV4y’に対して式(3)を用いて座標変換処理を行い、補正後の移動ベクトルMV3newの、xy座標軸に沿う軸方向成分のベクトルMV3xnew、MV3ynewを求める。つまり、式(3)においてx’=MV3x’、y’=MV4y’として求められたx、yがMV3newのxy座標軸に沿う軸方向成分のベクトルMV3xnew、MV3ynewとなる。 A coordinate conversion process is performed on the above-described two axial component vectors MV3x ′ and MV4y ′ using Equation (3), and the corrected movement vector MV3new is converted into axial component vectors MV3xnew and MV3new along the xy coordinate axes. Ask. That is, x and y obtained as x ′ = MV3x ′ and y ′ = MV4y ′ in the expression (3) become the vector MV3xnew and MV3new of axial components along the xy coordinate axis of MV3new.
以上では、移動ベクトル3の低信頼性方向に沿う軸成分MV3y’を、テンプレート3の近隣に位置するテンプレート4の移動ベクトルMV4の軸成分MV4y’に置き換える例について説明した。しかし、本発明はこれに限られるものではなく、上記の例においてMV3y’とMV4y’とを相加平均あるいは相乗平均して補正後の軸成分のベクトルを求めても良い。このとき、単純平均のみならず、加重平均等の処理をして補正後の軸成分のベクトルを求めてもよい。 The example in which the axis component MV3y ′ along the low reliability direction of the movement vector 3 is replaced with the axis component MV4y ′ of the movement vector MV4 of the template 4 located in the vicinity of the template 3 has been described above. However, the present invention is not limited to this, and in the above example, MV3y ′ and MV4y ′ may be arithmetically averaged or geometrically averaged to obtain the corrected axis component vector. At this time, not only a simple average but also a weighted average or the like may be performed to obtain a corrected axis component vector.
また、テンプレート3の近隣に、テンプレート3の低信頼性方向に沿う軸成分の信頼性の比較的高いテンプレートが複数あるとき、それら複数のテンプレートそれぞれに対応する移動ベクトルに基づいてテンプレート3の移動ベクトルに補正を加えても良い。 Further, when there are a plurality of templates having relatively high reliability of the axial component along the low reliability direction of the template 3 in the vicinity of the template 3, the movement vector of the template 3 is based on the movement vector corresponding to each of the plurality of templates. Corrections may be made to.
再び図3を参照し、移動ベクトル補間処理部316は、参照画像内の探索領域ごとに求められた移動ベクトル(必要に応じて補正されたもの)をもとに、画素毎の移動ベクトルを導出する。つまり、1つの位置合わせ基準ブロックの4つのコーナー部に位置するテンプレートごとに導出された移動ベクトルをもとに、その位置合わせ基準ブロック内に存在する全画素のひとつ一つに対応する移動ベクトルを導出する。 Referring to FIG. 3 again, the movement vector interpolation processing unit 316 derives a movement vector for each pixel based on the movement vector (corrected as necessary) obtained for each search area in the reference image. To do. That is, based on the movement vectors derived for each template located at the four corners of one alignment reference block, the movement vectors corresponding to all the pixels existing in the alignment reference block are obtained. To derive.
このとき、移動ベクトルを求める対象の画素の位置と、4つのテンプレートの中心位置との距離の遠近に応じて補間処理を行い、画素ひとつ一つに対応する移動ベクトルを求める。上記の処理を全ての位置合わせ基準ブロックに対応して行う。このようにして、参照画像を構成する画素のひとつ一つに対応して移動ベクトルが求められる。 At this time, an interpolation process is performed according to the distance between the position of the pixel for which the movement vector is to be obtained and the center position of the four templates, and a movement vector corresponding to each pixel is obtained. The above processing is performed for all alignment reference blocks. In this way, a movement vector is obtained corresponding to each pixel constituting the reference image.
移動ベクトル補間処理部316における上記処理の詳細について図11を参照して説明する。図11(a)には基準画像が、図11(b)には参照画像が示される。移動ベクトル補正処理部315において必要に応じて補正処理が行われた後の移動ベクトルが図11(a)内の対応するテンプレートに重ねて示されている。 Details of the above processing in the movement vector interpolation processing unit 316 will be described with reference to FIG. FIG. 11A shows a standard image, and FIG. 11B shows a reference image. The movement vector after the correction processing is performed as necessary in the movement vector correction processing unit 315 is shown superimposed on the corresponding template in FIG.
なお、図11(a)に示される移動ベクトルについては見やすくするために絶対値を大きくして(有向線分の長さを長くして)示してある。以下の説明において、画像の左上隅に位置する画素の画素位置を(0,0)とし、右方向および下方向に向かうにつれて座標値が増加するものとする。例えば、図11(a)の基準画像上で左上の隅に位置するテンプレートの画像要素が縦横それぞれ100画素からなり、画素位置(101、101)から画素位置(200、200)に位置するものとする。 For the movement vector shown in FIG. 11A, the absolute value is increased (the length of the directed line segment is increased) for easy viewing. In the following description, it is assumed that the pixel position of the pixel located at the upper left corner of the image is (0, 0), and the coordinate value increases in the right direction and the downward direction. For example, the template image element located in the upper left corner on the reference image in FIG. 11A is composed of 100 pixels vertically and horizontally, and is located from the pixel position (101, 101) to the pixel position (200, 200). To do.
テンプレートマッチングの処理をした結果、上記テンプレートと一致する画像要素は参照画像中の画素位置(151、151)から画素位置(250、250)に位置していたとする。この場合、導出される移動ベクトルは、(−50、−50)となる。これに対応する移動ベクトルは、図11(a)の左上隅のテンプレート上に示されるような、左上方向に向くものとなる。 As a result of the template matching process, it is assumed that the image element matching the template is located from the pixel position (151, 151) to the pixel position (250, 250) in the reference image. In this case, the derived movement vector is (−50, −50). The movement vector corresponding to this is directed to the upper left direction as shown on the template in the upper left corner of FIG.
以上からあきらかなように、移動ベクトルは、変形前のテンプレート対応領域の画像要素をどの方向にどのくらいの距離(画素数)だけずらす、つまり変形させると基準画像上のテンプレート内の画像要素と重なり合うかを示している。移動ベクトルは、各テンプレートに対応して導出されている。図11(b)の参照画像中には、変形前の参照画像中におけるテンプレート対応領域が白抜きの矩形で示されている。そして、図11(a)に示される移動ベクトルに対応して、各テンプレート対応領域をどのように動かすかが、ハッチングを施した矩形で示されている。 As is clear from the above, the movement vector shifts the image element in the template corresponding area before deformation by what distance (number of pixels), that is, if the deformation is deformed, it overlaps the image element in the template on the reference image. Is shown. The movement vector is derived corresponding to each template. In the reference image of FIG. 11B, the template corresponding region in the reference image before the deformation is indicated by a white rectangle. Then, in accordance with the movement vector shown in FIG. 11A, how to move each template corresponding region is indicated by a hatched rectangle.
ところで、以下で説明する補間処理に際して、上記の移動ベクトルは各テンプレートを画定する領域の中心(重心、あるいは図心)に位置する1つの画素に対して付与されるものであると考える。上記の、各テンプレートを画定する領域の中心(重心、あるいは図心)に位置する1つの画素以外の画素に対する移動ベクトルは、公知の補間処理や外挿処理によって求めることができる。本明細書中では、補間処理や外挿処理を総称して単に補間処理と称する。 By the way, in the interpolation processing described below, it is considered that the above-described movement vector is given to one pixel located at the center (center of gravity or centroid) of a region defining each template. The movement vector for pixels other than one pixel located at the center (center of gravity or centroid) of the region defining each template can be obtained by known interpolation processing or extrapolation processing. In the present specification, interpolation processing and extrapolation processing are generically referred to simply as interpolation processing.
参照画像内の画素のそれぞれに対応して補間処理をすることにより導出された、画素ごとの移動ベクトルで規定される方向および距離に画素位置をずらすように参照画像を変形し、変形後の画像を基準画像と重ね合わせることにより、ずれが抑制された鮮鋭な画像を得ることが可能となる。 The reference image is deformed so as to shift the pixel position in the direction and distance defined by the movement vector for each pixel, which is derived by performing interpolation processing corresponding to each pixel in the reference image, and the image after deformation By superimposing with the reference image, it is possible to obtain a sharp image in which deviation is suppressed.
なお、図11においては近隣の4つのテンプレートを節点として1つのメッシュが切られて矩形状の位置合わせ基準ブロックが形成されているが、位置合わせ基準ブロックの形状は先にも説明したように任意の多角形とすることが可能である。また、それぞれの位置合わせ基準ブロックは、互いに同じ寸法、同じ形状を有していても、異なる寸法、形状を有していてもよい。 In FIG. 11, a rectangular alignment reference block is formed by cutting one mesh with four neighboring templates as nodes, but the shape of the alignment reference block is arbitrary as described above. It can be a polygon. In addition, each alignment reference block may have the same size and the same shape, or may have different sizes and shapes.
図2に示される画像合成処理部310は、移動ベクトル補間処理部316で導出された画素ごとの移動ベクトルに基づき、参照画像を変形する。その結果、変形前の4つのテンプレート領域で囲われる位置合わせ基準ブロックは図11(b)に示されるように変形する。画像合成処理部310は、このように変形された参照画像を基準画像に重ね合わせて画像合成を行う。なお、図11(b)を参照すると、変形後の参照画像は、基準画像に対して一見ずれているように見えるかもしれないが、そうではない。図11(b)に示される参照画像を変形した結果、変形後の参照画像は図11(a)に示される基準画像と同じものとなる。その結果、ずれを殆ど生じることなく重ね合わせることができるようになる。 The image composition processing unit 310 illustrated in FIG. 2 deforms the reference image based on the movement vector for each pixel derived by the movement vector interpolation processing unit 316. As a result, the alignment reference block surrounded by the four template regions before deformation is deformed as shown in FIG. The image composition processing unit 310 performs image composition by superimposing the reference image modified in this way on the standard image. Referring to FIG. 11B, the deformed reference image may seem to be deviated from the base image, but this is not the case. As a result of deforming the reference image shown in FIG. 11B, the deformed reference image becomes the same as the standard image shown in FIG. As a result, the images can be superimposed with almost no deviation.
以上に説明した、複数の画像を合成する処理を行うための画像処理プログラムについて図12を参照して説明する。図12は、CPU109により実行される、複数の画像の合成処理をするための画像処理手順を説明する概略フローチャートである。この画像処理手順を実行するためのプログラムは、先にも説明したように、ROM108Bに記憶される。あるいは、このプログラムは、メモリカードや磁気ディスク、光ディスク、あるいは光磁気ディスク等の、コンピュータによって読み取り可能な記憶媒体に収容されていてもよい。また、ネットワーク等の通信回線を通じて上記プログラムをダウンロードし、ROM108Bに記憶することも可能である。 An image processing program for performing the above-described processing for combining a plurality of images will be described with reference to FIG. FIG. 12 is a schematic flowchart for explaining an image processing procedure for combining a plurality of images, which is executed by the CPU 109. The program for executing this image processing procedure is stored in the ROM 108B as described above. Alternatively, this program may be stored in a computer-readable storage medium such as a memory card, magnetic disk, optical disk, or magneto-optical disk. It is also possible to download the program through a communication line such as a network and store it in the ROM 108B.
上記プログラムが磁気ディスク、光ディスク、あるいは光磁気ディスク等の、コンピュータによって読み取り可能な記憶媒体に収容されている場合、これらの記憶媒体中から情報を読み出すためのドライブ装置を撮影装置100が内蔵していてもよいし、外部のドライブ装置と接続可能に構成されていてもよい。上記プログラムがメモリカード等に収容されている場合、撮影装置100は、これらのメモリカード等から情報を読み出すためのインターフェース等を備えればよい。 When the program is stored in a computer-readable storage medium such as a magnetic disk, an optical disk, or a magneto-optical disk, the photographing apparatus 100 has a drive device for reading information from these storage media. Alternatively, it may be configured to be connectable to an external drive device. When the program is stored in a memory card or the like, the photographing apparatus 100 may be provided with an interface or the like for reading information from the memory card or the like.
S1200においてCPU109は、移動ベクトル測定領域設定の処理を行う。この処理は、図3を参照して説明した移動ベクトル測定領域設定部311で行われる処理に相当する。S1202においてCPU109は、位置合わせ基準領域設定の処理を行う。この処理は、図3を参照して説明した位置合わせ基準領域設定部312での処理に相当する。 In S1200, the CPU 109 performs a movement vector measurement region setting process. This process corresponds to the process performed by the movement vector measurement region setting unit 311 described with reference to FIG. In step S1202, the CPU 109 performs alignment reference area setting processing. This processing corresponds to the processing in the alignment reference area setting unit 312 described with reference to FIG.
S1204においてCPU109は移動ベクトル導出の処理を行う。この処理は、図3を参照して説明した移動ベクトル導出部313での処理に相当する。S1206においてCPU109は信頼性導出の処理を行う。この処理は、図3を参照して説明した信頼性導出部314での処理に相当する。 In step S1204, the CPU 109 performs a movement vector derivation process. This process corresponds to the process in the movement vector deriving unit 313 described with reference to FIG. In step S1206, the CPU 109 performs reliability derivation processing. This process corresponds to the process in the reliability deriving unit 314 described with reference to FIG.
S1208においてCPU109は、移動ベクトル補正の処理を行う。この処理は、図3を参照して説明した移動ベクトル補正処理部315での処理に相当する。S1210においてCPU109は、移動ベクトル補間の処理を行う。この処理は、図3を参照して説明した移動ベクトル補間処理部316での処理に相当する。 In step S1208, the CPU 109 performs a movement vector correction process. This processing corresponds to the processing in the movement vector correction processing unit 315 described with reference to FIG. In step S1210, the CPU 109 performs movement vector interpolation processing. This process corresponds to the process in the movement vector interpolation processing unit 316 described with reference to FIG.
S1212においてCPU109は、画像合成の処理を行う。この処理は画像合成処理部310での処理に相当する。S1212の処理を完了し、CPU109は参照画像を変形して基準画像に重ね合わせる処理を完了する。このとき、3以上の数の画像を重ね合わせる場合には、重ね合わせる画像の数に応じて(3枚の画像に対して2回、4枚の画像に対して3回、…)図12の処理が繰り返し行われる。 In step S <b> 1212, the CPU 109 performs image composition processing. This processing corresponds to the processing in the image composition processing unit 310. After completing the process of S1212, the CPU 109 completes the process of transforming the reference image and superimposing it on the standard image. At this time, when three or more images are to be superimposed, the number of images to be superimposed (two for three images, three for four images,...) In FIG. The process is repeated.
図12に示すフローチャートの処理中、S1204における移動ベクトル導出処理およびS1206における信頼性導出処理については、処理の順番を逆転させてもよい。つまり、S1204で信頼性導出処理を行い、S1206で移動ベクトル導出処理を行っても良い。 During the processing of the flowchart shown in FIG. 12, the order of the processing may be reversed for the movement vector derivation processing in S1204 and the reliability derivation processing in S1206. That is, the reliability derivation process may be performed in S1204 and the movement vector derivation process may be performed in S1206.
また、S1212の処理を省略することも可能である。つまり、図2の撮影装置100中、画像合成処理部310を省略することが可能である。 Further, the processing of S1212 can be omitted. That is, it is possible to omit the image composition processing unit 310 in the imaging apparatus 100 of FIG.
この場合、画像データが画素ごとの移動ベクトルの情報とともに記憶部108あるいはメモリカードなどに記憶される。ここでは、画像データに画素ごとの移動ベクトルの情報等が組み合わされたものを説明の便宜上、データセットと称する。画像合成処理部310は、パーソナルコンピュータやストレージビューワ等の中に含まれるものとすることが可能である。上記データセットは、有線あるいは無線の通信手段を介して、あるいはメモリカードを介してパーソナルコンピュータやストレージビューワ等に移される。そして、これらのパーソナルコンピュータやストレージビューワ等内の画像合成処理部310において、上記データセットをもとに画像合成の処理を行い、合成画像を生成することもできる。 In this case, the image data is stored in the storage unit 108 or a memory card together with information on the movement vector for each pixel. Here, a combination of image data and movement vector information for each pixel is referred to as a data set for convenience of explanation. The image composition processing unit 310 can be included in a personal computer, a storage viewer, or the like. The data set is transferred to a personal computer, a storage viewer, or the like via a wired or wireless communication means, or via a memory card. Then, the image composition processing unit 310 in the personal computer, the storage viewer, or the like can perform image composition processing based on the data set to generate a composite image.
以上に説明した、複数の画像を合成する処理では、画像を複数の小領域に分割して得られた位置合わせ基準ブロックごとに移動ベクトルが求められるので、例えば複数の画像間で被写体の一部が動いてしまった場合でも好ましい結果を得ることができる。例えば、複数の画像間で背景の自動車が移動していたり、被写体である人物の腕が動いていたりする場合でも、画像を局所的に変形させることが可能なので画像合成の精度を向上させることが可能となる。 In the above-described processing for combining a plurality of images, a movement vector is obtained for each alignment reference block obtained by dividing the image into a plurality of small regions. A favorable result can be obtained even if has moved. For example, even when the background car is moving between multiple images or the arm of a person who is the subject is moving, the image can be locally deformed, so the accuracy of image composition can be improved. It becomes possible.
以上に説明したように、本発明の第1の実施の形態によれば、従来は十分に活用されているとは言えなかった「1軸方向のみ信頼性が高い」移動ベクトルについて、高信頼性方向に沿う軸成分のベクトルを有効に活用することが可能となる。このとき、低信頼方向に沿う軸成分のベクトルについては近隣のテンプレートから得られる移動ベクトルの情報を利用することにより、画像の位置合わせ処理を安定化することが可能となる。 As described above, according to the first embodiment of the present invention, it is highly reliable for a motion vector that is “highly reliable only in one axis direction” that has not been sufficiently utilized in the past. It is possible to effectively use the vector of the axial component along the direction. At this time, with respect to the vector of the axis component along the low reliability direction, it is possible to stabilize the image alignment processing by using the information of the movement vector obtained from the neighboring template.
− 第2の実施の形態 −
第1の実施の形態においては、任意の2つの軸方向に沿って分解された二成分の信頼性を用いる例について説明した。つまり、信頼性を、図5(a)に示される「2軸方向とも信頼性が高い」、図5(b)に示される「1軸方向だけ信頼性が高い」、そして図5(c)、図5(d)に示される「2軸方向とも信頼性が低い」の3つのパターンに分類して処理をするものについて説明した。そして、図5(b)に示されるような、画像を構成する画素の配列の方向に対してパターン境界が斜めに延在する場合には、このパターン境界に直交する方向に信頼性が高いと分類する例について説明した。
− Second Embodiment −
In 1st Embodiment, the example using the reliability of the two components decomposed | disassembled along arbitrary two axial directions was demonstrated. That is, the reliability is “high reliability in both biaxial directions” shown in FIG. 5A, “high reliability only in one axial direction” shown in FIG. 5B, and FIG. 5C. A description has been given of processing performed by classifying into three patterns “low reliability in both two-axis directions” shown in FIG. When the pattern boundary extends obliquely with respect to the direction of the arrangement of the pixels constituting the image as shown in FIG. 5B, the reliability is high in the direction orthogonal to the pattern boundary. An example of classification has been described.
これに対し、第2の実施の形態においては、画像を構成する画素の配列の、列方向に沿う信頼性および行方向に沿う信頼性を用いる例について説明する。以下では画像を構成する画素の配列の行方向をX軸方向、列方向をY軸方向と称する。なお、第2の実施の形態の画像処理部を有する撮影装置も、第1の実施の形態で図2および図3を参照して説明したものと同様の構成を有するのでその図示および説明を省略する。 On the other hand, in the second embodiment, an example in which the reliability along the column direction and the reliability along the row direction of the arrangement of the pixels constituting the image will be described. Hereinafter, the row direction of the arrangement of pixels constituting the image is referred to as an X-axis direction, and the column direction is referred to as a Y-axis direction. Note that the imaging apparatus having the image processing unit according to the second embodiment has the same configuration as that described with reference to FIGS. 2 and 3 in the first embodiment, and thus illustration and description thereof are omitted. To do.
第2の実施の形態における第1の実施の形態との相違点は、信頼性導出部314および移動ベクトル補正処理部315における処理内容のみである。以下、これらの相違点を中心に説明をする。 The difference of the second embodiment from the first embodiment is only the processing contents in the reliability deriving unit 314 and the movement vector correction processing unit 315. Hereinafter, these differences will be mainly described.
第2の実施の形態において信頼性導出部314(図3)は、図13の(a)から(e)を参照して以下に説明するように4つのパターンに分類して処理をする。図13(a)に示されるような画像要素は、X軸方向、Y軸方向の双方に対して明確なパターン境界を有する。このような画像要素でテンプレートマッチングを行うとX軸方向、Y軸方向ともに信頼性の高い移動ベクトルを導出することが可能である。つまり、図13(a)に示されるような画像要素から導出される移動ベクトルの信頼性はX軸方向、Y軸方向ともに高いと判定される。 In the second embodiment, the reliability deriving unit 314 (FIG. 3) performs processing by classifying into four patterns as described below with reference to (a) to (e) of FIG. An image element as shown in FIG. 13A has a clear pattern boundary in both the X-axis direction and the Y-axis direction. When template matching is performed using such image elements, it is possible to derive a highly reliable movement vector in both the X-axis direction and the Y-axis direction. That is, it is determined that the reliability of the movement vector derived from the image element as shown in FIG. 13A is high in both the X-axis direction and the Y-axis direction.
図13(b)に例示される画像要素は、Y軸方向に明確なパターン境界を有する。このような画像要素でテンプレートマッチングを行うと、X軸方向に信頼性の高い移動ベクトルを導出することが可能である。しかし、Y軸方向には位置合わせの手がかりが無く、位置ずれ量を正しく求めることができない。つまり、図13(b)に示されるような画像要素から導出される移動ベクトルの信頼性はX軸方向だけに信頼性が高いと判定される。 The image element illustrated in FIG. 13B has a clear pattern boundary in the Y-axis direction. When template matching is performed using such image elements, it is possible to derive a highly reliable movement vector in the X-axis direction. However, there is no clue for alignment in the Y-axis direction, and the amount of positional deviation cannot be obtained correctly. That is, it is determined that the reliability of the movement vector derived from the image element as shown in FIG. 13B is high only in the X-axis direction.
図13(c)に例示される画像要素は、X軸方向に明確なパターン境界を有する。このような画像要素でテンプレートマッチングを行うと、Y軸方向に信頼性の高い移動ベクトルを導出することが可能である。しかし、X軸方向には位置合わせの手がかりが無く、位置ずれ量を正しく求めることができない。つまり、図13(c)に示されるような画像要素から導出される移動ベクトルの信頼性はY軸方向だけに信頼性が高いと判定される。 The image element illustrated in FIG. 13C has a clear pattern boundary in the X-axis direction. When template matching is performed using such image elements, it is possible to derive a highly reliable movement vector in the Y-axis direction. However, there is no clue for alignment in the X-axis direction, and the amount of positional deviation cannot be obtained correctly. That is, it is determined that the reliability of the movement vector derived from the image element as shown in FIG. 13C is high only in the Y-axis direction.
図13(d)に例示される低コントラスト画像、あるいは図13(e)に例示される繰り返しパターン画像をテンプレートとしてテンプレートマッチングを行うと、本来のものとは異なる移動ベクトルを導出する恐れがある。したがって、テンプレート中の画像要素がこのような低コントラスト画像や繰り返しパターンの画像である場合、導出される移動ベクトルの信頼性はX軸方向およびY軸方向の双方に対して信頼性が低いと判定される。 When template matching is performed using the low contrast image illustrated in FIG. 13D or the repetitive pattern image illustrated in FIG. 13E as a template, a movement vector different from the original one may be derived. Therefore, when the image element in the template is such a low-contrast image or a repetitive pattern image, it is determined that the reliability of the derived movement vector is low in both the X-axis direction and the Y-axis direction. Is done.
図13に示されるもの以外に、テンプレート中の画像要素が有するパターン境界がX軸方向またはY軸方向に対して斜めに延在する場合もある。それらについては、以下で図14を参照して説明する信頼性導出部314の処理により、上述した信頼性のうちのいずれかがそれぞれのテンプレートに対して付与される。つまり、パターン境界の延在方向が角度的にX軸方向に近ければ、Y軸方向に対して信頼性が高いと判定される。同様に、パターン境界の延在方向が角度的にY軸方向に近ければ、X軸方向に対して信頼性が高いと判定される。 In addition to those shown in FIG. 13, the pattern boundaries of the image elements in the template may extend obliquely with respect to the X axis direction or the Y axis direction. For these, any of the above-described reliability is given to each template by the process of the reliability deriving unit 314 described below with reference to FIG. That is, if the extending direction of the pattern boundary is angularly close to the X-axis direction, it is determined that the reliability is high with respect to the Y-axis direction. Similarly, if the extending direction of the pattern boundary is angularly close to the Y-axis direction, it is determined that the reliability is high with respect to the X-axis direction.
なお、第2の実施の形態においても、画像処理部300は専用のハードウェアロジックや特定用途向け集積回路(ASIC)で構成することが可能であるが、以下ではCPU109が上記の画像処理プログラムを解釈、実行することにより画像処理部300が構成されるものとして説明をする。 Also in the second embodiment, the image processing unit 300 can be configured by dedicated hardware logic or an application specific integrated circuit (ASIC). However, in the following, the CPU 109 executes the above-described image processing program. Description will be made assuming that the image processing unit 300 is configured by interpretation and execution.
信頼性導出部314の処理フローを図14に示す。図14に示される処理は、画像処理部300を実施するための画像処理プログラムがCPU109により実行されて、この画像処理プログラム中で信頼性導出処理が呼び出されときにCPU109により実行される。図14の処理が1回実行されると、1つの基準画像内の全てのテンプレートに対応して信頼性が導出される。 The processing flow of the reliability deriving unit 314 is shown in FIG. The processing shown in FIG. 14 is executed by the CPU 109 when an image processing program for executing the image processing unit 300 is executed by the CPU 109 and the reliability derivation processing is called in the image processing program. When the process of FIG. 14 is executed once, reliability is derived corresponding to all templates in one reference image.
CPU109は、S1400においてX軸方向の微分処理を行い、S1402においてY軸方向の微分処理を行う。なお、上記のX軸方向の微分処理およびY軸方向の微分処理においては、微分値の絶対値が導出されるものとする。S1404においてCPU109は、領域内の全画像の微分処理を完了したか否かの判定を行い、この判定が否定される間、S1400からS1404までの処理を繰り返し行う。 The CPU 109 performs differentiation processing in the X axis direction in S1400, and performs differentiation processing in the Y axis direction in S1402. In the above-described X-axis direction differentiation process and Y-axis direction differentiation process, the absolute value of the differential value is derived. In S1404, the CPU 109 determines whether or not the differential processing of all the images in the region has been completed, and repeatedly performs the processing from S1400 to S1404 while this determination is denied.
S1404での判定が肯定された場合に、CPU109はS1406においてX軸方向の微分値の総和が所定の閾値を越しているか否かの判定を行う。S1406での判定が肯定されると処理はS1408に進む一方、否定されるとS1414に進む。 If the determination in S1404 is affirmed, the CPU 109 determines in S1406 whether or not the sum of the differential values in the X-axis direction exceeds a predetermined threshold value. If the determination in S1406 is affirmed, the process proceeds to S1408, whereas if the determination is negative, the process proceeds to S1414.
S1408においてCPU109は、Y軸方向の微分値の総和が所定の閾値を越しているか否かの判定を行う。S1408での判定が肯定されると処理はS1410に進む一方、否定されるとS1412に進む。S1406での判定が否定された場合の分岐先であるS1414においてCPU109は、Y軸方向の微分値の総和が所定の閾値を越しているか否かの判定を行う。S1414での判定が肯定されると処理はS1416に進む一方、否定されるとS1418に進む。 In step S1408, the CPU 109 determines whether or not the sum of the differential values in the Y-axis direction exceeds a predetermined threshold value. If the determination in S1408 is affirmed, the process proceeds to S1410. If the determination is negative, the process proceeds to S1412. In S1414, which is a branch destination when the determination in S1406 is negative, the CPU 109 determines whether or not the sum of the differential values in the Y-axis direction exceeds a predetermined threshold value. If the determination in S1414 is affirmed, the process proceeds to S1416, whereas if the determination is negative, the process proceeds to S1418.
ここでS1406、S1408、S1414において判定処理が行われる際の閾値について説明する。X軸方向、またはY軸方向の微分値の総和がこれらの閾値を上回っているときに解析対象の領域内の画像要素が十分なコントラストを有する、つまり信頼性が高いと判定できるように閾値は予め定められる。つまり、S1406においてはX軸方向の信頼性が高いか否かの判定がなされ、S1408、S1414においてはY軸方向の信頼性が高いか否かの判定がなされる。 Here, the threshold when the determination process is performed in S1406, S1408, and S1414 will be described. The threshold value is set so that when the sum of the differential values in the X-axis direction or the Y-axis direction exceeds these threshold values, it can be determined that the image element in the analysis target region has sufficient contrast, that is, has high reliability. Predetermined. That is, in S1406, it is determined whether or not the reliability in the X-axis direction is high, and in S1408 and S1414, it is determined whether or not the reliability in the Y-axis direction is high.
なお、繰り返しパターンであるか否かの判定方法については第1の実施の形態で説明したので説明を省略するが、上記X軸方向、Y軸方向の微分値の総和が所定の閾値を上回っているか否かの判定に際して繰り返しパターンの判定も行うことが望ましい。その場合、X軸方向およびY軸方向の少なくともいずれかの方向に繰り返しパターンが検出されたときにS1406、S1408、S1414の判定が否定されるようにすればよい。 The method for determining whether or not the pattern is a repetitive pattern has been described in the first embodiment and will not be described. However, the sum of the differential values in the X-axis direction and the Y-axis direction exceeds a predetermined threshold. It is desirable to determine a repetitive pattern when determining whether or not it exists. In that case, the determination of S1406, S1408, and S1414 may be denied when a repeated pattern is detected in at least one of the X-axis direction and the Y-axis direction.
上記S1406、S1408、S1414における判定結果の組み合わせに応じて、以下で説明するS1410、S1412、S1416、S1418のうち、いずれかの処理に分岐する。 Depending on the combination of determination results in S1406, S1408, and S1414, the process branches to one of S1410, S1412, S1416, and S1418 described below.
S1412の処理は、S1406でX軸に沿う軸方向の信頼性は高いと判定され、S1408でY軸に沿う軸方向の信頼性は低いと判定された場合に行われる処理である。CPU109はS1412において、現在選択されているテンプレートで導出される移動ベクトルの信頼性はX軸に沿う軸方向にのみ信頼性が高い開口問題領域であると判定し、この決定に関連する属性をそのテンプレートに対して付与する。 The process of S1412 is a process performed when it is determined in S1406 that the reliability in the axial direction along the X axis is high, and in S1408, the reliability in the axial direction along the Y axis is determined to be low. In step S1412, the CPU 109 determines that the reliability of the movement vector derived from the currently selected template is an opening problem region having high reliability only in the axial direction along the X axis. Give to the template.
S1410の処理は、S1406でX軸に沿う軸方向の信頼性は高いと判定され、S1408でY軸に沿う軸方向の信頼性は高いと判定された場合に行われる処理である。CPU109はS1410において、現在選択されているテンプレートで導出される移動ベクトルの信頼性はX軸に沿う軸方向、Y軸に沿う軸方向の2軸方向に信頼性が高いと判定し、この決定に関連する属性をそのテンプレートに対して付与する。 The process of S1410 is a process performed when it is determined that the reliability in the axial direction along the X axis is high in S1406, and the reliability in the axial direction along the Y axis is determined in S1408. In step S1410, the CPU 109 determines that the reliability of the movement vector derived from the currently selected template is high in the two axial directions, the axial direction along the X axis and the axial direction along the Y axis. Assign related attributes to the template.
S1416の処理は、S1406でX軸に沿う軸方向の信頼性は低いと判定され、S1414でY軸に沿う軸方向の信頼性は高いと判定された場合に行われる処理である。CPU109はS1416において、現在選択されているテンプレートで導出される移動ベクトルの信頼性はY軸に沿う軸方向にのみ信頼性が高い開口問題領域であると判定し、この決定に関連する属性をそのテンプレートに対して付与する。 The process of S1416 is a process performed when it is determined in S1406 that the reliability in the axial direction along the X axis is low, and in S1414, the reliability in the axial direction along the Y axis is determined to be high. In step S1416, the CPU 109 determines that the reliability of the movement vector derived from the currently selected template is an opening problem region having high reliability only in the axial direction along the Y axis, and sets the attribute related to this determination as the attribute. Give to the template.
S1418の処理は、S1406でX軸に沿う軸方向の信頼性は低いと判定され、S1414でY軸に沿う軸方向の信頼性は低いと判定された場合に行われる処理である。CPU109はS1418において、現在選択されているテンプレートで導出される移動ベクトルの信頼性はX軸に沿う軸方向、Y軸に沿う軸方向とも信頼性が低いと判定し、この決定に関連する属性をそのテンプレートに対して付与する。 The process of S1418 is a process performed when it is determined in S1406 that the reliability in the axial direction along the X axis is low, and in S1414, the reliability in the axial direction along the Y axis is determined to be low. In step S1418, the CPU 109 determines that the reliability of the movement vector derived from the currently selected template is low in both the axial direction along the X axis and the axial direction along the Y axis. Give to that template.
以上に説明したS1412、S1410、S1416およびS1418の処理のうち、いずれかの処理を終えると処理はS1420に進む。CPU109はS1420において、全てのテンプレートに対する信頼性の付与を完了したか否かの判定を行い、その判定が否定される間は上述したS1400からS1418までの処理を繰り返し行う。S1420の判定が肯定されるとCPU109はリターンする。 When any one of the processes of S1412, S1410, S1416, and S1418 described above is completed, the process proceeds to S1420. In step S1420, the CPU 109 determines whether or not the assignment of reliability to all the templates has been completed, and repeats the above-described processing from S1400 to S1418 while the determination is negative. If the determination in S1420 is affirmed, the CPU 109 returns.
移動ベクトル補正処理部315で行われる処理内容について図15を参照して説明する。図15に示される処理は、第1の実施の形態で図9を参照して説明したものと類似する。しかし、図15に示される処理は、以下の説明から明らかになるように、第1の実施の形態における処理に比べて簡略化されている。 The processing content performed by the movement vector correction processing unit 315 will be described with reference to FIG. The processing shown in FIG. 15 is similar to that described with reference to FIG. 9 in the first embodiment. However, the process shown in FIG. 15 is simplified as compared with the process in the first embodiment, as will be apparent from the following description.
CPU109は、移動ベクトル導出部313で導出された移動ベクトルと、信頼性導出部314で導出された信頼性をもとに、移動ベクトルに補正を加える。図15(a)および図15(b)にはそれぞれ、相隣り合う4つの領域のテンプレート(テンプレート1、テンプレート2、テンプレート3、テンプレート4)が示されている。 The CPU 109 corrects the movement vector based on the movement vector derived by the movement vector deriving unit 313 and the reliability derived by the reliability deriving unit 314. FIG. 15A and FIG. 15B show templates of four adjacent regions (template 1, template 2, template 3, template 4), respectively.
各テンプレート中には画像のパターンと、当該のテンプレートに対応して求められた移動ベクトルMV1、MV2、MV3、MV4が示されている。図15(a)が補正処理前の状態を、図15(b)が補正処理後の状態を示す。以下では、テンプレート1、テンプレート2、テンプレート3、テンプレート4の移動ベクトルのみに対し、必要に応じて補正を加える例について説明する。しかし、実際には基準画像中の全テンプレートの移動ベクトルに対し、必要に応じて補正を加える。 In each template, an image pattern and movement vectors MV1, MV2, MV3, and MV4 obtained corresponding to the template are shown. FIG. 15A shows a state before the correction process, and FIG. 15B shows a state after the correction process. Below, the example which correct | amends only the movement vector of the template 1, the template 2, the template 3, and the template 4 as needed is demonstrated. However, in practice, correction is applied to the movement vectors of all templates in the reference image as necessary.
テンプレート1およびテンプレート4は、信頼性導出部314によって導出される信頼性がX軸に沿う軸方向およびY軸に沿う軸方向の2軸方向に高いものとなるパターンの画像要素を有する例が示されている。テンプレート2は、信頼性導出部314によって導出される信頼性が2軸方向とも低いものとなるパターンの画像要素を有する例が示されている。そしてテンプレート3は、開口問題領域、さらに詳しくは、信頼性導出部314によって導出される信頼性がX軸に沿う軸方向にのみ高いものとなるパターンの画像要素を有する例が示されている。 Examples of the template 1 and the template 4 include an image element having a pattern in which the reliability derived by the reliability deriving unit 314 is high in the two axial directions along the X axis and the Y axis. Has been. The template 2 shows an example having image elements having a pattern in which the reliability derived by the reliability deriving unit 314 is low in both biaxial directions. The template 3 has an opening problem area, more specifically, an example having an image element having a pattern in which the reliability derived by the reliability deriving unit 314 is high only in the axial direction along the X axis.
信頼性がX軸に沿う軸方向、Y軸に沿う軸方向ともに高いテンプレート1およびテンプレート4では、移動ベクトル補正処理の前後で変化は無く、それぞれMV1、MV4のままとなっている。そして、テンプレート2およびテンプレート3では、以下に説明するように補正が加えられる。 In Template 1 and Template 4, which have high reliability in both the axial direction along the X axis and the axial direction along the Y axis, there is no change before and after the movement vector correction processing, and they remain MV1 and MV4, respectively. In template 2 and template 3, correction is applied as described below.
2軸方向とも信頼性が低いテンプレート2を用いて移動ベクトル導出部313で求められた移動ベクトルMV2の信頼性は、2軸方向ともに低い。この場合、テンプレート2の周囲に存在するテンプレート中から信頼性がX軸に沿う軸方向、Y軸に沿う軸方向ともに高いテンプレートの移動ベクトルを補正後の移動ベクトルとする。例えば図15(b)に示されるように、テンプレート2の隣に位置し、信頼性がX軸に沿う軸方向、Y軸に沿う軸方向ともに高いテンプレート1の移動ベクトルMV1を、テンプレート2に対応する補正後の移動ベクトルとする。このように移動ベクトルを補正することにより、より好ましい位置合わせの結果を得ることが期待できる。 The reliability of the movement vector MV2 obtained by the movement vector deriving unit 313 using the template 2 having low reliability in both the biaxial directions is low in both the biaxial directions. In this case, a template movement vector having high reliability in the axial direction along the X axis and the axial direction along the Y axis among the templates existing around the template 2 is set as a corrected movement vector. For example, as shown in FIG. 15B, the movement vector MV1 of the template 1 that is located next to the template 2 and has high reliability in both the axial direction along the X axis and the axial direction along the Y axis corresponds to the template 2. It is set as the corrected movement vector. By correcting the movement vector in this way, it can be expected to obtain a more preferable alignment result.
続いて、信頼性がX軸に沿う軸方向にのみ高いテンプレート3における移動ベクトルの補正について説明する。CPU109は、補正処理前の移動ベクトルMV3を、図15(a)に示されるようにX軸に沿う軸成分の移動ベクトルMV3xと、Y軸に沿う軸成分の移動ベクトルMV3yとに分解する。 Next, correction of the movement vector in the template 3 having high reliability only in the axial direction along the X axis will be described. The CPU 109 decomposes the movement vector MV3 before the correction processing into an axis component movement vector MV3x along the X axis and an axis component movement vector MV3y along the Y axis as shown in FIG.
テンプレート3はX軸に沿う軸方向にのみ信頼性が高いので、X軸に沿う軸成分の移動ベクトルMV3xに対しては補正が行われない。一方、Y軸に沿う軸成分の信頼性は低いので、テンプレート3の近隣に存在するテンプレート中から、テンプレート3の低信頼性方向(本例ではY軸に沿う軸方向)に対して十分な信頼性を有するテンプレートを探索する。図15の例では、テンプレート4がそのようなテンプレートに該当する。そして、図15(b)に示されるように、テンプレート3の移動ベクトルMV3のY軸に沿う軸成分のベクトルMV3yをテンプレート4のY軸方向に沿う軸成分のベクトルMV4yに置き換える。その結果、テンプレート3の移動ベクトルはMV3からMV3newに補正される。 Since the template 3 has high reliability only in the axial direction along the X axis, no correction is performed on the movement vector MV3x of the axial component along the X axis. On the other hand, since the reliability of the axial component along the Y axis is low, sufficient reliability with respect to the low reliability direction of the template 3 (in this example, the axial direction along the Y axis) from among the templates existing near the template 3 Search for templates that have sex. In the example of FIG. 15, the template 4 corresponds to such a template. 15B, the axis component vector MV3y along the Y axis of the movement vector MV3 of the template 3 is replaced with the axis component vector MV4y along the Y axis direction of the template 4. As a result, the movement vector of template 3 is corrected from MV3 to MV3new.
以上では、移動ベクトル3のY軸に沿う軸成分MV3yを、テンプレート3の近隣に位置するテンプレート4に対応する移動ベクトルMV4のY軸に沿う軸成分MV4yに置き換える例について説明した。しかし、本発明はこれに限られるものではなく、上記の例においてMV3yとMV4yとを相加平均あるいは相乗平均して補正後のベクトル成分を求めても良い。このとき、単純平均のみならず、加重平均等の処理をして補正後のベクトル成分を求めてもよい。 The example in which the axis component MV3y along the Y axis of the movement vector 3 is replaced with the axis component MV4y along the Y axis of the movement vector MV4 corresponding to the template 4 located in the vicinity of the template 3 has been described above. However, the present invention is not limited to this, and the corrected vector component may be obtained by arithmetically averaging or geometrically averaging MV3y and MV4y in the above example. At this time, not only a simple average but also a weighted average or the like may be performed to obtain a corrected vector component.
また、テンプレート3の近隣に、Y軸に沿う軸成分の信頼性の比較的高いテンプレートが複数あるとき、それら複数のテンプレートのそれぞれから得られる移動ベクトルに基づいてテンプレート3の移動ベクトルに補正を加えても良い。 In addition, when there are a plurality of templates having relatively high reliability of the axial component along the Y axis in the vicinity of the template 3, the movement vector of the template 3 is corrected based on the movement vector obtained from each of the plurality of templates. May be.
図15(a)、図15(b)には示されていないが、Y軸に沿う軸成分の信頼性のみが高いテンプレートに対応する移動ベクトルに対しても、上述したのと同様の方法によって補正をすることができる。 Although not shown in FIGS. 15 (a) and 15 (b), a movement vector corresponding to a template in which only the reliability of the axial component along the Y axis is high is also applied by the same method as described above. Corrections can be made.
なお、複数の画像を合成するための一連の処理を行う画像処理プログラムについては、図12を参照して第1の実施の形態で説明したものと同様であるので、図示および説明を省略する。 Note that an image processing program for performing a series of processes for combining a plurality of images is the same as that described in the first embodiment with reference to FIG.
以上に説明したように、第2の実施の形態においては、第1の実施の形態で説明したような、移動ベクトルをテンプレート内の画像要素のエッジ勾配方向に沿う軸成分(高信頼性方向に沿う軸成分)とエッジ勾配方向に直交する方向に沿う軸成分(低信頼性方向に沿う軸成分)とに分解することは行わない。代わりに、移動ベクトルをX軸方向成分とY軸方向成分とに分解し、このX軸方向、Y軸方向の信頼性の高低に応じて補正処理がなされる。このようにすることにより、第1の実施の形態で行われているアークタンジェントの計算や座標変換の処理を省くことが可能となるので、計算コストを削減することが可能となる。 As described above, in the second embodiment, as described in the first embodiment, the movement vector is converted into an axial component (in a highly reliable direction) along the edge gradient direction of the image element in the template. The axial component) is not decomposed into the axial component along the direction perpendicular to the edge gradient direction (the axial component along the low reliability direction). Instead, the movement vector is decomposed into an X-axis direction component and a Y-axis direction component, and correction processing is performed according to the level of reliability in the X-axis direction and the Y-axis direction. By doing so, it is possible to omit the arc tangent calculation and the coordinate conversion processing performed in the first embodiment, thereby reducing the calculation cost.
第2の実施の形態においても、図12に示すフローチャート中、S1212の処理を省略することも可能である。つまり、図2の撮影装置100中、画像合成処理部310を省略することが可能である。そして、第1の実施の形態と同様に、パーソナルコンピュータやストレージビューワ等が画像合成処理部310を有するものとすることが可能である。 Also in the second embodiment, the process of S1212 can be omitted in the flowchart shown in FIG. That is, it is possible to omit the image composition processing unit 310 in the imaging apparatus 100 of FIG. As in the first embodiment, a personal computer, a storage viewer, or the like can include the image composition processing unit 310.
なお、撮像部105の画素の配列が千鳥状の配列であったり、矩形でない多角形をタイル状に敷き詰めたような配列であったりする場合もある。その場合、テンプレートの輪郭形状を矩形として、上記X軸方向、Y軸方向はその矩形形状の横の辺、縦の辺に沿う方向としてもよい。あるいは、矩形の輪郭形状を有する基準画像、参照画像の横の辺、縦の辺に沿う方向としてもよい。要するに、第1の実施の形態で説明した処理中のアークタンジェントの演算、座標変換のための行列演算等を省略可能となるように上記X軸方向、Y軸方向を定めればよい。 Note that the pixel arrangement of the imaging unit 105 may be a staggered arrangement or an arrangement in which non-rectangular polygons are tiled. In that case, the outline shape of the template may be a rectangle, and the X-axis direction and the Y-axis direction may be directions along the horizontal and vertical sides of the rectangular shape. Or it is good also as a direction along the standard image which has a rectangular outline shape, the horizontal side of a reference image, and a vertical side. In short, the X-axis direction and the Y-axis direction may be determined so that the arc tangent calculation during processing, the matrix calculation for coordinate conversion, and the like described in the first embodiment can be omitted.
− 第3の実施の形態 −
第1および第2の実施の形態においては、画像処理部300が位置合わせ処理部309と画像合成処理部310とを有していて、画像処理部300が合成画像を生成可能に構成される。また、第1および第2の実施の形態において、位置合わせ処理部309は、移動ベクトル補間処理部316を有していて、画素ごとの移動ベクトルを記憶部108に出力するように構成されている。
− Third embodiment −
In the first and second embodiments, the image processing unit 300 includes the alignment processing unit 309 and the image composition processing unit 310, and the image processing unit 300 is configured to be able to generate a composite image. In the first and second embodiments, the alignment processing unit 309 includes a movement vector interpolation processing unit 316 and is configured to output a movement vector for each pixel to the storage unit 108. .
これに対して、第3の実施の形態においては、図16に示されるように、画像処理部300Aは内部に画像合成処理部310を有していない。また、位置合わせ処理部309Aは、図17に示されるように移動ベクトル補間処理部316を有していない。画像処理部300Aは、画素ごとの移動ベクトルではなく、移動ベクトル補正処理部315(図17)で処理された、補正後の移動ベクトルを記憶部108に出力する。 On the other hand, in the third embodiment, as shown in FIG. 16, the image processing unit 300 </ b> A does not have an image composition processing unit 310 inside. Further, the alignment processing unit 309A does not have the movement vector interpolation processing unit 316 as shown in FIG. The image processing unit 300 </ b> A outputs the corrected movement vector processed by the movement vector correction processing unit 315 (FIG. 17) instead of the movement vector for each pixel to the storage unit 108.
なお、図16に示される撮影装置100Aが有する構成要素中、図2に示される撮影装置100が有するものと同様の構成要素には同じ符号を付してその説明を省略する。同様に、図17に示される位置合わせ処理部309Aが有する構成要素中、図3に示される位置合わせ処理部309が有するものと同様の構成要素には同じ符号を付してその説明を省略する。 Note that among the constituent elements of the photographing apparatus 100A shown in FIG. 16, the same constituent elements as those of the photographing apparatus 100 shown in FIG. Similarly, among the components included in the alignment processing unit 309A illustrated in FIG. 17, the same components as those included in the alignment processing unit 309 illustrated in FIG. .
外部処理装置350は、パーソナルコンピュータやストレージビューワ、あるいはデジタルフォトフレーム等とすることが可能である。外部処理装置350は、移動ベクトル補間処理部316と画像合成処理部310とを有する。撮影装置100Aから外部処理装置350へ、画像データが転送される。画像データの転送には、有線あるいは無線の通信手段を用いることが可能である。あるいは、撮影装置100Aに装着されたメモリカード内に画像データがストアされて、そのメモリカードを外部処理装置350に装着することにより、画像データが転送されるものであってもよい。この画像データには、補正後の基準ベクトルと、位置合わせ基準ブロックの情報とが含まれる。 The external processing device 350 can be a personal computer, a storage viewer, a digital photo frame, or the like. The external processing device 350 includes a movement vector interpolation processing unit 316 and an image composition processing unit 310. Image data is transferred from the imaging apparatus 100 </ b> A to the external processing apparatus 350. Wired or wireless communication means can be used for transferring image data. Alternatively, image data may be stored in a memory card attached to the photographing apparatus 100A, and the image data transferred by attaching the memory card to the external processing device 350. This image data includes the corrected reference vector and the information of the alignment reference block.
位置合わせ処理部309Aの内部構成を図17に示す。図3に示される、第1および第2の実施の形態における位置合わせ処理部309との相違点は、先にも説明したように、図3における移動ベクトル補間処理部316が位置合わせ処理部309Aでは省かれる点である。 FIG. 17 shows an internal configuration of the alignment processing unit 309A. The difference from the alignment processing unit 309 in the first and second embodiments shown in FIG. 3 is that the movement vector interpolation processing unit 316 in FIG. Then, it is a point to be omitted.
撮影装置100A、外部処理装置350は、以上に説明したような構成を有しており、撮影装置100Aが移動ベクトルの補正まで行い、以降の処理については外部処理装置350が行う。画像合成処理部310で生成された合成画像は、表示装置やプリンタ等の画像出力機器に出力される。 The imaging apparatus 100A and the external processing apparatus 350 have the configuration described above. The imaging apparatus 100A performs correction of the movement vector, and the subsequent processing is performed by the external processing apparatus 350. The composite image generated by the image composition processing unit 310 is output to an image output device such as a display device or a printer.
第3の実施の形態においても、画像処理部300Aは専用のハードウェアロジックや特定用途向け集積回路(ASIC)で構成することが可能であるが、以下ではCPU109が上記の画像処理プログラムを解釈、実行することにより画像処理部300Aが構成されるものとして説明をする。 Also in the third embodiment, the image processing unit 300A can be configured by a dedicated hardware logic or an application specific integrated circuit (ASIC), but below, the CPU 109 interprets the above image processing program, In the following description, it is assumed that the image processing unit 300A is configured by execution.
画像処理部300Aにおいては、図12に示されるフローチャート中の処理のうち、S1200からS1208までの処理に相当する処理が行われる。そして、S1210およびS1212の処理に相当する処理は外部処理装置350で行われる。 In the image processing unit 300A, processing corresponding to the processing from S1200 to S1208 is performed among the processing in the flowchart shown in FIG. Then, processing corresponding to the processing of S1210 and S1212 is performed by the external processing device 350.
以上に説明したように、画像処理部300Aにおいては移動ベクトル補間の処理が行われないので、画像処理部300Aにおける処理負荷の軽減が可能となる。加えて、RAM108Aの記憶容量を節約することが可能となる。 As described above, since the movement vector interpolation process is not performed in the image processing unit 300A, the processing load on the image processing unit 300A can be reduced. In addition, the storage capacity of the RAM 108A can be saved.
なお、第1、第2の実施の形態と同様に、図12に示されるS1204における移動ベクトル導出処理、S1206における信頼性導出処理を、図12に示されるのとは逆の順番で行うようにしてもよい。 As in the first and second embodiments, the movement vector derivation process in S1204 shown in FIG. 12 and the reliability derivation process in S1206 are performed in the reverse order shown in FIG. May be.
− 第4の実施の形態 −
第1から第3の実施の形態においては、基準画像に参照画像を重ね合わせるための位置合わせ処理をする都度、基準画像中の各テンプレートに対応して信頼性が導出される例について説明した。
-Fourth embodiment-
In the first to third embodiments, the example in which the reliability is derived corresponding to each template in the standard image every time the alignment process for superimposing the reference image on the standard image is described.
例えば、3枚の画像を位置合わせして重ね合わせる処理をする場合、一例として以下のような処理が、第1から第3の実施の形態では行われる。すなわち、一枚目の画像を基準画像とし、二枚目の画像を参照画像としたとき、一枚目の画像に基づいて信頼性が導出される。そして、一枚目、二枚目の画像をもとに移動ベクトルの補正や補間の処理が行われ、位置合わせ、合成の処理が行われる。次に、上記の合成された画像に基づいて新たに信頼性が導出される。そして上記の合成された画像と三枚目の画像とをもとに移動ベクトルの補正や補間の処理が行われ、位置合わせ、合成の処理が行われる。 For example, when performing the process of aligning and overlaying three images, the following processes are performed as an example in the first to third embodiments. That is, when the first image is a standard image and the second image is a reference image, reliability is derived based on the first image. Then, based on the first and second images, movement vector correction and interpolation processing are performed, and alignment and composition processing are performed. Next, reliability is newly derived based on the synthesized image. Then, based on the synthesized image and the third image, correction of the movement vector and interpolation processing are performed, and alignment and synthesis processing are performed.
これに対して、第4の実施の形態においては、上記と同じく3枚の画像を位置合わせして重ね合わせる処理をする場合を例に説明すると、最初に3枚の画像のうちのいずれか1枚の画像をもとに信頼性が導出される。 On the other hand, in the fourth embodiment, the case where the process of aligning and superimposing three images as described above will be described as an example. First, any one of the three images is selected. Reliability is derived based on a single image.
この画像は一枚目から三枚目の画像のうち、いずれであっても良い。撮影開始直後から画像処理が行われる場合には、一枚目の画像から信頼性を導出することが処理時間を短縮する上で望ましい。 This image may be any of the first to third images. When image processing is performed immediately after the start of imaging, it is desirable to derive the reliability from the first image in order to reduce the processing time.
あるいは、一連の撮影が完了した後に画像処理が行われる場合、二枚目、すなわち一連の撮影で得られる複数枚の画像中、撮影開始タイミングと撮影完了タイミングとの中間のタイミング近傍で得られた画像とすることが望ましい。理由は、二枚目の画像が、一枚目、三枚目の画像に対して時間的に概ね等間隔のタイミングで撮影されているからである。それにより、一枚目の画像と二枚目の画像との差、二枚目の画像と三枚目の画像との差は、一枚目の画像と三枚目の画像との差よりも少ない、つまり画像の一致度が高いことが期待できるからである。 Alternatively, when image processing is performed after a series of shootings is completed, the second image, that is, a plurality of images obtained by a series of shootings, is obtained in the vicinity of the timing between the shooting start timing and the shooting completion timing. An image is desirable. The reason is that the second image is taken at substantially equal intervals in time with respect to the first and third images. Therefore, the difference between the first image and the second image, and the difference between the second image and the third image are larger than the difference between the first image and the third image. This is because it can be expected that there is little, that is, a high degree of matching of images.
そして、上述のように特定の1枚の画像をもとに導出された信頼性を、その後複数回行われる移動ベクトル修正の処理に際して共通して用いることにより、信頼性導出に係る処理負荷を低減することが可能となる。重ね合わせられる画像が4枚、5枚、…と増えるにつれて、この効果は顕著となる。 Then, the reliability derived based on one specific image as described above is commonly used for the movement vector correction process performed several times thereafter, thereby reducing the processing load related to the reliability derivation. It becomes possible to do. This effect becomes more prominent as the number of superimposed images increases to 4, 5, and so on.
図18は、第4の実施の形態の画像処理部300Bを有する撮影装置100Bの構成を示すブロック図である。図19は、位置合わせ処理部309Bの構成を示すブロック図である。図18に示される撮影装置100Aが有する構成要素中、図2に示される撮影装置100が有するものと同様の構成要素には同じ符号を付してその説明を省略する。同様に、図19に示される位置合わせ処理部309Bが有する構成要素中、図3に示される位置合わせ処理部309が有するものと同様の構成要素には同じ符号を付してその説明を省略する。 FIG. 18 is a block diagram illustrating a configuration of an imaging device 100B having an image processing unit 300B according to the fourth embodiment. FIG. 19 is a block diagram illustrating a configuration of the alignment processing unit 309B. Among the constituent elements of the photographing apparatus 100A shown in FIG. 18, the same constituent elements as those of the photographing apparatus 100 shown in FIG. Similarly, among the components of the alignment processing unit 309B shown in FIG. 19, the same components as those of the alignment processing unit 309 shown in FIG. .
図18を参照して、画像処理部300Bは位置合わせ処理部309Bと画像合成処理部310とを有する。画像処理部300Bは専用のハードウェアロジックや特定用途向け集積回路(ASIC)で構成することも可能であるが、以下ではCPU109が画像処理プログラムを解釈、実行することにより画像処理部300Bが構成されるものとして説明をする。 Referring to FIG. 18, the image processing unit 300B includes an alignment processing unit 309B and an image composition processing unit 310. The image processing unit 300B can be configured by a dedicated hardware logic or an application specific integrated circuit (ASIC). In the following, the image processing unit 300B is configured by the CPU 109 interpreting and executing the image processing program. It will be described as a thing.
図19を参照して、位置合わせ処理部309B内の信頼性導出部314Aは、第1あるいは第2の実施の形態における信頼性導出部314と同様の処理を行い、画像中に設けられる複数のテンプレートのそれぞれに対応して信頼性を導出する。このとき、信頼性導出部314Aは、先にも説明したように、予め定められた1枚の画像に対応して信頼性を導出する点が他の実施の形態のものと異なる。そして、その後複数回にわたって位置合わせのための一連の処理が行われる際に、信頼性導出部314Aで導出された上記信頼性が共通して用いられる。 Referring to FIG. 19, the reliability deriving unit 314A in the alignment processing unit 309B performs the same processing as the reliability deriving unit 314 in the first or second embodiment, and a plurality of units provided in the image. Reliability is derived for each of the templates. At this time, the reliability deriving unit 314A is different from the other embodiments in that the reliability deriving unit 314A derives the reliability corresponding to one predetermined image as described above. Then, when a series of processing for alignment is performed a plurality of times thereafter, the reliability derived by the reliability deriving unit 314A is used in common.
位置合わせ処理部309Bからは、画素ごとの移動ベクトルが複数の参照画像のそれぞれに対応して出力される。画像合成処理部310は、画像データと画素ごとの移動ベクトルとをもとに画像合成の処理を行い、合成画像を生成する。 From the alignment processing unit 309B, a movement vector for each pixel is output corresponding to each of a plurality of reference images. The image composition processing unit 310 performs image composition processing based on the image data and the movement vector for each pixel, and generates a composite image.
画像合成のための一連の処理を行う画像処理プログラムを図20および図21に示す。図20および図21は、CPU109で実行される信頼性導出処理および複数の画像を合成する処理の手順を概略的に示すフローチャートである。 An image processing program for performing a series of processes for image composition is shown in FIGS. 20 and 21 are flowcharts schematically showing the procedure of the reliability deriving process and the process of synthesizing a plurality of images executed by the CPU 109.
図20のフローチャートを参照して信頼性導出の処理手順について説明する。図20の処理は、上述したように、予め定められた1枚の画像に対して行われる処理である。S1200においてCPU109は、移動ベクトル測定領域設定処理を行う。この処理は、図12のS1200における処理と同様の処理である。S2000においてCPU109は、信頼性導出の処理を行う。この処理で導出される信頼性は、第1の実施の形態で説明した、高信頼性方向および低信頼性方向に沿う2軸方向の軸成分に分解されるものであってもよいし、第2の実施の形態で説明したX軸方向およびY軸方向に沿う2つの軸成分に分解されるものであってもよい。以上の処理を終えてCPU109は信頼性導出処理を完了する。 The reliability derivation processing procedure will be described with reference to the flowchart of FIG. The process in FIG. 20 is a process performed on a predetermined image as described above. In S1200, the CPU 109 performs a movement vector measurement region setting process. This process is the same as the process in S1200 of FIG. In S2000, the CPU 109 performs reliability derivation processing. The reliability derived by this processing may be decomposed into two axial components along the high reliability direction and the low reliability direction described in the first embodiment. It may be decomposed into two axial components along the X-axis direction and the Y-axis direction described in the second embodiment. After completing the above processing, the CPU 109 completes the reliability derivation processing.
図21のフローチャートを参照して画像合成の処理について説明する。図21に示されるフローチャート中、図12に示される処理と同様の処理には、図12での各処理ステップに付される符号と同じ符号を付してその詳細な説明を省略する。そして、図12での処理との違いを中心に説明をする。 The image composition process will be described with reference to the flowchart of FIG. In the flowchart shown in FIG. 21, the same processes as those shown in FIG. 12 are denoted by the same reference numerals as those assigned to the respective processing steps in FIG. 12, and detailed description thereof is omitted. The difference from the processing in FIG. 12 will be mainly described.
図21の処理においては、図12の処理におけるS1206の処理が無い。その代わりに、例えば3回の画像合成処理が行われる場合、図21の処理が3回行われる訳であるが、その際に図20の処理によって得られた信頼性が図21の処理を行う都度、一律に適用される。 In the process of FIG. 21, there is no process of S1206 in the process of FIG. Instead, for example, when the image composition processing is performed three times, the processing in FIG. 21 is performed three times. At this time, the reliability obtained by the processing in FIG. 20 performs the processing in FIG. It is applied uniformly each time.
以上のように、第4の実施の形態では、予め定められた1枚の画像中のテンプレートに対応して信頼性を導出し、それを保持しておくので、位置合わせ、画像重ね合わせの処理を複数回にわたって行う場合に処理負荷を低減することが可能となる。すなわち、処理時間を短縮することが可能となる。これにより、一回の撮影を終えてから次の撮影が可能となるまでの待ち時間を短縮することが可能となる。また、連続撮影時における単位時間あたりの撮影可能コマ数(コマ速)を増すことが可能となる。また、複数の画像を合成する処理がパーソナルコンピュータ等、外部の処理装置で行われる場合には、画像の処理を開始してからモニタ表示装置等に画像が表示されるまでの待ち時間を短縮することが可能となる。 As described above, in the fourth embodiment, reliability is derived and retained in correspondence with a template in a predetermined image, so that alignment and image overlay processing are performed. It is possible to reduce the processing load when the process is performed a plurality of times. That is, the processing time can be shortened. As a result, it is possible to reduce the waiting time from the end of one shooting until the next shooting is possible. In addition, it is possible to increase the number of frames (frame speed) that can be shot per unit time during continuous shooting. In addition, when the processing for combining a plurality of images is performed by an external processing device such as a personal computer, the waiting time until the image is displayed on the monitor display device after the image processing is started is shortened. It becomes possible.
ところで、第4の実施の形態の画像処理部300Bで画像合成の処理が行われる場合、例えば被写体が人間で、一連の撮影動作中に腕や顔などが大きく動いてしまった場合、あるいは被写体が花で、一連の撮影動作中に風の影響で花が揺れてしまった場合等に望ましい処理結果が得られない可能性がある。 By the way, when the image composition processing is performed by the image processing unit 300B of the fourth embodiment, for example, when the subject is a human and the arm or face moves greatly during a series of photographing operations, or the subject is There is a possibility that a desired processing result may not be obtained when a flower shakes due to the influence of wind during a series of shooting operations.
例えば、信頼性導出のために用いた画像中のあるテンプレートには腕の一部の画像が含まれていて、二軸方向に信頼性が高いとの信頼性が付与されたとする。ところが、参照画像中における当該のテンプレートに対応する領域には腕の画像が含まれておらず、背景の無地の画像しか写っていなかったとする。 For example, it is assumed that a certain template in an image used for reliability derivation includes an image of a part of an arm, and the reliability that the reliability is high in the biaxial direction is given. However, it is assumed that the region corresponding to the template in the reference image does not include the arm image and only the plain background image is shown.
このような場合、テンプレートマッチングで得られる動きベクトルの信頼性は、信頼性と必ずしも一致しない。このような状況に対処するためには、位置合わせ処理部を図22に示されるような構成とすることが望ましい。図22に示される位置合わせ処理部309Cが有する構成要素中、図3に示される位置合わせ処理部309が有するものと同様の構成要素には同じ符号を付してその説明を省略する。 In such a case, the reliability of the motion vector obtained by template matching does not necessarily match the reliability. In order to cope with such a situation, it is desirable that the alignment processing unit is configured as shown in FIG. Among the components included in the alignment processing unit 309C illustrated in FIG. 22, the same components as those included in the alignment processing unit 309 illustrated in FIG.
図22に示される位置合わせ処理部309Cは、以下に説明する点で図19に示される位置合わせ処理部309Bと異なる。すなわち、位置合わせ処理部309Cは、位置合わせ処理部309Bの移動ベクトル導出部313が移動ベクトル導出部313Aに置き換えられ、妥当性検証部317をさらに有する。 The alignment processing unit 309C shown in FIG. 22 is different from the alignment processing unit 309B shown in FIG. 19 in the points described below. That is, the alignment processing unit 309C further includes a validity verification unit 317 in which the movement vector deriving unit 313 of the alignment processing unit 309B is replaced with a movement vector deriving unit 313A.
移動ベクトル導出部313Aは、テンプレートマッチングの処理を行って移動ベクトルを導出するのに加えて、テンプレートマッチングの一致度を導出する処理を行う。つまり、基準画像内のテンプレートの画像要素と一致する画像要素を参照画像内で見出した後、テンプレートの画像要素と、テンプレートの画像要素に一致すると判定された画像要素との一致度を導出する。この一致度の導出は、公知の技術を利用可能である。 The movement vector deriving unit 313A performs a process of deriving a matching degree of template matching in addition to deriving a movement vector by performing a template matching process. That is, after finding an image element that matches the image element of the template in the reference image in the reference image, the degree of coincidence between the image element of the template and the image element determined to match the image element of the template is derived. A known technique can be used to derive the degree of coincidence.
妥当性検証部317は、移動ベクトル導出部313Aで導出される一致度の情報に基づき、移動ベクトル導出部313Aで導出される移動ベクトルの妥当性を検証する。つまり、予め定められた閾値よりも上記一致度が低い(一致度が比較的低い)場合には、求められた移動ベクトルの信頼性は低いと判定する。そして、現在、判定対象となっているテンプレートに対して付与されている信頼性が「2軸方向の軸成分双方の信頼性が高い」、「1軸方向の軸成分のみ信頼性が高い」といったものであっても、当該の信頼性を「2軸方向の軸成分双方の信頼性が低い」に変更する。つまり、妥当性検証部317は、移動ベクトル導出部313Aで導出されるテンプレートマッチング処理結果の一致度をもとに、信頼性を必要に応じて補正する処理を行う。 The validity verification unit 317 verifies the validity of the movement vector derived by the movement vector deriving unit 313A based on the degree of coincidence information derived by the movement vector deriving unit 313A. That is, when the coincidence degree is lower than a predetermined threshold (the coincidence degree is relatively low), it is determined that the reliability of the obtained movement vector is low. The reliability given to the template that is currently determined is “high reliability in both axial components in two axes”, “high reliability only in one axial component”, etc. Even if it is a thing, the said reliability is changed into "the reliability of both the axial components of 2 axial directions is low." That is, the validity verification unit 317 performs a process of correcting the reliability as necessary based on the degree of coincidence of the template matching process result derived by the movement vector deriving unit 313A.
移動ベクトル補正処理部315Aは、補正前の移動ベクトルと補正後の信頼性とに基づき、移動ベクトルを必要に応じて補正する処理を行う。 The movement vector correction processing unit 315A performs a process of correcting the movement vector as necessary based on the movement vector before correction and the reliability after correction.
図23は、CPU109で実行される画像合成処理の処理手順を概略的に示すフローチャートである。図23に示されるフローチャート中、図12に示される処理と同様の処理には、図12での各処理ステップに付される符号と同じ符号を付してその詳細な説明を省略する。そして、図12での処理との違いを中心に説明をする。 FIG. 23 is a flowchart schematically showing a processing procedure of image composition processing executed by the CPU 109. In the flowchart shown in FIG. 23, the same processes as those shown in FIG. 12 are denoted by the same reference numerals as those assigned to the respective processing steps in FIG. The difference from the processing in FIG. 12 will be mainly described.
図23の画像合成処理においては、図12の画像合成処理におけるS1206の処理(信頼性導出処理)が無い。その代わりに、例えば3回の画像合成処理が行われる場合、図21の処理が3回行われる訳であるが、その際に図20の処理によって得られた信頼性が図21の処理を行う都度、一律に適用される。この点は図21に示されるものと同様である。 In the image composition processing of FIG. 23, there is no processing (reliability derivation processing) of S1206 in the image composition processing of FIG. Instead, for example, when the image composition processing is performed three times, the processing in FIG. 21 is performed three times. At this time, the reliability obtained by the processing in FIG. 20 performs the processing in FIG. It is applied uniformly each time. This point is the same as that shown in FIG.
さらに、図23の画像合成処理においては、図12、あるいは図21の画像合成処理におけるS1204の処理(移動ベクトル導出処理)がS1203の処理(移動ベクトル導出・一致度導出処理)に置き換えられ、S1205の処理(妥当性検証・信頼性補正処理)が追加される。 Further, in the image composition process of FIG. 23, the process of S1204 (movement vector derivation process) in the image composition process of FIG. 12 or FIG. 21 is replaced with the process of S1203 (movement vector derivation / matching degree derivation process). Processing (validity verification / reliability correction processing) is added.
S1203においてCPU109は、移動ベクトル導出および一致度導出の処理を行う。この処理は、図22を参照して説明した移動ベクトル導出部313Aでの処理に相当する。CPU109はS1205において、妥当性検証および信頼性導出の処理を行う。この処理は、図22を参照して説明した妥当性検証部317での処理に相当する。 In step S1203, the CPU 109 performs movement vector derivation and coincidence degree derivation processing. This process corresponds to the process in the movement vector deriving unit 313A described with reference to FIG. In S1205, the CPU 109 performs validity verification and reliability derivation processing. This processing corresponds to the processing in the validity verification unit 317 described with reference to FIG.
被写体が静物である場合、図19から図21を参照して説明した画像合成の処理を行うと効果的である。一方、被写体が動きを有するものである場合、図22および図23を参照して説明した画像合成の処理を行うことにより、より好ましい結果を得ることができる。 When the subject is a still life, it is effective to perform the image composition processing described with reference to FIGS. On the other hand, when the subject has a motion, a more preferable result can be obtained by performing the image composition processing described with reference to FIGS.
以上、第4の実施の形態では、撮影装置100Bが画像処理部300Bを有するものとして説明をしたが、撮影装置100Bとは別の外部処理装置内に画像処理部300Bに相当するものを有していてもよい。あるいは、画像処理部300Bが有する機能の一部を外部処理装置が有していてもよい。 As described above, in the fourth embodiment, the imaging apparatus 100B is described as including the image processing unit 300B. However, the imaging apparatus 100B includes an image processing unit 300B corresponding to an external processing device that is different from the imaging apparatus 100B. It may be. Alternatively, the external processing device may have some of the functions of the image processing unit 300B.
本発明に係る画像処理の技術は、デジタルスチルカメラ、デジタルムービーカメラなどに適用することが可能である。さらには、携帯電話、パーソナルコンピュータ、あるいは携帯情報端末装置などに組み込まれるカメラなどに適用することが可能である。 The image processing technique according to the present invention can be applied to a digital still camera, a digital movie camera, and the like. Furthermore, the present invention can be applied to a camera incorporated in a mobile phone, a personal computer, a portable information terminal device, or the like.
100、100A、100B 撮影装置
104 光学系
105 撮像部
106 アナログフロントエンド(AFE)
107 信号処理回路
108 記憶部
108A RAM
108B ROM
109 CPU
110 システムバス
300、300A、300B 画像処理部
309、309A、309B、309C 位置合わせ処理部
310 画像合成処理部
311 移動ベクトル測定領域設定部
312 位置合わせ基準領域設定部
313、313A 移動ベクトル導出部
314、314A 信頼性導出部
315、315A 移動ベクトル補正処理部
316 移動ベクトル補間処理部
317 妥当性検証部
350 外部処理装置
MV1、MV2、MV3、MV4 移動ベクトル
100, 100A, 100B Imaging device 104 Optical system 105 Imaging unit 106 Analog front end (AFE)
107 Signal Processing Circuit 108 Storage Unit 108A RAM
108B ROM
109 CPU
110 System bus 300, 300A, 300B Image processing unit 309, 309A, 309B, 309C Registration processing unit 310 Image composition processing unit 311 Movement vector measurement region setting unit 312 Registration reference region setting unit 313, 313A Movement vector deriving unit 314, 314A Reliability deriving unit 315, 315A Movement vector correction processing unit 316 Movement vector interpolation processing unit 317 Validity verification unit 350 External processing device MV1, MV2, MV3, MV4 Movement vector
Claims (7)
前記移動ベクトル測定領域設定部で設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出部と、
前記移動ベクトル測定領域設定部で設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出部と、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出部で導出された移動ベクトルを2軸方向に沿う軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正処理部と
を有することを特徴とする画像処理装置。 A movement vector measurement region setting unit that sets a reference region in a reference image and sets a search region that is a region for searching for a region corresponding to the reference region in a reference image;
When a movement vector is derived from the reference area and the corresponding search area set by the movement vector measurement area setting unit, the reliability of the derived movement vector is determined from the reference area and the corresponding search area. A reliability deriving unit derived by analyzing at least one of the regions;
A motion vector deriving unit for searching in the search region for a region corresponding to the reference region set by the movement vector measurement region setting unit, and deriving a motion vector;
Based on the analysis result obtained by analyzing at least one of the reference area and the corresponding search area, the movement vector derived by the movement vector deriving unit is decomposed into axial components along two axial directions. And a movement vector correction processing unit for deriving a movement vector of each axis component and correcting a movement vector of the axis component with lower reliability among the movement vectors of each axis component. .
基準画像中に基準領域を設定し、前記基準領域に対応する領域を参照画像内にて探索する領域である探索領域を設定する移動ベクトル測定領域設定ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出ステップと、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出ステップで導出された移動ベクトルを2軸方向の軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正ステップと
を有することを特徴とする画像処理プログラム。 An image processing program for causing a computer to execute a process of superimposing by reducing positional deviation between a plurality of images,
A movement vector measurement region setting step for setting a reference region in a reference image and setting a search region which is a region for searching for a region corresponding to the reference region in a reference image;
When a movement vector is derived from the reference area and the corresponding search area set in the movement vector measurement area setting step, the reliability of the derived movement vector is determined from the reference area and the corresponding search area. A reliability deriving step derived by analyzing at least one of the regions;
A motion vector deriving step of searching in the search region for a region corresponding to the reference region set in the motion vector measurement region setting step, and deriving a motion vector;
Based on the analysis result obtained by analyzing at least one of the reference area and the corresponding search area, the movement vector derived in the movement vector deriving step is decomposed into two axial components. An image processing program comprising: a movement vector correcting step of deriving a movement vector of each axis component and correcting a movement vector of an axis component having lower reliability among the movement vectors of each axis component.
基準画像中に基準領域を設定し、前記基準領域に対応する領域を参照画像内にて探索する領域である探索領域を設定する移動ベクトル測定領域設定ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出ステップと、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出ステップで導出された移動ベクトルを2軸方向の軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正ステップと
を有することを特徴とする画像処理プログラム。 An image processing program for causing a computer to execute a process of superimposing by reducing positional deviation between a plurality of images,
A movement vector measurement region setting step for setting a reference region in a reference image and setting a search region which is a region for searching for a region corresponding to the reference region in a reference image;
A motion vector deriving step of searching in the search region for a region corresponding to the reference region set in the motion vector measurement region setting step, and deriving a motion vector;
When a movement vector is derived from the reference area and the corresponding search area set in the movement vector measurement area setting step, the reliability of the derived movement vector is determined from the reference area and the corresponding search area. A reliability deriving step derived by analyzing at least one of the regions;
Based on the analysis result obtained by analyzing at least one of the reference area and the corresponding search area, the movement vector derived in the movement vector deriving step is decomposed into two axial components. An image processing program comprising: a movement vector correcting step of deriving a movement vector of each axis component and correcting a movement vector of an axis component having lower reliability among the movement vectors of each axis component.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010042552A JP2011182084A (en) | 2010-02-26 | 2010-02-26 | Image processor and image processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010042552A JP2011182084A (en) | 2010-02-26 | 2010-02-26 | Image processor and image processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011182084A true JP2011182084A (en) | 2011-09-15 |
Family
ID=44693156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010042552A Withdrawn JP2011182084A (en) | 2010-02-26 | 2010-02-26 | Image processor and image processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011182084A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018129738A (en) * | 2017-02-10 | 2018-08-16 | 富士フイルム株式会社 | Image processing apparatus, method and program |
EP4328858A1 (en) | 2022-08-04 | 2024-02-28 | Canon Kabushiki Kaisha | Image processing device, imaging device, image processing method, and storage medium |
JP7535442B2 (en) | 2020-11-27 | 2024-08-16 | 日産自動車株式会社 | Vehicle assistance method and vehicle assistance device |
-
2010
- 2010-02-26 JP JP2010042552A patent/JP2011182084A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018129738A (en) * | 2017-02-10 | 2018-08-16 | 富士フイルム株式会社 | Image processing apparatus, method and program |
US10672108B2 (en) | 2017-02-10 | 2020-06-02 | Fujifilm Corporation | Image processing apparatus, image processing method, and image processing program |
JP7535442B2 (en) | 2020-11-27 | 2024-08-16 | 日産自動車株式会社 | Vehicle assistance method and vehicle assistance device |
EP4328858A1 (en) | 2022-08-04 | 2024-02-28 | Canon Kabushiki Kaisha | Image processing device, imaging device, image processing method, and storage medium |
JP7559015B2 (en) | 2022-08-04 | 2024-10-01 | キヤノン株式会社 | IMAGE PROCESSING APPARATUS, IMAGING APPARATUS, IMAGE PROCESSING METHOD, AND COMPUTER PROGRAM |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5179398B2 (en) | Image processing apparatus, image processing method, and image processing program | |
CN108600576B (en) | Image processing apparatus, method and system, and computer-readable recording medium | |
JP6347675B2 (en) | Image processing apparatus, imaging apparatus, image processing method, imaging method, and program | |
KR101156991B1 (en) | Image capturing apparatus, image processing method, and recording medium | |
JP5820257B2 (en) | Image processing apparatus, imaging apparatus, image processing method, and program | |
US10489885B2 (en) | System and method for stitching images | |
US8472747B2 (en) | Image composition device, image composition method, and storage medium storing program | |
WO2018221224A1 (en) | Image processing device, image processing method, and image processing program | |
JP5569357B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP2009033392A (en) | Panoramic-image generator and program | |
JP5210198B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP2012235197A (en) | Device, method and program for image processing | |
JP5846172B2 (en) | Image processing apparatus, image processing method, program, and imaging system | |
US9811909B2 (en) | Image processing apparatus, distance measuring apparatus, imaging apparatus, and image processing method | |
JP6604908B2 (en) | Image processing apparatus, control method thereof, and control program | |
JP6222205B2 (en) | Image processing device | |
JP2019053758A (en) | Image processing apparatus | |
JP5796611B2 (en) | Image processing apparatus, image processing method, program, and imaging system | |
JP2011182084A (en) | Image processor and image processing program | |
JP6961423B2 (en) | Image processing equipment, imaging equipment, control methods for image processing equipment, programs and recording media | |
JP7458769B2 (en) | Image processing device, imaging device, image processing method, program and recording medium | |
JP6079838B2 (en) | Image processing apparatus, program, image processing method, and imaging system | |
JP2009118434A (en) | Blurring correction device and imaging apparatus | |
JP6439845B2 (en) | Image processing device | |
JP5590680B2 (en) | Image composition apparatus, image composition method, and image composition program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130507 |