JP5838874B2 - 画像処理方法、装置及びプログラム - Google Patents

画像処理方法、装置及びプログラム Download PDF

Info

Publication number
JP5838874B2
JP5838874B2 JP2012059038A JP2012059038A JP5838874B2 JP 5838874 B2 JP5838874 B2 JP 5838874B2 JP 2012059038 A JP2012059038 A JP 2012059038A JP 2012059038 A JP2012059038 A JP 2012059038A JP 5838874 B2 JP5838874 B2 JP 5838874B2
Authority
JP
Japan
Prior art keywords
image
pixel
calculation
synthesis
pixels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012059038A
Other languages
English (en)
Other versions
JP2013196014A (ja
Inventor
涼一 舟橋
涼一 舟橋
多田 厚子
厚子 多田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012059038A priority Critical patent/JP5838874B2/ja
Publication of JP2013196014A publication Critical patent/JP2013196014A/ja
Application granted granted Critical
Publication of JP5838874B2 publication Critical patent/JP5838874B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)
  • Studio Devices (AREA)

Description

開示の技術は画像処理方法、画像処理装置及び画像処理プログラムに関する。
画像に被写体として写っている人物のプライバシーを保護する技術として、前記人物を特定できないように、画像中の前記人物の顔領域にモザイクを掛けたり、前記人物の眼部領域を矩形状にマスクする画像処理が知られている。しかし、上記のような画像処理を行った画像は、一見しただけで加工されていることが明瞭に判別できる画像となり、画像の鑑賞者に不自然な印象を与える。
これを解決するため、マスク画像の勾配情報を用い、画像中の顔領域等の合成対象領域のエッジ(マスク画像との合成境界)を境界条件としてポアソン方程式を解くことで、合成対象領域にマスク画像を合成する技術が提案されている。この技術では、合成対象領域に初期値画像を与え、初期値画像から、各画素の差分がマスク画像の勾配情報とエッジの境界条件を満たす値に収束するまで繰り返し演算を行うことで、合成対象領域にマスク画像を合成した結果に相当する合成結果画像が生成される。
なお、合成対象領域が顔領域である場合、マスク画像としては、例えば他の人物の顔を表す画像や、複数の人の平均的な顔を表す画像を適用することができる。また、初期値画像としては、例えば全面が白で塗り潰された画像や、全面が黒で塗り潰された画像などが用いられる。
また、合成結果画像を高速に演算する手法として、合成対象領域の境界γからの距離及び角度の比率に基づいて各画素の合成結果画像上の値を直接演算するMVC(Mean Value Cloning)も提案されている。
特開2008−204466号公報
Patrick Perez,Michel Gangnet,Andrew Blake,"Poisson Image Editing",Microsoft Reserch UK,2003 ACM Transactions on Graphics(TOG),v.28 n.3,August,2009 P.Viola and M.Jones,"Rapid object detection using a boosted cascade of simple features,"in Proc.IEEE Computer Vision and Pattern Recognition,pp.I_511-I_518,2001
しかしながら、ポアソン方程式による繰り返し演算を行う手法では、合成したマスク画像との合成境界が目立ちにくい自然な画像が得られるという利点があるものの、演算の繰り返し回数が非常に多く、演算量が非常に大きいという欠点も有している。
また、MVCを適用した場合には、繰り返し演算が不要となることで演算量を大幅に削減できる。但し、MVCは、境界γからの距離及び角度の比率に基づき演算に用いるパラメータを決定する初期化を行う必要があり、初期化処理に時間が掛かるという課題があった。
特に、動画像に対して各フレーム中に存在する合成対象領域にマスク画像を各々合成しようとした場合、動画像の中で照明条件が変化すること等を考慮すると、各フレーム毎に合成結果画像を生成する必要がある。このため、動画像の各フレームへのマスク画像の合成を行う場合、処理に長大な時間が掛かることになる。
開示の技術は、合成画像の合成に要する演算量を削減することが目的である。
開示の技術は、設定ステップにおいて演算対象画素を設定する。当該画素は、画像中の合成対象領域のうち、合成対象領域に合成画像を合成した結果に相当し合成対象領域の境界上の画素の値が保存される合成結果画像上での値が未知の画素で、当該画素に対して所定の複数の方向に値が既知の画素が各々存在している画素である。また設定ステップでは、設定した演算対象画素に対して所定の複数の方向の何れかに各々存在しており値が既知の複数の画素を参照画素に各々設定する。また演算ステップでは、設定ステップで設定した複数の参照画素の合成結果画像上での値及び合成画像上での値と、前記演算対象画素の合成画像上での値と、に基づいて、設定ステップで設定した演算対象画素の合成結果画像上での値を演算する。また合成ステップでは、合成対象領域の全ての画素について合成結果画像上での値が演算される迄、設定ステップでの演算対象画素及び参照画素の設定と演算ステップでの演算対象画素の値の演算を繰り返させる。そして合成ステップでは、得られた合成結果画像を画像中の合成対象領域の画像と置き換える。
開示の技術は、合成画像の合成に要する演算量を削減できる、という効果を有する。
実施形態で説明した画像処理装置の機能ブロック図である。 画像処理装置として機能するコンピュータの概略ブロック図である。 色要素分離処理の一例を示すフローチャートである。 合成結果画像生成処理の一例を示すフローチャートである。 色要素合成処理の一例を示すフローチャートである。 演算対象画素と参照画素との位置関係の一例を示すイメージ図である。 合成結果画像生成処理の概略を示すイメージ図である。 合成結果画像生成処理の処理過程の一例を示すイメージ図である。 合成結果画像生成処理の処理過程の一例を示すイメージ図である。 合成結果画像生成処理の処理過程の一例を示すイメージ図である。 比較例におけるポアソン方程式を用いたマスク画像の合成を説明するための概略図である。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。図1には、本実施形態に係る画像処理装置10が示されている。画像処理装置10は、動画像の各フレーム中に存在する人物の顔領域等の合成対象領域に、予め設定されたマスク画像を合成することで、動画像中に被写体として写っている人物のプライバシーの保護を図るマスク合成処理を行う装置である。
画像処理装置10は、動画像取得部12、マスク画像取得部14、合成対象領域検出部16、2個の色要素分離部18,20、3個の画像合成部22〜26、色要素合成部28及び動画像出力部30を備えている。また、画像合成部22〜26は、互いに同一の構成であり、演算対象/参照画素設定部32、マスク画像保持部34、合成結果画像演算部36及び合成結果画像合成部38を各々備えている。
動画像取得部12は、動画像を撮影する機能を備えた撮影装置によって被写体が撮影されることで得られた動画像を、撮影装置又は前記動画像を記憶する記憶部からフレーム単位で取得する。なお、動画像取得部12は上記の撮影装置を含んだ構成であってもよい。また、画像処理装置10自体が上記の撮影装置に内蔵されていてもよい。また、例えば撮影装置が、画像処理装置10として機能する情報機器と通信ケーブルを介して接続される場合、動画像取得部12は、前記情報機器に設けられ、通信ケーブルを介して撮影装置から画像データを受信することで取得する通信ユニットであってもよい。
マスク画像取得部14は、動画像の各フレーム中に存在する人物の顔領域等の合成対象領域に合成するためのマスク画像を取得する。前述のように、本実施形態に係るマスク合成処理は、動画像中に被写体として写っている人物のプライバシーの保護を目的としており、マスク画像は、マスク画像が合成された動画像が前記人物の特定が困難な動画像となるように予め設定される。例えば合成対象領域が人物の顔領域である場合、マスク画像としては、動画像中に被写体として写っている人物以外の他の人の顔を表す画像や、複数の人の平均的な顔を表す画像等が予め設定される。マスク画像取得部14は、予め設定されて記憶部に記憶されたマスク画像を記憶部から読み出す等の処理を行うことで、マスク画像を取得する。
合成対象領域検出部16は、動画像取得部12によって取得された動画像の各フレームの画像に対し、各フレームの画像中に存在している合成対象領域を順次検出し、検出した合成対象領域の画像上の位置及びサイズを動画像の各フレームと共に順次出力する。色要素分離部18は、動画像取得部12によって取得された動画像の各フレームの画像を画素毎に複数の色要素に分離し、色要素分離部20は、マスク画像取得部14によって取得されたマスク画像を画素毎に複数の色要素に分離する。複数の色要素としては、任意の色空間を規定する色要素を適用可能であり、例えばR,G,BやY,U,V、L*,a*,b*等のうちの何れかを適用することができる。
画像合成部22〜26は互いに異なる色要素に対応しており、互いに異なる色要素のフレーム画像が色要素分離部18,20から入力される。画像合成部22〜26は、互いに異なる色要素について、入力されたフレーム画像中の合成対象領域に、入力されたマスク画像を合成した結果に相当する合成結果画像を生成し、生成した合成結果画像を合成対象領域に合成する処理を各々行う。
すなわち、演算対象/参照画素設定部32は、色要素分離部18から入力された特定の色要素のフレーム画像中の合成対象領域に対し、合成結果画像演算部36が合成結果画像上での特定の色成分の値を演算する演算対象画素を設定する。また演算対象/参照画素設定部32は、合成結果画像演算部36が演算対象画素の合成結果画像上での特定の色成分の値を演算するにあたり、合成結果画像上での値及びマスク画像上での値が参照される参照画素を複数設定する。なお、演算対象/参照画素設定部32は開示の技術における設定部の一例であり、演算対象/参照画素設定部32によって実現される処理は開示の技術における設定ステップの一例である。
また、マスク画像保持部34は、色要素分離部20から入力された特定の色要素のマスク画像を保持する。合成結果画像演算部36は、演算対象/参照画素設定部32によって複数設定された参照画素の合成結果画像上での値及びマスク画像上での値に基づいて、演算対象/参照画素設定部32によって設定された演算対象画素の合成結果画像上での値を演算する。なお、合成結果画像演算部36は開示の技術における演算部の一例であり、合成結果画像演算部36によって実現される処理は開示の技術における演算ステップの一例である。
合成結果画像合成部38は、合成結果画像演算部36によって合成対象領域の全ての画素について合成結果画像上での値が演算されたか否か判定し、判定が肯定される迄の間、演算対象/参照画素設定部32及び合成結果画像演算部36の処理を繰り返させる。また合成結果画像合成部38は、合成結果画像演算部36による演算が終了して特定色要素の合成結果画像が生成されると、生成された特定の色要素の合成結果画像を、フレーム画像中の合成対象領域の画像と置き換える画像合成処理を行う。なお、合成結果画像合成部38は開示の技術における合成部の一例であり、合成結果画像合成部38によって実現される処理は開示の技術における合成ステップの一例である。
色要素合成部28は、合成結果画像が合成された互いに異なる色要素のフレーム画像が画像合成部22〜26から出力される度に、画像合成部22〜26から出力された各色要素のフレーム画像を単一のフレーム画像へ合成して出力する。動画像出力部30は、色要素合成部28から出力された単一のフレーム画像を、マスク画像が合成された動画像のうちの1フレームの画像として出力する。
画像処理装置10は、例えば図2に示すコンピュータ60で実現することができる。コンピュータ60はCPU62、メモリ64、不揮発性の記憶部66、キーボード68、マウス70、ディスプレイ72を備え、これらはバス74を介して互いに接続されている。
また、記憶部66はHDD(Hard Disk Drive)やフラッシュメモリ等によって実現できる。記録媒体としての記憶部66には、コンピュータ60を画像処理装置10として機能させるためのマスク合成プログラム76が記憶されている。CPU62は、マスク合成プログラム76を記憶部66から読み出してメモリ64に展開し、マスク合成プログラム76が有するプロセスを順次実行する。
マスク合成プログラム76は、動画像取得プロセス78、マスク画像取得プロセス80、合成対象領域検出プロセス82、色要素分離プロセス84、画像合成プロセス86、色要素合成プロセス88及び動画像出力プロセス90を有する。CPU62は、動画像取得プロセス78を実行することで、図1に示す動画像取得部12として動作する。またCPU62は、マスク画像取得プロセス80を実行することで、図1に示すマスク画像取得部14として動作する。またCPU62は、合成対象領域検出プロセス82を実行することで、図1に示す合成対象領域検出部16として動作する。またCPU62は、色要素分離プロセス84を実行することで、図1に示す色要素分離部18,20として動作する。またCPU62は、画像合成プロセス86を実行することで、図1に示す画像合成部22〜26として動作する。またCPU62は、色要素合成プロセス88を実行することで、図1に示す色要素合成部28として動作する。またCPU62は、動画像出力プロセス90を実行することで、図1に示す動画像出力部30として動作する。
また、画像合成プロセス86は、演算対象/参照画素設定プロセス92、マスク画像保持プロセス94、合成結果画像演算プロセス96及び合成結果画像合成プロセス98を有する。CPU62は、演算対象/参照画素設定プロセス92を実行することで、図1に示す演算対象/参照画素設定部32として動作する。またCPU62は、マスク画像保持プロセス94を実行することで、図1に示すマスク画像保持部34として動作する。またCPU62は、合成結果画像演算プロセス96を実行することで、図1に示す合成結果画像演算部36として動作する。またCPU62は、合成結果画像合成プロセス98を実行することで、図1に示す合成結果画像合成部38として動作する。これにより、マスク合成プログラム76を実行したコンピュータ60が、画像処理装置10として機能することになる。なお、マスク合成プログラム76は開示の技術における画像処理プログラムの一例である。
なお、画像処理装置10は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
次に、本実施形態の作用の説明に先立ち、従来のマスク画像の合成(合成結果画像の演算)について説明する。従来のマスク画像の合成は、マスク画像の勾配情報(二次微分値)を用い、合成対象領域のエッジ(マスク画像との合成境界)を境界条件としてポアソン方程式を解き、合成結果画像を求めることによって成される。具体的には、例えば以下の演算処理によって実現される(図11も参照)。
すなわち、マスク画像をS(幅W,高さH)、合成対象領域をT(幅W,高さH)、初期値画像をI(幅W,高さH)、合成結果画像をFとしたときに、マスク画像Sのラプラシアンフィルタ適用値Lsは次の(1)式で表される。
Ls(x,y)=S(x-1,y)+S(x+1,y)+S(x,y-1)+S(x,y+1)−4S(x,y)
…(1)
但し、画像の端は算出先とならないので、マスク画像Sの幅をW、高さをHとすると、
0<x<W、0<y<H
である。画像の外縁は合成対象領域の画素値(境界γ)とする(次の(2)式参照)。
F(x,y)=T(x,y) (x=0又はy=0又はx=W又はy=Hのとき) …(2)
また、合成結果画像Fのラプラシアンフィルタ適用値Lfをマスク画像Sのラプラシアンフィルタ適用値Lsと一致させる(次の(3)式参照)。
Lf(x,y)=Ls(x,y) …(3)
上記(2),(3)式の方程式を解くことで、合成対象領域Tの全領域で合成結果画像F(x,y)の値を得ることができる。
上記の方程式は、以下のようにして解くことができる。すなわち、合成結果画像Fのラプラシアンフィルタ適用値Lfは次の(4)式で表される。
Lf(x,y)=F(x-1,y)+F(x+1,y)+F(x,y-1)+F(x,y+1)−4F(x,y)
…(4)
また、前出の(3)式より次の(5)式が得られる。
F(x,y)={F(x-1,y)+F(x+1,y)+F(x,y-1)+F(x,y+1)−Ls(x,y)}/4
…(5)
合成結果画像Fを数値的に解く場合は、(5)式を次の(6)式の漸化式へ変形し、合成結果画像Fに初期値を与えた後、合成結果画像Fの値が収束する迄繰り返し演算を行う(ガウスザイデル法)。
Fi+1(x,y)={Fi(x-1,y)+Fi(x+1,y)+Fi(x,y-1)+Fi(x,y+1)
−Ls(x,y)}/4 …(6)
但し、iは各回の演算を識別するための変数である。また、初期値は通常、
F0(x,y)=T(x,y) (x=0又はy=0又はx=W又はy=Hのとき)
F0(x,y)=0 (x=0、y=0、x=W及びy=H以外のとき)
である。
また、収束条件は以下の何れかである。
(収束条件A) |Fi+1−Fi|が閾値以下
(収束条件B) 合成結果画像Fのラプラシアンフィルタ適用値Lfを演算し、|Lf−Ls|が閾値以下
これにより、マスク画像Sに基づき、初期値画像I及び合成対象領域Tの境界γから合成結果画像Fが生成される。
また、(6)式に代えて以下の(7)式によって合成結果画像Fを求めることも可能である(SOR法)。
Fi+1(x,y)=(1−ω)Fi(x,y)+ω{Fi(x-1,y)+Fi(x+1,y)+Fi(x,y-1)
+Fi(x,y+1)−Ls(x,y)}/4 …(7)
(7)式はω=1〜2で収束する。なお、前出の(6)式は(7)式におけるω=1の場合とみなすことも可能である。ω=1.95程度の値を用いることで良好な収束性が得られる。
但し、上述した合成結果画像Fの演算は、繰り返し演算における演算の繰り返し回数が非常に多く、演算量が非常に大きいという欠点を有している。
次に、開示の技術の比較例としてのMVCについて説明する。MVCは、合成対象領域Tの境界γからの距離及び角度の比率に基づいて各画素の合成結果画像上の値を直接演算する手法である。MVCでは、合成対象領域Tの境界γ上の画素の座標をpi、演算対象画素の座標をxとすると、初期化時に各画素に対応する係数λiが以下の(8),(9)式により演算される。
λi(x)=wi/Σwj …(8)
wi={tan(α_(i-1)/2)+tan(αi/2)}/||pi−x|| …(9)
但し、
αi:∠p_(i-1)×p_i
である。
合成結果画像Fの生成は、画素xの合成対象領域Tにおける値をT(x)、マスク画像Sにおける値をS(x)、合成結果画像Fにおける値をF(x)とすると、各画素xについて以下の(10)〜(12)式の演算を行うことで実現される。
diff_i=T(pi)−S(pi) …(10)
r(x)=Σ(λi(x)×diff_i) …(11)
F(x)=S(x)+r(x) …(12)
MVCは、合成対象領域Tの境界γからの距離及び角度の比率に基づき、(10)〜(12)式の演算を行うことで各画素値を算出可能であるため、繰り返し演算が不要になるという利点を有する。但し、MVCは、初期化時の係数λiの演算式((8),(9)式)が繁雑であり、多数の画素について、対応する境界λ上の参照画素からの距離及び角度の比率を算出するという複雑な演算を行う必要がある。このため、MVCは初期化処理に時間が掛かるという課題がある。特に、動画像のように合成対象領域Tの形状が毎フレーム変化する場合、合成対象領域Tの境界γ上の参照画素を毎フレーム算出する必要があるので、初期化処理に時間が掛かるとリアルタイム処理が困難になる。
一方、MVCにおける初期化時の演算が複雑であることは、演算対象の画素に対して境界λ上の参照画素が存在している方向が不定であり、参照画素からの角度の比率が都度相違していることに起因すると考えられる。演算対象画素に対して一定の方向に存在する画素を参照画素として用いるようにすれば、参照画素からの角度の比率は常に一定となり、演算が簡単になることで処理時間を短縮できる。但し、MVCにおいて、演算対象画素に対して一定の方向に存在する画素を参照画素として用いるようにした場合、MVCでは合成対象領域Tの境界γ上の画素のみを参照画素として演算に用いているので、演算精度が低下することが予想される。そこで、演算対象画素に対して一定の方向に存在する画素を参照画素として用いると共に、合成結果画像上での値を演算した画素についても、合成結果画像上での値が既知であるので、参照画素として演算に用いることが考えられる。これにより、MVCよりも処理時間を短縮できると共に、合成結果画像上での値が既知の画素が増えるに従って、演算対象画素と参照画素との距離が小さくなることから、MVCと同等の演算精度が得られる。
上記に基づき、本実施形態では、画像処理装置10に対してマスク合成処理の実行が指示された場合に、図3〜図5に示す処理を含むマスク合成処理が画像処理装置10によって行われる。なお、マスク合成処理は、例えば、撮影装置によって撮影された動画像を配布、或いは放送、或いはネットワーク上で公開する等の理由で、動画像中に被写体として写っている人物のプライバシーの保護を図る必要が生じた場合に実行が指示される。
マスク合成処理の実行に際しては、処理対象の動画像が指定され、合成対象のマスク画像も指定される。これにより、本実施形態に係る画像処理装置10では、動画像取得部12、マスク画像取得部14、合成対象領域検出部16及び2個の色要素分離部18,20により、図3に示す色要素分離処理が実行される。
色要素分離処理のステップ150において、マスク画像取得部14は、例えば記憶部66等に予め記憶された複数のマスク画像の中から、合成対象として指定されたマスク画像を取得する。なお、マスク画像を合成する合成対象領域として、動画像中に被写体として写っている人物の顔領域全体を適用する場合、マスク画像としては、例えば図11に示すように、人物の顔(他の人の顔や複数の人の平均的な顔等)を表す顔画像が適用される。ステップ152において、色要素分離部20は、マスク画像取得部14によって取得されたマスク画像を複数の色要素に分離する。
ステップ154において、動画像取得部12は、処理対象として指定された動画像の各フレームを識別するための変数Nに1を設定する。またステップ156において、動画像取得部12は、処理対象の動画像のうちN番目のフレームの画像を取得する。またステップ158において、合成対象領域検出部16は、動画像取得部12によって取得されたN番目のフレームの画像の中から合成対象領域を検出し、N番目のフレームの画像における合成対象領域の位置及びサイズを検出する。
なお、合成対象領域として顔領域を適用する場合、顔領域の検出には、例えばHaar classifierを用いる手法(非特許文献3参照)等の任意の手法を適用できる。また、合成対象領域は合成対象領域検出部16によって検出することに限られるものではない。例えば動画像中に被写体として写っている複数の人物のうちの一部の人物に対してのみマスク画像を合成する等の場合に、処理対象の人物の合成対象領域が最初に指定されるようにしてもよい。この場合、合成対象領域検出部16は、最初に指定された合成対象領域を動画像上で追跡する処理を行うことができる。
ステップ160において、色要素分離部18は、動画像取得部12によって取得されたN番目のフレームの画像を複数の色要素に分離する。ステップ162において、色要素分離部18は、各色要素毎のN番目のフレームの画像を画像合成部22〜26に各々出力し、色要素分離部20は各色要素のマスク画像を画像合成部22〜26へ各々出力する。なお、色要素分離部20から出力された各色要素のマスク画像は、画像合成部22〜26のマスク画像保持部34に各々保持される。また、色要素分離部18から出力されたN番目のフレームの画像は演算対象/参照画素設定部32に入力される。
次のステップ164において、動画像取得部12は、処理対象の動画像の全フレームの画像を取得したか否かを判定する。ステップ164の判定が否定された場合はステップ166へ移行し、動画像取得部12は、変数Nの値を1だけインクリメントし、ステップ156に戻る。これにより、ステップ164の判定が肯定される迄、ステップ156〜ステップ166が繰り返される。そして、ステップ164の判定が肯定されると、色要素分離処理を終了する。
また、画像処理装置10の画像合成部22〜26の各々では、N番目のフレームの特定色要素の画像が色要素分離部18から入力される度に、図4に示す合成結果画像生成処理が実行される。
ステップ170において、演算対象/参照画素設定部32は、今回の演算が初回の演算か否か判定する。ステップ170の判定が肯定された場合はステップ172へ移行する。ステップ172において、演算対象/参照画素設定部32は、合成対象領域Tのおよそ中央に位置している1個の画素を演算対象画素に設定する。ステップ174において、ステップ172で設定した演算対象画素と合成対象領域Tの境界γとの距離(本実施形態ではこの距離を参照画素の方向が縦横方向であれば2、斜め方向であれば√2×2とする)に基づいて、演算距離次数であるkの初期値を設定する。
初回の演算時において、合成結果画像F上での値が既知の画素は合成対象領域Tの境界γ上の画素である。本実施形態において、演算対象画素の合成結果画像F上での値の演算には、合成結果画像F上での値が既知の画素(参照画素)の値が用いられるが、初回の演算時には参照画素として合成対象領域Tの境界γ上の画素が用いられる。従って、上記の演算距離次数kは演算対象画素と参照画素との距離を表している。
ところで、本実施形態では、演算対象画素に対する参照画素の方向として、図6(A)に示すように上下左右の4方向(縦横方向)と、図6(B)に示すように前記縦横方向に対して45°傾いた4方向(斜め方向)と、が設けられている。なお、図6において、演算対象画素は符号"f"で示し、参照画素はハッチングで示している。ステップ176において、演算対象/参照画素設定部32は、参照画素の方向としての縦横方向及び斜め方向について、参照画素の候補を各々選択する。
なお、例えば合成対象領域Tが、一辺の長さが2k+1+1画素(k>0の整数)の矩形状であり、合成対象領域Tの左上隅が座標の原点(0,0)の場合、初回の演算では、合成対象領域の中央に位置している座標(2,2)の画素が演算対象画素に設定される。また、参照画素の方向が縦横方向の場合、座標(0,2),(2k+1,2),(2,0),(2,2k+1)の4画素が参照画素候補に選択され、参照画素の方向が斜め方向の場合、座標(0,0),(0,2k+1),(2k+1,0),(2k+1,2k+1)の4画素が参照画素候補に選択される。また、合成対象領域Tが非矩形状の場合は、演算対象画素から縦横方向又は斜め方向に対応する4方向へ辿ったときの合成対象領域Tの境界γ上の画素が参照画素候補として各々選択される。
ステップ178において、演算対象/参照画素設定部32は、演算対象画素と参照画素候補との距離のばらつきに基づき、初回の演算で適用する参照画素の方向として、縦横方向及び斜め方向のうち距離のばらつき(例えば分散σ2)が小さい方の方向を選択する。なお、開示の技術は、上記のように、初回の演算における参照画素の方向を、演算対象画素と4個の参照画素との距離のばらつきに基づいて選択することに限られるものではない。例えば、初回の演算における参照画素の方向を縦横方向又は斜め方向に予め設定しておいてもよい。次のステップ180において、演算対象/参照画素設定部32は、ステップ178で選択した参照画素の方向に対応する参照画素候補を参照画素に設定する。
次のステップ198において、合成結果画像演算部36は、演算対象/参照画素設定部32によって設定された演算対象画素を演算対象として1つ選択する。ステップ200において、合成結果画像演算部36は、ステップ198で選択した演算対象画素と、当該演算対象画素に対応する4個の参照画素と、の距離が均一か否か判定する。
ステップ200の判定が肯定された場合はステップ202へ移行する。ステップ202において、合成結果画像演算部36は、距離が均一の場合の演算式を用い、複数の参照画素の合成結果画像上での特定色要素の値及びマスク画像上での特定色要素の値に基づいて演算対象画素の合成結果画像上での特定色要素の値を演算する。演算対象画素と複数の参照画素との距離が均一の場合の演算式は以下の(13)式である。(13)式において、F1,F2,F3,F4及びS1,S2,S3,S4は、4個の参照画素の合成結果画像F上及びマスク画像S上の値(特定色要素の値)であり、F(x,y)は演算対象画素の合成結果画像F上の値(特定色要素の値)である。
F(x,y)=[F1+F2+F3+F4−{S1+S2+S3+S4}]/4+S(x,y) …(13)
演算対象画素と複数の参照画素との距離が均一の場合は、参照画素の方向が縦横方向か斜め方向かに拘わらず、(13)式の演算を行うことで演算対象画素の合成結果画像F上の特定色要素の値F(x,y)が算出される。
また、ステップ200の判定が否定された場合はステップ204へ移行する。ステップ204において、合成結果画像演算部36は、距離が不均一の場合の演算式を用い、複数の参照画素の合成結果画像上での特定色要素の値及びマスク画像上での特定色要素の値に基づいて演算対象画素の合成結果画像上での特定色要素の値を演算する。演算対象画素と複数の参照画素との距離が不均一の場合の演算式は以下の(14)式である。(14)式は、演算対象画素の座標が(x,y)、4個の参照画素の座標が(x−a,y),(x+b,y),(x,y−c),(x,y+d)の場合の演算式である。
F(x,y)=[acd×F(x+b,y)+bcd×F(x−a,y)+abc×F(x,y+d)+abd×F(x,y−c)−{acd×S(x+b,y)+bcd×S(x−a,y)+abc×S(x,y+d)+abd×S(x,y−c)}]/(acd+bcd+abc+abd)+S(x,y) …(14)
なお、(14)式は、先に挙げた参照画素の座標からも明らかなように参照画素の方向が縦横方向の場合である。但し、参照画素の方向が斜め方向の場合も、座標軸を45°回転させた状態で(14)式を適用することで、演算対象画素の合成結果画像F上の特定色要素の値F(x,y)を同様に算出できる。
ステップ202又はステップ204で演算対象画素の合成結果画像F上の特定色要素の値F(x,y)を算出すると、ステップ206へ移行する。ステップ296において、合成結果画像演算部36は、ステップ202又はステップ294で合成結果画像F上の特定色要素の値F(x,y)を算出した演算対象画素を、合成結果画像F上の値が既知の画素を登録するためのテーブルに登録する。ステップ208において、合成結果画像演算部36は、演算対象/参照画素設定部32によって設定された全ての演算対象画素を演算対象として選択したか否か判定する。初回の演算では、演算対象/参照画素設定部32によって設定される演算対象画素は1個のみであるので、ステップ208の判定が肯定されてステップ210へ移行する。
ステップ210において、合成結果画像合成部38は、合成結果画像F上の値が未演算の画素が有るか否か判定する。なお、ステップ210の判定は、演算距離次数kが0で、演算距離=1画素の演算が終了した場合に否定される。ステップ210の判定が肯定された場合はステップ170に戻り、ステップ170以降で2回目の演算が行われる。2回目以降の演算では、合成対象領域Tの境界γ上の画素に加え、ステップ206でテーブルに登録した画素も、合成結果画像F上での値が既知の画素になる。
2回目の演算では、ステップ170の判定が否定されてステップ182へ移行する。ステップ182において、演算対象/参照画素設定部32は、今回の演算が2回目の演算か否か判定する。この場合はステップ182の判定が肯定されてステップ186へ移行し、ステップ186において、演算対象/参照画素設定部32は、演算距離次数kを1だけデクリメントする。
次のステップ188において、演算対象/参照画素設定部32は、今回の演算に適用する参照画素の方向として斜め方向を設定する。またステップ190において、演算対象/参照画素設定部32は、合成結果画像F上の値が既知の画素から斜め方向に√2×2の距離にある全ての画素を演算対象画素に設定する。これにより、例えば図7に「2回目以降の偶数回目の演算」と表記して示す図に"v1"として示すように、初回の演算で演算対象に設定した画素fに対して斜め方向に存在する複数の画素が今回の演算対象画素として設定される。
ステップ190の処理を行うとステップ196へ移行し、ステップ196において、演算対象/参照画素設定部32は、ステップ190で設定した個々の演算対象画素に対応する参照画素を各々設定する。ここで設定する参照画素は、個々の演算対象画素から斜め方向に対応する4方向に沿って距離√2×2だけ隔てた位置に存在している画素である。なお、演算対象画素から斜め方向に対応する4方向に沿って距離√2×2だけ隔てた位置が合成対象領域の境界γから逸脱する場合は、参照画素として境界γ上の画素が設定される。
上記のように、2回目の演算における演算対象画素及び参照画素を設定するとステップ198へ移行し、合成結果画像演算部36によって前述したステップ198〜ステップ208の処理が行われる。この場合は、演算対象画素として複数の画素が設定されているので、ステップ208の判定は、(演算対象画素の個数−1)回だけ否定され、個々の演算対象画素に対してステップ202又はステップ204で合成結果画像F上の値が各々演算される。
また、次にステップ210の判定が肯定されてステップ170に戻ると、ステップ170以降で3回目の演算が行われる。3回目の演算では、ステップ170の判定が否定されると共にステップ182の判定も否定され、ステップ184へ移行する。ステップ184において、演算対象/参照画素設定部32は、前回の演算における参照画素の方向が斜め方向か否か判定する。
この場合はステップ184の判定が肯定されてステップ192へ移行し、ステップ192において、演算対象/参照画素設定部32は、今回の演算に適用する参照画素の方向として縦横方向を設定する。またステップ194において、演算対象/参照画素設定部32は、合成結果画像F上の値が既知の画素から縦横方向に2の距離にある全ての画素を演算対象画素に設定する。これにより、例えば図7に「3回目以降の奇数回目の演算」と表記して示す図に"u1"として示すように、合成結果画像F上の値が既知の画素f、v1に対して縦横方向に存在する複数の画素が今回の演算対象画素として設定される。
ステップ194の処理を行うとステップ196へ移行し、ステップ196において、演算対象/参照画素設定部32は、ステップ194で設定した個々の演算対象画素に対応する参照画素を各々設定する。ここで設定する参照画素は、個々の演算対象画素から縦横方向に対応する4方向に沿って距離2だけ隔てた位置に存在している画素である。なお、演算対象画素から縦横方向に対応する4方向に沿って距離2だけ隔てた位置が合成対象領域の境界γから逸脱する場合は、参照画素として境界γ上の画素が設定される。
上記のように、2回目の演算における演算対象画素及び参照画素を設定するとステップ198へ移行し、合成結果画像演算部36によって前述したステップ198〜ステップ208の処理が行われる。この場合は、演算対象画素として複数の画素が設定されているので、ステップ208の判定は、(演算対象画素の個数−1)回だけ否定され、個々の演算対象画素に対してステップ202又はステップ204で合成結果画像F上の値が各々演算される。
また、今回もステップ210の判定が肯定された場合は、ステップ170に戻り、ステップ170以降で4回目の演算が行われる。4回目の演算では、ステップ170、ステップ182、ステップ184の判定が各々否定され、ステップ186へ移行して演算距離次数kが1だけデクリメントされる。次のステップ188以降の処理は、先に説明したので説明を省略する。
このように、合成結果画像生成処理では、図7に示すように、初回の演算後、2回目の演算では参照画素の方向として斜め方向が、3回目の演算では参照画素の方向として縦横方向が設定され、以後、参照画素の方向として斜め方向と縦横方向が交互に選択される。また、参照画素の方向が斜め方向の演算を行う際に演算距離次数kが1ずつデクリメントされ、演算距離次数kが0になると、合成対象領域内の全画素について合成結果画像F上の値の演算が完了していることで、前述のステップ210の判定が否定される。
ステップ210の判定が否定されるとステップ212へ移行する。ステップ212において、合成結果画像合成部38は、N番目のフレームの特定色要素の画像中の合成対象領域に、上述した処理によって得られた特定色要素の合成結果画像Fを合成する。そしてステップ214において、合成結果画像合成部38は、合成結果画像Fを合成したN番目のフレームの特定色要素の画像を色要素合成部28へ出力し、合成結果画像生成処理を終了する。
上述した合成結果画像生成処理について、実例を挙げて更に説明する。一例として図8には、合成対象領域が、境界γを含む1辺の長さが9画素で、演算距離次数k=2(22+1+1=9)の場合の処理過程を示す。
図8(A)に示すように、初回の演算における演算対象画素は、合成対象領域の中央である座標(4,4)の画素となり、参照画素の方向が斜め方向とすると、参照画素として、座標(0,0),(0,8),(8,0),(8,8)の4画素が設定される。演算対象画素と4個の参照画素との距離は均一であるので、演算対象画素の合成結果画像F上の値F(4,4)は、先の(13)式に従い、以下の式で算出される。
F(4,4)=[F(0,0)+F(0,8)+F(8,0)+F(8,8)−{S(0,0)+S(0,8)+S(8,0)+S(8,8)}]/4+S(4,4)
図8(B)に示す2回目の演算では、参照画素の方向が斜め方向、演算距離次数k=1となり、合成結果画像F上での値が既知の画素との距離は√2×2となる。このため、2回目の演算における演算対象画素は、図8(B)に"v1"として示す4画素(座標が(2,2),(6,2),(2,6),(6,6)の4画素)となる。座標(2,2)の演算対象画素に対応する4個の参照画素の座標は(0,0),(4,0),(0,4),(4,4)となり、座標(6,2)の演算対象画素に対応する4個の参照画素の座標は(4,0),(8,0),(4,4),(8,4)となる。また、座標(2,6)の演算対象画素に対応する4個の参照画素の座標は(0,4),(4,4),(0,8),(4,8)となり、座標(6,6)の演算対象画素に対応する4個の参照画素の座標は(4,4),(8,4),(4,8),(8,8)となる。
図8(C)に示す3回目の演算では、参照画素の方向が縦横方向、演算距離次数k=1となり、合成結果画像F上での値が既知の画素との距離は2となる。このため、3回目の演算における演算対象画素は、図8(C)に"u1"として示す4画素(座標が(4,2),(2,4),(6,4),(4,6)の4画素となる。また、例えば座標(4,2)の演算対象画素に対応する4個の参照画素の座標は(2,2),(6,2),(4,0),(4,4)となる。
図8(D)に示す4回目の演算では、参照画素の方向が斜め方向、演算距離次数k=0となり、合成結果画像F上での値が既知の画素との距離は√2となる。このため、4回目の演算における演算対象画素は、図8(D)に"v0"として示す16画素となる。また、個々の演算対象画素に対応する4個の参照画素は、個々の演算対象画素から斜め方向に相当する4方向に沿って距離√2だけ隔てた位置に存在する画素となる。
図8(E)に示す5回目の演算では、参照画素の方向が縦横方向、演算距離次数k=0となり、合成結果画像F上での値が既知の画素との距離は1となる。このため、5回目の演算における演算対象画素は、図8(D)に"u0"として示す24画素となる。また、個々の演算対象画素に対応する4個の参照画素は、個々の演算対象画素から縦横方向に相当する4方向に沿って隣接する画素となる。この5回目の演算により、合成対象領域の全画素について演算が完了する。
また図9には、合成対象領域が、境界γを含む1辺の長さが9画素×8画素の長方形で、演算距離次数k=2(22+1+1=9)の場合の処理過程を示す。
図9(A)に示すように、初回の演算における演算対象画素は、合成対象領域のおよそ中央である座標(4,4)の画素となり、参照画素の方向が縦横方向とすると、参照画素として、座標(4,0),(0,4),(8,4),(4,7)の4画素が設定される。演算対象画素と4個の参照画素との距離は不均一であるので、演算対象画素の合成結果画像F上の値F(4,4)は、先の(14)式に従って演算される。
図9(B)に示す2回目の演算では、参照画素の方向が斜め方向、演算距離次数k=1となり、合成結果画像F上での値が既知の画素との距離は√2×2となる。但し、合成結果画像F上での値が既知の画素との距離が√2×2となる演算対象画素は、図9(B)に"v1"として示す2画素(座標(2,2),(6,2)の2画素)である。このうち、座標(2,2)の演算対象画素に対応する4個の参照画素の座標は(0,0),(4,0),(0,4),(4,4)となる。また、演算対象画素v1の合成結果画像F上の値は先の(13)式に従って各々演算される。また、合成結果画像F上での値が既知の画素との距離が√2×2と相違する演算対象画素は、図9(B)に"v1'"として示す2画素(座標(2,6),(6,6)の2画素)である。このうち、座標(2,6)の演算対象画素に対応する4個の参照画素の座標は(0,4),(4,4),(1,7),(3,7)となる。また、演算対象画素v1'の合成結果画像F上の値は先の(14)式に従って各々演算される。
図9(C)に示す3回目の演算では、参照画素の方向が縦横方向、演算距離次数k=1となり、合成結果画像F上での値が既知の画素との距離は2となる。但し、合成結果画像F上での値が既知の画素との距離が2となる演算対象画素は、図9(C)に"u1"として示す3画素(座標(4,2),(2,4),(6,4)の3画素)である。このうち、座標(4,2)の演算対象画素に対応する4個の参照画素の座標は(2,2),(6,2),(4,0),(4,4)となる。また、演算対象画素u1の合成結果画像F上の値は先の(13)式に従って各々演算される。また、合成結果画像F上での値が既知の画素との距離が2と相違する演算対象画素は、図9(B)に"u1'"として示す1画素(座標(4,6)の画素)である。この座標(4,6)の演算対象画素に対応する4個の参照画素の座標は(4,4),(2,6),(6,6),(4,7)となる。また、演算対象画素u1'の合成結果画像F上の値は先の(14)式に従って演算される。
図9(D)に示す4回目の演算では、参照画素の方向が斜め方向、演算距離次数k=0となり、合成結果画像F上での値が既知の画素との距離は√2となる。このため、4回目の演算における演算対象画素は、図9(D)に"v0"として示す12画素となる。また、個々の演算対象画素に対応する4個の参照画素は、個々の演算対象画素から斜め方向に相当する4方向に沿って距離√2だけ隔てた位置に存在する画素となる。演算対象画素v0の合成結果画像F上の値は先の(13)式に従って各々演算される。
図9(E)に示す5回目の演算では、参照画素の方向が縦横方向、演算距離次数k=0となり、合成結果画像F上での値が既知の画素との距離は1となる。このため、5回目の演算における演算対象画素は、図9(E)に"u0"として示す21画素となる。また、個々の演算対象画素に対応する4個の参照画素は、個々の演算対象画素から縦横方向に相当する4方向に沿って隣接する画素となる。演算対象画素u0の合成結果画像F上の値は先の(13)式に従って各々演算される。この5回目の演算により、合成対象領域の全画素について演算が完了する。
また図10には、合成対象領域が、非矩形状で、演算距離次数k=2の場合の処理過程を示す。
図10(B)に示すように、初回の演算における演算対象画素は、合成対象領域のおよそ中央である座標(4,4)の画素となり、参照画素の方向が斜め方向とすると、参照画素として、座標(1,1),(7,1),(1,7),(7,7)の4画素が設定される。この場合、演算対象画素と4個の参照画素との距離は均一であるので、演算対象画素の合成結果画像F上の値Fは、先の(13)式に従って演算される。
図10(C)に示す2回目の演算では、参照画素の方向が斜め方向、演算距離次数k=1となり、合成結果画像F上での値が既知の画素との距離は√2×2となる。但し、合成結果画像F上での値が既知の画素との距離が√2×2となる演算対象画素は存在せず、図10(C)に"v1'"として示す4画素(座標(2,2),(6,2),(2,6),(6,6)の画素)は、何れも値が既知の画素との距離が√2×2と相違している。このうち、座標(2,4)の演算対象画素に対応する4個の参照画素の座標は(0,4),(2,2),(4,4),(2,6)となる。演算対象画素v1'の合成結果画像F上の値は先の(14)式に従って各々演算される。
図10(D)に示す3回目の演算では、参照画素の方向が縦横方向、演算距離次数k=1となり、合成結果画像F上での値が既知の画素との距離は2となる。但し、合成結果画像F上での値が既知の画素との距離が2となる演算対象画素は、図10(D)に"u1"として示す3画素(座標(2,4),(6,4),(4,6)の3画素)である。このうち、座標(2,4)の演算対象画素に対応する4個の参照画素の座標は(2,2),(0,4),(4,4),(2,6)となる。演算対象画素u1の合成結果画像F上の値は先の(13)式に従って各々演算される。また、合成結果画像F上での値が既知の画素との距離が2と相違する演算対象画素は、図10(D)に"u1'"として示す1画素(座標(4,2)の画素)である。この座標(4,2)の演算対象画素に対応する4個の参照画素の座標は(4,1),(2,2),(6,2),(4,4)となる。演算対象画素u1'の合成結果画像F上の値は先の(14)式に従って演算される。
図10(E)に示す4回目の演算では、参照画素の方向が斜め方向、演算距離次数k=0となり、合成結果画像F上での値が既知の画素との距離は√2となる。このため、4回目の演算における演算対象画素は、図9(D)に"v0"として示す10画素となる。また、個々の演算対象画素に対応する4個の参照画素は、個々の演算対象画素から斜め方向に相当する4方向に沿って距離√2だけ隔てた位置に存在する画素となる。演算対象画素v0の合成結果画像F上の値は先の(13)式に従って各々演算される。
図10(F)に示す5回目の演算では、参照画素の方向が縦横方向、演算距離次数k=0となり、合成結果画像F上での値が既知の画素との距離は1となる。このため、5回目の演算における演算対象画素は、図10(F)に"u0"として示す19画素となる。また、個々の演算対象画素に対応する4個の参照画素は、個々の演算対象画素から縦横方向に相当する4方向に沿って隣接する画素となる。演算対象画素u0の合成結果画像F上の値は先の(13)式に従って各々演算される。この5回目の演算により、合成対象領域の全画素について演算が完了する。
このように、本実施形態で説明した合成結果画像生成処理は、合成対象領域が矩形状であるか非矩形状であるかに拘わらず、合成対象領域の各画素の合成結果画像F上の値が、各画素毎に1回の演算で求まり、時間の掛かる繰り返し演算が不要となる。また、演算対象画素に対する参照画素の方向を、縦横方向と斜め方向の2方向に限っているので、MVCのように初期化処理に時間が掛かることはなく、合成結果画像Fを短時間で得ることができる。
また、画像処理装置10では、色要素合成部28及び動画像出力部30により、画像合成部22〜26の何れかの合成結果画像合成部38から合成結果画像Fが合成された画像入力される度に、図5に示す色要素合成処理が行われる。この色要素合成処理のステップ220において、色要素合成部28は、同一フレームの全色要素の画像が画像合成部22〜26から各々入力されたか否か判定する。ステップ220の判定が否定された場合は、入力された合成結果画像Fをメモリ64等に記憶させ、色要素合成処理を一旦終了する。
また、同一フレームの全色要素の画像が画像合成部22〜26から各々入力されると、ステップ220の判定が肯定されてステップ222へ移行する。ステップ222において、色要素合成部28は、同一フレームの全ての色要素の画像(合成結果画像Fを合成した画像)を単一のカラー画像として合成する。また、動画像出力部30は、色要素合成部28によって生成された画像を、マスク画像を合成した動画像のN番目のフレームの画像として出力する。
なお、上記では合成対象領域として人物の顔に相当する顔領域を適用した態様を説明したが、これに限定されるものではなく、顔領域以外の他の領域を適用してもよい。例えばプライバシーの保護が目的であれば、合成対象領域として顔領域のうちの眼部領域を適用し、当該合成領域に異なる人物の眼部を表すマスク画像を合成することも、個人の特定を阻止することに有効であるので好ましい。合成対象領域として眼部領域を適用した場合、マスク画像としては、動画像中に被写体として写っている人物以外の他の人の眼部領域を表す画像や、複数の人の平均的な眼部領域を表す画像等が設定される。
また、上記では開示の技術を、動画像の各フレーム中に存在する人物に対応する合成対象領域に、プライバシーの保護を図る目的で設定したマスク画像を合成する態様を説明したが、これに限られるものではない。開示の技術は、マスク画像以外の一般的な画像の合成に適用することも可能であり、合成対象領域は動画像の各フレーム中に存在する人物に対応する領域に限られるものではなく、合成画像もプライバシーの保護を図る目的で設定したマスク画像に限られない。また、合成画像(マスク画像)は静止画像に限られるものではなく、合成画像として動画像を適用することも可能である。
また、上記では開示の技術に係る画像処理プログラムの一例であるマスク合成プログラムが記憶部66に予め記憶(インストール)されている態様を説明したが、これに限定されるものではない。開示の技術に係る画像処理プログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されている形態で提供することも可能である。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
画像中の合成対象領域のうち、前記合成対象領域に合成画像を合成した結果に相当し前記合成対象領域の境界上の画素の値が保存される合成結果画像上での値が未知の画素で、当該画素に対して所定の複数の方向に値が既知の画素が各々存在している画素を演算対象画素に設定すると共に、設定した前記演算対象画素に対して前記所定の複数の方向の何れかに各々存在しており値が既知の複数の画素を参照画素に各々設定する設定ステップと、
前記設定ステップで設定した複数の前記参照画素の前記合成結果画像上での値及び前記合成画像上での値に基づいて、前記設定ステップで設定した前記演算対象画素の前記合成結果画像上での値を演算する演算ステップと、
前記合成対象領域の全ての画素について前記合成結果画像上での値が演算される迄、前記設定ステップでの前記演算対象画素及び前記参照画素の設定と前記演算ステップでの前記演算対象画素の値の演算を繰り返させた後に、得られた前記合成結果画像を前記画像中の合成対象領域の画像と置き換える合成ステップと、
を含む画像処理方法。
(付記2)
前記設定ステップは、前記演算対象画素及び前記参照画素の設定を1回行う度に、前記所定の複数の方向を、前記演算対象画素から縦横に延びる4方向、又は、前記演算対象画素から斜めに延びる4方向へ切替える付記1記載の画像処理方法。
(付記3)
前記演算ステップは、4個の前記参照画素の前記合成結果画像F上での値をF1,F2,F3,F4、4個の前記参照画素の前記合成画像S上での値をS1,S2,S3,S4、前記演算対象画素の前記合成画像S上での値をS(x,y)としたときに、前記演算対象画素の前記合成結果画像F上での値F(x,y)を、
F(x,y)=[F1+F2+F3+F4−{S1+S2+S3+S4}]/4+S(x,y) …(1)
上記の(1)式に従って求める付記1又は付記2記載の画像処理方法。
(付記4)
前記演算ステップは、前記演算対象画素と複数の前記参照画素との距離が一定でない場合に、個々の前記参照画素に対して前記演算対象画素との距離に応じた重み付けを行って、前記演算対象画素の前記合成結果画像上での値を演算する付記1又は付記2記載の画像処理方法。
(付記5)
前記演算ステップは、前記演算対象画素の座標を(x,y)、4個の前記参照画素の座標を(x−a,y),(x+b,y),(x,y−c),(x,y+d)、4個の前記参照画素の前記合成結果画像F上での値をF(x−a,y),F(x+b,y),F(x,y−c),F(x,y+d)、4個の前記参照画素の前記合成画像S上での値をS(x−a,y),S(x+b,y),S(x,y−c),S(x,y+d)、前記演算対象画素の前記合成画像S上での値をS(x,y)としたときに、前記演算対象画素の前記合成結果画像F上での値F(x,y)を、
F(x,y)=[acd×F(x+b,y)+bcd×F(x−a,y)+abc×F(x,y+d)+abd×F(x,y−c)−{acd×S(x+b,y)+bcd×S(x−a,y)+abc×S(x,y+d)+abd×S(x,y−c)}]/(acd+bcd+abc+abd)+S(x,y) …(2)
上記の(2)式に従って求める付記4記載の画像処理方法。
(付記6)
前記設定ステップは、前記演算対象画素を最初に設定する際に、前記合成対象領域の中央又は中央付近に位置している画素を前記演算対象画素に設定し、設定した前記演算対象画素に対して前記所定の複数の方向の何れかに各々存在しており、前記合成対象領域の境界上の画素を前記参照画素に設定する付記1〜付記5の何れか1項記載の画像処理方法。
(付記7)
前記合成ステップは、前記合成対象領域の全ての画素について前記合成結果画像上での値が演算される迄、前記設定ステップでの前記演算対象画素及び前記参照画素の設定と前記演算ステップでの前記演算対象画素の値の演算を繰り返させることを、動画像の各フレームの画像に対して順に行わせると共に、動画像の特定のフレームの画像から得られた前記合成結果画像を、前記特定のフレームの画像中の合成対象領域の画像と置き換えることを、動画像の各フレームに対して順に行う付記1〜付記6の何れか1項記載の画像処理方法。
(付記8)
前記画像は複数の色要素を含む画像であり、
前記演算ステップは、前記演算対象画素の前記合成結果画像上での値を各色要素毎に各々演算し、
前記合成ステップは、各色要素毎に得られた前記合成結果画像を前記画像中の前記合成対象領域の画像と置き換えることを各色要素毎に各々行う付記1〜付記7の何れか1項記載の画像処理方法。
(付記9)
前記合成対象領域は人物の顔又は顔の一部分に対応する領域である付記1〜付記8の何れか1項記載の画像処理方法。
(付記10)
画像中の合成対象領域のうち、前記合成対象領域に合成画像を合成した結果に相当し前記合成対象領域の境界上の画素の値が保存される合成結果画像上での値が未知の画素で、当該画素に対して所定の複数の方向に値が既知の画素が各々存在している画素を演算対象画素に設定すると共に、設定した前記演算対象画素に対して前記所定の複数の方向の何れかに各々存在しており値が既知の複数の画素を参照画素に各々設定する設定部と、
前記設定部によって設定された複数の前記参照画素の前記合成結果画像上での値及び前記合成画像上での値に基づいて、前記設定部によって設定された前記演算対象画素の前記合成結果画像上での値を演算する演算部と、
前記合成対象領域の全ての画素について前記合成結果画像上での値が演算される迄、前記設定部による前記演算対象画素及び前記参照画素の設定と前記演算部による前記演算対象画素の値の演算を繰り返させた後に、得られた前記合成結果画像を前記画像中の合成対象領域の画像と置き換える合成部と、
を含む画像処理装置。
(付記11)
前記設定部は、前記演算対象画素及び前記参照画素の設定を1回行う度に、前記所定の複数の方向を、前記演算対象画素から縦横に延びる4方向、又は、前記演算対象画素から斜めに延びる4方向へ切替える付記10記載の画像処理装置。
(付記12)
前記演算部は、4個の前記参照画素の前記合成結果画像F上での値をF1,F2,F3,F4、4個の前記参照画素の前記合成画像S上での値をS1,S2,S3,S4、前記演算対象画素の前記合成画像S上での値をS(x,y)としたときに、前記演算対象画素の前記合成結果画像F上での値F(x,y)を、
F(x,y)=[F1+F2+F3+F4−{S1+S2+S3+S4}]/4+S(x,y) …(1)
上記の(1)式に従って求める付記10又は付記11記載の画像処理装置。
(付記13)
前記演算部は、前記演算対象画素と複数の前記参照画素との距離が一定でない場合に、個々の前記参照画素に対して前記演算対象画素との距離に応じた重み付けを行って、前記演算対象画素の前記合成結果画像上での値を演算する付記10又は付記11記載の画像処理装置。
(付記14)
前記演算部は、前記演算対象画素の座標を(x,y)、4個の前記参照画素の座標を(x−a,y),(x+b,y),(x,y−c),(x,y+d)、4個の前記参照画素の前記合成結果画像F上での値をF(x−a,y),F(x+b,y),F(x,y−c),F(x,y+d)、4個の前記参照画素の前記合成画像S上での値をS(x−a,y),S(x+b,y),S(x,y−c),S(x,y+d)、前記演算対象画素の前記合成画像S上での値をS(x,y)としたときに、前記演算対象画素の前記合成結果画像F上での値F(x,y)を、
F(x,y)=[acd×F(x+b,y)+bcd×F(x−a,y)+abc×F(x,y+d)+abd×F(x,y−c)−{acd×S(x+b,y)+bcd×S(x−a,y)+abc×S(x,y+d)+abd×S(x,y−c)}]/(acd+bcd+abc+abd)+S(x,y) …(2)
上記の(2)式に従って求める付記13記載の画像処理装置。
(付記15)
前記設定部は、前記演算対象画素を最初に設定する際に、前記合成対象領域の中央又は中央付近に位置している画素を前記演算対象画素に設定し、設定した前記演算対象画素に対して前記所定の複数の方向の何れかに各々存在しており、前記合成対象領域の境界上の画素を前記参照画素に設定する付記10〜付記14の何れか1項記載の画像処理装置。
(付記16)
前記合成部は、前記合成対象領域の全ての画素について前記合成結果画像上での値が演算される迄、前記設定部による前記演算対象画素及び前記参照画素の設定と前記演算部による前記演算対象画素の値の演算を繰り返させることを、動画像の各フレームの画像に対して順に行わせると共に、動画像の特定のフレームの画像から得られた前記合成結果画像を、前記特定のフレームの画像中の合成対象領域の画像と置き換えることを、動画像の各フレームに対して順に行う付記10〜付記15の何れか1項記載の画像処理装置。
(付記17)
前記画像は複数の色要素を含む画像であり、
前記演算部は、前記演算対象画素の前記合成結果画像上での値を各色要素毎に各々演算し、
前記合成部は、各色要素毎に得られた前記合成結果画像を前記画像中の前記合成対象領域の画像と置き換えることを各色要素毎に各々行う付記10〜付記16の何れか1項記載の画像処理装置。
(付記18)
前記合成対象領域は人物の顔又は顔の一部分に対応する領域である付記10〜付記17の何れか1項記載の画像処理装置。
(付記19)
コンピュータに、
画像中の合成対象領域のうち、前記合成対象領域に合成画像を合成した結果に相当し前記合成対象領域の境界上の画素の値が保存される合成結果画像上での値が未知の画素で、当該画素に対して所定の複数の方向に値が既知の画素が各々存在している画素を演算対象画素に設定すると共に、設定した前記演算対象画素に対して前記所定の複数の方向の何れかに各々存在しており値が既知の複数の画素を参照画素に各々設定する設定ステップと、
前記設定ステップで設定した複数の前記参照画素の前記合成結果画像上での値及び前記合成画像上での値に基づいて、前記設定ステップで設定した前記演算対象画素の前記合成結果画像上での値を演算する演算ステップと、
前記合成対象領域の全ての画素について前記合成結果画像上での値が演算される迄、前記設定ステップでの前記演算対象画素及び前記参照画素の設定と前記演算ステップでの前記演算対象画素の値の演算を繰り返させた後に、得られた前記合成結果画像を前記画像中の合成対象領域の画像と置き換える合成ステップと、
を含む処理を実行させるための画像処理プログラム。
10 画像処理装置
12 動画像取得部
14 マスク画像取得部
16 合成対象領域検出部
18,20 色要素分離部
22 画像合成部
28 色要素合成部
30 動画像出力部
32 演算対象/参照画素設定部
34 マスク画像保持部
36 合成結果画像演算部
38 合成結果画像合成部
60 コンピュータ
62 CPU
64 メモリ
66 記憶部
76 マスク合成プログラム

Claims (11)

  1. 画像中の合成対象領域のうち、前記合成対象領域に合成画像を合成した結果に相当し前記合成対象領域の境界上の画素の値が保存される合成結果画像上での値が未知の画素で、当該画素に対して所定の複数の方向に値が既知の画素が各々存在している画素を演算対象画素に設定すると共に、設定した前記演算対象画素に対して前記所定の複数の方向の何れかに各々存在しており値が既知の複数の画素を参照画素に各々設定する設定ステップと、
    前記設定ステップで設定した複数の前記参照画素の前記合成結果画像上での値及び前記合成画像上での値と、前記演算対象画素の合成画像上での値と、に基づいて、前記設定ステップで設定した前記演算対象画素の前記合成結果画像上での値を演算する演算ステップと、
    前記合成対象領域の全ての画素について前記合成結果画像上での値が演算される迄、前記設定ステップでの前記演算対象画素及び前記参照画素の設定と前記演算ステップでの前記演算対象画素の値の演算を繰り返させた後に、得られた前記合成結果画像を前記画像中の合成対象領域の画像と置き換える合成ステップと、
    を含む画像処理方法。
  2. 前記設定ステップは、前記演算対象画素及び前記参照画素の設定を1回行う度に、前記所定の複数の方向を、前記演算対象画素から縦横に延びる4方向、又は、前記演算対象画素から斜めに延びる4方向へ切替える請求項1記載の画像処理方法。
  3. 前記演算ステップは、4個の前記参照画素の前記合成結果画像F上での値をF1,F2,F3,F4、4個の前記参照画素の前記合成画像S上での値をS1,S2,S3,S4、前記演算対象画素の前記合成画像S上での値をS(x,y)としたときに、前記演算対象画素の前記合成結果画像F上での値F(x,y)を、
    F(x,y)=[F1+F2+F3+F4−{S1+S2+S3+S4}]/4+S(x,y) …(1)
    上記の(1)式に従って求める請求項1又は請求項2記載の画像処理方法。
  4. 前記演算ステップは、前記演算対象画素と複数の前記参照画素との距離が一定でない場合に、個々の前記参照画素に対して前記演算対象画素との距離に応じた重み付けを行って、前記演算対象画素の前記合成結果画像上での値を演算する請求項1又は請求項2記載の画像処理方法。
  5. 前記演算ステップは、前記演算対象画素の座標を(x,y)、4個の前記参照画素の座標を(x−a,y),(x+b,y),(x,y−c),(x,y+d)、4個の前記参照画素の前記合成結果画像F上での値をF(x−a,y),F(x+b,y),F(x,y−c),F(x,y+d)、4個の前記参照画素の前記合成画像S上での値をS(x−a,y),S(x+b,y),S(x,y−c),S(x,y+d)、前記演算対象画素の前記合成画像S上での値をS(x,y)としたときに、前記演算対象画素の前記合成結果画像F上での値F(x,y)を、
    F(x,y)=[acd×F(x+b,y)+bcd×F(x−a,y)+abc×F(x,y+d)+abd×F(x,y−c)−{acd×S(x+b,y)+bcd×S(x−a,y)+abc×S(x,y+d)+abd×S(x,y−c)}]/(acd+bcd+abc+abd)+S(x,y) …(2)
    上記の(2)式に従って求める請求項4記載の画像処理方法。
  6. 前記設定ステップは、前記演算対象画素を最初に設定する際に、前記合成対象領域の中央又は中央付近に位置している画素を前記演算対象画素に設定し、設定した前記演算対象画素に対して前記所定の複数の方向の何れかに各々存在しており、前記合成対象領域の境界上の画素を前記参照画素に設定する請求項1〜請求項5の何れか1項記載の画像処理方法。
  7. 前記合成ステップは、前記合成対象領域の全ての画素について前記合成結果画像上での値が演算される迄、前記設定ステップでの前記演算対象画素及び前記参照画素の設定と前記演算ステップでの前記演算対象画素の値の演算を繰り返させることを、動画像の各フレームの画像に対して順に行わせると共に、動画像の特定のフレームの画像から得られた前記合成結果画像を、前記特定のフレームの画像中の合成対象領域の画像と置き換えることを、動画像の各フレームに対して順に行う請求項1〜請求項6の何れか1項記載の画像処理方法。
  8. 前記画像は複数の色要素を含む画像であり、
    前記演算ステップは、前記演算対象画素の前記合成結果画像上での値を各色要素毎に各々演算し、
    前記合成ステップは、各色要素毎に得られた前記合成結果画像を前記画像中の前記合成対象領域の画像と置き換えることを各色要素毎に各々行う請求項1〜請求項7の何れか1項記載の画像処理方法。
  9. 前記合成対象領域は人物の顔又は顔の一部分に対応する領域である請求項1〜請求項8の何れか1項記載の画像処理方法。
  10. 画像中の合成対象領域のうち、前記合成対象領域に合成画像を合成した結果に相当し前記合成対象領域の境界上の画素の値が保存される合成結果画像上での値が未知の画素で、当該画素に対して所定の複数の方向に値が既知の画素が各々存在している画素を演算対象画素に設定すると共に、設定した前記演算対象画素に対して前記所定の複数の方向の何れかに各々存在しており値が既知の複数の画素を参照画素に各々設定する設定部と、
    前記設定部によって設定された複数の前記参照画素の前記合成結果画像上での値及び前記合成画像上での値と、前記演算対象画素の合成画像上での値と、に基づいて、前記設定部によって設定された前記演算対象画素の前記合成結果画像上での値を演算する演算部と、
    前記合成対象領域の全ての画素について前記合成結果画像上での値が演算される迄、前記設定部による前記演算対象画素及び前記参照画素の設定と前記演算部による前記演算対象画素の値の演算を繰り返させた後に、得られた前記合成結果画像を前記画像中の合成対象領域の画像と置き換える合成部と、
    を含む画像処理装置。
  11. コンピュータに、
    画像中の合成対象領域のうち、前記合成対象領域に合成画像を合成した結果に相当し前記合成対象領域の境界上の画素の値が保存される合成結果画像上での値が未知の画素で、当該画素に対して所定の複数の方向に値が既知の画素が各々存在している画素を演算対象画素に設定すると共に、設定した前記演算対象画素に対して前記所定の複数の方向の何れかに各々存在しており値が既知の複数の画素を参照画素に各々設定する設定ステップと、
    前記設定ステップで設定した複数の前記参照画素の前記合成結果画像上での値及び前記合成画像上での値と、前記演算対象画素の合成画像上での値と、に基づいて、前記設定ステップで設定した前記演算対象画素の前記合成結果画像上での値を演算する演算ステップと、
    前記合成対象領域の全ての画素について前記合成結果画像上での値が演算される迄、前記設定ステップでの前記演算対象画素及び前記参照画素の設定と前記演算ステップでの前記演算対象画素の値の演算を繰り返させた後に、得られた前記合成結果画像を前記画像中の合成対象領域の画像と置き換える合成ステップと、
    を含む処理を実行させるための画像処理プログラム。
JP2012059038A 2012-03-15 2012-03-15 画像処理方法、装置及びプログラム Expired - Fee Related JP5838874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012059038A JP5838874B2 (ja) 2012-03-15 2012-03-15 画像処理方法、装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012059038A JP5838874B2 (ja) 2012-03-15 2012-03-15 画像処理方法、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2013196014A JP2013196014A (ja) 2013-09-30
JP5838874B2 true JP5838874B2 (ja) 2016-01-06

Family

ID=49394958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012059038A Expired - Fee Related JP5838874B2 (ja) 2012-03-15 2012-03-15 画像処理方法、装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5838874B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000030040A (ja) * 1998-07-14 2000-01-28 Canon Inc 画像処理装置及びコンピュータ読み取り可能な記憶媒体
US7796787B2 (en) * 2007-02-03 2010-09-14 Arcsoft, Inc. Face component replacement

Also Published As

Publication number Publication date
JP2013196014A (ja) 2013-09-30

Similar Documents

Publication Publication Date Title
JP6561216B2 (ja) 光学フローを使用した中間ビューの生成
JP5949481B2 (ja) 画像処理方法、プログラム及び装置
JP6716996B2 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
US8374428B2 (en) Color balancing for partially overlapping images
US8487926B2 (en) Method and apparatus for generating 3D image using 2D photograph images
EP3929867A2 (en) Image fusion method and portable terminal
US9367920B2 (en) Method and apparatus for processing images
US10818018B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
US10839529B2 (en) Image processing apparatus and image processing method, and storage medium
JP7328096B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2010066803A (ja) 画像処理装置および方法、並びにプログラム
JP2012194751A (ja) 画像処理方法、画像処理装置及びコンピュータプログラム
KR102158390B1 (ko) 영상 처리 방법 및 장치
CN108960012B (zh) 特征点检测方法、装置及电子设备
JP2013012045A (ja) 画像処理方法、画像処理装置及びコンピュータプログラム
JP6425511B2 (ja) 地物異動判別方法及び地物異動判別装置並びに地物異動判別プログラム
JP6956325B2 (ja) レーン特定方法およびレーン特定装置
JP5807555B2 (ja) 画像処理プログラム、装置及び方法
Poleg et al. Alignment and mosaicing of non-overlapping images
KR101362183B1 (ko) 카메라 자세 기반의 깊이 영상 노이즈 제거 장치 및 방법
JP5838874B2 (ja) 画像処理方法、装置及びプログラム
US9270883B2 (en) Image processing apparatus, image pickup apparatus, image pickup system, image processing method, and non-transitory computer-readable storage medium
JP5799859B2 (ja) 画像処理方法、プログラム及び装置
JP6938282B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2010193154A (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150914

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151013

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151026

R150 Certificate of patent or registration of utility model

Ref document number: 5838874

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees