以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明のオンラインフォトストレージサーバ103(オンラインストレージサーバ)とSNS投稿連携システム(情報処理システム)の構成の一例を示すシステム構成図である。
図1は、1又は複数のPC、タブレット等のクライアント端末101(クライアント端末)と、スマートフォンなどの携帯端末105と、1又は複数のオンラインフォトストレージサーバ103と、1又は複数のSNSサーバ104(SNSサーバ)とがインターネット110を介して接続される構成となっている。
オンラインフォトストレージサーバ103は、クライアント端末101などからのログインを受け付けそれぞれのユーザ毎に画像データのアップロードを受け付ける。
SNSサーバ104は、クライアント端末101や携帯端末105によりユーザ毎の投稿を受け付け、それらの投稿をユーザ毎に表示させることが可能なソーシャルネットワーキングサービス(SNS)を提供する。
図2はクライアント端末101、オンラインフォトストレージサーバ103、SNSサーバ104のハードウェア構成の一例を示すブロック図である。
以下、図2を用いて、図1に示したクライアント端末101、オンラインフォトストレージサーバ103、SNSサーバ104のハードウェア構成について説明する。
図2において、CPU201はCPUであり、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード209や不図示のマウス等のポインティングデバイス等からの入力を制御する。
206はビデオコントローラで、ディスプレイ210等の表示器への表示を制御する。 207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等)の外部メモリ211へのアクセスを制御する。
208は通信コントローラで、ネットワーク(例えば、図1に示したインターネット110)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を受け付けることを可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211(記憶手段)に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
図3は、本発明の実施形態に係る撮影装置102の概要構成の一例を示す模式図である。
図3において、撮影装置102は、いわゆるデジタルカメラ等であり、撮影用のレンズ301、撮像素子(以下、「CCD」と称する)302、アナログ−デジタルコンバータ(以下、「ADC」と称する)303、画像処理部304、コントローラ310、バッファメモリ311、フラッシュROM312、インターフェース回路(以下、「I/F回路」と称する)313、カードホルダ314、メモリーカード315、ディスプレイドライバ316、USBドライバ318、操作部320,及びGPS装置327を備える。
レンズ301は、対物レンズ、ズームレンズ、およびフォーカスレンズなどで構成される。ズームレンズおよびフォーカスレンズについては、不図示の駆動機構により光軸方向へ駆動される。CCD302は、レンズ301を介して入射される光学画像を結像し、電気信号(アナログ信号)に変換して出力するCCDイメージセンサで構成される。ADC303は、CCD302から出力される電気信号(アナログ信号)をデジタル信号に変換する機能を有する。
画像処理部304は、前処理部305、YC処理部306、電子ズーム処理部307、圧縮部308、および伸長部309を備え、ADC303から出力されるデジタル信号から画像データを生成し、各種画像処理を行う機能を有する。
前処理部305は、入力される画像データに基づく画像のホワイトバランスを調整するホワイトバランス処理や画像のガンマ補正処理を行う機能を有する。ホワイトバランス処理は、画像の色合いを、実物の色合いに近くなるように調整したり、光源(蛍光灯や太陽光など)に合った適正な色に調整したりする処理である。ガンマ補正処理は、画像のコントラストを調整する処理である。なお、前処理部305は、ホワイトバランス処理およびガンマ補正処理以外の画像処理を実行することも可能である。
YC処理部306は、入力される画像データに基づく画像を、輝度情報「Y」と、輝度信号と青色の色差情報「Cb」と、輝度信号と赤色の色差情報「Cr」とに分離する機能を有する。電子ズーム処理部307は、画像の一部(例えば中央部)を所定の大きさでトリミングし、トリミングした画像を信号処理で元画像の大きさに拡大する機能を有する。電子ズーム処理部307は、例えば、撮影された1600×3200ドットの画像から中央の3024×768ドットの画像を切り出し、データ補間を行いながら1600×3200ドットのサイズに拡大することができる。
圧縮部308は、画像データをJPEG(Joint Photographic Expert Group)方式などの圧縮形式によって圧縮する機能を有する。伸長部309は、圧縮されている画像データを伸長する機能を有する。例えば、画像データをJPEG方式で圧縮する場合、まず、画像データの高周波成分と低周波成分の割合を数値化する離散コサイン変換処理が行われる(DCT処理)。次に、画像の階調やグラデーションを表現する段階を数値(量子化ビット数)で表現する量子化処理が行われる。最後に、ハフマン符号化処理で画像データが圧縮される。具体的には、画像データの信号文字列が一定のビット毎に区切られ、出現頻度が高い文字列に対してより短い符号が与えてられていく。なお、圧縮処理を行わないで画像データを記録する方式の場合は、圧縮部308および伸長部309を省略することができる。また、画像データの圧縮形式は、JPEG方式に限らず、GIF(Graphical Interchange Format)形式などであっても、同様に処理を行うことができる。
コントローラ310は、画像処理部304、バッファメモリ311、フラッシュROM312、I/F回路313、ディスプレイドライバ316、USBドライバ318、操作部320、及びGPS装置327に接続されている。また、コントローラ310は、機能的な構成として、操作部320からの入力信号に応じて各部を動作制御するための制御信号を出力する制御部(不図示)と、ユーザに関する認識を行う認識部(不図示)とを備える。
バッファメモリ311には、画像処理部304において画像処理が行われる際に、一時的に画像データが保存される。フラッシュROM312には、撮影装置102の各種設定情報が保存される。I/F回路313は、コントローラ310から出力される画像データを、メモリーカード315に記録可能なデータ形式に変換する。また、I/F回路313は、メモリーカード315から読み出された画像データ等を、コントローラ310で処理可能なデータ形式に変換する。
カードホルダ314は、記憶媒体であるメモリーカード315を撮影装置102に着脱可能にする機構を備えると共に、メモリーカード315との間でデータ通信が可能な電気接点を備える。また、カードホルダ314は、撮影装置102で利用される記憶媒体の種類に応じた構造を有する。メモリーカード315は、フラッシュメモリなどの半導体記憶素子を内蔵し、カードホルダ314に着脱可能なカード型の記憶媒体である。メモリーカード315には、撮影装置102で撮影された画像データを記録することができる。尚、本実施例では撮影装置102のみの構成として説明をするが、撮影装置102と通信可能な情報処理装置等に備えられた記憶手段をメモリーカード315の代わりとしてもよい。撮影装置102と情報処理装置との通信方法は特に問わない。有線でも無線でもよい。この場合、撮影装置102が通信インターフェースコントローラを備え、通信インターフェースコントローラを通じて情報処理装置と通信する。
ディスプレイドライバ316は、コントローラ310から出力される画像データを液晶ディスプレイ317で表示可能な信号に変換する。具体的には、ディスプレイドライバ316は、コントローラ310から出力されるデジタルの画像データをアナログ画像信号に変換する処理を行い、次に画像サイズを液晶ディスプレイ317の表示可能エリアのサイズに適したサイズに変換する処理を行う。
操作部320は、電源スイッチ321、モードダイヤル322、撮影ボタン323、カーソルキー324、ズームボタン325、および閲覧(再生)ボタン326を備え、ユーザからの操作入力を受け付けて、操作内容に応じた信号をコントローラ310に出力する。なお、操作部320には、図示の操作ボタン以外の操作ボタン類も含まれるが、それらの説明は省略する。
モードダイヤル322は、撮影動作のモードを切り替えるための回転可能なダイヤルである。ユーザはモードダイヤル322を回転操作することで、複数の撮影動作モードを選択することが可能である。
撮影動作モードとは、例えば、予め撮影装置102が保持している撮影設定(ホワイトバランスやシャッタースピード等)をユーザに選択しやすく表したAutoモードや夜景モード、風景モードやポートレートモード、或いはユーザが任意に撮影設定を設定することができるマニュアルモードなどである。
閲覧ボタン326は、撮影した画像データを閲覧する閲覧モード(画像再生モード)に切り替えるためのボタンである。閲覧ボタン326が押下されると、撮影モードから閲覧モードに移行する。なお、閲覧モードへの切替方法については、閲覧ボタン326の押下に限定されず、液晶ディスプレイ317上のタッチパネル(不図示)などによる移行方法であってもよい。
閲覧モードでは、コントローラ310が、I/F回路313を介して、カードホルダ314に装着されているメモリーカード315から設定情報と画像データを読み出す。設定情報は、現在装着されているメモリーカード315に記録されている画像の枚数および記録されている画像データの容量などである。読み出される画像データは、例えば、画像1枚分の画像データまたはサムネイルデータである。なお、メモリーカード315から読み出される画像データは、上述したように所定の圧縮形式で圧縮されている。
メモリーカード315から読み出された画像データは、I/F回路313およびコントローラ310を介して、ディスプレイドライバ316へ入力される。ディスプレイドライバ316は、入力された画像データを液晶ディスプレイ317に表示させる。
カーソルキー324は、ユーザが撮影装置102に対する所定の指示や機能選択を行うためのキーである。ユーザは、カーソルキー324により、撮影装置102に対する各種設定情報やユーザ認識情報などの操作入力を行うことができる。また、カーソルキー324により、液晶ディスプレイ317にメニュー画面を表示させたり、撮影装置102が有する所定の機能を選択させたりすることができる。
GPS装置327は、GPS(Global Positioning System)人工衛星が逐次送信する電波を受信し、復調して信号を取り出し、この信号をコントローラ310に送信することの可能な装置である。
図4は、携帯端末105のハードウェア構成の一例を示すブロック図である。
CPU401は、システムバス404に接続される各デバイスやコントローラを統括的に制御する。
また、ROM402あるいはフラッシュメモリ414には、CPU401の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、当該携帯端末が実行する機能を実現するために必要な、後述する各種プログラム等が記憶されている。RAM403は、CPU401の主メモリ、ワークエリア等として機能する。
CPU401は、処理の実行に際して必要なプログラム等をRAM403にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ405は、タッチパネル410、マイク411、カメラ412、GPS受信機416からの入力を制御する。タッチパネル410からはユーザのタッチ操作に関する入力を制御し、マイク411からは音声の入力を制御し、カメラ412からは撮影された静止画、動画の入力を制御し、更にGPS受信機416からはGPS人工衛星が逐次送信する電波を受信し、復調して信号を取り出した信号の入力を制御する。出力コントローラ406は、タッチパネル410、スピーカ413への出力を制御する。
タッチパネル410は、ユーザからのタッチ操作を検知すると共に、前述した出力コントローラ406から送られた映像を表示する。タッチパネル410は、表示器と位置入力装置とが一体となった部品である。複数の箇所に対するタッチ操作(以下、マルチタッチ)も検知可能である。
メモリコントローラ(MC)407は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するフラッシュメモリ414へのアクセスを制御する。本実施形態においては、フラッシュメモリとして説明を行うが、ハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の記憶媒体であってもよい。
通信I/Fコントローラ409は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
センサコントローラ408は、携帯端末105が備えるセンサ415からの入力を制御する。携帯端末105のセンサ415には様々なセンサが存在し、例えば方位センサ、加速度センサ等である。
尚、CPU401は、例えばRAM403内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、タッチパネル410上での表示を可能としている。
本発明の携帯端末105が後述する各種処理を実行するために用いられる各種プログラム等はフラッシュメモリ414に記録されており、必要に応じてRAM403にロードされることによりCPU401によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルはフラッシュメモリ414に格納されている。
GPS受信機416は、GPS(Global Positioning System)人工衛星が逐次送信する電波を受信し、復調して信号を取り出し、入力コントローラ405に送信するGPS電波の受信機である。
次に、クライアント端末101、オンラインフォトストレージサーバ103、SNSサーバ104のモジュール構成を示す機能構成図について、図5を用いて説明する。なお、図5の装置のモジュール構成は一例であり、用途や目的に応じて様々な構成例がある。
本実施例ではクライアント端末101は、通信制御部509、画面表示部510、入力受付部511を備える。
クライアント端末101の通信制御部509は、オンラインフォトストレージとの通信を制御する。
クライアント端末101の画面表示部510は、ディスプレイ210に画面を表示する機能である。
クライアント端末101の入力受付部511は、ユーザからの入力を受け付けることが可能な機能である。
本実施例ではオンラインフォトストレージサーバ103は、通信制御部501、文字列解析部502、画像データ解析部503、日時・位置情報判定部504、SNS投稿データ特定部505、画像保存部506、画面生成部507を備える。
オンラインフォトストレージサーバ103の通信制御部501は、クライアント端末101やSNSサーバ104との通信を行うモジュールである。クライアント端末101からの画面の要求を受信したり、オンラインフォトストレージサーバ103が生成した画面をクライアント端末101に送信したりする。また、SNSサーバ104からSNS投稿データを受信することが可能なモジュールである。
文字列解析部502は、SNS投稿データのコメント部分を解析することのできるモジュールである。
オンラインフォトストレージサーバ103の画像データ解析部503は、アップロード画像や、SNSに投稿されている画像データのEXIF(Exchangeable image file format)情報などを解析することにより、画像データの撮影日時や撮影場所を解析する。
オンラインフォトストレージサーバ103の日時・位置情報判定部504は、アップロード画像に含まれる位置情報や日時情報と、SNS投稿データやSNS投稿データに含まれる画像データの位置情報や日時情報とを比較する。
オンラインフォトストレージサーバ103のSNS投稿データ特定部505は、アップロード画像に紐づくSNS投稿データを特定する。
オンラインフォトストレージサーバ103の画像保存部506は、アップロード画像とそれに付するコメントとを併せて外部メモリ211に保存する。
オンラインフォトストレージサーバ103の画面生成部507は、クライアント端末101に送信するオンラインアルバムを表示させることのできる画面を生成する。
本実施例ではSNSサーバ104は、通信制御部512、SNS投稿データ取得部513、SNS投稿データ保存部514を備える。
SNSサーバ104の、通信制御部512は携帯端末105とSNS投稿データを通信したり、オンラインフォトストレージサーバ103とさまざまな通信をしたりすることを可能としている。
SNSサーバ104のSNS投稿データ取得部513は、SNSサーバ104内で記憶しているSNS投稿データを取得する機能である。
SNSサーバ104のSNS投稿データ保存部514は、投稿を受け付けたSNS投稿データを保存することができる。
以下、本実施形態におけるオンラインフォトストレージ投稿画像へのSNS投稿コメントリンク機能の全体の流れを説明する。
図6では、本実施形態の事前準備に当たる画像データ生成のための撮影処理について説明する。
本処理は撮影装置102にて実施され、撮影装置102に備えられる撮影ボタン(不図示)を押下されると、撮影処理が行われこれにより生成された画像データの保存が行われる。
ステップS601では撮影装置102のコントローラ310が不図示の撮影ボタンが押下されることを検知する。
ステップS602では、撮影装置102のコントローラ310が撮影可能領域内の被写体の撮影処理を行う。撮影処理により、画像データ(画像データ)を生成する。
ステップS603では、撮影装置102のコントローラ310がステップS602で撮影処理を行った日時情報や位置情報を取得する。
ステップS604では、撮影装置102のコントローラ310がステップS603で取得した日時情報や、位置情報を撮影に生成された画像データに付加する。
ステップS605では、撮影装置102のコントローラ310がステップS604で日時情報や位置情報が付加された画像データを撮影装置102内のメモリーカード315に図14に示す撮影装置EXIFテーブル1400データテーブルを保存する。図14の撮影装置EXIFテーブル1400、画像データと日時情報と位置情報との対応関係を示すテーブルである。ファイル名1401は画像データのファイル名を示している。画像データ日時情報1402は、画像データが生成された日時情報を格納している。GPS情報1403は、撮影が行われたGPS(Global Positioning System)情報などの位置情報を格納している。
図7、図8では、本実施形態の事前準備に当たるSNSへの投稿処理について記載する。本処理は携帯端末105とSNSサーバ104にて実施され、SNSへのユーザの投稿がSNSサーバ104に保存される一連の流れを示している。なお、ユーザがSNSへの投稿をするための機器はこれに限定されない。
まず、図7から説明する。
ステップS701では携帯端末105のCPU401が、SNSにログインするためのユーザ名とパスワードとをユーザから入力受付可能な画面を表示する。
ステップS702では、携帯端末105のCPU401が、ユーザからのSNSにログインするための情報の入力を受け付ける。
ステップS703では、携帯端末105のCPU401が、ユーザからの認証要求ボタン押下などの指示を受け付け、SNSサーバ104にSNSのログイン要求を送信する。ログイン要求には、ユーザを一意に識別する名前であるユーザ名と、それにひもづくパスワードとを送信している。
ステップS704では、SNSサーバ104のCPU201が、ステップS703で携帯端末105から送信されたログイン要求を受信する。
ステップS705では、SNSサーバ104のCPU201が、外部メモリ211から認証テーブル1500を取得する。例えば図15にある認証テーブル1500である。ユーザID1501はSNSのアカウントを一意に特定することのできるIDである。ユーザ名1502はユーザからSNSに登録された名前を示すものであり、他のユーザとは被らないようにユーザより作成されるものである。password1503は、ユーザ名1502に紐づくログインに必要なパスワードを示している。
ステップS706では、SNSサーバ104のCPU201が、ステップS705で取得した認証テーブル1500に基づいて、ステップS704で受信したログイン要求に含まれるユーザ名の登録があるか否かを判定する。ユーザの登録があると判定され、ステップS704で受信したパスワードとpassword1503を照合し一致した場合、ステップS707に処理を進める。一方、ユーザの登録がない又はステップS704で受信したパスワードとpassword1503を照合し一致しなかったと判定された場合、ステップS708に処理を進める。
ステップS707では、SNSサーバ104のCPU201が、ステップS704で受信したパスワードとpassword1503を照合した結果、一致すると判定された当該ユーザのログインが成功した情報を示すログインOKデータを生成する。
ステップS708では、SNSサーバ104のCPU201が、ユーザの登録がない又はステップS704で受信したパスワードとpassword1503を照合した結果、一致すると判定されなかった当該ユーザのログインが失敗した情報を示す、ログインNGデータを生成する。ログインNG情報を生成した後、ステップS709へ処理を進める。
ステップS709では、SNSサーバ104のCPU201が、ステップS707やステップS708で生成されたログイン結果の情報を、携帯端末105に送信する。
ステップS710では、携帯端末105のCPU401が、SNSサーバ104から送信されたログイン結果を受信する。
ステップS711では、携帯端末105のCPU401が、ステップS710で受信したログイン結果に基づいてステップS703で受け付けたログイン要求が受け付けられたか否かを判定する。ログイン要求が受け付けられた場合は、ステップS712へ処理を進め、ログイン要求が受け付けられなかった場合は、ステップS713へ処理を進める。
ステップS712では、携帯端末105のCPU401が、ステップS710で受信したログイン結果を基に、ログインが成功した画面を表示させる。
ステップS713では、携帯端末105のCPU401が、ステップS710で受信したログイン結果を基に、ログインが失敗した画面を表示させる。
次に図8に説明を移す。
ステップS714では、携帯端末105のCPU401が、SNSへの投稿するためユーザから入力を受け付けることが可能な画面を表示する。
ステップS715では、携帯端末105のCPU401が、ステップS714で表示した画面上でユーザからの入力を受け付ける。
ステップS716では、携帯端末105のCPU401がユーザから投稿指示を受け付ける。本実施例では表示画面上の不図示の投稿ボタンが押下されたか否かによって指示を判断している。
ステップS717では、携帯端末105のCPU401がステップS716で投稿指示を受け付けた時点の携帯端末105の日時情報と位置情報を取得する。
ステップS718では、携帯端末105のCPU401がステップS715で入力を受け付けたユーザのSNS投稿データ(SNS投稿データ)に、ステップS717で取得した日時情報と位置情報とを含めてSNSサーバ104に送信する。
ステップS719では、SNSサーバ104のCPU201が、ステップS718で携帯端末105から送信されたと、日時情報と位置情報とを含むSNS投稿データを受信する。
ステップS720では、SNSサーバ104のCPU201がステップS719で受信したSNS投稿データを外部メモリ211に保存する保存処理を行う。保存の形式は図16、17、18に示すような形式で保存する。
図16のSNS投稿データテーブル1600は、SNSが「Txxxxx」で、アカウントが、「abc123」のSNS投稿データを記憶している。
SNSID1601は、ユーザの投稿したSNS投稿データを一意に識別するIDを示している。
日時1602は、SNS投稿データが投稿された日時情報を示している。
GPS1603は、SNS投稿データが投稿された位置情報を示すGPS情報を格納している。
画像ファイル1604はSNS投稿データに含まれる画像データのファイル名を示している。
投稿文1605はSNS投稿データに含まれるコメント部分を格納している。
図17のSNS投稿データテーブル1700は、SNSが「Txxxxx」で、アカウントが「tyu444h」のSNS投稿データを記憶している。
図18のSNS投稿データテーブル1800は、SNSが「fxxxxx」で、アカウントが「890xyz」のSNS投稿データを記憶している。
ステップS721では、SNSサーバ104のCPU201がステップS720で保存したSNS投稿データの投稿成功の結果を送信する。
ステップS722では、携帯端末105のCPU401がステップS721で送信された投稿結果を受信する。
ステップS723では、携帯端末105のCPU401がステップS722で受信した投稿結果を基にユーザに投稿結果を知らせる画面を生成し、表示させる。
次にオンラインアルバムを提供するオンラインフォトストレージサーバ103への画像アップロードの一連の流れについて説明を行う。
図9では、オンラインフォトストレージサーバ103へのアップロードを行う画像データであるアップロード画像とSNS投稿データとのリンク処理のフローを記載している。
ステップS801では、クライアント端末101のCPU201が、ユーザからオンラインアルバムにログインを受け付ける処理を行う。なお、本処理は後の図10にて詳細に説明を行う。ユーザからログインを受け付けると、ステップS802へ処理を進める。
ステップS802では、クライアント端末101のCPU201が、ユーザからアップロード画像のアップロードを受け付けることが可能なモードに切り替える指示を受け付ける画面をオンラインフォトストレージサーバ103から取得し、表示する(不図示)。
ステップS803では、クライアント端末101のCPU201が、ユーザからアップロード画像のアップロードを受け付けることが可能なモードに切り替える指示を受け付けたか否かを判定する。この判定は不図示の画像データアップロードボタンなどの押下を受け付けることにより判定する。なお、判定方法は一例であってこれに限定されない。ユーザからアップロード画像のアップロードを受け付けることが可能なモードに切り替える指示を受け付けたと判定された場合にはステップS804に処理を進める。ユーザからアップロード画像のアップロードを受け付けることが可能なモードに切り替える指示を受け付けたと判定されなかった場合には本処理を終了させる。
ステップS804では、クライアント端末101のCPU201が、ユーザからアップロード画像の選択を受け付けることが可能な画面を表示する。例えば、図21が、ユーザからアップロード画像の選択を受け付けることが可能な画面のイメージ図である。
ステップS805では、クライアント端末101のCPU201が、アップロード画像の選択を受け付ける。図21において、画像の追加ボタン2101の選択を受け付けると、アップロード画像を選択可能な画面を表示させる(不図示)。その画面でユーザからアップロード画像の選択を受け付けると、画像表示エリア2102に当該アップロード画像を表示させる。これにより、ユーザはアップロードしようとするアップロード画像を目で確認することができる。
ステップS806では、クライアント端末101のCPU201が、まずアップロード画像とSNS投稿データとを紐づける処理であるSNS投稿コメントリンク機能を使用するか否かの選択を受け付ける。当該選択を受け付けた後、その選択結果とステップS805で選択された画像データとともに、複数あるアップロード画像にそれぞれコメントをユーザから付加、編集されることが可能な画面の要求を、オンラインフォトストレージサーバ103に送信する。
例えば図21では、自動リンク選択受付エリア2103は、アップロード画像とSNS投稿データとのリンクを行うか否かの指定を受け付けるための項目である。本実施例では「リンクする」の選択を受け付けるとアップロード画像とSNS投稿データとのリンクを行う機能を使用する。一方、「リンクしない」の選択を受け付けるとアップロード画像とSNS投稿データとのリンクを行う機能を使用しない。いずれかの選択を受け付けない限り、アップロードイメージを確認2104はグレーアウトし選択できないようになっている。アップロードイメージを確認2104の選択を受け付けると、アップロード画像にそれぞれコメントをユーザから付加、編集されることが可能な画面の要求をオンラインフォトストレージサーバ103に対して要求する。尚、自動リンクをするか否かの選択の受け付け方法については一例であってこれに限定されない。
ステップS807では、オンラインフォトストレージサーバ103のCPU201が、ステップS806で送信された画面の要求と、SNS投稿コメントリンク機能を使用するか否かの選択結果と、ステップS805で選択されたアップロード画像の画像データとを受信する。
ステップS808では、オンラインフォトストレージサーバ103のCPU201が、ステップS807で受信した画像データをRAM203に読み込む。
ステップS809では、オンラインフォトストレージサーバ103のCPU201が、ステップS807で受信したSNS投稿コメントリンクシステムを使用するか否かの選択結果を基にSNS投稿コメントリンクシステムを使用するか否かを判定する。SNS投稿コメントリンクシステムを使用すると判定された場合は、ステップS810に処理を進める。SNS投稿コメントリンクシステムを使用すると判定されなかった場合は、ステップS811に処理を進める。
ステップS810では、オンラインフォトストレージサーバ103のCPU201が、アップロード画像にSNS投稿データを紐づける処理を行う。アップロード画像にSNS投稿データを紐づける処理の結果のデータテーブルの一例が、図28に示すSNS投稿データリンク結果テーブル2800である。
図28において、ID2001はアップロード画像を一意に識別するためのIDである。画像タイトル2002はアップロード画像に付するタイトルである。
画像ファイル名2003はアップロード画像のファイル名を示すものである。
撮影日時2004はアップロード画像が撮影された日時を示す情報を格納している。
画像GPS情報2005はアップロード画像の撮影された位置情報を格納している。
関連SNS2006はステップS810で紐づけ処理をされたSNSとSNSのアカウントと、当該アカウントのSNS投稿データを一意に識別する情報とを格納している。
アカウント参照数2007はSNSのアカウントを参照した回数が格納されている。ステップS1021で参照していないSNS投稿データが無いと判定されたときにアカウント参照数2007を1つカウントアップする。「99」はステップS1022で特定したSNS投稿データとアップロード画像とを紐づけ処理が完了した時に、SNS投稿データを特定できたという意味で付される数字である。「3」は3つのアカウントを参照したという意味を示しており、図26の登録SNSデータテーブル2600の優先順位ナンバー2601の「3」まで参照したことを表している。つまり、SNS2602が「Txxxxx」の、ユーザ名2603が「tyu444h」を参照したということを示している。
他人フラグ2008はアップロード画像に紐づくSNSのアカウントが他人のものか否かを示す情報を格納している。これは関連SNS2006に示すアカウントの、図26の登録SNSデータテーブル2600の他人フラグ2604に付されている情報を基に作成される。
登録コメント文2009はアップロード画像に紐づけされたSNS投稿データのコメントを格納している。
詳細は後の図11にて説明する。処理を終えた後ステップS812に移行する。
ステップS811では、オンラインフォトストレージサーバ103のCPU201が、SNS投稿コメントリンクシステムを使用すると判定されなかったので、アップロード画像のコメント欄を空欄のままにして処理をステップS812に進める。
ステップS812では、オンラインフォトストレージサーバ103のCPU201が、複数あるアップロード画像にそれぞれコメントをユーザから付加、編集されることが可能な画面を生成する。(画面生成手段)例えば図22の画面例のようなアップロードイメージ確認画面2200が生成される。
図22の画像データ表示エリア2201は、アップロード画像を表示するエリアを示している。これは図28に示すSNS投稿データリンク結果テーブル2800の画像ファイル名2003から取得している。
コメントエリア2202は、アップロード画像に紐づくコメントを編集可能に表示するエリアを示している。ステップS810でアップロード画像にSNS投稿データが紐づけられたときは、そのSNS投稿データを表示させる。これは図28に示すSNS投稿データリンク結果テーブル2800の登録コメント文2009から取得している。
コメント引用元情報2203はアップロード画像に紐づくSNS投稿データの情報を示している。本実施例では、紐づくSNSの名前、アカウント、投稿日時が記載されている。これは図28に示すSNS投稿データリンク結果テーブル2800の関連SNS2006から取得している。
また、SNS投稿データリンク結果テーブル2800の関連SNS2006を基に、関連SNS2006が重複しているアップロード画像があるか否かを判定し(判定手段)アップロード画像がある場合には、図28のアップロード画像2と3の部分で示すように関連SNS2006が重複しているアップロード画像を小さく表示し、同一コメントが付与されている旨を表示し通知させる。これにより、ユーザは同一コメントでそのまま登録してしまうことを認識することが可能になる。
ステップS813では、オンラインフォトストレージサーバ103のCPU201が、ステップS812で生成した画面をクライアント端末101に送信する。(画面送信手段)
ステップS814では、クライアント端末101のCPU201が、ステップS813で送信された画面を受信する。(画面受信手段)
ステップS815では、クライアント端末101のCPU201が、ステップS814で受信した画面をディスプレイ210に表示させる。(画面表示手段)
ステップS816では、クライアント端末101のCPU201が、ステップS815で表示させた画面でアップロード画像ごとにコメントの編集を受け付ける。
ステップS817では、クライアント端末101のCPU201が、ステップS816で編集を受け付けたコメント(コメント)をオンラインフォトストレージサーバ103に送信する。
ステップS818では、オンラインフォトストレージサーバ103のCPU201が、ステップS817で送信されたコメントを受信する。
ステップS819では、オンラインフォトストレージサーバ103のCPU201が、ステップS818で受信したコメントを、アップロード画像に紐づくコメントとして登録する。例えば図28に示すSNS投稿データリンク結果テーブル2800の登録コメント文2009に上書きする形で登録する(コメント登録手段)。上書きをした結果が図20に示すオンラインアルバムテーブル2000である。これは最終的にオンラインアルバムにコメントとして登録されたデータとなる。
図10は、オンラインフォトストレージサーバ103が提供するオンライアルバムへのログイン受付処理の詳細を説明するフローチャートである。なお、オンラインアルバムへのログインの方法はこれに限定されない。
ステップS901ではクライアント端末101のCPU201が、ユーザがオンラインフォトストレージサーバ103にログインするための情報を入力可能な画面を表示する。
ステップS902ではクライアント端末101のCPU201が、ユーザからのオンラインフォトストレージサーバ103にログインするための情報の入力を受け付ける。
ステップS903ではクライアント端末101のCPU201が、ユーザからの認証要求ボタン押下などの指示を受け付け、オンラインフォトストレージサーバ103にログイン要求を送信する。ここでは、ログイン要求には、ユーザがオンラインアルバムに登録した名前であるユーザ名と、それにひもづくパスワードとを含めて送信している。オンラインアルバムとは、ユーザのアカウントごとに記憶している画像データとコメントとを併せて表示することができるインターネット上のアルバムである。
ステップS904では、オンラインフォトストレージサーバ103のCPU201が、ステップS903でクライアント端末101から送信されたログイン要求を受信する。
ステップS905では、オンラインフォトストレージサーバ103のCPU201が、外部メモリ211から認証テーブル2500を取得する。例えば図25にある認証テーブル2500である。管理番号2501はオンラインアルバムのアカウントを一意に特定することのできる番号である。ユーザ名2502はユーザがオンラインアルバムに登録した名前を示すものであり、他のユーザとは被らないようにユーザより作成されるものである。パスワード2503は、ユーザ名2502に紐づくパスワードを示している。
ステップS906では、オンラインフォトストレージサーバ103のCPU201が、ステップS905で取得した認証テーブル2500に基づいて、ステップS904で受信したログイン要求に含まれるユーザ名とパスワードとが登録されているか否かを判定する。ユーザの登録があると判定され、ステップS904で受信したパスワードとパスワード2503を照合し一致した場合、ステップS908に処理を進める。ユーザの登録がない又はステップS904で受信したパスワードとパスワード2503を照合し一致しなかったと判定された場合、ステップS907に処理を進める。
ステップS907では、オンラインフォトストレージサーバ103のCPU201が、ユーザの登録がない又はステップS904で受信したパスワードとパスワード2503とを照合した結果、一致しないと判定された当該ユーザのログインが失敗した情報を示す、ログインNGデータを生成する。ログインNGデータを生成した後、ステップS909へ処理を進める。
ステップS908では、オンラインフォトストレージサーバ103のCPU201が、ステップS906でユーザの登録がない又はステップS904で受信したパスワードとパスワード2503とを照合した結果、一致したと判定された当該ユーザのログインが成功した情報を示す、ログインOKデータを生成する。ログインOKデータを生成したのちステップS909に処理を進める。
ステップS909では、オンラインフォトストレージサーバ103のCPU201が、ステップS907やステップS908で生成されたログインの結果のデータを、クライアント端末101に送信する。
ステップS910では、クライアント端末101は、オンラインフォトストレージサーバ103から送信されたログイン結果を受信する。
ステップS911では、クライアント端末101のCPU201が、ステップS910で受信したログイン結果に基づいてステップS903で受け付けたログイン要求が受け付けられたか否かを判定する。ログイン要求が受け付けられた場合は、ステップS913へ処理を進め、ログイン要求が受け付けられなかった場合は、ステップS912へ処理を進める。
ステップS912では、クライアント端末101のCPU201が、ステップS910で受信したログイン結果を基に、ログインが成功した画面を表示させる。
ステップS913では、クライアント端末101のCPU201が、ステップS910で受信したログイン結果を基に、ログインが失敗した画面を表示させる。
図11は、ステップS810の画像データにSNS投稿データを紐づける処理の詳細な説明を示すフローチャートである。
ステップS1001では、オンラインフォトストレージサーバ103のCPU201がSNS投稿コメントリンク機能の初期設定を読み込む。例えば図26、27のデータテーブルを読み込む。
図26はオンラインアルバムに紐づけるSNSのアカウントの優先順位を示すテーブルである登録SNSデータテーブル2600である。優先順位ナンバー2601は、登録されているSNSのアカウントの優先順位を一意に示すものである。SNS2602は登録されているSNSの種類を示すものである。ユーザ名2603はSNS2602のログインの際に使用するユーザIDのようなものを示している。他人フラグ2604(アカウント情報)は、アカウントが他人のアカウントであるか否かを示す情報を格納している。図26では、「1」が他人のアカウントであることを示すフラグであり、「0」は他人のフラグではないこと(自分)を示すフラグである。図24の画面例でアカウントの情報を入力される欄が「他ユーザ投稿参照」の欄に該当する場合に、他人のアカウントであることを示す「1」を格納する。なお、登録SNSデータテーブル2600は一例であってこれに限定されない。
図27は、アップロード画像とSNS投稿データとの紐づけの基準となるデータテーブルである初期情報テーブル2700である。時間設定2701はアップロード画像に紐づくSNS投稿データを検索する際に基準となる時間の設定を示す。図27では、「5min.」となっているので、画像データの撮影日時との差異が5分以内のSNS投稿データを検索するという設定を示している。距離設定2702は、アップロード画像に紐づくSNS投稿データを検索する際に基準となる距離の設定を示す。図27では、「500m」となっているので、画像データの撮影場所との差異が500m以内のSNS投稿データを検索するという設定である。アカウント数2703はユーザがSNS投稿コメントリンク機能で使用するSNSのアカウントの上限数を示している。これは登録SNSデータテーブル2600を基に生成される。これにより、SNSからSNS投稿データを取得する上限回数を把握することができる。なお、初期情報テーブル2700は一例であってこれに限定されない。
なお、初期情報テーブル2700は、事前にユーザから図24の初期設定登録画面2400のような画面より入力を受け付けることで生成されるものである。日時誤差許容範囲2402が時間設定2701、GPS誤差許容範囲2403が距離設定2702に紐づいており、更新ボタン2404が押下されると、それぞれ更新を行う。また、連携SNS2401と登録SNSデータテーブル2600が紐づいており更新ボタン2404が押下されるとそれぞれ更新される。
ステップS1002では、オンラインフォトストレージサーバ103のCPU201がSNS投稿データを要求するSNS及びSNSのアカウントの特定を行う。
特定の方法は、ステップS1001に引き続きステップS1002の処理を行う場合は図26の登録SNSデータテーブル2600の優先順位ナンバー2601とユーザ名2603を基に最も優先順位の高いSNSのアカウントを特定する。
図26では、最も優先順位の高いSNSのアカウントは「abc123」である。
一方、ステップS1024に引き続きステップS1002の処理を行う場合は、ステップS1007で既にSNS投稿データを取得しているアカウントでないアカウントを図26の登録SNSデータテーブル2600のユーザ名2603により特定する。
例えばすでに「abc123」のSNS投稿データをステップS1007で取得している場合には、図26の登録SNSデータテーブル2600のユーザ名2603で次に優先順位ナンバーの高いアカウントである「890xyz」を特定する。
ステップS1003では、オンラインフォトストレージサーバ103のCPU201がステップS1002で特定したSNSのアカウントを保持するSNSサーバ104に対してSNS投稿データの取得要求を送信する。(SNS投稿データ要求手段)
取得要求はステップS1002で特定した図26に示すユーザ名2603のアカウントのSNS投稿データの要求である。
ステップS1004では、SNSサーバ104のCPU201がステップS1003で送信されたSNS投稿データの取得要求を受信する。
ステップS1005では、SNSサーバ104のCPU201がステップS1004で受信したユーザ名2603のアカウントの複数あるSNS投稿データの取得要求を基に当該アカウントのすべてのSNS投稿データを検索し、取得する。
例えば、図16、図17、図18のようなアカウントごとのSNS投稿データのデータテーブルであるSNS投稿データテーブル1600、1700、1800を取得する。図16を例にとって説明する。ユーザ毎にSNS投稿データテーブル1600を格納しており、SNSID1601はユーザのSNS投稿データを一意に示すIDである。日時1602はユーザがSNSに投稿した日時情報を示すものである。GPS1603はユーザがSNSに投稿をした位置情報を示すものである。画像ファイル1604はユーザがSNSに画像データを添付した投稿をした場合の当該画像データのファイル名が記載されている。投稿文1605はユーザがSNSに投稿した内容を示すものである。
ステップS1006では、SNSサーバ104のCPU201がステップS1005で取得した複数のSNS投稿データをオンラインフォトストレージサーバ103に送信する。(SNS投稿データ送信手段)
ステップS1007では、オンラインフォトストレージサーバ103のCPU201がステップS1006で送信されたSNS投稿データを受信する。(SNS投稿データ受信手段)
ステップS1008では、オンラインフォトストレージサーバ103のCPU201がステップS808で読み込んだ画像データの中から、ステップS1002で特定したSNSのSNS投稿データを参照していない画像データがあるか否かを判定する。SNS投稿データを参照していない画像データがあると判定された場合はステップS1009に処理を進め、SNS投稿データを参照していない画像データがあると判定されなかった場合はステップS1023に処理を進める。
ステップS1009では、オンラインフォトストレージサーバ103のCPU201がSNS投稿データの紐づけを行うアップロード画像に含まれる画像データ日時情報1402とGPS情報1403とを取得する。(EXIF情報取得手段)
ステップS1010では、オンラインフォトストレージサーバ103のCPU201がステップS1007で受信したSNS投稿データに含まれる日時1602とGPS1603とを取得する。
ステップS1011では、オンラインフォトストレージサーバ103のCPU201がステップS1009で取得したアップロード画像の画像データ日時情報1402と、ステップS1010で取得したSNS投稿データの日時1602とを参照し、ステップS1001で読み込んだ時間設定2701の条件内か否かを判定する。条件内と判定された場合にステップS1022に処理を進める。条件内と判定されなかった場合ステップS1012に処理を進める。(SNS投稿データ特定手段)
例えば、図14のテーブルの「P1000054.JPG」に紐づくSNS投稿データを、図16のSNS投稿データテーブル1600から特定する方法を説明する。
ステップS1009で、「P1000054.JPG」の日時情報である画像データ日時情報1402と、GPS情報であるGPS情報1403を取得する。
ステップS1010で、SNS投稿データテーブル1600のSNSID1601の「1」の日時情報である日時1602とGPS情報であるGPS1603とを取得する。
ステップS1011で、「P1000054.JPG」の画像データ日時情報1402とステップS1010で取得した日時1602とを比較し、その差分が図27の時間設定2701の範囲内か否かを判定する。この場合、時間設定2701の範囲内であるので、ここで「P1000054.JPG」の紐づくSNS投稿データは、SNSID1601が「1」のSNS投稿データであると特定される。
次に図12を用いて引き続きSNS投稿データ紐づけ処理の詳細な説明を行う。
ステップS1012では、オンラインフォトストレージサーバ103のCPU201がステップS1009で取得したアップロード画像のGPS情報1403と、ステップS1010で取得したSNS投稿データのGPS1603とを参照し、ステップS1001で読み込んだ距離設定2702の条件内か否かを判定する。(SNS投稿データ特定手段)
なお、アップロード画像の画像データ日時情報1402と日時1602が24時間以内とする。これはGPSの条件でSNS投稿データを判定すると、全く違う日にちのSNS投稿データも拾ってしまうためでありこれを防止するためである。
条件内と判定された場合にステップS1022に処理を進める。条件内と判定されなかった場合ステップS1013に処理を進める。
ステップS1013では、オンラインフォトストレージサーバ103のCPU201がSNS投稿データに含まれる画像データを取得する。例えば図19のような画像データのデータテーブルであるSNS画像EXIFテーブル1900を取得する。
ステップS1014では、オンラインフォトストレージサーバ103のCPU201がステップS1013で取得した画像データに含まれる日時情報とGPS情報とを取得する。図19のSNS画像EXIFテーブルの撮影日時1902とGPS情報1903とを取得する。
ステップS1015では、オンラインフォトストレージサーバ103のCPU201がステップS1009で取得したアップロード画像の画像データ日時情報1402と、ステップS1014で取得した画像データの撮影日時1902とを参照し、ステップS1001で読み込んだ時間設定2701の条件内か否かを判定する。条件内と判定された場合にステップS1022に処理を進める。条件内と判定されなかった場合ステップS1016に処理を進める。(SNS投稿データ特定手段)
ステップS1016では、オンラインフォトストレージサーバ103のCPU201がステップS1009で取得したアップロード画像のGPS情報1403と、ステップS1014で取得した画像データのGPS情報1903とを参照し、ステップS1001で読み込んだ距離設定2702の条件内か否かを判定する。(SNS投稿データ特定手段)
なお、アップロード画像の画像データ日時情報1402と撮影日時1902が24時間以内とする。これはGPSの条件でSNS投稿データを判定すると、全く違う日にちのSNS投稿データも拾ってしまうためでありこれを防止するためである。
条件内と判定された場合にステップS1022に処理を進める。条件内と判定されなかった場合ステップS1017に処理を進める。
ステップS1017では、オンラインフォトストレージサーバ103のCPU201がSNS投稿データに含まれるコメントを取得する。ここでは、日時とGPSの条件で検出することのできなかったSNS投稿データを、SNS投稿データに含まれるコメントを基にして検出するために行う処理である。
ステップS1018では、オンラインフォトストレージサーバ103のCPU201がステップS1017で取得したコメントの単語(文字列)の解析処理を行う(位置情報解析手段)。コメントの解析方法は従来技術を用いるものとする。例えば、「東京タワーにいる」というコメントがあった場合に、「東京タワー」を単語として解析する。
ステップS1019では、オンラインフォトストレージサーバ103のCPU201がステップS1018で解析した結果に基づいて当該SNS投稿データが紐づく位置情報を特定し取得する(位置情報特定手段)。位置情報の特定は従来技術を用いるものとする。例えば、インターネット経由で提供されている地図情報サービスのAPIにステップS1018で解析した単語を送信することで当該単語が示す地名やランドマークが存在する位置情報を取得できる。ステップS1018で解析した「東京タワー」という単語から、東京タワーの位置情報を特定する。特定したのち東京タワーの位置情報を取得する。
ステップS1020では、オンラインフォトストレージサーバ103のCPU201がステップS1009で取得したアップロード画像のGPS情報1403と、ステップS1019で取得したSNS投稿データの位置情報とを参照し、ステップS1001で読み込んだ距離設定2702の条件内か否かを判定する。条件内と判定された場合にステップS1022に処理を進める。条件内と判定されなかった場合ステップS1021に処理を進める。(SNS投稿データ特定手段)
ステップS1021では、オンラインフォトストレージサーバ103のCPU201がステップS1007で受信したSNS投稿データの中で参照していないSNS投稿データがあるか否かを判定している。参照していないSNS投稿データがあると判定された場合ステップS1010に処理を戻す。参照していないSNS投稿データがあると判定されなかった場合ステップS1008に処理を戻す。
ステップS1022では、オンラインフォトストレージサーバ103のCPU201が特定されたSNS投稿データと、画像データとを紐づけて記憶する。(SNS投稿データ特定手段)
特定したSNS投稿データと、アップロード画像とを紐づけたデータデーブルが、図28に示すSNS投稿データリンク結果テーブル2800である。特定されたSNS投稿データのSNSの名前や、ユーザ名1502、SNSID1601情報は関連SNS2006に格納される。特定されたSNS投稿データのコメントは登録コメント文2009に格納される。
ステップS1023では、オンラインフォトストレージサーバ103のCPU201が画像データすべてについているオンラインアルバムテーブル2000のアカウント参照数2007が初期情報テーブル2700のアカウント数2703に達しているか否かを判定している。画像データすべてについているオンラインアルバムテーブル2000のアカウント参照数2007が初期情報テーブル2700のアカウント数2703に達していると判定された場合、処理を終了させる。画像データすべてについているオンラインアルバムテーブル2000のアカウント参照数2007が初期情報テーブル2700のアカウント数2703に達していると判定されなかった場合処理をステップS1024に進める。
ステップS1024では、オンラインフォトストレージサーバ103のCPU201が次のレベルのSNSのアカウントがあるか否かを判定している。
SNS投稿データリンク結果テーブル2800のアカウント参照数2007の数字の次の数の、図26の登録SNSデータテーブル2600の優先順位ナンバー2601のデータがあるか否かを判定している。例えばアカウント参照数2007が「3」だった場合に、優先順位ナンバー2601が「4」のデータがあるか否かを判定する。
次のレベルのSNSのアカウントがあると判定された場合ステップS1002に処理を戻す。次のレベルのSNSのアカウントがあると判定されなかった場合、処理を終了させる。
図13はクライアント端末101が、実際にアップロードされた、アップロード画像とコメントを併せて表示することが可能な画面を表示するためのフローチャートである。
ステップS1101では、クライアント端末101のCPU201が、実際にアップロードされた、アップロード画像とコメントを併せて表示することが可能な画面を表示する要求を受け付ける。
ステップS1102では、クライアント端末101のCPU201が、ステップS1101で受け付けた画面の表示要求をオンラインフォトストレージサーバ103に送信する。
ステップS1103では、オンラインフォトストレージサーバ103のCPU201が、ステップS1102で送信された画面の表示要求を受信する。
ステップS1104では、オンラインフォトストレージサーバ103のCPU201が、オンラインアルバムテーブル2000を取得する。
ステップS1105では、オンラインフォトストレージサーバ103のCPU201が、ステップS1104で取得したテーブルを基に、表示する画面を生成する。例えば、図23の画面例が生成される。アップロード画像表示エリア2301にはオンラインアルバムテーブル2000の画像ファイル名2003の画像データが表示される。コメント欄2302にはユーザが最終的に登録したコメントであるオンラインアルバムテーブル2000の登録コメント文2009表示される。撮影情報2303にはオンラインアルバムテーブル2000の撮影日時2004の情報を基にしてアップロード画像がアップロードされた撮影日時が表示される。
ステップS1106では、オンラインフォトストレージサーバ103のCPU201が、オンラインアルバムテーブル2000の他人フラグ2008を基にして、アップロード画像に紐づくSNS投稿データが他人のアカウントであるかを判別し、他人のアカウントである場合に場合に、当該アカウントのSNS投稿データへのリンクを張る処理を行う。
例えば、図23で、SNSリンク2304が表示されている。
当該アップロード画像のID2001に紐づくSNS投稿データが他人フラグ2008により他人のアカウントであることを示している。他人のアカウントであるので、関連SNS2006を基にして当該アカウントのSNS投稿データへのリンクのボタンであるSNSリンク2304が生成される。
ステップS1107では、オンラインフォトストレージサーバ103のCPU201が、ステップS1105で生成された画面をクライアント端末101に送信する。
ステップS1108では、クライアント端末101のCPU201が、ステップS1107で送信された画面を受信する。
ステップS1109では、クライアント端末101のCPU201が、ステップS1108で受信した画面を表示する。
以上説明したように、本実施形態によれば、アップロードされる画像データに付与するコメントの入力候補をユーザに提示することのできる効果を奏する。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。