以下、本発明をその実施の形態を示す図面に基づいて詳述する。本発明の説明では、ユーザを撮影し、撮影によって得られた画像に基づく画像が印刷されたシール紙を出力する画像出力装置に本発明を適用した例を説明する。本実施の形態における画像出力装置は、本発明に係る画像処理装置としても機能する。
図1及び図2は本実施の形態における画像出力装置の外観を示す斜視図である。この画像出力装置は全体として筐体状をなしており、本実施の形態における画像出力装置には、装置内の空間を略半分に分ける鉛直方向の仕切りが設けられている。この仕切りによって、画像処理装置には撮影空間R1及び編集空間R2が設けられている。図1には、主に撮影空間R1側の画像出力装置の外観が示されており、図2には、主に編集空間R2側の画像出力装置の外観が示されている。
図1に示すように、撮影空間R1は筐体状をなすフレームに囲まれた空間である。撮影空間R1ではユーザが撮影される。撮影空間R1の外側には、料金の投入を受け付ける受付部1が設けられており、編集空間R2との仕切りに相当する内部壁における撮影空間R1側の壁面にはユーザを撮影するためのカメラ21及びディスプレイ22等の構成部を有する撮影部2が設けられている。
受付部1は、料金、具体的には硬貨の投入を受け付けるコイン投入口10と、コイン投入口10に投入された硬貨を選別するコインセレクタ11と、コイン投入口10に投入された料金の総額、又は、投入残額等の各種情報を表示するための表示パネル12とを有する。コインセレクタ11は選別結果に応じた選別信号を送出する。コインセレクタ11がコイン投入口10に投入された硬貨が選別すべき硬貨ではない、即ち、間違った硬貨であると判定した場合、又は、コインセレクタ11が料金を受け付けないように設定されている場合、コイン投入口10に投入された硬貨は図示しないコイン返却口に吐き出される。表示パネル12は、液晶パネル及びセグメントLED(Light Emitting Diode)等を有し、料金の投入を促す案内、投入すべき料金、投入総額、残額、又は、他のユーザが撮影中であって料金を受け付けていない旨の案内等を表示する。
受付部1が有するコインセレクタ11及び表示パネル12は、後述の第1筐体20に収納された制御機構に接続されており、制御機構と信号の送受信を行う。
ユーザは、受付部1のコイン投入口10に、予め設定されている料金を投入することによって、本実施の形態における画像出力装置からサービスを受けることができる。
撮影空間R1、即ち、撮影ブースの内部には、撮影部2を構成する各構成部が設けられている。撮影空間R1内において、本実施の形態における画像出力装置内の空間を撮影空間R1及び編集空間R2に仕切る壁の下部には、制御機構を収納した第1筐体20が設置されている。本実施の形態における画像出力装置内の空間を仕切る壁において、第1筐体20の上側であって、立っているユーザの略目線の高さにカメラ21が設置されている。
カメラ21の下側には、カメラ21が出力する映像信号に基づくプレビュー画面を表示し、かつ、ユーザの操作を受け付けるタッチパネル式のディスプレイ22が設置されている。カメラ21及びディスプレイ22を囲むように、被写体に光を照射するストロボ・ランプ23が設置されている。また、第1筐体20の上部には、音楽及び案内音声を出力するスピーカ24,24が設置されている。
撮影部2を構成するカメラ21、ディスプレイ22、ストロボ・ランプ23及びスピーカ24,24夫々は、第1筐体20内に設置されている制御機構に接続されている。
カメラ21は、レンズ群と、絞りと、シャッターと、CCD(Charge Coupled Device)等の撮像素子とを含むデジタルカメラであり、ユーザを被写体として撮影する。カメラ21は、タイマー機能によってシャッターが動作して撮像素子から静止画像である人物画像を取得し、取得した人物画像を記憶する。また、カメラ21は、起動している間、撮像素子から出力されたデジタルの映像信号を制御機構へ出力している。この映像信号に基づく人物画像は、制御機構から出力され、プレビュー画面に表示される。
ディスプレイ22は、撮影中にユーザから操作を受け付ける操作画面とプレビュー画面とを表示するための液晶パネルを有し、カメラ21からリアルタイムに出力される映像信号に基づいて制御機構が出力する人物画像を受け付けて表示する。ディスプレイ22は、タッチパネル式であり、ユーザが接触した操作画面上の位置を示す情報を含む信号を制御機構へ出力する。
ストロボ・ランプ23は、撮影空間R1内の照明機器であると共に、ユーザを撮影する場合にフラッシュとして機能する。また、ストロボ・ランプ23は、図1に示すように7つの発光体を有し、各発光体が発光するタイミングがストロボ・ランプ23に、制御機構に含まれる制御基盤を介して通知される。ストロボ・ランプ23の各発光体が発光するタイミングはカメラ21が行う撮影、具体的にはシャッター動作に同期して制御される。
撮影空間R1の外周は遮光性を有する図示しないシート材によって覆われている。このシート材は、外部から差し込む光を遮断し、更には、外部から撮影空間R1内を見ることができないようにしている。これにより、撮影空間R1内にユーザが自由なポーズをとることができるプライベートな空間が確保される。
また、撮影空間R1内から見たシート材は均等な色調及び明度を有している。このため、カメラ21がユーザを撮影する場合、ユーザの背景における色調及び明度が均等である。従って、後述するように、撮影によって得られた人物画像において、人物画像の各画素における透明度の値を示し、写っている人物以外の領域を透明にする人物アルファデータを生成するクロマキー処理が可能となる。
ユーザは、撮影空間R1内で、ディスプレイ22の操作画面に表示される案内情報と、スピーカ24,24から出力される案内音声に従って、ディスプレイ22に表示されている操作画面で接触操作を行い、ストロボ・ランプ23から照明を受けた状態でポーズをとり、カメラ21によって撮影される。
ユーザは、ディスプレイ22の操作画面で接触操作を行うことによって、前景画像及び背景画像夫々の選択、並びに、撮影によって得られた人物画像に写っている人物の周辺にオーラのような装飾を行うか否かの選択等を行うことができる。
次に、図2に示す編集空間R2に設けられている各構成部を説明する。編集空間R2は、撮影空間R1内でカメラ21、ディスプレイ22、ストロボ・ランプ23、スピーカ24,24及び第1筐体20が設置されている壁面の裏側にある空間であり、ユーザが撮影によって得られた画像を編集する空間である。図2に示す編集空間R2は、図示しないカーテン状のシート材によって他の空間から仕切られている。編集空間R2には、中空の直方体状をなす第2筐体30が設置されている。
第2筐体30の一側面は、撮影空間R1及び編集空間R2を仕切る壁に接している。第2筐体30における他の3つの側面の中で互いに対向する2つの側面夫々には、撮影によって得られた人物画像等からなる合成画像を編集するためのインタフェースを備える第1編集部4a及び第2編集部4bが設けられている。第2筐体30において、撮影空間R1及び編集空間R2を仕切る壁に接している一側面に対向する側面には、編集によって得られた画像をシール用紙に印刷し、印刷したシール用紙を出力する印刷部5が設けられている。また、第2筐体30内には、第1編集部4a、第2編集部4b及び印刷部5の各構成部を制御する制御機構が設置されている。
なお、第1筐体20及び第2筐体30の両方に接している壁には図示しない開口が設けられており、第1筐体20の内部に設置されている撮影部2の制御機構と、第2筐体30の内部に設置されている第1編集部4a、第2編集部4b及び印刷部5の制御機構とは、複数のケーブル類によって接続されている。
第1編集部4aは、カメラ21の撮影によって得られた人物画像等を編集するための操作画面を表示するタブレットディスプレイ40aと、2つのタッチペン41a,42aと、スピーカ43aとを有する。第2編集部4bも、後述するタブレットディスプレイ40bと、2つのタッチペン41b,42bと、スピーカ43bを有する。タブレットディスプレイ40a,40bは第2筐体30を介して向かい合うように配置され、タッチペン41a,41b、タッチペン42a,42b及びスピーカ43a,43bも同様に第2筐体30を介して向かい合うように配置されている。タブレットディスプレイ40a,40b、タッチペン41a,42a,41b,42b及びスピーカ43a,43b夫々は第2筐体30内の制御機構に接続されている。
印刷部5は、第2筐体30内に設置されて画像をシール紙に印刷するプリンタ50と、印刷されたシール紙がプリンタ50から吐き出されるシール吐出口51と、各種情報を表示する表示パネル52とを有する。プリンタ50及び表示パネル52夫々は、第2筐体30内に設置された制御機構に接続されている。
ユーザは、撮影空間R1内で撮影部2がユーザの撮影を完了した後、第1編集部4a又は第2編集部4bにより、例えば画像への文字及び/又はスタンプ状の図形の挿入の編集を行うことができる。第1編集部4aのタブレットディスプレイ40a、又は、第2編集部4bのタブレットディスプレイ40bには、撮影によって得られた人物画像と、選択された背景画像とを含む複数の画像の合成画像が表示される。前景画像が選択されている場合には、人物画像、前景画像及び背景画像を含む複数の画像の合成画像が表示される。
タブレットディスプレイ40aは、タッチペン41a,42aによる操作を受け付けるように構成しており、ユーザは、タッチペン41a,42aにより、例えば文字及び/又はスタンプ状の図形の挿入の編集を行うことができる。タブレットディスプレイ40bも、タブレットディスプレイ40aと同様に、タッチペン41b,42bによる操作を受け付けるように構成しており、ユーザは、タッチペン41b,42bにより、編集を行うことができる。タブレットディスプレイ40a,40b夫々は、編集によって生成された文字及び/又は図形を含み、複数の画素からなる編集画像の編集画像データを生成する。
ユーザによる編集が行われた場合、人物画像と、背景画像と、文字及び図形の少なくとも一方を含む編集画像とを含む複数の画像の合成画像が生成される。更に、前景画像が選択されている場合には、編集が完了した後、人物画像、前景画像、背景画像及び編集画像とを含む複数の画像の合成画像が生成される。生成された合成画像は、プリンタ50によってシール紙に印刷され、印刷されたシール紙は、シール吐出口51から吐き出される。ユーザは、シール吐出口51から、合成画像が印刷されたシール紙をシール吐出口51から取り出すことができる。
図3及び図4は、本実施の形態における画像出力装置の構成を示すブロック図である。図3は、主に、以下に説明する制御部6、電源部7、通信部8及び受付部1の構成を示しており、図4は、撮影部2、第1編集部4a、第2編集部4b及び印刷部5の構成を示している。
図3及び図4に示すように、本実施の形態における画像出力装置は、各構成部の制御及び画像処理を行う制御部6と、AC(Alternating Current)電源からの電力を他の構成部に供給する電源部7と、インターネット等の外部ネットワークNを介して通信を行う通信部8と、コイン投入口10、コインセレクタ11及び表示パネル12を含む受付部1とを備える。
本実施の形態における画像出力装置は、更に、カメラ21、ディスプレイ22、ストロボ・ランプ23及びスピーカ24,24を含む撮影部2と、タブレットディスプレイ40a、タッチペン41a,42a及びスピーカ43aを含む第1編集部4aと、タブレットディスプレイ40b、タッチペン41b,42b及びスピーカ43bを含む第2編集部4bと、プリンタ50、シール吐出口51及び表示パネル52を含む印刷部5と、各構成部を接続するバス100を備える。
なお、制御部6、電源部7、通信部8及びバス100は、第1筐体20及び第2筐体30内に設置された制御機構に対応する。
受付部1、撮影部2、第1編集部4a、第2編集部4b及び印刷部5夫々の構成部は、前述したように、ユーザが操作できるように、撮影空間R1又は編集空間R2に設置されており、第1筐体20及び第2筐体30の内部に設置されている制御機構内のバス100に接続されている。一方、制御部6、電源部7及び通信部8夫々は、第1筐体20及び第2筐体30に収納されている制御機構内に含まれており、バス100に接続されている。
制御機構は、第1筐体20及び第2筐体30の内部に設置された複数のパーソナルコンピュータ(以下、PCと記載する。)と、前述の受付部1、撮影部2、第1編集部4a、第2編集部4b及び印刷部5を構成する各ハードウェアをPCから制御するための制御基盤とを含んで構成される。
なお、本実施の形態における画像出力装置では、制御対象に応じて複数のPCが設けられている。例えば、本実施の形態における画像出力装置が備える複数のPCとして、撮影空間R1の受付部1を制御するPCと、撮影部2を制御するPCと、第1編集部4a及び第2編集部4bを制御するPCと、撮影によって得られた画像に画像処理を施し、印刷部5にて出力するPCとがある。本実施の形態では、説明を簡易にするために仮想的に1つのPCの動作によって各構成部が制御されるとして以下に説明する。
制御部6は、各構成部のハードウェアを制御するCPU60と、CPU60の動作により発生する情報を一時的に記憶するDRAM(Dynamic Random Access Memory)等のメモリ61と、各種データを記憶するHDD(Hard Disk Drive)62とを有する。制御部6は、更に、撮影部2のカメラ21から出力された映像信号から静止画像を、撮影によって得られた画像として、キャプチャし、クロマキー処理を行うためのキャプチャ・クロマキーボード63を備える。
CPU60は、HDD62に記憶されている制御プログラム6Pを読み出して実行することにより、受付部1のコインセレクタ11から選別信号を受け付け、受け付けた選別信号に応じて表示パネル12へ制御信号を送出し、料金投入の受付を実現する。また、CPU60は、制御プログラム6Pを読み出して実行することにより、撮影部2のカメラ21による撮影とストロボ・ランプ23との動作を同期させる制御を行い、カメラ21によって撮影されて複数の画素、例えば600万画素からなる人物画像に係る人物画像データを取得する処理、ディスプレイ22に画像を表示する処理、第1編集部4a又は第2編集部4bによる編集を受け付ける処理等を実行する。
また、CPU60は、制御プログラム6Pを読み出して実行することにより、キャプチャ・クロマキーボード63を用いて画像処理を行う。具体的には、CPU60は、人物画像の各画素における透明度の値を示す人物アルファデータを生成する処理、人物画像、背景画像及び前景画像に、これらの画像に対応したアルファデータを用いて施す透明処理、人物画像と、背景画像及び/又は前景画像とを含む複数の画像の合成画像を生成する処理等を行う。
HDD62は、CPU60が各構成部のハードウェアを制御するための制御プログラム6Pを記憶している。CPU60は、HDD62から制御プログラム6Pをメモリ61に読み出して実行することにより、各ハードウェアの制御及び種々のソフトウェア機能が実現される。
HDD62は、更に、夫々が複数の画素からなる複数の前景画像及び背景画像と、夫々が複数の画素からなり、人物画像に写っている人物の輪郭外側の周辺に画像を付加してオーラのような装飾を行うための装飾画像を記憶している。また、HDD62は、記憶してある各前景画像について、各画素における透明度の値を示す前景アルファデータを記憶しており、記憶してある各背景画像についても、各画素における透明度の値を示す背景アルファデータを記憶している。HDD62は、記憶してある複数の背景画像夫々に対応し、人物アルファデータ、具体的には、人物アルファデータが示す各画素における透明度の値を加工するためのマスキングデータも記憶している。HDD62は記憶部として機能する。
なお、装飾画像は所定画像に該当する。
キャプチャ・クロマキーボード63は、カメラ21から出力された映像信号から例えば毎秒30枚の静止画像、具体的には人物画像を取得して出力するキャプチャ機能を有する。キャプチャ・クロマキーボード63は、更に、取得された人物画像から所定の色調及び明度の画素を認識し、一定の範囲内で同一の色調及び明度の画素に対して、透明度の値を設定することにより、人物アルファデータを出力するクロマキー機能を有する。以上のように、キャプチャ・クロマキーボード63はキャプチャ機能及びクロマキー機能を有するハードウェアである。キャプチャ・クロマキーボード63に内蔵してある図示しないメモリには、クロマキー処理によって得られた人物アルファデータが記憶される。
また、キャプチャ・クロマキーボード63では、ドライバソフトにより、毎秒取得する静止画像の枚数、並びに、透明にする所定の色調及び明度、例えば、RGB値を設定することが可能である。CPU60は、キャプチャ・クロマキーボード63に、カメラ21が撮影した人物画像の中で撮影されたユーザの後方に位置して所定の色調及び明度を有するシート材が写っている領域を透明にするように指示する。これにより、CPU60は、キャプチャ・クロマキーボード63を用いて、人物以外の領域を透明にする人物アルファデータを取得する。
電源部7は、AC電源から送られる電力を、PCだけではなく、各構成部へ供給する。本実施の形態における画像出力装置には、電源を投入する図示しない電源スイッチが設けられており、電源部7に接続されている。電源部7は、電源スイッチのオン/オフを検知し、本実施の形態における画像出力装置の稼動/停止を切り替える。
なお、電源部7は、UPS(Uninterruptible Power Supply:無停電電源装置)ユニット70を含んで構成される。UPSユニット70により、AC電源から送られる電力が突然に遮断された場合であっても、各構成部へのダメージを減らすことができる。電源スイッチがオフに切り替えられた場合、UPSユニット70は停電信号をCPU60へ出力し、CPU60は、停電信号を検知した場合、所定の終了処理を行い、画像出力装置全体の電源をオフにする。
通信部8は、PHSユニット80により構成され、制御部6、具体的にはCPU60にバス100を介して接続されている。PHSユニット80は、インターネット等の外部ネットワークNに接続してデータの送受信を実現する。CPU60は、通信部8のPHSユニット80を介して外部ネットワークN上の他の装置と通信してデータの送受信を行う。本実施の形態における画像出力装置では、CPU60は、ユーザの名前、メールアドレス等の識別情報、及び、送信先のURLと共に、撮影及び画像の合成等によって得られた画像データを外部ネットワークNに接続している他のサーバ装置へ送信する。
これにより、実施の形態における画像出力装置は、ユーザが、サーバ装置から、撮影及び画像の合成等によって得られた画像を携帯端末又は自宅のパーソナルコンピュータ等によって閲覧することができるサービスを提供することが可能となる。更に、本実施の形態における画像出力装置は、撮影及び画像の合成等によって得られた画像を携帯端末又は自宅のパーソナルコンピュータ等にダウンロードすることができるサービスを提供することが可能となる。
図5及び図6は、CPU60が実行する動作の手順を示すフローチャートである。CPU60は、HDD62に記憶されている制御プログラム6Pを読み出して実行することによって以下の処理を行う。まず、CPU60は、受付部1のコイン投入口10に所定の料金が投入されたか否かを判定する(ステップS1)。CPU60は、所定の料金が投入されていないと判定した場合(ステップS1:NO)、処理をステップS1に戻し、所定の料金が投入されるまでステップS1の判定を繰り返す。
CPU60は、所定の料金が投入されたと判定した場合(ステップS1:YES)、受付部1の表示パネル12に撮影空間R1への入場を促す案内情報を表示する(ステップS2)。次に、CPU60は、撮影を案内する案内音声をスピーカ24,24から出力し(ステップS3)、撮影部2のディスプレイ22に操作画面を表示する(ステップS4)。
CPU60は、ステップS4を実行した後、ユーザから種々の選択を受け付ける(ステップS5)。ここで、CPU60がユーザから受け付ける選択は、背景画像の選択、オーラのような装飾を行うか否かの選択、装飾を行う場合に装飾に用いる装飾画像の選択、前景画像を合成するか否かの選択、及び、前景画像を合成する場合における前景画像の選択である。ユーザは、ディスプレイ22の操作画面で接触操作を行うことによって選択を行う。
次に、CPU60は、ステップS5での選択の受付が完了したか否かを判定する(ステップS6)。CPU60は、選択の受付が完了していないと判定した場合(ステップS6:NO)、処理をステップS5に戻し、選択の受付が完了するまで、選択を受け付け続ける。
CPU60は、選択の受付が完了したと判定した場合(ステップS6:YES)、ユーザを撮影する(ステップS7)。具体的には、CPU60は、選択の受付が完了したと判定した後、シャッターを動作させるためのカウントが開始され、ディスプレイ22のプレビュー画面にはカメラ21が有する撮像素子が出力している画像が表示される。CPU60は、カウント値が所定値になった場合に、シャッターを動作させてユーザを撮影する。ユーザは、プレビュー画面を見て、撮影された人物画像を合成に用いる画像として決定するボタン等を操作するか、又は、所定回数、例えば6回の撮影が終了した場合に撮影を終了する。
CPU60は、ステップS7を実行した後、撮影によって得られた人物画像に係る人物画像データをカメラ21から取得し(ステップS8)、取得した人物画像データに係る人物画像に前述したクロマキー処理を施すことによって、人物アルファデータを生成する(ステップS9)。
次に、CPU60は、ステップS5で受け付けた選択に基づいて、オーラのような装飾を行うか否かを判定する(ステップS10)。CPU60は、装飾を行うと判定した場合(ステップS10:YES)、ステップS9で生成した人物アルファデータを用いて、ステップS5で選択された装飾画像の各画素における透明度の値を示す画像アルファデータを生成する(ステップS11)。
CPU60は、装飾を行わないと判定した場合(ステップS10:NO)、又は、ステップS11を実行した後、ステップS5で受け付けた選択に係る画像データ及びアルファデータをHDD62から読み出す(ステップS12)。例えば、ステップS5で背景画像、前景画像及び装飾画像が選択されている場合、選択された背景画像、前景画像及び装飾画像夫々に係る画像データ、並びに、選択された背景画像及び前景画像夫々に対応する背景アルファデータ及び前景アルファデータを読み出す。
次に、CPU60は、生成したアルファデータ、ステップS8で取得した人物画像データ、並びに、ステップS12で読み出した画像データ及びアルファデータを用いて、編集を行う場合に表示する表示用の合成画像を生成する(ステップS13)。ここで、ステップS11が実行されていない場合においては、CPU60は、生成したアルファデータとして、ステップS9で生成した人物アルファデータを用いる。そして、ステップS11が実行されている場合においては、CPU60は、生成したアルファデータとして、ステップS9で生成した人物アルファデータと、ステップS11で生成した画像アルファデータとを用いる。
CPU60は、ステップS13を実行した後、ディスプレイ22の操作画面に編集空間R2への移動と、画像の編集とを促す案内情報を表示し(ステップS14)、スピーカ24,24から編集空間R2への移動と、画像の編集とを促す案内音声を出力する(ステップS15)。
編集は、第1編集部4a又は第2編集部4bで行われるが、以下では、第1編集部4aで編集が行われるものとする。CPU60は、編集が第2編集部4bで行われる場合も、編集が第1編集部4aで行われる場合と同様の処理を行う。
次に、CPU60は、第1編集部4aのタブレットディスプレイ40aに操作画面を表示する(ステップS16)。このとき、操作画面には、ステップS13で生成した表示用の合成画像が表示されている。CPU60は、ステップS16を実行した後、操作画面上で、ステップS13で生成した合成画像への文字及び/又はスタンプ状の図形の挿入等の編集を受け付ける(ステップS17)。このとき、ユーザは、タッチペン41a,42aを用いて、タブレットディスプレイ40aの操作画面に表示されている合成画像に文字を記入したり、図形を挿入したりすることによって編集を行う。このように、タブレットディスプレイ40a,40b夫々は、編集画像に含まれる文字又は図形を受け付け、受付手段として機能する。
次に、CPU60は、編集完了の指示を操作画面上で受け付けたか否かに応じて、編集の受付が完了したか否かを判定する(ステップS18)。CPU60は、編集の受付が完了していないと判定した場合(ステップS18:NO)、処理をステップS17に戻し、編集が完了するまで、編集を受け付ける。
CPU60は、編集の受付が完了したと判定した場合(ステップS18:YES)、タブレットディスプレイ40aから編集画像データを取得し(ステップS19)、編集画像データに係る編集画像の各画素における透明度の値を示す編集アルファデータを生成する(ステップS20)。
なお、編集画像は付加画像に該当し、編集アルファデータは付加アルファデータに該当する。
CPU60は、ステップS20を実行した後、生成したアルファデータ、ステップS8,S19で取得した人物画像データ及び編集画像データ、並びに、ステップS12で読み出した画像データ及びアルファデータを用いて印刷用の合成画像を生成する(ステップS21)。ここで、ステップS11が実行されていない場合においては、CPU60は、生成したアルファデータとして、ステップS9で生成した人物アルファデータを用いる。そして、ステップS11が実行されている場合においては、CPU60は、生成したアルファデータとして、ステップS9で生成した人物アルファデータと、ステップS11で生成した画像アルファデータを用いる。
次に、CPU60は、プリンタ50に指示して、ステップS21で生成した印刷用の合成画像をシール紙に印刷させる(ステップS22)。CPU60は、ステップS22を実行した後、サーバ装置へ送信する送信画像データを作成すべく、生成したアルファデータ、ステップS8,S19で取得した人物画像データ及び編集画像データ、並びに、ステップS12で読み出した画像データ及びアルファデータを用いて、送信用の合成画像を生成する(ステップS23)。ここで、ステップS11が実行されていない場合においては、CPU60は、生成したアルファデータとして、ステップS9で生成した人物アルファデータを用いる。ステップS11が実行されている場合においては、CPU60は、生成したアルファデータとして、ステップS9で生成した人物アルファデータと、ステップS11で生成した画像アルファデータを用いる。CPU60は、ステップS23を実行した後、ステップS5で選択された背景画像に対応するマスキングデータを読み出す(ステップS24)。
次に、CPU60は、生成したアルファデータ、ステップS12で読み出したアルファデータ、及び、ステップS24で読み出したマスキングデータを用いて合成アルファデータを生成する(ステップS25)。ここで、CPU60が生成する合成アルファデータは、ステップS23で生成した合成画像の各画素における透明度の値を示すアルファデータである。
次に、CPU60は、ステップS23で生成した合成画像に、ステップS25で生成した合成アルファデータに従って、透明処理を施すことによってサーバ装置に送信するための送信画像を生成する(ステップS26)。CPU60は、通信部8のPHSユニット80に指示して、生成した送信画像に係る送信画像データを、前述したようにサーバ装置へ送信する(ステップS27)。これにより、本実施の形態における画像出力装置は、送信画像データを携帯端末又は自宅のパーソナルコンピュータ等にダウンロードすることができるサービスを提供することが可能となり、ユーザは送信画像データに係る送信画像を種々の用途、例えば、他の画像への重畳に用いることができる。
ここで、CPU60は、送信画像データを、例えば、可逆圧縮が可能なPNG(Portable Network Graphics)形式で、ステップS25で生成された合成アルファデータと共にサーバ装置へ送信する。送信画像データを送信する形式は、合成アルファデータと共に送信画像データを送信することができる形式であればよいので、可逆圧縮の形式であっても、非可逆圧縮の形式であってもよい。例えば、非可逆圧縮を行うJPEG(Joint Photographic Experts Group)形式であっても、合成アルファデータと共に送信画像データを送信することができるのであれば、送信画像データを送信する形式として用いることができる。
CPU60は、ステップS27を実行した後、サービスの終了を示す案内情報をタブレットディスプレイ40aに表示し(ステップS28)、スピーカ43aから画像出力装置によるサービスの終了を通知する案内音声を出力する(ステップS29)。CPU60は、ステップS28を実行した後、動作を終了する。
以下では、本実施の形態における画像出力装置において、CPU60が送信画像を生成するための画像処理、具体的には、ステップS23で送信用の合成画像を生成する処理、ステップS25で合成アルファデータを生成する処理、及び、ステップS26で送信画像を生成する処理を説明する。
更に、以下では、(1)人物画像、前景画像及び背景画像を合成する場合、(2)人物画像、前景画像及び背景画像を合成し、かつ、オーラのような装飾が行われる場合、(3)人物画像、前景画像、背景画像及び編集画像を合成し、かつ、オーラのような装飾が行われる場合夫々においてCPU60が実行する画像処理を説明する。
(1)人物画像、前景画像及び背景画像を合成する場合にCPU60が実行する画像処理
この画像処理は、ステップS5で前景画像及び背景画像が選択され、オーラのような装飾、及び、ユーザによる編集がなされなかった場合に行われる。
図7は、人物画像、前景画像及び背景画像を合成する場合に用いる画像及びアルファデータの説明図である。図7AはステップS5で受け付けた選択に係る背景画像を示しており、背景画像には星の絵柄が写っており、星の絵柄の内外には一色、例えばピンク色が塗られている。背景画像において色が塗られている部分は、左下がり線のハッチングで示されている。
なお、背景画像に塗られる色は一色に限定されない。
図7Bには背景アルファデータが示されている。前述したように、背景アルファデータは各画素における透明度の値を示しており、この透明度の値は透明度が高い程小さい値であって、例えばゼロから255の値である。このように、背景アルファデータは透明度が高い程小さい値を有する。図7Bに示す背景アルファデータにおいては、白色部分は背景画像を透明にしない画素を示し、白色部分における透明度の値は例えば255である。また、黒色部分は背景画像を透明にする画素を示し、黒色部分における透明度の値は例えばゼロである。図7Bにおいて、図7Aの背景画像に写っている星柄内部に対応する部分が白色部分であり、星柄外部に対応する部分が黒色部分である。
図7Cは、ステップS8で取得される人物画像データに係る人物画像を示し、人物画像には人物が写っている。図7Dは、ステップS9で生成される人物アルファデータを示している。人物アルファデータは、前述したように、人物画像の各画素における透明度の値を示しており、この透明度の値は透明度が高い程小さい値であり、例えばゼロから255の値である。このように、人物アルファデータは透明度が高い程小さい値を有する。図7Dに示す人物アルファデータにおいては、白色部分は人物画像の中で透明にしない画素を示し、白色部分における透明度の値は例えば255である。また、黒色部分は人物画像の中で透明にする画素を示し、黒色部分における透明度の値は例えばゼロである。図7Dの人物アルファデータにおいて、図7Cの人物画像に写っている人物に対応する部分が白色部分であり、人物画像に写っている人物以外の部分が黒色部分である。
図7Eは、ステップS5で受け付けた選択に係る前景画像を示し、前景画像には、図7Aの星柄に一部が一致している線と文字「ABCDE」が刻まれたプレートが示されている。図7Fには前景アルファデータが示されている。前景アルファデータは、前述したように、前景画像の各画素における透明度の値を示しており、この透明度の値は透明度が高い程小さい値であり、例えばゼロから255の値である。図7Fに示す前景アルファデータにおいては、白色部分は前景画像を透明にしない画素を示し、白色部分における透明度の値は例えば255である。また、黒色部分は前景画像を透明にする画素を示し、黒色部分における透明度の値は例えばゼロである。図7Fにおいて、図7Eの前景画像に写っている線部分と文字「ABCDE」が刻まれたプレート内部とに対応する部分が白色部分であり、線部分とプレート部分との外部に対応する部分が黒色部分である。
図7Gは、図7Aの背景画像に対応するマスキングデータを示しており、マスキングデータは、人物アルファデータを加工するための加工値、具体的には、人物アルファデータが示す各画素における透明度の値から減算すべき加工値を示している。このように、マスキングデータは人物アルファデータを加工するための値を有している。図7Gのマスキングデータにおいて、白色部分の加工値が大きく、例えば255であり、黒色部分の加工値は小さく、例えばゼロである。図7Gにおいて、白色部分と黒色部分との境界線は、図7Aの星柄の一部と一致している。
図8は、送信用の合成画像の生成処理を示すフローチャートであり、図9は送信用の合成画像の生成処理の説明図である。図8には、CPU60がステップS23で実行する詳細な合成画像の生成処理が示されている。CPU60は、ステップS23で合成画像を生成する場合、まず、図7Cに示す人物画像に、図7Dの人物アルファデータに従って透明処理を施す(ステップS31)。即ち、図7Dに示すアルファデータにおいて、黒色部分を透明にする。これにより、図7Cの人物画像において、人物以外の領域が透明になる。次に、CPU60は、ステップS31で透明処理を施した人物画像を図7Aの背景画像に重畳する(ステップS32)。これによって、図9Aに示すような合成画像、即ち、背景画像に人物が写っている合成画像が得られる。
更に、CPU60は、図7Eに示す前景画像に、図7Fの前景アルファデータに従って透明処理を施す(ステップS33)。即ち、図7Fに示す前景アルファデータにおいて、黒色部分を透明にする。これにより、図7Eの前景画像において、線部分と文字「ABCDE」が刻まれているプレート以外の領域が透明になる。次に、CPU60は、ステップS33で透明処理を施した前景画像を、ステップS32で得た図9Aの合成画像に重畳する(ステップS34)。これによって、図9Bに示すような合成画像、即ち、背景画像に写っている人物の前に星柄の線とプレートとが写っている合成画像が得られる。
以上のようにして、CPU60は、透明処理を施した人物画像及び前景画像と背景画像とを用いて送信用の合成画像を生成する。CPU60は、ステップS34を実行した後、ステップS23における送信用の合成画像の生成処理を終了する。
図10は、合成アルファデータの生成処理を示すフローチャートであり、図11は合成アルファデータ及び送信画像の生成処理の説明図である。図10には、CPU60がステップS25で実行する詳細な合成アルファデータの生成処理が示されている。CPU60は、ステップS25で合成アルファデータを生成する場合、まず、図7Dの人物アルファデータから図7Gのマスキングデータを減算する(ステップS41)。具体的には、人物アルファデータが示す各画素における透明度の値から、マスキングデータにおいて対応する画素の加工値を減算する。
これにより、図7Dに示されている人物アルファデータにおいて、図7Gのマスキングデータが示す白色部分に対応する部分が黒色部分となり、図11Aに示すように、人物に対応する白色部分の下側が黒色部分となる。図11Aのアルファデータにおいて、黒色部分と白色部分との境界線の一部は、図7Aの背景画像に写っている星柄の一部と一致している。
次に、CPU60は、ステップS41でマスキングデータを減算した図11Aの人物アルファデータに、図7Bの背景アルファデータを加算する(ステップS42)。具体的には、マスキングデータを減算した図11Aの人物アルファデータが示す各画素における透明度の値に、図7Bの背景アルファデータにおいて対応する画素の透明度の値を加算する。更に、CPU60は、ステップS42で背景透アルファデータを加算したアルファデータに、図7Fの前景アルファデータを加算する(ステップS43)。具体的には、ステップS42で図7Bの背景アルファデータが加算されたアルファデータが示す各画素における透明度の値に、図7Fの前景アルファデータにおいて対応する画素の透明度の値を加算する。これにより、マスキングデータを減算した図11Aの人物アルファデータにおいて、図7Bに示す背景アルファデータの白色部分に対応する部分は白色部分となり、図7Fに示す前景アルファデータの白色部分に対応する部分も白色部分となり、図11Bに示す合成アルファデータが生成される。
以上のように、CPU60は、図7Dの人物アルファデータ、図7Bの背景アルファデータ、図7Fの前景アルファデータ、及び、図7Gのマスキングデータを用いて、図9Bの合成画像における適切な合成アルファデータを生成する。CPU60は生成手段として機能する。
CPU60は、ステップS43を実行した後、ステップS25における合成アルファデータの生成処理を終了する。
CPU60は、ステップS26において、ステップS23、詳細にはステップS34で生成した図9Bの合成画像に、ステップS25、詳細にはステップS43で生成した図11Bの合成アルファデータに従って透明処理を施す。これにより、図11Cに示す送信画像が生成される。CPU60は処理手段としても機能する。
図11Cで示す横線のハッチングは、送信画像において透明である部分を示している。図11Cに示すように、ステップS26で生成される合成画像において、背景画像の星柄、人物画像の人物、及び、前景画像のプレートからなる輪郭の外側が透明になっている。
以上のように、ステップS23で生成した合成画像に、ステップS25で生成した合成アルファデータに従って透明処理を施すことによって、背景の一部が透明であって、背景画像及び前景画像夫々に描かれた絵柄又は模様等が考慮してあるデザイン性に富んだ送信画像(合成画像)が生成される。
なお、人物画像及び背景画像を合成する場合においても本実施の形態における画像出力装置は同様の効果を奏する。この場合、CPU60は、送信用の合成画像の生成処理においてステップS33,S34を実行せず、ステップS32を実行した後、送信用の合成画像の生成処理を終了する。従って、CPU60は、送信用の合成画像の生成処理では、背景画像に、人物アルファデータに従って透明処理が施された人物画像を重畳することによって、図9Aに示す送信用の合成画像を生成する。このように、CPU60は、人物画像に、人物アルファデータに従って透明処理を施し、透明処理を施した人物画像と背景画像とを用いて送信用の合成画像を生成する。
そして、CPU60は、図10に示す合成アルファデータの生成処理ではステップS43を実行せず、ステップS42を実行した後、合成アルファデータの生成処理を終了する。従って、CPU60は、図10に示す合成アルファデータの生成処理では、マスキングデータを減算した図11Aの人物アルファデータに、図7Bの背景アルファデータを加算する。これにより、図7Aの背景画像において、図7Bが示す背景アルファデータの白色部分に対応する部分は白色部分となり、合成アルファデータが生成される。このように、CPU60は、人物アルファデータ、背景アルファデータ及びマスキングデータを用いて、ステップS23で生成した送信用の合成画像における合成アルファデータを生成する。
次に、CPU60は、ステップS26において、ステップS23で生成された送信用の合成画像に、生成した合成アルファデータに従って透明処理を施す。これにより送信画像が生成される。この場合であっても、送信画像において、背景画像の星柄及び人物画像からなる輪郭の外側が透明になる。このように、背景の一部が透明であって、背景画像及び前景画像夫々に描かれた絵柄又は模様等が考慮してあるデザイン性に富んだ送信画像(合成画像)が生成される。
(2)人物画像、前景画像及び背景画像を合成し、かつ、オーラのような装飾が行われる場合にCPU60が実行する画像処理
この画像処理は、ステップS5で前景画像及び背景画像が選択され、更に、オーラのような装飾を行うことが選択され、ステップS17でユーザによる編集を受け付けなかった場合に行われる。CPU60は、人物画像、前景画像及び背景画像を合成し、かつ、オーラのような装飾が行われる場合においても、図7Aから図7Gに示す画像及びアルファデータを用いる。これらの取得又は生成は、(1)人物画像、前景画像及び背景画像を合成する場合と同様に行われる。
図12は装飾を追加する場合における送信用の合成画像の生成に用いる画像及びアルファデータの説明図である。図12AにはステップS5で受け付けた選択に係る装飾画像が示されており、装飾画像の一面には、一色、例えば緑色が全体に塗られており、この一色で塗られた部分は網掛けのハッチングで示されている。
なお、装飾画像は、一面に一色が全体に塗られた画像に限定されず、例えば2色以上の色が全体に塗られた画像であってもよい。
図12Bには画像アルファデータが示されている。画像アルファデータは、前述したように、装飾画像の各画素における透明度の値を示しており、この透明度の値は、透明度が高い程小さい値であり、例えばゼロから255の値である。
図12Bに示す画像アルファデータにおいて、白色部分は装飾画像の中で透明にしない画素を示し、白色部分における透明度の値は例えば255である。また、黒色部分は装飾画像の中で透明にする画素を示し、黒色部分における透明度の値は例えばゼロである。更に、右下がり線のハッチング部分は装飾画像の中で半透明にする画素を示し、右下がり線のハッチング部分における透明度の値は、白色部分から黒色部分へ向かうにつれて徐々に小さくなる、即ち、透明度が徐々に大きくなる。図12Bの画像アルファデータにおいて、図7Cの人物画像に写っている人物に対応する部分が白色部分であり、人物画像に写っている人物の輪郭外側の周辺の領域が右下がり線のハッチング部分であり、残りの部分が黒色部分である。
CPU60は、ステップS11では、図12Bの画像アルファデータを、ステップS9で生成した人物アルファデータを用いて生成する。CPU60は、ステップS9で生成した図7Dの人物アルファデータにおいて、白色部分及び黒色部分の境界線から黒色部分に向けて透明度の値を徐々に小さくすることによって、図12Bに示す画像アルファデータを生成する。
図13は、送信用の合成画像の生成処理を示すフローチャートであり、図14は送信用の合成画像の生成処理の説明図である。図13には、CPU60がステップS23で実行する詳細な合成画像の生成処理が示されている。CPU60は、ステップS23で合成画像を生成する場合、まず、図12Aに示す装飾画像に、図12Bに示す画像アルファデータに従って透明処理を施す(ステップS51)。即ち、図12Bに示す画像アルファデータにおいて、黒色部分を透明にし、右下がり線のハッチング部分では、白色部分から黒色部分に向かって徐々に透明にする。これにより、図12Aの装飾画像において、図7Cの人物画像に写っている人物と人物の輪郭外側の周辺とに対応する部分以外の領域が透明になる。次に、CPU60は、ステップS51で透明処理を施した装飾画像を図7Aの背景画像に重畳する(ステップS52)。これによって、図14Aに示すような合成画像が得られる。
更に、CPU60は、図7Cに示す人物画像に、図7Dの人物アルファデータに従って透明処理を施す(ステップS53)。これにより、CPU60は、図7Cの人物画像において、人物以外の領域を透明にする。次に、CPU60は、ステップS53で透明処理を施した人物画像を、図14Aの合成画像に重畳する(ステップS54)。これによって図14Bに示すような合成画像、即ち、背景画像に人物とオーラのような装飾とが写っている合成画像が得られる。ここで、人物の周辺外側にある装飾画像では、人物から外側に離れるにつれて徐々に透明度が高い。
更に、CPU60は、図7Eに示す前景画像に、図7Fの前景アルファデータに従って透明処理を施す(ステップS55)。これにより、CPU60は、線部分と文字「ABCDE」が刻まれているプレート以外の領域を透明にする。次に、CPU60は、ステップS55で透明処理を施した前景画像を、図14Bの合成画像に重畳する(ステップS56)。これによって、CPU60は、図14Cに示す合成画像、即ち、背景画像に写っており、オーラのような装飾が施された人物の前に星柄の線とプレートとが写っている送信用の合成画像を生成する。
以上のようにして、CPU60は、透明処理を施した装飾画像、人物画像及び前景画像と背景画像とを用いて送信用の合成画像を生成する。CPU60は、ステップS56を実行した後、ステップS23における送信用の合成画像の生成処理を終了する。
図15は、合成アルファデータの生成処理を示すフローチャートであり、図16は、合成アルファデータ及び送信画像の生成処理の説明図である。図15には、CPU60がステップS25で実行する詳細な合成アルファデータの生成処理が示されている。CPU60は、ステップS25で合成アルファデータを生成する場合、まず、ステップS41と同様に、図7Dの人物アルファデータから図7Gのマスキングデータを減算する(ステップS61)。これにより、図7Dに示されている人物アルファデータにおいて、図7Gのマスキングデータが示す白色部分に対応する部分が黒色部分となり、図16Aに示すように人物に対応する白色部分の下側が黒色部分となる。図16Aに示すアルファデータは図11Aのアルファデータと同じある。
次に、CPU60は、図12Bの画像アルファデータから図7Gのマスキングデータを減算する(ステップS62)。具体的には、図12Bの画像アルファデータが示す各画素における透明度の値から、図7Gのマスキングデータにおいて対応する画素の加工値を減算する。これにより、図12Bの画像アルファデータにおいて、図7Gのマスキングデータが示す白色部分に対応する部分が黒色部分となり、図16Bに示すように、図12Bが示す画像アルファデータの白色部分の下側が黒色部分となる。
次に、CPU60は、ステップS61でマスキングデータを減算した図16Aの人物アルファデータに、ステップS62でマスキングデータを減算した図16Bの画像アルファデータを加算する(ステップS63)。具体的には、マスキングデータを減算した図16Aの人物アルファデータが示す各画素における透明度の値に、マスキングデータを減算した図16Bの人物アルファデータにおいて対応する画素の透明度の値を加算する。次に、CPU60は、ステップS63で図16Bの画像アルファデータが加算されたアルファデータに図7Bの背景アルファデータを加算する(ステップS64)。具体的には、ステップS63で図16Bの画像アルファデータが加算されたアルファデータが示す各画素における透明度の値に、図7Bの背景アルファデータにおいて対応する画素の透明度の値を加算する。更に、CPU60は、ステップS64で背景アルファデータを加算したアルファデータに図7Fの前景アルファデータを加算する(ステップS65)。ここでも、ステップS64で図7Bの背景アルファデータを加算したアルファデータが示す各画素における透明度の値に図7Fの前景アルファデータにおいて対応する画素の透明度の値を加算する。CPU60は、ステップS65を実行した後、ステップS25における合成アルファデータの生成処理を終了する。
CPU60がステップS63を実行することにより、図16Aのアルファデータにおいて、図16Bが示すアルファデータの白色部分に対応する部分は白色部分となり、右下がり線のハッチング部分に対応する部分は右下がり線のハッチング部分となる。更に、CPU60がステップS64,S65を実行することにより、図16Aのアルファデータに図16Bのアルファデータを加算したアルファデータにおいて、図7Bの背景アルファデータにおける白色部分に対応する部分は白色部分となり、図7Fのマスキングデータにおける白色部分に対応する部分も白色部分となり、図16Cに示す合成アルファデータが生成される。
以上のように、CPU60は、図7Dの人物アルファデータ、図7Bの背景アルファデータ、図7Fの前景アルファデータ、図12Bの画像アルファデータ、及び、図7Gのマスキングデータを用いて、送信用の合成画像における合成アルファデータを、図16Cに示すように生成する。
次に、CPU60は、ステップS26において、ステップS23で生成した図14Cの送信用の合成画像に、図16Cの合成アルファデータに従って透明処理を施す。これにより、図16Dに示す送信画像が生成される。ここで、網掛けのハッチング部分においては、人物の輪郭から離れるにつれて徐々に透明になっている。
図16Dで示す横線のハッチングは、送信画像において透明である部分を示している。図16Dに示すように、ステップS26で生成される合成画像において、背景画像の星柄、人物画像の人物、前景画像のプレート、及び、人物の周辺に付加された装飾からなる輪郭の外側が透明になっている。
以上のように、ステップS23で生成した合成画像に、ステップS25で生成した合成アルファデータに従って透明処理を施すことによって、背景の一部が透明であって、背景画像及び前景画像夫々に描かれた絵柄又は模様等と、輪郭外側の周辺に画像が付加されている人物とが考慮してあるよりデザイン性に富んだ送信画像(合成画像)が生成される。
なお、人物画像及び背景画像を合成し、かつ、オーラのような装飾が行われる場合においても本実施の形態における画像出力装置は同様の効果を奏する。この場合、CPU60は、送信用の合成画像の生成処理においてステップS55,S56を実行せず、ステップS54を実行した後、送信用の合成画像の生成処理を終了する。従って、CPU60は、送信用の合成画像の生成処理では、背景画像に、画像アルファデータに従って透明処理を施した装飾画像と、人物アルファデータに従って透明処理を施した人物画像とを重畳することによって、図14Bに示す送信用の合成画像を生成する。このように、CPU60は、人物画像に、人物アルファデータに従って透明処理を施し、装飾画像に、画像アルファデータに従って透明処理を施し、透明処理を施した人物画像及び装飾画像と背景画像とを用いて送信用の合成画像を生成する。
そして、CPU60は、図15に示す合成アルファデータの生成処理ではステップS65を実行せず、ステップS64を実行した後、合成アルファデータの生成処理を終了する。従って、CPU60は、合成アルファデータの生成処理では、ステップS61でマスキングデータを減算した図16Aのアルファデータに、ステップS62でマスキングデータを減算した図16Bのアルファデータと、図7Bの背景アルファデータとを加算する。これにより、図16Aのアルファデータにおいて、図7B及び図16B夫々のアルファデータにおける白色部分に対応する部分は白色部分となり、合成アルファデータが生成される。このように、CPU60は、人物アルファデータ、画像アルファデータ、背景アルファデータ及びマスキングデータを用いて、ステップS23で生成した送信用の合成画像における合成アルファデータを生成する。
次に、CPU60は、ステップS26において、ステップS23で生成された送信用の合成画像に、生成した合成アルファデータに従って透明処理を施す。これにより送信画像が生成される。この場合であっても、送信画像において、背景画像の星柄、人物画像の人物、及び、人物の周辺に付加された装飾からなる輪郭の外側が透明になっている。このように、背景の一部が透明であって、背景画像に描かれた絵柄又は模様等と、輪郭外側の周辺に画像が付加されている人物とが考慮してあるよりデザイン性に富んだ送信画像(合成画像)が生成される。
(3)人物画像、前景画像、背景画像及び編集画像を合成し、かつ、オーラのような装飾が行われる場合においてCPU60が実行する画像処理
この画像処理は、ステップS5で前景画像及び背景画像が選択され、オーラのような装飾を行うことが選択され、更に、ステップS17でユーザによる編集を受け付けた場合に行われる。CPU60は、人物画像、前景画像、背景画像及び編集画像を合成し、かつ、オーラのような装飾が行われる場合においても、図7Aから図7G、図12A及び図12Bに示す画像及びアルファデータを用いる。これらの取得又は生成は、(2)人物画像、前景画像及び背景画像を合成し、かつ、オーラのような装飾が行われる場合と同様に行われる。
図17は、編集を更に受け付ける場合における送信用の合成画像の生成に用いる画像及びアルファデータの説明図である。図17Aには、ステップS17で受け付けた編集によって生成され、ステップS19で取得する編集画像に係る編集画像が示されており、編集画像の上側には、文字「abc」と2つの小さな星柄の図形とが写っている。文字「abc」及び2つの小さな星柄の図形は種々の色で描かれており、種々の色は縦線のハッチングで示されている。図17Bには、CPU60がステップS20で生成する編集アルファデータが示されている。編集アルファデータは、編集画像の各画素における透明度の値を示しており、この透明度の値は、透明度が高い程小さい値であり、例えばゼロから255の値である。
編集画像は付加画像に該当し、編集アルファデータは付加アルファデータに該当する。
図17Bに示す編集アルファデータにおいて、白色部分は編集画像の中で透明にしない画素を示し、白色部分における透明度の値は例えば255である。また、黒色部分は、編集画像の中で透明にする画素を示し、黒色部分における透明度の値は例えばゼロである。図17Bの編集アルファデータにおいて、図17Aの編集画像に写っている文字「abc」及び2つの小さな星柄の図形に対応する部分が白色部分である。図17Bのアルファデータにおいて、図17Aの編集画像に写っている文字「abc」及び2つの小さな星柄の図形以外の部分に対応する部分が黒色部分である。
図18は、送信用の合成画像の生成処理を示すフローチャートであり、図19は送信用の合成画像の生成処理の説明図である。図18には、CPU60がステップS21で実行する詳細な合成画像の生成処理が示されている。CPU60が実行するステップS71からS76は、(2)人物画像、前景画像及び背景画像を合成し、かつ、オーラのような装飾が行われる場合にCPU60が送信用の合成画像の生成処理で実行する図13のステップS51からS56と同様であるため詳細な説明を省略する。
CPU60は、ステップS71からS76を実行することによって、図14Cに示す合成画像を生成する。CPU60は、ステップS76を実行した後、図17Aに示す編集画像に、図17Bの編集アルファデータに従って透明処理を施す(ステップS77)。これにより、図17Aの編集画像において、文字「abc」及び2つの小さな星柄の図形以外の領域を透明にする。次に、CPU60は、透明処理を施した編集画像を、図14Cの合成画像に重畳する(ステップS78)。これによって図19に示すような合成画像、即ち、背景画像に写っており、オーラのような装飾が施された人物の前に星柄の線とプレートと文字「abc」と2つの小さな星柄の図形とが写っている送信用の合成画像を生成する。
以上のようにして、CPU60は、透明処理を施した装飾画像、人物画像、前景画像及び編集画像と背景画像とを用いて送信用の合成画像を生成する。また、第1編集部4aのタブレットディスプレイ40aがユーザから受け付けた文字「abc」及び小さな2つの星柄の図形が図14Cの合成画像に示されており、ユーザは、好みの文字及び/又は図形が写っている合成画像を生成することができる。
CPU60は、ステップS78を実行した後、ステップS23における送信用の合成画像の生成処理を終了する。
図20は、合成アルファデータの生成処理を示すフローチャートであり、図21は、合成アルファデータ及び送信画像の生成処理の説明図である。図20には、CPU60がステップS25で実行する詳細な合成アルファデータの生成処理が示されている。CPU60が実行するステップS81からS85は、(2)人物画像、前景画像及び背景画像を合成し、かつ、オーラのような装飾が行われる場合にCPU60が合成アルファデータの生成処理で実行する図15のステップS61からS65と同様であるため詳細な説明を省略する。
CPU60は、ステップS81からS85を実行することによって、図16Cに示すアルファデータを生成する。CPU60は、ステップS85を実行した後、図16Cに示すアルファデータに、図17Bの編集アルファデータを加算する(ステップS86)。具体的には、図16Cのアルファデータが示す各画素における透明度の値から、編集アルファデータにおいて対応する透明度の値を加算する。これにより、図16Cのアルファデータにおいて、図17Bの編集アルファデータにおける白色部分に対応する部分は白色部分となり、図21Aに示す合成アルファデータが生成される。
以上のように、CPU60は、図7Dの人物アルファデータ、図7Bの背景アルファデータ、図7Fの前景アルファデータ、図12Bの画像アルファデータ、図17Bの編集アルファデータ、及び、図7Gのマスキングデータを用いて、送信用の合成画像における合成アルファデータを、図21Aに示すように生成する。
CPU60は、ステップS86を実行した後、ステップS24における合成アルファデータの生成処理を終了する。
次に、CPU60は、ステップS26において、ステップS23で生成した図19の送信用の合成画像に、図21Aの合成アルファデータに従って、透明処理を施す。これにより、図21Bに示す送信画像が生成される。ここで、網掛けのハッチング部分においては、人物の輪郭から離れるにつれて徐々に透明になっている。
図21Bで示す横線のハッチングは、送信画像において透明である部分を示している。図21Bに示すように、ステップS26で生成される合成画像において、背景画像の星柄、人物画像の人物、前景画像のプレート、編集画像の文字及び図形、並びに、人物の周辺に付加された装飾からなる輪郭の外側が透明になっている。
以上のように、ステップS23で生成した合成画像に、ステップS25で生成した合成アルファデータに従って透明処理を施すことによって、背景の一部が透明であって、背景画像及び前景画像夫々に描かれた絵柄又は模様等と、編集画像の文字及び図形と、輪郭外側の周辺に画像が付加されている人物とが考慮してあるよりデザイン性に富んだ送信画像(合成画像)が生成される。
なお、人物画像、背景画像及び編集画像を合成する場合においても本実施の形態における画像出力装置は同様の効果を奏する。この場合、CPU60は、送信用の合成画像の生成処理において、ステップS71,S72,S75,S76を実行しない。CPU60は、ステップS23で送信用の合成画像を生成する場合には、まず、ステップS73を実行する。更に、CPU60はステップS74を実行した後、ステップS77を実行する。
従って、CPU60は、送信用の合成画像の生成処理では、背景画像に、人物アルファデータに従って透明処理を施した人物画像と、編集アルファデータに従って透明処理を施した編集画像とを重畳する。これにより、CPU60は、背景画像に、人物画像に写っている人物と、編集画像に写っている文字「abc」と2つの小さな星柄の図形とが重畳された送信用の合成画像を生成する。このように、CPU60は、人物画像に、人物アルファデータに従って透明処理を施し、編集画像に、編集アルファデータに従って透明処理を施し、透明処理を施した人物画像及び編集画像と背景画像とを用いて合成画像を生成する。
そして、CPU60は、図20に示す合成アルファデータの生成処理ではステップS82,S83,S85を実行しない。従って、CPU60は、ステップS81を実行した後、ステップS84を実行する。CPU60は、ステップS81でマスキングデータを減算した図16Aのアルファデータに図7Bの背景アルファデータを加算する。CPU60は、ステップS84を実行した後、ステップS86を実行する。CPU60は、ステップS86では、ステップS84で背景アルファデータを加算した人物アルファデータに、図17Bの編集アルファデータを加算する。従って、CPU60は、合成アルファデータの生成処理では、ステップS81でマスキングデータを減算した図16Aのアルファデータに、図7Bの背景アルファデータと図17Bの編集アルファデータとを加算する。これにより、図16Aのアルファデータにおいて、図7Bの背景アルファデータ及び図17Bの編集アルファデータ夫々の白色部分に対応する部分は白色部分となり、合成アルファデータが生成される。このように、CPU60は、人物アルファデータ、背景アルファデータ、編集アルファデータ及びマスキングデータを用いて、ステップS23で生成した送信用の合成画像における合成アルファデータを生成する。
次に、CPU60は、ステップS26において、ステップS23で生成された送信用の合成画像に、生成した合成アルファデータに従って透明処理を施す。これにより送信画像が生成される。この場合であっても、送信画像において、背景画像の星柄、人物画像の人物、並びに、編集画像の文字「abc」及び図形からなる輪郭の外側が透明になっている。このように、背景の一部が透明であって、背景画像に描かれた絵柄又は模様等と、人物画像に写っている人物と、編集画像に写っている文字及び図形とが考慮してあるよりデザイン性に富んだ送信画像(合成画像)が生成される。
また、人物画像、前景画像、背景画像及び編集画像を合成する場合においても本実施の形態における画像出力装置は同様の効果を奏する。この場合、CPU60は、送信用の合成画像の生成処理において、ステップS71,S72を実行しない。CPU60は、ステップS23で送信用の合成画像を生成する場合には、まず、ステップS73を実行する。更に、CPU60はステップS74を実行した後、ステップS77を実行する。
従って、CPU60は、送信用の合成画像の生成処理では、背景画像に、人物アルファデータに従って透明処理を施した人物画像と、前景アルファデータに従って透明処理を施した前景画像と、編集アルファデータに従って透明処理を施した編集画像とを重畳する。これにより、CPU60は、背景画像に、人物画像に写っている人物と、前景画像に写っている星柄の線及びプレートと、編集画像に写っている文字「abc」と2つの小さな星柄の図形とが重畳された送信用の合成画像を生成する。このように、CPU60は、人物画像に、人物アルファデータに従って透明処理を施し、前景画像に前景アルファデータに従って透明処理を施し、編集画像に、編集アルファデータに従って透明処理を施し、透明処理を施した人物画像、前景画像及び編集画像と背景画像とを用いて合成画像を生成する。
そして、CPU60は、図20に示す合成アルファデータの生成処理ではステップS82,S83を実行しない。従って、CPU60は、ステップS81を実行した後、ステップS84を実行する。CPU60は、合成アルファデータの生成処理では、ステップS81でマスキングデータを減算した図16Aの人物アルファデータに、図7Bの背景アルファデータと、図7Fの前景アルファデータと、図17Bの編集アルファデータとを加算する。これにより、マスキングデータを減算した図16Aの人物アルファデータにおいて、図7Bの背景アルファデータ、図7Fの前景アルファデータ及び図17Bの編集アルファデータ夫々の白色部分に対応する部分は白色部分となり、合成アルファデータが生成される。このように、CPU60は、人物アルファデータ、背景アルファデータ、前景アルファデータ、編集アルファデータ及びマスキングデータを用いて、ステップS23で生成した送信用の合成画像における合成アルファデータを生成する。
次に、CPU60は、ステップS26において、ステップS23で生成された送信用の合成画像に、生成した合成アルファデータに従って透明処理を施す。これにより送信画像が生成される。この場合であっても、送信画像において、背景画像の星柄、人物画像の人物、前景画像のプレート、並びに、編集画像の文字「abc」及び図形からなる輪郭の外側が透明になっている。このように、背景の一部が透明であって、背景画像及び前景画像に描かれた絵柄又は模様等と、人物画像に写っている人物と、編集画像に写っている文字及び図形とが考慮してあるよりデザイン性に富んだ送信画像(合成画像)が生成される。
更に、人物画像、背景画像及び編集画像を合成し、かつ、オーラのような装飾が行われる場合においても本実施の形態における画像出力装置は同様の効果を奏する。この場合、CPU60は、送信用の合成画像の生成処理において、ステップS75,S76を実行しない。CPU60は、ステップS74を実行した後、ステップS77を実行する。
従って、CPU60は、送信用の合成画像の生成処理では、背景画像に、人物アルファデータに従って透明処理を施した人物画像と、画像アルファデータに従って透明処理を施した装飾画像と、編集アルファデータに従って透明処理を施した編集画像とを重畳する。これにより、CPU60は、背景画像に、人物画像に写っている人物にオーラのような装飾を施した人物と、編集画像に写っている文字「abc」と2つの小さな星柄の図形とが重畳された送信用の合成画像を生成する。このように、CPU60は、人物画像に、人物アルファデータに従って透明処理を施し、装飾画像に、画像アルファデータに従って透明処理を施し、編集画像に、編集アルファデータに従って透明処理を施し、透明処理を施した人物画像、装飾画像及び編集画像と背景画像とを用いて合成画像を生成する。
そして、CPU60は、図20に示す合成アルファデータの生成処理ではステップS85を実行しない。従って、CPU60は、ステップS84を実行した後、ステップS86を実行する。CPU60は、ステップS86では、ステップS84で背景アルファデータを加算したアルファデータに、図17Bの編集アルファデータを加算する。従って、CPU60は、合成アルファデータの生成処理では、ステップS81でマスキングデータを減算した図16Aの人物アルファデータに、ステップS82でマスキングデータを減算した図16Bの画像アルファデータと図7Bの背景アルファデータと図17Bの編集アルファデータとを加算する。これにより、図16Aのアルファデータにおいて、図16Bのアルファデータ、図7Bの背景アルファデータ及び図17Bの編集アルファデータ夫々の白色部分に対応する部分は白色部分となり、合成アルファデータが生成される。このように、CPU60は、人物アルファデータ、背景アルファデータ、画像アルファデータ、編集アルファデータ及びマスキングデータを用いて、ステップS23で生成した送信用の合成画像における合成アルファデータを生成する。
次に、CPU60は、ステップS26において、ステップS23で生成された送信用の合成画像に、生成した合成アルファデータに従って透明処理を施す。これにより送信画像が生成される。この場合であっても、送信画像において、背景画像の星柄、人物画像の人物、人物の周辺に付加された装飾、並びに、編集画像の文字「abc」及び図形からなる輪郭の外側が透明になっている。このように、背景の一部が透明であって、背景画像に描かれた絵柄又は模様等と、輪郭外側の周辺に画像が付加されている人物と、編集画像に写っている文字及び図形とが考慮してあるよりデザイン性に富んだ送信画像(合成画像)が生成される。
なお、編集画像には文字及び図形が共に写っている必要はない。例えば、文字及び図形の少なくとも一方が写っていればよい。この場合においても、背景の一部が透明であって、背景画像に描かれた絵柄又は模様等と、人物画像に写っている人物と、編集画像に写っている文字及び/又は図形とが考慮してあるよりデザイン性に富んだ送信画像(合成画像)が生成される。また、編集画像に写っている文字は「abc」に限定されない。
更に、人物画像、前景画像、背景画像及び編集画像を合成し、かつ、オーラのような装飾が行われる場合においては、編集画像の文字及び/又は図形が人物画像の後側に描がかれているように合成画像を生成することも可能である。この場合、CPU60は、ステップS23で、背景画像に透明処理を施した装飾画像を重畳した合成画像に、透明処理を施した編集画像を重畳し、その後、透明処理を施した人物画像及び前景画像を重畳する。
また、CPU60は、編集画像の文字及び/又は図形が人物画像の後側に描がかれているように合成画像を生成する他の構成として、図17Bの編集アルファデータから図7Dの人物アルファデータを減算する構成がある。これにより、図17Bの編集アルファデータにおいて、図7Dの人物アルファデータが示す白色部分が黒色部分となる。人物アルファデータが減算してある編集アルファデータに従って編集画像に透明処理を施すことによって、透明処理を施された編集画像では、人物画像に写っている人物によって隠れる部分が透明となる。このようにして、編集画像の文字及び/又は図形が人物画像の後側に描がかれているように合成画像を生成することが可能である。
また、人物アルファデータ、背景アルファデータ、前景アルファデータ、画像アルファデータ及び編集アルファデータが示す各画素における透明度の値は、透明度が高い程小さい値でなくてもよく、CPU60は、合成アルファデータを生成する場合に人物アルファデータ及び/又は装飾アルファデータからマスキングデータを減算しなくてもよい。例えば、人物アルファデータ、背景アルファデータ、前景アルファデータ、装飾アルファデータ及び編集アルファデータが示す透明度の値は、透明度が高い程大きい値であってもよい。この場合、CPU60は、例えば、合成アルファデータを生成する場合に人物アルファデータ及び/又は装飾アルファデータにマスキングデータを加算し、背景アルファデータ、前景アルファデータ又は画像アルファデータ等を減算する。
なお、本実施の形態では、本発明を画像処理装置として機能する画像出力装置に適用する場合を説明したが、本発明を適用する装置は画像出力装置に限定されない。本発明を、例えば、シール紙への印刷を行わずに、送信画像のみを生成する画像処理装置に適用してもよい。本発明は、複数の画像に透明処理を施して背景の一部が透明である画像を生成する画像処理装置に適用することが可能である。