以下、図面を用いて、本発明の実施形態について説明する。
<<実施形態の概略>>
<全天球パノラマ画像の生成方法>
図1乃至図7を用いて、全天球パノラマ画像の生成方法について説明する。
まず、図1を用いて、撮影装置1の外観を説明する。撮影装置1は、全天球(360°)パノラマ画像の元になる撮影画像を得るためのデジタルカメラである。なお、図1(a)は撮影装置の左側面図であり、図1(b)は撮影装置の正面図であり、図1(c)は撮影装置の平面図である。
図1(a)に示されているように、撮影装置1は、人間が片手で持つことができる大きさである。また、図1(a),(b),(c)に示されているように、撮影装置1の上部には、正面側(前側)に撮像素子103a及び背面側(後側)に撮像素子103bが設けられている。また、図1(b)に示されているように、撮影装置1の正面側には、シャッターボタン等の操作部115が設けられている。
次に、図2を用いて、撮影装置1の使用状況を説明する。なお、図2は、撮影装置の使用イメージ図である。撮影装置1は、図2に示されているように、ユーザが手に持ってユーザの周りの被写体を撮影するために用いられる。この場合、図1に示されている撮像素子103a及び撮像素子103bによって、それぞれユーザの周りの被写体が撮像されることで、2つの半球画像を得ることができる。
次に、図3及び図4を用いて、撮影装置1で撮影された画像から全天球パノラマ画像が作成されるまでの処理の概略を説明する。なお、図3(a)は撮影装置で撮影された半球画像(前側)、図3(b)は撮影装置で撮影された半球画像(後側)、図3(c)はメルカトル図法により表された画像(以下、「メルカトル画像」という)を示した図である。図4(a)はメルカトル画像で球を被う状態を示した概念図、図4(b)は全天球パノラマ画像を示した図である。
図3(a)に示されているように、撮像素子103aによって得られた画像は、後述の魚眼レンズ102aによって湾曲した半球画像(前側)となる。また、図3(b)に示されているように、撮像素子103bによって得られた画像は、後述の魚眼レンズ102bによって湾曲した半球画像(後側)となる。そして、半球画像(前側)と、180度反転された半球画像(後側)とは、撮影装置1によって合成され、図3(c)に示されているように、メルカトル画像が作成される。
そして、OpenGL ES(Open Graphics Library for Embedded Systems)が利用されることで、図4(a)に示されているように、メルカトル画像が球面を覆うように貼り付けられ、図4(b)に示されているような全天球パノラマ画像が作成される。このように、全天球パノラマ画像は、メルカトル画像が球の中心を向いた画像として表される。なお、OpenGL ESは、2D(2-Dimensions)および3D(3-Dimensions)のデータを視覚化するために使用するグラフィックスライブラリである。なお、全天球パノラマ画像は、静止画であっても動画であってもよい。
以上のように、全天球パノラマ画像は、球面を覆うように貼り付けられた画像であるため、人間が見ると違和感を持ってしまう。そこで、全天球パノラマ画像の一部の所定領域(以下、「所定領域画像」という)を湾曲の少ない平面画像として表示することで、人間に違和感を与えない表示をすることができる。これに関して、図5及び図6を用いて説明する。
なお、図5は、全天球パノラマ画像を3次元の立体球とした場合の仮想カメラ及び所定領域の位置を示した図である。仮想カメラICは、3次元の立体球として表示されている全天球パノラマ画像に対して、その画像を見るユーザの視点の位置に相当するものである。また、図6(a)は図5の立体斜視図、図6(b)はディスプレイに表示された場合の所定領域画像を表す図である。また、図6(a)では、図4に示されている全天球パノラマ画像が、3次元の立体球CSで表わされている。このように生成された全天球パノラマ画像が、立体球CSであるとすると、図5に示されているように、仮想カメラICが全天球パノラマ画像の外部に位置している。全天球パノラマ画像における所定領域Tは、この全天球パノラマ画像における仮想カメラICの位置の所定領域情報によって特定される。この所定領域情報は、例えば、座標x(rH)、座標y(rV)、及び画角α(angle)によって示される。所定領域Tのズームは、画角αの範囲(円弧)を広げたり縮めたりすることで表現することができる。また、所定領域Tのズームは、仮想カメラICを全天球パノラマ画像に近づいたり、遠ざけたりすることで表現することもできる。
そして、図6(a)で示されているように、全天球パノラマ画像における所定領域Tの画像は、図6(b)に示されているように、所定のディスプレイに、所定領域画像として表示される。図6(b)に示されている画像は、初期設定(デフォルト)された所定領域情報(x,y,α)によって表された画像である。
ここで、図7を用いて、所定領域情報と所定領域画像の関係について説明する。なお、図7は、所定領域情報と所定領域画像の関係との関係を示した図である。図7に示されているように、仮想カメラICの画角αによって表される所定領域Tの対角線画角を2Lとした場合の中心点CPが、所定領域情報の(x,y)パラメータとなる。fは仮想カメラICから所定領域Tの中心点CPまでの距離である。そして、図7では、一般的に以下の式(1)で示される三角関数が成り立つ。
Lf=tan(α/2)・・・(式1)
<画像通信システムの概略>
続いて、図8を用いて、本実施形態の画像通信システムの構成の概略について説明する。図8は、本実施形態の画像通信システムの構成の概略図である。
図8に示されているように、本実施形態の画像通信システムは、撮影装置1、通信端末3、無線ルータ9a、画像管理システム5、及び通信端末7によって構成されている。
このうち、撮影装置1は、上述のように、全天球(360°)パノラマ画像を得るためのデジタルカメラである。なお、この撮影装置1は、一般的なデジタルカメラであっても良く、通信端末3にカメラが付いている場合は、通信端末3がデジタルカメラとなりうる。本実施形態では、説明を分かりやすくするために全天球パノラマ画像を得るためのデジタルカメラとして説明を行う。通信端末3は、撮影装置1への充電やデータ送受信を行なうクレードル(Cradle)の一例である。また、通信端末3は、接点を介して撮影装置1とデータ通信を行なうことができると共に、無線ルータ9a及び通信ネットワーク9を介して画像管理システム5とデータ通信を行なうことができる。なお、通信ネットワーク9は、例えば、インターネットである。
また、画像管理システム5は、例えば、サーバコンピュータであり、通信ネットワーク9を介して、通信端末3,7とデータ通信を行なうことができる。画像管理システム5には、OpenGL ESがインストールされており、全天球パノラマ画像を作成する。また、画像管理システム5は、全天球パノラマ画像の一部の画像(所定領域画像)のサムネイルデータを作成し、通信端末7にサムネイルデータ及び撮影画像データを提供する。なお、画像管理システム5は、単一のサーバコンピュータによって構成されてもよいし、複数のサーバコンピュータによって構成されてもよい。
また、通信端末7は、例えば、ノートPC(Personal Computer)であり、通信ネットワーク9を介して、画像管理システム5とデータ通信を行なうことができる。なお、通信端末7は、ノートPCだけでなく、デスクトップ型のPC等のパーソナルコンピュータであってもよく、更に、スマートフォン、タブレット型端末、又はスマートウォッチであってもよい。
更に、撮影装置1、通信端末3、及び無線ルータ9aは、衣服等の各販売拠点で設置者Xによって所定の位置に設置される。通信端末7は、各販売拠点を統括する本社等に設置され、画像管理システム5を介して送られて来る各拠点の状況を表した画像を表示することで、閲覧者Yが各拠点の状況を表した画像(以下、「拠点状況画像」と示す)を閲覧することができる。画像管理システム5は、各拠点の通信端末3から送られて来た撮影画像データに基づいてサムネイルデータを作成したり、通信端末7にサムネイルデータや撮影画像データを提供したりするサービスを行なうサービス会社等に設置されている。
<実施形態のハードウェア構成>
次に、図9乃至図11を用いて、本実施形態の撮影装置1、通信端末3,7、及び画像管理システム5のハードウェア構成を詳細に説明する。
まず、図9を用いて、撮影装置1のハードウェア構成を説明する。なお、図9は、撮影装置のハードウェア構成図である。以下では、撮影装置1は、2つの撮像素子を使用した全方位撮影装置とするが、撮像素子は3つ以上いくつでもよい。また、必ずしも全方位撮影専用の装置である必要はなく、通常のデジタルカメラやスマートフォン等に後付けの全方位撮影ユニットを取り付けることで、実質的に撮影装置1と同じ機能を有するようにしてもよい。
図9に示されているように、撮影装置1は、撮像ユニット101、画像処理ユニット104、撮像制御ユニット105、マイク108、音処理ユニット109、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、SRAM(Static Random Access Memory)113、DRAM(Dynamic Random Access Memory)114、操作部115、ネットワークI/F116、通信部117、及びアンテナ117aによって構成されている。
このうち、撮像ユニット101は、各々半球画像を結像するための180°以上の画角を有する広角レンズ(いわゆる魚眼レンズ)102a,102bと、各広角レンズに対応させて設けられている2つの撮像素子103a,103bを備えている。撮像素子103a,103bは、魚眼レンズによる光学像を電気信号の画像データに変換して出力するCMOS(Complementary Metal Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサなどの画像センサ、この画像センサの水平又は垂直同期信号や画素クロックなどを生成するタイミング生成回路、この撮像素子の動作に必要な種々のコマンドやパラメータなどが設定されるレジスタ群などを有している。
撮像ユニット101の撮像素子103a,103bは、各々、画像処理ユニット104とはパラレルI/Fバスで接続されている。一方、撮像ユニット101の撮像素子103a,103bは、撮像制御ユニット105とは別に、シリアルI/Fバス(I2Cバス等)で接続されている。画像処理ユニット104及び撮像制御ユニット105は、バス110を介してCPU111と接続される。さらに、バス110には、ROM112、SRAM113、DRAM114、操作部115、ネットワークI/F116、通信部117、及び電子コンパス118なども接続される。
画像処理ユニット104は、撮像素子103a,103bから出力される画像データをパラレルI/Fバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを合成処理して、図3(c)に示されているようなメルカトル画像のデータを作成する。
撮像制御ユニット105は、一般に撮像制御ユニット105をマスタデバイス、撮像素子103a,103bをスレーブデバイスとして、I2Cバスを利用して、撮像素子103a,103bのレジスタ群にコマンド等を設定する。必要なコマンド等は、CPU111から受け取る。また、該撮像制御ユニット105は、同じくI2Cバスを利用して、撮像素子103a,103bのレジスタ群のステータスデータ等を取り込み、CPU111に送る。
また、撮像制御ユニット105は、操作部115のシャッターボタンが押下されたタイミングで、撮像素子103a,103bに画像データの出力を指示する。撮影装置によっては、ディスプレイによるプレビュー表示機能や動画表示に対応する機能を持つ場合もある。この場合は、撮像素子103a,103bからの画像データの出力は、所定のフレームレート(フレーム/分)によって連続して行われる。
また、撮像制御ユニット105は、後述するように、CPU111と協働して撮像素子103a,103bの画像データの出力タイミングの同期をとる同期制御手段としても機能する。なお、本実施形態では、撮影装置には表示部が設けられていないが、表示部を設けてもよい。
マイク108は、音を音(信号)データに変換する。音処理ユニット109は、マイク108から出力される音データをI/Fバスを通して取り込み、音データに対して所定の処理を施す。
CPU111は、撮影装置1の全体の動作を制御すると共に必要な処理を実行する。ROM112は、CPU111のための種々のプログラムを記憶している。SRAM113及びDRAM114はワークメモリであり、CPU111で実行するプログラムや処理途中のデータ等を記憶する。特にDRAM114は、画像処理ユニット104での処理途中の画像データや処理済みのメルカトル画像のデータを記憶する。
操作部115は、種々の操作ボタンや電源スイッチ、シャッターボタン、表示と操作の機能を兼ねたタッチパネルなどの総称である。ユーザは操作ボタンを操作することで、種々の撮影モードや撮影条件などを入力する。
ネットワークI/F116は、SDカード等の外付けのメディアやパーソナルコンピュータなどとのインターフェース回路(USBI/F等)の総称である。また、ネットワークI/F116としては、無線、有線を問わずにネットワークインタフェースである場合も考えられる。DRAM114に記憶されたメルカトル画像のデータは、このネットワークI/F116を介して外付けのメディアに記録されたり、必要に応じてネットワークI/FとなるネットワークI/F116を介して通信端末3等の外部装置に送信されたりする。
通信部117は、撮影装置1に設けられたアンテナ117aを介して、WiFi(wireless fidelity)やNFC等の短距離無線技術によって、通信端末3等の外部装置と通信を行う。この通信部117によっても、メルカトル画像のデータを通信端末3の外部装置に送信することができる。
電子コンパス118は、地球の磁気から撮影装置1の方位及び傾き(Roll回転角)を算出し、方位・傾き情報を出力する。この方位・傾き情報はExifに沿った関連情報(メタデータ)の一例であり、撮影画像の画像補正等の画像処理に利用される。なお、関連情報には、画像の撮影日時、及び画像データのデータ容量の各データも含まれている。
次に、図10を用いて、通信端末3のハードウェア構成を説明する。なお、図10は、
無線通信機能を有したクレードルの場合の通信端末3のハードウェア構成図である。
図10に示されているように、通信端末3は、通信端末3全体の動作を制御するCPU301、基本入出力プログラムを記憶したROM302、CPU301のワークエリアとして使用されるRAM(Random Access Memory)303、CPU301の制御にしたがってデータの読み出し又は書き込みを行うEEPROM(Electrically Erasable and Programmable ROM)304、CPU301の制御に従って被写体を撮像し画像データを得る撮像素子としてのCMOSセンサ305を備えている。
なお、EEPROM304には、CPU301が実行するオペレーティングシステム(OS)、その他のプログラム、及び、種々データが記憶されている。また、CMOSセンサ305の代わりにCCDセンサを用いてもよい。
更に、通信端末3は、アンテナ313a、このアンテナ313aを利用して無線通信信号により、無線ルータ9a等と通信を行う通信部313、GPS(Global Positioning Systems)衛星又は屋内GPSとしてのIMES(Indoor MEssaging System)によって通信端末3の位置情報(緯度、経度、および高度)を含んだGPS信号を受信するGPS受信部314、及び、上記各部を電気的に接続するためのアドレスバスやデータバス等のバスライン310を備えている。
図11を用いて、画像管理システム5及びノートPCの場合の通信端末7のハードウェア構成を説明する。なお、図11は、画像管理システム5及び通信端末7のハードウェア構成図である。画像管理システム5、及び通信端末7は、ともにコンピュータであるため、以下では、画像管理システム5の構成について説明し、通信端末7の構成の説明は省略する。
画像管理システム5は、画像管理システム5全体の動作を制御するCPU501、IPL等のCPU501の駆動に用いられるプログラムを記憶したROM502、CPU501のワークエリアとして使用されるRAM503、画像管理システム5用のプログラム等の各種データを記憶するHD504、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御するHDD(Hard Disk Drive)505、フラッシュメモリ等の記録メディア506に対するデータの読み出し又は書き込み(記憶)を制御するメディアI/F507、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示するディスプレイ508、通信ネットワーク9を利用してデータ通信するためのネットワークI/F509、文字、数値、各種指示などの入力のための複数のキーを備えたキーボード511、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行うマウス512、着脱可能な記録媒体の一例としてのCD−ROM(Compact Disc Read Only Memory)513に対する各種データの読み出し又は書き込みを制御するCD−ROMドライブ514、及び、上記各構成要素を図11に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン510を備えている。
<実施形態の処理の概略>
次に、図12を用いて、本実施形態の処理の概略について説明する。図12は、本実施形態の処理の概略を示した図である。
まず、通信端末3が撮影装置1から、撮影画像データ、所定領域情報、及び関連情報を取得する(ステップS1)。そして、通信端末3は、画像管理システム5に対して、撮影画像データ、所定領域情報、及び関連情報を送信する(ステップS2)。画像管理システム5は、所定領域情報に基づいて、撮影画像データのサムネイルデータを作成する(ステップS3)。画像管理システム5は、撮影装置1によって撮影された画像の撮影画像データ、所定領域情報、関連情報、及びサムネイルデータを通信端末7へ送信する(ステップS4)。
<<実施形態の機能構成>>
本実施形態の機能構成について説明する。図13は、本実施形態の画像通信システムの一部を構成する、撮影装置1、通信端末3、画像管理システム5、及び通信端末7の各機能ブロック図である。図13では、画像管理システム5が、通信ネットワーク9を介して、通信端末3及び通信端末7とデータ通信することができる。
<撮影装置1の機能構成>
図13に示されているように、撮影装置1は、受付部12、撮像部13、集音部14、接続部18、及び記憶・読出部19を有している。これら各部は、図9に示されている各構成要素のいずれかが、SRAM113からDRAM114上に展開された撮影蔵置用のプログラムに従ったCPU111からの命令によって動作することで実現される機能又は手段である。
また、撮影装置1は、図9に示されているROM112、SRAM113、及びDRAM114によって構築される記憶部1000を有している。
(撮影装置1の各機能構成)
次に、図9及び図13を用いて、撮影装置1の各機能構成について更に詳細に説明する。
撮影装置1の受付部12は、主に、図9に示されている操作部115及びCPU111の処理によって実現され、利用者(図8では、設置者X)からの操作入力を受け付ける。
撮像部13は、主に、図9に示されている撮像ユニット101、画像処理ユニット104、及び撮像制御ユニット105、並びにCPU111の処理によって実現され、風景等を撮像し、撮影画像データを得る。
集音部14は、図9に示されている108及び音処理ユニット109、並びにCPU111の処理によって実現され、撮影装置1の周囲の音を収音する。
接続部18は、主に、電気接点、及びCPU111の処理によって実現され、通信端末3からの電源供給を受けると共に、データ通信を行う。
記憶・読出部19は、主に、図9に示されているCPU111の処理によって実現され、記憶部1000に各種データ(または情報)を記憶したり、記憶部1000から各種データ(または情報)を読み出したりする。
<通信端末3の機能構成>
図13に示されているように、通信端末3は、送受信部31、接続部38、及び記憶・読出部39を有している。これら各部は、図10に示されている各構成要素のいずれかが、EEPROM304からRAM303上に展開された通信端末3用プログラムに従ったCPU301からの命令によって動作することで実現される機能又は手段である。
また、通信端末3は、図10に示されているROM302、RAM303、及びEEPROM304によって構築される記憶部3000を有している。
(通信端末3の各機能構成)
次に、図10及び図13を用いて、通信端末3の各機能構成について更に詳細に説明する。
通信端末3の送受信部31は、主に、図10に示されている通信部313及びCPU301の処理によって実現され、無線ルータ9a及び通信ネットワーク9を介して、画像管理システム5と各種データ(または情報)の送受信を行う。
接続部38は、主に、電気接点、及びCPU301の処理によって実現され、通信端末3に電源供給すると共に、データ通信を行う。
記憶・読出部39は、主に、図10に示されているCPU301の処理によって実現され、記憶部3000に各種データ(または情報)を記憶したり、記憶部3000から各種データ(または情報)を読み出したりする。
なお、上記各プログラムが記憶されたCD−ROM等の記録媒体、並びに、これらプログラムが記憶されたHD504は、いずれもプログラム製品(Program Product)として、国内又は国外へ提供されることができる。
<画像管理システムの機能構成>
画像管理システム5の各機能構成について説明する。画像管理システム5は、送受信部51、及び記憶・読出部59を有している。これら各部は、図11に示されている各構成要素のいずれかが、HD504からRAM503上に展開された画像管理システム5用プログラムに従ったCPU501からの命令によって動作することで実現される機能である。
また、画像管理システム5は、図11に示されているRAM503、及びHD504によって構築される記憶部5000を有している。この記憶部5000には、端末管理DB5002、及び画像管理DB5004が構築されている。このうち、端末管理DB5002は、後述の端末管理テーブルによって構成されている。画像管理DB5004は、後述の画像管理テーブルによって構成されている。
(端末管理テーブル)
図14の(A)は、端末管理テーブルを示す概念図である。この端末管理テーブルでは、撮影装置1の装置ID毎に、撮影装置1の設置された拠点の拠点名、撮影装置1の設置位置が関連付けて管理されている。拠点名は、例えば、渋谷店等の店舗名や、渋谷会場等の会場名である。
(画像管理テーブル)
図14の(B)は、画像管理テーブルを示す概念図である。この画像管理テーブルでは、装置ID毎に、撮影画像データの画像ID、及び撮影日時が関連付けて管理されている。このうち、画像IDは、撮影画像データを識別するための画像識別情報の一例である。撮影日時は、撮影画像データが撮影装置1で撮影された日時である。
(画像管理システムの各機能構成)
次に、図11及び図13を用いて、画像管理システム5の各機能構成について詳細に説明する。
画像管理システム5の送受信部51は、主に、図11に示されているネットワークI/F509及びCPU501の処理によって実現され、通信ネットワーク9を介して通信端末3、又は通信端末7と各種データ(または情報)の送受信を行う。
記憶・読出部59は、主に、図11に示されているHDD505、及びCPU501の処理によって実現され、記憶部5000に各種データ(または情報)を記憶したり、記憶部5000から各種データ(または情報)を読み出したりする。
<通信端末7の機能構成>
次に、図11及び図13を用いて、通信端末7の機能構成について詳細に説明する。通信端末7は、送受信部71、受付部72、表示制御部73、画像管理部74、及び、記憶・読出部79を有している。これら各部は、図11に示されている各構成要素のいずれかが、HD504からRAM503上に展開された通信端末7用プログラムに従ったCPU501からの命令によって動作することで実現される機能又は手段である。
また、通信端末7は、図11に示されているRAM503、及びHD504によって構築される記憶部7000を有している。
(表示画像管理テーブル)
図14の(C)は、表示画像管理テーブルを示す概念図である。記憶部7000には、表示画像管理テーブルによって表示画像管理DB7001が構築される。この表示画像管理テーブルでは、表示される画像の画像ID、画像が撮影された拠点の拠点名、画像を撮影した撮影装置1の設置位置、全天球パノラマ画像における初期の表示領域(所定領域)を示す初期視点、及び全天球パノラマ画像における現在の表示領域(所定領域)を示す現在視点、及び表示さえる画像の拡大率が関連付けて管理されている。初期視点、及び現在視点は、所定領域情報(x(rH), y(rV), α)で表される。
(シンクロ管理テーブル)
図14の(D)は、シンクロ管理テーブルを示す概念図である。記憶部7000には、シンクロ管理テーブルによってシンクロ管理DB7002が構築される。このシンクロ管理テーブルでは、表示される画像の画像ID、この画像に対する操作を他の画像に対する操作とシンクロさせるかを示すシンクロ操作のフラグ、及びこの画像に対する書込みを他の画像に対する書込みとシンクロさせるかを示すシンクロ書込みのフラグが関連付けられて管理されている。なお、本実施形態においてシンクロは、同期の意味で用いられている。フラグ「TRUE」はシンクロさせることを示し、フラグ「FALSE」はシンクロさせないことを示す。
(書込み管理テーブル)
図14の(E)は、書き込み管理テーブルを示す概念図である。記憶部7000には、書き込み管理テーブルによって書込み管理DB7003が構築される。この書込み管理テーブルでは、書込みオブジェクトが重畳される画像の画像ID、画像上で書込みオブジェクトを重畳する位置を示す書込み位置、書込み内容、及び書込み内容を画像管理システム5に登録したかを示す登録フラグが関連付けられて管理されている。書込み位置は所定領域情報のうち座標(x(rH), y(rV))で表される。登録フラグ「TRUE」は登録したことを示し、登録フラグ「FALSE」は登録していないことを示す。
(通信端末7の各機能構成)
次に、図13を用いて、通信端末7の各機能構成について詳細に説明する。
通信端末7の送受信部71は、主に、図11に示されているネットワークI/F509及びCPU501の処理によって実現され、通信ネットワーク9を介して画像管理システム5と各種データ(または情報)の送受信を行う。
受付部72は、主に、図11に示されているキーボード511及びマウス512、並びにCPU501の処理によって実現され、利用者(図8では、閲覧者Y)からの操作入力を受け付ける。
表示制御部73は、主に、図11に示されているCPU501の処理によって実現され、通信端末7のディスプレイ508に各種画像を表示させるための制御を行なう。
画像管理部74は、主に、図11に示されているCPU501の処理によって実現され、通信端末7において表示される画像を管理する。
記憶・読出部79は、主に、図11に示されているHDD505、及びCPU501の処理によって実現され、記憶部7000に各種データ(または情報)を記憶したり、記憶部7000から各種データ(または情報)を読み出したりする。
<<実施形態の処理>>
続いて、本実施形態の処理について説明する。まず、図15を用いて、撮影画像をアップロードする処理について説明する。図15は、撮影画像をアップロードする処理の一例を示すシーケンス図である。
設置者Xは、定点観測する店舗等の拠点において、撮影装置1により全天球パノラマ画像を撮影する。全天球パノラマ画像が撮影されると、撮影装置1の記憶・読出部19は、撮影画像に係る撮影画像データ、関連情報、所定領域情報、及び撮影装置1の装置IDを記憶部1000に記憶させる。関連情報は、撮影日時等を示す。所定領域情報は、例えば、撮影装置1の工場出荷時に設定されおり、予め定められた視点方向を示している。
設置者Xは、撮影後、撮影装置1を通信端末3に接続する。これにより、通信端末3の接続部38は、撮影装置1の接続を検出する。通信端末3の接続部38は、撮影装置1の記憶部1000へアクセスして、撮影装置1から通信端末3へ、撮影画像データ、関連情報、所定領域情報、及び撮影装置1の装置IDを転送させる(ステップS21)。
次に、通信端末3の送受信部31は、画像管理システム5に対して、画像の登録要求を送信する(ステップS22)。この画像の登録要求には、ステップS21で通信端末3へ転送された装置ID、撮影画像データ、関連情報、所定領域情報、及び撮影装置1の装置IDが含まれている。これにより。画像管理システム5の送受信部51は、画像の登録要求を受信する。画像管理システム5の記憶・読出部59は、受信されたそれぞれの撮影画像データに対して、画像IDを割り当てて記憶部5000において管理する(ステップS23)。
続いて、記憶・読出部59は、各管理テーブルに対して各種情報を記録する(ステップS24)。具体的には、記憶・読出部59は、端末管理テーブル(図14の(A)参照)に、ステップS22で通信端末3から送られてきた装置ID、及び所定領域情報を記録する。また、記憶・読出部59は、画像管理テーブル(図14の(B)参照)に、ステップS22で通信端末3から送られてきた装置ID、ステップS23で割り当てられた画像ID、及び撮影日時を関連付けて記録する。
続いて、通信端末7において表示する画像を追加する処理について説明する。図16は、表示する画像を追加する処理の一例を示すシーケンス図である。以下、通信端末7のディスプレイ508に3つの画像I1,I2,I3が表示されているときに、4つ目の画像I4を追加する処理を説明する。ただし、ディスプレイ508に画像が表示されていない状態で画像を追加する処理、或いは、ディスプレイ508に2つ以下、又は4つ以上の画像が表示されている状態で新たな画像を追加する処理は、以下で説明する処理と同様である。
通信端末7の表示制御部73は、表示する画像の追加要求を受け付ける画面をディスプレイ508へ出力する。図17の(A)は、画像の追加要求を受け付ける画面の表示例である。画面には、画像の追加要求を受け付けるボタンBAが含まれている。通信端末7のユーザがボタンBAを押下すると、受付部72は画像の追加要求を受け付ける(ステップS31)。画像の追加要求が受け付けられると、通信端末7の送受信部71は、追加する画像を選択するための条件として、撮影装置1が設置される拠点名、及び設置位置の一覧の取得要求を画像管理システム5へ送信する(ステップS32)。
画像管理システム5の送受信部51は、通信端末7によって送信された拠点名、及び設置位置の一覧の取得要求を受信する。この取得要求に応じて画像管理システム5の記憶・読出部59は、端末管理テーブル(図14の(A)参照)に記憶されている各拠点名、及び各設置位置を読み出す(ステップS33)。画像管理システム5の送受信部51は、ステップS33で読み出された拠点名、及び設置位置の一覧を通信端末7へ送信する(ステップS34)。
通信端末7の送受信部71は、画像管理システム5によって送信された拠点名、及び設置位置の一覧を受信する。続いて、通信端末7の表示制御部73は、追加する画像の撮影された拠点名、撮影装置1の設置位置、及び撮影日時の入力を受け付けるためのポップアップをディスプレイ508へ出力する。図17の(B)は、拠点名、設置位置、及び撮影日時の入力を受け付けるためのポップアップの一例を示す図である。
ポップアップには拠点名を選択するためのドロップダウンリストDD1が含まれている。ユーザがドロップダウンリストDD1を選択すると、表示制御部73は、ステップS34で画像管理システム5から送られてきた拠点名の一覧を表示させる。ユーザが拠点名の一覧から所望の拠点名を選択すると、受付部72は、拠点名の選択を受け付ける(ステップS35)。
また、ポップアップには設置位置を選択するためのドロップダウンリストDD2が含まれている。ユーザがドロップダウンリストDD2を選択すると、表示制御部73は、ステップS34で画像管理システム5から送られてきた設置位置の一覧を表示させる。ユーザが設置位置の一覧から所望の拠点名を選択すると、受付部72は、設置位置の選択を受け付ける(ステップS36)。以下、ステップS35で拠点名「渋谷店」が選択され、ステップS36で設置位置「売場」が選択された場合について説明する。
通信端末7の送受信部71は、ステップS36で選択された拠点名「渋谷店」、及びステップS37で選択された設置位置「売場」を含み、選択された拠点の選択された設置位置に設置された撮影装置1による撮影日時の一覧の取得要求を画像管理システム5へ送信する(ステップS37)。
画像管理システム5の送受信部51は、通信端末7によって送信された撮影日時の一覧の取得要求を受信する。画像管理システム5の記憶・読出部59は、撮影日時の一覧の取得要求に含まれる拠点名「渋谷店」、及び設置位置「売場」を検索キーとして端末管理テーブル(図14の(A)参照)を検索して、対応する装置ID「t0001」を読み出す。画像管理システム5の記憶・読出部59は、読み出された装置ID「t0001」を検索キーとして画像管理テーブル(図14の(B)参照)を検索し、対応する撮影日時の一覧を読み出す(ステップS38)。画像管理システム5の送受信部51は、ステップS38で読み出された撮影日時の一覧を通信端末7へ送信する(ステップS39)。
通信端末7の送受信部71は、画像管理システム5によって送信された撮影日時の一覧を受信する。通信端末7において表示されているポップアップには、撮影日時の選択画面に移行するためのボタンBBが含まれている(図17の(B)参照)。ユーザがボタンBBを押下すると、表示制御部73は、ステップS39で画像管理システム5から送られてきた撮影日時の一覧が記録されたカレンダーをディスプレイ508へ出力する。図17の(C)は、撮影日時の一覧が記録されたカレンダーの表示例である。ユーザがカレンダーから所望の撮影日時を選択すると、受付部12は、撮影日時の選択を受け付ける(ステップS40)。
通信端末7の送受信部71は、ステップS35で選択された拠点名、及びステップS36で選択された設置位置、及びステップS40で選択された撮影日時を含み、選択された拠点、設置位置、及び撮影日時の画像の取得要求を画像管理システム5へ送信する(ステップS41)。
画像管理システム5の送受信部51は、通信端末7によって送信された画像の取得要求を受信する。画像管理システム5の記憶・読出部59は、画像の取得要求に含まれる拠点名、及び設置位置を検索キーとして端末管理テーブル(図14の(A)参照)を検索して、対応する装置IDを読み出す。更に、画像管理システム5の記憶・読出部59は、上記の処理で読み出された装置ID、及び画像の取得要求に含まれる撮影日時を検索キーとして画像管理テーブルを検索し、対応する画像IDを読み出す(ステップS42)。
画像管理システム5の送受信部51は、ステップS42で読み出された画像ID、この画像IDに対応する撮影画像データ、拠点名、設置位置、撮影日時、及び初期視点の所定領域情報を通信端末7へ送信する(ステップS43)。なお、拠点名、設置位置、及び撮影日時は、画像の取得要求に係るものである。初期視点の所定領域情報は、端末管理テーブルにおいて、上記の拠点名、及び設置位置に関連付けられているものである。
通信端末7の送受信部71は、画像管理システム5によって送信された撮影画像データ等を受信する。続いて、画像管理部74は、ステップS43で画像管理システム5から送られてきた画像ID、拠点名、設置位置、撮影日時、及び初期視点が含まれるレコードを表示画像管理テーブル(図14の(C)参照)に記録する(ステップS44)。また、画像管理部74は、このレコードの現在視点として、初期視点と同じ値を記録し、拡大率としてデフォルトの値「100%」を記録する。
通信端末7の表示制御部73は、表示画像管理テーブルにおいて管理されている画像ID「i11, i12, i13, i14」の各撮影画像データから、表示画像管理テーブルに記憶されている各現在視点の所定領域を抽出することにより、画像I1,I2,I3,I4をディスプレイ508へ出力する(ステップS45)。また、表示制御部73は、各画像I1,I2,I3,I4に対応付けて、表示画像管理テーブルにおいて管理されている拠点名、設置位置、及び撮影日時を表示させる。図18の(A)及び(B)は、ステップS45におけるディスプレイの表示例である。表示制御部73は、通信端末7で動作する画像表示用のプログラムに従って、例えば、図18の(A)又は(B)のような任意のレイアウトで画像を表示する。なお、図18の(B)のレイアウトでは画面のスクロール操作により画像I4は表示される。
表示制御部73は、各画像I1,I2,I3,I4に対応付けて、操作のシンクロ又は書込みのシンクロを受け付けるためのチェックボックスCB1、CB2を表示させる。なお、表示制御部73は、チェックボックスCB1,CB2にチェックが入っている画像を、チェックが入っていない画像に対して上部等の視認しやすい位置に優先的に表示させても良い。
続いて、操作をシンクロさせる処理について説明する。図19は、通信端末7の処理の一例を示すフロー図である。図20は、通信端末7におけるディスプレイの表示例である。図20の(A)に示すように、ディスプレイ508の画面上で、ユーザが操作をシンクロさせる画像のチェックボックスCB1にチェックを入れると、受付部72は操作をシンクロさせる画像の選択を受け付ける(ステップS61)。以下、画像I1,I2のチェックボックスCB1にチェックが入れられた場合について説明する。
通信端末7の記憶・読出部79は、ステップS61で選択された画像の画像ID「i11, i12」、及びシンクロ操作することを示すフラグ「TRUE」を関連付けて、シンクロ管理テーブル(図14の(D)参照)に記録する(ステップS62)。
図20の(A)の画面上で、ユーザがいずれかかの画像I1,I2,I3,I4に対する操作を行うと、通信端末7の受付部72は画像に対する操作を受け付ける(ステップS63)。画像に対する操作としては、特に限定されないが、画像の拡大操作、画像の縮小操作、視点の移動操作等が挙げられる。なお、画像の拡大操作は所定領域の縮小操作に、画像の縮小操作は所定領域の拡大操作と言うこともできる。
通信端末7の画像管理部74は、表示画像管理テーブル(図14の(C)参照)において、操作された画像に係るレコードの現在視点、及び拡大率を、操作の内容に応じて変更する(ステップS64)。この処理で、画像管理部74は、まず、操作の内容に基づいて操作対象の画像の所定領域の変位量(ΔrH, ΔrV, Δangle)を算出する。続いて、画像管理部74は、表示画像管理テーブルにおいて、操作された画像に係るレコードの現在視点に、算出された変位量(ΔrH, ΔrV, Δangle)を加算して更新する。なお、画角の変位量Δangleが0ではない場合、画像管理部74は、表示画像管理テーブルにおいて、操作された画像に係るレコードの拡大率を、画角の変位量Δangleに応じて変更する。以下、画像I2に対する操作に応じて、画像I2の現在視点が変位量(ΔrH=-8, ΔrV=8, Δangle=-16)変位した場合について説明する。この場合、画像管理部74は、図14の(D)の表示画像管理テーブルを、表1のように更新する。
続いて、画像管理部74は、ステップS63において操作された画像I2の画像ID「i2」を検索キーとしてシンクロ管理テーブル(図14の(D)参照)を検索して、対応するシンクロ操作のフラグ「TRUE」を読み出す。これにより、画像管理部74は、操作対象の画像がシンクロ操作の対象であるか判断する(ステップS65)。ここで、シンクロ操作のフラグ「TRUE」が読み出された場合、シンクロ操作の対象(YES)と判断される。
ステップS65においてYESと判断された場合、画像管理部74は、表示されている画像I1,I2,I3,I4のうち、操作をシンクロさせる画像を特定する(ステップS66)。この処理で、画像管理部74は、シンクロ操作のフラグ「TRUE」を検索キーとしてシンクロ管理テーブルを検索し、対応する画像ID「i11, i12」を読み出す。画像管理部74は、読み出された画像ID「i11, i12」のうち、ステップS63で操作された画像I2の画像ID「i12」以外の画像ID「i11」を、操作をシンクロさせる画像の画像IDとして特定する。
続いて、画像管理部74は、表示画像管理テーブル(表1参照)において、操作をシンクロさせる画像の画像ID「i11」が記録されたレコードに対し、ステップS64での操作された画像に係るレコードの変更内容と同じ変更内容を適用する(ステップS67)。ステップS64で、表示画像管理テーブルの画像ID「i12」に記録されたレコードに対して、現在視点に変位量(ΔrH=-8, ΔrV=8, Δangle=-16)が加算され、拡大率が100%加算された場合に、画像管理部74は、画像ID「i11」が記録されたレコードに対しても、現在視点に変位量(ΔrH=-8, ΔrV=8, Δangle=-16)を加算し、拡大率を100%加算する。この処理で、表1の表示画像管理テーブルは、表2のように更新される。
ステップS67の処理が完了してから、或いはステップS65でNOと判断されてから、表示制御部73は、表示画像管理テーブルに記録された情報に基づいて、画像I1,I2,I3,I4をディスプレイ508へ出力する(ステップS68)。図20の(B)は、ステップS68におけるディスプレイの表示例である。上記の処理によって、画像I1,I2の現在視点が同じ変位量、変更されることから、図20(A)から図20(B)のように、画像I1,I2に同じ操作が行われたように表示が更新される。
拡大率を変更する操作において、操作される画像、又はシンクロさせる画像の一方の拡大率が最大値、又は最小値に達して、一方の画像に対する更なる拡大、又は縮小の操作を実行できなくなることも想定される。この場合、通信端末7の画像管理部74は、ステップS64以降の処理を実行せず処理を終了しても良い。これにより、最大値、又は最小値に達してからは、操作される画像、又はシンクロさせる画像の拡大率の変更は共に停止することになる。
或いは、操作される画像、又はシンクロさせる画像の一方の拡大率が最大値、又は最小値に達した場合、画像管理部74は、ステップS64、又はS67における例外の処理として、操作を同期させず、拡大率が最大値、又は最小値に達していない他方の画像に対してのみ、操作に応じた現在視点の変更を行っても良い。
続いて、画像への書込みをシンクロさせる処理について説明する。図21は、通信端末7の処理の一例を示すフロー図である。図22は、通信端末7におけるディスプレイの表示例である。図22の(A)に示すように、ディスプレイ508の画面上で、ユーザが書込みをシンクロさせる画像に対応するチェックボックスCB2にチェックを入れると、受付部72は書込みをシンクロさせる画像の選択を受け付ける(ステップS81)。以下、画像I1,I3のチェックボックスCB2にチェックが入れられた場合について説明する。
通信端末7の記憶・読出部79は、ステップS81で選択された画像の画像ID「i11, i13」、及びシンクロ書込みすることを示すフラグ「TRUE」を関連付けてシンクロ管理テーブル(図14の(D)参照)に記録する(ステップS82)。
図22の(A)の画面上で、ユーザが書込み開始を受け付けるボタンBCを押下して、いずれかの画像I1,I2,I3,I4に対する書込み操作を行うと、通信端末7の受付部72は画像に対する書込み操作を受け付ける(ステップS83)。以下、画像I1の座標(rH228, rV432)に「memo」というテキストが書込まれた場合について説明する。
通信端末7の画像管理部74は、書込み管理テーブル(図14の(E)参照)において、書込み操作された画像I1の画像ID「i11」に関連付けて、書込み位置(rH228, rV432)、及び書込み内容「memo」を記録する(ステップS84)。
通信端末7の画像管理部74は、書込み操作された画像I1の画像ID「i11」を検索キーとしてシンクロ管理テーブル(図14の(D)参照)を検索して、対応するシンクロ書込みのフラグ「TRUE」を読み出す。これにより、画像管理部74は、書込み操作された画像I1がシンクロ書込みの対象であるか判断する(ステップS85)。ここで、シンクロ書込みのフラグ「TRUE」が読み出された場合、シンクロ書込みの対象(YES)と判断される。
ステップS85においてYESと判断された場合、画像管理部74は、表示されている画像I1,I2,I3,I4のうち、書込み操作をシンクロさせる画像を特定する(ステップS86)。この処理で、画像管理部74は、シンクロ管理テーブルにおいてシンクロ書込みのフラグ「TRUE」に対応付けられている画像ID「i11, i13」を読み出す。画像管理部74は、読み出された画像ID「i11, i13」のうち、書込み操作された画像I1の画像ID「i11」とは異なる画像ID「i13」を、シンクロさせる画像の画像IDとして特定する。
続いて、画像管理部74は、書込み管理テーブル(図14の(E)参照)において、書き込みをシンクロさせる画像の画像ID「i13」、書込み内容として書込み操作された画像I1に書き込まれたテキスト「memo」、及び登録フラグ「FALSE」を記録する(ステップS87)。更に、ステップS87の処理で、画像管理部74は、シンクロさせる画像I2上への書き込み位置を決定する。以下、書き込み位置を決定する方法を例示する。
図23の(A)乃至(C)は、全天球パノラマ画像の立体球CSを一方向から見た概念図である。図23の(A)乃至(C)において、左側の立体球CSは書き込み操作された画像I1を示し、右側の立体球CSは書き込みがシンクロされる画像I3を示す。このうち図23の(A)は、書き込み位置を決定する第1の方法を説明するための概念図である。第1の方法では、画像管理部74は、書き込み操作された画像I1において、現在視点PCに対する書込み位置の差分ΔW(ΔrHW, ΔrVW)を算出する。続いて、画像管理部74は、シンクロさせる画像I3の現在視点に差分ΔW(ΔrHW, ΔrVW)を加算することにより、シンクロさせる画像I3上への書込み位置を決定する。なお、シンクロさせる画像I3の現在視点は、表示画像管理テーブル(図14の(C)参照)において管理されている。
図23の(B)は、書き込み位置を決定する第2の方法を説明するための概念図である。第2の方法では、書込み操作された画像I1と、シンクロさせる画像I3とで、画像の拡大率が異なる。拡大率が異なる場合でも、画像管理部74は、第1の方法と同様に、書込み操作された画像I1から算出された差分ΔW(ΔrHW, ΔrVW)を、シンクロさせる画像I3の現在視点に加算することにより、シンクロさせる画像I3上への書き込み位置を決定する。
図23の(C)は、書き込み位置を決定する第3の方法を説明するための概念図である。第3の方法では、画像管理部74は、書込み操作された画像I1における書込み位置を、所定領域の横、縦の幅に対する相対位置で特定する。そして、画像管理部74は、シンクロさせる画像I3における上記で特定された相対位置を書込み位置とする。例えば、書込み操作された画像I1における所定領域の横幅をx1:x2に分けた位置に書込みが行われた場合、画像管理部74は、シンクロされる画像I3における所定領域の横幅をx1:x2に分けた位置を書込み位置として特定する。
画像管理部74は、シンクロさせる画像I3の画像ID「i13」に関連づけて、決定された書込み位置を書込み管理テーブルに記録する。
ステップS87の処理が完了してから、或いはステップS85でNOと判断されてから、表示制御部73は、書込み管理テーブルで管理されている画像ID「i11, i13」の画像I1,I3の各書込み位置に、書込み管理テーブルで管理されている書込み内容「memo」のオブジェクトが重畳された画像をディスプレイ508へ出力する(ステップS88)。
図24は、ステップS88におけるディスプレイ508の表示例である。なお、図24の(A)は書き込み操作された画像I1の表示例である。図24の(B)は、第2の方法により書込み位置が決定されたシンクロさせる画像I3の表示例である。図24の(C)は、第3の方法により書込み位置が決定されたシンクロされる画像I3の表示例である。図24の(C)のように、第3の方法により書込み位置が決定された場合には、画像I1における書込み位置と同じ位置に書込み内容のオブジェクトWが出力されるため視認性が向上する。
なお、図24は、書込み操作された画像I1の拡大率が200%であり、シンクロされる画像I3の拡大率が100%であるときの表示例である。この場合、画像I1,I3に同じサイズのオブジェクトWが重畳されることで、画像I1には、画像I3に対して2倍に拡大されたオブジェクトWが出力される。
そこで、画像管理部74は、オブジェクトWが重畳される元の画像の拡大率に応じて、オブジェクトWのサイズを正規化しても良い。例えば、画像管理部74は、書込み操作された画像I1への書込み内容を書込み管理テーブルに記録する際に、画像I1の拡大率「200%」の逆数「50%」を、オブジェクトWに対する拡大率として記録する。また、画像管理部74は、シンクロさせる画像I3への書込み内容を書込み管理テーブルに記録する際に、画像I1の拡大率「100%」の逆数「100%」を、オブジェクトWに対する拡大率として記録する。表3は、オブジェクトWに対する拡大率が記録された書込み管理テーブルの一例を示す。
書込み管理テーブルにオブジェクトWの拡大率が記録されている場合、表示制御部73は、書込み管理テーブルに記録された拡大率でオブジェクトWのサイズを変更して出力する。これにより、画像I1,I3の拡大率によらず、画像I1,I3上に同じサイズでオブジェクトWが表示されるようになる。
続いて、図25を用いて、書込み内容を画像管理システム5に登録する処理について説明する。図25は、書込み内容を登録する処理の一例を示すシーケンス図である。通信端末7の表示制御部73は、任意のタイミングで、書込み内容を確定させるボタンBDをディスプレイ508へ出力する(図22参照)。ユーザがボタンBDを押下すると、受付部72は、書込み内容の確定を受け付ける(ステップS91)。
書込み内容の確定が受け付けられると、送受信部71は、画像管理システム5は、書込み内容の登録要求を送信する(ステップS92)。登録要求には、書込み管理テーブルにおいて、登録フラグが「FALSE」であるレコードの画像ID、書込み位置、及び書込み内容が含まれている。
画像管理システム5の送受信部51は、通信端末7によって送信された登録要求を受信する。画像管理システム5の記憶・読出部59は、登録要求に含まれている画像ID、書込み位置、及び書込み内容等の情報を記憶部5000に記憶させることにより書込み内容を登録する(ステップS93)。これにより、登録された書込み内容を複数の通信端末で共有することが可能となる。登録が完了すると、画像管理システム5の送受信部51は、登録が完了した旨の応答を通信端末7へ送信する(ステップS94)。
通信端末7の送受信部71は、画像管理システム5によって送信された応答を受信する。応答が受信されてから、通信端末7の画像管理部74は、書込み管理テーブルに記録されている登録フラグ「FALSE」を「TRUE」に更新する(ステップS95)。
<<実施形態の変形例A>>
続いて、実施形態の変形例Aについて上記の実施形態と異なる点を説明する。図26の(A)は、通信端末7における処理の一例を示すフロー図である。
図27の(A)は、表示する画像の追加要求を受け付けるための画面の一例を示す図である。通信端末7の表示制御部73は、表示する画像の追加要求を受け付けるための画面を出力するときに、現在表示されている画像の広角を別画像として表示する要求を受け付けるボタンBEを表示する。
通信端末7のユーザがボタンBEを押下すると、受付部72は広角の表示の要求を受け付ける(ステップS101)。なお、表示されている画像が複数ある場合に、受付部72は、広角を表示する画像の選択を受け付けても良い。
広角の表示の要求が受け付けられると、通信端末7の画像管理部74は、現在表示されている画像に係る画像ID、拠点名、設置位置、撮影日時、初期視点、現在視点、及び拡大率を表示画像管理テーブルから取得する(ステップS102)。
続いて、画像管理部74は、ステップS102で取得されたものと同じ画像ID、拠点名、設置位置、撮影日時、初期視点、及び拡大率が含まれ、ステップS102で取得された現在視点に対し、90°、180°、270°異なる現在視点が記録された3つのレコードを表示画像管理テーブルに追加する(ステップS103)。表4は、ステップS103で3つのレコードが追加された表示画像管理テーブルを示す概念図である。
通信端末7の表示制御部73は、表4の表示画像管理テーブルに記録されている情報に基づいて、同じ全天球パノラマ画像の現在視点が90°ずつ異なる4つの画像をディスプレイ508へ出力する(ステップS104)。図27の(B)は、ステップS104におけるディスプレイの表示例である。
<<実施形態の変形例B>>
続いて、実施形態の変形例Bについて上記の実施形態と異なる点を説明する。表5は、変形例Bにおけるシンクロ管理テーブルの一例を示す概念図である。
通信端末7の受付部72は、ステップS61で操作をシンクロさせる画像の選択を受け付けるときに選択された画像に対しグループの入力を受け付ける。通信端末7の記憶・読出部59は、ステップS62で、シンクロ管理テーブルにおいて、選択された画像の画像IDに関連付けて、シンクロさせることを示す「TRUE」、及び入力されたグループ名(例えば、「GroupA」)が含まれたシンクロ操作のフラグ(例えば、「TRUE/GroupA)を記録する。
画像管理部74は、ステップS66で、操作された画像と、シンクロ操作のフラグが一致する画像をシンクロさせる画像として特定する。例えば、画像管理部74は、表5のシンクロ管理テーブルにおいて、操作れた画像ID「i11」の画像と、シンクロ操作のフラグ「TRUE/GroupA」が一致する画像ID「i12」の画像を、シンクロさせる画像として特定する。
同様に、通信端末7の受付部72は、ステップS81で書込みをシンクロさせる画像の選択を受け付けるときに選択された画像に対しグループの入力を受け付ける。通信端末7の記憶・読出部59は、ステップS82で、シンクロ管理テーブルにおいて、選択された画像の画像IDに関連付けて、シンクロすることを示す「TRUE」、及び入力されたグループ名(例えば、「GroupC」)が含まれたシンクロ書込みのフラグ(例えば、「TRUE/GroupC)を記録する。
画像管理部74は、ステップS86で、操作された画像と、シンクロ書込みのフラグが一致する画像をシンクロさせる画像として特定する。例えば、画像管理部74は、表5のシンクロ管理テーブルにおいて、書込み操作された画像ID「i11」の画像と、シンクロ書込みのフラグ「TRUE/GroupC」が一致する画像ID「i13」の画像を、シンクロさせる画像として特定する。
<<実施形態の変形例C>>
続いて、実施形態の変形例Cについて上記の実施形態と異なる点を説明する。図26の(B)は、通信端末7における処理の一例を示すフロー図である。
画像に対する操作を繰り返すことで、表示されている複数の画像の現在視点がそれぞれ異なる値となることも想定される。そこで、通信端末7の受付部72は、画像の視点を同期させる要求を受け付ける(ステップS111)。
画像の視点を同期させる要求を受け付けられると、画像管理部74は、表示管理テーブルにおいて管理されている複数の画像にかかる現在視点を同期させる(ステップS112)。現在視点を同期させるいくつかの方法を説明する。
第1の方法では、画像管理部74は、表示管理テーブルにおいて管理されている複数の画像にかかる現在視点を、その画像の初期視点に更新する。
第2の方法では、画像管理部74は、表示管理テーブルにおいて管理されている情報に基づいて、表示されている画像のうちいずれかの基準となる画像の現在視点と、初期視点との差分を算出する。画像管理部74は、表示管理テーブルにおいて、表示されている他の画像の現在視点を、他の画像の初期視点に算出された差分が加算された値に更新する。
なお、視点を同期させる画像は、表示されているすべての画像であっても良いし、シンクロ管理テーブルにおいてシンクロ操作のフラグが「TRUE」として管理されている画像のみであっても良い。
表示制御部73は、更新された表示管理テーブルに基づいて、現在視点が同期された複数の画像を表示する(ステップS113)。
<<実施形態の補足>>
ステップS31で、表示制御部73は、画像追加のボタンとは異なる複製追加のボタンを出力する。これにより、受付部72は、複製追加のボタンの押下を検知して表示されている画像と同じ画像の追加要求を受け付ける。表示されている画像と同じ画像を追加する処理において、通信端末7は、追加する画像の撮影画像データ、初期視点、拠点名、設置位置、撮影日時を新たに取得しなくても良い。この場合、画像管理部74は、表示画像管理テーブルにおいて、複製の対象となる画像が記録されたレコードをコピーして、これを表示画像管理テーブルの新たなレコードとしてペーストする。これにより、ステップS45で、表示制御部73は、表示画像管理テーブルに記録されたコピー元、及びコピー先のレコードに基づいて、複数の同じ画像を表示する。
ステップS31乃至S45では画像を追加する処理を説明したが、これを応用して通信端末7において表示する画像を変更する処理を実行することもできる。この処理は、ステップS44において、画像管理部74が、変更の対象となる画像の画像IDが管理されたレコードを削除する処理が加わる点を除いて、上記の処理と同様である。なお、表示制御部73は、表示する画像ごとに、ドロップダウンリストDD1,DD2、及びボタンBBを表示し、受付部72は、ドロップダウンリスト等から変更する画像の選択、変更後の拠点名等の選択を受け付けても良い。図17の(D)は、画像ごとにドロップダウンリストが表示された画像選択画面の一例である。
更に、通信端末7の受付部72は、表示する画像の追加要求だけでなく、表示されている画像の削除要求を受け付けても良い。画像の削除が受け付けられた場合、画像管理部74は、表示画像管理テーブルにおいて、削除が受け付けられた画像の画像IDが含まれるレコードを削除する。表示制御部73は、更新された表示画像管理テーブルに基づいて、削除されたレコードに係る画像を含めずに、画像を出力する。
本実施形態における操作は、画像の拡大、縮小、及び書込み操作に限られない。例えば、表示させる画像が動画である場合、操作には再生操作も含まれる。即ち、受付部72が一の画像に対する再生の操作を受け付けたとき、表示制御部73は、操作された一の画像を再生して出力するだけでなく、操作をシンクロさせる画像についても再生して出力する。
<<本実施形態の主な効果>>
以上説明したように本実施形態の画像表示方法によれば、通信端末7(画像表示システムの一例)は、全天球パノラマ画像における複数の所定領域の画像を表示する。通信端末7の受付部72(受付手段)は、複数の所定領域の画像のうち第1の所定領域(第1の領域の一例)の画像への操作を受け付ける(受付処理の一例)。通信端末7の表示制御部73は、受付部72によって受け付けられた操作に応じて第1の所定領域を変更して表示させ、かつ、第1の所定領域の画像とのシンクロ(同期の一例)操作が設定された第2の所定領域(第2の領域の一例)の画像を、受付部72によって受け付けられた操作に応じて変更して表示させる(表示制御処理の一例)。これにより、一の画像の操作により、一の画像だけでなく、他の画像の所定領域を変更して表示させることが可能になるので、通信端末7のユーザビリティが向上する。
通信端末7の受付部72は、第1の所定領域の画像の拡大又は縮小する操作(サイズを変更する操作の一例)を受け付ける。この操作により、第1の所定領域の画像、又は第2の所定領域の画像の一方の拡大率が最大値、又は最小値(所定の閾値の一例)に達したときに、通信端末7の表示制御部73は、第1の所定領域の画像、及び第2の所定領域の画像の一方を変更せず、他方を変更して表示させる。これにより、一方の画像に対する操作ができなくなった場合でも、他方の画像に対する操作を継続できるようになる。
通信端末7の受付部72は、第1の所定領域に書込みオブジェクトを追加する操作を受け付ける。通信端末7の表示制御部73は、書込みオブジェクトが重畳された第1の所定領域の画像、及び書込みオブジェクトが重畳された第2の所定領域の画像を表示させる。これにより、一の画像への書込み操作により、一の画像だけでなく、他の画像に書込みオブジェクトを重畳して表示させることが可能になるので、通信端末7のユーザビリティが向上する。
通信端末7の表示制御部73によって、書込みオブジェクトが重畳された第1の所定領域の画像、及び書込みオブジェクトが重畳された第2の所定領域の画像が表示されてから、通信端末7の送受信部71(登録手段の一例)は、第1の所定領域の書込みオブジェクト、及び第2の所定領域の書込みオブジェクトの登録要求を画像管理システム5へ送信する。これにより、ユーザは、書込みオブジェクトが適切に表示されているか確認してから、書込みオブジェクトを登録させることが可能になる。
通信端末7の表示制御部73は、第1の所定領域の画像の拡大率の逆数の拡大率で第1の所定領域の書込みオブジェクトを表示させ、第2の所定領域の画像の拡大率の逆数の拡大率で第2の所定領域の書込みオブジェクトを表示させる。これにより、通信端末7は、複数の所定領域に、同じサイズの書込みオブジェクトを表示させることができる。
通信端末7の記憶・読出部79(設定手段の一例)は、シンクロ管理テーブルにおいて、所定領域を変更する操作のシンクロ、及び書込みオブジェクトを追加する操作のシンクロを独立して別のフィールドに記録して管理する。これにより、通信端末7は、所定領域を変更する操作のシンクロ、書込みオブジェクトを追加する操作のシンクロを独立して設定することができる。
通信端末7のシンクロ管理DB7002(グループ管理手段の一例)は、複数の所定領域のそれぞれが属するグループを管理する。通信端末7の表示制御部73は、シンクロ管理DB7002において管理されている第1の所定領域のグループ、及び第2の所定領域のグループが同じである場合、第2の所定領域を、受付部72によって受け付けられた操作に応じて変更して表示させる。これにより、通信端末7は、グループごとに操作をシンクロさせることができる。
通信端末7の表示画像管理DB7001(位置管理手段の一例)は、複数の所定領域のそれぞれに対し、全天球パノラマ画像における所定領域のデフォルトの位置として初期視点を管理する。通信端末7の受付部72は、視点(表示位置の一例)を同期させる操作を受け付ける。通信端末7の表示制御部73は、視点を同期させる操作の受け付けに応じて、表示画像管理DB7001において管理されている全天球パノラマ画像における第1の所定領域の初期視点、表示画像管理DB7001において管理されている全天球パノラマ画像における第2の所定領域の初期視点を表示させる。これにより、操作により複数の画像の現在視点が異なるものとなったときに、通信端末7は、画像の視点を同期することができる。
通信端末7の画像管理部74(算出手段の一例)は、全天球パノラマ画像における第1の所定領域の現在視点(現在の位置の一例)、及び表示画像管理DB7001において管理されている全天球パノラマ画像における第1の所定領域の初期視点の差分を、表示画像管理DB7001において管理されている第2の所定領域の初期視点に加算した位置を算出する。視点を同期させる操作の受け付けに応じて、表示制御部73は、画像管理部74によって算出された位置を第2の所定領域として表示させる。これにより、操作に応じて複数の画像の現在視点が異なるものとなったときに、通信端末7は、基準となる画像に視点を同期させることができる。