以下、サーバ装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
最初、本実施の形態の概要を説明する。本実施の形態において、サーバ装置1は、端末装置2を介して人物の指定を受け、当該人物が写っているコンテンツを検索して、検索結果を当該端末装置2に送信する。指定は、端末装置2で出力された写真内の人物を指定して、または人物識別子を指定して行われる。コンテンツとは、当該人物の顔の画像である顔画像が含まれているコンテンツをいい、端末装置2からサーバ装置1にアップロード可能である。
特に、サーバ装置1は、例えば、時刻情報で絞り込みを行い、絞り込んだ1以上のコンテンツを有する画面を端末装置2に送信する。コンテンツ選択操作や人物指定操作は、端末装置2の画面上で行われる。絞り込みは、位置情報で行われてもよいし、時刻情報と位置情報とで行われてもよい。
また、サーバ装置1は、コンテンツを撮影したカメラの位置、撮影方向、画角、焦点距離、コンテンツに写っている人物の身長等から、コンテンツに写っている人物の位置を計算する。位置情報による絞り込みは、人物位置を示す位置情報を用いて行われる。なお、画角や焦点距離といったカメラの光学性能に関する情報を「光学情報」と呼ぶ場合がある。
また、サーバ装置1は、コンテンツが撮影されたとき行われていたイベントを特定し、イベント情報をコンテンツに対応付けて端末装置2に送信する。
また、サーバ装置1は、端末装置2の画面上で選択されたコンテンツを当該端末装置2に送信する。ただし、例えば、ログインした本人または当該本人と所定の関係(例えば親子関係、家族関係、友人関係等)にある人物が写っているコンテンツしか、サーバ装置1から端末装置2にダウンロードできない。そして、サーバ装置1は、送信したコンテンツに応じた金額を当該本人に課金する。
また、サーバ装置1は、選択されたコンテンツでアルバムを作成することができる。
次に、本実施の形態の詳細を説明する。図1は、本実施の形態におけるコンテンツ共有システムの概念図である。コンテンツ共有システムは、サーバ装置1と、複数の端末装置2とを備える。
サーバ装置1と端末装置2は、コンピュータシステムによって実現され、MPUと、メモリと、ハードディスクドライブと、メモリカードスロットと、通信モジュールと、キーボード等の入力デバイスと、ディスプレイやスピーカー等の出力デバイスとを有する。なお、ここで挙げたハードウェアは例示に過ぎない。
サーバ装置1は、各端末装置2とインターネットを介して通信可能に接続され、各端末装置2を利用するユーザの間でコンテンツの共有を実現する。ここでいうコンテンツは、ユーザが撮影した画像(写真や動画等)である。これによって、各ユーザは、自分が保有しているコンテンツを端末装置2からサーバ装置1にアップロードする一方、所望の人物が写っているコンテンツをサーバ装置1から端末装置2にダウンロードできるようになる。
サーバ装置1について説明する。図2は、本実施の形態におけるサーバ装置1のブロック図である。サーバ装置1は、格納部11、受信部12、処理部13、送信部14を備える。
格納部11は、第一格納部111、第二格納部112、第三格納部113、第四格納部114、第五格納部115、第六格納部116を含む。受信部12は、第一受信部121、第二受信部122、第三受信部123を含む。処理部13は、検索部131、計算部132、課金部133、作成部134、蓄積部135を含む。
格納部11には、コンテンツ、各種の情報や管理表(後述)などが格納される。コンテンツは、各端末装置2からアップロードされた画像である。また、コンテンツは、本コンテンツ共有システムの外部から取得されたものであってもよい。各種の情報や管理表は、コンテンツの共有を実現するために利用される。
なお、格納部11は、不揮発性の記録媒体または揮発性の記録媒体で実現可能である。また、格納部11にコンテンツ等が記憶される過程は問わない。例えば、コンテンツ等が、着脱可能な記録媒体を介して記憶されてもよく、端末装置2から通信回線等を介してサーバ装置1に記憶されてもよく、あるいは、入力デバイスを介して記憶されてもよい。
第一格納部111は、複数の端末装置2から送信された画像である1以上のコンテンツが格納される。コンテンツは、当該画像が撮影された時刻を示す時刻情報と、当該画像が撮影された位置(言い換えると、当該画像を撮影したカメラの位置)を示す位置情報とのいずれか一方が対応付いている。
第二格納部112は、人物の顔画像と、人物を識別する人物識別子とを有する1以上の人物情報が格納される。顔画像は、例えば、顔を含む画像であり、人物を撮影した画像から、二値化、輪郭線抽出等の処理を経て、顔と判断される部分の画像を抜き出したものである。人物識別子は、アカウントやメールアドレスなど、人物を識別可能なデータであれば、その種類は問わない。
第三格納部113は、少なくとも、期間を示す期間情報と、当該期間に行われるイベントを示すイベント情報とが対応付けて格納される。この情報を、スケジュール情報と呼ぶ。スケジュール情報には、期間情報およびイベント情報に加えて、当該イベントが行われる場所を示す場所情報や、当該イベントを行う主体を示す主体情報などがさらに含まれてもよい。
第四格納部114は、人物識別子とパスワードとが対にして格納される。具体的には、本コンテンツ共有システムを初めて利用する人物は、自分に関する人物識別子(例えばアカウント)と、任意に決めたパスワードとを端末装置2を介して入力する。こうして入力された人物識別子およびパスワードの対が、当該人物が本コンテンツ共有システムにログインするためのログイン情報として、第四格納部114に格納される。
第五格納部115は、第四格納部114に格納されている人物識別子と、他の1以上の人物の人物識別子とが対にして格納される。他の1以上の人物とは、第四格納部114に格納されている人物識別子に対応する人物(本人)と所定の関係にある1以上の人物である。所定の関係とは、例えば家族の関係、友人の関係等である。第五格納部115は、ログインしている本人の人物識別子と、その家族や友人に関する人物識別子とを対にして格納される。
第六格納部116は、コンテンツの価格に関する価格情報が格納される。価格情報には、個々のコンテンツの価格、またはコンテンツに共通の単価が記述される。コンテンツのサイズによって異なる単価や、コンテンツの数に応じた割引率などが記述されてもよい。
受信部12は、端末装置2から送信された命令、データ、要求(例えば検索指示、コンテンツ、ログイン要求)などを受信する。なお、受信部12は、通信モジュールで実現されるが、放送を受信するモジュールであってもよい。すなわち、端末装置2から送信される命令等は、サーバ装置1に向けたユニキャストであるが、送信先を特定しないブロードキャストでもよく、受信部12は、いずれの態様で送信された命令等でも受信可能である。
特に、第一受信部121は、人物の指定に関する情報である人物指定情報を含む検索指示を受信する。人物指定情報は、端末装置2において構成(作成)され、人物ID、顔画像ないしはその特徴情報などの人物を指定する情報である。この人物指定情報において、画像が複数の人物(例えば複数の顔画像)を有する場合は、当該複数の人物のうち1人の人物に対する指定操作により構成(作成)される。または、人物指定情報は、端末装置2において人物IDを指定する指定操作により構成(作成)されてもよい。なお、特徴情報とは、顔の特徴、例えば、目や鼻や顎といった各部位の相対位置、大きさ、形状、色などに関する情報をいう。
また、第二受信部122は、各端末装置2から送信されたコンテンツを受信する。
また、第三受信部123は、端末装置2から送信されたログイン要求を受信する。ログイン要求では、人物識別子とパスワードとが指定される。人物識別子およびパスワードの指定は、端末装置2の入力手段を介して行われる。第三受信部123は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
処理部13は、コンテンツの共有を実現するための各種の処理、例えば検索処理、人物位置計算処理、課金処理、アルバム作成処理、コンテンツ蓄積処理などを実行する。なお、処理部13は、MPUやメモリ等から実現され、その処理手順は、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
特に、検索部131は、第一受信部121が受信した検索指示に含まれる人物指定情報に対応する人物が写っている1以上のコンテンツを検索する。ここでは、顔認識によって、当該人物の顔画像を含んでいると判断される。検索に当たっては、事前に顔認識を行って、各コンテンツに写っている人物を特定してもよく、リアルタイムに顔認識を行って、各コンテンツに写っている人物を順次特定してもよい。
また、人物指定情報が人物識別子を有する場合、検索部131は、人物指定情報に含まれる人物識別子と対になる人物の顔画像を第二格納部112から取得し、顔画像と予め決められた関係を有する画像を一部に含むコンテンツを検索する。
また、コンテンツに時刻に関する時刻情報や位置に関する位置情報が対応付き、検索指示が時刻情報や位置情報を含む場合、検索部131は、検索指示に含まれる時刻情報や位置情報に対応するコンテンツを決定する。
また、検索部131は、人物指定情報に対応する顔画像と、第一格納部111に格納されている1以上のコンテンツに含まれている各顔画像との間の類似度を閾値とを比較することで、各コンテンツが人物指定情報に対応する顔画像を含んでいるか否かを判断し、かつ、検索に時刻情報または位置情報(あるいはその両方)を使用する場合と、検索に時刻情報も位置情報も使用しない場合とで、当該閾値を変更する。
例えば、検索に時刻情報または位置情報(あるいはその両方)を使用する場合は閾値を相対的に大きくする一方、検索に時刻情報も位置情報も使用しない場合は閾値を相対的に小さくしてよい。閾値を大きくすると、各コンテンツが人物指定情報に対応する顔画像を含んでいるか否かの判断が厳しくなって、人物検索の精度が上がる半面、人物指定情報に対応する顔画像を含んでいると判断されるコンテンツの数が少なくなるが、時刻情報または位置情報による絞り込み検索を併用する(人物検索の結果と絞り込み検索の結果との和集合を検索部131の検索結果とする)ことで、人物検索の漏れを補うことができるからである。
閾値を小さくすると、各コンテンツが人物指定情報に対応する顔画像を含んでいるか否かの判断が甘くなって、人物指定情報に対応する顔画像を含んでいると判断されるコンテンツの数が増えるので、時刻情報または位置情報による絞り込み検索を併用する必要性は低い。ただし、閾値をより小さくして、人物指定情報に対応する顔画像を含んでいると判断されるコンテンツの数が増え過ぎた場合は、人物検索の結果と絞り込み検索の結果との積集合を検索部131の検索結果とすることで、人物検索の誤りが取り除かれるようにしてもよい。
計算部132は、第一格納部111に格納されている1以上のコンテンツについて、当該コンテンツに写っている各人物の位置を計算する。すなわち、各コンテンツに対応付いた時刻情報は、当該コンテンツがカメラで撮影された時刻を示し、同じく位置情報は、当該コンテンツを撮影したカメラの位置を示している。そして、各コンテンツには、当該コンテンツを撮影したカメラの画角および焦点距離の少なくとも一方に関する光学情報がさらに対応付いており、当該コンテンツに写っている各人物の位置は、各コンテンツに対応付いた位置情報および光学情報を用いて計算される。この場合、検索部131は、検索指示に含まれる時刻情報と位置情報とに対応する1以上のコンテンツを決定する際に、計算部132によって計算された人物位置を検索指示に含まれる位置情報の示す位置と比較する。
課金部133は、第六格納部116に格納されている価格情報を参照して、送信部14が端末装置2にダウンロードしたコンテンツに対応する金額を、当該端末装置2のユーザに対して課金する。
作成部134は、画面上で選択された1以上のコンテンツを用いてアルバムを作成する。アルバムは、例えば、1つ以上の頁を含み、1以上のコンテンツは、各頁に配置される。コンテンツを頁内に配置する際には、左上、右上、左下、右下のように単純に並べていっても、所定のレイアウト情報に従ってサイズや向きを調整しながら配置してもよい。
また、作成部134は、例えば、各コンテンツに対応する時刻情報を用いて1以上のコンテンツをソートし、ソートした順序でコンテンツをアルバム中に配置してもよい。また、各コンテンツに対応する時刻情報をスケジュール情報に含まれる時刻情報と比較することで、1以上のコンテンツをイベント毎に配置することも可能である。さらには、アルバムの頁に地図の画像を貼り、各コンテンツに対応する位置情報を用いて、1以上のコンテンツを地図上に配置する方法もある。
蓄積部135は、第二受信部122によって受信されたコンテンツを第一格納部111に蓄積する。これにより、第一格納部111には、各端末装置2からアップロードされたコンテンツが格納される結果となる。
送信部14は、端末装置2に各種のデータ、例えばコンテンツや画面情報を送信する。画面情報は、コンテンツの選択や人物の指定を行うための画面に関する情報である。なお、送信部14は、通信手段で実現されるが、放送手段で実現されても良い。
特に、送信部14は、検索部131によって検索された1以上のコンテンツを送信する。コンテンツが、カメラで撮影された画像の画像データに加えて、撮影情報やサムネイルなどを含む場合は、送信部14は、画像データだけを送信してもよい。
また、検索部131が、検索指示に含まれる時刻情報(または時刻情報と位置情報と)に対応する1以上のコンテンツを決定した場合、送信部14は、検索部131が決定した1以上のコンテンツを有する画面であって、コンテンツの選択または人物の指定を行う画面の情報である画面情報を送信する。
また、各コンテンツに時刻に関する時刻情報が対応付いている場合、送信部14は、検索部131によって検索された1以上のコンテンツを送信する際に、当該コンテンツに対応付いている時刻情報と、第三格納部113に格納されている各期間情報とを比較して、当該コンテンツが撮影された時刻を含む期間情報に対応するイベント情報を特定し、当該特定したイベント情報を当該コンテンツに対応付けて送信する。
また、送信部14は、端末装置2において、画面情報に基づいて出力された画面上でコンテンツが選択されたとき、当該選択されたコンテンツを当該端末装置2の端末格納部21にダウンロードする。
但し、送信部14は、ログイン要求で指定された人物識別子とパスワードとの対が第四格納部114に格納されている場合に画面上でコンテンツの選択を受け付け、そして当該コンテンツに、ログイン要求で指定された人物識別子に対応する人物、または第五格納部115に当該ログイン要求で指定された人物識別子と対応付けて格納されている人物識別子に対応する人物、が写っている(当該人物の顔画像が含まれている)場合に当該コンテンツをダウンロードする。
次に、端末装置2について説明する。図3は、本実施の形態における端末装置2のブロック図である。端末装置2は、端末格納部21、端末受信部22、端末処理部23、端末送信部24を備える。
端末格納部21には、例えば、サーバ装置1に送信(アップロード)するコンテンツ、サーバ装置1から受信(ダウンロード)したコンテンツ、サーバ装置1から受信した画面情報などが格納される。端末受信部22は、サーバ装置1から送信されたコンテンツ、画面情報などを受信する。
端末処理部23は、画面情報に基づく画面を出力したり、画面上で行われるコンテンツ選択操作や人物指定操作を受け付けたり、受け付けた人物指定操作を基に人物指定情報を構成(作成)したりする。なお、画面出力は、ディスプレイへの出力や、外部ディスプレイ等への送信である。また、受け付けとは、キーボードや、タッチパネルなどの入力手段から入力された情報の受け付け、通信回線を介して送信された情報の受信、記録媒体から読み出された情報の受け付けなどを含む概念である。端末処理部23は、例えばMPU等によって実現される。
端末送信部24は、端末格納部21に格納されているコンテンツ、人物指定情報を含んだ検索指示、本コンテンツ共有システムへのログイン要求などをサーバ装置1に送信する。
以下、本実施の形態におけるコンテンツ共有システムの動作について、具体例を交えながら説明する。なお、ここで挙げる具体例は、小学校の運動会で生徒の父兄が撮影した画像の共有であるが、例示に過ぎない。サーバ装置1は、コンテンツ共有システムの運営主体(例えば小学校(または委託を受けた事業者等))に設置され、その職員によって操作される。端末装置2は、スマートフォンなどであり、生徒の父兄によって操作される。
まず、サーバ装置1の動作について図4〜図7のフローチャートを用いて説明する。
運動会の終了後、職員は、運動会のスケジュールを示すスケジュール情報と、コンテンツの価格に関する価格情報とをサーバ装置1に入力する。スケジュール情報は、期間を示す期間情報と、当該期間に行われるイベントを示すイベント情報とで構成される。
(ステップS401)最初、受信部12が、入力デバイスを介して入力されたスケジュール情報を受信する。入力されたスケジュール情報は、図11に示すように、処理部13によって、スケジュールIDを割り当てられ、期間情報とイベント情報とを対にした形式で第三格納部113に書き込まれる。スケジュールIDは、例えば、記録媒体におけるレコードであり、第三格納部113から必要な情報を読み出すとき参照される。
(ステップS402)引き続き、受信付部12は、価格情報の入力を受信する。価格情報には、例えば、コンテンツに共通の単価、コンテンツのサイズによって異なる単価、ダウンロードするコンテンツの数量に応じた値引き率、といった情報が含まれる。入力された価格情報は、処理部13によって第六格納部116に書き込まれる。スケジュール情報および価格情報の入力が完了すると、サーバ装置1は、端末装置2からアクセス可能な状態になる。コンテンツ共有システムを初めて利用する父兄は、端末装置2からインターネットを介してサーバ装置1にアクセスして、ログイン情報の登録を行う。具体的には、父兄が、自分の人物IDとパスワードとを入力すると、端末装置2からサーバ装置1にログイン情報登録要求が送信される。
(ステップS403)処理部13は、端末装置2から送信されたログイン情報登録要求を受信部12が受信したか否かを判別する。ログイン情報登録要求には、送信元である端末装置2の端末識別情報と、当該端末装置2の入力手段を介して入力された人物IDおよびパスワードの対と、当該人物IDおよびパスワードの対をログイン情報として登録するよう要求するコマンドとが含まれている。ログイン情報登録要求が受信された場合はステップS404に進み、受信されない場合はステップS405に進む。
(ステップS404)処理部13は、ログイン情報登録要求に応じて、これに含まれている人物IDおよびパスワードの対を第四格納部114に書き込む。かかる書き込みが1回以上行われることで、第四格納部114には、人物IDおよびパスワードの対が1組以上格納される結果となる。その後、ステップS403に戻る。父兄は、登録したログイン情報を端末装置2に入力することで、コンテンツ共有システムにログインする。入力されたログイン情報は、端末装置2からサーバ装置1に送信される。
(ステップS405)処理部13は、端末装置2から送信されたログイン要求を第三受信部123が受信したか否かを判別する。ログイン要求は、送信元である端末装置2に関する端末識別情報と、端末装置2の入力手段を介して入力された人物IDおよびパスワードの対と、当該人物IDに対応する人物のログインを要求するコマンドとを含んでいる。ログイン要求が受信された場合はステップS406に進み、受信されない場合はステップS408に進む。
(ステップS406)処理部13は、ログイン要求に応じて、これに含まれる人物IDおよびパスワードの対に対応するログイン情報が第四格納部114に格納されているか否かを判別する。対応するログイン情報が格納されている場合は、当該人物IDに対応する人物(つまりログイン操作を行った人物)のログインを許可すると判断し、ステップ407に進む。対応するログイン情報が格納されていない場合はログインを許容しないと判断し、ステップS403に戻る。なお、ステップS403に戻る際に、例えば、人物IDまたはパスワードが正しくない旨のエラー通知を、送信部14から端末装置2に送信してもよい。
(ステップS407)処理部13は、ログイン操作を行った人物のログインを許容したことに伴い、ログイン管理表を更新する。ログイン管理表は、本コンテンツ共有システムにログインしている人物と、人物が操作している端末装置2とを管理するための表であり、これら人物の人物IDと端末装置2の端末識別情報とを対にして記述される。処理部13が行う更新とは、ログイン要求に含まれる人物IDおよびパスワードの対を、ログイン管理表に書き込む処理である。
これによって、父兄の人物IDと、端末装置2のIPアドレスとの対が、ログインしている人物の人物IDおよび端末識別情報としてログイン管理表に書き込まれる。
父兄は、次に、端末装置2の入力手段を介して、自分に関する人物情報の登録を行う。具体的には、父兄が、端末格納部21に格納されているコンテンツの中から自分の顔画像を指定すると、端末装置2からサーバ装置1に人物情報登録要求が送信される。
(ステップS408)処理部13は、端末装置2から送信された人物情報登録要求を受信部12が受信したか否かを判別する。人物情報登録要求は、送信元である端末装置2に関する端末識別情報と、当該端末装置2の入力手段を介して入力された人物IDおよび当該人物が写っている写真から取り込まれた顔画像(または顔画像の特徴情報)の対と、当該人物IDおよび顔画像の対を人物情報として登録するよう要求するコマンドとが含まれている。人物情報登録要求が受信された場合はステップS409に進み、受信されない場合はステップS410に進む。
(ステップS409)処理部13は、人物情報登録要求に応じて、これに含まれている人物IDおよび顔画像の対を第二格納部112に書き込む。これによって、父兄の人物IDと父兄の顔画像(または特徴情報)との対が第二格納部112に格納される。かかる書き込みが1回以上行われることで、第二格納部112には、図12(A)に示すように、人物IDおよび顔画像の対が1組以上格納される結果となる。その後、ステップS403に戻る。
父兄は、次に、自分と所定の関係にある人物(小学校の生徒である我が子)に関する人物情報(関係人物情報)の登録を行う。具体的には、父兄が、端末格納部21に格納されているコンテンツの中から我が子の顔画像を指定して、我が子の人物ID(関係人物ID)を入力すると、端末装置2からサーバ装置1に関係人物情報登録要求が送信される。
(ステップS410)処理部13は、端末装置2から送信された関係人物情報登録要求を受信部12が受信したか否かを判別する。関係人物情報登録要求には、送信元である端末装置2に関する端末識別情報と、当該端末装置2を操作している本人の人物IDと、本人と所定の関係にある1以上の人物に関して入力された人物ID(関係人物ID)および顔画像の対と、当該関係人物IDおよび顔画像の対を、本人の人物IDに対応する関係人物情報として登録するよう要求するコマンドとが含まれている。関係人物情報登録要求が受信された場合はステップS409に進み、受信されない場合はステップS410に進む。
(ステップS411)処理部13は、関係人物情報登録要求に応じて、まず、本人の人物情報が登録されているか否かを判別する。関係人物情報登録要求に含まれている本人の人物IDおよび顔画像の対が第二格納部112に格納されている場合、本人の人物情報は登録されていると判別して、ステップS412に進む。本人の人物IDおよび顔画像の対が第二格納部112に格納されていない場合、本人の人物情報は登録されていないと判別して、ステップS403に戻る。なお、ステップS403に戻る際に、例えば、まず自分の人物情報を登録するように促す通知を、送信部14から端末装置2に送信してもよい。
(ステップS412)処理部13は、次に、関係人物情報登録要求に含まれている1以上の関係人物IDおよび顔画像の対を、本人の人物IDに対応する関係人物情報として第五格納部115に書き込む。例えば、父兄の人物IDに関して、関係人物IDと、これに対応する顔画像との対が第五格納部115に書き込まれる。かかる書き込みが1回以上行われることで、第五格納部115には、図12(B)に示すように、第二格納部112に格納されている人物IDに対応して、関係人物IDおよび顔画像の対が格納される結果となる。その後、ステップS403に戻る。
なお、第五格納部115には、第二格納部112に格納されている各人物IDに関して、関係人物IDと顔画像との対に代えて、関係人物IDと、顔画像の特徴情報との対が格納されてもよい。または、第二格納部112に、人物IDと顔画像(またはその特徴情報)との対に加えて、関係人物IDと顔画像(またはその特徴情報)との対がさらに格納され、第五格納部115には、人物IDと、関係人物IDとの対が格納されてもよい。
また、第五格納部115には、父兄の子供(小学校に通う我が子)に限らず、家族(配偶者・親・兄弟等)、友人などについて、関係人物IDと顔画像との対が格納されてもよい。処理部13は、第五格納部115に関係人物IDおよび顔画像を書きむに当たって、本システムにログインしている人物と、当該人物が登録しようとしている人物とが所定の関係(例えば親子関係、家族関係、友人関係等)であることの確認処理を行ってもよい。確認処理は、例えば、予め登録されている個人情報との照合などにより行える。
以上で、コンテンツ共有システムの利用に必要な情報の登録は完了となる。以降、父兄は、端末装置2の端末格納部21に格納されているコンテンツをサーバ装置1にアップロードしたり、サーバ装置1の第一格納部111に格納されているコンテンツの中から我が子が写っているコンテンツを検索して、端末装置2の端末格納部21にダウンロードしたりできるようになる。
(ステップS413)処理部13は、端末装置2から送信されたコンテンツを第二受信部122が受信したか否かを判断する。コンテンツには、送信元である端末装置2に関する端末識別情報と、当該コンテンツのアップロード操作を行った人物の人物IDとが付加されている。コンテンツが受信された場合はステップS414に進み、受信されない場合はステップS418に進む。
(ステップS414)蓄積部135が、受信されたコンテンツを、当該コンテンツを識別するコンテンツIDと対応付けて第一格納部111に蓄積する。かかる蓄積が1回以上行われることで、第一格納部111には、図13に示すように、コンテンツIDおよびコンテンツの対が1組以上格納される結果となる。
コンテンツは、例えば、カメラで撮影された画像(写真または動画)の画像データと、当該画像を撮影したカメラの撮影条件に関する情報である撮影情報と、当該画像を代表する代表画像(例えばサムネイル)などを含む、画像ファイルであってもよい。ただし、コンテンツは、必ずしも画像ファイルの形式を有している必要はなく、例えば、画像データそのものであってもよい。コンテンツが画像データ自体である場合、コンテンツに撮影情報、サムネイルなどが付加されてもよい。また、サムネイルは、画像データのサイズ、画面のサイズ、画面内のコンテンツの数などによっては、必ずしも縮小画像である必要はない。
撮影情報は、写真等をカメラで撮影した時刻を示す時刻情報と、カメラの位置を示す位置情報と、写真等を撮影したときのカメラの画角や焦点距離に関する光学情報などを含む。位置情報は、例えばGPSから取得した情報であり、一例として(緯度,経度)で表現された位置座標と、南東、北北西のように表現された撮影方向とを示す情報が記述されている。ただし、位置情報は、カメラの位置および撮影方向を特定可能な情報であればよく、表現形式は問わない。
(ステップS415)処理部13は、コンテンツに写っている人物を特定する。具体的には、例えば、写真等の画像データに対して二値化および輪郭線検出といった処理を施すことで、当該画像データから顔画像と判断される1以上の部分の画像データを抽出し、抽出した各部分の画像データと、第二格納部112に格納されている各顔画像データのとの間で類似度を求める。
そして、類似度が閾値よりも高い組み合わせが1つ以上あった場合、当該画像データは第二格納部112に格納されている顔画像データを含んでいるとみなして、第二格納部112から、顔画像データに対応する1以上の人物IDを取得する。こうして、コンテンツに写っている1以上の人物を特定が特定される。
(ステップS416)計算部132は、コンテンツに対応付いた位置情報および光学情報を用いて、特定された人物位置を計算する。具体的には、位置情報には、コンテンツを撮影したカメラの位置および撮影方向が記述され、光学情報には、撮像素子のサイズ、レンズの焦点距離などが記述されている。
まず、撮像素子のサイズと、コンテンツのフレームサイズに対する人物画像(と判断される領域)のサイズの割合から、撮像素子上に結像した人物像のサイズを求める。
次に、焦点距離と、人物の身長と、撮像素子上に結像した人物像のサイズとから、カメラから当該人物までの距離を求める。人物の身長については、平均身長を用いる。例えば、焦点距離が300mm、人物の平均身長が140cm(=1.4m)の場合、撮像素子上に結像した人物像のサイズが6mmであったとすると、カメラから人物までの距離は、1.4×300/6=70mであり、従って、カメラの位置から撮影方向に向かって70m移動した位置が、人物位置となる。なお、焦点距離に代えて画角が光学情報に記述されている場合は、画角と撮像素子のサイズとを基に公知の計算式で焦点距離を求めた後、上記と同様の計算を行えばよい。
(ステップS417)処理部13は、人物位置管理表を更新する。人物位置管理表は、第一格納部111に格納されている1以上のコンテンツについて、当該コンテンツに写っている人物の位置を管理するための表である。人物位置管理表の一例を図14に示す。人物位置管理表には、コンテンツ毎に、写っている人物の人物IDと、当該1以上の人物それぞれの位置とが対にして記述されている。物位置管理表の更新とは、ステップS414で蓄積されたコンテンツのコンテンツIDと、ステップS415で特定された人物IDと、ステップS416で計算された人物の位置とを、かかる人物位置管理表に書き込む処理である。その後、ステップS403に戻る。
こうして、父兄が端末装置2からコンテンツをアップロードする度に、アップロードされたコンテンツに関し、特定された人物の人物IDと、計算された人物の位置との対が、人物位置管理表に追記されていく。
他の父兄も同様に、コンテンツのアップロードを自分の端末装置2から行うことで、サーバ装置1の第一格納部111には、運動会で撮影された多数のコンテンツが格納され、人物位置管理表には、各コンテンツに写った1以上の人物の人物IDと当該1以上の人物の位置との対が記述される結果となる。
そして、本コンテンツ共有システムでは、他の父兄がアップロードしたコンテンツに、偶然、我が子が写っている可能性がある。父兄は、端末装置2の入力手段を介して、我が子の人物IDを指定した検索指示操作を行うことで、サーバ装置1の第一格納部111に格納されているコンテンツの中から、我が子が写っているコンテンツを検索することができる。例えば、父兄が、我が子の人物IDを指定した検索指示操作を行うと、端末装置2からサーバ装置1に、人物IDを指定した検索指示が送信される。
(ステップS418)処理部13は、人物IDを指定した検索指示を第一受信部121が受信したか否かを判別する。人物IDを指定した検索指示については、端末装置2のフローチャートで説明する。人物IDを指定した検索指示が受信された場合はステップS419に進み、受信されていない場合はステップS426に進む。
(ステップS419)処理部13は、指定された人物IDに対応する顔画像を第二格納部112または第五格納部115から取得する。関係人物が指定された場合、処理部13は、関係人物IDに対応する顔画像を第五格納部115から取得する。なお、例えば父兄自身の人物IDを指定した場合には、第二格納部112から人物IDに対応する顔画像が取得される。なお、図示はしていないが、指定された人物IDが第二格納部112にも第五格納部115にも格納されていない場合には、その旨のメッセージを送信部14から検索指示の送信元に送信した後、ステップS401に戻ればよい。
(ステップS420)検索部131は、取得された顔画像と予め決められた関係を有する画像を一部に含む1コンテンツを検索する。具体的には、まず、人物位置管理表(図14参照)を検索して、指定された人物IDを「写っている人物の人物ID」の中に含むような1以上のコンテンツが存在していれば、検索要求に対する検索結果を当該1以上のコンテンツに決定する。例えば、父兄の子供の人物ID(関係人物ID)を指定した検索要求に対しては、関係人物IDを「写っている人物の人物ID」の中に含むような2つのコンテンツ“1”および“2”が存在しているので、当該2つのコンテンツ“1”および“2”が検索結果に決定される。
次に、第一格納部111に格納されているコンテンツの画像データに対して、ステップS415で実行したものと同様の処理を順次行う。ステップS415は、新たなコンテンツが受信されたとき当該コンテンツに対して行われる処理なので、後から人物情報を登録した人物の人物IDは、人物位置管理表に記載されていない場合があるからである。
すなわち、コンテンツ“1”の画像データに対し、二値化および輪郭線検出といった処理を施すことで、当該画像データから顔画像と判断される1以上の部分の画像データを抽出し、抽出した各部分の画像データと、取得された顔画像の画像データのとの間で類似度を求める。コンテンツ“2”以降についても同様に類似度を求め、そして、類似度が閾値よりも高い部分を含む1以上のコンテンツが存在する場合、検索部131は、検索要求に対する検索結果を当該1以上のコンテンツに決定する。なお、ここで決定された1以上のコンテンツについても、ステップS416と同様の人物位置計算が実行され、人物位置管理表に反映される。
ところで、上記のような顔画像による人物検索では、例えば、顔画像の認識率が低い場合、有益な検索結果が得られない可能性がある。そこで、本コンテンツ共有システムでは、時刻および/または位置による絞り込みを併用している。すなわち、父兄は、上記のような検索指示を行う際に、時刻および/または位置を指定することができる。なお、時刻を指定する場合、“9:30”といった値がタッチパネル等の入力手段を介して入力されるのを受け付ける。位置を指定する場合には、例えば、端末装置2のディスプレイに運動場の地図画面を出力し、地図画面上で所望の点ないし範囲を指定する操作をタッチパネルで受け付ければよい。時刻が指定された場合、端末装置2は、当該指定時刻に関する時刻情報を上記の検索指示に含めて送信する。また、位置が指定された場合、端末装置2は、当該指定位置に関する時刻位置を上記の検索指示に含めて送信する。
(ステップS421)処理部13は、検索指示が時刻情報を含んでいるか否かを判別する。検索指示が時刻情報を含んでいる場合はステップS422に進み、含んでいない場合はステップS423に進む。
(ステップS422)検索部131は、検索指示に含まれる時刻情報で絞り込みを行う。この絞り込みは、第一格納部111に格納されているコンテンツの中から、検索指示に含まれる時刻情報に対応する1以上のコンテンツを決定する処理である。検索指示に含まれる時刻情報に対応するコンテンツとは、当該コンテンツに含まれる時刻情報の示す時刻が、検索指示に含まれる時刻情報の示す時刻と一致するまたは近接する(両時刻の差分が閾値に満たない)コンテンツである。その後、ステップS423に進む。
(ステップS423)処理部13は、検索指示が位置情報を含んでいるか否かを判別する。検索指示が位置情報を含んでいる場合はステップS424に進み、含んでいない場合はステップS425に進む。
(ステップS424)検索部131は、検索指示に含まれる位置情報で絞り込みを行う。この位置情報に対応するとは、位置情報の示す位置が、検索指示に含まれる位置情報の示す位置と一致または近接する(両位置の差分が閾値に満たない)ことをいう。また、この絞り込みは、ステップS422がスキップされた場合には第一格納部111に格納されているコンテンツの中から、ステップS422が実行された場合には時刻情報で絞り込まれたコンテンツの中から、検索指示に含まれる位置情報に対応するコンテンツを決定する処理(第一格納部111に格納されているコンテンツの中から、検索指示に含まれる時刻情報と位置情報とに対応するコンテンツを決定する処理)である。例えば、位置“北緯,東経”が指定された場合、各コンテンツに含まれる位置情報を参照して、当該指定位置“北緯,東経”を中心とする任意のサイズや形状内で撮影されたコンテンツが検索結果に決定される。
なお、上で指定された位置は、コンテンツを撮影したカメラに関する位置であるが、カメラで撮影された人物に関する位置を指定することもできる。この場合、検索部131は、人物位置管理表の「写っている人物の位置」を参照して、指定された位置またはその近傍にいる人物が写っている1以上コンテンツを決定する。その後、ステップS425に進む。
(ステップS425)送信部14は、検索部131が決定したコンテンツを有する画面であり、コンテンツの選択または人物の指定を行う画面の情報である画面情報を、検索指示の送信元である端末装置2に送信する。ここでいうコンテンツとは、ステップS420で決定されたコンテンツと、ステップS422で決定されたコンテンツと、ステップS424で決定されたコンテンツとの和集合である。
和集合を採用しているのは、顔画像の認識率が低い場合にも有益な検索結果を得るためである。ただし、積集合を採用してもよく、例えば「徒競走でゴールを駆け抜ける我が子」が写っている写真を検索するといったことが可能となる。また、検索の度に、和集合と積集合とのいずれかを選択して採用するようにしてもよい。
なお、検索指示に時刻情報と位置情報との少なくとも1つが含まれている場合には、検索指示に時刻情報及び位置情報が含まれていない場合に比べて、顔画像による人物検索を行う際の閾値を上げてもよい。例えば、本比較を行い当該閾値を上げることで、顔画像の認識率が低くなっても、時刻情報または位置情報を用いて有意な検索結果が得られる可能性があるからである。
一般には、検索部131は、検索に時刻情報と位置情報との少なくとも1つを用いる場合と、そうでない場合とで、当該閾値を変更する。これにより、顔画像の認識率が低くても、有意な検索結果が得られ易くなる。
送信部14から送信される画面情報は、マークアップ言語で記述され、決定されたコンテンツに対応するサムネイルの画像データが埋め込まれている。ここでいうコンテンツは、サムネイルの画像データを含んでおり、サムネイルの画像データは、第一格納部111から取得される。
好ましくは、送信部14は、決定されたコンテンツに対応するイベント情報を第三格納部113から取得し、そして、取得したイベント情報が、画面内でコンテンツと対応付けて表示されるように制御する制御情報を、画面情報に含めて送信する。コンテンツに対応するイベント情報とは、例えば、コンテンツが撮影された時刻を含む期間に行われていたイベントの情報である。イベント情報は、コンテンツに含まれる時刻情報を第三格納部113に格納されている各期間情報と比較することにより特定可能である。画面情報の送信後、ステップS403に戻る。
端末装置2では、サーバ装置1から受信した画面情報を基に、図15に示すような画面がディスプレイに表示される。この画面には、検索部131が決定したコンテンツ(サムネイル)と、コンテンツとそれぞれ対応付けて表示されたスケジュール情報(期間情報(9:30〜10:00)やイベント情報(開会式))と、人物IDの入力欄と、時刻の入力欄と、位置の入力欄と、検索実行を指示するための検索ボタンと、アルバム作成を指示するためのアルバム作成ボタンと、ダウンロードを指示するためのダウンロードボタンとを含んでいる。コンテンツの中には、指定された人物IDまたは指定された顔画像に対応するコンテンツ、指定された時刻に対応するコンテンツ、指定された位置に対応するコンテンツなどが含まれる。また、コンテンツに対応付けてスケジュール情報が表示されているので、コンテンツが何時のイベント中に撮影されたものか分かる。
父兄は、図15に示す画面からコンテンツを選択して、端末装置2の端末格納部21にダウンロードしたり、アルバムを作成したりすることができる。また、選択したコンテンツから顔画像を指定して、再度検索を行うこともできる。別の人物IDを入力して、検索を行うこともできる。検索を行う際に、絞り込みの条件として、時刻や位置を指定することもできる。なお、コンテンツを選択した際、端末装置2自身に関する端末識別情報と、コンテンツのコンテンツIDとが記述された選択結通知が作成される。
選択したコンテンツをダウンロードしたい場合、父兄は、コンテンツ選択に引き続き、ダウンロード指示操作を行う。これを受けて、端末装置2から、ダウンロード指示を含む選択結果通知がサーバ装置1に送信される。また、選択したコンテンツでアルバムを作成したい場合、父兄は、コンテンツ選択に引き続き、アルバム作成指示を行う。これを受けて、端末装置2から、アルバム作成指示を含む選択結果通知がサーバ装置1に送信される。
また、選択したコンテンツに写っている1以上の人物の中から任意の人物を検索したい場合、父兄は、コンテンツ選択に引き続き、その人物の顔画像を指定した検索操作を行う。これを受けて、端末装置2から、顔画像を指定した検索指示を含む選択結果通知がサーバ装置1に送信される。
(ステップS426)処理部13は、端末装置2から送信されたコンテンツ選択通知を受信部12が受信したか否かを判別する。コンテンツ選択通知には、送信元である端末装置2に関する端末識別情報と、画面上で選択されたコンテンツを示すコンテンツIDと、コンテンツの取り扱いに関する指示である指示情報とが含まれている。コンテンツ選択通知に含まれ得る指示情報は、ダウンロード指示、アルバム作成指示、または顔画像を指定した検索指示、のいずれかを示す指示情報である。コンテンツ選択通知が受信された場合はステップS427に進み、受信されない場合はステップS403に戻る。
(ステップS427)処理部13は、受信されたコンテンツ選択通知がダウンロード指示を含んでいるか否かを判別する。コンテンツ選択通知がダウンロード指示を含んでいる場合はステップS428に進み、ダウンロード指示を含んでいない場合はステップS432に進む。
(ステップS428)処理部13は、選択されたコンテンツ、つまりダウンロード指示の対象となっているコンテンツが、コンテンツを選択した本人またはその関係人物の写っているコンテンツであるか否かを判別する。
具体的には、まず、コンテンツ選択通知に含まれている端末識別情報でログイン管理表を検索して、ログインしている人物つまりコンテンツ選択を行った本人の人物IDを取得する。次に、第五格納部115を検索して、当該本人と所定の関係にある関係人物に対応する関係人物IDを取得する。さらに、コンテンツ選択通知に含まれるコンテンツIDで人物位置管理表を検索して、コンテンツIDに対応する「写っている人物の人物ID」の中に、取得した本人の人物IDまたは関係人物IDの少なくとも1つが含まれているか否かを判別する。そして、「写っている人物の人物ID」の中に、本人の人物IDまたは関係人物IDの少なくとも一つが含まれているコンテンツは、本人または関係人物が写っているコンテンツとみなされ、本人の人物IDまたは関係人物IDのいずれも含まれていないコンテンツは、本人または関係人物が写っていないコンテンツとみなされる。
選択されたコンテンツの全部が本人またはその関係人物の写っているコンテンツである場合はステップS429に進み、選択されたコンテンツの少なくとも1つが本人はたはその関係人物の写っていないコンテンツである場合は、ステップS431に進む。
(ステップS429)送信部14は、選択されたコンテンツを、端末装置2の端末格納部21にダウンロードする。例えば、父兄が選択したコンテンツに、父兄本人およびその子供の少なくとも一人が写っていれば、そのコンテンツは、サーバ装置1から端末格納部21にダウンロードされるが、本人も子供も写っていなければ、そのコンテンツのダウンロードは実行されない。これによって、プライバシーに配慮したコンテンツ共有が可能になる。
(ステップS430)課金部133は、ダウンロードされたコンテンツの代金を第六格納部116に格納されている価格情報に基づいて算出し、コンテンツ選択を行った本人に当該代金を課金する。なお、ダウンロードは、決済と同時に、または決済の後に実行されてもよい。その後、ステップS403に戻る。
(ステップS431)送信部14は、本人または関係人物が写っていないコンテンツが指定された旨を示すエラー通知を、コンテンツ選択通知の送信元である端末装置2に送信する。その後、ステップS403に戻る。
(ステップS432)処理部13は、受信されたコンテンツ選択通知がアルバム作成指示を含んでいるか否かを判別する。コンテンツ選択通知がアルバム作成指示を含んでいる場合はステップS433に進み、ダウンロード指示を含んでいない場合はステップS435に進む。
(ステップS433)作成部134は、選択されたコンテンツを各頁に配置していくことによりアルバムを作成する。格納部11には、各頁内においてコンテンツが配置可能な領域を定義したレイアウト情報が格納されており、作成部134は、コンテンツをレイアウト情報に従って(サイズや向きを調整しながら)頁内に配置していく。これにより、見栄えの良いアルバムを作成できる。なお、レイアウト情報は用いずに、コンテンツを単純に並べて行ってもよい。これにより、簡易にアルバムを作成できる。または、端末装置2を介して複数のレイアウトを提示し、ユーザが選択したレイアウトを用いてアルバムを作成してもよい。これにより、ユーザの好みに合ったレイアウトのアルバムを作成できる。
(ステップS434)送信部14は、作成部134が作成したアルバムに関する情報であるアルバム情報をコンテンツ選択通知の送信元である端末装置2に送信する。アルバム情報は、例えば、選択されたコンテンツの画像データと、各頁の背景の画像データと、各頁のどの領域にどのコンテンツが配置されたかが記述されたレイアウト情報とを含む。端末装置2では、このようなアルバム情報に基づいてアルバムが構成され、アルバムの画面が出力される。なお、アルバム情報は、作成部134が作成したアルバムのビットマップ画像であってもよく、この場合、端末装置2では、アルバム情報に基づくアルバムの画面が出力される。アルバム情報の送信後、ステップS403に戻る。なお、アルバム作成を有料で行う場合には、アルバム情報の送信後、ステップS403の課金処理を経て、ステップS403に戻ってもよい。この場合の課金処理において、アルバムの代金は、例えば、使用したコンテンツの枚数に基づいて計算されてもよいし、アルバムの頁数に応じて計算されてもよく、代金の計算方法は問わない。
(ステップS435)処理部13は、顔画像を指定した検索指示を第一受信部121が受信したか否かを判別する。顔画像の指定は、ステップS425で送信された画面情報を受信した端末装置2において行われる。端末装置2では、画面情報に基づく画面が出力され、画面内のコンテンツから任意の人物の顔画像が指定されると、当該顔画像を指定した検索指示がサーバ装置1に送信される。なお、顔画像を指定した検索指示については、端末装置2のフローチャートで説明する。顔画像を指定した検索指示が受信された場合はステップS420に進み、受信されていない場合はステップS403に戻る。ステップS420では、当該顔画像を含むコンテンツの検索が行われ、さらにステップS421〜S424で絞り込みが行われた後、決定された1以上のコンテンツを含む画面の画面情報が送信されることになる。
なお、図4〜図7のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、端末装置2の動作について図8〜図10のフローチャートを用いて説明する。なお、サーバ装置1の動作説明に付随して説明した事項は省略する。
(ステップS801)端末処理部23は、ログイン情報登録操作が行われたか否かを判別する。ログイン情報登録操作とは、本コンテンツ共有システムのログイン情報の設定を行いたい人物が、入力デバイスを介して、自分自身に関する人物IDおよび自分で決めたパスワードの対を入力し、人物IDおよびパスワードの対をログイン情報としての登録するよう指示する操作である。ログイン情報登録操作が行われると、ステップS802に進み、行われなければステップS803に進む。
(ステップS802)端末送信部24は、ログイン情報登録要求をサーバ装置1に送信する。ログイン情報登録要求には、端末装置2自身の端末識別情報と、入力デバイスを介して入力された人物IDおよびパスワードの対と、当該人物IDおよびパスワードの対をログイン情報として登録するよう要求するコマンドとが含まれる。その後、ステップS801に戻る。
(ステップS803)端末処理部23は、ログイン操作が行われたか否かを判別する。ログイン操作とは、本コンテンツ共有システムにログインしたい人物が、事前に登録してある人物IDおよびパスワードの対を入力して、ログインを要求する操作である。ログイン要求操作が行われると、ステップS804に進み、行われなければステップS805に進む。
(ステップS804)端末送信部24は、ログイン要求をサーバ装置1に送信する。ログイン要求には、端末装置2自身の端末識別情報と、入力された人物IDおよびパスワードの対と、当該人物IDに対応する人物のログインを要求するコマンドとが含まれる。その後、ステップS801に戻る。
(ステップS805)端末処理部23は、人物情報の登録操作が行われたか否かを判別する。人物情報の登録操作とは、初めてログインした人物が、例えば、端末格納部21に格納されているコンテンツから自分の顔画像をタッチパネル等の入力デバイスで指定して、自分の人物IDおよび指定した顔画像の対を人物情報として登録するよう要求する操作である。人物情報の登録操作が行われると、ステップS806に進み、行われなければステップS807に進む。
(ステップS806)端末送信部24は、人物情報登録要求をサーバ装置1に送信する。人物情報登録要求には、端末装置2自身の端末識別情報と、ログイン時に入力された人物IDおよび上記のように指定された顔画像の対と、当該人物IDおよび顔画像の対を人物情報として登録するよう要求するコマンドとが含まれている。その後、ステップS801に戻る。
(ステップS807)端末処理部23は、関係人物情報の登録操作が行われたか否かを判別する。関係人物情報の登録操作とは、ログインしている本人が、例えば、端末格納部21に格納されているコンテンツから、自分と所定の関係にある人物(家族、親しい友人など)の顔画像を順次指定しつつ、人物の人物ID(関係人物ID)を入力し、人物に関する関係人物IDおよび顔画像の対を自分の関係人物情報として登録するよう要求する操作である。関係人物情報の登録操作が行われると、ステップS808に進み、行われなければステップS809に進む。
(ステップS808)端末送信部24は、関係人物情報登録要求をサーバ装置1に送信する。関係人物情報登録要求には、端末装置2自身の端末識別情報と、ログインしている本人の人物IDと、本人と所定の関係にある1以上の人物に関して入力された関係人物IDおよび顔画像の対と、当該関係人物IDおよび顔画像の対を、本人の人物IDに対応する関係人物情報として登録するよう要求するコマンドとが含まれている。その後、ステップS801に戻る。
(ステップS809)端末処理部23は、コンテンツのアップロード操作が行われたか否かを判別する。コンテンツのアップロード操作とは、端末格納部21に格納されているコンテンツをサーバ装置1の第一格納部111にアップロードする操作である。コンテンツのアップロード操作が行われると、ステップS810に進み、行われなければステップS811に進む。
(ステップS810)端末送信部24は、コンテンツをサーバ装置1に送信する。コンテンツには、端末装置2自身の端末識別情報と、ログインしている本人の人物IDとが付加されている。その後、ステップS801に戻る。
(ステップS811)端末処理部23は、人物IDを指定した検索指示操作が行われたか否かを判別する。人物IDを指定した検索指示操作とは、検索したい人物の人物IDを入力デバイスで入力して、検索の実行を指示する操作である。人物IDを指定した検索指示操作が行われるとステップS812に進み、行われなければステップS818に進む。
(ステップS812)端末処理部23は、検索指示を作成する。この検索指示には、端末装置2自身に関する端末識別情報と、入力された人物IDを含む人物指定情報と、検索の実行指示とが含まれる。その後、ステップS813に進む。
(ステップS813)端末処理部23は、時刻指定操作が行われたか否かを判別する。時刻指定操作とは、コンテンツを絞り込む際の条件として時刻を指定する操作である。時刻指定操作が行われるとステップS814に進み、行われなければステップS815に進む。
(ステップS814)端末送信部24は、作成した検索指示に、指定された時刻を示す時刻情報を付加する。その後、ステップS815に進む。
(ステップS815)端末処理部23は、位置指定操作が行われたか否かを判別する。位置指定操作とは、コンテンツを絞り込む際の条件として位置を指定する操作である。位置指定操作が行われるとステップS816に進み、行われなければステップS817に進む。
(ステップS816)端末送信部24は、作成した検索指示に、指定された位置を示す位置情報を付加する。その後、ステップS817に進む。
(ステップS817)端末送信部24は、作成した検索指示を送信する。人物IDを指定した検索指示は、時刻情報が付加されたものと、位置情報が付加されたものと、時刻情報および位置情報が付加されたものと、時刻情報も位置情報も付加されていないものとの4種類がある。顔画像を指定した検索指示もまた、同様の4種類が存在する。その後、ステップS801に戻る。
(ステップS818)端末処理部23は、サーバ装置1から送信された画面情報を端末受信部22が受信したか否かを判別する。画面情報が受信されるとステップS819に進み、受信されなければステップS801に戻る。
(ステップS819)端末処理部23は、受信された画面情報に基づく画面をディスプレイ等の出力デバイスに出力する。この画面には、ステップS817で送信した検索指示に応じてサーバ装置1の検索部131が決定したコンテンツが配置されている。また、画面には、コンテンツにそれぞれ対応付けて、「開会式」等のイベント情報が表示されている。コンテンツの中には、指定された人物IDまたは指定された顔画像に対応するコンテンツ、指定された時刻に対応するコンテンツ、指定された位置に対応するコンテンツなどが含まれる。コンテンツに対応付けてイベント情報を表示することで、コンテンツが何のイベント中に撮影されたものかわかる。
(ステップS820)端末処理部23は、コンテンツ選択操作が行われたか否かを判別する。コンテンツ選択操作とは、画面内の1以上のコンテンツの中から任意のコンテンツをタッチパネル等の入力デバイスを介して選択する操作である。コンテンツ選択操作が行われるとステップS821に進み、行われなければステップS801に戻る。
(ステップS821)端末処理部23は、ダウンロード指示操作が行われたか否かを判別する。ダウンロード指示操作とは、選択したコンテンツをサーバ装置1から端末格納部21にダウンロードするよう指示する操作である。ダウンロード指示操作が行われるとステップS822に進み、行われなければステップS823に進む。
(ステップS822)端末送信部24は、ダウンロード指示を含む選択結果通知をサーバ装置1に送信する。ダウンロード指示を含む選択結果通知には、端末装置2自身に関する端末識別情報と、選択されたコンテンツのコンテンツIDとが記述される。その後、ステップS801に戻る。
(ステップS823)端末処理部23は、顔画像を指定した検索指示操作が行われたか否かを判別する。顔画像を指定した検索指示操作とは、コンテンツ選択操作によって選択したコンテンツから、検索したい人物の顔画像を入力デバイスで指定して、検索の実行を指示する操作である。具体的には、ステップS818で受信した画面情報に基づく画面がディスプレイ等に出力され、画面内のコンテンツから所望の人物の顔画像を指定する操作が入力デバイスで受け付けられる。コンテンツ内に複数の顔画像が存在する場合は、その中の顔画像を指定する操作が受け付けられる。顔画像を指定した検索指示操作が行われるとステップS824に進み、行われなければステップS825に進む。
(ステップS824)端末処理部23は、検索指示を作成する。ここでの検索指示には、指定された顔画像(またはその特徴情報)を含む人物指定情報と、検索の実行指示とが含まれる。具体的には、端末処理部23は、指定された人物の顔画像をコンテンツから抽出し、抽出した顔画像と、検索の実行指示とを含む検索指示を作成する。なお、抽出した
顔画像から、当該顔画像の特徴を示す特徴情報を作成し、作成した特徴情報と、検索の実行指示とを含む検索指示を作成してもよい。その後、ステップS813に進む。こうして作成された、顔画像を指定した検索指示は、ステップS813とこれに続くS814〜S816で、必要に応じて時刻情報または位置情報が付加された後、ステップS817でサーバ装置1に送信される。
(ステップS825)端末処理部23は、アルバム作成指示操作が行われたか否かを判別する。アルバム作成指示操作とは、コンテンツ選択操作によって選択したコンテンツを用いてアルバムを作成するよう指示する操作である。アルバム作成指示操作が行われるとステップS826に進み、行われなければステップS827に進む。
(ステップS826)端末送信部24は、アルバム作成指示を含む選択結果通知をサーバ装置1に送信する。アルバム作成指示を含む選択結果通知には、端末装置2自身に関する端末識別情報と、選択されたコンテンツのコンテンツIDとが記述される。その後、ステップS801に戻る。
(ステップS827)端末処理部23は、サーバ装置1から送信されたアルバム情報を端末受信部22が受信したか否かを判別する。アルバム情報が受信されるとステップS828に進み、受信されなければステップS801に戻る。
(ステップS828)端末処理部23は、受信されたアルバム情報に基づくアルバムの画面をディスプレイ等の出力デバイスに出力する。具体的には、アルバム情報には、選択されたコンテンツの画像データと、各頁の背景の画像データと、各頁のどの領域にどのコンテンツが配置されたかが記述されたレイアウト情報とが含まれており、端末処理部23は、このようなアルバム情報に基づいてアルバムの画像を構成して、出力デバイスに出力する。
なお、図8〜図10のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以上、本実施の形態によれば、所望の人物を指定すると、サーバ装置1において、その人物の顔の画像である顔画像が含まれているコンテンツが検索され、検索された1以上のコンテンツが送信されるので、多数のコンテンツの中からその人物が写っているコンテンツを容易に入手できるようになる。
また、本実施形態では、端末装置2を介して所望の人物の人物IDを指定するだけで、サーバ装置1において、その人物の顔画像が取得され、当該顔画像を含むコンテンツが検索される。また、人物指定情報は、端末装置2において出力された画像内の人物に対する指定操作により構成されてもよく、したがって、写真内の所望の人物を指定するだけでも、その人物が写ったコンテンツが検索される。指定操作は、画像内の複数の人物から1人の人物を指定する操作であってもよい。このため、利便性が向上する。
また、本実施形態では、顔画像による検索で決定されたコンテンツ、時刻情報による絞り込みで決定されたコンテンツなどを含む画面が端末装置2から出力され、この画面上でコンテンツを選択したり人物を指定したりできるため、所望のコンテンツを入手できる可能性が高まる。
また、本実施形態では、コンテンツに対応付いているカメラの位置情報、光学情報などから、当該コンテンツに写っている人物の位置情報を計算し、位置情報による絞り込みでは、こうして計算した人物の位置情報を用いるので、カメラの位置に限らず、人物の位置による絞り込みも可能になる。
また、本実施形態によれば、コンテンツに対応付いている時刻情報と、スケジュール格納部に格納されている期間情報およびイベント情報とを用いてイベントを特定するので、検索されたコンテンツが何のイベントで撮影されたものかわかる。その結果、例えば、所望のイベントで撮影されたコンテンツの入手、あるいは入手したコンテンツのイベントによる分類等が容易に行えるようになる。
また、本実施形態では、端末装置2において、画面上で所望のコンテンツを選択することにより、そのコンテンツをサーバ装置1からダウンロードして購入したり、アルバムを自動的に作成したりできるため、利便性が高まる。そして、ダウンロードできるのは、ログインした人物またはその家族等が写っているコンテンツに限られるので、プライバシーが保たれ、セキュリティが向上する。
また、本実施形態では、各端末装置2に格納されているコンテンツをサーバ装置1にアップロードする一方、サーバ装置1から各端末装置2に所望のコンテンツをダウンロードするので、コンテンツを共有できる。また、コンテンツがアップロードされる度に、当該コンテンツに含まれている顔画像と対になる人物IDを取得して、当該コンテンツと対にして保持しておくことで、人物検索を行う際の処理負荷が軽減される。
なお、この実施形態では、検索指示の際に、端末装置2において写真内の所望の人物を指定する操作は、サーバ装置1から受信した画面情報に基づく画面(図15参照)から選択されたコンテンツに関して行われた(ステップS823,S824参照)が、これに限らず、例えば、端末格納部21から選択されたコンテンツに関して行われてもよい。
具体的には、端末装置2において、例えば、端末格納部21から写真が選択されると、端末処理部23は、その写真をディスプレイに出力する。次に、図16に示すように、ディスプレイに表示されている写真から人物が入力デバイスを介して指定されると、端末処理部23は、写真の画像から、指定された人物の顔画像を抽出する。
そして、当該写真の画像から抽出した顔画像を、第二格納部112または第五格納部115に格納されている顔画像と比較することによって、指定された人物に対応する人物IDを取得する。こうして取得した人物IDで人物位置管理表(図14参照)を検索すれば、人物IDに対応する人物が写っているコンテンツのIDが得られる。
または、第一格納部111に格納されている各コンテンツから顔と判断される部分の画像を順次抽出して、当該写真の画像から抽出した顔画像と逐一比較していくことによっても、人物IDに対応する人物が写っているコンテンツのコンテンツIDを得ることはできる。
また、端末装置2からコンテンツがアップロードされる度に、コンテンツに含まれている顔画像と対になる人物IDを第二格納部112から取得して、コンテンツと対にして人物位置格納表に保持しておくことで、人物検索を行う際の処理負荷が軽減される。
また、本実施の形態におけるサーバ装置1での処理と、複数の端末装置2での処理と、サーバ装置1と複数の端末装置2とのインターネットを介した通信処理とは、ソフトウェアで実現しても良い。そして、このソフトウェアをダウンロード等により配布したり、記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。
本実施の形態におけるサーバ装置1での処理と、複数の端末装置2での処理と、サーバ装置1と複数の端末装置2とのインターネットを介した通信処理とを実現するソフトウェアは、以下のようなプログラムで構築されている。
本実施の形態にかかるソフトウェアは、図1,2に示すように、インターネットを介したサーバ装置1と複数の端末装置2との通信を実行させるプログラムであり、サーバ装置1を、格納部11と受信部12と処理部13と送信部14として機能させるプログラムであり、端末装置2を、端末格納部21と端末受信部22と端末処理部23と端末送信部24として機能させるプログラムである。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどの通信モジュールで行われる処理(ハードウェアでしか行われない処理)は含まれない。また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、1つの装置に存在する複数の通信手段(例えば端末送信部24、端末受信部22など)は、物理的に1つの媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。