(57)【特許請求の範囲】
【請求項１】
前景オブジェクトデータの分離により生じた欠落部分を含む背景オブジェクトデータを入力する入力手段と、
前記欠落部分の画像データを前記欠落部分の周囲の画像データの動きに基づいて、前記背景オブジェクトデータとは別のフレームにおける前記欠落部分の画像データに相当する画像データを用いて補間する補間手段とを有し、
前記補間手段は、補間後、補間された背景オブジェクトデータに欠落部分がある場合、前記補間で用いたフレームとは別のフレームを用いて前記背景オブジェクトデータの欠落部分の補間を行なうことを特徴とする画像処理装置。
【請求項２】
前記補間手段は、
前記背景オブジェクトデータを複数のブロックに分割する分割手段と、
前記分割手段によって分割されたブロックから前記欠落部分の画像データを含むブロックをターゲットブロックとして抽出する抽出手段と、
前記ターゲットブロックの周囲に位置する周囲ブロックの動きを前記背景オブジェクトデータとは別のフレームから検出する検出手段と、
前記周囲ブロックの動きに基づいて前記ターゲットブロックの欠落部分の画像データを生成する生成手段とを有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記補間手段によって処理された背景オブジェクトデータを符号化する符号化手段を更に有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
画像データを入力する入力手段と、
前記画像データを、前景オブジェクトデータと該前景オブジェクトデータに相当する欠落部分を含む背景オブジェクトデータとに分離する分離手段と、
前記欠落部分を含む背景オブジェクトデータに対して、前記背景オブジェクトデータとは別のフレームを用いて、前記欠落部分に相当する背景オブジェクトデータを生成し、前記生成された背景オブジェクトデータにより前記背景オブジェクトデータの欠落部分を補間する補間手段と、
前記補間手段によって補間された前記背景オブジェクトデータを符号化する第１の符号化手段と、
前記前景オブジェクトデータを符号化する第２の符号化手段とを有し、
前記補間手段は、補間後、補間された背景オブジェクトデータに欠落部分がある場合、前記補間で用いたフレームとは別のフレームを用いて前記背景オブジェクトデータの欠落部分の補間を行なうことを特徴とする画像処理装置。
【請求項５】
前景オブジェクトデータの分離により生じた欠落部分を含む背景オブジェクトデータを入力する入力工程と、
前記欠落部分の画像データを前記欠落部分の周囲の画像データの動きに基づいて、前記背景オブジェクトデータとは別のフレームにおける前記欠落部分の画像データに相当する画像データを用いて補間する補間工程とを有し、
前記補間工程での、補間後、補間された背景オブジェクトデータに欠落部分がある場合、前記補間で用いたフレームとは別のフレームを用いて前記背景オブジェクトデータの欠落部分の補間を行なうことを特徴とする画像処理方法。
【請求項６】
前記補間工程は、
前記背景オブジェクトデータを複数のブロックに分割する分割工程と、
前記分割工程によって分割されたブロックから前記欠落部分の画像データを含むブロックをターゲットブロックとして抽出する抽出工程と、
前記ターゲットブロックの周囲に位置する周囲ブロックの動きを前記背景オブジェクトデータとは別のフレームから検出する検出工程と、
前記周囲ブロックの動きに基づいて前記ターゲットブロックの欠落部分の画像データを生成する生成工程とを含むことを特徴とする請求項５に記載の画像処理方法。
【請求項７】
画像データを入力する入力工程と、
前記画像データを、前景オブジェクトデータと該前景オブジェクトデータに相当する欠落部分を含む背景オブジェクトデータとに分離する分離工程と、
前記欠落部分を含む背景オブジェクトデータに対して、前記背景オブジェクトデータとは別のフレームを用いて、前記欠落部分に相当する背景オブジェクトデータを生成し、前記生成された背景オブジェクトデータにより前記背景オブジェクトデータの欠落部分を補間する補間工程と、
前記補間工程によって補間された前記背景オブジェクトデータを符号化する第１の符号化工程と、
前記前景オブジェクトデータを符号化する第２の符号化工程とを有し、
前記補間工程での、補間後、補間された背景オブジェクトデータに欠落部分がある場合、前記補間で用いたフレームとは別のフレームを用いて前記背景オブジェクトデータの欠落部分の補間を行なうことを特徴とする画像処理方法。
【請求項８】
請求項５〜７のいずれか１項に記載の画像処理方法をコンピュータに実行させるためのプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法及びコンピュータ読み取り可能な記憶媒体に関し、特にオブジェクト分離により画像を処理するものに用いて好適なものである。
【０００２】
【従来の技術】
近年、高性能化したＣＰＵを搭載したパーソナルコンピュータ（パソコン）の普及に伴い、パソコン上で行う動画像の編集に対する要求が高まってきている。
編集作業の例として、フレームもしくはフィールド間での時間順序の入れ替え、ワイプやディゾルブ、モザイク、別画像の挿入など、さまざまなものがある。
【０００３】
また、画像をフレームもしくはフィールド単位等の画像単位で処理するのではなく、画像内を個々の物体、背景、あるいは文字などといった意味のある単位（以下オブジェクトと呼ぶ）に分割して、オブジェクト単位で個別の処理を加える技術も向上してきている。
【０００４】
オブジェクト単位で個別の処理を加えるためには、フレームもしくはフィールド画像からオブジェクトを抽出しなければならない。動画像において、従来から行われているオブジェクト抽出の手法は、ブルーバックと呼ばれているものがある。これはスタジオセットなどで予めブルーの背景を用意しておき、スイッチャーでブルーの部分を別の背景画像に置き換えるものである。また、画像のエッジ部分を抽出して、オブジェクトを分離する手法もある。
【０００５】
【発明が解決しようとする課題】
しかしながら、ブルーバックのような手法では、予め別の背景となる画像を用意しておかなければならないという欠点があった。また、他の手法を用いて、背景と前景のオブジェクトを分離できても、背景オブジェクトには、前景オブジェクトのあった部分にデータが存在しない穴（エリア）ができてしまい、背景オブジェクトの再利用は困難であった。
【０００６】
例えばあるシーンにおいて、オリジナルの前景オブジェクトを別のオブジェクトに置き換えたい場合を考える。この場合、オリジナルの画像から、前景オブジェクトを抽出した後、残りの背景オブジェクトに別の前景オブジェクトを合成する必要がある。最初の前景オブジェクトを抽出した後の穴の空いた部分を、後から合成するオブジェクトでふさぐことができれば問題ないが、これではオブジェクトの再利用あるいは再加工における汎用性が大きく制限されてしまう。
【０００７】
上述したような背景から本願発明の一つの目的は、前景オブジェクト抽出後、背景オブジェクトに生じた穴のような部分的なデータの欠落があっても、それを補間し、汎用性の高い背景オブジェクトを提供できるようにすることを目的としている。
【０００８】
【課題を解決するための手段】
本発明による画像処理装置においては、前景オブジェクトデータの分離により生じた欠落部分を含む背景オブジェクトデータを入力する入力手段と、前記欠落部分の画像データを前記欠落部分の周囲の画像データの動きに基づいて、前記背景オブジェクトデータとは別のフレームにおける前記欠落部分の画像データに相当する画像データを用いて補間する補間手段とを有し、前記補間手段は、補間後、補間された背景オブジェクトデータに欠落部分がある場合、前記補間で用いたフレームとは別のフレームを用いて前記背景オブジェクトデータの欠落部分の補間を行なう点に特徴を有する。
【０００９】
本発明による他の画像処理装置においては、画像データを入力する入力手段と、前記画像データを、前景オブジェクトデータと該前景オブジェクトデータに相当する欠落部分を含む背景オブジェクトデータとに分離する分離手段と、前記欠落部分を含む背景オブジェクトデータに対して、前記背景オブジェクトデータとは別のフレームを用いて、前記欠落部分に相当する背景オブジェクトデータを生成し、前記生成された背景オブジェクトデータにより前記背景オブジェクトデータの欠落部分を補間する補間手段と、前記補間手段によって補間された前記背景オブジェクトデータを符号化する第１の符号化手段と、前記前景オブジェクトデータを符号化する第２の符号化手段とを有し、前記補間手段は、補間後、補間された背景オブジェクトデータに欠落部分がある場合、前記補間で用いたフレームとは別のフレームを用いて前記背景オブジェクトデータの欠落部分の補間を行なう点に特徴を有する。
【００１０】
本発明による画像処理方法においては、前景オブジェクトデータの分離により生じた欠落部分を含む背景オブジェクトデータを入力する入力工程と、前記欠落部分の画像データを前記欠落部分の周囲の画像データの動きに基づいて、前記背景オブジェクトデータとは別のフレームにおける前記欠落部分の画像データに相当する画像データを用いて補間する補間工程とを有し、前記補間工程での、補間後、補間された背景オブジェクトデータに欠落部分がある場合、前記補間で用いたフレームとは別のフレームを用いて前記背景オブジェクトデータの欠落部分の補間を行なう点に特徴を有する。
【００１１】
本発明による他の画像処理方法においては、画像データを入力する入力工程と、前記画像データを、前景オブジェクトデータと該前景オブジェクトデータに相当する欠落部分を含む背景オブジェクトデータとに分離する分離工程と、前記欠落部分を含む背景オブジェクトデータに対して、前記背景オブジェクトデータとは別のフレームを用いて、前記欠落部分に相当する背景オブジェクトデータを生成し、前記生成された背景オブジェクトデータにより前記背景オブジェクトデータの欠落部分を補間する補間工程と、前記補間工程によって補間された前記背景オブジェクトデータを符号化する第１の符号化工程と、前記前景オブジェクトデータを符号化する第２の符号化工程とを有し、前記補間工程での、補間後、補間された背景オブジェクトデータに欠落部分がある場合、前記補間で用いたフレームとは別のフレームを用いて前記背景オブジェクトデータの欠落部分の補間を行なう点に特徴を有する。
【００１２】
本発明によるコンピュータ読み取り可能な記憶媒体においては、上記に記載の画像処理方法をコンピュータに実行させるためのプログラムを記憶した点に特徴を有する。
【００１９】
【発明の実施の形態】
本発明の実施形態の概要を説明すれば、前景オブジェクトの分離により生じたデータ欠落部分の存在する１画面（フレームもしくはフィールド）をターゲットとし、所定数の画素で構成されるブロック分割を行う。そして、分割した各ブロックがデータ欠落部分を含んでいるか否かをチェックして、データ欠落部分を含んだブロックをターゲットブロックとし、その周囲のブロックを周囲ブロックとする。
【００２０】
次に、周囲ブロックの動きベクトルを、前又は後のサンプルフレーム又はフィールドからサーチし、求められた各周囲ブロックの動きベクトルから、ターゲットブロックに対応する動きベクトルを求める。動きベクトルデータとターゲットブロック内のデータとの有効性を比較しながら補間を行い、ブロック内すべてのデータが埋まらなかった場合は、サンプルフレーム又はフィールドを変更して、さらに処理を続けるようにしている。
【００２１】
このようにしたことにより、部分的にデータの欠落した背景オブジェクトから完全な背景オブジェクトを容易かつ確実に生成することが可能になる。
【００２２】
（第１の実施形態）
以下、本発明の実施形態を図面を用いて詳細に説明する。
図１は、本発明の第１の実施形態の構成を示すブロック図であり、（ａ）がエンコード側、（ｂ）がデコード側を示す。
【００２３】
図１（ａ）に示すエンコード側において、画像入力部１０１は、ビデオカメラやＶＴＲ等から画像信号を入力する部分であり、アナログ信号の場合はデジタル信号に変換する。カラーの信号は、輝度信号と２つの色差信号とに分けて、それぞれ同様のデジタル変換処理を行う。
【００２４】
画像分離部１０２は、背景オブジェクトと前景オブジェクトとの分離を行う部分である。各オブジェクトのフレーム間での動きベクトルが異なれば、その違いによって背景と前景の各オブジェクトを分離することが可能である。また、色の情報を用いてオブジェクトの違いを判定することも有効である。
【００２５】
このようにして分離された前景オブジェクトは、そのまま前景画像符号化部１０３において符号化処理が行われる。
【００２６】
また、分離された背景オブジェクトは、データの欠落部分を埋めるため、背景画像補間部１０４において本発明特有の処理が施される。この処理についての詳細な説明は後述する。
【００２７】
補間の完了した背景オブジェクトは、背景画像符号化部１０５において符号化処理が行われる。この符号化処理は前景画像符号化処理部１０３と同じ処理方法を用いることもできるが、別処理とすることで、背景画像の特徴を生かしたより高能率の符号化を行うことも可能となる。
【００２８】
前景、背景それぞれに最適な符号化処理を行った後は、多重化部１０６によって一つのビットストリームにまとめられ、伝送路に応じた処理がなされた後、送信もしくは記録が行われる。
【００２９】
一方、図１（ｂ）に示すデコード側では、上述したエンコード側の処理と逆の処理が行われる。
まず、分離部１０７において、それぞれのオブジェクト処理単位に分離される。ここでは、前景と背景２つのオブジェクトである。前景画像復号化部１０８では、前景画像符号化部１０３に対応した復号化処理が行われ、また、背景画像復号化部１０９では、背景画像符号化部１０５に対応した復号化処理が行われる。
【００３０】
画像合成部１１０では、個々のオブジェクトを一つのフレーム又はフィールド画像に合成する。合成された画像データは画像表示部１１１において、表示機器に応じたフォーマットに変換されて出力され、表示される。
【００３１】
次に、図２〜図６を用いて、本発明特有の処理である背景画像補間部１０４での処理の詳細なアルゴリズムを説明する。また、ここでは、図７〜図１４に示す画像イメージを用いて説明する。
【００３２】
図７は、オリジナルの画像を示している。ここでは簡単のため、フレーム単位で移動する画像を例に説明する。
図７（ａ）が第Ｎ番目のフレームの画像を表しており、７０１が前景画像、７０２が背景画像である。図７（ｂ）は第Ｎ−１番目のフレームの画像を表しており、前景画像７０１の位置は図７（ａ）と比較して移動している。同様に図７（ｃ）は第Ｎ−２番目のフレームの画像を表しており、前景画像７０１の位置は更に移動している。
【００３３】
これらのフレーム間での動きの違いを利用して前景画像を抽出すると、背景画像８０２は図８のようになる。前景画像のあった部分８０１は、そのままではデータが存在しないので、ここでは暫定的に輝度レベルがゼロのデータを挿入している。
尚、以下では、補間の対象として注目しているフレームをターゲットフレーム、補間候補のデータを探すフレームをサンプルフレームと呼ぶことにする。
【００３４】
図２は、背景補間を行おうとするフレーム（ターゲットフレーム）に対する一連の処理の全体アルゴリズムである。なお、このフローチャートはターゲットフレーム１枚に対する処理なので、複数枚のフレームを処理する場合は、その枚数分だけ同様の処理を繰り返せばよい。
【００３５】
ステップＳ２０１でまず初期設定を行う。ここでの設定の主なものは、ターゲットフレームの設定、サンプルフレームの枚数の設定、さらにターゲットフレームのブロック化処理などを含んでいる。
ここでは、図８の（ａ）に示す第Ｎフレームをターゲットフレームとする。また、図８（ｂ）に示す第Ｎ−１フレームと、図８（ｃ）に示す第Ｎ−２フレームの２枚をサンプルフレームとする。図９には、図８（ａ）に示すターゲットフレームをブロック化したものを示す。
【００３６】
ステップＳ２０１でブロック化されたブロックを、ステップＳ２０２で、一つずつターゲットブロックか否かチェックしていく。この処理は、ブロック内に輝度レベルがゼロのデータが存在するか否かで判定が可能である。
【００３７】
画像の輝度レベルを８ビット（０〜２５５）データで表す場合は、一般に映像信号の最低レベルすなわち黒の信号は１６とするため、ゼロレベルのデータのみを探せば、黒レベルの信号との誤判定は防げる。また、穴の部分に暫定的に挿入するデータは任意であるので、誤判定の心配のないデータであればゼロにこだわる必要はない。
【００３８】
このようにしてターゲットブロックの検出を行うと、図９のブロック９０１が最初のターゲットブロックと判定される。
ターゲットブロックと判定されたブロックはステップＳ２０３で補間処理がなされ、次のブロックの処理に進む。尚、この補間処理の詳細については後述する。
【００３９】
上記のようにして次々にブロック単位の処理を行い、ステップＳ２０４ですべてのブロックの処理が終了したと判断された時点で、ターゲットフレーム全体の補間処理が完了となる。
【００４０】
次に、図３を用いて第１の実施形態によるターゲットブロックの処理アルゴリズムを説明する。
ターゲットブロックを検出すると、まずステップＳ３０１において周囲ブロックを決定する。
図１０は、ターゲットブロックとその周囲ブロックを示しており、１００１が補間対象すなわちターゲットブロックで、１００２〜１００５が周囲ブロックである。ここでは、ターゲットブロックの上下左右のブロックを周囲ブロックとしている。
【００４１】
次に、ステップＳ３０２において、ターゲットブロックの動きベクトル候補を算出する。ターゲットブロックの動きベクトル候補は、周囲ブロックの動きベクトルから求めるが、その詳細のアルゴリズムを図４を用いて説明する。
【００４２】
まずステップＳ４０１で周囲ブロック内のデータを調べ、ブロック内にデータの欠落部分がないかどうかを判定する。欠落部分があった場合は、その後のパターンマッチングで所望の結果が得られなくなるため、このブロックについては動きベクトルを求めない。
【００４３】
データの欠落部分がなければ、ステップＳ４０２でサンプルフレームとの間でパターンマッチングを行う。マッチングを行うたびにブロックの差分の二乗和を求めておき、すべてのマッチング処理を終えた段階でステップＳ４０３に進み、差分の二乗和が最小となるブロックとの相対位置情報、すなわち動きベクトルを求める。
【００４４】
ステップＳ４０４では、求めた動きベクトルの信頼度を検証する。すなわち、差分の二乗和が最小となる動きベクトルでも、差分の二乗和の値がある閾値以上であれば、その動きベクトルは候補として採用すべきでないと判断する。閾値以下の場合のみ、ステップＳ４０５に進み、ターゲットブロックの動きベクトル候補とする。
【００４５】
これらの処理を周囲ブロックの数だけ繰り返し、ステップＳ４０６ですべての周囲ブロックの判定が終了したと判断したとき、このターゲットブロックに対する動きベクトル候補の算出処理を終える。
【００４６】
ここで注意すべきは、動きベクトル候補は最大で周囲ブロックの数だけ存在し、最小では動きベクトル候補なしということもあり得ることである。
【００４７】
図３に戻って、ステップＳ３０３ではステップＳ３０２で算出された動きベクトル候補の有無を判定し、以後の処理を分岐している。
【００４８】
図１０の例で周囲ブロック１００２と１００３は、ブロック内にデータ欠落部分が存在しないため、動きベクトルを算出する。背景画像が動いていないと仮定すると、差分の二乗和がゼロとなる場所があり、その動きベクトルは（０，０）である。また、図１０の周囲ブロック１００４と１００５は、ブロック内にデータ欠落部分が存在するため、動きベクトルの算出処理を行わない。したがって、この図１０の例では、ステップＳ３０２（図４のフローチャートに示す処理）が終わった段階で、動きベクトル候補は２つである。
【００４９】
ターゲットブロックの動きベクトル候補が存在する場合には、図３のステップＳ３０４に進む。ここで動きベクトル候補からターゲットブロックの動きベクトルを確定するが、その詳細のアルゴリズムを図５を用いて説明する。
【００５０】
まず、ステップＳ５０１で動きベクトル候補が複数あるかどうかチェックする。
ステップＳ５０１で動きベクトル候補が一つしかない場合は、ステップＳ５０２で、その動きベクトル候補をターゲットブロックの動きベクトルとして確定する。
ステップＳ５０１で動きベクトル候補が複数存在する場合は、ステップＳ５０３で、それらの中で同じ値を持つベクトルがあるかどうかチェックする。
【００５１】
ステップ５０３で同じ値を持つ動きベクトル候補がない場合は、ステップＳ５０４で、動きベクトル候補を平均したものをターゲットブロックの動きベクトルとして確定する。
ステップ５０３で同じ値を持つ動きベクトル候補がある場合は、ステップＳ５０５で、それらが複数種類あるかどうかチェックする。
【００５２】
ステップＳ５０５で同じ値を持つ動きベクトル候補が一種類しかない場合は、ステップＳ５０６で、その同じ値を持つ動きベクトル候補をターゲットブロックの動きベクトルとして確定する。
ステップＳ５０５で同じ値を持つ動きベクトル候補が二種類以上ある場合は、ステップＳ５０７で、分類された動きベクトル候補の中で一番多いものをチェックし、同じ値を持つ動きベクトル候補が最も多いものが複数存在するか否かを判断する。
【００５３】
ステップＳ５０７で同じ値を持つ動きベクトル候補が最も多いものが複数存在しない場合は、ステップＳ５０８で、最も多かった動きベクトル候補をターゲットブロックの動きベクトルとする。
ステップＳ５０７で同じ値を持つ動きベクトル候補が最も多いものが複数存在する場合、例えば４つの動きベクトルのうち、２つの動きベクトルの値が同じで、残り２つの動きベクトルも同じといったように、同じ値を持つ動きベクトル候補が最も多いものが複数存在する場合は、ステップＳ５０９でそれらの動きベクトル候補の中で差分の二乗和が最小のものをチェックする。最小のものが一つであれば、ステップＳ５１０でそれをターゲットブロックの動きベクトルとする。最小のものが複数ある場合は、ステップＳ５１１でそれらのベクトルの平均を求め、これをターゲットブロックの動きベクトルとする。
【００５４】
図１０の例では、動きベクトル候補が２つ存在し、それらの動きベクトルの値は同じであるので、これをターゲットブロックの動きベクトルとして確定する。
【００５５】
図３に戻って、ターゲットブロックの動きベクトルが確定すると、ステップＳ３０５に進んで、ターゲットブロックの動きベクトルによる補間処理を行う。
図６は、ターゲットブロックの動きベクトルによる補間処理のアルゴリズムを説明する図であり、ブロック内の一画素単位毎の処理を示している。
【００５６】
まず、ステップＳ６０１において、画像データを埋めようとしている位置（注目画素）にすでにデータが存在しているかどうかをチェックする。データが存在していれば、その存在していたデータをそのまま使用し、ステップＳ６０４の処理に移る。データが存在しない場合は、ステップＳ６０２に進み、動きベクトルに対応するサンプル画素に画像データが存在するかどうかチェックする。画像データが存在していれば、ステップＳ６０３で、そのサンプル画素の画像データをターゲットの位置に埋め込んでステップＳ６０４の処理に進み、画像データが存在していなければ、何もせずにステップＳ６０４の処理に進む。
【００５７】
図１１（ａ）〜（ｇ）には、一つのターゲットブロックに対する補間の様子を示す。
図１１（ａ）はターゲットブロックを示す。図１１（ｂ）は、最初のＮ−１のサンプルフレームから確定したサンプルブロックである。図１１（ａ）に示すターゲットブロックを、図１１（ｂ）に示すサンプルブロックで置き換える処理が基本であるが、図１１（ａ）のうち元々画像データが存在する部分は図１１（ａ）のものをそのまま用い、図１１（ａ）の欠落部分を図１１（ｂ）で埋める。ただし、図１１（ｂ）にも欠落部分が存在するため、実際に埋め込まれるデータの範囲は、図１１（ｃ）の斜線部分となる。図１１（ｃ）の斜線部分に実際にデータを埋めた状態を示すのが図１１（ｄ）である。
【００５８】
ステップＳ６０４において、ブロック内すべての画素に対して処理が行われると、このルーチンを終了する。
【００５９】
このままでは、ブロック内すべての画素に対してデータが埋め込まれているとは限らない。そこで、図３のステップＳ３０６においては、ブロック内にまだ欠落部分があるかどうかを判定している。欠落部分が存在しない場合、すなわち、すべての画素に対してデータが埋め込まれていれば、このブロックの処理は終了である。欠落部分が存在する場合は、ステップＳ３０８においてサンプルフレームを変更し、ステップＳ３０２からの処理を繰り返す。ステップＳ３０８に進む条件は、以下の２種類である。ひとつは動きベクトル候補が存在しなかった場合、もうひとつは動きベクトルを決定してもそのベクトルの持つデータですべての画素が埋められなかった場合である。
【００６０】
図３のステップＳ３０７では、図２のステップＳ２０１の初期設定で定めたサンプルフレームの枚数をチェックしている。すべてのサンプルフレームをチェックしてもなお欠落部分が存在する場合には、ステップＳ３０９によって、周囲画素から内挿補間処理をしてデータの埋め込みを行う。
【００６１】
図１１（ｄ）には欠落部分が存在するので、サンプルフレームをＮ−１からＮ−２に変更し、同様の処理を行う。
図１１（ｅ）は、Ｎ−２のサンプルフレームから確定したサンプルブロックの図である。図１１（ｆ）の斜線部分が図１１（ｅ）から埋め込むデータの範囲となる。図１１（ｆ）の斜線部分に実際にデータを埋めた状態を示すのが図１１（ｇ）である。図１１（ｇ）に示すように、欠落部分はなくなったので、このターゲットブロックに対する処理は終了する。
【００６２】
以上述べたようにして、図３のフローチャートで説明した一つのターゲットブロックの処理は終了する。ターゲットフレーム内のすべてのターゲットブロックに対して上記処理を行うことにより、一つのターゲットフレームの処理が終了する。
【００６３】
図１２（ａ）〜（ｃ）は、ここまでの処理を第Ｎフレームに施した結果を簡潔的に表した説明図である。
図１２（ａ）が補間処理前の画像であり、図１２（ｂ）がＮ−１フレームまで補間処理を終えた画像、図１２（ｃ）がＮ−２フレームまで補間処理を終えた画像である。
【００６４】
図１３（ａ）は、２番目のターゲットブロックと、その周囲ブロックを表した図である。これらの周囲ブロックからターゲットブロックの動きベクトルを確定し、補間した結果が図１３（ｂ）である。同様に、３番目のターゲットブロックとその周囲ブロックが図１３（ｃ）であり、その補間結果が図１３（ｄ）、４番目のターゲットブロックとその周囲ブロックが図１３（ｅ）であり、その補間結果が図１３（ｆ）である。
【００６５】
ターゲットフレームとサンプルフレームとを変更し、図２の処理を繰り返せば、複数フレームの背景画像の補間が可能となる。図１４（ａ）〜（ｅ）は、ターゲットフレームをＮ−１に変更して同様の処理を行ったときの説明図である。
【００６６】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
上記第１の実施形態では、周囲ブロックにデータの欠落部分があった場合、動きベクトルを求めなかったが、本実施形態では、欠落部分以外の有効なデータを基に動きベクトルを求めるようにしている。なお、第２の実施形態での全体構成は、第１の実施形態で説明した図１の構成と同様で、全体の処理アルゴリズムは第１の実施形態で説明した図２のフローチャートと同様である。
【００６７】
図４のターゲットブロックの動きベクトル候補算出のアルゴリズムを示すフローチャートに対応するのが、図１５に示すフローチャートである。
ステップＳ３２０１において周囲ブロック内にデータの欠落部分が存在する場合は、ステップＳ３２０２において、欠落部分のマスキングデータを生成する。マスキングデータは一画素単位で求め、後の動きベクトル候補から１つのベクトルを決定する際の判定手段としても利用する。
【００６８】
図１０における各ブロックのブロックサイズが１６×１６であるとすると、周囲ブロック１００４のマスキングデータは図１７（ａ）のようになり、周囲ブロック１００５のマスキングデータは図１７（ｂ）のようになる。ここで、黒く塗りつぶされた画素がマスキングされている部分であり、白い画素が有効なデータの部分である。有効なデータの数は、図１７（ａ）、（ｂ）共に９７である。図１０の周囲ブロック１００２、１００３には欠落したデータがないため、有効なデータの数は２５６である。
【００６９】
次にステップＳ３２０３でマスキングされていない有効なデータのみを用いて、パターンマッチングを行う。ブロック内にデータの欠落部分が存在しない場合は、従来通りすべての画素を用いたパターンマッチングとなる。ステップＳ３２０４の処理は第１の実施形態と同様の処理（図４のＳ４０３）である。
【００７０】
ステップＳ３２０５の処理では、差分の二乗和と閾値との比較をしているが、閾値の設定は、パターンマッチングに用いたデータ数によって変化させる。ブロック内の全画素数をＰ、ブロック内の有効なデータ数をＭｓ、全画素有効な場合の閾値をＴＨａとするとき、このブロックの閾値ＴＨａは以下の式で表される。
ＴＨａ＝（Ｍｓ／Ｐ）×ＴＨａ                          ………（１）
となる。
【００７１】
差分の二乗和の値がこの閾値を下回れば、このときの動きベクトルをステップＳ３２０６でターゲットブロックの動きベクトル候補とする。同様の処理を全ての周囲ブロックについて行い、このアルゴリズムを終了する。
【００７２】
次に、ターゲットブロックの動きベクトル確定のアルゴリズムについて、図１６を用いて説明する。複数の動きベクトル候補から１つの動きベクトルを算出する方法は３つ考えられる。
１つ目は、複数の候補の中から１つを選択する、２つ目は、複数の候補に何らかの演算処理を行い１つの値を算出する、そして３つ目は、これらの組み合わせである。本発明の第２の実施形態に特有の処理は、２つ目の演算処理に関するものである。なお、以下では、図１６に示すフローチャートにおいて、図５に示すフローチャートで既に説明したのと同様な部分についての詳細な説明は省略する。
【００７３】
複数の動きベクトル候補が存在し（ステップＳ３３０１）、これらが同じ値を持たないとき（ステップＳ３３０２）は、これら複数の候補から選択的に１つを決定するのは好ましくない。そこで、ステップＳ３３０４では、各動きベクトル候補に対して重み付けを行なった上で平均を求める処理を行う。
【００７４】
Ｎ個の動きベクトル候補の各々をＶｎ（Ｖｎｘ、Ｖｎｙ）とし、各周囲ブロック内の有効なデータ数をＭｎとすると、求める動きベクトル（Ｖｘ、Ｖｙ）は、
【数１】
0004272771.tif 000002
となる。周囲ブロック内にデータ欠落部分がない場合は、Ｍｎの値はブロックの全画素数に一致する。
【００７５】
また、ステップＳ３３１１においても、これら複数の動きベクトル候補から選択的に１つを決定するのは好ましくないため、上記の式（２）を用いて動きベクトルを算出する。
本実施形態では、ステップＳ３３０４とステップＳ３３１１の条件の時に重み付け平均を算出し、それ以外の条件では選択的に１つの動きベクトルを決定したが、どのような条件設定のときにどちらの動きベクトル算出手段を用いるかは任意である。
【００７６】
以上述べた第１、２の実施形態における各機能ブロックによるシステムは、ハード的に構成してもよく、また、ＣＰＵやメモリ等から成るマイクロコンピュータシステムに構成してもよい。マイクロコンピュータシステムに構成する場合、上記メモリは本発明による記憶媒体を構成する。この記憶媒体には、各フローチャートによる前述した動作を制御するための手順を実行するためのプログラムが記憶される。また、この記憶媒体としてはＲＯＭ、ＲＡＭ等の半導体メモリ、光ディスク、光磁気ディスク、磁気媒体等を用いてよく、これらをＣＤ−ＲＯＭ、フロィピディスク、磁気テープ、磁気カード、不揮発性のメモリカード等に構成して用いてよい。
【００７７】
従って、この記憶媒体を他のシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが、この記憶媒体に格納されたプログラムコードを読み出し、実行することによっても、同等の効果が得られ、本発明は達成される。
【００７８】
【発明の効果】
以上の説明したように、本発明によれば、部分的にデータの欠落した背景画像に対してその欠落部分を適切に補間処理を施すことができ、これにより、再利用可能な汎用性の高い背景オブジェクトを容易にかつ確実に生成することができる。
【図面の簡単な説明】
【図１】本発明の実施形態による画像処理装置の構成を示すブロック図である。
【図２】本発明の実施形態による背景補間処理の全体アルゴリズムを示すフローチャートである。
【図３】本発明の第１の実施形態によるターゲットブロックの処理アルゴリズムを示すフローチャートである。
【図４】ターゲットブロックの動きベクトル候補算出のアルゴリズムを示すフローチャートである。
【図５】ターゲットブロックの動きベクトル確定のアルゴリズムを示すフローチャートである。
【図６】ターゲットブロックの動きベクトルによる補間処理アルゴリズムを示すフローチャートである。
【図７】画像イメージを説明するためのオリジナル画像の構成図である。
【図８】画像イメージを説明するための前景画像抽出後の背景画像の構成図である。
【図９】画像イメージを説明するための第Ｎフレームをブロック化した構成図である。
【図１０】画像イメージを説明するための補間対象ブロックとその周囲ブロックの構成図である。
【図１１】補間処理を説明するための構成図である。
【図１２】補間処理を簡潔的に説明するための構成図である。
【図１３】補間処理を簡潔的に説明するための構成図である。
【図１４】補間処理を簡潔的に説明するための構成図である。
【図１５】本発明の第２の実施形態によるターゲットブロックの動きベクトル候補算出のアルゴリズムを示すフローチャートである。
【図１６】ターゲットブロックの動きベクトル確定のアルゴリズムを示すフローチャートである。
【図１７】周囲ブロックのマスキングを説明するための構成図である。
【符号の説明】
１０１  画像入力部
１０２  画像分離部
１０３  前景画像符号化部
１０４  背景画像補間部
１０５  背景画像符号化部
１０６  多重化部
１０７  分離部
１０８  前景画像復号化部
１０９  背景画像復号化部
１１０  画像合成部
【図１】
0004272771.tif 000003
【図２】
0004272771.tif 000004
【図３】
0004272771.tif 000005
【図４】
0004272771.tif 000006
【図５】
0004272771.tif 000007
【図６】
0004272771.tif 000008
【図７】
0004272771.tif 000009
【図８】
0004272771.tif 000010
【図９】
0004272771.tif 000011
【図１０】
0004272771.tif 000012
【図１１】
0004272771.tif 000013
【図１２】
0004272771.tif 000014
【図１３】
0004272771.tif 000015
【図１４】
0004272771.tif 000016
【図１５】
0004272771.tif 000017
【図１６】
0004272771.tif 000018
【図１７】
0004272771.tif 000019