以下、図面を参照して、本発明の実施形態を詳細に説明する。図1を参照して、本発明の実施形態における、システム構成の一例について説明する。図1は、本発明の実施形態における、システム構成の一例を示す図である。
クライアントPC100は、表示画面に画像データを表示し、ユーザからのアルバムの編集指示を受け付ける。サーバ200は、アルバムを作成するための画像データを、外部メモリ等の記憶領域に記憶しており(記憶機能)、クライアントPC100から指示を受け付けることで、アルバムの作成、編集を実行する。
当該アルバムを作成するための画像データは、例えば、クライアントPC100が、ユーザから受け付けた操作指示に応じて、ネットワーク1を介し、サーバ200に送信することにより、サーバ200の外部メモリ等の記憶領域に記憶されるものとする。
また、サーバ200は、クライアントPC100にてユーザにより選択された画像データの情報に基づいて、ユーザに選択させるための候補の画像である候補画像データを、外部メモリに記憶した画像データより抽出し、クライアントPC100の表示画面に表示すべく、ネットワーク1を介して、クライアントPC100に送信する。以上が図1の、本発明の実施形態における、システム構成の一例についての説明である。
次に図2を参照して、本発明の実施形態における、各種装置のハードウェア構成の一例について説明する。図2は、本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。
CPU201は、RAM202やROM203に格納されているプログラムやデータを用いて、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
RAM202は、外部メモリ211からロードされたプログラムやデータを一時的に記憶するためのエリアを有するとともに、CPU201が各種処理を行うために使用するワークエリアを備える。
ROM203は、コンピュータのブートプログラムやBIOS等の各種プログラムを記憶している。外部メモリ211は、OS(オペレーティングシステム)や、情報処理装置が行う後述の処理をCPU201に実行させるためのプログラムやデータ等を記憶しており、これらは必要に応じてCPU201の制御によりRAM202に読み出され実行されることになる。
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各PCの実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードしてプログラムを実行することで、各種動作を実現するものである。
また、入力コントローラ(入力C)205は、キーボード209やマウス等のポインティングデバイスからの入力を制御する。
ビデオコントローラ(VC)206は、ディスプレイ210等の表示器への表示を制御する。表示器は液晶ディスプレイ(LCD)でも、CRTディスプレイでも構わない(つまり、複数のオブジェクトを含む表示画面を前記表示部に表示する表示制御手段)。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピー(登録商標)ディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するためのプログラムは外部メモリ211に記憶されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。以上が図2の、本発明の実施形態における、各種装置のハードウェア構成の一例についての説明である。
次に図3を参照して、本発明の実施形態における、各種装置の機能構成の一例について説明する。図3は、本発明の実施形態における、各種装置の機能構成の一例を示す図である。
クライアントPC100は、画像送信部301、画像選択受付部302、レイアウト変更指示受付部303、アルバム作成画面表示部304、トリミング範囲指定受付部305等を備えて構成されている。
画像送信部301は、サーバ200に画像データを記憶させるべく、画像データを送信する送信部である。例えば、アルバムに掲載する画像(アルバム画像)の候補となる画像データをサーバ200の外部メモリに記憶させるべく画像データを送信する。また、例えば、顔画像等の被写体の情報をサーバ200に記憶させるべく送信する。
画像選択受付部302は、アルバム作成画面表示部304にて表示されたアルバム作成用の画面において、アルバムに掲載する画像データ、別の画像データと入れ替える(アルバムから削除する)画像データの選択を受け付ける選択受付部である。
レイアウト変更指示受付部303は、アルバム作成画面表示部304において表示されるアルバム作成用の画面において、アルバム(アルバム画像)のレイアウトを変更する指示を受け付ける指示受付部である。アルバム作成画面表示部304は、アルバムに掲載する画像データの選択を受け付け、アルバムを作成するための画面を表示する表示部である。
トリミング範囲指定受付部305は、入替候補の画像データの一部をトリミングしてアルバムに掲載すべき画像として選択する場合、当該トリミングの範囲指定の指示を受け付ける指示受付部である。
サーバ200は、画像記憶部311、個人識別情報記憶部312、対応付け情報記憶部313、平等性算出部314、画面情報生成部315、画像編集部316、強調表示制御部317等を備えて構成されている。
画像記憶部311は、アルバム作成のための画像データを記憶する記憶部である。クライアントPC100は、当該画像記憶部に記憶された画像データを取得し、表示画面に表示して、ユーザに選択させることでアルバム画像を特定する。
また、画像記憶部311は、画像記憶部311に記憶した各画像データの被写体を識別するための画像データ、及び、アルバムに掲載するための画像データを記憶している。例えば、図13の写真1300と、顔1310等である。
ここで図13を参照して、本発明の実施形態における、データ構成の一例について説明する。図13は、本発明の実施形態における、データ構成の一例を示す図である。
図13に記載の情報は、例えば、後述する図4、及び、図5の処理において、クライアントPC100がサーバ200に対し、画像データを送信し、記憶指示することで生成され、サーバ200の外部メモリに記憶される。
図13に示す通り、写真1300は、プロジェクトID1301、写真ID1302、写真1303、撮影日時1304、大きさ1305、種別1306、イベント1307、学年ID1308等から構成されている。
プロジェクトID1301は、当該写真1300が登録されたプロジェクトのIDである。プロジェクトとは、アルバム作成者の管理するアルバム作成の受注単位である。アルバム(アルバムID)は、当該プロジェクトの下に紐付く。
画像データ、名簿情報共に、クライアントPC100において、サーバ200のへの記憶指示を受け付ける際に、当該プロジェクトの指定を受け付け、指定を受け付けたプロジェクトと対応付けてサーバ200の外部メモリに記憶される。プロジェクトを含む、本発明のアルバム管理のためのデータ構成については図11の説明にて後述する。
ここで図11を参照して、本発明の実施形態における、データ構成の一例について説明する。図11は、本発明の実施形態における、データ構成の一例を示す図である。
図11に示す各データは、画像データ、名簿情報のサーバ200への登録処理が行われる前に、予め、サーバ200の外部メモリに記憶・登録されているものとする。尚、後述する写真配置情報1130の写真ID1135、トリミング座標1137はこの限りではない。
プロジェクト1100は、プロジェクトID1101、プロジェクト名1102、プロジェクト管理者ID1103、契約者情報1104等から構成される。プロジェクトID1101はプロジェクトを一意に識別するための識別情報である。
プロジェクト名1102は、プロジェクトの名称である。プロジェクト管理者ID1103は、各プロジェクトの管理者であり、編集権限を有するユーザ(アルバム編集者)の識別情報である。つまり、ユーザを識別するためのユーザIDが設定される。
当該ユーザIDの情報は、別途、不図示のデータテーブルにて、パスワードと対応付けて、サーバ200の外部メモリに記憶されている。アルバム編集者は、当該ユーザIDと、パスワードを用いて、サーバ200にログインし、クライアントPC100を介して、アルバムの作成・編集を行う。契約者情報1104は、プロジェクトに示す案件の受注先である契約者の情報を示す。
アルバム1110は、プロジェクトID1111、アルバムID1112、アルバム名1113、更新日時1114等から構成されている。プロジェクトID1111は、当該アルバム1110に記憶される各アルバムに対応するプロジェクトのIDである。
アルバムID1112は、アルバムを一意に識別するための識別情報である。アルバム名1113は、アルバムの名称である。更新日時1114は、アルバムの最終更新日時である。
ページ1120は、プロジェクトID1121、アルバムID1122、ページID1123、INDEX1124、編集担当者ID1125等から構成される。プロジェクトID1111は、当該ページ1120に対応するアルバムの属するプロジェクトのIDである。
アルバムID1122は、各ページに対応する(ページの属する)アルバムのIDである。ページID1123は、ページを一意に識別するための識別情報である。INDEX1124は、各ページの索引のための情報である。編集担当者ID1125は、当該ページの編集権限を有するユーザ(編集者)のIDである。
写真配置情報1130は、プロジェクトID1131、アルバムID1132、ページID1133、配置ID1134、写真ID1135、配置座標1136、トリミング座標1137等から構成される。プロジェクトID1131は、当該写真配置情報に対応するプロジェクトのIDである。
アルバムID1132は、アルバムのIDである。ページID1133は、当該写真配置情報に対応するページのIDである。配置ID1134は、当該写真配置情報を一意に識別するための識別情報である。
写真ID1135は、配置座標1136に配置される写真画像(画像データ)のIDである。トリミング座標1137は、写真ID1135に示す画像データの一部をトリミングして廃止している場合における、前記画像データ中のトリミングの座標である。以上が図11の、本発明の実施形態における、データ構成の一例についての説明である。
図13の説明に戻る。写真1300の写真ID1302は、写真画像(画像データ)を一意に識別するための識別情報である。写真1303は、画像データの実体である。撮影日時1304は、各画像データの撮影日時である。
大きさ1305は、画像データの大きさである。種別1306は、画像データの種別(例えば、スナップ写真か、個人写真か、集合写真か、を示す)。ここでいう個人写真は、被写体(個人)の識別用にサーバ200の外部メモリに登録される画像である。
イベント1307は、画像データの属性情報であり、当該画像データいずれのイベント(シーン)の画像かを示す。尚、図13のイベント1307においては、イベント名称を記載しているが、例えば、イベント名称とイベントを識別するためのイベントIDが対応付けられたデータテーブルを別途サーバ200の外部メモリに記憶し、イベント1307には、当該イベントIDを挿入するようにしてもよい。
学年ID1308は、当該画像データがいずれの学年(所属/組織)の画像データかを示す。学年ID1308には、後述する、図12の学年1210における学年ID1212が挿入される。
当該画像データが、当該学年ID1308の示す学年のいずれのクラスに属する画像データかは、当該画像データに写る顔画像の示す生徒のクラスの割合に応じて識別可能である。例えば、当該画像データに写る顔画像の半数以上がAクラスに所属する生徒の顔画像である場合、当該画像データは、Aクラスの画像データであるものとする。
顔1310は、プロジェクトID1311、顔ID1312、顔写真1313、写真ID1314、顔座標1315、顔向き1316、笑顔度1317、識別個人ID1318等から構成されている。プロジェクトID1311は、プロジェクトの識別情報である。顔ID1312は、顔1310に記憶された各データの識別情報である。
顔写真1313は、ユーザの操作指示に応じて登録された、被写体の顔画像の実体である。当該顔画像は、例えば、個人写真において顔認識された領域をトリミングした画像データである。
また、例えば、集合写真やスナップ写真において、ユーザの操作指示に応じて顔識別の処理(顔識別処理/写真画像中の顔画像を、ある生徒の顔の画像として、生徒の識別情報と対応付けて登録する処理)がなされた場合の、当該顔識別のために指定した前記集合写真やスナップ写真中の領域の画像をトリミングして生成された画像データである。
写真ID1314は、前記顔写真1313の生成元(顔写真1313がトリミングされた画像データ)の識別情報である。顔座標1315は、前記写真ID1314の示す写真画像中の、顔写真1313の座標である。
顔向き1316は、前記顔写真1313の顔画像の顔の向きである。笑顔度1317は、前記顔写真1313の顔画像の笑顔度である。識別個人ID1318は、ユーザの操作指示に応じて、前述した顔識別の処理がされた場合に挿入される、前記顔写真1313の示す生徒の生徒IDである。
当該識別個人ID1318が挿入されていないデータは、顔識別処理がされていない画像データとする。
識別候補1320は、プロジェクトID1321、顔ID1322、生徒ID1323、類似度1324等から構成される。当該識別候補1320は、全ての写真画像(画像データ)において認識された顔画像と、当該顔画像がいずれの生徒の顔に類似しているかを示す。
プロジェクトID1321は、プロジェクトの識別情報である。顔ID1322は、顔1310における顔データの識別情報である。
生徒ID1323は、生徒を識別するための識別情報である。類似度1324は、例えば、後述する図4の生徒の個人写真の登録処理においてサーバ200の外部メモリに記憶・登録された顔画像(生徒ID1323の示す生徒の顔画像)の特徴量と、顔ID1322の示す顔画像(サーバ200に記憶されたアルバム掲載用の画像データから抽出した顔画像)の特徴量との類似度の値である。
尚、生徒の顔画像の画像データの特徴量を示すデータは、生徒IDと対応付けてサーバ200の外部メモリ211に記憶されているものとする。また、アルバム掲載用の画像データから抽出した各顔画像の特徴量を示すデータは、当該顔画像の含まれる写真画像の写真IDと、当該写真IDの示す写真画像中における当該顔画像の座標の情報と対応付けてサーバ200の外部メモリ211に記憶されているものとする。以上が図13の、本発明の実施形態における、データ構成の一例についての説明である。
個人識別情報記憶部312は、例えば被写体(人、生徒、動物等)の名称等、被写体を識別するための情報を記憶する記憶部である。例えば、図12の生徒名簿1200(名簿情報)、学年1210のような情報を記憶する。
ここで図12を参照して、本発明の実施形態における、データ構成の一例について説明する。図12は、本発明の実施形態における、データ構成の一例を示す図である。図12に記載の情報は、例えば、後述する図4の処理において、クライアントPC100がサーバ200に対し、被写体(生徒)の名簿の情報を送信し、記憶指示することで生成され、サーバ200の外部メモリに記憶される。
図12に示す通り、生徒名簿1200は、プロジェクトID1201、生徒ID1202、生徒名1203、学年ID1204、クラスID1205等から構成される。
プロジェクトID1201は、当該生徒名簿1200が登録されたプロジェクトの識別情報である。生徒ID1202は、生徒の識別情報である。生徒名1203は、生徒の氏名の情報である。学年ID1204は、生徒の所属する学年の識別情報である。クラスID1205は、生徒の所属するクラスの識別情報である。
学年1210は、プロジェクトID1211、学年ID1212、所属名1213、親所属1214等から構成されている。プロジェクトID1211は、当該学年1210が登録されたプロジェクトの識別情報である。
学年ID1212は、学年の識別情報である。所属名1213は、例えば、学年の名称である。親所属1214は、当該学年に対応する上位の組織(例えば学校)の識別情報である。
クラス1220は、プロジェクトID1221、クラスID1222、所属名1223、親所属1224等から構成されている。プロジェクトID1221は、当該クラス1220が登録されたプロジェクトの識別情報である。
クラスID1222は、クラスの識別情報である。所属名1223は、例えば、クラスの名称である。親所属1214は、当該クラスに対応する上位の組織(例えば学年)の識別情報である。以上が図12の、本発明の実施形態における、データ構成の一例についての説明である。
図3の説明に戻る。対応付け情報記憶部313は、画像データと個人識別情報の対応付け、各画像データとアルバムの対応付け、の対応付情報を記憶する記憶部である(上述した図11の写真配置情報1130、及び図13の写真1300の説明に含まれる)。
平等性算出部314は、アルバムに掲載する画像データとして選択された画像データ(例えば複数の画像データ)の中の、同一被写体の出現頻度、各被写体の大きさ、被写体に焦点があっているかどうか等の情報に基づいて、各被写体が平等に撮影されているか(アルバムに掲載される画像データに平等に写っているか)を算出する算出部である。
画面情報生成部315は、例えばアルバム編集画面等、クライアントPC100に表示する画面のデータを生成する生成部である。アルバムのレイアウト変更指示を受け付けた場合や、アルバムに掲載する画像として選択を受け付ける候補の画像データである、候補画像データの入替指示を受け付けた場合等に、画面の情報を再生成し、クライアントPC100に送信する。
画像編集部316は、クライアントPC100より画像データの編集の指示を受け付けた場合に、画像データを編集(トリミング、拡縮等)する編集部である。強調表示制御部317は、前記画面情報生成部315で画面情報を生成する場合に、強調表示すべき画像データを幼鳥表示すべく制御する制御部である。以上が図3の、本発明の実施形態における、各種装置の機能構成の一例についての説明である。
次に図4を参照して、本発明の実施形態における、個人画像の登録処理の流について説明する。図4は、本発明の実施形態における、個人画像の登録処理の流れを示すフローチャートである。
クライアントPC100のCPU201は、ユーザのログインを受け付け、サーバ200に対して、個人識別のための情報を登録する画面情報(図14の個人情報登録画面1400のような画面の情報)を要求する(ステップS401)。
ここで図14を参照して、本発明の実施形態における、個人情報登録画面の構成の一例について説明する。図14は、本発明の実施形態における、個人情報登録画面の構成の一例を示す図である。
図14に示す通り、個人情報登録画面1400は、「学年選択」ボタン1401、「クラス選択」ボタン1402、アップロード画像表示部1403、選択画像表示部1404、顔認識枠1405、修正枠1406、個人写真登録部1407、出席番号表示部1408、名前表示部1409等から構成されている。
「学年選択」ボタン1401は、個人情報を登録・編集するユーザの学年を選択させる選択受付部である。「クラス選択」ボタン1402、個人情報を登録・編集するユーザのクラスを選択させる選択受付部である。
例えば、クライアントPC100のCPU201は、「学年選択」ボタン1401の押下を受け付けることで、プルダウン形式で学年の候補を表示し、「クラス選択」ボタン1402の押下を受け付けることで、プルダウン形式でクラスの候補を表示して、個人情報を登録したい学年・クラスをユーザに選択させる。
アップロード画像表示部1403は、サーバ200にアップロード(記憶)されている画像(個人画像/識別画像)のサムネイルを表示する表示部である。選択画像表示部1404は、ユーザからの選択指示を受け付けた個人画像の画像データを拡大表示する表示部である。
顔認識枠1405は、選択画像表示部1404に表示された画像において認識されている、被写体顔画像を囲う枠である。修正枠1406の端に対してドラッグ&ドロップ、及び移動の操作を受け付けることで、顔認識枠(顔認識の領域)を変更する。
個人写真登録部1407は、出席番号表示部1408に表示された出席番号、名前表示部1409に表示された名前に対応する画像データを登録、表示するための表示部である。
例えば、画像データを、Aさんと表示された名前表示部1409に対応する個人写真登録部1407にドラッグ&ドロップで移動させることで、当該画像データをAさんの画像データとして対応付け、登録する。
当該対応付けの情報は、サーバ200の外部メモリに記憶される。以上が図14の、本発明の実施形態における、個人情報登録画面の構成の一例についての説明である。
図4の説明に戻る。サーバ200は、クライアントPC100からの画面情報の要求を受信し(ステップS402)、画面情報を返信する(ステップS403)。
クライアントPC100のCPU201は当該画面情報(個人情報登録画面の情報)を受信し、表示画面に表示する(ステップS404)。
クライアントPC100のCPU201は、名簿情報の送信指示を受け付ける(ステップS405)。例えば、名簿の情報が記載されたCSV形式のファイルが、図14の出席番号表示部1408、名前表示部1409のいずれかに、ドラッグ&ドロップされた場合に、当該名簿情報の送信指示を受け付けたものとし、当該名簿情報をサーバ200に送信する。
ここでいう名簿情報とは、例えば、生徒の名前、学年、クラス、出席番号等の情報が記載されたファイルであるものとする。
また、クライアントPC100のCPU201は、被写体識別用の、つまり、ステップ405で送信した名簿情報に含まれる各生徒のデータと対応付けるための、画像データ(顔画像データ)をサーバ200に送信する(ステップS406)。
例えば、図14のアップロード画像表示部1403に、画像データがドラッグ&ドロップされた場合に、当該画像データの送信指示を受け付けたものとし、当該画像データをサーバ200に送信する。
サーバ200のCPU201は、クライアントPC100より名簿情報と画像データ(生徒名簿1200/学年1210/写真1300)を受信して外部メモリに記憶する(ステップS407/ステップS408)。
そして、当該記憶した名簿情報中の出席番号、名前の情報を、個人情報登録画面1400の出席番号表示部1408、名前表示部1409に表示し、当該記憶した画像データをアップロード画像表示部1403に表示すべく個人情報登録画面の情報を生成する。
当該画面の情報をクライアントPCに送信し、クライアントPC100のCPU201はこれを表示画面に表示する。つまり、サーバ200にアップロードされた画像データ、名簿情報はリアルタイムでクライアントPC100の表示画面に表示される個人情報登録画面1400に反映される。
クライアントPC100のCPU201は、名前表示部1409に表示された名前に対応する画像データを、アップロード画像表示部から選択する指示(ドラッグ指示)を受け付け、当該選択された画像データが、個人写真登録部1407に配置(ドロップ指示)された場合に、当該個人写真登録部1407に対応する名前、出席番号の生徒の情報(名簿情報中の1データ)と、当該画像データとを対応付けるべく、当該画像データの識別情報、及び、対応付対象の名前、学籍番号の情報を含む対応付指示をサーバ200に送信する(ステップS409)。
サーバ200のCPU201は、当該対応付指示を受信し、画像データと名簿情報に含まれる生徒の情報(個人情報)とを対応付けて記憶する(ステップS410)。
サーバ200のCPU201は、当該対応付けられた(ユーザにより選択された)画像データの特徴量を取得し、顔識別(顔検出/顔認識/被写体検出)処理を実行する(ステップS411)。当該顔識別処理にて取得した顔識別情報は、画像データと対応付けて外部メモリに記憶する。
サーバ200のCPU201は、当該識別処理で識別した顔の外輪を矩形(図14の顔認識枠1405)で囲い、顔識別結果としてユーザに通知すべく、当該矩形で顔の外輪を囲った画像を、選択画像表示部1404に表示した画面の情報をクライアントPC100に送信する(ステップS412)。
クライアントPC100のCPU201は、当該画面の情報を受信し、表示画面に表示する(ステップS413)。つまり、顔識別の結果を選択画像表示部1404に表示した個人情報登録画面1400を表示画面に表示する。また、修正枠1406も共に表示画面に表示する。
クライアントPC100のCPU201は、修正枠1406の移動、拡縮の指示(つまり、顔識別領域の修正指示)を受け付けたか否かを判定し(ステップS414)、修正指示を受け付けたと判定した場合には(ステップS414でYES)、当該修正した情報、つまり修正枠1406で囲われている画像の情報を修正情報としてサーバ200に送信する(ステップS415)。
サーバ200のCPU201は、当該修正情報を受信して、顔識別の情報(顔座標の情報)に反映し(ステップS416)、処理をステップS412に戻す。
クライアントPC100のCPU201は、ステップS414において、修正指示を受け付けていないと判定した場合(ステップS414でNO)、個人情報の登録完了指示を受け付けたか否かを判定し(ステップS417)、個人情報の登録完了指示を受け付けていないと判定した場合(ステップS417でNO)、処理をステップS409に戻す。
例えば、個人情報登録画面1400条の不図示の登録完了ボタンの押下を受け付けた場合、登録完了の指示を受け付けたものと判定するものとする。
クライアントPC100のCPU201は、個人情報の登録完了指示を受け付けたと判定した場合(ステップS417でYES)、登録完了指示をサーバ200に送信する(ステップS418)。
サーバ200のCPU201は、当該登録完了指示を受信し、未登録の個人画像(対応付が行われていないアップロード済の画像データ)を外部メモリから削除し(ステップS420)、処理を終了する。以上が図4の、本発明の実施形態における、個人画像の登録処理の流についての説明である。
次に図5を参照して、本発明の実施形態における、写真の登録処理の流れについて説明する。図5は、本発明の実施形態における、写真の登録処理の流れを示すフローチャートである。
クライアントPC100のCPU201は、不図示の画像登録画面の画面情報をサーバ200に要求する(ステップS501)。ここでいう画像登録画面とは、図4に示す処理でサーバに登録、記憶させた個人画像とは別の、アルバムに掲載するための写真である。例えば、生徒が複数写っている画像データである。
サーバ200のCPU201は、当該画像登録画面の要求を受信し(ステップS502)、当該画面の情報をクライアントPC100に送信する(ステップS503)。
クライアントPC100のCPU201は、当該画像登録画面の情報を受信して表示画面に表示する(ステップS504)。また、当該画像登録画面において、画像の登録指示(サーバ200への送信指示/アップロード指示)を受け付けると、当該指示に従い、登録対象の画像データをサーバ200に送信する(ステップS505)。当該登録、登録対象の画像データの選択方法は、例えば、図4のS406における個人画像登録の方法に順ずる。
サーバ200のCPU201は、当該画像データを受信すると(ステップS506)、当該画像データをサーバ200の外部メモリ(記憶領域)に記憶する(ステップS507)。そして、当該画像データ中の被写体を、例えば顔認識の技術を用いて識別し(ステップS508)、当該識別結果情報、及び、当該画像データを含むクライアントPC100より送信された画像データの登録処理が完了したことを示す情報をクライアントPC100に送信する(ステップS509)。
クライアントPC100のCPU201は、当該情報を受信し、表示画面に表示する(ステップS510)。その後、不図示の当該画像登録画面における「登録完了」ボタンの押下を受け付けたか否か(登録完了指示を受け付けたか否か)を判定し(ステップS511)、登録完了指示を受け付けていないと判定した場合(ステップS511でNO)、処理をステップS505に戻す。
登録完了指示を受け付けたと判定した場合(ステップS511でYES)、処理を終了する。以上が図5の、本発明の実施形態における、写真の登録処理の流れについての説明である。
次に図6を参照して、本発明の実施形態における、被写体識別処理の流れについて説明する。図6は、本発明の実施形態における、被写体識別処理の流れを示すフローチャートである。
図6の処理においては、図5の処理においてサーバ200に登録された画像の中の、図5のステップS508で識別(検出/認識)されていない被写体の有無の確認、及び修正のための処理である。
クライアントPC100のCPU201は、ユーザからの操作指示に応じて、生徒識別画面(例えば、図18の被写体識別画面1800)の画面情報をサーバ200に要求する(ステップS601)。サーバ200は当該要求を受信し(ステップS602)、画面情報をクライアントPC100に送信する(ステップS603)。
クライアントPC100のCPU201は、当該画面情報を受信して、被写体識別画面を表示画面に表示する(ステップS604)。被写体識別画面とは、アルバムに掲載するためにサーバ200の外部メモリに記憶された画像データ中の顔画像の数を正確にカウントすべく、当該画像データ中の顔画像をユーザの手動操作で、被写体の識別情報と対応付けるための画面である。例えば図18の、被写体識別画面1800のような画面である。
図18を参照して、本発明の実施形態における、被写体識別画面の構成の一例について説明する。図18は、本発明の実施形態における、被写体識別画面の構成の一例を示す図である。
学年選択部1801、クラス選択部1802、生徒選択部1803は、生徒の選択を受け付けるための選択受付部である。個人写真1804は、学年選択部1801、クラス選択部1802、生徒選択部1803にてユーザから生徒の択指示を受け付けた場合に、当該生徒の顔画像を表示する表示部である。ここに表示する顔画像は、図4のステップS410において、サーバ200の外部メモリに生徒の識別情報と対応付けて記憶された写真画像の画像データである。
顔画像表示部1805は、サーバ200の外部メモリに記憶されたスナップ写真画像から切り出された顔画像であって、生徒選択部1803で選択を受け付けた生徒の顔画像と類似する、当該被写体識別画面1800において顔の識別処理(生徒と顔画像の対応付処理)が適用されていない顔画像データの一覧を表示する表示部である。
つまり、図13の顔1310の識別個人ID1318に生徒IDが挿入されていない画像データであって、ユーザ操作により選択された生徒の生徒IDを、識別候補1320の生徒ID1323に持つ識別候補データの顔ID1322と一致するIDを、顔ID1312に有する顔写真1313を表示する。
イベント選択受付部1809は、生徒選択部1803で選択された生徒の写る写真画像の内、いずれのイベントの属性をプロパティに持つ写真画像に含まれる顔画像を、顔画像表示部に表示するかを選択する選択受付部である。
例えば、当該イベント選択受付部1809において「体育会」が選択された場合、「体育会」の値をイベント1307に有する画像データに含まれる、生徒選択部1803で選択された生徒の顔であろう顔画像を、顔画像表示部に表示する。
ここで顔画像表示部1805に表示する顔画像は、図13の識別候補1320の生徒ID1323が、前記生徒選択部1803で選択された生徒のIDであって、類似度1324が所定の値以上の顔画像(一定以上類似の顔画像)である。当該所定の値は、予めサーバ200の外部メモリに記憶されているものとする(所定の値=類似度:0.7以上、等)。
また、例えば、顔画像表示部1805に表示する顔画像は、上述した識別度候補1320における類似度1324の値が高い順に、顔画像表示部1805の左上部から右下部にかけてソートして表示されるものとする。
当該顔画像表示部に表示された顔画像の選択を受け付けることで、スナップ写真表示部1807に、当該選択を受け付けた顔画像の写るスナップ写真(候補画像データ)を表示する。
顔認識枠1808は、スナップ写真の中で、サーバ200のCPU201により顔認識処理が行われた場合の、顔と認識された画像を矩形で囲った枠である顔認識枠である。顔画像表示部1805でユーザにより選択を受け付けた顔画像に対応する、スナップ写真中の顔画像を囲う顔認識枠については、他の顔認識枠と区別すべく強調表示するものとする。
また、当該顔認識枠1808の拡大指示、縮小指示、変形指示をうけつけることにより、当該顔認識枠1808は変形するものであり、「顔画像追加」ボタン1810の押下指示を受け付けることで、当該変形後の顔認識枠に囲われた領域の画像が、生徒の顔画像として対応付けて記憶される。
「顔画像追加」ボタン1810は、選択を受け付けた顔認識枠1808で囲われた領域の画像(顔画像)を、生徒選択部1803で選択を受け付けた生徒の顔画像として新たに対応付けるためのボタンである。当該「顔画像追加」ボタン1810の押下を受け付けることにより、図13の、当該顔画像のIDを有する顔データの識別個人ID1318に、当該生徒選択部1803で選択を受け付けた生徒の生徒IDが挿入される。
また、当該対応付処理が行われることにより、当該顔画像を顔画像表示部1805に表示しないように制御し(顔画像表示部1805から削除し)、識別結果表示部1812に追加して表示する。
「顔画像削除」ボタン1811は、顔画像表示部1805において選択中の顔画像を、顔画像表示部1805から削除し、スナップ写真表示部1807において、当該顔画像が写った写真画像の表示を終了するためのボタンである。
識別結果表示部1812は、生徒選択部1803で選択を受け付けた生徒の顔画像として新たに対応付けられている顔画像を表示する表示部である。「識別結果削除」ボタン1813は、識別結果表示部1812に表示された顔画像の内、選択を受け付けた顔画像の対応付の解除を行うためのボタンである。「写真確認」ボタン1806は、同じく被写体識別画面である被写体識別画面1900に、表示画面を遷移させるためのボタンである。以上が図18の、本発明の実施形態における、被写体識別画面の構成の一例についての説明である。
ここで図19を参照して、本発明の実施形態における、被写体識別画面の構成の一例について説明する。図19は、本発明の実施形態における、被写体識別画面の構成の一例を示す図である。
尚、学年選択部1901、クラス選択部1902、生徒選択部1903、個人写真1904、顔認識枠1908、識別結果表示部1912、「識別結果削除」ボタン1913は、図18の学年選択部1801、クラス選択部1802、生徒選択部1803、個人写真1804、顔認識枠1808、識別結果表示部1812、「識別結果削除」ボタン1813とそれぞれ同一であるため、ここでは説明を割愛する。
スナップ写真一覧表示部1905は、生徒選択部1903で選択された生徒の顔に、所定の値以上類似する顔画像を含むスナップ写真を一覧表示する表示部である。拡大表示部1907は、スナップ写真一覧表示部1905で選択を受けつた写真画像を拡大表示する拡大表示部である。「顔画像確認」ボタン1906は、同じく被写体識別画面である被写体識別画面1800に、表示画面を遷移させるためのボタンである。
「顔画像追加」ボタン1910は、選択を受け付けた顔認識枠1908で囲われた領域の画像(顔画像)を、生徒選択部1903で選択を受け付けた生徒の顔画像として対応付けるためのボタンである。当該「顔画像追加」ボタン1910の押下を受け付けることにより、図13の、当該顔画像のIDを有する顔データの識別個人ID1318に、当該生徒選択部1803で選択を受け付けた生徒の生徒IDが挿入される。
また、当該対応付処理が行われることにより、当該顔画像を含むスナップ写真をスナップ写真一覧表示部1905に表示しないように制御し、識別結果表示部1912に、当該顔画像を追加して表示する。
「顔画像削除」ボタン1911は、拡大表示部1907において選択中の顔画像を含むスナップ写真(顔認識枠1908で囲われた画像)を、スナップ写真一覧表示部1905から削除し、拡大表示部1907において、拡大表示されている写真画像の表示を終了するためのボタンである。以上が図19の、本発明の実施形態における、被写体識別画面の構成の一例についての説明である。
図6の説明に戻る。クライアントPC100のCPU201は、生徒の選択指示を受け付けると、当該瀬選択された生徒の情報(識別情報/例えば生徒ID)をサーバ200に送信する(ステップS605)。サーバ200はこれを受信する(ステップS606)。
サーバ200のCPU201は、後述するステップS615の識別処理を未適用の、当該生徒の顔画像データ(顔1310の識別個人ID1318に値の挿入されていない字顔写真1313)を外部メモリから取得し、クライアントPC100に送信する(ステップS607)。
クライアントPC100のCPU201は、当該顔画像データを受信して、当該顔画像データの一覧を表示画面に被写体識別画面1800に表示する(ステップS608)。クライアントPC100のCPU201は、表示された顔画像の一覧から顔画像データを選択する指示を受け付けると、当該選択された顔画像データの写る画像データ(スナップ写真)を表示画面に表示する(図13のスナップ写真表示部1807)。
クライアントPC100のCPU201は、当該スナップ写真における顔画像データの認識枠(顔認識枠)の修正指示を受け付けたか否かを判定する(ステップS609)。つまり、顔認識枠1808の変形指示を受け付けたか否かを判定する。
当該顔認識枠1808の変形指示を受け付けたと判定した場合(ステップS609でYES)、当該変形後の顔認識枠の座標情報(修正情報)をサーバ200に送信し、サーバ200のCPU201は当該修正情報を受信して、当該修正した顔認識枠の表示画面上の表示を変形し(ステップS611)、処理をステップS607に戻す。
つまりステップS607において、変形後の顔認識枠を被写体識別画面1800に表示すべく、当該画面情報をクライアントPC100に送信する。
顔認識枠1808の変形指示を受け付けていないと判定した場合(ステップS609でNO)、顔識別指示を受け付けたか否かを判定する(ステップS612)。つまり、図18の「顔画像追加」ボタン1810の押下指示を受け付けたか否かを判定する。
顔識別指示を受け付けたと判定した場合(ステップS612でYES)、顔画像表示部1805で選択中の顔画像(スナップ写真表示部1807で選択中の顔画像)の顔ID1312と、生徒選択部1803で選択されている生徒の生徒IDと、当該顔画像と生徒の対応付指示をサーバ200に送信する(ステップS613)。
サーバ200のCPU201は、ステップS613で送信された情報を受信し(ステップS614)、ステップS614で受信した顔ID1312に有する顔データの、識別個人ID1318に、同じくステップS614で受信した生徒IDを挿入する(ステップS615/被写体検出)。そして処理をステップS607に戻す。
顔識別指示を受け付けていないと判定した場合(ステップS612でNO)、写真確認指示を受け付けたか否かを判定する(ステップS616)。つまり、「写真確認」ボタン1806の押下指示を受け付けたか否かを判定する。
写真確認指示を受け付けたと判定した場合(ステップS616でYES)、被写体識別画面1900の画面情報、及び、当該被写体識別画面1900に表示する、ステップS605で送信した生徒に類似する顔画像が含まれる候補画像データを、サーバ200に要求する(ステップS617)。
サーバ200のCPU201は当該要求を受信し(ステップS618)、被写体識別画面1900の画面情報、及び、当該被写体識別画面1900に表示する画像データをクライアントPC100に送信する(ステップS619)。
クライアントPC100のCPU201は、当該被写体識別画面1900の画面情報、及び、当該被写体識別画面1900に表示する画像データを受信し、表示画面に表示する(ステップS620)。
クライアントPC100のCPU201は、顔登録指示を受け付けたか否かを判定する(ステップS621)。つまり、「顔画像追加」ボタン1910の押下指示を受け付けたか否かを判定する。
顔登録指示を受け付けたと判定した場合(ステップS621でYES)、拡大表示部1907にて選択中の顔画像の顔IDと、生徒選択部1903で選択された生徒の生徒IDをサーバ200に送信する(ステップS622)。
サーバ200のCPU201はこれを受信し(ステップS623)、外部メモリに対応付けて記憶する(ステップS624/被写体検出)。つまり、ステップS622で受信した顔IDを有する顔1310の顔データの、識別個人ID1318に当該受信した生徒IDを挿入する。そして、処理をステップS619に戻す。
クライアントPC100のCPU201は、ステップS616において、写真確認指示を受け付けていないと判定した場合(ステップS616でNO)、処理をステップS625に移行する。また、ステップS621において、顔登録指示を受け付けていないと判定した場合(ステップS621でNO)、同じく、処理をステップS625に移行する。
クライアントPC100のCPU201は、被写体識別処理の完了指示を受け付けたか否かを判定する(ステップS625)。つまり、例えば、被写体識別画面1900において、不図示の閉じるボタンの押下を受け付けたか否かを判定する。
クライアントPC100のCPU201は、被写体識別処理の完了指示を受け付けたと判定した場合(ステップS625でYES)、処理を終了し、被写体識別処理の完了指示を受け付けていないと判定した場合(ステップS625でNO)、処理をステップS605の前に移行する。以上が図6の、本発明の実施形態における、被写体識別処理の流れについての説明である。
ここで図7を参照して、本発明の実施形態における、レイアウト変更処理の流れについて説明する。図7の、本発明の実施形態における、レイアウト変更処理の流れを示すフローチャートである。
クライアントPC100のCPU201は、ユーザからの指示に応じて、レイアウト画面(ページ編集画面)の情報をサーバ200に要求する(ステップS701)。
サーバ200のCPU201は、当該レイアウト画面情報の要求を受信し(ステップS702)、当該レイアウト画面情報をクライアントPC100に送信する(ステップS703)。
クライアントPC100のCPU201は、当該レイアウト画面情報を受信し、表示画面に表示する(ステップS704)。画像配置(アルバムページへの画像データの配置)の指示を受け付けたか否かを判定し(ステップS705)、画像配置の指示を受け付けたと判定した場合は(ステップS705でYES)、当該画像データが配置されたページのレイアウト変更指示をサーバ200に送信する(ステップS706)。
レイアウトの変更とは、当該アルバムページ中の画像データの位置の変更等、ページのレイアウト変更のことである。サーバ200のCPU201は、当該レイアウト変更指示を受信し、受信した指示に応じてアルバムページのレイアウトを変更して(ステップS707)、処理をステップS703に戻す。つまり、レイアウト変更後の画面情報をクライアントPC100の表示画面に表示させるべく、クライアントPC100に送信する。
クライアントPC100のCPU201は、ステップS705で、画像配置の指示を受け付けていないと判定した場合(ステップS705でNO)、処理をステップS708に移行し、セクション毎の平等性判断の指示を受け付けたか否かを判定する(ステップS708)。
ここでいうセクションとは、アルバムの中を区分け(分類)する単位である。例えば、1年間の写真画像をまとめたアルバムを作成する場合において、当該アルバムの中の各々のページ・画像データを体育会、文化祭、修学旅行等のイベント単位(セクション単位)にまとめる場合等に用いられる。いずれのページ、いずれの画像データがいずれのセクションに属するかは、不図示のセクション管理テーブル(写真IDとセクションIDの対応付けテーブル)において、サーバ200の外部メモリに記憶されているものとする。後述する平等性算出処理をセクション毎に実行する場合、当該不図示のセクション管理テーブルの情報に基づいて、平等性判断の対象となる画像データを特定し、平等性算出処理を実行するものとする。
また、平等性算出処理(平等性判断処理)とは、同一セクション、または同一アルバム内における画像データ中の、各々の被写体が、どの程度平等に写っているかを判断する処理である。
また、当該判断の結果、平等でないと判断された被写体、当該被写体の写る画像データの差し替えや、当該被写体を含む画像データをアルバムに加える、又は、アルバムから削除するための画像データの表示制御(入替候補の画像データの表示、強調表示等)の処理である。
クライアントPC100のCPU201は、セクション毎の平等性算出の指示を受け付けたか否かを判定する(ステップS708)。セクション毎の平等性算出の指示を受け付けたと判定した場合(ステップS708でYES)、処理をステップS709に移行し、セクション毎の平等性検証処理を実行する。セクション毎の平等性算出処理の詳細については、図8の説明にて後述する。
ここで図8を参照して、本発明の実施形態における、セクション単位の平等性算出処理の流れについて説明する。本発明の実施形態における、セクション単位の平等性算出処理の流れを示すフローチャートである。
クライアントPC100のCPU201は、サーバ200に対し、ページ編集画面(ページ編集画面1500のような画面)の画面情報を要求する(ステップS801)。サーバ200のCPU201は、当該要求を受信し(ステップS802)、画面情報をクライアントPC100に返信する(ステップS803)。
クライアントPC100のCPU201は、サーバ200より受信した画面情報を用いて、ページ編集画面(ページ編集画面1500のような画面)を表示画面に表示する(ステップS804/候補画像表示制御手段)。
ここで図15を参照して、本発明の実施形態における、ページ編集画面の構成の一例について説明する。図15は、本発明の実施形態における、ページ編集画面の構成の一例を示す図である。
図15に示すとおり、ページ編集画面1500は、編集モード1501、スコープ1502、入替モード1503、ページ構成1504、セクションプロパティ1505、写真プロパティ1506、スナップ写真表示部1507、ページレイアウト表示部1508、選択中スナップ写真表示部1509、選択中レイアウト写真表示部1510、「入替」ボタン1511、「自動入替」ボタン1512、「学年選択」ボタン1513、「クラス選択」ボタン1514、個人写真表示部1515、登場回数1516、目立ち度1517、トリミング枠1518、セクション1519等から構成されている。
編集モード1501は、当該ページのモードを示す。つまり、当該ページ編集画面1500がページ編集及び平等性判断のための画面であることを示す。スコープ1502は、当該ページ編集画面1500がセクション毎の平等性判断のための画面なのか、アルバム全体での平等性判断のための画面なのかを示す。
入替モード1503、アルバムの各ページへのレイアウト済写真と入れ替える候補写真画像を、いずれの種別の写真画像から選別するかの選択を受け付けるための選択受付部である。
ページ構成1504は、当該ページ編集画面1500で編集するページがアルバム内のいずれのページかを示す。また、当該ページ構成1504で表示されているページの選択を受け付けることで、ページ編集画面1500にて編集する対象のページを変更することが出来る。
セクションプロパティ1505は、当該ページ編集画面1500における編集対象のページが含まれるセクションのプロパティである。当該セクションプロパティ1505には、例えば、同一セクション内の写真画像において、各生徒が登場すべき最低回数、最大回数等が既定されており、ページ編集画面1500において、当該プロパティの内容を表示する。
写真プロパティ1506は、アルバムのページにレイアウト済の写真画像であって、選択中の画像に予め設定されている入替制約情報を表示する。入替制約情報には、例えば、必須、シーン制約、イベント制約、クラス制約等がある。入替制約情報が設定された画像データは、同じ属性情報(例えば、画像データ毎に予め設定された、シーン、イベント、クラスの情報)を持つ画像データとしか入替が出来ないように制約をかけるための情報である。また、“必須”が属性情報として設定されている画像データは、入替不可とする。
スナップ写真表示部1507には、レイアウト画像と入れ替える候補の画像である候補画像データを表示する。また、画像データの選択を受け付ける選択受付部である。当該候補画像データは、サーバ200の外部メモリ等の記憶領域から取得する。
尚、ここでスナップ写真表示部1507に表示する画像データは、最初に当該ページ編集画面が開かれた場合は、画像データの名称を基準とした昇順にて表示されるものとする。当該ページ編集画面が開かれたのが2度目以降の場合は、前回開いていたページの情報、画像データの情報をサーバ200より受信して表示するものとする。
例えば、個人写真表示部1515において表示される個人画像、乃至、個人画像の表示されている列の選択を受け付けた場合に、当該個人画像の示す個人(生徒)の画像であって、現在のページに掲載可能な画像(スナップ写真/候補画像データ)を、当該生徒の顔画像が大きい順に表示する。
ページレイアウト表示部1508は、編集対象ページのどの場所にどの画像がレイアウト(掲載)されているかを表示するレイアウト表示部である。また、画像データの選択を受け付ける選択受付部である。選択中スナップ写真表示部1509は、スナップ写真表示部1507に表示されている写真画像の中で選択指示を受け付けた画像を拡大表示する表示部である。
選択中レイアウト写真表示部1510は、ページレイアウト表示部1508に表示されている写真画像の中で選択指示を受け付けた画像を拡大表示する表示部である。「入替」ボタン1511は、スナップ写真表示部1507、ページレイアウト表示部1508で選択中の画像データを入れ替えるためのボタンである。
「自動入替」ボタン1512は、例えば、後述する各生徒の登場回数1516の値を用いて、セクション内の各生徒の登場回数1516が平等になるように(近似値になるように)、ページレイアウト表示部1508に表示・レイアウトされた画像データを候補画像データと入れ替えるためのボタンである。
「学年選択」ボタン1513は、いずれの学年の生徒の情報を、個人写真表示部1515を含む一覧表示部に表示するかの選択を受け付ける。「クラス選択」ボタン1514は、いずれのクラスの生徒の情報を、個人写真表示部1515を含む一覧表示部に表示するかの選択を受け付ける。
個人写真表示部1515は、「学年選択」ボタン1513、「クラス選択」ボタン1514で選択を受け付けたクラスの生徒の、同一セクション内における登場回数1516を表示する。登場回数1516は、同一セクション内に当該生徒が掲載されている回数を示す。
目立ち度1517は、同一セクション内において、いずれの生徒の画像が目立っているかを示す。当該目立ち度1517は、例えば、生徒の目立ち度(=生徒のもつ顔単独の目立ち度(=ページ上の顔の大きさの平方根÷ページ上の掲載写真の大きさの平方根)の合算値×定数)とする。
トリミング枠1518は、スナップ画像(候補画像)のいずれの領域を前記レイアウト済画像との入替に用い、また、前記選択中の画像データにおいて、いずれの領域が選択されたかを示す。
セクション1519は、1つのセクション(図15の表記においては、「12年文化祭」というセクション)を示す。以上が図15の、本発明の実施形態における、ページ編集画面の構成の一例についての説明である。
図8の説明に戻る。クライアントPC100のCPU201は、自動レイアウト変更の指示を受け付けたか否かを判定する(ステップS805)。つまり、「自動入替」ボタン1512が押下されたか否かを判定する。
自動レイアウト変更の指示を受け付けたと判定した場合(ステップS805でYES)、クライアントPC100のCPU201は、ページレイアウト表示部1508に表示されたページを含むセクションの、各ページに配置(レイアウト)された画像データの識別情報をサーバ200に送信し(ステップS806)、サーバ200のCPU201はこれを受信する(ステップS807)。
サーバ200のCPU201は、当該セクションに属するページにおいて、画像データが配置されておらず、且つ、配置可能な領域が有るかを判定する(ステップS808)。
配置可能な領域が有ると判定した場合(ステップS808でYES)、当該配置可能な領域に画像データを配置する(ステップS809)。ここで配置する画像データは、前述した候補画像データ(サーバ200の外部メモリに記憶されており、アルバムのページに未配置の画像データ)の中からランダムに選択され配置される。
以下、全てのレイアウト画像データ(既にページに配置済の画像/掲載画像)に対して、ステップS811〜S814の処理の適用を完了するまで、ステップS810〜S814の処理を繰り返す。その後、処理をステップS803に移行する。
サーバ200のCPU201は、該当セクションのレイアウト画像データに含まれる生徒の情報を取得して、平等性の算出処理を行う(ステップS810)。
例えば、当該セクションにおいて、どの生徒が何回、写真画像に登場しているかを集計して、当該セクションに登場させるべき生徒(例えば、図15の個人写真表示部1515に画像データが表示されている生徒)が、同回数登場している場合のスコアを100とし、登場回数に差が生じている場合に、当該差の値に応じてスコアを減算することで平等性のスコアを算出する。
クライアントPC100のCPU201は、レイアウト画像データ(既にページに配置済の画像/掲載画像)の中から、入替可能な画像データ、つまり、属性情報、プロパティに入替不可能を示す“必須”の制約が付されていない画像データを1つ取得し(ステップS811)、当該取得した画像データと入替が可能な画像データを前記候補画像データより1つ取得して、ステップS810で取得した画像データと、当該候補画像データとを入れ替えた場合の平等性のスコアを算出する(ステップS812)。
クライアントPC100のCPU201は、ステップS811で取得したレイアウト画像データと、全ての候補画像データ(サーバ200の外部メモリに記憶された、図4のステップS408で記憶された個人写真画像以外の画像データ)と、の組み合わせに対してステップS812の処理を適用し、算出された平等性のスコアの中で最も平等性に優れたスコア(最も0.0に近いスコア)と、ステップS810で算出したスコアと、を比較して、スコアが向上しているか否かを判定する(ステップS813)。つまり、当該画像入替後の平等性のスコアが、ステップS810で算出したスコアより100(スコアの値)に近いかを判定する。
尚、ここでは、ステップS811で取得したレイアウト画像データと、全ての候補画像データとの組み合せに対して、平等性算出処理を実行したが、例えば、ステップS811で取得したレイアウト画像データと、当該レイアウト画像データと同一セクションに属する候補画像データ(不図示のセクション管理テーブル(写真IDとセクションIDの対応付けテーブル)を参照して、同一のセクションIDを有する写真IDの示す画像データ)との組み合せに対して、平等性算出処理を実行するようにしてもよい。
スコアが向上していると判定した場合(ステップS813でYES)、ステップS812で算出した最も平等性に優れたスコア(最も0.0に近いスコア)に対応する画像データと、レイアウト画像データとの入替処理を行う(ステップS814/入替制御)。スコアが向上していないと判定した場合(ステップS813でNO)、画像の入替は行わず、処理を先に進める。
クライアントPC100のCPU201は、全てのレイアウト画像データに対して、ステップS811〜S814の処理を適用した後、処理をステップS803に移行する。
クライアントPC100のCPU201は、ステップS805において、自動レイアウト変更の指示を受け付けていないと判定した場合(ステップS805でNO)、処理をステップS815に移行し、目立ち度の低い生徒の選択指示を受け付けたか否かを判定する(ステップS815)。
例えば、図15のページ編集画面1500において、個人写真表示部1515に表示された個人画像の選択を受け付けた場合であって、当該選択された個人画像の示す生徒の目立ち度1517の値が、該当セクションに含まれる生徒に対応する全ての目立ち度1517の値の平均値を下回る場合、目立ち度の低い生徒の選択指示を受け付けたと判定する。
クライアントPC100のCPU201は、目立ち度の低い生徒の選択指示を受け付けたと判定した場合(ステップS815でYES)、目立ち度の低い生徒の写真配置処理を実行する(ステップS816)。目立ち度の低い生徒の写真配置処理の詳細については、図9の説明にて後述する。
ここで図9を参照して、本発明の実施形態における、目立っていない被写体の写真入替処理の流れについての説明である。図9は、本発明の実施形態における、目立っていない被写体の写真入替処理の流れを示すフローチャートである。
クライアントPC100のCPU201は、ユーザの指示に応じて選択した生徒の情報、つまり生徒を識別するための識別情報(例えば、出席番号/生徒情報)をサーバ200に送信する(ステップS901/被写体選択受付)。サーバ200のCPU201は当該生徒情報を受信し(ステップS902)、当該生徒の写る画像データの情報をクライアントPC100に送信する(ステップS903)。
クライアントPC100のCPU201は、当該画像データの情報を受信し、当該画像データの内、アルバムに未掲載の画像データである候補画像データを、ページ編集画面1500のスナップ写真表示部1507に表示する(ステップS904)。
尚、ここでは、サーバ200のCPU201は、ユーザによって選択された生徒の写る画像データの情報をクライアントPC100に送信し、クライアントPC100のCPU201は、当該生徒の顔の含まれる画像データを表示画面に表示する(ステップS903)ものとしたが、例えば、当該処理に加え、前記生徒の顔の含まれる画像データ中の、前記生徒の顔画像を含む領域を切り出して表示画面に表示するようにしてもよい。
例えば、ユーザにより選択されたレイアウト画像データに生徒Aと生徒Bが写っている場合、サーバ200のCPU201は、外部メモリより、当該生徒Aと生徒Bを含む画像データNを抽出してクライアントPC100に送信する。
クライアントPC100のCPU201は、当該画像データNを、画像データN中の生徒Aと生徒Bが写っている領域をトリミング枠で囲った状態で表示画面に表示する。例えば図16に示すページ編集画面1600のように画像データを表示する。
ここで図16を参照して、本発明の実施形態における、ページ編集画面の構成の一例について説明する。図16は、本発明の実施形態における、ページ編集画面の構成の一例を示す図である。
ページ編集画面1600の構成は、図15のページ編集画面1500の構成とほぼ同一であるため、詳細な説明は省略する。ページ編集画面1600のトリミング枠1601は、ユーザの操作指示に応じて選択されたレイアウト画像データ1602に写る被写体を、サーバ200より受信した候補画像データの中から切り出すための領域である。
「入替」ボタンが押下された場合、クライアントPC100のCPU201は、当該トリミング枠1601の座標情報、及び、当該トリミングの対象となっている画像の識別情報、選択中のレイアウト画像データ1602の識別情報をサーバ200に送信し、サーバ200のCPU201は、当該レイアウト画像データ1602と、トリミング枠1601で囲われた領域の画像(切り出された画像)を入れ替える処理を実行する。
こうすることで、例えば、画像入替により被写体の増減が原因となって、平等性のスコアが下がることを防止できる。以上が図16の、本発明の実施形態における、ページ編集画面の構成の一例についての説明である。
図9の説明に戻る。クライアントPC100のCPU201は、また、受信した画像データの内、アルバムに掲載済の画像データであるレイアウト画像データであって、ページ編集画面1500のページレイアウト表示部1508に表示されている画像データを強調表示する。(ステップS904)。
ここでいう強調表示とは、例えば、画像を囲う矩形の線の色を変更する処理をいう。尚、当該矩形の線を太く表示することで、強調表示をするようにしてもよい。
クライアントPC100のCPU201は、候補画像データの選択を受け付けたか否かを判定し(ステップS905)、選択を受け付けたと判定した場合(ステップS905でYES)、当該選択を受け付けた候補画像データの識別情報をサーバ200に送信する(ステップS906)。
サーバ200のCPU201は、当該情報を受信し(ステップS907)、当該選択を受け付けた画像データと、ページレイアウト表示部1508に表示された画像データとの各組み合わせについて、画像を入れ替えた場合の、セクションにおける平等性のスコアを算出する(ステップS908)。
サーバ200のCPU201は、各組み合わせにおける平等性のスコアの算出結果に応じた表示制御のための情報をクライアントPC100に送信する(ステップS909)。
クライアントPC100のCPU201は当該情報を受信し、ページレイアウト表示部1508に表示する画像データの内、入替を行った場合、平等性のスコアが最も高くなる画像データを強調表示する(ステップS910/入替表示制御)。
また、入替前の平等性のスコア(セクションにおける現在の平等性のスコア)を上回るスコアが算出された画像データを強調表示する(ステップS910)。また、ステップS905で選択を受け付けた画像データと同じ属性を有するレイアウト画像データを強調表示する。ここでは、強調表示の種別に応じて、それぞれ異なる色で各画像データを囲って強調表示の表示制御を行うものとする。
クライアントPC100のCPU201は、レイアウト画像データの選択指示を受け付けたか否かを判定し(ステップS911)、選択を受け付けていないと判定した場合は(ステップS911でNO)、処理をステップS905の前に戻す。
選択を受け付けたと判定した場合は(ステップS911でYES)、選択されたレイアウト画像データの識別情報をサーバ200に送信する(ステップS912)。サーバ200のCPU201はこれを受信し(ステップS913)、ステップS905で選択された候補画像データと、ステップS911で選択されたレイアウト画像データとの入替を行った場合のスコアであって、ステップS908で算出した平等性のスコアの情報をクライアントPC100に送信する。
クライアントPC100のCPU201は、当該スコアの情報を受信して、表示画面に表示する(ステップS915)。例えば、不図示のポップアップウインドウに、入替前の平等性の情報と合わせて表示する。
クライアントPC100のCPU201は、入替確定指示を受け付けたか否かを判定する(ステップS916)。例えば、不図示の「入替確定」ボタン(例えば、前述した不図示のポップアップウインドウに表示)の押下を受け付けたか否かを判定する。
入替確定指示を受け付けていないと判定した場合(ステップS916でNO)、処理をステップS911に戻す。入替確定指示を受け付けたと判定した場合(ステップS916でYES)、処理をステップS917に移行し、入替確定の指示をサーバ200に送信する(ステップS918)。
サーバ200のCPU201は、当該入替確定の指示を受信し(ステップS918)、当該指示に応じて、画像の入替処理を実行し(ステップS919)、処理をステップS903に戻す。
クライアントPC100のCPU201は、ステップS905において、候補画像データの選択を受け付けていないと判定した場合(ステップS905でNO)、処理をステップS920に移行し、ページ編集の終了指示を受けつけたか否かを判定する(ステップS920)。
ページ編集の終了指示を受けつけたと判定した場合(ステップS920でYES)、処理を終了する。ページ編集の終了指示を受けつけていないと判定した場合(ステップS920でNO)、処理をステップS901に戻す。以上が図9の、本発明の実施形態における、目立っていない被写体の写真入替処理の流れについての説明である。
図8の説明に戻る。サーバ200のCPU201は、ステップS816において目立ち度の低い生徒の選択指示を受け付けていないと判定した場合(ステップS815でNO)、処理をステップS817に移行し、目立ち度の高い生徒の選択指示を受け付けたか否かを判定する(ステップS817)。
例えば、図15のページ編集画面1500において、個人写真表示部1515に表示された個人画像の選択を受け付けた場合であって、当該選択された個人画像の示す生徒の目立ち度1517の値が、該当セクションに含まれる生徒に対応する全ての目立ち度1517の値の平均値を上回る場合、目立ち度の高い生徒の選択指示を受け付けたと判定する。
目立ち度の高い生徒の選択指示を受け付けたと判定した場合(ステップS817でYES)、処理をステップS818に移行して、目立ち度の高い生徒の写真配置処理を実行する(ステップS818)。目立ち度の高い生徒の写真配置処理の詳細については、図10の説明にて後述する。
目立ち度の高い生徒の選択指示を受け付けていないと判定した場合(ステップS817でNO)、処理を終了する。以上が図8の、本発明の実施形態における、セクション単位の平等性算出処理の流れについての説明である。
次に図10を参照して、本発明の実施形態における、目立っている被写体の写真入替処理の流れについて説明する。図10は、本発明の実施形態における、目立っている被写体の写真入替処理の流れを示すフローチャートである。
ステップS1001〜S1004、ステップS1015〜S1019、ステップS1020の処理は、図9のS901〜S904、ステップS915〜S919、ステップS920の処理に対応するため、ここでは説明を割愛する。
クライアントPC100のCPU201は、ページレイアウト表示部1508に表示されたレイアウト画像データ(掲載画像)の選択を受け付けたか否かを判定する(ステップS1005)。レイアウト画像データの選択を受け付けていないと判定した場合(ステップS1005でNO)、処理をステップS1020に移行する。
レイアウト画像データの選択を受け付けたと判定した場合(ステップS1005でYES)、当該レイアウト画像データの識別情報をサーバ200に送信する(ステップS1006)。
サーバ200のCPU201は、当該情報を受信し(ステップS1007)、当該選択を受け付けた画像データと、当該画像データと入替可能な、当該画像データに登場する生徒と同じ生徒が登場する画像データとの各組み合わせについて、画像を入れ替えた場合の、セクションにおける平等性のスコアを算出する(ステップS1008)。
サーバ200のCPU201は、選択されたレイアウト画像データと入替可能な画像データと、当該各組み合わせにおける平等性のスコアの算出結果に応じた表示制御のための情報をクライアントPC100に送信する(ステップS1009)。
クライアントPC100のCPU201は当該情報を受信し、スナップ写真表示部1507に、スコアの高い順(スコア=0.0に近い順)に表示する(ステップS1010/入替表示制御)。クライアントPC100のCPU201は、候補画像データの選択指示を受け付けたか否かを判定し(ステップS1011)、選択を受け付けていないと判定した場合は(ステップS1011でNO)、処理をステップS91005の前に戻す。
選択を受け付けたと判定した場合は(ステップS1011でYES)、選択された候補画像データの識別情報をサーバ200に送信する(ステップS1012)。サーバ200のCPU201はこれを受信し(ステップS1013)、ステップS1005で選択されたレイアウト画像データと、ステップS1011で選択された候補画像データとの入替を行った場合のスコアであって、ステップS1008で算出した平等性のスコアの情報をクライアントPC100に送信する。以上が図10の、本発明の実施形態における、目立っている被写体の写真入替処理の流れについての説明である。
図7の説明に戻る。クライアントPC100のCPU201は、セクション毎の平等性判断の指示を受け付けていないと判定した場合(ステップS708でNO)、処理をステップS710に移行する。クライアントPC100のCPU201は、アルバム全体における生徒の写真写りの平等性判断の指示を受け付けたか否かを判定する(ステップS710)。
アルバム全体における生徒の写真写りの平等性判断の指示を受け付けたと判定した場合(ステップS708でYES)、処理をステップS711に移行し、アルバム平等性検証処理を実行する(ステップS711)。
アルバム平等性検証処理の詳細、流れは、図8のセクション単位の平等性算出処理の流れとほぼ同一のため、詳細に説明についてはここでは説明を割愛する。以下、アルバム平等性検証処理と、セクション単位の平等性算出処理(ステップS709)との相違点について説明する。
例えば、アルバム平等性検証処理においては、図15のページ編集画面1500のスコープ1502において、“アルバム”が選択され、表示される。
図8のステップS805において、自動レイアウト変更の指示を受け付けたと判定した場合(ステップS805でYES)、クライアントPC100のCPU201は、ページレイアウト表示部1508に表示されたページを含むアルバムの、各ページに配置(レイアウト)された画像データの識別情報をサーバ200に送信する(ステップS806)。
また、サーバ200のCPU201は、ステップS808において、スコープ1502において選択されたアルバムに属する各ページにおいて、画像データが配置されておらず、且つ、配置可能な領域が有るかを判定する(ステップS808)。
また、サーバ200のCPU201は、ステップS810において、該当アルバムのレイアウト画像データに含まれる生徒の情報を取得して、平等性の算出処理を行う(ステップS810)。
例えば、各画像における顔単独の目立ち度(=ページ上の顔の大きさの平方根÷ページ上の掲載写真の大きさの平方根)と、生徒の目立ち度(=生徒のもつ顔の目立ち度の合算値×定数)と、平等性スコア(=(1−生徒の目立ち度から算出したジニ係数)×100)とし、平等性のスコア(0.0〜1.0が大きいほど不平等)であるものとする。以下、平等性スコア算出のめの計算式の一例を記載する。また、当該計算式と同一の式を図17に示す。
また、クライアントPC100のCPU201は、ステップS805において、自動レイアウト変更の指示を受け付けていないと判定した場合(ステップS805でNO)、処理をステップS815に移行し、目立ち度の低い生徒の選択指示を受け付けたか否かを判定する(ステップS815)。
例えば、図15のページ編集画面1500において、個人写真表示部1515に表示された個人画像の選択を受け付けた場合であって、当該選択された個人画像の示す生徒の目立ち度1517の値が、該当アルバムに含まれる生徒に対応する全ての目立ち度1517の値の平均値を下回る場合、目立ち度の低い生徒の選択指示を受け付けたと判定する。
また、サーバ200のCPU201は、ステップS816において目立ち度の低い生徒の選択指示を受け付けていないと判定した場合(ステップS815でNO)、処理をステップS817に移行し、目立ち度の高い生徒の選択指示を受け付けたか否かを判定する(ステップS817)。
例えば、図15のページ編集画面1500において、個人写真表示部1515に表示された個人画像の選択を受け付けた場合であって、当該選択された個人画像の示す生徒の目立ち度1517の値が、該当アルバムに含まれる生徒に対応する全ての目立ち度1517の値の平均値を上回る場合、目立ち度の高い生徒の選択指示を受け付けたと判定する。以上がアルバム平等性検証処理と、セクション単位の平等性算出処理(ステップS709)との相違点についての説明である。
クライアントPC100のCPU201は、アルバム全体における生徒の写真写りの平等性判断の指示を受け付けていないと判定した場合(ステップS710でNO)、処理を終了する。以上が図7の、本発明の実施形態における、レイアウト変更処理の流れについての説明である。
尚、上述した本発明の実施形態の説明においては、セクション毎に平等性算出処理(平等性判断処理)を行う方法について説明したが、例えば、当該平等性算出処理を、プロジェクト毎に行うようにしてもよい。
例えば、図15のスコープ1502で「アルバムID=0001」が選択されている場合であって、平等性算出処理が実行された場合、当該算出処理の対象となる候補画像データ(サーバ200の外部メモリに記憶された画像データであって、アルバム掲載中の画像データと入れ替えるための画像データであり、同一のプロジェクトID1301を有する写真1300)を取得して、「アルバムID=0001」と対応付けられた画像データを取得し(写真配置情報1130を参照)、それぞれの画像を入れ替えた場合の平等性算出処理を実行する。
また、上述した本発明の実施形態の説明においては、生徒の選択を受け付け、当該生徒の顔が検出された写真画像(画像データ)を抽出して表示画面に表示し、当該写真画像の選択を受け付けることで、当該画像データと別の画像データを入れ替えた場合のアルバム内の平等性、または、セクション内の平等性を算出するとしたが、例えば、選択を受け付けた画像データに写る顔を検出して、当該画像データと入替候補の各画像データとを入れ替えた場合の平等性スコアを算出し、当該平等性のスコアが高い順に、入替候補の画像データを表示画面に表示させるようにしてもよい。
具体的には、クライアントPC100のCPU201が、表示画面に表示された画像データ(例えば、図15のページレイアウト表示部1508に表示された画像データ)の選択を受け付けて当該画像データの情報をサーバ200に送信する。
サーバ200のCPU201は、当該選択を受け付けた(受信した)画像データに含まれる顔画像を検出し、当該画像データと、外部メモリ内の入替候補の各画像データを入れ替えた場合の、アルバム内、乃至セクション内の平等性を算出して、当該平等性が高いと判断された順に前記候補の画像データをソートし、クライアントPC100に送信する。
クライアントPC100のCPU201は、当該画像データを受信し、当該画像データを前記ソートされた順に表示画面(例えば、図15のスナップ写真表示部1507)に表示する。クライアントPC100のCPU201は、当該表示画面に表示された画像データの入替指示(例えば、図15のページレイアウト表示部1508に表示された画像データと図15のスナップ写真表示部1507に表示された画像データとの入替指示)を受け付けることで、サーバ200に入替対象の画像データの情報を送信し、サーバ200のCPU201が当該入替処理を実行するようにしてもよい。
また、例えば、表示画面(図15のスナップ写真表示部1507)に表示された画像データの選択を受け付け、当該選択を受け付けた画像データに含まれる顔画像を検出し、当該画像データと入れ替えることで、セクション内、乃至アルバム内の平等性のスコアが向上する(例えば、最も向上する)画像データを、アルバムの各ページに掲載済の画像データから抽出し、図15のページレイアウト表示部1508に表示するようにしてもよい。
こうすることで、ユーザはアルバムに掲載する画像データにいずれの被写体が含まれているかを意識することなく、アルバム内の画像データの平等性を確保することが出来る。
以上のように、本発明によれば、選択された画像データの情報に基づいて、選択候補の画像データを提示することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。