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

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

▶ カシオ計算機株式会社の特許一覧

特開2024-32413投影制御装置、投影システム、投影制御方法及びプログラム
<>
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図1
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図2
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図3
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図4
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図5
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図6
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図7
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図8
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図9
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図10
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図11
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図12
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図13
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図14
  • 特開-投影制御装置、投影システム、投影制御方法及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024032413
(43)【公開日】2024-03-12
(54)【発明の名称】投影制御装置、投影システム、投影制御方法及びプログラム
(51)【国際特許分類】
   G09G 5/00 20060101AFI20240305BHJP
   G09G 5/36 20060101ALI20240305BHJP
   G09G 5/38 20060101ALI20240305BHJP
   G03B 21/00 20060101ALI20240305BHJP
   G03B 21/14 20060101ALI20240305BHJP
   H04N 5/74 20060101ALI20240305BHJP
【FI】
G09G5/00 550C
G09G5/36 520P
G09G5/36 520H
G09G5/00 550B
G09G5/36 520F
G09G5/36 520G
G09G5/38 A
G03B21/00 F
G03B21/14 Z
H04N5/74 Z
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022136055
(22)【出願日】2022-08-29
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】佐藤 太
【テーマコード(参考)】
2K203
5C058
5C182
【Fターム(参考)】
2K203FA02
2K203FA25
2K203FA73
2K203FA82
2K203GC25
2K203GC26
2K203HB05
2K203KA36
2K203KA42
2K203KA43
2K203KA55
2K203KA56
2K203MA21
5C058BA35
5C058EA02
5C058EA54
5C182AA03
5C182AA04
5C182AA13
5C182AB02
5C182BA03
5C182BA04
5C182BA06
5C182BA14
5C182BA29
5C182BA47
5C182BA54
5C182BA65
5C182BC22
5C182CB13
5C182CB14
5C182CB15
5C182CB16
5C182CB26
5C182CB27
5C182CB42
5C182CB44
5C182DA12
5C182DA13
5C182DA65
5C182DA70
(57)【要約】
【課題】投影の妨げになる物体が短時間のうちに移動しても投影される映像が見にくくなってしまうことを防止する。
【解決手段】投影制御装置200は、物体の位置情報を検出部140から取得し、位置情報に基づいて投影面における平面の領域を平面領域として検出し、平面領域の内部でコンテンツ画面を最大に確保できる領域を投影可能領域として取得し、コンテンツ画面を投影する投影領域を投影可能領域に基づいて設定し、投影可能領域の大きさ又は位置の変化量が第1の閾値を超えた後、変化量が第2の閾値未満の状態が不感時間以上継続したら、投影領域を変化後の投影可能領域に基づいて変更する、制御部110を備える。
【選択図】図3
【特許請求の範囲】
【請求項1】
物体の位置情報を検出部から取得し、
前記位置情報に基づいて投影面における平面の領域を平面領域として検出し、
前記平面領域の内部でコンテンツ画面を最大に確保できる領域を投影可能領域として取得し、
前記コンテンツ画面を投影する投影領域を前記投影可能領域に基づいて設定し、
前記投影可能領域の大きさ又は位置の変化量が第1の閾値を超えた後、前記変化量が第2の閾値未満の状態が不感時間以上継続したら、前記投影領域を変化後の前記投影可能領域に基づいて変更する、
制御部を備える、
投影制御装置。
【請求項2】
前記制御部は、
前記投影可能領域の大きさの変化量が幅変化量閾値以下かつ前記投影可能領域の位置の変化量が移動変化量閾値以下なら、前記投影領域を変更しない、
請求項1に記載の投影制御装置。
【請求項3】
前記投影可能領域の変化後の大きさが変化前の大きさより大きくなった場合の前記不感時間である第1不感時間は、前記投影可能領域の変化後の大きさが変化前の大きさより小さくなった場合の前記不感時間である第2不感時間より小さい、
請求項1に記載の投影制御装置。
【請求項4】
前記制御部は、
前記投影可能領域の大きさ又は位置の変化量が前記第1の閾値以下の状態から前記第1の閾値を超える状態に増大したら、前記変化量が前記第1の閾値を超えた後、前記変化量が前記第2の閾値未満の状態が継続する時間の計測を開始する、
請求項1に記載の投影制御装置。
【請求項5】
前記制御部は、
前記投影可能領域の端部から規定余白幅の余白を除いた領域を前記投影領域として設定し、
前記規定余白幅を前記第1の閾値又は前記第2の閾値に基づいて設定する、
請求項1に記載の投影制御装置。
【請求項6】
前記制御部は、
前記投影可能領域の端部から規定余白幅の余白を除いた領域を前記投影領域として設定し、
前記規定余白幅を、前記幅変化量閾値以上かつ前記移動変化量閾値以上に設定する、
請求項2に記載の投影制御装置。
【請求項7】
前記制御部は、
前記投影可能領域として、投影部が投影する映像のアスペクト比に基づく形状で、かつ前記平面領域の内部で最大サイズの矩形領域を検出する、
請求項1に記載の投影制御装置。
【請求項8】
請求項1に記載の投影制御装置と、
物体の位置情報を取得する前記検出部と、を備える、
投影システム。
【請求項9】
制御部が、
物体の位置情報を検出部から取得し、
前記位置情報に基づいて投影面における平面の領域を平面領域として検出し、
前記平面領域の内部でコンテンツ画面を最大に確保できる領域を投影可能領域として取得し、
前記コンテンツ画面を投影する投影領域を前記投影可能領域に基づいて設定し、
前記投影可能領域の大きさ又は位置の変化量が第1の閾値を超えた後、前記変化量が第2の閾値未満の状態が不感時間以上継続したら、前記投影領域を変化後の前記投影可能領域に基づいて変更する、
投影制御方法。
【請求項10】
制御部に、
物体の位置情報を検出部から取得し、
前記位置情報に基づいて投影面における平面の領域を平面領域として検出し、
前記平面領域の内部でコンテンツ画面を最大に確保できる領域を投影可能領域として取得し、
前記コンテンツ画面を投影する投影領域を前記投影可能領域に基づいて設定し、
前記投影可能領域の大きさ又は位置の変化量が第1の閾値を超えた後、前記変化量が第2の閾値未満の状態が不感時間以上継続したら、前記投影領域を変化後の前記投影可能領域に基づいて変更する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、投影制御装置、投影システム、投影制御方法及びプログラムに関する。
【背景技術】
【0002】
何らかの作業を行う際に、その作業場所にプロジェクタで必要な情報を投影し、作業効率を向上させるシステムが開発されている。例えば特許文献1には、調理を行う調理スペースに映像を投影して作業効率を向上させることができる厨房支援システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2018-128979号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されている厨房支援システムは、物体検出部により調理スペースにある物体(食材、調理担当者の手など)を検出し、物体の存在しない領域に映像を投影する。このため、投影の妨げになる物体を避けて、映像を見やすく投影することができる。しかし、当該物体が短時間のうちに移動すると、投影される位置もそのたびに頻繁に変わることになるため、映像が見にくくなってしまうという課題があった。
【0005】
本発明は上記実情に鑑みてなされたものであり、投影の妨げになる物体が短時間のうちに移動しても投影される映像が見にくくなってしまうことを防止する投影制御装置、投影システム、投影制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る投影制御装置の一態様は、
物体の位置情報を検出部から取得し、
前記位置情報に基づいて投影面における平面の領域を平面領域として検出し、
前記平面領域の内部でコンテンツ画面を最大に確保できる領域を投影可能領域として取得し、
前記コンテンツ画面を投影する投影領域を前記投影可能領域に基づいて設定し、
前記投影可能領域の大きさ又は位置の変化量が第1の閾値を超えた後、前記変化量が第2の閾値未満の状態が不感時間以上継続したら、前記投影領域を変化後の前記投影可能領域に基づいて変更する、
制御部を備える。
【発明の効果】
【0007】
本発明によれば、投影の妨げになる物体が短時間のうちに移動しても投影される映像が見にくくなってしまうことを防止する。
【図面の簡単な説明】
【0008】
図1】実施の形態に係る投影システムの設置例を示す図である。
図2】実施の形態に係る投影システムを構成する装置の接続例を示す図である。
図3】実施の形態に係る投影システムの機能構成の一例を示す図である。
図4】実施の形態に係るチェック画像の一例を示す図である。
図5】実施の形態に係るチェック画像を撮影した画像の一例を示す図である。
図6】作業台の上面の投影範囲の一例を説明する図である。
図7】作業台の上に物体がない場合の投影可能領域等の一例を示す図である。
図8】作業台の上に物体が置かれた場合の投影可能領域の変化の一例を示す図である。
図9】作業台の上に物体が置かれた場合の投影可能領域等の一例を示す図である。
図10】作業台の上の物体が移動した場合の投影可能領域の変化の一例を示す図である。
図11】作業台の上の物体が移動した場合の投影可能領域等の一例を示す図である。
図12】投影可能領域の大きさが変化した場合の一例を説明する図である。
図13】投影可能領域の位置が変化した場合の一例を説明する図である。
図14】実施の形態に係る投影領域制御処理のフローチャートの一例である。
図15】実施の形態に係る投影領域制御処理によって投影可能領域が変化する様子を説明する図である。
【発明を実施するための形態】
【0009】
実施の形態に係る投影システム等について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【0010】
(実施の形態)
実施の形態に係る投影システム100は、例えば図1に示すように、作業台300の上に3D(Dimensional)カメラ240と投影装置としてのプロジェクタ250が、作業台300の下にPC(Personal Computer)210が、それぞれ設置されて構成される。そして、投影システム100は、PC210で制御され、作業台300上の平面(作業物やユーザの手等がない領域)を3Dカメラ240で検出し、そこにプロジェクタ250で情報を投影するシステムである。したがって、PC210は、投影制御装置とも呼ばれる。
【0011】
投影システム100は、例えば図2に示すように、PC210に、3Dカメラ240がUSB(Universal Serial Bus)で接続され、プロジェクタ250がHDMI(登録商標)(High-Definition Multimedia Interface)及びシリアルケーブルで接続されて構成される。
【0012】
投影システム100及び投影制御装置200は、機能構成としては、図3に示すように、投影制御装置200が制御部110、記憶部120、操作入力部130を備え、投影システム100はこれらに加えて検出部140、投影部150を備える。例えば投影制御装置200となるPC210が制御部110、記憶部120、操作入力部130に対応し、3Dカメラ240が検出部140に対応し、プロジェクタ250が投影部150に対応する。もっとも、投影システム100が備える各装置のうち、どの装置をこれらの各機能構成部に対応させるかは任意である。例えば、投影制御装置200を操作入力部130に対応させずに、プロジェクタ250を操作入力部130と投影部150に対応させてもよい。
【0013】
制御部110は、例えばCPU(Central Processing Unit)等のプロセッサで構成される。制御部110は、記憶部120に記憶されているプログラムにより、投影システム100の各種機能を実現する処理や後述する投影領域制御処理等を実行する。また、制御部110はタイマ機能を備え、時間を計測することができる。また、制御部110はマルチスレッドに対応し、複数の処理を並行して実行することができる。
【0014】
記憶部120は、制御部110が実行するプログラムや、必要なデータを記憶する。記憶部120は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等を含み得るが、これらに限られるものではない。なお、記憶部120は、制御部110の内部に設けられていてもよい。
【0015】
操作入力部130は、キーボード、マウス、押しボタンスイッチ等のユーザインタフェースを備え、ユーザからの操作入力を受け付ける。ただし、投影システム100がユーザからの操作入力を受け付ける必要がない場合、投影システム100は操作入力部130を備えなくてもよい。
【0016】
検出部140は測距センサを備え、作業台300の上面の状態(上面の複数の点の3次元位置の情報)を取得する。制御部110は、検出部140が取得した情報(作業台300の上面の複数の点の位置情報)を検出部140から取得し、検出部140から取得した情報に基づいて、上面のどこが平面でどこが平面でないか等を検出することができる。なお、図1に示す例では、投影システム100は検出部140として3Dカメラ240を用いることとしたが、検出部140は測距センサとして3Dカメラ240を用いなければならないわけではない。検出部140は、作業台300の上面の複数の点の位置情報を取得することができるなら、任意の測距センサを用いることができる。
【0017】
投影部150はプロジェクタ(投影装置)であり、光源、投影デバイス、レンズユニット等を備える。光源、投影デバイス等の方式は任意であるが、本実施の形態では、投影デバイスとして、DMD(Digital Mirror Device)を用いるものとする。投影される映像の形状やアスペクト比も任意であるが、本実施の形態ではアスペクト比16:10の横長の長方形であるものとする。
【0018】
また、投影システム100は、作業台300等に設置された後に、投影部150の座標(DMD座標)と検出部140の座標(カメラ座標)との対応を取るために、キャリブレーション処理が行われる。
【0019】
キャリブレーション処理では、制御部110は、まず、図4に示すようなチェック画像410を投影部150(プロジェクタ250)で作業台300の上面に投影し、投影されたチェック画像410を検出部140(3Dカメラ240)で撮影する。すると、制御部110は、図5に示すような撮影画像420を取得することができる。そして、制御部110は、撮影画像420中の各交点(例えば交点421)の座標(カメラ座標)と、元のチェック画像410中の各交点(例えば交点411)の座標(DMD座標)の対応関係を得る。この対応関係を用いることにより、投影システム100は、作業台300の上のある領域(カメラ座標で表される領域)に投影するには、どのような画像(DMD座標で表される画像)を投影すればよいかわかることになる。
【0020】
作業台300の上面が長方形であっても、投影部150(プロジェクタ250)が設置される位置や向き等により、投影部150で投影される映像は、図6に示す投影範囲320(投影部150で投影可能な全範囲)のように、歪んだ四角形になってしまうことがある。投影範囲320が作業台300の上面と同じサイズの長方形になるように投影部150を設置すると、作業台300の上面全体を投影面として最も有効活用できるのだが、そのように設置するのはユーザにとって手間である。本実施の形態では、多少ラフに設置しても問題ないことを示すために、敢えて投影範囲320が歪んでいる場合で説明する。このような場合でも、投影システム100は、上述のキャリブレーション処理でカメラ座標とDMD座標の対応関係を取得することにより、投影範囲320の内部に長方形の画像を投影することができる。
【0021】
本実施の形態では、投影システム100を設置後に、上述のキャリブレーション処理を行い、作業台300の上に、歪みのない投影領域(投影部150が投影する映像のアスペクト比(例えば16:10)の長方形)を設定し、そこに必要な情報(コンテンツ画面)を投影するものとする。
【0022】
作業台300の上に何も物体が存在しない場合には、作業台300の上の全面が平面になるので、図6に示すように、検出部140により3次元位置の情報を取得可能な領域全体である検出範囲310の全体が、制御部110により平面領域311として検出される。なお、制御部110が検出部140を用いて平面領域を検出する方法としては、任意の方法を用いることが可能だが、例えば特開2014-85940号公報に記載されている検出方法を用いることができる。また、ここでは、投影範囲320と検出範囲310とが一致しているものとして説明するが、投影範囲320全体を含んでいるなら、検出範囲310は投影範囲320より大きい範囲であっても構わない。
【0023】
この場合、図7に示すように、制御部110は、投影範囲320内の平面領域311内に収まる最大サイズの投影可能領域321(矩形領域)を取得し、投影可能領域321の上下左右それぞれの端部に所定の余白(左右については横幅hの余白、上下については縦幅vの余白)を設けた投影領域322を設定する。平面領域311内に収まる最大サイズの投影可能領域321の取得方法としては、任意の方法を用いることが可能である。例えば、平面領域311内の全ての点において、当該点を中心点とする投影可能領域321を平面領域311内に収まるサイズで生成し、生成した投影可能領域321の中で最大サイズとなる投影可能領域321を取得する方法が挙げられる。
【0024】
また、余白は任意の大きさに設定可能だが、例えば横幅h=20mm、縦幅v=12.5mmのように、h:vを投影部150が投影する映像のアスペクト比と同じにすると、投影可能領域321と投影領域322とで同じアスペクト比にすることができる。
【0025】
そして、このように投影領域322が設定されることにより、その後制御部110は、作業に必要な情報(コンテンツ画面)等を、投影範囲320内で歪のない最大サイズの矩形領域(長方形)である投影領域322に投影することができるようになる。
【0026】
また、図8に示すように作業台300の上に作業物312が置かれると作業台300の上に非平面領域313が生じる。すると、投影部150から投影される映像は、非平面領域313上では適切に表示されず、見づらくなってしまう。そこで、この場合、制御部110は、新たな(非平面領域313以外の)平面領域311内に収まる最大サイズの投影可能領域323を検出し、図9に示すように、投影可能領域323の上下左右それぞれの端部に所定の余白を設けた投影領域322を設定する。なお、制御部110が検出部140を用いて平面領域を検出する際の精度が高ければ、作業物312の置かれた領域と非平面領域313とはほぼ一致する。しかし、実際には、測定に揺らぎが生じることが多いため、本実施の形態では、制御部110が平面領域を検出する際には、作業物312の輪郭を平面領域との境目とは認識せず、ある程度の幅を持った領域を非平面領域313として認識するようにしている。
【0027】
また図10に示すように作業物312の位置が変化して作業台300の上の平面領域311が広くなった場合には、投影部150はより広い領域に映像を投影することが可能になる。そこで、この場合、制御部110は、広くなった平面領域311内に収まる最大サイズの投影可能領域321を検出し、図11に示すように、投影可能領域321の上下左右それぞれの端部に所定の余白を設けた投影領域322を設定する。
【0028】
ただし、作業台300の上の作業物312の位置が少し変化しただけで投影領域322の大きさや位置が頻繁に変化してしまうと、ユーザにとっては逆に映像が見づらくなる。そこで、投影可能領域321がある範囲(不感領域)内で変化している場合は、その状態を安定した状態と定義し、制御部110は、投影領域322を変更しない。また、投影可能領域321が不感領域を超えて変化(不感領域外へ変化)した場合は、その状態を変化した状態と定義する。そして、変化した状態になった後に、新たな投影可能領域321がある一定時間(不感時間)変化しなかった(安定した)時、制御部110は、新たな投影可能領域321に基づいて投影領域322を変更する。
【0029】
投影可能領域321はその大きさが変化した場合でもアスペクト比が一定の長方形なので、投影可能領域321の大きさが変化した場合、その変化の大きさに応じて横幅の大きさが変化することになる。例えば、横幅の大きさが、図12に示すように、a(投影可能領域321aの横幅)からb(投影可能領域321bの横幅)に変化した場合、aとbの差の絶対値が幅変化量閾値(例えば20mm)未満なら、この変化は不感領域内での変化(安定した状態)とし、aとbの差の絶対値が幅変化量閾値以上なら、この変化は不感領域外への変化であり、変化した状態になったと考える。同様に、縦幅の変化量が幅変化量閾値未満なら、不感領域内での変化とし、縦幅の変化量が幅変化量閾値以上なら、この変化は不感領域外への変化としてもよい。
【0030】
また、投影可能領域321の大きさが変化しなくても、例えば、図13に示すように、投影可能領域321cが投影可能領域321dに移動したような場合、中心の位置は、Pc(投影可能領域321cの中心)からPd(投影可能量式321dの中心)までcだけ移動する。この場合、cの大きさが移動変化量閾値(例えば20mm)未満なら、この移動による位置の変化は不感領域内での変化(安定した状態)とし、cの大きさが移動変化量閾値以上なら、この移動による位置の変化は不感領域外への変化であり、変化した状態になったと考える。
【0031】
そして、不感時間については、投影可能領域321の大きさが大きくなった場合と小さくなった場合とで違う値にしてもよい。なぜなら、ユーザは投影領域が大きい方が情報を取得しやすいので、基本的には投影領域が大きい状態が長時間継続した方が望ましいからである。したがって、投影可能領域321の変化後の大きさが変化前の大きさより大きくなった場合の不感時間(第1不感時間)は、投影可能領域321の変化後の大きさが変化前の大きさより小さくなった場合の不感時間(第2不感時間)より小さくしてもよい。例えば、第1不感時間は1秒で、第2不感時間は3秒に設定する等である。なお、投影可能領域321の変化後の大きさと変化前の大きさとが同じ場合の不感時間(第3不感時間)は、第1不感時間と同じ値にしてもよいし、第2不感時間と同じ値にしてもよいし、第1不感時間よりも大きく第2不感時間よりも小さい値にしてもよい。
【0032】
以上説明したような、投影領域322を制御する処理(投影領域制御処理)について、図14を参照して説明する。この投影領域制御処理は、投影システム100で上述のキャリブレーション処理を実行後、投影部150でコンテンツ画面を投影可能になったら実行が開始される。
【0033】
まず、制御部110は、検出部140が取得した位置情報を検出部140から取得し、検出部140から取得した位置情報に基づいて作業台300の上(投影面)の平面領域を検出し、平面領域の内部でコンテンツ画面を最大に確保できる領域を投影可能領域として取得する。そして、取得した投影可能領域の情報(例えば投影可能領域の中心点の座標、横幅の大きさ等)を配列変数K(0)に保存する(ステップS101)。
【0034】
次に、制御部110は、配列変数K(0)に保存されている投影可能領域の情報に基づいて投影領域を設定し、コンテンツ画面を投影部150で当該投影領域に投影する(ステップS102)。その際、制御部110は、投影領域を、投影可能領域の上下左右それぞれの端部から規定余白幅の余白を除いた領域として設定する。規定余白幅は任意の値に設定可能であるが、上述のように、横方向の余白幅hを20mm、縦方向の余白幅vを12.5mmと設定してもよいし、投影可能領域の横幅及び縦幅それぞれの所定の割合(例えば3%)を、それぞれ横方向及び縦方向の余白幅として設定してもよい。
【0035】
そして、制御部110は、変数nを0に初期化し(ステップS103)、変数nに1を加算する(ステップS104)。
【0036】
次に、制御部110は、検出部140が取得した位置情報を検出部140から取得し、検出部140から取得した位置情報に基づいて作業台300の上の平面領域を検出し、平面領域の内部でコンテンツ画面を最大に確保できる領域を投影可能領域として取得し、取得した投影可能領域の情報を配列変数K(n)に保存する(ステップS105)。
【0037】
そして、制御部110は、配列変数K(0)とK(n)にそれぞれ保存されている投影可能領域の大きさを比較し、大きさの変化量(例えば横幅の差の絶対値)が閾値(幅変化量閾値)以下か否かを判定する(ステップS106)。大きさの変化量が閾値を超えていたら(ステップS106;No)、ステップS108に進む。
【0038】
大きさの変化量が閾値以下なら(ステップS106;Yes)、制御部110は、配列変数K(0)とK(n)にそれぞれ保存されている投影可能領域の位置を比較し、位置の変化量(移動量)が閾値(移動変化量閾値)以下か否かを判定する(ステップS107)。位置の変化量が閾値以下なら(ステップS107;Yes)、ステップS104に戻る。
【0039】
位置の変化量が閾値を超えていたら(ステップS107;No)、制御部110は、変数bに変数nの値をセットする(ステップS108)。そして、制御部110は、変数mを0に初期化し、タイマを0から計測開始する(ステップS109)。そして制御部110は、変数mに1を加算する(ステップS110)。
【0040】
そして、制御部110は、検出部140が取得した位置情報を検出部140から取得し、検出部140から取得した位置情報に基づいて作業台300の上の平面領域を検出し、平面領域の内部でコンテンツ画面を最大に確保できる領域を投影可能領域として取得し、取得した投影可能領域の情報を配列変数K(b+m)に保存する(ステップS111)。
【0041】
そして、制御部110は、配列変数K(b)とK(b+m)にそれぞれ保存されている投影可能領域の大きさを比較し、大きさの変化量(例えば横幅の差の絶対値)が閾値(幅変化量閾値)未満か否かを判定する(ステップS112)。大きさの変化量が閾値以上なら(ステップS112;No)、制御部110は、変数bに変数mの値を加算して(ステップS113)、ステップS109に戻る。
【0042】
大きさの変化量が閾値未満なら(ステップS112;Yes)、制御部110は、配列変数K(b)とK(b+m)にそれぞれ保存されている投影可能領域の位置を比較し、位置の変化量(移動量)が閾値(移動変化量閾値)未満か否かを判定する(ステップS114)。位置の変化量が閾値以上なら(ステップS114;No)、制御部110は、変数bに変数mの値を加算して(ステップS113)、ステップS109に戻る。
【0043】
位置の変化量が閾値未満なら(ステップS114;Yes)、制御部110は、ステップS109で計測開始したタイマの値が第2不感時間(例えば3秒)以上か否かを判定する(ステップS115)。タイマの値が第2不感時間以上なら(ステップS115;Yes)、制御部110は、配列変数K(0)に配列変数K(b)の値を代入して(ステップS118)、ステップS102に戻る。
【0044】
タイマの値が第2不感時間未満なら(ステップS115;No)、制御部110は、タイマの値が第1不感時間(例えば1秒)以上か否かを判定する(ステップS116)。タイマの値が第1不感時間未満なら(ステップS116;No)、ステップS110に戻る。
【0045】
タイマの値が第1不感時間以上なら(ステップS116;Yes)、制御部110は、配列変数K(b)に保存されている投影可能領域の大きさが配列変数K(0)に保存されている投影可能領域の大きさ以上か否かを判定する(ステップS117)。配列変数K(b)に保存されている投影可能領域の大きさが配列変数K(0)に保存されている投影可能領域の大きさ未満なら(ステップS117;No)、ステップS110に戻る。
【0046】
配列変数K(b)に保存されている投影可能領域の大きさが配列変数K(0)に保存されている投影可能領域の大きさ以上なら(ステップS117;Yes)、制御部110は、配列変数K(0)に配列変数K(b)の値を代入して(ステップS118)、ステップS102に戻る。
【0047】
なお、ステップS105やステップS111における投影可能領域の取得は、周期的(例えば1秒間にN回)に行われ、その度に変数nや変数mは1加算される。このため、制御部110は、ステップS109でタイマの計測を開始しなくても、ステップS115やステップS116では、(1秒間にN回の頻度で投影可能領域を取得する場合は)m÷Nの値をタイマ値として扱って第2不感時間や第1不感時間と比較してもよい。
【0048】
また、上述の説明では、ステップS106及びステップS107での判定に用いる閾値(第1の閾値)と、ステップS112及びステップS114での判定に用いる閾値(第2の閾値)とが同じ値であったが、これらは必ずしも同じ値である必要はない。第1の閾値は変化した状態に移行させるかどうかを判定する閾値であり、第2の閾値は安定した状態に移行させるかどうかを判定する閾値である。したがって、例えば、変化した状態への移行も安定した状態への移行も緩めに(移行し易いように)判定したい場合には、第1の閾値を第2の閾値より小さい値に設定すればよい。また、閾値判定の際に「閾値未満」と「閾値以下」、「閾値以上」と「閾値を超える」はそれぞれ任意に使い分けてよい。
【0049】
以上の投影領域制御処理により、制御部110は、投影可能領域の大きさや位置の変化量が閾値未満の場合や、大きさや位置が変化した後、不感時間が経過するまでは投影領域を変化させないので、作業台300の上の物体が短時間のうちに移動しても、投影される映像が見にくくなってしまうことを防止することができる。
【0050】
投影領域制御処理により、投影可能領域が変化するタイミングについて、図15を参照して説明する。なお、通常、1秒当たりの投影可能領域の取得回数Nは30だが、図15ではわかりやすさを重視するために、N=4とした場合の図になっている。
【0051】
まず、制御部110は、投影領域制御処理(図14)での最初のステップS101で取得した投影可能領域((a)の「現」)を起点として、その後のステップS105で取得した投影可能領域(「1」、「2」、…)と大きさや位置が変化したかを比較する。
【0052】
大きさや位置が変化していないか、変化しても不感領域の範囲での変化なら「安定状態」なので、ステップS107からステップS104に戻るループにおいて、定期的に投影可能領域(「1」、「2」、…)を取得していくことになる。
【0053】
大きさや位置が(b)(投影可能領域「3」)で不感領域を超えて変化した場合、「変化の状態」になり、ステップS108以降に進んで、(b)を起点として、その後のステップS111で取得した投影可能領域(「4」、「5」、…)と大きさや位置が変化したかを比較する。
【0054】
その後、(b)を起点とする「安定状態」が不感時間以上継続した場合は、制御部110は、ステップS118に進んで投影可能領域を変更する。この不感時間は、投影可能領域が大きくなった場合と小さくなった場合とで異なる。
【0055】
投影可能領域が大きくなった場合には、不感時間は第1不感時間(図15では1秒)である。つまり、(c)(投影可能領域「7」)で、(b)を起点とする「安定状態」が第1不感時間以上継続したことになる。したがって、制御部110は、ステップS118に進んで投影可能領域を「7」に変更してステップS102に戻り、(c)を起点として、その後のステップS105で取得した投影可能領域(「8」、「9」、…)と大きさや位置が変化したかを比較することになる。
【0056】
投影可能領域が小さくなった場合には、不感時間は第2不感時間(図15では3秒)である。つまり、(d)(投影可能領域「15」)で、(b)を起点とする「安定状態」が第2不感時間以上継続したことになるので、制御部110は、ステップS118に進んで投影可能領域を「15」に変更してステップS102に戻り、(d)を起点として、その後のステップS105で取得した投影可能領域(「16」、「17」、…)と大きさや位置が変化したかを比較することになる。
【0057】
一方、(b)の時点に戻り、(b)を起点として、その後のステップS111で取得した投影可能領域(「4」、「5」、…)と大きさや位置が変化したかを比較していった場合に、(e)(投影可能領域「6」)で大きさや位置が不感領域を超えて変化した場合(図15では(b)と(e)とは「安」で結ばれているが、ここが「変」だった場合)、(b)を起点とする「安定状態」は不感時間未満しか継続できなかったため、再度新たな「変化の状態」になり、ステップS113に進んで、(e)を起点として、その後のステップS111で取得した投影可能領域(「7」、「8」、…)と大きさや位置が変化したかを比較することになる。
【0058】
このように、制御部110は、投影可能領域の大きさや位置が不安定な間は投影領域を変更せず、投影可能領域が不感領域の範囲を超えて変化した後に不感時間の間安定(不感領域内で変化)した場合にのみ投影領域を変更するので、投影される映像が見にくくなってしまうことを防止することができる。
【0059】
(変形例)
上述の実施の形態では、規定余白幅と変化量閾値とはそれぞれ独立に設定されていたが、変化量閾値は、規定余白幅に基づいて設定されてもよい。例えば、規定余白幅として、横方向の幅が20mm、縦方向の幅が12.5mmの場合、変化量閾値(幅変化量閾値及び移動変化量閾値)を12.5mmに設定すれば、投影可能領域が不感領域内で変化している間は、その変化は規定余白幅に収まる。したがって、作業物体等が作業台300の上で移動しても、その移動が規定余白幅に収まっていれば、作業物体等が投影領域の邪魔になることはなく、投影領域が変更されることもないので、ユーザは問題なく作業を継続することができる。
【0060】
また逆に、規定余白幅を変化量閾値に基づいて設定してもよい。すなわち、規定余白幅のうち小さい方の幅(縦方向の幅)を、幅変化量閾値以上かつ移動変化量閾値以上の値に設定しても良い。例えば、変化量閾値(幅変化量閾値及び移動変化量閾値)が12.5mmに設定されている場合には、規定余白幅のうち小さい方の幅(縦方向の幅)を12.5mmに設定すれば(この場合、横方向の幅は20mmになる)、投影可能領域が不感領域内で変化している間は、その変化は規定余白幅に収まり、ユーザは問題なく作業を継続することができることになる。
【0061】
また、上述の実施の形態では、投影可能領域及び投影領域は、投影部150が投影する映像と同じアスペクト比の長方形を想定していたが、投影可能領域及び投影領域はこのような長方形に限定されず、任意の形状に設定してもよい。例えば、投影する情報の種類によっては、投影部150の投影する映像のアスペクト比とは異なるアスペクト比(希望アスペクト比)の長方形の方が望ましい場合もある。その場合には、制御部110は、投影可能領域及び投影領域を当該希望アスペクト比の長方形として設定してもよい。また投影可能領域及び投影領域を例えば「凹」のような一部に凹みのある形状や、「凸」のような一部に出っ張りのある形状等に設定してもよい。
【0062】
(その他の変形例)
なお、投影システム100は、PC210、3Dカメラ240、プロジェクタ250からなるシステムに限らず、測距機能を備えたプロジェクタ250単体のシステムや、3Dカメラ240とプロジェクタ250からなるシステムとして実現することもできる。また、上述の実施の形態では制御部110はPC210が備えるものとして説明したが、例えばプロジェクタ250が制御部110を備え、投影システム100の制御を全てプロジェクタ250の備える制御部110が行うようにしてもよい。
【0063】
また、投影制御装置200としてのPC210は、通常のPCに限らず、制御部110と記憶部120を備えたコンピュータであれば任意のコンピュータを用いることができる。投影制御装置200は、例えばワンボードマイコンでもよい。
【0064】
また、上記実施の形態では、制御部110が実行する投影領域制御処理等のプログラムが、記憶部120に予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical disc)、メモリカード、USBメモリ等の非一時的なコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各処理を実行することができるコンピュータを構成してもよい。
【0065】
さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信してもよい。そして、このプログラムを起動し、OS(Operating System)の制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の各処理を実行できるように構成してもよい。
【0066】
また、制御部110は、シングルプロセッサ、マルチプロセッサ、マルチコアプロセッサ等の任意のプロセッサ単体で構成されるものの他、これら任意のプロセッサと、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられて構成されてもよい。
【0067】
以上、本発明の好ましい実施の形態について説明したが、本発明は係る特定の実施の形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。
【符号の説明】
【0068】
100…投影システム、110…制御部、120…記憶部、130…操作入力部、140…検出部、150…投影部、200…投影制御装置、210…PC、240…3Dカメラ、250…プロジェクタ、300…作業台、310…検出範囲、311…平面領域、312…作業物、313…非平面領域、320…投影範囲、321,321a,321b,321c,321d,323…投影可能領域、322…投影領域、410…チェック画像、411,412…交点、420…撮影画像
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15