情報処理装置およびプログラム
【課題】低コストで部屋の内観を変更すること。
【解決手段】情報処理装置は、画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得する装置情報取得手段と、画像を示し、前記外部装置を制御するパラメータを含む画像データを取得する画像取得手段と、前記画像取得手段により取得された画像データに対して、前記装置情報に応じた加工をする画像加工手段と、前記画像加工手段により加工された画像データを、前記装置情報により特定される画像形成装置に出力する画像出力手段と、前記画像取得手段により取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力する制御信号出力手段とを有する。
【解決手段】情報処理装置は、画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得する装置情報取得手段と、画像を示し、前記外部装置を制御するパラメータを含む画像データを取得する画像取得手段と、前記画像取得手段により取得された画像データに対して、前記装置情報に応じた加工をする画像加工手段と、前記画像加工手段により加工された画像データを、前記装置情報により特定される画像形成装置に出力する画像出力手段と、前記画像取得手段により取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力する制御信号出力手段とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【0002】
レストランのような飲食店やパチンコ店のような遊技場において、内装の改装は新たな顧客を吸引する効果がある。しかし一方で改装にはコストがかかるという問題があった。そこで、改装する代わりに壁にかける絵を変更することが行われている。
ここで、例えば特許文献1には、3次元仮想空間内で任意の画像を抽出するシステムが、特許文献2には、スクリーンに全体画像を投影する際に複数の部分画像に分けて投影する技術が開示されている。
【0003】
【特許文献1】特開平9−212686号公報
【特許文献2】特開2004−349984号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1および2に記載された技術によっても、店舗等の部屋の内観を変更することはできなかった。
これに対し本発明は、より低コストで部屋の内観を変更する技術を提供する。
【課題を解決するための手段】
【0005】
本発明は、画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得する装置情報取得手段と、画像を示し、前記外部装置を制御するパラメータを含む画像データを取得する画像取得手段と、前記画像取得手段により取得された画像データを、前記装置情報に応じて加工をする画像加工手段と、前記画像加工手段により加工された画像データを、前記装置情報により特定される画像形成装置に出力する画像出力手段と、前記画像取得手段により取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力する制御信号出力手段とを有する情報処理装置を提供する。
この情報処理装置によれば、画像形成装置により形成される画像と同期して、室内の状態を変化させる外部装置が制御される。
【0006】
好ましい態様において、前記情報処理装置は、1つのスクリーンとn個(n≧1)の画像形成装置とを対応させる対応情報を取得する対応情報取得手段を有し、前記装置情報が、前記1つのスクリーンと前記n個の画像形成装置との位置関係を示す位置情報を含み、前記加工手段は、前記加工として、前記画像のうちそれぞれ前記位置情報に対応した部分を含むn個の画像データを生成し、前記画像出力手段は、前記生成されたn個の画像データをそれぞれ対応する画像形成装置に出力してもよい。
この情報処理装置によれば、n個の画像形成装置により1つのスクリーンに画像が形成される。
【0007】
別の好ましい態様において、前記加工手段は、前記加工として、前記画像を、それぞれ前記位置情報に対応した部分を示すn個の画像データに分割してもよい。
この情報処理装置によれば、各画像形成装置は、分割された画像を形成する。
【0008】
さらに別の好ましい態様において、前記加工手段は、前記加工として、前記スクリーンと前記画像形成装置とがなす角度に応じて前記分割された画像を変形してもよい。
この情報処理装置によれば、各画像形成装置は、スクリーンとなす角度に応じて変形された画像を形成する。
【0009】
さらに別の好ましい態様において、前記外部装置は、風を発生する装置であってもよい。
この情報処理装置によれば、画像形成装置により形成される画像と同期して、風が発生される。
【0010】
また、本発明は、コンピュータ装置に、画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得するステップと、画像を示し、前記外部装置を制御するパラメータを含む画像データを取得するステップと、前記取得された画像データを、前記装置情報に応じて加工をするステップと、前記加工された画像データを、前記装置情報により特定される画像形成装置に出力するステップと、前記取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力するステップとを実行させるプログラムを提供する。
このプログラムによれば、画像形成装置により形成される画像と同期して、室内の状態を変化させる外部装置が制御される。
【発明を実施するための最良の形態】
【0011】
1.構成
図1は、本発明の一実施形態に係る画像形成システム1の構成を示すブロック図である。画像形成システム1は、いわゆるデジタルサイネージシステムである。画像形成システム1は、店舗等の所定の部屋の中に画像を形成する。画像形成システム1は、複数の画像形成装置40(画像形成装置40−1、画像形成装置40−2、画像形成装置40−3、画像形成装置40−4、画像形成装置40−5、画像形成装置40−6、画像形成装置40−7)と、複数のスクリーン50(スクリーン50−1、スクリーン50−2、スクリーン50−3)と、複数のセンサ60(センサ60−1、センサ60−2、センサ60−3)と、複数の外部装置70(外部装置70−1、外部装置70−2、外部装置70−3)と、情報処理装置10と、サーバ20とを有する。
【0012】
画像形成装置40およびスクリーン50は、レストランの店舗等、所定の部屋の中に設置されている。n個(nは、n≧1を満たす自然数)の画像形成装置40が、1つのスクリーン50に対応している。情報処理装置10とサーバ20とは、ネットワーク30(例えばインターネット)を介して接続されている。この例で、部屋の壁に設けられた窓がスクリーン50として用いられる。
【0013】
1−1.情報処理装置10
図2は、情報処理装置10の機能構成を示す図である。情報処理装置10は、複数の画像形成装置40を制御する、画像処理装置の一例である。装置情報取得手段11は、装置情報を取得する。「装置情報」とは、画像形成装置40と、画像形成装置40に対応する外部装置70とを特定する情報をいう。画像取得手段12は、画像を示す画像データを取得する。ここで、画像データは、外部装置70を制御するパラメータを含んでいる。加工手段13は、画像取得手段12により取得された画像データに対して、装置情報に応じた加工をする。画像出力手段14は、加工手段13により加工された画像データを、前記装置情報により特定される画像形成装置に出力する。制御信号出力手段15は、画像取得手段12により取得された画像データに含まれるパラメータに応じて、外部装置70を制御する制御信号を外部装置70に出力する。
【0014】
対応情報取得手段16は対応情報を取得する。「対応情報」とは、1つのスクリーン50とn個の画像形成装置40とを対応させる情報をいう。画像形成装置40は、窓の枠を通して見える位置に画像を形成する。「窓の枠を通して見える位置に画像を形成する」とは、部屋の内部から窓を見たときに、画像形成装置40により形成される画像の少なくとも一部が、窓の枠の中に形成されることをいう。この例で、装置情報は、位置情報を含んでいる。「位置情報」とは、1つのスクリーン50とn個の画像形成装置40との位置関係を示す情報をいう。加工手段13は、加工として、画像取得手段12により取得された画像データから、n個の画像データを生成する。n個の画像データはn個の画像形成装置40と1対1に対応する。各画像データは、画像のうち、対応する画像形成装置40の位置情報に対応した部分を含んでいる。より詳細には、加工手段13は、加工として、画像を、それぞれ位置情報に対応した部分を示すn個の画像を示すデータに分割する。画像出力手段14は、生成されたn個の画像データを、それぞれ対応する画像形成装置40に出力する。
【0015】
この例で、加工手段13は、加工として、スクリーン50と画像形成装置40とがなす角度に応じて分割された画像を変形する処理をさらに行う。外部装置70は、風を発生する装置、例えば、送風機、扇風機、エアコンなどである。記憶手段S1は、プログラムやデータを記憶する。この例で、装置情報取得手段11および対応情報取得手段16は、記憶手段S1から装置情報および対応情報を取得する。画像取得手段12は、サーバ20から画像データを取得する。
【0016】
また、図2には示してないが、情報処理装置10は、以下の機能を有する。画像取得手段は、あらかじめ決められた大きさおよび形状を有する仮想スクリーン上に描かれる画像(以下、「全体画像」という)を示すデータを取得する。窓情報取得手段は、窓情報を取得する。「窓情報」とは、仮想スクリーンと所定の位置関係にある部屋の壁に設けられた窓の位置および形状を特定する情報である。特定点情報取得手段は、特定点情報を取得する。「特定点情報」とは、その部屋の中に存在する特定点の位置を特定する情報である。「特定点」とは、所定の対象物を代表する点である。画像抽出手段は、画像取得手段により取得された画像に対して特定点情報により特定される特定点を光源としたときの窓における射影を示す画像を抽出する。以下、この射影を示す画像を「射影画像」という。
【0017】
この例で、特定点情報取得手段は、室内に設けられたセンサ60から特定点情報を取得する。画像抽出手段は、特定点情報により示される特定点の位置が変化すると、射影画像を抽出する。特定点情報は、特定点を基準とする向きを示す情報を含んでおり、画像抽出手段は、窓の位置が特定点およびその向きと所定の条件を満たす場合に、射影画像を抽出する。
【0018】
さらにこの例で、画像生成手段は、仮想スクリーン上に描かれる画像を生成する。画像抽出手段は、前記画像生成手段により生成された画像から、射影画像を抽出する。記憶手段は、システムの動作に用いられるプログラムやデータを記憶する。通信手段は、ネットワーク30を介した通信を行う。
【0019】
図3は、情報処理装置10のハードウェア構成を示す図である。この例で、情報処理装置10はいわゆるパーソナルコンピュータである。CPU(Central Processing Unit)110は、情報処理装置10の構成要素を制御する制御装置である。ROM(Read Only Memory)120は、情報処理装置10の起動に必要なデータおよびプログラムを記憶する記憶装置である。RAM(Random Access Memory)130は、CPU110がプログラムを実行する際の作業領域として機能する記憶装置である。I/F(Interface)140は、種々の入出力装置や記憶装置との間でデータおよび制御信号の入出力をするインターフェースである。HDD(Hard Disk Drive)150は、各種プログラムおよびデータを記憶する記憶装置である。キーボード・マウス160は、ユーザが情報処理装置10に対して指示入力を行うのに用いられる入力装置である。ディスプレイ170は、データの内容あるいは処理の状況などを表示する出力装置である。ネットワークIF180は、ネットワーク30を介して接続された他の装置との間でデータの送受信を行うためのインターフェースである。USB(Universal Serial Bus)−IF185は、USB規格に従ったインターフェースである。バス190は、データの伝送路である。CPU110、ROM120、RAM130、およびI/F140は、バス190を介して接続されている。
【0020】
情報処理装置10は、USB−IF185を介して画像形成装置40と接続されている。情報処理装置10は、USB−IF185を介して、画像形成装置40にデータおよび制御信号を出力する。
【0021】
HDD150は、情報処理装置10を制御する制御プログラムを記憶している。CPU110が制御プログラムを実行することにより、図2に示される機能が情報処理装置10に実装される。この例で、制御プログラムを実行しているCPU110は、装置情報取得手段11、画像取得手段12、加工手段13、および対応情報取得手段16の一例である。制御プログラムは複数のプログラムモジュールまたはサブルーチンを有し、各プログラムモジュールまたはサブルーチンが、各機能構成要素に対応する。CPU110と共働しているUSB−IF185は、画像出力手段14および制御信号出力手段15の一例である。ROM120、RAM130、およびHDD150は、記憶手段S1の一例である。ネットワークIF180は、通信手段の一例である。
【0022】
1−2.サーバ20
図4は、サーバ20の機能構成を示す図である。記憶手段S2は、全体画像の生成に用いられるデータを記憶している。「全体画像の生成に用いられるデータ」とは、全体画像そのもの、あるいは、全体画像の素材を示すデータ(以下、「素材データ」という)である。「全体画像の素材」は、背景画像および前景画像を含む。「前景画像」は複数のオブジェクトを含む。例えば、背景画像は海の中の風景(海底、岩、海水など)を示す画像であり、前景画像は、海の中で動いているもの(魚、海藻など)を示す画像である。「画像」は静止画および動画を含む概念である。選択手段22は、あらかじめ決められたアルゴリズムに従って、選択手段22に記憶されているデータの中から、情報処理装置10に出力するデータを選択する。このアルゴリズムは、例えば、情報処理装置10のリクエストに応じてデータを選択するものである。あるいは、このアルゴリズムは、情報処理装置10の属性(情報処理装置10が設置されている場所、設置されている部屋の大きさまたは用途、情報処理装置10が設置されている場所の時刻など)に応じてデータを選択するものである。出力手段23は、選択手段22により選択されたデータを情報処理装置10に出力する。
【0023】
図5は、サーバ20のハードウェア構成を示す図である。CPU210は、サーバ20の構成要素を制御する制御装置である。ROM220は、サーバ20の起動に必要なデータおよびプログラムを記憶する記憶装置である。RAM230は、CPU210がプログラムを実行する際の作業領域として機能する記憶装置である。I/F240は、種々の入出力装置や記憶装置との間でデータおよび制御信号の入出力をするインターフェースである。HDD250は、各種プログラムおよびデータを記憶する記憶装置である。キーボード・マウス260は、ユーザがサーバ20に対して指示入力を行うのに用いられる入力装置である。ディスプレイ270は、データの内容あるいは処理の状況などを表示する出力装置である。ネットワークIF280は、ネットワーク30を介して接続された他の装置との間でデータの送受信を行うためのインターフェースである。バス290は、データの伝送路である。CPU210、ROM220、RAM230、およびI/F240は、バス290を介して接続されている。
【0024】
HDD250は、サーバ20を制御する制御プログラムを記憶している。CPU210が制御プログラムを実行することにより、図4に示される機能がサーバ20に実装される。この例で、制御プログラムを実行しているCPU210は、選択手段22、および出力手段23の一例である。ROM220、RAM230、およびHDD250は、記憶手段S2の一例である。制御プログラムは複数のプログラムモジュールまたはサブルーチンを有し、各プログラムモジュールまたはサブルーチンが、各機能構成要素に対応する。
【0025】
1−3.画像形成装置40
画像形成装置40は、スクリーン50に画像を形成する装置である。この例で、画像形成装置40は、スクリーン50に映像を投射するプロジェクタである。画像形成装置40はUSB−IF185を介して情報処理装置10に接続されている。情報処理装置10は、形成する画像を示すデータを、USB−IF185を介して画像形成装置40に供給する。
【0026】
図6は、画像形成装置40とスクリーン50との位置関係を例示する図である。この例で、部屋は壁71により仕切られている。壁71の内部にはさらに壁72が設けられている。壁72には、窓枠73が設けられている。壁71は窓枠73の外側に位置し、スクリーン50として機能する。画像形成装置40は、壁71と壁72の間に設置されている。このような配置により、室内にいるユーザから画像形成装置40が見えない(あるいは見えにくい)状態になり、室内の美観が損なわれない。
【0027】
1−4.センサ60
センサ60は、室内の状態をセンシングする装置である。この例で、センサ60はカメラすなわち画像センサである。センサ60は、室内の所定の位置に複数設置されている。センサ60はUSB−IF185を介して情報処理装置10に接続されている。情報処理装置10は、カメラが取得した画像を、USB−IF185を介して取得する。
【0028】
1−5.外部装置70
外部装置70は、情報処理装置10からの制御信号に従って動作する装置である。この例で、外部装置70は風を発生させる装置すなわち送風機である。外部装置70はUSB−IF185を介して情報処理装置10に接続されている。情報処理装置10は、USB−IF185を介して、外部装置70に制御信号を出力する。
【0029】
2.動作
続いて、画像形成システム1の動作を説明する。ここでは、部屋がレストランの店舗であり、店舗内の窓に映像を投影する例について説明する。また、この例で仮想スクリーンは半球のドーム状の形状を有している。この半球は、中心が店舗の床の重心と一致するように設定されている。
【0030】
図7は、画像形成システム1のうち、特に情報処理装置10の動作を示すフローチャートである。図7のフローは、例えばユーザが情報処理装置10に対し制御プログラムの実行を指示したことを契機として開始される。CPU110が制御プログラムを実行することにより、以下の処理が行われる。
【0031】
ステップS100において、CPU110は、全体画像を取得する。この例で、制御プログラムは、全体画像を生成するモジュールを有しており、CPU110は、このモジュールを実行した結果得られるデータを全体画像として取得する。
【0032】
全体画像を生成するモジュールの機能は以下のとおりである。CPU110は、サーバ20から、全体画像の素材データを取得する。素材データは、背景画像のデータおよび前景画像のデータを含んでいる。いま、背景画像として海中の風景の画像が、前景画像として魚の画像が用いられる例について説明する。
【0033】
HDD150は、仮想スクリーンの位置および大きさを特定するパラメータ(例えば、球の中心の座標および球の半径)を記憶している。CPU110は、このパラメータをHDD150から読み出す。CPU110は、読み出したパラメータにより特定される仮想スクリーンに相当する記憶領域を、RAM130上に確保する。この記憶領域は、背景用記憶領域、前景用記憶領域および合成用記憶領域を含んでいる。CPU110は、背景用記憶領域に背景画像のデータを書き込み、前景用記憶領域に前景画像のデータを書き込む。この例で、前景画像は動画である。また、前景画像は、複数のオブジェクト(例えば、複数の魚の画像)を含む。前景画像はオブジェクトを単位として更新される。すなわち、複数の魚が1匹づつ異なる動きをするように、前景画像が更新される。オブジェクトの変化のさせ方(例えば魚の動き)は、あらかじめプログラムされている。CPU110は、所定の時間間隔で、前景画像を書き替える。これにより、例えば魚が泳いで移動する様子が表現される。CPU110は、前景画像と背景画像を合成した画像のデータを合成用記憶領域に書き込む。こうして、全体画像が生成される。
【0034】
ステップS110において、CPU110は、窓情報を取得する。この例で、窓情報はHDD150にあらかじめ記憶されており、CPU110は、HDD150から窓情報を読み出すことにより、窓情報を取得する。
【0035】
図8は、窓情報を例示する図である。この例で、窓情報は、窓を特定する識別子(窓ID)と、窓枠の頂点の座標とを含む。
【0036】
再び図7を参照する。ステップS120において、CPU110は、対応情報を取得する。この例で、対応情報はHDD150にあらかじめ記憶されており、CPU110は、HDD150から対応情報を読み出すことにより、対応情報を取得する。
【0037】
図9は、対応情報を例示する図である。この例で、対応情報は、窓IDと、その窓に画像を形成する画像形成装置40の識別子(画像形成装置ID)とを含む。すなわち、対応情報は、複数の画像形成装置40と複数の窓とを一対一に対応させる情報を含む。
【0038】
再び図7を参照する。ステップS130において、CPU110は、特定点情報を取得する。この例で、特定点情報として、カメラ(センサ60)により取得された画像を示す画像データが用いられる。また、この例で、制御プログラムは、画像データを用いて特定点の座標を算出するモジュールを有しており、CPU110は、このモジュールを実行した結果から特定点の座標を取得する。
【0039】
図10は、特定点の座標を算出する処理を示すフローチャートである。ステップS131において、CPU110は、カメラから画像データを取得する。画像データの取得は、所定のタイミングで(例えば、所定の時間間隔、あるいは所定のイベントをトリガとして)行われる。CPU110は、カメラを特定する識別子(カメラID)とともに、得られた画像データをRAM130に記憶する。カメラはアングルが固定されており、店内の所定の座席に座っている客を撮影できる位置に設置されている。その座席に客が座っていれば、客の顔の画像が取得される。その座席が空席であれば、得られた画像に人間は写っていない。
【0040】
ステップS132において、CPU110は、取得した画像に対して顔認識処理を行う。顔認識処理には、公知のアルゴリズムが用いられる。座席に客が座っていた場合、顔認識処理により、その客の目の位置が特定される。ステップS133において、CPU110は、顔認識処理の結果を用いて、店舗内における客の目の位置(より詳細には、2つの目の中点の位置)の座標を算出する。HDD150は、カメラIDとカメラにより撮影される領域の座標(例えば、カメラのフレームの端点または中心の座標)を対応させる情報をあらかじめ記憶している。CPU110は、HDD150からこの情報を読み出し、顔認識処理の結果とあわせて、店舗内における客の目の位置を、特定点の座標として算出する。CPU110は、算出した特定点の座標を現在の特定点の座標としてRAM130に記憶する。さらに、CPU110は、1サイクル前に算出した特定点の座標を前回の特定点の座標としてRAM130に記憶する。
【0041】
ステップS134において、CPU110は、顔における目の位置に基づいて、視線の向きを算出する。すなわち、画像データは、目の位置を基準として視線の向きを示す方向ベクトルを算出する。このように画像から視線の向きが算出されるので、画像データは、特定点を基準とする向きを示す情報を含んでいるといえる。CPU110は、算出した方向ベクトルをRAM130に記憶する。
【0042】
再び図7を参照する。ステップS140において、CPU110は、現在の特定点の位置と前回の特定点の位置の差が所定の範囲(誤差の範囲)を超えたか、すなわち特定点の位置が変化したか判断する。特定点の位置が変化したと判断された場合(S140:YES)、CPU110は、処理をステップS150に移行する。特定点の位置が変化していないと判断された場合(S140:NO)、CPU110は、処理をステップS130に移行する。ステップS150で説明する射影画像の抽出は、所定の時間間隔で繰り返し行われるが、それに加えて特定点が変化したというような特定のイベントが起こったときにも、射影画像の抽出が行われる。
【0043】
ステップS150において、CPU110は、全体画像から射影画像を抽出する。射影画像の抽出は、窓を単位として、すなわち窓毎に行われる。詳細には以下のとおりである。まず、CPU110は、あらかじめ決められたアルゴリズムに従って、処理対象となる窓(以下「対象窓」という)を特定する。この例で、CPU110は、まず、特定点および方向ベクトルに対して所定の位置関係を満たす窓、より具体的には、特定点を基準とし、方向ベクトルとなす角度が所定の角度(例えば、人間の視野角に相当する角度)内にある窓を対象窓の候補として特定する。さらに、CPU110は、対象窓の候補として絞り込んだ窓の中から、特定点を基準とし、方向ベクトルとなす角度が小さい窓から1つずつ順番に対象窓を特定する。CPU110は、特定点を光源とし、仮想スクリーン上に対象窓を射影したときの射影の頂点の座標を算出する。
【0044】
図11は、特定点を光源とし、仮想スクリーン上への対象窓の射影を例示する図である。特定点PSから対象窓Wの窓枠の頂点の座標を結ぶ直線と仮想スクリーンが交わる点P1、P2、P3、およびP4が、射影の頂点の座標である。CPU110は、仮想スクリーン上において射影により切り取られる画像を、対象窓にマッピングする。マッピングにより得られた画像が、射影画像である。
【0045】
再び図7を参照する。ステップS160において、CPU110は、得られた射影画像を、対象窓に対応する画像形成装置40に出力する。さらに、CPU110は、射影画像の出力と同期して、外部装置70に制御信号を出力する。対象窓に対応する画像形成装置40は、対応情報により特定される。特に図7には示していないが、前景画像または背景画像が動画である場合に、ステップS130−160の処理は、所定の時間間隔で繰り返し行われる。
【0046】
図12は、ステップS160における射影画像を画像形成装置40に出力する処理の詳細を示すフローチャートである。ステップS161において、CPU110は、装置情報を取得する。この例で、装置情報は、あらかじめHDD150に記憶されている。CPU110は、HDD150から読み出すことにより、装置情報を取得する。CPU110は、読み出した装置情報をRAM130に記憶する。
【0047】
図13は、装置情報を例示する図である。装置情報は、外部装置70と画像形成装置40との対応関係を示す情報と、スクリーン50と画像形成装置40との位置関係を示す情報とを含んでいる。具体的には、装置情報は、外部装置IDと、画像形成措置IDと、画像形成装置の位置情報とを含んでいる。外部装置IDは、複数の外部装置70の中から1つの外部装置70を特定する識別子である。画像形成装置の位置情報は、スクリーン50との相対位置を示す情報である。図13の例で、外部装置IDがF1の外部装置70は、画像形成装置IDがP1およびP2の画像形成装置40と対応することが示されている。また、外部装置IDがF2の外部装置70は、画像形成装置IDがP3およびP4の画像形成装置40と対応することが示されている。画像形成装置IDがP5の画像形成装置40と対応する外部装置は、存在しない。画像形成装置IDがP1の画像形成装置40は、窓IDがW1の窓の右上の領域と対応することが示されている。以下、窓IDがWxの窓を単に「窓Wx」という。「窓W1」は窓IDがW1の窓を指す。
【0048】
装置情報はさらに、画像形成装置40とスクリーン50との位置関係を詳細に特定する情報として、画像形成装置40の代表点(例えば、レンズの中心)の座標と、画像形成装置の向き(例えば、レンズの向き)を示す方向ベクトルとを含んでいる。図13の例で、画像形成装置IDがP1の画像形成装置40は、座標系上において点(x1a,y1a,z1a)に位置し、ベクトル(x1b,y1b,z1b)で規定される方向を向いている。ここで用いられる座標系は、図8の窓情報に用いられた座標系と同じものである。したがって、窓情報を併用することにより、画像形成装置40とスクリーン50との詳細な位置関係が特定される。
【0049】
再び図12を参照する。ステップS162において、CPU110は、画像データに対して、装置情報に応じた加工をする。詳細には以下のとおりである。まず、CPU110は、あらかじめ決められたアルゴリズムに従って、処理対象となる射影画像を特定する。このアルゴリズムは、例えば、窓IDに従って1つずつ順番に処理対象となる射影画像を特定するものである。ここでは、窓W1に対応する射影画像が処理対象となった場合を例に説明する。
【0050】
次に、CPU110は、処理対象の射影画像を、n個に分割する。分割の数および方法は、装置情報に基づいて定められる。図13の例によれば、窓W1に対応する窓の数は4つ、すなわちn=4であることが示されている。また、窓W1は、右上、右下、左上、左下の4つの領域に分割されることが示されている。したがって、CPU110は、射影画像を、上下方向に2分割、左右方向に2分割し、合計4つの領域に分割する。
【0051】
次に、CPU110は、分割された射影画像に対し、台形補正処理を行う。CPU110は、装置情報により示される、画像形成装置40とスクリーン50との詳細な位置関係から、台形補正のパラメータを算出する(この例で、装置情報はレンズの投射角等、台形補正に必要な情報も含んでいる)。CPU110は、分割された射影画像を、算出されたパラメータを用いて変形させることにより、台形補正処理をする。すなわち、CPU110は、スクリーン50と画像形成装置40(より正確には、画像形成装置40のレンズの光軸)とがなす角度に応じて前記分割された画像を変形する。
【0052】
ステップS163において、CPU110は、加工された画像データを、画像形成装置40に出力する。加工された画像データと画像形成装置40とは、一対一に対応している。CPU110は、各画像データを、対応する画像形成装置40に出力する。
【0053】
ステップS164において、CPU110は、外部装置に制御信号を出力する。サーバ20から送られてくる画像データは、外部装置70の制御に用いられるパラメータを含んでいる。この例で、外部装置の制御に用いられるパラメータは、対象となる外部装置を特定する情報、並びに風を発生させるタイミングおよび風の強さを示す情報を含んでいる。外部装置を特定する情報は、例えば、「右」や「上」など、スクリーン50との相対的位置関係を示す情報である。例えば、外部装置を特定する情報として「右」が与えられると、CPU110は、図13の装置情報を参照し、窓W1のうち「右」に対応する外部装置として、外部装置IDがF1(「右上」および「右下」という位置情報に対応)の外部装置70を特定する。別の例で、外部装置を特定する情報として「左下」が与えられると、CPU110は、図13の装置情報を参照し、窓W1のうち「左下」に対応する外部装置として、外部装置IDがF2の外部装置70を特定する。CPU110は、画像データからこれらのパラメータを抽出し、抽出したパラメータに従って制御信号を生成する。CPU110は、生成した制御信号を、USB−IF185を介して外部装置70に出力する。
【0054】
CPU110は、対象となる射影画像を順次更新して、図12のフローを繰り返し実行する。
【0055】
図14は、画像形成システム1により形成される画像を例示する図である。この例で、窓と窓の間には壁がある。仮想スクリーンには海の中を魚が泳いでいる画像が描かれ、窓には客の視点から見た射影画像が形成される。したがって、客から見ると窓にはあたかも自分が海中にいるような画像が形成される。例えば魚が窓と窓の間を泳いでいる途中では壁に隠れて魚の姿が見えなくなるので、店舗の内部によりリアルな画像が提供される。レストランやパチンコ店の改装にはコストと時間がかかるが、画像形成システム1によればコストと時間をかけずに、店の内観を変えることができる。
【0056】
3.他の実施形態
本発明は上述の実施形態に限定されるものではなく、これ以外の態様でも実施が可能である。以下、変形例をいくつか説明する。以下で説明する変形例のうち2つ以上のものが組み合わせて用いられてもよい。以下において、上述の実施形態と共通する事項については説明を省略し、また、共通する要素には共通の参照符号を用いて説明する。
【0057】
3−1.変形例1
ステップS162における画像の加工は、実施形態で説明したものに限定されない。n個の画像形成装置40に対応する画像データを生成するものであれば、サイズの変更、色空間の変更、解像度の変更、変形、画像の合成、分割、切り取りまたは抽出、もしくはこれらの組み合わせなどどのような処理が行われてもよい。
【0058】
実施形態では、隣接する2つの画像形成装置40に出力される画像データが示す画像は、重なっている部分が無かった。しかし、隣接する2つの画像形成装置40に出力される画像データが示す画像は、オーバーラップする部分を有していてもよい。
【0059】
3−2.変形例2
情報処理装置10は、全体画像を生成する機能、すなわち画像生成手段を有していなくてもよい。この場合、情報処理装置10は、通信手段を介して、サーバ20から全体画像を取得する。またこの場合、サーバ20は、全体画像を生成する機能を有する。サーバ20は、情報処理装置10に対していわゆるストリーミング配信の技術を用いて、全体画像を送信する。
【0060】
3−3.変形例3
変形例2の場合において、情報処理装置10は、全体画像のうち一部のみをサーバ20から取得してもよい。この場合、まず情報処理装置10は、窓情報をサーバ20に送信する。サーバ20は、受信した窓情報を記憶する。サーバ20は、全体情報から、窓情報により特定される窓の位置に応じて全体画像の一部を切り出し、切り出した部分を情報処理装置10に送信する。
【0061】
窓の位置に応じて全体画像から一部を切り出すアルゴリズムとしては、例えば、窓との距離が所定の範囲内にある部分を切り出すアルゴリズムが採用される。実際に画像形成装置40により形成されるのは窓の部分の画像だけであるから、窓の近傍の画像だけを送信すれば、ネットワークのトラフィックおよび処理すべきデータ量が削減される。
【0062】
3−4.変形例4
特定点情報は向きを示す情報を含んでいなくてもよい。あるいは、特定点情報が向きを示す情報を含んでいた場合でも、情報処理装置10は、向きを示す情報に応じた処理をしなくてもよい。すなわち、図10のステップS134の処理は省略されてもよい。この場合、CPU110は、視線の向きに応じた対象窓の絞り込みを行わなくてもよい。
【0063】
3−5.変形例5
射影画像の抽出を行うタイミングは、実施形態で説明したものに限定されない。図7のステップS140の割り込み判定が行わなくてもよい。この場合、射影画像は、所定の時間間隔で定期的に抽出される。
【0064】
3−6.変形例6
情報処理装置10に特定点情報を供給するセンサ60は、実施形態で説明したカメラに限定されない。特定点情報を供給できるものであれば、どのようなセンサが用いられてもよい。例えば、センサ60としてRFID(Radio Frequency IDentification)リーダが用いられてもよい。この場合、客はRFIDタグを身に付ける。RFIDリーダをレストランのフロアやテーブルに一定の間隔で配置することにより、客の位置を特定することができる。その他、光センサ、温度センサ、タッチセンサ、静電センサなどが用いられてもよい。
【0065】
また、センサの配置は、特定点の位置を、システムが要求する精度で特定できるものであれば、どのような配置であってもよい。例えば、一つのテーブルを囲むように複数のカメラを配置してもよいし、スクリーン50の周辺に1台のカメラを配置してもよい。
【0066】
3−7.変形例7
特定点情報の取得元は、センサ60に限定されない。特定点情報取得手段は、RAM130等の記憶手段S1から特定点情報を取得してもよい。この場合、店員が特定点情報として客の位置を情報処理装置10にマニュアルで入力し、情報処理装置10のCPU110は、入力された特定点情報をRAM130に記憶する。図7のステップS130において、CPU110は、RAM130から特定点情報を読み出すことにより、特定点情報を取得する。別の例で、特定点の位置は、システムの設計上ある位置に固定されていてもよい。この場合、特定点情報は、システムのパラメータとしてHDD150に記憶されている。CPU110は、HDD150から特定点情報を読み出すことにより、特定点情報を取得する。
【0067】
3−8.変形例8
仮想スクリーンは、実施形態で説明したものに限定されない。あらかじめ決められた大きさおよび形状を有し、部屋(窓)との位置関係が規定されているものであれば、どのような仮想スクリーンが用いられてもよい。例えば、仮想スクリーンの形状は半球でなく、球、直方体、多角形、またはこれらの組み合わせなど、どのような形状でもよい。また、図11では仮想スクリーンが部屋の外側にある例を説明したが、仮想スクリーンはその一部または全部が部屋の中にあってもよい。
【0068】
3−9.変形例9
画像形成装置40とスクリーン50の位置関係は、図6で説明したものに限定されない。店舗の壁が一枚であり、店舗内にある画像形成装置40から窓に画像を投射する構成としてもよい。あるいは、壁や窓以外のものがスクリーン50として用いられてもよい。
【0069】
3−10.変形例10
画像形成装置40はプロジェクタに限定されない。スクリーン50に画像を形成できるのであれば、どのような装置であってもよい。また、画像形成装置40は、スクリーン50を内蔵していてもよい。例えば、画像形成装置40は、リアプロジェクションディスプレイ、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ、プラズマディスプレイであってもよい。
【0070】
3−11.変形例11
本稿でいう「窓」は、現実および仮想の窓の双方を含む。「現実の窓」とは、物理的な構造体としての窓をいう。この場合、図6のように窓枠とスクリーン50とが異なる面に形成される構造であってもよいし、スクリーン50が窓枠と同じ面(すなわち窓枠の中)に形成される構造であってもよい。「仮想の窓」とは、物理的な構造体としての窓ではないスクリーン50に窓枠も含めた画像を形成したもの、すなわち壁に窓枠も含めた画像を形成したものをいう。
【0071】
3−12.変形例12
窓情報の取得元は、HDD150に限定されない。窓情報取得手段12は、情報処理装置10以外の他の装置から窓情報を取得してもよい。特に、仮想の窓が用いられ、窓の位置が変化する場合に、窓の位置を検出する装置から窓情報を取得してもよい。また、窓情報の形式は、図8に例示されるものに限定されない。例えば、窓の形状があらかじめ決められたものに限定されている場合、その形状に応じたパラメータが窓情報として用いられる。具体的には、窓の形状が円であれば、中心の座標および半径が窓情報として用いられる。あるいは、窓の形状が長方形であれば、対角線の端点の座標が窓情報として用いられる。
【0072】
さらに、装置情報の取得元も、HDD150に限定されない。装置情報取得手段11は、情報処理装置10以外の他の装置から窓情報を取得してもよい。
【0073】
3−13.変形例13
全体画像、窓情報、対応情報、および特定点情報を取得する順番は図7に示されるものに限定されない。射影画像を抽出する時点で処理に用いられる情報が取得できていれば、これらの情報がどのような順番で取得されてもよい。
また、画像データおよび制御信号を出力する順番は図12に示されるものに限定されない。画像形成装置40に画像データを、外部装置70に制御信号を出力するものであれば、これらのデータ、信号がどのような順番で出力されてもよい。
【0074】
3−14.変形例14
外部装置70は、実施形態で説明したものに限定されない。情報処理装置10からの制御信号に従って動作するものであれば、どのような装置が外部装置70として用いられてもよい。例えば、窓近傍の物理状態(風量、温度、光量、湿度、音など)を変化させるもの(扇風機、エアコン、照明器具、スピーカーなど)が用いられてもよい。
【0075】
3−15.他の変形例
情報処理装置10のハードウェア構成は図3で示されるものに限定されない。必要な機能構成を実現できるものであれば、どのようなハードウェア構成を有する装置が用いられてもよい。また、情報処理装置10の機能構成とハードウェア構成の対応関係は、実施形態で説明したものに限定されない。例えば上述の実施形態では、制御プログラムを実行しているCPU110が、画像取得手段12、対応情報取得手段13、対応情報取得手段13、特定点情報取得手段14、画像抽出手段15、および画像生成手段17としての機能を兼ね備えていたが、これらのうち1つ以上の機能が、CPU110以外のプロセッサにより実装されてもよい。また、各機能構成要素は、汎用プロセッサとプログラムの協働により実装されてもよいし、ASIC(Application Specific Integrated Circuit)のように特定の機能を有するプロセッサとして実装されてもよい。あるいは、物理的に別体の複数のプロセッサが協働して、これらの要素として機能してもよい。サーバ20についても同様である。
【0076】
画像形成装置40が、情報処理装置10としての機能を兼ね備えていてもよい。
【0077】
実施形態では部屋に複数の窓が存在する例について説明したが、部屋の窓の数はひとつであってもよい。
【0078】
上述の実施形態においてCPU110またはCPU210によって実行されるプログラムは、磁気記録媒体(磁気テープ、磁気ディスク(HDD(Hard Disk Drive)、FD(Flexible Disk))など)、光記録媒体(光ディスク(CD(Compact Disk)、DVD(Digital Versatile Disk))など)、光磁気記録媒体、半導体メモリ(フラッシュROMなど)などのコンピュータ読取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットのようなネットワーク経由でダウンロードされてもよい。
【図面の簡単な説明】
【0079】
【図1】一実施形態に係る画像形成システム1の構成を示すブロック図である。
【図2】情報処理装置10の機能構成を示す図である。
【図3】情報処理装置10のハードウェア構成を示す図である。
【図4】サーバ20の機能構成を示す図である。
【図5】サーバ20のハードウェア構成を示す図である。
【図6】画像形成装置40とスクリーン50との位置関係を例示する図である。
【図7】情報処理装置10の動作を示すフローチャートである。
【図8】窓情報を例示する図である。
【図9】対応情報を例示する図である。
【図10】特定点の座標を算出する処理を示すフローチャートである。
【図11】仮想スクリーン上への対象窓の射影を例示する図である。
【図12】射影画像を出力する処理の詳細を示すフローチャートである。
【図13】装置情報を例示する図である。
【図14】画像形成システム1により形成される画像を例示する図である。
【符号の説明】
【0080】
S1…記憶手段、1…画像形成システム、S2…記憶手段、10…情報処理装置、11…装置情報取得手段、12…画像取得手段、13…加工手段、14…画像出力手段、15…制御信号出力手段、16…対応情報取得手段、20…サーバ、22…選択手段、23…出力手段、30…ネットワーク、40…画像形成装置、50…スクリーン、60…センサ、70…外部装置、71…壁、72…壁、73…窓枠、110…CPU、120…ROM、130…RAM、140…I/F、150…HDD、160…キーボード・マウス、170…ディスプレイ、180…ネットワークIF、185…USB−IF、190…バス、210…CPU、220…ROM、230…RAM、240…I/F、250…HDD、260…キーボード・マウス、270…ディスプレイ、280…ネットワークIF、290…バス
【技術分野】
【0001】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【0002】
レストランのような飲食店やパチンコ店のような遊技場において、内装の改装は新たな顧客を吸引する効果がある。しかし一方で改装にはコストがかかるという問題があった。そこで、改装する代わりに壁にかける絵を変更することが行われている。
ここで、例えば特許文献1には、3次元仮想空間内で任意の画像を抽出するシステムが、特許文献2には、スクリーンに全体画像を投影する際に複数の部分画像に分けて投影する技術が開示されている。
【0003】
【特許文献1】特開平9−212686号公報
【特許文献2】特開2004−349984号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1および2に記載された技術によっても、店舗等の部屋の内観を変更することはできなかった。
これに対し本発明は、より低コストで部屋の内観を変更する技術を提供する。
【課題を解決するための手段】
【0005】
本発明は、画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得する装置情報取得手段と、画像を示し、前記外部装置を制御するパラメータを含む画像データを取得する画像取得手段と、前記画像取得手段により取得された画像データを、前記装置情報に応じて加工をする画像加工手段と、前記画像加工手段により加工された画像データを、前記装置情報により特定される画像形成装置に出力する画像出力手段と、前記画像取得手段により取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力する制御信号出力手段とを有する情報処理装置を提供する。
この情報処理装置によれば、画像形成装置により形成される画像と同期して、室内の状態を変化させる外部装置が制御される。
【0006】
好ましい態様において、前記情報処理装置は、1つのスクリーンとn個(n≧1)の画像形成装置とを対応させる対応情報を取得する対応情報取得手段を有し、前記装置情報が、前記1つのスクリーンと前記n個の画像形成装置との位置関係を示す位置情報を含み、前記加工手段は、前記加工として、前記画像のうちそれぞれ前記位置情報に対応した部分を含むn個の画像データを生成し、前記画像出力手段は、前記生成されたn個の画像データをそれぞれ対応する画像形成装置に出力してもよい。
この情報処理装置によれば、n個の画像形成装置により1つのスクリーンに画像が形成される。
【0007】
別の好ましい態様において、前記加工手段は、前記加工として、前記画像を、それぞれ前記位置情報に対応した部分を示すn個の画像データに分割してもよい。
この情報処理装置によれば、各画像形成装置は、分割された画像を形成する。
【0008】
さらに別の好ましい態様において、前記加工手段は、前記加工として、前記スクリーンと前記画像形成装置とがなす角度に応じて前記分割された画像を変形してもよい。
この情報処理装置によれば、各画像形成装置は、スクリーンとなす角度に応じて変形された画像を形成する。
【0009】
さらに別の好ましい態様において、前記外部装置は、風を発生する装置であってもよい。
この情報処理装置によれば、画像形成装置により形成される画像と同期して、風が発生される。
【0010】
また、本発明は、コンピュータ装置に、画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得するステップと、画像を示し、前記外部装置を制御するパラメータを含む画像データを取得するステップと、前記取得された画像データを、前記装置情報に応じて加工をするステップと、前記加工された画像データを、前記装置情報により特定される画像形成装置に出力するステップと、前記取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力するステップとを実行させるプログラムを提供する。
このプログラムによれば、画像形成装置により形成される画像と同期して、室内の状態を変化させる外部装置が制御される。
【発明を実施するための最良の形態】
【0011】
1.構成
図1は、本発明の一実施形態に係る画像形成システム1の構成を示すブロック図である。画像形成システム1は、いわゆるデジタルサイネージシステムである。画像形成システム1は、店舗等の所定の部屋の中に画像を形成する。画像形成システム1は、複数の画像形成装置40(画像形成装置40−1、画像形成装置40−2、画像形成装置40−3、画像形成装置40−4、画像形成装置40−5、画像形成装置40−6、画像形成装置40−7)と、複数のスクリーン50(スクリーン50−1、スクリーン50−2、スクリーン50−3)と、複数のセンサ60(センサ60−1、センサ60−2、センサ60−3)と、複数の外部装置70(外部装置70−1、外部装置70−2、外部装置70−3)と、情報処理装置10と、サーバ20とを有する。
【0012】
画像形成装置40およびスクリーン50は、レストランの店舗等、所定の部屋の中に設置されている。n個(nは、n≧1を満たす自然数)の画像形成装置40が、1つのスクリーン50に対応している。情報処理装置10とサーバ20とは、ネットワーク30(例えばインターネット)を介して接続されている。この例で、部屋の壁に設けられた窓がスクリーン50として用いられる。
【0013】
1−1.情報処理装置10
図2は、情報処理装置10の機能構成を示す図である。情報処理装置10は、複数の画像形成装置40を制御する、画像処理装置の一例である。装置情報取得手段11は、装置情報を取得する。「装置情報」とは、画像形成装置40と、画像形成装置40に対応する外部装置70とを特定する情報をいう。画像取得手段12は、画像を示す画像データを取得する。ここで、画像データは、外部装置70を制御するパラメータを含んでいる。加工手段13は、画像取得手段12により取得された画像データに対して、装置情報に応じた加工をする。画像出力手段14は、加工手段13により加工された画像データを、前記装置情報により特定される画像形成装置に出力する。制御信号出力手段15は、画像取得手段12により取得された画像データに含まれるパラメータに応じて、外部装置70を制御する制御信号を外部装置70に出力する。
【0014】
対応情報取得手段16は対応情報を取得する。「対応情報」とは、1つのスクリーン50とn個の画像形成装置40とを対応させる情報をいう。画像形成装置40は、窓の枠を通して見える位置に画像を形成する。「窓の枠を通して見える位置に画像を形成する」とは、部屋の内部から窓を見たときに、画像形成装置40により形成される画像の少なくとも一部が、窓の枠の中に形成されることをいう。この例で、装置情報は、位置情報を含んでいる。「位置情報」とは、1つのスクリーン50とn個の画像形成装置40との位置関係を示す情報をいう。加工手段13は、加工として、画像取得手段12により取得された画像データから、n個の画像データを生成する。n個の画像データはn個の画像形成装置40と1対1に対応する。各画像データは、画像のうち、対応する画像形成装置40の位置情報に対応した部分を含んでいる。より詳細には、加工手段13は、加工として、画像を、それぞれ位置情報に対応した部分を示すn個の画像を示すデータに分割する。画像出力手段14は、生成されたn個の画像データを、それぞれ対応する画像形成装置40に出力する。
【0015】
この例で、加工手段13は、加工として、スクリーン50と画像形成装置40とがなす角度に応じて分割された画像を変形する処理をさらに行う。外部装置70は、風を発生する装置、例えば、送風機、扇風機、エアコンなどである。記憶手段S1は、プログラムやデータを記憶する。この例で、装置情報取得手段11および対応情報取得手段16は、記憶手段S1から装置情報および対応情報を取得する。画像取得手段12は、サーバ20から画像データを取得する。
【0016】
また、図2には示してないが、情報処理装置10は、以下の機能を有する。画像取得手段は、あらかじめ決められた大きさおよび形状を有する仮想スクリーン上に描かれる画像(以下、「全体画像」という)を示すデータを取得する。窓情報取得手段は、窓情報を取得する。「窓情報」とは、仮想スクリーンと所定の位置関係にある部屋の壁に設けられた窓の位置および形状を特定する情報である。特定点情報取得手段は、特定点情報を取得する。「特定点情報」とは、その部屋の中に存在する特定点の位置を特定する情報である。「特定点」とは、所定の対象物を代表する点である。画像抽出手段は、画像取得手段により取得された画像に対して特定点情報により特定される特定点を光源としたときの窓における射影を示す画像を抽出する。以下、この射影を示す画像を「射影画像」という。
【0017】
この例で、特定点情報取得手段は、室内に設けられたセンサ60から特定点情報を取得する。画像抽出手段は、特定点情報により示される特定点の位置が変化すると、射影画像を抽出する。特定点情報は、特定点を基準とする向きを示す情報を含んでおり、画像抽出手段は、窓の位置が特定点およびその向きと所定の条件を満たす場合に、射影画像を抽出する。
【0018】
さらにこの例で、画像生成手段は、仮想スクリーン上に描かれる画像を生成する。画像抽出手段は、前記画像生成手段により生成された画像から、射影画像を抽出する。記憶手段は、システムの動作に用いられるプログラムやデータを記憶する。通信手段は、ネットワーク30を介した通信を行う。
【0019】
図3は、情報処理装置10のハードウェア構成を示す図である。この例で、情報処理装置10はいわゆるパーソナルコンピュータである。CPU(Central Processing Unit)110は、情報処理装置10の構成要素を制御する制御装置である。ROM(Read Only Memory)120は、情報処理装置10の起動に必要なデータおよびプログラムを記憶する記憶装置である。RAM(Random Access Memory)130は、CPU110がプログラムを実行する際の作業領域として機能する記憶装置である。I/F(Interface)140は、種々の入出力装置や記憶装置との間でデータおよび制御信号の入出力をするインターフェースである。HDD(Hard Disk Drive)150は、各種プログラムおよびデータを記憶する記憶装置である。キーボード・マウス160は、ユーザが情報処理装置10に対して指示入力を行うのに用いられる入力装置である。ディスプレイ170は、データの内容あるいは処理の状況などを表示する出力装置である。ネットワークIF180は、ネットワーク30を介して接続された他の装置との間でデータの送受信を行うためのインターフェースである。USB(Universal Serial Bus)−IF185は、USB規格に従ったインターフェースである。バス190は、データの伝送路である。CPU110、ROM120、RAM130、およびI/F140は、バス190を介して接続されている。
【0020】
情報処理装置10は、USB−IF185を介して画像形成装置40と接続されている。情報処理装置10は、USB−IF185を介して、画像形成装置40にデータおよび制御信号を出力する。
【0021】
HDD150は、情報処理装置10を制御する制御プログラムを記憶している。CPU110が制御プログラムを実行することにより、図2に示される機能が情報処理装置10に実装される。この例で、制御プログラムを実行しているCPU110は、装置情報取得手段11、画像取得手段12、加工手段13、および対応情報取得手段16の一例である。制御プログラムは複数のプログラムモジュールまたはサブルーチンを有し、各プログラムモジュールまたはサブルーチンが、各機能構成要素に対応する。CPU110と共働しているUSB−IF185は、画像出力手段14および制御信号出力手段15の一例である。ROM120、RAM130、およびHDD150は、記憶手段S1の一例である。ネットワークIF180は、通信手段の一例である。
【0022】
1−2.サーバ20
図4は、サーバ20の機能構成を示す図である。記憶手段S2は、全体画像の生成に用いられるデータを記憶している。「全体画像の生成に用いられるデータ」とは、全体画像そのもの、あるいは、全体画像の素材を示すデータ(以下、「素材データ」という)である。「全体画像の素材」は、背景画像および前景画像を含む。「前景画像」は複数のオブジェクトを含む。例えば、背景画像は海の中の風景(海底、岩、海水など)を示す画像であり、前景画像は、海の中で動いているもの(魚、海藻など)を示す画像である。「画像」は静止画および動画を含む概念である。選択手段22は、あらかじめ決められたアルゴリズムに従って、選択手段22に記憶されているデータの中から、情報処理装置10に出力するデータを選択する。このアルゴリズムは、例えば、情報処理装置10のリクエストに応じてデータを選択するものである。あるいは、このアルゴリズムは、情報処理装置10の属性(情報処理装置10が設置されている場所、設置されている部屋の大きさまたは用途、情報処理装置10が設置されている場所の時刻など)に応じてデータを選択するものである。出力手段23は、選択手段22により選択されたデータを情報処理装置10に出力する。
【0023】
図5は、サーバ20のハードウェア構成を示す図である。CPU210は、サーバ20の構成要素を制御する制御装置である。ROM220は、サーバ20の起動に必要なデータおよびプログラムを記憶する記憶装置である。RAM230は、CPU210がプログラムを実行する際の作業領域として機能する記憶装置である。I/F240は、種々の入出力装置や記憶装置との間でデータおよび制御信号の入出力をするインターフェースである。HDD250は、各種プログラムおよびデータを記憶する記憶装置である。キーボード・マウス260は、ユーザがサーバ20に対して指示入力を行うのに用いられる入力装置である。ディスプレイ270は、データの内容あるいは処理の状況などを表示する出力装置である。ネットワークIF280は、ネットワーク30を介して接続された他の装置との間でデータの送受信を行うためのインターフェースである。バス290は、データの伝送路である。CPU210、ROM220、RAM230、およびI/F240は、バス290を介して接続されている。
【0024】
HDD250は、サーバ20を制御する制御プログラムを記憶している。CPU210が制御プログラムを実行することにより、図4に示される機能がサーバ20に実装される。この例で、制御プログラムを実行しているCPU210は、選択手段22、および出力手段23の一例である。ROM220、RAM230、およびHDD250は、記憶手段S2の一例である。制御プログラムは複数のプログラムモジュールまたはサブルーチンを有し、各プログラムモジュールまたはサブルーチンが、各機能構成要素に対応する。
【0025】
1−3.画像形成装置40
画像形成装置40は、スクリーン50に画像を形成する装置である。この例で、画像形成装置40は、スクリーン50に映像を投射するプロジェクタである。画像形成装置40はUSB−IF185を介して情報処理装置10に接続されている。情報処理装置10は、形成する画像を示すデータを、USB−IF185を介して画像形成装置40に供給する。
【0026】
図6は、画像形成装置40とスクリーン50との位置関係を例示する図である。この例で、部屋は壁71により仕切られている。壁71の内部にはさらに壁72が設けられている。壁72には、窓枠73が設けられている。壁71は窓枠73の外側に位置し、スクリーン50として機能する。画像形成装置40は、壁71と壁72の間に設置されている。このような配置により、室内にいるユーザから画像形成装置40が見えない(あるいは見えにくい)状態になり、室内の美観が損なわれない。
【0027】
1−4.センサ60
センサ60は、室内の状態をセンシングする装置である。この例で、センサ60はカメラすなわち画像センサである。センサ60は、室内の所定の位置に複数設置されている。センサ60はUSB−IF185を介して情報処理装置10に接続されている。情報処理装置10は、カメラが取得した画像を、USB−IF185を介して取得する。
【0028】
1−5.外部装置70
外部装置70は、情報処理装置10からの制御信号に従って動作する装置である。この例で、外部装置70は風を発生させる装置すなわち送風機である。外部装置70はUSB−IF185を介して情報処理装置10に接続されている。情報処理装置10は、USB−IF185を介して、外部装置70に制御信号を出力する。
【0029】
2.動作
続いて、画像形成システム1の動作を説明する。ここでは、部屋がレストランの店舗であり、店舗内の窓に映像を投影する例について説明する。また、この例で仮想スクリーンは半球のドーム状の形状を有している。この半球は、中心が店舗の床の重心と一致するように設定されている。
【0030】
図7は、画像形成システム1のうち、特に情報処理装置10の動作を示すフローチャートである。図7のフローは、例えばユーザが情報処理装置10に対し制御プログラムの実行を指示したことを契機として開始される。CPU110が制御プログラムを実行することにより、以下の処理が行われる。
【0031】
ステップS100において、CPU110は、全体画像を取得する。この例で、制御プログラムは、全体画像を生成するモジュールを有しており、CPU110は、このモジュールを実行した結果得られるデータを全体画像として取得する。
【0032】
全体画像を生成するモジュールの機能は以下のとおりである。CPU110は、サーバ20から、全体画像の素材データを取得する。素材データは、背景画像のデータおよび前景画像のデータを含んでいる。いま、背景画像として海中の風景の画像が、前景画像として魚の画像が用いられる例について説明する。
【0033】
HDD150は、仮想スクリーンの位置および大きさを特定するパラメータ(例えば、球の中心の座標および球の半径)を記憶している。CPU110は、このパラメータをHDD150から読み出す。CPU110は、読み出したパラメータにより特定される仮想スクリーンに相当する記憶領域を、RAM130上に確保する。この記憶領域は、背景用記憶領域、前景用記憶領域および合成用記憶領域を含んでいる。CPU110は、背景用記憶領域に背景画像のデータを書き込み、前景用記憶領域に前景画像のデータを書き込む。この例で、前景画像は動画である。また、前景画像は、複数のオブジェクト(例えば、複数の魚の画像)を含む。前景画像はオブジェクトを単位として更新される。すなわち、複数の魚が1匹づつ異なる動きをするように、前景画像が更新される。オブジェクトの変化のさせ方(例えば魚の動き)は、あらかじめプログラムされている。CPU110は、所定の時間間隔で、前景画像を書き替える。これにより、例えば魚が泳いで移動する様子が表現される。CPU110は、前景画像と背景画像を合成した画像のデータを合成用記憶領域に書き込む。こうして、全体画像が生成される。
【0034】
ステップS110において、CPU110は、窓情報を取得する。この例で、窓情報はHDD150にあらかじめ記憶されており、CPU110は、HDD150から窓情報を読み出すことにより、窓情報を取得する。
【0035】
図8は、窓情報を例示する図である。この例で、窓情報は、窓を特定する識別子(窓ID)と、窓枠の頂点の座標とを含む。
【0036】
再び図7を参照する。ステップS120において、CPU110は、対応情報を取得する。この例で、対応情報はHDD150にあらかじめ記憶されており、CPU110は、HDD150から対応情報を読み出すことにより、対応情報を取得する。
【0037】
図9は、対応情報を例示する図である。この例で、対応情報は、窓IDと、その窓に画像を形成する画像形成装置40の識別子(画像形成装置ID)とを含む。すなわち、対応情報は、複数の画像形成装置40と複数の窓とを一対一に対応させる情報を含む。
【0038】
再び図7を参照する。ステップS130において、CPU110は、特定点情報を取得する。この例で、特定点情報として、カメラ(センサ60)により取得された画像を示す画像データが用いられる。また、この例で、制御プログラムは、画像データを用いて特定点の座標を算出するモジュールを有しており、CPU110は、このモジュールを実行した結果から特定点の座標を取得する。
【0039】
図10は、特定点の座標を算出する処理を示すフローチャートである。ステップS131において、CPU110は、カメラから画像データを取得する。画像データの取得は、所定のタイミングで(例えば、所定の時間間隔、あるいは所定のイベントをトリガとして)行われる。CPU110は、カメラを特定する識別子(カメラID)とともに、得られた画像データをRAM130に記憶する。カメラはアングルが固定されており、店内の所定の座席に座っている客を撮影できる位置に設置されている。その座席に客が座っていれば、客の顔の画像が取得される。その座席が空席であれば、得られた画像に人間は写っていない。
【0040】
ステップS132において、CPU110は、取得した画像に対して顔認識処理を行う。顔認識処理には、公知のアルゴリズムが用いられる。座席に客が座っていた場合、顔認識処理により、その客の目の位置が特定される。ステップS133において、CPU110は、顔認識処理の結果を用いて、店舗内における客の目の位置(より詳細には、2つの目の中点の位置)の座標を算出する。HDD150は、カメラIDとカメラにより撮影される領域の座標(例えば、カメラのフレームの端点または中心の座標)を対応させる情報をあらかじめ記憶している。CPU110は、HDD150からこの情報を読み出し、顔認識処理の結果とあわせて、店舗内における客の目の位置を、特定点の座標として算出する。CPU110は、算出した特定点の座標を現在の特定点の座標としてRAM130に記憶する。さらに、CPU110は、1サイクル前に算出した特定点の座標を前回の特定点の座標としてRAM130に記憶する。
【0041】
ステップS134において、CPU110は、顔における目の位置に基づいて、視線の向きを算出する。すなわち、画像データは、目の位置を基準として視線の向きを示す方向ベクトルを算出する。このように画像から視線の向きが算出されるので、画像データは、特定点を基準とする向きを示す情報を含んでいるといえる。CPU110は、算出した方向ベクトルをRAM130に記憶する。
【0042】
再び図7を参照する。ステップS140において、CPU110は、現在の特定点の位置と前回の特定点の位置の差が所定の範囲(誤差の範囲)を超えたか、すなわち特定点の位置が変化したか判断する。特定点の位置が変化したと判断された場合(S140:YES)、CPU110は、処理をステップS150に移行する。特定点の位置が変化していないと判断された場合(S140:NO)、CPU110は、処理をステップS130に移行する。ステップS150で説明する射影画像の抽出は、所定の時間間隔で繰り返し行われるが、それに加えて特定点が変化したというような特定のイベントが起こったときにも、射影画像の抽出が行われる。
【0043】
ステップS150において、CPU110は、全体画像から射影画像を抽出する。射影画像の抽出は、窓を単位として、すなわち窓毎に行われる。詳細には以下のとおりである。まず、CPU110は、あらかじめ決められたアルゴリズムに従って、処理対象となる窓(以下「対象窓」という)を特定する。この例で、CPU110は、まず、特定点および方向ベクトルに対して所定の位置関係を満たす窓、より具体的には、特定点を基準とし、方向ベクトルとなす角度が所定の角度(例えば、人間の視野角に相当する角度)内にある窓を対象窓の候補として特定する。さらに、CPU110は、対象窓の候補として絞り込んだ窓の中から、特定点を基準とし、方向ベクトルとなす角度が小さい窓から1つずつ順番に対象窓を特定する。CPU110は、特定点を光源とし、仮想スクリーン上に対象窓を射影したときの射影の頂点の座標を算出する。
【0044】
図11は、特定点を光源とし、仮想スクリーン上への対象窓の射影を例示する図である。特定点PSから対象窓Wの窓枠の頂点の座標を結ぶ直線と仮想スクリーンが交わる点P1、P2、P3、およびP4が、射影の頂点の座標である。CPU110は、仮想スクリーン上において射影により切り取られる画像を、対象窓にマッピングする。マッピングにより得られた画像が、射影画像である。
【0045】
再び図7を参照する。ステップS160において、CPU110は、得られた射影画像を、対象窓に対応する画像形成装置40に出力する。さらに、CPU110は、射影画像の出力と同期して、外部装置70に制御信号を出力する。対象窓に対応する画像形成装置40は、対応情報により特定される。特に図7には示していないが、前景画像または背景画像が動画である場合に、ステップS130−160の処理は、所定の時間間隔で繰り返し行われる。
【0046】
図12は、ステップS160における射影画像を画像形成装置40に出力する処理の詳細を示すフローチャートである。ステップS161において、CPU110は、装置情報を取得する。この例で、装置情報は、あらかじめHDD150に記憶されている。CPU110は、HDD150から読み出すことにより、装置情報を取得する。CPU110は、読み出した装置情報をRAM130に記憶する。
【0047】
図13は、装置情報を例示する図である。装置情報は、外部装置70と画像形成装置40との対応関係を示す情報と、スクリーン50と画像形成装置40との位置関係を示す情報とを含んでいる。具体的には、装置情報は、外部装置IDと、画像形成措置IDと、画像形成装置の位置情報とを含んでいる。外部装置IDは、複数の外部装置70の中から1つの外部装置70を特定する識別子である。画像形成装置の位置情報は、スクリーン50との相対位置を示す情報である。図13の例で、外部装置IDがF1の外部装置70は、画像形成装置IDがP1およびP2の画像形成装置40と対応することが示されている。また、外部装置IDがF2の外部装置70は、画像形成装置IDがP3およびP4の画像形成装置40と対応することが示されている。画像形成装置IDがP5の画像形成装置40と対応する外部装置は、存在しない。画像形成装置IDがP1の画像形成装置40は、窓IDがW1の窓の右上の領域と対応することが示されている。以下、窓IDがWxの窓を単に「窓Wx」という。「窓W1」は窓IDがW1の窓を指す。
【0048】
装置情報はさらに、画像形成装置40とスクリーン50との位置関係を詳細に特定する情報として、画像形成装置40の代表点(例えば、レンズの中心)の座標と、画像形成装置の向き(例えば、レンズの向き)を示す方向ベクトルとを含んでいる。図13の例で、画像形成装置IDがP1の画像形成装置40は、座標系上において点(x1a,y1a,z1a)に位置し、ベクトル(x1b,y1b,z1b)で規定される方向を向いている。ここで用いられる座標系は、図8の窓情報に用いられた座標系と同じものである。したがって、窓情報を併用することにより、画像形成装置40とスクリーン50との詳細な位置関係が特定される。
【0049】
再び図12を参照する。ステップS162において、CPU110は、画像データに対して、装置情報に応じた加工をする。詳細には以下のとおりである。まず、CPU110は、あらかじめ決められたアルゴリズムに従って、処理対象となる射影画像を特定する。このアルゴリズムは、例えば、窓IDに従って1つずつ順番に処理対象となる射影画像を特定するものである。ここでは、窓W1に対応する射影画像が処理対象となった場合を例に説明する。
【0050】
次に、CPU110は、処理対象の射影画像を、n個に分割する。分割の数および方法は、装置情報に基づいて定められる。図13の例によれば、窓W1に対応する窓の数は4つ、すなわちn=4であることが示されている。また、窓W1は、右上、右下、左上、左下の4つの領域に分割されることが示されている。したがって、CPU110は、射影画像を、上下方向に2分割、左右方向に2分割し、合計4つの領域に分割する。
【0051】
次に、CPU110は、分割された射影画像に対し、台形補正処理を行う。CPU110は、装置情報により示される、画像形成装置40とスクリーン50との詳細な位置関係から、台形補正のパラメータを算出する(この例で、装置情報はレンズの投射角等、台形補正に必要な情報も含んでいる)。CPU110は、分割された射影画像を、算出されたパラメータを用いて変形させることにより、台形補正処理をする。すなわち、CPU110は、スクリーン50と画像形成装置40(より正確には、画像形成装置40のレンズの光軸)とがなす角度に応じて前記分割された画像を変形する。
【0052】
ステップS163において、CPU110は、加工された画像データを、画像形成装置40に出力する。加工された画像データと画像形成装置40とは、一対一に対応している。CPU110は、各画像データを、対応する画像形成装置40に出力する。
【0053】
ステップS164において、CPU110は、外部装置に制御信号を出力する。サーバ20から送られてくる画像データは、外部装置70の制御に用いられるパラメータを含んでいる。この例で、外部装置の制御に用いられるパラメータは、対象となる外部装置を特定する情報、並びに風を発生させるタイミングおよび風の強さを示す情報を含んでいる。外部装置を特定する情報は、例えば、「右」や「上」など、スクリーン50との相対的位置関係を示す情報である。例えば、外部装置を特定する情報として「右」が与えられると、CPU110は、図13の装置情報を参照し、窓W1のうち「右」に対応する外部装置として、外部装置IDがF1(「右上」および「右下」という位置情報に対応)の外部装置70を特定する。別の例で、外部装置を特定する情報として「左下」が与えられると、CPU110は、図13の装置情報を参照し、窓W1のうち「左下」に対応する外部装置として、外部装置IDがF2の外部装置70を特定する。CPU110は、画像データからこれらのパラメータを抽出し、抽出したパラメータに従って制御信号を生成する。CPU110は、生成した制御信号を、USB−IF185を介して外部装置70に出力する。
【0054】
CPU110は、対象となる射影画像を順次更新して、図12のフローを繰り返し実行する。
【0055】
図14は、画像形成システム1により形成される画像を例示する図である。この例で、窓と窓の間には壁がある。仮想スクリーンには海の中を魚が泳いでいる画像が描かれ、窓には客の視点から見た射影画像が形成される。したがって、客から見ると窓にはあたかも自分が海中にいるような画像が形成される。例えば魚が窓と窓の間を泳いでいる途中では壁に隠れて魚の姿が見えなくなるので、店舗の内部によりリアルな画像が提供される。レストランやパチンコ店の改装にはコストと時間がかかるが、画像形成システム1によればコストと時間をかけずに、店の内観を変えることができる。
【0056】
3.他の実施形態
本発明は上述の実施形態に限定されるものではなく、これ以外の態様でも実施が可能である。以下、変形例をいくつか説明する。以下で説明する変形例のうち2つ以上のものが組み合わせて用いられてもよい。以下において、上述の実施形態と共通する事項については説明を省略し、また、共通する要素には共通の参照符号を用いて説明する。
【0057】
3−1.変形例1
ステップS162における画像の加工は、実施形態で説明したものに限定されない。n個の画像形成装置40に対応する画像データを生成するものであれば、サイズの変更、色空間の変更、解像度の変更、変形、画像の合成、分割、切り取りまたは抽出、もしくはこれらの組み合わせなどどのような処理が行われてもよい。
【0058】
実施形態では、隣接する2つの画像形成装置40に出力される画像データが示す画像は、重なっている部分が無かった。しかし、隣接する2つの画像形成装置40に出力される画像データが示す画像は、オーバーラップする部分を有していてもよい。
【0059】
3−2.変形例2
情報処理装置10は、全体画像を生成する機能、すなわち画像生成手段を有していなくてもよい。この場合、情報処理装置10は、通信手段を介して、サーバ20から全体画像を取得する。またこの場合、サーバ20は、全体画像を生成する機能を有する。サーバ20は、情報処理装置10に対していわゆるストリーミング配信の技術を用いて、全体画像を送信する。
【0060】
3−3.変形例3
変形例2の場合において、情報処理装置10は、全体画像のうち一部のみをサーバ20から取得してもよい。この場合、まず情報処理装置10は、窓情報をサーバ20に送信する。サーバ20は、受信した窓情報を記憶する。サーバ20は、全体情報から、窓情報により特定される窓の位置に応じて全体画像の一部を切り出し、切り出した部分を情報処理装置10に送信する。
【0061】
窓の位置に応じて全体画像から一部を切り出すアルゴリズムとしては、例えば、窓との距離が所定の範囲内にある部分を切り出すアルゴリズムが採用される。実際に画像形成装置40により形成されるのは窓の部分の画像だけであるから、窓の近傍の画像だけを送信すれば、ネットワークのトラフィックおよび処理すべきデータ量が削減される。
【0062】
3−4.変形例4
特定点情報は向きを示す情報を含んでいなくてもよい。あるいは、特定点情報が向きを示す情報を含んでいた場合でも、情報処理装置10は、向きを示す情報に応じた処理をしなくてもよい。すなわち、図10のステップS134の処理は省略されてもよい。この場合、CPU110は、視線の向きに応じた対象窓の絞り込みを行わなくてもよい。
【0063】
3−5.変形例5
射影画像の抽出を行うタイミングは、実施形態で説明したものに限定されない。図7のステップS140の割り込み判定が行わなくてもよい。この場合、射影画像は、所定の時間間隔で定期的に抽出される。
【0064】
3−6.変形例6
情報処理装置10に特定点情報を供給するセンサ60は、実施形態で説明したカメラに限定されない。特定点情報を供給できるものであれば、どのようなセンサが用いられてもよい。例えば、センサ60としてRFID(Radio Frequency IDentification)リーダが用いられてもよい。この場合、客はRFIDタグを身に付ける。RFIDリーダをレストランのフロアやテーブルに一定の間隔で配置することにより、客の位置を特定することができる。その他、光センサ、温度センサ、タッチセンサ、静電センサなどが用いられてもよい。
【0065】
また、センサの配置は、特定点の位置を、システムが要求する精度で特定できるものであれば、どのような配置であってもよい。例えば、一つのテーブルを囲むように複数のカメラを配置してもよいし、スクリーン50の周辺に1台のカメラを配置してもよい。
【0066】
3−7.変形例7
特定点情報の取得元は、センサ60に限定されない。特定点情報取得手段は、RAM130等の記憶手段S1から特定点情報を取得してもよい。この場合、店員が特定点情報として客の位置を情報処理装置10にマニュアルで入力し、情報処理装置10のCPU110は、入力された特定点情報をRAM130に記憶する。図7のステップS130において、CPU110は、RAM130から特定点情報を読み出すことにより、特定点情報を取得する。別の例で、特定点の位置は、システムの設計上ある位置に固定されていてもよい。この場合、特定点情報は、システムのパラメータとしてHDD150に記憶されている。CPU110は、HDD150から特定点情報を読み出すことにより、特定点情報を取得する。
【0067】
3−8.変形例8
仮想スクリーンは、実施形態で説明したものに限定されない。あらかじめ決められた大きさおよび形状を有し、部屋(窓)との位置関係が規定されているものであれば、どのような仮想スクリーンが用いられてもよい。例えば、仮想スクリーンの形状は半球でなく、球、直方体、多角形、またはこれらの組み合わせなど、どのような形状でもよい。また、図11では仮想スクリーンが部屋の外側にある例を説明したが、仮想スクリーンはその一部または全部が部屋の中にあってもよい。
【0068】
3−9.変形例9
画像形成装置40とスクリーン50の位置関係は、図6で説明したものに限定されない。店舗の壁が一枚であり、店舗内にある画像形成装置40から窓に画像を投射する構成としてもよい。あるいは、壁や窓以外のものがスクリーン50として用いられてもよい。
【0069】
3−10.変形例10
画像形成装置40はプロジェクタに限定されない。スクリーン50に画像を形成できるのであれば、どのような装置であってもよい。また、画像形成装置40は、スクリーン50を内蔵していてもよい。例えば、画像形成装置40は、リアプロジェクションディスプレイ、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ、プラズマディスプレイであってもよい。
【0070】
3−11.変形例11
本稿でいう「窓」は、現実および仮想の窓の双方を含む。「現実の窓」とは、物理的な構造体としての窓をいう。この場合、図6のように窓枠とスクリーン50とが異なる面に形成される構造であってもよいし、スクリーン50が窓枠と同じ面(すなわち窓枠の中)に形成される構造であってもよい。「仮想の窓」とは、物理的な構造体としての窓ではないスクリーン50に窓枠も含めた画像を形成したもの、すなわち壁に窓枠も含めた画像を形成したものをいう。
【0071】
3−12.変形例12
窓情報の取得元は、HDD150に限定されない。窓情報取得手段12は、情報処理装置10以外の他の装置から窓情報を取得してもよい。特に、仮想の窓が用いられ、窓の位置が変化する場合に、窓の位置を検出する装置から窓情報を取得してもよい。また、窓情報の形式は、図8に例示されるものに限定されない。例えば、窓の形状があらかじめ決められたものに限定されている場合、その形状に応じたパラメータが窓情報として用いられる。具体的には、窓の形状が円であれば、中心の座標および半径が窓情報として用いられる。あるいは、窓の形状が長方形であれば、対角線の端点の座標が窓情報として用いられる。
【0072】
さらに、装置情報の取得元も、HDD150に限定されない。装置情報取得手段11は、情報処理装置10以外の他の装置から窓情報を取得してもよい。
【0073】
3−13.変形例13
全体画像、窓情報、対応情報、および特定点情報を取得する順番は図7に示されるものに限定されない。射影画像を抽出する時点で処理に用いられる情報が取得できていれば、これらの情報がどのような順番で取得されてもよい。
また、画像データおよび制御信号を出力する順番は図12に示されるものに限定されない。画像形成装置40に画像データを、外部装置70に制御信号を出力するものであれば、これらのデータ、信号がどのような順番で出力されてもよい。
【0074】
3−14.変形例14
外部装置70は、実施形態で説明したものに限定されない。情報処理装置10からの制御信号に従って動作するものであれば、どのような装置が外部装置70として用いられてもよい。例えば、窓近傍の物理状態(風量、温度、光量、湿度、音など)を変化させるもの(扇風機、エアコン、照明器具、スピーカーなど)が用いられてもよい。
【0075】
3−15.他の変形例
情報処理装置10のハードウェア構成は図3で示されるものに限定されない。必要な機能構成を実現できるものであれば、どのようなハードウェア構成を有する装置が用いられてもよい。また、情報処理装置10の機能構成とハードウェア構成の対応関係は、実施形態で説明したものに限定されない。例えば上述の実施形態では、制御プログラムを実行しているCPU110が、画像取得手段12、対応情報取得手段13、対応情報取得手段13、特定点情報取得手段14、画像抽出手段15、および画像生成手段17としての機能を兼ね備えていたが、これらのうち1つ以上の機能が、CPU110以外のプロセッサにより実装されてもよい。また、各機能構成要素は、汎用プロセッサとプログラムの協働により実装されてもよいし、ASIC(Application Specific Integrated Circuit)のように特定の機能を有するプロセッサとして実装されてもよい。あるいは、物理的に別体の複数のプロセッサが協働して、これらの要素として機能してもよい。サーバ20についても同様である。
【0076】
画像形成装置40が、情報処理装置10としての機能を兼ね備えていてもよい。
【0077】
実施形態では部屋に複数の窓が存在する例について説明したが、部屋の窓の数はひとつであってもよい。
【0078】
上述の実施形態においてCPU110またはCPU210によって実行されるプログラムは、磁気記録媒体(磁気テープ、磁気ディスク(HDD(Hard Disk Drive)、FD(Flexible Disk))など)、光記録媒体(光ディスク(CD(Compact Disk)、DVD(Digital Versatile Disk))など)、光磁気記録媒体、半導体メモリ(フラッシュROMなど)などのコンピュータ読取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットのようなネットワーク経由でダウンロードされてもよい。
【図面の簡単な説明】
【0079】
【図1】一実施形態に係る画像形成システム1の構成を示すブロック図である。
【図2】情報処理装置10の機能構成を示す図である。
【図3】情報処理装置10のハードウェア構成を示す図である。
【図4】サーバ20の機能構成を示す図である。
【図5】サーバ20のハードウェア構成を示す図である。
【図6】画像形成装置40とスクリーン50との位置関係を例示する図である。
【図7】情報処理装置10の動作を示すフローチャートである。
【図8】窓情報を例示する図である。
【図9】対応情報を例示する図である。
【図10】特定点の座標を算出する処理を示すフローチャートである。
【図11】仮想スクリーン上への対象窓の射影を例示する図である。
【図12】射影画像を出力する処理の詳細を示すフローチャートである。
【図13】装置情報を例示する図である。
【図14】画像形成システム1により形成される画像を例示する図である。
【符号の説明】
【0080】
S1…記憶手段、1…画像形成システム、S2…記憶手段、10…情報処理装置、11…装置情報取得手段、12…画像取得手段、13…加工手段、14…画像出力手段、15…制御信号出力手段、16…対応情報取得手段、20…サーバ、22…選択手段、23…出力手段、30…ネットワーク、40…画像形成装置、50…スクリーン、60…センサ、70…外部装置、71…壁、72…壁、73…窓枠、110…CPU、120…ROM、130…RAM、140…I/F、150…HDD、160…キーボード・マウス、170…ディスプレイ、180…ネットワークIF、185…USB−IF、190…バス、210…CPU、220…ROM、230…RAM、240…I/F、250…HDD、260…キーボード・マウス、270…ディスプレイ、280…ネットワークIF、290…バス
【特許請求の範囲】
【請求項1】
画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得する装置情報取得手段と、
前記外部装置を制御するパラメータを含む画像データを取得する画像取得手段と、
前記画像取得手段により取得された画像データに対して、前記装置情報に応じた加工をする加工手段と、
前記加工手段により加工された画像データを、前記装置情報により特定される画像形成装置に出力する画像出力手段と、
前記画像取得手段により取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力する制御信号出力手段と
を有する情報処理装置。
【請求項2】
1つのスクリーンとn個(n≧1)の画像形成装置とを対応させる対応情報を取得する対応情報取得手段を有し、
前記装置情報が、前記1つのスクリーンと前記n個の画像形成装置との位置関係を示す位置情報を含み、
前記加工手段は、前記画像のうちそれぞれ前記位置情報に対応した部分を含むn個の画像データを生成し、
前記画像出力手段は、前記生成されたn個の画像データをそれぞれ対応する画像形成装置に出力する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記加工手段は、前記画像を、それぞれ前記位置情報に対応した部分を示すn個の画像データに分割する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記加工手段は、前記スクリーンと前記画像形成装置とがなす角度に応じて前記分割された画像を変形する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記外部装置は、風を発生する装置である
ことを特徴とする請求項1−3のいずれかの項に記載の情報処理装置。
【請求項6】
コンピュータ装置に、
画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得するステップと、
画像を示し、前記外部装置を制御するパラメータを含む画像データを取得するステップと、
前記取得された画像データを、前記装置情報に応じて加工をするステップと、
前記加工された画像データを、前記装置情報により特定される画像形成装置に出力するステップと、
前記取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力するステップと
を実行させるプログラム。
【請求項1】
画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得する装置情報取得手段と、
前記外部装置を制御するパラメータを含む画像データを取得する画像取得手段と、
前記画像取得手段により取得された画像データに対して、前記装置情報に応じた加工をする加工手段と、
前記加工手段により加工された画像データを、前記装置情報により特定される画像形成装置に出力する画像出力手段と、
前記画像取得手段により取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力する制御信号出力手段と
を有する情報処理装置。
【請求項2】
1つのスクリーンとn個(n≧1)の画像形成装置とを対応させる対応情報を取得する対応情報取得手段を有し、
前記装置情報が、前記1つのスクリーンと前記n個の画像形成装置との位置関係を示す位置情報を含み、
前記加工手段は、前記画像のうちそれぞれ前記位置情報に対応した部分を含むn個の画像データを生成し、
前記画像出力手段は、前記生成されたn個の画像データをそれぞれ対応する画像形成装置に出力する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記加工手段は、前記画像を、それぞれ前記位置情報に対応した部分を示すn個の画像データに分割する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記加工手段は、前記スクリーンと前記画像形成装置とがなす角度に応じて前記分割された画像を変形する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記外部装置は、風を発生する装置である
ことを特徴とする請求項1−3のいずれかの項に記載の情報処理装置。
【請求項6】
コンピュータ装置に、
画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得するステップと、
画像を示し、前記外部装置を制御するパラメータを含む画像データを取得するステップと、
前記取得された画像データを、前記装置情報に応じて加工をするステップと、
前記加工された画像データを、前記装置情報により特定される画像形成装置に出力するステップと、
前記取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力するステップと
を実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−87548(P2010−87548A)
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願番号】特願2008−250947(P2008−250947)
【出願日】平成20年9月29日(2008.9.29)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願日】平成20年9月29日(2008.9.29)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]