(58)【調査した分野】(Int.Cl.,DB名)
上記合成画像は拡大合成画像の表示を終了するボタンが合成して作成され、上記ボタンの操作指示に従い、合成画像の表示をスルー画に戻すことを特徴とする請求項1又は2に記載の画像作成装置。
上記画像作成部は、上記合成画像の作成の際に、上記拡大した顔画像の合成によって上記背景画像に生じる残余の部分に上記表示部に表示されている画像の全体を示す画像を縮小してさらに合成することを特徴とする請求項1乃至3の何れか1項に記載の画像作成装置。
上記拡大率判定部は、上記各顔画像中の顔の数の比で上記表示部の画面が分割されるように上記各顔画像の拡大率を決定することを特徴とする請求項1乃至4の何れか1項に記載の画像作成装置。
上記拡大率判定部は、上記各顔画像中において上記表示部の画面の一辺に沿って並ぶ顔の数の比で上記表示部の画面が分割されるように上記各顔画像の拡大率を決定することを特徴とする請求項1乃至5の何れか1項に記載の画像作成装置。
上記画像作成部は、上記表示部に表示されている画像の全体を示す画像のアスペクト比を上記残余の部分の形状に応じて変えるように上記縮小を行うことを特徴とする請求項4に記載の画像作成装置。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施形態を説明する。
図1は、本発明の一実施形態に係る動画像作成装置の一例としてのデジタルカメラ(以下、単にカメラと記す)の構成を示す図である。
図1に示すカメラ100は、制御部101と、撮像部102と、顔検出部103と、表示部104と、位置指定部105と、操作部106と、記録部107と、時計部108とを有している。
【0014】
制御部101は、カメラ100の各ブロックの動作を統括的に制御する制御回路である。この制御部101は、ユーザによる位置指定部105や操作部106の操作に応じて、撮像部102、顔検出部103、表示部104等の動作制御を行う。また、制御部101は、トリミング制御部1011と、トリミング画像合成制御部1012と、画像処理部1013とを有している。
【0015】
顔画像生成部としての機能を有するトリミング制御部1011は、後述する合成動画像を生成するためのトリミング制御を行う。即ち、トリミング制御部1011は、表示部104において表示された画像においてユーザにより指定された複数のポイントのそれぞれに対応した所定の画像領域であるトリミング範囲を決定し、決定した各トリミング範囲内の画像をスルー画表示用の画像処理がなされた画像又は撮像素子102cを介して得られた画像からトリミングして顔画像を生成する処理を行う。なお、本実施形態における「顔画像」とは、必ずしも画像中に1人分の顔が写っている画像を示すものではない。トリミング範囲中に複数の顔が存在していた場合にはその複数の顔を含む画像も本実施形態における「顔画像」になる。
【0016】
指定位置関係判定部、拡大率判定部、及び動画像作成部としての機能を有するトリミング画像合成制御部1012は、トリミング制御部1011によってトリミングされた顔画像と表示部104に表示されている画像の全体を示す全体画像とを合成して1枚の合成動画像を生成するための制御を行う。即ち、トリミング画像合成制御部1012は、各顔画像の位置関係から各顔画像の合成位置を決定するとともに、各顔画像中の顔の数から各顔画像の拡大率を決定する。そして、トリミング画像合成制御部1012は、画像処理部1013による顔画像と全体画像との合成動画像の作成を制御する。
【0017】
画像処理部1013は、撮像部102において得られた画像に対する画像処理を行う。この画像処理には、例えば撮像部102において得られた画像に対する色補正処理、階調補正処理、拡大縮小処理、圧縮処理(静止画圧縮又は動画圧縮)、圧縮された画像に対する伸張処理等が含まれる。また、画像処理部1013は、トリミング画像合成制御部1012とともに動画像作成部としての機能も有し、トリミング画像合成制御部1012の制御に従って合成動画像を作成することも行う。さらに、画像処理部1013は、トリミング範囲の位置等の種々のデータを記録しておくための仮記録部1013aを有している。この仮記録部1013aは例えばRAMで構成されている。
【0018】
撮像部102は、レンズ102a、絞り102b、撮像素子102c、A/D変換器(ADC)102d等を有している。レンズ102aは、被写体からの光束を撮像素子102cの光電変換面に結像させるための光学系である。ここで、本実施形態におけるレンズ102aは、ズームレンズを含む光学系であり、該ズームレンズを駆動することによって焦点距離を可変になされている。レンズ102aの焦点距離を変更することによって画角を調整することが可能である。絞り102bは、撮像素子102cの光電変換面への光束の入射量を制限する。撮像素子102cは、画素が2次元状に配置された光電変換面を有し、レンズを介して入射した光束を電気信号(画像信号)に変換する。ADC102dは、撮像素子102cで得られたアナログの画像信号をデジタルの画像データ(以下、単に画像と言う)に変換する。このような構成を有する撮像部102は、制御部101の制御に従って被写体を撮像し、被写体に係る画像を取得する。
【0019】
顔検出部103は、撮像部102で得られた画像における顔を検出する。この顔検出部103は、例えば目、鼻、口といった顔パーツの陰影を画像中から検出することで顔を検出する。顔検出部103による顔検出結果は、撮像部102におけるレンズの焦点調節等に利用される。また、本実施形態における顔検出部103は、視線検知部1031としての機能も有している。即ち、顔検出部103の視線検知部1031は、顔の向き及び黒目と白目の位置関係を検知することで、被写体の視線を検知する。
【0020】
表示部104は、例えばカメラ100の背面に設けられた液晶ディスプレイ(LCD)や有機エレクトロルミネッセンスディスプレイ(ELD)等の表示部である。この表示部104は、制御部101の制御の下、撮像部102で得られた画像等の各種の画像を表示する。
【0021】
位置指定部105は、例えば表示部104と一体的に構成されたタッチパネルであり、表示部104の表示画面上の任意の位置を指定するための操作部である。この位置指定部105は、表示部104の表示画面へのユーザの指等の接触を検出し、検出位置に応じた信号を制御部101に出力する。制御部101は、位置指定部105からの信号を識別することで、表示部104の表示画面上のどの位置へのユーザの指等の接触があったかを認識する。なお、制御部101は、位置指定部105の出力から、連続的な接触位置変化を検出した場合にユーザの指等がスライドされたことを認識する。
【0022】
操作部106は、位置指定部105以外の各種の操作部である。この操作部106は、電源ボタン、レリーズボタン、ズームスイッチ、モードダイヤル等が含まれる。電源ボタンはカメラ100の電源のオン又はオフを指示するための操作部である。レリーズボタンはカメラ100による撮影(記録用の画像取得)を指示するための操作部である。ズームスイッチは撮像部102のレンズのズーム駆動を指示するための操作部である。モードダイヤルはカメラ100の動作モードを撮影モード(静止画、動画)や再生モードに切り替えるための操作部である。
【0023】
記録部107は、撮像部102で得られ制御部101で圧縮されて得られた記録用の画像を記録する。この記録部107は、例えばカメラ100に着脱自在になされたメモリカードである。時計部108は、撮影日時等の各種の時間を計時する。記録部107に記録される画像の例えばヘッダ情報部に撮影日時を関連付けしておくことにより記録部107に記録される画像の管理が行い易くなる。
【0024】
図2は、本実施形態におけるカメラ100の動作の概要を示す図である。以降の動作はカメラ100の撮影モードが例えば動画撮影モードに切り替えられた際に実行される。
【0025】
まず、カメラ100による撮影動作を実行させるに当たって、ユーザは、
図2(a)に示すように、自身が撮影したいと考える被写体がレンズ102aの画角内に全て入るようにカメラ100の設定を行う。
図2(a)の例は、ユーザが結婚式やパネルディスカッション等の多人数が集まるような状況で撮影を行うような場合を示している。このような状況において、ユーザは、1人からなる第1の被写体(例えば、結婚式の場合には挨拶する人、パネルディスカッションの場合には司会者)200aと複数人からなる第2の被写体(例えば、結婚式の場合には新郎新婦、パネルディスカッションの場合には討論者)200bの両方を撮影したいと考える場合がある。この場合に、ユーザは、レンズ102aの画角A内に第1の被写体200aと第2の被写体200bの両方が入るように、本実施形態に係るカメラ100の設置位置を決め、またレンズ102aの画角を調整(
図2(a)の場合はズームレンズを広角側に調整)する。
【0026】
なお、カメラ100では電源投入後にスルー画表示(ライブビュー表示等とも呼ばれる)が実行される。スルー画表示においては撮像部102による画像の取得が一定のタイミング毎に実行される。撮像部102において画像の取得がなされる毎に、制御部101の画像処理部1013において画像処理(階調補正処理、色補正処理、縮小処理等)が施される。これにより、撮像部102で取得された画像の大きさ(画素数)が表示部104の画面大きさ(表示画素数)に合わされる。そして、画像処理された画像が制御部101の制御に従って表示部104に表示される。このようなスルー画表示により、ユーザは表示部104を用いて被写体の観察を行うことが可能である。
【0027】
図2(a)のようにしてカメラ100を設定すると、カメラ100のスルー画表示が開始され、
図2(b)に示すようにして、レンズ102aの画角内の画像が表示部104に表示される。
図2(b)のようなスルー画表示がなされている状態において、ユーザは表示部104の画面上の任意の位置に例えば指301を接触させる。上述したように、表示部104の画面上のある位置への接触があると、その位置に対応した信号が位置指定部105から制御部101に入力される。制御部101が表示部104の画面への接触を認識すると、その接触位置における人物の顔が顔検出部103により認識される。この位置において人物の顔が認識された場合には、その人物の顔を含む画像領域を示す枠表示104aがなされる。また、スルー画表示時には、拡大開始ボタン104c、記録ボタン104kも表示される。ユーザが、指301等を記録ボタン104kに接触させると、通常の動画撮影(
図2(b)に示す画角内の画像を動画像として記録する処理)が行われる。
【0028】
図2(b)に示すような選択がなされた後、さらに、ユーザは、
図2(c)のようにして、表示部104の画面上の別の位置に例えば指301を接触させる。この場合も、制御部101が表示部104の画面への接触を認識すると、その接触位置の人物の顔を含む画像領域を示す枠表示がなされる。ここで、
図2(c)はユーザが指301を矢印B方向にスライドさせて複数の人物を選択した例を示している。
図2(c)のように複数の人物の顔が認識された場合にはその全ての人物の顔を含む画像領域を示す枠表示104bがなされる。
【0029】
その後、ユーザは、指301を拡大開始ボタン104cに接触させる。制御部101が拡大開始ボタン104cの位置への指301等の接触を認識すると、一部拡大スルー画表示が実行される。この一部拡大スルー画表示においては、ユーザによって指定された位置を含む画像領域であるトリミング領域内の画像がトリミングされて顔画像が生成される。そして、この生成された各顔画像の拡大画像と全体画像とが、表示部104の画面大きさに対応した大きさを有する所定の背景画像に合成されて合成画像が生成され、この合成画像がスルー画表示される。
【0030】
図2(d)に一部拡大スルー画表示の例を示す。ここで、拡大画像104dの表示大きさと拡大画像104eの表示大きさとはそれぞれの画像中の顔(人物)の数に応じて変化させるものとする。また、各拡大画像の合成位置は表示部104に表示されていた全体画像中での各顔の位置関係と対応したものとする。例えば、
図2(d)に示す拡大画像104dに対応した顔画像104aは表示部104の画面左上に存在し、顔画像104a中の顔の数は1つである。また、拡大画像104eに対応した顔画像104bは表示部104の画面右上に存在し、顔画像104b中の顔の数は2つである。この場合、拡大画像104dは背景画像の左上部に合成するとともに、拡大画像104eは背景画像の右上部に合成する。さらに、拡大画像104dの大きさと拡大画像104eの大きさとの比を顔の数の比と同じ1:2とする。また、このようにして背景画像に拡大画像104d、104eを合成したことによって生じる残余の部分に全体画像104fを縮小して合成する。このようにして生成される合成動画像をスルー画表示する。
【0031】
なお、
図2(d)では、表示部104の長辺に沿って平行な方向である顔画像の水平方向については顔の数の比と一致するように拡大しているが、表示部104の短辺に沿って平行な方向である顔画像の垂直方向の長さについては一定倍率で拡大している。勿論、水平・垂直の長さの両方とも、顔の数の比に一致するように拡大を行うようにしても良い。
【0032】
図2(d)に示すような一部拡大スルー画表示を行うことにより、結婚式やパネルディスカッション等において実際にやり取りをしている人物のみを抽出して拡大表示することができ、結婚式やパネルディスカッション等において実際にやり取りをしている各人物の表情を詳細に観察することができる。また、顔画像中の顔の数が多くなるほど拡大画像の大きさが大きくなるので、顔画像中の顔の数が多くなったとしても各顔の表情の観察が容易である。また、各拡大画像の位置によって人物の位置関係を大まかに把握することができるとともに、全体画像によって人物の位置関係を詳細に把握することもできる。
【0033】
ここで、
図2(d)に示す一部拡大スルー画表示時には、拡大終了ボタン104g、記録ボタン104hも表示される。制御部101が拡大終了ボタン104gの位置への指301等の接触を認識すると、一部拡大スルー画表示が終了され、もとのスルー画表示に戻る。また、制御部101が記録ボタン104hの位置への指301等の接触を認識すると、拡大画像104d、104eと全体画像104fとを
図2(d)に示すように配置してなる合成動画像が制御部101の画像処理部1013で動画圧縮された後、記録部107に記録される。
【0034】
さらに、
図2(d)に示す一部拡大スルー画表示時において、制御部101が拡大画像104d又は拡大画像104eの位置への指301等の接触を認識すると、その位置の拡大画像が
図2(e)に示すようにしてさらに全面スルー画表示される。ここで、
図2(e)に示す全面スルー画表示時には、戻るボタン104iと記録ボタン104jも表示される。制御部101が戻るボタン104iの位置への指301等の接触を認識すると、全面スルー画表示が終了され、もとの一部拡大スルー画表示に戻る。また、制御部101が記録ボタン104jの位置への指301等の接触を認識すると、表示部104に現在表示中の拡大画像が制御部101の画像処理部1013で動画圧縮された後、記録部107に記録される。
【0035】
次に、
図3を参照してカメラ100による動画像作成方法の具体的な処理の流れを説明する。
図3は、カメラ100の動画像撮影動作を示すフローチャートである。
【0036】
カメラ100の動作モードが動画撮影モードに設定されることによって、
図3の動作が開始される。制御部101は、まず、スルー画表示を実行する(ステップS101)。なお、このスルー画表示の際には、拡大開始ボタン104c、記録ボタン104kも表示させる。上述したように、ユーザが、指301等を記録ボタン104kに接触させると、通常の動画撮影が行われる。ここでは、通常の動画撮影についての詳細な説明は省略する。
【0037】
スルー画表示の後、制御部101は、ユーザによって指定された顔画像の数を示すパラメータn(n=1、2、3、…)を初期値1に設定する(ステップS102)。その後、制御部101は、位置指定部105の出力から、ユーザによって表示部104の画面内に対する位置指定がなされたか否かを判定する(ステップS103)。なお、ここでの位置指定はスライド操作による複数の位置の指定も含むものとする。ステップS103の判定において、位置指定がなされた場合に、制御部101は、ユーザにより指定された位置に含まれる顔を顔検出部103により検出する。そして、検出した顔を含む画像領域からなる顔画像Fnの位置(Xn,Yn)を仮記録部1013aに記録させる。また、顔画像Fnを示す枠を、例えば
図2(b)や
図2(c)のようにして表示部104に表示させる(ステップS104)。
【0038】
ここで、位置(Xn,Yn)は、表示部104の所定位置(例えば、左下端)を(0,0)とし、この(0,0)から水平方向、垂直方向にX軸、Y軸を設定した場合の相対位置とする。また、検出された顔が1つのみである場合の位置(Xn,Yn)は、例えば
図4(a)に示すように、顔の中心位置(顔を円形と見なした場合の中心位置)とする。なお、上述したように、ユーザによるスライド操作がなされた場合には複数の顔が検出される。このような複数の顔が検出された場合の位置(Xn,Yn)は、例えば、指定された複数の顔位置を平均した位置とする。この他、
図4(b)に示すように、各顔を囲むように外接する矩形の画像領域の重心位置を位置(Xn,Yn)としても良い。
【0039】
顔画像Fnの位置記録及び枠表示の後、制御部101はパラメータnに1を加えた後(ステップS105)、ステップS103の判定を再び行う。また、ステップS103の判定において、位置指定がなされていない場合に、制御部101は、ユーザによる位置指定済みの指示操作がなされたか、即ちユーザの指等が表示部104の画面上に表示されている拡大開始ボタン104cの位置に接触したか否かを判定する(ステップS106)。ステップS106の判定において、位置指定済みの指示操作がなされていない場合に、制御部101は、所定時間(例えば10秒程度)が経過したか否かを判定する(ステップS107)。ステップS107の判定において、所定時間が経過した場合に、制御部101は、仮記録部1013aに記録されている顔画像Fnの位置に係るデータをクリアする(ステップS108)。その後、処理がステップS101に戻り、制御部101はスルー画表示を継続する。一方、ステップS107の判定において、所定時間が経過していない場合に、制御部101は、仮記録部1013aに記録されている顔画像Fnの位置に係るデータをクリアせずに、スルー画表示を継続する。
【0040】
また、ステップS106の判定において、位置指定済みの指示操作がなされた場合に、制御部101は、ユーザによって指定された位置に存在する各顔画像の位置関係を判定するための指定位置関係判定処理を行う(ステップS109)。
【0041】
ここで、指定位置関係判定処理について説明する。
図5は、指定位置関係判定処理について示すフローチャートである。指定位置関係判定処理は、ユーザにより指定された顔画像の位置関係を概略的に判定することによって、拡大画像の合成位置を決定するための処理である。
【0042】
図5において、制御部101は、顔画像の数を示すパラメータnに1をセットする(ステップS201)。次に、制御部101は、仮記録部1013aに記録されている顔画像Fn、Fn+1の位置情報(Xn,Yn)、(Xn+1,Yn+1)を取得する(ステップS202)。
【0043】
その後、制御部101は、顔画像Fnの垂直方向位置Ynと顔画像Fn+1の垂直方向位置Yn+1との差が所定値以上(例えば顔画像Fnにおける顔幅以上)であるか否かを判定する(ステップS203)。ステップS203の判定において、YnとYn+1との差が所定値以上でない場合に、制御部101は、YnとYn+1の平均が表示部104の画面下半分の位置に対応しているか否かを判定する(ステップS204)。即ち、ステップS204においては、
図4(a)に示すようにして、表示部104の垂直方向幅(垂直方向画素数)をHとした場合に、(Yn+(Yn+1))/2がH/2よりも小さいか否かを判定する。ステップS204の判定において、YnとYn+1の平均が表示部104の画面下半分の位置に対応している場合には、制御部101は、一部拡大スルー画表示時の拡大画像Fn'と拡大画像Fn+1'の垂直方向の合成位置を表示部104の画面下側とする(ステップS205)。一方、ステップS204の判定において、YnとYn+1の平均が表示部104の画面下半分の位置に対応していない場合に、制御部101は、一部拡大スルー画表示時の拡大画像Fn'と拡大画像Fn+1'の垂直方向の合成位置を表示部104の画面上側とする(ステップS206)。
【0044】
例えば、
図6(a)のように、2つの顔画像F1、F2がともに表示部104の画面上側の位置にある場合には、Y1とY2の平均が表示部104の画面上半分に対応した位置となる。この場合には、拡大画像F1'、F2'の合成位置を、
図6(b)に示すように、画面上側位置とする。なお、実際には、拡大画像F1'、F2'の垂直方向の合成位置を画面上端位置とすることが好ましい。これは、全体画像の合成範囲をなるべく広くとれるようにするためである。一方、
図6(c)のように、顔画像F1、F2がともに表示部104の画面下側の位置にある場合には、Y1とY2の平均が表示部104の画面下半分に対応した位置となる。この場合には、拡大画像F1'、F2'の合成位置を、
図6(d)に示すように、画面下側位置とする。この場合も、拡大画像F1'、F2'の垂直方向の合成位置を画面下端位置とすることが好ましい。
【0045】
また、ステップS203の判定において、YnとYn+1との差が所定値以上である場合に、制御部101は、Yが大きい方の顔画像に対応した拡大画像の垂直方向の合成位置を表示部104の画面上側に、Yが小さい方の顔画像に対応した拡大画像の垂直方向の合成位置を表示部104の画面下側にする(ステップS207)。例えば、
図6(e)のように、顔画像F1が表示部104の画面上側の位置にあり、顔画像F2が表示部104の画面下側の位置にある場合には、Y1とY2の差が大きくなる。この場合には、
図6(f)に示すように、拡大画像F1'の合成位置を画面上側位置とし、拡大画像F2'の合成位置を画面下側位置とする。この場合も、拡大画像F1'の垂直方向の合成位置を画面上端位置とし、拡大画像F2'の垂直方向の合成位置を画面下端位置とすることが好ましい。
【0046】
ステップS205〜S207の処理によって、拡大画像Fn'、Fn+1'の垂直方向の合成位置を決定した後、制御部101は、XとXn+1とを比較して、XnがXn+1よりも小さいか、即ち顔画像Fnが顔画像Fn+1よりも表示部104の画面左側に存在しているか否かを判定する(ステップS208)。ステップS208の判定において、XnがXn+1よりも小さい場合に、制御部101は、一部拡大スルー画表示時の拡大画像Fn'の水平方向の合成位置を表示部104の画面左側とし、拡大画像Fn+1'の水平方向の合成位置を表示部104の画面右側とする(ステップS209)。一方、ステップS208の判定において、XnがXn+1よりも小さくない場合に、制御部101は、一部拡大スルー画表示時の拡大画像Fn'の水平方向の合成位置を表示部104の画面右側とし、拡大画像Fn+1'の水平方向の合成位置を表示部104の画面左側とする(ステップS210)。
【0047】
例えば、
図6(a)のように、顔画像F1が表示部104の画面左側の位置にあり、顔画像F2が表示部104の画面右側の位置にある場合には、X1がX2よりも小さくなる。この場合には、拡大画像F1'の合成位置を、
図6(b)に示すように、画面左側位置とする。一方、拡大画像F2'の合成位置を画面右位置とする。また、例えば、
図6(c)のように、顔画像F1が表示部104の画面右側の位置にあり、顔画像F2が表示部104の画面左側の位置にある場合には、X1がX2よりも大きくなる。この場合には、拡大画像F1'の合成位置を、
図6(d)に示すように、画面右側位置とする。一方、拡大画像F2'の合成位置を画面左側位置とする。なお、実際の水平方向の合成位置は画面端から順次拡大画像が並ぶように決定していくことが好ましい。例えば、拡大画像F1'の合成位置を左側、拡大画像F2'の合成位置を右側とするように決定された場合には、拡大画像F1'の水平方向の合成位置を表示部104の画面左端位置、拡大画像F2'の水平方向の合成位置を表示部104の画面右端位置とする。その後、例えば拡大画像F3'の合成位置を左側とするように決定された場合には、拡大画像F1'の右隣の位置に拡大画像F3'の水平方向の合成位置を決定する。
【0048】
ステップS209〜S210の処理によって、拡大画像Fn'、Fn+1'の水平方向の合成位置を決定した後、制御部101は、全ての拡大画像の合成位置を決定したか否かを判定する(ステップS211)。ステップS211の判定において、全ての拡大画像の合成位置を決定していない場合に、制御部101は、nに2を加える(ステップS212)。その後、処理がステップS202に戻り、制御部101は、次の2つの拡大画像の合成位置決定を行う。一方、ステップS211の判定において、全ての拡大画像の合成位置を決定した場合に、制御部101は、
図5の処理を終了させて
図3の処理に復帰する。
【0049】
以上のような指定位置関係判定処理を行うことにより、一部拡大スルー画表示時に表示されている顔画像の位置関係を拡大画像の位置関係と対応させることが可能である。なお、
図5の処理では、各顔画像の位置のみで各顔画像の位置関係を概略的に判定するようにしている。これに対し、視線検知部1031で検知される視線に従って拡大画像の合成位置を決定するようにしても良い。例えば、判定対象となっている2つの顔画像の視線が向き合うように合成位置を決定するようにしても良い。
【0050】
また、
図5の例では、指定位置の関係判定を2画像ずつ行うようにしている。したがって、指定された顔画像の数が奇数の場合には余りが生じることになる。この場合は、1つの顔画像に対して合成位置を決定することになる。この例としては、
図5において、ステップS203をNOに分岐させてステップS204の処理を行うことで垂直方向の合成位置を決定する。また、ステップS208の判定においてXnの位置が画面左側と右側の何れに対応しているかに応じて水平方向の合成位置を決定する。例えば、Xnが画面左側の位置に対応している場合には水平方向の合成位置を画面左側に、右側の位置に対応している場合には水平方向の合成位置を画面右側に決定する。
【0051】
ここで、
図3に戻って説明を続ける。ステップS109の指定位置関係判定処理の後、制御部101は、各拡大画像の表示大きさを判定するための拡大率判定処理を行う(ステップS110)。拡大率判定処理について説明する。
図7は、拡大率判定処理について示すフローチャートである。拡大率判定処理は、各顔画像中の顔の数から各顔画像の拡大率を決定するための処理である。
【0052】
図7において、制御部101は、顔画像の数を示すパラメータnに1をセットする(ステップS301)。次に、制御部101は、顔画像Fnに含まれる顔の数Nnを顔検出部103によって検出する(ステップS302)。なお、
図3のステップ104の処理において顔の数を仮記録部1013aに記録しておけば、ステップS302においては仮記録部1013aに記録されている顔の数Nnを取得するだけで良い。
【0053】
顔の数Nnの取得後、制御部101は、全ての顔画像について顔の数Nnの取得が終了したか否かを判定する(ステップS303)。ステップS303の判定において、全ての顔画像についての顔の数Nnの取得が終了していない場合に、制御部101は、nに1を加える(ステップS304)。その後、処理がステップS302に戻り、制御部101は、次の顔の数の検出を行う。一方、ステップS303の判定において、全ての顔画像についての顔の数Nnの取得が終了した場合に、制御部101は、顔の数N1〜Nnの比で表示部104の画面が分割されるように各顔画像の拡大率を決定する(ステップS305)。その後、制御部101は、
図7の処理を終了させて
図3の処理に復帰する。
【0054】
ステップS305の拡大率の決定手法の一例について説明する。ここでは例えば、
図8(a)に示すように、表示部104の画面内の水平方向に沿って配置された顔画像F1と顔画像F2とがユーザによって指定された場合を例に説明する。ここで、表示部104の水平方向の幅(実際には水平方向の画素数)がLであるとする。また、顔画像F1の水平方向の幅長さ(実際には水平方向の画素数)が表示部104の画面内でl1であるとし、顔画像F2の水平方向の幅(実際には水平方向の画素数)が表示部104の画面内でl2であるとする。この場合に、拡大後の顔画像(拡大画像)F1'の水平方向の幅l'と拡大後の顔画像(拡大画像)F2'の水平方向の幅l2'との比でLが内分されるようにする。また、l1'とl2'との比は顔画像F1の顔の数N1(
図8(a)の例では2)と顔画像F2の顔の数N2(
図8(a)の例では1)との比と等しい。したがって、拡大率E1、E2はそれぞれ以下の(式1)に示すようにして算出できる。
E1=(N1/(N1+N2))×(L/l1)
E2=(N1/(N1+N2))×(L/l2) (式1)なお、顔画像がN個の場合の拡大率Enは以下の(式2)に示すようにして算出できる。
【0055】
En=(Nn/(N1+N2+…+Nn))×(L/ln) (式2)ここで、Nnは顔画像Fnの顔の数を示し、lnは顔画像Fnの水平方向の幅(実際には水平方向の画素数)を示している。
【0056】
図8(a)に示すようにして、スルー画表示用の画像処理が施された画像から顔画像F1、F2をトリミングし、各トリミングした顔画像のうち、顔画像F1をE1倍に拡大するとともに顔画像F2をE2倍に拡大し、これらの拡大によって得られる拡大画像F1'、F2'を合成してスルー画表示することで、上述したような一部拡大スルー画表示を行うことが可能である。なお、スルー画表示用の画像処理が施された顔画像を拡大する代わりに、
図8(b)に示すように、撮像素子102cからの画像信号の読み出しの際に拡大画像F1'、F2'に相当する画像信号を取得して合成動画像を生成するようにしても良い。スルー画表示用の画像処理が施された画像は表示部104の画面大きさに応じた縮小がなされているため、拡大後の顔画像の解像度の向上は望めない。これに対し、撮像素子102cから直接トリミングした画像をスルー画表示に用いることで拡大画像の解像度を高めることが可能である。
【0057】
なお、
図8(a)は拡大画像F1'と拡大画像F2'との間に隙間を設けないように合成を行う例を示している。これに対し、
図2(d)に示すようにして、拡大画像F1'と拡大画像F2'との間に隙間を設けるように合成を行っても良い。この場合には、隙間分を含めて顔画像F1と顔画像F2の拡大率を算出する。
【0058】
また、
図7の例では顔画像Fn中の顔の数を単純に数えて拡大率を決定するようにしている。この場合、例えば
図9(a)に示すように顔画像内の水平・垂直の両方向に顔が配置されているような場合では不必要な顔画像の拡大が行われてしまうおそれがある。実際には、
図9(b)のように必要な拡大率で拡大を行えたほうが良い。このためには、単純に顔の数に応じて拡大するのではなく、水平方向や垂直方向といった表示部104の画面の一辺に沿った方向に並んだ顔の数に応じて拡大するようにする。
【0059】
図10は、拡大率判定処理の変形例について示す図である。
図10において、制御部101は、顔画像の数を示すパラメータnに1をセットする(ステップS401)。次に、制御部101は、顔画像Fnに含まれる全ての顔のX座標であるXFn1〜XFnNを顔検出部103によって検出する(ステップS402)。ここで、XFn1〜XFnNは上述の位置Xnではなく、顔画像Fnに含まれる個々の顔のX座標である。なお、
図3のステップ104の処理において各顔のX座標を仮記録部1013aに記録しておけば、ステップS402においては仮記録部1013aに記録されている各顔のX座標を取得するだけで良い。
【0060】
各顔のX座標XFn1〜XFnNの検出後、制御部101は、XFn1〜XFnNの最大と最小値との差ΔXnを算出する(ステップS403)。
図11の例では、顔画像F1は顔の数が1つである。したがって、ΔX1は0となる。また、顔画像F2は顔の数が5つである。そして、ΔX2は顔画像F2中で最も右側にある顔F22のX座標と顔画像F2中で最も左側にある顔F21のX座標との差となる。
【0061】
ΔXnの算出後、制御部101は、顔画像Fnに含まれる顔の幅の平均FLnを算出する(ステップS404)。例えば、
図11の例において、顔画像F1は顔の数が1つである。したがって、FL1はその1つの顔の幅(水平方向の画素数)となる。一方、顔画像F2は顔の数が5つである。したがって、FL2は5つの顔の幅(水平方向の画素数)の平均となる。なお、
図11の例では5つの顔の幅が全て等しい場合を例示している。
【0062】
FLnの算出後、制御部101は、水平方向に並ぶ顔の数Nnを以下の(式3)に従って算出する(ステップS405)。
Nn=(ΔXn+FLn)/FLn(端数切り上げ) (式3) 例えば、
図11の例において、顔画像F1についての顔の数N1は(0+FL1)/FL1=1となる。一方、顔画像F2についての顔の数N2は(2FL2+FL2)/FL2=3となる。
【0063】
水平方向に並ぶ顔の数Nnを算出した後、制御部101は、全ての顔画像について顔の数Nnの取得が終了したか否かを判定する(ステップS406)。ステップS406の判定において、全ての顔画像についての顔の数Nnの取得が終了していない場合に、制御部101は、nに1を加える(ステップS407)。その後、処理がステップS402に戻り、制御部101は、次の顔の数の検出を行う。一方、ステップS406の判定において、全ての顔画像についての顔の数nの取得が終了した場合に、制御部101は、顔の数N1〜Nnの比で表示部104の画面が分割されるように各顔画像の拡大率を決定する(ステップS408)。なお、
図11の例では、水平・垂直とも1:3で内分するように顔画像F1、F2の拡大率を決定した例を示している。拡大率の決定後、制御部101は、
図10の処理を終了させて
図3の処理に復帰する。
【0064】
図10のような処理に従って拡大率を決定することにより、不必要な拡大が行われる可能性を低減することができる。なお、
図10の処理では水平方向に沿った顔の数で拡大率を決定するようにしているが、垂直方向に沿った顔の数で拡大率を決定するようにしても良い。
【0065】
ここで、
図3に戻って説明を続ける。ステップS110の拡大率判定処理の後、制御部101は、一部拡大スルー画表示を行う(ステップS111)。この一部拡大スルー画表示処理について説明する。
図12は、一部拡大スルー画表示処理について示すフローチャートである。一部拡大スルー画表示処理は、各顔画像を拡大した拡大画像と全体画像とを背景画像に合成して得られる合成動画像をスルー画表示するための処理である。
【0066】
図12において、制御部101は、ユーザによって指定された各顔画像をスルー画表示用の画像処理がなされた画像からトリミングする。そして、制御部101は、トリミングした各顔画像を拡大率判定処理で決定された拡大率で拡大した後、拡大によって得られる各拡大画像を、背景画像中の、指定位置関係判定処理で決定された各合成位置に合成する(ステップS501)。次に、制御部101は、各拡大画像を合成した場合に残余する余白部分を検出する(ステップS502)。例えば、
図13のようにして拡大画像F1'が画面左上端位置に合成された場合、
図13に示す、拡大画像F1'の部分を除く領域が余白部分となる。ただし、余白部分に合成する全体画像は矩形画像である。したがって、余白部分も矩形領域とする必要がある。このため、制御部101は、拡大画像F1'の合成によって残余した部分を複数の矩形領域S1、S2に分割し、それぞれの矩形領域を余白部分として検出する。実際には、拡大画像は複数合成されるので、複数の拡大画像を合成した場合に残余する部分を複数の矩形領域に分割して余白部分を検出する。
【0067】
余白部分の検出後、制御部101は、余白部分の面積(画素数)比較を行う(ステップS503)。そして、制御部101は、面積比較の結果、最大の面積を有する余白部分に全体画像を合成する(ステップS504)。例えば、
図14(a)のようにして余白部分S1、S2が検出された場合には余白部分S2に全体画像Aを合成する。一方、
図14(b)のようにして余白部分S1、S2が検出された場合には余白部分S1に全体画像Aを合成する。なお、全体画像は余白部分に収まる大きさではないので、合成する際には全体画像を縮小する必要がある。この際は、単純に余白部分の大きさに収まるように全体画像の水平方向及び垂直方向を一律の縮小率で縮小すれば良い。また、一部拡大スルー画表示時において表示される全体画像からは、ユーザが指定した顔画像の位置関係が分かれば良い。したがって、全体画像のアスペクト比を変える、即ち水平方向と垂直方向とで縮小率を変更して縮小するようにしても良い。これにより、余白部分の大きさに応じた大きさで全体画像を合成することが可能である。
【0068】
全体画像の合成後、制御部101は、合成動画像をスルー画表示する(ステップS505)。その後、制御部101は、
図12の処理を終了させて
図3の処理に復帰する。
【0069】
ここで、
図3に戻って説明を続ける。ステップS111の一部拡大スルー画表示の後、制御部101は、動画像記録を行うか否かを判定する(ステップS112)。このステップS112の判定においては、ユーザの指等が表示部104の画面上に表示されている記録ボタン104hの位置に接触した場合或いは操作部106のレリーズボタンが押された場合に動画像記録を行うと判定する。ステップS112の判定において、動画像記録を行う場合に、制御部101は、一部拡大スルー画表示されている合成動画像を画像処理部1013において動画像圧縮して記録部107に記録させる(ステップS113)。動画像記録の開始後、制御部101は、動画像記録を終了するか否かを判定する(ステップS114)。このステップS114の判定においては、ユーザの指等が表示部104の画面上に表示されている図示しない記録終了ボタンの位置に接触した場合或いは操作部106のレリーズボタンが再び押された場合に動画像記録を終了すると判定する。ステップS114の判定において、動画像記録を終了しない場合には処理がステップS113に戻り、制御部101は動画像記録を継続する。一方、ステップS114の判定において、動画像記録を終了する場合に、制御部101は
図3の処理を終了させる。
【0070】
また、ステップS112の判定において、動画像記録を行わない場合に、制御部101は、一部拡大スルー画表示を終了するか、即ちユーザの指等が表示部104の画面上に表示されている拡大終了ボタン104gの位置に接触したか否かを判定する(ステップS115)。ステップS115の判定において、一部拡大スルー画表示を終了する場合には、処理がステップS101に戻る。この場合に、制御部101は、通常のスルー画表示を実行する。一方、ステップS115の判定において、一部拡大スルー画表示を終了しない場合に、制御部101は、一部拡大スルー画表示されている画像中の顔画像が選択されたか、即ちユーザの指等が表示部104の画面上に表示されている顔画像の位置に接触したか否かを判定する(ステップS116)。ステップS116の判定において、顔画像が選択されていない場合には処理がステップS111に戻る。この場合に、制御部101は、一部拡大スルー画表示を継続する。
【0071】
また、ステップS116の判定において、顔画像が選択された場合に、制御部101は、ユーザによって選択された顔画像の部分をトリミングし、このトリミングした顔画像を画像処理部1013において画像処理した後、
図2(e)のようにして表示部104に全画面表示させる(ステップS117)。この後、制御部101は、動画像記録を行うか否かを判定する(ステップS118)。ステップS118の判定において、動画像記録を行う場合に、制御部101は、全画面スルー画表示されている顔の動画像を画像処理部1013において動画像圧縮して記録部107に記録させる(ステップS119)。動画像記録の開始後、制御部101は、動画像記録を終了するか否かを判定する(ステップS120)。ステップS120の判定において、動画像記録を終了しない場合には処理がステップS119に戻り、制御部101は動画像記録を継続する。一方、ステップS120の判定において、動画像記録を終了する場合に、制御部101は
図3の処理を終了させる。
【0072】
また、ステップS118の判定において、動画像記録を行わない場合に、制御部101は、戻る操作がなされたか、即ちユーザの指等が表示部104の画面上に表示されている戻るボタン104iの位置に接触したか否かを判定する(ステップS121)。ステップS121の判定において、戻る操作がなされた場合には処理がステップS111に戻る。この場合に、制御部101は一部拡大スルー画表示を行う。一方、ステップS121の判定において、戻る操作がなされていない場合には処理がステップS117に戻る。この場合に、制御部101は顔画像の全面スルー画表示を継続する。
【0073】
以上説明したように、本実施形態によれば、全体画像中の顔画像を抽出して拡大した拡大画像と全体画像とを合成した画像をスルー画表示することにより、複数の被写体の表情や反応等を詳細に観察することが可能である。また、顔画像の拡大率を顔画像中の顔の数に応じて変えるようにしているので、顔画像中に複数の顔が含まれていたとしても各顔を詳細に観察することが可能である。さらに、顔画像の拡大率を表示部104の画面の一辺と平行な方向に並ぶ顔の数に従って決定するようにすることで、顔画像が不必要に拡大される可能性を低減させることも可能である。
【0074】
また、拡大画像の配置を全体画像中の拡大画像の配置に対応させるようにすることで、拡大画像のみでも各顔の位置関係を大まかに把握することができる。また、拡大画像の合成位置を表示部104の画面端位置から順次決定されるようにすることにより、全体画像を合成するための余白部分を確保し易くなる。
【0075】
なお、上述した実施形態においては、ユーザがn個の顔画像を指定できるようになっている。しかしながら、指定できる顔画像の数が多くなると、一部拡大スルー画表示によって表示される個々の拡大画像の大きさが小さくなって被写体の表情等の観察が困難になるおそれがある。したがって、指定できる顔画像の数を制限して、拡大画像が必要以上に小さくならないようにしても良い。また、表示部104に一度に表示させる拡大画像の数を制限して、表示部104に表示させる拡大画像を所定時間毎に順次切り替えるようにしても良い。
【0076】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【0077】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。