(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-22
(45)【発行日】2024-01-30
(54)【発明の名称】画像処理装置、画像処理システム、撮像装置、画像処理方法およびプログラム
(51)【国際特許分類】
G06T 3/00 20240101AFI20240123BHJP
G03B 19/07 20210101ALI20240123BHJP
G03B 15/00 20210101ALI20240123BHJP
G03B 37/04 20210101ALI20240123BHJP
【FI】
G06T3/00 780
G03B19/07
G03B15/00 W
G03B37/04
(21)【出願番号】P 2020012873
(22)【出願日】2020-01-29
【審査請求日】2022-11-17
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(72)【発明者】
【氏名】吉田 和弘
(72)【発明者】
【氏名】加藤 敬倫
(72)【発明者】
【氏名】多田 貴史
(72)【発明者】
【氏名】川本 啓之
(72)【発明者】
【氏名】宇佐美 真
(72)【発明者】
【氏名】小野 健一
【審査官】渡部 幸和
(56)【参考文献】
【文献】特開2015-207802(JP,A)
【文献】特開2016-040670(JP,A)
【文献】特開2019-009643(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/00
G03B 19/07
G03B 15/00
G03B 37/04
(57)【特許請求の範囲】
【請求項1】
第1の画像および第2の画像が入力される画像入力手段と、
前記画像入力手段に入力される画像間の複数の箇所各々のつなぎ位置を記憶する記憶手段と、
前記複数の箇所各々について、前記記憶手段に記憶された過去のつなぎ位置の有効性を評価する評価手段と、
前記有効性が基準を満たした箇所の前記記憶手段に記憶された過去のつなぎ位置に基づいて、前記画像入力手段に入力される第1の画像および第2の画像に基づく合成処理を実行する画像合成処理手段と
を含
み、
前記記憶手段に記憶されるつなぎ位置は、前記複数の箇所各々について、前回のつなぎ位置と、所定期間内で検出されたもののうちの遠距離側に位置する基本のつなぎ位置とを含み、
前記前回のつなぎ位置を前記第1の画像および第2の画像に適用した場合の適合度を、前記有効性を示す第1の評価値とし、前記基本のつなぎ位置を前記第1の画像および第2の画像に適用した場合の適合度を、前記有効性を示す第2の評価値とし、
前記基準は、第1の基準と第2の基準とを含み、前記第1の評価値が前記第1の基準を満たさず、かつ、前記第2の評価値が前記第2の基準を満たす場合に、前記基本のつなぎ位置が前記過去のつなぎ位置として前記合成処理に用いられる、画像処理装置。
【請求項2】
第1の画像および第2の画像が入力される画像入力手段と、
前記画像入力手段に入力される画像間の複数の箇所各々のつなぎ位置を記憶する記憶手段と、
前記複数の箇所各々について、前記記憶手段に記憶された過去のつなぎ位置の有効性を評価する評価手段と、
前記有効性が基準を満たした箇所の前記記憶手段に記憶された過去のつなぎ位置に基づいて、前記画像入力手段に入力される第1の画像および第2の画像に基づく合成処理を実行する画像合成処理手段と、
被写体距離情報を取得する手段と、
前記有効性が基準を満たさない箇所について、前記被写体距離情報に基づいて探索範囲を設定し、前記画像入力手段に入力される第1の画像および第2の画像間のつなぎ位置を検出する検出手段と
を含む、画像処理装置。
【請求項3】
第1の画像および第2の画像が入力される画像入力手段と、
前記画像入力手段に入力される画像間の複数の箇所各々のつなぎ位置を記憶する記憶手段と、
前記複数の箇所各々について、前記記憶手段に記憶された過去のつなぎ位置の有効性を評価する評価手段と、
前記有効性が基準を満たした箇所の前記記憶手段に記憶された過去のつなぎ位置に基づいて、前記画像入力手段に入力される第1の画像および第2の画像に基づく合成処理を実行する画像合成処理手段と
を含み、
前記合成処理は、前記複数の箇所各々のつなぎ位置に基づき生成される変換テーブルを用いて行われ、前記変換テーブルは、前記複数の箇所のうちの基準以上の箇所で採用するつなぎ位置の変更に応答して更新が行われ、基準以上の箇所で前記有効性が基準を満たす場合に、前記変換テーブルの前記更新が省略される、画像処理装置。
【請求項4】
前記記憶手段に記憶されるつなぎ位置は、前記複数の箇所各々について、前回のつなぎ位置を含み、
前記画像処理装置は、前記前回のつなぎ位置を前記第1の画像および第2の画像に適用した場合の適合度を前記有効性とし、該有効性が前記基準を満たす場合に、前記前回のつなぎ位置が前記過去のつなぎ位置として前記合成処理に用いられる、請求項1
~3のいずれか1項に記載の画像処理装置。
【請求項5】
前記複数の箇所各々について、前記記憶手段に記憶される基本のつなぎ位置と比較して、前記合成処理に用いられるつなぎ位置が、より遠距離側に位置する場合に、前記記憶手段の前記基本のつなぎ位置を、前記合成処理に用いられるつなぎ位置で更新する手段を含む、請求項
1~3のいずれか1項に記載の画像処理装置。
【請求項6】
前記複数の箇所各々について、前記記憶手段に記憶される基本のつなぎ位置と比較して、前記合成処理に用いられるつなぎ位置がより近距離側に位置し、かつ、前記合成処理に用いられる略同一のつなぎ位置の継続期間が所定の基準を満たす場合に、前記記憶手段の前記基本のつなぎ位置を、前記合成処理に用いられるつなぎ位置で更新する手段を含む、請求項
1、2、3および5のいずれか1項に記載の画像処理装置。
【請求項7】
前記有効性が基準を満たさない箇所について、前記基本のつなぎ位置に基づいて探索範囲を設定し、前記画像入力手段に入力される第1の画像および第2の画像間のつなぎ位置を検出する検出手段
をさらに含む、請求項
1、2、3、5および6のいずれか1項に記載の画像処理装置。
【請求項8】
前記第1の画像、前記第2の画像、および、前記合成処理により合成された合成画像は、それぞれ、動画における1フレーム分の画像を構成し、前記合成画像は、全天球画像、360°パノラマ画像またはこれらの一部である、請求項1~
7のいずれか1項に記載の画像処理装置。
【請求項9】
第1の画像および第2の画像が入力される画像入力手段と、
前記画像入力手段に入力される画像間の複数の箇所各々のつなぎ位置を記憶する記憶手段と、
前記複数の箇所各々について、前記記憶手段に記憶された過去のつなぎ位置の有効性を評価する評価手段と、
前記有効性が基準を満たした箇所の前記記憶手段に記憶された過去のつなぎ位置に基づいて、前記画像入力手段に入力される第1の画像および第2の画像に基づく合成処理を実行する画像合成処理手段と
を含
み、
前記記憶手段に記憶されるつなぎ位置は、前記複数の箇所各々について、前回のつなぎ位置と、所定期間内で検出されたもののうちの遠距離側に位置する基本のつなぎ位置とを含み、
前記前回のつなぎ位置を前記第1の画像および第2の画像に適用した場合の適合度を、前記有効性を示す第1の評価値とし、前記基本のつなぎ位置を前記第1の画像および第2の画像に適用した場合の適合度を、前記有効性を示す第2の評価値とし、
前記基準は、第1の基準と第2の基準とを含み、前記第1の評価値が前記第1の基準を満たさず、かつ、前記第2の評価値が前記第2の基準を満たす場合に、前記基本のつなぎ位置が前記過去のつなぎ位置として前記合成処理に用いられる、画像処理システム。
【請求項10】
第1の画像および第2の画像が入力される画像入力手段と、
前記画像入力手段に入力される画像間の複数の箇所各々のつなぎ位置を記憶する記憶手段と、
前記複数の箇所各々について、前記記憶手段に記憶された過去のつなぎ位置の有効性を評価する評価手段と、
前記有効性が基準を満たした箇所の前記記憶手段に記憶された過去のつなぎ位置に基づいて、前記画像入力手段に入力される第1の画像および第2の画像に基づく合成処理を実行する画像合成処理手段と、
被写体距離情報を取得する手段と、
前記有効性が基準を満たさない箇所について、前記被写体距離情報に基づいて探索範囲を設定し、前記画像入力手段に入力される第1の画像および第2の画像間のつなぎ位置を検出する検出手段と
を含む、画像処理システム。
【請求項11】
第1の画像および第2の画像が入力される画像入力手段と、
前記画像入力手段に入力される画像間の複数の箇所各々のつなぎ位置を記憶する記憶手段と、
前記複数の箇所各々について、前記記憶手段に記憶された過去のつなぎ位置の有効性を評価する評価手段と、
前記有効性が基準を満たした箇所の前記記憶手段に記憶された過去のつなぎ位置に基づいて、前記画像入力手段に入力される第1の画像および第2の画像に基づく合成処理を実行する画像合成処理手段と
を含み、
前記合成処理は、前記複数の箇所各々のつなぎ位置に基づき生成される変換テーブルを用いて行われ、前記変換テーブルは、前記複数の箇所のうちの基準以上の箇所で採用するつなぎ位置の変更に応答して更新が行われ、基準以上の箇所で前記有効性が基準を満たす場合に、前記変換テーブルの前記更新が省略される、画像処理システム。
【請求項12】
前記合成処理により生成された合成画像を配信する配信手段
をさらに含む、請求項
9~11のいずれか1項に記載の画像処理システム。
【請求項13】
複数の光学系と、
前記複数の光学系各々を通して複数の部分画像を撮像する撮像手段と、
請求項1~
8のいずれか1項に記載の画像処理処理と
を含み、前記画像入力手段に入力される第1の画像および第2の画像は、異なる光学系を通して撮像された第1の部分画像および第2の部分画像に基づく、撮像装置。
【請求項14】
画像処理方法であって、コンピュータが、
画像間の複数の箇所各々の過去のつなぎ位置を読み出すステップと、
第1の画像および第2の画像の入力を受けるステップと、
前記複数の箇所各々について、読み出した過去のつなぎ位置の有効性を評価するステップと、
入力される第1の画像および第2の画像に基づく合成処理を実行するステップであって、前記有効性が基準を満たした箇所について読み出した過去のつなぎ位置に基づいて、前記合成処理が行われる、当該実行するステップと
を実行
し、
前記読み出した過去のつなぎ位置は、前記複数の箇所各々について、前回のつなぎ位置と、所定期間内で検出されたもののうちの遠距離側に位置する基本のつなぎ位置とを含み、
前記前回のつなぎ位置を前記第1の画像および第2の画像に適用した場合の適合度を、前記有効性を示す第1の評価値とし、前記基本のつなぎ位置を前記第1の画像および第2の画像に適用した場合の適合度を、前記有効性を示す第2の評価値とし、
前記基準は、第1の基準と第2の基準とを含み、前記第1の評価値が前記第1の基準を満たさず、かつ、前記第2の評価値が前記第2の基準を満たす場合に、前記基本のつなぎ位置が前記過去のつなぎ位置として前記合成処理に用いられる、画像処理方法。
【請求項15】
コンピュータを、
第1の画像および第2の画像が入力される画像入力手段、
前記画像入力手段に入力される画像間の複数の箇所各々のつなぎ位置を記憶する記憶手段、
前記複数の箇所各々について、前記記憶手段に記憶された過去のつなぎ位置の有効性を評価する評価手段、および
前記有効性が基準を満たした箇所の前記記憶手段に記憶された過去のつなぎ位置に基づいて、前記画像入力手段に入力される第1の画像および第2の画像に基づく合成処理を実行する画像合成処理手段
として機能させ
、
前記記憶手段に記憶されるつなぎ位置は、前記複数の箇所各々について、前回のつなぎ位置と、所定期間内で検出されたもののうちの遠距離側に位置する基本のつなぎ位置とを含み、
前記前回のつなぎ位置を前記第1の画像および第2の画像に適用した場合の適合度を、前記有効性を示す第1の評価値とし、前記基本のつなぎ位置を前記第1の画像および第2の画像に適用した場合の適合度を、前記有効性を示す第2の評価値とし、
前記基準は、第1の基準と第2の基準とを含み、前記第1の評価値が前記第1の基準を満たさず、かつ、前記第2の評価値が前記第2の基準を満たす場合に、前記基本のつなぎ位置が前記過去のつなぎ位置として前記合成処理に用いられる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理システム、撮像装置、画像処理方法およびプログラムに関する。
【背景技術】
【0002】
従来、全方位を撮像する撮像装置においては、複数の広角レンズまたは魚眼レンズを用いて撮像し、複数の画像に対して歪み補正および射影変換を行い、各レンズにより撮像された部分画像をつなぎ合わせて1枚の全天球画像とする処理が行われる。画像をつなぎ合わせる処理においては、複数の部分画像が重なる重複領域について、パターンマッチング手法などを用いて、撮影されている物体が重なる位置を検出し、画像がつなぎ合わせられる。
【0003】
被写体距離に応じて画像をつなぎ合わせる処理の負荷が大きいため、つなぎ位置を固定してリアルタイム配信を行うこともできる。しかしながら、つなぎ位置を固定して処理すると、つなぎ合わせ境界において被写体がつながらず、画像の品質が劣化する可能性がある。また、処理能力の高いシステムを使用することで、リアルタイムにつなぎ位置の検出およびつなぎ合わせ処理を行うこともできる。しかしながら、上述したつなぎ位置の検出およびつなぎ合わせ処理を常に行う場合、頻繁につなぎ位置の変更が発生すると、フレーム間の連続性が損なわれ、つなぎ合わせ箇所で画像が不自然に動いてしまい、動画の品質の劣化を生じさせる場合があった。例えば、会議を撮影している場合に、撮像装置も被写体もあまり動いていないにも関わらず、つなぎ合わせ部分の画像情報の小さな変化に起因して、検出されるつなぎ位置が変動することがある。この変動に対応して、頻繁につなぎ位置が変わってしまうと、不自然な動きとして画像に顕れてしまう。
【0004】
動画像のつなぎ合わせに関連して、特許第4577765号公報(特許文献1)が知られている。特許文献1は、複数の移動カメラからの動画像であっても、それらの動画像から1つのパノラマ動画像を高速に生成することを目的とした技術を開示する。特許文献1では、先頭フレームについては、複数の動画像間で位置ずれを求め、次フレーム以降でフレーム間の位置ずれを求めることで、複数の動画像間の位置ずれを高速に求める技術が開示される。しかしながら、頻繁につなぎ位置が変更されると、つなぎ合わせ箇所で画像が不自然に動いてしまい、動画の品質の劣化を生じさせるという観点では開示されていない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、上記点に鑑みてなされたものであり、複数の画像を合成した合成画像において、つなぎ合わせ箇所近傍で画像が不自然に動く等、つなぎ位置の変更に起因する動画の品質の劣化を抑制することが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示では、上記課題を解決するために、下記特徴を有する画像処理装置を提供する。 本画像処理装置は、第1の画像および第2の画像が入力される画像入力手段と、画像入力手段に入力される画像間の複数の箇所各々のつなぎ位置を記憶する記憶手段とを含む。 本画像処理装置は、さらに、複数の箇所各々について、記憶手段に記憶された過去のつなぎ位置の有効性を評価する評価手段と、有効性が基準を満たした箇所の記憶手段に記憶された過去のつなぎ位置に基づいて、画像入力手段に入力される第1の画像および第2の画像に基づく合成処理を実行する画像合成処理手段とを含み、前記記憶手段に記憶されるつなぎ位置は、前記複数の箇所各々について、前回のつなぎ位置と、所定期間内で検出されたもののうちの遠距離側に位置する基本のつなぎ位置とを含み、前記前回のつなぎ位置を前記第1の画像および第2の画像に適用した場合の適合度を、前記有効性を示す第1の評価値とし、前記基本のつなぎ位置を前記第1の画像および第2の画像に適用した場合の適合度を、前記有効性を示す第2の評価値とし、前記基準は、第1の基準と第2の基準とを含み、前記第1の評価値が前記第1の基準を満たさず、かつ、前記第2の評価値が前記第2の基準を満たす場合に、前記基本のつなぎ位置が前記過去のつなぎ位置として前記合成処理に用いられる。
【発明の効果】
【0007】
上記構成により、複数の画像を合成した合成画像において、つなぎ位置の変更に起因する動画の品質の劣化を抑制することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本実施形態による全天球撮像デバイスを示す外観図である。
【
図2】
図2は、本実施形態による全天球撮像デバイスを示す断面図である。
【
図3】
図3は、本実施形態による全天球撮像デバイスのハードウェア構成を示す。
【
図4】
図4は、本実施形態による全天球撮像デバイスを制御する情報端末のハードウェア構成図である。
【
図5】
図5は、本実施形態による全天球撮像デバイス上に実現される全天球動画像合成処理の主要な機能ブロック図である。
【
図6】
図6は、本実施形態による全天球撮像デバイスが実行する全天球動画像合成処理の全体的な流れを示すフローチャートである。
【
図7】
図7は、本実施形態による全天球撮像デバイスにおける射影関係を説明する図である。
【
図8】
図8は、本実施形態で用いられる全天球画像フォーマットの画像データのデータ構造を説明する図である。
【
図9】
図9は、本実施形態による位置検出用歪み補正部および画像合成用歪み補正部が参照する変換データを説明する図である。
【
図10】
図10は、本実施形態による位置検出処理の際における、2つの魚眼レンズで撮像された2つの部分画像の球面座標系へのマッピングを説明する図である。
【
図11】
図11は、本実施形態によるつなぎ位置検出処理におけるテンプレート画像および探索画像の生成方法を説明する図である。
【
図12】
図12は、(A)テンプレート画像と、(B)パターンマッチングにより探索範囲でテンプレート画像を探索する処理を説明する図である。
【
図13】
図13は、本実施形態において、位置検出用変換テーブルを修正するための各画素毎のつなぎ位置を含むつなぎ位置テーブルのデータ構造を示す図である。
【
図14】
図14は、本実施形態において、位置検出用変換テーブルを修正するためのつなぎ位置テーブルを生成する処理を説明する図である。
【
図15】
図15は、本実施形態による画像合成処理の際における、2つの魚眼レンズで撮像された2つの部分画像の球面座標系へのマッピングを説明する図である。
【
図16】
図16は、本実施形態における、全天球撮像デバイスおよび情報端末を含み構成されるビデオ会議システムを示した概略図である。
【
図17】
図17は、会議室への全天球撮像デバイス10の設置の仕方を例示する図である。
【
図18】
図18は、ビデオ会議システムでネットワークサーバ上に配信されている全天球フォーマットの映像を例示する図である。
【
図19】
図19は、1または複数の実施形態による全天球撮像デバイスが実行する全天球動画像合成処理のメイン処理のフローチャートである。
【
図20】
図20は、本実施形態による全天球撮像デバイスが実行するつなぎ位置評価処理のフローチャートである。
【
図21】
図21は、本実施形態において、つなぎ位置情報記憶部に格納されるつなぎ位置情報のデータ構造を示す図。
【
図22】
図22は、本実施形態による全天球撮像デバイスが実行するつなぎ位置検出処理のフローチャートである。
【
図23】
図23は、本実施形態による全天球撮像デバイスにおいてテーブル更新のタイミングを説明するタイミングチャートである。
【
図24】
図24は、変形例の実施形態による全天球撮像デバイスが実行するつなぎ位置評価処理のフローチャートである。
【
図25】
図25は、変形例の実施形態において、つなぎ位置情報記憶部210に格納されるつなぎ位置情報のデータ構造を示す図。
【
図26】
図26は、変形例の実施形態による全天球撮像デバイスが実行するつなぎ位置検出処理のフローチャートである。
【
図27】
図27は、本実施形態による、被写体距離に応じたつなぎ位置の違いを説明する図である。
【
図28】
図28は、特定の実施形態において(A)基本のつなぎ位置および(B)被写体距離に応じてつなぎ位置の検出の際の探索範囲を制限する技術を説明する図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下の実施形態では、画像処理装置、画像処理システムおよび該画像処理装置を含む撮像装置の一例として、2つの魚眼レンズを光学系に含む撮像体を備えるとともに、2つの魚眼レンズで自身が撮像した2つの部分画像に対し歪曲補正および射影変換を行い、画像つなぎ合わせを行って、全天球画像を生成する画像処理機能を備えた全天球撮像デバイス10を用いて説明する。
【0010】
<全体構成>
以下、
図1~
図3を参照しながら、本実施形態による全天球撮像デバイス10の全体構成について説明する。
図1(A)は、本実施形態による全天球撮像デバイス10の側面から見た外観図を示している。
図1(A)に示す全天球撮像デバイス10は、撮像体12と、撮像体12に組み込まれた2つの結像光学系20A,20Bと、上記撮像体12およびコントローラ15やバッテリなどの部品を保持する筐体14と、上記筐体14に設けられた操作ボタン18とを備える。
【0011】
図1(B)は、本実施形態による全天球撮像デバイス10の撮像体12を筐体14内に格納した状態の外観図を示している。全天球撮像デバイス10は、2つの結像光学系20A,20Bの埃などによる汚れを防止するために、撮像体12が上下に移動可能に構成されており、使用しない場合は、
図1(B)に示すように、撮像体12が筐体14内に格納可能となっている。
図1(C)は、本実施形態による全天球撮像デバイス10の上面図を示している。
図1(C)に示すように、撮像体12の上部には、切り込み部(把手)13が設けられている。これにより、全天球撮像デバイス10のユーザは、切り込み部13に指をかけることで、撮像体12を上下に手動で移動することができる。
【0012】
図2は、本実施形態による全天球撮像デバイス10の断面図を示している。
図2(A)は、撮像体12を筐体14から展開した場合の状態を示し、
図2(B)は、撮像体12を筐体14内に格納した状態を示す。
図2に示す撮像体12は、2つの結像光学系20A,20Bと、CCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサなどの2つの固体撮像素子22A,22Bとを含む。結像光学系20と固体撮像素子22とを1個ずつ組み合わせたものを撮像光学系と参照する。結像光学系20各々は、例えば6群7枚の魚眼レンズとして構成することができる。上記魚眼レンズは、
図1および
図2に示す実施形態では、180度(=360度/n;n=2)より大きい全画角を有し、好適には、185度以上の画角を有し、より好適には、190度以上の画角を有する。
【0013】
2つの結像光学系20A,20Bの光学素子(レンズ、プリズム、フィルタおよび開口絞り)は、固体撮像素子22A,22Bに対して位置関係が定められる。位置決めは、結像光学系20A,20Bの光学素子の光軸が、対応する固体撮像素子22の受光領域の中心部に直交して位置するように、かつ、受光領域が、対応する魚眼レンズの結像面となるように行われる。固体撮像素子22各々は、受光領域が面積エリアを成す2次元の固体撮像素子であり、組み合わせられる結像光学系20により集光された光を画像信号に変換する。
【0014】
図2に示す実施形態では、結像光学系20A,20Bは、同一仕様のものであり、それぞれの光軸が合致するようにして、互いに逆向きに組み合わせられる。固体撮像素子22A,22Bは、受光した光分布を画像信号に変換して、コントローラ15上の画像処理手段に出力する。画像処理手段では、詳細は後述するが、固体撮像素子22A,22Bからそれぞれ入力される部分画像をつなぎ合わせて合成し、立体角4πラジアンの画像(以下「全天球画像」と参照する。)を生成する。全天球画像は、撮影地点から見渡すことのできる全ての方向を撮影したものとなる。ここで、
図2に示す実施形態では、全天球画像を生成しているが、水平面のみ360度を撮影した360°パノラマ画像であってもよし、これらの一部であってもよい。
【0015】
全天球撮像デバイス10の筐体14内には、操作ボタン18からの制御情報の入力、固体撮像素子22A,22Bの画像信号から画像処理の実施、処理結果の入出力などを行うコントローラ15を備える。
図2に示す実施形態では、コントローラ15は、複数のコントローラ基板15A,15Bに分かれており、コントローラ基板(15A,15B)上にはコネクタ17(17A,17B,17C)が設けられている。コントローラ15A,15Bの間、および、コントローラ15Bと固体撮像素子22A,22Bとの間は、それぞれ、ケーブル16A,16Bにより、対応するコネクタ17を介して接続される。ここで、ケーブル16は、FFC(Flexible Flat Cable)やFPC(Flexible Printed Circuit)などである。
【0016】
また、筐体14には、
図2(B)に示すように、ゴムやスポンジといった弾性部材19が備えられている。弾性部材19は、撮像体12を筐体14内に格納する際または撮像体12を筐体14内から展開する際に、2つの結像光学系20A,20Bに傷が付くことを防止するとともに、筐体14内への埃の進入を防止する。
【0017】
図3は、本実施形態による全天球撮像デバイス10のハードウェア構成を示す。全天球撮像デバイス10は、デジタル・スチルカメラ・プロセッサ(以下、単にプロセッサと参照する。)100と、鏡胴ユニット102と、プロセッサ100に接続される種々のコンポーネントから構成される。鏡胴ユニット102は、上述した2組のレンズ光学系20A,20Bと、固体撮像素子22A,22Bとを有する。固体撮像素子22は、プロセッサ100内の後述するCPU130からの制御指令により制御される。
【0018】
プロセッサ100は、ISP(Image Signal Processor)108と、DMAC(Direct Memory Access Controller)110と、メモリアクセスの調停のためのアービタ(ARBMEMC)112と、メモリアクセスを制御するMEMC(Memory Controller)114と、歪曲補正・画像合成ブロック118とを含む。ISP108A,108Bは、それぞれ、固体撮像素子22A,22Bの信号処理を経て入力された画像データに対し、ホワイト・バランス設定やガンマ設定を行う。MEMC114には、SDRAM116が接続される。SDRAM116には、ISP108A,180Bおよび歪曲補正・画像合成ブロック118において処理を施す際にデータが一時的に保存される。歪曲補正・画像合成ブロック118は、2つの撮像光学系から得られた2つの部分画像に対し、3軸加速度センサ120やジャイロセンサ、電子コンパスなどのセンサからの情報を利用して、歪曲補正とともに天地補正を施し、画像合成する。
【0019】
プロセッサ100は、さらに、DMAC122と、画像処理ブロック124と、CPU130と、画像データ転送部126と、SDRAMC128と、メモリカード制御ブロック140と、USBブロック146と、ペリフェラル・ブロック150と、音声ユニット152と、シリアルブロック158と、LCD(Liquid Crystal Display)ドライバ162と、ブリッジ168とを含む。
【0020】
CPU130は、当該全天球撮像デバイス10の各部の動作を制御する。画像処理ブロック124は、リサイズブロック132、静止画圧縮ブロック134、動画圧縮ブロック136などを用いて、画像データに対し各種画像処理を施す。リサイズブロック132は、画像データのサイズを補間処理により拡大または縮小するためのブロックである。静止画圧縮ブロック134は、静止画をJPEG(Joint Photographic Experts Group)やTIFF(Tagged Image File Format)などの静止画フォーマットに圧縮および伸張を行うコーデック・ブロックである。動画圧縮ブロック136は、動画をMPEG(Moving Picture Experts Group)-4 AVC(Advanced Video Coding)/H.264などの動画圧縮および伸張を行うコーデック・ブロックである。画像データ転送部126は、画像処理ブロック124で画像処理された画像を転送する。SDRAMC128は、プロセッサ100に接続されるSDRAM138制御し、SDRAM138には、プロセッサ100内で画像データに各種処理を施す際に、画像データを一時的に保存する。
【0021】
メモリカード制御ブロック140は、メモリカードスロット142に挿入されたメモリカードおよびフラッシュROM144に対する読み書きを制御する。メモリカードスロット142は、全天球撮像デバイス10にメモリカードを着脱可能に装着するためのスロットである。USBブロック146は、USBコネクタ148を介して接続されるパーソナル・コンピュータなどの外部機器とのUSB通信を制御する。ペリフェラル・ブロック150には、電源スイッチ166が接続される。音声ユニット152は、ユーザが音声信号を入力するマイク156と、記録された音声信号を出力するスピーカ154とに接続され、音声入出力を制御する。シリアルブロック158は、パーソナル・コンピュータなどの外部機器とのシリアル通信を制御し、無線NIC(Network Interface Card)160が接続される。LCDドライバ162は、LCDモニタ164を駆動するドライブ回路であり、LCDモニタ164に各種状態を表示するための信号に変換する。
【0022】
フラッシュROM144には、CPU130が解読可能なコードで記述された制御プログラムや各種パラメータが格納される。電源スイッチ166の操作によって電源がオン状態になると、上記制御プログラムがメインメモリにロードされる。CPU130は、メインメモリに読み込まれたプログラムに従って、装置各部の動作を制御するとともに、制御に必要なデータをSDRAM138と、図示しないローカルSRAMとに一時的に保存する。
【0023】
図4は、本実施形態による全天球撮像デバイス10を制御する情報端末170のハードウェア構成を示す。
図4に示す情報端末170は、CPU172と、RAM174と、HDD(Hard Disk Drive)176と、入力装置178と、外部ストレージ180と、ディスプレイ182と、無線NIC184と、USBコネクタ186と、HDMI(High-Definition Multimedia Interface,HDMIは登録商標である。)コネクタ188とを含み構成される。
【0024】
CPU172は、情報端末170の各部の動作および全体動作を制御する。RAM174は、CPU172の作業領域を提供する。HDD176は、CPU172が解読可能なコードで記述された、オペレーティング・システム、本実施形態による情報端末170側の処理を担うアプリケーションなどのプログラムを格納する。
【0025】
入力装置178は、マウス、キーボード、タッチパッド、タッチスクリーンなどの入力装置であり、ユーザ・インタフェースを提供する。外部ストレージ180は、メモリカードスロットなどに装着された着脱可能な記録媒体であり、動画形式の画像データや静止画データなどの各種データを記録する。無線NIC184は、全天球撮像デバイス10などの外部機器との無線LAN通信の接続を確立する。USBコネクタ186は、全天球撮像デバイス10などの外部機器とのUSB接続を確立する。なお、一例として、無線NIC184およびUSBコネクタ186を示すが、特定の規格に限定されるものではなく、Bluetooth(登録商標)やワイヤレスUSBなどの他の無線通信、有線LAN(Local Area Network)などの有線通信で外部機器と接続されてもよい。
【0026】
ディスプレイ182は、ユーザが操作するための操作画面の表示、撮影前または撮影中の全天球撮像デバイス10による撮像画像のモニタ画像の表示、保存された動画や静止画の再生、閲覧のための表示を行う。ディスプレイ182および入力装置178により、ユーザは、操作画面を介して全天球撮像デバイス10に対する撮影指示や各種設定変更を行うことが可能となる。また、HDMIコネクタ188により、これらの映像を外部ディスプレイやプロジェクターなどの表示装置へ出力することができる。なお、一例としてHDMIコネクタ188を示すが、特定の規格に限定されるものではなく、DisplayPort(登録商標)やDVI(Digital Visual Interface)を用いた構成としても良い。
【0027】
情報端末170に電源が投入され電源がオン状態になると、ROMやHDD176からプログラムが読み出され、RAM174にロードされる。CPU172は、RAM174に読み込まれたプログラムに従って、装置各部の動作を制御するとともに、制御に必要なデータをメモリ上に一時的に保存する。これにより、情報端末170の後述する各機能部および処理が実現される。
【0028】
<つなぎ処理の基本的な流れ>
以下、
図5~
図15を参照しながら、全天球撮像デバイス10が備える全天球動画像合成機能について詳細を説明する。
図5は、全天球撮像デバイス10上に実現される全天球動画像合成処理の主要な機能ブロックを示す。画像処理ブロック200は、
図5に示すように、フレーム記憶部202と、位置検出用歪み補正部204と、つなぎ位置検出処理部206と、つなぎ位置情報記憶部210と、テーブル修正部212と、テーブル生成部214と、画像合成用歪み補正部216と、画像合成部218とを含み構成される。
【0029】
また、画像処理ブロック200には、2つの固体撮像素子22A,22Bから、各種画像信号処理を経て、各フレーム毎に2つの部分画像が入力される。この各フレーム毎に2つの部分画像の入力を受ける手段が、本実施形態における画像入力手段を構成する。ここで、固体撮像素子22Aをソースとするフレームの画像を「部分画像0」のように参照し、固体撮像素子22Bをソースとするフレームの画像を「部分画像1」のように参照する。画像処理ブロック200には、さらに、それぞれのレンズ光学系の設計データ等に基づいて、所定の投影モデルに従い製造元等で予め作成された、位置検出用変換テーブル230が提供される。この変換テーブル230は、魚眼レンズの歪みを補正するという意味合いを有することから、歪み補正テーブルと参照される場合がある。
【0030】
位置検出用歪み補正部204は、つなぎ位置検出処理の前段の処理として、入力される部分画像0および部分画像1に対し、位置検出用変換テーブル230を用いて歪み補正を施し、位置検出用補正画像(以下、単に補正画像と参照する場合がある。)0および位置検出用補正画像1を生成する。入力される部分画像0,1は、平面座標系(x,y)で表現された画像データであり、これに対し、位置検出用変換テーブル230を用いて歪み補正がかけられた補正画像は、球面座標系(動径を1とし、2つの偏角θ,φを有する極座標系である。)で表現された全天球画像フォーマットの画像データとなる。
【0031】
<射影方式>
図7は、本実施形態による全天球撮像デバイス10における射影関係を説明する図である。本実施形態において、1つ魚眼レンズで撮影された画像は、撮影地点から概ね半球分の方位を撮影したものとなる。また、魚眼レンズでは、
図7(A)に示すように、光軸に対する入射角度φに対応した像高hで画像生成される。像高hと、入射角度φとの関係は、所定の投影モデルに応じた射影関数で決定される。射影関数は、魚眼レンズの性質によって異なるが、上記投影モデルとしては、等距離射影方式(h=f×φ)、中心投影方式(h=f・tanφ)、立体射影方式(h=2f・tan(φ/2))、等立体角射影方式(h=2f・sin(φ/2))および正射影方式(h=f・sinφ)を挙げることができる。いずれの方式においても、光軸からの入射角度φと焦点距離fとに対応して結像の像高hが決定される。また、説明する実施形態では、画像対角線よりもイメージサークル径が小さな、いわゆる円周魚眼レンズの構成を採用するものとし、得られる部分画像は、
図7(B)に示すように、撮影範囲の概ね半球分が投影されたイメージサークル全体を含む平面画像となる。
【0032】
<全天球画像フォーマット>
図8は、本実施形態で用いられる全天球画像フォーマットの画像データのデータ構造を説明する図である。
図8に示すように、全天球画像フォーマットの画像データは、所定の軸に対するなす角度に対応する垂直角度φと、上記軸周りの回転角に対応する水平角度θとを座標とした画素値の配列として表現される。水平角度θは、0~360度(-180度~+180度とも表現できる。)の範囲となり、垂直角度φは、0~180度(同様に-90度~+90度とも表現できる。)の範囲となる。各座標値(θ,φ)は、撮影地点を中心とした全方位を表す球面上の各点と対応付けられており、全方位が全天球画像上にマッピングされる。魚眼レンズで撮影された画像の平面座標と、全天球画像フォーマットの球面上の座標との関係は、
図7で説明したような射影関数を用いることによって対応付けることができる。
【0033】
<変換テーブル>
図9は、本実施形態による位置検出用歪み補正部204および画像合成用歪み補正部216が参照する変換データを説明する図である。変換テーブル230,232は、平面座標系で表現される部分画像から、球面座標系で表現される画像への射影を規定する。変換テーブル230,232は、
図9(A)および(B)に示すように、各魚眼レンズ毎に、補正後画像の座標値(θ,φ)と、該座標値(θ,φ)にマッピングされる補正前の部分画像の座標値(x、y)とを対応付ける情報を、全座標値(θ,φ)(θ=0,・・・360度,φ=0,・・・,180度)に対して保持する。
図9の例示では、1画素が担当する角度は、φ方向およびθ方向いずれも1/10度であり、変換テーブル230,232は、各魚眼レンズについて、3600×1800の対応関係を示す情報を有している。
【0034】
つなぎ位置検出の際に用いられる位置検出用変換テーブル230は、事前に製造元等で理想的なレンズモデルからの歪みを補正した上で計算され、テーブル化されたものである。これとは対照的に、画像合成用変換テーブル232は、詳細は後述するが、位置検出用変換テーブル230から所定の変換処理よって生成されるものである。
【0035】
<位置検出用補正画像>
図10は、本実施形態による位置検出処理の際における、2つの魚眼レンズで撮像された2つの部分画像の球面座標系へのマッピングを説明する図である。位置検出用歪み補正部204による処理の結果、魚眼レンズで撮像された2つの部分画像0,1は、
図10に示すように、全天球画像フォーマット上に展開される。魚眼レンズ0により撮影された部分画像0は、典型的には、全天球のうちの概ね上半球にマッピングされ、魚眼レンズ1により撮影された部分画像1は、全天球のうちの概ね下半球にマッピングされる。全天球フォーマットで表現された補正画像0および補正画像1は、魚眼レンズの全画角が180度を超えるため、それぞれ半球からはみ出し、その結果、補正画像0および補正画像1を重ね合わせると、画像間で撮影範囲が重複する重複領域が発生する。
【0036】
事前処理として、全天球フォーマットへの変換を行うことで、その後は、
図10に示す重複領域においてつなぎ検出を行える。
図5に示す実施形態では、位置合わせ用の球面画像とは異なる画像合成用の球面画像を別途生成する方式を採用している。以下、
図5を参照しながら、かかる方式について説明を続ける。
【0037】
位置検出用歪み補正部204による補正後は、つなぎ位置検出処理部206により、上記重複領域において、設定された複数の箇所各々について、画像間のつなぎ位置が検出されることになる。本実施形態による位置検出用変換テーブル230では、
図10に示すように、2つのレンズ光学系各々の光軸を球面の2つの極(φ=0度,180度)に射影するとともに、画像間の重複領域を球面の赤道近傍(φ=90度±((全画角-180度)/2))に射影するように作成される。
【0038】
球面座標系では、垂直角度φが0度または180度である極に近接するほど、歪みが大きくなり、つなぎ位置検出精度が劣化してしまう。これに対し、上述したような射影とすることによって、θ方向にずれたときの歪み量が小さな垂直角度90度付近に、重複領域を位置させて、つなぎ位置検出が行われることになり、つなぎ位置検出精度を向上させることができる。ひいては、歪みの大きなレンズ光学系で撮像された画像あっても、高い精度でつなぎ位置を検出することが可能となる。
【0039】
ここで、つなぎ位置検出処理部206は、位置検出用歪み補正部204により変換された補正画像0,1の入力を受けて、パターンマッチング処理により、複数の箇所各々について、入力された補正画像0,1間のつなぎ位置を検出し、各箇所毎のつなぎ位置情報を生成する。つなぎ位置情報記憶部210は、つなぎ位置検出処理部206により検出された各箇所毎のつなぎ位置情報を一時記憶する。つなぎ位置情報記憶部210は、本実施形態における記憶手段を構成する。
【0040】
本実施形態によるつなぎ位置検出処理部206は、すべてのフレームに対し、複数の箇所すべてでのつなぎ位置を検出するのではなく、所定の条件を満たした箇所についてはつなぎ位置の検出を行う一方で、不要な箇所のつなぎ位置の検出を省略するよう構成されている。
図5に示すつなぎ位置検出処理部206は、より詳細には、評価部207と、検出部208とを含み構成される。評価部207、検出部208、およびこれらを用いて効率的につなぎ位置を求める処理については、詳細を後述する。
【0041】
<つなぎ位置に応じた変換テーブルの更新>
テーブル修正部212は、複数の箇所各々について求められたつなぎ位置情報に基づいて、事前準備された位置検出用変換テーブル230に対して修正を施し、テーブル生成部214に渡す。テーブル生成部214は、上記テーブル修正部212により修正された変換データから、回転座標変換に基づき、画像合成用変換テーブル232を生成する。
【0042】
<画像合成用画像>
画像合成用歪み補正部216は、画像合成処理の前段の処理として、元の部分画像0および部分画像1に対し、画像合成用変換テーブル232を用いて歪み補正をかけ、画像合成用補正画像0および画像合成用補正画像1を生成する。なお、ここで処理の対象となる部分画像0,1は、フレーム記憶部202に記憶されたフレームに対応するものである。
【0043】
生成される画像合成用補正画像0,1は、位置検出用補正画像と同様に、球面座標系で表現されている一方で、上記回転座標変換により、位置検出用補正画像とは座標軸の定義が異なったものとなる。
【0044】
図15は、本実施形態による画像合成処理の際における、2つの魚眼レンズで撮像された2つの部分画像の球面座標系へのマッピングを説明する図である。上記回転座標変換により、
図10に示すような、一方のレンズ光学系の光軸を軸とした水平角度および垂直角度の座標軸の定義から、
図15に示すような、光軸に垂直な軸を基準とした水平角度および垂直角度の定義に変換される。これにより、画像合成用歪み補正部216による処理の結果、魚眼レンズで撮像された2つの部分画像0,1は、
図15に示すように、全天球画像フォーマット上に展開される。魚眼レンズ0により撮影された部分画像0は、典型的には、全天球のうちの概ね左半球にマッピングされ、魚眼レンズ1により撮影された部分画像1は、全天球のうちの概ね右半球にマッピングされる。
【0045】
図15を
図10と比較すると明らかであるが、画像合成用では、位置補正用の全天球フォーマットに対し、異なった位置に部分画像0および部分画像1がマッピングされており、シーンの天頂方向が画像の上下方向となるφ方向に一致している。部分画像0,1の中心部が、より歪みの少ない赤道上にマッピングされ、補正画像0および補正画像1間の重複領域になる周辺部が、垂直角度0度および180度付近、並びに、水平角度0度および180度の近傍領域にマッピングされる。
【0046】
画像合成部218は、得られた画像合成用補正画像0および画像合成用補正画像1を合成し、全天球画像フォーマットの合成画像のフレームを生成する。
【0047】
<画像表示・保存>
図5に示す画像処理ブロック200は、さらに、表示画像生成部220を含むことができる。上記生成された合成画像は、全天球画像フォーマットで表現されるため、そのまま、ディスプレイなどの平面表示デバイスに表示させると、垂直角度0度および180度に近づくほど画像が歪んで表示されることになる。表示画像生成部220は、全天球画像を平面表示デバイスに投影するための画像処理を実行する手段である。
【0048】
表示画像生成部220は、例えば、全天球画像フォーマットの合成画像から、球面座標系から特定方向および特定画角の平面座標系への順次変換し、ユーザが指定する特定の視野方向の一定画角の画像に投影する処理を行うことができる。これにより、視聴者は、所定の視点および視野で観察した場合に相当する動画像を視聴することができるようになる。
【0049】
図5に示す画像処理ブロック200は、さらに、画像圧縮部222を含むことができる。画像圧縮部222には、合成された複数の全天球画像の合成フレームからなる画像列が入力されており、画像圧縮部222は、これらを動画圧縮し、画像列を構成する各合成フレームをコマとする動画像を生成し、動画の画像データ240を書き出すことができる。あるいは、画像圧縮部222は、全天球画像の合成フレームを静止画の画像データ240として書き出すこともできる。画像圧縮部222は、静止画として保存する場合には、静止画圧縮ブロック134でJPEG、TIFFなどの静止画フォーマットへ圧縮を行い、動画の場合は、動画圧縮ブロック136でMPEG-4 AVC/H.264などの動画フォーマットへ圧縮を行う。生成された画像データ240は、メモリカードスロット142からメモリカードなど外部ストレージの記憶領域に保存される。
【0050】
なお、
図5において破線260で示された、部分画像0,1を入力とし、かつ、つなぎ位置情報記憶部210に記憶された各箇所のつなぎ位置情報を入力とし、最終的な合成された全天球画像を出力するための、テーブル修正部212、テーブル生成部214、画像合成用歪み補正部216および画像合成部218を合わせたものが、本実施形態における画像合成処理手段を構成する。
【0051】
<全天球動画合成フロー>
以下、
図6および
図11~
図14を参照しながら、本実施形態による全天球動画像合成処理の流れを説明する。
図6は、本実施形態による全天球撮像デバイス10が実行する全天球動画像合成処理の全体的な流れを示すフローチャートである。
図6に示す処理は、例えば、全天球撮像デバイス10の操作ボタン18の押下や外部装置上のアプリケーションからの通信を介した指令によりCPUから撮像(撮影)指令が発行されたことに応答して、ステップS100から開始される。
【0052】
ステップS101では、全天球撮像デバイス10は、部分画像0用フレーム記憶部202aおよび部分画像1用フレーム記憶部202bに、入力された部分画像0および部分画像1の画像データを記憶する。
【0053】
ステップS102では、全天球撮像デバイス10は、位置検出用歪み補正部204により、2つの固体撮像素子22A,22Bによって取得された部分画像0および部分画像1に対し、位置検出用変換テーブル230を用いて歪み補正を行う。これによって、
図10に示すような全天球画像フォーマットの位置検出用補正画像0および位置検出用補正画像1が得られる。
【0054】
ステップS103では、全天球撮像デバイス10は、つなぎ位置検出処理部206で、位置検出用部分画像0および位置検出用部分画像1の重複領域でつなぎ位置を検出し、つなぎ位置情報を生成する。説明する実施形態では、つなぎ位置情報は、テンプレート・マッチングにより、一方の1以上の画像から切り出されたテンプレート画像に対し他方の対応する探索範囲の画像との間でマッチングスコアが最大となる位置の基準位置からのずれ量として計算される。
【0055】
<つなぎ位置検出の詳細>
図11は、本実施形態によるつなぎ位置検出処理におけるテンプレート画像および探索画像の生成方法を説明する図である。説明する実施形態では、テンプレート生成用画像500は、位置検出用補正画像1の重複領域の部分の画像であり、探索用画像510は、位置検出用補正画像0の重複領域の部分の画像である。ここで、テンプレート画像を構成する画素サイズである所定のブロック・サイズが指定され、隣接するテンプレート画像が生成される間隔である所定の生成間隔が指定されるものとする。また、最初のテンプレート画像を切り出す座標である生成開始座標も与えられるものとする。なお、ブロック・サイズおよび生成間隔は、つなぎ合わせの所望の精度および処理量を勘案して定めればよい。
【0056】
ブロック・サイズをW画素×H画素とし、生成開始座標を(sx,sy)とし、生成間隔をstep画素とすると、
図11に示すような態様で複数のテンプレート画像502-1~502-#が生成される。生成されるテンプレートのブロック数#は、テンプレート生成用画像500の水平方向サイズ(説明する実施形態で全天球フォーマットの幅サイズ=3600画素)を生成間隔(step)で割った値の整数値となる。
【0057】
生成された複数のテンプレート画像502-1~502-#に対し、探索用画像510上での対応部分514が所定の探索範囲512内で探索されることになる。
【0058】
以下、
図12を参照して、テンプレート・マッチングの一例として、ゼロ平均正規化相互相関(Zero-mean Normalized Cross-Correlation)法およびZSSD(Zero-mean Sum of Squared Differences)法について説明する。
図12は、(A)テンプレート画像と、(B)パターンマッチングにより探索範囲でテンプレート画像を探索する処理を説明する図である。テンプレートの全画素数をN(=W画素×H画素)とし、探索範囲上での探索位置を(kx,ky)で表す。探索位置(kx,ky)を基準座標(0,0)とした場合の座標(i,j)におけるテンプレート画像の輝度値をT(i,j)とし、探索用画像上の輝度値をS(kx+i,ky+j)とすると、ZNCC法によるマッチングスコアZNCC(kx,ky)は、下記式(1)で求めることができる。なお、
図12では、探索位置(kx,ky)をテンプレート画像の左上に設定しているが、座標の取り方は、特に限定されるものではなく、テンプレート画像の中心に設定してもよい。
【0059】
【0060】
マッチングスコアZNCC(kx,ky)は、類似度を表し、1のときは、完全一致となり、-1のときはネガポジ反転となる。すなわち、マッチングスコアZNCC(kx,ky)が高い方が、テンプレート画像との類似度が高いことを示す。
図12(B)に示すように探索範囲内でテンプレート画像を縦横に位置をずらしながら、テンプレート・マッチングが行われ、各探索位置におけるマッチングスコアZNCC(kx,ky)が算出される。
【0061】
これに対して、ZSSD法による相違度ZSSD(kx,ky)は、下記式(2)で求めることができる。なお、ZSSD法では、同じ位置の画素の輝度値の差の2乗和が求められるので、ZSSDの値は、いわゆる相違度であり、値が大きい方が類似していないことを意味する。そのため、類似度に基づくスコアとするために、負の符号を付けて、-ZSSD(kx,ky)をマッチングスコアとする。
【0062】
【0063】
マッチングスコア-ZSSD(kx,ky)は、各画素値を8ビット値とすると、取りうる値の範囲は、-(255×255)~0がとなり、0のときは、完全一致となる。マッチングスコア-ZSSD(kx,ky)が高い方が、テンプレート画像との類似度が高いことを示す。
【0064】
上述したZNCC法は、画像のゲインの変動を吸収することができ、また、画像の平均明るさの変動を吸収することができる点、また、類似度のマッチングの堅牢性も高い点で好適なものである。ZNCC法は、特に、画像の輝度が充分に広がって分布し、特徴量が大きい場合に好適に適用することができる。これに対して、ZSSD法は、画像の平均明るさの変動を吸収することができる点で、SSDと比較して優れており、SSD(Sum of Squared Differences)に比較して計算コストがかかるが、ZNCCよりも計算か簡素である。ZSSD法は、特に、特徴量が小さくぼけた画像に対しても好適に適用することができる。なお、ZSSDに代えてZSAD(Zero-mean Sum of Absolute Differences)を用いても良い。
【0065】
なお、全天球画像フォーマットのθ座標の両端(0度および360度)はつながっているため、テンプレート画像の生成やテンプレート・マッチングの際は、右端の隣は左端として、左端の隣は右端として取り扱うことができる。上述したステップ103では、この各テンプレート画像502-1~502-#に対して、それぞれの箇所に対し、マッチングスコアが最大となる位置の基準位置からのずらし量が検出される。
【0066】
図11では、テンプレート用画像500を位置検出用補正画像1で作成し、探索用画像510を位置検出用補正画像0で作成したとすると、探索用画像510上でテンプレート用画像500をφで0度側に探索すると、全天球撮像デバイス10と被写体との距離が離れる遠距離方向となる。これとは逆に、テンプレート用画像を位置検出用補正画像0で作成し、探索用画像を位置検出用補正画像1で作成した場合は、探索用画像上でテンプレート用画像をφで180度側に探索すると、全天球撮像デバイス10と被写体との距離が遠距離方向となる。
図11に示すΔφ=0が位置検出用変換テーブル230で設定されている素のつなぎ位置を指している。
【0067】
<全天球動画合成フローの続き>
ステップS104では、全天球撮像デバイス10は、つなぎ位置情報記憶部210に対し、検出した各テンプレート画像(箇所)毎のつなぎ位置情報を記憶する。ステップS105では、全天球撮像デバイス10は、テーブル修正部212により、各テンプレート画像毎のつなぎ位置情報を用いて、位置検出用変換テーブル230を修正する。
【0068】
図13は、本実施形態において、位置検出用変換テーブル230を修正するために生成される各画素毎のつなぎ位置を含むつなぎ位置テーブルのデータ構造を示す図である。ここで、テンプレート画像毎のつなぎ位置情報に基づき、
図13に示すような、変換後の各座標値(θ,φ)に対して、ずらし量(Δθ,Δφ)が対応付けられた情報を全座標値について保持するテーブルを生成する。このとき、上記つなぎ位置検出および補正処理により求められたテンプレート・ブロック(i)(箇所)毎のずらし量(Δθ
i,Δφ
i)を、テンプレート・ブロックの中心座標の値として設定し、各座標値(θ,φ)に対応するずらし量(Δθ,Δφ)を補間して、つなぎ位置を計算することができる。なお、説明する実施形態では、各画素毎のつなぎ位置をテーブル形式で保持する構成としたが、特に限定されるものではない。
【0069】
具体的には、まず、
図14(A)に示すように、上記テンプレート・ブロック各々に対するずらし量(Δθ
i,Δφ
i)に加えて、θがテンプレート・ブロックの中心座標の値と等しく、かつ、上端(φ=0)および下端(幅が3600画素の場合はφ=3599である。)に位置する座標において、ずらし量(Δθ,Δφ)を(0,0)として設定する。その他のずらし量未設定の座標については、
図14(B)に示すように、近傍の設定済み4点(図ではA~Dである。)からなる格子を考え、その中でずらし量を、2次元線形補間演算により算出する。
【0070】
なお、説明する実施形態では、全天球フォーマットにおける上端(φ=0)および下端(φ=3599)に対しずらし量(0,0)を設定するようにした。しかしながら、より内側(φ>0およびφ<3599)にずらし量(0,0)とする座標を設定して上記2次元線形補間演算をしてもよい。この場合、その座標よりφ方向が外側である座標においては、すべてずらし量(0,0)を設定するようにすればよい。
【0071】
再び
図6を参照すると、ステップS106では、全天球撮像デバイス10は、テーブル生成部214により、修正された位置検出用変換テーブル230から、回転座標変換することによって、画像合成用変換テーブル232を生成する。ステップS107では、全天球撮像デバイス10は、フレーム記憶部202a,202bから、部分画像0および部分画像1を読み出す。ステップS108では、全天球撮像デバイス10は、つなぎ位置情報に基づいて修正および生成された画像合成用変換テーブル232を用いて、部分画像0および部分画像1に対して歪み補正をし、合成用補正画像0および合成用補正画像1を生成する。
【0072】
画像合成用歪み補正部216による処理の結果、魚眼レンズで撮像された2つの部分画像0,1は、
図15に示すように、全天球画像フォーマット上に展開される。画像合成用変換テーブル232が既につなぎ位置情報に基づいて生成されたものであるため、この段階で、合成用補正画像0および合成用補正画像1は、そのまま重ね合わせればよいようにつなぎ補正が反映されている。ステップS109では、全天球撮像デバイス10は、画像合成部218で、合成用補正画像0および合成用補正画像1を合成する。
【0073】
ステップS110では、全天球撮像デバイス10は、入力されたものが最終フレームであるか否かを判断する。ステップS110で、最終フレームではないと判定された場合(NO)は、ステップS101へループされ、画像合成処理を継続する。これに対して、ステップS110で、それ以上のフレームが入力されず、最終フレームであると判定された場合(YES)は、ステップS111へ処理を分岐させて、本画像合成処理を終了する。
【0074】
図6に示す処理により生成された全天球画像の合成フレームからなる合成画像列は、順次、画像圧縮部222に出力され、画像圧縮部222でさらに動画圧縮されて、動画の画像データ240として書き出されることになる。
【0075】
<会議システム>
以上のような全天球撮像デバイス10および情報端末170を用いて、以下、より具体的な実施形態について説明する。以下に説明する実施形態では、複数の拠点(例えば会議室)の参加者がネットワークを介してビデオ会議を行うビデオ会議システムを一例として説明するが、これに限定されるものではない。例えば、映像および音声のみを用いて通話を行うビデオ通話システムであってもよい。
【0076】
図16は、本実施形態による全天球撮像デバイス10および情報端末170を用いたビデオ会議システムの概略を示した図である。全天球撮像デバイス10および情報端末170は、設置空間である会議室300のテーブル302上に設置され、互いにUSBケーブル190で接続されている。
【0077】
図16に示す情報端末170には、ビデオ会議支援アプリケーションがインストールされている。ビデオ会議支援アプリケーションは、遠隔地を含む複数の拠点間で、会議映像や音声の送受信、会議に必要となる資料などの情報をリアルタイムに共有することを可能とするソフトウェアである。ビデオ会議支援アプリケーションが導入された情報端末170は、全天球撮像デバイス10の制御(例えば、動作開始や終了)、全天球撮像デバイス10からの映像信号の受信、ネットワークサーバへの接続およびネットワークサーバへの映像信号の配信(配信手段)の役割を担う。
【0078】
会議開始の事前準備として、ユーザは、操作ボタン18を押下することで全天球撮像デバイス10を起動する。また、ユーザは、情報端末170上でビデオ会議支援アプリケーションを起動し、ビデオ会議支援アプリケーション上で情報端末170と全天球撮像デバイス10との接続設定を行う。会議開始の際には、ユーザは、情報端末170のビデオ会議支援アプリケーションから会議開始の操作を行う。
【0079】
アプリケーションが会議開始の操作を受付けると、情報端末170は、ネットワークサーバへ接続し、全天球撮像デバイス10から受信した会議室内の全天球映像や音声の映像信号の配信を開始する。また、ユーザが、ビデオ会議支援アプリケーションで資料共有の操作を行うと、情報端末170またはネットワークサーバ上の会議で必要となる資料データなどを共有することが可能となる。
【0080】
なお、複数の拠点は、会議室に限られない。パーソナルコンピュータやスマートフォンなどの携帯型情報端末と該携帯型情報端末上で実行されるビデオ会議支援アプリケーションとを用いることで、ネットワーク環境があれば、任意の場所で会議に参加することができる。これにより、各拠点の参加者は、会議室内の任意の方向の映像を取得することができ、会議室内の複数の会議参加者やインタラクティブボード310やホワイトボード320などに表示される情報を閲覧することが可能となる。
【0081】
また、各拠点から映像や音声などの映像信号を配信することもでき、例えば、複数拠点各々で全天球撮像デバイス10および情報端末170を用いれば、互いの会議室の様子を全天球映像で相互に確認することが可能となる。
【0082】
なお、説明する実施形態では、全天球画像であるものとするが、会議支援やビデオ通話などの用途では、全天球画像に限定されず、水平360度かつ垂直180度未満の360°パノラマ画像であってもよい。
【0083】
<会議システムにおける課題>
図17は、会議室への全天球撮像デバイス10の設置例を示している。会議室300には、インタラクティブボード310とホワイトボード320とが備え付けられているものとする。ホワイトボード320は、ホワイトボード用のペンを用いて手書きで文字や図形を記載して、会議を効率的に運営するために用いられる。また、インタラクティブボード310は、会議参加者のPCなどの端末から映像の表示や、ホワイトボードと同様に画面上に専用ペンを用いて手書きで文字や図形を書き込んだりすることが可能なデバイスである。
【0084】
上述したように、全天球撮像デバイス10は、2つの結像光学系20A,20Bを用いているため、全天球撮像デバイス10により撮像される映像においては、2つの撮像光学系から得られた2つの部分画像をつなぎ合わせたときのつなぎ境界が発生する。
図17では、全天球撮像デバイス10が撮影する全天球画像におけるつなぎ境界330に対応する部分を会議室に備え付けられたインタラクティブボード310の方に向けている。インタラクティブボード310には、会議資料が表示されたり、場合によっては表示資料に手書きで文字や図形が書き込まれることがある。また、
図17で円弧の矢印で示すように、例えば参加者Dが、席に座っている場合もあるし、インタラクティブボード310の前に移動して、会議資料を説明する場合もある。その場合、全天球画像のつなぎ境界上に、参加者Dが含まれたり、含まれなかったりといった状況が発生する。
【0085】
図18は、ビデオ会議システムでネットワークサーバ上に配信されている全天球フォーマットの映像の例示する。
図18(A)は、参加者D402がインタラクティブボード310の前に移動していて、参加者D402によってインタラクティブボード310が隠されている状況を示す。
図18(B)は、参加者D402が席に座ってインタラクティブボード310が隠されていない状況を示している。参加者D402が移動することで全天球撮像デバイス10と被写体との距離が変化するため、全天球撮像デバイス10は、適応的につなぎ位置を変更すること、つまり、全天球撮像デバイス10と被写体との距離の変化に応じてつなぎ位置を変更することが望ましい。
【0086】
適応的につなぎ位置変更するためには、フレーム毎に各箇所でのつなぎ位置を検出すること求められるところ、適応的につなぎ位置を変更する場合、(1)フレーム間の非連続性が目立ってくる点、(2)つなぎ位置検出が、比較的に高い処理負荷となるため、消費電力が増大し、より高価なコントローラが必要となる点で、改善の余地がある。
【0087】
ここで、上述したフレーム間の非連続性とは、頻繁なつなぎ位置の変更に起因して、フレーム間で、つなぎ合わせ箇所で画像が不自然に動いてしまい、動画の品質の劣化を生じさせるものである。例えば、会議を撮影している場合に、全天球撮像デバイス10も撮影環境中の被写体も動きがあまりないにも関わらず、つなぎ合わせ部分の画像情報のわずかな変化(例えば、ノイズによる輝度値の変化等)に起因して、検出されるつなぎ位置が変化することがある。この変化に対応して、頻繁につなぎ位置を変えてしまうと、不自然な動きとして映像に顕れてしまう。
【0088】
本実施形態による全天球撮像デバイス10においては、
図5に示すつなぎ位置検出処理部206は、評価部207と、検出部208とを含み構成されている。位置検出処理部206は、つなぎ位置情報記憶部210に記憶しておいた各箇所の過去に検出されたつなぎ位置を評価部207によって評価し、過去のつなぎ位置を活用するとともに、所定の条件を満たした箇所については検出部208によって改めてつなぎ位置の検出を行う。このように、本実施形態によるつなぎ位置検出処理部206は、動的につなぎ位置の検出を行うとともに、不要な箇所のつなぎ位置の検出を省略するよう構成されている。
【0089】
フレーム毎につなぎ位置を動的に検出する方式を「動的つなぎ」と参照し、上述した必要な箇所のつなぎ位置の検出を行う一方で不要な箇所のつなぎ位置の検出を省略する方式を、以下、「間欠的つなぎ」と参照する。説明する実施形態では、「間欠的つなぎ」を行うものとして説明するが、「動的つなぎ」、「間欠的つなぎ」およびその他のつなぎ方式のいずれを実行するかを、アプリケーション上での操作や全天球撮像デバイス10の操作ボタン18の押下によって設定可能に構成することもできる。
【0090】
つなぎ位置情報記憶部210は、入力される部分画像0および部分画像1の間の複数の箇所各々のつなぎ位置を記憶する。より好ましくは、つなぎ位置情報記憶部210は、前回フレームでの各箇所のつなぎ位置を記憶する。上述したように、各箇所のつなぎ位置は、部分画像0および部分画像1から変換された位置検出用補正画像0および位置検出用補正画像1間のものであるため、全天球フォーマット上の座標における各箇所に対して、その座標系での基準からのずれ量として記録される。
【0091】
評価部207は、複数の箇所各々について、つなぎ位置情報記憶部210に記憶された前回フレームでのつなぎ位置の現フレームでの有効性を評価する。ここで、有効性の評価は、過去のつなぎ位置を用いて現フレームで所期の精度でつなぎ合わせが可能であるかを評価するものである。評価部207は、より具体的には、前回のつなぎ位置を現フレームの画像に適用した場合の適合度を、有効性を示す評価値として計算する。適合度は、上述したZNCCやZSSDなどのマッチングスコアを用いることができるが、特に限定されるものではない。評価部207は、本実施形態における評価手段および計算手段を構成する。有効性が所定の基準を満たした箇所については、改めてのつなぎ位置の検出は行われず、つなぎ位置情報記憶部210に記憶された前回のつなぎ位置が用いられる。
【0092】
検出部208は、有効性が所定の基準を満たさない箇所について、所定の探索範囲を設定し、現在の画像間のつなぎ位置を検出する。パターンマッチング等によるつなぎ位置の検出自体は、上述した通りである。検出部208は、本実施形態における検出手段を構成する。
【0093】
テーブル修正部212は、有効性が基準を満たした箇所については前回のつなぎ位置を用いて、有効性が基準を満たさない箇所については、改めて検出されたつなぎ位置を用いて、位置検出用変換テーブル230に対して修正を施す。テーブル生成部214は、テーブル修正部212から渡された変換データから、画像合成用変換テーブル232を生成する。画像合成用歪み補正部216は、部分画像0および部分画像1に対し、画像合成用変換テーブル232を用いて歪み補正をかける。画像合成部218は、歪み補正により得られた画像合成用補正画像0および画像合成用補正画像1を合成する。したがって、本実施形態における画像合成処理手段は、有効性が基準を満たした箇所については、前回のつなぎ位置に基づいて合成処理を実行することになる。
【0094】
特定の実施形態においては、すべての箇所で有効性が基準を満たす場合には、すべての箇所のつなぎ位置は前回のまま変化せず、前回のテーブルをそのまま用いることができるため、上述した変換テーブルの更新(修正および生成)が省略される。一方で、複数の箇所のうちの1以上の箇所でつなぎ位置の変更があった場合は、変換テーブルの更新(再生成)が行われることになる。なお、説明する実施形態では、1以上の箇所でつなぎ位置の変更があった場合に変換テーブルの全体の更新が行われるものとして説明するが、これに限定されるものではない。
【0095】
ブロック(箇所)毎にまたはブロック(箇所)のグループ毎に変換テーブルの一部を部分的に更新できるような実施形態では、有効性が基準を満たさないブロック(箇所)を含む単位で更新が行われてもよい。しかしながら、変換テーブルを生成する処理自体の計算負荷は、パターンマッチングなどでつなぎ位置を検出するための処理の計算負荷と比較して高くはないため、上述したように、1以上の箇所のつなぎ位置の変化に応答して一律に変換テーブル全体の更新が行われても大きな負荷の増加にはつながらない。
【0096】
<間欠的つなぎ>
以下、
図19~
図22を参照しながら、本実施形態による間欠的つなぎを行う場合の全天球動画像合成処理について、より詳細に説明する。
図19は、本実施形態による全天球撮像デバイス10が実行する全天球動画像合成処理のメイン処理のフローチャートである。
図19に示す処理は、例えば、ビデオ会議支援アプリケーションからの配信開始の指示に応答して、ステップS200から開始される。
【0097】
ステップS201では、全天球撮像デバイス10は、評価部207により、記憶されている過去のつなぎ位置の評価を行う。
図20は、本実施形態による全天球撮像デバイス10が実行するつなぎ位置評価処理のフローチャートである。
図20に示す処理は、
図19に示すステップS201で呼び出されて、ステップS300から開始される。なお、
図20に示すつなぎ位置評価処理は、全天球撮像デバイス10の評価部207が処理を担当する。
【0098】
ステップS301では、全天球撮像デバイス10は、つなぎ位置評価の初期化を行う。なお、つなぎ位置評価は、各箇所についてつなぎ位置の検出が必要(つなぎ位置検出「要」:LV0)であるか否(つなぎ位置検出「不要」:LV1)かの判定結果を格納する。初期化の際は、つなぎ位置評価は、すべての箇所について、つなぎ位置検出が必要(つなぎ位置検出「要」:LV0)であるとして初期化される。
【0099】
ステップS302では、全天球撮像デバイス10は、現フレームが先頭フレームであるか否かに応じて処理を分岐させる。ステップS302で、先頭フレームであると判定された場合(YES)は、つなぎ位置評価が初期値のまま、ステップS310で本つなぎ位置評価処理が終了する。
【0100】
一方、ステップS302で、先頭フレームではないと判定された場合(NO)は、ステップS303へ処理が進められる。ステップS303~ステップS309のループは、ブロック(i)毎に行われる。
【0101】
ステップS304では、全天球撮像デバイス10は、つなぎ位置情報記憶部210から、当該ブロック(i)についての前回のつなぎ位置を取得する。ステップS305では、全天球撮像デバイス10は、当該ブロック(i)についての前回のつなぎ位置に対し、現フレームでの評価値(例えばマッチングスコア)を計算し、つなぎ位置情報記憶部210に記録する。ステップS306では、全天球撮像デバイス10は、当該ブロック(i)について計算された評価値が、基準として設けられた閾値以上であるか否かを判定する。
【0102】
上述したように、マッチングスコアは、類似度を表し、大きい方が類似度が高い、つまり、位置合わせの精度が良いことを意味している。このため、ここでは、評価値が閾値以上であるかを判定している。しかしながら、評価値が非類似度を表しており、小さい方が類似度が高いという場合は、閾値以下であるかを判定することとしてよい。なお、比較対象となる閾値は、予め定められた値を用いてもよいし、前回フレームでのつなぎ位置検出時または評価時のマッチングスコアに対して所定のマージン分を減算した値を用いてもよい。
【0103】
また、マッチングスコア(適合度)は、つなぎ位置を検出する際に計算されるものと同一のものに限定されず、より簡潔な、計算負荷が小さな評価式(例えば画素値や輝度の差分の和(総和、二乗和など))を用いることを妨げるものではない。また、リソースを削減する観点からは、現フレームにおける、テンプレート画像502と、探索用画像510内の前回のつなぎ位置での対応部分514との間のマッチングスコア、画素値や輝度の差分の和(総和、二乗和など)などを用いることが好ましい。しかしながら、これに限定されるものではなく、他の実施形態では、前回フレームのテンプレート画像などを保持することになるが、現フレームおよび前回フレーム間のテンプレート画像の画素値の差分の和や輝度差の和を評価値としてもよい。閾値などの基準を用いた判定を行うことにより、微小な変化ではつなぎ位置検出を行わないようにして、フレーム間の不連続性の発生を抑止することができる。
【0104】
ステップS306で、評価値が閾値以上であると判定された場合(YES)は、ステップS307へ処理が分岐される。ステップS307では、全天球撮像デバイス10は、当該ブロック(i)について、つなぎ位置検出が不要であるという評価判定(つなぎ位置検出「不要」:LV1)を記憶する。一方、ステップS306で、評価値が閾値未満であると判定された場合(NO)は、ステップS308へ処理が分岐される。ステップS308では、全天球撮像デバイス10は、つなぎ位置検出が必要であるという評価判定(つなぎ位置検出「要」:LV0)を記憶する。
【0105】
すべてのブロックについてステップS303~ステップS309の処理が完了すると、ステップS310で、本つなぎ評価処理は終了し、制御は、
図19に示すメイン処理に戻される。
【0106】
図21は、本実施形態において、つなぎ位置情報記憶部210に格納されるつなぎ位置情報のデータ構造を示す。
図21(A)は、評価対象の前回のつなぎ位置を格納するテーブルを示し、
図21(B)は、ブロック毎に
図20に示すつなぎ位置評価処理による評価判定を格納するテーブルを示す。
図21(B)に示すように、
図20に示すつなぎ位置評価処理によって、対象のフレームについて、ブロック毎に、前回のつなぎ位置の有効性を示す評価値とその評価判定とが記録される。
【0107】
再び
図19を参照すると、ステップS202では、全天球撮像デバイス10は、検出部208により、
図21(B)に示す評価判定テーブルを参照して、必要な箇所のつなぎ位置の検出を行う。
図22は、本実施形態による全天球撮像デバイス10が実行するつなぎ位置検出処理のフローチャートである。
図22に示す処理は、
図19に示すステップS202で呼び出されて、ステップS400から開始される。なお、
図22に示すつなぎ位置検出処理は、全天球撮像デバイス10の検出部208が担当する。
【0108】
ステップS401では、全天球撮像デバイス10は、検出カウンタの初期化を行う。ここで、検出カウンタは、当該フレームについて、つなぎ位置検出を行ったブロックを計数するために用いるものであり、ステップS401では、0に初期化される。
【0109】
ステップS402~ステップS408のループは、ブロック(i)毎に行われる。ステップS403では、全天球撮像デバイス10は、
図21(B)に示すテーブル中の当該ブロック(i)の評価判定を参照し、つなぎ位置検出「要」であるか否かを判定する。
【0110】
ステップS403で、つなぎ位置検出「不要」であると判定された場合(NO)は、処理をステップS404へ分岐させる。ステップS404では、全天球撮像デバイス10は、当該ブロックについて、前回のつなぎ位置を用いることとして、検出部208によるつなぎ位置の検出を省略し、ステップS408へ処理を進める。
【0111】
一方、ステップS403で、つなぎ位置検出「要」であると判定された場合(YES)は、ステップS405に処理が分岐させる。ステップS405では、全天球撮像デバイス10は、当該ブロックについて、パターンマッチングなどにより、つなぎ位置の検出を行う。ステップS406では、全天球撮像デバイス10は、検出カウンタをインクリメントする。ステップS407では、全天球撮像デバイス10は、検出されたつなぎ位置で、つなぎ位置情報記憶部210の
図21(A)に示すテーブルにおいて、当該ブロックの前回のつなぎ位置の値を上書きして更新し、ステップS408へ処理を進める。
【0112】
すべてのブロックについてステップS402~ステップS408の処理が完了すると、ステップS409で、本つなぎ検出処理は終了し、
図19に示すメイン処理に戻される。
【0113】
再び
図19を参照すると、ステップS203では、全天球撮像デバイス10は、つなぎ位置の更新が有ったか否かを判定する。現在の処理対象のフレームについて、上述した検出カウンタが1以上であった場合は、つなぎ位置の更新が有ったと判定される。ステップS203で、つなぎ位置の更新があったと判定された場合(YES)は、ステップS204へ処理が分岐される。
【0114】
ステップS204では、全天球撮像デバイス10は、新たに検出されたつなぎ位置を含むつなぎ位置データに基づいて、変換テーブルの作成および更新を行い、ステップS205へ処理を進める。ステップS204の処理は、
図6に示したステップS105およびステップS106の処理が対応する。一方、ステップS203で、つなぎ位置の更新が行われていないと判定された場合(NO)は、ステップS205へと直接処理を進める。
【0115】
ステップS205では、全天球撮像デバイス10は、現在の変換テーブルを用いて、部分画像0および部分画像1に対し歪み補正および画像合成を行い、ステップS206へ処理を進める。ステップS205の処理は、
図6に示したステップS107~ステップS109の処理が対応する。
【0116】
ステップS206では、全天球撮像デバイス10は、入力されたものが最終フレームであるか否かを判断する。ステップS206で、最終フレームではないと判定された場合(NO)は、ステップS201へループされ、処理を継続する。これに対して、ステップS206で、最終フレームであると判定された場合(YES)は、ステップS207へ処理を分岐させて、本画像合成処理を終了する。
【0117】
図23は、本実施形態による全天球撮像デバイスにおいてテーブル更新のタイミングを説明するタイミングチャートである。
図23に示すように、先頭フレーム(フレーム1)では、全ブロックでつなぎ位置検出が行われ、変換テーブルが更新される。そして、つなぎ位置更新判定で、つなぎ位置更新が必要であると判定された場合に変換テーブルが更新される(フレーム6、14)。一方、つなぎ位置更新判定で、つなぎ位置更新が不要であると判定された場合(フレーム2~5、7~13、15~18)。には、テーブル更新が発生せず、前回のフレームで用いられた変換テーブルが使用される。
【0118】
上記構成によれば、各箇所の過去のつなぎ位置が現フレームでも充分に高いつなぎ精度を示し有効である場合に、改めてつなぎ位置の検出を行わずに過去のつなぎ位置を活用することができる。そのため、仮に改めてつなぎ位置の検出を行った場合に、大きくマッチングスコアが改善しないが別の最適なつなぎ位置が検出されるようなときに、その不必要なつなぎ位置の更新を抑制することができ、ひいては、フレーム間の不連続性の発生を抑制することが可能となる。
【0119】
また、不必要な箇所でのつなぎ位置の検出が省略されるので、つなぎ検出のための計算負荷を削減することができる。計算負荷が削減されるので、デバイスに対するハードウェア要件(CPU、GPU、メモリなど)も緩和することができ、低コスト化することができ、発熱を抑制し、消費電力も低減することもできる。本実施形態による全天球撮像デバイス10は、特にライブストリーミングやリアルタイムの動画記録を行う場合において有用である。
【0120】
<間欠的つなぎの変形例>
上述した実施形態による間欠的つなぎは、前回のつなぎ位置のみを用いるものであった。一方で、会議やビデオ通話の用途においては、屋内で設置空間が仕切られていることが多く、被写体までの距離は、通常、会議室などの設置空間の壁などの位置が限界となる。以下、
図19、
図24~
図26を参照しながら、前回のつなぎ位置に加えて、所定期間内で検出された最遠のつなぎ位置(以下、基本のつなぎ位置と参照する。)を保持する変形例の実施形態について説明する。この変形例の実施形態では、前回のつなぎ位置が有効ではない場合でも、基本のつなぎ位置が有効である場合には、基本のつなぎ位置を用いることで、つなぎ位置の検出を省略することが可能となる。
【0121】
変形例の実施形態では、機能ブロックや全天球動画像合成処理のメイン処理は大きく変更はないため、
図5に示す機能ブロックおよび
図19に示すフローチャートをそのまま参照する。変形例の処理も、例えばビデオ会議支援アプリケーションからの配信開始の指示に応答して、ステップS200から開始される。
【0122】
ステップS201では、全天球撮像デバイス10は、評価部207により、記憶されている前回および基本の一方または両方のつなぎ位置の評価を行う。
図24は、変形例の実施形態による全天球撮像デバイスが実行するつなぎ位置評価処理のフローチャートである。
図24に示す処理は、
図19に示すステップS201で呼び出されて、ステップS500から開始される。なお、
図24に示すつなぎ位置評価処理は、同様に、
図5に示す評価部207が処理を担当する。
【0123】
ステップS501では、全天球撮像デバイス10は、つなぎ位置評価の初期化を行う。初期化の際は、つなぎ位置評価は、すべての箇所について、つなぎ位置の検出が必要(つなぎ位置検出「要」:LV0)として初期化される。
【0124】
ステップS502では、全天球撮像デバイス10は、現フレームが先頭フレームであるか否かに応じて処理を分岐させる。ステップS502で、先頭フレームであると判定された場合(YES)は、つなぎ位置評価が初期値のまま、ステップS514で本つなぎ位置評価処理が終了する。
【0125】
一方、ステップS502で、先頭フレームではないと判定された場合(NO)は、ステップS503へ処理が進められる。ステップS503~ステップS513のループは、ブロック(i)毎に行われる。
【0126】
ステップS504では、全天球撮像デバイス10は、つなぎ位置情報記憶部210から前回のつなぎ位置を取得する。ステップS505では、全天球撮像デバイス10は、前回のつなぎ位置に対し、現フレームでの第1の評価値(例えばマッチングスコア)を計算し、つなぎ位置情報記憶部210に記録する。ステップS506では、全天球撮像デバイス10は、第1の評価値が第1の閾値以上であるか否かを判定する。
【0127】
ステップS506で、第1の評価値が第1の閾値以上であると判定された場合(YES)は、ステップS507へ処理が分岐される。ステップS507では、全天球撮像デバイス10は、つなぎ位置検出が不要で、前回のつなぎ位置を用いるという評価判定(つなぎ位置検出「不要」「前回のつなぎ位置」使用:LV1)を記憶する。
【0128】
一方、ステップS506で、第1の評価値が第1の閾値未満であると判定された場合(NO)は、ステップS508へ処理が分岐される。ステップS508では、全天球撮像デバイス10は、つなぎ位置情報記憶部210から基本のつなぎ位置を取得する。第2フレーム以降、最初に記憶される基本のつなぎ位置は、初回に検出したつなぎ位置となる。また、基本のつなぎ位置の更新については後述するが、撮影開始から現在まで、または、少なくとも所定継続フレーム数前から現在までの最遠側のつなぎ位置を保持する。
【0129】
ステップS509では、全天球撮像デバイス10は、基本のつなぎ位置に対し、現フレームでの第2の評価値(例えばマッチングスコア)を計算し、つなぎ位置情報記憶部210に記録する。なお、ここで、第1の評価値が第1の閾値未満である場合に、基本のつなぎ位置に対する第2の評価値を算出するよう構成しているのは、可能な限り評価値の計算負荷を削減するためである。ステップS510では、全天球撮像デバイス10は、第2の評価値が第2の閾値以上であるか否かを判定する。
【0130】
ステップS510で、第2の評価値が第2の閾値以上であると判定された場合(YES)は、ステップS511へ処理が分岐される。ステップS511では、全天球撮像デバイス10は、つなぎ位置検出が不要で、基本のつなぎ位置を用いるという評価判定(つなぎ位置検出「不要」「基本のつなぎ位置」使用:LV2)を記憶する。
【0131】
一方で、ステップS510で、第2の評価値が第2の閾値未満であると判定された場合(NO)は、ステップS512へ処理が分岐される。ステップS512では、全天球撮像デバイス10は、つなぎ位置検出が必要であるという評価判定(つなぎ位置検出「要」:LV0)を記憶する。
【0132】
すべてのブロックについてステップS503~ステップS513の処理が完了すると、ステップS514で、本つなぎ評価処理は終了し、制御は、
図19に示すメイン処理に戻される。
【0133】
図25は、変形例の実施形態において、つなぎ位置情報記憶部210に格納されるつなぎ位置情報のデータ構造を示す。
図25(A)は、評価対象の過去のつなぎ位置を格納するテーブルを示し、
図25(B)は、
図24に示すつなぎ位置評価処理による評価判定を格納するテーブルを示す。
図25(A)に示すように、つなぎ位置格納テーブルは、ブロック毎に、前回のつなぎ位置の座標値に加えて、基本のつなぎ位置の座標値を記録する。また、
図25(B)に示すように、
図24に示すつなぎ位置評価処理によって、対象のフレームについてブロック毎に、前回のつなぎ位置の有効性を示す第1評価値と、基本のつなぎ位置の有効性を示す第2評価値と、これらに基づく評価判定とが記録される。
【0134】
再び
図19を参照すると、ステップS202では、全天球撮像デバイス10は、検出部208により、
図25(B)に示す評価判定テーブルを参照して、必要な箇所のつなぎ位置の検出を行う。
図26は、変形例の実施形態による全天球撮像デバイスが実行するつなぎ位置検出処理のフローチャートである。
図26に示す処理は、
図19に示すステップS202で呼び出されて、ステップS600から開始される。なお、
図26に示すつなぎ位置検出処理は、
図5に示す検出部208が担当する。
【0135】
ステップS601では、全天球撮像デバイス10は、検出カウンタの初期化を行う。ステップS602~ステップS621のループは、ブロック(i)毎に行われる。ステップS603では、全天球撮像デバイス10は、
図25(B)に示すテーブル中の当該ブロック(i)の評価判定を参照し、評価判定に応じて処理を分岐させる。
【0136】
ステップS603で、つなぎ位置検出「要」であると判定された場合(LV0)は、処理をステップS604へ分岐させる。ステップS604では、全天球撮像デバイス10は、当該ブロックについて、パターンマッチングにより、つなぎ位置の検出を行う。ステップS605では、全天球撮像デバイス10は、検出カウンタをインクリメントする。ステップS606では、全天球撮像デバイス10は、当該ブロックについての非更新継続カウンタをリセット(1とする)する。ここで、非更新継続カウンタは、当該ブロックについて、つなぎ位置を更新しないフレームが何フレーム継続しているかを計数するために用いられる。ステップS607では、全天球撮像デバイス10は、つなぎ位置情報記憶部210の
図25(A)に示すテーブルにおいて、当該ブロックの前回のつなぎ位置の値を検出されたつなぎ位置で更新する。
【0137】
ステップS608では、全天球撮像デバイス10は、既に基本のつなぎ位置が記憶されているか否かを判定する。先頭フレームの場合は、基本のつなぎ位置が未だ格納されていないので、ここでは、基本のつなぎ位置が存在しないと判定される。ステップS608で、基本のつなぎ位置が存在しないと判定された場合(YES)は、ステップS610へ処理が分岐され、つなぎ位置情報記憶部210の
図25(A)に示すテーブルにおいて、当該ブロックの基本のつなぎ位置の値を検出されたつなぎ位置で更新し、ステップS621へ処理が進められる。
【0138】
一方、ステップS608で、基本のつなぎ位置が記憶済みであると判定された場合(YES)は、ステップS609へ処理が分岐される。ステップS609では、全天球撮像デバイス10は、新たに検出されたつなぎ位置が、基本のつなぎ位置よりも遠距離であるか否かを判定する。ステップS608で、基本のつなぎ位置よりも遠距離であると判定された場合(YES)は、ステップS610へ処理が分岐され、つなぎ位置情報記憶部210の
図25(A)に示すテーブルにおいて、当該ブロックの基本のつなぎ位置の値を検出されたつなぎ位置で更新し、ステップS621へ処理が進められる。一方、ステップS608で、基本のつなぎ位置よりも遠距離ではないと判定された場合(NO)は、そのままステップS621へ処理が進められる。
【0139】
ここで、遠距離とは、
図11を参照して説明した通りの意味である。
図27は、本実施形態による、被写体距離に応じたつなぎ位置の違いを説明する図である。
図27に示す距離Aおよび距離Bは、全天球撮像デバイス10(その光学系の中心)からの被写体距離を示している。
図27に示すように、つなぎ境界に対応する同じ方位にある被写体であっても、被写体からの距離に応じて、つなぎ位置がずれる。距離Aが、
図11に示す遠距離側のつなぎ位置を示しており、距離Bが、
図11に示す近距離側のつなぎ位置を示している。被写体距離が遠距離になるほど、部分画像において被写体が周辺から中心へ移動することになる。
【0140】
一方、ステップS603で、つなぎ位置検出「不要」かつ「前回のつなぎ位置」使用と判定された場合(LV1)は、処理をステップS611へ分岐させる。ステップS611では、全天球撮像デバイス10は、当該ブロックについて、前回のつなぎ位置を用いることとして、検出部208によるつなぎ位置の検出は省略し、ステップS612へ処理を進める。ステップS612では、全天球撮像デバイス10は、前回のつなぎ位置がもう一度使われることになるので、当該ブロックについての非更新継続カウンタをインクリメントする。
【0141】
ステップS613では、全天球撮像デバイス10は、前回のつなぎ位置が、基本のつなぎ位置よりも近距離であるか否かを判定する。ステップS613で、基本のつなぎ位置よりも近距離ではないと判定された場合(NO)は、そのままステップS621へ処理が進められる。一方、ステップS613で、基本のつなぎ位置よりも近距離であると判定された場合(YES)は、ステップS614へ処理が分岐される。
【0142】
ステップS614では、全天球撮像デバイス10は、当該ブロックでの非更新継続カウンタが所定の閾値を超えているか否かを判定する。ステップS614で、非更新継続カウンタが所定の閾値を超えていないと判定された場合(NO)は、そのままステップS621へ処理が進められる。
【0143】
一方、ステップS614で、非更新継続カウンタが所定の閾値以上であると判定された場合(YES)は、ステップS615へと処理が進められ、つなぎ位置情報記憶部210の
図25(A)に示すテーブルにおいて、当該ブロックの基本のつなぎ位置の値を前回のつなぎ位置で更新し、ステップS616で、当該ブロックの非更新継続カウンタをリセットし、ステップS621へ処理が進められる。
【0144】
再びステップS603を参照すると、ステップS603で、つなぎ位置検出「不要」かつ「基本のつなぎ位置」使用と判定された場合(LV2)は、処理をステップS617へ分岐させる。ステップS617では、全天球撮像デバイス10は、当該ブロックについて、基本のつなぎ位置を用いることとし、検出部208によるつなぎ位置の検出は省略し、ステップS618へ処理を進める。ステップS618では、全天球撮像デバイス10は、全天球撮像デバイス10は、検出カウンタをインクリメントする。新たにつなぎ位置を検出せず基本のつなぎ位置を用いるとはいえ、前回のつなぎ位置とは異なるためである。
【0145】
ステップS619では、全天球撮像デバイス10は、当該ブロックについての非更新継続カウンタをリセット(1とする)する。ステップS620では、全天球撮像デバイス10は、つなぎ位置情報記憶部210の
図25(A)に示すテーブルにおいて、当該ブロックの前回のつなぎ位置の値を基本のつなぎ位置で更新する。この場合は、前回のつなぎ位置と基本のつなぎ位置とが一致することになる。
【0146】
この基本のつなぎ位置は、改めて、記憶される基本のつなぎ位置と比較して遠距離側で新たなつなぎ位置が検出されるか、近距離側で新たにつなぎ位置が検出され、その同一のつなぎ位置の継続期間が所定の基準を満たす場合(更新継続カウンタが所定の閾値以上となる場合)に、そのつなぎ位置で更新される。
【0147】
すべてのブロックについてステップS602~ステップS621の処理が完了すると、ステップS622で、本つなぎ検出処理は終了し、
図19に示すメイン処理に戻される。
【0148】
再び
図19を参照すると、ステップS203では、全天球撮像デバイス10は、つなぎ位置の更新が有ったか否かを判定する。ステップS203で、つなぎ位置の更新があったと判定された場合(YES)は、ステップS204へ処理が分岐される。ステップS204では、全天球撮像デバイス10は、変換テーブルの作成および更新を行い、ステップS205へ処理を進める。一方、ステップS203で、つなぎ位置の更新が行われていないと判定された場合(NO)は、ステップS205へと直接処理を進める。ステップS205では、全天球撮像デバイス10は、現在の変換テーブルを用いて、部分画像0および部分画像1に対し歪み補正および画像合成を行い、ステップS206へ処理を進める。
図6に示したステップS107~ステップS109の処理が対応する。
【0149】
ステップS206では、全天球撮像デバイス10は、入力されたものが最終フレームであるか否かを判断する。ステップS206で、最終フレームではないと判定された場合(NO)は、ステップS201へループされ、処理を継続する。これに対して、ステップS206で、最終フレームであると判定された場合(YES)は、ステップS207へ処理を分岐させて、本画像合成処理を終了する。
【0150】
上記構成によれば、各箇所の前回または基本のつなぎ位置が現フレームでも充分なつなぎ精度を示して有効である場合に、改めてつなぎ位置の検出を行わずに、前回または基本いずれかのつなぎ位置を活用することができる。そのため、フレーム間の不連続性の発生を抑制することが可能となる。また、不必要な箇所でのつなぎ位置の検出が省略されるので、つなぎ検出のための計算負荷を削減することができる。計算負荷が削減されるので、デバイスに対するハードウェア要件も緩和することができ、発熱を抑制し、消費電力も低減することもできる。
【0151】
ここで、基本のつなぎ位置は、所定期間において、最も遠距離側のつなぎ位置を保持することを目的としている。特に、会議室等の区切られた室内空間内では、遠距離側は無限遠などは必要なく、距離を限定することができる。基本のつなぎ位置で保持された位置よりも遠距離側につなぎ位置が検出される場合、物体(例えば、ホワイトボード)が動かされたことにより、物体に隠れていた遠距離の被写体(例えば壁)が現れた状況が考えられ、この場合は、遠距離側が更新されたと判定し、基本のつなぎ位置を更新する。反対に、物体が動かされて今まで見えていた遠距離の被写体が隠される場合があり、その対応としては、上述した非更新継続カウンタを用いて一定時間更新がなければ、遠距離側が変更されたと判定し、近距離側に基本のつなぎ位置を更新する。非更新継続カウンタを用いるのは、会議支援など全天球撮像デバイス10が静置されるような用途では、遠距離側は、あまり動かないが、近距離側では、人が横切るなどの一時的に近距離側のつなぎ位置が検出される可能性があるため、一定期間固定されたことを待って、基本のつなぎ位置を更新している。本変形例の実施形態は、会議支援など、屋内のような、壁などの遮蔽物で区切られた設置空間で、全天球撮像デバイス10が静置されるような用途において、特に有用である。
【0152】
図26のステップS604では、有効性が基準を満たさない箇所について、パターンマッチングにより、つなぎ位置の検出が行われる。この際に、所定の探索範囲が設定されることになるが、上記基本のつなぎ位置を用いることで、探索範囲を限定し、計算負荷をより一層低減することができる。
【0153】
図28(A)は、特定の実施形態において、基本のつなぎ位置に応じてつなぎ位置の検出の際の探索範囲を制限する技術を説明する図である。上述したように、つなぎ位置検出は、探索範囲を全域(-sy~+sy)で行う場合は、処理時間が増大する。基本のつなぎ位置は、上述したように、会議室300の遠距離端の位置を示しているため、基本のつなぎ位置から近距離方向に向けて探索範囲を限定する(-my~+sy)ことで高速につなぎ位置を検出することが可能となる。ここで、-myは、基本のつなぎ位置としてもよいし、基本のつなぎ位置に所定のマージンを加えて遠距離側の位置としてもよい。なお、先頭フレームでは、遠距離側の探索範囲は限定せず、全域(-sy~+sy)でつなぎ位置検出を行う。
【0154】
図28(B)は、特定の実施形態において、上述した基本のつなぎ位置に代えて、別途検出された被写体距離情報に応じてつなぎ位置の検出の際の探索範囲を制限する技術を説明する図である。
【0155】
図28(B)に示すように、予め被写体距離に対応する探索位置を設定し、被写体距離情報から、事前に設定した探索範囲を呼び出して、その探索範囲で探索を行うことで高速につなぎ位置の検出を行うことができる。例えば、
図28(B)のように、被写体距離情報が0.5mの場合、0.5m付近の領域(灰色領域)でつなぎ位置検出を行うことができる。ここで、被写体距離情報は、画像における被写体の大きさから推定してもよいし、測距センサによる測定結果など公知の技術で取得できる。
【0156】
以上説明したように、上述した実施形態によれば、複数の画像を合成した合成画像において、つなぎ合わせ箇所近傍で画像が不自然に動く等、つなぎ位置の変更に起因する動画の品質の劣化を抑制することが可能な画像処理装置、画像処理システム、撮像装置、画像処理方法およびプログラムを提供することができる。
【0157】
以上説明した実施形態では、全天球撮像デバイス10が、本実施形態における画像処理装置、画像処理システムおよび撮像装置を構成していた。しかしながら、画像処理装置、画像処理システムおよび撮像装置の構成は、上述した構成に限定されるものではない。他の実施形態では、上述した部分画像撮像処理を除く画像処理を、情報端末170、その他の画像処理装置(例えばパーソナル・コンピュータやサーバ、クラウド上の仮想コンピュータなど)上で分散実装してもよい。このような実施形態では、全天球撮像デバイス10は、複数の部分画像を取得して出力し、情報端末170や他の画像処理装置は、全天球撮像デバイス10から出力された複数の部分画像の入力を受け、間欠的つなぎを行う画像合成処理を行い、出力画像を生成し、モニタ画像を表示したり、画像データを保存したりすることができる。
【0158】
また、上述した実施形態では、全天球撮像デバイス10と情報端末170とを組み合わせて会議支援システムを構成しているが、全天球撮像デバイス10に情報端末170の機能を組み込んで、映像の撮像からサーバへの配信を行う単一のデバイスを構成してもよい。
【0159】
なお、上述までの実施形態では、つなぎ位置の有効性を評価する具体的な指標としてマッチングスコアを挙げた。マッチングスコアは、計算コストが低く、高速に行えるため、比較的厳しいハードウェア制約が課せられるデバイス側の実装にも適している。しかしながら、つなぎ位置の有効性を評価する方法は、マッチングスコアに限定されない。例えば、画像から顔などの被写体を認識する物体認識器などが知られている。ある場所に写ってた被写体が変化すると、つなぎ位置もそれに合わせて変更しなければならないことが通常である。そのため、マッチングスコアおよび閾値に代えて、つなぎ位置での、前回フレームでの認識結果を基準として、現フレームでの認識結果を評価値として、つなぎ位置の検出の要否を判定することもできる。例えば、前回フレームでは「顔」が認識された箇所で、現フレームでは「壁」として認識されれたりあるいは認識不能であった場合に、つなぎ位置の検出「要」と判定するよう構成してもよい。
【0160】
また、上記機能部は、アセンブラ、C、C++、C#、Java(登録商標)などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD-ROM、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。また、上記機能部の一部または全部は、例えばフィールド・プログラマブル・ゲート・アレイ(FPGA)などのプログラマブル・デバイス(PD)上に実装することができ、あるいはASIC(特定用途向集積)として実装することができ、上記機能部をPD上に実現するためにPDにダウンロードする回路構成データ(ビットストリームデータ)、回路構成データを生成するためのHDL(Hardware Description Language)、VHDL(Very High Speed Integrated Circuits Hardware Description Language)、Verilog-HDLなどにより記述されたデータとして記録媒体により配布することができる。
【0161】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0162】
10…全天球撮像デバイス、12…撮像体、13…切り込み部(把手)、14…筐体、15A,15B…コントローラ基板、16A,16B…ケーブル、17A~17C…コネクタ、18…操作ボタン、20…結像光学系、22…固体撮像素子、100…プロセッサ、102…鏡胴ユニット,108…ISP、110,122…DMAC、112…アービタ(ARBMEMC)、114…MEMC、116,138…SDRAM、118…歪曲補正・画像合成ブロック、120…3軸加速度センサ、124…画像処理ブロック、126…画像データ転送部、128…SDRAMC、130…CPU、132…リサイズブロック、134…静止画ブ圧縮ロック、136…動画圧縮ブロック、140…メモリカード制御ブロック、142…メモリカードスロット、144…フラッシュROM、146…USBブロック、148…USBコネクタ、150…ペリフェラル・ブロック、152…音声ユニット、154…スピーカ、156…マイク、158…シリアルブロック、160…無線NIC、162…LCDドライバ、164…LCDモニタ、166…電源スイッチ、170…情報端末、172…CPU、174…RAM、176…HDD、178…入力装置、180…外部ストレージ、182…ディスプレイ、184…無線NIC、186…USBコネクタ、188…バス、190‥ケーブル、200…機能ブロック、202…フレーム記憶部、204…位置検出用歪み補正部、206…つなぎ位置検出処理部、208…評価部、209…検出部、210…つなぎ位置情報記憶部、212…テーブル修正部、214…テーブル生成部、216…画像合成用歪み補正部、218…画像合成部、220…表示画像生成部、222…画像圧縮部、230…位置検出用変換テーブル、232…画像合成用変換テーブル、240…画像データ、300…会議室、302…テーブル、310…インタラクティブボード、320…ホワイトボード、330…つなぎ境界、500…テンプレート用画像、502…テンプレート画像、510…探索用画像、512…探索範囲、514…対応部分
【先行技術文献】
【特許文献】
【0163】