以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
(実施の形態1)
図1は、実施の形態1における撮影遊戯機の外観を示す斜視図である。撮影遊戯機は全体として、複数のユーザが入り込むことが可能な箱型の装置である。撮影遊戯機は、おおまかに撮影エリアA及び編集エリアBに分けることができ、夫々のエリアA,Bに複数の機器が設けられて構成される。
撮影エリアAには、事前接客部1及び撮影部2に係る機器が設けられている。事前接客部1は撮影エリアAの外側に向けて設けられているコイン投入口、ディスプレイ及びスピーカ等を含んで構成されており、本実施の形態の撮影遊戯機についてのアピール画像及び音声を出力し、ユーザの撮影前のコインの投入を受け付ける。撮影部2は、撮影エリアA内部の壁面に内側に向けて設置されているカメラ21、ディスプレイ22、照明装置群23、及びスピーカ24(図2参照)を含んで構成されており、ユーザに撮影ガイドを表示し、音声で案内しながら複数回に分けて画像を撮影し、撮影画像を編集部へ送信する処理を行なう。
編集エリアBには、第1編集部3a、第2編集部3b(図2参照)及び印刷部4に係る機器が設けられている。第1編集部3aは編集エリアBの中央部に操作画面表示用のマルチタッチパネル式のディスプレイ30aをユーザが操作しやすい高さに露出させた装置を含んで構成されている。第1編集部3aは更にスピーカ33a及び照明装置、並びにディスプレイ30a用のタッチペン31a,32a(図2参照)を備えている。第1編集部3aは、ユーザを撮影した撮影画像に対する落書き操作をディスプレイ30a及びタッチペン31a,32aにて受け付け、受け付けられた操作に対応する画像処理を実現する。第2編集部3bは第1編集部3a同様に構成され(図示省略)、第1編集部3aと背中合わせの位置に設けられている。印刷部4は、編集エリアBの第1編集部3a、第2編集部3bを含む装置の筐体内に設けられるプリンタを含んで構成され、画像処理後の画像が印刷された写真シールシートを筐体の表面に露出している吐き出し口から吐き出す。
図2は、実施の形態1における撮影遊戯機の構成を示すブロック図である。撮影遊戯機は、撮影エリアA及び編集エリアBにおけるユーザから視認可能な範囲に上述の事前接客部1、撮影部2、第1編集部3a、第2編集部3b及び印刷部4を備えている。また撮影遊戯機は、撮影エリアA内の壁面に隠された箇所、又は編集エリアBの装置の筐体内部等のユーザから視認不可能な位置に、通信部5と制御機構とを備えている。
通信部5は、インターネット等の外部ネットワークに接続しており、撮影された画像を含むデータの送受信を実現する。通信部5は制御機構に接続されており、制御機構は通信部5を介して外部ネットワーク上のサーバ装置と通信し、データの送受信を行なうことが可能である。本実施の形態における撮影遊戯機では、通信部5が撮影によって得られた画像データを撮影遊戯機のメーカが管理するサーバ装置へ送信する。これによりユーザは、所謂スマートフォン、タブレット端末、PC(Personal Computer )等の情報端末装置を用いてサーバ装置上の自身の撮影画像を閲覧、又は取得することが可能である。
制御機構は、上述の各ハードウェアが接続されており、各々へ制御信号を伝送するバス100を含む制御基板と、該制御基板に接続されており、各ハードウェアを制御する制御部6及び画像処理を主に行なう画像処理部7と、各ハードウェアに電力を供給する図示しない電源部とに構成される。制御部6及び画像処理部7は、1つのPCで構成されてもよいが、以下の説明では第1編集部3a及び第2編集部3bにおける落書き操作に対応して実行される画像処理部7による処理について主に説明するため、制御部6及び画像処理部7は異なるPCに分別されるものとして説明する。
制御部6は、CPU(Central Processing Unit )60と、メモリ61と、HDD(Hard Disk Drive)62と、キャプチャ・クロマキーボード63とを含む。メモリ61はDRAM(Dynamic Random Access Memory)又はSDRAM(Synchronous DRAM)等のRAMを用い、HDD62に替えてフラッシュメモリ、又はSSD(Solid State Drive )等の他の不揮発性記憶装置を用いてもよい。
CPU60は、HDD62に記憶されている制御プログラム6Pを読み出し、メモリ61に各種情報を読み書きしながら前記制御プログラム6Pを実行することにより、主に、事前接客部1及び撮影部2の各ハードウェアを制御する。
CPU60は、キャプチャ・クロマキーボード63が、撮影部2にてカメラ21から得られるモニタ用の映像信号を入力するように制御する。CPU60は、キャプチャ・クロマキーボード63経由にて撮影中の映像信号に含まれる各フレームの画像データを取得し、取得した画像データに基づいてライブ画面用の画像の映像信号を作成する。CPU60は作成したライブ画面用の映像信号をディスプレイ22へ出力する。
そしてCPU60は、撮影部2のカメラ21による静止画の撮影と、照明装置群23によるフラッシュ点灯とを同期させて撮影を行なう。なおCPU60は、カメラ21による撮影を複数回実行する。CPU60は撮影により得られる複数の画像データをカメラ21から取得し、夫々を区別できるように識別情報を付与して画像処理部7へ出力する。
HDD62は、CPU60が参照する各種情報を記憶している。HDD62は、CPU60が実行する制御プログラム6Pを予め記憶している。HDD62は、制御プログラム6Pのほかに、事前接客部1のディスプレイ、及び撮影部2のディスプレイ22に表示させるための画像及びフォントデータ、スピーカから出力させる音声及び音楽等のデータを予め記憶している。
キャプチャ・クロマキーボード63は、キャプチャ機能及びクロマキー機能を有する回路基板である。キャプチャ・クロマキーボード63は、映像信号からフレームの画像データを取得して静止画像として出力するキャプチャ機能を有する。またキャプチャ・クロマキーボード63は、静止画における所定の色の画像を透明化して出力するクロマキー機能を有する。CPU60は、キャプチャ・クロマキーボード63が出力する静止画像に基づき撮影部2のディスプレイ22に表示するライブ画面用の画像の画像信号を作成する。
画像処理部7は、CPU70と、メモリ71と、HDD72と、グラフィックボード73とを備える。メモリ71は、DRAM又はSDRAM等のRAMを用いる。
CPU70は、HDD72に記憶されている画像処理プログラム7Pを読み出し、メモリ71に各種情報を読み書きしながら前記画像処理プログラム7Pに基づく画像処理を実行する。CPU70は、制御部6のCPU60から出力された画像データを、付与されている識別情報と共にメモリ71又はHDD72に記憶し、該画像データを基に加工処理を行なう。加工処理には、画像中の人物の顔を小顔にする加工、顔の頬部分の色味を明るくする(チーク)加工、髪に艶を出す加工、髪色を明るくする加工、目を大きくする加工、体のラインを細く見せるための加工、脚を長く見えるようにする加工等、種々の加工が含まれる。CPU70は、加工の種類毎に複製した画像データをメモリ71又はHDD72に記憶し、各画像データに加工処理を実行し、加工前の画像データとは別に、加工後の各画像データをメモリ71又はHDD72に記憶する。
更にCPU70は、メモリ71又はHDD72に記憶された上述の加工処理前の画像データ及び加工処理後の画像データに基づき、第1編集部3a又は第2編集部3bにて落書き操作を受け付ける。CPU70は、受け付けた落書き操作の内容に応じて、後述する落書き操作画面内のプレビュー表示部に表示する画像を適宜作成し、第1編集部3a又は第2編集部3bのディスプレイへ出力する。そしてCPU70は、落書き操作画面にて確定した落書き内容に応じて合成画像データを作成する。落書き操作の受け付け、これに応じたプレビュー表示部に表示する画像の作成、及び合成画像データの作成については詳細を後述する。更にCPU70は、印刷部4に、作成された合成画像データに基づく画像を写真シールシートに印刷出力させる処理、通信部5から合成画像データ又は合成処理前(落書きなし)の画像データを通信部5から送信する処理を実行する。
HDD72は、CPU70が参照する各種情報を記憶する。HDD72は、CPU70が実行する画像処理プログラム7Pを予め記憶している。HDD72は、第1編集部3a及び第2編集部3bのディスプレイに表示する画像、落書き用の素材画像、テクスチャ情報、フォントデータ、スピーカから出力させる音楽及び音声等のデータを予め記憶している。更にHDD72には後述する「HENSHIN」テーマに対応する複数の装飾画像及びそれに対応する設定情報が予め記憶されている。またHDD72には、受け付けた落書き操作に応じた画像処理により得られた画像データ、及び合成処理後の画像データが記憶される。
グラフィックボード73は、入力した画像データ及び描画命令に基づいて画像を描画し、描画した画像の画像データを出力するハードウェアである。CPU70は、制御部6から取得して記憶した画像データに対する画像処理を、グラフィックボード73を用いて行なう。具体的には、CPU70は画像データと、目的の画像を得るための描画命令とをグラフィックボード73に与えて処理を行なわせ、描画処理によって得られた画像データをグラフィックボード73内蔵のメモリから取得する。描画処理には、拡縮、回転、移動等の変形機能、クロマキー機能、トリミング機能、α化機能、明度又は色調変更等の調整機能、フィルタ機能、合成機能等が含まれる。
図3及び図4は、実施の形態1の撮影遊戯機にて実行される全体処理の一例を示すフローチャートである。なお、制御部6にて行なわれる処理手順と、画像処理部7にて行なわれる処理手順とに分けて説明する。図3及び図4のフローチャートに示す処理手順は、事前接客部1にてコイン投入、又はプレイ開始の操作を受け付けた場合に制御部6のCPU60がこれを検知して開始する。
まずCPU60は、撮影エリアAの空き状況を確認した上で、撮影エリアAが空いている場合には内部へ移動を促す案内画面を事前接客部1のディスプレイに表示させると共に案内音声を出力させる(ステップS101)。このときCPU60は事前接客部1にて、ユーザの人数(1人、2人、又は3人以上の多人数かの選択)、及び、名前の入力を受け付けるようにしてもよい。
CPU60は、撮影エリアA内にて撮影部2のディスプレイ22に、撮影内容の案内画面を表示させると共に案内音声及びBGMをスピーカ24から出力させる(ステップS102)。このとき案内画面には、撮影部2のカメラ21のモニタ出力に基づくライブ映像が含まれる。
CPU60は、制御部2のカメラ21及び照明装置群23を制御して複数回の撮影を実行する(ステップS103)。このときCPU60は撮影の回毎に、全身撮影なのか、胸から上の範囲のアップ撮影なのかを区別してカメラ21及び照明装置群23を制御する。CPU60は、各回の撮影によりカメラ21から得られる画像データを回毎に識別することが可能にHDD62に記憶する(ステップS104)。
撮影が完了するとCPU60は、編集エリアBの空き状況を確認した上で、空いている場合には編集エリアBの第1編集部3a又は第2編集部3bのいずれかへの移動を促す案内画面をディスプレイ22に表示させると共に、案内音声をスピーカ24から出力させ(ステップS105)、制御部6における処理を終了する。
次に画像処理部7による処理へ移行する。なお以下では、第1編集部3a及び第2編集部3bの内、第1編集部3aへユーザが移動を促されて落書き操作を行なう場合を例として説明する。第2編集部3bにおける処理内容も同一であるから詳細な説明を省略する。
画像処理部7のCPU70は、制御部6にてHDD62に一旦記憶された複数の画像データを取得し、HDD72又はメモリ71に記憶する(ステップS106)。このときCPU70は、制御部6から送信される画像データを受信する構成としてもよいし、CPU70がHDD62へアクセスが可能に設定されており、HDD62から読み出す構成としてもよい。
CPU70は、取得した複数の画像データ夫々に対し、1又は複数の人物被写体領域を抽出する処理を実行する(ステップS107)。ステップS107における抽出処理は詳細には、画像データを与えられたグラフィックボード73が、画像データに基づく人物被写体領域に対応する画素(所定の背景色の画素以外)をα化(透明化)したマスク画像の画像データの画像データを作成することで実現される。
次にCPU70は、複数の画像データ夫々について、ステップS107の抽出処理によって抽出された人物被写体領域に対して顔認識処理を実行し、画像内における顔領域を特定する(ステップS108)。ステップS108の顔認識処理においては、CPU70は肌色検出、テンプレートマッチング等の種々の既存技術を用い、顔の輪郭、目、鼻、及び口などの各器官領域、その他顔の中の特徴的な箇所の位置及び範囲を、画像中の対応画素の座標の情報によって特定する。具体的には、目であれば目頭、目尻、上瞼輪郭上の複数の箇所、及び下瞼輪郭上の複数の特徴点の座標が夫々特定され、特定された座標の情報がメモリ71又はHDD72に画像データと共に記憶される。また口であれば、両端即ち口角、口領域の中心、並びに、上唇及び下唇別の輪郭上の複数の特徴点の座標が夫々特定され、座標の情報が記憶される。他には、こめかみ、鼻頭等の位置を特定する座標の情報が記憶される。
次にCPU70は、ステップS108にて特定された顔領域に対し、画像内における奥行の順序を付与する(ステップ109)。ステップS109の詳細は後述する。CPU70は、複数の画像データ別に、抽出された人物被写体領域、特定された顔領域、並びに顔領域内の各器官領域に対する加工処理を実行する(ステップS110)。ステップS110にて具体的には、CPU70は、複数回の撮影で得られた画像データ夫々に対し、撮影の方法(アップ撮影又は全身撮影等)に適した加工処理を行なう。また加工処理には上述したように、顔を小顔にする加工、顔の頬部分の色味を明るくする(チーク)加工、髪に艶を出す加工、髪色を明るくする加工、目を大きくする加工、体のラインを細く見せるための加工、脚を長く見せる加工等が含まれる。
CPU70は、落書き操作画面を第1編集部3aのディスプレイ30aに表示させると共に、案内音声及び音楽をスピーカ33aから出力させる(ステップS111)。そしてCPU70は、落書き操作画面上でディスプレイ30a及びタッチペン31aにより、各種落書き操作を受け付ける(ステップS112)。落書き操作の受け付け処理についても詳細を後述する。
CPU70は更に、合成後の撮影画像の写真シールシートのデザイン及びそのレイアウト等の選択を受け付ける(ステップS113)。CPU70は、ステップS112で受け付けた落書き操作、ステップS113で受け付けたレイアウトに基づき、合成処理を実行する(ステップS114)。ステップS114においてCPU70は各画像データに基づく画像に対する加工処理後の画像に、落書き操作にて受け付けた各種文字及び画像を夫々合成し、合成後の各画像を選択された写真シールシートに対応する背景画像に配置し、必要に応じて前景画像を配置して1つの画像データとする合成処理を実行する。
CPU70は、合成処理後の写真シールシートのプレビュー含む画面をディスプレイ30aに表示させる(ステップS115)。CPU70は、印刷部4のプリンタが使用中であるか否かを確認した上で、使用中でない場合に印刷部4のプリンタにて写真シールシートの印刷出力を開始させる(ステップS116)。印刷出力処理が行なわれている間に、CPU70は、撮影された複数の画像の内、ユーザの情報端末装置から入手可能とする画像の選択、情報の送信先アドレスの入力等の操作を第1編集部3aのディスプレイ30aにて受け付ける(ステップS117)。CPU70は、受け付けた操作に応じて選択された画像の画像データを外部サーバ装置へ送信する(ステップS118)。CPU70は印刷出力処理が終了するまで、第1編集部3aのディスプレイ30aにゲーム待機中画面を表示し、印刷出力処理が完了した場合には印刷部4の前への移動を促す案内画面を表示させると共に、案内音声を出力させて(ステップS119)、処理を終了する。
図5は、奥行順序付与の処理手順の一例を示すフローチャートである。即ち図5のフローチャートに示す処理手順は、図3及び図4のフローチャートにおけるステップS109の詳細に対応する。CPU70はまず、複数の顔領域が特定されているか否かを判断する(ステップS201)。ステップS201にて否と判断された場合(S201:NO)、以後の処理は省略され、CPU70は、図3及び図4のフローチャートにおけるステップS110へ処理を進める。
ステップS201にて特定されていると判断された場合(S201:YES)、CPU70は、1つの顔領域を選択する(ステップS202)。なおこの際の選択は、画像認識処理にて夫々を識別するために付与された識別情報、例えば数字の昇順又は降順、又はアルファベットである場合にはそのアルファベット順又は逆順に選択すればよい。
CPU70は、選択した顔領域について特定されている各器官領域の内、こめかみ間の距離を算出し(ステップS203)、全顔領域について算出したか否かを判断する(ステップS204)。ステップS204にて算出していないと判断された場合(S204:NO)、CPU70は処理をステップS202へ戻して次の顔領域を選択する。
ステップS204にて算出したと判断された場合(S204:YES)、CPU70は、全顔領域夫々の識別情報に、算出された距離が短い順に順序を付与し(ステップS205)、処理を図3及び図4のフローチャートにおけるステップS110へ処理を進める。ステップS205においては、各顔領域の識別情報を距離が短い順にソートしてメモリ71を記憶するのみであってもよい。
図5のフローチャートに示した手順について、具体例を示して説明する。図6は撮影画像の一例を線図で示す説明図であり、図7は、顔認識処理の結果を撮影画像上に示す説明図である。図7においては、顔に対応する輪郭点、及び器官領域の特徴点の内の代表的に示しており、その横に、顔認識処理にて付与された夫々の点の所属を示す識別情報「A」「B」を示している。
CPU70は、図7に示されている顔認識処理の結果における各器官領域を区別して示される輪郭に対応する座標点(F1〜F18)から、こめかみに対応する座標点(図7中のF3、F17)を抽出し、その座標点間の距離を算出する(S203)。図7に示す例に対し、CPU70は、顔領域Bにおけるこめかみ間の距離が最も短いと判断して最も高い順序を付与するので、結果として、図6及び図7中、右側の人物被写体に対応する顔領域Bに順序「1」を付与し、他方の左側の人物被写体に対応する顔領域Aに順序「2」を付与する。
これにより、撮影により得られた画像データに基づく画像に、複数の人物被写体が含まれる場合、CPU70は以後、画像中の人物被写体の重なりの順序を付与された順序によって特定することが可能である。撮影画像中の人物被写体が複数であって密接したポーズ、例えば顔が上下に並ぶように、前後に重なって撮影した場合に、人物被写体夫々に重ねる装飾画像間の重なりが人物被写体間の重なりの順と矛盾するときには、その画像は違和感を生じさせる。装飾画像として着ぐるみ、被り物のような顔領域以外を覆うような面積が比較的大きい装飾画像を重畳させる場合には特に、装飾画像同士が重なりやすい。装飾画像を重畳させることで装飾画像同士が重なる場合であっても、ステップS109の奥行順序の付与により、装飾画像同士の重なりをできる限り人物被写体同士の重なりの順に合致させることができ、出来る限り違和感を生じさせない画像を提供することができる。
なおステップS109の処理内容についても必ずしも図5のフローチャートに示した手順を行なう必要はない。こめかみ間の距離には限らず、CPU70はその他の特徴点間の距離(鼻頭又は目を通る線の輪郭との2つの交点間の距離等)を比較するようにしてもよい。撮影毎に、画像内の被写体との距離を複数箇所で測定して、顔領域に対応する前後の順序を推定するようにしてもよい。更にステップS109においてCPU70は、画像内の画素の走査順等に応じて適宜付与するようにしてもよい。ステップS109の処理自体は省略されてもよく、この場合、画像認識処理にて夫々を識別するために付与された識別情報の値(又は文字)が以後、順序として利用される。
次に、ステップS112における落書き操作の受け付けについて説明する。図8は、落書き操作画面の内容例を示す説明図である。図8に示す落書き操作画面は、第1編集部3aのディスプレイ30aに表示され、ユーザはタッチペン31a,32aによって落書き操作画面上で各種選択、画像の移動及び変形、手書き入力、並びに描画等の操作を行なうことができる。第2編集部3bにおける落書き操作についても同様であるので詳細な説明を省略する。
落書き操作画面は、ユーザを人物被写体として撮影した画像のプレビュー表示部301,302を左右に有している。プレビュー表示部301,302に表示されている画像は夫々、所定の画像処理(図3,4におけるステップS110)後の画像であり、プレビュー表示部301,302上で手書き入力等の操作が各別に受け付けられる。落書き操作画面は、プレビュー表示部301とプレビュー表示部302との間の中央部に、手書き入力用のペンの色、ペン種、ペンの太さを夫々選択するためのペンパレット部303を有する。ペンパレット部303においては、プレビュー表示部301上で操作するためのタッチペン31aからの選択操作と、プレビュー表示部302上で操作するためのタッチペン32aからの選択操作とを夫々識別して受け付ける。またペンパレット部303には、選択されたペンの色、ペン種及び太さによる手書き文字のサンプルを表示するためのペンプレビュー部3031及びペンプレビュー部3032が含まれる。
落書き操作画面には、プレビュー表示部301及びプレビュー表示部302の下方に夫々対応するように、予め記憶されているスタンプ画像及びメッセージ画像などの素材画像を選択するためのスタンプパレット304が含まれる。スタンプパレット304は夫々、プレビュー表示部301,302に表示されている2つのプレビュー画像に対して重畳させるスタンプ等の画像のカテゴリーを選択するためのタブ選択部101を有している。タブ選択部101には実施の形態1においては「SPECIAL」「STAMP」「MESSAGE」及び「MAKE」の例えば4種類のタブが選択可能に表示されている。「SPECIAL」は特別なイベント期間又は季節に関連付けられている特別な素材の選択を受け付ける画面を表示するためのタブである。「STAMP」は予め記憶してあるイラスト等の画像を選択する画面を表示するためのタブである。「MESSAGE」は予め記憶してある文字を含むメッセージ画像を選択する画面を表示するためのタブである。「MAKE」はHDD72に記憶されているメイク用情報に基づく画像の選択を受け付ける画面を表示するためのタブである。
図8に示す落書き操作画面では、プレビュー表示部301,302と対応する両方のタブ選択部101で「MAKE」のタブが選択されている場合の内容例が示されている。「MAKE」のタブが選択されている場合のスタンプパレット304は、各プレビュー表示部301,302に夫々対応するメイクパレット310を有している。
メイクパレット310は上部に、メイク選択部102を含む。メイク選択部102は、メイクパレット310の上部に位置する複数のメイクの種類に応じた複数のボタンから構成される。図8に示す例では、メイクの種類は「ワンタッチ」、「リップ」、「チーク」、「カラコン」、「つけまつげ」及び「ヘアカラー」がある。
図8に示すようにプレビュー表示部301,302に対応するメイクパレット310にはいずれも、メイク選択部102で「ワンタッチ」が選択された場合に表示される内容例が示されている。「ワンタッチ」が選択されている場合、メイクパレット310の下部には、顔サンプル表示部103、個別選択部104、全員選択部105が表示される。またこの場合は更に、異なるテーマに夫々対応したテーマ選択アイコン711、選択されたテーマにおける種別を選択するための種別アイコン712、及びワンタッチメイクを消去するOFFボタン713が配置される。
顔サンプル表示部103は、選択対象の素材のサンプル画像、又は複数の画像データに対して抽出された顔領域を含む矩形領域の画像が表示される画像である。個別選択部104及び全員選択部105は、プレビュー表示部301(又はプレビュー表示部302)に表示されている画像中に複数の顔領域が含まれるとき、該複数の顔領域の内の1つを素材画像の自動配置対象とするか(個別)、又は全顔領域を自動配置対象とするか(全員)の切り替えを受け付けるボタンである。
テーマ選択アイコン711は、「CUTE」、「FES」及び「HENSHIN」の3つテーマに夫々対応するメイク及び装飾画像の選択ボタンである。「CUTE」が選択された場合には、「CUTE」のテーマに対応付けられたメイクが自動的に施され、更にはヘアアクセサリ画像が装飾画像として自動的に配置される。「FES」の場合も同様に、図8に示すような「花冠」の画像が装飾画像として自動的に頭部に配置されるなど、テーマに対応付けられたメイク及びヘアアクセサリ画像の配置が行なわれる。「HENSHIN」の場合も、「HENSHIN」のテーマに対応付けられたメイクが施され、対応する装飾画像が自動的に配置される。
なお「HENSHIN」のテーマ選択アイコン711は、種別アイコン712の選択に応じて、対応する装飾画像が切り替わる。実施の形態1における「HENSHIN」のテーマ選択アイコン711には、「ぴんく」、「白」及び「黒」の3つの種別が対応付けられており、種別に応じて装飾画像が切り替わる。「ぴんく」の種別に対応する装飾画像は、例えば「ふんわりガーリー」らしい淡いピンク系及びリボンを含む等のヘッドパーツの画像である。図8におけるプレビュー表示部301(左側)に対応するメイクパレット310では、種別として「黒」が選択されており、黒系のレースを用いる等の「大人カワイイ」雰囲気のヘッドパーツ画像が対応付けられていることが示されている。また図8におけるプレビュー表示部302(右側)に対応するメイクパレット310では種別として「白」が選択されており、ふんわりとした白いウサギのぬいぐるみの画像が対応付けられていることが示されている。このように、各テーマ選択アイコン711には異なる装飾画像が夫々個別に対応付けられており、テーマ選択アイコン711及び種別アイコン712の選択に応じて、1つの装飾画像が選択される。
以降の説明では、図6に示した画像が図8で示しているように、プレビュー表示部301に表示されている場合、即ち、図6の画像が落書き対象として選択されている場合を例に、以下の条件における落書き操作の受け付け処理について説明する。具体的には、タブ選択部101で「MAKE」が選択され、更にメイク選択部102にて「ワンタッチ」が選択され、更に、テーマ選択アイコン711にて「HENSHIN」が選択され、「白」の種別アイコン712が選択され、全顔領域を装飾画像の自動配置対象とすべく全員選択部105が選択されたときの画像処理部7による処理について詳細を説明する。他の種別アイコン712が選択された場合、他のテーマ(「CUTE」等)が選択された場合、そしてメイク選択部102で「ワンタッチ」以外が選択された場合、更にタブ選択部101にて他のタブが選択された場合の操作画面の構成及び落書き操作の受け付け処理については詳細な説明を省略する。また、個別選択部106が選択された場合の処理については後述する。
「HENSHIN」のテーマ選択アイコン711及び「白」の種別アイコン712の選択に応じて選択される装飾画像について詳細に説明する。図9及び図10は、装飾画像の一例を示す説明図である。図9は装飾画像の一例である画像Sを線図で示し、図10は画像Sに対応するマスク画像Mを線図で示している。図9に示すように、画像Sは、白いウサギの被り物(顔以外を覆うぬいぐるみ素材のもの)の画像を含み、背景が透明な矩形状の画像である。顔に対応する部分も透明化されている。これに対しマスク画像Mは、画像Sにおける顔に対応する部分に対応する範囲をマスク対象(透明化)とするための矩形画像である。
図9及び図10に示すように、画像Sは、顔領域の範囲(マスク画像Mの大きさ)よりも外側に大きくはみ出すような画像である。特に、ウサギの耳部分の領域は顔領域の外側の頭部領域の範囲の更に外側をも覆うような範囲を占める画像である。したがって、このような画像Sを、撮影により得られた画像(以下、撮影画像という)中の1つの人物被写体の顔領域に合わせて重畳させた場合、他の人物被写体に対応する範囲にも重複する可能性が非常に高い。この場合、顔が隠蔽されるためにユーザが落書き操作の結果に不満を感じる可能性がある。そこで実施の形態1において画像処理部7は、画像Sが対応する「白」の種別アイコン712及びテーマ選択アイコン711を選択する操作が行なわれた場合に、当該画像Sの重畳対象である人物被写体以外の人物被写体の顔領域への当該画像Sの素材画像部分の重複を回避する処理を実行する。
なおこれに対し、他の例えば図8のプレビュー表示部301(左側)に対応するメイクパレット310にて選択されている「黒」種別に対応するヘッドパーツ画像の場合、以下に説明するような重複を回避する処理は行なわないようにしてある。当該ヘッドパーツ画像の場合、一部が重複したとしても自然に見えるからである。このように、テーマ選択アイコン711及び種別アイコン712毎に、そのアイコン711,712の選択に対応する装飾画像を重畳させた場合に、装飾画像が他の顔領域上に重複したとしても回避する処理を行なうか否かが、個別に対応付けられている。
画像処理部7による重複回避処理について詳細に説明する。図11は、装飾画像を描画するためのレイヤの説明図である。図11に示すように、装飾画像は撮影画像よりも上方に位置する装飾画像用レイヤ上に描画される。これに対し、装飾画像に対応するマスクは装飾画像用レイヤと撮影画像との間に位置する装飾画像用マスクレイヤ上に描画される。図11に示すレイヤ間の位置関係を前提として、画像処理部7による装飾画像の描画処理の詳細を説明する。
図12及び図13は、画像処理部7による装飾画像の描画処理手順の一例を示すフローチャートである。以下に示す描画処理手順では、装飾画像として図9に示した画像Sを使用することを前提として説明する。
CPU70は、画像Sの重畳対象である撮影画像について、付与されてある順序に従って顔領域を選択する(ステップS301)。CPU70は、ステップS301で選択した顔領域の画素内の位置情報に基づき、重畳する画像Sの位置及び回転角度を算出する(ステップS302)。なおステップS302においては、顔領域の位置及び回転角度のみならず顔領域の大きさに応じて、画像Sの拡縮を行なうようにしてもよい。
CPU70は、ステップS302で算出された位置に、算出された角度で画像Sが配置された場合の画像Sの範囲内に対応することになる各画素について、画像S内の所定位置(例えば左下隅)から1画素毎に、所定の順に“注目画素”として選択し(ステップ303)、以下の処理を実行する。所定の順とは、左下隅を所定位置とすれば、右方向に順であり、右端まで到達した場合には1つ上のラインの画素について左端から順である。
CPU70は、装飾画像である画像S内の注目画素が、透明背景に属するか否か、即ち透明画素(α=画素値最大値)であるか否かを判断する(ステップS304)。ステップS304において透明画素であると判断された場合(S304:YES)、CPU70は処理をステップS308へ進める。
ステップS304において透明画素でないと判断された場合(S304:NO)、CPU70は、マスクレイヤにおける注目画素の位置、即ちステップS302で算出された位置に画像Sを配置した場合に注目画素の対応するべき位置(以下、注目画素位置)のα値を参照する(ステップS305)。CPU70は、参照したα値で装飾画像用レイヤにおける画像Sの注目画素の画素値を透過処理(α値の設定)する(ステップS306)。このときα値が0であれば透過無しで画像S中における素材画像(ウサギの被り物に対応)の画素値がそのまま装飾画像用レイヤの該当箇所の画素値になり、α値が画素値最大値(例えば255)であれば素材画像の画素値の値に関わらず、注目画素が描画されるべき装飾画像用のレイヤにおける画素(以下、描画対象画素)は透明になる。そしてCPU70は、α値に基づく透過処理後の画素値を、装飾画像用レイヤにおける描画対象画素(又はその位置)に対応付けて記憶する(ステップS307)。
CPU70は、画像S内に対応する全画素について当該処理を行なったか否かを判断する(ステップS308)。未処理の画素があると判断された場合(S308:NO)、CPU70は処理をステップS303へ戻し、次の画素に対する処理を実行する。
ステップS308において全画素について当該処理を行なったと判断された場合(S308:YES)、CPU70は次に進む。装飾画像用レイヤにおいて画像Sを配置する範囲全体に以上の処理を行なうことにより、描画中の画像Sの内、既に配置されている他の画像Sの重畳対象であった他の人物被写体の顔領域に重複する範囲が透過処理され、当該他の顔領域が重複して不可視となることが回避される。
次にCPU70は、描画対象としている画像Sに対応するマスク画像Mをマスクレイヤにおける画像Sと対応する位置に同一の角度で配置する(ステップS309)。ステップS309において具体的には、CPU70は、マスクレイヤ上における画像Sに対応する範囲内の各画素に、画像Sに対応するマスク画像M内の所定位置(例えば左下隅)から1画素毎に、マスク画像Mにおけるα値を書き込む。
CPU70は、配置したマスク画像Mの範囲内に対応することになる各画素について、マスク画像M内の所定位置(例えば左下隅)から1画素毎に、所定の順に“注目マスク画素”として選択し(ステップS310)、以下の処理を実行する。所定の順とはここでも、左下隅を所定位置とすれば、右方向に順であり、右端まで到達した場合には1つ上のラインの画素について左端から順である。
CPU70は、マスク画像Mにおける注目マスク画素のα値がゼロであるか否か、即ち透過させる画素であるか否か判断する(ステップS311)。ステップS311においてゼロであって不透明(くり抜き、透過対象外)とすると判断された場合(S311:NO)、CPU70は処理をステップS314へ進める。
CPU70は、ステップS311にて注目マスク画素が透過対象の画素と判断した場合(S311:YES)、装飾画像用レイヤにおける注目マスク画素に対応する位置、即ち算出された位置にマスク画像Mを配置した場合に注目マスク画素が対応すべき位置の画素値を、注目マスク画素のα値で透過処理する(ステップS312)。このときα値が0であれば、既に装飾画像用レイヤにて描画されている装飾画像の当該画素の画素値はそのままであるが、α値が画素値最大値(例えば255)であれば、既に描画されている装飾画像の内の当該画素は透明化(消去)される。α値が半透明に対応する階調値(例えば128)であれば、既に描画されている装飾画像の内の当該画素は半透明となる。これにより、ステップS301にて選択している顔領域内の画素が、既に描画されている装飾画像によって不可視となることを回避することができる。そしてCPU70は、α値に基づく透過処理後の画素値を、装飾画像用レイヤにおける描画対象画素(又はその位置)に対応付けて記憶する(ステップS313)。
CPU70は、マスク画像M内に対応する全画素について当該処理を行なったか否かを判断する(ステップS314)。未処理の画素があると判断された場合(S314:NO)、CPU70は処理をステップS310へ戻し、次の画素に対する処理を実行する。
ステップS314において全画素について当該処理を行なったと判断された場合(S314:YES)、CPU70は次に進む。
次にCPU70は、重畳対象である撮影画像について、全顔領域を選択したか否かを判断する(ステップS315)。全顔領域を選択していないと判断された場合(S315:NO)、CPU70は処理をステップS301へ戻す。
ステップS315にて全顔領域を選択したと判断された場合(S315:YES)、CPU70は、装飾画像用レイヤにおける描画対象画素(全画素)に対応付けて記憶されている画素値、及びマスクレイヤに対するマスク画像Mに基づいて、グラフィックボード73へ描画指示を実行し(ステップS316)、描画後の画像を取得し(ステップS317)、処理を終了する。
図12及び図13のフローチャートに示した処理手順について、具体例を示して説明する。図14は、重複回避処理の過程を示す説明図である。図14(1)は、図6に示した撮影画像に対し、付与されている順序に従ってステップS301にて1つ目に選択した顔領域「B」上に画像S(素材画像部分を符号S_1で示す)が重畳された段階における状態を示している。そして図14(2)は、ステップS301に戻って2つ目に選択した顔領域「A」上に画像S(素材画像部分を符号S_2で示す)が重畳される段階における状態を示している。
図14(1)の状態となるまでにCPU70は、まず装飾画像用レイヤにおける顔領域「B」上に対応する範囲に、画像Sの各画素の画素値を書き込む(対応付けて記憶する)処理(S305〜S307)を行なう。なお1つ目に選択した顔領域「B」に対する処理を行なっている時点では、マスクレイヤにはマスク画像Mは配置されていない。したがって、ステップS305でα値を参照したとしてもα値は設定されていない(透過対象でない)ので、CPU70はステップS306の処理を行なったとしても画素値に変化はなく、CPU70はステップS307において注目画素の画素値をそのまま記憶する。そしてCPU70は、マスクレイヤに対し、画像Sに対応するマスク画像M(透過対象範囲を符号M_1で示す)を配置する。
次に2つ目に選択した顔領域「A」上に、画像Sを重畳させる際に、その素材画像部分S_2に対応する画素の内、既に装飾画像用レイヤ上に配置された画像Sの素材画像部分S_1と重複する画素の画素値は、素材画像部分S_2の画素値にて上書きされる。これにより、1つ目の画像Sと2つ目の画像Sとの重なりが生じる。
そして図14(2)に示すように、重畳させる2つ目の画像Sの素材画像部分S_2の右側の耳部分(ハッチングで示す範囲D1)は、1つ目の顔領域「B」に対する処理の際にマスクレイヤに配置されているマスク画像Mの透過対象範囲M_1と重複する。装飾画像用レイヤにおける2つ目の画像Sの内の範囲D1の画素を注目画素とする場合、CPU70は、画像Sの素材画像部分S_2の対応画素の画素値に対して透過処理を行なってから(S306)、描画対象画素の画素値として記憶する(S307)。
これにより、顔領域「A」に対して重畳する素材画像部分S_2の内の他の顔領域「B」と重複する範囲D1については透明化し、顔領域「B」が素材画像部分S_2によって隠蔽される状態を回避することができる。なおこのとき、範囲D1の外側の所定距離範囲内における2つ目の画像Sの素材画像部分S_2の画素値に対してはぼかし処理が行なわれるようにしてもよい。
そしてCPU70は、マスクレイヤに対し、2つ目の画像S(S_2)に対応する位置にマスク画像M(透過対象範囲を符号M_2で示す)を配置する。このとき装飾画像用レイヤにて既にゼロ(透明)でない画素値が記憶されている描画対象画素が2つ目のマスク画像Mの透過対象範囲M_2に対応する範囲と重複している場合には、描画対象画素はマスク画像Mの画素値によって透過処理が行なわれる。
2つ目の画像の配置に際し、1つ目の素材画像部分(描画対象画素)が2つ目のマスク画像Mの透過対象範囲M_2に対応する範囲と重複している場合について説明する。図15は、他の装飾画像を重畳する場合の重複回避処理の過程を示す説明図である。図15の例において重畳される他の装飾画像SBは、画像Sよりも素材画像部分の範囲が広い。図15(1)は図6に示した撮影画像に対し、1つ目に選択した顔領域「B」上に画像SB(素材画像部分を符号SB_1で示す)が重畳された段階における状態を示している。図15(2)は、2つ目に選択した顔領域「A」上に画像SB(素材画像部分を符号SB_2で示す)が重畳される段階における状態を示している。
図15(1)の状態となるまでの過程は図14(1)で説明した場合と同様である。図15(1)の状態においては、装飾画像用レイヤには1つ目の画像SB(SB_1)が配置され、マスクレイヤには1つ目の画像SBに対応するマスク画像MB(透過対象範囲を符号MB_1で示す)が配置される。
図15(2)に示すように2つ目の顔領域「A」上に画像SBを重畳させる際に、素材画像部分SB_2の一部(ハッチングで示す範囲DB1)は、1つ目の顔領域「B」に対する処理の際にマスクレイヤに配置されているマスク画像MBの透過対象範囲MB_1と重複する。装飾画像用レイヤにおける2つ目の画像SBの内の範囲DB1の画素を注目画素とする場合、CPU70は画像SBの素材画像部分SB_2の対応画素に対して透過処理を行なう(S306)。
そしてマスクレイヤに対し、2つ目の画像SB(SB_2)対応する位置にマスク画像MB(透過対象範囲を符号MB_2で示す)を配置する。このとき、2つ目のマスク画像MBの透過対象範囲MB_2の一部(ハッチングで示す範囲DB2)は、1つ目の顔領域「B」の処理時に配置された描画対象画素(SB_1)に対応する範囲を含む。CPU70は、範囲DB2におけるマスク画像MBの透過対象範囲MB_2に対応する画素を注目マスク画素としている場合には、当該注目マスク画素に対応する位置の装飾画像用レイヤにおける画素を透過処理する(S312)。
これにより、顔領域「A」に対して重畳させる素材画像部分SB_2の内の他の顔領域「B」と重複する範囲DB1については透明化し、顔領域「B」が素材画像部分SB_2によって隠蔽される状態を回避することができる。更に、顔領域「A」に対して処理中に、他の顔領域「B」用の素材画像部分SB_1の顔領域「A」と重複する範囲DB2については透明化し、顔領域「A」を素材画像部分SB_1が隠蔽する状態を回避することができる。
このようにして、複数の人物被写体が写っている撮影画像における全ての人物被写体の顔領域に対し、各顔領域の位置を基準として顔領域内ではない部分に装飾画像を自動的に配置して重畳させる場合に、装飾画像でいずれかの顔領域が隠蔽されることを回避することができる。装飾画像が、顔領域及び各器官領域の位置を基準として、顔領域に配置されるメガネ、マスク、若しくは付け鼻のような画像、又は、帽子若しくは髪飾りのような髪の毛部分(頭部部分)内に収まる画像ではなく、着ぐるみ、被り物のような顔領域以外を覆うような面積が比較的大きい装飾画像である場合に特に効果的である。また、大きな面積を占める装飾画像のみならず、顔領域を基準としながらも顔領域から外れた位置に配置される装飾画像(例えばフキダシなど)のように、他の人物被写体の顔領域が存在する可能性の高い部分に至る装飾画像である場合には効果的である。
図16は、実施の形態1における処理によって得られる画像の内容例を示す説明図である。図16は、落書き操作画面にて、画像Sを図6に示した撮影画像内における全ての顔領域上に重畳させること(全員選択部105)を選択した場合に得られる画像の例を示している。図16に示すように、撮影画像には、複数の人物被写体が含まれており、しかもその人物被写体は互いに重なるようなポーズで撮影されている。このような場合、画像Sを夫々の顔領域に重畳させたときには、1つの顔領域「A」に重畳させた画像Sの上部の耳部分で他の顔領域「B」上を覆ってしまうところ、実施の形態1における画像処理部7の処理により、他の顔領域「B」に重畳させる部分は消去(透明化)される。これにより、ユーザの満足度の低下を抑制することが可能になる。
静止画像においては、複数の人物が前後に重なるようなポーズで写っている場合、撮影画像中の人物被写体領域をいずれの人物に所属する範囲であるかを分別することは非常に困難である。したがって顔領域を基準として顔領域から外れた箇所を含む範囲に装飾画像を重畳させるに際しては、本来であれば手前の人物の影に隠れているべき、奥の人物用に重畳させる装飾画像の一部をどのように削除するかをCPU70が判断することは困難である。実施の形態1では人物の重なりの順序は推測する(S109)が、範囲の分別は行なわず、顔領域と重複する部分を透過処理することで満足度の低下を抑制する。なお、重複部分を透過させる処理は、図16のようなアップ撮影により得られる撮影画像のみならず、全身撮影により得られる撮影画像に対しても効果的である。全身撮影であっても、横並びではなく前後にずれてポーズをする場合がある。全身撮影の場合、人物被写体どうしが重なっているときのみならず、重畳させる装飾画像が大きなサイズの画像であって顔領域を基準に重畳させると相互に重複するときには顔領域との重複部分を透過させることにより、ユーザ満足度を向上させる画像の提供が可能である。
図12〜図15を参照して説明した手順においては、1つの装飾画像の描画(画素値の設定)中に、対応するマスク画像によって自身、及び既に描画(画素値の設定)されている他の装飾画像について描画するものとして設定(記憶)済みであった画素値を削除(透明化)した。図12〜図15に示した手順により、装飾画像用レイヤについて各画素に設定された画素値及びマスクレイヤにおけるマスク画像に基づくグラフィックボード73における描画処理を一度に実行することが可能である。
図12〜図15を参照して説明した手順とは異なる手順でも、奥側に写っている人物被写体の顔領域によって、装飾画像をくり抜いたような画像(図16)を得ることは可能である。例えば、一旦装飾画像を夫々グラフィックボード73に与えて一旦全体を描画し、得られた描画結果と、各装飾画像に対応するマスク画像全てを再度グラフィックボード73に与えて、描画結果をくり抜くことも可能である。しかしながらこの場合、グラフィックボード73へ装飾画像及びその装飾画像の配置先の位置情報を与えて描画させる処理がその都度発生する。したがって「ワンタッチ」で全ての顔領域に装飾画像を描画させることを目的としているにもかかわらず、描画が遅延する可能性がある。上述のように装飾画像用レイヤに対し、画素値の設定を、マスクレイヤを参照しながら夫々の顔領域に対して行なった上で、装飾画像用レイヤ全体をグラフィックボード73に与えるという処理を1回行なうことでも同一の結果を得ることができる。
実施の形態1においては、顔領域と重複する部分を透過させる際のα値は、装飾画像に対応するマスク画像を用いる構成とした。マスク画像は装飾画像を重畳させる際に、重畳対象の顔領域の内の透過させる範囲を適切に設定した画像である。なおマスク画像は半透明とすることも可能であり、この場合複数の顔領域に装飾画像を重畳させる場合、装飾画像の内の顔領域に相当する部分は半透明に透過処理される。
(実施の形態2)
実施の形態2では画像処理部7は、装飾画像が他の顔領域に重複する部分が存在する場合には他の装飾画像へ切り替えることで重複を回避する。実施の形態2における撮影遊戯機の構成は、画像処理部72のHDD72に記憶されている画像、及び詳細な処理手順以外は実施の形態1における構成と同様である。以下の説明の内、実施の形態1の構成と共通する構成については同一の符号を付して詳細な説明を省略する。
図17は、実施の形態2における装飾画像の内容例を示す説明図である。図17には実施の形態1にて使用した画像Sと、実施の形態2のHDD72に記憶されている画像Sに対応する画像Saとが示されている。画像Saは、顔領域上に重畳させた場合に顔領域の上方の広い範囲を占める画像Sの素材画像部分の内、首元に飾られているリボンのみを素材画像部分とした画像である。したがって、画像Saを撮影画像中の1つの人物被写体の顔領域に合わせて重畳させた場合、他の人物被写体にその素材画像部分が重複する可能性が非常に低い。実施の形態2においては、画像処理部7は、画像Sを重畳させる場合にその画像Sが他の顔領域上に重複する可能性が高いときには、画像Saへ切り替えて使用する。
実施の形態1と異なる画像処理部7による詳細な処理手順は、タブ選択部101で「MAKE」が選択され、更にメイク選択部102にて「ワンタッチ」が選択され、更に、テーマ選択アイコン711にて「HENSHIN」が選択され、「白」の種別アイコン712が選択されているときの装飾画像を描画する際の詳細な処理手順である。以下の処理手順は、個別選択部104が選択されている場合であっても実行可能である。図18は、実施の形態2における装飾画像の描画処理手順の一例を示すフローチャートである。
実施の形態2において画像処理部7のCPU70は、画像Sの重畳対象である撮影画像について、付与されてある順序に従って顔領域を選択する(ステップS401)。CPU70は、ステップS401で選択した顔領域の画素内の位置情報に基づき、重畳させる画像Sの位置及び回転角度を算出する(ステップS402)、なおステップS402においては、顔領域の位置及び回転角度のみならず顔領域の大きさに応じて、画像Sの拡縮を行なうようにしてもよい。
CPU70は、ステップS402で算出された位置に算出された角度で画像Sが配置された場合に、ステップS401で選択している顔領域以外の他の顔領域との重複の割合を算出する(ステップS403)。なおステップS402においてCPU70は、割合を算出するのではなく重複する画素を計数してもよい。
CPU70は、ステップ403で算出した重複の割合(重複する画素数)が所定値(例えば50%)以上であるか否かを判断する(ステップS404)。
ステップS404において所定値未満であると判断された場合(S404:NO)、CPU70は、画像SをステップS402にて算出した位置及び回転角度で配置する(ステップS405)。ステップS405においてCPU70は具体的には、装飾画像用レイヤに画像Sを配置した場合の素材画像部分に対応する描画対象画素に対応付けて、画像Sの素材画像部分の画素値を記憶する。CPU70は処理をステップS407へ進める。
ステップS404で所定値以上であると判断された場合(S404:YES)、CPU70は、ステップS401で選択した顔領域に対しては切替対象の他の画像Saを重畳対象とし、その他の画像SaをステップS402にて算出した位置及び回転角度で配置する(ステップS406)。そしてCPU70は処理をステップS407へ進める。
なおステップS406において、画像Saは外形が画像Sと同一に設定してあるので、ステップS402にて算出した位置及び回転角度をそのまま使用できる。異なる外形の画像である場合は、位置及び回転角度を算出し直すとよい。なおステップS406において画像Saを重畳対象とする代わりに、選択中の顔領域に対しては画像Sも画像Saも重畳しない、即ち重畳を破棄することを選択するようにしてもよい。
次にCPU70は、重畳対象である撮影画像について、描画対象の全顔領域(個別選択部104が選択された場合は選択された顔領域1つ、全員選択部105が選択された場合は全顔領域)を選択したか否かを判断する(ステップS407)。描画対象の全顔領域を選択していないと判断された場合(S407:NO)、CPU70は処理をステップS401へ戻す。
ステップS407にて描画対象の全顔領域を選択したと判断された場合(S407:YES)、CPU70は装飾画像用レイヤにおける描画対象画素(全画素)に対応付けて記憶されている画素値に基づいて、グラフィックボード73へ描画指示を実行し(ステップS408)、描画後の画像を取得し(ステップS409)、処理を終了する。
図18のフローチャートに示した処理手順の内、ステップS403の詳細な処理内容を、具体例を挙げて説明する。図19は、素材画像部分が他の顔領域に重複するか否かの判断の過程を示す説明図である。図19において符号ARは、顔領域「A」について顔認識処理にて認識された各点の外接矩形を示し、符号BRは、顔領域「B」についての外接矩形を示している。なお顔領域の外接矩形の縦方向及び横方向はいずれも撮影画像における縦方向及び横方向に沿う。図19においてCPU70は、顔領域「A」について、ステップS402にて算出した位置及び回転角度で画像Sを図18中に示すように配置する。回転角度は顔認識によって得られる図18中の十字線に基づいて算出される。
図19中の符号SDRは、顔領域「A」を重畳対象として配置された画像Sの内の素材画像部分の外接矩形を示す。当該外接矩形SDRと、重畳対象の顔領域「A」以外の他の顔領域「B」の外接矩形BRとの重複割合を特定するには、素材画像部分の外接矩形SDRの縦方向及び横方向が、撮影画像の縦方向及び横方向に対し夫々、ステップS402で算出された角度で回転しているため困難である。そのためCPU70は外接矩形SDRに対し、撮影画像の縦方向及び横方向に沿う外接矩形SDRRの位置及び範囲(縦方向及び横方向の長さ)を算出する。CPU70は、算出した外接矩形SDRRの位置及び範囲に基づき、外接矩形BRにおける外接矩形SDRRとの重複部分の割合を算出する。図19に示す例では、外接矩形BRは、外接矩形SDRR内に全て含まれるため割合は100%となる。したがってCPU70はステップS403において、重畳対象の顔領域「A」に画像Sが配置される場合には、顔領域「A」以外の他の顔領域「B」との重複の割合は100%であって所定値以上であると判断する。したがって、重畳対象の顔領域「A」には画像Saを装飾画像として配置して重畳する。
図20は、実施の形態2における処理によって得られる画像の内容例を示す説明図である。図20は、実施の形態2の落書き操作画面にて、画像Sを図6に示した撮影画像内における全ての顔領域上に重畳すること(全員選択部105)を選択した場合に得られる画像の例を示している。図20に示すように、撮影画像には、複数の人物被写体が含まれており、しかもその人物被写体は互いに重なるようなポーズで撮影されている。このような場合、画像Sを夫々の顔領域に重畳させたときには、図20に示すように、1つ目として選択される顔領域「B」に画像Sを配置した場合には素材画像部分が顔領域「A」に重複しないと判断されるためそのまま画像Sが重畳配置される。これに対し、2つ目の顔領域「A」に画像Sを重畳させる場合には上部の耳部分で他の顔領域「B」上を覆ってしまうところ、実施の形態2における画像処理部7の処理により、図20に示すように、重畳する装飾画像が画像Sから画像Saへ切り替えられる。これにより、顔領域「B」が覆われることでユーザの満足度の低下を抑制することが可能になる。
図21は、装飾画像の他の内容例を示す説明図である。図21に示すように、重複を回避するためには画像Sに対して複数の変形画像を用いてもよい。図21に示す例においては、ウサギの被り物を素材画像部分として含む画像Sに対して画像Saのほかに、画像Sの素材画像部分の内の両耳を倒したものを素材画像部分とする画像Sbを使用してもよい。他の例としては、画像Sに対して、その素材画像部分の内の左耳を倒したものを素材画像部分とする画像Sc、又は右耳を倒したものを素材画像部分とする画像Sdを使用してもよい。
図21の複数の画像で切り替える場合の処理について説明する。CPU70は図18のフローチャートで示したステップS404において、画像Sを配置した場合の他の顔領域との重複の割合が所定値以上であると判断したときに(S404:YES)、他の画像Sa,Sb,Sc,Sdについても判断する。例えば重複の可能性が高い順、即ち画像Sd、画像Sc、画像Sbの順に、重複の割合が所定値以上であるか否かを判断し(S404)、いずれかで所定値未満であると判断した場合に、その画像を装飾画像へと切り替える。そしてCPU70は、画像Sb,Sc,Sdについていずれも所定値以上であると判断された場合には、画像Saを装飾画像として配置して重畳する。
図22は、図21の装飾画像を用いた場合に得られる画像の内容例を示す説明図である。図22は、実施の形態2の落書き操作画面にて、画像Sを図6に示した撮影画像内における全ての顔領域上に重畳すること(全員選択部105)を選択した場合に得られる画像の例を示している。画像Sを夫々の顔領域に重畳させる場合、1つ目として選択される顔領域「B」に画像Sを配置した場合には素材画像部分が顔領域「A」に重複しないと判断されるためそのまま画像Sが図22に示すように重畳配置される。これに対し、2つ目の顔領域「A」に画像Sを重畳させる場合には上部の耳部分で他の顔領域「B」上を覆ってしまうところ、実施の形態2における画像処理部7の処理により、図22に示すように、重畳させる装飾画像が画像Sから画像Scへ切り替えられる。これにより、顔領域「B」が覆われることが回避される。
(実施の形態3)
実施の形態3では画像処理部7は、各装飾画像に対応するマスク画像をマスクレイヤに配置するのではなく、撮影画像から抽出された顔領域に基づくマスク画像を用いてその部分を透明化することで装飾画像の重複を回避する。実施の形態3における撮影遊戯機の構成は、画像処理部72の詳細な処理手順以外は実施の形態1における構成と同様である。以下の説明の内、実施の形態1の構成と共通する構成については同一の符号を付して詳細な説明を省略する。
図23は、実施の形態3において装飾画像を描画するためのレイヤの説明図である。図23に示すように、装飾画像は撮影画像よりも情報に位置する装飾画像用レイヤ上に描画される。そして装飾画像用レイヤと撮影画像との間に位置する装飾画像用マスクレイヤ上に、ステップS108で特定された顔領域「A」及び「B」夫々に基づいて作成された顔マスク画像FA及び顔マスク画像FBが配置される。実施の形態3における画像処理部7は、図23に示すように予め配置される顔マスク画像FA及びFBを用いて以下の処理を行なう。
実施の形態1と異なる画像処理部7による詳細な処理手順は、メイク選択部102で「ワンタッチ」が選択され、選択部102にて「ワンタッチ」が選択され、テーマ選択アイコン711にて「HENSHIN」が選択され、「白」の種別アイコン712が選択されているときの装飾画像を描画する際の詳細な処理手順である。以下の処理手順は、個別選択部104が選択されている場合であっても実行可能である。図24は、実施の形態3における装飾画像の描画処理手順の一例を示すフローチャートである。なお図24のフローチャートに示す処理手順の内、実施の形態1の図12及び図13のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。
CPU70はまず、ステップS108にて特定されている顔領域に基づき顔マスク画像をマスクレイヤに配置し(ステップS320)、付与されてある順序に従って、重畳対象とされている顔領域を選択する(S301)。このとき重畳対象とされている顔領域とは、全員選択部105が選択されている場合には全ての顔領域が重畳対象であり、個別選択部104が選択されている場合には、選択されている1つの顔領域のみが重畳対象である。
そして実施の形態3のステップS305では、CPU70は、注目画素に対応するα値を参照するのに対し、マスクレイヤにおいて既に配置されている顔マスク画像におけるα値を参照する。
そして実施の形態3においては、顔マスク画像をマスクレイヤに配置済みであるから、CPU70は図12及び図13のフローチャートに示したステップS309〜S314の処理を省略し、重畳対象である撮影画像について全顔領域を選択したか否かを判断する(S315)。そしてS315において全顔領域を選択したと判断された場合(S315:YES)、CPU70は、装飾画像用レイヤにおける描画対象画素(全画素)に対応付けて記憶されている画素値、及びマスクレイヤに対するマスク画像Mに基づいて、グラフィックボード73へ描画指示を実行し(S316)、描画後の画像を取得し(S317)、処理を終了する。
なお、顔マスク画像を用いる場合には、CPU70は重畳対象とされている顔領域に、装飾画像を配置(画素値を記憶)した後に、マスクレイヤに配置されている顔マスク画像のα値を各画素に対応付けて透過処理するという処理を行なうようにしてもよい。
図25は、実施の形態3における処理によって得られる画像の内容例を示す説明図である。図25は、実施の形態3の落書き操作画面にて、画像Sを図6に示した撮影画像内における顔領域「A」を選択して装飾画像を重畳させること(個別選択部104)を選択した場合に得られる画像の例を示している。図25に示すように、顔領域「A」上に画像Sが重畳されるに際し、異なる顔領域「B」に対応する顔マスク画像により、画像Sの素材画像部分の内の顔領域「B」との重複部分が透過処理されている。特定されている顔領域を顔マスク画像としてマスクレイヤに配置して使用することにより、単一の顔領域を重畳対象とした場合でも、他の顔領域と重複する部分を透明化することができる。
また、実施の形態3に示したように、撮影画像にて既に特定されている顔領域を顔マスク画像として使用し、重畳する装飾画像の一部を透過させる処理を行なう場合には、装飾画像の重畳位置が顔領域でない場合であっても適用可能である。例えば特定されている顔領域以外の箇所に装飾用画像を重畳させる場合、その装飾画像が顔領域の一部又は全部上に重複するときには、重複部分を透明又は半透明に透過させることが可能になる。したがってこのときには、撮影画像中に1人の人物被写体のみが撮影されている場合でも、実施の形態3にて示した処理の適用が可能である。
実施の形態2及び3にて説明した処理は、実施の形態1同様に、全身撮影により得られた撮影画像に対して行なっても効果的であることは勿論である。
このようにして、撮影画像における顔領域に装飾画像を重畳させた場合に、他の顔領域に重複している部分が透過処理されるか、又は当該部分が透明である装飾画像を用いるか、又はそもそも装飾画像の使用をキャンセルする。これにより、撮影が完了した撮影画像に装飾画像を用いる場合に顔領域が遮蔽される状態を回避し、ユーザの満足度を向上させることができる。
なお、上述のように開示された本実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。