JP5218071B2 - 画像処理装置、画像処理方法およびプログラム - Google Patents

画像処理装置、画像処理方法およびプログラム Download PDF

Info

Publication number
JP5218071B2
JP5218071B2 JP2009001250A JP2009001250A JP5218071B2 JP 5218071 B2 JP5218071 B2 JP 5218071B2 JP 2009001250 A JP2009001250 A JP 2009001250A JP 2009001250 A JP2009001250 A JP 2009001250A JP 5218071 B2 JP5218071 B2 JP 5218071B2
Authority
JP
Japan
Prior art keywords
image
area
images
image processing
input
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.)
Active
Application number
JP2009001250A
Other languages
English (en)
Other versions
JP2010161520A (ja
Inventor
光晴 大木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2009001250A priority Critical patent/JP5218071B2/ja
Priority to US12/648,881 priority patent/US8723917B2/en
Priority to CN2010100023151A priority patent/CN101778217B/zh
Publication of JP2010161520A publication Critical patent/JP2010161520A/ja
Application granted granted Critical
Publication of JP5218071B2 publication Critical patent/JP5218071B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2624Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/16Image acquisition using multiple overlapping images; Image stitching

Description

この発明は、画像処理装置、画像処理方法およびプログラムに関し、特に、複数枚の画像から1枚のパノラマ画像を作成する画像処理装置に関する。
パンしながら連写した複数枚の画像から1枚のパノラマ画像を生成することが、一般に行われている(例えば、特許文献1参照)。具体例を以下で説明する。
ユーザは、図16に示す風景をパンしながら、つまり水平方向に撮像位置を順次ずらしながら、複数枚の画像を撮影する。例えば、水平方向に回転できる三脚にカメラを取り付け、手動で水平方向にパンしながら、撮影を行っていく。図16の風景には、建物群300と、歩行者301が存在している。このような状況で、パンしながら連写を行うと、例えば、図17に示すN枚の画像P1〜PNを撮影できる。
なお、図17では、画像P5〜PN-3の図示を省略している。また、水平方向のみカメラは移動しているので、実際には画像どうしにはY軸方向のズレはなくX軸方向のズレのみであるが、図面では画像P1〜PNの矩形領域が重なり見にくくなるので、ずらして描いている。これらN枚の画像から、1枚のパノラマ画像(図17の破線で示した画像)Qを作成する。
N枚の入力画像P1〜PNから1枚のパノラマ画像Qを作成する方法は、以下のとおりである。まず、N枚の入力画像P1〜PNの位置関係を求める。つまり、入力画像どうしのズレ量を求める。そして、そのズレ量だけずらした位置に入力画像を置いていく。N枚の入力画像P1〜PNをずらしながら置いて行った状態で、このN枚の入力画像P1〜PNに包含される矩形領域を求める。この矩形領域が、出力すべきパノラマ画像Qである。
パノラマ画像Qの各位置(X,Y)について着目したとき、位置(X,Y)に入力画像が1枚しか存在しない場合には、その入力画像の位置(X,Y)の画素値を、パノラマ画像Qの位置(X,Y)の画素値とする。位置(X,Y)に入力画像が複数枚存在する場合には、それら入力画像の位置(X,Y)の画素値の平均値を、パノラマ画像Qの位置(X,Y)の画素値とする。
特開2000−299804号公報
上述したように、複数枚の画像から1枚のパノラマ画像Qを生成する際には、当該パノラマ画像Qの領域を決定し、その領域内の各位置における画素値を決定することが必要となる。この場合、以下の懸案事項がある。
(懸案事項1)
一般にカメラで撮影した画像には、レンズの歪みに起因して、たる型歪み、あるいは、糸巻き型歪みが生じる。正方格子を撮影した場合、ユーザは、図18(a)に示すような画像を期待する。しかし、実際には、図18(b)に示すようなたる型歪みを生じた画像、あるいは、図18(c)に示すような糸巻き型歪みを生じた画像が、撮影される。
パノラマ画像Qの位置(X,Y)に複数枚の入力画像が存在する場合、各入力画像の位置(X,Y)の画素値は、歪みのない理想的な画像であれば、いずれも同じ値となるはずである。しかし、各入力画像には歪みが生じているために、位置(X,Y)における各入力画像の画素の値は異なる値となってしまう。
そのため、上述したように、パノラマ画像Qの位置(X,Y)に入力画像が複数枚存在する場合に、それらの入力画像の位置(X,Y)の画素値の平均値をパノラマ画像Qの位置(X,Y)の画素値とするとき、その画素値は適切な値ではなくなってしまう。
(懸案事項2)
上述したように、パノラマ画像Qの位置(X,Y)に入力画像が複数枚存在する場合に、それらの入力画像の位置(X,Y)の画素値の平均値をパノラマ画像Qの位置(X,Y)の画素値とすることで、ノイズを削減することができる。つまり、パノラマ画像Qの位置(X,Y)に入力画像が複数枚存在する場合には、それらの入力画像をなるべく使用した方がよい。複数枚の入力画像のうち1枚の入力画像のみを使用してパノラマ画像Qの画素値を決定すると、ノイズ削減の効果は期待できない。
(懸案事項3)
各入力画像は撮影時刻に時間差がある。そのため、動いている物体(例えば、図16、図17の歩行者301)は、各入力画像では、違う形状、あるいは違う位置に投影されている。したがって、複数の入力画像の平均値を取ると、多重露光されたような像ブレが起きてしまう。つまり、上述したように、パノラマ画像Qの位置(X,Y)に入力画像が複数枚存在する場合、そこに動いている物体が投影されているときは、その中の1枚の入力画像だけを使用した方がよい。
これら3つの懸案事項がある。これら懸案事項から以下のことが導き出される。すなわち、「懸案事項1」から導き出される結論は、各入力画像の中で違う歪みがある部分どうしは使用しない方がよい。「懸案事項2」から導き出される結論は、各入力画像の周辺部分でもよいからなるべく多くの枚数を使用した方がよい。「懸案事項3」から導き出される結論は、動いている物体が投影されているときは、その中の1枚の入力画像だけを使用した方がよい。これらの結論は、相反する結論となる場合もある。そのため、システマティックに、各入力画像のどの部分を使用して、どの部分は削除して、パノラマ画像を作成すればよいかが分からなかった。
この発明の目的は、複数枚の画像から1枚のパノラマ画像を良好に得ることにある。
この発明の概念は、
撮像位置を所定方向に順次ずらして撮像された複数枚の画像を画像列とし、該画像列に優先的に使用する優先領域が指定されている第1の画像がある場合、上記優先領域と重なる第1の重なり領域がある上記画像列の中の上記第1の画像以外の画像について上記第1の重なり領域を使用禁止領域とする第1の画像処理部と、
上記画像列の中で、序列が連続しない所定の間隔だけ離れた第2の画像および第3の画像に第2の重なり領域がある場合、上記第2の画像または上記第3の画像の上記第2の重なり領域を使用禁止領域とする第2の画像処理部と、
上記画像列に含まれる上記複数枚の画像の、上記第1の画像処理部および上記第2の画像処理部で使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成部
を備える画像処理装置にある。
この発明において、画像列から出力画像が生成される。この画像列は、撮像位置を所定方向に順次ずらして撮像された複数枚の画像で構成されている。例えば、パンしながら連写した複数枚の画像から1枚のパノラマ画像が生成される。
第1の画像処理部および第2の画像処理部により、画像列に含まれる各画像の使用禁止領域が設定される。第1の画像処理部では、画像列に優先的に使用する優先領域が指定されている第1の画像がある場合、この優先領域と重なる第1の重なり領域がある画像列の中の第1の画像以外の画像について第1の重なり領域は使用禁止領域とされる。例えば、優先領域の指定は、ユーザがユーザ操作部を操作することで行われる。
また、第2の処理部では、画像列の中で、序列が連続しない所定の間隔だけ離れた第2の画像および第3の画像に第2の重なり領域がある場合、第2の画像または第3の画像の第2の重なり領域が使用禁止領域とされる。例えば、序列の所定の間隔の設定は、ユーザがユーザ操作部を操作することで行われる。
この発明においては、上述したように、優先領域が指定されている画像がある場合、その他の画像の当該優先領域と重なる領域は使用禁止領域とされる。そのため、例えば、動いている物体が投影されている領域が優先領域として指定されていれば、パノラマ画像を生成する際にその領域に関しては1枚の画像しか使用されず、多重露光されたような像ブレの発生を防止できる。
また、この発明においては、上述したように、序列が連続しない所定の間隔だけ離れた2つの画像に重なりがある場合、重なる領域の一方は使用禁止領域とされる。そのため、パノラマ画像を生成する際に、画像の重なり枚数が制限されることから、レンズ歪みによる各画像の位置ずれで起こる画像のボケを抑制できる。
この発明によれば、優先領域が指定されている画像がある場合、その他の画像の当該優先領域と重なる領域を使用禁止領域とし、また、序列が連続しない所定の間隔だけ離れた2つの画像に重なりがある場合、重なる領域の一方を使用禁止領域とするものであり、複数枚の画像から1枚のパノラマ画像を良好に生成できる。
この発明の実施の形態としてのデジタルカメラの構成例を示すブロック図である。 パノラマ画像生成部におけるパノラマ画像の生成処理の処理手順を示すフローチャートである。 パノラマ画像を生成する際の各入力画像の使用領域の確定処理を説明するための図である。 パノラマ画像を生成する際の各入力画像の使用領域の確定処理を説明するための図である。 レンズ歪み(たる型歪み、糸巻き型歪み)による各画像の位置ずれで起こるボケを説明するための図である。 パノラマ画像を生成する際の各入力画像の使用領域の確定処理を説明するための図である。 各入力画像の使用領域(UL[i],UR[i])を確定する具体的な処理手順の一例を示すフローチャートである。 優先領域と重なる他の入力画像の領域(重なり領域)を不使用領域(削除領域)とする処理の具体的な手順を説明するための図である。 通常の場合における重ねる枚数を制限するために、各入力画像の使用領域を制限する処理の具体的な手順を説明するための図である。 通常の場合における重ねる枚数を制限するために、各入力画像の使用領域を制限する処理の具体的な手順を示すフローチャートである。 重ねる最大枚数を制限するために、各入力画像の使用領域を制限する処理の具体的な手順を説明するための図である。 重ねる最大枚数を制限するために、各入力画像の使用領域を制限する処理の具体的な手順を示すフローチャートである。 各入力画像の使用領域(UL[i],UR[i])を確定する具体的な処理手順の他の例を示すフローチャートである。 各入力画像の使用領域(UL[i],UR[i])を確定する具体的な処理手順の他の例を示すフローチャートである。 パノラマ画像の生成に使用されるコンピュータ装置の構成例を示すブロック図である。 建物群と歩行者が存在する風景の一例を示す図である。 パンしながら連写を行って撮影されたN枚の画像P1〜PNの一例を示す図である。 レンズの歪みに起因して撮影画像に生じる、たる型歪み、糸巻き型歪み等を説明するための図である。
以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明は以下の順序で行う。
1.実施の形態
2.変形例
<1.実施の形態>
[デジタルカメラの構成例]
図1は、実施の形態としてのデジタルカメラ100の構成例を示している。このデジタルカメラ100は、CPU(Central Processing Unit)101、ROM(Read OnlyMemory)102、RAM(Random Access Memory)103、ユーザ操作部104を有している。また、デジタルカメラ100は、撮像部111、撮像信号処理部112、A/D(Analog/Digital)変換部113、デジタル信号処理部(DSP:DigitalSignal Processor)114、記録再生部115および表示部117を有している。
CPU101は、デジタルカメラ100の各部を制御する。ROM102は、CPU101の制御プログラム等を記憶している。RAM103は、CPU101の制御処理に必要なデータの一時記憶等に用いられる。CPU101は、ROM102から読み出したプログラムやデータをRAM103上に展開してプログラムを起動し、デジタルカメラ100の各部を制御する。
ユーザ操作部104は、ユーザインタフェースを構成し、バス105を介してCPU101に接続されている。このユーザ操作部104は、デジタルカメラ100の図示しない筐体面に配置されたキー、ボタン、ダイヤル等で構成される。CPU101は、ユーザ操作部104からバス105を介して入力される情報の解析を行って、ユーザの操作に対応した制御を行う。
撮像部111は、被写体を撮像して、この被写体に対応した撮像信号を出力する。この撮像部111は、C−MOS(Complementary Metal Oxide Semiconductor)撮像素子、あるいはCCD(Charge Coupled Device)撮像素子により構成される。撮像信号処理部112は、撮像部111から出力される撮像信号(アナログ信号)に対し、サンプルホールドおよび利得制御等の処理を行う。
A/D変換部113は、撮像信号処理部112から出力される撮像画像信号をアナログ信号からデジタル信号に変換する。デジタ信号処理部114は、A/D変換部113から供給される撮像画像信号に対して画像処理を行う。ここでいう画像処理は、ホワイトバランス処理、ガンマ補正処理などである。これら処理は、全ての汎用デジタルカメラで行われる処理なので、その詳細を省略する。
この実施の形態において、デジタル信号処理部114は、さらに、パノラマ画像生成処理を行うパノラマ画像生成部120を備えている。このパノラマ画像生成処理は、例えばパンしながら連写した複数枚の画像、つまり撮像位置を水平方向に順次ずらして撮像された複数枚の画像から1枚のパノラマ画像を生成する処理である。ここで、複数枚の画像は画像列を構成する。このパノラマ画像の生成処理の詳細については、後述する。
デジタル信号処理部114は、処理後の画像データを、表示部117および記録再生部115に転送する。記録再生部115は、主にフラッシュメモリからなる着脱自在な記録媒体116に、ユーザのシャッター操作に対応した静止画像データを書き込み、あるいは、この記録媒体から静止画像データを読み出す。表示部117は、例えば、デジタルカメラ100の筐体背面等に設けられるLCD(Liquid Crystal Display)等の表示パネルで構成される。この表示部117は、撮影した画像、記録再生部115で記録媒体116から読み出した画像、さらには、ユーザに対する各種情報等を表示する。
次に、図1に示すデジタルカメラ100の動作について説明する。デジタルカメラ100は、記録モード時には、以下の動作をする。撮像部111で撮像処理が行われて得られた撮像画像信号は、撮像信号処理部112に供給され、サンプルホールドおよび利得制御等の処理が行われる。そして、撮像信号処理部112から出力される撮像画像信号は、A/D変換部113でアナログ信号からデジタル信号に変換されて、デジタル信号処理部114に供給される。デジタル信号処理部114では、A/D変換部113から供給される撮像画像信号に対して、ホワイトバランス処理、ガンマ補正処理などの画像信号処理が行われる。
デジタル信号処理部114で処理されて得られた画像データは、表示部117に転送される。これにより、表示部117には撮像画像が表示され、モニタリング状態となる。このモニタリング状態において、ユーザがユーザ操作部104でシャッター操作を行うと、CPU101によりデジタル信号処理部114および記録再生部115が制御され、記録媒体116にシャッター操作に対応した静止画像データが書き込まれる。この場合、例えば、パンしながら、つまり撮像位置を水平方向に順次ずらしながら、ユーザがシャッター操作を行うことで、パノラマ画像の生成に使用される複数枚の画像の静止画像データが、記録媒体116に書き込まれる。
また、デジタルカメラ100は、再生モード時には、以下の動作をする。すなわち、記録再生部115では、記録媒体116から、ユーザのユーザ操作部104の操作によって選択された静止画像データが読み出される。この静止画像データは、記録再生部115からデジタル信号処理部114を介して表示部117に供給される。これにより、表示部117には、再生画像が表示される。
[パノラマ画像の生成処理]
次に、パノラマ画像の生成処理について説明する。パノラマ画像は、CPU101の制御の下、デジタル信号処理部114内のパノラマ画像生成部120において生成される。図2のフローチャートは、パノラマ画像生成部120におけるパノラマ画像の生成処理の処理手順を示している。
ユーザがユーザ操作部104を操作してパノラマ画像の生成を指示すると、パノラマ画像生成部120は、ステップST1において、パノラマ画像の生成処理を開始する。なお、ユーザは、パノラマ画像の生成を指示する際に、パノラマ画像の生成に使用される複数枚の画像(画像列)を、例えば記録媒体116に記録されている静止画像データファイルを選択する等して指定する。
次に、パノラマ画像生成部120は、ステップST2において、パノラマ画像の生成に使用される複数枚の画像(N枚の画像P1〜PN)を入力する。この場合、パノラマ画像生成部120は、記録再生部115を通じて、記録媒体116から当該複数枚の画像の静止画像データを読み出し、図示しない、例えば、SDRAM等の半導体メモリで構成されるメモリ部に一時的に格納する。
次に、パノラマ画像生成部120は、ステップST3において、複数枚の画像の位置合わせを行う。この場合、パノラマ画像生成部120は、画像同士の相関を見ることで、位置合わせを行う。画像同士の相関を見る手法としては、詳細説明は省略するが、従来周知のブロックマッチング法等の手法がある。この複数枚の画像の位置合わせにより、各入力画像Pi(i=1〜N)の左端のX座標X[i]が確定される(図3、図4参照)。
次に、パノラマ画像生成部120は、ステップST4において、各入力画像の使用領域を確定する。ここで、各入力画像の使用領域をどのように確定するかについて、図3〜図5を用いて説明する。
N枚の入力画像P1〜PNは、水平方向にパンしながら連続撮影をした画像であるので、Y軸方向のずれは存在しない。そこで、X軸方向のずれのみを考慮すればよい。図3および図4は、X軸についての説明図である。図3中のP1〜PN(P13〜PN-2は図示省略)は、上述した入力画像である。入力画像P1〜PNの位置は、パンしながら撮影されたため、X軸の正の方向に順次移動した位置となる。各入力画像Pi(i=1〜N)の左端のX座標をX[i]とする。
図3の「A」の位置に着目してみる。この位置では、P6〜P11の6枚の入力画像が存在している。そのため、従来方式では、パノラマ画像Qの「A」の位置の画素値は、入力画像P6〜P11の「A」の位置の画素値の平均値となる。入力画像P6における「A」の位置は画像の右端であり、入力画像P11における「A」の位置は画像の左端である。
従来技術のところで、既に述べたが、もし、歪みがなければ、図5(a)に示すように、入力画像P6と入力画像P11の間には位置ずれは全くなく問題はない。しかし、例えば、糸巻き型歪みがあると、図5(b)に示すように、入力画像P6と入力画像P11の間の位置ずれは大きくなる。そのため、パノラマ画像Qは適切な画像ではなくなる。なお、たる型歪みがある場合も同様である。
また、図3の「B」の範囲に着目してみる。この部分には、動いている物体(例えば、図16、図17の歩行者301)が投影されているとする。この範囲では、P2〜P8の7枚の入力画像が存在している。そのため、従来方式では、パノラマ画像Qの「B」の範囲の各位置における画素値は、入力画像P2〜P8のその位置における画素値の平均値となる。入力画像P2〜P8の撮影は順次行われるので、同一時刻の撮影ではない。したがって、動いている物体は、入力画像P2〜P8の中で、違う形状や違う位置に投影されている。そのため、複数の入力画像の平均値をとると、多重露光されたような像ブレが起きてしまう。
ここで、何らかの手段で、図4に示すように、各入力画像P1〜PNのうち、破線で示した領域を不使用領域として、実線で示した領域のみを使用することができると仮定する。つまり、各入力画像P1〜PNのうち実線で示した領域のみを使用してパノラマ画像Qを作成した場合を考えてみる。
この場合、「A」の位置には、図3とは違い、P6とP7の2枚の入力画像しか存在していない。パノラマ画像Qの「A」の位置の画素値は、入力画像P6と入力画像P7の「A」の位置の画素値の平均値となる。入力画像P6における「A」の位置は画像の右端であり、入力画像P7における「A」の位置も画像のほぼ右端である。これら2つの画像は、糸巻き型歪みがあったとしても、入力画像P6と入力画像P7は、図5(c)に示すような関係となる。
つまり、入力画像P6における「A」の位置(画像の右端)も入力画像P7における「A」の位置(画像のほぼ右端)も同じような歪みであり、同程度に糸巻き状の歪んだ状態でつながり、位置ずれは無視できる程小さい。そのため、パノラマ画像Qが適切な画像となる。なお、たる型歪みがある場合も同様である。
また、「B」の範囲には、図3とは違い、P4の1枚の入力画像しか存在していない。そこで、パノラマ画像Qの「B」の範囲の各位置における画素値は、入力画像P4の対応する画素値のコピーとなる。そのため、複数の入力画像の平均値をとることによる多重露光されたような像ブレの問題は起きない。
以上の説明より分かるように、図4に示すような破線領域(不使用領域領域)と実線領域(使用領域)の切り分けを自動で行うことができるという問題が、パノラマ画像作成には重要となる。
パノラマ画像生成部120は、ステップST4において、従来技術のところで述べた3つの懸案事項を考慮し、各入力画像P1〜PNの不使用領域(図4の破線領域)を設定し、各入力画像の使用領域(図4の実線領域)を確定する。この確定処理の詳細については後述する。
図2に戻って、次に、パノラマ画像生成部120は、ステップST5において、出力画像であるパノラマ画像Qを作成する。具体的には、N枚の入力画像P1〜PN(ステップST4で使用領域が制限された画像)に包含される矩形領域をパノラマ画像Qの領域とする。そして、パノラマ画像Qの各位置(X,Y)について着目したとき、その位置(X,Y)に入力画像(ステップST4で使用領域が制限された画像)が1枚しか存在しない場合には、その入力画像のその画素の値を、パノラマ画像Qの位置(X,Y)の画素値とする。また、その位置(X,Y)に入力画像(ステップST4で使用領域が制限された画像)が複数枚存在する場合には、それら入力画像の画素値の平均値を、パノラマ画像Qの位置(X,Y)の画素値とする。
次に、パノラマ画像生成部120は、ステップST6において、ステップST5で画素値が確定されたパノラマ画像Qを出力画像として出力する。この場合、パノラマ画像生成部120は、このパノラマ画像Qの静止画像データを、記録再生部115を通じて、記録媒体116に書き込む。なお、この場合、このパノラマ画像Qの静止画像データは表示部117に供給され、この表示部117に、生成されたパノラマ画像Qが表示される。これにより、ユーザは、生成されたパノラマ画像Qの確認が可能となる。
パノラマ画像生成部120は、ステップST6の処理の後、ステップST7において、
パノラマ画像Qを生成する一連の処理を終了する。
[使用領域の確定処理]
次に、上述のパノラマ画像生成部120における使用領域の確定処理(図2のステップST4の処理)の詳細を説明する。この確定処理は、具体的には、図6に示すように、各入力画像Pi(i=1〜N)に対して、その画像の使用領域(X[i]を基準として、UL[i]からUR[i]までの領域)ARUiを決定する処理である。なお、図6において、Hは入力画像Piの幅であり、PL[i]、PR[i]は、後述するように、ユーザが指定する値である。
図2のステップST4の処理、つまり使用領域を確定する(UL[i]とUR[i]を確定する)処理は、具体的には、図7のフローチャートで示した処理手順で実現される。
パノラマ画像生成部120は、ステップST11において、処理を開始し、その後に、ステップST12の処理に移る。このステップST12において、パノラマ画像生成部120は、N枚の入力画像P1〜PNの位置関係、すなわち、各入力画像P1〜PNの左端のX座標X[1]〜X[N]を入力する。この各入力画像P1〜PNの左端のX座標X[1]〜X[N]は、複数の画像の位置合わせにより、各画像の位置が確定されるとき、同時に確定されている(図2のステップST3)。
次に、パノラマ画像生成部120は、ステップST13の処理に移る。このステップST13では、ユーザが、優先領域PARiを指定できる。この場合、ユーザは、ユーザ操作部104(図1参照)を操作して、入力画像Piに対して、必要に応じて、PL[i]およびPR[i](図6参照)を指定することで、優先領域PARiを指定する。ここで、「必要に応じて」と述べたのは、ある特定のiに対しては、指定しなくてもよいということである。すべてのi(i=1〜N)に対して、PL[i]およびPR[i]を指定してもよいし、すべてのi(i=1〜N)に対して、PL[i]およびPR[i]をまったく指定しなくてもよい。
例えば、ユーザは、この優先領域PARiとして、入力画像Piを見ながら、動いている物体の投影部分を含むように、PL[i],PR[i]を指定する。この場合、0≦PL[i]<PR[i]≦Hの関係を満たしている。例えば、図16、図17に示すような状態で撮影された場合は、入力画像P4に対して、歩行者301の投影部分を含む領域(図3のBで示された範囲)を指定する。正確には、歩行者301の投影部分を含む領域の左端の位置をPL[4]として、歩行者301の投影部分を含む領域の右端の位置をPR[4]として指定する。
次に、パノラマ画像生成部120は、ステップST14の処理に移る。このステップST14において、パノラマ画像生成部120は、各入力画像Pi(i=1〜N)の使用領域を初期化する。すなわち、全てのi(i=1〜N)に対して、UL[i]=0、UR[i]=Hとする。なお、Hは、上述のとおり、各入力画像の幅である。この処理の擬似コードを、以下に示す。
// pseudo code :各画像の使用領域のパラメータの初期値をセットするサブルーチン

for( i = 1 to N ) {
UL[ i ] = 0 ;
UR[ i ] = H ;
}

// pseudo code end
次に、パノラマ画像生成部120は、ステップST15の処理に移る。このステップST15において、パノラマ画像生成部120は、ステップST13で指定された優先領域と重なる他の入力画像の領域(重なり領域)を、不使用領域(削除領域)とする。すなわち、パノラマ画像生成部120は、重なり領域を削除するように、各入力画像PiのUL[i]、UR[i]を更新する。
これは、従来技術のところで述べた懸案事項3についての対策である。具体的な手順について、図8を用いて説明する。図8には、入力画像の一部であるPi-2〜Pi+3の6枚の入力画像を示している。また、ステップST13にて、入力画像Piには優先領域PARi、つまりPL[i],PR[i]が指定されているとする。
入力画像Piの優先領域PARiの右端よりもmargin(例えば5画素とする)だけ左側の位置から1枚あたり1画素だけ斜めの方向に傾いた直線LINE0を引く。入力画像Pi+1〜PNの中で、この直線LINE0よりも左側にある部分を不使用領域(削除領域)UULとし、残りの部分を使用領域とする。同様に、入力画像Piの優先領域PARiの左端よりもmargin(例えば5画素とする)だけ右側の位置から1枚あたり1画素だけ斜めの方向に傾いた直線LINE1を引く。入力画像P1〜Pi-1の中で、この直線LINE1よりも右側にある部分を不使用領域(削除領域)UURとし、残りの部分を使用領域とする。
このようにすることで、入力画像Piの優先領域PARiと同じ位置にある他の入力画像の領域(重なり領域)は削除され、最終的に、この領域に関しては、パノラマ画像Qは入力画像Piのみから作られることになる。この処理の擬似コードを、以下に示す。
// pseudo code :優先使用領域と重なる部分の削除を行うサブルーチン
margin = 5 ;
for( i = 1 to N - 1 ) { // Note: incremental loop
if( InputImage[ i ] には優先領域が指定されている ) {
leftLimit = X[ i ] + PR[ i ] - margin ;
for( j = i + 1 to N ) { // Note: incremental loop
++ leftLimit ;
tmpLowerLimit = leftLimit - X[ j ] ;
if( UL[ j ] < tmpLowerLimit ) { UL[ j ] = tmpLowerLimit ; }
}
}
}
for( i = N to 2 ) { // Note: decremental loop
if( InputImage[ i ] には優先領域が指定されている ) {
if( UL[ i ] <= PR[ i ] ) {
// Note: if UL[ i ] is bigger than PR[ i ], then ignore the priority area of InputImage[i].
if( UL[ i ] <= PL [ i ] ) {
rightLimit = X[ i ] + PL[ i ] + margin ;
} else {
rightLimit = X[ i ] + UL[ i ] + margin ;
}
for( j = i - 1 to 1 ) { // Note: decremental loop
-- rightLimit ;
tmpHigherLimit = rightLimit - X[ j ] ;
if( tmpHigherLimit < UR[ i ] ) { UR[ i ] = tmpHigherLimit ; }
}
}
}
// pseudo code end
なお、自分より若い番号の優先領域が指定されている入力画像により、自分自身に指定されている優先領域の一部または全部が、1つ目のforループの処理で削除される場合も考えられる。その場合は、2つ目のforループの処理が示すように、削除されなかった部分のみを優先領域とすることで、矛盾のない処理としている。
図7に戻って、次に、パノラマ画像生成部120は、ステップST16の処理に移る。このステップST16において、パノラマ画像生成部120は、通常の場合における重ねる枚数を制限するために、各入力画像の使用領域を制限する。すなわち、パノラマ画像生成部120は、例えば、入力画像どうしの端において3枚が、端以外の部分において2枚が、重なるように、UL[i]、UR[i]を更新する。
これは、従来技術のところで述べた懸案事項1および懸案事項2についての対策である。具体的な手順について、図9を用いて説明する。図9には、入力画像の一部であるPi〜Pi+2の3枚の入力画像の使用領域を示している。この各入力画像の使用領域は、ステップST15の処理で不使用領域(削除領域)とされた領域を除いた残りの領域である。つまり、ここで言う、使用領域とは、ステップST15の処理により指定されたUL[i]とUR[i]の間の領域、UL[i+1]とUR[i+1]の間の領域、および、UL[i+2]とUR[i+2]の間の領域のことである。
パノラマ画像生成部120は、入力画像Piの使用領域と入力画像Pi+2の使用領域との間に、boundaryMargin(例えば、16画素)以上の重なりがあるか否かを判断する。パノラマ画像生成部120は、boundaryMargin以上の重なりがある場合、重なり部分がboundaryMarginとなるように、図9に示すように、入力画像Pi,Pi+2の使用領域の一部を不使用領域(削除領域)UUaとする。
このようにすることで、不使用領域を除いた後の入力画像どうしの端においては3枚が、端以外の部分においては2枚が、重なることになり、適度な重なり枚数で、パノラマ画像Qを作成することができる。
図10のフローチャートは、上述のステップST16の処理、つまり通常の場合における重ねる枚数を制限するために、入力画像の使用領域を制限する処理の手順を示している。
パノラマ画像生成部120は、ステップST21において、使用領域を制限する処理を開始し、その後に、ステップST22の処理に移る。このステップST22で、パノラマ画像生成部120は、boundaryMarginとして、例えば「16」をセットする。
パノラマ画像生成部120は、ステップST22の処理の後、ステップST23の、各i(i=1〜N−2)についての繰り返し処理に移る。この繰り返し処理において、パノラマ画像生成部120は、ステップST24において、処理を開始し、その後に、ステップST25の処理に移る。このステップST25において、パノラマ画像生成部120は、tmp=(X[i]+UR[i])−(X[i+2]+UL[i+2])−boundaryMarginを計算する。
その後、パノラマ画像生成部120は、ステップST26において、tmpの値が正であるか否かを判断する。tmpの値が正のときには、入力画像Piの使用領域と入力画像Pi+2の使用領域との間に、boundaryMargin以上の重なりがあることを意味する。そのため、パノラマ画像生成部120は、tmpの値が負であれば、直ちにステップST28において、処理を終了し、次のiのための処理に進む。
tmpの値が正であるとき、パノラマ画像生成部120は、ステップST27において、UR[i]=UR[i]−(tmp/2)、UL[i+2]=UL[i+2]+(tmp/2)として、UR[i]とUL[i+2]を更新する。そして、パノラマ画像生成部120は、ステップST28において、処理を終了し、次のiのための処理に進む。
ステップST23の各i(i=1〜N−2)についての繰り返し処理が終了した後、パノラマ画像生成部120は、ステップST29において、使用領域を制限する処理を終了する。
なお、上述の説明では、端においては3枚に、端以外の部分においては2枚に、重ねる枚数を制限する場合について説明したが、一般に、端においてはS枚(Sは2以上の整数)に、端以外の部分においてはS−1枚に重ねる枚数を制限できる。ユーザは、ユーザ操作部104(図1参照)を操作して、Sの値を予め設定できる。上述の説明は、S=3に設定されていた場合の例である。例えば、レンズ歪みが大きい場合には、Sの値を小さくして、レンズ歪みによる各入力画像の位置ずれで起こるボケを緩和できる。また、例えば、ノイズが多い場合には、Sの値を大きくして、ノイズの抑制された画像を得ることができる。
図7に戻って、次に、パノラマ画像生成部120は、ステップST17の処理に移る。
上述のステップST16の処理で、重ねる枚数はある程度制限されるが、結果として、重なる画像の枚数が多くなることもある。このステップST17において、パノラマ画像生成部120は、重ねる最大枚数を制限するために、各入力画像の使用領域を制限する。すなわち、パノラマ画像生成部120は、例えば、どの位置においても、入力画像どうしは最大で4枚までしか重ならないように、UL[i]、UR[i]を更新する。
これも、従来技術のところで述べた懸案事項1および懸案事項2についての対策である。具体的な手順について、図11を用いて説明する。図11には、入力画像の一部であるPi〜Pi+4の5枚の入力画像の使用領域を示している。この各入力画像の使用領域は、ステップST16まの処理で不使用領域(削除領域)とされた領域を除いた残りの領域である。つまり、ここで言う、使用領域とは、ステップST16までの処理により指定されたUL[i]とUR[i]の間の領域、UL[i+1]とUR[i+1]の間の領域、UL[i+2]とUR[i+2]の間の領域、UL[i+3]とUR[i+3]の間の領域、および、UL[i+4]とUR[i+4]の間の領域のことである。
パノラマ画像生成部120は、入力画像Piの使用領域と入力画像Pi+4の使用領域との間に重なりがあるか否かを判断する。パノラマ画像生成部120は、重なりがある場合、重なり部分がなくなるように、図11に示すように、入力画像Pi,Pi+4の使用領域の一部を不使用領域(削除領域)UUbとする。
このようにすることで、不使用領域を除いた後の入力画像どうしでは最大でも4枚までの重なりとなり、適度な重なり枚数で、パノラマ画像Qを作成することができる。
図12のフローチャートは、上述のステップST17の処理、つまり重ねる最大の枚数を制限するために、入力画像の使用領域を制限する処理の手順を示している。
パノラマ画像生成部120は、ステップST31において、使用領域を制限する処理を開始し、その後に、ステップST32の、各i(i=1〜N−2)についての繰り返し処理に移る。この繰り返し処理で、パノラマ画像生成部120は、ステップST33において、処理を開始し、その後に、ステップST34の処理に移る。このステップST34において、パノラマ画像生成部120は、tmp=(X[i]+UR[i])−(X[i+4]+UL[i+4])を計算する。
その後、パノラマ画像生成部120は、ステップST35において、tmpの値が正であるか否かを判断する。tmpの値が正のときには、入力画像Piの使用領域と入力画像Pi+4の使用領域との間に重なりがあることを意味する。そのため、パノラマ画像生成部120は、tmpの値が負であれば、直ちにステップST37において、処理を終了し、次のiのための処理に進む。
tmpの値が正であるとき、パノラマ画像生成部120は、ステップST36において、UR[i]=UR[i]−(tmp/2)、UL[i+4]=UL[i+4]+(tmp/2)として、UR[i]とUL[i+4]を更新する。そして、パノラマ画像生成部120は、ステップST37において、処理を終了し、次のiのための処理に進む。
ステップST32の各i(i=1〜N−2)についての繰り返し処理が終了した後、パノラマ画像生成部120は、ステップST38において、使用領域を制限する処理を終了する。
なお、上述の説明では、最大で4枚に重ねる枚数を制限する場合について説明したが、一般に、最大でT枚(Tは2以上の整数)に重ねる枚数を制限できる。ユーザは、ユーザ操作部104(図1参照)を操作して、Tの値を予め設定できる。上述の説明は、T=4に設定されていた場合の例である。例えば、レンズ歪みが大きい場合には、Tの値を小さくして、レンズ歪みによる各画像の位置ずれで起こるボケを緩和できる。また、例えば、ノイズが多い場合には、Tの値を大きくして、ノイズの抑制された画像を得ることができる。
図7に戻って、次に、パノラマ画像生成部120は、ステップST18の処理に移る。パノラマ画像生成部120は、このステップST18において、各入力画像Pi(i=1〜N)の使用領域、すなわち、UL[i],UR[i]を出力し、その後に、ステップST19において、このサブルーチンの処理を終える。
以上説明したように、図1に示すデジタルカメラ100において、デジタル信号処理部114のパノラマ画像生成部120では、複数の入力画像P1〜PNを用いてパノラマ画像Qを生成する際に、優先領域PARiが指定されている入力画像Piがある場合、その他の入力画像の当該優先領域と重なる領域は使用禁止領域UUL,UURとされる(図7のステップST13,ST15)。そのため、例えば、動いている物体が投影されている領域がユーザにより優先領域PARiとして指定されていれば、パノラマ画像Qを生成する際にその領域に関しては1枚の画像しか使用されず、多重露光されたような像ブレの発生を防止できる。
また、図1に示すデジタルカメラ100において、デジタル信号処理部114のパノラマ画像生成部120では、序列が所定の間隔だけ離れた2つの入力画像に重なりがある場合、重なる領域の一方は使用禁止領域とされる(図7のステップST16,ST17)。そのため、パノラマ画像Qを生成する際に、入力画像の重なり枚数が制限されることから、レンズ歪みによる各入力画像の位置ずれで起こる画像のボケを抑制できる。
<2.変形例>
なお、上述実施の形態において、パノラマ画像生成部120は、各入力画像P1〜PNの使用領域を確定する際に(図2のステップST4)、以下の第1、第2の処理を行っている。第1の処理は、優先領域と重なる他の入力画像の領域を不使用領域とする処理(図7のステップST15)である。第2の処理は、重ねる枚数を制限するために各入力画像に必要に応じて不使用領域を設ける処理(図7のステップST16、ステップST17)である。
しかし、これら第1、第2の処理の何れかだけを行って、各入力画像P1〜PNの使用領域を確定することも考えられる。図13のフローチャートは、第1の処理のみを行う場合における、各入力画像Pi(i=1〜N)の使用領域(UL[i],UR[i])を確定する処理の処理手順を示している。この図13のフローチャートにおいて、図7のフローチャートと対応するステップには同一符号を付している。この図13のフローチャートは、図7のフローチャートからステップST16およびステップST17の処理を除いたものとなっている。なお、図13のフローチャートの各ステップの処理の説明については、図7のフローチャートの対応するステップと同様の処理が行われることから、省略する。
このように各入力画像P1〜PNの使用領域を確定する際に、第1の処理(優先領域と重なる他の入力画像の領域を不使用領域とする処理)を行うものにあっては、以下のような効果がある。すなわち、例えば、動いている物体が投影されている領域がユーザにより優先領域として指定されていれば、パノラマ画像Qを生成する際にその領域に関しては1枚の画像しか使用されず、多重露光されたような像ブレの発生を防止できる。
また、図14のフローチャートは、第2の処理のみを行う場合における、各入力画像Pi(i=1〜N)の使用領域(UL[i],UR[i])を確定する処理の処理手順を示している。この図14のフローチャートにおいて、図7のフローチャートと対応するステップには同一符号を付している。この図14のフローチャートは、図7のフローチャートからステップST13およびステップST15の処理を除いたものとなっている。なお、図14のフローチャートの各ステップの処理の説明については、図7のフローチャートの対応するステップと同様の処理が行われることから、省略する。
このように各入力画像P1〜PNの使用領域を確定する際に、第2の処理(重ねる枚数を制限するために各入力画像に必要に応じて不使用領域を設ける処理)だけを行うものにあっては、以下のような効果がある。すなわち、パノラマ画像Qを生成する際に、入力画像の重なり枚数が制限されることから、レンズ歪みによる各入力画像の位置ずれで起こる画像のボケを抑制できる。
なお、上述実施の形態においては、上述第2の処理として、通常の重ねる枚数を制限する処理(図7のステップST16)と、重ねる最大の枚数を制限する処理(図7のステップST17)の双方を行っているが、いずれか一方のみを行う構成であってもよい。
また、上述実施の形態においては、上述の第1の処理に関連して、優先領域をユーザが指定するものを示した(図13のステップST13)。しかし、例えば、入力画像P1〜PNから動き物体の投影部分を検出し、この動き物体が含まれる領域を自動的に優先領域として指定する構成も考えられる。
また、上述実施の形態においては、例えばパンしながら連写した複数枚の入力画像P1〜PN、つまり撮像位置を水平方向に順次ずらして撮像された複数枚の入力画像P1〜PNから1枚のパノラマ画像Qを生成する例を示した。しかし、複数枚の入力画像P1〜PNを得る際の撮像位置のずらし方向は水平方向に限定されない。垂直方法、あるいはその他の方向も考えられる。
また、上述実施の形態においては、CPU101の制御の下、デジタルカメラ100のデジタル信号処理部114内のパノラマ画像生成部120で複数枚の入力画像P1〜PNから1枚のパノラマ画像Qが生成される例を示した。しかし、デジタルカメラで撮像された複数の画像を、コンピュータ装置に送って、このコンピュータ装置内でパノラマ画像を生成することも可能である。この場合、詳細説明は省略するが、コンピュータ装置内でも、上述したパノラマ画像生成部120における処理と同様の処理により、各入力画像P1〜PNの使用領域が確定されることで、パノラマ画像Qを良好に生成できる。
図15は、パノラマ画像の生成に使用されるコンピュータ装置200の構成例を示している。
このコンピュータ装置200は、CPU(Central Processing Unit)11、メモリ12、ディスプレイコントローラ13、入力機器インターフェース14、ネットワークインターフェース15を有している。また、このコンピュータ装置200は、外部機器インターフェース16およびデジタルカメラインターフェース18を有している。これらは、バス17に接続されている。
ディスプレイ19は、ディスプレイコントローラ13を介してバス17に接続されている。キーボード(KBD)20およびマウス21は、入力機器インターフェース14を介してバス17に接続されている。また、ハードディスクドライブ(HDD)22およびメディアドライブ23は、外部機器インターフェース16を介してバス17に接続されている。デジタルカメラは、デジタルカメラインターフェース18を介してバス17に接続されている。また、コンピュータ装置200は、ネットワークインターフェース15を介して、インターネット等のネットワークに接続される。
CPU11は、コンピュータ装置200のメイン・コントローラである。このCPU11は、オペレーティング・システム(OS)の制御下で、各種のアプリケーションを実行する。CPU11は、例えば、デジタルカメラから一度ハードディスクドライブ22にダウンロードされた画像を処理するアプリケーション・プログラムを実行することができる。アプリケーション・プログラムの中には、上述したパノラマ画像生成処理を行う一連の処理プログラムがインプリメントされている。CPU11は、バス17によって他の機器類と相互接続されている。
メモリ12は、CPU11において実行されるプログラム・コードを格納し、また実行中の作業データを一時保管するために使用される記憶装置である。メモリ12は、例えば、ROMなどの不揮発性メモリおよびDRAMなどの揮発性メモリの双方を含む構成とされている。
ディスプレイコントローラ13は、CPU11が発行する描画命令を実際に処理するための専用コントローラである。ディスプレイコントローラ13において処理された描画データは、例えばフレーム・バッファ(図示しない)に一旦書き込まれた後、ディスプレイ19によって画面出力される。例えば、ハードディスクドライブ22から読み出された画像はディスプレイ19で画面表示されて、ユーザは見て楽しむことができる。
入力機器インターフェース14は、キーボード20やマウス21などのユーザ入力機器をコンピュータ装置200に接続するための装置である。ユーザは、キーボード20やマウス21を介して、画像を再生するためのコマンドなどを入力することができる。
ネットワーク・インターフェース15は、Ethernet(登録商標)などの所定の通信プロトコルに従って、コンピュータ装置200を、LAN(Local Area Network)などの局所的ネットワーク、さらにはインターネットのような広域ネットワークに接続する。
ネットワーク上では、複数のホスト端末やサーバー(図示しない)がトランスペアレントな状態で接続され、分散コンピューティング環境が構築されている。ネットワーク上では、ソフトウェア・プログラムやデータ・コンテンツなどの配信サービスを行うことができる。例えば、他人が撮影した画像が保存されている他のサーバーから画像データを、ネットワーク経由でハードディスクドライブ22へダウンロードすることができる。
デジタルカメラインターフェース18は、デジタルカメラから供給される画像をコンピュータ装置200内に取り込むための装置である。外部機器インターフェース16は、ハードディスクドライブ22、メディアドライブ23などの外部装置を、コンピュータ装置200に接続するための装置である。
ハードディスクドライブ22は、従来周知のように、記憶担体としての磁気ディスクを固定的に搭載した外部記憶装置であり、記憶容量やデータ転送速度などの点で他の外部記憶装置よりも優れている。また、このハードディスクドライブ22は、ランダムアクセスも可能である。
ソフトウェア・プログラムを実行可能な状態でハードディスクドライブ22上に置くことをプログラムのシステムへの「インストール」と呼ぶ。通常、ハードディスクドライブ22には、CPU11が実行すべきオペレーティング・システムのプログラム・コードや、アプリケーション・プログラム、デバイス・ドライバなどが不揮発的に格納されている。例えば、上述したパノラマ画像生成処理を行う一連の処理プログラムを、ハードディスクドライブ22上にインストールすることができる。
メディア・ドライブ23は、CD(Compact Disc)、MO(Magneto-Optical disc)、DVD(Digital VersatileDisc)などの可搬型メディアを装填して、そのデータ記録面にアクセスするための装置である。可搬型メディアは、主として、ソフトウェア・プログラムやデータ・ファイルなどをコンピュータ可読形式のデータとしてバックアップすることや、これらをシステム間で移動(すなわち販売・流通・配布を含む)する目的で使用される。画像の処理を行うためのアプリケーション・プログラムを、これら可搬型メディアを利用して複数の機器間で物理的に流通・配布することができる。
この発明は、複数枚の入力画像から1枚のパノラマ画像を生成する際に、各入力画像の使用領域を適切に確定できるものであり、例えば、パンしながら連写した複数の画像から1枚のパノラマ画像を生成する際に適用できる。
100・・・デジタルカメラ
101・・・CPU
102・・・ROM
103・・・RAM
104・・・ユーザ操作部
111・・・撮像部
112・・・撮像信号処理部
113・・・A/D変換部
114・・・デジタル信号処理部
115・・・記録再生部
116・・・記録媒体
117・・・表示部
120・・・パノラマ画像生成部
200・・・コンピュータ装置
P1〜PN・・・入力画像
Q・・・パノラマ画像
PARi・・・入力画像Piに指定された優先領域
ARUi・・・入力画像Piの使用領域
UUR,UUL,UUa,UUb・・・不使用領域(削除領域)

Claims (7)

  1. 撮像位置を所定方向に順次ずらして撮像された複数枚の画像を画像列とし、該画像列に優先的に使用する優先領域が指定されている第1の画像がある場合、上記優先領域と重なる第1の重なり領域がある上記画像列の中の上記第1の画像以外の画像について上記第1の重なり領域を使用禁止領域とする第1の画像処理部と、
    上記画像列の中で、序列が連続しない所定の間隔だけ離れた第2の画像および第3の画像に第2の重なり領域がある場合、上記第2の画像または上記第3の画像の上記第2の重なり領域を使用禁止領域とする第2の画像処理部と、
    上記画像列に含まれる上記複数枚の画像の、上記第1の画像処理部および上記第2の画像処理部で使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成部
    を備える画像処理装置。
  2. 上記画像列に含まれる複数枚の画像のうち任意の画像に、ユーザが、上記優先領域を指定するユーザ操作部をさらに備える
    請求項1に記載の画像処理装置。
  3. 上記序列の上記所定の間隔をユーザが設定するためのユーザ操作部をさらに備える
    請求項1に記載の画像処理装置。
  4. 撮像位置を所定方向に順次ずらして撮像された複数枚の画像を画像列とし、該画像列に優先的に使用する優先領域が指定されている第1の画像がある場合、上記優先領域と重なる第1の重なり領域がある上記画像列の中の上記第1の画像以外の画像について上記第1の重なり領域を使用禁止領域とする第1の画像処理ステップと、
    上記画像列の中で、序列が連続しない所定の間隔だけ離れた第2の画像および第3の画像に第2の重なり領域がある場合、上記第2の画像または上記第3の画像の上記第2の重なり領域を使用禁止領域とする第2の画像処理ステップと、
    上記画像列に含まれる上記複数枚の画像の、上記第1の画像処理ステップおよび上記第2の画像処理ステップで使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成ステップ
    を備える画像処理方法。
  5. コンピュータを、
    撮像位置を所定方向に順次ずらして撮像された複数枚の画像を画像列とし、該画像列に優先的に使用する優先領域が指定されている第1の画像がある場合、上記優先領域と重なる第1の重なり領域がある上記画像列の中の上記第1の画像以外の画像について上記第1の重なり領域を使用禁止領域とする第1の画像処理手段と、
    上記画像列の中で、序列が連続しない所定の間隔だけ離れた第2の画像および第3の画像に第2の重なり領域がある場合、上記第2の画像または上記第3の画像の上記第2の重なり領域を使用禁止領域とする第2の画像処理手段と、
    上記画像列に含まれる上記複数枚の画像の、上記第1の画像処理ステップおよび上記第2の画像処理ステップで使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成手段
    として機能させるためのプログラム。
  6. 撮像位置を所定方向に順次ずらして撮像された複数枚の画像が含まれる画像列の中で、序列が連続しない所定の間隔だけ離れた第1の画像および第2の画像に重なり領域がある場合、上記第1の画像または上記第2の画像の上記重なり領域を使用禁止領域とする画像処理部と、
    上記画像列に含まれる上記複数枚の画像の、上記画像処理部で使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成部
    を備える画像処理装置。
  7. 撮像位置を所定方向に順次ずらして撮像された複数枚の画像が含まれる画像列の中で、序列が連続しない所定の間隔だけ離れた第1の画像および第2の画像に重なり領域がある場合、上記第1の画像または上記第2の画像の上記重なり領域を使用禁止領域とする画像処理ステップと、
    上記画像列に含まれる上記複数枚の画像の、上記画像処理ステップで使用禁止領域とされた領域が削除された後の領域を用いて出力画像を生成する画像生成ステップ
    を備える画像処理方法。
JP2009001250A 2009-01-07 2009-01-07 画像処理装置、画像処理方法およびプログラム Active JP5218071B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009001250A JP5218071B2 (ja) 2009-01-07 2009-01-07 画像処理装置、画像処理方法およびプログラム
US12/648,881 US8723917B2 (en) 2009-01-07 2009-12-29 Image processing apparatus, image processing method and program
CN2010100023151A CN101778217B (zh) 2009-01-07 2010-01-07 图像处理装置和图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009001250A JP5218071B2 (ja) 2009-01-07 2009-01-07 画像処理装置、画像処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2010161520A JP2010161520A (ja) 2010-07-22
JP5218071B2 true JP5218071B2 (ja) 2013-06-26

Family

ID=42311425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009001250A Active JP5218071B2 (ja) 2009-01-07 2009-01-07 画像処理装置、画像処理方法およびプログラム

Country Status (3)

Country Link
US (1) US8723917B2 (ja)
JP (1) JP5218071B2 (ja)
CN (1) CN101778217B (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5321070B2 (ja) * 2009-01-08 2013-10-23 カシオ計算機株式会社 撮影装置、撮影方法及びプログラム
JP2012222674A (ja) * 2011-04-12 2012-11-12 Sony Corp 画像処理装置、画像処理方法、プログラム
US9160914B2 (en) * 2011-06-28 2015-10-13 Inview Technology Corporation User control of the visual performance of a compressive imaging system
EP2726937B1 (en) 2011-06-30 2019-01-23 Nokia Technologies Oy Method, apparatus and computer program product for generating panorama images
JP5729237B2 (ja) * 2011-09-26 2015-06-03 カシオ計算機株式会社 画像処理装置、画像処理方法、及びプログラム
JP5830328B2 (ja) 2011-09-26 2015-12-09 オリンパス株式会社 内視鏡用画像処理装置、内視鏡装置及び画像処理方法
JP2013228896A (ja) * 2012-04-26 2013-11-07 Sony Corp 画像処理装置、画像処理方法、プログラム
JP2015156523A (ja) 2012-06-06 2015-08-27 ソニー株式会社 画像処理装置、画像処理方法、プログラム
JP2015156051A (ja) 2012-06-06 2015-08-27 ソニー株式会社 画像処理装置、画像処理方法、プログラム
WO2014010324A1 (ja) * 2012-07-13 2014-01-16 富士フイルム株式会社 画像変形装置およびその動作制御方法
US9690458B2 (en) * 2012-09-10 2017-06-27 Mediatek Inc. Image viewing method for displaying portion of selected image based on user interaction input and related image viewing system and machine readable medium
EP2993884B1 (en) 2013-04-30 2021-07-07 Sony Corporation Image processing device, image processing method and program
JP6003803B2 (ja) * 2013-05-22 2016-10-05 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP6391356B2 (ja) * 2014-08-11 2018-09-19 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP6633862B2 (ja) * 2015-08-04 2020-01-22 キヤノン株式会社 情報処理装置およびその制御方法
KR20170046338A (ko) 2015-10-21 2017-05-02 엘지전자 주식회사 이동단말기 및 그 제어방법
US10325390B2 (en) * 2016-03-31 2019-06-18 Qualcomm Incorporated Geometric work scheduling with dynamic and probabilistic work trimming
US10861150B2 (en) 2016-10-18 2020-12-08 Vatech Co., Ltd. Producing panoramic radiograph
JP6952456B2 (ja) * 2016-11-28 2021-10-20 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
CN106954025B (zh) * 2017-04-17 2019-01-22 维沃移动通信有限公司 一种拍照方法及移动终端

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6657667B1 (en) * 1997-11-25 2003-12-02 Flashpoint Technology, Inc. Method and apparatus for capturing a multidimensional array of overlapping images for composite image generation
US6704041B2 (en) * 1998-03-10 2004-03-09 Canon Kabushiki Kaisha Image processing method, apparatus and memory medium therefor
JP4178657B2 (ja) 1999-04-12 2008-11-12 カシオ計算機株式会社 パノラマ撮影方法及び撮像装置
US7064783B2 (en) * 1999-12-31 2006-06-20 Stmicroelectronics, Inc. Still picture format for subsequent picture stitching for forming a panoramic image
US6813391B1 (en) * 2000-07-07 2004-11-02 Microsoft Corp. System and method for exposure compensation
GB2370438A (en) * 2000-12-22 2002-06-26 Hewlett Packard Co Automated image cropping using selected compositional rules.
JP2002208005A (ja) * 2001-01-12 2002-07-26 Minolta Co Ltd 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体
US7010158B2 (en) * 2001-11-13 2006-03-07 Eastman Kodak Company Method and apparatus for three-dimensional scene modeling and reconstruction
US7259784B2 (en) * 2002-06-21 2007-08-21 Microsoft Corporation System and method for camera color calibration and image stitching
JP4772281B2 (ja) * 2003-07-28 2011-09-14 オリンパス株式会社 画像処理装置及び画像処理方法
JP2005175620A (ja) * 2003-12-08 2005-06-30 Canon Inc 画像処理方法及び装置
CN1553410A (zh) * 2003-12-18 2004-12-08 沈阳东软数字医疗系统股份有限公司 医学图像枕形失真的校正方法
JP2005309921A (ja) * 2004-04-23 2005-11-04 Seiko Epson Corp 複数の画像からの画像合成
US20060182437A1 (en) * 2005-02-11 2006-08-17 Williams Karen E Method and apparatus for previewing a panoramic image on a digital camera
US7839429B2 (en) * 2005-05-26 2010-11-23 Hewlett-Packard Development Company, L.P. In-camera panorama stitching method and apparatus
US7424218B2 (en) * 2005-07-28 2008-09-09 Microsoft Corporation Real-time preview for panoramic images
JP4407663B2 (ja) * 2005-10-13 2010-02-03 株式会社デンソーウェーブ 撮像装置
US7706610B2 (en) * 2005-11-29 2010-04-27 Microsoft Corporation Segmentation of objects by minimizing global-local variational energy
US7639897B2 (en) * 2006-01-24 2009-12-29 Hewlett-Packard Development Company, L.P. Method and apparatus for composing a panoramic photograph
JP2007286427A (ja) * 2006-04-18 2007-11-01 Sony Corp マスクパターン生成方法
US20080111831A1 (en) * 2006-11-15 2008-05-15 Jay Son Efficient Panoramic Image Generation
US7936915B2 (en) * 2007-05-29 2011-05-03 Microsoft Corporation Focal length estimation for panoramic stitching
KR101354899B1 (ko) * 2007-08-29 2014-01-27 삼성전자주식회사 파노라마 사진 촬영 방법
KR101473215B1 (ko) * 2008-04-18 2014-12-17 삼성전자주식회사 파노라마 이미지 생성장치 및 그 방법
JP5133816B2 (ja) * 2008-08-22 2013-01-30 オリンパスイメージング株式会社 カメラ、画像合成方法、およびプログラム
JP5257044B2 (ja) * 2008-12-16 2013-08-07 ソニー株式会社 画像処理装置、画像処理方法およびプログラム

Also Published As

Publication number Publication date
CN101778217B (zh) 2012-05-30
JP2010161520A (ja) 2010-07-22
US8723917B2 (en) 2014-05-13
CN101778217A (zh) 2010-07-14
US20100171810A1 (en) 2010-07-08

Similar Documents

Publication Publication Date Title
JP5218071B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4493113B2 (ja) プロジェクタおよび投影画像補正装置
JP6071545B2 (ja) 撮像装置、画像処理装置及びその制御方法、プログラム、記憶媒体
JP7444162B2 (ja) 画像処理装置、画像処理方法、プログラム
JP7405131B2 (ja) 画像処理装置、画像処理方法、プログラム
JP2009206800A (ja) 画像処理装置、プロジェクタ、画像処理方法
JP2020088708A (ja) 制御装置、撮像装置およびプログラム
JPH11242737A (ja) 画像処理方法及び装置並びに情報記録媒体
JP2013137368A (ja) 投写表示装置およびその画像表示制御方法
JP2002014611A (ja) プラネタリウムのまたは球面スクリーンへのビデオ投映方法と装置
JP2009237650A (ja) 画像処理装置及び撮像装置
JP4438870B2 (ja) 指示システム、指示プログラム及び指示装置
JP2010068193A (ja) 画像処理装置、撮像装置、画像処理方法及びプログラム
JP2015015699A (ja) 画像処理装置、情報処理方法及びプログラム
JP2020120194A (ja) 撮像装置、撮像方法およびプログラム
JP6677593B2 (ja) 画像処理装置及びその制御方法
JP4975644B2 (ja) 画像処理装置
JP2001084365A (ja) 画像のあおり補正方法、画像のあおり補正装置およびあおり補正用プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11275393A (ja) 画像入力装置、画像入力方法、及び記録媒体
JP2019180054A (ja) 画像記録装置及びその制御方法
JP2005311875A (ja) 電子カメラ、カメラシステムおよび画像処理プログラム
JP5663989B2 (ja) 撮像装置、および画像合成プログラム
JPWO2002071748A1 (ja) 電子カメラおよびデータファイル生成装置
WO2019163385A1 (ja) 画像処理装置、画像処理方法及びプログラム
JP4325108B2 (ja) 撮像画像合成装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5218071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250