以下、本発明のヘッドマウントディスプレイ200の一実施の形態について、図面を参照して説明する。なお、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、特に特定的な記載がない限り、それのみに限定する趣旨ではなく、単なる説明例である。
なお、本実施形態では、ヘッドマウントディスプレイとして、画像信号に応じた光束を2次元方向に走査し、その走査された光を眼に導き網膜上に表示画像を形成する網膜走査型ディスプレイを例に挙げて説明するが、これに限定しない。例えば、液晶ディスプレイ、有機EL(ElectroLuminesence)ディスプレイ等、他の画像表示装置を備え、利用者が頭部に装着して画像を鑑賞するヘッドマウントディスプレイであってもよい。
まず、図1を参照して、接続形態について説明する。図1は、定点カメラ300及びヘッドマウントディスプレイ200の接続形態の一具体例を示す図である。図1に示すように、使用者3が装着したヘッドマウントディスプレイ200には、ネットワーク1を介して定点カメラ300が接続可能である。この定点カメラ300は、街角に設置され、特定の建物の出入口等を所定時間毎に撮影し、建物の出入口での混雑状態を把握する際に使用される。ここで、所定時間は、建物の出入口での混雑状態を把握できればよく、例えば、一例として、1分とする。また、建物の出入口での混雑状態に限らず、道路を撮影し、交通渋滞等を把握するようにしてもよい。また、ヘッドマウントディスプレイ200と、定点カメラ300とは無線によりデータ通信が可能となっており、定点カメラ300からヘッドマウントディスプレイ200へ、定点カメラ300で撮影された画像(以下、「カメラ画像」という。)等が送信される。
次に、図2を参照し、ヘッドマウントディスプレイ200の概略構成について説明する。図2は、ヘッドマウントディスプレイ200の外観構成を示した図である。
図2に示すように、ヘッドマウントディスプレイ200は、画像信号に応じて変調されたレーザ光(以下「映像光4」という。)を走査させて出射させ、使用者3の少なくとも一方の眼の網膜に画像を直接投影する。これにより、使用者3に画像を視認させる。ヘッドマウントディスプレイ200は、画像信号に応じて映像光4を出射する出射装置100と、その出射装置100から出射された映像光4を導くと共に、その映像光4を使用者3の眼に向かって反射させるプリズム150と、出射装置100及びプリズム150を支持する頭部装着部210とを少なくとも備えている。
出射装置100は、映像光4をプリズム150に対し出射する。プリズム150は、出射装置100に対して固定的な位置にあり、その出射装置100から出射された映像光4を導き、その映像光4を使用者3の眼に向かって反射させる。プリズム150は、図示しないビームスプリッタ部を備えており、外界からの外光5を透過させ、使用者3の眼に導く。プリズム150は、使用者3の側方から入射された映像光4を使用者3の眼に入射させると共に、外界からの外光5を使用者3の眼に入射させる。これにより、実際の視界はもちろん、出射装置100から出射された映像光4に基づく画像が視認可能となる。
なお本実施形態においては、プリズム150によって外光5と映像光4とを同時に視認することができるような構成とした。しかしながら本発明はこの構成に限定されず、例えば、プリズム150に代えてハーフミラーを用いることもできる。これにより、出射装置100からの映像光4はハーフミラーに反射させて使用者3の眼に入射させると共に、外光5はハーフミラーを透過させて使用者3の眼に入射させることが可能となる。
また本実施形態においては、ヘッドマウントディスプレイとして、網膜走査を用いたシースルーのヘッドマウントディスプレイを例に挙げて説明したが、本発明はこの例に限定されず、例えば、反射型LCDを利用したヘッドマウントディスプレイであってもよい。
次に、図3を参照し、ヘッドマウントディスプレイ200の電気的構成について説明する。図3は、ヘッドマウントディスプレイ200の電気的構成を示す模式図である。
図3に示すように、ヘッドマウントディスプレイ200は、使用者3に画像を視認させる表示部40、各種操作やデータの入力を行うための入力部41、画像情報等の送受信を行う通信部43、ヘッドマウントディスプレイ200で使用する機能の各種設定値等を記憶するフラッシュメモリ49、表示部40に表示する画像(グラフィック)やテキストなどのイメージデータが記憶されるビデオRAM44、表示部40に表示するテキストのフォントデータが記憶されるフォントROM45、ヘッドマウントディスプレイ200全体を制御する制御部46、及び電源部47を備えている。
表示部40は、使用者3に視認させるための映像の情報(以下「映像情報」という。)を制御部46より受信し、使用者3の網膜に直接投影させるために必要な各信号に変換する為の映像信号処理部70、レーザ光を出力するレーザ群72(青色出力レーザ(Bレーザ)721、緑色出力レーザ(Gレーザ)722、赤色出力レーザ(Rレーザ)723)、及び、レーザよりレーザ光を出力させるための制御を行うレーザドライバ群71を備えている。そして、映像信号処理部70の制御により、所望のレーザ光を所望のタイミングで出力させることが可能なように、映像信号処理部70はレーザドライバ群71と電気的に接続されている。またレーザドライバ群71は、Bレーザ721、Gレーザ722、及びRレーザ723と其々電気的に接続されている。また、映像信号処理部70が制御部46より映像信号を受信することが可能なように、映像信号処理部70と制御部46とはバスを介して電気的に接続されている。
また表示部40は、レーザより出力されたレーザ光を垂直方向に反射させることによって走査を行う垂直走査ミラー812及び垂直走査ミラー812の駆動制御を行う垂直走査制御回路811、レーザより出力されたレーザ光を水平方向に反射させることによって走査を行う水平走査ミラー792及び水平走査ミラー792の駆動制御を行う水平走査制御回路791を備えている。そして、映像信号処理部70の制御により、所望の方向にレーザ光を反射させることが可能なように、映像信号処理部70と垂直走査制御回路811及び水平走査制御回路791とは其々電気的に接続されている。また、垂直走査制御回路811は垂直走査ミラー812と電気的に接続されている。また、水平走査制御回路791は水平走査ミラー792と電気的に接続されている。
入力部41は、各種機能キーなどからなる操作ボタン群50、操作ボタン群50のキーが操作されたことを検出し、制御部46に通知する入力制御回路51を備えている。そして、操作ボタン群50のキーに入力された情報を制御部46(後述)にて認識することが可能なように、操作ボタン群50は入力制御回路51と電気的に接続されている。また入力制御回路51は制御部46と電気的に接続されている。
通信部43は、無線電波を使用し、画像信号等の受信を行う通信モジュール57と、この通信モジュール57を制御する通信制御回路58とを備えている。そして、制御部46にて画像信号を取得することが可能なように、制御部46と通信制御回路58とはバスを介して電気的に接続されている。また、通信モジュール57は通信制御回路58と電気的に接続されている。
なお、通信モジュール57の通信方式としては特に限定されず、従来周知の無線通信方式が使用可能である。例えば、Bluetooth(登録商標)、UWB(Ultra Wide Band)規格、無線LAN(IEEE802.11b,11g,11nなど)規格、WirelessUSB規格などに準拠した無線通信方式が使用可能である。また、赤外線を利用したIrDA(Infrared Data Association)規格に準拠した無線通信方式も使用可能である。
電源部47は、ヘッドマウントディスプレイ200を駆動させるための電源となる充電式の電池59、及び、電池59の電力をヘッドマウントディスプレイ200に供給すると共に、充電用アダプタ(図示せず)から供給される電力を電池59へ供給して電池59の充電を行う充電制御回路60を備えている。
フラッシュメモリ49、ビデオRAM44、及びフォントROM45は、制御部46より各記憶領域に記憶された情報を参照することが可能なように、それぞれがバスを介して制御部46と電気的に接続されている。
制御部46は、ヘッドマウントディスプレイ200全体を制御する機能を有しており、例えば、所望の情報を表示部40に表示させたり、使用者3による入力部41の操作に応じて所定の動作を行ったりする。
制御部46は、CPU61、各種プログラムを格納したROM62、各種データが一時的に記憶されるRAM48などから構成されている。制御部46では、CPU61がROM62に格納された各種プログラムを読み出すことにより、各処理が実行される。RAM48は、CPU61が各処理を実行する場合に必要な各種フラグやデータの記憶領域を提供する。
表示部40にて映像光4が形成される過程の概要について、図4を参照して詳説する。図4は、表示部40において映像光4が形成される過程を説明した模式図である。表示部40は、図4に示すように、光源ユニット部65、コリメート光学系77、水平走査系79、第一リレー光学系80、垂直走査系81、第二リレー光学系82を備えている。光源ユニット部65は、映像信号処理部70、レーザドライバ群71、レーザ群72、コリメート光学系73、ダイクロイックミラー群74、及び結合光学系75を備えている。水平走査系79は、水平走査制御回路791及び水平走査ミラー792を備えている。垂直走査系81は、垂直走査制御回路811及び垂直走査ミラー812を備えている。
光源ユニット部65の構成について図3、及び図4を参照して詳説する。映像信号処理部70は、既述のように、制御部46と電気的に接続されている。そして、制御部46を介して所望の情報を網膜に投影させるためにビデオRAM44に展開された映像情報が入力される。映像信号処理部70には、輝度信号66(B輝度信号661、G輝度信号662、R輝度信号663)、垂直同期信号67及び水平同期信号68、奥行き信号84が其々入力される。映像信号処理部70では、入力された映像情報を網膜に投影させるための要素となる各信号(輝度信号、水平同期信号、垂直同期信号)が生成される。生成された各信号は、輝度信号66、水平同期信号68、及び垂直同期信号67に対して画素毎に出力される。
輝度信号66(B輝度信号661、G輝度信号662、R輝度信号663)は、レーザドライバ群71(Bレーザドライバ711、Gレーザドライバ712、Rレーザドライバ713)に其々入力される。水平同期信号68は、水平走査系79の水平走査制御回路791に入力される。垂直同期信号67は、垂直走査系81の垂直走査制御回路811に入力される。
レーザドライバ群71は、レーザ群72(Bレーザ721、Gレーザ722、Rレーザ723)に其々電気的に接続されている。レーザドライバ群71は、輝度信号66(B輝度信号661、G輝度信号662、R輝度信号663)を介して伝達された各信号の各輝度信号に基づいて、強度変調されたレーザ光をレーザ群72より出射させるために、レーザ群72を駆動する。
レーザドライバ群71の制御に基づきレーザ群72より出射された3色(青色、緑色、赤色)のレーザ光を平行光にコリメートさせることが可能なコリメート光学系73(731〜733)、コリメート光学系73にてコリメートされたレーザ光を合波させることが可能なダイクロイックミラー群74(741〜743)、合波されたレーザ光を光ファイバ76に導くための結合光学系75が其々設けられている。
尚、レーザ群72(Bレーザ721、Gレーザ722、Rレーザ723)として、レーザダイオード等の半導体レーザや固体レーザを利用してもよい。
表示部40のうち光源ユニット部65を除く部分の構成について詳説する。光源ユニット部65より光ファイバ76に対して導かれたレーザ光を水平方向に走査させるための水平走査ミラー792が水平走査系79に設けられている。水平走査ミラー792の偏向面793に入射されたレーザ光は、水平走査制御回路791の制御により、映像信号処理部70より受信される水平同期信号68に同期して水平方向に走査される。本実施の形態の水平走査系79は、表示すべき画像の1走査線毎に、レーザ光を水平方向に水平走査(1次走査の一例)させるための光学系である。
水平走査されたレーザ光を垂直走査系81に導くための第一リレー光学系80が表示部40に設けられている。また、第一リレー光学系80により導かれたレーザ光を垂直方向に走査させるための垂直走査ミラー812が垂直走査系81に設けられている。垂直走査ミラー812の偏向面813に入射されたレーザ光は、垂直走査制御回路811の制御により、映像信号処理部70より受信される垂直同期信号67に同期して垂直方向に走査される。本実施の形態の垂直走査系81は、表示すべき画像の1フレーム毎に、レーザ光を最初の走査線から最後の走査線に向かって垂直に垂直走査(2次走査の一例)する光学系である。
垂直走査されたレーザ光(映像光4(図2参照))をプリズム150に導くための第二リレー光学系82が表示部40に設けられている。第二リレー光学系82にて導かれた映像光4は、プリズム150に入射される。プリズム150は、第二リレー光学系82と使用者3の瞳孔90との間に配置される。プリズム150は、映像光4を全反射させるなどして、使用者3の瞳孔90に導く。
上述の表示部40では、水平走査系79は、垂直走査系81より高速にすなわち高周波数でレーザ光を走査するように設計される。また、第一リレー光学系80は、水平走査系79の水平走査ミラー792と、垂直走査系81の垂直走査ミラー812とが共役となるように構成されている。第二リレー光学系82は、垂直走査ミラー812と、使用者3の瞳孔90とが共役となるように構成されている。
本発明の一実施形態のヘッドマウントディスプレイ200が、外部からの映像信号を受けてから、使用者3の網膜上に映像を投影するまでの過程について、図4を参照して説明する。
本実施形態のヘッドマウントディスプレイ200では、光源ユニット部65に設けられた映像信号処理部70が映像信号を受信する。次いで映像信号処理部70より、青、緑、赤の各色のレーザ光を出力させるためのB輝度信号661、G輝度信号662、R輝度信号663からなる輝度信号66と、水平同期信号68と、垂直同期信号67とが出力される。
Bレーザドライバ711、Gレーザドライバ712、Rレーザドライバ713は、各々入力されたB輝度信号661、G輝度信号662、R輝度信号663に基づき、Bレーザ721、Gレーザ722、Rレーザ723に対してそれぞれの駆動信号を出力する。
上述の駆動信号に基づいて、Bレーザ721、Gレーザ722、Rレーザ723は、それぞれ強度変調されたレーザ光を発生させる。発生されたレーザ光は、コリメート光学系73に出力される。レーザ光は、コリメート光学系73によってそれぞれが平行光にコリメートされ、更に、ダイクロイックミラー群74に入射されて1つのレーザ光となるよう合成される。合成されたレーザ光は、結合光学系75によって光ファイバ76に入射されるよう導かれる。
光ファイバ76を伝達したレーザ光は、光ファイバ76からコリメート光学系77を介して水平走査系79に出射される。
水平走査系79に入射されたレーザ光は、水平走査ミラー792の偏向面793にて、水平同期信号68に同期して水平方向に走査される。水平走査ミラー792は、水平同期信号68に同期して、その偏向面793が入射光を水平方向に反射するように往復振動をしている。この水平走査ミラー792によってレーザ光は水平方向に走査される。水平走査されたレーザ光は、第一リレー光学系80を介し、垂直走査系81に出射される。
第一リレー光学系80では、水平走査ミラー792の偏向面793と垂直走査ミラー812の偏向面813とが共役の関係となるように調整され、また、水平走査ミラー792の面倒れが補正される。
垂直走査系81に入射されたレーザ光は、垂直走査ミラー812の偏向面813にて、垂直同期信号67に同期して垂直方向に走査される。垂直走査ミラー812は、水平走査ミラー792が水平同期信号68に同期することと同様に垂直同期信号67に同期して、その偏向面813が入射光を垂直方向に反射するように往復振動をしている。この垂直走査ミラー812によってレーザ光は垂直方向に走査される。
水平走査系79及び垂直走査系81によって垂直方向及び水平方向に2次元に走査されたレーザ光(映像光4)は、垂直走査ミラー812の偏向面813と、ユーザの瞳孔90とが共役の関係となるように設けられた第二リレー光学系82、プリズム150によりユーザの瞳孔90へ入射され、網膜上に投影される。
以上説明した過程を経ることにより、使用者3は、2次元走査されて網膜上に投影されたレーザ光による画像を認識することが可能となる。なお、水平走査系79の水平走査ミラー792と、垂直走査系81の垂直走査ミラー812とは、名称を同じように説明したが、光を走査するように其の反射面が揺動(回転)させられるものであれば、共振タイプ、非共振タイプ等、圧電駆動、電磁駆動、静電駆動等いずれの駆動方式によるものであってもよいことは言うまでもない。
以上のように構成されたヘッドマウントディスプレイ200のフラッシュメモリ49の記憶エリアについて、図5を参照して説明する。図5は、ヘッドマウントディスプレイ200のフラッシュメモリ49の構成を示す模式図である。
図5に示すように、フラッシュメモリ49には、カメラ画像テーブル記憶エリア1401、カメラ画像記憶エリア1402、平均画像テーブル記憶エリア1403、及び平均画像記憶エリア1404が設けられている。このカメラ画像テーブル記憶エリア1401には、カメラ画像テーブル1500(図6参照)が記憶される。また、カメラ画像記憶エリア1402には、定点カメラ300で撮影され、定点カメラ300から送信されたカメラ画像が記憶される。また、平均画像テーブル記憶エリア1403には、平均画像テーブル1600(図7参照)が記憶される。また、平均画像記憶エリア1404には、平均化されたカメラ画像(以下、「平均画像」という。)が記憶される。ここで、平均化とは、複数のカメラ画像において、各カメラ画像に対応する各画素の画素値の平均値を算出することである。
次に、図6を参照して、フラッシュメモリ49のカメラ画像テーブル記憶エリア1401に記憶されるカメラ画像テーブル1500について説明する。図6は、カメラ画像テーブル1500の構成を示す模式図である。このカメラ画像テーブル1500は、街角に設置されている定点カメラ300から送信される、定点カメラ300を識別するID(以下、「カメラID」という。)毎に作成されるテーブルである。そして、カメラ画像テーブル1500は、「撮影日時」、「ファイル名」、「変化フラグ」、及び「動作フラグ」を備えており、各々が対応づけられて記憶される。
「撮影日時」欄には、定点カメラ300で撮影されたカメラ画像の撮影日時が記憶され、「ファイル名」欄には、定点カメラ300で撮影されたカメラ画像のファイル名が記憶される。なお、「ファイル名」欄には、カメラ画像テーブル1500内で重複しないユニークなファイル名が記憶される。一例として、「ファイル名」欄には、カメラID、カメラ画像が撮影された年月日、及び撮影された時刻に対応したファイル名が記憶される。カメラIDが「A」、撮影された年月日が「20XX年01月13日」、撮影された時刻が、「11時50分」であれば、ファイル名は、「A_20XX0113_1150.jpg」となる。
「変化フラグ」欄には、「1」又は「0」の値が記憶される。「変化フラグ」は、平均画像と、受信したカメラ画像とにおいて、対応する各画素で差分がある割合(以下、「第一割合」という。)が、所定の割合である第一所定値より小さい場合「0」となる。また、第一割合が、第一所定値以上の場合、「1」となる。初期値としての「変化フラグ」の値は、「0」である。なお、本実施の形態では、一例として、第一所定値は20%とする。
「動作フラグ」欄には、「1」又は「0」の値が記憶される。「動作フラグ」は、直前の時刻に撮影されたカメラ画像と、受信したカメラ画像とにおいて、対応する各画素で差分がある割合(以下、「第二割合」という。)が、所定の割合である第二所定値より小さい場合「0」となる。また、第二割合が、第二所定値以上の場合、「1」となる。初期値としての「動作フラグ」の値は、「0」である。なお、本実施の形態では、一例として、第二所定値は20%とする。
次に、図7を参照して、フラッシュメモリ49の平均画像テーブル記憶エリア1403に記憶される平均画像テーブル1600について説明する。図6は、平均画像テーブル1600の構成を示す模式図である。この平均画像テーブル1600は、定点カメラ300から送信されるカメラID毎に作成されるテーブルである。そして、平均画像テーブル1600は、「時間帯」、「ファイル名」、「平均化した画像数」、及び「平均化日数」を備えており、それぞれが対応づけられて記憶さている。
「時間帯」欄には、カメラ画像の撮影された時間帯が、30分毎の範囲で設けられている。また、「ファイル名」欄には、それぞれの「時間帯」欄での平均画像のファイル名が記憶される。なお、「ファイル名」欄には、それぞれの「時間帯」欄で重複しないユニークなファイル名が記憶される。一例として、「ファイル名」には、カメラID、カメラ画像が撮影された時間帯に対応したファイル名が記憶される。カメラIDが「a」、時間帯が「14:00〜14:29」であれば、ファイル名は、「a_1400_1429.jpg」となる。また、「平均化した画像数」欄には、それぞれの「時間帯」欄で平均化に使用されたカメラ画像の数が記憶される。また、「平均化日数」欄には、平均化に使用したカメラ画像が撮影された日数が記憶される。
次に、図8〜図14を参照して、ヘッドマウントディスプレイ200で実行される各処理について説明する。図8は、ヘッドマウントディスプレイ200で実行されるメイン処理のフローチャートである。図9は、カメラ画像の単独表示の一具体例を示す図である。図10は、カメラ画像のサムネイル表示の一具体例を示す図である。図11は、カメラ画像に動きがある時のサムネイル表示の一具体例を示す図である。図12は、カメラ画像に変化がある時のサムネイル表示の一具体例を示す図である。図13は、ヘッドマウントディスプレイ200で実行される平均化処理のサブルーチンのフローチャートである。図14は、ヘッドマウントディスプレイ200で実行される表示切替処理のサブルーチンのフローチャートである。なお、メイン処理は、ヘッドマウントディスプレイ200の電源起動時に実行される処理である。また、ヘッドマウントディスプレイ200の電源がOFFになった際には、自動的に終了するものとする。また、ヘッドマウントディスプレイ200で実行される他の処理については、他のプロセスで実行されるものとする。他の処理についての説明は省略する。
はじめに、図8を参照して、ヘッドマウントディスプレイ200で実行されるメイン処理について説明する。メイン処理が実行されると、初期設定が行われる(S10)。この初期設定は、RAM48に記憶される各種変数を初期化する処理等である。次いで、定点カメラ300から、カメラ画像、カメラID、及びカメラ画像が撮影された撮影日時(以下、これらを称して「カメラ情報」という。)を受信したか否かの判断が行われる(S11)。図1で示した通り、ヘッドマウントディスプレイ200と定点カメラ300との通信は、ネットワーク1を介しているので、ヘッドマウントディスプレイ200がネットワーク1のアクセスポイントと通信を行い、アクセスポイントからは、アクセスポイントからの距離が所定範囲内の定点カメラ300の情報が選択されヘッドマウントディスプレイ200に送られる。
ヘッドマウントディスプレイ200が定点カメラ300から、カメラ情報を受信していないと判断された場合(S11:NO)、平均化処理が行われる(S27)。この平均化処理についての詳細は後述する。次いで、表示切替処理が行われ(S28)、S11へ移行する。この表示切替処理についての詳細は後述する。
所定距離以内の定点カメラ300からカメラ情報が送信され、カメラ情報を受信したと判断された場合(S11:YES)、受信したカメラ情報が初めての定点カメラ300から受信したカメラ情報であるか否かが判断される(S12)。この判断処理は、受信したカメラ情報のカメラIDに対応したカメラ画像テーブル1500が、カメラ画像テーブル記憶エリア1401に存在するか否かで判断される。初めての定点カメラ300から受信したカメラ情報であると判断された場合(S12:YES)、つまり、カメラ画像テーブル記憶エリア1401に、受信したカメラ情報のカメラIDに対応したカメラ画像テーブル1500が存在しない場合、図9に示すように、画像表示領域400において、受信したカメラ画像が単独に表示(以下、「単独表示」という。)された単独表示画像410として表示される(S25)。ここで、画像表示領域400は、使用者3がヘッドマウントディスプレイ200を装着した際に、使用者3がカメラ画像を認識できる領域である。なお、単独表示画像410には、カメラ情報の撮影日時が表示される。
次いで、フラッシュメモリ49のカメラ画像テーブル記憶エリア1401に、カメラ画像テーブル1500が新しく作成される(S26)。ここで、作成されるカメラ画像テーブル1500は、受信したカメラ情報のカメラIDに対応したテーブルである。また、「撮影日時」には、カメラ情報の撮影日時が記憶され、「ファイル名」には、ユニークなファイル名が設定される。また、受信したカメラ画像は、「ファイル名」に記憶されたファイル名で、カメラ画像記憶エリア1402に記憶される。また、「変化フラグ」、及び「動作フラグ」には、初期値として「0」が記憶される。そして、S11へ移行する。
初めての定点カメラ300から受信したカメラ情報でないと判断された場合(S12:NO)、つまり、既にカメラ画像テーブル記憶エリア1401に、受信したカメラ情報のカメラIDに対応したカメラ画像テーブル1500が存在する場合、カメラ画像テーブル1500に受信したカメラ情報が追加される(S13)。このカメラ画像テーブル1500は、受信したカメラ情報のカメラIDに対応したテーブルである。カメラ画像テーブル1500の「撮影日時」には、カメラ情報の撮影日時が記憶され、「ファイル名」には、受信したカメラ画像のファイル名が記憶される。また、「変化フラグ」、及び「動作フラグ」には、初期値である「0」が記憶される。そして、受信したカメラ画像が、カメラ画像記憶エリア1402に記憶される。
次いで、図10に示すように、画像表示領域400において、サムネイル表示がされる(S14)。このサムネイル表示は、カメラ画像テーブル1500に記憶されている全てのファイル名に対応するカメラ画像が、カメラ画像記憶エリア1402から取得され、取得されたカメラ画像が画像表示領域400にサムネイル表示画像440として、表示されている状態である。なお、本実施の形態では、画像表示領域400の一画面に表示されるサムネイル表示画像440の個数として、最大6個まで表示することができる。また、サムネイル表示画像440が表示される際には、カメラ画像に対応する撮影日時がサムネイル表示画像440に合成され、表示される。
また、カメラ画像テーブル1500に6個より多いファイル名が記憶されている際は、画像表示領域400内の左側に前ページボタン420、右側に次ページボタン430が表示される。前ページボタン420は、サムネイル表示を前のページに戻す為のボタンであり、次ページボタン430は、サムネイル表示を次のページに進める為のボタンである。なお、この前ページボタン420、又は次ページボタン430は、操作ボタン群50により操作が可能となっている。また、サムネイル表示において、カメラ画像は、撮影日時の順に並んでいるものとする。また、後述する変化フラグ、動作フラグが「1」のものから順に並べても良い。
サムネイル表示が行われると(S14)、同一の定点カメラ300から受信したカメラ画像の内で、直前のカメラ画像が存在するか否かの判断が行われる(S15)。ここで、直前のカメラ画像とは、撮影された日時から所定時間前までに撮影されたカメラ画像のことであり、フラッシュメモリ49のカメラ画像記憶エリア1402に記憶されている。同一のカメラIDに対応するカメラ画像テーブル1500(図6参照)において、直前のカメラ画像に対応するファイル名が取得され、取得されたファイル名のカメラ画像が、カメラ画像記憶エリア1402に記憶されているか否かで判断される。ここで、本実施の形態では、一例として、所定時間は30分とする。
同一の定点カメラ300から受信したカメラ画像の内で、直前のカメラ画像が存在すると判断された場合(S15:YES)、つまり、フラッシュメモリ49のカメラ画像記憶エリア1402に、直前のカメラ画像が記憶されていると判断された場合、直前のカメラ画像と、受信したカメラ画像との差分が算出され(S16)、差分があるか否かが判断される(S17)。ここで、差分を算出する際には、直前のカメラ画像と、受信したカメラ画像との双方に対して、グレースケール化を行い、輪郭データを算出する。そして、算出された双方の輪郭データの対応する全ての画素に対して、差分を算出し、第二割合が算出される。この第二割合が、第二所定値以上であるか否かで、差分があるか否かが判断される。なお、上述したように、第二所定値は20%である。従って、差分がある割合である第二割合が20%以上あれば、差分があると判断される(S17:YES)。
ここで、輪郭データを抽出する際は、周知の一次微分法を使用する。一次微分法の輪郭抽出では、各画素における濃度の勾配を求めることによって輪郭の強さと方向とを算出し、濃度値が急激に変化する部分を輪郭データとして抽出する。まず、x方向の微分gxと、y方向の微分gyとを、gx=p(x+1,y)−p(x,y),gy=p(x,y+1)−p(x,y)として求める。ただし、デジタル画像はデータが離散的であるので、隣接画素間の差分をとることで微分を近似する。ここでp(x,y)は、画素(x,y)における画素値である。次に、gx,gyより輪郭の強さをE(x,y)=|gx|+|gy|として算出する。ここで、ベクトル(gx,gy)の方向は、輪郭の方向を示す。
差分があると判断された場合(S17:YES)、つまり、直前のカメラ画像と、受信したカメラ画像との第二割合が第二所定値以上であると判断された場合、受信したカメラIDに対応するカメラ画像テーブル1500において、受信したカメラ画像のファイル名に対応した「動作フラグ」の値が「1」となる(S18)。
また、同一の定点カメラ300から受信したカメラ画像の内で、直前のカメラ画像が存在しないと判断された場合(S15:NO)、S19へ移行する。また、直前のカメラ画像と、受信したカメラ画像との差分が算出され(S16)、第二割合が、第二所定値より小さいと判断された場合(S17:NO)、S19へ移行する。
次いで、受信したカメラ情報の撮影日時の時刻が含まれる時間帯で、平均画像が存在するか否かが判断される(S19)。受信したカメラIDに対応する平均画像テーブル1600(図7参照)において、「時間帯」が、受信したカメラ情報の撮影日時の時刻と比較される。そして、平均画像テーブル1600において、受信したカメラ情報の撮影日時の時刻が含まれた「時間帯」に対応した「ファイル名」が存在するか否かで判断される。ここで、例えば、図7において、受信したカメラ情報の撮影日時の時刻を含んだ「時間帯」が「0:00〜0:29」の場合、「ファイル名」は存在しないため、平均画像が存在しないことを示す。また、受信したカメラ情報の撮影日時の時刻を含んだ「時間帯」が「14:00〜14:29」の場合、「ファイル名」は、「a_1400_1429.jpg」であるため、平均画像が存在することを示す。なお、この平均画像は、フラッシュメモリ49の平均画像記憶エリア1404に記憶されている。
受信したカメラ情報の撮影日時の時刻が含まれる時間帯で、平均画像が存在すると判断された場合(S19:YES)、つまり、受信したカメラIDに対応する平均画像テーブル1600(図7参照)において、カメラ情報の撮影日時の時刻が含まれた「時間帯」に対する「ファイル名」があり、平均画像がある場合、受信したカメラ画像と、平均画像との差分が算出される(S20)。そして、差分があるか否かが判断される(S21)。
ここで、上述したように、差分を算出する際には、平均画像と、受信したカメラ画像との双方に対して、グレースケール化を行い、輪郭データを算出する。そして、算出された双方の輪郭データの対応する全ての画素に対して、差分を算出し、第一割合が算出される。この第一割合が、第一所定値以上であるか否かで、差分があるか否かを判断する。なお、上述したように、第一所定値は20%である。また、輪郭データを抽出する際は、上述したように、周知の一次微分法を使用する。従って、差分がある割合である第一割合が20%以上あれば、差分があると判断される(S21:YES)。
また、平均画像と、受信したカメラ画像とに差分があると判断された場合(S21:YES)、つまり、平均画像と、受信したカメラ画像との第一割合が、第一所定値以上であると判断された場合、受信したカメラIDに対応するカメラ画像テーブル1500において、受信したカメラ画像のファイル名に対応した「変化フラグ」の値が「1」となる(S22)。
また、同一の定点カメラ300から受信したカメラ画像の内で、直前のカメラ画像が存在しないと判断された場合(S19:NO)、S23へ移行する。また、受信したカメラ画像と、平均画像との差分が算出され(S20)、第一割合が第一所定値より小さいと判断された場合(S21:NO)、S23へ移行する。
次いで、受信したカメラIDに対応するカメラ画像テーブル1500において、受信したカメラ画像のファイル名に対応した「動作フラグ」、又は「変化フラグ」の値が「1」か否かが判断される(S23)。
受信したカメラIDに対応するカメラ画像テーブル1500において、受信したカメラ画像のファイル名に対応した「動作フラグ」、又は「変化フラグ」の値が「1」であると判断された場合(S23:YES)、サムネイル表示の表示形態が変更される(S24)。ここで、例えば、図11又は図12のように、サムネイル表示の表示形態が変更される。そして、S27へ移行する。
図11のサムネイル表示では、画像表示領域400に表示されているサムネイル表示画像440において、「動作フラグ」の値が「1」であるファイル名に対応したサムネイル表示画像440が、強調して表示される。図11において、例えば、撮影日時が「20XX.01.30 11:50」、及び「20XX.01.30 12:10」のサムネイル表示画像440が強調して表示されている状態である。
また、図12のサムネイル表示では、画像表示領域400に表示されているサムネイル表示画像440において、「変化フラグ」の値が「1」であるファイル名に対応したサムネイル表示画像440が、強調して表示される。図12において、例えば、撮影日時が「20XX.01.13 11:50」、及び「20XX.01.20 11:50」のサムネイル表示画像440が、強調して表示されている状態である。なお、図11,図12で強調されたサムネイル表示画像440は、互いに異なった表示形態とする。
また、受信したカメラIDに対応するカメラ画像テーブル1500において、受信したカメラ画像のファイル名に対応した「動作フラグ」、又は「変化フラグ」の値が「1」でないと判断された場合(S23:NO)、S27へ移行する。
次に、図13を参照して、平均化処理について説明する。平均化処理が実行されると、初めに、平均化する単位時間が経過したか否かが判断される(S31)。ここで、単位時間の計測は、ヘッドマウントディスプレイ200に設けられているタイマ(図示外)により行われる。そして、タイマのカウント値を参照することで単位時間が経過したか否かが判断される。ここで、一例として、単位時間は、平均画像テーブル1600の「時間帯」の時間間隔である30分とする。なお、タイマの初期化は、メイン処理の初期設定(図8:S10)で行うものとする。
平均化する単位時間が経過していないと判断された場合(S31:NO)、つまり、タイマによる計測値が、単位時間を経過していない場合、平均化処理を終了する。
また、平均化する単位時間が経過したと判断された場合(S31:YES)、つまり、タイマによる計測値が単位時間を経過した場合、単位時間が経過するまでに定点カメラ300から受信したカメラ画像の平均化が行われる(S32)。つまり、受信したカメラ情報のカメラIDに対応するカメラ画像テーブル1500において、「撮影日時」の時刻が、単位時間内である全てのファイル名が取得される。そして、取得されたファイル名に基づいて、カメラ画像記憶エリア1402からカメラ画像が取得され、取得された全てのカメラ画像を使用して平均化が行われる。その際、平均化に使用したカメラ画像の数が、RAM48の画像数記憶エリア(図示外)に記憶される。ここで、平均化する単位時間が経過したと判断されると同時に、タイマの計測値が初期化され、再度、タイマによる計測が開始される。
次いで、受信したカメラ情報の撮影日時の時刻が含まれる時間帯で、平均画像が存在するか否かが判断される(S33)。受信したカメラIDに対応する平均画像テーブル1600において、「時間帯」が、受信したカメラ情報の撮影日時の時刻と比較される。そして、平均画像テーブル1600において、受信したカメラ情報の撮影日時の時刻が含まれた「時間帯」に対応した「ファイル名」が存在するか否かで判断される。
平均画像が存在しないと判断された場合(S33:NO)、つまり、平均画像テーブル1600において、受信したカメラ情報の撮影日時の時刻が含まれた「時間帯」に対応した「ファイル名」が存在しない場合、S32で平均化されたカメラ画像が、平均画像として平均画像記憶エリア1404に記憶される。その際、ユニークなファイル名が決定される。そして、作成された平均画像に関するレコードが、平均画像テーブル1600に追加される(S35)。ここで、該当する「時間帯」に対応する「ファイル名」には、決定されたユニークなファイル名が記憶される。「平均化した画素数」には、平均化に使用したカメラ画像の数が記憶される。この平均化に使用したカメラ画像の数は、画像数記憶エリア(図示外)に記憶されている。「平均化日数」には、「1」が記憶される。
次いで、単位時間内に、別の定点カメラ300から送信されたカメラ画像が、存在するか否かが判断される(S36)。つまり、平均画像テーブル記憶エリア1403に記憶されている別の平均画像テーブル1600において、「時間帯」が、受信したカメラ情報の撮影日時の時刻と比較される。ここで、別の平均画像テーブル1600とは、受信したカメラID以外のカメラIDに対応した平均画像テーブル1600である。そして、他の平均画像テーブル1600において、受信したカメラ情報の撮影日時の時刻が含まれた「時間帯」に対応した「ファイル名」が存在するか否かで判断される。
また、受信したカメラ情報の撮影日時の時刻が含まれる時間帯で、平均画像が存在すると判断された場合(S33:YES)、つまり、平均画像テーブル1600において、受信したカメラ情報の撮影日時の時刻が含まれた「時間帯」に対応した「ファイル名」が存在する場合、過去の平均画像と、受信したカメラ画像とを平均化することで新たな平均画像を作成し、平均画像テーブル1600を更新する(S34)。ここで、平均画像テーブル1600において、過去の平均画像のファイル名に該当するレコードの「平均化した画像数」、及び「平均化日数」には「1」が加算され記憶される。また、作成された新たな平均画像は、過去の平均画像と同じファイル名で平均画像記憶エリア1404に記憶される。次いで、S36へ移行する。
単位時間内に、別の定点カメラ300から送信されたカメラ画像が、存在しないと判断された場合(S36:NO)、つまり、他の平均画像テーブル1600において、受信したカメラ情報の撮影日時の時刻が含まれた「時間帯」に対応した「ファイル名」が存在しない場合、平均化処理を終了する。
また、単位時間内に、別の定点カメラ300から送信されたカメラ画像が、存在すると判断された場合(S36:YES)、つまり、他の平均画像テーブル1600において、受信したカメラ情報の撮影日時の時刻が含まれた「時間帯」に対応した「ファイル名」が存在する場合、S32へ移行し、S32からS36の処理を再度実行する。
次に、図14を参照して、表示切替処理について説明する。表示切替処理が実行されると、表示切替スイッチが操作されたか否かが判断される(S41)。この表示切替スイッチ(図示外)は、ヘッドマウントディスプレイ200の操作ボタン群50に設けられている操作ボタンの1つである。表示切替スイッチは、単独表示、又はサムネイル表示を切り替える際に使用される。
表示切替スイッチが操作され、単独表示を表示する操作がされた際には、RAM48に記憶されている表示フラグ(図示外)の値が「1」となる。また、表示切替スイッチが操作され、サムネイル表示を表示する操作がされた際には、表示フラグの値は「0」となる。また、表示切替スイッチが操作されると、RAM48に記憶されている表示切替スイッチフラグ(図示外)の値が「0」から「1」に変更される。
表示切替スイッチスイッチが押されていないと判断された場合(S41:NO)、つまり、表示切替スイッチフラグの値が「0」の場合、表示切替処理が終了する。
また、表示切替スイッチスイッチが押されたと判断された場合(S41:YES)、つまり、表示切替スイッチフラグの値が「1」の場合、表示切替スイッチフラグの値が「0」に変更され、単独表示に変更されたか否かが判断される(S42)。この判断処理は、表示切替スイッチの値が「1」か否かが判断される。
単独表示に変更されたと判断された場合(S42:YES)、つまり、表示切替スイッチの値が「1」の場合、単独表示が行われる(S44)。図9に示すように、画像表示領域400において、受信したカメラ画像が、単独表示画像410として表示される。そして、表示切替処理が終了する。
また、単独表示に変更されたと判断されていない場合(S42:NO)、つまり、表示切替スイッチの値が「0」の場合、サムネイル表示がおこなわれる(S43)。図10に示すように、画像表示領域400において、受信したカメラ画像を含んだサムネイル表示画像440が表示される。そして、表示切替処理が終了する。
以上説明したように、ヘッドマウントディスプレイ200では、街角に設けられた定点カメラ300から、所定時間毎にカメラ画像を受信する。そして、ヘッドマウントディスプレイ200を装着した使用者3は、定点カメラ300が設けられている場所のカメラ画像を認識することができる。また、表示されたカメラ画像の内で、平均化された通常の状況のカメラ画像との間で、変化があるカメラ画像に対して、表示形態が自動的に変更される。これにより、使用者3は表示形態が変更されたカメラ画像に注目することでできる。そして、平均化された通常の状況の画像との間で、変化のあるカメラ画像が撮影された場所の混雑状況を把握することができる。よって、普段とは異なる混雑の仕方をしている場所の状況を容易にすばやく把握することができる。
また、表示されたカメラ画像の内で、所定時間前のカメラ画像との間で、変化があるカメラ画像に対しても、表示形態が自動的に変更される。これにより、ヘッドマウントディスプレイ200を装着した使用者3は、所定時間前に撮影されたカメラ画像と異なったカメラ画像を把握することができる。その結果、所定時間内に混み具合が変化した時刻を確認することができる。
本発明のカメラ情報が「受信データ」に相当し、カメラIDが「識別情報」に相当し、フラッシュメモリ49が「データ記憶手段」に相当する。図8のS11:YESを実行するCPU61が「データ受信手段」に相当する。図8のS14,S25、図14のS43,S44を実行するCPU61が「表示制御手段」に相当する。図13のS32,S34を実行するCPU61が「画像データ平均化手段」に相当する。図8のS13,S26を実行するCPU61が「第一データ記憶制御手段」に相当する。図8のS21を実行するCPU61が「第一差分判断手段」に相当する。図8のS24を実行するCPU61が「第一表示変更手段」に相当する。図13のS34,S36を実行するCPU61が「第二データ記憶制御手段」に相当する。図8のS17を実行するCPU61が「第二差分判断手段」に相当する。図13のS24を実行するCPU61が「第二表示変更手段」に相当する。
尚、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を脱しない範囲内において種々の変更が可能であることは無論である。上述した実施の形態では、サムネイル表示がされているカメラ画像で、「動作フラグ」、又は「変化フラグ」に「1」が設定されているカメラ画像の表示形態を、それぞれ同一の表示形態に変更しているが、これに限定しない。たとえば、算出された差分の割合に応じて、表示形態を変更するようにしてもよい。
以下、図8,図15,及び図16を参照して、変形例のメイン処理について説明する。図15は、変形例のカメラ画像テーブル1700の構成を示す模式図である。図16は、変形例のサムネイル表示の一具体例を示す図である。
まず、図15を参照して、変形例のカメラ画像テーブル1700について説明する。カメラ画像テーブル1700は、上述した実施の形態のカメラ画像テーブル1500と同様に、フラッシュメモリ49のカメラ画像テーブル記憶エリア1401に記憶されている。そして、カメラID毎に「撮影日時」欄、「ファイル名」欄、「変化フラグ」欄、「動作フラグ」欄、「変化差分割合」欄、及び「動作差分割合」欄を備えており、各々が対応づけられて記憶される。「変化差分割合」欄には、第一割合の値が記憶され、「動作差分割合」欄には、第二割合の値が記憶される。なお、「撮影日時」欄、「ファイル名」欄、「変化フラグ」欄、及び「動作フラグ」欄に記憶される内容に関しては、上述した実施の形態と同様である。
次に、図8を参照して、変形例におけるヘッドマウントディスプレイ200で実行されるメイン処理について説明する。なお、図8におけるメイン処理で、S18,S22,及びS24以外の処理は、上述した実施の形態と同様であるため、その説明を省略する。また、変形例におけるメイン処理もヘッドマウントディスプレイ200の電源起動時に実行される処理であり、ヘッドマウントディスプレイ200の電源がOFFになった際には、自動的に終了するものとする。また、ヘッドマウントディスプレイ200で実行される他の処理については、他のプロセスで実行されるものとする。他の処理についての説明は省略する。
変形例におけるヘッドマウントディスプレイ200のメイン処理が実行され、直前のカメラ画像と、受信したカメラ画像との差分が算出され、差分があると判断された場合(S17:YES)、受信したカメラIDに対応するカメラ画像テーブル1700において、受信したカメラ画像のファイル名に対応した「動作フラグ」の値が「1」となる(S18)。また、同時に、受信したカメラ画像のファイル名に対応した「動作差分割合」に、算出された第二割合が記憶される。
また、平均画像と、受信したカメラ画像とに差分があると判断された場合(S21:YES)、つまり、平均画像と、受信したカメラ画像との第一割合が第一所定値以上であると判断された場合、受信したカメラIDに対応するカメラ画像テーブル1700において、受信したカメラ画像のファイル名に対応した「変化フラグ」の値が「1」となる(S22)。また、同時に、受信したカメラ画像のファイル名に対応した「変化差分割合」に、算出された第一割合が記憶される。
ついで、受信したカメラIDに対応するカメラ画像テーブル1700において、受信したカメラ画像のファイル名に対応した「動作フラグ」、又は「変化フラグ」の値が「1」であると判断された場合(S23:YES)、サムネイル表示の表示形態が変更される(S24)。ここで、変形例における表示形態の変更処理では、受信したカメラIDに対応するカメラ画像テーブル1700において、受信したカメラ画像のファイル名に対応した「動作差分割合」、及び「変化差分割合」の値に応じて、サムネイル表示の表示形態が変更される。
例えば、一例として、図16に示すように、「動作フラグ」の値が「1」であるサムネイル表示画像440に対して、その「動作差分割合」に応じて、強調するパターンが変更されて表示される。ここで、図15に示すように、撮影日時が「20XX.01.30 11:50」に対応する「動作差分割合」は、35%であり、撮影日時が「20XX.01.30 12:10」に対応する「動作差分割合」は、20%である。このため、図16に示すように、撮影日時が「20XX.01.30 11:50」に対応したサムネイル表示画像440の方が、撮影日時が「20XX.01.30 12:10」に対応したサムネイル表示画像440より強調されたパターンで、画像表示領域に400表示される。
以上説明したように、変形例のヘッドマウントディスプレイ200のメイン処理では、カメラ画像テーブル1700に設けられた「変化差分割合」、及び「動作差分割合」に記憶された差分の割合に応じて、サムネイル表示画像440の表示形態を変更する。これにより、ヘッドマウントディスプレイ200を装着した使用者3は、異常のあるサムネイル表示画像440が撮影された場所の混雑状況を、より詳しく把握することができる。
また、上述した実施の形態では、ヘッドマウントディスプレイ200と定点カメラ300との距離が所定距離以内であれば、ヘッドマウントディスプレイ200は定点カメラ300からカメラ情報を受信するが、これに限定しない。例えば、ヘッドマウントディスプレイ200に定点カメラ300を選択する定点カメラ選択手段を設けて、定点カメラ選択手段により選択された定点カメラ300からのみ、カメラ情報を受信してもよい。