本発明の一実施形態について図面を参照して説明する。なお、本発明は下記の実施形態及び図面によって限定されるものではない。本発明の要旨を変更しない範囲で下記の実施形態及び図面に変更を加えることが出来るのはもちろんである。本発明に係る画像特定装置は、例えばコンピュータによって実現される。また、本発明に係る画像特定装置は、表示制御装置であってもよい。
本実施形態に係る画像特定装置1は、デジタルフォトスタンド(デジタルフォトフレームともいう。)である(図3参照)。デジタルフォトスタンドは、画像(例えば、デジタルカメラで撮影したデジタル写真)を表示再生する。
まず、画像特定装置1の構成を説明する。図1のように、画像特定装置1は、制御部10と、記憶部20と、撮影部30と、表示部40と、入力部50と、読出部60と、を備える。なお、各部の機能の少なくとも一部は、ネットワークを介して画像特定装置1と通信可能な他の装置に設けても良い。
制御部10は、各部の制御を行い、画像特定装置1全体の制御を行う。また、制御部10は、画像特定部10aと、状態検出部10bと、を備え、後述の画像特定・表示処理を行う。
記憶部20は、後述のメモリーカード100から読み出した記録画像データ、及び、後述の画像特定・表示処理で生成したデータ等のデータを必要に応じて記憶する。
撮影部30の少なくとも一部(撮影装置31の少なくとも一部)は、撮影レンズが表示部40の表示面の前方を向くように、表示部40のフレーム等に固定される(図3参照)。撮影部30は、制御部10の制御のもと、表示部40の表示面の前方を撮影する。ここで、表示面の前方とは、例えば、表示面の光の出射方向の少なくとも一部、又は、表示面の法線方向から一定範囲方向として規定される。撮影部30は、表示部40の前方を撮像し、撮像した静止画像を表す撮像信号を生成し、生成した撮像信号をもとに、デジタルの静止画像元データを生成する。撮影部30は、生成した静止画像元データを制御部10に順次供給する。このようにして、撮影部30は静止画像の連続である動画像を撮影する。
表示部40は、制御部10の制御のもと、画像を表示する。特に、表示部40は、記録画像データによって表現される記録画像を表示する。
入力部50は、ユーザの操作入力を受け付け、受け付けた操作に対応する操作入力データを制御部10に供給する。
メモリーカード100は、複数の記録画像データを記憶する。この記録画像データは、予め撮影されて所定の記憶媒体に記録される画像データであればよく、記録される媒体はメモリーカード100に限られない。また、記録画像データによって表現される画像を記録画像という。
読出部60は、制御部10の制御のもと、メモリーカード100から所定の記録画像データを読み出し、制御部10に供給する。
次に、画像特定装置1のハードウェア構成の一例を説明する。画像特定装置1は、図2のように、CPU(Central Processing Unit)11と、一次記憶装置12と、二次記憶装置21と、撮影装置31と、駆動回路41と、表示パネル42と、入力装置51と、読出装置61と、を備える。
図1の制御部10は、例えば、CPU11と、一次記憶装置12と、によって構成される。一次記憶装置12は、RAM(Random Access Memory)等によって構成される。制御部10は、CPU11と、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)等と、を含んで構成されてもよい。この場合、CPU11が行う後述の画像特定・表示処理の一部(画像データの処理等)をASIC等が行う。ASICは、例えば、DSP(Digital Signal Processor)である。
図1の記憶部20は、二次記憶装置21によって構成される。二次記憶装置21は、フラッシュメモリ又はハードディスク等によって構成される。二次記憶装置21は、画像特定プログラム25を記録している。画像特定プログラム25は、一次記憶装置12に展開される。
CPU11は、一次記憶装置12に展開された画像特定プログラム25の指令に基づいて後述の画像特定・表示処理を行う。また、一次記憶装置12にはCPU11が処理するデータが記録される。制御部10が他の部から受け取る又は制御部10が他の部に供給するデータは、例えば、一旦、一次記憶装置12に記録されることになる。CPU11は一次記憶装置12に記録されたデータを読み出し演算等して、演算結果のデータを一次記憶装置12に記録する。一次記憶装置12には、CPU11の作業領域が設けられる。なお、制御部10が備える画像特定部10aと、状態検出部10bとは、それぞれ、画像特定プログラム25に従って後述の画像特定・表示処理の一部を行うCPU11と、一次記憶装置12の所定の記憶領域と、によって構成される。
一次記憶装置12及び二次記憶装置21は、後述のメモリーカード100から読み出した記録画像データ、及び、後述の画像特定・表示処理で使用するデータ等のデータを記憶する。また、一次記憶装置12及び二次記憶装置21が記憶するデータは、CPU11によって、必要に応じて消去又は他のデータによって上書きされる。
画像特定プログラム25は、持ち運び可能な記憶媒体等に記録されてもよい。持ち運び可能な記憶媒体は、例えば、CD−ROM(Compact Disk Read Only Memory)又はDVD−ROM(Digital Versatile Disk Read Only Memory)等である。画像特定プログラム25は、持ち運び可能な記憶媒体から各種の読取装置を介して画像特定装置1にインストールされてもよい。また、画像特定プログラム25は、インターネット等のネットワークから各種の通信部を介して画像特定装置1にダウンロード及びインストールされてもよい。また、画像特定プログラム25は、画像特定装置1と通信可能なサーバ等の記憶装置に格納されて、CPU11への指示を行っても良い。画像特定プログラム25を記憶した読み取り可能な記憶媒体(例えば、RAM、ROM(Read Only Memory)、CD−R、DVD−R、ハードディスク、又は、フラッシュメモリ)は、コンピュータが読み取り可能なプログラム製品となる。
図1の撮影部30は撮影装置31(図3も参照)から構成される。撮影装置31は、撮影レンズが表示パネル42の表示面の前方を向くように、撮影装置31の少なくとも一部が表示部40のフレーム等に固定される(図3参照)。撮影装置31は、CCD(Charge Coupled Device)イメージセンサ又はCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の撮像素子を備えるカメラ等によって構成される。撮像素子は、一定周期毎の像のRGB(Red Green Blue)値の各色の光の強さを光電変換して撮像信号を順次生成する。撮影装置31は、撮像信号に各種処理を行って、デジタルの静止画像元データを順次生成する。このようにして、撮影装置31は、表示パネル42(表示部40)の前方を順次撮像し、撮像した静止画像を表す撮像信号を生成し、生成した撮像信号をもとに、デジタルの静止画像元データを順次生成する。撮影装置31は、生成した静止画像元データを、例えば、一次記憶装置12に順次供給する。一次記憶装置12は、供給された静止画像元データを順次受け取って、受け取った静止画像元データを記憶する。CPU11は、一次記憶装置12が記憶する静止画像元データを用いて後述の処理を行う。なお、上記の各種処理としては、例えば、相関二重サンプリング(Correlated Double Sampling)、サンプリング後の撮像信号に施す自動利得調整(Automatic Gain Control)、及び、自動利得調整後のアナログの撮像信号をデジタル信号に変換するアナログ・デジタル変換等がある。連続する静止画像元データは、動画像の元データとなる。
図1の表示部40は、駆動回路41と、表示パネル42(図3も参照)と、によって構成される。駆動回路41には、記録画像データの記録画像を表す再生データが供給される。駆動回路41は、供給された再生データを受け取り、受け取った再生データに基づいて表示パネル42を駆動し、表示パネル42に記録画像を再生表示する。表示パネル42は、例えば、液晶表示パネル又は有機EL表示パネル等によって構成される。このように、表示パネル42は、CPU11の制御のもと、記録画像データが表現する記録画像を表示する。
図1の入力部50は、入力装置51によって構成される。入力装置51は、例えば、再生キー、特定キー、停止キー等を備える。ユーザがこれらのキーを操作すると、入力装置51は各キーに応じた操作入力データを一次記憶装置12に供給する。一次記憶装置12は供給された操作入力データを受け取り、受け取った操作入力データを記憶する。CPU11は、一次記憶装置12が記憶する操作入力データを用いて後述の処理を行う。
なお、図1の表示部40と入力部50とをタッチパネルによって構成してもよい。この場合、表示パネル42及び入力装置51は、タッチパネルによって構成される。タッチパネルは、所定の入力画面を表示するとともに、操作入力データを一次記憶装置12に供給する。
メモリーカード100は、フラッシュメモリタイプのメモリーカード等によって構成される。メモリーカードとしては、デジタルカメラが撮影した画像のデータ(記録画像データ)を記録するSDメモリーカード等がある。
図1の読出部60は、読出装置61によって構成される。読出装置61は、メモリーカード100に記録された記録画像データを読み出す適宜の装置によって構成される。読出装置61は、メモリーカード100に記録された記録画像データを読み出し、読み出した記録画像データを一次記憶装置12に供給する。一次記憶装置12は、供給された記録画像データを受け取り、受け取った記録画像データを記憶する。CPU11は、一次記憶装置12が記憶する記録画像データを用いて後述の処理を行う。
バス90は、このバス90に接続された各構成要素でやりとりされるデータ等を伝送する伝送路である。
次に画像特定装置1が行う画像特定・表示処理を図4乃至図19を参照して説明する。
この画像特定・表示処理は、ユーザによる入力部50の操作を契機として始まる。例えば、メモリーカード100が読出部60に挿入される等して、読出部60がメモリーカード100に記録された記録画像データを読み取り可能になった場合、画像特定装置1は表示部40にその旨を表示させる。そして、画像特定装置1は、ユーザが入力部50の再生キーを操作すると、画像特定・表示処理を開始する。なお、処理中、ユーザが入力部50の停止キーを操作すると、この処理が処理中であっても、画像特定装置1はこの処理を終了するものとする。また、メモリーカード100には所定数の記録画像データが記録されているものとする。ここでの記録画像データは、例えば、デジタルカメラ等で撮影された静止画像データであり、JPEG(Joint Photographic Experts Group)等のファイル形式になっている。なお、記録画像データは、AVI(Audio Video Interleave)等の動画像データであってもよい。
画像特定部10aは、n=0を設定する(ステップS101)。nは、メモリーカード100から読み出す記録画像データの番号を示すものである。画像特定部10aは、n=n+1とする(ステップS102)。画像特定部10aは、読出部60を介してメモリーカード100に記録された記録画像データをn番目の画像データとして読み出す(ステップS103)。画像特定部10aは、この際、同一の記録画像データを重複して読み出さないようにする。
画像特定部10aは、読み出したn番目の記録画像データを分析する(ステップS104)。具体的には、例えば、画像特定部10aは、分析対象である記録画像データの記録画像における被写体を含む被写体領域の状態を検出することによって、n番目の記録画像データを分析する。このような分析によって、画像特定部10aは、n番目の記録画像データの記録画像における被写体の状態を検出する(ステップS104)。被写体領域は被写体を含むものである。このため、画像特定部10aは、例えば、被写体領域の状態を検出することによって、被写体の状態を検出する。
なお、画像特定部10aは、n番目の記録画像データを分析するときに、この記録画像データの記録画像の縦横の辺の比を把握し、把握した縦横の辺の比が予め設定された辺の比と同じであるか判断する。予め設定された辺の比とは、例えば、後述の撮影画像及び表示部が表示する画像の辺の比である。例えば、撮影画像の辺の比は、表示部が表示する画像の辺の比(つまり、表示部40の表示面の辺の比)と同じに設定されている。両者の辺の比が同じである場合、画像特定部10aは、記録画像データを編集せずにそのまま被写体の状態の把握を試みる。両者の辺の比が異なる場合には、画像特定部10aは、記録画像の縦横の辺の比が予め設定された辺の比となるように、記録画像データを編集し、編集した記録画像データを分析して、被写体の状態の把握を試みる。例えば、記録画像の縦の辺の長さに対する記録画像の横の辺の長さが、予め設定された辺の比に対して短い場合、画像特定部10aは、記録画像を横方向中央に置いて、横方向両側の足りない部分に対応する二つの領域(足りない部分の辺×縦の辺の領域)に黒色等の画像又は所定の背景画像等を記録画像に付加した新たな記録画像データを生成することによって、記録画像データを編集する。また、記録画像の縦の辺の長さに対する記録画像の横の辺の長さが、予め設定された辺の比に対して長い場合、画像特定部10aは、例えば、画像の横方向の両端部の横の辺の長い部分に対応する二つの領域(長い部分の辺×縦の辺の領域)を削除した新たな記録画像データを生成することによって、記録画像データを編集する。画像特定部10aは、記録画像データを編集した場合、編集後の、つまり、編集によって新たに生成した、新たな画像データが予め撮影され記録された記録画像データであるとして、以下の処理で扱う。つまり、記録画像データは、適宜編集されたデータであってもよい。
ここで、被写体とは、例えば、人物又は動物の特徴的部分である。特徴的部分とは、例えば、人物又は動物の顔である。特徴的部分は、画像特定装置1が画像上でこの特徴的部分を把握できる人物又は動物の少なくとも一部分であればよい。以下では被写体は、人物の顔であるとして説明する。
画像特定部10aは、例えば、記録画像データが表現する記録画像を複数の分割領域に分割するとともに、被写体を検出し、検出した被写体がどの分割領域に位置するかを把握し、把握した被写体の位置を示す情報を生成することによって、被写体の位置という被写体の状態を検出する。画像特定部10aは、被写体の位置の把握等に被写体領域の検出等を用いる。ここでは、被写体領域の状態がそのまま被写体の状態になる。
各分割領域は、例えば、図5に示す、記録画像データの記録画像を横方向に四分割した四つの分割領域A1乃至A4である。各分割領域は、これに限らず、例えば、画像の縦方向及び横方向に2分割した、画像を四分割した各領域(左上、左下、右上、及び、右下の各領域)であってもよい。
図5の記録画像では、人物511と、人物512と、が写っている。そして、第1の被写体である、人物511の顔511aは分割領域A2内にある。また、第2の被写体である、人物512の顔512aは分割領域A4内にある。画像特定部10aは、顔(被写体)511aを含む顔領域(被写体領域)521及び顔(被写体)512aを含む顔領域(被写体領域)522を検出する。そして、画像特定部10aは、検出した顔領域521が分割領域A2内に位置すると把握する。また、画像特定部10aは、検出した顔領域522が分割領域A4内に位置すると把握する。画像特定部10aは、例えば、検出した顔領域の位置情報等により、顔領域がどの分割領域に位置するか把握する。これら顔領域の位置が顔の位置になるので、顔領域の位置によって被写体の位置がどの分割領域内に位置しているか把握されたことになる。
画像特定部10aは、被写体の状態(ここでは、各分割領域A1乃至A4内に顔領域があるか)を把握すると、把握した被写体の状態を示す情報である被写体状態情報を生成することで、被写体の状態を検出する。さらに、画像特定部10aは、生成した被写体状態情報を記憶部20に記録する(ステップS104)。このとき、画像特定部10aは、n番目の記録画像データを特定するための情報である記録画像特定情報と、n番目の記録画像データ(上記で編集した場合には、編集後の記録画像データ)と、を前記の被写体状態情報に対応付けて記憶部20に記録する(ステップS104)。記録画像特定情報は、ここでは、画像ナンバーであり、nの数字がそのまま用いられる。記録画像特定情報は、画像特定部10aが適宜生成した情報であってもよい。被写体状態情報と、記録画像特定情報と、画像データとを含む情報は、記録画像情報となる。なお、記録画像情報は、記録画像特定情報を含まなくてもよい。
ここで、図5の記録画像の被写体を分析して生成した被写体状態情報の内容を図6に示す。また、図5の記録画像の記録画像データが2番目の記録画像データであるとしたときの記録画像情報の内容を図7に示す。図5の記録画像では分割領域A2内と分割領域A4内に被写体(顔)が位置しているので、被写体状態情報は、図6及び図7のようにA1=×、A2=○、A3=×、A4=○という位置情報を含む。また、図7のように、図5の記録画像データの記録画像特定情報は「2」である。また、図7の記録画像データは図5の記録画像の記録画像データの内容(図7では「xxx」となっている。)になる。記録画像上に被写体が存在しない場合、画像特定部10aは、被写体が存在しないという被写体の状態を検出することになる。この場合、被写体状態情報は、A1=×、A2=×、A3=×、A4=×となる。
なお、顔領域が複数の分割領域にまたがって位置する場合、画像特定部10aは、例えばこの顔領域を構成する画素を最も多く含む分割領域にこの顔領域が位置すると判断する等、予め定められた方法によって顔領域がどの分割領域に位置するかを判断する。なお、複数の分割領域が同じ数の前記顔領域の画素を含んでいる場合、画像特定部10aは、同じ数の画素を含む複数の分割領域のうちのランダムに決定した分割領域に前記顔領域が位置すると判断する等、予め定められた方法によって顔領域がどの分割領域に位置するかを判断する。
このステップS104で行われる撮影対象領域(特に顔領域)の検出については、公知の方法を採用できる。例えば、特開2000−105819号公報に記載の手法のように入力画像から肌色領域を抽出することによって顔領域を検出しても良いし、特開2006−211139号公報又は特開2006−72770号公報に記載の手法を用いて顔領域を検出しても良い。
例えば、画像特定部10aは、記録画像内に設定された着目領域の画像と所定のテンプレート顔画像とを対比して両画像の類似度を判定し、その類似度に基づいて着目領域に顔が含まれているか否かを判定する。つまり、両画像の類似度がある基準を満たす場合には、着目領域は顔領域である。つまり、画像特定部10aが顔領域を検出したことになる。類似判定は、顔であるか否かを識別するのに有効な特徴量を抽出することによって行う。特徴量は、水平エッジ、垂直エッジ、右斜めエッジ、及び、左斜めエッジ等である。
記録画像において着目領域は一画素ずつ左右方向又は上下方向にずらされる。そして、ずらされた後の着目領域内の画像とテンプレート顔画像とが対比されて、再度、両画像の類似度が判定される。このように、着目領域は、例えば記録画像の左上から右下方向に向けて1画素ずつずらされながら、更新設定される。また、記録画像を一定割合で縮小し、縮小後の画像に対して、同様の顔検出処理を行ってもよい。このような処理を繰り返すことにより、記録画像中から任意の大きさの顔領域を検出することができる。
なお、記録画像データの画像が動画像である場合には、画像特定部10aは、例えば、前記と同様の各分割領域内に、所定時間以上(所定数以上のフレーム画像(動画を構成する静止画)に)留まる顔領域がいくつあるかを把握する。このようにして、画像特定部10aは、上記の被写体状態情報と同様のデータを生成できる。
なお、画像データが動画像である場合の処理においては、画像特定部10aは、顔領域の追跡処理を行って、各分割領域内に、所定時間以上(所定数以上のフレーム画像(一定数動画を構成する静止画)に)留まる顔領域があるかを把握するとよい。
この場合、画像特定部10aは、この動画上の顔領域を追跡する。ここで、或るフレーム画像を基準フレーム画像と呼ぶ。画像特定部10aは、まず基準フレーム画像から顔領域を検出する。検出方法は、上記と同様である。そして、画像特定部10aは、基準フレームの次のフレームのフレーム画像内における顔領域を追跡処理によって特定する。ここで、時間的に互いに隣接する2つのフレーム画像を前フレーム画像及び現フレーム画像と呼ぶ。画像特定部10aは、前フレーム画像における顔の位置の近傍領域を探索領域とし、現フレーム画像の探索領域内で画像マッチング処理を行うことにより現フレーム画像の顔領域を検出することができる。画像マッチング処理では、例えば、前フレーム画像における顔の位置を中心とした矩形領域内の画像をテンプレート画像として、そのテンプレート画像と現フレーム画像の探索領域内の画像との類似性を計算することにより、現フレーム画像から顔領域を検出する。類似度に関する一定の条件を満たす探索領域が顔領域になる。画像特定部10aは、このような検出処理を繰り返し行うことで、基準フレーム画像にて検出された顔領域を、基準フレーム画像以降の動画像内で追跡する。
画像特定部10aは、メモリーカード100から読み出していない記録画像データがあるかを、メモリーカード100を参照して判断し(ステップS105)、読み出していない記録画像データがある場合(ステップS105;YES)、すべての記録画像を読み出すまで、ステップS102乃至ステップS104の処理を繰り返す。この繰り返される処理によって、記憶部20には記録画像情報が蓄積される。蓄積された記録画像情報は、記録画像情報データテーブルを構成する(図8参照)。図8の表の一行が記録画像情報の内容である。
なお、上記では、画像特定部10aは、記録画像データを読み出すたびに記録画像データの分析を行っているが、複数の記録画像データを読み出してから一つずつ分析してもよい。
このようにして、画像特定部10aは、予め撮影されて記録された画像データ(記録画像データ)を取得し、取得した画像データを分析し、分析した画像データの画像の被写体の状態を検出する(なお、この方法は、上記方法には限らない)。
ステップS105の処理で画像特定部10aが読み出していない記録画像データがないと判断すると(ステップS105;NO)、画像特定部10aは、メモリーカード100から読み出した記録画像データの記録画像を任意の順序で所定間隔順次表示していく(ステップS106)。具体的には、画像特定部10aは、記憶部20に記録した記録画像データを記憶部20から所定の期間毎に順次読み出す。次に、画像特定部10aは、この順次読み出した記録画像データ毎に所定の処理(復号化、逆量子化、及び、表示部40の表示領域に合わせるための画像の拡大・縮小等)を施して再生用の再生データを生成する。画像特定部10aは、生成した再生データを表示部40に供給する。表示部40は、画像特定部10aが供給する再生データを受け取り、受け取った再生データ用いて、前記の記録画像データが表す記録画像を表示する。このような処理が、各記録画像データそれぞれについて任意の順序(例えば画像ナンバー順)で繰り返し行われる。このようにして、表示部40は、記録画像データの記録画像を所定の期間毎に切り替えて順次表示する。この表示処理は、新たな表示処理(後述のステップS114の処理)が開始されるまで繰り返し行われ、全ての画像を表示し終わっても再度表示処理が行われる。これは、後述のステップS114の処理でも同様である。
画像特定部10aが画像の表示処理を開始すると、状態検出部10bは撮影部30に表示部40の前方の撮影を開始させる(ステップS107)。例えば、撮影部30は、状態検出部10bの制御のもと、表示部40の前方を撮影して上述の静止画像元データを順次生成し、生成した静止画像元データを状態検出部10bに順次供給する。そして、状態検出部10bは、撮影部30が出力した静止画像元データを順次受け取り、受け取った静止画像元データに必要な処理(ホワイトバランス調整、ガンマ補正、及び圧縮処理等)を順次施し、顔領域の検出が可能な画像データ(撮影画像データ)に順次変換する。また、状態検出部10bは、前記必要な処理の際に画像を左右反転させる処理を行うとよい。撮影部30が撮影する撮影画像は、表示部40を見る方向とは逆の方向から撮影された画像である。前記の左右反転させる処理によって、撮影画像の撮影対象と画像データの画像の被写体との位置を比較することが容易にできることになる。このようにして、状態検出部10bは、表示部40の前方を撮影した撮影画像のデータである撮影画像データを順次取得していく。なお、左右反転させる処理をしないときは、画像特定部10a及び状態検出部10bは、撮影画像と記録画像との位置関係が左右逆になることを前提として、画像特定・表示処理を行う。例えば、被写体の位置と撮影対象の位置とを比較する場合等には、どちらかの位置を左右逆として処理を行う。なお、撮影画像データは、そのデータから撮影画像を表現できるデータであればよく、前記のように撮影画像を反転させた画像の画像データ等であってもよい。この撮影画像データの画像(撮影画像)の連続が動画となる。例えば、状態検出部10bは、所定数の撮影画像データを状態検出部10bの記憶部(例えば、一次記憶装置12の記憶領域の一部)で記憶する。状態検出部10bが所定数の撮影画像データを記憶した後、状態検出部10bが新たに撮影画像データを取得すると、状態検出部10bは、新たな撮影画像データを前記の記憶部に最も古く記録される撮影画像データに上書きして記憶する。
状態検出部10bは、ステップS108の処理を行う時点で取得している撮影画像データを分析し、撮影画像データが表す撮影画像内の撮影対象の状態を検出する(ステップS108)。このようにして、状態検出部10bは、撮影部30が撮影する動画を分析して、撮影対象の状態(ここでは、撮影対象の位置)を検出する。撮影対象の状態を検出する方法は、上記の被写体の状態の検出方法と同様の方法でできるので、下記では撮影対象の検出の主な点についてのみ説明し、他の詳細な説明は上記の被写体の状態の検出方法の説明に準じる。撮影対象の状態の検出には、上記の被写体の状態の検出方法と同様に撮影対象を含む撮影対象領域が用いられる。撮影対象領域の状態が撮影対象の状態と考えることができる。
状態検出部10bは、例えば、上記のように、撮影画像データが表現する撮影画像を複数の分割領域に分割するとともに、撮影対象(ここでは、撮影対象領域)を検出し、検出した撮影対象がどの分割領域に位置するかを把握し、把握した撮影対象の位置を示す情報を生成することによって、撮影対象の位置という撮影対象の状態を検出する。
図9のように、各分割領域は、例えば、撮影画像データの撮影画像を横方向に四分割した四つの分割領域B1乃至B4である。各分割領域は、これに限らず、例えば、画像の縦方向及び横方向に2分割した、画像を四分割した各領域(左上、左下、右上、及び、右下の各領域)であってもよい。但し、撮影画像内の各分割領域B1乃至B4と、記録画像の各分割領域A1乃至A4と、は、それぞれ、数字が同じもの同士対応しているものとする。つまり、両者の形状は、同じであるか、相似の関係にある。また、両者は、画像における位置が同じである。例えば、分割領域B1の横の辺と画像全体の横の辺との比は、分割領域A1の横の辺と画像全体の横の辺との比と同一になる。
図9の撮影画像では、人物911が写っている。そして、撮影対象である、人物911の顔911aは分割領域B4内にある。状態検出部10bは、顔(撮影対象)911aを含む顔領域(撮影対象領域)921を検出する。そして、状態検出部10bは、検出した顔領域921が分割領域B4内に位置すると把握する。状態検出部10bは、検出した顔領域の位置から、検出した顔領域がどの分割領域に位置するかを把握する。これら顔領域の位置が顔の位置になるので、顔領域の位置によって被写体の位置がどの分割領域内に位置しているか把握されたことになる。なお、状態検出部10bは、撮影対象領域を複数検出した場合には、例えば、そのうちの一つを任意の方法(例えばランダム)で選択し、選択した撮影対象領域を検出した撮影対象領域とする。状態検出部10bは、撮影対象領域を複数検出した場合には、全ての撮影対象領域が位置する分割領域を把握してもよい。
状態検出部10bは、撮影対象の状態(ここでは、各分割領域B1乃至B4内に顔領域があるか)を把握すると、把握した撮影対象の状態を示す情報である撮影対象状態情報を生成することで、撮影対象の状態を検出する。なお、このときに、状態検出部10bは、検出した撮影対象領域の画像データである撮影対象領域画像データを撮影画像データから取り出し、撮影対象状態情報に対応付け、対応付けた両者を保持する。状態検出部10bは、撮影対象領域を複数検出した場合には、例えば、そのうちの一つを任意の方法(例えばランダム)で選択し、選択した撮影対象領域の画像データを前記の撮影対象領域画像データとして撮影対象状態情報に対応付け、対応付けた両者を保持する。撮影対象状態情報と、撮影対象領域画像データとは、撮影画像情報を構成する。状態検出部10bは、撮影画像情報を生成する。
ここで、図9の撮影画像を分析して生成した撮影対象状態情報の内容を図10に示し、撮影画像情報の内容を図11に示す。図9の撮影画像では分割領域B4内に撮影対象(顔)が位置しているので、撮影対象状態情報は、図10のようにB1=×、B2=×、B3=×、B4=○という位置情報を含む。なお、撮影画像上に撮影対象が存在しない場合、画像特定部10aは、撮影対象が存在しないという被写体の状態を検出することになる。この場合、撮影対象状態情報は、B1=×、B2=×、B3=×、B4=×という位置情報を含む。また、図11のように、撮影対象状態情報と撮影対象領域画像データとによって、撮影画像情報が構成される。
なお、状態検出部10bは、順次取得する撮影画像データを用いて上記と同様の方法により、撮影画像の撮影対象を追跡してもよい。この場合、状態検出部10bは、画像特定部10aが行う被写体の追跡(ステップS104の説明参照)と同様、撮影対象を含む撮影対象領域を追跡することによって、撮影対象を追跡していく。状態検出部10bは、ステップS108の処理を行うときに、追跡している撮影対象の位置情報をもとに、撮影対象の位置を把握し、把握した撮影対象の位置から前記の撮影対象状態情報を生成し、撮影対象の状態を検出する。このような処理によって処理負担を軽減できる。なお、追跡する撮影対象が複数ある場合には、その中の一つを任意の方法(例えばランダム)によって選択し、選択した撮影対象を追跡するか、それぞれの撮影対象を追跡する。また、追跡する撮影対象の撮影対象領域(複数の場合は、任意の方法(例えばランダム)で選択した一の撮影対象領域)を任意のタイミングで取り出し、前記の撮影対象領域画像データとする。
なお、状態検出部10bは、繰り返し行われるステップS108において、撮影画像情報を状態検出部10bの記憶部(一次記憶装置12の記憶領域)に記録することで、所定数(2以上)の撮影画像情報を保持する。
状態検出部10bは、撮影対象の状態を検出すると、撮影対象の状態が変化したかを判別する(ステップS109)。具体的には、例えば、状態検出部10bは、今回生成した撮影対象状態情報と、前回生成した撮影対象状態情報と、を比較して、撮影対象の状態が変化したかを判別する。例えば、状態検出部10bは、撮影画像情報に含まれる両者を比較し、撮影対象が位置する分割領域(撮影対象が複数の場合は撮影対象が位置する1以上の分割領域)が変化している場合に、撮影対象の状態が変化したと判断する。例えば、状態検出部10bは、両者を比較し、撮影対象が位置する分割領域(撮影対象が複数の場合は撮影対象が位置する1以上の分割領域)が変化していない場合に、撮影対象の状態が変化していないと判断する。なお、比較の対象となる前回検出した撮影対象状態情報が存在しないステップS109(例えば、最初に行われるステップS109)の処理では、状態検出部10bは撮影対象の状態が変化したと判別する。
状態検出部10bは、撮影対象の状態が変化していないと判断した場合(ステップS109;NO)、ステップS108の処理を再び行う。このようにして、状態検出部10bは、撮影対象の状態が変化するまで、撮影対象の状態を監視する。
状態検出部10bが撮影対象の状態が変化したと判断した場合(ステップS109;YES)、画像特定部10aは、最新の撮影対象の状態に基づいて記録画像データを取得する(ステップS110)。具体的には、例えば、画像特定部10aは、状態検出部10bが保持する最新の撮影対象状態情報を用いてこの最新の撮影対象状態情報に対応する記録画像データを記憶部20の記録画像情報データテーブルから取得する。さらに具体的には、例えば、画像特定部10aは、記録画像情報データテーブルの中から、状態検出部10bが保持する最新の撮影画像情報に含まれる撮影対象状態情報と或る関係を満たす被写体状態情報を有する記録画像情報を記録画像情報データテーブルの中から特定する。そして、画像特定部10aは、この特定した記録画像情報に含まれる記録画像データを読み出して取得する。例えば、画像特定部10aは、撮影対象状態情報が示す、撮影対象が位置する分割領域と、記録画像情報に含まれる被写体状態情報が示す、被写体が位置する分割領域とが、互いに対応する領域である場合(例えばA4とB4とは対応する領域である)に前記の或る関係を満たすとする。なお、対応とは、一部対応であってもよいし、完全対応であってもよい。一部対応とは、例えば、被写体が位置する1以上の分割領域のうちの少なくとも1つと、撮影対象が位置する1以上の分割領域の少なくとも1つとが、互いに対応する場合をいう。完全対応とは、被写体が位置する1以上の分割領域と、撮影対象が位置する1以上の分割領域と、が完全に対応する場合をいう。例えば、図10の撮影対象状態情報に基づいて図8の記録画像情報データテーブル内の対応する記録画像情報を検索する場合、完全対応の場合は、画像ナンバーが4の記録画像情報を特定することになり、一部対応の場合は、画像ナンバーが2と4とnの記録画像情報を特定することになる。なお、比較する分割領域の画像上における相対位置が一緒で、比較する分割領域の形状が同じ又は相似であれば、両分割領域は対応するといえる。そして、画像特定部10aは、特定した記録画像情報に含まれる記録画像データを記憶部20から読み出して取得する。この読み出した記録画像データが、前記の最新の撮影対象情報に対応する記録画像データとなる。なお、読み出された全ての記録画像データは、例えば、画像特定部10a内の記憶部(一次記憶装置12の記憶領域等)等に記録され、これによって、画像特定部10aは記録画像データを保持する。
画像特定部10aは、記録画像データを1以上取得できたか判断する(ステップS111)。取得出来ない場合(ステップS111;NO)、画像特定部10aは、撮影対象の状態が変化したが、変化した撮影対象の状態に対応する記録画像の記録画像データが無いので、その旨を表示部40に例えば記録画像の中の字幕等で表示させ(ステップS114)、状態検出部10bにステップS108の処理を再び行わせる。これによって、撮影対象の状態に対応する記録画像がなくても、記録画像の表示が途切れないことになり、また、今回の処理で特定される記録画像がないことをユーザに知らせることができる。
画像特定部10aは、記録画像データを1以上取得出来た場合(ステップS111;YES)、記録画像の表示順序を決定する(ステップS112)。例えば、画像特定部10aは、各記録画像を分析して被写体領域を検出する(方法は上記と同様)。そして、画像特定部10aは、検出した被写体領域の画像データ(被写体領域画像データ)と、状態検出部10bが保持する撮影対象状態情報に含まれる撮影対象領域画像データと、を用いて被写体領域と撮影対象領域との類似度(すなわち被写体と撮影対象の類似度)を検出し、検出した類似度を用いて記録画像の表示順序を決定する。決定した記録画像の表示順序は、例えば、撮影対象と類似度の大きい被写体を有する記録画像から表示していく順序である。なお、類似度が同じ記録画像の表示順序は、ランダムに決めるか、画像ナンバー順等で決める。また、被写体領域が複数検出された場合、画像特定部10aは類似度の検出に用いる被写体領域をランダム等の任意の方法によって決定する。また、状態検出部10bが撮影対象領域画像データを取り出すときに、取り出した位置の情報(例えば分割領域を特定する情報)をこの撮影対象領域画像データに含ませておき、被写体領域が複数検出された場合、画像特定部10aは前記の位置の情報を前記の撮影対象領域画像データから取り出して、この位置の情報が示す位置と所定範囲内(対応する分割領域内)の位置にある被写体領域を類似度の検出に用いる被写体領域としてもよい。類似度の検出に用いる被写体領域が複数の場合、画像特定部10aは、例えば、各被写体領域と撮影対象領域との各類似度を導出し、導出した類似度の中で一番類似度の高い類似度を前記の検出した類似度として用いて前記の記録画像の表示順序を決定する。
前記の類似度の検出には、例えば、SAD(Sum of Absolute Difference)、SSD(Sum of Squared Difference)、又はZNCC(Zero-mean Normalized Cross-Correlation)を用いる。SAD及びSSDの場合、算出値が小さいほど類似度が高くなる。ZNCCの場合、算出値が大きいほど類似度が高くなる。
画像特定部10aは、ステップS110の処理で取得した記録画像データ(上記の編集をした場合には、編集した後の記録画像データが望ましい。)の各記録画像を、ステップS112の処理で決定した表示順序に従って表示部40へ表示させることを開始する(ステップS113)。なお、記録画像の表示処理の詳細な説明は、ステップS106の説明に準じる。画像特定部10aは、記録画像の表示処理を開始すると、状態検出部10bに再びステップS108の処理を行わせる。
状態検出部10bは表示部40の表示面の前方を撮影部30に撮影させる際に動画を撮影させているが、状態検出部10bは、ステップS108において、撮影部30に静止画を撮影させ、撮影させた静止画に基づいて上記の処理を行っても良い。この場合、ステップS107の処理は不要になり、変わりにステップS108において、状態検出部10bは、撮影部30に撮影を行わせる。
また、上記では、画像特定装置1は、分割領域を用いて、撮影対象と被写体との位置を検出することによって、表示部40に表示する記録画像の記録画像データを特定しているが、この特定方法は、上記の具体例に限らず、他の方法によって実現してもよい。画像特定装置1は、例えば、撮影対象の画像における座標と、被写体の画像における座標と、を比較することによって、表示部40に表示する記録画像の記録画像データを特定してもよい。この場合、画像特定部10a及び状態検出部10bは、ステップS104及びステップS108において、撮影対象及び被写体の座標(例えば、撮影対象領域の中心(又は、左上及び右下)及び被写体領域の中心(又は、左上及び右下)の座標)を把握し、把握した座標情報を、撮影画像情報に撮影対象状態情報として含ませるとともに、記録画像情報に記録画像状態情報として含ませる。状態検出部10bは、ステップS110において前記の座標情報を用いて記録画像情報を取得する。例えば、状態検出部10bは、撮影対象の座標及び被写体の座標が所定の範囲内に入っている記録画像情報を取得する。なお、このときの座標は、画像全体における相対位置を示す座標であってもよいし、画像の左上、右上、左下、又は右下のいずれかの端点を原点とした座標であってもよい。端点を原点とした座標を用いる場合、画像特定部10a又は状態検出部10bは、ステップS104の処理又はステップS108の処理において、他方の画像と座標の比較が出来るように、画像の解像度等を変換する処理を行った新たな記録画像データ又は撮影画像データを生成し、両者の画像の縦横の辺の長さ(画素数)を合わせるとよい。
上述のように、状態検出部10bは、表示部40の表示面の前方を撮影した撮影画像のデータである撮影画像データを取得し、取得した撮影画像データを分析して撮影画像における撮影対象の状態(ここでは、撮影対象の位置)を検出する(ステップS108参照、なお、この検出方法は上記具体例以外の他の方法によって実現しても良い)。また、画像特定部10aは、状態検出部10bが検出した撮影対象の状態に基づいて表示部40に表示する記録画像の記録画像データを特定する(ステップS110参照、なお、この特定方法は上記具体例以外の他の方法によって実現しても良い)。なお、記録画像データは、ここでは、予め撮影され、記憶媒体等に記録されている画像データである。画像特定部10aは、ここでは、複数の記録画像データの中から表示部40に表示する記録画像の記録画像データを特定する。撮影対象の状態に基づいて表示部40に表示する記録画像の記録画像データを特定するので、新たな基準によって、ユーザと同一人物の顔を含んでいない画像も特定できる。ここで、撮影対象の状態とは、例えば、同一人物等を判定するための撮影対象の特徴量等ではなく、画像内の撮影対象の状況等を表す情報である。
そして、本実施形態では、画像特定部10aは、特に、撮影対象の状態と一定の関係を満たす状態にある被写体が写った記録画像の記録画像データを、表示部40に表示する画像の画像データとして特定しているので、新たな基準でユーザと同一人物の顔を含んでいない画像も特定できる。なお、この画像データの特定方法は上記具体例以外の他の方法によって実現しても良い。
上述のように本実施形態では、撮影対象の状態及び被写体の状態を、それぞれ、撮影対象の位置及び被写体の位置としている。また、画像特定装置1は、撮影画像における撮影対象の位置と第1の所定の関係を満たす位置に被写体が写った記録画像の記録画像データを複数の記録画像の中から特定する(ステップS110等を参照、なお、この特定方法は上記具体例以外の他の方法によって実現しても良い)。ここで、第1の所定の関係は、ここでは、撮影対象と被写体とが、画像上の同じ分割領域、又は、撮影対象の座標から前記所定の範囲内にある領域内に位置する関係である。ここで、画像特定装置1は、被写体と撮影対象とが同じ分割領域等のある領域に位置するような記録画像を表示部40に順次表示していくことになる(ステップS113等を参照)。これにより、本実施形態に係る画像特定装置1は、図12に示すように、画像の鑑賞者(撮影対象1201を有する人物)の面前又はその近傍に被写体1211が写る記録画像ばかりを表示するので、この画像特定装置1は撮影対象の人物に新たな印象を与えることができる。
上述のように本実施形態では、画像特定装置1は、記録画像データを複数特定し、特定した記録画像データの記録画像の表示順序を、撮影対象の特徴(ここでは顔の特徴)と特定した記録画像データの記録画像の被写体の特徴(ここでは顔の特徴)との類似度(ここでは、類似度の高さ)に基づいて特定する(ステップS112等を参照、なお、この特定方法は上記具体例以外の他の方法によって実現しても良い)。これによって、画像特定装置1は、撮影対象と被写体との類似度が高い順に記録画像を表示部に順次表示する。このように、本実施形態に係る画像特定装置1は、図13のように、画像の鑑賞者(撮影対象1301を有する人物)の面前又はその近傍に自分と類似する被写体1311が写る記録画像を優先して表示するので、この画像特定装置1は撮影対象の人物に新たな印象を与えることができる。ここでは、図13では、被写体1311の方が被写体1312よりも撮影対象との類似度が高くなっている。画像特定装置1は、例えば、図13のように、被写体1311が写る記録画像を表示し、その後に被写体1312が写る記録画像を表示する。
上述のように本実施形態では、画像特定装置1は、状態検出部10bが新たな撮影対象の状態(ここでは、顔の位置)を検出すると、検出した新たな撮影対象の状態に基づいて、表示部40に表示する記録画像の記録画像データを特定する(ステップS109;YES、ステップS110参照、なお、この特定方法は上記具体例以外の他の方法によって実現しても良い)。これによって、画像特定装置1は、被写体が写る記録画像を表示していても、撮影対象が移動すると、次に表示する画像として、撮影対象の面前又はその近傍に位置する被写体が写る記録画像を表示する。画像特定装置1は、図14のように、画像の鑑賞者(撮影対象1401を有する人物)の面前又はその近傍に被写体1411が位置する記録画像を表示し、この鑑賞者(つまり撮影対象1401)が移動すると、移動した後の鑑賞者の面前又はその近傍に被写体1412が写る記録画像を表示するので、この画像特定装置1は撮影対象の人物に新たな印象を与えることができる。
なお、画像特定部10aは、撮影対象状態情報が、被写体が存在しないという被写体の状態を示している場合には、記憶部20から全ての記録画像データを読み出して取得し、ステップS112の処理を行わずステップS113の処理において、ステップS106と同様の処理を行っても良い。これによって、撮影対象が表示部40の表示面の前方に存在しない場合、画像特定装置1は、初期の表示方法で記録画像を表示できる。
なお、前記の第1の所定の関係を、例えば、撮影対象と被写体とが、画像上の異なる分割領域、又は、撮影対象の座標から前記所定の範囲外にある領域内に位置する関係としてもよい。この場合、画像特定部10aは、例えば、ステップS110において、状態検出部10bが検出した撮影対象状態情報が示す、撮影対象が位置する分割領域に対応する分割領域以外の分割領域に被写体が位置する(このとき、撮影対象が位置する分割領域に対応する分割領域に別の被写体が位置してもよい。)記録画像の記録画像データを取得する。これによって、画像特定装置1は、画像の鑑賞者(撮影対象を有する人物)の面前又はその近傍ではない領域内に被写体が写る記録画像ばかりを表示するので、この画像特定装置1は撮影対象の人物に新たな印象を与えることができる。さらに、例えば位置を検出された鑑賞者の後方に他の鑑賞者が存在しても、後方の他の鑑賞者が被写体を鑑賞することが出来る(例えば図15参照)。図15のように、画像特定装置1は、撮影対象1501を有する人物の面前又はその近傍ではない領域内に被写体1511が写る記録画像を表示する。
なお、撮影対象の状態及び被写体の状態は、例えば、それぞれ、撮影画像における撮影対象の数及び記録画像における被写体の数であってもよい。この場合、画像特定部10aは、例えば、ステップS110において、被写体領域を検出することによって被写体の数を把握する(被写体領域の数は、被写体の数に等しい)。画像特定部10aは、把握した被写体の数を被写体状態情報として、記録画像情報(図16参照)を生成する。また、状態検出部10bは、ステップS108において、撮影対象領域を検出することによって撮影対象領域の数を把握する(撮影対象領域の数は、撮影対象の数に等しい)。状態検出部10bは、把握した撮影対象の数を撮影対象状態情報として、撮影画像情報(図17参照)を生成する。そして、画像特定部10aは、ステップS110において、撮影画像情報に含まれる撮影対象の数と第2の所定の関係にある被写体の数を含む被写体状態情報の記録画像データを取得する。このようにして、画像特定部10aは、撮影画像における撮影対象の数と第2の所定の関係を満たす数の被写体が写った記録画像の記録画像データを、表示部40に表示する記録画像の記録画像データとして特定する。ここで、第2の所定の関係は、例えば両者の数が同数となる場合である。図18のように、画像特定装置1は、二つの撮影対象1601乃至1602と同数の被写体1611乃至1612が写る記録画像を表示している。この画像特定装置1は撮影対象の人物に新たな印象を与えることができる。
なお、撮影対象の状態は、撮影画像における撮影対象の視線であってもよい。状態検出部10bは、ステップS108において、撮影対象領域を検出し、検出した撮影対象領域の画像データを分析することによって撮影対象の視線を把握する。状態検出部10bは、把握した撮影対象の視線の先と判断できる分割領域(上記図9の例では分割領域B1乃至B4のいずれか)を撮影対象状態情報として、撮影画像情報(データ内容は図11のデータ内容と略同様になる)を生成する。このようにすれば、画像特定部10aは、ステップS110の処理で、撮影画像における撮影対象の視線と第3の所定の関係を満たす状態の被写体が写った画像の画像データを、表示部40に表示する記録画像の記録画像データとして特定する。ここで、第3の所定の関係を満たす状態とは、例えば撮影対象の視線の先と判断できる分割領域と対応する分割領域に被写体が位置する記録画像の状態をいう。図19のように、画像特定装置1は、撮影対象1901の視線(破線矢印参照)の先と判断出来る分割領域に被写体1911が写る記録画像を表示している。この画像特定装置1は撮影対象の人物に新たな印象を与えることができる。状態検出部10bは、顔領域内を分析し、顔領域内の顔の視線を把握する。視線は、顔の目の領域を顔領域の中から検出し(顔領域の検出と同様に着目画像と目のテンプレート画像とを用いたパターンマッチング等によって検出する)、検出した目の白色の領域(白目の部分)が検出した目全体のどこに位置しているかで把握できる。そして、状態検出部10bは、この検出した視線をもとに、視線の範囲と、この視線の先にあると思われる分割領域と、を特定したデータテーブルを参照して、視線がどの分割領域内に向いているか、つまり、視線の先と判断出来る分割領域を把握する。例えば、図9の撮影対象911aの目が、図9の横方向における内側を向き、かつ、目全体における白目の分布が所定の範囲の分布である場合、この視線の先にある分割領域はB1であるとする。なお、視線の把握についてはその他の公知の方法も採用できる。なお、分割領域を他の領域の情報(例えば座標を用いた所定範囲の領域)に置き換えても良い。
なお、撮影対象の状態は、上記の撮影対象の位置、上記の撮影対象の数、及び、上記の撮影対象の視線等のうちの少なくとも一つを含めばよい。この場合、被写体の状態も撮影対象の状態に対応して、被写体の位置又は被写体の数の少なくとも一つとなる(上記参照)。そして、画像特定部10aは、ステップS110において、撮影画像情報に含まれる撮影対象の状態と或る関係(例えば上記一定の関係)を満たす被写体の状態を示す被写体状態情報の記録画像データを取得する。ここで、両者が満たす或る関係は、例えば、上記の第1乃至第3の所定の関係のうちの少なくも一つ又は組合せから適宜選択できる。また、第1の関係は、分割領域が対応する場合であっても、分割領域が異なる場合でも、どちらでも良い。また、撮影対象の状態が、撮影対象の位置と撮影対象の視線とを含む場合、撮影対象状態情報は撮影対象の位置用の位置情報と撮影対象の視線用の位置情報とを含むことが望ましい。
本実施形態における画像特定装置1は表示制御装置であり、画像選択プログラム25は表示制御プログラムでもある。制御部10は、上述のように、予め撮影された記録画像データの記録画像であって、表示部40の前方の人物又は動物の状態と一定の関係を満たす状態にある人物又は動物が写った記録画像を表示部40に表示させる(この表示方法は上記具体例以外の他の方法で実現されてもよい)。これによって、鑑賞者に新たな印象を与える。