(57)【要約】【課題】  画像処理の高速化を図る画像処理装置を提供する。【解決手段】  互いに隣り合い、かつ、一部が重複する複数の画像データを合成する画像処理装置（２）は、隣り合う画像データの境界部の中から、画像補正値を算出する境界部を選択する境界部選択部（１４）と、境界部選択部（１４）によって選択された境界部の画像補正値を算出する補正値算出部（１５）と、境界部選択部（１４）によって選択された境界部においては、補正値算出部（１５）によって算出された画像補正値を用いて境界部の画像補正を行い、境界部選択部（１４）によって選択されなかった境界部においては、過去と未来の画像補正値を用いて画像補正を行う画像補正部（１６）と、を有する。【選択図】  図２
2018137003.tif 000002
【特許請求の範囲】
【請求項１】
互いに隣り合い、かつ、一部が重複する複数の画像データを合成する画像処理装置において、
隣り合う画像データの境界部の中から、画像補正値を算出する前記境界部を選択する境界部選択部と、
前記境界部選択部によって選択された前記境界部の画像補正値を算出する補正値算出部と、
前記境界部選択部によって選択された前記境界部においては、前記補正値算出部によって算出された画像補正値を用いて前記境界部の画像補正を行い、前記境界部選択部によって選択されなかった前記境界部においては、過去と未来の画像補正値を用いて画像補正を行う画像補正部と、
を有する画像処理装置。
【請求項２】
互いに隣り合い、かつ、一部が重複する複数の画像データを合成する画像処理装置において、
隣り合う画像データの境界部の中から、画像補正値を算出する前記境界部を選択する境界部選択部と、
前記境界部選択部によって選択された前記境界部の画像補正値を算出する補正値算出部と、
前記境界部選択部によって選択された前記境界部においては、前記補正値算出部によって算出された画像補正値を用いて前記境界部の画像補正を行い、前記境界部選択部によって選択されなかった前記境界部においては、過去に算出された画像補正値を用いて画像補正を行う画像補正部と、を有し、
前記境界部選択部は、選択する前記境界部をフレームごとにおいて変更する、画像処理装置。
【請求項３】
前記境界部選択部は、
第１のフレームにおいて、前記境界部の全てを選択し、
前記第１のフレームに続く第２のフレームにおいて、前記境界部を選択せず、
前記第２のフレームに続く第３のフレームにおいて、前記境界部の全てを選択する、請求項２に記載の画像処理装置。
【請求項４】
前記画像補正部は、前記第２のフレームの画像を、前記第１のフレームの画像補正値と、前記第３のフレームの画像補正値とを用いて補正する、請求項３に記載の画像処理装置。
【請求項５】
前記境界部選択部は、前記画像補正部の処理能力が高いほど多くの境界部を選択する、請求項２に記載の画像処理装置。
【請求項６】
前記境界部選択部は、前記画像補正部の処理能力に余裕があるほど多くの境界部を選択する、請求項２に記載の画像処理装置。
【請求項７】
互いに隣り合い、かつ、一部が重複する複数の画像データを合成する画像処理装置において、
隣り合う画像データの境界部の中から、画像補正値を算出する前記境界部を選択する境界部選択部と、
前記境界部選択部によって選択された前記境界部の画像補正値を算出する補正値算出部と、
前記境界部選択部によって選択された前記境界部においては、前記補正値算出部によって算出された画像補正値を用いて前記境界部の画像補正を行い、前記境界部選択部によって選択されなかった前記境界部においては、過去に算出された画像補正値を用いて画像補正を行う画像補正部と、を有し、
前記境界部選択部は、フレーム間の映像の変化が所定の閾値を超える境界部を選択する、画像処理装置。
【請求項８】
互いに隣り合い、かつ、一部が重複する複数の画像データを合成する画像処理装置の画像処理方法において、
隣り合う画像データの境界部の中から、画像補正値を算出する前記境界部を選択する境界部選択ステップと、
前記境界部選択ステップによって選択された前記境界部の画像補正値を算出する補正値算出ステップと、
前記境界部選択ステップによって選択された前記境界部においては、前記補正値算出ステップによって算出された画像補正値を用いて前記境界部の画像補正を行い、前記境界部選択ステップによって選択されなかった前記境界部においては、過去と未来の画像補正値を用いて画像補正を行う画像補正ステップと、
を有する画像処理方法。
【請求項９】
互いに隣り合い、かつ、一部が重複する複数の画像データを合成する画像処理装置の画像処理方法において、
隣り合う画像データの境界部の中から、画像補正値を算出する前記境界部を選択する境界部選択ステップと、
前記境界部選択ステップによって選択された前記境界部の画像補正値を算出する補正値算出ステップと、
前記境界部選択ステップによって選択された前記境界部においては、前記補正値算出ステップによって算出された画像補正値を用いて前記境界部の画像補正を行い、前記境界部選択ステップによって選択されなかった前記境界部においては、過去に算出された画像補正値を用いて画像補正を行う画像補正ステップと、を有し、
前記境界部選択ステップは、選択する前記境界部をフレームごとにおいて変更する、
画像処理方法。
【請求項１０】
互いに隣り合い、かつ、一部が重複する複数の画像データを合成する画像処理装置の画像処理方法において、
隣り合う画像データの境界部の中から、画像補正値を算出する前記境界部を選択する境界部選択ステップと、
前記境界部選択ステップによって選択された前記境界部の画像補正値を算出する補正値算出ステップと、
前記境界部選択ステップによって選択された前記境界部においては、前記補正値算出ステップによって算出された画像補正値を用いて前記境界部の画像補正を行い、前記境界部選択ステップによって選択されなかった前記境界部においては、過去に算出された画像補正値を用いて画像補正を行う画像補正ステップと、を有し、
前記境界部選択ステップは、フレーム間の映像の変化が所定の閾値を超える境界部を選択する、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、互いに隣り合い、かつ、一部が重複する複数の画像データを合成する画像処理装置およびその画像処理装置の画像処理方法に関するものである。
【背景技術】
【０００２】
特許文献１には、複数のカメラからの画像を連結し、一巡して表示する撮像システムが開示されている。この撮像システムは、全ての境界部において、切れ目が目立たないように画像を補正する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２９９９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、全ての境界部において、画像の切れ目を目立たなくするための補正値を算出すると、画像処理が重くなるという問題がある。特に、対象となる画像が動画像の場合、画像処理が重いと、リアルタイム処理が難しくなる。
【０００５】
本開示は、画像品質を維持しつつ画像処理の高速化を図る技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示の画像処理装置は、互いに隣り合い、かつ、一部が重複する複数の画像データを合成する画像処理装置において、隣り合う画像データの境界部の中から、画像補正値を算出する前記境界部を選択する境界部選択部と、前記境界部選択部によって選択された前記境界部の画像補正値を算出する補正値算出部と、前記境界部選択部によって選択された前記境界部においては、前記補正値算出部によって算出された画像補正値を用いて前記境界部の画像補正を行い、前記境界部選択部によって選択されなかった前記境界部においては、過去と未来の画像補正値を用いて画像補正を行う画像補正部と、を有する。
【０００７】
本開示の画像処理装置は、互いに隣り合い、かつ、一部が重複する複数の画像データを合成する画像処理装置において、隣り合う画像データの境界部の中から、画像補正値を算出する前記境界部を選択する境界部選択部と、前記境界部選択部によって選択された前記境界部の画像補正値を算出する補正値算出部と、前記境界部選択部によって選択された前記境界部においては、前記補正値算出部によって算出された画像補正値を用いて前記境界部の画像補正を行い、前記境界部選択部によって選択されなかった前記境界部においては、過去に算出された画像補正値を用いて画像補正を行う画像補正部と、を有し、前記境界部選択部は、選択する前記境界部をフレームごとにおいて変更する。
【０００８】
本開示の画像処理装置は、互いに隣り合い、かつ、一部が重複する複数の画像データを合成する画像処理装置において、隣り合う画像データの境界部の中から、画像補正値を算出する前記境界部を選択する境界部選択部と、前記境界部選択部によって選択された前記境界部の画像補正値を算出する補正値算出部と、前記境界部選択部によって選択された前記境界部においては、前記補正値算出部によって算出された画像補正値を用いて前記境界部の画像補正を行い、前記境界部選択部によって選択されなかった前記境界部においては、過去に算出された画像補正値を用いて画像補正を行う画像補正部と、を有し、前記境界部選択部は、フレーム間の映像の変化が所定の閾値を超える境界部を選択する。
【発明の効果】
【０００９】
本開示によれば、画像品質を維持しつつ画像処理の高速化を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本開示の実施の形態に係る画像処理装置を用いた画像処理システムの一例を示した図である。
【図２】図２は、画像処理装置の機能ブロック構成例を示した図である。
【図３Ａ】図３Ａは、画像データの合成および補正の例を説明する図である。
【図３Ｂ】図３Ｂは、画像データの合成および補正の例を説明する図である。
【図３Ｃ】図３Ｃは、画像データの合成および補正の例を説明する図である。
【図３Ｄ】図３Ｄは、画像データの合成および補正の例を説明する図である。
【図４Ａ】図４Ａは、境界部選択部および補正値算出部の処理例を説明する図である。
【図４Ｂ】図４Ｂは、境界部選択部および補正値算出部の処理例を説明する図である。
【図４Ｃ】図４Ｃは、境界部選択部および補正値算出部の処理例を説明する図である。
【図４Ｄ】図４Ｄは、境界部選択部および補正値算出部の処理例を説明する図である。
【図４Ｅ】図４Ｅは、境界部選択部および補正値算出部の処理例を説明する図である。
【図５】図５は、画像処理装置の動作例を示したフローチャートである。
【図６】図６は、スティッチング処理の詳細な処理例を示したフローチャートである。
【図７】図７は、画像処理装置のハードウェア構成例を示した図である。
【図８】図８は、過去と未来の画像補正値を用いて、画像補正値を推定する例を説明する図である。
【発明を実施するための形態】
【００１１】
以下、本開示の実施の形態を、図面を参照して説明する。
【００１２】
図１は、本開示の実施の形態に係る画像処理装置を用いた画像処理システムの一例を示した図である。図１に示すように、画像処理システムは、撮影カメラ１ａ〜１ｄと、画像処理装置２と、表示装置３と、を有している。
【００１３】
撮影カメラ１ａ〜１ｄは、隣り合う２つの撮影カメラ同士で、撮影エリアが一部重なるように配置されている。撮影カメラ１ａ〜１ｄは、撮影した撮影エリアの画像データを画像処理装置２へ出力する。
【００１４】
画像処理装置２は、撮影カメラ１ａ〜１ｄのそれぞれから出力された画像データを、フレームごとにスティッチングし、１つの画像データ（パノラマ画像データ）を生成する。画像処理装置２は、生成したパノラマ画像データを、表示装置３に出力する。
【００１５】
表示装置３は、画像処理装置２から出力されたパノラマ画像データを表示する。
【００１６】
すなわち、図１の画像処理システムは、撮影カメラ１ａ〜１ｄのそれぞれが撮影する撮影エリアの画像データをパノラマ合成し、表示装置３に表示する。
【００１７】
なお、図１では、撮影カメラ１ａ〜１ｄの台数は４台であるが、これに限られない。例えば、撮影カメラ１ａ〜１ｄの台数は、３台であってもよいし、５台以上であってもよい。また、各撮影カメラの画像データを合成して全周映像を生成する場合は、撮影カメラ１ａ〜１ｄの台数は２台でも構わない。すなわち、システム全体として境界部が複数存在する構成であれば、カメラの台数は問わない。
【００１８】
図２は、画像処理装置２の機能ブロック構成例を示した図である。図２に示すように、画像処理装置２は、入力バッファ部１１と、調整部１２と、合成部１３と、境界部選択部１４と、補正値算出部１５と、画像補正部１６と、出力バッファ部１７と、記憶部１８と、を有している。
【００１９】
入力バッファ部１１には、撮影カメラ１ａ〜１ｄから出力される画像データが入力される。入力バッファ部１１は、入力された画像データを一時記憶する。
【００２０】
調整部１２は、入力バッファ部１１に一時記憶されている画像データを読み出し、読み出した画像データの画像調整を行う。例えば、調整部１２は、撮影カメラ１ａ〜１ｄの空間配置や光学特性などの情報に基づいて、次に説明する合成部１３の、パノラマ合成のための調整を行う。より具体的には、調整部１２は、画像データの位置、形状、または濃度等を調整する。
【００２１】
なお、調整部１２の演算量は、後述する補正値算出部１５の演算量より少ない。また、調整部１２は、入力バッファ部１１から読み出したそれぞれの撮影カメラが撮影した画像データの全体領域に対し、画像調整を行う必要がある場合、画像データの全体領域に対し、画像調整を行う。
【００２２】
合成部１３は、調整部１２によって調整された画像データをスティッチング（パノラマ合成）する。合成部１３は、画像データをスティッチングする際、隣り合う画像データの一部が重なるようにスティッチングする。例えば、合成部１３は、撮影エリアが一部重なるように配置された撮影カメラ１ａ〜１ｄのそれぞれの画像データにおいて、撮影エリアの重なった部分に対応する画像領域を重ね、画像データをスティッチングする。以下では、隣り合う画像データの重なる部分を、境界部と呼ぶことがある。
【００２３】
境界部選択部１４は、合成部１３によって合成された画像データの境界部（図４Ａの点線Ａ１１〜Ａ１３を参照）の中から、画像補正値を算出する境界部を選択する。境界部選択部１４の境界部の選択動作については、後で詳述する。
【００２４】
補正値算出部１５は、境界部選択部１４によって選択された境界部の画像補正値を算出する。例えば、補正値算出部１５は、隣り合う画像データの境界部の特徴点を抽出し、抽出した特徴点の対応付けを行う。そして、補正値算出部１５は、対応付けを行った特徴点の組の位置関係や濃度差に基づいて、局所領域の形状や濃度などの補正値を算出する。
【００２５】
すなわち、補正値算出部１５は、境界部選択部１４によって選択された境界部が滑らかに表示されるように（例えば、切れ目等がなく、連続して表示されるように）、境界部選択部１４によって選択された境界部の画像補正値を算出する。なお、補正値算出部１５は、境界部と、境界部周辺の部分との画像データの補正値を算出してもよい。
【００２６】
ここで、画像データの合成および補正について説明する。
【００２７】
図３Ａ〜図３Ｄは、画像データの合成および補正の例を説明する図である。図３Ａ〜図３Ｄでは、説明を簡単にするため、２台の撮影カメラ２１ａ，２１ｂから出力される画像データの合成および補正の例について説明する。
【００２８】
図３Ａは、２つの撮影カメラ２１ａ，２１ｂによる撮影状況を示している。図３Ａの例では、２つの撮影カメラ２１ａ，２１ｂは、近景の人物と、遠景の山とを同時に撮影している。
【００２９】
図３Ｂは、２つの撮影カメラ２１ａ，２１ｂの撮影画像を示している。図３Ｂに示す撮影画像２２ａは、撮影カメラ２１ａの撮影画像を示し、撮影画像２２ｂは、撮影カメラ２１ｂの撮影画像を示している。
【００３０】
図２に示した入力バッファ部１１には、例えば、図３Ｂに示す撮影画像２２ａ，２２ｂの画像データが入力される。そして、入力バッファ部１１に入力された撮影画像２２ａ，２２ｂの画像データは、調整部１２によって読み出され、画像調整が行われる。調整部１２によって画像調整が行われた画像データは、図２に示した合成部１３によって、単純合成される。すなわち、合成部１３は、重なる部分（境界部）の画像を補正せずに、単に２つの撮影画像２２ａ，２２ｂの両端が一部重なるように合成する。
【００３１】
図３Ｃは、図３Ｂの２つの撮影画像２２ａ，２２ｂの合成画像を示している。撮影カメラ２１ａ，２１ｂの画像データを単純合成した場合、図３Ｃの点線Ａ１に示すように、２つの撮影画像２２ａ，２２ｂの境界部において、差異（切れ目）が生じる場合がある。例えば、近景の人物が一部消滅し、また、遠景の山が離れたりする。
【００３２】
境界部の差異は、例えば、遠景の山と近景の人物との視差や、カメラレンズによる幾何的な歪みなどがある。また、境界部の差異は、例えば、２つの撮影カメラ２１ａ，２１ｂの露出差による輝度の差や、色ムラなどがある。
【００３３】
図３Ｄは、図３Ｃの合成画像の境界部を補正した後の画像を示している。図２に示した補正値算出部１５は、合成部１３によって合成された画像の境界部が滑らかに表示されるように、画像データの画像補正値を算出する。隣り合う画像の境界部は、算出された画像補正値によって、図３Ｄの点線Ａ２に示すように滑らかに表示される。
【００３４】
図３Ａ〜図３Ｄの例のように、２つの撮影カメラ２１ａ，２１ｂの画像データを合成する場合、境界部は１つとなる。一方、図１の例のように、４つの撮影カメラ１ａ〜１ｄによる画像データを合成してパノラマ画像を生成する場合、境界部は３つとなる（図４Ａの点線Ａ１１〜Ａ１３を参照）。３つの境界部において、画像補正値の算出を行うと、画像処理装置２（補正値算出部１５）の処理は重くなる。なお、画像処理装置２の処理は、画像データの境界部の数の増加に伴って重くなる。そして、境界部の数は、撮影カメラの数の増加に伴って増加する。
【００３５】
そこで、境界部選択部１４は、上記したように、画像補正値を算出する境界部を選択する。そして、補正値算出部１５は、境界部選択部１４によって選択された境界部の画像補正値を算出する。
【００３６】
図４Ａ〜図４Ｅは、境界部選択部１４および補正値算出部１５の処理例を説明する図である。図４Ａに示す撮影画像３１は、図１に示した撮影カメラ１ａの撮影画像を示している。撮影画像３２は、撮影カメラ１ｂの撮影画像を示している。撮影画像３３は、撮影カメラ１ｃの撮影画像を示している。撮影画像３４は、撮影カメラ１ｄの撮影画像を示している。
【００３７】
図４Ａに示す点線Ａ１１は、２つの隣り合う撮影画像３１，３２の境界部を示している。点線Ａ１２は、２つの隣り合う撮影画像３２，３３の境界部を示している。点線Ａ１３は、２つの隣り合う撮影画像３３，３４の境界部を示している。
【００３８】
図４Ｂには、フレームｎにおける撮影画像が示してある。境界部選択部１４は、フレームｎにおいては、点線Ａ１１〜Ａ１３に示す境界部のうち、点線Ａ１１に示す境界部を選択する。これにより、補正値算出部１５は、点線Ａ１１に示す境界部の画像補正値を算出する。
【００３９】
図４Ｃには、フレームｎ＋１における撮影画像が示してある。境界部選択部１４は、フレームｎ＋１においては、点線Ａ１１〜Ａ１３に示す境界部のうち、点線Ａ１２に示す境界部を選択する。これにより、補正値算出部１５は、点線Ａ１２に示す境界部の画像補正値を算出する。
【００４０】
図４Ｄには、フレームｎ＋２における撮影画像が示してある。境界部選択部１４は、フレームｎ＋２においては、点線Ａ１１〜Ａ１３に示す境界部のうち、点線Ａ１３に示す境界部を選択する。これにより、補正値算出部１５は、点線Ａ１３に示す境界部の画像補正値を算出する。
【００４１】
図４Ｅには、フレームｎ＋３における撮影画像が示してある。境界部選択部１４は、フレームｎ＋３においては、点線Ａ１１〜Ａ１３に示す境界部のうち、点線Ａ１１に示す境界部を選択する。これにより、補正値算出部１５は、点線Ａ１１に示す境界部の画像補正値を算出する。境界部選択部１４は、以下、同様にして、フレームごとに選択する境界部を順次切替える。
【００４２】
このように、境界部選択部１４の境界部の選択によって、補正値算出部１５が算出する境界部の補正値算出が間引かれる。これにより、画像処理装置２（補正値算出部１５）の処理は軽減され、高速化される。
【００４３】
境界部選択部１４の境界部選択アルゴリズムの例について説明する。境界部選択部１４は、例えば、次の式（１）に基づいて、境界部を選択する。
【００４４】
Ｎｂｏｒｄｅｒ％Ｐ＝Ｎｆｒａｍｅ％Ｐ  …（１）
ここで、「％」は剰余算を示し、「Ｎｂｏｒｄｅｒ」は境界部の番号を示している。境界部は、例えば、左側から昇順に番号が振られる。例えば、図４Ａの点線Ａ１１に示す境界部には、「１」が振られ、点線Ａ１２に示す境界部には、「２」が振られ、点線Ａ１３に示す境界部には、「３」が振られる。
【００４５】
「Ｎｆｒａｍｅ」は画像処理中のフレーム番号を示している。「Ｐ」は、境界部総数以下で設定されるパラメータである。「Ｐ」は、例えば、記憶部１８に予め記憶されている。
【００４６】
例えば、記憶部１８に「Ｐ＝２」が記憶されている場合、境界部選択部１４は、フレームごとに偶数番号の境界部と、奇数番号の境界部とを交互に選択する。また、例えば、記憶部１８に「Ｐ＝境界部総数」が記憶されている場合、境界部選択部１４は、フレームごとに境界部を１つずつ順番に選択する。なお、記憶部１８に「Ｐ＝３」が記憶されている場合、境界部選択部１４は、図４Ｂ〜図４Ｅで説明したように、順次、境界部を選択する。
【００４７】
パラメータ「Ｐ」の値は、例えば、動画映像における被写体の動きの大きさによって決められる。例えば、映像の動きが大きければ、パラメータ「Ｐ」の値を小さくし、画像補正値の算出頻度を多くする。また、パラメータ「Ｐ」の値は、例えば、プロセッサの処理能力によって決められる。例えば、プロセッサの処理能力が高ければ、パラメータ「Ｐ」の値を小さくし、画像補正値の算出頻度を多くする。また、プロセッサの処理に余裕が多ければ「Ｐ」の値を小さくし、余裕が少なければ「Ｐ」の値を大きくするとしてもよい。プロセッサの処理能力を示す指標の一例としては、ＣＰＵのクロック周波数などが考えられる。また、処理の余裕を示す指標の一例としては、ＣＰＵ利用率などが考えられる。パラメータ「Ｐ」の値は、例えば、ユーザによって設定されてもよいし、自動映像解析により動的に設定されてもよい。
【００４８】
このように、境界部選択部１４は、式（１）に基づいて、隣り合う画像データの境界部の中から、画像補正値を算出する境界部を選択することができる。
【００４９】
図２の説明に戻る。画像補正部１６は、補正値算出部１５によって算出された画像補正値を用いて、境界部の画像補正を行う。
【００５０】
ここで、各フレームでは、画像補正値が算出される境界部と、画像補正値が算出されない境界部とが存在する。例えば、図４Ｂに示すフレームｎでは、点線Ａ１１に示す境界部については、画像補正値が算出されるが、点線Ａ１２，Ａ１３に示す境界部については、画像補正値が算出されない。また、図４Ｃに示すフレームｎ＋１では、点線Ａ１２に示す境界部については、画像補正値が算出されるが、点線Ａ１１，Ａ１３に示す境界部については、画像補正値が算出されない。
【００５１】
そこで、画像補正部１６は、画像補正値が算出されない境界部については、過去に算出された画像補正値を用いて画像補正を行う。
【００５２】
例えば、図４Ｃに示すフレームｎ＋１では、画像補正部１６は、点線Ａ１１に示す境界部については、過去のフレームｎにおいて算出された点線Ａ１１に示す画像補正値を用いて画像補正を行う。また、画像補正部１６は、点線Ａ１３に示す境界部については、過去のフレームｎ−１（図示せず）において算出された画像補正値を用いて画像補正を行う。
【００５３】
また、例えば、図４Ｄに示すフレームｎ＋２では、画像補正部１６は、点線Ａ１１に示す境界部については、過去のフレームｎにおいて算出された点線Ａ１１に示す画像補正値を用いて画像補正を行う。また、画像補正部１６は、点線Ａ１２に示す境界部については、過去のフレームｎ＋１において算出された点線Ａ１２に示す画像補正値を用いて画像補正を行う。
【００５４】
このように、画像補正部１６は、境界部選択部１４によって選択されなかった境界部については、過去に算出された画像補正値を用いて画像補正を行う。一般的に、画像補正値は、経時変化が少ないため、近い過去に算出された画像補正値を用いて画像補正を行っても、画像品質はほとんど低下しない。
【００５５】
出力バッファ部１７は、合成部１３によって合成され、画像補正部１６によって画像補正された画像データを一時記憶する。出力バッファ部１７に一時記憶された画像データは、表示装置３に出力される。
【００５６】
記憶部１８には、各種設定データが記憶される。例えば、記憶部１８には、上記したパラメータ「Ｐ」が記憶される。
【００５７】
図５は、画像処理装置２の動作例を示したフローチャートである。撮影カメラ１ａ〜１ｄは、撮影エリアを撮影し、画像データを画像処理装置２に出力しているとする。
【００５８】
まず、画像処理装置２の入力バッファ部１１は、撮影カメラ１ａ〜１ｄから出力される画像データを入力する（ステップＳ１）。入力バッファ部１１は、入力した画像データを一時記憶する。
【００５９】
次に、画像処理装置２は、ステップＳ１にて入力バッファ部１１に一時記憶された画像データをスティッチング処理する（ステップＳ２）。なお、画像処理装置２のスティッチング処理については、以下でフローチャートを用いて詳細に説明する。
【００６０】
次に、画像処理装置２は、ステップＳ２にてスティッチング処理した画像データ（パノラマ映像）を表示装置３に出力する（ステップＳ３）。
【００６１】
次に、画像処理装置２は、動画処理を終了するか否か判定する（ステップＳ４）。画像処理装置２は、動画処理を終了しないと判定した場合（Ｓ４の「Ｎｏ」）、処理をステップＳ１に移行し、動画処理を終了すると判定した場合（Ｓ４の「Ｙｅｓ」）、当該フローチャートの処理を終了する。なお、画像処理装置２は、例えば、ユーザから動画処理の終了操作を受け付けた場合に、動画処理を終了する。
【００６２】
図６は、スティッチング処理の詳細な処理例を示したフローチャートである。図６のフローチャートは、図５のフローチャートのステップＳ２の詳細な処理例を示している。画像処理装置２は、例えば、画像の１フレーム周期ごとに、図６に示したフローチャートの処理を実行する。
【００６３】
まず、調整部１２は、入力バッファ部１１に一時記憶されている撮影カメラ１ａ〜１ｄの画像データを読み込む（ステップＳ１１）。
【００６４】
次に、調整部１２は、ステップＳ１１にて読み込んだ画像データの画像調整を行う（ステップＳ１２）。例えば、調整部１２は、撮影カメラ１ａ〜１ｄの空間配置や光学特性などの情報に基づいて、画像データのパノラマ合成のための調整を行う。
【００６５】
次に、合成部１３は、ステップＳ１２にて画像調整された画像データをパノラマ合成する（ステップＳ１３）。
【００６６】
次に、境界部選択部１４は、ステップＳ１３にて合成された画像データの境界部の中から、画像補正値を算出する境界部を選択する（ステップＳ１４）。例えば、境界部選択部１４は、図４Ａの点線Ａ１１〜Ａ１３に示す境界部の中から、画像補正値を算出する境界部を選択する。境界部選択部１４は、例えば、上記した式（１）に基づいて、画像補正値を算出する境界部を選択する。
【００６７】
次に、補正値算出部１５は、画像データの境界部を１つ抽出し、抽出した境界部がステップＳ１４にて選択された境界部であるか否か判定する（ステップＳ１５）。補正値算出部１５は、抽出した境界部がステップＳ１４にて選択された境界部であると判定した場合（Ｓ１５の「Ｙｅｓ」）、抽出した境界部の画像補正値を算出する（ステップＳ１６）。
【００６８】
一方、補正値算出部１５は、抽出した境界部がステップＳ１４にて選択された境界部でないと判定した場合（Ｓ１５の「Ｎｏ」）、過去に算出した補正値を、抽出した境界部の画像補正値とする（ステップＳ１７）。
【００６９】
補正値算出部１５は、ステップＳ１６またはステップＳ１７の処理の後、ステップＳ１３にてパノラマ合成された画像データの境界部を、全て抽出したか否か判定する（ステップＳ１８）。例えば、補正値算出部１５は、図４Ａの点線Ａ１１〜Ａ１３に示す境界部を、順次全て抽出したか否か判定する。補正値算出部１５は、境界部を全て抽出していないと判定した場合（Ｓ１８の「Ｎｏ」）、処理をステップＳ１５へ移行する。
【００７０】
なお、補正値算出部１５は、ステップＳ１８からステップＳ１５へ処理を移行した場合、ステップＳ１５の処理では、次の境界部を抽出する。例えば、補正値算出部１５は、図４Ａの点線Ａ１１に示す境界部を抽出していた場合、次に点線Ａ１２に示す境界部を抽出する。また、補正値算出部１５は、例えば、図４Ａの点線Ａ１２に示す境界部を抽出していた場合、次に点線Ａ１３に示す境界部を抽出する。
【００７１】
一方、補正値算出部１５は、境界部を全て抽出したと判定した場合（Ｓ１８の「Ｙｅｓ」）、処理をステップＳ１９へ移行する。そして、画像補正部１６は、境界部の画像補正を行う（ステップＳ１９）。
【００７２】
画像補正部１６は、ステップＳ１９の処理において、ステップＳ１４にて選択された境界部に対しては、ステップＳ１６にて算出された画像補正値を用いて画像補正を行う。一方、画像補正部１６は、ステップＳ１４にて選択されなかった境界部に対しては、ステップＳ１７より、過去に算出された画像補正値を用いて画像補正を行う。
【００７３】
次に、画像補正部１６は、ステップＳ１９にて画像補正した画像データを出力バッファ部１７へ出力する（ステップＳ２０）。そして、画像補正部１６は、当該フローチャートの処理を終了する。
【００７４】
なお、出力バッファ部１７に出力された画像データは、表示装置３へ出力され、表示装置３に表示される。
【００７５】
画像処理装置２のハードウェア構成例について説明する。
【００７６】
図７は、画像処理装置２のハードウェア構成例を示した図である。図７に示すように、画像処理装置２は、入力バッファ４１と、ＲＯＭ（Read Only Memory）４２と、プロセッサ４３と、ＲＡＭ（Random access memory）４４と、出力バッファ４５と、を有している。
【００７７】
入力バッファ４１は、撮影カメラ１ａ〜１ｄから出力される画像データを一時記憶する記憶装置である。入力バッファ４１は、例えば、ＲＡＭによって構成される。
【００７８】
ＲＯＭ４２には、プロセッサ４３に実行させるプログラムや各種データが記憶されている。プロセッサ４３は、例えば、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、またはＤＳＰ（Digital Signal Processor）等のプロセッサである。プロセッサ４３は、ＲＯＭ４２に記憶されるプログラムに従って、所定の実現を発揮する。ＲＡＭ４４には、プロセッサ４３が利用する各種データが一時的に記憶される。
【００７９】
出力バッファ４５は、プロセッサ４３が生成したパノラマ画像の画像データを一時記憶する記憶装置である。出力バッファ４５は、例えば、ＲＡＭによって構成される。出力バッファ４５に記憶された画像データは、表示装置３に出力される。
【００８０】
図２に示した入力バッファ部１１の機能は、例えば、入力バッファ４１によって実現される。また、調整部１２、合成部１３、境界部選択部１４、補正値算出部１５、および画像補正部１６の機能は、例えば、プロセッサ４３によって実現される。出力バッファ部１７の機能は、例えば、出力バッファ４５によって実現される。記憶部１８は、ＲＯＭ４２またはＲＡＭ４４によって実現される。
【００８１】
以上説明したように、境界部選択部１４は、隣り合う画像データの境界部の中から、画像補正値を算出する境界部を選択する。補正値算出部１５は、境界部選択部１４によって選択された境界部の画像補正値を算出する。画像補正部１６は、境界部選択部１４によって選択された境界部においては、補正値算出部１５によって算出された画像補正値を用いて境界部の画像補正を行い、境界部選択部１４によって選択されなかった境界部においては、過去に算出された画像補正値を用いて画像補正を行う。
【００８２】
これにより、補正値算出部１５は、隣り合う画像データの境界部の全てにおいて画像補正値を算出しなくて済み、画像処理装置２は、画像処理の高速化を図ることができる。また、画像補正部１６は、画像補正値が算出されなかった境界部においては、過去に算出された画像補正値を用いて画像補正を行うので、画像処理装置２は、画像補正値が算出されなかった境界部の画像品質の低下を抑制することができる。
【００８３】
また、画像処理の高速化を図ることにより、パノラマ画像のリアルタイム処理が可能となる。
【００８４】
なお、境界部選択部１４は、境界部を選択したとき、選択した境界部の映像を記憶部１８に記憶し、現フレームの境界部のそれぞれの映像と、記憶部１８に記憶した対応する境界部の映像とを比較し、所定の閾値を超える映像の変化のあった境界部を選択するようにしてもよい。境界部選択部１４は、現フレームにおいて選択した境界部の映像を、記憶部１８に記憶（上書き）する。
【００８５】
例えば、図４Ａを用いて説明すると、記憶部１８には、以前、境界部選択部１４によって選択されたときの点線Ａ１１〜Ａ１３に示す境界部の映像が記憶されている。境界部選択部１４は、現フレームにおける点線Ａ１１〜Ａ１３に示す境界部のそれぞれの映像と、記憶部１８に記憶されている以前選択されたときの点線Ａ１１〜Ａ１３に示す境界部のそれぞれの映像とを比較する。そのうち、例えば、点線Ａ１２に示す現フレームの境界部の映像だけが、記憶部１８に記憶されている点線Ａ１２に示す境界部の映像に対し、映像の変化が所定の閾値を超えたとする。この場合、境界部選択部１４は、点線Ａ１２に示す境界部を選択する。境界部選択部１４は、選択した点線Ａ１２に示す境界部の映像を記憶部１８に記憶（上書き）する。なお、所定の閾値は、ユーザによって選択されてもよいし、自動映像解析により動的に設定されてもよい。この例は、例えば、境界部に人物などの移動または変形する被写体が存在する場合に相当する。このような場合、過去の画像補正値をそのまま適用すると被写体の変化に十分に追随できない可能性が高いため、例外的に画像補正値を再計算することで、合成画像の違和感を軽減することができる。
【００８６】
また、補正値算出部１５は、境界部選択部１４によって選択されなかった境界部においては、過去に算出された画像補正値をそのまま適用するとしたがこれに限られない。例えば、補正値算出部１５は、過去の複数のフレームにおける画像補正値から、今回の画像補正値を予測（算出）してもよい。そして、画像補正部１６は、予測した画像補正値で、境界部選択部１４によって選択されなかった境界部を補正してもよい。
【００８７】
また、補正値算出部１５は、過去と未来の画像補正値を用いて、今回の画像補正値を推定（算出）してもよい。
【００８８】
図８は、過去と未来の画像補正値を用いて、画像補正値を推定する例を説明する図である。図８に示す「入力」は、合成部１３で合成された画像データの境界部の中の一つの注目境界部（例えば、図４Ａの点線Ａ１１に示す境界部）の画像データを示している。
【００８９】
図８に示す「出力」は、注目境界部における画像補正値を示している。図８に示す矢印は時間軸を示している。「入力」と「出力」の番号はフレーム番号を示している。図８に示す「入力」の斜線は、注目境界部が境界部選択部１４で選択されたことを示している。
【００９０】
まず、補正値算出部１５は、「フレーム１」における注目境界部の画像データが入力されると、この注目境界部が境界部選択部１４で選択されたため「フレーム１」におけるこの注目境界部の画像補正値を算出する。補正値算出部１５は、算出した「フレーム１」におけるこの注目境界部の画像補正値を記憶部１８に記憶する。
【００９１】
次に、補正値算出部１５は、「フレーム２」における同じ注目境界部の画像データが入力されると、この注目境界部が境界部選択部１４で選択されないため「フレーム２」におけるこの注目境界部の補正値を算出しない。補正値算出部１５は、記憶部１８に記憶されている「フレーム１」におけるこの注目境界部の画像補正値を出力する。
【００９２】
次に、補正値算出部１５は、「フレーム３」における同じ注目境界部の画像データが入力されると、この注目境界部が境界部選択部１４で選択されたため「フレーム３」におけるこの注目境界部の補正値を算出する。補正値算出部１５は、算出した「フレーム３」におけるこの注目境界部の画像補正値を記憶部１８に記憶する。補正値算出部１５は、記憶部１８に記憶されている「フレーム１」におけるこの注目境界部の画像補正値と、「フレーム３」におけるこの注目境界部の画像補正値とを用いて、「フレーム２」におけるこの注目境界部の補正値を算出して出力する。例えば、補正値算出部１５は、記憶部１８に記憶されている「フレーム１」におけるこの注目境界部の画像補正値と、「フレーム３」におけるこの注目境界部の画像補正値との平均値を、「フレーム２」におけるこの注目境界部の補正値として出力する。
【００９３】
次に、補正値算出部１５は、「フレーム４」における同じ注目境界部の画像データが入力されると、この注目境界部が境界部選択部１４で選択されないため「フレーム４」におけるこの注目境界部の補正値を算出しない。補正値算出部１５は、記憶部１８に記憶されている「フレーム３」におけるこの注目境界部の画像補正値を出力する。
【００９４】
次に、補正値算出部１５は、「フレーム５」における同じ注目境界部の画像データが入力されると、この注目境界部が境界部選択部１４で選択されたため「フレーム５」におけるこの注目境界部の補正値を算出する。補正値算出部１５は、算出した「フレーム５」におけるこの注目境界部の画像補正値を記憶部１８に記憶する。補正値算出部１５は、記憶部１８に記憶されている「フレーム３」におけるこの注目境界部の画像補正値と、「フレーム５」におけるこの注目境界部の画像補正値とを用いて、「フレーム４」におけるこの注目境界部の補正値を算出して出力する。例えば、補正値算出部１５は、記憶部１８に記憶されている「フレーム３」におけるこの注目境界部の画像補正値と、「フレーム５」におけるこの注目境界部の画像補正値との平均値を、「フレーム４」におけるこの注目境界部の補正値として出力する。
【００９５】
補正値算出部１５は、以下同様の処理を全ての境界部に対して適用し続ける。画像補正部１６は、あるフレームにおける全ての境界部の画像補正値が算出されると、このフレームの画像データの画像補正を行い、補正した画像データを出力バッファ部１７に出力する。
【００９６】
以上の処理によって、画像処理装置２は、過去と未来の画像補正値に基づいて画像データの補正を行うことができる。これにより、境界部についてフレーム間での違和感の少ない補正を行うことができる。ただし、上記の実装を行う場合、出力される画像データは、入力される画像データに対し、１又は数フレーム分遅延する。なお、上記の例では、補正値算出部１５は、過去と未来の画像補正値の平均値を出力するとしたが、平均値に限られるものではない。過去と未来とで異なる重み付けを行った平均値を出力するとしてもよいし、中央値など平均値と異なる計算過程によって導出される値を用いてもよい。
【００９７】
なお、未来の画像データが事前に保存されている場合には、補正値算出部１５が未来のフレームの画像データを先読みすることで未来の画像補正値を事前に計算することもできる。この場合、画像処理装置２は、出力する画像データの遅延なしでも、過去と未来の画像補正値に基づいて画像補正を行うことができる。
【００９８】
以上、本開示の実施の形態について説明したが、以下のような変形例も考えられる。
【００９９】
画像補正部１６は、境界部選択部１４によって選択されなかった境界部を、過去の画像補正値と関係ない補正値を用いて補正してもよい。例えば、予め定められた補正値を適用することなどが考えられる。
【０１００】
また、上記実施の形態は、パノラマ映像を生成することを想定しているが、この限りではない。例えば、全周映像を生成する場合でも同様の処理によって境界部を補正することができる。なお、合成される画像の数をｍとすると、パノラマ映像を生成する場合は境界部の数はｍ−１となるが、全周映像を生成する場合は境界部の数はｍとなる。
【０１０１】
また、上記実施の形態では、複数の撮像装置それぞれから撮像された画像を合成していたが、この限りではない。１台の撮像装置から隣り合う複数の撮像画像を取得してもよいし、隣り合うエリアについて事前に録画された画像同士を合成しても良い。すなわち、隣り合い、かつ、一部が重複する複数の画像データであれば、どのような画像データを用いてもよい。
【０１０２】
また、上記実施の形態では、境界部選択部１４は、全てのフレームで全境界部よりも少ない境界部を選択しているが、これに限られるものではない。例えば、境界部選択部１４は、あるフレームでは全境界部を選択し、他のフレームでは一部の境界部のみを選択するとしてもよい。この場合も、画像処理装置２は、全てのフレームにおいて全ての境界部の画像補正値を算出する場合と比べて処理負荷を軽減することができる。また、この変形例でも、選択されなかった境界部についての画像補正値を過去と未来の画像補正値に基づいて計算することが可能である。例えば、第１のフレームにおいて境界部の全てを選択し、第１のフレームに続く第２のフレームにおいては一部または全部の境界部を選択せず、第２のフレームに続く第３のフレームにおいて、境界部の全てを選択する場合、第２のフレームにおいて選択されていない境界部の画像補正値を、第１のフレームと第３のフレームにおける画像補正値の平均値として使用することなどが考えられる。なお、この場合も、必ずしも過去（第１のフレーム）の画像補正値と未来（第３のフレーム）の画像補正値の平均値を使用する必要はなく、他の計算過程によって導出される値を用いてもよい。
【０１０３】
また、上記実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１０４】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用してもよい。
【０１０５】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【産業上の利用可能性】
【０１０６】
本開示に係る画像処理装置および画像処理方法は、複数の撮影装置によって撮影された複数の画像データの合成に適用することができる。
【符号の説明】
【０１０７】
１ａ〜１ｄ  撮影カメラ
２  画像処理装置
３  表示装置
１１  入力バッファ部
１２  調整部
１３  合成部
１４  境界部選択部
１５  補正値算出部
１６  画像補正部
１７  出力バッファ部
１８  記憶部
【図１】
2018137003.tif 000003
【図２】
2018137003.tif 000004
【図３Ａ】
2018137003.tif 000005
【図３Ｂ】
2018137003.tif 000006
【図３Ｃ】
2018137003.tif 000007
【図３Ｄ】
2018137003.tif 000008
【図４Ａ】
2018137003.tif 000009
【図４Ｂ】
2018137003.tif 000010
【図４Ｃ】
2018137003.tif 000011
【図４Ｄ】
2018137003.tif 000012
【図４Ｅ】
2018137003.tif 000013
【図５】
2018137003.tif 000014
【図６】
2018137003.tif 000015
【図７】
2018137003.tif 000016
【図８】
2018137003.tif 000017