以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、出願人は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
(実施の形態1)
これより、図1〜図11を用いて、実施の形態1を説明する。以下では、本開示にかかる投影装置の具体的な実施の形態としてプロジェクタ装置100を説明する。
[1−1.概要]
図1及び図2を用いて、プロジェクタ装置100による映像投影動作の概要を説明する。図1は、プロジェクタ装置100が壁140に映像を投影するイメージ図である。図2は、プロジェクタ装置100がテーブル150に映像を投影するイメージ図である。
図1及び図2に示すように、プロジェクタ装置100は、駆動部110とともに筐体120に固定されている。プロジェクタ装置100及び駆動部110を構成する各部と電気的に接続される配線は、筐体120及び配線ダクト130を介して電源と接続される。これにより、プロジェクタ装置100及び駆動部110に対して電力が供給される。プロジェクタ装置100は、開口部101を有している。プロジェクタ装置100は、開口部101を介して映像の投影を行う。
駆動部110は、プロジェクタ装置100の投影方向を変更するよう駆動することができる。駆動部110は、図1に示すようにプロジェクタ装置100の投影方向を壁140の方向になるよう駆動することができる。これにより、プロジェクタ装置100は、絵画160が吊り掛けられた壁140に対して映像141を投影することができる。同様に、駆動部110は、図2に示すようにプロジェクタ装置100の投影方向をテーブル150の方向になるよう駆動することができる。これにより、プロジェクタ装置100は、テーブル150上の皿170に対して映像151を投影することができる。駆動部110は、ユーザのマニュアル操作に基づいて駆動してもよいし、所定のセンサの検出結果に応じて自動的に駆動してもよい。また、壁140に投影する映像141と、テーブル150に投影する映像151とは、内容を異ならせてもよいし、同一のものにしてもよい。
プロジェクタ装置100は、物体検出部200を搭載している。これにより、プロジェクタ装置100は、物体(人および物を含む。)の存在を検出することができる。プロジェクタ装置100は、検出した人や物の位置等に基づいて、投影コンテンツを投影する位置や、投影されたときの投影コンテンツの向きなどを適切に制御する。
[1−2.構成]
以下、プロジェクタ装置100の構成及び動作について詳細に説明する。
図3は、プロジェクタ装置100の電気的構成を示すブロック図である。プロジェクタ装置100は、物体検出部200、光源部300、映像生成部400、投影光学系500を備えている。以下、順にプロジェクタ装置100を構成する各部の構成について説明する。
物体検出部200は、制御部210、メモリ220、センサ部230を備えている。
制御部210は、プロジェクタ装置100全体を制御する半導体素子である。すなわち、制御部210は、物体検出部200を構成する各部(センサ部230、メモリ220)及び、光源部300、映像生成部400、投影光学系500の動作を制御する。また、制御部210は、投影画像を映像信号処理により縮小・拡大するデジタルズーム制御や、投影面の向きを考慮して投影映像に対し幾何補正を行うことができる。制御部210は、ハードウェアのみで構成してもよいし、ハードウェアとソフトウェアとを組合せることにより実現してもよい。
メモリ220は、各種の情報を記憶する記憶素子である。メモリ220は、フラッシュメモリや強誘電体メモリなどで構成される。メモリ220は、プロジェクタ装置100を制御するための制御プログラム等を記憶する。また、メモリ220は、制御部210から供給された各種の情報を記憶する。更に、メモリ220は、投影すべき映像の画像データ(静止画、動画)や、映像を投影すべき位置や投影サイズの設定や移動物体である人に追従して映像の投影位置や映像の向きを変更するか否かについての設定などを含んだ参照テーブルや、物体検出の対象物体の形状のデータなどを記憶している。
センサ部230は、例えば、TOF(Time−of−Flight)方式の距離画像センサ(以下、TOFセンサ)から構成され、対向する投影面や物体までの距離を直線的に検出する。センサ部230が壁140と対向しているときは、センサ部230から壁140までの距離を検出する。壁140に絵画160が吊り掛けられていれば、センサ部230は、絵画160の対向する表面までの距離も検出することができる。同様に、センサ部230がテーブル150と対向しているときは、センサ部230からテーブル150までの距離を検出する。テーブル150に皿170が載置されていれば、センサ部230は、皿170の対向する表面までの距離も検出することができる。
図4Aは、センサ部230の電気的構成を示すブロック図である。図4Aに示すように、センサ部230は、赤外検出光を照射する赤外光源部231と、テーブル150や皿170の対向する面で反射した赤外検出光を受光する赤外受光部232と、赤外光源部231および赤外受光部232を制御するセンサ制御部233から構成される。赤外光源部231は、開口部101を介して、赤外検出光を周囲一面に拡散されるように照射する。赤外光源部231は、例えば、850〜950nmの波長の赤外光を、赤外検出光として用いる。センサ制御部233は、赤外光源部231が照射した赤外検出光の位相をメモリに記憶しておく。対向する面がセンサ部230から等距離になく、傾きや形状を有する場合、赤外受光部232の撮像面上に配列された複数の画素は、各々別々のタイミングで反射光を受光する。別々のタイミングで受光するため、赤外受光部232で受光する赤外検出光は、各画素で位相が異なってくる。センサ制御部233は、赤外受光部232が各画素で受光した赤外検出光の位相をメモリに記憶する。
センサ制御部233は、赤外光源部231が照射した赤外検出光の位相と、赤外受光部232が各画素で受光した赤外検出光の位相とをメモリから読出す。センサ制御部233は、赤外光源部231が照射した赤外検出光と、赤外受光部232が受光した赤外検出光との位相差に基づいて、センサ部230から対向する面までの距離を測定することができる。
図4Bは、センサ部230の赤外受光部232により取得された距離情報を説明するための図である。センサ部230は、受光した赤外検出光による赤外画像を構成する画素の一つ一つについて上述した位相差に基づいて赤外検出光を反射した物体との距離を検出する。これにより、制御部210は、センサ部230が受光した赤外画像の画角全域についての距離の検出結果を画素単位で得ることができる。図4Bに示すように、赤外画像の横方向にX軸をとり、縦方向にY軸をとる。そして、検出した距離をZ軸の値とすれば、制御部210は、センサ部230の検出結果に基づいて、赤外画像を構成する各画素について、XYZの三軸の座標(X、Y、Z)を取得できる。すなわち、制御部210は、センサ部230の検出結果に基づいて、距離情報を取得できる。制御部210は、距離情報(X、Y、Z)から、三軸直交座標系における物体表面の座標値(x、y、z)(原点は任意。)を算出することができる。
制御部210は、距離情報(X、Y、Z)、または、座標値(x、y、z)に基づいて、投影面(壁140、テーブル150の天板など)や、特定の物体(絵画160、皿170)などを検出する。
上記では、センサ部230としてTOFセンサを例示したが、本開示はこれに限定されない。すなわち、ランダムドットパターンのように、既知のパターンを投光してそのパターンのズレから距離を算出するものであってもよいし、ステレオカメラによる視差を利用したものであってもよい。また、プロジェクタ装置100は、センサ部230として、図示しないRGBカメラを備えてもよい。その場合、プロジェクタ装置100は、RGBカメラが出力する画像情報を用いて、物体の検出を行ってよい。RGBカメラを使用することにより、物体が有する色彩や物体に記載された文字等の情報を利用して物体検出を行うことができる。
続いて、光源部300、映像生成部400、投影光学系500の構成について、図5を用いて説明する。図5は、プロジェクタ装置100の光学的構成を示すブロック図である。図5に示すように、光源部300は、投影映像を生成するために必要な光を、映像生成部400に対して供給する。映像生成部400は生成した映像を投影光学系500に供給する。投影光学系500は、映像生成部400から供給された映像に対してフォーカシング、ズーミング等の光学的変換を行う。投影光学系500は、開口部101と対向しており、開口部101から映像が投影される。
まず、光源部300の構成について説明する。図5に示すように、光源部300は、半導体レーザー310、ダイクロイックミラー330、λ/4板340、蛍光体ホイール360などを備えている。
半導体レーザー310は、例えば、波長440〜455nmのS偏光の青色光を発光する固体光源である。半導体レーザー310から出射されたS偏光の青色光は、導光光学系320を介してダイクロイックミラー330に入射される。
ダイクロイックミラー330は、例えば、波長440〜455nmのS偏光の青色光に対しては98%以上の高い反射率を有する一方、波長440〜455nmのP偏光の青色光及び、波長490〜700nmの緑色光〜赤色光に対しては偏光状態に関わらず95%以上の高い透過率を有する光学素子である。ダイクロイックミラー330は、半導体レーザー310から出射されたS偏光の青色光を、λ/4板340の方向に反射する。
λ/4板340は、直線偏光を円偏光に変換又は、円偏光を直線偏光に変換する偏光素子である。λ/4板340は、ダイクロイックミラーと蛍光体ホイールとの間に配置される。λ/4板340に入射したS偏光の青色光は、円偏光の青色光に変換された後、レンズ350を介して蛍光体ホイール360に照射される。
蛍光体ホイール360は、高速回転が可能なように構成されたアルミ平板である。蛍光体ホイール360の表面には、拡散反射面の領域であるB領域と、緑色光を発光する蛍光体が塗付されたG領域と、赤色光を発光する蛍光体が塗付されたR領域とが複数形成されている。蛍光体ホイール360のB領域に照射された円偏光の青色光は拡散反射されて、円偏光の青色光として再びλ/4板340に入射する。λ/4板340に入射した円偏光の青色光は、P偏光の青色光に変換された後、再びダイクロイックミラー330に入射する。このときダイクロイックミラー330に入射した青色光は、P偏光であるためダイクロイックミラー330を透過して、導光光学系370を介して映像生成部400に入射する。
蛍光体ホイール360のG領域又はR領域に照射された青色光は、G領域又はR領域上に塗付された蛍光体を励起して緑色光又は赤色光を発光させる。G領域又はR領域上から発光された緑色光又は赤色光は、ダイクロイックミラー330に入射する。このときダイクロイックミラー330に入射した緑色光又は赤色光は、ダイクロイックミラー330を透過して、導光光学系370を介して映像生成部400に入射する。
蛍光体ホイール360は高速回転しているため、光源部300から映像生成部400へは、青色光、緑色光、赤色光が時分割されて出射する。
映像生成部400は、制御部210から供給される映像信号に応じた投影映像を生成する。映像生成部400は、DMD(Digital−Mirror−Device)420などを備えている。DMD420は、多数のマイクロミラーを平面に配列した表示素子である。DMD420は、制御部210から供給される映像信号に応じて、配列したマイクロミラーの各々を偏向させて、入射する光を空間的に変調させる。光源部300は、青色光、緑色光、赤色光を時分割で出射する。DMD420は、導光光学系410を介して、時分割に出射されてくる青色光、緑色光、赤色光を順に繰返し受光する。DMD420は、各々の色の光が出射されてくるタイミングに同期して、マイクロミラーの各々を偏向させる。これにより、映像生成部400は、映像信号に応じた投影映像を生成する。DMD420は、映像信号に応じて、投影光学系に進行させる光と、投影光学系の有効範囲外へと進行させる光とにマイクロミラーを偏向させる。これにより、映像生成部400は、生成した投影映像を、投影光学系500に対して供給することができる。
投影光学系500は、ズームレンズ510やフォーカスレンズ520などの光学部材を備える。投影光学系は、映像生成部400から進行してきた光を拡大して投影面へ投影する。制御部210は、ズームレンズ510の位置を調整することで、所望のズーム値になるよう投影対象に対して投影領域を制御できる。ズーム値を大きくする場合、制御部210は、ズームレンズ510の位置を画角が狭くなる方向へ移動させて、投影領域を狭くする。一方、ズーム値を小さくする場合、制御部210は、ズームレンズ510の位置を画角が広くなる方向に移動させて、投影領域を広くする。また、制御部210は、ズームレンズ510の移動に追従するよう、所定のズームトラッキングデータに基づきフォーカスレンズ520の位置を調整することで、投影映像のフォーカスを合わせることができる。
上記では、プロジェクタ装置100の一例として、DMD420を用いたDLP(Digital−Light−Processing)方式による構成を説明したが、本開示はこれに限定されない。すなわち、プロジェクタ装置100として、液晶方式による構成を採用しても構わない。
上記では、プロジェクタ装置100の一例として、蛍光体ホイール360を用いた光源を時分割させた単光源方式による構成を説明したが、本開示はこれに限定されない。すなわち、プロジェクタ装置100として、青色光、緑色光、赤色光の各種光源を備えた三光源方式による構成を採用しても構わない。
上記では、投影映像を生成するための青色光の光源と、距離を測定するための赤外光の光源とを別ユニットとする構成を説明したが、本開示はこれに限定されない。すなわち、投影映像を生成するための青色光の光源と、距離を測定するための赤外光の光源とを統合したユニットとしても構わない。三光源方式を採用するのであれば、各色の光源と赤外光の光源とを統合したユニットとしても構わない。
次に図6および図7を参照して、物体検出部200のメモリ220に保持されるデータについて説明する。
図6は、メモリ220に保持される3種のデータを示す模式図である。メモリ220は、映像設定参照テーブル221と、対象物体形状データベース222と、投影コンテンツデータベース223と、を保持する。
映像設定参照テーブル221は、映像を投影すべき領域や、検出された移動物体(例、人)の位置に追従して映像が投影される位置および向きを変更すべきか否かなどの設定情報を、特定の対象物体について示した参照テーブルである。
図7Aは、映像設定参照テーブル221の詳細を示す図である。映像設定参照テーブル221は、対象物体221aと、投影コンテンツ221bと、映像の投影領域221cと、人追従設定221dと、を関連付けて管理する。人追従設定221dは、オン/オフ設定フラグ221daと、位置フラグ221dbと、向きフラグ221dcと、の情報を含んでいる。
対象物体221aは、物体検出により検出されるべき対象物体を示す情報である。図7Aでは、対象物体を示す情報として、「テーブルA」、「皿B」、「情報提示板C」等を管理している。
投影コンテンツ221bは、対象物体が検出された場合に投影されるべき映像に関する情報である。この情報は、投影コンテンツデータベース223に保持される映像データとのリンクを含んでいる。同図では、投影コンテンツを示す情報として、コンテンツA、B、Cといった情報を管理している。
投影領域221cは、対象物体が検出された場合に映像を投影すべき領域に関する情報である。図7Aでは、投影すべき領域を示す情報として、「対象物体上」が規定されている。これは、例えば、「テーブルA」が検出された場合には、投影コンテンツである「コンテンツA」は「テーブルA」上に投影されるべきであることを規定する。他の対象物体についても、同様である。
人追従設定221dは、人を検出した場合に、検出された人の位置に応じて、投影コンテンツ221bが投影される位置や向きを、投影領域221c内において変更するか否かを規定する情報である。
人追従設定221dのオン/オフ設定フラグ221daは、検出された人の位置に応じて投影コンテンツが投影される位置や向きを変更すべきか否かを規定するフラグである。オン/オフ設定フラグ221daは、検出された人の位置に応じて投影の位置や向きを変更すべき場合に「ON」に、変更すべきでない場合に「OFF」に設定される。
人追従設定221dの位置フラグ221dbは、検出された人の位置に応じて投影コンテンツが投影される位置を投影領域221c内において変更すべきか否かを規定するフラグである。位置フラグ221dbは、検出された人の位置に応じて投影コンテンツの位置を投影領域221c内において変更すべき場合は「YES」に、変更すべきでない場合は「NO」に設定される。
人追従設定221dの向きフラグ221dcは、検出された人の位置に応じて投影コンテンツの向きを変更すべきか否かを規定するフラグである。向きフラグ221dcは、検出された人の位置に応じて投影コンテンツの向きを変更すべき場合は「YES」に、変更すべきでない場合は「NO」に設定される。
例えば、プロジェクタ装置100は、その物体検出部200が対象物体「テーブルA」であるテーブル150を検出した場合、投影領域であるテーブル150上にコンテンツAを投影する。その際、プロジェクタ装置100がさらに人を検出すると、プロジェクタ装置100は、人追従設定221dに従って人の位置に応じてコンテンツAの投影位置と向きとを、投影領域であるテーブル150上内において変更する。
また、例えば、プロジェクタ装置100は対象物体「皿B」を検出すると、投影領域である皿B上にコンテンツBを投影する。その際、人が検出されると、プロジェクタ装置100は、人追従設定221dに従って、人の位置に応じてコンテンツBの向きを変更する。
他方、人追従設定221dのオン/オフ設定フラグ221daに「OFF」が設定されている対象物体「情報提示板C」の場合では、プロジェクタ装置100は、物体検出部200が対象物体「情報提示板C」を検出すると、投影領域である情報提示板C上にコンテンツCを表示する。その際、プロジェクタ装置100がさらに人を検出したとしても、プロジェクタ装置100は、人の位置に依らずに、コンテンツCを情報提示板C上の所定の位置に投影し続ける。
このように、実施の形態1によるプロジェクタ装置100では、検出すべき物体各々について、投影コンテンツを投影すべき領域を規定する情報と、検出された人の位置に応じて投影コンテンツの位置や向きを当該領域内において変更すべきか否かを規定する情報とを保持し、適宜それらの情報を参照して投影コンテンツを投影すべき位置や向きを決定する。そうすることにより、プロジェクタ装置100は、移動物体(例、人)の位置に応じて投影される位置や向きが変更されることが望ましい投影コンテンツについては、人の位置に応じて位置や向きを決定して投影を行い、移動物体(例、人)の位置に依らずに所定の被投影物に投影されることが望ましい投影コンテンツについては、人の位置に依らずに投影すべき位置等を決定し、投影を行うことが可能になっている。
図7Bは、対象物体形状データベース222の詳細を示す図である。対象物体形状データベース222は、対象物体ごとに、形状の特徴量を示すデータを保持するデータベースである。
図7Cは、投影コンテンツデータベース223の詳細を示す図である。投影コンテンツデータベース223は、各投影コンテンツのデータ(静止画、または、動画)、および、各投影コンテンツの概要を示す情報を保持するデータベースである。
[1−3.動作]
続いて、図8〜図11を用いてプロジェクタ装置100の動作について説明する。
図8は、プロジェクタ装置100の動作の流れを示すフローチャートである。図9は、動作説明のための模式図であり、プロジェクタ装置100から見た周囲の様子を示している。図9が示す状況においては、テーブル150の前に人190が立ち、テーブル150の上には皿170と情報提示板180とが載置されている。図10は、検出された物体を示す模式図である。以下、この状況例に従って、プロジェクタ装置100の動作を説明する。
プロジェクタ装置100の制御部210は、センサ部230から距離情報を取得する(ステップS1)。
制御部210は、取得した距離情報に基づいて、対象物体の検出を行う。具体的には、制御部210は、メモリ220に保持された対象物体形状データベース222に基づいて距離情報(距離画像)に対しマッチング処理を行うことにより、距離情報から対象物体を検出する。より具体的には、データベース222に登録された各特徴量が示すオブジェクトを、距離画像から検出することで対象物体を検出する。
図9に示した例では、プロジェクタ装置100から見た周囲に、データベース222に登録された「テーブルA」、「皿B」、「情報提示板C」に対応するテーブル150、皿170、情報提示板180が存在するとともに、人190とが存在する。そして、図10に示されるように、制御部210は、テーブル150、皿170、情報提示板180である対象物体や人190を検出する。
なお、制御部210は、距離情報に代えて、図示しないRGBカメラ等からカラー画像を取得し、カラー画像に基づいてマッチング処理を行うことにより、物体検出を行ってもよい。また、マッチング処理は、機械学習等による統計的な対象物体形状のデータに基づいて行われてもよい。
制御部210は、対象物体を検出したか否かを判断する(ステップS2)。対象物体が検出された場合(ステップS2におけるYES)、処理はステップS3に進む。対象物体が検出されなかった場合(ステップS2におけるNO)、処理はステップS9へ移行する。図10に示した状況では対象物体であるテーブル150、皿170、情報提示板180が検出されている。そこで、処理はステップS3へ進む。
制御部210は、検出された対象物体の1つであるテーブル150について、図7Aの映像設定参照テーブル221を参照して「テーブルA」の設定条件を取得する(ステップS3)。
制御部210は、映像設定参照テーブル221を参照し、「テーブルA」について人追従設定がオンに設定されているか否かを判断する(ステップS4)。対象物体「テーブルA」については、人追従設定がオンに設定されているので(ステップS4におけるYES)、処理はステップS5へ進む。
制御部210は、人を検出したか否かを判断する(ステップS5)。図10で例示した状況では、人190が検出されているので(ステップS5におけるYES)、処理はステップS6aへ進む。
設定条件(映像設定参照テーブル221)によれば、「テーブルA」について、人追従設定221dの位置フラグ221dbおよび向きフラグ221dcはともに「YES」に設定されている。そこで、制御部210は、テーブル150に投影すべきコンテンツA(メニュー操作用ユーザインタフェースの映像)の投影位置および向きを、投影領域(テーブル150上)内で、検出された人の位置に基づいて決定する(ステップS6a)。より具体的には、制御部210は、テーブル150上の領域のうちから人に対して所定の位置関係にある領域を求めるとともに、投影される映像の上下あるいは左右が検出された人にとって正しい向きとなるように、投影の向きを決定する。
制御部210は、検出した対象物体の全てについて投影コンテンツの投影位置等を決定したか、未だ投影の位置等が未決定の対象物体(の投影コンテンツ)が残っているか、を判断する(ステップS7)。検出した全ての対象物体について投影コンテンツの投影位置等が決定されていれば(ステップS7におけるYES)、処理はステップS8へ進む。未だ投影の位置等が未決定の対象物体(の投影コンテンツ)が残っていれば(ステップS7におけるNO)、処理はステップS3へ進む。図10に示した状況では対象物体のテーブル150、皿170、および、情報提示板180が検出されており、皿170および情報提示板180については、未だ投影コンテンツの投影の位置等は未決定である。そこで、処理はステップS3へ進む。
ステップS3に戻って、制御部210は、検出された対象物体の1つである皿170について、図7Aの映像設定参照テーブル221を参照して「皿B」の設定条件を取得する(ステップS3)。
制御部210は、映像設定参照テーブル221を参照し、「皿B」について人追従設定がオンに設定されているか否かを判断する(ステップS4)。対象物体「皿B」については、人追従設定がオンに設定されているので(ステップS4におけるYES)、処理はステップS5へ進む。
制御部210は、人を検出したか否かを判断する(ステップS5)。図10で例示した状況では、人190が検出されているので(ステップS5におけるYES)、処理はステップS6aへ進む。
設定条件(映像設定参照テーブル221)によれば、「皿B」について、人追従設定221dの位置フラグ221dbは「NO」に設定され、向きフラグ221dcは「YES」に設定されている。そこで、制御部210は、皿170に投影すべきコンテンツB(料理の映像)の投影の向きを検出された人の位置に基づいて決定する(ステップS6a)。より具体的には、制御部210は、投影の位置を、皿170上の領域内の所定の位置(例えば、中央)とし、投影の向きを、投影される映像の上下あるいは左右が検出された人にとって正しい向きとなるように、決定する。
制御部210は、検出した対象物体の全てについて投影コンテンツの投影位置等を決定したか、未だ投影の位置等が未決定の対象物体(の投影コンテンツ)が残っているか、を判断する(ステップS7)。図10に示した状況では対象物体のテーブル150、皿170、および、情報提示板180が検出されており、情報提示板180については、未だ投影コンテンツの投影の位置等は未決定である。そこで、処理はステップS3へ進む。
ステップS3に戻って、制御部210は、検出された対象物体の残りの1つである情報提示板180について、図7Aの映像設定参照テーブル221を参照して「情報提示板C」の設定条件を取得する(ステップS3)。
制御部210は、映像設定参照テーブル221を参照し、「情報提示板C」について人追従設定がオンに設定されているか否かを判断する(ステップS4)。対象物体「情報提示板C」については、人追従設定がオフに設定されているので(ステップS4におけるNO)、処理はステップS6bへ進む。
制御部210は、情報提示板180に投影すべきコンテンツC(料理情報の映像)の投影の位置等を、人が検出されたか否かに依らずに決定する(ステップS6b)。より具体的には、制御部210は、投影の位置を、情報提示板180上の領域内の所定の位置(例えば、中央)とし、投影の向きを、所定の方向に決定する。
図10に示した状況において、検出された対象物体であるテーブル150、皿170、および、情報提示板180について投影コンテンツの投影の位置等は全て決定された。その後、処理はステップS8へ進む。
制御部210は、決定した位置等に基づき投影コンテンツを含んだ投影映像の画像データを生成する。そして、制御部210は、光源部300、映像生成部400、および、投影光学系500を制御して、投影映像の投影を行う(ステップS8)。なお、このとき制御部210は、映像が投影されたときに正しい形状で表示されるように、投影コンテンツデータベース223に保持された映像データに対し幾何補正等の処理を行ってよい。
ステップS9において、制御部210は、引続き投影コンテンツの投影を継続するか、投影を終了するか、を判断する。投影を継続する場合、処理はステップS1に戻って、再度ステップS1からステップS7までの処理を行う。そうすることで、プロジェクタ装置100は、人の移動(位置の変化)に追従するように投影コンテンツの位置および向きを変更させながら、投影コンテンツを投影することができる。
図11は、人190がテーブル150の周囲に沿って移動している際に複数の投影コンテンツの投影が変化する様子を示す模式図である。
図11の(A)、(B)、(C)に示すように、投影コンテンツ153は、人追従設定221dがオンに設定され、位置フラグ221dbおよび向きフラグ221dcが共に「YES」に設定されている投影コンテンツである。そのため、投影コンテンツ153は、テーブル150上の領域内において、人190に対して所定の位置関係にある領域に、投影される映像の上下が人190にとって正しい向き(矢印153d)となるように投影される。つまりプロジェクタ装置100は、人190が移動すると、投影コンテンツ153については、人190の位置に応じて投影の位置と方向を変化させて投影を行う。
これに対し、投影コンテンツ173は、人追従設定221dがオンに設定され、位置フラグ221dbが「NO」に設定され、向きフラグ221dcが「YES」に設定されている投影コンテンツである。そのため、投影コンテンツ173は、皿170上の領域内の所定位置(例えば皿170の中央部)において、投影される映像の上下が人190にとって正しい向き(矢印173d)となるように投影される。つまりプロジェクタ装置100は、人190が移動すると、投影コンテンツ173については、人190の位置に応じて投影の向きを変化させて投影を行う。
最後に、投影コンテンツ183は、人追従設定221dがオフに設定されている投影コンテンツである。そのため、投影コンテンツ183は、情報提示板180上の領域内の所定位置(例えば情報提示板180の中央部)において、投影の向きを所定の方向として投影される。つまりプロジェクタ装置100は、投影コンテンツ183については、人190の位置に依らずに、所定の位置に投影を行う。
このようにして、プロジェクタ装置100は、ステップS1からステップS8までの処理を繰返して行うことで、対象物体に関係付けられた投影コンテンツを、人に追従するように投影することができる。それと同時に、プロジェクタ装置100は、特定の対象物体に関係付けられた投影コンテンツについては、人の位置に依らずに、所定の領域上に投影することができる。
[1−4.効果等]
実施の形態1によるプロジェクタ装置100は、移動物体(例、人)の位置に応じて投影される位置等が変更されることが望ましい投影コンテンツと、移動物体(例、人)の位置に依らずに所定の被投影物に投影されることが望ましい投影コンテンツとが混在する場合に、前者については、人の位置に応じて、映像(投影領域や向き)を変更させながら投影を行い、それと同時に、後者については、人の位置に依らずに映像の投影を行うことができる。
(実施の形態2)
次に、図12〜図15を用いて、実施の形態2を説明する。
[2−1.概要]
実施の形態2によるプロジェクタ装置100は、構成の点では、メモリ220に保持される映像設定参照テーブル321の構成が、実施の形態1における映像設定参照テーブル221と異なる。また、実施の形態2によるプロジェクタ装置100は、動作の点でも、実施の形態1におけるプロジェクタ装置100の動作と異なる点を有する。実施の形態2によるプロジェクタ装置100は、特定の対象物体と関係付けられた投影コンテンツについては、所定の位置にそれを投影し、特定の対象物体と関係付けられていない投影コンテンツについては、人の位置に応じて投影の位置や向きを変化させながら投影を行う。
[2−2.構成]
実施の形態2によるプロジェクタ装置100は、その電気的構成、および、光学的構成の点で、実施の形態1によるプロジェクタ装置100と同じである。そのため、それらについては説明を省略する。
上述したように、実施の形態2によるプロジェクタ装置100は、メモリ220に保持される映像設定参照テーブル321に特徴を有する。これより図12、図13を参照し、映像設定参照テーブル321について説明する。
図12に示されるように、プロジェクタ装置100のメモリ220は、映像設定参照テーブル321と、対象物体形状データベース222と、投影コンテンツデータベース223と、を保持する。対象物体形状データベース222と、投影コンテンツデータベース223とは、実施の形態1と同様であるため、説明を省略する。
図13は、映像設定参照テーブル321の詳細を示す図である。映像設定参照テーブル321は、対象物体321aと、投影コンテンツ321bと、映像の投影領域321cと、を関連付けて管理する。
対象物体321aは、物体検出により検出されるべき対象物体を示す情報である。図13では、対象物体を示す情報として、「−−−」(対象物体なし)、「皿B」、「情報提示板C」等を管理している。「−−−」(対象物体なし)として管理される投影コンテンツ(「コンテンツA」)は、後述するように、人が検出された場合に、その人の近く(投影領域)に投影されるべき投影コンテンツであることを意味する。
投影コンテンツ321bは、対象物体が検出された場合に投影されるべき映像に関する情報である。この情報は、投影コンテンツデータベース223に保持される映像データとのリンクを含んでいる。図13では、投影映像を示す情報として、コンテンツA〜Cといった情報を管理している。
投影領域321cは、対象物体が検出された場合に映像を投影すべき領域に関する情報である。図13では、投影すべき領域を示す情報として、コンテンツAについては「人の近く」が規定されている。これは、人が検出された場合に、「コンテンツA」はその人の近くに投影されるべきであることを規定する。
このように、映像設定参照テーブル321は、実施の形態1における映像設定参照テーブル221と異なり、人追従設定に関する情報を管理しない。映像設定参照テーブル321では、人に追従させて投影されるべき投影コンテンツ(コンテンツA)は、特定の対象物体と関係付けされずに管理される。そうすることにより、プロジェクタ装置100は、人の位置に応じて投影される位置や向きが変更されることが望ましい投影コンテンツについては、人を検出するとその人の位置に応じて位置や向きを決定して投影を行い、人の位置に依らずに所定の被投影物に投影されることが望ましい投影コンテンツについては、人の位置に依らずに投影すべき位置等を決定し、投影を行うことが可能になっている。
[2−3.動作]
続いて、図14〜図15を用いてプロジェクタ装置100の動作について説明する。
図14は、プロジェクタ装置100の動作の流れを示すフローチャートである。図15は、人の移動に合わせて投影コンテンツの位置や向きが変化する様子を示す模式図である。図15の(A)は、皿170および情報提示板180が載置されたテーブル150を上から見たときの図である。図15の(B)、(C)は、投影コンテンツA〜Cが投影される様子を示す模式図である。以下では、図15(A)〜(C)に示された状況例を用いてプロジェクタ装置100の動作を説明する。
プロジェクタ装置100の制御部210は、センサ部230から距離情報を取得する(ステップS11)。
制御部210は、取得した距離情報に基づいて、対象物体の検出を行う。図15の(A)に示される状況では、制御部210は、皿170を「皿B」として、情報提示板180を「情報提示板C」として検出する。
制御部210は、対象物体を検出したか否かを判断する(ステップS12)。対象物体が検出された場合(ステップS12におけるYES)、処理はステップS13に進む。対象物体が検出されなかった場合(ステップS12におけるNO)、処理はステップS16へ移行する。図15の(A)に示した状況では皿170、および情報提示板180が検出されている。そこで、処理はステップS13へ進む。
制御部210は、検出された対象物体の1つである皿170について、図13の映像設定参照テーブル321を参照して「皿B」の設定条件を取得する(ステップS13)。
制御部210は、映像設定参照テーブル321を参照し、皿170に投影すべきコンテンツB(ここでは黒ヌキ照明の映像)の投影の位置等を、設定条件に基づいて決定する(ステップS14)。ここでは制御部210は、投影コンテンツBの投影の位置を、皿170上の領域内の所定の位置(例えば、中央)に決定する。
制御部210は、検出した対象物体の全てについて投影コンテンツの投影位置等を決定したか、未だ投影の位置等が未決定の対象物体(の投影コンテンツ)が残っているか、を判断する(ステップS15)。図15の(A)に示した状況では、皿170、および情報提示板180が検出されており、情報提示板180については、未だ投影コンテンツの投影の位置等は未決定である。そこで、処理はステップS13へ進む。
制御部210は、検出された対象物体の残りの1つである情報提示板180について、図13の映像設定参照テーブル321を参照して「情報提示板C」の設定条件を取得する(ステップS13)。
制御部210は、映像設定参照テーブル321を参照し、情報提示板180に投影すべきコンテンツC(料理情報の映像)の投影の位置等を、設定条件に基づいて決定する(ステップS14)。ここでは制御部210は、コンテンツCの投影の位置を、情報提示板180上の領域内の所定の位置(例えば、中央)に決定する。
図15の(A)に示した状況において検出された皿170、および情報提示板180について投影コンテンツの投影の位置等は全て決定された。そこで、処理はステップS16へ進む。
制御部210は、ステップS11で取得した距離情報から人が検出されたか否かを判断する(ステップS16)。図15の(A)に示した状況では、プロジェクタ装置100は、人を検出しないので、処理はステップS18へ進む。
制御部210は、決定した位置等に基づき投影コンテンツを含んだ投影映像の画像データを生成する。そして、制御部210は、光源部300、映像生成部400、および、投影光学系500を制御して、投影映像の投影を行う(ステップS18)。そうすることで、図15の(B)に示されるように、投影コンテンツ174、183が各々投影される。投影コンテンツ174(黒ヌキ照明のための映像)は、皿170上に投影される。投影コンテンツ183は、情報提示板180上の領域内の所定位置(例えば情報提示板180の中央部)に投影される。
ステップS19において、制御部210は、引続き投影コンテンツの投影を継続するか、投影を終了するか、を判断する。投影を継続する場合、処理はステップS11に戻って、再度ステップS11からステップS18までの処理を行う。
図15の(C)に示される時点で、制御部210は、センサ部230から距離情報を取得する(ステップS11)。制御部210は、取得した距離情報に基づいて、対象物体の検出を行う。図15の(C)に示される状況では、制御部210は、図15の(A)、(B)に示された状況と同様に、皿170を「皿B」として、情報提示板180を「情報提示板C」として検出するとともに、さらに、人190を検出する。
制御部210は、図15の(A)、(B)に示される時点と同様にステップS11〜ステップS15を行う。そして、処理はステップS16へ進む。
制御部210は、ステップS11で取得した距離情報から人が検出されたか否かを判断する(ステップS16)。図15の(C)に示した時点で、プロジェクタ装置100は、人を検出しているので、処理はステップS17へ進む。
制御部210は、図13の映像設定参照テーブル321を参照して「−−−」(対象物体なし)の設定条件を取得する。設定条件によれば、投影領域「人の近く」に投影コンテンツ「コンテンツA」(メニュー操作UI)を投影すべきことが規定されている。そこで、制御部210は、人190の近くの領域(人190から所定距離だけ離れた領域)を投影領域に決定する(ステップS17)。
制御部210は、光源部300、映像生成部400、および、投影光学系500を制御して、投影コンテンツの投影を行う(ステップS18)。図15の(C)が示す状況では、投影コンテンツ174、183、153が各々投影される。投影コンテンツ174、183は、図15の(B)に示される人190がいない場合と同様投影され、投影コンテンツ153は、人190の近くに投影される。
このようにして、プロジェクタ装置100は、ステップS11からステップS18までの処理を繰返して行うことで、特定の対象物体と関係付けられた投影コンテンツを所定の領域に投影するとともに、人の近くに特定の投影コンテンツを、人の位置に追従するように、投影することができる。
なお、図13に示した映像設定参照テーブル321では、コンテンツAは、特定の対象物体と関係付けられていないが、コンテンツAは、対象物体としての「人」に直接的に関係付けられてもよい。
[2−4.効果等]
実施の形態2によるプロジェクタ装置100は、移動物体(例、人)の位置に応じて投影される位置等が変更されることが望ましい投影コンテンツと、移動物体(例、人)の位置に依らずに所定の被投影物に投影されることが望ましい投影コンテンツとが混在する場合に、前者については、人の位置に応じて、映像(投影領域や向き)を変更させながら投影を行い、それと同時に、後者については、人の位置に依らずに映像の投影を行うことができる。
(実施の形態3)
次に、図16〜図20を用いて、実施の形態3を説明する。
[3−1.概要]
実施の形態3によるプロジェクタ装置100は、メモリ220に保持される映像設定参照テーブル421の構成が、実施の形態1および2における映像設定参照テーブル221および321と異なる。また、プロジェクタ装置100は、後述する人追従設定参照テーブル521を有する点で、実施の形態1および2によるプロジェクタ装置と異なる。実施の形態3によるプロジェクタ装置100は、特定の対象物体各々の形状の特徴に基づいて、それと関係付けられた投影コンテンツが投影される位置等を人の位置に追従させるか否か判断して投影コンテンツの投影を行う。
[3−2.構成]
実施の形態3によるプロジェクタ装置100は、その電気的構成、および、光学的構成の点で、実施の形態1および2によるプロジェクタ装置100と同じである。そのため、それらについては説明を省略する。
上述したように、実施の形態3によるプロジェクタ装置100は、メモリ220に保持される映像設定参照テーブル421および人追従設定参照テーブル521に特徴を有する。これより図16および図17を参照し、映像設定参照テーブル421と、人追従設定参照テーブル521について説明する。
図16に示されるように、プロジェクタ装置100のメモリ220は、映像設定参照テーブル421と、人追従設定参照テーブル521と、対象物体形状データベース222と、投影コンテンツデータベース223と、を保持する。対象物体形状データベース222と、投影コンテンツデータベース223とは、実施の形態1と同様であるため、説明を省略する。
図17Aは、映像設定参照テーブル421の詳細を示す図である。映像設定参照テーブル421は、対象物体421aと、投影コンテンツ421bと、映像の投影領域421cと、を関連付けて管理する。映像設定参照テーブル421は、実施の形態2における映像設定参照テーブル321と同様の情報を管理する。
図17Bは、人追従設定参照テーブル521の詳細を示す図である。人追従設定参照テーブル521は、対象物体の面が、後述する基準面と平行であるか、否か、に基づいて、対象物体の人追従設定を区別するためのテーブルである。
詳しくは後述するが、人追従設定参照テーブル521により、その面が基準面(例えば、テーブル150)と平行であるような対象物体については、人追従設定521bがオンに設定される。(位置フラグ521bbは「NO」に、向きフラグ521bcは「YES」に設定される。)また、その面が基準面と平行でないような対象物体については、人追従設定521bがオフに設定される。
実施の形態3によるプロジェクタ装置100では、映像設定参照テーブル421と人追従設定参照テーブル521とに基づいて、対象物体の面が基準面と平行であるか否かで人追従設定を切替えて、投影コンテンツの投影位置や向きを制御する。そうすることにより、プロジェクタ装置100は、例えば、その面が基準面と平行な対象物(例えば、皿170)に投影されるべき投影コンテンツについては、人の位置に応じて位置や向きを決定して投影を行い、その面が基準面と平行でない対象物(例えば、情報提示板180)に投影されるべき投影コンテンツについては、人の位置に依らずに投影すべき位置等を決定し、投影を行うことが可能になっている。
[3−3.動作]
続いて、図18〜図20を用いてプロジェクタ装置100の動作について説明する。
図18は、プロジェクタ装置100の動作の流れを示すフローチャートである。図19は、プロジェクタ装置100から見た周囲の様子を例示する図であり、本図を用いて基準面の面情報や対象物体の面情報を取得する方法について説明する。図19が示す状況においては、テーブル150の上に皿170と情報提示板180とが載置されている。図20は、投影コンテンツ173、183が投影される様子を示す模式図である。ここでは、図20に示される状況を例として、プロジェクタ装置100の動作を説明する。
プロジェクタ装置100の制御部210は、センサ部230から距離情報を取得する(ステップS21)。
制御部210は、取得した距離情報に基づいて、対象物体の検出を行う。図19および図20の(A)に示される状況では、制御部210は、基準面を構成するテーブル150と、皿170を「皿B」として、情報提示板180を「情報提示板C」として検出する。
制御部210は、対象物体を検出したか否かを判断する(ステップS22)。対象物体が検出された場合(ステップS22におけるYES)、処理はステップS23に進む。対象物体が検出されなかった場合(ステップS22におけるNO)、処理はステップS30へ移行する。図20の(A)に示した状況では皿B、および、情報提示板Cが検出されている。そこで、処理はステップS23へ進む。
制御部210は、距離情報に基づいて基準面の面情報を取得する(ステップS23)。ここでの基準面とは、対象物体である皿170や情報提示板180などが載置されている面を指し、例えば、テーブル150の天板が基準面として選択される。制御部210は、距離情報に基づいて、テーブル150の天板の面方程式を導出する。
図19を参照して、面方程式の導出方法について説明する。制御部210は、基準面(テーブル150の天板)内の任意の三点、点A1、点B1、点C1を選択し、距離情報をもとにして三軸直交座標系(x、y、z)における点A1、点B1、点C1の座標値を求め、それら座標値をもとに、ベクトルA1B1、およびベクトルA1C1を構成する。そして、制御部210は、ベクトルA1B1と、ベクトルA1C1と、の外積ベクトルN1を計算により求める。制御部210は、外積ベクトルN1、および、点A1等の座標値に基づいて、投影面の面方程式a1x+b1y+c1z+d1=0を決定する。このようにして導出された基準面の面方程式の情報(即ち、係数a1,b1,c1,d1)は、メモリ220に保持される。
なお、上記では、対象物体が検出された後に基準面の面方程式を導出する場合を説明したが、本開示はこれに限定されない。すなわち、対象物体が検出される前に、対象物体が載置される予定の面(テーブル150の天板)の面方程式を導出しておいてもよい。或いは、対象物体が検出された後に基準面の面方程式を導出する場合であっても、参照する距離情報は、対象物体が検出される前に取得したものとしてもよい。この場合、対象物体が載置される予定の面(テーブル150の天板)の距離情報に基づいて点A1、点B1、点C1の任意の3点の座標値を、対象物体が検出される前に取得してメモリ220に記憶しておけばよい。
次に制御部210は、ステップS23と同様にして、距離情報から対象物体の表面の面情報を取得する(ステップS24)。具体的には、制御部210は、距離情報に基づいて、皿170および情報提示板180各々について、図19のように法線ベクトルN2およびN3、ならびに、皿170の表面の面方程式a2x+b2y+c2z+d2=0、および、情報提示板180の表面の面方程式a3x+b3y+c3z+d3=0を導出する。
次に制御部210は、検出された対象物体の1つである皿170について、皿170の表面と、基準面であるテーブル150とが平行であるか否かを判断する(ステップS25)。具体的には、制御部210は、テーブル150の法線ベクトルN1と、皿170の表面の法線ベクトルN2と、の内積を求め、求めた内積に基づいて2つの面が平行(または略平行)であるか、そうでないかを判断する。ただし、平行/非平行の判断の手法は、この例に限定されない。
ここでは、テーブル150の法線ベクトルN1と、皿170の法線ベクトルN2とは、略平行であるとする。よって、皿170についてのステップS25の判断は「YES」となり、処理はステップS26へ進む。
制御部210は、ステップS21で取得した距離情報から人が検出されたか否かを判断する(ステップS26)。人が検出されていれば(ステップS26におけるYES)、処理はステップS27aに進み、人が検出されていなければ(ステップS26におけるNO)、処理はステップS27bに進む。例えば、図20(A)に示される状況にあっては、制御部210は人を検出していないので、処理はステップS27bに進む。
制御部210は、映像設定参照テーブル421を参照し、皿170に投影すべき投影コンテンツB(料理の映像)の投影の位置等を、図17の設定条件に基づいて決定する(ステップS27b)。ここでは制御部210は、投影コンテンツBの投影の位置を、皿170上の領域内の所定の位置(例えば、中央)に決定する。
制御部210は、検出した対象物体の全てについて投影コンテンツの投影位置等を決定したか、未だ投影の位置等が未決定の対象物体(の投影コンテンツ)が残っているか、を判断する(ステップS28)。図20の(A)に示した状況では皿B、および、情報提示板Cが検出されており、情報提示板Cについては、未だ投影コンテンツの投影の位置等は未決定である。そこで、処理はステップS25へ進む。
制御部210は、検出された対象物体の残りの1つである情報提示板180について、情報提示板180の表面と、テーブル150とが平行であるか否かを判断する(ステップS25)。
ここでは、テーブル150の法線ベクトルN1と、情報提示板180の法線ベクトルN3とは、非平行であるとする。よって、情報提示板180についてのステップS25の判断は「NO」となり、処理はステップS27bへ進む。
制御部210は、図17の映像設定参照テーブル421を参照し、情報提示板180に投影すべき投影コンテンツC(料理情報の映像)の投影の位置等を、設定条件に基づいて決定する(ステップS27b)。ここでは制御部210は、投影コンテンツCの投影の位置を、情報提示板180上の領域内の所定の位置(例えば、中央)に決定する。
図20の(A)に示した状況において検出された皿170、および、情報提示板180について投影コンテンツの投影の位置等は全て決定された。そこで、処理はステップS29へ進む。
制御部210は、決定した位置等に基づき投影コンテンツを含んだ投影映像の画像データを生成する。そして、制御部210は、光源部300、映像生成部400、および、投影光学系500を制御して、投影映像の投影を行う(ステップS29)。図20の(A)が示す状況では、投影コンテンツ173、183が各々投影される。投影コンテンツ173(料理の映像)は、皿170上の領域内の所定位置(例えば皿170の中央部)に投影される。投影コンテンツ183は、情報提示板180上の領域内の所定位置(例えば情報提示板180の中央部)に投影される。
ステップS30において、制御部210は、引続き投影コンテンツの投影を継続するか、投影を終了するか、を判断する。投影を継続する場合、処理はステップS21に戻って、再度ステップS21からステップS29までの処理を行う。
図20の(B)に示される状況で、制御部210は、センサ部230から距離情報を取得する(ステップS21)。制御部210は、取得した距離情報に基づいて、対象物体の検出を行う。図20の(B)に示される時点で、制御部210は、図20の(A)に示された時点と同様、皿170を「皿B」として、情報提示板180を「情報提示板C」として検出するとともに、それに加え、人190を検出する。
制御部210は、図20の(A)に示される時点と同様にステップS21〜ステップS25を行う。そして、処理はステップS26へ進む。
制御部210は、ステップS21で取得した距離情報から人が検出されたか否かを判断する(ステップS26)。図20の(B)に示した時点で、プロジェクタ装置100は、人を検出しているので、処理はステップS27aに進む。
設定条件(人追従設定参照テーブル521)によれば、その表面が基準面と平行である対象物体については、人追従設定521baがオンに設定され、向きフラグ521bcが「YES」に設定されている。そこで、制御部210は、皿170に投影すべきコンテンツB(料理の映像)の向きを、投影領域(テーブル150上)内で、検出された人の位置に基づいて決定する(ステップS27a)。制御部210は、皿170上の領域内において、投影される映像の上下あるいは左右が検出された人にとって正しい向きとなるように、投影の向きを決定する。
制御部210は、検出した対象物体の全てについて投影コンテンツの投影位置等を決定したか、未だ投影の位置等が未決定の対象物体(の投影コンテンツ)が残っているか、を判断する(ステップS28)。図20の(B)に示した状況では皿B、および、情報提示板Cが検出されており、情報提示板Cについては、未だ投影コンテンツの投影の位置等は未決定である。そこで、処理はステップS25へ進む。
制御部210は、検出された対象物体の残りの1つである情報提示板180について、情報提示板180の表面と、基準面であるテーブル150とが平行であるか否かを判断する(ステップS25)。
ここでは、テーブル150の法線ベクトルN1と、情報提示板180の法線ベクトルN3とは、非平行であるとする。よって、情報提示板180についてのステップS25の判断は「NO」となり、処理はステップS27bへ進む。
制御部210は、図17の映像設定参照テーブル421を参照し、情報提示板180に投影すべき投影コンテンツC(料理情報の映像)の投影の位置等を、設定条件に基づいて決定する(ステップS27b)。ここでは制御部210は、投影コンテンツ183の投影の位置を、情報提示板180上の領域内の所定の位置(例えば、中央)に決定する。
図20の(B)に示した状況において検出された皿B、および、情報提示板Cについて投影コンテンツの投影の位置等は全て決定された。そこで、処理はステップS29へ進む。
制御部210は、決定した位置等に基づき投影コンテンツを含んだ投影映像の画像データを生成する。そして、制御部210は、光源部300、映像生成部400、および、投影光学系500を制御して、投影映像の投影を行う(ステップS29)。図20の(B)が示す状況では、投影コンテンツ173および183が各々投影される。投影コンテンツ173(料理の映像)は、皿170上の領域内の所定位置(例えば皿170の中央部)に投影されるとともに、その向きが人190にとって見やすい、正しい向きになるように投影される。投影コンテンツ183は、情報提示板180上の領域内の所定位置(例えば情報提示板180の中央部)に投影される。
ステップS30において、制御部210は、引続き投影コンテンツの投影を継続するか、投影を終了するか、を判断する。投影を継続する場合、処理はステップS21に戻って、再度ステップS21からステップS29までの処理を行う。
このようにして、実施の形態3によるプロジェクタ装置100は、人追従設定参照テーブル521を参照し、特定の対象物体各々の形状の特徴に基づいて、それと関係付けられた投影コンテンツが投影される位置等を人の位置に追従させるか否かを判断し、投影コンテンツの投影の位置等を決定して投影を行う。図20の(C)は、人190が上から見てテーブル150の右側に移動した状況を示す模式図である。図20の(C)の状況においても、皿170上に投影される投影コンテンツ173は、人190にとって見やすい、正しい向きで投影されるとともに、情報提示板180に投影される投影コンテンツ183は、人の位置に依らずに所定の位置に投影される。
このように、プロジェクタ装置100は、投影コンテンツを投影すべき領域が、基準面(テーブル150)と平行であるか否かを判断し、投影すべき領域が、基準面と平行であれば、当該領域に投影される投影コンテンツの位置または向きを、検出された人の位置に応じて可変的に制御するとともに、投影コンテンツを投影すべき領域が、基準面と平行でなければ、当該領域に投影される投影コンテンツの位置や向きを検出された人の位置に依らずに一定に制御する。
[3−4.効果等]
実施の形態3によるプロジェクタ装置100は、人などの移動物体の位置に応じて投影される位置等が変更されることが望ましい投影コンテンツと、移動物体の位置に依らずに所定の被投影物に投影されることが望ましい投影コンテンツとが混在する場合に、前者については、人の位置に応じて、映像(投影領域や向き)を変更させながら投影を行い、それと同時に、後者については、人の位置に依らずに映像の投影を行うことができる。
(実施の形態4)
次に、図21〜図27を用いて、実施の形態4を説明する。
[4−1.概要]
実施の形態4によるプロジェクタ装置100は、メモリ220に保持される映像設定参照テーブル621と、人追従設定参照テーブル721の構成が、実施の形態3における人追従設定参照テーブル521と異なる。実施の形態4によるプロジェクタ装置100は、予め、映像を投影する領域およびその周囲の状態を記録して保持し、初期状態と実際に投影を行うときの状態との差分に基づいて投影コンテンツが投影される位置等を人の位置に追従させるか否か判断し、投影コンテンツの投影を行う。
[4−2.構成]
実施の形態4によるプロジェクタ装置100は、その電気的構成、および、光学的構成の点で、実施の形態1、2、および、3によるプロジェクタ装置100と同じである。そのため、それらについては説明を省略する。
実施の形態4によるプロジェクタ装置100は、メモリ220に保持される映像設定参照テーブル621および人追従設定参照テーブル721に特徴を有する。これより図21および図22を参照し、映像設定参照テーブル621と、人追従設定参照テーブル721について説明する。
図21に示されるように、プロジェクタ装置100のメモリ220は、映像設定参照テーブル621と、人追従設定参照テーブル721と、対象物体形状データベース222と、投影コンテンツデータベース223と、を保持する。対象物体形状データベース222と、投影コンテンツデータベース223とは、実施の形態1と同様でよいため、説明を省略する。
図22Aは、映像設定参照テーブル621の詳細を示す図である。映像設定参照テーブル621は、対象物体621aと、投影コンテンツ621bと、映像の投影領域621cと、を関連付けて管理する。映像設定参照テーブル621は、実施の形態3における映像設定参照テーブル421と同様の情報を管理する。
図22Bは、人追従設定参照テーブル721の詳細を示す図である。人追従設定参照テーブル721は、対象物体721aの存在する領域が、後述する差分なし領域に含まれるか、後述する差分あり領域に含まれるか、に基づいて、対象物体の人追従設定を区別するためのテーブルである。
詳しくは後述するが、人追従設定参照テーブル721により、後述する差分なし領域に含まれるような対象物体については、人追従設定721bのフラグ721baは、オンに設定される。(位置フラグ721bbおよび向きフラグ721bcも「YES」に設定される。)また、後述する差分あり領域に含まれるような対象物体については、人追従設定721bは、オフに設定される。
実施の形態4によるプロジェクタ装置100では、映像設定参照テーブル621と人追従設定参照テーブル721とに基づいて、対象物体が後述する差分なし領域に含まれるか否かで人追従設定を切替えて、投影コンテンツの投影位置や向きを制御する。
[4−3.動作]
続いて、図23〜図27を用いてプロジェクタ装置100の動作について説明する。
図23は、プロジェクタ装置100の動作の流れを示すフローチャートである。
プロジェクタ装置100の制御部210は、先ず、初期値となる距離情報(初期距離画像)を取得する。図24は、初期距離画像として取得された距離情報の例を示す模式図である。図24は、テーブル150の上に皿170が載置された状況をとらえた距離情報である。
ここでは、初期距離画像が取得された後で、図25に示すように、テーブル150上にさらに情報提示板180が載置されたとする。制御部210は、センサ部230から距離情報を取得する(ステップS31)。図25は、情報提示板180が載置された後に取得された距離情報の例を示す模式図である。図25が示す状況では、テーブル150の上に皿170と情報提示板180とが載置されている。
制御部210は、ステップS31で取得した距離情報(距離画像)と、初期距離画像との差分である差分画像(差分情報)を算出する(ステップS32)。
図26は、差分画像の例を示す模式図である。制御部210は、差分画像に基づいて、初期距離情報と相違する領域(差分あり領域)と、初期距離情報と同じ領域(差分なし領域)と、を求める。図26の例では、情報提示板180の領域が差分あり領域185として認識され、その余の領域が差分なし領域として認識される。
制御部210は、ステップS31で取得した距離情報に基づいて、対象物体の検出を行う。具体的には、制御部210は、メモリ220に保持された対象物体形状データベース222に基づいて距離情報(距離画像)に対しマッチング処理を行うことにより、距離情報から対象物体を検出する。
制御部210は、対象物体を検出したか否かを判断する(ステップS33)。対象物体が検出された場合(ステップS33におけるYES)、処理はステップS34に進む。対象物体が検出されなかった場合(ステップS33におけるNO)、処理はステップS40へ移行する。図25に示した状況では、制御部210は、テーブル150を「テーブルA」として、皿170を「皿B」として、情報提示板180を「情報提示板Cとして検出する。そこで、処理はステップS34へ進む。
制御部210は、検出された対象物体であるテーブル150、皿170、および、情報提示板180について、映像設定参照テーブル621および人追従設定参照テーブル721を参照して設定条件(図22Aおよび図22B)を取得する(ステップS34)。
制御部210は、人を検出したか否かを判断する(ステップS35)。人が検出されている場合(ステップS35におけるYES)、処理はステップS36aへ進み、人が検出されていない場合(ステップS35におけるNO)、処理はステップS36bへ進む。
人が検出された場合、制御部210は、差分なし領域に含まれる対象物体(テーブル150および皿170)について、投影コンテンツの投影位置および向きを決定する(ステップS36a)。
図22の設定条件(映像設定参照テーブル621および人追従設定参照テーブル721)によれば、「テーブルA」については、「テーブルA」上にコンテンツAを投影するべきことが規定され、また、差分なし領域に含まれる対象物体については、投影コンテンツを投影する位置および向きは、人の位置に追従して可変的に決定されることが規定されている。情報提示板Cについては、情報提示板C上にコンテンツCを投影するべきことが規定され、また、差分あり領域に含まれる対象物体については投影コンテンツを投影する位置および向きは、人の位置に依存せずに決定されることが規定されている。
そこで、制御部210は、「テーブルA」であるテーブル150に投影すべきコンテンツA(メニュー操作用ユーザインタフェースの映像)の投影位置および向きを、投影領域(テーブル150上)内で、検出された人の位置に基づいて決定する(ステップS36a)。より具体的には、制御部210は、テーブル150上の領域のうちから、人と所定距離だけはなれた領域を求めるとともに、投影される映像の上下あるいは左右が検出された人にとって正しい向きとなるように、投影の向きを決定する。
制御部210は、情報提示板C(情報提示板180)に投影すべきコンテンツC(料理情報の映像)の投影の位置等を、人が検出されたか否かに依らずに(検出された場合でも人の位置に依らずに)決定する(ステップS37)。より具体的には、制御部210は、投影の位置を、情報提示板180上の領域内の所定の位置(例えば、中央)とし、投影の向きを、所定の方向に決定する。
検出された対象物体に対応する投影コンテンツの投影位置等を全て決定すると、処理はステップS39に進む。
制御部210は、決定した位置等に基づき投影コンテンツを含んだ投影映像の画像データを生成する。そして、制御部210は、光源部300、映像生成部400、および、投影光学系500を制御して、投影映像の投影を行う(ステップS39)。なお、このとき制御部210は、映像が投影されたときに正しい形状で表示されるように、投影コンテンツデータベース223に保持された映像データに対し幾何補正等の処理を行ってよい。
図27は、投影コンテンツ153、173、183が投影される様子を示す模式図である。
図27の(A)、(B)に示すように、投影コンテンツ153は、差分なし領域に含まれるテーブル150に対応する投影コンテンツである。そのため、投影コンテンツ153は、テーブル150上の領域内において、人190に対して所定の位置関係にある領域に、投影される映像の上下が人190にとって正しい向き(矢印153d)となるように投影される。つまりプロジェクタ装置100は、人190が移動すると、図27の(B)のように投影コンテンツ153については、人190の位置に応じて投影の位置と方向を変化させて投影を行う。投影コンテンツ173も、差分なし領域に含まれる皿Bに対応する投影コンテンツである。そのため、投影コンテンツ173は、皿170上の領域内において、投影される映像の上下が人190にとって正しい向き(矢印173d)となるように投影される。これに対し、投影コンテンツ183は、差分あり領域に含まれる情報提示板Cに対応する投影コンテンツである。そのため、投影コンテンツ183は、情報提示板180上の領域内の所定位置(例えば情報提示板180の中央部)において、投影の向きを所定の方向として投影される。つまりプロジェクタ装置100は、投影コンテンツ183については、人190の位置に依らずに、所定の位置に投影を行う。
以上のように、人が検出されると(ステップS35におけるYES)、制御部210は、対象物体が差分なし領域に含まれる場合には、対象物体に対応する投影コンテンツを投影する位置や向きを、検出された人の位置に応じて可変的に制御する。それと同時に、制御部210は、差分あり領域に含まれる対象物体については、対象物体に対応する投影コンテンツを投影する位置や向きを、検出された人の位置に依存せずに、制御する。
なお、人が検出されない場合(ステップS35におけるNO)、制御部210は、対象物体が差分あり領域に含まれるか差分なし領域に含まれるかに依らず、対象物体に対応する投影コンテンツを投影する位置や向きを、所定の位置および向きになるように制御すればよい。
[4−4.効果等]
実施の形態4によるプロジェクタ装置100は、移動物体(例、人)の位置に応じて投影される位置等が変更されることが望ましい投影コンテンツと、移動物体(例、人)の位置に依らずに所定の被投影物に投影されることが望ましい投影コンテンツとが混在する場合に、前者については、人の位置に応じて、映像(投影領域や向き)を変更させながら投影を行い、それと同時に、後者については、人の位置に依らずに映像の投影を行うことができる。
(他の実施の形態)
以上のように、技術の例示として、実施の形態1〜4を説明した。しかしながら、本開示における技術はこれに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態1〜4で説明した各構成要素を組みあわせて、新たな実施の形態とすることも可能である。
実施の形態1〜4では、制御部210は、半導体素子であるとして説明した。制御部210は、例えば、CPU(Central Processing Unit;中央演算処理装置)およびその補助回路で構成されてよい。制御部210は、メモリ220に記憶されたプログラムおよびデータに従って各種の処理を実行することにより、上述した動作を行う。なお、制御部210は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field−Programmable Gate Array)のようなプログラマブルロジックデバイスや、マイクロコントローラ、といったプロセッサとしても実装可能である。
実施の形態1〜4では、センサ部230は、TOFセンサであるとして説明した。しかしながら、センサ部230は、TOFセンサに限定されるべきではない。センサ部230は、物体を検出するために必要な信号を出力することができる装置(例、RGBカメラ)であればよい。
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において、種々の変更、置き換え、付加、省略などを行うことができる。