以下、本実施形態について説明するが、本実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、投影システムの一例として、投影手段である1以上のプロジェクタと、撮像手段である1つのカメラと、全体制御を行う画像処理装置とを含む映像投影システムを用いて説明する。
(全体構成)
図1は、本実施形態による映像投影システム100の全体構成を示す概略図である。図1に示す映像投影システム100は、システムの全体制御を行う画像処理装置110と、1以上のプロジェクタ150と、カメラ160と、入力装置170とを含み構成される。なお、説明する実施形態では、映像投影システム100は、上下2台のプロジェクタ150a,150bの投影像を投影面上で合成し、単一のプロジェクタよりも大きな領域に画像を投影する、いわゆる大画面のマルチ・プロジェクションに対応した構成とされている。
しかしながら、プロジェクタ150の数は、特に限定されるものではない。他の実施形態では、1台のプロジェクタ150を用いた通常のプロジェクションに対応した構成としてもよい。さらに他の実施形態では、複数台のプロジェクタ150の投影像を投影面上で重ねて単一のプロジェクタ程度の領域に画像を投影する、いわゆるスタック・プロジェクションに対応した構成としてもよい。
画像処理装置110は、典型的には、パーソナル・コンピュータ、ワークステーションなどの汎用コンピュータとして構成される。なお、画像処理装置110は、汎用コンピュータに限定されるものではなく、専用コントローラとして実装されてもよいし、いずれかのプロジェクタ150に組み込まれてもよい。
プロジェクタ150は、それぞれ、液晶方式、CRT(Cathode Ray Tube)方式、DLP(Digital Light Processing)方式、LCOS(Liquid Crystal On Silicon)方式などを採用する投影装置である。プロジェクタ150は、超短焦点プロジェクタであってもよい。カメラ160は、CMOS(Complementary Metal Oxide Semiconductor)やCCD(Charge Coupled Device)などのイメージセンサと、イメージセンサの受光領域上に結像するためレンズなどの結像光学系とを含む撮像装置である。カメラ160は、WEBカメラ、デジタル・スチル・カメラ、デジタル・ビデオ・カメラ、全天球カメラなどの専用デバイスとして構成されてもよいし、あるいは、スマートフォン端末やタブレット端末などの汎用デバイスに組み込まれたデバイスとして構成されてもよい。
入力装置170は、マウス、キーボード、タッチパネル、操作パネルなどの入力装置であり、ユーザからの指示を受け付ける。入力装置170は、校正の初期パラメータを入力する際や校正結果を観察しながらの微調整の際に利用される。なお、入力装置170は、画像処理装置110、プロジェクタ150またはカメラ160に接続されたデバイスとして構成されてもよく、あるいは、これらの装置に組み込まれたデバイスとして構成されてもよい。
本映像投影システム100においては、被投影面を提供する投影体であるスクリーン102が設置されている。説明する実施形態において、スクリーン102は、水平方向に曲がりを有する円筒(縦円筒)形状を有しており、その円筒形状の一部または全部の内壁が投影面となっている。図1に示す複数のプロジェクタ150は、スクリーン102の曲がりと略垂直な垂直方向に、それぞれ、投影中心の位置をずらしながらスクリーン102上に投影像を投影するように設置されている。なお、説明する実施形態では、水平方向に曲がりを有する円筒の内壁をスクリーン102としているが、特に限定されるものではなく、1つの方向で曲がりを有し、幾何学形状が既知な如何なる曲面を有していてもよい。
画像処理装置110は、複数のプロジェクタ150a,150bに投影させる複数の投影画像を生成し、対応するプロジェクタ150各々に投影画像各々を出力する。プロジェクタ150は、それぞれ、画像処理装置110から入力される投影画像をスクリーン102上に投影する。スクリーン102上には、図1に示すように、複数のプロジェクタ150a,150b各々からの複数の投影像104a,104bが投影されている。この複数の投影像104a,104bは、投影面上で重なり合わせられて、単一の投影像106に合成される。
映像投影システム100は、投影モード中、上述したように複数のプロジェクタ150a,150dを用いて単一の投影像106を投影するが、上述した投影モード前に、校正処理が行われる。図1に示すカメラ160は、この校正処理の際に用いられる。画像処理装置110は、校正モード中、複数のプロジェクタ150それぞれに校正用の画像を出力し、スクリーン102上に校正用の投影像を投影させる。そして、所定のプロジェクタ150により投影されたスクリーン102上の投影像104がカメラ160の画角内に入るように、カメラ視点および視野が設定され、1または複数回の校正用の撮影が行われることになる。
カメラ160で撮像された撮像画像(以下、校正用投影像が写り込んだ撮像画像を校正用撮像画像と参照する。)は、それぞれ、無線LAN(Local Area Network)、Bluetooth(登録商標)などの無線接続、または有線USBや有線LANなどの有線接続を介して、画像処理装置110へ送信される。あるいは、カメラ160で撮像された校正用撮像画像は、SDカードやコンパクトフラッシュ(登録商標)などのリムーバブル・メディアを介して、画像処理装置110で読み取られる。
画像処理装置110は、入力された複数の校正用撮像画像を用いて、複数のプロジェクタ150a,150bの投影像各々の各種補正係数を計算する。画像処理装置110は、投影モード中、計算された各種補正係数に基づき、プロジェクタ150a,150b各々に投影させるための補正された投影画像を生成する。以下、図2〜図14を参照しながら、円筒補正処理、各種補正係数の計算処理および補正係数に基づく補正処理について説明する。
(機能構成)
図2は、本実施形態による映像投影システム100の機能ブロック図である。図2に示すシステム100は、画像処理装置110上で動作する複数の機能ブロックを含む。画像処理装置110は、コンテンツ格納部112と、プロジェクタ毎の補正処理部114a,114bと、プロジェクタ毎の投影画像出力部116a,116bと、プロジェクタ毎の切替部122a,122bとを含み構成される。画像処理装置110は、さらに、校正用画像格納部124と、校正用撮像画像入力部126と、校正パラメータ入力部128と、補正係数算出部130とを含み構成される。
コンテンツ格納部112は、単一の投影像106として投影する対象であるコンテンツ画像を格納する。コンテンツ格納部112は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、着脱可能なリムーバブル・メディアなどの記憶領域として提供される。なお、投影対象となるコンテンツ画像は、プレゼンテーションなどのアプリケーションやオペレーティング・システムで生成される表示画面、静止画像ファイルの静止画、動画ファイル中の任意のタイミングのフレーム、外部入力される映像として与えられ得る。以下、説明の便宜上、静止画像としてコンテンツ画像が与えられた場合を一例に説明する。
補正処理部114a,114bおよび投影画像出力部116a,116bは、システム100に含まれるプロジェクタ150a,150bに対応して設けられている。補正処理部114は、それぞれ、コンテンツ格納部112からコンテンツ画像を読み出し、補正処理を施し、対応するプロジェクタ用の投影画像を生成する。投影画像出力部116は、それぞれ、対応するプロジェクタ150に接続されるディスプレイ出力を含み構成され、接続されるプロジェクタに対し、切替部122で選択された入力画像を映像出力する。
切替部122a,122bは、当該システム100の動作モードに応じて、画像のフローを切り替える。コンテンツ画像を投影する投影モード中は、切替部122は、補正処理部114の出力に入力側を切り替える。これに伴い、投影画像出力部116は、それぞれ、対応する補正処理部114によるコンテンツ画像に基づく処理結果を映像出力する。一方、校正モード中は、切替部122は、校正用画像格納部124の出力に入力側を切り替える。これに伴い、投影画像出力部116は、それぞれ、校正用画像格納部124から読みだされた校正用画像を映像出力する。
校正用画像格納部124は、校正モード中にプロジェクタ150から投影させるための校正用画像を格納する。校正用画像格納部124は、HDD、SSD、着脱可能なリムーバブル・メディアの記憶領域として提供される。校正画像は、特に限定されるものではないが、典型的には、事前に準備された静止画像として与えられる。
ここで、校正用画像は、投影像の格子点を規定する校正パターンおよび投影像の位置合わせ点を規定する位置合わせパターンの両方もしくは一方を含む。図3は、本実施形態による映像投影システム100で用いられる2種類の校正用画像を例示する図である。図3(A)は、位置合わせパターン202LT,202RT,202LB,202RBおよび校正パターン206の両方を含む第1校正用画像200を例示する。図3(B)は、位置合わせパターン212LT,212RT,212LB,212RBのみを含む第2校正用画像210を例示する。
校正パターン206は、プロジェクタ・メモリ上の座標を規定するものであり、任意の図形要素204が所定の規則で配置されてなす模様として構成される。スクリーン102上に投影された校正パターン206を撮像し、その格子点を抽出することにより、投影像の台形歪みや局所的な歪みを検出することができる。位置合わせパターン202,212は、校正用に撮像した画像間での投影像の基準位置(位置合わせ点)を規定するものであり、複数の任意の図形要素が所定の位置に配置されて構成される。スクリーン102上に投影された共通の位置合わせパターン202,212を収めて複数回撮像することにより、複数の撮像画像間で、位置合わせを行うことができる。
図3を参照しながら具体的なパターンについて説明したが、校正パターン206および位置合わせパターン202,212は、特に限定されるものではない。
ここで、再び図2を参照する。本実施形態による校正処理では、1または複数回に分けて、プロジェクタ150各々の投影像の幾何歪みを検出するための校正パターンの撮像が行われ、位置合わせパターンにより複数の撮像結果が統合される。
まず、上述した校正用画像格納部124から各校正用画像が読み出され、複数のプロジェクタ150a,150b各々に対し、適切な校正用画像が選択されて出力される。ここでは、全体として過不足なく各プロジェクタ150の校正結果が得られるように校正処理の各段階に応じて校正用画像が選択される。このとき、ユーザは、カメラ160を用いて、校正用投影シーン毎に、投影された校正用投影像が画角に収まるようにして撮影を行う。校正用撮像画像入力部126は、カメラ160からの無線接続、有線接続、リムーバブル・メディアを介して各撮像画像の入力を受けて、複数の校正用撮像画像を準備する。
補正係数算出部130は、投影された校正用画像が撮像され、準備された1以上の校正用撮像画像に基づき、特に、撮像時の透視変換に由来する歪みをキャンセルするようにして、上記複数のプロジェクタに対する補正係数を計算する。
ここで、具体的な校正処理について説明する前に、以下、図4および図5を参照しながら、円筒内壁のような1方向(例えば水平方向)に曲がった曲面を有する投影体に投影する場合に、観察者に与えられる違和感について検討する。
図4(A)は、透視投影モデルについて説明する図である。図4(B)は、平行投影モデルについて説明する図である。図5(A)は、カメラ160と、縦円筒内壁のスクリーン102との関係を示す図である。図5(B)は、カメラで撮像された縦円筒内壁のスクリーン220を示す図である。図5(C)は、コンテンツを投影するために設定される、撮像画像座標系上で矩形形状を有する投影目標領域222を示す。図5(D)は、投影目標領域に収まるよう補正された補正後投影像を平行投影した補正後画像226を示す。
円筒内壁のようなスクリーン102に投影する場合に、通常の校正方法では、上述したように、全体の補正後の画像が上下両端で膨らんでいるように見えてしまい、観察者に違和感を与えてしまう場合がある。これは、カメラを用いて校正を行う場合、通常、撮像画像の座標をスクリーン座標と同一とみなして、撮像画像座標系において、補正後の投影像が矩形となるような補正を行うためである。
カメラによる撮像は、3次元座標系(X,Y,Z)を2次元座標系(x、y)に変換することに相当するが、下記式上段に表されるような、透視投影変換(図4(A)に示す。)によりモデル化することができる。しかしながら、透視投影変換は、下記下段に表されるような3次元座標系での(X,Y,Z)の(X,Y)座標をそのまま射影する正射影(または平行投影:図4(B)に示す。)とは異なる結果を生じさせる。
矩形の平面スクリーンを正面から撮像した場合には、透視投影変換では、スクリーンとの距離に反比例して大きさが変化することにはなるが、透視投影変換であっても正射影の場合と同じように矩形に見えることになる。これに対し、奥行きのある縦円筒内壁のような曲面スクリーンを正面から撮像した場合、正射影では矩形に変換されることになるが、透視投影変換では、図5(B)に示すような糸巻き形状に見えることになる。すなわち、図5(A)および図5(B)において点線および破線で示すように、スクリーン102の各位置の奥行きに応じて、大きさが異なるため、手前にある部分は大きく、奥にある部分は小さく映り、矩形にはならず、上述した糸巻き形状に歪んで見えることになる。つまり、スクリーンが曲面となった場合には、撮像画像の座標は、曲面スクリーンを正面から見たときのxy座標系で表したもの(平行射影したx、y座標系)とは形状が異なることになる。
ここで、図5(C)に示すように、この糸巻き形状に歪んだ撮像画像座標系において矩形の投影目標領域222に収まるように画像の補正を行うと、結果的に補正後の画像224は、カメラ視点で見た場合のみ矩形に見えることになり、矩形の壁紙を曲面に貼ったような補正とはならない。図5(D)は、補正後の投影像を平行投影した画像を模式的に表しているが、このように、逆にたる型に膨らんだ壁紙を曲面に貼ったようになってしまうことになる。このため、カメラ視点から見た場合は、矩形に見え、カメラ視点から見るだけなら違和感はないが、例えばスクリーン上下端の正面から見た場合に、矩形の壁紙を貼ったような補正に比べてたる型に膨らんで投影されているで、観察者に違和感を与えることになる。
上述した通常の補正は、視聴者が1人であり、視聴位置がスクリーン正面中央に固定される場合は、視聴者の位置にカメラを置いて校正すれば問題がない。しかしながら、投影された投影像を、種々の位置の視点から複数人が見る場合は、投影像の端の方で観察した際にたる形状に膨らんで見えてしまうと、人は違和感を覚えやすい。
したがって、上述したような場合には、矩形の壁紙を曲面に貼ったように見せる補正の方が望ましい。それは、人間は、曲面に貼られたポスターやワインボトルのラベルのように、矩形の画像が曲面に貼られているものとして元の矩形の画像を想像して違和感なく認識することが期待されるからある。
そこで、本実施形態では、画像処理装置110は、準備された1以上の校正用撮像画像各々から、プロジェクタ150各々について投影像の歪みを示す格子点データを抽出する。また、画像処理装置110は、校正用撮像画像を撮像したカメラ160との相対的な位置関係を含むスクリーン102の幾何学情報の入力を受け付ける。さらに、画像処理装置110は、抽出された格子点データおよび入力された幾何学情報に基づいて、スクリーン102の形状に起因した撮像時の透視変換による歪みを相殺させるように、1以上のプロジェクタ150各々に対する補正係数を計算する。これにより、1つの方向で曲がりを有するようなスクリーン102に対し、複数の視点からの観察でも違和感を与えないような投影像の補正を図る。
再び図2を参照しながら、上述した補正を実現するための校正用撮像画像入力部126、校正パラメータ入力部128および補正係数算出部130の機能について、説明する。
校正用撮像画像入力部126は、上述した各校正用投影シーンで投影された投影像を撮像した撮像画像の入力を受けて、複数の校正用撮像画像を記憶領域上に準備する。
校正パラメータ入力部128は、ユーザからのスクリーン102のサイズおよびカメラ160との幾何学的関係を示す校正パラメータの入力を受け付ける。校正パラメータ入力部128は、本実施形態におけるスクリーン102の幾何学情報の入力を受ける情報入力手段を構成する。
補正係数算出部130は、より詳細には、特徴点抽出統合部132と、円筒補正部134と、幾何補正係数計算部136と、ブレンディング係数計算部138とを含み構成される。
特徴点抽出統合部132は、準備された1以上の校正用撮像画像各々から、各特徴点を抽出する。ここでは、各校正用撮像画像と、上述した校正用投影シーンとが対応付けられて校正用撮像画像入力部126に与えられるものとする。説明する実施形態では、校正用画像には、この校正用画像を投影するプロジェクタの投影像の歪みを検出するための校正パターンの配列が含まれる。特徴点抽出統合部132は、この校正パターンの配列が規定する格子点の組を抽出し、格子点データを生成する。各校正用撮像画像から抽出された格子点は、抽出元画像の座標系上の座標位置として抽出されるが、適宜、位置合わせマーカにより、単一の座標系(以下、統合座標系と参照する。)上に統合される。特徴点抽出統合部132は、本実施形態における格子点抽出手段および格子点変換手段を構成する。
円筒補正部134は、上述した校正用撮像画像の統合座標系(元座標系)から、スクリーン102の円筒形状に応じた座標系(補正後座標系)へと補正する。円筒補正部134は、より具体的には、特徴点抽出統合部132により得られた統合座標系上の格子点データに対し、上記元座標系から補正後座標系への補正を施す。円筒補正部134は、本実施形態による補正手段を構成する。なお、円筒補正については、詳細を後述する。
幾何補正係数計算部136は、円筒補正部134により補正された各プロジェクタ150毎の格子点データに基づいて、幾何補正係数を計算し、補正処理部114a,114bに対し設定する。幾何補正係数は、位置合わせ、スケール合わせ、歪み補正などの幾何学的な補正を織り込んだ補正係数であり、プロジェクタ150各々から投影する投影画像を与えるものである。
ブレンディング係数計算部138は、同様に、投影像のブレンディングの補正係数を算出し、補正処理部114a,114bに設定する。ブレンディング係数は、重複領域の重ね合わせの際の色および輝度調整を行うための補正係数である。ブレンディング係数計算部138、より具体的には、複数のプロジェクタ150各々に対し、注目するプロジェクタの投影像と、この注目するプロジェクタに隣接するプロジェクタ各々の投影像との間の重複領域を検出し、重複領域の検出結果に基づき、ブレンディング係数を計算する。このプロジェクタ毎のブレンディング係数により、スクリーン102上における複数のプロジェクタ150の投影像が重なる部分において、画像が滑らかに合成される。
このようにして、補正係数算出部130は、抽出された格子点データおよび入力された幾何学情報に基づいて、スクリーン形状に起因した撮像時の透視変換による歪みを相殺させるように、各プロジェクタ150各々に対する補正係数を計算する。補正係数算出部130は、本実施形態における補正係数計算手段を構成する。
補正処理部114は、それぞれ、補正係数算出部130によって計算された各種補正係数に基づき、コンテンツ画像からプロジェクタ毎の投影画像を生成する。投影画像出力部116は、補正された複数の補正画像を各々対応する複数のプロジェクタ150により投影するよう出力する。投影画像出力部116は、本実施形態における画像出力手段を構成する。
上述したように計算された補正係数に基づき補正された複数の補正画像を各々対応する複数のプロジェクタ150により投影する。これによって、円筒形状のスクリーン102に投影した場合における奥行きのある辺(曲がりを有する1つの方向)の撮像時の透視変換に起因する湾曲歪みが補正される。
好ましい実施形態では、入力された幾何学情報による初期補正にもかかわらず、湾曲歪みが残存する場合に、より良好な結果を得るために、校正パラメータ入力部128は、さらに、幾何学情報の微調整量の入力を受け付けることができる。この場合、補正係数算出部130は、入力された微調整量を加味して、補正係数を再計算する。ユーザは、再計算された修正補正係数に基づいて複数のプロジェクタ150により投影した投影結果を観察しながら、湾曲歪みが十分補正されたと判断するまで、微調整量入力および修正補正係数に基づく投影を繰り返すことができる。これにより、撮像時の透視変換に起因する湾曲歪みをより高精度に補正し、スクリーン102に投影領域を適合させることが可能となる。
なお、図2に示す実施形態では、各機能部112〜138が単一の画像処理装置110上で実現されるものとして説明したが、映像投影システム100の実施形態は、図2に示すものに限定されるものではない。他の実施形態では、台数の増加に伴う画像処理装置に集中する負荷を軽減するため、補正処理部114各々をプロジェクタ150各々上で実現してもよい。さらに他の実施形態では、各機能部112〜138を複数の画像処理装置上に分散実装してもよいし、すべての機能部112〜138をいずれかのプロジェクタ150上で実装してもよいし、画像処理装置110の機能と、複数のプロジェクタの機能とを備える単一の装置として構成してもよい。さらに、他の実施形態では、補正係数算出部130の機能をサービスとしてネットワークを介して提供するサーバとして実装してもよい。
(全体処理フロー)
以下、本実施形態による校正処理について、図6に示すフローチャートおよび図7に示す校正用投影シーンを参照しながら、全体的な流れを説明する。図6は、本実施形態による校正処理の全体的な処理の流れを示すフローチャートである。図6に示す処理は、ユーザからの校正処理開始の指示に応答して、ステップS100から開始される。
ステップS101では、画像処理装置110は、ユーザからのスクリーン102のサイズおよびカメラ160との幾何学的関係を示す校正パラメータの入力を受け付ける。この入力は、画像処理装置110に接続されたディスプレイに条件入力画面を表示することにより、条件入力画面を介して入力装置170で受け付けられる。ここで、説明する実施形態において、被投影面は、略円筒面の少なくとも一部であり、上述した幾何学情報を構成する校正パラメータは、スクリーン102の円筒形状の半径、略円筒面上に画定される被投影面の範囲(以下、カーソル領域と参照する場合がある。)を規定する中心角といったサイズ情報、スクリーン102のカメラ160からの距離情報、およびスクリーン102のカメラ160との中心のずれ情報を含み得る。
ステップS1102では、画像処理装置110は、複数のプロジェクタ150a,150bを用いて、生成された各校正用投影シーンを順番に投影し、カメラ160により各校正用投影シーンに対応して撮像された各校正用撮像画像を取得する。
図7は、本実施形態による画像処理装置110が上下2段のプロジェクタ150a,150bから投影させる校正用投影シーンを例示する図である。図7には、図3(A)および(B)に示した校正用画像を各プロジェクタから交互に投影する2つの校正用投影シーンが示されている。
図7(A)に示す撮像1回目の第1校正用投影シーンでは、画像処理装置110は、まず、下段プロジェクタ150aから図3(A)に示す第1校正用画像を投影させ、上段プロジェクタ150bからは図3(B)に示す第2校正用画像を投影させる。図7(B)に示す撮像2回目の第2シーンでは、反対に、下段プロジェクタ150aおよび上段プロジェクタ150bから、それぞれ、図3(B)に示す第2校正用画像および図3(A)に示す第1校正用画像が投影される。
ユーザは、連結するすべてのプロジェクタ150a,150bの投影像の全体が画角内に収まるようにカメラ160を三脚などで固定してあるいは手持ちで、上述した各段階での複数回の撮影を行う。カメラ160からの校正用投影シーン各々に対応した校正用撮像画像各々は、一括で、または順次に、画像処理装置110に取得され、ステップS103へ処理が進められる。
なお、説明する実施形態では、複数のプロジェクタ150a,150bの投影像の全体がカメラ160の視野角に収まるようして撮像され、カメラ160の位置は略同一であるものとする。カメラ160は、三脚により物理的に固定されてもよいし、手持ちで固定されていなくともよい。カメラ160が固定されない場合でも、複数のプロジェクタ150a,150bの投影像の全体がカメラ160の視野角に収まるようして撮像されれば、上述した位置合わせパターン202,212が一致するように射影変換することにより撮像結果の統合することができる。なお、以下、カメラが固定されて撮像された場合について、一例として、説明する。
ステップS103では、画像処理装置110は、取得された1以上の校正用撮像画像各々から特徴点を抽出する特徴点抽出統合処理を実行する。特徴点抽出統合処理では、各プロジェクタの格子点の組および位置合わせマーカが規定する基準点の座標位置が、統合された座標系において抽出される。
より具体的には、画像処理装置110は、まず、各々の撮像画像におけるプロジェクタ150各々の投影像の校正パターン(円形状)を検出し、撮像画像の座標系におけるその重心座標を、格子点の座標として抽出する。円形状の重心座標は、例えば、画像を2値化し、白画素のかたまりをパターンマッチングなどで切り出し、その重心座標を求めることによって、計算することができる。また、位置合わせマーカも同様であり、画像処理装置110は、複数の撮像画像から、各々の撮像画像の座標系における位置合わせマーカの重心座標を検出し、その重心座標を基準点の座標として抽出する。
以下、下段および上段3プロジェクタ150a,150bの格子点の座標をL1,L2で表し、位置合わせマーカの基準点の座標をM1,M2で表す。説明する実施形態では、カメラ160を固定して撮像しているため、複数回にわたる撮像画像の座標系が実質的にずれないので、得られる格子点座標L1,L2および基準点座標M1,M2は、単一の座標系(統合座標系)の座標である。
ステップS104では、詳細を後述するが、上記ステップS101で入力された校正パラメータに基づいて、上記算出された格子点座標L1,L2に対し円筒補正を施す。ステップS105では、上記補正された格子点座標L1’,L2’に基づいて、各プロジェクタの幾何補正係数を計算する。ステップS106では、画像処理装置110は、各プロジェクタのブレンディング係数を計算する。ステップS107では、画像処理装置110は、各補正処理部114に対し、ステップS105およびステップS106で計算されたプロジェクタ毎の幾何補正係数およびブレンディング係数を設定する。
ステップS108では、画像処理装置110は、投影すべきコンテンツ画像を読み出し、ステップS109では、コンテンツ画像に対し、プロジェクタ毎の補正処理部114で補正処理を実行する。補正処理の開始により、切替部122は、補正処理部114の出力に、投影画像出力部116の入力を切り替えて、投影モードに移行する。ステップS110では、画像処理装置110は、補正されたプロジェクタ毎の投影画像をプロジェクタ毎の投影画像出力部116からそれぞれ出力させる。これにより、全体としてコンテンツ画像がスクリーン102内に投影されるようになる。
上記投影モードの初期において、コンテンツ画像が投影される領域の四隅をスクリーン102に一致させる調整作業、入力した校正パラメータを増減させて投影像の歪みを調整する調整作業を行うためのユーザ・インタフェースが表示される。これらのユーザ・インタフェースは、プロジェクタ150が投影する画面の一部や、別途設けられたディスプレイ画面上に表示され得る。
ユーザは、このユーザ・インタフェースを用いて、目視により、コンテンツ画像を投影する投影目標領域の四隅や校正パラメータを微調整する。そして、ユーザは、コンテンツ画像がスクリーン102にぴったり収まり、歪みが補正されたと判断した場合、調整終了の指示を行う。調整作業の詳細については、図9および図10を参照しながら後述する。
ステップS111では、画像処理装置110は、ユーザから終了指示を受け付けたか否かを判定する。ステップS111で、調整終了指示を受け付けていないと判定された場合(NO)は、ステップS112へ処理が進められる。ステップS112では、画像処理装置110は、ユーザ・インタフェースを介して入力された調整量に基づき、投影目標領域の四隅を規定する基準点の位置座標および校正パラメータを更新し、ステップS104へ処理をループさせる。これにより、調整結果が反映された状態で、特徴点の補正、各プロジェクタの幾何補正係数およびブレンディング係数の再計算が行われる。
一方、ステップS111で、調整終了指示を受け付けたと判定された場合(YES)は、ステップS113へ処理を分岐させ、調整を完了させて、通常の投影モードに移行する。
(円筒補正の概要)
以下、撮像時の透視変換による垂直方向および水平方向のスケールの伸縮を補正する処理の概要について説明する。なお、ここでは、図8(A)に示すように、縦円筒形状のスクリーン102に対し、天地に設置した2台のプロジェクタ150a,150bで縦連結投影する場合を一例として説明する。
図8(A)において、円筒スクリーンの中心軸をy軸とし、円筒スクリーン面と正対してz-y平面を取り、円筒スクリーンの中心位置を原点(x,y)=(0、0)とする。図8(B)は、図8(A)に示した円筒スクリーンを真上から見た図である。図8(C)は、円筒面の水平方向の円弧に沿った湾曲した軸をx’軸とし、この円筒面上のx’軸上の等間隔なスケールを、無限遠から撮像した場合、および、近接撮像した場合にそれぞれどのように変化するかを模式的に示している。
無限遠から撮像した場合は、図8(C)の中央に示すような仮想投影平面に平行投影したものとなり、これをx軸で表す。近接撮像した場合は、図8(C)の右側に示すように、撮像面へ透視変換投影したものになり、これをu軸で表す。
円筒面の中心角が十分小さければ、仮想投影平面に平行投影したx軸と円筒面上のx’軸のスケールの伸び縮みは大きくはない。しかしながら、近接撮像した場合は、図8(C)に示すように、撮像距離が小さくなればなるほど、その撮像面上のu軸でのスケールの伸び縮みは大きくなる。
円筒面上の湾曲したx’軸と近接撮像での撮像面上のu軸の対応関係を解析的に解くことができれば、撮像画像上の水平座標を、円筒面上の水平座標(円筒面を展開した平面の水平座標)に対応する撮像画像の座標系に変換することができる。この対応関係の解析を含めて、近接撮像した格子点座標を、円筒面を展開した平面座標へ変換する処理の詳細については、図11から図14を参照しながら後述する。
円筒面のサイズ情報およびカメラ160の円筒面に対する相対的な位置情報の初期値による補正で、十分に湾曲歪みを補正しきれなかった場合は、ユーザ入力により、残存する上下辺の湾曲歪みをさらに微調整することができる。この場合、ユーザは、カメラ160がスクリーン102に正対はしているという前提の下、カメラ160の円筒面に対するスクリーン中心からの左右上下のずれ(xoffset,yoffset)および撮像距離(distance)のずれを微調整しながら補正結果を投影、目視で湾曲歪みをスクリーンに合わせ込むことができる。
(初期補正から調整までの作業の流れ)
以下、本実施形態による校正処理におけるユーザによる調整作業について、図9に示すフローチャートおよび図10に示す表を参照しながら説明する。図9は、本実施形態による校正処理における調整作業の流れを示すフローチャートである。図10は、本実施形態による調整作業における校正パラメータの調整の仕方を説明する表である。
図9に示す処理は、ステップS200から開始される。ステップS201では、画像処理装置110は、校正パラメータの初期値に基づいて補正された初期補正画像を出力する。ここでは、詳細を後述する校正パラメータについて、概略の設計値、実測値またはデフォルト値が入力されているものとする。
ステップS202では、画像処理装置110は、投影目標領域の外形を規定する四隅の基準点の微調整量を受け付ける。ここでは、ユーザは、初期補正画像および微調整後の補正画像の投影像を観察しながら、補正画像の四隅がスクリーン102上の目標となる領域に一致するように、四隅の基準点の微調整量を入力する。
ステップS203では、画像処理装置110は、校正パラメータの一つである距離パラメータ(distance)の微調整を受け付ける。ここで、ユーザは、微調整後の補正画像の投影像を観察しながら、上下辺のたる形の歪みが軽減されるように距離パラメータ(distance)の微調整量を入力する。
ここで、図10に示す上2段の行を参照すると、距離パラメータの調整の仕方が説明されている。図10の表の第1段目に示すように、端辺が膨らんでいる傾向が観察される場合は、カメラの位置が、正しい位置よりも遠くに設定されている場合に該当すると考えられる。このため、距離パラメータを減らすことにより、上側および下側共に現状よりも膨らみを軽減することができる。一方、図10の表の第2段目に示すように、端辺がへこんでいる傾向が観察される場合は、カメラの位置が正しい位置よりも近くに設定されている場合に該当すると考えられる。このため、距離パラメータを増やすことにより、上側および下側共に現状より膨らませることができる。なお、ここで、正しい位置とは、補正結果が矩形貼り付け状に補正される距離パラメータの値をいい、必ずしも物理的なカメラ位置とは一致しない点に留意されたい。
ステップS204では、画像処理装置110は、歪みの上下および左右のバランスが崩れているか否かの問い合わせを行い、ユーザからの入力を受け付ける。カメラ160がスクリーン102に正対してスクリーン102中央に設置されているのであれば、バランスは崩れず、上下左右対称に歪みが発生することになる。ステップS204で、バランスが崩れているとのユーザからの回答を受け付けた場合(YES)は、ステップS205へ処理を分岐させる。
ステップS205では、画像処理装置110は、校正パラメータの一部である左右および上下のオフセットパラメータの微調整を受け付ける。左右および上下のオフセットパラメータ(xoffset,yoffset)は、上下辺の湾曲膨らみの上下バランスおよび左右バランスを調整するためのものである。ここで、ユーザは、微調整後の補正画像の投影像を観察しながら、上下および左右のバランスの崩れが軽減されるようにオフセットパラメータの微調整量を入力する。
ここで、図10に示す中2段の行を参照すると、左右オフセットパラメータ(xoffset)の調整の仕方が説明されている。図10に示す下2段の行を参照すると、上下オフセットパラメータ(yoffset)の調整の仕方が説明されている。
図10の表の第3段目に示すように、端辺の左側に偏ったふくらみが観察される場合は、カメラの位置がカーソル領域中心よりも左にずれている場合に該当すると考えられる。このため、左右方向オフセット(xoffset)を負に設定することにより、左側を現状よりへこませ、右側を現状よりより膨らませることができる。一方、図10の表の第4段目に示すように、端辺の右側に偏ったふくらみが観察される場合は、カメラの位置がカーソル領域中心よりも右にずれている場合に該当すると考えられる。このため、左右方向オフセット(xoffset)を正に設定することにより、左側を現状より膨らませ、右側を現状よりへこませることができる。
さらに、図10の表の第5段目に示すように、下辺が上辺より下へへこむ傾向が観察される場合は、カメラの位置がカーソル領域中心よりも上にずれている場合に該当すると考えられる。このため、上下オフセット(yoffset)を負に設定することにより、上側を現状より膨らませ、下側を現状よりへこませることができる。一方、図10の表の第6段目に示すように、上辺が下辺より上へ盛り上がる傾向が観察される場合は、カメラの位置がカーソル領域中心よりも下にずれている場合に該当すると考えられる。このため、上下オフセット(yoffset)を正に設定することにより、上側を現状よりへこませ、下側を現状より膨らませることができる。
このように、ユーザは、たる形の歪みの量を距離パラメータ(distance)によって調整した後、左右オフセットパラメータ(xoffset)および上下オフセットパラメータ(yoffset)で微調整する。そして、ユーザは、微調整後の補正画像を投影したものを見ながら、上下辺のたる形の歪みの上下、左右バランスを左右および上下対照な状態となるように補正する。これにより、矩形を円筒にそのまま張ったような矩形貼り付け状態に近づけることができる。
ステップS205が完了すると、ステップS206で、本調整作業が終了される。ステップS204で、バランスが崩れていないとのユーザからの回答を受け付けた場合(NO)は、ステップS206へ処理が直接進められ、本調整作業が終了する。
(円筒補正処理の詳細)
以下、図11〜図14を参照しながら、近接撮像した格子点座標を、円筒面を展開した平面座標へ変換する円筒補正処理について、より詳細を説明する。まず、以下、図11および図12を参照しながら、x軸方向の補正について説明する。
以下、図11(A)および(B)を参照しながら、校正パラメータの初期値の与え方、および、校正パラメータから導出される、内部的な計算に用いるための導出パラメータおよび導出関数について説明する。なお、図11(A)および図11(B)は、円筒スクリーンを真上から見た場合のx-z平面を表している。円筒スクリーンにおける投影像が投影される範囲(カーソル領域)は、左右のカーソルにより定められる。
図11(A)は、当該円筒面モデルで与えられる校正パラメータを説明する図である。図11(A)に示すように、校正パラメータの初期値の与え方として、二通りの方法が考えられる。第1の方法では、サイズ情報として、円筒面上の被投影面の範囲(カーソル領域)を規定するカーソル中心角θおよび曲率半径Rを与えることができる。第2の方法では、サイズ情報として、円筒面上の被投影面の範囲(カーソル領域)を規定する左右カーソル間距離Aおよび左右カーソル間の中点における湾曲奥行きEを与えることができる。
ここで、円筒スクリーン上の点Lと、カーソル領域の中点Kと、中点Kに関する点Lの点対称L’を用いて二等辺三角形△OLMと△MLL’を考えると、この2つの三角形は相似の関係を有しており、下記関係
から、下記式により、EとAを用いてRを表すことができる。このため、上記AおよびEと、上記θおよびRは、どちらか計測しやすい方を用いれば、相互に交換可能ということになる。
図11(B)は、当該円筒面モデルで与えられる校正パラメータから導出される導出パラメータおよび導出関数について説明する図である。ここで、後述する計算を容易にするために、下記に示す導出パラメータ(a,s,e)を定義することができる。
さらに、あるxにおける補正奥行きd(x)を、図11(B)に点線で示した三角形に三平方の定理を適用することにより、下記の通りに定義することができる。なお、下記式において、xは、曲率中心Oを通るx軸上の値である。
以上示したように、θが与えられない場合でも、AおよびEからθを導出する必要はなく、上記第2の方法で校正パラメータが与えられた場合は、事前にAとEからRを計算しておけばよいということになる。
続いて、図12(A)を参照して、x’軸上の座標値と、x軸上の座標値との関係について説明する。ここで、円筒スクリーンに沿ったx’軸を考えると、x=0の場合の円筒上の点をQとして、円筒上の点Pのx軸での座標値およびx’軸での座標値をそれぞれx,x’とした場合、下記式
が得られ、上記式からφを消去して、下記式(1)で表すことができる。なお、ここまでは、カメラ160に依存しない、スクリーンの円筒形状から決定される事項である。
計算の途中経過をすべてx’の表式で進めることは非常に煩雑であるため、以下、まずxの表式で説明を進めながら、x’を求める必要が出てきた際に上式(1)に基づいてxからx’へ変換するものとする。
次に、図12(B)を参照して、円筒に沿ったx’軸と、撮像画像のu軸との関係について説明する。ここで、カーソル平面(左右カーソルがなす平面)からDだけ奥行き方向に離れ、曲率中心からx0だけ水平方向にずれたJ点に焦点距離Fのカメラレンズを置いて、撮像平面上に像を結ぶ場合を考える。ここで、撮像画像上の水平軸をu軸とし、水平座標値がxである円筒上の点Iが撮像画像上の座標u(L点)に対応するとき、2つの三角形△IJKと、△JLMが相似の関係にあることから、下記式(2)が導かれる。
ここで、座標値uの取り得る範囲を検討すると、右カーソル位置x=aに対応するu軸上の座標値u[a]は、右カーソル位置で奥行きがゼロ(d(a)=0)であることを考慮すると、下記式で表される。
上記式と、上記式(2)とから焦点距離Fを消去することにより、下記式が得られる。
ここで、uがu[a]に比例していることから、u軸のスケールには、定数倍の自由度があるので、u[a]=a‐x0と便宜上置くことによって式を簡略化することができ、下記式のようになる。このとき、左カーソル位置に対応するu軸上の座標値は、u[a]=‐(a-x0)となる。
上述した式(1)および(3)を用いることにより、撮像画像上の水平軸上の座標値uから、x軸上の座標値xをへて、円筒(x’軸)上の座標値x’へ変換することができる。
以下、引き続き、図13(A)を参照しながら、y軸方向の補正について説明する。図13(A)は、スクリーンの円筒面を真横から見て、円筒面の奥行き差(Z軸方向)に起因する近接撮像での透視変換による垂直方向(Y軸方向)の歪みを説明する。上述したように、補正奥行きd(x)は、あるxにおける湾曲奥行きであり、ここでは、円筒に沿った軸上のx’ではなく水平座標xを用いて説明を続ける。上述したようにDは、カメラレンズからカーソル平面までの距離を表す。図13(A)に示すように、円筒面の同じ高さの上下辺の2点の奥行き差と撮像距離Dから、撮像面上でのそれぞれのy軸方向の像の高さが求まることになる。
湾曲奥行きがあるため、図13(A)に示すように、物理的な円筒スクリーン上の高さhの位置にある点Pの部分像は、撮像画像上の垂直位置yの画素として記録される。これを、従来の平面スクリーンを前提とした歪み補正を施すと、同じ像が点P’に見えるように補正が働くことになる。つまり、垂直位置yにあった画素がy’へ移るような凸効果がかかり、それが、円筒スクリーンの投影に際して端辺曲がりを引き起こすことになる。この余分な凸効果を相殺するには、撮像画像上でPに対応する画素の位置yを、あたかも最初からy’にあるかのように補正すればよいということになる。
カメラレンズの焦点距離Fを用いて、相似三角形に注目すると、下記関係式が導かれる。
そして、上記式を整理すると、下記式が得られる。
上記によれば、y=0のとき、xにかかわらずy=y’=0となる。y=y0のとき、xにかかわらずy=y’=y0となるように上記式を修正すると、下記式(4)が得られる。
上記式より、x‘またはx軸上の座標と、円筒形状のサイズ情報がわかれば、そのx’またはx座標のときの奥行き差が求まるので、y軸方向の歪みが補正できる。
以上、図11〜図13(A)を参照して説明した、水平方向および垂直方向の補正により、近接撮像した格子点座標を、円筒面を展開した平面座標へ変換することができる。
以下、図14を参照しながら、円筒補正処理の流れについてより詳細に説明する。図14は、本実施形態による円筒補正処理を示すフローチャートである。図14に示す処理は、図6に示すステップS104の処理で呼び出されて、ステップS300から開始される。
ステップS301では、画像処理装置110は、校正パラメータ入力部128により、校正パラメータの初期値を取得し、基準点座標M1,M2からカーソル4点座標を取得する。図8(A)に示す配置では、下段プロジェクタ150aの四隅の基準点M1のうちの下2つと、上段プロジェクタ150の四隅の基準点M2のうちの上2つとが取得される。校正パラメータの初期値としては、上記R,θ、D(Distance)、x0(xoffset)およびy0(yoffset)の組、または、A,E、D(Distance)、x0(xoffset)およびy0(yoffset)の組が取得される。
ステップS301では、画像処理装置110は、入力された校正パラメータに基づいて、導出パラメータ(a,s,e)および補正奥行き関数(d(x))を計算する。
ステップS303では、画像処理装置110は、全体投影領域の外形を規定するカーソルの複数の基準点に基づいて、カーソルのなす四辺形が矩形状(規格化された形状)になるような平面射影変換Hを求める。その際に、図13(B)に示すように、カーソル左上および右下座標が(‐(a+x0),−1) と(a‐x0,1)になるように設定し、正規化を行うことができる。補正前に座標値の正規化を行うことによって、投影目標領域の四隅位置調整後にこの補正を行うにあたり、補正後に投影目標領域の四隅位置が変動しないようにすることができる。
ステップS304では、画像処理装置110は、格子点座標に対し、四隅の位置合わせマーカがなす四辺形が、撮像位置(x軸方向)に応じた想定位置の矩形になるよう、上記で求められた平面射影変換Hを適用し、座標値の正規化を行う。
ステップS305では、画像処理装置110は、格子点座標のうちの水平座標値Xに対し、上記平面射影変換Hをかけたものをuとして、上記式(3)で表される対応関係に基づいて、前記元座標系の値uから仮想被投影平面上の座標の値xを未知数として求める。ここで、上記式(3)で表される対応関係とは、仮想被投影平面上の座標値xによる元座標上のL点と被投影面上の座標上のI点との対応関係である。このとき、副産物として補正奥行きd(x)も得られる。
ここで、上記式(3)から未知数xを得る方法について説明する。上記式(3)中、補正奥行きd(x)は、平方根の中にx2項が含まれているため、複雑であり、上記式(3)を直接xについて解くことは困難と考えられる。そのため、まず、中間ステップとして、上記式(3)を「未知数dについての方程式」に変形した後にdを求めることとする。
説明の便宜上、関数d(x)をdとして記載すると、上記(3)の変形から、下記式が得られる。
さらに、両辺を2乗することにより、下記式(5)が得られる。
一方、上記補正奥行きd(x)の定義より、下記式(6)が得られる。
一方、上記式(6)を上記式(5)の右辺に代入して、さらに、dの多項式として整理する(R2-S2=a2の関係を使用する。)と、下記式(7)が得られる。
上記式(7)の2次方程式の解の公式からdを求めることができ、dが求まれば(6)からxが求める。なお、上記2次方程式および(6)に関する、実数解の存在、2つの実数解のどちらを採用すべきか、(6)の平方根をとったとき、正負どちらをxとして採用すべきかなどの詳細な考察については後述する。
再び、図14を参照すると、ステップS306では、画像処理装置110は、仮想被投影平面と被投影面との曲率半径に応じた幾何学的関係を規定する上記式(1)に基づいて、上記で得られた仮想被投影平面上の座標の値xから被投影面上の座標の値x’を求める。
ステップS307では、画像処理装置110は、得られたx’に線形変換を施し、前記被投影面上の座標の値x’から'前記補正後座標系の値u’をuに対する補正結果として得る。ここで、線形変換は、左および右カーソル位置の撮像画像座標値ul,urを用いて、下記式で表される。
上記線形変換は、補正前後で、右および左カーソル位置の撮像画像座標値ul,urが変化しないという条件を満たすようにするためのものである。なお、eは左右カーソル間の弧の長さである。上記式に対し、ul=‐(a+x0)およびur=(a‐x0)を代入すると、下記式(8)が得られる。
ステップS308では、画像処理装置110は、格子点の垂直座標Yに対し、上述した平面射影変換をかけたものをyとして、上記式(4)に基づいて、曲がりによる光学的な効果をキャンセルするように前記元座標系の値yから、補正後座標系への値y’を得る。なお、座標変換の仕方として、撮像画像自体を変形することもできるが、本実施形態の目的においては、撮像画像自体を変形する必要はなく、格子点座標に対してy→y’への変換を行っても同じことである。
ステップS309では、画像処理装置110は、得られた(u’,y’)に対し、上記平面射影変換の逆変換H−1をかけ、ステップS310で、座標値(X’,Y’)で格子点の座標を書き換える。
このようにして、円筒補正部134は、特徴点抽出統合部132により抽出された格子点データ(X,Y)に対し、射影変換Hを施す。そして、円筒補正部134は、射影変換後の格子点データに元座標系(u,y)から補正後座標系(u’,y’)への補正を施す。さらに、円筒補正部134は、補正後の格子点データにさらに射影変換の逆変換H−1を施して、補正後の格子点データ(X’,Y’)を得る。そして、補正係数算出部130は、射影変換後、かつ、補正後、かつ、逆変換後の格子点データ(X’,Y’)に基づいて補正係数を計算する。
(円筒補正におけるu→x変換の詳細な考察)
上記式(7)において、以下場合分けして検討する。
[1]u=a‐x0またはu=−(a+x0)の場合:
この場合は、左右カーソル位置に対応する座標であるため、奥行きd=0であるはずであり、実際d=0は上記2次方程式(7)の解になっている。このため、u=a‐x0またはu=−(a+x0)の場合は、決め打ちでd=0とすればよい。
[2]−(a+x0)<u<a‐x0の場合:
左右カーソルの間の座標であるため、d>0となる実数解を持つはずである。実際にu+x0+a>0,u+x0−a<0になるため、C<0であり、また、常にA>0であるから、判別式B2−AC>0で、実数解を持つ。解と係数の関係によりC<0であるならば2つの解は異符号である。よって、この場合は大きい方の解を採用すればよく、すなわち、下記式により計算することができる。
[3]u<−(a+x0)またはu>a‐x0の場合:
格子点が、左右カーソルの外側のu座標まで取り得るため、このケースも考察しておく必要がある。
[3−イ]判別式B2−AC<0の場合:
ここで、u→x変換を少し別の観点から考えると、撮像画像上の位置uとレンズ中心を通る直線(=図12(B)のL,Jを通る直線)と円弧を360度まで延長した全円との交点を求める問題に帰着することになる。ここで、判別式<0は、この直線と全円が交点を持たないということを意味する。撮像距離が、曲率直径2Rを超えて遠くなると現実的に発生し得る。この場合は、d=不能ということにする。
ここからは、判別式≧0で実数解を持つ場合に限定してよい。先の「直線と全円との交点を求める問題」として図形的に考えると、この場合の交点は、左右カーソルを結ぶ直線よりも下にある、つまり補正奥行きd(x)がマイナスとなるので、上記(7)2次方程式の2つの解はどちらも負値である。そして、図形的に上側にある方、より0に近い方の解を採用すべきであることもわかる。ここで、dをそのようにして採用された値であるとする。
[3−ロ]d>-sの場合:
dに対応する交点が「上半円」に含まれる場合に対応する。この場合は、上記[2]の自然な拡張としてX方向もY方向も[2]と同じように処理して問題ない。X方向は、スケールを保つよう、不動のカーソル位置に向かって「寄っていく」ような変換がかかることになる。一方、Y方向は、上記式(4)が負となるので、y0に向かって「寄っていく」ような変換がかかることになり、曲がりを真っすぐにする効果が得られる。なお、プログラム実装上、d<−sよりもっと条件を厳しくしたほうが好ましい。
[3−ハ]d≦−sの場合:
dに対応する交点が「下半円」に含まれる場合に対応する。この場合は、そのまま上記[2]のロジックをあてはめると、交点のx座標が|x|<Rとなり、さらには|x|<aとなり、上記[2]のケースの結果に重なりあってしまうおそれがある。円筒に沿ったx’座標で表現することにより重なりを回避できるとも考えられるが、コンテンツが投影されないカーソル領域外であまり煩雑なことをしても仕方がないため、簡便に、XもYも変換しない対応とすることができる。不動のカーソル位置やy0に向かって寄っていく変換をしないだけであるため、格子点の全列行内の座標値の大小関係を壊すことはなく、後続の処理に不都合はないと考えられる。
なお、[3−ロ]のケースも変換しないですませるという考え方もあるが、投影コンテンツ端の画素がバイリニア補間元として依拠する格子点が[3−ロ]のケースのものであることはあり得るので、滑らかさを保つため[3−ロ]では変換を行うがよい。
以上により補正奥行きd(左右カーソル上とその内側では非負値、外側では負値)またはd=不能が得られる。d=不能ならばxも求まらないため、X,Yを変換しない扱いとする。不能でなければ、上記式(3)から、下記のように整理して、xが求まる。
(ハードウェア構成)
以下、図15を参照しながら、上述までの実施形態における画像処理装置110のハードウェア構成について説明する。画像処理装置110は、典型的には、汎用コンピュータ装置として構成される。図15は、本実施形態による汎用コンピュータ装置のハードウェア構成を示す図である。
図24に示す汎用コンピュータ装置110は、CPU12と、CPU12とメモリとの接続を担うノースブリッジ14と、サウスブリッジ16とを含む。サウスブリッジ16は、上記ノースブリッジ14と専用バスまたはPCIバスを介して接続され、PCIバスやUSBなどのI/Oとの接続を担う。
ノースブリッジ14には、CPU12の作業領域を提供するRAM18と、映像信号を出力するグラフィックボード20とが接続される。グラフィックボード20には、アナログRGB、HDMI(High-Definition Multimedia Interface;HDMIおよびHigh-Definition Multimedia Interfaceは登録商標または商標である)、DVI(Digital Visual Interface)、DisplayPort(登録商標)などの映像出力インタフェースを介してディスプレイ50や上記プロジェクタ150に接続される。
サウスブリッジ16には、PCI(Peripheral Component Interconnect)22、LANポート24、IEEE1394、USBポート28、補助記憶装置30、オーディオ入出力32、シリアルポート34が接続される。補助記憶装置30は、HDDやSSDなどであり、コンピュータ装置を制御するためのOS、上記機能部を実現するためのプログラムや各種システム情報や各種設定情報を格納する。LANポート24は、汎用コンピュータ装置110を有線および無線でネットワークに接続させるインタフェース機器である。
USBポート28には、キーボード52およびマウス54などの入力装置170が接続されてもよく、操作者からの各種指示の入力を受け付けるためのユーザ・インタフェースを提供することができる。本実施形態による汎用コンピュータ装置110は、補助記憶装置30からプログラムを読み出し、RAM18が提供する作業空間に展開することにより、CPU12の制御の下、上述した各機能部および各処理を実現する。なお、プロジェクタ150およびカメラ160については、特に説明を行わないが、同様に、CPUおよびRAM等などのハードウェアや、特定の用途に応じたハードウェアを備えている。
以上説明したように、本発明の実施形態によれば、1以上の投影手段により被投影面上に像を投影するための投影システムにおいて、1つの方向で曲がりを有する被投影面に対し、簡単な作業で投影像を補正することが可能な投影システム、該投影システムを構成する画像処理装置および該画像処理装置を実現するためのプログラムを提供することができる。
上述した実施形態による校正処理は、円筒形状の被投影面を有し、カメラの画角に全プロジェクタの画面が納まる程度の連結数の少ないマルチ・プロジェクションの場合に特に有効である。分割撮像する場合と比較して、撮像枚数や撮像位置を増やさずにすみ、円筒スクリーン両端でのたる形の歪みを好適に補正することができ、かつ円筒面を展開した平面にコンテンツをマッピングするような幾何補正することができる。
特に、縦型円筒のスクリーンでは、上端位置での撮像も必要になり、高さ3m程度の円筒スクリーンの場合、通常の三脚などでは届かない高さでの撮像が必要になるが、本実施形態による校正処理ではこれらが不要となる。さらに、上述した実施形態による校正処理によれば、プロジェクタ投影領域全体に対して幾何学的を好適に補正することができる。
さらに、微調整量を受け付けることにより、一旦補正した後に、たる形歪みが補正しきれない場合でも、残存する湾曲歪みがまっすぐになるようユーザがユーザ・インタフェースを介して、目視で補正結果を見ながら微調整できるように構成されている。さらに、好適には、上述した補正前後に平面射影変換を施すことにより、一旦投影領域の四隅位置の微調整を行った後に、このたる形の歪みを軽減する微調整を行うに際して、投影領域の四隅位置を固定することができる。
なお、上記機能部は、アセンブラ、C、C++、C#、Java(登録商標)などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。