画像安定化システムおよび方法
不安定に取り付けられたビデオカメラによって生成されるビデオ信号を安定化させるシステムは、現在の画像の特徴を前の画像の同様の特徴上へオーバーレイすることを試みる、各到来画像を操作するディジタル処理手段を含む。オーバーレイプロセスで誤差を生じやすい画像の一部が画像に適用すべき必要な動きの計算に使用されるのを防ぐマスクが使用される。このマスクは、画像の小さい動きが検出された領域を含むことができ、また過度のノイズを含む画像異常が検出された領域を含むこともできる。本発明は、パンまたはズームなど望ましいカメラの動きに対処する手段も開示し、システムによって処理されたビデオ信号のエッジに対処する手段も開示する。方法も開示される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラによって作成されるビデオ画像を安定化するシステムおよび方法に関する。特に、本発明は、揺れなど望ましくないカメラの動きによって生じる、カメラで記録された連続画像のオフセットを低減または除去する手段に関する。
【背景技術】
【0002】
望ましくないカメラの動きは、再生装置で感知される急激な変化のために、受信された画像を歪ませ、または画像の視覚分析を難しくすることがある。こうしたカメラの動きは、たとえばカメラの支柱に対して吹く風、またはカメラが手で保持され、あるいは動いている車やボートなどに据え付けられているために、不安定な支持によって生じることがある。
【0003】
望ましくない動きを被るカメラからのビデオ画像の安定化に用いられる一方法は、風による揺れなどによって生じるカメラの動きを測定し、それに応じてカメラを物理的に移動させる動力化されたカメラマウントを使用することである。ジャイロスコープを使用してカメラの動きを検出し、電動機を使用してそれを補正することができる。それによって実際に、カメラを固定位置に保持することを試みる電気機械的負帰還ループが提供される。この解決法は、カメラが永久または半永久的マウントに取り付けられる監視の適用分野で使用される場合は、非常に有効である。この方法では、正確に安定化されたシステムでカメラ自体が移動しないときに非常に遅いカメラのシャッター速度が使用される場合でも、ビデオ画像のぶれを低減することができる。この方法は、シーンの照明状態の影響も受けず、記録されたビデオ信号に関しては言及されていないが、この技法は、コストが高く扱いにくくであり、特にカメラシステムが大型の場合は、著しい電気資源を必要とすることがある。
【0004】
これの1つの発展は、従来どおりセンサを使用してカメラの動きを検出するが、センサからの信号を使用して、カメラによって生成された信号を処理する。この処理は、カメラによって記録された以前の画像と位置合せするために、画像を電気的にシフトさせるものである。この手法では、動力化されたカメラマウントについての要求は不要であるが、運動センサは依然として必要とされる。
【0005】
画像の安定化は、単に画像信号の電子的処理によって行うことができる。こうした方法は、カメラによって作成された現在の画像と基準画像を比較し、現在の画像が基準画像と合うように空間的に移動させることからなる。これを行うには様々な技法が用いられる。
【0006】
こうした一技法である英国特許第0012349.7号には、カメラのビデオ画像を安定させる方法が記載されている。この手法では、基準画像と最良に一致させるために現在の画像をどれだけシフトする必要があるかの測度として明示された水平および垂直成分が使用されるグローバル動き推定が用いられる。こうした成分は、処理に入力される前に高域通過フィルタリングされて、遅いカメラの動きは出力ビデオ信号まで通過できるようにするが、急な動きは安定化処理に入力されるようになされる。このシステムは、カメラが向けられたシーンで何かが動き、システムがカメラの意図的なパニングまたはズーミングに対処する設備を有していない場合、誤差が生じやすい。
【発明の開示】
【課題を解決するための手段】
【0007】
本発明により、複数の画像を表す1つまたは複数の信号を受信するように構成され、少なくとも画像(n−1)および画像(n−2)に後続する画像nについて、画像nと前の画像の間の空間的分離を表す画像nと前の画像の間のグローバル動きオフセット(GMO)値を推定し、このGMOに基づいて画像nに補正の動きを適用するように構成されたビデオ画像安定化システムであって、
システムが、GMO推定で考えられない、GMOの計算を誤り導く可能性が高いと推定される、画像nの1つまたは複数の領域を表すマスクを参照して、画像nについてGMOを推定するように構成されることを特徴とするシステムが提供される。
【0008】
本発明は、ある状況下で望ましくないカメラの動きの影響を低減することができる。本発明は、得られたビデオ画像上のカメラの動きの影響を低減するシステムを提供する。このシステムは、現在の画像の動きを計算する際に、基準としてビデオシーケンスの前の画像を使用する。
【0009】
GMOは、基準画像rからの現在の画像nの距離の測定値または推定値である。この距離は典型的には、水平面と垂直面の両方におけるrからnまでの画素数を含むベクトルであり、すなわち、nとrを最良に一致させるために適用されるシフトを示すものであり、任意の適した手段によって計算される。この最良の一致を計算する異なる手段によって異なる結果がもたらされることがあり、その全てが最適値ではないことを留意されたい。最適値の計算は非常に時間がかかり、または必要とされるコンピュータリソースが多すぎることがあるため、オフセットの近似値を与える他の技法を用いてもよい。基準画像rは、好ましくは、ビデオシーケンスの前の画像、すなわち最小GMOを有する点で現在の画像に最も近い可能性が高い画像(n−1)である。(n−2)または(n−5)など前の画像以外の画像をrとして使用することもできるが、振動のレベルおよび周波数によってこれらはより大きいGMOを有する可能性が高い。
【0010】
性能を向上させるためにさらなる情報がGMOの推定に使用される。マスクはこうした情報の1つである。これは、GMO計算に悪影響を与える可能性がある画像nの画素を除外するために使用される2値画像である。マスクは、画像の小領域内で動く物体について画像nを検査し、次いでこうした領域を除外するためにマスクの対応するビットを設定することによって生成されることが好ましい。これは、画像nを複数の部分画像nsに分割し、各部分画像nsについてローカル動きオフセット(LMO)を計算して行われることが好ましい。LMOは、GMOと同じ一般的方法で計算することができるが、各部分画像nsは画像nよりも小さいため、異なる技術がより適していることもある。LMOは、GMOで使用されたものと同じ基準画像rから得られた対応する部分画像を使用して計算することができるが、好ましくは、画像(n−2)から得られた対応する部分画像が使用される。やはり、他の基準画像を使用することもできる。
【0011】
マスクは好ましくは、所望の特性で振舞わない画素で表される画像nの領域に対応するように増大される。こうした画素は、常時オンまたはオフとして現れる「死んだ」画素のことがあり、または入光に対して不規則に振舞う画素のこともある。これらは、ある閾値を超えたノイズによって崩壊したと考えられる画素のこともある。ノイズの検出も任意の適した方法で行うことができる。本明細書では、こうした領域は異常領域として、かつこの領域を構成する画素は異常画素として知られている。
【0012】
GMOおよびLMOの計算に使用される画像は、計算が行われる前にサブサンプリングされることが好ましい。これは、計算労力が低減され、サブサンプリングプロセスに固有の低域通過フィルタリングによって安定化システムが画像ノイズに対してより弾性的になる利益がある。計算における極小値も問題になる可能性が低い。正確さを向上させるため、GMOまたはLMO計算を、比較的低い解像度で開始し、これからGMO/LMOを生成し、次いで前の繰り返しで計算されたGMO/LMOを考慮して比較的高い解像度に移り、複数の解像度で繰り返すことができる。より高い解像度に移る前に所与の解像度で複数の繰返しを行うこともできる。
【0013】
入力画像用に計算されたGMOおよびLMOを有利に使用して、パンまたはズーム操作がカメラに適用されたかどうかを推定することができる。本明細書では、パンは、カメラが水平または垂直のあるいはその両方の、異なる方向に向くようになされたカメラの動きを指すために用いられ、ズームは、カメラのレンズの焦点距離が変更されてカメラによって異なる視界が見られるようになされることを指すために用いられる。
【0014】
動きオフセット誤差の予測をLMOおよびGMOを使用して有用に行うことができる。こうした誤差の1つは「自動追跡」である。これは、たとえばカメラで可視の実質的にシーン全体で移動物体が捉えられた場合に起こる。たとえば、カメラが道路シーンに向けられており、非常に大きい貨物自動車がカメラの近くを通過した場合、カメラによって記録される画像の大部分は貨物自動車に占められるであろう。誤差補正が全く無い場合、これは、突然パンが行われた印象を与え、安定化ルーチンが誤って動きの追跡を試みることになるであろう。
【0015】
他のこうした誤差は、「静止カメラ検出」に関連する。GMOヒストリの分析が使用されて、カメラが移動しないときが予測される。この状態が検出されると、GMOベクトルがゼロに設定される。これがないと、小さいGMOの誤差が蓄積されて、誤った安定化が生じることになる。
【0016】
GMOベクトルは、GMOベクトルの計算及び処理が実行された後に現在の画像に適用すべきベクトルを表す最終安定化オフセット(SO)に変換されることが好ましい。この変換は、動きオフセット誤差およびパン並びにズーム操作の推定を考慮に入れることが好ましい。この変換は、前の画像に適用されたSOの影響を低減する傾向がある減衰係数を含むことが好ましい。これは、こうしたオフセットについての要求がなくなっても、画像に適用されたオフセットが残るように、それぞれSOベクトルが蓄積される傾向があるために有用である。
【0017】
本発明により処理されたビデオ信号は、ビデオ画像のエッジが、テレビジョンの画面など表示装置の表示領域のエッジと整列しないことがある。これは、画像が、検出された動きオフセットによって表示デバイスに対してシフトされた結果である。急速に位置が変わるこうしたエッジは、画像のエッジと表示装置の表示領域との間の境界領域の追加によって視界から隠された状態に保たれることが好ましい。より好ましくは、表示領域に対する画像の変位によって、境界のサイズが変更されるようになされる。これは、前の画像並びに現在表示されている画像の変位を考慮することができる。
【0018】
あるいは、画像のシフトによって生じた表示すべき画像の周囲の空白領域を前の画像からの画像情報で補うことができる。こうすると、人工境界を持たない全画像を表示装置に提示することができる。
【0019】
さらなる別法として、表示すべき画像のサイズを拡張して、空白領域を全て充填することができる。これは、知られたアルゴリズムを使用して画像をスケーリングすることによって行うことができる。
【0020】
システムへの1つまたは複数のビデオ信号入力は、カメラから直接行われ、またはビデオレコーダもしくはコンピュータシステムのディジタル画像記憶装置、あるいはこうしたソースの組合せなど幾つかの他の手段から行うことができることを留意されたい。
【0021】
本発明は、汎用マイクロプロセッサを組み込んだもの、およびディジタル信号プロセッサ装置を組み込んだものを含む、コンピュータシステムで実装することができる。コンピュータを、本発明による画像安定化システムを実行するようにプログラミングすることができる。
【0022】
次に本発明を単に一例として以下の図を参照してより詳細に説明する。
【発明を実施するための最良の形態】
【0023】
図1は、本発明の実施に使用することができる典型的なハードウェア構成を示す。この例では、ビデオ信号はマウント2上に取り付けられたビデオカメラ1によって生成される。カメラは風による揺れを受け、風が十分に強い場合は、それによってカメラが矢印3で示したようにマウント上で揺れる。カメラはビデオ信号を安定化システム4に提供し、その出力は本明細書で記載したように処理されたビデオ信号であり、次いでそれが適したディスプレイ5上に表示され、または適した媒体に記録される。本発明は、ディジタルと適したディジタル化を有するアナログの両方の多くの異なるビデオ信号フォーマットに適用することができ、本実施形態はPALおよびNTSC信号を処理するように設定される。
【0024】
安定化システム4は、信号の処理を実行して、カメラ画像の不安定さを全て低減することを試みる。システム4は、入ってくるアナログビデオ信号をディジタル化するアナログ/ディジタル変換器(ADC)6を備える。次いで、ディジタル信号は信号プロセッサ7に送られる。このプロセッサ7は、データストリームが到来すると複雑な計算および操作を実行し、ディスプレイユニット5で再生する準備ができているディジタル/アナログ変換器8によってアナログ信号に変換される出力信号を提供することができる。プロセッサ7は、カメラからの現在の画像n並びに前の2つの画像(n−1)、(n−2)を格納することができるディジタルフレームメモリ10に接続される。これらは、処理の際に使用される。プロセッサ7は、汎用ディジタルメモリ9にも接続される。このメモリ9は、本発明を実施するプログラムを保持する他に、本発明の動作とともに生成されるデータのための汎用記憶域として使用される。
【0025】
ADC6は、解像度720×288(PAL用)または720×240(NTSC用)の到来信号をディジタル化するが、画像の中央部分だけが処理アルゴリズムへの入力として使用され、画像の外側部分は、カメラの動きのために2つの連続する画像に存在しないシーンの部分を提示しうる。また、幾つかのカメラタイプは、画像領域の境界に非アクティブ画素を含む。本実施形態で使用されるアクティブ領域は、解像度576×256(PAL用)または576×224(NTSC用)を有する。当然、処理の結果はディジタル化された画像全体に適用される。
【0026】
図2は、本発明の一実施形態の動作のトップレベルのデータ流れ図である。この図では、少なくとも2つの画像が以前に捕捉され、現在の画像nがフレームメモリ10に配置されていることが想定されている。これは、最初にシステムのスイッチが入れられたときは別として、全ての場合に当てはまる。
【0027】
画像nに関する処理は以下の通りである。画像n100、(n−1)101、および(n−2)102がモジュール104に示され、モジュール104で画像n並びにマスク画像についてGMOおよびLMOが計算される。こうしたオフセットおよびマスクがどのように計算されるかの詳細を後に記載する。画像は、LMOの計算のために6×8(PAL入力用)または6×7(NTSC用)の領域に分割されるが、当然異なる数の領域を使用することもできる。本明細書では、マスクはローカル動きマスク(LMM)と呼ばれ、その主な仕事はローカルな動きが検出された画像の領域をマスクすることであることを留意されたい。しかし、異常領域または画素を含むようにマスクを設定することもできる。マスクは、検出された任意のローカル動きおよび異常領域から得られる複合マスクでもよいが、これもやはりLMMと呼ばれる。
【0028】
GMO、LMO、およびマスクの計算に従って、本発明のこの実施形態で、これらの値および前の値を分析して動きオフセット誤差について検査する。これは、モジュール105で行われ、「誤差補正」オフセットGMOEC(n)およびLMOsEC(n)を生成する。このデータを使用して、自動追跡誤差および静止カメラ誤差を検出する。これがどのように行われるかの詳細は、以下で図7に関して記載される。
【0029】
次いで本実施形態で、モジュール105で修正されたGMOEC(n)およびLMOsEC(n)を調査して、望ましいカメラの動き、すなわちパンおよびズームを検出し、それを補償する。この検出により、「カメラ状態」値が生成され、次いでそれを使用して、計算されたオフセットを画像nにどのように適用するかを調整する。検出は、カメラモデルモジュール106で行われる。パンおよびズーム状態がどのように検出されるかの詳細は、図8を参照して以下に提供される。
【0030】
モジュール106の状態出力およびモジュール105で計算されたGMOEC(n)値を次に使用して、画像nに適用すべき最終安定化オフセットを計算する。これは、モジュール107で行われ、出力オフセットSO(n)が生成される。このオフセットは、ディスプレイルーチンモジュール108に渡され、モジュール108でSO(n)の値によって画像nをシフトし、以下に記載するように最初に任意の境界が適用された後に、この画像を表す信号が表示装置または記録媒体に送信される。
【0031】
図3は、本実施形態で使用されるように、各画像nについてGMO、LMO、およびLMMを生成するプロセスをより詳細に示す。画像n、(n−1)、および(n−2)、100,101、102が、モジュール104に与えられる。画像nと(n−1)、および前の繰返しで画像(n−1)を使用して計算されたLMMが使用されて、図4を参照して本細書明で後に記載する知られたアルゴリズムに基づいて、ステップ109でGMOが推定される。画像(n)および(n−2)もステップ110で使用されて、画像nについてのLMOが推定される。このため、画像nは、6×8アレイ(PAL用)の部分画像、またはローカル画像に分割され、それぞれについてLMOが推定される。最後から2番目の画像(n−2)は、この画像と現在の画像の差が最後の画像が使用される場合にその差よりも大きくなる傾向があるために比較で使用され、ローカル部分画像内の動きの検出がより良好になる。ローカル動きはグローバル動きよりも小さい傾向があることが判明しているからである。各LMOの計算に使用されるアルゴリズムは、GMOの計算に使用されるものと全く同様であり、後に図5を参照してより詳細に記載される。
【0032】
画像nについて生成された(LMO(n)で表された)LMOは、画像nについてのGMO(GMO(n))と共に使用されて、マスクを生成する。マスクはモジュール111で生成される。このマスクは、GMO(n+1)の推定で使用され、画像nの各画素に関する1ビットの情報を有する。このビットが0の場合、画像(n+1)の対応する画素はGMO(n+1)の計算に使用されない。このビットが1の場合、画像(n+1)の対応する画素はGMO(n+1)の計算に使用される。マスクは、使用されるまでメモリ112に格納される。マスクは、そうでなければ計算されたGMO値を歪ませてしまうローカル動きが検出された画像の領域をマスクするために使用され、異常領域をマスクするためにも使用される。画像のノイズレベルの推定114が実行され、後で使用するために112で格納される。マスクの生成およびノイズの推定のさらなる詳細を後に図6を参照して提供する。
【0033】
図4は、GMOを生成する際にモジュール109で行われるステップをより詳細に示す。このモジュールへの入力は、現在の画像n100と前の画像(n−1)101、前に計算されたLMM113、およびノイズレベル推定値114である。この手順には3つの主なステップがある。
【0034】
第1に、入力画像およびLMMはモジュール115でサブサンプリングされて、そのサイズが縮小されるため、動作の速度およびノイズに対する回復力が上がる。
【0035】
第2に、サブサンプリングされた画像に基づいて、モジュール116でGMOの主な計算が行われる。
【0036】
第3に、モジュール117でサブサンプリングを考慮して計算されたGMOを補正する。
【0037】
画像のサブサンプリングはバイリニア補間プロセスを使用して行われるが、これは当業者に知られているため、本明細書ではさらに記載しない。このさらなる詳細は、Sonka、Hlavac、およびBoyle、「Image Processing and Machine Vision」、第2版、1998年、(PWS)Brooks/Cole Publishingで見ることができる。本実施形態では、サブサンプリングして、解像度を垂直寸法で4分の1、かつ水平寸法で8分の1に減らす。これによって、十分な結果がもたらされ、かつ計算時間が有用に短縮されることが判明している。サブサンプリングの他の利益には、サブサンプリングによって画像が効果的に低域通過フィルタリングされるため、GMOの計算が極小値と混同される可能性が低くなると共に、画像でノイズを受けにくくなることが含まれる。
【0038】
GMO値の計算には、サブサンプリングされたときに、画像nと画像(n−1)の位置ずれを最小限に抑えるように、画像nに適用する必要がある平行移動の計算が含まれる。この位置ずれの測定は、誤差値Eを生成するための、(本明細書でInおよびIn−1として表した)画像nと(n−1)の間の画素ごとの強度差の合計でなされる。
【0039】
手順では、この誤差値の2乗を最小にする試みがなされる。したがって、
【数1】
ただし、In(x,y)は画像n内の点x,yを表し、f(x,y)およびg(x,y)はそれぞれ画像nの画像座標を画像(n−1)の画像座標に変換する座標xとy(すなわち各画素の位置)の変換である。Eqn1のテイラー展開により、都合よく分析される方程式がもたらされ、変換関数fおよびgのパラメータに関してこれを微分し、これらを0に設定することによって、得られる方程式を解いて変換またはGMOに対する最新の更新を明らかにすることができる。本発明は、GMO計算を行う前に画像を前処理してより正確な結果をもたらすことを留意されたい。この前処理は、画素ごとに(サブサンプリングした)画像に(同様にサブサンプリングした)マスクを掛けるものであり、画像nのアクティブ領域を効果的に減少させ、これは、正確さを向上し、計算をより単純にする効果を有する。
【0040】
誤差方程式Eqn1のテイラー級数の近似を使用して、近似誤差を導入し、本実施形態では1次項だけを使用する。これは、誤差関数の極小値を見つけることによって、不正確なGMOを提供するプロセスになる可能性がある。近似値の効果を低減するために、上記のGMOを計算するプロセスを繰り返す。0.0の最初の動き推定200が使用され、繰返しごとに更新される。各繰返しで、変換パラメータの最新推定201(すなわち計算される現在のGMOの最新値)によって、現在の画像nの更新、ワープ、またはシフトされたバージョンが使用される。
【0041】
GMOの計算では、本実施形態は、正確さを向上し、シーンを通して移動する物体によって生じる誤差を軽減する助けをするアニーリングプロセスも使用する。アニーリングプロセスで、所与の画素を現在のGMO計算の繰返しに使用すべきであるかどうかを決定する。これは、画像(n−1)の各画素と、計算されたGMOの現在の値によってワープ、またはシフトされた画像nの対応する画素との絶対差を調べることによって行われる。この差が閾値よりも大きい場合は、次の繰返しで使用されない。ノイズレベル推定114は、閾値の計算に使用される。このプロセスでは、ワープされても整列しない画素が除外され、その理由が、画像の異常またはシーンを通る物体の動きによる可能性が高いからである。プロセスの繰返しによって画像がさらに位置合せされ、選択される閾値が低下されるに従って、画像のより多くの画素が整列して、差の絶対値が小さくなる。このプロセスで、ロバストな統計的推定の形が実施される。他のこうしたロバストな統計的推定方法も知られており、本発明に適用可能である。
【0042】
本実施形態では、位置合せの向上をもたらす画像nの平行移動だけを計算する。したがってこの場合、f(x,y)=x+Δx、かつg(x,y)=y+Δyである。回転および縮尺誤差は、現在考慮されていないが、本発明は適切な適合性があり、回転またはスケーリングによって不安定になりやすいソースから得られるビデオ信号を安定させるために等しく適用することができる。この適合は、平行移動、回転、およびスケールパラメータに関する関数f(x,y)およびg(x,y)を示すものであり、したがって
f(x,y)=Δx+bx−cy、かつg(x,y))=Δy+cx+byである。
ただし、スケーリングファクタ=(b2+c2)1/2、かつ回転度数=tan−1(c/b)である。これらの方程式は次いで上記に記載したものと同様に解かれる。GMOの計算の上記その他の態様に関するさらなる情報は、Kent,P、「Multiresolution Image Registration」lEE Colloquium on Multiresolution Modelling and Analysis in Image Processing and Computer Vision,1995年、およびKent,P、「Multiresolution Image Registration and Mosaicing」Journal of Defence Science、Vol.1、No.2で見ることができ、この両方の内容を参照により本明細書に組み込む。これらの参照文献には、複数の解像技法が詳細に記載されており、比較的低い解像度で計算されたGMO値が、画像の解像度を上げたバージョンで行われる後続のGMO計算に適用されることを留意されたい。必要に応じてこれを繰り返して、求められる正確さを得ることができる。この実施形態では、単一の解像度で行われた計算で良好な結果が得られることが判明しているが、必要に応じて複数の解像度を使用するように構成することができる。GMOおよびLMOを計算する他の方法も存在し、本発明に適用可能である。
【0043】
上記で計算されたGMOの推定に続いて、画像の解像における変更を考慮するために、117で、得られた値にサブサンプリングで使用される同じ係数を掛ける。本実施形態は、GMOおよびLMOの計算だけに画像nのサブサンプリングされたバージョンを使用することを留意されたい。他の動作は全て画像の元の解像度で画像上に作用する。
【0044】
図5は、各画像nについて1組のLMOを計算するのに使用されるプロセスをより詳細に示す。このプロセスは、上記のGMOを計算するのに使用されたバージョンを単純化したバージョンに基づく。画像nは、やはり前と同様にサブサンプリングされ、作業負荷および画像ノイズが低減される。この後、サブサンプリングされた画像がモジュール120で、それぞれサイズ12×8画素の6×8部分画像ブロック(PAL用)に分割される。各部分画像ブロックは、マスキングもアニーリング機能もないGMO推定ルーチンの単純化バージョン121に渡される。計算は最初の動き推定202を使用して前と同様に繰り返し行われ、これは、数203で示したように各パスで更新される。マスキングおよびアニーリング機能は、各部分画像が小さいサイズで処理されるために必要とされない。次いでモジュール122で、処理で使用された画像の低減された解像度を考慮するために、モジュール121で生成されたベクトルにサブサンプリングで使用されたのと同じ係数が掛けられる。次いで、画像nおよび画像(n−1)についてのGMOの現在の値が、計算されたLMO値から差し引かれる。これによって、LMO値がカメラの動きによって変造されないことが保証される。得られたLMO123は、nの各部分画像と(n−2)の対応する部分画像の間の最良の一致を得るために必要な水平および垂直のシフトを保持するベクトルである。
【0045】
図6は、マスクを生成するプロセスをより詳細に示す。このマスクは、上記のように、ローカルな動きの影響と異常に振舞う画素の両方に関係する画素を関連する計算から除外するために使用される。部分画像が所与の閾値よりも大きいLMOを有する場合、適したマスクビットを0に設定することによって、部分画像全体に相当する領域がマスクされる。このマスクはLMMであり、モジュール125で計算される。この実施形態では、LMMは、異常画素の振舞いが検出された画像nの領域に対応するマスキングを含む。
【0046】
異常画素は、以下のように発見される。現在のGMOによってシフトされた画像nと画像(n−1)の絶対差、すなわちIdiff(n)=I(n)−1(n−1)を示す画像が124で生成される。上記で導出された動きの影響によるLMMマスクの一部も使用されて、かなり大きいローカル動きが検出されなかった場合、Idiff(n)がこうした部分画像だけを含むようになされる。
【0047】
得られた差画像の強度レベルが、次いでモジュール126で調べられる。これは、先ずIdiff(n)の画素強度の分散を発生することによって行われる。次いでこの範囲の最低十分位数として5を掛けた閾値が設定され、この係数は、動きの異常に対する妥当な程度のロバスト性を与えるために経験的に選択されたものである。この強度を超える画素は全て異常とみなされ、LMMの対応するビットがモジュール127でゼロに設計されて、図3で示したように、関連操作から除外される。この異常画素閾値は、GMOの計算で使用されるノイズレベル推定114として使用される。
【0048】
図7は、モジュール105の動きオフセット誤差補正を示すデータ流れ図である。この目的で、モジュール105は、現在の118および前の画像128からGMOベクトルへ、かつシステムメモリに格納された現在の画像からLMOベクトルのセット123へのアクセス権を有する。モジュール105で、先ず自動追跡推定129が行われて、非常に大きい動く物体によって生じたGMOの歪みについて検査される。これは、事前にメモリに格納された、GMO(n)、LMOs(n)、およびGMO(n−1)からGMO(n−25)(PAL用)まで、またはGMO(n−30)(NTSC用)までを使用して行われる。
【0049】
自動追跡は、以下の場合に行われたと考えられる。
i.GMO(n−1)からGMO(n−25)まで(または必要に応じてGMO(n−30)まで)が全て所与の閾値(距離で5.0画素が現在使用されている)未満である。
ii.GMO(n)が所与の閾値より大きい。
iii.LMOs(n)の50%より多くが所与の閾値(距離で4.0画素が現在使用されている)よりも大きい。
【0050】
本実施形態は、GMOおよびLMOベクトルの水平成分だけを調べているが、当然、どちらか一方または両方の成分を使用することができる。自動追跡が行われたと考えられる場合、GMO(n)およびLMOs(n)の水平成分がゼロに設定される。これは、シーケンスのこの特定の画像について、この軸に関する安定効果を全て停止する効果がある。しかし、垂直軸ではなお安定化をもたらすことができる。
【0051】
モジュール105も、現在のGMOおよびGMOの最近のヒストリを分析して、カメラが実際に静止していたかどうかを130で推定する。モジュール130は、GMO(n)からGMO(n−49)(PAL信号用)に等しい約1秒間に値するGMOを調べることによってこれを行う。調べられたGMO全てが、通常、水平軸と垂直軸の両方に対して1画素に設定された閾値未満の場合、カメラは静止していると考えられる。代替方法では、調べられたGMOの分散が計算され、同様に閾値が設定される。分散が、現在1.5画素に設定されている閾値未満の場合、1秒間に値するGMOも上記のように閾値未満の場合、カメラは静止していると考えられる。静止状態が検出されると、GMO(n)の現在の水平および垂直成分がゼロに設定され、その画像の安定化が全て効果的に無効にされる。
【0052】
モジュール105からの誤差補正オフセットはGMOEC130およびLMOsEC131であると考えられる。
【0053】
図8は、カメラ状態138、すなわちパンまたはズーム操作が行われたかどうかを検出する動作をより詳細に示す。パンの検出では、2つのGMOECの合計の間の差が133で計算される。1つは、GMOEC(1)からGMOEC(n)までのGMOsEC(n)の合計134(すなわちシステムのスイッチがオンになってからのGMOEC値の蓄積)である。他の135は、合計前に高域フィルタを通過した同じオフセットを使用する。使用されたフィルタは、遮断周波数0.5Hzの2次ベッセルフィルタであるが、当業者は適した多数のフィルタ特性があることを思いつくであろう。このフィルタ特性の計算のさらなる詳細は、Rabiner,L.R.およびB.Gold、「Theory and Application of Digital Signal Processing」、Prentice Hall、1975年、頁228〜230で見ることができる。こうした合計の差の間が十分に大きいことは、パンの典型的な低周波数グローバル動きが存在することを示す。上記のパンの検出は、GMOEC合計を低域通過フィルタリングすることによって得られるものと同様であるが、上記の方法は、高域通過フィルタリングされた値が他の処理で使用され、すでにシステムメモリに存在するように使用されることに留意されたい。したがって低域通過フィルタリングされた値の計算作業は省かれる。
【0054】
合計の間の差が閾値(この実施形態では50.0画素に設定されている)を超えると、パンが行われたと考えられる。この閾値が超えられるまで、パンの検出は非パン状態を示す。この閾値が超えられたときに初めて、パンの検出は可能なパン状態を示す。これが幾つかの連続する画像で起こった場合(この実施形態では30画像に設定されている)、パンの十分な証拠があり、パン検出はパン状態を示す。
【0055】
一旦パンの検出がパン状態を示すと、合計の間の差が閾値を超えなくなるまでパン状態が継続して示される。移行を平滑にするには、パン検出で非パン状態に戻る前に、幾つかの画像(この実施形態では30画像に設定されている)にわたって可能なパン状態が示される。
【0056】
ズーム操作の検出136では、画像の中心を中心とするローカル動きブロックのグループからのLMOsEC(n)132が検査される。典型的には、これは長方形の境界であり、ローカル動きブロックの格子のエッジの周囲の1ブロック深いところである。これは図9で示されている。この図では、画像nは大きい長方形11で示されている。内部部分12は、1組の6×8のローカル動きブロック、たとえば13に分割されて示されている。選択したブロックからのLMOsECが一般的に画像の中心に向かう動きを示すように見える場合は、ズームインが検出される。同様に、動きが画像の中心から一般的に遠ざかる場合は、ズームアウトが検出される。選択されたブロックは、画像nの内部部分12の境界上のブロック(たとえば14)である。長方形の右側および左側のブロックが調査されて、水平軸のある閾値よりも大きい動きを示したかどうかを見る。同様に、長方形の上下にあるブロックが調査されて、垂直軸のある閾値よりも大きい動きを示したかどうかを見る。したがって、角のブロックは水平と垂直の両方の分析に貢献することが分かるであろう。
【0057】
グループの各ブロックについて、動きオフセットの大きさが閾値と比較される。ブロックが所与の閾値よりも大きい大きさの動きオフセット成分を有する場合、そのブロックはかなり大きい動きを有すると考えられる。
【0058】
かなり大きい動きを有する各ブロックについて、画像の中心に対する移動方向を使用して、その動きがズームインまたはズームアウトのどちらを示すかを判断する。グループ内のブロック全てが調査されて、ズーム操作が進行中であるかどうか決定される。本実施形態では、以下の不等式が成立する場合にズームが行われたと考えられる。
【数2】
ただし、Nz(in)はズームインを示すグループ内のブロックの数であり、NZ(out)はズームアウトを示すグループ内のブロックの数であり、NBはグループ内のブロックの合計数である。当然、ズームの方向もNz(in)とNz(out)の比較によって分かる。
【0059】
不等式(Eqn2)は、実際2回計算される。5画素よりも大きい動きオフセット成分が発生するブロックだけを含むNZ(in)およびNz(out)についての値が先ず計算される。このとき不等式が成立した場合、「速いズーム」が行われたと考えられる。不等式が成立しない場合は、計算が繰り返され、このときNZ(in)およびNZ(out)には、1つ以上の画素の動きオフセット成分が発生するブロックが含まれる。次に不等式が成立した場合、「遅いズーム」が行われたと考えられる。ズームを速いまたは遅いズームに分類する理由は、それらを別に処理することによってより良好な安定が達成されることが判明したからである。2つの状態に対する処理の相違を以下に述べる。
【0060】
ズーム状態が連続する画像の数よりも多く検出された場合(本実施形態では速いズームに2つ、遅いズームに10)、ズームが行われた十分な証拠があり、ズーム検出はズーム状態を示す。
【0061】
一旦、ズーム検出が速いまたは遅いズーム状態を示すと、幾つかの連続する画像で(本実施形態では10)ズームが検出されなくなるまでズーム状態が連続して示される。移行を平滑にするために、ズーム検出は、非ズーム状態に戻る前に、幾つかの画像(本実施形態ではやはり10)にわたって可能なズーム状態を示す。
【0062】
所与の画像nについてパンとズームの両方が検出された場合、状態調停手順137が使用されて、どちらがより重要であるか判断される。この手順は、最高の優先権が一方に作用し、他方が無視されるように、各状態に優先権を割り当てることによって行われる。本実施形態で使用される順序を優先権が低下する順に表1で示す。
【表1】
【0063】
表1の状態6は、他の状態が観察されない場合は、省略値で選択されることを留意されたい。
【0064】
モジュール106によって予測されたカメラ状態138は、モジュール107に提供され(図2を参照)、ここで、画像nに適用すべき安定化オフセット(SO)が計算される。モジュール107への他の主な入力は、誤差補正GMOEC(n)131である。検出されたカメラ状態が使用されて、画像nに適用すべき最終オフセットSO(n)139が生成される。これは、表2で示したように行われる。
【表2】
【0065】
表2の減衰定数は、蓄積された画像オフセットが時間と共に減衰するのに使用される。これによって安定化の効果がわずかに低減されるが、可視画像の量が向上する。カメラの動きが検出されない場合、減衰オフセットは結果的に画像をその最初の開始位置に戻す。これは、カメラの揺れが止んでも計算されたオフセットがゼロに戻らない状況で特に有用である。
【0066】
また、(たとえば処理速度および画像処理能力を上げるためになされる)パンまたはズームの動きを検出し補正する能力を持たない本発明の実施形態が作成された場合、かつ実施形態がパンまたはズーム中のカメラと共に不注意に使用された場合でも、パンまたはズーム操作中に正確さがわずかに低減されるが、本発明はシステムが作動できるようにする。現在使用される急速減衰定数は0.735であり、使用される標準減衰定数は0.98である。
【0067】
表2で使用される高域通過フィルタ(HPF)動作は、上記のパン検出で行われたものと同じである。
【0068】
次に、上記で導出されたオフセットSO(n)139をカメラ状態138と共に画像nに適用して、ビデオ信号の安定化を実施する。これは、図10で示したように、2段階で行われる。第1の段階140で、画像nをベクトルSO(n)139に従ってシフトする。この画像のシフティングによって、データを持たない、したがって空白の画像領域の幾つかの境界が生じる。連続する画像の空白領域は様々なサイズであり、それによって画像シーケンスの急速に動くエッジが出力表示装置に提示されるときにフリッカ効果が生じる。したがって、表示プロセスの第2段階で、こうした空白領域を覆う「動的」境界141が生成される。
【0069】
動的境界は、安定化された画像シーケンスの急速に動くエッジを隠す。これは、シフトされた画像のエッジを覆う人工黒境界のオーバーレイによって行われる。これによって、可視画像のサイズが縮小されて、急速に動くエッジが隠される。境界は連続して調整されて、動くエッジを示さずに、画像をできるだけ多く示すようにする。カメラ状態、安定化オフセットSO(n)、およびSO値のヒストリを使用して、示される境界の大きさが決定される。パンまたはズームが行われ、または画像の動きが少しも無い場合、動的境界は、画像のエッジが示されるまで減衰する。典型的には、境界は、50個の画像のオフセットヒストリ期間内で検出された画像の最大可動域までの領域を覆う。
【0070】
境界の生成に使用されるオフセットヒストリは、カメラ状態によって各画像への入口を獲得する。
【0071】
速いズーム状態、パン状態、遅いズーム状態、可能なパン状態、または可能なズーム状態が検出された場合、画像nについてのオフセットヒストリの値はゼロに設定される。
【0072】
パンまたはズーム状態が検出されない場合は、画像nについてのオフセットヒストリの値はSO(n)に設定される。
【0073】
境界があまり急速に変化するのを防ぐため、境界は、各画像に対する変更率が制限される。垂直方向の最大変化は画像当たり5画素に制限され、水平方向の最大変化は、画像当たり10画素に制限される。こうした値は良好に作用することが判明しているが、他の値を使用することもできる。
【0074】
次いで、動的境界が適用され、シフトされた画像142がアナログ信号に変換されて、モニタで再生し、またはディスクもしくはテープに記録される。当然、ディジタル信号を任意の便利なフォーマットでコンピュータディスクに保管することもできる。
【0075】
図11は、実行中の境界生成を示す。a)では、不安定なプラットフォーム上に取り付けられたビデオカメラが向けられた場面が示されている。カメラは上下に揺れていると仮定する。カメラの視界は、細切れにされていない部分143である。大きい長方形は、数秒間シーン144上でカメラが動く間、常にカメラによって見られる比較的大きいシーン144を表す。分かるように、この画像について、カメラはシーン144の上部に向けられているため細切れの領域で表されたシーン145の下方部分が存在しない。
【0076】
本明細書で開示したように、画像安定化システムは、図11aがその1つである画像のシーケンスで示された場合、画像143を再生装置の表示領域の中心に向けて移動させる傾向があり、その上限および下限はこの図で破線151で示されている。これによって、シフトされた枠の上部に隙間が生じる。動的境界が生成された場合、安定化された画像の上部の境界はこの間隙を隠すために、少なくともこの動きと同じ大きさに作成される。
【0077】
図11b)は、短時間後にカメラによって記録された画像を表し、そのときカメラはカメラの揺れのために動いており、今は比較的大きいシーン144の底部146に向いている。このため、比較的大きいシーン144の上部147はこのフレームに記録されていない。やはり、安定化ルーチンは、破線151で示したように、この画像を表示領域の中心に移動させる傾向があり、これによって生じた間隙も動的境界が生成されたときに覆われる。安定化された画像の上部および下部に空白領域を生じさせる上記の機構の他に、1つの画像で見えるが他の画像では見えない比較的大きいシーン144の幾つかの領域がある。たとえば、図11aでは、木148の頂部を見ることができるが、地面を見ることができない。同様に図11bでは、地面149を見ることができるが、木の頂部を見ることができない。境界が単に空白領域を覆った場合、ある時にだけ見えるシーンによって生じるこれらの境界に隣接するフリッカ領域がまだ見える。上述の急速に変わるエッジがある。これらを隠すため、この領域を覆うように境界が拡張され、このサイズは、前の50個の画像で見られた画像の(安定化オフセットによって与えられる)最大可動域の検査によって決定される。
【0078】
図11cは、上記のように生成されて急速に動くエッジを覆うための、数151で示した表示領域内の境界150を有する、得られた安定画像を示す。
【0079】
代替実施形態は、動くエッジ問題に異なる方法で対処する。ここでは、カメラの動きによって画像内に空白領域が生成され、前の画像からの画像情報が使用されて空白領域が効果的にオーバーレイされる。これは、上記のようにオフセットによってシフトされた現在の画像を含むバッファ画像を生成することによって行われ、オフセットはバッファ内の前の1つまたは複数の画像上に書き込まれて、画像データが現在の画像に存在する部分だけに重ね書きし、現在の画像の空白領域に対応するバッファ内の部分はもとのままになされる。こうすると、バッファ画像が境界151によって与えられた表示領域よりも大きい画像になるが、現在の画像と前の画像の合成になる。バッファ画像は、比較的大きいシーン144のサイズになる。次いで、破線151で与えられた表示部の制限内に合うこのバッファ画像の一部を、表示または記録装置に出力し、それによってデッド領域または境界空間を表示する必要がないことが保証される。
【0080】
さらなる実施形態は、表示すべき画像のサイズを線形スケーリングによって拡張して、画像がそうでなければ空白になる部分を画像シフティングプロセスによって覆うようになされている。
【0081】
当業者には理解されるように、本発明の範囲内にある他の実施形態を思いつくことができ、したがって、本発明は本明細書に記載した実施形態に限定されるものではない。
【図面の簡単な説明】
【0082】
【図1】本発明を実施することができるハードウェアを示す図である。
【図2】本発明の一実施形態のトップレベルの操作を示すデータ流れ図である。
【図3】画像の動きオフセットおよびローカル動きマスクを推定するステップをより詳細に示す図である。
【図4】各画像nについてのGMOの計算をより詳細に示す図である。
【図5】各画像nについてのLMOの計算をより詳細に示す図である。
【図6】マスク画像を生成するプロセスをより詳細に示す図である。
【図7】GMOにおける動きオフセット誤差の補正に関するステップをより詳細に示す図である。
【図8】カメラのパンおよびズーム検出の動作をより詳細に示す図である。
【図9】ズーム動作の検出で画像nについてLMOの外部セットの使用を示す図である。
【図10】前に計算された情報を与えられた最終安定画像の生成に関するステップをより詳細に示す図である。
【図11a】安定画像上の動的境界の生成の効果を示す図である。
【図11b】安定画像上の動的境界の生成の効果を示す図である。
【図11c】安定画像上の動的境界の生成の効果を示す図である。
【技術分野】
【0001】
本発明は、カメラによって作成されるビデオ画像を安定化するシステムおよび方法に関する。特に、本発明は、揺れなど望ましくないカメラの動きによって生じる、カメラで記録された連続画像のオフセットを低減または除去する手段に関する。
【背景技術】
【0002】
望ましくないカメラの動きは、再生装置で感知される急激な変化のために、受信された画像を歪ませ、または画像の視覚分析を難しくすることがある。こうしたカメラの動きは、たとえばカメラの支柱に対して吹く風、またはカメラが手で保持され、あるいは動いている車やボートなどに据え付けられているために、不安定な支持によって生じることがある。
【0003】
望ましくない動きを被るカメラからのビデオ画像の安定化に用いられる一方法は、風による揺れなどによって生じるカメラの動きを測定し、それに応じてカメラを物理的に移動させる動力化されたカメラマウントを使用することである。ジャイロスコープを使用してカメラの動きを検出し、電動機を使用してそれを補正することができる。それによって実際に、カメラを固定位置に保持することを試みる電気機械的負帰還ループが提供される。この解決法は、カメラが永久または半永久的マウントに取り付けられる監視の適用分野で使用される場合は、非常に有効である。この方法では、正確に安定化されたシステムでカメラ自体が移動しないときに非常に遅いカメラのシャッター速度が使用される場合でも、ビデオ画像のぶれを低減することができる。この方法は、シーンの照明状態の影響も受けず、記録されたビデオ信号に関しては言及されていないが、この技法は、コストが高く扱いにくくであり、特にカメラシステムが大型の場合は、著しい電気資源を必要とすることがある。
【0004】
これの1つの発展は、従来どおりセンサを使用してカメラの動きを検出するが、センサからの信号を使用して、カメラによって生成された信号を処理する。この処理は、カメラによって記録された以前の画像と位置合せするために、画像を電気的にシフトさせるものである。この手法では、動力化されたカメラマウントについての要求は不要であるが、運動センサは依然として必要とされる。
【0005】
画像の安定化は、単に画像信号の電子的処理によって行うことができる。こうした方法は、カメラによって作成された現在の画像と基準画像を比較し、現在の画像が基準画像と合うように空間的に移動させることからなる。これを行うには様々な技法が用いられる。
【0006】
こうした一技法である英国特許第0012349.7号には、カメラのビデオ画像を安定させる方法が記載されている。この手法では、基準画像と最良に一致させるために現在の画像をどれだけシフトする必要があるかの測度として明示された水平および垂直成分が使用されるグローバル動き推定が用いられる。こうした成分は、処理に入力される前に高域通過フィルタリングされて、遅いカメラの動きは出力ビデオ信号まで通過できるようにするが、急な動きは安定化処理に入力されるようになされる。このシステムは、カメラが向けられたシーンで何かが動き、システムがカメラの意図的なパニングまたはズーミングに対処する設備を有していない場合、誤差が生じやすい。
【発明の開示】
【課題を解決するための手段】
【0007】
本発明により、複数の画像を表す1つまたは複数の信号を受信するように構成され、少なくとも画像(n−1)および画像(n−2)に後続する画像nについて、画像nと前の画像の間の空間的分離を表す画像nと前の画像の間のグローバル動きオフセット(GMO)値を推定し、このGMOに基づいて画像nに補正の動きを適用するように構成されたビデオ画像安定化システムであって、
システムが、GMO推定で考えられない、GMOの計算を誤り導く可能性が高いと推定される、画像nの1つまたは複数の領域を表すマスクを参照して、画像nについてGMOを推定するように構成されることを特徴とするシステムが提供される。
【0008】
本発明は、ある状況下で望ましくないカメラの動きの影響を低減することができる。本発明は、得られたビデオ画像上のカメラの動きの影響を低減するシステムを提供する。このシステムは、現在の画像の動きを計算する際に、基準としてビデオシーケンスの前の画像を使用する。
【0009】
GMOは、基準画像rからの現在の画像nの距離の測定値または推定値である。この距離は典型的には、水平面と垂直面の両方におけるrからnまでの画素数を含むベクトルであり、すなわち、nとrを最良に一致させるために適用されるシフトを示すものであり、任意の適した手段によって計算される。この最良の一致を計算する異なる手段によって異なる結果がもたらされることがあり、その全てが最適値ではないことを留意されたい。最適値の計算は非常に時間がかかり、または必要とされるコンピュータリソースが多すぎることがあるため、オフセットの近似値を与える他の技法を用いてもよい。基準画像rは、好ましくは、ビデオシーケンスの前の画像、すなわち最小GMOを有する点で現在の画像に最も近い可能性が高い画像(n−1)である。(n−2)または(n−5)など前の画像以外の画像をrとして使用することもできるが、振動のレベルおよび周波数によってこれらはより大きいGMOを有する可能性が高い。
【0010】
性能を向上させるためにさらなる情報がGMOの推定に使用される。マスクはこうした情報の1つである。これは、GMO計算に悪影響を与える可能性がある画像nの画素を除外するために使用される2値画像である。マスクは、画像の小領域内で動く物体について画像nを検査し、次いでこうした領域を除外するためにマスクの対応するビットを設定することによって生成されることが好ましい。これは、画像nを複数の部分画像nsに分割し、各部分画像nsについてローカル動きオフセット(LMO)を計算して行われることが好ましい。LMOは、GMOと同じ一般的方法で計算することができるが、各部分画像nsは画像nよりも小さいため、異なる技術がより適していることもある。LMOは、GMOで使用されたものと同じ基準画像rから得られた対応する部分画像を使用して計算することができるが、好ましくは、画像(n−2)から得られた対応する部分画像が使用される。やはり、他の基準画像を使用することもできる。
【0011】
マスクは好ましくは、所望の特性で振舞わない画素で表される画像nの領域に対応するように増大される。こうした画素は、常時オンまたはオフとして現れる「死んだ」画素のことがあり、または入光に対して不規則に振舞う画素のこともある。これらは、ある閾値を超えたノイズによって崩壊したと考えられる画素のこともある。ノイズの検出も任意の適した方法で行うことができる。本明細書では、こうした領域は異常領域として、かつこの領域を構成する画素は異常画素として知られている。
【0012】
GMOおよびLMOの計算に使用される画像は、計算が行われる前にサブサンプリングされることが好ましい。これは、計算労力が低減され、サブサンプリングプロセスに固有の低域通過フィルタリングによって安定化システムが画像ノイズに対してより弾性的になる利益がある。計算における極小値も問題になる可能性が低い。正確さを向上させるため、GMOまたはLMO計算を、比較的低い解像度で開始し、これからGMO/LMOを生成し、次いで前の繰り返しで計算されたGMO/LMOを考慮して比較的高い解像度に移り、複数の解像度で繰り返すことができる。より高い解像度に移る前に所与の解像度で複数の繰返しを行うこともできる。
【0013】
入力画像用に計算されたGMOおよびLMOを有利に使用して、パンまたはズーム操作がカメラに適用されたかどうかを推定することができる。本明細書では、パンは、カメラが水平または垂直のあるいはその両方の、異なる方向に向くようになされたカメラの動きを指すために用いられ、ズームは、カメラのレンズの焦点距離が変更されてカメラによって異なる視界が見られるようになされることを指すために用いられる。
【0014】
動きオフセット誤差の予測をLMOおよびGMOを使用して有用に行うことができる。こうした誤差の1つは「自動追跡」である。これは、たとえばカメラで可視の実質的にシーン全体で移動物体が捉えられた場合に起こる。たとえば、カメラが道路シーンに向けられており、非常に大きい貨物自動車がカメラの近くを通過した場合、カメラによって記録される画像の大部分は貨物自動車に占められるであろう。誤差補正が全く無い場合、これは、突然パンが行われた印象を与え、安定化ルーチンが誤って動きの追跡を試みることになるであろう。
【0015】
他のこうした誤差は、「静止カメラ検出」に関連する。GMOヒストリの分析が使用されて、カメラが移動しないときが予測される。この状態が検出されると、GMOベクトルがゼロに設定される。これがないと、小さいGMOの誤差が蓄積されて、誤った安定化が生じることになる。
【0016】
GMOベクトルは、GMOベクトルの計算及び処理が実行された後に現在の画像に適用すべきベクトルを表す最終安定化オフセット(SO)に変換されることが好ましい。この変換は、動きオフセット誤差およびパン並びにズーム操作の推定を考慮に入れることが好ましい。この変換は、前の画像に適用されたSOの影響を低減する傾向がある減衰係数を含むことが好ましい。これは、こうしたオフセットについての要求がなくなっても、画像に適用されたオフセットが残るように、それぞれSOベクトルが蓄積される傾向があるために有用である。
【0017】
本発明により処理されたビデオ信号は、ビデオ画像のエッジが、テレビジョンの画面など表示装置の表示領域のエッジと整列しないことがある。これは、画像が、検出された動きオフセットによって表示デバイスに対してシフトされた結果である。急速に位置が変わるこうしたエッジは、画像のエッジと表示装置の表示領域との間の境界領域の追加によって視界から隠された状態に保たれることが好ましい。より好ましくは、表示領域に対する画像の変位によって、境界のサイズが変更されるようになされる。これは、前の画像並びに現在表示されている画像の変位を考慮することができる。
【0018】
あるいは、画像のシフトによって生じた表示すべき画像の周囲の空白領域を前の画像からの画像情報で補うことができる。こうすると、人工境界を持たない全画像を表示装置に提示することができる。
【0019】
さらなる別法として、表示すべき画像のサイズを拡張して、空白領域を全て充填することができる。これは、知られたアルゴリズムを使用して画像をスケーリングすることによって行うことができる。
【0020】
システムへの1つまたは複数のビデオ信号入力は、カメラから直接行われ、またはビデオレコーダもしくはコンピュータシステムのディジタル画像記憶装置、あるいはこうしたソースの組合せなど幾つかの他の手段から行うことができることを留意されたい。
【0021】
本発明は、汎用マイクロプロセッサを組み込んだもの、およびディジタル信号プロセッサ装置を組み込んだものを含む、コンピュータシステムで実装することができる。コンピュータを、本発明による画像安定化システムを実行するようにプログラミングすることができる。
【0022】
次に本発明を単に一例として以下の図を参照してより詳細に説明する。
【発明を実施するための最良の形態】
【0023】
図1は、本発明の実施に使用することができる典型的なハードウェア構成を示す。この例では、ビデオ信号はマウント2上に取り付けられたビデオカメラ1によって生成される。カメラは風による揺れを受け、風が十分に強い場合は、それによってカメラが矢印3で示したようにマウント上で揺れる。カメラはビデオ信号を安定化システム4に提供し、その出力は本明細書で記載したように処理されたビデオ信号であり、次いでそれが適したディスプレイ5上に表示され、または適した媒体に記録される。本発明は、ディジタルと適したディジタル化を有するアナログの両方の多くの異なるビデオ信号フォーマットに適用することができ、本実施形態はPALおよびNTSC信号を処理するように設定される。
【0024】
安定化システム4は、信号の処理を実行して、カメラ画像の不安定さを全て低減することを試みる。システム4は、入ってくるアナログビデオ信号をディジタル化するアナログ/ディジタル変換器(ADC)6を備える。次いで、ディジタル信号は信号プロセッサ7に送られる。このプロセッサ7は、データストリームが到来すると複雑な計算および操作を実行し、ディスプレイユニット5で再生する準備ができているディジタル/アナログ変換器8によってアナログ信号に変換される出力信号を提供することができる。プロセッサ7は、カメラからの現在の画像n並びに前の2つの画像(n−1)、(n−2)を格納することができるディジタルフレームメモリ10に接続される。これらは、処理の際に使用される。プロセッサ7は、汎用ディジタルメモリ9にも接続される。このメモリ9は、本発明を実施するプログラムを保持する他に、本発明の動作とともに生成されるデータのための汎用記憶域として使用される。
【0025】
ADC6は、解像度720×288(PAL用)または720×240(NTSC用)の到来信号をディジタル化するが、画像の中央部分だけが処理アルゴリズムへの入力として使用され、画像の外側部分は、カメラの動きのために2つの連続する画像に存在しないシーンの部分を提示しうる。また、幾つかのカメラタイプは、画像領域の境界に非アクティブ画素を含む。本実施形態で使用されるアクティブ領域は、解像度576×256(PAL用)または576×224(NTSC用)を有する。当然、処理の結果はディジタル化された画像全体に適用される。
【0026】
図2は、本発明の一実施形態の動作のトップレベルのデータ流れ図である。この図では、少なくとも2つの画像が以前に捕捉され、現在の画像nがフレームメモリ10に配置されていることが想定されている。これは、最初にシステムのスイッチが入れられたときは別として、全ての場合に当てはまる。
【0027】
画像nに関する処理は以下の通りである。画像n100、(n−1)101、および(n−2)102がモジュール104に示され、モジュール104で画像n並びにマスク画像についてGMOおよびLMOが計算される。こうしたオフセットおよびマスクがどのように計算されるかの詳細を後に記載する。画像は、LMOの計算のために6×8(PAL入力用)または6×7(NTSC用)の領域に分割されるが、当然異なる数の領域を使用することもできる。本明細書では、マスクはローカル動きマスク(LMM)と呼ばれ、その主な仕事はローカルな動きが検出された画像の領域をマスクすることであることを留意されたい。しかし、異常領域または画素を含むようにマスクを設定することもできる。マスクは、検出された任意のローカル動きおよび異常領域から得られる複合マスクでもよいが、これもやはりLMMと呼ばれる。
【0028】
GMO、LMO、およびマスクの計算に従って、本発明のこの実施形態で、これらの値および前の値を分析して動きオフセット誤差について検査する。これは、モジュール105で行われ、「誤差補正」オフセットGMOEC(n)およびLMOsEC(n)を生成する。このデータを使用して、自動追跡誤差および静止カメラ誤差を検出する。これがどのように行われるかの詳細は、以下で図7に関して記載される。
【0029】
次いで本実施形態で、モジュール105で修正されたGMOEC(n)およびLMOsEC(n)を調査して、望ましいカメラの動き、すなわちパンおよびズームを検出し、それを補償する。この検出により、「カメラ状態」値が生成され、次いでそれを使用して、計算されたオフセットを画像nにどのように適用するかを調整する。検出は、カメラモデルモジュール106で行われる。パンおよびズーム状態がどのように検出されるかの詳細は、図8を参照して以下に提供される。
【0030】
モジュール106の状態出力およびモジュール105で計算されたGMOEC(n)値を次に使用して、画像nに適用すべき最終安定化オフセットを計算する。これは、モジュール107で行われ、出力オフセットSO(n)が生成される。このオフセットは、ディスプレイルーチンモジュール108に渡され、モジュール108でSO(n)の値によって画像nをシフトし、以下に記載するように最初に任意の境界が適用された後に、この画像を表す信号が表示装置または記録媒体に送信される。
【0031】
図3は、本実施形態で使用されるように、各画像nについてGMO、LMO、およびLMMを生成するプロセスをより詳細に示す。画像n、(n−1)、および(n−2)、100,101、102が、モジュール104に与えられる。画像nと(n−1)、および前の繰返しで画像(n−1)を使用して計算されたLMMが使用されて、図4を参照して本細書明で後に記載する知られたアルゴリズムに基づいて、ステップ109でGMOが推定される。画像(n)および(n−2)もステップ110で使用されて、画像nについてのLMOが推定される。このため、画像nは、6×8アレイ(PAL用)の部分画像、またはローカル画像に分割され、それぞれについてLMOが推定される。最後から2番目の画像(n−2)は、この画像と現在の画像の差が最後の画像が使用される場合にその差よりも大きくなる傾向があるために比較で使用され、ローカル部分画像内の動きの検出がより良好になる。ローカル動きはグローバル動きよりも小さい傾向があることが判明しているからである。各LMOの計算に使用されるアルゴリズムは、GMOの計算に使用されるものと全く同様であり、後に図5を参照してより詳細に記載される。
【0032】
画像nについて生成された(LMO(n)で表された)LMOは、画像nについてのGMO(GMO(n))と共に使用されて、マスクを生成する。マスクはモジュール111で生成される。このマスクは、GMO(n+1)の推定で使用され、画像nの各画素に関する1ビットの情報を有する。このビットが0の場合、画像(n+1)の対応する画素はGMO(n+1)の計算に使用されない。このビットが1の場合、画像(n+1)の対応する画素はGMO(n+1)の計算に使用される。マスクは、使用されるまでメモリ112に格納される。マスクは、そうでなければ計算されたGMO値を歪ませてしまうローカル動きが検出された画像の領域をマスクするために使用され、異常領域をマスクするためにも使用される。画像のノイズレベルの推定114が実行され、後で使用するために112で格納される。マスクの生成およびノイズの推定のさらなる詳細を後に図6を参照して提供する。
【0033】
図4は、GMOを生成する際にモジュール109で行われるステップをより詳細に示す。このモジュールへの入力は、現在の画像n100と前の画像(n−1)101、前に計算されたLMM113、およびノイズレベル推定値114である。この手順には3つの主なステップがある。
【0034】
第1に、入力画像およびLMMはモジュール115でサブサンプリングされて、そのサイズが縮小されるため、動作の速度およびノイズに対する回復力が上がる。
【0035】
第2に、サブサンプリングされた画像に基づいて、モジュール116でGMOの主な計算が行われる。
【0036】
第3に、モジュール117でサブサンプリングを考慮して計算されたGMOを補正する。
【0037】
画像のサブサンプリングはバイリニア補間プロセスを使用して行われるが、これは当業者に知られているため、本明細書ではさらに記載しない。このさらなる詳細は、Sonka、Hlavac、およびBoyle、「Image Processing and Machine Vision」、第2版、1998年、(PWS)Brooks/Cole Publishingで見ることができる。本実施形態では、サブサンプリングして、解像度を垂直寸法で4分の1、かつ水平寸法で8分の1に減らす。これによって、十分な結果がもたらされ、かつ計算時間が有用に短縮されることが判明している。サブサンプリングの他の利益には、サブサンプリングによって画像が効果的に低域通過フィルタリングされるため、GMOの計算が極小値と混同される可能性が低くなると共に、画像でノイズを受けにくくなることが含まれる。
【0038】
GMO値の計算には、サブサンプリングされたときに、画像nと画像(n−1)の位置ずれを最小限に抑えるように、画像nに適用する必要がある平行移動の計算が含まれる。この位置ずれの測定は、誤差値Eを生成するための、(本明細書でInおよびIn−1として表した)画像nと(n−1)の間の画素ごとの強度差の合計でなされる。
【0039】
手順では、この誤差値の2乗を最小にする試みがなされる。したがって、
【数1】
ただし、In(x,y)は画像n内の点x,yを表し、f(x,y)およびg(x,y)はそれぞれ画像nの画像座標を画像(n−1)の画像座標に変換する座標xとy(すなわち各画素の位置)の変換である。Eqn1のテイラー展開により、都合よく分析される方程式がもたらされ、変換関数fおよびgのパラメータに関してこれを微分し、これらを0に設定することによって、得られる方程式を解いて変換またはGMOに対する最新の更新を明らかにすることができる。本発明は、GMO計算を行う前に画像を前処理してより正確な結果をもたらすことを留意されたい。この前処理は、画素ごとに(サブサンプリングした)画像に(同様にサブサンプリングした)マスクを掛けるものであり、画像nのアクティブ領域を効果的に減少させ、これは、正確さを向上し、計算をより単純にする効果を有する。
【0040】
誤差方程式Eqn1のテイラー級数の近似を使用して、近似誤差を導入し、本実施形態では1次項だけを使用する。これは、誤差関数の極小値を見つけることによって、不正確なGMOを提供するプロセスになる可能性がある。近似値の効果を低減するために、上記のGMOを計算するプロセスを繰り返す。0.0の最初の動き推定200が使用され、繰返しごとに更新される。各繰返しで、変換パラメータの最新推定201(すなわち計算される現在のGMOの最新値)によって、現在の画像nの更新、ワープ、またはシフトされたバージョンが使用される。
【0041】
GMOの計算では、本実施形態は、正確さを向上し、シーンを通して移動する物体によって生じる誤差を軽減する助けをするアニーリングプロセスも使用する。アニーリングプロセスで、所与の画素を現在のGMO計算の繰返しに使用すべきであるかどうかを決定する。これは、画像(n−1)の各画素と、計算されたGMOの現在の値によってワープ、またはシフトされた画像nの対応する画素との絶対差を調べることによって行われる。この差が閾値よりも大きい場合は、次の繰返しで使用されない。ノイズレベル推定114は、閾値の計算に使用される。このプロセスでは、ワープされても整列しない画素が除外され、その理由が、画像の異常またはシーンを通る物体の動きによる可能性が高いからである。プロセスの繰返しによって画像がさらに位置合せされ、選択される閾値が低下されるに従って、画像のより多くの画素が整列して、差の絶対値が小さくなる。このプロセスで、ロバストな統計的推定の形が実施される。他のこうしたロバストな統計的推定方法も知られており、本発明に適用可能である。
【0042】
本実施形態では、位置合せの向上をもたらす画像nの平行移動だけを計算する。したがってこの場合、f(x,y)=x+Δx、かつg(x,y)=y+Δyである。回転および縮尺誤差は、現在考慮されていないが、本発明は適切な適合性があり、回転またはスケーリングによって不安定になりやすいソースから得られるビデオ信号を安定させるために等しく適用することができる。この適合は、平行移動、回転、およびスケールパラメータに関する関数f(x,y)およびg(x,y)を示すものであり、したがって
f(x,y)=Δx+bx−cy、かつg(x,y))=Δy+cx+byである。
ただし、スケーリングファクタ=(b2+c2)1/2、かつ回転度数=tan−1(c/b)である。これらの方程式は次いで上記に記載したものと同様に解かれる。GMOの計算の上記その他の態様に関するさらなる情報は、Kent,P、「Multiresolution Image Registration」lEE Colloquium on Multiresolution Modelling and Analysis in Image Processing and Computer Vision,1995年、およびKent,P、「Multiresolution Image Registration and Mosaicing」Journal of Defence Science、Vol.1、No.2で見ることができ、この両方の内容を参照により本明細書に組み込む。これらの参照文献には、複数の解像技法が詳細に記載されており、比較的低い解像度で計算されたGMO値が、画像の解像度を上げたバージョンで行われる後続のGMO計算に適用されることを留意されたい。必要に応じてこれを繰り返して、求められる正確さを得ることができる。この実施形態では、単一の解像度で行われた計算で良好な結果が得られることが判明しているが、必要に応じて複数の解像度を使用するように構成することができる。GMOおよびLMOを計算する他の方法も存在し、本発明に適用可能である。
【0043】
上記で計算されたGMOの推定に続いて、画像の解像における変更を考慮するために、117で、得られた値にサブサンプリングで使用される同じ係数を掛ける。本実施形態は、GMOおよびLMOの計算だけに画像nのサブサンプリングされたバージョンを使用することを留意されたい。他の動作は全て画像の元の解像度で画像上に作用する。
【0044】
図5は、各画像nについて1組のLMOを計算するのに使用されるプロセスをより詳細に示す。このプロセスは、上記のGMOを計算するのに使用されたバージョンを単純化したバージョンに基づく。画像nは、やはり前と同様にサブサンプリングされ、作業負荷および画像ノイズが低減される。この後、サブサンプリングされた画像がモジュール120で、それぞれサイズ12×8画素の6×8部分画像ブロック(PAL用)に分割される。各部分画像ブロックは、マスキングもアニーリング機能もないGMO推定ルーチンの単純化バージョン121に渡される。計算は最初の動き推定202を使用して前と同様に繰り返し行われ、これは、数203で示したように各パスで更新される。マスキングおよびアニーリング機能は、各部分画像が小さいサイズで処理されるために必要とされない。次いでモジュール122で、処理で使用された画像の低減された解像度を考慮するために、モジュール121で生成されたベクトルにサブサンプリングで使用されたのと同じ係数が掛けられる。次いで、画像nおよび画像(n−1)についてのGMOの現在の値が、計算されたLMO値から差し引かれる。これによって、LMO値がカメラの動きによって変造されないことが保証される。得られたLMO123は、nの各部分画像と(n−2)の対応する部分画像の間の最良の一致を得るために必要な水平および垂直のシフトを保持するベクトルである。
【0045】
図6は、マスクを生成するプロセスをより詳細に示す。このマスクは、上記のように、ローカルな動きの影響と異常に振舞う画素の両方に関係する画素を関連する計算から除外するために使用される。部分画像が所与の閾値よりも大きいLMOを有する場合、適したマスクビットを0に設定することによって、部分画像全体に相当する領域がマスクされる。このマスクはLMMであり、モジュール125で計算される。この実施形態では、LMMは、異常画素の振舞いが検出された画像nの領域に対応するマスキングを含む。
【0046】
異常画素は、以下のように発見される。現在のGMOによってシフトされた画像nと画像(n−1)の絶対差、すなわちIdiff(n)=I(n)−1(n−1)を示す画像が124で生成される。上記で導出された動きの影響によるLMMマスクの一部も使用されて、かなり大きいローカル動きが検出されなかった場合、Idiff(n)がこうした部分画像だけを含むようになされる。
【0047】
得られた差画像の強度レベルが、次いでモジュール126で調べられる。これは、先ずIdiff(n)の画素強度の分散を発生することによって行われる。次いでこの範囲の最低十分位数として5を掛けた閾値が設定され、この係数は、動きの異常に対する妥当な程度のロバスト性を与えるために経験的に選択されたものである。この強度を超える画素は全て異常とみなされ、LMMの対応するビットがモジュール127でゼロに設計されて、図3で示したように、関連操作から除外される。この異常画素閾値は、GMOの計算で使用されるノイズレベル推定114として使用される。
【0048】
図7は、モジュール105の動きオフセット誤差補正を示すデータ流れ図である。この目的で、モジュール105は、現在の118および前の画像128からGMOベクトルへ、かつシステムメモリに格納された現在の画像からLMOベクトルのセット123へのアクセス権を有する。モジュール105で、先ず自動追跡推定129が行われて、非常に大きい動く物体によって生じたGMOの歪みについて検査される。これは、事前にメモリに格納された、GMO(n)、LMOs(n)、およびGMO(n−1)からGMO(n−25)(PAL用)まで、またはGMO(n−30)(NTSC用)までを使用して行われる。
【0049】
自動追跡は、以下の場合に行われたと考えられる。
i.GMO(n−1)からGMO(n−25)まで(または必要に応じてGMO(n−30)まで)が全て所与の閾値(距離で5.0画素が現在使用されている)未満である。
ii.GMO(n)が所与の閾値より大きい。
iii.LMOs(n)の50%より多くが所与の閾値(距離で4.0画素が現在使用されている)よりも大きい。
【0050】
本実施形態は、GMOおよびLMOベクトルの水平成分だけを調べているが、当然、どちらか一方または両方の成分を使用することができる。自動追跡が行われたと考えられる場合、GMO(n)およびLMOs(n)の水平成分がゼロに設定される。これは、シーケンスのこの特定の画像について、この軸に関する安定効果を全て停止する効果がある。しかし、垂直軸ではなお安定化をもたらすことができる。
【0051】
モジュール105も、現在のGMOおよびGMOの最近のヒストリを分析して、カメラが実際に静止していたかどうかを130で推定する。モジュール130は、GMO(n)からGMO(n−49)(PAL信号用)に等しい約1秒間に値するGMOを調べることによってこれを行う。調べられたGMO全てが、通常、水平軸と垂直軸の両方に対して1画素に設定された閾値未満の場合、カメラは静止していると考えられる。代替方法では、調べられたGMOの分散が計算され、同様に閾値が設定される。分散が、現在1.5画素に設定されている閾値未満の場合、1秒間に値するGMOも上記のように閾値未満の場合、カメラは静止していると考えられる。静止状態が検出されると、GMO(n)の現在の水平および垂直成分がゼロに設定され、その画像の安定化が全て効果的に無効にされる。
【0052】
モジュール105からの誤差補正オフセットはGMOEC130およびLMOsEC131であると考えられる。
【0053】
図8は、カメラ状態138、すなわちパンまたはズーム操作が行われたかどうかを検出する動作をより詳細に示す。パンの検出では、2つのGMOECの合計の間の差が133で計算される。1つは、GMOEC(1)からGMOEC(n)までのGMOsEC(n)の合計134(すなわちシステムのスイッチがオンになってからのGMOEC値の蓄積)である。他の135は、合計前に高域フィルタを通過した同じオフセットを使用する。使用されたフィルタは、遮断周波数0.5Hzの2次ベッセルフィルタであるが、当業者は適した多数のフィルタ特性があることを思いつくであろう。このフィルタ特性の計算のさらなる詳細は、Rabiner,L.R.およびB.Gold、「Theory and Application of Digital Signal Processing」、Prentice Hall、1975年、頁228〜230で見ることができる。こうした合計の差の間が十分に大きいことは、パンの典型的な低周波数グローバル動きが存在することを示す。上記のパンの検出は、GMOEC合計を低域通過フィルタリングすることによって得られるものと同様であるが、上記の方法は、高域通過フィルタリングされた値が他の処理で使用され、すでにシステムメモリに存在するように使用されることに留意されたい。したがって低域通過フィルタリングされた値の計算作業は省かれる。
【0054】
合計の間の差が閾値(この実施形態では50.0画素に設定されている)を超えると、パンが行われたと考えられる。この閾値が超えられるまで、パンの検出は非パン状態を示す。この閾値が超えられたときに初めて、パンの検出は可能なパン状態を示す。これが幾つかの連続する画像で起こった場合(この実施形態では30画像に設定されている)、パンの十分な証拠があり、パン検出はパン状態を示す。
【0055】
一旦パンの検出がパン状態を示すと、合計の間の差が閾値を超えなくなるまでパン状態が継続して示される。移行を平滑にするには、パン検出で非パン状態に戻る前に、幾つかの画像(この実施形態では30画像に設定されている)にわたって可能なパン状態が示される。
【0056】
ズーム操作の検出136では、画像の中心を中心とするローカル動きブロックのグループからのLMOsEC(n)132が検査される。典型的には、これは長方形の境界であり、ローカル動きブロックの格子のエッジの周囲の1ブロック深いところである。これは図9で示されている。この図では、画像nは大きい長方形11で示されている。内部部分12は、1組の6×8のローカル動きブロック、たとえば13に分割されて示されている。選択したブロックからのLMOsECが一般的に画像の中心に向かう動きを示すように見える場合は、ズームインが検出される。同様に、動きが画像の中心から一般的に遠ざかる場合は、ズームアウトが検出される。選択されたブロックは、画像nの内部部分12の境界上のブロック(たとえば14)である。長方形の右側および左側のブロックが調査されて、水平軸のある閾値よりも大きい動きを示したかどうかを見る。同様に、長方形の上下にあるブロックが調査されて、垂直軸のある閾値よりも大きい動きを示したかどうかを見る。したがって、角のブロックは水平と垂直の両方の分析に貢献することが分かるであろう。
【0057】
グループの各ブロックについて、動きオフセットの大きさが閾値と比較される。ブロックが所与の閾値よりも大きい大きさの動きオフセット成分を有する場合、そのブロックはかなり大きい動きを有すると考えられる。
【0058】
かなり大きい動きを有する各ブロックについて、画像の中心に対する移動方向を使用して、その動きがズームインまたはズームアウトのどちらを示すかを判断する。グループ内のブロック全てが調査されて、ズーム操作が進行中であるかどうか決定される。本実施形態では、以下の不等式が成立する場合にズームが行われたと考えられる。
【数2】
ただし、Nz(in)はズームインを示すグループ内のブロックの数であり、NZ(out)はズームアウトを示すグループ内のブロックの数であり、NBはグループ内のブロックの合計数である。当然、ズームの方向もNz(in)とNz(out)の比較によって分かる。
【0059】
不等式(Eqn2)は、実際2回計算される。5画素よりも大きい動きオフセット成分が発生するブロックだけを含むNZ(in)およびNz(out)についての値が先ず計算される。このとき不等式が成立した場合、「速いズーム」が行われたと考えられる。不等式が成立しない場合は、計算が繰り返され、このときNZ(in)およびNZ(out)には、1つ以上の画素の動きオフセット成分が発生するブロックが含まれる。次に不等式が成立した場合、「遅いズーム」が行われたと考えられる。ズームを速いまたは遅いズームに分類する理由は、それらを別に処理することによってより良好な安定が達成されることが判明したからである。2つの状態に対する処理の相違を以下に述べる。
【0060】
ズーム状態が連続する画像の数よりも多く検出された場合(本実施形態では速いズームに2つ、遅いズームに10)、ズームが行われた十分な証拠があり、ズーム検出はズーム状態を示す。
【0061】
一旦、ズーム検出が速いまたは遅いズーム状態を示すと、幾つかの連続する画像で(本実施形態では10)ズームが検出されなくなるまでズーム状態が連続して示される。移行を平滑にするために、ズーム検出は、非ズーム状態に戻る前に、幾つかの画像(本実施形態ではやはり10)にわたって可能なズーム状態を示す。
【0062】
所与の画像nについてパンとズームの両方が検出された場合、状態調停手順137が使用されて、どちらがより重要であるか判断される。この手順は、最高の優先権が一方に作用し、他方が無視されるように、各状態に優先権を割り当てることによって行われる。本実施形態で使用される順序を優先権が低下する順に表1で示す。
【表1】
【0063】
表1の状態6は、他の状態が観察されない場合は、省略値で選択されることを留意されたい。
【0064】
モジュール106によって予測されたカメラ状態138は、モジュール107に提供され(図2を参照)、ここで、画像nに適用すべき安定化オフセット(SO)が計算される。モジュール107への他の主な入力は、誤差補正GMOEC(n)131である。検出されたカメラ状態が使用されて、画像nに適用すべき最終オフセットSO(n)139が生成される。これは、表2で示したように行われる。
【表2】
【0065】
表2の減衰定数は、蓄積された画像オフセットが時間と共に減衰するのに使用される。これによって安定化の効果がわずかに低減されるが、可視画像の量が向上する。カメラの動きが検出されない場合、減衰オフセットは結果的に画像をその最初の開始位置に戻す。これは、カメラの揺れが止んでも計算されたオフセットがゼロに戻らない状況で特に有用である。
【0066】
また、(たとえば処理速度および画像処理能力を上げるためになされる)パンまたはズームの動きを検出し補正する能力を持たない本発明の実施形態が作成された場合、かつ実施形態がパンまたはズーム中のカメラと共に不注意に使用された場合でも、パンまたはズーム操作中に正確さがわずかに低減されるが、本発明はシステムが作動できるようにする。現在使用される急速減衰定数は0.735であり、使用される標準減衰定数は0.98である。
【0067】
表2で使用される高域通過フィルタ(HPF)動作は、上記のパン検出で行われたものと同じである。
【0068】
次に、上記で導出されたオフセットSO(n)139をカメラ状態138と共に画像nに適用して、ビデオ信号の安定化を実施する。これは、図10で示したように、2段階で行われる。第1の段階140で、画像nをベクトルSO(n)139に従ってシフトする。この画像のシフティングによって、データを持たない、したがって空白の画像領域の幾つかの境界が生じる。連続する画像の空白領域は様々なサイズであり、それによって画像シーケンスの急速に動くエッジが出力表示装置に提示されるときにフリッカ効果が生じる。したがって、表示プロセスの第2段階で、こうした空白領域を覆う「動的」境界141が生成される。
【0069】
動的境界は、安定化された画像シーケンスの急速に動くエッジを隠す。これは、シフトされた画像のエッジを覆う人工黒境界のオーバーレイによって行われる。これによって、可視画像のサイズが縮小されて、急速に動くエッジが隠される。境界は連続して調整されて、動くエッジを示さずに、画像をできるだけ多く示すようにする。カメラ状態、安定化オフセットSO(n)、およびSO値のヒストリを使用して、示される境界の大きさが決定される。パンまたはズームが行われ、または画像の動きが少しも無い場合、動的境界は、画像のエッジが示されるまで減衰する。典型的には、境界は、50個の画像のオフセットヒストリ期間内で検出された画像の最大可動域までの領域を覆う。
【0070】
境界の生成に使用されるオフセットヒストリは、カメラ状態によって各画像への入口を獲得する。
【0071】
速いズーム状態、パン状態、遅いズーム状態、可能なパン状態、または可能なズーム状態が検出された場合、画像nについてのオフセットヒストリの値はゼロに設定される。
【0072】
パンまたはズーム状態が検出されない場合は、画像nについてのオフセットヒストリの値はSO(n)に設定される。
【0073】
境界があまり急速に変化するのを防ぐため、境界は、各画像に対する変更率が制限される。垂直方向の最大変化は画像当たり5画素に制限され、水平方向の最大変化は、画像当たり10画素に制限される。こうした値は良好に作用することが判明しているが、他の値を使用することもできる。
【0074】
次いで、動的境界が適用され、シフトされた画像142がアナログ信号に変換されて、モニタで再生し、またはディスクもしくはテープに記録される。当然、ディジタル信号を任意の便利なフォーマットでコンピュータディスクに保管することもできる。
【0075】
図11は、実行中の境界生成を示す。a)では、不安定なプラットフォーム上に取り付けられたビデオカメラが向けられた場面が示されている。カメラは上下に揺れていると仮定する。カメラの視界は、細切れにされていない部分143である。大きい長方形は、数秒間シーン144上でカメラが動く間、常にカメラによって見られる比較的大きいシーン144を表す。分かるように、この画像について、カメラはシーン144の上部に向けられているため細切れの領域で表されたシーン145の下方部分が存在しない。
【0076】
本明細書で開示したように、画像安定化システムは、図11aがその1つである画像のシーケンスで示された場合、画像143を再生装置の表示領域の中心に向けて移動させる傾向があり、その上限および下限はこの図で破線151で示されている。これによって、シフトされた枠の上部に隙間が生じる。動的境界が生成された場合、安定化された画像の上部の境界はこの間隙を隠すために、少なくともこの動きと同じ大きさに作成される。
【0077】
図11b)は、短時間後にカメラによって記録された画像を表し、そのときカメラはカメラの揺れのために動いており、今は比較的大きいシーン144の底部146に向いている。このため、比較的大きいシーン144の上部147はこのフレームに記録されていない。やはり、安定化ルーチンは、破線151で示したように、この画像を表示領域の中心に移動させる傾向があり、これによって生じた間隙も動的境界が生成されたときに覆われる。安定化された画像の上部および下部に空白領域を生じさせる上記の機構の他に、1つの画像で見えるが他の画像では見えない比較的大きいシーン144の幾つかの領域がある。たとえば、図11aでは、木148の頂部を見ることができるが、地面を見ることができない。同様に図11bでは、地面149を見ることができるが、木の頂部を見ることができない。境界が単に空白領域を覆った場合、ある時にだけ見えるシーンによって生じるこれらの境界に隣接するフリッカ領域がまだ見える。上述の急速に変わるエッジがある。これらを隠すため、この領域を覆うように境界が拡張され、このサイズは、前の50個の画像で見られた画像の(安定化オフセットによって与えられる)最大可動域の検査によって決定される。
【0078】
図11cは、上記のように生成されて急速に動くエッジを覆うための、数151で示した表示領域内の境界150を有する、得られた安定画像を示す。
【0079】
代替実施形態は、動くエッジ問題に異なる方法で対処する。ここでは、カメラの動きによって画像内に空白領域が生成され、前の画像からの画像情報が使用されて空白領域が効果的にオーバーレイされる。これは、上記のようにオフセットによってシフトされた現在の画像を含むバッファ画像を生成することによって行われ、オフセットはバッファ内の前の1つまたは複数の画像上に書き込まれて、画像データが現在の画像に存在する部分だけに重ね書きし、現在の画像の空白領域に対応するバッファ内の部分はもとのままになされる。こうすると、バッファ画像が境界151によって与えられた表示領域よりも大きい画像になるが、現在の画像と前の画像の合成になる。バッファ画像は、比較的大きいシーン144のサイズになる。次いで、破線151で与えられた表示部の制限内に合うこのバッファ画像の一部を、表示または記録装置に出力し、それによってデッド領域または境界空間を表示する必要がないことが保証される。
【0080】
さらなる実施形態は、表示すべき画像のサイズを線形スケーリングによって拡張して、画像がそうでなければ空白になる部分を画像シフティングプロセスによって覆うようになされている。
【0081】
当業者には理解されるように、本発明の範囲内にある他の実施形態を思いつくことができ、したがって、本発明は本明細書に記載した実施形態に限定されるものではない。
【図面の簡単な説明】
【0082】
【図1】本発明を実施することができるハードウェアを示す図である。
【図2】本発明の一実施形態のトップレベルの操作を示すデータ流れ図である。
【図3】画像の動きオフセットおよびローカル動きマスクを推定するステップをより詳細に示す図である。
【図4】各画像nについてのGMOの計算をより詳細に示す図である。
【図5】各画像nについてのLMOの計算をより詳細に示す図である。
【図6】マスク画像を生成するプロセスをより詳細に示す図である。
【図7】GMOにおける動きオフセット誤差の補正に関するステップをより詳細に示す図である。
【図8】カメラのパンおよびズーム検出の動作をより詳細に示す図である。
【図9】ズーム動作の検出で画像nについてLMOの外部セットの使用を示す図である。
【図10】前に計算された情報を与えられた最終安定画像の生成に関するステップをより詳細に示す図である。
【図11a】安定画像上の動的境界の生成の効果を示す図である。
【図11b】安定画像上の動的境界の生成の効果を示す図である。
【図11c】安定画像上の動的境界の生成の効果を示す図である。
【特許請求の範囲】
【請求項1】
画像ソースからの複数の画像を表す1つまたは複数の信号を受信するように構成され、少なくとも画像(n−1)および画像(n−2)に後続する画像nについて、画像nと前の画像で画像化されたシーンの間の空間的分離を表す画像nと前の画像の間のグローバル動きオフセット(GMO)値を推定し、このGMOに基づいて画像nに補正の動きを適用するように構成された、カメラの動きを補正するビデオ画像安定化システムであって、
システムが、GMOの推定で考えられない、GMOの推定を誤らせる可能性が高いと推定される、画像nの1つまたは複数の領域を表すマスクを参照して、画像nについてのGMOを推定するように構成されることを特徴とする安定化システム。
【請求項2】
システムが、画像nの1つまたは複数のローカル領域および前の画像の対応するローカル領域を検査し、現在と前の画像の対応するローカル領域の同様の特徴の間の空間分離を表すローカル動きオフセット(LMO)を推定し、LMOまたは各LMOが所与の閾値よりも大きい場合は、この1つまたは複数のローカル領域に対応するマスクの1つまたは複数の領域がGMO推定からの省略を示すように設定するように構成される請求項1に記載の安定化システム。
【請求項3】
ローカル領域が長方形の領域のアレイを含む請求項2に記載の安定化システム。
【請求項4】
システムが、画像nを表すが画像nよりも低い空間分解能を有する画像のGMOを推定するように構成される請求項1から3のいずれか一項に記載の安定化システム。
【請求項5】
システムが、それぞれ画像nを表す複数の画像のGMOの推定を繰返すように構成され、複数の画像のそれぞれが異なる空間解像度を有する請求項4に記載の安定化システム。
【請求項6】
システムが、静止カメラ状態が検出された場合にGMOを調整するように構成され、この状態が、現在のGMOを含み全て所与の閾値未満である複数の連続したGMOによって示される請求項1から5のいずれか一項に記載の安定化システム。
【請求項7】
システムが、画像ソースの視方向(パン)または視界(ズーム)の意図的調整が検出された場合に、GMOを調整するように構成される請求項2から6のいずれか一項に記載の安定化システム。
【請求項8】
システムが、故意でないカメラの動きから予測される遮断周波数よりも低い遮断周波数で少なくとも前の画像のシーケンスからの低域通過フィルタリングされたGMO値によって、画像ソースのパンを検出するように構成される請求項7に記載の安定化システム。
【請求項9】
画像nについて検査したLMOの数xが全て画像nの中心領域に向かう移動方向を示すか、または全てが画像nの中心領域から離れる移動方向を示し、数xが所与の閾値よりも大きい場合には、ズームが検出される請求項7または8に記載の安定化システム。
【請求項10】
閾値が、検査されたそれらのLMOの50%であり、数xが画像nの中心領域に向かう移動方向を示す検査されたそれらのLMOの数と画像nの中心領域から離れる移動方向を示す検査されたそれらLMOの数の絶対差に比例する請求項9に記載の安定化システム。
【請求項11】
検査されたLMOが画像nのエッジに実質的に隣接するそれらのローカル領域から得られる請求項9または10に記載の安定化システム。
【請求項12】
システムが、画像nの少なくとも1つのエッジ上に境界を生成するように構成され、境界が画像nのエッジと画像nが表示される表示領域の対応するエッジとの間の空白空間を全て覆うように、境界のサイズが調整可能である請求項1から11のいずれか一項に記載の安定化システム。
【請求項13】
システムが、画像nの少なくとも1つのエッジ上で境界のサイズを調整して、境界が1つまたは複数の前の画像に存在する空白空間に対応する画像n上の領域も覆うように構成される請求項12に記載の安定化システム。
【請求項14】
システムによって生成された境界が1つまたは複数の前の画像からの画像データを含む請求項12に記載の安定化システム。
【請求項15】
システムが、画像nをスケーリングして、画像nが画像nのエッジと画像nが表示される表示領域の対応するエッジとの間の空白空間を全て覆うように構成される請求項1から11のいずれか一項に記載の安定化システム。
【請求項16】
画像nの異常画素は、それらがGMOの推定から除外されるようにマスクの対応する画素を設定するために使用される請求項1から15のいずれか一項に記載の安定化システム。
【請求項17】
画像nと前の画像mの絶対差を含み、画像nとmの両方に補正の動きが適用された画像の閾値を超える画素が異常であるとみなされる請求項16に記載の安定化システム。
【請求項18】
システムが、画像nをシフトする前に、任意の他の操作で調整されたように計算されたGMOに、0と1の間にある減衰定数係数を掛けるように構成される請求項1から17のいずれか一項に記載の安定化システム。
【請求項19】
現在と前の画像の両方が電気信号によって表されるビデオ画像のシーケンスの一部であり、
i.現在の画像で画像化されたシーンと前の画像で画像化されたシーンの間の空間的分離を表す現在と前の画像の間のグローバル動きオフセット(GMO)を推定するステップと、
ii.このGMOに基づいて現在の画像に補正の動きを適用するステップとを含む、
少なくとも1つの前の画像に対して現在の画像を安定化させる方法であって、
マスク画像がGMOの推定に使用され、マスク画像はGMOの推定で考慮されない現在の画像の1つまたは複数の領域を表し、その1つまたは複数の領域はGMOの推定を誤り導く可能性が高いと推定される1つまたは複数の領域であることを特徴とする方法。
【請求項20】
現在の画像の1つまたは複数のローカル領域および前の画像の対応するローカル領域を調査し、現在と前の画像の対応するローカル領域の同様の特徴の間の空間的分離を表すローカル動きオフセット(LMO)を推定し、LMOまたは各LMOが所与の閾値より大きい場合はこの1つまたは複数のローカル領域に対応するマスクの1つまたは複数の領域をGMO推定からの省略を示すように設定するステップをさらに含む請求項19に記載の方法。
【請求項21】
コンピュータ上で稼動するように設計され、ビデオ画像安定化システムを実行するように構成されたコンピュータプログラムであって、システムが、入力として画像ソースからの複数の画像を表すディジタル信号を受信するように構成され、少なくとも画像(n−1)および画像(n−2)に後続する画像nについて、システムが、画像nと前の画像で画像化されたシーンの間の空間的分離を表す画像nと前の画像の間のグローバル動きオフセット(GMO)値を推定し、このGMOに基づいて画像nに補正の動きを適用するように構成され、
システムが、GMO推定で考慮されない画像nの1つまたは複数の領域を表すマスクを参照して、画像nについてのGMOを推定するように構成され、その1つまたは複数の領域はGMOの推定を誤らせる可能性が高いと推定される1つまたは複数の領域であることを特徴とするコンピュータプログラム。
【請求項1】
画像ソースからの複数の画像を表す1つまたは複数の信号を受信するように構成され、少なくとも画像(n−1)および画像(n−2)に後続する画像nについて、画像nと前の画像で画像化されたシーンの間の空間的分離を表す画像nと前の画像の間のグローバル動きオフセット(GMO)値を推定し、このGMOに基づいて画像nに補正の動きを適用するように構成された、カメラの動きを補正するビデオ画像安定化システムであって、
システムが、GMOの推定で考えられない、GMOの推定を誤らせる可能性が高いと推定される、画像nの1つまたは複数の領域を表すマスクを参照して、画像nについてのGMOを推定するように構成されることを特徴とする安定化システム。
【請求項2】
システムが、画像nの1つまたは複数のローカル領域および前の画像の対応するローカル領域を検査し、現在と前の画像の対応するローカル領域の同様の特徴の間の空間分離を表すローカル動きオフセット(LMO)を推定し、LMOまたは各LMOが所与の閾値よりも大きい場合は、この1つまたは複数のローカル領域に対応するマスクの1つまたは複数の領域がGMO推定からの省略を示すように設定するように構成される請求項1に記載の安定化システム。
【請求項3】
ローカル領域が長方形の領域のアレイを含む請求項2に記載の安定化システム。
【請求項4】
システムが、画像nを表すが画像nよりも低い空間分解能を有する画像のGMOを推定するように構成される請求項1から3のいずれか一項に記載の安定化システム。
【請求項5】
システムが、それぞれ画像nを表す複数の画像のGMOの推定を繰返すように構成され、複数の画像のそれぞれが異なる空間解像度を有する請求項4に記載の安定化システム。
【請求項6】
システムが、静止カメラ状態が検出された場合にGMOを調整するように構成され、この状態が、現在のGMOを含み全て所与の閾値未満である複数の連続したGMOによって示される請求項1から5のいずれか一項に記載の安定化システム。
【請求項7】
システムが、画像ソースの視方向(パン)または視界(ズーム)の意図的調整が検出された場合に、GMOを調整するように構成される請求項2から6のいずれか一項に記載の安定化システム。
【請求項8】
システムが、故意でないカメラの動きから予測される遮断周波数よりも低い遮断周波数で少なくとも前の画像のシーケンスからの低域通過フィルタリングされたGMO値によって、画像ソースのパンを検出するように構成される請求項7に記載の安定化システム。
【請求項9】
画像nについて検査したLMOの数xが全て画像nの中心領域に向かう移動方向を示すか、または全てが画像nの中心領域から離れる移動方向を示し、数xが所与の閾値よりも大きい場合には、ズームが検出される請求項7または8に記載の安定化システム。
【請求項10】
閾値が、検査されたそれらのLMOの50%であり、数xが画像nの中心領域に向かう移動方向を示す検査されたそれらのLMOの数と画像nの中心領域から離れる移動方向を示す検査されたそれらLMOの数の絶対差に比例する請求項9に記載の安定化システム。
【請求項11】
検査されたLMOが画像nのエッジに実質的に隣接するそれらのローカル領域から得られる請求項9または10に記載の安定化システム。
【請求項12】
システムが、画像nの少なくとも1つのエッジ上に境界を生成するように構成され、境界が画像nのエッジと画像nが表示される表示領域の対応するエッジとの間の空白空間を全て覆うように、境界のサイズが調整可能である請求項1から11のいずれか一項に記載の安定化システム。
【請求項13】
システムが、画像nの少なくとも1つのエッジ上で境界のサイズを調整して、境界が1つまたは複数の前の画像に存在する空白空間に対応する画像n上の領域も覆うように構成される請求項12に記載の安定化システム。
【請求項14】
システムによって生成された境界が1つまたは複数の前の画像からの画像データを含む請求項12に記載の安定化システム。
【請求項15】
システムが、画像nをスケーリングして、画像nが画像nのエッジと画像nが表示される表示領域の対応するエッジとの間の空白空間を全て覆うように構成される請求項1から11のいずれか一項に記載の安定化システム。
【請求項16】
画像nの異常画素は、それらがGMOの推定から除外されるようにマスクの対応する画素を設定するために使用される請求項1から15のいずれか一項に記載の安定化システム。
【請求項17】
画像nと前の画像mの絶対差を含み、画像nとmの両方に補正の動きが適用された画像の閾値を超える画素が異常であるとみなされる請求項16に記載の安定化システム。
【請求項18】
システムが、画像nをシフトする前に、任意の他の操作で調整されたように計算されたGMOに、0と1の間にある減衰定数係数を掛けるように構成される請求項1から17のいずれか一項に記載の安定化システム。
【請求項19】
現在と前の画像の両方が電気信号によって表されるビデオ画像のシーケンスの一部であり、
i.現在の画像で画像化されたシーンと前の画像で画像化されたシーンの間の空間的分離を表す現在と前の画像の間のグローバル動きオフセット(GMO)を推定するステップと、
ii.このGMOに基づいて現在の画像に補正の動きを適用するステップとを含む、
少なくとも1つの前の画像に対して現在の画像を安定化させる方法であって、
マスク画像がGMOの推定に使用され、マスク画像はGMOの推定で考慮されない現在の画像の1つまたは複数の領域を表し、その1つまたは複数の領域はGMOの推定を誤り導く可能性が高いと推定される1つまたは複数の領域であることを特徴とする方法。
【請求項20】
現在の画像の1つまたは複数のローカル領域および前の画像の対応するローカル領域を調査し、現在と前の画像の対応するローカル領域の同様の特徴の間の空間的分離を表すローカル動きオフセット(LMO)を推定し、LMOまたは各LMOが所与の閾値より大きい場合はこの1つまたは複数のローカル領域に対応するマスクの1つまたは複数の領域をGMO推定からの省略を示すように設定するステップをさらに含む請求項19に記載の方法。
【請求項21】
コンピュータ上で稼動するように設計され、ビデオ画像安定化システムを実行するように構成されたコンピュータプログラムであって、システムが、入力として画像ソースからの複数の画像を表すディジタル信号を受信するように構成され、少なくとも画像(n−1)および画像(n−2)に後続する画像nについて、システムが、画像nと前の画像で画像化されたシーンの間の空間的分離を表す画像nと前の画像の間のグローバル動きオフセット(GMO)値を推定し、このGMOに基づいて画像nに補正の動きを適用するように構成され、
システムが、GMO推定で考慮されない画像nの1つまたは複数の領域を表すマスクを参照して、画像nについてのGMOを推定するように構成され、その1つまたは複数の領域はGMOの推定を誤らせる可能性が高いと推定される1つまたは複数の領域であることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11a】
【図11b】
【図11c】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11a】
【図11b】
【図11c】
【公表番号】特表2006−510282(P2006−510282A)
【公表日】平成18年3月23日(2006.3.23)
【国際特許分類】
【出願番号】特願2004−559867(P2004−559867)
【出願日】平成15年12月4日(2003.12.4)
【国際出願番号】PCT/GB2003/005287
【国際公開番号】WO2004/056089
【国際公開日】平成16年7月1日(2004.7.1)
【出願人】(501352882)キネテイツク・リミテツド (93)
【Fターム(参考)】
【公表日】平成18年3月23日(2006.3.23)
【国際特許分類】
【出願日】平成15年12月4日(2003.12.4)
【国際出願番号】PCT/GB2003/005287
【国際公開番号】WO2004/056089
【国際公開日】平成16年7月1日(2004.7.1)
【出願人】(501352882)キネテイツク・リミテツド (93)
【Fターム(参考)】
[ Back to top ]