(57)【特許請求の範囲】
【請求項１】
動画像のＮ番目のフレームに対応する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレームに対応する合成対象領域の外縁に相当する境界と、の差分値を演算し、
差分画像の境界の画素値が演算した前記差分値を維持しながら、前記差分画像の境界の内部の領域が所定の勾配条件に合致するように前記差分画像を生成し、
前記Ｎ−１番目のフレームに対して求めた、前記Ｎ−１番目のフレーム中の前記合成対象領域に合成画像を合成した結果に相当する合成結果画像に、生成した前記差分画像を加算した画像を、前記Ｎ番目のフレームに対する前記合成結果画像として求め、求めた前記Ｎ番目のフレームに対する前記合成結果画像を、前記Ｎ番目のフレーム中の前記合成対象領域の画像と置き換える
ことを含む画像処理方法。
【請求項２】
前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、の差分値を演算し、
前記差分画像の生成において、前記差分画像の境界の画素値が演算した前記差分値を維持しながら、前記差分画像の境界の内部が、前記所定の勾配条件として前記差分画像の境界の内部の領域の二次微分値が０に近づくように前記差分画像を生成する請求項１記載の画像処理方法。
【請求項３】
前記差分値を演算し、前記差分画像を生成し、前記合成結果画像を求めて前記合成対象領域の画像と置き換えることを、前記差分値を演算し、前記差分画像を生成し、前記合成結果画像を求めて前記合成対象領域の画像と置き換えることの合計処理時間内に入力される前記動画像のフレーム数分だけ並列に処理する請求項２記載の画像処理方法。
【請求項４】
前記合成結果画像を求めて前記合成対象領域の画像と置き換えることで求めた前記Ｎ番目のフレームに対する前記合成結果画像を二次微分した画像と、前記合成画像を二次微分した画像と、の差分を誤差画像として求め、
前記差分画像の生成は、前記Ｎ番目のフレームに対する前記合成結果画像から前記誤差画像を求めた場合、Ｎ＋１番目のフレームに対応する差分画像として、前記境界の内部の領域の二次微分値が前記誤差画像に合致する差分画像を生成する請求項２又は請求項３記載の画像処理方法。
【請求項５】
前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、の差分値を演算し、
動画像のＮ番目のフレームに合成する合成画像の二次微分値と、前記動画像のＮ−１番目のフレームに合成する合成画像の二次微分値と、の差分を勾配条件画像として求め、
前記差分画像の生成を、境界の画素値が演算した前記差分値を維持しながら、前記境界の内部が、前記所定の勾配条件として前記勾配条件画像に合致するように行う請求項１記載の画像処理方法。
【請求項６】
動画像のＮ番目のフレームに合成する合成画像と、前記動画像のＮ−１番目のフレームに合成する合成画像と、の差分を求め、求めた差分の二次微分値を、前記勾配条件画像として求める請求項５記載の画像処理方法。
【請求項７】
前記勾配条件画像を予め求めて保持しておき、
前記合成結果画像を求める際に、前記勾配条件画像を読み出して用いる請求項５又は請求項６記載の画像処理方法。
【請求項８】
前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する第１の境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域に合成画像を合成した結果に相当する合成結果画像を前記Ｎ−１番目のフレーム中の前記合成対象領域の画像と置き換えた最終結果画像のうち、前記第１の境界と同一形状の第２の境界と、の差分値を演算し、
動画像のＮ番目のフレームに合成する合成画像の二次微分値と、前記動画像のＮ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像の二次微分値と、の差分を勾配条件画像として求め、
前記差分画像の生成を、境界の画素値が演算した前記差分値を維持しながら、前記境界の内部が、前記所定の勾配条件として前記勾配条件画像に合致するように行い、
前記Ｎ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像に、生成した前記差分画像を加算した画像を、前記Ｎ番目のフレームに対する前記合成結果画像として求め、求めた前記Ｎ番目のフレームに対する前記合成結果画像を、前記Ｎ番目のフレーム中の前記合成対象領域の画像と置き換える請求項１記載の画像処理方法。
【請求項９】
動画像のＮ番目のフレームに合成する合成画像と、前記動画像のＮ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像と、の差分を求め、求めた差分の二次微分値を、前記勾配条件画像として求める請求項８記載の画像処理方法。
【請求項１０】
前記差分値の演算及び前記差分画像の生成を、前記動画像の２番目以降のフレームに対して行い、
前記合成結果画像を求めて前記合成対象領域の画像と置き換える際に、前記動画像の前記１番目のフレームに対しては、境界の画素値が前記動画像の１番目のフレーム中に存在する合成対象領域の境界の画素値のまま維持され、前記境界の内部の領域の二次微分値が前記合成画像の二次微分値に合致する前記合成結果画像を生成する請求項１〜請求項９の何れか１項記載の画像処理方法。
【請求項１１】
前記動画像は前記各フレームが各々カラー画像であり、
前記差分値の演算は各色要素毎に前記差分値を演算し、
前記差分画像の生成は各色要素毎に前記差分画像を生成し、
前記画像合成結果画像の生成は、各色要素毎に前記合成結果画像を生成し、
生成した各色要素毎の前記合成結果画像を前記Ｎ番目のフレームの各色要素毎の画像中の前記合成対象領域の画像と各々置き換える請求項１〜請求項１０の何れか１項記載の画像処理方法。
【請求項１２】
前記合成対象領域は人物の顔又は顔の一部分に対応する領域である請求項１〜請求項１１の何れか１項記載の画像処理方法。
【請求項１３】
コンピュータに、
動画像のＮ番目のフレームに対応する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレームに対応する合成対象領域の外縁に相当する境界と、の差分値を演算し、
差分画像の境界の画素値が演算した前記差分値を維持しながら、前記差分画像の境界の内部の領域が所定の勾配条件に合致するように前記差分画像を生成し、
前記Ｎ−１番目のフレームに対して求めた、前記Ｎ−１番目のフレーム中の前記合成対象領域に合成画像を合成した結果に相当する合成結果画像に、生成した前記差分画像を加算した画像を、前記Ｎ番目のフレームに対する前記合成結果画像として求め、求めた前記Ｎ番目のフレームに対する前記合成結果画像を、前記Ｎ番目のフレーム中の前記合成対象領域の画像と置き換える
ことを含む処理を実行させるための画像処理プログラム。
【請求項１４】
動画像のＮ番目のフレームに対応する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレームに対応する合成対象領域の外縁に相当する境界と、の差分値を演算する差分値演算部と、
差分画像の境界の画素値が前記差分値演算部によって演算された前記差分値を維持しながら、前記差分画像の境界の内部の領域が所定の勾配条件に合致するように前記差分画像を生成する差分画像生成部と、
前記Ｎ−１番目のフレームに対して求められた、前記Ｎ−１番目のフレーム中の前記合成対象領域に合成画像を合成した結果に相当する合成結果画像に、前記差分画像生成部で生成された前記差分画像を加算した画像を、前記Ｎ番目のフレームに対する前記合成結果画像として求め、求めた前記Ｎ番目のフレームに対する前記合成結果画像を、前記Ｎ番目のフレーム中の前記合成対象領域の画像と置き換える画像合成部と、
を含む画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は画像処理方法、画像処理プログラム及び画像処理装置に関する。
【背景技術】
【０００２】
画像に被写体として写っている人物のプライバシーを保護する技術として、前記人物を特定できないように、画像中の前記人物の顔領域にモザイクを掛けたり、前記人物の眼部領域を矩形状にマスクする画像処理が知られている。しかし、上記のような画像処理を行った画像は、一見しただけで加工されていることが明瞭に判別できる画像となり、画像の鑑賞者に不自然な印象を与える。
【０００３】
これを解決するため、マスク画像の勾配情報を用い、画像中の顔領域等の合成対象領域のエッジ(マスク画像との合成境界)を境界条件としてポアソン方程式を解くことで、合成対象領域にマスク画像を合成する技術が提案されている。この技術では、合成対象領域に初期値画像を与え、初期値画像から、各画素の差分がマスク画像の勾配情報とエッジの境界条件を満たす値に収束するまで繰り返し演算を行うことで、合成対象領域にマスク画像を合成した結果に相当する合成結果画像が生成される。
【０００４】
なお、合成対象領域が顔領域である場合、マスク画像としては、例えば他の人物の顔を表す画像や、複数の人の平均的な顔を表す画像を適用することができる。また、初期値画像としては、例えば全面が白で塗り潰された画像や、全面が黒で塗り潰された画像などが用いられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２０４４６６号公報
【非特許文献】
【０００６】
【非特許文献１】Patrick Perez,Michel Gangnet,Andrew Blake,"Poisson Image Editing",Microsoft Reserch UK,2003
【非特許文献２】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
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記技術は、合成したマスク画像との合成境界が目立ちにくい自然な画像が得られるという利点があるものの、繰り返し演算における演算の繰り返し回数が非常に多く、演算量が非常に大きいという欠点も有している。一方、動画像に対して各フレーム中に存在する合成対象領域にマスク画像を各々合成しようとした場合、動画像の中で照明条件が変化すること等を考慮すると、各フレーム毎に合成結果画像を生成する必要がある。このため、上記技術を動画像の各フレームへのマスク画像の合成に適用した場合、演算量が膨大なものとなり、処理に長大な時間が掛かるという課題があった。
【０００８】
開示の技術は、１つの側面として、動画像の各フレーム中に存在する合成対象領域に別の画像を各々合成する際の演算量を削減することが目的である。
【課題を解決するための手段】
【０００９】
開示の技術は、動画像のＮ番目のフレームに対応する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレームに対応する合成対象領域の外縁に相当する境界と、の差分値を演算する。また、境界の画素値が演算した前記差分値を維持しながら、前記境界の内部の領域が所定の勾配条件に合致するように差分画像を生成する。また、前記Ｎ−１番目のフレームに対して求めた、前記Ｎ−１番目のフレーム中の前記合成対象領域に合成画像を合成した結果に相当する合成結果画像に、生成した前記差分画像を加算した画像を、前記Ｎ番目のフレームに対する前記合成結果画像として求める。そして、求めた前記Ｎ番目のフレームに対する前記合成結果画像を、前記Ｎ番目のフレーム中の前記合成対象領域の画像と置き換える。
【発明の効果】
【００１０】
開示の技術は、１つの側面として、動画像の各フレーム中に存在する合成対象領域に別の画像を各々合成する際の演算量を削減することができる、という効果を有する。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係る画像処理装置の機能ブロック図である。
【図２】画像処理装置として機能するコンピュータの概略ブロック図である。
【図３】第１実施形態に係る色要素分離処理の一例を示すフローチャートである。
【図４】第１実施形態に係る境界差分演算処理の一例を示すフローチャートである。
【図５】第１実施形態に係る差分画像演算処理の一例を示すフローチャートである。
【図６】第１実施形態に係る合成結果画像生成処理の一例を示すフローチャートである。
【図７】色要素合成処理の一例を示すフローチャートである。
【図８】境界差分の演算結果の一例を示すイメージ図である。
【図９】第１実施形態における合成結果画像の生成を説明するための概略図である。
【図１０】動画像の各フレームに対する処理のタイミングの一例を示すタイミングチャートである。
【図１１】第２実施形態に係る画像処理装置の機能ブロック図である。
【図１２】第２実施形態に係る差分画像演算処理の一例を示すフローチャートである。
【図１３】第３実施形態に係る画像処理装置の機能ブロック図である。
【図１４】図１３の画像処理装置として機能するコンピュータの概略ブロック図である。
【図１５】第３実施形態に係る色要素分離処理の一例を示すフローチャートである。
【図１６】第３実施形態に係るマスク画像差分演算処理の一例を示すフローチャートである。
【図１７】第３実施形態に係る差分画像演算処理の一例を示すフローチャートである。
【図１８】マスク動画像及びマスク動画像の合成の一例を示すイメージ図である。
【図１９】合成結果画像の生成を説明するための概略図である。
【図２０】第４実施形態に係るマスク画像差分演算処理を示すフローチャートである。
【図２１】図２０のマスク画像差分演算処理を含む合成結果画像の生成を説明するための概略図である。
【図２２】第５実施形態に係る画像処理装置の機能ブロック図である。
【図２３】図２２の画像処理装置として機能するコンピュータの概略ブロック図である。
【図２４】第５実施形態に係る色要素分離処理の一例を示すフローチャートである。
【図２５】第５実施形態に係る境界差分演算処理の一例を示すフローチャートである。
【図２６】第５実施形態に係る勾配条件画像演算処理の一例を示すフローチャートである。
【図２７】第５実施形態に係る差分画像演算処理の一例を示すフローチャートである。
【図２８】第５実施形態に係る合成結果画像生成処理の一例を示すフローチャートである。
【図２９】第５実施形態におけるマスク画像、元画像及び最終結果画像の一例を各々示すイメージ図である。
【図３０】第５実施形態における合成結果画像の生成を説明するための概略図である。
【図３１】第６実施形態に係る勾配条件画像演算処理の一例を示すフローチャートである。
【図３２】第６実施形態における合成結果画像の生成を説明するための概略図である。
【図３３】比較例におけるポアソン方程式を用いたマスク画像の合成を説明するための概略図である。
【図３４】比較例における合成結果画像の生成の一例を説明するための概略図である。
【図３５】比較例における合成結果画像の生成の他の例を説明するための概略図である。
【図３６】比較例における動画像の各フレームに対する処理のタイミングの一例を示すタイミングチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１３】
〔第１実施形態〕
図１には、本第１実施形態に係る画像処理装置１０が示されている。画像処理装置１０は、動画像の各フレーム中に存在する人物の顔領域等の合成対象領域に、予め設定されたマスク画像を合成することで、動画像中に被写体として写っている人物のプライバシーの保護を図るマスク合成処理を行う装置である。画像処理装置１０は、動画像取得部１２、マスク画像取得部１４、合成対象領域検出部１６、２個の色要素分離部１８,２０、３個の画像合成部２２〜２６、色要素合成部２８及び動画像出力部３０を備えている。また、画像合成部２２〜２６は、互いに同一の構成であり、前フレーム画像保持部３２、境界差分演算部３４、マスク画像保持部３６、選択部３８、複数の差分画像演算部４０及び切替部４２を各々備えている。更に、画像合成部２２〜２６は、前フレーム合成結果画像保持部４４及び合成結果画像生成部４６を各々備えている。
【００１４】
動画像取得部１２は、動画像を撮影する機能を備えた撮影装置によって被写体が撮影されることで得られた動画像を、撮影装置又は前記動画像を記憶する記憶部からフレーム単位で取得する。なお、動画像取得部１２は上記の撮影装置を含んだ構成であってもよい。また、画像処理装置１０自体が上記の撮影装置に内蔵されていてもよい。また、例えば撮影装置が、画像処理装置１０として機能する情報機器と通信ケーブルを介して接続される場合、動画像取得部１２は、前記情報機器に設けられ、通信ケーブルを介して撮影装置から画像データを受信することで取得する通信ユニットであってもよい。
【００１５】
マスク画像取得部１４は、動画像の各フレーム中に存在する人物の顔領域等の合成対象領域に合成するためのマスク画像を取得する。前述のように、本実施形態に係るマスク合成処理は、動画像中に被写体として写っている人物のプライバシーの保護等を目的としており、マスク画像は、マスク画像が合成された動画像が前記人物の特定が困難な動画像となるように予め設定される。例えば合成対象領域が人物の顔領域である場合、マスク画像としては、動画像中に被写体として写っている人物以外の他の人の顔を表す画像や、複数の人の平均的な顔を表す画像等が予め設定される。マスク画像取得部１４は、予め設定されて記憶部に記憶されたマスク画像を記憶部から読み出す等の処理を行うことで、マスク画像を取得する。
【００１６】
合成対象領域検出部１６は、動画像取得部１２によって取得された動画像の各フレームの画像に対し、各フレームの画像中に存在している合成対象領域を順次検出し、検出した合成対象領域の画像上の位置及びサイズを動画像の各フレームと共に順次出力する。色要素分離部１８は、動画像取得部１２によって取得された動画像の各フレームの画像を画素毎に複数の色要素に分離し、色要素分離部２０は、マスク画像取得部１４によって取得されたマスク画像を画素毎に複数の色要素に分離する。複数の色要素としては、任意の色空間を規定する色要素を適用可能であり、例えばＲ,Ｇ,ＢやＨ,Ｓ,Ｖ、Ｙ,Ｕ,Ｖ、Ｌ*,ａ*,ｂ*等のうちの何れかを適用することができる。
【００１７】
画像合成部２２〜２６は互いに異なる色要素に対応しており、互いに異なる色要素のフレーム画像が色要素分離部１８,２０から入力される。画像合成部２２〜２６は、互いに異なる色要素について、入力されたフレーム画像中の合成対象領域に入力されたマスク画像を合成する処理を各々行う。
【００１８】
すなわち、前フレーム画像保持部３２は、色要素分離部１８から入力された特定の色要素のフレーム画像のうち、処理対象のフレーム画像(Ｎ番目のフレーム画像)よりも１フレーム前のフレーム画像(Ｎ−１番目のフレーム画像)を保持する。なお、前フレーム画像保持部３２は、例えば２フレーム分の画像のデータを保持可能なＦＩＦＯ(First-in First-out)メモリ等で構成することができる。境界差分演算部３４は、Ｎ番目のフレーム画像中に存在する合成対象領域の外縁に相当する境界と、前フレーム画像保持部３２に保持されたＮ−１番目のフレーム画像中に存在する合成対象領域の外縁に相当する境界と、の特定の色要素の差分値を演算する。なお、境界差分演算部３４は開示の技術における差分値演算部の一例であり、境界差分演算部３４によって実現される処理は開示の技術における差分値を演算することの一例である。
【００１９】
また、マスク画像保持部３６は、色要素分離部２０から入力された特定の色要素のマスク画像を保持する。選択部３８は、境界差分演算部３４によって演算された合成対象領域の境界の特定の色要素の差分値を、複数の差分画像演算部４０のうちの何れか１つに選択的に出力する。複数の差分画像演算部４０は互いに並列に動作し、選択部３８から合成対象領域の境界の特定の色要素の差分値が入力されると、入力された境界の差分値を保存する条件で、境界の内部の領域の二次微分値(二階微分値)が０となる特定の色要素の差分画像を演算により生成する。差分画像演算部４０の数は、例えば画像処理装置１０が動画像のうちの１フレームの画像に対する処理に要する処理時間内に、動画像として入力されるフレーム数と同数とすることができる。
【００２０】
なお、差分画像演算部４０による差分画像の生成は、詳細は後述するが、ポアソン方程式を用いた繰り返し演算によって実現される。差分画像演算部４０は開示の技術における差分画像生成部の一例であり、差分画像演算部４０によって実現される処理は開示の技術における差分画像を生成することの一例である。
【００２１】
切替部４２は、複数の差分画像演算部４０のうちの何れかによって特定の色要素の差分画像が生成される度に、生成された特定の色要素の差分画像を合成結果画像生成部４６へ出力する。前フレーム合成結果画像保持部４４は、Ｎ−１番目のフレーム画像に対して合成結果画像生成部４６で生成された特定の色要素の合成結果画像を保持する。
【００２２】
合成結果画像生成部４６は、フレーム番号Ｎ＝１の場合、Ｎ番目のフレーム画像中に存在する合成対象領域の境界を保存する条件で、境界の内部の領域の二次微分値がマスク画像の二次微分値に合致する特定の色要素の合成結果画像を演算により生成する。そして、生成した特定の色要素の合成結果画像を、Ｎ番目のフレーム画像中の合成対象領域の画像と置き換える画像合成処理を行う。また合成結果画像生成部４６は、フレーム番号Ｎ≧２の場合、前フレーム合成結果画像保持部４４に保持されたＮ−１番目のフレーム画像に対する特定の色要素の合成結果画像に、切替部４２から入力された特定の色要素の差分画像を加算する。そして、この加算によって得られた画像を、Ｎ番目のフレーム画像に対する特定の色要素の合成結果画像として、Ｎ番目のフレーム画像中の合成対象領域の画像と置き換える画像合成処理を行う。なお、合成結果画像生成部４６は開示の技術における画像合成部の一例であり、合成結果画像生成部４６によって実現される処理は開示の技術における画像を合成することの一例である。
【００２３】
色要素合成部２８は、合成結果画像が合成された互いに異なる色要素のフレーム画像が画像合成部２２〜２６から出力される度に、画像合成部２２〜２６から出力された各色要素のフレーム画像を単一のフレーム画像へ合成して出力する。動画像出力部３０は、色要素合成部２８から出力された単一のフレーム画像を、マスク画像が合成された動画像のうちの１フレームの画像として出力する。
【００２４】
画像処理装置１０は、例えば図２に示すコンピュータ６０で実現することができる。コンピュータ６０はＣＰＵ６２、メモリ６４、不揮発性の記憶部６６、キーボード６８、マウス７０、ディスプレイ７２を備え、これらはバス７４を介して互いに接続されている。
【００２５】
また、記憶部６６はＨＤＤ(Hard Disk Drive)やフラッシュメモリ等によって実現できる。記録媒体としての記憶部６６には、コンピュータ６０を画像処理装置１０として機能させるためのマスク合成プログラム７６が記憶されている。ＣＰＵ６２は、マスク合成プログラム７６を記憶部６６から読み出してメモリ６４に展開し、マスク合成プログラム７６が有するプロセスを順次実行する。
【００２６】
マスク合成プログラム７６は、動画像取得プロセス７８、マスク画像取得プロセス８０、合成対象領域検出プロセス８２、色要素分離プロセス８４、画像合成プロセス８６、色要素合成プロセス８８及び動画像出力プロセス９０を有する。ＣＰＵ６２は、動画像取得プロセス７８を実行することで、図１に示す動画像取得部１２として動作する。またＣＰＵ６２は、マスク画像取得プロセス８０を実行することで、図１に示すマスク画像取得部１４として動作する。またＣＰＵ６２は、合成対象領域検出プロセス８２を実行することで、図１に示す合成対象領域検出部１６として動作する。またＣＰＵ６２は、色要素分離プロセス８４を実行することで、図１に示す色要素分離部１８,２０として動作する。またＣＰＵ６２は、画像合成プロセス８６を実行することで、図１に示す画像合成部２２〜２６として動作する。またＣＰＵ６２は、色要素合成プロセス８８を実行することで、図１に示す色要素合成部２８として動作する。またＣＰＵ６２は、動画像出力プロセス９０を実行することで、図１に示す動画像出力部３０として動作する。
【００２７】
また、画像合成プロセス８６は、前フレーム画像保持プロセス９２、境界差分演算プロセス９４、マスク画像保持プロセス９６、選択プロセス９８、差分画像演算プロセス１００、切替プロセス１０２を有する。更に画像合成プロセス８６は、前フレーム合成結果画像保持プロセス１０４及び合成結果画像生成プロセス１０６を有する。ＣＰＵ６２は、前フレーム画像保持プロセス９２を実行することで、図１に示す前フレーム画像保持部３２として動作する。またＣＰＵ６２は、境界差分演算プロセス９４を実行することで、図１に示す境界差分演算部３４として動作する。またＣＰＵ６２は、マスク画像保持プロセス９６を実行することで、図１に示すマスク画像保持部３６として動作する。またＣＰＵ６２は、選択プロセス９８を実行することで、図１に示す選択部３８として動作する。またＣＰＵ６２は、差分画像演算プロセス１００を実行することで、図１に示す複数の差分画像演算部４０として各々動作する。またＣＰＵ６２は、切替プロセス１０２を実行することで、図１に示す切替部４２として動作する。またＣＰＵ６２は、前フレーム合成結果画像保持プロセス１０４を実行することで、図１に示す前フレーム合成結果画像保持部４４として動作する。またＣＰＵ６２は、合成結果画像生成プロセス１０６を実行することで、図１に示す合成結果画像生成部４６として動作する。
【００２８】
これにより、マスク合成プログラム７６を実行したコンピュータ６０が、画像処理装置１０として機能することになる。なお、マスク合成プログラム７６は開示の技術における画像処理プログラムの一例である。
【００２９】
なお、画像処理装置１０は、例えば半導体集積回路、より詳しくはＡＳＩＣ(Application Specific Integrated Circuit)等で実現することも可能である。
【００３０】
次に、本第１実施形態の作用の説明に先立ち、従来のマスク画像の合成(合成結果画像の演算)について説明する。従来のマスク画像の合成は、マスク画像の勾配情報(二次微分値)を用い、合成対象領域のエッジ(マスク画像との合成境界)を境界条件としてポアソン方程式を解き、合成結果画像を求めることによって成される。具体的には、例えば以下の演算処理によって実現される(図３３も参照)。
【００３１】
すなわち、マスク画像をＳ(幅Ｗ,高さＨ)、合成対象領域をＴ(幅Ｗ,高さＨ)、初期値画像をＩ(幅Ｗ,高さＨ)、合成結果画像をＦとしたときに、マスク画像Ｓのラプラシアンフィルタ適用値ＬＳは次の(１)式で表される。
ＬＳ(ｘ,ｙ)＝Ｓ(ｘ-1,ｙ)＋Ｓ(ｘ+1,ｙ)＋Ｓ(ｘ,ｙ-1)＋Ｓ(ｘ,ｙ+1)−４Ｓ(ｘ,ｙ)
…(１)
但し、画像の端は算出先とならないので、マスク画像Ｓの幅をＷ、高さをＨとすると、
０＜ｘ＜Ｗ、０＜ｙ＜Ｈ
である。画像の外縁は合成対象領域の画素値(境界γ)とする(次の(２)式参照)。
Ｆ(ｘ,ｙ)＝Ｔ(ｘ,ｙ)  (ｘ＝０又はｙ＝０又はｘ＝Ｗ又はｙ＝Ｈのとき)  …(２)
【００３２】
また、合成結果画像Ｆのラプラシアンフィルタ適用値ＬＦをマスク画像Ｓのラプラシアンフィルタ適用値ＬＳと一致させる(次の(３)式参照)。
ＬＦ(ｘ,ｙ)＝ＬＳ(ｘ,ｙ)  …(３)
上記(２),(３)式の方程式を解くことで、合成対象領域Ｔの全領域で合成結果画像Ｆ(ｘ,ｙ)の値を得ることができる。
【００３３】
上記の方程式は、以下のようにして解くことができる。すなわち、合成結果画像Ｆのラプラシアンフィルタ適用値ＬＦは次の(４)式で表される。
ＬＦ(ｘ,ｙ)＝Ｆ(ｘ-1,ｙ)＋Ｆ(ｘ+1,ｙ)＋Ｆ(ｘ,ｙ-1)＋Ｆ(ｘ,ｙ+1)−４Ｆ(ｘ,ｙ)
…(４)
また、前出の(３)式より次の(５)式が得られる。
Ｆ(ｘ,ｙ)＝{Ｆ(ｘ-1,ｙ)＋Ｆ(ｘ+1,ｙ)＋Ｆ(ｘ,ｙ-1)＋Ｆ(ｘ,ｙ+1)−ＬＳ(ｘ,ｙ)}/４
…(５)
【００３４】
合成結果画像Ｆを数値的に解く場合は、(５)式を次の(６)式の漸化式へ変形し、合成結果画像Ｆに初期値を与えた後、合成結果画像Ｆの値が収束する迄繰り返し演算を行う(ガウスザイデル法)。
Ｆi+1(ｘ,ｙ)＝{Ｆi(ｘ-1,ｙ)＋Ｆi(ｘ+1,ｙ)＋Ｆi(ｘ,ｙ-1)＋Ｆi(ｘ,ｙ+1)
−ＬＳ(ｘ,ｙ)}/４  …(６)
但し、ｉは各回の演算を識別するための変数である。また、初期値は通常、
Ｆ0(ｘ,ｙ)＝Ｔ(ｘ,ｙ)  (ｘ＝０又はｙ＝０又はｘ＝Ｗ又はｙ＝Ｈのとき)
Ｆ0(ｘ,ｙ)＝０  (ｘ＝０、ｙ＝０、ｘ＝Ｗ及びｙ＝Ｈ以外のとき)
である。
【００３５】
また、収束条件は以下の何れかである。
(収束条件Ａ)  |Ｆi+1−Ｆi|が閾値以下
(収束条件Ｂ)  合成結果画像Ｆのラプラシアンフィルタ適用値ＬＦを演算し、|ＬＦ−ＬＳ|が閾値以下
これにより、マスク画像Ｓに基づき、初期値画像Ｉ及び合成対象領域Ｔの境界γから合成結果画像Ｆが生成される。
【００３６】
また、(６)式に代えて以下の(７)式によって合成結果画像Ｆを求めることも可能である(ＳＯＲ法)。
Ｆi+1(ｘ,ｙ)＝(1−ω)Ｆi(ｘ,ｙ)＋ω{Ｆi(ｘ-1,ｙ)＋Ｆi(ｘ+1,ｙ)＋Ｆi(ｘ,ｙ-1)
＋Ｆi(ｘ,ｙ+1)−ＬＳ(ｘ,ｙ)}/４  …(７)
(７)式はω＝１〜２で収束する。なお、前出の(６)式は(７)式におけるω＝１の場合とみなすことも可能である。ω＝1.95程度の値を用いることで良好な収束性が得られることが知られている。
【００３７】
但し、上述した合成結果画像Ｆの演算は、繰り返し演算における演算の繰り返し回数が非常に多く、演算量が非常に大きいという欠点を有している。この欠点を軽減するため、１フレーム前のフレーム画像に対して演算した合成結果画像ＦＮ−１を初期値画像として用いることが考えられる(次の(８)式及び図３４参照)。
Ｆ0(ｘ,ｙ)＝Ｔ(ｘ,ｙ)  (ｘ＝０又はｙ＝０又はｘ＝Ｗ又はｙ＝Ｈのとき)
Ｆ0(ｘ,ｙ)＝ＦＮ−１(ｘ,ｙ)  (ｘ＝０、ｙ＝０、ｘ＝Ｗ及びｙ＝Ｈ以外のとき)  …(８)
【００３８】
また、演算の繰り返し回数を更に削減する方法として、１フレーム前のフレーム画像中の合成対象領域ＴＮ−１に対する合成対象領域Ｔの差分を、合成結果画像ＦＮ−１に加算した結果を初期値画像として用いることも考えられる(次の(９)式及び図３５参照)。
Ｆ0(ｘ,ｙ)＝Ｔ(ｘ,ｙ)  (ｘ＝０又はｙ＝０又はｘ＝Ｗ又はｙ＝Ｈのとき)
Ｆ0(ｘ,ｙ)＝ＦＮ−１(ｘ,ｙ)＋Ｔ(ｘ,ｙ)−ＴＮ−１(ｘ,ｙ)
(ｘ＝０、ｙ＝０、ｘ＝Ｗ及びｙ＝Ｈ以外のとき)  …(９)
【００３９】
しかしながら、図３４及び図３５に示した演算手法は、何れも演算の繰り返し回数は削減できるものの、処理対象のフレーム画像の合成結果画像Ｆの演算を開始する際には、１フレーム前のフレーム画像に対する合成結果画像ＦＮ−１が算出されている必要がある。このため、例えば図３５に示した演算手法では、図３６に示すように、１フレーム前のフレーム画像に対する繰り返し演算(図３６では「ポアソン演算」と表記)が完了しないと、次のフレーム画像に対する繰り返し演算を開始できない。従って、入力される動画像のフレームレートに対してマスク画像の合成結果の出力レートが低く、動画像の各フレームへのマスク画像の合成をリアルタイムで行うことは困難である。
【００４０】
一方、動画像の個々のフレームに対し、先の(３)式を満足するように合成結果画像Ｆ(ｘ,ｙ)を解くことから、次の(10)式が得られる。
ＬＦN(ｘ,ｙ)−ＬＦN-1(ｘ,ｙ)＝０  …(10)
なお、ＬＦN(ｘ,ｙ)はＮ番目のフレームの合成結果画像Ｆのラプラシアンフィルタ適用値(二次微分値)、ＬＦN-1(ｘ,ｙ)はＮ−１番目のフレームの合成結果画像Ｆのラプラシアンフィルタ適用値(二次微分値)である。
【００４１】
上記の(10)式は、連続する２フレームの合成結果画像Ｆの差分に相当する画像(以下、この画像を差分画像Ｄ(ｘ,ｙ)と称する)が、二次微分値が０になる画像(グラデーション画像)であることを意味している。前述のように、各フレームの合成結果画像Ｆは、合成対象領域の画素値(境界γ)が保存される境界条件で、ポアソン方程式を用いた繰り返し演算によって算出できる。このため、差分画像Ｄ(ｘ,ｙ)は、Ｎ−１番目のフレームとＮ番目のフレームの合成対象領域の画素値(境界γ)の差分(境界差分)を求め、求めた境界差分が保存される境界条件で、ポアソン方程式を用いた繰り返し演算を行うことで算出することができる。そして、算出した差分画像Ｄ(ｘ,ｙ)をＮ−１番目のフレームの合成結果画像Ｆに加算すれば、Ｎ番目のフレームの合成結果画像Ｆが得られる。
【００４２】
上記に基づき、本第１実施形態では、画像処理装置１０に対してマスク合成処理の実行が指示された場合に、図３〜図７に示す処理を含むマスク合成処理が画像処理装置１０によって行われる。なお、マスク合成処理は、例えば、撮影装置によって撮影された動画像を配布、或いは放送、或いはネットワーク上で公開する等の理由で、動画像中に被写体として写っている人物のプライバシーの保護を図る必要が生じた場合に実行が指示される。
【００４３】
マスク合成処理の実行に際しては、処理対象の動画像が指定され、合成対象のマスク画像も指定される。これにより、本第１実施形態に係る画像処理装置１０では、動画像取得部１２、マスク画像取得部１４、合成対象領域検出部１６及び２個の色要素分離部１８,２０により、図３に示す色要素分離処理が実行される。
【００４４】
色要素分離処理のステップ１５０において、マスク画像取得部１４は、例えば記憶部６６等に予め記憶された複数のマスク画像の中から、合成対象として指定されたマスク画像を取得する。なお、マスク画像を合成する合成対象領域として、動画像中に被写体として写っている人物の顔領域全体を適用する場合、マスク画像としては、例えば図９に示すように、人物の顔(他の人の顔や複数の人の平均的な顔等)を表す顔画像が適用される。ステップ１５２において、色要素分離部２０は、マスク画像取得部１４によって取得されたマスク画像を複数の色要素に分離する。
【００４５】
ステップ１５４において、動画像取得部１２は、処理対象として指定された動画像の各フレームを識別するための変数Ｎに１を設定する。またステップ１５６において、動画像取得部１２は、処理対象の動画像のうちＮ番目のフレームの画像を取得する。またステップ１５８において、合成対象領域検出部１６は、動画像取得部１２によって取得されたＮ番目のフレームの画像の中から合成対象領域を検出し、Ｎ番目のフレームの画像における合成対象領域の位置及びサイズを検出する。
【００４６】
なお、合成対象領域として顔領域を適用する場合、顔領域の検出には、例えばHaar classifierを用いる手法(非特許文献２参照)等の任意の手法を適用できる。また、合成対象領域は合成対象領域検出部１６によって検出することに限られるものではない。例えば動画像中に被写体として写っている複数の人物のうちの一部の人物に対してのみマスク画像を合成する等の場合に、処理対象の人物の合成対象領域が最初に指定されるようにしてもよい。この場合、合成対象領域検出部１６は、最初に指定された合成対象領域を動画像上で追跡する処理を行うことができる。
【００４７】
ステップ１６０において、色要素分離部１８は、動画像取得部１２によって取得されたＮ番目のフレームの画像を複数の色要素に分離する。ステップ１６２において、色要素分離部１８は、各色要素毎のＮ番目のフレームの画像を、フレーム番号Ｎと共に画像合成部２２〜２６に各々出力し、色要素分離部２０は各色要素のマスク画像を画像合成部２２〜２６へ各々出力する。なお、色要素分離部２０から出力された各色要素のマスク画像は、画像合成部２２〜２６のマスク画像保持部３６に各々保持される。また、色要素分離部１８から出力されたＮ番目のフレームの画像は前フレーム画像保持部３２に保持される。
【００４８】
次のステップ１６４において、動画像取得部１２は、処理対象の動画像の全フレームの画像を取得したか否かを判定する。ステップ１６４の判定が否定された場合はステップ１６６へ移行し、動画像取得部１２は、変数Ｎの値を１だけインクリメントし、ステップ１５６に戻る。これにより、ステップ１６４の判定が肯定される迄、ステップ１５６〜ステップ１６６が繰り返される。そして、ステップ１６４の判定が肯定されると、色要素分離処理を終了する。
【００４９】
また、画像処理装置１０の画像合成部２２〜２６の各々では、Ｎ番目のフレームの特定色要素の画像が色要素分離部１８から入力される度に、境界差分演算部３４及び選択部３８により、図４に示す境界差分演算処理が実行される。境界差分演算処理のステップ１７０において、境界差分演算部３４は、変数Ｎの値が２以上か否か判定する。変数Ｎの値は当初は１であるので、ステップ１７０の判定が否定されてステップ１７２に移行する。ステップ１７２において、境界差分演算部３４は、Ｎ(＝１)番目のフレームの画像に対応する特定色要素の合成結果画像を、マスク画像保持部３６に保持された特定色要素のマスク画像に基づいて生成するよう合成結果画像生成部４６に対して指示する。
【００５０】
また、変数Ｎの値が２以上になると、ステップ１７０の判定が肯定されてステップ１７４に移行する。ステップ１７４において、境界差分演算部３４は、前フレーム画像保持部３２に保持されているＮ−１番目のフレームの特定色要素の画像から、合成対象領域検出部１６によって検出された合成対象領域のデータを取り出す。また、次のステップ１７６において、境界差分演算部３４は、色要素分離部１８より入力されたＮ番目のフレームの特定色要素の画像から、合成対象領域検出部１６によって検出された合成対象領域のデータを取り出す。
【００５１】
ステップ１７８において、境界差分演算部３４は、Ｎ−１番目のフレームの特定色要素の画像における合成対象領域の境界と、Ｎ番目のフレームの特定色要素の画像における合成対象領域の境界と、の画素値の差分(境界差分γＤ)を演算する。なお、Ｎ−１番目のフレームの画像における合成対象領域の境界をγＴＮ−１、Ｎ番目のフレームの画像における合成対象領域の境界をγＴＮとすると、境界差分γＤは次の(11)式で演算できる。
γＤＮ(ｘ,ｙ)＝γＴＮ(ｘ,ｙ)−γＴＮ−１(ｘ,ｙ)  …(11)
これにより、例として図８に示すように、合成対象領域の周縁に沿って１画素幅で、連続する２フレームにおける合成境界領域の境界の画素値の差分を表す境界差分γＤが得られる。なお、図８では境界差分の符号が「＋(プラス)」の場合のみ示しているが、差分の値によっては符号が「−(マイナス)」となる場合もある。
【００５２】
次のステップ１８０において、選択部３８は、複数の差分画像演算部４０のうち、境界差分演算部３４によって演算された合成対象領域の境界差分γＤを出力する何れか１つの差分画像演算部４０を選択する。本実施形態では、複数の差分画像演算部４０が互いに並列に演算処理を行う構成であり、ステップ１８０では、合成対象領域の境界差分γＤを出力する差分画像演算部４０を、複数の差分画像演算部４０の中から循環的に選択する。そして、次のステップ１８２において、選択部３８は、境界差分演算部３４によって演算された特定色要素についての合成対象領域の境界差分γＤをステップ１８０で選択した差分画像演算部４０へ出力する。
【００５３】
また、画像処理装置１０の画像合成部２２〜２６の各々では、Ｎ番目のフレームの特定色要素についての合成対象領域の境界差分が選択部３８から入力される度に、差分画像演算部４０により、図５に示す差分画像演算処理が実行される。差分画像演算処理のステップ１９０において、差分画像演算部４０は、入力された合成対象領域の境界差分を境界条件として(境界差分の画素値を保存する条件で)、二次微分値が０となる特定色要素の差分画像Ｄ(ｘ,ｙ)を演算する。この演算は、先の(２)〜(７)式における合成結果画像Ｆに代えて差分画像Ｄを適用した以下の(12)〜(17)式の演算を行うことで実現できる。
【００５４】
すなわち、差分画像Ｄの外縁は合成対象領域の境界差分γＤとする(次の(12)式参照)。
Ｄ(ｘ,ｙ)＝γＤ(ｘ,ｙ)  (ｘ＝０又はｙ＝０又はｘ＝Ｗ又はｙ＝Ｈのとき)  …(12)
また、差分画像Ｄのラプラシアンフィルタ適用値ＬＤを０とする(次の(13)式参照)。
ＬＤ(ｘ,ｙ)＝０  …(13)
上記(12),(13)式の方程式を解くことで、合成対象領域Ｔの全領域で差分画像Ｄ(ｘ,ｙ)の値を得ることができる。
【００５５】
上記の方程式は、以下のようにして解くことができる。すなわち、差分画像Ｄのラプラシアンフィルタ適用値ＬＤは次の(14)式で表される。
ＬＤ(ｘ,ｙ)＝Ｄ(ｘ-1,ｙ)＋Ｄ(ｘ+1,ｙ)＋Ｄ(ｘ,ｙ-1)＋Ｄ(ｘ,ｙ+1)＋４Ｄ(ｘ,ｙ)
…(14)
また、前出の(13)式より次の(15)式が得られる。
Ｄ(ｘ,ｙ)＝{Ｄ(ｘ-1,ｙ)＋Ｄ(ｘ+1,ｙ)＋Ｄ(ｘ,ｙ-1)＋Ｄ(ｘ,ｙ+1)}/４  …(15)
【００５６】
差分画像Ｄを数値的に解く場合は、(15)式を次の(16)式の漸化式へ変形し、差分画像Ｄに初期値を与えた後、差分画像Ｄの値が収束する迄繰り返し演算を行う(ガウスザイデル法)。
Ｄi+1(ｘ,ｙ)＝{Ｄi(ｘ-1,ｙ)＋Ｄi(ｘ+1,ｙ)＋Ｄi(ｘ,ｙ-1)＋Ｄi(ｘ,ｙ+1)}/４
…(16)
但し、ｉは各回の演算を識別するための変数である。また、初期値は通常、
Ｄ0(ｘ,ｙ)＝γＤ(ｘ,ｙ)  (ｘ＝０又はｙ＝０又はｘ＝Ｗ又はｙ＝Ｈのとき)
Ｄ0(ｘ,ｙ)＝０  (ｘ＝０、ｙ＝０、ｘ＝Ｗ及びｙ＝Ｈ以外のとき)
である。
【００５７】
また、収束条件は以下の何れかである。
(収束条件Ａ)  |Ｄi+1−Ｄi|が閾値以下
(収束条件Ｂ)  差分画像Ｄのラプラシアンフィルタ適用値ＬＤを演算し、ＬＤ≒0の場合
これにより、図９にも示すように、二次微分値が０のなだらかなグラデーション画像である差分画像Ｄが、境界差分γＤから生成される。
【００５８】
また、(16)式に代えて以下の(17)式によって差分画像Ｄを求めることも可能である(ＳＯＲ法)。
Ｄi+1(ｘ,ｙ)＝(1−ω)Ｄi(ｘ,ｙ)＋ω{Ｄi(ｘ-1,ｙ)＋Ｄi(ｘ+1,ｙ)＋Ｄi(ｘ,ｙ-1)
＋Ｄi(ｘ,ｙ+1)}/４  …(17)
(17)式はω＝１〜２で収束する。ω＝1.95程度の値を用いることで良好な収束性が得られる。
【００５９】
差分画像演算部４０による差分画像Ｄの演算もポアソン方程式を用いた繰り返し演算であるが、動画像の連続するフレームでは合成対象領域の輝度差が小さく、境界差分の値自体も小さくなる。このため、ステップ１９０の繰り返し演算における演算の繰り返し回数は、先の(１)〜(７)式に基づいて合成結果画像Ｆを算出する場合と比較して少なくなり、演算が短時間で収束する。
【００６０】
次のステップ１９２において、切替部４２は、差分画像演算部４０によって演算された特定色要素の差分画像Ｄを合成結果画像生成部４６へ出力し、差分画像演算処理を終了する。
【００６１】
また、画像処理装置１０の画像合成部２２〜２６の各々では、合成結果画像生成部４６により、図６に示す合成結果画像生成処理が行われる。なお、この合成結果画像生成処理は、境界差分演算部３４から合成結果画像Ｆの生成が指示されるか、又は、Ｎ番目のフレームの特定色要素についての差分画像Ｄが切替部４２から入力される度に実行される。
【００６２】
合成結果画像生成処理のステップ２００において、合成結果画像生成部４６は、差分画像Ｄが切替部４２から入力されたか否か判定する。境界差分演算部３４から合成結果画像Ｆの生成が指示された場合は、ステップ２００の判定が否定されてステップ２０２へ移行する。ステップ２０２において、合成結果画像生成部４６は、Ｎ番目(但しＮ＝１)のフレームの合成対象領域の境界の特定色要素の値を境界条件として、二次微分値がマスク画像Ｓの二次微分値に一致する合成結果画像Ｆを演算する。この演算は、先の(１)〜(７)式に基づき、ポアソン方程式を用いた繰り返し演算によって実現される。ステップ２０２で合成結果画像Ｆを算出するとステップ２０８へ移行する。
【００６３】
また、Ｎ番目のフレームの特定色要素についての差分画像Ｄが切替部４２から入力された場合には、ステップ２００の判定が肯定されてステップ２０４へ移行する。ステップ２０４において、合成結果画像生成部４６は、前フレーム合成結果画像保持部４４に保持されているＮ−１番目のフレームの特定色要素の合成結果画像Ｆを取り出す。また、次のステップ２０６において、合成結果画像生成部４６は、Ｎ−１番目のフレームの画像に対応する特定色要素の合成結果画像に、切替部４２から入力されたＮ番目のフレームの画像の特定色要素についての差分画像Ｄを加算する。この加算により、図９にも示すように、Ｎ番目のフレームの画像に対応する特定色要素の合成結果画像Ｆが生成される。
【００６４】
次のステップ２０８において、合成結果画像生成部４６は、Ｎ番目のフレームの特定色要素の画像中の合成対象領域に、上記の処理で得られた合成結果画像Ｆを合成する。そしてステップ２１０において、合成結果画像生成部４６は、合成結果画像Ｆを合成したＮ番目のフレームの特定色要素の画像を色要素合成部２８へ出力し、合成結果画像生成処理を終了する。
【００６５】
また、画像処理装置１０では、色要素合成部２８及び動画像出力部３０により、画像合成部２２〜２６の何れかの合成結果画像生成部４６から合成結果画像Ｆが入力される度に、図７に示す色要素合成処理が行われる。この色要素合成処理のステップ２１２において、色要素合成部２８は、同一フレームの全色要素の画像が画像合成部２２〜２６から各々入力されたか否か判定する。ステップ２１２の判定が否定された場合は、入力された合成結果画像Ｆをメモリ６４等に記憶させ、色要素合成処理を一旦終了する。
【００６６】
また、同一フレームの全色要素の画像が画像合成部２２〜２６から各々入力されると、ステップ２１２の判定が肯定されてステップ２１４へ移行する。ステップ２１４において、色要素合成部２８は、同一フレームの全ての色要素の画像(合成結果画像Ｆを合成した画像)を単一のカラー画像として合成する。また、動画像出力部３０は、色要素合成部２８によって生成された画像を、マスク画像を合成した動画像のＮ番目のフレームの画像として出力する。
【００６７】
上述した一連の処理のうち、処理時間が最も長いのは、ポアソン方程式を用いた繰り返し演算である差分画像演算部４０による差分画像Ｄの演算である。しかし、本実施形態では、差分画像演算部４０が複数設けられており、かつ、Ｎ番目のフレームの画像に対応する差分画像Ｄの演算に際し、Ｎ−１番目のフレームの画像に対する合成結果画像Ｆは不要である。このため、本実施形態では、例として図１０に示すように、動画像の各フレームに対応する差分画像Ｄの演算を、複数の差分画像演算部４０で並列に行うことができ、各フレームの合成結果画像Ｆを演算する処理をパイプラインで処理することができる。これにより、図１０からも明らかなように、画像処理装置１０に入力される動画像のフレームレートと同一の周期で、マスク画像を合成した各フレームの画像を出力することが可能となり、リアルタイムでの処理を実現することができる。
【００６８】
〔第２実施形態〕
次に開示の技術の第２実施形態について説明する。なお、第１実施形態と同一の部分には同一の符号を付して説明を省略し、第１実施形態と異なる部分についてのみ説明する。
【００６９】
図１１には、本第２実施形態に係る画像処理装置１０が示されている。本第２実施形態に係る画像処理装置５０は、画像合成部２２〜２６が、二次微分画像演算部５２,５４及び誤差演算部５６を更に備えている。二次微分画像演算部５２は、マスク画像保持部３６に保持された特定色要素のマスク画像Ｓに基づき、マスク画像Ｓの二次微分画像(マスク画像Ｓのラプラシアンフィルタ適用値ＬＳ)を演算する。また、二次微分画像演算部５４は、前フレーム合成結果画像保持部４４に保持されたＮ−１番目のフレームの画像に対する合成結果画像Ｆに基づき、合成結果画像Ｆの二次微分画像(合成結果画像Ｆのラプラシアンフィルタ適用値ＬＦ)を演算する。
【００７０】
また、誤差演算部５６は、二次微分画像演算部５２によって演算されたマスク画像Ｓの二次微分画像と、二次微分画像演算部５４によって演算されたＮ−１番目のフレームの合成結果画像Ｆの二次微分画像と、の差分を誤差画像として演算する。なお、誤差演算部５６は開示の技術における誤差演算部の一例であり、誤差演算部５６によって実現される処理は開示の技術における誤差を演算することの一例である。
【００７１】
また、本第２実施形態において、マスク合成プログラム７６の画像合成プロセス８６は、図２に破線で示すように、二次微分画像演算プロセス１０８及び誤差演算プロセス１１０を更に備えている。本第２実施形態において、ＣＰＵ６２は、二次微分画像演算プロセス１０８を実行することで、図１１に示す二次微分画像演算部５２,５４として各々動作する。また、本第２実施形態において、ＣＰＵ６２は、誤差演算プロセス１１０を実行することで、図１１に示す誤差演算部５６として動作する。
【００７２】
次に図１２を参照し、本第２実施形態の作用として、本第２実施形態に係る差分画像演算処理について、第１実施形態で説明した差分画像演算処理(図５)と異なる部分を説明する。本第２実施形態に係る差分画像演算処理のステップ２２０において、二次微分画像演算部５２は、マスク画像保持部３６に保持された特定色要素のマスク画像Ｓの二次微分画像(マスク画像Ｓのラプラシアンフィルタ適用値ＬＳ)を先の(１)式に従って演算する。
【００７３】
次のステップ２２２において、二次微分画像演算部５４は、前フレーム合成結果画像保持部４４に保持されたＮ−１番目のフレームの画像に対する合成結果画像Ｆの二次微分画像(合成結果画像Ｆのラプラシアンフィルタ適用値ＬＦ)を先の(４)式に従って演算する。またステップ２２４において、誤差演算部５６は、マスク画像Ｓの特定色要素の二次微分画像に対するＮ−１番目のフレームの特定色要素の合成結果画像Ｆの二次微分画像の画素値の差分を誤差画像Ｅ(ｘ,ｙ)として演算する。
【００７４】
そしてステップ２２６において、差分画像演算部４０は、選択部３８から入力された合成対象領域の境界差分を境界条件として、二次微分値が誤差演算部５６によって演算された誤差画像Ｅ(ｘ,ｙ)に一致する特定色要素の差分画像Ｄ(ｘ,ｙ)を演算する。なお、誤差画像Ｅのラプラシアンフィルタ適用値をＬＥとすると、上記演算は次の(18),(19)式で表される。、
ＬＤ(ｘ,ｙ)＝ＬＥ(ｘ,ｙ)  …(18)
ＬＥ(ｘ,ｙ)＝Ｅ(ｘ-1,ｙ)＋Ｅ(ｘ+1,ｙ)＋Ｅ(ｘ,ｙ-1)＋Ｅ(ｘ,ｙ+1)−４Ｅ(ｘ,ｙ)
…(19)
【００７５】
先に説明した第１実施形態では、Ｎ＝１番目のフレームでマスク画像Ｓを用いて合成結果画像Ｆを演算した後は、差分画像Ｄを演算し、Ｎ−１番目のフレームの合成結果画像Ｆに差分画像Ｄを加算してＮ番目のフレームの合成結果画像Ｆを演算している。このため、差分画像Ｄを演算して合成結果画像Ｆを演算する処理を複数フレームに亘って繰り返すと、マスク画像Ｓに対する誤差が蓄積されてくる可能性がある。
【００７６】
これに対して本第２実施形態では、上記のように、マスク画像Ｓの特定色要素の二次微分画像に対するＮ−１番目のフレームの特定色要素の合成結果画像Ｆの二次微分画像の画素値の差分を誤差画像Ｅ(ｘ,ｙ)として演算している。そして、差分画像Ｄの二次微分値ＬＤ(ｘ,ｙ)が誤差画像Ｅの二次微分値ＬＥ(ｘ,ｙ)に一致するように差分画像Ｄを求めている。これにより、マスク画像Ｓに対する誤差が蓄積されることが抑制され、誤差がより少ない差分画像Ｄが得られることで、誤差がより少ない合成結果画像Ｆが得られる。
【００７７】
なお、本第２実施形態において、誤差画像Ｅを演算し、差分画像Ｄの二次微分値が誤差画像Ｅの二次微分値に一致するように差分画像Ｄを求める処理は、動画像の毎フレームで行ってもよいし、一定数のフレームが入力される度に行ってもよい。また、境界差分演算部３４によって演算された境界差分における差分の大きさを評価する評価値を演算し、演算した評価値が閾値以上になる度に行うようにしてもよい。
【００７８】
〔第３実施形態〕
次に開示の技術の第３実施形態を説明する。なお、第１及び第２実施形態と同一の部分には同一の符号を付して説明を省略し、第１及び第２実施形態と異なる部分についてのみ説明する。
【００７９】
図１３には、本第３実施形態に係る画像処理装置１２０が示されている。本第３実施形態に係る画像処理装置１２０は、画像処理装置１０(図１)に対し、マスク画像取得部１４に代えてマスク動画像取得部１２２が設けられ、前フレームマスク画像保持部１２４及びマスク画像差分演算部１２６が設けられている点で相違している。第１及び第２実施形態では、動画像取得部１２によって取得された動画像の各フレームに同一のマスク画像を合成する態様を説明した。しかし、この場合、例えばマスク画像が人物の顔領域の画像であるとすると、合成後の動画像では人物が瞬きなどをしないことになり、不自然な動画像となることがある。
【００８０】
このため、本第３実施形態では、一例として図１８に示すように、マスク画像として複数のフレームを含む動画像(マスク動画像)を用意しており、動画像取得部１２によって取得された動画像の各フレームに、マスク動画像の各フレームの画像を合成している。なお、マスク動画像として人物の顔領域の動画像を適用した場合、マスク動画像としては、例えば定期的に瞬きをしている動画像(例えば数秒〜十数秒程度の長さの動画像)等を適用することができる。本第３実施形態において、マスク動画像取得部１２２は、予め記憶部等に記憶されたマスク動画像をフレーム単位で取得する。なお、マスク動画像の長さが動画像取得部１２によって取得された動画像の長さよりも短い場合、マスク動画像取得部１２２は、同一のマスク動画像をフレーム単位で取得することを繰り返す。
【００８１】
また、前フレームマスク画像保持部１２４は画像合成部２２Ａ〜２６Ａに設けられている。前フレームマスク画像保持部１２４は、色要素分離部２０から入力された特定の色要素のマスク画像のうち、処理対象のＮ番目のフレーム画像よりも１フレーム前のＮ−１番目のフレーム画像に合成するマスク画像を保持する。なお、前フレームマスク画像保持部１２４は、例えば２フレーム分の画像のデータを保持可能なＦＩＦＯ(First-in First-out)メモリ等で構成することができる。
【００８２】
また、マスク画像差分演算部１２６も画像合成部２２Ａ〜２６Ａに設けられている。マスク画像差分演算部１２６は、特定の色要素について、Ｎ番目のフレーム画像に合成するマスク画像のラプラシアンフィルタ適用値(２次微分値)と、Ｎ−１番目のフレーム画像に合成するマスク画像のラプラシアンフィルタ適用値(２次微分値)を各々演算する。そして、差分演算部４０は、Ｎ番目のフレーム画像に合成するマスク画像のラプラシアンフィルタ適用値(２次微分値)と、Ｎ−１番目のフレーム画像に合成するマスク画像のラプラシアンフィルタ適用値(２次微分値)と、の差分を特定の色要素について演算する。
【００８３】
また、本第３実施形態に係る差分画像演算部４０は、境界差分演算部３４から合成対象領域の境界の特定の色要素の差分(境界差分γＤ)が入力され、マスク画像差分演算部１２６からマスク画像の特定の色要素のラプラシアンフィルタ適用値の差分が入力される。差分画像演算部４０は、合成対象領域の境界の特定の色要素の差分γＤを境界条件、マスク画像の特定の色要素のラプラシアンフィルタ適用値の差分ＬＳｄＮを勾配条件として、特定の色要素の差分画像を演算により生成する。
【００８４】
画像処理装置１２０は、例えば図１４に示すコンピュータ６０で実現することができる。図１４に示すコンピュータ６０の記憶部６６には、コンピュータ６０を画像処理装置１０として機能させるためのマスク合成プログラム７６Ａが記憶されている。ＣＰＵ６２は、マスク合成プログラム７６Ａを記憶部６６から読み出してメモリ６４に展開し、マスク合成プログラム７６Ａが有するプロセスを順次実行する。
【００８５】
マスク合成プログラム７６Ａは、マスク画像取得プロセス８０に代えてマスク動画像取得プロセス１２８を有し、前フレームマスク画像保持プロセス１３０及びマスク画像差分演算プロセス１３２を更に有する。ＣＰＵ６２は、マスク動画像取得プロセス１２８を実行することで、図１３に示すマスク動画像取得部１４として動作する。またＣＰＵ６２は、前フレームマスク画像保持プロセス１３０を実行することで、図１３に示す前フレームマスク画像保持部１２４として動作する。またＣＰＵ６２は、マスク画像差分演算プロセス１３２を実行することで、図１３に示すマスク画像差分演算部１２６として動作する。これにより、マスク合成プログラム７６Ａを実行したコンピュータ６０が、画像処理装置１２０として機能することになる。なお、マスク合成プログラム７６Ａは開示の技術における画像処理プログラムの一例である。
【００８６】
本第３実施形態に係る画像処理装置１２０では、動画像取得部１２、マスク動画像取得部１２２、合成対象領域検出部１６及び２個の色要素分離部１８,２０により、図１５に示す色要素分離処理が実行される。
【００８７】
色要素分離処理のステップ２３０において、動画像取得部１２は、処理対象として指定された動画像の各フレームを識別するための変数Ｎに１を設定する。またステップ２３２において、動画像取得部１２は、処理対象の動画像のうちＮ番目のフレームの画像を取得する。またステップ２３４において、合成対象領域検出部１６は、動画像取得部１２によって取得されたＮ番目のフレームの画像の中から合成対象領域を検出し、Ｎ番目のフレームの画像における合成対象領域の位置及びサイズを検出する。
【００８８】
なお、合成対象領域として顔領域を適用する場合、顔領域の検出には、例えばHaar classifierを用いる手法(非特許文献２参照)等の任意の手法を適用できる。また、合成対象領域は合成対象領域検出部１６によって検出することに限られるものではない。例えば動画像中に被写体として写っている複数の人物のうちの一部の人物に対してのみマスク画像を合成する等の場合に、処理対象の人物の合成対象領域が最初に指定されるようにしてもよい。この場合、合成対象領域検出部１６は、最初に指定された合成対象領域を動画像上で追跡する処理を行うことができる。またステップ２３６において、色要素分離部１８は、動画像取得部１２によって取得されたＮ番目のフレームの画像を複数の色要素に分離する。
【００８９】
次のステップ２３８において、マスク動画像取得部１２２は、例えば記憶部６６等に予め記憶されたマスク動画像の中から、処理対象のＮ番目のフレームの画像に合成するマスク画像を取得する。ステップ２４０において、色要素分離部２０は、マスク動画像取得部１２２によって取得されたマスク画像を複数の色要素に分離する。
【００９０】
ステップ２４２において、色要素分離部１８は、各色要素毎のＮ番目のフレームの画像を、フレーム番号Ｎと共に画像合成部２２Ａ〜２６Ａに各々出力し、色要素分離部２０は各色要素のマスク画像を画像合成部２２Ａ〜２６Ａへ各々出力する。なお、色要素分離部２０から出力された各色要素のマスク画像は、画像合成部２２Ａ〜２６Ａの前フレームマスク画像保持部１２４に各々保持される。また、色要素分離部１８から出力されたＮ番目のフレームの画像は前フレーム画像保持部３２に保持される。
【００９１】
次のステップ２４４において、動画像取得部１２は、処理対象の動画像の全フレームの画像を取得したか否かを判定する。ステップ２４４の判定が否定された場合はステップ２４６へ移行し、動画像取得部１２は、変数Ｎの値を１だけインクリメントし、ステップ２３２に戻る。これにより、ステップ２４４の判定が肯定される迄、ステップ２３２〜ステップ２４６が繰り返される。そして、ステップ２４４の判定が肯定されると、色要素分離処理を終了する。上記の色要素分離処理により、図１８に「マスク画像」として示すように、処理対象の各フレームに対応するマスク画像として、同一でないマスク画像(例えば定期的に瞬きをしているマスク動画像の各フレームの画像)が取得されることになる。
【００９２】
なお、本第３実施形態において、境界差分演算部３４及び選択部３８によって実行される境界差分演算処理(図４)については、第１実施形態と同一であるので説明を省略する(図１９に示す「(1)境界輝度差」も参照)。続いて、マスク画像差分演算部１２６によって実行されるマスク画像差分演算処理について、図１６を参照して説明する。
【００９３】
マスク画像差分演算処理のステップ２５０において、マスク画像差分演算部１２６は、変数Ｎの値が２以上か否か判定する。変数Ｎの値は当初は１であるので、ステップ２５０の判定が否定されてマスク画像差分演算処理を終了する。この場合、境界差分演算処理(図４)のステップ１７２での境界差分演算部３４の指示により、Ｎ(＝１)番目のフレームの画像に対応する特定色要素の合成結果画像が、前フレームマスク画像保持部１２４に保持された特定色要素のマスク画像に基づいて生成される。
【００９４】
また、変数Ｎの値が２以上になると、ステップ２５０の判定が肯定されてステップ２５２に移行する。ステップ２５２において、マスク画像差分演算部１２６は、前フレームマスク画像保持部１２４に保持されているＮ−１番目のフレームに対応する特定色要素のマスク画像ＳＮ−１のデータを取り出す。また、次のステップ２５４において、マスク画像差分演算部１２６は、Ｎ−１番目のフレームに対応する特定色要素のマスク画像に対してラプラシアンフィルタを適用し、ラプラシアンフィルタ適用画像(二次微分値)ＬＳＮ−１を演算する。
【００９５】
ステップ２５６において、マスク画像差分演算部１２６は、色要素分離部２０から入力されたＮ番目のフレームに対応する特定色要素のマスク画像ＳＮのデータを取り出す。また、次のステップ２５８において、マスク画像差分演算部１２６は、Ｎ番目のフレームに対応する特定色要素のマスク画像に対してラプラシアンフィルタを適用し、ラプラシアンフィルタ適用画像(二次微分値)ＬＳＮを演算する。
【００９６】
次のステップ２６０において、マスク画像差分演算部１２６は、Ｎ−１番目のフレームに対応する特定色要素のマスク画像のラプラシアンフィルタ適用値とＮ番目のフレームに対応する特定色要素のマスク画像のラプラシアンフィルタ適用値との差分を演算する。マスク画像ＳＮのラプラシアンフィルタ適用画像をＬＳＮ、マスク画像ＳＮ−１のラプラシアンフィルタ適用画像をＬＳＮ−１とすると、特定色要素の２つのマスク画像のラプラシアンフィルタ適用画像の差分ＬＳｄＮは以下の(20)式で算出できる。なお、以下の(20)式の演算は図１９に示す「(2)二次微分差分」の演算の一例である。
ＬＳｄＮ(ｘ,ｙ)＝ＬＳＮ(ｘ,ｙ)−ＬＳＮ−１(ｘ,ｙ)  …(20)
【００９７】
次のステップ２６２において、マスク画像差分演算部１２６は、複数の差分画像演算部４０のうち、特定色要素のマスク画像のラプラシアンフィルタ適用値の差分ＬＳｄＮを出力する何れか１つの差分画像演算部４０を選択する。ステップ２６２では、マスク画像のラプラシアンフィルタ適用値の差分ＬＳｄＮを出力する差分画像演算部４０が、複数の差分画像演算部４０の中から循環的に選択される。そしてステップ２６４において、マスク画像差分演算部１２６は、特定色要素のマスク画像のラプラシアンフィルタ適用値の差分を、ステップ２６２で選択した差分画像演算部４０へ出力し、マスク画像差分演算処理を終了する。
【００９８】
画像処理装置１０の画像合成部２２Ａ〜２６Ａの各々では、Ｎ番目のフレームの特定色要素の合成対象領域の境界差分とマスク画像のラプラシアンフィルタ適用値の差分が入力される度に、差分画像演算部４０により、図１７に示す差分画像演算処理が実行される。ステップ２７０において、差分画像演算部４０は、入力された合成対象領域の境界差分γＤＮを境界条件(境界差分の画素値を保存する条件)、マスク画像のラプラシアンフィルタ適用値の差分ＬＳｄＮを勾配条件として、特定色要素の差分画像ＤＮ(ｘ,ｙ)を演算する。この演算は、合成対象領域の境界差分γＤＮ(ｘ,ｙ)を境界条件とし、マスク画像のラプラシアンフィルタ適用値の差分ＬＳｄＮ(ｘ,ｙ)を勾配情報としてポアソン方程式を解くことで算出できる。算出式を次の(21)式に示す(図１９に示す「(3)差分画像を生成」も参照)。
ＤＮ(ｘ,ｙ)＝{ＤＮ(ｘ-１,ｙ)＋ＤＮ(ｘ+1,ｙ)＋ＤＮ(ｘ,ｙ-1)＋ＤＮ(ｘ,ｙ+1)
−ＬＳｄＮ(ｘ,ｙ))}/４  …(21)
【００９９】
次のステップ２７２において、差分画像演算部４０は、演算した特定色要素の差分画像ＤＮ(ｘ,ｙ)を合成結果画像生成部４６へ出力し、差分画像演算処理を終了する。これにより、合成結果画像生成部４６において、Ｎ番目のフレームの差分画像ＤＮが、Ｎ−１番目のフレームの合成結果画像ＦＮ−１に加算されることで、Ｎ番目のフレームの合成結果画像ＦＮが生成される(次の(22)式も参照)。
ＦＮ(ｘ,ｙ)＝ＦＮ−１(ｘ,ｙ)＋ＤＮ(ｘ,ｙ)  …(22)
従って、図１８に「合成後」として示すように、例えば定期的に瞬きをしているマスク画像が各フレームに合成された動画像が得られることになる。
【０１００】
このように、第３実施形態では、動画像の毎フレームに対して境界条件を解いて合成結果画像を算出するのではなく、動画像上で連続する二つの画像フレーム（処理対象のＮ番目のフレームとＮ−１番目のフレーム）の差分画像ＤＮ(ｘ,ｙ)を算出している。そして、算出した差分画像ＤＮ(ｘ,ｙ)をＮ−１番目のフレームの合成結果画像ＦＮ−１(ｘ,ｙ)に加算して、処理対象のＮ番目のフレームの合成結果画像ＦＮ(ｘ,ｙ)を算出している((22)式も参照)。
【０１０１】
このとき、差分画像ＤＮ(ｘ,ｙ)は、フレーム間の輝度変化を含み、マスク画像間の特徴変化を含んでいる。フレーム間の輝度変化は境界画素の差分γＤＮであり、マスク画像間の特徴変化は、(20)式よりマスク画像間のラプラシアン適用値(勾配情報)の差分ＬＳｄＮである。従って、上記２つの条件を満たす差分画像ＤＮ(ｘ,ｙ)は、境界画素値の差分γＤＮを境界条件とし、勾配情報の差分ＬＳｄＮを二次微分特徴(勾配条件)として、ポアソン方程式を解いて算出できる。差分画像ＤＮは、フレーム間の境界画素の差分γＤＮが小さく、またマスク画像間の差が小さいほど差が０に近い画像となるので、初期値を０として計算したときに計算の収束が速い。従って、差分画像演算部４０による差分画像Ｄの演算は短時間で完了する。
【０１０２】
また、本第３実施形態においても、差分画像演算部４０が複数設けられており、かつ、Ｎ番目のフレームの画像に対応する差分画像ＤＮの演算に際し、Ｎ−１番目のフレームの合成結果画像ＦＮ−１は不要である。このため、本第３実施形態においても、動画像の各フレームに対応する差分画像ＤＮの演算を、複数の差分画像演算部４０で並列に行うことができ、各フレームの合成結果画像Ｆを演算する処理をパイプラインで処理することができる。これにより、画像処理装置１０に入力される動画像のフレームレートと同一の周期で、マスク画像を合成した各フレームの画像を出力することが可能となり、リアルタイムでの処理を実現することができる。
【０１０３】
〔第４実施形態〕
次に開示の技術の第４実施形態を説明する。なお、本第４実施形態は第３実施形態と同一の構成であるので、各部分に同一の符号を付して構成の説明を省略し、以下、本第４実施形態の作用を説明する。
【０１０４】
本第４実施形態では、第３実施形態で説明したマスク画像差分演算処理(図１６)に代えて、図２０に示すマスク画像差分演算処理を行う。本第４実施形態に係るマスク画像差分演算処理のステップ２５０において、マスク画像差分演算部１２６は、変数Ｎの値が２以上か否か判定する。変数Ｎの値は当初は１であるので、ステップ２５０の判定が否定されてマスク画像差分演算処理を終了する。この場合、境界差分演算処理(図４)のステップ１７２での境界差分演算部３４の指示により、Ｎ(＝１)番目のフレームの画像に対応する特定色要素の合成結果画像が、前フレームマスク画像保持部１２４に保持された特定色要素のマスク画像に基づいて生成される。
【０１０５】
また、変数Ｎの値が２以上になると、ステップ２５０の判定が肯定されてステップ２５２に移行する。ステップ２５２において、マスク画像差分演算部１２６は、前フレームマスク画像保持部１２４に保持されているＮ−１番目のフレームに対応する特定色要素のマスク画像ＳＮ−１のデータを取り出す。また、次のステップ２５６において、マスク画像差分演算部１２６は、色要素分離部２０から入力されたＮ番目のフレームに対応する特定色要素のマスク画像ＳＮのデータを取り出す。
【０１０６】
次のステップ２７４において、マスク画像差分演算部１２６は、Ｎ−１番目のフレームに対応する特定色要素のマスク画像ＳＮ−１と、Ｎ番目のフレームに対応する特定色要素のマスク画像ＳＮと、の差分を演算する。またステップ２７６において、マスク画像差分演算部１２６は、Ｎ−１番目のフレームとＮ番目のフレームとの特定色要素のマスク画像の差分に対してラプラシアンフィルタを適用し、ラプラシアンフィルタ適用画像ＬＳｄＮを演算する(次の(23)式参照)。
ＬＳｄＮ(ｘ,ｙ)＝Ｌ(ＳＮ(ｘ,ｙ)−ＳＮ−１(ｘ,ｙ))  …(23)
次のステップ２６２以降の処理は、第３実施形態で説明したマスク画像差分演算処理と同じであるので、説明を省略する。
【０１０７】
前述した第３実施形態では、Ｎ−１番目のフレームに対応する特定色要素のマスク画像と、Ｎ番目のフレームに対応する特定色要素のマスク画像について、ラプラシアンフィルタ適用値ＬＳを各々演算した後に差分を演算していた。これに対して第４実施形態では、図２１に示すように、Ｎ−１番目のフレームに対応する特定色要素のマスク画像と、Ｎ番目のフレームに対応する特定色要素のマスク画像との差分を演算した後に、演算した差分に対してラプラシアンフィルタ適用値を演算している。これにより、第３実施形態で説明した態様に比較してラプラシアンフィルタ適用値の演算回数が少なくなり、演算負荷を軽減することができる。
【０１０８】
〔第５実施形態〕
次に開示の技術の第５実施形態を説明する。なお、第３及び第４実施形態と同一の部分には同一の符号を付して説明を省略し、第３及び第４実施形態と異なる部分についてのみ説明する。
【０１０９】
図２２には、本第５実施形態に係る画像処理装置３００が示されている。本第５実施形態に係る画像処理装置３００は、画像処理装置１２０(図１３)に対し、前フレーム画像保持部３２及び前フレームマスク画像保持部１２４が省略され、勾配条件画像演算部３０２が設けられている点で相違している。また、本第５実施形態に係る画像処理装置３００は、画像処理装置１２０(図１３)に対し、前フレーム合成結果画像保持部４４に代えて前フレーム最終結果画像保持部３０４が設けられている点でも相違している。
【０１１０】
先に説明した第３及び第４実施形態では、動画像取得部１２によって取得された動画像の各フレーム中の合成対象領域が一定形状であることを前提とし、動画像の各フレームに、マスク動画像の各フレームの画像を合成する態様を説明した。しかし、例えば合成対象領域が人物の顔領域の場合、人物の顔の向きの変化等により各フレーム中の実際の合成対象領域の形状は変化するので、合成対象領域の形状を一定にすると不自然な動画像となることがある。
【０１１１】
このため、本第５実施形態では、第３及び第４実施形態と同様に、マスク画像としてマスク動画像を用意し、更に、一例として図２９に示すように、フレームの形状が異なる複数種のマスク動画像を用意している。そして本第５実施形態では、動画像の各フレーム中の合成対象領域の形状が合成対象領域検出部１６によって検出され、検出された合成対象領域の形状に合致したフレーム形状のマスク動画像がマスク動画像取得部１２２によって選択的に取得される。
【０１１２】
また境界差分演算部３４は、動画像のＮ番目のフレーム画像の第１の境界と、動画像のＮ−１番目のフレーム画像の第２の境界と、の特定の色要素の差分値を演算する。第５実施形態において、第１の境界は、Ｎ番目のフレーム画像中に存在する合成対象領域の外縁に相当する境界である。また第２の境界は、Ｎ−１番目のフレーム画像の合成結果画像をＮ−１番目のフレーム画像中に存在する合成対象領域の画像と置き換えた最終結果画像のうち、第１の境界と同一形状の境界である(図３０も参照)。なお、Ｎ−１番目のフレーム画像の合成結果画像は、前フレーム最終結果画像保持部３０４に保持され、境界差分演算部３４に供給される。
【０１１３】
また、勾配条件画像演算部３０２は、動画像のＮ番目のフレームに合成するマスク画像の二次微分値と、動画像のＮ−１番目のフレームの最終結果画像のうち、第１の境界と同一形状の第２の境界内の画像の二次微分値と、の差分を勾配条件画像として求める。なお、Ｎ−１番目のフレーム画像の合成結果画像は、前フレーム最終結果画像保持部３０４から勾配条件画像演算部３０２に供給される。
【０１１４】
画像処理装置３００は、例えば図２３に示すコンピュータ６０で実現することができる。図２３に示すコンピュータ６０の記憶部６６には、コンピュータ６０を画像処理装置１０として機能させるためのマスク合成プログラム７６Ｂが記憶されている。ＣＰＵ６２は、マスク合成プログラム７６Ｂを記憶部６６から読み出してメモリ６４に展開し、マスク合成プログラム７６Ｂが有するプロセスを順次実行する。
【０１１５】
マスク合成プログラム７６Ｂは、マスク合成プログラム７６Ａと比較し、前フレーム画像保持プロセス９２及び前フレームマスク画像保持プロセス１３０が省略され、マスク画像差分演算取得プロセス１３２に代えて勾配条件画像演算プロセス３０６を有している。またマスク合成プログラム７６Ｂは、前フレーム合成結果画像保持プロセス１０４に代えて前フレーム最終結果画像保持プロセス３０８を有している。ＣＰＵ６２は、勾配条件画像演算プロセス３０６を実行することで、図２２に示す勾配条件画像演算部３０２として動作する。またＣＰＵ６２は、前フレーム最終結果画像保持プロセス３０８を実行することで、図２２に示す前フレーム最終結果画像保持部３０４として動作する。これにより、マスク合成プログラム７６Ｂを実行したコンピュータ６０が、画像処理装置３００として機能することになる。なお、マスク合成プログラム７６Ｂは開示の技術における画像処理プログラムの一例である。
【０１１６】
本第５実施形態に係る画像処理装置３００では、動画像取得部１２、マスク動画像取得部１２２、合成対象領域検出部１６及び２個の色要素分離部１８,２０により、図２４に示す色要素分離処理が実行される。以下、図２４に示す色要素分離処理について、第３実施形態で説明した色要素分離処理(図１５)と異なる部分を主に説明する。
【０１１７】
色要素分離処理のステップ２３０において、動画像取得部１２は変数Ｎに１を設定し、次のステップ２３２において、動画像取得部１２は、処理対象の動画像のうちＮ番目のフレームの画像を取得する。次のステップ３１０において、合成対象領域検出部１６は、動画像取得部１２によって取得されたＮ番目のフレームの画像の中から合成対象領域を検出し、Ｎ番目のフレームの画像における合成対象領域の位置、サイズに加えて形状も検出する。またステップ２３６において、色要素分離部１８は、動画像取得部１２によって取得されたＮ番目のフレームの画像を複数の色要素に分離する。
【０１１８】
また、合成対象領域検出部１６によって検出された合成対象領域の位置、サイズ及び形状はマスク動画像取得部１２２に供給される。次のステップ３１２において、マスク動画像取得部１２２は、例えば記憶部６６等に予め記憶されたマスク動画像の中から、処理対象のＮ番目のフレームの画像に合成するマスク画像を取得する。なお、マスク動画像取得部１２２は、マスク画像の取得にあたり、合成対象領域検出部１６によって検出された合成対象領域の形状に合致したフレーム形状のマスク動画像を選択的に取得する。
【０１１９】
なお、次のステップ２４０以降の処理は、第３実施形態で説明した色要素分離処理(図１５)と同一であるので説明を省略する。
【０１２０】
また、第５実施形態に係る画像処理装置３００の画像合成部２２Ｂ〜２６Ｂの各々では、Ｎ番目のフレームの特定色要素の画像が色要素分離部１８から入力される度に、境界差分演算部３４及び選択部３８により、図２５に示す境界差分演算処理が実行される。以下、図２５に示す境界差分演算処理について、第１実施形態で説明した境界差分演算処理(図４)と異なる部分を主に説明する。
【０１２１】
境界差分演算処理のステップ１７０において、境界差分演算部３４は、変数Ｎの値が２以上か否か判定する。変数Ｎの値が２以上の場合、ステップ１７０の判定が肯定されてステップ３１４に移行する。ステップ３１４において、境界差分演算部３４は、色要素分離部１８より入力されたＮ番目のフレームの特定色要素の画像から、合成対象領域検出部１６によって検出された合成対象領域のデータを取り出す。これにより、図３０に符号「３２０」を付して示す領域のデータが取り出される。
【０１２２】
また、ステップ３１６において、境界差分演算部３４は、前フレーム最終結果画像保持部３０４に保持されているＮ−１番目のフレームの特定色要素の最終結果画像から、Ｎ番目のフレームの合成対象領域と同一形状の領域のデータを取り出す。これにより、Ｎ−１番目のフレームにおける合成対象領域の形状と無関係に、図３０に符号「３２２」を付して示す領域のデータが取り出される。
【０１２３】
ステップ３１８において、境界差分演算部３４は、Ｎ番目のフレームの画像の合成対象領域の境界と、Ｎ−１番目のフレームの最終結果画像におけるＮ番目のフレームの合成対象領域と同一形状の領域の境界と、の画素値の差分(境界差分γＤＮ(ｘ,ｙ))を演算する。なお、境界差分γＤＮ(ｘ,ｙ)は、Ｎ番目のフレームの画像の合成対象領域の境界をγＴＮ(ｘ,ｙ)、Ｎ−１番目のフレームの最終結果画像におけるＮ番目のフレームの合成対象領域と同一形状の領域の境界をγＦＮ−１(ｘ,ｙ)とすると、次の(24)式で演算できる。
γＤＮ(ｘ,ｙ)＝γＴＮ(ｘ,ｙ)−γＦＮ−１(ｘ,ｙ)  …(24)
上記の(24)式の演算を行うことにより、図３０に符号「３２４」を付して示す境界画素差分画像(境界差分γＤＮ(ｘ,ｙ))のデータが得られる。
【０１２４】
なお、次のステップ１８０以降の処理は、第１実施形態で説明した境界差分演算処理(図４)と同一であるので説明を省略する。
【０１２５】
続いて、第５実施形態に係る勾配条件画像演算部３０２によって実行される勾配条件画像演算処理について、図２６を参照して説明する。
【０１２６】
勾配条件画像演算処理のステップ３５０において、勾配条件画像演算部３０２は、変数Ｎの値が２以上か否か判定する。変数Ｎの値は当初は１であるので、ステップ３５０の判定が否定されて勾配条件画像演算処理を終了する。この場合、境界差分演算部３４の指示により、Ｎ(＝１)番目のフレームの画像に対応する特定色要素の合成結果画像が、特定色要素のマスク画像に基づいて生成される。
【０１２７】
また、変数Ｎの値が２以上になると、ステップ３５０の判定が肯定されてステップ３５２に移行する。ステップ３５２において、勾配条件画像演算部３０２は、前フレーム最終結果画像保持部３０４に保持されているＮ−１番目のフレームの特定色要素の最終結果画像から、Ｎ番目のフレームの合成対象領域と同一形状の領域のデータを取り出す。これにより、Ｎ−１番目のフレームにおける合成対象領域の形状と無関係に、図３０に符号「３２２」を付して示す領域のデータが取り出される。また、次のステップ３５４において、勾配条件画像演算部３０２は、ステップ３５２で取り出した領域の画像に対してラプラシアンフィルタを適用し、ラプラシアンフィルタ適用画像(二次微分値)を演算する。これにより、図３０に符号「３２６」を付して示す画像(ラプラシアンフィルタ適用結果ＬＦＮ−1)が生成される。
【０１２８】
ステップ３５６において、勾配条件画像演算部３０２は、色要素分離部２０から入力されたＮ番目のフレームに対応する特定色要素のマスク画像のデータを取り出す。図３０では、ステップ３５６でデータが取り出されるマスク画像に符号「３２８」を付して示す。また、次のステップ３５８において、勾配条件画像演算部３０２は、Ｎ番目のフレームに対応する特定色要素のマスク画像に対してラプラシアンフィルタを適用し、ラプラシアンフィルタ適用画像(二次微分値)を演算する。これにより、図３０に符号「３３０」を付して示す画像(ラプラシアンフィルタ適用結果ＬＳＮ)が生成される。
【０１２９】
次のステップ３６０において、勾配条件画像演算部３０２は、Ｎ番目のフレームに対応する特定色要素の画像のラプラシアンフィルタ適用結果ＬＳNとＮ−１番目のフレームに対応する特定色要素の画像のラプラシアンフィルタ適用結果ＬＦN-1との差分を演算する。ラプラシアンフィルタ適用結果の差分ＬＳｄＮは以下の(25)式で算出できる。
ＬＳｄＮ(ｘ,ｙ)＝ＬＳＮ(ｘ,ｙ)−ＬＦＮ−１(ｘ,ｙ)  …(25)
上記の(25)式の演算を行うことで、図３０に符号「３３２」を付して示す差分画像(ラプラシアンフィルタ適用結果の差分ＬＳｄＮ)が得られる。
【０１３０】
次のステップ３６２において、勾配条件画像演算部３０２は、複数の差分画像演算部４０のうち、特定色要素のラプラシアンフィルタ適用結果の差分ＬＳｄＮを出力する何れか１つの差分画像演算部４０を選択する。そしてステップ３６４において、勾配条件画像演算部３０２は、特定色要素のラプラシアンフィルタ適用結果の差分ＬＳｄＮを、ステップ３６２で選択した差分画像演算部４０へ出力し、勾配条件画像演算処理を終了する。
【０１３１】
画像処理装置３００の画像合成部２２Ｂ〜２６Ｂの各々では、Ｎ番目のフレームの特定色要素の境界差分γＤＮ(ｘ,ｙ)とラプラシアンフィルタ適用結果の差分ＬＳｄＮが入力される度に、差分画像演算部４０により、図２７に示す差分画像演算処理が実行される。ステップ３７０において、差分画像演算部４０は、入力された境界差分γＤＮ(ｘ,ｙ)を境界条件(境界差分の画素値を保存する条件)、ラプラシアンフィルタ適用結果の差分ＬＳｄＮを勾配条件として、特定色要素の差分画像ＤＮ(ｘ,ｙ)を演算する。この演算は、境界差分γＤＮ(ｘ,ｙ)を境界条件とし、マスク画像のラプラシアンフィルタ適用値の差分ＬＳｄＮ(ｘ,ｙ)を勾配情報としてポアソン方程式を解くことで算出できる。算出式は前出の(21)式と同じである。この演算により、図３０に符号「３３４」を付して示す差分画像(差分画像ＤＮ(ｘ,ｙ))が得られる。
【０１３２】
次のステップ３７２において、差分画像演算部４０は、演算した特定色要素の差分画像ＤＮ(ｘ,ｙ)を合成結果画像生成部４６へ出力し、差分画像演算処理を終了する。
【０１３３】
また、画像処理装置３００の画像合成部２２Ｂ〜２６Ｂの各々では、合成結果画像生成部４６により、図２８に示す合成結果画像生成処理が行われる。以下、図２８に示す合成結果画像生成処理について、第１実施形態で説明した合成結果画像生成処理(図６)と異なる部分を主に説明する。
【０１３４】
第５実施形態に係る合成結果画像生成処理では、ステップ２００の判定が肯定された場合にステップ３８０へ移行する。ステップ３８０において、合成結果画像生成部４６は、前フレーム最終結果画像保持部３０４に保持されているＮ−１番目のフレームの特定色要素の最終結果画像から、Ｎ番目のフレームの合成対象領域と同一形状の領域のデータＦＮ−１を取り出す。
【０１３５】
またステップ３８２において、合成結果画像生成部４６は、Ｎ−１番目のフレームの最終結果画像から取り出したＮ番目のフレームの合成対象領域と同一形状の領域の画像に、切替部４２から入力されたＮ番目のフレームの画像の差分画像ＤＮ(ｘ,ｙ)を加算する。この加算は(22)式の演算と同じであり、この演算により、Ｎ番目のフレームの画像に対応する特定色要素の合成結果画像ＦＮ(図３０に符号「３３６」を付して示す画像)が生成される。
【０１３６】
なお、次のステップ２０８以降の処理は、第１実施形態で説明した合成結果画像生成処理(図６)と同一であるので説明を省略する。
【０１３７】
このように、本第５実施形態では、Ｎ番目のフレームの合成対象領域の形状を検出し、Ｎ−１番目のフレームの最終結果画像から、Ｎ番目のフレームの合成対象領域と同一形状の領域ＦＮ−１を取り出している。また、Ｎ−１番目のフレームの最終結果画像から取り出したＮ番目のフレームの合成対象領域と同一形状の領域ＦＮ−１を用いて、境界差分γＤＮ(ｘ,ｙ)やラプラシアンフィルタ適用結果の差分ＬＳｄＮ、差分画像ＤＮ(ｘ,ｙ)を演算している。これにより、動画像の各フレーム中の合成対象領域の形状の変化に応じて、合成対象領域の画像と置き換えられる差分画像ＤＮ(ｘ,ｙ)の形状が変更される。従って、図２９に最終結果画像として示すように、動画像の各フレーム中の合成対象領域の形状の変化に応じた自然な動画像が得られる。
【０１３８】
また、第３実施形態と同様に、差分画像ＤＮは、フレーム間の境界画素の差分γＤＮが小さく、またマスク画像間の差が小さいほど差が０に近い画像となるので、初期値を０として計算したときに計算の収束が速い。従って、本第５実施形態においても、第３実施形態と同様に、差分画像演算部４０による差分画像Ｄの演算は短時間で完了する。
【０１３９】
〔第６実施形態〕
次に開示の技術の第６実施形態を説明する。なお、本第６実施形態は第５実施形態と同一の構成であるので、各部分に同一の符号を付して構成の説明を省略し、以下、本第６実施形態の作用を説明する。
【０１４０】
本第６実施形態では、第５実施形態で説明した勾配条件画像演算処理(図２６)に代えて、図３１に示す勾配条件画像演算処理を行う。第６実施形態に係る勾配条件画像演算処理のステップ３５０において、勾配条件画像演算部３０２は、変数Ｎの値が２以上か否か判定する。変数Ｎの値は当初は１であるので、ステップ３５０の判定が否定されてマスク画像差分演算処理を終了する。
【０１４１】
また、変数Ｎの値が２以上になると、ステップ３５０の判定が肯定されてステップ３５２に移行する。ステップ３５２において、勾配条件画像演算部３０２は、前フレーム最終結果画像保持部３０４に保持されているＮ−１番目のフレームの特定色要素の最終結果画像から、Ｎ番目のフレームの合成対象領域と同一形状の領域のデータを取り出す。これにより、図３２に符号「３２２」を付して示す領域のデータが取り出される。また、次のステップ３５６において、勾配条件画像演算部３０２は、色要素分離部２０から入力されたＮ番目のフレームに対応する特定色要素のマスク画像のデータを取り出す。図３２では、ステップ３５６でデータが取り出されるマスク画像に符号「３２８」を付して示す。
【０１４２】
次のステップ３８０において、勾配条件画像演算部３０２は、Ｎ−１番目のフレームの特定色要素の最終結果画像から取り出したＮ番目のフレームの合成対象領域と同一形状の領域の画像と、Ｎ番目のフレームに対応するマスク画像と、の差分を演算する。これにより、図３２に符号「３３８」を付して示す差分画像が得られる。またステップ３８２において、勾配条件画像演算部３０２は、ステップ３８０の演算で得られた差分画像に対してラプラシアンフィルタを適用し、ラプラシアンフィルタ適用画像(二次微分値)ＬＳｄＮを演算する(次の(26)式を参照)。
ＬＳｄＮ(ｘ,ｙ)＝Ｌ(ＳＮ(ｘ,ｙ)−ＦＮ−１(ｘ,ｙ))  …(26)
これにより、図３２に符号「３４０」を付して示す画像(ラプラシアンフィルタ適用結果)が生成される。
【０１４３】
次のステップ３６２以降の処理は、第５実施形態で説明した勾配条件画像演算処理と同じであるので、説明を省略する。
【０１４４】
前述の第５実施形態では、Ｎ−１番目のフレームの最終結果画像から取り出したＮ番目のフレームの合成対象領域と同一形状の領域の画像と、Ｎ番目のフレームに対応するマスク画像について、ラプラシアンフィルタ適用値を各々演算した後に差分を演算していた。これに対して第６実施形態では、図３２に示すように、Ｎ−１番目のフレームの最終結果画像から取り出したＮ番目のフレームの合成対象領域と同一形状の領域の画像と、Ｎ番目のフレームに対応する特定色要素のマスク画像と、の差分画像を演算する。そして、演算した差分画像に対してラプラシアンフィルタ適用値を演算している。これにより、第５実施形態で説明した態様に比較してラプラシアンフィルタ適用値の演算回数が少なくなり、演算負荷を軽減することができる。
【０１４５】
なお、第５,第６実施形態は、動画像中の連続する２フレーム間で合成対象領域の境界形状が変化していることを前提としている。これに対し、動画像中の連続する２フレーム間で合成対象領域の境界形状が変化しない場合は、境界差分γＤＮ(ｘ,ｙ)として、Ｎ−１番目のフレームの元画像ＴＮ−１の合成対象領域と、Ｎ番目のフレームの元画像ＴＮの合成対象領域との境界差分を演算してもよい。また同様に、差分画像ＤＮ(ｘ,ｙ)として、Ｎ−１番目のフレームのマスク画像のラプラシアンフィルタ適用結果ＬＳＮ−１と、Ｎ番目のフレームのマスク画像のラプラシアンフィルタ適用結果ＬＳＮとの差分を演算してもよい。この場合、(24)式に代えて(11)式、(25)式に代えて(20)式の演算を行えばよい。
【０１４６】
また、動画像中の連続する２フレーム間で合成対象領域の境界形状が変化しない場合、連続する２フレームのマスク画像のラプラシアンフィルタ適用結果の差分を事前に演算して保持しておき、必要時に読み出して用いるようにしてもよい。この場合、演算負荷を更に軽減することができる。
【０１４７】
更に、上記では動画像中に被写体として写っている人物のプライバシーの保護を目的として、動画像中に被写体として写っている人物以外の他の人の顔を表す画像や、複数の人の平均的な顔を表す画像等をマスク画像として用いる態様を説明した。しかし、開示の技術の用途はプライバシーの保護に限られるものではなく、例えばＴＶ電話の動画像等において、人物などの良い表情の画像を、そうでない画像に合成するベストショット合成に適用することも可能である。ベストショット合成の場合は、自動又は手動にて任意の人物のベストショットがマスク画像(動画像)として切り出され、自動又は手動にて合成する任意フレームの任意箇所が指定される。これにより、任意フレームの任意箇所に対し、切り出されたマスク画像の合成が行われることになる。
【０１４８】
また、上記では処理対象の動画像としてカラー動画像を適用した態様を説明したが、これに限定されるものではなく、処理対象の動画像としてモノクロの動画像を適用することも可能である。
【０１４９】
また、前出の(１),(４),(14),(19)式では、演算対象の画素に対して上下左右に位置する４画素の値を用いてラプラシアンフィルタ適用値を演算しているが、より多数の画素(例えば周囲８画素)の値を用いて演算してもよい。また、ラプラシアンフィルタに代えて、二次微分に相当する値が得られる他のフィルタを適用してもよい。
【０１５０】
更に、上記では合成対象領域として人物の顔に相当する顔領域を適用した態様を説明したが、これに限定されるものではなく、顔領域以外の他の領域を適用してもよい。例えばプライバシーの保護が目的であれば、合成対象領域として顔領域のうちの眼部領域を適用し、当該合成領域に異なる人物の眼部を表すマスク画像を合成することも、個人の特定を阻止することに有効であるので好ましい。合成対象領域として眼部領域を適用した場合、マスク画像としては、動画像中に被写体として写っている人物以外の他の人の眼部領域を表す画像や、複数の人の平均的な眼部領域を表す画像等が設定される。
【０１５１】
また、上記では開示の技術を、動画像の各フレーム中に存在する人物に対応する合成対象領域に、プライバシーの保護を図る目的で設定したマスク画像を合成する態様を説明したが、これに限られるものではない。開示の技術は、マスク画像以外の一般的な画像の合成に適用することも可能であり、合成対象領域は動画像の各フレーム中に存在する人物に対応する領域に限られるものではなく、合成画像もプライバシーの保護を図る目的で設定したマスク画像に限られない。また、合成画像は静止画像に限られるものではなく、合成画像として動画像を適用することも可能である。
【０１５２】
また、上記では開示の技術に係る画像処理プログラムの一例であるマスク合成プログラムが記憶部６６に予め記憶（インストール）されている態様を説明したが、これに限定されるものではない。開示の技術に係る画像処理プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【０１５３】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【０１５４】
以上の実施形態に関し、更に以下の付記を開示する。
【０１５５】
（付記１）
動画像のＮ番目のフレームに対応する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレームに対応する合成対象領域の外縁に相当する境界と、の差分値を演算し、
差分画像の境界の画素値が演算した前記差分値を維持しながら、前記差分画像の境界の内部の領域が所定の勾配条件に合致するように前記差分画像を生成し、
前記Ｎ−１番目のフレームに対して求めた、前記Ｎ−１番目のフレーム中の前記合成対象領域に合成画像を合成した結果に相当する合成結果画像に、生成した前記差分画像を加算した画像を、前記Ｎ番目のフレームに対する前記合成結果画像として求め、求めた前記Ｎ番目のフレームに対する前記合成結果画像を、前記Ｎ番目のフレーム中の前記合成対象領域の画像と置き換える
ことを含む画像処理方法。
【０１５６】
（付記２）
前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、の差分値を演算し、
前記差分画像の生成において、前記差分画像の境界の画素値が演算した前記差分値を維持しながら、前記差分画像の境界の内部が、前記所定の勾配条件として前記境界の内部の領域の二次微分値が０に近づくように前記差分画像を生成する付記１記載の画像処理方法。
【０１５７】
（付記３）
前記差分値を演算し、前記差分画像を生成し、前記合成結果画像を求めて前記合成対象領域の画像と置き換えることを、前記差分値を演算し、前記差分画像を生成し、前記合成結果画像を求めて前記合成対象領域の画像と置き換えることの合計処理時間内に入力される前記動画像のフレーム数分だけ並列に処理する付記２記載の画像処理方法。
【０１５８】
（付記４）
前記合成結果画像を求めて前記合成対象領域の画像と置き換えることで求めた前記Ｎ番目のフレームに対する前記合成結果画像を二次微分した画像と、前記合成画像を二次微分した画像と、の差分を誤差画像として求め、
前記差分画像の生成は、前記Ｎ番目のフレームに対する前記合成結果画像から前記誤差画像を求めた場合、Ｎ＋１番目のフレームに対応する差分画像として、前記境界の内部の領域の二次微分値が前記誤差画像に合致する差分画像を生成する付記２又は付記３記載の画像処理方法。
【０１５９】
（付記５）
前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、の差分値を演算し、
動画像のＮ番目のフレームに合成する合成画像の二次微分値と、前記動画像のＮ−１番目のフレームに合成する合成画像の二次微分値と、の差分を勾配条件画像として求め、
前記差分画像の生成を、境界の画素値が演算した前記差分値を維持しながら、前記境界の内部が、前記所定の勾配条件として前記勾配条件画像に合致するように行う付記１記載の画像処理方法。
【０１６０】
（付記６）
動画像のＮ番目のフレームに合成する合成画像と、前記動画像のＮ−１番目のフレームに合成する合成画像と、の差分を求め、求めた差分の二次微分値を、前記勾配条件画像として求める付記５記載の画像処理方法。
【０１６１】
（付記７）
前記勾配条件画像を予め求めて保持しておき、
前記合成結果画像を求める際に、前記勾配条件画像を読み出して用いる付記５又は付記６記載の画像処理方法。
【０１６２】
（付記８）
前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する第１の境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域に合成画像を合成した結果に相当する合成結果画像を前記Ｎ−１番目のフレーム中の前記合成対象領域の画像と置き換えた最終結果画像のうち、前記第１の境界と同一形状の第２の境界と、の差分値を演算し、
動画像のＮ番目のフレームに合成する合成画像の二次微分値と、前記動画像のＮ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像の二次微分値と、の差分を勾配条件画像として求め、
前記差分画像の生成を、境界の画素値が演算した前記差分値を維持しながら、前記境界の内部が、前記所定の勾配条件として前記勾配条件画像に合致するように行い、
前記Ｎ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像に、生成した前記差分画像を加算した画像を、前記Ｎ番目のフレームに対する前記合成結果画像として求め、求めた前記Ｎ番目のフレームに対する前記合成結果画像を、前記Ｎ番目のフレーム中の前記合成対象領域の画像と置き換える付記１記載の画像処理方法。
【０１６３】
（付記９）
動画像のＮ番目のフレームに合成する合成画像と、前記動画像のＮ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像と、の差分を求め、求めた差分の二次微分値を、前記勾配条件画像として求める付記８記載の画像処理方法。
【０１６４】
（付記１０）
前記差分値の演算及び前記差分画像の生成を、前記動画像の２番目以降のフレームに対して行い、前記合成結果画像を求めて前記合成対象領域の画像と置き換える際に、前記動画像の前記１番目のフレームに対しては、境界の画素値が前記動画像の１番目のフレーム中に存在する合成対象領域の境界の画素値のまま維持され、前記境界の内部の領域の二次微分値が前記合成画像の二次微分値に合致する前記合成結果画像を生成する付記１〜付記９の何れか１項記載の画像処理方法。
【０１６５】
（付記１１）
前記動画像は前記各フレームが各々カラー画像であり、前記差分値の演算は各色要素毎に前記差分値を演算し、前記差分画像の生成は各色要素毎に前記差分画像を生成し、前記画像合成結果画像の生成は、各色要素毎に前記合成結果画像を生成し、生成した各色要素毎の前記合成結果画像を前記Ｎ番目のフレームの各色要素毎の画像中の前記合成対象領域の画像と各々置き換える付記１〜付記１０の何れか１項記載の画像処理方法。
【０１６６】
（付記１２）
前記合成対象領域は人物の顔又は顔の一部分に対応する領域である付記１〜付記１１の何れか１項記載の画像処理方法。
【０１６７】
（付記１３）
コンピュータに、
動画像のＮ番目のフレームに対応する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレームに対応する合成対象領域の外縁に相当する境界と、の差分値を演算し、
差分画像の境界の画素値が演算した前記差分値を維持しながら、前記差分画像の境界の内部の領域が所定の勾配条件に合致するように前記差分画像を生成し、
前記Ｎ−１番目のフレームに対して求めた、前記Ｎ−１番目のフレーム中の前記合成対象領域に合成画像を合成した結果に相当する合成結果画像に、生成した前記差分画像を加算した画像を、前記Ｎ番目のフレームに対する前記合成結果画像として求め、求めた前記Ｎ番目のフレームに対する前記合成結果画像を、前記Ｎ番目のフレーム中の前記合成対象領域の画像と置き換える
ことを含む処理を実行させるための画像処理プログラム。
（付記１４）
前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、の差分値を演算し、
前記差分画像の生成において、前記差分画像の境界の画素値が演算した前記差分値を維持しながら、前記差分画像の境界の内部が、前記所定の勾配条件として前記境界の内部の領域の二次微分値が０に近づくように前記差分画像を生成する付記１３記載の画像処理プログラム。
【０１６８】
（付記１５）
前記差分値を演算し、前記差分画像を生成し、前記合成結果画像を求めて前記合成対象領域の画像と置き換えることを、前記差分値を演算し、前記差分画像を生成し、前記合成結果画像を求めて前記合成対象領域の画像と置き換えることの合計処理時間内に入力される前記動画像のフレーム数分だけ並列に処理する付記１４記載の画像処理プログラム。
【０１６９】
（付記１６）
前記合成結果画像を求めて前記合成対象領域の画像と置き換えることで求めた前記Ｎ番目のフレームに対する前記合成結果画像を二次微分した画像と、前記合成画像を二次微分した画像と、の差分を誤差画像として求め、
前記差分画像の生成は、前記Ｎ番目のフレームに対する前記合成結果画像から前記誤差画像を求めた場合、Ｎ＋１番目のフレームに対応する差分画像として、前記境界の内部の領域の二次微分値が前記誤差画像に合致する差分画像を生成する付記１４又は付記１５記載の画像処理プログラム。
【０１７０】
（付記１７）
前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、の差分値を演算し、
動画像のＮ番目のフレームに合成する合成画像の二次微分値と、前記動画像のＮ−１番目のフレームに合成する合成画像の二次微分値と、の差分を勾配条件画像として求め、
前記差分画像の生成を、境界の画素値が演算した前記差分値を維持しながら、前記境界の内部が、前記所定の勾配条件として前記勾配条件画像に合致するように行う付記１３記載の画像処理プログラム。
【０１７１】
（付記１８）
動画像のＮ番目のフレームに合成する合成画像と、前記動画像のＮ−１番目のフレームに合成する合成画像と、の差分を求め、求めた差分の二次微分値を、前記勾配条件画像として求める付記１７記載の画像処理プログラム。
【０１７２】
（付記１９）
前記勾配条件画像を予め求めて保持しておき、
前記合成結果画像を求める際に、前記勾配条件画像を読み出して用いる付記１７又は付記１８記載の画像処理プログラム。
【０１７３】
（付記２０）
前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する第１の境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域に合成画像を合成した結果に相当する合成結果画像を前記Ｎ−１番目のフレーム中の前記合成対象領域の画像と置き換えた最終結果画像のうち、前記第１の境界と同一形状の第２の境界と、の差分値を演算し、
動画像のＮ番目のフレームに合成する合成画像の二次微分値と、前記動画像のＮ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像の二次微分値と、の差分を勾配条件画像として求め、
前記差分画像の生成を、境界の画素値が演算した前記差分値を維持しながら、前記境界の内部が、前記所定の勾配条件として前記勾配条件画像に合致するように行い、
前記Ｎ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像に、生成した前記差分画像を加算した画像を、前記Ｎ番目のフレームに対する前記合成結果画像として求め、求めた前記Ｎ番目のフレームに対する前記合成結果画像を、前記Ｎ番目のフレーム中の前記合成対象領域の画像と置き換える付記１３の何れか１項記載の画像処理プログラム。
【０１７４】
（付記２１）
動画像のＮ番目のフレームに合成する合成画像と、前記動画像のＮ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像と、の差分を求め、求めた差分の二次微分値を、前記勾配条件画像として求める請求項２０記載の画像処理プログラム。
【０１７５】
（付記２２）
前記差分値の演算及び前記差分画像の生成を、前記動画像の２番目以降のフレームに対して行い、
前記合成結果画像を求めて前記合成対象領域の画像と置き換える際に、前記動画像の前記１番目のフレームに対しては、境界の画素値が前記動画像の１番目のフレーム中に存在する合成対象領域の境界の画素値のまま維持され、前記境界の内部の領域の二次微分値が前記合成画像の二次微分値に合致する前記合成結果画像を生成する付記１３〜付記２１の何れか１項記載の画像処理プログラム。
【０１７６】
（付記２３）
前記動画像は前記各フレームが各々カラー画像であり、
前記差分値の演算は各色要素毎に前記差分値を演算し、
前記差分画像の生成は各色要素毎に前記差分画像を生成し、
前記画像合成結果画像の生成は、各色要素毎に前記合成結果画像を生成し、
生成した各色要素毎の前記合成結果画像を前記Ｎ番目のフレームの各色要素毎の画像中の前記合成対象領域の画像と各々置き換える付記１３〜付記２２の何れか１項記載の画像処理プログラム。
【０１７７】
（付記２４）
前記合成対象領域は人物の顔又は顔の一部分に対応する領域である付記１３〜付記２３の何れか１項記載の画像処理プログラム。
【０１７８】
（付記２５）
動画像のＮ番目のフレームに対応する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレームに対応する合成対象領域の外縁に相当する境界と、の差分値を演算する差分値演算部と、
差分画像の境界の画素値が前記差分値演算部によって演算された前記差分値を維持しながら、前記差分画像の境界の内部の領域が所定の勾配条件に合致するように前記差分画像を生成する差分画像生成部と、
前記Ｎ−１番目のフレームに対して求められた、前記Ｎ−１番目のフレーム中の前記合成対象領域に合成画像を合成した結果に相当する合成結果画像に、前記差分画像生成部で生成された前記差分画像を加算した画像を、前記Ｎ番目のフレームに対する前記合成結果画像として求め、求めた前記Ｎ番目のフレームに対する前記合成結果画像を、前記Ｎ番目のフレーム中の前記合成対象領域の画像と置き換える画像合成部と、
を含む画像処理装置。
（付記２６）
前記差分値演算部は、前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、の差分値を演算し、
前記差分画像生成部は、前記差分画像の生成において、前記差分画像の境界の画素値が演算した前記差分値を維持しながら、前記差分画像の境界の内部が、前記所定の勾配条件として前記差分画像の境界の内部の領域の二次微分値が０に近づくように前記差分画像を生成する付記２５記載の画像処理装置。
【０１７９】
（付記２７）
前記差分値演算部が前記差分値を演算し、前記差分画像生成部が前記差分画像を生成し、前記画像合成部が前記合成結果画像を求めて前記合成対象領域の画像と置き換えることを、前記差分値演算部が前記差分値を演算し、前記差分画像生成部が前記差分画像を生成し、前記画像合成部が前記合成結果画像を求めて前記合成対象領域の画像と置き換えることの合計処理時間内に入力される前記動画像のフレーム数分だけ並列に処理する付記２６記載の画像処理装置。
【０１８０】
（付記２８）
前記画像合成部によって求められた前記Ｎ番目のフレームに対する前記合成結果画像を二次微分した画像と、前記合成画像を二次微分した画像と、の差分を誤差画像として求める誤差演算部を更に備え、
前記差分画像生成部は、前記誤差演算部により前記Ｎ番目のフレームに対する前記合成結果画像から前記誤差画像が求められた場合、Ｎ＋１番目のフレームに対応する差分画像として、前記境界の内部の領域の二次微分値が前記誤差画像に合致する差分画像を生成する付記２６又は付記２７記載の画像処理装置。
【０１８１】
（付記２９）
前記差分値演算部は、前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域の外縁に相当する境界と、の差分値を演算し、
動画像のＮ番目のフレームに合成する合成画像の二次微分値と、前記動画像のＮ−１番目のフレームに合成する合成画像の二次微分値と、の差分を勾配条件画像として求める勾配条件画像演算部を更に備え、
前記差分画像生成部は、前記差分画像の生成を、境界の画素値が前記差分値演算部によって演算された前記差分値を維持しながら、前記境界の内部が、前記所定の勾配条件として、前記勾配条件画像演算部によって求められた前記勾配条件画像に合致するように行う付記２５記載の画像処理装置。
【０１８２】
（付記３０）
前記勾配条件画像演算部は、動画像のＮ番目のフレームに合成する合成画像と、前記動画像のＮ−１番目のフレームに合成する合成画像と、の差分を求め、求めた差分の二次微分値を、前記勾配条件画像として求める付記２９記載の画像処理装置。
【０１８３】
（付記３１）
前記勾配条件画像演算部は、前記勾配条件画像を予め求めて保持しておき、
前記画像合成部は、前記合成結果画像を求める際に、前記勾配条件画像演算部に保持されている前記勾配条件画像を読み出して用いる付記２９又は付記３０記載の画像処理装置。
【０１８４】
（付記３２）
前記差分値演算部は、前記差分値として、動画像のＮ番目のフレーム中に存在する合成対象領域の外縁に相当する第１の境界と、前記動画像のＮ−１番目のフレーム中に存在する合成対象領域に合成画像を合成した結果に相当する合成結果画像を前記Ｎ−１番目のフレーム中の前記合成対象領域の画像と置き換えた最終結果画像のうち、前記第１の境界と同一形状の第２の境界と、の差分値を演算し、
動画像のＮ番目のフレームに合成する合成画像の二次微分値と、前記動画像のＮ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像の二次微分値と、の差分を勾配条件画像として求める勾配条件画像演算部を更に備え、
前記差分画像生成部は、前記差分画像の生成を、境界の画素値が前記差分値演算部によって演算された前記差分値を維持しながら、前記境界の内部が、前記所定の勾配条件として、前記勾配条件画像演算部によって求められた前記勾配条件画像に合致するように行い、
前記画像合成部は、前記Ｎ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像に、生成した前記差分画像を加算した画像を、前記Ｎ番目のフレームに対する前記合成結果画像として求め、求めた前記Ｎ番目のフレームに対する前記合成結果画像を、前記Ｎ番目のフレーム中の前記合成対象領域の画像と置き換える付記２５記載の画像処理装置。
【０１８５】
（付記３３）
前記勾配条件画像演算部は、動画像のＮ番目のフレームに合成する合成画像と、前記動画像のＮ−１番目のフレームの前記最終結果画像のうち前記第２の境界内の画像と、の差分を求め、求めた差分の二次微分値を、前記勾配条件画像として求める付記３２記載の画像処理装置。
【０１８６】
（付記３４）
前記差分値演算部による前記差分値の演算及び前記差分画像生成部による前記差分画像の生成は、前記動画像の２番目以降のフレームに対して行われ、
前記画像合成部は、前記動画像の前記１番目のフレームに対しては、境界の画素値が前記動画像の１番目のフレーム中に存在する合成対象領域の境界の画素値のまま維持され、前記境界の内部の領域の二次微分値が前記合成画像の二次微分値に合致する前記合成結果画像を生成する付記２５〜付記３３の何れか１項記載の画像処理装置。
【０１８７】
（付記３５）
前記動画像は前記各フレームが各々カラー画像であり、
前記差分値演算部は各色要素毎に前記差分値を演算し、
前記差分画像生成部は各色要素毎に前記差分画像を生成し、
前記画像合成部は、各色要素毎に前記合成結果画像を生成し、生成した各色要素毎の前記合成結果画像を前記Ｎ番目のフレームの各色要素毎の画像中の前記合成対象領域の画像と各々置き換える付記２５〜付記３４の何れか１項記載の画像処理装置。
【０１８８】
（付記３６）
前記合成対象領域は人物の顔又は顔の一部分に対応する領域である付記２５〜付記３５の何れか１項記載の画像処理装置。
【符号の説明】
【０１８９】
１０,５０  画像処理装置
１２  動画像取得部
１４  マスク画像取得部
１６  合成対象領域検出部
１８,２０  色要素分離部
２２  画像合成部
２８  色要素合成部
３０  動画像出力部
３２  前フレーム画像保持部
３４  境界差分演算部
３６  マスク画像保持部
３８  選択部
４０  差分画像演算部
４２  切替部
４４  前フレーム合成結果画像保持部
４６  合成結果画像生成部
５２,５４  二次微分画像演算部
５６  誤差演算部
６０  コンピュータ
６２  ＣＰＵ
６４  メモリ
６６  記憶部
７６  マスク合成プログラム
【図１】
0005949481.tif 000002
【図２】
0005949481.tif 000003
【図３】
0005949481.tif 000004
【図４】
0005949481.tif 000005
【図５】
0005949481.tif 000006
【図６】
0005949481.tif 000007
【図７】
0005949481.tif 000008
【図１０】
0005949481.tif 000009
【図１１】
0005949481.tif 000010
【図１２】
0005949481.tif 000011
【図１３】
0005949481.tif 000012
【図１４】
0005949481.tif 000013
【図１５】
0005949481.tif 000014
【図１６】
0005949481.tif 000015
【図１７】
0005949481.tif 000016
【図２０】
0005949481.tif 000017
【図２２】
0005949481.tif 000018
【図２３】
0005949481.tif 000019
【図２４】
0005949481.tif 000020
【図２５】
0005949481.tif 000021
【図２６】
0005949481.tif 000022
【図２７】
0005949481.tif 000023
【図２８】
0005949481.tif 000024
【図３１】
0005949481.tif 000025
【図３６】
0005949481.tif 000026
【図８】
0005949481.tif 000027
【図９】
0005949481.tif 000028
【図１８】
0005949481.tif 000029
【図１９】
0005949481.tif 000030
【図２１】
0005949481.tif 000031
【図２９】
0005949481.tif 000032
【図３０】
0005949481.tif 000033
【図３２】
0005949481.tif 000034
【図３３】
0005949481.tif 000035
【図３４】
0005949481.tif 000036
【図３５】
0005949481.tif 000037