以下、本発明の好適な実施の形態について図面を用いて説明する。
1.撮影装置の構成
図1は、本実施形態の撮影装置PM(画像印刷装置の一例)の外観の一例を示す斜視図である。図1に示すように、本実施形態の撮影装置PMは、代価受付部RMと、撮像部CMと、編集操作受付部EMと、写真シール提供部PBとを有する。
図1に示す代価受付部RMは、ユーザが本実施形態の撮影装置PMを利用する際に最初に接するものであり、撮影装置PMを利用するための代価を投入するためのものである。
図1に示す撮像部CMは、上述した代価受付部RMに対して代価の投入を行ったユーザの画像を撮像するためのものであり、上述した代価受付部RMとは異なる位置に設けられている。本実施形態では撮像部CMは、画像の背景に周囲の景色が写りこまないように、また、撮像されているユーザが周囲から見えないように、シートSTで周囲が覆われている。
図2は、本実施形態の撮影装置PMのシートSTを取り除いた状態の外観を、撮像部CMの前面が右正面となるように示した斜視図である。図2に示すように撮像部CMの前面上部には、撮像領域CAに位置するユーザの画像を撮像するカメラCRが設けられている。カメラCRは、例えばCCDカメラ、C−MOSカメラ、又はビデオカメラなどにより実現できる。カメラCRは、被写体を正面方向から撮影するもので、撮像部として機能する。
また撮像部CMの前面上部から中部には、撮像領域CAに位置するユーザを照明する撮像用照明部CLが設けられている。この撮像用照明部CLは、カメラCRがユーザの画像の撮像を開始した場合に点灯するように制御される。そして、カメラCRがユーザの画像を撮像している間、ユーザを照明し続けるように制御される。
また撮像部CMの前面中部には、撮像領域CAに位置するユーザに対して、カメラCRが撮像している画像を表示する撮像用モニタCMN(表示部の一例)が設けられている。本実施形態ではカメラCRが画像の撮像を開始すると、撮像用モニタCMNは、撮像領域CAに位置するユーザの画像をリアルタイムの動画として表示する。これによりユーザは、カメラCRが撮像しているユーザの画像を撮像用モニタCMNにより確認することができる。撮像用モニタCMNは、ユーザの視点から見下ろす高さに、ユーザに対してその表示画面がほぼ正対するように、筺体に取り付けられている。カメラCRで撮影された映像は、撮像用モニタCMNに表示され、ユーザはこの撮像用モニタCMNに表示された映像を見て自身のポーズが適当か否かを確認することができる。
また撮像用モニタCMNは、接触位置を検出できるタッチセンサパネルが積層されたタッチパネル式モニタにより構成されており、ユーザが撮像用モニタCMNを触ることにより操作入力を行うことができる。
そして、ユーザの画像の撮像が開始されてから所定時間が経過するとユーザの画像の撮像を終了する。そして、撮像領域CAに位置するユーザに対して、編集操作受付部EMの前側の領域である編集領域EA(第3の領域の一例)に移動する案内を行う。
図1に示す編集操作受付部EMは、上述した撮像部CMにおいて画像を撮像したユーザが、撮像した画像を編集するための操作を行うためのものであり、上述した撮像部CMとは異なる位置に設けられている。本実施形態では編集操作受付部EMは、編集操作を行っているユーザが周囲から見えないように、シートSTで周囲が覆われている。特に本実施形態では編集操作受付部EMとして、第1の編集操作受付部EM1と第2の編集操作受付部EM2とが設けられている。図3は、本実施形態の撮影装置PMのシートSTを取り除いた状態の外観を、第1の編集操作受付部EM1の前面が右正面となるように示した斜視図である。
図3に示すように第1の編集操作受付部EM1の前面中央部には、第1の編集操作受付部EM1の前側の領域である編集領域EA1(第3の領域の一例)に位置するユーザに対して、シールに印刷する静止画として決定した画像を表示しつつ、表示した画像を編集するための操作を受け付けるタッチパネル式の編集用モニタEMNが設けられている。
本実施形態では、編集用モニタEMNの左右にそれぞれタッチペンTPが用意されており、ユーザはタッチペンTPの先端を編集用モニタEMNの任意の位置に接触させることにより、決定した画像に合成する線図を描いたり、模様や図柄のテンプレート(スタンプ画像)を選択してこれを画像に配置して、シールに印刷する静止画を編集する。
なお本実施形態では、図3に示す第1の編集操作受付部EM1の背面側に、第1の編集操作受付部EM1と同様の構成を有する第2の編集操作受付部EM2が設けられ、第2の編集操作受付部EM2の前側の領域である編集領域EA2(第4の領域の一例)に位置するユーザに対して、シールに印刷する静止画として決定した画像を表示しつつ、表示した画像を編集するための操作を受け付ける。
そして、画像の編集操作の受け付けが開始されてから所定時間が経過するか、ユーザの操作により編集操作の終了が選択されると、画像の編集操作の受け付けを終了する。そして、編集領域EA1又は編集領域EA2に位置するユーザに対して、写真シール提供部PB(印刷物提供部の一例)の前側の領域である取出領域PA(第5の領域の一例)に移動するように案内する。
そして図3に示すように、第1の編集操作受付部EM1の左側面には、編集された画像をシールに印刷した写真シール(印刷物の一例)をユーザに提供する写真シール提供部PBが設けられている。本実施形態では、取出領域PAに位置するユーザに対して写真シールを提供するように、写真シール提供部PBの前面に写真シール取出口POが設けられている。
図4は、本実施形態の撮影装置PMのブロック図の一例である。なお、撮影装置PMは、図4の構成要素(各部)を全て含む必要はなく、その一部を省略した構成としてもよい。 撮像部198は、被写体を撮影するためのもので、図2のCRに相当し、例えばCCDカメラ、CMOSカメラ、又はビデオカメラなどにより実現できる。
操作部160(ポインティングデバイス、レバー、ボタン等)は、ユーザが編集用コンテンツ選択メニューの選択操作や編集操作を行うためのものである。
記憶部170(RAM)は、処理部100や通信部196などのワーク領域となるものである。
情報記憶媒体180(CD、DVD、HDD、ROMなどのコンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものである。この情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
ディスプレイ190は画像を表示するものであり、例えば図2の撮像用モニタCMNや編集用ディスプレイ等である。
撮像用モニタCMNは、例えばタッチパネル等が用いられ、ディスプレイに表示された入力用のボタンに、ユーザが指を接触させることにより、各種指示入力(例えばコラージュ背景の選択や撮影モードの選択等)を行うことができるように構成されている。
編集用ディスプレイとしては、例えば液晶タブレットやタッチパネル等が用いられ、タッチペン(ポインティングデバイスの一例)等の先端をディスプレイ表面に接触させ、文字や図形を描くことにより手書き画像を入力できるようになっている。また予め用意された星マークやハートマーク等のスタンプ画像を選択して、タッチペンの先端をディスプレイ表面に接触させることによりスタンプ画像を入力できるようになっている。
音出力部192は音声、ゲーム音などの音を出力するものである。
携帯型情報記憶装置194は、ユーザの個人データや編集用のセーブデータなどが記憶されるものである。
印刷部195は、撮影された画像を印刷媒体(シール紙、印画紙、プラスチック板又は記録層)に画像を印刷する処理を行う。この場合の印刷方式としては昇華型、熱転写型、インクジェット方式、レーザプリント方式などの種々の方式がある。また印刷用のプリンタとしては、インクジェット式プリンタ、レーザープリンタ、昇華型プリンタ、熱転写型プリンタ、溶融型プリンタ、サーマルプリンタ、印画紙プリンタ、インスタントフィルムプリンタ等を用いるようにしてもよい。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内の主記憶部172をワーク領域として使用して、各種の処理を行う。この処理部100の機能は、各種プロセッサ(CPU、DSP等)又はASIC(ゲートアレイ等)などのハードウェアや、プログラム(ゲームプログラム)により実現できる。
処理部100は、背景抜き取り画像生成部110、確認画像表示制御部112、カーソル画像表示制御部114,画像取り込み制御部116、ガイダンス処理部118、切り取り領域設定部122、提供画像生成部124、編集処理部120、画像生成部130、音生成部140を含む。
背景抜き取り画像生成部110は、所定の色(背景色)を背景として撮影された撮影画像から所定の色(背景色)を抜き取る処理を行う。所定の色(背景色)の抜き取り処理は、例えばクロマキー処理で実現してもよいし、マスク処理で実現してもよい。
クロマキーとは画像の中からある特定色(例えば背景色)をもつ領域を抜き出し、そこに他の画像を埋め込む手法である。なお他の画像を埋め込む手法としては、特定色をもつ領域のα値(透明度を表す値とする)を1にして、他の画像と半透明合成(例えばαブレンディング処理)を行うことにより実現することができる。
マスク処理とは画像の特定の領域(本発明の場合には背景色の領域)の画素値をすべて1にして、他の部分をすべて0にしたマスク画像を作成し、このマスク画像の0の部分には画像Aを、マスク画像の1の部分には画像Bを埋め込むことにより両画像を合成する手法である。
確認画像表示制御部112は、撮像部によって撮影された撮影画像に対応した確認画像をリアルタイムに表示部に動画像表示させる処理を行い、カーソル画像表示制御部114は、前記確認画像における被写体の顔の位置を示す顔位置データを取得し、前記撮影画像と前記顔位置データに基づき、確認画像の被写体の顔を示すカーソル画像を表示させ、画像取り込み制御部116は、撮影中に発生する取り込みタイミングにおける確認画像に対応した画像を取り込み画像として記憶部に記憶させる制御を行う。
カーソル画像表示制御部114は、前記確認画像が複数の顔を含む場合には、前記顔位置データに基づき複数の顔が所定の位置関係にあるか否か判断し、所定の位置関係にないと判断した場合には、前記確認画像に複数の顔を個別に示す第1のカーソル画像を表示し、所定の位置関係にあると判断した場合には、前記確認画像に複数の顔を一体として示す第2のカーソル画像を表示するカーソル一体化表示処理を行う。
また確認画像表示制御部112は、前記確認画像として、前記撮像部によって撮影された被写体の撮影画像から背景を抜き取った背景抜き取り画像と所与の背景画像を合成した合成画像をリアルタイムに生成し、画像取り込み制御部116は、撮影中に発生する取り込みタイミングにおける確認画像に対応した合成画像を取り込み画像として記憶させてもよい。
またカーソル画像表示制御部114は、前記カーソル画像として、顔を囲む枠状のカーソル画像が表示された確認画像を生成してもよい。
またカーソル画像表示制御部114は、前記顔位置データに基づき各顔に対応する判定用矩形を設定し、当該判定用矩形に基づき、複数の顔が所定の位置関係にあるか否か判断してもよい。
またカーソル画像表示制御部114は、前記顔位置データに対応して設定された判定用矩形に外接し、縦横の辺が確認画像の縦横の辺に平行な矩形又は当該矩形に所定のオフセット領域を付加した矩形を判定用矩形として設定してもよい。
またカーソル画像表示制御部114は、複数の顔が所定の位置関係にある場合には、顔の大写しの度合いが所定の基準を満たしているか否かを判断し、満たしていると判断した場合には、所定の位置関係にある複数の顔を一体として示す特別仕様の第3のカーソル画像を表示してもよい。
またカーソル画像表示制御部114は、前記確認画像が第1の顔と第2の顔を含む複数の顔を含む場合には、前記第1の顔に対応して設定された判定用矩形と前記第2の顔に対応して設定された判定用矩形の大きさが所定の基準以上に異なるか否か判断し、異なると判断した場合には、カーソル一体化表示処理を行わないようにしてもよい。
ガイダンス処理部118は、カーソル一体化表示処理に関する説明を含むガイダンス画像を表示部に表示させる。ガイダンス処理部118は、撮影時に取得した顔位置データに基づき撮影人数を判断し、撮影人数が複数である場合にカーソル一体化表示処理に関する説明を行うようにしてもよい。
またガイダンス処理部118は、ゲーム開始後の撮影における確認画像を表示する際にカーソル一体化表示処理を行った場合にはカーソル一体化表示処理に関する説明を省略するようにしてもよい。
前記カーソル画像表示制御部114は、相似形状で大きさが段階的に異なる複数のカーソル基準画像を用意し、撮影画像の大写しの度合いに応じて、いずれかのカーソル基準画像を選択し、選択したカーソル基準画像に対し拡大、縮小、スケール変更の少なくとも1つの処理を施してカーソル画像を生成してもよい。
また画像取り込み制御部116は、撮影中に前記取り込みタイミングまでの残り時間をカウントする処理を行い、確認画像表示制御部112は、前記残り時間が所定値以下になると前記カーソル画像の表示を終了してもよい。
切り取り領域設定部122は、前記撮像部によって撮影された撮影画像、又は当該撮影画像から背景を抜き取った背景抜き取り画像と所与の背景画像を合成した合成画像における被写体の顔の位置を示す顔位置データを取得し、前記顔位置データに基づき、撮影画像又は合成画像において、被写体の顔部分を含み縦横が所定の設定比率の長方形の領域を切り取り領域として設定し、提供画像生成部124は、撮影画像又は合成画像の切り取り領域の画像に基づき提供画像を生成する。
また切り取り領域設定部122は、前記撮影画像又は前記合成画像が複数の顔を含む場合には、複数の顔に対応する顔位置データに基づき、複数の顔に対して個別に切り取り領域を設定し、前記提供画像生成部124は、複数の顔に対して個別に切り取り領域が設定された場合には、複数の切り取り領域の画像を合成して提供画像を生成してもよい。
また切り取り領域設定部112は、前記撮影画像又は前記合成画像が複数の顔を含む場合に、複数の顔に対応する顔位置データに基づき、複数の顔を含む切り取り領域を設定し、 提供画像生成部124は、複数の顔を含む切り取り領域が設定された場合には、複数の顔を含む切り取り領域の画像に基づき提供画像を生成してもよい。
また切り取り領域設定部122は、前記撮影画像又は前記合成画像が複数の顔を含む場合には、複数の顔に対応する顔位置データに基づき複数の顔が所定の位置関係にあるか否か判断し、所定の位置関係にないときは、複数の顔に対して個別に切り取り領域を設定し、複数の顔が所定の位置関係にあるときは複数の顔を含む1つの切り取り領域を設定し、提供画像生成部124は、複数の顔に対して個別に切り取り領域が設定された場合には、複数の切り取り領域の画像を合成して提供画像を生成し、複数の顔に対して1つの切り取り領域が設定された場合には、1つの切り取り領域の画像に基づき提供画像を生成してもよい。
また切り取り領域設定部122は、n個の顔に対して個別に切り取り領域を設定する場合には、各切り取り領域となる長方形の横の比率を、複数の顔を含む1つの切り取り領域を設定する場合の1/nの値に設定し、提供画像生成部124は、n個の切り取り領域の画像を横方向に配置して、提供画像を生成してもよい。
また提供画像生成部124は、前記提供画像として、少なくとも1つの切り取り領域の画像に基づき被写体の顔が大写しになっているアップ画像を生成してもよい。
また切り取り領域設定部122は、前記顔位置データに基づき各顔に対応する判定用矩形を設定し、当該判定用矩形に基づき、切り取り領域を設定してもよい。
また切り取り領域設定部122は、前記顔位置データに基づき各顔に対応する判定用矩形を設定し、当該判定用矩形に基づき、複数の顔が所定の位置関係にあるか否か判断してもよい。
また切り取り領域設定部122は、前記顔位置データに対応して設定された顔矩形に外接し、縦横の辺が確認画像の縦横の辺に平行な矩形又は当該矩形に所定のオフセット領域を付加した矩形を判定用矩形として設定してもよい。
編集処理部120は、操作部160からの編集用の入力情報等に基づき、取り込まれた画像に対して編集処理を行う。編集処理部120は、前記撮影画像又は合成画像と、これらのいずれかに対応して生成された提供画像を編集用の画像として提供し、所与の編集処理を行うようにしてもよい。
画像生成部130は、撮影や編集の結果に基づいて画像を生成し、ディスプレイ190に出力する。
音生成部140は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
通信部196は、インターネットなどのネットワークを介してデータを送信又は受信する処理を行う。より具体的には、通信部196は、カメラの撮影画像により生成されたデータを、ネットワークを介して外部のサーバなどに送信する。このようにすればユーザ(被写体)は、自身が被写体となっている画像のデータを、自分の家のパーソナルコンピュータにサーバからダウンロードすることが可能になる。そしてダウンロードした画像データに基づいて、自分の家のプリンタを用いて、紙やシールに画像を印刷して出力することが可能になる。またユーザが撮影した画像をサーバに保存しておき、撮影装置にダウンロードして印刷して出力することも可能である。
この通信部196の機能は、例えば通信用のデバイス(IC)などのハードウェアや、通信用のプログラムなどにより実現できる。なお印刷部195、通信部196のいずれか一方を設けない構成としてもよい。
また通信部196は、撮影中のユーザに関するユーザ情報を取得するユーザ情報取得部として機能し、カーソル画像表示制御部114は、複数のパターンのカーソル画像を用意しておき、取得したユーザ情報に基づき、複数のパターンのカーソル画像から1のカーソル画像を選択して、選択したカーソル画像を用いてカーソル表示を行うようにしてもよい。
なお本実施形態の撮影装置は、固定された筐体である装置でもよいし、携帯用の装置でもよい。 また本実施形態の撮影装置を、ユーザの撮影画像をゲームに使用するようなタイプのゲーム装置に利用することも可能である。即ち本実施形態の撮影装置を、ゲーム装置の画像取り込み装置として機能させることも可能である。
2.カーソル画像の表示制御
図5は、確認画像におけるカーソル表示制御について説明するための図である。
本実施の形態では、撮影中、撮像部によって撮影された撮影画像(又は合成画像)に対応した確認画像(例えばライブビュー画像)をリアルタイムにディスプレイ(図3のCNN)に動画像表示(ライブビュー表示)する。
200−t1、200−t2、200−t3は確認画像である。確認画像200−t1、200−t2、200−t3は、現在撮影中の撮影画像そのものでもよいし、撮影画像から背景を抜き取った背景抜き取り画像と所与の背景画像を合成した合成画像でもよい。
背景抜き取り画像は、例えば撮影画像を左右反転させて生成するようにしてもよい。このようにすると背景抜き取り画像が正面に鏡がある場合と同じような画像となるので(ユーザの正面にカメラ及び表示部がある場合)、ユーザの位置や方向感覚と合っていて、位置合わせが行いやすい。
背景抜き取り画像は、所定の色(背景色)を背景として撮像部で撮影中の被写体の画像を現在画像として取り込んで、現在画像から所定の色(背景色)を抜き取ることで背景部分を抜き取った画像をリアルタイムに生成してもよい。
確認画像は、撮影中に表示部にリアルタイムの動画像として表示されるので、ユーザは確認画像を見ながら位置合わせをしたり、ポーズをとったりして、取り込み画像(撮影画像又は合成画像)のイメージを確認することができる。
本実施の形態では確認画像(撮影画像でもよい)における被写体の顔の位置を示す顔位置データを受け取る。そして、ライブビュー表示時には、取得した顔位置データに基づき、確認画像200−t1の被写体210−1、210−2の顔部分212−1,212−2に、顔であることを示すカーソル画像220−1、220−2を表示する。被写体210−1、210−2の顔部分212−1、212−2がある程度離れている状態(複数の顔が所定の位置関係にないとき)では、確認画像200−t1に示すように被写体の顔212−1、212−2を個別に示す第1のカーソル画像220−1、220−2が表示されている。なお、第1のカーソル画像を表示する際は、第1のカーソルの近傍に複数の被写体の距離を狭めることを促す画像やテキストなどを表示してもよい。
そして確認画像200−t2に示すように、被写体の顔部分212−1、212−2が一定以上近づくと(複数の顔が所定の位置関係になると)、被写体210−1、210−2の顔部分212−1、212−2を一体として示す第2のカーソル230を表示する。なお、第2のカーソルを表示する際は、第2のカーソルの近傍に被写体がもっとカメラに近づくことを促す画像やテキストを表示してもよい。
また確認画像200−t3に示すように、さらに被写体の顔部分212−1、212−2のアップ度合いが増すと(被写体がカメラに近づくと)、第2のカーソル画像230に替えて第3のカーソル画像240を表示する。第3のカーソル画像240は、第2のカーソル画像230にデコレーションを施した画像(例えば240に示すようにカーソルを示すハートの枠(これは第2のカーソル画像と同じ形状)の周りに星画像242をちりばめた画像でもよいし、第2のカーソル画像とは全くこと異なる形状や模様のカーソル画像でもよい。
なお、第2、第3のカーソルをハートマークや逆三角形のように下方が狭まった形状とすることで、2人の被写体が顎を近づけることを促し、2人の被写体は違和感なく顔を近づけることができる。
このように、複数の被写体の顔部分の距離が一定以上に近づき、さらに被写体がカメラに一定以上に近づくこと被写体の顔部分の周囲に表示するカーソル画像を変化させることで、複数の被写体が近く、さらに被写体の顔が大きく写された画像を撮影することが可能となる。
また、撮影のタイミングが自動的に設定されている撮影装置においては、ユーザ(被写体)が位置合わせをする時間が制限されていることが多いが、確認画像に表示されるカーソル画像を見ながら、複数の被写体の間の距離やカメラと被写体の距離を調整することができ、容易に位置合わせを行うことが可能となる。
図6(A)(B)(C)は、本実施の形態のカーソル画像について説明するための図である。図6(A)の260−1、260−2は第1のカーソル画像の他の一例であり、図6(B)の270は第2のカーソル画像の他の一例であり、図6(C)の290は第3のカーソル画像の他の一例である。カーソル画像(第1のカーソル画像、第2のカーソル画像、第3のカーソル画像)は、図5、図6(A)(B)(C)に示すように、被写体の顔部分212−1、212−2を囲む枠(図6(A)の260−1、260−2のように閉じた枠でもよいし、図5の220−1、220−2のように開いた枠でもよい)状の画像でもよい。
この様にすると、顔の周りを囲む枠状のカーソル画像が表示されるため、カーソル画像により顔が見えにくくなるのを防止することができる。従ってユーザの画像確認の妨げにならない確認画像を生成することができる。
図7〜図9は、複数の顔の位置関係を調べる手法について説明するための図である。
本実施の形態では、確認画像(撮影画像でもよい)における被写体の顔の位置を示す顔位置データを受け取る。
顔位置データは、例えば図7に示すように各顔212−1、212−2に対応して設定された顔矩形300−1、300−2の頂点データ(302−1、304−1、306−1、308−1の座標値)、(302−2、304−2、306−2、308−2の座標値)で与えられてもよい。
そしてこの顔位置データに基づき図8(A)(B)に示すように、各顔に対応する判定用矩形340−1340−2を設定し、当該判定用矩形に基づき、複数の顔212−1、212−2が所定の位置関係にあるか否か判断してもよい。判定用矩形としては、図7の顔矩形300−1、300−2を用いてもよいし、図9で説明するような顔矩形300−1、300−2に基づき設定される矩形を用いてもよい。
図8(A)に示すように判定用矩形340−1、340−2に重複部分がない(重なっていない)場合には複数の顔が所定の位置関係を満たしていないと判定し、図8(B)に示すように判定用矩形340−1、340−2が重複部分を有する(重なっている)場合には、複数の顔が所定の位置関係を満たしていると判定してもよい。なお単に重なっているだけでなく重複部分の割合が所定割合以上であることを所定の位置関係を満たす条件に追加してもよい。例えば、重複部分を構成する判定用矩形340−1の辺342の長さ(b)に対する重複部分の長さ(a)の割合a/bが所定割合以上である場合に複数の顔が所定の位置関係を満たしていると判断してもよい。
図9(A)に示すように顔が傾いている場合には得られる顔矩形300−、300−2の向かい合う辺も平行とならない。従って図9(B)に示すように、各顔矩形300−1、300−2に外接し、縦横の辺が確認画像200(撮影画像又は合成画像でもよい)の縦横の辺に平行な矩形(第2の顔矩形)320−1、320−2を判定用矩形340−1、340−2として設定してもよい。また当該第2の顔矩形320−1、320−2に所定のオフセット領域(縦の辺を上下にl1だけ延長し、横の辺を左右にl2だけ延長)を付加した矩形(第3の顔矩形)330−1、330−2を判定用矩形340−1、340−2として設定してもよい。
図10は、複数の顔が奥行き方向に離れている状態を判定する手法について説明するための図である。
図10に示すように、確認画像200である2次元平面上では複数の被写体の顔212−1、212−2が近くにあっても、被写体同士210−1、210−2が奥行き方向に離れているケースがある。この様なケースでは複数の顔を一体化したカーソルで示さないようにしてもよい。
すなわち確認画像200が第1の顔212−1と第2の顔212−2を含む複数の顔を含む場合には、前記第1の顔に対応して設定された半径用矩形340−1と前記第2の顔に対応して設定された判定用矩形340−2の大きさ(辺の長さ又は面積)が所定の基準以上に異なるか否か判断し、異なると判断した場合には、カーソル一体化表示処理を行わないようにしてもよい。
判定用矩形340−1、340−2の大きさが所定の基準以上に異なるか否かは、判定用矩形の面積によって判断してもよいし、判定用矩形の辺の長さによって判断してもよい。
図11(A)(B)(C)は、図5の確認画像における判定用矩形の位置関係について説明するための図である。
図11(A)の340−1、340−2は、図5の確認画像200−t1において各顔に対して設定された判定用矩形を示している。ここでは判定用矩形340−1、340−2が所定の位置関係(例えば図7(B)で説明したような重複部分を有する関係)を満たしていないので、図5の200−t1に示すように各顔に対して個別に第1のカーソルが表示される。なお判定用矩形は取得した顔位置データに基づいてリアルタイムに設定される。従って被写体のポーズや位置が変化すると設定される判定用矩形も変化する。従って各判定用矩形が所定の位置関係にあるかはリアルタイムに判断する。
図11(B)の340−1、340−2は、図5の確認画像200−t2において各顔に対して設定された判定用矩形を示している。ここでは判定用矩形340−1、340−2が所定の位置関係を満たしているため、一体化矩形350が設定され、図5の200−t1に示すように一体化矩形に対して第2のカーソル画像230が設定されている。
図11(C)の340−1、340−2は、図5の確認画像200−t3において各顔に対して設定された判定用矩形を示している。ここでは判定用矩形340−1、340−2が所定の位置関係を満たしているため、一体化矩形350が設定されている。また被写体の顔が近づいたままカメラに近づいて状態であり、図11(B)に比べて被写体の顔が大写し(アップ)になっている。従って図11(B)より、確認画像に占める判定用矩形340−1、340−2や一体化矩形350の割合が大きくなっている。この割合が所定値以上である場合に顔の大写しの度合いが所定の基準を満たしていると判断してもよい。また判定用矩形340−1、340−2や一体化矩形350の辺の長さが確認画像の縦横の長さの所定割合以上である場合に顔の大写しの度合いが所定の基準を満たしていると判断してもよい。
大写し(アップ)の度合いは、一体化矩形350の横の長さ(確認画像の横の長さに対する比率でもよい)で判断してもよいし、一体化矩形350の対角線の長さ(確認画像の対角線に対する比率でもよい)で判断してもよい。また一体化矩形350の面積の確認画像全体に閉める割合で判断してもよい。
3.ガイダンス処理
次にカーソル一体化表示処理に関する説明を含むガイダンス画像の表示部に表示させるガイダンス処理について説明する。図12は、本実施の形態の処理の流れを示すフローチャートである。図13はガイダンス処理で表示部に表示されるガイダンス画像の一例である。
ゲームスタート前はアトラクト画像が表示されており(ステップS10)、コイン等のクレジットが投入されるとゲームがスタートする。ゲームがスタートすると(ステップS20)、各種設定画面が表示され、撮影モードの設定処理等が行われる(ステップS30)。背景画像等の選択もここで行うようにしてもよい。各種設定処理が終了すると、撮影処理(ステップS40)が開始される。撮影処理は1回のゲームで所定期間内にn回可能である。従って規定枚数になるまで、繰り返し撮影処理(ステップS50)が行われる。撮影処理が開始されると、カメラCRが撮像を開始し、撮像用モニタCMNは、撮像領域CAに位置するユーザの画像(ライブビュー画像、本願の確認画像に相当)をリアルタイムの動画として表示(ライブビュー表示)する。このときのライブビュー画像に対して、図5や図6に示すようなカーソル画像の表示が行われる。撮像が開始されてから所定時間が経過すると画像の取り込みタイミングとなり、このときの撮影画像(又は背景画像との合成画像)が取り込み画像として記憶部に記憶され、後の編集処理の対象となる。
今回の撮影処理が終了すると、撮影終了でなければ(撮影回数が規定回数に達していなくて残り時間がある場合)(ステップS50でNの場合)、1回目の撮影終了後であれば(ステップS70でYの場合)ガイダンス処理(ステップS80)が行われた後、再び撮影処理(ステップS40)にいく。また1回目の撮影終了後でなければ(ステップS70でNの場合)ガイダンス処理は行われず、再び撮影処理(ステップS40)にいく。ガイダンス処理(ステップS80)では、例えば図13に示すようなガイダンス画像を表示してカーソル一体化処理についてのユーザの認知を促す。ここで今回のゲームが開始されてから行われた過去の撮影(前回の撮影でもよい)において取得した顔位置データに基づき今回のゲームの撮影人数を判断し、撮影人数が複数でないと判断した場合にはカーソル一体化表示処理に関するガイダンス画像の表示処理を省略してもよい。
この様にすると、今回の撮影には関係しないガイダンス画像の出力処理を省略することができるので、全体処理時間を短縮させ、稼働率を向上させることができるとともに、ユーザにとっても無駄な待ち時間をなくし、飽きずにゲームを楽しませることができる。
またゲーム開始後の撮影(1回目の撮影でもよい)においてカーソル一体化表示処理既に行った場合にはカーソル一体化表示処理に関する説明を省略してもよい。例えば1回のゲームでn回の撮影が可能である場合には、ゲーム開始後の1回目の撮影時にカーソル一体化表示処理を行った場合には、カーソル一体化表示処理に関する説明を省略してもよい。
4.カーソル画像の作成手法
図14(A)〜(E)は、複数のカーソル基準画像を用いてカーソル画像を生成する処理について説明するための図である。図14(A)(B)(C)(D)は、被写体の顔のアップ度合いの異なる複数の確認画像を示しており、図14(E)はカーソル画像とそのスケールを示している。図14(A)(B)(C)(D)では、取得した顔矩形300−1の所定の1辺の比がh1:h2:h3:h4(h1<h2<h3<h4)となっているものとする。図14(E)のカーソル画像370−1、370−2、370−3、370−4は、図14(A)〜(D)に対応する大きさのカーソル画像をそのスケール順に並べたものである。
本実施の形態では、確認画像の顔部分にカーソル画像を重ねて配置することでカーソル表示を実現している。ここでカーソル画像の大きさは確認画像における顔画像(顔矩形)の大きさに応じて変化する。すなわち確認画像の顔矩形の大きさ(又は辺の長さ)に比例してカーソル画像の大きさ(又はスケール)も変化する。
本実施の形態では相似形状で大きさが段階的に異なる複数のカーソル基準画像360−1、360−2を用意し、確認画像の大写し(アップ)の度合いに応じて、使用するカーソル基準画像360−1、360−2を変更する。そしてカーソル基準画像を拡大又は縮小して様々な大きさのカーソル画像をリアルタイムに生成して表示するようにしてもよい。
例えば図14(A)の場合にはカーソル基準画像360−1に縮小処理を施してカーソル画像370−1を生成してもよい。また図14(B)の場合にはカーソル基準画像360−1をそのままカーソル画像370−2として用いてもよい。また図14(C)の場合には、カーソル基準画像360−2に縮小処理を施してカーソル画像370−3を生成してもよいし、カーソル基準画像360−1に拡大処理を施してカーソル画像370−3を生成してもよい。また図14(D)の場合にはカーソル基準画像360−2をそのままカーソル画像370−4として用いてもよい。
この様にすると1つのカーソル基準画像に対して拡大、縮小を施して、すべてのアップ度合いに対応するカーソル画像を生成する場合に比べ、カーソル画像の画質の低下を防止することができる。
5.カーソル画像表示制御の変形例
撮影が開始されてから、所定時間後に撮影中に取り込みタイミングが来る構成の撮影装置であれば、撮影が開始されてから取り込みタイミングまでの残り時間をカウントする処理を行い、残り時間が所定値になると前記カーソル画像の表示を終了するようにしてもよい。この様にすると取り込みタイミング直前にはカーソル表示が終了するので、ユーザは自分の表情等を確認しやすくなる。
また撮影装置が、ユーザに関するユーザ情報を取得する部を含む場合(例えばサーバに蓄積されているユーザ情報をネットワークを介して取得する場合や、ユーザの携帯情報機器に蓄積されているユーザ情報をネットワークを介して取得する場合)には、ユーザ情報に基づき使用するカーソル画像を変化させるようにしてもよい。例えば複数のパターンのカーソル画像を用意しておき、取得したユーザ情報に基づき、複数のパターンのカーソル画像から1のカーソル画像を選択して、選択したカーソル画像を用いてカーソル表示を行うようにしてもよい。
例えば第1のカーソル画像は、すべてユーザで同じカーソル画像を用い、第2のカーソル画像は、複数のユーザのユーザ情報に基づき選択するようにしてもよい。例えば第2のカーソル画像として、男の友達同士の場合に用いるカーソル画像、女の友達同士の場合に用いるカーソル画像、男女のカップルの場合に用いるカーソル画像の3種類のカーソル画像を用意しておき、一体化する対象のユーザのユーザ情報に基づき、いずれかのカーソル画像を選択して表示してもよい。
また例えば第1のカーソル画像もユーザ情報に基づき選択するようにしてもよい。例えば男性用のカーソル画像、女性用のカーソル画像等を用意しておき、ユーザ情報に基づき、いずれかのカーソル画像を選択して表示してもよい。
6.カーソル画像表示制御処理の流れ
図15はカーソル表示制御処理の流れを示すフローチャートである。
撮影が開始されると所定間隔(例えば生成する画像のフレーム毎に)で以下の処理を行う(ステップS110)。
撮影された被写体の撮影画像から背景を抜き取った背景抜き取り画像と所与の背景画像を合成した合成画像を生成して確認画像としてライブビュー出力する(ステップS120)。次に顔位置データを取得する(ステップS130)。
確認画像が複数の顔を含む場合には(ステップS140でYの場合)、顔位置データに基づき顔に対応する判定用矩形を求める(ステップS150)。
顔に対応する判定用矩形が所定の位置関係にある場合には(ステップS160でYの場合)、顔の大写し(アップ)の度合いが所定の基準を満たしているかいなか判定し、満たしている場合には(ステップS170でYの場合)、所定の位置関係にある複数の顔を一体として示す特別仕様の第3のカーソル画像を確認画像に表示する(ステップS180)。
また顔の大写し(アップ)の度合いが所定の基準を満たしていない場合には(ステップS170でNの場合)、所定の位置関係にある複数の顔を一体として示す第2のカーソル画像を確認画像に表示する(ステップS190)。
また顔に対応する判定用矩形が所定の位置関係にある場合には(ステップS160でNの場合)、複数の顔を個別に示す第1のカーソル画像を確認画像に表示する(ステップS200)。
この様にするとことで、顔位置の変化にリアルタイムに対応したカーソル画像を表示することができる。そして、顔が所定の位置関係になると、カーソルが一体化するので、ユーザは、確認画像を見ながら位置合わせすることでユーザの顔が近づくように自然に誘導することができる。またユーザの顔のアップ度合いが増すと、特別仕様の第3のカーソルが表示されるので、ユーザの顔のアップ度が増す方向に自然に誘導することができる。
7.自動アップ機能と切り取り合成機能
図16は、本実施の形態の自動アップ機能について説明するための図である。
本実施の形態の自動アップ機能は、編集用の画像を提供する際に提供される機能であり、撮影中に発生する取り込みタイミングにおいて取り込まれた取り込み画像400に対して自動アップ処理が行われる。ここで取り込み画像400は、撮像部によって撮影された撮影画像でもよいし、当該撮影画像から背景を抜き取った背景抜き取り画像と所与の背景画像を合成した合成画像でもよい。取り込み画像は、取り込みタイミングに表示されている確認画像に対応している。
取り込み画像400(撮影画像でもよいし合成画像でもよい)における被写体の顔の位置を示す顔位置データ(302−1、304−1、306−1、308−1の座標値)、(302−2、304−2、306−2、308−2の座標値)を取得し、顔位置データに基づき、取り込み画像400において、被写体の顔を含み縦横が所定の設定比率の長方形の領域を切り取り領域410として決定し、切り取り領域410の画像に基づき提供画像420を生成する。
顔位置データは、例えば図16に示すように各顔212−1、212−2に対応して設定された顔矩形300−1、300−2の頂点データ(302−1、304−1、306−1、308−1の座標値)、(302−2、304−2、306−2、308−2の座標値)で与えられてもよい。そしてこの顔位置データに基づき各顔に対応する判定用矩形(図示せず)を設定し、当該判定用矩形に基づき、縦横が所定の比率の切り取り領域410を設定してもよい。
図16のように複数の被写体が近接して撮影されている場合には、複数の被写体を一体として1つの切り取り領域を設定する。この様にして設定された切り取り領域に基づき編集用の画像を生成することで複数の被写体のアップになった提供画像を提供することができる。
図25は、複数の顔を含む切り取り領域を設定する場合について説明するための図である。同図は図16のように複数の被写体の顔212−1、212−2は近接していないが、このような場合でも複数の被写体の顔212−1、212−2を含む1つの切り取り領域を設定してもよい。
取り込み画像400(撮影画像でもよいし合成画像でもよい)における被写体の顔212−1、212−2の位置を示す顔位置データ(302−1、304−1、306−1、308−1の座標値)、(302−2、304−2、306−2、308−2の座標値)、又は前記顔位置データによって特定される複数の顔矩形300−1、300−2に基づき、複数の顔又は顔矩形を含み、縦横が所定の設定比率の長方形の領域を切り取り領域410として決定し、切り取り領域410の画像に基づき提供画像420を生成してもよい。
なお図25では、前記撮影画像又は前記合成画像に対して複数の顔を含む切り取り領域を1つ設定する場合を例にとり説明したが、これに限られず、複数の顔を含む切り取り領域を複数設定してもよい。例えば前記撮影画像又は前記合成画像がl(l=n+m)個の顔を含む場合には、n個の顔を含む切り取り領域とm個の顔を含む切り取り領域を設定してもよい。また複数の顔を含む切り取り領域(例えばn−1個の顔を含む切り取り領域)と1個の顔を含む切り取り領域を設定してもよい。
図17は、本実施の形態の切り取り合成機能について説明するための図である。
図17の取り込み画像400は、図16のように複数の被写体が近接していないので、複数の被写体を一体として1つの切り取り領域を設定すると、切り取り領域に占める被写体の顔部分の面積が小さくなり、複数の被写体の顔がアップになった提供画像を生成することができない。
そこでこの様な場合には、複数の顔に対応する顔位置データ(302−1、304−1、306−1、308−1の座標値)、(302−2、304−2、306−2、308−2の座標値)に基づき、複数の顔に対して個別に切り取り領域410−1、410−2を決定する。
顔位置データは、例えば図17に示すように各顔212−1、212−2に対応して設定された顔矩形300−1、300−2の頂点データ(302−1、304−1、306−1、308−1の座標値)、(302−2、304−2、306−2、308−2の座標値)で与えられてもよい。そしてこの顔位置データに基づき各顔に対応する判定用矩形(図示せず)を設定し、当該判定用矩形に基づき、顔212−1、212−2毎に縦横が所定の比率の切り取り領域410−1、410−2を決定してもよい。
そして複数の切り取り領域410−1、410−2の画像を合成して提供画像420を生成する。この様にすることで複数の被写体が近接していない場合でも各被写体がアップで近接している提供画像を生成することができる。
この様に本実施の形態では、取り込み画像(撮影画像又は前記合成画像)が複数の顔を含む場合には、複数の顔に対応する顔位置データに基づき複数の顔が所定の位置関係にあるか否か判断し、所定の位置関係にないときは、図17に示すように複数の顔に対して個別に切り取り領域を設定し、複数の切り取り領域の画像を合成して提供画像を生成する。また複数の顔が所定の位置関係にあるときは図16に示すように複数の顔を含む1つの切り取り領域を設定し、1つの切り取り領域の画像に基づき提供画像を生成するようにしてもよい。
ここで複数の顔が所定の位置関係にあるか否かについては、図7〜図9で説明した手法と同様の手法により行うことができる。すなわち顔位置データに基づき各顔に対応する判定用矩形(長方形)を設定し、当該判定用矩形に基づき、複数の顔が所定の位置関係にあるか否か決定することができる。図9(A)に示すように顔位置データが各顔に対応して設定された矩形の頂点データで与えられる場合、図9(B)に示すように当該矩形に外接し、縦横の辺が撮影画像又は合成画像の縦横の辺に平行な矩形を判定用矩形として設定してもよいし、図9(C)に示すように当該矩形に所定のオフセット領域を付加した矩形を判定用矩形として設定してもよい。
図18(A)(B)は切り取り領域の縦横比率について説明するための図である。
本実施の形態では、切り取り領域は、被写体の顔を含み縦横が所定の設定比率の長方形となる。縦横の所定の比率は予め設定されている場合でもよいし、外部からの設定入力や所定のパラメータの変化に伴い変更可能に設定されている場合でもよい。
ここで縦横の所定の比率がa:bで設定されている場合、図18(A)に示すように1つの切り取り領域420を設定する場合には、当該1つの切り取り領域420の縦横比率はa:bとなる。
また図18(B)に示すように2つの切り取り領域420−1、420−2を設定する場合には、当該2つの切り取り領域420−1、420−2の縦横比率はa:b/2となる。
この様にn個の顔に対して個別に切り取り領域を設定する場合には、各切り取り領域となる長方形の横の比率を、複数の顔を含む1つの切り取り領域を設定する場合の1/nの値に設定して、n個の切り取り領域の画像を横方向に配置して、提供画像を生成してもよい。
8.切り取り領域の設定
図19(A)〜(F)は、切り取り領域の設定手法の一例について説明するための図である。
図19(A)は、各顔212−1、212−2に対応して与えられた顔位置データ(頂点302−1、304−1、306−1、308−1の座標値、頂点302−2、304−2、306−2、308−2の座標値)に基づき顔矩形300−1、300−2を設定した様子を示している。
図19(B)は、各顔矩形300−1、300−2に対し、各顔矩形300−1、300−2に外接し、縦横の辺が取り込み画像400(撮影画像又は合成画像でもよい)の縦横の辺に平行な矩形(第2の顔矩形)320−1、320−2を設定した様子を示している。これを判定用矩形として設定してもよい。
図19(C)は、第2の顔矩形320−1、320−2に所定のオフセット領域を付加した矩形(第3の顔矩形)330−1、330−2を設定した様子を示している。これを判定用矩形として設定してもよい。
図19(D)では、各顔の判定用矩形(ここでは第3の顔矩形330−1、330−2)に基づき、複数の顔が所定の位置関係(判定用矩形が重なっている)にあると判断し、二つの顔一体として切り取るための1つの切り取り領域を設定するため矩形(第4の矩形)350を設定する様子を示している。
図19(E)は、第4の矩形350に対して縦横比がa:bになるように拡張した矩形(第5の矩形)360を設定する様子を示している。ここで上に所定ピクセル分の余白を設けるようにしてもよい。
図19(F)は、第5の矩形360に基づき生成した提供画像を示している。取り込み画像から第5の矩形360を切り取り領域として設定し、切り取り領域の画像を切り取り、所定のサイズに拡大処理を施して提供画像420を生成してもよい。
図20(A)(B)は、切り取り領域が複数になる場合について説明するための図である。図20(A)に示すように、各顔の判定用矩形330−1、330−2が重なっていない場合には、複数の顔が所定の位置関係にないと判断し、二つの顔を個別に切り取るための2つの切り取り領域410−1、410−2を設定する。
そして図20(B)に示すように2つの切り取り領域410−1、410−2の画像を切り取り、合成して(つなぎ合わせて)、拡大して提供画像を生成する。
図21(A)(B)は、切り取り領域が1つの横長の提供画像を生成する場合について説明するための図である。図21(A)に示すように、各顔の判定用矩形330−1、330−2が重なっているので、複数の顔が所定の位置関係にあると判断し、二つの顔を一体として切り取るための1つの横長の切り取り領域410’を設定する。ここでは切り取り領域の縦横比a:b(a<b)が横長に設定されている。
そして図21(B)に示すように1つの切り取り領域410’の画像を切り取り拡大して提供画像を生成する。
図22(A)(B)は、切り取り領域が複数になる場合について説明するための図である。図22(A)に示すように、各顔の判定用矩形330−1、330−2が重なっていない場合には、複数の顔が所定の位置関係にないと判断し、二つの顔を個別に切り取るための2つの切り取り領域(図20(A)の場合より、縦横比が横長になっている)410’−1、410’−2を設定する。
そして図22(B)に示すように2つの切り取り領域410’−1、410’−2の画像を切り取り、合成して(つなぎ合わせて)、拡大して提供画像を生成する。ここでは切り取り領域の縦横比a:b(a<b)が横長に設定されている。
図23は、本実施の形態の提供画像について説明するための図である。
撮影処理が終了すると、撮影画像又は合成画像が取り込み画像として記憶され、ユーザは取り込み画像から所望の画像を選択して、「落書き」やデコレーション等の編集を行うことができる。
本実施の形態では、取り込み画像(撮影画像又は合成画像)510、520とこれらのそれぞれに対応して生成された提供画像512、522を表示部に一覧表示して、ユーザが所望の画像を選択できるようにする。このようにすることで、ユーザは取り込み画像自体510、520を選択することもできるし、取り込み画像に対して自動アップ処理が施された画像522や切り取り合成処理が施された画像512を選択することもでき、ユーザの嗜好に合わせた多様な選択が可能となる。
図24は、自動アップ又は切り取り合成を行い提供画像を生成する処理の流れを示すフローチャートである。
この処理は取り込み画像(撮影画像、又は当該撮影画像から背景を抜き取った背景抜き取り画像)に対して行われる。
まず取り込み画像の顔位置データを取得する(ステップS210)。そして顔位置データに基づき、顔に対応する判定用矩形を求める(ステップS220)。顔位置データに基づき取り込み画像が複数の顔を含むか否か判断し、含まない場合(ステップS230でNの場合)にはステップS250の処理にいく。含む場合(ステップS230でYの場合)には、判定用矩形が所定の位置関係にあるか否か判断し、所定の位置関係にある場合(ステップS240でYの場合)には、複数の顔を一体として切りとるための第1の縦横比(a:b)の1つ切り取り領域を設定し(ステップS250)、設定された1つ切り取り領域の画像に基づき提供画像を生成する(ステップS260)。所定の位置関係にない場合(ステップS240でNの場合)又は、取り込み画像が複数の顔を含まない場合(ステップS230でNの場合)には、複数(n個)の顔を個別に切り取るための第2の縦横比(a:b/n)のn個の切り取り領域を設定し(ステップS270)、設定されたn個の切り取り領域の画像を合成して編集用画像を生成する(ステップS280)。
上記実施の形態では、撮影装置が、業務用の写真印刷装置を例にとり説明したがこれに限られない。例えば、写真撮影装置や写真シール印刷装置でもよいし、撮影機能を搭載した情報機器(携帯電話等の携帯用通信機器や、携帯用ゲーム機や、携帯情報端末や、パーソナルコンピュータ等)でもよいし、例えば電子カメラ等の撮影装置でもよい。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、携帯型ゲームシステム、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。