JP2004118786A - 画像処理装置および方法、記録媒体、並びにプログラム - Google Patents
画像処理装置および方法、記録媒体、並びにプログラム Download PDFInfo
- Publication number
- JP2004118786A JP2004118786A JP2002284974A JP2002284974A JP2004118786A JP 2004118786 A JP2004118786 A JP 2004118786A JP 2002284974 A JP2002284974 A JP 2002284974A JP 2002284974 A JP2002284974 A JP 2002284974A JP 2004118786 A JP2004118786 A JP 2004118786A
- Authority
- JP
- Japan
- Prior art keywords
- image
- value
- pixel
- difference
- unit
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 title description 52
- 238000001514 detection method Methods 0.000 claims description 36
- 238000005304 joining Methods 0.000 claims description 24
- 238000000605 extraction Methods 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims description 3
- 239000007787 solid Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 39
- 230000001186 cumulative effect Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 230000037433 frameshift Effects 0.000 description 16
- 238000006073 displacement reaction Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/387—Composing, repositioning or otherwise geometrically modifying originals
- H04N1/3876—Recombination of partial images to recreate the original image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】全方位画像のオーバーラップ部分を正確に調整する。
【解決手段】全方位画像を構成する隣接する視線方向の画像のオーバーラップ部分を検出して、それぞれをラプラシアンフィルタにより処理し、エッジからなる画像に変換する。黒丸で示す第1の画像のエッジの画素と、白丸で示す第2の画像のエッジの画素間で、相互に最も近い画素間の距離を求め、これらの和をエッジ差分として求める。これらのエッジ差分が所定の閾値より小さくなるまで、画像をずらしながら同様の処理を繰り返すことにより、第1の画像と第2の画像が正確に設定される。本発明は、全方位カメラに適用することができる。
【選択図】 図23
【解決手段】全方位画像を構成する隣接する視線方向の画像のオーバーラップ部分を検出して、それぞれをラプラシアンフィルタにより処理し、エッジからなる画像に変換する。黒丸で示す第1の画像のエッジの画素と、白丸で示す第2の画像のエッジの画素間で、相互に最も近い画素間の距離を求め、これらの和をエッジ差分として求める。これらのエッジ差分が所定の閾値より小さくなるまで、画像をずらしながら同様の処理を繰り返すことにより、第1の画像と第2の画像が正確に設定される。本発明は、全方位カメラに適用することができる。
【選択図】 図23
Description
【0001】
【発明の属する技術分野】
本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、複数の視点で撮像された画像の端部を正確に重ね合わせて全方位画像を生成できるようにした画像処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
所定の位置を中心として、その所定の位置からの全方位を複数の視点で撮像し、隣り合う視点の画像を順次接合して(貼り合わせて)全方位画像を生成する技術が一般に普及しつつある。
【0003】
このように生成された全方位画像は、任意の画角を指定することで、所定の位置で観測される任意の方向の画像を表示させるようにすることができる。
【0004】
また、従来の画像処理装置には、2枚の画像の濃淡の差分を最小となるように調整して合成するものがある。(例えば、特許文献1参照)。
【0005】
【特許文献1】
特開平11−102430号公報(第8ページ、図5)
【0006】
【発明が解決しようとする課題】
ところで、この全方位画像は、それぞれの画像の端部が正確に貼り合わされていない場合、すなわち、貼り合わせ部分にずれが生じる場合、例えば、指定された画角に貼り合わせ部分が存在すると、そのずれの生じている、貼り合わせ部分が表示されることにより、見ているものにとって違和感のある画像が表示されてしまうという課題があった。
【0007】
しかしながら、正確に貼り合わせがなされているか否かを確認する方法としては、1フレーム(1秒間に30フレーム表示されるうちの1枚)に含まれる貼り合せ箇所全てを目視により確認して、さらにずらして貼り合わせ、この処理を全フレームに対して行うというものが一般的であり、さらに、ずれ幅を修正して全方位画像を構成するのは、非常に手間がかかるものであるという課題があった。
【0008】
本発明はこのような状況に鑑みてなされたものであり、複数の視点で撮像された画像の端部を正確に重ね合わせるようにして全方位画像を生成できるようにするものである。
【0009】
【課題を解決するための手段】
本発明の画像処理装置は、広角度画像のうち、第1の画像と、第2の画像の重ね合わせ部分を検出する検出手段と、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較する比較手段と、比較手段の比較結果に対応して第1の画像と、第2の画像の重ね合わせ部分をずらして接合する接合手段とを備えることを特徴とする。
【0010】
前記重ね合わせ部分における、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値を求める差分演算手段をさらに設けるようにさせることができ、比較手段には、差分演算手段により演算された、重ね合わせ部分における、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値を所定の閾値と比較することにより、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較させるようにすることができる。
【0011】
前記重ね合わせ部分における、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値を対数化する対数化手段をさらに設けるようにさせることができ、比較手段には、重ね合わせ部分における、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値を対数化手段により対数化した値と所定の閾値と比較することにより、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較させるようにすることができる。
【0012】
前記重ね合わせ部分の、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値のうちの中央値を求める中央値検出手段をさらに設けるようにさせることができ、比較手段には、中央値検出手段により検出された、重ね合わせ部分の、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値のうちの中央値を所定の閾値と比較することにより、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較させるようにすることができる。
【0013】
前記第1の画像と第2の画像からエッジを抽出するエッジ抽出手段をさらに設けるようにさせることができ、比較手段には、エッジ抽出手段により抽出された、重ね合わせ部分の、第1の画像のエッジと、第2の画像のエッジを比較することにより、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較させるようにすることができる。
【0014】
本発明の画像処理方法は、広角度画像のうち、第1の画像と、第2の画像の重ね合わせ部分を検出する検出ステップと、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較する比較ステップと、比較ステップの処理での比較結果に対応して第1の画像と、第2の画像の重ね合わせ部分をずらして接合する接合ステップとを含むことを特徴とする。
【0015】
本発明の記録媒体のプログラムは、広角度画像のうち、第1の画像と、第2の画像の重ね合わせ部分の検出を制御する検出制御ステップと、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値の比較を制御する比較制御ステップと、比較制御ステップの処理での比較結果に対応して第1の画像と、第2の画像の重ね合わせ部分をずらした接合を制御する接合制御ステップとを含むことを特徴とする。
【0016】
本発明のプログラムは、広角度画像のうち、第1の画像と、第2の画像の重ね合わせ部分の検出を制御する検出制御ステップと、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値の比較を制御する比較制御ステップと、比較制御ステップの処理での比較結果に対応して第1の画像と、第2の画像の重ね合わせ部分をずらした接合を制御する接合制御ステップとを実行させることを特徴とする。
【0017】
本発明の画像処理装置および方法、並びにプログラムにおいては、広角度画像のうち、第1の画像と、第2の画像の重ね合わせ部分が検出され、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値が比較され、比較結果に対応して第1の画像と、第2の画像の重ね合わせ部分がずらされて接合される。
【0018】
【発明の実施の形態】
図1は、本発明に係る全方位カメラの一実施の形態の構成を示すブロック図である。
【0019】
ビデオカメラ11−1乃至11−8は、例えば、図2で示すように円周上に略45度の略等間隔に配設され、8個の視点から、それぞれに対応する位置に配設されている平面鏡からなる反射部21−1乃至21−8を介しての全方向を撮像し、それぞれの出力を切替部12に出力する。より詳細には、各ビデオカメラ11−1乃至11−8は、その視線方向について台22の図中垂直方向の略中央部一致するように配設され、さらに、各ビデオカメラ11−1乃至11−8の視線方向が水平面上で所定の角度(略45度)の間隔を成すように配置されている。
【0020】
尚、以下において、ビデオカメラ11−1乃至11−8を特に区別する必要がない場合、単にビデオカメラ11と称するものとし、その他の部位についても同様に称する。
【0021】
各ビデオカメラ11−1乃至11−8は、それぞれに対応する反射部21−1乃至21−8で反射された周囲の背景を撮像することにより、水平方向360度の画像を鏡像撮像し、切替部12に出力する。また、各ビデオカメラ11−1乃至11−8は、図示せぬビデオキャプチャボードを介して合計8本のビットマップ形式のファイルからなるストリーム(画像および音声)を切替部12に出力する。
【0022】
切替部12は、ビデオカメラ11−1乃至11−8のそれぞれから入力されてくるストリームを適宜記憶し、各ビデオカメラ11に対応するレンズの歪補正を行った後、時分割して全方位画像データ生成部13に出力する。
【0023】
全方位画像データ生成部13は、切替部12から順次切り替えて入力されてくるストリームデータを用いて、全方位画像データを生成し、MPEG(Moving Picture Experts Group)エンコーダ14に出力する。尚、全方位画像データ生成部13については詳細を後述する。
【0024】
図1,図2で示す全方位カメラの構成では、各ビデオカメラ11に撮像される画像は、90度回転した形式で収録される。ビデオカメラ11の画角(所定の基準となる視点からみた任意の視点方向の角度)の関係と8台のビデオカメラ11の各視点を一致させる都合上、8本のストリームを貼り合わせる前に、図3で示すように、90度回転やミラー反転などの加工処理を施す。また、全方位画像データ生成部13は、キャプチャリングした時点では、1本のストリームにおける1フレームの画像を、720画素×486画素からなるSD(Standard Definition)形式の静止画像として生成する。
【0025】
MPEGエンコーダ14は、入力された全方向画像データをMPEG2方式で圧縮し記録部15に出力する。記録部15は、MPEGエンコーダ14より入力されたMPEG方式で圧縮されている全方向画像データを記録媒体16に記録する。
【0026】
次に、全方位カメラの動作について説明する。
【0027】
各ビデオカメラ11−1乃至11−8が、それぞれの視点の画像をキャプチャリングして、1フレーム分のビットマップ画像にして切替部12に出力する。切替部12は、入力された1フレーム分のビットマップ画像を各ビデオカメラ11毎にレンズ歪補正すると共に全方位画像データ生成部13に出力する。
【0028】
全方位画像データ生成部13は、入力された8本のストリームから全方位画像データを生成してMPEGエンコーダ14に出力する。
【0029】
より詳細には、各ビデオカメラ11−1乃至11−8により撮像される画像は、図4で示すように、所定の軸を中心として、放射状に設定された複数の視点で、その一部分(それぞれの端部)が重なり合うように撮像された画像が、その端部で貼り合わされことにより生成される広角度画像の寄せ集めであり、軸を中心として360度の広角度画像とされることにより全方位画像が構成されている。
【0030】
図4において、画像P1乃至P8は、それぞれビデオカメラ11−1乃至11−8により撮像された基本的に同じタイムコードの画像を示している。尚、画像P1は、水平方向に端部E1−1乃至E1−2の範囲であり、画像P2は、水平方向に端部E2−1乃至E2−2の範囲であり、画像P3は、水平方向に端部E3−1乃至E3−2の範囲であり、画像P4は、水平方向に端部E4−1乃至E4−2の範囲であり、画像P5乃至P8についても同様である。また、同一のタイムコードの画像が存在しない場合、その前後の画像を代用するようにする。
【0031】
このように、画像P1の端部E2−1乃至端部E1−2の範囲の画像は、画像P2の端部E2−1乃至E1−2の範囲の画像と同様の画像となるように、画像P2の端部E3−1乃至E2−2の範囲の画像は、画像P3の端部E3−1乃至E2−2の範囲の画像と同様の画像となるように、重ね合わせ(貼り合わせ)が可能となるように視点が設定されている(画像P4乃至P8のいずれにおいても同様)。このため、切れ目のない全方位画像を構成することができる。尚、この重ね合わせ部分(以下、オーバーラップ部分とも称する)の幅は、後述する調整方法により相互の端部の画像が一致するように調整される。
【0032】
全方位画像データ生成部13は、このように全方位画像を構成することが可能な画像P1乃至P8を、図3で示したように90度回転およびミラー反転させた後、図5で示すように各画像を貼り合わせて1枚のフレームを生成して、全方位画像データを構成しMPEGエンコーダ14に出力する。
【0033】
すなわち、図5で示すように、1フレームには、図中上段に、左から画像P7,P8,P1,P2,P3,P4が配置され、さらに、図中下段に、左からP3,P4,P5,P6,P7,P8が配置されている。本来、全方位画像データを構成するには、画像P1乃至P8までの画像が各1個含まれていればよいが、例えば、上段に画像P1乃至P4を配置し、下段に画像P5乃至P8を配置するように構成すると、画像P4と画像P5の重ね合わせ部分(オーバーラップ部分)が全方位画像データに含まれないことになるため、連続的に画角を変えながら全方位画像を再生させる場合、画像P4,P5の境界を跨ぐような画角が指定されたときに、違和感のある画像となってしまう。そこで、図5で示したような構成とすることにより、各画像が重なり合う部分(オーバーラップ部分)の情報をもれなく含めることが可能になると共に、全方位画像を画角を変えながら再生させる際に、違和感のない画像を再生させることが可能となる。尚、全方位画像データ生成部13の詳細な動作について後述する。
【0034】
MPEGエンコーダ14は、全方位画像データ生成部13により生成された全方位画像データを順次、図5で示したような1フレーム分の画像データとして、MPEG2方式で圧縮し、記録部15に出力する。
【0035】
記録部15は、MPEGエンコーダ14より入力された、MPEG2方式で圧縮された全方位画像データを順次記録媒体16に記録させる。
【0036】
以上のように、図1の全方位カメラを使用することで、複数の視点で撮像された画像に基づいた全方位画像を生成して、記録することが可能となる。
【0037】
次に、図6を参照して、図1の全方位カメラにより記録媒体16に記録された全方位画像を再生する再生装置について説明する。
【0038】
再生部31は、記録媒体16に記録されている、MPEG2方式で圧縮された全方位画像データを読み出して、MPEGデコーダ32に出力する。MPEGデコーダ32は、再生部31より読み出されたMPEG2方式で圧縮された全方位画像データをデコードしてフレームメモリ33に出力して記憶させる。
【0039】
切出部34は、キーボード、ポインタデバイス、または操作ボタンなどから構成される操作部35がユーザにより操作されて指定された画角に応じて、フレームメモリ33に記憶された全方位画像データから表示画像データを切出して、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)からなる表示部36に、ユーザにより指定された画角の画像を表示する。
【0040】
次に、再生装置の動作について説明する。
【0041】
再生部31は、記録媒体16に記録されているMPEG2方式で圧縮された全方位画像データを読み出し、MPEGデコーダ32に出力する。MPEGデコーダ32は、読み出されたMPEG2方式で圧縮された全方位画像データをデコードしてフレームメモリ33に出力して記憶させる。
【0042】
切出部34は、操作部35がユーザにより操作されて、指定された画角の表示画像をフレームメモリ33に記憶された全方位画像データより読み出して表示部36に表示する。すなわち、例えば、図7で示すように、操作部35が操作されて画角A1が指定されると、切出部34は、フレームメモリ33に記憶された全方位画像データのうちF1で示される範囲の画像データを表示画像として切出して表示部36に表示させる。また、操作部35が操作されて画角A2が指定されると、切出部34は、全方位画像データのうちF2で示される範囲の画像データを切出して表示画像として表示部36に表示させる。
【0043】
以上の再生装置によれば、全方位画像が記録された記録媒体より、ユーザの任意の画角(視点の角度)の画像を表示することが可能となる。
【0044】
尚、以上においては、全方位カメラに、ビデオカメラ11を8台設けた場合について説明してきたが、それ以上のビデオカメラを設けるようにしてもよい。また、フレーム単位の画像の圧縮方法としては、MPEG2に限るものではなく、その他の圧縮方法でもよく、例えば、Motion JPEG(Joint Photographic Experts Group)などでもよい。
【0045】
次に、図8を参照して、全方位画像データ生成部13の詳細な構成について説明する。全方位データ生成部13は、上述のようにビデオカメラ11−1乃至11−8により撮像される8本のストリームから全方位画像データを生成するが、この際、オーバーラップ部分が完全に一致した状態に近い状態で貼り合わせられるようにずれを調整して全方位画像データを生成している。
【0046】
貼り合わせにおいてずれが生じる原因は、主に、パララックス、フレームずれ、または、追い込み不足といったことが考えられている。ここでいうパララックスによるずれとは、全方位映像は複数のビデオカメラ11を用いて撮像した画像を貼り合わせるので、ビデオカメラ11間の視差により生じるずれを示している。
【0047】
また、フレームずれとは、オーバーラップ部分に隣り合う画像のフレーム間のタイムコードが違う画像になっていることにより生ずるずれである。各ビデオカメラ11により撮像された画像は、上述のようにそれぞれに時系列的に並んでおり、基本的には、同じタイムコードの画像が貼り合わされることで全方位映像が作成されているが、複数のビデオカメラ11が使用されていることから、撮像した画像の中にフレームが欠けていたり、デジタイズした後のハードウェア上でデータが欠けていたりすることがあり、この場合、タイムコードの異なる画像が貼り合わされることがあるので、このようなとき隣接する画像のオーバーラップ部分がずれてしまうことがある。
【0048】
さらに、追い込み不足によるずれとは、注意深く貼り合せを行えば正確に合わせることが可能であるが、ストリームデータを限られた時間内に、合わせるにはハードウェアの精度上の問題で、正確な位置でオーバーラップ部分を貼り合わせることができないことにより生じてしまうずれを示す。
【0049】
以上の原因のうち、パララックスによるずれは、各ビデオカメラ11のそれぞれを調整することでしか解消することができず困難である。そこで、本発明の全方位カメラ編集システム(もしくは編集ソフト)は、上述のフレームずれと追い込み不足によるずれを、オーバーラップ部分の画素間の画素値を比較し、その比較結果により画像を調整して、全方位画像データを生成する。
【0050】
そこで、図8を参照して、オーバーラップ部分の画素間の比較結果により画像を調整する全方位画像データ生成部13の構成について説明する。
【0051】
加工接合部61は、切替部12より順次入力されてくるビデオカメラ11−1乃至11−8より撮像された画像データを90度回転、または、ミラー反転させるなどした後、所定の調整量で各画像を接合して(貼り合せて)、一時的な全方位画像データ(オーバーラップ部分が調整されていない仮の全方位画像データ)を生成して、フレームメモリ62に記憶させる。また、加工接合部61は、この一時的な全方位画像データに基づいて、調整量決定部66により演算された、画像の位置を調整する調整量に基づいてフレームメモリ62に記憶されている一時的に生成された全方位画像データの接合位置を、例えば、水平方向または垂直方向に1画素単位でずらしながら調整する処理を繰り返す。加工接合部61は、所定のずれ幅以内であると判定された場合、そのときにフレームメモリ62に記憶されている全方位画像(画像が調整された全方位画像)データを最終的な全方位画像データとして、MPEGエンコーダ14に出力する。
【0052】
オーバーラップ画素検出部63は、フレームメモリ62に記憶されている一時的に生成された、オーバーラップ部分が調整されていない全方位画像データのうちのオーバーラップ部分の画素を検出し、差分演算部64に出力する。すなわち、例えば、図5で示すように全方位画像データが生成されていた場合、オーバーラップ部分E1−1乃至E8−2、E2−1乃至E1−2、E3−1乃至E2−2、E4−1乃至E3−2、E5−1乃至E4−2、E6−1乃至E5−2、E7−1乃至E6−2、またはE8−1乃至E7−2の画素を検出する。
【0053】
差分演算部64は、図示せぬカウンタを用いてオーバーラップ画素検出部63より入力された全てのオーバーラップ部分の所定の画素間の画素値の差分の絶対値を演算し、演算結果を比較部65に出力する。すなわち、差分演算部64は、オーバーラップ部分の画素位置に存在する2つの画像の画素の画素値として、RGB信号それぞれの画素値の差分の絶対値を求めて比較部65に出力する。例えば、図5のオーバーラップ部分E2−1乃至E1−2の場合、画像P1の端部E2−1乃至E1−2の画素の画素値と、対応する画像P2の端部E2−1乃至E1−2の画素のRGBのそれぞれについての差分の絶対値を求め、これを全てのオーバーラップ部分においても同様の処理を繰り返して、さらに、求められた全ての差分の絶対値を加算して比較部65に出力する。尚、以下においては、オーバーラップ部分の同一画素位置の1画素の画素値を比較する例について説明するが、それ以上の画素数であってもよく、言うまでもなくオーバーラップ部分の同一画素位置の全画素の差分の絶対値を求めてもよい。
【0054】
比較部65は、差分演算部64より入力された全てのオーバーラップ部分の差分の絶対値の累積加算値を所定の閾値thと比較して、比較結果を調整量決定部66に出力する。すなわち、オーバーラップ部分の画素の画素値は、オーバーラップ部分に存在する2の画像が、その端部で完全に一致していればその差分は0となるので、全てのオーバーラップ部分の差分の絶対値の累積加算値についても、一致した状態に近いほど小さい値となる。
【0055】
調整量決定部66は、比較部65から入力される比較結果に基づいて、加工接合部61に対して画像の調整量を決定し加工接合部61に出力する。すなわち、比較結果が所定の閾値th以下ではない場合、調整量決定部66は、オーバーラップ位置を順次変化させて接合するように(ずらして接合するように)調整量を設定して加工接合部61に出力し、閾値以下である場合、その時点でフレームメモリ62に記憶されている全方位画像データを、最終的な全方位画像データとしてMPEGエンコーダ14に出力するように指令する。
【0056】
次に、図9のフローチャートを参照して、全方位画像データ生成処理について説明する。
【0057】
ステップS1において、加工接合部61は、切替部12より入力されてくる8本のストリームをフレーム単位で90度回転させ、さらに、ミラー反転させた後、所定の間隔でそれらを並べてオーバーラップ部分を構成し、一時的な全方位画像データを生成してフレームメモリ62に記憶させると共に、フレーム数を示すカウンタnが初期化(n=1)される。すなわち、このタイミングでは、オーバーラップ部分の画像が相互に一致しているか否かは吟味されていない。
【0058】
ステップS2において、オーバーラップ部分の数を示すカウンタx(1≦x≦7)、差分の絶対値の累積加算値を示すカウンタD、および、各オーバーラップ部分の画素のRGB成分それぞれの差分の絶対値を示すカウンタDR−x,DG−x,DB−xが初期化(D=(DR−x)=(DG−x)=(DB−x)=0,x=1)される。
【0059】
ステップS3において、オーバーラップ画素検出部63は、カウンタnを参照して対応する第nフレームの一時的な全方位画像データをフレームメモリ62により読み出し、ステップS4において、画像Pxと画像P(x+1)のオーバーラップ部分の画素を検出して、検出結果を差分演算部64に出力する。すなわち、例えば、図4の場合、カウンタxが1のとき、画像P1とP2のオーバーラップ部分E2−1乃至E1−2に対応する画素が検出される。
【0060】
ステップS5において、差分演算部64は、画像Pxと画像P(x+1)のオーバーラップ部分の画素の差分の絶対値であるDR−x,DG−x,DB−xを求める。すなわち、例えば、カウンタxが1の場合、画像P1とP2のオーバーラップ部分E2−1乃至E1−2に対応する画素のうちの所定の画素位置の画素に対応する画像P1上の画素と画像P2上の画素とのRGB成分それぞれの画素値の差分の絶対値を演算して、RGB成分それぞれの差分の絶対値DR−1,DG−1,DB−1として求める。
【0061】
ステップS6において、差分演算部64は、求められたRGB各成分の差分の絶対値DR−x,DG−x,DB−xを差分の絶対値の累積加算値Dに加算する(差分の絶対値の累積加算値D=D+(DR−x)+(DG−x)+(DB−x)を演算する)。
【0062】
ステップS7において、オーバーラップ部分のカウンタxに1を加算した値(=x+1)がビデオカメラの台数(今の場合、8台)と一致するか否かが判定され、一致しないと判定された場合、その処理は、ステップS8に進み、カウンタxが1だけインクリメントされてその処理は、ステップS4に戻る。
【0063】
すなわち、カウンタxの値に応じて、図5で示すオーバーラップ部分E2−1乃至E1−2、E3−1乃至E2−1、E4−1乃至E3−2、E5−1乃至E4−2、E6−1乃至E5−2、E7−1乃至E6−2、およびE8−1乃至E7−2の所定の画素位置の画素に対応する画素間の差分の絶対値の累積加算値が得られることになる。
【0064】
ステップS7において、オーバーラップ部分のカウンタxに1を加算した値(=x+1)がビデオカメラの台数(今の場合、8台)と一致すると判定された場合、すなわち、オーバーラップ部分E2−1乃至E1−2、E3−1乃至E2−1、E4−1乃至E3−2、E5−1乃至E4−2、E6−1乃至E5−2、E7−1乃至E6−2、およびE8−1乃至E7−2の所定の画素位置の画素に対応する画素間の差分の絶対値の累積加算値が求められている状態の場合、その処理は、ステップS9に進む。
【0065】
ステップS9において、画像P(x+1)と画像P1のオーバーラップ部分の画素を検出して、検出結果を差分演算部64に出力する。すなわち、ステップS9においては、カウンタxが7なので、図5における画像P8とP1のオーバーラップ部分E1−1乃至E8−2に対応する画素が検出される。
【0066】
ステップS10において、差分演算部64は、画像P(x+1)(=P8)と画像P1のオーバーラップ部分の画素の差分の絶対値であるDR−(x+1),DG−(x+1),DB−(x+1)を求める。すなわち、今の場合、カウンタxは7なので、画像P8とP1のオーバーラップ部分E1−1乃至E8−2に対応する画素のうちの所定の画素位置の画素に対応する画像P8上の画素と画像P1上の画素とのRGB成分それぞれの画素値の差分の絶対値を演算して、RGB成分それぞれの差分の絶対値DR−8,DG−8,DB−8として求める。
【0067】
ステップS11において、差分演算部64は、求められたRGB各成分の差分の絶対値DR−(x+1),DG−(x+1),DB−(x+1)を差分の絶対値の累積加算値Dに加算し(差分の絶対値の累積加算値D=D+(DR−(x+1))+(DG−(x+1))+(DB−(x+1))を演算し)、演算結果を比較部65に出力する。すなわち、ステップS11の処理により、全方位画像データの1フレーム分の全てのオーバーラップ部分の画像の所定の画素位置の画素間の画素値の差分の絶対値の累積加算値Dが求められることになるので、その演算結果が比較部65に出力される。
【0068】
ステップS12において、比較部65は、差分演算部64より入力された累積加算値Dと所定の閾値thとを比較して、閾値thより大きいか否かを判定し、閾値thより大きいと判定した場合、その判定結果を調整量決定部66にその処理は、ステップS13に進む。
【0069】
ステップS13において、調整量決定部66は、加工接合部61に対して所定の幅だけ画像をずらすような調整量を加工接合部61に供給し、これに応じて加工接合部61は、フレームメモリ62に記憶されている全方位画像データからなる第nフレームの全てのオーバーラップ部分を所定の幅だけ(例えば、水平方向、または、垂直方向に画素単位で)ずらし、その処理は、ステップS2に戻る。
【0070】
ステップS12において、累積加算値Dが所定の閾値thより大きくないと判定した場合、すなわち、累積加算値Dが所定の閾値thよりも小さく、ずれ幅が小さいと判定された場合、ステップS14において、加工接合部61は、今現在フレームメモリ62に記憶されている第nフレームの全方位画像データをMPEGエンコーダ14に出力する。
【0071】
ステップS15において、加工接合部61は、全てのフレームについて、画像が調整された全方位画像データが生成されたか否かを判定し、全てのフレームについて画像が調整された全方位画像データが生成されていないと判定した場合、その処理は、ステップS16に進む。
【0072】
ステップS16において、フレームのカウンタnが1インクリメントされて、その処理は、ステップS2に戻り、それ以降の処理が繰り返される。また、ステップS15において、全てのフレームについて画像が調整された全方位画像データが生成されたと判定された場合、その処理は、終了する。
【0073】
すなわち、ステップS12において、累積加算値Dが閾値thよりも小さくなるまで、すなわち、第nフレームの画像の位置を少しずつずらしながらオーバーラップ部分の貼り合わせが正確になされるまで、ステップS2乃至S13の処理が繰り返される。そして、オーバーラップ部分のずれが小さくなったとき、すなわち、累積加算値Dが閾値thよりも小さくなったとき、そのフレームの全方位画像データが出力され、次の全方位画像データのフレームに処理が移る。そして、最終的に全てのフレームで同様の処理がなされたとき、その処理が終了する。
【0074】
以上によれば、全方位画像データのオーバーラップ部分の画素間の画素値の差分の絶対値が最小となるように画像を調整するようにしたので、表示が指示された画角の表示画像にオーバーラップ部分が含まれていても、違和感のない全方位画像を表示することが可能となる。
【0075】
尚、図8の全方位画像データ生成部13は、差分の絶対値に基づいて、調整量を設定していたが、例えば、差分の絶対値の対数を取るようにすることで、より精度の高い画像の調整を行った全方位画像データを生成することができる。
【0076】
図10は、差分の絶対値を対数化して所定の閾値と比較するようにした全方位画像データ生成部13を示している。尚、図10中、図8における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図10の全方位画像データ生成部13において、図8の全方位画像データ生成部13と異なる点は、差分対数化部71および比較部72が設けられている点である。
【0077】
差分対数化部71は、差分演算部64で求められた差分の絶対値の累積加算値Dを対数化して、対数LDを求め、比較部72に出力する。
【0078】
比較部72は、基本的には、図8の比較部65と同様のものであるが、差分の絶対値の累積加算値Dに代えて、対数LDを閾値th−Lと比較する。
【0079】
すなわち、差分の絶対値の累積加算値Dを対数化して対数LDを使用することにより、図11で示すように、オーバーラップ部分のずれに対する評価値(=対数LD)が、累積加算値Dに比べて、ずれ幅が小さいほど大きく変化し、ずれ幅が大きいほど小さく変化する。基本的に、オーバーラップ部分のずれ幅は小さいものであるので、微小なずれが生じていても、対数LDは、(対数を取らなかった場合に比べて)大きな値として求められることになるため、小さなずれを敏感に評価することができ、高い精度で画像を調整することができる。
【0080】
次に、図12のフローチャートを参照して、図10の全方位画像データ生成部13による全方位画像データ生成処理について説明する。この処理は、対数を使用する以外の点のついては、基本的に、図9のフローチャートを参照して説明した処理と同様である。尚、図12のステップS31乃至S41、および、ステップS44乃至S47の処理は、図9のフローチャートを参照して説明したステップS1乃至S15の処理と同様であるので、その説明は省略する。
【0081】
ステップS42において、差分対数化部71は、差分演算部64により演算された全方位画像データの1フレーム分の全てのオーバーラップ部分の画像の所定の画素位置の画素間の画素値の差分の絶対値の累積加算値Dを対数化して、対数LDを求め、比較部72に出力する。
【0082】
ステップS43において、比較部72は、対数LDが所定の閾値th−Lよりも大きいか否かを判定し、大きいと判定した場合、すなわち、オーバーラップ部分のずれが大きいと判定した場合、その処理は、ステップS44に進み、大きくない、すなわち、オーバーラップ部分のずれ幅が小さいと判定した場合、その処理は、ステップS45に進む。
【0083】
以上によれば、累積加算値Dの対数LDが、閾値thと比較され、その比較結果を用いて画像が調整されるようにしたので、より精度の高い画像の調整が可能となる。
【0084】
以上の例において、図8、または、図10の全方位画像データ生成部13は、各フレーム単位で、オーバーラップ部分を調整しているため、例えば、図4で示すような全方位画像を考える場合、タイミングによっては、画像P1を撮像したビデオカメラ11−1にはノイズが発生し、画像P1のオーバーラップ部分E1−2乃至E2−1には、ノイズが現れ、画像P2乃至P8を撮像したビデオカメラ11−2乃至11−8では、ノイズが存在しない状態の画像が撮像されるようなとき、1台のビデオカメラ11−1のノイズによる影響から1フレーム分の全てのオーバーラップ部分の正確な調整ができない可能性がある。
【0085】
そこで、例えば、図4で示すような全方位画像データの場合、オーバーラップ部分毎に求められた差分の絶対値の中央値を求め、その値を所定の閾値th−Mと比較することでオーバーラップ部分のずれ幅を評価するようにしてもよい。
【0086】
図13は、全方位画像データの全てのオーバーラップ部分の所定の画素位置の画素間の画素値の差分の絶対値の中央値を求めて、所定の閾値th−Mと比較するようにした全方位画像データ生成部13の構成を示している。尚、図13中、図8における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図13の全方位画像データ生成部13において、図8の全方位画像データ生成部13と異なる点は、差分演算部81、差分中央値検出部82、および比較部83が設けられている点である。
【0087】
差分演算部81は、図8の差分演算部65と同様に、各オーバーラップ部分の所定の画素位置の画素間のRGB成分の画素値の差分を演算するが、その後、累積加算することなく差分中央値検出部82に出力する。
【0088】
差分中央値検出部82は、差分演算部81より供給されるオーバーラップ部分の所定の画素位置の画素間の差分の絶対値を、メモリ82aに随時記憶し、全てのオーバーラップ部分の所定の画素位置の画素間のRGB成分の差分の絶対値を記憶すると、それらのそれぞれの値を、昇べきの順、または、降べきの順に並び替えて、差分中央値MDR,MDG,MDBを検出し、さらにこれらを加算してMDを生成して比較部83に出力する。
【0089】
すなわち、オーバーラップ部分E1−1乃至E8−2、E2−1乃至E1−2、E3−1乃至E2−2、E4−1乃至E3−2、E5−1乃至E4−2、E6−1乃至E5−2、およびE7−1乃至E6−2のそれぞれについてのR成分の画素値の差分の絶対値がそれぞれ、11、12、15、24、13、14、12であった場合、昇べきに並べると、オーバーラップ部分E1−1乃至E8−2、E2−1乃至E1−2、E7−1乃至E6−2、E5−1乃至E4−2、E6−1乃至E5−2、E3−1乃至E2−2、E4−1乃至E3−2の順序で配置される。さらに、中央値として、オーバーラップ部分E5−1乃至E4−2の差分の絶対値13が検出されることになる。例えば、今の場合、オーバーラップ部分E4−1乃至E3−2の差分の絶対値は、24であり他の値と比べても大きくノイズによる値である可能性もあるが、中央値が選択されるので、このようにノイズを含んでいる可能性のある値が選択されない。
【0090】
比較部83は、差分中央値検出部82より入力された差分中央値DMを所定の閾値th−Mと比較し、比較結果を調整量決定部66に出力する。
【0091】
次に、図14のフローチャートを参照して、図13の全方位画像データ生成部13による全方位画像データ生成処理について説明する。尚、図14のフローチャートにおけるステップS61,S63,S64,S66乃至S69,S73乃至S76の処理については、図9のフローチャートを参照して説明したステップS1,S3,S4,S7乃至S9,S13乃至S15の処理と同様であるので、その説明は省略する。
【0092】
ステップS62において、オーバーラップ部分の数を示すカウンタx(1≦x≦7)、差分の絶対値の中央値を示すカウンタMD、および、各オーバーラップ部分の画素のRGB成分それぞれの差分の絶対値を示すカウンタDR−x,DG−x,DB−xを初期化(D=(DR−x)=(DG−x)=(DB−x)=0,x=1)する。
【0093】
ステップS65において、差分演算部81は、画像Pxと画像P(x+1)のオーバーラップ部分の画素の差分の絶対値であるDR−x,DG−x,DB−xを求め、差分中央値検出部82に出力し、メモリ82aに記憶させる。
【0094】
ステップS70において、差分中央値検出部82は、メモリ82aに記憶されているR成分の画素値の差分の絶対値DR−1乃至DR−8を昇べきの順、または、降べきの順に並べて、中央値MDRを検出し、同様にして、G,B成分の画素値の差分の絶対値の中央値MDG,MDBを検出し、ステップS71において、これらの中央値MDR,MDG,MDBを加算して、中央値MDを生成して比較部83に出力する。
【0095】
ステップS72において、比較部83は、中央値MDが所定の閾値th−Mより大きいか否かを比較し、大きいと判定した場合、その処理は、ステップS73に進み、大きくないと判定した場合、その処理は、ステップS74に進む。
【0096】
以上のように、全方位画像データのうちの各オーバーラップ部分の中央値を閾値th−Mと比較することにより、画像を調整するようにしたので、例えば、図4で示すようにビデオカメラ11−1乃至11−8のいずれかにノイズなどが含まれたような場合にでも、正確にオーバーラップ部分のずれの有無を判定することができ、任意の画角で指定されても違和感のない全方位画像データを生成することが可能となる。
【0097】
以上の例においては、フレームずれと追い込み不足によるずれは一緒になって現れ、どちらが原因でずれが生じているのかが明瞭に区別されていない。そこで、全フレームにわたって中央値を求めるようにして、どちらが原因でずれが生じているのかを明瞭に区別できるようにしてもよい。
【0098】
図15は、全方位画像データのオーバーラップ部分毎に、所定の画素位置の画素値取得し、全フレームに渡る中央値を求め、オーバーラップ部分間の差分の和と所定の閾値th−MAとを比較し、その比較結果から画像のずれを補正するようにした全方位画像データ生成部13の構成を示している。尚、図15中、図8における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図15の全方位画像データ生成部13において、図8の全方位画像データ生成部13と異なる点は、中央値検出部91、差分演算部92、比較部93、およびフレームずれ検出部94が設けられている点である。
【0099】
中央値検出部91は、各オーバーラップ部分の所定の画素位置のRGB成分の画素値を、全フレームに渡ってメモリ91aに記憶し、さらに、それぞれの値を、対応する画素位置毎にフレーム単位で昇べきの順、または、降べきの順に並び替えて、中央値MYRxt,MYGxt,MYBxt,MYRxb,MYGxb,MYBxbを検出する。
【0100】
尚、以下の説明において、図4で示す各画像Pxと画像P(x+1)のオーバーラップ部分は、画像PxのRGB成分の中央値がMYRxb,MYGxb,MYBxbで表され、画像P(x+1)のRGB成分の中央値がMYR(x+1)t,MYG(x+1)t,MYB(x+1)tで表されている。ただし、画像P(x+1)と画像P1のオーバーラップ部分は、画像P1のRGB成分がMYR1t,MYG1t,MYB1tで表されており、画像P8のRGB成分がMYR(x+1)b,MYG(x+1)b,MYB(x+1)bで表される。
【0101】
差分演算部92は、中央値検出部91から入力される画素位置毎に隣接する画像のオーバーラップ部分の中央値の差分を求め、これらを積算して積算値MDAを生成して比較部93に出力する。また、差分演算部92は、図13の差分演算部81と同様に、各オーバーラップ部分の所定の画素位置の画素間のRGB成分の画素値の差分を演算するが、その後、累積加算することなく差分中央値検出部95に出力する。
【0102】
例えば、オーバーラップ部分E1−1乃至E8−2の所定の画素位置のR成分の画素値が、1フレーム目から7フレーム目まででそれぞれ、11、12、15、24、13、14、12であった場合、昇べきに並べ、中央値を求めると、13(6フレーム目)が検出される。この値は、注目する画素において、ノイズである可能性が一番低い。元になる画像に付加されたノイズは、分布の上で不釣合いな値を有しているので、最大値や最小値に分布するのが普通である。また、この値は、撮影された像の中で背景である可能性が一番高い。オーバーラップ部分で動きのある物体が横切ったとすると、その物体が注目画素において占めている時間はフレーム全体からすると微小であり、中央値から大きく外れる。したがって、中央値を求めることで、オーバーラップ部分のノイズを除去し背景のみが抽出されるため、この値をもとに貼り合わせを行うと、静止している背景を元に貼り合せが行われたことになり、追い込み不足によるずれを抑制することができる。求めたパラメータで全フレームを貼り合わせて、なおずれのある場合、純粋にフレームずれである可能性が高い。よって、追い込み不足によるずれと、フレームずれとを区別することが可能となる。
【0103】
比較部93は、差分演算部92より入力された中央値の差分の和MDAを所定の閾値th−MAと比較し、比較結果を調整量決定部66に出力し、画像位置を調整する。
【0104】
差分中央値検出部95およびメモリ95aは、図13の差分中央値検出部82およびメモリ82aと同一のものであり、差分演算部92より供給されるオーバーラップ部分の所定の画素位置の画素間の差分の絶対値を、メモリ95aに随時記憶し、全てのオーバーラップ部分の所定の画素位置の画素間のRGB成分の差分の絶対値を記憶すると、それらのそれぞれの値をフレーム単位で、昇べきの順、または、降べきの順に並び替えて、差分中央値MDR,MDG,MDBを検出し、さらにこれらを加算してMDを生成して比較部93に出力する。このとき、比較部93は、図13の比較部83と同様に機能し、差分中央値検出部82より入力された差分中央値DMを所定の閾値th−Mと比較し、比較結果をフレームずれ検出部94に出力する。
【0105】
フレームずれ検出部94は、比較部93から入力された比較結果からフレームがずれている場合、図示せぬ表示部(例えば操作画面などを表示するLCDなど)にずれたフレームの番号を示す情報を表示する。
【0106】
次に、図16,図17のフローチャートを参照して、図15の全方位画像データ生成部13による全方位画像データ生成処理について説明する。尚、ステップS91,S93,S94,S96,S97,S100,S101,S104,S105,S109,S110,S115の処理は、図14のフローチャートのステップS61,S63,S64,S66,S67,S75,S76,S66,S67,S66,S67,S73の処理と同様であるのでその説明は省略する。
【0107】
ステップS92において、カウンタx、および、オーバーラップ部分の画素を格納するカウンタYR−xt−n,YG−xt−n,YB−xt−n,YR−xb−n,YG−xb−n,YB−xb−n,MYRxt,MYGxt,MYBxt,MYRxb,MYGxb,MYBxb,MDA,MDRx,MDGx,MDBxを初期化する。尚、YR−xt−n,YG−xt−n,YB−xt−nは、フレームnの画像PxのP(x−1)とのオーバーラップ部分のRGB成分を示し、YR−xb−n,YG−xb−n,YB−xb−nは、フレームnの画像PxのP(x+1)とのオーバーラップ部分のRGB成分を示し、MYRxt,MYGxt,MYBxtは、フレームnの画像PxのP(x−1)とのオーバーラップ部分のRGB成分の中央値を示し、MYRxb,MYGxb,MYBxbは、フレームnの画像PxのP(x+1)とのオーバーラップ部分のRGB成分の中央値を示し、MDRx,MDGx,MDBxは、画像PxのP(x+1)とのオーバーラップ部分の中央値のRGB成分ごとの差分の絶対値を示し、MDAは、差分MDRx,MDGx,MDBxの差分積算値を示す。
【0108】
ステップS95において、中央値検出部91は、検出されたオーバーラップ部分のフレームnの画像PxのP(x+1)とのオーバーラップ部分の画像PxのRGB成分YR−xb−n,YG−xb−n,YB−xb−nと、画像P(x+1)のRGB成分YR−(x+1)t−n,YG−(x+1)t−n,YB−(x+1)t−nを読み出してメモリ91aに記憶する。
【0109】
ステップS94乃至S97の処理が繰り返されることにより、例えば、図4の場合、画像P1とP2のオーバーラップ部分、画像P2とP3のオーバーラップ部分、画像P3とP4のオーバーラップ部分、画像P4とP5のオーバーラップ部分、画像P5とP6のオーバーラップ部分、画像P6とP7のオーバーラップ部分、画像P7とP8のオーバーラップ部分の画素値が記憶される。
【0110】
さらに、ステップS99において、中央値検出部91は、図4の場合、検出されたオーバーラップ部分のフレームnの画像P(x+1)のP1とのオーバーラップ部分の画像P(x+1)のRGB成分YR−(x+1)b−n,YG−(x+1)b−n,YB−(x+1)b−nと、画像P1のRGB成分YR−1t−n,YG−1t−n,YB−1t−nを読み出してメモリ91aに記憶する。
【0111】
ステップS93乃至S101の処理が繰り返されることにより、全てのフレームのオーバーラップ部分の画像の画素値がメモリ91aに記憶される。
【0112】
ステップS102において、カウンタxが初期化される。ステップS103において、中央値検出部91は、画像Pxの画像P(x−1)、および、画像P(x+1)とのオーバーラップ部分のRGB成分の全フレーム中の中央値MYRxt,MYGxt,MYBxt,MYRxb,MYGxb,MYBxbを求め、差分演算部92に出力する。そして、ステップS103乃至S105の処理が繰り返されることにより、全ての画像Pxの中央値MYRxt,MYGxt,MYBxt,MYRxb,MYGxb,MYBxbが求められる。
【0113】
ステップS106において、カウンタxが初期化される。
【0114】
ステップS107において、差分演算部92は、中央値MYRxbと中央値MYR(x+1)tの差分の絶対値MDRx、中央値MYGxbと中央値MYG(x+1)tの差分の絶対値MDGx、および、中央値MYBxbと中央値MYB(x+1)tの差分の絶対値MDBxを求める。すなわち、画像Pxと画像P(x+1)のオーバーラップ部分のRGB成分の中央値の差分の絶対値が求められる。
【0115】
ステップS108において、差分演算部92は、差分積算値MDAに差分の絶対値MDRx,MDGx,MDBxを積算する。
【0116】
ステップS109乃至S110の処理により、図4の場合、画像P1乃至P8までのオーバーラップ部分のRGB成分の中央値の積算値が求められる。
【0117】
ステップS111において、差分演算部92は、中央値MYR(x+1)bと中央値MYR1tの差分の絶対値MDR(x+1)、中央値MYG(x+1)bと中央値MYG1tの差分の絶対値MDG(x+1)、および、中央値MYB(x+1)bと中央値MYB1tの差分の絶対値MDB(x+1)を求める。すなわち、画像P(x+1)と画像P1のオーバーラップ部分のRGB成分の中央値の差分が求められる。
【0118】
ステップS112において、差分演算部92は、差分積算値MDAに差分の絶対値MDR(x+1),MDG(x+1),MDB(x+1)を積算する。
【0119】
すなわち、ステップS107乃至S112の処理により、全ての画像のオーバーラップ部分のRGB成分の中央値の差分積算値MDAが求められる。
【0120】
ステップS113において、比較部93は、差分積算値MDAと所定の閾値th−MAとを比較して、閾値th−MAより大きいか否かを判定し、閾値th−MAより大きいと判定した場合、その処理は、ステップS115に戻り、閾値th−MAより大きくない、すなわち、閾値th−MAより小さいと判定した場合、ステップS114において、フレームずれ検出処理が実行され、その処理は終了する。すなわち、差分積算値MDAが所定の閾値th−MAより小さくなるまでステップS92乃至S113の処理が繰り返される。
【0121】
ここで、図18のフローチャートを参照して、フレームずれ検出処理について説明する。
【0122】
尚、図18のフローチャートにおけるステップS131乃至S142,S143,S145,S146の処理は、図9のフローチャートを参照して説明したステップS1乃至S12,S14乃至S16の処理と同様であるので、その説明は省略する。
【0123】
ステップS142において、累積加算値Dが閾値thより大きいと判定した場合、ステップS144において、フレームずれ検出部94は、フレームnにフレームずれが生じているとみなし、フレームnがずれていることを、例えば、図示せぬ表示部などに表示するなどして出力する。そして、フレームずれ検出処理が終了すると、その処理は、図17の処理に戻り、全方位画像データ生成処理が終了する。
【0124】
以上のように、全方位画像データのうちの各オーバーラップ部分の中央値を閾値th−MAと比較することにより、画像位置を調整して貼り合わせを行い、閾値を越えたフレームの番号を出力するようにしたことで、純粋にフレームずれのみを知ることが出来、フレームずれと追い込み不足によるずれを区別することができる。
【0125】
ところで、図8,10,13,15の全方位画像データ生成部13においては、オーバーラップ部分の所定の画素位置の画素間の画素値の差分の絶対値を用いて処理していたため、その処理データ量が膨大である。そこで、オーバーラップ部分の画素間の距離だけを用いてオーバーラップ部分のずれ幅を評価することで、処理データ量を小さくして処理できるようにしてもよい。
【0126】
図19は、オーバーラップ部分の画素間の距離を用いてオーバーラップ部分のずれ幅に基づいて画像を調整して、全方位画像データを生成するようにした全方位画像データ生成部13を示している。尚、図19中、図8における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図19の全方位画像データ生成部13において、図8の全方位画像データ生成部13と異なる点は、ラプラシアンフィルタ処理部101、エッジ差分比較部102、および、調整量決定部103が設けられている点である。
【0127】
ラプラシアンフィルタ処理部101は、内蔵するラプラシアンフィルタにより処理を行い、オーバーラップ部分の画像をエッジ部分とそれ以外の部分の2値画像に変換してエッジ差分比較部102に出力する。このラプラシアンフィルタは、例えば、図20で示すような、3×3の上段、左部から1,1,1,1,−8,1,1,1,1からなるマトリクス状のフィルタである。例えば、図21で示すような画像は、図20のラプラシアンフィルタにより処理されると、図22で示すような、図21のエッジ部分だけが白色の画素とされ、それ以外の画素が黒とされた2値の画像に変換される。
【0128】
エッジ差分比較部102は、ラプラシアンフィルタ処理部により処理されたオーバーラップ部分のエッジ部分のずれ幅を、エッジ部分の画素間の最短距離の差分の和をエッジ差分FDとして求めて、さらに、所定の閾値th−Fと比較して、比較結果を調整量決定部103に出力する。より詳細には、例えば、図4の画像P1とP2のオーバーラップ部分がラプラシアンフィルタ処理部102により処理された画像のそれぞれのエッジ上の画素が、図23で示すように分布しているものとする。尚、図23では、黒丸の画素T1乃至T8が、画像P1のエッジであり、白丸の画素T11乃至T17が画像P2のエッジである。
【0129】
このとき、エッジ差分比較部102は、画像P1の画素T1乃至T8のそれぞれの画素について、最も近い画像P2の画素との距離を求め、さらにこれらの和をエッジ差分FDとして求める。すなわち、今の場合、画素T1に最も近いのは画素T11であるので、この場合、距離|座標T1−座標T11|(画素T1と画素T11の画素間の距離を示す。以下も同様に称する)が演算され、同様にして、距離|座標T2−座標T12|,距離|座標T3−座標T13|,距離|座標T4−座標T13|,距離|座標T5−座標T14|,距離|座標T6−座標T14|,距離|座標T7−座標T15|,距離|座標T8−座標T116|,距離|座標T8−座標T17|がそれぞれ求められ、これらの和がエッジ差分FDとなる。尚、オーバーラップ部分にずれが生じていない場合、エッジ上の画素間の距離は全て0となるので、図23で示すように、1つの画素について複数の画素間の距離が求められるようなことがあってもよい。
【0130】
調整量比較部103は、エッジ差分比較部102からの比較結果に基づいて、加工接合部61に画像をずらすように指示するとともに、比較結果に対応して、フレームメモリ62に今現在記憶されている全方位画像データを読み出して、MPEGエンコーダ14に出力するように指令する。
【0131】
次に、図24のフローチャートを参照して、図19の全方位画像データ生成部13による全方位画像データ生成処理について説明する。
【0132】
ステップS161において、加工接合部61は、切替部12より入力されてくる8本のストリームをフレーム単位で90度回転させ、さらに、ミラー反転させた後、所定の間隔でそれらを並べてオーバーラップ部分を構成し、一時的な全方位画像データを生成してフレームメモリ62に記憶させると共に、フレーム数を示すカウンタnが初期化(n=1)される。
【0133】
ステップS162において、オーバーラップ部分の数を示すカウンタx(1≦x≦7)、エッジ差分を示すカウンタFD、および、オーバーラップ部分のエッジ部分のずれ幅を示すカウンタDS−xを初期化(FD=(DS−x)=0,x=1)する。
【0134】
ステップS163において、オーバーラップ画素検出部63は、カウンタnを参照して対応する第nフレームの一時的な全方位画像データをフレームメモリ62により読み出し、ステップS164において、画像Pxと画像P(x+1)のオーバーラップ部分を検出して、検出結果をラプラシアンフィルタ処理部101に出力する。
【0135】
ステップS165において、ラプラシアンフィルタ演算部101は、画像Pxと画像P(x+1)のオーバーラップ部分の画素にラプラシアンフィルタによる処理を施し、例えば、図17で示すような画像が入力された場合、図22で示すようなエッジ部分の画素だけを白色にし、それ以外の画素を黒色にする2値の画像に変換し、エッジ差分比較部102に出力する。
【0136】
ステップS166において、エッジ差分比較部102は、入力されたラプラシアンフィルタ処理されたオーバーラップ部分の画像に基づいて、エッジ部分のずれ幅DS−xを求める。
【0137】
ステップS167において、エッジ差分比較部102は、エッジ差分FDに求められたずれ幅DS−xを累積加算して記憶する。
【0138】
ステップS168において、オーバーラップ部分のカウンタxに1を加算した値(=x+1)がビデオカメラの台数(今の場合、8台)と一致するか否かが判定され、一致しないと判定された場合、その処理は、ステップS169に進み、カウンタxが1だけインクリメントされてその処理は、ステップS164に戻る。
【0139】
ステップS168において、オーバーラップ部分のカウンタxに1を加算した値(=x+1)がビデオカメラの台数(今の場合、8台)と一致すると判定された場合、その処理は、ステップS170に進む。
【0140】
ステップS170において、画像P(x+1)と画像P1のオーバーラップ部分の画素を検出して、検出結果をラプラシアンフィルタ処理部101に出力する。ステップS171において、ラプラシアンフィルタ演算部101は、画像P(x+1)と画像P1のオーバーラップ部分の画素にラプラシアンフィルタによる処理を施し、2値の画像に変換してエッジ差分比較部102に出力する。
【0141】
ステップS172において、エッジ差分比較部102は、入力されたラプラシアンフィルタ処理されたオーバーラップ部分の画像に基づいて、エッジ部分のずれ幅DS−(x+1)を求めて記憶する。ステップS173において、エッジ差分比較部102は、エッジ差分FDに対して、求められたずれ幅DS−(x+1)を累積加算して記憶する。
【0142】
ステップS174において、エッジ差分比較部102は、エッジ差分FDが所定の閾値th−Fよりも大きいか否かを比較して、閾値th−Fより大きいと判定した場合、その判定結果を調整量決定部103に出力し、その処理は、ステップS175に進む。
【0143】
ステップS175において、調整量決定部103は、加工接合部61に対して所定の幅だけ画像をずらすような調整量を加工接合部61に供給し、これに応じて加工接合部61は、フレームメモリ62に記憶されている全方位画像データからなる第nフレームの各画像を所定の幅だけずらし、その処理は、ステップS162に戻る。
【0144】
ステップS174において、エッジ差分FDが所定の閾値th−Fより大きくないと判定した場合、すなわち、エッジ差分FDが所定の閾値th−Fよりも小さく、ずれ幅が小さいと判定された場合、ステップS176において、加工接合部61は、第nフレームの全方位画像データをMPEGエンコーダ14に出力する。
【0145】
ステップS177において、加工接合部61は、全てのフレームについて、画像が調整された全方位画像データが生成されたか否かを判定し、全てのフレームについてオーバーラップ部分が調整された全方位画像データが生成されていないと判定した場合、その処理は、ステップS178に進む。
【0146】
ステップS178において、フレームのカウンタnが1インクリメントされて、その処理は、ステップS162に戻り、それ以降の処理が繰り返される。また、ステップS177において、全てのフレームについて画像が調整された全方位画像データが生成されたと判定された場合、その処理は、終了する。
【0147】
以上によれば、オーバーラップ部分の画像をラプラシアンフィルタなどを用いて2値化処理し、エッジのずれ幅からオーバーラップ部分のずれ幅を評価するようにしたので、RGB成分のそれぞれの画素値を用いる場合に比べて、処理するデータ量を小さくできるので、高い精度で全方位画像データを生成することが可能になると共に、処理速度を向上させることができる。
【0148】
また、図8,10,13,15,19の全方位画像データ生成処理部13のいずれにおいても、全てのオーバーラップ部分のずれ幅に基づいて、処理を行ってきたが、例えば、精度をいくつかの段階に指定できるようにして、最高精度の場合は、上述のように全てのオーバーラップ部分についてずれ幅を求めるようにし、精度を低めにして、高速処理させるようにする場合、オーバーラップ部分のうち1つおきのずれ幅を求めるようにして、間引き処理をするようにしてもよい。
【0149】
さらに、閾値の設定を変化させることにより、オーバーラップ部分の貼りあわせの精度(ずれ幅の精度)を加減するようにしてもよく、例えば、閾値を大きくすることで、精度を下げれば、その分だけ処理速度を向上させることもできる。
【0150】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【0151】
図25は、図8,10,13,15,19の全方位画像データ生成処理部13をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU201は、パーソナルコンピュータの全体の動作を制御する。また、CPU201は、バス204および入出力インタフェース205を介してユーザからキーボードやマウスなどからなる入力部206から指令が入力されると、それに対応してROM(Read Only Memory)202に格納されているプログラムを実行する。あるいはまた、CPU201は、ドライブ210に接続された磁気ディスク221、光ディスク222、光磁気ディスク223、または半導体メモリ224から読み出され、記憶部208にインストールされたプログラムを、RAM(Random Access Memory)203にロードして実行する。これにより、上述した全方位画像データ生成部13の機能が、ソフトウェアにより実現されている。さらに、CPU201は、通信部209を制御して、外部と通信し、データの授受を実行する。
【0152】
プログラムが記録されている記録媒体は、図25に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク221(フレキシブルディスクを含む)、光ディスク222(CD−ROM(Compact Disc−Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク223(MD(Mini−Disc)を含む)、もしくは半導体メモリ224などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM202や、記憶部208に含まれるハードディスクなどで構成される。
【0153】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【0154】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0155】
【発明の効果】
本発明によれば、複数の視点で撮像された画像の端部を高い精度で正確に重ね合わせるようにして全方位画像を生成することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した全方位カメラの構成例を示すブロック図である。
【図2】本発明を適用した全方位カメラの斜視図である。
【図3】90度回転やミラー反転を説明する図である。
【図4】全方位画像を説明する図である。
【図5】全方位画像データを説明する図である。
【図6】全方位画像データを再生する再生装置の構成例を示すブロック図である。
【図7】全方位画像データを説明する図である。
【図8】図1の全方位画像データ生成部の構成例を示すブロック図である。
【図9】図8の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図10】図1の全方位画像データ生成部のその他構成を示すブロック図である。
【図11】対数を取った場合の値の変化を示す図である。
【図12】図10の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図13】図1の全方位画像データ生成部のその他構成を示すブロック図である。
【図14】図13の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図15】図1の全方位画像データ生成部のその他構成を示すブロック図である。
【図16】図15の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図17】図15の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図18】図15の全方位画像データ生成部によるフレームずれ検出処理を説明するフローチャートである。
【図19】図1の全方位画像データ生成部のその他構成を示すブロック図である。
【図20】ラプラシアンフィルタを説明する図である。
【図21】ラプラシアンフィルタを説明する図である。
【図22】ラプラシアンフィルタを説明する図である。
【図23】ずれ幅を求める処理を説明する図である。
【図24】図15の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図25】記録媒体を説明する図である。
【符号の説明】
11,11−1乃至11−8 ビデオカメラ, 12 切替部, 13 全方位画像データ生成部, 14 MPEGエンコーダ, 15 記録部, 16 記録媒体, 21−1乃至21−8 反射部, 31 再生部, 32 MPEGデコーダ, 33 フレームメモリ, 34 切出部, 35 操作部, 36 表示部, 61 加工接合部, 62 フレームメモリ, 63 オーバーラップ画素検出部, 64 差分演算部, 65 比較部, 66 調整量決定部, 71 差分対数化部, 72 比較部, 81 差分演算部, 82 差分中央値検出部, 82a メモリ, 83 比較部, 91 中央値検出部, 91aメモリ, 92 差分演算部, 93 比較部, 94 フレームずれ検出部, 95 差分中央値検出部, 95a メモリ, 101 ラプラシアンフィルタ処理部, 102 エッジ差分比較部, 103 調整量決定部
【発明の属する技術分野】
本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、複数の視点で撮像された画像の端部を正確に重ね合わせて全方位画像を生成できるようにした画像処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
所定の位置を中心として、その所定の位置からの全方位を複数の視点で撮像し、隣り合う視点の画像を順次接合して(貼り合わせて)全方位画像を生成する技術が一般に普及しつつある。
【0003】
このように生成された全方位画像は、任意の画角を指定することで、所定の位置で観測される任意の方向の画像を表示させるようにすることができる。
【0004】
また、従来の画像処理装置には、2枚の画像の濃淡の差分を最小となるように調整して合成するものがある。(例えば、特許文献1参照)。
【0005】
【特許文献1】
特開平11−102430号公報(第8ページ、図5)
【0006】
【発明が解決しようとする課題】
ところで、この全方位画像は、それぞれの画像の端部が正確に貼り合わされていない場合、すなわち、貼り合わせ部分にずれが生じる場合、例えば、指定された画角に貼り合わせ部分が存在すると、そのずれの生じている、貼り合わせ部分が表示されることにより、見ているものにとって違和感のある画像が表示されてしまうという課題があった。
【0007】
しかしながら、正確に貼り合わせがなされているか否かを確認する方法としては、1フレーム(1秒間に30フレーム表示されるうちの1枚)に含まれる貼り合せ箇所全てを目視により確認して、さらにずらして貼り合わせ、この処理を全フレームに対して行うというものが一般的であり、さらに、ずれ幅を修正して全方位画像を構成するのは、非常に手間がかかるものであるという課題があった。
【0008】
本発明はこのような状況に鑑みてなされたものであり、複数の視点で撮像された画像の端部を正確に重ね合わせるようにして全方位画像を生成できるようにするものである。
【0009】
【課題を解決するための手段】
本発明の画像処理装置は、広角度画像のうち、第1の画像と、第2の画像の重ね合わせ部分を検出する検出手段と、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較する比較手段と、比較手段の比較結果に対応して第1の画像と、第2の画像の重ね合わせ部分をずらして接合する接合手段とを備えることを特徴とする。
【0010】
前記重ね合わせ部分における、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値を求める差分演算手段をさらに設けるようにさせることができ、比較手段には、差分演算手段により演算された、重ね合わせ部分における、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値を所定の閾値と比較することにより、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較させるようにすることができる。
【0011】
前記重ね合わせ部分における、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値を対数化する対数化手段をさらに設けるようにさせることができ、比較手段には、重ね合わせ部分における、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値を対数化手段により対数化した値と所定の閾値と比較することにより、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較させるようにすることができる。
【0012】
前記重ね合わせ部分の、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値のうちの中央値を求める中央値検出手段をさらに設けるようにさせることができ、比較手段には、中央値検出手段により検出された、重ね合わせ部分の、第1の画像と、第2の画像の、広角度画像上の同位置の画素間の画素値の差分の絶対値のうちの中央値を所定の閾値と比較することにより、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較させるようにすることができる。
【0013】
前記第1の画像と第2の画像からエッジを抽出するエッジ抽出手段をさらに設けるようにさせることができ、比較手段には、エッジ抽出手段により抽出された、重ね合わせ部分の、第1の画像のエッジと、第2の画像のエッジを比較することにより、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較させるようにすることができる。
【0014】
本発明の画像処理方法は、広角度画像のうち、第1の画像と、第2の画像の重ね合わせ部分を検出する検出ステップと、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値を比較する比較ステップと、比較ステップの処理での比較結果に対応して第1の画像と、第2の画像の重ね合わせ部分をずらして接合する接合ステップとを含むことを特徴とする。
【0015】
本発明の記録媒体のプログラムは、広角度画像のうち、第1の画像と、第2の画像の重ね合わせ部分の検出を制御する検出制御ステップと、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値の比較を制御する比較制御ステップと、比較制御ステップの処理での比較結果に対応して第1の画像と、第2の画像の重ね合わせ部分をずらした接合を制御する接合制御ステップとを含むことを特徴とする。
【0016】
本発明のプログラムは、広角度画像のうち、第1の画像と、第2の画像の重ね合わせ部分の検出を制御する検出制御ステップと、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値の比較を制御する比較制御ステップと、比較制御ステップの処理での比較結果に対応して第1の画像と、第2の画像の重ね合わせ部分をずらした接合を制御する接合制御ステップとを実行させることを特徴とする。
【0017】
本発明の画像処理装置および方法、並びにプログラムにおいては、広角度画像のうち、第1の画像と、第2の画像の重ね合わせ部分が検出され、重ね合わせ部分における、第1の画像と、第2の画像のそれぞれの画素間の画素値が比較され、比較結果に対応して第1の画像と、第2の画像の重ね合わせ部分がずらされて接合される。
【0018】
【発明の実施の形態】
図1は、本発明に係る全方位カメラの一実施の形態の構成を示すブロック図である。
【0019】
ビデオカメラ11−1乃至11−8は、例えば、図2で示すように円周上に略45度の略等間隔に配設され、8個の視点から、それぞれに対応する位置に配設されている平面鏡からなる反射部21−1乃至21−8を介しての全方向を撮像し、それぞれの出力を切替部12に出力する。より詳細には、各ビデオカメラ11−1乃至11−8は、その視線方向について台22の図中垂直方向の略中央部一致するように配設され、さらに、各ビデオカメラ11−1乃至11−8の視線方向が水平面上で所定の角度(略45度)の間隔を成すように配置されている。
【0020】
尚、以下において、ビデオカメラ11−1乃至11−8を特に区別する必要がない場合、単にビデオカメラ11と称するものとし、その他の部位についても同様に称する。
【0021】
各ビデオカメラ11−1乃至11−8は、それぞれに対応する反射部21−1乃至21−8で反射された周囲の背景を撮像することにより、水平方向360度の画像を鏡像撮像し、切替部12に出力する。また、各ビデオカメラ11−1乃至11−8は、図示せぬビデオキャプチャボードを介して合計8本のビットマップ形式のファイルからなるストリーム(画像および音声)を切替部12に出力する。
【0022】
切替部12は、ビデオカメラ11−1乃至11−8のそれぞれから入力されてくるストリームを適宜記憶し、各ビデオカメラ11に対応するレンズの歪補正を行った後、時分割して全方位画像データ生成部13に出力する。
【0023】
全方位画像データ生成部13は、切替部12から順次切り替えて入力されてくるストリームデータを用いて、全方位画像データを生成し、MPEG(Moving Picture Experts Group)エンコーダ14に出力する。尚、全方位画像データ生成部13については詳細を後述する。
【0024】
図1,図2で示す全方位カメラの構成では、各ビデオカメラ11に撮像される画像は、90度回転した形式で収録される。ビデオカメラ11の画角(所定の基準となる視点からみた任意の視点方向の角度)の関係と8台のビデオカメラ11の各視点を一致させる都合上、8本のストリームを貼り合わせる前に、図3で示すように、90度回転やミラー反転などの加工処理を施す。また、全方位画像データ生成部13は、キャプチャリングした時点では、1本のストリームにおける1フレームの画像を、720画素×486画素からなるSD(Standard Definition)形式の静止画像として生成する。
【0025】
MPEGエンコーダ14は、入力された全方向画像データをMPEG2方式で圧縮し記録部15に出力する。記録部15は、MPEGエンコーダ14より入力されたMPEG方式で圧縮されている全方向画像データを記録媒体16に記録する。
【0026】
次に、全方位カメラの動作について説明する。
【0027】
各ビデオカメラ11−1乃至11−8が、それぞれの視点の画像をキャプチャリングして、1フレーム分のビットマップ画像にして切替部12に出力する。切替部12は、入力された1フレーム分のビットマップ画像を各ビデオカメラ11毎にレンズ歪補正すると共に全方位画像データ生成部13に出力する。
【0028】
全方位画像データ生成部13は、入力された8本のストリームから全方位画像データを生成してMPEGエンコーダ14に出力する。
【0029】
より詳細には、各ビデオカメラ11−1乃至11−8により撮像される画像は、図4で示すように、所定の軸を中心として、放射状に設定された複数の視点で、その一部分(それぞれの端部)が重なり合うように撮像された画像が、その端部で貼り合わされことにより生成される広角度画像の寄せ集めであり、軸を中心として360度の広角度画像とされることにより全方位画像が構成されている。
【0030】
図4において、画像P1乃至P8は、それぞれビデオカメラ11−1乃至11−8により撮像された基本的に同じタイムコードの画像を示している。尚、画像P1は、水平方向に端部E1−1乃至E1−2の範囲であり、画像P2は、水平方向に端部E2−1乃至E2−2の範囲であり、画像P3は、水平方向に端部E3−1乃至E3−2の範囲であり、画像P4は、水平方向に端部E4−1乃至E4−2の範囲であり、画像P5乃至P8についても同様である。また、同一のタイムコードの画像が存在しない場合、その前後の画像を代用するようにする。
【0031】
このように、画像P1の端部E2−1乃至端部E1−2の範囲の画像は、画像P2の端部E2−1乃至E1−2の範囲の画像と同様の画像となるように、画像P2の端部E3−1乃至E2−2の範囲の画像は、画像P3の端部E3−1乃至E2−2の範囲の画像と同様の画像となるように、重ね合わせ(貼り合わせ)が可能となるように視点が設定されている(画像P4乃至P8のいずれにおいても同様)。このため、切れ目のない全方位画像を構成することができる。尚、この重ね合わせ部分(以下、オーバーラップ部分とも称する)の幅は、後述する調整方法により相互の端部の画像が一致するように調整される。
【0032】
全方位画像データ生成部13は、このように全方位画像を構成することが可能な画像P1乃至P8を、図3で示したように90度回転およびミラー反転させた後、図5で示すように各画像を貼り合わせて1枚のフレームを生成して、全方位画像データを構成しMPEGエンコーダ14に出力する。
【0033】
すなわち、図5で示すように、1フレームには、図中上段に、左から画像P7,P8,P1,P2,P3,P4が配置され、さらに、図中下段に、左からP3,P4,P5,P6,P7,P8が配置されている。本来、全方位画像データを構成するには、画像P1乃至P8までの画像が各1個含まれていればよいが、例えば、上段に画像P1乃至P4を配置し、下段に画像P5乃至P8を配置するように構成すると、画像P4と画像P5の重ね合わせ部分(オーバーラップ部分)が全方位画像データに含まれないことになるため、連続的に画角を変えながら全方位画像を再生させる場合、画像P4,P5の境界を跨ぐような画角が指定されたときに、違和感のある画像となってしまう。そこで、図5で示したような構成とすることにより、各画像が重なり合う部分(オーバーラップ部分)の情報をもれなく含めることが可能になると共に、全方位画像を画角を変えながら再生させる際に、違和感のない画像を再生させることが可能となる。尚、全方位画像データ生成部13の詳細な動作について後述する。
【0034】
MPEGエンコーダ14は、全方位画像データ生成部13により生成された全方位画像データを順次、図5で示したような1フレーム分の画像データとして、MPEG2方式で圧縮し、記録部15に出力する。
【0035】
記録部15は、MPEGエンコーダ14より入力された、MPEG2方式で圧縮された全方位画像データを順次記録媒体16に記録させる。
【0036】
以上のように、図1の全方位カメラを使用することで、複数の視点で撮像された画像に基づいた全方位画像を生成して、記録することが可能となる。
【0037】
次に、図6を参照して、図1の全方位カメラにより記録媒体16に記録された全方位画像を再生する再生装置について説明する。
【0038】
再生部31は、記録媒体16に記録されている、MPEG2方式で圧縮された全方位画像データを読み出して、MPEGデコーダ32に出力する。MPEGデコーダ32は、再生部31より読み出されたMPEG2方式で圧縮された全方位画像データをデコードしてフレームメモリ33に出力して記憶させる。
【0039】
切出部34は、キーボード、ポインタデバイス、または操作ボタンなどから構成される操作部35がユーザにより操作されて指定された画角に応じて、フレームメモリ33に記憶された全方位画像データから表示画像データを切出して、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)からなる表示部36に、ユーザにより指定された画角の画像を表示する。
【0040】
次に、再生装置の動作について説明する。
【0041】
再生部31は、記録媒体16に記録されているMPEG2方式で圧縮された全方位画像データを読み出し、MPEGデコーダ32に出力する。MPEGデコーダ32は、読み出されたMPEG2方式で圧縮された全方位画像データをデコードしてフレームメモリ33に出力して記憶させる。
【0042】
切出部34は、操作部35がユーザにより操作されて、指定された画角の表示画像をフレームメモリ33に記憶された全方位画像データより読み出して表示部36に表示する。すなわち、例えば、図7で示すように、操作部35が操作されて画角A1が指定されると、切出部34は、フレームメモリ33に記憶された全方位画像データのうちF1で示される範囲の画像データを表示画像として切出して表示部36に表示させる。また、操作部35が操作されて画角A2が指定されると、切出部34は、全方位画像データのうちF2で示される範囲の画像データを切出して表示画像として表示部36に表示させる。
【0043】
以上の再生装置によれば、全方位画像が記録された記録媒体より、ユーザの任意の画角(視点の角度)の画像を表示することが可能となる。
【0044】
尚、以上においては、全方位カメラに、ビデオカメラ11を8台設けた場合について説明してきたが、それ以上のビデオカメラを設けるようにしてもよい。また、フレーム単位の画像の圧縮方法としては、MPEG2に限るものではなく、その他の圧縮方法でもよく、例えば、Motion JPEG(Joint Photographic Experts Group)などでもよい。
【0045】
次に、図8を参照して、全方位画像データ生成部13の詳細な構成について説明する。全方位データ生成部13は、上述のようにビデオカメラ11−1乃至11−8により撮像される8本のストリームから全方位画像データを生成するが、この際、オーバーラップ部分が完全に一致した状態に近い状態で貼り合わせられるようにずれを調整して全方位画像データを生成している。
【0046】
貼り合わせにおいてずれが生じる原因は、主に、パララックス、フレームずれ、または、追い込み不足といったことが考えられている。ここでいうパララックスによるずれとは、全方位映像は複数のビデオカメラ11を用いて撮像した画像を貼り合わせるので、ビデオカメラ11間の視差により生じるずれを示している。
【0047】
また、フレームずれとは、オーバーラップ部分に隣り合う画像のフレーム間のタイムコードが違う画像になっていることにより生ずるずれである。各ビデオカメラ11により撮像された画像は、上述のようにそれぞれに時系列的に並んでおり、基本的には、同じタイムコードの画像が貼り合わされることで全方位映像が作成されているが、複数のビデオカメラ11が使用されていることから、撮像した画像の中にフレームが欠けていたり、デジタイズした後のハードウェア上でデータが欠けていたりすることがあり、この場合、タイムコードの異なる画像が貼り合わされることがあるので、このようなとき隣接する画像のオーバーラップ部分がずれてしまうことがある。
【0048】
さらに、追い込み不足によるずれとは、注意深く貼り合せを行えば正確に合わせることが可能であるが、ストリームデータを限られた時間内に、合わせるにはハードウェアの精度上の問題で、正確な位置でオーバーラップ部分を貼り合わせることができないことにより生じてしまうずれを示す。
【0049】
以上の原因のうち、パララックスによるずれは、各ビデオカメラ11のそれぞれを調整することでしか解消することができず困難である。そこで、本発明の全方位カメラ編集システム(もしくは編集ソフト)は、上述のフレームずれと追い込み不足によるずれを、オーバーラップ部分の画素間の画素値を比較し、その比較結果により画像を調整して、全方位画像データを生成する。
【0050】
そこで、図8を参照して、オーバーラップ部分の画素間の比較結果により画像を調整する全方位画像データ生成部13の構成について説明する。
【0051】
加工接合部61は、切替部12より順次入力されてくるビデオカメラ11−1乃至11−8より撮像された画像データを90度回転、または、ミラー反転させるなどした後、所定の調整量で各画像を接合して(貼り合せて)、一時的な全方位画像データ(オーバーラップ部分が調整されていない仮の全方位画像データ)を生成して、フレームメモリ62に記憶させる。また、加工接合部61は、この一時的な全方位画像データに基づいて、調整量決定部66により演算された、画像の位置を調整する調整量に基づいてフレームメモリ62に記憶されている一時的に生成された全方位画像データの接合位置を、例えば、水平方向または垂直方向に1画素単位でずらしながら調整する処理を繰り返す。加工接合部61は、所定のずれ幅以内であると判定された場合、そのときにフレームメモリ62に記憶されている全方位画像(画像が調整された全方位画像)データを最終的な全方位画像データとして、MPEGエンコーダ14に出力する。
【0052】
オーバーラップ画素検出部63は、フレームメモリ62に記憶されている一時的に生成された、オーバーラップ部分が調整されていない全方位画像データのうちのオーバーラップ部分の画素を検出し、差分演算部64に出力する。すなわち、例えば、図5で示すように全方位画像データが生成されていた場合、オーバーラップ部分E1−1乃至E8−2、E2−1乃至E1−2、E3−1乃至E2−2、E4−1乃至E3−2、E5−1乃至E4−2、E6−1乃至E5−2、E7−1乃至E6−2、またはE8−1乃至E7−2の画素を検出する。
【0053】
差分演算部64は、図示せぬカウンタを用いてオーバーラップ画素検出部63より入力された全てのオーバーラップ部分の所定の画素間の画素値の差分の絶対値を演算し、演算結果を比較部65に出力する。すなわち、差分演算部64は、オーバーラップ部分の画素位置に存在する2つの画像の画素の画素値として、RGB信号それぞれの画素値の差分の絶対値を求めて比較部65に出力する。例えば、図5のオーバーラップ部分E2−1乃至E1−2の場合、画像P1の端部E2−1乃至E1−2の画素の画素値と、対応する画像P2の端部E2−1乃至E1−2の画素のRGBのそれぞれについての差分の絶対値を求め、これを全てのオーバーラップ部分においても同様の処理を繰り返して、さらに、求められた全ての差分の絶対値を加算して比較部65に出力する。尚、以下においては、オーバーラップ部分の同一画素位置の1画素の画素値を比較する例について説明するが、それ以上の画素数であってもよく、言うまでもなくオーバーラップ部分の同一画素位置の全画素の差分の絶対値を求めてもよい。
【0054】
比較部65は、差分演算部64より入力された全てのオーバーラップ部分の差分の絶対値の累積加算値を所定の閾値thと比較して、比較結果を調整量決定部66に出力する。すなわち、オーバーラップ部分の画素の画素値は、オーバーラップ部分に存在する2の画像が、その端部で完全に一致していればその差分は0となるので、全てのオーバーラップ部分の差分の絶対値の累積加算値についても、一致した状態に近いほど小さい値となる。
【0055】
調整量決定部66は、比較部65から入力される比較結果に基づいて、加工接合部61に対して画像の調整量を決定し加工接合部61に出力する。すなわち、比較結果が所定の閾値th以下ではない場合、調整量決定部66は、オーバーラップ位置を順次変化させて接合するように(ずらして接合するように)調整量を設定して加工接合部61に出力し、閾値以下である場合、その時点でフレームメモリ62に記憶されている全方位画像データを、最終的な全方位画像データとしてMPEGエンコーダ14に出力するように指令する。
【0056】
次に、図9のフローチャートを参照して、全方位画像データ生成処理について説明する。
【0057】
ステップS1において、加工接合部61は、切替部12より入力されてくる8本のストリームをフレーム単位で90度回転させ、さらに、ミラー反転させた後、所定の間隔でそれらを並べてオーバーラップ部分を構成し、一時的な全方位画像データを生成してフレームメモリ62に記憶させると共に、フレーム数を示すカウンタnが初期化(n=1)される。すなわち、このタイミングでは、オーバーラップ部分の画像が相互に一致しているか否かは吟味されていない。
【0058】
ステップS2において、オーバーラップ部分の数を示すカウンタx(1≦x≦7)、差分の絶対値の累積加算値を示すカウンタD、および、各オーバーラップ部分の画素のRGB成分それぞれの差分の絶対値を示すカウンタDR−x,DG−x,DB−xが初期化(D=(DR−x)=(DG−x)=(DB−x)=0,x=1)される。
【0059】
ステップS3において、オーバーラップ画素検出部63は、カウンタnを参照して対応する第nフレームの一時的な全方位画像データをフレームメモリ62により読み出し、ステップS4において、画像Pxと画像P(x+1)のオーバーラップ部分の画素を検出して、検出結果を差分演算部64に出力する。すなわち、例えば、図4の場合、カウンタxが1のとき、画像P1とP2のオーバーラップ部分E2−1乃至E1−2に対応する画素が検出される。
【0060】
ステップS5において、差分演算部64は、画像Pxと画像P(x+1)のオーバーラップ部分の画素の差分の絶対値であるDR−x,DG−x,DB−xを求める。すなわち、例えば、カウンタxが1の場合、画像P1とP2のオーバーラップ部分E2−1乃至E1−2に対応する画素のうちの所定の画素位置の画素に対応する画像P1上の画素と画像P2上の画素とのRGB成分それぞれの画素値の差分の絶対値を演算して、RGB成分それぞれの差分の絶対値DR−1,DG−1,DB−1として求める。
【0061】
ステップS6において、差分演算部64は、求められたRGB各成分の差分の絶対値DR−x,DG−x,DB−xを差分の絶対値の累積加算値Dに加算する(差分の絶対値の累積加算値D=D+(DR−x)+(DG−x)+(DB−x)を演算する)。
【0062】
ステップS7において、オーバーラップ部分のカウンタxに1を加算した値(=x+1)がビデオカメラの台数(今の場合、8台)と一致するか否かが判定され、一致しないと判定された場合、その処理は、ステップS8に進み、カウンタxが1だけインクリメントされてその処理は、ステップS4に戻る。
【0063】
すなわち、カウンタxの値に応じて、図5で示すオーバーラップ部分E2−1乃至E1−2、E3−1乃至E2−1、E4−1乃至E3−2、E5−1乃至E4−2、E6−1乃至E5−2、E7−1乃至E6−2、およびE8−1乃至E7−2の所定の画素位置の画素に対応する画素間の差分の絶対値の累積加算値が得られることになる。
【0064】
ステップS7において、オーバーラップ部分のカウンタxに1を加算した値(=x+1)がビデオカメラの台数(今の場合、8台)と一致すると判定された場合、すなわち、オーバーラップ部分E2−1乃至E1−2、E3−1乃至E2−1、E4−1乃至E3−2、E5−1乃至E4−2、E6−1乃至E5−2、E7−1乃至E6−2、およびE8−1乃至E7−2の所定の画素位置の画素に対応する画素間の差分の絶対値の累積加算値が求められている状態の場合、その処理は、ステップS9に進む。
【0065】
ステップS9において、画像P(x+1)と画像P1のオーバーラップ部分の画素を検出して、検出結果を差分演算部64に出力する。すなわち、ステップS9においては、カウンタxが7なので、図5における画像P8とP1のオーバーラップ部分E1−1乃至E8−2に対応する画素が検出される。
【0066】
ステップS10において、差分演算部64は、画像P(x+1)(=P8)と画像P1のオーバーラップ部分の画素の差分の絶対値であるDR−(x+1),DG−(x+1),DB−(x+1)を求める。すなわち、今の場合、カウンタxは7なので、画像P8とP1のオーバーラップ部分E1−1乃至E8−2に対応する画素のうちの所定の画素位置の画素に対応する画像P8上の画素と画像P1上の画素とのRGB成分それぞれの画素値の差分の絶対値を演算して、RGB成分それぞれの差分の絶対値DR−8,DG−8,DB−8として求める。
【0067】
ステップS11において、差分演算部64は、求められたRGB各成分の差分の絶対値DR−(x+1),DG−(x+1),DB−(x+1)を差分の絶対値の累積加算値Dに加算し(差分の絶対値の累積加算値D=D+(DR−(x+1))+(DG−(x+1))+(DB−(x+1))を演算し)、演算結果を比較部65に出力する。すなわち、ステップS11の処理により、全方位画像データの1フレーム分の全てのオーバーラップ部分の画像の所定の画素位置の画素間の画素値の差分の絶対値の累積加算値Dが求められることになるので、その演算結果が比較部65に出力される。
【0068】
ステップS12において、比較部65は、差分演算部64より入力された累積加算値Dと所定の閾値thとを比較して、閾値thより大きいか否かを判定し、閾値thより大きいと判定した場合、その判定結果を調整量決定部66にその処理は、ステップS13に進む。
【0069】
ステップS13において、調整量決定部66は、加工接合部61に対して所定の幅だけ画像をずらすような調整量を加工接合部61に供給し、これに応じて加工接合部61は、フレームメモリ62に記憶されている全方位画像データからなる第nフレームの全てのオーバーラップ部分を所定の幅だけ(例えば、水平方向、または、垂直方向に画素単位で)ずらし、その処理は、ステップS2に戻る。
【0070】
ステップS12において、累積加算値Dが所定の閾値thより大きくないと判定した場合、すなわち、累積加算値Dが所定の閾値thよりも小さく、ずれ幅が小さいと判定された場合、ステップS14において、加工接合部61は、今現在フレームメモリ62に記憶されている第nフレームの全方位画像データをMPEGエンコーダ14に出力する。
【0071】
ステップS15において、加工接合部61は、全てのフレームについて、画像が調整された全方位画像データが生成されたか否かを判定し、全てのフレームについて画像が調整された全方位画像データが生成されていないと判定した場合、その処理は、ステップS16に進む。
【0072】
ステップS16において、フレームのカウンタnが1インクリメントされて、その処理は、ステップS2に戻り、それ以降の処理が繰り返される。また、ステップS15において、全てのフレームについて画像が調整された全方位画像データが生成されたと判定された場合、その処理は、終了する。
【0073】
すなわち、ステップS12において、累積加算値Dが閾値thよりも小さくなるまで、すなわち、第nフレームの画像の位置を少しずつずらしながらオーバーラップ部分の貼り合わせが正確になされるまで、ステップS2乃至S13の処理が繰り返される。そして、オーバーラップ部分のずれが小さくなったとき、すなわち、累積加算値Dが閾値thよりも小さくなったとき、そのフレームの全方位画像データが出力され、次の全方位画像データのフレームに処理が移る。そして、最終的に全てのフレームで同様の処理がなされたとき、その処理が終了する。
【0074】
以上によれば、全方位画像データのオーバーラップ部分の画素間の画素値の差分の絶対値が最小となるように画像を調整するようにしたので、表示が指示された画角の表示画像にオーバーラップ部分が含まれていても、違和感のない全方位画像を表示することが可能となる。
【0075】
尚、図8の全方位画像データ生成部13は、差分の絶対値に基づいて、調整量を設定していたが、例えば、差分の絶対値の対数を取るようにすることで、より精度の高い画像の調整を行った全方位画像データを生成することができる。
【0076】
図10は、差分の絶対値を対数化して所定の閾値と比較するようにした全方位画像データ生成部13を示している。尚、図10中、図8における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図10の全方位画像データ生成部13において、図8の全方位画像データ生成部13と異なる点は、差分対数化部71および比較部72が設けられている点である。
【0077】
差分対数化部71は、差分演算部64で求められた差分の絶対値の累積加算値Dを対数化して、対数LDを求め、比較部72に出力する。
【0078】
比較部72は、基本的には、図8の比較部65と同様のものであるが、差分の絶対値の累積加算値Dに代えて、対数LDを閾値th−Lと比較する。
【0079】
すなわち、差分の絶対値の累積加算値Dを対数化して対数LDを使用することにより、図11で示すように、オーバーラップ部分のずれに対する評価値(=対数LD)が、累積加算値Dに比べて、ずれ幅が小さいほど大きく変化し、ずれ幅が大きいほど小さく変化する。基本的に、オーバーラップ部分のずれ幅は小さいものであるので、微小なずれが生じていても、対数LDは、(対数を取らなかった場合に比べて)大きな値として求められることになるため、小さなずれを敏感に評価することができ、高い精度で画像を調整することができる。
【0080】
次に、図12のフローチャートを参照して、図10の全方位画像データ生成部13による全方位画像データ生成処理について説明する。この処理は、対数を使用する以外の点のついては、基本的に、図9のフローチャートを参照して説明した処理と同様である。尚、図12のステップS31乃至S41、および、ステップS44乃至S47の処理は、図9のフローチャートを参照して説明したステップS1乃至S15の処理と同様であるので、その説明は省略する。
【0081】
ステップS42において、差分対数化部71は、差分演算部64により演算された全方位画像データの1フレーム分の全てのオーバーラップ部分の画像の所定の画素位置の画素間の画素値の差分の絶対値の累積加算値Dを対数化して、対数LDを求め、比較部72に出力する。
【0082】
ステップS43において、比較部72は、対数LDが所定の閾値th−Lよりも大きいか否かを判定し、大きいと判定した場合、すなわち、オーバーラップ部分のずれが大きいと判定した場合、その処理は、ステップS44に進み、大きくない、すなわち、オーバーラップ部分のずれ幅が小さいと判定した場合、その処理は、ステップS45に進む。
【0083】
以上によれば、累積加算値Dの対数LDが、閾値thと比較され、その比較結果を用いて画像が調整されるようにしたので、より精度の高い画像の調整が可能となる。
【0084】
以上の例において、図8、または、図10の全方位画像データ生成部13は、各フレーム単位で、オーバーラップ部分を調整しているため、例えば、図4で示すような全方位画像を考える場合、タイミングによっては、画像P1を撮像したビデオカメラ11−1にはノイズが発生し、画像P1のオーバーラップ部分E1−2乃至E2−1には、ノイズが現れ、画像P2乃至P8を撮像したビデオカメラ11−2乃至11−8では、ノイズが存在しない状態の画像が撮像されるようなとき、1台のビデオカメラ11−1のノイズによる影響から1フレーム分の全てのオーバーラップ部分の正確な調整ができない可能性がある。
【0085】
そこで、例えば、図4で示すような全方位画像データの場合、オーバーラップ部分毎に求められた差分の絶対値の中央値を求め、その値を所定の閾値th−Mと比較することでオーバーラップ部分のずれ幅を評価するようにしてもよい。
【0086】
図13は、全方位画像データの全てのオーバーラップ部分の所定の画素位置の画素間の画素値の差分の絶対値の中央値を求めて、所定の閾値th−Mと比較するようにした全方位画像データ生成部13の構成を示している。尚、図13中、図8における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図13の全方位画像データ生成部13において、図8の全方位画像データ生成部13と異なる点は、差分演算部81、差分中央値検出部82、および比較部83が設けられている点である。
【0087】
差分演算部81は、図8の差分演算部65と同様に、各オーバーラップ部分の所定の画素位置の画素間のRGB成分の画素値の差分を演算するが、その後、累積加算することなく差分中央値検出部82に出力する。
【0088】
差分中央値検出部82は、差分演算部81より供給されるオーバーラップ部分の所定の画素位置の画素間の差分の絶対値を、メモリ82aに随時記憶し、全てのオーバーラップ部分の所定の画素位置の画素間のRGB成分の差分の絶対値を記憶すると、それらのそれぞれの値を、昇べきの順、または、降べきの順に並び替えて、差分中央値MDR,MDG,MDBを検出し、さらにこれらを加算してMDを生成して比較部83に出力する。
【0089】
すなわち、オーバーラップ部分E1−1乃至E8−2、E2−1乃至E1−2、E3−1乃至E2−2、E4−1乃至E3−2、E5−1乃至E4−2、E6−1乃至E5−2、およびE7−1乃至E6−2のそれぞれについてのR成分の画素値の差分の絶対値がそれぞれ、11、12、15、24、13、14、12であった場合、昇べきに並べると、オーバーラップ部分E1−1乃至E8−2、E2−1乃至E1−2、E7−1乃至E6−2、E5−1乃至E4−2、E6−1乃至E5−2、E3−1乃至E2−2、E4−1乃至E3−2の順序で配置される。さらに、中央値として、オーバーラップ部分E5−1乃至E4−2の差分の絶対値13が検出されることになる。例えば、今の場合、オーバーラップ部分E4−1乃至E3−2の差分の絶対値は、24であり他の値と比べても大きくノイズによる値である可能性もあるが、中央値が選択されるので、このようにノイズを含んでいる可能性のある値が選択されない。
【0090】
比較部83は、差分中央値検出部82より入力された差分中央値DMを所定の閾値th−Mと比較し、比較結果を調整量決定部66に出力する。
【0091】
次に、図14のフローチャートを参照して、図13の全方位画像データ生成部13による全方位画像データ生成処理について説明する。尚、図14のフローチャートにおけるステップS61,S63,S64,S66乃至S69,S73乃至S76の処理については、図9のフローチャートを参照して説明したステップS1,S3,S4,S7乃至S9,S13乃至S15の処理と同様であるので、その説明は省略する。
【0092】
ステップS62において、オーバーラップ部分の数を示すカウンタx(1≦x≦7)、差分の絶対値の中央値を示すカウンタMD、および、各オーバーラップ部分の画素のRGB成分それぞれの差分の絶対値を示すカウンタDR−x,DG−x,DB−xを初期化(D=(DR−x)=(DG−x)=(DB−x)=0,x=1)する。
【0093】
ステップS65において、差分演算部81は、画像Pxと画像P(x+1)のオーバーラップ部分の画素の差分の絶対値であるDR−x,DG−x,DB−xを求め、差分中央値検出部82に出力し、メモリ82aに記憶させる。
【0094】
ステップS70において、差分中央値検出部82は、メモリ82aに記憶されているR成分の画素値の差分の絶対値DR−1乃至DR−8を昇べきの順、または、降べきの順に並べて、中央値MDRを検出し、同様にして、G,B成分の画素値の差分の絶対値の中央値MDG,MDBを検出し、ステップS71において、これらの中央値MDR,MDG,MDBを加算して、中央値MDを生成して比較部83に出力する。
【0095】
ステップS72において、比較部83は、中央値MDが所定の閾値th−Mより大きいか否かを比較し、大きいと判定した場合、その処理は、ステップS73に進み、大きくないと判定した場合、その処理は、ステップS74に進む。
【0096】
以上のように、全方位画像データのうちの各オーバーラップ部分の中央値を閾値th−Mと比較することにより、画像を調整するようにしたので、例えば、図4で示すようにビデオカメラ11−1乃至11−8のいずれかにノイズなどが含まれたような場合にでも、正確にオーバーラップ部分のずれの有無を判定することができ、任意の画角で指定されても違和感のない全方位画像データを生成することが可能となる。
【0097】
以上の例においては、フレームずれと追い込み不足によるずれは一緒になって現れ、どちらが原因でずれが生じているのかが明瞭に区別されていない。そこで、全フレームにわたって中央値を求めるようにして、どちらが原因でずれが生じているのかを明瞭に区別できるようにしてもよい。
【0098】
図15は、全方位画像データのオーバーラップ部分毎に、所定の画素位置の画素値取得し、全フレームに渡る中央値を求め、オーバーラップ部分間の差分の和と所定の閾値th−MAとを比較し、その比較結果から画像のずれを補正するようにした全方位画像データ生成部13の構成を示している。尚、図15中、図8における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図15の全方位画像データ生成部13において、図8の全方位画像データ生成部13と異なる点は、中央値検出部91、差分演算部92、比較部93、およびフレームずれ検出部94が設けられている点である。
【0099】
中央値検出部91は、各オーバーラップ部分の所定の画素位置のRGB成分の画素値を、全フレームに渡ってメモリ91aに記憶し、さらに、それぞれの値を、対応する画素位置毎にフレーム単位で昇べきの順、または、降べきの順に並び替えて、中央値MYRxt,MYGxt,MYBxt,MYRxb,MYGxb,MYBxbを検出する。
【0100】
尚、以下の説明において、図4で示す各画像Pxと画像P(x+1)のオーバーラップ部分は、画像PxのRGB成分の中央値がMYRxb,MYGxb,MYBxbで表され、画像P(x+1)のRGB成分の中央値がMYR(x+1)t,MYG(x+1)t,MYB(x+1)tで表されている。ただし、画像P(x+1)と画像P1のオーバーラップ部分は、画像P1のRGB成分がMYR1t,MYG1t,MYB1tで表されており、画像P8のRGB成分がMYR(x+1)b,MYG(x+1)b,MYB(x+1)bで表される。
【0101】
差分演算部92は、中央値検出部91から入力される画素位置毎に隣接する画像のオーバーラップ部分の中央値の差分を求め、これらを積算して積算値MDAを生成して比較部93に出力する。また、差分演算部92は、図13の差分演算部81と同様に、各オーバーラップ部分の所定の画素位置の画素間のRGB成分の画素値の差分を演算するが、その後、累積加算することなく差分中央値検出部95に出力する。
【0102】
例えば、オーバーラップ部分E1−1乃至E8−2の所定の画素位置のR成分の画素値が、1フレーム目から7フレーム目まででそれぞれ、11、12、15、24、13、14、12であった場合、昇べきに並べ、中央値を求めると、13(6フレーム目)が検出される。この値は、注目する画素において、ノイズである可能性が一番低い。元になる画像に付加されたノイズは、分布の上で不釣合いな値を有しているので、最大値や最小値に分布するのが普通である。また、この値は、撮影された像の中で背景である可能性が一番高い。オーバーラップ部分で動きのある物体が横切ったとすると、その物体が注目画素において占めている時間はフレーム全体からすると微小であり、中央値から大きく外れる。したがって、中央値を求めることで、オーバーラップ部分のノイズを除去し背景のみが抽出されるため、この値をもとに貼り合わせを行うと、静止している背景を元に貼り合せが行われたことになり、追い込み不足によるずれを抑制することができる。求めたパラメータで全フレームを貼り合わせて、なおずれのある場合、純粋にフレームずれである可能性が高い。よって、追い込み不足によるずれと、フレームずれとを区別することが可能となる。
【0103】
比較部93は、差分演算部92より入力された中央値の差分の和MDAを所定の閾値th−MAと比較し、比較結果を調整量決定部66に出力し、画像位置を調整する。
【0104】
差分中央値検出部95およびメモリ95aは、図13の差分中央値検出部82およびメモリ82aと同一のものであり、差分演算部92より供給されるオーバーラップ部分の所定の画素位置の画素間の差分の絶対値を、メモリ95aに随時記憶し、全てのオーバーラップ部分の所定の画素位置の画素間のRGB成分の差分の絶対値を記憶すると、それらのそれぞれの値をフレーム単位で、昇べきの順、または、降べきの順に並び替えて、差分中央値MDR,MDG,MDBを検出し、さらにこれらを加算してMDを生成して比較部93に出力する。このとき、比較部93は、図13の比較部83と同様に機能し、差分中央値検出部82より入力された差分中央値DMを所定の閾値th−Mと比較し、比較結果をフレームずれ検出部94に出力する。
【0105】
フレームずれ検出部94は、比較部93から入力された比較結果からフレームがずれている場合、図示せぬ表示部(例えば操作画面などを表示するLCDなど)にずれたフレームの番号を示す情報を表示する。
【0106】
次に、図16,図17のフローチャートを参照して、図15の全方位画像データ生成部13による全方位画像データ生成処理について説明する。尚、ステップS91,S93,S94,S96,S97,S100,S101,S104,S105,S109,S110,S115の処理は、図14のフローチャートのステップS61,S63,S64,S66,S67,S75,S76,S66,S67,S66,S67,S73の処理と同様であるのでその説明は省略する。
【0107】
ステップS92において、カウンタx、および、オーバーラップ部分の画素を格納するカウンタYR−xt−n,YG−xt−n,YB−xt−n,YR−xb−n,YG−xb−n,YB−xb−n,MYRxt,MYGxt,MYBxt,MYRxb,MYGxb,MYBxb,MDA,MDRx,MDGx,MDBxを初期化する。尚、YR−xt−n,YG−xt−n,YB−xt−nは、フレームnの画像PxのP(x−1)とのオーバーラップ部分のRGB成分を示し、YR−xb−n,YG−xb−n,YB−xb−nは、フレームnの画像PxのP(x+1)とのオーバーラップ部分のRGB成分を示し、MYRxt,MYGxt,MYBxtは、フレームnの画像PxのP(x−1)とのオーバーラップ部分のRGB成分の中央値を示し、MYRxb,MYGxb,MYBxbは、フレームnの画像PxのP(x+1)とのオーバーラップ部分のRGB成分の中央値を示し、MDRx,MDGx,MDBxは、画像PxのP(x+1)とのオーバーラップ部分の中央値のRGB成分ごとの差分の絶対値を示し、MDAは、差分MDRx,MDGx,MDBxの差分積算値を示す。
【0108】
ステップS95において、中央値検出部91は、検出されたオーバーラップ部分のフレームnの画像PxのP(x+1)とのオーバーラップ部分の画像PxのRGB成分YR−xb−n,YG−xb−n,YB−xb−nと、画像P(x+1)のRGB成分YR−(x+1)t−n,YG−(x+1)t−n,YB−(x+1)t−nを読み出してメモリ91aに記憶する。
【0109】
ステップS94乃至S97の処理が繰り返されることにより、例えば、図4の場合、画像P1とP2のオーバーラップ部分、画像P2とP3のオーバーラップ部分、画像P3とP4のオーバーラップ部分、画像P4とP5のオーバーラップ部分、画像P5とP6のオーバーラップ部分、画像P6とP7のオーバーラップ部分、画像P7とP8のオーバーラップ部分の画素値が記憶される。
【0110】
さらに、ステップS99において、中央値検出部91は、図4の場合、検出されたオーバーラップ部分のフレームnの画像P(x+1)のP1とのオーバーラップ部分の画像P(x+1)のRGB成分YR−(x+1)b−n,YG−(x+1)b−n,YB−(x+1)b−nと、画像P1のRGB成分YR−1t−n,YG−1t−n,YB−1t−nを読み出してメモリ91aに記憶する。
【0111】
ステップS93乃至S101の処理が繰り返されることにより、全てのフレームのオーバーラップ部分の画像の画素値がメモリ91aに記憶される。
【0112】
ステップS102において、カウンタxが初期化される。ステップS103において、中央値検出部91は、画像Pxの画像P(x−1)、および、画像P(x+1)とのオーバーラップ部分のRGB成分の全フレーム中の中央値MYRxt,MYGxt,MYBxt,MYRxb,MYGxb,MYBxbを求め、差分演算部92に出力する。そして、ステップS103乃至S105の処理が繰り返されることにより、全ての画像Pxの中央値MYRxt,MYGxt,MYBxt,MYRxb,MYGxb,MYBxbが求められる。
【0113】
ステップS106において、カウンタxが初期化される。
【0114】
ステップS107において、差分演算部92は、中央値MYRxbと中央値MYR(x+1)tの差分の絶対値MDRx、中央値MYGxbと中央値MYG(x+1)tの差分の絶対値MDGx、および、中央値MYBxbと中央値MYB(x+1)tの差分の絶対値MDBxを求める。すなわち、画像Pxと画像P(x+1)のオーバーラップ部分のRGB成分の中央値の差分の絶対値が求められる。
【0115】
ステップS108において、差分演算部92は、差分積算値MDAに差分の絶対値MDRx,MDGx,MDBxを積算する。
【0116】
ステップS109乃至S110の処理により、図4の場合、画像P1乃至P8までのオーバーラップ部分のRGB成分の中央値の積算値が求められる。
【0117】
ステップS111において、差分演算部92は、中央値MYR(x+1)bと中央値MYR1tの差分の絶対値MDR(x+1)、中央値MYG(x+1)bと中央値MYG1tの差分の絶対値MDG(x+1)、および、中央値MYB(x+1)bと中央値MYB1tの差分の絶対値MDB(x+1)を求める。すなわち、画像P(x+1)と画像P1のオーバーラップ部分のRGB成分の中央値の差分が求められる。
【0118】
ステップS112において、差分演算部92は、差分積算値MDAに差分の絶対値MDR(x+1),MDG(x+1),MDB(x+1)を積算する。
【0119】
すなわち、ステップS107乃至S112の処理により、全ての画像のオーバーラップ部分のRGB成分の中央値の差分積算値MDAが求められる。
【0120】
ステップS113において、比較部93は、差分積算値MDAと所定の閾値th−MAとを比較して、閾値th−MAより大きいか否かを判定し、閾値th−MAより大きいと判定した場合、その処理は、ステップS115に戻り、閾値th−MAより大きくない、すなわち、閾値th−MAより小さいと判定した場合、ステップS114において、フレームずれ検出処理が実行され、その処理は終了する。すなわち、差分積算値MDAが所定の閾値th−MAより小さくなるまでステップS92乃至S113の処理が繰り返される。
【0121】
ここで、図18のフローチャートを参照して、フレームずれ検出処理について説明する。
【0122】
尚、図18のフローチャートにおけるステップS131乃至S142,S143,S145,S146の処理は、図9のフローチャートを参照して説明したステップS1乃至S12,S14乃至S16の処理と同様であるので、その説明は省略する。
【0123】
ステップS142において、累積加算値Dが閾値thより大きいと判定した場合、ステップS144において、フレームずれ検出部94は、フレームnにフレームずれが生じているとみなし、フレームnがずれていることを、例えば、図示せぬ表示部などに表示するなどして出力する。そして、フレームずれ検出処理が終了すると、その処理は、図17の処理に戻り、全方位画像データ生成処理が終了する。
【0124】
以上のように、全方位画像データのうちの各オーバーラップ部分の中央値を閾値th−MAと比較することにより、画像位置を調整して貼り合わせを行い、閾値を越えたフレームの番号を出力するようにしたことで、純粋にフレームずれのみを知ることが出来、フレームずれと追い込み不足によるずれを区別することができる。
【0125】
ところで、図8,10,13,15の全方位画像データ生成部13においては、オーバーラップ部分の所定の画素位置の画素間の画素値の差分の絶対値を用いて処理していたため、その処理データ量が膨大である。そこで、オーバーラップ部分の画素間の距離だけを用いてオーバーラップ部分のずれ幅を評価することで、処理データ量を小さくして処理できるようにしてもよい。
【0126】
図19は、オーバーラップ部分の画素間の距離を用いてオーバーラップ部分のずれ幅に基づいて画像を調整して、全方位画像データを生成するようにした全方位画像データ生成部13を示している。尚、図19中、図8における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図19の全方位画像データ生成部13において、図8の全方位画像データ生成部13と異なる点は、ラプラシアンフィルタ処理部101、エッジ差分比較部102、および、調整量決定部103が設けられている点である。
【0127】
ラプラシアンフィルタ処理部101は、内蔵するラプラシアンフィルタにより処理を行い、オーバーラップ部分の画像をエッジ部分とそれ以外の部分の2値画像に変換してエッジ差分比較部102に出力する。このラプラシアンフィルタは、例えば、図20で示すような、3×3の上段、左部から1,1,1,1,−8,1,1,1,1からなるマトリクス状のフィルタである。例えば、図21で示すような画像は、図20のラプラシアンフィルタにより処理されると、図22で示すような、図21のエッジ部分だけが白色の画素とされ、それ以外の画素が黒とされた2値の画像に変換される。
【0128】
エッジ差分比較部102は、ラプラシアンフィルタ処理部により処理されたオーバーラップ部分のエッジ部分のずれ幅を、エッジ部分の画素間の最短距離の差分の和をエッジ差分FDとして求めて、さらに、所定の閾値th−Fと比較して、比較結果を調整量決定部103に出力する。より詳細には、例えば、図4の画像P1とP2のオーバーラップ部分がラプラシアンフィルタ処理部102により処理された画像のそれぞれのエッジ上の画素が、図23で示すように分布しているものとする。尚、図23では、黒丸の画素T1乃至T8が、画像P1のエッジであり、白丸の画素T11乃至T17が画像P2のエッジである。
【0129】
このとき、エッジ差分比較部102は、画像P1の画素T1乃至T8のそれぞれの画素について、最も近い画像P2の画素との距離を求め、さらにこれらの和をエッジ差分FDとして求める。すなわち、今の場合、画素T1に最も近いのは画素T11であるので、この場合、距離|座標T1−座標T11|(画素T1と画素T11の画素間の距離を示す。以下も同様に称する)が演算され、同様にして、距離|座標T2−座標T12|,距離|座標T3−座標T13|,距離|座標T4−座標T13|,距離|座標T5−座標T14|,距離|座標T6−座標T14|,距離|座標T7−座標T15|,距離|座標T8−座標T116|,距離|座標T8−座標T17|がそれぞれ求められ、これらの和がエッジ差分FDとなる。尚、オーバーラップ部分にずれが生じていない場合、エッジ上の画素間の距離は全て0となるので、図23で示すように、1つの画素について複数の画素間の距離が求められるようなことがあってもよい。
【0130】
調整量比較部103は、エッジ差分比較部102からの比較結果に基づいて、加工接合部61に画像をずらすように指示するとともに、比較結果に対応して、フレームメモリ62に今現在記憶されている全方位画像データを読み出して、MPEGエンコーダ14に出力するように指令する。
【0131】
次に、図24のフローチャートを参照して、図19の全方位画像データ生成部13による全方位画像データ生成処理について説明する。
【0132】
ステップS161において、加工接合部61は、切替部12より入力されてくる8本のストリームをフレーム単位で90度回転させ、さらに、ミラー反転させた後、所定の間隔でそれらを並べてオーバーラップ部分を構成し、一時的な全方位画像データを生成してフレームメモリ62に記憶させると共に、フレーム数を示すカウンタnが初期化(n=1)される。
【0133】
ステップS162において、オーバーラップ部分の数を示すカウンタx(1≦x≦7)、エッジ差分を示すカウンタFD、および、オーバーラップ部分のエッジ部分のずれ幅を示すカウンタDS−xを初期化(FD=(DS−x)=0,x=1)する。
【0134】
ステップS163において、オーバーラップ画素検出部63は、カウンタnを参照して対応する第nフレームの一時的な全方位画像データをフレームメモリ62により読み出し、ステップS164において、画像Pxと画像P(x+1)のオーバーラップ部分を検出して、検出結果をラプラシアンフィルタ処理部101に出力する。
【0135】
ステップS165において、ラプラシアンフィルタ演算部101は、画像Pxと画像P(x+1)のオーバーラップ部分の画素にラプラシアンフィルタによる処理を施し、例えば、図17で示すような画像が入力された場合、図22で示すようなエッジ部分の画素だけを白色にし、それ以外の画素を黒色にする2値の画像に変換し、エッジ差分比較部102に出力する。
【0136】
ステップS166において、エッジ差分比較部102は、入力されたラプラシアンフィルタ処理されたオーバーラップ部分の画像に基づいて、エッジ部分のずれ幅DS−xを求める。
【0137】
ステップS167において、エッジ差分比較部102は、エッジ差分FDに求められたずれ幅DS−xを累積加算して記憶する。
【0138】
ステップS168において、オーバーラップ部分のカウンタxに1を加算した値(=x+1)がビデオカメラの台数(今の場合、8台)と一致するか否かが判定され、一致しないと判定された場合、その処理は、ステップS169に進み、カウンタxが1だけインクリメントされてその処理は、ステップS164に戻る。
【0139】
ステップS168において、オーバーラップ部分のカウンタxに1を加算した値(=x+1)がビデオカメラの台数(今の場合、8台)と一致すると判定された場合、その処理は、ステップS170に進む。
【0140】
ステップS170において、画像P(x+1)と画像P1のオーバーラップ部分の画素を検出して、検出結果をラプラシアンフィルタ処理部101に出力する。ステップS171において、ラプラシアンフィルタ演算部101は、画像P(x+1)と画像P1のオーバーラップ部分の画素にラプラシアンフィルタによる処理を施し、2値の画像に変換してエッジ差分比較部102に出力する。
【0141】
ステップS172において、エッジ差分比較部102は、入力されたラプラシアンフィルタ処理されたオーバーラップ部分の画像に基づいて、エッジ部分のずれ幅DS−(x+1)を求めて記憶する。ステップS173において、エッジ差分比較部102は、エッジ差分FDに対して、求められたずれ幅DS−(x+1)を累積加算して記憶する。
【0142】
ステップS174において、エッジ差分比較部102は、エッジ差分FDが所定の閾値th−Fよりも大きいか否かを比較して、閾値th−Fより大きいと判定した場合、その判定結果を調整量決定部103に出力し、その処理は、ステップS175に進む。
【0143】
ステップS175において、調整量決定部103は、加工接合部61に対して所定の幅だけ画像をずらすような調整量を加工接合部61に供給し、これに応じて加工接合部61は、フレームメモリ62に記憶されている全方位画像データからなる第nフレームの各画像を所定の幅だけずらし、その処理は、ステップS162に戻る。
【0144】
ステップS174において、エッジ差分FDが所定の閾値th−Fより大きくないと判定した場合、すなわち、エッジ差分FDが所定の閾値th−Fよりも小さく、ずれ幅が小さいと判定された場合、ステップS176において、加工接合部61は、第nフレームの全方位画像データをMPEGエンコーダ14に出力する。
【0145】
ステップS177において、加工接合部61は、全てのフレームについて、画像が調整された全方位画像データが生成されたか否かを判定し、全てのフレームについてオーバーラップ部分が調整された全方位画像データが生成されていないと判定した場合、その処理は、ステップS178に進む。
【0146】
ステップS178において、フレームのカウンタnが1インクリメントされて、その処理は、ステップS162に戻り、それ以降の処理が繰り返される。また、ステップS177において、全てのフレームについて画像が調整された全方位画像データが生成されたと判定された場合、その処理は、終了する。
【0147】
以上によれば、オーバーラップ部分の画像をラプラシアンフィルタなどを用いて2値化処理し、エッジのずれ幅からオーバーラップ部分のずれ幅を評価するようにしたので、RGB成分のそれぞれの画素値を用いる場合に比べて、処理するデータ量を小さくできるので、高い精度で全方位画像データを生成することが可能になると共に、処理速度を向上させることができる。
【0148】
また、図8,10,13,15,19の全方位画像データ生成処理部13のいずれにおいても、全てのオーバーラップ部分のずれ幅に基づいて、処理を行ってきたが、例えば、精度をいくつかの段階に指定できるようにして、最高精度の場合は、上述のように全てのオーバーラップ部分についてずれ幅を求めるようにし、精度を低めにして、高速処理させるようにする場合、オーバーラップ部分のうち1つおきのずれ幅を求めるようにして、間引き処理をするようにしてもよい。
【0149】
さらに、閾値の設定を変化させることにより、オーバーラップ部分の貼りあわせの精度(ずれ幅の精度)を加減するようにしてもよく、例えば、閾値を大きくすることで、精度を下げれば、その分だけ処理速度を向上させることもできる。
【0150】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【0151】
図25は、図8,10,13,15,19の全方位画像データ生成処理部13をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU201は、パーソナルコンピュータの全体の動作を制御する。また、CPU201は、バス204および入出力インタフェース205を介してユーザからキーボードやマウスなどからなる入力部206から指令が入力されると、それに対応してROM(Read Only Memory)202に格納されているプログラムを実行する。あるいはまた、CPU201は、ドライブ210に接続された磁気ディスク221、光ディスク222、光磁気ディスク223、または半導体メモリ224から読み出され、記憶部208にインストールされたプログラムを、RAM(Random Access Memory)203にロードして実行する。これにより、上述した全方位画像データ生成部13の機能が、ソフトウェアにより実現されている。さらに、CPU201は、通信部209を制御して、外部と通信し、データの授受を実行する。
【0152】
プログラムが記録されている記録媒体は、図25に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク221(フレキシブルディスクを含む)、光ディスク222(CD−ROM(Compact Disc−Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク223(MD(Mini−Disc)を含む)、もしくは半導体メモリ224などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM202や、記憶部208に含まれるハードディスクなどで構成される。
【0153】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【0154】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0155】
【発明の効果】
本発明によれば、複数の視点で撮像された画像の端部を高い精度で正確に重ね合わせるようにして全方位画像を生成することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した全方位カメラの構成例を示すブロック図である。
【図2】本発明を適用した全方位カメラの斜視図である。
【図3】90度回転やミラー反転を説明する図である。
【図4】全方位画像を説明する図である。
【図5】全方位画像データを説明する図である。
【図6】全方位画像データを再生する再生装置の構成例を示すブロック図である。
【図7】全方位画像データを説明する図である。
【図8】図1の全方位画像データ生成部の構成例を示すブロック図である。
【図9】図8の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図10】図1の全方位画像データ生成部のその他構成を示すブロック図である。
【図11】対数を取った場合の値の変化を示す図である。
【図12】図10の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図13】図1の全方位画像データ生成部のその他構成を示すブロック図である。
【図14】図13の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図15】図1の全方位画像データ生成部のその他構成を示すブロック図である。
【図16】図15の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図17】図15の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図18】図15の全方位画像データ生成部によるフレームずれ検出処理を説明するフローチャートである。
【図19】図1の全方位画像データ生成部のその他構成を示すブロック図である。
【図20】ラプラシアンフィルタを説明する図である。
【図21】ラプラシアンフィルタを説明する図である。
【図22】ラプラシアンフィルタを説明する図である。
【図23】ずれ幅を求める処理を説明する図である。
【図24】図15の全方位画像データ生成部による全方位画像データ生成処理を説明するフローチャートである。
【図25】記録媒体を説明する図である。
【符号の説明】
11,11−1乃至11−8 ビデオカメラ, 12 切替部, 13 全方位画像データ生成部, 14 MPEGエンコーダ, 15 記録部, 16 記録媒体, 21−1乃至21−8 反射部, 31 再生部, 32 MPEGデコーダ, 33 フレームメモリ, 34 切出部, 35 操作部, 36 表示部, 61 加工接合部, 62 フレームメモリ, 63 オーバーラップ画素検出部, 64 差分演算部, 65 比較部, 66 調整量決定部, 71 差分対数化部, 72 比較部, 81 差分演算部, 82 差分中央値検出部, 82a メモリ, 83 比較部, 91 中央値検出部, 91aメモリ, 92 差分演算部, 93 比較部, 94 フレームずれ検出部, 95 差分中央値検出部, 95a メモリ, 101 ラプラシアンフィルタ処理部, 102 エッジ差分比較部, 103 調整量決定部
Claims (8)
- 第1の視点から撮像された第1の画像と、前記第1の視点とは異なる第2の視点から撮像され、前記第1の画像の1部分を含む第2の画像とを、前記1部分を重ね合わすことにより広角度画像を生成する画像処理装置において、
前記広角度画像のうち、前記第1の画像と、前記第2の画像の重ね合わせ部分を検出する検出手段と、
前記重ね合わせ部分における、前記第1の画像と、前記第2の画像のそれぞれの画素間の画素値を比較する比較手段と、
前記比較手段の比較結果に対応して前記第1の画像と、前記第2の画像の重ね合わせ部分をずらして接合する接合手段と
を備えることを特徴とする画像処理装置。 - 前記重ね合わせ部分における、前記第1の画像と、前記第2の画像の、前記広角度画像上の同位置の画素間の画素値の差分の絶対値を求める差分演算手段をさらに備え、
前記比較手段は、前記差分演算手段により演算された、前記重ね合わせ部分における、前記第1の画像と、前記第2の画像の、前記広角度画像上の同位置の画素間の画素値の差分の絶対値を所定の閾値と比較することにより、前記重ね合わせ部分における、前記第1の画像と、前記第2の画像のそれぞれの画素間の画素値を比較する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記重ね合わせ部分における、前記第1の画像と、前記第2の画像の、前記広角度画像上の同位置の画素間の画素値の差分の絶対値を対数化する対数化手段をさらに備え、
前記比較手段は、前記重ね合わせ部分における、前記第1の画像と、前記第2の画像の、前記広角度画像上の同位置の画素間の画素値の差分の絶対値を前記対数化手段により対数化した値と所定の閾値と比較することにより、前記重ね合わせ部分における、前記第1の画像と、前記第2の画像のそれぞれの画素間の画素値を比較する
ことを特徴とする請求項2に記載の画像処理装置。 - 前記重ね合わせ部分の、前記第1の画像と、前記第2の画像の、前記広角度画像上の同位置の画素間の画素値の差分の絶対値のうちの中央値を求める中央値検出手段をさらに備え、
前記比較手段は、前記中央値検出手段により検出された、前記重ね合わせ部分の、前記第1の画像と、前記第2の画像の、前記広角度画像上の同位置の画素間の画素値の差分の絶対値のうちの中央値を所定の閾値と比較することにより、前記重ね合わせ部分における、前記第1の画像と、前記第2の画像のそれぞれの画素間の画素値を比較する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記第1の画像と前記第2の画像からエッジを抽出するエッジ抽出手段をさらに備え、
前記比較手段は、前記エッジ抽出手段により抽出された、前記重ね合わせ部分の、前記第1の画像のエッジと、前記第2の画像のエッジを比較することにより、前記重ね合わせ部分における、前記第1の画像と、前記第2の画像のそれぞれの画素間の画素値を比較する
ことを特徴とする請求項1に記載の画像処理装置。 - 第1の視点から撮像された第1の画像と、前記第1の視点とは異なる第2の視点から撮像され、前記第1の画像の1部分を含む第2の画像とを、前記1部分を重ね合わすことにより広角度画像を生成する画像処理装置の画像処理方法において、
前記広角度画像のうち、前記第1の画像と、前記第2の画像の重ね合わせ部分を検出する検出ステップと、
前記重ね合わせ部分における、前記第1の画像と、前記第2の画像のそれぞれの画素間の画素値を比較する比較ステップと、
前記比較ステップの処理での比較結果に対応して前記第1の画像と、前記第2の画像の重ね合わせ部分をずらして接合する接合ステップと
を含むことを特徴とする画像処理方法。 - 第1の視点から撮像された第1の画像と、前記第1の視点とは異なる第2の視点から撮像され、前記第1の画像の1部分を含む第2の画像とを、前記1部分を重ね合わすことにより広角度画像を生成する画像処理装置を制御するプログラムであって、
前記広角度画像のうち、前記第1の画像と、前記第2の画像の重ね合わせ部分の検出を制御する検出制御ステップと、
前記重ね合わせ部分における、前記第1の画像と、前記第2の画像のそれぞれの画素間の画素値の比較を制御する比較制御ステップと、
前記比較制御ステップの処理での比較結果に対応して前記第1の画像と、前記第2の画像の重ね合わせ部分をずらした接合を制御する接合制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - 第1の視点から撮像された第1の画像と、前記第1の視点とは異なる第2の視点から撮像され、前記第1の画像の1部分を含む第2の画像とを、前記1部分を重ね合わすことにより広角度画像を生成する画像処理装置を制御するコンピュータに、
前記広角度画像のうち、前記第1の画像と、前記第2の画像の重ね合わせ部分の検出を制御する検出制御ステップと、
前記重ね合わせ部分における、前記第1の画像と、前記第2の画像のそれぞれの画素間の画素値の比較を制御する比較制御ステップと、
前記比較制御ステップの処理での比較結果に対応して前記第1の画像と、前記第2の画像の重ね合わせ部分をずらした接合を制御する接合制御ステップと
を実行させることを特徴とするプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002284974A JP2004118786A (ja) | 2002-09-30 | 2002-09-30 | 画像処理装置および方法、記録媒体、並びにプログラム |
EP03799108A EP1548644A1 (en) | 2002-09-30 | 2003-09-18 | Image processing device, image processing method, recording medium, and program |
PCT/JP2003/011869 WO2004032055A1 (ja) | 2002-09-30 | 2003-09-18 | 画像処理装置および方法、記録媒体、並びにプログラム |
US10/529,480 US7539356B2 (en) | 2002-09-30 | 2003-09-18 | Image processing device, image processing method, recording medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002284974A JP2004118786A (ja) | 2002-09-30 | 2002-09-30 | 画像処理装置および方法、記録媒体、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004118786A true JP2004118786A (ja) | 2004-04-15 |
Family
ID=32063549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002284974A Withdrawn JP2004118786A (ja) | 2002-09-30 | 2002-09-30 | 画像処理装置および方法、記録媒体、並びにプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7539356B2 (ja) |
EP (1) | EP1548644A1 (ja) |
JP (1) | JP2004118786A (ja) |
WO (1) | WO2004032055A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018152782A (ja) * | 2017-03-14 | 2018-09-27 | 株式会社リコー | 画像処理システム、撮像装置、画像処理方法及びプログラム |
EP3633974A1 (en) | 2018-10-03 | 2020-04-08 | Canon Kabushiki Kaisha | Image processing apparatus, imaging apparatus, method for controlling image processing apparatus and recording medium |
EP3739867A1 (en) | 2019-05-14 | 2020-11-18 | Canon Kabushiki Kaisha | Imaging device, control apparatus, imaging method, and storage medium |
CN112073630A (zh) * | 2019-06-11 | 2020-12-11 | 佳能株式会社 | 摄像装置、摄像装置的控制方法及记录介质 |
US11516390B2 (en) | 2019-07-17 | 2022-11-29 | Canon Kabushiki Kaisha | Imaging apparatus and non-transitory storage medium |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2880453A1 (fr) * | 2005-01-06 | 2006-07-07 | Thomson Licensing Sa | Procede et dispositif de traitement de mosaique d'images |
US7609290B2 (en) * | 2005-01-28 | 2009-10-27 | Technology Advancement Group, Inc. | Surveillance system and method |
JP5327524B2 (ja) * | 2009-02-27 | 2013-10-30 | ソニー株式会社 | 画像処理装置、画像処理方法、およびプログラム |
US8381125B2 (en) * | 2009-12-16 | 2013-02-19 | Apple Inc. | Device and method for resizing user interface content while maintaining an aspect ratio via snapping a perimeter to a gridline |
JP5798375B2 (ja) * | 2011-05-19 | 2015-10-21 | 株式会社トプコン | 全周カメラ |
JP5863374B2 (ja) * | 2011-10-11 | 2016-02-16 | 本田技研工業株式会社 | 画像処理方法 |
US9232155B1 (en) * | 2012-05-25 | 2016-01-05 | Altia Systems Inc. | Automated alignment adjustment for multiple imager based video systems |
JP6058963B2 (ja) * | 2012-10-02 | 2017-01-11 | 株式会社トプコン | 全周カメラ |
CN103152524B (zh) * | 2013-03-05 | 2016-04-06 | 东莞宇龙通信科技有限公司 | 拍照装置及其连拍方法 |
KR102089432B1 (ko) * | 2013-06-20 | 2020-04-14 | 엘지전자 주식회사 | 이동 단말기 및 이의 제어방법 |
JP5843033B1 (ja) * | 2014-05-15 | 2016-01-13 | 株式会社リコー | 撮像システム、撮像装置、プログラムおよびシステム |
JP6467787B2 (ja) * | 2014-05-27 | 2019-02-13 | 株式会社リコー | 画像処理システム、撮像装置、画像処理方法およびプログラム |
US10771791B2 (en) * | 2016-08-08 | 2020-09-08 | Mediatek Inc. | View-independent decoding for omnidirectional video |
JP2020504320A (ja) * | 2016-11-18 | 2020-02-06 | ヴェンタナ メディカル システムズ, インク. | 基板配置精度を検出する方法およびシステム |
CN106707482A (zh) * | 2017-02-28 | 2017-05-24 | 浙江大学 | 一种宽视场多尺度高分辨率显微成像系统和方法 |
JP2019080226A (ja) * | 2017-10-26 | 2019-05-23 | キヤノン株式会社 | 撮像装置、撮像装置の制御方法、及びプログラム |
CN108805813A (zh) * | 2018-06-06 | 2018-11-13 | 沈文策 | 一种图片拼接方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6349885A (ja) * | 1986-08-19 | 1988-03-02 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
US5465163A (en) * | 1991-03-18 | 1995-11-07 | Canon Kabushiki Kaisha | Image processing method and apparatus for processing oversized original images and for synthesizing multiple images |
JP2961962B2 (ja) * | 1991-07-05 | 1999-10-12 | 松下電器産業株式会社 | エッジ検出装置 |
US6205259B1 (en) * | 1992-04-09 | 2001-03-20 | Olympus Optical Co., Ltd. | Image processing apparatus |
JP3241243B2 (ja) * | 1995-09-26 | 2001-12-25 | キヤノン株式会社 | パノラマ画像合成システム及びパノラマ画像合成方法 |
US6075905A (en) * | 1996-07-17 | 2000-06-13 | Sarnoff Corporation | Method and apparatus for mosaic image construction |
JPH1198342A (ja) * | 1997-09-19 | 1999-04-09 | Toshiba Tec Corp | パノラマ画像表示方法及びその装置 |
JPH11205648A (ja) * | 1998-01-09 | 1999-07-30 | Olympus Optical Co Ltd | 画像合成装置 |
JP3384764B2 (ja) * | 1999-02-05 | 2003-03-10 | 三洋電機株式会社 | 画像の対応領域抽出方法、画像合成方法、画像合成装置、画像合成プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2002112992A (ja) * | 2000-06-30 | 2002-04-16 | Canon Inc | 信号処理装置及び方法、及び撮像装置 |
US6813391B1 (en) * | 2000-07-07 | 2004-11-02 | Microsoft Corp. | System and method for exposure compensation |
-
2002
- 2002-09-30 JP JP2002284974A patent/JP2004118786A/ja not_active Withdrawn
-
2003
- 2003-09-18 US US10/529,480 patent/US7539356B2/en not_active Expired - Fee Related
- 2003-09-18 EP EP03799108A patent/EP1548644A1/en not_active Withdrawn
- 2003-09-18 WO PCT/JP2003/011869 patent/WO2004032055A1/ja not_active Application Discontinuation
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018152782A (ja) * | 2017-03-14 | 2018-09-27 | 株式会社リコー | 画像処理システム、撮像装置、画像処理方法及びプログラム |
EP3633974A1 (en) | 2018-10-03 | 2020-04-08 | Canon Kabushiki Kaisha | Image processing apparatus, imaging apparatus, method for controlling image processing apparatus and recording medium |
JP2020057967A (ja) * | 2018-10-03 | 2020-04-09 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理装置の制御方法およびプログラム |
US11301955B2 (en) | 2018-10-03 | 2022-04-12 | Canon Kabushiki Kaisha | Image processing apparatus, imaging apparatus, method for controlling image processing apparatus and recording medium |
EP3739867A1 (en) | 2019-05-14 | 2020-11-18 | Canon Kabushiki Kaisha | Imaging device, control apparatus, imaging method, and storage medium |
US11240446B2 (en) | 2019-05-14 | 2022-02-01 | Canon Kabushiki Kaisha | Imaging device, control apparatus, imaging method, and storage medium |
CN112073630A (zh) * | 2019-06-11 | 2020-12-11 | 佳能株式会社 | 摄像装置、摄像装置的控制方法及记录介质 |
EP3751838A1 (en) | 2019-06-11 | 2020-12-16 | Canon Kabushiki Kaisha | Imaging device, method for controlling imaging device, and recording medium |
US11184547B2 (en) | 2019-06-11 | 2021-11-23 | Canon Kabushiki Kaisha | Imaging device, method for controlling imaging device, and recording medium |
CN112073630B (zh) * | 2019-06-11 | 2023-06-06 | 佳能株式会社 | 摄像装置、摄像装置的控制方法及记录介质 |
US11516390B2 (en) | 2019-07-17 | 2022-11-29 | Canon Kabushiki Kaisha | Imaging apparatus and non-transitory storage medium |
Also Published As
Publication number | Publication date |
---|---|
WO2004032055A1 (ja) | 2004-04-15 |
US20060008176A1 (en) | 2006-01-12 |
EP1548644A1 (en) | 2005-06-29 |
US7539356B2 (en) | 2009-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004118786A (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
KR102650850B1 (ko) | 영상 음향 처리 장치 및 방법, 및 프로그램이 저장된 컴퓨터 판독 가능한 기록 매체 | |
US9210408B2 (en) | Stereoscopic panoramic image synthesis device, image capturing device, stereoscopic panoramic image synthesis method, recording medium, and computer program | |
CN103973974B (zh) | 摄像装置 | |
JP5418127B2 (ja) | 画像処理装置および方法、並びにプログラム | |
US9204128B2 (en) | Stereoscopic shooting device | |
US9846960B2 (en) | Automated camera array calibration | |
US9544498B2 (en) | Method for forming images | |
EP2619761B1 (en) | Enriching digital photographs | |
US8970672B2 (en) | Three-dimensional image processing | |
JP5733565B2 (ja) | 画像処理装置および方法、並びにプログラム | |
US8373745B2 (en) | Image processing apparatus, image display apparatus, image apparatus, and image processing method | |
JP5267396B2 (ja) | 画像処理装置および方法、並びにプログラム | |
WO2011043249A1 (ja) | 画像処理装置および方法、並びにプログラム | |
JP5133816B2 (ja) | カメラ、画像合成方法、およびプログラム | |
US20130235223A1 (en) | Composite video sequence with inserted facial region | |
WO2011043248A1 (ja) | 画像処理装置および方法、並びにプログラム | |
US20140002612A1 (en) | Stereoscopic shooting device | |
JP2011166264A (ja) | 画像処理装置、撮像装置、および画像処理方法、並びにプログラム | |
JP5133472B2 (ja) | 立体映像出力装置及び立体映像出力方法 | |
CN104301596A (zh) | 一种视频处理方法及装置 | |
TWI399972B (zh) | 影像產生裝置及程式 | |
KR102082300B1 (ko) | 삼차원 영상 생성 또는 재생을 위한 장치 및 방법 | |
JP2009044329A (ja) | プログラム、画像処理方法および画像処理装置 | |
JP2016201709A (ja) | 撮像記録装置 |
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: 20060110 |