(57)【要約】  複数の撮像画像を生成する撮像装置と、前記撮像装置と接続される１以上の情報処理装置とを有する画像処理システムにおいて、前記情報処理装置が、前記撮像装置から、前記撮像画像のうち、少なくとも第１撮像画像及び第２撮像画像をそれぞれ入力し、前記第１撮像画像を変換するのに用いられる第１変換データ及び前記第２撮像画像を変換するのに用いられる第２変換データをそれぞれ取得し、前記第１変換データ及び前記第２変換データに基づいて変換されて生成されるそれぞれの変換画像をつなぎ合わせて出力画像を生成する。
2017163527.tif 000002
【特許請求の範囲】
【請求項１】
複数の撮像画像を生成する撮像装置と、前記撮像装置と接続される１以上の情報処理装置とを有する画像処理システムであって、
前記情報処理装置は、
前記撮像装置から、前記撮像画像のうち、少なくとも第１撮像画像及び第２撮像画像をそれぞれ入力する入力部と、
前記第１撮像画像を変換するのに用いられる第１変換データ及び前記第２撮像画像を変換するのに用いられる第２変換データをそれぞれ取得する取得部と、
前記第１変換データ及び前記第２変換データに基づいて変換されて生成されるそれぞれの変換画像をつなぎ合わせて出力画像を生成する生成部と
を有する画像処理システム。
【請求項２】
前記取得部は、前記撮像装置ごとに、前記第１変換データ及び前記第２変換データを取得する請求項１に記載の画像処理システム。
【請求項３】
前記第１変換データ及び前記第２変換データは、前記撮像装置を特定できる識別データを有し、
前記撮像装置に対応する識別データを有する前記第１変換データ及び前記第２変換データを用いて、前記第１撮像画像及び前記第２撮像画像を変換する請求項１に記載の画像処理システム。
【請求項４】
前記変換画像をつなぎ合わせるつなぎ位置を調整する請求項１に記載の画像処理システム。
【請求項５】
前記変換画像を移動させる移動量を入力して、前記変換画像をつなぎ合わせるつなぎ位置を調整する請求項１に記載の画像処理システム。
【請求項６】
前記変換画像を移動させる移動量に基づいて、前記変換画像を重ねる量を調整する請求項５に記載の画像処理システム。
【請求項７】
前記撮像装置は、魚眼レンズ又は広角レンズを有する請求項１に記載の画像処理システム。
【請求項８】
前記第１変換データ及び前記第２変換データは、前記第１撮像画像及び前記第２撮像画像を前記出力画像の一部に配置し、かつ、前記第１撮像画像及び前記第２撮像画像を歪補正するデータである請求項１に記載の画像処理システム。
【請求項９】
複数の撮像画像を生成する撮像装置と、前記撮像装置と接続される１以上の情報処理装置とを有する画像処理システムが行う画像処理方法であって、
前記情報処理装置が、前記撮像装置から、前記撮像画像のうち、第１撮像画像及び第２撮像画像をそれぞれ入力する入力手順と、
前記情報処理装置が、前記第１撮像画像を変換するのに用いられる第１変換データ及び前記第２撮像画像を変換するのに用いられる第２変換データをそれぞれ取得する取得手順と、
前記情報処理装置が、前記第１変換データ及び前記第２変換データに基づいて変換されて生成されるそれぞれの変換画像をつなぎ合わせて出力画像を生成する生成手順と
を有する画像処理方法。
【請求項１０】
複数の撮像画像を生成する撮像装置と、前記撮像装置と接続される１以上の情報処理装置とを有するコンピュータに画像処理方法を実行させるためのプログラムであって、
前記コンピュータが、前記撮像装置から、前記撮像画像のうち、第１撮像画像及び第２撮像画像をそれぞれ入力する入力手順と、
前記コンピュータが、前記第１撮像画像を変換するのに用いられる第１変換データ及び前記第２撮像画像を変換するのに用いられる第２変換データをそれぞれ取得する取得手順と、
前記コンピュータが、前記第１変換データ及び前記第２変換データに基づいて変換されて生成されるそれぞれの変換画像をつなぎ合わせて出力画像を生成する生成手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、複数の画像をつないで、１つの画像を生成する方法が知られている。【０００３】
例えば、画像処理装置が、まず、複数の画像間のつなぎ位置を検出して、検出結果に基づいて、変換データを修正する。次に、画像処理装置が、修正された変換データを回転座標変換して、画像合成用変換データを生成する。このようにして、歪みの大きなレンズ光学系であっても、撮像された複数の画像を高精度につなぎ合わせる方法が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法では、より精度良く複数の画像をつなぎ合わせるのが難しい場合がある。【０００５】
本発明の１つの側面は、より精度良く複数の画像をつなぎ合わせることを目的とする。
【課題を解決するための手段】
【０００６】
一態様において、複数の撮像画像を生成する撮像装置と、前記撮像装置と接続される１以上の情報処理装置とを有する画像処理システムでは、
前記情報処理装置は、
前記撮像装置から、前記撮像画像のうち、少なくとも第１撮像画像及び第２撮像画像をそれぞれ入力する入力部と、
前記第１撮像画像を変換するのに用いられる第１変換データ及び前記第２撮像画像を変換するのに用いられる第２変換データをそれぞれ取得する取得部と、
前記第１変換データ及び前記第２変換データに基づいて変換されて生成されるそれぞれの変換画像をつなぎ合わせて出力画像を生成する生成部と
を有することを特徴とする。
【発明の効果】
【０００７】
より精度良く複数の画像をつなぎ合わせることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る撮像装置の一例を説明する外観図（その１）である。
【図２】本発明の一実施形態に係る撮像装置の一例を説明する外観図（その２）である。
【図３】本発明の一実施形態に係る撮像装置のハードウェア構成の一例を説明するブロック図である。
【図４】本発明の一実施形態に係る魚眼レンズの一例を説明する図（その１）である。
【図５】本発明の一実施形態に係る魚眼レンズの一例を説明する図（その２）である。
【図６】本発明の一実施形態に係る重複域の一例を説明する図（その１）である。
【図７】本発明の一実施形態に係る重複域の一例を説明する図（その２）である。
【図８】本発明の一実施形態に係る重複域の一例を説明する図（その３）である。
【図９】本発明の一実施形態に係る重複域の一例を説明する図（その４）である。
【図１０】本発明の一実施形態に係る画像処理システムにおける情報処理装置のソフトウェア構成の一例を説明するブロック図である。
【図１１】本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【図１２】本発明の一実施形態に係る画像処理システムにおける情報処理装置による全体処理の一例を示すフローチャートである。
【図１３】本発明の一実施形態に係る出力画像及び撮像画像の一例を説明する図（その１）である。
【図１４】本発明の一実施形態に係る出力画像及び撮像画像の一例を説明する図（その２）である。
【図１５】本発明の一実施形態に係る変換データに基づく変換の一例を説明する図である。
【図１６】本発明の一実施形態に係る回転変換の一例を説明する図である。
【図１７】本発明の一実施形態に係る情報処理装置によるつなぎ合わせの一例を説明するフローチャートである。
【図１８】本発明の一実施形態に係る情報処理装置によるつなぎ位置の検出の一例を説明するフローチャートである。
【図１９】本発明の一実施形態に係るつなぎ位置の検出におけるパターンマッチングの一例を説明する図（その１）である。
【図２０】本発明の一実施形態に係るつなぎ位置の検出におけるパターンマッチングの一例を説明する図（その２）である。
【図２１】本発明の一実施形態に係る出力画像の生成の一例を説明する図である。
【図２２】本発明の一実施形態に係る画像処理システムの機能構成の一例を説明する機能ブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明の一実施形態について説明する。まず、画像処理システムが有する撮像装置について説明する。
【００１０】
＜全天球カメラの例＞
図１及び図２は、本発明の一実施形態に係る撮像装置の一例を説明する外観図である。例えば、撮像装置は、図示するような全天球カメラ１である。以下、撮像装置が図示する全天球カメラ１である場合を例に説明する。なお、全天球カメラ１は、撮像位置から３６０°等の広い範囲を撮像する装置である。
【００１１】
具体的には、図１は、撮像装置の一例を説明する外観図である。図示するように、全天球カメラ１は、レンズ１Ｈ１と、レンズ１Ｈ２と、第１撮像素子１Ｈ３と、第２撮像素子１Ｈ４と、スイッチ（ｓｗｉｔｃｈ）１Ｈ５とを有する。なお、全天球カメラ１は、撮像素子及びレンズ等の光学系を３つ以上有する構成でもよい。以下、全天球カメラ１が２つの撮像素子及び２つのレンズを有する構成である例で説明する。
【００１２】
レンズ１Ｈ１及びレンズ１Ｈ２は、例えば、１８０°以上の画角となる、いわゆる魚眼レンズ又は広角レンズ等である。
【００１３】
第１撮像素子１Ｈ３及び第２撮像素子１Ｈ４は、レンズ１Ｈ１及びレンズ１Ｈ２によって入射する光を電気信号に変換し、撮像画像を撮像する。すなわち、第１撮像素子１Ｈ３及び第２撮像素子１Ｈ４は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）イメージセンサ又はＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）イメージセンサ等である。以下、第１撮像素子１Ｈ３が撮像した画像に基づく全天球カメラ１が出力する撮像画像を「第１撮像画像」という。一方で、第２撮像素子１Ｈ４が撮像した画像に基づく全天球カメラ１が出力する撮像画像を「第２撮像画像」という。なお、各撮像画像は、撮像後、画像処理等によって補正された画像でもよい。
【００１４】
スイッチ１Ｈ５は、全天球カメラ１に各種処理を開始させるトリガ（ｔｒｉｇｇｅｒ）となる操作をユーザが行うための装置である。スイッチ１Ｈ５の使用方法等は、後述する。
【００１５】
また、図２は、本発明の一実施形態に係る重複域の一例を説明する図である。なお、重複域２は、例えば、図示するように、第１撮像素子１Ｈ３及び第２撮像素子１Ｈ４が重複して撮像する場所である。つまり、重複域２にある被写体は、第１撮像画像及び第２撮像画像のいずれの撮像画像にも写る被写体である。
【００１６】
全天球カメラ１は、スイッチ１Ｈ５が押されると、第１撮像素子１Ｈ３及び第２撮像素子１Ｈ４に露光を行わせ、それぞれ撮像する。
【００１７】
なお、以下の全体構成例では、例えば、全天球カメラ１がネットワークＩ／Ｆ等を有し、全天球カメラ１がＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置と接続される。すなわち、画像処理システムは、全天球カメラ１と、情報処理装置とを有する。そして、画像処理システムでは、例えば、全天球カメラ１によって生成される複数の撮像画像が、情報処理装置に送信され、情報処理装置が全天球カメラ１から送信されるそれぞれの撮像画像に対して画像処理をそれぞれ行う構成である。なお、全天球カメラ１は、例えば、以下のようなハードウェア構成の装置である。
【００１８】
＜全天球カメラのハードウェア構成例＞
図３は、本発明の一実施形態に係る撮像装置のハードウェア構成の一例を説明するブロック図である。例えば、全天球カメラ１は、図１及び図２に示すハードウェアに加えて、図示するように、コントローラ（ｃｏｎｔｒｏｌｌｅｒ）１Ｈ１０と、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１Ｈ６と、ストレージ（ｓｔｏｒａｇｅ）１Ｈ７とを有する。
【００１９】
コントローラ１Ｈ１０は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１Ｈ１１と、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１Ｈ１２と、画像処理回路１Ｈ１３とを有する。また、コントローラ１Ｈ１０は、ＳＤＲＡＭＩ／Ｆ（ｉｎｔｅｒｆａｃｅ）１Ｈ１４と、ストレージＩ／Ｆ１Ｈ１５と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１Ｈ１６とを有する。そして、第１撮像素子１Ｈ３及び第２撮像素子１Ｈ４は、画像処理回路１Ｈ１３に接続される。さらに、ＳＤＲＡＭ１Ｈ６は、ＳＤＲＡＭＩ／Ｆ１Ｈ１４に接続される。さらに、ストレージ１Ｈ７は、ストレージＩ／Ｆ１Ｈ１５に接続される。さらにまた、スイッチ１Ｈ５は、ＣＰＵ１Ｈ１６に接続される。
【００２０】
ＳＲＡＭ１Ｈ１１及びＲＯＭ１Ｈ１２は、記憶装置である。また、ＳＲＡＭ１Ｈ１１は、ＣＰＵ１Ｈ１６等が使用するプログラム及び中間データを含む各種データ等を記憶する。
【００２１】
画像処理回路１Ｈ１３は、撮像されるそれぞれの画像を入力し、ホワイトバランス等の画像を補正する処理を行う。なお、画像処理回路１Ｈ１３は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）又はＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）等である。
【００２２】
ＳＤＲＡＭＩ／Ｆ１Ｈ１４は、ＳＤＲＡＭ１Ｈ６とデータ等を入出力するためのインタフェースである。また、ＳＤＲＡＭ１Ｈ６は、各種データを記憶する記憶装置である。なお、ＳＤＲＡＭＩ／Ｆ１Ｈ１４は、ＣＰＵ１Ｈ１６及び画像処理回路１Ｈ１３が用いる画像データ等の各種データを入出力する。
【００２３】
ストレージＩ／Ｆ１Ｈ１５は、ストレージ１Ｈ７とデータ等を入出力するためのインタフェースである。また、ストレージ１Ｈ７は、各種データを記憶する記憶装置である。なお、ストレージＩ／Ｆ１Ｈ１５は、例えば、画像処理回路１Ｈ１３に画像処理された画像を示すデータ等をストレージ１Ｈ７に記憶させる。
【００２４】
ＣＰＵ１Ｈ１６は、処理を実現するための演算を行う演算装置及び各ハードウェアを制御する制御装置である。なお、全天球カメラ１は、内部又は外部に、処理の全部又は一部を処理させる演算装置等を有するハードウェア構成でもよい。
【００２５】
また、全天球カメラ１が有するレンズ、すなわち、図１に示すレンズ１Ｈ１及びレンズ１Ｈ２は、例えば、以下のようなレンズである。
【００２６】
図４及び図５は、本発明の一実施形態に係る魚眼レンズの一例を説明する図である。具体的には、図４は、本発明の一実施形態に係る魚眼レンズを用いる構成における入射角度と、像高との関係の一例を示す断面図である。一方で、図５は、本発明の一実施形態に係る魚眼レンズを用いる構成における入射角度と、像高との関係の一例を示す平面図である。なお、図５では、黒く塗られた範囲が、光が入射しない範囲の一例を示す。以下、レンズ１Ｈ１及びレンズ１Ｈ２が魚眼レンズである場合について、レンズ１Ｈ１を例に説明する。
【００２７】
レンズ１Ｈ１を用いる場合では、画像には、全天球カメラ１の位置から半球分の範囲が撮像される。なお、レンズ１Ｈ１に入射する光の入射角度を入射角度α、画像の中心から入射角度αの光が結像する位置までの距離を像高ｈ及び入射角度αと像高ｈとの関係を示す関数を射影関数ｆ（α）とする。そして、射影関数ｆ（α）は、レンズ１Ｈ１の性質及び仕様等によってレンズごとに異なる。なお、レンズ１Ｈ１が等距離射影方式のレンズである場合には、射影関数ｆ（α）は、像高ｈと入射角度αとが比例する関係の関数となる。以下、レンズ１Ｈ１が等距離射影方式のレンズである場合を例に説明する。
【００２８】
＜重複域の例＞
図６乃至図９は、本発明の一実施形態に係る重複域の一例を説明する図である。なお、図６乃至図９では、図示する第１画像３及び第２画像４が、例えば、各撮像素子によって撮像されるそれぞれの画像である場合を例に説明する。また、図では、黒く塗られた範囲は、図５と同様に、光が入射しない範囲の一例を示す範囲である。また、第１画像３及び第２画像４は、それぞれ重複域２（図２）となる画素を有する。例えば、図示するように、重複域２は、９０°以上の入射角度αで撮像されるとする。具体的には、第１画像３では、重複域２は、例えば図示するように、第１範囲３１である。同様に、第２画像４では、重複域２は、例えば図示するように、第２範囲４１である。このように、重複域２は、例えば、各画像において、入射角度αが９０°に対応する画素より外側の範囲で撮像される範囲である。
【００２９】
以下、第１画像３は、重複域２を示す第１画素を有し、例えば、第１画素は、第１範囲３１の画素である。同様に、第２画像４は、重複域２を示す第２画素を有し、例えば、第２画素は、第２範囲４１の画素である。例えば、各画像のつなぎ合わせにおいて、つなぎ合わせる位置の計算等には、第１画素及び第２画素が用いられる。なお、各画像をつなぎ合わせる位置の計算等で用いられる範囲は、第１範囲３１及び第２範囲４１が有する全範囲でなくともよい。具体的には、各画像をつなぎ合わせる位置の計算等で用いられる範囲は、以下のような範囲でもよい。
【００３０】
図８及び図９は、本発明の一実施形態に係る各画像における各種処理で使用される重複域の一例を説明する図である。図示するように、各画像をつなぎ合わせる位置の計算等で用いられる範囲は、第１範囲３１及び第２範囲４１のうち、一部でもよい。例えば、第１使用範囲３２は、第１範囲３１のうちの一部であり、各画像をつなぎ合わせる位置の計算等の処理で、第１範囲３１の一部が使用される範囲となる例である。同様に、第２使用範囲４２は、第２範囲４１のうちの一部であり、各画像をつなぎ合わせる位置の計算等の処理で、第２範囲４１の一部が使用される範囲となる例である。また、各画像は、像高ｈが高くなる、つまり、画像では外側の範囲に位置する画素ほど歪及び収差等が悪化する場合が多い。
【００３１】
そこで、第１使用範囲３２及び第２使用範囲４２は、第１範囲３１及び第２範囲４１のうち、像高ｈが低い範囲に限定されるのが好ましい。つまり、情報処理装置等は、歪及び収差等が少ない範囲を第１使用範囲３２及び第２使用範囲４２等とすると、精度良く各画像をつなぎ合わせる位置を計算できる。
【００３２】
次に、撮像装置の例である全天球カメラに、ネットワーク又はケーブル等を介して接続される情報処理装置を説明する。例えば、画像処理システムは、以下のようなソフトウェア構成の情報処理装置と、撮像装置とを有する。
【００３３】
＜ソフトウェア構成例＞
図１０は、本発明の一実施形態に係る画像処理システムにおける情報処理装置のソフトウェア構成の一例を説明するブロック図である。以下、図示するようなソフトウェア構成の情報処理装置の例であるＰＣ５０を例に説明する。具体的には、ＰＣ５０は、例えば、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって構成されるカーネル（Ｋｅｒｎｅｌ）部ＫＮを有する。他にも、ＰＣ５０は、あらかじめ画像処理アプリケーションソフトウェアがインストールされることによって構成されるアプリケーション部ＡＰを有する。さらに、ＰＣ５０は、いわゆるビュワーアプリケーションソフトウェアがあらかじめインストールされることによって構成される画像出力部ＶＥを有する。
【００３４】
例えば、カーネル部ＫＮは、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ドライバ等によって構成される。すなわち、画像処理システム１０では、カーネル部ＫＮは、ＵＳＢ等のインタフェースによって、全天球カメラ１とＰＣ５０とを接続させ、ＰＣ５０と全天球カメラ１との間でデータ等を入出力する。そして、カーネル部ＫＮは、全天球カメラ１から入力するデータをアプリケーション部ＡＰに送る。
【００３５】
アプリケーション部ＡＰは、カーネル部ＫＮが全天球カメラ１から入力する撮像画像を画像処理し、画像出力部ＶＥがユーザＵＲに表示する出力画像を生成する。なお、撮像画像に対する画像処理の詳細は、後述する。
【００３６】
画像出力部ＶＥは、アプリケーション部ＡＰが生成する出力画像をユーザＵＲに表示する。また、画像出力部ＶＥは、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等によって、ユーザＵＲからの操作を入力してもよい。例えば、画像出力部ＶＥは、つなぎ合わせに係る設定値等をユーザに設定させる。そして、入力された設定値等は、アプリケーション部ＡＰに送られる。このような構成にして、アプリケーション部ＡＰが画像処理に用いる設定値等が入力されてもよい。なお、設定値等の詳細は、後述する。また、設定値等を入力するためのＧＵＩは、画像出力部ＶＥが表示するに限られず、他のソフトウェアが表示してもよい。
【００３７】
＜情報処理装置のハードウェア構成例＞
図１１は、本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。例えば、ＰＣ５０は、以下のようなハードウェア構成であり、コンピュータである。
【００３８】
図示する例では、ＰＣ５０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０Ｈ１、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０Ｈ２及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０Ｈ３を有する。さらに、ＰＣ５０は、外部Ｉ／Ｆ（ｉｎｔｅｒｆａｃｅ）５０Ｈ４、通信装置５０Ｈ６、入力装置５０Ｈ７、出力装置５０Ｈ８及び記憶装置５０Ｈ９を有する。
【００３９】
ＣＰＵ５０Ｈ１は、処理を実現するための演算及びデータの加工を行う演算装置並びにハードウェアを制御する制御装置である。
【００４０】
ＲＯＭ５０Ｈ２は、ファームウェア等のプログラムを記憶する記憶装置である。
【００４１】
ＲＡＭ５０Ｈ３は、演算等において、作業領域となる記憶装置である。
【００４２】
外部Ｉ／Ｆ５０Ｈ４は、接続されるＵＳＢメモリ等の記録媒体５０Ｈ５と、ファイル等を入出力するインタフェースである。例えば、外部Ｉ／Ｆ５０Ｈ４は、コネクタ、ケーブル及びドライバ等である。
【００４３】
通信装置５０Ｈ６は、プリンタＰＲ１等の外部装置とネットワーク等を介して、通信を行う装置である。例えば、通信装置５０Ｈ６は、コネクタ、ケーブル及びドライバ等である。
【００４４】
入力装置５０Ｈ７は、ユーザによる操作及び接続される外部装置からのデータを入力するインタフェースである。例えば、入力装置５０Ｈ７は、キーボード、マウス又はこれらの組み合わせ等である。さらに、入力装置５０Ｈ７は、キーボード又は撮像装置等の外部装置を接続させるコネクタ及びドライバ等である。
【００４５】
出力装置５０Ｈ８は、ユーザに対する表示及び接続される外部装置にデータを出力するインタフェースである。例えば、出力装置５０Ｈ８は、ディスプレイ等である。さらに、出力装置５０Ｈ８は、ディスプレイ等を接続させるコネクタ及びドライバ等である。
【００４６】
記憶装置５０Ｈ９は、入力されるデータ及びプログラム等を記憶する。また、記憶装置５０Ｈ９は、主記憶装置及び補助記憶装置等である。
【００４７】
なお、ハードウェア構成は、図示する構成に限られない。例えば、ハードウェア構成は、演算装置、制御装置又は記憶装置等を内部又は外部に更に有する構成でもよい。また、情報処理装置は、１つの装置でなく、複数の装置で構成されてもよい。
【００４８】
＜全体処理例＞
図１２は、本発明の一実施形態に係る画像処理システムにおける情報処理装置による全体処理の一例を示すフローチャートである。例えば、画像処理システムにおいて、ＰＣは、全天球カメラから入力する撮像画像に対して、以下のような処理を行う。
【００４９】
ステップＳ１０１では、ＰＣは、変換データを取得する。なお、変換データは、撮像素子ごとに取得される。すなわち、図１に示す全天球カメラ１がＰＣに接続される場合には、ＰＣは、２つのそれぞれの撮像素子に対応するそれぞれの変換データを取得する。以下、図１に示す例において、第１撮像素子１Ｈ３に対応する変換データを「第１変換データ」という。同様に、図１に示す例において、第２撮像素子１Ｈ４に対応する変換データを「第２変換データ」という。つまり、この例では、ＰＣは、全天球カメラ１から第１変換データと、第２変換データとをそれぞれ取得する。
【００５０】
また、第１変換データ及び第２変換データは、全天球カメラごとに異なるため、異なる全天球カメラが接続されると、ＰＣは、第１変換データ及び第２変換データを新しく接続された全天球カメラから取得する。
【００５１】
以下、第１変換データに基づく変換によって生成される画像、すなわち、第１撮像画像を変換して生成する画像を「第１変換画像」という。一方で、第２変換データに基づく変換によって生成される画像、すなわち、第２撮像画像を変換して生成する画像を「第２変換画像」という。
【００５２】
なお、変換データは、全天球カメラ等の撮像装置と紐付けられてもよい。つまり、ＰＣは、撮像装置ごとに、それぞれの第１変換データ及び第２変換データを取得し、記憶する。例えば、変換データは、それぞれの全天球カメラを識別できる全天球カメラのＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）又は識別番号等を示す識別データを有してもよい。そして、全天球カメラがＰＣに接続されると、ＰＣは、接続された全天球カメラの識別番号等を取得し、接続されている全天球カメラの識別番号等と、以前に取得した変換データが有する識別番号等とを照合する。
【００５３】
次に、接続された全天球カメラの識別番号等と同一の識別番号となる変換データを記憶している場合には、ＰＣは、識別データに基づいて特定される変換データを使用してもよい。つまり、ＰＣは、識別データに基づいて、各撮像装置に対応する変換データを使用することができる。
【００５４】
例えば、変換データは、下記（表１）のようなＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）形式のデータである。
【００５５】
【表１】
2017163527.tif 000003
上記（表１）に示すように、変換データは、変換前の座標と、変換後の座標値とを対応させるデータである。また、変換データは、全天球カメラごとに異なる。全天球カメラは、装置ごとにパラメータが異なる。そのため、パラメータの影響を受ける変換データも、全天球カメラごとに異なる。具体的には、変換データは、いわゆるメッシュファイル等である。つまり、変換データは、例えば、ＯｐｅｎＧＬ（登録商標）において、テクスチャマッピングする際に用いられるデータである。また、変換データに基づいて変換されると、撮像画像は、出力画像の一部に配置され、かつ、歪補正等の処理が行われる。なお、変換データを用いる処理の詳細は、後述するステップＳ１０３で説明する。
【００５６】
図１２に戻り、ステップＳ１０２では、ＰＣは、複数の撮像画像を入力する。すなわち、ステップＳ１０２では、接続される全天球カメラから複数の撮像画像を入力する。具体的には、図１に示す例では、ＰＣは、２つの撮像画像を入力する。つまり、ＰＣは、図１に示す例では、第１撮像画像及び第２撮像画像をそれぞれ入力する。
【００５７】
ステップＳ１０３では、ＰＣは、変換画像をつなぎ合わせて出力画像を生成する。まず、ステップＳ１０３では、ＰＣは、変換データに基づいて、撮像画像を変換して変換画像を生成する。具体的には、ＰＣは、以下のような変換を行う。
【００５８】
図１３及び図１４は、本発明の一実施形態に係る出力画像及び撮像画像の一例を説明する図である。例えば、ＰＣは、図１２に示すステップＳ１０３によって、図１３に示すような形式の出力画像ＩＭＧＯＵＴを生成し、出力する。すなわち、出力画像ＩＭＧＯＵＴは、例えば、正距円筒画像である。一方で、図１２に示すステップＳ１０２では、図１４に示す形式の撮像画像が複数入力される。図示するように、撮像画像及び出力画像が有する各画素は、所定の軸に対する角度（以下「垂直角度φ」という。）と、垂直角度φに対して直交する角度（以下「水平角度θ」という。）とを座標値にして特定される。以下、水平角度θは、０°乃至３６０°であるとする。なお、水平角度θは、−１８０°乃至１８０°としてもよい。また、垂直角度φは、０°乃至１８０°であるとする。なお、垂直角度φは、−９０°乃至９０°としてもよい。そして、各撮像画像が有する各画素が上記（表１）に示す変換データによって変換されると、変換画像が生成され、生成された変換画像をつなぎ合わせると出力画像が生成される。具体的には、以下のように変換が行われる。
【００５９】
図１５は、本発明の一実施形態に係る変換データに基づく変換の一例を説明する図である。具体的には、図１５（Ａ）は、出力画像ＩＭＧＯＵＴの例を示す図である。一方で、図１５（Ｂ）は、撮像画像の例を示す図である。まず、ＰＣは、上記（表１）に示す変換データに基づいて、撮像画像を変換する。図示するように、上記（表１）に示す変換データに基づいて、撮像画像が有する各画素は、ＰＣによって出力画像ＩＭＧＯＵＴ上の座標にマッピングされる。このように、上記（表１）に示す変換データは、平面座標系（ｘ，ｙ）で示す撮像画像が有する画素を球面座標系（θ，φ）に射影させるデータである。また、変換データには、図４及び図５で説明するような射影関係が、レンズの仕様等によって反映される。つまり、変換データに基づいて変換されると、歪曲収差等が補正される。なお、変換では、以下のような回転変換が行われてもよい。
【００６０】
図１６は、本発明の一実施形態に係る回転変換の一例を説明する図である。例えば、図１６（Ａ）及び図１６（Ｂ）で図示するような撮像画像に基づいて、出力画像ＩＭＧＯＵＴが出力される場合の例で説明する。この例のように、第１撮像素子１Ｈ３（図１）及び第２撮像素子１Ｈ４（図１）の設置される向き等によって、図示するように、それぞれの撮像画像の上下の向きが逆の場合がある。そのため、それぞれの被写体が、上下逆となって、いわゆる「天地逆転」の状態で、撮像画像に写る。このような場合には、ＰＣは、変換によって、「天地逆転」を補正する回転変換を行ってもよい。具体的には、この例では、ＰＣは、図１６（Ｂ）に示す撮像画像の上下を反転させる回転変換を更に行い、図１６（Ｃ）のように、出力画像ＩＭＧＯＵＴを生成してもよい。
【００６１】
そして、変換データに基づいて変換された画像をつなぎ合わせて出力画像を生成し、出力する。例えば、つなぎ合わせは、以下のような処理である。
【００６２】
図１７は、本発明の一実施形態に係る情報処理装置によるつなぎ合わせの一例を説明するフローチャートである。なお、図示する処理は、例えば、図１２に示すＳ１０３で行われる処理である。
【００６３】
ステップＳ２０１では、ＰＣは、つなぎ位置を検出する。例えば、つなぎ位置は、変換された各撮像画像において、図２に示す重複域２で撮像される被写体を示す画素が検出される。具体的には、つなぎ位置の検出は、例えば、以下のような処理で実現される。
【００６４】
図１８は、本発明の一実施形態に係る情報処理装置によるつなぎ位置の検出の一例を説明するフローチャートである。例えば、図１７に示すステップＳ２０１では、図１８に示す処理を行って、第１変換画像と、第２変換画像とをつなぎ合わせるつなぎ位置を検出する。図示する例では、第１変換画像に係る重複域２（図２）が有する画素（θ，φ）ごとに、繰り返しステップＳ３０１及びステップＳ３０２が行われる。なお、重複域２が有する画素（θ，φ）は、球面座標系（θ，φ）における水平角度θ（図１３）が「０°」乃至「３６０°」であるとする。また、重複域２が有する画素（θ，φ）は、球面座標系（θ，φ）における垂直角度φ（図１３）が「φｓ」乃至「φｅ」であるとする。なお、「φｓ」及び「φｅ」は、レンズの全画角に対応して、あらかじめ定義される重複域２の開始角度と終了角度である。すなわち、「φｓ」及び「φｅ」は、重複域２が有する画素（θ，φ）を以下のようにパターンマッチングするため、あらかじめ設定される値である。
【００６５】
ステップＳ３０１では、ＰＣは、パターンマッチングにおいて、検索される画像（以下「パターン画像」という。）を設定する。例えば、以下のようなパターン画像が設定されるとする。
【００６６】
図１９及び図２０は、本発明の一実施形態に係るつなぎ位置の検出におけるパターンマッチングの一例を説明する図である。以下、図１９に図示するようなパターン画像３００が設定される例で説明する。具体的には、例えば、図において「☆」で示す画素を中心画素として、「１１×１１画素」を有する画像が、第１変換画像が有する重複域２（図２）から切り出され、パターン画像３００に設定される。なお、球面座標系（θ，φ）において、水平角度θは、両端（すなわち、「０°」及び「３６０°」である。）がつながっているため、一端と、他端とは、つなげて画素が扱われるとする。
【００６７】
図１８に戻り、ステップＳ３０２では、ＰＣは、つなぎ位置を検出する。例えば、つなぎ位置は、ステップＳ３０１で設定されるパターン画像に基づいて、以下のように検出される。
【００６８】
図２０は、第２変換画像が有する重複域２におけるパターンマッチングによるつなぎ位置の検出方法の例を示す。例えば、つなぎ位置は、図示するように、「ずれ量（Δθ，Δφ）」で示す。具体的には、まず、ＰＣは、第２変換画像が有する重複域２において、図１９に図示するパターン画像３００を水平角度θ及び垂直角度φ（図では、横及び縦である。）方向に移動させる。そして、ＰＣは、テンプレートマッチング等で用いられる類似度を計算等し、類似度が高くなる位置と、現在、パターン画像３００が配置されている位置との距離を計算する。なお、類似度は、例えば、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）法又はＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）法等で計算される。他にも、類似度は、例えば、ＰＯＣ（Ｐｈａｓｅ−Ｏｎｌｙ  Ｃｏｒｒｅｌａｔｉｏｎ）法又はＺＮＣＣ（Ｚｅｒｏ−ｍｅａｎ  Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌａｔｉｏｎ）法等で計算されてもよい。このようにして計算される距離が、ずれ量（Δθ，Δφ）となる。つまり、図２０において、「そのままの位置」にあるパターン画像３００がずれ量（Δθ，Δφ）だけ移動すると、パターン画像３００は、第２変換画像が有する重複域２が示す画像とマッチする。このようにして、この例では、ＰＣは、計算されるずれ量（Δθ，Δφ）が示す位置をつなぎ位置と検出する。
【００６９】
図１７に戻り、ステップＳ２０２では、ＰＣは、つなぎ合わせによって出力画像を生成する。例えば、出力画像は、以下のように、第１変換画像と、第２変換画像とをつなぎ合わせて合成して、生成される。
【００７０】
図２１は、本発明の一実施形態に係る出力画像の生成の一例を説明する図である。以下、図示するような第１撮像画像ＩＭＧ１と、第２撮像画像ＩＭＧ２とをそれぞれ変換し、つなぎ合わせて、ＰＣが出力画像ＩＭＧＯＵＴを生成する場合を例に説明する。
【００７１】
第１撮像画像ＩＭＧ１及び第２撮像画像ＩＭＧ２は、図示するように、各変換データに基づいてそれぞれ変換されると、第１変換画像ＩＭＧＣ１及び第２変換画像ＩＭＧＣ２となり、かつ、出力画像ＩＭＧＯＵＴの一部となるように配置される。
【００７２】
図示するように、出力画像ＩＭＧＯＵＴが示す画像のうち、第１撮像画像ＩＭＧ１又は第２撮像画像ＩＭＧ２にしか画素が存在しない領域は、第１撮像画像ＩＭＧ１又は第２撮像画像ＩＭＧ２が有するそれぞれの画素が採用される。一方で、出力画像ＩＭＧＯＵＴが示す画像のうち、第１撮像画像ＩＭＧ１又は第２撮像画像ＩＭＧ２の両方に画素が存在する領域、すなわち、重複域２は、第１撮像画像ＩＭＧ１又は第２撮像画像ＩＭＧ２が有する画素がブレンド処理等されて採用される。なお、各画素は、出力画像ＩＭＧＯＵＴの画素に採用される際に、補正されてもよい。
【００７３】
ずれ量等によって、つなぎ位置が検出されている場合には、ＰＣは、重複域２において、第１変換画像ＩＭＧＣ１及び第２変換画像ＩＭＧＣ２が有する各画素がつなぎ位置でつなぎ合うように各画像を配置する。なお、つなぎ位置は、ユーザの操作によって調整されてもよい。
【００７４】
図１０に示すような構成とすると、ＰＣが変換データを有するため、各撮像画像を変換した後、出力画像を生成する上で、変換画像をどこでつなぐかを調整できる。全天球カメラのように、複数の光学系を有する撮像装置は、異なる光学系を有するため、それぞれの撮像において、視差がある場合が多い。そのため、例えば、各撮像画像に写る被写体までの距離によって、つなぎ位置は、異なる。具体的には、各撮像画像に写る被写体までの距離が、一方の撮像画像では、無限遠であって、他方の撮像画像では、近くであるとする。このような場合には、両方とも撮像される距離が無限遠である場合と、つなぎ位置は、異なる場合が多い。ゆえに、つなぎ位置は、調整できるのが望ましい。
【００７５】
調整では、例えば、まず、ユーザが、出力される出力画像ＩＭＧＯＵＴを見て、つながれている変換画像の一方を移動させる移動量を入力する。以下、図示するように、第２変換画像ＩＭＧＣ２が配置される位置を移動させて調整する例で説明する。なお、調整は、第１変換画像ＩＭＧＣ１が配置される位置を移動させてもよい。
【００７６】
移動量は、例えば、図２１に示す例において、第２変換画像ＩＭＧＣ２が配置される位置を移動させるφ方向の移動量（以下「第１移動量Ｐ１」という。）と、第２変換画像ＩＭＧＣ２が配置される位置を移動させるθ方向の移動量（以下「第２移動量Ｐ２」という。）とを示す値である。ＰＣは、少なくとも第１移動量Ｐ１又は第２移動量Ｐ２のいずれか一方を入力する。例えば、移動量は、画像出力部ＶＥ（図１０）がスクロールバー等のＧＵＩを表示して、表示されるＧＵＩからユーザの操作を入力すると、ＰＣは、移動量を入力できる。次に、ＰＣは、入力された移動量が示す位置に、第２変換画像ＩＭＧＣ２を配置する。このようにすると、ＰＣは、視差等があっても、精度良く画像をつなぎ合わせることができる。
【００７７】
より望ましくは、少なくとも第２移動量Ｐ２が入力され、つなぎ位置が調整されるのが望ましい。視差等に基づいて、ずれが生じやすいのは、θ方向である場合が多い。すなわち、各変換画像を重ねる量が、ＰＣによって調整されるのがより望ましい。ゆえに、ＰＣには、第２移動量Ｐ２が入力され、θ方向について調整が行われると、ＰＣは、視差等があっても、より精度良く画像をつなぎ合わせることができる。
【００７８】
＜機能構成例＞
図２２は、本発明の一実施形態に係る画像処理システムの機能構成の一例を説明する機能ブロック図である。例えば、画像処理システム１０は、撮像装置の例である全天球カメラ１と、情報処理装置の例であるＰＣ５０とを有する。また、図示する例では、ＰＣ５０が、入力部１０Ｆ１と、取得部１０Ｆ２と、生成部１０Ｆ３とを有する。
【００７９】
入力部１０Ｆ１は、全天球カメラ１から、撮像画像である少なくとも第１撮像画像及び第２撮像画像をそれぞれ入力する。なお、入力部１０Ｆ１は、例えば、通信装置５０Ｈ６（図１１）又は入力装置５０Ｈ７（図１１）等によって実現される。
【００８０】
取得部１０Ｆ２は、第１撮像画像を変換するのに用いられる第１変換データ及び第２撮像画像を変換するのに用いられる第２変換データをそれぞれ取得する。なお、取得部１０Ｆ２は、例えば、通信装置５０Ｈ６（図１１）又は入力装置５０Ｈ７（図１１）等によって実現される。
【００８１】
生成部１０Ｆ３は、第１変換データ及び第２変換データに基づいて変換されて生成されるそれぞれの変換画像をつなぎ合わせて出力画像を生成する。なお、生成部１０Ｆ３は、例えば、ＣＰＵ５０Ｈ１（図１１）等によって実現される。
【００８２】
画像処理システム１０では、ＰＣ５０は、取得部１０Ｆ２によって、あらかじめ第１変換データ及び第２変換データを全天球カメラ１から取得する。そのため、ＰＣ５０は、入力部１０Ｆ１によって入力される第１撮像画像及び第２撮像画像をＰＣ５０側で変換することができる。ゆえに、ＰＣ５０は、生成部１０Ｆ３によって、変換画像をつなぎ合わせて出力画像を生成することができる。変換データは、各撮像装置のパラメータ等を反映したデータである。そのため、変換データは、撮像装置ごとに異なる。そこで、図示する構成のように、ＰＣ５０は、各撮像装置のパラメータ等に合わせた変換を行うため、撮像装置ごとに、変換データを取得すると、ＰＣ５０は、各撮像画像を変換して、より精度良く複数の変換画像をつなぎ合わせることができ、出力画像を生成することができる。そして、画像処理システム１０は、ユーザＵＲに出力画像を出力することができる。
【００８３】
また、本発明に係る実施形態は、ファームウェアを含むプログラムによって実現されてもよい。すなわち、情報処理装置又は１以上の情報処理装置を有する画像処理システムに、画像処理方法を実行させるためのプログラムによって、本発明に係る実施形態は、実現されてもよい。また、プログラムは、記録媒体又はネットワーク等を介して、情報処理装置等にインストールされる。なお、記録媒体は、光学ディスク等のコンピュータが読み取り可能な記録媒体である。また、コンピュータが読取可能な記録媒体は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等の可搬型記録媒体及びフラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）等の半導体メモリ等でもよい。
【００８４】
以上、本発明の好ましい実施例について詳述したが、本発明は、説明した特定の実施形態に限定されない。すなわち、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
【００８５】
本国際出願は、２０１６年３月２２日に出願された日本国特許出願２０１６―５７３５４号に基づく優先権を主張するものであり、その全内容を本国際出願に援用する。
【符号の説明】
【００８６】
１  全天球カメラ
１０  画像処理システム
５０  ＰＣ
ＩＭＧ１  第１撮像画像
ＩＭＧ２  第２撮像画像
ＩＭＧＣ１  第１変換画像
ＩＭＧＣ２  第２変換画像
ＩＭＧＯＵＴ  出力画像
【先行技術文献】
【特許文献】
【００８７】
【特許文献１】特許第５８４２８８６号公報
【図１】
2017163527.tif 000004
【図２】
2017163527.tif 000005
【図３】
2017163527.tif 000006
【図４】
2017163527.tif 000007
【図５】
2017163527.tif 000008
【図６】
2017163527.tif 000009
【図７】
2017163527.tif 000010
【図８】
2017163527.tif 000011
【図９】
2017163527.tif 000012
【図１０】
2017163527.tif 000013
【図１１】
2017163527.tif 000014
【図１２】
2017163527.tif 000015
【図１３】
2017163527.tif 000016
【図１４】
2017163527.tif 000017
【図１５】
2017163527.tif 000018
【図１６】
2017163527.tif 000019
【図１７】
2017163527.tif 000020
【図１８】
2017163527.tif 000021
【図１９】
2017163527.tif 000022
【図２０】
2017163527.tif 000023
【図２１】
2017163527.tif 000024
【図２２】
2017163527.tif 000025
【国際調査報告】
2017163527.tif 000026
2017163527.tif 000027
2017163527.tif 000028
2017163527.tif 000029