(57)【要約】【課題】メモリの使用量を低減して、背景画像を生成する。【解決手段】画像処理装置は、履歴バッファ１０２、背景バッファ１０３、履歴バッファ制御部１０４、及び背景バッファ制御部１０５を有する。履歴バッファ１０２は、入力画像の画素値の変化に対応した履歴画像の各画素の画素値及び状態情報を保持する。履歴バッファ制御部１０４は、履歴バッファ１０２に保持された履歴画像の各画素の画素値及び状態情報と、入力画像の各画素の画素値とに基づいて、履歴画像の各画素の画素値及び状態情報を更新する。背景バッファ１０３は、背景画像の各画素の画素値及び状態情報を保持する。背景バッファ制御部１０５は、背景バッファ１０３に保持された背景画像の各画素の画素値及び状態情報と、履歴画像の各画素の画素値及び状態情報とに基づいて、背景画像の各画素の画素値及び状態情報を更新する。【選択図】図１
2020077230.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の画素値の変化に対応した履歴画像の各画素の画素値及び状態情報を保持する第１の保持手段と、
前記第１の保持手段に保持された前記履歴画像の各画素の画素値及び状態情報と、前記入力画像の各画素の画素値とに基づいて、前記履歴画像の各画素の画素値及び状態情報を更新する第１の更新手段と、
背景画像の各画素の画素値及び状態情報を保持する第２の保持手段と、
前記第２の保持手段に保持された前記背景画像の各画素の画素値及び状態情報と、前記履歴画像の各画素の画素値及び状態情報とに基づいて、前記背景画像の各画素の画素値及び状態情報を更新する第２の更新手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記各画素の状態情報は、前記各画素の画素値が前記背景画像の画素値として有効であるかまたは無効であるかを示すことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記入力画像は、撮像装置により撮像された画像であることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記第１の更新手段は、前記第１の保持手段に保持された前記履歴画像の各画素の画素値及び状態情報を更新するために用いられた入力画像よりも後に入力された入力画像であって、同一の撮像装置により撮像された入力画像を用いて、前記第１の保持手段に保持された前記履歴画像の各画素の画素値及び状態情報をさらに更新することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第１の更新手段は、前記履歴画像が初期化されている場合、または、前記履歴画像の画素のうち前記状態情報が有効である画素について、前記入力画像の画素値と前記履歴画像の画素値との差が所定の閾値以下である場合に、実測値として、前記入力画像の画素値に基づいて前記履歴画像の画素値を設定することを特徴とする請求項２乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第１の更新手段は、前記入力画像の画素値と前記履歴画像の画素値との差が所定の閾値より大きく、前記入力画像の画素値と前記履歴画像の近傍にある画素の画素値との差が所定の閾値以下である場合に、予測値として、前記入力画像の画素値に基づいて前記履歴画像の画素値を設定することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記第１の更新手段は、前記入力画像の画素値と前記履歴画像の画素値との差が所定の閾値より大きい場合に、予測値として、前記履歴画像の過去の画素値から求めた画素値の平均値に基づいて前記履歴画像の画素値を設定することを特徴とする請求項５に記載の画像処理装置。
【請求項８】
前記第１の更新手段は、前記入力画像の画素値と前記履歴画像の画素値との差が所定の閾値より大きく、前記入力画像の画素値と前記背景画像から生成された背景カラーマップの色値との差が所定の閾値以下である場合に、予測値として、前記入力画像の画素値に基づいて前記履歴画像の画素値を設定することを特徴とする請求項５に記載の画像処理装置。
【請求項９】
前記第２の更新手段は、前記履歴画像の画素のうち前記状態情報が有効である場合に、前記履歴画像の画素値に基づいて前記背景画像の画素値を設定し、前記履歴画像の画素のうち前記状態情報が無効である場合に、前記背景画像の対応する画素の画素値を保持することを特徴とする請求項２乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記第２の更新手段は、所定のフレーム数の前記入力画像が処理されたタイミングで、前記背景画像の各画素の画素値及び状態情報を更新することを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記第２の更新手段は、前記背景画像に前記状態情報が無効である画素が存在しなくなった場合に、前記背景画像を出力することを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記背景画像を用いて、前記入力画像から前景と背景とを分離する画像分離手段をさらに有することを特徴とする請求項１乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記背景画像と任意の前景画像とを合成して、合成画像を生成する合成画像生成手段をさらに有することを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理装置。
【請求項１４】
コンピュータを、請求項１乃至１３のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【請求項１５】
入力画像の画素値の変化に対応した履歴画像の各画素の画素値及び状態情報を保持する第１の保持ステップと、
前記第１の保持ステップによって保持された前記履歴画像の各画素の画素値及び状態情報と、前記入力画像の各画素の画素値とに基づいて、前記履歴画像の各画素の画素値及び状態情報を更新する第１の更新ステップと、
背景画像の各画素の画素値及び状態情報を保持する第２の保持ステップと、
前記第２の保持ステップにより保持された前記背景画像の各画素の画素値及び状態情報と、前記履歴画像の各画素の画素値及び状態情報とに基づいて、前記背景画像の各画素の画素値及び状態情報を更新する第２の更新ステップと
を含むことを特徴とする画像処理方法。
【請求項１６】
前記各画素の状態情報は、前記各画素の画素値が前記背景画像の画素値として有効であるかまたは無効であるかを示すことを特徴とする請求項１５に記載の画像処理方法。
【請求項１７】
前記第１の更新ステップは、前記履歴画像が初期化されている場合、または、前記履歴画像の画素のうち前記状態情報が有効である画素について、前記入力画像の画素値と前記履歴画像の画素値との差が所定の閾値以下である場合に、実測値として、前記入力画像の画素値に基づいて前記履歴画像の画素値を設定することを特徴とする請求項１６に記載の画像処理方法。
【請求項１８】
前記第１の更新ステップは、前記入力画像の画素値と前記履歴画像の画素値との差が所定の閾値より大きく、前記入力画像の画素値と前記履歴画像の近傍にある画素の画素値との差が所定の閾値以下である場合に、予測値として、前記入力画像の画素値に基づいて前記履歴画像の画素値を設定することを特徴とする請求項１７に記載の画像処理方法。
【請求項１９】
前記第１の更新ステップは、前記入力画像の画素値と前記履歴画像の画素値との差が所定の閾値より大きい場合に、予測値として、前記履歴画像の過去の画素値から求めた画素値の平均値に基づいて前記履歴画像の画素値を設定することを特徴とする請求項１７に記載の画像処理方法。
【請求項２０】
前記第１の更新ステップは、前記入力画像の画素値と前記履歴画像の画素値との差が所定の閾値より大きく、前記入力画像の画素値と前記背景画像から生成された背景カラーマップの色値との差が所定の閾値以下である場合に、予測値として、前記入力画像の画素値に基づいて前記履歴画像の画素値を設定することを特徴とする請求項１７に記載の画像処理方法。
【請求項２１】
前記第２の更新ステップは、前記履歴画像の画素のうち前記状態情報が有効である場合に、前記履歴画像の画素値に基づいて前記背景画像の画素値を設定し、前記履歴画像の画素のうち前記状態情報が無効である場合に、前記背景画像の対応する画素の画素値を保持することを特徴とする請求項１６乃至２０のいずれか１項に記載の画像処理方法。
【請求項２２】
前記第２の更新ステップは、所定のフレーム数の前記入力画像が処理されたタイミングで、前記背景画像の各画素の画素値及び状態情報を更新することを特徴とする請求項１５乃至２１のいずれか１項に記載の画像処理方法。
【請求項２３】
前記第２の更新ステップは、前記背景画像に前記状態情報が無効である画素が存在しなくなった場合に、前記背景画像を出力することを特徴とする請求項１５乃至２２のいずれか１項に記載の画像処理方法。
【請求項２４】
前記背景画像を用いて、前記入力画像から前景と背景とを分離する画像分離ステップをさらに有することを特徴とする請求項１５乃至２３のいずれか１項に記載の画像処理方法。
【請求項２５】
前記背景画像と任意の前景画像とを合成して、合成画像を生成する合成画像生成ステップをさらに有することを特徴とする請求項１５乃至２４のいずれか１項に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、背景画像の生成技術に関する。
【背景技術】
【０００２】
従来、監視カメラや仮想視点映像生成システムでは、映像に含まれる前景と背景のそれぞれに適切な画像処理や伝送処理を行うため、映像に含まれる移動体（すなわち、前景）を背景から分離して、背景画像を生成するものがある。生成した背景画像は、例えば、入力画像と比較して、移動体を検出するために用いられる。これは所謂、背景差分法と呼ばれる手法である。
【０００３】
特許文献１には、撮像対象の背景が変化する場合に対応する方法として、過去に入力された複数の画像フレームに時間方向のフィルタ処理を行い、背景画像を動的に更新する画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２１９６６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の方法では、時間方向のフィルタ処理のため、複数フレームの入力画像を保持するために多くのメモリ量を必要とする。特に、高解像度の入力画像を扱う場合は、メモリ量が膨大になってしまう。
【０００６】
本発明は、このような問題に鑑みてなされたものであり、メモリの使用量を低減して、背景画像を生成することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態における画像処理装置は、入力画像の画素値の変化に対応した履歴画像の各画素の画素値及び状態情報を保持する第１の保持手段と、前記第１の保持手段に保持された前記履歴画像の各画素の画素値及び状態情報と、前記入力画像の各画素の画素値とに基づいて、前記履歴画像の各画素の画素値及び状態情報を更新する第１の更新手段と、背景画像の各画素の画素値及び状態情報を保持する第２の保持手段と、前記第２の保持手段に保持された前記背景画像の各画素の画素値及び状態情報と、前記履歴画像の各画素の画素値及び状態情報とに基づいて、前記背景画像の各画素の画素値及び状態情報を更新する第２の更新手段とを有する。
【発明の効果】
【０００８】
本発明によれば、メモリの使用量を低減して、背景画像を生成することができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置の機能ブロック図である。
【図２】画像処理の概念図である。
【図３】履歴バッファ制御処理のフローチャートである。
【図４】背景バッファ制御処理のフローチャートである。
【図５】画像処理装置のハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
（第１の実施形態）
図１は、第１の実施形態における画像処理装置の機能ブロック図である。
【００１２】
本実施形態における画像処理装置は、撮像部１０１、履歴バッファ１０２、履歴バッファ制御部１０４、背景バッファ１０３、及び背景バッファ制御部１０５を有する。
【００１３】
撮像部１０１は、１または複数の撮像装置により所定のフレームレートで撮像を行い、入力画像（撮像画像）を取得する。
【００１４】
履歴バッファ１０２は、入力画像の画素値の変化に応じて生成された履歴画像の画素値および各画素のアトリビュート（各画素の状態情報を意味する。以下、画素の状態ともいう）を保持する。各画素の状態情報は、各画素の画素値が背景画像の画素値として有効であるかまたは無効であるかを示す。本実施形態では、履歴バッファ１０２のアトリビュートは、対応する画素値の有効または無効を示すフラグであってもよい。また、画素値の有効を示す値、及び無効を示す値は、さらにバリエーションを有してもよい。一例として、画素値の無効を示す値を、当該画素に処理履歴がない場合に不定とし、当該画素の画素値が背景と前景の切り替わりによって未確定である場合に未確定としてもよい。また、画素値の有効を示す値の一例として、当該画素の画素値が入力画像によって更新された値である場合に実測値とし、予測によって求めた値である場合に予測値としてもよい。予測値はさらに、予測方法の違いにより細分化してもよい。一例として、当該画素に対する入力画像の画素値が、近傍にあるアトリビュートが実測値である画素の画素値に近い場合に、入力画像の画素値を予測値として用いてもよい。また、当該画素の過去の画素値から求めた画素値の平均値を予測値として用いてもよい。また、背景バッファの画素値から背景カラーマップを生成し、当該背景カラーマップに格納されている色値と近い値が入力画像の画素値として得られた場合に、当該画素値を予測値として用いてもよい。
【００１５】
履歴バッファ制御部１０４は、入力画像と履歴バッファ１０２（履歴画像）を参照し、履歴バッファ１０２の画素値及び各画素のアトリビュートを更新する。
【００１６】
背景バッファ１０３は、履歴画像の画素の状態に応じて生成された背景画像の画素値及び各画素のアトリビュートを保持する。
【００１７】
背景バッファ制御部１０５は、履歴バッファ１０２と背景バッファ１０３を参照し、背景バッファ１０３の画素値及び各画素のアトリビュートを更新する。
【００１８】
一実施形態では、背景バッファ１０３に保持された背景画像は、入力画像から前景領域を抽出するために使用することができる。言い換えると、背景バッファ１０３に保持された背景画像は、入力画像を前景領域と背景領域に分離するための前景背景分離処理に用いることができる。すなわち、画像処理装置は、背景画像を用いて入力画像を前景と背景とに分離する画像分離部（不図示）を有してもよい。
【００１９】
また、別の実施形態では、背景バッファ１０３に保持された背景画像は、任意の前景画像と合成することで、新たな映像を生成するために使用することができる。すなわち、画像処理装置は、背景画像と任意の前景画像とを合成して、合成画像を生成する合成画像生成部（不図示）を有してもよい。なお、合成画像は、仮想視点映像（仮想視点画像）であってもよい。仮想視点映像を生成する際には、仮想視点に関する情報、具体的には少なくとも仮想視点の位置や方向を表す情報を取得し、その取得した仮想視点に関する情報と、背景場像と、前景画像とに基づいて仮想視点映像が生成されるようにしてもよい。
【００２０】
また、仮想視点映像は、仮想視点に関する情報と、背景場像と、前景画像から生成されるオブジェクトの３次元形状データとに基づいて生成されるようにしてもよい。なお、３次元形状データは本実施形態の画像処理装置で生成されてもよいし、他の装置で生成された３次元形状データを本実施形態の画像処理装置が取得するようにしてもよい。
【００２１】
以上、本実施形態における画像処理装置の主な機能について説明したが、画像処理装置の機能は、上述した機能に限定されるものではない。
【００２２】
図２は、本実施形態における画像処理の概念図である。本実施形態では、画像処理装置は、４フレームの入力画像に対して１回背景バッファ１０３を更新して背景画像を生成し、履歴バッファ１０２の内容をクリア（初期化）する。なお、背景画像の更新頻度は、これに限定されるものではない。また、背景画像の更新頻度は外部からの指示によって変更されてもよい。また、フレーム数ではなく、タイマを利用して所定の時間ごとに、背景画像を更新するようにしてもよい。また、１つの背景画像は、同一の撮像装置によって撮像された複数フレームの入力画像を用いて生成されるようにしてもよい。
【００２３】
本実施形態では、履歴バッファ１０２と背景バッファ１０３の画素値の合成演算として、履歴バッファの画素値のアトリビュートが実測値の場合は履歴バッファの画素値のコピー、アトリビュートが無効の場合は背景バッファの画素値である背景色を用いる。また、履歴バッファ１０２の値をSRC-OVER（ソースオーバー）でα合成した値を予測値として用いてもよい。α合成とは、２つの画像（すなわち、背景画像と履歴画像）を、透過度を表す係数αを用いて合成する手法である。
【００２４】
以下、図２を用いて、背景画像を生成する際の画像処理装置の動作概要を説明する。
【００２５】
背景生成処理の開始時点における履歴バッファ１０２及び背景バッファ１０３の状態をそれぞれ、履歴バッファ２００及び背景バッファ２１７に示す。背景生成処理の開始時点では、履歴バッファ２００及び背景バッファ２１７の全画素のアトリビュートは、対応する各画素値が無効であることを示す値で初期化されている。
【００２６】
１フレーム目の入力画像２０１が入力されると、履歴バッファ制御部１０４は、入力画像２０１と履歴バッファ２００の内容を参照し、履歴バッファ２０９のデータを生成する。初期化されている履歴バッファ２００には有効な画素値が存在しないため、履歴バッファ２００の全画素の内容は、入力画像２０１の画素値で上書きされる。履歴バッファ制御部１０４は、入力画像２０１の全画素の画素値を履歴バッファ１０２に上書きし、履歴バッファ２０９の全画素のアトリビュートに、画素値が有効であることを示す値を設定する。
【００２７】
２フレーム目の入力画像２０２が入力されると、履歴バッファ制御部１０４は、入力画像２０２と履歴バッファ２０９の内容を参照し、履歴バッファ２１０のデータを生成する。履歴バッファ制御部１０４は、履歴バッファ２０９の画像と入力画像２０２を比較し、画素値の差分が所定の閾値を超える場合に当該領域の画素値に対応するアトリビュートに無効を設定する。領域２５０は、前景の移動によって入力画像２０１で前景であった部分が背景に置き換わった領域である。領域２５１は、前景の移動によって入力画像２０２で背景であった部分が前景に置き換わった領域である。領域２５０、領域２５１では、履歴バッファ２０９の画素値と入力画像２０２の画素値が所定の閾値より大きく異なるため、履歴バッファ制御部１０４は、領域２５０、領域２５１に対応する画素のアトリビュートを無効に設定する。
【００２８】
３フレーム目の入力画像２０３が入力されると、履歴バッファ制御部１０４は、入力画像２０３と履歴バッファ２１０を参照し、履歴バッファ２１１のデータを生成する。履歴バッファ制御部１０４は、２フレーム目の処理と同様に、所定の閾値より大きな画素値の差分がある領域に対応する画素のアトリビュートを無効に設定する。
【００２９】
４フレーム目の入力画像２０４が入力されると、履歴バッファ制御部１０４は、入力画像２０４と履歴バッファ２１１を参照し、履歴バッファ２１２のデータを生成する。履歴バッファ制御部１０４は、２フレーム目の処理と同様に、所定の閾値より大きな画素値の差分がある領域に対応する画素のアトリビュートを無効に生成する。
【００３０】
４フレーム目の入力画像２０４を用いた履歴バッファ２１２の更新が完了すると、背景バッファ制御部１０５は、背景バッファ２１７と履歴バッファ２１２のデータを参照し、背景バッファ２１８の背景画像を生成する。初期化されている背景バッファ２１７には有効な画素値が存在しないため、背景バッファ２１７の内容は、履歴バッファ２１２の画素値及びアトリビュートで上書きされる。背景バッファ制御部１０５は、履歴バッファ２１２の全画素の画素値およびアトリビュートを、背景バッファ２１７に上書きする。履歴バッファ２１２に含まれる領域２５２の画素は、アトリビュートが無効に設定されているため、背景バッファ２１８の領域２５３のアトリビュートも無効となる。
【００３１】
背景バッファ２１８の更新が完了すると、履歴バッファ制御部１０４は、履歴バッファ１０２の全画素のアトリビュートを無効にして、履歴バッファ１０２のデータを初期化する。以降同様に、履歴バッファ制御部１０４は、４フレームの入力画像２０５〜２０８に基づいて、履歴バッファ２１３〜２１６のデータを順次生成する。
【００３２】
次の４フレーム目の入力画像２０８を用いた履歴バッファ２１６の更新が完了すると、背景バッファ制御部１０５は、背景バッファ２１８と履歴バッファ２１６のデータを参照し、背景バッファ２１９のデータ（背景画像）を生成する。履歴バッファ２１６において、領域２５４の画素のアトリビュートは無効であり、背景バッファ２１８の領域２５３に対応する画素のアトリビュートは有効である。したがって、背景バッファ２１９では、領域２５４に対応する画素は背景バッファ２１８の画素値およびアトリビュートが保持され、その他の領域は履歴バッファ２１６の画素値およびアトリビュートで上書きされる。これにより、背景バッファ２１９の全画素のアトリビュートが有効になる。なお、背景バッファ２１９の全画素のアトリビュートが有効になった状態を、背景画像の生成完了としてもよい。
【００３３】
図３は、本実施形態における履歴バッファ制御処理のフローチャートを示す。
【００３４】
なお、フローチャートで示される一連の処理は、後述するように、ＣＰＵ５０１がＲＯＭ５０２に格納されている制御プログラムをＲＡＭ５０３に読み込み、実行することにより行われる。あるいはまた、フローチャートにおけるステップの一部または全部の機能をＡＳＩＣや電子回路等のハードウェアで実現してもよい。各処理の説明における記号「Ｓ」は、当該フローチャートにおけるステップを意味する。その他のフローチャートについても同様である。
【００３５】
Ｓ３０１で、履歴バッファ制御部１０４は、撮像部１０１からの入力画像の更新完了通知をチェックする。入力画像が更新されるまでＳ３０１を繰り返し、入力画像の更新が完了すると、Ｓ３０２に進む。
【００３６】
Ｓ３０２で、履歴バッファ制御部１０４は、入力画像の未処理画素を読み込む。全画素の処理が終了していて、未処理画素がない場合は、Ｓ３０８に進む。一方、未処理の画素がある場合はＳ３０３に進む。
【００３７】
Ｓ３０３で、履歴バッファ制御部１０４は、入力画像の未処理画素に対応する履歴バッファ１０２のアトリビュートを参照する。アトリビュートが画素値の無効を示す値である場合はＳ３０７に進む。アトリビュート値がそれ以外の値の場合はＳ３０４に進む。
【００３８】
Ｓ３０７で、履歴バッファ制御部１０４は、履歴バッファ１０２の画素値を入力画像の画素値で上書きし、アトリビュートを有効に設定する。本実施形態では、履歴バッファ制御部１０４は、本ステップでアトリビュートに入力画像を示す値（すなわち、画素値が実測値であることを示す値）を設定する。次いで、Ｓ３０２に戻り、次の未処理画素を読み込む。
【００３９】
Ｓ３０３で、履歴バッファ１０２のアトリビュートが無効を示す値でないと判定された場合、Ｓ３０４において、履歴バッファ制御部１０４は、履歴バッファ１０２のアトリビュートが実測値か否か判定する。実測値である場合はＳ３０５に進み、それ以外の場合はＳ３０２に戻り、次の未処理画素の処理に進む。本実施形態では、Ｓ３０４において履歴バッファのアトリビュートが実測値でないと判定された場合、当該画素は履歴の解析期間中に前景と背景の両方のデータが存在する領域であるため、画素値の更新は行わない。
【００４０】
Ｓ３０５で、履歴バッファ制御部１０４は、履歴バッファ１０２の画素値と入力画像の画素値を比較する。比較結果（すなわち、画素値の差分）が、あらかじめ定められた閾値以下である場合はＳ３０７に進み、履歴バッファ制御部１０４は、入力画像の画素値で履歴バッファ１０２の画素値を更新する。一方、比較結果が閾値を超える場合、当該画素では前景と背景が変化した可能性があるため、Ｓ３０６に進み、履歴バッファ制御部１０４は、履歴バッファ１０２の当該画素のアトリビュートに画素値が未確定であることを示す値を設定する。
【００４１】
１フレームの入力画像の全画素の処理が完了すると、Ｓ３０８で、履歴バッファ制御部１０４は、背景バッファ制御部１０５に１フレームの入力画像の更新完了を通知する。本実施形態では、背景バッファ制御部１０５は、前回の履歴バッファの初期化後に処理した入力画像のフレーム数をカウントする。
【００４２】
Ｓ３０９で、履歴バッファ制御部１０４は、背景バッファ制御部１０５からの指示により、履歴バッファ１０２のデータを保持し、更新を継続するか、もしくは初期化を行うか判定する。背景バッファ制御部１０５が履歴バッファ１０２の参照を完了し、履歴バッファ１０２のデータの初期化を指示した場合はＳ３１０に進み、履歴バッファ制御部１０４は、履歴バッファ１０２の全画素のアトリビュートを無効に設定する。一方、背景バッファ制御部１０５が履歴バッファ１０２のデータを保持し、更新を継続すると指示した場合は、Ｓ３０１に戻り、次の入力画像の更新を待つ。
【００４３】
なお、上述したように、本実施形態では、Ｓ３０６で履歴バッファ制御部１０４が画素値の予測を行い、当該画素に予測値を設定してもよい。
【００４４】
以上説明したように、本実施形態では、履歴バッファ１０２の制御処理が行われる。
【００４５】
図４は、本実施形態における背景バッファ制御処理のフローチャートを示す。
【００４６】
Ｓ４０１で、背景バッファ制御部１０５は、履歴バッファ制御部１０４が出力する履歴バッファ１０２の更新完了通知をチェックする。背景バッファ制御部１０５は、履歴バッファ１０２の更新が完了するまでＳ４０１を繰り返し、履歴バッファ１０２の更新が完了するとＳ４０２に進む。
【００４７】
Ｓ４０２で、背景バッファ制御部１０５は、前回の履歴バッファ１０２の初期化以降、所定の時間が経過したか否か判定する。本実施形態では所定の時間としたが、履歴バッファ１０２の処理完了フレーム数や、前回の履歴バッファのクリア指示後に履歴バッファ制御部１０４が処理した入力画像のフレーム数をカウントした値を用いて、当該フレーム数に達したかどうか判定してもよい。所定の時間が経過していなければ、Ｓ４０１に戻り、背景バッファ制御部１０５は履歴バッファ１０２の次の更新完了を待つ。所定の時間が経過した場合は、Ｓ４０３に進む。
【００４８】
Ｓ４０３で、背景バッファ制御部１０５は、履歴バッファ１０２の未処理画素を読み込む。履歴バッファ１０２の全画素の処理が完了し、履歴バッファ１０２に未処理画素が存在しない場合は、Ｓ４１０に進む。一方、履歴バッファ１０２に未処理画素がある場合は、Ｓ４０４に進む。
【００４９】
Ｓ４０４で、背景バッファ制御部１０５は、履歴バッファ１０２の画素のアトリビュートが実測値か否か判定する。アトリビュートが実測値である場合はＳ４０５に進み、そうでない場合はＳ４０７に進む。
【００５０】
Ｓ４０５で、背景バッファ制御部１０５は、背景バッファ１０３に履歴バッファ１０２の画素値を上書きし、背景バッファ１０３のアトリビュートを実測値と設定する。次いで、Ｓ４０３に戻り、履歴バッファ１０２の次の未処理画素の処理に進む。
【００５１】
履歴バッファ１０２の画素のアトリビュートが実測値でない場合、Ｓ４０７で、背景バッファ制御部１０５は、Ｓ４０３で読み込んだ履歴バッファ１０２の画素に対応する背景バッファ１０３の画素のアトリビュートが実測値か否か判定する。背景バッファ１０３の画素のアトリビュートが実測値でない場合はＳ４０６に進む。一方、背景バッファ１０３の画素のアトリビュートが実測値である場合、Ｓ４０３に戻る。背景バッファ１０３の画素のアトリビュートが実測値である場合、以前の処理で背景バッファ１０３に実測値のデータが上書きされている。この場合、背景バッファ制御部１０５は、背景バッファ１０３の画素データを保持し、Ｓ４０３に戻る。
【００５２】
Ｓ４０６で、背景バッファ制御部１０５は、背景バッファ１０３の内容も履歴バッファ１０２の内容も実測値ではないが、より新しい履歴バッファ１０２の画素値とアトリビュートで背景バッファ１０３を上書きし、Ｓ４０３に戻る。
【００５３】
Ｓ４１０で、背景バッファ制御部１０５は、背景バッファ１０３に不定もしくは未確定（すなわち、無効）の画素が存在するか否か判定する。不定もしくは未確定の画素が存在する場合は、Ｓ４０１に戻る。一方、不定もしくは未確定の画素が存在しない場合は、Ｓ４０８に進み、背景バッファ制御部１０５は、背景バッファ１０３に保持された背景画像を出力して１フレームの処理を完了する。出力された背景画像は、上述したように、入力画像から前景と背景を分離するために使用したり、任意の前景画像と合成して合成画像を生成するために使用したりすることができる。また、背景バッファ制御部１０５は、履歴バッファ制御部１０４に対して履歴バッファ１０２の初期化を指示する。
【００５４】
なお、背景バッファ１０３に不定もしくは未確定の画素が存在する場合に、背景の出力を行うタイミングであるか否かを判定するステップを追加してもよい。この場合、所定のフレーム数の処理の終了後にＳ４１０の判定で不定もしくは未確定の画素が残っている場合、背景バッファの出力時に履歴バッファ１０２から当該画素の画素値およびアトリビュートを背景バッファ１０３にコピーするステップを設ける。
【００５５】
以上説明したように、本実施形態では、背景バッファ１０３の制御処理が行われる。
【００５６】
図５は、本実施形態における画像処理装置のハードウェア構成例を示す。画像処理装置５００は、ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３、記憶装置５０４、出力装置５０５、入力装置５０６、ネットワークＩ／Ｆ（インターフェース）５０７、及び撮像装置５０８を有する。各構成要素は、バス５０９を介して相互に通信可能に接続されている。
【００５７】
ＣＰＵ５０１は、ＲＯＭ５０２及び記憶装置５０４に格納されたプログラムを実行して、画像処理装置５００を統括的に制御する。ＲＯＭ５０２は、画像処理装置５００の制御プログラムを格納する。ＲＡＭ５０３は、ＣＰＵ５０１がプログラムを実行する際のメインメモリとして機能し、一時記憶領域として用いられる。記憶装置５０４は、ＨＤＤなどの記憶媒体であり、画像データや各種プログラムなどを記憶する。
【００５８】
出力装置５０５は、液晶ディスプレイなどの表示装置であって、各種設定情報や画像データ等を表示する。入力装置５０６は、マウスやキーボード、タッチパネル等であり、ユーザーから各種設定情報の入力や、操作指示を受け付ける。ネットワークＩ／Ｆ５０７は、ネットワークを介して外部装置と通信を行なうためのインターフェースである。撮像装置５０８は、所定のフレームレートで入力画像を撮像し、画像データを生成する。生成された画像データは、記憶装置５０４に格納される。なお、撮像装置５０８は、画像処理装置５００とは別に存在してもよい。
【００５９】
以上、本実施形態における画像処理装置５００のハードウェア構成を説明したが、画像処理装置５００のハードウェア構成は、上述した構成に限定されるものではない。また、図１を参照して上述した画像処理装置の各機能は、ＣＰＵ５０１が、ＲＯＭ５０２または記憶装置５０４に格納されたプログラムを読み出して実行することにより、実現される。
【００６０】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６１】
１０１  撮像部
１０２  履歴バッファ
１０３  背景バッファ
１０４  履歴バッファ制御部
１０５  背景バッファ制御部
【図１】
2020077230.tif 000003
【図２】
2020077230.tif 000004
【図３】
2020077230.tif 000005
【図４】
2020077230.tif 000006
【図５】
2020077230.tif 000007