(57)【要約】【課題】動き方の異なる部分オブジェクト毎に合成枚数を変えることで、移動速度の速い部分オブジェクトも、遅い部分オブジェクトも、適切な枚数で合成し、全体とし見栄えの良い、また動きの見易い合成画像を作成することができる画像処理装置および画像処理方法を提供する。【解決手段】画像処理装置において、被写体の動きベクトルを検出する動きベクトル検出手段と、被写体を動きベクトル検出手段の検出結果を用いて、部分オブジェクト領域に分割する部分オブジェクト領域分割手段と、部分オブジェクト領域単位に動き量を算出する部分オブジェクト動き量算出手段と、部分オブジェクト動き量算出手段の算出結果に応じて、部分オブジェクト領域単位に合成する枚数を決定する合成枚数決定手段と、部分オブジェクト領域単位に合成枚数決定手段で決定された枚数の画像を合成する画像合成手段と、を有する。【選択図】図１１
2019096094.tif 000002
【特許請求の範囲】
【請求項１】
動画像から被写体の動作を表現する画像を生成する画像処理装置において、
前記被写体の動きベクトルを検出する動きベクトル検出手段と、
前記被写体を前記動きベクトル検出手段の検出結果を用いて、部分オブジェクト領域に分割する部分オブジェクト領域分割手段と、
前記部分オブジェクト領域単位に動き量を算出する部分オブジェクト動き量算出手段と、
前記部分オブジェクト動き量算出手段の算出結果に応じて、前記部分オブジェクト領域単位に合成する枚数を決定する合成枚数決定手段と、
前記部分オブジェクト領域単位に前記合成枚数決定手段で決定された枚数の画像を合成する画像合成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記動画像の各フレームにおける前記部分オブジェクトの位置を検出する部分オブジェクト位置検出手段を有し、
前記合成枚数決定手段は、前記部分オブジェクト動き量算出手段の算出結果と前記部分オブジェクト位置検出手段の検出位置をもとに、各フレームの部分オブジェクトを合成した場合に、重なる画素数が閾値以下となるようにフレームを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記合成枚数決定手段の結果にもとづいて、第一の部分オブジェクトの合成フレームを決定する合成フレーム決定手段と、
第二の部分オブジェクトの動き変化があったフレームを検出する部分オブジェクト動き変化フレーム検出手段と、を有し、
前記合成フレーム決定手段は、前記部分オブジェクト動き変化フレーム検出手段の結果にもとづいて、前記第一の部分オブジェクトの合成フレームを決定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
フレーム間予測圧縮方式による動画ストリームから前記動画像を再生する動画復号化手段と、
前記動画復号化手段で用いられたマクロブロック単位の動き補償データを取得する動き補償データ取得手段とを有し、
前記動きベクトル検出手段は、前記動き補償データ取得手段によって得られる動き補償データを用いて動きベクトルを検出することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
動画像から被写体の動作を表現する画像を生成する画像処理方法であって、
前記被写体の動きベクトルを検出する動きベクトル検出工程と、
前記被写体を前記動きベクトル検出工程の検出結果を用いて、複数の部分オブジェクト領域に分割する部分オブジェクト領域分割工程と、
前記部分オブジェクト領域単位に動き量を算出する部分オブジェクト動き量算出工程と、
前記部分オブジェクト動き量算出工程の算出結果に応じて、前記部分オブジェクト領域単位に合成する枚数を決定する合成枚数決定工程と、
前記部分オブジェクト領域単位に前記合成枚数決定工程で決定された枚数の画像を合成する画像合成工程と、
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像から複数枚のフレームを抽出し、１枚の画像に合成することで被写体の推移画像（合成画像）を生成する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
動画像から複数枚のフレームを抽出し、被写体の推移画像を得る方法として、等間隔の時間でフレームを抽出し、それぞれのフレームを固定比率（枚数による平均比率）で合成することで推移画像を生成する手法がある。
【０００３】
上述の手法では動きのある部分の画素値が小さくなり、ほとんど見えなくなる問題があり、この問題を解決する手段として、合成時に単純な固定比率ではなく画素値のばらつきにより合成比率を変更する技術が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２９０４５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、通常撮影される被写体は部分単位で動作速度が異なることがほとんどである。上述の従来技術では、所定間隔で抽出されたフレームに対して特徴画素考慮、オブジェクト抽出を行うが、動きに応じた適正なフレームを抽出することができない。このため、動きの速い被写体部分に合わせたフレーム枚数を抽出した場合に、動きの遅い部分にかすれが発生し、動きの遅い被写体部分に合わせたフレーム枚数を抽出した場合には、動きの速い部分のコマ数が足りなくなってしまう。結果として、得られる推移画像の表現性が十分でない問題がある。
【０００６】
本発明の目的は、動き方の異なる部分オブジェクト毎に合成枚数を変えることで、移動速度の速い部分オブジェクトも、遅い部分オブジェクトも、適切な枚数で合成し、全体とし見栄えの良い、また動きの見易い合成画像を作成することができる画像処理装置および画像処理方法を提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係る画像処理装置は、動画像から被写体の動作を表現する画像を生成する画像処理装置において、前記被写体の動きベクトルを検出する動きベクトル検出手段と、前記被写体を前記動きベクトル検出手段の検出結果を用いて、部分オブジェクト領域に分割する部分オブジェクト領域分割手段と、前記部分オブジェクト領域単位に動き量を算出する部分オブジェクト動き量算出手段と、前記部分オブジェクト動き量算出手段の算出結果に応じて、前記部分オブジェクト領域単位に合成する枚数を決定する合成枚数決定手段と、前記部分オブジェクト領域単位に前記合成枚数決定手段で決定された枚数の画像を合成する画像合成手段と、を有することを特徴とする。
【０００８】
また、本発明に係る画像処理方法は、動画像から被写体の動作を表現する画像を生成する画像処理方法であって、前記被写体の動きベクトルを検出する動きベクトル検出工程と、前記被写体を前記動きベクトル検出工程の検出結果を用いて、複数の部分オブジェクト領域に分割する部分オブジェクト領域分割工程と、前記部分オブジェクト領域単位に動き量を算出する部分オブジェクト動き量算出工程と、前記部分オブジェクト動き量算出工程の算出結果に応じて、前記部分オブジェクト領域単位に合成する枚数を決定する合成枚数決定工程と、前記部分オブジェクト領域単位に前記合成枚数決定工程で決定された枚数の画像を合成する画像合成工程と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、動き方の異なる部分オブジェクト毎に合成枚数を変えることで、移動速度の速い部分オブジェクトも、遅い部分オブジェクトも、適切な枚数で合成し、全体とし見栄えの良い、また動きの見易い合成画像を作成することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る画像処理装置１００のハードウェアブロック図
【図２】本発明の実施形態に係る画像処理装置１００  における推移画像生成データフロー図
【図３】本発明の実施形態に係る動画像のイメージ図
【図４】本発明の実施形態に係る動画像のイメージを単純合成した場合の推移画像イメージ図
【図５】部分オブジェクト領域分割手段１０６の処理イメージ図
【図６】部分オブジェクトＡの合成フレーム決定処理のイメージ図
【図７】部分オブジェクトＢの合成フレーム決定処理のイメージ図
【図８】部分オブジェクトＣの合成フレーム決定処理のイメージ図
【図９】部分オブジェクトＤの合成フレーム決定処理のイメージ図
【図１０】本発明の実施形態に係る推移画像生成処理によって生成された推移画像のイメージ図
【図１１】本発明の実施形態に係る画像処理装置１００  における推移画像生成フローチャート
【図１２】本発明の実施形態に係る画像処理装置１００  における動画像復号化での動き補償データを用いた推移画像生成データフロー図
【図１３】動画像動きベクトル検出手段１０４で算出した動きベクトルデータのイメージ図
【図１４】動き補償データ取得手段１０５が取得する動き補償データのイメージ図
【図１５】動き補償データ取得手段１０５が生成する動きベクトルデータのイメージ図
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１２】
＜第１の実施形態＞
図１は、本発明の実施形態に係る画像処理装置１００のハードウェアブロック図である。２００は、画像処理装置１００から着脱可能なメモリカードなどの記録媒体である。１０１は、画像処理装置１００に装着されている記録媒体２００とのＩ／ＦとなるＭｅｄｉａ  Ｉ／Ｆであり、記録媒体２００から読み込まれたデータはこのＭｅｄｉａ  Ｉ／Ｆ１０１を介して後述のＤＲＡＭ１０２へ格納される。
【００１３】
１０２は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、画像処理装置１００のメインメモリである。Ｍｅｄｉａから読み込まれたデータやフレーム画像データ等を一時保持することが可能である。
【００１４】
１０３は、記録媒体２００から読み込まれた動画符号化ストリームを復号化し、フレーム画像データを生成可能な動画復号化手段である。この動画復号化手段１０３によって生成されたフレーム画像はＤＲＡＭ１０２に格納される。また、この動画復号化手段１０３は、フレーム間予測方式を用いた動画符号化ストリーム、例えばＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）によって標準規格となっている圧縮フォーマットを復号することが可能である。
【００１５】
１０４は、ＤＲＡＭ１０２に格納されている複数のフレーム画像間の動きベクトルを算出し、動きベクトルデータを生成する動きベクトル検出手段である。１０５は、動画復号化手段１０３が上述のＭＰＥＧ圧縮フォーマットを復号化するときに用いられる動き補償データを取得し、動きベクトル検出手段１０４と同様の動きベクトルデータを生成することが可能な動き補償データ取得手段である。
【００１６】
１０６は、動きベクトル検出手段１０４、および動き補償データ取得手段１０５によって算出された動きベクトルデータを用いて、動きの方向と動き量をもとにフレーム画像を部分的なオブジェクトに領域分割する部分オブジェクト領域分割手段である。部分オブジェクトとは、通常のオブジェクトとされる人物、物体等に対して、部位、部分等にさらに細分化した領域を示すものである。また、この部分オブジェクト領域分割手段は、部分オブジェクト領域の中心となる座標を算出する機能を備えている。
【００１７】
１０７は、部分オブジェクト領域分割手段によって分割された部分オブジェクト領域に対して、まとめてひとつの動き方向と動き量を算出する部分オブジェクト領域動き量算出手段である。１０８は、ＤＲＡＭ１０２に格納されているフレーム画像から任意の領域を切り出し、複数の画像を合成することが可能な画像合成手段である。この画像合成手段は部分オブジェクト領域を切り出し合成することも可能である。また、生成された合成画像はＤＲＡＭ１０２に格納される。
【００１８】
１０９は、ＤＲＡＭ１０２に格納されているフレーム画像、および合成画像を読み出し、画像表示可能なＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ、液晶ディスプレイ）等の画像表示デバイスである。１１０は、メインデータバスであり、各ブロックへ制御指示やＤＲＡＭ１０１へのアクセスは、このメインデータバスを経由して行われる。１１１は、画像処理装置１００全体の制御をおこなうメインＣＰＵである。１１２は、ＣＰＵ１１１のプログラムが格納されているフラッシュメモリ  （Ｆｌａｓｈ  Ｍｅｍｏｒｙ、半導体不揮発性メモリ）であり、ＣＰＵ１１１で実行可能なプログラムが複数格納されている。
【００１９】
１１３は、ＣＰＵ１１１のワークメモリであるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。１１４は、ユーザが画像処理装置１００の動作指示を行うためのボタン、十字キー、タッチパネル等の操作キーである。１１５は、ＣＰＵ  １１１と、Ｆｌａｓｈ  Ｍｅｍｏｒｙ１１２、ＲＡＭ１１３、操作キー１１４を接続するプログラムバスである。
【００２０】
また、ＲＯＭ１０２には以下のプログラムが格納されており、ＣＰＵ１１１によって実行可能である。１つは、部分オブジェクト動き量算出手段１０７によって算出された部分オブジェクト動き量から、部分オブジェクトの再生時間軸方向の変化量をもとめる部分オブジェクト動き変化量算出プログラムである。
【００２１】
また、１つは、部分オブジェクト動き量算出手段１０７によって算出された部分オブジェクト動き量から、動き変化量が閾値以上となる急峻な動き変化があったフレームを特定する部分オブジェクト動き変化フレーム検出プログラムである。
【００２２】
また、１つは、部分オブジェクト動き変化量算出プログラムの算出結果から、その部分オブジェクト領域を合成するフレーム数を決定する合成枚数決定プログラムである。
【００２３】
また、１つは、部分オブジェクト動き変化フレーム検出プログラムと合成枚数決定プログラムの結果から、対象となる部分オブジェクトの合成フレームを決定する合成フレーム決定プログラムである。
【００２４】
画像処理装置１００は、上述のＭｅｄｉａ  Ｉ／Ｆ  １０１  〜  プログラムバス１０５  で構成されており、ＲＯＭ１０２に格納されているプログラムが適応的にＣＰＵ１１１で実行される。また、画像処理装置１００における通常の再生動作は、記録媒体２００に記録されている動画ストリームをＭｅｄｉａ  Ｉ／Ｆ  １０１を介して、ＤＲＡＭ１０２に読み込み、動画復号化手段１０３を用いて再生フレーム画像をＤＲＡＭ１０１生成する。生成されたフレーム画像を再生時間に合わせて画像表示デバイス１０９を用いて出力することで実現される。
【００２５】
本実施形態に係る画像処理装置１００における推移画像生成のデータフローについて説明する。図２は、本実施形態に係る画像処理装置１００における推移画像生成データフロー図である。以下の説明にある画像フレーム、動きベクトルデータ、部分オブジェクトデータ、部分オブジェクト領域動き量データはすべてＤＲＡＭ１０１へ格納されるものであり、メインデータバス１１０を介して、各ブロックからアクセス可能なものである。
【００２６】
記録媒体２００に記録されている動画符号化ストリームをＭｅｄｉａ  Ｉ／Ｆ  １０１を介して、ＤＲＡＭ  １０２  へ格納される。格納された動画符号化ストリームは、動画符号化手段１０３  によって再生時間順次で再生画像フレームとして復号化される。
【００２７】
動画像動きベクトル検出手段１０４は、前記再生画像フレームの復号化単位に、それまでに復号化された再生画像フレームを用いて動きベクトルを検出し、動きベクトルデータを生成する。
【００２８】
部分オブジェクト領域分割手段１０６は、前記動きベクトルデータを用いて動きの方向と動き量をもとに複数の部分的なオブジェクトに領域分割し、分割した領域情報を部分オブジェクト領域分割データとして出力する。
【００２９】
部分オブジェクト領域動き量算出手段１０７は、前記部分オブジェクト領域分割データをもとに、各部分オブジェクト領域単位にまとめた部分オブジェクト領域動き量データを生成する。
【００３０】
ＣＰＵ１１１で実行される部分オブジェクト動き変化量算出プログラムは、前記部分オブジェクト領域動き量データを用いて、各部分オブジェクトの時間軸方向の総変化量を算出する。ＣＰＵ１１１で実行される部分オブジェクト動き変化フレーム検出プログラムは、前記部分オブジェクト領域動き量データを用いて、各部分オブジェクトの動き変化量が閾値以上となる急峻な動き変化があったフレームを検出する。ＣＰＵ１１１で実行される合成枚数決定プログラムは、前記各部分オブジェクトの時間軸方向の総変化量を用いて、各部分オブジェクト単位に合成する枚数を決定する。
【００３１】
ＣＰＵ１１１で実行される合成フレーム決定プログラムは、前記部分オブジェクト動き変化フレーム検出プログラムの結果と、前記合成枚数決定プログラムの結果、および前記部分オブジェクト領域分割データを用いて、各部分オブジェクト単位に合成するフレームと、合成領域からなる合成情報を生成する。
【００３２】
画像合成手段１０８は、前記合成情報から該当する画素値を読み出し、合成画像フレームを生成する。画像出力手段は、前記合成画像フレームを表示出力する。
【００３３】
次に、図２を用いて説明した本実施形態に係る画像処理装置１００における推移画像生成に関して、画像イメージ図を用いて説明する。図３は、本発明に係る動画像のイメージ図であり、図２で説明した動画復号化手段によって再生される再生画像フレームである。再生時間軸方向に、Ｆ−１、Ｆ−２、・・・Ｆ−１７、Ｆ−１８の再生表示順となる動画像であり、動画像の被写体としては、ゴルフスイングを動画撮影したものである。
【００３４】
図４は、図３で説明した動画像に対して、単純合成した場合の推移画像である。４−１は動画像すべてのフレームすべての領域を合成した推移画像であり、人物部分の領域がすべてかさなってしまい、人物の動作推移がわかりづらくなっている。４−２は時間軸方向に対して合成するフレームを間引き、すべての領域を合成した推移画像である。動きの速いゴルフクラブ部分の推移が間引かれたことにより、わかりづらくなっている。
【００３５】
図５は、図２で説明した部分オブジェクト領域分割手段１０６の処理イメージ図である。図３で説明した動画像の再生画像フレームＦ−１０を、キーフレーム（ユーザによって選択された推移画像生成の基準となるフレーム）としている。
【００３６】
まず、部分オブジェクト領域分割手段１０６は、再生画像フレームＦ−１０に対して、特徴抽出を行い、人物、物体等のオブジェクトを検出する。検出されたオブジェクトのイメージは、
Ｆ−１０−Ｏａ       ・・・ オブジェクトＯａ  ：ゴルフクラブ
Ｆ−１０−Ｏｂ       ・・・ オブジェクトＯｂ  ：人物
Ｆ−１０−Ｏｃ       ・・・ オブジェクトＯｃ  ：ボール
となる。
【００３７】
この検出された各オブジェクトに対して、動画像動きベクトル検出手段１０４によって検出された動きベクトルデータを用いて、オブジェクト内で動き変化量に応じてさらに領域分割をおこない部分オブジェクトを決定する。オブジェクトＯａにおいては、すべての領域が閾値以上の変化量と判別され、オブジェクトａ自体が部分オブジェクトＡとなる。
【００３８】
オブジェクトＯｂにおいては、動き量が比較的多い部分と判別された人物の腕部分は部分オブジェクトＢ、それ以外の比較的動き量が少ないと判別された人物胴体は部分オブジェクトＣとなる。オブジェクトＯｃにおいては、すべての領域が同一の変化量と判別され、オブジェクトＯｃ自体が部分オブジェクトＤとなる。
【００３９】
検出された各部分オブジェクトのイメージは、
Ｆ−１０−Ａ  ・・・  部分オブジェクトＡ：ゴルフクラブ
Ｆ−１０−Ｂ  ・・・  部分オブジェクトＢ：人物の腕
Ｆ−１０−Ｃ  ・・・  部分オブジェクトＣ：人物胴体
Ｆ−１０−Ｄ  ・・・  部分オブジェクトＤ：ボール
となる。
【００４０】
以上、述べた各部分オブジェクト領域を示す情報である部分オブジェクト領域分割データが部分オブジェクト領域分割手段１０６により算出される。
【００４１】
次に、図２における、
・部分オブジェクト領域動き量算出手段１０７
・部分オブジェクト動き変化量算出プログラム
・合成枚数決定プログラム
・部分オブジェクト動き変化フレーム検出プログラム
・合成フレーム決定プログラム
の処理について説明する。
【００４２】
図６は、前記部分オブジェクトＡの合成フレーム決定処理のイメージ図である。図６において、部分オブジェクト領域動き量算出手段１０７は、前記部分オブジェクトＡのフレーム単位の動き量を算出する。キーフレームであるＦ−１０−Ａから再生時間軸の前方方向と後方方向に対して、フレーム単位に直前のフレームとの比較により動き量を算出する。動き量の算出は、部分オブジェクトの各画素が比較フレームに対してどれだけ移動したかを算出し、各画素の総和を画素数で平均化した値を所定閾値でレベル分けしたものである。部分オブジェクトＡは、各フレームにおいて動き量が多く、前記レベル分けとしてすべてのフレームがレベル４と判定される。
【００４３】
このように、部分オブジェクト領域動き量算出手段１０７によって、各フレーム単位の動き量を部分オブジェクト単位にまとめた部分オブジェクト領域動き量データが生成される。
【００４４】
次に、部分オブジェクト動き変化量算出プログラムは、部分オブジェクト領域動き量データから動画像全体での部分オブジェクト動き変化量レベルを算出する。変化量レベルは、フレーム単位の動き量を総和し、フレーム数で平均化した値をレベル分けしたものとし、部分オブジェクトＡの動き変化量はレベル４と判定される。
【００４５】
合成枚数決定プログラムは、前記動き変化量のレベルに応じて、部分オブジェクト単位に合成するフレーム数を決定し、そのフレーム数に準じて各フレームの一次合成判定を行う。例えば、
動き変化量    レベル４  ・・・  すべてのフレームを合成
レベル３  ・・・  総フレーム数の半数
レベル２  ・・・  キーフレームのみ
レベル１  ・・・  キーフレームのみ
とした場合、部分オブジェクトＡはすべてのフレームに対して一次合成判定が○となる。（合成しないフレームと判定された場合は×とする）。
【００４６】
部分オブジェクト動き変化フレーム検出プログラムは、前記部分オブジェクト領域動き量データを用いて、動き量が閾値以上となる急峻な動き変化があったフレームを特定する。例えば、フレーム単位の動き量がレベル４以上の場合に急峻な動き変化フレームとした場合、オブジェクトＡはすべてフレームに対して急峻な動き変化が○と判定される（動き変化がレベル３以下の場合、および部分オブジェクトが存在しない場合は、×と判定される）。
【００４７】
合成フレーム決定プログラムは、前記一次合成判定結果と動き変化フレーム判定結果をもとに最終合成判定を各フレーム単位に行う。合成フレーム決定プログラムは、一次合成判定が○なフレーム、または急峻な動き変化が○と判定されているフレームに対して、部分オブジェクト領域の重なり領域を算出する。他のフレームとの重なり領域が閾値以上と判定されたフレームは、再生時間軸上でキーフレームに一番近いフレームを優先して最終合成判定を○とし、それ以外のフレームの最終合成判定を×とする。図６対して、前記の合成フレーム決定プログラムの処理を適応させた場合、部分オブジェクトＡはすべてのフレームに対して最終合成判定が○と判定される。
【００４８】
図７は、前記部分オブジェクトＢの合成フレーム決定処理のイメージ図である。図６で説明した合成フレーム決定処理を部分オブジェクトＢに適応した場合、最終合成判定が○となるフレームは、図７に示すように、
Ｆ−４−Ｂ、Ｆ−６−Ｂ、Ｆ−８−Ｂ、Ｆ−１０−Ｂ、Ｆ−１２−Ｂ、Ｆ−１４−Ｂ、Ｆ−１６−Ｂ、Ｆ−１８−Ｂ、
のフレームとなる。Ｆ−２−Ｂのフレームは、一次合成判定では○と判定されたが、重なり領域判定により、Ｆ−８−Ｂのフレームとの重なり領域が閾値以上と判別されたため、キーフレームであるＦ−１０−Ｂに再生時間軸上でより近いＦ−８−Ｂを優先したため、Ｆ−２−Ｂは最終合成判定として、×と判定されている。
【００４９】
図８は、前記部分オブジェクトＣの合成フレーム決定処理のイメージ図である。図６で説明した合成フレーム決定処理を部分オブジェクトＣに適応した場合、最終合成判定が○となるフレームは、図８に示すように、Ｆ−１０−Ｃのフレームのみとなる。部分オブジェクトＢは、動き変化量レベル２であり、急峻な動き変化フレームも検出されなかったため、キーフレームであるＦ−１０−Ｃだけが合成フレームとなる。
【００５０】
図９は、前記部分オブジェクトＤの合成フレーム決定処理のイメージ図である。図６で説明した合成フレーム決定処理を部分オブジェクトＣに適応した場合、最終合成判定が○となるフレームは、図８に示すように、Ｆ−１０−Ｄ、Ｆ−１１−Ｄのフレームとなる。部分オブジェクトＤは、動き変化量レベル２であるが、急峻な動き変化フレームとしてＦ−１１−Ｄが○と判定されている。そのため、キーフレームであるＦ−１０−Ｄと急峻な動き変化フレームであるＦ−１１−Ｄが合成フレームとなる。
【００５１】
図１０は、本実施形態に係る画像処理装置１００における推移画像生成処理によって生成された推移画像のイメージ図である。図６、図７、図８、図９で合成フレームと判定された部分オブジェクトＡのＦ−１−Ａ  から  Ｆ−１８−Ａのフレームと、部分オブジェクトＢのＦ−４−Ｂ、Ｆ−６−Ｂ、Ｆ−８−Ｂ、Ｆ−１０−Ｂ、Ｆ−１２−Ｂ、Ｆ−１４−Ｂ、Ｆ−１６−Ｂ、Ｆ−１８−Ｂ  のフレーム、部分オブジェクトＣのＦ−１０−Ｃのフレーム、および、部分オブジェクトＤのＦ−１０−Ｄ、Ｆ−１１−Ｄのフレームを合成したものとなる。
【００５２】
このとき、キーフレームであるＦ−１０−Ａ、Ｆ−１０−Ｂ、Ｆ−１０−Ｃ、Ｆ−１０−Ｄが一番前面となるように合成し、キーフレームから再生時間軸上で遠くなるフレームをより背面に合成するようにする。
【００５３】
また、本実施形態では、動き量が低いレベルの部分オブジェクトＤで急峻な動き変化フレームとしてＦ−１１−Ｄが検知されている。このとき、部分オブジェクトＤより動き量が高く、Ｆ−１１−Ｄと同時刻のフレームである。部分オブジェクトＢにおけるＦ−１１−Ｂ、部分オブジェクトＣにおけるＦ−１１−Ｃを合成フレームとしてもよい。
【００５４】
図１１は、図２で説明した本発明に係る画像処理装置１００  における推移画像生成処理の動作フローチャートである。まず、ユーザからキーフレームが選択されたかを判断する（Ｓ１１０１）。Ｓ１１０１でＮｏと判断された場合は、処理を終了する。Ｓ１１０１でＹｅｓと判断された場合は、記録媒体２００に記録されている動画符号化ストリームをＭｅｄｉａ  Ｉ／Ｆ  １０１を介して、読み込み動画符号化手段１０３  によって再生時間順次で再生画像フレームを復号化する（Ｓ１１０２）。Ｓ１１０２で復号化された画像フレームに対して、動画像動きベクトル検出手段１０４は動きベクトルデータを生成する（Ｓ１１０３）。
【００５５】
Ｓ１１０２で復号化された画像フレームとＳ１１０３で生成された動きベクトルデータから、部分オブジェクト領域分割手段１０６は、動きの方向と動き量をもとに複数の部分的なオブジェクトに領域分割した部分オブジェクト領域分割データを生成する（Ｓ１１０４）。
【００５６】
部分オブジェクト領域動き量算出手段１０７は、Ｓ１１０４で生成された部分オブジェクト領域分割データをもとに、部分オブジェクト領域単位にまとめた部分オブジェクト領域動き量データを生成する（Ｓ１１０５）。
【００５７】
ＣＰＵ１１１で実行される部分オブジェクト動き変化量算出プログラムは、Ｓ１１０５で生成された部分オブジェクト領域動き量データを用いて、部分オブジェクトの時間軸方向の総変化量を算出する（Ｓ１１０６）。
【００５８】
ＣＰＵ１１１で実行される部分オブジェクト動き変化フレーム検出プログラムは、Ｓ１１０５で生成された部分オブジェクト領域動き量データを用いて、部分オブジェクトの動き変化量が閾値以上となる急峻な動き変化があったフレームを検出する（Ｓ１１０７）。ＣＰＵ１１１で実行される合成枚数決定プログラムは、Ｓ１１０６で算出された部分オブジェクトの時間軸方向の総変化量を用いて、各部分オブジェクト単位に合成する枚数を一次判定する（Ｓ１１０８）。ＣＰＵ１１１で実行される合成フレーム決定プログラムは、前記部分オブジェクト領域分割データを用いて、部分オブジェクト領域の重なり領域を算出する（Ｓ１１０９）。
【００５９】
次に、Ｓ１１０７で検出された部分オブジェクト動き変化フレーム検出プログラムの結果と、Ｓ１１０８で一次判定された合成枚数とフレームと、Ｓ１１０９で算出した重なり領域、および前記部分オブジェクト領域分割データを用いて、部分オブジェクト単位に合成するフレームと、合成領域からなる部分オブジェクト合成情報を生成する（Ｓ１１１０）。
【００６０】
Ｓ１１０４で領域分割されたすべての部分オブジェクトに対して、部分オブジェクト合成情報を生成したかを判断する（Ｓ１１１１）。Ｓ１１１０でＮｏと判断された場合、Ｓ１１０５へ戻り、まだ部分オブジェクト合成情報を生成していない部分オブジェクトに対して、処理を続行する。Ｓ１１１０でＹｅｓと判断された場合、Ｓ１１０９で生成されたすべての部分オブジェクト合成情報に従い画像合成手段１０８を用いて推移画像となる合成フレーム画像を生成し、処理を終了する（Ｓ１１１２）。
【００６１】
以上のように、本実施形態に係る画像処理装置１００における推移画像生成処理により、動き方の異なる部分オブジェクト毎に合成枚数を変えることで、移動速度の早い部分オブジェクトも、遅い部分オブジェクトも、適切な枚数で合成され、全体とし見栄えの良い、また動きの見やすい合成画像を生成することが可能となる。
【００６２】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。なお、以下で説明する本実施形態おける装置構成については、第１の実施形態における図１のブロック図と同様であるため、その説明を省略する。本実施形態に係る画像処理装置１００における動画像復号化での動き補償データを用いた推移画像生成処理について説明する。
【００６３】
図１２は、本実施形態に係る画像処理装置１００における動画像復号化での動き補償データを用いた推移画像生成データフロー図である。以下の説明にある画像フレーム、動きベクトルデータ、部分オブジェクトデータ、部分オブジェクト領域動き量データはすべてＤＲＡＭ１０１へ格納されるものであり、メインデータバス１１０を介して、各ブロックからアクセス可能なものである。また、図中に示す動画符号化ストリームは、フレーム間予測圧縮方式によって符号化されたものであり、マクロブロック単位に動き補償データが付加されている。
【００６４】
まず、記録媒体２００に記録されている動画符号化ストリームをＭｅｄｉａ  Ｉ／Ｆ  １０１を介して、ＤＲＡＭ  １０２  へ格納される。格納された動画符号化ストリームは、動画符号化手段１０３  によって再生時間順次で再生画像フレームとして復号化される。
【００６５】
動き補償データ取得手段１０５は、再生画像フレームが復号化されるごとに、動画符号化手段１０３から復号化に使用された動き補償データを取得する。取得された動き補償データから動きベクトルを算出し、動きベクトルデータを生成する。
【００６６】
部分オブジェクト領域分割手段１０６は、前記動きベクトルデータを用いて動きの方向と動き量をもとに複数の部分的なオブジェクトに領域分割し、分割した領域情報を部分オブジェクト領域分割データとして出力する。
【００６７】
部分オブジェクト領域動き量算出手段１０７は、前記部分オブジェクト領域分割データをもとに、各部分オブジェクト領域単位にまとめた部分オブジェクト領域動き量データを生成する。
【００６８】
ＣＰＵ１１１で実行される部分オブジェクト動き変化量算出プログラムは、前記部分オブジェクト領域動き量データを用いて、各部分オブジェクトの時間軸方向の総変化量を算出する。ＣＰＵ１１１で実行される部分オブジェクト動き変化フレーム検出プログラムは、前記部分オブジェクト領域動き量データを用いて、各部分オブジェクトの動き変化量が閾値以上となる急峻な動き変化があったフレームを検出する。
【００６９】
ＣＰＵ１１１で実行される合成枚数決定プログラムは、前記各部分オブジェクトの時間軸方向の総変化量を用いて、各部分オブジェクト単位に合成する枚数を決定する。ＣＰＵ１１１で実行される合成フレーム決定プログラムは、前記部分オブジェクト動き変化フレーム検出プログラムの結果と、前記合成枚数決定プログラムの結果、および前記部分オブジェクト領域分割データを用いて、各部分オブジェクト単位に合成するフレームと、合成領域からなる合成情報を生成する。
【００７０】
画像合成手段１０８は前記合成情報から該当する画素値を読み出し、合成画像フレームを生成する。画像出力手段は、前記合成画像フレームを表示出力する。
【００７１】
図１２で説明した動き補償データ取得手段１０５の処理に関して説明するために、まず、第１の実施形態で説明した動画像動きベクトル検出手段１０４によって算出される動きベクトルデータについて説明する。
【００７２】
図１３は、動画像動きベクトル検出手段１０４が図３の動画像フレームのＦ−１からＦ−４に対して、動きベクトル検出した動きベクトルデータのイメージ図である。動画像動きベクトル検出手段１０４は、動き検出を行う動画像から２つのフレームを選択し、フレーム内を所定サイズの動き検出ブロック（格子状ブロック）に分割する。時間軸で後のフレームの動き検出ブロックが、前のフレームのどの動き検出ブロックが移動したのかを画像マッチングで検索し、マッチング率のもっとも高いブロックとの座標差分を算出する。
【００７３】
このとき時間軸方向に動いた座標差分を動きベクトルとし、この処理をすべてのフレームの動き検出ブロックに対して実施する。フレームの一番左上の動き検出ブロックを原点とし、水平方向をｘ座標、垂直方向をｙ座標とし、動きブロックの座標をＶＢ（Ｘ，Ｙ）と表現する。また、動きベクトルをＶｅｃｔｏｒ（ΔＸ，ΔＹ）と表現する。
ｎ番目のフレームの算出する動きブロックの座標を、ＶＢ（Ｘｎ，Ｙｎ）、
ｎ−１番目のフレームにおけるマッチング動きブロックの座標を、ＶＢ（Ｘｎ−１，  Ｙｎ−１）、
ｎ番目のフレームの算出する動きブロックの動きベクトルを  Ｖｅｃｔｏｒ（ＶＸ，ＶＹ）、
とするときの算出式は、
Ｖｅｃｔｏｒ（ＶＸ，  ＶＹ）  ＝  Ｖｅｃｔｏｒ（Ｘｎ  −  Ｘｎ−１，    Ｙｎ  -  Ｙｎ−１）
で表わされる。
【００７４】
例えば、図１３の各フレーム間対して上記の処理を実施した場合、以下となる。
［動きベクトルデータ１］
＜Ｆ−２の動き検出ブロック座標＞ ＜Ｆ−１のマッチング座標＞  ＜動きベクトル＞
ＶＢ（０，１０）  ＶＢ（８，１６）      Ｖｅｃｔｏｒ（−８，−６）
ＶＢ（９，１６）  ＶＢ（９，１６）      Ｖｅｃｔｏｒ（０，０）
ＶＢ（２，１０）  ＶＢ（８，１４）      Ｖｅｃｔｏｒ（−６，−４）
＜Ｆ−３の動き検出ブロック座標＞ ＜Ｆ−２のマッチング座標＞  ＜動きベクトル＞
ＶＢ（５，５）    ＶＢ（０，１０）      Ｖｅｃｔｏｒ（５，−５）
ＶＢ（９，１６）  ＶＢ（９，１６）      Ｖｅｃｔｏｒ（０，０）
ＶＢ（４，６）    ＶＢ（２，１０）      Ｖｅｃｔｏｒ（２，−４）
＜Ｆ−４の動き検出ブロック座標＞ ＜Ｆ−３のマッチング座標＞  ＜動きベクトル＞
ＶＢ（８，４）    ＶＢ（５，５）        Ｖｅｃｔｏｒ（３，−１）
ＶＢ（９，１６）  ＶＢ（９，１６）      Ｖｅｃｔｏｒ（０，０）
ＶＢ（７，５）    ＶＢ（４，６）        Ｖｅｃｔｏｒ（３，−１）
このように、動画像動きベクトル検出手段１０４によって、各フレームの動き検出ブロックに対して、再生順で直前の画像フレームからの動きベクトルデータが算出される。
【００７５】
次に、動き補償データ取得手段１０５の処理に関して、図を用いて説明する。図１４は、動き補償データ取得手段１０５が取得する動き補償データのイメージ図である。まず、動画像復号化時に用いられる動画ストリーム中の動き補償データは、フレーム間予測圧縮方式の動画圧縮で規定されたマクロブロック単位に付加されている。このマクロブロックは、図１３で説明した動き検出ブロックと同様にフレームを格子状に分割したものであるが、動き検出ブロックの領域より大きく分割されているものである。動き補償データ取得手段１０５は、前述の動き補償データを用いて図１３で説明した動きベクトルデータを算出する処理を行う。
【００７６】
先の図１３で説明した各フレームの動き検出ブロックは、以下のように図１４でのマクロブロックに含まれる画像データとなる。マクロブロックの座標をＭＢ（ｘ，ｙ）と表現する。
【００７７】
＜図１３の動き検出ブロック座標＞ ＜図１４のマクロブロック座標＞
Ｆ−１のＶＢ（８，１６）  Ｆ−１のＭＢ（４，８）
Ｆ−１のＶＢ（９，１６）  Ｆ−１のＭＢ（４，８）
Ｆ−１のＶＢ（８，１４）  Ｆ−１のＭＢ（４，７）
Ｆ−２のＶＢ（０，１０）  Ｆ−２のＭＢ（０，５）
Ｆ−２のＶＢ（９，１６）  Ｆ−２のＭＢ（４，８）
Ｆ−２のＶＢ（２，１０）  Ｆ−２のＭＢ（１，５）
Ｆ−３のＶＢ（５，５）    Ｆ−３のＭＢ（２，２）
Ｆ−３のＶＢ（９，１６）    Ｆ−３のＭＢ（４，８）
Ｆ−３のＶＢ（４，６）      Ｆ−３のＭＢ（２，３）
Ｆ−４のＶＢ（８，４）      Ｆ−４のＭＢ（４，２）
Ｆ−４のＶＢ（９，１６）    Ｆ−４のＭＢ（４，８）
Ｆ−４のＶＢ（７，５）      Ｆ−４のＭＢ（３，２）
このように、図１４のマクロブロック座標は、図１３の動き検出ブロック座標に対して、２で割った商となる関係となっており、関係式として、
ＭＢ（Ｘ，Ｙ）≒ＶＢ（Ｘ，Ｙ）／２      ・・・式（１）
となる。
【００７８】
図１４において、フレーム間予測圧縮方式におけるＩピクチャ（フレーム内符号化フレーム）は、Ｆ−３となっており、Ｆ−１、Ｆ−２、Ｆ−３はＢピクチャ（両方向予測符号化フレーム）となっている。各フレームの参照関係とマクロブロックに付加されている動き補償データは、以下の関係となっている。
【００７９】
＜マクロブロック座標＞    ＜参照しているマクロブロック座標＞
Ｆ−１のＭＢ（４，７）      Ｆ−３のＭＢ（２，３）
Ｆ−１のＭＢ（４，８）      Ｆ−３のＭＢ（４，８）
Ｆ−２のＭＢ（０，５）      Ｆ−３のＭＢ（２，２）
Ｆ−２のＭＢ（４，８）      Ｆ−３のＭＢ（４，８）
Ｆ−２のＭＢ（１，５）      Ｆ−３のＭＢ（２，３）
Ｆ−４  のＭＢ（４，２）    Ｆ−３のＭＢ（２，２）
Ｆ−４  のＭＢ（４，８）    Ｆ−３のＭＢ（４，８）
Ｆ−４  のＭＢ（３，２）    Ｆ−３のＭＢ（２，３）
※Ｆ−３  のマクロブロックはフレーム間参照されていない。
【００８０】
上述の参照関係から再生時間順にマクロブロック単位の動きを検出すると、以下のようになる。
【００８１】
［マクロブロック動き検出データ］
＜Ｆ−１＞           ＜Ｆ−２＞           ＜Ｆ−３＞           ＜Ｆ−４＞
ＭＢ（４，７）    ⇒ ＭＢ（１，５）    ⇒ ＭＢ（２，３）    ⇒ ＭＢ（３，２）
ＭＢ（４，８）    ⇒ ＭＢ（４，８）    ⇒ ＭＢ（４，８）    ⇒ ＭＢ（４，８）
ＭＢ（０，５）    ⇒ ＭＢ（２，２）    ⇒ ＭＢ（４，２）
Ｆ−１のマクロブロックは、Ｆ−２のマクロブロックを参照していないが、Ｆ−１のマクロブロックが参照しているＦ−３のマクロブロックを参照しているＦ−２のマクロブロックを検索するものとする。例えば、Ｆ−１のＭＢ（４，７）は、Ｆ−３のＭＢ（２，３）  を参照している。また、Ｆ−３のＭＢ（２，３）はＦ−２のＭＢ（１，５）から参照されている。この関係から、ＭＢ（４，７）  ⇒ＭＢ（１，５）  ⇒ＭＢ（２，３）の動きが検出される。
【００８２】
上述の［マクロブロック動き検出データ］から、マクロブロックの動きベクトルデータを以下の式を用いて算出する。
ｎ番目のフレームの算出するマクロブロックの座標を、ＭＢ（Ｘｎ，Ｙｎ）、
ｎ−１番目のフレームにおける動きマクロブロックの座標を、ＭＢ（Ｘｎ−１，Ｙｎ−１）、
ｎ番目のフレームの算出する動きブロックの動きベクトルをＭＶｅｃｔｏｒ（ＶＸ，ＶＹ）、
とするときの算出式は、
ＭＶｅｃｔｏｒ（ＶＸ，  ＶＹ）  ＝  ＭＶｅｃｔｏｒ（Ｘｎ  −  Ｘｎ−１，    Ｙｎ  -  Ｙｎ−１）    ・・・式（２）
となり、算出した結果が以下となる。
【００８３】
［マクロブロック動きベクトルデータ］
Ｆ−２のＭＢ（０，５）      ・・・ ＭＶｅｃｔｏｒ（  ０，    ０）
Ｆ−２のＭＢ（４，８）      ・・・ ＭＶｅｃｔｏｒ（  ０，    ０）
Ｆ−２のＭＢ（１，５）      ・・・ ＭＶｅｃｔｏｒ（−３，  −２）
Ｆ−３のＭＢ（２，２）      ・・・ ＭＶｅｃｔｏｒ（  ２，  −３）
Ｆ−３のＭＢ（４，８）      ・・・ ＭＶｅｃｔｏｒ（  ０，    ０）
Ｆ−３のＭＢ（２，３）      ・・・ ＭＶｅｃｔｏｒ（  １，  −２）
Ｆ−４のＭＢ（４，２）      ・・・ ＭＶｅｃｔｏｒ（  ２，    ０）
Ｆ−４のＭＢ（４，８）      ・・・ ＭＶｅｃｔｏｒ（  ０，    ０）
Ｆ−４のＭＢ（３，２）      ・・・ ＭＶｅｃｔｏｒ（  １，  −１）
図１５は、動き補償データ取得手段１０５が生成する動きベクトルデータのイメージ図である。動き補償データ取得手段１０５は、図１４で説明で説明した式（１）と式（２）を用いて動きベクトルデータを算出する。例えば、Ｆ−２のＶＢ（２，１０）の動きベクトルを算出する場合、式（１）から該当マクロブロックは、Ｆ−２のＭＢ（１，５）となり、式（２）からＭＶｅｃｔｏｒ（−３，−２）が算出される。
【００８４】
このマクロブロック動きベクトルデータは、式（１）より、２倍すると図１３で説明した動き検出ブロックの単位換算した値となるため、ＶＢ（２，１０）の動きベクトルは、Ｖｅｃｔｏｒ（−６，−４）となる。同様に図１３で説明した各フレームの動き検出ブロックの動きベクトルを算出すると以下のようになる。このときフレーム間で参照関係がないものは動きベクトルはＶｅｃｔｏｒ（０，０）とする。
【００８５】
［動きベクトルデータ２］
Ｆ−２のＶＢ（０，１０）⇒Ｆ−２のＭＢ（０，５）⇒ＭＶｅｃｔｏｒ（０，−０）⇒Ｖｅｃｔｏｒ（０，０）
Ｆ−２のＶＢ（９，１６）⇒Ｆ−２のＭＢ（４，８）  ⇒ＭＶｅｃｔｏｒ（０，０）⇒Ｖｅｃｔｏｒ（０，０）
Ｆ−２のＶＢ（２，１０）⇒Ｆ−２のＭＢ（１，５）⇒ＭＶｅｃｔｏｒ（−３，−２）⇒Ｖｅｃｔｏｒ（−６，−４）
Ｆ−３のＶＢ（５，５）⇒Ｆ−３のＭＢ（２，２）  ⇒ＭＶｅｃｔｏｒ（２，−３）⇒Ｖｅｃｔｏｒ（４，−６）
Ｆ−３のＶＢ（９，１６）⇒Ｆ−３のＭＢ（４，８）⇒ＭＶｅｃｔｏｒ（０，０）⇒Ｖｅｃｔｏｒ（０，０）
Ｆ−３のＶＢ（４，６）⇒Ｆ−３のＭＢ（２，３）⇒ＭＶｅｃｔｏｒ（１，−２）⇒Ｖｅｃｔｏｒ（２，−４）
Ｆ−４のＶＢ（８，４）⇒Ｆ−４のＭＢ（４，２）⇒ＭＶｅｃｔｏｒ（２，０）⇒Ｖｅｃｔｏｒ（４，０）
Ｆ−４のＶＢ（９，１６）⇒Ｆ−４のＭＢ（４，８）⇒ＭＶｅｃｔｏｒ（０，０）⇒Ｖｅｃｔｏｒ（０，０）
Ｆ−４のＶＢ（７，５）⇒Ｆ−４のＭＢ（３，２）⇒ＭＶｅｃｔｏｒ（１，−１）⇒Ｖｅｃｔｏｒ（２，−２）
このように、動き補償データ取得手段１０５によって、動画像復号化時に用いられる動画ストリーム中の動き補償データから各フレームに対して、動きベクトルデータを算出することができる。これによりフレーム間予測圧縮方式の動画ストリームにおいては、動画像動きベクトル検出手段１０４による画像マッチング処理を行わないため、動きベクトル算出時間が短縮され、ユーザからの推移画像指示に対しての応答性を向上することができる。
【００８６】
また、図１３で示した［動きベクトルデータ１］  と  図１５で示した［動きベクトルデータ２］  では動き検出ブロックとマクロブロックの領域サイズの違いから誤差が発生する。そのため、動き検出ブロックとマクロブロックの領域サイズを比較し、閾値以上の差がある場合には、動きベクトル算出処理を切り替えるようにしてもよい。
【符号の説明】
【００８７】
１００ 画像処理装置
１０１ Ｍｅｄｉａ  Ｉ／Ｆ
１０２ ＤＲＡＭ
１０３ 動画像復号化手段
１０４ 動画像動きベクトル検出手段
１０５ 動き補償データ取得手段
１０６ 部分オブジェクト領域分割手段
１０７ 部分オブジェクト領域動き量算出手段
１０８ 画像合成手段
１０９ 画像出力手段
１１０ メインデータバス
１１１ ＣＰＵ
１１２ ＲＯＭ
１１３ ＲＡＭ
１１４ 操作キー
１１５ プログラムバス
２００ 記録媒体
【図１】
2019096094.tif 000003
【図２】
2019096094.tif 000004
【図３】
2019096094.tif 000005
【図４】
2019096094.tif 000006
【図５】
2019096094.tif 000007
【図６】
2019096094.tif 000008
【図７】
2019096094.tif 000009
【図８】
2019096094.tif 000010
【図９】
2019096094.tif 000011
【図１０】
2019096094.tif 000012
【図１１】
2019096094.tif 000013
【図１２】
2019096094.tif 000014
【図１３】
2019096094.tif 000015
【図１４】
2019096094.tif 000016
【図１５】
2019096094.tif 000017