JP2013502101A - 共通処理要素に基づく動画安定化及び動画ショット境界検出を実行する技術 - Google Patents

共通処理要素に基づく動画安定化及び動画ショット境界検出を実行する技術 Download PDF

Info

Publication number
JP2013502101A
JP2013502101A JP2012524073A JP2012524073A JP2013502101A JP 2013502101 A JP2013502101 A JP 2013502101A JP 2012524073 A JP2012524073 A JP 2012524073A JP 2012524073 A JP2012524073 A JP 2012524073A JP 2013502101 A JP2013502101 A JP 2013502101A
Authority
JP
Japan
Prior art keywords
current frame
block
frame
trajectory
motion
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.)
Granted
Application number
JP2012524073A
Other languages
English (en)
Other versions
JP5435518B2 (ja
Inventor
スー、リドン
チウ、イジェン
ファン、チエン
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2013502101A publication Critical patent/JP2013502101A/ja
Application granted granted Critical
Publication of JP5435518B2 publication Critical patent/JP5435518B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/147Scene change detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)

Abstract

動画安定化を実行し、動画ショット境界を検出するシステム及び方法を開示する。方法は、動画の現在フレームを受信する段階と、現在フレームをダウンスケールする段階と、ダウンスケールされた現在フレームをバッファの一部に格納する段階と、ダウンスケールされた参照フレームにおけるブロックと、ダウンスケールされた現在フレームにおける対象ブロックとの間のSADを求める段階と、動きパラメータ及びSADのうちの少なくとも1つに一部基づいて、動画安定化及びショット境界検出のうちの少なくとも1つを実行する段階とを備える。
【選択図】図3

Description

本明細書に開示される特徴は、概して、共通処理要素使用した動画安定化及び動画ショット境界検出に関する。
動画安定化(Video stabilization)は、デジタルビデオカメラで撮像された動画シーケンスの視覚的品質を改善することを目的としている。カメラを手に持って、又は、不安定なプラットフォームに搭載して撮像を行うと、望ましくないカメラの動きにより撮像された動画が揺れてしまうことがあり、この場合、視聴者の満足度を下げてしまう。動画安定化技術を採用して、撮像された動画フレームから望ましくない動きを取り除く又は低減させることができる。
動画は通常、複数のシーンから構成され、シーン各々は、1以上のショット(shot)を含む。1ショットは、1つの連続的な動きの間に、1つのカメラによって撮像されたフレームの1シーケンスとして定義される。ショット遷移とも称される、1のショットから別のショットへの変化は、2種類存在し、急激な遷移(カット)(abrupt transition(CUT))と段階的遷移(gradual transition:GT)がある。動画ショット境界検出は、ショット境界のフレームを検出することを目的とする。動画ショット境界検出は、ビデオコーディング、ビデオインデキシング(video indexing)、動画検索及び動画編集におけるフレーム間特定(intra frame identification)のように、様々なアプリケーションで使用される。
本発明の実施形態は、例示を目的として、発明を限定することを意図せずに示されており、同様な要素には同様な参照番号を付して図面を参照して以下で説明する。
一実施形態に係る動画安定化システムのブロック図である。 一実施形態に係るフレーム間支配的動き推定モジュールのブロック図である。 一実施形態に係る動画安定化の改善を実行するプロセスのフローチャートである。 一実施形態に係るショット境界検出システムのブロック図である。 一実施形態に係るショット境界判断スキームのプロセスを示した図である。 一実施形態に係る動画安定化及びショット境界検出を実行するシステムのブロック図である。 一致ブロックが現在フレームにおける対象ブロックに対応するように、検出ウィンドウを使用して、参照フレームにおける一致ブロックを特定する例を示した図である。
本明細書において、本発明の「一実施形態」又は「ある実施形態」と呼ぶものは、実施形態に関連する特定の特徴、構造及び特性が、少なくとも本発明の実施形態の一つに含まれていることを意味する。したがって、本明細書中の様々な箇所で使用されている「一実施形態において」又は「ある実施形態では」という表現は、必ずしも同一の実施形態を示していない。また、特定の特徴、構造又は特性は、1以上の実施形態において組み合わせられてもよい。
グラフィックス処理システムは、複数の動画処理機能、及び、様々なビデオ(動画)エンコーディング又はデコーディング規格をサポートする必要がある場合が存在する。様々な実施形態では、グラフィックス処理システムは、動画安定化及び動画ショット境界検出特徴の両方をサポートすることを可能にする。具体的には、様々な実施形態において、グラフィックス処理システムが、動画安定化及びショット境界検出の両方に、特定の処理能力を使用することを可能とする。ある実施形態では、グラフィックス処理システムのダウンサンプリング機能及びブロック動き検索機能が、動画安定化及び動画ショット境界検出の両方に対して使用される。これらの機能を再利用することによって、グラフィックス処理システムの製造コストを下げることができ、グラフィックス処理システムのサイズを小さくすることが可能となる。
様々な実施形態は、これらに限定するわけではないが、例えば、MPEG−4パート10アドバンストビデオコーデック(AVC)/H.264等の様々な規格に従って、静止画又は動画をエンコーディング又はデコーディングすることができる。H.264規格は、Joint Video Team (JVT)によって規定された規格であり、VCEG(Video Coding Expert Group)とも称されるITU−T SG16Q.6、及び、MPEG(Motion Picture Expert Group)とも称されるISO−IEC JTC1/SC29/WG11(2003年)が含まれる。また、実施形態は、様々な静止画及び動画圧縮システムで使用することができ、これに限定されないが、例えば、オブジェクト指向ビデオコーディング、モデルベースビデオコーディング、スケーラブルビデオコーディング、及び、MPEG−2(スイス、ジュネーブの国際標準化機構から入手可能なISO/IEC 13818−1(2000年))、VC1(ニューヨーク、ホワイトプレーンズ10601のSMPTEから入手可能なSMPTE 42 IM(2006年))、並びに、MPEG−4、MPEG−2及びVC1のバリエーションで使用することができる。
図1には、一実施形態に係る動画安定化システム100のブロック図が示されている。動画安定化システム100は、フレーム間支配的動き推定(DME)ブロック102、軌跡計算ブロック104、軌跡平滑化ブロック106、及び、ジッタ補償ブロック108を備える。フレーム間DMEブロック102は、動画シーケンスにおける、2つの連続したフレーム間におけるカメラの振動を検出する。フレーム間DMEブロック102は、ローカル動きベクトルを特定し、ローカル動きベクトルに基づいて支配的な動きパラメータを決定する。軌跡計算ブロック104は、決定された支配的動きベクトルを使用して、動き軌跡を計算する。軌跡平滑化ブロック106は、計算された動き軌跡を平滑化して、平滑な軌跡を提供する。ジッタ補償モジュール108は、平滑化された軌跡におけるジッタを低減させる。
図2には、一実施形態に係るフレーム間支配的動き推定モジュール200のブロック図が示されている。モジュール200は、フレームダウンサンプリングブロック202、参照バッファ204、ブロック動き検索ブロック206、逐次最小二乗法ソルバ(iterative least square solver)ブロック208、及び、動きアップスケールブロック210を含む。
ダウンサンプリングブロック202は、入力フレームを小さなサイズへとダウンスケールする。例えば、約4〜5のダウンサンプリング係数が使用されてもよく、その他の値を使用することもできる。ある実施形態では、ダウンサンプリングブロック202は、約160×120ピクセルの大きさの小型フレームを提供する。ダウンサンプリングされたフレームは、少ない数のブロックを有する。1つのブロックは、8×8、16×16、又は、共通処理要素の設計に応じてその他のサイズであってもよい。一般的には、16×16の大きさのブロックが使用される。また、ダウンスケールプロセスでは、ブロック動きベクトルがダウンスケールされる。様々な実施形態において、動きベクトルは、フレーム間の、画素、ブロック又は画像の垂直方向及び水平方向の変位(displacement)を表す。フレームをダウンスケールすると、2つのフレーム間のx軸及びy軸に沿った動きもダウンスケールされる。例えば、ダウンサンプリング係数が4であり、動きベクトルが(20,20)である場合、ダウンスケールされたフレームにおけるダウンスケールされた動きベクトルは、およそ(5,5)となる。その結果、小さな画像上でのウィンドウ/領域限定のブロック動き検索は、元のフレームにおける動きよりも大きな動きを含むことができるようになる。このようにして、処理ブロックを特定するのに使用される処理速度及びプロセッシングリースを低減することができる。
ダウンサンプリングブロック202は、ダウンサンプルされたフレームを参照バッファ204に格納する。参照バッファ204は、少なくとも動画安定化及びショット境界検出を実行に利用可能なメモリにおける1領域であってもよい。領域は、バッファ又はバッファの一部であってもよい。例えば、領域がバッファの一部である場合、同じバッファのその他の部分を、同時に又は別の時に、その他のアプリケーション又はプロセスが使用してもよい。様々な実施形態において、動画安定化及びショット境界検出には、1つの参照(reference)フレームが使用される。この場合、参照バッファのサイズは、1フレームを格納するように設定することができる。参照フレームが更新される都度、参照フレームは、別の参照フレームで置き換えられてもよい。
ブロック動き検索ブロック206は、ダウンサンプリングブロック202からダウンサンプルされた現在のフレーム、及び、参照バッファ204からダウンサンプルされた1つ前の参照フレームを受信する。ブロック動き検索ブロック206は、予め規定された検索ウィンドウ内に、選択されたブロックのローカル動きベクトルを特定する。例えば、特定された動きベクトルは、現在のフレームにおけるターゲットのブロックを基準として、検索ウィンドウ内でSAD(sum of absolute difference)の最小値を有するブロックと関連付けられた動きベクトルであってもよい。検索ウィンドウにおけるブロックは、マクロブロックであってもよいし、8×8ピクセルのような小ブロックであってもよく、その他のサイズを使用することができる。ある実施形態では、ブロックサイズは、16×16ピクセルであり、検索ウィンドウは、48×32ピクセルに設定される。様々な実施形態では、ブロック動き検索ブロック206は、フレーム境界におけるブロックと関連付けられた動きベクトルを検索しない。
ある実施形態では、ブロック動き検索ブロック206は、各フレームのマクロブロックのSAD(sum of absolute difference)を算出する。例えば、あるフレームにおけるマクロブロック各々のSADの算出は、参照フレームにおける16×16ピクセルのマクロブロック各々と、現在のフレームにおける16×16ピクセルのマクロブロックを比較することを含む。例えば、ある実施形態では、参照フレームの48×32ピクセルの検索ウィンドウ内の全てのマクロブロックについて、現在のフレームにおける対象の16×16ピクセルのマクロブロックとの比較を行ってもよい。対象のマクロブロックは、1つ1つ選択してもよいし、チェス盤のパターンのように選択してもよい。完全な検索を行うためには、48×32検索ウィンドウ内の全てのマクロブロックと、対象のマクロブロックとの比較を行ってもよい。この場合、32×16(=512)個のマクロブロックの比較が行われてもよい。48×32検索ウィンドウ内の16×16マクロブロックを移動させる場合、移動させる位置が32×16個存在する。したがって、この例では、512個のSADが算出される。
図7は、マッチングを行うブロックが現在のフレームにおける対象のブロックに対応する場合の検出ウィンドウを使用して、参照フレームにおける一致ブロックの特定を行う例を示した図である。ブロック動き検索の例は、以下のような段階を含んでもよい。(1)現在のフレームにおいて、複数の対象ブロックを選択する。対象のブロックの座標を、(x_i,y_i)とし、ここでiは、ブロックのインデックス(添え字)である。現在のフレームにおける対象のブロックは、1つ1つ選択することができる。また、チェス盤のパターンのように選択することもでき、その他の選択方法を使用することもできる。(2)現在のフレームにおける対象のブロックiについて、一致ブロックを特定するべく、ブロック動き検索を検索ウィンドウ内で使用して、ローカル動きベクトル(mvx_i,mvy_i)を取得する。対象のブロックiについて、参照フレームにおける検索ウィンドウ内の一致ブロックを見つけることは、参照フレームの検索ウィンドウ内の対象となるブロック全てと、対象のブロックとの比較を行い、最小SADを有するブロックを一致したブロックと見なすことを含んでもよい。(3)ブロックiに対するブロック動き検索の後、次の式を計算する。x'_i=x_i+mvx_i 及び y'_i=y_i+mvy_iそして、(x_i,y_i)及び(x'_i,y'_i)を対と見なす。(4)現在のフレームにおいて選択された対象のブロックの全てに対するブロック動き検出を実行して、複数の対(x_i,y_i)及び(x'_i,y'_i)を取得する。
図7に示すように、現在フレームにおける1つの対象ブロック(x,y)について、48×32検索ウィンドウが参照フレームに規定され、検索ウィンドウの位置を、(x,y)にセンタリングすることができる。ブロック動き検索によって、検索ウィンドウ内に一致するブロックを見つけた後で、対象のブロックに対するローカル動きベクトル(mvx,mvy)を求める。一致ブロック(x',y')の座標は、x'=x+mvx、y'=y+mvyと表される。そして、(x,y)及び(x',y')を対と見なす。
図2を再び参照して、逐次最小二乗法ソルバ208は、特定された少なくとも2つのローカル動きベクトルに基づいて、支配的な動きパラメータを決定する。ある実施形態では、逐次最小二乗法ソルバ208は、図2に示した類似度動きモデルを適用して、支配的なフレーム間動きパラメータを近似する。類似度動きモデルは、次の式(1)のような形式で表すことができる。
Figure 2013502101
ここで、(x',y')は、参照フレームにおける一致ブロックの座標であり、(x,y)は、現在フレームにおけるブロックの座標であり、(a,b,c,d)は、支配的動きパラメータであり、ここで、パラメータa及びbは、回転に関係し、パラメータc及びdは、並進関係している。例えば、ブロックの座標(x',y')及び(x,y)は、一貫して使用されている限り、ブロックの左上隅、右下隅又は中心に規定することができる。座標が(x,y)であり、(ブロック206から)特定されたローカル動きベクトルが(mvx,mvy)であるブロックの場合、一致ブロックの座標(x',y')は、x'=x+mvx、y'=y+mvyで算出される。様々な実施形態において、1つのフレームの(x,y)及び(x',y')の全ての対が式(1)で使用される。逐次最小二乗法ソルバ208は、最小二乗法(LS)を使用して式(1)を解くことによって、動きパラメータ(a,b,c,d)を決定する。
逐次最小二乗法ソルバ208が、異常ローカル動きベクトル(outlier local motion vector)を含めて計算してしまうと、支配的動きの算出に悪影響を与える可能性がある。現在フレームにおける幾つかのブロックが、前景(foreground)オブジェクトを含む、又は、同じパターンが繰り返されている領域から選択された場合には、異常ローカル動きベクトルは、ブロック動き検索ブロック206によって特定されてもよい。様々な実施形態において、逐次最小二乗法ソルバ208は、逐次最小二乗法(ILS)ソルバを使用して、異常ローカル動きベクトルを特定して計算から除外することによって、異常ローカル動きベクトルの影響を低減する。このような実施形態において、上記の式(1)を使用して支配的動きパラメータを決定した後、逐次最小二乗法ソルバ208は、現在のフレームにおける残りのブロック位置(xi,yi)の二乗推定誤差(SEE)を求める。ブロック位置(xi,yi)は、一貫して使用されている限り、ブロックの左上隅、右下隅又はブロック中心であってもよい。
Figure 2013502101
ローカル動きベクトルは、対応する二乗推定誤差(SEE)が次の式(3)を満たす場合には、異常値であると見なされる。
Figure 2013502101
ここで、Tは定数であり、経験的に1.4に設定することができるが、その他の値を使用してもよい。nは、現在フレームにおける残りのブロックの数である。
異常ローカル動きベクトルが検出されなくなるまで、又は、残りのブロックの数が所定の閾値数未満となるまで、上記の式(1)−(3)を繰り返す。例えば、閾値数を12とすることができるが、その他の数を使用してもよい。式(1)−(3)のイタレーション各々において、異常ローカル動きベクトル及びこの異常ローカル動きベクトルと関連付けられたブロックは、計算から除外される。残りのブロックと関連付けられた動きベクトルを対象とする。異常ローカル動きベクトルを計算から除外した後、逐次最小二乗法ブロック208は、動きパラメータ算出するべく、式(1)を実行する。
動きアップスケールブロック210は、並進動きパラメータc及びdを、ダウンスケールブロック202によって適用されたダウンサンプリング係数の逆数によって、アップスケールする。ダウンサンプリングプロセスは、回転、及び、2つのフレーム間のスケーリングの動きに影響を与えないことから、パラメータa及びbは、アップスケールされなくてもよい。
図1を再び参照し、軌跡計算ブロック104が、軌跡を算出する。例えば、軌跡計算ブロック104は、以下の式(4)で規定される累積動きを使用して、フレームjの動きの軌跡、Tjを求める。
Figure 2013502101
ここで、Mjは、フレームjとフレームj−1との間のグローバル動き行列であり、支配的動きパラメータ(a,b,c,d)に基づく。式(4)において、支配的動きパラメータ(a,b,c,d)は、現在のフレーム(フレームjと称される)に対するものである。
フレーム間グローバル動きベクトルは、カメラ意図した動きと、カメラのジッタの動きとを含む。軌跡平滑化ブロック106は、フレーム間グローバル動きベクトルから、カメラジッタの動きを低減させる。様々な実施形態において、軌跡平滑化ブロック106は、動き軌跡平滑化を使用して、カメラジッタの動きを低減させる。動き軌跡の低周波数成分は、カメラが意図した動きであると見なされる。軌跡計算ブロック104が、各フレームの動き軌跡を算出し、軌跡平滑化ブロック106が、これに限定されないが、例えば、ガウシアンフィルタのようなローパスフィルタを使用して、動き軌跡の平滑度を高める。ガウシアンフィルタの窓は、2n+1個のフレームに設定することができる。フィルタリングプロセスでは、n個のフレーム分の遅延が生じる。経験的に、nを5に設定することができ、その他の値を使用してもよい。より平滑な動き軌跡T'jを、式(5)を使用して求めることができる。
Figure 2013502101
ここで、g(k)は、ガウシアンフィルタのカーネルである。ガウシアンフィルタは、ローパスフィルタであり、
Figure 2013502101
である。変化量の値δを規定した後で、フィルタの係数を計算することができる。ある実施形態では、変化量の値は、1.5に設定されるが、その他の値を設定してもよい。変化量の値を大きくすると、より平滑な動き軌跡が生成される。
ジッタ補償モジュール108は、平滑化されていない元の軌跡におけるジッタを補償する。カメラのジッタの動きは、軌跡の高周波数成分である。軌跡の高周波数成分は、元の軌跡と平滑化された軌跡との間の差分である。ジッタ補償モジュール108は、高周波数成分を補償し、より安定化された現在のフレームを提供する。例えば、現在フレームに対する、より安定化されたフレーム表現であるフレームF'(j)は、ジッタ動きパラメータを使用して、現在フレームF(j)をワープ(warp)することによって求めてもよい。
j番目の現在フレームF(j)に対する軌跡平滑化を実行した後、T(j)とT'(j)との間の動き差分(式(4)及び式(5)に示される)が、ジッタの動きであると見なされる。ジッタの動きは、ジッタ動きパラメータ(a',b',c',d')によって表すことができる。以下に、T(j)とT'(j)との間の差分から、(a',b',c',d')を求める態様を説明する。T(j)のジッタ動きパラメータが(a1,b1,c1,d1)であり、T'(j)の平滑化されたジッタ動きパラメータが(a2,b2,c2,d2)であると仮定する。θ1=arctan(b1/a1)、及び、θ2=arctan(b2/a2)とし、ジッタ動きパラメータは、以下のように求められる。
a'=cos(θ1−θ2),b'=sin(θ1−θ2),c'=cl−c2,d'=d1−d2ワーププロセスは、例えば、以下のように行われる。(1)より安定化されたフレームF'(j)における任意の画素位置(x,y)について、画素値をF'(x,y,j)と表す。(2)現在フレームF(j)における対応する位置(x',y')は、x'=a'*x+b'*y+c1、及び、y'=−b'*x+a'*y+d'で求められる。(3)x'及びy'が整数の場合、F'(x,y,j)=F(x',y',j)とする。それ以外の場合には、位置(x',y')付近のF(j)における画素を使用して、双線形補間法(bi-linear interpolation)を適用し、F'(x,y,j)を計算する。(4)(x',y')が、現在フレームF(j)の外側である場合、F'(x,y,j)を黒色画素に設定する。
図3は、一実施形態に係る動画安定化の改善を実行するプロセスのフローチャートである。ブロック302は、フレームサイズ・ダウンスケーリングを実行する。例えば、ダウンサンプリングブロック202を参照して説明した上記の方法を使用して、フレームサイズ・ダウンスケーリングを実行してもよい。
ブロック304は、2つ以上のローカル動きベクトルを特定するべく、ブロック動き検索を実行することを含む。例えば、ブロック動き検索ブロック206を参照して説明した上記の方法を用いて、1以上のローカル動きベクトルを特定してもよい。
ブロック306は、支配的な動きパラメータを求めることを含む。例えば、逐次最小二乗法ブロック208を参照して説明した上記の方法を使用して、支配的動きパラメータを求めてもよい。
ブロック308は、アップスケール支配的動きパラメータを含む。例えば、アップスケールブロック210を参照して説明した上記の方法を使用して、支配的動きパラメータをアップスケールしてもよい。
ブロック310は、軌跡を算出することを含む。例えば、軌跡計算ブロック104を参照して説明した上記の方法を使用して、軌跡を求めてもよい。
ブロック312は、軌跡の平滑性を改善することを含む。例えば、軌跡平滑化ブロック106を参照して説明した上記の方法を使用して、軌跡平滑化を実行してもよい。
ブロック314は、現在フレームの安定化したバージョンを提供するべく、現在フレームをワープすることによって、ジッタ補償を実行することを含む。例えば、ジッタ補償モジュール108を参照して説明した上記の技術を使用して、ジッタを低減してもよい。
図4は、一実施形態に係るショット境界検出システムのブロック図である。様々な実施形態において、動画安定化システム100が使用したフレーム間支配的動き推定ブロック102から得られた結果の一部を、ショット境界検出システム400が使用する。例えば、ダウンサンプリングブロック202、参照バッファ204及びブロック動き検索206から取得可能な情報と同じ情報を、動画安定化及びショット境界検出の両方又は何れかにおいて使用することができる。ある実施形態では、ショット境界検出システム400は、急なシーン遷移(すなわち、カット(CUT)シーン)を検出する。ショット境界判定ブロック402は、フレームが、シーン切り替わりフレームであるか否かを判断する。例えば、ショット境界判定ブロック402は、図5を参照して説明したプロセスを使用して、現在フレームがシーン切り替わりフレームであるかを判断してもよい。
図5は、一実施形態に係るショット境界判断スキームのプロセスを示した図である。ブロック502及び504は実質的に、ブロック302及び304とそれぞれ同じである。
ブロック506は、現在フレームについて、SAD(sum of absolute difference)の平均を求めることを含む。ここで、現在フレームは、ダウンスケールされたフレームである。例えば、ブロック506は、ブロック動き検索ブロック206から、現在フレームにおけるマクロブロック各々に対するSADを受信することを含んでもよく、現在フレームにおける全てのマクロブロックのSAD平均を求めることを含んでもよい。
ブロック508は、平均SADが、閾値T0より小さいかを判断する。経験的に、16×16のブロックの場合には、T0を約1600に設定することができ、その他の値を使用してもよい。平均SADが閾値よりも小さい場合には、フレームは、ショット境界フレームではない。平均SADが閾値よりも小さくない場合には、ブロック508からブロック510に移る。
ブロック510は、閾値T1よりも大きいSADを有するブロックの数を求めることを含む。閾値T1は、経験的に、平均SADの4倍の値に設定することができるが、その他の値を採用してもよい。
ブロック512は、閾値T1よりも大きなSADを有するブロックの数が、別の閾値であるT2よりも少ないかを判断する。閾値T2は、経験的に、フレーム内の対象となるブロック全数の2/3に設定することができるが、その他の値をT2に使用してもよい。閾値T1よりも大きなSADを有するブロックの数が、閾値T2よりも少ない場合、現在フレームは、ショット境界フレームとは見なされない。閾値T1よりも大きなSADを有するブロックの数が、閾値T2以上である場合、現在フレームは、ショット境界フレームと見なされる。
図6は、一実施形態に係る動画安定化及びショット境界検出を実行するシステムのブロック図である。様々な実施形態において、フレームダウンサンプリングオペレーション及びブロック動き検索オペレーションは、ハードウェアに実装される。フレームダウンサンプリングオペレーション及びブロック動き検索オペレーションは、動画安定化アプリケーション及びショット境界検出アプリケーションの両方によって共有される。様々な実施家形態において、動画安定化(VS)、軌跡計算、軌跡平滑化、ジッタ動き算出及びジッタ補償オペレーションは、プロセッサによって実行されるソフトウェアで実行される。様々な実施形態において、ショット境界検出(SBD)は、プロセッサによって実行されるソフトウェアにおいて実行され、ショット境界検出は、ハードウェア実装された、フレームダウンサンプリングオペレーション及びブロック動き検索オペレーションで得られた結果を使用する。その他の動画又は画像処理技術において、ダウンサンプリング又はブロック動き検索によって得られた結果を使用してもよい。
処理が行われた画像及び動画を、トランジスタベースのメモリ又は磁気メモリのようなあらゆる種類のメモリに格納しておくことができる。
フレームバッファは、メモリ内の1領域であってもよい。メモリは、これに限定されるわけではないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックRAM(SRAM)のような揮発性メモリデバイス、又は、その他の種類の半導体ベースのメモリ、又は磁気記憶デバイスのような磁気メモリとして実装することができる。
例えば、ビデオエンコーディング、順次走査変換(de-interlacing)、超解像(super-resolution)、フレームレート変換等の複数の動画処理機能を有するメディアプロセッサを設計する際に、ハードウェアを再利用することは、コスト削減及びデバイスの小型に非常に有用である。様々な実施形態は、動画安定化機能及び動画ショット境界検出機能の両方を同じメディアプロセッサに実装する複雑性を低減する。特に、メディアプロセッサがブロック動き推定機能をサポートする場合には、この効果が顕著となる。
本明細書に記載されるグラフィックス及び/又は動画処理技術は、様々なハードウェアアーキテクチャに実装されてもよい。例えば、グラフィックス及び/又は動画機能は、チップセット内に集積化されてもよい。これに替えて、別個にグラフィックス及び/又はビデオプロセッサを使用してもよい。別の実施形態として、グラフィックス及び/又は動画機能は、マルチコアプロセッサを含む汎用プロセッサによって実装されてもよい。また、別の実施形態では、機能は、静止画又は動画を表示可能なディスプレイを備えるポータブルコンピュータ及び携帯電話のような家庭用電子機器に実装されてもよい。家庭用電子機器はまた、イーサーネット(登録商標)(例えば、IEEE802.3)又は無線規格(例えば、IEEE802.11又は16)といった任意の規格を使用して、インターネットのようなネットワークと接続可能なネットワークインターフェースを有してもよい。
本発明の実施形態は、マザーボードを使用して接続された1以上のマイクロチップ又は集積回路、ハードワイヤード・ロジック、メモリデバイスに格納され、マイクロプロセッサによって実行されるソフトウェア、ファームウェア、特定用途向け集積回路(ASIC)、及び/又は、フィールドプログラマブルゲートアレイ(FPGA)のうちの何れか又はこれらの組み合わせとして実装されてもよい。"ロジック(logic)"という言葉は、例えば、ソフトウェア又はハードウェア、及び/又は、ソフトウェアとハードウェアとの組み合わせを含んでもよい。
本発明の実施形態は、例えば、機械実行可能命令を格納する1以上の機械可読媒体を含むコンピュータプログラム物品として提供されてもよく、機械実行可能命令は、コンピュータ、コンピュータネットワーク又はその他の電子デバイスといった1以上の機械によって実行されると、本発明の実施形態に係るオペレーションを1以上の機械に実行させる。記憶媒体としては、特にこれに限定されないが、フロッピー(登録商標)ディスケット、光ディスク、コンパクトディスクリードオンリーメモリ(CD−ROM)、磁気光学ディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能−プログラム可能リードオンリーメモリ(EPROM)、電気的消去可能−プログラム可能リードオンリーメモリ(EEPROM)、磁気又は光学カード、フラッシュメモリ、又は、その他の種類の機械実行可能命令を格納するのに好適なメディア/機械可読媒体を含んでもよい。
添付の図面及び上記の説明は、本発明の例について記載したものである。複数の異なる機能項目が示されたが、当業者であれば、このような構成要素の1以上を、1つの機能要素として組み合わせてもよいことは明らかである。これに替えて、特定の要素を、複数の機能要素に分割してもよい。1つの実施形態からの要素を、別の実施形態に付加してもよい。例えば、上記したプロセスの順番を変更してもよく、明細書で説明された態様に限定されない。更に、フローチャートに記載されたアクションは、図示された順番で必ずしも実装する必要はなく、全てのアクションを必ずしも実行する必要はない。別の動作に依存しない動作は、別の動作と平行して実行してもよい。本発明の範囲は、これら特定の例に決して限定されない。明細書に明示的に記載されているか否かに関わらず、構造、寸法、使用する材料等において様々な変形例が可能である。本発明の範囲は、少なくとも、添付の特許請求の範囲で与えられる範囲と同じ広さである。

Claims (20)

  1. 現在フレームの動きパラメータを特定し、前記現在フレームにおけるブロックについてSAD(sum of absolute difference)を求めるフレーム間支配的動き推定ロジックと、
    前記SADに一部基づいて、前記現在フレームがシーン切り替わりフレームであるかを判断するショット境界判断ロジックと、
    前記動きパラメータに一部基づいて、前記現在フレームのシーケンスの安定化バージョンを提供する動画安定化ブロックと
    を備える装置。
  2. 前記フレーム間支配的動き推定ロジックは、ハードウェアに実装される請求項1に記載の装置。
  3. 前記フレーム間支配的動き推定ロジックは、
    前記現在フレームをダウンスケールし、
    ダウンスケールした前記現在フレームを、バッファの一部分に格納し、
    参照フレームにおけるブロックと現在フレームにおけるブロックとの間のSADを求め、
    前記ダウンスケールした現在フレームのフレーム間支配的動きパラメータを求め、
    前記フレーム間支配的動きパラメータをアップスケールする請求項1に記載の装置。
  4. 前記ダウンスケールした現在フレームのフレーム間支配的動きパラメータを特定するロジックは、
    対象ブロックを基準として最も小さいSADを有する参照フレームの一致ブロックを検索窓内において特定し、
    前記一致ブロックのローカル動きベクトルを求め、
    前記ローカル動きベクトルに一部基づいて、前記一致ブロックの座標を求め、
    前記一致ブロックの前記座標及び前記対象ブロックの座標に一部基づいて前記支配的動きパラメータを求めるべく、類似度動きモデルを適用する請求項3に記載の装置。
  5. 前記ダウンスケールした現在フレームのフレーム間支配的動きパラメータを特定するロジックは、
    異常ローカル動きベクトルを考慮しない請求項4に記載の装置。
  6. 前記動画安定化ブロックは、
    前記動きパラメータに一部基づいて、前記現在フレームの軌跡を求める軌跡計算ブロックと、
    前記現在フレームの軌跡の平滑性を向上させる軌跡平滑化ブロックと、
    前記現在フレームの軌跡におけるジッタを低減させるジッタ補償ブロックとを有する請求項1に記載の装置。
  7. 前記動画安定化ブロックは、
    前記動き軌跡と平滑化された前記軌跡との差分に一部基づいて、ジッタ動きパラメータを求め、
    前記ジッタ動きパラメータを使用して、前記現在フレームをワープする請求項6に記載の装置。
  8. 前記ショット境界判断ロジックは、
    前記現在フレームにおける全てのブロックに対する前記SADの平均を求め、
    前記SADが閾値より大きいブロックの数に一部基づいて、前記現在フレームがショット境界フレームであるかを判断する請求項1に記載の装置。
  9. 現在フレームの動きパラメータを求め、前記現在フレームにおけるブロックについてSAD(sum of absolute difference)を求めるハードウェアに実装されたフレーム間支配的動き推定器と、
    前記SADに一部基づいて、前記現在フレームが、シーン切り替わりフレームであるかを判断するロジックと、
    前記動きパラメータに一部基づいて、前記現在フレームの安定化バージョンを提供するロジックと、
    動画を受信及び表示するディスプレイと
    を備えるシステム。
  10. 前記判断するロジック及び前記提供するロジックは、コンピュータ可読媒体に格納され、プロセッサによって実行される請求項9に記載のシステム。
  11. 前記フレーム間支配的動き推定器は、
    前記現在フレームをダウンスケールし、
    ダウンスケールした前記現在フレームを、バッファの一部分に格納し、
    参照フレームにおけるブロックと現在フレームにおけるブロックとの間のSADを求め、
    前記ダウンスケールした現在フレームのフレーム間支配的動きパラメータを求め、
    前記フレーム間支配的動きパラメータをアップスケールする請求項9に記載のシステム。
  12. 前記現在フレームの安定化バージョンを提供する前記ロジックは、
    前記動きパラメータに一部基づいて、前記現在フレームの軌跡を求めるブロックと、
    前記現在フレームの軌跡の平滑性を向上させる軌跡平滑化ブロックと、
    前記現在フレームの軌跡におけるジッタを低減させるロジックと、
    前記軌跡と平滑化された前記軌跡との差分に一部基づいて、ジッタ動きパラメータを求めるロジックと、
    前記ジッタ動きパラメータを使用して、前記現在フレームをワープするロジックとを有する請求項9に記載のシステム。
  13. 前記SADに一部基づいて、前記現在フレームがシーン切り替わりフレームであるかを判断する前記ロジックは、
    前記現在フレームにおけるブロックについて前記SADの平均を求めるロジックと、
    前記SADが閾値より大きいブロックの数に一部基づいて、前記現在フレームがショット境界フレームであるかを判断するロジックとを有する請求項9に記載のシステム。
  14. 動画の現在フレームを受信する段階と、
    前記現在フレームをダウンスケールする段階と、
    ダウンスケールされた前記現在フレームを、バッファの一部に格納する段階と、
    ダウンスケールされた参照フレームにおけるブロックと、前記ダウンスケールされた現在フレームにおける対象ブロックとの間のSADを求める段階と、
    前記ダウンスケールされた現在フレームのフレーム間支配的動きパラメータを求める段階と、
    前記フレーム間支配的動きパラメータ及び前記SADのうちの少なくとも1つに一部基づいて、動画安定化及びショット境界検出のうちの少なくとも1つを実行する段階と
    を備えるコンピュータに実装される方法。
  15. 前記フレーム間支配的動きパラメータをアップスケールする段階を更に備える請求項14に記載の方法。
  16. 前記ダウンスケールされた現在フレームのフレーム間支配的動きパラメータを求める段階は、
    前記対象ブロックを基準として最も小さいSADを有する参照フレームの一致ブロックを検索窓内において特定する段階と
    前記一致ブロックのローカル動きベクトルを求める段階と
    異常ローカル動きベクトルを考慮しない段階と、
    前記ローカル動きベクトルに一部基づいて、前記一致ブロックの座標を求める段階と、
    前記一致ブロックの前記座標及び前記対象ブロックの座標に一部基づいて前記支配的動きパラメータを求めるべく、類似度動きモデルを適用する段階とを有する請求項14に記載の方法。
  17. 前記動画安定化を実行する段階は、
    前記動きパラメータに一部基づいて、前記現在フレームの軌跡を求める段階と、
    前記現在フレームの軌跡の平滑性を向上させる段階と、
    前記現在フレームの軌跡におけるジッタを低減させる段階と、
    前記軌跡及び平滑化された前記動き軌跡との間の差分に一部基づいて、ジッタ動きパラメータを求める段階と、
    前記ジッタ動きパラメータを使用して、前記現在フレームをワープする段階とを含む請求項14に記載の方法。
  18. 前記ショット境界検出を実行する段階は、
    前記現在フレームにおけるブロックについて、前記SADの平均を求める段階と、
    前記SADが閾値より大きいブロックの数に一部基づいて、前記現在フレームがショット境界フレームであるかを判断する段階とを含む請求項14に記載の方法。
  19. 前記ダウンスケールする段階、前記格納する段階、前記SADを求める段階、及び、前記フレーム間支配的動きパラメータを求める段階は、ハードウェアに実装される請求項14に記載の方法。
  20. 前記動画安定化及び前記ショット境界検出のうちの少なくとも1つを実行する前記段階は、プロセッサ実行ソフトウェア命令として実装される請求項14に記載の方法。
JP2012524073A 2009-08-12 2009-08-12 共通処理要素に基づく動画安定化及び動画ショット境界検出を実行する装置、システム、および方法 Expired - Fee Related JP5435518B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2009/000920 WO2011017823A1 (en) 2009-08-12 2009-08-12 Techniques to perform video stabilization and detect video shot boundaries based on common processing elements

Publications (2)

Publication Number Publication Date
JP2013502101A true JP2013502101A (ja) 2013-01-17
JP5435518B2 JP5435518B2 (ja) 2014-03-05

Family

ID=43585832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012524073A Expired - Fee Related JP5435518B2 (ja) 2009-08-12 2009-08-12 共通処理要素に基づく動画安定化及び動画ショット境界検出を実行する装置、システム、および方法

Country Status (5)

Country Link
EP (1) EP2465254A4 (ja)
JP (1) JP5435518B2 (ja)
KR (1) KR101445009B1 (ja)
CN (1) CN102474568B (ja)
WO (1) WO2011017823A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5908605B2 (ja) * 2011-12-30 2016-04-26 インテル コーポレイション 動き推定を用いたオブジェクト検出
US8810666B2 (en) 2012-01-16 2014-08-19 Google Inc. Methods and systems for processing a video for stabilization using dynamic crop
US9854259B2 (en) 2012-07-09 2017-12-26 Qualcomm Incorporated Smoothing of difference reference picture
WO2014078068A1 (en) * 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
CN103310451B (zh) * 2013-06-17 2016-12-28 中国传媒大学 基于渐进二分和自适应阈值的视频镜头边界检测方法
CN103442161B (zh) * 2013-08-20 2016-03-02 合肥工业大学 基于3d空时图像估计技术的视频稳像方法
TWI542201B (zh) * 2013-12-26 2016-07-11 智原科技股份有限公司 降低視訊畫面抖動的方法與裝置
WO2016041193A1 (en) * 2014-09-19 2016-03-24 Intel Corporation Trajectory planning for video stabilization
CN114095659B (zh) * 2021-11-29 2024-01-23 厦门美图之家科技有限公司 一种视频防抖方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07115584A (ja) * 1993-10-19 1995-05-02 Canon Inc 画像揺れ補正装置
JPH08102938A (ja) * 1994-09-30 1996-04-16 Sony Corp 画像符号化装置
JP2007243335A (ja) * 2006-03-06 2007-09-20 Fujifilm Corp 手振れ補正方法、手振れ補正装置および撮像装置
JP2007323458A (ja) * 2006-06-02 2007-12-13 Sony Corp 画像処理装置および画像処理方法
JP2009505477A (ja) * 2005-08-12 2009-02-05 エヌエックスピー ビー ヴィ ディジタル画像安定化のための方法及びシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5614945A (en) * 1993-10-19 1997-03-25 Canon Kabushiki Kaisha Image processing system modifying image shake correction based on superimposed images
US7489341B2 (en) 2005-01-18 2009-02-10 Primax Electronics Ltd. Method to stabilize digital video motion
US20070076982A1 (en) * 2005-09-30 2007-04-05 Petrescu Doina I System and method for video stabilization
WO2007114796A1 (en) * 2006-04-05 2007-10-11 Agency For Science, Technology And Research Apparatus and method for analysing a video broadcast
CN101087413B (zh) * 2006-06-07 2010-05-12 中兴通讯股份有限公司 视频序列中运动物体的分割方法
US8130845B2 (en) * 2006-11-02 2012-03-06 Seiko Epson Corporation Method and apparatus for estimating and compensating for jitter in digital video
US20080112630A1 (en) * 2006-11-09 2008-05-15 Oscar Nestares Digital video stabilization based on robust dominant motion estimation
KR101023207B1 (ko) * 2007-09-05 2011-03-18 한국전자통신연구원 영상 객체 추출 장치 및 그 방법
CN101383899A (zh) * 2008-09-28 2009-03-11 北京航空航天大学 一种空基平台悬停视频稳像方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07115584A (ja) * 1993-10-19 1995-05-02 Canon Inc 画像揺れ補正装置
JPH08102938A (ja) * 1994-09-30 1996-04-16 Sony Corp 画像符号化装置
JP2009505477A (ja) * 2005-08-12 2009-02-05 エヌエックスピー ビー ヴィ ディジタル画像安定化のための方法及びシステム
JP2007243335A (ja) * 2006-03-06 2007-09-20 Fujifilm Corp 手振れ補正方法、手振れ補正装置および撮像装置
JP2007323458A (ja) * 2006-06-02 2007-12-13 Sony Corp 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
EP2465254A4 (en) 2015-09-09
CN102474568B (zh) 2015-07-29
CN102474568A (zh) 2012-05-23
EP2465254A1 (en) 2012-06-20
KR101445009B1 (ko) 2014-09-26
WO2011017823A1 (en) 2011-02-17
JP5435518B2 (ja) 2014-03-05
KR20120032560A (ko) 2012-04-05

Similar Documents

Publication Publication Date Title
JP5435518B2 (ja) 共通処理要素に基づく動画安定化及び動画ショット境界検出を実行する装置、システム、および方法
US7720148B2 (en) Efficient multi-frame motion estimation for video compression
JPH1169358A (ja) 動画像の動きベクトル予測方法
JP2011528533A (ja) 動き推定反復検索のための推測的開始点選択
WO2012043841A1 (en) Systems for producing a motion vector field
Parker et al. Global and locally adaptive warped motion compensation in video compression
US8406305B2 (en) Method and system for creating an interpolated image using up-conversion vector with uncovering-covering detection
JP5248632B2 (ja) 動き推定のための技術
Sun et al. Predictive motion estimation with global motion predictor
JP2011528534A (ja) 動き推定反復検索のための簡単な次検索位置選択
JP3823767B2 (ja) 動画像の前景背景領域分離方法、及びその方法を用いた条件付画素補填による動画像符号化方法
JP7269371B2 (ja) オプティカルフローを用いる予測改善のための方法および装置
JP2000083257A (ja) ビデオエンコ―ダの運動推定器における場面の変化の検知
WO2007011851A2 (en) Filtered and warped motion compensation
JP2009027446A (ja) 画像処理方法および画像処理装置
Braspenning et al. Efficient motion estimation with content-adaptive resolution
Lim et al. A region-based motion-compensated frame interpolation method using a variance-distortion curve
Xu et al. Frame rate up-conversion with true motion estimation and adaptive motion vector refinement
Kim et al. Blocking-artifact detection in frequency domain for frame-rate up-conversion
Fu et al. Fast global motion estimation based on local motion segmentation
Cho et al. Surface modeling-based segmentalized motion estimation algorithm for video compression
Okade et al. A novel motion vector outlier removal technique based on adaptive weighted vector median filtering for global motion estimation
Min et al. Confidence-based adaptive frame rate up-conversion
Hong et al. Real-time foreground segmentation for the moving camera based on h. 264 video coding information
Hänsel et al. Improved adaptive temporal inter-/extrapolation schemes for distributed video coding

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130816

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131203

R150 Certificate of patent or registration of utility model

Ref document number: 5435518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees