(58)【調査した分野】(Int.Cl.,DB名)
前記相違部分抽出手段は、前記撮像手段が被写体を撮像して出力する第1の画像の一部を、前記取得された拡張現実情報に含まれる第2の画像の少なくとも一部と比較する比較手段を含む、請求項1〜3のいずれかに記載の拡張現実表示装置。
前記拡張現実情報取得手段は、前記位置取得手段により現在位置が取得できない場合、前記撮像手段が出力する第1の画像に基づいて前記拡張現実情報を取得する、請求項6に記載の拡張現実表示装置。
【発明を実施するための形態】
【0039】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
【0040】
<第1の実施の形態>
図1は、本発明の実施の形態における拡張現実表示システムの全体概要の一例を示す図である。
図1を参照して、拡張現実表示システム1は、それぞれがネットワーク2に接続された無線局3と、MFP(Multi Function Peripheral)100と、携帯情報装置200,200A,200Bと、パーソナルコンピューター(以下「PC」という)300と、ヘッドマウントディスプレイ(以下、「HMD」という)400と、サーバー500と、を含む。
【0041】
MFP100は、画像処理装置として機能し、原稿を読み取るための原稿読取機能、画像データに基づいて紙などの記録媒体に画像を形成するための画像形成機能およびファクシミリデータを送受信するファクシミリ送受信機能を備えている。なお、第1の実施の形態においては画像処理装置の一例として、MFP100を例に説明するが、MFP100に代えて、画像を処理する機能を備えた装置であれば、例えば、PC300、サーバー500等であってもよい。
【0042】
PC300は、一般的なコンピューターである。PC300は、MFP100を制御するためのプリンタドライバプログラムがインストールされている。
【0043】
携帯情報装置200,200A,200Bは、情報処理装置の一例である。携帯情報装置200,200A,200Bは、PDA(Personal Digital Assistants)、スマートフォンなど、ユーザーに携帯して使用され、データを記憶する機能、無線LAN機能を備えている。また、携帯情報装置200,200A,200Bは、PC300と同様に、アプリケーションプログラムをインストールすることが可能である。携帯情報装置200,200A,200Bのハードウェア構成および機能は同じなので、ここでは、特に言及しない限り携帯情報装置200を例に説明する。
【0044】
HMD400は、メガネの形状をしており、ユーザーにより装着されて使用される。HMF400は、被写体を撮像する撮像機能、メガネのレンズ部分に画像を表示する表示機能、無線LAN機能を備えている。HMD400を装着するユーザーは、レンズを通して被写体を視認すると同時に、レンズに表示された画像を視認することができる。
【0045】
ネットワーク2は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワーク2は、LANに限らず、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワーク等であってもよい。さらに、ネットワーク2は、インターネットなどのワイドエリアネットワーク(WAN)に接続されている。
【0046】
MFP100は、ネットワーク2を介して、無線局3、PC300、およびサーバー500と、データの送受信が可能である。無線局3は、ネットワーク2の中継装置であり、無線LAN通信機能を備えた携帯情報装置200,200A,200BおよびHMD400と通信して、携帯情報装置200,200A,200BおよびHMD400をネットワーク2に接続する。このため、携帯情報装置200,200A,200BおよびHMD400各々は、無線局3およびネットワーク2を介してMFP100、PC300、サーバー500とデータの送受信が可能である。
【0047】
図2は、本実施の形態におけるMFPの外観を示す斜視図である。
図3は、本実施の形態におけるMFPのハードウェア構成の一例を示すブロック図である。
図2および
図3を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、画像が形成された用紙を処理する後処理部155と、ユーザーインターフェースとしての操作パネル160とを含む。
【0048】
後処理部155は、画像形成部140により画像が形成された1以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステープル針を打ち込むステープル処理を実行する。
【0049】
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、CD−ROM118が装着される外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
【0050】
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取データ(画像データ)を一時的に記憶する。
【0051】
操作パネル160は、MFP100の上面に設けられ、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、複数のキーからなるハードキー部167を備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部163は、表示部161上に設けられたタッチパネルを165さらに含む。
【0052】
通信I/F部112は、MFP100をネットワーク2に接続するためのインターフェースである。CPU111は、通信I/F部112を介して、携帯情報装置200,200A,200B、PC300、HMD400、およびサーバー500との間で通信し、データを送受信する。また、通信I/F部112は、ネットワーク2を介してインターネットに接続されたコンピューターと通信が可能である。
【0053】
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
【0054】
外部記憶装置117は、CD−ROM(Compact Disk ROM)118が装着される。CPU111は、外部記憶装置117を介してCD−ROM118にアクセス可能である。CPU111は、外部記憶装置117に装着されたCD−ROM118に記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリーであってもよい。
【0055】
また、CPU111が実行するプログラムは、CD−ROM118に記録されたプログラムに限られず、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、ネットワーク2に接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワーク2に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0056】
拡張現実表示システム1において、MFP100、携帯情報装置200,200A,200B、PC300、HDM400、サーバー500間で、データが送受信される。データを送受信するプロトコルは、受信側の装置において送信元を特定することができれば、任意のプロトコルを用いることが可能である。データを送受信するプロトコルは、例えばHTTP(HyperText Transfer Protocol)、FTP(File Transfer Protocol)およびSMPT(Simple Mail Transfer Protocol)、POP(Post Office Protocol)等が用いられる。
【0057】
図4は、本実施の形態における携帯情報装置のハードウェア構成の概要の一例を示すブロック図である。
図4を参照して、携帯情報装置200は、携帯情報装置200の全体を制御するためのCPU201と、カメラ202と、データを不揮発的に記憶するフラッシュメモリー203と、通話部205と接続された無線通信部204と、情報を表示する表示部206と、ユーザーの操作を受け付ける操作部207と、無線LANI/F208と、位置検出部209と、方位検出部210と、外部記憶装置211と、を含む。
【0058】
無線通信部204は、電話通信網に接続された携帯電話用基地局と無線通信する。無線通信部204は、携帯情報装置200を電話通信網に接続し、通話部205を用いた通話を可能とする。無線通信部204は、携帯電話用基地局から受信した無線信号を復調した音声信号を復号して通話部205に出力する。また、無線通信部204は、通話部205から入力される音声を符号化し、携帯電話用基地局に送信する。通話部205は、マイクおよびスピーカを備え、無線通信部204から入力される音声をスピーカから出力し、マイクから入力される音声を無線通信部204に出力する。さらに、無線通信部204は、CPU201により制御され、携帯情報装置200を電子メールサーバーに接続し、電子メールを送受信する。
【0059】
カメラ202は、レンズおよび光電変換素子を備え、レンズで集光した光を光電変換素子に結像し、光電変換素子は受光した光を光電変換して画像データをCPU201に出力する。光電変換素子は、CMOS(Complementary Metal Oxide Semiconductor)センサー、CCD(Charge Coupled Device)センサー等である。
【0060】
表示部206は、液晶表示装置(LCD)、有機ELD等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部207は、複数のキーを備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。
【0061】
無線LANI/F208は、無線局3と通信し、携帯情報装置200をネットワーク3に接続するためのインターフェースである。携帯情報装置200に、HMD200、サーバー500、MFP100、PC300それぞれのIP(Internet Protocol)アドレスを登録しておくことにより、携帯情報装置200は、HMD400、サーバー500、MFP100、PC300と通信することができ、データの送受信が可能となる。なお、本実施の形態においては、携帯情報装置200が無線LANI/F208を用いて、MFP100、PC300、HMD400、サーバー500と通信する場合を例に説明するが、他の通信方法を用いて通信するようにしてもよい。具体的には、携帯情報装置200、MFP100、PC300、HMD400、サーバー500が、例えばBluetooth(登録商標)等の近距離無線装置を搭載する場合には、携帯情報装置200が、MFP100、PC300、HMD400、サーバー500のいずれかと、1対1で通信するようにしてもよい。また、携帯情報装置200を、MFP100、PC300、HMD400、サーバー500のいずれかと、例えばUSB(Universal Serial Bus)ケーブル等の有線で接続するようにし、携帯情報装置200が、MFP100、PC300、HMD400、サーバー500のいずれかと、1対1で通信するようにしてもよい。
【0062】
フラッシュメモリー203は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、フラッシュメモリー203に記録されたプログラムを、CPU201が備えるRAMにロードして実行する。
【0063】
位置検出部209は、携帯情報装置200の現在位置を検出する。具体的には、位置検出部209は、全地球測位システム(Global Positioning System)受信機であり、複数のGPS衛星からの電波を受信することにより、現在位置を測定する。位置検出部209は、測定した現在位置を示す値、たとえば、緯度と経度とをCPU201に出力する。
【0064】
方位検出部210は、携帯情報装置200のカメラ202が向く方向の方位を検出する。具体的には、方位検出部210は、地磁気を計測する地磁気センサーである。方位検出部210は、検出した方位をCPU201に出力する。方位検出部210は、カメラ202の撮像方向、換言すれば、カメラ202のレンズの光軸が向く方向を検出可能なように携帯情報装置200に設置される。なお、方位検出部210は、地磁気センサーに限らず、ジャイロセンサー等を用いるようにしてもよい。
【0065】
外部記憶装置211は、携帯情報装置200に着脱自在であり、遠隔操作プログラムを記憶したCD−ROM211Aが装着可能である。CPU201は、外部記憶装置211を介してCD−ROM211Aにアクセス可能である。CPU201は、外部記憶装置211に装着されたCD−ROM211Aに記録された遠隔操作プログラムを、CPU201が備えるRAMにロードして実行することが可能である。
【0066】
なお、CPU201が実行するプログラムとして、フラッシュメモリー203またはCD−ROM211Aに記録されたプログラムについて説明したが、ネットワーク2に接続された他のコンピューターが、フラッシュメモリー203に記憶されたプログラムを書換えたプログラム、または、追加して書き込んだ新たなプログラムであってもよい。さらに、携帯情報装置200が、ネットワーク2に接続された他のコンピューターからダウンロードしたプログラムでもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0067】
なお、CPU201が実行するプログラムを記憶する媒体としては、CD−ROM211Aに限られず、光ディスク(MO/MD/DVD)、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリーであってもよい。
【0068】
図5は、本実施の形態におけるHMDのハードウェア構成の一例を示すブロック図である。
図5を参照して、本実施の形態におけるHMD400は、HMD400の全体を制御するためのCPU401と、カメラ402と、データを不揮発的に記憶するフラッシュメモリー403と、情報を表示する表示部404と、無線LANI/F405と、を含む。
【0069】
カメラ402は、レンズおよび光電変換素子を備え、レンズで集光した光を光電変換素子に結像し、光電変換素子は受光した光を光電変換して画像データをCPU401に出力する。光電変換素子は、CMOS(Complementary Metal Oxide Semiconductor)センサー、CCD(Charge Coupled Device)センサー等である。
【0070】
表示部404は、透明な部材からなる液晶表示装置(LCD)であり、HMD400のレンズ部分に埋め込まれている。表示部404の表示面は、カメラ402の光軸を基準に定まる位置に配置される。具体的には、カメラ402の撮像範囲は、ユーザーがHMD400を装着した場合における視界と同じに設定される。このため、カメラ404において撮像して得られる画像は、ユーザーが実際に見る視界内の画像と同じになる。このため、カメラ402が出力する画像からユーザーの視界内の位置を特定することができる。表示部404の表示面は、レンズ部分においてユーザーがHMD400を装着した場合における視界と同じに設定される。このため、ユーザーの視界内の任意の位置に画像を表示することができる。
【0071】
無線LANI/F405は、無線局3と通信し、HMD400をネットワーク2に接続するためのインターフェースである。フラッシュメモリー403に、サーバー500のIP(Internet Protocol)アドレスを登録しておくことにより、HMD400は、サーバー500と通信することができ、データの送受信が可能となる。なお、本実施の形態においては、HMD400が無線LANI/F405を用いて、サーバー500と通信する場合を例に説明するが、他の通信方法を用いて通信するようにしてもよい。具体的には、HMD400およびサーバー500が、例えばBluetooth(登録商標)等の近距離無線装置を搭載する場合には、HMD400が、サーバー500と、1対1で通信するようにしてもよい。
【0072】
フラッシュメモリー403は、CPU401が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU401は、フラッシュメモリー403に記録されたプログラムを、CPU401が備えるRAMにロードして実行する。
【0073】
図6は、本実施の形態におけるサーバーのハードウェア構成の一例を示すブロック図である。
図6を参照して、サーバー500は、サーバー500の全体を制御するためのCPU501と、CPU501が実行するためのプログラムを記憶するROM502と、CPU501の作業領域として使用されるRAM503と、データを不揮発的に記憶するHDD504と、CPU501をネットワーク2に接続する通信部505と、情報を表示する表示部506と、ユーザーの操作の入力を受け付ける操作部507と、を含む。
【0074】
本実施の形態における拡張現実表示システム1においては、サーバー500に拡張現実情報を記憶し、拡張現実表示装置として機能する携帯情報装置200が、サーバー500から拡張現実情報をダウンロードして、表示する。
【0075】
図7は、拡張現実情報のフォーマットの一例を示す図である。
図7を参照して、拡張現実情報は、位置情報の項目と、コンテンツの項目と、関連情報の項目と、領域情報の項目と、を含む。位置情報の項目には、地理的な位置を示す位置情報が設定される。コンテンツの項目には、コンテンツが設定される。ここでは、コンテンツを、位置情報の項目に設定された位置情報で特定される位置で被写体を撮像した撮像画像を背景画像として設定される場合を例に説明する。関連情報の項目は、コンテンツ中のオブジェクトに関連する関連情報が設定される。ここでは、コンテンツの項目に設定された背景画像中の被写体に関連する情報が設定される。領域情報の項目は、コンテンツ中のオブジェクトに対して相対位置で定まる表示領域を示す領域情報が設定される。ここでは、コンテンツの項目に設定された背景画像中の被写体に対して相対的な位置で定める領域の位置を示す領域情報が設定される。
【0076】
拡張現実情報をサーバー500に記憶させる方法の具体例は後述するが、サーバー500には、予め拡張現実情報が記憶されている。ここでは、会議室Aにおいて、ホワイトボードを撮像する際に、その撮像時の会議室Aの位置を示す位置情報が位置情報の項目に設定され、ホワイトボードを被写体にして撮像された撮像画像がコンテンツの項目に設定され、会議の資料である画像が関連情報の項目に設定され、撮像画像中に被写体として含まれるホワイトボードの描画面の全体を含む領域が領域情報の項目に設定された拡張現実情報がサーバー500に登録されている場合を例に説明する。
【0077】
図8は、拡張現実表示装置として機能する携帯情報装置200が備えるCPUの機能の概要の一例を示すブロック図である。
図8に示す機能は、拡張現実表示装置として機能する携帯情報装置200が備えるCPU201が、フラッシュメモリー203に記憶された拡張現実表示プログラムを実行することにより、CPU201に形成される機能である。
図8を参照して、CPU201は、撮像制御部251と、携帯情報装置200の現在の地理的な位置を取得する位置取得部253と、サーバー500から拡張現実情報を取得する拡張現実情報取得部255と、表示部161を制御する表示制御部257と、相違部分抽出部271と、処理実行部273と、を含む。
【0078】
撮像制御部251は、カメラ202を制御する撮像制御部259を含む。撮像制御部259は、カメラ202を制御し、カメラ202が被写体を撮像して出力する撮像画像を取得し、取得された撮像画像を、表示制御部257、拡張現実情報取得部255および相違部分抽出部271に出力する。表示制御部257は、撮像制御部259から撮像画像が入力されることに応じて、表示部206を制御し、撮像画像を表示部206に表示させる。
【0079】
位置取得部253は、位置検出部209を制御し、位置検出部209に現在位置を測定させ、位置検出部209が出力する現在位置を示す位置情報を取得する。位置取得部253は、取得された位置情報を拡張現実情報取得部255に出力する。
【0080】
拡張現実情報取得部255は、サーバー500から拡張現実情報を取得する。拡張現実情報取得部255は、位置基準取得部261と、被写体基準取得部263と、を含む。位置基準取得部261は、位置取得部253から入力される位置情報を含む拡張現実情報送信要求を、無線LANI/F208を介して、サーバー500に送信する。携帯情報装置200のフラッシュメモリー203に、サーバー500のIPアドレスを予め記憶しておけばよい。拡張現実情報送信要求を受信するサーバー500の動作の詳細は後述するが、拡張現実情報送信要求に含まれる位置情報で特定される位置から所定の範囲内に存在する位置を示す位置情報を含む拡張現実情報を抽出し、抽出された1以上の拡張現実情報を返信する。拡張現実情報取得部255は、無線LANI/F408がサーバー500から1以上の拡張現実情報を受信すると、1以上の拡張現実情報を被写体基準取得部263に出力する。
【0081】
被写体基準取得部263は、撮像制御部259から撮像画像が入力され、位置基準取得部261から1以上の拡張現実情報が入力される。被写体基準取得部263は、位置基準取得部261から入力される1以上の拡張現実情報のうちから、撮像制御部259から入力される撮像画像と被写体が同一の背景画像を含む拡張現実情報を抽出する。被写体基準取得部263は、撮像画像と拡張現実情報のコンテンツの項目に設定された背景画像とのそれぞれから特徴的な形状を抽出し、撮像画像の特徴的な形状と同一または相似の形状が背景画像の特徴的な形状に含まれていれば、その拡張現実情報を、撮像画像と被写体が同一の背景画像を含む拡張現実情報に決定する。被写体基準取得部263は、撮像制御部259から入力される撮像画像と被写体が同一の背景画像を含む拡張現実情報を表示制御部257および相違部分抽出部271に出力する。被写体基準取得部263は、位置基準取得部261から入力される1以上の拡張現実情報のうちに、撮像画像と被写体が同一の背景画像を含む拡張現実情報が存在しない場合は、表示制御部257および相違部分抽出部271に拡張現実情報を出力しない。
【0082】
例えば、画像を2値化した2値化画像または画像を微分したエッジ画像を生成することにより、画像中に含まれる被写体の輪郭を抽出することができる。抽出された輪郭の形状を特徴的な形状として抽出すればよい。特徴的な形状が同一か否かは、サイズが異なる場合があるので、相似の場合を含む。エッジ画像は、隣接する画素間で濃度の差が所定のしきい値以上の画素の値を「1」とし、所定のしきい値より小さい画素の値を「0」とした画像である。例えば、背景画像および撮像画像に被写体としてホワイトボードを含む場合には、それぞれの画像は、ホワイトボードの輪郭を特徴的な形状として含む。
【0083】
なお、位置検出部209が現在位置を測定できない場合、位置取得部253は位置情報を取得することができない。この場合には、位置基準取得部261は、サーバー500からそれに記憶されている拡張現実情報の全てを受信し、被写体基準取得部263に出力する。また、被写体基準取得部263が撮像制御部259から入力される撮像画像を含む拡張現実情報送信要求を、無線LANI/F208を介して、サーバー500に送信し、サーバー500が、拡張現実情報送信要求に含まれる撮像画像と被写体が同一の拡張現実情報を抽出し、返信するようにしてもよい。この場合には、被写体基準取得部263は、サーバー500から返信される拡張現実情報を受信し、表示制御部257に出力する。
【0084】
表示制御部257は、撮像制御部259から撮像画像が入力されることに応じて、撮像画像を表示部206に表示する。表示制御部257は、拡張現実情報取得部255から拡張現実情報が入力される場合、拡張現実情報に含まれる関連情報の項目に設定された関連情報を表示部206に表示する。
【0085】
表示制御部257は、現実表示領域決定部258を含む。現実表示領域決定部258は、拡張現実情報の領域情報の項目に設定された領域情報に基づいて、拡張現実情報のコンテンツの項目に設定された背景画像中の被写体に対する相対位置を特定し、撮像画像中の被写体を基準にして、特定された相対位置に存在する領域を現実表示領域に決定する。また、現実表示領域決定部258は、撮像画像中で関連情報を表示するための現実表示領域を後述する更新制御部277に出力する。
【0086】
表示制御部257は、撮像画像中で決定された現実表示領域に拡張現実情報の関連情報の項目に設定された関連情報を表示する。具体的には、表示制御部257は、撮像画像中で、現実表示領域に、関連情報の画像を合成した合成画像を生成し、生成された合成画像を表示部206に表示する。
【0087】
なお、現実表示領域決定部258は、拡張現実情報に含まれるコンテンツの項目に設定された背景画像中で、領域情報の項目に設定された領域情報で特定される領域を特定し、撮像画像中で、背景画像中で特定された領域と類似する領域を、関連情報を表示するための領域に決定するようにしてもよい。
【0088】
ここで、ユーザーが会議室Aにおいて携帯情報装置200のカメラ202で、ホワイトボードを被写体にして撮像する場合、会議室Aの位置を示す位置情報が位置情報の項目に設定され、ホワイトボードを被写体にして撮像された背景画像がコンテンツの項目に設定され、会議の資料である画像が関連情報に設定され、背景画像中のホワイトボードの描画面の全体を含む表示領域が領域情報の項目に設定された拡張現実情報がサーバー500から受信される場合を例に説明する。この場合、撮像画像中のホワイトボードの描画面に関連情報である会議の資料の画像を合成した合成画像を表示部206に表示する。実際には、ホワイトボードの描画面には文字などが記載されていなくても、また、画像が投影されていなくても、携帯情報装置200の表示部206には、撮像画像中のホワイトボードの描画面の領域に会議の資料の画像を合成した合成画像が表示される。
【0089】
相違部分抽出部271は、撮像制御部251から撮像画像が入力され、拡張現実情報取得部255から拡張現実情報が入力される。相違部分抽出部271は、拡張現実情報に含まれる背景画像と撮像画像とが部分的に相違するか否かを判断する。相違部分抽出部271は、背景画像と撮像画像とが部分的に相違すると判断する場合、処理実行部273に撮像画像と拡張現実情報とを含む更新指示を出力する。
【0090】
処理実行部273は、相違部分抽出部271から更新指示が入力される場合、予め定められた処理を実行する。処理実行部273は、通知部275と、更新制御部277と、を含む。通知部275は、相違部分抽出部271から更新指示が入力されることに応じて、ユーザーに、拡張現実情報を更新する必要があることを通知する。例えば、「この画像で拡張現実情報を更新しますか?」のメッセージを表示部206に表示されている画像に重畳して表示する。通知部275は、ユーザーが操作部207に拡張現実情報を更新する指示を入力すれば、撮像画像と拡張現実情報とを含む更新指示を更新制御部277に出力する。
【0091】
更新制御部277は、通知部275から撮像画像と拡張現実情報とを含む更新指示が入力され、表示制御部257から撮像画像中で関連情報を表示する領域が入力される。更新制御部277は、拡張現実情報のコンテンツの項目を撮像画像で更新し、拡張現実情報の領域情報の項目を現実表示領域に更新し、更新後の拡張現実情報を含む拡張現実情報更新要求を無線LANI/F208を介して、サーバー500に送信する。
【0092】
図9は、相違部分抽出部271の詳細な機能の一例を示すブロック図である。
図9を参照して、相違部分抽出部271は、分割部281と、比較部283と、相違部分決定部285と、を含む。
【0093】
分割部281は、撮像制御部259から入力される撮像画像を複数の部分画像に分割する。分割数は限定するものではないが、例えば、縦および横それぞれで複数に等分するのが好ましい。
【0094】
比較部283は、複数の部分画像ごとに、拡張現実情報のコンテンツの項目に設定された背景画像の少なくとも一部と比較する。比較部283は、部分画像と背景画像の少なくとも一部を、パターンマッチングすることにより、比較する。比較部283は、部分画像が背景画像の少なくとも一部と類似または同一であれば、その部分画像を類似部分に決定し、類似部分を識別するための部分画像番号を相違部分決定部285に出力し、背景画像が部分画像と同一または類似の部分を含まなければ、非類似部分に決定し、非類似部分の部分画像番号を相違部分決定部285に出力する。
【0095】
相違部分決定部285は、複数の部分画像のうちに類似部分に囲まれる非類似部分が存在する場合に、非類似部分を相違部分に決定する。相違部分決定部285は、相違部分を決定する場合、通知部275に通知指示を出力する。
【0096】
図10は、背景画像の一例を示す図である。
図10に示す背景画像は、サーバー500に登録された拡張現実情報のコンテンツの項目に設定された背景画像を示し、会議室Aにおいて、ホワイトボードを被写体として撮像した背景画像である。
図10を参照して、背景画像600は、ホワイトボード601、時計603、MFP605を被写体として含む。ホワイトボード601は、描画面601を含む。
【0097】
図11は、撮像画像の一例を示す図である。
図11に示す撮像画像は、会議室Aにおいて携帯情報装置200でホワイトボード601を被写体として撮像して得られる画像である。
図11を参照して、撮像画像700は、ホワイトボード601、時計603、MFP605およびポスター607を被写体として含む。ホワイトボード601は、描画面601を含む。
【0098】
図11に示す撮像画像は、会議室Aにおいて撮像して得られる画像であり、撮像した位置が、会議室Aである。また、撮像画像700は、被写体としてホワイトボード601を含む。
【0099】
図12は、合成画像の一例を示す図である。
図12に示す合成画像は、携帯情報装置200において、
図11に示す撮像画像が取得され、
図10に示す背景画像を含む拡張現実情報がサーバー500から取得された場合に生成され、表示部206に表示される合成画像を示す。
図12を参照して、
図11に示した撮像画像中のホワイトボード601の描画面601Aの領域に関連情報610を含む。
【0100】
このように、携帯情報装置200を携帯するユーザーが、会議室Aにおいてホワイトボード601を被写体として撮像すると、
図10に示した背景画像600を含む拡張現実情報をサーバー500から取得し、
図12に示す合成画像を携帯情報装置200の表示部206に表示する。このため、実際には、ホワイトボード601の描画面601Aに何も描画されていなくても、予め準備した拡張現実情報の関連情報の項目に設定された関連情報の画像を描画面601Aに合成した合成画像が、携帯情報装置200の表示部206に表示させることができる。
【0101】
また、背景画像700は、被写体としてポスター607を含むが、撮像画像600は、それを含まない。このため、サーバー500から取得された拡張現実情報のコンテンツの項目に設定された背景画像が、
図11に示した撮像画像700で更新され、領域情報の項目に設定された表示領域が、撮像画像700における描画面601Aの領域を示す領域情報で更新され、更新された拡張現実情報がサーバー500に登録される。したがって、サーバー500に登録された拡張現実情報において、コンテンツの項目に設定された背景画像を撮像した時点と、その場所の状態が変化した場合であっても、背景画像が、状態が変化した後に撮像された撮像画像で更新されるので、サーバー500に登録された拡張現実情報を、最新の状態に維持することができる。
【0102】
サーバー500に拡張現実情報を登録する方法には、種々の方法があるが、ここでは、携帯情報装置200が拡張現実情報の一部である基本情報をサーバー500に登録し、MFP100がその基本情報を用いて拡張現実情報をサーバー500に登録する場合を例に説明する。なお、この場合、携帯情報装置200は、基本情報をサーバー500に登録する基本情報登録装置として機能し、MFP100は、拡張現実情報をサーバー500に登録する拡張現実情報登録装置として機能する。
【0103】
図13は、基本情報のフォーマットの一例を示す図である。
図13を参照して、基本情報は、拡張現実情報の一部である位置情報の項目と、コンテンツの項目と、を含む。
【0104】
図14は、基本情報登録装置として機能する携帯情報装置200が備えるCPU201の機能の一例を示すブロック図である。
図14に示す機能は、基本情報登録装置として機能する携帯情報装置200が備えるCPU201が、フラッシュメモリー203に記憶された基本情報登録プログラムを実行することにより、CPU201に形成される機能である。なお、
図8に示した機能と同じ機能には同じ符号を付し、重複する説明は繰り返さない。
【0105】
図14を参照して、基本情報登録装置として機能する携帯情報装置200が備えるCPU201は、位置取得部253と、撮像制御部251、基本情報登録部287と、を含む。撮像制御部251は、カメラ202が被写体を撮像して出力する撮像画像を取得し、取得された撮像画像を、基本情報登録部287に出力する。位置取得部253は、カメラ202が被写体を撮像した時点に位置検出部209が出力する現在位置を示す位置情報を取得し、取得された位置情報を基本情報登録部287に出力する。
【0106】
基本情報登録部287は、位置取得部253から入力される位置情報を位置情報の項目に設定し。撮像制御部259から入力される撮像画像をコンテンツの項目に設定することにより基本情報を生成し、生成された基本情報を含む基本情報登録要求を、無線LANI/F208を介して、サーバー500に送信する。
【0107】
例えば、ユーザーが携帯情報装置200を携帯し、会議室Aで、会議室Aに存在するホワイトボードを被写体として撮像すれば、会議室Aの位置情報とを含む基本情報と、そのホワイトボードを被写体とした撮像画像と、がサーバー500に登録される。
【0108】
図15は、拡張現実情報登録装置として機能するMFPが備えるCPUの機能の一例を示すブロック図である。
図15に示す機能は、拡張現実情報登録装置として機能するMFP100が備えるCPU111が、ROM113、HDD115、CD−ROM118に記憶された拡張現実情報登録プログラムを実行することにより、CPU111に形成される機能である。
図15を参照して、CPU111は、生成側コンテンツ取得部51と、領域決定部53と、関連情報取得部55と、拡張現実情報生成部57と、登録部59と、を含む。
【0109】
生成側コンテンツ取得部51は、位置受付部61と、基本情報取得部63と、を含む。
位置受付部61は、ユーザーにより指示される地理的な位置を受け付ける。位置受付部61は、表示部161に二次元の地図を表示し、表示された地図でユーザーにより指示された位置を、受け付ける。例えば、表示された地図で、会議室Aの場所が指示されると、会議室Aの地理的な位置を受け付ける。位置受付部61は、受け付けられた地理的な位置を示す位置情報を基本情報取得部63に出力する。会議室Aの地理的な位置を示す位置情報は、会議室Aの緯度と経度とで示される。
【0110】
基本情報取得部63は、位置受付部61から位置情報が入力されることに応じて、サーバー500から基本情報を取得し、取得された基本情報を領域決定部53および拡張現実情報生成部57に出力する。基本情報取得部63は、位置受付部61から入力される位置情報を含む基本情報送信要求を、無線LANI/F208を介して、サーバー500に送信する。基本情報送信要求を受信するサーバー500の詳細は後述するが、登録されている基本情報のうち、基本情報送信要求に含まれる位置情報で特定される位置から所定の範囲内の位置を示す位置情報を含む基本情報を返信する。基本情報取得部63は、無線LANI/F208がサーバー500から受信する基本情報を取得する。例えば、ユーザーが会議室Aの場を指示する場合、会議室Aの地理的な位置を示す位置情報を含み、ホワイトボードを被写体として撮像された背景画像を含む基本情報を取得する。
【0111】
領域決定部53は、生成側コンテンツ表示部65と、表示領域受付部67と、プレビュー部69と、を含む。生成側コンテンツ表示部65は、基本情報取得部63から基本情報が入力されることに応じて、基本情報のコンテンツの項目に設定された背景画像を表示部161に表示する。ここでは、ユーザーが地図中で会議室Aの場所を指示し、ホワイトボードを被写体として撮像された背景画像が表示部161に表示される場合を例に説明する。生成側コンテンツ表示部65は、背景画像を表示領域受付部67およびプレビュー部69に出力する。
【0112】
表示領域受付部67は、ユーザーにより指示される表示領域を受け付ける。表示領域は、背景画像中の領域である。表示領域受付部67は、ユーザーが操作部163を操作して、表示部161に表示された背景画像中の一部を指示すれば、ユーザーにより指示された領域を、表示領域として受け付ける。表示領域は、例えば、点であってもよいし、任意の形状で囲まれた領域であってもよい。ここでは、表示領域を矩形の領域としている。表示領域は、後述する関連情報を表示するための領域である。関連情報は、背景画像中に含まれる被写体に関連する情報である。このため、表示領域は、背景画像中に含まれる被写体を含む領域、または、背景画像中に含まれる被写体から所定の範囲内にある領域である。このため、ユーザーが背景画像内の被写体の一部を指示すれば、被写体を含む矩形の領域を表示領域として受け付けるようにしてもよい。表示領域受付部67は、受け付けられた表示領域を、プレビュー部69および拡張現実情報生成部57に出力する。表示領域は、例えば、背景画像中の矩形の領域とする場合、矩形の領域の2つの対角の頂点の座標とすればよい。
【0113】
プレビュー部69は、生成側コンテンツ表示部65から背景画像が入力され、表示領域受付部67から表示領域が入力され、次に説明する関連情報取得部55から関連情報が入力される。プレビュー部69は、背景画像の表示領域に、関連情報の画像を合成した合成画像を生成し、生成された合成画像を表示部161に表示する。ユーザーは、背景画像に重畳して表示される関連情報を見ることで、背景画像中で関連情報が表示される位置を確認することができる。関連情報が表示される位置を、変更する場合には、操作部163を操作して、表示領域を変更する指示を入力すればよい。これにより、表示領域受付部67によって、変更後の表示領域が受け付けられる。
【0114】
関連情報取得部55は、関連情報を取得し、取得された関連情報をプレビュー部69および拡張現実情報生成部57に出力する。関連情報は、ユーザーにより定められた情報であり、文字、記号、図形または写真、またはそれらの組み合わせである。
【0115】
関連情報取得部55は、入力受付部71と、原稿読取制御部73と、データ取得部75と、を含む。入力受付部71は、ユーザーが操作部163に入力する文字または記号を関連情報として受け付ける。原稿読取制御部73は、原稿読取部130が原稿を読み取って出力する画像を関連情報として受け付ける。データ取得部75は、HDD115に記憶されたデータのうちユーザーにより指定されたデータを関連情報として受け付ける。HDD115に記憶されるデータは、別のコンピューターで作成された文書または図形等のデータ、デジタルカメラで撮像して得られる写真等のデータ、インターネットに接続されたサーバーからダウンロードされたデータを含む。ここでは、ユーザーが、会議で使用するために発表用のデータの画像が形成された用紙を原稿とし、原稿読取部130に読み取らせ、原稿読取部130が出力する画像を関連情報とする場合を例に説明する。
【0116】
拡張現実情報生成部57は、基本情報取得部63から基本情報が入力され、表示領域受付部67から表示領域が入力され、関連情報取得部55から関連情報が入力される。拡張現実情報生成部57は、基本情報に含まれる位置情報を位置情報の項目に設定し、基本情報に含まれる背景画像をコンテンツの項目に設定し、関連情報取得部55から入力される関連情報を関連情報の項目に設定し、表示領域受付部67から入力される領域情報を領域情報の項目に設定した拡張現実情報を生成する。拡張現実情報生成部57は、生成された拡張現実情報を含む拡張現実情報登録要求を、無線LANI/F208を介してサーバー500に送信する。
【0117】
図16は、サーバーが備えるCPUが有する機能の一例を示すブロック図である。
図16に示す機能は、サーバー500が備えるCPU501が、ROM502またはHDD504に記憶された拡張現実情報管理プログラムを実行することにより、CPU501に形成される機能である。
図16を参照して、CPU501は、基本情報登録要求受信部551と、基本情報登録部553と、基本情報送信要求受信部555と、基本情報抽出部557と、基本情報送信部559と、拡張現実情報登録要求受信部561と、拡張現実情報登録部563と、拡張現実情報送信要求受信部565と、拡張現実情報抽出部567と、拡張現実情報送信部569と、拡張現実情報更新要求受信部571と、拡張現実情報更新部573と、
を含む。
【0118】
基本情報登録要求受信部551は、通信部505が基本情報登録装置として機能する携帯情報装置200が送信する基本情報登録要求を受信することに応じて、基本情報登録要求に含まれる基本情報を基本情報登録部553に出力する。基本情報登録部553は、基本情報をHDD504に記憶することにより基本情報を登録する。
【0119】
基本情報送信要求受信部555は、通信部505が拡張現実情報登録装置として機能するMFP100が送信する基本情報送信要求を受信することに応じて、基本情報送信要求に含まれる位置情報を基本情報抽出部557に出力する。基本情報抽出部557は、位置情報が入力されることに応じて、HDD504に記憶されている基本情報のうちから、基本情報送信要求に含まれる位置情報から所定の範囲内の位置を示す位置情報を含む基本情報を抽出する。基本情報抽出部557は、抽出された基本情報を基本情報送信部559に出力する。基本情報送信部559は、基本情報抽出部557によって抽出された基本情報を、基本情報送信要求を送信してきたMFP100に、通信部505を介して送信する。
【0120】
拡張現実情報登録要求受信部561は、通信部505が拡張現実情報登録装置として機能するMFP100が送信する拡張現実情報登録要求を受信することに応じて、拡張現実情報登録要求に含まれる拡張現実情報を拡張現実情報登録部563に出力する。拡張現実情報登録部563は、拡張現実情報をHDD504に記憶することにより拡張現実情報を登録する。
【0121】
拡張現実情報送信要求受信部565は、通信部505が拡張現実表示装置として機能する携帯情報装置200が送信する拡張現実情報送信要求を受信することに応じて、拡張現実情報送信要求に含まれる位置情報を拡張現実情報抽出部567に出力する。拡張現実情報抽出部567は、位置情報が入力されることに応じて、HDD504に記憶されている拡張現実情報のうちから、拡張現実情報送信要求に含まれる位置情報から所定の範囲内の位置を示す位置情報を含む拡張現実情報を抽出する。拡張現実情報抽出部567は、抽出された拡張現実情報を拡張現実情報送信部569に出力する。拡張現実情報送信部569は、拡張現実情報抽出部567によって抽出された拡張現実情報を、拡張現実情報送信要求を送信してきた携帯情報装置200に、通信部505を介して送信する。
【0122】
拡張現実情報更新要求受信部571は、通信部505が拡張現実表示装置として機能する携帯情報装置200が送信する拡張現実情報更新要求を受信することに応じて、HDD504に記憶されている拡張現実情報のうち拡張現実情報更新要求に含まれる拡張現現実情報と位置情報および関連情報が同じ拡張現実情報を、拡張現実情報更新要求に含まれる拡張現現実情報で更新する。具体的には、HDD504に記憶されている拡張現実情報のうち拡張現実情報更新要求に含まれる拡張現現実情報と位置情報および関連情報が同じ拡張現実情報を、拡張現実情報更新要求に含まれる拡張現現実情報で更新する。
【0123】
図17は、基本情報登録処理の流れの一例を示すフローチャートである。基本情報登録処理は、基本情報登録装置として機能する携帯情報装置200が備えるCPU201が、フラッシュメモリー203に記憶された基本情報登録プログラムを実行することにより、CPU201により実行される処理である。
図17を参照して、CPU201は、カメラ202を制御して被写体を撮像する(ステップS01)。ユーザーが操作部207の備えるシャッターキーを指示すれば、CPU201はカメラ202に被写体を撮像させる。次のステップS02においては、カメラ202が出力する撮像画像を取得し、処理をステップS03に進める。ステップS03においては、カメラ202が被写体を撮像した時点に位置検出部209が出力する現在位置を示す位置情報を取得する。
【0124】
そして、基本情報を生成する(ステップS04)。ステップS02において取得された撮像画像を基本情報のコンテンツの項目に設定し、ステップS03において取得された位置情報を位置情報の項目に設定することにより、基本情報を生成する。
【0125】
次のステップS05においては、生成された基本情報をサーバー500に登録する。具体的には、基本情報を含む基本情報登録要求を、無線LANI/F208を介してサーバー500に送信する。
【0126】
例えば、ユーザーが携帯情報装置200を携帯し、会議室Aで、会議室Aに存在するホワイトボードを被写体として撮像すれば、そのホワイトボードを被写体とした撮像画像と、会議室Aの位置情報とを含む基本情報がサーバー500に登録される。
【0127】
図18は、拡張現実情報登録処理の流れの一例を示すフローチャートである。拡張現実情報登録処理は、拡張現実情報登録装置として機能するMFP100が備えるCPU111が、ROM113、HDD115、CD−ROM118に記憶された拡張現実情報登録プログラムを実行することにより、CPU111により実行される処理である。
図18を参照して、CPU111は、表示部161に二次元の地図を表示する(ステップS11)。インターネットに接続されたコンピューターからダウンロードした地図を表示する。また、HDD115に予め地図を記憶している場合には、その地図を表示するようにしてもよい。
【0128】
次のステップS12においては、位置の指定を受け付ける。位置を受け付けるまで待機状態となり(ステップS12でNO)、位置を受け付けると(ステップS12でYES)、処理をステップS13に進める。地図中でユーザーが操作部163を用いて指示する位置を、受け付ける。
【0129】
ステップS13においては、受け付けられた位置を示す位置情報を取得し、処理をステップS14に進める。ここでは、表示された地図中で、会議室Aの場所が指示される場合を例に説明する。この場合、会議室Aの地理的な位置を示す位置情報として、会議室Aの緯度と経度とを取得する。
【0130】
ステップS14においては、ステップS13において取得された位置情報に対応する基本情報を取得する。具体的には、位置情報を含む基本情報送信要求を、通信I/F部112を介してサーバー500に送信する。基本情報送信要求を受信するサーバー500においては、サーバー500に登録されている基本情報のうち、基本情報送信要求に含まれる位置情報で特定される位置から所定の範囲内の位置を示す位置情報を含む基本情報を返信する。次のステップS15においては、無線LANI/F208がサーバー500から受信する基本情報を取得する。例えば、基本情報登録装置として機能する携帯情報装置200によってサーバー500に登録された基本情報であって、会議室Aの地理的な位置を示す位置情報を含み、ホワイトボードを被写体として撮像された背景画像を含む基本情報を取得する。
【0131】
ステップS16においては、基本情報のコンテンツの項目に設定された背景画像を表示部161に表示する。これにより、ホワイトボードを被写体として撮像された背景画像が表示部161に表示される。そして、ユーザーにより指示される表示領域を受け付ける(ステップS17)。表示領域は、背景画像中の領域である。ユーザーが操作部163を操作して、表示部161に表示された背景画像中の一部を指示すれば、ユーザーにより指示された領域を、表示領域として受け付ける。表示領域は、点であってもよいし、任意の形状で囲まれた領域であってもよい。ここでは、表示領域を矩形の領域としている。ユーザーが背景画像内の被写体の一部を指示すれば、被写体を含む矩形の領域を表示領域として受け付けるようにしてもよい。
【0132】
ステップS18においては、原稿読取指示を受け付けたか否かを判断する。操作部163が、ユーザーにより入力される原稿読取指示を検出すると、原稿読取指示を受け付ける。原稿読取指示を受け付けたならば処理をステップS19に進めるが、そうでなければ処理をステップS21に進める。ステップS19においては、原稿読取部130に原稿を読み取らせる。そして、原稿を読み取って得られる画像を関連情報に設定し(ステップS20、処理をステップS25に進める。
【0133】
ステップS21においては、文字が入力されたか否かを判断する。操作部163が、ユーザーにより入力される文字を検出すると、文字が入力されたと判断する。文字が入力されたならば処理をステップS22に進めるが、そうでなければ処理をステップS23に進める。ステップS22においては、操作部163が検出する文字列を関連情報に設定し、処理をステップS25に進める。
【0134】
ステップS23においては、データの指定を受け付けたか否かを判断する。操作部163が、ユーザーにより入力されるデータを指定する操作を検出すると、データの指定を受け付ける。データの指定を受け付けたならば処理をステップS24に進めるが、そうでなければ処理をステップS19に戻す。ステップS24においては、HDD115に記憶されたデータのうちユーザーにより指定されたデータを関連情報偽ってし、処理をステップS25に進める。HDD115に記憶されるデータは、別のコンピューターで作成された文書または図形等のデータ、デジタルカメラで撮像して得られる写真等のデータ、インターネットに接続されたサーバーからダウンロードされたデータを含む。ここでは、ユーザーが、会議で使用するために発表用のデータの画像が形成された用紙を原稿とし、原稿読取部130に読み取らせ、原稿読取部130が出力する画像を関連情報とする場合を例に説明する。
【0135】
ステップS25においては、関連情報をプレビュー表示する。具体的には、ステップS16において表示部161に表示された背景画像中のステップS17において受け付けられた表示領域に、ステップS20、ステップS22およびステップS24のいずれかで設定された関連情報の画像を表示する。ステップS26においては、ユーザーによる許可を受け付けたか否かを判断する。許可を受け付けたならば(ステップS26でYES)、処理をステップS28に進めるが、そうでなければ(ステップS26でNO)、処理をステップS27に進める。ステップS27においては、表示領域の修正を受け付け、処理をステップS25に戻す。処理がステップS27からステップS25に進む場合、ステップS25においては、ステップS27において修正された後の表示領域に、関連情報の画像を表示する。
【0136】
ステップS28においては、拡張現実情報を生成し、処理をステップS29に進める。ステップS14において取得された基本情報に含まれる位置情報および背景画像それぞれを位置情報の項目およびコンテンツの項目に設定し、ステップS20、ステップS22およびステップS24のずれかで設定された関連情報を関連情報の項目に設定し、ステップS17において受け付けられた表示領域を領域情報の項目に設定することによって、拡張現実情報を生成する。
【0137】
次のステップS29においては、生成された拡張現実情報をサーバー500に登録し、処理を終了する。具体的には、拡張現実情報を含む拡張現実情報登録要求を、無線LANI/F208を介してサーバー500に送信する。
【0138】
図19は、拡張現実情報管理処理の流れの一例を示すフローチャートである。拡張現実情報管理処理は、サーバー500が備えるCPU501が、ROM502またはHDD504に記憶された拡張現実情報管理プログラムを実行することにより、CPU501により実行される処理である。
図19を参照して、CPU501は、基本情報登録要求を受信したか否かを判断する(ステップS71)。通信部505が基本情報登録装置として機能する携帯情報装置200から基本情報登録要求を受信したならば処理をステップS72に進めるが、そうでなければ処理をステップS73に進める。ステップS72においては、受信された基本情報登録要求に含まれる基本情報をHDD504に記憶することにより基本情報を登録し、処理をステップS73に進める。
【0139】
ステップS73においては、基本情報送信要求を受信したか否かを判断する。通信部505が拡張現実情報生成装置として機能するMFP100から基本情報送信要求を受信したならば処理をステップS74に進めるが、そうでなければ処理をステップS77に進める。ステップS74においては、受信された基本情報送信要求に含まれる位置情報を取得する。そして、HDD504に記憶されている基本情報のうちから、取得された位置情報で定まる位置から所定の範囲内の位置を示す位置情報を含む基本情報を抽出する(ステップS75)。ステップS76においては、抽出された基本情報を基本情報送信要求を送信してきたMFP100に、通信部505を介して送信し、処理をステップS77に進める。
【0140】
ステップS77においては、拡張現実情報登録要求を受信したか否かを判断する。通信部505が拡張現実情報生成装置として機能するMFP100から拡張現実情報登録要求を受信したならば処理をステップS78に進めるが、そうでなければ処理をステップS79に進める。ステップS78においては、受信された拡張現実情報登録要求に含まれる拡張現実情報をHDD504に記憶することにより拡張現実情報を登録し、処理をステップS79に進める。
【0141】
ステップS79においては、拡張現実情報送信要求を受信したか否かを判断する。通信部505が拡張現実表示装置として機能する携帯情報装置200から拡張現実情報送信要求を受信したならば処理をステップS80に進めるが、そうでなければ処理をステップS83に進める。
【0142】
ステップS80においては、受信された拡張現実情報送信要求に含まれる拡張現実情報の位置情報の項目に設定された位置情報を取得する。そして、HDD504に記憶されている拡張現実情報のうちから、取得された位置情報で定まる位置から所定の範囲内の位置を示す位置情報を含む拡張現実情報を抽出する(ステップS81)。
【0143】
次のステップS82においては、抽出された拡張現実情報を拡張現実情報送信要求を送信してきた携帯情報装置200に、通信部505を介して送信し、処理をステップS83に進める。
【0144】
ステップS83においては、拡張現実情報更新要求を受信したか否かを判断する。通信部505が拡張現実表示装置として機能する携帯情報装置200から拡張現実情報更新要求を受信したならば処理をステップS84に進めるが、そうでなければ処理を終了する。ステップS84においては、拡張現実情報更新要求で特定される拡張現実情報を更新し、処理を終了する。具体的には、HDD504に記憶されている拡張現実情報のうち拡張現実情報更新要求に含まれる拡張現現実情報と位置情報および関連情報が同じ拡張現実情報を、拡張現実情報更新要求に含まれる拡張現現実情報で更新する。
【0145】
図20は、拡張現実表示処理の流れの一例を示すフローチャートである。拡張現実表示処理は、携帯情報装置200が備えるCPU201が、フラッシュメモリー203に記憶された拡張現実表示プログラムを実行することにより、CPU201により実行される処理である。
図20を参照して、CPU201は、カメラ202を制御して被写体を撮像する(ステップS31)。ユーザーが操作部207の備えるシャッターキーを指示すれば、CPU201はカメラ202に被写体を撮像させる。被写体を撮像するまで待機状態となり(ステップS31でNO)、被写体を撮像したならば(ステップS31でYES)、処理をステップS32に進める。ステップS32においては、カメラ202が出力する撮像画像を取得し、処理をステップS33に進める。ステップS33においては、撮像方向を取得する。方位検出部210を制御して、方位検出部210にカメラ202の撮像方向を検出させる。次のステップS34においては、位置検出部209を制御して、カメラ202が被写体を撮像した時点に位置検出部209が出力する現在位置を示す位置情報を取得する。
【0146】
そして、拡張現実情報を取得する(ステップS35)。ステップS34において取得された位置情報を含む拡張現実情報送信要求を、無線LANI/F208を介してサーバー500に送信し、サーバー500が返信する拡張現実情報を取得する。
【0147】
なお、拡張現実情報送信要求に、現在位置を示す位置情報に加えてカメラ202の撮像方向を含めるようにし、サーバー500において、現在位置および取得された方位で定まる範囲内の位置を示す位置情報が定められた拡張現実情報を抽出するようにしてもよい。カメラ202の撮像方向は、方位検出部210を制御し、方位検出部210にカメラ202の撮像方向を検出させ、方位検出部210がカメラ202が撮像した時点で出力する方位を取得する。また、ステップS35において複数の拡張現実情報を取得する場合、複数の拡張現実情報を取得した後に、携帯情報装置200のカメラ202の撮像方向を変更することによって、ステップS35において取得された複数の拡張現実情報のうちから、現在位置および取得された方位で定まる範囲内の位置を示す位置情報が定められた拡張現実情報を抽出するようにしてもよい。
【0148】
次のステップS36においては、ステップS31において撮像され、ステップS32において取得された撮像画像の被写体と、拡張現実情報に含まれる背景画像の被写体とが一致するか否かを判断する。撮像画像と背景画像とのそれぞれから特徴的な形状を抽出し、撮像画像の特徴的な形状と同一または相似の形状が背景画像の特徴的な形状に含まれていれば、撮像画像と拡張現実情報の被写体が同一と判断する。例えば、画像を2値化した2値化画像または画像を微分したエッジ画像を生成することにより、画像中に含まれる被写体の輪郭を抽出することができる。抽出された輪郭の形状を特徴的な形状として抽出すればよい。特徴的な形状が同一か否かは、サイズが異なる場合があるので、相似の場合を含む。
【0149】
ステップS36において、被写体を同一と判断する場合は処理をステップS37に進め、そうでなければ処理をステップS44に進める。ステップS44においては、撮像画像を表示部161に表示し、処理をステップS43に進める。
【0150】
ステップS37においては、撮像画像中の現実表示領域を特定する。具体的には、拡張現実情報の領域情報の項目に設定された領域情報に基づいて、拡張現実情報のコンテンツの項目に設定された背景画像中の被写体に対する相対位置を特定し、撮像画像中の被写体を基準にして、特定された相対位置に存在する領域を現実表示領域に決定する。
【0151】
次のステップS38においては、撮像画像に、特定された撮像画像中の現実表示領域に関連情報の画像を合成した合成画像を生成する。次のステップS39においては、表示部161に、生成された合成画像を表示し、処理をステップS40に進める。
【0152】
ステップS40においては、相違部分判断処理を実行する。相違部分判断処理の詳細は後述するが、撮像画像と背景画像とで相違する部分が存在するか否かを判断する処理である。次のステップS41においては、相違部分判断処理の結果によって処理を分岐させる。相違部分が存在すると判断された場合には処理をステップS42に進めるが、そうでなければ処理をステップS43に進める。
【0153】
ステップS42においては、拡張現実情報を更新し、処理をステップS43に進める。具体的には、ステップS35において取得された拡張現実情報のコンテンツの項目を、ステップS32において取得された撮像画像で更新し、領域情報の項目をステップS37において特定された現実表示領域で更新し、更新後の拡張現実情報を含む拡張現実情報更新要求を無線LANI/F208を介して、サーバー500に送信する。
【0154】
ステップS43においては、拡張現実表示処理を終了する指示を受け付けたか否かを判断する。終了指示を受け付けたならば処理を終了するが、そうでなければ処理をステップS31に戻す。
【0155】
また、ステップS36において、被写体が同一と判断される拡張現実情報が複数存在する場合は、ステップS37において、複数の拡張現実情報それぞれの関連情報の画像を、合成した合成画像を表示し、ユーザーが複数の関連情報の画像のうちから選択する場合に、選択された1つの関連情報の画像のみを合成した合成画像を表示するようにすればよい。また、ステップS42においては、複数の拡張現実情報それぞれに対する拡張現実情報更新要求を、サーバー500に送信するようにすればよい。
【0156】
図21は、相違部分判断処理の流れの一例を示すフローチャートである。相違部分判断処理は、
図20のステップS40で実行される処理である。
図21を参照して、CPU201は、撮像画像を複数の部分画像に分割する(ステップS51)。分割数は限定するものではないが、縦および横それぞれで複数に等分するのが好ましい。
【0157】
そして、複数の部分画像の1つを処理対象に選択する(ステップS52)。次のステップS53においては、処理対象の部分画像を背景画像の少なくとも一部と比較する。例えば、部分画像と背景画像の少なくとも一部を、パターンマッチングすることにより、比較する。そして、比較の結果によって処理を分岐させる(ステップS54)。背景画像が部分画像と同一または類似する部分を含む場合、処理をステップS55に進めるが、そうでなければ処理をステップS56に進める。ステップS55においては、処理対象の部分画像に「類似」を設定し、処理をステップS57に進め、ステップS56においては、処理対象の部分画像に「非類似」を設定し、処理をステップS57に進める。ステップS57においては、処理対象に選択されていない部分画像が存在するか否かを判断する。未処理の部分画像が存在すれば処理をステップS52に戻すが、そうでなければ処理をステップS58に進める。以下、「類似」に設定された部分画像を類似部分といい、「非類似」に設定された部分画像を非類似部分という。
【0158】
ステップS58においては、相違部分が存在するか否かを判断する。具体的には、複数の部分画像のうちに類似部分に囲まれる非類似部分が存在する場合に、その非類似部分を相違部分と判断する。相違部分が存在すると判断する場合は処理をS59に進め、そうでなければ処理をステップS60に進める。ステップS59においては、相違部分有に決定し、処理を拡張現実表示処理に戻し、ステップS60においては、相違部分無しに決定し、処理を拡張現実表示処理に戻す。
【0159】
<変形例>
上述した実施の形態においては、拡張現実表示装置の一例として携帯情報装置200を例に説明したが、HMD400を拡張現実表示装置として機能させるようにしてもよい。この場合、HMD400が備えるCPU401は、
図8に示した携帯情報装置200が備えるCPU201が有する機能と同様の機能を有するが、表示制御部257が異なる。
【0160】
HMD400が備えるCPU401が有する表示制御部257は、撮像制御部259から撮像画像が入力されることに応じて、撮像画像を表示部206に表示することなく、拡張現実情報取得部255から入力される拡張現実情報に基づいて、拡張現実情報に含まれる関連情報の項目に設定された関連情報を表示部404に表示する。HMD400を装着するユーザーは、撮像画像と同じ画像を、表示部404の表示面を通して実際に見ている。このため、現実表示領域決定部258によって撮像画像中で決定された現実表示領域に対応する領域を表示部404の表示面中で特定し、表示部404の表示面中で特定した領域に関連情報の画像を表示する。
【0161】
ここで、HMD400を装着するユーザーが、会議室Aにおいてホワイトボードを目視すれば、ホワイトボードがカメラ402の被写体となる。この場合、会議室Aの位置を示す位置情報が位置情報の項目に設定され、ホワイトボードを被写体にして撮像された背景画像がコンテンツの項目に設定され、会議の資料である画像が関連情報に設定され、背景画像中のホワイトボードの描画面の全体を含む領域が領域情報の項目に設定された拡張現実情報がサーバー500から受信される。そして、表示部404に関連情報である会議の資料の画像が表示されると、ユーザーは、表示部404の表示面を透過して見るホワイトボードの描画面に、表示部404の表示面に表示された会議の資料の画像を見ることになる。
【0162】
また、変形例においては、HMD400が備えるCPU401は、
図20に示した拡張現実表示処理を実行するが、ステップS38、ステップS39およびステップS41が異なる。HMD400が備えるCPU401は、ステップS38において、合成画像を生成することなく、ステップS37において特定された撮像画像中の現実表示領域に対応する表示部404の表示面中の領域を特定する。そして、次のステップS39において、特定された表示部404の表示面中の領域に、関連情報の画像を表示し、処理をステップS40に進める。また、ステップS44においては、何も表示することなく、処理をステップS40に進める。
【0163】
以上説明したように、本実施の形態における携帯情報装置200は、拡張現実表示装置として機能し、被写体を撮像して得られる撮像画像(第1の画像)中の被写体と同一の被写体を有する背景画像(第2の画像)を含む拡張現実情報を、サーバー500から取得し、撮像画像中の被写体に対する相対位置が、背景画像中の被写体と表示領域との相対位置と同じ関係となる現実表示領域を決定し、現実表示領域に関連情報を表示する。このため、拡張現実情報によって撮像画像中の被写体に関連付けられた関連情報を、撮像画像中の被写体に対して定められた相対的な位置に、表示するので、撮像画像中の被写体に関連する情報を、その被写体に対して予め定められた位置に表示することができる。
【0164】
また、背景画像と撮像画像とで異なる相違部分を抽出する場合、拡張現実情報の背景画像を撮像画像で更新するので、ユーザーに通知するので、撮像画像中で被写体とは異なる部分、例えば、背景等が変化した後に、拡張現実情報に含まれる画像を最新の状態に更新することができる。
【0165】
また、背景画像と撮像画像とで異なる相違部分を抽出する場合、ユーザーに通知するので、被写体とは異なる部分、例えば、背景等が変化したことをユーザーに通知することができる。また、拡張現実情報に含まれる画像が最新の状態に更新されることをユーザーに通知することができる。
【0166】
さらに、撮像画像(第1の画像)の一部を、拡張現実情報に含まれる背景画像(第2の画像)の少なくとも一部と比較することによって、背景画像と撮像画像とで異なる相違部分を抽出するので、撮像画像および背景画像それぞれの全体が一致しなくても、被写体が同一か否かを判断することができる。
【0167】
さらに、撮像画像を分割した複数の部分画像それぞれを背景画像の一部と比較し、複数の部分画像のうち背景画像の一部と類似する複数の部分画像に囲まれた部分画像であって、背景画像の一部と類似しない部分画像を相違部分に決定するので、撮像画像と背景画像とが、被写体が同一であるが、全体として異なることを判別することができる。
【0168】
さらに、背景画像中の被写体の地理的な位置が、被写体を撮像する時点における地理的な位置から所定の範囲に存在する拡張現実情報を取得するので、複数の拡張現実情報のうちから処理対象となる拡張現実情報を絞り込むことができ、背景画像中の被写体と同一の被写体を有する背景画像を含む拡張現実情報の取得が容易となる。
【0169】
また、現在位置が取得できない場合であっても、撮像画像中の被写体と、背景画像中の被写体とを比較すれば、複数の拡張現実情報のうちから背景画像中の被写体と同一の被写体を有する背景画像を含む拡張現実情報を抽出することができる。このため、携帯情報装置が、GPS衛星からの信号を受信できない場所に位置する場合であっても、拡張現実情報を取得することができる。
【0170】
また、撮像画像に関連情報を重畳した合成画像を生成し、表示するので、撮像画像中で被写体に関連情報を関連付けることができる。
【0171】
また、HMD400が拡張現実表示装置として機能する場合、カメラ402で被写体を撮像した撮像画像(第1の画像)に基づいて、表示部404の表示面中で現実表示領域が決定され、関連情報を、表示部404の表示面中の現実表示領域に表示するので、ユーザーが表示部404の表示面を透過して視認する被写体に関連付けて関連情報を表示することができる。
【0172】
さらに、本実施の形態におけるサーバー500は、拡張現実情報を記憶し、拡張現実表示装置として機能する携帯情報装置200は、サーバー500から拡張現実情報を取得する。このため、携帯情報装置200のユーザーは、そのユーザーとは別のユーザーによりサーバー500に登録された拡張現実情報に含まれる関連情報を閲覧することができる。
【0173】
また、本実施の形態における拡張現実表示システム1においては、基本情報登録装置として機能する携帯情報装置200によって基本情報がサーバー500に登録され、拡張現実情報登録装置として機能するMFP100によって基本情報に関連情報と領域情報とを追加した拡張現実情報が登録される。このため、拡張現実表示装置として機能する携帯情報装置200は、それを使用するユーザー本人または、そのユーザーとは別のユーザーがMFP100を操作して登録した関連情報を、表示することができる。したがって、任意のユーザーにより登録された関連情報を被写体と関連付けて表示することができる。
【0174】
MFP100は、原稿読取部130が原稿を読み取った画像データを関連情報とした拡張現実情報を登録することができる。
【0175】
さらに、MFP100は、HDD115に記憶されたデータまたはネットワーク2に接続されたコンピューターに記憶されたデータのうちからユーザーにより指定されたデータを関連情報とした拡張現実情報を登録することができる。
【0176】
なお、上述した実施の形態においては、拡張現実情報表示装置の一例として携帯情報装置200を例に説明したが、
図20および
図21に示した拡張現実表示処理を携帯情報装置200に実行させる拡張現実情報表示方法、またはその拡張現実情報表示方法を携帯情報装置200が備えるCPU201に実行させる拡張現実情報表示プログラムとして、発明を特定することができるのは言うまでもない。
【0177】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。