IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

特許7548228情報処理装置、情報処理方法、プログラム、投映装置、および情報処理システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】情報処理装置、情報処理方法、プログラム、投映装置、および情報処理システム
(51)【国際特許分類】
   H04N 5/74 20060101AFI20240903BHJP
   G09G 5/00 20060101ALI20240903BHJP
   G09G 5/37 20060101ALI20240903BHJP
【FI】
H04N5/74 D
G09G5/00 510B
G09G5/00 550C
G09G5/00 555D
G09G5/37 300
【請求項の数】 18
(21)【出願番号】P 2021527609
(86)(22)【出願日】2020-06-08
(86)【国際出願番号】 JP2020022482
(87)【国際公開番号】W WO2020255766
(87)【国際公開日】2020-12-24
【審査請求日】2023-04-14
(31)【優先権主張番号】P 2019114830
(32)【優先日】2019-06-20
(33)【優先権主張国・地域又は機関】JP
【前置審査】
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100168686
【弁理士】
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】赤尾 雅人
【審査官】塚本 丈二
(56)【参考文献】
【文献】特開2007-288295(JP,A)
【文献】特開2009-206798(JP,A)
【文献】特開2016-015558(JP,A)
【文献】特開2017-092756(JP,A)
【文献】特開2011-102728(JP,A)
【文献】特開2006-140831(JP,A)
【文献】特開2015-171077(JP,A)
【文献】国際公開第2006/030501(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/74
H04N 9/31
G09G 5/00-5/42
G03B 21/00
(57)【特許請求の範囲】
【請求項1】
投映装置によって投映面に投映された投映画像と、前記投映画像を複数の撮影位置で撮影部が撮影して得られた複数の撮影画像とに基づいて、それぞれの画像上の対応点を検出する検出部と、
前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の前記撮影部の姿勢とを含む外部パラメータおよび前記撮影部の内部パラメータを含む撮影パラメータと、前記投映装置の位置と姿勢とを含む外部パラメータおよび前記投映装置の内部パラメータを含む投映パラメータとを推定する推定部と、
前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成する生成部と、
前記補正データを前記投映装置に送信する送信部と
前記撮影パラメータに基づいて、前記撮影位置のガイドとなる情報をユーザに提示するガイド制御部と
を備える情報処理装置。
【請求項2】
前記投映装置によって前記投映面に投映された前記投映画像を撮影する前記撮影部をさらに備える
請求項1に記載の情報処理装置。
【請求項3】
前記撮影画像の枚数は3枚以上である
請求項1または2に記載の情報処理装置。
【請求項4】
前記検出部は、前記撮影パラメータに基づいて求められる前記投映面の推定誤差が閾値より大きい場合、追加された前記撮影画像上の前記対応点を検出する
請求項1に記載の情報処理装置。
【請求項5】
前記推定部は、複数の前記撮影画像の組み合わせを切り替えて前記撮影パラメータの推定を行う
請求項4に記載の情報処理装置。
【請求項6】
前記推定部は、前記撮影パラメータに基づいて求められる前記投映面の推定誤差に基づいて、または、撮影角の分散に基づいて、前記補正データの生成に用いる前記撮影画像の前記組み合わせを選択する
請求項5に記載の情報処理装置。
【請求項7】
前記推定部は、前記撮影画像に共通する前記撮影パラメータに基づいて、追加された前記撮影画像の前記撮影パラメータを推定する
請求項1に記載の情報処理装置。
【請求項8】
前記ガイド制御部は、撮影が既に行われた前記撮影位置と異なる位置を前記撮影位置のガイドとなる情報として表示させる
請求項1から7のいずれかに記載の情報処理装置。
【請求項9】
前記検出部は、撮影が既に行われた前記撮影位置と異なる位置で撮影して得られた前記撮影画像を用いて前記対応点を検出する
請求項に記載の情報処理装置。
【請求項10】
前記ガイド制御部は、前記投映面上の所定の位置の指定に用いられる情報を出力し、
指定された前記投映面上の位置の推定誤差が生じる原因となった前記撮影位置を特定する特定部をさらに備える
請求項1から7のいずれかに記載の情報処理装置。
【請求項11】
前記検出部は、特定された前記撮影位置とは異なる位置を前記撮影位置として再度撮影して得られた前記撮影画像を用いて前記対応点を検出する
請求項10に記載の情報処理装置。
【請求項12】
前記ガイド制御部は、前記投映面上の所定の位置の指定に用いられる情報を出力し、
前記送信部は、指定された前記投映面上の位置を含む所定の範囲に、前記投映画像として投映されたパターンより密度の高い他のパターンを投映することを表す情報を前記投映装置に対して送信する
請求項1から7のいずれかに記載の情報処理装置。
【請求項13】
前記検出部は、投映された前記他のパターンを撮影して得られた前記撮影画像を用いて前記対応点を検出する
請求項12に記載の情報処理装置。
【請求項14】
前記検出部は、前記投映面全体を分割して得られた複数の投映領域のそれぞれに投映された前記投映画像を対象として撮影されたそれぞれの複数の前記撮影画像に基づいて前記対応点を検出し、
前記生成部は、それぞれの前記投映画像を対象として生成された複数の前記補正データを統合する
請求項1から13のいずれかに記載の情報処理装置。
【請求項15】
情報処理装置が、
投映装置によって投映面に投映された投映画像と、前記投映画像を複数の撮影位置で撮影部が撮影して得られた複数の撮影画像とに基づいて、それぞれの画像上の対応点を検出することと
前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の前記撮影部の姿勢とを含む外部パラメータおよび前記撮影部の内部パラメータを含む撮影パラメータと、前記投映装置の位置と姿勢とを含む外部パラメータおよび前記投映装置の内部パラメータを含む投映パラメータとを推定することと
前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成することと
前記補正データを前記投映装置に送信することと、
前記撮影パラメータに基づいて、前記撮影位置のガイドとなる情報をユーザに提示することと
を含む情報処理方法。
【請求項16】
コンピュータに、
投映装置によって投映面に投映された投映画像と、前記投映画像を複数の撮影位置で撮影部が撮影して得られた複数の撮影画像とに基づいて、それぞれの画像上の対応点を検出することと
前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の前記撮影部の姿勢とを含む外部パラメータおよび前記撮影部の内部パラメータを含む撮影パラメータと、前記投映装置の位置と姿勢とを含む外部パラメータおよび前記投映装置の内部パラメータを含む投映パラメータとを推定することと
前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成することと
前記補正データを前記投映装置に送信することと、
前記撮影パラメータに基づいて、前記撮影位置のガイドとなる情報をユーザに提示することと
を含む処理を実行させるためのプログラム。
【請求項17】
投映画像を投映面に投映する投映部と、
前記投映画像を複数の撮影位置で撮影部が撮影して得られた複数の撮影画像と、前記投映画像とに基づいて、それぞれの画像上の対応点を検出し、前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の前記撮影部の姿勢とを含む外部パラメータおよび前記撮影部の内部パラメータを含む撮影パラメータと、前記投映部の位置と姿勢とを含む外部パラメータおよび前記投映部の内部パラメータを含む投映パラメータとを推定し、前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成し、前記撮影パラメータに基づいて、前記撮影位置のガイドとなる情報をユーザに提示する情報処理装置から送信されてきた、前記補正データを受信する受信部と、
前記補正データに基づいて、前記入力画像に対して前記幾何補正を施し、補正画像を生成する生成部と
を備える投映装置。
【請求項18】
投映装置によって投映面に投映された投映画像と、前記投映画像を複数の撮影位置で撮影部が撮影して得られた複数の撮影画像とに基づいて、それぞれの画像上の対応点を検出する検出部と、
前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の前記撮影部の姿勢とを含む外部パラメータおよび前記撮影部の内部パラメータを含む撮影パラメータと、前記投映装置の位置と姿勢とを含む外部パラメータおよび前記投映装置の内部パラメータを含む投映パラメータとを推定する推定部と、
前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成する生成部と、
前記補正データを前記投映装置に送信する送信部と
前記撮影パラメータに基づいて、前記撮影位置のガイドとなる情報をユーザに提示するガイド制御部と
を備える情報処理装置と、
前記投映画像を前記投映面に投映する投映部と、
前記情報処理装置から送信されてきた前記補正データを受信する受信部と、
前記補正データに基づいて、前記入力画像に対して前記幾何補正を施し、補正画像を生成する生成部と
を備える前記投映装置と
を含むように構成された情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、情報処理装置、情報処理方法、プログラム、投映装置、および情報処理システムに関し、特に、任意の撮影装置を用いて、投映画像の歪みを補正することができるようにした情報処理装置、情報処理方法、プログラム、投映装置、および情報処理システムに関する。
【背景技術】
【0002】
プロジェクタから投映された画像である投映画像には、通常、プロジェクタと投映面との相対的な位置関係に応じた台形歪みが生じる。投映画像には、投映面の局所的な凹凸やねじれを反映した非線形歪みが生じる場合もある。
【0003】
こうした歪みを補正するために、携帯電話機のカメラで投映面上の投映画像を撮影することによって歪みの状態を観測し、歪みをキャンセルするような補正を投映前の画像に施す技術が各種提案されている。歪みをキャンセルするような補正を施すために、携帯電話機のカメラパラメータが用いられる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2006-33357号公報
【文献】特開2013-172444号公報
【文献】特開2014-160998号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した技術においては、通常、投映面を撮影する携帯電話機として、カメラパラメータが既知の携帯電話機が用いられる。すなわち、特定の機種や校正済みの携帯電話機を用いて撮影された撮影画像からのみ、歪みの状態の観測が可能となる。
【0006】
本技術はこのような状況に鑑みてなされたものであり、任意の撮影装置を用いて投映画像の歪みを補正することができるようにするものである。
【課題を解決するための手段】
【0007】
本技術の第1の側面の情報処理装置は、投映装置によって投映面に投映された投映画像と、前記投映画像を複数の撮影位置で撮影部が撮影して得られた複数の撮影画像とに基づいて、それぞれの画像上の対応点を検出する検出部と、前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の前記撮影部の姿勢とを含む外部パラメータおよび前記撮影部の内部パラメータを含む撮影パラメータと、前記投映装置の位置と姿勢とを含む外部パラメータおよび前記投映装置の内部パラメータを含む投映パラメータとを推定する推定部と、前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成する生成部と、前記補正データを前記投映装置に送信する送信部と、前記撮影パラメータに基づいて、前記撮影位置のガイドとなる情報をユーザに提示するガイド制御部とを備える。
【0008】
本技術の第2の側面の投映装置は、投映画像を投映面に投映する投映部と、前記投映画像を複数の撮影位置で撮影部が撮影して得られた複数の撮影画像と、前記投映画像とに基づいて、それぞれの画像上の対応点を検出し、前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の前記撮影部の姿勢とを含む外部パラメータおよび前記撮影部の内部パラメータを含む撮影パラメータと、前記投映部の位置と姿勢とを含む外部パラメータおよび前記投映部の内部パラメータを含む投映パラメータとを推定し、前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成し、前記撮影パラメータに基づいて、前記撮影位置のガイドとなる情報をユーザに提示する情報処理装置から送信されてきた、前記補正データを受信する受信部と、前記補正データに基づいて、前記入力画像が前記幾何補正された補正画像を生成する生成部とを備える。
【0009】
本技術の第1の側面の情報処理装置においては、投映装置によって投映面に投映された投映画像と、前記投映画像を複数の撮影位置で撮影部が撮影して得られた複数の撮影画像とに基づいて、それぞれの画像上の対応点が検出され、前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の前記撮影部の姿勢とを含む外部パラメータおよび前記撮影部の内部パラメータを含む撮影パラメータと、前記投映装置の位置と姿勢とを含む外部パラメータおよび前記投映装置の内部パラメータを含む投映パラメータとが推定され、前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データが生成され、前記補正データが前記投映装置に送信され、前記撮影パラメータに基づいて、前記撮影位置のガイドとなる情報がユーザに提示される。
【0010】
本技術の第2の側面の投映装置においては、投映画像が投映面に投映され、前記投映画像を複数の撮影位置で撮影部が撮影して得られた複数の撮影画像と、前記投映画像とに基づいて、それぞれの画像上の対応点を検出し、前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の前記撮影部の姿勢とを含む外部パラメータおよび前記撮影部の内部パラメータを含む撮影パラメータと、前記投映部の位置と姿勢とを含む外部パラメータおよび前記投映部の内部パラメータを含む投映パラメータとを推定し、前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成し、前記撮影パラメータに基づいて、前記撮影位置のガイドとなる情報をユーザに提示する情報処理装置から送信されてきた、前記補正データが受信され、前記補正データに基づいて、前記入力画像が前記幾何補正された補正画像が生成される。
【図面の簡単な説明】
【0011】
図1】本技術の一実施の形態に係る情報処理システムの構成例を示す図である。
図2】情報処理システムの全体の処理の流れを示す図である。
図3】携帯端末を用いた撮影位置の例を示す図である。
図4】撮影位置のガイドとなる情報の例を示す図である。
図5】携帯端末のハードウェア構成例を示すブロック図である。
図6】プロジェクタのハードウェア構成例を示すブロック図である。
図7】情報処理システムの機能構成例を示すブロック図である。
図8】携帯端末の撮影画像解析部の構成例を示すブロック図である。
図9】携帯端末の補正データ算出処理#1について説明するフローチャートである。
図10】対応点検出処理について説明するフローチャートである。
図11】パターン検出処理について説明するフローチャートである。
図12】プロジェクタ座標系への変換の例を示す図である。
図13】カメラ姿勢推定処理#1について説明するフローチャートである。
図14】カメラ内部パラメータ推定処理#1について説明するフローチャートである。
図15】プロジェクタ姿勢推定処理について説明するフローチャートである。
図16】補正ベクトル生成処理について説明するフローチャートである。
図17】視点位置と、水平方向を表すX軸との設定の例を示す図である。
図18】補正ベクトルの計算の例を示す図である。
図19】プロジェクタの投映歪み補正処理について説明するフローチャートである。
図20】携帯端末の補正データ算出処理#2について説明するフローチャートである。
図21】カメラ内部パラメータ推定処理#2について説明するフローチャートである。
図22】最適推定値の選択方法例を示す図である。
図23】撮影角の例を示す図である。
図24】携帯端末のカメラ姿勢推定処理#3について説明するフローチャートである。
図25】適切な撮影位置の提示例を示す図である。
図26】携帯端末の補正データ算出処理#3について説明するフローチャートである。
図27】投映面上の位置の指定の例を示す図である。
図28】携帯端末の撮影画像解析部の構成例を示すブロック図である。
図29】携帯端末の補正データ算出処理#4について説明するフローチャートである。
図30】投映面上の位置の指定と再投映の例を示す図である。
図31】携帯端末の補正データ算出処理#5について説明するフローチャートである。
図32】領域の分割の例を示す図である。
図33】携帯端末の補正データ算出処理#6について説明するフローチャートである。
【発明を実施するための形態】
【0012】
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
1.投映歪み補正用アプリケーションについて
2.各機器の構成
3.各機器の動作
4.第2の実施の形態(撮影枚数の漸増による推定の例)
5.第3の実施の形態(投映歪み補正の再試行時の処理の例)
6.第4の実施の形態(撮影位置のガイドの例)
7.第5の実施の形態(補正箇所のユーザ指定の例1)
8.第6の実施の形態(補正箇所のユーザ指定の例2)
9.第7の実施の形態(パターン画像の分割撮影による推定の例)
10.その他
【0013】
<投映歪み補正用アプリケーションについて>
図1は、本技術の一実施の形態に係る情報処理システムの構成例を示す図である。
【0014】
図1の情報処理システムは、スマートフォンなどの情報処理装置である携帯端末1と、投映装置であるプロジェクタ2によって構成される。床面や机の天板などの平面に置かれたプロジェクタ2の前方には、投映面3が設けられる。
【0015】
ユーザは、プロジェクタ2によって投映面3に投映された画像である投映画像を視聴することができる。例えば、内部のメモリに記憶されている動画コンテンツ、ネットワークを介して受信された動画コンテンツなどがプロジェクタ2により再生され、動画コンテンツの画像が投映される。携帯端末1により再生された動画コンテンツの画像が無線通信を介してプロジェクタ2に送信され、投映されるようにしてもよい。
【0016】
ここで、投映面3には凹凸が形成されている。補正などが投映前に行われないとした場合、凹凸面である投映面3にプロジェクタ2が投映した投映画像には歪みが生じることになる。
【0017】
図1の情報処理システムにおいては、動画コンテンツの画像を投映する前などの所定のタイミングで、入力画像の幾何補正に用いられる補正データの生成が携帯端末1により行われる。携帯端末1により生成された補正データは、プロジェクタ2に対して送信される。
【0018】
プロジェクタ2は、携帯端末1から送信された補正データを受信し、動画コンテンツを再生するなどして得られた画像である入力画像に対して、補正データに基づいて幾何補正を施す。プロジェクタ2からは、幾何補正後の入力画像である補正画像が投映される。補正画像に基づいて投映された投映画像は、投映面3の凹凸による歪みが補正された画像となる。
【0019】
携帯端末1には、入力画像の幾何補正に用いられる補正データを生成するためのアプリケーションである投映歪み補正用アプリケーションがインストールされている。ユーザは、投映歪み補正用アプリケーションを起動させ、投映歪み補正用アプリケーションにより提示されるガイドなどに従って投映面3を撮影するなどの操作を、動画コンテンツの視聴前の準備として行う。
【0020】
図2は、情報処理システムの全体の処理の流れを示す図である。
【0021】
投映歪み補正用アプリケーションの起動時、プロジェクタ2からは、所定のパターンの画像が投映される。例えば、所定の径を有する円形状のドットを、プロジェクタ2の投映範囲全体に規則正しく並べたドットパターンの画像が、プロジェクタ2から投映される。ドットパターンの画像ではなく、チェッカーパターンなどの既知の他のパターンの画像が投映されるようにしてもよい。
【0022】
ユーザは、図2の中央下方に示すように、携帯端末1のカメラ機能を用いて、プロジェクタ2により投映されたドットパターンを異なる複数の撮影位置で撮影する。撮影によって得られた撮影画像には、例えば、投映画像として投映面3に投映されたドットパターン全体を含む範囲が写っている。
【0023】
図3は、携帯端末1を用いた撮影位置の例を示す図である。
【0024】
携帯端末1を操作するユーザは、図3の左側に示すように、任意の撮影位置P1で撮影を行う。図3の例においては、投映面3を右斜め方向から見る位置が撮影位置P1とされている。携帯端末1においては、プロジェクタ2によって投映面3に投映されたドットパターンを右斜め方向から撮影した画像が1枚目の撮影画像として得られる。
【0025】
撮影位置P1での撮影が終了した後、ユーザは、図3の中央に示すように、撮影位置P1と異なる位置である撮影位置P2に移動し、撮影を行う。図3の例においては、投映面3を正面から見る位置が撮影位置P2とされている。携帯端末1においては、プロジェクタ2によって投映面3に投映されたドットパターンを正面から撮影した画像が2枚目の撮影画像として得られる。
【0026】
撮影位置P2での撮影が終了した後、ユーザは、図3の右側に示すように、撮影位置P1および撮影位置P2と異なる位置である撮影位置P3に移動し、撮影を行う。図3の例においては、投映面3を左斜め方向から見る位置が撮影位置P3とされている。携帯端末1においては、プロジェクタ2によって投映面3に投映されたドットパターンを左斜め方向から撮影した画像が3枚目の撮影画像として得られる。
【0027】
このような撮影のためのガイドが、投映歪み補正用アプリケーションによってユーザに提示される。
【0028】
図4は、撮影位置のガイドとなる情報の例を示す図である。
【0029】
図4に示すように、携帯端末1のディスプレイには、投映面の位置と撮影済みの位置とを示す画面が表示される。図4の例においては、投映面の位置が横長長方形のアイコンを用いて表示され、撮影済みのそれぞれの位置が携帯端末1の外観を表すアイコンを用いて表示されている。投映面の位置と撮影済みの位置は、後述するように、撮影画像などに基づく推定結果に基づいて表示される。
【0030】
また、図4の吹き出しに示すように、携帯端末1のスピーカからは、表示内容などを説明する音声が出力される。
【0031】
このようなガイドに従って、ユーザは撮影位置を変えて複数回の撮影を行うことになる。なお、投映面の位置と撮影済みの位置との関係は、3回以上の撮影が行われた後に、3枚以上の撮影画像に基づいて推定される。図4に示すようなガイドは、例えば、投映面の位置と撮影済みの位置との関係が推定された後であって、追加の撮影が必要な場合に提示される。
【0032】
図4の例においては、ディスプレイの表示と音声がガイドとして用いられているが、いずれか一方だけが用いられるようにしてもよい。
【0033】
携帯端末1においては、このようにして撮影された複数の撮影画像に基づいて補正データが生成され、プロジェクタ2に対して送信される。補正データの生成の詳細については後述する。
【0034】
図2の説明に戻り、プロジェクタ2においては、携帯端末1により生成された補正データに基づいて、入力画像に対する投映歪み補正(幾何補正)が行われる。図2の右方に示すように、投映歪み補正後の画像に基づいて、歪みが補正された画像が投映される。
【0035】
このように、図1の情報処理システムにおいては、任意の携帯端末を用いて撮影された撮影画像に基づいて投映画像の歪みを補正することが可能となる。また、任意の撮影位置で撮影された撮影画像に基づいて投映画像の歪みを補正することが可能となる。
【0036】
すなわち、ユーザは、特定の機種や校正済みの携帯電話機を用いることなく、また、決められた位置で撮影を行うことなく、補正データの生成に用いられる画像を撮影することができる。
【0037】
なお、図2の例においては、携帯端末1としてスマートフォンが示されているが、デジタルカメラ、タブレット端末、PCなどの他のデバイスが携帯端末1として用いられるようにすることも可能である。
【0038】
<各機器の構成>
図5は、携帯端末1のハードウェア構成例を示すブロック図である。
【0039】
CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103は、バス104により相互に接続されている。
【0040】
バス104には、さらに、入出力インタフェース105が接続される。入出力インタフェース105には、ディスプレイ106、タッチパネル107、スピーカ108、カメラ109、メモリ110、通信部111、およびドライブ112が接続される。
【0041】
ディスプレイ106は、LCDや有機ELディスプレイなどにより構成される。ディスプレイ106は、上述したような投映歪み補正用アプリケーションの画面を表示する。
【0042】
タッチパネル107は、ディスプレイ106の表面に対するユーザの操作を検出し、ユーザの操作の内容を表す情報を出力する。
【0043】
スピーカ108は、上述した撮影位置のガイドとなる音声などの各種の音を出力する。
【0044】
カメラ109は、ユーザの操作に応じて撮影を行い、画像データを出力する。
【0045】
メモリ110は、CPU101が実行するプログラムなどの各種のデータを記憶する。
【0046】
通信部111は、無線通信のインタフェースである。通信部111は、プロジェクタ2や、インターネットを介して接続されるサーバなどの外部の装置と通信を行う。図1の情報処理システムにおいて再生されるコンテンツが、サーバからネットワークを介して提供されるようにしてもよい。
【0047】
ドライブ112は、メモリカードなどのリムーバブルメディア113を駆動し、リムーバブルメディア113に対するデータの書き込み、リムーバブルメディア113に記憶されているデータの読み出しを行う。
【0048】
図6は、プロジェクタ2のハードウェア構成例を示すブロック図である。
【0049】
プロジェクタ2は、投映部121、通信部122、制御部123、およびメモリ124により構成される。
【0050】
投映部121は、画像の投映に関する処理を行う。例えば、投映部121は、制御部123による制御に従って、制御部123から出力される入力画像を投映する。投映部121の光源は任意であり、LED(Light Emitting Diode)やキセノンなどであってもよい。また、投映光としてレーザ光が用いられるようにしてもよい。
【0051】
通信部122は、携帯端末1などの外部の装置との間で通信を行う。通信部122は、携帯端末1から送信されてきた補正データを受信し、制御部123に出力する。外部の装置において再生され、送信されてきたコンテンツの画像が通信部122により受信され、制御部123に出力されるようにしてもよい。
【0052】
制御部123は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。制御部123は、プログラムを実行し、プロジェクタ2内の各処理部を制御する。
【0053】
例えば、制御部123は、通信部122から出力された補正データを用いて入力画像に幾何補正を施し、補正画像を生成する。制御部123は、補正画像を投映部121に出力し、投映させる。
【0054】
制御部123は、通信部122から出力された入力画像や補正データをメモリ124に保持させるなどの各種の処理を行う。
【0055】
メモリ124は、制御部123が処理する入力画像や補正データを記憶する。メモリ124には、ドットパターンのデータなども記憶されている。メモリ124に記憶されたデータは、適宜、制御部123により読み出される。
【0056】
図7は、情報処理システムの機能構成例を示すブロック図である。
【0057】
図7に示すように、携帯端末1においては、画像撮影部131、撮影画像解析部132、送信部133、およびガイド制御部134が実現される。
【0058】
画像撮影部131は、プロジェクタ2によって投映面3に投映された投映画像全体を含む範囲を、異なる位置で複数回撮影する。画像撮影部131は、撮影された複数枚の撮影画像を撮影画像解析部132に出力する。
【0059】
画像撮影部131による撮影によって得られる撮影画像は、静止画であってもよいし、動画像を構成するフレームであってもよい。動画像の撮影が行われる場合、動画像を構成する全体のフレームから所定の数のフレームが抽出され、抽出されたフレームが、撮影位置が異なる複数枚の撮影画像として撮影画像解析部132に出力される。
【0060】
撮影画像解析部132は、画像撮影部131から出力された撮影画像と、プロジェクタ2において用いられるドットパターンとに基づいて、撮影に関するパラメータであるカメラパラメータ(撮影パラメータ)を推定する。カメラパラメータには、カメラ内部パラメータとカメラ外部パラメータが含まれる。なお、撮影画像解析部132には、プロジェクタ2から投映されるドットパターンの情報が与えられている。
【0061】
また、撮影画像解析部132は、撮影画像とドットパターンとに基づいて、プロジェクタ2の投映に関するパラメータであるプロジェクタパラメータ(投映パラメータ)を推定する。プロジェクタパラメータには、プロジェクタ内部パラメータとプロジェクタ外部パラメータが含まれる。
【0062】
撮影画像解析部132は、カメラパラメータとプロジェクタパラメータとに基づいて、入力画像の幾何補正に用いられる補正データを生成し、送信部133に出力する。撮影画像解析部132により推定されたカメラパラメータは、適宜、ガイド制御部134に出力される。
【0063】
送信部133は、図5の通信部111を制御し、撮影画像解析部132から出力された補正データをプロジェクタ2に送信する。
【0064】
ガイド制御部134は、撮影画像解析部132から出力されたカメラパラメータに基づいて、撮影位置のガイドとなる情報をディスプレイ106やスピーカ108から出力させる。
【0065】
図7に示すように、プロジェクタ2の制御部123においては、受信部141、画像補正部142、および投映制御部143が実現される。
【0066】
受信部141は、図6の通信部122を制御し、携帯端末1から送信された補正データを受信して画像補正部142に出力する。
【0067】
画像補正部142は、受信部141から出力された補正データを用いて入力画像としてのコンテンツの画像などに幾何補正を施す。上述したように、画像補正部142による幾何補正は、プロジェクタ2自身が投映するドットパターンを撮影して得られた撮影画像に基づいて、補正データが携帯端末1において生成された後に行われる処理である。画像補正部142は、幾何補正後の入力画像である補正画像を投映制御部143に出力する。
【0068】
投映制御部143は、画像補正部142から出力された補正画像を投映部121に出力し、投映させる。また、投映制御部143は、補正データの生成時、既知のドットパターンなどの画像を投映部121から投映させる。
【0069】
図8は、携帯端末1の撮影画像解析部132の機能構成例を示すブロック図である。
【0070】
撮影画像解析部132は、対応点検出部151、カメラ姿勢推定部152、プロジェクタ姿勢推定部153、および補正ベクトル生成部154から構成される。画像撮影部131から出力された複数枚の撮影画像は、対応点検出部151に入力される。画像撮影部131から出力された撮影画像には、投映面3に投映されたドットパターンが写っている。
【0071】
対応点検出部151は、複数枚の撮影画像とドットパターンに基づいて、それぞれの画像上の対応点を検出する処理である対応点検出処理を行う。対応点検出処理は、それぞれの撮影画像に1枚ずつ注目し、それぞれの撮影画像に写るドットと、ドットパターンを構成する、対応するドットとを検出するようにして行われる。
【0072】
対応点検出部151は、対応点検出処理によって検出された対応点の関係を表す情報である対応点情報を保存するとともに、カメラ姿勢推定部152に出力する。
【0073】
カメラ姿勢推定部152は、対応点検出部151から出力された各撮影画像の対応点情報に基づいて、各撮影画像の撮影に用いられたカメラ(携帯端末1のカメラ109)のカメラ内部パラメータを推定する。カメラ内部パラメータには、例えば、焦点距離と主点が含まれる。
【0074】
また、カメラ姿勢推定部152は、各撮影画像の対応点情報に基づいてカメラ外部パラメータを推定する。カメラ外部パラメータには、各撮影画像を撮影したときのカメラの位置と姿勢が含まれる。
【0075】
以下、適宜、プロジェクタ2において用いられたドットパターン上の対応点を、プロジェクタ対応点という。撮影画像上の対応点は、カメラ対応点となる。
【0076】
カメラ姿勢推定部152は、各撮影画像の対応点情報と推定したカメラパラメータとをプロジェクタ姿勢推定部153に出力する。
【0077】
プロジェクタ姿勢推定部153は、カメラ姿勢推定部152から出力された各撮影画像の対応点情報と、各撮影画像のカメラパラメータとに基づいて、投映画像を投映したプロジェクタ2のプロジェクタ内部パラメータを推定する。プロジェクタ内部パラメータには、例えば、焦点距離や主点が含まれる。
【0078】
また、プロジェクタ姿勢推定部153は、各撮影画像の対応点情報と、各撮影画像のカメラパラメータとに基づいて、プロジェクタ外部パラメータを推定する。プロジェクタ外部パラメータには、投映画像を投映したときのプロジェクタ2の位置と姿勢が含まれる。
【0079】
プロジェクタ姿勢推定部153は、各撮影画像の対応点情報、各撮影画像のカメラパラメータ、および推定したプロジェクタパラメータを補正ベクトル生成部154に出力する。また、プロジェクタ姿勢推定部153は、各撮影画像のカメラパラメータを図7のガイド制御部134に出力する。
【0080】
このように、カメラ姿勢推定部152とプロジェクタ姿勢推定部153により、カメラパラメータとプロジェクタパラメータを各撮影画像の対応点情報に基づいて推定する推定部が構成される。
【0081】
補正ベクトル生成部154は、プロジェクタ姿勢推定部153から出力された各撮影画像の対応点情報、各撮影画像のカメラパラメータ、およびプロジェクタパラメータに基づいて、補正データとしての補正ベクトルを生成する。
【0082】
補正ベクトルは、プロジェクタ2において入力画像として用いられる画像を構成する各画素の補正量と補正方向とを表すベクトルである。プロジェクタ2による幾何補正においては、各画素の位置を補正ベクトルに基づいてずらすことによって、補正画像が生成される。
【0083】
補正ベクトル生成部154は、補正ベクトルを送信部133に出力する。補正ベクトルは、送信部133を介してプロジェクタ2に送信され、プロジェクタ2において入力画像の幾何補正に用いられる。
【0084】
<各機器の動作>
ここで、以上のような構成を有する各機器の動作について説明する。
【0085】
・携帯端末1の動作
はじめに、図9のフローチャートを参照して、携帯端末1の補正データ算出処理#1について説明する。
【0086】
図9の補正データ算出処理#1は、入力画像の幾何補正に用いられる補正データを算出するための一連の処理である。補正データ算出処理#1は、例えば、投映歪み補正用アプリケーションがアクティブとなり、ドットパターンがプロジェクタ2により投映面3に投映されたときに開始される。
【0087】
ステップS1において、対応点検出部151は、対応点検出処理を行う。対応点検出処理により、ドットパターンと各撮影画像の対応点の関係を表す対応点情報が保存される。対応点検出処理については、図10のフローチャートを参照して後述する。
【0088】
ステップS2において、カメラ姿勢推定部152は、カメラ姿勢推定処理#1を行う。カメラ姿勢推定処理#1は、対応点検出処理によって求められた各撮影画像の対応点情報に基づいて行われる。カメラ姿勢推定処理#1により、各撮影画像のカメラパラメータが推定される。カメラ姿勢推定処理#1については、図13のフローチャートを参照して後述する。
【0089】
ステップS3において、プロジェクタ姿勢推定部153は、プロジェクタ姿勢推定処理を行う。プロジェクタ姿勢推定処理は、対応点検出処理によって求められた各撮影画像の対応点情報と、カメラ姿勢推定処理によって求められたカメラパラメータとに基づいて行われる。プロジェクタ姿勢推定処理により、プロジェクタ2のプロジェクタパラメータが推定される。プロジェクタ姿勢推定処理については、図15のフローチャートを参照して後述する。
【0090】
ステップS4において、補正ベクトル生成部154は、補正ベクトル生成処理を行う。補正ベクトル生成処理は、対応点検出処理によって求められた各撮影画像の対応点情報、カメラ姿勢推定処理によって求められたカメラパラメータ、およびプロジェクタ姿勢推定処理によって求められたプロジェクタパラメータに基づいて行われる。補正ベクトル生成処理により、幾何補正に用いられる補正ベクトルが生成される。補正ベクトル生成処理については、図16のフローチャートを参照して後述する。
【0091】
ステップS5において、送信部133は、補正ベクトル生成処理によって生成された補正ベクトルをプロジェクタ2に送信する。
【0092】
次に、図10のフローチャートを参照して、図9のステップS1において行われる対応点検出処理について説明する。
【0093】
ステップS11において、画像撮影部131は、カメラ109を制御し、ドットパターンの投映画像全体を含む範囲を撮影する。
【0094】
ステップS12において、画像撮影部131は、撮影された撮影画像の枚数が閾値として設定された最低撮影枚数以上であるか否かを判定する。ここでは、撮影された撮影画像の枚数が例えば3枚である場合に最低撮影枚数以上であると判定される。
【0095】
撮影画像の枚数が最低撮影枚数未満であるとステップS12において判定された場合、ステップS11に戻り、位置を変えて撮影が繰り返される。
【0096】
撮影画像の枚数が最低撮影枚数以上であるとステップS12において判定された場合、処理はステップS13に進む。
【0097】
ステップS13において、対応点検出部151は、パターン検出処理を行う。パターン検出処理は、複数の撮影画像とドットパターンとに基づいて行われる。パターン検出処理により、各撮影画像上のドットの座標が検出され、各撮影画像上のドットとドットパターン上のドットとの関係が特定される。パターン検出処理の詳細については、図11のフローチャートを参照して後述する。
【0098】
ステップS14において、対応点検出部151は、対応点を構成する各撮影画像上のドットとドットパターン上のドットのそれぞれの座標を対応付けることによって対応点情報を生成し、保存する。その後、図9のステップS1に戻り、それ以降の処理が行われる。
【0099】
次に、図11のフローチャートを参照して、図10のステップS13において行われるパターン検出処理について説明する。
【0100】
図11のパターン検出処理は、図10のステップS11において撮影された複数枚の撮影画像のそれぞれを対象として行われる。
【0101】
ステップS21において、対応点検出部151は、対象となっている1枚の撮影画像を解析し、ドットパターンの投映画像が写っている領域を検出する。
【0102】
ステップS22において、対応点検出部151は、射影変換を行い、カメラ座標系で表される撮影画像上の投映画像を、プロジェクタ座標系の画像として変換する。カメラ座標系が射影変換前の座標系となり、プロジェクタ座標系が射影変換後の座標系となる。
【0103】
図12は、プロジェクタ座標系への変換の例を示す図である。
【0104】
例えば図12の左側に示すように、上下逆台形状の領域が投映画像として撮影画像に写っているものとする。図12において、黒塗りの横長楕円形の小円は、ドットパターンを構成する各ドットを表す。また、ハッチを付した小円は投映画像の領域の頂点を表す。
【0105】
このように、ドットパターンの投映画像は、投映面3の凹凸や撮影位置などに応じて歪んだ状態で撮影画像上に含まれる。ドットパターンを構成する各ドットが横長楕円形で表されていることは、投映画像が歪んでいることを表す。
【0106】
この場合、対応点検出部151は、射影変換前の座標系を射影変換後の座標系に変換するために用いられるホモグラフィ行列を所定の方法で算出する。
【0107】
また、対応点検出部151は、図12の白抜き矢印の先に示すように、入力画像と同じ形状の略長方形の画像となるように、撮影画像に写っている投映画像をホモグラフィ行列に基づいて変換する。変換後の画像においては、ドットパターンを構成する各ドットは略真円状に表される。
【0108】
図11の説明に戻り、ステップS23において、対応点検出部151は、撮影画像上の各ドット(点群)の座標を検出する。
【0109】
ステップS24において、対応点検出部151は、ユニークネス解決を行い、撮影画像上の各ドットに対応する、投映に用いられたドットパターン上のドットを特定する。
【0110】
以上のようなパターン検出処理が撮影枚数と同じ回数だけ繰り返され、撮影画像毎の対応点情報が生成される。撮影画像毎の対応点情報により、それぞれの位置で撮影された各撮影画像のカメラ対応点と、プロジェクタ対応点との関係が表される。その後、図10のステップS13に戻り、それ以降の処理が行われる。
【0111】
次に、図13のフローチャートを参照して、図9のステップS2において行われるカメラ姿勢推定処理#1について説明する。
【0112】
ステップS31において、カメラ姿勢推定部152は、カメラ内部パラメータ推定処理#1を行う。カメラ内部パラメータ推定処理#1は、対応点検出部151から出力された各撮影画像の対応点情報に基づいて行われる。カメラ内部パラメータ推定処理#1により、カメラ内部パラメータが推定される。
【0113】
ステップS32において、カメラ姿勢推定部152は、各撮影画像の対応点情報とカメラ内部パラメータとに基づいて、各撮影画像のカメラ外部パラメータを推定する。
【0114】
ステップS33において、カメラ姿勢推定部152は、カメラパラメータの最適化を行う。カメラパラメータの最適化は、例えば、3枚の撮影画像のカメラ対応点のそれぞれを対象として光線追跡を行った場合に、それぞれの追跡先が投映面3上の1点となるようにカメラパラメータを調整するようにして行われる。最適化されたカメラパラメータと各撮影画像の対応点情報は、プロジェクタ姿勢推定部153に出力される。その後、図9のステップS2に戻り、それ以降の処理が行われる。
【0115】
図14のフローチャートを参照して、図13のステップS31において行われるカメラ内部パラメータ推定処理#1について説明する。
【0116】
ステップS41において、カメラ姿勢推定部152は、3枚の撮影画像の対応点を対応点情報に基づいて取得する。
【0117】
ステップS42において、カメラ姿勢推定部152は、3枚の撮影画像のうちの1枚を基準画像として選択し、基準画像以外の2枚の撮影画像のそれぞれを比較画像として選択する。カメラ姿勢推定部152は、基準画像の撮影時のカメラ109の位置と姿勢を基準とした、それぞれの比較画像の撮影時のカメラ109の相対的な位置と姿勢を表すホモグラフィ行列を算出する。
【0118】
ステップS43において、カメラ姿勢推定部152は、ホモグラフィ行列で定義された連立方程式を解くことによってカメラ内部パラメータを推定する。その後、図13のステップS31に戻り、それ以降の処理が行われる。
【0119】
図15のフローチャートを参照して、図9のステップS3において行われるプロジェクタ姿勢推定処理について説明する。
【0120】
複数の特徴点とその3次元座標が既知である場合に、カメラやプロジェクタの位置と姿勢を推定する問題はPnP(Perspective-n-Point)問題として知られている。プロジェクタ姿勢推定処理は、PnP問題と同様にして行われる。
【0121】
ステップS51において、プロジェクタ姿勢推定部153は、ドットパターン上のプロジェクタ対応点の2次元座標を取得する。
【0122】
また、プロジェクタ姿勢推定部153は、カメラパラメータに基づいて三角測量を行い、カメラ対応点の、3次元空間上の位置を表す3次元座標を算出する。
【0123】
ステップS52において、プロジェクタ姿勢推定部153は、プロジェクタ対応点の2次元座標をカメラ対応点の3次元座標に変換するための射影行列を算出する。
【0124】
ステップS53において、プロジェクタ姿勢推定部153は、算出した射影行列を分解し、プロジェクタパラメータを推定する。プロジェクタパラメータの推定は、例えば6点アルゴリズムを用いて行われる。
【0125】
ステップS54において、プロジェクタ姿勢推定部153は、カメラパラメータとプロジェクタパラメータを最適化する。カメラパラメータとプロジェクタパラメータの最適化は、例えば、プロジェクタ対応点とカメラ対応点のそれぞれを対象として光線追跡を行った場合に、それぞれの追跡先が投映面3上の1点となるように、カメラパラメータとプロジェクタパラメータとのそれぞれを調整するようにして行われる。最適化されたカメラパラメータ、最適化されたプロジェクタパラメータ、および各撮影画像の対応点情報は、補正ベクトル生成部154に出力される。その後、図9のステップS3に戻り、それ以降の処理が行われる。
【0126】
図16のフローチャートを参照して、図9のステップS4において行われる補正ベクトル生成処理について説明する。
【0127】
ステップS61において、補正ベクトル生成部154は、プロジェクタ姿勢推定部153から出力された各撮影画像のカメラパラメータに基づいて三角測量を行い、それぞれのカメラ対応点の3次元空間上の位置を算出する。すなわち、補正ベクトル生成部154は、対応点の密度と同じ密度で、投映面3上の各点を推定する。
【0128】
また、補正ベクトル生成部154は、3次元的に算出された投映面3上の各点が配置された近似的な平面を投映面3に相当するスクリーン平面として推定する。例えば、RANSAC(Random Sample Consensus)などの手法を用いて、3次元点群の近似的な平面が推定される。
【0129】
ステップS62において、補正ベクトル生成部154は、ユーザが投映画像を視聴する位置である視点位置と、水平方向を表すX軸とを設定する。補正ベクトルを求めるために、視点位置などが必要となる。
【0130】
図17は、視点位置と、水平方向を表すX軸との設定の例を示す図である。
【0131】
例えば、視点位置は、スクリーン平面の中央の点P12を通る垂線上の位置P11として設定される。図17の投映面3は、スクリーン平面の推定結果により表される平面である。
【0132】
また、水平方向を表すX軸は、破線矢印A2で示すように、位置P11を通り、プロジェクタ2のX軸と平行な軸として設定される。図17の破線矢印A1はプロジェクタ2のX軸(例えば底面と平行な軸)を表す。視点位置と水平方向が、携帯端末1のユーザがタッチパネル107を操作するなどして指定されるようにしてもよい。
【0133】
図16の説明に戻り、ステップS63において、補正ベクトル生成部154は、ステップS61において推定したスクリーン平面と、ステップS62において設定した視点位置などに基づいて、補正ベクトルを計算する。
【0134】
図18は、補正ベクトルの計算の例を示す図である。
【0135】
図18の左上に示すように、ドットパターンを構成する各ドットの座標は、プロジェクタ座標系の座標(基準ドット座標)として表される。
【0136】
また、凹凸面である投映面3上におけるプロジェクタ2の投映範囲の形状は、図18の左下に破線の枠F1で示すように歪んだ形状となる。幾何補正を行わずに投映が行われた場合、投映画像は枠F1の範囲に投映される。補正ベクトル生成部154は、破線の枠F2で示すように、投映範囲内に最大内接矩形を設定し、最大内接矩形内に各ドットが投映されるように幾何補正を行うための補正ベクトルを計算する。
【0137】
具体的には、補正ベクトル生成部154は、最大内接矩形における各座標(検出ドット座標)が入力画像座標系の座標と対応するように、最大内接矩形の座標系の正規化を行う。
【0138】
また、補正ベクトル生成部154は、ドットパターンを構成するそれぞれのドットについて、それぞれのドットの投映位置となる検出ドット座標である座標Pに対応する入力画像座標系の座標P’と、座標Pの投映前の基準ドット座標での位置との差を表すベクトルが、補正画像を構成するために参照すべき、入力画像中の画素位置を表す補正ベクトルとなる。
【0139】
補正ベクトル生成部154は、それぞれのドットについて補正ベクトルを計算し、保持する。その後、図9のステップS4に戻り、それ以降の処理が行われる。
【0140】
以上の処理により生成された補正ベクトルが、プロジェクタ2に対して送信される。
【0141】
・プロジェクタ2の動作
次に、図19のフローチャートを参照して、プロジェクタ2の投映歪み補正処理について説明する。
【0142】
ステップS71において、プロジェクタ2の受信部141(図7)は、携帯端末1から送信された補正データである補正ベクトルを受信する。
【0143】
ステップS72において、画像補正部142は、補正ベクトルに基づいて補正画像を生成する。補正画像の生成は、コンテンツを再生するなどして得られた入力画像の各画素を、補正ベクトルに基づいて所定の位置に配置するようにして行われる。
【0144】
例えば、画像補正部142は、補正ベクトルに基づいて、座標Pの投映前の基準ドット座標での位置の画素値を、座標P’の位置の画素値に置き換えることによって、補正画像を生成する。なお、ドットパターンの各ドットの間の座標の画素については、その画素の周囲のドットに対応する補正ベクトルに基づいて補間して得られた補正ベクトルを用いて、画素値を参照する画素が特定される。
【0145】
ステップS73において、投映制御部143は、投映部121を制御し、画像補正部142により生成された補正画像を投映させる。
【0146】
以上の処理により、投映面3の歪みによる投映画像の歪みを補正することが可能となる。
【0147】
また、補正データ算出処理においては、任意の位置で撮影された撮影画像に基づいて、撮影画像の撮影に用いられたカメラ109のカメラパラメータと、プロジェクタ2のプロジェクタパラメータが推定される。補正データを算出するにあたってカメラパラメータとプロジェクタパラメータが既知である必要がないため、任意の撮影装置や投映装置を用いて補正データを求めることが可能となる。
【0148】
すなわち、撮影位置、撮影姿勢、プロジェクタ2の位置、およびプロジェクタ2の姿勢に依存せずに、投映画像の歪みを補正することが可能となる。
【0149】
<第2の実施の形態(撮影枚数の漸増による推定の例)>
この例においては、推定されたカメラパラメータに基づいて投映面3の推定誤差が求められる。投映面3の推定誤差が所定の閾値よりも大きい場合、撮影画像の枚数を増やして、カメラパラメータの推定などが行われる。
【0150】
図20のフローチャートを参照して、携帯端末1の補正データ算出処理#2について説明する。
【0151】
補正データ算出処理#2においては、適宜、4枚以上の撮影画像を用いて補正データが生成される。
【0152】
ステップS81において、最低撮影枚数である例えば3枚の撮影画像を用いて対応点検出処理が行われる。対応点検出処理は、図10を参照して説明した処理と同様の処理である。
【0153】
ステップS82において、カメラ姿勢推定部152は、カメラ姿勢推定処理#2を行う。最低撮影枚数が3枚として設定されている場合、カメラ姿勢推定処理#2は、図13を参照して説明したカメラ姿勢推定処理#1と基本的に同様に行われる。
【0154】
一方、後述するステップS88の処理を経て、すなわち、最低撮影枚数が4枚以上として設定されている場合、カメラ姿勢推定処理#1とは異なる処理が行われる。カメラ姿勢推定処理#1とは異なる処理として行われる、カメラ内部パラメータ推定処理#2を含むカメラ姿勢推定処理#2については後述する。
【0155】
ステップS83乃至S85の処理は、図9のステップS3乃至S5の処理と同様である。すなわち、カメラ姿勢推定処理#2により推定されたカメラパラメータに基づいて、ステップS83においてプロジェクタ姿勢推定処理が行われる。また、ステップS84において補正ベクトルが生成され、補正ベクトルがステップS85においてプロジェクタ2に対して送信される。
【0156】
ステップS86において、補正ベクトル生成部154は、カメラパラメータに基づいて求められる投映面3上の各点の推定誤差が、閾値として設定された所定の最大推定誤差以下であるか否かを判定する。投映面3上の各点の推定誤差は、例えば、カメラパラメータなどに基づく三角測量誤差によって表される。
【0157】
推定誤差が最大推定誤差以上であるとステップS86において判定された場合、処理はステップS87に進む。
【0158】
ステップS87において、画像撮影部131は、撮影画像の枚数が閾値として設定された所定の最大撮影枚数以上であるか否かを判定する。
【0159】
撮影画像の枚数が最大撮影枚数以上であるとステップS87において判定された場合、図20の処理は終了される。推定誤差が最大推定誤差未満であるとステップS86において判定された場合も同様に、図20の処理は終了される。
【0160】
一方、撮影画像の枚数が最大撮影枚数よりも少ないとステップS87において判定された場合、処理はステップS88に進む。
【0161】
ステップS88において、画像撮影部131は、最低撮影枚数を所定の枚数だけ増加させる。その後、ステップS81に戻り、それ以降の処理が行われる。
【0162】
最低撮影枚数を増加させることに応じて、画像撮影部131は、例えば撮影位置を変えて、撮影を再度行うことになる。それ以降の処理においては、新たに撮影された撮影画像を追加した形で、上述した処理と同様の処理が行われる。
【0163】
基本的に、撮影位置にバリエーションがある方が、よりロバストな姿勢推定が可能となる。撮影画像の枚数を追加して姿勢推定が行われることにより、パラメータの精度を向上させることが可能となる。
【0164】
再撮影を行うのではなく、4枚以上の撮影画像をあらかじめ撮影しておき、最低撮影枚数と同じ枚数の撮影画像を用いて、姿勢推定などが行われるようにしてもよい。閾値としての最低撮影枚数が増加されることに応じて、姿勢推定などに用いられる撮影画像の枚数が漸増することになる。
【0165】
また、静止画像ではなく動画像の撮影が行われ、姿勢推定などに用いられる撮影画像が適宜選択されるようにしてもよい。
【0166】
図21のフローチャートを参照して、図20のステップS82において行われるカメラ姿勢推定処理#2におけるカメラ内部パラメータ推定処理#2について説明する。
【0167】
図13を参照して説明したように、カメラ姿勢推定処理#1においては、カメラ内部パラメータを推定する処理が行われる(ステップS31)。カメラ内部パラメータ推定処理#2は、最低撮影枚数が図20のステップS88において増加され、例えば4枚以上の撮影画像が取得されている場合に行われる処理である。
【0168】
ステップS101において、カメラ姿勢推定部152は、3枚の撮影画像をランダムに選択し、選択した3枚の撮影画像の対応点情報を取得する。
【0169】
ステップS102,S103の処理は、図14のステップS42,S43の処理と同様の処理である。すなわち、1枚の基準画像の撮影時のカメラ109の位置と姿勢を基準とした、残りの2枚の比較画像の撮影時のカメラ109の相対的な位置と姿勢を表すホモグラフィ行列が算出され、カメラ内部パラメータが推定される。
【0170】
ステップS104において、カメラ姿勢推定部152は、カメラ内部パラメータを推定した回数が閾値として設定された所定の最大推定回数以上であるか否かを判定する。
【0171】
カメラ内部パラメータを推定した回数が最大推定回数未満であるとステップS104において判定された場合、処理はステップS105に進む。
【0172】
ステップS105において、カメラ姿勢推定部152は、カメラ内部パラメータの推定にそれまで用いていた3枚の撮影画像とは別の3枚の撮影画像を選択し、ステップS101以降の処理を行う。
【0173】
一方、カメラ内部パラメータを推定した回数が最大推定回数以上であるとステップS104において判定された場合、処理はステップS106に進む。
【0174】
ステップS106において、カメラ姿勢推定部152は、複数のカメラ内部パラメータを候補として、最適推定値となるカメラ内部パラメータを選択する。
【0175】
例えば、カメラ姿勢推定部152は、カメラ内部パラメータに基づいて投映面3上の各点の推定誤差を求める。カメラ姿勢推定部152は、求めた推定誤差に基づいて、推定誤差が最も小さい3枚の撮影画像の組み合わせを選択し、選択した撮影画像の組み合わせから推定したカメラ内部パラメータを最適推定値として選択する。
【0176】
図22は、最適推定値の選択例を示す図である。
【0177】
例えば、撮影画像(1)乃至(4)からなる4枚の撮影画像が取得されている場合、図22の上段に示すように、ランダムに選択された撮影画像(1)、(2)、(3)のそれぞれの対応点情報に基づいて、カメラの内部パラメータが推定される。
【0178】
また、図22の下段に示すように、撮影画像の組み合わせを変えて、撮影画像(1)、(2)、(4)のそれぞれの対応点情報に基づいて、カメラ内部パラメータが推定される。
【0179】
このように、撮影画像の組み合わせを順次変えて推定された複数のカメラ内部パラメータの中から、最適なカメラ内部パラメータが選択される。
【0180】
最適推定値となるカメラ内部パラメータの選択が、撮影角の分散に基づいて行われるようにしてもよい。
【0181】
この場合、カメラ姿勢推定部152は、撮影画像の各撮影位置に基づいて、投映面3の例えば中心に対する各撮影位置の角度である撮影角を計算する。カメラ姿勢推定部152は、撮影角の分散が最も大きい3枚の撮影画像の組み合わせから求められたカメラ内部パラメータを最適推定値として選択する。
【0182】
図23は、撮影角の例を示す図である。
【0183】
図23のA,Bに示すように、位置P31,P32,P33において撮影された撮影画像を用いてカメラ内部パラメータが推定されるとともに、位置P31、P32、P34において撮影された撮影画像を用いてカメラ内部パラメータが推定されているものとする。位置P31乃至P34は、カメラ姿勢推定部152によって撮影画像に基づいて推定された撮影位置である。
【0184】
この場合、特に、位置P32と位置P33が近いことから、位置P31,P32,P33の撮影角の分散は、図23のBに示す位置P31,P32,P34の撮影角の分散より小さくなる。
【0185】
したがって、この場合、カメラ姿勢推定部152は、各撮影位置の撮影角の分散が大きい撮影画像の組み合わせである、位置P31,P32,P34において撮影された撮影画像の組み合わせを用いて求めたカメラ内部パラメータを、最適推定値として選択することになる。
【0186】
上述したように、撮影位置にバリエーションがある方が、よりロバストな姿勢推定が可能となる。撮影角の分散が大きい3枚の撮影画像の組み合わせから求められたカメラ内部パラメータを最適推定値として選択することにより、精度の高い推定値を選択することができる。
【0187】
<第3の実施の形態(投映歪み補正の再試行時の処理の例)>
投映歪み補正が一度行われた場合、携帯端末1においては、一連の投映歪み補正に含まれる推定処理によって、カメラパラメータ、プロジェクタパラメータが推定され、取得されている。このような状態において、補正データの計算を含む一連の投映歪み補正を再度行う場合、カメラ内部パラメータについては、既に求められているカメラ内部パラメータが用いられるようにしてもよい。
【0188】
投映されたドットパターンの撮影を同じ携帯端末1を用いて行う場合、焦点距離などのカメラ内部パラメータについては、複数回の投映歪み補正においてそれぞれ推定を行ったとしても共通の値が算出される。すなわち、カメラ内部パラメータは、一度目の投映歪み補正時に推定された値を二度目以降の投映歪み補正時にも流用して使用することが可能なパラメータである。
【0189】
既に求めたカメラ内部パラメータを二度目以降の投映歪み補正時にも用いる場合の補正データ算出処理は、上述したカメラ姿勢推定処理#1(図13)の代わりにカメラ姿勢推定処理#3が行われる点を除いて、図9の補正データ算出処理#1と基本的に同様の処理となる。
【0190】
図24のフローチャートを参照して、携帯端末1のカメラ姿勢推定処理#3について説明する。
【0191】
カメラ姿勢推定処理#3においては、ステップS111の処理として破線で示すように、撮影画像の対応点情報に基づいてカメラ内部パラメータを推定する処理はスキップされる。カメラ姿勢推定部152は、一度目の投映歪み補正時に推定してメモリ110などに記憶させていたカメラ内部パラメータを読み出し、以降の処理を行う。
【0192】
ステップS112,S113の処理は、それぞれ、図13のステップS32,S33の処理と同様の処理である。
【0193】
以上の処理により、撮影画像の対応点情報に基づいてカメラ内部パラメータを推定する処理を省略することが可能となる。カメラ内部パラメータの推定を再度行う場合に比べて、計算量を抑えることができ、処理を高速化することが可能となる。
【0194】
<第4の実施の形態(撮影位置のガイドの例)>
図4を参照して説明したように、推定済みのカメラ外部パラメータに基づいて、撮影位置などのガイドとなる情報を提示することが可能となる。投映されたドットパターンの撮影を再度行う場合、適切な撮影位置をガイドするための情報が提示されるようにしてもよい。
【0195】
図25は、適切な撮影位置の提示例を示す図である。
【0196】
図25の例においては、撮影が既に行われた3箇所の撮影位置が携帯端末1の外観を表すアイコンI1乃至I3で表されるとともに、色付きのアイコンI11によって、適切な撮影位置が表示されている。投映面3の近傍の位置としてアイコンI11によって提示される撮影位置は、例えば、カメラパラメータなどに基づいて算出された位置である。
【0197】
また、図25の例においては、ディスプレイ106に表示されている位置で撮影を行うことをユーザに促すための音声が出力されている。
【0198】
このようなガイドを見たユーザは、アイコンI11によって表される投映面3の近傍の位置に移動して、投映面3に投映されたドットパターンの撮影を行うことになる。
【0199】
図26のフローチャートを参照して、適切な撮影位置の提示を含む携帯端末1の補正データ算出処理#3について説明する。
【0200】
ステップS121において、携帯端末1は、図9の補正データ算出処理#1と同様の処理を行う。
【0201】
ステップS122において、ガイド制御部134(図7)は、プロジェクタ姿勢推定部153から出力されたカメラパラメータに基づいて、適切な再撮影位置を算出する。例えば、既に撮影済みの位置から所定の距離だけ離れた位置が、適切な再撮影位置として算出される。
【0202】
ステップS123において、ガイド制御部134は、再撮影を行うか否かを判定する。例えば、推定誤差が閾値より大きい場合、再撮影を行うものとして判定される。
【0203】
再撮影を行うとステップS123において判定した場合、ステップS124において、ガイド制御部134は、ディスプレイ106とスピーカ108のうちの少なくともいずれかを制御し、適正な撮影位置をガイドするための情報を出力させる。
【0204】
ステップS125において、画像撮影部131は、提示された撮影位置に移動したユーザの操作に応じて、投映されたドットパターンを撮影する。その後、ステップS121に戻り、それ以降の処理が行われる。
【0205】
再撮影を行わないとステップS123において判定された場合、図26の処理は終了される。
【0206】
以上の処理により、携帯端末1は、例えば推定誤差を抑えるための撮影位置をユーザに提示することができる。携帯端末1は、再撮影によって得られた撮影画像に基づいて、既に求められたカメラパラメータとプロジェクタパラメータよりも精度の高いカメラパラメータとプロジェクタパラメータを推定することができる。
【0207】
<第5の実施の形態(補正箇所のユーザ指定の例1)>
投映歪み補正が一度行われた後、投映画像の歪みが気になる投映面3上の位置を、携帯端末1のユーザに指定させるようにしてもよい。
【0208】
図27は、投映面3上の位置の指定の例を示す図である。
【0209】
投映歪み補正が一度行われた後、携帯端末1は、投映画像の歪みが気になる位置を指定するための画面をディスプレイ106に表示させる。また、携帯端末1は、投映画像の歪みが気になる位置を指定することを促すための音声を出力させる。
【0210】
携帯端末1のユーザは、ディスプレイ106に表示された画面上の所定の位置を指で触れるなどして、投映画像の歪みが気になる投映面3上の位置を指定することができる。図27の左側に示す携帯端末1のディスプレイ106上の色つきの円は、投映面3の位置P51に対応する位置がユーザにより指定されたことを示す。
【0211】
投映面3上の所定の位置がユーザにより指定された場合、携帯端末1は、指定された投映面3上の位置の推定誤差が生じる原因となった撮影画像の撮影位置を特定する。例えば、白抜き矢印の先に示すように、撮影位置P61乃至P63において撮影された撮影画像に基づいて投映歪み補正が行われた後に、上述した位置P51がユーザにより指定された場合を考える。
【0212】
携帯端末1は、撮影位置P61乃至P63において撮影された撮影画像を用いて推定されたカメラパラメータに基づいて三角測量誤差を算出し、ユーザにより指定された投映面3上の位置における推定誤差に対する影響が最も大きい撮影画像の撮影位置が、例えば撮影位置P63であるとして特定する。
【0213】
この場合、携帯端末1は、撮影位置P61乃至P63と異なる位置である撮影位置P64を、図26を参照して説明したようにして適切な撮影位置としてユーザに提示し、再撮影を行わせる。携帯端末1は、再撮影が行われた後、撮影位置P63の撮影画像を除く、撮影位置P61、撮影位置P62、および撮影位置P64において撮影された3枚の撮影画像を用いて補正データ算出処理を行う。
【0214】
図28は、以上のようにしてカメラパラメータの推定に用いる撮影画像を切り替える機能を有する携帯端末1の撮影画像解析部132の構成例を示すブロック図である。
【0215】
なお、図28に示す構成のうち、図8に示す構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【0216】
図28に示す撮影画像解析部132の構成は、対応点検出部151、カメラ姿勢推定部152、プロジェクタ姿勢推定部153、および補正ベクトル生成部154に加えて、歪み発生原因特定部171を設けた構成となっている。
【0217】
歪み発生原因特定部171は、プロジェクタ姿勢推定部153から供給されたカメラパラメータに基づいて、ユーザにより指定された投映面3上の位置における推定誤差に対する影響が最も大きい撮影画像の撮影位置を特定する。
【0218】
歪み発生原因特定部171により特定された撮影位置は、例えばガイド制御部134に出力される。ガイド制御部134は、歪み発生原因特定部171により特定された位置とは異なる位置を、適切な撮影位置としてユーザに提示する。
【0219】
図29のフローチャートを参照して、携帯端末1の補正データ算出処理#4について説明する。
【0220】
ステップS131において、携帯端末1は、図9の補正データ算出処理#1と同様の処理を行う。
【0221】
ステップS132において、歪み発生原因特定部171は、タッチパネル107から供給される信号に基づいて、歪み発生箇所としてユーザにより指定された投映面3上の位置を取得する。
【0222】
ステップS133において、歪み発生原因特定部171は、プロジェクタ姿勢推定部153から出力されたカメラパラメータに基づいて、ユーザにより指定された投映面3上の位置における推定誤差が最も大きい撮影画像の撮影位置を特定する。
【0223】
ステップS134において、ガイド制御部134は、再撮影を行うか否かを判定する。
【0224】
再撮影を行うとステップS134において判定された場合、処理はステップS135に進む。
【0225】
ステップS135において、ガイド制御部134は、ディスプレイ106とスピーカ108のうちの少なくともいずれかを制御し、再撮影を行う位置をガイドするための情報を出力させる。
【0226】
ステップS136において、画像撮影部131は、提示した撮影位置に移動したユーザの操作に応じて、投映されたドットパターンを撮影する。その後、ステップS131に戻り、それ以降の処理が行われる。
【0227】
一方、再撮影を行わないとステップS134において判定された場合、図29の処理は終了される。
【0228】
以上の処理により、携帯端末1は、投映画像の歪みを低減させる補正データを生成することが可能となる。また、ユーザは、実際に投映された画像を見て、歪みが気になる位置を指定することが可能となる。
【0229】
<第6の実施の形態(補正箇所のユーザ指定の例2)>
投映画像の歪みが気になる位置を上述したようにしてユーザに指定させ、指定された位置を含む所定の範囲に、一度目の投映歪み補正時に投映したパターンより密度の高い精細パターンをプロジェクタ2から再度投映させるようにしてもよい。
【0230】
図30は、投映面3上の位置の指定と再投映の例を示す図である。
【0231】
図30の例においては、既知のパターン画像として、上述したドットパターンではなく、チェッカーパターンが用いられている。チェッカーパターンは、黒の略正方形の領域と白の略正方形の領域とを市松状に配置することによって構成されるパターンである。ドットパターンのドットが対応点として検出される代わりに、それぞれのチェッカーのコーナー点の位置が対応点として検出される。
【0232】
このように、姿勢推定に十分な精度の対応点を取得できる各種のパターンを用いることが可能である。例えば、正三角形のタイリングパターンや、ChAruCoマーカーが用いられるようにしてもよい。
【0233】
携帯端末1は、投映画像の歪みが気になる位置を指定するための画面をディスプレイ106に表示させる。また、携帯端末1は、投映画像の歪みが気になる位置を指定することを促すための音声を出力させる。
【0234】
携帯端末1のユーザは、ディスプレイ106に表示された画面上の所定の位置を指で触れるなどして、投映画像の歪みが気になる投映面3上の位置を指定することができる。図30の左側に示す携帯端末1のディスプレイ106上の色つきの円は、投映面3の対応する位置がユーザにより指定されたことを示す。
【0235】
投映面3上の所定の位置がユーザにより指定された場合、携帯端末1は、精細パターンを投映することを表す情報をプロジェクタ2に対して送信する。携帯端末1が送信する情報には、ユーザにより指定された投映面3上の位置を表す情報などが含まれる。
【0236】
プロジェクタ2は、携帯端末1から送信された情報に基づいて精細パターンを投映する。ユーザにより指定された位置を含む投映面3上の所定の範囲には、白抜き矢印の先に示すように、既に投映されたチェッカーパターンより密度の高いチェッカーパターンである精細パターンが投映される。
【0237】
投映された精細パターンを撮影して得られた撮影画像に基づいて、上述したようにして対応点検出、パラメータの推定などが行われる。これにより、携帯端末1は、ユーザにより指定された位置の近傍については、より精度の高い補正を行うことができる補正データを生成することが可能となる。
【0238】
図31のフローチャートを参照して、携帯端末1の補正データ算出処理#5について説明する。
【0239】
ステップS141において、携帯端末1は、図9の補正データ算出処理#1と同様の処理を行う。
【0240】
ステップS142において、携帯端末1のガイド制御部134は、タッチパネル107から供給される信号に基づいて、歪み発生箇所としてユーザにより指定された投映面3上の位置を取得する。ガイド制御部134により取得された位置を表す情報は、図示せぬ経路を介して送信部133に対して供給される。
【0241】
ステップS143において、送信部133は、ユーザにより指定された位置を含む投映面3上の所定の範囲に精細パターンを投映することを表す情報をプロジェクタ2に対して送信する。プロジェクタ2においては、携帯端末1からの指示に応じて、精細パターンの投映が行われる。
【0242】
ステップS144において、ガイド制御部134は、再撮影を行うか否かを判定する。
【0243】
再撮影を行うとステップS144において判定された場合、処理はステップS145に進む。
【0244】
ステップS145において、ガイド制御部134は、ディスプレイ106とスピーカ108のうちの少なくともいずれかを制御し、再撮影を行う位置をガイドするための情報を出力させる。
【0245】
例えば、ガイド制御部134は、一度目の投映歪み補正において用いられた撮影画像の撮影位置よりも投映面3に近傍の位置を、再撮影の位置として提示する。
【0246】
ステップS146において、画像撮影部131は、投映された精細パターンを例えば異なる撮影位置で複数回撮影する。その後、ステップS141に戻り、それ以降の処理が行われる。
【0247】
一方、再撮影を行わないとステップS144において判定された場合、処理はステップS147に進む。
【0248】
ステップS147において、補正ベクトル生成部154は、全試行の結果として生成された補正データを統合する。例えば、ユーザにより指定された位置を含む投映面3上の所定の範囲に投映される入力画像の範囲に対して高密度で補正を行うための補正ベクトルが生成される。一方、ユーザにより指定された位置を含む所定の範囲以外の範囲に投映される入力画像の範囲に対して低密度で補正を行うための補正ベクトルが生成される。
【0249】
このようにして生成された補正データは、プロジェクタ2に送信され、入力画像の幾何補正に用いられる。
【0250】
以上の処理により、投映画像の歪みを部分的に低減させる補正データを生成することが可能となる。
【0251】
<第7の実施の形態(パターン画像の分割撮影による推定の例)>
投映面3が広く、カメラ109の画角が狭い場合、投映面3全体を所定の数の領域に分割し、各領域を対象として以上のような補正データの算出が行われるようにしてもよい。投映面3全体を対象とした補正データを得るために、上述した補正データの算出処理が複数回行われることになる。例えば、分割した領域毎に、高密度のパターンが投映される。
【0252】
図32は、領域の分割の例を示す図である。
【0253】
図32の例においては、投映面3全体が投映領域#1乃至#3の3つの領域に分割されている。例えば、それぞれの領域に対して、図32に示すように所定のパターンが投映される。
【0254】
このような形で投映面3の分割が行われた場合、例えば、携帯端末1は、投映領域#1に投映されたパターンを、異なる撮影位置で複数回撮影する。携帯端末1は、撮影画像を用いて補正データ算出処理#1を行い、投映領域#1に投映される入力画像の範囲用の補正ベクトルを生成する。
【0255】
また、携帯端末1は、投映領域#2に投映されたパターンを、異なる撮影位置で複数回撮影する。携帯端末1は、撮影画像を用いて補正データ算出処理#1を行い、投映領域#2に投映される入力画像の範囲用の補正ベクトルを生成する。
【0256】
さらに、携帯端末1は、投映領域#3に投映されたパターンを、異なる撮影位置で複数回撮影する。携帯端末1は、撮影画像を用いて補正データ算出処理#1を行い、投映領域#3に投映される入力画像の範囲用の補正ベクトルを生成する。
【0257】
図32の例においては、投映面3の全体が3つの投映領域に分割されているが、任意の数の領域に分割されるようにしてもよい。
【0258】
なお、投映領域#1乃至#3に対するパターンの投映は1台のプロジェクタ2により行われる。投映領域#1乃至#3のそれぞれを対象とした補正データ算出処理#1により推定されるプロジェクタ2の位置と姿勢は共通となる。
【0259】
図33のフローチャートを参照して、携帯端末1の補正データ算出処理#6について説明する。
【0260】
図33の補正データ算出処理#6は、例えば、投映歪み補正用アプリケーションがアクティブとなり、高密度のパターンがプロジェクタ2により投映面3に投映されたときに開始される。
【0261】
ステップS151において、携帯端末1は、図9の補正データ算出処理#1と同様の処理を行う。
【0262】
ステップS152において、補正ベクトル生成部154は、パターンを撮影した範囲が投映範囲の全体(投映面3の全体)をカバーしたか否かを判定する。
【0263】
撮影した範囲が投映範囲の全体をカバーしていないとステップS152において判定された場合、処理はステップS153に進む。
【0264】
ステップS153において、画像撮影部131は、既に撮影された撮影領域と異なる撮影領域を対象として、異なる位置で複数回撮影する。その後、ステップS151に戻り、それ以降の処理が行われる。
【0265】
一方、パターンを撮影した範囲が投映範囲の全体を網羅したとステップS152において判定された場合、処理はステップS154に進む。
【0266】
ステップS154において、補正ベクトル生成部154は、プロジェクタ2の姿勢に基づいて、全ての撮影画像の撮影時の姿勢を統合する。
【0267】
ステップS155において、補正ベクトル生成部154は、それぞれの投映領域を対象として生成された補正ベクトルを統合し、投映範囲全体に対応する補正データを生成する。
【0268】
以上の処理により、カメラ109の画角が狭く、1枚の撮影画像に投映範囲全体を写すことができない場合であっても、携帯端末1は、投映範囲全体を対象とした補正データを生成することが可能となる。
【0269】
<その他>
・システム構成について
画像撮影部131、撮影画像解析部132、画像補正部142、および、投映制御部143のうち、画像撮影部131と撮影画像解析部132が携帯端末1に設けられ、画像補正部142と投映制御部143がプロジェクタ2に設けられるものとしたが(図7)、撮影画像解析部132と画像補正部142については、いずれのデバイスに設けられるようにしてもよい。
【0270】
すなわち、画像撮影部131、撮影画像解析部132、および画像補正部142が携帯端末1に設けられ、投映制御部143がプロジェクタ2に設けられるようにすることが可能である。この場合、携帯端末1の画像補正部142において幾何補正が行われることによって生成された補正画像がプロジェクタ2に対して送信され、投映制御部143によって投映される。
【0271】
また、画像撮影部131が携帯端末1に設けられ、撮影画像解析部132、画像補正部142、および投映制御部143がプロジェクタ2に設けられるようにすることが可能である。この場合、携帯端末1の画像撮影部131により撮影された、ドットパターンなどが写る撮影画像がプロジェクタ2に対して送信され、補正データの生成に用いられる。
【0272】
このように、システム構成については任意に変更可能である。
【0273】
・プログラムについて
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、汎用のパーソナルコンピュータなどにインストールされる。
【0274】
インストールされるプログラムは、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)など)や半導体メモリなどよりなる図5に示すリムーバブルメディア113に記録して提供される。また、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供されるようにしてもよい。プログラムは、ROM102やメモリ110に、あらかじめインストールしておくことができる。
【0275】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたときなどの必要なタイミングで処理が行われるプログラムであっても良い。
【0276】
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)など)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0277】
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【0278】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0279】
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0280】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0281】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0282】
・構成の組み合わせ例
本技術は、以下のような構成をとることもできる。
【0283】
(1)
投映装置によって投映面に投映された投映画像と、前記投映画像を複数の撮影位置で撮影して得られた複数の撮影画像とに基づいて、それぞれの画像上の対応点を検出する検出部と、
前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の姿勢とを含む撮影パラメータと、前記投映装置の位置および姿勢を含む投映パラメータとを推定する推定部と、
前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成する生成部と、
前記補正データを送信する送信部と
を備える情報処理装置。
(2)
前記補正データは、前記投映装置において用いられる情報であり、
前記送信部は、前記投映装置に前記補正データを送信する
前記(1)に記載の情報処理装置。
(3)
前記投映装置によって前記投映面に投映された前記投映画像を撮影する撮影部をさらに備える
前記(1)または(2)に記載の情報処理装置。
(4)
前記撮影画像の枚数は3枚以上である
前記(1)乃至(3)のいずれかに記載の情報処理装置。
(5)
前記検出部は、前記撮影パラメータに基づいて求められる前記投映面の推定誤差が閾値より大きい場合、追加された前記撮影画像上の前記対応点を検出する
前記(1)に記載の情報処理装置。
(6)
前記推定部は、複数の前記撮影画像の組み合わせを切り替えて前記撮影パラメータの推定を行う
前記(5)に記載の情報処理装置。
(7)
前記推定部は、前記撮影パラメータに基づいて求められる前記投映面の前記推定誤差に基づいて、または、撮影角の分散に基づいて、前記補正データの生成に用いる前記撮影画像の前記組み合わせを選択する
前記(6)に記載の情報処理装置。
(8)
前記推定部は、前記撮影画像に共通する前記撮影パラメータに基づいて、追加された前記撮影画像の前記撮影パラメータを推定する
前記(1)に記載の情報処理装置。
(9)
前記撮影パラメータに基づいて、前記撮影位置のガイドとなる情報を出力するガイド制御部をさらに備える
前記(1)乃至(8)のいずれかに記載の情報処理装置。
(10)
前記ガイド制御部は、撮影が既に行われた前記撮影位置と異なる位置を表示させる
前記(9)に記載の情報処理装置。
(11)
前記検出部は、撮影が既に行われた前記撮影位置と異なる位置で撮影して得られた前記撮影画像を用いて前記対応点を検出する
前記(10)に記載の情報処理装置。
(12)
前記ガイド制御部は、前記投映面上の所定の位置の指定に用いられる情報を出力し、
指定された前記投映面上の位置の推定誤差が生じる原因となった前記撮影位置を特定する特定部をさらに備える
前記(9)に記載の情報処理装置。
(13)
前記検出部は、特定された前記撮影位置とは異なる位置を前記撮影位置として再度撮影して得られた前記撮影画像を用いて前記対応点を検出する
前記(12)に記載の情報処理装置。
(14)
前記ガイド制御部は、前記投映面上の所定の位置の指定に用いられる情報を出力し、
前記送信部は、指定された前記投映面上の位置を含む所定の範囲に、前記投映画像として投映されたパターンより密度の高い他のパターンを投映することを表す情報を前記投映装置に対して送信する
前記(9)に記載の情報処理装置。
(15)
前記検出部は、投映された前記他のパターンを撮影して得られた前記撮影画像を用いて前記対応点を検出する
前記(14)に記載の情報処理装置。
(16)
前記検出部は、前記投映面全体を分割して得られた複数の投映領域のそれぞれに投映された前記投映画像を対象として撮影されたそれぞれの複数の前記撮影画像に基づいて前記対応点を検出し、
前記生成部は、それぞれの前記投映画像を対象として生成された複数の前記補正データを統合する
前記(1)乃至(15)のいずれかに記載の情報処理装置。
(17)
情報処理装置が、
投映装置によって投映面に投映された投映画像と、前記投映画像を複数の撮影位置で撮影して得られた複数の撮影画像とに基づいて、それぞれの画像上の対応点を検出し、
前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の姿勢とを含む撮影パラメータと、前記投映装置の位置および姿勢を含む投映パラメータとを推定し、
前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成し、
前記補正データを送信する
情報処理方法。
(18)
コンピュータに、
投映装置によって投映面に投映された投映画像と、前記投映画像を複数の撮影位置で撮影して得られた複数の撮影画像とに基づいて、それぞれの画像上の対応点を検出し、
前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の姿勢とを含む撮影パラメータと、前記投映装置の位置および姿勢を含む投映パラメータとを推定し、
前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成し、
前記補正データを送信する
処理を実行させるためのプログラム。
(19)
投映画像を投映面に投映する投映部と、
前記投映画像を複数の撮影位置で撮影して得られた複数の撮影画像と、前記投映画像とに基づいて、それぞれの画像上の対応点を検出し、前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の姿勢とを含む撮影パラメータと、前記投映装置の位置および姿勢を含む投映パラメータとを推定し、前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成する情報処理装置から送信されてきた、前記補正データを受信する受信部と、
前記補正データに基づいて、前記入力画像に対して前記幾何補正を施し、補正画像を生成する生成部と
を備える投映装置。
(20)
投映装置によって投映面に投映された投映画像と、前記投映画像を複数の撮影位置で撮影して得られた複数の撮影画像とに基づいて、それぞれの画像上の対応点を検出する検出部と、
前記対応点の関係を表す対応点情報に基づいて、複数の前記撮影位置とそれぞれの前記撮影位置における撮影時の姿勢とを含む撮影パラメータと、前記投映装置の位置および姿勢を含む投映パラメータとを推定する推定部と、
前記対応点情報、前記撮影パラメータ、および前記投映パラメータに基づいて入力画像の幾何補正に用いられる補正データを生成する生成部と、
前記補正データを送信する送信部と
を備える情報処理装置と、
前記投映画像を投映面に投映する投映部と、
前記情報処理装置から送信されてきた前記補正データを受信する受信部と、
前記補正データに基づいて、前記入力画像に対して前記幾何補正を施し、補正画像を生成する生成部と
を備える前記投映装置と
を含むように構成された情報処理システム。
【符号の説明】
【0284】
1 携帯端末, 2 プロジェクタ, 131 画像撮影部, 132 撮影画像解析部, 133 送信部, 134 ガイド制御部, 141 受信部, 142 画像補正部, 143 投映制御部, 151 対応点検出部, 152 カメラ姿勢推定部, 153 プロジェクタ姿勢推定部, 154 補正ベクトル生成部, 171 歪み発生原因特定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33