(57)【要約】【課題】低コストで部屋の内観を変更すること。【解決手段】情報処理装置は、画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得する装置情報取得手段と、画像を示し、前記外部装置を制御するパラメータを含む画像データを取得する画像取得手段と、前記画像取得手段により取得された画像データに対して、前記装置情報に応じた加工をする画像加工手段と、前記画像加工手段により加工された画像データを、前記装置情報により特定される画像形成装置に出力する画像出力手段と、前記画像取得手段により取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力する制御信号出力手段とを有する。【選択図】図２
2010087548.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得する装置情報取得手段と、
前記外部装置を制御するパラメータを含む画像データを取得する画像取得手段と、
前記画像取得手段により取得された画像データに対して、前記装置情報に応じた加工をする加工手段と、
前記加工手段により加工された画像データを、前記装置情報により特定される画像形成装置に出力する画像出力手段と、
前記画像取得手段により取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力する制御信号出力手段と
を有する情報処理装置。
【請求項２】
１つのスクリーンとｎ個（ｎ≧１）の画像形成装置とを対応させる対応情報を取得する対応情報取得手段を有し、
前記装置情報が、前記１つのスクリーンと前記ｎ個の画像形成装置との位置関係を示す位置情報を含み、
前記加工手段は、前記画像のうちそれぞれ前記位置情報に対応した部分を含むｎ個の画像データを生成し、
前記画像出力手段は、前記生成されたｎ個の画像データをそれぞれ対応する画像形成装置に出力する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記加工手段は、前記画像を、それぞれ前記位置情報に対応した部分を示すｎ個の画像データに分割する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記加工手段は、前記スクリーンと前記画像形成装置とがなす角度に応じて前記分割された画像を変形する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記外部装置は、風を発生する装置である
ことを特徴とする請求項１−３のいずれかの項に記載の情報処理装置。
【請求項６】
コンピュータ装置に、
画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得するステップと、
画像を示し、前記外部装置を制御するパラメータを含む画像データを取得するステップと、
前記取得された画像データを、前記装置情報に応じて加工をするステップと、
前記加工された画像データを、前記装置情報により特定される画像形成装置に出力するステップと、
前記取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力するステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
レストランのような飲食店やパチンコ店のような遊技場において、内装の改装は新たな顧客を吸引する効果がある。しかし一方で改装にはコストがかかるという問題があった。そこで、改装する代わりに壁にかける絵を変更することが行われている。
ここで、例えば特許文献１には、３次元仮想空間内で任意の画像を抽出するシステムが、特許文献２には、スクリーンに全体画像を投影する際に複数の部分画像に分けて投影する技術が開示されている。
【０００３】
【特許文献１】特開平９−２１２６８６号公報
【特許文献２】特開２００４−３４９９８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１および２に記載された技術によっても、店舗等の部屋の内観を変更することはできなかった。
これに対し本発明は、より低コストで部屋の内観を変更する技術を提供する。
【課題を解決するための手段】
【０００５】
本発明は、画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得する装置情報取得手段と、画像を示し、前記外部装置を制御するパラメータを含む画像データを取得する画像取得手段と、前記画像取得手段により取得された画像データを、前記装置情報に応じて加工をする画像加工手段と、前記画像加工手段により加工された画像データを、前記装置情報により特定される画像形成装置に出力する画像出力手段と、前記画像取得手段により取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力する制御信号出力手段とを有する情報処理装置を提供する。
この情報処理装置によれば、画像形成装置により形成される画像と同期して、室内の状態を変化させる外部装置が制御される。
【０００６】
好ましい態様において、前記情報処理装置は、１つのスクリーンとｎ個（ｎ≧１）の画像形成装置とを対応させる対応情報を取得する対応情報取得手段を有し、前記装置情報が、前記１つのスクリーンと前記ｎ個の画像形成装置との位置関係を示す位置情報を含み、前記加工手段は、前記加工として、前記画像のうちそれぞれ前記位置情報に対応した部分を含むｎ個の画像データを生成し、前記画像出力手段は、前記生成されたｎ個の画像データをそれぞれ対応する画像形成装置に出力してもよい。
この情報処理装置によれば、ｎ個の画像形成装置により１つのスクリーンに画像が形成される。
【０００７】
別の好ましい態様において、前記加工手段は、前記加工として、前記画像を、それぞれ前記位置情報に対応した部分を示すｎ個の画像データに分割してもよい。
この情報処理装置によれば、各画像形成装置は、分割された画像を形成する。
【０００８】
さらに別の好ましい態様において、前記加工手段は、前記加工として、前記スクリーンと前記画像形成装置とがなす角度に応じて前記分割された画像を変形してもよい。
この情報処理装置によれば、各画像形成装置は、スクリーンとなす角度に応じて変形された画像を形成する。
【０００９】
さらに別の好ましい態様において、前記外部装置は、風を発生する装置であってもよい。
この情報処理装置によれば、画像形成装置により形成される画像と同期して、風が発生される。
【００１０】
また、本発明は、コンピュータ装置に、画像形成装置と、前記画像形成装置に対応する外部装置とを特定する装置情報を取得するステップと、画像を示し、前記外部装置を制御するパラメータを含む画像データを取得するステップと、前記取得された画像データを、前記装置情報に応じて加工をするステップと、前記加工された画像データを、前記装置情報により特定される画像形成装置に出力するステップと、前記取得された画像データに含まれるパラメータに応じて、前記外部装置を制御する制御信号を前記外部装置に出力するステップとを実行させるプログラムを提供する。
このプログラムによれば、画像形成装置により形成される画像と同期して、室内の状態を変化させる外部装置が制御される。
【発明を実施するための最良の形態】
【００１１】
１．構成
図１は、本発明の一実施形態に係る画像形成システム１の構成を示すブロック図である。画像形成システム１は、いわゆるデジタルサイネージシステムである。画像形成システム１は、店舗等の所定の部屋の中に画像を形成する。画像形成システム１は、複数の画像形成装置４０（画像形成装置４０−１、画像形成装置４０−２、画像形成装置４０−３、画像形成装置４０−４、画像形成装置４０−５、画像形成装置４０−６、画像形成装置４０−７）と、複数のスクリーン５０（スクリーン５０−１、スクリーン５０−２、スクリーン５０−３）と、複数のセンサ６０（センサ６０−１、センサ６０−２、センサ６０−３）と、複数の外部装置７０（外部装置７０−１、外部装置７０−２、外部装置７０−３）と、情報処理装置１０と、サーバ２０とを有する。
【００１２】
画像形成装置４０およびスクリーン５０は、レストランの店舗等、所定の部屋の中に設置されている。ｎ個（ｎは、ｎ≧１を満たす自然数）の画像形成装置４０が、１つのスクリーン５０に対応している。情報処理装置１０とサーバ２０とは、ネットワーク３０（例えばインターネット）を介して接続されている。この例で、部屋の壁に設けられた窓がスクリーン５０として用いられる。
【００１３】
１−１．情報処理装置１０
図２は、情報処理装置１０の機能構成を示す図である。情報処理装置１０は、複数の画像形成装置４０を制御する、画像処理装置の一例である。装置情報取得手段１１は、装置情報を取得する。「装置情報」とは、画像形成装置４０と、画像形成装置４０に対応する外部装置７０とを特定する情報をいう。画像取得手段１２は、画像を示す画像データを取得する。ここで、画像データは、外部装置７０を制御するパラメータを含んでいる。加工手段１３は、画像取得手段１２により取得された画像データに対して、装置情報に応じた加工をする。画像出力手段１４は、加工手段１３により加工された画像データを、前記装置情報により特定される画像形成装置に出力する。制御信号出力手段１５は、画像取得手段１２により取得された画像データに含まれるパラメータに応じて、外部装置７０を制御する制御信号を外部装置７０に出力する。
【００１４】
対応情報取得手段１６は対応情報を取得する。「対応情報」とは、１つのスクリーン５０とｎ個の画像形成装置４０とを対応させる情報をいう。画像形成装置４０は、窓の枠を通して見える位置に画像を形成する。「窓の枠を通して見える位置に画像を形成する」とは、部屋の内部から窓を見たときに、画像形成装置４０により形成される画像の少なくとも一部が、窓の枠の中に形成されることをいう。この例で、装置情報は、位置情報を含んでいる。「位置情報」とは、１つのスクリーン５０とｎ個の画像形成装置４０との位置関係を示す情報をいう。加工手段１３は、加工として、画像取得手段１２により取得された画像データから、ｎ個の画像データを生成する。ｎ個の画像データはｎ個の画像形成装置４０と１対１に対応する。各画像データは、画像のうち、対応する画像形成装置４０の位置情報に対応した部分を含んでいる。より詳細には、加工手段１３は、加工として、画像を、それぞれ位置情報に対応した部分を示すｎ個の画像を示すデータに分割する。画像出力手段１４は、生成されたｎ個の画像データを、それぞれ対応する画像形成装置４０に出力する。
【００１５】
この例で、加工手段１３は、加工として、スクリーン５０と画像形成装置４０とがなす角度に応じて分割された画像を変形する処理をさらに行う。外部装置７０は、風を発生する装置、例えば、送風機、扇風機、エアコンなどである。記憶手段Ｓ１は、プログラムやデータを記憶する。この例で、装置情報取得手段１１および対応情報取得手段１６は、記憶手段Ｓ１から装置情報および対応情報を取得する。画像取得手段１２は、サーバ２０から画像データを取得する。
【００１６】
また、図２には示してないが、情報処理装置１０は、以下の機能を有する。画像取得手段は、あらかじめ決められた大きさおよび形状を有する仮想スクリーン上に描かれる画像（以下、「全体画像」という）を示すデータを取得する。窓情報取得手段は、窓情報を取得する。「窓情報」とは、仮想スクリーンと所定の位置関係にある部屋の壁に設けられた窓の位置および形状を特定する情報である。特定点情報取得手段は、特定点情報を取得する。「特定点情報」とは、その部屋の中に存在する特定点の位置を特定する情報である。「特定点」とは、所定の対象物を代表する点である。画像抽出手段は、画像取得手段により取得された画像に対して特定点情報により特定される特定点を光源としたときの窓における射影を示す画像を抽出する。以下、この射影を示す画像を「射影画像」という。
【００１７】
この例で、特定点情報取得手段は、室内に設けられたセンサ６０から特定点情報を取得する。画像抽出手段は、特定点情報により示される特定点の位置が変化すると、射影画像を抽出する。特定点情報は、特定点を基準とする向きを示す情報を含んでおり、画像抽出手段は、窓の位置が特定点およびその向きと所定の条件を満たす場合に、射影画像を抽出する。
【００１８】
さらにこの例で、画像生成手段は、仮想スクリーン上に描かれる画像を生成する。画像抽出手段は、前記画像生成手段により生成された画像から、射影画像を抽出する。記憶手段は、システムの動作に用いられるプログラムやデータを記憶する。通信手段は、ネットワーク３０を介した通信を行う。
【００１９】
図３は、情報処理装置１０のハードウェア構成を示す図である。この例で、情報処理装置１０はいわゆるパーソナルコンピュータである。ＣＰＵ（Central Processing Unit）１１０は、情報処理装置１０の構成要素を制御する制御装置である。ＲＯＭ（Read Only Memory）１２０は、情報処理装置１０の起動に必要なデータおよびプログラムを記憶する記憶装置である。ＲＡＭ（Random Access Memory）１３０は、ＣＰＵ１１０がプログラムを実行する際の作業領域として機能する記憶装置である。Ｉ／Ｆ（Interface）１４０は、種々の入出力装置や記憶装置との間でデータおよび制御信号の入出力をするインターフェースである。ＨＤＤ（Hard Disk Drive）１５０は、各種プログラムおよびデータを記憶する記憶装置である。キーボード・マウス１６０は、ユーザが情報処理装置１０に対して指示入力を行うのに用いられる入力装置である。ディスプレイ１７０は、データの内容あるいは処理の状況などを表示する出力装置である。ネットワークＩＦ１８０は、ネットワーク３０を介して接続された他の装置との間でデータの送受信を行うためのインターフェースである。ＵＳＢ（Universal Serial Bus）−ＩＦ１８５は、ＵＳＢ規格に従ったインターフェースである。バス１９０は、データの伝送路である。ＣＰＵ１１０、ＲＯＭ１２０、ＲＡＭ１３０、およびＩ／Ｆ１４０は、バス１９０を介して接続されている。
【００２０】
情報処理装置１０は、ＵＳＢ−ＩＦ１８５を介して画像形成装置４０と接続されている。情報処理装置１０は、ＵＳＢ−ＩＦ１８５を介して、画像形成装置４０にデータおよび制御信号を出力する。
【００２１】
ＨＤＤ１５０は、情報処理装置１０を制御する制御プログラムを記憶している。ＣＰＵ１１０が制御プログラムを実行することにより、図２に示される機能が情報処理装置１０に実装される。この例で、制御プログラムを実行しているＣＰＵ１１０は、装置情報取得手段１１、画像取得手段１２、加工手段１３、および対応情報取得手段１６の一例である。制御プログラムは複数のプログラムモジュールまたはサブルーチンを有し、各プログラムモジュールまたはサブルーチンが、各機能構成要素に対応する。ＣＰＵ１１０と共働しているＵＳＢ−ＩＦ１８５は、画像出力手段１４および制御信号出力手段１５の一例である。ＲＯＭ１２０、ＲＡＭ１３０、およびＨＤＤ１５０は、記憶手段Ｓ１の一例である。ネットワークＩＦ１８０は、通信手段の一例である。
【００２２】
１−２．サーバ２０
図４は、サーバ２０の機能構成を示す図である。記憶手段Ｓ２は、全体画像の生成に用いられるデータを記憶している。「全体画像の生成に用いられるデータ」とは、全体画像そのもの、あるいは、全体画像の素材を示すデータ（以下、「素材データ」という）である。「全体画像の素材」は、背景画像および前景画像を含む。「前景画像」は複数のオブジェクトを含む。例えば、背景画像は海の中の風景（海底、岩、海水など）を示す画像であり、前景画像は、海の中で動いているもの（魚、海藻など）を示す画像である。「画像」は静止画および動画を含む概念である。選択手段２２は、あらかじめ決められたアルゴリズムに従って、選択手段２２に記憶されているデータの中から、情報処理装置１０に出力するデータを選択する。このアルゴリズムは、例えば、情報処理装置１０のリクエストに応じてデータを選択するものである。あるいは、このアルゴリズムは、情報処理装置１０の属性（情報処理装置１０が設置されている場所、設置されている部屋の大きさまたは用途、情報処理装置１０が設置されている場所の時刻など）に応じてデータを選択するものである。出力手段２３は、選択手段２２により選択されたデータを情報処理装置１０に出力する。
【００２３】
図５は、サーバ２０のハードウェア構成を示す図である。ＣＰＵ２１０は、サーバ２０の構成要素を制御する制御装置である。ＲＯＭ２２０は、サーバ２０の起動に必要なデータおよびプログラムを記憶する記憶装置である。ＲＡＭ２３０は、ＣＰＵ２１０がプログラムを実行する際の作業領域として機能する記憶装置である。Ｉ／Ｆ２４０は、種々の入出力装置や記憶装置との間でデータおよび制御信号の入出力をするインターフェースである。ＨＤＤ２５０は、各種プログラムおよびデータを記憶する記憶装置である。キーボード・マウス２６０は、ユーザがサーバ２０に対して指示入力を行うのに用いられる入力装置である。ディスプレイ２７０は、データの内容あるいは処理の状況などを表示する出力装置である。ネットワークＩＦ２８０は、ネットワーク３０を介して接続された他の装置との間でデータの送受信を行うためのインターフェースである。バス２９０は、データの伝送路である。ＣＰＵ２１０、ＲＯＭ２２０、ＲＡＭ２３０、およびＩ／Ｆ２４０は、バス２９０を介して接続されている。
【００２４】
ＨＤＤ２５０は、サーバ２０を制御する制御プログラムを記憶している。ＣＰＵ２１０が制御プログラムを実行することにより、図４に示される機能がサーバ２０に実装される。この例で、制御プログラムを実行しているＣＰＵ２１０は、選択手段２２、および出力手段２３の一例である。ＲＯＭ２２０、ＲＡＭ２３０、およびＨＤＤ２５０は、記憶手段Ｓ２の一例である。制御プログラムは複数のプログラムモジュールまたはサブルーチンを有し、各プログラムモジュールまたはサブルーチンが、各機能構成要素に対応する。
【００２５】
１−３．画像形成装置４０
画像形成装置４０は、スクリーン５０に画像を形成する装置である。この例で、画像形成装置４０は、スクリーン５０に映像を投射するプロジェクタである。画像形成装置４０はＵＳＢ−ＩＦ１８５を介して情報処理装置１０に接続されている。情報処理装置１０は、形成する画像を示すデータを、ＵＳＢ−ＩＦ１８５を介して画像形成装置４０に供給する。
【００２６】
図６は、画像形成装置４０とスクリーン５０との位置関係を例示する図である。この例で、部屋は壁７１により仕切られている。壁７１の内部にはさらに壁７２が設けられている。壁７２には、窓枠７３が設けられている。壁７１は窓枠７３の外側に位置し、スクリーン５０として機能する。画像形成装置４０は、壁７１と壁７２の間に設置されている。このような配置により、室内にいるユーザから画像形成装置４０が見えない（あるいは見えにくい）状態になり、室内の美観が損なわれない。
【００２７】
１−４．センサ６０
センサ６０は、室内の状態をセンシングする装置である。この例で、センサ６０はカメラすなわち画像センサである。センサ６０は、室内の所定の位置に複数設置されている。センサ６０はＵＳＢ−ＩＦ１８５を介して情報処理装置１０に接続されている。情報処理装置１０は、カメラが取得した画像を、ＵＳＢ−ＩＦ１８５を介して取得する。
【００２８】
１−５．外部装置７０
外部装置７０は、情報処理装置１０からの制御信号に従って動作する装置である。この例で、外部装置７０は風を発生させる装置すなわち送風機である。外部装置７０はＵＳＢ−ＩＦ１８５を介して情報処理装置１０に接続されている。情報処理装置１０は、ＵＳＢ−ＩＦ１８５を介して、外部装置７０に制御信号を出力する。
【００２９】
２．動作
続いて、画像形成システム１の動作を説明する。ここでは、部屋がレストランの店舗であり、店舗内の窓に映像を投影する例について説明する。また、この例で仮想スクリーンは半球のドーム状の形状を有している。この半球は、中心が店舗の床の重心と一致するように設定されている。
【００３０】
図７は、画像形成システム１のうち、特に情報処理装置１０の動作を示すフローチャートである。図７のフローは、例えばユーザが情報処理装置１０に対し制御プログラムの実行を指示したことを契機として開始される。ＣＰＵ１１０が制御プログラムを実行することにより、以下の処理が行われる。
【００３１】
ステップＳ１００において、ＣＰＵ１１０は、全体画像を取得する。この例で、制御プログラムは、全体画像を生成するモジュールを有しており、ＣＰＵ１１０は、このモジュールを実行した結果得られるデータを全体画像として取得する。
【００３２】
全体画像を生成するモジュールの機能は以下のとおりである。ＣＰＵ１１０は、サーバ２０から、全体画像の素材データを取得する。素材データは、背景画像のデータおよび前景画像のデータを含んでいる。いま、背景画像として海中の風景の画像が、前景画像として魚の画像が用いられる例について説明する。
【００３３】
ＨＤＤ１５０は、仮想スクリーンの位置および大きさを特定するパラメータ（例えば、球の中心の座標および球の半径）を記憶している。ＣＰＵ１１０は、このパラメータをＨＤＤ１５０から読み出す。ＣＰＵ１１０は、読み出したパラメータにより特定される仮想スクリーンに相当する記憶領域を、ＲＡＭ１３０上に確保する。この記憶領域は、背景用記憶領域、前景用記憶領域および合成用記憶領域を含んでいる。ＣＰＵ１１０は、背景用記憶領域に背景画像のデータを書き込み、前景用記憶領域に前景画像のデータを書き込む。この例で、前景画像は動画である。また、前景画像は、複数のオブジェクト（例えば、複数の魚の画像）を含む。前景画像はオブジェクトを単位として更新される。すなわち、複数の魚が１匹づつ異なる動きをするように、前景画像が更新される。オブジェクトの変化のさせ方（例えば魚の動き）は、あらかじめプログラムされている。ＣＰＵ１１０は、所定の時間間隔で、前景画像を書き替える。これにより、例えば魚が泳いで移動する様子が表現される。ＣＰＵ１１０は、前景画像と背景画像を合成した画像のデータを合成用記憶領域に書き込む。こうして、全体画像が生成される。
【００３４】
ステップＳ１１０において、ＣＰＵ１１０は、窓情報を取得する。この例で、窓情報はＨＤＤ１５０にあらかじめ記憶されており、ＣＰＵ１１０は、ＨＤＤ１５０から窓情報を読み出すことにより、窓情報を取得する。
【００３５】
図８は、窓情報を例示する図である。この例で、窓情報は、窓を特定する識別子（窓ＩＤ）と、窓枠の頂点の座標とを含む。
【００３６】
再び図７を参照する。ステップＳ１２０において、ＣＰＵ１１０は、対応情報を取得する。この例で、対応情報はＨＤＤ１５０にあらかじめ記憶されており、ＣＰＵ１１０は、ＨＤＤ１５０から対応情報を読み出すことにより、対応情報を取得する。
【００３７】
図９は、対応情報を例示する図である。この例で、対応情報は、窓ＩＤと、その窓に画像を形成する画像形成装置４０の識別子（画像形成装置ＩＤ）とを含む。すなわち、対応情報は、複数の画像形成装置４０と複数の窓とを一対一に対応させる情報を含む。
【００３８】
再び図７を参照する。ステップＳ１３０において、ＣＰＵ１１０は、特定点情報を取得する。この例で、特定点情報として、カメラ（センサ６０）により取得された画像を示す画像データが用いられる。また、この例で、制御プログラムは、画像データを用いて特定点の座標を算出するモジュールを有しており、ＣＰＵ１１０は、このモジュールを実行した結果から特定点の座標を取得する。
【００３９】
図１０は、特定点の座標を算出する処理を示すフローチャートである。ステップＳ１３１において、ＣＰＵ１１０は、カメラから画像データを取得する。画像データの取得は、所定のタイミングで（例えば、所定の時間間隔、あるいは所定のイベントをトリガとして）行われる。ＣＰＵ１１０は、カメラを特定する識別子（カメラＩＤ）とともに、得られた画像データをＲＡＭ１３０に記憶する。カメラはアングルが固定されており、店内の所定の座席に座っている客を撮影できる位置に設置されている。その座席に客が座っていれば、客の顔の画像が取得される。その座席が空席であれば、得られた画像に人間は写っていない。
【００４０】
ステップＳ１３２において、ＣＰＵ１１０は、取得した画像に対して顔認識処理を行う。顔認識処理には、公知のアルゴリズムが用いられる。座席に客が座っていた場合、顔認識処理により、その客の目の位置が特定される。ステップＳ１３３において、ＣＰＵ１１０は、顔認識処理の結果を用いて、店舗内における客の目の位置（より詳細には、２つの目の中点の位置）の座標を算出する。ＨＤＤ１５０は、カメラＩＤとカメラにより撮影される領域の座標（例えば、カメラのフレームの端点または中心の座標）を対応させる情報をあらかじめ記憶している。ＣＰＵ１１０は、ＨＤＤ１５０からこの情報を読み出し、顔認識処理の結果とあわせて、店舗内における客の目の位置を、特定点の座標として算出する。ＣＰＵ１１０は、算出した特定点の座標を現在の特定点の座標としてＲＡＭ１３０に記憶する。さらに、ＣＰＵ１１０は、１サイクル前に算出した特定点の座標を前回の特定点の座標としてＲＡＭ１３０に記憶する。
【００４１】
ステップＳ１３４において、ＣＰＵ１１０は、顔における目の位置に基づいて、視線の向きを算出する。すなわち、画像データは、目の位置を基準として視線の向きを示す方向ベクトルを算出する。このように画像から視線の向きが算出されるので、画像データは、特定点を基準とする向きを示す情報を含んでいるといえる。ＣＰＵ１１０は、算出した方向ベクトルをＲＡＭ１３０に記憶する。
【００４２】
再び図７を参照する。ステップＳ１４０において、ＣＰＵ１１０は、現在の特定点の位置と前回の特定点の位置の差が所定の範囲（誤差の範囲）を超えたか、すなわち特定点の位置が変化したか判断する。特定点の位置が変化したと判断された場合（Ｓ１４０：ＹＥＳ）、ＣＰＵ１１０は、処理をステップＳ１５０に移行する。特定点の位置が変化していないと判断された場合（Ｓ１４０：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ１３０に移行する。ステップＳ１５０で説明する射影画像の抽出は、所定の時間間隔で繰り返し行われるが、それに加えて特定点が変化したというような特定のイベントが起こったときにも、射影画像の抽出が行われる。
【００４３】
ステップＳ１５０において、ＣＰＵ１１０は、全体画像から射影画像を抽出する。射影画像の抽出は、窓を単位として、すなわち窓毎に行われる。詳細には以下のとおりである。まず、ＣＰＵ１１０は、あらかじめ決められたアルゴリズムに従って、処理対象となる窓（以下「対象窓」という）を特定する。この例で、ＣＰＵ１１０は、まず、特定点および方向ベクトルに対して所定の位置関係を満たす窓、より具体的には、特定点を基準とし、方向ベクトルとなす角度が所定の角度（例えば、人間の視野角に相当する角度）内にある窓を対象窓の候補として特定する。さらに、ＣＰＵ１１０は、対象窓の候補として絞り込んだ窓の中から、特定点を基準とし、方向ベクトルとなす角度が小さい窓から１つずつ順番に対象窓を特定する。ＣＰＵ１１０は、特定点を光源とし、仮想スクリーン上に対象窓を射影したときの射影の頂点の座標を算出する。
【００４４】
図１１は、特定点を光源とし、仮想スクリーン上への対象窓の射影を例示する図である。特定点ＰSから対象窓Ｗの窓枠の頂点の座標を結ぶ直線と仮想スクリーンが交わる点Ｐ1、Ｐ2、Ｐ3、およびＰ4が、射影の頂点の座標である。ＣＰＵ１１０は、仮想スクリーン上において射影により切り取られる画像を、対象窓にマッピングする。マッピングにより得られた画像が、射影画像である。
【００４５】
再び図７を参照する。ステップＳ１６０において、ＣＰＵ１１０は、得られた射影画像を、対象窓に対応する画像形成装置４０に出力する。さらに、ＣＰＵ１１０は、射影画像の出力と同期して、外部装置７０に制御信号を出力する。対象窓に対応する画像形成装置４０は、対応情報により特定される。特に図７には示していないが、前景画像または背景画像が動画である場合に、ステップＳ１３０−１６０の処理は、所定の時間間隔で繰り返し行われる。
【００４６】
図１２は、ステップＳ１６０における射影画像を画像形成装置４０に出力する処理の詳細を示すフローチャートである。ステップＳ１６１において、ＣＰＵ１１０は、装置情報を取得する。この例で、装置情報は、あらかじめＨＤＤ１５０に記憶されている。ＣＰＵ１１０は、ＨＤＤ１５０から読み出すことにより、装置情報を取得する。ＣＰＵ１１０は、読み出した装置情報をＲＡＭ１３０に記憶する。
【００４７】
図１３は、装置情報を例示する図である。装置情報は、外部装置７０と画像形成装置４０との対応関係を示す情報と、スクリーン５０と画像形成装置４０との位置関係を示す情報とを含んでいる。具体的には、装置情報は、外部装置ＩＤと、画像形成措置ＩＤと、画像形成装置の位置情報とを含んでいる。外部装置ＩＤは、複数の外部装置７０の中から１つの外部装置７０を特定する識別子である。画像形成装置の位置情報は、スクリーン５０との相対位置を示す情報である。図１３の例で、外部装置ＩＤがＦ１の外部装置７０は、画像形成装置ＩＤがＰ１およびＰ２の画像形成装置４０と対応することが示されている。また、外部装置ＩＤがＦ２の外部装置７０は、画像形成装置ＩＤがＰ３およびＰ４の画像形成装置４０と対応することが示されている。画像形成装置ＩＤがＰ５の画像形成装置４０と対応する外部装置は、存在しない。画像形成装置ＩＤがＰ１の画像形成装置４０は、窓ＩＤがＷ１の窓の右上の領域と対応することが示されている。以下、窓ＩＤがＷｘの窓を単に「窓Ｗｘ」という。「窓Ｗ１」は窓ＩＤがＷ１の窓を指す。
【００４８】
装置情報はさらに、画像形成装置４０とスクリーン５０との位置関係を詳細に特定する情報として、画像形成装置４０の代表点（例えば、レンズの中心）の座標と、画像形成装置の向き（例えば、レンズの向き）を示す方向ベクトルとを含んでいる。図１３の例で、画像形成装置ＩＤがＰ１の画像形成装置４０は、座標系上において点（ｘ１ａ，ｙ１ａ，ｚ１ａ）に位置し、ベクトル（ｘ１ｂ，ｙ１ｂ，ｚ１ｂ）で規定される方向を向いている。ここで用いられる座標系は、図８の窓情報に用いられた座標系と同じものである。したがって、窓情報を併用することにより、画像形成装置４０とスクリーン５０との詳細な位置関係が特定される。
【００４９】
再び図１２を参照する。ステップＳ１６２において、ＣＰＵ１１０は、画像データに対して、装置情報に応じた加工をする。詳細には以下のとおりである。まず、ＣＰＵ１１０は、あらかじめ決められたアルゴリズムに従って、処理対象となる射影画像を特定する。このアルゴリズムは、例えば、窓ＩＤに従って１つずつ順番に処理対象となる射影画像を特定するものである。ここでは、窓Ｗ１に対応する射影画像が処理対象となった場合を例に説明する。
【００５０】
次に、ＣＰＵ１１０は、処理対象の射影画像を、ｎ個に分割する。分割の数および方法は、装置情報に基づいて定められる。図１３の例によれば、窓Ｗ１に対応する窓の数は４つ、すなわちｎ＝４であることが示されている。また、窓Ｗ１は、右上、右下、左上、左下の４つの領域に分割されることが示されている。したがって、ＣＰＵ１１０は、射影画像を、上下方向に２分割、左右方向に２分割し、合計４つの領域に分割する。
【００５１】
次に、ＣＰＵ１１０は、分割された射影画像に対し、台形補正処理を行う。ＣＰＵ１１０は、装置情報により示される、画像形成装置４０とスクリーン５０との詳細な位置関係から、台形補正のパラメータを算出する（この例で、装置情報はレンズの投射角等、台形補正に必要な情報も含んでいる）。ＣＰＵ１１０は、分割された射影画像を、算出されたパラメータを用いて変形させることにより、台形補正処理をする。すなわち、ＣＰＵ１１０は、スクリーン５０と画像形成装置４０（より正確には、画像形成装置４０のレンズの光軸）とがなす角度に応じて前記分割された画像を変形する。
【００５２】
ステップＳ１６３において、ＣＰＵ１１０は、加工された画像データを、画像形成装置４０に出力する。加工された画像データと画像形成装置４０とは、一対一に対応している。ＣＰＵ１１０は、各画像データを、対応する画像形成装置４０に出力する。
【００５３】
ステップＳ１６４において、ＣＰＵ１１０は、外部装置に制御信号を出力する。サーバ２０から送られてくる画像データは、外部装置７０の制御に用いられるパラメータを含んでいる。この例で、外部装置の制御に用いられるパラメータは、対象となる外部装置を特定する情報、並びに風を発生させるタイミングおよび風の強さを示す情報を含んでいる。外部装置を特定する情報は、例えば、「右」や「上」など、スクリーン５０との相対的位置関係を示す情報である。例えば、外部装置を特定する情報として「右」が与えられると、ＣＰＵ１１０は、図１３の装置情報を参照し、窓Ｗ１のうち「右」に対応する外部装置として、外部装置ＩＤがＦ１（「右上」および「右下」という位置情報に対応）の外部装置７０を特定する。別の例で、外部装置を特定する情報として「左下」が与えられると、ＣＰＵ１１０は、図１３の装置情報を参照し、窓Ｗ１のうち「左下」に対応する外部装置として、外部装置ＩＤがＦ２の外部装置７０を特定する。ＣＰＵ１１０は、画像データからこれらのパラメータを抽出し、抽出したパラメータに従って制御信号を生成する。ＣＰＵ１１０は、生成した制御信号を、ＵＳＢ−ＩＦ１８５を介して外部装置７０に出力する。
【００５４】
ＣＰＵ１１０は、対象となる射影画像を順次更新して、図１２のフローを繰り返し実行する。
【００５５】
図１４は、画像形成システム１により形成される画像を例示する図である。この例で、窓と窓の間には壁がある。仮想スクリーンには海の中を魚が泳いでいる画像が描かれ、窓には客の視点から見た射影画像が形成される。したがって、客から見ると窓にはあたかも自分が海中にいるような画像が形成される。例えば魚が窓と窓の間を泳いでいる途中では壁に隠れて魚の姿が見えなくなるので、店舗の内部によりリアルな画像が提供される。レストランやパチンコ店の改装にはコストと時間がかかるが、画像形成システム１によればコストと時間をかけずに、店の内観を変えることができる。
【００５６】
３．他の実施形態
本発明は上述の実施形態に限定されるものではなく、これ以外の態様でも実施が可能である。以下、変形例をいくつか説明する。以下で説明する変形例のうち２つ以上のものが組み合わせて用いられてもよい。以下において、上述の実施形態と共通する事項については説明を省略し、また、共通する要素には共通の参照符号を用いて説明する。
【００５７】
３−１．変形例１
ステップＳ１６２における画像の加工は、実施形態で説明したものに限定されない。ｎ個の画像形成装置４０に対応する画像データを生成するものであれば、サイズの変更、色空間の変更、解像度の変更、変形、画像の合成、分割、切り取りまたは抽出、もしくはこれらの組み合わせなどどのような処理が行われてもよい。
【００５８】
実施形態では、隣接する２つの画像形成装置４０に出力される画像データが示す画像は、重なっている部分が無かった。しかし、隣接する２つの画像形成装置４０に出力される画像データが示す画像は、オーバーラップする部分を有していてもよい。
【００５９】
３−２．変形例２
情報処理装置１０は、全体画像を生成する機能、すなわち画像生成手段を有していなくてもよい。この場合、情報処理装置１０は、通信手段を介して、サーバ２０から全体画像を取得する。またこの場合、サーバ２０は、全体画像を生成する機能を有する。サーバ２０は、情報処理装置１０に対していわゆるストリーミング配信の技術を用いて、全体画像を送信する。
【００６０】
３−３．変形例３
変形例２の場合において、情報処理装置１０は、全体画像のうち一部のみをサーバ２０から取得してもよい。この場合、まず情報処理装置１０は、窓情報をサーバ２０に送信する。サーバ２０は、受信した窓情報を記憶する。サーバ２０は、全体情報から、窓情報により特定される窓の位置に応じて全体画像の一部を切り出し、切り出した部分を情報処理装置１０に送信する。
【００６１】
窓の位置に応じて全体画像から一部を切り出すアルゴリズムとしては、例えば、窓との距離が所定の範囲内にある部分を切り出すアルゴリズムが採用される。実際に画像形成装置４０により形成されるのは窓の部分の画像だけであるから、窓の近傍の画像だけを送信すれば、ネットワークのトラフィックおよび処理すべきデータ量が削減される。
【００６２】
３−４．変形例４
特定点情報は向きを示す情報を含んでいなくてもよい。あるいは、特定点情報が向きを示す情報を含んでいた場合でも、情報処理装置１０は、向きを示す情報に応じた処理をしなくてもよい。すなわち、図１０のステップＳ１３４の処理は省略されてもよい。この場合、ＣＰＵ１１０は、視線の向きに応じた対象窓の絞り込みを行わなくてもよい。
【００６３】
３−５．変形例５
射影画像の抽出を行うタイミングは、実施形態で説明したものに限定されない。図７のステップＳ１４０の割り込み判定が行わなくてもよい。この場合、射影画像は、所定の時間間隔で定期的に抽出される。
【００６４】
３−６．変形例６
情報処理装置１０に特定点情報を供給するセンサ６０は、実施形態で説明したカメラに限定されない。特定点情報を供給できるものであれば、どのようなセンサが用いられてもよい。例えば、センサ６０としてＲＦＩＤ（Radio Frequency IDentification）リーダが用いられてもよい。この場合、客はＲＦＩＤタグを身に付ける。ＲＦＩＤリーダをレストランのフロアやテーブルに一定の間隔で配置することにより、客の位置を特定することができる。その他、光センサ、温度センサ、タッチセンサ、静電センサなどが用いられてもよい。
【００６５】
また、センサの配置は、特定点の位置を、システムが要求する精度で特定できるものであれば、どのような配置であってもよい。例えば、一つのテーブルを囲むように複数のカメラを配置してもよいし、スクリーン５０の周辺に１台のカメラを配置してもよい。
【００６６】
３−７．変形例７
特定点情報の取得元は、センサ６０に限定されない。特定点情報取得手段は、ＲＡＭ１３０等の記憶手段Ｓ１から特定点情報を取得してもよい。この場合、店員が特定点情報として客の位置を情報処理装置１０にマニュアルで入力し、情報処理装置１０のＣＰＵ１１０は、入力された特定点情報をＲＡＭ１３０に記憶する。図７のステップＳ１３０において、ＣＰＵ１１０は、ＲＡＭ１３０から特定点情報を読み出すことにより、特定点情報を取得する。別の例で、特定点の位置は、システムの設計上ある位置に固定されていてもよい。この場合、特定点情報は、システムのパラメータとしてＨＤＤ１５０に記憶されている。ＣＰＵ１１０は、ＨＤＤ１５０から特定点情報を読み出すことにより、特定点情報を取得する。
【００６７】
３−８．変形例８
仮想スクリーンは、実施形態で説明したものに限定されない。あらかじめ決められた大きさおよび形状を有し、部屋（窓）との位置関係が規定されているものであれば、どのような仮想スクリーンが用いられてもよい。例えば、仮想スクリーンの形状は半球でなく、球、直方体、多角形、またはこれらの組み合わせなど、どのような形状でもよい。また、図１１では仮想スクリーンが部屋の外側にある例を説明したが、仮想スクリーンはその一部または全部が部屋の中にあってもよい。
【００６８】
３−９．変形例９
画像形成装置４０とスクリーン５０の位置関係は、図６で説明したものに限定されない。店舗の壁が一枚であり、店舗内にある画像形成装置４０から窓に画像を投射する構成としてもよい。あるいは、壁や窓以外のものがスクリーン５０として用いられてもよい。
【００６９】
３−１０．変形例１０
画像形成装置４０はプロジェクタに限定されない。スクリーン５０に画像を形成できるのであれば、どのような装置であってもよい。また、画像形成装置４０は、スクリーン５０を内蔵していてもよい。例えば、画像形成装置４０は、リアプロジェクションディスプレイ、液晶ディスプレイ、有機ＥＬ（Electro-Luminescence）ディスプレイ、プラズマディスプレイであってもよい。
【００７０】
３−１１．変形例１１
本稿でいう「窓」は、現実および仮想の窓の双方を含む。「現実の窓」とは、物理的な構造体としての窓をいう。この場合、図６のように窓枠とスクリーン５０とが異なる面に形成される構造であってもよいし、スクリーン５０が窓枠と同じ面（すなわち窓枠の中）に形成される構造であってもよい。「仮想の窓」とは、物理的な構造体としての窓ではないスクリーン５０に窓枠も含めた画像を形成したもの、すなわち壁に窓枠も含めた画像を形成したものをいう。
【００７１】
３−１２．変形例１２
窓情報の取得元は、ＨＤＤ１５０に限定されない。窓情報取得手段１２は、情報処理装置１０以外の他の装置から窓情報を取得してもよい。特に、仮想の窓が用いられ、窓の位置が変化する場合に、窓の位置を検出する装置から窓情報を取得してもよい。また、窓情報の形式は、図８に例示されるものに限定されない。例えば、窓の形状があらかじめ決められたものに限定されている場合、その形状に応じたパラメータが窓情報として用いられる。具体的には、窓の形状が円であれば、中心の座標および半径が窓情報として用いられる。あるいは、窓の形状が長方形であれば、対角線の端点の座標が窓情報として用いられる。
【００７２】
さらに、装置情報の取得元も、ＨＤＤ１５０に限定されない。装置情報取得手段１１は、情報処理装置１０以外の他の装置から窓情報を取得してもよい。
【００７３】
３−１３．変形例１３
全体画像、窓情報、対応情報、および特定点情報を取得する順番は図７に示されるものに限定されない。射影画像を抽出する時点で処理に用いられる情報が取得できていれば、これらの情報がどのような順番で取得されてもよい。
また、画像データおよび制御信号を出力する順番は図１２に示されるものに限定されない。画像形成装置４０に画像データを、外部装置７０に制御信号を出力するものであれば、これらのデータ、信号がどのような順番で出力されてもよい。
【００７４】
３−１４．変形例１４
外部装置７０は、実施形態で説明したものに限定されない。情報処理装置１０からの制御信号に従って動作するものであれば、どのような装置が外部装置７０として用いられてもよい。例えば、窓近傍の物理状態（風量、温度、光量、湿度、音など）を変化させるもの（扇風機、エアコン、照明器具、スピーカーなど）が用いられてもよい。
【００７５】
３−１５．他の変形例
情報処理装置１０のハードウェア構成は図３で示されるものに限定されない。必要な機能構成を実現できるものであれば、どのようなハードウェア構成を有する装置が用いられてもよい。また、情報処理装置１０の機能構成とハードウェア構成の対応関係は、実施形態で説明したものに限定されない。例えば上述の実施形態では、制御プログラムを実行しているＣＰＵ１１０が、画像取得手段１２、対応情報取得手段１３、対応情報取得手段１３、特定点情報取得手段１４、画像抽出手段１５、および画像生成手段１７としての機能を兼ね備えていたが、これらのうち１つ以上の機能が、ＣＰＵ１１０以外のプロセッサにより実装されてもよい。また、各機能構成要素は、汎用プロセッサとプログラムの協働により実装されてもよいし、ＡＳＩＣ（Application Specific Integrated Circuit）のように特定の機能を有するプロセッサとして実装されてもよい。あるいは、物理的に別体の複数のプロセッサが協働して、これらの要素として機能してもよい。サーバ２０についても同様である。
【００７６】
画像形成装置４０が、情報処理装置１０としての機能を兼ね備えていてもよい。
【００７７】
実施形態では部屋に複数の窓が存在する例について説明したが、部屋の窓の数はひとつであってもよい。
【００７８】
上述の実施形態においてＣＰＵ１１０またはＣＰＵ２１０によって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記録媒体、半導体メモリ（フラッシュＲＯＭなど）などのコンピュータ読取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットのようなネットワーク経由でダウンロードされてもよい。
【図面の簡単な説明】
【００７９】
【図１】一実施形態に係る画像形成システム１の構成を示すブロック図である。
【図２】情報処理装置１０の機能構成を示す図である。
【図３】情報処理装置１０のハードウェア構成を示す図である。
【図４】サーバ２０の機能構成を示す図である。
【図５】サーバ２０のハードウェア構成を示す図である。
【図６】画像形成装置４０とスクリーン５０との位置関係を例示する図である。
【図７】情報処理装置１０の動作を示すフローチャートである。
【図８】窓情報を例示する図である。
【図９】対応情報を例示する図である。
【図１０】特定点の座標を算出する処理を示すフローチャートである。
【図１１】仮想スクリーン上への対象窓の射影を例示する図である。
【図１２】射影画像を出力する処理の詳細を示すフローチャートである。
【図１３】装置情報を例示する図である。
【図１４】画像形成システム１により形成される画像を例示する図である。
【符号の説明】
【００８０】
Ｓ１…記憶手段、１…画像形成システム、Ｓ２…記憶手段、１０…情報処理装置、１１…装置情報取得手段、１２…画像取得手段、１３…加工手段、１４…画像出力手段、１５…制御信号出力手段、１６…対応情報取得手段、２０…サーバ、２２…選択手段、２３…出力手段、３０…ネットワーク、４０…画像形成装置、５０…スクリーン、６０…センサ、７０…外部装置、７１…壁、７２…壁、７３…窓枠、１１０…ＣＰＵ、１２０…ＲＯＭ、１３０…ＲＡＭ、１４０…Ｉ／Ｆ、１５０…ＨＤＤ、１６０…キーボード・マウス、１７０…ディスプレイ、１８０…ネットワークＩＦ、１８５…ＵＳＢ−ＩＦ、１９０…バス、２１０…ＣＰＵ、２２０…ＲＯＭ、２３０…ＲＡＭ、２４０…Ｉ／Ｆ、２５０…ＨＤＤ、２６０…キーボード・マウス、２７０…ディスプレイ、２８０…ネットワークＩＦ、２９０…バス
【図１】
2010087548.tif 000003
【図２】
2010087548.tif 000004
【図３】
2010087548.tif 000005
【図４】
2010087548.tif 000006
【図５】
2010087548.tif 000007
【図６】
2010087548.tif 000008
【図７】
2010087548.tif 000009
【図８】
2010087548.tif 000010
【図９】
2010087548.tif 000011
【図１０】
2010087548.tif 000012
【図１１】
2010087548.tif 000013
【図１２】
2010087548.tif 000014
【図１３】
2010087548.tif 000015
【図１４】
2010087548.tif 000016