以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成してもよい。
[実施形態1]以下、本発明を、例えば、画像を投影する液晶プロジェクタに適用した実施形態について説明する。
<装置構成>図1を参照して、本発明に係る実施形態の投影装置の構成及び機能の概略について説明する。
本実施形態の液晶プロジェクタ(以下、プロジェクタと略称する)は、表示するべき画像に応じて、液晶素子の光の透過率を制御して、液晶素子を透過した光源からの光をスクリーンに投影することで、画像をユーザに提示する。
図1において、本実施形態のプロジェクタ100は、CPU110、ROM111、RAM112、操作部113、画像入力部130、画像処理部140を有する。また、プロジェクタ100は、液晶制御部150、液晶素子151R、151G、151B、光源制御部160、光源161、色分離部162、色合成部163、光学系制御部170、投影光学系171を有する。さらに、プロジェクタ100は、記録再生部191、記録媒体192、通信部193、撮像部194、表示制御部195、表示部196を有していてもよい。
CPU110は、プロジェクタ100の各動作ブロックを制御する。ROM111は、CPU110の処理手順を記述した制御プログラムを記憶する。RAM112は、ワークメモリとして一時的に制御プログラムやデータを格納する。また、CPU110は、記録再生部191により記録媒体192から再生された静止画データや動画データを一時的に記憶し、ROM111に記憶されたプログラムを用いて、それぞれの画像や映像を再生したりすることもできる。また、CPU110は、通信部193より受信した静止画データや動画データを一時的に記憶し、ROM111に記憶されたプログラムを用いて、それぞれの画像や映像を再生したりすることもできる。また、撮像部194により得られた画像や映像を一時的にRAM112に記憶し、ROM111に記憶されたプログラムを用いて、静止画データや動画データに変換して記録媒体192に記録させることもできる。
また、操作部113は、例えばスイッチやダイヤル、表示部196上に設けられたタッチパネルなどからなり、ユーザの指示を受け付け、CPU110に指示信号を送信する。また、操作部113は、例えば、不図示のリモコンからの信号を受信する信号受信部(赤外線受信部など)で、受信した信号に基づいて所定の指示信号をCPU110に送信するものであってもよい。また、CPU110は、操作部113や、通信部193から入力された制御信号を受信して、プロジェクタ100の各動作ブロックを制御する。
画像入力部130は、外部装置から画像信号や映像信号を受信する。画像入力部130は、例えば、コンポジット端子、S映像端子、D端子、コンポーネント端子、アナログRGB端子、DVI−I端子、DVI−D端子、HDMI(登録商標)端子等を含む。また、画像入力部130は、アナログの画像信号や映像信号を受信した場合には、受信したアナログ信号をデジタル信号に変換し、画像処理部140に送信する。ここで、外部装置は、画像信号や映像信号を出力できるものであれば、パーソナルコンピュータ、カメラ、携帯電話、スマートフォン、ハードディスクレコーダ、ゲーム機など、どのようなものであってもよい。
画像処理部140は、例えば画像処理用のマイクロプロセッサからなり、画像入力部130から受信した画像信号や映像信号にフレーム数、画素数、画像形状などの変更処理を施して、液晶制御部150に送信する。また、画像処理部140は、専用のマイクロプロセッサである必要はなく、例えば、ROM111に記憶されたプログラムによって、CPU110が画像処理部140と同様の処理を実行してもよい。画像処理部140は、フレーム間引き処理、フレーム補間処理、解像度変換処理、歪み補正処理(キーストン補正処理)といった機能を実行することが可能である。また、画像処理部140は、画像入力部130から受信した信号以外にも、CPU110によって再生された画像や映像に対して前述の変更処理を施すこともできる。この画像処理部140による歪補正処理に関する具体的な挙動については後述する。
液晶制御部150は、例えば制御用のマイクロプロセッサからなり、画像処理部140で処理された画像信号や映像信号に基づいて、各液晶パネルの液晶素子151R、151G、151Bの画素の液晶に印可する電圧を制御して、液晶素子151R、151G、151Bの透過率を調整する。なお、液晶制御部150は、専用のマイクロプロセッサである必要はなく、例えば、ROM111に記憶されたプログラムによって、CPU110が液晶制御部150と同様の処理を実行してもよい。例えば、画像処理部140に映像信号が入力されている場合、液晶制御部150は、画像処理部140から1フレームの画像を受信するごとに、画像に対応する透過率となるように、液晶素子151R、151G、151Bを制御する。液晶素子151Rは、赤色に対応する液晶素子であって、光源161から出力された光のうち、色分離部162で赤色(R)、緑色(G)、青色(B)に分離された光のうち、赤色の光の透過率を調整する。液晶素子151Gは、緑色に対応する液晶素子であって、光源161から出力された光のうち、色分離部162で赤色(R)、緑色(G)、青色(B)に分離された光のうち、緑色の光の透過率を調整する。液晶素子151Bは、青色に対応する液晶素子であって、光源161から出力された光のうち、色分離部162で赤色(R)、緑色(G)、青色(B)に分離された光のうち、青色の光の透過率を調整する。
光源制御部160は、光源161のオン/オフの制御や光量の制御をする、例えば制御用のマイクロプロセッサからなる。なお、光源制御部160は、専用のマイクロプロセッサである必要はなく、例えば、ROM111に記憶されたプログラムによって、CPU110が光源制御部160と同様の処理を実行してもよい。また、光源161は、例えばハロゲンランプ、キセノンランプ、高圧水銀ランプであり、スクリーン180に画像を投影するための光を出力する。また、色分離部162は、例えばダイクロイックミラーやプリズムからなり、光源161から出力された光を、赤色(R)、緑色(G)、青色(B)に分離する。なお、光源161として、各色に対応するLED等を使用する場合には、色分離部162は不要である。また、色合成部163は、例えばダイクロイックミラーやプリズムからなり、液晶素子151R、151G、151Bを透過した赤色(R)、緑色(G)、青色(B)の光を合成する。そして、色合成部163により赤色(R)、緑色(G)、青色(B)の成分を合成した光は、投影光学系171に送られる。このとき、液晶素子151R、151G、151Bは、画像処理部140から入力された画像に対応する光の透過率となるように、液晶制御部150により制御される。そのため、色合成部163により合成された光は、投影光学系171によりスクリーンに投影されると、画像処理部140により入力された画像に対応する画像がスクリーン上に表示されることになる。
光学系制御部170は、例えば制御用のマイクロプロセッサからなり、投影光学系171を制御する。なお、光学系制御部170は、専用のマイクロプロセッサである必要はなく、例えば、ROM111に記憶されたプログラムによって、CPU110が光学系制御部170と同様の処理を実行してもよい。また、投影光学系171は、色合成部163から出力された合成光をスクリーンに投影する。投影光学系171は、複数のレンズ、レンズ駆動用のアクチュエータからなり、レンズをアクチュエータにより駆動することで、投影画像の拡大、縮小、シフト、焦点調整などを行うことができる。
記録再生部191は、記録媒体192から静止画データや動画データを再生したり、また、撮像部194により得られた静止画データや動画データをCPU110から受信して記録媒体192に記録する。また、通信部193より受信した静止画データや動画データを記録媒体192に記録してもよい。記録再生部191は、例えば、記録媒体192と電気的に接続するインタフェースや記録媒体192と通信するためのマイクロプロセッサからなる。なお、記録再生部191には、専用のマイクロプロセッサを含む必要はなく、例えば、ROM111に記憶されたプログラムによって、CPU110が記録再生部191と同様の処理を実行してもよい。また、記録媒体192は、静止画データや動画データ、その他、本実施形態のプロジェクタに必要な制御データなどを記録することができるものである。記録媒体192は、磁気ディスク、光学式ディスク、半導体メモリなどのあらゆる方式の記録媒体であってよく、着脱可能な記録媒体であっても、内蔵型の記録媒体であってもよい。
通信部193は、外部装置からの制御信号や静止画データ、動画データなどを受信するためのものであり、例えば、無線LAN、有線LAN、USB、Bluetooth(登録商標)などであってよく、通信方式を特に限定するものではない。また、画像入力部130の端子が、例えばHDMI(登録商標)端子であれば、その端子を介してCEC通信を行うものであってもよい。ここで、外部装置は、プロジェクタ100と通信が可能な機器であれば、パーソナルコンピュータ、カメラ、携帯電話、スマートフォン、ハードディスクレコーダ、ゲーム機、リモコンなど、どのようなものであってもよい。
表示制御部195は、表示制御用のマイクロプロセッサなどからなり、プロジェクタ100に備えられた表示部196にプロジェクタ100を操作するための操作画面やスイッチアイコン等の画像を表示させるための制御をする。なお、表示制御部195専用のマイクロプロセッサである必要はなく、例えば、ROM111に記憶されたプログラムによって、CPU110が表示制御部195と同様の処理を実行してもよい。また、表示部196は、プロジェクタ100を操作するための操作画面やスイッチアイコンを表示する。表示部196は、画像を表示できればどのようなものであってもよい。例えば、液晶ディスプレイ、CRTディスプレイ、有機ELディスプレイ、LEDディスプレイであってよい。また、特定のボタンをユーザに認識可能に掲示するために、各ボタンに対応するLED等を発光させるものであってもよい。
なお、本実施形態の画像処理部140、液晶制御部150、光源制御部160、光学系制御部170、記録再生部191、表示制御部195は、これらの動作ブロックと同様の処理を行うことのできる単数または複数のマイクロプロセッサあってもよい。または、例えば、ROM111に記憶されたプログラムによって、CPU110が各ブロックと同様の処理を実行してもよい。
<基本動作>次に、図1及び図2を参照して、本実施形態のプロジェクタ100の基本動作について説明する。
図2は、本実施形態のプロジェクタ100の基本動作を示すフローチャートである。図2の動作は、CPU110が、ROM111に格納されたプログラムを、RAM112のワークエリアに展開し、各動作ブロックを制御することにより実現される。図2の動作は、ユーザが操作部113やリモコンによりプロジェクタ100の電源をオンすると開始される。操作部113やリモコンによりユーザがプロジェクタ100の電源をオンすると、CPU110は、不図示の電源制御部によりプロジェクタ100の各部へ不図示の電源部から電力の供給を開始する。
次に、CPU110は、ユーザによる操作部113やリモコンの操作により選択された表示モードを判定する(S210)。本実施形態のプロジェクタ100の表示モードの1つは、画像入力部130より入力された画像や映像を表示する「入力画像表示モード」である。また、本実施形態のプロジェクタ100の表示モードの1つは、記録再生部191により記録媒体192から読み出された静止画データや動画データを表示する「ファイル再生表示モード」である。また、本実施形態のプロジェクタ100の表示モードの1つは、通信部193から受信した静止画データや動画データを表示する「ファイル受信表示モード」である。なお、本実施形態では、ユーザにより表示モードが選択される場合について説明するが、電源を投入した時点での表示モードは、前回終了時の表示モードになっていてもよく、また、前述のいずれかの表示モードをデフォルトの表示モードとしてもよい。その場合には、S210の処理は省略可能である。
ここでは、S210で、「入力画像表示モード」が選択されたものとして説明する。
「入力画像表示モード」が選択されると、CPU110は、画像入力部130から画像や映像が入力されているまで待機する(S220)。そして、入力された場合(S220でYes)投影処理(S230)に移行する。
S230では、CPU110は、画像入力部130より入力された画像や映像を画像処理部140に送信し、画像処理部140に、画像や映像の画素数、フレームレート、形状の変形を実行させ、処理の施された1画面分の画像を液晶制御部150に送信する。そして、CPU110は、液晶制御部150により、受信した1画面分の画像の赤色(R)、緑色(G)、青色(B)の各色成分の階調レベルに応じた透過率となるように、各液晶パネルの液晶素子151R、151G、151Bの透過率を制御する。そして、CPU110は、光源制御部160により光源161からの光の出力を制御する。色分離部162は、光源161から出力された光を、赤色(R)、緑色(G)、青色(B)に分離し、それぞれの光を、各液晶パネルの液晶素子151R、151G、151Bに供給する。各液晶素子151R、151G、151Bに供給された各色の光は、各液晶素子の画素毎に透過する光量が制限される。そして、各液晶素子151R、151G、151Bを透過した赤色(R)、緑色(G)、青色(B)それぞれの光は、色合成部163に供給され再び合成される。そして、色合成部163で合成された光は、投影光学系171を介して、スクリーン180に投影される。
この投影処理は、画像を投影している間、1フレームの画像毎に順次、実行されている。
なお、このとき、ユーザにより操作部113から投影光学系171の操作指示が入力されると、CPU110は、光学系制御部170により、投影画像の焦点を変更したり、光学系の拡大率を変更したりするように投影光学系171のアクチュエータを制御する。
この表示処理実行中に、CPU110は、ユーザにより操作部113から表示モードを切り替える指示が入力されたか否かを判定する(S240)。ここで、操作部113から表示モードを切り替える指示が入力されると(S240でYes)、CPU110は、再びS210に戻り、表示モードの判定を行う。このとき、CPU110は、画像処理部140に、表示モードを選択させるためのメニュー画面をOSD(On Screen Display)画像として送信し、投影中の画像に対して、このOSD画面を重畳させるように画像処理部140を制御する。ユーザは、この投影されたOSD画面を見ながら、表示モードを選択する。
一方、表示処理実行中に、ユーザにより操作部113から表示モードを切り替える指示が入力されない場合は(S240でNo)、CPU110は、ユーザにより操作部113から投影終了の指示が入力されたか否かを判定する(S250)。ここで、操作部113から投影終了の指示が入力された場合には(S250でYes)、CPU110は、プロジェクタ100の各動作ブロックに対する電源供給を停止させ、投影処理を終了する。一方、操作部113から投影終了の指示が入力されない場合には(S250でNo)、CPU110は、S220へ戻り、以降、操作部113から投影終了の指示が入力されるまで、S220からS250までの処理を繰り返す。
以上のようにして、本実施形態のプロジェクタ100は、スクリーンに対して画像を投影する。
なお、「ファイル再生表示モード」では、CPU110は、記録再生部191により、記録媒体192から静止画データや動画データのファイルリストや各ファイルのサムネイルデータを読み出し、RAM112に一時的に記憶する。そして、CPU110は、ROM111に記憶されたプログラムに基づいて、RAM112に一時的に記憶されたファイルリストに基づく文字画像や各ファイルのサムネイルデータに基づく画像を生成し、画像処理部140に送信する。そして、CPU110は、通常の投影処理(S230)と同様に、画像処理部140、液晶制御部150、光源制御部160を制御する。
次に、投影画面上において、記録媒体192に記録された静止画データや動画データにそれぞれ対応する文字や画像を選択する指示が操作部113を介して入力される。そうすると、CPU110は、選択された静止画データや動画データを記録媒体192から読み出すように記録再生部191を制御する。そして、CPU110は、読み出された静止画データや動画データをRAM112に一時的に記憶し、ROM111記憶されたプログラムに基づいて、静止画データや動画データの画像や映像を再生する。
そして、CPU110は、例えば再生した動画データの映像を順次、画像処理部140に送信し、通常の投影処理(S230)と同様に、画像処理部140、液晶制御部150、光源制御部160を制御する。また、静止画データを再生した場合には、再生した画像を画像処理部140に送信し、通常の投影処理(S230)と同様に、画像処理部140、液晶制御部150、光源制御部160を制御する。
また、「ファイル受信表示モード」では、CPU110は、通信部193により受信した静止画データや動画データをRAM112に一時的に記憶し、ROM111記憶されたプログラムに基づいて、静止画データや動画データを再生する。そして、CPU110は、例えば再生した動画データを順次、画像処理部140に送信し、通常の投影処理(S230)と同様に、画像処理部140、液晶制御部150、光源制御部160を制御する。また、静止画データを再生した場合には、再生した画像を画像処理部140に送信し、通常の投影処理(S230)と同様に、画像処理部140、液晶制御部150、光源制御部160を制御する。
<画像処理部の構成>次に、図3を参照して、本実施形態の画像処理部の構成について説明する。
図3において、画像処理部140は、信号処理部310、OSD重畳部320、変形処理部330を有する。
元画像信号s301は、前述のように、表示モードに応じて画像入力部130、記録再生部191、あるいは通信部193から入力される。また、タイミング信号s302は、元画像信号s301に同期した垂直同期信号、水平同期信号、クロックなどであって、元画像信号s301の供給元から供給される。画像処理部140内の各ブロックは、タイミング信号s302に基づいて動作するが、画像処理部140の内部でタイミング信号を作り直して使用してもよい。
信号処理部310は、CPU110と連携して、元画像信号s301に対し、画像信号のヒストグラムやAPL等の統計情報の取得や、IP変換、フレームレート変換、解像度変換、γ変換、色域変換、色補正、エッジ強調などの信号処理を施す。信号処理部310で処理された処理画像信号s303は、OSD重畳部320に対して出力される。
OSD重畳部320は、CPU110の指示により、ユーザ用のメニューや操作のためのガイド情報をOSD画像として処理画像信号s303に重畳し、生成したOSD重畳信号s304を変形処理部330に対して出力する。
変形処理部330は、所定の変形式に基づいて変形前後の画素の座標を求め、OSD重畳信号s304に変形処理を施し、変形後画像信号s305を出力する。
本実施形態における変形処理部330は、射影変換を用いて画像を変形するものとし、以下に図8を参照して、この変形処理について説明する。
図8において、810はPs1〜Ps4の4点を頂点とする歪補正前の画像(元画像)、820はPd1〜Pd4の4点を頂点とする歪補正後の画像をそれぞれ示している。
なお、射影変換における、元画像810の座標(xs、ys)と変形後画像820の座標(xd、yd)の関係は下記式1で表わされる。
Mは変形後画像から元画像への3×3の射影変換行列であり、CPU110から変形処理部330に入力される。xs1、ys1は、元画像810の1つの頂点Ps1の座標であり、xd1、yd1は変形後画像820の頂点Pd1の座標値である。
上記式1により求められた元画像の座標(xs、ys)が整数であれば、これをそのまま変形後画像の座標(xd、yd)の画素値としてよい。しかし、式1により求められた元画像の座標は整数になるとは限らない。その場合は、元画像の座標の周辺画素の画素値を用いて補間することで、変形後座標(xd、yd)の持つ画素値を求める。補間の方法は、バイリニア、バイキュービック、その他の任意の補間方法を用いればよい。また、式1に基づいて求められた元画像の座標が、元画像810の範囲外である場合には、その画素値は黒またはユーザが設定した背景色とする。
変形処理部330は、以上の手順で変形後座標の全てについて画素値を求めることで、変形後の画像を作成する。
なお、上記例では、CPU110から変形処理部330に、射影変換行列Mが入力されるとしたが、画像処理部140の内部で射影変換行列Mを求めてもよい。なお、射影変換行列Mは、元画像の4隅の点および変形後画像の座標の4隅の点から、一意に求められる。この方法は公知のため詳細は省略する。
変形処理部330が出力する変形後画像信号s305は、前述の通り、液晶制御部150に供給され、液晶パネルに表示される。
<歪補正処理&ズーム動作>次に、図4〜図6を参照して、本実施形態のプロジェクタ100による歪補正処理について説明する。
図5は、液晶パネルの投影領域と、投影面上に投影される投影領域とを対比させて示し、(a)は液晶パネル上、(b)はスクリーン上の投影画像をそれぞれ示している。液晶パネルは、代表して1枚を図示している。
液晶パネル全面を投影領域510として、これをスクリーン上に投影すると、プロジェクタ100とスクリーンが相対的に正対していない場合には、傾斜角や光学条件によって形状は異なるが、スクリーン上の投影画像は520のように歪んだ四角形になる。P1〜P4は液晶パネル上の投影領域の四隅であり、補正点として移動される点である。PS1〜PS4は、補正点P1〜P4に対応する投影画像の四隅である。
図4は本実施形態のプロジェクタ100による歪補正処理を示している。図4の処理は、CPU110が、ROM111に格納されたプログラムを、RAM112のワークエリアに展開し、各動作ブロックを制御することにより実現される。
図4において、CPU110はまず、ユーザから操作部113やリモコンを介して、画像中の4隅の補正点を移動することで歪補正を行う処理(4隅指定型の歪補正)を開始する指示を受信したか否かを判定する(S401)。CPU110がユーザから4隅指定形の歪補正の開始指示を受信したと判定すると、S402に進む。
次に、CPU110は、ユーザから操作部113やリモコンを介して、4隅の補正点のうち移動対象とする点を選択する指示を受信したか否かを判定する(S402)。CPU110が、移動対象とする点を選択する指示を受信したと判定した場合はS403に進む。このとき、移動対象として選択された補正点をユーザに分かりやすく提示するために、CPU110はOSD重畳部320に対し、補正点付近にOSDを重畳させてもよい。例えば、PS1の近傍の色を目立つ色に変えたり、点滅させたりするなど、選択中の補正点が特定できる情報であれば表示内容はどのようなものであってもよい。
一方、S402にてCPU110が当該指示を受信しなかったと判定した場合は、S411に進む。
S403では、CPU110は、ユーザの補正点移動指示を待つ。補正点移動指示とは、例えば、操作部113もしくはリモコンの方向キー(上、下、左、右)が押下され、補正点が設定されたときの信号である。CPU110が補正点移動指示を受信したと判定した場合はS404に進む。一方、CPU110が当該指示を受信しなかったと判定した場合は、S411に進む。
S404では、CPU110は、ユーザが方向キーを押下したと判定すると、押下された方向キーに応じて、移動後(設定終了後)の補正点の液晶パネル上の座標を計算する(S404)。例えば、選択中の補正点P4の移動前の液晶パネル上の座標が(x4、y4)である場合に、右キーが押されたとすると、移動後の座標は(x4+m、y4)となる。ここで、mは予め定められた移動量である。ただし、液晶パネルの解像度を(xp、yp)とすると、x4+m<0若しくはxp≦x4+mのときは液晶パネルの投影領域外(投影範囲の外側)であると判定し、移動を行わない。
次に、CPU110は、ユーザから操作部113やリモコンを介して、選択中の補正点の移動終了指示を受信したか否かを判定する(S405)。補正点移動終了指示は、例えば、操作部113もしくはリモコンの決定キーやキャンセルキーなど予め定められたキーが押下されたときに設定終了と判定すればよい。CPU110が選択中の補正点の移動終了指示を受信したと判定すると、S406に進む。一方CPU110が当該指示を受信しなかったと判定した場合は、S403に戻る。
S406では、CPU110は、変形処理部330に対し、入力画像を補正点P1〜P4を頂点とする画像に変形するよう指示する。このとき、CPU110は、画像変形のための射影変換行列Mを求め変形処理部330に送信する。変形処理部330はCPU110から受信した情報に従い、入力画像を変形する。
次に、CPU110は、ユーザから操作部113やリモコンを介して、4隅指定形の歪補正を終了する指示を受信したか否かを判定する(S407)。CPU110が補正点の移動終了指示を受信したと判定すると、S408に進む。一方、CPU110が当該指示を受信しなかったと判定した場合は、S402に戻る。
S408では、CPU110は、補正点P1〜P4の液晶パネル上の座標が液晶パネルの投影領域の端部に接しているか(投影範囲の内側か否か)を判定する。CPU110が、補正点P1〜P4の少なくとも1つが液晶パネルの投影領域の端部に接していると判定した場合には本処理を終了する。一方、CPU110が、補正点P1〜P4が全て液晶パネルの投影領域の端部に接していないと判定した場合にはS409に進む。
S409では、CPU110は、光学系制御部170に対し、ズームレンズを駆動して投影画像を光学的に縮小するよう指示する。光学系制御部170はCPU110の指示に従い、ズームレンズを駆動する(S409)。
S410では、CPU110は、S407にて決定された補正点P1〜P4の投影面上の位置PS1〜PS4が、S409にてズームが変更された後も同一になるような、補正点P1〜P4の液晶パネル上の座標を再計算する(詳細は後述する)。
S411では、CPU110は変形処理部330に対し、入力画像をS410にて決定された補正点P1〜P4を頂点とする画像に変形するよう指示する。このとき、CPU110は、画像変形のための射影変換行列Mを求め変形処理部330に送信する。変形処理部330はCPU110から受信した情報に従い、入力画像を変形する。変形処理部330が変形を終了するとS408に戻る。
<歪補正処理中の投影画像の変化の様子の説明>次に、図6を参照して、歪補正処理中の投影画像の変化の様子を、ユーザ操作と投影面上の投影画像の変化を対応付けて説明する。
ここでは、歪補正処理の開始前において、図6(a)のように投影画像520が目標形状530の全体を包含していない場合を例に説明する。
まずS402にて、ユーザが補正点P4を選択したとする。そして、PS4の位置が目標形状530の頂点に重なるまで、リモコンの方向キーを押して補正点PS4の位置を移動する。このとき、プロジェクタ100では、S403〜S405が繰り返される。そして、ユーザがリモコンの決定ボタンを押すと、変形処理部330によって投画像は図6(b)のようになる。
次に、ユーザは同様の手順で補正点P3、P2、P1を順に選択し、各補正点が目標形状530の頂点に一致するように移動指示を行う。全ての補正点の移動が終了すると投影画像は図6(c)のようになり、投影画像は目標形状530と等しくなる。
このとき、CPU110は図6(c)の投影状態において、液晶パネル上の補正点P1〜P4が液晶パネルの投影領域の端部に接しているか否かを判定する。これは、歪補正前の投影画像(図6(a)の520)の外周に、歪補正後の投影画像(図6(c)の520)の4隅が接しているか否かを判定することに等しい。
本例では、液晶パネル上の補正点P1〜P4が液晶パネルの投影領域の端部に接していないため、S409にて、投影画像がズーム縮小される。ただし、図6(c)のような投影状態において、単純にズームにより縮小してしまうと、図6(d)のようになり、投影画像520は目標形状530を外れてしまう。そこで、CPU110は、ズームにより縮小する前に投影画像520を目標形状530に一致する図6(e)の状態にするために、以下に述べる補正点P1〜P4の液晶パネル上の座標を補正する処理を行う。
<補正点の座標補正処理>以下に、図7を参照して補正点の座標補正処理について説明する。
図7はプロジェクタ100と投影面700の関係をプロジェクタ100の真上から見た図であり、便宜的に投影画像は上辺のみを示している。
まず、図7(a)に示すように、歪補正前の投影画像の端点をPS1’、PS2’とする。また、このときのプロジェクタ100の左右の投影角をθR、θLとする。
ここで、歪補正が行われ、図6(c)のように投影画像の投影面上の補正点PS1、PS2が目標形状530の頂点に一致した位置に移動されたとする。このときの液晶パネル上の点P1およびP2の位置関係は、プロジェクタ100と正対した仮想投影面710上のそれと等しく、図7(a)のような射影関係となる。歪補正後の左右の投影角を図7(a)に示すようにφL、φRとする。これは、補正点P1、P2の液晶パネル上の座標とθL、θRから幾何的に求められる。
ここで、プロジェクタ100がズーム動作を行ったとする。ズーム動作とは投影角θL、θRが変化することである。図7(b)は、図7(a)からズーム動作が行われ投影画像が縮小された状態を示しており、このときθ’L<θL、θ’R<θRとなる。
ズーム動作の前後で補正点のスクリーン上の4隅の位置PS1、PS2が同じこととは、図7(a)と図7(b)にてφL、φRが変化しないことである。そのためには、ズーム動作後に液晶パネル上の補正点P1〜P4の座標を補正する必要があり、例えばP1の補正後のX座標は、幾何的に以下のように求められる。
まず、仮想パネルの幅Wは、プロジェクタ100と仮想投影面710との距離をDとすると、
W=D・tan(θ’L)+D・tan(θ’R)
である。
ここで仮想パネル上の左端からP1までの距離(仮想パネル上の座標)DP1は、
DP1=D・tan(θ’L)−D・tan(φ’L)
となる。
ここで液晶パネルの解像度をPXとすると、液晶パネル上のP1のX座標Xd1は、
Xd1=(DP1×PX)/W
と求められる。
以上、P1のX座標の補正方法について説明したが、同様の手順で、P1のY座標、またP2〜P4のX、Y座標についても求めることができる。
このように、補正点P1〜P4の投影画像の中心に投影領域の中心が近づくように座標を補正した後に、ズーム動作を行う。
以上説明したように、本実施形態のプロジェクタによれば、ユーザが歪補正時に4隅の補正点の位置を決定すると、ズーム動作が行われて投影画像は目標投影位置を包含する関係を保ちながらも限りなく縮小され、その縮小率に応じて投影画像が歪補正される。そのため、撮像手段を用いることなく、歪補正前の投影画像と投影領域との位置関係によらず、投影画像を適切な大きさ及び形状に歪補正を行うことができる。
[実施形態2]本実施形態のプロジェクタは、レンズシフトも連動する構成である。なお、本実施形態のプロジェクタの全体構成、基本動作、画像処理部の構成については、実施形態1と同様であるため説明は省略する。
図9は本実施形態のプロジェクタ100の動作を示している。図9の動作は、CPU110が、ROM111に格納されたプログラムを、RAM112のワークエリアに展開し、各動作ブロックを制御することにより実現される。図7におけるS901〜S908の処理は、図4のS401〜S408と同様であるので説明は省略する。
図9において、S908にて、CPU110は、補正点P1〜P4は液晶パネルの投影領域端に接していないと判定した場合にはS909に進む。
S909では、CPU110は、光学系制御部170にズームレンズを駆動させてズーム動作を行うか、若しくはシフトレンズを駆動させてレンズシフトを行うかを判定する。この判定は例えば、図7のθL、θRが、後述するS910の条件を満たすまではレンズシフトを行い、それ以外はズームを行うと判定する。
CPU110がズームを行うと判定した場合はS911に、レンズシフトを行うと判定した場合はS910に進む。
S910では、CPU110は、光学系制御部170に対し、レンズシフトを行うように指示する。光学系制御部170はCPU110の指示に応じて、シフトレンズを駆動し投影面上の投影画像の位置を移動させる。S909またはS910の動作が終了するとS912に進む。
なお、レンズシフトによる投影画像の移動方向は、S911およびS912において、ズームの縮小と補正点の座標の再計算が行われる際に、現在の投影状態のままS911およびS912を行う場合と比較して、よりズームを縮小方向に変化できる方向である。
図7(a)の記号を用いて説明すると、
θL:θR=φp1:φp2
となるようにθLおよびθRを変更すると、ズームを縮小した際に補正点P1、P2が共に液晶パネルの左右の投影領域端に位置することになる。ただし、不図示のP3、P4および各補正点のY座標も考慮したほうがよく、同様にθLおよびθRの値をそれぞれ求め、例えばその平均値をレンズシフトの目標値とすればよい。S910でレンズシフトが終了すると、CPU110はP1〜P4の液晶パネル上の座標を補正する。これは実施形態1で説明したズーム動作の際の補正と同様に、投影角θL、θRが変化した時に、φL、φRが変化しない条件を求めればよい。
S911〜S913の処理は、図4のS409〜S411の処理と同様であるので説明は省略する。
<歪補正処理中の投影画像の変化の様子の説明>次に、図10を参照して、歪補正処理中の投影画像の変化の様子を、ユーザ操作と投影面上の投影画像の変化を対応付けて説明する。ここでは、歪補正処理の開始前において、図10(a)のように投影画像520が目標形状530の全体を包含している場合を例に説明する。
まずユーザは、実施形態1と同様の手順で補正点P1〜P4を順に選択し、補正点が目標形状の頂点に一致するように移動指示を行う。全ての補正点の移動が終了すると投影画像は図10(b)のようになり、投影画像は目標形状530と等しくなる。
このとき、CPU110は図10(b)の投影状態において、液晶パネル上の補正点P1〜P4が液晶パネルの有効投影領域端に接しているか否かを判定する。本例では、液晶パネル上の補正点P1〜P4が液晶パネルの有効投影領域端に接していないため、S409にて、光学系制御部170がシフトレンズを駆動し、投影画像が投影面上で移動され、前述の手順で、補正点P1〜P4の液晶パネル上の座標の補正が行われ、図10(d)のような投影状態となる。
その後、実施形態1と同様の手順でズームによる縮小とそれに伴う補正点P1〜P4の液晶パネル上での座標位置の補正が行われ、投影状態は図10(e)のようになる。
以上の手順により、投影画像520を目標形状530に一致させるよう歪補正を行うことができる。なお、実施形態1のようにレンズシフトを行わない手順においては、投影画像は図10(c)となる。一方、本実施形態のプロジェクタ100が歪補正を行った投影画像は図10(e)のようになり、実施形態1に比べ、歪補正による解像度劣化を抑えることができる。
[その他の実施形態]
本発明は、以下の処理を実行することによっても実現される。即ち、本実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPUなど)がプログラムを読み出して実行する処理である。