以下、本実施形態について説明するが、本実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、投影システムの一例として、投影手段である1以上のプロジェクタと、撮像手段である1つのカメラと、全体制御を行う画像処理装置とを含む映像投影システムを用いて説明する。
(全体構成)
図1は、本実施形態による映像投影システム100の全体構成を示す概略図である。図1に示す映像投影システム100は、システムの全体制御を行う画像処理装置110と、1以上のプロジェクタ150(例:150a〜150d)と、カメラ160とを含み構成される。なお、説明する実施形態では、映像投影システム100は、4台のプロジェクタ150a〜150dの投影像を投影面上で合成し、単一のプロジェクタよりも大きな領域に画像を投影する、いわゆる大画面のマルチ・プロジェクションに対応した構成とされている。
プロジェクタ150の数は、特に限定されるものではない。1台のプロジェクタ150を用いた通常のプロジェクションに対応した構成としてもよい。複数台のプロジェクタ150の投影像を投影面上で重ねて単一のプロジェクタ程度の領域に画像を投影する、いわゆるスタック・プロジェクションに対応した構成としてもよい。
画像処理装置110は、パーソナル・コンピュータ、ワークステーションなどの汎用コンピュータでもよい。なお、画像処理装置110は、汎用コンピュータに限定されるものではなく、専用コントローラとして実装されてもよいし、いずれかのプロジェクタ150に組み込まれてもよい。
プロジェクタ150は、それぞれ、液晶方式、CRT(Cathode Ray Tube)方式、DLP(Digital Light Processing)方式、LCOS(Liquid Crystal On Silicon)方式などを採用する投影装置である。カメラ160は、CMOS(Complementary Metal Oxide Semiconductor)やCCD(Charge Coupled Device)などのイメージセンサと、イメージセンサの受光領域上に結像するためレンズなどの結像光学系とを含む撮像装置である。カメラ160は、WEBカメラ、デジタル・スチル・カメラ、デジタル・ビデオ・カメラなどの専用デバイスとして構成されてもよいし、あるいは、スマートフォン端末やタブレット端末などの汎用デバイスに組み込まれたデバイスとして構成されてもよい。
本映像投影システム100においては、投影面を提供する投影体であるスクリーン102が設置されている。説明する実施形態において、スクリーン102は、図1の垂直方向に沿って曲がりを有する円筒形状を有しており、その円筒形状の内壁が投影面となっている。図1に示す複数のプロジェクタ150は、スクリーン102の曲がりと交差する水平方向に、それぞれ、投影の中心の位置をずらしながらスクリーン102上に投影像を投影できるように設置されている。なお、説明する実施形態では、垂直方向に曲がりを有する円筒の内壁をスクリーン102としている。しかし、特にこれに限定されるものではなく、1つの方向で曲がりを有する如何なる曲面を有していてもよい。
画像処理装置110は、複数のプロジェクタ150a〜150dに投影させる複数の投影画像を生成し、対応するプロジェクタ150a〜150d各々に投影画像各々を出力する。プロジェクタ150a〜150dは、それぞれ、画像処理装置110から入力される投影画像をスクリーン102上に投影する。スクリーン102上には、図1に示すように、複数のプロジェクタ150a〜150d各々からの複数の投影像104a〜104dが投影されている。この複数の投影像104a〜104dは、投影面上で重なり合わせられて、単一の投影像106に合成される。
映像投影システム100は、投影モード中、上述したように複数のプロジェクタ150a〜150dを用いて単一の投影像106を投影するが、上述した投影モード前に、校正処理が行われる。図1に示すカメラ160は、この校正処理の際に用いられる。画像処理装置110は、校正モード中、複数のプロジェクタ150a〜150dそれぞれに校正用の画像を出力し、スクリーン102上に校正用の投影像を投影させる。そして、所定のプロジェクタ150により投影されたスクリーン102上の投影像104がカメラ160の画角内に入るように、カメラ視点および視野が設定され、複数回の校正用の撮影が行われることになる。
カメラ160で撮像された撮像画像(以下、校正用投影像が写り込んだ撮像画像を校正用撮像画像と参照する。)は、それぞれ、無線LAN(Local Area Network)、Bluetooth(登録商標)などの無線接続、または有線USBや有線LANなどの有線接続を介して、画像処理装置110へ送信される。あるいは、カメラ160で撮像された校正用撮像画像は、SDカードやコンパクトフラッシュ(登録商標)などのリムーバブル・メディアを介して、画像処理装置110で読み取られる。
画像処理装置110は、入力された複数の校正用撮像画像を用いて、複数のプロジェクタ150a〜150dの投影像各々の各種補正係数を計算する。画像処理装置110は、投影モード中、計算された各種補正係数に基づき、プロジェクタ150a〜150d各々に投影させるための補正された投影画像を生成する。以下、図2〜図17を参照しながら、各種補正係数の計算処理および補正係数に基づく補正処理について説明する。
(機能構成)
図2は、本実施形態による映像投影システム100の機能ブロック図である。図2に示すシステム100は、画像処理装置110上で動作する複数の機能ブロックを含む。画像処理装置110は、コンテンツ格納部112と、プロジェクタ毎の補正処理部114(例:114a〜114d)と、プロジェクタ毎の投影画像出力部116(例:116a〜116d)と、プロジェクタ毎の切替部122(例:122a〜122d)とを含み構成される。画像処理装置110は、さらに、校正用画像格納部118と、校正用シーン選択部120と、校正用撮像画像入力部124と、格子点抽出統合部130と、補正係数算出部140とを含み構成される。
コンテンツ格納部112は、単一の投影像106として投影する対象であるコンテンツ画像を格納する。コンテンツ格納部112は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、着脱可能なリムーバブル・メディアなどの記憶領域として提供される。なお、投影対象となるコンテンツ画像は、プレゼンテーションなどのアプリケーションやオペレーティング・システムで生成される表示画面、静止画像ファイルの静止画、動画ファイル中の任意のタイミングのフレーム、外部入力される映像として与えられ得る。以下、説明の便宜上、静止画像としてコンテンツ画像が与えられた場合を一例に説明する。
補正処理部114a〜114dおよび投影画像出力部116a〜116dは、システム100に含まれるプロジェクタ150a〜150dに対応して設けられている。補正処理部114は、それぞれ、コンテンツ格納部112からコンテンツ画像を読み出し、補正処理を施し、対応するプロジェクタ用の投影画像を生成する。投影画像出力部116は、それぞれ、対応するプロジェクタ150に接続されるディスプレイ出力を含み構成され、接続されるプロジェクタに対し、切替部122で選択された入力画像を映像出力する。
切替部122a〜122dは、当該システム100の動作モードに応じて、画像のフローを切り替える。コンテンツ画像を投影する投影モード中は、切替部122は、補正処理部114の出力に入力側を切り替える。これに伴い、投影画像出力部116は、それぞれ、対応する補正処理部114によるコンテンツ画像に基づく処理結果を映像出力する。一方、校正モード中は、切替部122は、後述する校正用シーン選択部120の出力に入力側を切り替える。これに伴い、投影画像出力部116は、それぞれ、校正用シーン選択部120で選択して出力された校正用画像を映像出力する。
校正用画像格納部118は、校正モード中にプロジェクタ150から投影させるための校正用画像を格納する。校正用画像格納部118は、HDD、SSD、着脱可能なリムーバブル・メディアの記憶領域として提供される。校正画像は、特に限定されるものではないが、典型的には、事前に準備された静止画像として与えられる。
ここで、校正用画像は、投影像の格子点を規定する校正パターンおよび投影像の位置合わせ点を規定する位置合わせパターンの両方もしくは一方を含む。図3は、本実施形態による映像投影システム100で用いられる2種類の校正用画像を例示する図である。図3Aは、位置合わせパターン202LT,202RT,202LB,202RBおよび校正パターン206の両方を含む第1の校正用画像200を例示する。図3Bは、位置合わせパターン212LT,212RT,212LB,212RBのみを含む第2校正用画像210を例示する。
校正パターン206は、プロジェクタ・メモリ上の座標を規定するものであり、任意の図形要素204が所定の規則で配置されてなす模様として構成される。スクリーン102上に投影された校正パターン206を撮像し、その格子点を抽出することにより、投影像の台形歪みや局所的な歪みを検出することができる。位置合わせパターン202,212は、校正用に撮像した画像間での投影像の基準位置(位置合わせ点)を規定するものであり、複数の任意の図形要素が所定の位置に配置されて構成される。スクリーン102上に投影された共通の位置合わせパターン202,212を収めて複数回撮像することにより、複数の撮像画像間で、位置合わせを行うことができる。
図3Aと図3Bを参照しながら具体的なパターンについて説明したが、校正パターン206および位置合わせパターン202,212は、特に限定されるものではない。
ここで、再び図2を参照する。本実施形態による校正処理では、複数回に分けて、プロジェクタ150各々の投影像の幾何歪みを検出するための校正パターンの撮像が行われ、位置合わせパターンにより複数の撮像結果が統合される。校正用シーン選択部120は、上述した校正用画像格納部118から各校正用画像を読み出し、複数のプロジェクタ150a〜150d各々に対し、適切な校正用画像を選択して出力する。校正用シーン選択部120は、複数のプロジェクタ150の投影像の位置関係を規定する情報を有しており、全体として過不足なく各プロジェクタ150の校正結果が得られるように校正処理の各段階に応じて校正用画像を選択する。各校正処理の段階における、1以上のプロジェクタ150で投影させる校正用画像を含み構成されるシーンを、以下、校正用投影シーンと参照する。
校正用シーン選択部120により、プロジェクタ150各々から、校正用投影シーンに応じた校正用画像が投影される。このとき、ユーザは、カメラ160を用いて、校正用投影シーン毎に、投影された校正用投影像が画角に収まるようにして撮影を行う。校正用撮像画像入力部124は、カメラ160からの無線接続、有線接続、リムーバブル・メディアを介して各撮像画像の入力を受けて、複数の校正用撮像画像を準備する。
格子点抽出統合部130は、上記校正用投影シーンに対応して校正用撮像画像入力部124で準備された各校正用撮像画像から、写り込んだ校正パターンの格子点を抽出する。補正係数算出部140は、格子点抽出統合部130により抽出された各プロジェクタ150毎の格子点に基づいて、補正処理部114a〜114bに対し設定する各種補正係数を計算する。
ここで、具体的な校正処理について説明する前に、以下、図4A〜4Bおよび図5A〜4Dを参照しながら、円筒内壁のような1方向(例えば垂直方向)に曲がった曲面を有する投影体に投影する場合に、観察者に与えられる違和感について検討する。
図4Aは、透視投影モデルについて説明する図である。図4Bは、平行投影モデルについて説明する図である。図5Aは、カメラ160と、横円筒内壁のスクリーン102との関係を示す図である。図5Bは、カメラで撮像された横円筒内壁のスクリーン画像220を示す図である。図5Cは、コンテンツを投影するために設定される、撮像画像座標系上で矩形形状を有する投影目標領域222を示す。図5Dは、投影目標領域に収まるよう補正された補正後投影像を平行投影した補正後画像226を示す。
円筒内壁のようなスクリーン102に投影する場合に、通常の校正方法では、上述したように、全体の補正後の画像が両端で膨らんでいるように見えてしまい、観察者に違和感を与えてしまう場合がある。これは、カメラを用いて校正を行う場合、通常、撮像画像の座標をスクリーン座標と同一とみなして、撮像画像座標系において、補正後の投影像が矩形となるような補正を行うためである。なお、このような不具合は、校正パターンを分割撮像する場合も、全スクリーンを一括して画角に収めて三脚固定したカメラで校正パターンを一括撮像する場合も同様であるため、以下、便宜上、一括撮像で単一のプロジェクタの投影像を補正するケースを一例として説明する。
カメラによる撮像は、3次元座標系(X,Y,Z)を2次元座標系(x、y)に変換することに相当するが、下記式上段に表されるような、透視投影変換(図4Aに示す。)によりモデル化することができる。しかしながら、透視投影変換は、下記下段に表されるような3次元座標系での(X,Y,Z)の(X,Y)座標をそのまま射影する正射影(または平行投影:図4Bに示す。)とは異なる結果を生じさせる。
矩形の平面スクリーンを正面から撮像した場合には、透視投影変換では、スクリーンとの距離に反比例して大きさが変化することにはなるが、透視投影変換であっても正射影の場合と同じように矩形に見えることになる。これに対し、奥行きのある横円筒内壁のような曲面スクリーンを正面から撮像した場合、正射影では矩形に変換されることになるが、透視投影変換では、図5Bに示すような糸巻き形状に見えることになる。すなわち、図5Aおよび図5Bにおいて点線および破線で示すように、スクリーン102の各位置の奥行きに応じて、大きさが異なるため、手前にある部分は大きく、奥にある部分は小さく映り、矩形にはならず、上述した糸巻き形状に歪んで見えることになる。つまり、スクリーンが曲面となった場合には、撮像画像の座標は、曲面スクリーンを正面から見たときのxy座標系で表したもの(平行射影したx、y座標系)とは形状が異なることになる。
ここで、図5Cに示すように、この糸巻き形状に歪んだ撮像画像座標系において矩形の投影目標領域222に収まるように画像の補正を行うと、結果的に補正後の画像224は、カメラ視点で見た場合のみ矩形に見えることになり、矩形の壁紙を曲面に貼ったような補正とはならない。図5Dは、補正後の投影像を平行投影した画像を模式的に表しているが、このように、逆にたる型に膨らんだ壁紙を曲面に貼ったようになってしまうことになる。このため、カメラ視点から見た場合は、矩形に見え、カメラ視点から見るだけなら違和感はないが、例えばスクリーン左右端の正面から見た場合に、矩形の壁紙を貼ったような補正に比べてたる型に膨らんで投影されているで、観察者に違和感を与えることになる。
上述した通常の補正は、視聴者が1人であり、視聴位置がスクリーン正面中央に固定される場合は、視聴者の位置にカメラを置いて校正すれば問題がない可能性がある。しかしながら、横長に投影された投影像を、種々の位置の視点から複数人が見る場合は、投影像の端の方で観察した際にたる形状に膨らんで見えてしまうと、人は違和感を覚えやすい。
したがって、上述したような場合には、矩形の壁紙を曲面に貼ったように見せる補正の方が望ましい。それは、人間は、曲面に貼られたポスターやワインボトルのラベルのように、矩形の画像が曲面に貼られているものとして元の矩形の画像を想像して違和感なく認識することが期待されるからある。
そこで、本実施形態では、まず、校正用撮像画像入力部124が、1以上のプロジェクタ150のうちの注目するプロジェクタに関し、該注目するプロジェクタにより曲面スクリーン102上に投影された校正パターンが曲面スクリーン102の曲がりを有する方向に関連してそれぞれ異なる撮像範囲で撮像された複数の校正用撮像画像を準備する。そして、格子点抽出統合部130が、準備された複数の校正用撮像画像各々から、注目するプロジェクタの投影像の歪みを示す格子点の組を抽出し、共通して抽出された注目の投影手段の格子点の組各々を、共通する座標系上に変換し、上記共通する座標系上の注目するプロジェクタの複数組の格子点を位置に応じて合成し、合成された格子点の組を生成する。そして、補正係数算出部140が、合成された格子点の組に基づいて、プロジェクタに対する補正係数を計算する。
これにより、1つの方向で曲がりを有する投影体に対し、複数の視点からの観察でも違和感を与えないような投影像の補正を図る。
以下、図2、図6および図7を参照しながら、本実施形態による校正処理について、より詳細に説明する。図6および図7は、図2に示した校正用シーン選択部120が順次選択する校正用投影シーンおよびその撮像方法を説明する図である。図1に示すような4台のプロジェクタ150a〜150dを用いる実施形態においては、図6および図7に示す態様で校正用投影シーンを構成し、校正用撮像画像を準備することができる。
図6および図7に示すように、説明する実施形態では、8回の撮像に対応した8個の校正用投影シーンが準備される。第1の校正用投影シーン(撮像1枚目)では、左端に位置する第1プロジェクタ150aが図3Aに示す第1の校正用画像200を投影する。このとき、他のプロジェクタ150b,150c、150dは、何も投影しない。この第1の校正用投影シーンにおいては、ユーザは、第1プロジェクタ150aの投影像231aをカメラ160の視野(破線で示す。)に収めて撮影を行うが、撮像範囲において、水平方向に沿って隣接するプロジェクタ105b側に偏った領域(つまり右側)に、第1プロジェクタ150aの投影像231aが収まるように撮像が行われる。
第2の校正用投影シーン(撮像2枚目)では、第1プロジェクタ150aが図3Aに示す第1の校正用画像200を投影し、第2プロジェクタ150bが図3Bに示す第2校正用画像210を投影する。第3および第4プロジェクタ150c,150dは何も投影しない。この第2の校正用投影シーンにおいては、ユーザは、第1および第2プロジェクタ150a,150bの投影像232a,232bをカメラ160の視野に収めて撮影を行うことになる。このとき、第1プロジェクタ150aに注目すると、撮像範囲における隣接するプロジェクタ105b側の領域には、隣接するプロジェクタ105bが投影する投影像232bが収められる。このため、撮像範囲において、水平方向に沿って、隣接するプロジェクタ105b側とは反対側に偏った領域(つまり左側)に、第1プロジェクタ150aの投影像232aが収められることになる。
つまり、第1および第2の校正用投影シーンにそれぞれ対応する第1および第2の校正用撮像画像は、互いに、スクリーン102の曲がりを有する方向と略垂直な方向(図1に示す場合は、水平方向)に沿ってずれた位置に、左端に位置する第1プロジェクタ150aが投影した校正パターンが収められるような撮像範囲を有することなる。
第3の校正用投影シーン(撮像3枚目)では、第2のシーンとは反対に、第1プロジェクタ150aが第2校正用画像210を投影し、第2プロジェクタ150bが第1の校正用画像200を投影する。このとき、第3および第4プロジェクタ150c,150dは、第1のシーン同様に何も投影しない。第3の校正用投影シーンにおいては、ユーザは、第2のシーンと略同一の撮像範囲で撮像を行うことになる。第4の校正用投影シーン(撮像4枚目)以降は、投影像の配列において、隣接する2つのプロジェクタ150の組み合わせを変更しながら、組み合わせ毎に、第1の校正用画像200および第2校正用画像210を入れ替えて投影する2組のシーンを準備する。
最後から1つ前の第7の校正用投影シーン(撮像7枚目)は、上記入れ替えて撮像される2組のシーンに含まれるものであるが、右端に位置する第4プロジェクタ150dが第1の校正用画像200を投影し、第3プロジェクタ150cが第2校正用画像210を投影する。第1および第2プロジェクタ150a、150bは何も投影しない。この第7の校正用投影シーンにおいては、ユーザは、第3および第4プロジェクタ150c,150dの投影像237c,237dをカメラ160の視野に収めて撮影を行うことになる。このとき、第4プロジェクタ150dに注目すると、撮像範囲における隣接するプロジェクタ105c側の領域には、隣接するプロジェクタ105cが投影する投影像237cが収められる。このため、撮像範囲において、水平方向に沿って、隣接するプロジェクタ105c側とは反対側に偏った領域(つまり右側)に、第4プロジェクタ150dの投影像237dが収まるように撮像されることになる。
最後になる第8の校正用投影シーン(撮像8枚目)では、第4プロジェクタ150dが第1の校正用画像200を投影する。他のプロジェクタ150a,150b,150cは何も投影しない。この第8の校正用投影シーンにおいては、ユーザは、第1のシーンと同様に、第4プロジェクタ150dの投影像238dをカメラ160の視野に収めて撮影を行うが、第1のシーンとは反対に、撮像範囲において、水平方向に沿って隣接するプロジェクタ105c側に偏った領域(つまり左側)に、第4プロジェクタ150dの投影像238dが収まるように撮像が行われる。
つまり、第7および第8の校正用投影シーンにそれぞれ対応する第7および第8の校正用撮像画像は、互いに、スクリーン102の曲がりを有する方向と略垂直な方向(図1に示す場合は、水平方向)に沿ってずれた位置に、右端に位置する第4プロジェクタ150dが投影した校正パターンが収められるような撮像範囲を有することなる。
図6および図7に示すように、4台のプロジェクタを用いる場合は、第1と第2プロジェクタ、第2と第3プロジェクタ、および第3と第4プロジェクタの3つの組み合わせについてそれぞれ2組、さらに、端に位置する第1プロジェクタおよび第4プロジェクタ単独それぞれについて1つずつ、合計8つの校正用投影シーンが準備される。各校正用投影シーンの撮影では、図6および図7に示すように、カメラ160の撮影位置を移動し、組み合わせ(単独のものを含む。)間で異なる撮像範囲にずらしながら行われる。
ここで、異なる撮像範囲で撮像するとは、カメラ160の撮像範囲内に投影範囲が入るプロジェクタの組み合わせが変化(単独から2台の組み合わせへの変化、および、その逆も含む。)する程度にカメラの視点または向きの両方または一方を変えて撮像することをいう。なお、ユーザが同じ構図での撮像を意図し、手持ちで撮像する場合に生じ得る程度のカメラの視点、向きおよび画角のズレによっては、実質的な撮像範囲は変化しない。
再び図2を参照する。校正用撮像画像入力部124は、上述した各校正用投影シーンで投影された投影像を撮像した撮像画像の入力を受けて、複数の校正用撮像画像を記憶領域上に準備する。特定の実施形態においては、注目するプロジェクタ150に関し、当該注目するプロジェクタ150によりスクリーン102上に投影された校正パターンがそれぞれ異なる撮像範囲で撮像された複数の校正用撮像画像が準備される。
格子点抽出統合部130は、上記校正用投影シーンに対応して校正用撮像画像入力部124で準備された各校正用撮像画像から格子点を得る。格子点抽出統合部130は、より詳細には、特徴点抽出部132と、格子点変換部134と、格子点合成部136とを含み構成される。
特徴点抽出部132は、準備された複数の校正用撮像画像各々から特徴点を抽出する。ここで抽出される特徴点は、投影像の歪みを検出するための校正パターンに対応する格子点と、校正用画像間の位置合わせのための位置合わせパターンに対応する位置合わせ点とを含み得る。特徴点抽出部132は、本実施形態における格子点抽出手段および位置合わせ点抽出手段を構成する。
格子点変換部134は、合成の前処理として、注目する処理対象のプロジェクタ150に関し、上記異なる撮像範囲での複数組の格子点(この段階では、各格子点は各々の校正用撮像画像の座標系上の点である。)を、共通した座標系上に変換する。座標の変換は、上述した位置合わせ点に基づいて行う。
例えば、図6および図7に示す例では、端に位置する第1プロジェクタ150aの校正パターンを含む投影像は、1枚目と2枚目の校正用撮像画像に共通して写り込んでいる。この第1プロジェクタ150aの1枚目の撮像画像における格子点の組と、2枚目の撮像画像における格子点の組とが処理対象となる。第1プロジェクタ150aの2枚目の撮像画像上の格子点は、例えば1枚目と2枚目の撮像画像で共通して写り込んでいる第1プロジェクタ150aの位置合わせパターンに基づいて、1枚目の撮像画像の座標系上に変換される。こうして、共通する1枚目の撮像画像の座標系上の格子点の2組が得られる。
格子点合成部136は、格子点変換部134により共通座標系上に変換された上記異なる撮像範囲での撮像に基づく複数組の格子点を合成して、注目のプロジェクタ150に対し、合成された格子点の組を生成する。格子点合成部136は、本実施形態における格子点合成手段を構成するが、格子点の合成処理の詳細は、後述する。
格子点抽出統合部130は、すべてのプロジェクタ150の格子点の組を、統合された単一の座標系上に変換する。統合された単一の座標系(以下、統合座標系と参照する。)としては、特に限定されるものではないが、説明する実施形態では、スクリーン102に正対して撮像される1枚目の校正用撮像画像の座標系とすることができる。
補正係数算出部140は、統合座標系上の各プロジェクタ150毎の格子点の組に基づいて、補正処理部114a〜114bに対し設定する各種補正係数を計算する。補正係数算出部140は、より詳細には、幾何学的な補正係数を計算する幾何補正係数計算部142と、投影像の輝度のブレンディングの補正係数を算出するブレンディング係数計算部144とを含む。
ここで、ブレンディングとは、マルチプロジェクションで通常ブレンディングと言っているオーバーラップ部分の画素値を重み付けして1台分の明るさ、色になるように補正する処理とは別の幾何補正のための格子点座標の重み付け合成を言う。
幾何補正係数計算部142は、統合座標系上の格子点に基づいて、上記複数のプロジェクタ150各々から投影する投影画像を与えるプロジェクタ毎の幾何補正係数を計算する。幾何補正係数は、位置合わせ、スケール合わせ、歪み補正などの幾何学的な補正を織り込んだ補正係数である。
ブレンディング係数計算部144は、複数のプロジェクタ150各々に対し、注目するプロジェクタの投影像と、この注目するプロジェクタに隣接するプロジェクタ各々の投影像との間の重複領域を検出する。ブレンディング係数計算部144は、重複領域の検出結果に基づき、これらの投影像の重ね合わせを調整するブレンディング係数を計算する。このプロジェクタ毎のブレンディング係数により、スクリーン102上における複数のプロジェクタ150の投影像が重なる部分において、画像が滑らかに合成される。
補正処理部114は、それぞれ、幾何補正係数計算部142およびブレンディング係数計算部144によって計算された各種補正係数に基づき、コンテンツ画像からプロジェクタ毎の投影画像を生成する。
なお、図2に示す実施形態では、各機能部112〜144が単一の画像処理装置110上で実現されるものとして説明したが、映像投影システム100の実施形態は、図2に示すものに限定されるものではない。他の実施形態では、台数の増加に伴う画像処理装置に集中する負荷を軽減するため、補正処理部114a〜114d各々をプロジェクタ150a〜150d各々上で実現してもよい。さらに他の実施形態では、各機能部112〜144を複数の画像処理装置上に分散実装してもよいし、すべての機能部112〜144をいずれかのプロジェクタ150上で実装してもよいし、画像処理装置110の機能と、複数のプロジェクタの機能とを備える単一の装置として構成してもよい。さらに、他の実施形態では、格子点抽出統合部130および補正係数算出部140の機能をサービスとしてネットワークを介して提供するサーバとして実装してもよい。
(全体処理フロー)
以下、図8を参照しながら補正処理の全体的な流れについて説明する。図8は、本実施形態による格子点抽出処理、各種補正係数の計算処理および補正係数に基づく補正処理の全体的な処理の流れを示すフローチャートである。図8に示す処理は、ユーザからの校正処理開始の指示に応答して、ステップS100から開始される。
ステップS101では、画像処理装置110は、処理対象を識別する変数nを1に設定し、プロジェクタ150の台数Nを設定する。なお、ここでは、台数Nは、2以上であるものとする。
ステップS102では、1台目のプロジェクタから第1の校正用画像(格子および位置合わせパターンを含む。)を出力させ、1番目の校正用投影シーンを投影する。ここで、ユーザは、例えば画像処理装置110が行うガイダンスに従い、カメラ160の画角に投影中の1台目の校正用画像が収まるように、かつ、右側に偏らせて収まるように撮影を行う。ガイダンスとしては、例えば、ユーザに対し、カメラ160の画角に投影中の1台目の校正用画像が収まるように、かつ、右側に偏らせて収まるように撮影を行うよう指示するものである。
ステップS103では、n台目のプロジェクタから第1の校正用画像(格子および位置合わせパターンを含む。)を出力させ、n+1台目のプロジェクタから第2校正用画像(位置合わせパターンのみを含む。)を出力させ、2n番目の校正用投影シーンを投影する。ここで、ユーザは、例えば画像処理装置110が行うガイダンスに従い、カメラ160の画角に投影中のn台目およびn+1台目の校正用画像が収まるように撮影を行う。
ステップS104では、n台目のプロジェクタから第2校正用画像(位置合わせパターンのみ)を出力させ、n+1台目のプロジェクタから第1の校正用画像(格子および位置合わせパターンを含む。)を出力させ、2n+1番目の校正用投影シーンを投影する。
ステップS105では、処理対象の変数nが、組み合わせの数N−1に達したか否かを判定する。ステップS105で、まだN−1に達してないと判定された場合(NO)は、ステップS106へ処理を分岐させて、変数nを1だけ増分し、ステップS103へ処理を戻す。これに対して、ステップS105で、組み合わせの数N−1に達したと判定された場合(YES)は、ステップS107へ処理が分岐される。
ステップS107では、N台目のプロジェクタから第1の校正用画像(格子および位置合わせパターンを含む。)を出力させ、2N番目の校正用投影シーンを投影する。ここで、ユーザは、例えば画像処理装置110が行うガイダンスに従い、カメラ160の画角に投影中のN台目の校正用画像が収まるように、かつ、左側に偏らせて収まるように撮影を行う。ガイダンスとしては、例えば、ユーザに対し、カメラ160の画角に投影中のN台目の校正用画像が収まるように、かつ、右側に偏らせて収まるように撮影を行うよう指示するものである。
ステップS108では、画像処理装置110は、カメラ160からの複数の校正用撮像画像の入力をまとめて受けて、ステップS109へ処理を進める。なお、ここでは、一括で複数の校正用撮像画像の入力を受けるものとして説明するが、撮像毎に順次、校正用撮像画像の入力を受けてもよい。
ステップS109では、詳細を後述するが、画像処理装置110は、上記格子点抽出統合部130により、格子点抽出統合処理を実行する。ステップS109における格子点抽出統合処理により、すべてのプロジェクタ150の格子点の組が統合座標系上にて求められる。ステップS110では、画像処理装置110は、統合座標系上の各プロジェクタの格子点座標に基づき、各プロジェクタの幾何補正係数を計算する。ステップS111では、画像処理装置110は、各プロジェクタのブレンディング係数を計算する。
ステップS112では、画像処理装置110は、各補正処理部114に対し、ステップS110およびステップS111で計算されたプロジェクタ毎の幾何補正係数およびブレンディング係数を設定する。ステップS113では、画像処理装置110は、切替部122に対し、補正処理部114の出力に、投影画像出力部116の入力を切り替えさせて、投影モードに移行する。
画像処理装置110は、ステップS114で、コンテンツ画像を読み出し、ステップS115で、コンテンツ画像に対し、プロジェクタ毎の補正処理部114で補正処理を実行する。ステップS116では、画像処理装置110は、補正されたプロジェクタ毎の投影画像をプロジェクタ毎の投影画像出力部116からそれぞれ出力させ、ステップS117で、以降、通常モードに移行する。
(格子点抽出統合処理)
以下、図9〜図15を参照しながら、各プロジェクタの格子点抽出統合処理の詳細について説明する。図9および図10は、本実施形態による格子点抽出統合部130が実行する格子点抽出統合処理を示すフローチャートである。図9に示す処理は、図8に示したステップS109で呼び出されて、ステップS200から開始される。
ステップS201では、特徴点抽出部132は、準備された複数の校正用撮像画像各々から、各々の撮像画像座標系におけるプロジェクタの投影像の円形状の重心座標を格子点座標(小数点精度)として抽出する。円形状の重心座標は、例えば、画像を2値化し、白画素のかたまりをパターンマッチングなどで切り出し、その重心座標を求めることによって計算することができる。格子点座標は、図3Aに示す校正パターンでは、全格子点についての(x,y)座標の配列として計算される。以下、j枚目の校正用撮像画像におけるi台目のプロジェクタの格子点座標をLi,jで表す。
ステップS202では、特徴点抽出部132は、複数の校正用撮像画像各々から、各々の撮像画像座標系におけるプロジェクタ各々の投影像の矩形マーカの重心座標を位置合わせ点座標として抽出する。矩形マーカの重心座標も同様に、例えば、画像を2値化し、白画素のかたまりをパターンマッチングなどで切り出し、その重心座標を求めることによって計算することができる。
ステップS203では、格子点抽出統合部130は、処理対象を識別する変数nを1で初期化し、ステップS204〜ステップS209では、両側に隣接したプロジェクタ150を有する2台目からN−1台目のプロジェクタ150について処理を行う。
図11は、図6および図7に示す態様において、各校正用投影シーンを撮影して準備された8枚の校正用撮像画像と、これらの撮像画像間各々で求められる射影変換について説明する図である。
ステップS204では、格子点変換部134は、2n+1枚目の校正用撮像画像上のn+1台目のプロジェクタの格子点座標Ln+1,2n+1を、射影変換により、2n枚目の撮像画像の座標系上に変換し、格子点座標Ln+1,2n+1→2nを計算する。以下、j枚目の校正用撮像画像から抽出され、k枚目の撮像画像の座標系上に変換されたi台目のプロジェクタの格子点座標をLi,j→kで表す。
ここでの射影変換は、2n+1枚目の撮像画像の座標系から2n枚目の撮像画像の座標系上へ変換するものである。2n+1枚目の撮像画像の座標系から2n枚目の撮像画像の座標系上へ変換する射影変換をH2n+1→2nで表す。射影変換H2n+1→2nの係数は、2n+1枚目および2n枚目の校正用撮像画像で共通して写っているn+1台目のプロジェクタの位置合わせ点の組に基づいて求めることができる。
ステップS205では、格子点変換部134は、2n+2枚目の撮像画像上のn+1台目のプロジェクタの格子点座標Ln+1,2n+2を、射影変換H2n+2→2nにより、2n枚目の撮像画像の座標系上に変換し、格子点座標Ln+1,2n+2→2nを計算する。ここでの射影変換H2n+2→2nの係数は、2n+2枚目および2n枚目の校正用撮像画像で共通して写っているn+1台目のプロジェクタの位置合わせ点の組に基づいて求めることができる。
2枚目および3枚目の撮像画像について、図11を参照して説明すると、2枚目および3枚目の撮像画像の対には、撮像画像間で共通する第2プロジェクタ150bの投影像232b,233bの矩形マーカ(実線の○で示されている。)の位置合わせ点座標の対が求められている。この場合、格子点変換部134は、この位置合わせ点座標の対に基づき、3枚目の撮像画像の座標系から2枚目の座標系へ変換する射影変換H3→2の係数を計算する。同様に、2枚目および4枚目の校正用撮像画像の対について、第2プロジェクタ150bの投影像232b,234bの矩形マーカ(実線の○で示されている。)の位置合わせ点座標の対に基づき、4枚目の撮像画像の座標系から2枚目の座標系へ変換する射影変換H4→2の係数が計算される。
なお、4枚目および5枚目の撮像画像の対で、および、4枚目および6枚目の校正用撮像画像の対に関して、撮像画像間で共通する第3プロジェクタ150cの投影像234c、235c、236についても同様である。
ステップS206では、格子点合成部136は、注目するn+1台目のプロジェクタの格子点を所定領域毎に区分けし、区分けに応じて、格子点座標Ln+1,2nを計算する。より具体的には、n+1台目のプロジェクタの格子点のうち、(1)投影像の配列において左隣りのn台目のプロジェクタの投影範囲と重複する領域に含まれるものと、(2)右隣りのn+2台目のプロジェクタの投影範囲と重複する領域に含まれるものと、(3)両重複領域のいずれにも含まれないn+1台目のプロジェクタ単独の投影領域に含まれるものとが判別される。そして、注目するn+1台目のプロジェクタの各格子点について上記区分けに基づいて、合成された格子点の座標値が求められる。
格子点合成部136は、(1)左隣りのn台目のプロジェクタとの重複領域(n,n+1)に含まれると判定される格子点に対し、上記ステップS204で算出された格子点座標Ln+1,2n+1→2nを格子点座標Ln+1,2nとして採用する。
格子点合成部136は、(2)右隣りのn+2台目のプロジェクタとの重複領域(n+1,n+2)に含まれると判定される格子点に対し、上記ステップS205で算出された格子点座標Ln+1,2n+2→2nを格子点Ln+1,2nとして採用する。
格子点合成部136は、(3)上記n台目およびn+2台目のプロジェクタの両投影範囲との重複領域(n,n+1)または(n+1,n+2)のいずれにも含まれないと判定される格子点に対し、上記ステップS204で算出された組の対応する格子点座標Ln+ 1,2n+1→2nと、上記ステップS205で算出された組の対応する格子点座標Ln +1,2n+2→2nとをブレンディングし、n+1台目のプロジェクタの格子点Ln+ 1,2nを計算する。
図12Aは、n+1台目のプロジェクタの格子点について、異なる撮像範囲での校正用撮像画像に基づく複数組の格子点座標を用いた座標値のブレンディング方法を説明する図である。図12Aに示すように、n+1台目のプロジェクタ単独の投影領域に含まれる格子点については、重複領域(n,n+1)で採用される組の対応する格子点座標Ln+1 ,2n+1→2nと、重複領域(n+1,n+2)で採用される組の対応する格子点座標Ln+1,2n+2→2nとを位置に応じてブレンディングした値を座標値として用いることができる。
ステップS207では、格子点抽出統合部130は、n+1台目の格子点座標Ln+1 ,2nを、1以上の射影変換を適用して、1枚目の撮像画像の座標系上の格子点Ln+1 ,1を計算し、ステップS208へ処理を進める。
ステップS208では、格子点抽出統合部130は、処理対象を特定する変数nが、両側にプロジェクタがある最後のプロジェクタを示すN−2に達しているか否かに応じて、処理を分岐させる。ステップS208で、nがN−2に達していないと判定された場合(NO)は、ステップS209で、変数nを1だけ増分させて、ステップS204へ処理をループさせる。この場合、両側にプロジェクタがある次の注目するプロジェクタについて処理が繰り返される。一方、ステップS208で、nがN−2に達したと判定された場合(YES)は、ステップS210へ処理を分岐させる。
ステップS210〜ステップS216では、1番目のプロジェクタ150に対する格子点の合成処理が行われる。ステップS217〜ステップS224では、最後のN番目のプロジェクタ150に対する格子点の合成処理が行われる。以下、注目するプロジェクタが、投影像の配列において、曲がりの方向と略垂直な水平方向に沿った一方で他のプロジェクタと隣接し、他方で隣接していない、1番目および最後のN番目のプロジェクタ150である場合の格子点の合成処理について、より具体的に説明する。
ステップS210では、格子点変換部134は、2枚目の校正用撮像画像上の1台目のプロジェクタの格子点座標L1,2を、射影変換H2→1により、1枚目の撮像画像の座標系上に変換し、格子点座標L1,2→1を計算する。
ステップS211では、格子点合成部136は、注目する1台目のプロジェクタの格子点を所定領域毎に区分けし、ポイントAを介して、ステップS212へ処理が進められる。より具体的には、1台目のプロジェクタの格子点のうち、(1)投影像の配列において隣接する一方の2台目のプロジェクタの投影範囲と重複する領域に含まれるものと、(2)1台目のプロジェクタ単独の投影領域に含まれるものとが判別される。
注目する1台目のプロジェクタの格子点各々が、右隣の2台目のプロジェクタとの重複領域(1,2)に含まれるか否かは、3枚目の撮像画像の2台目のプロジェクタの格子点座標を射影変換H3→2により変換した座標から外挿して求められる外周で囲まれた領域内に、2枚目の撮像画像の1台目のプロジェクタの格子点座標L1,2各々が含まれるか否かを判定することによって判別することができる。
ステップS212〜ステップS216のループでは、注目する1台目のプロジェクタの格子点各々について、ステップS211でした区分けに基づいて、合成された格子点の座標値を求める。ステップS213では、格子点合成部126は、上記区分けに基づいて処理を分岐させる。
ステップS213で、処理対象の格子点が(1)2台目のプロジェクタとの重複領域(1,2)に含まれると判定された場合は、ステップS214へ処理が分岐される。ステップS214では、格子点合成部136は、上記2台目の投影範囲に重なる格子点に対し、上記ステップS210で算出された格子点座標L1,2→1を格子点L1,1として採用する。つまり、2台目の投影範囲に重なる格子点に対しては、それぞれ、1枚目および2枚目の校正用撮像画像のうちの隣接する2台目のプロジェクタの校正パターンが撮像されている3枚目の校正用投影画像と略同一の撮像範囲で撮像された一方(つまり2枚目の校正用撮像画像)に基づく組の格子点の座標値を用いて座標値が計算される。
ステップS213で、処理対象の格子点が(2)上記2台目のプロジェクタの投影範囲との重複領域(1,2)に含まれず単独の投影領域であると判定された場合は、ステップS215へ処理が進められる。ステップS215では、格子点合成部136は、投影範囲に重ならない格子点に対し、格子点座標L1,1と、上記ステップS210で算出された組の対応する格子点座標L1,2→1とをブレンディングし、1台目のプロジェクタの格子点L1,1を計算する。
図12Bは、1台目のプロジェクタの格子点について、異なる撮像範囲での校正用撮像画像に基づく複数組の格子点座標を用いたブレンディング方法を説明する図である。図12Bに示すように、1台目のプロジェクタ単独の投影領域に含まれる格子点については、格子点座標L1,1と、重複領域(1,2)で採用される組の対応する格子点座標L1, 2→1とを位置に応じてブレンディングした値を用いることができる。このとき、重複領域の端から画像端までは単独投影領域とみなして、画像端で片方の重みが0となり、もう片方の重みが1になるように重み付けを行って、格子点座標の組の合成処理を行うことができる。
なお、説明する実施形態では、歪みの無い状態での格子点の水平位置に応じて線形にブレンディングするものとして説明したが、曲面スクリーンに特有に生じる歪みを考慮して、異なる関数形を用いてもよい。また、他の実施形態では、仮想的に固定幅のオーバーラップ部が存在するもとして、図12Aと同様な合成処理を行っても良い。
ステップS212〜ステップS216のループにおいて、1台目のプロジェクタのすべての格子点について処理完了すると、1台目のプロジェクタの格子点がすでに基準となる1枚目の画像座標系上であるので、そのまま、ステップS217以降の最後のプロジェクタに対する処理へ進められる。
ステップS217では、格子点変換部134は、最後の2n+4枚目の校正用撮像画像上のn+2(=N)台目のプロジェクタの格子点座標Ln+2,2n+4を、射影変換H2n+4→2n+3により、2n+3枚目の撮像画像の座標系上に変換し、格子点座標L n+2,2n+4→2n+3を計算する。
ステップS218では、格子点合成部136は、注目するn+2(=N)台目のプロジェクタの格子点を所定領域毎に区分けする。より具体的には、n+2(N)台目のプロジェクタの格子点のうち、(1)投影像の配列において隣接する一方のn+1(N−1)台目のプロジェクタの投影範囲と重複する領域に含まれるものと、(2)n+2(=N)台目のプロジェクタ単独の投影領域に含まれるものとが判別される。注目するn+2(=N)台目のプロジェクタの格子点が、左隣のn+1(=N−1)台目のプロジェクタとの重複領域(n+1,n+2)に含まれるか否かは、1台目で説明したものと同様の方法で判定することができる。
ステップS219〜ステップS223のループにおいては、注目するn+2(=N)台目のプロジェクタの各格子点について、ステップS218でした区分けに基づいて、合成された格子点の座標値を求める。ステップS220では、格子点合成部126は、上記区分けに基づいて処理を分岐させる。
ステップS220で、処理対象の格子点が(1)n+1(=N−1)台目のプロジェクタとの重複領域(n+1,n+2)に含まれると判定された場合は、ステップS221へ処理が分岐される。ステップS221では、格子点合成部136は、上記n+1台目の投影範囲に重なる格子点に対し、上記ステップS217で算出された格子点座標Ln+2, 2n+4→2n+3を格子点Ln+2,2n+3として採用する。
ステップS220で、処理対象の格子点が(2)単独の投影領域であると判定された場合は、ステップS222へ処理が進められる。ステップS222では、格子点合成部136は、投影範囲に重ならない格子点に対し、格子点座標Ln+2,2n+3と、上記ステップS217で算出された組の対応する格子点座標Ln+2,2n+4→2n+3とをブレンディングし、n+2台目のプロジェクタの格子点Ln+2,2n+3を計算する。
ステップS219〜ステップS223のループにおいて、n+2(=N)台目のプロジェクタのすべての格子点について処理完了すると、ステップS224へ処理が進められる。ステップS224では、格子点抽出統合部130は、n+2(=N)台目の格子点座標Ln+2,2n+3を、1以上の射影変換を適用して、1枚目の撮像画像の座標系上の格子点Ln+2,1を計算し、ステップS225で本処理を終了させる。図11に示すように、N=4,n=2の場合、例えば7枚目の撮像画像の座標系上に変換された4台目のプロジェクタの格子点座標L4,7は、射影変換H7→6、射影変換H6→4、射影変換H 4→2および射影変換H2→1により、1枚目の格子点座標L4,1に変換される。
以上のようにして、すべてのプロジェクタ150a〜150dの格子点座標が、例えば1枚目の校正用撮像画像の座標系に変換、統合され、格子点位置座標L1,1〜LN,1が算出される。なお、説明する実施形態においては、異なる撮像範囲で撮像された複数の校正用撮像画像間で共通する座標系に変換した後、格子点を合成し、単一の統合座標系へ変換するものとして説明した。しかしながら、変換の順序は、特に限定されるものではなく、他の実施形態では、単一の統合座標系へ変換した後に格子点の合成が行われてもよい。
図13は、統合座標系300上に統合された各プロジェクタの格子点座標の集合を模式的に示す図である。図13に示すように、各プロジェクタの格子点座標の集合302a,302b,302c,302dは、それぞれ、1枚目の校正用撮像画像の統合座標系300上に変換され、統合されている。なお、図13には、撮像された複数のプロジェクタ150a〜150dの円形状が重ね合わせて表現されているが、画像自体は重ね合わせる必要はない。
(分割撮像および格子点合成の効果)
以下、図14および図15を参照しながら、分割撮像およびその後の撮像格子点座標の合成処理の効果について検討する。図14に示すように、第1プロジェクタ150aに関し、1枚目の撮像画像における校正用投影像の左端および2枚目の撮像画像における校正用投影像の右端は、カメラの画角の中央に位置している。カメラの画角の中央は、垂直方向にのみ曲がった曲面スクリーンでの透視変換による糸巻き状の歪みに対し、もっとも歪みの少ない領域となっている。さらに、垂直方向にのみ曲がった曲面スクリーンでの透視変換による歪みは、水平方向のみで発生するが、レンズ中心から外側へ行くに従って大きくなる性質があり、その歪み方には左右対称性がある。図14中には、矢印にて、曲面スクリーンでの透視変換による糸巻き状の歪みの方向および強さが模式的に示されている。
上述したステップS214では、(1)重複領域に含まれると判定された格子点に対しては、上記ステップS210で算出された2枚目の撮像画像に基づく格子点座標L1,2 →1が採用されている。これは、3枚目の撮像画像に基づく右側の2台目のプロジェクタの格子点に対し、略同一の撮像範囲である2枚目の撮像画像に基づく格子点座標L1,2 →1の方が、異なる撮像範囲である1枚目の撮像画像に基づく格子点座標L1,1よりも、カメラ160のレンズの歪みに起因したズレが少ないためである。
これに対し、上述したステップS215では、(2)投影範囲に重ならない単独投影領域の格子点に対し、格子点座標L1,1と、上記ステップS210で算出された組の対応する格子点座標L1,2→1とが位置に応じてブレンディングされている。
このとき、本実施形態では、図14に示すように互いに逆方向の歪みを有する座標値L 1,1および座標値L1,2→1が、図12Bに示すように、歪みの少ない方が大きい重み付けがなされ、歪みの大きいほうが小さい重み付けでなされて、ブレンディングされることになる。このため、透視変換による糸巻き状の歪みは、結果的に軽減されることになる。つまり、カメラの画角の中央に位置する部分のみならず、その中間の単独投影領域についても、幾何補正の歪みは、単一の視点からの単一の格子点の組を用いて校正する場合に比べて小さくなることが期待される。
同様に、図15には、両側に隣接するプロジェクタが存在するプロジェクタの撮像格子点座標の合成処理が示されている。両側に隣接するプロジェクタが存在するプロジェクタも同様に、重複領域(1)および(2)の間にある単独投影領域(3)は、図12Aに示すように、逆方向の歪みを持った座標値が歪みの少ない方が大きく、歪みの大きいほうが小さい重み付けでブレンディングされることになり、透視変換による糸巻き状の歪みは、結果的に軽減されることになる。したがって、カメラ画角の中央に位置する連結する重複領域のみならず、その中間の単独投影領域についても、幾何補正の歪みが、単一の視点からの単一の格子点の組を用いて補正する場合に比べて小さくなっていると考えられる。
このように、撮像範囲の異なる校正用撮像画像から得られた格子点の組を合成することにより、垂直方向にのみ曲がった曲面スクリーンを用いた場合のカメラ160による透視変換に起因した糸巻き形状の歪みを軽減することができる。種々の位置の視点から複数人が見るような場合でも、補正後の投影像の左右端でのたる状の膨らみを軽減し、人が覚える違和感を緩和することができる。複数視点で校正パターンを撮像した校正用撮像画像により校正されるので、投影された校正パターンをおおよそ平行射影した画像に近い校正画像による校正と同等の補正が実現される。
なお、上述した実施形態では、プロジェクタ150それぞれに対し、異なる撮像範囲で撮像された2つの校正用撮像画像が準備されているものとして説明した。しかしながら、プロジェクタ150毎の異なる撮像範囲で撮像された校正用撮像画像の数は、2に限定されるものでなく、3以上の校正用撮像画像を準備することを妨げるものではない。この場合、各々から格子点の組を抽出し、3以上の格子点の組を位置に応じて合成すればよい。(補正係数計算処理)
図16A〜16Bは、統一された座標系上における4つのプロジェクタの投影範囲、補正後の投影目標領域および投影コンテンツ画像を説明する。以降、幾何補正係数計算部142は、すべてのプロジェクタ150各々の合成された格子点の組に基づいて、統合された撮像座標系において矩形の投影目標領域310を設定し、投影目標領域310に投影すべきコンテンツ画像320が貼り付けられるように各プロジェクタに対する幾何補正係数を計算する。
図16Aには、統合座標系300上において検出された4つのプロジェクタの投影範囲304a〜304dが表されている。幾何補正係数計算部142は、統合座標系において、すべてのプロジェクタの投影範囲304の論理和(OR)を求めて、コンテンツ画像をマップするための補正後の投影目標領域310を上記論理和の領域内に設定する。補正後の投影目標領域310は、コンテンツ画像を、そのアスペクト比を保って、すべてのプロジェクタの投影範囲304a〜304dの論理和となる領域内に最大の大きさでマップするように設定される。
補正後の投影目標領域310は、図16Aの点線で示した矩形領域のように、矩形範囲内にコンテンツ画像のアスペクト比(例えばM:N)を保って最大サイズで割り付けられた領域となる。そして、図16Bに示すように、この補正後の投影目標領域310に、投影すべきコンテンツ画像320が貼り付けられることになる。
図17Aは、計算された1つのプロジェクタの幾何補正係数のデータ構造を例示する。図17Aに示すように、こうして求めたプロジェクタ・メモリの全画素に対する画素位置が、幾何補正係数となる。図17Bは、計算された1つのプロジェクタのブレンディング係数のデータ構造を例示する。図17Bに示すように、プロジェクタ・メモリの全画素に対するブレンディング係数が求められる。
なお、幾何補正係数の計算およびブレンディング係数の計算については、合成された格子点の組を使用する点を除いて、通常と同様に行うことができるので、これ以上の説明は割愛する。補正処理も、全画素に対する幾何補正係数およびブレンディング係数が求められた以降は、通常と同様に行うことができるので、これ以上の説明は割愛する。
(垂直方向のスケール)
上述した校正処理により、校正パターンをおおよそ平行射影した画像に近い校正画像による校正が行えることになるが、垂直方向の画素間隔は、カメラ視点で見た場合に正しい画素間隔で見えるような補正がなされることになる。以下、投影体が曲がりを有する方向の画素間隔を改善することができる好適な実施形態による映像投影システムについて説明する。この好適な実施形態による校正処理は、スクリーンの曲率が大きい場合に好適に適用することが可能である。
好適な実施形態では、上述した校正パターンを投影した校正用撮像画像に加えて、校正パターンの撮像と同じ撮像条件で、図18Aに示すような貼り直し可能な等間隔の物理スケール(チェッカーパターンなど)250を、図18Bに示すようにスクリーン曲面の表面上に垂直方向に貼って、撮像時のカメラ160の画角の中央にあたる位置に物理スケールがくるように撮像する。これにより、曲面スクリーンの曲がりを有する方向と略同一方向に伸びるよう投影面に張り付けられた物理スケールが略中央に収まるように撮像された撮像画像を準備する。
図18Cは、カメラ160により撮像された曲面スクリーン画像252および物理スケール画像254を示す図である。好適な実施形態による補正係数算出部140は、撮像画像中の物理スケール画像254から、カメラの撮像画像(統合座標系)のy座標からコンテンツ画像のy'座標へのマッピングを規定する垂直方向の1次元補正情報を求めて、このスケール撮像画像に基づく座標補正を施して、幾何補正係数およびブレンディング係数を計算することができる。1次元の補正情報は、一定程度の粒度の物理スケールがあれば、図18Dに示すように区分線形関数で近似することができる。また、上述した統合座標系への位置合わせを行うため、1つのプロジェクタ150から、位置合わせパターンを含む第2校正用画像を投影した状態で、上記物理スケールを撮像した画像を得てもよい。
なお、横円筒内壁をスクリーンとした場合のように、垂直方向のみ曲がった曲面で水平方向には均一な断面である場合は、垂直方向の画素間隔の伸び縮みは一定となる。このため、一箇所で分割撮像のどれか1枚で計測すればよいことになる。一方、横にした円錐台の内壁をスクリーンとした場合のように、スクリーンが先細りする形状を有している場合は、複数箇所で物理スケールを計測し、水平方向で補間することによって、各水平位置での垂直方向の1次元補正情報を計算することができる。
なお、上述した好適な実施形態では、垂直方向の画素間隔の変化を物理スケールにより計測するものとして説明した。しかしながら、曲面スクリーンの曲率が小さい場合は、そもそも歪みが無視できるので、物理スケールにより計測は、必要に応じて行えばよい。さらに、スクリーンの垂直断面の曲線情報と撮像時のカメラおよびスクリーンの相対角度の情報が与えられる場合は、それらの情報からシミュレーションにより上記1次元補正情報を計算してもよい。
(単一のプロジェクタを含む映像投影システム)
なお、上述までの実施形態では、主に2以上のプロジェクタを有する映像投影システムについて説明してきた。以下、単一のプロジェクタを含む映像投影システムにかかる変形例の実施形態について説明する。
図19は、変形例の実施形態による映像投影システム400の機能ブロック図である。図19に示す画像処理装置410は、コンテンツ格納部412と、補正処理部414と、投影画像出力部416と、切替部422とを含み構成される。画像処理装置410は、さらに、校正用画像格納部418と、校正用シーン選択部420と、校正用撮像画像入力部424と、格子点抽出統合部430と、補正係数算出部440とを含み構成される。
格子点抽出統合部430は、より詳細には、特徴点抽出部432と、格子点変換部434と、格子点合成部436とを含み構成される。補正係数算出部440は、より詳細には、幾何学的な補正係数を計算する幾何補正係数計算部442を含む。
変形例の実施形態による校正用撮像画像入力部424は、プロジェクタ450によりスクリーン上に投影された校正パターンがスクリーンの曲がり方向に関連してそれぞれ異なる撮像範囲で撮像された複数の校正用撮像画像を準備する。ここでは、プロジェクタ450は、一台しかないので、曲がりの方向と略垂直な方向に視点をずらした異なる撮像範囲で撮像された2枚の校正用撮像画像を準備すればよい。特徴点抽出部432は、準備された複数の校正用撮像画像各々から特徴点を抽出する。格子点変換部434は、合成の前処理として、プロジェクタ450に関し、上記異なる撮像範囲での複数組の格子点を、共通した座標系上に変換する。座標の変換は、上述した位置合わせ点に基づいて行う。なお、変形例の実施形態では、プロジェクタ450が一台しかなく、2つの校正用撮像画像が得られるため、共通した座標系上への変換により、単一の統合座標系上での格子点が得られることになる。
格子点合成部436は、格子点変換部434により共通座標系上に変換された上記異なる撮像範囲での撮像に基づく複数組の格子点を合成して、プロジェクタ450に対し、合成された格子点の組を生成する。このとき、画像端から画像端まで、単独投影領域とみなして、一方の画像端で片方の重みが0となり、もう片方の重みが1になるように、他方の画像端で片方の重みが1となり、もう片方の重みが0になるように重み付けを行って、格子点座標の組の合成処理を行うことができる。
(外挿予測結果に基づく校正処理を実行する映像投影システム)
上述までの実施形態によれば、1以上の投影手段により投影体上に像を投影するための投影システムにおいて、1つの方向で曲がりを有する投影体に対し、複数の視点からの観察を考慮して投影像を補正することが可能となる。
一方、特に超短焦点プロジェクタを用いて、横円筒内壁のようなスクリーンが1方向に曲がった曲面を有する投影体に投影する場合に、校正パターンが存在しない外側領域において補正精度が劣化する場合がある。校正パターンが存在する領域内に画像が収まるように投影することも可能であるが、投影画像の校正パターンの外部領域に相当する部分を有効に活用ができなくなる。このため、校正のためのパターンが存在しない外部領域を含めて、高い精度での校正することを可能とすることも求められている。以下に説明する他の実施形態は、そのような技術的な要望に対応するものである。
以下、図20〜図25Cを参照しながら、他の実施形態について説明するが、図1〜図17Bに示す実施形態と共通する部分があるので、以下、相違点を中心に説明する。なお、図1〜図17Bに示す実施形態と同様のはたらきをする要素に対しては、同一符番を付している。
説明する他の実施形態における全体構成は、図1を参照して説明した実施形態と同様であるが、説明する他の実施形態においては、プロジェクタ150は、短焦点プロジェクタを用いることができ、より好ましくは、超至近投写が可能な超短焦点プロジェクタを用いることができる。
図20は、他の実施形態による映像投影システム100の機能ブロック図である。図20に示すシステム100は、画像処理装置110上で動作する複数の機能ブロックを含む。画像処理装置110は、図2に示したものと同様のはたらきをする、コンテンツ格納部112、プロジェクタ毎の補正処理部114a〜114d、プロジェクタ毎の投影画像出力部116a〜116d、プロジェクタ毎の切替部122a〜122d、校正用画像格納部118、校正用シーン選択部120、校正用撮像画像入力部124、格子点抽出統合部130および補正係数算出部140に加えて、外挿予測部170を含み構成される。
校正用投影シーンおよびその撮像方法は、図6および図7に示したものと同様である。図6および図7に示すように、説明する他の実施形態では、台数の2倍の回数の撮像に対応した校正用投影シーンが準備されている。校正用投影シーンは、それぞれ注目する1つのプロジェクタ150から図3Aに示す第1の校正用画像200を投影したシーンを2つずつ含む。注目する1つのプロジェクタ150から図3Aに示す第1の校正用画像200を投影している間は、他のプロジェクタ150は、何も投影しないか、隣接するプロジェクタから図3Bに示す第2校正用画像210を投影する。各校正用投影シーンの撮影では、図6および図7に示すように、カメラ160の撮影位置を移動し、プロジェクタの組み合わせ(1のみ、1と2、2と3、3と4、4のみ)間で異なる撮像範囲にずらしながら行われる。
再び図20を参照する。格子点抽出統合部130は、上記校正用投影シーンに対応して準備された各校正用撮像画像から、特徴点を抽出し、単一の座標系上に統合する。ここで抽出される特徴点は、投影像の歪みを検出するための校正パターン206に対応する格子点と、位置合わせパターン202,212に対応する位置合わせ点とを含み得る。特徴点は、撮像画像上で各図形要素の重心を求めることによって座標が求められる。格子点の座標は、プロジェクタメモリ上の座標と、カメラ160による撮像画像の座標系上の座標との対応付けを規定する。位置合わせ点の座標は、校正用画像間で位置合わせを行って単一の撮像画像の座標系上に統合する際の基準として用いられる。格子点抽出統合部130は、他の実施形態における抽出手段を構成する。
なお、図6および図7に示す例では、注目するプロジェクタ150各々について、異なる撮像範囲での複数組の格子点が得られている。このため、好適な実施形態では、上述までの実施形態と同様に、格子点抽出統合部130は、複数組の格子点を合成する処理を実行することができる。格子点の合成により、幾何補正における隣接し合うプロジェクタ150間の重複領域での相対的な位置ズレや、1つの方向で曲がりを有する投影体上への投影に起因した歪みを軽減することができる。
外挿予測部170は、校正パターン206に対応する格子点(以下、実測される格子点を実測格子点と参照する場合がある。)の外側部分に外挿した格子点(以下、外挿される格子点を外挿格子点と参照する場合がある。)の座標を予測する。外挿予測部170は、より詳細には、垂直方向外挿計算部172と、水平方向外挿計算部174とを含み構成される。
垂直方向外挿計算部172は、スクリーン102の曲がりを有する垂直方向に並ぶ複数の実測格子点の座標に基づいて、2次以上の関数形により、垂直方向に外挿される外挿格子点の座標を計算する。垂直方向外挿計算部172は、上方向および下方向の各方向について、外挿格子点の座標を計算する。
水平方向外挿計算部174は、曲がりを有する垂直方向とは異なる水平方向に並ぶ複数の格子点の座標に基づいて、水平方向に外挿される格子点の座標を計算する。水平方向外挿計算部174は、典型的には、1次の線形関数により、水平方向に外挿される格子点の座標を計算することができる。水平方向外挿計算部174は、左方向および右方向の各方向について、外挿格子点の座標を計算する。
垂直方向外挿計算部172および水平方向外挿計算部174は、それぞれ、他の実施形態における第1方向計算手段および第2方向計算手段を構成する。なお、説明する他の実施形態では、スクリーン102が垂直方向に曲がりを有するものとして説明され、これに対応して、垂直方向外挿計算部172が、2次以上の関数形により外挿格子点の座標を計算するものとして説明される。しかしながら、スクリーン102が水平方向に曲がりを有するさらに他の実施形態では、水平方向外挿計算部174が2次以上の関数形により外挿格子点の座標を計算することになる。
外挿予測部170による外挿格子点の座標の予測結果は、格子点抽出統合部130および補正係数算出部140へと提供される。外挿格子点の予測結果は、格子点抽出統合部130において格子点を合成する際、補正係数算出部140で幾何補正係数およびブレンディング補正係数を計算する際に用いられる。
補正係数算出部140は、得られた各プロジェクタ150毎の格子点(実測格子点および外挿格子点を含む。)に基づいて、補正処理部114a〜114bに対し設定する各種補正係数を計算する。
なお、図20に示す他の実施形態でも、各機能部112〜144、170〜174が単一の画像処理装置110上で実現されるものとして説明したが、映像投影システム100の実施形態は、図20に示すものに限定されるものではない。さらに他の実施形態では、各機能部112〜144、170〜174を複数の画像処理装置上に分散実装してもよいし、すべての機能部112〜144、170〜174をいずれかのプロジェクタ150上で実装してもよいし、画像処理装置110の機能と、複数のプロジェクタの機能とを備える単一の装置として構成してもよい。さらに他の実施形態では、格子点抽出統合部130、外挿予測部170および補正係数算出部140の一部または全部の機能をサービスとしてネットワークを介して提供するサーバとして実装してもよい。
以下、図21を参照しながら補正処理の全体的な流れについて説明する。図21は、他の実施形態による格子点抽出処理、各種補正係数の計算処理および補正係数に基づく補正処理の全体的な処理の流れを示すフローチャートである。図21に示す処理は、ユーザからの校正処理開始の指示に応答して、ステップS300から開始される。
ステップS301では、画像処理装置110は、各校正用投影シーンに対応して各プロジェクタ150から校正用画像を出力させ、各校正用投影シーンに対応してカメラ160により撮像される校正用撮像画像の入力を受ける。なお、ここでは、図6および図7に示すような複数の校正用投影シーンに対応して、複数回の投影が行われ、ユーザは、例えば画像処理装置110が行うガイダンスに従い、複数回の撮像を行うものとする。また、複数の校正用撮像画像の入力は、すべての校正シーンの撮像が終わった後に一括で入力を受けてもよいし、各校正シーンでの撮像毎に順次、校正用撮像画像の入力を受けてもよい。校正用投影シーンの投影および撮像については、詳細は割愛する。
ステップS302では、画像処理装置110は、上記格子点抽出統合部130により、格子点抽出統合処理を実行する。なお、異なる校正用撮像画像に帰属する同一のプロジェクタ150の格子点の組を合成する際に、外挿予測部170による外挿予測結果が参照され得る。ステップS302における格子点抽出統合処理により、すべてのプロジェクタ150の格子点の組が統合された座標系上にて求められる。
ステップS303では、画像処理装置110は、統合座標系上の各プロジェクタの格子点座標に基づき、各プロジェクタの幾何補正係数を計算する。ステップS304では、画像処理装置110は、統合座標系上の各プロジェクタの格子点座標に基づき、各プロジェクタのブレンディング係数を計算する。なお、幾何補正係数およびブレンディング係数を計算する際に、外挿予測部170による外挿予測結果が参照され得る。
ステップS305では、画像処理装置110は、各補正処理部114に対し、ステップS303およびステップS304で計算されたプロジェクタ毎の幾何補正係数およびブレンディング係数を設定する。ステップS306では、画像処理装置110は、切替部122に対し、補正処理部114の出力に、投影画像出力部116の入力を切り替えさせて、投影モードに移行する。
画像処理装置110は、ステップS307で、コンテンツ画像を読み出し、ステップS308で、コンテンツ画像に対し、プロジェクタ毎の補正処理部114で補正処理を実行する。ステップS309では、画像処理装置110は、補正されたプロジェクタ毎の投影画像をプロジェクタ毎の投影画像出力部116からそれぞれ出力させ、ステップS310で、以降、通常モードに移行する。
なお、図21に示した他の実施形態では、一度補正を行った後は、通常モードに移行するものとして説明した。しかしながら、これに限定されるものではなく、さらに他の実施形態では、通常モードに移行する前に、コンテンツ画像を投影する目標投影領域の四隅の位置を、スクリーン102の四隅に合うように調整する作業が行われてもよい。
(外挿予測処理)
以下、図22および図23A〜23Cを参照しながら、校正処理における外挿予測処理について、より詳細に説明する。図22は、他の実施形態による映像投影システム100における画像処理装置110が実行する外挿予測処理を示すフローチャートである。図23A〜23Cは、他の実施形態による映像投影システム100における外挿予測処理の各段階の処理を説明する図である。
図3Aに示すように、プロジェクタ150から出力される第1の校正用画像200には、図形要素(図3Aでは円)が配列された校正パターン206が含まれる。しかしながら、校正パターン206は、校正用画像200の中央の一部の領域を占めており、その外側には空白領域が存在する。この空白領域は、典型的には、校正パターンがスクリーン102外にはずれて投影されてしまって、一部の図形要素を欠いた状態や歪んだ状態で格子点の検出が行われてしまうことを防止するために設けられる。校正パターン206の内側の領域だけで、コンテンツを投影する目標投影領域を設定してもよいが、その場合、有効に使用できる画像領域が狭まってしまうことになる。そのため、校正パターン206の外側の空白領域を含めて校正を行うことが望ましい。そこで、他の実施形態による外挿予測部170は、校正パターン206の外側の空白領域の格子点と、撮像画像の座標系上の座標との対応付けを計算する。
図23A〜23Cは、それぞれ、外挿予測処理における各段階の処理を示す。図23A〜23Cそれぞれの左側の図は、プロジェクタメモリ上の左上隅周辺の格子点を表しており、右側の図は、対応する格子点の撮像画像座標系上の座標を表している。図23A〜23Cそれぞれにおいて、黒丸は、実測格子点を表し、破線、一点鎖線および点線の丸は、外挿格子点を表す。破線、一点鎖線および点線の丸のうち灰色で塗られた丸は、その段階で予測済みの外挿格子点を表す。
図22に示す処理は、図21に示すステップS302、ステップS303およびステップS304などの外挿格子点を必要とする処理で呼び出されて、ステップS400から開始される。ステップS401では、画像処理装置110は、外挿予測部170により、実測格子点の組を取得する。なお、図23Aに示すように、実測格子点(黒丸)には、撮像画像座標系上での座標情報が付されている。例えば、実測格子点が単一の座標系上に統合された後は、各実測格子点は、統合された座標系上の座標情報を保持する。
ステップS402〜ステップS406のループでは、上方向および下方向の各方向について、ステップS403〜ステップS405で示す処理が実行される。ステップS403では、画像処理装置110は、垂直方向外挿計算部172により、校正パターンの各列(垂直方向の並び)について、現時点の最外の所定数の格子点の座標を用いて、所定間隔だけ上方向(または下方向)へ外挿した外挿格子点の座標を計算する。なお、1回目のステップS403では、計算の基礎となる現時点の格子点には、ステップS401で与えられた実測格子点が含まれる。
ステップS403での外挿計算は、2次以上の関数形を用いて計算することができる。説明する他の実施形態では、ステップS403での外挿計算では、最外から3つの格子点の座標から、2次曲線により、最外の格子点から所定間隔分外挿された外挿格子点の座標が計算される。ここでの外挿を行う際の所定間隔は、プロジェクタメモリ上の間隔であり、例えば、校正パターン配列の1行分、1/2行分などの間隔が設定される。
現時点で最外の格子点(後述するように、2回目以降のステップS403では、前ステップまでで求められた外挿格子点となる。)の位置ベクトルをX[0]、それより1行分だけ内側にある格子点の位置ベクトルをX[1]、2行分だけ内側にある格子点の位置ベクトルをX[2]とすると、X[0]、X[1]およびX[2]の3点を通る曲線は、媒介変数tを用いた2次関数である下記式(1)で表される。
上記式(1)で表される曲線は、t=2の場合、X[2]を通り、t=1の場合、X[1]を通り、t=0の場合、X[0]を通ることになる。そして、1行分外挿する場合は、上記式(1)にt=−1を代入して得られる下記式(2)を用いて計算することができる。
好ましい実施形態において、垂直方向外挿計算部172は、2次関数形で垂直方向に外挿された格子点の座標をそのまま推定座標として用いることができる。さらに他の実施形態では、垂直方向外挿計算部172は、下記式(3)を用いて、1次関数形で垂直方向に外挿された格子点の座標と、2次の関数形で垂直方向に外挿された格子点の座標とを所定の重みRで掛け合わせて、推定座標を計算することができる。重みR=100とした場合が、上述した外挿格子点の座標をそのまま推定座標として用いる好ましい実施形態に対応する。
現時点で最外の格子点の位置ベクトルをX[0]、それより1行分だけ内側にある格子点の位置ベクトルをX[1]とすると、X[0]およびX[1]の2点を通る直線は、媒介変数tを用いた1次関数である下記式(4)で表される。
上記式(4)で表される直線は、t=1の場合、X[1]を通り、t=0の場合、X[0]を通ることになる。そして、1行分外挿する場合は、上記式(4)にt=−1を代入して得られる下記式(5)を用いて計算することができる。
ステップS403により、校正パターン206の水平方向に並ぶ各列について外挿格子点が求められる。ステップS404では、画像処理装置110は、垂直方向外挿計算部172により、外挿された各列の格子点の座標を平滑化する。ここで、平滑化は、例えば、隣接する3列の外挿された格子点の座標の重心を、中心の列の格子点の座標として求めることにより行うことができる。この平滑化により、外挿格子点の波うちが軽減され、外挿の精度を向上することができる。なお、ステップS404の処理は、校正の精度を向上する観点から実行することが好ましいが、任意の処理である。
ステップS405では、画像処理装置110は、所定間隔だけ上方向(または下方向)へ外挿した結果、上端(または下端)に達したか否かを判定する。ステップS405で、上端(または下端)に達していないと判定された場合(NO)は、ステップS403へ処理をループさせて、上端(または下端)に達するまで、ステップS403およびS404の処理を繰り返させる。ステップS405で、上端(または下端)に達したと判定された場合(YES)は、ステップS406へ処理が進められる。
なお、上端(または下端)に達したか否かは、事前に定義された校正パターン206と校正パターン206の外側に画定される外周との関係に基づいて判定することができる。例えば、プロジェクタメモリ上で2.5行分だけ内側の位置から校正パターンの図形要素を設けるような定義がなされている場合は、上端(または下端)は、最外の格子点から上方向(または下方向)に2.5行分だけ上(または下)に位置するものとして定義される。このようにして、外挿格子点の座標の計算が、上端(または下端)に到達するまで繰り返される。
なお、2回目以降のステップS403では、計算時点の複数の格子点の座標に基づいて、さらに外挿される格子点の座標が計算される。2回目以降のステップS403における現時点の格子点には、ステップS401で与えられた実測格子点と、それ以前のステップS403で得られた外挿格子点とが含まれる。その際に、計算の基礎となる格子点の座標は、ステップS404で平滑化が行われる場合、平滑化された座標となる。また、上端は、最外の実測格子点から行の整数倍で定義されるとは限らないため、最終の回のステップS403では、事前に定義された校正パターンと外周との関係から、適切な間隔を見積もり(例えば、2.5行−1行×2回=0.5行)、端数分(例えば0.5行)相当外挿した座標(例えばX[−0.5])を計算すればよい。
このようにして、与えられた実測格子点の撮像画像座標系における、対象のプロジェクタ150の投影可能領域の上辺および下辺の上に位置する外挿格子点(図23の例では、3回目)および中間位置の外挿格子点(図23の例では1回目および2回目)の座標が、図23(A)に示すように外挿予測によって計算される。
上方向および下方向の両方についてステップS403〜ステップS405の処理が実行されると、ステップS402〜ステップS406のループを抜けて、ステップS407へ処理が進められる。ステップS407〜ステップS409のループでは、左方向および右方向の各方向について、ステップS408の処理が実行される。ステップS408では、画像処理装置110は、水平方向外挿計算部174により、各行について最外の所定数の格子点を用いて、左端(または右端)へ外挿した格子点を計算する。
説明する他の実施形態では、ステップS408での外挿計算は、1次の関数形を用いて線形外挿により行うことができる。説明する実施形態では、水平方向で最外に位置する2つの格子点の座標から、1次の関数形により、最外の格子点から所定間隔分、左側(または右側)に外挿された外挿格子点の座標を計算する。ここでの外挿を行う際の所定間隔は、事前に定義された左端(または右端)へ一度に外挿するための間隔でよい。例えば、プロジェクタメモリ上で2.5列分だけ内側の位置から校正パターンの図形要素を設けるような定義であれば、左端または右端は、最外の格子点から左方向(または右方向)に2.5列分だけ左(または右)に位置するものとして定義される。
このようにして、撮像画像座標系における対象のプロジェクタ150の投影可能領域の左辺および右辺の上の外挿格子点の座標が、図23(B)に示すように外挿予測によって計算される。
左方向および右方向の両方についてステップS408の処理が実行されると、ステップS407〜ステップS409のループを抜けて、ステップS410へ処理が進められる。ステップS410〜ステップS412のループでは、左上、左下、右上および右下の各隅について、ステップS411の処理が実行される。ステップS411では、画像処理装置110は、外挿予測部170により、左上、左下、右上および右下のうちの該当隅の格子点に隣接する3点の格子点を用いて、該当隅の格子点の座標を決定することができる。
ステップS411での隅の格子点の座標は、特に限定されるものではないが、例えば、図23(C)に示すように、外周部に位置する4つの格子点が平行四辺形となるように位置を決定することができる。あるいは、図23(C)に示すように上辺および下辺について外挿格子点が求められているため、さらに他の実施形態では、上辺または下辺における最外の2つの外挿格子点から、水平方向に一度に外挿して四隅の点の座標を決定してもよい。
すべての隅についてステップS411の処理が実行されると、ステップS410〜ステップS412のループを抜けて、ステップS413へ処理が進められる。ステップS413では、画像処理装置110は、外挿予測部170により、実測格子点および外挿格子点を含む全格子点と、撮像画像座標系上の座標とを対応付けるテーブルを要求元の処理に返却し、ステップS414で本処理を終了する。
なお、上述した外挿格子点の計算と同様に、実測格子点および外挿格子点の座標以外のプロジェクタメモリ上の任意の座標点に対応する撮像画像座標系上の座標も、近傍の4点の格子点座標を内挿して求めることができる。
ここで、プロジェクタメモリ上の任意の座標点QPが、プロジェクタメモリ上での座標位置が近傍にある4つの格子点P00P,P10P,P01P,P11Pにおいて、x軸方向にt:1−t(0<t<1)で、y軸方向にs:1−s(0<s<1)で内分する点だとする。すると、座標点QPに対応する撮像画像座標系上の点QCは、対応する4つの格子点P00C,P10C,P01C,P11Cの座標ベクトルから、下記式(6)を用いて計算することができる。
画像全体では非線形な幾何歪みが生じ得るが、ここでは、その一部である2×2の格子点で構成される四辺形パッチの範囲では、線形な幾何歪みだと見なせることを前提としている。上記四辺形パッチのサイズが充分に小さいとみなせるためである。
上記ステップS413においては、上記式(6)を用いて、より細粒度のメッシュ(例えば0.5行および0.5列の間隔のメッシュ)にて格子点の座標を求めて、撮像画像座標系上の座標とを対応付けるテーブルを作成してもよい。
(外挿格子点を用いた補正係数計算処理)
好ましい実施形態においては、上記得られた外挿格子点は、(1)各プロジェクタ150の幾何補正係数の計算のために用いることができる。
精度高く求められた外挿格子点を用いて、投影可能領域の論理和の領域を検出することにより、コンテンツ画像をマップするための投影目標領域を、統合された座標系上で適切に設定することが可能となる。また、精度高く求められた外挿格子点を用いて幾何補正係数を計算することにより、プロジェクタメモリ上の座標と、コンテンツ画像上の画素位置との対応付けを、校正パターンの外側の領域を含めて精度高く求めることが可能となる。
また、好ましい実施形態においては、上記得られた外挿格子点は、(2)プロジェクタによる投影像をブレンドするブレンディング係数の計算のために用いることができる。
精度高く求められた外挿格子点を用いて隣接プロジェクタ間の重複領域を検出することにより、プロジェクタメモリ上の座標を当該プロジェクタ単独で投影する領域と、隣接プロジェクタの投影像とブレンドする領域とをより正しく区分することが可能となる。精度高く求められた外挿格子点を用いてブレンディング係数を計算することにより、プロジェクタメモリ上の各座標位置に対し、ブレンディング係数の計算を、校正パターンの外側の領域を含めて精度高く求めることが可能となる。
(外挿格子点を用いた格子点合成処理)
さらに好ましい実施形態においては、上記得られた外挿格子点は、(3)所定のプロジェクタ150について撮像範囲の異なる複数組の格子点を合成する際に、格子点各々が単独領域に該当するものであるか、または隣接するプロジェクタとの重複領域に該当するものであるかを判定するために用いることができる。
なお、撮像範囲の異なる複数組の格子点を合成する処理については、図9〜図13を参照して説明した格子点抽出統合処理と同様であるが、例えば、ステップS260で、左右隣りのプロジェクタの投影範囲と重複する領域を検出する際に、上述までの格子点外挿処理を適用することができる。各プロジェクタについて、最外の外挿格子点により画定される外周が、撮像画像座標系上での投影範囲となる。また、ステップS211において、外周で囲まれた領域を求める際に、上述までの格子点外挿処理を適用することができる。
図13には、統合座標系300上に統合された各プロジェクタの格子点座標の集合が模式的に示されているが、この単一の座標系に統合された、各プロジェクタの格子点座標の集合302a,302b,302c,302dを実測格子点として、上述した格子点外挿処理を適用することにより、校正パターンの外側の領域を含めて精度高く幾何補正係数およびブレンディング係数を求めることが可能となる。なお、外挿格子点を含めて各プロジェクタに対して格子点の組が求められれば、幾何補正係数およびブレンディング係数の計算方法には、特段の変更はないため、補正係数計算について、これ以上の詳細な説明は割愛する。
なお、異なる撮像範囲で撮像された複数の校正用撮像画像間で共通する座標系に変換した後、格子点を合成し、単一の統合座標系へ変換してもよいが、変換の順序は、特に限定されるものではなく、単一の統合座標系へ変換した後に格子点の合成が行われてもよい。(外挿予測結果に基づく校正処理の利点)
以下、図24A〜24Dおよび図25A〜24Cを参照しながら、他の実施形態による外挿予測結果に基づく校正処理によって、プロジェクタ150の投影像の重ね合わせの精度が改善されることを示す。図24Aは、超短焦点プロジェクタを用いて垂直方向のみ曲がった曲面スクリーン102へ第1の校正用画像(校正パターンや位置合わせパターンの具体的な配置は、図3A〜3Bに示したものと同一ではない点に留意されたい。)を投影し、スクリーン正面から撮像した場合の校正用撮像画像を例示する。図24Aに示すように、超短焦点プロジェクタを用いて垂直方向のみ曲がった曲面スクリーン102へ投影した場合は、投影像は、たる型に大きく歪み、一部スクリーンからはみ出して投影される。投影される校正パターンも、縦方向の列が同様に大きく曲線状になっていることが理解される。
図24Bは、垂直方向および水平方向の両方について線形外挿により得られた外挿格子点を用いて2つの短焦点プロジェクタを校正した場合における、得られた2つのプロジェクタの投影像の重ね合わせ部分を示す。図24Bに示すように、線形外挿により得られた外挿格子点が用いられた場合は、各短焦点プロジェクタの下部の外挿予測部分が開き気味の結果となっており、補正結果として、内側に閉じた形に補正されてしまうことが理解される。したがって、左側プロジェクタおよび右側プロジェクタの重複部分においては、図中の2つの矢印で示すように、左側プロジェクタの投影像は、実際より左へ曲がって補正され、右側プロジェクタの投影像は、実際より右へ曲がって補正されてしまっている。そして、画像としては、文字が左右に分かれてズレてしまっていることが理解される。
図24Cは、垂直方向および水平方向の両方で線形外挿により得られた外挿格子点を例示する。黒い点が、該当列における実測格子点を示し、白い点が、該当列における線形外挿予測された外挿格子点を示す。これに対して、図24Dは、第1の校正用画像の一部分を示し、白点により、該当列における円および位置合わせパターンの中心点が示されている。図24Dを参照すると、外挿予測された軌跡は、外側にある位置合わせパターンの右端を通る予定となっているが、図24Cに示す線形予測の結果では、位置合わせパターンの左端を通っていることが示される。図24Cおよび図24Dを比較すると明らかなように、外挿予測された軌跡は、予定よりも大きく左へ開いてしまっている。このため、校正パターンの垂直方向の外挿予測を線形に予測すると、垂直方向のみ曲がった曲面スクリーンへの超短焦点プロジェクタによるマルチ・プロジェクションでは特に、外側領域で誤差が大きくなってしまう。これが、投影像の重ね合わせのズレとしてマルチ・プロジェクションの投影像の画質の劣化を引き起こす。
これに対し、図25Aは、水平方向では線形外挿で、垂直方向では2次外挿(R=100)により得られた外挿格子点を例示する。図24Cと同様に、黒い点が、該当列における実測格子点を示し、白い点が、該当列における外挿格子点を示す。図25Bは、図24Dと同じ図を図25Aに対して並べて示したものである。図25Aおよび図25Bを比較すると明らかなように、他の実施形態による外挿予測処理で求められた軌跡は、図25B示す予定通りに、位置合わせパターンの右端を通っていることが理解される。
図25Cは、水平方向では線形外挿で、垂直方向では2次外挿により得られる外挿格子点を用いて2つの短焦点プロジェクタを校正した場合における、得られた2つのプロジェクタの投影像の重ね合わせ部分を示す。図24Bと比較すると明らかなように、図25Cに示す重ね合わせされた投影像においては、良好にズレなく投影像が重ね合わせられるように補正されていることが理解される。このように、スクリーン102が曲がりを有する方向に対応した方向で、2次以上の関数を用いて外挿することで得られた外挿格子点を用いて校正することにより、上述した格子点合成処理と相まって、超短焦点プロジェクタを用いたマルチ・プロジェクションの投影像の画質を向上させることも可能となる。
(ハードウェア構成)
以下、図26を参照しながら、上述までの1または複数の実施形態における画像処理装置110のハードウェア構成について説明する。画像処理装置110は、典型的には、汎用コンピュータ装置として構成される。図26は、1または複数の実施形態による汎用コンピュータ装置のハードウェア構成を示す図である。
汎用コンピュータ装置は、デスクトップ型のパーソナル・コンピュータ、ワークステーションなどとして構成されている。図26に示す汎用コンピュータ装置は、CPU(Central Processing Unit)12と、CPU12とメモリとの接続を担うノースブリッジ14と、サウスブリッジ16とを含む。サウスブリッジ16は、上記ノースブリッジ14と専用バスまたはPCIバスを介して接続され、PCIバスやUSBなどのI/Oとの接続を担う。
ノースブリッジ14には、CPU12の作業領域を提供するRAM(Random Access Memory)18と、映像信号を出力するグラフィックボード20とが接続される。グラフィックボード20には、アナログRGB、HDMI(登録商標)、High-Definition Multimedia Interface(登録商標)、DVI(Digital Visual Interface)、DisplayPort(登録商標)などの映像出力インタフェースを介してディスプレイ50や上記プロジェクタ150に接続される。
サウスブリッジ16には、PCI(Peripheral Component Interconnect)22、LANポート24、IEEE1394、USB(Universal Serial Bus)ポート28、補助記憶装置30、オーディオ入出力32、シリアルポート34が接続される。補助記憶装置30は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などであり、コンピュータ装置を制御するためのOS、上記機能部を実現するためのプログラムや各種システム情報や各種設定情報を格納する。LANポート24は、汎用コンピュータ装置を有線および無線でネットワークに接続させるインタフェース機器である。
USBポート28には、キーボード52およびマウス54などの入力装置が接続されてもよく、操作者からの各種指示の入力を受け付けるためのユーザ・インタフェースを提供することができる。本実施形態による汎用コンピュータ装置は、補助記憶装置30からプログラムを読み出し、RAM18が提供する作業空間に展開することにより、CPU12の制御の下、上述した各機能部および各処理を実現する。なお、プロジェクタ150およびカメラ160については、特に説明を行わないが、同様に、CPUおよびRAM等などのハードウェアや、特定の用途に応じたハードウェアを備えている。
以上説明したように、本発明の実施形態によれば、1以上の投影手段により投影体上に像を投影するための投影システムにおいて、1つの方向で曲がりを有する投影体に対し、複数の視点からの観察を考慮して投影像を補正することが可能な投影システム、画像処理装置、投影方法およびプログラムを提供することができる。
さらに、本発明の他の実施形態によれば、パターンを含む画像から、該パターンに対応する複数の特徴点の外側領域へ外挿する特徴点の座標を精度高く求めることを可能とする、画像処理装置、撮像システム、画像処理方法およびプログラムを提供することができる。上記外側領域へ外挿する特徴点の座標を用いて投影手段の校正を行うことにより、複数の投影手段の投影像の重ね合わせた場合の画像の品質を向上させることができ、特に短焦点のプロジェクタを用いる場合に有利である。
電車などの室内の側面や天井や、天井がアーチ状になった通路やトンネル、アーケード商店街など、平面を垂直方向にのみ曲げた曲面状の部分は身の回りに多く存在するが、これらの曲面形状は、必ずしも幾何学的に単純な曲面となっていない場合がある。本実施形態による投影システムによれば、そのような任意の曲面を有するスクリーンに対し簡便に校正処理を実施することが可能となる。
なお、上記機能部は、アセンブラ、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(VHSIC(Very High Speed Integrated Circuits) Hardware Description Language)、Verilog−HDLなどにより記述されたデータとして記録媒体により配布することができる。
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
本国際出願は、2016年1月13日に出願した日本国特許出願2016−004067号、2016年3月17日に出願した日本国特許出願2016−053331号、及び、2016年10月14日に出願した日本国特許出願2016−202943号に基づく優先権を主張するものであり、日本国特許出願2016−004067号、日本国特許出願2016−053331号、及び、日本国特許出願2016−202943の全内容をここに本国際出願に援用する。