以下、図面を参照して、本発明の実施形態を詳細に説明する。
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
[第1の実施形態]
以下、本発明の第1の実施形態について説明する。
<図1の説明>
図1は、本発明の実施形態に係る情報処理システムの構成を示す図である。
図1に示す情報処理システムは、閲覧者端末101A、撮影者端末101B、Webアプリケーションサーバ103がそれぞれネットワーク100を介して相互に通信可能に接続されているシステムである。
Webアプリケーションサーバ103は、ファイルサーバ102とデータベースサーバ104と通信可能に接続されている。
図1の例では、ファイルサーバ102、Webアプリケーションサーバ103、データベースサーバ104をそれぞれ別の筐体の情報処理装置として記載しているが、これらのサーバを、ファイルサーバ102、Webアプリケーションサーバ103、データベースサーバ104の機能をまとめて備えたサーバ105とすることができる。その場合、サーバ105は、閲覧者端末101Aと、撮影者端末101Bと、ネットワーク100を介して相互に通信可能に接続されている。
ネットワーク100は、有線、又は無線のネットワークであり、例えばインターネットのネットワークである。
閲覧者端末101A、撮影者端末101Bは、スマートフォンやタブレットPCなどの可搬可能な携帯端末や、据え置き型のパソコンである。閲覧者端末101A、撮影者端末101Bは、本発明のクライアント端末の適用例である。
撮影者端末101Bは、カメラ等の撮像装置で写真を撮影するユーザ(撮影者)が操作する端末である。
撮影者端末101Bは、撮影者の操作により、当該撮影された写真の画像データを、撮影者端末101Bのメモリに記憶し、Webアプリケーションサーバ103に送信する機能を備えている。
Webアプリケーションサーバ103は、撮影者端末101Bから受信した1又は複数の画像データを、ファイルサーバ102に記憶させ、データベースサーバ104にその記憶された場所(格納先)の情報と共に当該撮影者を識別するための情報を記憶させる。
図1の例では、撮影者端末101Bは、1台しか記載していないが、複数台あってもよい。その場合、複数のユーザが使用することもできる。
また、撮影者端末101Bは、カメラ等の撮像装置で写真を撮影するユーザ(撮影者)が操作する端末として機能するだけではなく、ファイルサーバ102に記憶された画像データを閲覧するユーザ(閲覧者)が操作する端末としても機能する端末である。
また、閲覧者端末101Aは、ファイルサーバ102に記憶された画像データを閲覧するユーザ(閲覧者)が操作する端末である。
閲覧者端末101Aは、撮影者の操作により、ファイルサーバ102に記憶された画像データをWebアプリケーションサーバ103から取得する機能を備えている。
図1の例では、閲覧者端末101Aは、1台しか記載していないが、複数台あってもよい。その場合、複数のユーザが使用することもできる。
また、閲覧者端末101Aは、ファイルサーバ102に記憶された画像データを閲覧するユーザ(閲覧者)が操作する端末として機能するだけではなく、カメラ等の撮像装置で写真を撮影するユーザ(撮影者)が操作する端末として機能する端末である。
本実施形態では、閲覧者端末101Aを操作するユーザと、撮影者端末101Bを操作するユーザとがそれぞれ異なるユーザであることを前提にして説明する。
ファイルサーバ102は、写真などの画像データをメモリに記憶する装置である。
Webアプリケーションサーバ103は、(1)ファイルサーバ102に記憶された画像データをWeb上で公開するWebサービス、(2)カメラやレンズ等のネットショッピングを提供するWebサービス、(3)よりよい写真を撮るためのカメラの操作方法などを学習するための研修の申し込みをWebサイトで受け付けるWebサービスを提供するWebアプリケーションサーバである。
データベースサーバ104は、Webアプリケーションサーバ103による各Webサービスを提供するために用いられる各種データを記憶したデータベースサーバである。
本実施の形態では、説明を簡単にするために、ファイルサーバ102、Webアプリケーションサーバ103、データベースサーバ104を、ファイルサーバ102、Webアプリケーションサーバ103、データベースサーバ104の機能を全て備えたサーバ105とした場合について説明する。サーバ105は、本発明の情報処理装置の適用例である。
なお、図1のネットワーク100上に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
<図2の説明>
以下、図2を用いて、図1に示した閲覧者端末101A、撮影者端末101B、サーバ105(ファイルサーバ102、Webアプリケーションサーバ103、データベースサーバ104)に適用可能な情報処理装置のハードウェア構成について説明する。
図2は、図1に示した閲覧者端末101A、撮影者端末101B、サーバ105(ファイルサーバ102、Webアプリケーションサーバ103、データベースサーバ104)に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード(KB209)や不図示のマウス等のポインティングデバイス等の入力装置からの入力を制御する。206はビデオコントローラで、液晶ディスプレイ等のディスプレイ210への表示を制御する。なお、210のディスプレイは、タッチパネルになっており、ディスプレイ上の画面を押下されることにより操作することが可能な入力装置としても機能する。
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
<図6、7の説明>
図6、図7は、サーバ105(データベースサーバ104)のメモリに記憶されている各データテーブルの一例を示す図である。
図6の600は、顧客情報テーブルの一例を示す図である。
顧客情報テーブル600は、ユーザ識別CD(ユーザ識別コード)、氏名、パスワードの項目から構成されている。
ユーザ識別CDは、ユーザを識別するためのユーザ識別情報であり、ユーザIDに相当するデータである。また、氏名は、当該ユーザの氏名が記憶されており、パスワードは、当該ユーザ識別情報に対応するパスワードである。
顧客情報テーブル600の例では、ユーザ識別CDが1001で識別されるユーザの氏名はAであり、パスワードが123であることを示している。
本実施の形態では、ユーザ識別CDが1001のユーザが撮影者であり、ユーザ識別CDが1002のユーザが閲覧者であるものとして説明する。
図6の601は、保有機種テーブルの一例を示す図である。
保有機種テーブル601は、ユーザ識別CD(ユーザ識別コード)、商品コードの項目から構成されている。ここで、商品コードは、商品を識別するための情報である。
保有機種テーブル601の例では、ユーザ識別CDが1001で識別されるユーザは、商品コードがC001、C100、L001の商品コードで識別される商品(製品)を保有(所持)していることを示している。
保有機種テーブル601、及び、後述する商品マスタテーブル602は、本発明の、写真の撮像に用いる機材であってユーザが保有している機材を示す第1の機材情報の適用例である。
次に、図6の602は、商品マスタテーブルの一例を示す図である。
商品マスタテーブル602は、商品コード、製品名、製品グループ、製品グレードの項目から構成されている。
製品名は、商品コードにより識別される商品の名称であり、製品グループは、当該商品コードにより識別される商品が属する製品のグループであり、製品グレードは、商品コードにより識別される商品(製品)のグレードを示す情報である。
図6の商品マスタテーブル602の製品グレードは、1と2の値が記憶されているが、1の値よりも2の値の方が製品としてのグレードが高いことを示している。
商品マスタテーブル602の例では、商品コードがC001で識別される商品(製品)の製品名がカメラAであり、カメラAは、製品グループがカメラAグループに属する製品であることを示し、製品グレードが1であることを示している。
そして、製品グループがカメラAグループの製品は、カメラAとカメラA´とがあり、製品グレードが1であるカメラAよりも、製品グレードが2であるカメラA´の方が、製品グレードが高いことを示している。
図7の701は、カメラ講座受講履歴テーブルの一例を示す図である。
カメラ講座受講履歴テーブル700は、ユーザ識別CD、講座IDの項目から構成されている。
講座IDは、講座を識別するための情報である。
カメラ講座受講履歴テーブル700の例では、ユーザ識別CDが1001のユーザは、講座IDが1001、1002、1003で識別される3つの講座を受講済みであることを示している。
図7に示す701は、カメラ講座情報テーブルである。
カメラ講座情報テーブル701は、講座ID、講座タイトル、申込期間(From)、申込期間(To)、講座カテゴリの項目から構成されている。
図7に示すカメラ講座情報テーブル701の例では、講座IDが1001で識別される講座のタイトルが講座Aであり、この講座Aの申込期間が、2010年1月1日から2010年3月1日までであり、この講座Aのカテゴリ(分野)がAであることを示している。
図7に示す702は、指定メーカテーブルの一例を示す図である。
指定メーカテーブル702は、メーカCD(メーカコード)、メーカ名から構成される。
メーカCDは、メーカを識別するための情報であり、メーカ名は、当該メーカCDにより識別されたメーカの名称を示す。
指定メーカテーブル702は、メーカCD(1000)により識別されるメーカ名は、メーカAであることを示す
図7に示す703は、写真情報テーブルの一例を示す図である。
図7に示す写真情報テーブル703は、写真ID、ユーザ識別CD、メーカ名、機種名、レンズ名、保存パスの項目から構成されている。ここで、写真IDは、写真を識別するための情報である。
図7に示す写真情報テーブル703の例では、写真IDが100で識別される写真は、ユーザ識別CDが1001で識別されるユーザが、メーカ名がメーカAで機種名がカメラAのカメラにレンズA(レンズ名)のレンズを装着して撮影した写真であり、その写真は保存パス(ファイルパス)であるAAA/BBBに記憶されている。ここで保存パスは、当該写真がファイルサーバ102に格納された格納先を示す格納先情報である。
図7に示す写真情報テーブル703の「メーカ名」、「機種名」、「レンズ名」は、写真の撮像に用いられた機材を示す第2の機材情報の適用例である。
図6に示す顧客情報テーブル600、商品マスタテーブル602、図7に示すカメラ講座情報テーブル701、指定メーカテーブル702は、予めシステム管理者により、サーバ105(データベースサーバ104)のメモリに登録されているものとする。
また、図7に示す写真情報テーブル703は、図9に示す処理が実行されることにより、サーバ105(データベースサーバ104)のメモリに登録される。
また、図6に示す保有機種テーブル601、図7に示すカメラ講座受講履歴テーブル700は、図10に示す処理を実行することにより、サーバ105(データベースサーバ104)のメモリに登録される。
<図9の説明>
ここで、図9を用いて、撮影者端末101B、及び/又は閲覧者端末101Aからサーバ105に画像データを登録する一連の処理について説明する。
図9は、撮影者端末101B、及び/又は閲覧者端末101Aからサーバ105に画像データを登録する登録処理を示すシーケンスの一例を示す図である。
撮影者端末101B、及び/又は閲覧者端末101Aは、まず、ユーザにより、ユーザ識別CD(ユーザIDとも言う)、パスワードの入力を受け付け、当該入力を受け付けたユーザ識別CD、パスワードをサーバ105(Webアプリケーションサーバ103)に送信する(ステップS901)。
そして、サーバ105(Webアプリケーションサーバ103)は、撮影者端末101B、及び/又は閲覧者端末101Aから、ユーザ識別CD、パスワードを受信すると、当該受信したユーザ識別CD、パスワードが、図6の顧客情報テーブル600に登録されているか否かを判定することにより、ユーザの認証処理を実行する(ステップS902)。
そして、サーバ105(Webアプリケーションサーバ103)は、当該受信したユーザ識別CD、パスワードが、図6の顧客情報テーブル600に登録されていると判定された場合(ユーザの認証処理が成功した場合)には、サーバ105に画像データをアップロードするための画像データアップロード画面(不図示)を、撮影者端末101B、及び/又は閲覧者端末101Aに送信する(ステップS903)。一方、ユーザの認証処理が失敗した場合には、ステップS902よりも後の処理は実行しない。
撮影者端末101B、及び/又は閲覧者端末101Aは、サーバ105から、画像データアップロード画面を受信すると、当該画像データアップロード画面を表示部に表示し、ユーザによる操作を受け付ける。ここでユーザにより受け付ける操作は、サーバ105にアップロードする画像データの選択、及び送信指示である。
撮影者端末101B、及び/又は閲覧者端末101Aは、ユーザにより、画像データアップロード画面を介して、アップロードする画像データの選択を受け付け、送信指示を受け付けると、当該選択された画像データをサーバ105に送信する(ステップS904)。
サーバ105は、撮影者端末101B、及び/又は閲覧者端末101Aから画像データを受信すると、当該画像データをサーバ105のメモリ(ファイルサーバ102のメモリ)に登録し記憶する。その際、サーバ105は、当該画像データを一意に識別する写真IDを生成して、当該受信した画像データ(写真のデータ)中のExif情報に含まれているデータ(カメラのメーカ名、カメラの機種名、撮影に用いたレンズ名など)を取得する。すなわち、ここで取得されるデータは、写真の撮像に用いられた機材を示す第2の機材情報の適用例であり、画像データのExif情報の一部として当該画像データに含まれている情報である。
そして、サーバ105は、当該生成した写真IDと、及びステップS902でユーザの認証処理が成功したユーザ識別CDと、当該Exif情報から取得したデータ(カメラのメーカ名、カメラの機種名、撮影に用いたレンズ名など)と、サーバ105のメモリ(ファイルサーバ102のメモリ)に当該画像データを登録(保存)したパス(保存パス)と、をそれぞれ関連付けて、図7の写真情報テーブル703に新規に登録して図7の写真情報テーブル703を更新する(ステップS905)。本実施形態におけるサーバ105のメモリは、本発明の記憶手段の適用例である。
このようにして、画像データがサーバ105に登録されると共に、当該画像データに含まれているデータ(当該画像データを撮影するために用いられたカメラやレンズ等の機材(物品)を示すデータ)を登録することができる。
<図10の説明>
次に、図10を用いて、撮影者端末101B、及び/又は閲覧者端末101Aからサーバ105に、ユーザが保有しているカメラやレンズなどの機材を示す情報、当該ユーザが過去に受講したことのあるカメラ講座を示す情報を登録する一連の処理について説明する。
図10は、撮影者端末101B、及び/又は閲覧者端末101Aからサーバ105にユーザが保有しているカメラやレンズなどの機材を示す情報、当該ユーザが過去に受講したことのあるカメラ講座を示す情報を登録する登録処理を示すシーケンスの一例を示す図である。
ステップS901、S902は、図9に示した処理と同様であるため、ここでは説明を省略する。
サーバ105(Webアプリケーションサーバ103)は、ユーザの認証処理が成功した場合には、ユーザが保有しているカメラやレンズなどの機材を示す情報、当該ユーザが過去に受講したことのあるカメラ講座を示す情報を登録するための登録画面(不図示)を、撮影者端末101B、及び/又は閲覧者端末101Aに送信する(ステップS1001)。
そして、撮影者端末101B、及び/又は閲覧者端末101Aは、当該送信された登録画面を受信して表示部に当該登録画面を表示する。
撮影者端末101B、及び/又は閲覧者端末101Aは、当該登録画面を介して、ユーザの操作により、当該ユーザが保有しているカメラやレンズなどの機材を示す情報、及び、当該ユーザが過去に受講したことのあるカメラ講座を示す情報の入力を受け付ける。
当該ユーザが保有しているカメラやレンズなどの機材を示す情報の入力を受け付け方法としては、ユーザの操作で入力するだけではなく、例えば、カメラ等の機材とUSBケーブルで撮影者端末101B、及び/又は閲覧者端末101Aと接続して、当該機材から、撮影者端末101B、及び/又は閲覧者端末101Aに対して、当該機材を示す情報を送信することで、当該機材を示す情報の入力を受け付けることもできる。
次に、撮影者端末101B、及び/又は閲覧者端末101Aは、当該登録画面を介して、ユーザの操作による登録指示を受け付けると、当該入力された情報をサーバ105に送信して登録要求を行う(ステップS1002)。
次に、サーバ105は、撮影者端末101B、及び/又は閲覧者端末101Aから、登録画面を介して入力されたデータ(ユーザが保有しているカメラやレンズなどの機材を示す情報、及び、当該ユーザが過去に受講したことのあるカメラ講座を示す情報)を受信すると、当該データから、ユーザが保有している機材(商品)を識別する商品コードと、ステップS902でユーザの認証処理が成功したユーザ識別CDとを紐付けて、図6に示す保有機種テーブル601に登録して更新する。また、ユーザが過去に受講したことのあるカメラ講座を示す情報から当該カメラ講座を識別する講座IDと、ステップS902でユーザの認証処理が成功したユーザ識別CDとを紐付けて、図7に示すカメラ講座受講履歴テーブル700に登録して更新する(ステップS1003)。
<図3の説明>
次に、図3を用いて、ユーザに公開されている画像データの撮像に当該ユーザに不足している物品(撮影機材)に係る情報、及び/又は当該ユーザが受講すべき講座の情報を通知(表示)する処理について説明する。
図3は、ユーザに公開されている画像データの撮像に当該ユーザに不足している物品(撮影機材)に係る情報、及び/又は当該ユーザが受講すべき講座の情報を通知(表示)する処理を示すフローチャートの一例を示す図である。
図3に示すフローチャートにおける各ステップは、サーバ105のCPUがプログラムを読み出して実行することにより実現される。
まず、閲覧者端末101Aは、サーバ105に対して、ログイン画面(不図示)の取得要求を行う。当該取得要求に応答して、サーバ105は、ログイン画面を閲覧者端末101Aに送信する。
閲覧者端末101Aは、サーバ105から取得したログイン画面を表示し、当該表示されたログイン画面を介してユーザ識別CD(ユーザID)、及びパスワードの入力を受け付ける。
そして、閲覧者端末101Aは、当該入力されたユーザ識別CD(ユーザID)、及びパスワードをサーバ105に送信する。
そして、サーバ105は、閲覧者端末101Aから送信されたユーザ識別CD(ユーザID)、及びパスワードを受信し、当該受信したユーザ識別CD(ユーザID)、及びパスワードが、図6に示す顧客情報テーブル600に登録されているか否かを判定することにより、ユーザの認証処理を実行する(ステップS3001)。
そして、サーバ105は、当該受信したユーザ識別CD(ユーザID)、及びパスワードが、図6に示す顧客情報テーブル600に登録されていると判定された場合には(ユーザの認証処理が成功したと判定された場合には)、ステップS3002以降の処理を実行する。
一方、サーバ105は、当該受信したユーザ識別CD(ユーザID)、及びパスワードが、図6に示す顧客情報テーブル600に登録されていないと判定された場合には(ユーザの認証処理が失敗したと判定された場合には)、ステップS3002以降の処理を実行しない。
次に、サーバ105は、ユーザの認証処理に成功した場合、図8に示すお気に入り写真選択画面を表示するデータを、閲覧者端末101Aに送信する(ステップS3002)。そして、閲覧者端末101Aは、当該データをサーバ105から受信すると、当該データに従って、図8に示すお気に入り写真選択画面を表示する。
図8は、閲覧者端末101Aの表示部に表示されるお気に入り写真選択画面800の一例を示す図である。
図8に示す801は、サーバ105(ファイルサーバ102)に登録されている写真の画像データの表示領域である。
表示領域801に表示された写真の画像データは、図7の写真情報テーブル703の各写真IDにより識別される画像データ(写真のデータ)が表示されている。
すなわち、表示領域801に表示された写真の画像データは、撮影者端末101Bを操作しているユーザが撮影した写真の画像データが含まれている。さらに、表示領域801に表示された写真の画像データには、閲覧者端末101Aを操作しているユーザが撮影した写真の画像データを含めることができる。
ステップS3002において、サーバ105は、図8に示すお気に入り写真選択画面を表示するデータを、閲覧者端末101Aに送信しているが、このデータには、図7の写真情報テーブル703の各写真IDにより識別される画像データ(写真のデータ)が含まれている。
すなわち、サーバ105が、ステップS3002において、図7の写真情報テーブル703の写真IDに紐付いて登録されている保存パスに格納されている写真の画像データを取得して、当該画像データを、図8に示すお気に入り写真選択画面を表示するデータに含めて閲覧者端末101Aに送信している。
ここでは、サーバ105が複数の写真の画像データを記憶しており、複数の写真の画像データを示す情報をクライアント端末に表示するべく送信している(画像データ送信手段:S3002)。
図8の802は、「お気に入りの写真を撮るには」ボタンである。
図8の803は、表示領域801に表示された各写真の画像データの中から、ユーザにより1つの画像データの選択を受け付け、ユーザにより「お気に入りの写真を撮るには」ボタン802が押下された場合に表示される表示領域である。
この表示領域803には、閲覧者端末101Aを操作しているユーザ(閲覧者)が保有しているカメラやレンズ等の機材のリスト、受講済みの講座のリストと、表示領域801に表示された各写真の画像データの中からユーザにより選択された画像データの撮影に使用されたカメラやレンズなどの機材のリスト、当該画像データを撮影したユーザが受講済みの講座のリストとがそれぞれ対比して表示される。また、表示領域803の下部には、表示領域801に表示された各写真の画像データの中からユーザにより選択された画像データの撮影に閲覧者に、不足している機材(物品)、及び/又は当該ユーザが受講すべき講座が表示される。
ステップS3002においてサーバ105から閲覧者端末101Aに送信されたお気に入り写真選択画面(図8)を表示するデータを閲覧者端末101Aが受信すると、閲覧者端末101Aは、当該データに従ってお気に入り写真選択画面(図8)を表示するが、このとき表示されるお気に入り写真選択画面(図8)の表示領域803には何も表示されていない。
次に、閲覧者端末101Aは、表示部に表示されたお気に入り写真選択画面800の表示領域801に表示された各写真の画像データの中から1つの画像データの選択をユーザにより受け付け、「お気に入りの写真を撮るには」ボタン802がユーザにより押下されると、当該選択された画像データを識別する写真IDをサーバ105に送信する。
すなわち、表示領域801に表示される各写真の画像データに対応したそれぞれの写真IDも、ステップS3002でサーバ105から閲覧者端末101Aに送信されているため、ここで、閲覧者端末101Aが、当該選択された画像データを識別する写真IDをサーバ105に送信することができる。
次に、サーバ105は、ユーザにより選択された画像データを識別する写真ID(例えば、写真IDが100)を受信する(受け付ける)ことにより、閲覧者によるお気に入り写真の選択を受け付ける(ステップS3003)。
ステップS3003は、ステップS3002(画像データ送信手段)により送信された複数の写真の画像データを示す情報の中から、ユーザの操作による選択結果を受け付ける(受付手段)。
そして、サーバ105は、ステップS3003で受信した写真IDに関連付けられて写真情報テーブル703に記憶されたExif情報(カメラのメーカ名(例えば、メーカA)、カメラの機種名(例えば、カメラA)、撮影に用いたレンズ名(例えば、レンズA))を取得する。
すなわち、サーバ105は、ステップS3003で受信した写真IDにより識別される写真の画像データのExif情報(写真情報テーブル703の「メーカ名」、「機種名」、「レンズ名」)を取得する(ステップS3004)。このようにして、サーバ105は、閲覧者により選択された写真の撮影に用いられた機材(物品)の情報を取得することができる。
次に、サーバ105は、ステップS3003で受信した写真IDに関連付けられて写真情報テーブル703に記憶されたユーザ識別CD(例えば、1001)を写真情報テーブル703から取得して、当該取得したユーザ識別CDに関連付けてカメラ講座受講履歴テーブル700に登録された講座ID(例えば、1001、1002、1003)をカメラ講座受講履歴テーブル700から取得する。このようにして、サーバ105は、閲覧者により選択された写真の撮影者が受講した講座の講座IDを取得することができる。
そして、サーバ105は、ここで取得した講座IDに関連付けてカメラ講座情報テーブル701に登録されているレコード(「講座ID」、「講座タイトル」、「申込期間(From)」、「申込期間(To)」、「講座カテゴリー」)をカメラ講座情報テーブル701から取得する。このようにして、サーバ105は、閲覧者により選択された写真の撮影者が受講した講座の講座ID、講座タイトル(講座名)(例えば、講座A、講座B、講座C)などを取得することができる(ステップS3005)。
次に、サーバ105は、閲覧者端末101Aを操作しているユーザ(閲覧者)の認証処理(ステップS3001)を行う際に閲覧者端末101Aから受信したユーザ識別CD(例えば、1002)に対応して保有機種テーブル601に登録されている商品コード(例えば、C001、C002、C003、L002、L003)を保有機種テーブル601から取得する。そして、当該取得した商品コードに関連付けて商品マスタテーブル602に登録されているレコード(「商品コード」、「製品名」(機種名とも言う)、「製品グループ」、「製品グレード」)を商品マスタテーブル602から取得する。
このようにして、サーバ105は、閲覧者端末101Aを操作しているユーザ(閲覧者)が保有しているカメラやレンズ等の機材(物品)の情報を取得することができる。
次に、サーバ105は、閲覧者端末101Aを操作しているユーザ(閲覧者)の認証処理(ステップS3001)を行う際に閲覧者端末101Aから受信したユーザ識別CD(例えば、1002)に対応してカメラ講座受講履歴テーブル700に登録されている講座ID(例えば、1101、1002、1004)をカメラ講座受講履歴テーブル700から取得する。
そして、サーバ105は、ここで取得した講座IDに関連付けてカメラ講座情報テーブル701に登録されているレコード(「講座ID」、「講座タイトル」、「申込期間(From)」、「申込期間(To)」、「講座カテゴリー」)をカメラ講座情報テーブル701から取得する。このようにして、サーバ105は、閲覧者端末101Aを操作しているユーザ(閲覧者)が受講した講座の講座ID、講座タイトル(講座名)(例えば、講座A´、講座B、講座D)などを取得することができる(ステップS3006)。
次に、サーバ105は、ステップS3004で取得した、カメラのメーカ名(例えば、メーカA)、カメラの機種名(例えば、カメラA)、撮影に用いたレンズ名(例えば、レンズA)の機材(物品)の情報と、ステップS3006で取得した商品マスタテーブル602のレコードに含まれる「製品名」(機種名(例えば、カメラA、カメラB、カメラC)、レンズ名(レンズB、レンズC))に従って、閲覧者により選択された写真の画像データの撮影に閲覧者が不足している機材(物品)が何で、どのような機材を用いて撮影したらよいかを表示領域803に表示する処理を実行する(ステップS3007)。
ステップS3007の詳細処理は、図4を用いて、後で説明する。
次に、サーバ105は、ステップS3005で取得した講座ID、講座タイトル(講座名)(例えば、講座A、講座B、講座C)と、ステップS3006で取得した講座ID、講座タイトル(講座名)(例えば、講座A´、講座B、講座D)とに従って、閲覧者により選択された写真の画像データを撮影するために閲覧者がどのような講座を受講すべきかを表示領域803に表示する処理を実行する(ステップS3008)。
ステップS3008の詳細処理は、図5を用いて、後で説明する。
次に、サーバ105は、閲覧者端末101Aから、閲覧者により指示により送信されるログアウト要求を受信したか否かを判定し、ログアウト要求を受信した場合には、ログアウト処理を実行して(ステップS3010)、処理を終了する。一方、ログアウト要求を受信していない場合には、処理をステップS3002に戻す。
<図4の説明>
次に、図4を用いて、図3のステップS3007の詳細処理について説明する。
図4は、図3のステップS3007の詳細処理を示すフローチャートの一例を示す図である。
図4に示すフローチャートにおける各ステップは、サーバ105のCPUがプログラムを読み出して実行することにより実現される。
まず、サーバ105は、ステップS3004で取得したカメラの「メーカ名」(例えば、メーカA)が、指定メーカテーブル702に登録されたメーカ名と同一であるか否かを判定する(ステップS4001)。
そして、サーバ105は、ステップS3004で取得したカメラの「メーカ名」(例えば、メーカA)が、指定メーカテーブル702に登録されたメーカ名と同一であると判定された場合には(YES)、処理をステップS4002に移行する。一方、同一ではないと判定された場合には(NO)、処理をステップS3009に移行する。
サーバ105は、ステップS4002からステップS4005では製品名がカメラのものを対象に処理を実行する。
サーバ105は、ステップS3004で取得した「機種名」(例えば、カメラA)の「製品グループ」(例えば、カメラAグループ)に属する機種のカメラ(機材)を閲覧者が所有しているかを判定する(ステップS4002)。
具体的には、サーバ105は、ステップS3004で取得した「機種名」(製品名とも言う)(例えば、カメラA)と関連付けられて商品マスタテーブル602に登録された「製品グループ」(例えば、カメラAグループ)を商品マスタテーブル602から取得し、当該取得された「製品グループ」(例えば、カメラAグループ)に関連付けられて商品マスタテーブル602に登録された全ての「製品名」(例えば、カメラA、カメラA´)を特定する。
そして、サーバ105は、ここで特定された「製品名」(例えば、カメラA、カメラA´)の中に、ステップS3006で取得された「製品名」(例えば、カメラA)と同一のものがあるか否かを判定することにより、撮影者が撮影したカメラの機種と同一の製品グループの機種のカメラを閲覧者が所有しているかを判定する(ステップS4002)。
サーバ105は、ここで特定された「製品名」(例えば、カメラA、カメラA´)の中に、ステップS3006で取得された「製品名」(例えば、カメラA)と同一のものがある(撮影者が撮影したカメラの機種と同一の製品グループの機種のカメラを閲覧者が所有している)と判定された場合には(YES)、処理をステップS4003に移行し、一方、同一のものが無い(撮影者が撮影したカメラの機種と同一の製品グループの機種のカメラを閲覧者が所有していない)と判定された場合には(NO)、処理をステップS4005に移行する。
サーバ105は、ステップS4003において、撮影者が撮影に用いたカメラ(機種)(例えば、カメラA)と同一の製品グレードのカメラ(機種)を閲覧者が保有しているかを判定する。または、サーバ105は、ステップS4003において、撮影者が撮影に用いたカメラ(機種)(例えば、カメラA)よりも、閲覧者が保有しているカメラ(機種)(例えば、カメラA)のほうが上位の製品グレードであるか否か判定する。
具体的には、サーバ105は、ステップS3004で取得した「機種名」(製品名とも言う)(例えば、カメラA)と関連付けられて商品マスタテーブル602に登録された「製品グレード」(例えば、1)と、ステップS4002で同一の製品グループの機種のカメラを閲覧者が所有していると判定された当該カメラの「製品名」(例えば、カメラA)が関連付けられて商品マスタテーブル602に登録された「製品グレード」(例えば、1)と、を比較することにより、撮影者が撮影に用いたカメラ(機種)(例えば、カメラA)と同一の製品グレードのカメラ(機種)を閲覧者が保有しているか、または、ステップS4003において、撮影者が撮影に用いたカメラ(機種)(例えば、カメラA)よりも、閲覧者が保有しているカメラ(機種)(例えば、カメラA)のほうが上位の製品グレードであるかを判定する。
そして、サーバ105は、撮影者が撮影に用いたカメラ(機種)(例えば、カメラA)と同一の製品グレードのカメラ(機種)を閲覧者が保有している(製品グレードの値が同一)と判定された場合(YES)、または、撮影者が撮影に用いたカメラ(機種)(例えば、カメラA)よりも、閲覧者が保有しているカメラ(機種)(例えば、カメラA)のほうが上位の製品グレードである(撮影者が撮影に用いたカメラの製品名の製品グレードの値よりも、閲覧者が保有しているカメラの製品名の製品グレードの値の方が大きな値である)と判定された場合には(YES)、当該製品グレードの値が同一、または当該大きな値であると判定された、閲覧者が保有しているカメラの製品名(例えば、カメラA)を、「お持ちの**をご使用ください」というテンプレートの変数部分「**」に代入して、表示領域803に表示するため表示情報(HTMLなど)を生成する(ステップS4004)。
一方、サーバ105は、ステップS4003において、撮影者が撮影に用いたカメラ(機種)と同一の製品グレードのカメラ(機種)を閲覧者が保有しておらず(製品グレードの値が同一ではない)、撮影者が撮影に用いたカメラ(機種)よりも、閲覧者が保有しているカメラ(機種)のほうが下位の製品グレードである(撮影者が撮影に用いたカメラの製品名の製品グレードの値よりも、閲覧者が保有しているカメラの製品名の製品グレードの値の方が小さな値である)と判定された場合には(YES)、撮影者が撮影に用いたカメラの製品名を、「**で撮影されています」というテンプレートの変数部分「**」に代入して、表示領域803に表示するため表示情報(HTMLなど)を生成する(ステップS4005)。
本実施例では、閲覧者が「製品グループ」(例えば、カメラAグループ)に属する製品を所有し、この製品の製品グレードが、撮影者が撮影で用いた製品の製品グレードと同じであるため、「お持ちのカメラAをご使用ください。」と表示するための表示情報が生成される。
次に、サーバ105は、ステップS4006からステップS4009では製品名がレンズのものを対象に処理を実行する。
サーバ105は、ステップS3004で取得した「機種名」(例えば、レンズA)の「製品グループ」(例えば、レンズAグループ)に属する機種のレンズ(機材)を閲覧者が所有しているかを判定する(ステップS4006)。
具体的には、サーバ105は、ステップS3004で取得した「機種名」(製品名とも言う)(例えば、レンズA)と関連付けられて商品マスタテーブル602に登録された「製品グループ」(例えば、レンズAグループ)を商品マスタテーブル602から取得し、当該取得された「製品グループ」(例えば、レンズAグループ)に関連付けられて商品マスタテーブル602に登録された全ての「製品名」(例えば、レンズA)を特定する。
そして、サーバ105は、ここで特定された「製品名」(例えば、レンズA)の中に、ステップS3006で取得された「製品名」(例えば、レンズA)と同一のものがあるか否かを判定することにより、撮影者が撮影に用いたレンズと同一の製品グループのレンズを閲覧者が所有しているかを判定する(ステップS4006)。
サーバ105は、ここで特定された「製品名」(例えば、レンズA)の中に、ステップS3006で取得された「製品名」(例えば、レンズA)と同一のものがある(撮影者が撮影に用いたレンズと同一の製品グループのレンズを閲覧者が所有している)と判定された場合には(YES)、処理をステップS4007に移行し、一方、同一のものが無い(撮影者が撮影に用いたレンズと同一の製品グループのレンズを閲覧者が所有していない)と判定された場合には(NO)、処理をステップS4009に移行する。
サーバ105は、ステップS4007において、撮影者が撮影に用いたレンズ(機種)(例えば、レンズA)と同一の製品グレードのレンズ(機種)を閲覧者が保有しているかを判定する。または、サーバ105は、ステップS4007において、撮影者が撮影に用いたレンズ(機種)(例えば、レンズA)よりも、閲覧者が保有しているレンズ(機種)(例えば、レンズA)のほうが上位の製品グレードであるか否か判定する。
具体的には、サーバ105は、ステップS3004で取得した「機種名」(製品名とも言う)(例えば、レンズA)と関連付けられて商品マスタテーブル602に登録された「製品グレード」(例えば、1)と、ステップS4006で同一の製品グループの機種のレンズを閲覧者が所有していると判定された当該レンズの「製品名」(例えば、レンズA)が関連付けられて商品マスタテーブル602に登録された「製品グレード」(例えば、1)と、を比較することにより、撮影者が撮影に用いたレンズ(機種)(例えば、レンズA)と同一の製品グレードのレンズ(機種)を閲覧者が保有しているか、または、ステップS4007において、撮影者が撮影に用いたレンズ(機種)(例えば、レンズA)よりも、閲覧者が保有しているカメラ(機種)(例えば、レンズA)のほうが上位の製品グレードであるかを判定する。
そして、サーバ105は、撮影者が撮影に用いたレンズ(機種)(例えば、レンズA)と同一の製品グレードのレンズ(機種)を閲覧者が保有している(製品グレードの値が同一)と判定された場合(YES)、または、撮影者が撮影に用いたレンズ(機種)(例えば、カメラA)よりも、閲覧者が保有しているレンズ(機種)(例えば、レンズA)のほうが上位の製品グレードである(撮影者が撮影に用いたレンズの製品名の製品グレードの値よりも、閲覧者が保有しているレンズの製品名の製品グレードの値の方が大きな値である)と判定された場合には(YES)、当該製品グレードの値が同一、または当該大きな値であると判定された、閲覧者が保有しているレンズの製品名(例えば、レンズA)を、「お持ちの**をご使用ください」というテンプレートの変数部分「**」に代入して、表示領域803に表示するため表示情報(HTMLなど)を生成する(ステップS4008)。
一方、サーバ105は、ステップS4007において、撮影者が撮影に用いたレンズ(機種)と同一の製品グレードのレンズ(機種)を閲覧者が保有しておらず(製品グレードの値が同一ではない)、撮影者が撮影に用いたレンズ(機種)よりも、閲覧者が保有しているレンズ(機種)のほうが下位の製品グレードである(撮影者が撮影に用いたレンズの製品名の製品グレードの値よりも、閲覧者が保有しているレンズの製品名の製品グレードの値の方が小さな値である)と判定された場合には(YES)、撮影者が撮影に用いたレンズの製品名を、「**で撮影されています。」というテンプレートの変数部分「**」に代入して、表示領域803に表示するため表示情報(HTMLなど)を生成する(ステップS4009)。
本実施例では、閲覧者が「製品グループ」(例えば、レンズAグループ)に属するレンズを所有していない為、「レンズAで撮影されています。」と表示するための表示情報が生成される。
このようにして、閲覧者が選択した写真の画像データを撮影するためには、レンズAを購入した方が良いことを閲覧者に把握させることが可能となる。
本実施の形態では、ステップS4005、及びステップS4009において、「**で撮影されています。」というテンプレートを用いたが、代わりに、「**を新規購入して撮影する必要があります。」というテンプレートを用いることもできる。
サーバ105は、ステップS4008、又はS4009の処理を実行すると、処理をステップS3008に移行する。
本実施形態におけるステップS4002、S4003、S4006、S4007は、第1の機材情報、及び第2の機材情報に従って、当該画像データの写真を撮像するために用いるべき、当該ユーザが保有していない機材を特定する本発明の特定手段の適用例である。この特定手段は、上述の通り、記憶手段に記憶された第2の機材情報に示される機材のうち、第1の機材情報に示される機材に含まれていない機材を、画像データの写真を撮像するために用いるべき、ユーザが保有していない機材として特定する。
また、本実施形態におけるステップS4002、S4003、S4006、S4007では、第1の機材情報、及び第2の機材情報に従って、選択された画像データの写真を撮像するために用いるべき、閲覧者が保有している機材を特定している(保有機材特定手段)。
<図5の説明>
次に、図5を用いて、図3のステップS3008の詳細処理について説明する。
図5は、図3のステップS3008の詳細処理を示すフローチャートの一例を示す図である。
図5に示すフローチャートにおける各ステップは、サーバ105のCPUがプログラムを読み出して実行することにより実現される。
まず、サーバ105は、ステップS3005で取得した、撮影者が受講した講座の講座名(例えば、講座A、講座B、講座C)と、ステップS3006で取得した、閲覧者が受講した講座の講座名(例えば、講座A´、講座B、講座D)とを比較して、撮影者が受講済みの講座を全て閲覧者が受講しているか否かを判定する(ステップS5001)。
ステップS5001では、撮影者が受講した講座の講座名と、ステップS3006で取得した、閲覧者が受講した講座の講座名とを比較したが、撮影者が受講した講座の講座カテゴリーと、ステップS3006で取得した、閲覧者が受講した講座の講座カテゴリーとを比較して、撮影者が受講済みの講座の講座カテゴリーと同一の講座カテゴリーの講座を全て閲覧者が受講しているか否かを判定することもできる。そして、撮影者が受講済みの講座の講座カテゴリーと同一の講座カテゴリーの講座を全て閲覧者が受講していると判定された場合には、撮影者が受講済みの講座を全て閲覧者が受講しているものと判定する。
そして、サーバ105は、撮影者が受講済みの講座を全て閲覧者が受講していると判定された場合には、処理をステップS5006に移行する。
一方、サーバ105は、撮影者が受講済みの講座を全て閲覧者が受講していないと判定された場合には、当該閲覧者が受講していないが、撮影者は受講済みの講座の講座名、又は講座IDを含むカメラ講座情報テーブル701のレコードの「申込期間(From)」と「申込期間(To)」に示される値(申込期間)が現在日時を含んでいるか、現在日時よりも過ぎていないかを判定することにより、当該講座に申込ができるか否か(現在開催しているか)を判定する(ステップS5002)。
そして、サーバ105は、ステップS5002で、当該講座に申込ができる(現在日時を含んでいる、又は申込期間が過ぎていない)と判定した場合には(YES)、処理をステップS5003に移行し、一方、当該講座に申込ができない(申込期間が過ぎている)と判定された場合には(NO)、処理をステップS5004に移行する。
また、サーバ105は、ステップS5003において、当該閲覧者が受講していないが、撮影者は受講済みの講座の講座名、又は講座IDを含むカメラ講座情報テーブル701のレコードの講座カテゴリーと同一の値を有し、「申込期間(From)」と「申込期間(To)」に示される値(申込期間)が、現在日時を含んでいるか、現在日時よりも過ぎていないカメラ講座情報テーブル701のレコードを、カメラ講座情報テーブル701から特定し、当該特定されたレコードに含まれる講座タイトル(講座名とも言う)を取得する。
また、サーバ105は、ステップS5004において、当該閲覧者が受講していないが、撮影者は受講済みの講座の講座名(当該講座に申込ができない(申込期間が過ぎている)講座)を、カメラ講座情報テーブル701から特定し取得する。
そして、サーバ105は、ステップS5005において、ステップS5003、又はステップS5004において取得された講座名を、「**の講座がお勧めです。」というテンプレートの変数部分「**」に代入して、表示領域803に表示するため表示情報(HTMLなど)を生成する。
そして、サーバ105は、表示領域803に、例えば、図8に示すお気に入り写真選択画面の表示領域803を表示するための表示情報を生成して、閲覧者端末101Aに送信する(ステップS5006)。ステップS5006は、特定手段による特定結果をクライアント端末に表示するべく送信する送信手段の適用例である。
ステップS5006で生成される表示情報は、図8の803に示すように、ステップS3004、ステップS3005で取得された、撮影者が写真(閲覧者に選択された写真)の撮影に用いた機種名(カメラ名)、レンズ名、受講済み講座がリスト表示されるものである。
また、ステップS5006で生成される表示情報は、図8の803に示すように、ステップS3006で取得された、閲覧者が保有している機種名(カメラ名)、レンズ名、受講済み講座がリスト表示されるものである。
また、ステップS5006で生成される表示情報は、レコメンドとして、閲覧者が保有している機種名(カメラ名)、レンズ名、受講済み講座と、撮影者が写真(閲覧者に選択された写真)の撮影に用いた機種名(カメラ名)、レンズ名、受講済み講座とを対比して表示するように構成されている。
また、サーバ105は、閲覧者が保有しているカメラと、閲覧者が選択した写真の撮影に撮影者が用い保有しているカメラとを比べ、ステップS4002で「製品グループ」が同じで(YES)、ステップS4003で製品グレードが閲覧者の方が同等以上(同一でも良い)のカメラを保有していると判定された場合(YES)、表示領域803に対比して表示する、閲覧者が保有しているカメラ名と、閲覧者が選択した写真の撮影に撮影者が用い保有しているカメラ名との背景色をそれぞれ同色で表示するように、ステップS5006で表示情報を生成する。
また、サーバ105は、閲覧者が保有しているレンズと、閲覧者が選択した写真の撮影に撮影者が用い保有しているレンズとを比べ、ステップS4006で「製品グループ」が同じで(YES)、ステップS4007で製品グレードが閲覧者の方が同等以上(同一でも良い)と判定された場合(YES)、表示領域803に対比して表示する、閲覧者が保有しているレンズ名と、閲覧者が選択した写真の撮影に撮影者が用い保有しているレンズ名との背景色をそれぞれ同色で表示するように、ステップS5006で表示情報を生成する。
また、サーバ105は、撮影者のカメラ、レンズを閲覧者が保有していない、若しくは同じ「製品グループ」のカメラ、レンズを保有しているが、閲覧者のカメラ、レンズの方が低い製品グレードの場合、図8の803のように、撮影者のカメラ、レンズの背景色を変えて表示(反転表示)するように、ステップS5006で表示情報を生成する。
また、サーバ105は、ステップS3006で取得した、閲覧者が受講した講座の講座名と、当該閲覧者が選択した写真を撮影した撮影者が受講した講座の講座名とを比較して、それぞれの講座名が同じであるとステップS5001で判定された場合には、表示領域803に対比して表示する、閲覧者が受講した講座の講座名と、当該撮影者が受講した講座の講座名との背景色をそれぞれ同色で表示するように、ステップS5006で表示情報を生成する。
また、サーバ105は、撮影者が受講済みの講座を閲覧者が受講していない場合、図8の803のように、撮影者が受講済みの講座であって閲覧者が受講していない講座(未受講講座)の背景色を変えて表示(反転表示)するように、ステップS5006で表示情報を生成する。
このように、閲覧者は、図8の表示領域803を確認することで、閲覧者が選択した写真の画像データを撮影するために、カメラは、閲覧者が保有しているカメラAを使用しなければならないこと、レンズは、レンズAを新規購入する必要があり、そのレンズを使用しなければならないこと、講座Cを受講した方がよいことを、直感的に操作性よく直ぐに把握することが可能となる。
以上、本発明によれば、ユーザ(閲覧者)に公開されている画像データの撮像に当該ユーザに不足している物品に係る情報、及び/又は当該ユーザが受講すべき講座の情報を操作性よく直感的に直ぐに通知(レコメンド)することが出来る。
また、本発明によれば、表示領域803のように、閲覧者の機材、受講済みの講座と、選択された写真における撮影者の機材、受講済みの講座とを対比して識別表示するので、閲覧者が保有している機材により、選択された写真に近い撮影が可能か否かを通知(レコメンド)することもできるようになる。すなわち、ステップS5006では、保有機材特定手段により特定された機材と、特定手段により特定された機材とを識別可能にクライアント端末に表示するべく送信している。
[第2の実施形態]
以下、本発明の第2の実施形態について説明する。
第2の実施形態では、カレンダーを表示して、カレンダーで予定を登録すると、その予定の種別(カテゴリー)に該当する(同一カテゴリーの)写真の画像データを、図8に示すお気に入り写真選択画面800の801の領域に表示する仕組みを、第1の実施形態に追加するものである。
そこで、第2の実施形態では、第1の実施形態と同一な部分については、説明を省略して、異なる部分についてのみ説明する。
第1の実施形態では、図9に示すシーケンス処理により、撮影者端末101B、及び/又は閲覧者端末101Aから、サーバ105に、写真の画像データのアップロードを行うことを説明したが、第2の実施形態では、その画像データのアップロードする際に、その画像データの種別(カテゴリー)も登録することが出来る仕組みを提供する。
まず、第2の実施形態における、画像データのアップロードの処理について、図9を用いて説明する。
図9におけるステップS901、及びステップS902は、第1の実施形態と同一であるため、説明を省略する。
サーバ105(Webアプリケーションサーバ103)は、ステップS901で受信したユーザ識別CD、パスワードが、図6の顧客情報テーブル600に登録されていると判定された場合(ユーザの認証処理が成功した場合)には、サーバ105に画像データをアップロードするための画像データアップロード画面1501(図14)を、撮影者端末101B、及び/又は閲覧者端末101Aに送信する(ステップS903)。そして、撮影者端末101B、及び/又は閲覧者端末101Aは、画像データアップロード画面1501(図14)を受信して表示部に表示する。
図14は、撮影者端末101B、及び/又は閲覧者端末101Aから、サーバ105に画像データをアップロードするための画像データアップロード画面1501の一例を示す図である。
図14に示す画像データアップロード画面1501は、アップロードする画像ファイルが格納されている場所(パス)を入力する入力欄1502、及び、アップロードする画像ファイルが格納されている場所(パス)をGUIで指定する為の参照ボタン1503を有する。
撮影者は、入力欄1502、または、参照ボタン1503に対して操作することで、アップロードする画像ファイル(画像データ)が格納されている場所(パス)を入力することが可能である。
入力欄1502、または、参照ボタン1503では、1又は複数の画像データが格納されている場所(パス)を同時に指定することができる。
入力欄1502、または、参照ボタン1503で、入力された場所(パス)に格納された1又は複数の画像データに対して付与する種別(カテゴリー)の入力を受け付ける領域が1504である。
1504は、各種別(カテゴリー)を指定するラジオボタンが表示される。
1504に表示された各種別(カテゴリー)は、サーバ105のメモリに記憶された図11に示すカレンダーアイコンTABLE603に示される各アイコン名が、各種別(カテゴリー)として表示されている。
図11は、カレンダーアイコンTABLE603の一例を示す図である。
図11に示すカレンダーアイコンTABLE603は、アイコンを識別する「アイコンCD」、及び当該アイコンの名称を示す「アイコン名」の項目から構成されている。
ここで、アイコンとは、種別(カテゴリー)を示す情報である。
例えば、図11の例では、種別(カテゴリー)として、旅行、運動会、誕生日、登山などが登録されている。
サーバ105は、メモリに登録されているカレンダーアイコンTABLE603の各アイコン名を図14の1504に表示する画像データアップロード画面を、ステップS903で、撮影者端末101B、及び/又は閲覧者端末101Aに送信している。
撮影者は、画像データアップロード画面1501の入力欄1502、または、参照ボタン1503を操作し、撮影者端末101B、及び/又は閲覧者端末101Aは、アップロードする画像ファイル(画像データ)が格納されている場所(パス)の入力を受け付ける。
そして、撮影者は、1504に表示されている各種別の中から1つの種別を指定する。撮影者端末101B、及び/又は閲覧者端末101Aは、撮影者による種別の指定を受け付け、アップロードボタン1505が押下される(送信指示を受け付ける)と、当該入力を受け付けた場所(パス)に格納されている画像データと、当該指定を受け付けた種別とを紐付けてサーバ105に送信する(ステップS904)。ここで、送信されるデータは、画像データアップロード画面1501を介して選択された画像データ、及び選択された当該画像データの種別(アイコンCD)である。
サーバ105は、撮影者端末101B、及び/又は閲覧者端末101Aから画像データ、及び、アイコンCDを受信すると、当該画像データ、及び、アイコンCDをサーバ105のメモリ(ファイルサーバ102のメモリ)に登録し記憶する。
その際、サーバ105は、当該画像データを一意に識別する写真IDを生成して、当該受信した画像データ(写真のデータ)中のExif情報に含まれているデータ(カメラのメーカ名、カメラの機種名、撮影に用いたレンズ名など)を取得する。すなわち、ここで取得されるデータは、写真の撮像に用いられた機材を示す第2の機材情報の適用例であり、画像データのExif情報の一部として当該画像データに含まれている情報である。
そして、サーバ105は、当該生成した写真IDと、及びステップS902でユーザの認証処理が成功したユーザ識別CDと、当該Exif情報から取得したデータ(カメラのメーカ名、カメラの機種名、撮影に用いたレンズ名など)と、サーバ105のメモリ(ファイルサーバ102のメモリ)に当該画像データを登録(保存)したパス(保存パス)と、をそれぞれ関連付けて、図7の写真情報テーブル703に新規に登録して図7の写真情報テーブル703を更新する(ステップS905)。
また、サーバ105は、当該生成した写真IDとアイコンCDを紐付けて、図12の写真情報テーブル(写真種別)704に新規に登録して、図12の写真情報テーブル(写真種別)704を更新する(ステップS905)。
図12に示す写真情報テーブル(写真種別)704は、写真(画像データ)を識別するための「写真ID」、当該写真に対して付与された種別を示す「アイコンCD」から構成されている。
図12に示す写真情報テーブル(写真種別)704、写真情報テーブル(写真ステータス情報)705、カレンダーTABLE706は、サーバ105のメモリに記憶されている。
このようにして、画像データ、及び、写真IDとそれに紐付くアイコンCDがサーバ105に登録されると共に、当該画像データに含まれているデータ(当該画像データを撮影するために用いられたカメラやレンズ等の機材(物品)を示すデータ)を登録することができる。
次に、図15、及び図19を用いて、サーバ105に予定を登録する処理について説明する。
図15は、撮影者端末101B、及び/又は閲覧者端末101Aからサーバ105への予定情報(予定年月日・予定タイトル・アイコンCD)の登録処理を示すシーケンスの一例を示す図である。
まず、撮影者端末101B、及び/又は閲覧者端末101Aは、まず、ユーザにより、ユーザ識別CD(ユーザIDとも言う)、パスワードの入力を受け付け、当該入力を受け付けたユーザ識別CD、パスワードをサーバ105(Webアプリケーションサーバ103)に送信する(ステップS1101)。
そして、サーバ105(Webアプリケーションサーバ103)は、撮影者端末101B、及び/又は閲覧者端末101Aから、ユーザ識別CD、パスワードを受信すると、当該受信したユーザ識別CD、パスワードが、図6の顧客情報テーブル600に登録されているか否かを判定することにより、ユーザの認証処理を実行する(ステップS1102)。
そして、サーバ105(Webアプリケーションサーバ103)は、当該受信したユーザ識別CD、パスワードが、図6の顧客情報テーブル600に登録されていると判定された場合(ユーザの認証処理が成功した場合)には、撮影者端末101B、及び/又は閲覧者端末101Aに、予定情報(予定年月日・予定タイトル・アイコンCD)を登録するためのカレンダー画面1301(図19)を送信する(ステップS1103)。一方、ユーザの認証処理が失敗した場合には、ステップS1102より後の処理は実行しない。
撮影者端末101B、及び/又は閲覧者端末101Aは、サーバ105から、カレンダー画面1301を受信すると、当該カレンダー画面を表示部に表示し、ユーザによる操作を受け付ける。ここでユーザにより受け付ける操作は、ユーザが予定を登録する年月日をカレンダー画面1301上で選択する操作(1302)である。
撮影者端末101B、及び/又は閲覧者端末101Aは、カレンダー画面を介して、ユーザが希望する予定の登録年月日の選択を受け付け、選択された年月日のデータ(予定年月日の情報)をサーバ105に送信する(ステップS1104)。
サーバ105は、撮影者端末101B、及び/又は閲覧者端末101Aから予定年月日の情報を受信すると、予定情報(予定年月日・予定タイトル・アイコンCD)を登録するための予定登録画面1303(図19)を、撮影者端末101B、及び/又は閲覧者端末101Aに送信する(S1105)。
サーバ105が、撮影者端末101B、及び/又は閲覧者端末101Aに送信する予定登録画面1303(図19)には、ステップS1104で受信した予定年月日が予め入力されている。
サーバ105が、撮影者端末101B、及び/又は閲覧者端末101Aに送信する予定登録画面には、予定の種別(カテゴリー)を選択するためのラジオボタンが含まれる。この予定の種別は、カレンダーアイコンTable603のアイコン名であり、このアイコン名に基づき生成される。
撮影者端末101B、及び/又は閲覧者端末101Aは、サーバ105から、予定登録画面1303(図19)を受信すると、予定登録画面1303(図19)を表示部に表示し、ユーザによる操作を受け付ける。ここでユーザにより受け付ける操作は、予定のタイトルの入力(1304)・アイコンの選択(1305)、及び、決定ボタン(1306)の押下すなわち送信指示である。
撮影者端末101B、及び/又は閲覧者端末101Aは、ユーザから予定のタイトルの入力・アイコンの選択、及び、決定ボタンが押下された場合、サーバ105に対し、予定のタイトル、及び、選択された予定の種別に紐付いたアイコンCDを送信する(S1106)。
サーバ105は、撮影者端末101B、及び/又は閲覧者端末101Aから受信した、予定情報(予定年月日・予定タイトル・アイコンCD)をサーバ105のメモリ(ファイルサーバ102のメモリ)に登録し記憶する。
サーバ105は、撮影者端末101B、及び/又は閲覧者端末101Aから受信した、予定情報(予定年月日・予定タイトル・アイコンCD)を一意に識別する予定CDを生成し、当該予定CDと、予定情報を関連付けて、カレンダーTable706(図12)に予定情報を登録・更新を行う(S1107)。
このようにして、カレンダーTable706(図12)にユーザ識別CDに対応付けて予定情報を記憶するため、ユーザごとの予定(タイトル等)とその種別(アイコンCD)がメモリに記憶されている。
次に、図16、図17、図13を用いて、カレンダーで登録された予定の種別と同一の種別の写真の画像データを、お気に入り写真選択画面800の801の領域に表示する処理について説明する。
図16は、サーバ105で行われる処理であって、ユーザがカレンダーに登録した予定に基づき、当該予定に関連する写真を抽出する処理を示すフローの一例を示す図である。
ここで、図16を用いて、ユーザがカレンダーに登録した予定に関連する写真を抽出する一連の処理について説明する。
図16に示すフローチャートにおける各ステップは、サーバ105のCPUがプログラムを読み出して実行することにより実現される。
図16、図17に示す処理は、図3のステップS3001と、ステップS3002との間のステップとして実行することができる。
また、図16、図17に示す処理は、図15のステップS1107を実行した後、すなわち、ユーザによるカレンダーへの予定登録後に、実行し、その後、ステップS3002に処理を移行することができる。
また、図16、図17に示す処理は、カレンダーに登録された当該予定の予定年月日の数日前や、登録された当該予定の予定年月日の前日等に、図16、図17に示す処理を実行し、その後、ステップS3002に処理を移行することができる。
まず、図3のステップS3001、又は図15のステップS1102で、ユーザの認証処理が成功したと判定された状態を前提に、図16の処理を行う。
まず、サーバ105は、認証処理で認証されたユーザ識別CDを含む、カレンダーTable706(図12)のレコード(予定)を、取得する(S1201)。
次に、サーバ105は、図12の写真情報Table(写真種別)704に登録されている写真ID毎に、ステップS1203、S1204の処理を繰り返し実行する。
サーバ105は、図12の写真情報Table(写真種別)704に登録されている写真IDに紐付いたアイコンCDが、S1201で得られたレコードに含まれるアイコンCDと一致するか判断(同一種別であるかを判断)し(S1203)、一致すると判断した場合(YES)、S1204の処理を実行する。一方、一致しないと判断した場合(NO)、次の写真IDを処理対象にして、ステップS1202に処理を戻す。
ステップS1204では、ステップS1203で同一種別であると判定された写真の写真IDをメモリにリストとして登録する。
このようにS1202〜S1204処理により、S1201で得られたレコードに含まれるアイコンCDと一致するアイコンCDを持つ写真の写真IDの一時リストが作成される。
ステップS1203、ステップS1204は、記憶手段に記憶されているユーザの予定の種別に該当する、記憶手段に記憶されている画像データを特定する本発明の画像特定手段の適用例である。
サーバ105は、S1202〜S1204が終了後、図12の写真情報Table(写真ステータス情報)705の、写真の閲覧回数、写真への投票数、写真撮影者のカメラ歴、賞等の受賞歴、等のいずれか、または、これらの組み合わせにより、S1204で作成された一時リストをソートする(S1205)。
図12の写真情報Table(写真ステータス情報)705は、撮影者端末101B、及び/又は閲覧者端末101Aから受信してサーバ105に登録されているテーブルである。
サーバ105は、ステップS1203で同一種別であると判定された写真の写真IDがメモリに登録されているか否かを判定し(ステップS1206)、メモリに登録されていると判定された場合には(存在する)、撮影者端末101B、及び/又は閲覧者端末101Aに対し、関連写真が存在する旨のメッセージ(1202)を含むWebのポータルの画面(図18)を送信する(S1207)。一方、メモリに登録されていないと判定された場合には(存在しない)、撮影者端末101B、及び/又は閲覧者端末101Aに対し、関連写真が存在する旨のメッセージ(1202)を含まないWebのポータルの画面(図18)を送信する。
図16で説明したWebのポータルの画面(図18)を送信した後の処理については、図17を用いて説明する。
図17は、図18の画面を表示した後に、お気に入り写真選択画面800を表示するためのシーケンスの一例を示す図である。
まず、サーバ105は、図16で説明したWebのポータルの画面(図18)を送信すると(ステップS1207)、撮影者端末101B、及び/又は閲覧者端末101Aは、サーバ105から、Webのポータルの画面(図18)を受信して表示部に表示する。
ここで、関連写真が存在する旨のメッセージ(1202)を含むWebのポータルの画面(図18)を受信した場合には、図18のように、「関連写真のお知らせ」というリンクボタン1202が表示される。
そして、撮影者端末101B、及び/又は閲覧者端末101Aは、ユーザによりリンクボタン1202が押下された場合、撮影者端末101B、及び/又は閲覧者端末101Aは、サーバ105に対し、関連写真の取得要求を送信し(S1208)、処理をステップS1209に移行する。
ステップS1209は、図3に示すステップS3002に示す処理と同一の処理である。
サーバ105は、ステップS1209(図3に示すステップS3002)において、撮影者端末101B、及び/又は閲覧者端末101Aから関連写真の取得要求を受け付けると、S1204で登録したリストに含まれる写真IDにより識別される写真の画像データを取得して、当該取得した画像データを、お気に入り写真選択画面800の801の領域に表示する表示情報(HTMLなど)を、生成して、撮影者端末101B、及び/又は閲覧者端末101Aに送信する(S1209)。
すなわち、ステップS1209は、ステップS1203、ステップS1204(画像特定手段)により特定された画像データを示す情報を閲覧者端末101A(クライアント端末)に表示するべく送信する本発明の画像データ送信手段の適用例である。
また、第2の実施形態において、ステップS1209(図3に示すステップS3002)で送信されるお気に入り写真選択画面800の例を図13に示す。
そして、サーバ105は、第1の実施形態の通り、ステップS3003以降の処理を実行する。
以上により、ユーザ自身が登録した予定のカテゴリーに関連(一致)した写真が、お気に入り写真選択画面800の801に表示されるため、ユーザは、その同一カテゴリーの予定で他のユーザが撮影した写真を特定し易くなり、その同一カテゴリーの予定で他のユーザが撮影した写真を撮影するために必要な機材や講座を確認しやすくなる。
また、上述の通り、図18の画面1201のリンクボタン1202が押下されてお気に入り写真選択画面800を表示した場合、お気に入り写真選択画面800の801に表示された写真は、カレンダーに入力された予定から導き出された関連写真である。
また、第2の実施形態において、図5のステップS5002で、講座に申込ができると判定された場合(YES)、更に、サーバ105は、図15のステップS1107で登録されステップS1201で取得されたレコードの日時が、ステップS5002で講座に申込ができると判定された当該講座のカメラ講座情報テーブル701のレコードの「申込期間(To)」に示される申込期日よりも前の日時であるか否かを判定する。
そして、サーバ105は、図15のステップS1107で登録されステップS1201で取得されたレコードの日時が、ステップS5002で講座に申込ができると判定された当該講座のカメラ講座情報テーブル701のレコードの「申込期間(To)」に示される申込期日よりも前の日時であると判定された場合には、当該講座がカレンダーに登録された予定の日にちまでに開催される講座である旨を図13の805の領域にさらに表示する表示情報をステップS505で生成する。
このようにして、生成された表示情報が、撮影者端末101B、及び/又は閲覧者端末101Aの表示部に表示されたお気に入り写真選択画面800の例が図13である。
図13に示すお気に入り写真選択画面800をユーザが確認することで、講座の開催日と、カレンダーに入力された予定の日にちの関係から、当該講座がその予定日までに受講可能かどうかを簡単な操作で、かつ直感的に、ユーザは把握することが可能となる。
以上、第1の実施形態、及び第2の実施形態の例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のカード、ROM等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。このプログラムコードを読み出し実行可能な情報処理装置(コンピュータ)が前述した実施形態の機能を実現する。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。