以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、携帯電子機器として携帯電話機を例として説明するが、本発明の適用対象は携帯電話機に限定されるものではなく、例えば、PHS(Personal Handyphone System)、PDA、ポータブルナビゲーション装置、ノートパソコン、ゲーム機等に対しても本発明は適用できる。
まず、携帯電子機器の外観の構成を説明する。図1は、携帯電子機器の一実施形態の概略構成を示す斜視図である。携帯電子機器10は、無線通信機能を備えた携帯電話機である。携帯電子機器10は、1つの箱型形状の筐体11の内部に各部が収納されたストレート形状の携帯電話機である。なお、本実施形態では、筐体11を1つの箱型形状としたが、ヒンジで連結された2つの部材で構成した折りたたみ可能な筐体や、2つの部材をスライドさせる筐体としてもよい。また、3つ以上の部材を連結した筐体も用いることができる。
筐体11には、表示部として、図1に示すディスプレイ12が設けられる。ディスプレイ12は、所定の画像として、携帯電子機器10が受信を待機している状態のときに待ち受け画像を表示したり、携帯電子機器10の操作を補助するために用いられるメニュー画像を表示したりする。
筐体11には、通話相手の電話番号や、メール作成時等に文字を入力するための操作キー13が複数設けられている。さらに、筐体11の一つの側部(操作キー13が設けられる面と略直交する面のうちの一つ)には、後述するプロジェクタ34の動作を制御する専用キー14が設けられる。なお、操作キー13及び専用キー14は、携帯電子機器10の操作部を構成する。また、筐体11には、携帯電子機器10の通話時に音声を受け取るマイク15、携帯電子機器10の通話時に音声を発するレシーバ16が設けられる。
また、筐体11の上面(一辺が、操作キー13が設けられる面と接し、他の一辺が、専用キー14が設けられている面と接している面)には、画像を投影するプロジェクタ34の光射出部34aが設けられている。また、筐体11の上面には、さらに、カメラ38の撮像部38a、測距センサ40の送信部40a及び受信部40bが設けられている。
図2は、図1に示す携帯電子機器の機能の概略構成を示すブロック図である。図2に示すように携帯電子機器10は、制御部22と、記憶部24と、送受信部26と、操作部28と、音声処理部30と、表示部32と、プロジェクタ34と、加速度センサ36と、カメラ38と、測距センサ40と、を有する。
制御部22は、CPU(Central Processing Unit)等の携帯電子機器10の全体的な動作を統括的に制御する処理部である。すなわち、携帯電子機器10の各種の処理が、操作部28の操作や携帯電子機器10の記憶部24に保存されるソフトウェアに応じて適切な手順で実行されるように、送受信部26や、音声処理部30や、表示部32等の動作を制御する。携帯電子機器10の各種の処理としては、例えば、回線交換網を介して行われる音声通話、電子メールの作成及び送受信、インターネットのWeb(World Wide Web)サイトの閲覧等がある。また、送受信部26、音声処理部30、表示部32等の動作としては、例えば、送受信部26による信号の送受信、音声処理部30による音声の入出力、表示部32による画像の表示等がある。
制御部22は、記憶部24に保存されているプログラム(例えば、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。制御部22は、例えば、マイクロプロセッサユニット(MPU:Micro Processor Unit)で構成され、前記ソフトウェアで指示された手順にしたがって上述した携帯電子機器10の各種の処理を実行する。すなわち、制御部22は、記憶部24に保存されるオペレーティングシステムプログラムやアプリケーションプログラム等から命令コードを順次読み込んで処理を実行する。
制御部22は、複数のアプリケーションプログラムを実行する機能を有する。制御部22が実行するアプリケーションプログラムとしては、例えば、プロジェクタの駆動を制御するアプリケーションプログラムや、各種ゲームを作動させるゲームアプリケーションプログラム等の複数のアプリケーションプログラムがある。
記憶部24には、制御部22での処理に利用されるソフトウェアやデータが保存されており、上述した、プロジェクタの駆動を制御するアプリケーションプログラムを作動させるタスクや、各種ゲームアプリケーションプログラムを作動させるタスクが保存されている。
また、記憶部24には、これらのタスク以外にも、例えば、通信、ダウンロードされた音声データ、あるいは記憶部24に対する制御に制御部22が用いるソフトウェア、通信相手の電話番号やメールアドレス等を保存し、管理するアドレス帳、発信音や着信音等の音声ファイル、ソフトウェアの処理過程で用いられる一時的なデータ等が保存されている。また、記憶部24には、被写体(対象物)の大きさ情報を有する画像のデータ等も保存されている。なお、ソフトウェアの処理過程で用いられるコンピュータプログラムや一時的なデータは、制御部22によって記憶部24に割り当てられた作業領域へ一時的に保存される。記憶部24は、例えば、不揮発性の記憶デバイス(ROM:Read Only Memory等の不揮発性半導体メモリ、ハードディスク装置等)や、読み書き可能な記憶デバイス(例えば、SRAM:Static Random Access Memory、DRAM:Dynamic Random Access Memory)等で構成される。
送受信部26は、アンテナ26aを有し、基地局によって割り当てられるチャネルを介し、基地局との間でCDMA方式などによる無線信号回線を確立し、基地局との間で電話通信及び情報通信を行う。
操作部28は、例えば、電源キー、通話キー、数字キー、文字キー、方向キー、決定キー、発信キーなど、各種の機能が割り当てられた操作キー13と専用キー14とで構成され、これらのキーがユーザの操作により入力されると、その操作内容に対応する信号を発生させる。そして、発生した信号は、ユーザの指示として制御部22へ入力される。
音声処理部30は、マイク15に入力される音声信号やレシーバ16から出力される音声信号の処理を実行する。すなわち、音声処理部30は、マイク15から入力される音声を増幅し、AD変換(Analog Digital変換)を実行した後さらに符号化等の信号処理を施して、ディジタルの音声データに変換して制御部22へ出力する。また、制御部22から送られる音声データに対して復号化、DA変換(Digital Analog変換)、増幅等の処理を施してアナログの音声信号に変換してから、レシーバ16へ出力する。
表示部32は、液晶ディスプレイ(LCD、Liquid Crystal Monitor)や、有機EL(Organic Electro−Luminescence)パネルなどで構成された表示パネル(上述したディスプレイ12等)を備え、制御部22から供給される映像データに応じた映像、画像データに応じた画像を表示パネルに表示させる。
プロジェクタ34は、画像を投影する画像投影機構であり、上述したように、筐体11の上面に画像を投影する光射出部34aが設けられている。ここで、図3は、図1に示す携帯電子機器で画像を表示させている状態を示す説明図である。携帯電子機器10は、プロジェクタ34の光射出部34aから画像を投影する、つまり画像を構成する光を射出することで、図3に示すように、筐体11の上面に対向する面にある壁面、スクリーン等のうち、一定の領域(投影領域)に画像を投影することができる。なお、プロジェクタ34は、制御部22により動作が制御され、制御部22から送られる種々の映像、例えば映画、プレゼンテーション資料を投影し、投影領域に表示させる。
プロジェクタ34は、光源と、画像データに応じて、光源から射出された光を投影するか否かを切り換える光学系とで構成されている。例えば、プロジェクタ34には、ハロゲンライトや、LED光源、LD光源を光源とし、LCD(Liquid Crystal Monitor)や、DMD(Digital Micro-mirror Device)を光学系とした構成のプロジェクタを用いることができる。この場合は、光学系を各画素に対応して投影領域の全面に配置し、光源から射出された光を画像に合わせて光学系をオンオフさせることで画像を投影領域の全面に投影させることができる。また、プロジェクタ34には、レーザ光を光源とし、光源から射出された光を透過させるか否かを切り換える切り換え素子と、切り換え素子を通過した光をラスター走査させるミラーとで構成される光学系とした構成のプロジェクタを用いることもできる。この場合は、ミラーによってレーザ光から射出された光の角度を変えて、投影領域の全面に光源から照射された光を走査させることで、投影領域に画像を投影させることができる。
加速度センサ36は、筐体11に加わる加速度を検出する検出器である。加速度センサ36として、種々の方法で加速度を検出する検出器を用いることができ、例えば、静電容量の変化や、ピエゾ抵抗の変化、相対位置の変化等で加速度を検出する検出器を用いることができる。加速度センサ36は、例えば重力加速度や、操作者が筐体11を移動させたり、振ったりする際に、筐体11に作用する加速度を検出する。
カメラ38は、筐体11の上面に設けられた撮像部38aにより投影領域を含む領域の画像を取得する撮像機構である。つまり、カメラ38は、プロジェクタ34が光を射出する方向の画像を取得する。なお、カメラ38は、プロジェクタ34により照射される画像の画角よりも広い画角で画像を撮影する撮影機構であり、プロジェクタ34により画像が投影される投影領域よりも広い領域の画像を撮影することができる。
測距センサ40は、プロジェクタ34が光を射出する面、つまり、プロジェクタ34から射出された投影領域の画像が到達し、画像が表示される面(以下「照射面」という。)との距離を測定する計測器である。測距センサ40は、筐体11の上面に配置され、赤外線や、超音波、レーザ光等の計測波を射出する送信部40aと、筐体11の上面に配置され、計測波を受信する受信部40bとを有し、送信部40aから射出され対象物体に当たって反射された計測波を受信部40bで受信する。測距センサ40は、受信部40bが受信した計測波の強度や、計測波の入射角、送信部40aで送信してから受信部40bが受信するまでの時間等に基づいて、測距センサ40と照射面との距離を算出する。携帯電子機器10は、基本的に以上のような構成である。
次に、図4を用いて携帯電子機器10の動作、具体的には、プロジェクタの制御動作について説明する。ここで、図4は、携帯電子機器の動作の一例を示すフロー図である。なお、図4に示すフロー図は、被写体のサイズが既知の画像を表示させる場合のプロジェクタ34の動作を制御する例である。
まず、操作者により表示させる画像が特定されたら、制御部22は、ステップS12として、特定された画像とサイズを取得する。具体的には、特定された画像データと、その画像に含まれる被写体のサイズ情報、つまり、対象物のサイズ情報とを取得する。なお、これらのデータは、ユーザが特定した画像を有する媒体から取得すればよく、記憶部24に保存されている場合は、記憶部24から読み出し、通信を介して接続されているサーバに記憶されている場合は、送受信部26を介して当該サーバから読み出す。なお、画像データと共にサイズ情報が付加されている場合には、そのサイズ情報でもよい。
制御部22は、ステップS12で画像とサイズを取得したら、ステップS14として、照射面(投影面)までの距離を測定する。具体的には、測距センサ40によりプロジェクタ34の光射出部34aから照射面までの距離を算出する。制御部22は、ステップS14で照射面までの距離を計測したら、ステップS16として、照射面の実サイズを計算する。具体的には、ステップS14で算出した照射面までの距離と、プロジェクタ34から射出される光の照射角度とに基づいて、照射面の実サイズ、つまり大きさ、面積を算出する。なお、照射面の実サイズは、基準距離と基準面積の関係、例えば、距離50cmのときの照射面の大きさを記憶しておき、ステップS14で測定した距離を用いて比例計算することで算出してもよい。
制御部22は、ステップS16で照射面のサイズを計算したら、ステップS18として、画像≦照射面であるかを判定する。つまり、制御部22は、投影する画像の照射面におけるサイズと、照射面のサイズとを比較し、画像が照射面に入りきるかを判定する。
制御部22は、ステップS18で、画像≦照射面である(Yes)、つまり、画像のサイズが照射面のサイズと同じか、画像のサイズが照射面のサイズより小さいと判定したら、ステップS20として、プロジェクタ34により画像全体を投影する。具体的には、画像のサイズと照射面のサイズとに基づいて、照射面に投影される画像が実サイズとなるように、投影する画像を拡大縮小して、プロジェクタ34により投影させる。なお、画像のサイズが照射面のサイズと同一の場合は、投影する画像を拡大、縮小させることなく、そのままプロジェクタに投影させる。制御部22は、ステップS20での画像の投影が終了したら、処理を終了する。
また、制御部22は、ステップS18で、画像>照射面である(No)、つまり、画像のサイズが照射面のサイズよりも大きいと判定したら、ステップS22として、携帯電子機器10の移動指示を表示させる。具体的には、画像全体を実サイズで投影するためには、照射面との距離をより長くする必要があり、携帯電子機器10を照射面から離す方向に移動させる必要がある旨を表示部32のディスプレイ12に表示させる。
制御部22は、ステップS22で移動指示を表示させたら、ステップS24として、端末、つまり携帯電子機器10が移動したかを判定する。ここで、携帯電子機器10が移動したかを判定する方法は、特に限定されない。例えば、加速度センサ36で検出した加速度に基づいて判定すればよい。具体的には、加速度センサ36により一定時間以上、一定方向の加速度が検出されたら移動したと判定すればよい。また、測距センサ40により照射面までの距離を計測し、計測結果を比較するようにしてもよい。なお、ステップS24の判定は、ステップS22で移動指示を表示させた後、一定時間経過するまでの間に移動があったかを判定するようにしてもよいし、ステップS22で移動指示を表示させた後、操作者に判定終了等の指示が入力されるまでの間に移動があったかを判定するようにしてもよい。
制御部22は、ステップS24で端末が移動した(Yes)と判定したら、ステップS14に進む。つまり、照射面までの距離が変化したら、ステップS14からステップS18までの処理を行い、再び、照射面に画像全体が表示可能であるかを判定する。
また、制御部22は、ステップS24で端末が移動していない(No)と判定したら、ステップS26として、画像の一部を投影する。具体的には、制御部22は、照射面のサイズに基づいて照射面に投影できる画像のサイズを算出し、算出したサイズに基づいて画像の中から投影する部分を選択、つまり一定の領域を切り出し、選択した部分の画像を実サイズで投影する。なお、画像の中から投影する部分を選択する方法は、特に限定されず、操作者により選択させるようにしても、自動的に画像の中心を中心として、照射面のサイズの画像を選択するようにしてもよい。制御部22は、ステップS26で、画像の一部を投影させたら、処理を終了する。
以上のように、携帯電子機器10は、測距センサ40により照射面との距離を検出し、その検出結果に基づいて、照射面に実サイズ(画像データに記憶されているサイズ)で画像、つまり画像に含まれる被写体を投影させることができる。これにより、携帯電子機器10は、照射面との距離によらず、画像に含まれる被写体を一定のサイズで投影することができる。以上より、操作者は、被写体の大きさを的確に認識することが可能となり、ディスプレイ12で表示に限界があり、実物の想像が困難な被写体(物体)であっても、容易に実サイズを推定することが可能となる。例えば、インターネット等を介して買い物を行う場合に、ディスプレイ12に表示させているのみでは、大きさを想像することが困難であるが、携帯電子機器10のプロジェクタ34により投影させることで、実物の大きさを推定することができる。また、例えば、被写体が服の場合は映像を自分の体に投影することで、自分がその服を着た場合の袖丈や、着丈を把握することができる。また、被写体が家具等の場合は、家具を配置すると仮定される位置にその画像を投影させることで、その家具がそのスペースに入るか、レイアウトを把握しやすくすることができる。
なお、上記実施形態では、実サイズつまり等身大で被写体を投影するようにしたが、これに限定されず、操作者の設定または予め決められた倍率により、実サイズより縮小して投影させたり、拡大させて投影させたりと任意の大きさで投影できるようにしてもよい。このように、既知の倍率で投影することで、実サイズでない場合でも被写体の実サイズを想像しやすくすることができる。
また、プロジェクタ34として照射面上に光を走査させることで画像を投影するタイプを用い、かつ、投影する画像のサイズが、プロジェクタ34により投影可能な領域よりも小さい場合は、投影する画像の領域のみ光を走査させるようにしてもよい。つまり、投影する画像のサイズにより、プロジェクタ34により光を走査させる領域を変更するようにしてもよい。これにより、光の走査量を少なくすることができ、画像投影時に使用する電力を少なくすることができる。
また、携帯電子機器10は、被写体として物差し、つまりスケールを投影することが好ましい。この場合は、投影する物差しの長さを、照射面のサイズに応じて変換するようにすることが好ましい。以下、図5を用いて具体的な制御とともに説明する。ここで、図5は、携帯電子機器の動作の他の例を示すフロー図である。
まず、操作者の操作により、被写体として物差しを投影することが選択されたら、制御部22は、ステップS40として、照射面(投影面)までの距離を測定する。具体的には、測距センサ40によりプロジェクタ34の光射出部34aから照射面までの距離を算出する。制御部22は、ステップS40で照射面までの距離を計測したら、ステップS42として、照射面のサイズを計算し、目盛り個数を割り出す。ここで、照射面のサイズは上述した実サイズの算出と同様の方法で算出することができる。また、目盛り個数は、算出した照射面のサイズから算出する。つまり目盛りが1cm単位の場合は、照射面のサイズが50cmなら目盛り個数は50個となり、照射面のサイズが63cmなら目盛りの個数は63個となる。また、制御部22は、算出した個数の目盛りを直列に連結させた画像(つまり、目盛り画面)を作成する。なお、制御部22は、目盛りの個数に応じて、長さを示す表示を付加してもよい。つまり、通常の物差しのように、端から10cmの目盛りに10、20cmの目盛りに20という表示を追加してもよい。
制御部22は、ステップS42で、照射面のサイズを算出し、目盛り個数を割り出し、目盛り画面を作成したら、ステップS44として、照射面に作成した目盛り画像を投影させ、処理を終了する。なお、制御部22は、終了指示があるまで、または一定時間の間、目盛り画像を投影している。
このように、測距センサ40により算出した照射面との距離に基づいて、照射面のサイズを算出し、実サイズを示す目盛り画像を投影することで、光を投影している領域の長さを計測することができる。これにより、長さを知りたい対象物に目盛り画像を投影することで、対象物の長さを計測することができる。以上より、携帯電子機器10を持っていれば、物差しを持っていない場合であっても、対象物の長さを計測することができる。また、対象物との距離を調整し、照射面の大きさを調整することで、目盛り画像に表示される目盛りの長さを変えることができる。したがって、1つの携帯電子機器10を、種々の大きさの物差しとして使用することができる。
なお、目盛り画像は、照射面の全域に目盛りを表示させるようにしても、一部のみに表示させるようにしてもよい。また、画面内において目盛りを表示させる位置は特に限定されず、画面の横方向のみに表示させても縦方向のみに表示させても、両方の方向に表示させても、斜め方向に表示させても、方眼紙のようにマトリクス状に表示させてもよい。また、表示させる目盛りの作成方法も限定されず、例えば、想定される最大の長さの物差し画像を記憶させておき、照射領域の長さに基づいて、物差し画像のうち使用する領域を決定し、決定した領域の物差し画像を画像として投影するようにしてもよい。
また、上記実施形態では、直線の物差しを表示させる場合について説明したが、円形のスケールを表示させるようにしてもよい。以下、図6を用いて具体的な制御とともに説明する。ここで、図6は、携帯電子機器の動作の他の例を示すフロー図である。なお、図6に示すフロー図は、円形のスケール(以下「円形スケール」という。)の内部に、円形を円周方向に複数個に分割する線を表示させるフロー図である。また、円形スケールは、外周の半径は予め設定された長さでのスケールである。
まず、操作者により円形スケールを表示させる指示を検出したら、制御部22は、ステップS50として、分割数を検出し、さらに、ステップS52として、分割方法の指示を検出する。具体的には、分割数を入力する画面を表示し、その後、操作者により入力された円形の分割数を検出する。さらに、その分割を、等分で分割するか、異なる割合で分割するかを選択させる画面を表示させ、操作者により入力された指示を検出する。また、制御部22は、異なる割合で分割する場合は、分割する割合について入力させる画面を表示させ、各割合についての入力結果を検出する。制御部22は、ステップS50で、分割数を検出し、ステップS52で分割方法を検出したら、ステップS54として、投影する円形スケールの画像をディスプレイ12に表示させる。つまり、制御部22は、プロジェクタ34により投影する前に、投影予定の画像をディスプレイ12に表示させる。
制御部22は、ステップS54で円形スケールをディスプレイ12に表示させたら、ステップS56として、照射面(投影面)までの距離を測定する。具体的には、測距センサ40によりプロジェクタ34の光射出部34aから照射面までの距離を算出する。制御部22は、ステップS56で照射面までの距離を測定したら、ステップS58として投影する大きさを決定する。つまり、制御部22は、照射面までの距離と、円形スケールの大きさとに基づいて、円形スケールの大きさが照射面で設定された大きさとなるように、画像データを生成する。制御部22は、ステップS58で投影する大きさを決定したら、ステップS60として、作成した画像を照射面に投影し、処理を終了する。つまり、任意の数に分割された円形のスケールを設定された大きさで投影する。
このように、円形スケールを複数に分割した画像を投影することで、例えば、ケーキ等の円形の物体を分割する際に、所望の割合で分割することが可能となる。つまり、円形スケールを分割する線に沿ってケーキを切ることで、所望の割合で分割することが可能となる。また、円形スケールの外周半径を一定にすることで、対象物との距離が変化しても、円形スケールが照射面よりも大きくならない限り、同一の画像を対象物に投影し続けることができる。もちろん分度器のように度数を表示したものを投影してもよい。
ここで、図7は、携帯電子機器が投影する画像の一例を示す説明図である。携帯電子機器10は、上記図6に示す処理により、図7に示す画像60を作成する。ここで、画像60は、円形スケール62と円形スケール62を分割する複数の分割線64とで構成される。なお、画像60の円形スケール62は、外形線のみで構成されている。このように、分割線64を有する画像を対象物体に対して投影することで、対象物体を所望の形状、数に分割することができる。
また、携帯電子機器10は、ステップS54で撮影した照射面の画像と投影予定の画像とを重ねてディスプレイ12に表示させることで、照射面の状態と投影予定の画面との関係を画面上で確認することができる。なお、携帯電子機器10は、ステップS54で撮影した照射面の画像と投影予定の画像とを重ねずに、投影予定のディスプレイ12に表示させてもよい。
以下、図8及び図9を用いて、携帯電子機器の他の制御について説明する。ここで、図8は、携帯電子機器の動作の他の例を示すフロー図であり、図9は、携帯電子機器が画像を投影した照射面を示す説明図である。なお、図8に示すフロー図は、画像の対象物(照射面に配置された物体)の形状から障害物を検出し、障害物を避けて分割線を投影、表示させる動作の一例である。
まず、携帯電子機器10の制御部22は、ステップS100として、操作者により入力された円形の分割数nを検出する。制御部22は、ステップS100で分割数を検出したら、ステップS102として、投影する円形の画像を表示部32に表示させる。つまり、制御部22は、ステップS100で入力された分割数に基づいて、円を分割した画像を作成し、作成した画像を表示部32に表示させる。
制御部22は、ステップS102で投影する画像を表示部32に表示させたら、ステップS104として、障害物の位置を特定する。具体的には、制御部22は、カメラ38により照射領域の画像を取得し、対象物を特定する。なお、対象物の特定方法は特に限定されない。例えば、制御部22が、撮影した画像を解析し、円形、つまりスケールに対応する形状の物体を抽出し、抽出した物体を対象物とすることができる。また、制御部22は、撮影した画像を表示部32に表示させ、ユーザの操作により作成した対象物の位置を特定するようにしてもよい。この場合は、ステップS102で作成した画像も表示させ、ユーザの操作により相対移動可能とし、作成した円形の画像と撮影画像内の対象物との位置を重ねることで、対象物を特定することもできる。制御部22は、対象物を特定したら、対象物の画像を解析し、対象物の表面の障害物(つまり、分割線の配置を避ける必要がある領域)の位置を特定する。例えば、対象物がケーキの場合、障害物は、ケーキの表面に載置された、果物(イチゴ)や、板チョコ、飾り(飴細工)等である。なお、障害物とするか否かの基準は、ユーザが設定すればよい。例えば、イチゴは、障害物ではなく、板チョコを障害物とする設定としてもよく、イチゴと板チョコの両方を障害物としてもよい。
制御部22は、ステップS104で障害物の位置を特定したら、ステップS106として、1区画の角度を算出し、制御値mを設定する。ここで、制御部22は、分割線と隣接する分割線とのなす角θ0を算出する。具体的には、なす角θ0=360°/nで算出する。なお、nは、ステップS100で検出した分割数である。また、制御値mをm=nとして設定する。なお、制御値mは、分割線の位置を決定する際に使用する値である。制御値mは、初期値として、分割線の数nが設定される。
制御部22は、ステップS106の処理が終了したら、ステップS108として、1本目の分割線の位置をθ1に設定し、ステップS110として、1本目の分割線を引く(つまり、1本目の分割線の位置を決定する。)。ここで、θ1は、標準座標(画面、投影画像上の基準となる円座標)に対する角度である。また、θ1は、初期値として0が設定されている。
制御部22は、ステップS110で1本目の分割線の位置を決定したら、ステップS112として残りの分割線を引く。つまり、制御部22は、1本目の分割線の位置を基準として、角度θ0間隔で、分割線の位置を決定する。これにより、画像におけるn本の分割線の位置を特定することができる。
制御部22は、ステップS112で分割線の位置を決定したら、ステップS124として、m´として、障害物と重なった分割線の本数を検出する。なお、分割線が障害物と重なったかは、ステップS104で特定した障害物の位置と、ステップS110、ステップS112で引いた分割線とを基準座標上で比較することで検出することができる。制御部22は、検出した、障害物と重なった分割線の本数をm´とする。
制御部22は、ステップS124で本数m´を検出したら、ステップS126として、m´=0であるか、つまり、障害物と重なった分割線の本数が0であるかを判定する。制御部22は、ステップS126でm´=0である(Yes)と判定したら、ステップS128として、θ=θ1とする。つまり、m´=0となる角度θ1の角度をθとする。制御部22は、ステップS128でθ=θ1としたら、ステップS138に進む。
制御部22は、ステップS126で、m´=0ではない(No)、つまり、現在の条件では、障害物と重なる分割線があると判定したら、ステップS130として、m<m´であるかを判定する。つまり、制御部22は、ステップS130として、設定されている制御値mが、本数m´よりも少ないかを判定する。
制御部22は、ステップS130で、m<m´である(Yes)、つまり、設定されている制御値mが、本数m´よりも小さいと判定したら、ステップS134に進む。また、制御部22は、ステップS130で、m<m´ではない(No)、つまり、m≧m´、すなわち設定されている制御値mが、本数m´以上であると判定したら、ステップS132として、m=m´、θ=θ1とする。つまり、直近で算出した本数m´を新たな制御値mとし、その直近で算出した本数m´に対応するθ1を新たなθとする。制御部22は、その後ステップS134に進む。
制御部22は、ステップS130でYesと判定したら、またはステップS132の処理を終了したら、ステップS134として、θ1=θ1+1°とする。つまり、直近で設定したθ1に1°足した角度を新たなθ1とする。
制御部22は、ステップS134で、θ1を設定したら、ステップS136として、θ1=θ0であるかを判定する。つまり、初期値で0であったθ1がθ0となっているかを判定する。制御部22は、ステップS136でθ1=θ0ではない(No)、つまり、θ1がθ0よりも小さいと判定したら、ステップS108に進み、上記処理を繰り返す。制御部22は、上記処理を繰り返すことで、一本目の分割線の位置を0からθ0まで、1°ずつ移動させて、分割線の位置を判定することができる。なお、1本目の分割線を1区画分移動させることで、その他の分割線も対応する区画内を1区画分移動するため、分割線の位置を一周分検出したことになる。
制御部22は、ステップS136でθ1=θ0である(Yes)、つまり、一本目の分割線の位置を0からθ0まで移動させて、分割線の位置の判定を行ったと判定したら、または、ステップS128の処理を行ったら、ステップS138として、表示する分割線の一本目の位置をθとする。ここで、制御部22は、これにより、繰り返し計算中に、分割線が障害物に重ならない角度を検出したら、その角度をθとして設定しステップS141に進む。また、制御部22は、一区画分繰り返し計算を行っても分割線が障害物に重ならない角度を検出できなかった場合は、障害物と重なる分割線の本数が最も少なかった角度のθ1をθとして設定した状態で、ステップS141に進む。したがって、制御部22は、分割線の1本目の位置をθとし、1本目の分割線を基準として、その他の分割線の位置を決定する。
制御部22は、ステップS138で分割線の位置を決定したら、ステップS141として、照射面(投影面)までの距離を測定する。制御部22は、ステップS141で照射面までの距離を測定したら、ステップS142として投影する大きさを決定する。つまり、制御部22は、照射面までの距離と、円形スケールの大きさとに基づいて、円形スケールの大きさが照射面で設定された大きさとなるように、画像データを生成する。制御部22は、ステップS142で投影する大きさを決定したら、ステップS144として、作成した画像を照射面に投影し、処理を終了する。つまり、任意の数に分割された円形のスケールを設定された大きさで投影する。
制御部22は、以上のように分割線の位置を決定することで、図9に示すように、円形スケール72と、分割線78とで構成される画像70を、分割線78が、対象物の障害物74、障害物76とできる限り重ならない位置関係で、投影することができる。なお、図9に示す対象物の障害物74は、イチゴ等のフルーツであり、障害物76は、メッセージが記載された板チョコである。これにより、ユーザは、対象物に投影された分割線に基づいて対象物を分割することで、障害物をできるかぎり避けつつ、同じ面積で所望の数に分割することができる。
なお、上記実施形態では、ステップS130でm<m´としたが、m≦m´としてもよい。つまり、同じmが検出されたθ1が二つある場合、上記実施形態では、最後に検出されたθ1をθとしたが、最初に検出されたθ1をθとしてもよい。
また、上記実施形態では、各区画を同じ面積として分割したが、それぞれの区画を異なる面積とすることもできる。また、画像70の円形スケール72は、対象物の外形と一致していることが好ましいが、必ずしも一致していなくても良い。つまり、照射面に投影された円形スケール72と対象物とのいずれかが大きい状態でもよい。
なお、上記実施形態では、障害物の検出を制御部22により行ったが、本発明はこれに限定されず、ユーザが設定してもよい。つまり携帯電子機器10の制御部22は、ユーザによって入力された障害物の情報を検出し、検出した情報に基づいて、分割線を配置する位置を決定してもよい。また、制御部22により障害物の検出を行った後、ユーザが追加で障害物の位置情報を入力できるようにしてもよい。
また、上記実施形態では、分割線が障害物を通過するか否かで判定したが、条件は、種々の条件とすることができる。例えば、障害物の端は、許容する設定としてもよい。また、障害物の中央と、端とで優先度を設定し、分割線が障害物の中央はできる限り通過しないように、分割線の位置を算出するようにしてもよい。
以下、図10及び図11を用いて、携帯電子機器の他の制御について説明する。ここで、図10は、携帯電子機器の動作の他の例を示すフロー図であり、図11は、携帯電子機器が画像を投影した照射面を示す説明図である。なお、図10に示すフロー図は、画像の対象物(照射面に配置された物体)に対して、分割線に加え、一定間隔の特徴点(ローソクを配置する位置)を投影、表示させる動作の一例である。
まず、携帯電子機器10の制御部22は、ステップS150として、操作者により入力された円形の分割数を検出する。制御部22は、ステップS150で分割数を検出したら、ステップS152として、ローソクの本数を検出する。制御部22は、ステップS152でローソクの本数を検出したら、ステップS154として、投影する円形の画像を表示部32に表示させる。つまり、制御部22は、ステップS150で入力された分割数に基づいて、円を分割した画像を作成し、作成した画像を表示部32に表示させる。
制御部22は、ステップS154で投影する画像を表示部32に表示させたら、ステップS156として、障害物の位置を特定する。なお、障害物の特定方法は、上述したステップS104と同様であるので、説明を省略する。
制御部22は、ステップS156で障害物の位置を特定したら、ステップS158として、表示する等分線(分割線)の位置を決定する。なお、等分線の位置の決定方法も、上述した、図8のステップS106からステップS138の処理と同様であるので、説明を省略する。
制御部22は、ステップS158で等分線の位置を決定したら、ステップS160として、ローソクの位置を示す線(特徴点)の位置を決定する。なお、ローソクの位置は、対象物(ケーキ)の外周からの距離、配置間隔に基づいて決定する。なお、ローソクの配置位置も上述と同様の方法で障害物を避ける位置で算出する。
制御部22は、ステップS160でローソクの位置を決定したら、ステップS162として、照射面(投影面)までの距離を測定する。制御部22は、ステップS162で照射面までの距離を測定したら、ステップS164として投影する大きさを決定する。つまり、制御部22は、照射面までの距離と、円形スケールの大きさとに基づいて、円形スケールの大きさが照射面で設定された大きさとなるように、画像データを生成する。制御部22は、ステップS164で投影する大きさを決定したら、ステップS166として、作成した画像を照射面に投影する。制御部22は、ステップS166で画像を照射面に投影したら、ステップS168として、設定位置表示用の円の大きさを調整する。つまり、ローソクを配置する位置を結んだ円の大きさを調整する。なお、円の調整は、ユーザの操作に基づいて行っても、制御部22が、投影している画像をカメラ38で取得し、その取得結果に基づいて調整してもよい。制御部22は、ステップS168で円の大きさを調整したら、処理を終了する。
制御部22は、以上のように、ローソクの配置位置を示す線を表示させることで、図11に示すように、円形スケール82と、設定位置表示用の円84と、分割線86と、ローソクの配置位置を示す線(印)88とで構成される画像80を作成し、投影することができる。なお、図11に示す例では、分割線の位置とローソクの配置位置とを同一角度としたが配置角度(例えば、分割数とローソクの数)を異なる角度とすることもできる。また、ローソクは2周(二重の円状)で配置するようにしてもよい。
これにより、ユーザは、簡単な操作でローソクを、障害物を避けつつ、均等に配置することができる。また、上記実施形態では、ローソクの配置間隔も異なる間隔として設定してもよい。
以下、図12及び図13を用いて、携帯電子機器の他の制御について説明する。ここで、図12は、携帯電子機器の動作の他の例を示すフロー図であり、図13は、携帯電子機器が画像を投影した照射面を示す説明図である。なお、図12に示すフロー図は、画像の対象物(照射面に配置された物体)に対して、特定の形状を含む分割線を投影、表示させる動作の一例である。
まず、携帯電子機器10の制御部22は、ステップS200として、投影する円形の画像を表示部32に表示させる。つまり、制御部22は、対象物の外形と一致する形状を表示部32に表示させる。次に、制御部22は、ステップS202として、投影する画像を決定する。つまり、対象物から切り出す形状を決定する。なお、投影する画像は、ユーザの操作を検出することで決定すればよい。なお、画像としては、予め設定された図形や、ユーザが作成した画像、撮影画像等種々の画像を選択することができる。
制御部22は、ステップS202で投影する画像を決定したら、ステップS204として、画像を投影し、大きさ、向きを決定する。つまり、制御部22は、ステップS202で投影を決定した画像をプロジェクタ34により対象物に投影し、画像の大きさ、また対象物に対する向きを決定する。なお、大きさ、向きはユーザの操作を検出して決定する。
携帯電子機器10の制御部22は、ステップS204で大きさと向きを決定したら、ステップS206として、操作者により入力された円形の分割数を検出する。制御部22は、ステップS206で分割数を検出したら、ステップS208として、入力された分割数に基づいて、対象物に対応する円形を分割する。次に、制御部22は、ステップS210として、投影する画像の面積(総面積)を算出し、ステップS212として、全体から取り除く分の面積を引き、分割数で割る。つまり、制御部22は、ステップS202で投影を決定した画像以外の区画の1区画のあたりの面積を算出する。その後、制御部22は、ステップS214として、夫々の区画の切り抜き前後の面積の乖離を計算する。つまり、ステップS208で分割した状態の面積と、ステップS212で算出した面積との差を計算する。制御部22は、ステップS214で乖離を計算したら、ステップS216として、分割線の位置を調整する。つまり、ステップS214で算出した乖離を解消し、それぞれの区画の面積がステップS212で算出した区画の面積となるように、分割線の位置を調整する。制御部22は、分割線の位置を調整し、区画の面積を均一にしたら、分割線を決定する。
制御部22は、ステップS216で分割線の位置を調整したら、ステップS218として、照射面(投影面)までの距離を測定する。制御部22は、ステップS218で照射面までの距離を測定したら、ステップS220として投影する大きさを決定する。つまり、制御部22は、照射面までの距離と、円形スケールの大きさとに基づいて、円形スケールの大きさが照射面で設定された大きさとなるように、画像データを生成する。制御部22は、ステップS220で投影する大きさを決定したら、ステップS222として、作成した画像を照射面に投影する。つまり、制御部22は、投影面に、ステップS202で投影することを決定した画像と、位置を調整した分割線とで構成される画像を投影する。制御部22は、ステップS222で画像を投影したら、処理を終了する。
制御部22は、以上のように、特定画像(特定の形状)と分割線と含む画像を表示させることで、図13に示すように、円形スケール92と、特定画像94、分割線96a、96b、96c、96dとで構成される画像90を作成し、投影することができる。ここで、特定画像94は、星型の画像である。また、分割線96a、96b、96c、96dとは、異なる間隔となっているが、分割線と特定画像94の外形線とで分割された各区画は、同じ面積となっている。以上より、携帯電子機器10は、特定の形状の画像を投影する場合も、その他の部分は、一定の大きさに分割することができる。これにより、ユーザが所望の形状に対象物を切り出すことができ、さらに、その他の領域についても均一、または一定の大きさで分割することができる。
なお、特定画像と分割線の表示の決定順序は、上記実施形態に限定されない。例えば、特定画像の位置を決定した後、1本の分割線の位置を決定し、その1本の分割線の位置と、面積を基準として、他の分割線の位置を決定しても良い。また、携帯電子機器は、上記制御を組み合わせてもよい。つまり、障害物と重ならないように特定画像と分割線を表示させるようにしてもよい。
また、上記実施形態では、いずれも対象物を分割する画像の大きさ、投影する画像の沖さを、対象物の大きさに基づいて調整したが、これに限定されない。携帯電子機器1は、任意の大きさの画像を投影するようにしてもよい。この場合は、ユーザが投影後に大きさを調整できるようにすることが好ましい。
また、上記実施形態では、いずれも基本的に、対象物の所望の面(上面)の直上から画像を投影している場合として説明したが、本発明はこれに限定されない。また、携帯電子機器10は、対象物の所望の面と投影方向とが直交しない場合は、投影する画像、または投影領域を補正して画像を投影することが好ましい。以下、図14及び図15を用いて説明する。ここで、図14は、携帯電子機器と撮影対象との関係を示す説明図であり、図15は、携帯電子機器による投影画像の作成方法の一例を示す説明図である。
まず、対象物を特定する方法について説明する。携帯電子機器1は、カメラ38で検出した画像と、焦点距離の情報とに基づいて、対象物の所望の面の形状を特定することができる。具体的には、携帯電子機器10は、投影する対象物が直方体である場合、図14に示すように、カメラ38により撮影を行うことで撮影窓38aから画像を取得する。この時、カメラ38は、画角θaの画像を取得することができる。カメラ38で撮影した画像上において、対象物102は、携帯電子機器10側から離れている側の辺w1と携帯電子機器10側の辺w2とが異なる長さとなる。具体的には、辺w1よりも辺w2の方が長くなる。また、このカメラ38は、画像の取得時に焦点距離情報として、辺w1までの距離D1と、辺w2までの距離D2を算出することができる。制御部22は、このようにして算出した、各辺の長さ、当該辺までの距離に基づいて、表面の縦横比と、夫々の辺の長さを検出することができる。
次に、携帯電子機器10は、投影する対象物が円柱(平坦な円柱、厚みのある円板)である場合は、図15に示すように対象物110の所望の面(上面)112を特定し、面112の長軸Laと短軸Lbとを検出する。その後、制御部22は、面112の長軸Laを基準とした円114とすることで、面112を上面から見た形状を算出することができる。また、上記と同様に焦点距離を検出することで、対象物110との距離は算出することができる。なお、本例は、面112が円であることが予め設定され、既知である場合である。
次に、携帯電子機器10は、投影する画像を作成する。まず、携帯電子機器10は、図15に示すように、円114の情報に基づいて対象物の径を決定し、分割線118を含む画像116を作成する。携帯電子機器10は、画像116を作成したら、面112の画像を円114に変換した場合とは、逆の方法で、円の画像116を楕円の画像120に変換する。なお、分割線118も分割線122に変換する。なお、画像120は、長軸をLa、短軸をLbとした楕円である。
携帯電子機器10は、このように、円の画像116を予め楕円の画像120に変形して投影することで、対象物の所望の面と投影方向とが直交しない場合でも、所望の面に所望の形状の画像を投影することができる。
つまり、携帯電子機器10は、画像を取得する場合も対象物の形状を、台形補正技術を用いて取得することで、正確な形状及び正確な面積で取得することができる。また、携帯電子機器10は、画像を投影する場合も、照射面と、照射方向とのなす角とに基づいて台形補正処理を行うことで、対象物に所望の画像を投影することができる。なお、画像を投影する場合の台形補正処理の方法としては、上述したように、投影する画像に台形補正処理を行うことで、対象物の歪んでいない画像を投影しても、画像データは、そのまま例えば円のままで、画像を投影する領域、投影方法を調整することで、対象物の歪んでいない画像(例えば円の画像)を投影してもよい。
以下、図16−1及び図16−2を用いて、画像を投影する領域、投影方法を調整することで、対象物の歪んでいない画像(例えば円の画像)を投影する場合を説明する。ここで、図16−1及び図16−2は、それぞれ携帯電子機器により画像を投影した状態を示す模式図である。携帯電子機器10と、照射面と、照射方向とのなす角が90°ではない場合、プロジェクタ34から、携帯電子機器10の載置面に向かって光を照射しただけでは、図16−1に示すように投影された画像Pf0は、携帯電子機器10の光照射部34aに近い方の辺が短い台形形状になってしまう。
このため、携帯電子機器10は、プロジェクタ34の照射部を構成するミラーの揺動角を、プロジェクタ34の光照射部34aから投影面までの距離に応じて調整する。これによって、台形形状が補正されて、プロジェクタ34からは図16−2に示すように、矩形の画像Pfが投影される。なお、揺動角は、プロジェクタ34の光照射口から投影面までの距離が大きくなるにしたがって小さくなるように制御する。
この場合、携帯電子機器10は、図16−2に示すように、プロジェクタ制御部22aは、光照射部34aから照射される光によって形成される画像Pfを構成する複数の画素dfのうち、第1の方向における隣接する画素同士の間隔pyはそれぞれ等しく、また、第1の方向と直交する第2の方向における隣接する画素同士の間隔ptはそれぞれ等しくなるようにプロジェクタ34による描画を制御する。これにより、投影する画像の歪みや画素の不整合を抑制できるので、画像品質の低下を抑制することができる。
第1の方向は、例えば、横方向であり、プロジェクタ34の走査方向である。また、第2の方向は、例えば、縦方向であり、プロジェクタ34の走査方向と直交する方向(副走査方向)である。なお、縦方向(縦)は、後述する仮想光軸を画像Pf上に投影した軸と平行な方向であり、横方向(横)は、縦方向と直交する方向である。ここで、さらに、プロジェクタ制御部22aは、第1の方向における隣接画素の間隔pyと第2の方向における隣接画素の間隔ptとが等しくなるように制御してもよい。
なおこのように描画によって照射面に投影される画像の形状を補正する場合、携帯電子機器10は、レーザ光を用いたプロジェクタを用いることが好ましい。レーザ光を用いたプロジェクタであれば、焦点を合わせる必要がないため、より適切な画像を投影することができる。特に、スキャン方式のプロジェクタは、投影されて画像の画素を構成する光が点光源であるため、その投影位置を変更することで画像の形状補正を容易に実現できる。なお、プロジェクタは、レーザを光源としたスキャン方式以外でも、台形補正した画像を投影することはできる。また、携帯電子機器10は、位置に応じて画素の大きさを調整することが好ましい。具体的には、遠い位置ほど1つの画素を小さくして照射し、近い位置ほど1つの画素を大きくすることが好ましい。
なお、上記実施形態では、測距センサ40により照射面との距離を検出したが、照射面との距離を検出するセンサとしては、種々のセンサを使用することができる。例えば、照射面を撮影するカメラ38のオートフォーカス機能を使用するようにしてもよい。具体的には、オートフォーカス機能により焦点(ピント)が合う条件を検出し、その焦点が合う条件、例えばレンズの位置等から照射面との距離を算出する。なお、照射面との距離と焦点が合う条件との関係は、予め算出しておき、記憶部24に保存しておけばよい。なお、焦点が合っているか否かを判定する方法としては、例えば、各焦点位置で画像を取得し、取得した画像に画像解析を行い、最もエッジが明確、シェーディングが明確な画像が取得された条件を焦点があっている条件とするとよい。また、加速度センサ36を用いて、照射面との距離を検出してもよい。この場合は、例えば、携帯電子機器10(筐体11)の上面、つまりプロジェクタ34の光射出部34aが設けられている面を照射面と接触させ、基準位置に設定し、その後、携帯電子機器10を照射面から離すように移動される際に、携帯電子機器10に作用する加速度を検出し、その加速度から移動距離を算出することで、照射面との距離を検出することができる。
また、各種センサは、照射面の中心との距離のみを計測し、その計測結果に基づいて照射面との距離を検出してもよいが、照射面の複数点との距離を計測し、その複数点の計測結果に基づいて、照射面との距離を検出してもよい。
また、上記実施形態では、測距センサを送信部と受信部とで構成し、送信部から送信(発信)された計測波を受信部で受信するようにしたが、送信部をプロジェクタ34としてもよい。つまり、プロジェクタ34から照射される光を計測波として、対象物体で反射した光を受信部で受信するようにしてもよい。また、測距センサとしては、対象物体との距離を計測することができればよく、例えば磁気や、音波(ソナー)、電界により対象物体との距離を計測する計測器を用いることもできる。
また、上記実施形態では、センサによる検出結果に基づいて、プロジェクタの光射出面と照射面との距離を算出したが、携帯電子機器側の基準とする位置はセンサに限定されず、各センサとプロジェクタ34との相対位置や、各センサと筐体の上面との相対位置とを予め算出しておき、各センサと照射面までの距離、筐体の上面と照射面との距離を算出し、算出した距離に基づいて制御を行うようにしてもよい。
ここで、上記実施形態では、画像の被写体のサイズ情報は、画像のデータに付加されているものとしたが、ユーザが手動で入力するようにしてもよい。また、投影する画像は、記憶部に記憶された画像や、インターネットで取得した画像に加え、カメラ38で撮影した画像を使用してもよい。
また、カメラ38で画像を撮影する場合は、画像の撮影時に被写体のサイズを検出するようにしてもよい。この場合は、まず、カメラ38での撮影時に被写体との距離を算出する。ここで、被写体との距離の算出は、測距センサ40を用いて算出しても、上述したオートフォーカス機能を利用して算出してもよい。その後、撮影した画像を画像解析することで、撮影画像から被写体を抽出し、撮影画像における被写体の割合や被写体の長さを算出し、撮影時の被写体との距離と、画像内における被写体の割合や被写体の長さとに基づいて、被写体の長さ(実サイズ)を算出し、算出した被写体の長さの情報を画像に付加するようにしてもよい。なお、被写体の抽出は、操作者の操作により特定し、抽出するようにしてもよい。
また、撮影時に被写体のサイズを検出する方法を利用して任意の物体のサイズを算出し、任意の物体と同じ大きさで画像を投影させてもよい。具体的には、操作者が具体的な数値を入力できない場合に、任意の物体、例えば指等で所望の投影サイズを示し、その任意の物体をカメラ38で撮影して、任意の物体で示されるサイズ(実寸)を算出し、そのサイズで被写体を投影するようにしてもよい。これにより、操作者の所望のサイズの数値が不明な場合も、操作者の所望のサイズで被写体を投影することができる。