JP2019096094A - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP2019096094A
JP2019096094A JP2017225433A JP2017225433A JP2019096094A JP 2019096094 A JP2019096094 A JP 2019096094A JP 2017225433 A JP2017225433 A JP 2017225433A JP 2017225433 A JP2017225433 A JP 2017225433A JP 2019096094 A JP2019096094 A JP 2019096094A
Authority
JP
Japan
Prior art keywords
partial object
motion
frame
image
partial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017225433A
Other languages
English (en)
Inventor
小薬 弘治
Hiroharu Ogusuri
弘治 小薬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017225433A priority Critical patent/JP2019096094A/ja
Publication of JP2019096094A publication Critical patent/JP2019096094A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Closed-Circuit Television Systems (AREA)
  • Image Analysis (AREA)

Abstract

【課題】動き方の異なる部分オブジェクト毎に合成枚数を変えることで、移動速度の速い部分オブジェクトも、遅い部分オブジェクトも、適切な枚数で合成し、全体とし見栄えの良い、また動きの見易い合成画像を作成することができる画像処理装置および画像処理方法を提供する。【解決手段】画像処理装置において、被写体の動きベクトルを検出する動きベクトル検出手段と、被写体を動きベクトル検出手段の検出結果を用いて、部分オブジェクト領域に分割する部分オブジェクト領域分割手段と、部分オブジェクト領域単位に動き量を算出する部分オブジェクト動き量算出手段と、部分オブジェクト動き量算出手段の算出結果に応じて、部分オブジェクト領域単位に合成する枚数を決定する合成枚数決定手段と、部分オブジェクト領域単位に合成枚数決定手段で決定された枚数の画像を合成する画像合成手段と、を有する。【選択図】図11

Description

本発明は、動画像から複数枚のフレームを抽出し、1枚の画像に合成することで被写体の推移画像(合成画像)を生成する画像処理装置および画像処理方法に関する。
動画像から複数枚のフレームを抽出し、被写体の推移画像を得る方法として、等間隔の時間でフレームを抽出し、それぞれのフレームを固定比率(枚数による平均比率)で合成することで推移画像を生成する手法がある。
上述の手法では動きのある部分の画素値が小さくなり、ほとんど見えなくなる問題があり、この問題を解決する手段として、合成時に単純な固定比率ではなく画素値のばらつきにより合成比率を変更する技術が開示されている(特許文献1)。
特開平10−290450号公報
しかしながら、通常撮影される被写体は部分単位で動作速度が異なることがほとんどである。上述の従来技術では、所定間隔で抽出されたフレームに対して特徴画素考慮、オブジェクト抽出を行うが、動きに応じた適正なフレームを抽出することができない。このため、動きの速い被写体部分に合わせたフレーム枚数を抽出した場合に、動きの遅い部分にかすれが発生し、動きの遅い被写体部分に合わせたフレーム枚数を抽出した場合には、動きの速い部分のコマ数が足りなくなってしまう。結果として、得られる推移画像の表現性が十分でない問題がある。
本発明の目的は、動き方の異なる部分オブジェクト毎に合成枚数を変えることで、移動速度の速い部分オブジェクトも、遅い部分オブジェクトも、適切な枚数で合成し、全体とし見栄えの良い、また動きの見易い合成画像を作成することができる画像処理装置および画像処理方法を提供することである。
上記目的を達成するため、本発明に係る画像処理装置は、動画像から被写体の動作を表現する画像を生成する画像処理装置において、前記被写体の動きベクトルを検出する動きベクトル検出手段と、前記被写体を前記動きベクトル検出手段の検出結果を用いて、部分オブジェクト領域に分割する部分オブジェクト領域分割手段と、前記部分オブジェクト領域単位に動き量を算出する部分オブジェクト動き量算出手段と、前記部分オブジェクト動き量算出手段の算出結果に応じて、前記部分オブジェクト領域単位に合成する枚数を決定する合成枚数決定手段と、前記部分オブジェクト領域単位に前記合成枚数決定手段で決定された枚数の画像を合成する画像合成手段と、を有することを特徴とする。
また、本発明に係る画像処理方法は、動画像から被写体の動作を表現する画像を生成する画像処理方法であって、前記被写体の動きベクトルを検出する動きベクトル検出工程と、前記被写体を前記動きベクトル検出工程の検出結果を用いて、複数の部分オブジェクト領域に分割する部分オブジェクト領域分割工程と、前記部分オブジェクト領域単位に動き量を算出する部分オブジェクト動き量算出工程と、前記部分オブジェクト動き量算出工程の算出結果に応じて、前記部分オブジェクト領域単位に合成する枚数を決定する合成枚数決定工程と、前記部分オブジェクト領域単位に前記合成枚数決定工程で決定された枚数の画像を合成する画像合成工程と、を有することを特徴とする。
本発明によれば、動き方の異なる部分オブジェクト毎に合成枚数を変えることで、移動速度の速い部分オブジェクトも、遅い部分オブジェクトも、適切な枚数で合成し、全体とし見栄えの良い、また動きの見易い合成画像を作成することができる。
本発明の実施形態に係る画像処理装置100のハードウェアブロック図 本発明の実施形態に係る画像処理装置100 における推移画像生成データフロー図 本発明の実施形態に係る動画像のイメージ図 本発明の実施形態に係る動画像のイメージを単純合成した場合の推移画像イメージ図 部分オブジェクト領域分割手段106の処理イメージ図 部分オブジェクトAの合成フレーム決定処理のイメージ図 部分オブジェクトBの合成フレーム決定処理のイメージ図 部分オブジェクトCの合成フレーム決定処理のイメージ図 部分オブジェクトDの合成フレーム決定処理のイメージ図 本発明の実施形態に係る推移画像生成処理によって生成された推移画像のイメージ図 本発明の実施形態に係る画像処理装置100 における推移画像生成フローチャート 本発明の実施形態に係る画像処理装置100 における動画像復号化での動き補償データを用いた推移画像生成データフロー図 動画像動きベクトル検出手段104で算出した動きベクトルデータのイメージ図 動き補償データ取得手段105が取得する動き補償データのイメージ図 動き補償データ取得手段105が生成する動きベクトルデータのイメージ図
以下、本発明の実施の形態について図面を参照しながら説明する。
<第1の実施形態>
図1は、本発明の実施形態に係る画像処理装置100のハードウェアブロック図である。200は、画像処理装置100から着脱可能なメモリカードなどの記録媒体である。101は、画像処理装置100に装着されている記録媒体200とのI/FとなるMedia I/Fであり、記録媒体200から読み込まれたデータはこのMedia I/F101を介して後述のDRAM102へ格納される。
102は、DRAM(Dynamic Random Access Memory)であり、画像処理装置100のメインメモリである。Mediaから読み込まれたデータやフレーム画像データ等を一時保持することが可能である。
103は、記録媒体200から読み込まれた動画符号化ストリームを復号化し、フレーム画像データを生成可能な動画復号化手段である。この動画復号化手段103によって生成されたフレーム画像はDRAM102に格納される。また、この動画復号化手段103は、フレーム間予測方式を用いた動画符号化ストリーム、例えばMPEG(Moving Picture Experts Group)によって標準規格となっている圧縮フォーマットを復号することが可能である。
104は、DRAM102に格納されている複数のフレーム画像間の動きベクトルを算出し、動きベクトルデータを生成する動きベクトル検出手段である。105は、動画復号化手段103が上述のMPEG圧縮フォーマットを復号化するときに用いられる動き補償データを取得し、動きベクトル検出手段104と同様の動きベクトルデータを生成することが可能な動き補償データ取得手段である。
106は、動きベクトル検出手段104、および動き補償データ取得手段105によって算出された動きベクトルデータを用いて、動きの方向と動き量をもとにフレーム画像を部分的なオブジェクトに領域分割する部分オブジェクト領域分割手段である。部分オブジェクトとは、通常のオブジェクトとされる人物、物体等に対して、部位、部分等にさらに細分化した領域を示すものである。また、この部分オブジェクト領域分割手段は、部分オブジェクト領域の中心となる座標を算出する機能を備えている。
107は、部分オブジェクト領域分割手段によって分割された部分オブジェクト領域に対して、まとめてひとつの動き方向と動き量を算出する部分オブジェクト領域動き量算出手段である。108は、DRAM102に格納されているフレーム画像から任意の領域を切り出し、複数の画像を合成することが可能な画像合成手段である。この画像合成手段は部分オブジェクト領域を切り出し合成することも可能である。また、生成された合成画像はDRAM102に格納される。
109は、DRAM102に格納されているフレーム画像、および合成画像を読み出し、画像表示可能なLCD(Liquid Crystal Display、液晶ディスプレイ)等の画像表示デバイスである。110は、メインデータバスであり、各ブロックへ制御指示やDRAM101へのアクセスは、このメインデータバスを経由して行われる。111は、画像処理装置100全体の制御をおこなうメインCPUである。112は、CPU111のプログラムが格納されているフラッシュメモリ (Flash Memory、半導体不揮発性メモリ)であり、CPU111で実行可能なプログラムが複数格納されている。
113は、CPU111のワークメモリであるRAM(Random Access Memory)である。114は、ユーザが画像処理装置100の動作指示を行うためのボタン、十字キー、タッチパネル等の操作キーである。115は、CPU 111と、Flash Memory112、RAM113、操作キー114を接続するプログラムバスである。
また、ROM102には以下のプログラムが格納されており、CPU111によって実行可能である。1つは、部分オブジェクト動き量算出手段107によって算出された部分オブジェクト動き量から、部分オブジェクトの再生時間軸方向の変化量をもとめる部分オブジェクト動き変化量算出プログラムである。
また、1つは、部分オブジェクト動き量算出手段107によって算出された部分オブジェクト動き量から、動き変化量が閾値以上となる急峻な動き変化があったフレームを特定する部分オブジェクト動き変化フレーム検出プログラムである。
また、1つは、部分オブジェクト動き変化量算出プログラムの算出結果から、その部分オブジェクト領域を合成するフレーム数を決定する合成枚数決定プログラムである。
また、1つは、部分オブジェクト動き変化フレーム検出プログラムと合成枚数決定プログラムの結果から、対象となる部分オブジェクトの合成フレームを決定する合成フレーム決定プログラムである。
画像処理装置100は、上述のMedia I/F 101 〜 プログラムバス105 で構成されており、ROM102に格納されているプログラムが適応的にCPU111で実行される。また、画像処理装置100における通常の再生動作は、記録媒体200に記録されている動画ストリームをMedia I/F 101を介して、DRAM102に読み込み、動画復号化手段103を用いて再生フレーム画像をDRAM101生成する。生成されたフレーム画像を再生時間に合わせて画像表示デバイス109を用いて出力することで実現される。
本実施形態に係る画像処理装置100における推移画像生成のデータフローについて説明する。図2は、本実施形態に係る画像処理装置100における推移画像生成データフロー図である。以下の説明にある画像フレーム、動きベクトルデータ、部分オブジェクトデータ、部分オブジェクト領域動き量データはすべてDRAM101へ格納されるものであり、メインデータバス110を介して、各ブロックからアクセス可能なものである。
記録媒体200に記録されている動画符号化ストリームをMedia I/F 101を介して、DRAM 102 へ格納される。格納された動画符号化ストリームは、動画符号化手段103 によって再生時間順次で再生画像フレームとして復号化される。
動画像動きベクトル検出手段104は、前記再生画像フレームの復号化単位に、それまでに復号化された再生画像フレームを用いて動きベクトルを検出し、動きベクトルデータを生成する。
部分オブジェクト領域分割手段106は、前記動きベクトルデータを用いて動きの方向と動き量をもとに複数の部分的なオブジェクトに領域分割し、分割した領域情報を部分オブジェクト領域分割データとして出力する。
部分オブジェクト領域動き量算出手段107は、前記部分オブジェクト領域分割データをもとに、各部分オブジェクト領域単位にまとめた部分オブジェクト領域動き量データを生成する。
CPU111で実行される部分オブジェクト動き変化量算出プログラムは、前記部分オブジェクト領域動き量データを用いて、各部分オブジェクトの時間軸方向の総変化量を算出する。CPU111で実行される部分オブジェクト動き変化フレーム検出プログラムは、前記部分オブジェクト領域動き量データを用いて、各部分オブジェクトの動き変化量が閾値以上となる急峻な動き変化があったフレームを検出する。CPU111で実行される合成枚数決定プログラムは、前記各部分オブジェクトの時間軸方向の総変化量を用いて、各部分オブジェクト単位に合成する枚数を決定する。
CPU111で実行される合成フレーム決定プログラムは、前記部分オブジェクト動き変化フレーム検出プログラムの結果と、前記合成枚数決定プログラムの結果、および前記部分オブジェクト領域分割データを用いて、各部分オブジェクト単位に合成するフレームと、合成領域からなる合成情報を生成する。
画像合成手段108は、前記合成情報から該当する画素値を読み出し、合成画像フレームを生成する。画像出力手段は、前記合成画像フレームを表示出力する。
次に、図2を用いて説明した本実施形態に係る画像処理装置100における推移画像生成に関して、画像イメージ図を用いて説明する。図3は、本発明に係る動画像のイメージ図であり、図2で説明した動画復号化手段によって再生される再生画像フレームである。再生時間軸方向に、F−1、F−2、・・・F−17、F−18の再生表示順となる動画像であり、動画像の被写体としては、ゴルフスイングを動画撮影したものである。
図4は、図3で説明した動画像に対して、単純合成した場合の推移画像である。4−1は動画像すべてのフレームすべての領域を合成した推移画像であり、人物部分の領域がすべてかさなってしまい、人物の動作推移がわかりづらくなっている。4−2は時間軸方向に対して合成するフレームを間引き、すべての領域を合成した推移画像である。動きの速いゴルフクラブ部分の推移が間引かれたことにより、わかりづらくなっている。
図5は、図2で説明した部分オブジェクト領域分割手段106の処理イメージ図である。図3で説明した動画像の再生画像フレームF−10を、キーフレーム(ユーザによって選択された推移画像生成の基準となるフレーム)としている。
まず、部分オブジェクト領域分割手段106は、再生画像フレームF−10に対して、特徴抽出を行い、人物、物体等のオブジェクトを検出する。検出されたオブジェクトのイメージは、
F−10−Oa ・・・ オブジェクトOa :ゴルフクラブ
F−10−Ob ・・・ オブジェクトOb :人物
F−10−Oc ・・・ オブジェクトOc :ボール
となる。
この検出された各オブジェクトに対して、動画像動きベクトル検出手段104によって検出された動きベクトルデータを用いて、オブジェクト内で動き変化量に応じてさらに領域分割をおこない部分オブジェクトを決定する。オブジェクトOaにおいては、すべての領域が閾値以上の変化量と判別され、オブジェクトa自体が部分オブジェクトAとなる。
オブジェクトObにおいては、動き量が比較的多い部分と判別された人物の腕部分は部分オブジェクトB、それ以外の比較的動き量が少ないと判別された人物胴体は部分オブジェクトCとなる。オブジェクトOcにおいては、すべての領域が同一の変化量と判別され、オブジェクトOc自体が部分オブジェクトDとなる。
検出された各部分オブジェクトのイメージは、
F−10−A ・・・ 部分オブジェクトA:ゴルフクラブ
F−10−B ・・・ 部分オブジェクトB:人物の腕
F−10−C ・・・ 部分オブジェクトC:人物胴体
F−10−D ・・・ 部分オブジェクトD:ボール
となる。
以上、述べた各部分オブジェクト領域を示す情報である部分オブジェクト領域分割データが部分オブジェクト領域分割手段106により算出される。
次に、図2における、
・部分オブジェクト領域動き量算出手段107
・部分オブジェクト動き変化量算出プログラム
・合成枚数決定プログラム
・部分オブジェクト動き変化フレーム検出プログラム
・合成フレーム決定プログラム
の処理について説明する。
図6は、前記部分オブジェクトAの合成フレーム決定処理のイメージ図である。図6において、部分オブジェクト領域動き量算出手段107は、前記部分オブジェクトAのフレーム単位の動き量を算出する。キーフレームであるF−10−Aから再生時間軸の前方方向と後方方向に対して、フレーム単位に直前のフレームとの比較により動き量を算出する。動き量の算出は、部分オブジェクトの各画素が比較フレームに対してどれだけ移動したかを算出し、各画素の総和を画素数で平均化した値を所定閾値でレベル分けしたものである。部分オブジェクトAは、各フレームにおいて動き量が多く、前記レベル分けとしてすべてのフレームがレベル4と判定される。
このように、部分オブジェクト領域動き量算出手段107によって、各フレーム単位の動き量を部分オブジェクト単位にまとめた部分オブジェクト領域動き量データが生成される。
次に、部分オブジェクト動き変化量算出プログラムは、部分オブジェクト領域動き量データから動画像全体での部分オブジェクト動き変化量レベルを算出する。変化量レベルは、フレーム単位の動き量を総和し、フレーム数で平均化した値をレベル分けしたものとし、部分オブジェクトAの動き変化量はレベル4と判定される。
合成枚数決定プログラムは、前記動き変化量のレベルに応じて、部分オブジェクト単位に合成するフレーム数を決定し、そのフレーム数に準じて各フレームの一次合成判定を行う。例えば、
動き変化量 レベル4 ・・・ すべてのフレームを合成
レベル3 ・・・ 総フレーム数の半数
レベル2 ・・・ キーフレームのみ
レベル1 ・・・ キーフレームのみ
とした場合、部分オブジェクトAはすべてのフレームに対して一次合成判定が○となる。(合成しないフレームと判定された場合は×とする)。
部分オブジェクト動き変化フレーム検出プログラムは、前記部分オブジェクト領域動き量データを用いて、動き量が閾値以上となる急峻な動き変化があったフレームを特定する。例えば、フレーム単位の動き量がレベル4以上の場合に急峻な動き変化フレームとした場合、オブジェクトAはすべてフレームに対して急峻な動き変化が○と判定される(動き変化がレベル3以下の場合、および部分オブジェクトが存在しない場合は、×と判定される)。
合成フレーム決定プログラムは、前記一次合成判定結果と動き変化フレーム判定結果をもとに最終合成判定を各フレーム単位に行う。合成フレーム決定プログラムは、一次合成判定が○なフレーム、または急峻な動き変化が○と判定されているフレームに対して、部分オブジェクト領域の重なり領域を算出する。他のフレームとの重なり領域が閾値以上と判定されたフレームは、再生時間軸上でキーフレームに一番近いフレームを優先して最終合成判定を○とし、それ以外のフレームの最終合成判定を×とする。図6対して、前記の合成フレーム決定プログラムの処理を適応させた場合、部分オブジェクトAはすべてのフレームに対して最終合成判定が○と判定される。
図7は、前記部分オブジェクトBの合成フレーム決定処理のイメージ図である。図6で説明した合成フレーム決定処理を部分オブジェクトBに適応した場合、最終合成判定が○となるフレームは、図7に示すように、
F−4−B、F−6−B、F−8−B、F−10−B、F−12−B、F−14−B、F−16−B、F−18−B、
のフレームとなる。F−2−Bのフレームは、一次合成判定では○と判定されたが、重なり領域判定により、F−8−Bのフレームとの重なり領域が閾値以上と判別されたため、キーフレームであるF−10−Bに再生時間軸上でより近いF−8−Bを優先したため、F−2−Bは最終合成判定として、×と判定されている。
図8は、前記部分オブジェクトCの合成フレーム決定処理のイメージ図である。図6で説明した合成フレーム決定処理を部分オブジェクトCに適応した場合、最終合成判定が○となるフレームは、図8に示すように、F−10−Cのフレームのみとなる。部分オブジェクトBは、動き変化量レベル2であり、急峻な動き変化フレームも検出されなかったため、キーフレームであるF−10−Cだけが合成フレームとなる。
図9は、前記部分オブジェクトDの合成フレーム決定処理のイメージ図である。図6で説明した合成フレーム決定処理を部分オブジェクトCに適応した場合、最終合成判定が○となるフレームは、図8に示すように、F−10−D、F−11−Dのフレームとなる。部分オブジェクトDは、動き変化量レベル2であるが、急峻な動き変化フレームとしてF−11−Dが○と判定されている。そのため、キーフレームであるF−10−Dと急峻な動き変化フレームであるF−11−Dが合成フレームとなる。
図10は、本実施形態に係る画像処理装置100における推移画像生成処理によって生成された推移画像のイメージ図である。図6、図7、図8、図9で合成フレームと判定された部分オブジェクトAのF−1−A から F−18−Aのフレームと、部分オブジェクトBのF−4−B、F−6−B、F−8−B、F−10−B、F−12−B、F−14−B、F−16−B、F−18−B のフレーム、部分オブジェクトCのF−10−Cのフレーム、および、部分オブジェクトDのF−10−D、F−11−Dのフレームを合成したものとなる。
このとき、キーフレームであるF−10−A、F−10−B、F−10−C、F−10−Dが一番前面となるように合成し、キーフレームから再生時間軸上で遠くなるフレームをより背面に合成するようにする。
また、本実施形態では、動き量が低いレベルの部分オブジェクトDで急峻な動き変化フレームとしてF−11−Dが検知されている。このとき、部分オブジェクトDより動き量が高く、F−11−Dと同時刻のフレームである。部分オブジェクトBにおけるF−11−B、部分オブジェクトCにおけるF−11−Cを合成フレームとしてもよい。
図11は、図2で説明した本発明に係る画像処理装置100 における推移画像生成処理の動作フローチャートである。まず、ユーザからキーフレームが選択されたかを判断する(S1101)。S1101でNoと判断された場合は、処理を終了する。S1101でYesと判断された場合は、記録媒体200に記録されている動画符号化ストリームをMedia I/F 101を介して、読み込み動画符号化手段103 によって再生時間順次で再生画像フレームを復号化する(S1102)。S1102で復号化された画像フレームに対して、動画像動きベクトル検出手段104は動きベクトルデータを生成する(S1103)。
S1102で復号化された画像フレームとS1103で生成された動きベクトルデータから、部分オブジェクト領域分割手段106は、動きの方向と動き量をもとに複数の部分的なオブジェクトに領域分割した部分オブジェクト領域分割データを生成する(S1104)。
部分オブジェクト領域動き量算出手段107は、S1104で生成された部分オブジェクト領域分割データをもとに、部分オブジェクト領域単位にまとめた部分オブジェクト領域動き量データを生成する(S1105)。
CPU111で実行される部分オブジェクト動き変化量算出プログラムは、S1105で生成された部分オブジェクト領域動き量データを用いて、部分オブジェクトの時間軸方向の総変化量を算出する(S1106)。
CPU111で実行される部分オブジェクト動き変化フレーム検出プログラムは、S1105で生成された部分オブジェクト領域動き量データを用いて、部分オブジェクトの動き変化量が閾値以上となる急峻な動き変化があったフレームを検出する(S1107)。CPU111で実行される合成枚数決定プログラムは、S1106で算出された部分オブジェクトの時間軸方向の総変化量を用いて、各部分オブジェクト単位に合成する枚数を一次判定する(S1108)。CPU111で実行される合成フレーム決定プログラムは、前記部分オブジェクト領域分割データを用いて、部分オブジェクト領域の重なり領域を算出する(S1109)。
次に、S1107で検出された部分オブジェクト動き変化フレーム検出プログラムの結果と、S1108で一次判定された合成枚数とフレームと、S1109で算出した重なり領域、および前記部分オブジェクト領域分割データを用いて、部分オブジェクト単位に合成するフレームと、合成領域からなる部分オブジェクト合成情報を生成する(S1110)。
S1104で領域分割されたすべての部分オブジェクトに対して、部分オブジェクト合成情報を生成したかを判断する(S1111)。S1110でNoと判断された場合、S1105へ戻り、まだ部分オブジェクト合成情報を生成していない部分オブジェクトに対して、処理を続行する。S1110でYesと判断された場合、S1109で生成されたすべての部分オブジェクト合成情報に従い画像合成手段108を用いて推移画像となる合成フレーム画像を生成し、処理を終了する(S1112)。
以上のように、本実施形態に係る画像処理装置100における推移画像生成処理により、動き方の異なる部分オブジェクト毎に合成枚数を変えることで、移動速度の早い部分オブジェクトも、遅い部分オブジェクトも、適切な枚数で合成され、全体とし見栄えの良い、また動きの見やすい合成画像を生成することが可能となる。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。なお、以下で説明する本実施形態おける装置構成については、第1の実施形態における図1のブロック図と同様であるため、その説明を省略する。本実施形態に係る画像処理装置100における動画像復号化での動き補償データを用いた推移画像生成処理について説明する。
図12は、本実施形態に係る画像処理装置100における動画像復号化での動き補償データを用いた推移画像生成データフロー図である。以下の説明にある画像フレーム、動きベクトルデータ、部分オブジェクトデータ、部分オブジェクト領域動き量データはすべてDRAM101へ格納されるものであり、メインデータバス110を介して、各ブロックからアクセス可能なものである。また、図中に示す動画符号化ストリームは、フレーム間予測圧縮方式によって符号化されたものであり、マクロブロック単位に動き補償データが付加されている。
まず、記録媒体200に記録されている動画符号化ストリームをMedia I/F 101を介して、DRAM 102 へ格納される。格納された動画符号化ストリームは、動画符号化手段103 によって再生時間順次で再生画像フレームとして復号化される。
動き補償データ取得手段105は、再生画像フレームが復号化されるごとに、動画符号化手段103から復号化に使用された動き補償データを取得する。取得された動き補償データから動きベクトルを算出し、動きベクトルデータを生成する。
部分オブジェクト領域分割手段106は、前記動きベクトルデータを用いて動きの方向と動き量をもとに複数の部分的なオブジェクトに領域分割し、分割した領域情報を部分オブジェクト領域分割データとして出力する。
部分オブジェクト領域動き量算出手段107は、前記部分オブジェクト領域分割データをもとに、各部分オブジェクト領域単位にまとめた部分オブジェクト領域動き量データを生成する。
CPU111で実行される部分オブジェクト動き変化量算出プログラムは、前記部分オブジェクト領域動き量データを用いて、各部分オブジェクトの時間軸方向の総変化量を算出する。CPU111で実行される部分オブジェクト動き変化フレーム検出プログラムは、前記部分オブジェクト領域動き量データを用いて、各部分オブジェクトの動き変化量が閾値以上となる急峻な動き変化があったフレームを検出する。
CPU111で実行される合成枚数決定プログラムは、前記各部分オブジェクトの時間軸方向の総変化量を用いて、各部分オブジェクト単位に合成する枚数を決定する。CPU111で実行される合成フレーム決定プログラムは、前記部分オブジェクト動き変化フレーム検出プログラムの結果と、前記合成枚数決定プログラムの結果、および前記部分オブジェクト領域分割データを用いて、各部分オブジェクト単位に合成するフレームと、合成領域からなる合成情報を生成する。
画像合成手段108は前記合成情報から該当する画素値を読み出し、合成画像フレームを生成する。画像出力手段は、前記合成画像フレームを表示出力する。
図12で説明した動き補償データ取得手段105の処理に関して説明するために、まず、第1の実施形態で説明した動画像動きベクトル検出手段104によって算出される動きベクトルデータについて説明する。
図13は、動画像動きベクトル検出手段104が図3の動画像フレームのF−1からF−4に対して、動きベクトル検出した動きベクトルデータのイメージ図である。動画像動きベクトル検出手段104は、動き検出を行う動画像から2つのフレームを選択し、フレーム内を所定サイズの動き検出ブロック(格子状ブロック)に分割する。時間軸で後のフレームの動き検出ブロックが、前のフレームのどの動き検出ブロックが移動したのかを画像マッチングで検索し、マッチング率のもっとも高いブロックとの座標差分を算出する。
このとき時間軸方向に動いた座標差分を動きベクトルとし、この処理をすべてのフレームの動き検出ブロックに対して実施する。フレームの一番左上の動き検出ブロックを原点とし、水平方向をx座標、垂直方向をy座標とし、動きブロックの座標をVB(X,Y)と表現する。また、動きベクトルをVector(ΔX,ΔY)と表現する。
n番目のフレームの算出する動きブロックの座標を、VB(Xn,Yn)、
n−1番目のフレームにおけるマッチング動きブロックの座標を、VB(Xn−1, Yn−1)、
n番目のフレームの算出する動きブロックの動きベクトルを Vector(VX,VY)、
とするときの算出式は、
Vector(VX, VY) = Vector(Xn − Xn−1, Yn - Yn−1)
で表わされる。
例えば、図13の各フレーム間対して上記の処理を実施した場合、以下となる。
[動きベクトルデータ1]
<F−2の動き検出ブロック座標> <F−1のマッチング座標> <動きベクトル>
VB(0,10) VB(8,16) Vector(−8,−6)
VB(9,16) VB(9,16) Vector(0,0)
VB(2,10) VB(8,14) Vector(−6,−4)
<F−3の動き検出ブロック座標> <F−2のマッチング座標> <動きベクトル>
VB(5,5) VB(0,10) Vector(5,−5)
VB(9,16) VB(9,16) Vector(0,0)
VB(4,6) VB(2,10) Vector(2,−4)
<F−4の動き検出ブロック座標> <F−3のマッチング座標> <動きベクトル>
VB(8,4) VB(5,5) Vector(3,−1)
VB(9,16) VB(9,16) Vector(0,0)
VB(7,5) VB(4,6) Vector(3,−1)
このように、動画像動きベクトル検出手段104によって、各フレームの動き検出ブロックに対して、再生順で直前の画像フレームからの動きベクトルデータが算出される。
次に、動き補償データ取得手段105の処理に関して、図を用いて説明する。図14は、動き補償データ取得手段105が取得する動き補償データのイメージ図である。まず、動画像復号化時に用いられる動画ストリーム中の動き補償データは、フレーム間予測圧縮方式の動画圧縮で規定されたマクロブロック単位に付加されている。このマクロブロックは、図13で説明した動き検出ブロックと同様にフレームを格子状に分割したものであるが、動き検出ブロックの領域より大きく分割されているものである。動き補償データ取得手段105は、前述の動き補償データを用いて図13で説明した動きベクトルデータを算出する処理を行う。
先の図13で説明した各フレームの動き検出ブロックは、以下のように図14でのマクロブロックに含まれる画像データとなる。マクロブロックの座標をMB(x,y)と表現する。
<図13の動き検出ブロック座標> <図14のマクロブロック座標>
F−1のVB(8,16) F−1のMB(4,8)
F−1のVB(9,16) F−1のMB(4,8)
F−1のVB(8,14) F−1のMB(4,7)
F−2のVB(0,10) F−2のMB(0,5)
F−2のVB(9,16) F−2のMB(4,8)
F−2のVB(2,10) F−2のMB(1,5)
F−3のVB(5,5) F−3のMB(2,2)
F−3のVB(9,16) F−3のMB(4,8)
F−3のVB(4,6) F−3のMB(2,3)
F−4のVB(8,4) F−4のMB(4,2)
F−4のVB(9,16) F−4のMB(4,8)
F−4のVB(7,5) F−4のMB(3,2)
このように、図14のマクロブロック座標は、図13の動き検出ブロック座標に対して、2で割った商となる関係となっており、関係式として、
MB(X,Y)≒VB(X,Y)/2 ・・・式(1)
となる。
図14において、フレーム間予測圧縮方式におけるIピクチャ(フレーム内符号化フレーム)は、F−3となっており、F−1、F−2、F−3はBピクチャ(両方向予測符号化フレーム)となっている。各フレームの参照関係とマクロブロックに付加されている動き補償データは、以下の関係となっている。
<マクロブロック座標> <参照しているマクロブロック座標>
F−1のMB(4,7) F−3のMB(2,3)
F−1のMB(4,8) F−3のMB(4,8)
F−2のMB(0,5) F−3のMB(2,2)
F−2のMB(4,8) F−3のMB(4,8)
F−2のMB(1,5) F−3のMB(2,3)
F−4 のMB(4,2) F−3のMB(2,2)
F−4 のMB(4,8) F−3のMB(4,8)
F−4 のMB(3,2) F−3のMB(2,3)
※F−3 のマクロブロックはフレーム間参照されていない。
上述の参照関係から再生時間順にマクロブロック単位の動きを検出すると、以下のようになる。
[マクロブロック動き検出データ]
<F−1> <F−2> <F−3> <F−4>
MB(4,7) ⇒ MB(1,5) ⇒ MB(2,3) ⇒ MB(3,2)
MB(4,8) ⇒ MB(4,8) ⇒ MB(4,8) ⇒ MB(4,8)
MB(0,5) ⇒ MB(2,2) ⇒ MB(4,2)
F−1のマクロブロックは、F−2のマクロブロックを参照していないが、F−1のマクロブロックが参照しているF−3のマクロブロックを参照しているF−2のマクロブロックを検索するものとする。例えば、F−1のMB(4,7)は、F−3のMB(2,3) を参照している。また、F−3のMB(2,3)はF−2のMB(1,5)から参照されている。この関係から、MB(4,7) ⇒MB(1,5) ⇒MB(2,3)の動きが検出される。
上述の[マクロブロック動き検出データ]から、マクロブロックの動きベクトルデータを以下の式を用いて算出する。
n番目のフレームの算出するマクロブロックの座標を、MB(Xn,Yn)、
n−1番目のフレームにおける動きマクロブロックの座標を、MB(Xn−1,Yn−1)、
n番目のフレームの算出する動きブロックの動きベクトルをMVector(VX,VY)、
とするときの算出式は、
MVector(VX, VY) = MVector(Xn − Xn−1, Yn - Yn−1) ・・・式(2)
となり、算出した結果が以下となる。
[マクロブロック動きベクトルデータ]
F−2のMB(0,5) ・・・ MVector( 0, 0)
F−2のMB(4,8) ・・・ MVector( 0, 0)
F−2のMB(1,5) ・・・ MVector(−3, −2)
F−3のMB(2,2) ・・・ MVector( 2, −3)
F−3のMB(4,8) ・・・ MVector( 0, 0)
F−3のMB(2,3) ・・・ MVector( 1, −2)
F−4のMB(4,2) ・・・ MVector( 2, 0)
F−4のMB(4,8) ・・・ MVector( 0, 0)
F−4のMB(3,2) ・・・ MVector( 1, −1)
図15は、動き補償データ取得手段105が生成する動きベクトルデータのイメージ図である。動き補償データ取得手段105は、図14で説明で説明した式(1)と式(2)を用いて動きベクトルデータを算出する。例えば、F−2のVB(2,10)の動きベクトルを算出する場合、式(1)から該当マクロブロックは、F−2のMB(1,5)となり、式(2)からMVector(−3,−2)が算出される。
このマクロブロック動きベクトルデータは、式(1)より、2倍すると図13で説明した動き検出ブロックの単位換算した値となるため、VB(2,10)の動きベクトルは、Vector(−6,−4)となる。同様に図13で説明した各フレームの動き検出ブロックの動きベクトルを算出すると以下のようになる。このときフレーム間で参照関係がないものは動きベクトルはVector(0,0)とする。
[動きベクトルデータ2]
F−2のVB(0,10)⇒F−2のMB(0,5)⇒MVector(0,−0)⇒Vector(0,0)
F−2のVB(9,16)⇒F−2のMB(4,8) ⇒MVector(0,0)⇒Vector(0,0)
F−2のVB(2,10)⇒F−2のMB(1,5)⇒MVector(−3,−2)⇒Vector(−6,−4)
F−3のVB(5,5)⇒F−3のMB(2,2) ⇒MVector(2,−3)⇒Vector(4,−6)
F−3のVB(9,16)⇒F−3のMB(4,8)⇒MVector(0,0)⇒Vector(0,0)
F−3のVB(4,6)⇒F−3のMB(2,3)⇒MVector(1,−2)⇒Vector(2,−4)
F−4のVB(8,4)⇒F−4のMB(4,2)⇒MVector(2,0)⇒Vector(4,0)
F−4のVB(9,16)⇒F−4のMB(4,8)⇒MVector(0,0)⇒Vector(0,0)
F−4のVB(7,5)⇒F−4のMB(3,2)⇒MVector(1,−1)⇒Vector(2,−2)
このように、動き補償データ取得手段105によって、動画像復号化時に用いられる動画ストリーム中の動き補償データから各フレームに対して、動きベクトルデータを算出することができる。これによりフレーム間予測圧縮方式の動画ストリームにおいては、動画像動きベクトル検出手段104による画像マッチング処理を行わないため、動きベクトル算出時間が短縮され、ユーザからの推移画像指示に対しての応答性を向上することができる。
また、図13で示した[動きベクトルデータ1] と 図15で示した[動きベクトルデータ2] では動き検出ブロックとマクロブロックの領域サイズの違いから誤差が発生する。そのため、動き検出ブロックとマクロブロックの領域サイズを比較し、閾値以上の差がある場合には、動きベクトル算出処理を切り替えるようにしてもよい。
100 画像処理装置
101 Media I/F
102 DRAM
103 動画像復号化手段
104 動画像動きベクトル検出手段
105 動き補償データ取得手段
106 部分オブジェクト領域分割手段
107 部分オブジェクト領域動き量算出手段
108 画像合成手段
109 画像出力手段
110 メインデータバス
111 CPU
112 ROM
113 RAM
114 操作キー
115 プログラムバス
200 記録媒体

Claims (5)

  1. 動画像から被写体の動作を表現する画像を生成する画像処理装置において、
    前記被写体の動きベクトルを検出する動きベクトル検出手段と、
    前記被写体を前記動きベクトル検出手段の検出結果を用いて、部分オブジェクト領域に分割する部分オブジェクト領域分割手段と、
    前記部分オブジェクト領域単位に動き量を算出する部分オブジェクト動き量算出手段と、
    前記部分オブジェクト動き量算出手段の算出結果に応じて、前記部分オブジェクト領域単位に合成する枚数を決定する合成枚数決定手段と、
    前記部分オブジェクト領域単位に前記合成枚数決定手段で決定された枚数の画像を合成する画像合成手段と、
    を有することを特徴とする画像処理装置。
  2. 前記動画像の各フレームにおける前記部分オブジェクトの位置を検出する部分オブジェクト位置検出手段を有し、
    前記合成枚数決定手段は、前記部分オブジェクト動き量算出手段の算出結果と前記部分オブジェクト位置検出手段の検出位置をもとに、各フレームの部分オブジェクトを合成した場合に、重なる画素数が閾値以下となるようにフレームを選択することを特徴とする請求項1に記載の画像処理装置。
  3. 前記合成枚数決定手段の結果にもとづいて、第一の部分オブジェクトの合成フレームを決定する合成フレーム決定手段と、
    第二の部分オブジェクトの動き変化があったフレームを検出する部分オブジェクト動き変化フレーム検出手段と、を有し、
    前記合成フレーム決定手段は、前記部分オブジェクト動き変化フレーム検出手段の結果にもとづいて、前記第一の部分オブジェクトの合成フレームを決定することを特徴とする請求項1または2に記載の画像処理装置。
  4. フレーム間予測圧縮方式による動画ストリームから前記動画像を再生する動画復号化手段と、
    前記動画復号化手段で用いられたマクロブロック単位の動き補償データを取得する動き補償データ取得手段とを有し、
    前記動きベクトル検出手段は、前記動き補償データ取得手段によって得られる動き補償データを用いて動きベクトルを検出することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
  5. 動画像から被写体の動作を表現する画像を生成する画像処理方法であって、
    前記被写体の動きベクトルを検出する動きベクトル検出工程と、
    前記被写体を前記動きベクトル検出工程の検出結果を用いて、複数の部分オブジェクト領域に分割する部分オブジェクト領域分割工程と、
    前記部分オブジェクト領域単位に動き量を算出する部分オブジェクト動き量算出工程と、
    前記部分オブジェクト動き量算出工程の算出結果に応じて、前記部分オブジェクト領域単位に合成する枚数を決定する合成枚数決定工程と、
    前記部分オブジェクト領域単位に前記合成枚数決定工程で決定された枚数の画像を合成する画像合成工程と、
    を有することを特徴とする画像処理方法。
JP2017225433A 2017-11-24 2017-11-24 画像処理装置および画像処理方法 Pending JP2019096094A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017225433A JP2019096094A (ja) 2017-11-24 2017-11-24 画像処理装置および画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017225433A JP2019096094A (ja) 2017-11-24 2017-11-24 画像処理装置および画像処理方法

Publications (1)

Publication Number Publication Date
JP2019096094A true JP2019096094A (ja) 2019-06-20

Family

ID=66971760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017225433A Pending JP2019096094A (ja) 2017-11-24 2017-11-24 画像処理装置および画像処理方法

Country Status (1)

Country Link
JP (1) JP2019096094A (ja)

Similar Documents

Publication Publication Date Title
KR101092287B1 (ko) 화상 처리 장치 및 화상 처리 방법
US6297852B1 (en) Video display method and apparatus with synchronized video playback and weighted frame creation
JP4643727B2 (ja) 画像処理装置及び画像処理方法
JP2006003871A (ja) 画像フレーム処理方法、装置、レンダリングプロセッサおよび動画像表示方法
TW201146011A (en) Bi-directional, local and global motion estimation based frame rate conversion
JP4875007B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像復号化装置
JP2009532984A (ja) 補償アーチファクトに対する保護を有する動き補償フレームレート変換
JP2008016904A (ja) ノイズ抑圧方法、ノイズ抑圧方法のプログラム、ノイズ抑圧方法のプログラムを記録した記録媒体及びノイズ抑圧装置
JP2011097572A (ja) 動画像符号化装置
JP2012083412A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2010136367A (ja) 効率的な映像時空間アップスケーリング
JP2009110536A (ja) 画像フレーム処理方法、装置、レンダリングプロセッサおよび動画像表示方法
JPH11112940A (ja) 動きベクトルの生成方法および装置
JP3282577B2 (ja) 画像処理装置
JPH06197331A (ja) 動画像のフレーム内挿方式
JP3055152B2 (ja) 動画像信号の符号化・復号化方法およびその装置
JP2019096094A (ja) 画像処理装置および画像処理方法
JP2007060192A (ja) 補間フレーム生成装置、その方法、画像表示システム、並びに、プログラムおよび記録媒体
JP2003333540A (ja) フレームレート変換装置及びそれを用いた映像表示装置、テレビジョン放送受信装置
KR101431046B1 (ko) Fruc를 위한 영상정보 인코딩 방법 및 장치, 저장매체
JP5566196B2 (ja) 画像処理装置及びその制御方法
WO2014115522A1 (ja) フレームレート変換装置及びフレームレート変換方法並びにフレームレート変換装置を備えた表示装置及び撮像装置
KR940020837A (ko) 화상부호화방법 및 화상부호화장치(method and apparatus for moving picture coding)
JPH1188845A (ja) 動画像走査変換装置
JP6221820B2 (ja) 符号化装置、符号化方法および符号化プログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20191125