(57)【要約】【課題】パターン画像の撮影時に、撮影動作に伴う手ブレの影響を抑制することが可能なプログラムを提供すること。【解決手段】コンピュータ４１に、画像を取得する画像取得ステップS102と、補正情報の算出が可能な画像が前記画像取得ステップにより取得されたか否かを判断するための判断情報を取得する判断情報取得ステップS103と、前記判断情報に基づき前記補正情報が算出可能か否かを判断する判断ステップS104と、前記判断ステップで前記補正情報を算出可能と判断された場合、前記画像取得ステップで取得された画像を補正情報算出手段に提供するか、又は、前記画像取得ステップで取得された画像から補正情報を算出するステップS105、S406と、を実行させるプログラムを提供する。【選択図】図２
2015026914.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
画像を取得する画像取得ステップと、
補正情報の算出が可能な画像が前記画像取得ステップにより取得されたか否かを判断するための判断情報を取得する判断情報取得ステップと、
前記判断情報に基づき前記補正情報が算出可能か否かを判断する判断ステップと、
前記判断ステップで前記補正情報を算出可能と判断された場合、前記画像取得ステップで取得された画像を補正情報算出手段に提供するか、又は、前記画像取得ステップで取得された画像から補正情報を算出するステップと、
を実行させるプログラム。
【請求項２】
前記判断情報取得ステップにおいて、前記画像取得ステップにより取得された画像を用いて前記コンピュータの傾きを前記判断情報として取得し、
前記判断ステップにおいて、前記傾きが第１の閾値以上か否かに基づき前記補正情報が算出可能か否かを判断する、
ことを特徴とする請求項１記載のプログラム。
【請求項３】
前記判断情報取得ステップにおいて、加速度情報検出手段が検出した加速度を前記判断情報として取得し、
前記判断ステップにおいて、前記加速度が第２の閾値以上か否かに基づき前記補正情報が算出可能か否かを判断する、
ことを特徴とする請求項１記載のプログラム。
【請求項４】
前記判断情報取得ステップにおいて、前記画像取得ステップにより取得された画像の特徴量を前記判断情報として取得し、
前記判断ステップにおいて、前記特徴量が前記画像取得ステップにより取得された画像に手ぶれが生じていることを示すか否かに基づき、前記補正情報が算出可能か否かを判断する、ことを特徴とする請求項１記載のプログラム。
【請求項５】
前記判断情報取得ステップにおいて、前記画像取得ステップにより取得された画像の所定領域のサイズを前記判断情報として取得し、
前記判断ステップにおいて、前記サイズが第３の閾値以上か否かに基づき前記補正情報が算出可能か否かを判断する、ことを特徴とする請求項１記載のプログラム。
【請求項６】
前記判断情報取得ステップにおいて、音声情報取得手段が取得した音声情報を前記判断情報として取得し、
前記判断ステップにおいて、前記音声情報の強さが第４の閾値以上か否か又は前記音声情報が予め定められた発話内容と一致するか否かに基づき前記補正情報が算出可能か否かを判断する、ことを特徴とする請求項１記載のプログラム。
【請求項７】
前記判断情報取得ステップにおいて、加速度情報検出手段が検出した加速度に基づいて、前記コンピュータの傾きを前記判断情報として取得し、
前記判断ステップにおいて、前記傾きが第１の閾値以上か否かに基づき前記補正情報が算出可能か否かを判断する、
ことを特徴とする請求項１記載のプログラム。
【請求項８】
前記画像取得ステップにおいて、前記コンピュータに通信可能に接続された撮影手段が繰り返し撮影する画像を順に取得し、
前記判断情報取得ステップで、前記画像取得ステップにて取得された画像から前記判断情報が取得された場合は、前記判断ステップにより前記補正情報が算出可能であると判断された前記判断情報の取得元になった画像を外部の情報処理装置に送信する送信ステップ、をさらに実行させ
前記判断情報取得ステップで、前記画像取得ステップにて取得された画像以外から前記判断情報が取得された場合は、前記判断ステップにより前記補正情報が算出可能であると判断された時又は直前若しくは直後に、前記画像取得ステップにより取得された画像を外部の情報処理装置に送信する送信ステップ、をさらに実行させる、
ことを特徴とする請求項１〜７いずれか１項記載のプログラム。
【請求項９】
前記画像取得ステップにおいて、前記コンピュータに通信可能に接続された撮影手段が繰り返し撮影する画像を順に取得し、
前記判断情報取得ステップで、前記画像取得ステップにて取得された画像から前記判断情報が取得された場合は、前記判断ステップにより前記補正情報が算出可能であると判断された前記判断情報の取得元になった画像を用いて前記補正情報を算出する補正情報算出ステップ、をさらに実行させ
前記判断情報取得ステップで、前記画像取得ステップにて取得された画像以外から前記判断情報が取得された場合は、前記判断ステップにより前記補正情報が算出可能であると判断された時又は直前若しくは直後に、前記画像取得ステップにより取得された画像を用いて前記補正情報を算出する補正情報算出ステップ、をさらに実行させる、
ことを特徴とする請求項１〜７いずれか１項記載のプログラム。
【請求項１０】
画像を取得する画像取得手段と、
補正情報の算出が可能な画像が前記画像取得手段により取得されたか否かを判断するための判断情報を取得する判断情報取得手段と、
前記判断情報に基づき前記補正情報が算出可能か否かを判断する判断手段と、
前記判断手段により前記補正情報を算出可能と判断された場合、前記画像取得手段が取得した画像を補正情報算出手段に提供するか、又は、前記画像取得手段が取得した画像から補正情報を算出する補正情報算出手段と、
を有することを特徴とする情報処理装置。
【請求項１１】
請求項８項記載のプログラムと、
前記外部の情報処理装置が算出した前記補正情報により補正された画像を投影する投影装置又は画像を表示する表示装置、又は、前記補正情報を算出して該補正情報で補正された画像を投影する投影装置若しくは画像を表示する表示装置と、
を有することを特徴とするシステム。
【請求項１２】
請求項９記載のプログラムと、
前記補正情報算出ステップで算出された前記補正情報により補正された画像を投影する投影装置又は前記画像を表示する表示装置と、
を有することを特徴とするシステム。
【請求項１３】
請求項１０記載の情報処理装置と、
画像を投影する投影装置又は画像を表示する表示装置と、
を有することを特徴とするシステム。
【請求項１４】
前記情報処理装置は前記画像取得手段としての撮影手段を内蔵するか又は撮影手段と接続されており、
前記撮影手段は、前記投影装置が画像を投影する方向とは異なる方向から画像を撮影する、ことを特徴とする請求項１３記載のシステム。
【請求項１５】
前記投影装置又は前記情報処理装置が、前記投影装置が投影する画像又は前記表示装置が表示する画像の画像データを記憶している、
ことを特徴とする請求項１３又は１４記載のシステム。
【請求項１６】
前記投影装置が投影する画像又は前記表示装置が表示する画像の画像データを記憶する画像データ記憶装置、
をさらに有することを特徴とする請求項１３又は１４記載のシステム。
【請求項１７】
前記情報処理装置、前記投影装置若しくは前記表示装置、又は、前記画像データ記憶装置が、前記補正情報を算出する補正情報算出手段と、
前記補正情報により前記画像データを補正する補正手段と、を有し、
前記投影装置は前記補正手段が補正した前記画像データを投影し、前記表示装置は前記補正手段が補正した前記画像データを表示する、
ことを特徴とする請求項１６記載のシステム。
【請求項１８】
画像から前記補正情報を算出する補正情報算出手段と、
前記補正情報により前記画像データを補正する補正手段とを有する演算装置を、をさらに有することを特徴とする請求項１６記載のシステム。
【請求項１９】
画像を取得する画像取得手段と、
補正情報の算出が可能な画像が前記画像取得手段により取得されたか否かを判断するための判断情報を取得する判断情報取得手段と、
前記判断情報に基づき前記補正情報が算出可能か否かを判断する判断手段と、
前記判断手段が前記補正情報の算出が可能であると判断した場合、前記画像取得手段が取得した画像から前記補正情報を算出する補正情報算出手段と、
前記補正情報により前記画像の画像データを補正する補正手段と、
を有することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を取得して画像を補正する補正情報を作成する技術に関する。
【背景技術】
【０００２】
プロジェクタが投影した画像、ＣＲＴや液晶などの表示装置が表示する画像が歪む場合があることが知られている。そこで、この画像の歪みを補正する技術が考えられている。例えば、プロジェクタが投影したパターン画像又は表示装置が表示したパターン画像をカメラなどで撮影し、情報処理装置が、撮影された画像データから歪みを補正する補正情報を生成する。そして、生成された補正情報によって投影される画像又は表示される画像に画像変換処理を施すことで、歪みが解消された状態で、プロジェクタが画像を投影したりＦＰＤが表示することが可能になる（例えば、特許文献１参照。）。特許文献１には、予め記憶されたテスト画像をプロジェクタからスクリーンに投影し、それをカメラ付き携帯電話で撮影し、撮影画像を携帯電話から画像変換装置に送信して、補正情報を算出し、補正情報によって投影画像を幾何補正した後にプロジェクタへ投影する方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、補正情報を算出するためのパターン画像を撮影する際には、情報処理装置が補正情報を算出することに適した画像データをカメラが撮影可能であることが望ましい。例えば、カメラが水平か否か不明だと、カメラが撮影した撮影画像が歪んだ（傾いた）理由が、画像の歪みなのか、カメラが水平でないことによるものかを特定できないので、算出された補正情報が適切とは限らなくなるためである。また、カメラの焦点があっていないと画像データが不鮮明になり、補正情報が算出できなかったり、補正情報が不正確となる。
【０００４】
ユーザはこのことを理解してカメラを把持してシャッターボタンを押下すると考えられる。しかしながら、特許文献１のようにユーザがシャッターボタンを押下すると、撮影動作に基づく手ぶれが発生し、パターン画像の撮影に失敗する場合があるという問題があった。例えば、ユーザがカメラに外力を加えてパターン画像を撮影する方法では、撮影動作に伴う手ブレによってカメラが水平でなくなり、画像データを元に算出された補正情報により投影又は表示される画像が傾いてしまう場合があった。また、カメラが水平でなくなる場合だけでなく、撮影動作に基づく手ぶれが発生し画像データが不鮮明となり、適切な補正情報を算出できない場合があった。
【０００５】
本発明は、上記課題に鑑み、パターン画像の撮影時に、撮影動作に伴う手ブレの影響を抑制することが可能なプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、コンピュータに、画像を取得する画像取得ステップと、補正情報の算出が可能な画像が前記画像取得ステップにより取得されたか否かを判断するための判断情報を取得する判断情報取得ステップと、前記判断情報に基づき前記補正情報が算出可能か否かを判断する判断ステップと、前記判断ステップで前記補正情報を算出可能と判断された場合、前記画像取得ステップで取得された画像を補正情報算出手段に提供するか、又は、前記画像取得ステップで取得された画像から補正情報を算出するステップと、を実行させるプログラムを提供する。
【発明の効果】
【０００７】
パターン画像の撮影時に、撮影動作に伴う手ブレの影響を抑制することが可能なプログラムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】プロジェクタが投影する画像の歪みの発生について説明する図の一例である。
【図２】実施例１にかかる画像処理システム１の全体構成を示す図である。
【図３】実施例１にかかるＰＣ１１、プロジェクタ２１およびカメラ４１の機能構成を示すブロック図である。
【図４】情報取得部のブロック図の一例である。
【図５】カメラのハードウェア構成図の一例である。
【図６】画像処理システム１による画像補正処理を示すシーケンス図である。
【図７】図６のステップＳ１０２の画像取得処理、Ｓ１０３の判断情報取得処理、及び、Ｓ１０４の画像使用可否判断の具体的な手順を示すフローチャート図である。
【図８】パターン画像の一例を示す図である。
【図９】図６のステップＳ１０２〜Ｓ１０４のより詳細な処理手順を示すフローチャート図の一例である。
【図１０】図６のステップＳ１０２の画像取得処理、Ｓ１０３の判断情報取得処理、及び、Ｓ１０４の画像使用可否判断の具体的な手順を示すフローチャート図である。
【図１１】パターン画像を含む撮影画像の一例を示す図である。
【図１２】図６のステップＳ１０２〜Ｓ１０４のより詳細な処理手順を示すフローチャート図の一例である。
【図１３】カメラの傾きを取得するためのプロジェクタの設置について説明する図の一例である。
【図１４】撮影画像におけるパターン画像領域の一例である。
【図１５】図６のステップＳ１０２の画像取得処理、Ｓ１０３の判断情報取得処理、及び、Ｓ１０４の画像使用可否判断の具体的な手順を示すフローチャート図である。
【図１６】図６のステップＳ１０２〜Ｓ１０４のより詳細な処理手順を示すフローチャート図の一例である。
【図１７】連結成分について説明する図の一例である。
【図１８】図６のステップＳ１０２の画像取得処理、Ｓ１０３の判断情報取得処理、及び、Ｓ１０４の画像使用可否判断の具体的な手順を示すフローチャート図である。
【図１９】図６のステップＳ１０２〜Ｓ１０４のより詳細な処理手順を示すフローチャート図の一例である。
【図２０】加速度センサによる傾斜角の算出を模式的に示す図の一例である。
【図２１】図６のステップＳ１０２の画像取得処理、Ｓ１０３の判断情報取得処理、及び、Ｓ１０４の画像使用可否判断の具体的な手順を示すフローチャート図である。
【図２２】パターン用の対応点の抽出に関するＰＣのブロック図の一例である。
【図２３】パターン画像、投影されたパターン画像をカメラにて撮影したパターン画像領域の一例を示す図である。
【図２４】パターン画像の撮影画像に対して、配列における位置情報を割り当てる処理の流れについて説明する図の一例である。
【図２５】パターン要素の座標情報を説明する図の一例である。
【図２６】（ｕ，ｖ）座標系への変換について説明する図の一例である。
【図２７】ある選択されたパターン要素の左側に隣接するパターン要素を特定する処理の流れを示すフロー図である。
【図２８】ある選択されたパターン要素の上側に隣接するパターン要素を特定する処理の流れを示すフロー図である。
【図２９】注目要素、隣接要素番号、左隣接要素番号の一例を示す図である。
【図３０】グリッド配列の外周部に位置するパターン要素群について説明する図の一例である。
【図３１】連結成分の生成結果の一例を示す図である。
【図３２】グリッド検査処理の詳細を示すフロー図である。
【図３３】検査スコアの算出について説明する図の一例である。
【図３４】補正情報の算出を模式的に説明する図の一例である。
【図３５】補正画像の作成について説明する図の一例である。
【図３６】実施例２にかかる画像処理システム２の全体構成を示す図である。
【図３７】実施例２にかかるＰＣ１２、プロジェクタ２２およびカメラ４２の機能構成を示すブロック図である。
【図３８】画像処理システム２による画像補正処理を示すシーケンス図である。
【図３９】実施例３にかかる画像処理システム３の全体構成を示す図である。
【図４０】実施例３にかかるＰＣ１３、プロジェクタ２３およびカメラ４３の機能構成を示すブロック図である。
【図４１】画像処理システム３による画像補正処理を示すシーケンス図である。
【図４２】実施例４にかかる画像処理システム４の全体構成を示す図である。
【図４３】実施例４にかかるプロジェクタ２４およびカメラ４４の機能構成を示すブロック図である。
【図４４】画像処理システム４による画像補正処理を示すシーケンス図である。
【図４５】実施例５にかかる画像処理システム５の全体構成を示す図である。
【図４６】実施例５にかかるＰＣ１５、プロジェクタ２５およびカメラ４５の機能構成を示すブロック図である。
【図４７】画像処理システム５による画像補正処理を示すシーケンス図である。
【図４８】実施例６にかかる画像処理システム６の全体構成を示す図である。
【図４９】実施例６にかかるＰＣ１６、プロジェクタ２６、カメラ４６および演算装置６０の機能構成を示すブロック図である。
【図５０】画像処理システム６による画像補正処理を示すシーケンス図である。
【発明を実施するための形態】
【０００９】
〔歪みの発生について〕
まず、図１を用いて画像に生じる歪みについて説明する。図１（ａ）は、プロジェクタが投影する画像の歪みの発生について説明する図の一例である。視聴者が投影画像に対し影を作ったり、プロジェクタが投影画像に向けた視聴者の視線を遮らないように、長短焦点のプロジェクタが使用される場合がある。長短焦点のプロジェクタとは、厳密な定義はないがスクリーンから数十ｃｍの距離で投影が可能なプロジェクタをいう。
【００１０】
このようなプロジェクタは、図１（ａ）に示すように水平方向に対する投影光の仰角が大きくなるが、視聴者の視線方向はスクリーンに対してほぼ垂直なので、投影方向と視線の方向に大きな角度の違いが発生してしまい、これが歪みの主な原因となる。
【００１１】
具体的に説明する。点線が理想的な投影面であり、実線がスクリーンなどの実際の投影面であるとする。大きな仰角で投影された投影光は例えばa点で反射するが、スクリーンを目視する視聴者はこのａ点で反射した投影光を目視する。しかしながら、ａ点は投影面の凹凸により生じた反射点であり、理想的な投影面であれば投影光はＡ点で反射される。Ａ点で反射した場合、水平方向の視聴者はＡ点で反射した投影光を目視する。
【００１２】
したがって、投影面の凹凸により、同じ位置から投影された投影光の反射点がスクリーンの凹凸によって変わるため、視聴者には図のΔだけ位置の異なる画像が到達してしまう。
【００１３】
一方、ｂ点でも投影光の一部が反射し視聴者により目視されるが、ｂ点は理想的な投影面の反射点Ｂとほぼ一致している。このため、ｂ点で反射して視聴者に到達した投影光については、凹凸の影響が生じにくい。
【００１４】
このように、凹凸があるスクリーンに大きな仰角で投影光が投影されると、投影光が反射する場所によって、局所的な歪みが発生するため、投影面の全体を見る視聴者には投影画像の全体が不均一に歪んでいるかのように見える場合がある。すなわち、投影面にわずかな凹凸が存在すると、長短焦点のプロジェクタの場合、視聴者に到達する投影光にその凹凸が強調されてしまう場合がある。
【００１５】
ところで、プロジェクタと同じ（又は近い）方向に存在する視聴者には、a点から視聴者の方向に反射した投影光が到達する。これは、理想的な投影面の場合も同様で、Ａ点で反射した投影光は、視聴者が存在する方向で目視される。このことは、プロジェクタと同じ（又は近い）方向の視聴者から投影画像の歪みが認識しにくいことを意味している。したがって、情報処理装置が投影画像の補正情報を作成するためにカメラがパターン画像を撮影する際には、視聴者に近い方向（スクリーンに垂直な方向）から撮影することが好ましいことが分かる。換言すると、視聴者の視線の方向と投影方向が異なる場合、プロジェクタとカメラは別々の筐体に搭載された別体として構成されることが好ましいといえる。
【００１６】
なお、図１（ａ）では超単焦点のプロジェクタを例にして説明したが、投影光の方向がスクリーンに対し垂直な方向から大きくずれるほど歪みが認識されやすくなるので、プロジェクタが長短焦点又は単焦点である必要はない。また、図１（ａ）ではスクリーンが歪んでいる場合を例としたが、プロジェクタの光学系に歪みが生じていても同様に補正できる。
【００１７】
図１（ｂ）はＣＲＴ（Cathode Ray Tube）又は液晶などのＦＰＤ（フラットパネルディスプレイ）が表示する画像の歪みについて説明する図の一例である。ＣＲＴ（ブラウン管と呼ばれる場合がある）が表示する画像は樽型に歪む場合があるし、ＦＰＤ（液晶ディスプレイ、プラズマディスプレイ、有機ＥＬディスプレイなど）が表示する画面が歪む可能性も否定できない。図１（ｂ）では正方形の格子線が表示されているが、樽型に歪んでいることが分かる。このような歪みもカメラで撮影して補正情報を算出することで補正することが可能である。
【００１８】
したがって、以下では、主にプロジェクタが投影した画像の補正について説明するが、本実施形態の補正情報の算出方法は、ＣＲＴ又はＦＰＤが表示する画像の歪みにも同様に適用できる。
【実施例１】
【００１９】
図２（ａ）は、実施例１にかかる画像処理システム１の全体構成を示す図である。画像処理システム１は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１１と、プロジェクタ（投影装置）２１と、カメラ４１とを備えている。ＰＣ１１とカメラ４１の間、およびＰＣ１１とプロジェクタ２１の間でそれぞれ各種情報が送受信される。
【００２０】
ＰＣ１１は、スクリーン３０への投影対象画像であるコンテンツ画像などの情報を記憶している。プロジェクタ２１は、ＰＣ１１からスクリーン３０に投影すべき画像を受信し、受信した画像を投影する。ＰＣ１１は特許請求の範囲の画像データ記憶装置の一例である。
【００２１】
カメラ４１は、例えばデジタルカメラ、デジタルビデオカメラ、カメラ付き携帯電話や、カメラ付きスマートフォン、又は、カメラ付きタブレットＰＣなどである。カメラ４１は、ユーザ操作にしたがい、画像が投影されているスクリーン３０を含む画像を撮影する。すなわち、カメラ４１により撮影された撮影画像には、スクリーン３０に表示されている投影画像が含まれている。
【００２２】
スクリーン３０に投影される投影画像には、スクリーン３０の歪み等に起因した歪みが生じている。本実施例にかかる画像処理システム１は、カメラ４１により撮影された撮影画像を用いて、投影面に投影されたコンテンツ画像の歪みを補正するための補正情報を算出し、補正情報に基づいて投影面への投影対象となるコンテンツ画像を補正する。これにより、本実施例にかかる画像処理システム１においては、歪みが生じることなくコンテンツ画像をスクリーン３０に投影することができる。
【００２３】
なお、プロジェクタ２１とＰＣ１１との間の通信およびカメラ４１とＰＣ１１との間の通信は、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Bluetooth（登録商標）などのネットワークを介して行われる。通信は、有線であってもよく、また無線であってもよい。また、他の例としては、各通信は、通信ケーブルを介して行われるものとしてもよい。
【００２４】
図２（ｂ）は、プロジェクタ２１の代わりに表示装置３１を有する画像処理システム１の全体構成を示す図である。表示装置３１はＣＲＴ又はＦＰＤなどである。
【００２５】
表示装置３１が表示する画像には、表示装置３１に起因した歪みが生じている。画像処理システム１は、カメラ４１により撮影された撮影画像をＰＣ２１に送信し、ＰＣ２１がコンテンツ画像の歪みを補正するための補正情報を算出し、補正情報に基づいて投影面への投影対象となるコンテンツ画像を補正する。これにより、本実施例にかかる画像処理システム１においては、表示装置３１は歪みが生じることなくコンテンツ画像を表示することができる。したがって、図１（ａ）のスクリーン３０とプロジェクタ２１が、表示装置３１に置き換わっており、同様の手順で補正情報を算出できる。
【００２６】
図３は、実施例１にかかるＰＣ１１、プロジェクタ２１およびカメラ４１の機能構成を示すブロック図である。ＰＣ１１は、画像データ記憶部１１０と、通信部１１１と、補正情報算出部１１２と、補正部１１３とを有している。プロジェクタ２１は、通信部２１０と、投影部２１１とを有している。カメラ４１は、画像取得部４１０と、情報取得部４１１と、判断部４１２と、通信部４１３とを有している。
【００２７】
ＰＣ１１の画像データ記憶部１１０は、プロジェクタ２１によりスクリーン３０に投影されるコンテンツ画像およびパターン画像を記憶している。ＰＣ１１の通信部１１１は、プロジェクタ２１およびカメラ４１と通信を行う。通信部１１１は例えば、画像データをプロジェクタ２１に送信する。通信部１１１はまた、カメラ４１から画像を受信する。
【００２８】
なお、パターン画像およびコンテンツ画像は、プロジェクタ２１またはカメラ４１が記憶していてもよい。また、投影面への投影対象となるコンテンツ画像は、ＰＣ１１、プロジェクタ２１およびカメラ４１が記憶する画像に限定されるものではなく、他の装置が記憶する画像であってもよい。
【００２９】
一方、プロジェクタ２１の通信部２１０は、ＰＣ１１からパターン画像およびコンテンツ画像を受信する。投影部２１１は、通信部２１０が受信したパターン画像およびコンテンツ画像を投影する。
【００３０】
また、カメラ４１の画像取得部４１０は、ユーザの操作にしたがい、プロジェクタ２１によりパターン画像が投影されたスクリーン３０を含む画像（撮影画像）を取得する。具体的にはスクリーン３０を撮影して撮影画像を作成する。
【００３１】
情報取得部４１１は、画像取得部４１０により得られた画像データが補正情報を算出するために適した状態であるか判断するための情報を取得する。情報取得部４１１は具体的には、画像取得部４１０により取得した撮影画像に含まれるパターン画像領域の大きさ、カメラの傾き、パターン画像のエッジ量、カメラ４１に備えつけられた加速度センサの値もしくはカメラ４１に備えつけられたマイクからの音声情報を取得する。
【００３２】
図４は、情報取得部のブロック図の一例である。情報取得部４１１は、画像データに含まれるパターン画像領域の大きさを取得するパターン画像サイズ取得部４０１、カメラ４１の傾きを取得するカメラ傾き取得部４０２、パターン画像のエッジ量を取得するエッジ量取得部４０３、加速度センサなどを実体としてカメラ４１の生じる加速度を取得する加速度取得部４０４、及び、マイクで集音した音声を認識して音声情報を取得する音声取得部４０５を有する。
【００３３】
図５は、カメラのハードウェア構成図の一例を示す。カメラ４１は、バスに接続された、ＣＰＵ４１１１、ＲＯＭ４１１２、ＲＡＭ４１１３、ＳＤＤ（Solid State Drive）４１１４、ディスプレイ４１３０が接続されたグラフィックボード４１１５、カメラＩ／Ｆ４１１６、音声Ｉ／Ｆ４１１７、操作部４１１８、メディアドライブ４１１９、ネットワーク通信部４１２０、外部Ｉ／Ｆ４１２１及び加速度センサ４１２５を有している。ＣＰＵ４１１１はＳＳＤ４１１４に記憶されたプログラム４１３２をＲＡＭ４１１３に展開して実行し、各部品を制御して入出力を行ったり、データの加工を行ったりする。ＲＯＭ４１１２にはＢＩＯＳや、ＯＳをＳＳＤ４１１４からＲＡＭ４１１３に読み出すプログラムが記憶されている。
【００３４】
ＳＳＤ４１１４は、不揮発性のメモリでありフラッシュメモリやフラッシュＲＯＭと呼ばれる場合がある。ＳＳＤ４１１４は、ＯＳ、デバイスドライバ、及び、後述する機能を提供するプログラム４１３２を記憶している。ディスプレイ４１３０にはプログラム４１３２が指示し、グラフィックボード４１１５が作成したＧＵＩ画面が表示される。
【００３５】
撮像素子４１２２は、ＣＰＵ４１１１の制御に従って被写体を撮像し画像データを得る。撮像素子４１２２は内蔵されている必要はなく、外付けされていてもよい。カメラＩ／Ｆ４１１６は、ＣＰＵとのＩ／Ｆになって撮像素子４１２２を制御する。マイク４１２３は音声を入力する。スピーカ４１２４は音声を出力する。音声Ｉ／Ｆ４１１７は、ＣＰＵ４１１１の制御に従ってマイク４１２３およびスピーカ４１２４との間で音声信号の入出力を処理する。
【００３６】
操作部４１１８は利用者の操作を受け付ける入力装置である。メディアドライブ４１１９はＳＤメモリカード、ＵＳＢメモリなどのメディアカード４１３１にデータを読み書きする。ネットワーク通信部４１２０は、例えばＬＡＮに接続するためのイーサネット（登録商標）カードである。ＴＣＰ／ＩＰ（ＵＤＰ／ＩＰ）やアプリケーション層のプロトコルの処理はＯＳやプログラム４１３２が行う。
【００３７】
外部Ｉ／Ｆ４１２１は、外部の装置と通信するためのＩ／Ｆであり、例えばＵＳＢホスト、Bluetooth（登録商標）、ＮＦＣ（Near Field Communication）などの通信が可能である。
【００３８】
プログラム４１３２は、インストール可能な形式又は実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラム４１３２は、不図示のサーバからインストール可能な形式又は実行可能な形式のファイルで配布される。
【００３９】
なお、図５はカメラのハードウェア構成図として説明したが、ＰＣ１１、及び、プロジェクタ２１においても、情報処理装置としての機能や手段を提供する部分のハードウェア構成はカメラ４１と同様である。プロジェクタ２１に関しては、映像を投影するＤＭＤ（Digital Mirror Device）、ＬＣＯＳ（Liquid crystal on silicon）などの光学デバイスを有し、映像をスクリーンに投光する機能を有している。
【００４０】
図６は、画像処理システム１による画像補正処理を示すシーケンス図である。
まず、ＰＣ１１の通信部１１１は、画像データ記憶部１１０に記憶されているパターン画像をプロジェクタ２１に送信する（ステップＳ１００）。プロジェクタ２１の通信部２１０がパターン画像を受信すると、投影部２１１がパターン画像をスクリーン３０に投影する（ステップＳ１０１）。
【００４１】
次に、カメラ４１の画像取得部４１０は、ユーザ操作を契機として、スクリーン３０を含む画像の取得を開始する（ステップＳ１０２）。このユーザ操作は継続的な撮影を開始するという操作である。カメラ４１によってはカメラ４１を起動する操作がこの操作に相当し、またあるカメラ４１では動画撮影モードに切り替えることがこの操作に相当し、またあるカメラ４１では所定のボタンの半押しやタッチ操作がこの操作に相当する。ステップＳ１０２の処理の詳細については後述する。
【００４２】
次に、情報取得部４１１は、画像取得部４１０により得られた撮影画像又はカメラ４１に備えつけられた加速度センサ４１２５やマイク４１２３から判断情報を取得する（ステップＳ１０３）。
【００４３】
次に、判断部４１２にて、得られた判断情報が補正情報の算出に適しているか否かを判断する。適していないと判断される場合は、再度、画像取得からの処理を実行する（ステップＳ１０４）。
【００４４】
次に、通信部４１３は、取得された撮影画像をＰＣ１１に送信する（ステップＳ１０５）。このように、通信部４１３により送信される前に補正情報算出の成否を判断するため、補正情報の算出の失敗を回避できる。
【００４５】
ＰＣ１１においては、通信部１１１が撮影画像を受信すると、補正情報算出部１１２は、撮影画像と、画像データ記憶部１１０に記憶されているパターン画像とに基づいて、補正情報を算出する（ステップＳ１０６）。補正情報の算出については後述する。
【００４６】
次に、ＰＣ１１の補正部１１３は、補正情報に基づいて、投影対象のコンテンツ画像を補正し、補正画像を得る（ステップＳ１０７）。次に、通信部１１１は、補正画像をプロジェクタ２１に送信する（ステップＳ１０８）。
【００４７】
プロジェクタ２１においては、通信部２１０が補正画像を受信すると、投影部２１１は、補正画像を投影する（ステップＳ１０９）。以上で、画像補正処理が完了する。
【００４８】
このように、本実施形態のる画像処理システム１は、補正画像をスクリーン３０に投影することにより、スクリーン３０に投影される画像の歪みを補正することができる。
【００４９】
さらに、補正画像を得るための撮影画像に対しては、あらかじめ補正情報算出の成否を判断した後に、補正情報算出部１１２にて補正情報算出処理を行うため、補正情報算出処理の失敗を回避できる。
【００５０】
〔画像取得、判断情報、判断について〕
以下、図６のステップＳ１０２〜Ｓ１０４について具体例（撮影画像サイズ、カメラの傾き、エッジ強度、加速度、音声指示）を説明する。以下の各具体例は単一の判断情報だけで判断してもよいが、任意の２つ以上を組み合わせ、組み合わせられた全ての判断情報が基準を満たす場合に補正情報の算出に適切な撮影画像が撮影されたと判定してもよい。
【００５１】
以下のように判断することで、シャッターを押すことによる手振れやカメラ４１の傾きなどに起因する投影パターンの抽出失敗を防止することができる。条件が整ったら自動的に補正情報の算出が始まるので、補正情報の算出の成功率が高くなる。
【００５２】
なお、自動的に画像を取り込む技術として、バーコード（又はＱＲコード（登録商標））を検知してデータに変換したり、笑顔を検知して画像を取り込む技術がある。しかし、バーコードや笑顔を検知できる撮影条件と、補正情報の算出に適切な撮影条件とは一致しない。例えば、笑顔では顔が傾いていること、撮影された顔のサイズが小さいことは許容可能な場合が多いが、補正情報の算出では、投影パターンが傾いて撮影されること、又は、投影パターンの画像サイズが小さいことが、補正情報の品質に影響する場合が多い。このため、従来の自動撮影の技術は適用が困難といえる。
【００５３】
＜撮影画像サイズに基づく判断＞
図７は、図６のステップＳ１０２の画像取得処理、Ｓ１０３の判断情報取得処理、及び、Ｓ１０４の画像使用可否判断の具体的な手順を示すフローチャート図である。
【００５４】
・Ｓ１０２−１
上記のように、カメラ４１はスクリーン３０を含む画像を継続的に（例えば、１５〜６０fpsなどの速度で）取得している。
【００５５】
Ｓ１０３−１
パターン画像サイズ取得部４０１は、各撮影画像から判断情報として撮影画像におけるパターン画像領域のサイズを取得する。
【００５６】
Ｓ１０４−１
判断部４１２は、パターン画像領域のサイズが閾値１より大きいか否かを判定する。この判定の結果がＹｅｓであれば、Ｓ１０５で撮影画像がＰＣ１１に送信され、ＮｏであればＳ１０２で再度、撮影画像が取得される。判断情報が撮影画像から取得されたのでパターン画像領域のサイズが閾値１より大きかった撮影画像がＰＣ１１に送信される。
【００５７】
パターン画像領域のサイズについて説明する。撮影画像に含まれるパターン画像領域のサイズがある一定以上のピクセルサイズである場合、パターン画像領域の個々のパターン要素を認識することができ、補正情報の算出に成功する可能性が高くなる。
【００５８】
図８（ａ）は、パターン画像の一例を示す図である。このパターン画像は投影される前の画像データであるが、理想的に投影された場合は図８（ａ）に示すように各パターン要素が等間隔に投影される。パターン画像として円の形状をしたパターン要素が縦横８個ずつ格子状に並んでいる。横方向に８個並んだパターン要素を他のパターン要素と分離するためには、パターン要素とパターン要素の間に最低1ピクセルの隙間が必要である。また、最も左端又は最も右端のパターン要素とパターン画像の端部との間にも最低1ピクセルの隙間が必要である。さらに、パターン要素を円として認識するためには最低3ピクセルが必要である。これは、１ピクセルではノイズなど、他の孤立点と見分けることができないためである。縦方向にも同様のことが当てはまる。
【００５９】
このため、撮影画像のうちパターン画像領域のサイズとしては、縦横それぞれ1＋(3+1)×8=33ピクセル以上必要となる。したがって、判断部４１２はパターン画像領域のサイズの縦横がそれぞれ３３ピクセル以上でない場合に、再度、画像取得が必要であると判断する。撮影画像サイズの縦横がそれぞれ３３ピクセル以上の場合、判断部４１２はパターン画像領域のサイズが基準を満たしており撮影画像にて補整情報を算出できると判断する。したがって、ユーザがシャッターボタンを押下することなく適切な補正情報を算出可能な撮影画像が得られる。
【００６０】
なお、この閾値１である３３ピクセルは最低限満たすべき値なので、間隔として必要な隙間のピクセル数やパターン要素を円として認識するための必要ピクセル数を大きくすることで、適当な閾値を設定できる。
【００６１】
図８（ｂ）は、投影パターンの別の一例を示す図である。８×８のパターン要素を四角い黒枠５１が囲んでいる。壁に吊り下げられたスクリーン３０にこのようなパターン画像が投影される場合を考えると、撮影画像の中心付近にある連結成分の外接矩形が定められたサイズ以上であれば、認識可能なサイズのパターン要素が撮影されていると推測できる。また、当然ながらユーザは、パターン画像領域が撮影画像の中心部を占めるように撮影すると考えられる。
【００６２】
８×８の各円のパターン要素が等間隔に並んでいるのであれば、隙間の大きさを「隙間の大きさ＝個々のパターン要素の大きさ」として、パターン画像領域のサイズとして必要なサイズは、パターン要素の抽出に必要な円のサイズの１７倍（＝８×２＋１）となる（幅及び高さの両方）。
【００６３】
円の抽出アルゴリズムにより抽出に必要な円のサイズは異なるが、例えば円の重心を求めるのであれば、安定的に重心位置をもとめるには最低８画素程度の円のサイズが望ましい。従って、パターン画像領域のサイズは縦横８×１7＝136画素以上が必要である。すなわち、136画素以上の黒画素連結成分（黒枠５１の部分）があれば黒枠５１がカメラ４１の画角の中に収まっており、かつ、その大きさ（パターン画像領域の大きさ）が十分に大きいことになり、パターン抽出が安定的に行える。
【００６４】
また、円を用いた投影パターンも一例に過ぎず、パターン要素が円以外の矩形などでもよく、また、投影パターンが市松模様などでもよい。
【００６５】
図９は、図６のステップＳ１０２〜Ｓ１０４のより詳細な処理手順を示すフローチャート図の一例である。
【００６６】
画像取得部４１０は撮影画像を取得する（Ｓ１−１）。撮影画像には中央付近に投光パターンが撮影されている。
【００６７】
次いで、パターン画像サイズ取得部４０１は撮影画像を二値化する（Ｓ１−２）。
【００６８】
次いで、パターン画像サイズ取得部４０１は黒画素の連結成分を抽出する（Ｓ１−３）。連結成分の抽出方法はどのような方法でもよいが、例えば左上などの原点（０，０）から水平方向（ｘ方向）に黒画素を探索し、黒画素が見つかった場合、黒画素に隣接した８つの画素に黒画素があるか否かを判断する。８つの画素に黒画素がある場合は、その黒画素に隣接した８つの画素に黒画素があるか否かを判断する。これを繰り返すことで黒画素の連結成分を抽出できる。黒画素が途切れたら、連結成分として抽出されておらずかつ探索していない画素に戻って、同様の処理を行う。連結成分は、例えば一意のラベルで識別することとして、ラベルに各黒画素の座標などを紐づけておく。
【００６９】
次いで、パターン画像サイズ取得部４０１は中央付近にある規定サイズ以上の連結成分を全て抽出する（Ｓ１−４）。図８（ｃ）は中央付近の連結成分の抽出を説明する図の一例である。例えば、ｘ軸方向又はｙ軸方向の長さが１３６画素程度以上か否かを判定する。
また、１つの連結成分から、ｘ座標が同じ又は同じと見なせる黒画素、ｙ座標が同じ又は同じと見なせる黒画素を取り出し、長さが１３６画素程度以上か否かを判定する。
【００７０】
または、連結成分に細線化処理を施して、４つの直線部がそれぞれ１３６画素程度以上か否かを判定し、任意の画素から直線を辿って元の画素に戻るか否かに基づき、中央付近を囲む規定サイズ以上の連結成分か否かを判定してもよい。
【００７１】
次いで、パターン画像サイズ取得部４０１は規定サイズ以上の連結成分を１つ抽出する（Ｓ１−５）。規定サイズとは、黒枠に相当する画素数であり例えば縦横１３６画素程度のサイズである。したがって、連結成分のｘ座標の最小値と最大値の差が１３６画素程度、ｙ座標の最小値と最大値の差が１３６画素程度、の連結成分を１つ抽出する。
【００７２】
次いで、抽出した連結成分の内側の連結成分のサイズのヒストグラムを求める（Ｓ１−６）。これは、別の領域（例えばスクリーンの敷設部材など）を投影パターンの黒枠と誤認している可能性があるので、枠内の黒画素連結成分がパターン要素と推定できるか否かを判定するためである。パターン画像サイズ取得部４０１は、ｘ座標及びｙ座標がＳ１−５で抽出した枠内の連結成分の縦横のサイズをそれぞれ算出しヒストグラムを作成する。例えば図８（ｄ）に示すように、横サイズと縦サイズの２次元のテーブルを作成し、算出した連結成分の縦と横のサイズに該当するマスに投票していく。したがって、パターン要素のサイズに近いマスほど大きな値が加算されていく。
【００７３】
パターン画像サイズ取得部４０１は、ヒストグラムから縦サイズ、横サイズの中央値を求める（Ｓ１−７）。中央値は投票数を重みづけにして求めたサイズの平均とするが、最も投票数の多いサイズとしてもよい。中央値の１７倍がＳ１−４で抽出した連結成分と近ければ、Ｓ１−５で抽出した連結成分が枠であると推定できる。
【００７４】
このため、パターン画像サイズ取得部４０１は、Ｓ１−４で抽出した連結成分のサイズが、縦サイズ、横サイズの中央値の１７倍と近いか否かを判定する（Ｓ１−８）。
【００７５】
連結成分のサイズが、縦サイズ、横サイズの中央値が１７倍と近い場合、判断部４１２は投影パターンの黒枠５１を抽出していると推定できる。すなわち、補正情報の算出が成功する可能性ありと判断する（Ｓ１−１１）。
【００７６】
連結成分のサイズが、縦サイズ、横サイズの中央値の１７倍と近くない場合、別の枠を抽出している可能性が高い。パターン画像サイズ取得部４０１は、Ｓ１−４で抽出した連結成分を全ての吟味していない場合はステップＳ１−５に戻り、別の連結成分を同様に処理する（Ｓ１−９）。連結成分を全ての吟味した場合は、判断部４１２は補正情報の算出が成功する可能性なしと判断する（Ｓ１−１０）。
【００７７】
このような処理により、投影パターンの枠でないものを枠であると誤認することを排除しながら、パターン画像領域のサイズが閾値以上か否かを判定できる。
【００７８】
＜カメラの傾きに基づく判断１＞
続いてカメラの傾きに基づく撮影画像が補正情報の算出に適切か否かの判断について説明する。
図１０は、図６のステップＳ１０２の画像取得処理、Ｓ１０３の判断情報取得処理、及び、Ｓ１０４の画像使用可否判断の具体的な手順を示すフローチャート図である。
【００７９】
・Ｓ１０２−２
上記のように、カメラ４１はスクリーン３０を含む画像を継続的に（例えば、１５〜６０fpsなどの速度で）取得している。
【００８０】
Ｓ１０３−２
カメラ傾き取得部４０２は、各撮影画像から判断情報としてカメラの傾きを取得する。
【００８１】
Ｓ１０４−２
判断部４１２は、カメラの傾きが閾値２未満か否かを判定する。この判定の結果がＹｅｓであれば、Ｓ１０５で撮影画像がＰＣ１１に送信され、ＮｏであればＳ１０２で再度、撮影画像が取得される。判断情報が撮影画像から取得されたので傾きが閾値２未満であった撮影画像がＰＣ１１に送信される。
【００８２】
カメラの傾きについて説明する。カメラが傾いていると、算出された補正情報により補正された投影画像が傾いてしまう。逆に、カメラに含まれるパターン画像領域の傾きがある範囲内である場合、算出される補正情報を元に補正される投影画像の傾きも一定以内となる。
【００８３】
図１１（ａ）は、パターン画像領域を含む撮影画像の一例を示す図である。撮影画像には、パターン画像領域（投影パターン）５２、スクリーン３０、スクリーンを収納する収納部５４、時計５５、及び、カレンダ５６などが撮影されている。
【００８４】
ところで、パターン画像領域が水平に投影されていても、ユーザが把持するカメラ４１が傾いている場合、投影パターンも傾いて撮影される。一方、投影パターンが傾いて投影されていても、ユーザが把持するカメラ４１が逆に傾いているため、投影パターンが水平に撮影される場合がある。また、投影パターンもカメラ４１も傾いており、投影パターンが傾いて撮影される場合もある。いずれの場合も、投影パターンの傾きだけを抽出することが困難なため、適切な補正情報は算出できない可能性が高い。したがって、適切な補正情報を算出するにはカメラ４１が水平に対し傾いていないことを検出することが好ましい。
【００８５】
このため、カメラ傾き取得部４０２は、撮影画像からカメラ４１の水平に対する傾きを算出する。カメラ４１の水平方向に対する傾きを算出するには、水平又は垂直であることが明らかな敷設物などを利用する。図１１（ａ）の例ではスクリーンの収納部５４、カレンダ５６の外枠、などが地面に対し水平又は垂直である。また、図１１（ａ）では撮影されていないが、窓は水平・垂直な窓枠を有し、柱は垂直に建設されており、壁と壁の境界は水平又は垂直である。したがって、これらを検出することで、水平又は垂直であると推定される敷設物を検出できる。
【００８６】
図１２は、図６のステップＳ１０２〜Ｓ１０４のより詳細な処理手順を示すフローチャート図の一例である。
【００８７】
画像取得部４１０は撮影画像を取得する（Ｓ２−１）。撮影画像には中央付近に投光パターンが撮影されている。
【００８８】
まず、カメラ傾き取得部４０２は、投影パターンの黒枠５１を検出する（Ｓ２−２）。黒枠の検出方法は、図９にて説明した手法を使用する。
【００８９】
ついで、カメラ傾き取得部４０２は、二値化前の画像から黒枠と黒枠内の黒画素を消去する（Ｓ２−３）。これにより、図１１（ｂ）に示すように、投影パターンが撮影されていない撮影画像が得られる。
【００９０】
ついで、カメラ傾き取得部４０２は、二値化前の撮影画像からエッジを検出する（Ｓ２−４）。エッジ量の検出方法は後述するが、例えば水平方向と垂直方向に所定のフィルタ演算を行う。エッジ量は特許請求の範囲の特徴量の一例である。
【００９１】
次いで、エッジにハフ変換を施して直線を生成する（Ｓ２−５）。そして、閾値以上の長さの直線を抽出する（Ｓ２−６）。
【００９２】
図１１（ｃ）は検出された直線を模式的に説明する図の一例である。収納部５４の上下のエッジから抽出された２本の水平線、カレンダ５６の上下左右のエッジから抽出された２本の水平線と２本の垂直線が抽出されている。
【００９３】
次いで、カメラ傾き取得部４０２は、直線の中に垂直又は水平と見なせる直線があるか否かを判定する（Ｓ２−７）。ここでの判定では、カメラ４１が傾いている可能性があるため、例えば垂直に対し２０度程度、水平に対し２０度程度のずれであれば、垂直又は水平と見なせると判定する。図１１（ｃ）のように、垂直又は水平と見なせる直線が複数ある場合は、最も数が多い方向が同じ直線を特定する。
【００９４】
そして、判断部４１２は、垂直と見なせる直線が垂直か否か、又は、水平と見なせる直線が水平か否かを判定する（Ｓ２−８）。ここでの判定は、カメラ４１の傾きが補正情報を算出可能か否かを判定するための許容値を閾値２とする。例えば、５〜１０度未満の傾きであれば、傾きなしと判定し、補正情報の算出が成功する可能性ありと判断する（Ｓ２−９））。
【００９５】
５〜１０度以上の傾きがあれば、傾きありと判定し、判断部４１２は補正情報の算出が成功する可能性なしと判断する（Ｓ２−１０）。
【００９６】
以上のようにして、投影パターンでなくカメラ４１に傾きがあるか否かを判定できる。なお、傾きを検出することで、投影パターンを含む撮影画像を傾きがゼロになるように補整してもよい。補正により傾いていない投影パターンが得られるので、適切な補正情報を算出することができる。
【００９７】
＜カメラの傾きに基づく判断２＞
カメラの傾きは、撮影画像のパターン要素から求められた回帰直線の水平方向又は垂直方向に対する傾きに基づき算出してもよい。なお、パターン要素の抽出については、パターン要素の対応点の決定において説明する。
【００９８】
撮影された画像のパターンが傾いている原因としては、カメラが傾いている場合の他、プロジェクタが正しく設置されていないことが挙げられる。すなわち、プロジェクタは、水平に設置され、かつ、スクリーンに正対して配置されていることが担保された状態では、さらに残っている傾きはカメラの傾きによるものである、と推測できる。
【００９９】
図１３は、カメラの傾きを取得するためのプロジェクタの設置について説明する図の一例である。図１３（ａ）では、プロジェクタがスクリーンに正対しておらず、水平にも設置されていない状態の投影像である。ユーザが正対するように設置し直すと図１３（ｂ）のように、プロジェクタがスクリーンに正対するが、水平に設置されていない状態の投影像が得られる。さらに、ユーザが水平に設置し直すと図１３（ｃ）のように、プロジェクタがスクリーンに正対し、かつ、水平に設置された状態の投影像が得られる。したがって、図１３（ｃ）の状態で投影像が傾いていれば、カメラの傾きによるものと推定してよい。
【０１００】
図１４は、撮影画像のパターン画像領域の一例を示す。後述するパターン要素の抽出により、カメラ傾き取得部は同じ行又は同じ列のパターン要素を特定できる。同じ行又は同じ列のパターン要素を最小二乗法により直線近似したり、ハフ変換することなどにより直線が得られる。
【０１０１】
傾きと水平線のなす角θがカメラの傾きである。カメラの傾きが得られれば、図１０と同様の手順で補正情報を算出するか否かを判定できる。
【０１０２】
＜エッジに基づく判断＞
続いてエッジに基づく撮影画像が補正情報の算出に適切か否かの判断について説明する。
図１５は、図６のステップＳ１０２の画像取得処理、Ｓ１０３の判断情報取得処理、及び、Ｓ１０４の画像使用可否判断の具体的な手順を示すフローチャート図である。
【０１０３】
・Ｓ１０２−３
上記のように、カメラ４１はスクリーン３０を含む画像を継続的に（例えば、１５〜６０fpsなどの速度で）取得している。
【０１０４】
Ｓ１０３−３
エッジ量取得部４０３は、各撮影画像から判断情報としてエッジ量を検出する。
【０１０５】
Ｓ１０４−３
判断部４１２は、エッジ量が閾値３より大きいか否かを判定する。この判定の結果がＹｅｓであれば、Ｓ１０５で撮影画像がＰＣ１１に送信され、ＮｏであればＳ１０２で再度、撮影画像が取得される。判断情報が撮影画像から取得されたのでエッジ量が閾値３より大きかった撮影画像がＰＣ１１に送信される。
【０１０６】
エッジ量について説明する。撮影画像のエッジ量（エッジ強度）がある一定値以上である場合、撮影画像の取得時に手ブレやピントずれが発生していないと推測することができる。手ブレやピントずれが発生している場合、撮影画像内の投影パターン（枠やパターン要素）の輪郭部が不明瞭となり、そのような撮影画像に対して算出したエッジ量は小さくなる。
【０１０７】
図１６は、図６のステップＳ１０２〜Ｓ１０４のより詳細な処理手順を示すフローチャート図の一例である。図１７はエッジの検出を模式的に説明する図の一例である。
【０１０８】
画像取得部４１０は撮影画像を取得する（Ｓ３−１）。撮影画像には中央付近に投光パターンが撮影されている。
【０１０９】
エッジ量取得部４０３は、撮影画像を二値化する（Ｓ３−２）。エッジ量取得部４０３は、黒画素の連結成分を抽出する（Ｓ３−３）。抽出方法は図９にて説明した方法と同様でよい。
【０１１０】
ついで、エッジ量取得部４０３は、連結成分を１つ選択する（Ｓ３−４）。そして連結成分の白黒境界付近で、二値化前の画像に対してエッジ検出フィルタを施してエッジ強度を求める。こうすることで、エッジが存在する場所からエッジ強度を検出できるので、全画素からエッジ強度を検出するよりも計算負荷を低減できる。
【０１１１】
図１７（ａ）は二値化する前の連結成分の一例であり、図１７（ｂ）は二値化された連結成分を示す。二値化することでエッジ位置を推定できるので、エッジ量取得部４０３は二値画像から境界画素（黒から白に変化する２つの画素）を取得する（Ｓ３−５）。
【０１１２】
そして、エッジ量取得部４０３は黒から白に変化した白画素を中心にエッジ検出フィルタ（空間フィルタ）を施す（Ｓ３−６）。例えば、黒から白に変化した白画素を中心に３×３の画素を取り出しフィルタと演算する。フィルタと画素の行列同士の積和演算により、１つの白画素毎にエッジ強度が得られる。
【０１１３】
エッジ抽出には空間フィルタを利用できる。二値化前の画像がＲＧＢカラー画像であれば、明度を最も良く表すG成分に対して、以下のような空間フィルタでエッジ強度を算出する。
-1 0 +1
-1 0 +1
-1 0 +1
と
-1 -1 -1 
0  0  0
1  1  1
上段が水平方向のエッジ量を検出するフィルタで、下段が垂直方向のエッジ量を検出するフィルタである。エッジ量取得部４０３は、着目した白画素の水平方向と垂直方向のエッジ強度の絶対値和を求める。なお、エッジ検出フィルタはＳｏｂｅｌなど種々のものがあるので上記以外のフィルタを使用しても差し支えない。
【０１１４】
エッジ量取得部４０３は、エッジ強度が閾値以上か否かを判定する（Ｓ３−７）。エッジ強度が閾値以上の場合、エッジ量取得部４０３は強エッジ画素数を１つ大きくする（Ｓ３−８）。強エッジ画素数が多いほど、着目している境界画素のエッジ強度が大きいことになる。
【０１１５】
エッジ量取得部４０３は、二値化画像で求めた境界部の画素すべてについてエッジ強度を求めた否かを判定する（Ｓ３−９）。境界部の画素すべてについてエッジ強度を求めていない場合、ステップＳ３−５に戻り処理を繰り返す。
【０１１６】
境界部の画素すべてについてエッジ強度を求めた場合、エッジ量取得部４０３は、強エッジ画素の境界部の画素に対する割合が閾値以上か否かを判定する（Ｓ３−１０）。割合が例えば５割以上であれば、強エッジ連結成分数を１つ大きくする（Ｓ３−１１）。つまり、エッジが鮮明な連結成分が１つずつカウントアップされる。
【０１１７】
ついで、エッジ量取得部４０３は、全ての連結成分について吟味したか否かを判断する（Ｓ３−１２）。全ての連結成分について吟味していない場合、ステップＳ３−４に戻り次の連結成分に対し同様の処理を行う。
【０１１８】
全ての連結成分について吟味した場合、判断部４１２は強エッジ連結成分数の連携成分の数に対する割合が閾値以上か否かを判定する（Ｓ３−１３）。
【０１１９】
強エッジ連結成分数の連携成分の数に対する割合が閾値以上でない場合、カメラ４１がまだ動いている状態と判断して、撮像画像から補正情報の算出が成功する可能性はないと判断する（Ｓ３−１４）。
【０１２０】
強エッジ連結成分数の連携成分の数に対する割合が閾値以上の場合、カメラ４１が停止したためと判断して、補正情報の算出が成功する可能性ありと判断する（Ｓ３−１５）。
【０１２１】
＜加速度に基づく判断＞
続いて加速度に基づく撮影画像が補正情報の算出に適切か否かの判断について説明する。
【０１２２】
図１８は、図６のステップＳ１０２の画像取得処理、Ｓ１０３の判断情報取得処理、及び、Ｓ１０４の画像使用可否判断の具体的な手順を示すフローチャート図である。
【０１２３】
・Ｓ１０２−４
上記のように、カメラ４１はスクリーン３０を含む画像を継続的に（例えば、１５〜６０fpsなどの速度で）取得している。
【０１２４】
Ｓ１０３−４
加速度取得部４０４は、判断情報として加速度を取得する。
【０１２５】
Ｓ１０４−４
判断部４１２は、加速度が閾値４未満か否かを判定する。この判定の結果がＹｅｓであれば、Ｓ１０５で撮影画像がＰＣ１１に送信され、ＮｏであればＳ１０２で再度、撮影画像が取得される。判断情報が撮影画像以外から取得されたので、加速度が閾値４未満であると判定された時、判断された時の直前又は直後に撮影された撮影画像がＰＣ１１に送信される。
【０１２６】
加速度について説明する。加速度センサ４１２５の値の変化量が一定値以下の場合、シャッターボタン押下などの操作に伴う手ブレが発生していないと判断できる。そこで、加速度取得部４０４はカメラ４１に内蔵（又は外付け）された加速度センサ４１２５の検出信号を取得する。加速度センサ４１２５により、例えばカメラ４１の画面の面内方向で垂直に交わる２つの軸と、画面の法線方向に1軸の合計3軸に沿った加速度値が得られる。これらの値はカメラ４１の静止時には重力加速度を３軸に分解した値を持つ。
【０１２７】
３つそれぞれの軸に対して２回の取得で得られた加速度値の変化量を求める。撮影中、一定の時間間隔(例えば100ミリ秒)で2回、これらセンサの値を取得する。この変化量が一定値以下であると、撮影機器がほぼ静止していると見なせ、手ブレが発生していないと判断できる。
【０１２８】
図１９は、図６のステップＳ１０２〜Ｓ１０４のより詳細な処理手順を示すフローチャート図の一例である。
【０１２９】
画像取得部４１０は撮影画像を取得する（Ｓ４−１）。撮影画像には中央付近に投光パターンが撮影されている。
【０１３０】
加速度取得部４０４は、３軸それぞれの加速度１を取得する（Ｓ４−２）。加速度取得部４０４は、周期的に３軸それぞれの加速度２を取得する（Ｓ４−３）。
【０１３１】
加速度取得部４０４は、３軸それぞれについて「加速度の変化量＝加速度１−加速度２」の絶対値を算出する（Ｓ４−４）。
【０１３２】
判断部４１２は、３つの加速度の変化量が閾値４未満か否かを判定する（Ｓ４−５）。
【０１３３】
加速度の変化量が閾値未満でない場合、カメラ４１を持つ手が動いている状態と判断して、その時点で撮像しても成功の可能性はないと判断する（Ｓ４−７）。
【０１３４】
加速度の変化量が閾値未満の場合、カメラ４１を持つ手が停止したと判断して、成功の可能性ありと判断する（Ｓ４−６）。
【０１３５】
なお、加速度の変化に基づいて判断するのでなく、加速度の大きさに基づいて判断してもよい。
【０１３６】
ところで、上記のカメラ傾き取得部４０２は、撮影画像からカメラ４１の傾きを算出したが、加速度センサ４１２５の値からカメラ４１の傾きを算出することができる。撮影画像から求める場合と同様に、傾きがある範囲内である場合、算出される補正情報を元に補正される画像の傾きも一定以内となる。
【０１３７】
カメラ４１に備えつけられた加速度センサ４１２５から得られる３つの軸に沿った加速度の内、撮像素子の面内方向で垂直に交わる２軸方向の値の比の逆正接値（ａｒｃｔａｎ）を算出すると、カメラ４１の面内における重力方向からの傾きを算出できる。
【０１３８】
図２０は、加速度センサ４１２５による傾斜角の算出を模式的に示す図の一例である。カメラ４１の理想的な水平方向をｘ軸、垂直方向をｙ軸とする。カメラ４１がｘ軸（水平方向）に対しθ傾いた場合、重力ｇはｘ軸方向とｙ軸方向のそれぞれに傾きθに応じて分散される。
ｘ方向：ｇ・sinθ
ｙ方向：ｇ・cosθ
従って、角度θと重力には以下の関係がある。
tanθ＝ｇ・sinθ／ｇ・cosθ
ｇ・sinθは加速度センサ４１２５のｘ軸方向の出力、ｇ・cosθは加速度センサ４１２５のｙ軸方向の出力なので、傾きθは以下のようにして求めることができる。
θ＝arctan（ｘ出力／ｙ出力）
この傾き値θが、例えば地面と平行な水平線に近い場合（ゼロに近い）、取得される撮影画像内の投影パターンの傾きもほぼ水平であるとみなせる。よって、生成される補正情報を元に補正される画像の傾きも一定以内となる。
【０１３９】
＜音声に基づく判断＞
続いて音声に基づく撮影画像が補正情報の算出に適切か否かの判断について説明する。
【０１４０】
図２１は、図６のステップＳ１０２の画像取得処理、Ｓ１０３の判断情報取得処理、及び、Ｓ１０４の画像使用可否判断の具体的な手順を示すフローチャート図である。
【０１４１】
・Ｓ１０２−５
上記のように、カメラ４１はスクリーン３０を含む画像を継続的に（例えば、１５〜６０fpsなどの速度で）取得している。
【０１４２】
Ｓ１０３−５
音声取得部４０５は、判断情報として音声情報を取得する。
【０１４３】
Ｓ１０４−５
判断部４１２は、音声情報による撮影の指示があるか否かを判定する。この判定の結果がＹｅｓであれば、Ｓ１０５で撮影画像がＰＣ１１に送信され、ＮｏであればＳ１０２で再度、撮影画像が取得される。判断情報が撮影画像以外から取得されたので、音声に基づく判定がＹｅｓと判定された時、判定された時の直前又は直後に撮影された撮影画像がＰＣ１１に送信される。
【０１４４】
音声取得部４０５は、マイクからの音声情報の大きさ、又は、音声認識により予め登録された特徴的な単語(例えば「決定」、「Shot」「今だ」などの発話内容)を取得する。音声情報の大きさがある音量以上であること、又は、特徴的な単語が登録された場合、判断部４１２は撮影画像が補正情報を算出するために適したものだと判断する。
【０１４５】
以上説明したように、本実施形態では、補正情報を算出するためにユーザがカメラ４１に外力を加えて撮影動作を行う必要がないので、手ブレの発生を回避できる。
【０１４６】
また、５つの判断方法について個別に説明し任意の２つ以上を組み合わせることができると説明したが、比較的有効な組み合わせとしては傾き、エッジ強度、及び、撮影画像サイズの組み合わせが挙げられる。この３つの判断情報で補正情報の算出が可能であると判断されれば、十分な品質の補正情報を算出できる可能性が高い。
【０１４７】
〔対応点の抽出〕
図２２は、パターン用の対応点の抽出に関するＰＣのブロック図の一例である。プロジェクタ２１は、スクリーン３０に対してパターン画像を投影する。投影されたパターン画像データは、カメラによって撮影される。
【０１４８】
プロジェクタ２１は、パターン取得部１１０１、隣接要素特定部１１０２、連結部１１０３、割当部１１０４、検査部１１０５、及び、座標変換部１１０６を備えている。パターン取得部１１０１は、入力された撮影画像から、パターン画像を構成するパターン要素と、パターン要素の座標情報とを取得する。
【０１４９】
図２３（ａ）はパターン画像を、図２３（ｂ）は投影されたパターン画像をカメラにて撮影したパターン画像領域を、それぞれ示す図の一例である。パターン画像は、Ｍ×Ｎ個のパターン要素がグリッド状に配置された画像データである。パターン画像は、投影されると図２３（ｂ）に示されるように、歪みが生じる場合がある。このように生じた歪みを補正するために、投影されたパターン画像は、カメラによって撮影され、撮影画像をパターン取得部１１０１が取得する。パターン取得部１１０１は取得したパターン要素をその座標情報と関連付けてＲＡＭなどに記憶する。
【０１５０】
そして、この撮影画像のパターン画像領域と、元のパターン画像とをそれぞれ比較することにより、投影時に歪みがどれだけ発生しているかが把握され歪み補正のための補正情報が算出される。なお、補正情報は、グリッド状の配列において、同じ位置に存在するパターン要素同士を比較することにより算出される。そのためには、投影されたパターン画像領域に対しても、配列における位置情報を付与し、元のパターン画像において付与されている位置情報と同じ位置情報を付与されているパターン要素同士の間で、ずれの量を算出することが望ましい。そこで、以下において、撮影されたパターン画像領域のパターン要素に対して、位置情報を付与する処理が行われる。
【０１５１】
以下、パターン画像の撮影画像に対して、列の位置情報と、行の位置情報とからなり、配列における位置情報を割り当てる処理の流れについて図２４に基づき説明する。本実施形態においては、パターン画像領域のパターン要素がどのパターン画像のパターン要素と隣接しているかを特定することにより、特定された隣接関係を参照して、パターン要素に位置情報を付与していく。本実施形態においては、投影されたパターン画像の左上側に位置するパターン要素を位置情報の始点である＜０，０＞が付与されることを前提に説明する。
【０１５２】
まず、座標変換部１１０６は、パターン要素の座標情報を変換する（ステップＳ１０６１）。具体的には、パターン要素の座標情報は図２５に示されるように、Ｘ座標とＹ座標とから構成されている。図中における右方向がＸ軸における正の方向、下方向がＹ軸における正の方向である。以下では取得されたパターン要素の総数をＣ、第ｉ番目のパターン要素をＡ［ｉ］、その座標を（ｘ［ｉ］，ｙ［ｉ］）とする。
【０１５３】
座標変換部１１０６は、パターン要素の座標情報をその成分の線形結合で表される次式によって（ｘ，ｙ）座標系から（ｕ，ｖ）座標系へ変換する。
ｕ［ｉ］＝（ｘ［ｉ］−ｙ［ｉ］）／√２
ｖ［ｉ］＝（ｘ［ｉ］＋ｙ［ｉ］）／√２
このように、（ｕ，ｖ）座標系へと変換する理由としては、図２６に示されるように、パターン要素のｖ座標に注目すると、ｖ座標において、あるパターン要素５０ａよりも、ｖ座標が小さいパターン要素５０ｂは、必ずパターン要素５０ａよりも上側、または左側に位置することとなる。なお、投影するパターン画像が、４５度傾けて投影されていれば、座標変換部１１０６による線形結合を用いた変換は不要となる。また、投影時にパターン画像を傾ける処理をするのではなく、パターン要素の配置が元から４５度分ずれた態様になっていてもよい。この場合、座標変換部１１０６による変換処理が不要となるため、処理の高速化を図ることができるようになる。
【０１５４】
次いで、並び替え部１１１はパターン要素を、ｖ座標を基準に値の小さいものから順に並び替えを行う（図３：ステップＳ１０６２）。並べ替えをすることにより、以降の処理において、ｖ座標の値を用いた処理を行う際により効率的に行うことができるようになる。並び替えがされたパターン要素５０ａには、ｖ座標の値が小さいものから順にｉ（１＜＝ｉ＜＝Ｃの整数）が付与され、元のパターン要素とは別のバッファに、並び替えられた順に記憶される。
【０１５５】
次いで、隣接要素特定部１１０２は、パターン要素同士の隣接要素を特定する処理を行う（図２４：ステップＳ１０６３）。本実施形態においては、あるパターン要素を選択し、選択したパターン要素に対して、上側、及び左側の２方向において隣接するパターン要素を特定する。なお、特定する方向は最終的に全てのパターン要素の位置が特定できればよく、少なくとも２方向であれば、例えば上と右、右と下、４方向全てを特定するようにしてもよい。また、上述の並び替えにおいては、特定する方向を上と左方向としたため、上側と左側に位置するパターン要素を特定しやすいように、ｖ座標の大小で並べ替えることとしたが、並び替えに使用する座標は、特定する方向に応じて変更するのがよい。
【０１５６】
以下、図２７、及び図２８を用いて、隣接要素を特定する処理の流れについて説明する。図２７は、ある選択されたパターン要素の左側に隣接するパターン要素を特定する処理の流れを示すフロー図の一例である。図２８は、ある選択されたパターン要素の上側に隣接するパターン要素を特定する処理の流れを示すフロー図の一例である。
【０１５７】
図２７に示されるように、まず隣接要素特定部１１０２は、ｉ＝１番目のパターン要素５０ａから処理を行うため、ｉ＝１とする（ステップＳ２０６１）。ｉは並び替え後にパターン要素５０ａに付与された番号である。次いで、隣接要素特定部１１０２は、最も距離の近いパターン要素の番号を示すＪｍｉnを０に、最小のパターン要素間の距離を示す閾値であるＤＮｍｉｎを、予め暫定に設定した閾値であり、各パターン要素間の距離の最大値として設定した値であるＴよりも１大きい値に、ｉ番目のパターン要素と比較するｊ番目のパターン要素を示す番号ｊをｉより１小さい値にそれぞれ設定する（ステップＳ２０６２）。ｉよりも左側に存在する可能性のあるパターン要素５０ａのみを処理対象とすればよいため、ｊはｉよりも小さい値のみでよい。
【０１５８】
次いで、隣接要素特定部１１０２は、ｊが１以上であって、かつｖ[ｉ]−ｖ[ｊ]が閾値Ｔ以下であるか否かを判定する（ステップＳ２０６３）。ｊが１より小さい場合は、すなわちｊが０となる場合は、ｉが１であるため、始点である場合や、選択したパターン要素Ａ[ｉ]を、左側にある可能性のある全てのパターン要素Ａ[ｊ]と比較し終わった場合である。また、ｖ[ｉ]−ｖ[ｊ]が閾値Ｔ以下であるかを判定することで、選択したパターン要素Ａ[ｉ]との距離が予め定めた閾値であるＴよりも大きいパターン要素Ａ[ｊ]は以降の処理の対象から除外することで、処理にかかる負荷を抑制している。
【０１５９】
ｊが１以上であって、かつｖ[ｉ]−ｖ[ｊ]が閾値Ｔ以下であると判定された場合（ステップＳ２０６３：Ｙｅｓ）、次いで隣接要素特定部１１０２は、ｕ[ｊ]−ｕ[ｉ]が０より小さいか否かを判定する（ステップＳ２０６４）。ｕ[ｉ]−ｕ[ｊ]は、ｊ番目のパターン要素５０ａがｉ番目のパターン要素５０ａよりも座標空間において上側に存在するか否かを判定するための値である。図２７の処理では、選択したパターン要素５０ａの左側に隣接するパターン要素を特定することから、ｕ[ｉ]−ｕ[ｊ]が０より小さいパターン要素５０ａを検索する。ｕ[ｉ]−ｕ[ｊ]が０より小さいと判定された場合（ステップＳ２０６４：Ｙｅｓ）、次いで、２つのパターン要素の座標、Ａ［ｉ］とＡ［ｊ］との間のベクトルのノルムであるＤＮを以下の式に沿って算出する（ステップＳ２０６５）。
ＤＮ＝ＳＱＲＴ｛（ｕ［ｊ］−ｕ［ｉ］）２＋（ｖ［ｊ］−ｖ［ｉ］）２｝
次いで、隣接要素特定部１１０２は、ＤＮがＴ以下であって、かつＤＮがＤＮ＜ＤＮｍｉｎであるか否かを判定する（ステップＳ２０６６）。ＤＮがＴ以下であるか否かを判定することにより、パターン要素間の距離が予め定めた閾値であるＴより大きい場合は、以降の処理から除外することで、処理負担を抑制している。また、ＤＮをＤＮｍｉｎと比較することで、パターン要素がこれまで比較したパターン要素同士の間で最も距離が近いものであるか否かが判別される。ＤＮがＴ以下であって、かつＤＮ＜ＤＮｍｉｎであると判定された場合（ステップＳ２０６６：Ｙｅｓ）、隣接要素特定部１１０２は、ＤＮｍｉｎをＤＮの値に更新するとともに、Ｊｍｉｎにｊを代入する（ステップＳ２０６７）。Ｊｍｉｎは、選択したパターン要素と最も距離の近いパターン要素５０ａの番号を示す値である。そして、隣接要素特定部１１０２は、パターン要素のＡ［ｉ］の左隣接要素番号をＪｍｉｎとし、ステップＳ２０６９へと移行する（ステップＳ２０６８）。
【０１６０】
一方、ｊが１より小さいか、ｖ[ｉ]−ｖ[ｊ]が閾値Ｔより大きい場合（ステップＳ２０６３：Ｎｏ）、ｕ[ｊ]−ｕ[ｉ]が０以上の場合（ステップＳ２０６４：Ｎｏ）、ＤＮがＴより大きいか、ＤＮがＤＮｍｉｎ以上であると判定された場合（ステップＳ２０６６：Ｎｏ）、次のパターン要素と隣接関係にあるか否かの判定を行うべく、ｊを１減算する（ステップＳ２０６９）。そして、ｊが１以上であるか否かが判定され（ステップＳ２０７０）、ｊが１以上の場合は（ステップＳ２０７０：Ｙｅｓ）、ステップＳ２０６３へと戻り、ｊが１より小さい場合は（ステップＳ２０７０：Ｎｏ）、ステップＳ２０７１へと進む。
【０１６１】
そして、ステップＳ２０６８においてある選択されたパターン要素であるＡ[ｉ]についての左隣接要素が特定されると、隣接要素特定部１１０２はｉを１加算し（ステップＳ２０７１）、ｉが最大値であるＣに達したか否かを判定する（ステップＳ０７２）。ｉが最大値であるＣに達した場合（ステップＳ２０７２：Ｙｅｓ）、処理は終了し、一方、ｉが最大値であるＣに達していないと判定された場合（ステップＳ２０７２：Ｎｏ）、ステップＳ２０６２から処理を繰り返す。
【０１６２】
図２８の上隣接要素を特定する処理においては、ステップＳ３０６４のみが異なり、ｕ[ｉ]−ｕ[ｊ]が０より大きいか否かが判定される（ステップＳ３０６４）。あるパターン要素５０ａのＡ[ｉ]よりもＡ[ｊ]が上側に存在する場合、ｕ[ｉ]−ｕ[ｊ]は０よりも大きくなる。したがって、上隣接要素を特定する場合、ステップＳ３０６４の処理において、パターン要素５０ａが絞り込まれる。以上の処理では探索をｊ＝ｉ−１から始めてｊ＝１に向かって進め、ｖ［ｉ］−ｖ［ｊ］＞Ｔとなった時点で、それよりも小さいｊでは必ずｖ［ｉ］−ｖ［ｊ］＞Ｔ、ひいてはＤＮ＞Ｔであることが確実となることから探索を終了しており、処理にかかる負担をさらに削減している。
【０１６３】
この処理を行うことにより、左側の隣接要素と、上側の隣接要素に同じパターン要素が特定されてしまうといった不都合を防ぐことができる。上述のような方法で特定されたあるパターン要素５０ａのＡ[ｉ]の上隣接要素番号と、左隣接要素番号は、図２９に示されるように、注目要素ごとに特定され、この対応関係は記憶部１０２におけるバッファに記憶される。なお図３０に示されるように、グリッド配列の外周部に位置するパターン要素群５０ｃや、撮影画像においてパターン要素にある欠損があり、左、又は上に欠損が存在するパターン要素群１００ｄに対しては、対応する左（上）隣接要素番号に「隣接なし」を意味する０を設定しておく。
【０１６４】
隣接要素が特定できると、次いで連結部１１０３は、パターン要素を連結する要素ラベリング処理を実施する（図２４：ステップＳ１０６４）。連結部１１０３は、特定した隣接要素同士を連結してグループ化していき、連結成分を抽出し、それぞれのラベリングを付与する。一般にラベリングとは二値画像上の隣接する黒画素同士を連結していって黒画素連結成分を抽出する処理を指すが、ここでいう要素ラベリングは連結すべき対象要素が黒画素からパターン要素に置き換わったものであり、具体的な処理手順については従来から広く利用されている公知のラベリング手法をそのまま用いることができる。
【０１６５】
図３１は連結成分の生成結果の一例を示している。同図には校正用のパターン画像に対応する第１の連結成分３００、及び投影されたパターン画像の撮像時に写りこんだ背景オブジェクトやノイズに由来する別の第二の連結成分４００も抽出されている。抽出された各連結成分３００、４００は、記憶部１０２のバッファに記憶される。
【０１６６】
続いて、割当部１１０４は、グリッドインデックス決定処理を行う（図２４：ステップＳ１０６５）。グリッドインデックス決定処理においては、抽出された連結成分３００、４００に含まれるパターン要素に対し、所属する連結成分内における位置情報を決定する。本実施形態では位置情報をグリッド列番号ｐ（０≦ｐ≦Ｍ−１）とグリッド行番号ｑ（０≦ｑ≦Ｎ−１）の組み合わせ＜ｐ，ｑ＞で示す。
【０１６７】
具体的にはまず、それぞれの連結成分３００、４００の中でｖ座標の順に並び替えた順が先頭であるパターン要素を探し、連結成分３００、４００における始点とする。始点とは、連結成分３００、４００の中で最も左上に位置し、左隣接要素、及び上隣接要素を持たず、グリッドの開始列、及び開始行に対応する。始点となるパターン要素５０ａには位置情報として、＜０，０＞が割り当てられる。
【０１６８】
割当部１１０４は、始点となったパターン要素から、特定された隣接要素を参照し、始点を左隣接要素とするパターン要素には位置情報として＜１，０＞を付与する。また割当部１１０４は、さらに＜１，０＞を左隣接要素とするパターン要素には＜２，０＞をというように、順に位置情報を割り当てる。
【０１６９】
割当部１１０４は、始点を上隣接要素とするパターン要素には位置情報として＜０，１＞を付与する。さらに割当部１１０４は、＜０，１＞が割り当てられたパターン要素を左隣接要素とするパターン要素には＜１，１＞を、また＜０，１＞のパターン要素を上隣接要素とするパターン要素には＜０，２＞を、さらに＜０，２＞のパターン要素を左隣接要素とするパターン要素には＜１，２＞を、という順に位置情報を割り当てていく。以上の方法においては、少なくとも左隣接要素、及び上隣接要素のいずれかが存在しているパターン要素であれば、その位置情報を割り当てることができるようになる。なお、位置情報の割当の方法としては、このように各パターン要素が隣接する順番に従って割り当てる以外にも、予め定められた規則性にしたがって割り当てられればよい。例えば、視点が反対側に位置するパターン要素から始まって反対向きに位置情報が割り当てられてもよい。図３１には連結成分３００、４００それぞれに割り当てられた位置情報の例を示す。
【０１７０】
位置情報が割当られた連結成分３００、４００は校正用のパターン画像として出力されて、元のパターン画像との比較によって歪み補正が実行されるが、本実施形態においては、出力の前に、ノイズなどに由来する連結成分３００を出力から除外するためのグリッド検査処理が実行される（図２４：ステップＳ１０６６）。
【０１７１】
図３２は、グリッド検査処理の詳細を示すフロー図である。グリッド検査処理は、連結成分３００、４００ごとに実行される。図３３に示されるように、まず検査部１１０５は、検査スコアであるＳと、位置情報のうち行成分であるｑの値をそれぞれ０に初期化する（ステップＳ４０６１）。次いで、検査部１１０５は、位置情報のうち列成分であるｐの値を０に初期化する（ステップＳ４０６２）。
【０１７２】
次いで、検査部１１０５は、現在の＜ｐ，ｑ＞の位置情報が割当られたパターン要素が連結成分３００、４００中に存在しているか否かを判定する（ステップＳ４０６３）。＜ｐ，ｑ＞の位置情報が割当られたパターン要素が連結成分３００、４００中に存在していないと判定された場合（ステップＳ４０６３：Ｎｏ）、検査スコアＳの値が１加算される（ステップＳ４０６４）。一方、＜ｐ，ｑ＞の位置情報が割当られたパターン要素が連結成分３００、４００中に存在している場合（ステップＳ４０６３：Ｙｅｓ）、検査スコアＳを加算することなく、検査部１１０５は、ｐがＭ−１であるか否かを判定する（ステップＳ４０６５）。ｐがＭ−１でないと判定された場合（ステップＳ４０６５：Ｎｏ）、すなわち未だある行において終点のパターン要素にまで検査が到達していない場合、検査部１１０５はｐの値を１加算して、ステップＳ４０６３からの処理を繰り返す（ステップＳ４０６６）。
【０１７３】
ｐがＭ−１であると判定された場合（ステップＳ４０６５：Ｙｅｓ）、検査部１１０５は、ｑがＮ−１であるか否かを判定する（ステップＳ４０６７）。ｑがＮ−１でないと判定された場合（ステップＳ４０６７：Ｎｏ）、すなわち未だ全てのパターン要素に対して検査が完了していない場合、検査部１１０５はｑの値を１加算して、ステップＳ４０６２からの処理を次の行に対して繰り返す（ステップＳ４０６８）。一方、がＮ−１であると判定された場合（ステップＳ４０６７：Ｙｅｓ）、検査部１１０５は、検査スコアＳが予め定められた閾値ＴＳ以下であるか否かを判定する（ステップＳ４０６９）。閾値ＴＳは、パターン要素が欠損する場合を想定して設定された数値である。検査スコアＳが予め定められた閾値ＴＳ以下の場合（ステップＳ４０６９：Ｙｅｓ）、処理は終了し、その連結成分は校正用パターンとして出力される。一方、検査スコアＳが予め定められた閾値ＴＳより大きくなった場合（ステップＳ４０６９：Ｎｏ）、検査部１１０５は、連結成分を校正用パターン画像としての出力から除外する（ステップＳ４０７０）。
【０１７４】
上述した、連結成分２００の場合においては、元のパターン画像であるＭ×Ｎ個のパターン要素を含むため、検査スコアＳが閾値ＴＳより大きくなることはないため、出力から除外されることはない。一方、連結成分３００は、パターン要素が＜０，０＞、＜０，１＞、＜１，０＞、＜１，１＞、及び＜２，１＞のみであり、本来あるべきパターン要素数から、Ｍ×Ｎ−５のパターン要素が不足することから、検査スコアＳはＭ×Ｎ−５となり、通常であれば閾値ＴＳを越えてしまうため、連結成分３００は出力からは除外されることとなる。
【０１７５】
こうして検査がなされた連結成分が、パターン画像領域から抽出され、ＳＳＤに記憶されたパターン画像と、同じ位置情報が付与されたパターン要素同士を比較することでその歪みの量が算出され、歪み補正のための補正情報が自動的に計算される。
【０１７６】
〔補正情報の算出〕
撮影画像のパターン画像領域のパターン要素とパターン画像のパターン要素の対応が分かれば、コンテンツ画像の補正情報を算出できる。
【０１７７】
図３４は、撮影画像のパターン画像領域と、パターン画像の対応の一例を示す図である。補正情報算出部１１２は、まず、対応点からメッシュを形成し、各領域毎に対応付けを行う。パターン画像領域の１メッシュとパターン画像の１メッシュの対応関係は、射影変換で記述する。パターン画像の点をｍｐ＝（ｘp,ｙp）、撮影画像の点をｍｃ（ｘc,ｙc）とすると射影変換により点ｍｐはｍｃを用いて以下のように表すことができる。
【０１７８】
【数１】
2015026914.tif 000003
ｈ１〜ｈ８は未知の射影変換パラメータである。また、同次座標を用いて次のように表現できる。
【０１７９】
【数２】
2015026914.tif 000004
Hが射影変換行列である。
【０１８０】
また、パターン画像のパターン要素と撮影画像のパターン要素同士の１つの対応点から以下の拘束が得られる。
【０１８１】
【数３】
2015026914.tif 000005
この式により、８つの未知パラメータに対して２つの拘束が得られる。したがって、１つのメッシュの頂点である４つの対応点が得られればＨの全ての要素を決定できる。射影変換の式は、全画素の対応関係を記録したテーブルとして保持しておくことができる。
【０１８２】
図３５は、補正画像の作成について説明する図の一例である。投影されるコンテンツ画像の補整は、プロジェクタが投影するコンテンツ画像を予め変形させることで行う。まず、補正情報算出部１１２は、撮影画像内でパターン画像領域が長方形になるように投影領域を決める。投影領域は、パターン画像領域の最大内接長方形とする。ただし、コンテンツ画像のアスペクト比と同じとすることが好ましいので、実際には最大内接長方形よりも小さくなる。したがって、補正されたコンテンツ画像は、元のコンテンツ画像よりも小さくなる。
【０１８３】
以下では、補正画像上の点Ａの画素値を、コンテンツ画像から読み出して決定する手順を説明する。
（１）まず、点Ａが撮影画像上のどの位置にあたるかを決定する。この点を点Ａｃと呼ぶ。射影変換により点Ａｃの座標（ｘｃ、ｙｃ）をパターン画像の点Ａｐに変換することができたので、射影変換とは逆に点Ａの座標を撮影画像の点Ａｃの座標に変換できる。点Ａｃの座標（ｘｃ、ｙｃ）は、撮影画像の左上を原点とした座標系の座標である。
（２）次に、求めた撮影画像の点Ａｃが、投影領域内ではどの位置に相当するかを算出する。投影領域の左上を原点（ｘ０，ｙ０）とする。この原点に対する点Ａｃの座標を（ｘｃ１，ｙｃ１）とする。
（３）点Ａｃに対応する元の画像（コンテンツ画像）の点Ａｐの座標を（ｘｐ、ｙｐ）とする。投影領域は元の画像とアスペクト比が一致し、大きさだけが異なるので、元の画像の横方向の長さＷｐと撮影画像の投影領域の横方向の長さＷｃから、点Ａｐの座標は以下のように表すことができる。
（ｘｐ、ｙｐ）＝Ｗｐ／Ｗｃ（ｘｃ１，ｙｃ１）  …（a）
（４）撮影画像における投影領域の原点は（ｘ０，ｙ０）なので、点Ａｃの座標値は以下のように表すことができる。
（ｘｃ、ｙｃ）＝（ｘ０，ｙ０）＋（ｘｃ１，ｙｃ１）  …（ｂ）
（５）  点Ａｃの座標（ｘｃ、ｙｃ）は求められているので、（ｂ）式により（ｘｃ１，ｙｃ１）が求められ、（ａ）式により点Ａｐの座標（ｘｐ、ｙｐ）を求めることができる。この座標（ｘｐ、ｙｐ）の画素値を、補正画像の点Ａの画素値とする。
【０１８４】
なお、点Ａに対応する点Ａｐの座標は整数とは限らないので、その場合は点Ａｐの周囲の画素の画素値から補間して求める。
【０１８５】
したがって、射影変換の式、投影領域、式（ａ）（ｂ）などが補正情報に相当する。なお、補正情報の算出については、「投影画像の幾何補正に関する実験的検討」，計測自動制御学会東北支部第２３５回研究集会（2007.5.18）に記載がある。
【０１８６】
補正部１１３は、補正情報算出部１１２により算出された補正情報に基づいて、画像データ記憶部１１０に記憶されているコンテンツ画像を補正し、補正画像を得る。
【実施例２】
【０１８７】
図３６は、実施例２にかかる画像処理システム２の全体構成を示す図である。本実施例において、実施例１において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
【０１８８】
本実施例の画像処理システム２においては、カメラ４２とプロジェクタ２２の間で各種情報が送受信される。実施例２にかかる画像処理システム２においては、カメラ４２により得られた撮影画像はプロジェクタ２２に送信され、プロジェクタ２２において、補正情報が算出され、補正情報はＰＣ１２に送信される。ＰＣ１２は、プロジェクタ２２において算出された補正情報に基づいて、投影対象のコンテンツ画像を補正し、補正画像を得て、これをプロジェクタ２２に送信する。
【０１８９】
図３７は、実施例２にかかるＰＣ１２、プロジェクタ２２およびカメラ４２の機能構成を示すブロック図である。ＰＣ１２は、画像データ記憶部１２０と、通信部１２１と、補正部１２３とを有している。プロジェクタ２２は、通信部２２０と、投影部２２１とに加え、補正情報算出部２２２を有している。カメラ４２は、画像取得部４２０と、情報取得部４２１と、判断部４２２と、通信部４２３とを有している。
【０１９０】
本実施例にかかる画像処理システム２においては、カメラ４２の通信部４２３は、情報取得部４２１で取得した情報を元にして、判断部４２２で補正情報算出に適していると判断された撮影画像をプロジェクタ２２に送信する。プロジェクタ２２の補正情報算出部２２２は、通信部２２０がカメラ４２から受信した撮影画像と、通信部２２０がＰＣ１２から受信したパターン画像とに基づいて、補正情報を算出する。通信部２２０はさらに、補正情報をＰＣ１２に送信する。ＰＣ１２の補正部１２３は、通信部１２１が受信した補正情報に基づいて、投影対象のコンテンツ画像を補正し、補正画像を得る。
【０１９１】
図３８は、画像処理システム２による画像補正処理を示すシーケンス図である。なお、ステップＳ２００〜ステップＳ２０４の処理は、実施例１の図６に基づき説明した画像処理システム１による画像補正処理のステップＳ１００〜ステップＳ１０４の処理と同様である。
【０１９２】
カメラ４２において、判断部が適切な補正情報を算出可能であるという画像使用可否判断を行う（ステップＳ２０４）。この判断の後、通信部４２３は、撮影画像をプロジェクタ２２に送信する（ステップＳ２０５）。
【０１９３】
プロジェクタ２２においては、通信部２２０が撮影画像を受信すると、補正情報算出部２２２は、撮影画像とパターン画像とに基づいて、補正情報を算出する（ステップＳ２０６）。次に、通信部２２０は、補正情報をＰＣ１２に送信する（ステップＳ２０７）。
【０１９４】
ＰＣ１２においては、通信部１２１が補正情報を受信すると、補正部１２３は、補正情報に基づいて、投影対象のコンテンツ画像を補正し、補正画像を得る（ステップＳ２０８）。なお、ステップＳ２０８〜ステップＳ２１０の処理は、実施例１にかかるステップＳ１０７〜ステップＳ１０９の処理と同様である。
【０１９５】
このように、本実施例２にかかる画像処理システム２においては、実施例１にかかる画像処理システム１と同様に、補正画像をスクリーン３０に投影することにより、スクリーン３０に投影される画像のゆがみを補正することができる。さらに、補正画像を得るための撮影画像に対しては、あらかじめ補正情報算出の成否を判断した後に、補正情報算出部２２２にて補正情報算出処理を行うことで、補正情報算出に成功する画像を補正情報算出部に送信するため、補正情報算出処理の失敗を回避できる。
【０１９６】
さらに、実施例２にかかる画像処理システム２においては、プロジェクタ２２が補正情報を算出する。これにより、画像処理システム２においては、ＰＣ１２を他の機器に変更した場合には、プロジェクタ２２から変更後の機器に補正情報を送信することにより、変更後の機器に記憶されているコンテンツ画像に対し、スクリーン３０に投影した際の歪みを矯正するための補正を施すことができる。したがって、変更後の機器が、補正画像生成にかかる機能を有する必要がない。また、ＰＣ１２を他の機器に変更する度に、補正情報を算出する必要がなく、処理の効率化を図ることができる。
【０１９７】
なお、実施例２にかかる画像処理システム２のこれ以外の構成および処理は、実施例１にかかる画像処理システム１の構成および処理と同様である。
【実施例３】
【０１９８】
図３９は、実施例３にかかる画像処理システム３の全体構成を示す図である。本実施例において、実施例１において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
【０１９９】
実施例３にかかる画像処理システム３においては、カメラ４３により得られた撮影画像はプロジェクタ２３に送信され、プロジェクタ２３において、補正情報が算出され、さらに補正画像が得られる。
【０２００】
図４０は、実施例３にかかるＰＣ１３、プロジェクタ２３およびカメラ４３の機能構成を示すブロック図である。ＰＣ１３は、画像データ記憶部１３０と、通信部１３１とを有している。プロジェクタ２３は、通信部２３０と、投影部２３１とに加え、補正情報算出部２３２と、補正部２３３とを有している。カメラ４３は、画像取得部４３０と、情報取得部４３１と、判断部４３２と、通信部４３３とを有している。
【０２０１】
本実施例にかかる画像処理システム３においては、カメラ４３の通信部４３３は、情報取得部４３１で取得した情報を元にして、判断部４３２で補正情報算出に適していると判断された撮影画像をプロジェクタ２３に送信する。プロジェクタ２３の補正情報算出部２３２は、通信部２３０がカメラ４３から受信した撮影画像と、通信部２３０がＰＣ１３から受信したパターン画像とに基づいて、補正情報を算出する。補正部２３３は、補正情報に基づいて、投影対象のコンテンツ画像を補正し、補正画像を得る。補正画像は、投影部２３１によりスクリーン３０に投影される。
【０２０２】
図４１は、画像処理システム３による画像補正処理を示すシーケンス図である。なお、ステップＳ３００〜ステップＳ３０６の処理は、図３８を参照しつつ説明した実施例２にかかる画像処理システム２による画像補正処理のステップＳ２００〜ステップＳ２０６の処理と同様である。
【０２０３】
プロジェクタ２３において、補正情報が算出されると（ステップＳ３０６）、次に、補正部２３３は、補正情報に基づいて、通信部２３０がＰＣ１３から受信した、投影対象のコンテンツ画像を補正し、補正画像を得る（ステップＳ３０７）。
【０２０４】
次に、投影部２３１は、補正部２３３により得られた補正画像をスクリーン３０に投影する（ステップＳ３０８）。以上で画像補正処理が完了する。
【０２０５】
このように、本実施例にかかる画像処理システム３においては、他の実施例にかかる画像処理システムと同様に、補正画像をスクリーン３０に投影することにより、スクリーン３０に投影される画像のゆがみを補正することができる。
【０２０６】
さらに、補正画像を得るための撮影画像に対しては、あらかじめ補正情報算出の成否を判断した後に、補正情報算出部２３２にて補正情報算出処理を行うため、補正情報算出処理の失敗を回避できる。
【０２０７】
さらに、実施例３にかかる画像処理システム３においては、プロジェクタ２３が補正情報を算出し、補正画像を得るので、ＰＣ１３は、スクリーン３０に投影すべきコンテンツ画像を送信するのみでよく、補正画像生成にかかる機能を有さなくてよい。このため、プロジェクタ２３は、ＰＣ１３に限らず、汎用的なテレビやカメラから受信したコンテンツ画像に対応する補正画像をスクリーン３０に投影することができる。
【０２０８】
なお、実施例３にかかる画像処理システム３のこれ以外の構成および処理は、実施例にかかる画像処理システムの構成および処理と同様である。
【実施例４】
【０２０９】
図４２は、実施例４にかかる画像処理システム４の全体構成を示す図である。実施例４にかかる画像処理システム４では、カメラ４４において、撮影画像から補正情報、補正画像が生成され、補正画像がプロジェクタ２４に送信される。
【０２１０】
図４３は、実施例４にかかるプロジェクタ２４およびカメラ４４の機能構成を示すブロック図である。プロジェクタ２４は、通信部２４０と、投影部２４１と、画像データ記憶部２４２とを有している。カメラ４４は、画像取得部４４０と、情報取得部４４１と、判断部４４２と、補正情報算出部４４３と、補正部４４４と、通信部４４５とを有している。
【０２１１】
本実施例にかかる画像処理システム４では、カメラ４４の通信部４４５は、プロジェクタ２４からパターン画像およびコンテンツ画像を受信する。補正情報算出部４４３は、情報取得部４４１で取得した情報を元にして、判断部４４２で補正情報算出に適していると判断された撮影画像と、パターン画像とに基づいて、補正情報を算出する。補正部４４４は、補正情報に基づいて、通信部４４５が受信したコンテンツ画像を補正し、補正画像を得る。通信部４４５はさらに、補正画像をプロジェクタ２４に送信する。
【０２１２】
図４４は、画像処理システム４による画像補正処理を示すシーケンス図である。画像処理システム４においては、まずプロジェクタ２４の通信部２４０がパターン画像をカメラ４４に送信する（ステップＳ４００）。続くステップＳ４０１〜ステップＳ４０４の処理は、図６を参照しつつ説明した実施例１にかかる画像処理システム１による画像補正処理のステップＳ１０１〜ステップＳ１０４の処理と同様である。
【０２１３】
さらに、プロジェクタ２４の通信部２４０は、投影対象のコンテンツ画像をカメラ４４に送信する（ステップＳ４０５）。なお、プロジェクタ２４がコンテンツ画像をカメラ４４に送信するタイミングは任意である。カメラ４４へのコンテンツ画像の送信タイミングは、プロジェクタ２４によるカメラ４４へのパターン画像の送信と同時であってもよく、また他の例としては、カメラ４４へのパターン画像の送信よりも前であってもよい。
【０２１４】
カメラ４４においては、通信部４４５がプロジェクタ２４からコンテンツ画像を受信すると、補正情報算出部４４３は、通信部４４５が受信したパターン画像と、情報取得部４４１で取得した情報を元にして、判断部４４２で補正情報算出に適していると判断された撮影画像とに基づいて補正情報を算出する（ステップＳ４０６）。
【０２１５】
次に、補正部４４４は、補正情報に基づいて、通信部４４５が受信したコンテンツ画像、すなわち投影対象のコンテンツ画像を補正し、補正画像を得る（ステップＳ４０７）。
【０２１６】
次に、通信部４４５は、補正画像をプロジェクタ２４に送信する（ステップＳ４０８）。
【０２１７】
そして、プロジェクタ２４の投影部２４１は、通信部２４０がカメラ４４から受信した補正画像をスクリーン３０に投影する（ステップＳ４０９）。以上で、画像補正処理が完了する。
【０２１８】
このように、本実施例にかかる画像処理システム４においては、他の実施例にかかる画像処理システムと同様に、補正画像をスクリーン３０に投影することにより、スクリーン３０に投影される画像のゆがみを補正することができる。さらに、補正画像を得るための撮影画像に対しては、あらかじめ補正情報算出の成否を判断した後に、補正情報算出部４４３にて補正情報算出処理を行うため、補正情報算出処理の失敗を回避できる。
【０２１９】
さらに、実施例４にかかる画像処理システム４においては、カメラ４４において、補正画像を生成するまでの一連の処理を行うことができるので、画像処理システム４の構成を簡略化することができる。また、プロジェクタ２４が、補正画像生成に関する機能を有する必要がないので、プロジェクタ２４を他のプロジェクタに交換した場合には、交換後のプロジェクタに補正画像を送信すればよい。このように、プロジェクタを交換した場合に、再度補正情報を生成する必要がない。したがって、処理の効率化を図ることができる。また、プロジェクタ２４は、テレビやカメラから受信した画像データに対応する補正画像をスクリーン３０に投影することができる。
【０２２０】
なお、実施例４にかかる画像処理システム４のこれ以外の構成および処理は、他の実施例にかかる画像処理システムの構成および処理と同様である。
【０２２１】
実施例４の画像処理システム４の変更例としては、コンテンツ画像およびパターン画像は、プロジェクタ２４の画像データ記憶部２４２に替えてカメラ４４の記憶部が記憶してもよい。この場合には、カメラ４４からパターン画像をプロジェクタ２４に送信し、プロジェクタ２４は、カメラ４４から受信したパターン画像をスクリーン３０に投影する。さらに、カメラ４４は、自身の記憶部に記憶されているコンテンツ画像から補正画像を得て、これをプロジェクタ２４に送信する。
【実施例５】
【０２２２】
図４５は、実施例５にかかる画像処理システム５の全体構成を示す図である。実施例５にかかる画像処理システム５では、実施例４にかかる画像処理システム４と同様、カメラ４５において、撮影画像から補正画像が生成され、補正画像がプロジェクタ２５に送信されるが、本実施例にかかる画像処理システム５においては、画像データ記憶部１５０は、ＰＣ１５に設けられている。
【０２２３】
図４６は、実施例５にかかるＰＣ１５、プロジェクタ２５およびカメラ４５の機能構成を示すブロック図である。ＰＣ１５は、画像データ記憶部１５０と、通信部１５１とを有している。プロジェクタ２５は、通信部２５０と、投影部２５１とを有している。カメラ４５は、画像取得部４５０と、情報取得部４５１と、判断部４５２と、補正情報算出部４５３と、補正部４５４と、通信部４５５とを有している。
【０２２４】
本実施例にかかる画像処理システム５では、ＰＣ１５の通信部１５１は、パターン画像をプロジェクタ２５と、カメラ４５とに送信する。カメラ４５の通信部４５５は、ＰＣ１５からパターン画像を受信する。補正情報算出部４５３は、情報取得部４５１で取得した情報を元にして、判断部４５２で補正情報算出に適していると判断された撮影画像と、ＰＣ１５から受信したパターン画像とに基づいて、補正情報を算出する。補正部４５４は、補正情報に基づいて、通信部４５５が受信した、投影対象のコンテンツ画像を補正し、補正画像を得る。通信部４５５はさらに、補正画像をプロジェクタ２５に送信する。
【０２２５】
図４７は、画像処理システム５による画像補正処理を示すシーケンス図である。なお、ステップＳ５００〜ステップＳ５０４の処理は、図６を参照しつつ説明した実施例１にかかる画像処理システム１による投影画像補正処理のステップＳ１００〜ステップＳ１０４の処理と同様である。
【０２２６】
ＰＣ１５の通信部１５１は、パターン画像をプロジェクタ２５に送信するとともに、パターン画像をカメラ４５に送信する（ステップＳ５０５）。なお、ＰＣ１５がパターン画像をカメラ４５に送信するタイミングは任意である。カメラ４５へのパターン画像の送信タイミングは、プロジェクタ２５へのパターン画像の送信と同時であってもよく、また他の例としては、プロジェクタ２５への投影画像の送信よりも前であってもよい。
【０２２７】
カメラ４５においては、通信部４５５がＰＣ１５からパターン画像を受信すると、補正情報算出部４５３は、通信部４５５が受信したパターン画像と、情報取得部４５１で取得した情報を元にして、判断部４５２で補正情報算出に適していると判断された撮影画像とに基づいて補正情報を算出する（ステップＳ５０６）。
【０２２８】
次に、通信部４５５は、ＰＣ１５から投影対象のコンテンツ画像を受信する（ステップＳ５０７）。なお、カメラ４５がコンテンツ画像を受信するタイミングは、実施例に限定されるものではく、ステップＳ５０６よりも前のタイミングであってもよい。
【０２２９】
次に、補正部４５４は、補正情報に基づいて、通信部４５５が受信した投影対象のコンテンツ画像を補正し、補正画像を得る（ステップＳ５０８）。次に、通信部４５５は、補正画像をプロジェクタ２５に送信する（ステップＳ５０９）。そして、プロジェクタ２５の投影部２５１は、通信部２５０がカメラ４５から受信した補正画像をスクリーン３０に投影する（ステップＳ５１０）。以上で、画像補正処理が完了する。
【０２３０】
このように、本実施例にかかる画像処理システム５においては、他の実施例にかかる画像処理システムと同様に、補正画像をスクリーン３０に投影することにより、スクリーン３０に投影される投影画像のゆがみを補正することができる。さらに、補正画像を得るための撮影画像に対しては、あらかじめ補正情報算出の成否を判断した後に、補正情報算出部４５３にて補正情報算出処理を行うため、補正情報算出処理の失敗を回避できる。
【０２３１】
さらに、実施例５にかかる画像処理システム５においては、カメラ４５において、補正画像を生成するまでの一連の処理を行うことができるので、画像処理システム５の構成を簡略化することができる。また、プロジェクタ２５が、補正画像生成に関する機能を有する必要がないので、プロジェクタ２５を他のプロジェクタに交換した場合には、交換後のプロジェクタに補正画像を送信すればよい。このように、プロジェクタを交換した場合に、再度補正画像を生成する必要がない。また、ＰＣ１５を他の機器に変更した場合にも、同様に補正画像を生成する必要がない。したがって、処理の効率化を図ることができる。また、プロジェクタ２５は、ＰＣ１５に限らず、テレビやカメラから受信した画像データに対応する補正画像をスクリーン３０に投影することができる。
【０２３２】
なお、実施例５にかかる画像処理システム５のこれ以外の構成および処理は、他の実施例にかかる画像処理システムの構成および処理と同様である。
【実施例６】
【０２３３】
図４８は、実施例６にかかる画像処理システム６の全体構成を示す図である。実施例６にかかる画像処理システム６は、ＰＣ１６と、プロジェクタ２６と、カメラ４６の他に、補正画像を生成する演算装置６０を備えている。演算装置６０は、ＰＣ１６、プロジェクタ２６、カメラ４６と各種情報を送受信する。
【０２３４】
画像処理システム６においては、カメラ４６から演算装置６０に撮影画像が送信され、ＰＣ１６から演算装置６０にパターン画像とコンテンツ画像とが送信される。また、ＰＣ１６からプロジェクタ２６にパターン画像が送信される。そして、演算装置６０において、補正画像が生成され、補正画像がプロジェクタ２６に送信される。
【０２３５】
図４９は、実施例６にかかるＰＣ１６、プロジェクタ２６、カメラ４６および演算装置６０の機能構成を示すブロック図である。ＰＣ１６は、画像データ記憶部１６０と、通信部１６１とを有している。プロジェクタ２６は、通信部２６０と、投影部２６１とを有している。カメラ４６は、画像取得部４６０と、情報取得部４６１と、判断部４６２と、通信部４６３とを有している。演算装置６０は、通信部６００と、補正情報算出部６０１と、補正部６０２とを有している。
【０２３６】
本実施例にかかる画像処理システム６では、ＰＣ１６の通信部１６１は、パターン画像とコンテンツ画像とを演算装置６０に送信する。通信部１６１はまた、パターン画像をプロジェクタ２６に送信する。カメラ４６の通信部４６３は、情報取得部４６１で取得した情報を元にして、判断部４６２で補正情報算出に適していると判断された撮影画像を演算装置６０に送信する。
【０２３７】
演算装置６０の通信部６００は、ＰＣ１６からパターン画像を受信し、カメラ４６から撮影画像を受信する。演算装置６０の補正情報算出部６０１は、通信部６００が受信した撮影画像とコンテンツ画像とに基づいて、補正情報を算出する。補正部６０２は、補正情報算出部６０１が算出した補正情報に基づいて、通信部６００が受信したコンテンツ画像を補正し、補正画像を得る。通信部６００はさらに、補正画像をプロジェクタ２６に送信する。
【０２３８】
図５０は、画像処理システム６による画像補正処理を示すシーケンス図である。なお、ステップＳ６００〜ステップＳ６０４の処理は、図６を参照しつつ説明した実施例１にかかる画像処理システム１による画像補正処理のステップＳ１００〜ステップＳ１０４の処理と同様である。
【０２３９】
ステップＳ６０４に続き、カメラ４６は、情報取得部４６１で取得した情報を元にして、判断部４６２で補正情報算出に適していると判断された撮影画像を演算装置６０に送信する（ステップＳ６０５）。一方、ＰＣ１６は、パターン画像を演算装置６０に送信する（ステップＳ６０６）。なお、ＰＣ１６がパターン画像を演算装置６０に送信するタイミングは任意である。
【０２４０】
演算装置６０においては、通信部６００は、カメラ４６から撮影画像を受信すると、補正情報算出部６０１は、通信部６００が受信したパターン画像と、撮影画像とに基づいて補正情報を算出する（ステップＳ６０７）。次に、通信部６００は、ＰＣ１６から投影対象のコンテンツ画像を受信する（ステップＳ６０８）。なお、通信部６００がコンテンツ画像を受信するタイミングは任意である。
【０２４１】
次に、補正部６０２は、補正情報に基づいて、通信部６００が受信した、投影対象のコンテンツ画像を補正し、補正画像を得る（ステップＳ６０９）。
【０２４２】
次に、通信部６００は、補正画像をプロジェクタ２６に送信する（ステップＳ６１０）。そして、プロジェクタ２６の投影部２６１は、通信部２６０が演算装置６０から受信した補正画像をスクリーン３０に投影する（ステップＳ６１１）。以上で、画像補正処理が完了する。
【０２４３】
このように、本実施例にかかる画像処理システム６においては、他の実施例にかかる画像処理システムと同様に、補正画像をスクリーン３０に投影することにより、スクリーン３０に投影される画像のゆがみを補正することができる。さらに、補正画像を得るための撮影画像に対しては、あらかじめ補正情報算出の成否を判断した後に、補正情報算出部６０１にて補正情報算出処理を行うため、補正情報算出処理の失敗を回避できる。
【０２４４】
さらに、実施例６にかかる画像処理システム６においては、演算装置６０において、補正情報を算出し、さらに補正画像を生成する。これにより、ＰＣ１６およびプロジェクタ２６のいずれの装置も、補正画像生成にかかる機能を有する必要がない。
【０２４５】
なお、実施例６にかかる画像処理システム６のこれ以外の構成および処理は、他の実施例にかかる画像処理システムの構成および処理と同様である。
【符号の説明】
【０２４６】
１  画像処理システム
１１  ＰＣ
２１  プロジェクタ
４１  カメラ
１１０  画像データ記憶部
１１１  通信部
１１２  補正情報算出部
１１３  補正部
２１０  通信部
２１１  投影部
４１０  撮影部
４１１  データ量削減部
４１２  通信部
【先行技術文献】
【特許文献】
【０２４７】
【特許文献１】特開２００６‐０３３３５７号公報
【図１】
2015026914.tif 000006
【図２】
2015026914.tif 000007
【図３】
2015026914.tif 000008
【図４】
2015026914.tif 000009
【図５】
2015026914.tif 000010
【図６】
2015026914.tif 000011
【図７】
2015026914.tif 000012
【図８】
2015026914.tif 000013
【図９】
2015026914.tif 000014
【図１０】
2015026914.tif 000015
【図１１】
2015026914.tif 000016
【図１２】
2015026914.tif 000017
【図１３】
2015026914.tif 000018
【図１４】
2015026914.tif 000019
【図１５】
2015026914.tif 000020
【図１６】
2015026914.tif 000021
【図１８】
2015026914.tif 000022
【図１９】
2015026914.tif 000023
【図２０】
2015026914.tif 000024
【図２１】
2015026914.tif 000025
【図２２】
2015026914.tif 000026
【図２３】
2015026914.tif 000027
【図２４】
2015026914.tif 000028
【図２５】
2015026914.tif 000029
【図２６】
2015026914.tif 000030
【図２７】
2015026914.tif 000031
【図２８】
2015026914.tif 000032
【図２９】
2015026914.tif 000033
【図３０】
2015026914.tif 000034
【図３１】
2015026914.tif 000035
【図３２】
2015026914.tif 000036
【図３３】
2015026914.tif 000037
【図３４】
2015026914.tif 000038
【図３５】
2015026914.tif 000039
【図３６】
2015026914.tif 000040
【図３７】
2015026914.tif 000041
【図３８】
2015026914.tif 000042
【図３９】
2015026914.tif 000043
【図４０】
2015026914.tif 000044
【図４１】
2015026914.tif 000045
【図４２】
2015026914.tif 000046
【図４３】
2015026914.tif 000047
【図４４】
2015026914.tif 000048
【図４５】
2015026914.tif 000049
【図４６】
2015026914.tif 000050
【図４７】
2015026914.tif 000051
【図４８】
2015026914.tif 000052
【図４９】
2015026914.tif 000053
【図５０】
2015026914.tif 000054
【図１７】
2015026914.tif 000055