(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024087977
(43)【公開日】2024-07-02
(54)【発明の名称】投影制御装置、投影システム、投影制御方法及びプログラム
(51)【国際特許分類】
H04N 5/74 20060101AFI20240625BHJP
G03B 21/00 20060101ALI20240625BHJP
G09G 5/00 20060101ALI20240625BHJP
G09G 5/373 20060101ALI20240625BHJP
G09G 5/37 20060101ALI20240625BHJP
G06T 7/70 20170101ALI20240625BHJP
【FI】
H04N5/74 D
G03B21/00 D
G09G5/00 510B
G09G5/00 550C
G09G5/373 100
G09G5/37 320
G09G5/373 200
G06T7/70 A
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022202905
(22)【出願日】2022-12-20
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】斎藤 浩
【テーマコード(参考)】
2K203
5C058
5C182
5L096
【Fターム(参考)】
2K203FA25
2K203FA62
2K203FA82
2K203FA92
2K203FB04
2K203GB33
2K203GB48
2K203KA36
2K203KA83
2K203KA85
2K203MA21
5C058BA35
5C058EA02
5C182AA03
5C182AA04
5C182AA14
5C182AC02
5C182AC03
5C182AC35
5C182BA01
5C182BA03
5C182BA04
5C182BA06
5C182BA14
5C182BA26
5C182BA29
5C182BC03
5C182BC22
5C182BC25
5C182BC26
5C182CA01
5C182CA21
5C182CB11
5C182CB13
5C182CB14
5C182CB23
5C182CB44
5C182CB47
5C182CC26
5L096AA06
5L096AA09
5L096BA08
5L096CA02
5L096DA02
5L096FA66
5L096FA67
5L096FA69
(57)【要約】
【課題】画像の投影に係るより高度な視覚効果を実現する。
【解決手段】投影制御装置は、投影装置による投影可能領域内にある投影対象について、投影対象の位置及び向きの少なくとも一方の変化に応じて、投影装置により投影対象の表面に投影させる投影画像の投影内容を異ならせる制御手段を備える。投影システムは、画像を投影する投影装置と、投影装置の動作を制御する投影制御装置と、を備え、投影制御装置は、投影装置による投影可能領域内にある投影対象について、投影対象の位置及び向きの少なくとも一方の変化に応じて、投影装置により投影対象の表面に投影させる投影画像の投影内容を異ならせる制御手段を備える。
【選択図】
図18
【特許請求の範囲】
【請求項1】
投影装置による投影可能領域内にある投影対象について、前記投影対象の位置及び向きの少なくとも一方の変化に応じて、前記投影装置により前記投影対象の表面に投影させる投影画像の投影内容を異ならせる制御手段を備える投影制御装置。
【請求項2】
前記制御手段は、予め定められた位置から前記投影対象までの距離に対応する距離値を特定し、当該距離値に基づいて前記投影対象の前記位置を特定し、前記距離値に応じて表示倍率が異なるように調整された前記投影画像を、前記投影装置により前記投影対象の表面に投影させる、
請求項1に記載の投影制御装置。
【請求項3】
前記制御手段は、前記距離値が小さいほど前記表示倍率が大きくなるように調整された前記投影画像を、前記投影装置により前記投影対象の表面に投影させる、
請求項2に記載の投影制御装置。
【請求項4】
前記制御手段は、前記投影可能領域を含む範囲が撮影された画像である二次元撮影画像を取得し、当該二次元撮影画像における前記投影対象の画像内位置に基づいて前記投影対象の前記位置を特定し、所定の元画像のうち、前記二次元撮影画像における前記投影対象の前記画像内位置に対応する一部を、前記投影画像として前記投影対象の表面に投影させる、
請求項1に記載の投影制御装置。
【請求項5】
前記制御手段は、所定の元画像のうち、前記投影対象の前記向きに対応する一部を、前記投影画像として前記投影対象の表面に投影させる、
請求項1に記載の投影制御装置。
【請求項6】
前記制御手段は、前記投影装置により、前記投影可能領域内にある複数の前記投影対象の各々の表面にそれぞれ前記投影画像を投影させ、前記複数の投影対象の各々の位置及び向きの少なくとも一方の変化に応じて、各投影対象の表面に投影させる前記投影画像の内容を異ならせる、
請求項1に記載の投影制御装置。
【請求項7】
前記制御手段は、前記投影対象の特徴を特定し、特定された前記特徴に応じた内容の前記投影画像を、前記投影装置により前記投影対象の表面に対して投影させる、
請求項1に記載の投影制御装置。
【請求項8】
前記制御手段は、深度カメラによる前記投影対象の撮像結果に基づいて、予め定められた位置から前記投影対象までの距離に対応する距離値を特定し、当該距離値に基づいて前記投影対象の位置を特定する、
請求項1に記載の投影制御装置。
【請求項9】
画像を投影する投影装置と、
前記投影装置の動作を制御する投影制御装置と、
を備え、
前記投影制御装置は、前記投影装置による投影可能領域内にある投影対象について、前記投影対象の位置及び向きの少なくとも一方の変化に応じて、前記投影装置により前記投影対象の表面に投影させる投影画像の投影内容を異ならせる制御手段を備える、
投影システム。
【請求項10】
コンピュータが実行する投影制御方法であって、
投影装置による投影可能領域内にある投影対象について、前記投影対象の位置及び向きの少なくとも一方の変化に応じて、前記投影装置により前記投影対象の表面に投影させる投影画像の投影内容を異ならせる、
投影制御方法。
【請求項11】
コンピュータを、
投影装置による投影可能領域内にある投影対象について、前記投影対象の位置及び向きの少なくとも一方の変化に応じて、前記投影装置により前記投影対象の表面に投影させる投影画像の投影内容を異ならせる制御手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、投影制御装置、投影システム、投影制御方法及びプログラム
に関する。
【背景技術】
【0002】
従来、投影装置による投影可能領域内に位置する立体等の投影対象の表面に対して、選択的に投影画像を投影するプロジェクションマッピングが知られている(例えば、特許文献1)。このプロジェクションマッピングにおいては、投影可能領域内で投影対象が移動した場合に、投影画像が投影対象に追従するように投影画像の投影位置をリアルタイムに変更する技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の技術では、投影画像によって表面が装飾された投影対象が動いているような視覚効果が得られる反面、投影対象の表面に投影される投影画像の内容は固定されたままである。このため、投影対象の状態を投影画像の内容に反映させるといった、より高度な視覚効果を実現することができないという課題がある。
【0005】
本発明は、画像の投影に係るより高度な視覚効果を実現することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る投影制御装置は、
投影装置による投影可能領域内にある投影対象について、前記投影対象の位置及び向きの少なくとも一方の変化に応じて、前記投影装置により前記投影対象の表面に投影させる投影画像の投影内容を異ならせる制御手段を備える。
【0007】
上記課題を解決するため、本発明に係る投影システムは、
画像を投影する投影装置と、
前記投影装置の動作を制御する投影制御装置と、
を備え、
前記投影制御装置は、前記投影装置による投影可能領域内にある投影対象について、前記投影対象の位置及び向きの少なくとも一方の変化に応じて、前記投影装置により前記投影対象の表面に投影させる投影画像の投影内容を異ならせる制御手段を備える。
【0008】
上記課題を解決するため、本発明に係る投影制御方法は、
コンピュータが実行する投影制御方法であって、
投影装置による投影可能領域内にある投影対象について、前記投影対象の位置及び向きの少なくとも一方の変化に応じて、前記投影装置により前記投影対象の表面に投影させる投影画像の投影内容を異ならせる。
【0009】
上記課題を解決するため、本発明に係るプログラムは、
コンピュータを、
投影装置による投影可能領域内にある投影対象について、前記投影対象の位置及び向きの少なくとも一方の変化に応じて、前記投影装置により前記投影対象の表面に投影させる投影画像の投影内容を異ならせる制御手段、
として機能させる。
【発明の効果】
【0010】
本発明によれば、画像の投影に係るより高度な視覚効果を実現することができる。
【図面の簡単な説明】
【0011】
【
図2】投影制御装置の機能構成を示すブロック図である。
【
図3】
図1に示す状況において撮影された2D画像データを示す。
【
図4】投影画像として抽出される部分を含む地図に係る抽出元画像データを示す。
【
図5】投影対象の距離値の変化に応じて投影画像の表示倍率を大きくする例を示す図である。
【
図6】代表点が点Paから点Pbに移動した場合の投影画像の変化を示す図である。
【
図7】投影対象の距離値の変化に応じて投影画像の表示倍率を小さくする例を示す図である。
【
図8】代表点が点Paから点Pcに移動した場合の投影画像の変化を示す図である。
【
図9】投影装置から見て左右方向への投影対象の移動に応じて投影画像の表示内容を変更する例を示す図である。
【
図10】
図9に示す投影対象の移動の前後に撮影された2D画像データを示す図である。
【
図11】代表点が点Paから点Pdに移動した場合の投影画像の変化を示す図である。
【
図12】ユーザが投影対象を保持する高さを変化させる前後に撮影された2D画像データを示す図である。
【
図13】代表点が点Pdから点Peに移動した場合の投影画像の変化を示す図である。
【
図14】投影対象の向きの変化に応じて投影画像の表示内容を変更する例を示す図である。
【
図15】
図14に示すように投影対象の向きが変化した場合の投影画像の変化を示す図である。
【
図16】投影可能領域内に複数の投影対象がある場合の投影画像の投影動作を示す図である。
【
図17】
図16の状態において各投影対象に投影される投影画像を示す図である。
【
図18】画像投影処理の制御手順を示すフローチャートである。
【
図19】変形例に係る投影画像の変化を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を図面に基づいて説明する。
【0013】
(情報処理システムの概要及び構成)
図1は、本実施形態の投影システム1の構成を示す模式図である。
投影システム1は、投影制御装置10と、撮影装置20と、投影装置30(プロジェクタ)とを備える。投影制御装置10は、無線又は有線により撮影装置20及び投影装置30と通信接続されており、撮影装置20及び投影装置30との間で、制御信号や画像データ等のデータの送受信を行うことが可能となっている。投影システム1は、投影制御装置10による制御に従って投影装置30が投影対象40の表面41に対して選択的に投影画像50を投影することで、プロジェクションマッピングを行う。
【0014】
本実施形態では、投影装置30による投影可能領域R内に位置するユーザ80が、プロジェクションマッピングにおいて投影画像50が投影される投影対象40を保持している場合を例に挙げて説明する。投影対象40は、本実施形態では板状のスクリーンである。また、投影対象40の表面41が投影装置30に向けられているものとする。
【0015】
投影装置30は、画像データに基づいて強度分布が調整された光を投影可能面Sに向けて射出することで、投影可能面Sに画像を投影することができる。投影装置30の構成は、特には限られないが、例えば、光源と、表示素子と、投影レンズ群などを備えた構成とすることができる。表示素子は、例えばデジタルマイクロミラー素子(DMD)であり、光源から出力された光の強度分布を調整して光像を形成する。投影レンズ群は、表示素子が形成した光像を集光して投影可能面Sに向けて射出する。
【0016】
本実施形態において、投影可能面Sは、鉛直方向に平行であり、かつ、鉛直方向上方から見て、投影装置30による光の射出方向(射出される光束の中心が通る方向)に対して垂直であるものとする。投影可能面Sは、仮想的な面であってもよい。この場合、「投影可能面Sに画像を投影することができる」とは、投影可能面Sにスクリーンがあったと仮定した場合に当該スクリーンに画像を投影可能であることをいう。投影装置30から射出されて投影可能面Sに至る光が通過する領域が、投影可能領域Rに相当する。
【0017】
以下では、鉛直方向上向きの方向をY方向とし、投影可能面Sに平行かつY方向に垂直な方向のうち、投影装置30から投影可能面Sを見た場合における右方向をX方向とし、X方向及びY方向に垂直、かつ投影装置30から投影可能面Sに向かう方向をZ方向とする。また、投影装置30から光が射出される位置(例えば、投影レンズ群のうち最後に光が透過するレンズの位置)を、射出位置P0とする。
【0018】
投影装置30には、投影制御装置10から、プロジェクションマッピングに用いられる投影用画像データ133(
図2参照)が送信される。この投影用画像データ133は、投影対象40の表面41に投影される範囲に投影画像50のデータを含み、投影画像50以外の部分がマスクされている(すなわち、黒色に対応する画素値となっている)画像データである。投影装置30は、この投影用画像データ133に基づいて強度分布が調整された光を射出位置P0から投影可能面Sに向けて射出することで、投影対象40の表面41に対して選択的に投影画像50を投影するプロジェクションマッピングを行うことができる。
【0019】
撮影装置20は、2Dカメラ21及び深度カメラ22を備える。
図1では、撮影装置20は、投影装置30の上部に設置されている。撮影装置20の設置位置はこれに限られないが、2Dカメラ21及び深度カメラ22が、投影装置30の光の射出位置P0の近傍範囲に位置していることが好ましい。
【0020】
2Dカメラ21は、射出位置P0の近傍範囲内から、投影可能面S及び投影可能領域Rを含む撮影範囲RSを撮影して、2D画像データ132a(
図2、
図3参照)(二次元撮影画像)を生成する。本実施形態では、2D画像データ132aはカラー画像データであるが、モノクロ画像データであってもよい。
図1では、撮影範囲RSが投影可能領域Rに略一致しているものとする。ただし、撮影範囲RSは、投影可能領域Rを含むより広い範囲であってもよい。
【0021】
深度カメラ22は、射出位置P0の近傍範囲内から撮影範囲RSを撮影して、撮影範囲RS内に位置する物体の深度情報を含む深度画像データ132b(
図2参照)を生成する。深度画像データ132bは、各画素が、上記の物体(測距対象物)の奥行き(深度カメラ22から測距対象物までの距離)に係る深度情報を含む。深度カメラ22としては、例えば、TOF(Time Of Flight)方式で距離を検出するもの、又はステレオ方式で距離を検出するものなどを用いることができる。
2Dカメラ21により生成された2D画像データ132a、及び深度カメラにより生成された深度画像データ132bは、撮影画像データ132(
図2参照)として投影制御装置10の記憶部13に記録される。
【0022】
撮影装置20の2Dカメラ21及び深度カメラ22は、上記の撮影範囲RSを所定のフレームレートで連続して撮影する。
図1に示す撮影装置20では、2Dカメラ21及び深度カメラ22が別個に設けられているが、各カメラが撮影範囲RSを撮影可能であれば、この構成に限定されない。例えば、2Dカメラ21及び深度カメラ22が一体となっている構成であってもよい。
【0023】
また、2Dカメラ21及び深度カメラ22は、撮影範囲RSを少なくとも含む範囲を撮影可能であればよく、2Dカメラ21により撮影される画角と、深度カメラ22により撮影される画角とが異なっていてもよい。また、2Dカメラ21により撮影される画角と、深度カメラ22により撮影される画角とが重複する範囲においては、2D画像データ132aの画素と、深度画像データ132bの画素との対応付けがなされている。これにより、2D画像データ132aにおける任意の画素を指定した場合に、深度画像データ132bにおいて当該画素に対応する画素を特定することができる。よって、2D画像データ132aにおける任意の画素について、測距対象物の深度情報を取得することができる。
【0024】
投影制御装置10は、撮影装置20が取得した2D画像データ132a及び深度画像データ132bに基づいて、投影可能領域R内にある投影対象40の状態を特定する。投影対象40の状態は、投影可能領域Rにおける投影対象40の位置、及び投影対象40の向き(姿勢)の少なくとも一方により定まる。本実施形態では、投影対象40の位置及び向きの両方により投影対象40の状態が特定されるものとする。
【0025】
また、投影制御装置10は、特定した投影対象40の状態に基づいて、当該状態に応じた内容の投影画像50を投影対象40の表面に投影するための投影用画像データ133を生成する。また、投影制御装置10は、生成した投影用画像データ133を投影装置30に送信することで、投影装置30により投影対象40の表面41に対して投影画像50を選択的に投影させる。これにより、プロジェクションマッピングが実現される。
【0026】
図2は、投影制御装置10の機能構成を示すブロック図である。
投影制御装置10は、CPU11(Central Processing Unit)と、RAM12(Random Access Memory)と、記憶部13と、操作部14と、表示部15と、通信部16と、バス17などを備える。投影制御装置10の各部は、バス17を介して接続されている。投影制御装置10は、本実施形態ではノートPCであるが、これに限られず、例えば据置型のPC、スマートフォン、又はタブレット型端末などであってもよい。
【0027】
CPU11は、記憶部13に記憶されているプログラム131を読み出して実行し、各種演算処理を行うことで、投影制御装置10の動作を制御するプロセッサ(処理部)である。CPU11は、プログラム131に従って所定の処理を実行することにより、「制御手段」として機能する。なお、投影制御装置10は、複数のプロセッサ(複数のCPU等)を有していてもよく、本実施形態のCPU11が実行する複数の処理を、当該複数のプロセッサが実行してもよい。この場合には、複数のプロセッサが「処理部」に相当し、また「制御手段」として機能する。また、この場合において、複数のプロセッサが共通の処理に関与してもよいし、あるいは、複数のプロセッサが独立に異なる処理を並列に実行してもよい。
【0028】
RAM12は、CPU11に作業用のメモリ空間を提供し、一時データを記憶する。
【0029】
記憶部13は、コンピュータとしてのCPU11により読み取り可能な非一時的な記録媒体であり、プログラム131及び各種データを記憶する。記憶部13は、例えばHDD(Hard Disk Drive)、SSD(Solid State Drive)等の不揮発性メモリを含む。プログラム131は、コンピュータが読み取り可能なプログラムコードの形態で記憶部13に格納されている。記憶部13に記憶されるデータとしては、撮影装置20から受信した2D画像データ132a及び深度画像データ132bを含む撮影画像データ132と、上述した投影用画像データ133と、投影用画像データ133の生成に用いられる抽出元画像データ134(元画像)などがある。
【0030】
操作部14は、表示部15の表示画面に重ねられて設けられたタッチパネル、物理ボタン、マウスなどのポインティングデバイス、及びキーボードなどの入力装置のうち少なくとも1つを有し、入力装置に対する入力操作に応じた操作情報をCPU11に出力する。
【0031】
表示部15は、液晶ディスプレイなどの表示装置を備え、CPU11からの表示制御信号に従って表示装置において各種表示を行う。
【0032】
通信部16は、ネットワークカード又は通信モジュール等により構成され、撮影装置20及び投影装置30との間で所定の通信規格に従ってデータの送受信を行う。また、通信部16は、撮影装置20及び投影装置30以外の外部装置との間でデータの送受信を行うことが可能であってもよい。
【0033】
(情報処理システムの動作)
次に、投影システム1の動作について、プロジェクションマッピングを行うために投影制御装置10が行う動作を中心に詳細に説明する。以下に説明する動作の主体は、特に明示しない場合には投影制御装置10のCPU11である。
【0034】
上述したように、投影システム1において行われるプロジェクションマッピングに係る動作の概要は以下のとおりである。
(1)撮影装置20から送信された撮影画像データ132に基づいて、投影対象40の状態(位置及び向き)を特定する。
(2)特定された投影対象40の状態に基づいて、投影対象40に投影する投影画像50の内容を決定する。また、決定した内容の投影画像50を投影対象40の表面41に投影させるための投影用画像データ133を生成する。
(3)投影用画像データ133を投影装置30に送信し、投影装置30により投影対象40の表面41に対して投影画像50を選択的に投影させる。
この動作により、投影対象の位置及び向きの少なくとも一方の変化に応じて、投影装置30により投影対象40の表面41に投影させる投影画像50の投影内容を異ならせることができる。別の観点では、上記動作により、特定された投影対象40の状態に応じて内容が異なる投影画像50が、投影装置30により投影対象40の表面41に投影される。
以下、(1)~(3)の各々について、
図1及び
図3に示す状況を例に挙げて詳述する。
【0035】
<(1)投影対象の状態の特定>
投影制御装置10のCPU11は、撮影装置20から、2Dカメラ21により撮影された2D画像データ132a、及び深度カメラ22により撮影された深度画像データ132bを取得する。
【0036】
図3は、
図1に示す状況において撮影された2D画像データ132aを示す。
図3の2D画像データ132aにおける右方向をXa方向とし、上方向をYa方向とする。2D画像データ132aのXa方向についての各位置は、
図1のX方向についての各位置に対応し、2D画像データ132aのYa方向についての各位置は、
図2のY方向についての各位置に対応する。
【0037】
CPU11は、2D画像データ132a及び深度画像データ132bの各々において、撮影されている投影対象40を抽出(検出)する。投影対象40を抽出する方法は、特には限られない。一例を挙げると、2D画像データ132aに対して所定の画像認識処理を行って、2D画像データ132aにおいて、予め登録されている投影対象40の形状及び/又は色を含む部分を抽出する方法を用いてもよい。また、動的に周囲との色差等に基づいて投影画像50を識別して抽出してもよい。また、2D画像データ132a及び深度画像データ132bの画素の対応関係に基づいて、2D画像データ132aにおける投影対象40の抽出結果から、深度画像データ132bにおいて投影対象40に対応する部分を抽出してもよい。
【0038】
CPU11は、2D画像データ132aにおいて、抽出した投影対象40の代表点Pの画像内位置(XaYa座標平面上の位置)を特定する。画像内位置は、例えば、2D画像データ132aを構成する画素マトリクスにおける、代表点Pに相当する画素の行方向行及び列方向の位置により特定される。代表点Pは、投影可能領域Rにおける投影対象40の位置を表す。代表点Pは、例えば投影対象40の表面41の中心とすることができるが、これに限定されない。以下では、「投影対象40の位置」と記した場合には、「投影対象40の代表点Pの位置」を表すものとする。
図1及び
図3に示す例において、投影対象40の代表点Pは点Paにあるものとする。
【0039】
また、CPU11は、深度画像データ132bにおいても代表点Pを特定し、当該代表点Pの画素の深度情報に基づいて、射出位置P0から代表点Pまでの距離に対応する距離値を特定する。ここで、距離値は、射出位置P0から代表点Pまでの距離に限られず、当該距離に対応する値であってもよい。
例えば、距離値は、代表点Pに係る深度情報から特定された距離そのもの(すなわち、深度カメラ22による距離測定の基準点から代表点Pまでの距離)であってもよい。
また、距離値は、射出位置P0と代表点Pとを結ぶ仮想線分をXZ平面に投影した仮想線分の長さであってもよい。
また、距離値は、代表点Pを通りZ方向に垂直な仮想面と、射出位置P0(又は深度カメラ22による距離測定の基準点)とのZ方向についての距離としてもよい。
本実施形態では、距離値は、代表点Pを通りZ方向に垂直な仮想面(例えば、
図5の仮想面Sa、Sb)と、射出位置P0とのZ方向についての距離(例えば、
図5の距離値D1、D2)であるものとする。
なお、距離値は、予め定められた位置から投影対象40(代表点P)までの距離に対応する値としてもよく、上記の「予め定められた位置」は、射出位置P0とは異なる位置であってもよい。
【0040】
2D画像データ132aにおける代表点Pの画像内位置と、上述の距離値とに基づいて、投影可能領域Rにおける投影対象40の位置が特定される。
【0041】
また、CPU11は、深度画像データ132bに基づいて、投影対象40の向きを特定する。例えば、CPU11は、投影対象40の4つの角部のうち少なくとも3点についての深度情報に基づいて、投影対象40の表面41の法線の向きを導出する。
導出した投影対象40の向きと、上述した投影可能領域Rにおける投影対象40の位置と、により、投影対象40の状態が特定される。
【0042】
<(2)投影画像の内容の決定、及び投影用画像データの生成>
次に、CPU11は、特定された投影対象40の状態に基づいて、投影画像50の内容を決定する。本実施形態では、所定の地図のうち、投影対象40の位置及び向きに応じた一部分が投影画像50として投影対象40に投影される例を用いて説明する。
【0043】
図4は、投影画像50として抽出される部分を含む地図に係る抽出元画像データ134を示す。
図4の抽出元画像データ134における右方向をXb方向とし、上方向をYb方向とする。
図3に示す2D画像データ132a上の任意の点は、
図4に示す抽出元画像データ134におけるいずれかの点に対応する。例えば、
図3に示す点Pa(
図3における代表点Pの位置)は、抽出元画像データ134上の点Qに対応する。また、2D画像データ132aにおいて点Paの+Xa方向側、及び-Xa方向側にそれぞれ位置する点Pd、点Pfは、抽出元画像データ134において点Qの+Xb方向側、及び-Xb方向側にそれぞれ位置する点Qd、点Qfに対応する。また、2D画像データ132aにおいて点Pdの+Ya方向側に位置する点Peは、抽出元画像データ134において点Qdの+Yb方向側に位置する点Qeに対応する。
【0044】
CPU11は、2D画像データ132aにおける投影対象40の代表点Pに対応する抽出元画像データ134上の点を特定し、当該対応する点が投影画像50の中心点となるように、抽出元画像データ134のうち投影画像50として抽出する範囲を決定する。よって、2D画像データ132aにおける代表点Pの位置が異なれば、抽出元画像データ134において抽出される投影画像50の内容も異なることとなる。
【0045】
例えば、
図3に示す状況においては、CPU11は、点Pa(投影対象40の代表点Pがある位置)に対応する抽出元画像データ134上の点Qが中心となるように、
図4に示す投影画像50aを抽出する。
また、例えば投影対象40の代表点Pが
図3の点Pdの位置にある場合には、CPU11は、抽出元画像データ134上で点Pdに対応する点Qdが中心となるように、
図4に示す投影画像50dを抽出する。
また、例えば投影対象40の代表点Pが
図3の点Peの位置にある場合には、CPU11は、抽出元画像データ134上で点Peに対応する点Qeが中心となるように、
図4に示す投影画像50eを抽出する。
このように、CPU11は、抽出元画像データ134のうち、2D画像データ132aにおける投影対象40の画像内位置に対応する一部を、投影画像50として抽出する。
【0046】
また、CPU11は、投影対象40の代表点Pについて導出した距離値に応じて投影画像50における地図の表示倍率が異なるように、投影画像50の抽出範囲を決定する。本実施形態では、距離値が小さいほど表示倍率が大きくなるように投影画像50を抽出する。
【0047】
例えば、
図1及び
図3に示す状況よりも投影対象40が射出位置P0の近くに位置している場合(距離値が小さい場合)には、
図4の投影画像50aよりも表示倍率が大きくなるように(すなわち、抽出元画像データ134におけるより狭い範囲が拡大されて投影対象40に表示されるように)、投影画像50aよりも狭い投影画像50bが抽出される。
逆に、
図1及び
図3に示す状況よりも投影対象40が射出位置P0から遠くに位置している場合(距離値が大きい場合)には、
図4の投影画像50aよりも表示倍率が小さくなるように(すなわち、より広い範囲が縮小されて投影対象40に表示されるように)、投影画像50aよりも広い投影画像50cが抽出される。
【0048】
また、CPU11は、投影対象40の向きに応じて、抽出元画像データ134のうち投影画像50として抽出する範囲を調整する。言い換えると、CPU11は、抽出元画像データ134のうち、投影対象40の向きに対応する一部を投影画像50として抽出する。
【0049】
例えば、投影対象40の表面41の向きが、
図1に示す状態(投影対象40の表面41の法線ベクトルが-Z方向を向いている状態)から、Y方向を回転軸として、+Y方向から見て反時計回りに或る角度だけ回転させた向きである場合には、当該或る角度に応じて、抽出元画像データ134において抽出する投影画像50の中心を-Xb方向にずらし、例えば
図4における点Qfを中心とする投影画像50fを抽出する。反対に、投影対象40の表面41の向きが、
図1に示す状態から、Y方向を回転軸として、+Y方向から見て或る角度だけ時計回りに回転した向きである場合には、当該或る角度に応じて、抽出元画像データ134において抽出する投影画像50の中心を+Xb方向にずらす。
また、投影対象40の表面41の向きが、或る仰角だけ水平方向に対して上向きである場合には、当該仰角に応じて、抽出元画像データ134において抽出する投影画像50の中心を-Yb方向にずらす。また、投影対象40の表面41の向きが、或る俯角だけ水平方向に対して下向きである場合には、当該俯角に応じて、抽出元画像データ134において抽出する投影画像50の中心を+Yb方向にずらす。
【0050】
投影画像50が抽出されると、CPU11は、当該投影画像50を投影対象40の表面41に投影させるための投影用画像データ133を生成する。すなわち、投影対象40の表面41に投影される範囲(投影可能領域R及び投影可能面Sのうち投影対象40の表面41に対応する範囲)に投影画像50のデータを含み、投影画像50以外の部分がマスクされている投影用画像データ133を生成する。
【0051】
<(3)投影対象に対する投影画像の投影>
投影用画像データ133が生成されると、CPU11は、投影装置30に対して投影用画像データ133及び所定の制御信号を送信することで、投影装置30により投影用画像データ133に基づいて画像を投影させる。これにより、投影対象40の表面41に対して投影画像50が選択的に投影され、プロジェクションマッピングが行われる。
【0052】
CPU11は、撮影装置20により所定のフレームレートで2D画像データ132a及び深度画像データ132bが撮影されるごとに、当該2D画像データ132a及び深度画像データ132bに基づいて投影対象40の状態を特定し、投影画像50の内容を決定して投影用画像データ133を生成する。また、投影用画像データ133を逐次投影装置30に送信して投影させる。これにより、投影対象40の状態(位置及び/又は向き)に変化があった場合には、当該変化に応じて投影画像50の内容も変化する。すなわち、投影対象40が移動した場合には、移動後の投影対象40の表面41に投影されるように投影画像50の投影方向及び投影範囲が調整されるとともに、抽出元画像データ134のうち移動後の投影対象40の位置に応じた範囲が抽出されて投影画像50として投影される。また、投影対象40の向きが変化した場合には、向きの変化後の投影対象40の表面41に投影されるように投影画像50の投影方向及び投影範囲が調整されるとともに、抽出元画像データ134のうち投影対象40の向きに応じた範囲が抽出されて投影画像50として投影される。
【0053】
なお、撮影装置20による撮影のフレームレートと、投影される投影画像50(投影用画像データ133)のフレームレートとが異なっていてもよい。例えば、撮影装置20による所定回数の撮影に対して1回の割合で投影用画像データ133を生成して投影画像50投影することとしてもよい。
【0054】
<投影対象の状態に応じた投影画像の具体例>
以下、投影対象40の状態及びその変化に応じた投影画像50の決定方法、及び投影態様を、具体例を用いて説明する。
【0055】
図5は、投影対象40の距離値の変化に応じて投影画像50の表示倍率を大きくする例を示す図である。
図5では、ユーザ80が投影装置30に近付くように移動したことに応じて、或る時点において代表点Pが点Paとなる位置にあった投影対象40が、代表点Pが点Pbとなる位置に移動した場合が示されている。点Pbは、点Paと射出位置P0とを結ぶ仮想線上にあり、点Paよりも射出位置P0に近い点であるものとする。代表点Pが点Paにある場合の距離値はD1であり、代表点Pが点Pbにある場合の距離値はD2(<D1)である。距離値D1は、点Paを通る仮想面Saと射出位置P0とのZ方向についての距離である。距離値D2は、点Pbを通る仮想面Sbと射出位置P0とのZ方向についての距離である。
【0056】
図6は、代表点Pが点Paから点Pbに移動した場合の投影画像50の変化を示す図である。
投影対象40の代表点Pが点Paにある場合には、上述のとおり、抽出元画像データ134において点Paに対応する点Qが中心となるように、
図4における投影画像50aが抽出される。投影画像50aを含む投影用画像データ133に基づいて、投影対象40には、
図6の左側に示すように投影画像50aが投影される。
【0057】
点Pbは、点Paと射出位置P0とを結ぶ仮想線上にあるため、代表点Pが点Pbに移動した後に撮影された2D画像データ132aにおいて、点Pbは、
図3の点Paと同一の位置にある。よって、
図4の抽出元画像データ134において点Pbに対応する点も、点Qである。投影対象40の代表点Pが点Pbにある場合には、抽出元画像データ134における点Qが中心となるように、
図4における投影画像50bが抽出される。ここで、代表点Pが点Pbにある場合の距離値D2は、代表点Pが点Paにある場合の距離値D1よりも小さいため、投影画像50bは、投影画像50aよりも表示倍率が大きい画像となる。すなわち、
図4に示すように、投影画像50bは、投影画像50aと相似形状の領域であって、抽出元画像データ134における専有面積が投影画像50aよりも狭い領域とされ、当該狭い領域の画像が投影対象40の大きさに合うように拡大されて(デジタルズームインされて)投影される。投影画像50bを含む投影用画像データ133に基づいて、投影対象40には、
図6の右側に示すような、投影画像50aよりも表示倍率の大きい投影画像50bが投影される。
【0058】
このように、本実施形態では、投影対象40が投影装置30に接近した場合には、接近の前後で同一の拡大率の画像を投影するための従来のプロジェクションマッピングにおける射影変換よりも、さらに大きな拡大率で投影画像50が拡大されて投影される。言い換えると、本実施形態では、距離値の減少に応じて投影対象40に同一画像を表示させるのに必要な倍率よりも大きい倍率で投影画像50の表示倍率を変更する。
【0059】
投影画像50の表示倍率は、距離値に対応付けられて予め定められていてもよい。
あるいは、投影対象40が或る基準距離値の位置にある場合に投影画像50を等倍で表示し、距離値が基準距離値とは異なる場合に、その距離値と基準距離値との差分、又は基準距離値に対する距離値の比率に応じて投影画像50の表示倍率を定めることとしてもよい。基準距離値は、予め定められていてもよいし、ユーザ80が設定可能であってもよい。例えば、投影可能領域R内に所定の基準マーカを設置しておき、当該基準マーカの位置を基準距離値の位置としてもよい。また、ユーザ80が基準距離値を定める方法としては、例えば、ユーザ80が或る開始ジェスチャーを行った場合に、そのときにユーザ80が保持している投影対象40の代表点Pを特定し、当該代表点Pに対応する距離値を基準距離値としてもよい。ユーザ80が開始ジェスチャーを行ったか否かは、例えば、撮影装置20による撮影画像データ132をCPU11が解析することで判別することができる。
【0060】
図5及び
図6に示すような動作によれば、ユーザ80が投影装置30に近付くことで、投影対象40への投影画像50が拡大されて地図の細部がよく見えるようになるという、ユーザ80にとって直感的な視覚効果が実現される。
【0061】
図7は、投影対象40の距離値の変化に応じて投影画像50の表示倍率を小さくする例を示す図である。
図7では、ユーザ80が投影装置30から遠ざかるように移動したことに応じて、或る時点において代表点Pが点Paとなる位置にあった投影対象40が、代表点Pが点Pcとなる位置に移動した場合が示されている。点Pcは、点Paと射出位置P0とを結ぶ仮想線上にあり、点Paよりも射出位置P0から遠い点であるものとする。代表点Pが点Pcにある場合の距離値はD3(>D1)である。距離値D3は、点Pcを通る仮想面Scと射出位置P0とのZ方向についての距離である。
【0062】
図8は、代表点Pが点Paから点Pcに移動した場合の投影画像50の変化を示す図である。
投影対象40の代表点Pが点Paにある場合には、
図8の左側に示すように、
図6の左側と同一の投影画像50aが投影される。
【0063】
点Pcは、点Paと射出位置P0とを結ぶ仮想線上にあるため、代表点Pが点Pcに移動した後に撮影された2D画像データ132aにおいて、点Pcは、
図3の点Paと同一の位置にある。よって、
図4の抽出元画像データ134において点Pcに対応する点も、点Qである。投影対象40の代表点Pが点Pcにある場合には、抽出元画像データ134における点Qが中心となるように、
図4における投影画像50cが抽出される。ここで、代表点Pが点Pcにある場合の距離値D3は、代表点Pが点Paにある場合の距離値D1よりも大きいため、投影画像50cは、投影画像50aよりも表示倍率が小さい画像となる。すなわち、
図4に示すように、投影画像50cは、投影画像50aと相似形状の領域であって、抽出元画像データ134における専有面積が投影画像50aよりも広い領域とされ、当該広い領域の画像が投影対象40の大きさに合うように縮小されて(デジタルズームアウトされて)投影される。投影画像50cを含む投影用画像データ133に基づいて、投影対象40には、
図8の右側に示すような、投影画像50aよりも表示倍率の小さい投影画像50cが投影される。
【0064】
このように、本実施形態では、投影対象40が投影装置30から遠ざかった場合には、遠ざかる前後で同一の拡大率の画像を投影するための従来のプロジェクションマッピングにおける射影変換よりも、さらに投影画像50が縮小されて投影される。言い換えると、本実施形態では、距離値の増大に応じて投影対象40に同一画像を表示させるのに必要な倍率よりも小さい倍率で投影画像50の表示倍率を変更する。
投影対象40が遠ざかる場合の表示倍率も、投影対象40が接近する場合の表示倍率と同様に定めることができる。
【0065】
図7及び
図8に示すような動作によれば、ユーザ80が投影装置30から遠ざかることで、投影対象40への投影画像50が縮小されて地図のより広い範囲が見えるようになるという、ユーザ80にとって直感的な視覚効果が実現される。
【0066】
なお、上記では、1つの抽出元画像データ134から抽出された異なる部分をデジタルズームイン又はデジタルズームアウトすることで投影画像50の表示倍率を変更したが、これに限られない。例えば、投影画像50の表示倍率に対応する縮尺の地図を含む抽出元画像データ134を都度取得して(又は、縮尺が互いに異なる地図を含む複数の抽出元画像データ134を予め用意して)、表示倍率に対応する縮尺の抽出元画像データ134から投影画像50を抽出してもよい。各縮尺の地図の抽出元画像データ134は、地図の拡大及び縮小を含む地図データの加工及び生成が可能な、公開されているAPIを呼び出して生成してもよい。
【0067】
また、
図6及び
図8では、代表点Pに係る距離値が変化する前後の投影画像50を示したが、距離値が変化する途中の中間状態においては、中間の表示倍率の投影画像50が投影される。また、距離値の変化量が所定の閾値以上である場合に投影画像50の表示倍率を変更し、距離値の変化量が閾値未満である場合には投影画像50の表示倍率を変更しないこととしてもよい。また、投影可能領域Rにおいて投影対象40が移動しない場合においても、上記の方法により距離値に応じた表示倍率の投影画像50が投影される。
【0068】
図9は、投影装置30から見て左右方向への投影対象40の移動に応じて投影画像50の表示内容を変更する例を示す図である。
図10は、
図9に示す投影対象40の移動の前後に撮影された2D画像データ132aを示す図である。
図9及び
図10では、ユーザ80が投影装置30から見て右方向に(+X方向に)移動したことに応じて、或る時点において代表点Pが点Paとなる位置にあった投影対象40が、代表点Pが点Pdとなる位置に移動した場合が示されている。この移動の前後で、距離値は変化していないものとする。
【0069】
図11は、代表点Pが点Paから点Pdに移動した場合の投影画像50の変化を示す図である。
投影対象40の代表点Pが点Paにある場合には、
図11の左側に示すように、
図6の左側と同一の投影画像50aが投影される。
【0070】
上述したように、
図9及び
図10に示す点Pdは、
図4の抽出元画像データ134における点Qdに対応する。よって、投影対象40の代表点Pが点Pdにある場合には、抽出元画像データ134における点Qdが中心となるように、
図4における投影画像50dが抽出される。上述のとおり移動の前後で距離値は変化していないので、表示倍率は変更されない。このため、抽出元画像データ134における投影画像50dの形状及び専有面積は、投影画像50aの形状及び専有面積と同一である。
【0071】
よって、
図9~
図11に示すように、ユーザ80が+X方向に移動したことに応じて、投影対象40に投影される地図が、
図4に示す投影画像50aから投影画像50dへ右方向(+Xb方向)にシフトする。また、+X方向に移動する投影対象40に追従するように、投影画像50の投影方向(投影用画像データ133における投影画像50の位置)が調整される。
【0072】
なお、
図9において代表点Pが点Pdに移動した後の投影対象40の表面41は、XY平面に平行であるので、投影装置30から見て投影対象40の表面41が若干傾斜する(投影装置30と投影対象40とを結ぶ線分が、投影対象40の表面41に対して垂直とならない)。このため、傾斜した表面41に投影画像50dが歪みなく投影されるようにマッピングを行った上で投影画像50dを投影すること好ましい。この場合には、例えば、投影対象40の少なくとも3つの角部の空間座標を特定し、これらの角部を通る面に斜めから投影画像50dが正しく投影されるように、投影用画像データ133における投影画像50dの形状及び範囲を調整すればよい。
【0073】
図12は、ユーザ80が投影対象40を保持する高さを変化させる前後に撮影された2D画像データ132aを示す図である。
図12では、
図10に示すように代表点Pが点Pdとなる位置から、代表点Pが点Peとなる位置に、ユーザ80が投影対象40を高く掲げた場合が示されている。
【0074】
図13は、代表点Pが点Pdから点Peに移動した場合の投影画像50の変化を示す図である。
投影対象40の代表点Pが点Pdにある場合には、
図13の左側に示すように、
図11の右側と同一の投影画像50dが投影される。
【0075】
上述したように、
図12に示す点Peは、
図4の抽出元画像データ134における点Qeに対応する。よって、投影対象40の代表点Pが点Peにある場合には、抽出元画像データ134における点Qeが中心となるように、
図4における投影画像50eが抽出される。代表点Pが点Pdから点Peに移動する際に距離値は変化せず、したがって表示倍率は変化しないので、抽出元画像データ134における投影画像50eの形状及び専有面積は、投影画像50dの形状及び専有面積と同一である。
【0076】
よって、
図12及び
図13に示すように、ユーザ80が投影対象40を高く掲げたことに応じて、投影対象40に投影される地図が、
図4に示す投影画像50dから投影画像50eへ上方向(+Yb方向)にシフトする。また、+Y方向に移動する投影対象40に追従するように、投影画像50の投影方向(投影用画像データ133における投影画像50の位置)が調整される。
【0077】
図11及び
図13では、代表点Pが上下左右方向に移動する前後の投影画像50を示したが、移動の途中の中間状態においては、中間の位置に応じた投影画像50が投影される。また、移動距離(上下左右方向の位置の変化量)が所定の閾値以上である場合に投影画像50を変更し、移動距離が閾値未満である場合には投影画像50を変更しないこととしてもよい。また、投影可能領域Rにおいて投影対象40が移動しない場合においても、上記の方法により2D画像データ132a上の代表点Pの位置に応じた投影画像50が投影される。
【0078】
図9~
図13に示すような動作によれば、ユーザ80が投影装置30から見て上下左右方向に移動したり、投影対象40を上下左右方向に移動させたりすることで、投影対象40への投影画像50の内容が上下左右にシフトするという、ユーザ80にとって直感的な視覚効果が実現される。
【0079】
図14は、投影対象40の向きの変化に応じて投影画像50の表示内容を変更する例を示す図である。
図14では、投影対象40の表面41がXY平面に平行な状態から、Y方向に平行な回転軸AXを中心に、+Y方向から見て反時計回りに投影対象40を角度θだけ回転させることで、投影対象40の向きが変化した場合が示されている。この向きの変化の前後にわたって、投影対象40の代表点Pは点Paで一定であるものとする。また、向きの変化後の投影対象40の表面41に垂直な仮想線Lと、投影可能面Sとの交点を点Pfとする。
【0080】
図15は、
図14に示すように投影対象40の向きが変化した場合の投影画像50の変化を示す図である。
向きが変化する前、すなわち投影対象40の表面41がXY平面に平行な状態においては、
図15の左側に示すように、
図6の左側と同一の投影画像50aが投影される。上述のとおり、投影画像50aの中心は、
図4の抽出元画像データ134における点Qである。
【0081】
投影対象40の向きが変化した後は、投影対象40の回転角θに応じて、
図4の抽出元画像データ134において抽出する投影画像50の中心が点Qから-Xb方向にずらされる。例えば、回転後の仮想線Lと投影可能面Sとの交点である点Pfの、2D画像データ132a(
図3)における位置を特定し、
図4の抽出元画像データ134において点Pfに対応する点Qfを中心とする投影画像50fを抽出する。投影対象40の回転の前後で距離値は変化せず、したがって表示倍率は変化しないので、抽出元画像データ134における投影画像50fの形状及び専有面積は、投影画像50aの形状及び専有面積と同一である。
【0082】
よって、
図14及び
図15に示すように、回転軸AXを中心として回転させて投影対象40の向きを変化させることにより、投影対象40に投影される地図が、
図4に示す投影画像50aから投影画像50fへ左方向(-Xb方向)にシフトする。
【0083】
このような回転が行われると、投影装置30から見て投影対象40の表面41が傾斜するため、傾斜した表面41に投影画像50dが歪みなく投影されるようにマッピングを行った上で投影画像50dを投影すること好ましい。
【0084】
なお、回転角θに応じた投影画像50の中心の決定方法は上記に限られない。例えば、回転角θと、抽出元画像データ134における投影画像50の中心のずれ量とを予め対応付けて定めておいてもよい。
また、
図14及び
図15では、回転軸AXを中心とした回転による投影対象40の向きの左右方向の変化を例示したが、これに限られない。例えば、投影対象40の表面41が向く方向が上下方向に変化する場合(仰角又は俯角が変化する場合)には、抽出元画像データ134において抽出する投影画像50の中心を上下方向(Yb方向)に変更すればよい。また、左右方向の向きの変化と、上下方向の向きの変化とを含む場合には、抽出元画像データ134において抽出する投影画像50の中心を左右方向(Xb方向)及び上下方向(Yb方向)に変更すればよい。
【0085】
図15では、投影対象40の向きが変化する前後の投影画像50を示したが、向きが変化する途中の中間状態においては、中間の向きに応じた投影画像50が投影される。また、向きの変化量(例えば回転角θ)が所定の閾値以上である場合に投影画像50を変更し、向きの変化量が閾値未満である場合には投影画像50を変更しないこととしてもよい。また、投影対象40の向きが変化しない場合においても、上記の方法により投影対象40の向きに応じた投影画像50が投影される。
【0086】
図14及び
図15に示すような動作によれば、ユーザ80が投影対象40の向きを変化させることで、投影対象40への投影画像50の内容が上下左右にシフトするという、ユーザ80にとって直感的な視覚効果が実現される。
【0087】
図5~
図15では、投影対象40の代表点Pに係る距離値、投影対象40の上下左右方向の位置、及び投影対象40の向きのうちいずれか1つの要素が変化した場合を例示したが、これらのうち2つ以上の要素が変化した場合には、変化した全ての要素に応じて投影画像50が調整される。例えば、距離値及び上下左右方向の位置がいずれも変化した場合には、上下左右方向の移動に応じて投影画像50の中心が変更され、かつ、距離値の変化に応じて投影画像50の表示倍率が変更される。
【0088】
図16は、投影可能領域R内に複数の投影対象40がある場合の投影画像50の投影動作を示す図である。
図16では、投影可能領域R内に2人のユーザ80a、80bが位置しており、ユーザ80aは投影対象40aを保持し、ユーザ80bは投影対象40bを保持している。投影対象40aの代表点Pは、点Pcの位置にあり、投影対象40bの代表点Pは、点Pdの位置にあるものとする。
【0089】
図17は、
図16の状態において各投影対象40a、40bに投影される投影画像50を示す図である。
図16のように、投影可能領域Rに複数の投影対象40a、40bがある場合には、CPU11は、複数の投影対象40a、40bの各々について状態(位置及び向き)を特定する。また、CPU11は、複数の投影対象40a、40bの各々の表面に、特定された状態に応じて内容が異なる投影画像50を投影装置30により投影させる。また、CPU11は、複数の投影対象40a、40bの各々の位置及び向きの少なくとも一方の変化に応じて、各投影対象40a、40bの表面に投影させる投影画像50の内容を異ならせる。
図16及び
図17に示す例では、CPU11は、投影対象40aに、
図8の右側と同一の投影画像50cを投影させ、投影対象40bに、
図11の右側と同一の投影画像50dを投影させる。このような投影を行うための投影用画像データ133は、投影対象40aの表面41に投影される範囲に投影画像50cのデータを含み、投影対象40bの表面41に投影される範囲に投影画像50dのデータを含み、投影画像50c、50d以外の部分がマスクされているデータである。
【0090】
なお、投影可能領域R内に複数の投影対象40がある場合に、そのうち1つの投影対象40に対して投影画像50を投影することとしてもよい。この場合、例えば、投影画像50を投影していた投影対象40が投影可能領域Rの外部に出た場合に、他の投影対象40が投影可能領域R内にあるか否かを判別し、投影可能領域Rに投影対象40があると判別された場合に、投影画像50の投影対象を当該投影対象40に切り替えてもよい。
【0091】
<画像投影処理>
次に、上記の動作を実現するために投影制御装置10のCPU11が実行する画像投影処理について説明する。
図18は、画像投影処理の制御手順を示すフローチャートである。
画像投影処理は、投影システム1の各装置の電源が投入され、所定の投影開始指示がユーザ80又は投影システム1の管理者によりなされた場合に開始される。
【0092】
画像投影処理が開始されると、CPU11は、撮影装置20による撮影を開始させる(ステップS101)。CPU11は、撮影装置20から撮影画像データ132を取得し、2D画像データ132a及び深度画像データ132bにおいて投影対象40を抽出する(ステップS102)。
【0093】
CPU11は、2D画像データ132a及び深度画像データ132bにおいて投影対象40が抽出されたか否かを判別する(ステップS103)。投影対象40が抽出されたと判別された場合には(ステップS103で“YES”)、CPU11は、投影装置30による投影光の射出位置P0から投影対象40の代表点Pまでの距離に対応する距離値を導出する(ステップS104)。また、CPU11は、2D画像データ132aにおける投影対象40の画像内位置を導出する(ステップS105)。また、CPU11は、深度画像データ132bに基づいて、上述の方法により投影対象40の向きを導出する(ステップS106)。
【0094】
CPU11は、投影対象40の画像内位置及び向きに基づいて、抽出元画像データ134のうち投影画像50として抽出する範囲の中心を決定する(ステップS107)。また、CPU11は、導出した距離値に基づいて投影対象40の表示倍率を決定し、決定した表示倍率に応じて、抽出元画像データ134のうち投影対象40として抽出する範囲を決定する(ステップS108)。
【0095】
CPU11は、投影対象40に投影される範囲に投影画像50を含み、かつ投影画像50以外の部分がマスクされた投影用画像データ133を生成する(ステップS109)。そして、CPU11は、投影用画像データ133及び制御信号を投影装置30に送信し、投影対象40の表面41に投影画像50を投影させる(ステップS110)。
【0096】
ステップS110が終了した場合、又は、ステップS103において投影対象40が抽出されなかったと判別された場合には(ステップS103で“NO”)、CPU11は、投影を終了させる指示がユーザ80又は投影システム1の管理者からなされているか否かを判別する(ステップS111)。当該指示がなされていないと判別された場合には(ステップS111で“NO”)、CPU11は、処理をステップS102に戻す。当該指示がなされていると判別された場合には(ステップS111で“YES”)、CPU11は、画像投影処理を終了させる。
【0097】
(変形例)
続いて上記実施形態の変形例について説明する。以下では、上記実施形態との相違点について説明し、上記実施形態と共通する点については説明を省略する。また、以下の変形例に記載した2以上の特徴を組み合わせてもよい。
【0098】
上記実施形態では、投影対象40の状態(位置及び/又は向き)に応じて、抽出元画像データ134の地図の一部分を投影画像50として抽出して表示したが、投影対象40の状態に応じた投影画像50の内容はこれに限られない。
例えば、投影対象40の状態に応じて抽出された地図の範囲内に位置する施設(例えば飲食店)の情報を含む投影画像50を投影してもよい。さらに、
図19に示すように、投影対象40の位置(距離値)の変化に応じて投影画像50を拡大する際に、拡大前には表示されていなかった情報が表示されるようにしてもよい。また、拡大率の増大に応じて、表示される情報の量が段階的に多くなるように表示内容を変更してもよい。
図19には、投影対象40の移動に応じて、投影対象40への投影画像50が、投影画像50a、投影画像50b、投影画像50gと、段階的に拡大された場合が例示されている。
図19に示す例においては、各投影画像50の地図の範囲内に位置する飲食店の情報が表示されるようになっている。詳しくは、投影画像50aには、飲食店の領域のみが表示されている。また、投影画像50aよりも拡大された投影画像50bには、飲食店の領域に加えて飲食店の名称「レストランX」が表示されている。また、投影画像50bよりも拡大された投影画像50gには、飲食店の領域及び名称に加えて、店舗の詳細情報(ここでは、営業時間)がさらに表示されている。逆に、距離値が増大する方向に投影対象40が移動して、投影画像50が縮小される場合には、表示される情報の量が段階的に少なくなるように表示内容が変更されてもよい。
図19では、飲食店の情報を例示したが、地図上の任意のオブジェクトについての情報としてもよい。また、投影画像50が地図以外の画像である場合において、投影画像50に含まれる任意のオブジェクトに係る情報を表示してもよい。
また、美術館や博物館といった展示施設の内部における投影対象40の状態に応じて、展示されている物品(美術品等)のうち、投影対象40の状態に対応する物品(例えば投影対象40の近傍に位置する物品)の解説を含む投影画像50を投影してもよい。
また、投影画像50は、抽出元画像データ134の一部を抽出した画像に限られず、投影対象40の状態に応じて別個の投影画像50が投影されてもよい。
また、投影対象40の状態に応じて、投影画像50の色、明るさ、及び画質等が変更されてもよい。
【0099】
また、上記実施形態では、投影対象40の状態に応じて投影画像50の内容を決定したが、これに加えて、投影対象40の特徴を加味して投影画像50の内容を決定してもよい。すなわち、CPU11は、所定の方法で投影対象40の特徴を特定し、特定された特徴に応じた内容の投影画像50を投影装置30により投影対象40に対して投影させてもよい。ここで特定される特徴は、特には限られないが、例えば、投影対象40の色、材質、形状、大きさ、又はこれらのうち2以上の組み合わせであってもよい。
【0100】
特定された特徴に応じて投影される投影画像50の内容は、投影システム1の用途等に応じて適宜定めることができる。例えば、投影対象40の色に応じた情報を含む投影画像50を投影してもよい。一例を挙げると、投影対象40が赤色であれば、投影対象40の状態に応じて抽出された地図の範囲内に位置する飲食店の情報を含む投影画像50を投影し、投影対象40が白色であれば、抽出された地図の範囲内に位置する宿泊施設の情報を含む投影画像50を投影する、といった制御を行ってもよい。
【0101】
(効果)
以上のように、本実施形態に係る投影制御装置10は、制御手段としてのCPU11を備え、CPU11は、投影装置30による投影可能領域R内にある投影対象40について、投影対象40の位置及び向きの少なくとも一方の変化に応じて、投影装置30により投影対象40の表面41に投影させる投影画像50の投影内容を異ならせる。これにより、投影対象40の位置及び向きの少なくとも一方を投影画像50の内容に反映させることが可能となる。例えば、投影対象40を移動させたり向きを変化させたりすることによって投影されるコンテンツ(投影画像50)を操作する直感的なインターフェースを実現することができる。よって、単に同一の投影画像を投影対象40に追従させる従来のプロジェクションマッピングと比較して、より高度な視覚効果やユーザインターフェースを実現することができる。これにより、プロジェクションマッピングのユーザエクスペリエンス(UX)が拡張され、例えばAR(拡張現実)としての用途を広げることができる。
【0102】
また、CPU11は、予め定められた位置から投影対象40までの距離に対応する距離値を特定し、当該距離値に基づいて投影対象40の位置を特定し、距離値に応じて表示倍率が異なるように調整された投影画像50を、投影装置30により投影対象40の表面41に投影させる。これにより、投影対象40を投影装置30に近付けたり遠ざけたりすることで投影画像50の表示倍率を操作する直感的なユーザインターフェース及び視覚効果を実現することができる。また、投影対象40の位置に応じて異なる内容の投影画像50を投影させることができる。
【0103】
また、CPU11は、距離値が小さいほど表示倍率が大きくなるように調整された投影画像50を、投影装置30により投影対象40の表面41に投影させる。これにより、投影対象40を投影装置30に近付けることで投影画像50の表示倍率を大きくし、また、投影対象40を投影装置30から遠ざけることで投影画像50の表示倍率を小さくする、直感的なユーザインターフェース及び視覚効果を実現することができる。
【0104】
また、CPU11は、投影可能領域Rを含む範囲が撮影された画像である2D画像データ132aを取得し、当該2D画像データ132aにおける投影対象40の画像内位置に基づいて投影対象40の位置を特定し、抽出元画像データ134のうち、2D画像データ132aにおける投影対象40の画像内位置に対応する一部を、投影画像50として投影対象40の表面41に投影させる。これにより、投影装置30から見て投影対象40を上下左右に移動させることで投影画像50の内容を変化させる直感的なユーザインターフェース及び視覚効果を実現することができる。また、投影対象40の位置に応じて異なる内容の投影画像50を投影させることができる。
【0105】
また、CPU11は、抽出元画像データ134のうち、投影対象40の向きに対応する一部を、投影画像50として投影対象40の表面41に投影させる。これにより、投影対象40の向きを変化させることで投影画像50の内容を変化させる直感的なユーザインターフェース及び視覚効果を実現することができる。また、投影対象40の向きに応じて異なる内容の投影画像50を投影させることができる。
【0106】
また、CPU11は、投影装置30により、投影可能領域R内にある複数の投影対象40の各々の表面41にそれぞれ投影画像50を投影させ、複数の投影対象40の各々の位置及び向きの少なくとも一方の変化に応じて、各投影対象40の表面41に投影させる投影画像50の内容を異ならせる。これにより、投影可能領域R内に位置する複数の投影対象40に対して同時に、各投影対象40の位置及び向きに応じた内容の投影画像50を投影することができる。
【0107】
また、変形例に係るCPU11は、投影対象40の特徴を特定し、特定された特徴に応じた内容の投影画像50を、投影装置30により投影対象40の表面41に対して投影させる。これにより、投影対象40の特徴に応じて内容が異なる投影画像50を投影することができる。
【0108】
また、CPU11は、深度カメラによる投影対象40の撮像結果に基づいて、予め定められた位置から投影対象40までの距離に対応する距離値を特定し、当該距離値に基づいて投影対象40の位置を特定する。これにより、投影対象40の距離値を簡易かつ適切に特定することができる。
【0109】
また、本実施形態に係る投影システム1は、画像を投影する投影装置30と、投影装置30の動作を制御する投影制御装置10と、を備える。投影制御装置10は、CPU11を備え、CPU11は、投影装置30による投影可能領域R内にある投影対象40について、投影対象40の位置及び向きの少なくとも一方の変化に応じて、投影装置30により投影対象40の表面41に投影させる投影画像50の投影内容を異ならせる。これにより、投影対象40の位置及び向きの少なくとも一方を投影画像50の内容に反映させることが可能となる。よって、従来のプロジェクションマッピングと比較して、より高度な視覚効果やユーザインターフェースを実現することができる。
【0110】
また、本実施形態に係る投影制御方法は、コンピュータとしてのCPU11により実行され、投影装置30による投影可能領域R内にある投影対象40について、投影対象40の位置及び向きの少なくとも一方の変化に応じて、投影装置30により投影対象40の表面41に投影させる投影画像50の投影内容を異ならせる。これにより、投影対象40の位置及び向きの少なくとも一方を投影画像50の内容に反映させることが可能となる。よって、従来のプロジェクションマッピングと比較して、より高度な視覚効果やユーザインターフェースを実現することができる。
【0111】
また、本実施形態に係るプログラム131は、コンピュータとしてのCPU11を、投影装置30による投影可能領域R内にある投影対象40について、投影対象40の位置及び向きの少なくとも一方の変化に応じて、投影装置30により投影対象40の表面41に投影させる投影画像50の投影内容を異ならせる制御手段、として機能させる。これにより、投影対象40の位置及び向きの少なくとも一方を投影画像50の内容に反映させることが可能となる。よって、従来のプロジェクションマッピングと比較して、より高度な視覚効果やユーザインターフェースを実現することができる。
【0112】
(その他)
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施形態では、投影制御装置10、撮影装置20、及び投影装置30が別個となっている例を用いて説明したが、この態様に限られない。
例えば、投影制御装置10と撮影装置20とが一体となっていてもよい。一例を挙げると、投影制御装置10の表示部15のベゼルに、撮影装置20の2Dカメラ21及び深度カメラ22が組み込まれていてもよい。
また、投影制御装置10と投影装置30とが一体となっていてもよい。例えば、上記実施形態における投影装置30に投影制御装置10の機能を組み込み、投影制御装置10が実行していた処理を投影装置30の図示しないCPUが実行してもよい。この場合には、投影装置30が「投影制御装置」に相当し、投影装置30のCPUが「制御手段」として機能する。
また、撮影装置20と投影装置30とが一体となっていてもよい。例えば、上記実施形態における投影装置30の筐体に、撮影装置20の2Dカメラ21及び深度カメラ22が組み込まれていてもよい。
また、投影制御装置10、撮影装置20及び投影装置30が全て一体となっていてもよい。
【0113】
また、投影対象40は、板状のスクリーンに限られない。また、投影対象40は、必ずしもユーザ80が保持しているものに限られず、表面に投影画像50を投影可能な任意の物体であってもよい。
【0114】
また、投影対象40までの距離(距離値)の導出方法は、上記実施形態のように深度カメラ22を用いる方法に限られない。例えば、2Dカメラ21及び距離センサを用い、2Dカメラ21で撮影された2D画像データ132aから投影対象40を抽出し、この投影対象40までの距離を距離センサにより計測してもよい。また、GPS(Global Positioning System)などの測位衛星からの送信電波に基づいて投影対象40の位置を特定し、投影装置30からの距離を導出してもよい。また、投影画像50の大きさが予め決まっている場合には、2D画像データ132aに写っている投影画像50の大きさに基づいて距離値を導出してもよい。
【0115】
また、投影対象40の状態は、位置及び向きのいずれか一方により決定されてもよい。例えば、投影対象40の位置のみを考慮して投影画像50の内容を決定してもよい。
【0116】
また、上記実施形態では、距離値が小さいほど表示倍率が大きくなるように投影画像50を調整したが、これに限られず、距離値が小さいほど表示倍率が小さくなるように投影画像50を調整してもよい。
【0117】
また、以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として記憶部13のHDD、SSDを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ、CD-ROM等の情報記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0118】
また、上記実施形態における投影システム1の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
本発明の実施の形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
【符号の説明】
【0119】
1 投影システム
10 投影制御装置
11 CPU(制御手段)
12 RAM
13 記憶部
131 プログラム
132 撮影画像データ
132a 2D画像データ(二次元撮影画像)
132b 深度画像データ
133 投影用画像データ
134 抽出元画像データ(元画像)
14 操作部
15 表示部
16 通信部
17 バス
20 撮影装置
21 2Dカメラ
22 深度カメラ
30 投影装置
40、40a、40b 投影対象
41 表面
50 投影画像
50、50a~50f 投影画像
80、80a、80b ユーザ
AX 回転軸
D1~D3 距離値
L 仮想線
P 代表点
P0 射出位置
R 投影可能領域
RS 撮影範囲
S 投影可能面
Sa~Sc 仮想面