以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。なお、図面の説明において同一又は相当要素には同一符号を付し、重複する説明を省略する。
図1は、本発明の一実施形態に係る画像評価装置10の機能構成を示す図である。画像評価装置10は、一又は複数の画像データを格納しており、これらの画像データに対するユーザ操作の履歴に基づいて当該画像データの評価値を決定する装置である。評価値とは、例えば、ユーザが画像データに対して抱いていると推定される印象を数値化した値である。本実施形態では一例として、画像評価装置10は、カメラによる撮像機能を有し、撮像された画像データに対する各種操作(例えば、オープン、削除、保護、転送等)が実行可能とされたデジタルカメラに実装されている。ただし、画像評価装置10は、これに限られない。例えば、画像評価装置10は、スマートフォン及びタブレット端末等の携帯端末であってもよいし、カメラを有さないパーソナルコンピュータ及びサーバ装置等の据置型のコンピュータ装置であってもよい。
図2は、画像評価装置10のハードウェア構成を示すブロック図である。詳しくは後述するが、図2に示すように、画像評価装置10は、物理的には、一又は複数のプロセッサ1001と、主記憶装置であるメモリ1002と、SDカード等のストレージ1003と、データ送受信デバイスである通信装置1004と、入力キー及びタッチセンサ等の入力デバイスである入力装置1005と、液晶ディスプレイ等の出力装置1006と、画像データを取得するためのカメラモジュール1008と、を含むコンピュータシステムとして構成される。カメラモジュール1008は、例えば、レンズ及び光学素子等の複数の光学系の部品と、それらを駆動制御する複数の制御系の回路と、受光素子によって取得された画像を表す電気信号をデジタル信号である画像信号に変換する信号処理系の回路部と、を含む。
図1に戻り、画像評価装置10の機能構成について説明する。画像評価装置10は、機能的な構成要素として、データ格納部11と、履歴格納部12と、ルール格納部13と、操作受付部14と、データ加工部15と、履歴取得部16と、評価部17と、を備える。データ格納部11、履歴格納部12、及びルール格納部13は、上述したメモリ1002又はストレージ1003によって実現される。
データ格納部11は、カメラモジュール1008によって取得された一又は複数の画像データを格納する。画像データは、予め設定された解像度(例えば4000×3000ピクセル)で撮像された画像の情報であり、各画素の画素値(例えば、輝度、明度、及び色彩等を数値で表現した値)を示す情報等を含む。また、画像データには、Exif(Exchangeable image file format)情報等の補助情報が埋め込まれている。Exif情報は、例えば撮影日時、シャッター速度、及び焦点距離等のような、撮影条件及び撮影時のカメラの設定等に関する情報を含む。
本実施形態では一例として、データ格納部11は、各画像データを格納する際に、各画像データのExif情報の領域を拡張し、予め定められた操作(例えば、削除操作、保護操作、転送操作等)が実行されたか否かを示すフラグ情報(例えば、削除フラグ、保護フラグ、転送フラグ等)を格納するための領域を設定する。これらのフラグ情報は、予め定められた各操作が実行される際に後述する操作受付部14によって更新され、後述する履歴取得部16によって参照される。フラグ情報には、対応する操作が実行されていない場合には「0」が設定され、対応する操作が実行された場合には「1」が設定される。データ格納部11に画像データが最初に格納された時点では、当該画像データに対して上述したような操作は実行されていないため、各操作に対応するフラグ情報には、デフォルト値として「0」が格納される。
履歴格納部12は、データ格納部11に格納された画像データに対して、画像評価装置10を使用するユーザ(以下単に「ユーザ」)によって実行された操作の履歴(操作履歴)を格納する。例えば、操作履歴は、操作が実行された日時(操作日時)及び操作内容等を対応付けた情報である。ただし、操作履歴のデータ形式は特定の態様に限られない。例えば、操作履歴は、上述したExif情報に格納されるフラグ情報と同様の情報、すなわち各操作が実行されたか否かを示す情報であってもよい。
画像データに対してユーザによって実行される操作は、ファイル操作と画像表示中の操作とを含む。ファイル操作は、例えば、複数の画像データがプレビュー表示された画面(プレビュー画面)上で一又は複数の画像データを操作対象に指定して実行される操作である。画像表示中の操作は、例えば、プレビュー画面上で選択された一の画像データがオープン(画像表示)された状態において、当該一の画像データに対して実行される操作である。
ファイル操作は、例えば、画像データのオープン、クローズ、削除、コピー、移動、属性変更(所有者変更及びパーミッション変更等)、リネーム、検索、圧縮、解凍、及び保存等のデータファイルに対する基本的な操作を含み得る。それ以外にも、ファイル操作は、画像データの保護、Wi−Fi転送、メール添付、Webサイトへのアップロード、購入、販売、所定のアプリケーションによる操作、印刷、並びに画像データに関連付けられるタグの付与、編集、及び削除等を含み得る。ここで、購入操作は、例えば画像データを販売するサイトによって販売される画像データのプレビュー画面において、購入対象の画像データを指定する操作である。販売操作は、例えばユーザが所有する画像データの中から他者に販売される画像データを指定する操作である。なお、タグは、画像データに関連付けられる情報である点で上述したExif情報と一致するが、画像データとは分離されたテキストデータとして記録される点で、画像データに埋め込まれるExif情報とは相違する。
画像表示中の操作は、例えば、画像データに対して所定の操作を実行するためのボタン押下、ダイヤル操作、キーボード押下、クリック、タップ、及びスクロール等の操作、画像の拡大、縮小、拡大位置の移動、回転、反転、及び表示色変更等の操作、画像内容の編集及び更新等の操作、並びに画像データに対するExif情報の付与、編集、及び削除等の操作を含み得る。
なお、操作履歴には、上述したような操作の内容を補足する情報が含まれてもよい。例えば、上述した画像の印刷操作については、印刷に用いられた用紙及びプリンタ等を特定するための情報が操作履歴に含まれてもよい。また、画像データがオープンされた状態(画像がディスプレイ等の出力装置1006に表示された状態)のように所定の時間継続する操作状態については、当該操作状態が継続した時間を示す情報(或いは、当該操作状態の開始時刻及び終了時刻を示す情報)が操作履歴に含まれてもよい。
ルール格納部13は、画像データに対する予め定められた操作に対応付けられる評価値を規定する一又は複数の評価ルールを格納する。例えば、評価ルールは、予め定められた操作を示す情報と当該操作に対応付けられる評価値とを互いに関連付けて記憶する情報である。ここで、画像データに対する予め定められた操作とは、上述したような画像データに対する操作のうち、画像データの評価に用いられる操作として予め定められた操作である。なお、画像データに対する予め定められた操作には、画像データの評価値をユーザが直接入力するような操作は含まれない。画像評価装置10は、このような評価値の直接入力を必要とすることなく、画像データに対する一般的な操作(すなわち、ユーザが画像データの評価を意識することなく行った操作)に基づいて、画像データの評価(評価値の決定)を行うことに主眼を置いているからである。
より具体的には、評価ルールは、例えば、画像データに対してユーザが抱いている印象を推定可能な操作に対し、推定される印象を反映した評価値を関連付けた情報である。評価ルールは、画像評価装置10(本実施形態では一例として、デジタルカメラ)の出荷時に、画像評価装置10に予め格納されていてもよいし、出荷後にインターネット等の通信ネットワークを介して画像評価装置10に配信されてもよい。
評価値は、ユーザがマイナスの印象を抱いていること(画像データを気に入っていないこと)を示す「0」とユーザがプラスの印象を抱いていること(画像データを気に入っていること)を示す「1」との2値で表される。ただし、評価値の表現形式は、上記態様に限定されない。例えば、評価値は、マイナスの印象とプラスの印象との間の中間的な印象をユーザが抱いていること(特段悪い印象も良い印象も抱いていないこと)を示す段階値等を加えた3つ以上の段階値で表される情報であってもよい。また、評価値は、連続的な数値によって表現されるスコア(例えば0〜100の範囲で、値が大きい程ユーザのプラスの印象が大きいことを示す情報等)であってもよい。
図3は、ルール格納部13に格納される評価ルール管理テーブルの一例を示す図である。評価ルール管理テーブルの1行分の情報(1レコード)が、1つの評価ルールに相当する。この例では、評価ルールは、ルールIDと操作と評価値とを互いに関連付けた情報として構成されている。ルールIDは、評価ルールを一意に特定するための識別情報である。
ルールIDがR1の評価ルール(以下「評価ルールR1」)は、削除操作に対して評価値「0(負例)」が対応付けられることを規定している。この評価ルールは、ユーザによって削除された画像はユーザが出来栄えに納得していない画像である可能性が高いという考え方に基づいている。
ルールIDがR2の評価ルール(以下「評価ルールR2」)は、保護操作に対して評価値「1(正例)」が対応付けられることを規定している。保護操作は、画像データを保護指定する操作である。保護指定された画像データについては、削除操作が禁止される。すなわち、保護指定された画像データについては、保護指定が解除されるまで削除操作を実行することができない。これにより、データ格納部11に残しておきたいとユーザが考えている画像データがユーザの誤操作等によって削除されることを防止することができる。上述の評価ルールは、ユーザによって保護指定された画像はユーザが削除せずに残しておきたいと考えた画像であり、ユーザが出来栄えに納得している画像である可能性が高いという考え方に基づいている。
ルールIDがR3の評価ルール(以下「評価ルールR3」)は、転送操作に対して評価値「1(正例)」が対応付けられることを規定している。転送操作は、デジタルカメラとしての画像評価装置10からWi−Fi通信及びUSBケーブル等を介した有線通信等によってスマートフォン等の他の装置に画像データを転送(コピー)する操作である。上述の評価ルールは、転送された画像はユーザが他の装置に保存しておきたいと考えた画像であり、ユーザが出来栄えに納得している画像である可能性が高いという考え方に基づいている。
なお、ルール格納部13に格納される評価ルールは、上述した例に限られない。例えば、ルール格納部13には、上述した評価ルールR3と同様の考え方に基づいて、画像データをメールに添付する操作、Webサイトへアップロードする操作等に評価値「1(正例)」が対応付けられることを規定する評価ルールが格納されてもよい。また、閲覧時間(オープンされた状態が継続する時間)又は編集時間(画像編集中の状態が継続する時間)が長い画像は、ユーザが気に入ってじっくりと閲覧又は編集している画像である可能性が高いと考えられる。このような考え方に基づいて、ルール格納部13には、閲覧時間又は編集時間(以下「閲覧時間等」)が所定の閾値時間以上であることに評価値「1(正例)」が対応付けられることを規定する評価ルールが格納されてもよい。それとは逆に、ルール格納部13には、閲覧時間等が所定の閾値時間未満であることに評価値「0(負例)」が対応付けられることを規定する評価ルールが格納されてもよい。
操作受付部14は、上述した入力装置1005等を介して、画像データに対するユーザ操作を受け付ける。操作受付部14は、一の画像データに対する操作(オープン等)を受け付けることもあれば、複数の画像データに対する一括操作(削除、転送等)を受け付けることもある。操作受付部14は、このような操作を受け付けると、受け付けた操作を記録するための操作履歴を履歴格納部12に格納する。
また、操作受付部14は、データ格納部11に格納された画像データのうち操作対象として指定された画像データにアクセスし、受け付けられた操作に応じた処理(例えば、オープン、削除等)を実行する。また、本実施形態においては、操作受付部14は、画像データに対して予め定められた操作を実行した場合には、当該画像データのExif情報内のフラグ情報を編集する。例えば、画像データに対して削除操作が実行された場合には、当該画像データの削除フラグをデフォルト値の「0」から削除操作が実行されたことを示す「1」に更新する。他の操作(例えば、保護操作、転送操作等)が実行された場合についても同様である。
なお、ユーザからの操作を受け付ける部分(操作受付部14)と受け付けられた操作に応じた処理を実行する部分とは、別機能として分離されてもよい。例えば、操作受付部14は、受け付けられた操作の内容を当該操作に応じた処理を実行する部分(例えば、画像評価装置10にインストールされた所定のアプリケーション等)に受け渡してもよい。この場合、当該処理を実行する部分が、上述した操作受付部14の処理(受け付けられた操作に応じた処理の実行及びフラグ情報の編集等)を実行してもよい。
操作受付部14は、データ格納部11に格納された画像データをデータ格納部11から削除することを指示する操作を受け付けた場合には、削除対象として指定された画像データをデータ格納部11から削除することなく、当該画像データを示す情報をデータ加工部15に受け渡す。また、操作受付部14は、画像データをデータ格納部11から別の場所(例えば他装置等)に移動させることを指示する操作を受け付けた場合には、移動対象として指定された画像データを当該別の場所にコピーすると共に、当該画像データを示す情報をデータ加工部15に受け渡す。
データ加工部15は、操作受付部14から取得した情報に基づいて、削除又は移動させる操作の対象として指定された画像データを特定する。続いて、データ加工部15は、特定された画像データのデータサイズを縮小する加工処理を行う。例えば、データ加工部15は、公知の解像度変換処理を実行することにより、高解像度(例えば、4000×3000ピクセル)の画像データを低解像度(例えば、256×256ピクセル)の画像データに変換する。これにより、画像データのピクセル数は、変換前の画像データのピクセル数の0.5%程度まで圧縮(約99.5%削減)され、画像データのデータサイズについても、同様に圧縮される。
ここで、画像データの削除又は移動の操作が受け付けられた場合に当該画像データをデータ格納部11から消去しない理由は、当該画像データを評価モデル生成用の学習データとして残しておくためである。評価モデルとは、例えば、任意の画像データの特徴量(例えば、上述した各画素の画素値等)を入力し、当該画像データの評価値を出力する評価関数である。このような評価モデルを生成するためには、予め正解(例えば正例であるか負例であるか)が判明している複数の画像データが、学習データとして必要となる。なお、学習データとしての画像データの解像度が大きい程、より精度の高い評価モデルを生成することができると考えられるが、現実的な処理時間と得られる評価モデルの精度とのバランスを考慮して、256×256ピクセルが学習データの解像度として一般的によく利用されている。
上述したように、データ加工部15によって削除又は移動の操作の対象とされた画像データのデータサイズを十分に小さくすることで、データ格納部11の空き容量を適切に確保することができる。すなわち、削除又は移動の操作によって本来解放されるべき記憶領域の大部分を解放することができ、データ格納部11の記憶領域(メモリ1002又はストレージ1003の記憶領域)の圧迫を抑制することができる。さらに、削除又は移動の操作の対象とされた画像データを、評価モデル生成用の学習データとして適切なサイズ(ここでは、256×256ピクセル)に変換した上で、データ格納部11に残すことができる。これにより、当該画像データを学習データとして活用することが容易となる。
履歴取得部16は、データ格納部11に格納された画像データに対するユーザによる一又は複数の操作を含む操作履歴を取得する。具体的には、履歴取得部16は、履歴格納部12を参照することで、データ格納部11に格納された個々の画像データについての操作履歴を取得することができる。
なお、上述した通り、本実施形態では、各画像データのExif情報の拡張領域に予め定められた操作が実行されたか否かを示すフラグ情報(削除フラグ、保護フラグ、転送フラグ等)が格納される。また、後述する評価部17による評価値の決定において、このようなフラグ情報に示される操作履歴(特定の操作が実行されたか否かを示す情報)で十分な場合もあり得る。このような場合には、履歴取得部16は、データ格納部11を参照することで、評価部17による評価対象の画像データのフラグ情報を操作履歴として取得してもよい。
評価部17は、履歴取得部16によって取得された画像データについての操作履歴と、ルール格納部13に格納された評価ルールとに基づいて、画像データの評価値を決定する。例えば、評価部17は、ユーザがマイナスの印象を抱いていることを示す「0」及びユーザがプラスの印象を抱いていることを示す「1」の2値のうちから、画像データの評価値を決定する。評価値が「0」に決定された画像データは、上述した評価モデルを生成するための負例(悪い例)として用いられる。評価値が「1」に決定された画像データは、上述した評価モデルを生成するための正例(良い例)として用いられる。
本実施形態では一例として、評価部17は、画像データの評価値を決定した後、当該評価値を当該画像データのExif情報に格納する。これにより、画像データのExif情報を参照することにより、当該画像データの評価値を容易に把握することが可能となる。
続いて、図4〜図6を参照して、評価部17による画像データの第1〜第3の評価例について説明する。
(第1の評価例)
図4を参照して、画像データの第1の評価例について説明する。この例は、図3に示した評価ルールR1を用いた評価を実施する例である。図4に示すテーブルの各レコード(各行)は、データ格納部11に格納された複数(ここでは4つ)の画像データの状態を示す。具体的には、各レコードの情報は、例えば各画像データのExif情報の一部として格納されている。ただし、各レコードにおける評価値は、本例における評価部17によって評価値が決定された後に格納される値である。データIDは、画像データを一意に特定するための識別情報である。
図4に示す例では、画像データ「003.jpg」に対する削除操作が実行されている。このため、上述した操作受付部14の処理により、画像データ「003.jpg」の削除フラグが「1」に設定されている。また、上述したデータ加工部15の処理により、画像データ「003.jpg」の解像度は、256×256ピクセルに変換(圧縮)されている。履歴取得部16は、各画像データの削除フラグ(削除操作が実行されたか否かを示す情報)を各画像データの操作履歴として取得する。
評価部17は、評価ルールR1と履歴取得部16により取得された各画像データの操作履歴とに基づいて、削除操作が実行された画像データ「003.jpg」の評価値を「0」に決定する。一方、評価部17は、評価ルールR1に該当する操作(削除操作)が実行されていないその他の画像データについては、評価値を決定せず未判定とする。評価部17は、各画像データについて決定された評価値を各画像データのExif情報に格納することにより、各画像データと評価値とを関連付ける。
第1の評価例によれば、評価ルールR1と各画像データの削除フラグとに基づいて、ユーザが出来栄えに納得していない画像であると推定される画像データ(すなわち、削除操作が実行された画像データ)を負例として抽出することができる。なお、上記例において、削除操作が実行されていない画像データは、現時点でユーザが削除せずに残すことを意図した画像データであるとも考えられる。従って、評価部17は、削除操作が実行されていない画像データの評価値を確定的又は暫定的に「1」に決定してもよい。
(第2の評価例)
図5を参照して、画像データの第2の評価例について説明する。この例は、図3に示した評価ルールR2を用いた評価を実施する例である。図5に示すテーブルの各レコードは、図4と同様に、データ格納部11に格納された複数の画像データの状態を示す。
図5に示す例では、画像データ「002.jpg」に対する保護操作が実行されている。このため、上述した操作受付部14の処理により、画像データ「002.jpg」の保護フラグが「1」に設定されている。履歴取得部16は、各画像データの保護フラグ(保護操作が実行されたか否かを示す情報)を各画像データの操作履歴として取得する。
評価部17は、評価ルールR2と履歴取得部16により取得された各画像データの操作履歴とに基づいて、保護操作が実行された画像データ「002.jpg」の評価値を「1」に決定する。一方、評価部17は、評価ルールR2に該当する操作(保護操作)が実行されていないその他の画像データについては、評価値を決定せず未判定とする。評価部17は、各画像データについて決定された評価値を各画像データのExif情報に格納することにより、各画像データと評価値とを関連付ける。
第2の評価例によれば、評価ルールR2と保護フラグとに基づいて、ユーザが出来栄えに納得している画像であると推定される画像データ(すなわち、保護操作が実行された画像データ)を正例として抽出することができる。なお、上記例において、保護操作が実行されていない画像データは、現時点でユーザが保護する価値があるとは考えていない画像データであるとも考えられる。従って、評価部17は、保護操作が実行されていない画像データの評価値を確定的又は暫定的に「0」に決定してもよい。
(第3の評価例)
図6を参照して、画像データの第3の評価例について説明する。この例は、図3に示した評価ルールR3を用いた評価を実施する例である。図6に示すテーブルの各レコードは、図4及び図5と同様に、データ格納部11に格納された複数の画像データの状態を示す。
図6に示す例では、画像データ「001.jpg」に対する転送操作が実行されている。このため、上述した操作受付部14の処理により、画像データ「001.jpg」の転送フラグが「1」に設定されている。履歴取得部16は、各画像データの転送フラグ(転送操作が実行されたか否かを示す情報)を各画像データの操作履歴として取得する。
評価部17は、評価ルールR3と履歴取得部16により取得された各画像データの操作履歴とに基づいて、転送操作が実行された画像データ「001.jpg」の評価値を「1」に決定する。一方、評価部17は、評価ルールR3に該当する操作(転送操作)が実行されていないその他の画像データについては、評価値を決定せず未判定とする。評価部17は、各画像データについて決定された評価値を各画像データのExif情報に格納することにより、各画像データと評価値とを関連付ける。
第3の評価例によれば、評価ルールR3と転送フラグとに基づいて、ユーザが出来栄えに納得している画像であると推定される画像データ(すなわち、転送操作が実行された画像データ)を正例として抽出することができる。なお、上記例において、転送操作が実行されていない画像データは、現時点でユーザが他の装置に保存する価値があるとは考えていない画像データであるとも考えられる。従って、評価部17は、転送操作が実行されていない画像データの評価値を確定的又は暫定的に「0」に決定してもよい。
続いて、一の画像データに対して複数の予め定められた操作がされた場合における、評価部17による画像データの第4及び第5の評価例について説明する。以下の評価例では、履歴取得部16は、評価対象となる一の画像データに対する複数の予め定められた操作を含む操作履歴を取得する。また、評価部17は、操作履歴に含まれる複数の予め定められた操作の各々に対応する評価値を算出し、複数の予め定められた操作の各々に対応する評価値に基づいて一の画像データの評価値を決定する。
(第4の評価例)
本例の前提として、ルール格納部13は、予め定められた操作に複数の段階値のいずれかを対応付けた評価ルールを格納している。ここでは一例として、ルール格納部13は、評価ルールとして、画像データが正例であることを示す評価値(本実施形態では「1」)に第1操作が対応付けられることを示す第1評価ルールと、画像データが負例であることを示す評価値(本実施形態では「0」)に第2操作が対応付けられることを示す第2評価ルールと、を含む。すなわち、本例では、複数の段階値として、正例であることを示す評価値「1」と負例であることを示す評価値「0」との2つの段階値がある。例えば、上述した図3の例では、評価値「1」に保護操作及び転送操作が対応付けられることを示す評価ルールR2及びR3は、第1評価ルールに該当し、保護操作及び転送操作は、第1操作に該当する。一方、評価値「0」に削除操作が対応付けられることを示す評価ルールR1は、第2評価ルールに該当し、削除操作は、第2操作に該当する。ただし、上述した通り、評価ルールの例は図3の例に限られないため、第1操作及び第2操作に該当する操作例についても、削除操作、保護操作、及び転送操作に限られない。例えば、第1操作に該当する操作の他の例としては、閲覧時間又は編集時間が所定の閾値時間以上であるオープン操作又は編集操作が挙げられる。また、第2操作に該当する操作の他の例としては、閲覧時間又は編集時間が所定の閾値時間未満であるオープン操作又は編集操作が挙げられる。
評価部17は、評価対象となる一の画像データについての操作履歴に含まれる各操作が第1操作及び第2操作のいずれに該当するかを判定する。そして、評価部17は、第1操作に該当すると判定された操作の数と第2操作に該当すると判定された操作の数とに基づいて、一の画像データの評価値を正例であることを示す評価値(本実施形態では「1」)又は負例であることを示す評価値(本実施形態では「0」)に決定する。例えば、第1操作に該当する操作の数が第2操作に該当する操作の数よりも多い場合、評価部17は、一の画像データを正例に決定する。一方、第1操作に該当する操作の数が第2操作に該当する操作の数よりも少ない場合、評価部17は、一の画像データを負例に決定する。
第4の評価例によれば、画像データが正例であることを示唆する第1操作の実行回数と画像データが負例であることを示唆する第2操作の実行回数との比較結果に基づいて、画像データの評価(正例又は負例への分類)の精度を向上し得る。なお、ルール格納部13は、予め定められた操作に3つ以上の複数の段階値のいずれかを対応付けた評価ルールを格納していてもよい。この場合、段階値の数が2つの場合と同様に、評価部17は、一の画像データについての操作履歴に含まれる複数の予め定められた操作の各々が複数の段階値のいずれに対応付けられる操作であるかを判定し、複数の段階値の各々に対応付けられると判定された操作の数に基づいて、一の画像データの評価値を複数の段階値のいずれかに決定することができる。
(第5の評価例)
本例では、評価部17は、一の画像データについての操作履歴に含まれる複数の予め定められた操作の実行順序に基づいて、一の画像データの評価値を決定する。なお、評価部17は、操作履歴に含まれる各操作の操作日時に基づいて、複数の操作間の時間的な順序関係を把握することができる。
例えば、評価部17は、複数の予め定められた操作のうち最初に実行された操作に対応付けられる評価値を一の画像データの評価値として決定してもよい。この場合、最初にユーザに実行された操作(画像データに対するユーザの最初の印象を表す操作)に基づく評価値を画像データの評価値として確定させることができる。すなわち、2回目以降の操作によって評価値が上書きされてしまうことを防ぐことができる。
また、評価部17は、複数の予め定められた操作のうち最後に実行された操作に対応付けられる評価値を一の画像データの評価値として決定してもよい。この場合、画像データの評価値は、ユーザの操作毎に更新されることになる。これにより、画像データに対するユーザの最後(最新)の印象を表す操作に基づく評価値を画像データの評価値とすることができる。
なお、ユーザが画像データを別の装置に転送した後に当該画像データを画像評価装置10から削除する場合が考えられる。この場合の削除操作は、ユーザが気に入った画像データを別装置にコピーした後の削除操作であるから、ユーザが気に入っていない画像データに対する削除操作とは、操作の目的が本質的に異なると考えられる。従って、このような一連の操作がされた場合に、上述のように最後に実行された操作(すなわち削除操作)に対応付けられる評価値「0(負例)」が画像データの評価値として決定されることは適切ではない。そこで、画像評価装置10(例えばルール格納部13等)において、複数の予め定められた操作についての特定の実行順序に対応付けられる評価値が予め設定されていてもよい。そして、評価部17は、画像データについての操作履歴において当該特定の実行順序を検出した場合、当該実行順序に対応付けられる評価値を画像データの評価値として決定してもよい。例えば、画像評価装置10において、転送操作の後に削除操作がされるという特定の実行順序に対応付けられる評価値「1(正例)」が予め設定されており、当該実行順序が検出された場合には、評価部17は、当該評価値「1(正例)」を画像データの評価値として決定してもよい。
第5の評価例によれば、複数の予め定められた操作の実行順序に基づいて、画像データの評価の精度を向上し得る。
続いて、図7に示すフローチャートを参照して、画像評価装置10の動作の一例を説明する。
操作受付部14は、データ格納部11に格納された画像データに対するユーザ操作(削除操作、保護操作、転送操作等)を受け付ける(ステップS1)。続いて、操作受付部14は、受け付けられた操作が画像データをデータ格納部11から削除又は移動させることを指示する操作(以下「削除操作等」)であるか否かを判定する(ステップS2)。
受け付けられた操作が削除操作等である場合(ステップS2:YES)、データ加工部15は、削除又は移動させる操作の対象として指定された画像データのデータサイズを縮小する加工処理(圧縮処理)を行う(ステップS3)。また、操作受付部14は、受け付けた操作を記録するための操作履歴を履歴格納部12に格納する(ステップS4)。
続いて、履歴取得部16は、例えば履歴格納部12を参照することで、評価対象の画像データ(本実施形態では、データ格納部11に格納された各画像データ)についての操作履歴を取得する(ステップS5)。なお、上述した通り、履歴取得部16は、各画像データのExif情報に含まれるフラグ情報を操作履歴として取得してもよい。
続いて、評価部17は、履歴取得部16によって取得された画像データについての操作履歴と、ルール格納部13に格納された評価ルールとに基づいて、画像データの評価値を決定する(ステップS6)。評価部17は、例えば上述した第1〜第5の評価例のような処理を実行することで、画像データの評価値を決定し、当該評価値を画像データに関連付ける(例えばExif情報に格納する)。
続いて、図8を参照して、コンピュータを画像評価装置10として機能させるための画像評価プログラムPについて説明する。
画像評価プログラムPは、メインモジュールP10、データ格納モジュールP11、履歴格納モジュールP12、ルール格納モジュールP13、操作受付モジュールP14、データ加工モジュールP15、履歴取得モジュールP16、及び評価モジュールP17を備える。メインモジュールP10は、画像評価装置10としての処理を統括的に制御する部分である。データ格納モジュールP11、履歴格納モジュールP12、ルール格納モジュールP13、操作受付モジュールP14、データ加工モジュールP15、履歴取得モジュールP16、及び評価モジュールP17を実行することにより実現される機能は、それぞれ、画像評価装置10のデータ格納部11、履歴格納部12、ルール格納部13、操作受付部14、データ加工部15、履歴取得部16、及び評価部17の機能と同様である。
画像評価プログラムPは、例えば、CD−ROM、DVD若しくはROM等の記録媒体又は半導体メモリによって提供される。また、画像評価プログラムPは、搬送波に重畳されたコンピュータデータ信号としてネットワークを介して提供されてもよい。
以上述べた画像評価装置10では、ルール格納部13が、画像データに対する予め定められた操作(例えば、削除操作、転送操作等)に対応付けられる評価値を規定する評価ルール(例えば図3に示す評価ルールR1〜R3等)を格納している。評価部17が、この評価ルールと履歴取得部16により取得されたユーザによる画像データについての操作履歴とに基づいて、画像データの評価値を決定する。このように、画像データに対してどのようなユーザ操作が実行されたかに基づいて評価が行われるため、ユーザの嗜好を反映した画像データの評価が実現される。また、画像データに対する通常のユーザ操作に基づいて当該画像データの評価が行われるため、画像データを評価するにあたって、ユーザによる特別な前処理(例えば、正例又は負例を示す代表画像の選択等の処理)が必要とされない。従って、画像評価装置10によれば、ユーザの手間を抑制しつつ、ユーザの嗜好を反映した画像データに対する評価を行うことができる。
なお、本発明は、上述した実施形態に限定されるものではない。
例えば、画像データが複数の装置(例えばデジタルカメラ、スマートフォン、PC、サーバ等)間で移動し、各装置上でユーザによる操作が実行される場合があり得る。この場合、各装置で実行された操作を記録する全ての操作ログ(操作履歴)は、画像データのExif情報に格納されてもよい。この場合、複数の装置上で実行された操作の操作履歴が画像データに付随するため、画像評価装置10が上述の複数の装置のいずれに実装される場合であっても、画像データについての操作履歴を参照して画像データの評価を行うことができる。
また、各装置で実行された操作の操作履歴は、上述した複数の装置のいずれかで一元的に管理されてもよい。この場合、例えば、操作履歴を管理しない各装置は、当該各装置上での画像データに対するユーザ操作を記録した操作履歴を、定期的又は操作が実行される度に、操作履歴を管理する装置に送信するように構成されればよい。この場合、履歴取得部16は、操作履歴を管理する装置から評価対象の画像データの操作履歴を取得すればよい。
また、上記実施形態では、閲覧時間等が所定の閾値時間以上(又は閾値時間未満)であることに対して評価値「1(正例)」(又は評価値「0(負例)」)が対応付けられる例を示したが、閲覧時間等の長さ自体を評価値として対応付けることを規定する評価ルールが用いられてもよい。この場合、評価値は、連続的な数値によって表現される。また、閲覧時間等の長さを評価値とする場合、評価部17は、複数の異なる閲覧操作(オープン操作)又は編集操作毎の閲覧時間等を足し合わせた合計時間を、画像データの評価値としてもよい。
なお、上記実施形態の説明に用いたブロック図(図1)は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線で)接続し、これら複数の装置により実現されてもよい。
例えば、上記実施形態における画像評価装置10は、上記実施形態の画像評価装置10の処理を行うコンピュータとして機能してもよい。上述した通り、図2は、本実施形態に係る画像評価装置10のハードウェア構成の一例を示す図である。上述の画像評価装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、及びバス1007等を含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニット等に読み替えることができる。画像評価装置10のハードウェア構成は、図2に示された各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
画像評価装置10における各機能は、プロセッサ1001、メモリ1002等のハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタ等を含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、及び/又はデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、画像評価装置10の評価部17は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、図1に示した他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)等の少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)等と呼ばれてもよい。メモリ1002は、上記実施形態に係る情報処理方法(図7のフローチャートに示される手順等)を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュール等を保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)等の光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップ等の少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバ、その他の適切な媒体であってもよい。
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等ともいう。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサ等)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプ等)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001及びメモリ1002等の各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、画像評価装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更された態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャート等は、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いられてもよいし、組み合わせて用いられてもよいし、実行に伴って切り替えて用いられてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能等を意味するよう広く解釈されるべきである。
また、ソフトウェア、命令等は、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)等の有線技術及び/又は赤外線、無線及びマイクロ波等の無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報及び信号等は、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップ等は、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
また、本明細書で説明した情報、パラメータ等は、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
上述したパラメータに使用される名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」との両方を意味する。
「含む(including)」、「含んでいる(including)」、及びそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「又は(or)」及び「或いは(or)」は、排他的論理和ではないことが意図される。
本明細書において、文脈又は技術的に明らかに1つのみしか存在しない装置であることが示されていなければ、複数の装置をも含むものとする。
本明細書で使用する「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「決定」は、例えば、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「決定」したとみなす事等を含み得る。また、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「決定」したとみなす事等を含み得る。また、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)等した事を「決定」したとみなす事を含み得る。つまり、「決定」は、何らかの動作を「決定」したとみなす事を含み得る。
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。