画像処理装置、画像処理方法、及びプログラム
【課題】人物等の前景物体に対して任意の背景を合成するために必要な画像処理に対する操作を簡便にすること。
【解決手段】切抜処理部102は、前景物体を含む処理対象画像のデータについて、前景物体を含む前景領域と、背景領域と、それらの境界領域とを検出する。切抜処理部102は、処理対象画像を表示部38に表示するに際し、境界領域を他の領域とは識別可能な第1の色で表示させ、背景領域を、処理対象画像の色とは異なる第2の色で表示させる制御を実行する。
【解決手段】切抜処理部102は、前景物体を含む処理対象画像のデータについて、前景物体を含む前景領域と、背景領域と、それらの境界領域とを検出する。切抜処理部102は、処理対象画像を表示部38に表示するに際し、境界領域を他の領域とは識別可能な第1の色で表示させ、背景領域を、処理対象画像の色とは異なる第2の色で表示させる制御を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、人物等の前景物体に対して任意の背景を合成し、その結果得られる合成画像を印刷する技術が存在する。
【0003】
例えば特許文献1には、人物写真等を別の背景と合成して印刷する技術として、別の背景画像を人物の背後のスクリーンに直接投影する技術が開示されている。また、特許文献1には、クロマキー合成に用いるためにブルーバック背景を投影する技術や、映画でよく用いられる、いわゆるクロマキー合成処理との組み合せの技術についても開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−77958号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、スクリーンや投影装置等を用いることなく、画像処理のみによって任意の背景に任意の画像から切り抜いた前景物体を合成したいという要求が近年挙げられているが、特許文献1の技術では、当該要求に応えることができない。
【0006】
本発明は、このような状況に鑑みてなされたものであり、スクリーンや投影装置等を用いることなく、任意の背景に任意の画像から切り抜いた前景物体を合成するために必要な画像処理を実現し、ひいては当該画像処理に対する操作を簡便にすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様によると、
前景物体を含む処理対象画像のデータについて、前記前景物体を含む前景領域と、背景領域と、前記前景領域と前記背景領域との境界を示す境界領域とを検出する検出手段と、
前記処理対象画像を表示するに際し、前記境界領域を他の領域とは識別可能な第1の色で表示させ、前記背景領域を、前記第1の色とは異なる第2の色で表示させる制御を実行する表示制御手段と、
を備える画像処理装置を提供する。
【0008】
本発明の一態様によると、上述した本発明の一態様に係る画像処理装置に対応する画像処理方法及びプログラムの各々を提供する。
【発明の効果】
【0009】
本発明によれば、スクリーンや投影装置等を用いることなく、任意の背景を前景物体に合成するために必要な画像処理を実現し、ひいては当該画像処理に対する操作を簡便にすることができる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施の形態に係る画像処理システムの構成を示すブロック図である。
【図2】図1の画像処理システムのクライアント機器のハードウェア構成を示すブロック図である。
【図3】図1の画像処理システムのサーバのハードウェア構成を示すブロック図である。
【図4】図2のハードウェア構成を有するクライアント機器と、図3のハードウェア構成を有するサーバとが協働して切抜処理を実行する場合の画像処理システムの機能的構成を示す機能ブロック図である。
【図5】図4のクライアント機器が切抜指定処理を実行する場合に取り得る各状態の一例を示す状態遷移図である。
【図6】図4の画像処理システムの切抜処理で用いられる基本画面の一例を示す図である。
【図7】図5の切抜指定処理で用いられる切抜領域指定画面の一例を示す図である。
【図8】図5の切抜指定処理で用いられる切抜修正指定画面の一例を示す図である。
【図9】図5の切抜指定処理の一部に対応する切抜領域修正処理の流れを説明するフローチャートである。
【図10】図4のクライアント機器が仕上調整処理を実行する場合に取り得る各状態の一例を示す状態遷移図である。
【図11】図10の仕上調整処理内で実行されるマット処理の流れを説明するフローチャートである。
【図12】図10の仕上調整処理で用いられる仕上確認画面の一例を示す図である。
【図13】図10の仕上調整処理で用いられる仕上調整画面の一例を示す図である。
【図14】図1のクライアント機器とサーバとが協同して切り抜き処理を実行する場合の相互の処理の関係について説明するフローチャートである。
【図15】図14のクライアント側処理の切抜処理の流れを説明するフローチャートである。
【図16】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図17】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図18】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図19】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図20】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図21】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図22】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図23】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図24】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図25】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図26】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図27】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図28】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図29】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の一実施の形態を図面に基づいて説明する。
【0012】
図1は、本発明の一実施の形態に係る画像処理システムの構成を示すブロック図である。
【0013】
図1に示す画像処理システムは、クライアント機器11−1乃至11−N(Nは1以上の任意の整数値)と、サーバ12と、を備えている。
クライアント機器11−1乃至11−N及びサーバ12の各々は、インターネット等の所定のネットワーク21を介して相互に接続されている。
なお、以下、クライアント機器11−1乃至11−Nの個々を区別する必要が無い場合、これらをまとめて、「クライアント機器11」と呼ぶ。
【0014】
クライアント機器11は、ネットワーク21を介して接続したサーバ12と協働して、人物等の着目物体(以下「前景」と呼ぶ)を含む画像を原画像として、当該原画像から前景を切り抜く画像処理を実行することができる。このような画像処理を、以下、「切抜処理」と呼ぶ。
このような切抜処理により原画像から切り出された前景は、原画像とは別の新たな背景と合成され、その結果得られる合成画像が紙媒体等に印刷されてユーザに提供される。
【0015】
図2は、このような切抜処理を実行するためのクライアント機器11のハードウェア構成を示すブロック図である。クライアント機器11は、例えばカメラ付きパーソナルコンピュータにより構成することができる。
【0016】
クライアント機器11は、CPU(Central Processing Unit)31と、ROM(Read Only Memory)32と、RAM(Random Access Memory)33と、バス34と、入出力インターフェース35と、撮像部36と、操作部37と、表示部38と、記憶部39と、通信部40と、ドライブ41と、を備えている。
【0017】
CPU31は、ROM32に記録されているプログラムに従って、又は、記憶部39からRAM33にロードされたプログラムに従って、各種の処理を実行する。
RAM33にはまた、CPU31が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0018】
例えば本実施形態では、後述する図4の通信制御部101を実現するプログラムが、ROM32や記憶部39に記憶されている。また、後述する図4の切抜処理部102を実現するプログラム(切抜処理を実行するプログラムであり、以下、「切抜処理用プログラム」と呼ぶ)は、サーバ12から提供されてRAM33に展開される。従って、CPU31が、これらのプログラムに従った処理を実行することで、図4の通信制御部101及び切抜処理部102の各機能を実現することができる。
【0019】
CPU31、ROM32、及びRAM33は、バス34を介して相互に接続されている。このバス34にはまた、入出力インターフェース35も接続されている。入出力インターフェース35には、撮像部36、操作部37、表示部38、記憶部39、通信部40、及びドライブ41が接続されている。
【0020】
撮像部36は、図示はしないが、光学レンズ部と、イメージセンサと、を備えている。
【0021】
光学レンズ部は、被写体を撮像するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。
フォーカスレンズは、イメージセンサの受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。
光学レンズ部にはまた、必要に応じて、焦点、露出、ホワイトバランス等の設定パラメータを調整する周辺回路が設けられる。
【0022】
イメージセンサは、光電変換素子や、AFE(Analog Front End)等から構成される。
光電変換素子は、例えばCMOS(Complementary Metal Oxide Semiconductor)型の光電変換素子等から構成される。光電変換素子には、光学レンズ部から被写体像が入射される。そこで、光電変換素子は、一定時間毎に被写体像を光電変換(撮像)して画像信号を蓄積し、蓄積した画像信号をアナログ信号としてAFEに順次供給する。
AFEは、このアナログの画像信号に対して、A/D(Analog/Digital)変換処理等の各種信号処理を施す。各種信号処理によって、デジタル信号が生成され、撮像部36の出力信号として出力される。
なお、以下、撮像部36の出力信号を、「撮像画像のデータ」と呼ぶ。従って、撮像部36からは撮像画像のデータが出力されて、CPU31等に適宜供給される。
【0023】
操作部37は、キーボードやマウス等で構成され、ユーザの指示操作を受け付ける。
表示部38は、液晶ディスプレイ等で構成され、各種画像を表示する。
記憶部39は、ハードディスク等で構成され、撮像部36から出力された撮像画像のデータ等、画像処理の対象となる画像のデータを一時記憶する。また、記憶部39は、各種画像処理に必要な各種データ、例えば、画像のデータ、各種フラグの値、閾値等も記憶する。
通信部40は、ネットワーク21を介してサーバ12(図1)等の他の装置との間で行う通信を制御する。
例えば本実施形態では、各種データの他、上述の如く切抜処理用プログラムがサーバ12から送信されてくる場合がある。このような場合、通信部40は、当該切抜処理用プログラムを受信して記憶部39に一旦記憶させる。記憶部39に記憶された切抜処理用プログラムは、RAM33に展開されてCPU31により実行される。
【0024】
ドライブ41には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア42が適宜装着される。
ドライブ41によってリムーバブルメディア42から読み出されたプログラムは、必要に応じて記憶部39にインストールされる。また、リムーバブルメディア42は、記憶部39に記憶されている画像のデータ等の各種データも、記憶部39と同様に記憶することができる。
【0025】
図3は、このようなクライアント機器11と協働して切抜処理を実行するためのサーバ12のハードウェア構成を示すブロック図である。
【0026】
サーバ12は、CPU51と、ROM52と、RAM53と、バス54と、入出力インターフェース55と、入力部56と、出力部57と、記憶部58と、通信部59と、ドライブ60と、を備えている。
【0027】
CPU51は、ROM52に記録されているプログラムに従って、又は、記憶部58からRAM53にロードされたプログラムに従って、各種の処理を実行する。
RAM53にはまた、CPU51が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0028】
例えば本実施形態では、後述する図4の通信制御部151及び主制御部152の各機能を実現するプログラムが、ROM52や記憶部58に記憶されている。従って、CPU51が、これらのプログラムに従った処理を実行することで、図4の通信制御部151及び主制御部152の各機能を実現することができる。
【0029】
CPU51、ROM52、及びRAM53は、バス54を介して相互に接続されている。このバス54にはまた、入出力インターフェース55も接続されている。入出力インターフェース55には、入力部56、出力部57、記憶部58、通信部59、及びドライブ60が接続されている。
【0030】
入力部56は、キーボードやマウス等で構成され、各種情報を入力する。
出力部57は、液晶ディスプレイ、スピーカ、プリンタ等で構成され、各種情報を出力する。例えば、クライアント機器11の切抜処理によって原画像から切り抜かれた前景と、原画像とは別の新背景とが合成され、その結果得られる合成画像が、プリンタにより紙媒体等に印刷されて出力される。
記憶部58は、ハードディスク等で構成され、各種情報を記憶する。
通信部59は、ネットワーク21を介してクライアント機器11(図1)等の他の装置との間で行う通信を制御する。
【0031】
ドライブ60には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア61が適宜装着される。
ドライブ60によってリムーバブルメディア61から読み出されたプログラムは、必要に応じて記憶部58にインストールされる。また、リムーバブルメディア61は、記憶部58に記憶されている画像のデータ等の各種データも、記憶部58と同様に記憶することができる。
【0032】
図4は、図2のハードウェア構成を有するクライアント機器11と、図3のハードウェア構成を有するサーバ12とが協働して切抜処理を実行する場合の画像処理システムの機能的構成を示す機能ブロック図である。
【0033】
[クライアント機器11の機能的構成]
初めに、画像処理システムの構成要素のうち、クライアント機器11の機能的構成について説明する。
【0034】
クライアント機器11がネットワーク21を介してサーバ12と通信をする場合、クライアント機器11のCPU31において、通信制御部101が機能する。
即ち、通信制御部101は、通信部40及びネットワーク21を介してサーバ12と接続して、各種情報を授受するための制御を実行する。
例えば、通信制御部101は、切抜処理用プログラムがサーバ12から送信されてきた場合、ネットワーク21を介して通信部40に受信させ、記憶部39のプログラム記憶部131に一旦記憶させる。
このようにしてプログラム記憶部131に記憶された切抜処理用プログラムがRAM33(図2)に展開されて実行されると、CPU31において、切抜処理部102が機能する。
【0035】
切抜処理部102は、切抜処理を実行すべく、切抜指定部111と、仕上調整部112と、を備えている。仕上調整部112は、領域演算処理部121を備えている。
【0036】
即ち、切抜処理を実現する切抜処理用プログラムは、大別すると、切抜指定プログラムと、仕上調整プログラムと、に分類される。
【0037】
切抜処理用プログラムのうち切抜指定プログラムが実行される場合には、切抜処理部102のうち切抜指定部111が機能する。
切抜指定プログラムとは、処理対象の原画像から、切抜対象としてユーザにより選択される前景の領域(以下、「選択領域」と呼ぶ)の指定を行い、選択領域の境界部分をきれいに仕上げる(境界領域の重ね合わせを滑らかにする)ための演算を行い、その演算結果を保存するまでの一連の処理(以下、「切抜指定処理」と呼ぶ)を実現するプログラムである。
なお、選択領域の境界部分をきれいに仕上げる(境界領域の重ね合わせを滑らかにする)ための演算を、以下、「領域演算」と呼ぶ。
切抜指定プログラムでは、処理途中の状態でもデータの保存が可能になっており、処理途中の状態で保存されたデータが再度読み込まれた場合、保存された時点の状態から処理の継続が可能になる。即ち、ユーザにとっては、保存された状態から継続して作業を行うことが可能になる。
【0038】
一方、切抜処理用プログラムのうち仕上調整プログラムが実行される場合には、切抜処理部102のうち仕上調整部112が機能する。
即ち、上述の切抜指定プログラムのみが実行されても、境界領域の仕上げを行った選択領域を特定可能なデータが得られるが、ユーザが、さらに高精細な合成画像を得たいと所望した場合や境界領域の調整を行いたいと所望した場合等に実行されるプログラムが、仕上調整プログラムである。
仕上調整プログラムでは、切抜指定プログラムによる切抜指定処理の結果が読み込まれ、領域演算を伴う各種処理(これらをまとめて、「仕上調整処理」と呼ぶ)が実行される。この仕上調整処理における領域演算は、後述するマット処理を伴うものであるため、このマット処理も含めた領域演算を実行する処理を、以下、「領域演算処理」と呼ぶ。
このマット処理が実行される場合には、仕上調整部112のうち、領域演算処理部121が機能する。
仕上調整プログラムでは、処理途中の状態でもデータの保存が可能になっており、処理途中の状態で保存されたデータが再度読み込まれた場合、保存された時点の状態から処理の継続が可能になる。即ち、ユーザにとっては、保存された状態から継続して作業を行うことが可能になる。
【0039】
なお、切抜指定部111、仕上調整部112、及び、領域演算処理部121の各々が有する各機能の更なる詳細については、図5以降の図面を参照して後述する。
【0040】
このように、本実施形態では、通信制御部101及び切抜処理部102は、図2に示す構成のうち、CPU31というハードウェアと、プログラム(ソフトウェア)との組み合わせとして構成されている。
しかしながら、これは例示であって、通信制御部101及び切抜処理部102の機能の少なくとも一部を、CPU31以外の他の構成要素に移譲させることも当然可能である。
【0041】
また、本実施形態では、記憶部39の一領域として、プログラム記憶部131と、画像記憶部132と、が設けられている。
プログラム記憶部131は、通信制御部101を実現するプログラムを予め記憶している。また、上述したように、通信制御部101の制御により切抜処理用プログラムが受信された場合、当該切抜処理用プログラムはプログラム記憶部131に記憶される。
画像記憶部132は、切抜処理部102が切抜処理を実行する際の処理対象となる各種画像のデータを所定のファイル形式で記憶する。画像記憶部132に記憶され得る画像のデータの具体例については、後述する。
なお、プログラム記憶部131及び画像記憶部132が記憶部39の一領域として設けられていることは例示にすぎず、その他例えば、リムーバブルメディア42の一領域として設けられるようにしてもよい。また、画像記憶部132は、クライアント機器11に設けられている必要は特になく、例えば、通信部40及びネットワーク21を介して接続される他の装置内に設けられていてもよい。
【0042】
以上、画像処理システムの構成要素のうち、クライアント機器11の機能的構成について説明した。次に、画像処理システムの構成要素のうち、サーバ12の機能的構成について説明する。
【0043】
[サーバ12の機能的構成]
クライアント機器11がネットワーク21を介して接続するサーバ12と協働して切抜処理を実行する場合、サーバ12のCPU51においては、通信制御部151と、主制御部152と、が機能する。
【0044】
通信制御部151は、通信部59及びネットワーク21を介してクライアント機器11と接続して、各種情報を授受するための制御を実行する。
例えば、通信制御部151は、クライアント機器11からアクセスされると(例えば後述するログイン処理がなされると)、記憶部58のプログラム記憶部161に記憶されていた切抜処理用プログラムを読み出して、通信部59からネットワーク21を介してクライアント機器11に対して送信する(後述する図14のステップS201,S221,S223参照)。
また例えば、通信制御部151は、切抜処理後の画像等、各種画像のデータがクライアント機器11から送信されてきた場合、各種画像のデータをネットワーク21を介して通信部59に受信させ、記憶部58の画像記憶部162に記憶させる。
その後例えば、画像記憶部162に記憶された画像のデータに基づいて、切抜処理によって原画像から切り抜かれた前景と、原画像とは別の新背景とが合成され、その結果得られる合成画像が、プリンタにより紙媒体等に印刷されて出力される。
【0045】
主制御部152は、クライアント機器11がネットワーク21と接続してサーバ12と協働して切抜処理を実行する場合、サーバ12全体を制御する。
なお、主制御部152の制御の詳細については、図14等を参照して後述する。
【0046】
このように、本実施形態では、通信制御部151及び主制御部152は、図3に示す構成のうち、CPU51というハードウェアと、プログラム(ソフトウェア)との組み合わせとして構成されている。
しかしながら、これは例示であって、通信制御部151及び主制御部152の機能の少なくとも一部を、CPU51以外の他の構成要素に移譲させることも当然可能である。
【0047】
また、本実施形態では、記憶部58の一領域として、プログラム記憶部161と、画像記憶部162と、が設けられている。
プログラム記憶部161は、通信制御部151及び主制御部152の各々を実現するプログラムを予め記憶している。プログラム記憶部161はまた、上述の如く、クライアント機器11に対してダウンロードさせることが可能な、切抜処理用プログラムを予め記憶している。
画像記憶部162は、上述したように、クライアント機器11から送信されて通信部59に受信された、各種画像のデータを所定のファイル形式で記憶する。画像記憶部162に記憶され得る画像のデータの具体例については、後述する。
なお、プログラム記憶部161及び画像記憶部162が記憶部58の一領域として設けられていることは例示にすぎず、その他例えば、リムーバブルメディア61の一領域として設けられるようにしてもよい。また、画像記憶部162は、サーバ12に設けられている必要は特になく、例えば、通信部59及びネットワーク21を介して接続される他の装置内に設けられていてもよい。
【0048】
次に、このような図4の機能的構成を有する画像処理システムが実行する切抜処理の詳細について説明する。
先ず、図5乃至図9を参照して、切抜処理のうち、切抜指定処理の詳細について説明する。
【0049】
図5は、クライアント機器11が切抜指定処理を実行する場合に取り得る各状態の一例を示す状態遷移図である。
【0050】
図5において、各状態は、1つの楕円で示されており、その楕円に引かれた“S”を含む符号により判別される。
1つの状態から1つの状態への状態遷移(同一の状態に留まる場合も含む)は、所定の条件(以下、「状態遷移条件」と呼ぶ)が満たされると実行される。
このような状態遷移条件は、図5おいては、1つの状態から1つの状態への遷移を表す矢印に、“C”を含む符号を付して表されている。
なお、本段落の内容は、後述する図10の状態遷移図についても同様にあてはまる。
【0051】
前提として、本実施形態では、処理対象画像のデータは、切抜指定処理の開始前に予め画像記憶部132から読み込まれているものとする。
即ち、詳細については図14のフローチャートを参照して後述するが、切抜処理(切抜指定処理)の前に、画像記憶部132に記憶されている複数の画像のデータの中から、切抜対象の前景(人物等)を含む画像のデータがユーザにより選択される(後述する図14のステップS204参照)。
このようにして選択され画像のデータは、処理対象画像のデータとして画像記憶部132から読み込まれ、サーバ12に送信される(後述する図14のステップS205参照)。これにより、切抜処理のうち切抜指定処理が開始する(後述する図14のステップS206,図15のステップS241参照)。
すると、切抜指定部111(図4)は、状態遷移条件C1が満たされたと判定し、クライアント機器11の状態を、処理対象画像取得処理状態S11に遷移させる。
【0052】
処理対象画像取得処理状態S11に遷移すると、切抜指定部111は、処理対象画像のデータを取得する。
ここで、処理対象画像のデータは、特に限定されず、例えば撮像部36(図2)により人物が撮像された結果得られる撮像画像のデータ等を採用することができる。
ただし、読み込まれた画像の解像度(サイズ)のままでは、切抜指定処理に長時間を要する場合がある。そこで、本実施形態では、切抜指定部111は、読み込まれた画像のデータの解像度(サイズ)を縮小する。
このように切抜指定部111により縮小された後の解像度(サイズ)を、以下、「縮小サイズ」と呼ぶ。例えば、(水平方向の画素数)×(垂直方向の画素数)のサイズという表記を用いるならば、本実施形態では縮小サイズとして、640×480のサイズ又は480×640のサイズが採用される。
【0053】
ここで、処理対象画像のデータとして取得される種類として、次の2種類が存在する。
即ち、1種類目のデータとは、撮像画像等の原画像のデータそのものである。
主に、処理対象画像に対する切抜指定処理が初回の場合に、1種類目のデータ、即ち、原画像のデータそのものが取得される。この場合、原画像のデータが縮小サイズのデータに変換されると、切抜指定部111は、状態遷移条件C2が満たされたと判定し、クライアント機器11の状態を、切抜領域指定画面操作処理状態S12に遷移させる。
これに対して、2種類目のデータとは、前回の処理対象画像に対する切抜指定処理の途中に保存された画像(切抜画像等)のデータである。
2種類目の画像のデータが取得され、必要に応じて、当該データが縮小サイズのデータに変換されると、切抜指定部111は、状態遷移条件C3が満たされたと判定し、クライアント機器11の状態を、切抜修正画面操作処理状態S14に遷移させる。
【0054】
このようにして、処理対象画像取得処理状態S11からは、切抜領域指定画面操作処理状態S12又は切抜修正画面操作処理状態S14に遷移する。
ここで、「切抜領域指定画面操作処理状態」とは、「切抜領域指定画面」と名付けられたGUI(Graphical User Interface)用の画面が、クライアント機器11の表示部38(図2,図4)に表示され、当該画面に対してユーザによるGUI操作がなされた場合に、GUI操作の内容に応じた処理を実行している状態をいう。
従って、ユーザは、切抜領域指定画面を用いて、操作部37(図2,図4)のマウス等を用いたGUI操作をすることによって、切抜処理を実行する上で必要な各種指示をクライアント機器11と対話的に行うことが可能になる。
なお、この段落の記載事項は、切抜処理における、切抜修正画面操作処理状態等他の画面操作処理状態についても同様にあてはまる。
切抜処理で用いられる画面は複数種類存在するため、各状態において異なる種類の画面が表示部38に表示される。
ただし、切抜処理で用いられる複数種類の画面は何れも、図6に示すような基本画面に基づいて生成される。即ち、基本画面を構成する各要素(ソフトウェアボタンやスライダー等)のうち、所定の種類の画面が表示される状態において、使用できないものや、選択する必要が無いためそのアイコンを選択している状態になっているもの(移動アイコン等)は表示が禁止されるように、当該所定の種類の画面が生成される。
【0055】
図6は、切抜処理で用いられる基本画面の一例を示している。
基本画面201は、6つの表示領域211乃至216に区分されている。
【0056】
表示領域211は、基本画面201の略中央部に位置し、処理対象画像のうち、ユーザが操作対象とする部分を表示する。
【0057】
表示領域212には、例えば「色の変更」と表示されたソフトウェアボタン231(以下、「色変更ボタン231」と呼ぶ)が配置される。色変更ボタン231には、境界領域やその外側の背景領域(後述する非選択領域)についての色の変更の指示の機能が割り当てられる。
また例えば、図6には図示しないが(図12参照)、表示領域212の同一位置に、「背景を変更」と表示されたソフトウェアボタン351(以下、「背景変更ボタン351」と呼ぶ)が配置される場合がある。背景変更ボタン351には、(異なった色の)背景の表示切替等の指示の機能が割り当てられる。
即ち、ユーザは、操作部37のマウス等を用いて、色変更ボタン231や背景変更ボタン351を押下操作することで、これらに割り当てられている内容の指示を行うことができる。なお、これらの各種指示の詳細については後述する。
【0058】
表示領域212にはまた、左方に「透明度」と表示されたスライダー232(以下、「透明度変更スライダー232」と呼ぶ)が配置される。透明度変更スライダー232は、境界領域やその外側の背景領域(後述する非選択領域)の透明度の変更を行うスライダーである。
【0059】
ここで、スライダーとは、オーディオ機器等で見られるスライドボリュームを模したソフトウェア上のコントロールをいう。一般的に、スライダーは、小さなつまみと、それを動かすための溝を模した表示によって構成される。
このスライダーは、一定の範囲内から1つの値を選択するという機能を有している。溝の両端のうち、一方の端が最小値であり、他方の端が最大値である。即ち、ユーザは、操作部37のマウス等を用いて、小さなつまみをドラッグして移動させることにより、溝の範囲内で任意の値(透明度変更スライダー232では、透明度)を選択することができる。
なお、選択肢の中から1つを選ぶという機能だけに着目すると、ラジオボタンやリストボックスを採用してもよいが、本実施形態のようにスライダーを採用することで、ユーザは、連続した関係にある多数の値の中から所望の値を選択することが可能になる。
【0060】
表示領域213には、「拡大縮小」と表示されたスライダー241(以下、「拡大縮小スライダー241」と呼ぶ)が配置される。
拡大縮小スライダー241は、表示領域211に表示される画像の拡大縮小を行うスライダーである。本実施形態の拡大縮小スライダー241においては、その溝の左端に対して、最小倍率である1倍が対応付けられており、その溝の右端に対して、最大倍率である8培が対応付けられている。即ち、本実施形態では、1倍未満の選択はできないことになる。小さなつまみが溝の左端によせられると、表示領域211は1倍表示となる。ここで、1倍表示とは、編集画像(処理対象画像)の全体が表示領域211の全体に表示された状態をいう。
【0061】
表示領域214には、描画ツールが配置される。
描画ツールとは、ユーザが操作部37のマウス等を用いてアイコンやペンをクリックして、表示領域211に対するマウス操作の動作を変更するために使用するツールをいう。
描画ツールを構成する要素の種類や個数は特に限定されないが、本実施形態では図6に示すように、移動アイコン251、背景ペン252、境界ペン253、消しゴム254、及びペンサイズ255が表示領域214に配置されている。
移動アイコン251は、ユーザが操作部37のマウス等を用いてマウスドラックを行うことで、拡大中の画面の表示領域を変更(移動)する機能を有するアイコンである。
背景ペン252は、背景を指定するために使用するソフトウェアペンである。
境界ペン253は、背景と前景との境界を指定するために使用するソフトウェアペンである。
消しゴム254は、切抜領域指定画面(後述する図7参照)では、境界ペン242で描いた領域を消去するために使用し、切抜領域指定画面以外の画面では、選択領域(切り抜かれる前景領域)を指定するために使用するためのツールである。
ペンサイズ255は、背景ペン252、境界ペン253、消しゴム254の塗りのサイズを選択するためのアイコンである。ユーザは、操作部37のマウス等を用いて、ペンサイズ255のうち所望のサイズのアイコンをクリックすることで、塗りのサイズを変更できる。
なお、本実施形態では、画面間を移行した場合には、ペンサイズ255の設定(塗りのサイズ)はリセットされる。領域演算(マット領域演算含む)が実行された場合には、ペンサイズ255の設定(塗りのサイズ)は維持される。表示拡大時のペンサイズ255の設定(塗りのサイズ)は、画面の拡大と一緒に拡大される。
【0062】
表示領域215には、ソフトウェアボタン261乃至264等各種ソフトウェアボタンが配置される。
表示領域215に配置されるソフトウェアボタンは、各種画面によってまちまちであるため、後述する各種画面の説明の際に併せて説明する。なお、図6に示すソフトウェアボタン261乃至264は、後述する仕上領域指定画面において用いられるものである。
【0063】
表示領域216は、予備領域として設けられており、メッセージ画像等各種画像が適宜表示される。
【0064】
次に、このような図6の基本画面201に基づいて生成される画面のうち、図5の切抜領域指定画面操作処理状態S12で表示される画面、即ち切抜領域指定画面について説明する。
【0065】
図7は、切抜領域指定画面の一例を示している。
切抜領域指定画面202は、基本画面201(図6)と同様に、6つの表示領域211乃至216に区分されている。
ただし、切抜領域指定画面202の表示領域212,213,216には、何ら表示されていない。
【0066】
表示領域211には、初期状態として、撮像画像等の処理対象画像の全体(ただし縮小サイズ)が表示される。
表示領域214には、描画ツールのうち、境界ペン253、消しゴム254、及びペンサイズ255が表示される。
【0067】
そこで、ユーザは、操作部37のマウス等を用いて、表示領域211に表示された処理対象画像のうち、前景と背景との境界領域を境界ペン253で囲うように指定する。このとき、ユーザにより指定された境界領域が、ペンサイズ255により指定された塗りのサイズの太さで、表示領域211に表示される。例えば図7の例では、前景(ウミガメ)と背景との境界領域は指定されている最中なので、境界領域として、指定済みの部分に対応する一部の領域301が表示されている。
【0068】
ユーザは、境界領域の指定の操作を行っている最中に境界ペン253で誤った部分を指定しまった場合、消しゴム254を用いて、表示領域211に表示された境界領域のうち、誤った部分に対応する領域を消去することができる。
また、ユーザは、境界ペン253や消しゴム254の描画サイズ(塗りのサイズ)を変更したい場合には、ペンサイズ255の設定を行えばよい。
【0069】
切抜領域指定画面202の表示領域215には、「やり直し」と表示されたソフトウェアボタン311(以下、「やり直しボタン311」と呼ぶ)と、「領域計算」と表示されたソフトウェアボタン312(以下、「領域計算ボタン312」と呼ぶ)と、が配置される。
【0070】
やり直しボタン311には、直前の操作を取り消す機能が割り当てられている。
即ち、ユーザは、直前の操作内容が間違っていた場合等に、操作部37のマウス等を用いて、やり直しボタン311を押下操作することで、当該直前の操作を取り消すことができる。
【0071】
領域計算ボタン312には、領域演算の開始指示の機能が割り当てられている。
即ち、ユーザは、境界領域の指定の操作後、操作部37のマウス等を用いて、領域計算ボタン312を押下操作することで、当該境界領域についての領域演算の開始指示を行うことができる。
【0072】
領域計算ボタン312が押下操作されると、切抜指定部111(図4)は、図5に示すように、状態遷移条件C4が満たされたと判定し、クライアント機器11の状態を、領域演算処理状態S13に遷移させる。
【0073】
領域演算処理状態S13に遷移すると、切抜指定部111は、処理対象画像のデータ(縮小サイズ)に基づいて、ユーザにより指定された境界領域についての領域演算を行う。
具体的には本実施形態では、切抜指定部111は、次のような一連の処理を実行することで、領域演算を行う。
即ち、切抜指定部111は、処理対象画像のデータに基づいて、ユーザにより指定された境界領域の内側の領域を、前景と断定できる領域(以下、「絶対前景領域」と呼ぶ)として決定し、当該境界領域の外側の領域を、背景と断定できる領域(以下、「絶対背景領域」と呼ぶ)を決定する。
次に、切抜指定部111は、処理対象画像(縮小サイズ)を構成する各画素毎に、前景又は背景を示す2値ラベルのあてはまりの良さを評価するコスト関数を、1階MRF(Markov Random Field)モデルを用いてモデル化し、その最適解を求める。
具体的には、切抜指定部111は、絶対前景領域と絶対背景領域との情報を用いてデータ項を作り、処理対象画像のエッジ性を用いて隣接項を作る。
これにより、最適化された、縮小サイズの2値ラベルが得られる。そこで、切抜指定部111は、当該2値ラベルを記憶部39の画像記憶部132(図4)等に保存する。
このようにして、本実施形態では、切抜指定部111により領域演算が行われる。
【0074】
このような領域演算が終了すると、切抜指定部111(図4)は、図5に示すように、状態遷移条件C5が満たされたと判定し、クライアント機器11の状態を、切抜修正画面操作処理状態S14に遷移させる。
なお、図5には図示しないが、境界ペン253で指定された境界領域の不具合(境界領域が閉じていない等)で領域演算が行われかった場合には、切抜指定部111は、領域演算がうまくいかなかったことを示すメッセージ画像を表示部38に表示させ、切抜領域指定画面操作処理状態を維持する。
【0075】
切抜修正画面操作処理状態S14に遷移すると、切抜指定部111は、図8に示すような切抜修正画面を表示部38に表示させる。
【0076】
図8は、切抜修正指定画面の一例を示している。
切抜修正画面203は、基本画面201(図6)と同様に、6つの表示領域211乃至216に区分されている。
【0077】
表示領域211には、初期状態として、上述した図7の切抜領域指定画面202の領域計算ボタン312が押下操作されて上述の領域演算が行われた結果が表示される。
即ち、表示領域211には、処理対象画像(縮小サイズ)に2値ラベル(縮小サイズ)が合成された合成画像が表示されるとともに、前景と背景との境界領域(図8の例ではウミガメの周囲を囲む領域302)が表示される。
この場合、境界領域内の領域が、切抜対象としてユーザにより選択される前景領域、即ち選択領域である。選択領域は透過率が100%で固定されており、常に処理対象画像そのものが表示されるようになされている。
ユーザが操作部37のマウス等を用いて選択領域を修正するための画面が、切抜修正画面203である。
【0078】
表示領域212には、色変更ボタン231と、透明度変更スライダー232とが配置されている。
ここで、境界領域(図8の例ではウミガメの周囲を囲む領域302)の外側の領域、即ち、切抜対象としてユーザにより選択されない背景領域を、以下「非選択領域」と呼ぶ。この場合、切抜修正画面203の表示領域211に表示される画像は、前景としての選択領域と、背景としての非選択領域と、これらの領域の境界となる境界領域と、にそれぞれ分類される。
このような分類をユーザが視認できるように、本実施形態では、境界領域及び非選択領域の各々が、第1の色及び第2の色で表示される。なお、以下、境界領域を表示する第1の色を「境界色」と、背景としての非選択領域を表示する第2の色を「背景色」と、それぞれ呼ぶ。
このような境界色と背景色との組み合わせは、本実施形態の初期状態では、赤色と青色との組み合わせとされているが、それぞれの領域が識別可能な色であれば、どのような色でもよい。また、境界色及び背景色それぞれの色は色変更ボタン231によって変更可能になっている。即ち、ユーザは、色変更ボタン231を押下操作することで、境界色と背景色との組み合わせを、所望の色の組み合わせに変更することができる。なお、色の組み合わせの変更の詳細については、図25を参照して後述する。
また、境界領域及び非選択領域は、本実施形態の初期状態では半透過状態となっているが、透明度変更スライダー232によって透明度の変更が可能になっている。なお、2値ラベル側の非選択領域が背景色となっており、この透明度が高くなるにつれ、処理対象画像の背景部分がユーザに視認されるようになる。境界領域の透明度についても同様になっている。
ユーザは、透明度変更スライダー232を操作することで、境界領域及び非選択領域の透明度を、所望の度合に変更することができる。
【0079】
表示領域213には、拡大縮小スライダー241が配置されている。
従って、ユーザは、拡大縮小スライダー241を操作することで、選択領域、境界領域及び非選択領域のうちの、所望の領域や2以上の領域の結合部等着目する部分を拡大表示させることができる。その後、ユーザは、拡大縮小スライダー241を操作することで、拡大表示後の画像を、等倍となるまでの範囲内で縮小表示させることもできる。
【0080】
表示領域214には、描画ツールのうち、移動アイコン251、背景ペン252、消しゴム254、及びペンサイズ255が表示される。
【0081】
そこで、ユーザは、操作部37のマウス等を用いて、表示領域211に表示されている画像のうち、本来前景であるはずが背景となっている領域を消しゴム254で消すように指定することで、当該領域を選択領域として新たに指定することができる。
一方、ユーザは、操作部37のマウス等を用いて、表示領域211に表示されている画像のうち、本来背景であるはずが前景となっている領域を背景ペン252で描くように指定することで、当該領域を非選択領域として指定することができる。
要するに、表示領域211において、非選択領域は第2の色で表示されているので、ユーザは、色が塗ってあるところは、選択領域(前景)が切り抜かれた場合に切り捨てられる領域というイメージを持って、選択領域を修正する作業を行うことができる。
なお、表示領域211が拡大表示中の場合、ユーザは、移動アイコン251を用いて、表示領域(作業対象領域)を変更(移動)することができる。また、ユーザは、背景ペン252や消しゴム254の描画サイズ(塗りのサイズ)を変更したい場合には、ペンサイズ255の設定を行えばよい。
【0082】
切抜修正画面203の表示領域215には、切抜領域指定画面202と同様にやり直しボタン311及び領域計算ボタン312が配置される。さらに、当該表示領域215には、「領域指定」と表示されたソフトウェアボタン313(以下、「領域指定ボタン313」と呼ぶ)と、「保存」と表示されたソフトウェアボタン314(以下、「保存ボタン314」と呼ぶ)と、が配置される。
【0083】
ユーザは、直前の操作内容が間違っていた場合等に、操作部37のマウス等を用いて、やり直しボタン311を押下操作することで、当該直前の操作を取り消すことができる。
【0084】
また、ユーザは、選択領域の修正の操作後、操作部37のマウス等を用いて、領域計算ボタン312を再度押下操作することで、領域演算の再演算の開始指示を行うことができる。
【0085】
即ち、切抜修正画面203の領域計算ボタン312が押下操作されると、切抜指定部111(図4)は、図5に示すように、状態遷移条件C6が満たされたと判定し、クライアント機器11の状態を、領域演算処理状態S13に再び遷移させる。
【0086】
領域演算処理状態S13に再び遷移すると、切抜指定部111は、処理対象画像のデータ(縮小サイズ)に基づいて、ユーザにより修正された後の選択領域について、領域演算の再演算を実行する。
【0087】
このような領域演算の再演算が終了すると、切抜指定部111は、図5に示すように、状態遷移条件C5が再び満たされたと判定し、クライアント機器11の状態を、切抜修正画面操作処理状態S14に再び遷移させる。
【0088】
切抜修正画面操作処理状態S14に再び遷移すると、切抜指定部111は、切抜修正画面を表示部38に表示させる。この場合、表示領域211には、領域演算の再演算の結果を示す画像が表示される。
【0089】
ここで、領域計算ボタン312の押下回数に特に制限はない。従って、ユーザは、選択領域の修正の操作を行い、領域計算ボタン312を押下操作して、領域演算の再演算の結果が表示領域211に表示されると、表示領域211の表示内容で修正結果の確認を行う、といった一連の作業を何回も繰り返すことができる。
【0090】
なお、このような一連の作業の繰り返しても、所望の選択領域が得られない場合、ユーザは、一から境界領域の指定操作をやり直してもよい。
このような場合、ユーザは、領域指定ボタン313を押下操作すればよい。
すると、図5に示すように、状態遷移条件C7が満たされたと判定され、クライアント機器11の状態が、切抜領域指定画面操作処理状態S12に再び遷移し、図7に示す切抜領域指定画面202が再表示される。
これにより、ユーザは、切抜領域指定画面202に対するGUI操作を再度行うことができる。
【0091】
一方、このような一連の作業が繰り返されて、所望の選択領域が得られた場合、ユーザは、切抜指定処理の結果を保存すべく、図8の切抜修正画面203の保存ボタン314を押下操作するとよい。
すると、図5に示すように、状態遷移条件C8が満たされたと判定され、クライアント機器11の状態が、境界領域仕上処理状態S15に遷移する。
【0092】
境界領域仕上処理状態S15に遷移すると、切抜指定部111は、境界領域仕上処理を実行する。
これにより、状態遷移条件C9が満たされたと判定され、クライアント機器11の状態が、結果保存処理状態S16に遷移する。結果保存処理状態S16に遷移すると、切抜指定部111は、処理対象画像のデータ(オリジナルサイズ)と、領域演算により得られた2値化ラベル(縮小サイズ)と、を少なくとも含むファイルを生成し、記憶部39の画像記憶部132に記憶させる。
このようなファイルを、以下、「切抜指定処理結果ファイル」と呼ぶ。
なお、図8の切抜修正画面203に対するGUI操作として、背景ペン252や消しゴム254で修正後、領域計算ボタン312が押下されずに(領域演算が行われずに)、保存ボタン314が押下された場合には、切抜指定部111は、領域演算を行わずに、最後に修正を行った状態を選択領域や非選択領域に反映したデータ(2値化ラベル)を作成し、当該データを切抜指定処理結果ファイルに含める。
【0093】
このようにして、切抜指定処理結果ファイルが記憶部39に記憶されると、図5に示すように、状態遷移条件C10が満たされたと判定され、切抜指定処理が終了になる。
【0094】
ここで、切抜指定処理時の操作について理解をさらに深めるべく、切抜修正画面操作処理状態S14に遷移してから、ユーザが図8の切抜修正画面203に対する各種操作を行って、切抜修正が行われた後のデータが記憶部32に記憶されるまでの一連の処理(以下、「切抜領域修正処理」と呼ぶ)について説明する。
図9は、切抜領域修正処理の流れを説明するフローチャートである。
図5と図9とを比較して容易にわかるように、図9の切り抜き領域修正処理とは、図5の領域演算処理S13乃至結果保存処理S16のうちの一部の連続した処理をフローチャート化したものである。
【0095】
図5の切抜領域指定画面操作処理状態S12において、切抜領域指定画面202(図7)の領域計算ボタン312が押下操作され、領域演算処理状態S13において、領域減算が実行されて、状態遷移条件C5が満たされると、切抜修正画面操作処理状態S14に遷移する。すると、切抜修正画面203(図8)が表示され、次に示すような切抜領域修正処理が実行される。
【0096】
ステップS21において、切抜指定部111は、選択領域の結果(切抜領域指定画面202に対する操作に基づく、領域演算の結果)を示す画像(以下、「表示画像」と呼ぶ)を、切抜修正画面203の表示領域211に表示させる。
ここで、本実施形態の表示画像においては、上述したように、非選択領域(背景領域)の背景色は青で、境界領域(図8の例ではウミガメの周囲を囲む領域302)の境界色は赤で、それぞれ表示されるものとする。また、上述したように、非選択領域及び境界領域は、初期状態として、半透過状態で表示されるものとする。
即ち、本実施形態の切抜修正画面203においては、色が塗ってある領域は切り捨てられる領域であるとイメージしてユーザが作業できるような表示形態となっている。
【0097】
ステップS22において、切抜指定部111は、色変更又は拡大縮小の指示があるか否かを判定する。
【0098】
色変更又は拡大縮小の指示があると、ステップS22おいてYESであると判定されて、処理はステップS23に進む。
ステップS23において、切抜指定部111は、表示領域211の表示画像を、色変更又は拡大縮小して表示させる。
具体的には例えば、色変更ボタン231が押下操作された場合には色変更が指示されたと判定され、即ちステップS22の処理でYESであると判定され、ステップS23の処理で境界色と背景色との組み合わせが変更される。
また例えば、拡大縮小スライダー241が操作された場合には拡大縮小が指示されたと判定され、即ちステップS22の処理でYESであると判定され、ステップS23の処理で表示画像の拡大又は縮小が行われる。
【0099】
このようなステップS23の処理が終了すると、処理はステップS24に進む。
なお、色変更又は拡大縮小の指示がない場合にも、ステップS22おいてNOであると判定されて、ステップS23の処理は実行されずに、即ち表示領域211の表示の変更は行われずに、処理はステップS24に進む。
【0100】
ステップS24において、切抜指定部111は、非選択領域の指定があるか否かを判定する。
【0101】
上述したように、ユーザは、操作部37のマウス等を用いて、表示領域211に表示されている画像のうち、本来背景であるはずが前景となっている領域を背景ペン252で描くように指定することで、当該領域を非選択領域として指定することができる。
このような指定があると、ステップS24おいてYESであると判定されて、処理はステップS25に進む。
ステップS25において、切抜指定部111は、指定された領域を非選択領域に変更する。この場合、表示領域211の表示画像において、非選択領域に変更された領域は背景色で表示される。
【0102】
このようなステップS25の処理が終了すると、処理はステップS26に進む。
なお、非選択領域の選択がない場合にも、ステップS24おいてNOであると判定されて、ステップS25の処理は実行されずに、即ち非選択領域への変更は行われずに、処理はステップS26に進む。
【0103】
ステップS26において、切抜指定部111は、選択領域の指定があるか否かを判定する。
【0104】
上述したように、ユーザは、操作部37のマウス等を用いて、表示領域211に表示されている画像のうち、本来前景であるはずが背景となっている領域を消しゴム254で消すように指定することで、当該領域を選択領域として新たに指定することができる。
このような指定があると、ステップS26おいてYESであると判定されて、処理はステップS27に進む。
ステップS27において、切抜指定部111は、指定された領域を選択領域に変更する。この場合、表示領域211の表示画像において、選択領域に変更された領域には、原画像の対応する領域が表示される。
【0105】
このようなステップS27の処理が終了すると、処理はステップS28に進む。
なお、非選択領域の選択がない場合にも、ステップS26おいてNOであると判定されて、ステップS27の処理は実行されずに、即ち非選択領域への変更は行われずに、処理はステップS28に進む。
【0106】
ステップS28において、切抜指定部111は、領域計算の指示があるか否かを判定する。
【0107】
上述したように、ユーザは、このような選択領域や非選択領域の指定の操作後、操作部37のマウス等を用いて、領域計算ボタン312を押下操作することで、領域演算の再演算の開始指示を行うことができる。
このような指示があった場合、ステップS28においてYESであると判定されて、処理はステップS13に進む。
ステップS13において、切抜指定部111は、領域演算処理を実行する。
ここで、図9のフローチャートのステップと図5の領域演算処理状態とで同一の符号S13を付しているのは、同一の処理が実行されるからである。即ち、図9のステップS28においてYESであると判定されることと、図5の状態遷移条件C6を満たされることとは等価である。
従って、図9のステップS13の領域演算処理が終了することは、図5の状態遷移条件C5が満たされたことと等価になるので、図5において切抜修正画面操作処理状態S14に再び遷移するように、図9では処理はステップS21に戻され、それ以降の処理が繰り返されることになる。
【0108】
これに対して、このような領域演算処理が不要の場合、領域計算ボタン312は押下操作されないので、ステップS28においてNOであると判定されて、処理はステップS29に進む。
ステップS29において、切抜指定部111は、保存の指示があるか否かを判定する。
【0109】
上述したように、保存の指示は、保存ボタン314の押下操作によって行われる。
このような保存の指示が行われない場合、ステップS29においてNOであると判定されて、処理はステップS21に戻され、それ以降の処理が繰り返されることになる。
即ち、上述したように、ユーザは、所望の選択領域の結果が得られるまで、色変更や拡大縮小を適宜行いつつ、何度でも、選択領域や非選択領域の指定を繰り返すことができる。そして、ユーザは、所望の選択領域の結果が得られたときに、保存ボタン314を押下操作すればよい。
保存ボタン314が押下操作されると、ステップS29においてYESであると判定されて、処理はステップS15に進む。
ここで、図9のフローチャートのステップと図5の境界領域仕上処理状態とで同一の符号S15を付しているのは、同一の処理が実行されるからである。即ち、図9のステップS29においてYESであると判定されることと、図5の状態遷移条件C8が満たされることとは等価である。
【0110】
従って、図9のステップS15の境界領域仕上げ処理が終了することは、図5の状態遷移条件C9が満たされたことと等価になるので、図5において結果保存処理状態S16に遷移するのと等価に、同一符号のステップS16に処理は進む。即ち、図9のフローチャートのステップと図5の結果保存処理状態とで同一の符号S16を付しているのは、同一の処理が実行されるからである。
従って、ステップS16の結果保存処理によって、切抜指定処理結果ファイルが記憶部39に記憶されると、図5の状態遷移条件C10が満たされたと判定されたのと等価に、切抜領域指定処理が終了になる。
【0111】
以上、図4の機能的構成を有する画像処理システムが実行する切抜処理のうち、切抜指定処理の詳細について、図5乃至図9を参照して説明した。
次に、図10乃至図13を参照して、当該切抜処理のうち、仕上調整処理の詳細について説明する。
【0112】
図10は、クライアント機器11が仕上調整処理を実行する場合に取り得る各状態の一例を示す状態遷移図である。
【0113】
仕上調整処理は、切抜指定処理後に実行される。即ち、切抜指定処理結果ファイルを用いても、処理対象画像から前景を切り出して、別の新背景に合成することは十分可能である。しかしながら、ユーザの中には、境界領域の高精度な仕上げや、より高精細な画像の仕上げを所望するものもいる。そこで、このようなユーザのために仕上処理が実行される。
仕上調整処理の開始の指示は、操作部37に対する所定の操作により行われる。
このような指示がなされると、仕上調整部112(図4)は、状態遷移条件C41が満たされたと判定し、クライアント機器11の状態を、ファイル読込処理状態S41に遷移させる。
【0114】
ファイル読込処理状態S41に遷移すると、仕上調整部112は、処理対象画像のデータを含む切抜指定処理結果ファイルを記憶部39から読み込む。
これにより、状態遷移条件C42が満たされた判定されて、クライアント機器11の状態は、サイズ設定処理状態S42に遷移する。
【0115】
サイズ設定処理状態S42に遷移すると、仕上調整部112は、次のような一連の処理を実行する。
即ち、仕上調整部112は、図示はしないが、出力サイズを選択させる画面を表示部38に表示させ、ユーザの選択操作を待ち受ける。
ユーザは、操作部37を操作して、印刷出力等する場合の画像のサイズとして、所望のサイズを選択する。
仕上調整部112は、ユーザにより選択されたサイズを、出力サイズとして設定する。ここで、出力サイズは、一般的には、撮像画像等の処理対象画像のオリジナルサイズ以下となるが、特にこれに限定されず、任意のサイズで構わない。
このような一連の処理が実行されると、状態遷移条件C43が満たされたと判定されて、クライアント機器11の状態は、領域演算処理状態S43に遷移する。
【0116】
領域演算処理状態S43に遷移すると、仕上調整部112の領域演算処理部121は、読み込まれた切抜指定処理結果ファイルについて、領域演算処理を実行する。
【0117】
領域演算においては、マット処理が実行される。
マット処理の本質は、前景と背景の境界画素の混色を分離することである。
具体的には、次の式(1)の条件を連立させ、観測値Pから未知数α,F(場合によってはBも)を推定する処理が、マット処理である。
P[x,y,c]=α[x,y]F[x,y,c]+(1-α[x,y])B[x,y,c]・・・(1)
式(1)の左辺において、P[x,y,c]は、座標x,y(以下、「画素位置x,y」とも呼ぶ),色成分cの画素値を表している。
式(1)の右辺において、α[x,y]は、画素位置x,yにおける比率であって、0乃至1の範囲内で可変する比率であり、「混合比α」や「アルファ値」等と呼ばれている。即ち、混合比α[x,y]は、画素毎に異なる値になる。F[x,y,c]は、前景の画素値であり、以下、「前景画素値」と呼ぶ。B[x,y,c]は、背景の画素値であり、以下、「背景画素値」と呼ぶ。
なお、画素位置x,y,色成分cを個々に区別する必要がない場合、以下、x,y,cの表記は適宜省略する。
【0118】
式(1)は、境界領域の画素位置x,yにおいて、比率α[x,y]で前景画素値F[x,y,c]と背景画素値B[x,y,c]とが混合された結果として、画素値P[x,y,c]が観測されるという意味である。
ここで、式(1)は単純に連立させると不足条件方程式であるため、そのままでは解くことが不可能である。しかしながら、背景画素値Bの取り得る範囲を別の手段により指定したり(クロマキー)、また前景画素値F及び背景画素値Bが滑らかに変化する(局所的に等しい)等の仮定を加えることで、式(1)を解くことが可能になる。
【0119】
このため、マット処理では、混合比α(アルファ値)と前景画素値Fが推定される。このようにしてマット処理で混合比α(アルファ値)と前景画素値Fを正しく推定できれば、新しい背景画素値B’ [x,y,c]に対して、次の式(2)を演算することで、合成画像P’の画素位置x,yの画素値P’[x,y,c]が容易に得られる。
P’[x,y,c]=α[x,y]F[x,y,c]+(1-α[x,y])B’[x,y,c]・・・(2)
このようにして得られた合成画像P’には、原画像(本実施形態では処理対象画像)の背景画素値B[x,y,c]は、理想的には残らないため、美しく自然な結果になる。
【0120】
なお、マット処理のさらなる詳細については、“Bayesian approach to digital matting”,2001(IEEE CVPR)等を参照するとよい。
【0121】
ここで、本実施形態の画像処理システム(図1)では、合成画像P’を印刷出力することも想定されている。
印刷出力として十分な画素数を考慮する場合に、マット処理を行うことの最大の問題点は、その出力画素数に応じて膨大な計算量が必要になる点である。
ユーザが、発注前に印刷出力結果を正確に確認できることは苦情を未然に防ぐために重要である。また、ユーザの修正が必要であればそれを即座に開始できることが、商機を逃さないために重要である。しかしながら、1000万画素を大きく越える最近のデジタルスチルカメラやデジタルプリンタの画素数をリアルタイムにマット処理することは、パーソナルコンピュータ(例えば図1のクライアント機器11)やウェブサーバ(例えば図1のサーバ12)にとっては困難である。
そこで、本実施形態では、図11に示すようなマット処理を実行することで、マット処理の演算量を大幅に低下するようにしている。
【0122】
図11は、マット処理の流れを説明するフローチャートである。
【0123】
ステップS101において、領域演算処理部121は、中解像度サイズを設定する。
ここで、中解像度サイズとは、出力サイズと、予め設定されている所定サイズ(上述した切抜指定処理で用いられる縮小サイズ以上のサイズとする)とのうち、小さい方のサイズをいう。
従って、領域演算処理部121は、出力サイズと、予め設定されている所定サイズとを比較し、小さいほうのサイズを選択することで、中解像度サイズを設定する。
【0124】
ステップS102において、領域演算処理部121は、切抜指定処理結果ファイルから処理対象画像のデータを読み出し、当該処理対象画像のデータのサイズを、オリジナルサイズから中解像度サイズに変換する。
なお、通常は、オリジナルサイズの方が中解像度サイズよりも大きいため、ステップS102の処理は、いわゆるサイズ縮小処理になる。
【0125】
ステップS103において、領域演算処理部121は、切抜指定処理結果ファイルから2値ラベルを読み出し、当該2値化ラベルのサイズを縮小サイズから中解像度サイズに変換することで、中解像度2値ラベルを生成する。
なお、通常は、縮小サイズの方が中解像度サイズよりも小さいため、ステップS103の処理は、いわゆるサイズ拡大処理になる。
このように、中解像度2値ラベルは、その名の如く2値ラベルになる必要があるので、2値ラベルのサイズの変換の手法としては、例えば最近傍法を採用したり、例えばバイキュービック法等の結果を再2値化する手法を採用するとよい。
【0126】
ステップS104において、領域演算処理部121は、中解像度2値ラベルから、中解像度サイズのトライマップを作成する。
トライマップは、画素位置x,y毎に、前景、背景、中間の3値ラベルを持つ。
ここで、トライマップの中間ラベル領域は、次のような第1領域と第2領域の集合和領域である。
即ち、中解像度2値ラベルのうち前景ラベル領域を所定幅分膨張(モルフォロジ処理におけるディレーション)させ、その結果得られる膨張領域(元々の2値前景ラベル領域を含まない)が、第1領域として採用される。
一方、中解像度2値ラベルのうち背景ラベル領域を所定幅分膨張(同)させ、その結果得られる膨張領域(元々の2値背景ラベル領域を含まない)が、第2領域として採用される。
これらの第1領域と第2領域の集合和領域として、中間ラベル領域が得られる。なお、この中間ラベル領域は、ユーザが境界ペン253で指定した境界領域を少し誇張させた領域となる。したがって、ユーザは境界ペン253で境界領域を指定するとともに、マット処理における中間ラベル領域の基準となる領域を指定したこととなる。
そして、このようにして得られる中間ラベル領域に含まれない領域のうち、2値前景ラベル領域が前景ラベル領域となり、2値背景ラベル領域が背景ラベル領域となる。
【0127】
ステップS105において、領域演算処理部121は、トライマップについて、中解像度サイズを覆う所定数及び所定形状のブロックの集合を設定する。
なお、各ブロックは、その隣接ブロックと境界で所定幅のオーバーラップ領域を持たせるように設定される。
【0128】
ステップS106において、領域演算処理部121は、ステップS105の処理で設定したブロックの集合体の中から、処理対象のブロックを設定する。
【0129】
ステップS107において、領域演算処理部121は、処理対象のブロックとして、トライマップのブロックと、対応する中解像度の処理対象画像のブロックとを入力し、これらの入力に基づいてマット処理を実行する。
このステップS107のマット処理によって、処理対象のブロックを構成する各画素のそれぞれについての、混合比α(アルファ値)と前景画素値Fがそれぞれ得られる。
【0130】
ステップS108において、領域演算処理部121は、全てのブロックが処理対象に設定されたか否かを判定する。
未だ処理対象に設定されていないブロックが存在する場合、ステップS108においてNOであると判定されて、処理はステップS106に戻され、それ以降の処理が繰り返される。即ち、ステップS106乃至S108のループ処理が繰り返し実行されることで、ステップS105の処理で設定された各ブロックの各々が処理対象に順次設定されて、その都度マット処理が実行される。
そして、最後のブロックについてのマット処理が実行されると、次のステップS108においてYESであると判定されて、処理はステップS109に進む。
【0131】
ステップS109において、領域演算処理部121は、各ブロックの混合比α(アルファ値)と前景画素値Fをモザイクして、中解像度サイズの混合比αの集合体(以下、「中解像度α画像」と呼ぶ)と、中解像度サイズの前景画素値Fの集合体(以下、「中解像度前景F画像」と呼ぶ)とを構成する。
なお、領域演算処理部121は、ブロック間のオーバーラップ領域については、なだらかなブレンド比でブレンドを行い、境界の不整合を緩和するものとする。
【0132】
これにより、領域演算処理が終了となる。すると、仕上調整部112(図4)は、図10に示すように、状態遷移条件C44が満たされたと判定し、クライアント機器11の状態を、仕上確認画面操作処理状態S44に遷移させる。
【0133】
仕上確認画面操作処理状態S44に遷移すると、仕上調整部112は、図12に示すような仕上確認画面を表示部38に表示させる。
【0134】
図12は、仕上確認画面の一例を示している。
仕上確認画面204は、マット処理により境界領域の仕上がされた画像の確認を行う画面であり、基本画面201(図6)と同様に、6つの表示領域211乃至216に区分されている。
【0135】
表示領域211には、領域演算処理の結果が表示される。
即ち、中解像度の処理対象画像のデータと、予め用意された新背景画像のデータ(必要に応じて中解像度に変換)とが、上述の式(2)に従って合成され、その合成結果である合成画像P’が表示領域211に表示される。
この場合、新背景画像のデータを構成する各画素値が、背景画素値B’[x,y,c]として式(2)に代入される。また、マット処理で求められた中解像度α画像の各画素値が、混合比α[x,y]として式(2)に代入される。マット処理で求められた中解像度前景F画像の各画素値が、前景画素値F[x,y,c]として式(2)に代入される。
なお、初期状態の新背景画像としては、灰色(単色)の画像が表示領域211に表示される。
【0136】
表示領域212には、背景変更ボタン351が表示されている。
従って、ユーザは、背景変更ボタン351を押下操作することで、表示領域211に表示される背景画像を、複数の新背景画像のうち所望の1つに変更することができる。
なお、新背景画像は、特に限定されず、予めデフォルトとして設定されている画像の他、ユーザが所望する任意の画像を設定することができる。ただし、新背景画像の設定は、図示せぬ別の画面で行われるものとする。
このように、ユーザは、背景変更ボタン351を押下操作するだけで、即ち操作部37のマウスをクリック操作等するだけで、各種各様の新背景画像に瞬時に変更することができるので、マット処理の結果を、実際の合成イメージとして視認することが容易にできる。
【0137】
表示領域213には、拡大縮小スライダー241が配置されている。
従って、ユーザは、拡大縮小スライダー241を操作することで、マット処理の結果である合成画像P’のうち着目する部分を拡大表示させることができる。その後、ユーザは、拡大縮小スライダー241を操作することで、拡大表示後の合成画像P’を、等倍となるまでの範囲内で縮小表示させることもできる。
【0138】
表示領域215には、「仕上げ調整」と表示されたソフトウェアボタン361(以下、「仕上調整ボタン361」と呼ぶ)と、「保存」と表示されたソフトウェアボタン362(以下、「保存ボタン362」と呼ぶ)と、が配置される。
【0139】
ユーザは、表示領域211に表示された合成画像P’を確認して、境界領域の仕上げの部分修正をさらに行いたいと判断した場合、仕上調整ボタン361を押下操作することで、仕上調整の開始を指示することができる。
【0140】
即ち、仕上調整ボタン361が押下操作されると、仕上調整部112(図4)は、図10に示すように、状態遷移条件C45が満たされたと判定し、クライアント機器11の状態を、仕上調整画面操作処理状態S45に遷移させる。
【0141】
仕上調整画面操作処理状態S45に遷移すると、仕上調整部112は、図13に示すような仕上調整画面を表示部38に表示させる。
【0142】
図13は、仕上調整画面の一例を示している。
仕上調整画面205は、マット処理により境界領域の仕上がされた処理対象画像について、部分的な仕上を行うための画面である。例えば、仕上調整画面205は、髪の毛の部分等細い部分をきれいに出すため一部分の境界の滑らかさを修正するために用いられる。
仕上調整画面205は、基本画面201(図6)と同様に、6つの表示領域211乃至216に区分されている。
【0143】
表示領域211には、境界領域の仕上がされた処理対象画像について、前景としての選択領域と、背景としての非選択領域と、これらの領域の境界となる境界領域(図12の例では領域381)と、をそれぞれ分類して表示する。
即ち、表示領域211には、処理対象画像(中解像度サイズ)にトライマップ(中解像度サイズ)が合成された合成画像が表示される。
この場合、透明度はトライマップ側で設定される。即ち、選択領域は透過率が100%で固定されており、常に処理対象画像そのもの(図13の例ではウミガメ)が表示されるようになされている。一方、トライマップの非選択領域が背景色(単色)の領域となっており、この透明度が高くなるにつれ、処理対象画像の背景部分がユーザに視認されるようになる。同様に、トライマップの境界領域(中間領域)が境界色(単色)の領域となっており、この透明度が高くなるにつれ、処理対象画像の境界部分がユーザに視認されるようになる。
このため、図8の切抜修正画面203と同様に、表示領域212には、色変更ボタン231と、透明度変更スライダー232とが配置され、拡大縮小スライダー241が配置されている。
ただし、色変更ボタン231、透明度変更スライダー232、及び拡大縮小スライダー241の各部品については、図8の切抜修正画面203の各部品として説明済みであるので、ここでは説明は省略する。
【0144】
表示領域215には、「やり直し」と表示されたソフトウェアボタン371(以下、「やり直しボタン371」と呼ぶ)と、「確認画面」と表示されたソフトウェアボタン372(以下、「確認画面ボタン372」と呼ぶ)と、が配置される。
ユーザは、直前の操作内容が間違っていた場合等に、やり直しボタン371を押下操作することで、当該直前の操作を取り消すことができる。
確認画面ボタン372については、後述する。
【0145】
ところで、図13の仕上調整画面205が表示部38に表示されている状態で、ユーザは、操作部37のマウスを用いて、表示領域211に表示された画像のうち、修正を行いたい箇所をクリック操作することで、修正領域指定画面の表示の指示を行うことができる。
即ち、このようなクリック操作がなされることによって、修正領域指定画面の表示の指示が行われると、仕上調整部112(図4)は、図10に示すように、状態遷移条件C46が満たされたと判定し、クライアント機器11の状態を、仕上領域指定画面操作処理状態S46に遷移させる。
【0146】
仕上領域指定画面操作処理状態S46に遷移すると、仕上調整部112は、図6に示す基本画面201と同一構成の仕上領域指定画面を表示部38に表示させる。
【0147】
仕上領域指定画面(図6の基本画面201と同一構成)の表示領域211には、上述した図13の仕上調整画面205に対してクリック操作がなされた箇所を中心とする、所定のサイズの領域画像が表示される。
具体的には、仕上調整部112は、図13の仕上調整画面205に対してクリック操作がなされた箇所の近傍の領域をブロック化する。ここで、このブロックは、図11のステップS105の処理で設定されたブロックのサイズ、位置、形状と必ずしも一致させる必要はない。
仕上調整部112は、そのブロックの原画像(処理対象画像)とトライマップとを、領域画像として表示領域211に透過表示させる。
ユーザは、操作部37のマウス等を用いて、この領域画像の範囲内で、選択領域等の修正を行うことができる。
【0148】
このため、図8の切抜修正画面203と同様に、表示領域212には、色変更ボタン231と、透明度変更スライダー232とが配置され、表示領域213には、拡大縮小スライダー241が配置されている。
ただし、色変更ボタン231、透明度変更スライダー232、及び拡大縮小スライダー241の各部品については、図8の切抜修正画面203の各部品として説明済みであるので、ここではこれらの説明は省略する。
【0149】
ユーザは、表示領域211に表示されている領域画像のうち、背景としての非選択領域については背景ペン252を用いて、境界領域については境界ペン253を用いて、前景としての選択領域については消しゴム254を用いて、修正の操作をすることができる。
このような修正の操作により、表示領域211に領域画像として表示されているトライマップが修正されることになる。
なお、ユーザは、移動アイコン251を用いて、表示領域(作業対象領域)を変更(移動)することができるが、必要に応じて表示領域の変更(移動)を禁止するようにしてもよい。また、ユーザは、背景ペン252、境界ペン253、又は消しゴム254の描画サイズ(塗りのサイズ)を変更したい場合には、ペンサイズ255の設定を行えばよい。
【0150】
仕上領域指定画面(図6の基本画面201と同一構成)の表示領域215には、「やり直し」と表示されたソフトウェアボタン261(以下、「やり直しボタン261」と呼ぶ)と、「領域計算」と表示されたソフトウェアボタン262(以下、「領域計算ボタン262」と呼ぶ)と、「仕上げ調整」と表示されたソフトウェアボタン263(以下、「仕上調整ボタン263」と呼ぶ)と、「確認画面」と表示されたソフトウェアボタン264(以下、「確認画面ボタン264」と呼ぶ)と、が配置される。
【0151】
ユーザは、直前の操作内容が間違っていた場合等に、やり直しボタン261を押下操作することで、当該直前の操作を取り消すことができる。
【0152】
また、ユーザは、選択領域等の修正の操作後、即ち、トライマップを修正した後、領域計算ボタン262を押下操作することで、マット領域演算の再演算の開始指示を行うことができる。
【0153】
即ち、仕上領域指定画面(図6の基本画面201と同一構成)の領域計算ボタン262が押下操作されると、仕上調整部112(図4)は、図10に示すように、状態遷移条件C47が満たされたと判定し、クライアント機器11の状態を、部分領域演算処理状態S47に遷移させる。
【0154】
部分領域演算処理状態S47に遷移すると、仕上調整部112の領域演算処理部121は、ユーザにより修正された後の選択領域についての部分的なマット処理を実行する。
【0155】
ただし、この場合の部分的なマット処理としては、上述の図11のフローチャートに従った処理ではなく、次のような処理が本実施形態では実行される。
即ち、仕上調整部112の領域演算処理部121は、仕上領域指定画面(図6の基本画面201と同一構成)の表示領域211に表示されたブロックについて、修正されたトライマップを用いてマット処理を行う。
領域演算処理部121は、マット処理の結果得られた混合比α(アルファ値)と前景画素値Fを、全体結果にモザイクする。即ち、領域演算処理部121は、ブロックの所定幅境界付近はなだらかにブレンドし、その内部の領域は上書きする。
このようにして、中解像度α画像と、中解像度前景F画像とが再構成されると、仕上調整部112(図4)は、図10に示すように、状態遷移条件C48が満たされたと判定し、クライアント機器11の状態を、仕上調整画面操作処理状態S45に再び遷移させる。
【0156】
仕上調整画面操作処理状態S45に再び遷移すると、仕上調整画面205(図13)が表示部38に再表示される。この場合、仕上調整画面205の表示領域211には、部分的なマット処理の結果が表示される。
【0157】
なお、仕上領域指定画面(図6の基本画面201と同一構成)の仕上げ調整ボタン263が押下操作されても、図10に示すように、状態遷移条件C49が満たされたと判定され、クライアント機器11の状態は、仕上調整画面操作処理状態S45に再び遷移する。
この場合も、仕上調整画面205(図13)が表示部38に再表示されるが、仕上調整画面205の表示領域211には、前回の状態のままの画像が表示される。
【0158】
ここで、仕上調整画面205(図13)の表示領域211をみたユーザが、修正をさらに行いたいと所望した場合には、操作部37のマウスを用いて、修正を行いたい箇所を再度クリック操作すればよい。
この場合、図10に示すように、状態遷移条件C46が満たされたと判定されて、クライアント機器11の状態が、仕上領域指定画面操作処理状態S46に再度遷移して、仕上領域指定画面(図6の基本画面201と同一構成)が再表示される。
ユーザは、仕上領域指定画面に対して上述した作業を繰り返して再修正した後、即ちトライマップを再修正した後、領域計算ボタン262を押下操作する。すると、図10に示すように、状態遷移条件C47が満たされたと判定され、部分領域演算処理状態S47に再び遷移する。
部分領域演算処理状態S47に再び遷移すると、ユーザにより再修正された後の選択領域についての部分的なマット処理が再実行される。即ち、中解像度α画像と、中解像度前景F画像とが再構成される。これにより、状態遷移条件C48が満たされたと再度判定され、クライアント機器11の状態が、仕上調整画面操作処理状態S45に再び遷移する。
仕上調整画面操作処理状態S45に再び遷移すると、仕上調整画面205(図13)が表示部38に再表示される。この場合、仕上調整画面205の表示領域211には、部分的なマット処理の再処理の結果が表示される。
ユーザは、このような一連の操作を繰り返し実行することで、所望の結果になるまで、選択領域等を何度でも修正することができる。
【0159】
ユーザは、このような修正の操作を繰り返して所望の結果が得られたと判断した場合、仕上調整画面205(図13)が表示部38に表示されている状態で、確認画面ボタン372を押下操作することで、仕上確認画面の表示指示をする。
このようにして確認画面ボタン372が押下操作されると、図10に示すように、状態遷移条件C49が満たされたと判定されて、クライアント機器11の状態は、仕上確認画面操作処理状態S44に再び遷移する。これにより、仕上確認画面204(図12)が表示部38に再表示される。
【0160】
なお、仕上領域指定画面(図6の基本画面201と同一構成)の確認画面ボタン264が押下操作されても、図10に示すように、状態遷移条件C50が満たされたと判定され、クライアント機器11の状態は、仕上確認画面操作処理状態S44に再び遷移し、仕上確認画面204(図12)が表示部38に再表示される。
【0161】
ユーザは、所望の修正結果が得られたならば、仕上調整処理の結果を保存すべく、仕上確認画面204(図12)の保存ボタン362を押下操作するとよい。
すると、図10に示すように、状態遷移条件C51が満たされたと判定され、クライアント機器11の状態が、結果保存処理状態S48に遷移する。
【0162】
結果保存処理状態S48に遷移すると、出力サイズが中解像度サイズに等しい場合は、仕上調整部112は、中解像度α画像及び中解像度前景F画像の各データを少なくとも含むファイルを生成し、記憶部39の画像記憶部132に記憶させる。
このようなファイルを、以下、「仕上調整結果ファイル」と呼ぶ。
【0163】
ただし、一般的には、出力サイズは中解像度サイズよりも大きいので、仕上調整部112は、次のような一連の処理を実行することで、仕上調整結果ファイルを生成して、記憶部39の画像記憶部132に記憶させる。
即ち、仕上調整部112は、中解像度α画像及び中解像度前景F画像の各データのサイズを、出力サイズに変換する。なお、中解像度α画像が出力サイズに変換されたものを、以下、「出力サイズα画像」と呼ぶ。また、中解像度前景F画像が出力サイズに変換されたものを、以下、「出力サイズ前景F画像」と呼ぶ。
仕上調整部112は、処理対象画像P(入力画像P)のデータのサイズを、出力サイズに変換する。
仕上調整部112は、出力サイズの画素毎に、混合比α[x,y]>t(tは所定閾値、1以下で1に近い値)なる画素位置x,yにおける前景画素値F[x,y,c]を、処理対象画像Pの対応する画素位置x,yの画素値P[x,y,c]の値に更新する。
仕上げ調整部112は、出力サイズα画像及び更新後の出力サイズ前景F画像の各データを少なくとも含む仕上調整結果ファイルを生成し、記憶部39の画像記憶部132に記憶させる。
【0164】
このようにして、仕上調整結果ファイルが記憶部39に記憶されると、状態遷移条件C52が満たされたと判定されて、図10の仕上調整処理は終了する。
【0165】
なお、本実施形態では、図1のクライアント機器11又はサーバ12(以下、説明の便宜上サーバ12とする)は、その後、図示せぬプログラムを起動させ、次のような処理を実行することができる。即ち、サーバ12は、印刷出力される新背景、及び、新背景若しくは前景にかける特殊効果フィルタのユーザ選択を受け付け、最終印刷出力の画面イメージをユーザに提示してユーザの確認を求める。サーバ12は、ユーザが了解すれば、代金決済をして、切り抜かれた前景に対して新背景が合成された合成画像を、紙媒体等に印刷する。
具体的には、新背景のデータを構成する各画素値が、背景画素値B’[x,y,c]として上述の式(2)に代入される。また、出力サイズα画像の各画素値が、混合比α[x,y]として式(2)に代入される。出力サイズ前景F画像の各画素値が、前景画素値F[x,y,c]として式(2)に代入される。そして、式(2)が演算され、その結果得られる合成画像P’が紙媒体に印刷される。
【0166】
以上説明したように、マット処理の本質は、上述の式(1)の方程式を解くことであるが、方程式の求解速度は当然未知数の数に支配される。
本実施形態では、中解像度サイズでの処理(以下、「中間解像度処理」と呼ぶ)ができるので、未知数となる中間領域の混合比αと前景画素値Fの数を大幅に減らすことができ、その結果、大幅に処理速度が向上する。
ここで、単純な中間解像度処理では前景画素値Fの解像度が、処理対象画像(撮像画像等の原画像、即ち入力画像)の解像度よりも劣るため、印刷等の出力品質が低下してしまう。
そこで、本実施形態の切抜処理では、α値判定により、境界領域では、混色のない中解像度前景F画像の画素値が用いられ、内部領域(前景となる領域)では、高解像度の処理対象画像(撮像画像等の原画像、即ち入力画像)の画素値が用いられる。これにより、処理の高速化を実現しながら出力品質の低下を最低限に抑えることが可能になる。
さらに、処理対象画像(撮像画像等の原画像、即ち入力画像)は通常、その主要被写体の主要部分にフォーカスを合わせて撮像されるため、主要被写体のエッジ部分ではフォーカスがぼけている場合がある。そのような場合、本実施形態の切抜処理の結果は高解像度処理と全く優劣のつかない結果を与える。
また、処理対象画像(撮像画像等の原画像、即ち入力画像)のノイズや前景背景の本質的類似等の理由により、境界領域のマット処理結果が、たとえ高解像度で処理したものであっても解像度分の精度が出ない場合がある。このような場合には、本実施形態の切抜処理の結果は、高解像度処理の結果と全く優劣のつかない結果となる。
【0167】
以上、図5乃至図13を参照して、図4の機能的構成を有する画像処理システムが実行する切抜処理の詳細について説明した。
次に、図14を参照して、図4の機能的構成を有する画像処理システムにおいて切抜処理が実行される場合における、クライアント機器11とサーバ12との処理の関係について説明する。
【0168】
図14は、クライアント機器11とサーバ12とが協同して切り抜き処理を実行する場合の相互の処理の関係について説明するフローチャートである。
図14の左方には、クライアント機器11側の処理の流れを示すフローチャートが示され、同図の右方には、サーバ12側の処理の流れを示すフローチャートが示されている。
クライアント機器11側とサーバ12側とのうち、一方から他方へ引かれている矢印は、その方向に情報が伝送されていることを意味している。
【0169】
ステップS201において、図4のクライアント機器11の通信制御部101は、ユーザによる操作部37の操作に基づいて、サーバ12に対するログイン処理を実行する。
【0170】
ステップS221において、サーバ12の通信制御部151は、当該クライアント機器11によるログイン処理を受け付ける。
ステップS222において、サーバ12の通信制御部151は、切抜処理用プログラムをプログラム記憶部161から読みこみ、通信部59からクライアント機器11に対して送信させる。
【0171】
ステップS202において、クライアント機器11の通信制御部101は、サーバ12からネットワーク21を介して送信されてくる切抜処理用プログラムを、通信部40に受信させる。
ステップS203において、クライアント機器11の通信制御部101は、切抜処理用プログラムをプログラム記憶部131に一旦記憶させた後、RAM33(図2)等に展開して実行する。これにより、クライアント機器11のCPU31において、切抜処理部102が機能するようになる。
【0172】
ステップS204において、クライアント機器11の切抜処理部102は、処理対象画像が選択されたか否かを判定する。
即ち、ユーザは、操作部37を操作することによって、撮像画像等所望の画像を、処理対象画像として選択することができる。
ユーザによる選択の操作がなされていない場合、ステップS204においてNOであると判定されて、処理はステップS204に再び戻される。即ち、ユーザによる選択の操作がなされるまでの間、ステップS204の判定処理が繰り返し実行されて、クライアント機器11側の処理は待機状態になる。
その後、ユーザによる選択の操作がなされると、ステップS204においてYESであると判定されて、処理はステップS205に進む。
ステップS205において、クライアント機器11の通信制御部101は、処理画像のデータを画像記憶部132から読み込み、通信部40からサーバ12に対して送信させる。
【0173】
ステップS223において、サーバ12の通信制御部151は、クライアント機器11からネットワーク21を介して送信されてくる処理対象画像のデータを、通信部59に受信させ、画像記憶部162に保存する。
【0174】
一方、ステップS206において、クライアント機器11の切抜処理部102は、処理画像のデータについて、上述した切抜処理を実行する。
【0175】
図15は、クライアント側処理のステップS206の切抜処理の流れを説明するフローチャートである。
【0176】
ステップS241において、切抜処理部102の切抜指定部111は、切抜指定処理を実行する。切抜指定処理の詳細については、図5乃至図9を参照して説明済みであるので、ここではその説明は省略する。
【0177】
ステップS242において、切抜処理部102は、仕上調整処理を実行するか否かを判定する。
即ち、上述したように、切抜指定処理の結果だけでも、処理対象画像から前景を抜き出すことは十分可能であるため、仕上調整処理は、必須な処理ではなく、ユーザが実行有無を自在に選択可能な処理となっている。
【0178】
従って、ユーザが操作部37を操作して仕上調整処理の実行を指示した場合、ステップS242においてYESであると判定されて、処理はステップS243に進む。ステップS243において、切抜処理部102の仕上調整部112は、仕上調整処理を実行する。仕上調整処理の詳細については、図10乃至図13を参照して説明済みであるので、ここではその説明は省略する。
仕上調整処理が終了すると、処理は後述するステップS244に進む。
【0179】
これに対して、ユーザが操作部37を操作して仕上調整処理を実行しない旨を指示した場合、ステップS242においてNOであると判定されて、ステップS243の仕上調整処理は実行されずに、処理はステップS244に進む。
【0180】
ステップS244において、クライアント機器11の通信制御部101は、処理結果のデータを切抜画像のデータとして、通信部40からサーバ12に対して送信させる。
例えば仕上調整処理が実行されなかった場合(ステップS242の処理でNOであると判定された場合)、上述した切抜指定処理結果ファイルが、切抜画像のデータとしてサーバ12に送信される。
これに対して、例えば仕上調整処理が実行された場合(ステップS242の処理でYESであると判定されて、ステップS243の処理が実行された場合)、仕上調整結果ファイルが、切抜画像のデータとしてサーバ12に送信される。
なお、上述したように、切抜指定処理又は仕上調整処理では、処理途中の状態でもデータの保存が可能になっており、処理途中の状態で保存されたデータが再度読み込まれた場合、保存された時点の状態から処理の継続が可能になる。従って、このような処理途中の状態のデータも、必要に応じて、切抜画像のデータとしてサーバ12に送信される。
【0181】
図14に戻り、ステップS224において、サーバ12の通信制御部151は、クライアント機器11からネットワーク21を介して送信されてくる切抜画像のデータを、通信部59に受信させ、画像記憶部162に仮保存する。
【0182】
この間、ステップS207において、クライアント機器11の切抜処理部102は、処理の終了指示があったか否かを判定する。
処理の終了指示の手法は、特に限定されないが、本実施形態では、ユーザが操作部37を操作して処理の終了指示をするという手法が採用されているものとする。
このような終了の指示の操作がなされていない場合、ステップS207においてNOであると判定されて、処理はステップS204に戻され、それ以降の処理が実行される。即ち、終了の指示の操作がなされるまでの間、ステップS204乃至S207のループ処理が繰り返し実行されて、その都度切抜処理が実行され、切抜画像のデータがサーバ12に送信される。
その後、終了の指示の操作がなされると、ステップS207においてYESであると判定され、処理はステップS208に進む。
ステップS208において、クライアント機器11の通信制御部101は、処理の終了を示す通知(以下、「終了通知」と呼ぶ)を、通信部40からサーバ12に対して送信させる。
これにより、クライアント機器11側の処理は終了する。
【0183】
この間、ステップS225において、サーバ12の通信制御部151は、終了通知を受信したか否かを判定する。
終了通知が受信されていない場合、ステップS225においてNOであると判定されて、処理はステップS223に戻され、それ以降の処理が繰り返される。即ち、上述の如く、クライアント機器11側でステップS204乃至S207のループ処理が繰り返し実行されている間、終了通知は送信されないので、ステップS223乃至S225のループ処理が繰り返し実行され、クライアント機器11から処理画像や切抜画像の各データが送信されてくる度、受信されて保存される。
その後、終了通知が受信されると、次のステップS225においてYESであると判定されて、処理はステップS226に進む。
ステップS226において、サーバ12の主制御部152は、これまで仮保存していた切抜画像のデータを本保存する。
これにより、サーバ12側の処理は終了する。
【0184】
その後、図示はしないが、サーバ12は、印刷出力される新背景、及び、新背景若しくは前景にかける特殊効果フィルタのユーザ選択を受け付け、最終印刷出力の画面イメージをユーザに提示してユーザの確認を求める。
サーバ12は、ユーザが了解すれば、代金決済をして、切り抜かれた前景に対して新背景が合成された合成画像を、紙媒体等に印刷する。
【0185】
以上、切抜処理を実行可能な画像処理システムの一実施形態について説明した。
ここで、当該画像処理システムが、切抜処理を実行するが故に備える特長(効果)について、図16乃至図29を適宜参照して説明する。
【0186】
本実施形態の画像処理システムは、切抜処理を実行することができるので、操作に慣れないユーザは簡単な対話操作をするだけでよい、という第1の特長を有している。
【0187】
即ち、上述したように、切抜処理は、切抜指定処理と、仕上調整処理とに区分される。仕上調整処理は、細かな仕上の調整を行うための処理であり必須な処理ではない。即ち、切抜指定処理の結果(切抜指定処理結果ファイル)だけでも、処理対象画像から、前景を切り出して、新背景に合成することができる。
この切抜指定処理の実行時に必要となるユーザのGUI操作は、上述したように、ユーザにとって非常に容易で手間のかからないラフな操作であり、操作に慣れないユーザであっても戸惑うことなく行える操作である。
以下、図16乃至図18を参照して、切抜指定処理の際のユーザのGUI操作の具体例について説明する。
【0188】
図16は、切抜領域指定画面操作処理状態S12(図5)において表示される切抜領域指定画面に対するユーザのGUI操作の様子を示している。
図16に示すように、ユーザは、切抜領域指定画面202に表示されている処理対象画像から、前景と背景との境界領域501を指定することができる。
ここで、境界領域501は、厳密に前景と背景との本当の境界線(細線)で指定される必要はなく、図16に示すように、大雑把な太い線での指定でよい。要するに、ユーザは、前景と背景との本当の境界線を含むように、ある程度余裕を持った太さの線で、境界領域501を指定することができる。
もっとも、ユーザは、失敗しやすい部分や、特別な意図があって細かく指定したい部分については、当然ながら細い線を使用してもよい。
換言すると、前景と背景との境界領域501は、図7の境界ペン253で指定されるところ、当該境界ペン253の塗りの太さは、図7のペンサイズ255で自在に可変設定することができる。
【0189】
ユーザは、境界領域501の指定の操作後、領域計算ボタン312を押下操作する。
これにより、領域演算処理状態S13(図5)に遷移して、領域演算が行われる。
領域演算が終了すると、切抜修正画面操作処理状態S14(図5)に遷移して、図17に示すような切抜修正画面203が表示される。
【0190】
図17は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の初期状態の様子を示している。
図17に示すように、領域演算の結果(2値ラベル)に基づいて、境界領域502が表示されている。
ただし、領域503は、ウミガメのヒレの一部であり、本来前景(境界領域502の内側)となるべきところ、背景(境界領域502の外側)になってしまっている。これは、処理対象画像において、前景と背景との色が類似色であったためである。
このような場合、ユーザは、本来前景であるはずが背景となっている領域503を、消しゴム254で消すように指定することで、領域503を選択領域として新たに指定する。その後、ユーザは、領域計算ボタン312を押下操作する。
これにより、領域演算処理状態S13(図5)に再度遷移して、領域演算の再演算が行われる。
領域演算の再演算が終了すると、切抜修正画面操作処理状態S14(図5)に再度遷移して、図18に示すような切抜修正画面203が表示される。
【0191】
図18は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面に対するGUI操作の実行結果を示している。
図18に示すように、領域演算の再演算の結果(再構成後の2値ラベル)に基づいて、境界領域502が表示されている。ウミガメのヒレの一部である領域503は、境界領域502の内側、即ち前景に含まれるようになったことがわかる。
この図18の状態で、ほぼユーザにとっての所望の結果となっていると思われる。このような状態になった時点で、ユーザは、保存ボタン314を押下操作する。
すると、境界領域仕上処理状態S15(図5)に遷移し、引き続き結果保存処理状態S16(図5)に遷移し、図18の状態を示す切抜指定処理結果ファイルが記憶部39に記憶される。
その後、サーバ12(図1)等は、この切抜指定処理結果ファイルを用いることで、少なくとも図18の境界領域502内のウミガメの画像を前景として切り抜くことができ、当該前景と新背景とを合成した合成画像の印刷等をすることが可能になる。
なお、ユーザは、さらに所望の選択領域となるように、クライアント機器11に仕上調整処理を実行させるようにしてもよい。
【0192】
本実施形態の画像処理システムは、切抜処理を実行することができるので、上述の第1の特長に加えてさらに、セグメンテーションされた領域の表示形態を自在に可変できる、という第2の特長を有している。
【0193】
即ち、切抜修正画面203等において、前景領域は完全透過で表示される一方、背景領域と境界領域は、任意に可変できる透過比率での半透過色(原画像と分類色とのブレンド)で表示される。この透過比率(透明度)は、透明度変更スライダー232により簡易に変更できる。
図19乃至図21には、透明度変更スライダー232に対する操作結果の具体例が示されている。
【0194】
図19は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の初期状態の様子を示している。
図19に示すように、領域演算の結果(2値ラベル)に基づいて、境界領域、当該境界領域の内側のウミガメの前景領域、及び、当該境界領域の外側の背景領域504が表示されている。
即ち、背景領域504の背景色(図面では表現しきれないが、例えば青色)及び境界領域の境界色(図面では表現しきれないが、例えば赤色)と、原画像の色とが、透明度変更スライダー232の小さなつまみの位置に応じた混合比率(α値)で、ブレンド表示される。ただし、前景領域(ウミガメ)は混合されずに、常に完全透過している。
図19の初期状態では、透明度変更スライダー232の小さなつまみは、中央に配置されている。従って、ユーザは、原画像(処理対象画像)の状態と、前景を切り出した状態(結果)とのイメージをバランスよく同時に視認することができる。
【0195】
図20は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の、透明度変更スライダー232の小さなつまみを左端に寄せた状態を示している。
ユーザは、操作部37を操作して、透明度変更スライダー232の小さなつまみの位置を、所望の位置に自在に動かすことができる。
図20に示すように、透明度変更スライダー232の小さなつまみが左端まで移動されると、透過度が0%になるので、背景領域504については背景色(図面では表現しきれないが、例えば青色)のみが表示され、境界領域については境界色(図面では表現しきれないが、例えば赤色)が表示される。
即ち、前景領域では、原画像(ウミガメの部分)が他と混合されずに常に完全透過して表示される一方、背景領域504及び境界領域では、原画像(背景部分)が完全に消えて表示されない。従って、ユーザは、原画像(処理対象画像)の背景が完全に消えた時における、前景を切り出した状態(結果)のイメージをつかむことが容易にできる。即ち、図20の状態は、現状の品質確認を行いやすい状態である。
なお、第4の特長として後述するが、背景領域504については、単色の背景色のみの画像のかわりに、任意の画像(第4の特長でいう「新背景画像」等)を採用することもできる。
【0196】
図21は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の、透明度変更スライダー232の小さなつまみを右端に寄せた状態を示している。
図21に示すように、透明度変更スライダー232の小さなつまみが右端まで移動されると、透過度が100%になるので、背景領域504については背景色(図面では表現しきれないが、例えば青色)が完全に消え、境界領域については境界色(図面では表現しきれないが、例えば赤色)が完全に消えて、原画像が完全透過して表示される。
即ち、前景領域では、原画像(ウミガメの部分)が他と混合されずに常に完全透過して表示されるので、結果として、原画像の全体(処理対象画像全体)そのものが表示されることになる。
従って、ユーザは、背景色や境界色といった領域色に影響されずに、原画像における元の前景物体(本例ではウミガメ)の境界を容易に視認することができる。即ち、図21の状態は、次にどう修正するかをユーザが判断しやすい状態である。
【0197】
このように、第3の特長により、ユーザは、操作部37を操作して、透明度変更スライダー232の小さなつまみの位置を、所望の位置に自在に動かすことができる。従って、ユーザは、透明度変更スライダー232の操作だけで、現状の品質確認と次にどのように修正すべきかの判断とを同時に行うことができる。
このとき、ユーザは、透明度変更スライダー232の小さなつまみの位置として、原画像の配色やその時の作業内容等に応じてバランスのよい位置を自在に選択することができる。
【0198】
また、半透過表示を行っても混合比(α値)が固定されていると、慣れていないユーザは、背景色なのか、原画像そのものの色なのかについての判別、即ちどこまでが背景領域であってどこからが前景領域なのかについての判別をすることができない。
これに対して、本実施形態の画像処理システムを利用するユーザは、第3の特長により、このような判別が容易にできるようになる。即ち、ユーザは、透明度変更スライダー232の小さなつまみの位置を移動させることで、表示が変化する部分が境界領域及び背景領域であり、表示が変化しない部分が前景領域であると、容易に判別することができる。しかも、このような判別を行うための透明度変更スライダー232の小さなつまみの移動量は、原画像表示が行われる右端まででなくても、ある程度の移動量でよい。
【0199】
本実施形態の画像処理システムは、切抜処理を実行することができるので、上述の第1及び第2の特長に加えてさらに、境界色や背景色といった分類色の変更操作が非常に少ない回数でできる、という第3の特長を有している。
【0200】
即ち、境界色や背景色といった分類色(上述の例では青と赤)が原画像の色と類似している場合、第2の特長に基づいて混合比(α値)を変更しても、結果の変化が乏しくなり、ユーザは十分に視認できない場合がある。
この場合の対策としては、分類色として適当な色、即ち原画像の色と異なる色に変更する対策を取ればよい。
この場合、通常取られると想定される対策は、ユーザが、「色の変更」の機能が割り当てられたソフトウェアボタン(上述の色変更ボタン231がその一例)を押下操作すると、カラーパレットを表示して、当該カラーパレットから任意の色をユーザが選択する操作をする、といった対策になる。
しかしながら、このような対策では、ユーザが背景色と境界色をそれぞれ多数の色から選択する必要があるために、結果として、5ステップ前後のクリック操作が必要になる。
そこで、本実施形態の画像処理システムは、次のような手法を採用することによって、色変更ボタン231を最大で2回押下操作するだけで(クリック操作2回分に相当する操作をするだけで)済む、といった第3の特長を有している。
【0201】
図22は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の初期状態の様子を示している。
図22に示すように、領域演算の結果(2値ラベル)に基づいて、境界領域506、当該境界領域506の内側のウミガメの前景領域、及び、当該境界領域506の外側のウミガメの背景領域507が表示されている。
初期状態では、境界領域506の境界色は、図面では表現しきれないが例えば上述した赤色であり、背景領域507の背景色は、図面では表現しきれないが例えば上述した青色である。
【0202】
図23は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の、色変更ボタン231を1回押下操作した状態を示している。
ユーザは、操作部37を操作して、色変更ボタン231を押下操作することで、境界色や背景色といった分類色の変更を指示することができる。
色変更ボタン231が1回押下操作されると、境界領域506の境界色は、図面では表現しきれないが例えば茶色に変更され、背景領域507の背景色は、図面では表現しきれないが例えば緑色に変更される。
【0203】
図24は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の、色変更ボタン231を2回押下操作した状態を示している。
色変更ボタン231が2回押下操作されると(図23の状態からさらに1回押下操作されると)、境界領域506の境界色は、図面では表現しきれないが例えばマゼンダに変更され、背景領域507の背景色は、図面では表現しきれないが例えばシアンに変更される。
【0204】
色変更ボタン231が3回押下操作されると(図24の状態からさらに1回押下操作されると)、図22の初期状態に戻る。即ち、境界領域506の境界色は赤色に戻り、背景領域504の背景色は青色に戻る。
【0205】
なお、境界色と背景色の配色の決定手法は、特にこれに限定せず、背景色として3色、境界色として3色、合計6色を、単にそれぞれ明確に異なる色にすることで決定する手法を採用すれば足りる。なお、上述の例では、境界色は赤系の色として統一感を持たせている。
【0206】
図25は、このような境界色と背景色の配色の決定手法を説明する図である。
前提として、今現在編集しようとしている領域、即ち十分に狭い領域を考えれば、原画像の前景領域と背景領域の画素値はほぼ一定していると考えてよい。即ち、ユーザの作業を通してみれば、画像の各部位での編集にあたり、配色の再変更は必要な場合があるが、それは大きな不都合ではないと考えられる。
また、前景画素値を「f」と記述し、背景画素値を「b」と記述し、境界色として採用される3色の各々を、「M1」,「M2」,「M3」のそれぞれと記述し、背景色として採用される3色の各々を、「B1」,「B2」,「B3」のそれぞれと記述する。
このような前提の下、設計者等は、6色(境界色M1乃至M3、及び背景色B1乃至B3)のうち、前景画素値fに最も近い色を選択する。また、設計者等は、6色(境界色M1乃至M3、及び背景色B1乃至B3)のうち、背景画素値bに最も近い色を選択する。この場合、図25から明らかなように、どのように対応をつけても、何れかの行における1対の組み合せ(図25例ではM2,B2の対)には、前景画素値fからも背景画素値bからも矢印が来ない。
ここで、6色(境界色M1乃至M3、及び背景色B1乃至B3)としてそれぞれ明確に異なる色にすることで、設計者等は、矢印が来ない行の対を、境界色と背景色の配色として選択するだけで、原画像の画素値との類似色は発生させない配色を設定することが可能になる。
この配色は、仕上領域指定画面(図6の基本画面201と同一構成)における、略輪郭線の色(境界色)、部分マット処理による修正後のトライマップ表示の色(中間領域が境界色)と共通であり、全体に統一されており、配色変更で同時に変わる。
【0207】
本実施形態の画像処理システムは、切抜処理を実行することができるので、上述の第1乃至第3の特長に加えてさらに、仕上確認画面212(図12)における背景を、任意の新背景画像に変更可能である、という第4の特長を有している。
【0208】
即ち、仕上確認画面操作処理状態S44(図10)に遷移すると、図26に示すような仕上確認画面204が表示される。
図26は、仕上確認画面操作処理状態S44(図10)において表示される仕上確認画面204の初期状態の様子を示している。
図26に示すように、仕上確認画面204には、仕上調整が行われた処理対象画像から切り抜かれた前景(ウミガメ)に対して、予め用意された新背景画像511が合成されて表示される。
ユーザは、背景変更ボタン351を押下操作することで、表示領域211に表示される背景画像を、任意の新背景画像に変更することができる。
【0209】
図27は、仕上確認画面操作処理状態S44(図10)において表示される仕上確認画面204の、背景変更ボタン351を1回押下操作した状態を示している。
背景変更ボタン351が1回押下操作されると、表示領域211に表示される背景画像は、図27に示すような新背景画像512に変更される。
【0210】
図28は、仕上確認画面操作処理状態S44(図10)において表示される仕上確認画面204の、背景変更ボタン351を2回押下操作した状態を示している。
背景変更ボタン351が2回押下操作されると(図27の状態からさらに1回押下操作されると)、表示領域211に表示される背景画像は、図28に示すような新背景画像513に変更される。
【0211】
図29は、仕上確認画面操作処理状態S44(図10)において表示される仕上確認画面204の、背景変更ボタン351を3回押下操作した状態を示している。
背景変更ボタン351が3回押下操作されると(図28の状態からさらに1回押下操作されると)、表示領域211に表示される背景画像は、図29に示すような新背景画像514に変更される。
【0212】
ユーザは、納得するまで選択領域(切り抜かれる前景の領域)の修正の操作を繰り返すことになるが、切抜き結果の良し悪しは、新背景画像との相性があり、例えば境界混色をどの程度許容するかといった判断は、単色無地の背景画像だけから想像することは困難である。
あらかじめターゲットの新背景画像が決まっていれば、ターゲットたる新背景画像を表示すれば必要十分な結果が得られるが、そもそもターゲットがあらかじめ決まっているとは限らない。また、ターゲットが決まっていたとしても、どのような新背景画像に対してもある程度通用する品質に仕上げられることが望ましい。
そこで、本実施形態では、確認画面たる仕上確認画面204と、編集画面たる仕上調整画面205(図13)とを行き来できるソフトウェアボタン、即ち、仕上調整ボタン361(図12)や確認画面ボタン372(図13)が設けられている。さらに、典型的な場合をある程度網羅できるような代表的な配色や複雑さを表現できる新背景画像の集合体が用意されており、背景変更ボタン351の押下操作(クリック操作に相当する操作)だけで、背景画像の内容が、巡回的に切り替えられるように構成されている。
これにより、例えば、ユーザは、特定の新背景画像を念頭においているならば、それに類似する新背景画像を用いて品質を容易に視認することができる。また例えば、ユーザは、あらゆる背景に通用することを目指していれば、全ての新背景画像を順次用いて品質を容易に視認することができる。そして、ユーザは、仮に品質不十分であると判断すれば、編集画面たる仕上調整画面205(図13)を表示させて、編集操作に容易に戻ることが可能になる。
【0213】
なお、本発明は上述の実施の形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0214】
例えば、上述した実施形態では、切抜処理は、クライアント機器11とサーバ12との協働により行われていたが(図4)、クライアント機器11又はサーバ12のうちの何れかで行われてもよい。
ここで、システムとは、複数の装置や処理部により構成される装置全体を表すものであると定義し、1つの筺体内に収まる範囲内を1台の装置と仮定するならば、本発明が適用される画像処理システムは、複数の装置で構成してもよいし、単体の装置で構成してもよい。この場合、複数の装置で構成されるならば、複数の装置全体で図4の切抜処理部102の機能全体を発揮することができれば足り、図4の切抜処理部102の一機能は、複数の装置のうち任意の台数の任意の装置が有していればよい。
【0215】
また例えば、上述した実施の形態では、本発明が適用される情報処理装置は、パーソナルコンピュータ等として構成される例として説明した。しかしながら、本発明は、特にこれに限定されず、画像処理機能を有する電子機器一般に適用することができ、例えば、本発明は、ビデオカメラ、携帯型ナビゲーション装置、ポータブルゲーム機等に幅広く適用可能である。
【0216】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【0217】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0218】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア42(図2),61(図3)により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)等により構成される。光磁気ディスクは、MD(Mini-Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているROM32(図2),52(図3)や記憶部39(図2),58(図3)に含まれるハードディスク等で構成される。
【0219】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【符号の説明】
【0220】
11・・・クライアント機器、12・・・サーバ、21・・・ネットワーク、101・・・通信制御部、102・・・切替処理部、111・・・切抜指定部、112・・・仕上調整部、121・・・領域演算処理部
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、人物等の前景物体に対して任意の背景を合成し、その結果得られる合成画像を印刷する技術が存在する。
【0003】
例えば特許文献1には、人物写真等を別の背景と合成して印刷する技術として、別の背景画像を人物の背後のスクリーンに直接投影する技術が開示されている。また、特許文献1には、クロマキー合成に用いるためにブルーバック背景を投影する技術や、映画でよく用いられる、いわゆるクロマキー合成処理との組み合せの技術についても開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−77958号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、スクリーンや投影装置等を用いることなく、画像処理のみによって任意の背景に任意の画像から切り抜いた前景物体を合成したいという要求が近年挙げられているが、特許文献1の技術では、当該要求に応えることができない。
【0006】
本発明は、このような状況に鑑みてなされたものであり、スクリーンや投影装置等を用いることなく、任意の背景に任意の画像から切り抜いた前景物体を合成するために必要な画像処理を実現し、ひいては当該画像処理に対する操作を簡便にすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様によると、
前景物体を含む処理対象画像のデータについて、前記前景物体を含む前景領域と、背景領域と、前記前景領域と前記背景領域との境界を示す境界領域とを検出する検出手段と、
前記処理対象画像を表示するに際し、前記境界領域を他の領域とは識別可能な第1の色で表示させ、前記背景領域を、前記第1の色とは異なる第2の色で表示させる制御を実行する表示制御手段と、
を備える画像処理装置を提供する。
【0008】
本発明の一態様によると、上述した本発明の一態様に係る画像処理装置に対応する画像処理方法及びプログラムの各々を提供する。
【発明の効果】
【0009】
本発明によれば、スクリーンや投影装置等を用いることなく、任意の背景を前景物体に合成するために必要な画像処理を実現し、ひいては当該画像処理に対する操作を簡便にすることができる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施の形態に係る画像処理システムの構成を示すブロック図である。
【図2】図1の画像処理システムのクライアント機器のハードウェア構成を示すブロック図である。
【図3】図1の画像処理システムのサーバのハードウェア構成を示すブロック図である。
【図4】図2のハードウェア構成を有するクライアント機器と、図3のハードウェア構成を有するサーバとが協働して切抜処理を実行する場合の画像処理システムの機能的構成を示す機能ブロック図である。
【図5】図4のクライアント機器が切抜指定処理を実行する場合に取り得る各状態の一例を示す状態遷移図である。
【図6】図4の画像処理システムの切抜処理で用いられる基本画面の一例を示す図である。
【図7】図5の切抜指定処理で用いられる切抜領域指定画面の一例を示す図である。
【図8】図5の切抜指定処理で用いられる切抜修正指定画面の一例を示す図である。
【図9】図5の切抜指定処理の一部に対応する切抜領域修正処理の流れを説明するフローチャートである。
【図10】図4のクライアント機器が仕上調整処理を実行する場合に取り得る各状態の一例を示す状態遷移図である。
【図11】図10の仕上調整処理内で実行されるマット処理の流れを説明するフローチャートである。
【図12】図10の仕上調整処理で用いられる仕上確認画面の一例を示す図である。
【図13】図10の仕上調整処理で用いられる仕上調整画面の一例を示す図である。
【図14】図1のクライアント機器とサーバとが協同して切り抜き処理を実行する場合の相互の処理の関係について説明するフローチャートである。
【図15】図14のクライアント側処理の切抜処理の流れを説明するフローチャートである。
【図16】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図17】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図18】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図19】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図20】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図21】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図22】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図23】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図24】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図25】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図26】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図27】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図28】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【図29】図4の画像処理システムが切抜処理を実行する際の、表示画面の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の一実施の形態を図面に基づいて説明する。
【0012】
図1は、本発明の一実施の形態に係る画像処理システムの構成を示すブロック図である。
【0013】
図1に示す画像処理システムは、クライアント機器11−1乃至11−N(Nは1以上の任意の整数値)と、サーバ12と、を備えている。
クライアント機器11−1乃至11−N及びサーバ12の各々は、インターネット等の所定のネットワーク21を介して相互に接続されている。
なお、以下、クライアント機器11−1乃至11−Nの個々を区別する必要が無い場合、これらをまとめて、「クライアント機器11」と呼ぶ。
【0014】
クライアント機器11は、ネットワーク21を介して接続したサーバ12と協働して、人物等の着目物体(以下「前景」と呼ぶ)を含む画像を原画像として、当該原画像から前景を切り抜く画像処理を実行することができる。このような画像処理を、以下、「切抜処理」と呼ぶ。
このような切抜処理により原画像から切り出された前景は、原画像とは別の新たな背景と合成され、その結果得られる合成画像が紙媒体等に印刷されてユーザに提供される。
【0015】
図2は、このような切抜処理を実行するためのクライアント機器11のハードウェア構成を示すブロック図である。クライアント機器11は、例えばカメラ付きパーソナルコンピュータにより構成することができる。
【0016】
クライアント機器11は、CPU(Central Processing Unit)31と、ROM(Read Only Memory)32と、RAM(Random Access Memory)33と、バス34と、入出力インターフェース35と、撮像部36と、操作部37と、表示部38と、記憶部39と、通信部40と、ドライブ41と、を備えている。
【0017】
CPU31は、ROM32に記録されているプログラムに従って、又は、記憶部39からRAM33にロードされたプログラムに従って、各種の処理を実行する。
RAM33にはまた、CPU31が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0018】
例えば本実施形態では、後述する図4の通信制御部101を実現するプログラムが、ROM32や記憶部39に記憶されている。また、後述する図4の切抜処理部102を実現するプログラム(切抜処理を実行するプログラムであり、以下、「切抜処理用プログラム」と呼ぶ)は、サーバ12から提供されてRAM33に展開される。従って、CPU31が、これらのプログラムに従った処理を実行することで、図4の通信制御部101及び切抜処理部102の各機能を実現することができる。
【0019】
CPU31、ROM32、及びRAM33は、バス34を介して相互に接続されている。このバス34にはまた、入出力インターフェース35も接続されている。入出力インターフェース35には、撮像部36、操作部37、表示部38、記憶部39、通信部40、及びドライブ41が接続されている。
【0020】
撮像部36は、図示はしないが、光学レンズ部と、イメージセンサと、を備えている。
【0021】
光学レンズ部は、被写体を撮像するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。
フォーカスレンズは、イメージセンサの受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。
光学レンズ部にはまた、必要に応じて、焦点、露出、ホワイトバランス等の設定パラメータを調整する周辺回路が設けられる。
【0022】
イメージセンサは、光電変換素子や、AFE(Analog Front End)等から構成される。
光電変換素子は、例えばCMOS(Complementary Metal Oxide Semiconductor)型の光電変換素子等から構成される。光電変換素子には、光学レンズ部から被写体像が入射される。そこで、光電変換素子は、一定時間毎に被写体像を光電変換(撮像)して画像信号を蓄積し、蓄積した画像信号をアナログ信号としてAFEに順次供給する。
AFEは、このアナログの画像信号に対して、A/D(Analog/Digital)変換処理等の各種信号処理を施す。各種信号処理によって、デジタル信号が生成され、撮像部36の出力信号として出力される。
なお、以下、撮像部36の出力信号を、「撮像画像のデータ」と呼ぶ。従って、撮像部36からは撮像画像のデータが出力されて、CPU31等に適宜供給される。
【0023】
操作部37は、キーボードやマウス等で構成され、ユーザの指示操作を受け付ける。
表示部38は、液晶ディスプレイ等で構成され、各種画像を表示する。
記憶部39は、ハードディスク等で構成され、撮像部36から出力された撮像画像のデータ等、画像処理の対象となる画像のデータを一時記憶する。また、記憶部39は、各種画像処理に必要な各種データ、例えば、画像のデータ、各種フラグの値、閾値等も記憶する。
通信部40は、ネットワーク21を介してサーバ12(図1)等の他の装置との間で行う通信を制御する。
例えば本実施形態では、各種データの他、上述の如く切抜処理用プログラムがサーバ12から送信されてくる場合がある。このような場合、通信部40は、当該切抜処理用プログラムを受信して記憶部39に一旦記憶させる。記憶部39に記憶された切抜処理用プログラムは、RAM33に展開されてCPU31により実行される。
【0024】
ドライブ41には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア42が適宜装着される。
ドライブ41によってリムーバブルメディア42から読み出されたプログラムは、必要に応じて記憶部39にインストールされる。また、リムーバブルメディア42は、記憶部39に記憶されている画像のデータ等の各種データも、記憶部39と同様に記憶することができる。
【0025】
図3は、このようなクライアント機器11と協働して切抜処理を実行するためのサーバ12のハードウェア構成を示すブロック図である。
【0026】
サーバ12は、CPU51と、ROM52と、RAM53と、バス54と、入出力インターフェース55と、入力部56と、出力部57と、記憶部58と、通信部59と、ドライブ60と、を備えている。
【0027】
CPU51は、ROM52に記録されているプログラムに従って、又は、記憶部58からRAM53にロードされたプログラムに従って、各種の処理を実行する。
RAM53にはまた、CPU51が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0028】
例えば本実施形態では、後述する図4の通信制御部151及び主制御部152の各機能を実現するプログラムが、ROM52や記憶部58に記憶されている。従って、CPU51が、これらのプログラムに従った処理を実行することで、図4の通信制御部151及び主制御部152の各機能を実現することができる。
【0029】
CPU51、ROM52、及びRAM53は、バス54を介して相互に接続されている。このバス54にはまた、入出力インターフェース55も接続されている。入出力インターフェース55には、入力部56、出力部57、記憶部58、通信部59、及びドライブ60が接続されている。
【0030】
入力部56は、キーボードやマウス等で構成され、各種情報を入力する。
出力部57は、液晶ディスプレイ、スピーカ、プリンタ等で構成され、各種情報を出力する。例えば、クライアント機器11の切抜処理によって原画像から切り抜かれた前景と、原画像とは別の新背景とが合成され、その結果得られる合成画像が、プリンタにより紙媒体等に印刷されて出力される。
記憶部58は、ハードディスク等で構成され、各種情報を記憶する。
通信部59は、ネットワーク21を介してクライアント機器11(図1)等の他の装置との間で行う通信を制御する。
【0031】
ドライブ60には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア61が適宜装着される。
ドライブ60によってリムーバブルメディア61から読み出されたプログラムは、必要に応じて記憶部58にインストールされる。また、リムーバブルメディア61は、記憶部58に記憶されている画像のデータ等の各種データも、記憶部58と同様に記憶することができる。
【0032】
図4は、図2のハードウェア構成を有するクライアント機器11と、図3のハードウェア構成を有するサーバ12とが協働して切抜処理を実行する場合の画像処理システムの機能的構成を示す機能ブロック図である。
【0033】
[クライアント機器11の機能的構成]
初めに、画像処理システムの構成要素のうち、クライアント機器11の機能的構成について説明する。
【0034】
クライアント機器11がネットワーク21を介してサーバ12と通信をする場合、クライアント機器11のCPU31において、通信制御部101が機能する。
即ち、通信制御部101は、通信部40及びネットワーク21を介してサーバ12と接続して、各種情報を授受するための制御を実行する。
例えば、通信制御部101は、切抜処理用プログラムがサーバ12から送信されてきた場合、ネットワーク21を介して通信部40に受信させ、記憶部39のプログラム記憶部131に一旦記憶させる。
このようにしてプログラム記憶部131に記憶された切抜処理用プログラムがRAM33(図2)に展開されて実行されると、CPU31において、切抜処理部102が機能する。
【0035】
切抜処理部102は、切抜処理を実行すべく、切抜指定部111と、仕上調整部112と、を備えている。仕上調整部112は、領域演算処理部121を備えている。
【0036】
即ち、切抜処理を実現する切抜処理用プログラムは、大別すると、切抜指定プログラムと、仕上調整プログラムと、に分類される。
【0037】
切抜処理用プログラムのうち切抜指定プログラムが実行される場合には、切抜処理部102のうち切抜指定部111が機能する。
切抜指定プログラムとは、処理対象の原画像から、切抜対象としてユーザにより選択される前景の領域(以下、「選択領域」と呼ぶ)の指定を行い、選択領域の境界部分をきれいに仕上げる(境界領域の重ね合わせを滑らかにする)ための演算を行い、その演算結果を保存するまでの一連の処理(以下、「切抜指定処理」と呼ぶ)を実現するプログラムである。
なお、選択領域の境界部分をきれいに仕上げる(境界領域の重ね合わせを滑らかにする)ための演算を、以下、「領域演算」と呼ぶ。
切抜指定プログラムでは、処理途中の状態でもデータの保存が可能になっており、処理途中の状態で保存されたデータが再度読み込まれた場合、保存された時点の状態から処理の継続が可能になる。即ち、ユーザにとっては、保存された状態から継続して作業を行うことが可能になる。
【0038】
一方、切抜処理用プログラムのうち仕上調整プログラムが実行される場合には、切抜処理部102のうち仕上調整部112が機能する。
即ち、上述の切抜指定プログラムのみが実行されても、境界領域の仕上げを行った選択領域を特定可能なデータが得られるが、ユーザが、さらに高精細な合成画像を得たいと所望した場合や境界領域の調整を行いたいと所望した場合等に実行されるプログラムが、仕上調整プログラムである。
仕上調整プログラムでは、切抜指定プログラムによる切抜指定処理の結果が読み込まれ、領域演算を伴う各種処理(これらをまとめて、「仕上調整処理」と呼ぶ)が実行される。この仕上調整処理における領域演算は、後述するマット処理を伴うものであるため、このマット処理も含めた領域演算を実行する処理を、以下、「領域演算処理」と呼ぶ。
このマット処理が実行される場合には、仕上調整部112のうち、領域演算処理部121が機能する。
仕上調整プログラムでは、処理途中の状態でもデータの保存が可能になっており、処理途中の状態で保存されたデータが再度読み込まれた場合、保存された時点の状態から処理の継続が可能になる。即ち、ユーザにとっては、保存された状態から継続して作業を行うことが可能になる。
【0039】
なお、切抜指定部111、仕上調整部112、及び、領域演算処理部121の各々が有する各機能の更なる詳細については、図5以降の図面を参照して後述する。
【0040】
このように、本実施形態では、通信制御部101及び切抜処理部102は、図2に示す構成のうち、CPU31というハードウェアと、プログラム(ソフトウェア)との組み合わせとして構成されている。
しかしながら、これは例示であって、通信制御部101及び切抜処理部102の機能の少なくとも一部を、CPU31以外の他の構成要素に移譲させることも当然可能である。
【0041】
また、本実施形態では、記憶部39の一領域として、プログラム記憶部131と、画像記憶部132と、が設けられている。
プログラム記憶部131は、通信制御部101を実現するプログラムを予め記憶している。また、上述したように、通信制御部101の制御により切抜処理用プログラムが受信された場合、当該切抜処理用プログラムはプログラム記憶部131に記憶される。
画像記憶部132は、切抜処理部102が切抜処理を実行する際の処理対象となる各種画像のデータを所定のファイル形式で記憶する。画像記憶部132に記憶され得る画像のデータの具体例については、後述する。
なお、プログラム記憶部131及び画像記憶部132が記憶部39の一領域として設けられていることは例示にすぎず、その他例えば、リムーバブルメディア42の一領域として設けられるようにしてもよい。また、画像記憶部132は、クライアント機器11に設けられている必要は特になく、例えば、通信部40及びネットワーク21を介して接続される他の装置内に設けられていてもよい。
【0042】
以上、画像処理システムの構成要素のうち、クライアント機器11の機能的構成について説明した。次に、画像処理システムの構成要素のうち、サーバ12の機能的構成について説明する。
【0043】
[サーバ12の機能的構成]
クライアント機器11がネットワーク21を介して接続するサーバ12と協働して切抜処理を実行する場合、サーバ12のCPU51においては、通信制御部151と、主制御部152と、が機能する。
【0044】
通信制御部151は、通信部59及びネットワーク21を介してクライアント機器11と接続して、各種情報を授受するための制御を実行する。
例えば、通信制御部151は、クライアント機器11からアクセスされると(例えば後述するログイン処理がなされると)、記憶部58のプログラム記憶部161に記憶されていた切抜処理用プログラムを読み出して、通信部59からネットワーク21を介してクライアント機器11に対して送信する(後述する図14のステップS201,S221,S223参照)。
また例えば、通信制御部151は、切抜処理後の画像等、各種画像のデータがクライアント機器11から送信されてきた場合、各種画像のデータをネットワーク21を介して通信部59に受信させ、記憶部58の画像記憶部162に記憶させる。
その後例えば、画像記憶部162に記憶された画像のデータに基づいて、切抜処理によって原画像から切り抜かれた前景と、原画像とは別の新背景とが合成され、その結果得られる合成画像が、プリンタにより紙媒体等に印刷されて出力される。
【0045】
主制御部152は、クライアント機器11がネットワーク21と接続してサーバ12と協働して切抜処理を実行する場合、サーバ12全体を制御する。
なお、主制御部152の制御の詳細については、図14等を参照して後述する。
【0046】
このように、本実施形態では、通信制御部151及び主制御部152は、図3に示す構成のうち、CPU51というハードウェアと、プログラム(ソフトウェア)との組み合わせとして構成されている。
しかしながら、これは例示であって、通信制御部151及び主制御部152の機能の少なくとも一部を、CPU51以外の他の構成要素に移譲させることも当然可能である。
【0047】
また、本実施形態では、記憶部58の一領域として、プログラム記憶部161と、画像記憶部162と、が設けられている。
プログラム記憶部161は、通信制御部151及び主制御部152の各々を実現するプログラムを予め記憶している。プログラム記憶部161はまた、上述の如く、クライアント機器11に対してダウンロードさせることが可能な、切抜処理用プログラムを予め記憶している。
画像記憶部162は、上述したように、クライアント機器11から送信されて通信部59に受信された、各種画像のデータを所定のファイル形式で記憶する。画像記憶部162に記憶され得る画像のデータの具体例については、後述する。
なお、プログラム記憶部161及び画像記憶部162が記憶部58の一領域として設けられていることは例示にすぎず、その他例えば、リムーバブルメディア61の一領域として設けられるようにしてもよい。また、画像記憶部162は、サーバ12に設けられている必要は特になく、例えば、通信部59及びネットワーク21を介して接続される他の装置内に設けられていてもよい。
【0048】
次に、このような図4の機能的構成を有する画像処理システムが実行する切抜処理の詳細について説明する。
先ず、図5乃至図9を参照して、切抜処理のうち、切抜指定処理の詳細について説明する。
【0049】
図5は、クライアント機器11が切抜指定処理を実行する場合に取り得る各状態の一例を示す状態遷移図である。
【0050】
図5において、各状態は、1つの楕円で示されており、その楕円に引かれた“S”を含む符号により判別される。
1つの状態から1つの状態への状態遷移(同一の状態に留まる場合も含む)は、所定の条件(以下、「状態遷移条件」と呼ぶ)が満たされると実行される。
このような状態遷移条件は、図5おいては、1つの状態から1つの状態への遷移を表す矢印に、“C”を含む符号を付して表されている。
なお、本段落の内容は、後述する図10の状態遷移図についても同様にあてはまる。
【0051】
前提として、本実施形態では、処理対象画像のデータは、切抜指定処理の開始前に予め画像記憶部132から読み込まれているものとする。
即ち、詳細については図14のフローチャートを参照して後述するが、切抜処理(切抜指定処理)の前に、画像記憶部132に記憶されている複数の画像のデータの中から、切抜対象の前景(人物等)を含む画像のデータがユーザにより選択される(後述する図14のステップS204参照)。
このようにして選択され画像のデータは、処理対象画像のデータとして画像記憶部132から読み込まれ、サーバ12に送信される(後述する図14のステップS205参照)。これにより、切抜処理のうち切抜指定処理が開始する(後述する図14のステップS206,図15のステップS241参照)。
すると、切抜指定部111(図4)は、状態遷移条件C1が満たされたと判定し、クライアント機器11の状態を、処理対象画像取得処理状態S11に遷移させる。
【0052】
処理対象画像取得処理状態S11に遷移すると、切抜指定部111は、処理対象画像のデータを取得する。
ここで、処理対象画像のデータは、特に限定されず、例えば撮像部36(図2)により人物が撮像された結果得られる撮像画像のデータ等を採用することができる。
ただし、読み込まれた画像の解像度(サイズ)のままでは、切抜指定処理に長時間を要する場合がある。そこで、本実施形態では、切抜指定部111は、読み込まれた画像のデータの解像度(サイズ)を縮小する。
このように切抜指定部111により縮小された後の解像度(サイズ)を、以下、「縮小サイズ」と呼ぶ。例えば、(水平方向の画素数)×(垂直方向の画素数)のサイズという表記を用いるならば、本実施形態では縮小サイズとして、640×480のサイズ又は480×640のサイズが採用される。
【0053】
ここで、処理対象画像のデータとして取得される種類として、次の2種類が存在する。
即ち、1種類目のデータとは、撮像画像等の原画像のデータそのものである。
主に、処理対象画像に対する切抜指定処理が初回の場合に、1種類目のデータ、即ち、原画像のデータそのものが取得される。この場合、原画像のデータが縮小サイズのデータに変換されると、切抜指定部111は、状態遷移条件C2が満たされたと判定し、クライアント機器11の状態を、切抜領域指定画面操作処理状態S12に遷移させる。
これに対して、2種類目のデータとは、前回の処理対象画像に対する切抜指定処理の途中に保存された画像(切抜画像等)のデータである。
2種類目の画像のデータが取得され、必要に応じて、当該データが縮小サイズのデータに変換されると、切抜指定部111は、状態遷移条件C3が満たされたと判定し、クライアント機器11の状態を、切抜修正画面操作処理状態S14に遷移させる。
【0054】
このようにして、処理対象画像取得処理状態S11からは、切抜領域指定画面操作処理状態S12又は切抜修正画面操作処理状態S14に遷移する。
ここで、「切抜領域指定画面操作処理状態」とは、「切抜領域指定画面」と名付けられたGUI(Graphical User Interface)用の画面が、クライアント機器11の表示部38(図2,図4)に表示され、当該画面に対してユーザによるGUI操作がなされた場合に、GUI操作の内容に応じた処理を実行している状態をいう。
従って、ユーザは、切抜領域指定画面を用いて、操作部37(図2,図4)のマウス等を用いたGUI操作をすることによって、切抜処理を実行する上で必要な各種指示をクライアント機器11と対話的に行うことが可能になる。
なお、この段落の記載事項は、切抜処理における、切抜修正画面操作処理状態等他の画面操作処理状態についても同様にあてはまる。
切抜処理で用いられる画面は複数種類存在するため、各状態において異なる種類の画面が表示部38に表示される。
ただし、切抜処理で用いられる複数種類の画面は何れも、図6に示すような基本画面に基づいて生成される。即ち、基本画面を構成する各要素(ソフトウェアボタンやスライダー等)のうち、所定の種類の画面が表示される状態において、使用できないものや、選択する必要が無いためそのアイコンを選択している状態になっているもの(移動アイコン等)は表示が禁止されるように、当該所定の種類の画面が生成される。
【0055】
図6は、切抜処理で用いられる基本画面の一例を示している。
基本画面201は、6つの表示領域211乃至216に区分されている。
【0056】
表示領域211は、基本画面201の略中央部に位置し、処理対象画像のうち、ユーザが操作対象とする部分を表示する。
【0057】
表示領域212には、例えば「色の変更」と表示されたソフトウェアボタン231(以下、「色変更ボタン231」と呼ぶ)が配置される。色変更ボタン231には、境界領域やその外側の背景領域(後述する非選択領域)についての色の変更の指示の機能が割り当てられる。
また例えば、図6には図示しないが(図12参照)、表示領域212の同一位置に、「背景を変更」と表示されたソフトウェアボタン351(以下、「背景変更ボタン351」と呼ぶ)が配置される場合がある。背景変更ボタン351には、(異なった色の)背景の表示切替等の指示の機能が割り当てられる。
即ち、ユーザは、操作部37のマウス等を用いて、色変更ボタン231や背景変更ボタン351を押下操作することで、これらに割り当てられている内容の指示を行うことができる。なお、これらの各種指示の詳細については後述する。
【0058】
表示領域212にはまた、左方に「透明度」と表示されたスライダー232(以下、「透明度変更スライダー232」と呼ぶ)が配置される。透明度変更スライダー232は、境界領域やその外側の背景領域(後述する非選択領域)の透明度の変更を行うスライダーである。
【0059】
ここで、スライダーとは、オーディオ機器等で見られるスライドボリュームを模したソフトウェア上のコントロールをいう。一般的に、スライダーは、小さなつまみと、それを動かすための溝を模した表示によって構成される。
このスライダーは、一定の範囲内から1つの値を選択するという機能を有している。溝の両端のうち、一方の端が最小値であり、他方の端が最大値である。即ち、ユーザは、操作部37のマウス等を用いて、小さなつまみをドラッグして移動させることにより、溝の範囲内で任意の値(透明度変更スライダー232では、透明度)を選択することができる。
なお、選択肢の中から1つを選ぶという機能だけに着目すると、ラジオボタンやリストボックスを採用してもよいが、本実施形態のようにスライダーを採用することで、ユーザは、連続した関係にある多数の値の中から所望の値を選択することが可能になる。
【0060】
表示領域213には、「拡大縮小」と表示されたスライダー241(以下、「拡大縮小スライダー241」と呼ぶ)が配置される。
拡大縮小スライダー241は、表示領域211に表示される画像の拡大縮小を行うスライダーである。本実施形態の拡大縮小スライダー241においては、その溝の左端に対して、最小倍率である1倍が対応付けられており、その溝の右端に対して、最大倍率である8培が対応付けられている。即ち、本実施形態では、1倍未満の選択はできないことになる。小さなつまみが溝の左端によせられると、表示領域211は1倍表示となる。ここで、1倍表示とは、編集画像(処理対象画像)の全体が表示領域211の全体に表示された状態をいう。
【0061】
表示領域214には、描画ツールが配置される。
描画ツールとは、ユーザが操作部37のマウス等を用いてアイコンやペンをクリックして、表示領域211に対するマウス操作の動作を変更するために使用するツールをいう。
描画ツールを構成する要素の種類や個数は特に限定されないが、本実施形態では図6に示すように、移動アイコン251、背景ペン252、境界ペン253、消しゴム254、及びペンサイズ255が表示領域214に配置されている。
移動アイコン251は、ユーザが操作部37のマウス等を用いてマウスドラックを行うことで、拡大中の画面の表示領域を変更(移動)する機能を有するアイコンである。
背景ペン252は、背景を指定するために使用するソフトウェアペンである。
境界ペン253は、背景と前景との境界を指定するために使用するソフトウェアペンである。
消しゴム254は、切抜領域指定画面(後述する図7参照)では、境界ペン242で描いた領域を消去するために使用し、切抜領域指定画面以外の画面では、選択領域(切り抜かれる前景領域)を指定するために使用するためのツールである。
ペンサイズ255は、背景ペン252、境界ペン253、消しゴム254の塗りのサイズを選択するためのアイコンである。ユーザは、操作部37のマウス等を用いて、ペンサイズ255のうち所望のサイズのアイコンをクリックすることで、塗りのサイズを変更できる。
なお、本実施形態では、画面間を移行した場合には、ペンサイズ255の設定(塗りのサイズ)はリセットされる。領域演算(マット領域演算含む)が実行された場合には、ペンサイズ255の設定(塗りのサイズ)は維持される。表示拡大時のペンサイズ255の設定(塗りのサイズ)は、画面の拡大と一緒に拡大される。
【0062】
表示領域215には、ソフトウェアボタン261乃至264等各種ソフトウェアボタンが配置される。
表示領域215に配置されるソフトウェアボタンは、各種画面によってまちまちであるため、後述する各種画面の説明の際に併せて説明する。なお、図6に示すソフトウェアボタン261乃至264は、後述する仕上領域指定画面において用いられるものである。
【0063】
表示領域216は、予備領域として設けられており、メッセージ画像等各種画像が適宜表示される。
【0064】
次に、このような図6の基本画面201に基づいて生成される画面のうち、図5の切抜領域指定画面操作処理状態S12で表示される画面、即ち切抜領域指定画面について説明する。
【0065】
図7は、切抜領域指定画面の一例を示している。
切抜領域指定画面202は、基本画面201(図6)と同様に、6つの表示領域211乃至216に区分されている。
ただし、切抜領域指定画面202の表示領域212,213,216には、何ら表示されていない。
【0066】
表示領域211には、初期状態として、撮像画像等の処理対象画像の全体(ただし縮小サイズ)が表示される。
表示領域214には、描画ツールのうち、境界ペン253、消しゴム254、及びペンサイズ255が表示される。
【0067】
そこで、ユーザは、操作部37のマウス等を用いて、表示領域211に表示された処理対象画像のうち、前景と背景との境界領域を境界ペン253で囲うように指定する。このとき、ユーザにより指定された境界領域が、ペンサイズ255により指定された塗りのサイズの太さで、表示領域211に表示される。例えば図7の例では、前景(ウミガメ)と背景との境界領域は指定されている最中なので、境界領域として、指定済みの部分に対応する一部の領域301が表示されている。
【0068】
ユーザは、境界領域の指定の操作を行っている最中に境界ペン253で誤った部分を指定しまった場合、消しゴム254を用いて、表示領域211に表示された境界領域のうち、誤った部分に対応する領域を消去することができる。
また、ユーザは、境界ペン253や消しゴム254の描画サイズ(塗りのサイズ)を変更したい場合には、ペンサイズ255の設定を行えばよい。
【0069】
切抜領域指定画面202の表示領域215には、「やり直し」と表示されたソフトウェアボタン311(以下、「やり直しボタン311」と呼ぶ)と、「領域計算」と表示されたソフトウェアボタン312(以下、「領域計算ボタン312」と呼ぶ)と、が配置される。
【0070】
やり直しボタン311には、直前の操作を取り消す機能が割り当てられている。
即ち、ユーザは、直前の操作内容が間違っていた場合等に、操作部37のマウス等を用いて、やり直しボタン311を押下操作することで、当該直前の操作を取り消すことができる。
【0071】
領域計算ボタン312には、領域演算の開始指示の機能が割り当てられている。
即ち、ユーザは、境界領域の指定の操作後、操作部37のマウス等を用いて、領域計算ボタン312を押下操作することで、当該境界領域についての領域演算の開始指示を行うことができる。
【0072】
領域計算ボタン312が押下操作されると、切抜指定部111(図4)は、図5に示すように、状態遷移条件C4が満たされたと判定し、クライアント機器11の状態を、領域演算処理状態S13に遷移させる。
【0073】
領域演算処理状態S13に遷移すると、切抜指定部111は、処理対象画像のデータ(縮小サイズ)に基づいて、ユーザにより指定された境界領域についての領域演算を行う。
具体的には本実施形態では、切抜指定部111は、次のような一連の処理を実行することで、領域演算を行う。
即ち、切抜指定部111は、処理対象画像のデータに基づいて、ユーザにより指定された境界領域の内側の領域を、前景と断定できる領域(以下、「絶対前景領域」と呼ぶ)として決定し、当該境界領域の外側の領域を、背景と断定できる領域(以下、「絶対背景領域」と呼ぶ)を決定する。
次に、切抜指定部111は、処理対象画像(縮小サイズ)を構成する各画素毎に、前景又は背景を示す2値ラベルのあてはまりの良さを評価するコスト関数を、1階MRF(Markov Random Field)モデルを用いてモデル化し、その最適解を求める。
具体的には、切抜指定部111は、絶対前景領域と絶対背景領域との情報を用いてデータ項を作り、処理対象画像のエッジ性を用いて隣接項を作る。
これにより、最適化された、縮小サイズの2値ラベルが得られる。そこで、切抜指定部111は、当該2値ラベルを記憶部39の画像記憶部132(図4)等に保存する。
このようにして、本実施形態では、切抜指定部111により領域演算が行われる。
【0074】
このような領域演算が終了すると、切抜指定部111(図4)は、図5に示すように、状態遷移条件C5が満たされたと判定し、クライアント機器11の状態を、切抜修正画面操作処理状態S14に遷移させる。
なお、図5には図示しないが、境界ペン253で指定された境界領域の不具合(境界領域が閉じていない等)で領域演算が行われかった場合には、切抜指定部111は、領域演算がうまくいかなかったことを示すメッセージ画像を表示部38に表示させ、切抜領域指定画面操作処理状態を維持する。
【0075】
切抜修正画面操作処理状態S14に遷移すると、切抜指定部111は、図8に示すような切抜修正画面を表示部38に表示させる。
【0076】
図8は、切抜修正指定画面の一例を示している。
切抜修正画面203は、基本画面201(図6)と同様に、6つの表示領域211乃至216に区分されている。
【0077】
表示領域211には、初期状態として、上述した図7の切抜領域指定画面202の領域計算ボタン312が押下操作されて上述の領域演算が行われた結果が表示される。
即ち、表示領域211には、処理対象画像(縮小サイズ)に2値ラベル(縮小サイズ)が合成された合成画像が表示されるとともに、前景と背景との境界領域(図8の例ではウミガメの周囲を囲む領域302)が表示される。
この場合、境界領域内の領域が、切抜対象としてユーザにより選択される前景領域、即ち選択領域である。選択領域は透過率が100%で固定されており、常に処理対象画像そのものが表示されるようになされている。
ユーザが操作部37のマウス等を用いて選択領域を修正するための画面が、切抜修正画面203である。
【0078】
表示領域212には、色変更ボタン231と、透明度変更スライダー232とが配置されている。
ここで、境界領域(図8の例ではウミガメの周囲を囲む領域302)の外側の領域、即ち、切抜対象としてユーザにより選択されない背景領域を、以下「非選択領域」と呼ぶ。この場合、切抜修正画面203の表示領域211に表示される画像は、前景としての選択領域と、背景としての非選択領域と、これらの領域の境界となる境界領域と、にそれぞれ分類される。
このような分類をユーザが視認できるように、本実施形態では、境界領域及び非選択領域の各々が、第1の色及び第2の色で表示される。なお、以下、境界領域を表示する第1の色を「境界色」と、背景としての非選択領域を表示する第2の色を「背景色」と、それぞれ呼ぶ。
このような境界色と背景色との組み合わせは、本実施形態の初期状態では、赤色と青色との組み合わせとされているが、それぞれの領域が識別可能な色であれば、どのような色でもよい。また、境界色及び背景色それぞれの色は色変更ボタン231によって変更可能になっている。即ち、ユーザは、色変更ボタン231を押下操作することで、境界色と背景色との組み合わせを、所望の色の組み合わせに変更することができる。なお、色の組み合わせの変更の詳細については、図25を参照して後述する。
また、境界領域及び非選択領域は、本実施形態の初期状態では半透過状態となっているが、透明度変更スライダー232によって透明度の変更が可能になっている。なお、2値ラベル側の非選択領域が背景色となっており、この透明度が高くなるにつれ、処理対象画像の背景部分がユーザに視認されるようになる。境界領域の透明度についても同様になっている。
ユーザは、透明度変更スライダー232を操作することで、境界領域及び非選択領域の透明度を、所望の度合に変更することができる。
【0079】
表示領域213には、拡大縮小スライダー241が配置されている。
従って、ユーザは、拡大縮小スライダー241を操作することで、選択領域、境界領域及び非選択領域のうちの、所望の領域や2以上の領域の結合部等着目する部分を拡大表示させることができる。その後、ユーザは、拡大縮小スライダー241を操作することで、拡大表示後の画像を、等倍となるまでの範囲内で縮小表示させることもできる。
【0080】
表示領域214には、描画ツールのうち、移動アイコン251、背景ペン252、消しゴム254、及びペンサイズ255が表示される。
【0081】
そこで、ユーザは、操作部37のマウス等を用いて、表示領域211に表示されている画像のうち、本来前景であるはずが背景となっている領域を消しゴム254で消すように指定することで、当該領域を選択領域として新たに指定することができる。
一方、ユーザは、操作部37のマウス等を用いて、表示領域211に表示されている画像のうち、本来背景であるはずが前景となっている領域を背景ペン252で描くように指定することで、当該領域を非選択領域として指定することができる。
要するに、表示領域211において、非選択領域は第2の色で表示されているので、ユーザは、色が塗ってあるところは、選択領域(前景)が切り抜かれた場合に切り捨てられる領域というイメージを持って、選択領域を修正する作業を行うことができる。
なお、表示領域211が拡大表示中の場合、ユーザは、移動アイコン251を用いて、表示領域(作業対象領域)を変更(移動)することができる。また、ユーザは、背景ペン252や消しゴム254の描画サイズ(塗りのサイズ)を変更したい場合には、ペンサイズ255の設定を行えばよい。
【0082】
切抜修正画面203の表示領域215には、切抜領域指定画面202と同様にやり直しボタン311及び領域計算ボタン312が配置される。さらに、当該表示領域215には、「領域指定」と表示されたソフトウェアボタン313(以下、「領域指定ボタン313」と呼ぶ)と、「保存」と表示されたソフトウェアボタン314(以下、「保存ボタン314」と呼ぶ)と、が配置される。
【0083】
ユーザは、直前の操作内容が間違っていた場合等に、操作部37のマウス等を用いて、やり直しボタン311を押下操作することで、当該直前の操作を取り消すことができる。
【0084】
また、ユーザは、選択領域の修正の操作後、操作部37のマウス等を用いて、領域計算ボタン312を再度押下操作することで、領域演算の再演算の開始指示を行うことができる。
【0085】
即ち、切抜修正画面203の領域計算ボタン312が押下操作されると、切抜指定部111(図4)は、図5に示すように、状態遷移条件C6が満たされたと判定し、クライアント機器11の状態を、領域演算処理状態S13に再び遷移させる。
【0086】
領域演算処理状態S13に再び遷移すると、切抜指定部111は、処理対象画像のデータ(縮小サイズ)に基づいて、ユーザにより修正された後の選択領域について、領域演算の再演算を実行する。
【0087】
このような領域演算の再演算が終了すると、切抜指定部111は、図5に示すように、状態遷移条件C5が再び満たされたと判定し、クライアント機器11の状態を、切抜修正画面操作処理状態S14に再び遷移させる。
【0088】
切抜修正画面操作処理状態S14に再び遷移すると、切抜指定部111は、切抜修正画面を表示部38に表示させる。この場合、表示領域211には、領域演算の再演算の結果を示す画像が表示される。
【0089】
ここで、領域計算ボタン312の押下回数に特に制限はない。従って、ユーザは、選択領域の修正の操作を行い、領域計算ボタン312を押下操作して、領域演算の再演算の結果が表示領域211に表示されると、表示領域211の表示内容で修正結果の確認を行う、といった一連の作業を何回も繰り返すことができる。
【0090】
なお、このような一連の作業の繰り返しても、所望の選択領域が得られない場合、ユーザは、一から境界領域の指定操作をやり直してもよい。
このような場合、ユーザは、領域指定ボタン313を押下操作すればよい。
すると、図5に示すように、状態遷移条件C7が満たされたと判定され、クライアント機器11の状態が、切抜領域指定画面操作処理状態S12に再び遷移し、図7に示す切抜領域指定画面202が再表示される。
これにより、ユーザは、切抜領域指定画面202に対するGUI操作を再度行うことができる。
【0091】
一方、このような一連の作業が繰り返されて、所望の選択領域が得られた場合、ユーザは、切抜指定処理の結果を保存すべく、図8の切抜修正画面203の保存ボタン314を押下操作するとよい。
すると、図5に示すように、状態遷移条件C8が満たされたと判定され、クライアント機器11の状態が、境界領域仕上処理状態S15に遷移する。
【0092】
境界領域仕上処理状態S15に遷移すると、切抜指定部111は、境界領域仕上処理を実行する。
これにより、状態遷移条件C9が満たされたと判定され、クライアント機器11の状態が、結果保存処理状態S16に遷移する。結果保存処理状態S16に遷移すると、切抜指定部111は、処理対象画像のデータ(オリジナルサイズ)と、領域演算により得られた2値化ラベル(縮小サイズ)と、を少なくとも含むファイルを生成し、記憶部39の画像記憶部132に記憶させる。
このようなファイルを、以下、「切抜指定処理結果ファイル」と呼ぶ。
なお、図8の切抜修正画面203に対するGUI操作として、背景ペン252や消しゴム254で修正後、領域計算ボタン312が押下されずに(領域演算が行われずに)、保存ボタン314が押下された場合には、切抜指定部111は、領域演算を行わずに、最後に修正を行った状態を選択領域や非選択領域に反映したデータ(2値化ラベル)を作成し、当該データを切抜指定処理結果ファイルに含める。
【0093】
このようにして、切抜指定処理結果ファイルが記憶部39に記憶されると、図5に示すように、状態遷移条件C10が満たされたと判定され、切抜指定処理が終了になる。
【0094】
ここで、切抜指定処理時の操作について理解をさらに深めるべく、切抜修正画面操作処理状態S14に遷移してから、ユーザが図8の切抜修正画面203に対する各種操作を行って、切抜修正が行われた後のデータが記憶部32に記憶されるまでの一連の処理(以下、「切抜領域修正処理」と呼ぶ)について説明する。
図9は、切抜領域修正処理の流れを説明するフローチャートである。
図5と図9とを比較して容易にわかるように、図9の切り抜き領域修正処理とは、図5の領域演算処理S13乃至結果保存処理S16のうちの一部の連続した処理をフローチャート化したものである。
【0095】
図5の切抜領域指定画面操作処理状態S12において、切抜領域指定画面202(図7)の領域計算ボタン312が押下操作され、領域演算処理状態S13において、領域減算が実行されて、状態遷移条件C5が満たされると、切抜修正画面操作処理状態S14に遷移する。すると、切抜修正画面203(図8)が表示され、次に示すような切抜領域修正処理が実行される。
【0096】
ステップS21において、切抜指定部111は、選択領域の結果(切抜領域指定画面202に対する操作に基づく、領域演算の結果)を示す画像(以下、「表示画像」と呼ぶ)を、切抜修正画面203の表示領域211に表示させる。
ここで、本実施形態の表示画像においては、上述したように、非選択領域(背景領域)の背景色は青で、境界領域(図8の例ではウミガメの周囲を囲む領域302)の境界色は赤で、それぞれ表示されるものとする。また、上述したように、非選択領域及び境界領域は、初期状態として、半透過状態で表示されるものとする。
即ち、本実施形態の切抜修正画面203においては、色が塗ってある領域は切り捨てられる領域であるとイメージしてユーザが作業できるような表示形態となっている。
【0097】
ステップS22において、切抜指定部111は、色変更又は拡大縮小の指示があるか否かを判定する。
【0098】
色変更又は拡大縮小の指示があると、ステップS22おいてYESであると判定されて、処理はステップS23に進む。
ステップS23において、切抜指定部111は、表示領域211の表示画像を、色変更又は拡大縮小して表示させる。
具体的には例えば、色変更ボタン231が押下操作された場合には色変更が指示されたと判定され、即ちステップS22の処理でYESであると判定され、ステップS23の処理で境界色と背景色との組み合わせが変更される。
また例えば、拡大縮小スライダー241が操作された場合には拡大縮小が指示されたと判定され、即ちステップS22の処理でYESであると判定され、ステップS23の処理で表示画像の拡大又は縮小が行われる。
【0099】
このようなステップS23の処理が終了すると、処理はステップS24に進む。
なお、色変更又は拡大縮小の指示がない場合にも、ステップS22おいてNOであると判定されて、ステップS23の処理は実行されずに、即ち表示領域211の表示の変更は行われずに、処理はステップS24に進む。
【0100】
ステップS24において、切抜指定部111は、非選択領域の指定があるか否かを判定する。
【0101】
上述したように、ユーザは、操作部37のマウス等を用いて、表示領域211に表示されている画像のうち、本来背景であるはずが前景となっている領域を背景ペン252で描くように指定することで、当該領域を非選択領域として指定することができる。
このような指定があると、ステップS24おいてYESであると判定されて、処理はステップS25に進む。
ステップS25において、切抜指定部111は、指定された領域を非選択領域に変更する。この場合、表示領域211の表示画像において、非選択領域に変更された領域は背景色で表示される。
【0102】
このようなステップS25の処理が終了すると、処理はステップS26に進む。
なお、非選択領域の選択がない場合にも、ステップS24おいてNOであると判定されて、ステップS25の処理は実行されずに、即ち非選択領域への変更は行われずに、処理はステップS26に進む。
【0103】
ステップS26において、切抜指定部111は、選択領域の指定があるか否かを判定する。
【0104】
上述したように、ユーザは、操作部37のマウス等を用いて、表示領域211に表示されている画像のうち、本来前景であるはずが背景となっている領域を消しゴム254で消すように指定することで、当該領域を選択領域として新たに指定することができる。
このような指定があると、ステップS26おいてYESであると判定されて、処理はステップS27に進む。
ステップS27において、切抜指定部111は、指定された領域を選択領域に変更する。この場合、表示領域211の表示画像において、選択領域に変更された領域には、原画像の対応する領域が表示される。
【0105】
このようなステップS27の処理が終了すると、処理はステップS28に進む。
なお、非選択領域の選択がない場合にも、ステップS26おいてNOであると判定されて、ステップS27の処理は実行されずに、即ち非選択領域への変更は行われずに、処理はステップS28に進む。
【0106】
ステップS28において、切抜指定部111は、領域計算の指示があるか否かを判定する。
【0107】
上述したように、ユーザは、このような選択領域や非選択領域の指定の操作後、操作部37のマウス等を用いて、領域計算ボタン312を押下操作することで、領域演算の再演算の開始指示を行うことができる。
このような指示があった場合、ステップS28においてYESであると判定されて、処理はステップS13に進む。
ステップS13において、切抜指定部111は、領域演算処理を実行する。
ここで、図9のフローチャートのステップと図5の領域演算処理状態とで同一の符号S13を付しているのは、同一の処理が実行されるからである。即ち、図9のステップS28においてYESであると判定されることと、図5の状態遷移条件C6を満たされることとは等価である。
従って、図9のステップS13の領域演算処理が終了することは、図5の状態遷移条件C5が満たされたことと等価になるので、図5において切抜修正画面操作処理状態S14に再び遷移するように、図9では処理はステップS21に戻され、それ以降の処理が繰り返されることになる。
【0108】
これに対して、このような領域演算処理が不要の場合、領域計算ボタン312は押下操作されないので、ステップS28においてNOであると判定されて、処理はステップS29に進む。
ステップS29において、切抜指定部111は、保存の指示があるか否かを判定する。
【0109】
上述したように、保存の指示は、保存ボタン314の押下操作によって行われる。
このような保存の指示が行われない場合、ステップS29においてNOであると判定されて、処理はステップS21に戻され、それ以降の処理が繰り返されることになる。
即ち、上述したように、ユーザは、所望の選択領域の結果が得られるまで、色変更や拡大縮小を適宜行いつつ、何度でも、選択領域や非選択領域の指定を繰り返すことができる。そして、ユーザは、所望の選択領域の結果が得られたときに、保存ボタン314を押下操作すればよい。
保存ボタン314が押下操作されると、ステップS29においてYESであると判定されて、処理はステップS15に進む。
ここで、図9のフローチャートのステップと図5の境界領域仕上処理状態とで同一の符号S15を付しているのは、同一の処理が実行されるからである。即ち、図9のステップS29においてYESであると判定されることと、図5の状態遷移条件C8が満たされることとは等価である。
【0110】
従って、図9のステップS15の境界領域仕上げ処理が終了することは、図5の状態遷移条件C9が満たされたことと等価になるので、図5において結果保存処理状態S16に遷移するのと等価に、同一符号のステップS16に処理は進む。即ち、図9のフローチャートのステップと図5の結果保存処理状態とで同一の符号S16を付しているのは、同一の処理が実行されるからである。
従って、ステップS16の結果保存処理によって、切抜指定処理結果ファイルが記憶部39に記憶されると、図5の状態遷移条件C10が満たされたと判定されたのと等価に、切抜領域指定処理が終了になる。
【0111】
以上、図4の機能的構成を有する画像処理システムが実行する切抜処理のうち、切抜指定処理の詳細について、図5乃至図9を参照して説明した。
次に、図10乃至図13を参照して、当該切抜処理のうち、仕上調整処理の詳細について説明する。
【0112】
図10は、クライアント機器11が仕上調整処理を実行する場合に取り得る各状態の一例を示す状態遷移図である。
【0113】
仕上調整処理は、切抜指定処理後に実行される。即ち、切抜指定処理結果ファイルを用いても、処理対象画像から前景を切り出して、別の新背景に合成することは十分可能である。しかしながら、ユーザの中には、境界領域の高精度な仕上げや、より高精細な画像の仕上げを所望するものもいる。そこで、このようなユーザのために仕上処理が実行される。
仕上調整処理の開始の指示は、操作部37に対する所定の操作により行われる。
このような指示がなされると、仕上調整部112(図4)は、状態遷移条件C41が満たされたと判定し、クライアント機器11の状態を、ファイル読込処理状態S41に遷移させる。
【0114】
ファイル読込処理状態S41に遷移すると、仕上調整部112は、処理対象画像のデータを含む切抜指定処理結果ファイルを記憶部39から読み込む。
これにより、状態遷移条件C42が満たされた判定されて、クライアント機器11の状態は、サイズ設定処理状態S42に遷移する。
【0115】
サイズ設定処理状態S42に遷移すると、仕上調整部112は、次のような一連の処理を実行する。
即ち、仕上調整部112は、図示はしないが、出力サイズを選択させる画面を表示部38に表示させ、ユーザの選択操作を待ち受ける。
ユーザは、操作部37を操作して、印刷出力等する場合の画像のサイズとして、所望のサイズを選択する。
仕上調整部112は、ユーザにより選択されたサイズを、出力サイズとして設定する。ここで、出力サイズは、一般的には、撮像画像等の処理対象画像のオリジナルサイズ以下となるが、特にこれに限定されず、任意のサイズで構わない。
このような一連の処理が実行されると、状態遷移条件C43が満たされたと判定されて、クライアント機器11の状態は、領域演算処理状態S43に遷移する。
【0116】
領域演算処理状態S43に遷移すると、仕上調整部112の領域演算処理部121は、読み込まれた切抜指定処理結果ファイルについて、領域演算処理を実行する。
【0117】
領域演算においては、マット処理が実行される。
マット処理の本質は、前景と背景の境界画素の混色を分離することである。
具体的には、次の式(1)の条件を連立させ、観測値Pから未知数α,F(場合によってはBも)を推定する処理が、マット処理である。
P[x,y,c]=α[x,y]F[x,y,c]+(1-α[x,y])B[x,y,c]・・・(1)
式(1)の左辺において、P[x,y,c]は、座標x,y(以下、「画素位置x,y」とも呼ぶ),色成分cの画素値を表している。
式(1)の右辺において、α[x,y]は、画素位置x,yにおける比率であって、0乃至1の範囲内で可変する比率であり、「混合比α」や「アルファ値」等と呼ばれている。即ち、混合比α[x,y]は、画素毎に異なる値になる。F[x,y,c]は、前景の画素値であり、以下、「前景画素値」と呼ぶ。B[x,y,c]は、背景の画素値であり、以下、「背景画素値」と呼ぶ。
なお、画素位置x,y,色成分cを個々に区別する必要がない場合、以下、x,y,cの表記は適宜省略する。
【0118】
式(1)は、境界領域の画素位置x,yにおいて、比率α[x,y]で前景画素値F[x,y,c]と背景画素値B[x,y,c]とが混合された結果として、画素値P[x,y,c]が観測されるという意味である。
ここで、式(1)は単純に連立させると不足条件方程式であるため、そのままでは解くことが不可能である。しかしながら、背景画素値Bの取り得る範囲を別の手段により指定したり(クロマキー)、また前景画素値F及び背景画素値Bが滑らかに変化する(局所的に等しい)等の仮定を加えることで、式(1)を解くことが可能になる。
【0119】
このため、マット処理では、混合比α(アルファ値)と前景画素値Fが推定される。このようにしてマット処理で混合比α(アルファ値)と前景画素値Fを正しく推定できれば、新しい背景画素値B’ [x,y,c]に対して、次の式(2)を演算することで、合成画像P’の画素位置x,yの画素値P’[x,y,c]が容易に得られる。
P’[x,y,c]=α[x,y]F[x,y,c]+(1-α[x,y])B’[x,y,c]・・・(2)
このようにして得られた合成画像P’には、原画像(本実施形態では処理対象画像)の背景画素値B[x,y,c]は、理想的には残らないため、美しく自然な結果になる。
【0120】
なお、マット処理のさらなる詳細については、“Bayesian approach to digital matting”,2001(IEEE CVPR)等を参照するとよい。
【0121】
ここで、本実施形態の画像処理システム(図1)では、合成画像P’を印刷出力することも想定されている。
印刷出力として十分な画素数を考慮する場合に、マット処理を行うことの最大の問題点は、その出力画素数に応じて膨大な計算量が必要になる点である。
ユーザが、発注前に印刷出力結果を正確に確認できることは苦情を未然に防ぐために重要である。また、ユーザの修正が必要であればそれを即座に開始できることが、商機を逃さないために重要である。しかしながら、1000万画素を大きく越える最近のデジタルスチルカメラやデジタルプリンタの画素数をリアルタイムにマット処理することは、パーソナルコンピュータ(例えば図1のクライアント機器11)やウェブサーバ(例えば図1のサーバ12)にとっては困難である。
そこで、本実施形態では、図11に示すようなマット処理を実行することで、マット処理の演算量を大幅に低下するようにしている。
【0122】
図11は、マット処理の流れを説明するフローチャートである。
【0123】
ステップS101において、領域演算処理部121は、中解像度サイズを設定する。
ここで、中解像度サイズとは、出力サイズと、予め設定されている所定サイズ(上述した切抜指定処理で用いられる縮小サイズ以上のサイズとする)とのうち、小さい方のサイズをいう。
従って、領域演算処理部121は、出力サイズと、予め設定されている所定サイズとを比較し、小さいほうのサイズを選択することで、中解像度サイズを設定する。
【0124】
ステップS102において、領域演算処理部121は、切抜指定処理結果ファイルから処理対象画像のデータを読み出し、当該処理対象画像のデータのサイズを、オリジナルサイズから中解像度サイズに変換する。
なお、通常は、オリジナルサイズの方が中解像度サイズよりも大きいため、ステップS102の処理は、いわゆるサイズ縮小処理になる。
【0125】
ステップS103において、領域演算処理部121は、切抜指定処理結果ファイルから2値ラベルを読み出し、当該2値化ラベルのサイズを縮小サイズから中解像度サイズに変換することで、中解像度2値ラベルを生成する。
なお、通常は、縮小サイズの方が中解像度サイズよりも小さいため、ステップS103の処理は、いわゆるサイズ拡大処理になる。
このように、中解像度2値ラベルは、その名の如く2値ラベルになる必要があるので、2値ラベルのサイズの変換の手法としては、例えば最近傍法を採用したり、例えばバイキュービック法等の結果を再2値化する手法を採用するとよい。
【0126】
ステップS104において、領域演算処理部121は、中解像度2値ラベルから、中解像度サイズのトライマップを作成する。
トライマップは、画素位置x,y毎に、前景、背景、中間の3値ラベルを持つ。
ここで、トライマップの中間ラベル領域は、次のような第1領域と第2領域の集合和領域である。
即ち、中解像度2値ラベルのうち前景ラベル領域を所定幅分膨張(モルフォロジ処理におけるディレーション)させ、その結果得られる膨張領域(元々の2値前景ラベル領域を含まない)が、第1領域として採用される。
一方、中解像度2値ラベルのうち背景ラベル領域を所定幅分膨張(同)させ、その結果得られる膨張領域(元々の2値背景ラベル領域を含まない)が、第2領域として採用される。
これらの第1領域と第2領域の集合和領域として、中間ラベル領域が得られる。なお、この中間ラベル領域は、ユーザが境界ペン253で指定した境界領域を少し誇張させた領域となる。したがって、ユーザは境界ペン253で境界領域を指定するとともに、マット処理における中間ラベル領域の基準となる領域を指定したこととなる。
そして、このようにして得られる中間ラベル領域に含まれない領域のうち、2値前景ラベル領域が前景ラベル領域となり、2値背景ラベル領域が背景ラベル領域となる。
【0127】
ステップS105において、領域演算処理部121は、トライマップについて、中解像度サイズを覆う所定数及び所定形状のブロックの集合を設定する。
なお、各ブロックは、その隣接ブロックと境界で所定幅のオーバーラップ領域を持たせるように設定される。
【0128】
ステップS106において、領域演算処理部121は、ステップS105の処理で設定したブロックの集合体の中から、処理対象のブロックを設定する。
【0129】
ステップS107において、領域演算処理部121は、処理対象のブロックとして、トライマップのブロックと、対応する中解像度の処理対象画像のブロックとを入力し、これらの入力に基づいてマット処理を実行する。
このステップS107のマット処理によって、処理対象のブロックを構成する各画素のそれぞれについての、混合比α(アルファ値)と前景画素値Fがそれぞれ得られる。
【0130】
ステップS108において、領域演算処理部121は、全てのブロックが処理対象に設定されたか否かを判定する。
未だ処理対象に設定されていないブロックが存在する場合、ステップS108においてNOであると判定されて、処理はステップS106に戻され、それ以降の処理が繰り返される。即ち、ステップS106乃至S108のループ処理が繰り返し実行されることで、ステップS105の処理で設定された各ブロックの各々が処理対象に順次設定されて、その都度マット処理が実行される。
そして、最後のブロックについてのマット処理が実行されると、次のステップS108においてYESであると判定されて、処理はステップS109に進む。
【0131】
ステップS109において、領域演算処理部121は、各ブロックの混合比α(アルファ値)と前景画素値Fをモザイクして、中解像度サイズの混合比αの集合体(以下、「中解像度α画像」と呼ぶ)と、中解像度サイズの前景画素値Fの集合体(以下、「中解像度前景F画像」と呼ぶ)とを構成する。
なお、領域演算処理部121は、ブロック間のオーバーラップ領域については、なだらかなブレンド比でブレンドを行い、境界の不整合を緩和するものとする。
【0132】
これにより、領域演算処理が終了となる。すると、仕上調整部112(図4)は、図10に示すように、状態遷移条件C44が満たされたと判定し、クライアント機器11の状態を、仕上確認画面操作処理状態S44に遷移させる。
【0133】
仕上確認画面操作処理状態S44に遷移すると、仕上調整部112は、図12に示すような仕上確認画面を表示部38に表示させる。
【0134】
図12は、仕上確認画面の一例を示している。
仕上確認画面204は、マット処理により境界領域の仕上がされた画像の確認を行う画面であり、基本画面201(図6)と同様に、6つの表示領域211乃至216に区分されている。
【0135】
表示領域211には、領域演算処理の結果が表示される。
即ち、中解像度の処理対象画像のデータと、予め用意された新背景画像のデータ(必要に応じて中解像度に変換)とが、上述の式(2)に従って合成され、その合成結果である合成画像P’が表示領域211に表示される。
この場合、新背景画像のデータを構成する各画素値が、背景画素値B’[x,y,c]として式(2)に代入される。また、マット処理で求められた中解像度α画像の各画素値が、混合比α[x,y]として式(2)に代入される。マット処理で求められた中解像度前景F画像の各画素値が、前景画素値F[x,y,c]として式(2)に代入される。
なお、初期状態の新背景画像としては、灰色(単色)の画像が表示領域211に表示される。
【0136】
表示領域212には、背景変更ボタン351が表示されている。
従って、ユーザは、背景変更ボタン351を押下操作することで、表示領域211に表示される背景画像を、複数の新背景画像のうち所望の1つに変更することができる。
なお、新背景画像は、特に限定されず、予めデフォルトとして設定されている画像の他、ユーザが所望する任意の画像を設定することができる。ただし、新背景画像の設定は、図示せぬ別の画面で行われるものとする。
このように、ユーザは、背景変更ボタン351を押下操作するだけで、即ち操作部37のマウスをクリック操作等するだけで、各種各様の新背景画像に瞬時に変更することができるので、マット処理の結果を、実際の合成イメージとして視認することが容易にできる。
【0137】
表示領域213には、拡大縮小スライダー241が配置されている。
従って、ユーザは、拡大縮小スライダー241を操作することで、マット処理の結果である合成画像P’のうち着目する部分を拡大表示させることができる。その後、ユーザは、拡大縮小スライダー241を操作することで、拡大表示後の合成画像P’を、等倍となるまでの範囲内で縮小表示させることもできる。
【0138】
表示領域215には、「仕上げ調整」と表示されたソフトウェアボタン361(以下、「仕上調整ボタン361」と呼ぶ)と、「保存」と表示されたソフトウェアボタン362(以下、「保存ボタン362」と呼ぶ)と、が配置される。
【0139】
ユーザは、表示領域211に表示された合成画像P’を確認して、境界領域の仕上げの部分修正をさらに行いたいと判断した場合、仕上調整ボタン361を押下操作することで、仕上調整の開始を指示することができる。
【0140】
即ち、仕上調整ボタン361が押下操作されると、仕上調整部112(図4)は、図10に示すように、状態遷移条件C45が満たされたと判定し、クライアント機器11の状態を、仕上調整画面操作処理状態S45に遷移させる。
【0141】
仕上調整画面操作処理状態S45に遷移すると、仕上調整部112は、図13に示すような仕上調整画面を表示部38に表示させる。
【0142】
図13は、仕上調整画面の一例を示している。
仕上調整画面205は、マット処理により境界領域の仕上がされた処理対象画像について、部分的な仕上を行うための画面である。例えば、仕上調整画面205は、髪の毛の部分等細い部分をきれいに出すため一部分の境界の滑らかさを修正するために用いられる。
仕上調整画面205は、基本画面201(図6)と同様に、6つの表示領域211乃至216に区分されている。
【0143】
表示領域211には、境界領域の仕上がされた処理対象画像について、前景としての選択領域と、背景としての非選択領域と、これらの領域の境界となる境界領域(図12の例では領域381)と、をそれぞれ分類して表示する。
即ち、表示領域211には、処理対象画像(中解像度サイズ)にトライマップ(中解像度サイズ)が合成された合成画像が表示される。
この場合、透明度はトライマップ側で設定される。即ち、選択領域は透過率が100%で固定されており、常に処理対象画像そのもの(図13の例ではウミガメ)が表示されるようになされている。一方、トライマップの非選択領域が背景色(単色)の領域となっており、この透明度が高くなるにつれ、処理対象画像の背景部分がユーザに視認されるようになる。同様に、トライマップの境界領域(中間領域)が境界色(単色)の領域となっており、この透明度が高くなるにつれ、処理対象画像の境界部分がユーザに視認されるようになる。
このため、図8の切抜修正画面203と同様に、表示領域212には、色変更ボタン231と、透明度変更スライダー232とが配置され、拡大縮小スライダー241が配置されている。
ただし、色変更ボタン231、透明度変更スライダー232、及び拡大縮小スライダー241の各部品については、図8の切抜修正画面203の各部品として説明済みであるので、ここでは説明は省略する。
【0144】
表示領域215には、「やり直し」と表示されたソフトウェアボタン371(以下、「やり直しボタン371」と呼ぶ)と、「確認画面」と表示されたソフトウェアボタン372(以下、「確認画面ボタン372」と呼ぶ)と、が配置される。
ユーザは、直前の操作内容が間違っていた場合等に、やり直しボタン371を押下操作することで、当該直前の操作を取り消すことができる。
確認画面ボタン372については、後述する。
【0145】
ところで、図13の仕上調整画面205が表示部38に表示されている状態で、ユーザは、操作部37のマウスを用いて、表示領域211に表示された画像のうち、修正を行いたい箇所をクリック操作することで、修正領域指定画面の表示の指示を行うことができる。
即ち、このようなクリック操作がなされることによって、修正領域指定画面の表示の指示が行われると、仕上調整部112(図4)は、図10に示すように、状態遷移条件C46が満たされたと判定し、クライアント機器11の状態を、仕上領域指定画面操作処理状態S46に遷移させる。
【0146】
仕上領域指定画面操作処理状態S46に遷移すると、仕上調整部112は、図6に示す基本画面201と同一構成の仕上領域指定画面を表示部38に表示させる。
【0147】
仕上領域指定画面(図6の基本画面201と同一構成)の表示領域211には、上述した図13の仕上調整画面205に対してクリック操作がなされた箇所を中心とする、所定のサイズの領域画像が表示される。
具体的には、仕上調整部112は、図13の仕上調整画面205に対してクリック操作がなされた箇所の近傍の領域をブロック化する。ここで、このブロックは、図11のステップS105の処理で設定されたブロックのサイズ、位置、形状と必ずしも一致させる必要はない。
仕上調整部112は、そのブロックの原画像(処理対象画像)とトライマップとを、領域画像として表示領域211に透過表示させる。
ユーザは、操作部37のマウス等を用いて、この領域画像の範囲内で、選択領域等の修正を行うことができる。
【0148】
このため、図8の切抜修正画面203と同様に、表示領域212には、色変更ボタン231と、透明度変更スライダー232とが配置され、表示領域213には、拡大縮小スライダー241が配置されている。
ただし、色変更ボタン231、透明度変更スライダー232、及び拡大縮小スライダー241の各部品については、図8の切抜修正画面203の各部品として説明済みであるので、ここではこれらの説明は省略する。
【0149】
ユーザは、表示領域211に表示されている領域画像のうち、背景としての非選択領域については背景ペン252を用いて、境界領域については境界ペン253を用いて、前景としての選択領域については消しゴム254を用いて、修正の操作をすることができる。
このような修正の操作により、表示領域211に領域画像として表示されているトライマップが修正されることになる。
なお、ユーザは、移動アイコン251を用いて、表示領域(作業対象領域)を変更(移動)することができるが、必要に応じて表示領域の変更(移動)を禁止するようにしてもよい。また、ユーザは、背景ペン252、境界ペン253、又は消しゴム254の描画サイズ(塗りのサイズ)を変更したい場合には、ペンサイズ255の設定を行えばよい。
【0150】
仕上領域指定画面(図6の基本画面201と同一構成)の表示領域215には、「やり直し」と表示されたソフトウェアボタン261(以下、「やり直しボタン261」と呼ぶ)と、「領域計算」と表示されたソフトウェアボタン262(以下、「領域計算ボタン262」と呼ぶ)と、「仕上げ調整」と表示されたソフトウェアボタン263(以下、「仕上調整ボタン263」と呼ぶ)と、「確認画面」と表示されたソフトウェアボタン264(以下、「確認画面ボタン264」と呼ぶ)と、が配置される。
【0151】
ユーザは、直前の操作内容が間違っていた場合等に、やり直しボタン261を押下操作することで、当該直前の操作を取り消すことができる。
【0152】
また、ユーザは、選択領域等の修正の操作後、即ち、トライマップを修正した後、領域計算ボタン262を押下操作することで、マット領域演算の再演算の開始指示を行うことができる。
【0153】
即ち、仕上領域指定画面(図6の基本画面201と同一構成)の領域計算ボタン262が押下操作されると、仕上調整部112(図4)は、図10に示すように、状態遷移条件C47が満たされたと判定し、クライアント機器11の状態を、部分領域演算処理状態S47に遷移させる。
【0154】
部分領域演算処理状態S47に遷移すると、仕上調整部112の領域演算処理部121は、ユーザにより修正された後の選択領域についての部分的なマット処理を実行する。
【0155】
ただし、この場合の部分的なマット処理としては、上述の図11のフローチャートに従った処理ではなく、次のような処理が本実施形態では実行される。
即ち、仕上調整部112の領域演算処理部121は、仕上領域指定画面(図6の基本画面201と同一構成)の表示領域211に表示されたブロックについて、修正されたトライマップを用いてマット処理を行う。
領域演算処理部121は、マット処理の結果得られた混合比α(アルファ値)と前景画素値Fを、全体結果にモザイクする。即ち、領域演算処理部121は、ブロックの所定幅境界付近はなだらかにブレンドし、その内部の領域は上書きする。
このようにして、中解像度α画像と、中解像度前景F画像とが再構成されると、仕上調整部112(図4)は、図10に示すように、状態遷移条件C48が満たされたと判定し、クライアント機器11の状態を、仕上調整画面操作処理状態S45に再び遷移させる。
【0156】
仕上調整画面操作処理状態S45に再び遷移すると、仕上調整画面205(図13)が表示部38に再表示される。この場合、仕上調整画面205の表示領域211には、部分的なマット処理の結果が表示される。
【0157】
なお、仕上領域指定画面(図6の基本画面201と同一構成)の仕上げ調整ボタン263が押下操作されても、図10に示すように、状態遷移条件C49が満たされたと判定され、クライアント機器11の状態は、仕上調整画面操作処理状態S45に再び遷移する。
この場合も、仕上調整画面205(図13)が表示部38に再表示されるが、仕上調整画面205の表示領域211には、前回の状態のままの画像が表示される。
【0158】
ここで、仕上調整画面205(図13)の表示領域211をみたユーザが、修正をさらに行いたいと所望した場合には、操作部37のマウスを用いて、修正を行いたい箇所を再度クリック操作すればよい。
この場合、図10に示すように、状態遷移条件C46が満たされたと判定されて、クライアント機器11の状態が、仕上領域指定画面操作処理状態S46に再度遷移して、仕上領域指定画面(図6の基本画面201と同一構成)が再表示される。
ユーザは、仕上領域指定画面に対して上述した作業を繰り返して再修正した後、即ちトライマップを再修正した後、領域計算ボタン262を押下操作する。すると、図10に示すように、状態遷移条件C47が満たされたと判定され、部分領域演算処理状態S47に再び遷移する。
部分領域演算処理状態S47に再び遷移すると、ユーザにより再修正された後の選択領域についての部分的なマット処理が再実行される。即ち、中解像度α画像と、中解像度前景F画像とが再構成される。これにより、状態遷移条件C48が満たされたと再度判定され、クライアント機器11の状態が、仕上調整画面操作処理状態S45に再び遷移する。
仕上調整画面操作処理状態S45に再び遷移すると、仕上調整画面205(図13)が表示部38に再表示される。この場合、仕上調整画面205の表示領域211には、部分的なマット処理の再処理の結果が表示される。
ユーザは、このような一連の操作を繰り返し実行することで、所望の結果になるまで、選択領域等を何度でも修正することができる。
【0159】
ユーザは、このような修正の操作を繰り返して所望の結果が得られたと判断した場合、仕上調整画面205(図13)が表示部38に表示されている状態で、確認画面ボタン372を押下操作することで、仕上確認画面の表示指示をする。
このようにして確認画面ボタン372が押下操作されると、図10に示すように、状態遷移条件C49が満たされたと判定されて、クライアント機器11の状態は、仕上確認画面操作処理状態S44に再び遷移する。これにより、仕上確認画面204(図12)が表示部38に再表示される。
【0160】
なお、仕上領域指定画面(図6の基本画面201と同一構成)の確認画面ボタン264が押下操作されても、図10に示すように、状態遷移条件C50が満たされたと判定され、クライアント機器11の状態は、仕上確認画面操作処理状態S44に再び遷移し、仕上確認画面204(図12)が表示部38に再表示される。
【0161】
ユーザは、所望の修正結果が得られたならば、仕上調整処理の結果を保存すべく、仕上確認画面204(図12)の保存ボタン362を押下操作するとよい。
すると、図10に示すように、状態遷移条件C51が満たされたと判定され、クライアント機器11の状態が、結果保存処理状態S48に遷移する。
【0162】
結果保存処理状態S48に遷移すると、出力サイズが中解像度サイズに等しい場合は、仕上調整部112は、中解像度α画像及び中解像度前景F画像の各データを少なくとも含むファイルを生成し、記憶部39の画像記憶部132に記憶させる。
このようなファイルを、以下、「仕上調整結果ファイル」と呼ぶ。
【0163】
ただし、一般的には、出力サイズは中解像度サイズよりも大きいので、仕上調整部112は、次のような一連の処理を実行することで、仕上調整結果ファイルを生成して、記憶部39の画像記憶部132に記憶させる。
即ち、仕上調整部112は、中解像度α画像及び中解像度前景F画像の各データのサイズを、出力サイズに変換する。なお、中解像度α画像が出力サイズに変換されたものを、以下、「出力サイズα画像」と呼ぶ。また、中解像度前景F画像が出力サイズに変換されたものを、以下、「出力サイズ前景F画像」と呼ぶ。
仕上調整部112は、処理対象画像P(入力画像P)のデータのサイズを、出力サイズに変換する。
仕上調整部112は、出力サイズの画素毎に、混合比α[x,y]>t(tは所定閾値、1以下で1に近い値)なる画素位置x,yにおける前景画素値F[x,y,c]を、処理対象画像Pの対応する画素位置x,yの画素値P[x,y,c]の値に更新する。
仕上げ調整部112は、出力サイズα画像及び更新後の出力サイズ前景F画像の各データを少なくとも含む仕上調整結果ファイルを生成し、記憶部39の画像記憶部132に記憶させる。
【0164】
このようにして、仕上調整結果ファイルが記憶部39に記憶されると、状態遷移条件C52が満たされたと判定されて、図10の仕上調整処理は終了する。
【0165】
なお、本実施形態では、図1のクライアント機器11又はサーバ12(以下、説明の便宜上サーバ12とする)は、その後、図示せぬプログラムを起動させ、次のような処理を実行することができる。即ち、サーバ12は、印刷出力される新背景、及び、新背景若しくは前景にかける特殊効果フィルタのユーザ選択を受け付け、最終印刷出力の画面イメージをユーザに提示してユーザの確認を求める。サーバ12は、ユーザが了解すれば、代金決済をして、切り抜かれた前景に対して新背景が合成された合成画像を、紙媒体等に印刷する。
具体的には、新背景のデータを構成する各画素値が、背景画素値B’[x,y,c]として上述の式(2)に代入される。また、出力サイズα画像の各画素値が、混合比α[x,y]として式(2)に代入される。出力サイズ前景F画像の各画素値が、前景画素値F[x,y,c]として式(2)に代入される。そして、式(2)が演算され、その結果得られる合成画像P’が紙媒体に印刷される。
【0166】
以上説明したように、マット処理の本質は、上述の式(1)の方程式を解くことであるが、方程式の求解速度は当然未知数の数に支配される。
本実施形態では、中解像度サイズでの処理(以下、「中間解像度処理」と呼ぶ)ができるので、未知数となる中間領域の混合比αと前景画素値Fの数を大幅に減らすことができ、その結果、大幅に処理速度が向上する。
ここで、単純な中間解像度処理では前景画素値Fの解像度が、処理対象画像(撮像画像等の原画像、即ち入力画像)の解像度よりも劣るため、印刷等の出力品質が低下してしまう。
そこで、本実施形態の切抜処理では、α値判定により、境界領域では、混色のない中解像度前景F画像の画素値が用いられ、内部領域(前景となる領域)では、高解像度の処理対象画像(撮像画像等の原画像、即ち入力画像)の画素値が用いられる。これにより、処理の高速化を実現しながら出力品質の低下を最低限に抑えることが可能になる。
さらに、処理対象画像(撮像画像等の原画像、即ち入力画像)は通常、その主要被写体の主要部分にフォーカスを合わせて撮像されるため、主要被写体のエッジ部分ではフォーカスがぼけている場合がある。そのような場合、本実施形態の切抜処理の結果は高解像度処理と全く優劣のつかない結果を与える。
また、処理対象画像(撮像画像等の原画像、即ち入力画像)のノイズや前景背景の本質的類似等の理由により、境界領域のマット処理結果が、たとえ高解像度で処理したものであっても解像度分の精度が出ない場合がある。このような場合には、本実施形態の切抜処理の結果は、高解像度処理の結果と全く優劣のつかない結果となる。
【0167】
以上、図5乃至図13を参照して、図4の機能的構成を有する画像処理システムが実行する切抜処理の詳細について説明した。
次に、図14を参照して、図4の機能的構成を有する画像処理システムにおいて切抜処理が実行される場合における、クライアント機器11とサーバ12との処理の関係について説明する。
【0168】
図14は、クライアント機器11とサーバ12とが協同して切り抜き処理を実行する場合の相互の処理の関係について説明するフローチャートである。
図14の左方には、クライアント機器11側の処理の流れを示すフローチャートが示され、同図の右方には、サーバ12側の処理の流れを示すフローチャートが示されている。
クライアント機器11側とサーバ12側とのうち、一方から他方へ引かれている矢印は、その方向に情報が伝送されていることを意味している。
【0169】
ステップS201において、図4のクライアント機器11の通信制御部101は、ユーザによる操作部37の操作に基づいて、サーバ12に対するログイン処理を実行する。
【0170】
ステップS221において、サーバ12の通信制御部151は、当該クライアント機器11によるログイン処理を受け付ける。
ステップS222において、サーバ12の通信制御部151は、切抜処理用プログラムをプログラム記憶部161から読みこみ、通信部59からクライアント機器11に対して送信させる。
【0171】
ステップS202において、クライアント機器11の通信制御部101は、サーバ12からネットワーク21を介して送信されてくる切抜処理用プログラムを、通信部40に受信させる。
ステップS203において、クライアント機器11の通信制御部101は、切抜処理用プログラムをプログラム記憶部131に一旦記憶させた後、RAM33(図2)等に展開して実行する。これにより、クライアント機器11のCPU31において、切抜処理部102が機能するようになる。
【0172】
ステップS204において、クライアント機器11の切抜処理部102は、処理対象画像が選択されたか否かを判定する。
即ち、ユーザは、操作部37を操作することによって、撮像画像等所望の画像を、処理対象画像として選択することができる。
ユーザによる選択の操作がなされていない場合、ステップS204においてNOであると判定されて、処理はステップS204に再び戻される。即ち、ユーザによる選択の操作がなされるまでの間、ステップS204の判定処理が繰り返し実行されて、クライアント機器11側の処理は待機状態になる。
その後、ユーザによる選択の操作がなされると、ステップS204においてYESであると判定されて、処理はステップS205に進む。
ステップS205において、クライアント機器11の通信制御部101は、処理画像のデータを画像記憶部132から読み込み、通信部40からサーバ12に対して送信させる。
【0173】
ステップS223において、サーバ12の通信制御部151は、クライアント機器11からネットワーク21を介して送信されてくる処理対象画像のデータを、通信部59に受信させ、画像記憶部162に保存する。
【0174】
一方、ステップS206において、クライアント機器11の切抜処理部102は、処理画像のデータについて、上述した切抜処理を実行する。
【0175】
図15は、クライアント側処理のステップS206の切抜処理の流れを説明するフローチャートである。
【0176】
ステップS241において、切抜処理部102の切抜指定部111は、切抜指定処理を実行する。切抜指定処理の詳細については、図5乃至図9を参照して説明済みであるので、ここではその説明は省略する。
【0177】
ステップS242において、切抜処理部102は、仕上調整処理を実行するか否かを判定する。
即ち、上述したように、切抜指定処理の結果だけでも、処理対象画像から前景を抜き出すことは十分可能であるため、仕上調整処理は、必須な処理ではなく、ユーザが実行有無を自在に選択可能な処理となっている。
【0178】
従って、ユーザが操作部37を操作して仕上調整処理の実行を指示した場合、ステップS242においてYESであると判定されて、処理はステップS243に進む。ステップS243において、切抜処理部102の仕上調整部112は、仕上調整処理を実行する。仕上調整処理の詳細については、図10乃至図13を参照して説明済みであるので、ここではその説明は省略する。
仕上調整処理が終了すると、処理は後述するステップS244に進む。
【0179】
これに対して、ユーザが操作部37を操作して仕上調整処理を実行しない旨を指示した場合、ステップS242においてNOであると判定されて、ステップS243の仕上調整処理は実行されずに、処理はステップS244に進む。
【0180】
ステップS244において、クライアント機器11の通信制御部101は、処理結果のデータを切抜画像のデータとして、通信部40からサーバ12に対して送信させる。
例えば仕上調整処理が実行されなかった場合(ステップS242の処理でNOであると判定された場合)、上述した切抜指定処理結果ファイルが、切抜画像のデータとしてサーバ12に送信される。
これに対して、例えば仕上調整処理が実行された場合(ステップS242の処理でYESであると判定されて、ステップS243の処理が実行された場合)、仕上調整結果ファイルが、切抜画像のデータとしてサーバ12に送信される。
なお、上述したように、切抜指定処理又は仕上調整処理では、処理途中の状態でもデータの保存が可能になっており、処理途中の状態で保存されたデータが再度読み込まれた場合、保存された時点の状態から処理の継続が可能になる。従って、このような処理途中の状態のデータも、必要に応じて、切抜画像のデータとしてサーバ12に送信される。
【0181】
図14に戻り、ステップS224において、サーバ12の通信制御部151は、クライアント機器11からネットワーク21を介して送信されてくる切抜画像のデータを、通信部59に受信させ、画像記憶部162に仮保存する。
【0182】
この間、ステップS207において、クライアント機器11の切抜処理部102は、処理の終了指示があったか否かを判定する。
処理の終了指示の手法は、特に限定されないが、本実施形態では、ユーザが操作部37を操作して処理の終了指示をするという手法が採用されているものとする。
このような終了の指示の操作がなされていない場合、ステップS207においてNOであると判定されて、処理はステップS204に戻され、それ以降の処理が実行される。即ち、終了の指示の操作がなされるまでの間、ステップS204乃至S207のループ処理が繰り返し実行されて、その都度切抜処理が実行され、切抜画像のデータがサーバ12に送信される。
その後、終了の指示の操作がなされると、ステップS207においてYESであると判定され、処理はステップS208に進む。
ステップS208において、クライアント機器11の通信制御部101は、処理の終了を示す通知(以下、「終了通知」と呼ぶ)を、通信部40からサーバ12に対して送信させる。
これにより、クライアント機器11側の処理は終了する。
【0183】
この間、ステップS225において、サーバ12の通信制御部151は、終了通知を受信したか否かを判定する。
終了通知が受信されていない場合、ステップS225においてNOであると判定されて、処理はステップS223に戻され、それ以降の処理が繰り返される。即ち、上述の如く、クライアント機器11側でステップS204乃至S207のループ処理が繰り返し実行されている間、終了通知は送信されないので、ステップS223乃至S225のループ処理が繰り返し実行され、クライアント機器11から処理画像や切抜画像の各データが送信されてくる度、受信されて保存される。
その後、終了通知が受信されると、次のステップS225においてYESであると判定されて、処理はステップS226に進む。
ステップS226において、サーバ12の主制御部152は、これまで仮保存していた切抜画像のデータを本保存する。
これにより、サーバ12側の処理は終了する。
【0184】
その後、図示はしないが、サーバ12は、印刷出力される新背景、及び、新背景若しくは前景にかける特殊効果フィルタのユーザ選択を受け付け、最終印刷出力の画面イメージをユーザに提示してユーザの確認を求める。
サーバ12は、ユーザが了解すれば、代金決済をして、切り抜かれた前景に対して新背景が合成された合成画像を、紙媒体等に印刷する。
【0185】
以上、切抜処理を実行可能な画像処理システムの一実施形態について説明した。
ここで、当該画像処理システムが、切抜処理を実行するが故に備える特長(効果)について、図16乃至図29を適宜参照して説明する。
【0186】
本実施形態の画像処理システムは、切抜処理を実行することができるので、操作に慣れないユーザは簡単な対話操作をするだけでよい、という第1の特長を有している。
【0187】
即ち、上述したように、切抜処理は、切抜指定処理と、仕上調整処理とに区分される。仕上調整処理は、細かな仕上の調整を行うための処理であり必須な処理ではない。即ち、切抜指定処理の結果(切抜指定処理結果ファイル)だけでも、処理対象画像から、前景を切り出して、新背景に合成することができる。
この切抜指定処理の実行時に必要となるユーザのGUI操作は、上述したように、ユーザにとって非常に容易で手間のかからないラフな操作であり、操作に慣れないユーザであっても戸惑うことなく行える操作である。
以下、図16乃至図18を参照して、切抜指定処理の際のユーザのGUI操作の具体例について説明する。
【0188】
図16は、切抜領域指定画面操作処理状態S12(図5)において表示される切抜領域指定画面に対するユーザのGUI操作の様子を示している。
図16に示すように、ユーザは、切抜領域指定画面202に表示されている処理対象画像から、前景と背景との境界領域501を指定することができる。
ここで、境界領域501は、厳密に前景と背景との本当の境界線(細線)で指定される必要はなく、図16に示すように、大雑把な太い線での指定でよい。要するに、ユーザは、前景と背景との本当の境界線を含むように、ある程度余裕を持った太さの線で、境界領域501を指定することができる。
もっとも、ユーザは、失敗しやすい部分や、特別な意図があって細かく指定したい部分については、当然ながら細い線を使用してもよい。
換言すると、前景と背景との境界領域501は、図7の境界ペン253で指定されるところ、当該境界ペン253の塗りの太さは、図7のペンサイズ255で自在に可変設定することができる。
【0189】
ユーザは、境界領域501の指定の操作後、領域計算ボタン312を押下操作する。
これにより、領域演算処理状態S13(図5)に遷移して、領域演算が行われる。
領域演算が終了すると、切抜修正画面操作処理状態S14(図5)に遷移して、図17に示すような切抜修正画面203が表示される。
【0190】
図17は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の初期状態の様子を示している。
図17に示すように、領域演算の結果(2値ラベル)に基づいて、境界領域502が表示されている。
ただし、領域503は、ウミガメのヒレの一部であり、本来前景(境界領域502の内側)となるべきところ、背景(境界領域502の外側)になってしまっている。これは、処理対象画像において、前景と背景との色が類似色であったためである。
このような場合、ユーザは、本来前景であるはずが背景となっている領域503を、消しゴム254で消すように指定することで、領域503を選択領域として新たに指定する。その後、ユーザは、領域計算ボタン312を押下操作する。
これにより、領域演算処理状態S13(図5)に再度遷移して、領域演算の再演算が行われる。
領域演算の再演算が終了すると、切抜修正画面操作処理状態S14(図5)に再度遷移して、図18に示すような切抜修正画面203が表示される。
【0191】
図18は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面に対するGUI操作の実行結果を示している。
図18に示すように、領域演算の再演算の結果(再構成後の2値ラベル)に基づいて、境界領域502が表示されている。ウミガメのヒレの一部である領域503は、境界領域502の内側、即ち前景に含まれるようになったことがわかる。
この図18の状態で、ほぼユーザにとっての所望の結果となっていると思われる。このような状態になった時点で、ユーザは、保存ボタン314を押下操作する。
すると、境界領域仕上処理状態S15(図5)に遷移し、引き続き結果保存処理状態S16(図5)に遷移し、図18の状態を示す切抜指定処理結果ファイルが記憶部39に記憶される。
その後、サーバ12(図1)等は、この切抜指定処理結果ファイルを用いることで、少なくとも図18の境界領域502内のウミガメの画像を前景として切り抜くことができ、当該前景と新背景とを合成した合成画像の印刷等をすることが可能になる。
なお、ユーザは、さらに所望の選択領域となるように、クライアント機器11に仕上調整処理を実行させるようにしてもよい。
【0192】
本実施形態の画像処理システムは、切抜処理を実行することができるので、上述の第1の特長に加えてさらに、セグメンテーションされた領域の表示形態を自在に可変できる、という第2の特長を有している。
【0193】
即ち、切抜修正画面203等において、前景領域は完全透過で表示される一方、背景領域と境界領域は、任意に可変できる透過比率での半透過色(原画像と分類色とのブレンド)で表示される。この透過比率(透明度)は、透明度変更スライダー232により簡易に変更できる。
図19乃至図21には、透明度変更スライダー232に対する操作結果の具体例が示されている。
【0194】
図19は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の初期状態の様子を示している。
図19に示すように、領域演算の結果(2値ラベル)に基づいて、境界領域、当該境界領域の内側のウミガメの前景領域、及び、当該境界領域の外側の背景領域504が表示されている。
即ち、背景領域504の背景色(図面では表現しきれないが、例えば青色)及び境界領域の境界色(図面では表現しきれないが、例えば赤色)と、原画像の色とが、透明度変更スライダー232の小さなつまみの位置に応じた混合比率(α値)で、ブレンド表示される。ただし、前景領域(ウミガメ)は混合されずに、常に完全透過している。
図19の初期状態では、透明度変更スライダー232の小さなつまみは、中央に配置されている。従って、ユーザは、原画像(処理対象画像)の状態と、前景を切り出した状態(結果)とのイメージをバランスよく同時に視認することができる。
【0195】
図20は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の、透明度変更スライダー232の小さなつまみを左端に寄せた状態を示している。
ユーザは、操作部37を操作して、透明度変更スライダー232の小さなつまみの位置を、所望の位置に自在に動かすことができる。
図20に示すように、透明度変更スライダー232の小さなつまみが左端まで移動されると、透過度が0%になるので、背景領域504については背景色(図面では表現しきれないが、例えば青色)のみが表示され、境界領域については境界色(図面では表現しきれないが、例えば赤色)が表示される。
即ち、前景領域では、原画像(ウミガメの部分)が他と混合されずに常に完全透過して表示される一方、背景領域504及び境界領域では、原画像(背景部分)が完全に消えて表示されない。従って、ユーザは、原画像(処理対象画像)の背景が完全に消えた時における、前景を切り出した状態(結果)のイメージをつかむことが容易にできる。即ち、図20の状態は、現状の品質確認を行いやすい状態である。
なお、第4の特長として後述するが、背景領域504については、単色の背景色のみの画像のかわりに、任意の画像(第4の特長でいう「新背景画像」等)を採用することもできる。
【0196】
図21は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の、透明度変更スライダー232の小さなつまみを右端に寄せた状態を示している。
図21に示すように、透明度変更スライダー232の小さなつまみが右端まで移動されると、透過度が100%になるので、背景領域504については背景色(図面では表現しきれないが、例えば青色)が完全に消え、境界領域については境界色(図面では表現しきれないが、例えば赤色)が完全に消えて、原画像が完全透過して表示される。
即ち、前景領域では、原画像(ウミガメの部分)が他と混合されずに常に完全透過して表示されるので、結果として、原画像の全体(処理対象画像全体)そのものが表示されることになる。
従って、ユーザは、背景色や境界色といった領域色に影響されずに、原画像における元の前景物体(本例ではウミガメ)の境界を容易に視認することができる。即ち、図21の状態は、次にどう修正するかをユーザが判断しやすい状態である。
【0197】
このように、第3の特長により、ユーザは、操作部37を操作して、透明度変更スライダー232の小さなつまみの位置を、所望の位置に自在に動かすことができる。従って、ユーザは、透明度変更スライダー232の操作だけで、現状の品質確認と次にどのように修正すべきかの判断とを同時に行うことができる。
このとき、ユーザは、透明度変更スライダー232の小さなつまみの位置として、原画像の配色やその時の作業内容等に応じてバランスのよい位置を自在に選択することができる。
【0198】
また、半透過表示を行っても混合比(α値)が固定されていると、慣れていないユーザは、背景色なのか、原画像そのものの色なのかについての判別、即ちどこまでが背景領域であってどこからが前景領域なのかについての判別をすることができない。
これに対して、本実施形態の画像処理システムを利用するユーザは、第3の特長により、このような判別が容易にできるようになる。即ち、ユーザは、透明度変更スライダー232の小さなつまみの位置を移動させることで、表示が変化する部分が境界領域及び背景領域であり、表示が変化しない部分が前景領域であると、容易に判別することができる。しかも、このような判別を行うための透明度変更スライダー232の小さなつまみの移動量は、原画像表示が行われる右端まででなくても、ある程度の移動量でよい。
【0199】
本実施形態の画像処理システムは、切抜処理を実行することができるので、上述の第1及び第2の特長に加えてさらに、境界色や背景色といった分類色の変更操作が非常に少ない回数でできる、という第3の特長を有している。
【0200】
即ち、境界色や背景色といった分類色(上述の例では青と赤)が原画像の色と類似している場合、第2の特長に基づいて混合比(α値)を変更しても、結果の変化が乏しくなり、ユーザは十分に視認できない場合がある。
この場合の対策としては、分類色として適当な色、即ち原画像の色と異なる色に変更する対策を取ればよい。
この場合、通常取られると想定される対策は、ユーザが、「色の変更」の機能が割り当てられたソフトウェアボタン(上述の色変更ボタン231がその一例)を押下操作すると、カラーパレットを表示して、当該カラーパレットから任意の色をユーザが選択する操作をする、といった対策になる。
しかしながら、このような対策では、ユーザが背景色と境界色をそれぞれ多数の色から選択する必要があるために、結果として、5ステップ前後のクリック操作が必要になる。
そこで、本実施形態の画像処理システムは、次のような手法を採用することによって、色変更ボタン231を最大で2回押下操作するだけで(クリック操作2回分に相当する操作をするだけで)済む、といった第3の特長を有している。
【0201】
図22は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の初期状態の様子を示している。
図22に示すように、領域演算の結果(2値ラベル)に基づいて、境界領域506、当該境界領域506の内側のウミガメの前景領域、及び、当該境界領域506の外側のウミガメの背景領域507が表示されている。
初期状態では、境界領域506の境界色は、図面では表現しきれないが例えば上述した赤色であり、背景領域507の背景色は、図面では表現しきれないが例えば上述した青色である。
【0202】
図23は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の、色変更ボタン231を1回押下操作した状態を示している。
ユーザは、操作部37を操作して、色変更ボタン231を押下操作することで、境界色や背景色といった分類色の変更を指示することができる。
色変更ボタン231が1回押下操作されると、境界領域506の境界色は、図面では表現しきれないが例えば茶色に変更され、背景領域507の背景色は、図面では表現しきれないが例えば緑色に変更される。
【0203】
図24は、切抜修正画面操作処理状態S14(図5)において表示される切抜修正画面の、色変更ボタン231を2回押下操作した状態を示している。
色変更ボタン231が2回押下操作されると(図23の状態からさらに1回押下操作されると)、境界領域506の境界色は、図面では表現しきれないが例えばマゼンダに変更され、背景領域507の背景色は、図面では表現しきれないが例えばシアンに変更される。
【0204】
色変更ボタン231が3回押下操作されると(図24の状態からさらに1回押下操作されると)、図22の初期状態に戻る。即ち、境界領域506の境界色は赤色に戻り、背景領域504の背景色は青色に戻る。
【0205】
なお、境界色と背景色の配色の決定手法は、特にこれに限定せず、背景色として3色、境界色として3色、合計6色を、単にそれぞれ明確に異なる色にすることで決定する手法を採用すれば足りる。なお、上述の例では、境界色は赤系の色として統一感を持たせている。
【0206】
図25は、このような境界色と背景色の配色の決定手法を説明する図である。
前提として、今現在編集しようとしている領域、即ち十分に狭い領域を考えれば、原画像の前景領域と背景領域の画素値はほぼ一定していると考えてよい。即ち、ユーザの作業を通してみれば、画像の各部位での編集にあたり、配色の再変更は必要な場合があるが、それは大きな不都合ではないと考えられる。
また、前景画素値を「f」と記述し、背景画素値を「b」と記述し、境界色として採用される3色の各々を、「M1」,「M2」,「M3」のそれぞれと記述し、背景色として採用される3色の各々を、「B1」,「B2」,「B3」のそれぞれと記述する。
このような前提の下、設計者等は、6色(境界色M1乃至M3、及び背景色B1乃至B3)のうち、前景画素値fに最も近い色を選択する。また、設計者等は、6色(境界色M1乃至M3、及び背景色B1乃至B3)のうち、背景画素値bに最も近い色を選択する。この場合、図25から明らかなように、どのように対応をつけても、何れかの行における1対の組み合せ(図25例ではM2,B2の対)には、前景画素値fからも背景画素値bからも矢印が来ない。
ここで、6色(境界色M1乃至M3、及び背景色B1乃至B3)としてそれぞれ明確に異なる色にすることで、設計者等は、矢印が来ない行の対を、境界色と背景色の配色として選択するだけで、原画像の画素値との類似色は発生させない配色を設定することが可能になる。
この配色は、仕上領域指定画面(図6の基本画面201と同一構成)における、略輪郭線の色(境界色)、部分マット処理による修正後のトライマップ表示の色(中間領域が境界色)と共通であり、全体に統一されており、配色変更で同時に変わる。
【0207】
本実施形態の画像処理システムは、切抜処理を実行することができるので、上述の第1乃至第3の特長に加えてさらに、仕上確認画面212(図12)における背景を、任意の新背景画像に変更可能である、という第4の特長を有している。
【0208】
即ち、仕上確認画面操作処理状態S44(図10)に遷移すると、図26に示すような仕上確認画面204が表示される。
図26は、仕上確認画面操作処理状態S44(図10)において表示される仕上確認画面204の初期状態の様子を示している。
図26に示すように、仕上確認画面204には、仕上調整が行われた処理対象画像から切り抜かれた前景(ウミガメ)に対して、予め用意された新背景画像511が合成されて表示される。
ユーザは、背景変更ボタン351を押下操作することで、表示領域211に表示される背景画像を、任意の新背景画像に変更することができる。
【0209】
図27は、仕上確認画面操作処理状態S44(図10)において表示される仕上確認画面204の、背景変更ボタン351を1回押下操作した状態を示している。
背景変更ボタン351が1回押下操作されると、表示領域211に表示される背景画像は、図27に示すような新背景画像512に変更される。
【0210】
図28は、仕上確認画面操作処理状態S44(図10)において表示される仕上確認画面204の、背景変更ボタン351を2回押下操作した状態を示している。
背景変更ボタン351が2回押下操作されると(図27の状態からさらに1回押下操作されると)、表示領域211に表示される背景画像は、図28に示すような新背景画像513に変更される。
【0211】
図29は、仕上確認画面操作処理状態S44(図10)において表示される仕上確認画面204の、背景変更ボタン351を3回押下操作した状態を示している。
背景変更ボタン351が3回押下操作されると(図28の状態からさらに1回押下操作されると)、表示領域211に表示される背景画像は、図29に示すような新背景画像514に変更される。
【0212】
ユーザは、納得するまで選択領域(切り抜かれる前景の領域)の修正の操作を繰り返すことになるが、切抜き結果の良し悪しは、新背景画像との相性があり、例えば境界混色をどの程度許容するかといった判断は、単色無地の背景画像だけから想像することは困難である。
あらかじめターゲットの新背景画像が決まっていれば、ターゲットたる新背景画像を表示すれば必要十分な結果が得られるが、そもそもターゲットがあらかじめ決まっているとは限らない。また、ターゲットが決まっていたとしても、どのような新背景画像に対してもある程度通用する品質に仕上げられることが望ましい。
そこで、本実施形態では、確認画面たる仕上確認画面204と、編集画面たる仕上調整画面205(図13)とを行き来できるソフトウェアボタン、即ち、仕上調整ボタン361(図12)や確認画面ボタン372(図13)が設けられている。さらに、典型的な場合をある程度網羅できるような代表的な配色や複雑さを表現できる新背景画像の集合体が用意されており、背景変更ボタン351の押下操作(クリック操作に相当する操作)だけで、背景画像の内容が、巡回的に切り替えられるように構成されている。
これにより、例えば、ユーザは、特定の新背景画像を念頭においているならば、それに類似する新背景画像を用いて品質を容易に視認することができる。また例えば、ユーザは、あらゆる背景に通用することを目指していれば、全ての新背景画像を順次用いて品質を容易に視認することができる。そして、ユーザは、仮に品質不十分であると判断すれば、編集画面たる仕上調整画面205(図13)を表示させて、編集操作に容易に戻ることが可能になる。
【0213】
なお、本発明は上述の実施の形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0214】
例えば、上述した実施形態では、切抜処理は、クライアント機器11とサーバ12との協働により行われていたが(図4)、クライアント機器11又はサーバ12のうちの何れかで行われてもよい。
ここで、システムとは、複数の装置や処理部により構成される装置全体を表すものであると定義し、1つの筺体内に収まる範囲内を1台の装置と仮定するならば、本発明が適用される画像処理システムは、複数の装置で構成してもよいし、単体の装置で構成してもよい。この場合、複数の装置で構成されるならば、複数の装置全体で図4の切抜処理部102の機能全体を発揮することができれば足り、図4の切抜処理部102の一機能は、複数の装置のうち任意の台数の任意の装置が有していればよい。
【0215】
また例えば、上述した実施の形態では、本発明が適用される情報処理装置は、パーソナルコンピュータ等として構成される例として説明した。しかしながら、本発明は、特にこれに限定されず、画像処理機能を有する電子機器一般に適用することができ、例えば、本発明は、ビデオカメラ、携帯型ナビゲーション装置、ポータブルゲーム機等に幅広く適用可能である。
【0216】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【0217】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0218】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア42(図2),61(図3)により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)等により構成される。光磁気ディスクは、MD(Mini-Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているROM32(図2),52(図3)や記憶部39(図2),58(図3)に含まれるハードディスク等で構成される。
【0219】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【符号の説明】
【0220】
11・・・クライアント機器、12・・・サーバ、21・・・ネットワーク、101・・・通信制御部、102・・・切替処理部、111・・・切抜指定部、112・・・仕上調整部、121・・・領域演算処理部
【特許請求の範囲】
【請求項1】
前景物体を含む処理対象画像のデータについて、前記前景物体を含む前景領域と、背景領域と、前記前景領域と前記背景領域との境界を示す境界領域と、を検出する検出手段と、
前記処理対象画像を表示するに際し、前記境界領域を他の領域とは識別可能な第1の色で表示させ、前記背景領域を、前記第1の色とは異なる第2の色で表示させる制御を実行する表示制御手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
ユーザからの指示に従って、前記境界領域の前記第1の色、及び前記背景領域の前記第2の色を変更する変更手段
を更に備えたことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記境界領域の第1の色候補として3色、前記背景領域の第2の色候補として3色、合計6色が、それぞれ明確に異なる色となるように予め設定されており、
前記変更手段は、前記第1の色として、前記第1の色候補となる3色の中から選択して変更し、前記第2の色として、前記第2の色候補となる3色の中から選択して変更する、
請求項2に記載の画像処理装置。
【請求項4】
画像処理装置が、前景物体を含む処理対象画像のデータに対して画像処理を実行する画像処理方法において、
処理対象画像のデータについて、前記前景物体を含む前景領域と、背景領域と、前記前景領域と前記背景領域との境界を示す境界領域と、を検出する検出ステップと、
前記処理対象画像を表示するに際し、前記境界領域を他の領域とは識別可能な第1の色で表示させ、前記背景領域を、前記第1の色とは異なる第2の色で表示させる制御を実行する表示制御ステップと、
を含む画像処理方法。
【請求項5】
前景物体を含む処理対象画像のデータに対して施される画像処理を制御するコンピュータに、
前記処理対象画像のデータについて、前記前景物体を含む前景領域と、背景領域と、前記前景領域と前記背景領域との境界を示す境界領域と、を検出する検出手段、
前記処理対象画像を表示するに際し、前記境界領域を他の領域とは識別可能な第1の色で表示させ、前記背景領域を、前記第1の色とは異なる第2の色で表示させる制御を実行する表示制御手段、
として機能させるプログラム。
【請求項1】
前景物体を含む処理対象画像のデータについて、前記前景物体を含む前景領域と、背景領域と、前記前景領域と前記背景領域との境界を示す境界領域と、を検出する検出手段と、
前記処理対象画像を表示するに際し、前記境界領域を他の領域とは識別可能な第1の色で表示させ、前記背景領域を、前記第1の色とは異なる第2の色で表示させる制御を実行する表示制御手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
ユーザからの指示に従って、前記境界領域の前記第1の色、及び前記背景領域の前記第2の色を変更する変更手段
を更に備えたことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記境界領域の第1の色候補として3色、前記背景領域の第2の色候補として3色、合計6色が、それぞれ明確に異なる色となるように予め設定されており、
前記変更手段は、前記第1の色として、前記第1の色候補となる3色の中から選択して変更し、前記第2の色として、前記第2の色候補となる3色の中から選択して変更する、
請求項2に記載の画像処理装置。
【請求項4】
画像処理装置が、前景物体を含む処理対象画像のデータに対して画像処理を実行する画像処理方法において、
処理対象画像のデータについて、前記前景物体を含む前景領域と、背景領域と、前記前景領域と前記背景領域との境界を示す境界領域と、を検出する検出ステップと、
前記処理対象画像を表示するに際し、前記境界領域を他の領域とは識別可能な第1の色で表示させ、前記背景領域を、前記第1の色とは異なる第2の色で表示させる制御を実行する表示制御ステップと、
を含む画像処理方法。
【請求項5】
前景物体を含む処理対象画像のデータに対して施される画像処理を制御するコンピュータに、
前記処理対象画像のデータについて、前記前景物体を含む前景領域と、背景領域と、前記前景領域と前記背景領域との境界を示す境界領域と、を検出する検出手段、
前記処理対象画像を表示するに際し、前記境界領域を他の領域とは識別可能な第1の色で表示させ、前記背景領域を、前記第1の色とは異なる第2の色で表示させる制御を実行する表示制御手段、
として機能させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図9】
【図10】
【図11】
【図14】
【図15】
【図25】
【図6】
【図7】
【図8】
【図12】
【図13】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図26】
【図27】
【図28】
【図29】
【図2】
【図3】
【図4】
【図5】
【図9】
【図10】
【図11】
【図14】
【図15】
【図25】
【図6】
【図7】
【図8】
【図12】
【図13】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図26】
【図27】
【図28】
【図29】
【公開番号】特開2012−123716(P2012−123716A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−275674(P2010−275674)
【出願日】平成22年12月10日(2010.12.10)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願日】平成22年12月10日(2010.12.10)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]