(57)【要約】【課題】適応的画像安定【解決手段】画像安定のための方法と装置とは、複数のフレームを含む入力画像シーケンスを撮り、各フレームに関するフレームレベルの動きベクトルを推定し、各フレームに関し、画像安定のために使用される動きベクトルを提供するため前記動きベクトルを適応的に統合する。フレームの参照画像の複写は、対応する適応的に統合された動きベクトルにより置き換えられる。ある実施形態では、画像補償のために使用されるため、画像センサの周辺領域が余白でパディングされる。別の実施形態では、水平成分と垂直成分とは独立して扱われる。さらに別の実施形態では、ＭＰＥＧ−４符号化器に関連づけられた動き推定回路要素はマクロブロックレベルのベクトルを計算するために使用され、ヒストグラムはそのフレームの対応するフレームレベルのベクトルを計算するために使用される。【選択図】図３
2007522772.tif 000002
【特許請求の範囲】
【請求項１】
複数の連続的なフレームを備える画像を安定させる方法であって、
複数の動きベクトルを推定し、各動きベクトルは前記フレームのうちの1つと対応している、
前記動きベクトルのそれぞれを先行するフレームに対応する動きベクトルと適応的に統合する、
前記適応的に統合された動きベクトルを用いてフレームを補償し前記画像を安定させる、
ことを備える方法。
【請求項２】
複数の動きベクトルのブロックを計算し、前記動きベクトルのブロックからそのような動きベクトルを判別することにより前記動きベクトルのそれぞれが推定される、請求項１に記載の方法。
【請求項３】
さらに対応する前記動きベクトルのブロックに基づいて水平ヒストグラムと垂直ヒストグラムとを計算し、そのようなヒストグラムに基づいてそのような動きベクトルを判別することにより前記動きベクトルのそれぞれが推定される、請求項２に記載の方法。
【請求項４】
前記画像は画像センサにより取り込まれたものであって、
前記方法は、さらに前記フレームを補償するために使用される余白Ｍを備える複数の画素で前記画像センサの周辺領域をパディングする、
請求項１に記載の方法。
【請求項５】
前記適応的統合は、前記適応的に統合された動きベクトルの１つが０と等しい場合、前記適応的に統合された動きベクトルの前記１つを、前記先行するフレームに対応する前記適応的に統合された動きベクトルと等しく設定することを備える、請求項１に記載の方法。
【請求項６】
前記適応的統合は、前記適応的に統合された動きベクトルの１つと前記先行するフレームに対応する前記適応的に統合された動きベクトルとの積が０未満である場合、前記適応的に統合された動きベクトルの１つを、前記先行するフレームに対応する前記適応的に統合された動きベクトルと前記適応的に統合された動きベクトルの前記１つとの和と等しく設定することを備える、請求項１に記載の方法。
【請求項７】
前記適応的統合は、前記適応的に統合された動きベクトルの１つと前記先行するフレームに対応する前記適応的に統合された動きベクトルとの和の絶対値が前記余白より大きい場合、前記適応的に統合された動きベクトルの１つを、前記先行するフレームに対応する前記適応的に統合された動きベクトルの符号を持つ前記余白に等しく設定する、請求項１に記載の方法。
【請求項８】
Ｖ（ｎ）を前記適応的に統合された動きベクトルの１つと、Ｍを前記余白と、Ｆ（ｎ−１）を前記先行するフレームに対応する前記適応的に統合された動きベクトルとおくとき、前記適応的統合は、｜ｖ（ｎ）＋Ｆ（ｎ−１）｜＜Ｍの場合、前記適応的に統合された動きベクトルのそれぞれであるＦ（ｎ）を［（１−Ｖ（ｎ）／Ｍ）×Ｆ（ｎ−１）］＋Ｖ（ｎ）に等しく設定する、請求項１に記載の方法。
【請求項９】
ｎ個のフレームを備える画像シーケンスの画像安定の方法であって、
画像センサからの各フレームを参照バッファに格納し、
前記ｎ個のフレームのそれぞれに関してフレームレベルの動きベクトルＶ（ｎ）を推定し、
Ｖ（ｎ）に基づいた前記ｎ個のフレームのそれぞれと先行するｎ−１個のフレームに対応する動きベクトルＦ（ｎ−１）に関する適応的に統合された動きベクトルＦ（ｎ）とを生成し、
必要であれば、前記参照バッファ内のｎ番目のフレームをＦ（ｎ）で置き換えることにより、前記ｎ個のフレームを映像シーケンスとしてレンダする、
方法。
【請求項１０】
前記適応的に統合された動きベクトルＦ（ｎ）を生成することは、以下の値を設定することを備える、請求項９に記載の方法。Ｖ（ｎ）＝０の場合、Ｆ（ｎ）＝Ｆ（ｎ−１）、Ｖ（ｎ）×Ｆ（ｎ−１）＜０の場合、Ｆ（ｎ）＝Ｖ（ｎ）＋Ｆ（ｎ−１）、｜Ｖ（ｎ）＋Ｆ（ｎ−１）｜≧Ｍの場合、Ｆ（ｎ）＝ｓｇｎ（Ｖ（ｎ））、｜Ｖ（ｎ）＋Ｆ（ｎ−１）｜＜Ｍの場合、Ｆ（ｎ）＝［（１−Ｖ（ｎ）／Ｍ）×Ｆ（ｎ−１）］＋Ｖ（ｎ）。ここで、Ｍは余白と等しい。
【請求項１１】
動きベクトルＦ（ｎ）、Ｖ（ｎ）、Ｆ（ｎ＋１）のおのおのの水平方向と垂直方向とが個別に計算される、請求項１０に記載の方法。
【請求項１２】
前記フレームレベルの動きベクトルＶ（ｎ）を推定することは、
各ｎ番目のフレームごとに複数の動きベクトルを生成し、各動きベクトルは前記フレームの一定の領域に対応しており、
各ｎ番目のフレームに対応する前記複数の動きベクトルのヒストグラムの水平成分と垂直成分とを生成し、
前記ヒストグラムに基づいて前記フレームレベルのベクトルＶ（ｎ）を計算する、
ことを備える、
請求項９に記載の方法。
【請求項１３】
前記画像センサの周辺領域を余白でパディングする、請求項９に記載の方法。
【請求項１４】
画像シーケンスを備える映像フレームを取り込むための画像センサと、
取り込まれたフレームに関連づけられた参照画像を格納するための、前記画像センサに連結されたバッファと、
前記バッファに連結され、フレームごとに動きベクトルを計算するよう作動する動き推定回路と、
前記動き推定回路に連結され、フレームごとに累加する動きベクトルを出力するため各フレームに関連づけられた前記動きベクトルを適応的に統合するよう作動する適応的統合回路と、
前記バッファと前記適応的統合回路とに連結され、前記画像シーケンスの安定させられた部分を複写するよう作動するレンダリング回路と、
を備える、映像を取り込むことのできる装置における使用のための画像安定装置。
【請求項１５】
前記動き推定回路はさらに、フレームごとに、複数のブロックレベルのベクトルを供給し、前記複数のブロックレベルのベクトルに基づいてフレームごとにフレームレベルのベクトルを推定するよう作動する回路を備える、請求項１４に記載の装置。
【請求項１６】
ＭＰＥＧ−４圧縮が使用される請求項１４に記載の装置。
【請求項１７】
動き補償における使用のため、前記画像センサの周辺領域が余白でパディングされる、請求項１４に記載の装置。
【請求項１８】
前記回路は、ヒストグラムを計算することにより、前記複数のブロックレベルのベクトルに基づいてフレームレベルのベクトルを推定するよう作動する、請求項１５に記載の装置。
【請求項１９】
前記ヒストグラムは水平成分と垂直成分とを備える、請求項１８に記載の装置。
【請求項２０】
前記適応的統合回路は、さらにＶ（ｎ）＝０の場合に、Ｆ（ｎ）＝Ｆ（ｎ−１）を計算するよう作動する、請求項１４に記載の装置。
【請求項２１】
前記適応的統合回路は、さらにＶ（ｎ）×Ｆ（ｎ）＜０の場合に、Ｆ（ｎ）＝Ｖ（ｎ）＋Ｆ（ｎ−１）を計算するよう作動する、請求項１４に記載の装置。
【請求項２２】
前記適応的統合回路は、さらに｜Ｖ（ｎ）＋Ｆ（ｎ−１）｜≧Ｍの場合に、Ｆ（ｎ）＝ｓｇｎ（Ｖ（ｎ））×Ｍを計算するよう作動する、請求項１４に記載の装置。
【請求項２３】
前記適応的統合回路は、さらに｜Ｖ（ｎ）＋Ｆ（ｎ−１）｜＜Ｍの場合に、Ｆ（ｎ）＝（１−Ｖ（ｎ）／Ｍ）×Ｆ（ｎ−１）＋Ｖ（ｎ）を計算するよう作動する、請求項１４に記載の装置。
【請求項２４】
画像シーケンスを備える複数のフレームにそれそれ対応する複数のフレームレベルの動きベクトルを推定するための手段と、
画像安定における使用のため対応する動きベクトルを供給するため、前記複数のフレームレベルの動きベクトルのそれぞれを適応的に統合するための手段と、
必要であれば、画像安定における使用のため前記対応する動きベクトルを用いて各フレームをレンダするための手段と、
を備える画像安定回路。
【請求項２５】
前記推定手段はさらに、
フレームを共通して備える対応する複数のブロックに関連づけられた複数の動きベクトルを計算するための手段と、
前記フレームを共通して備える前記対応する複数のブロックに関連づけられた前記動きベクトルに基づいて前記フレームレベルの動きベクトルを算出するための手段と、
を備える、
請求項２４に記載の回路。
【請求項２６】
前記算出手段はさらに、前記フレームを共通して備える前記対応する複数のブロックに関連づけられた前記動きベクトルから計算されたヒストグラムに基づいて前記フレームレベルのベクトルを算出することを備える、請求項２５に記載の回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は映像技術に関し、より詳細には、映像画像の安定に関する。
【背景技術】
【０００２】
カメラやビデオ技術を携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）及び他の手で持つ（ｈａｎｄｈｅｌｄ）装置へ統合することは今日のコンシューマ電子機器市場における主流となった。これらの手で持つ装置への画像処理回路の追加に対するこの現在の能力は、ある程度、ＭＰＥＧ−４のような高度な圧縮技法の利用可能性に帰すものである。ＭＰＥＧあるいは別の適当な圧縮機構を用いて、ビデオクリップがカメラにより撮られ、他の装置へ無線で送信されることができる。
【０００３】
映像の送信は実時間であるいは非実時間で起こることがある。ビデオ電子メールは世界中のいくつかの市場で使用されるますますポピュラーな非実時間技法の１つである。ビデオ電子メールを用いて、ビデオクリップあるいはマルチメディアクリップを撮り、そのビデオを圧縮して記録し、そして付加された音声あるいは映像のメッセージと共にそのクリップの圧縮されたバージョンを（パーソナルコンピュータあるいは別の手で持つ装置のような）別の計算装置に送信するために、個人が手で持つ装置を使用できる。同様に、受信装置はそのクリップを記録し、あるいはそのクリップを復号して表示装置上で再生できる。実時間の画像処理技術も発展中である。プロセッサがより早くなるにつれて、圧縮技法も上質になり、無線帯域幅が広くなり、手で持つ装置を用いる実時間のビデオ電話法（ｔｅｌｅｐｈｎｙ）は、おそらく常に増大する（ｅｖｅｒ−ｉｎｃｒｅｓｉｎｇ）市場プレゼンス（ｐｒｅｓｅｎｃｅ）を享受するであろう。
【０００４】
カメラあるいは画像の振動は、あらゆる映像処理技術システムの重要な（ｉｓｓｕｅ）特性を象徴する（ｒｅｐｒｅｓｅｎｔ）。カメラの振動は、補償されなければ、描かれた画像シーケンス（ｓｅｑｕｅｎｃｅ）に現れる、使用者によるビデオカメラ装置の意図しない動きである。カメラの振動はしばしば小さく、痙攣するような（ｊｅｒｋｙ）、変化する（ａｌｔｅｒｎａｔｉｎｇ）種類の動きを含む。カメラの振動はビデオカメラ撮影者によるシーン走査に関連づけられる正常な意図された動きと区別されるべきである。通例、カメラの振動はシーンの表現に何も貢献しない。代わりに、その振動は映像の質を損なうことがあるし、何よりも、見る人をいらだたせる。その問題は普遍的に自由に動かせるビデオカメラに適用可能である一方、画像の振動に関連づけられた不利な影響は、携帯電話などのようなより軽くより小さな装置においてかえって悪化させるばかりである。
【０００５】
カメラの振動を低減あるいは除去するために提案あるいは実装されてきた技法がある。例えば、画像シーケンスを撮影している個人によるカメラの痙攣するような意図しない動きに関連づけられた、望まれない「振動」を除去するのを助けるために、画像安定回路技法が一体型ビデオカメラ（ｃａｍｃｏｒｄｅｒ）にしばしば使用されている。従来の技法は、お互いに関連した映像フレームの動きを調査し、フレームレベルの動きベクトルを用いてこの動きの量を定め、これらのベクトルを統合し、画像の縁を切り落とし引き伸ばして、統合されたベクトル情報を用いてより滑らかな画像シーケンスを生み出すためにその画像のフレームを「別の場所に移す」（ｒｅｐｏｓｉｔｉｏｎ）、ことを伴う。
【０００６】
発展するアプリケーションの多数（ｂｏｄｙ）にとって、現在の方法はもはや不適当である。（１）ますます小さいカメラ及びビデオレコーダへの市場の要求、（２）カメラとビデオの機能の様々な手で持つ装置（例えば、携帯電話、パーソナルデジタルアシスタント、ＧＰＳレシーバ、等）への結合、のような要因により、より効率的であるが高価でない画像安定技法の必要性が劇的に増大してきている。形状の要素において電子装置が小さくなるにつれて、不幸にもそれらが、握りの特性がより重いあるいはより安定したモデル、もしくは肩に担ぐ（ｏｖｅｒ−ｔｈｅ−ｓｈｏｕｌｄｅｒ）ビデオカメラで見受けられたような、より伝統的なあるいは特別に設計された握りよりも「使いやすく」ないことを許している。さらに、手で持つ装置が軽くなるにつれて、認識できる手の振動あるいは他の意図しないユーザの動きに縛られずにユーザが画像を撮影することが困難であり、その動きは画像に組み入れられることになる。その上、小さな、手で持つ装置はもっぱら画像安定専用の付加的な扱いにくい（ｃｕｍｂｅｒｓｏｍｅ）回路要素を結合するための余地が少ない。これらの手で持つ装置において経費も重要な問題となっている。
【０００７】
特に手で持つ装置における使用を目論んだ際に、伝統的な方法は欠点を持つ。一体型ビデオカメラへの応用において使用された伝統的な方法が持つ問題の１つは、しばしば、一方シーン走査（ｓｃａｎｎｉｎｇ）あるいは対象物の移動に関連づけられた意図された動きと、他方カメラの振動に関連づけられた、望まれず意図されていない動きとを区別できないことである。結果として、その装置は、出力で誤りと視覚的に不快な芸術品となる、記録されているシーンの自然で望まれた部分である動きを補償することを試みるかもしれない。上で述べたように、その問題は軽量の手で持つ装置の場合に悪化し、そこでは不安定な動きあるいは振動が一般的により認識できる。
【０００８】
従来の安定技法に存続する様々な欠点の結果として、表現されたビデオ画像が著しく損なわれ、それどころか壊れることがある。例えば、画像安定機能（ｆｕｎｃｔｉｏｎ）が関わっている場合でさえ、画像の振動は最後に表現された画像シーケンスにおいてモーション・ブラー（ｍｏｔｉｏｎ  ｂｌｕｒ）をもたらす傾向がある。さらに、走査されたエリアが、スタビライザが「追跡する」（ｌｏｃｋ  ｏｎｔｏ）ところの十分に対照的な細部（ｄｅｔａｉｌ）を欠く場合、スタビライザはくまなく探し（ｈｕｎｔ）、振動し、あるいは上下に動く（ｂｏｕｎｃｅ）ことがある。これらの誤りは出力された映像シーケンスにおいてかえって誇張されるばかりである。別の良くある問題は、上で述べたように、安定システムがしばしば、対象物あるいはカメラの動きが自然で意図された動きか、カメラの振動かを識別できないことである。この場合、ユーザがゆっくりとしたパンあるいは傾けを開始する場合、スタビライザはこの動きの初めをカメラが振動したと誤って予測し、続けてそれを補償するかもしれない。その結果は不安定あるいは不正確な出力画像シーケンスである。
【０００９】
したがって、シーン走査のような自然の動きを維持する一方で、追加の専用回路要素の最小限の要件と計算量的な複雑さにおける最小限の増加と共に、映像ハンドヘルド装置と他の装置とにおいて不安定な動きを取り除く必要性が存在する。
【発明の開示】
【００１０】
〔発明の概要〕
本発明のある観点では、複数の連続的なフレームを備える画像を安定させる方法であって、複数の動きベクトルを推定し、各動きベクトルは前記フレームのうちの1つと対応している、前記動きベクトルのそれぞれを先行するフレームに対応する動きベクトルと適応的に統合する、前記適応的に統合された動きベクトルを用いてフレームを補償し前記画像を安定させることを含む。
【００１１】
別の観点では、ｎ個のフレームを備える画像シーケンスの画像安定の方法は、像センサからの各フレームを参照バッファに格納し、前記ｎ個のフレームのそれぞれに関してフレームレベルの動きベクトルＶ（ｎ）を推定し、Ｖ（ｎ）に基づいた前記ｎ個のフレームのそれぞれと先行するｎ−１個のフレームに対応する動きベクトルＦ（ｎ−１）に関する適応的に統合された動きベクトルＦ（ｎ）とを生成し、必要であれば、前記参照バッファ内のｎ番目のフレームをＦ（ｎ）で置き換えることにより、前記ｎ個のフレームを映像シーケンスとしてレンダすることを含む。
【００１２】
さらに別の観点では、映像を取り込むことのできる装置における使用のための画像安定装置は、画像シーケンスを備える映像フレームを取り込むための画像センサと、取り込まれたフレームに関連づけられた参照画像を格納するための、前記画像センサに連結されたバッファと、前記バッファに連結され、フレームごとに動きベクトルを計算するよう作動する動き推定回路と、前記動き推定回路に連結され、フレームごとに累加する（ｃｕｍｕｌａｔｉｖｅ）動きベクトルを出力するため各フレームに関連づけられた前記動きベクトルを適応的に統合するよう作動する適応的統合回路と、前記バッファと前記適応的統合回路とに連結され、前記画像シーケンスの安定させられた部分を複写するよう作動するレンダリング回路とを含む。
【００１３】
またさらに別の観点では、画像安定回路は、画像シーケンスを備える複数のフレームにそれそれ対応する複数のフレームレベルの動きベクトルを推定するための手段と、画像安定における使用のため対応する動きベクトルを供給するため、前記複数のフレームレベルの動きベクトルのそれぞれを適応的に統合するための手段と、必要であれば、画像安定における使用のため前記対応する動きベクトルを用いて各フレームをレンダするための手段とを含む。
【００１４】
図解の方法で本発明のいくつかの実施形態のみが示されそして記述されており、本発明の他の実施形態は、以下の詳細な記述から当業者にとって容易に明白となることが理解されるであろう。すべて本発明の精神と範囲とから逸脱することなく、理解されるように、本発明は他の実施形態と異なる実施形態とが可能であり、そのいくつかの詳細は様々な他の側面における変更が可能である。したがって、図面と詳細な記述とは、本質的に例証として、制限的でないとしてみなされるべきである。
【発明の詳細な説明】
【００１５】
本発明の側面は例として図解されているのであり、添付図面に制限されない。
【００１６】
添付された図面と関連して以下の詳細な記載は、本発明の様々な実施形態の記載とみなされ、本発明が実践されても差し支えない実施形態のみを表現することを意図したものではない。本明細書に記載された各実施形態は、単に本発明の例あるいは図解として提供され、他の実施形態に関して必ずしも好ましいあるいは都合の良いものとして解釈されるべきではないことが理解されるべきである。詳細な記載は本発明の完全な理解を提供する目的のために具体的な詳細を含む。しかし、当業者にとってはこれらの具体的な詳細がなくても本発明が実践できることが明白であろう。いくつかの例では、本発明の概念を不明瞭にすることを避けるため、よく知られた構造と要素とがブロック図の形式で示されている。略語と他の叙述的な用語とが単に便宜と明快さとのためのみで使用されてもよく、本発明の範囲を制限することは意図されていない。
【００１７】
本発明は手で持つ電子装置の文脈で記載されるが、本発明が、ビデオカメラ、映画撮影機、一体型ビデオカメラ、および事実上ビデオカメラと結合するあらゆる種類の電子装置を含む、他の種類の装置への応用を持つことが理解されるべきである。
【００１８】
より優れてより洗練された機能を組み入れる手で持つ装置への消費者の要求が近年高まっている。近年消費者市場に一緒にもたらされたのは、携帯電話やパーソナルデジタルアシステント（ＰＤＡ）、等のような映像キャプチャ技術と伝送技術と、すなわちビデオカメラ、を組み入れた手で持つ装置である。ビデオ機能に他の機能を組み入れるという手で持つ装置に対する要求を設計者が扱うための能力を様々な要因に帰することができる。１つの要因はより早く機能的により優れたマイクロプロセッサとデジタル信号プロセッサとが利用できることである。別の要因は、今日の半導体チップと、回路基板や電池のような関係のある回路要素とのフォームファクタ（大きさ）における減少である。さらに別の要因は手で持つユニット及びカメラそれ自身における総合的な設計改良と関連がある。例えば、今日のシングルチップ高解像度カラーセンサカメラは安価で非常に小型である。
【００１９】
さらに別の要因は、ビデオカメラを用いて画像をとらえることに関連づけられた多量の映像あるいはマルチメディア情報を受信し、圧縮し、格納し、表示し、他の装置へ送信することを可能にする、例えば、ＭＰＥＧ−４のような高度な圧縮技法を手で持つ装置が利用できることである。これらの技法は以下でさらに議論する。
【００２０】
実時間ビデオ電話法あるいはビデオ会議、ビデオ電子メールあるいはビデオメッセージング、映像ストリーミングにせよ、あるいは別のものにせよ、アプリケーションに関わりなく映像ストリームがキャプチャされる時に実時間映像符号化器が、統合されたカメラモジュールにより作り出された映像データストリームを圧縮するために手で持つ装置内で使用されることができる。
【００２１】
ＭＰＥＧ−４はＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）により開発されたＩＳＯ／ＩＥＣの圧縮標準の１つである。ＭＰＥＧ−４はマルチメディア環境における映像データの効率的な格納と送信と操作とのための中核技術を提供する新しい映像圧縮標準である。ＭＰＥＧ−４は世界中の何百人もの研究者と技術者とを巻き込んだ国際的な努力の結果物である。ＭＰＥＧ−４の中心は、中でも、映像符号化に関して非常にスケーラブルで柔軟なアルゴリズムとビットストリーム構成と、無線チャネル上での高い誤り耐性（ｒｅｓｉｌｉｅｎｃｅ）と誤り回復と、非常にネットワークから独立したアクセスシビリティ（ａｃｃｅｓｓｉｂｉｌｉｔｙ）とを達成する標準を開発することであった。例えば、ＭＰＥＧ−４符号化で、３２ｋｂｐｓ以下のデータ信号速度を用いるアプリケーションにおいて良好な画面（ｐｉｃｔｕｒｅ）品質を達成できる。
【００２２】
ＭＰＥＧ−４は前にあった技術（ＭＰＥＧ−１およびＭＰＥＧ−２）の成功の上に基礎を置き、中でも、デジタルテレビ、双方向（ｉｎｔｅｒａｃｔｉｖｅ）グラフィックアプリケーション、双方向マルチメディアのような技術を実現するための標準化された要素の集合を提供する。そのロバスト性と高品質と低ビットレートとから、ＭＰＥＧ−４は無線電話、ＰＤＡ、デジタルカメラ、インターネットのウェブページ及び他のアプリケーションで実装されてきた。ＭＰＥＧ−４ビデオ標準用の広範囲のツールは、加工していない映像と、静止画像と合成のグラフィック図形との符号化と復号化と表示とを可能にする。確かに、いっそう優れた柔軟性とよりロバストな画像処理とを提供する将来の圧縮機構の実現は差し迫っている。
【００２３】
一般に、ＭＰＥＧと類似の標準との圧縮原理は、送信装置が必ずしも映像の各フレームの各画素いずれもすべてを記述している情報を送信する必要がないことの実現が前提とされる。そのような技法がなければ、容認できない量の帯域幅を消費し、及び／あるいは容認できない低解像度の映像の伝送に終わるであろう。代わりに、ＭＰＥＧ圧縮技法は、一般的に「初期」（ｉｎｉｔｉａｌ）フレームが送信された後、ある期間あるフレームから別のフレームへの「変化」のみが送信される必要がある、という原理の下で動作する。したがって、例えば、ある間、前景に個人がおり、背景が暗青色であるような映像のシーンにおいて、ＭＰＥＧは必ずしもフレームごとに暗青色の背景を表現している情報の再送により帯域幅を拡大させる必要がない、という原則に依存する。代わりに別のフレームに関係する、とあるフレームの変位（ｄｉｓｐｌａｃｅｍｅｎｔ）あるいは動きを考慮することで、ＭＰＥＧ復号器はその後のフレームを予測し表現することができる。
【００２４】
例として、ＭＰＥＧ圧縮技法と、関連した圧縮技法とは、画像情報の完全なフレームで始まるシーケンスを格納し、初期フレーム（内部の対象物の相対的な動きを含む）との変化のみを記述する情報を用いて後続のフレームを符号化するための符号化器を使用できる。そのように、さもなければ受け入れられない帯域幅を占めるであろうすべてのフレームの各画素のイメージが格納される必要はない。受信装置あるいは表示装置は、画像情報を伸張し画像シーケンスを表現するために復号器を使用する。復号器はそのシーケンスの初期フレームを再現し、そして、関連づけられたフレームごとの動き情報を解釈することにより後続のフレームを表現する。先行するフレームだけでなく、直後のフレームにも依存する動き情報を用いて、フレームが再現される場合もある。これらの技法を使用して、しばしば４０対１あるいはそれ以上の圧縮比を得ることができる。
【００２５】
ＭＰＥＧ−４は動き推定アルゴリズムの１つである。動き推定アルゴリズムは連続する映像フレーム間の動きを計算し、前もって送信されたフレームから計算された動き情報を用いて現在のフレームを構成する情報を予測する。ＭＰＥＧ符号化機構において、フレームの画素のブロックはその先行するフレームの領域と関連しており、ブロックとそれらの関連した領域との間の差異のみが符号化され格納される。あるブロックと最もぴったりと一致する領域との間の変換ベクトルは動きベクトルと呼ばれる。
【００２６】
別に述べたように、ＭＰＥＧ−４のような映像圧縮標準は変位ベクトル推定を用いて先行するフレームから画像データを予測する。変位ベクトルは、映像シーケンスの間で起こる動きの方向と大きさとの数学的表現である。符号化の効率を増すため、画像シーケンスの各フレームは、ブロック（８画素×８画素）あるいはマクロブロック（１６画素×１６画素）のシリーズ（ｓｅｒｉｅｓ）に「分解」されることができ、動きベクトルはそれによってこれらのブロックのそれぞれに関して計算される。ＭＰＥＧ−４を用いる実施形態では、画像センサと関係のあるマクロブロックの位置を同定するマクロブロックアドレスと、あるブロックレベルデータと、動きベクトルとの組は、各ブロックあるいはマクロブロックに関連づけられる。例として、圧縮されたビデオを送信する場合、１あるいは２以上の初期フレームが送信された後、次のグループのフレームに関連づけられた画素ごとの情報の完全な行列を送信する代わりに、引き続くフレームの動きベクトルが送信される。その処理は後続のフレームのグループの間、それ自身が繰り返されてもよい。
【００２７】
映像を収めている場合、動きベクトルはカメラの動きと対象物の動き（例えば、上の例における前景の人間）とにより生成される。符号化過程において、フレームの画素のブロックは先行するフレームの領域と関連しており、ブロックとそれらの関連した領域との間の差異のみが符号化される。（リモートであろうとカメラ上であろうと）受信エンドで、ＭＰＥＧ−４復号器は、フレームの各グループに関する初期フレームを表現し、そしてブロックあるいはマクロブロックレベルのベクトル中に含まれる動きベクトル情報を用いることで各グループの後続フレームを表現することにより、画像を再構築する。フレームのそのグループに続いて、新たなフレームがそっくりそのまま送信されることができる。ある例では、先行するフレームと後のフレームとの双方からの動きベクトルを用いてフレームが表現される。後で分かるように、動き推定はデジタルと電子との安定システムにおいて重要な役割を演じている。
【００２８】
ビデオ電話（実時間）あるいはビデオ電子メール（非実時間）を伴うＭＰＥＧ−４アプリケーションにおいて、手で持つ装置はＣＣＤ画像センサあるいはＣＭＯＳ画像センサから得られた映像情報を圧縮するためのＭＰＥＧ−４符号化器と、表示装置上に表現するために受信した映像を伸張するためのＭＰＥＧ−４復号器との双方を使用できる。
【００２９】
［動き安定］
本発明にかかる安定技法は、ビデオの自然の動き−（シーンの走査のような）意図したカメラの動きや対象物の動き（すなわち、収められた映像内の対象物）−を保存しつつ、画像シーケンス内の不安定な動きを取り除く。その安定技法は、実施形態に依存して、もっぱらハードウェア（例えば、１あるいは２以上のＤＳＰ、専用マイクロコントローラ、ＡＳＩＣ、あるいは他のアプリケーション特有の回路装置あるいは技法）、ハードウェアとソフトウェアとの結合、あるいはもっぱらソフトウェア（すなわち、手で持つ装置のＣＰＵで安定が実行されることができる）で実行されることができる。しかし、携帯電話のような装置において、より洗練されたＣＰＵを組み入れることに関連づけられた価格割り増しの問題と同様、電池で動作する装置における電力消費の制限のため、プロセッサは強力ではない。そういうものとして、多くの装置において動き推定回路要素は、目立たないハードウェアで実現され、ハンドヘルド計算機のプロセッサの負荷を最小化できる。
【００３０】
１実施形態において、動きベクトルの推定と映像ストリームの圧縮とに関連づけられた動き推定回路要素（ｃｉｒｃｕｉｔｒｙ）は、安定回路要素の一部としても使用される。（ＭＰＥＧ−４で使用されるような）動き推定は計算量的に高価な処理であり、画像安定も動き推定を使用するため（下記参照のこと）、画像を安定させるための動き推定回路要素の使用はプロセッサ資源の非常を効率的に使用することになる。
【００３１】
本発明に従うスタビライザ（ｓｔａｂｉｌｉｚｅｒ）を用いる手で持つ装置の要素のブロック図が図１に示されている。レンズ３は、平らな表面を形作り、映像情報を含む光の容器（ｒｅｃｅｐｔａｃｌｅ）として振る舞う、ＣＭＯＳあるいは電荷結合素子（ＣＣＤｓ）装置の矩形マトリックスのような画像センサ２３を含む。画像センサ２３は画像の生のフレームを構成している映像データを集める。そのデータは、フィルタおよび増幅器１とＡ／Ｄ変換器５とを含む、処理のための様々な回路に送り込まれる。（回路の種類と数量とは特定のカメラと構成とに依存して変化してもよい。）そして、フレームを表現しているデジタル情報はスタビライザ７に送られる。この実施例では、映像信号を圧縮する際に使用するため、スタビライザは、他の要素中でブロックレベルの動きベクトルを計算するために使用される動き推定回路要素を含む。ここでの例はＭＰＥＧ−４の文脈で表現されているが、本発明の範囲内で他の圧縮機構（ｓｃｈｅｍｅ）が考えられる。
【００３２】
デジタル画像データはスタビライザ７の出力１７にある（ｒｅｓｉｄｅｓ）。この例では、フラッシュメモリあるいは内部のフレームバッファのような、メモリ装置２１内の格納のため、そのデータはスタビライザ７内の圧縮回路要素により圧縮される、あるいは、ビデオ電話あるいはビデオ電子メールアプリケーションにおけるような、別の装置に送信されてもよい。平易な例のため、出力１７でのデータは圧縮されることができる、あるいは、アプリケーションがそのように命じる（ｓｏ  ｍａｎｄａｔｅ）場合、そのデータはその生の圧縮されていない形式であってもよいことが仮定される。スタビライザ７の出力１７が（送信あるいは格納のため）圧縮されたデータあるいは表示装置上で即時に見るため未加工で圧縮されていないデータのどちらかを含むことができるように圧縮機能がスタビライザ内に常駐して（ｒｅｓｉｄｅｓ）いることも仮定される。（他の実施形態では、適切な回路要素（図示されていない）がそのデータを伸張し、画像シーケンスを再構築する、表示装置に送信されるのに先立ってデータが圧縮されることができる。）さらに、フレームデータが直ちにフレームバッファに送信され、そして圧縮あるいは更なる処理のためにスタビライザとモーションエスティメータとに戻されても差し支えない実施形態もある。計算に関して激しい（ｃｏｍｐｕｔａｔｉｏｎａｌｌｙ−ｉｎｔｅｎｓｉｖｅ）動き推定回路要素が画像圧縮とカメラの振動の安定との双方のために使用されるため、この場合の圧縮機構はある程度スタビライザの一部であると仮定される。
【００３３】
そして、圧縮されたデータは符号化器１１により符号化され、変調器１３により意図された媒体上での送信に相応しい形式に変調される。この符号化器１１はＭＰＥＧ−４符号化器を指すのではなく、むしろ本実施形態に存在するデータ符号化器を指す。無線送信のための適切な搬送信号上に変調された後、そのデータはチャネル通信回路要素１５を経由して送信される。
【００３４】
手で持つ装置はチャネル通信ブロック１５を通じて圧縮されたＭＰＥＧデータを受信することができる。受信されたデータはそれぞれ、復調器１７により復調され、復号器１９により復号される。そのデータは、スタビライザ７により伸張され、表示装置９にて再現されてもよいし、あるいは将来の使用のためメモリ２１に格納されてもよい。
【００３５】
この実施形態において、（この例のスタビライザ７に組み込まれた）動き推定回路要素は２つの目的で使用されることができる。まず、ＭＰＥＧ圧縮のためにブロックあるいはマクロブロックレベルの動きベクトルを計算するために使用される。第２に、動き安定回路要素から計算されたベクトルは、以下に述べる安定処理で使用されるであろうグローバルな（フレームレベルの）ベクトルを推定するために使用される。２つの個別の機能における使用のための動き推定回路要素のこの統合の結果として、相当の空間が節約され、スタビライザ特有の動き推定のための独立した計算回路が要求されない。この構成はスペースの少ない手で持つ装置上の貴重な面積（ｅｓｔａｔｅ）を節約することになる。加えて、計算量的な複雑さが最小化され、それによって過度の電池消費を犠牲にすることなく性能を向上させる。しかし、両方の目的でのこの動き推定回路要素の使用が、ある他の装置とＭＰＥＧ−４との文脈において有益である一方で、本発明の実施にとって本質ではないことは特筆されるべきである。
【００３６】
従来からあるデジタル画像安定はカメラの振動を異なる方法で訂正するかもしれない。ある実施形態では、震えた画像がレンズを進み、手で持つ装置の画像センサにぶつかる時、画像安定システムは、振動を補償するため画像センサチップの有効な領域、すなわち画像が読み出されるチップ上の物理的な位置を別の場所に移す。この「別の場所に移す」ステップは、そのシステムが読み出しているチップの領域を再アドレッシングすることにより実行される。その実施形態における各画素はあるユニークな２進数アドレスに関連づけられている。別の場所に移された画像の一部ではないアドレスに関連づけられた画素情報は単に無視される。スタビライザ７は、以下でさらに論じられる方法で、ＭＰＥＧ圧縮ステップから計算されたブロックレベル、及び／あるいはマクロブロックレベルのベクトルに基づいて、画像におけるグローバルな（フレームレベルの）動きベクトルを推定する。
【００３７】
後で分かるように、実際上の別の場所への移動は２つの方法のうちの１つで実行される。第１かつ従来からある技法は、レンズ３内の画像センサチップの最大限のラスタが使用されないように、画像をデジタル的に拡大（ズーム）することである。別に述べたように、画像センサの周辺の周りの「未使用の画素領域」の余白を捨てて、その画像は画像センサの領域の部分から切り落とされる。スタビライザは、それが動き回る時に画像をとらえるため、最大のシップラスタ（ｓｈｉｐ  ｒａｓｔｅｒ）内でパン（ｐａｎ）できる。画像を拡大し縁を切り落とすことは、カメラの安定システムがカメラの振動に対して補償できる「誤差の余裕」を残す。
【００３８】
センサチップの有効な領域を別の場所に移すための第２の方法は、効果、すなわちカメラの振動を補償するために余白をもたらすことに帰着する。この方法は、まずその画像を拡大することなく、有効な領域が動き回わるために未使用の境界が存在するように、特大の画像センサあるいはＣＣＤマトリクスを使用する。以下でさらに述べるように、１実施形態において、この目的のため、画像センサの周辺が８画素の余白でパディングされる。上の方法のように、この未使用の余白は、画像の振動を補償するための領域をもたらすために使用される。しかし、この方法を用いて、画像のデジタル的に拡大し縁を切り落とすことの時間のかかる処理は取り除かれる。カメラの振動を取り除くために必要なその他の（ｏｔｈｅｒｗｉｓｅ）ステップが不要になるため、この後者の方法は特に実時間映像の状況で有益である。両方の方法あるいは余白をもたらす別の方法は本発明に従って実現できる。
【００３９】
図２は、手で持つ装置に統合されたような、ビデオカメラの画像化領域の例である。矩形２５はＣＣＤセンサのようなカメラの画像センサに対応する領域を表している。画像センサは、一般に、それに当った光を記録し画像を取り込むＣＣＤ要素あるいはＣＭＯＳのマトリクスから構成されている半導体チップである。電荷結合素子（ＣＣＤ）は、色スペクトル内の色に関連している強度と画像内の各画素が電荷とに変換されるような方法で、画像に関するデータを格納し表示する感光性の集積回路である。
【００４０】
矩形２７と２９とは２つの異なる時刻ｔ１とｔ２とでビデオカメラによりとらえられた画像センサ２５内部のフレームを表現する。１実施形態では、ＣＣＤアドレスの特定のマトリクスの出力のみが考慮され、残りが捨てられるために、各ＣＣＤ要素にユニークなアドレスを割り当てることでカメラにより各フレームが記録されることができる。図２において、例証の目的で、フレーム（時刻ｔ１に取り込まれた）２７と（時刻ｔ２に取り込まれた）２９とが、カメラの振動の結果としてある具体的な大きさと方向とでお互いに関連して動かされたことが仮定されている。三角形３１は記録されているシーンの一部である対象物を表している。三角形３１は２つの位置に現れ、それぞれ画像２７の内と２９の内とにある。三角形３１は、画像化領域２５内のフレーム２７からフレーム２９へと動かされているが、三角形は対応するフレーム２７と２９とに関連して動かされてはいない。すなわち、その三角形は取り込まれているシーンにおいて静止しており、フレームの残りと関連して動かされていない。この図において、ビデオカメラのみが動かされている。
【００４１】
図２に例証されているように、カメラの振動は、フレームレベルの基準でランダムあるいは非体系的な動きに当てはまる時間に関連のある概念である。フレーム２７と２９との差異はグローバルな変位あるいはグローバルな動きベクトルにより表現されることができる。このグローバルな動きベクトルは、そのベクトルが全体のフレーム２７と関連した全体のフレーム２９の変位の大きさと方向とに関する情報を含むことを意味するフレームレベルの動きベクトルである。フレーム２７と２９との間の事実上の差異を表現するこの変位ベクトル３３は、さらにｘ成分とｙ成分とに分解されてもよい。ｘ成分はフレーム２７と関連したフレーム２９の変位の水平方向の大きさを表現し、ｙ成分はフレーム２７と関連したフレーム２９の変位の垂直方向の大きさを表現する。したがって、全体のフレームレベルの変位ベクトル３３は、ｘ（垂直）方向の個別的なフレームレベルの変位とｙ（水平）方向の個別的なフレームレベルの変位との和である。
【００４２】
それぞれのフレーム２７あるいは２９のその１つあるいは双方と関連した三角形３１の変位が存在した場合でも、カメラの振動の測定がフレームレベルのベクトル変位解析によりなおも示されることができることに注意されたい。この場合の三角形３１の動きは単にとらえられた映像シーン内の対象物の自然の動きを表現し、表現しているカメラの振動のためにフレームレベルの変位ベクトル３３の大きさあるいは方向をもたらさないであろう。
【００４３】
先に議論したように、ＭＰＥＧ−４のような圧縮技法は、ブロック（８画素×８画素）あるいはマクロブロック（１６画素×１６画素）を基礎にして高符号化効率のために動きを推定する。対照的に、画像安定技法は全体として画像の広範囲にわたる変位を検討する。この理由から、ＭＰＥＧ圧縮技法が使用される実施形態において、圧縮過程で推定されたブロック／マルチブロックレベルの変位ベクトルからの結果は、映像の連続するフレーム用の全体のフレームレベルの変位ベクトル３３を推定するために使用できる。対照的に、フレームレベルの変位ベクトルを生成する別の圧縮機構が使用される場合、あるいはフレームレベルのベクトルを生成するために専用の回路要素が使用される場合、このブロックのフレームレベルへの変換（ｃｏｎｖｅｒｓｉｏｎ）が行われる必要はない。
【００４４】
上で言及したように、画像安定回路が開発され多くの消費者向け一体型ビデオカメラに組み入れられてきた。動き安定は、一般に、電子パネル上のオプションあるいはスイッチを用いて使用者により携わされ、あるいは切り離されてもよいオプションである。それらのシステムの画像安定の仕組みは一般に４つのステップ、（１）映像の各フレームに関し、スタビライザがフレームと先行する映像フレームとを比較することでそのフレームの目下のグローバルな（フレームレベルの）動きベクトルを推定する、（２）スタビライザがこの推定された動きベクトルの推定された動きベクトルの過去の組との数学的な統合を実行し、それによって動きベクトルの「滑らかな」推定を得る、（３）スタビライザが画像をグローバルな動きベクトルの大きさと方向との通りに縁を切り落とし拡大する（デジタル的にズームする）、（４）縁を切り落とされた画像シーケンスが安定であるように見えるように、システムが画像センサ上の縁を切り落とされた画像を別の場所に移す、を必要とする。
【００４５】
この方法は一体型ビデオカメラのアプリケーションに関するいくつかの例において十分でありうる。一体型ビデオカメラの使用は、一体型ビデオカメラのより優れた安定性とより重い重量とのため、より少ないカメラの振動を引き起こすであろう。したがって、カメラに関連づけられたほとんどの動きは意図された動きである。カメラの振動に関連づけられた痙攣するような動きの影響は統合のステップのおかげで弱められる。そのステップで、単発的な痙攣するような動きが出力で目立たないような、動きベクトルの「重み付け加算」が効率的に実行される。しかし、この方法は最適ではない。その統合のステップは痙攣するような動きを「スムースにする」ことができるが、スペクトラム（ｓｐｅｃｔｒｕｍ）の一方での自然のカメラあるいは対象物の動きとスペクトラムの他方での単なるカメラの振動とを正確に区別できない。とはいえ、その統合のステップによって滑らかさの増えた知覚（ｐｅｒｃｅｐｔｉｏｎ）および偶然の動きと比較して意図されたあるいは通常の動きに比較的高い重要度が与えられた一体型ビデオカメラにおいて、典型的にはこの欠点はそれほど顕著ではない（とはいえそれでも問題にはなる）。
【００４６】
特に、携帯電話あるいはＰＤＡのようなより小さな、手で持つ装置が伴われる場合、上で議論した従来からある方法は不十分となる。例えば、手で持つ装置はより軽く、特に安定した映像撮影用に設計された握りを欠く。したがって、自然のあるいは意図された動きの量に比例して多量のカメラの振動が引き起こさせられる可能性がある。その闇雲な統合ステップとその拡大及び縁の切り落としと共に、従来からある方法は、過度に空間を取る、あるいは手で持つ装置が効率的に提供できるよりも電力を消費するかもしれない。そのうえ、単純な数学的統合技法による従来からの方法の画像の安定はより小さな手で持つ装置にとってずっとより顕著な誤差を生み出す。単純な統合の使用（それは、推定された変位ベクトルの重み付け加算とまったく同様になる）は、望ましくないカメラの振動から自然のカメラあるいは対象物の動きを識別するには不十分である。
【００４７】
結果として、本発明は画像安定の従来からある方法に関連づけられる欠点を克服する適応的な統合のための技法を導入する。当該発明の本実施形態は手で持つ装置の文脈で記載されるが、本発明の範囲を外れることなく、画像安定の質を改善するためにアルゴリズムが他の装置で使用されることができることが理解されるべきである。
【００４８】
図３に本発明の実施形態に従う適応的画像安定アルゴリズムのブロック図が示される。映像信号ＶＩＤＥＯ  ＩＮが入力３５で受け取られる。映像信号は多様な異なる種類の形式（ｆｏｒｍａｔ）であってもよい。ステップ３７において、画像はその周辺まわりに画素の付加的区域でパディングされる。１実施形態において、画像の周りに８画素の厚さの余白がパディングされている。８画素の余白はカメラの振動を補償するための領域を与えるために使用できる。画像の縁を切り落とし拡大する代わりにこの実施形態におけるように画素の余白での画像のパディングはこれらの余分な計算を実行することに関連づけられた計算量的複雑さと遅延とを最小化する。拡大及び縁の切り落とし方法も代わりの実施形態において実行されることができる一方で、より少ない回路要素と処理電力とが要求されるため、ステップ３７のパディング方法が特に手で持つ装置に相応しい。すなわち、この実施形態においてデジタルの拡大あるいは縁の切り落としの計算が安定処理の一部分である必要がない。
【００４９】
ステップ３９において、目下キャプチャされたフレームを表現している参照画像のコピーは後のレンダリングのために、（図１のビデオカメラ内のメモリ２１のような）参照フレームバッファに格納される。ステップ４１において、ＭＰＥＧ圧縮機構に関連づけられた動き推定回路要素はステップ３７で入力されたフレームに関するマクロブロックレベルの変位あるいは動きベクトルの組ＢｘとＢｙとを推定する。言及したように、ＭＰＥＧにおける動きベクトルは、直前の参照フレームに関して現在のマクロブロックの変位を運ぶ。このように、効率のために画像データが圧縮されることが可能であり、現在のフレームは動きベクトル情報と共により以前の参照フレームを用いて再構築されることができる。この実施形態において、ステップ４１に関連づけられた計算が安定アルゴリズムと映像圧縮アルゴリズムの双方で使用される。双方の機能を実行するための同一の回路要素の使用はより小型の装置にとって相当な効果をもつ。付加的な専用回路要素の要求を不要にすることと手で持つ装置の小さな大きさを保つこととにより、画像安定ステップにおける圧縮結果の使用は相当な現実の面積を節約する。加えて、圧縮回路要素ですでに実行された余分なステップでＣＰＵあるいは専用ハードウェアに重い負担をかけることを避ける、より少ない計算量が要求される。
【００５０】
したがって、この実施形態におけるブロック４１の出力で、２つのマクロレベルのベクトルの組、ｘ方向におけるマクロブロックの変位を表現しているベクトルおよびｙ方向におけるマクロブロックの変位を表現しているベクトル、がある。図３に示されているような画像安定におけるそれらの使用に加え、これらのベクトルは圧縮アルゴリズムにおいてＭＰＥＧ符号化器（図示なし）により使用される。
【００５１】
画像安定の目的で、マクロブロックレベルの動きベクトルＢｘとＢｙとは、先行するフレームとの現在のフレームの相対変位を表現するグローバルあるいはフレームレベルの動きベクトルに変換される必要がある。図２に関連して例証されたように、カメラ安定アルゴリズムは、ブロックレベルあるいは画素レベルの動きよりはむしろ、画像のフレームレベルの変位を考慮する。この変換ステップはステップ４５で実行される。ステップ４５は、それより前のフレームと関連する（それについてブロックあるいは部分よりはむしろ）フレーム全体の変位に関連づけられたグローバルな動きベクトルの組ＶｘとＶｙとを供給するために、入力されたマクロレベルの動きベクトルＢｘとＢｙとを使用する。
【００５２】
１実施形態において、現在のフレームに関するフレームレベルの動きベクトルの組（ＶｘおよびＶｙ）は、ステップ４５においてマクロブロックレベルの動きベクトルのヒストグラムから計算される。すなわち、マクロブロックレベルの動きベクトルのヒストグラムとそれらの頂点とが計算される。ヒストグラムの目的はデータ集合の分布を数学的にまとめるためである。そのヒストグラムは各マクロブロックが互いに関係づけるフレーム上の領域に関して、相対的な動きとそれらの大きさとの分布を示す。この例では、すべてのマクロブロックの動きベクトルの共通要素を同定するためにそのヒストグラムが使用される。マクロブロックの動きの共通要素は、例えばシーン内の対象物のランダムな変位よりはむしろ、フレームレベルの変位を反映する。ひとたびこれらの共通要素が同定されると、フレームレベルの動きベクトルを推定することができる。例えば、マクロブロックレベルの動きベクトルＢｘとＢｙとの水平ヒストグラムと垂直ヒストグラムとをそれぞれｈ（Ｂｘ）及びｈ（Ｂｙ）とおく。１実施形態において、フレームレベルの動きベクトル（Ｖｘ，Ｖｙ）を次の通りに計算することができる。
【００５３】
Ｖｘ＝ｓｕｐ｛ｈ（Ｂｘ）：Ｂｘ≠０｝
Ｖｙ＝ｓｕｐ｛ｈ（Ｂｙ）：Ｂｙ≠０｝
ここで、用語「ｓｕｐ」はヒストグラム配列の上界を指す。この実施形態において、ステップ４５で動きの水平成分と垂直成分とが独立して取り扱われることは注目すべきことである。すなわち、ｘ（水平）方向の動きに関連づけられたグローバルな動きベクトル要素が計算され、ｙ（垂直）方向の動きに関連づけられたグローバルな動きベクトル要素も計算される。
【００５４】
ステップ４１とステップ４５とにおける計算はＡＳＩＣ、デジタル信号プロセッサ、ＰＡＬ、あるいはＰＬＡのような専用ハードウェアにより実行できる。代わりに、１あるいは２以上の専用コントローラが使用されてもよい。アプリ−ケーションに依存して、その計算はホスト装置のＣＰＵによりソフトウェアで実行されてもよい。一般に、より小さな手で持つ装置にとって、圧縮と画像安定とに関連する機能の多くは専用回路要素により実行される。
【００５５】
ステップ４７で、スタビライザは入力されたグローバル動きベクトルの組（Ｖｘ，Ｖｙ）の適応的統合を実行する。さらに以下で説明するように、現在のフレームに関連づけられたグローバルな動きベクトル（Ｖｘ，Ｖｙ）は、この実施形態において、先行するフレーム（すなわち、それぞれが図３における処理が行われたビデオ画像シーケンスにおけるそれより前のフレーム）の動きベクトルの累積する解析により生成されたグローバル動きベクトルの組（Ｆｘ，Ｆｙ）に適応的に統合される。伝統的な安定システムでは、グローバルな動きベクトルは、長い間にわたって画像シーケンスにおけるフレームの平均変位を表現している「滑らかな」動きベクトルを推定するために、単に過去のフレームのグローバルな動きベクトルと統合される。すなわち、伝統的に各ベクトルにその画像シーケンス内に出現するその頻度に依存する重要性の重みを与える方法で、現在のグローバルな動きベクトルが先行するベクトルに加算される。この従来の方法が持つ１つの問題は、シーン走査のような普通の動きに関連づけられたベクトルと、カメラの振動から由来するベクトルとを識別する試みがなされないことである。本明細書において先に強調されたように、手で持つ装置を伴っている実施形態において、重さと握りとが一般にカメラの振動をより著しくするためその問題はさらに悪化する。
【００５６】
従来システムの安定回路要素で実行された普通の（ｓｔｒａｉｇｈｔ）統合技法と違い、本発明の適応的統合技法は、計算量的な複雑さにおける激しい増加の不利益なしにスタビライザの性能を劇的に改善する。その適応的統合技法を用いて、パンあるいは自然の対象物の動きのような持続的あるいは体系的な動きが適切に保たれる一方で、カメラの振動の一般的な特徴である小さく、変化する、ランダムで、非体系的な動きが完全に補償される。別に述べたように、この中で開示されたシステムは逆説的にカメラの振動と通常のあるいは意図された動きとのため、動きの区別を保つ方法で動きベクトルを統合する。したがって前者が除去されることができ、何れかのシステムにおける優れた安定性能が得られる。この適応的技法の実施形態に関する詳細は後の方の図４で開示される。
【００５７】
図３の実施形態に戻って、フレームレベルの動きベクトルの組（Ｖｘ，Ｖｙ）は、新たな累加するベクトルの組（Ｆｘ，Ｆｙ）を作るために累加するフレームレベルのベクトルの組（Ｆｘ，Ｆｙ）に（重み付け加算としてあるいは単純な加算を用いて）加算され、あるいは適応的統合技法（下記参照のこと）の結果に依存して、現在のベクトルが無視され既存の累加するベクトルの組（Ｆｘ，Ｆｙ）が変化しない、のいずれかである。この適応的なアルゴリズムはいくつかの異なった方法で実行されてもよいが、本発明の実施形態に従ってそのようなアルゴリズムの１つの詳細が図４で明らかにされる。
【００５８】
任意の場合において、累加するベクトルの組（Ｆｘ，Ｆｙ）は画像の振動のため現在のフレームの相対変位に関する情報を提供する。本質的に、累加するベクトルの組（Ｆｘ，Ｆｙ）は、自然の動きは保たれるがカメラの振動が実質上除去されるように、パディングされた余白内で現在のフレームを別の場所に移すことができる「補正要素」を与える。そういうものとして、現在のフレームに関連づけられた元々の参照画像のコピーは、ベクトルＦｘとＦｙだけ、その元々のとらえられた位置から動かされ、（パディングされた余白の境界内で）動かされたフレーム４９が表示装置上に描かれる。その画像はＦｘとＦｙとのベクトルの組を用いて「再びアドレスがつけられる」（ｒｅ−ａｄｄｒｅｓｓｅｄ）。図３における処理の間、パン及び他の意図された動きに関連づけられた動きが保存される一方で、カメラの振動のために通常パディングされた余白領域に侵入するフレームは安定させられる。その間に、あるいはその後直ちに、次にとらえられたフレームは入力３５に送られ、その処理が繰り返される。その結果は、カメラの振動は大幅に除去される一方で通常の動き（すなわち、シーン内の対象物の動きあるいはシーンの走査におけるカメラの動き）が保たれている映像シーケンスである。
【００５９】
図３で実行されるステップのそれぞれは、専用のハードウェアあるいはシステムＣＰＵによりソフトウェアで実行されてもよい。どちらか一方の出来事において、画像圧縮が要求される実施形態では、動きを推定するために使用される計算がまた、フレームレベルの変位を計算するのに使用され、計算量的な複雑さを最小化することができる。図３の詳細は実装特有であることが特筆されるべきであり、それらは特定の実装に依存して変化してもよい。
【００６０】
この適応的な方法の実施形態は後の方の図４に関連して議論される。一般に、スタビライザの機構は、現在のフレームの入力されたグローバルな動きベクトル（Ｖｘ，Ｖｙ）を斟酌し、画像シーケンス中の以前のフレームの履歴（ｈｉｓｔｏｒｙ）の代表であるところのフレームベクトル（Ｆｘ，Ｆｙ）を計算するためそれらのベクトルに含まれる情報を使用する。適応的方法論を用いて推定された「累加する」フレームベクトルの組ＦｘとＦｙとはシーケンス中の画像を別の場所に移すために使用され、そしてそのようにする際に既存の技法よりもより効率的にカメラの振動を除去する。
【００６１】
図４は本発明の実施形態に従って適応的統合アルゴリズムの実施形態を描いた流れ図である。図４は図３のステップ４７に関連して議論された適応的アルゴリズム技法の代表的な実施形態を表現する。そのアルゴリズムの具体的な詳細は本発明から外れることなく変わることができるが、そのアルゴリズムの適応的な性質は一般に、シーンとカメラとの自然の動きを保存する一方で振動をより示しそうな動きを補償するよう設計されている。より具体的には、安定における使用のためにグローバルな動きベクトルをどのように加算するかについて少しでも決定するため、そのアルゴリズムはある十分な根拠のある仮定に依存する。
【００６２】
ある専門語と仮定とが適応的アルゴリズムの記述に対する前兆（ｐｒｅｃｕｒｓｏｒ）として今議論される。図４の実施形態において、そのアルゴリズムはｘ（水平）方向のベクトル要素及びｙ（垂直）方向のベクトル要素の双方に関して実行される。結果として、単純加算が使われることができ、この実施形態において向きを伴っているより複雑なベクトルに基礎づけられた計算が除去される。文字「ｎ」は画像シーケンスにおける現在の、ｎ番目のフレームを意味する。Ｖ（ｎ）は「現在の」フレーム（例えば、図３のステップ４５におけるマクロブロックレベルのベクトルから計算された、ＶＩＤＥＯ  ＩＮでの情報入力３５）のグローバルな動きベクトルの成分（すなわち、ＶｘあるいはＶｙのいずれか）である。Ｆ（ｎ−１）は、画像シーケンスの最初のフレームから直接に先行するフレーム（ｎ−１）までの、適応的に統合されたフレームの累加する履歴のグローバルな動きベクトルの成分（すなわち、ＦｘあるいはＦｙのいずれか）を意味する。Ｆ（ｎ）は、最初のフレームから現在のフレームまでの、Ｖ（ｎ）を含むすべての適応的に統合された以前のフレームのグローバルな動きベクトルの成分（すなわち、ＦｘあるいはＦｙのいずれか）である。その統合技法は計画的に適応的であり、それから圧縮技法、フレームの種類、画像シーケンスが分割される方法、及びそのいくつかが以下で述べる他の要素に依存するために、Ｆ（ｎ）だけが実際に、あるフレームのベクトルＶにより影響を受けあるいは変更されるように、いくつかのフレームが計算から省略されることに注意してほしい。
【００６３】
そのアルゴリズムは何れかの適した計算機言語で実行されることができる。代わりに、そのアルゴリズムが特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理装置、専用マイクロコントローラ、デジタルゲート、デジタル信号プロセッサ、あるいはそれについてのあらゆる組み合わせによるようなハードウェアで、もしくはハードウェアとソフトウェアとの組み合わせで実現されてもよい。後者の例において、専用ハードウェアがベクトル集約的な（ｖｅｃｔｏｒ−ｉｎｔｅｎｓｉｖｅ）計算を実行できる一方で、ある実施形態においてそのアルゴリズムのより単純な制御タスクを実行することが手で持つ装置のＣＰＵに移管されても差し支えない。
【００６４】
ステップ５１で、現在のフレームに関するグローバルな動きベクトルＶ（ｎ）が０であるか否かを判別することによりその方法は始まる。（図４において独立して取り扱われるＶｘとＶｙとを含むＶ（ｎ）が、図３で計算され現在のフレームに関連づけられた、フレームレベルのグローバルな動きベクトルを意味することを思い出してほしい。）０の値は典型的には直前にキャプチャされたフレームと比較して何らの動きあるいは変位が生じなかったことを示す。Ｖ（ｎ）が０である場合、それからＦ（ｎ）、すなわち、画像シーケンスにおける累算されたｎフレームのグローバルな動きフレームは単にＦ（ｎ−１）と等しい。別に述べたように、直前のフレームと関連する現在のフレームに動きがない場合、それからその現在のフレームは余白がパディングされた画像センサ上のその直前のフレームと同一の位置から読み出され、その直前のフレームと関連した現在のフレームにとって変位を補償することは必要ない。
【００６５】
ステップ５１においてＶ（ｎ）が０と等しくない場合、直前のフレームと関連する現在のフレームのグローバルな変位が生じたとみなされる。ステップ５３において、この変位の起こりそうな特質を確認するため、次に式Ｖ（ｎ）×Ｆ（ｎ−１）＜０が使用される。つまり、上の式はｎ番目のフレームに関連づけられた現在のグローバルな動きベクトルと、先行する全フレームの適応的統合に関連づけられたグローバルの動きベクトルとの積が０未満であるか否か、その積が正であるか負であるかの指示、を判別するために使用される。その積が０未満である場合、その積の符号は負であり、現在のフレームの動きの方向と直前のフレームの動きの方向とが異なる。特に、Ｖ（ｎ）とＦ（ｎ−１）との積が０未満である場合、Ｖ（ｎ）が負でＦ（ｎ−１）が正、あるいはＶ（ｎ）が正でＦ（ｎ−１）が負の何れか一方である。いずれの場合も、ｖ（ｎ）の動きの方向は直前（蓄積された）フレームＦ（ｎ−１）の動きの方向と逆である。現在のフレームの動きが直前のフレームのそれと逆である場合（すなわち、Ｖ（ｎ）×Ｆ（ｎ−１）＜０）、２つの動きベクトルが全体として加算ざれる。すなわち、現在のフレームは直前の重み付けされた（ｗｅｉｇｈｔｅｄ）フレームに単に加算される：Ｆ（ｎ）＝Ｖ（ｎ）＋Ｆ（ｎ−１）
この場合のように、現在のグローバルな動きベクトルの向きと直前のグローバルな動きベクトルの向きとが逆である場合、過去のベクトルが考慮される必要があるという仮定がなされる。この実施形態におけるアルゴリズムはその動きがカメラの振動が原因であることを仮定する。ビデオカメラ撮影者が手で持つ装置に関し安定した握りを維持することを試みるゆえに、しばしば変化して痙攣するようなあるいは行きつ戻りつする動きによりカメラの振動が示される。例えば、もしカメラが４画素左に動き、その後はシーンをキャプチャする際に４画素右へ動いた場合、キャプチャされた画像シーケンスが安定であるためにこの動きの結果としての安定のための動きベクトルは０である（ｎｕｌｌ）べきである。この例において、直接加算を実行することはこの機能を実行する。この検査はｘ方向とｙ方向の双方のベクトルに関して実行されることが特筆されるべきであり、開示された実施形態においては２つの方向が別々に取り扱われる。
【００６６】
代わりに、現在のベクトルに関連づけられた動きと直前のベクトルに関連づけられた動きとが同一の方向にある場合、すなわち、ステップ５３においてＶ（ｎ）×Ｆ（ｎ−１）＞０の場合、制御の流れはステップ５に進む。この点で、動きＶ（ｎ）が正常なカメラあるいは対象物の動きと対するカメラの振動に帰するか否かが判別されなければならない。まず、ステップ５５において、現在のベクトルの動きと直前のベクトルの動きとの和の絶対値が、１実施形態においては８であるパディングされた余白Ｍを超えるか否かを判別する。具体的には、
｜Ｖ（ｎ）＋Ｆ（ｎ−１）｜はＭ以上であるか？
である。上述の問いの答えが正しい、現在の動きベクトルと直前の動きベクトルとが同一の方向にあり、それらの全体としての動きの和がその余白に合うあるいは余白を超えることを意味している場合、第２の仮定がなされる。この実施形態の適応的アルゴリズムは、相対的に大きく持続的な動きのためカメラがシーン走査であることを仮定する。すなわち、そのアルゴリズムは、そのような大きさの動きがカメラの振動の結果よりもむしろ意図された動きであるという見込みを利用する。この場合、先行する動きベクトルは考慮される必要がなく、統合は実行されない。代わりに、現在のフレームのベクトルＶ（ｎ）の符号（向き）を持つ安定のための新たな動きベクトルＦ（ｎ）として「余白」が使用される。数学的にこれはＦ（ｎ）＝ｓｇｎ（Ｖ（ｎ））×Ｍとして表現される。
【００６７】
上述の状況で、カメラの制限のために余白が新たな動きベクトルとして使用される。すなわち、画像センサはカメラの余白を越えて映像を収められない。この制限を扱うため他のアルゴリズムが異なる実施形態を使用することができる。
【００６８】
代わりに、現在の動きベクトルと直前の動きベクトルとは同一の方向でそれらの和が余白Ｍを超えない場合、それからブロック５７の線型統合のステップが実行される。安定のための動きベクトルＦ（ｎ）は、その重みが現在の動きベクトルの大きさの線型関数である、現在の動きベクトルと直前の動きベクトルとの重み付け加算として計算される。この実施形態における有効な仮定は次の通りである。（１）この場合のグローバルな動きベクトルＶ（ｎ）がカメラの振動に関連づけられるか、かわりに自然の意図された動きであるかかどうかは一般的問題としては不明確である、（２）現在の動きＶ（ｎ）の大きさが大きくなればなるほど、ますますその動きはカメラの振動に帰することがなさそうで、したがってますます少ない重みが直前の動きベクトルＦ（ｎ−１）に帰するべきである、（３）現在の動きＶ（ｎ）の大きさが小さくなればなるほど、ますますその動きはカメラの振動に帰することがありそうで、したがってますます多くの重みが直前の動きベクトルＦ（ｎ−１）に帰するべきである。１実施形態において、この仮定の集合を具体化する数学的表現は
Ｆ（ｎ）＝［（１−Ｖ（ｎ）／Ｍ）×Ｆ（ｎ−１）］＋Ｖ（ｎ）
である。よって、Ｖ（ｎ）が増加するにつれて、その式は
Ｆ（ｎ）＝Ｖ（ｎ）
に近づく。この関係は、その動きが自然のあるいは意図された動きがより関連していることが仮定されていることを意味する、現在の変位に対しより多くの重みが与えられていることを表す。スペクトラムの他方で、Ｖ（ｎ）が減少するにつれて、Ｆ（ｎ−１）の影響がよりはっきりし、その式は
Ｆ（ｎ）＝Ｖ（ｎ）＋Ｆ（ｎ−１）
に近づく。上のステップ５３で提示された式と同一であるこの関係はその変位がカメラの振動に帰することがよりありそうなことであることを表す。したがって、カメラの振動に特有の小さいあるいは変化する動きを帳消しにするために直前のグローバルな動きベクトルへのＶ（ｎ）の加算に対してより多くの重みが与えられる。
【００６９】
２つの極端の間で、変位の本質がはっきりしない場合、図４の式６１によりＦ（ｎ）に中間の値が与えられる。
【００７０】
図４に示された実施形態にある、ブロック５９は直前の累加する動きベクトルＦ（ｎ−１）と現在の累加する動きベクトルＦ（ｎ）との間にただ１つのフレーム遅延が存在することを示す。この遅延はＦ（ｎ−１）とのその適応的統合とＶ（ｎ）フレームレベルの変位とを有するフレームの計算が原因である。
【００７１】
伝統的な画像安定技法において、直前の動き推定Ｆ（ｎ−１）と現在のフレームレベルの動きベクトルＶ（ｎ）とが次の式により統合される。
【００７２】
Ｆ（ｎ）＝［ｋ×Ｆ（ｎ−１）］＋Ｖ（ｎ）
ここで、「重み要素」ｋは１未満の定数である。この式は自己回帰（ＡＲ）過程である。ＡＲモデルは、将来の観測の予測における従属変数の過去の観測を含む。したがって、直前のグローバルの動きベクトルＦ（ｎ−１）は現在の累積するフレームレベルのベクトルの計算に常に使用される。ビデオを収める時の手ブレが低周波（通常、およそ１５Ｈｚ未満）の出来事であるため、その式はある程度単極（ｓｉｎｇｌｅ−ｐｏｌｅ）のローパスフィルタにより実現されることができる。定数ｋは、ローパスフィルタの減衰比を制御し、「切り抜かれた」（すなわち、縁を切り落とされ拡大された）画像がパディングされた画像の中央へゆっくりと動いていることを保証するために使用される。定数ｋは、現在のフレームレベルの動きベクトルＶ（ｎ）を統合する際に、履歴あるいは過去の相対的な重みであるともみなされてもよい。
【００７３】
しかし、この伝統的なモデルにおいて、変位ベクトルを統合する時の適応性のある特質を考慮する条件は存在しない。例えば、その伝統的な方法は、現在の変位Ｖ（ｎ）が画像センサの余白と等しい場合、履歴は重要でない（図４の式６７を参照のこと）ことを考慮に入れ損ねる。代わりに、伝統的な方法はその時点における履歴を考慮に入れ、不必要な誤りに終わる。さらに、現在の変位が０である場合、過去の動きあるいは履歴が完全に使用されるであろう（図４の式６３を参照のこと）。これは、誤りに終わり、ｋの係数により履歴を減らす伝統的な方法における場合ではない。加えて、現在の変位Ｖ（ｎ）が歴史的な変位とは違った方向にならば、カメラの振動を補償するため現在の変位と歴史的な変位とが加算されるべきである。伝統的方法はさらに、また誤りを減らすその加算より前にｋの係数により歴史的な変位を減らす。大量のカメラの振動に起因するこれらの誤りのすべてはより小さな、手で持つ装置により実に拡大される。明らかに、図３のステップ４７と図４とにおいて適応的統合が同様に使用されるべきである。そのうえ、図４の式６１に示されるように、ｋの線型補間（ｉｎｔｅｒｐｏｌａｔｉｏｎ）は定数よりも適切である。その式においてＫは（１−Ｖ（ｎ）／Ｍ）である。Ｆ（ｎ）が、共に適応的に統合された多数の中から先行する動きベクトルと現在の動きベクトルとに対応する動きベクトルを指す、累加する動きベクトルとも呼ばれることが特筆されるべきである。さらに、用語「回路」は、能動部品、能動及び受動部品、１あるいは２以上のプロセッサ、１あるいは２以上のＤＳＰ、あるいは１あるいは２以上のコントローラで実行されるソフトウェア、の集まりのような、機能を実行するためのあらゆる種類の電子的ハードウェアを幅広く包含できる。
【００７４】
開示した実施形態の先行する記載はいかなる当業者でも本発明を構成あるいは利用できるように提供される。これらの実施形態に対する様々な変形例は、当業者にとっては容易に明白であるだろうし、ここで定義された一般的な原理は、本発明の精神と範囲とから逸脱することなく適用できる。したがって、本発明は、ここで示した実施形態に限定されることを意図したものではなく、ここに開示した原理と新規な特徴と合致する最も広い範囲と一致すべきものである。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態にかかる画像スタビライザを組み入れた手で持つ装置のブロック図である。
【図２】フレームが動いている場合の典型的な画像センサの図である。
【図３】本発明の実施形態にかかる画像安定方法の機能上の（ｆｕｎｃｔｉｏｎａｌ）図である。
【図４】本発明の実施形態にかかる適応的統合を表現する流れ図である。
【符号の説明】
【００７６】
１…フィルタ／増幅器、３…レンズ、５…Ａ／Ｄ変換器、７…スタビライザ（動き推定回路を含む）、９…表示装置、１１…符号化器、１３…変調器、１５…チャネル通信ブロック、１７…復調器、１９…復号器、２１…メモリ、２５…画像センサ、２７…フレーム（ｔ１）、２９…フレーム（ｔ２）、３１…描かれたオブジェクト（ｔ１）、描かれたオブジェクト（ｔ２）、３７…余白のある入力画像、３９…参照画像、４１…マクロブロックレベルの動き推定、４３…画像の安定部分の複写、４５…動きベクトルのヒストグラムとそれらの頂点との計算、４７…動きベクトルの適応的統合、５７…線型統合、５９…１フレーム分の遅延
【図１】
2007522772.tif 000003
【図２】
2007522772.tif 000004
【図３】
2007522772.tif 000005
【図４】
2007522772.tif 000006