(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024146976
(43)【公開日】2024-10-16
(54)【発明の名称】投影装置、制御方法及びプログラム
(51)【国際特許分類】
H04N 5/74 20060101AFI20241008BHJP
G09G 5/00 20060101ALI20241008BHJP
G03B 21/00 20060101ALI20241008BHJP
【FI】
H04N5/74 D
G09G5/00 510B
G09G5/00 530H
G09G5/00 550C
G09G5/00 X
G03B21/00 D
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023059714
(22)【出願日】2023-04-03
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】小嶋 淳
【テーマコード(参考)】
2K203
5C058
5C182
【Fターム(参考)】
2K203FA64
2K203GC30
2K203HB04
2K203HB14
2K203KA29
2K203KA36
2K203KA56
2K203MA07
5C058BA27
5C058EA02
5C182AA04
5C182AC03
5C182BA14
5C182BA23
5C182BA44
5C182BC22
5C182BC25
5C182CC24
5C182DA04
5C182DA70
(57)【要約】
【課題】段差のある非連続な投影面に画像を投影する場合においても歪みなく投影できるように画像を補正可能とする。
【解決手段】投影装置の制御部は、パターン画像及び当該パターン画像が投影された投影面を撮像部により撮像することにより得られた撮像画像の画像データに基づいて投影面の状態を検出し、投影面の状態に基づいて、受信用画像メモリに格納される投影用画像データに基づく画像を投影面に投影した場合に生じる投影用画像データの各ピクセルの投影位置のずれが打ち消されるように投影用画像データの各ピクセルの移動先を決定する。そして、制御部は、送信用画像メモリにおける各ピクセルの移動先に対応する位置のアドレス情報をアドレス保管メモリにおける、受信用画像メモリに格納される投影用画像データの各ピクセルに対応する位置に設定する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
投影部と、
前記投影部によりパターン画像が投影された投影面の画像データを取得する画像取得部と、
投影用画像データを格納するための第1メモリと、
前記第1メモリに対応する第2メモリと、
前記投影部に送信する画像データを格納するための第3メモリと、
制御部と、
を備え、
前記制御部は、前記パターン画像及び前記画像取得部により取得された画像データに基づいて前記投影面の状態を検出し、前記投影面の状態に基づいて、前記第1メモリに格納される前記投影用画像データに基づく画像を前記投影面に投影した場合に生じる前記投影用画像データの各ピクセルの投影位置のずれが打ち消されるように前記投影用画像データの各ピクセルの移動先を決定し、前記第3メモリにおける前記各ピクセルの移動先に対応する位置のアドレス情報を前記第2メモリの前記各ピクセルに対応する位置に設定する、
投影装置。
【請求項2】
前記制御部は、前記投影面の状態に基づいて、前記投影用画像データの各ピクセルのうち投影しないと判断したピクセルがある場合、前記第2メモリにおける前記ピクセルに対応する位置に、予め定められたデータを設定する、請求項1に記載の投影装置。
【請求項3】
前記制御部は、前記投影部により前記投影面に投影する際、前記第1メモリに格納された前記投影用画像データの各ピクセルのデータを前記第2メモリに設定されたアドレス情報に基づいて前記第3メモリに書き込み、前記第3メモリに書き込まれた画像データを前記投影部に送信し、前記画像データに基づく投影画像を前記投影面に投影させる、請求項1に記載の投影装置。
【請求項4】
前記制御部は、投影しないことを示す予め定められたデータが前記第2メモリに設定されている場合、前記投影用画像データにおける前記予め定められたデータが設定されている位置に対応する位置のピクセルのデータは前記第3メモリに書き込まないよう制御する、請求項3に記載の投影装置。
【請求項5】
前記制御部は、前記第3メモリにおいてデータが書き込まれなかった位置には黒データが格納されるように制御する、請求項4に記載の投影装置。
【請求項6】
投影部と、
前記投影部によりパターン画像が投影された投影面の画像データを取得する画像取得部と、
投影用画像データを格納するための第1メモリと、
前記第1メモリに対応する第2メモリと、
前記投影部に送信する画像データを格納するための第3メモリと、
制御部と、
を備える投影装置のコンピュータが、
前記パターン画像及び前記画像取得部により取得された画像データに基づいて前記投影面の状態を検出し、前記投影面の状態に基づいて、前記第1メモリに格納される前記投影用画像データに基づく画像を前記投影面に投影した場合に生じる前記投影用画像データの各ピクセルの投影位置のずれが打ち消されるように前記投影用画像データの各ピクセルの移動先を決定し、前記第3メモリにおける前記各ピクセルの移動先に対応する位置のアドレス情報を前記第2メモリの前記各ピクセルに対応する位置に設定する、
制御方法。
【請求項7】
投影部と、
前記投影部によりパターン画像が投影された投影面の画像データを取得する画像取得部と、
投影用画像データを格納するための第1メモリと、
前記第1メモリに対応する第2メモリと、
前記投影部に送信する画像データを格納するための第3メモリと、
を備える投影装置のコンピュータに、
前記パターン画像及び前記画像取得部により取得された画像データに基づいて前記投影面の状態を検出し、前記投影面の状態に基づいて、前記第1メモリに格納される前記投影用画像データに基づく画像を前記投影面に投影した場合に生じる前記投影用画像データの各ピクセルの投影位置のずれが打ち消されるように前記投影用画像データの各ピクセルの移動先を決定し、前記第3メモリにおける前記各ピクセルの移動先に対応する位置のアドレス情報を前記第2メモリの前記各ピクセルに対応する位置に設定する、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、投影装置、制御方法及びプログラムに関する。
【背景技術】
【0002】
従来、投影面の形状に合わせて投影する画像を変換する技術が知られている。
例えば、特許文献1には、投影面の曲面状態に合わせて、投影する画像を変換するための関数を算出し、変換関数に基づいて画像に幾何学変換を施すことにより、円柱面等への投影画像があたかも変形していないように見えるように補正する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1のように、変換関数を用いた画像補正は、投影面が段差のない連続した面であることを前提とした技術であり、例えば、ブラインドなどの段差のある非連続な投影面に投影する場合にはうまく歪みを補正できない。
【0005】
本発明は、上記の問題点を鑑みてなされたものであり、段差のある非連続な投影面に画像を投影する場合に歪みなく投影できるように画像を補正可能とすることである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る投影装置は、
投影部と、
前記投影部によりパターン画像が投影された投影面の画像データを取得する画像取得部と、
投影用画像データを格納するための第1メモリと、
前記第1メモリに対応する第2メモリと、
前記投影部に送信する画像データを格納するための第3メモリと、
制御部と、
を備え、
前記制御部は、前記パターン画像及び前記画像取得部により取得された画像データに基づいて前記投影面の状態を検出し、前記投影面の状態に基づいて、前記第1メモリに格納される前記投影用画像データに基づく画像を前記投影面に投影した場合に生じる前記投影用画像データの各ピクセルの投影位置のずれが打ち消されるように前記投影用画像データの各ピクセルの移動先を決定し、前記第3メモリにおける前記各ピクセルの移動先に対応する位置のアドレス情報を前記第2メモリの前記各ピクセルに対応する位置に設定する。
【発明の効果】
【0007】
本発明によれば、段差のある非連続な投影面に画像を投影する場合に歪みなく投影できるように画像を補正することができる。
【図面の簡単な説明】
【0008】
【
図1】投影装置の機能的構成を示すブロック図である。
【
図2】(a)は受信用画像メモリの構成例を示す図、(b)はアドレス保管メモリの構成例を示す図、(c)は送信用画像メモリの構成例を示す図である。
【
図3】投影面としてのブラインドを示す模式図である。
【
図4】投影面としてのカーテンを示す模式図である。
【
図5】投影面に投影しようとする画像(元画像)の一例を示す図である。
【
図6】
図5に示す投影用画像をブラインドに投影した場合の投影画像を示す模式図である。
【
図7】
図1の制御部に実行されるアドレス保管メモリ設定処理の流れを示すフローチャートである。
【
図9】横方向の段差がある投影面に格子画像が投影された状態を撮像した撮像画像の一例を示す図である。
【
図10】
図4に示すような2枚のカーテンが重なっている投影面に格子画像が投影された状態を撮像した撮像画像の一例を示す図である。
【
図11】
図1の制御部に実行される投影制御処理の流れを示すフローチャートである。
【
図12】(a)は受信用画像メモリのアドレスをxy方向に並べたイメージを示す図、(b)はアドレス情報が設定されたアドレス保管メモリのデータ内容を示す図、(c)は(b)のアドレス保管メモリに基づいて、送信用画像メモリの各データ格納領域に(a)に示す受信用画像メモリのどのアドレスのデータが書き込まれるかを示した図である。
【
図13】
図3に示すブラインドを投影面としてアドレス保管メモリ設定処理を実行し、投影用画像データとして
図5に示す画像を書き込んだ場合に、投影制御処理において送信用画像メモリに形成される補正画像の一例を示す図である。
【
図14】
図4に示すカーテンを投影面としてアドレス保管メモリ設定処理を実行し、投影用画像データとして格子画像を書き込んだ場合に、投影制御処理において送信用画像メモリに形成される補正画像の一例を示す図である。
【
図15】
図14に示す補正画像を
図4に示す投影面に投影した場合に投影される投影画像の一例を示す図である。
【発明を実施するための形態】
【0009】
以下に、本発明を実施するための形態について、図面を用いて説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されている。そのため、本発明の技術的範囲を以下の実施形態及び図示例に限定するものではない。
【0010】
<投影装置1の構成>
図1は、本実施形態の投影装置1の機能的構成を示すブロック図である。
図1に示すように、投影装置1は、制御部11、記憶部12、受信用画像メモリ13(第1メモリ)、アドレス保管メモリ14(第2メモリ)、送信用画像メモリ15(第3メモリ)、投影部16、撮像部17(画像取得部)、通信部18、操作部19等を備えている。投影装置1の各部は、バス20を介して接続されている。
【0011】
制御部11は、CPU(Central Processing Unit)等のプロセッサ及びRAM(Random Access Memory)により構成される。制御部11は、記憶部12に記憶されているプログラムをRAMに読み出して各種処理を実行することで、投影装置1の各部の動作を制御する。なお、制御部11は、複数のプロセッサを有していてもよく、制御部11が実行する複数の処理を、当該複数のプロセッサが実行してもよい。この場合において、複数のプロセッサが共通の処理に関与してもよいし、あるいは、複数のプロセッサが独立に異なる処理を並列に実行してもよい。
【0012】
記憶部12は、制御部11により読み取り可能な非一時的な記録媒体であり、プログラム及び各種データを記憶する。記憶部12は、例えばフラッシュメモリ等の不揮発性メモリを含む。記憶部12に記憶されるプログラムは、後述するアドレス保管メモリ設定処理及び投影制御処理を実行するためのプログラムを含み、コンピュータが読み取り可能なプログラムコードの形態で記憶部12に格納されている。
また、記憶部12には、投影面の状態を検出するために投影面に投影されるパターン画像(例えば、
図8参照)が記憶されている。
【0013】
受信用画像メモリ13は、PC2等から受信した投影用画像データを一時的に格納するためのメモリである。
アドレス保管メモリ14は、受信用画像メモリ13の各アドレスで識別されるデータ格納領域に保存されているデータの格納先(移動先)となる送信用画像メモリ15のアドレス情報を格納するためのメモリである。
送信用画像メモリ15は、投影部16に送信する投影対象の画像データを一時的に格納するためのメモリである。
なお、投影用画像データ及び投影対象となる画像データは、投影部16の表示素子の数(ピクセル数)と同じピクセル数を有している。受信用画像メモリ13及び送信用画像メモリ15は、投影部16の表示素子の数(ピクセル数)と同じピクセル数の画像データが記憶できるようになっている。
【0014】
図2の(a)は、受信用画像メモリ13の構成例を示す図、(b)は、アドレス保管メモリ14の構成例を示す図、(c)は、送信用画像メモリ15の構成例を示す図である。
図2の(a)~(c)において、左側の列は、各メモリにおけるアドレス(番地)を示しており、右側の列は、左側の各アドレスで識別される位置のデータ格納領域に格納されているデータを示している。本実施形態では、例えば、投影部16の表示素子の解像度及び投影用画像データの解像度が1280×720、1ピクセル分のデータが4Byteとして、受信用画像メモリ13~送信用画像メモリ15は、それぞれ0x000000~0x383FFCのデータ格納領域を有することとする。受信用画像メモリ13~送信用画像メモリ15における下6桁が同じアドレスの領域は、互いに対応している。
【0015】
図2(a)に示す受信用画像メモリ13には、PC2等から受信した投影用画像データがアドレス「0000_0000」から順に格納される。例えば、アドレス「0000_0000」に投影用画像データの左上のピクセルのピクセルデータ(RGB値)が格納され、以下、投影用画像データの各ピクセルのRGB値が順次格納される。
【0016】
図2(b)に示すアドレス保管メモリ14の各アドレスで示される領域には、受信用画像メモリ13の対応する領域に格納されている投影用画像データの各ピクセルのデータの格納先となる送信用画像メモリ15のアドレス情報が格納される。例えば、アドレス保管メモリ14のアドレス「4000_0000」の領域には、受信用画像メモリ13の対応するアドレス「0000_0000」の領域に格納されているピクセルのデータ(1234_0000)の格納先となる送信用画像メモリ15のアドレス情報「1000_0008」が格納される。アドレス保管メモリ14のアドレス「4000_0004」の領域には、受信用画像メモリ13の対応するアドレス「0000_0004」の領域に格納されているピクセルのデータ(1234_0001)の格納先となる送信用画像メモリ15のアドレス情報「1000_000C」が格納される。
【0017】
図2(c)に示す送信用画像メモリ15には、投影部16に送信する画像データが、アドレス保管メモリ14に格納されているアドレス情報に従って格納される。例えば、
図2(b)において、アドレス保管メモリ14のアドレス「4000_0000」には、受信用画像メモリ13の「0000_0000」に格納されているデータ(1234_0000)の格納先となる送信用画像メモリ15のアドレス情報として「1000_0008」が格納されているため、
図2(c)に示すように、送信用画像メモリ15のアドレス「1000_0008」には、受信用画像メモリ13の「0000_0000」に格納されているデータである「1234_0000」が格納される。
【0018】
投影部16は、光源と、当該光源から出力された光の強度分布を調整して光像を形成するデジタルマイクロミラー素子(DMD)等の表示素子と、表示素子が形成した光像を集光して投影画像として投影する投影レンズ群などを備える。投影部16は、制御部11から送信される制御信号に従って、送信用画像メモリ15から送信されてきた画像データに基づいて投影面に投影画像を投影する。
【0019】
撮像部17は、撮像レンズ、CCD(Charge Coupled Device)やCMOS(Complementary Metal-oxide Semiconductor)等のイメージセンサ等からなる撮像素子、A/D変換回路などを備えている。撮像部17は、撮像レンズを通過した光学像を撮像素子により2次元の画像信号に変換して撮像画像を取得する。
【0020】
通信部18は、PC(Personal Computer)2等の外部機器との間で無線又は有線によるデータの送受信を行う。
【0021】
操作部19は、電源スイッチを始めとする各種の物理ボタンを有し、ユーザの操作に応じた操作情報を制御部11に出力する。
【0022】
PC2は、投影用画像データを投影装置1に送信する端末装置である。
【0023】
<投影装置1の動作>
次に、投影装置1の動作について説明する。
例えば、
図3に示すブラインドBや、
図4に示すカーテンCのように、遠目では広い平面に見えるが実際には段差のある不連続な面がある。なお、
図4のカーテンCは、波打って重なっている2枚のカーテンにより構成され、手前側に突き出ている部分に「手前」、奥側にへこんでいる部分に「奥」の文字を付している。このような面を投影面として使用できれば、投影場所の確保やスクリーンの購入が不要というメリットがある。しかし、例えば、
図3に示すブラインドBに
図5に示す投影用画像を投影すると、
図6に示すように、投影された投影画像では、投影面が斜行しているために奥に位置する部分が広がってしまう。また、段差により画像が不連続になってしまう。そのため、元の投影用画像と異なるものとなってしまう。また、従来のように変換関数を用いて投影用画像データを補正しても、投影面が段差で不連続となっている場合にはうまく補正ができない。
【0024】
そこで、本実施形態の投影装置1では、投影面に段差がある場合であっても元の投影用画像とほぼ同じ状態で投影画像が投影されるように、投影面の状態を検出し、投影面の状態に基づいて投影用画像データの各ピクセルを投影面に投影したときの投影位置のずれが打ち消されるように各ピクセルの移動先を決定して、アドレス保管メモリ14に送信用画像メモリ15における各ピクセルの移動先のアドレス情報を設定する。そしてアドレス保管メモリ14に保存されているアドレス情報に基づいて投影用画像データを補正して投影する。
【0025】
図7は、投影部16による投影前に、例えばユーザによる操作部19の操作に応じて実行されるアドレス保管メモリ設定処理の流れを示すフローチャートである。アドレス保管メモリ設定処理は、制御部11と記憶部12に記憶されているプログラムとの協働により実行される。
【0026】
まず、制御部11は、記憶部12に記憶されているパターン画像としての格子画像A1の画像データを送信用画像メモリ15に読み出して投影部16に送信し、格子画像A1の画像データに基づいて投影部16により投影面に格子画像A1を投影させる(ステップS1)。
図8は、投影前の格子画像A1(元画像)を示す図である。なお、格子画像A1における格子の数は、特に限定されない。
【0027】
次いで、制御部11は、格子画像A1が投影された投影面の状態を撮像部17により撮像させ、撮像画像の画像データを取得する(ステップS2)。
【0028】
図9は、横方向の段差がある投影面に格子画像A1が投影された状態を撮像部17により撮像した撮像画像の一例を示す図である。
図9に示す撮像画像では、
図9に示すSt1の部分で格子がずれて不連続になっている。すなわち、投影面に横方向の段差が存在することがわかる。また、段差により区切られる各領域において上方に位置する格子に比べて下方に位置する格子が小さくなっており、投影面が上下方向に斜行していることがわかる。
【0029】
図10は、
図4に示すような2枚のカーテンが重なっている投影面に格子画像A1が投影された状態を撮像部17により撮像した撮像画像の一例を示す図である。
図10に示す撮像画像では、
図10に示すSt2の部分で格子がずれて不連続になっている。すなわち、投影面に縦方向の段差が存在することがわかる。また、格子が全体的に波打っており、投影面が波打っていることがわかる。
【0030】
次いで、制御部11は、送信用画像メモリ15に格納されている格子画像A1の画像データを1ピクセル分移動して、投影部16により投影面に投影させる(ステップS3)。
【0031】
次いで、制御部11は、移動した格子画像A1の画像データに基づいて格子画像A1が投影された投影面の状態を撮像部17により撮像させ、撮像画像の画像データを取得する(ステップS4)。
ここで、制御部11は、取得した撮像画像が最初の格子画像A1をどの方向にどれだけ移動して撮像した画像であるかを撮像画像の画像データに対応付けて記憶しておく。
【0032】
次いで、制御部11は、投影面全体の状態が入手できたか否かを判断する(ステップS5)。
ここで、例えば投影面に段差がある場合、段差を境に、もとの格子画像A1(位置をずらした格子画像A1を含む)の段差周辺のピクセルに対する撮像画像における対応するピクセルのずれの方向及び大きさが大幅に変化する。また、投影面に歪みのある箇所は、歪みによって格子画像A1と撮像画像における対応するピクセルの位置にずれが生じるとともに、歪みの形状によってずれの方向や大きさが変化する。このように、格子画像A1とその撮像画像における対応するピクセルのずれの情報を取得することによって、投影面の状態を検出することができる。そこで、制御部11は、もとの格子画像A1の格子点の位置と、その格子画像A1が投影面に投影された状態を撮像した撮像画像における対応する格子点の位置(すなわち、投影位置)のずれをピクセル単位で取得することで、投影面全体の状態をピクセル単位で取得する。例えば、制御部11は、格子点が送信用画像メモリ15における各ピクセルの領域に少なくとも1回配置されるように格子画像A1の画像データを移動して撮像画像を取得することで、投影面全体の状態を入手する。格子点が送信用画像メモリ15における各ピクセルの領域に少なくとも1回配置されるように格子画像A1の画像データを移動して投影画像を取得する処理が終了した場合、制御部11は、投影面全体の状態が入手できたと判断する。
【0033】
投影面全体の状態が取得できていないと判断した場合(ステップS5;NO)、制御部11は、ステップS3に戻る。
【0034】
投影面全体の状態が取得できたと判断した場合(ステップS5;YES)、制御部11は、取得した投影面全体の状態に基づいて、受信用画像メモリ13に格納される投影用画像データの各ピクセルの移動先を決定し、アドレス保管メモリ14に移動先(格納先)のアドレスを設定し(ステップS6)、アドレス保管メモリ設定処理を終了する。
【0035】
ステップS6において、制御部11は、もとの格子画像A1の各格子点の位置と、その格子画像A1が投影面に投影された状態を撮像した撮像画像における対応する格子点の位置とのずれに基づいて、受信用画像メモリ13に格納される投影用画像データに基づく投影用画像を投影面に投影した場合に生じる投影用画像データの各ピクセルの投影位置のずれが打ち消されるように投影用画像データの各ピクセルの移動先を決定する。例えば、もとの格子画像A1の各格子点の位置に対し、その格子画像A1が投影面に投影された状態を撮像した撮像画像における対応する格子点の位置が左(右)にNmm(Nは正の整数)ずれている場合、投影用画像データにおけるその格子点に対応するピクセルを右(左)にNmmずらした位置を移動先に決定する。上(下)にNmm(Nは正の整数)ずれている場合、投影用画像データにおけるその格子点に対応するピクセルを下(上)にNmmずらした位置を移動先に決定する。また、もとの格子画像A1の隣り合う格子点間の距離に対し、その格子画像A1が投影面に投影された状態を撮像した撮像画像における対応する格子点間の距離がNmm広がっている(狭まっている)場合、投影用画像データにおけるその格子点間に対応するピクセル間の距離がNmm狭まる(広がる)ように移動先を決定する。
そして、制御部11は、送信用画像メモリ15における各ピクセルの移動先に対応する位置のアドレス情報をアドレス保管メモリ14に設定する。遠方に投影されて広がっている部分がある場合、制御部11は、広がった分が縮小されるようにいくつかのピクセルのデータを投影しない(削除する)と判断し、アドレス保管メモリ14における、受信用画像メモリ13の投影しないピクセルの位置に対応する位置には、投影しないピクセルであることを示す所定のデータ、例えば、「3000_0000」を書き込む。
【0036】
次に、受信用画像メモリ13に投影用画像データが書き込まれ、投影部16による投影を行う際に実行される投影制御処理について説明する。
図11は、投影制御処理の流れを示すフローチャートである。投影制御処理は、制御部11と記憶部12に記憶されているプログラムとの協働により実行される。
【0037】
まず、制御部11は、送信用画像メモリ15に初期値「0000_0000」(黒データの値)を書き込む(ステップS11)。
【0038】
次いで、制御部11は、アドレス保管メモリ14に格納されているアドレス情報を読み出す(ステップS12)。
【0039】
次いで、制御部11は、受信用画像メモリ13の対応する位置のデータを読み出す(ステップS13)。
【0040】
次いで、制御部11は、アドレス保管メモリ14から読み出したアドレス情報が「3000_0000」であるか否かを判断する(ステップS14)。
アドレス保管メモリ14から読み出したアドレス情報が「3000_0000」であると判断した場合(ステップS14;YES)、制御部11は、送信用画像メモリ15へのデータの書き込みはせずにステップS16に移行する。
【0041】
アドレス保管メモリ14から読み出したアドレス情報が「3000_0000」ではないと判断した場合(ステップS14;NO)、制御部11は、受信用画像メモリ13から読み出したデータを、送信用画像メモリ15における、アドレス保管メモリ14から読み出したアドレス情報に対応する位置に書き込み(ステップS15)、ステップS16に移行する。
【0042】
ステップS16において、制御部11は、アドレス保管メモリ14の全体について処理が終了したか否かを判断する(ステップS16)。
アドレス保管メモリ14の全体について処理が終了していないと判断した場合(ステップS16;NO)、制御部11は、アドレス保管メモリ14の次のアドレスに移行してステップS12に戻り、ステップS12~S16の処理を実行する。
ステップS12~S16の処理を繰り返すことで、送信用画像メモリ15に、投影面による歪みが補正された補正画像が形成される。
【0043】
アドレス保管メモリ14の全体について処理が終了したと判断した場合(ステップS16;YES)、制御部11は、送信用画像メモリ15に格納された画像データを投影部16に送信し、送信した画像データに基づく投影画像を投影面に投影させる(ステップS17)。
【0044】
次いで、制御部11は、次に投影する投影用画像データが受信用画像メモリ13に書き込まれた(受信された)か否かを判断する(ステップS18)。
次に投影する投影用画像データが受信用画像メモリ13に書き込まれたと判断した場合(ステップS18;YES)、制御部11は、ステップS11に戻り、ステップS11~S18を繰り返し実行する。
【0045】
次に投影する投影用画像データが受信用画像メモリ13に書き込まれていないと判断した場合(ステップS18;NO)、制御部11は、投影制御処理を終了する。
【0046】
図12(a)は、受信用画像メモリ13のアドレスを、画像データの縦横比1280×720(1ピクセル4Byte)に合わせてx方向のアドレス(各行のアドレス)を0x000000~0x13FCとしてxy方向に並べたイメージを示す図である。
図12(b)は、
図3に示すブラインドBを投影面とした場合に、
図7のアドレス保管メモリ設定処理でアドレス情報が設定されたアドレス保管メモリ14のデータ内容を示す図である。
図12(c)は、
図12(b)のアドレス保管メモリ14に基づいて、送信用画像メモリ15の各データ格納領域に
図12(a)に示す受信用画像メモリ13のどのアドレスのデータが書き込まれるかを示した図である。書き込まれるデータがない場所は黒データが格納されており、これは
図12(c)においては「Black」と表記している。なお、
図12(c)においては、わかりやすくするために受信用画像メモリ13のアドレス情報が示されているが、実際の送信用画像メモリ15には、受信用画像メモリ13における、
図12(c)のアドレス情報が示すアドレスに格納されているデータ(RGB値)が書き込まれる。
【0047】
図12(b)おいてハッチングを付して示すように、アドレス保管メモリ14には、所々に「3000_0000」が書き込まれている。これは、投影面にある斜行やたわみなどによる画像の拡大を打ち消すために画像を縮小するために投影されないアドレスであることを示している。また、
図12(c)にハッチングを付して示すように、送信用画像メモリ15には、所々に「Black」(黒データ)が格納されている。これは、画像の縮小により各行の両端に生じる空白を黒で投影するために格納される。
【0048】
図13は、
図3に示すブラインドBを投影面として
図7に示すアドレス保管メモリ設定処理を実行し、投影用画像データとして
図5に示す画像を書き込んだ場合に、
図11に示す投影制御処理において送信用画像メモリ15に形成される補正画像の一例を示す図である。この補正画像を投影部16によりブラインドBを投影すると、
図5に示すような投影画像が投影される。
【0049】
図14は、
図4に示すカーテンCを投影面として
図7に示すアドレス保管メモリ設定処理を実行し、投影用画像データとして格子画像を書き込んだ場合に、
図11に示す投影制御処理において送信用画像メモリ15に形成される補正画像の一例を示す図である。この補正画像を投影部16により投影すると、
図15に示すような格子画像が投影される。
【0050】
ここで、
図4に示すカーテンCには、縦方向の段差がある。横方向の段差の場合、画像データにおける同一行のデータの一部が他の行に移動することはなく、単に縮小により不要となったデータは読み飛ばせばよい。しかし、縦方向の段差は、同一行のデータの一部が異なる行に移動する場合もあり、単純に投影しないデータを読み飛ばすだけでは対処できない。本実施形態の投影装置1では、アドレス保管メモリ14によって、投影用画像データの各ピクセルのデータの行先を保管することができるので、縦方向にも横方向にも自由に投影用画像データの各ピクセルのデータを移動させることができる。
【0051】
以上説明したように、投影装置1の制御部11は、格子画像A1及び当該格子画像A1が投影された投影面を撮像部17により撮像することにより得られた撮像画像の画像データに基づいて投影面の状態を検出し、投影面の状態に基づいて、受信用画像メモリ13に格納される投影用画像データに基づく画像を投影面に投影した場合に生じる投影用画像データの各ピクセルの投影位置のずれが打ち消されるように投影用画像データの各ピクセルの移動先を決定する。そして、制御部11は、送信用画像メモリ15における各ピクセルの移動先に対応する位置のアドレス情報をアドレス保管メモリ14における、受信用画像メモリ13に格納される投影用画像データの各ピクセルに対応する位置に設定する。
したがって、段差のある非連続な投影面に画像を投影する場合においても歪みなく投影できるように画像を補正することができる。
【0052】
また、制御部11は、検出した投影面の状態に基づいて投影用画像データの各ピクセルのうち投影しないと判断したピクセルがある場合、アドレス保管メモリ14におけるそのピクセルに対応する位置に、予め定められたデータ(「3000_0000」)を設定する。
したがって、縮小により間引く(投影しない)ピクセルの情報をアドレス保管メモリ14に設定することができるので、縦方向にも横方向にも投影する画像を縮小することができ、投影用画像データの補正の自由度が向上する。
【0053】
また、制御部11は、投影部16により投影面に投影する際、受信用画像メモリ13に格納された投影用画像データの各ピクセルのデータをアドレス保管メモリ14に設定されたアドレス情報に基づいて送信用画像メモリ15に書き込み、送信用画像メモリ15に書き込まれた画像データを投影部16に送信して当該画像データに基づく投影画像を投影面に投影させる。
したがって、段差のある非連続な投影面に画像を投影する場合においても歪みなく投影することが可能となる。
【0054】
また、制御部11は、投影しないことを示す予め定められたデータ(「3000_0000」)がアドレス保管メモリ14に設定されている場合、投影用画像データにおける予め定められたデータが設定されている位置に対応する位置のピクセルのデータは送信用画像メモリ15に書き込まないよう制御する。
したがって、投影しないことを示す予め定められたデータをアドレス保管メモリ14に設定しておくことで、投影用画像データにおけるそのデータが格納された位置に対応するピクセルを投影しないようにすることができる。
【0055】
また、制御部11は、送信用画像メモリ15においてデータが書き込まれなかった位置には黒データが格納されるように制御する。
したがって、補正により縮小されても違和感なく投影することができる。
【0056】
なお、上記実施形態における記述は、本発明に係る投影装置、制御方法及びプログラムの好適な一例であり、これに限定されるものではない。
例えば、上記実施形態において、投影装置1は、制御部11、受信用画像メモリ13、アドレス保管メモリ14及び送信用画像メモリ15と、投影部16及び撮像部17とが一体的に構成された装置としたが、投影部16及び撮像部17の少なくとも一つが制御部11、受信用画像メモリ13、アドレス保管メモリ14、及び送信用画像メモリ15とは別体となっていてもよい。
【0057】
また、受信用画像メモリ13、アドレス保管メモリ14及び送信用画像メモリ15は、物理的に3つのメモリに分かれて構成されていることとしてもよいし、1つ又は2つのメモリの領域を3つの領域に分けて構成することとしてもよい。
【0058】
また、上記実施形態では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として記憶部12のHDD、SSDを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ、CD-ROM等の情報記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0059】
その他、上記実施形態における投影装置1の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【符号の説明】
【0060】
1 投影装置
11 制御部
12 記憶部
13 受信用画像メモリ
14 アドレス保管メモリ
15 送信用画像メモリ
16 投影部
17 撮像部
18 通信部
19 操作部
20 バス