以下、添付図面を参照しながら、本発明に係る画像投影システム、投影表示装置およびプログラムの実施形態を詳細に説明する。
図1は、本実施形態の画像投影システム100の概略構成例を示すブロック図である。図1に示すように、本実施形態の画像投影システム100は、PC(Personal Computer)103と、プロジェクタ装置128と、ポインティングデバイス102とを含む。PC103は、各種の情報処理を行う情報処理装置であり、この例では、請求項の「情報処理手段」に対応する。プロジェクタ装置128は、PC103から入力される画像データを示す入力画像データをスクリーン101に投影する装置であり、この例では、請求項の「投影手段(投影表示装置)」に対応する。ポインティングデバイス102は、スクリーン101に投影された入力画像データを示す投影画像を指し示すための装置であり、この例では、請求項の「指示手段」に対応する。
PC103は、画像データが添付できる複数頁で構成されたファイルを格納することができ、必要に応じて、データI/F部105より外部の表示装置、或いはプロジェクタ装置128にファイルの画像データを映像として出力することができる。図1に示すように、PC103は、ファイル蓄積部104と、PC制御部106と、データI/F部105とを含む。ファイル蓄積部104は、PC103に搭載、或いは外部接続しているプロジェクタ装置128などに投影するファイルを蓄積することができる記憶装置である。このファイル蓄積部104は、本PC103内のPC制御部106の指示によって、出力すべきファイル、出力すべきページを選択し、データI/F部105を介して表示系装置に出力することができる。ここでは、データI/F部105を介してプロジェクタ装置128に入力される画像データ(投影対象の画像データ)を、入力画像データと呼ぶ。
また、ファイル蓄積部104は、入力画像データの画像データファイルを格納すると共に、入力画像データごとに、当該入力画像データ内に埋め込まれている制御アイコンの属性情報(例えば入力画像データ内のアイコン画像の位置、アイコン画像のサイズ、アイコン画像に割り当てられた機能等の情報)を関連付けて格納することができる。図2は、ある入力画像データと、その入力画像データに関連付けられる1以上(図2の例では2つ)の属性情報の例を示す図である。図2の例では、ファイル蓄積部104は、入力画像データに含まれるアイコン画像ごとに、アイコン画像を識別する識別情報と、アイコン画像の位置を示す第2位置情報と、アイコン画像のサイズを示すサイズ情報と、アイコン画像に割り当てられた機能を示す機能情報とが対応付けられた属性情報を記憶する。見方を変えれば、ファイル蓄積部104は、入力画像データに含まれるアイコン画像を識別する識別情報と、アイコン画像の位置を示す第2位置情報と、アイコン画像に割り当てられた機能を示す機能情報とが対応付けられた属性情報を少なくとも1つ記憶していると捉えることができる。この例では、ファイル蓄積部104は、請求項の「第3記憶部」に対応する。
図2の例では、ある入力画像データ上に、アイコン画像1、アイコン画像2が表示される形態が示されている。この2つのアイコン画像ごとに、例えば図2の下に示される属性情報がそれぞれ付加されている。図2に示すように、アイコン画像1の属性情報として、アイコン画像1を識別する識別情報「1」、アイコン画像1の位置(アドレス)がY方向(垂直方向)の700画素目、X方向(水平方向)の10画素目であることを示す第2位置情報、アイコン画像1のサイズが50×100画素であることを示すサイズ情報、アイコン画像1の機能がアイコン機能ID「01」で識別される機能内容「前ページを表示」であることを示す機能情報が設定されている。同様に、アイコン画像2の属性情報として、アイコン画像2を識別する識別情報「2」、アイコン画像2の位置(アドレス)がY方向(垂直方向)の700画素目、X方向(水平方向)の900画素目であることを示す第2位置情報、アイコン画像2のサイズが50×100画素であることを示すサイズ情報、アイコン画像2の機能がアイコン機能ID「02」で識別される機能内容「後ページを表示」であることを示す機能情報が設定されている。アイコン画像に割り当てられる機能としては、以上のような改ページだけでなく、例えばユーザのポインティングデバイス102の指示でマスクしていた画像の一部を現在のページに表示する、或いは注目画像の色を変更する等、色々な機能を採用することが可能である。
図2に例示された、各アイコン画像の属性情報から、入力画像データのどの位置にどのような大きさのどのような機能を持ったアイコン画像が表示されるのか知ることができる。本実施形態では、ユーザがスクリーン101上のアイコン画像をポインティングデバイス102で指し示してポインティングデバイス102に設けられたボタン(後述)を押下することにより、ポインティングデバイス102が指し示している位置(アドレス)が検知され、その位置を示す第1位置情報がPC制御部106に通知される。PC制御部106は、通知された第1位置情報と、ファイル蓄積部104に記憶された属性情報とに基づいて、第1位置情報が示す位置に配置されるアイコン画像が存在するか否かを判断する。そして、PC制御部106は、第1位置情報が示す位置に配置されるアイコン画像が存在すると判断した場合、当該アイコン画像に対応する機能情報が示す機能を実行する制御を行う。つまり、本実施形態では、PC制御部106は、通知された第1位置情報と、ファイル蓄積部104に記憶された属性情報とに基づいて、第1位置情報が示す位置に配置されるアイコン画像が存在するか否かを判断する判断部と、判断部によって、第1位置情報が示す位置に配置されるアイコン画像が存在すると判断された場合、当該アイコン画像に対応する機能情報が示す機能を実行する制御を行う実行制御部と、を備えていると捉えることもできる。以上のPC103の具体的な動作内容については後述する。
なお、本実施形態のPC103には、CPUなどの処理装置と、RAM、ROMなどの記憶装置とを含む通常のコンピュータ装置が搭載されており、PC103の各部(PC制御部106等)の機能は、CPUがROM等に格納されたプログラムをRAM上に展開して実行することにより実現されるが、これに限られるものではない。例えばPC103の各部(例えばPC制御部106など)の機能のうちの少なくとも一部が専用のハードウェア回路によって実現される形態であってもよい。
なお、上述のPC103で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、上述のPC103で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述のPC103で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
図1に戻って説明を続ける。プロジェクタ装置128は、データI/F部108と、画像検知部109と、第1画像変換部110と、第1メモリ制御部111と、同期信号生成部112と、フレームメモリ113と、第2画像変換部114と、光学I/F部115と、光学メカ116と、輝度変更部130と、受信部127と、アドレス取得部124と、通知部125とを含む。
データI/F部108は、PC103のデータI/F部105からの入力画像データを受信する。データI/F部108は、さらにデータI/F部105を介して、各種の制御データをPC103に送信することも可能である。
画像検知部109は、外部の映像出力装置(この場合はPC103)から受信した映像信号がどのような画像仕様(画像周波数、解像度、有効画像位置等)なのかを信号検知する手段である。第1画像変換部110は、画像検知部109の検知結果に基づいて、入力画像をAD変換によりアナログビデオ信号からデジタル信号に変換し、装置内部で扱いやすい画像信号に変換する。フレームメモリ113は、入力されデジタル化されたデジタル画像データ(入力画像データ)を最低1フレーム分格納することができるメモリである。入力画像データをフレームメモリ113に一次的に格納し、この入力画像データをフレームリフレッシュタイミングで読み出すことによって投影用の画像データを生成することができる。
第1メモリ制御部111は、フレームメモリ113に対して、デジタル画像のリード/ライト制御を行うための手段である。入力画像データは第1メモリ制御部111を介してフレームメモリ113にライトされ、ライトされた入力画像データは第1メモリ制御部111によってリードされて後段処理に送られ投影用の画像データとなる。又、画像データの切り替わりには、前の入力画像データをリードしながら、新しい入力画像データをライトするようなリードライト処理も可能である。
同期信号生成部112は、第1メモリ制御部111がフレームメモリ113をアクセスする場合に必要とする同期信号を生成する手段である。この同期信号を後段の光学メカ116のタイミングに合わせることで正常な投影用の画像データを出力することができる。
第2画像変換部114は、フレームメモリ113から読み出した画像データを外部に投影するための光学メカ(スクリーン101に対する画像データの投影を行う投影部)116の仕様に合わせてデータ変換(解像度変換、位置調整等)を行う手段である。光学I/F部115は、これまで生成された2次元画像信号を光学メカ116の入力仕様に従って光学メカ116へ受け渡しを行う処理を行う。光学メカ116が異なるプロジェクタ装置の種類としては、例えば、CRTに表示された画像を、光学系を使って拡大して投影するCRTプロジェクタ装置、液晶パネルに光を透過させて投射する液晶プロジェクタ装置、DMD(デジタル・マイクロミラー・デバイス)を用いたDLPプロジェクタ装置、反射型液晶素子を使用したLCOSプロジェクタ装置などが挙げられる。
輝度変更部130は、入力画像データに含まれる、それぞれが少なくとも1つの画素を含む複数の単位領域の各々の輝度を順番に変更する。より具体的には、輝度変更部130は、ラスター走査方向に沿った順番で、各単位領域の輝度を変更する。ここでは、フレームメモリ113に格納された入力画像データを構成する複数の画素のそれぞれが、ひとつの単位領域に相当するが、これに限られるものではない。本実施形態では、輝度変更部130は、フレームメモリ113に格納された入力画像データに含まれる複数の画素の各々の画像データを、ラスター走査方向に沿った順番で読み出し、読み出した画素の画像データ(以下の説明では、「画素データ」と呼ぶ場合がある)の輝度を変更する。以下、詳細な内容について説明する。本実施形態の輝度変更部130は、第2メモリ制御部117と、レジスタ118と、生成部119と、YPbPr変換部120と、輝度補正部121と、輝度合成部122と、RGB変換部123とを含む。
生成部119は、フレームメモリ113に格納された入力画像データを構成する複数の画素のうち、輝度変更の対象となる画素の位置を示すアドレス情報を生成する。後述するように、生成部119は、受信部127からのトリガ信号を契機として、アドレス情報の生成を開始し、フレームメモリ113に格納された入力画像データを構成する複数の画素の各々について、ラスター走査方向に沿った順番で、当該画素の位置を示すアドレス情報を生成していく。なお、この例では、アドレス情報は、X方向(水平方向)のアドレスと、Y方向(垂直方向)のアドレスとを含んで構成される。
第2メモリ制御部117は、フレームメモリ113に格納された入力画像データのうち、生成部119により生成されたアドレス情報が示す位置の画素データを読み出す。この時、同じフレームメモリ113をアクセスする第1メモリ制御部111とはアクセスがぶつからないように調停制御する必要があるが、フレームメモリ113にデュアルポートメモリを使用するか、或いは調停回路を付加し外部からはデュアルポートメモリ同等のアクセスが可能とできるような構成にしておくこともできる。この例では、第2メモリ制御部117は、請求項の「読み出し制御部」に対応する。
第2メモリ制御部117によって読み出された画素の画像データは、当該画素の元の画像データとして一次記憶手段のレジスタ118に格納される。この例では、レジスタ118は、請求項の「第2記憶部」に対応する。また、その読み出された画素の画像データは、輝度成分の補正(変更)が行われる。ここでは、一例として、フレームメモリ113に格納されている入力画像データが、RGBの各色版の画像データで構成されるRGBデータである場合を想定するが、これに限られるものではない。第2メモリ制御部117は、生成部119により生成されたアドレス情報(例えばアドレス(Y、X)=(a、b))が示す位置の画素のRGBデータを読み出し、読み出したRGBデータを、YPbPr変換部120へ供給する。
YPbPr変換部120は、第2メモリ制御部117から供給されたRGBデータを、YPbPrの色空間で表されるYPbPrデータに変換する。このとき、YPbPrデータのY成分が輝度値を表している。このときのRGB→YPbPrの変換の演算式は、以下の式1で表すことができる。
YPbPr変換部120は、式1で表される演算を行って、RGBデータからYPbPrデータを生成する。次に、YPbPr変換部120は、YPbPrデータの輝度値であるY成分だけを輝度補正部121へ供給する。また、YPbPr変換部120は、生成したYPbPrデータのうちY以外の成分PbPrを、輝度合成部122へ供給する。輝度補正部121は、YPbPr変換部120から供給されるY成分の補正(輝度補正)を行う。補正方法としては、例えば図3に示すようなガンマ変換処理が考えられる。図3の例では、入力画素データの輝度(Y)が150であった場合、その80%を変換後の輝度値とするような変換を行い、出力輝度「120」が変換後の輝度として出力される。図3の変換ガンマ701は、「出力輝度(Y’)=入力輝度(Y)×100%」、変換ガンマ702は、「出力輝度(Y’)=入力輝度(Y)×80%」となる変換を意味している。但し、元々輝度値が低い画像データは輝度補正により80%輝度に変換しても差異が少ないため、ポインティングデバイス102で指示できるアイコン画像は低輝度の色を使用しないようにしておくとよい。輝度補正部121は輝度補正後の輝度成分Y’を、輝度合成部122へ供給する。
輝度合成部122は、YPbPr変換部120から供給された、元のYPbPrデータのうちのY以外の成分PbPrと、輝度補正部121から供給された輝度補正後の輝度成分Y’とを合成してY’PbPrデータを生成する。輝度合成部122は、生成したY’PbPrデータをRGB変換部123へ供給する。RGB変換部123は、輝度合成部122から供給されたY’PbPrデータを、RGBデータに変換する。このときのYPbPr→RGBの変換の演算式は、以下の式2で表すことができる。
RGB変換部123は、式2で表される演算を行って、YPbPrデータからRGBデータを生成する。RGB変換部123は、生成したRGBデータを第2メモリ制御部117へ供給する。第2メモリ制御部117は、フレームメモリ113に格納された入力画像データのうち、生成部119により生成されたアドレス情報が示す位置の画素に対して、RGB変換部123から供給されるRGBデータを書き戻す制御を行う(ライトバック制御を行う)。これにより、フレームメモリ113に格納された入力画像データのうち、生成部119により生成されたアドレス情報(例えばアドレス(Y、X)=(a、b))が示す位置の画素の画像データの輝度が変更される(この例では80%に低減される)。また、第2メモリ制御部117は、上述の輝度変更の直前に輝度変更が行われた画素(ラスター走査の順番が1つ前の画素)の元の画像データをレジスタ118から読み出し、フレームメモリ113に格納された入力画像データのうち、生成部119により生成されたアドレス情報が示す位置の画素(今回の輝度変更の対象となる画素)よりもラスター走査順が1つだけ前の画素(例えばアドレス(Y、X)=(a、b−1)に対応する位置の画素)に対して、読み出した元の画像データを書き戻す制御を行う(ライトバック制御を行う)。
本実施形態では、フレームメモリ113に格納された入力画像データの左上から右下へ向かって(ラスター走査方向に従って)、順次同様の処理を施していくことにより、スクリーン101上に投影された入力画像データを示す投影画像において、輝度が80%低減された画素がラスター走査方向へ順次に移動していくように見えることになる。この様子を図4に例示する。図4の801は、輝度が変更(補正)された画素(特殊光)が、一番上のラスター走査線から順番に、各ラスター走査線上を左上から右下へ向かって走り、左上から右下に向かって順次移動していく様子を示している。生成部119は、画像検知部109の検知情報からフレームサイズを検知し、フレームサイズ分のアドレスを、図4の801に示す順序(ラスター走査の順番)で生成していく。
この例では、上述のYPbPr変換部120、輝度補正部121、輝度合成部122、RGB変換部123は、請求項の「変更部」に対応し、上述の第2メモリ制御部117は、請求項の「書き戻し制御部」に対応すると捉えることもできる。
再び図1に戻って説明を続ける。受信部127は、ポインティングデバイス102から送信された情報を受信し、その情報により、生成部119にアドレス生成開始のトリガ信号を与えたり、ポインティングデバイス102が指し示したアドレスを検知するタイミングを与えたりしている。この例では、受信部127は、赤外線通信を用いてポインティングデバイス102と通信するが、これに限られるものではない。生成部119は、受信部127からのトリガ信号でアドレス情報の生成を開始する。前記のようにアドレス情報は、図4の801で示すように、ラスター走査線上の左上から右下に向かって順次走査方向に生成される。
また、後述するように、受信部127は、ポインティングデバイス102から、投影画像の少なくとも1画素分の輝度の変化量が閾値よりも大きいことを示す通知信号を受信する。受信部127は、ポインティングデバイス102から通知信号を受信した場合、ポインティングデバイス102が指し示しているアドレスを検知するタイミングを与えるための検知信号をアクティブレベル(例えばハイレベル)に設定してアドレス取得部124に供給する。
図1のアドレス取得部124は、受信部127で通知信号を受信したときに輝度変更の対象となっている単位領域(この例では画素単位)の位置を、ポインティングデバイス102によって指し示されている位置として特定する。この例では、アドレス取得部124は、請求項の「特定部」に対応する。より具体的には、アドレス取得部124は、生成部119により生成されるアドレス情報を順次参照しており、受信部127からの検知信号がアクティブとなるタイミングに合わせて、現在参照しているアドレス情報をラッチする。つまり、スクリーン101上の特殊光が照射されている位置を示すアドレス情報をラッチする。このラッチされたアドレス情報が、ポインティングデバイス102によって指し示されている位置を示す第1位置情報となる。
図1の通知部125は、アドレス取得部124によってラッチされたアドレス情報(第1位置情報)を、PC103(PC制御部106)へ通知する。PC制御部106は、プロジェクタ装置128から通知されたアドレス情報(第1位置情報)から、現在の投影対象である(スクリーン101上に投影表示されている)入力画像データのどの位置がポインティングデバイス102によって指し示されているかを認識し、ファイル蓄積部104に記憶された属性情報を参照して、その入力画像データに含まれるアイコン画像のうち、ポインティングデバイス102によって指し示されている位置に配置されたアイコン画像が存在するか否かを判断する。そして、PC制御部106は、ポインティングデバイス102によって指し示されている位置に配置されたアイコン画像が存在すると判断した場合、当該アイコン画像に対応する機能情報が示す機能を実行する制御を行う。例えば改ページを行うとか、サブコンテンツを表示するとかといった処理を行う。
なお、本実施形態のプロジェクタ装置128には、CPUなどの処理装置と、RAM、ROMなどの記憶装置とを含む通常のコンピュータ装置が搭載されており、上述したプロジェクタ装置128の各部(画像検知部109、第1画像変換部110、第1メモリ制御部111、同期信号生成部112、第2画像変換部114、アドレス取得部124、通知部125、受信部127、輝度変更部130等)の機能は、CPUがROM等に格納されたプログラムをRAM上に展開して実行することにより実現されるが、これに限られるものではない。例えば上述したプロジェクタ装置128の各部の機能のうちの少なくとも一部が専用のハードウェア回路によって実現される形態であってもよい。
なお、上述のプロジェクタ装置128で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、上述のプロジェクタ装置128で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述のプロジェクタ装置128で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
次に、ポインティングデバイス102の具体的な構成について説明する。図5は、本実施形態のポインティングデバイス102全体の外観を示す図である。図5に示すように、ポインティングデバイス102は、本体部201と、ユーザが把持するためのグリップ部202と、本体部201の先端に設けられた光電変換部203と、ユーザが押下することが可能なボタン204と、プロジェクタ装置128との間で通信を行うことが可能な送信部205とを備える。
本体部201は、スクリーン101上に投影された入力画像データを示す投影画像を指し示すために、ある程度の長さを持った棒状の部材である。光電変換部203は、投影画像の少なくとも1画素分の輝度値を読み取ることができるCCD等の光電変換素子を備える。
ユーザは、ボタン204を押下することにより、投影画像をポインティングデバイス102で指し示したことを、プロジェクタ装置128に通知することができる。送信部205は、光電変換部203により読み取られた投影画像の輝度値を用いた演算処理結果に基づいて決定された予め定められた情報をプロジェクタ装置128へ送信することが可能である。具体的な内容については後述する。
次に、ポインティングデバイスの内部構成例について図6を用いて説明する。図6は、ポインティングデバイス102の内部構成例を示すブロック図である。ポインティングデバイス102で投影画像を指し示したときに、プロジェクタ装置128から出射された投影光(図6の301)がポインティングデバイス102の先端の光電変換部(図5の203)に入光する。図5の光電変換部203は、具体的には、図6の集光レンズ302、ミラー303、分光プリズム304の機械的構成と、CCD305、AGC306、ADC307までを指す。図6に示すように、ポインティングデバイス102は、図5の光電変換部203に対応する要素に加えて、RGB→YPbPr変換部308と、移動平均部309と、判断部310と、送信部311と、ボタン制御部312とを備える。
集光レンズ302は、内部のCCD(後述)に光を集光するためのレンズである。この集光レンズ302は、ポインティングデバイス102の外部と内部を遮断し防塵の役目も行っている。集光レンズ302を透過して入ってきた光は、ミラー303によって後段の処理モジュールへと導かれる。このミラー303は、ユーザがポインティングデバイス102を使用して投影画像を指し示す場合、ポインティングデバイス102自体がプロジェクタ装置128からの投影光に対してほぼ直角に位置することになるので、入ってくる投影光を直角に反射させ、ポインティングデバイス102本体側に光を誘導するためのものである。
分光プリズム304は、外から入ってくる投影光をRGBの3原色に分離するためのガラス、水晶等でできた多面体である。CCD(Charge Coupled Device)305は、イメージセンサである。分光プリズム304でRGBに分離された光は、それぞれR(レッド)用CCD、G(グリーン)用CCD、B(ブルー)用CCDに導かれ、これらのCCDにより、投影光に含まれるR成分、G成分、B成分の各々の光の強さが光電変換によって電気信号に変換される。AGC(Automatic Gain Control)306は、入力信号が弱い場合には感度を上げ、逆に入力信号が強い場合には感度を下げて出力することによって出力が常に一定であるように入力信号を可変制御することができる補正回路である。このAGC307により弱い光も強い光もある一定の範囲内の光の強さに収められるので、後段の処理はこの一定の範囲内に適応した回路で実現できる。
ADC(Analog Digital Converter)307は、アナログ信号をデジタル信号に変換する回路である。ここまでの流れで、ポインティングデバイス102の先端に入光した投影光は、CCD305、AGC306、ADC307を介して、R、G、Bのデジタル信号に変換されることになる。デジタル画像はポインティングデバイス102内部のクロック発振器によって生成されるクロック単位にラッチされる。
RGB→YPbPr変換部308は、デジタルのRGB信号の色空間を、輝度信号Yと、2つの色差信号(Pb、Pr)を使って表現されるYPbPr信号に変換する手段である。このときのRGB→YPbPrの変換の演算式は、上記式1で表すことができる。
移動平均部309は、RGB→YPbPr変換部308から出力されたY信号(輝度信号)を時系列に移動平均する手段である。ポインティングデバイス102によって指し示された投影画像は、基本的に静止画であれば同じ入力画像データが投影されるが、ランプの揺らぎ等のメカ的な要因から少しばらついていることがある。移動平均部309は、自然にばらついた場合と意図的にばらつかせた場合の差分を明確にするためになるべく自然なばらつきが発生しないように補正する必要がある。補正方法としては図には示さないが具体的にはRGB→YPbPr変換部308から出力されたY信号(輝度信号)を内部クロックで例えば3クロック分ラッチし、その3クロック分のY信号(輝度信号)の平均を取り、それを現在の値とする。さらに、次のクロックでこのクロックを含む過去3クロックの平均を取り、現在の値にするといった処理を、連続して繰り返し実施し、自然的に発生する輝度値の揺らぎを補正する。移動平均部309は、以上のようにして平均化したY信号を、判断部310に供給する。
ここでは、移動平均部309から出力されたY信号は、投影画像を指し示すためのポインティングデバイス102の先端に入光した投影光の輝度を示すものであり、投影画像の少なくとも1画素分の輝度を示すものであると捉えることもできる。本実施形態では、図5の光電変換部203に対応する要素(集光レンズ302、ミラー303、分光プリズム304、CCD305、AGC306,ADC307)と、RGB→YPbPr変換部308と、移動平均部309とが、投影画像の少なくとも1画素分の輝度を検出可能な輝度検出部として機能する。
判断部310は、上述の輝度検出部で検出された輝度の変化量が閾値よりも大きいか否かを判断する。本実施形態では、判断部310は、移動平均部309で平均化されたY信号(輝度信号)を内部で生成したクロックで順次ラッチし、現在ラッチしたY信号(Yn)と現在から1クロック前にラッチしたY信号(Yn−1)とを比較して差分を求め、求めた差分が閾値よりも大きいかどうかを判断することで、Y信号の変化量が閾値よりも大きいか否かを判断する。より具体的には、判断部310は、|(Yn)−(Yn−1)|の値が、予め定められた基準差分値より大きければ、Y信号の変化量が閾値よりも大きいと判断し、小さければY信号の変化量が閾値よりも小さいと判断する。その後、1クロック毎にY信号の変化量が閾値よりも大きいか否かの判断結果を、次段の送信部311に順次通知する。この時のクロックは移動平均部309で生成したクロックと同じでよい。
送信部311は、プロジェクタ装置128の受信部127との間で情報の送受信を行う手段であり、図5の送信部205に対応する。本実施形態では、送信部311は、判断部310にて輝度の変化量が閾値よりも大きいと判断された場合(つまり、前述の特殊光が検知された場合と捉えることもできる)は、その旨を示す通知信号をプロジェクタ装置128へ送信する機能を有する。なお、この例では、送信部311は、赤外線通信を用いてプロジェクタ装置128と通信するが、これに限られるものではない。ここでは、基本的にポインティングデバイス102が送信側、プロジェクタ装置128側が受信側で、高速化するために極力不要な信号のやり取りは行わずにポインティングデバイス102側からの垂れ流し送信で実施することが可能である。ポインティングデバイス102側からの送信データとしては、(1)ユーザがポインティングデバイス102でスクリーン101上に投影されたアイコン画像を指し示し、ユーザがプロジェクタ装置128に対して、指し示したアイコン画像に対応するアクションを求める時(PCでいうとマウスでアイコンをクリックするのと同じ操作)に送信するデータ、(2)プロジェクタ装置128から以上に説明した特殊光をポインティングデバイス102が受け、ポインティングデバイス102内の判断部310にて輝度の変化量が閾値よりも大きいと判断された時に送信するデータの2つの場合がある。
2つの場合のうちの(1)の場合は、例えばユーザがスクリーン101上の「次ページを表示」という機能が割り当てられたアイコン画像(この例では、図4の803)をポインティングデバイス102で指し示し、次ページに改ページしたい時にポインティングデバイス102のボタン制御部312によって制御されるボタン204を押下することにより、本実施形態の画像投影システム100が改ページを実行するためのトリガとなる情報を、送信部311を介してプロジェクタ装置128に送信する場合である。(2)の場合は、以上に説明した特殊光がポインティングデバイス102の光電変換部203に入光した時にその入光情報(輝度の変化量が閾値よりも大きいことを示す通知信号)をプロジェクタ装置128に送信する場合である。
ボタン制御部312は、ユーザがボタン204を押下した時に、その押下情報を送信部311に通知する手段である。
なお、本実施形態のポインティングデバイス102には、CPUなどの処理装置と、RAM、ROMなどの記憶装置とを含む通常のコンピュータ装置が搭載されており、上述したポインティングデバイス102の各部(RGB→YPbPr変換部308、移動平均部309、判断部310、送信部311、ボタン制御部312等)の機能は、CPUがROM等に格納されたプログラムをRAM上に展開して実行することにより実現されるが、これに限られるものではない。例えば上述したポインティングデバイス102の各部の機能のうちの少なくとも一部が専用のハードウェア回路によって実現される形態であってもよい。
なお、上述のポインティングデバイス102で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、上述のポインティングデバイス102で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述のポインティングデバイス102で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
ここまでは、プロジェクタ装置128とポインティングデバイス102のそれぞれの構成を説明したが、次に両者を関連付けて全体の動作の説明を行う。まず、ユーザが、スクリーン101上に投影されたアイコン画像(ここでは「次ページを表示」という機能が割り当てられたアイコン画像(図4の803)であるとする)を、ポインティングデバイス102で指し示し、ポインティングデバイス102上のボタン204を押下すると、ポインティングデバイス102の送信部(図5の205、図6の311)から「ボタン押下」を示す押下情報がプロジェクタ装置128の受信部127に送信される。この押下情報をプロジェクタ装置128側の受信部127が受信すると、生成部119は、図4の802で示すようなラスター走査方向に順次インクリメントするようなX、Yアドレス(アドレス情報)を生成する(Xは水平方向のアドレス、Yは垂直方向のアドレス)。このように生成されるアドレス毎に同期して、フレームメモリ113に格納された入力画像データの各画素の画像データを、図1の120〜123で生成された輝度補正(輝度変更)が施された画素データに順次置き換えていく。結果として、スクリーン101上に投影された入力画像データを示す投影画像に、輝度変更が施された画素データ(特殊光)が投影される。この時、前述したように、生成部119で順次アドレス情報が更新され、直前の特殊光に置き換えられた画素はレジスタ118に格納されていた元の画素データに再度置き換えられ、初期の画素データに戻るため、特殊光がラスター走査方向に順次移動して見えるように投影される。
この例では、特殊光は1画素単位で生成することを前提に説明しているが、特殊光のサイズは任意に変更可能である。表示速度や光電変換部の感度等を考慮して、例えば特殊光のサイズを3×3画素、4×4画素、5×5画素といった領域で生成することも、領域単位でアドレス情報を生成し、領域単位で元の画像データをレジスタへ格納し、領域単位で輝度値を平均化して処理を行うことにより可能である。また、この例では、特殊光が、ラスター走査方向に順次移動して見えるように各画素の輝度の変更が行われているが、各画素の輝度変更の順番も任意に変更可能である。要するに、上述の輝度変更部130は、入力画像データに含まれる、それぞれが少なくとも1つの画素を含む複数の単位領域の各々の輝度を順番に変更する機能を有するものであればよい。
この特殊光が、ユーザが改ページアイコンを指し示しているポインティングデバイス102の先端の光電変換部(図7の901)に入光した時の様子を、図7の902で示す。この時、ポインティングデバイス102の判断部310は、図8に示すように通常は図8の1001で示すような輝度レベルであったものが、ある時点において、図8の1002で示すような下方に突出する(凸となる)パルスを検知する。これが、前記特殊光がポインティングデバイス102の先端の光電変換部の上を通過した瞬間である。この下方に凸となるパルスの輝度レベル(図8の1002)と通常の輝度レベル(図8の1001)との差分が閾値よりも大きいことを検知した判断部310は、送信部311に対して、プロジェクタ装置128の受信部127に「特殊光検知」を示す通知信号(輝度の変化量が閾値よりも大きいことを示す通知信号と捉えることもできる)を送信するよう通知する。この通知を受けた送信部311は、受信部127に対して「特殊光検知」を示す通知信号を送信する。
送信部311からの通知信号を受信した受信部127は、アクティブレベル(ハイレベル)に設定した検知信号をアドレス取得部124に供給する。アドレス取得部124は、受信部127からの検知信号がアクティブになるタイミングに合わせて、現在、生成部119が生成しているアドレス情報をラッチする。これによって、入力画像データのうち、現在ユーザがポインティングデバイス102によって指し示している位置(アドレス)を検知できる。通知部125は、検知した位置(アドレス)を示すアドレス情報(第1位置情報)を、データI/F部108、データI/F部105を介して、PC制御部106へ通知する。PC制御部106は、プロジェクタ装置128から通知された第1位置情報が示す位置にどのようなアイコン画像が配置されているのかを、現在表示している画像データ(現在の投影対象である入力画像データ)とその属性情報から判断する。そして、例えば図4の803のような「次ページを表示」という機能が割り当てられたアイコン画像が、第1位置情報が示す位置に配置されていると判断した場合は、次ページへの改ページ処理を行う。つまり、次ページの画像データを新たな入力画像データとしてプロジェクタ装置128へ送信する。
以上に説明したように、本実施形態によれば、高価な撮像装置を備えることなく、簡易かつ安価な構成で、スクリーン101上のポインティングデバイス102で指し示された位置を検知することができる。そして、ユーザが、スクリーン101上に投影された入力画像データを示す投影画像に含まれるアイコン画像をポインティングデバイス102で指し示し、ボタン204を押下することで、以上の説明で例示した改ページのような処理を簡単に実現することができる。
次に、赤外線通信について簡単に説明する。基本的に従来の赤外線通信手段と同等な処理を行うことで実現できる。図9は、ポインティングデバイス102側の送信部(図5の205、図6の311)からプロジェクタ装置128側の受信部127に送信するデータフォーマットである。全10ビットで構成され、0ビット目はスタートビット、1〜4ビット目の4ビットはデータビット、5〜9ビット目の5ビットはストップビットである。図10は、データビットの内容を例示した図である。データビット「1001」は「Connect.Req:通信要求」、「1010」は「Function.Req:機能要求」、「1011」は「Disconnect.Req:通信解除要求」、「0001」は「Data.Req:ボタン押下」、「0010」は「Data.Req:特殊光検知」を意味する。この場合の赤外線通信は、通信に時間を要するとパフォーマンスに影響が出るので、送信側から一方的に受信側へデータを送付している。図11は、データを送付する手順の一例を示す図である。図11の(1)は、ポインティングデバイス102のボタン204が押下されたことを通知する手順の一例を示し、図11の(2)は、ポインティングデバイス102が特殊光を検知したことを示す情報(通知信号)を送信する手順の一例を示す。
次に、本実施形態の画像投影システム100の具体的な動作例を説明する。図12は、ユーザが、スクリーン101上のアイコン画像をポインティングデバイス102で指し示したときのポインティングデバイス102の動作例を示すフローチャートである。図12に示すように、ユーザがボタン204を押下したことを、ボタン制御部312で検知した場合(ステップS1401:YES)、ボタン204の押下をトリガとして関連レジスタのクリア、後述のタイマーの初期化などの初期化が行われる(ステップS1402)。次に、送信部311は、「ボタン押下」を示す押下情報をプロジェクタ装置128の受信部127へ送信する(ステップS1403)。
ステップS1403以降のポインティングデバイス102の動作フローと、後述のプロジェクタ装置128の動作フローは平行して行われる。まず、ステップS1403以降のポインティングデバイス102の動作フローを説明する。光電変換部203は、ポインティングデバイス102の先端に入ってくる光を順次RGB画像データとして取り込む(ステップS1404)。取り込むタイミングとしてはポインティングデバイス102内部に搭載しているクロックジェネレータのタイミングで生成する。次に、光電変換部203(ADC307)は、このタイミングで順次取り込んでいるRGBデータをデジタル化し、RGB→YPbPr変換部308は、デジタル信号のRGBデータをYPbPrデータに変換する(ステップS1405)。これは輝度信号(Y)を得るための変換処理である。次に、移動平均部309は、順次入力される輝度信号(Y)の移動平均を演算する(ステップS1406)。これは輝度信号をある程度平均化しなければ、ランプや伝送路上のノイズを拾っている可能性があるからである。次に、判断部310は、移動平均値となった輝度(Y’’)信号を順次観測し、現在の輝度(Y’’n)と一つ前の輝度(Y’’n−1)の差分を随時演算する(ステップS1407)。
ユーザがポインティングデバイス102で指し示したある一定の場所での輝度値の変化は余り無く、通常は(Y’’n)と(Y’’n−1)の差分は殆ど無いが、プロジェクタ装置128から投影対象となる入力画像データに合成されて出力される特殊光(低輝度画素データ)がポインティングデバイス102の指し示した場所に来ると、その特殊光が低輝度であるため、特殊光がポインティングデバイス102の先端に入光したときの輝度(Y’’n)とその直前の輝度(Y’’n−1)との間に差分が生じる。判断部310は、ステップS1407で算出した差分が予め設定した閾値よりも大きいか否かを判断する(ステップS1408)。そして、差分が閾値よりも小さいと判断され(ステップS1408:NO)、不図示のタイマーによる計測時間が規定時間を超えていない場合(ステップS1410:NO)、処理はステップS1404に戻り、次の投影光の読み取りが行われる。ここで、ユーザによるボタン204の押下が1回行われた後、なんらかの原因で頻繁にステップS1404に戻るケースが多くなり、ある規定時間以上それが継続した場合(ステップS1410:YES)は、本フローを終了し、ユーザによる新たなボタン204の押下を待つことになる。ユーザによるボタン204の押下が行われると、タイマーは初期化される(ステップS1402)。
一方、ステップS1408において、差分が閾値よりも大きいと判断された場合(ステップS1408:YES)、送信部311は、プロジェクタ装置128の受信部127へ「特殊光検知」を示す通知信号を送信する(ステップS1409)。ポインティングデバイス102側の処理としては、ユーザが指し示したところの投影光の輝度値の読み取りを、ユーザがボタン204を押下したタイミングで開始し、その輝度値の変化を読み取り、変化が生じた(閾値を超える差分が生じた)タイミングで赤外線通信にてプロジェクタ装置128に対して、特殊光を検知したこと(輝度の変化量が閾値を超えたこと)を通達する処理を行っている。
次に、ポインティングデバイス102からの押下情報を受信部127で受信したことを契機として開始されるプロジェクタ装置128側の動作フローについて説明する。図12のフローにおいて、ユーザがスクリーン101上のアイコン画像をポインティングデバイス102で指し示した状態でボタン204を押下したタイミングで、プロジェクタ装置128側は、前述の特殊光をスクリーンに投影している入力画像データに合成して順次出力するが、まず、この特殊光を合成するアドレスを生成するために、そのアドレスの初期化を行う。ここでは垂直アドレスをV、水平アドレスをHとする。生成部119は、V=0に設定し(ステップS1501)、H=(−1)に設定することで(ステップS1502)、アドレス情報を初期化する。水平アドレスは処理の最初でインクリメントするため初期値として(−1)に設定している。
次に、生成部119は、水平アドレスを+1インクリメントする(ステップS1503)。次に、生成部119は、このインクリメントした水平アドレスが水平画像幅を超えているかどうかを判断する(ステップS1504)。水平アドレスが水平画像幅を超えていると判断した場合(ステップS1504:YES)、生成部119は、現在の垂直アドレスが垂直画像幅を超えているかどうか、つまり、現在の垂直アドレスが最終ラインであるか否かを判断する(ステップS1514)。現在の垂直アドレスが最終ラインであると判断した場合(ステップS1514:YES)、次の走査ラインは無いので、その場合は1フレーム分の特殊光の発光が完了したと判断し、処理を終了する。現在の垂直アドレスが最終ラインではないと判断した場合(ステップS1514:NO)、垂直アドレスを+1インクリメントし(ステップS1515)、水平アドレスを再度初期化して(ステップS1502)、次のラインの先頭から処理を始める。
一方、上述のステップS1504において、+1インクリメントした水平アドレスが水平画像幅を超えていないと判断した場合(ステップS1504:NO)、+1インクリメントした水平アドレスと、現在の垂直アドレスとで表されるアドレス情報(V、H)が、生成部119が生成した現在のアドレス情報となる。第2メモリ制御部117は、フレームメモリ113に格納された入力画像データのうち、ステップS1503で+1インクリメントする直前の水平アドレスと、現在の垂直アドレスとで表されるアドレス情報(V、H−1)が示す位置の画素に対して、レジスタ118に格納された当該画素の元の画像データ(輝度変更が行われる前の画像データ)を書き戻す制御を行う(ステップS1505)。
次に、第2メモリ制御部117は、フレームメモリ113に格納されている入力画像データのうち、生成部119で生成された現在のアドレス情報(V、H)が示す位置の画素のRGB画像データを、レジスタ118の処理用領域に格納する(ステップS1506)。又同時にアドレス(V、H)が示す位置の画素のRGB画像データをレジスタ118の格納用領域に格納する(ステップS1507)。次に、YPbPr変換部120は、処理用領域に格納されたRGB画像データをYPbPrデータに変換する(ステップS1508)。次に、輝度補正部121は、変換されたYPbPrデータの輝度値であるYデータをγテーブルで変換し(この例では0.8倍にする)、輝度値を変更したY’データを生成する(ステップS1509)。次に、輝度合成部122は、輝度補正後のY’データと元のPbPrデータを合成したY’PbPrデータを生成し、RGB変換部123は、このY’PbPrデータをRGB画像データ(RGB’データとする)に逆変換する(ステップS1510)。
次に、第2メモリ制御部117は、フレームメモリ113に格納された入力画像データのうち、現在のアドレス情報(V、H)が示す位置の画素に対して、ステップS1510で得られたRGB’データを書き戻す制御を行う(ステップS1511)。この時、入力画像データのうち、アドレス情報(V、H)が示す位置の画素の画像は、低輝度画像(特殊光)としてスクリーン101上に投影される。ここで、ポインティングデバイス102から赤外線送信データとして「特殊光検知」を示す通知信号が送信されてくるかを確認するため、所定時間だけ待つ(ステップS1512)。ここでの待ち時間は、最大1フレーム分までは許容される。
次に、受信部127は、ポインティングデバイス102からの「特殊光検知」を示す通知信号を受信したかどうかを判断し(ステップS1513)、規定時間内に通知信号を受信しない場合は、通知信号を受信していないと判断し(ステップS1513:NO)、処理は、上述のステップS1503に戻る。この時、水平アドレスが+1インクリメントされて次のアドレスの画素に対して、上記ステップS1504〜1513の処理が繰り返されるが、注目画素が一つ隣に移動した場合、今まで特殊光を発光していた一つ前の画素を元の画像データに戻す必要がある。つまり、一つ前の画素に対して(ステップS1503で+1インクリメントされる前のアドレス情報が示す位置の画素に対して)、レジスタ118の格納用領域に格納していた当該画素の元のRGB画像データをライトバックする(ステップS1505)。
一方、ステップS1513において、ポインティングデバイス102からの「特殊光検知」を示す通知信号を受信したと判断した場合(ステップS1513:YES)、処理はステップS1516に移行する。ステップS1516において、アドレス取得部124は、「特殊光検知」を示す通知信号を受信したときのアドレス情報(V、H)、これは、現在特殊光が発光されているアドレス(現在、輝度変更の対象となっている画素の位置を示すアドレス情報)だが、このアドレス情報(V、H)をレジスタ118のアドレス格納用領域に格納する(ステップS1516)。このアドレス情報(V、H)が示す位置は、ポインティングデバイス102によって指し示されている位置として特定することができる。そして、通知部125は、その格納されたアドレス情報(V、H)を、ポインティングデバイス102によって指し示されている位置を示す第1位置情報として、現在スクリーン101上に投影されている入力画像データのファイルを管理しているPC103へ通知する(ステップS1517)。
次に、図14を参照しながら、プロジェクタ装置128から、ポインティングデバイス102によって指し示されている位置を示す第1位置情報の通知を受けたPC103の動作例を説明する。まず、PC103は、データI/F部105を介して、プロジェクタ装置128からの第1位置情報を受信する(ステップS1601)。次に、PC制御部106は、現在の投影対象の画像データに関連付けてファイル蓄積部104に格納されている1以上の属性情報を参照する(ステップS1602)。前述したように、アイコン画像ごとに対応付けられる属性情報は、当該アイコン画像を識別する識別情報と、当該アイコン画像の位置を示す第2位置情報と、当該アイコン画像のサイズを示すサイズ情報と、当該アイコン画像に割り当てられた機能を示す機能情報とが対応付けられた情報である(図2参照)。PC制御部106は、通知された第1位置情報と、ファイル蓄積部104に記憶された属性情報とに基づいて、第1位置情報が示す位置に配置されるアイコン画像が存在するか否かを判断する(ステップS1603)。
プロジェクタ装置128から通知された第1位置情報が示す位置に配置されるアイコン画像が存在しないと判断した場合(ステップS1603:NO)、PC制御部106は、ユーザに対して指定ミスを通知するための指定ミス通知処理を行う(ステップS1604)。例えばBeep音を出して無意味なポインティングであったことをユーザに知らしめることもできるし、又、画面に無効指定である表示をすることもできるし、又は全く何もしないという処理も考えることができる。
一方、ステップS1603において、第1位置情報が示す位置に配置されるアイコン画像が存在すると判断した場合(ステップS1603:YES)、PC制御部106は、ファイル蓄積部104に格納された属性情報を参照して、第1位置情報が示す位置に配置されるアイコン画像に割り当てられた機能情報を特定する(ステップS1605)。次に、PC制御部106は、特定した機能情報が示す機能を実行する制御を行う(ステップS1606)。
以上に説明したように、本実施形態の画像投影システム100は、入力画像データをスクリーン101に投影するプロジェクタ装置128と、スクリーン101に投影された入力画像データを示す投影画像を指し示すためのポインティングデバイス102とを備える。そして、ポインティングデバイス102は、投影画像の少なくとも1画素分の輝度を検出可能な輝度検出部(光電変換部203、RGB→YPbPr変換部308、移動平均部309)と、輝度検出部で検出される輝度の変化量が閾値よりも大きいか否かを判断する判断部310と、判断部310によって変化量が閾値よりも大きいと判断された場合は、その旨を示す通知信号をプロジェクタ装置128へ送信する送信部311と、を備える。また、プロジェクタ装置128は、入力画像データに含まれる複数の画素(単位領域の一例)の各々の輝度を順番に(この例ではラスター走査順に)変更する輝度変更部130と、ポインティングデバイス102からの通知信号を受信する受信部127と、受信部127で通知信号を受信したときに輝度変更の対象となっている画素の位置を示すアドレス情報を、ポインティングデバイス102によって指し示されている位置を示す情報(第1位置情報)としてラッチ(特定)するアドレス取得部124と、を備える。以上の構成を有することにより、撮像装置等の比較的高価な装置を用いることなく、簡易かつ安価な構成で、スクリーン101上のポインティングデバイス102で指し示された位置を検知することができる。
以上、本発明の実施形態について説明したが、本発明は、上述の各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。