(57)【特許請求の範囲】
【請求項１】
画像を地図上に表示するように制御する画像制御装置であって、
前記画像の属性情報から位置情報を取得する取得手段と、
前記画像を地図上に表示するときの表示精度を指定する指定手段と、
前記取得手段により取得した位置情報と前記指定手段により指定された表示精度を用いて、地図と画像とを表示装置に表示する表示制御手段と、を備え、
前記表示制御手段は、前記指定手段により指定された表示精度が、予め決められた地図の精度よりも低い場合には、前記画像を前記位置情報に対応する地図上の位置に配置し、予め決められた地図の精度よりも高い場合には、前記画像を前記位置情報に対応する地図上の位置には配置しないよう前記表示装置を制御することを特徴とする画像制御装置。
【請求項２】
前記地図の精度は、地図の縮尺または行政区画であることを特徴とする請求項１に記載の画像制御装置。
【請求項３】
前記指定手段は、画像が複数ある場合、画像ごとに表示精度が指定できることを特徴とする請求項１または２に記載の画像制御装置。
【請求項４】
前記表示制御手段は、前記表示精度が前記地図の精度よりも高い場合には、画像を前記取得手段により取得した位置情報とは異なる地図上の位置に配置した表示データを作成することを特徴とする請求項１ないし３のいずれか１項に記載の画像制御装置。
【請求項５】
前記表示制御手段は、前記表示精度が前記地図の精度よりも高い場合には、画像を地図上ではなく、当該地図が表示された領域外に配置した表示データを作成することを特徴とする請求項４に記載の画像制御装置。
【請求項６】
前記表示制御手段は、前記表示精度が前記地図の精度と同じか低い場合には、前記画像を前記取得手段により取得した位置情報に対応する地図上の位置に表示すると共に、前記画像の中心が前記位置情報からずれた表示データを作成することを特徴とする請求項１ないし５のいずれか１項に記載の画像制御装置。
【請求項７】
前記地図の精度を決定する決定手段を更に備えることを特徴とする請求項１ないし６のいずれか１項に記載の画像制御装置。
【請求項８】
前記画像は、撮像装置から受信した画像データであり、
前記位置情報は、前記画像の撮影場所の情報であることを特徴とする請求項１ないし７のいずれか１項に記載の画像制御装置。
【請求項９】
前記画像データには、前記画像を前記位置情報に対応する地図上の位置に配置するか否かを示す情報が含まれることを特徴とする請求項８に記載の画像制御装置。
【請求項１０】
前記表示制御手段により作成された表示データを、表示手段を有する情報処理装置に配信する配信手段を更に備えることを特徴とする請求項１ないし９のいずれか１項に記載の画像制御装置。
【請求項１１】
前記表示制御手段により作成された表示データを表示する表示手段を更に備えることを特徴とする請求項１ないし９のいずれか１項に記載の画像制御装置。
【請求項１２】
前記画像制御装置は、地図データを提供する地図提供サーバに対して表示精度を指定して地図データを取得することを特徴とする請求項１に記載の画像制御装置。
【請求項１３】
画像を地図上に表示するように制御する画像制御方法であって、
取得手段が、前記画像の属性情報から位置情報を取得する取得工程と、
指定手段が、前記画像を地図上に表示するときの表示精度を指定する指定工程と、
表示制御手段が、前記取得工程により取得した位置情報と前記指定工程により指定された表示精度を用いて、地図と画像とを表示装置に表示する表示制御工程と、を備え、
前記表示制御工程では、前記指定工程にて指定された表示精度が、予め決められた地図の精度よりも低い場合には、前記画像を前記位置情報に対応する地図上の位置に配置し、予め決められた地図の精度よりも高い場合には、前記画像を前記位置情報に対応する地図上の位置には配置しないよう前記表示装置を制御することを特徴とする画像制御方法。
【請求項１４】
画像を地図上に配置した表示データを作成する情報処理装置であって、
画像の属性情報から位置情報を取得する取得手段と、
前記位置情報に対応する地図を表示するときの表示精度を指定する指定手段と、
前記取得手段により取得した位置情報と前記指定手段により指定された表示精度を用いて、地図と前記画像とを用いた表示データを作成する作成手段と、
前記作成手段が作成する表示データは、前記指定手段により指定された表示精度が、予め決められた地図の精度よりも低い場合には、前記画像を前記位置情報に対応する地図上の位置に配置し、予め決められた地図の精度よりも高い場合には、前記画像を前記位置情報に対応する地図上の位置には配置しないような表示データであることを特徴とする情報処理装置。
【請求項１５】
前記作成手段は、前記表示精度が前記地図の精度よりも高い場合には、画像を地図上ではなく、当該地図が表示された領域外に配置した表示データを作成することを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
クライアントと通信する通信手段を更に備え、
前記作成手段は、前記通信手段を介してクライアントから表示精度の指定を受け付け、作成した表示データをクライアントに送信することを特徴とする請求項１４または１５に記載の情報処理装置。
【請求項１７】
前記情報処理装置は、地図データを提供する地図提供サーバに対して表示精度を指定して地図データを取得し、
前記作成手段は、地図データと画像データとを合成して表示データを作成し、前記クライアントに送信することを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
画像を地図上に配置した表示データを作成する情報処理方法であって、
取得手段が、画像の属性情報から位置情報を取得する取得工程と、
指定手段が、前記位置情報に対応する地図を表示するときの表示精度を指定する指定工程と、
作成手段が、前記取得工程にて取得した位置情報と前記指定工程にて指定された表示精度を用いて、地図と前記画像とを用いた表示データを作成する作成工程と、を備え、
前記作成工程で作成される表示データは、前記指定工程にて指定された表示精度が、予め決められた地図の精度よりも低い場合には、前記画像を前記位置情報に対応する地図上の位置に配置し、予め決められた地図の精度よりも高い場合には、前記画像を前記位置情報に対応する地図上の位置には配置しないような表示データであることを特徴とする情報処理方法。
【請求項１９】
コンピュータを、請求項１ないし１２のいずれか１項に記載の画像制御装置の各手段として機能させるためのプログラム。
【請求項２０】
コンピュータを、請求項１ないし１２のいずれか１項に記載の画像制御装置の各手段として機能させるためのプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。
【請求項２１】
コンピュータを、請求項１４ないし１７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項２２】
コンピュータを、請求項１４ないし１７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子地図上に画像を表示する技術に関する。
【背景技術】
【０００２】
デジタルスチルカメラや携帯電話で撮影した画像を撮影場所に対応する電子地図上に配置して公開することが日常的に行われるようになっている。このような状況の中で、プライバシーに関わる情報を守るため、インターネット等の通信網経由でファイルを転送するとき、ファイルに付加されている情報を自動的に削除するデジタルスチルカメラが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３４３６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１において、ファイルの付加情報を削除してしまうと、地図上に画像を全く表示できなくなってしまうおそれがある。
【０００５】
本発明は、上記課題に鑑みてなされ、その目的は、撮影者のプライバシーを守りつつ、大まかな撮影場所が判別できるように画像を表示できるようにすることである。
【課題を解決するための手段】
【０００６】
上記課題を解決し、目的を達成するために、本発明の画像制御装置は、画像を地図上に表示するように制御する画像制御装置であって、前記画像の属性情報から位置情報を取得する取得手段と、前記画像を地図上に表示するときの表示精度を指定する指定手段と、前記取得手段により取得した位置情報と前記指定手段により指定された表示精度を用いて、地図と画像とを表示装置に表示する表示制御手段と、を備え、前記表示制御手段は、前記指定手段により指定された表示精度が、予め決められた地図の精度よりも低い場合には、前記画像を前記位置情報に対応する地図上の位置に配置し、予め決められた地図の精度よりも高い場合には、前記画像を前記位置情報に対応する地図上の位置には配置しないよう前記表示装置を制御する。
【発明の効果】
【０００７】
本発明によれば、撮影者のプライバシーを守りつつ、大まかな撮影場所が判別できるように画像を表示できるようになる。
【図面の簡単な説明】
【０００８】
【図１】本発明に係る一実施形態の画像制御システムの構成図。
【図２】本実施形態のデジタルスチルカメラのブロック構成図。
【図３】本実施形態のデジタルスチルカメラを背面から見た様子を示す図。
【図４】本実施形態のサーバを示すブロック図。
【図５】本実施形態のクライアントを示すブロック図。
【図６】本実施形態の画像ファイルの概略構成図。
【図７】実施形態１の画像送信処理を示すフローチャート。
【図８】実施形態１の画像制御処理を示すフローチャート。
【図９】実施形態１の画像受信装置側におけるユーザインタフェースを例示する図。
【図１０】実施形態１の画像受信装置側におけるユーザインタフェースを例示する図。
【図１１】実施形態２の画像送信装置側におけるユーザインタフェースを例示する図。
【図１２】実施形態２の画像受信処理を示すフローチャート。
【図１３】実施形態２の画像受信装置側におけるユーザインタフェースを例示する図。
【図１４】実施形態２の画像受信装置側におけるユーザインタフェースを例示する図。
【図１５】実施形態３の画像送信装置側におけるユーザインタフェースを例示する図。
【図１６】実施形態３の画像制御処理を示すフローチャート。
【図１７】実施形態３の画像受信装置側におけるユーザインタフェースを例示する図。
【図１８】実施形態３の画像受信装置側におけるユーザインタフェースを例示する図。
【発明を実施するための形態】
【０００９】
以下に、本発明を実施するための最良の形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成しても良い。
【００１０】
［実施形態１］本実施形態の画像制御装置は、固体撮像素子を用いて光学像を電気的な画像データに変換して撮影を行う、デジタルスチルカメラやデジタルビデオカメラ等の電子カメラにより得られた画像データを制御する。本実施形態では、デジタルスチルカメラで撮影した画像をサーバコンピュータに送信し、サーバコンピュータ上で配信する情報の制御を行う画像制御装置について説明する。
【００１１】
＜本明細書における用語の定義＞
データを外部機器に通信回路経由で送信することを、「送信」と記す。例えば、送信とは、デジタルスチルカメラからインターネット経由でサーバコンピュータにデータを送ることである。
【００１２】
送信された先の外部機器において、第三者に提供できる状態にすることを「配信」と記す。例えば、配信とは、サーバコンピュータにて、第三者に提供できる状態にすることである。
【００１３】
サーバコンピュータを「サーバ」と記す。
【００１４】
サーバからサービスを提供されるクライアントコンピュータをクライアントと記す。
【００１５】
ユーザが画像を撮影場所と関連付けて地図上に配置すると設定した最大の縮尺を表示縮尺情報と記す。表示縮尺情報の決定方法、保持方法、利用方法の詳細については、本実施形態にて後述する。
【００１６】
ユーザが画像を撮影場所と関連付けて地図上に配置すると設定した最大の地図の精度を表示精度情報と記す。表示精度情報の決定方法、保持方法、利用方法の詳細については、実施形態３にて後述する。
【００１７】
Ｎ分の１を１／Ｎと記す。例えば１００分の１の場合には１／１００、５００分の１の場合には１／５００と記す。
【００１８】
＜システム構成＞まず、図１を参照して、本実施形態の画像制御システムの構成について説明する。図１において、１００はデジタルスチルカメラであり、画像送信装置として動作する。１０１はサーバであり、画像制御装置として動作する。１０２はクライアントであり、情報処理装置および画像受信装置として動作する。１０３はコンピュータネットワークであり、各種装置が通信回路を通じてコンピュータネットワーク１０３を介して互いにデータを送受信する。
【００１９】
デジタルスチルカメラ１００は、ユーザの操作に応じて画像データを生成し記録媒体に記録する。そして、デジタルスチルカメラ１００は、ユーザの操作に応じて表示縮尺情報を作成し、画像データと関連付けてコンピュータネットワーク１０３経由でサーバ１０１に送信する。サーバ１０１は、表示縮尺情報に基づいて地図上に画像を配置するか否かの制御をし、地図データおよび画像データからなる表示データをコンピュータネットワーク１０３経由でクライアントに配信する。クライアント１０２は、サーバ１０１から受信した地図データおよび画像データを表示する。デジタルスチルカメラ１００での表示縮尺情報の生成方法とサーバでの制御方法の詳細については後述する。
【００２０】
＜カメラ構成＞次に、図２及び図３を参照して、本実施形態の画像送信装置として動作するデジタルスチルカメラ１００の構成について説明する。
【００２１】
本実施形態のデジタルスチルカメラ１００は、所定の制御プログラムを実行することにより以下に説明する画像送信処理を実現し、画像送信装置として機能する。
【００２２】
図２において、２００は撮像装置であり、固体撮像素子を用いて光学像を電気的な画像データに変換して画像データを生成する。２０１はデジタルスチルカメラ全体の制御を司るＣＰＵである。２０２はＣＰＵ２０１の動作処理手順（例えばデジタルスチルカメラの電源をＯＮした時の処理や基本入出力処理等のプログラム）を記憶しているＲＯＭである。２０３はＲＡＭであり、ＣＰＵ２０１のメインメモリとして機能する。ＲＡＭ２０３には後述の処理を実現するための制御プログラムを含む各種プログラムがＲＯＭ２０２等からロードされＣＰＵ２０１によって実行される。また、ＲＡＭ２０３はＣＰＵ２０１が各種処理を実行する際のワークエリアを提供する。
【００２３】
２０４は図３に示すディスプレイ３０１でありＣＰＵ２０１の制御下で各種表示を行う。例えば、送信制御のための設定をする画面や記憶媒体に記憶されたデータの表示を行う。２０７は図３に示す各種操作を行うためのボタン等の入力装置である。ボタンの詳細については後述する。
【００２４】
２０８は記憶媒体装着ユニット（メディアドライブ）であり、着脱可能な記憶媒体を装着し、データを記憶したり、記憶されたデータを読み出すことを可能とする。２０９はネットワークインタフェースであり、通信回線２１１を介してコンピュータネットワーク２１２と接続される。このネットワークインタフェースによりサーバやパーソナルコンピュータからデータを送受信する。また、位置情報を取得する際にも、ＣＰＵ２０１は、通信回線２１１を介してコンピュータネットワーク２１２に接続し、衛星測位システム（以下、ＧＰＳ）を利用して位置情報を算出するサーバと通信して取得する。ＣＰＵ２０１は、記憶媒体装着ユニット２０８に装着された記憶媒体内のデータを通信回線２１１を介してコンピュータネットワーク２１２に接続し、サーバへ送信する。
【００２５】
２１０は上述した各ユニット間を接続するシステムバス（アドレスバス、データバスおよび制御バスからなる）である。
【００２６】
＜サーバ構成＞次に、図４を参照して、本実施形態の画像制御装置として動作するサーバ１０１の構成について説明する。
【００２７】
本実施形態のサーバは、所定の制御プログラムを実行することにより以下に説明する画像制御処理を実現し、画像制御装置として機能する。
【００２８】
図４において、４０１は本装置全体の制御を司るＣＰＵである。４０２はＣＰＵ４０１の動作処理手順（例えばコンピュータの立ち上げ処理や基本入出力処理等のプログラム）を記憶しているＲＯＭである。４０３はＲＡＭであり、ＣＰＵ４０１のメインメモリとして機能する。ＲＡＭ４０３には後述の処理を実現するための制御プログラムを含む各種プログラムがハードディスクドライブ４０５等からロードされＣＰＵ４０１によって実行される。また、ＲＡＭ４０３はＣＰＵ４０１が各種処理を実行する際のワークエリアを提供する。４０４はディスプレイでありＣＰＵ４０１の制御下で各種表示を行う。
【００２９】
４０５はハードディスクドライブ（以下、ＨＤＤ）、４０６はＤＶＤドライブ（以下、ＤＶＤＤ）をそれぞれ示し、それぞれのディスクはアプリケーションプログラムやデータ、ライブラリなどの保存及び読み込み用に用いられる。また、ＤＶＤＤの替わりに、あるいは追加してＣＤ−ＲＯＭ、ＭＯ等の光（磁気）ディスクドライブや、テープストリーマ、ＤＤＳなどの磁気テープドライブ等を設けてもよい。
【００３０】
４０７はキーボードやポインティングデバイス等の入力装置である。４０８はネットワークインタフェースであり、通信回線４１０を介してコンピュータネットワーク４１１と接続される。このネットワークインタフェース４０８により通信可能な機器からデータを送受信する。４０９は上述した各ユニット間を接続するシステムバス（アドレスバス、データバスおよび制御バスからなる）である。
【００３１】
＜クライアント構成＞次に、図５を参照して、本実施形態の画像受信装置として動作するクライアント１０２の構成について説明する。
【００３２】
本実施形態のクライアント１０２は、所定の制御プログラムを実行することにより以下に説明する画像受信処理を実現し、画像受信装置として機能する。なお、クライアント１０２の構成は、サーバ１０１と同じであり、ＲＯＭ４０２およびＨＤＤ４０５に記憶している制御プログラムが異なるだけである。そこで、図４を参照しつつサーバ１０１と異なる点について説明する。
【００３３】
図５において、５０１から５０７，５０９については、４０１から４０７，４０９にそれぞれ対応し、名称および機能は同じである。
【００３４】
５０８は４０８と同様にネットワークインタフェースであり、通信回線５１０を介してコンピュータネットワーク５１１と接続される。このネットワークインタフェース５０８によりサーバ１０１から画像データを含む各種データを受信し、ユーザ操作に応じてディスプレイ５０４に受信したデータを表示する。
【００３５】
＜画像ファイル構成＞次に、図６を参照して、本実施形態の画像ファイルの構成について説明する。
【００３６】
図６において、６００と６０１は共にＥｘｉｆ規格に準じて画像属性情報を記録している領域である。６００は、Ｅｘｉｆ規格の基本的な情報を記録している領域であり、画像データサイズ、撮影日時、撮影場所、撮影機種、フラッシュオン／オフ、など撮影時の情報および画像の読み出しや再生、制御に必要な情報を記憶する。
【００３７】
６０１はＥｘｉｆ規格に準じて、デジタルスチルカメラのメーカ独自の形で画像属性情報を記録している領域であり、送信済みフラグ、表示縮尺情報、表示精度情報など制御に必要な情報を記憶する領域である。送信済みフラグはサーバに送信済みか否かを示す。
【００３８】
６０２は縮小画像データ領域で、一覧表示の際に表示する縮小画像データを記憶する領域である。６０３は画像データ領域であり、当該画像ファイルとして格納すべき全ての画像データを記憶する領域である。ＣＰＵ２０１が撮像装置２００を用いて画像データを生成した後に画像属性情報を付加して図６に示す構成の画像ファイルを生成し、記憶媒体装着ユニット２０８を介して記憶媒体に記憶する。これら一連の処理を「撮影」と表記する。
【００３９】
画像ファイル生成時に、ＣＰＵ２０１はＧＰＳを利用して位置情報を取得し、撮影場所として緯度、経度、高度、測位時間などの情報をＥｘｉｆ＿Ｂａｓｅ属性情報領域６００に記憶する。また、画像ファイル生成時に、ＣＰＵ２０１は、Ｅｘｉｆ＿ＭａｋｅｒＮｏｔｅ属性情報領域６０１の送信済みフラグにＦＡＬＳＥを、表示縮尺情報に０を、表示精度情報に０を書き込む。送信済みフラグと表示縮尺情報の使用方法については、後述する。表示精度情報については、実施形態３にて後述する。
【００４０】
＜画像の表示縮尺指定＞次に、図３を参照して、本実施形態による画像送信装置として動作するデジタルスチルカメラの各種ボタンとユーザインタフェースの詳細について説明する。
【００４１】
本実施形態のデジタルスチルカメラには４種類のモードがあり、各モードに応じた動作をする。第一に撮影を行う「撮影モード」、第二に記憶媒体内の画像データを表示する「再生モード」、第三に各種設定を行う「設定モード」、第四にサーバやパーソナルコンピュータにデータを送信する「送信モード」である。本実施形態で主に説明するモードは「設定モード」である。電源ボタン３０２以外の全てのボタンに関しては、デジタルスチルカメラに電源が入っているときの動作を説明する。
【００４２】
図３において、３００はレリーズボタンである。ユーザがレリーズボタン３００を押下すると、ＣＰＵ２０１がユーザから撮影指示があったと判定し、撮影モードへと切り替え、撮影処理を行う。
【００４３】
３０１はディスプレイである。３０２は、電源のＯＮ／ＯＦＦを切り替える電源ボタンである。デジタルスチルカメラの電源が入っていない状態で、ユーザが電源ボタン３０２を押下するとＣＰＵ２０１はユーザから電源入力の指示があったと判定し、電源を入れる。電源が入っている状態で、ユーザが電源ボタン３０２を押下するとＣＰＵ２０１はユーザから電源切りの指示があったと判定し、電源を切る。
【００４４】
３０３は撮影モードボタンである。ユーザが撮影モードボタン３０３を押下すると、ＣＰＵ２０１がユーザから撮影モードへの切り替え指示があったと判定し、撮影モードへと切り替え、撮像装置２００による撮影の準備をすると共に、結像した画像をディスプレイ３０１に表示する。
【００４５】
３０４は再生ボタンである。ユーザが再生ボタン３０４を押下すると、ＣＰＵ２０１がユーザから再生モードへの切り替え指示があったと判定し、記憶媒体から画像データを読み込みディスプレイ３０１に画像を表示する。
【００４６】
３０５は設定ボタンである。設定ボタン３０５をユーザが押下すると、ＣＰＵ２０１がユーザから設定モードへの切り替え指示があったと判定し、設定画面をディスプレイ３０１に表示する。図３のディスプレイ３０１は設定画面を表示している状態を示している。
【００４７】
３１１は送信ボタンである。ユーザが送信ボタン３１１を押下すると、ＣＰＵ２０１がユーザから送信モードへの切り替え指示があったと判定し、記憶媒体から画像データを読み込み、後述する画像属性情報の変更を行った後に設定モードで指定された送信先へ送信する。
【００４８】
３０７、３０８、３０９、３１０は、それぞれ上矢印ボタン、下矢印ボタン、左矢印ボタン、右矢印ボタンである。ユーザがこれらのボタンを押下するとＣＰＵ２０１はユーザから設定画面における操作対象の切り替え指示があったと判定し、矢印の方向に応じて選択対象を切り替える。
【００４９】
３１２は、選択状態を示す選択枠である。ＣＰＵ２０１は矢印ボタン３０７，３０８，３０９，３１０の操作に応じて枠の位置を変更する。３０６は決定ボタンである。ユーザが決定ボタン３０６を押下すると、ＣＰＵ２０１がユーザから操作対象として選択された操作部材の押下や決定指示があったと判定し、動作する。
【００５０】
３１３は、送信先を表示する送信先エディットボックスである。３１４は、各種文字を入力する文字入力エリアである。ユーザが文字を選択し、決定ボタン３０６を押下することにより、文字を入力する。３１５は入力完了ボタンである。
【００５１】
ユーザが送信先エディットボックス３１３を選択し、決定ボタン３０６を押下したときに、送信先の編集ができるようになる。それと同時に文字入力エリア３１４が操作可能になる。そして、ユーザが文字列を入力した後に、入力完了ボタン３１５を選択し、決定ボタン３０６を押下すると、ＣＰＵ２０１はユーザからの文字列入力が完了したと判定し、送信先エディットボックス３１３に入力された文字列を表示する。
【００５２】
操作部材３１６，３１７，３１８は、プライバシーに関わる属性情報を抽象化した情報に変換する際の設定に関わるものである。
【００５３】
３１６は場所詳細非表示チェックボックスである。ユーザが場所詳細非表示チェックボックスを選択し、決定ボタン３０６を押下すると、ＣＰＵ２０１は設定変更の操作があったと判定し、ＯＮ／ＯＦＦ状態を切り替える。場所詳細非表示チェックボックスにチェックが入っている状態つまりＯＮの状態で、ユーザが決定ボタン３０６を押下すると、ＣＰＵ２０１はチェックを消しＯＦＦの状態とする。チェックがない状態、つまりＯＦＦの状態で、ユーザが決定ボタン３０６を押下すると、ＣＰＵ２０１はチェックを表示しＯＮの状態とする。ＣＰＵ２０１はＯＮ／ＯＦＦの状態をメディアドライブ２０８を介して記憶媒体に保持する。
【００５４】
３１７は表示縮尺設定ボックスである。ユーザが表示縮尺設定ボックスを選択し、決定ボタン３０６を押下すると、ＣＰＵ２０１は設定変更の操作があったと判定し、プルダウン式のメニューを表示する。その際の表示するメニューの項目は、１／１０００以下、１／２０００以下、１／５０００以下、１／１００００以下、である。ユーザが矢印ボタン３０７，３０８を操作し、プルダウン式のメニューの中の選択を切り替え、決定ボタン３０６を押下すると、ＣＰＵ２０１はユーザから、設定が選ばれたと判断し、プルダウンメニューを閉じる。
【００５５】
設定モードにおいてユーザが設定した全ての情報は、ユーザが設定ボタン３０５を押下し、他のモードへ切り替えたとき、ＣＰＵ２０１は、メディアドライブ２０８を介して記憶媒体に記憶する。そして、ＣＰＵ２０１は必要に応じて情報を読み、画像送信処理に利用する。
【００５６】
＜画像送信処理＞次に、本実施形態の画像送信装置として動作するデジタルスチルカメラ１００において、画像送信時に画像のＥｘｉｆ＿ＭａｋｅｒＮｏｔｅ属性情報領域６０１に表示縮尺情報を書き込んでサーバ１０１に送信する処理について、図７を参照して説明する。尚、本処理は、ＣＰＵ２０１がＲＡＭ２０３に格納された制御プログラムを実行することにより実行される。
【００５７】
図７において、ステップＳ７０１にて、ＣＰＵ２０１は、対象となる画像ファイルを抽出する。まず、記憶媒体に記憶されている画像ファイル全てについて、Ｅｘｉｆ＿ＭａｋｅｒＮｏｔｅ属性情報領域６０１の送信済みフラグを参照する。そして、送信済みフラグがＦＡＬＳＥのものを対象であると判定し、抽出する。
【００５８】
ステップＳ７０２にて、ＣＰＵ２０１は、カウンタｎに０を代入する。カウンタｎは対象となる画像ファイル個々について、後述するステップＳ７０４からステップＳ７０８までの一連の処理をＣＰＵ２０１が実行するためのカウンタである。
【００５９】
ステップＳ７０３にて、ＣＰＵ２０１は、カウンタｎが対象となる画像ファイルの数より少ないか判定をする。
【００６０】
ステップＳ７０３にて、ＣＰＵ２０１が、カウンタｎが対象となる画像ファイルの数より少ないと判定した場合には、ステップＳ７０４へ進む。
【００６１】
ステップＳ７０３にて、ＣＰＵ２０１が、カウンタｎが対象となる画像ファイルの数以上であると判定した場合には、対象となる全ての画像に対して一連の処理が完了したものと判断して、処理を終了する。
【００６２】
ステップＳ７０４にて、ＣＰＵ２０１は、記憶媒体からメディアドライブ２０８を介して場所詳細非表示チェックボックス３１６の状態を読み込む。そしてＯＮか否かを判定する。
【００６３】
ステップＳ７０４にて、ＣＰＵ２０１が、場所詳細非表示チェックボックス３１６はＯＮ状態であると判定した場合には、ステップＳ７０５へ進む。
【００６４】
ステップＳ７０４にて、ＣＰＵ２０１が、場所詳細非表示チェックボックス３１６はＯＦＦ状態であると判定した場合には、ステップＳ７０７へ進む。
【００６５】
ステップＳ７０５にて、ＣＰＵ２０１は、記憶媒体からメディアドライブ２０８を介して表示縮尺設定ボックス３１７で設定された縮尺を読み込む。
【００６６】
ステップＳ７０６にて、ＣＰＵ２０１は、対象となるｎ番目の画像のＥｘｉｆ＿ＭａｋｅｒＮｏｔｅ属性情報領域６０１の表示縮尺情報に、ステップＳ７０５で読み込んだ縮尺を書き込む。縮尺が１／１０００以下と指定されていた場合には、表示縮尺情報に分母の値、１０００を書き込む。縮尺が１／５０００以下と指定されていた場合には、表示縮尺情報に分母の値、５０００を書き込む。
【００６７】
ステップＳ７０７にて、ＣＰＵ２０１は、ネットワークインタフェース２０９により通信回線２１１を介してコンピュータネットワーク２１２に接続し、設定した送信先のサーバへ送信する。送信先は、送信先エディットボックス４１２にてユーザが設定した送信先とする。もし、ユーザが設定していなければ既定の送信先としてもよいし、警告を表示し、ユーザに設定を促してもよい。
【００６８】
ステップＳ７０８にて、ＣＰＵ２０１は、ＣＰＵ２０１は、対象となる画像ファイルの送信済みフラグをＴＲＵＥに書き換える。
【００６９】
ステップＳ７０９にて、ＣＰＵ２０１は、カウンタｎをインクリメントする。
【００７０】
＜画像制御処理＞本実施形態における画像制御装置として動作するサーバ１０１において、表示縮尺情報に基づいて地図上に画像を配置するか否かの制御をし、地図データおよび画像データをコンピュータネットワーク１０３経由でクライアントに配信する処理について、図８を参照して説明する。尚、本処理は、ＣＰＵ４０１がＲＡＭ４０３に格納された制御プログラムを実行することにより実現される。予め、サーバ１０１のＣＰＵ４０１は、デジタルスチルカメラ１００から送信された画像ファイルをコンピュータネットワーク４１１を介してネットワークインタフェース４０８により受信し、ＨＤＤ４０５に保持しているものとする。また、サーバ１０１とクライアント１０２との間は、双方向にデータの送受信が可能な状態が確立できているものとする。図８の画像制御処理は複数のクライアントに対して同じデータを配信するのではなく、クライアント毎の表示条件に応じて個別に配信する。サーバ１０１は、ＨＤＤ４０５に様々な縮尺に対応した全地域の地図データを保持しているものとする。
【００７１】
図８において、ステップＳ８００にて、ＣＰＵ４０１は、クライアント１０２の表示条件をコンピュータネットワーク４１１を介してネットワークインタフェース４０８により受信する。表示条件とは、クライアント１０２にて表示する地図の緯度・経度の範囲、縮尺である。
【００７２】
ステップＳ８０１にて、ＣＰＵ４０１は、Ｓ８０１にて受信した表示条件の緯度・経度の範囲に撮影場所が含まれる画像を抽出する。まず、ＨＤＤ４０５に記憶されている画像ファイル全てについて、Ｅｘｉｆ＿Ｂａｓｅ属性情報領域６００の撮影場所情報を参照する。そして、撮影場所情報が緯度・経度の範囲に含まれているものを対象であると判定し、抽出する。
【００７３】
ステップＳ８１２にて、ＣＰＵ４０１は、ＨＤＤ４０５からクライアントの表示条件に対応する地図データをＲＡＭ４０３へ読み込み、コンピュータネットワーク４１１を介してクライアント１０２へ送信する。
【００７４】
ステップＳ８０２にて、ＣＰＵ４０１は、カウンタｎに０を代入する。カウンタｎは対象となる画像ファイル個々について、後述するステップＳ８０４からステップＳ８０７までの一連の処理をＣＰＵ４０１が実行するためのカウンタである。
【００７５】
ステップＳ８０３にて、ＣＰＵ４０１は、カウンタｎが対象となる画像ファイルの数より少ないか判定をする。
【００７６】
ステップＳ８０３にて、ＣＰＵ４０１が、カウンタｎが対象となる画像ファイルの数より少ないと判定した場合には、ステップＳ８０４へ進む。
【００７７】
ステップＳ８０３にて、ＣＰＵ４０１が、カウンタｎが対象となる画像ファイルの数以上であると判定した場合には、ステップＳ８０８へ進む。
【００７８】
ステップＳ８１３にて、ＣＰＵ４０１は、ｎ番目のファイルをＨＤＤ４０５からＲＡＭ４０３に対象ファイルとして読み込む。
【００７９】
ステップＳ８０４にて、ＣＰＵ４０１は、対象となるファイルのＥｘｉｆ＿ＭａｋｅｒＮｏｔｅ属性情報領域６０１内の表示縮尺情報が指定されているか否かを判定する。表示縮尺情報が０である場合には、表示縮尺情報は設定されていないものとする。１以上の値である場合には、表示縮尺情報が指定されていると判定する。
【００８０】
ステップＳ８０４にて、ＣＰＵ４０１が、表示縮尺情報が指定されていると判定した場合には、ステップＳ８１０へ進む。
【００８１】
ステップＳ８０４にて、ＣＰＵ４０１が、表示縮尺情報が指定されていないと判定した場合には、ステップＳ８０７へ進む。
【００８２】
ステップＳ８１０にて、ＣＰＵ４０１は、ＲＡＭ４０３上の画像ファイルのＥｘｉｆ＿Ｂａｓｅ属性情報領域６００の撮影場所情報を削除する。クライアントに画像ファイルを配信する際に、画像の属性情報から詳細な場所が特定されることを回避するためである。
【００８３】
ステップＳ８０５にて、ＣＰＵ４０１は、Ｓ８０１にて受信したクライアントの縮尺が、Ｓ８０４で取得した表示縮尺情報の示す縮尺よりも大きいか否か判定する。表示縮尺情報の値が５０００だった場合には、表示縮尺情報の示す縮尺は５０００分の１とする。
【００８４】
ステップＳ８０５にて、ＣＰＵ４０１が、クライアントの縮尺が表示縮尺情報の示す縮尺よりも大きいと判定した場合には、ステップＳ８０６へ進む。
【００８５】
ステップＳ８０５にて、ＣＰＵ４０１が、クライアントの縮尺が表示縮尺情報の示す縮尺と同じか小さいと判定した場合には、ステップＳ８０７へ進む。
【００８６】
ステップＳ８０６にて、ＣＰＵ４０１は、周辺の画像として、ＲＡＭ４０３上の画像ファイルを、コンピュータネットワーク４１１を介してクライアント１０２へ配信する。
【００８７】
ステップＳ８０７にて、ＣＰＵ４０１は、地図における画像の配置位置と画像を関連付けて、ＲＡＭ４０３上の画像ファイルを、コンピュータネットワーク４１１を介してクライアント１０２へ配信する。地図における画像の配置位置算出方法については、後述する。
【００８８】
ステップＳ８１１にて、ＣＰＵ４０１は、カウンタｎをインクリメントする。そして、ステップＳ８０３へ戻る。
【００８９】
ステップＳ８０８にて、ＣＰＵ４０１は、クライアントの表示条件が変更されているか否かを判定する。クライアントにおける表示条件変更方法については、後述する。
【００９０】
ステップＳ８０８にて、ＣＰＵ４０１が、クライアントの表示条件が変更されていると判定した場合には、ステップＳ８０１へ戻る。
【００９１】
ステップＳ８０８にて、ＣＰＵ４０１が、クライアントの表示条件が変更されていないと判定した場合には、ステップＳ８０９へ進む。
【００９２】
ステップＳ８０９にて、ＣＰＵ４０１は、ユーザから終了の指示があったか否かを判定する。ユーザからの終了指示方法については、後述する。
【００９３】
ステップＳ８０９にて、ＣＰＵ４０１が、終了の指示があったと判定した場合には、一連の処理を終了する。
【００９４】
ステップＳ８０９にて、ＣＰＵ４０１が、終了の指示がないと判定した場合には、ステップＳ８０８へ戻る。
【００９５】
ここで、本実施形態において画像受信装置として動作するクライアントのユーザインタフェースについて、図９と図１０を参照して説明する。なお、図９と図１０で共通の操作部材については、同一の符号を付して説明を省略する。図９と図１０は共に撮影者がサーバにて配信している画像を、閲覧者がコンピュータネットワーク経由でクライアントにダウンロードし、閲覧している状態を示す。撮影者は、画像をサーバに送信する際に、場所詳細非表示チェックボックスをＯＮとし、表示縮尺情報を１／５０００以下に設定していたものとする。
【００９６】
図９において、９００は地図表示領域である。地図情報を管理するサーバから所定の領域の地図をインターネット経由でダウンロードして表示する。所定の領域は、配信中の画像の撮影場所が含まれている範囲がサーバからダウンロードできるものとする。９０１は地図表示領域の左上端の座標である。表示中の地図の中では、北西の端である。９０２は地図表示領域の右下端の座標である。表示中の地図の中では、南東の端である。
【００９７】
９０４から９０７までの操作部材は、ユーザが地図の縮尺や表示範囲を指定する際に使用する。そして、９０４から９０７までの操作部材でユーザが指定した表示条件は、ＣＰＵ５０１がコンピュータネットワーク５１１を介して、サーバに送信する。
【００９８】
９０４は、地図の縮尺を指定する地図縮尺設定ボックスである。ユーザが地図縮尺設定ボックスの右の下矢印ボタンを選択し、押下すると、ＣＰＵ５０１は設定変更の操作があったと判定し、プルダウン式のメニューを表示する。その際の表示するメニューの項目は、１／１０００、１／２０００、１／５０００、１／１００００、１／５００００である。ユーザが、プルダウン式のメニューの中から選択すると、ＣＰＵ５０１はユーザから、設定が選ばれたと判断し、プルダウンメニューを閉じる。そして、ＣＰＵ４０１は、地図縮尺設定ボックス９０４に選択された縮尺を表示する。
【００９９】
９０５、９０６は、地図の縮尺を変更するボタンである。拡大ボタン９０５を押下すると、地図表示領域９００の中心を基準として一段階縮尺を上げる。１／５０００が設定されている状態で、拡大ボタンを押下すると一段階上の１／２０００へと縮尺を変更する。縮尺が１／１０００になった場合には、拡大ボタン９０５を無効にする。
【０１００】
縮小ボタン９０６を押下すると、地図表示領域９００の中心を基準として一段階縮尺を下げる。１／５０００が設定されている状態で、縮小ボタン９０６を押下すると一段階下の１／１００００へと縮尺を変更する。縮尺が１／５００００になった場合には、縮小ボタン９０６を無効にする。
【０１０１】
９０７は、地図の表示領域を変更する手形トグルボタンである。手形トグルボタンが凸状態の時に押下するとＣＰＵ５０１は手形ツールが設定されたと判定し、カーソルの形を手形にすると共にボタンの表示を凹状態とする。手形トグルボタンが凹状態の時に押下するとＣＰＵ５０１は手形ツールが解除されたと判定し、カーソルの形を矢印にすると共にボタンの表示を凸状態とする。ポインティングデバイスがマウスである場合を例に、手形ツールの機能を説明する。手形ツールが設定されている状態で、地図表示領域９００においてマウスをドラッグすると、ＣＰＵ５０１は、地図の表示範囲を変更する指示があったと判定し、地図の表示範囲を変更する。右下方向にマウスをドラッグした場合には、地図の表示範囲を左上の方向に変更する。左上方向にマウスをドラッグした場合には、地図の表示範囲を右下方向に変更する。
【０１０２】
９０８は、終了ボタンである。ユーザが終了ボタンを押下すると、ＣＰＵ５０１は、ユーザから終了指示があったと判定し、地図および画像の再生処理を終了する。それと共に、サーバに終了指示があったことを送信する。
【０１０３】
９０９は、サーバから地図上の撮影場所に対応付けて配信された画像データの縮小画像である。ＣＰＵ５０１は、サーバから配置位置を受信し、その配置位置が縮小画像を構成する４つの頂点の内側に入るように配置する。もし、配置位置が常に縮小画像の中心になるようにすると、結局撮影場所が閲覧者に特定されてしまうため、わざと中心から位置をずらして配置する。
【０１０４】
図１０において、１００１は、周辺で撮影された画像を表示する地図領域外に設けられた周辺画像表示領域である。１００２は、サーバから周辺の画像として配信された画像データの縮小画像である。
【０１０５】
＜地図上の配置位置算出方法＞ここで、変数に下記の値を保持しているものとして、ステップＳ８０７における、撮影場所の座標（ｓｈｏｔＸ，ｓｈｏｔＹ）の算出方法について説明する。地図表示領域内の座標を横方向Ｘ軸、縦方向Ｙ軸、とし、９０１を原点とする。
ｍａｐＮ０：９０１の緯度（度）
ｍａｐＥ０：９０１の経度（度）
ｍａｐＮ１：９０２の緯度（度）
ｍａｐＥ１：９０２の経度（度）
ｓｈｏｔＮ：画像の撮影場所の緯度（度）
ｓｈｏｔＥ：画像の撮影場所の経度（度）
ｕｉＸ０：地図表示領域内の９０１のＸ座標（ｐｉｘｅｌ）
ｕｉＹ０：地図表示領域内の９０１のＹ座標（ｐｉｘｅｌ）
ｕｉＸ１：地図表示領域内の９０２のＸ座標（ｐｉｘｅｌ）
ｕｉＹ１：地図表示領域内の９０２のＹ座標（ｐｉｘｅｌ）
ｓｈｏｔＸ：地図表示領域内の撮影場所のＸ座標（ｐｉｘｅｌ）
ｓｈｏｔＹ：地図表示領域内の撮影場所のＹ座標（ｐｉｘｅｌ）
実際の撮影場所の位置と、地図表示領域内の撮影場所の位置とを一致させるために、式１、式２が共に真になるようにする。上記条件を満たす、撮影場所の座標の算出方法を式３、式４に示す。
（ｍａｐＥ０−ｍａｐＥ１）：（ｓｈｏｔＥ−ｍａｐＥ１）＝（ｕｉＸ０−ｕｉＸ１）：（ｓｈｏｔＸ−ｕｉＸ１）…（１）
（ｍａｐＮ０−ｍａｐＮ１）：（ｓｈｏｔＮ−ｍａｐＮ１）＝（ｕｉＹ０−ｕｉＹ１）：（ｓｈｏｔＹ−ｕｉＹ１）…（２）
ｓｈｏｔＸ＝（（ｕｉＸ０−ｕｉＸ１）×（ｓｈｏｔＥ−ｍａｐＥ１））÷（ｍａｐＥ０−ｍａｐＥ１）＋ｕｉＸ１…（３）
ｓｈｏｔＹ＝（（ｕｉＹ０−ｕｉＹ１）×（ｓｈｏｔＮ−ｍａｐＮ１））÷（ｍａｐＮ０−ｍａｐＮ１）＋ｕｉＹ１…（４）
＜具体例＞次に、ステップＳ８０７における撮影場所の座標（ｓｈｏｔＸ，ｓｈｏｔＹ）の算出方法の具体例を説明する。
【０１０６】
サーバから取得した地図の範囲の緯度経度は、緯度４３．４５度、経度１４２．２５度から緯度４３．２５度、経度１４２．４５度の範囲とする。画像の詳細な撮影場所は、緯度４３．３５度、経度１４２．３５度とする。また、地図表示領域内の座標（ｕｉＸ１，ｕｉＹ１）を（０，０）、（ｕｉＸ０，ｕｉＹ０）を（１５００，２０００）とする。各変数に対応する値を式５に示す。
ｍａｐＮ０＝４３．４５
ｍａｐＥ０＝１４２．２５
ｍａｐＮ１＝４３．２５
ｍａｐＥ１＝１４２．４５
ｓｈｏｔＮ＝４３．３５
ｓｈｏｔＥ＝１４２．３５
ｕｉＸ０＝０
ｕｉＹ０＝０
ｕｉＸ１＝２０００
ｕｉＹ１＝１５００…（５）
式３と式４に式５の値を代入して算出した結果を式６、式７に示す。
ｓｈｏｔＸ＝（（ｕｉＸ０−ｕｉＸ１）×（ｓｈｏｔＥ−ｍａｐＥ１））÷（ｍａｐＥ０−ｍａｐＥ１）＋ｕｉＸ１ ＝（（０−２０００）×（１４２．３５−１４２．４５））÷（１４２．２５−１４２．４５）＋２０００＝１０００…（６）
ｓｈｏｔＹ＝（（ｕｉＹ０−ｕｉＹ１）×（ｓｈｏｔＮ−ｍａｐＮ１））÷（ｍａｐＮ０−ｍａｐＮ１）＋ｕｉＹ１＝（（０−１５００）×（４３．３５−４３．２５））÷（４３．４５−４３．２５）＋１５００＝７５０…（７）
以上説明した方法で、撮影場所を算出する。式６、式７の結果となった場合には、原点７０１からＸ軸方向に１０００ｐｉｘｅｌ、Ｙ軸方向に７５０ｐｉｘｅｌの位置を撮影場所とする。
【０１０７】
ここで、図８を参照しながら、画像制御装置として動作するサーバおよび画像受信装置として動作するクライアントにおける処理の具体例を説明する。
【０１０８】
撮影者は、画像をサーバに送信する際に、場所詳細非表示チェックボックスをＯＮとし、表示縮尺情報の縮尺を１／５０００以下に設定していたものとする。また、撮影場所は、緯度４３．３５度、経度１４２．３５度とする。サーバのＨＤＤ４０５に前述の画像ファイルが１つ保持されているものとして説明する。
【０１０９】
まず、クライアント１０２において表示する地図の範囲が、緯度４３．４５度、経度１４２．２５度から緯度４３．２５度、経度１４２．４５度、地図の縮尺は１／１００００である場合を説明する。
【０１１０】
ステップＳ８００にて、ＣＰＵ４０１は、クライアント１０２の表示条件を受信する。
【０１１１】
ステップＳ８０１にて、ＣＰＵ４０１は、Ｓ８０１にて受信した表示条件の緯度・経度の範囲に撮影場所が含まれる画像を抽出する。緯度４３．３５度、経度１４２．３５度で撮影した１つの画像ファイルをＣＰＵ４０１は抽出することになる。
【０１１２】
ステップＳ８１２にて、ＣＰＵ４０１は、クライアント１０２の表示条件に対応した地図データを送信する。
【０１１３】
ステップＳ８０２にて、ＣＰＵ４０１は、カウンタｎに０を代入する。
【０１１４】
ステップＳ８０３にて、ＣＰＵ４０１は、カウンタｎが対象となる画像ファイルの数より少ないか判定をする。Ｓ８０１にて対象となる画像ファイルの数は、１なので、カウンタｎが０の場合、ステップＳ８０４へ進む。
【０１１５】
ステップＳ８０４にて、ＣＰＵ４０１は、対象となるファイルをＨＤＤ４０５からＲＡＭ４０３に読み込み、Ｅｘｉｆ＿ＭａｋｅｒＮｏｔｅ属性情報領域６０１内の表示縮尺情報が指定されているか否かを判定する。表示縮尺情報の縮尺を１／５０００以下に設定されている場合、表示縮尺情報は、５０００となる。よって、表示縮尺情報が指定されていると判定して、ステップＳ８１０へ進む。
【０１１６】
ステップＳ８１０にて、ＣＰＵ４０１は、ＲＡＭ４０３上の画像ファイルの撮影場所情報である緯度４３．３５度、経度１４２．３５度を削除する。
【０１１７】
ステップＳ８０５にて、ＣＰＵ４０１は、ステップＳ８０１にて受信したクライアントの縮尺が、ステップＳ８０４で取得した表示縮尺情報の示す縮尺よりも大きいか否か判定する。表示縮尺情報の値が５０００だった場合には、表示縮尺情報の示す縮尺は５０００分の１となる。クライアントの縮尺は１００００分の１なので、クライアントの縮尺が表示縮尺情報の示す縮尺より小さいと判定し、ステップＳ８０７へ進む。
【０１１８】
ステップＳ８０７にて、ＣＰＵ４０１は、地図における画像の配置位置と画像を関連付けて、ＲＡＭ４０３上の画像ファイルを、コンピュータネットワーク４１１を介してクライアント１０２へ配信する。地図における画像の配置位置算出方法は、式３、式４に示した通りである。こうして、クライアント１０２では、図９に示す通り、地図に画像を配置して表示する。
【０１１９】
ステップＳ８０８にて、ＣＰＵ４０１は、クライアントの表示条件が変更されているか否かを判定する。クライアントの表示条件が変更されていないと判定した場合には、ステップＳ８０９へ進む。
【０１２０】
ステップＳ８０９にて、ＣＰＵ４０１は、ユーザから終了の指示があったか否かを判定する。ＣＰＵ４０１が、終了の指示がないと判定した場合には、ステップＳ８０８へ戻る。
【０１２１】
次に、クライアント１０２において表示する地図の範囲が、緯度４３．３３度、経度１４２．３３度から緯度４３．３７度、経度１４２．３７度、地図の縮尺は１／２０００に変更された場合を説明する。
【０１２２】
ステップＳ８０８にて、ＣＰＵ４０１は、クライアントの表示条件が変更されていると判定し、ステップＳ８０１へ戻る。
【０１２３】
ステップＳ８０１にて、ＣＰＵ４０１は、ステップＳ８０８にて受信した表示条件の緯度・経度の範囲に撮影場所が含まれる画像を抽出する。緯度４３．３５度、経度１４２．３５度で撮影した画像をＣＰＵ４０１は抽出することになる。
【０１２４】
ステップＳ８０２からＳ８１０までは、地図の縮尺が１／１００００の場合と同じ処理となる。
【０１２５】
ステップＳ８０５にて、ＣＰＵ４０１は、Ｓ８０１にて受信したクライアントの縮尺が、Ｓ８０４で取得した表示縮尺情報の示す縮尺よりも大きいか否か判定する。クライアントの縮尺は２０００分の１、表示縮尺情報の示す縮尺は５０００分の１なので、クライアントの縮尺が表示縮尺情報の示す縮尺と大きいと判定し、ステップＳ８０６へ進む。こうして、クライアント１０２では、図１０に示す通り、地図に画像を配置せず、周辺の画像として表示する。
【０１２６】
ステップＳ８０８にて、ＣＰＵ４０１は、クライアントの表示条件が変更されているか否かを判定する。クライアントの表示条件が変更されていないと判定した場合には、ステップＳ８０９へ進む。
【０１２７】
ステップＳ８０９にて、ＣＰＵ４０１は、ユーザから終了の指示があったか否かを判定する。ＣＰＵ４０１が、終了の指示があったと判定した場合には、一連の処理を終了する。
【０１２８】
本実施形態では、処理対象の画像ファイルが１つの場合を例に説明したが、複数ファイルの場合でも本発明を実現可能である。この場合、ファイル数分、ステップＳ８０３からＳ８１１までの処理を繰り返し実行すればよい。
【０１２９】
本実施形態において、表示縮尺情報や撮影場所の情報が画像ファイルの中に保持されていることを例に説明したたが、画像ファイルと関連付けられていれば、画像ファイルとは別のファイルであってもよい。
【０１３０】
本実施形態において、表示縮尺情報が個々の画像ファイルの中に保持されていることを例に説明したが、複数の画像ファイルについて、１つの表示縮尺情報を関連付けてもよい。
【０１３１】
＜縮尺の決定方法の変形例＞本実施形態において、デジタルスチルカメラの操作により画像を表示する地図の精度を縮尺で指定したが、個人情報の保護レベルで指定しても良い。その場合には、サーバにおいて保護レベルに対応付けた表示縮尺情報をＨＤＤ４０５内に保持しておく。具体的には縮尺１／１０００であればレベル１、縮尺１／２０００であればレベル２、縮尺１／５０００であればレベル３というように対応付けて保持する。そして、ステップＳ８１０とＳ８０５の間で保護レベルから対応する表示縮尺情報を読み込む処理を行い、Ｓ８０５の判定処理を行えばよい。縮尺で指定する場合、どのくらいの精度で撮影場所が特定できてしまうかユーザが感覚的に分かりにくいことがある。そういった場合に保護レベルといった抽象的な値になっていると、ユーザは選択しやすくなる。
【０１３２】
本実施形態において、デジタルスチルカメラの操作により画像を表示する地図の精度を縮尺で指定したが、撮影場所が特定可能な距離で指定しても良い。その場合には、サーバにおいて距離に対応付けた表示縮尺情報をＨＤＤ４０５内に保持しておく。具体的には５００ｍであれば縮尺１／１０００、１ｋｍであれば縮尺１／２０００、２．５ｋｍであれば縮尺１／５０００というように対応付けて保持する。そして、ステップＳ８１０とＳ８０５の間で距離から対応する表示縮尺情報を読み込む処理を行い、Ｓ８０５の判定処理を行えばよい。縮尺で指定する場合、どのくらいの精度で撮影場所が特定できてしまうかユーザが感覚的に分かりにくいことがある。そういった場合に何ｍ四方で特定できてしまうかということを示した方が、ユーザは選択しやすくなる。
【０１３３】
＜縮尺が小さいときの表示方法の変形例＞本実施形態の縮小画像９０９において、サーバから受信した配置位置が縮小画像を構成する４つの頂点の内側に入るように配置すると説明したが、予め、サーバ側で配置位置を撮影場所が特定しにくいように変更してもよい。詳細な情報で配置位置を算出し、その配置位置が縮小画像の中心にくるようにしてしまうと、結局撮影場所が閲覧者に特定されてしまうからである。配置位置を算出する際に、緯度経度の有効桁数を減らした場所を基点にする。そして、それをクライアントに配信する。こうすることにより、地図に対応付けて縮尺画像を配置したとしても、撮影場所を特定しにくくすることができる。有効桁数を減らす方法は、切り上げ、四捨五入、切り下げのいずれでもよい。緯度は切り上げ、経度は四捨五入という風に組み合わせてもよい。画像毎に、異なる方法で有効桁数を減らすと、更に、閲覧者は詳細な撮影場所を特定しにくくなる。
【０１３４】
＜地図の端に位置する画像への対応＞本実施形態のステップＳ８０１にて、撮影場所により表示範囲内の画像を抽出したが、表示縮尺情報が指定されている画像については、緯度経度の有効桁数を減らした撮影場所情報で判定を行うとよい。なぜならば、地図の表示範囲の変更に伴い周辺の画像として出てくるか否かによって、その画像が地図のどの場所にあるか判別できてしまう可能性があるからである。そこで、緯度経度の有効桁数を減らした撮影場所情報で判定することによって、詳細な撮影場所を特定できなくなる。
【０１３５】
＜属性情報による撮影場所特定回避の変形例＞本実施形態のステップＳ８１０において、画像ファイルの属性情報から撮影場所情報を削除したが、閲覧者が属性情報から詳細な撮影場所情報を特定できなければよい。撮影場所情報を暗号化してもよいし、クライアントにおける画像再生時に属性情報を削除したり暗号化してもよい。
【０１３６】
以上説明した通り、本実施形態によれば、撮影者のプライバシーを守りつつ、大まかな撮影場所が判別できるように画像を配信することができる。また、画像ファイルから撮影場所情報を取り除いて配信するため、詳細な撮影場所を属性情報の解析により閲覧者が知ることもできない。更に、地図の端に位置する場合にも、周辺の画像として出てくるか否かによって、詳細な撮影場所を閲覧者が特定することも避けることができる。
【０１３７】
［実施形態２］実施形態１では画像制御装置をサーバとして説明したが、実施形態２は、画像制御装置がクライアントである場合について説明する。また、実施形態１においては、画像送信装置をデジタルスチルカメラとしていたが、実施形態２は、画像送信装置もパーソナルコンピュータである場合について説明する。尚、画像制御装置と画像送信装置の構成は、実施形態１のクライアントと同じである。
【０１３８】
＜画像の表示縮尺指定＞まず、図１１を参照して、画像送信装置として、動作するパーソナルコンピュータのユーザインタフェースについて説明する。
【０１３９】
図１１は、本実施形態の画像送信装置におけるユーザインタフェースを例示しており、撮影者が未配信の画像を閲覧している状態を示している。
【０１４０】
図３と同じ機能を果たす操作部材があるため、図３も参照しつつ説明する。
【０１４１】
図１１において、１１０１は、未配信の画像の縮小画像である。１１０２は、所詳細非表示チェックボックスである。３１６に対応している。ユーザが場所詳細非表示チェックボックスを押下すると、ＣＰＵ５０１は設定変更の操作があったと判定し、ＯＮ／ＯＦＦ状態を切り替える。場所詳細非表示チェックボックスにチェックが入っている状態、つまりＯＮの状態で押下すると、ＣＰＵ５０１はチェックを消しＯＦＦの状態とする。チェックがない状態、つまりＯＦＦの状態で押下すると、ＣＰＵ５０１はチェックを表示しＯＮの状態とする。
【０１４２】
１１０３は、表示縮尺設定ボックスである。３１７に対応している。ユーザが表示縮尺設定ボックスの下矢印ボタンを押下すると、ＣＰＵ５０１は設定変更の操作があったと判定し、プルダウン式のメニューを表示する。その際の表示するメニューの項目は、１／１０００以下、１／２０００以下、１／５０００以下、１／１００００以下、である。ユーザがプルダウン式のメニューの中から選択すると、ＣＰＵ５０１はユーザから、設定が選ばれたと判断し、プルダウンメニューを閉じる。そして、ＣＰＵ５０１は、表示縮尺設定ボックス１１０３に選択された縮尺を表示する。
【０１４３】
１１０４は、終了ボタンである。ユーザが終了ボタンを押下すると、ＣＰＵ５０１は、ユーザから終了指示があったと判定し、各操作部材の設定をＨＤＤ５０５に記憶し、送信処理を終了する。
【０１４４】
１１０５は、送信先を表示する送信先エディットボックスである。ユーザがマウス等のポインティングデバイスで送信先エディットボックス１１０５を選択すると、文字列を入力が可能となる。キーボード等の入力装置により送信先を指定した後、他の操作部材へと選択が切り替わったときに、ＣＰＵ５０１はユーザからの文字列入力が完了したと判定し、送信先エディットボックス１１０５に入力された文字列を表示する。
【０１４５】
１１０６は、送信ボタンである。送信ボタン１１０６をユーザが押下すると、ＣＰＵ５０１がユーザから送信指示があったと判定し、ＨＤＤ５０５から画像データを読み込む。そして、各画像に指定された表示縮尺設定に応じて、Ｅｘｉｆ＿ＭａｋｅｒＮｏｔｅ属性情報領域６０１内の表示精度情報を変更する。加えて、Ｅｘｉｆ＿Ｂａｓｅ属性情報領域６００の撮影場所情報を暗号化し、送信先エディットボックスで指定された送信先へ送信する。またクライアントにおける画像制御装置で場所情報を取得できるようにするために、復号化キーを送信する。暗号化するのは、不特定多数の閲覧者が、画像の属性情報から容易に詳細な撮影場所を特定することを回避するためである。
【０１４６】
画像送信処理については、実施形態１の図７で説明した通りである。ただし、実施形態１においては、未送信の画像について、同じ表示縮尺の設定を用いたが、実施形態２においては、各画像に設定された表示縮尺の設定を用いて、画像のＥｘｉｆ＿ＭａｋｅｒＮｏｔｅ属性情報領域６０１内の表示精度情報を変更した後、送信する。
【０１４７】
送信先は、送信先エディットボックスで指定されたサーバとする。サーバはパーソナルコンピュータから画像を受信すると同時に画像を配信する状態とするものとする。そして、クライアントにおいてサーバから受信した画像ファイルを画像ファイル個々の表示縮尺情報に応じて制御する。
【０１４８】
＜画像再生処理＞次に、図１２を参照して、実施形態２における画像制御装置として動作するクライアントが、表示縮尺情報に基づいて地図上に画像を配置するか否かの制御を行い、再生する処理について説明する。尚、本処理は、ＣＰＵ５０１がＲＡＭ５０３に格納された制御プログラムを実行することにより実行される。
【０１４９】
以下では、画像制御処理に焦点を絞って説明し、サーバからのデータ受信処理については説明を省略する。予め、クライアントのＣＰＵ５０１は、サーバから配信された画像ファイルをコンピュータネットワーク５１１を介してネットワークインタフェース５０８により受信し、ＨＤＤ５０５に保持しているものとする。
【０１５０】
また、図１２において、図８と共通する処理には同一の符号を付して説明を省略する。図８のＣＰＵ４０１は図１２のＣＰＵ５０１に対応し、ＲＡＭ４０３はＲＡＭ５０３に、ＨＤＤ４０５はＨＤＤ５０５にそれぞれ対応する。
【０１５１】
図１２において、ステップＳ１２０１にて、ＣＰＵ５０１は、表示する地図の縮尺を決定する。ＨＤＤ５０５に記憶されている画像ファイル全てについて、Ｅｘｉｆ＿ＭａｋｅｒＮｏｔｅ属性情報領域６０１内の表示精度情報を参照する。そして、表示縮小情報の示す縮尺の中で一番小さい縮尺を選択する。
【０１５２】
ステップＳ１２０２にて、ＣＰＵ５０１は、表示する地図の範囲を決定する。ＨＤＤ５０５に記憶されている画像ファイルの撮影場所が集中している場所が中心になる位置とする。
【０１５３】
ステップＳ１２０２にて、ＣＰＵ５０１は、表示条件に対応する地図データをコンピュータネットワーク５１１を介して地図情報を保持するサーバに要求し、サーバから受信する。
【０１５４】
ステップＳ１２０３にて、ＣＰＵ５０１は、表示条件の緯度・経度の範囲に撮影場所が含まれる画像を抽出する。まず、ＨＤＤ５０５に記憶されている画像ファイル全てについて、Ｅｘｉｆ＿Ｂａｓｅ属性情報領域６００の撮影場所情報を参照する。もし、暗号化されている場合には、復号化する。そして、撮影場所情報が緯度・経度の範囲に含まれているものを対象であると判定し、抽出する。ただし、ステップＳ１２０３にて復号した撮影場所情報は、表示しないようにする。詳細な撮影場所を閲覧者が知ることができないようにするためである。
【０１５５】
ステップＳ１２０４にて、ＣＰＵ５０１は、ユーザから指定されている縮尺が、Ｓ８０４で取得した表示縮尺情報の示す縮尺よりも大きいか否か判定する。
【０１５６】
ステップＳ１２０４にて、ＣＰＵ５０１が、クライアントの縮尺が表示縮尺情報の示す縮尺よりも大きいと判定した場合には、ステップＳ１２０５へ進む。
【０１５７】
ステップＳ１２０４にて、ＣＰＵ５０１が、クライアントの縮尺が表示縮尺情報の示す縮尺と同じか小さいと判定した場合には、ステップＳ１２０８へ進む。
【０１５８】
ステップＳ１２０５にて、ＣＰＵ５０１は、周辺の画像として、画像ファイルを表示する。
【０１５９】
ステップＳ１２０６にて、ＣＰＵ５０１は、地図における画像の配置位置を算出する。配置位置の算出方法については、式３、式４で説明した通りである。
【０１６０】
ステップＳ１２０７にて、ＣＰＵ５０１は、地図上に撮影場所と対応付けて縮小画像を表示する。ステップＳ１２０６もしくはステップＳ１２０９にて算出した配置位置が縮小画像の中心になるように表示する。
【０１６１】
ステップＳ１２０８にて、ＣＰＵ５０１は、ステップＳ１２０６と同様に地図における画像の配置位置を算出する。
【０１６２】
ステップＳ１２０９にて、ＣＰＵ５０１は、ステップＳ１２０８で算出した配置位置からずらした位置を算出する。ずらした位置の算出方法については、後述する。
【０１６３】
ステップＳ１２１０にて、ＣＰＵ５０１は、表示条件が変更されているか否かを判定する。表示条件変更方法については、後述する。
【０１６４】
ステップＳ１２１０にて、ＣＰＵ５０１が、表示条件が変更されていると判定した場合には、ステップＳ１２０１へ戻る。
【０１６５】
ステップＳ１２１０にて、ＣＰＵ５０１が、表示条件が変更されていないと判定した場合には、ステップＳ１２１１へ進む。
【０１６６】
ステップＳ１２１１にて、ＣＰＵ５０１は、ユーザから終了の指示があったか否かを判定する。ユーザからの終了指示方法については、後述する。
【０１６７】
ステップＳ１２１１にて、ＣＰＵ５０１が、終了の指示があったと判定した場合には、一連の処理を終了する。
【０１６８】
ステップＳ１２１１にて、ＣＰＵ５０１が、終了の指示がないと判定した場合には、ステップＳ１２１０へ戻る。
【０１６９】
＜ずらした位置の算出方法＞ここで、変数に下記の値を保持しているものとして、ステップＳ１２０９における、ずらした位置の座標（ｎｅｗＳｈｏｔＸ，ｎｅｗＳｈｏｔＹ）の算出方法について説明する。地図表示領域内の座標を横方向Ｘ軸、縦方向Ｙ軸、とし、９０１を原点とする。
ｓｈｏｔＸ：ステップＳ１２０８で算出したＸ座標（ｐｉｘｅｌ）
ｓｈｏｔＹ：ステップＳ１２０８で算出したＹ座標（ｐｉｘｅｌ）
ｎｅｗＳｈｏｔＸ：ずらした位置のＸ座標（ｐｉｘｅｌ）
ｎｅｗＳｈｏｔＹ：ずらした位置のＹ座標（ｐｉｘｅｌ）
ｔｈｕｍｂＷｉｄｔｈ：縮小画像の幅（ｐｉｘｅｌ）
ｔｈｕｍｂＨｅｉｇｈｔ：縮小画像の幅（ｐｉｘｅｌ）…（８）
また、ｒａｎｄ（）が乱数、％が剰余を示すものとして、ずらした位置の座標算出方法を式９、式１０に示す。
ｎｅｗＳｈｏｔＸ＝ｓｈｏｔＸ＋ｒａｎｄ（）％ｔｈｕｍｂＷｉｄｔｈ−ｔｈｕｍｂＷｉｄｔｈ…（９）
ｎｅｗＳｈｏｔＹ＝ｓｈｏｔＹ＋ｒａｎｄ（）％ｔｈｕｍｂＨｅｉｇｈｔ−ｔｈｕｍｂＨｅｉｇｈｔ…（１０）
＜ユーザインタフェースの遷移＞次に、図１３と図１４を参照して、画像制御装置として動作するクライアントのユーザインタフェースについて説明する。
【０１７０】
図１３と図１４において、図９と共通する操作部材については、同一の符号を付して説明を省略する。図１３と図１４は共に撮影者がサーバにて配信している画像を、閲覧者がコンピュータネットワーク経由でクライアントにダウンロードし、閲覧している状態を示している。尚、実施形態１においては、９０４から９０７の操作部材の操作により表示条件変更があった場合には、その都度サーバに表示条件を送信していたのに対して、実施形態２では、画像制御処理をクライアントで行うため、表示条件をＲＡＭ５０３に保持し、ＣＰＵ５０１が制御に必要な際にＲＡＭ５０３から読み込んで使うものとする。
【０１７１】
１３０１から１３０６は、サーバから配信されている画像の縮小画像である。各画像の表示縮尺情報は、画像１３０１と１３０２は０、画像１３０３は５０００、画像１３０４は１００００、画像１３０５は２０００として、図１２を参照しながら、ユーザインタフェースの遷移について説明する。画像ごとにどのように処理が変わるかを説明するため、ステップＳ８１３、ステップＳ８０４、ステップＳ１２０４からステップ１２０９までの処理を説明する。
【０１７２】
地図の範囲は、緯度４３．４５度、経度１４２．２５度から緯度４３．２５度、経度１４２．４５度、地図の縮尺は１／１００００であるものとする。
【０１７３】
対象画像が画像１３０１である場合を説明する。
【０１７４】
ステップＳ８１３において、ＣＰＵ５０１は、画像１３０１をＨＤＤ４０５からＲＡＭ４０３に対象ファイルとして読み込む。
【０１７５】
ステップＳ８０４において、ＣＰＵ５０１は、画像１３０１について表示縮尺情報が設定されていないと判定し、ステップＳ１２０６へ進む。
【０１７６】
ステップＳ１２０６において、ＣＰＵ５０１は、画像１３０１の配置位置を算出する。算出方法は式３、式４で示した通りである。
【０１７７】
ステップＳ１２０７において、ＣＰＵ５０１は、ステップＳ１２０６で算出した配置位置が縮小画像の中心になるように画像を配置する。
【０１７８】
画像１３０２についても、画像１３０１と同じく表示縮尺情報が設定されていないので、同様の処理となる
続いて、対象の画像が画像１３０３である場合を説明する。
【０１７９】
ステップＳ８１３において、ＣＰＵ５０１は、画像１３０３をＨＤＤ４０５からＲＡＭ４０３に対象ファイルとして読み込む。
【０１８０】
ステップＳ８０４において、ＣＰＵ５０１は、画像１３０３について表示縮尺情報が設定されていると判定し、ステップＳ１２０４へ進む。
【０１８１】
ステップＳ１２０４において、ＣＰＵ５０１は、地図縮尺設定ボックス９０４に設定されている地図の縮尺が、Ｓ８０４で取得した表示縮尺情報の示す縮尺よりも大きいか否か判定する。地図の縮尺は１／１００００、画像１３０１の表示縮尺情報が示す縮尺は１／５０００。よって、地図の縮尺の方が小さいと判定して、ステップＳ１２０８へ進む。
【０１８２】
ステップＳ１２０８において、ＣＰＵ５０１は、ステップＳ１２０６と同様の方法で配置位置を算出する。
【０１８３】
ステップＳ１２０９において、ＣＰＵ５０１は、ずらした位置を算出する。算出方法は式９、式１０で示した通りである。
【０１８４】
ステップＳ１２０７において、ＣＰＵ５０１は、ステップＳ１２０９で算出した配置位置が縮小画像の中心になるように画像を配置する。
【０１８５】
画像１３０４、画像１３０５についても、ステップＳ１２０４において、地図の縮尺の方が小さいもしくは等しいと判定されるので、画像１３０３と同様の処理となる。
【０１８６】
上述した処理により、地図の縮尺が１／１００００の場合、ユーザインタフェースは図１３に示す状態となる。
【０１８７】
次に、地図の範囲が、緯度４３．４度、経度１４２．３度から緯度４３．３度、経度１４２．４度、地図の縮尺は１／５０００に変更された場合について説明する。
画像１３０１と１３０２は、地図の縮尺が１／１００００の時と同じ処理になるため、説明を省略する。
【０１８８】
対象の画像が画像１３０３である場合を説明する。
【０１８９】
ステップＳ８１３において、ＣＰＵ５０１は、画像１３０３をＨＤＤ４０５からＲＡＭ４０３に対象ファイルとして読み込む。
【０１９０】
ステップＳ８０４において、ＣＰＵ５０１は、画像１３０３について表示縮尺情報が設定されていると判定し、ステップＳ１２０４へ進む。
【０１９１】
ステップＳ１２０４において、ＣＰＵ５０１は、地図縮尺設定ボックス９０４に設定されている地図の縮尺が、Ｓ８０４で取得した表示縮尺情報の示す縮尺よりも大きいか否か判定する。地図の縮尺は１／５０００、画像１３０１の表示縮尺情報が示す縮尺は１／５０００。よって地図の縮尺と同じと判定して、ステップＳ１２０８へ進む。
【０１９２】
ステップＳ１２０８において、ＣＰＵ５０１は、画像１３０３の配置位置を算出する。算出方法は式３、式４で示した通りである。
【０１９３】
ステップＳ１２０９において、ＣＰＵ５０１は、ずらした位置を算出する。算出方法は式９、式１０で示した通りである。
【０１９４】
ステップＳ１２０７において、ＣＰＵ５０１は、ステップＳ１２０９で算出した配置位置が縮小画像の中心になるように画像を配置する。
【０１９５】
画像１３０５についても、ステップＳ１２０４において、ユーザから指定されている縮尺の方が小さいもしくは等しいと判定されるので、画像１３０３と同様の処理となる。
【０１９６】
対象画像が画像１３０４である場合を説明する。
【０１９７】
ステップＳ８１３において、ＣＰＵ５０１は、画像１３０４をＨＤＤ４０５からＲＡＭ４０３に対象ファイルとして読み込む。
【０１９８】
ステップＳ８０４において、ＣＰＵ５０１は、画像１３０３について表示縮尺情報が設定されていると判定し、ステップＳ１２０４へ進む。
【０１９９】
ステップＳ１２０４において、ＣＰＵ５０１は、地図縮尺設定ボックス９０４に設定されている地図の縮尺が、Ｓ８０４で取得した表示縮尺情報の示す縮尺よりも大きいか否か判定する。地図の縮尺は１／５０００、画像１３０１の表示縮尺情報が示す縮尺は１／１００００。よって、地図の縮尺の方が大きいと判定して、ステップＳ１２０５へ進む。
【０２００】
ステップＳ１２０５において、周辺の画像として、画像ファイルを表示する。
【０２０１】
上述した処理により、地図の縮尺が１／５０００の場合、ユーザインタフェースは図１４に示す状態となる。
【０２０２】
図１３の１３０１は１４０１に、１３０２は１４０２に、１３０３は１４０３に、１３０４は１４０４に、１３０５は１４０５にそれぞれ対応する。
【０２０３】
＜倍率が大きいときの表示方法の変形例＞ステップＳ１２０５では、図１０および図１４の周辺画像表示領域１００１に表示する例を説明したが、撮影場所に対応付けして表示しなければよいので、画像自体を表示しなくてもよい。また、図１０および図１４の地図表示領域９００内を縮小画像の表示位置を再描画のたびに変えながら表示してもよいし、一定時間毎に表示位置を変えながら表示してもよい。
【０２０４】
以上説明した通り、本実施形態によれば、最初に画像の表示縮尺情報の示す縮尺の一番低い縮尺で地図上に画像を配置して表示する。よって、最初に閲覧者は画像の大まかな場所を把握することができる。
【０２０５】
更に、縮尺を変更した場合も、撮影者のプライバシーを守りつつ、大まかな撮影場所が判別できるように画像を表示することができる。また、画像ファイルの撮影場所情報暗号化して配信するため、詳細な撮影場所を属性情報の解析により閲覧者が容易に知ることもできない。
【０２０６】
地図の縮尺が表示縮尺情報の縮尺よりも小さい場合でも、撮影場所が画像の中心の位置に対応しないようにずらして表示することにより、詳細な撮影場所を閲覧者が特定することも避けることができる。
【０２０７】
［実施形態３］実施形態１，２では、縮尺に応じて画像を地図に配置して表示するか否かを切り替えたが、実施形態３では、地図の精度と地域を指定し、その地図の精度に応じて画像を地図に配置して表示するか否かを切り替える場合について説明する。地図の精度とは、町、区、市、都道府県、地方、国といった行政区画の大きさを示す情報である。実施形態３では、画像制御装置をサーバとし、画像送信装置をパーソナルコンピュータとする。画像制御装置の構成は、実施形態１のサーバと同じである。画像送信装置の構成は、実施形態１のクライアントと同じである。
【０２０８】
＜画像の表示精度指定＞図１５は、本実施形態の画像送信装置におけるユーザインタフェースを例示し、撮影者が未配信の画像を閲覧している状態を示している。上述した図１１と共通する操作部材については、同一の符号を付して説明を省略する。
【０２０９】
図１５において、１５０１は、表示精度設定ボックスである。ユーザが表示精度設定ボックスの下矢印ボタンを押下すると、ＣＰＵ５０１は設定変更の操作があったと判定し、プルダウン式のメニューを表示する。その際の表示するメニューの項目は、国まで、地方まで、都道府県まで、市まで、区まで、町まで、である。ユーザがプルダウン式のメニューの中から選択すると、ＣＰＵ５０１はユーザから、設定が選ばれたと判断し、プルダウンメニューを閉じる。そして、ＣＰＵ５０１は、表示精度設定ボックス１５０１に選択された精度を表示する。
【０２１０】
画像送信処理については、実施形態１の図７で説明した通りである。ただし、実施形態１では、ステップＳ７０５において表示縮尺情報を読み込んだが、実施形態３では表示精度情報を読み込む。また、実施形態１では、ステップＳ７０６において対象画像の表示縮尺情報を変更したが、実施形態３では対象画像の表示精度情報を変更する。表示精度情報には、項目に対応した数値を書き込む。町までであれば６、区までであれば５、市までであれば４、都道府県までであれば３、地方までであれば２、国までであれば１を書き込む。
【０２１１】
＜画像再生処理＞ここで、図１６を参照して、本実施形態における画像制御装置として動作するサーバにおいて、表示精度情報に基づいて地図上に画像を配置するか否かの制御を行い、再生する処理ついて説明する。尚、本処理は、ＣＰＵ４０１がＲＡＭ４０３に格納された制御プログラムを実行することにより実行される。予め、サーバのＣＰＵ４０１は、パーソナルコンピュータから送信された画像ファイルをコンピュータネットワーク４１１を介してネットワークインタフェース４０８により受信し、ＨＤＤ４０５に保持しているものとする。また、サーバとクライアント間は、双方向にデータの送受信が可能な状態が確立できているものとする。
【０２１２】
また、図１６において、上述した図８と共通する処理には同一の符号を付して説明を省略する。
【０２１３】
図１６において、ステップＳ１６００にて、ＣＰＵ４０１は、クライアントの表示条件をコンピュータネットワーク４１１を介してネットワークインタフェース４０８により受信する。表示条件とは、クライアントにて表示する地図の緯度・経度の範囲、地図の精度である。地図の精度は、項目に対応した数値で受信するものとする。町あれば６、区あれば５、市であれば４、都道府県であれば３、地方であれば２、国であれば１を受信する。
【０２１４】
ステップＳ１６０１において、ＣＰＵ４０１は対象となるファイルについてＥｘｉｆ＿ＭａｋｅｒＮｏｔｅ属性情報領域６０１内の表示精度情報が指定されているか否かを判定する。表示精度情報が０である場合には、表示精度情報は設定されていないものとする。１以上の値である場合には、表示精度情報が指定されていると判定する。
【０２１５】
ステップＳ１６０２において、ＣＰＵ４０１は、Ｓ１６００にて受信したクライアントの地図の精度が、Ｓ１６０１で取得した表示精度情報の示す精度よりも大きいか否か判定する。
【０２１６】
ステップＳ１６０２にて、ＣＰＵ４０１が、クライアントの地図の精度が表示精度情報の値よりも大きいと判定した場合には、ステップＳ８０６へ進む。
【０２１７】
ステップＳ８０５にて、ＣＰＵ４０１が、クライアントの地図の精度が表示精度情報の値と同じか小さいと判定した場合には、ステップＳ８０７へ進む。
【０２１８】
＜ユーザインタフェースの遷移＞図１７と図１８を参照して、実施形態３による画像受信装置として動作するクライアントにおけるユーザインタフェースについて説明する。
【０２１９】
尚、図１７と図１８で共通の操作部材については、同一の符号を付して説明を省略する。図１７と図１８は共に撮影者がサーバにて配信している画像を、閲覧者がコンピュータネットワーク経由でクライアントにダウンロードし、閲覧している状態を示している。
【０２２０】
図１７において、１７０５は、地図の精度を指定する地図精度設定ボックスである。ユーザが地図精度設定ボックスの右の下矢印ボタンを選択し、押下すると、ＣＰＵ５０１は設定変更の操作があったと判定し、プルダウン式のメニューを表示する。その際の表示するメニューの項目は、町、区、市、都道府県、地方、国である。ユーザが、プルダウン式のメニューの中から選択すると、ＣＰＵ５０１はユーザから、設定が選ばれたと判断し、プルダウンメニューを閉じる。そして、ＣＰＵ５０１は、地図精度設定ボックス１７０５に選択された精度を表示する。
【０２２１】
１７０５は、地域を指定する地域設定エディットボックスである。ユーザがマウス等のポインティングデバイスで地域設定エディットボックス１７０５を選択すると、文字列を入力が可能となる。キーボード等の入力装置により地域の名前を入力した後、他の操作部材へと選択が切り替わったときに、ＣＰＵ５０１はユーザからの文字列入力が完了したと判定し、地域設定エディットボックス１７０５に入力された文字列を表示する。
【０２２２】
１７０７は、終了ボタンである。機能は、図９の９０８と同じである。
【０２２３】
１７０１から１７０４は、サーバから配信されている画像の縮小画像である。
【０２２４】
各画像に設定されている表示精度情報は、画像１７０１は０、画像１７０２は２、画像１７０３は５、画像１７０４は６、であるものとして、図１６を参照しながら、ＵＩの遷移を説明する。
【０２２５】
画像ごとにどのように処理が変わるかを説明するため、ステップＳ１６０１、ステップＳ１６０２、ステップＳ８１０、ステップＳ８０７、ステップＳ８０６の処理を説明する。
【０２２６】
地図の範囲が、緯度３７度、経度１３６度から緯度３４度、経度１４２度、地図の精度は地方の場合を説明する。地図の精度の値は、地方なので、２となる。
【０２２７】
まず、対象画像が画像１７０１の場合を説明する。
【０２２８】
ステップＳ１６０１において、ＣＰＵ４０１は、画像１７０１について表示精度情報が設定されていないと判定し、ステップＳ８０７へ進む。
【０２２９】
ステップＳ８０７において、ＣＰＵ４０１は、地図における画像の配置位置と画像を関連付けて、ＲＡＭ４０３上の画像ファイルを、コンピュータネットワーク４１１を介してクライアントへ配信する。配置位置の算出方法は式３、式４で示した通りである。
【０２３０】
続いて、対象の画像が画像１７０２の場合を説明する。
【０２３１】
ステップＳ１６０１において、ＣＰＵ４０１は、画像１７０２について表示精度情報が設定されていると判定し、ステップＳ８１０へ進む。
【０２３２】
ステップＳ８１０にて、ＣＰＵ４０１は、ＲＡＭ４０３上の画像ファイルのＥｘｉｆ＿Ｂａｓｅ属性情報領域６００の撮影場所情報を削除する。
【０２３３】
ステップＳ１６０２にて、ＣＰＵ４０１は、クライアントの地図の精度の値が、Ｓ１６０１で取得した表示精度情報よりも大きいか否か判定する。地図の精度の値は２、画像１７０１の表示精度情報の値も２なので、同じと判定し、ステップＳ８０７へ進む。
【０２３４】
ステップＳ８０７において、ＣＰＵ４０１は、地図における画像の配置位置と画像を関連付けて、ＲＡＭ４０３上の画像ファイルを、コンピュータネットワーク４１１を介してクライアントへ配信する。配置位置の算出方法は式３、式４で示した通りである。
【０２３５】
画像１７０３、画像１７０４についても、ステップＳ１６０２において、地図の精度の値よりも各画像の表示精度情報の値の方が小さいと判定されるので、画像１７０２と同じ処理となる。
【０２３６】
上述した処理により、地図の精度が地方の場合、ユーザインタフェースは図１７に示す状態となる。
【０２３７】
次に、地図の範囲が、緯度３４度、経度１３９．２度から緯度３５．３度、経度１３９．８度、地図の精度が都道府県に変更された場合を説明する。地図の精度の値は、都道府県なので、３となる。
【０２３８】
画像１７０１は、地図の精度が地方の時と、都道府県の時と同じ処理になるため、説明を省略する。
【０２３９】
まず、対象の画像が画像１７０２の場合を説明する。
【０２４０】
ステップＳ１６０１において、ＣＰＵ４０１は、画像１７０２について表示精度情報が設定されていると判定し、ステップＳ８１０へ進む。
【０２４１】
ステップＳ８１０にて、ＣＰＵ４０１は、ＲＡＭ４０３上の画像ファイルのＥｘｉｆ＿Ｂａｓｅ属性情報領域６００の撮影場所情報を削除する。
【０２４２】
ステップＳ１６０２にて、ＣＰＵ４０１は、クライアントの地図の精度の値が、Ｓ１６０１で取得した表示精度情報よりも大きいか否か判定する。地図の精度の値は３、画像１７０１の表示精度情報の値は２なので、大きいと判定し、ステップＳ８０６へ進む。
【０２４３】
ステップＳ８０６にて、ＣＰＵ４０１は、周辺の画像として、ＲＡＭ４０３上の画像ファイルを、コンピュータネットワーク４１１を介してクライアントへ配信する。
【０２４４】
次に、対象画像が画像１７０３の場合を説明する。
【０２４５】
ステップＳ１６０１において、ＣＰＵ４０１は、画像１７０３について表示精度情報が設定されていると判定し、ステップＳ８１０へ進む。
【０２４６】
ステップＳ８１０にて、ＣＰＵ４０１は、ＲＡＭ４０３上の画像ファイルのＥｘｉｆ＿Ｂａｓｅ属性情報領域６００の撮影場所情報を削除する。
【０２４７】
ステップＳ１６０２にて、ＣＰＵ４０１は、クライアントの地図の精度の値が、Ｓ１６０１で取得した表示精度情報よりも大きいか否か判定する。地図の精度の値は３、画像１７０３の表示精度情報の値は５なので、小さいと判定し、ステップＳ８０７へ進む。
【０２４８】
ステップＳ８０７において、ＣＰＵ４０１は、地図における画像の配置位置と画像を関連付けて、ＲＡＭ４０３上の画像ファイルを、コンピュータネットワーク４１１を介してクライアントへ配信する。配置位置の算出方法は式３、式４で示した通りである。
【０２４９】
画像１７０４についてもステップＳ１６０２において、地図の精度の値よりも各画像の表示精度情報の値の方が小さいと判定されるので、画像１７０３と同じ処理となる。
【０２５０】
上述の処理により、地図の精度が地方の場合、ユーザインタフェースは図１８に示す状態となる。図１７の画像１７０１は画像１８０１に、画像１７０２は画像１８０２に、画像１７０３は画像１８０３に、画像１７０４は画像１８０４に、それぞれ対応する。
【０２５１】
図１８において、１８０５は周辺画像表示領域であり、機能は１００１と同じである。
【０２５２】
以上説明した通り、本実施形態によれば、縮尺以外の地図の表示精度でも、撮影者のプライバシーを守りつつ、大まかな撮影場所が判別できるように画像を配信することができる。
【０２５３】
［他の実施形態］本発明は、以下の処理を実行することによっても実現される。即ち、上記実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
0005677073.tif 000002
【図２】
0005677073.tif 000003
【図３】
0005677073.tif 000004
【図４】
0005677073.tif 000005
【図５】
0005677073.tif 000006
【図６】
0005677073.tif 000007
【図７】
0005677073.tif 000008
【図８】
0005677073.tif 000009
【図１２】
0005677073.tif 000010
【図１６】
0005677073.tif 000011
【図９】
0005677073.tif 000012
【図１０】
0005677073.tif 000013
【図１１】
0005677073.tif 000014
【図１３】
0005677073.tif 000015
【図１４】
0005677073.tif 000016
【図１５】
0005677073.tif 000017
【図１７】
0005677073.tif 000018
【図１８】
0005677073.tif 000019