"ビデオを記録したカメラの元のモーション経路を推定するステップと、各時間tにおける、前記カメラの前記元のモーション経路の実質的に一定の経路、又は、実質的に一定の速度、又は、実質的に一定の加速度を決定するステップと、各時間tにおける、前記カメラの前記元のモーション経路の前記実質的に一定の経路、又は、前記実質的に一定の速度、又は、前記実質的に一定の加速度を含む、前記カメラの前記元のモーション経路の修正したモーションカメラ経路を決定するステップと、前記修正したモーションカメラ経路と、前記カメラの前記元のモーション経路とに基づいて、前記カメラの前記元のモーション経路をどのように前記修正したモーションカメラ経路に修正するかを記載する切り取りウィンドウ変換を決定するステップであって、該切り取りウィンドウ変換は、前記カメラの前記元のモーション経路に与える変化を制限する少なくとも1つの制約条件により決定されることを特徴とするステップと、前記カメラの前記元のモーション経路の視点から前記修正したモーションカメラ経路の視点へ作り直すために、前記ビデオに前記切り取りウィンドウ変換を適用するステップと、を具備するビデオを処理する方法。前記切り取りウィンドウ変換を決定するステップは、前記ビデオのビデオフレームに対して1以下の所定の縮尺の切り取りウィンドウを決定するステップであって、該切り取りウィンドウは、前記元のフレーム内に収まるよう定義されることを特徴とするステップを具備することを特徴とする請求項1に記載の方法。前記修正したモーションカメラ経路を決定するステップは、式ここで、pは前記修正したモーションカメラ経路、a,b,及びcは前記切り取りウィンドウがすべての時間tに対する前記ビデオのビデオフレーム内の収まるように定めた線形の重み付けである、を最小化するステップを具備することを特徴とする請求項2に記載の方法。前記式を最小化するステップは、L1最小化を行うことを特徴とする請求項3に記載の方法。線形の重み付けcは、重み付けa及びbの最大値より桁の大きなマグニチュードになるよう選ばれることを特徴とする請求項3に記載の方法。前記カメラの前記元のモーション経路を決定するステップは、前記ビデオのフレームの特徴点を抽出するステップと、前記ビデオの前記フレーム同士で所定の特徴を一致させるステップと、前記ビデオの前記フレーム同士で一致した前記特徴のモーションを推定するための線形モーションモデルを決定するステップと、前記カメラの前記元のモーション経路の推定を行うために前記線形モーションモデルを結合するステップと、を具備することを特徴とする請求項1に記載の方法。前記カメラの元のモーション経路の視点から修正したモーションカメラ経路の視点へ作り直すためにビデオに切り取りウィンドウ変換を適用するステップは、前記ビデオフレームに対して、内容を切り取るステップを具備することを特徴とする請求項1に記載の方法。前記少なくとも1つの制約条件には、前記元のモーション経路の前記ビデオのビデオフレーム中に前記変換したビデオのビデオフレームの一部を含めることを要求する包含による制約条件が含まれることを特徴とする請求項7に記載の方法。前記少なくとも1つの制約条件には、前記ビデオ中に実質的にズーミングを保持することを前記修正したモーションカメラ経路に要求する近似による制約条件が含まれることを特徴とする請求項7に記載の方法。前記少なくとも1つの制約条件には、前記ビデオのビデオフレーム中の選択したポイントが前記修正したモーションカメラ経路に残ることを要求する突出による制約条件が含まれることを特徴とする請求項7に記載の方法。前記少なくとも1つの制約条件には、前記ビデオのビデオフレーム中のポイントが前記修正したモーションカメラ経路のビデオフレーム中のあらかじめ定めた領域の外に出さないよう制限することが含まれることを特徴とする請求項7に記載の方法。前記少なくとも1つの制約条件には、前記ビデオのビデオフレーム中のポイントが切り取りウィンドウ内に入ることを要求することが含まれることを特徴とする請求項7に記載の方法。前記少なくとも1つの制約条件には、前記切り取りウィンドウが前記ビデオの前記ビデオフレームの内側に残留することを要求することが含まれることを特徴とする請求項12に記載の方法。前記少なくとも1つの制約条件には、関心のある領域を囲むポリゴンの各頂点が切り取ったウィンドウ内にあることを要求することが含まれることを特徴とする請求項12に記載の方法。前記少なくとも1つの制約条件は、フレーム毎に指示することを特徴とする請求項7に記載の方法。前記切り取りウィンドウは、Btであり、ここで、そして、Ctは前記元のモーション経路であり、Ptは前記修正したモーションカメラ経路であることを特徴とする請求項1に記載の方法。カメラの元のモーション経路の視点から修正したモーションカメラ経路の視点へ作り直すためにビデオに切り取りウィンドウ変換を適用するステップは、前記ビデオを安定化するステップを具備することを特徴とする請求項1に記載の方法。カメラの元のモーション経路の視点から修正したモーションカメラ経路の視点へ作り直すためにビデオに切り取りウィンドウ変換を適用するステップは、前記ビデオとは異なる解像度のアスペクトレシオの装置に合うよう標的再設定するステップを具備することを特徴とする請求項1に記載の方法。コンピュータ装置に、ビデオを記録したカメラの元のモーション経路を推定する機能と、各時間tにおける、前記カメラの前記元のモーション経路の実質的に一定の経路、又は、実質的に一定の速度、又は、実質的に一定の加速度を決定する機能と、各時間tにおける、前記カメラの前記元のモーション経路の前記実質的に一定の経路、又は、前記実質的に一定の速度、又は、前記実質的に一定の加速度を含む、前記カメラの前記元のモーション経路の修正したモーションカメラ経路を決定する機能と、前記修正したモーションカメラ経路と、前記カメラの前記元のモーション経路とに基づいて、前記カメラの前記元のモーション経路をどのように前記修正したモーションカメラ経路に修正するかを記載する切り取りウィンドウ変換を決定する機能であって、該切り取りウィンドウ変換は、前記カメラの前記元のモーション経路に与える変化を制限する少なくとも1つの制約条件により決定されることを特徴とする機能と、前記カメラの前記元のモーション経路の視点から前記修正したモーションカメラ経路の視点へ作り直すためにビデオに切り取りウィンドウ変換を適用する機能と、を実行させることを特徴とする前記コンピュータ装置で実行可能な命令、を記録した持続性のnon-transitoryコンピュータ読み取り可能媒体。前記カメラの前記元のモーション経路を決定する機能は、前記ビデオのフレームの特徴点を抽出する機能と、前記ビデオの前記フレーム同士で所定の特徴を一致させる機能と、前記ビデオの前記フレーム同士で一致した前記特徴のモーションを推定するための線形モーションモデルを決定する機能と、前記カメラの前記元のモーション経路の推定を行うために前記線形モーションモデルを結合する機能と、を具備することを特徴とする請求項19に記載の持続性のコンピュータ読み取り可能媒体。前記カメラの元のモーション経路の視点から修正したモーションカメラ経路の視点へ作り直すためにビデオに切り取りウィンドウ変換を適用する機能は、前記ビデオフレームに対して、内容を切り取る機能を具備し、前記少なくとも1つの制約条件には、前記元のモーション経路の前記ビデオのビデオフレーム中に前記変換したビデオのビデオフレームの一部を含めることを要求する包含による制約条件が含まれることを特徴とする請求項19に記載の持続性のコンピュータ読み取り可能媒体。カメラの元のモーション経路の視点から修正したモーションカメラ経路の視点へ作り直すためにビデオに切り取りウィンドウ変換を適用する機能は、前記ビデオを安定化する機能を具備することを特徴とする請求項19に記載の持続性のコンピュータ読み取り可能媒体。カメラの元のモーション経路の視点から修正したモーションカメラ経路の視点へ作り直すためにビデオに切り取りウィンドウ変換を適用する機能は、前記ビデオとは異なる解像度のアスペクトレシオの装置に合うよう標的再設定する機能を具備することを特徴とする請求項19に記載の持続性のコンピュータ読み取り可能媒体。ビデオを受け取り、該ビデオ内の物体のモーションに基づき、該ビデオを記録したカメラの元のモーション経路を推定するよう構成されたカメラ経路推定エンジンと、前記カメラの前記元のモーション経路をどのように前記修正したモーションカメラ経路に修正するかを記載する切り取りウィンドウ変換を決定し、該切り取りウィンドウ変換は、前記カメラの前記元のモーション経路に与える変化を制限する少なくとも1つの制約条件により決定されるよう構成されたビデオ安定化及び標的再設定エンジンと、前記カメラの前記モーション経路の視点から前記修正したモーションカメラ経路の視点へ作り直すために前記ビデオに前記切り取りウィンドウ変換を適用するよう構成されたビデオ変換エンジンと、を具備することを特徴とするカメラ経路変換システム。前記ビデオ安定化及び標的再設定エンジンは、各時間tにおける、前記カメラの前記元のモーション経路の実質的に一定の経路、又は、実質的に一定の速度、又は、実質的に一定の加速度を決定し、各時間tにおける、前記カメラの前記元のモーション経路の前記実質的に一定の経路、又は、前記実質的に一定の速度、又は、前記実質的に一定の加速度を含む、前記カメラの前記元のモーション経路の修正したモーションカメラ経路を決定するよう構成されていることを特徴とする請求項23に記載のカメラ経路変換システム。前記カメラ経路推定エンジンと、前記ビデオ安定化及び標的再設定エンジンと、前記ビデオ変換エンジンを具備するビデオホスティングサーバーをさらに具備することを特徴とする請求項23に記載のカメラ経路変換システム。前記ビデオホスティングサーバーは、前記ビデオを受け取り、該ビデオを安定化させるために、前記カメラの前記元のモーション経路の視点から前記修正したモーションカメラ経路の視点へ作り直し、そして、該安定化させたビデオをビデオホスティングウェブサイトにアップロードさせるよう構成されていることを特徴とする請求項25に記載のカメラ経路変換システム。以下の詳細な説明では、参照図面を参照して、開示するシステム及び方法の種々の形態及び機能について説明する。図面において、特に記載がない限り、類似の記号は類似の構成要素を示す。図解したシステム及び方法についてここに記載した実施の形態は、限定することを意図するものではない。開示したシステム及び方法が種々の異なった構成で配置し及び組み合わせることができることは明らかであり、このような構成はすべてここで予期されるものである。本明細書は、特に、記録した映像の安定化及び標的再設定のためのシステム及び方法を開示する。例えば、ビデオに生じた、少なくとも揺れの部分を除去することにより、記録した映像を安定化することができ、ビデオを異なるアスペクトレシオに適するように修正することにより、ビデオの標的再設定が可能となる。本明細書は、例えば、修正したビデオが元の記録した映像の有効なピクセルを含み、及び/又は、突出した領域及び対象物を保持するのに必要な制約を加えることにより、記録した映像の安定化及び標的再設定を行うための実施例を記載する。1つの実施例によれば、ビデオは、後処理技術を行うことにより安定化させることができる。ビデオを記録したカメラの元の経路例えば、モーションを推定し、新しい安定した/滑らかなカメラ経路を推定し、このビデオを元の経路から滑らかなカメラ経路に作り直すためにこのビデオを処理することができる。1つの実施例によれば、新しいカメラ経路を推定するために、元のフレームサイズに対する縮尺より小さい所定の縮尺の仮想的な切り取りウィンドウを指定することができる。元のカメラ経路と滑らかなカメラ経路との間の差異に対する変換を、記録した映像から、揺れを除去するために、例えば、あたかも滑らかなカメラ経路からビデオを撮ったかのような記録した映像に作り直すために切り取りウィンドウを用いて、記録した映像に適用することができる。切り取りウィンドウが元のフレームに適合しない場合は、1つの実施例によれば、描き出したモーションを用いて未定義領域を埋めることができる。他の実施例によれば、未定義領域が生じないような制約を加えることができる。1.カメラ経路平行移動システムの実施例ここで、図1を参照すると、カメラ経路平行移動システム100のブロック図が示されている。このカメラ経路平行移動システム100には、カメラ経路推定エンジン102、ビデオ安定化及び標的再設定エンジン104、及び、ビデオ平行移動エンジン106が含まれる。このカメラ経路平行移動システム100は、ビデオを受け取り、そのビデオにビデオ安定化処理を行うように構成することができる。例えば、カメラ経路推定エンジン102は、受け取ったビデオ内の物体のモーションに基づいてビデオを記録したカメラの経路を推定することができる。そして、ビデオ安定化及び標的再設定エンジン104は、新しい安定した/滑らかなカメラ経路を推定することができ、このビデオ安定化及び標的再設定エンジン104により決定した滑らかなカメラ経路の視点から受け取ったビデオを作り直すことができる。システム100の記載した1以上の機能又は構成要素は、付加的な機能的要素又は物理的構成要素に分割することも、もっと少ない機能的要素又は物理的構成要素に統合することもできる。さらに、実施例によっては、図1に示した実施例に、付加的な機能的要素、及び/又は、物理的構成要素を付加することができる。さらに、カメラ経路推定エンジン102、ビデオ安定化及び標的再設定エンジン104、及び/又は、ビデオ平行移動エンジン106のいずれもは、ここに記載した論理機能を実施するための1つ以上の命令を含むプログラムコードを実行するよう構成されたプロセッサー例えば、マイクロプロセッサー、ディジタル信号プロセッサーDSP、等の形で、含むこと又は提供することができる。システム100は、プログラムコードを記憶させるために、例えば、ディスクドライブ、ハードディスクドライブを含む記憶装置のような任意のコンピュータ読み取り可能媒体持続性のnon-transitory媒体を含むことができる。他の実施例において、カメラ経路平行移動システム100は、他のシステム中に含まれることがある。図2は、カメラ経路平行移動システム202を含むビデオホストサービス200のシステム像を示すブロック図である。複数のユーザー/視聴者は、クライアント204A~Nを用いて、ビデオをアップロードするために、ビデオホストサービス200にビデオホスティング要求をビデオホスティングウェブサイトに送り、ビデオホストサービス200から、要求したサービスを受け取ることができる。このビデオホストサービス200は、ネットワーク206を介して、1以上のクライアント204A~Nと通信するように構成することができる。ビデオホストサービス200は、有線又は無線により、クライアント204A~Nからビデオホスティングサービス要求を受け取ることができる。図2に記載された個々の内容に戻って、ユーザーが各クライアント204A~Nをユーザーを使って、ビデオホスティングサービスを要求することができる。例えば、ユーザーは、ビデオを共有又は上演するため、クライアント204Aを用いて、ビデオのアップロード要求を送ることができる。クライアント204A~Nは、パーソナルコンピュータ例えば、デスクトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、ラップトップコンピュータのような任意のタイプのコンピュータ装置とすることができるとともに、携帯電話、携帯端末、又は情報処理が可能なビデオプレーヤーのような、装置とすることができる。クライアント204A~Nには、表示装置又は表示装置への出力、及び、タスクを実行するときにユーザーにより用いられるデータをクライアント204A~Nが記録するハードディスクドライブ又はフラッシュメモリー装置のような、ローカル記憶装置と、ネットワーク206を介して、ビデオホストサービス200と接続させるためのネットワークインターフェースとを含めることができる。クライアント204A~Nには、ビデオストリームを上演するためのビデオプレーヤー208A~N例えば、Adobeシステムのフラッシュプレーヤー、又はメーカー独自のものを含めることができる。ビデオプレーヤー208A~Nは、スタンドアロンアプリケーション又は、ネットワーク又はインターネットブラウザのような他のアプリケーションへのプラグインとすることができる。クライアント204A~Nが汎用装置例えば、デスクトップコンピュータ、携帯電話である場合、プレーヤー208A~Nは、このコンピュータにより実行可能なソフトウェアとして実施される。クライアント204A~Nが専用装置例えば、専用ビデオプレーヤーである場合、プレーヤー208A~Nは、ハードウェア又はハードウェアとソフトウェアの組み合わせにより実施される。プレーヤー208A~Nには、ビデオ送り、開始、停止、及びビデオ送りの巻き戻しを選択するために、ユーザーインターフェース制御及び、インターフェースをプログラムするための対応するアプリケーションを含めることができる。また、プレーヤー208A~Nには、ユーザーインターフェース中に、ビデオディスプレーフォーマット例えば、標準解像度のTV、又は、高解像度のTVを表示するよう構成された、ビデオディスプレーフォーマット選択を含めることができる。他の形式のユーザーインターフェース制御例えば、ボタン、キーボード制御も、再生の制御のため、及び、プレーヤー208A~Nのビデオフォーマット選択機能を制御するために用いることができる。ネットワーク206により、クライアント204A~Nとビデオホストサービス200との間の通信が可能となる。1つの実施の形態において、ネットワーク206はインターネットであり、クライアント204A~Nがビデオホストサービス200と通信できるようにする、既知の又は実質的に開発済の標準化されたインターネットでの通信技術及びプロトコルを用いる。別の実施の形態において、ネットワーク206は、クライアント204A~Nとビデオホストサービス200との間での無線通信を可能とする無線携帯ネットワークとすることができる。ビデオホストサービス200は、カメラ経路平行移動システム202、ビデオサーバー210、インジェストサーバー212、及びビデオデータベース216を具備する。ビデオサーバー210は、ユーザービデオホスティングサービス要求にこたえて、ビデオデータベース216からビデオ提供するよう構成することができる。インジェストサーバー212は、ユーザーがアップロードしたビデオを受け取り、ビデオデータベース216中にこのビデオを保存するよう構成されている。ビデオデータベース216は、ユーザーがアップロードしたビデオと、カメラ経路平行移動システム202により処理されたビデオとを保存するよう構成することができる。1つの実施の形態では、ビデオデータベース216は、大きなビデオの集成を保存する。カメラ経路平行移動システム202には、カメラ経路推定エンジン218、ビデオ安定化及び標的再設定エンジン220、及びビデオ平行移動エンジン222を含めることができる。カメラ経路平行移動システム202は、インジェストサーバー212からユーザーがアップロードしたビデオを受け取りを行うよう、及び、ビデオのビデオ安定化を行うよう構成することができる。2.ビデオ安定化1つの実施例によれば、カメラ経路推定エンジン218は、受け取ったビデオ内の物体又は画像のモーションに基づき、ビデオを記録したカメラの経路を推定することができる。カメラ経路は、ビデオのフレームの追跡可能な特徴点を抽出し、特徴点の一致、及び、モーション推定をゆがめる恐れのある偽りの適合性を除くために異常値除去を行うことで、推定することができる。線形モーションモデル例えば、平行移動、相似、アフィンは、2つのフレーム間でカメラのモーションを推定するために追跡した特徴点に適し、このモーションモデルは、共通座標系に変換することができ、ビデオのすべてのフレームについて推定された元のカメラ経路を生み出すために結合することができる。ビデオ安定化及び標的再設定エンジン220は、次いで、制約条件に基づいて安定した/滑らかな新しいカメラ経路を推定することができる。例えば、底部垂直線を、望ましい垂直カメラ経路モーションとなるよう規定することができ、制約条件を制約量で修正することができるように設定することができるカメラモーションが下方に動く場合、画像中のピクセルは先のフレームと協調して情報に動き、ピクセルの底の列は、制約条件で許される範囲で除去され又は切り取られる。滑らかなカメラ経路は、カメラ経路推定エンジン218により推定するので、元のカメラ経路の微分を最小限にすることで推定することができる。推定した滑らかなカメラ経路は、一定モーション、線形モーション、又は放物線モーションの部分に分けることができる。各部分は、未処理のモーションを避けるために、部分部分を重ね合わせるというよりむしろ、静止部分とすることができる。1つの実施例によれば、一定部分、線形部分、及び放物線部分からなるカメラ経路Ptを推定するために、制約条件L1を最小化する解とするための最適化を行うことができる。L1/L2のノルムの計算は、この基準を用いて行うことができる。L1の最小化により、結果として、多くの部分で上記の微分がゼロになる経路となることがある。L1のカメラ経路は、一定カメラ、線形モーション、及び一定加速度に似た部分から構成することができる。他の、実施の形態によれば、L2の最小化は、上記微分を平均して結果的に小さく、しかしおそらく傾きゼロにならないように最小化するために用いることができる例えば、小さいいがゼロではないモーションを有するL2カメラ経路となることがある。加えて、制約条件を満たしながら上記微分を最小化するようなカメラ経路Ptを決定することができる。種々の制約条件は、包含条件、近似条件、突出条件のようなものとして用いることができる。包含条件では、カメラ経路Ctで長方形に変換された元のフレームに常時又は実質的に常時含まれるように、経路Ptで変換された切り取りウィンドウを必要とする。近似条件には、意図する元の動きを保持する又は実質的に保持する新しいカメラ経路Ptが含まれ、例えば、元の経路にズーミング部分が含まれている場合、新しいカメラ経路はこのモーションに従うことができる。突出条件には、Ptにより変換されたすべて又は一部の切り取りウィンドウ中の突出した点例えば、顔検出により得られたもの、又は、突出マップ中で得られる一般的条件で得られたものが含まれる。ビデオ平行移動エンジン222は、例えば、刈り込みを行った揺れの少ないビデオを生成するためにビデオに変換を施すことにより、ビデオ安定化及び標的再設定エンジン220により決定した滑らかなカメラ経路の視点から、受け取ったビデオを作り直すことができる。従って、1つの実施の形態において、ビデオ安定化は、1フレーム毎のモーション変換Ftの推定、2最適カメラ経路Pt=CtBtの決定ここで、Ctはモーション変換Ftに基づき、Btは以下に説明するような推定された切り取りウィンドウ変換である、3Btにより歪ませることにようビデオの安定化、により行うことができる。図3は、ここに記載した少なくともいくつかの実施の形態による、カメラ又はカメラ経路の元のモーションを推定するためにビデオを処理するための方法の実施例のブロック図である。図3に示す方法300は、例えば、システム100及び200で用いることができ、例えば、装置、サーバー、又は装置とサーバーを組み合わせたもので実行できる、方法の実施の形態を表している。方法300には、ブロック302、304、306、308、及び310の1以上で表したような1以上の操作、機能、又は動作を含めることができる。ブロックは順番に記載されているが、これらのブロックは、一部、並行して実行することができ、追加のブロックに分割することができ、及び/又は、記載とは異なる順序で実行することができる。また、種々のブロックは少ないブロックに結合することができ、及び/又は、実施例での必要性に応じて省略することができる。加えて、方法300及びここに記載した他の処理及び他の方法のために、フローチャートにより、本実施の形態の1つの可能な実施例での機能と操作とを示す。これに関連して、各ブロックは、モジュール、セグメント、又はプログラムコードの一部を表すことができ、具体的な論理関数又は処理ステップを実行するためのプロセッサーにより実行可能な1つ以上の命令が含まれる。プログラムコードは、例えば、ディスクやハードディスクドライブを含む保存媒体のような任意の形式のコンピュータ読み取り可能媒体に保存することができる。コンピュータ読み取り可能媒体には、例えば、レジスタメモリー、プロセッサーキャッシュ及びランダムアクセスメモリRAMのような短期間データを保存するコンピュータ読み取り可能媒体のような、持続性のnon-transitoryコンピュータ読み取り可能媒体を含めることができる。コンピュータ読み取り可能媒体には、また、例えば、リードオンリーメモリーROM、光学ディスク又は磁気ディスク、コンパクトディスクリードオンリーメモリーCD-ROMのような、二次的な又は永久的な長期記憶装置のような、持続性のnon-transitory媒体を含めることができる。コンピュータ読み取り可能媒体には、他の揮発性の又は不揮発性の記憶システムを含めることができる。コンピュータ読み取り可能媒体は、例えば、コンピュータ読み取り可能記憶媒体、実体的な記憶装置、又は他の製造物と考えることができる。加えて、方法300及びここに開示した他の処理及び方法について、図3の各ブロックは、その処理における具体的な論理関数を実行するために配線した回路を表すことができる。ブロック302にて、記録した映像を受け取る。ブロック304にて、ビデオのフレーム中で追跡可能な特徴点の一致部分が抽出される。例えば、ビデオの各フレーム中で追跡可能な特徴点が抽出され、又は、ビデオの実質的にすべてのフレーム中で追跡可能な特徴点が抽出される。ビデオのフレーム中で追跡可能な特徴点は、OpenCV中に組み込まれた、ピラミッド型のLucas-Kanade特徴点追跡のような、特徴点追跡ソフトウェアを用いて追跡することができる。特徴点は、多くの方法を用いてフレームからフレームへと追跡することができる。追跡する特徴点の実施例には、画像のx及びy寸法に沿って強さが変化する画像の角が含まれる。別の実施例では、2つのフレームの間で追跡可能な特徴点は、最初のビデオフレーム中で例えば、x及びy位置に基づき多くの特徴点を抽出し、次のビデオフレーム中でこの抽出特徴点を追跡することで、抽出することができる。例えば、ビデオが、連続した画像I1,I2,Inである場合、ビデオフレームのペアは、It-1、Itとなり、ビデオフレーム同士で特徴点のペアを抽出することができる例えば、フレームIt-1での特徴点xについて、特徴点xと同じ空間位置にある点で対応する特徴点yをフレームItで見つけられる。小さなイントラフレームモーション及び照度変化の少ない状態で、It-1での特徴点xの周りに集中した小さな画像パッチ例えば7×7ピクセルの輝度値とItにおける適合する点yはほぼ同一である。It-1での各特徴点xについて、It-1x=Itxdのような、変位ベクトルを定めることができ、従って、先の記号例えば、特徴点の一致x<->yを用いて、xd=yとなる。この表現は、xの周りでテイラー級数展開を行うことで線形化することができ、未知の変位ベクトルdにおいて線形となる、DItxd=It-1x-Itxを得ることができる。さらに決定すべき式の線形システムは、正規方程式を用いることによりすなわちガウス消去法による、シンメトリック線形システムATAd=ATb、ここでATはAの転置、を解くことにより解くことができる。この処理は、ピラミッド型のLucas-Kanade追跡と称することがある。1つのフレームから次のフレームへと特徴点の追跡を行っている間に、誤差が蓄積するかもしれない。潜在的な不完全な特徴点の一致を検出するために、現在のフレーム中の特徴点の周りのウィンドウ中の画像を、その画像が第1のフレーム中の特徴点の周りの画像に類似するかどうかを決定するために、監視することができる。特徴点は多くのフレームにわたって遺跡され、画像の内容は変化することがある。整合性を確認するために、類似性マッピング又はアフィンマッピングに加えて、フレームからフレームへの特徴点追跡のために用いられる平行移動マッピングを行うことができる。特徴点の一致する複数のペア、すなわち、各ペアがそれぞれ第1のフレームと第2のフレームとに位置する特徴点に対応する複数のペア、を決定するために、ビデオのすべてのビデオフレームについて、この処理を実行することができる。ブロック306にて、モーション推定を歪曲する可能性のある偽りの抽出された特徴点の一致又は特徴点ペアを除くために、複数の独立したモーションレイヤーを考慮に入れて、全体的な異常値の削除ではなく、又は全体的な異常値による削除に加えて現場での異常値の削除を行うことができる。ビデオフレーム間での一致特徴点ペアのいくつかは、正しくないことがあり、取り除くことができる。対応するペアとして間違って特定されていた一致特徴点ペアを取り除くために、ランダムサンプルコンセンサスRANSACのようなアルゴリズムを用いることができる。このアルゴリズムは、監視データ内の異常値を特定することができる。例えば、すべての特徴点ペアは内座層、すなわち分配をモデルパラメーターとして表現できるようなデータとして初期化することができる。平均数学移動例えば、特定の方向に等間隔ですべての点を動かすを内座層ペアに基づき計算することができる。移動が平均移動と閾値の量以上に異なるペアを内座層から取り除き、モデルに適しないデータ異常値として分類することができる。閾値の量は、観測した結果に基づいて決定することができる。小さい閾値は、多数の特徴点ペアを取り除くために使い、大きな閾値は、少数の特徴点ペアを取り除くために使うことができる。内座層から取り除かれなかった特徴点ペアの平均数学移動を決定することにより、このアルゴリズムを複数回例えば、回数を固定して複数回行うことができる。別の実施例において、偽の特徴点の一致を取り除くための現場での異常値除去を行うために、モデルを特徴点ペアに適合させることができる。モデルは、数学的移動又は他の線形変換により形成することができる。特徴点ペアがそのモデルに適合する場合は、特徴点ペアは、内座層と考えられる。多数の点が内座層と分類される場合は、このモデルは、合理的に十分であるとすることができる。このモデルは、ここで内座層と考えられるすべての特徴点ペアから再推定することができる。この処理は、固定回数だけ繰り返すことができ、各回で、内座層と分類した点が少なすぎるため排除されたモデル又は対応する誤差対策を持つ洗練されたモデルのいずれかを生成することができる。独立の移動物体を考慮に入れて、現場での異常値除去は、フレーム毎の細分化にテコ入れし、特徴点ペア毎の各領域でモーションモデルの現場での2D移動を適用することにより、行うことができる。フレーム毎の細分化を用いることにより引き起こされるオーバーヘッドを減少させるために、例えば、各フレームに同様のブロックサイズの方形領域で細分化した領域に置き換える推定モードを用いることもできる。加えて、最も目立つ領域中の移動物体から特徴点ペア取り除くことができる。例えば、現場で異常値として除去された特徴点ペアは、特徴点ペアからRANSACを用いて基本マトリックスFを推定することにより、独立した移動する前景と固定した背景領域として分類することができ、ここで、基本マトリックスFは、立体画像の対応する点についての3×3マトリックスである例えば、立体画像ペアの対応する点の均質な画像座標x及びx’により、Fxは、他の画像の上にある対応する点x’の上の線エピポーラ線を表現する。基本マトリックスの制約条件に忠実である領域は、背景領域とラベル付けすることができ、この制約条件に反する領域は、前景領域とラベル付けすることができる。さらに他の実施例において、偽りの特徴点の一致を取り除くための現場での異常値除去を行うために、特徴点を50×50ピクセルのグリッドに分離することができ、RANSACを各グリッドのセルに対して行うことで、具体的な閾値の距離以内例えば2ピクセル未満に適合する平行移動モデルを推定することができ、推定したモデルを保持することができる。さらに他の実施例において、現場での異常値除去のため、隣接する特徴点は、類似の変位ベクトルを有する必要がある。これは、例えば、グリッドによる領域又は画像の分割から得られた知覚的に均質な領域を用いて画像を領域に分割することにより行うことができる。各領域Rに対して、この領域に位置するランダム変位ベクトルdを選択し、選択したベクトルdに対して所定の距離2ピクセル以内にある、領域R内の多数の変位ベクトルを決定することができる内座層と称される。この処理は、何度も最大の内座層に繰り返すことができる。この処理は、例えば、各領域に適用することができる。ブロック308にて、2次元2D線形モーションモデル例えば、平行移動、相似、アフィンを、ビデオフレーム間での、又は連続するビデオフレーム間でのカメラのモーションを記述するために追跡可能な特徴点の一致に適合させることができる。例えば、ビデオは連続する画像I1,I2,Inとなり、各フレームペアIt-1、Itは、ItからIt-1への特徴点xのモーションをモデル化する線形モーションモデルFtxと結び付けることができる。1つのフレームから次のフレームへ特徴点の一致をマッピングする、線形変換のために例えば、右方向へ10ピクセル動く特徴点は、カメラが左へ10ピクセル動くことと等価であるような、フレーム間のモーションを記述するために最小二乗適合を計算することができる。数学的に言い換えると、最小二乗適合は、各特徴点ペアを一致させるための平行移動の平均ということができる。一例として、結果として各特徴点ペアとなる線形変換例えば、1つのビデオフレームから次のビデオフレームで一致させた特徴点ペアの特徴点のモーションを記述する線形変換となる線形モーションモデルを追跡した特徴点ペアの一致に適合させることにより、元のカメラ経路Ctの推定を行うことができる。最初のフレームの特徴点を{x1,,xn}で表現することができ、第2のフレームで対応する特徴点を{x’1,,x’n}で表現することができる。1つの実施例によれば、Sは結果の質又は条件を改善することができる。一般に、特徴ポイントの位置は、マトリックスJで用いられ、Jのマトリックス要素が例えば、-1と1との間で類似するようにさせることが望ましい。式4は、ビデオのビデオフレームの各々に対して又は、ビデオの任意の数のビデオフレームに対して多数の線形モーションモデルについて解くものである。多くの線形モーションモデルは、平行移動モデル{Fx;t=xt}、相似性モデル{Fx;t、a、b=[a-b;ba]xt}、及びアフィンモデル{Fx;t、a、b、c、d=[ab;cd]xt}として用いることができる。この式を解くための1つの例示的アプローチでは、正規方程式の形式を用いる、すなわち、A^TAp=A^Tbであり、^Tはマトリックスの転置を意味する。これにより、k×k線形システムとなりここで、kはpにおける自由度の数である、例えば、ガウスの消去法を用いて解くことができる。追跡可能な特徴点の一致のための2次元2D線形モーションモデル例えば、平行移動、相似、アフィンを定めるための、別の方法も可能である。例えば、パラメトリックモーションモデル、すなわち、平行移動自由度DOF2、相似DOF2の平行移動、DOF1の拡大縮小、DOF1の回転、アフィンDOF6、又はホモグラフィーDOF8のような、パラメータ又は自由度DOFにより表現することのできるモーションに対して、特徴点の一致に対して現場で削除された異常値に適合することができる。線形モデルは、位置xでマトリックスを乗算することにより、すなわちy=A[p]xにより、ここでAはマトリックス、pはパラメータ。残差r=y-A[p]xはモーションパラメータp又はAを構成するそれぞれのDOFについて最小化することができる。これは、pの周りにテイラー級数展開により、r=y-DA[0;x]p-xを生じさせることにより残差を線形化することにより行うことができ、ここで、DA[0;x]:=JxはpについてマトリックスAの微分又はヤコビアンであり、p=0及びxで評価される。従って、r=y-x-Jxpとなる。パラメータ表現pは、残差が最小になるように定めることができ、正規方程式ATAp=ATb又はA’p=b’により解くことのできる形式Ap=bのオーバーデターミンシステムを、お互いにすべての残差を積み重ねることにより生じさせることにより、実行することができる。最前面のモーションによる異常値を減少させるために、各行A’及びb’を乗算し、対応する残差rの絶対値の逆数をとることで、反復再重み付け最小二乗法IRLSを使うことができ、例えば、約20回で残差の解を求めることができる。rは、2次元ベクトルであり、正規方程式による最小化は、rの二乗根のノルムL2、すなわち、|r|{L2}=rxrxryryで求めることができるに注意すべきである。このような最小化により、背景モーションのモーションモデルとは対照的な、背景及び前景モーションの混合であるモーションモデルを推定することができる。他の実施例では、L1ノルムの最小化を行うことができるすなわち、成分の絶対値の和である、|r|{L1}=|rx||ry|。pについて解く代わりに、|Ap-b|{L2}=最小、とし、続いて|Ap-b|{L1}=最小、を解くようにすることができる。A及びbを上記のように計算する一方、pを求めるために正規方程式及びガウスの消去法を用いることができる。最小化は、-e<Ap-b<eのように書くことができ、eは、eの各成分>0の要件を満たすベクトルである。従って、eのL1ノルムは最小化することができ、例えば、-e<Ap-b<eを条件として1Teここで1はすべて1を有するeと同じ次元を持つベクトルであるである。1つの実施例によれば、フレームペア毎の少なくとも所定の数の特徴点の一致例えば、N=30を要件とし、さもなければ、そのフレームに信頼できないとのフラグを立てることで、信頼できないモーションモデルを検出することができる。他の実施例によれば、低次元モーションモデルから高次元モーションモデルへの推定例えば、相似からホモグラフィへの推定は、信頼できないモーションモデルを検出するために、低い次元が閾値例えば、4ピクセルを満たす高次元のモデルとの一致を用いることにより、実行することができる。さらに別の実施例によれば、最高次元のモーションモデルが信頼できないとみなされた場合例えば、回転、縮小拡大、又は奥行きが大きすぎる場合、計算した他のモデルにも信頼できないとのフラグを立てることができる。各フレームのモーションモデルに信頼できる又はできない、のラベル付けを行う発見的解法を用いることもできる。信頼できないモーションモデルは、廃棄することができ同一化へと向かう。付加的な厳格な制約条件を、最適なL1カメラ経路の推定に付加することができ、例えば、この経路を信頼できないフレームのモーションモデルの近傍に静止させることができる。このような例において、最適化したカメラ経路は、この部分にある元の揺れのある経路と同一になる。これらの例において、ビデオデータの一部が崩れていて、信頼性のあるモーション推定が不可能である又は決定できない場合、例えば、元の揺れのあるビデオデータをこの部分に用いることができる。ブロック310にて、各特徴点ペアに対する線形モーションモデルFは、共通座標系に変換され、結合して元のカメラ経路の推定を生成する。例えば、各特徴点ペアに対してすべての線形モーションモデルを結合することで、元のカメラ経路の推定となる、ビデオの各フレーム間のモーションを記述することができる。カメラ経路は累積した経路であり、従って、カメラ経路が2つの連続するフレーム間その他で、10ピクセルだけ左に動く場合、5番目のフレームに届くまでに、カメラは、例えば全体として50ピクセルの距離だけ動くことがある。ビデオフレームIt及びIt1の特徴点ペア間での変換Fの逆の変換Gt=Ft-1を、座標変換として用いることができる。変換Gtは、フレームItで定義される座標系に関して計算できることに注意すべきである。従って、すべての線形モーションモデルを結合することができるようにGtを共通座標系に変換するために、座標系は、例えば、Gtの座標系のように、任意に選択することができる。元のカメラ経路の推定は、フレームペア変換G1,G2,,Gm-1を結合することにより得ることができ、ここでmはフレームの数を表す。フレーム毎の線形モーションモデルの推定は、時間について誤差の蓄積をもたらし、従って、各フレームは、先のNフレームに関して追跡可能となり、ここでNは固定である例えば、速度と精度とのトレードオフで、Nは3から約5とすることができる。他の実施例において、すべてのパラメータはすべてのフレームについて合同で推定することができる。従って、Ctは、元のカメラ経路の推定であり、時間ごとのパラメトリック線形モーションモデルで記述される。例えば、ビデオは、連続した画像I1,I2,,Inであり、各フレームペアIt-1、Itは、ItからIt-1までの特徴ポイントxのモーションをモデル化する線形モーションモデルFtxと結び付けることができる。図3の方法300を用いて、カメラの元のモーション又はビデオレコーディングの元のカメラ経路の推定を行うことができる。続いて、新しい安定した又は滑らかなカメラ経路の推定を決定することができる。この安定した又は滑らかなカメラ経路により、歩行者が記録したハンドヘルドによるパンニングショット又はビデオで生じる高周波数のジッターを軽減し、低周波の歪みを取り除くことができる。図4は、ここに記載した少なくともいくつかの実施の形態による、カメラ又はカメラ経路の更新した又は修正したモーションを推定するための、ビデオを処理する方法の実施例ブロック図である。図4に示した方法400は、例えば、システム100及び200で用いることができ、例えば、装置で、サーバーで、又は装置とサーバーを組み合わせて実行することができる方法の実施の形態を示す。方法400には、1以上のブロック402~410で示したような1以上の操作、機能、又は動作を含めることができる。ブロックは、順番に記載されているが、これらのブロックは、一部、並行して実行することができ、及び/又は、記載とは異なる順序で実行することができる。また、種々のブロックは少ないブロックに結合することができ、追加のブロックに分割することができ、及び/又は、実施例での必要性に応じて省略することができる。ブロック402にて、元のカメラ経路モーションの推定を受け取る。ブロック404にて、元のカメラ経路モーションの変化を制限する制約条件を受け取る。実施例の制約条件には、元のカメラ経路モーションのフレームに常に滑らかなモーションのフレームを含むことを要求する包含による制約条件、記録した映像の元の意図を保存する例えば、元のカメラ経路モーションがズーミング部分を含む場合は、滑らかなカメラ経路モーションもまたズーミングを含む滑らかなモーションを要求する近似による制約条件、及び、突出したポイント例えば、顔検出器又は突出マップでの一般的な検出により得られたポイントを滑らかなカメラ経路モーション中のすべての新しいフレーム又は新しいフレームの一部に含めることができる、突出による制約条件が含まれる。他の実施例として、制約条件は、更新したカメラ経路モーションにより、すべての時間で、元のカメラ経路モーションのビデオフレームウィンドウ内に収まるビデオフレームウィンドウとなることを示すことができる。ブロック406にて、コスト関数を受け取り、最小化を行う。2つの異なる部分の接続は、知覚的に無限大の加速度を持つ場合があり、これは、ビデオ中の突然のジャークjerkとして知覚することができ、従って、一定加速度の経路を使うことができる。連続する元のカメラ経路モーションをCtとすると、例えば、上記の式5を用いて得られたように、求める滑らかな経路Ptは以下のように表すことができる。Pt=CtBt式6ここで、Bt=Ct-1Ptは、最終的に安定化したビデオを取得するために記録した映像の各ビデオフレームに適用することのできるカメラ安定化変換又は切り取り変換として記述することができる例えば、切り取りウィンドウの外側の内容をすべて取り除くために各ビデオフレームに切り取りウィンドウを適用する。安定化した又は滑らかなカメラ経路モーションは、式5から既知のCtを用いてビデオ内容の有効性を確保するための強制的な制約条件と共にL1最適化を行うことにより、推定することができる。最適化は、コスト関数を最小化することにより行うことができる。線形重み付けa、b、及びcにより、Btにより変換されたビデオフレームがすべての時間tで制約条件に収まる。式7は、例えば、各導関数をゼロに設定することにより最小化することができる。したがって、導関数はカメラ経路例えばフレーム毎に沿って異なる点で定めることができ、導関数はすべてのフレームの各点で決定することができる。1つの実施の形態によれば、式7におけるコスト関数の重み付けはあらかじめ決めておくことができる。代替的に、重み付けの値は専門的撮影画面から決めることができる。例えば、専門的ビデオでは、別の種類のカメラモーションを有し、ジッターがモーションに加えられた場合、元の滑らかなカメラ経路を取り戻すためにビデオ安定化アルゴリズムを実行することができる。元の経路に非常に近い結果をもたらす重み付けを定めることができる。別の実施例として、式7におけるコスト関数の重み付けを決めるために、3つの導関数の制約条件の内の1つが最小化できさえすれば、連続的でない、ジャークのある直線的経路又はゼロモーションのない滑らかな放物線のいずれかにより、元の経路を近似することができる。図5A~図5Dは、合成した元のカメラ経路502に基づき決定した最適なカメラ経路500の実施例のグラフを示す。図5Aは、重み付けを、a=1、及びb=c=0のように選んだ連続的でない一定経路を含む最適なカメラ経路500を示す。図5Bは、重み付けを、a=c=0、及びb=1のように選んだ突然の変化を有する直線経路を含む最適なカメラ経路500を示す。図5Cは、重み付けを、a=b=0、及びc=1のように選んだ滑らかな放物線を含み及びゼロモーションのない最適なカメラ経路500を示す。1つの実施の形態において、式7における3つの物体のすべては同時に最小化することができる。ぴくぴく動くモーションが安定化したビデオ内に目立つことがあり、重み付けa及びbの最大値より桁の大きなマグニチュードを重み付けcに選んだとき、ぴくぴく動くモーションを最小化することができる。例えば、図5Dは、重み付けを、a=10、b=1、及びc=100ように選んだ最適なカメラ経路500を示す。さらに、内在する線形モーションモデルを選択することで、安定化させたビデオに影響を与える。相似性の代わりにアフィン変換を用いることは、例えば、2の自由度を加える利点があるが、安定性を失うという影響を与えるゆがみに誤差をもたらす。しかしながら、相似性はアフィン変換のように、非線形のフレーム間のモーション又は巻き上げシャッター効果のモデル化ができず、目立つ残差のゆれとなることがある。同様に、4度のDOFを持つ線形の相似性は、at=dt、及びbt=-ctに設定することにより得られる。式9~11における重み付けしたL1のノルムは、対応するベクトルptによりパラメータ化することにより更新したすべての変換Btについて、最小にすることができる。式~における残差は、線形プログラミングを用いて解くことができる。例えば、パラメータ形式の式~における残差のL1のノルムを最小化することはスラック変数を用いて行うことができる。各残差は、Nのスラック変数を用いることができ、ここでNは、内在するパラメータであり、アフィン変換の場合はN=6である。nのフレームに対して、例えば、これは約3nNのスラック変数の導入に対応する。目的は、c=1の場合のL1のノルムを最小化することに対応するcTeを最小化することである。cの重み付けを調整することにより、この最小化は特定のパラメータに向けることができ、例えば、厳密なアフィン部分を他の平行移動部分より大きく重み付けすることができる。これは、変換とアフィンとは異なる縮尺を有するので有効であり、平行移動部分に対するアフィン部分の重み付けを、例えば、1001にすることができる。線形プログラミングを用いて、制約を受けて式を最小化するように、制約条件を最適なカメラ経路に適用することができる。ここで、ptは、フレームの長方形内の中心に切り取りウィンドウを変換する、切り取りウィンドウ変換Bのパラメータを表すことを想起するべきである。切り取りウィンドウ変換Bは、元のビデオの意向を保存するために、Bが元のカメラ経路モーションからずれる量を制限するために、切り取りウィンドウ変換Bを制約することができる。したがって、厳密な境界条件をパラメータptのアフィン部分に適用することができ、式の1つの実施例に含まれる。式における最初の2つの制約条件は、ズーム及び回転における変化の範囲を制限し、式における後の2つは、スキューの量と画一でない縮尺を限定することで、厳密にアフィン変換を与える。図6は、ビデオフレームの長方形と切り取りウィンドウの長方形の実施例を示す。図6に示すように、Btで変換され切り取った長方形のすべての4つのコーナーが座標[0w]×[0h]の元のフレームの長方形内にある。追加の制約条件を、相似変換及びアフィン線形モーションモデル変換に滑らかさの条件として適用することができる。例えば、相似変換において、縮尺、回転、平行移動の組み合わせを用いることができる。重み付けa及びbを相似変換[Fx;t、a、b=[a-b;ba]xt]に用いて、滑らかさの制約条件をPtに適用することができる。tが平行移動に対応する一方、縮尺Scaleと回転Rotationは以下のようにa、bに対応する。a、bに対して滑らかさは保っているが、回転と縮尺は、滑らかさを保っていない可能性がある。s及びθに対して滑らかさの条件を適用することが非線形になることがあるので、推定したカメラ経路を、s及びθが大きくずれないようにするために用いることができる。例えば、縮尺と回転に対する制約条件を以下のようにすることができる。1つの実施の形態において、堅固な制約条件を出っ張った形の変換ポイントの形でモデル化することができる。例えば、ptのアフィンパラメータ化のために、制約条件は以下の式25で示すことができる。w及びhは、元のフレームの長方形の寸法である例えば、図6に示す。図4の方法400に戻って、ブロック408にて、元のフレームサイズに関するあらかじめ定めた1以下の縮尺の切り取りウィンドウ変換Btを、制約条件及び残差の最小化の条件の下で決定する。1つの実施例によれば、前述の式6に示したように、Pt=CtBtであり、ここで、Btは切り取りウィンドウ変換である。切り取りウィンドウ変換は、パラメータ化ベクトルptに関して、最小化cTeを行うことにより決定することができる。ここで、ここsw、eは式14で示した上限及び加減であり、wは重み付けである。残差のL1ノルムを最小化するために、スラック変数eのL1ノルムを最小化することができる。ベクトル形式において、例えば、最小化は、ce又はcteの内積で記述することができ、ここでcはすべて1のベクトルである。別の実施例では、cは、対応する成分として、式7からa、b、cの重み付けを含むことができる。関数cTeは、以下のような種々の制約を受けて最小化することができる。1つの実施例によれば、cTeは最小化されるが、線形プログラムにおいて、制約条件におけるすべての変数を決定することができる滑らかさ、近似性、及び包含による値の線形結合を、スラック変数を介してモデル化することができる。従って、各フレームtに対して、対応するパラメータptを決定することができ、式12に示すようにBt=Ax;ptとなる。ブロック410にて、切り取りウィンドウ変換Btを決定した後、切り取りウィンドウ変換を元のビデオに適用し、ビデオを再フォーマット又はビデオを安定化させる。例えば、切り取りウィンドウ変換を、元のビデオの領域又はフレームサイズ内の固定サイズの切り取りウィンドウに適用することができる。切り取りに使った、切り取りウィンドウ内のピクセルをコピーすることで、元のビデオを、滑らかなカメラ経路の視点から作り直す。別の実施例において、サブピクセルの精度を達成するために、バイリニア又はバイキュービック混合により、補間することができる。ビデオを作り直すと、ある前提のもとで元のカメラモーションが特徴点の滑らかなモーションと等価になる。例えば、カメラの平行移動のために、カメラから対象物までの距離が、任意の方向への速度より十分大きい場合は、固定カメラは、結果的に固定特徴点となり、カメラの側方への定速度は、結果的に特徴点の一定速度となり、深さ方向の定速度は、結果的に特徴点が概略一定速度となり、同じ近似が加速度に対してなされる。別の実施例として、カメラズームについて、一定速度ズームは、結果的に特徴点の一定速度となる。さらに、別の実施例として、カメラの回転について、特徴点のモーションの微分は、角速度の二乗としてすることができる。図7は、3つのビデオフレームと各ビデオフレームに対する切り取りウィンドウの実施例を示す。この実施例として、カメラ経路Ct=C1、C2、C3は既知であり、図7の3つのビデオフレームの間での特徴点のモーションを描写している。特徴点は、各々の個々のビデオフレームにおけるドットで示されている。切り取りウィンドウはBtで記述され、3つのビデオフレームの各々の中の長方形ボックスとして示されている。図4の方法に記載した最小化処理を用いて、ビデオフレーム間の残差モーションR1及びR2を最小化又は取り除くことができる。第2のビデオフレームが、B2により変換され、残差R1がゼロの場合、既知の特徴経路F2に沿うビデオフレームはB1に等しい。このようにして、次のビデオフレームには、前のビデオフレームのビデオ内容が含まれるが、結果としてビデオはより安定する。図8A及び図8Bは、カメラ経路モーション802に対する更新した又は滑らかなカメラ経路モーション804の実施例のグラフを示す。例えば、図8Aは、x軸に沿うモーション又は水平モーションを示す。元のカメラ経路モーション802は最適なL1経路と比べて周波数が変化している。図8Bは、y軸に沿うモーション又は垂直モーションを示す。ビデオを記録している間に人が歩くことによる低周波の跳躍を、固定カメラモデルで置き換えることができ、その結果、グラフ上で時間の関数として、カメラのモーションが直線、実質的に直線、又は直線部分の集まりとして表すことができる。上述の通り、図3及び図4で示した方法の実施例を用いて、2Dの元のカメラ経路モーションCtは、最初に推定することができ、そして、新しい経路Ptを決定することができる。カメラ安定化切り取り変換Btを決定することができ、Ctを安定化し、その結果Ptとなる。1つの実施の形態において、最初の推定ステップCtとそれに続く経路Ptを最適化するステップの2つのステップでPtを解く代わりに、両方のステップを、特徴の一致点から安定化変換を直接最適化することにより同時に行うことができる。他の実施例において、残差の最小化のためにCtを必要としないで、フレーム毎の変換Ftで十分な場合がある。同様に、Ptを罫線しないで、Btを得ることができる。しかし、実施例によっては、Ct及びPtを、連結して計算することができる。上記図3及び図4で示した方法の実施例において、元のカメラ経路モーションCtの推定を、フレームペア用い、そして、一次微分を基にして行うことができる。この方法は、カメラ経路の微分の連結を必要とし誤差の蓄積をもたらすNのフレームに基づくものである。図3及び図4で示した方法の実施例を用いて上述したように、元のカメラ経路モーションは、平均特徴経路変換の逆変換に近似する例えば、カメラが左に動いたとき、画像ピクセル内容又は画像ピクセルの特徴は右に動く。平均値は堅固な特徴点に対して計算することができる。他の実施例として、元のカメラ経路モーションの推定及び新しい最適なカメラ経路の決定を、すべての又はいくつかの特徴点を同時に安定化するために、行うことができる。例えば、すべての特徴に対して例えば平行移動モデルに対してL1最小化を用いて、より堅固な、平均に対抗するものとして特徴の軌道の中央値を結果として得られる。フレーム安定化変換Atは、各フレームで推定することができる。Atは、上述の図3及び図4の方法のカメラ経路又は切り取りウィンドウを変換することの逆変換として、各ビデオフレーム及びそのフレーム中の等価な特徴を変換する。例えばすなわち、フレーム安定化変換は切り取りウィンドウ変換の逆変換である。Atは、また、特徴点をカメラの方向とは逆の方向に動かすカメラ経路の揺れと解釈することができる。特徴点に揺れをその代わりに適用した場合、揺れは、特徴点を安定化させる。実施例において、A0=I同一である、すなわち揺れがない、A1=カメラが10ピクセル右に平行移動する[Aixy=x10y]である。A1は、特徴点を左へ10ピクセルだけ動かすことができる、すなわちフレーム0で0,0は、フレーム1で-100に動く。-100にA1を適用することで、フレームは0,0に戻り、これによりフレームが安定化する。安定化させた特徴点Gtは、以下に示す元の特徴Ftの関数として表現することができる。Gkt=AtFkt[k:特徴点指標]Gki=AiFki[i:時間指標]滑らかさの基準は、最小化することにより以下のようにGkに適用される。式33は、カメラ経路の逆変換としてのすべての点にわたる総和となる可能性に注意すべきである。切り取りウィンドウが元のフレーム内に残すための制約条件を、代替的方法で扱うことができる。例えば、前述のように制約条件を適用して、制約条件式を式34のように示すことができる。ここで、wは、切り取りウィンドウの角である。しかし、これは、Aの逆数の項で表現することができ、Aのパラメータにおいて非線形例えば、二次式である。線形フレームワークを維持するために、Aの回転及び相似成分は、フレームウィンドウの角の変換により、フレームウィンドウの角が直近の切り取りウィンドウの角までの距離より大きく動くことのないように、十分小さいと想定することができる。この想定により、変換されたフレームウィンドウの角を、元のフレームウィンドウの角により形成され他長方形の中であって、その反対のエンドポイントとして直近の切り取りウィンドウの角に置くことにより、Aに対してより強固な制約条件を与える。この制約条件は、次のように表現することができる。すなわち、Letr_xr_y=Atv、ここで、vは、元のフレームウィンドウの角のうちの1つ例えば、{0,00,11,01,1}のうちの1つである。また、好ましい縮尺の切り取りマスクに基づき固定された切り取りウィンドウに、左、頂部、底部、それぞれ、cl、ct、cb、crだけ右に境界を設ける。したがって、制約条件は。ここで、nは、不等式がAvを切り取った長方形に置くことに対応するように符号をつけた、切り取り長方形の境界線に対応する線分である。図9A及び図9Bは、ビデオフレーム900及び特徴点a、b、c、及びdの実施例を示す。この実施例において、点aは式35の制約条件により、Aのラベルが付いたボックスの外に出ることができない右側又は底部の境界を示す点線を横切ることができない。一方、図4の方法で上述した制約条件では、変換したフレームウィンドウが小さい切り取りマスク902例えば、図9A及び図9Bに示した長方形の内部を含んでいる限り、点線を越えたモーションが可能である。しかし、回転と縮小拡大は小さいことが望まれるので、これらの限定的な制約条件が妥当である。さらに他の実施例では、安定化のために元のカメラ経路モーションの推定及び新しい最適なカメラ経路の決定を、フレームペア間での単一の変換を多く用い、すべての特徴点に対する変換をあまり用いないで、行うことができる。例えば、フレームペア間で少しの変換を用いることができ、変換の各々は異なる動きをする画像の異なる領域に対応することができる。各領域は異なる変換、従って式13の異なるMマトリックスに対応することができる。式13は下記のようになる。ここで、kは領域変換の数を意味する。この変換の数は特徴の数例えば、数百のオーダーより少なく例えば、3から4、従って取り扱いやすく安定である。変換の各々は、例えば、前景/背景の分離背景より前景を安定化させる、領域のサイズちいさな領域より大きな領域を安定化させる、及びテクスチャー加工の程度テクスチャー加工されていない領域よりテクスチャー加工された領域を安定化させるのような、種々の要素に応じて異なった重み付けを持つことができる。カメ、ラ経路の最適化により、すべての変換にわたる経路の滑らかさのL1ノルムを最小化する安定化を決定することができる。この最適化により、領域の不安定性を取り除く一方、滑らかにするために一群の変換を選択することが導かれる。変換が滑らかになるような選択は、ここの重要性重み付けの組み合わせにより決定することができる。3.内容認識ビデオの安定化及びビデオの標的再設定実施の形態の範囲内で、何らかの方法で記録した映像の変更を行うため又は変更を制限するために、任意の数の線形制約条件を加えることができる。例えば、切り取りウィンドウが元のビデオフレーム内に残るように制約条件を加えることができる。他の形式の制約条件を、元のビデオフレーム内の例えば、顔検出器からの顔や他の突出した又は、ユーザーが印をつけた物体/領域のような、内容認識制約条件として用いることができる。内容認識制約条件は、全体的に例えば、ハードな制約条件、又は、ある程度例えば、ソフトな制約条件、切り取りフレームに残る領域として特定することができる。推定した滑らかなカメラ経路がキーフレームから他のフレームへと制約条件を広めることができるので、この制約条件は、フレーム毎に特定することもできる。1つの実施例によれば、境界ボックスのような境界ポリゴンを用いて関心のある領域を表している場合、閉じ込めるための1つの制約条件としては、ポリゴンの各頂点が切り取ったウィンドウ内にあることとすることができ、例えば、具体的な突出点が切り取りウィンドウ内に存在することを必要とすることができる。vがポリゴンの1つの頂点である場合、カメラ経路の最適化したフレームワークにおいて、制約条件は、式36の逆となり以下で表すことができる。これは、ハードな制約条件と考えることができ、切り取ったウィンドウ内に関心のある領域を残すように制限することができる。別の実施例として、もっと緩やかな制約条件として、切り取ったウィンドウの外に出る頂点にペナルティーを科す、ソフトな片務的な制約条件がある。1つの実施例によれば、特定の突出点が切り取りウィンドウ内にあることを要求するために、安定化変換Ftの逆変換、すなわち、特徴点変換Wt例えば、ワープ変換を各フレームItの特徴点に適用することができる最適化を行う。Ftの逆変換はGt=Ft-1で表すことができる。切り取りウィンドウをBtで変換する代わりに、静的な切り取りウィンドウ内のモーションが、静的なモーション、線形モーション、又は放物線モーションからなるような現在の特徴の変換Wtを決定する。変換はBt=Wt-1として得られる。図10は、突出点が固定した切り取りウィンドウ内に常駐するようなビデオフレームを変換するための固定した切り取りウィンドウを含むビデオフレームの実施例を示す。上部の3つのビデオフレームは、元のビデオフレームを表し、固定した切り取りウィンドウをこのビデオフレームを変換するために用いる。図示の通り、特徴の変換は、既知であり、特徴ポイントは下部の3つのビデオフレーム上に点で表されている。ワープ変換を用いることにより、上部の3つのビデオフレームは、固定した切り取りウィンドウ内にすべての内容が留まるように下部の3つのビデオフレームに変換され、ここでフレーム内のモーションが安定する。最小化のためのワープ変換の対応する対象物は上記式7と同様に以下のように表すことができる。1つの実施例によれば、突出内容に対する制約条件は、ワープ変換を用いて特定することができる。例えば、例えば突出点マップ内に作られた特定の点又は、例えば、顔検出器からの特徴的領域は、切り取りウィンドウ内に残るよう制約することができる。制約bx、byは、上部左端からどれだけ離れてそれらの突出点があるかを示し、同様の制約条件が下部右端に導入される。図11は、ビデオフレーム1100とビデオフレーム1100の変換のための切り取りウィンドウ1102の実施例を示す。図11には、ビデオフレーム1100を変換するための標準的な座標系が含まれている。bx=cx及びcy=byにすることにより、突出点siを切り取りウィンドウ内に置くこととなる。bx>cxにするために、突出点を切り取りウィンドウ1102の領域、例えば、中心に動かすことができる。εx,εy=0にすることにより、これはハードな制約条件であるが、この制約条件はフレーム長方形に含めるという制約条件と矛盾する可能性があり、経路の滑らかさを犠牲にするかもしれない。従って、εx及びεyは、線形プログラミングの初期化のための対象例えば、cTeに加えることのできる新しいスラック変数として扱うことができる。関連する重み付けにより、滑らかな経路と標的再設定の制約条件とのトレードオフを調整することができ、重み付けを10とする実施例を用いることができる。包含のための制約条件を用いることができ、切り取りウィンドウポイントが最適化特徴変換の逆変換により変換することができるので、包含のための制約条件を上述のように調整することができる。1つの実施例によれば、変換されたフレームの角は、例えば上述の図9A及び図9Bに示したように、切り取った長方形の周りの長方形の領域内にあることを必要とすることがある。4.残差モーションシャッターのブレ及び横揺れの除去揺れ除去のためのフレーム間でのモーションのモデル化のために、相似より高い数のDOFを有するモーションモデルが必要となる。1つの実施の形態において、最適なカメラ経路を構築するために相似性Stと共にハイブリッドアプローチを用いることができる。最適なカメラ経路は、記録した映像のすべてのk=30のキーフレームに対して、ミスアラインメントを考慮に入れた高次元のホモグラフィを用いて決定することができる。図12は、ビデオのビデオフレームの実施例と、そのビデオフレームに対するウォブルサプレッションの実行を示す。低次元の相似性S2は、高次元のホモグラフィH2により置き換えることができる。各中間的フレームについて、この置き換えに、先のキーフレームを適用することができる。これは、結果として、図12に示すような、ピクセル毎に、q1及びq2のサンプル位置となる例えば、約2~5ピクセルの平均誤差があると、2つの位置で線形混合を用いることを可能とする。1つの実施例によれば、整合性のために、ゆがみは先のキーフレームから前方に及び次のキーフレームから後方に、位置q1及びq2を線形に混合して、計算することができる。図12のカメラ経路の実施例おいて、C2=C1F2である。図12において、F2は、変換は相似である例えば、C2=C1S2ことを表すためにS2として表される。最適経路変換P2とP1との間の関係を決定するために、1つの実施例において、ビデオを完全に安定化することができるならば、P2=P1S2、これは、L1最小化における残差がゼロであることを示すことがある。しかしながら、一般に、このようなことは起こらないことがあり、従って、P1からP2への変換は、相似、及び、P2=P1S2T2のような残差モーションT2として言及することができる。従って、モーションT2=S2-1P1-1P2である。1つの実施例によれば、T2は、導入された種々の制約条件の原因となる安定化変換S2の一番上に重ねる滑らかな付加的なモーションと考えることができる。経路変換P2は、S2を、P2の式において高いパラメータのモーションモデルH2例えば、ホモグラフィで置換することにより、再計算することができ、P’2=P1H2T2となる。これは結果として、より安定した結果となることがあり例えば、より多くの自由度をぶれのあるシャッター、等に適用することができる、ドリフト例えば、スキュー、透視、等の連なりに起因する不安定性を導くこともある。ドリフトを取り除くため又は埋め合わせるため、計算したPt例えば、相似に基づくドリフトのないをキーフレーム例えば、30番目毎のフレームで用いることができ、その間に置換H2を用いることができる。1つの実施例によれば、この置換は、先のキーフレーム及び次のキーフレームから採用し、P’n及びPnを決定する。揺れを減らした新しいカメラ経路は、a’P’naPnの平均で重みづけたものとして得られる。線形の重みづけをキーフレームまでの距離、例えば、先のキーフレームではa’は1でありa=0であり、次のフレームでは、a’=0でありa=1である、線形区間の距離、に基づいて用いることができる5.ビデオ標的再設定安定化に加えてあるいは安定化よりむしろ内容認識制約条件も標的再設定に用いることができる。標的再設定とは、記録した映像とは異なる解像度のアスペクトレシオを持つ装置に合うよう記録した映像を修正することを指す。ここに記載した方法を用いて、切り取りウィンドウを、例えば、対象とする装置のアスペクトレシオに合致させることができる。さらに、内容認識制約条件を切り取りウィンドウ内にある突出した内容を確実にするために用いることができる。代替的に、特徴点の安定を行うこともできる。1つの実施の形態において、標的再設定のために、フレームのペア毎に前方特徴変換を推定し結果として得られたMマトリックスを例えば、安定化について用いる代わりに、式13高次の項も含むを最小化の代わりに、例えば安定化について、下式の最小化に対応して多くのマトリックスM=I単位行列とする。ビデオ標的再設定により、突出点、すなわち、視覚的に目立つ領域を保持しながらビデオのアスペクトレシオを変更することができる。切り取りウィンドウはあらかじめ定めた固定のサイズとすることができる。例えば、縮尺は、ビデオ安定化を最初に行うことによりあらかじめ定めることができ、次いで、すべてのフレームに対して変換したフレームウィンドウ内に適合する可能な最大サイズに切り取りウィンドウを広げる。すなわち、Atv、ここでvはすべてのフレームtのウィンドウの角である、を決定する。線分mで表された最大の長方形を、以下のように決定することができる。mは位置合わせした軸となることができるので、全時間にわたって、フレームウィンドウの最小値と最大値を決定することにより、この長方形の計算を完了することができる。1つの実施の形態において、フレーム変換Atが可能な限り大きなフレームウィンドウとなるよう、片側制約条件に制約条件を加えることができる。対応する対象と制約条件は以下の形となる。6.実施例のシステム及びコンピュータプログラム製品図13は、ここに記載した少なくともいくつかの実施の形態に従い構成した計算機システムで用いられたコンピュータ装置1300の実施例を示す。このコンピュータ装置は、パーソナルコンピュータ、モバイル機器、携帯電話、ビデオゲームシステム、又はグローバルポジショニングシステムとすることができ、クライアント装置、サーバー、システム、これらの組み合わせ、又は、図1及び図2に記載した構成部品の一部として実施することができる。基本構成1302、コンピュータ装置1300には、1つ以上のプロセッサー1310及びシステムメモリー1320が含まれる。メモリーバス1330は、プロセッサー1310とシステムメモリー1320との間の通信に用いられる。好みの構成に応じて、プロセッサー1310は、マイクロプロセッサーμP、マイクロコントローラーμC、又は、これらの組み合わせとすることができる。メモリーコントローラー1315は、プロセッサー1310と共に、又は、実施形態中で用いることができ、メモリーコントローラー1315は、プロセッサー1310の内部に設けることが可能請求項ある。好みの構成に応じて、システムメモリー1320は、これに限定されるものではないが、RAMのような揮発性メモリー、ROM、フラッシュメモリー、等のような不揮発性メモリー、又はこれらの組み合わせを含むどのようなタイプのものでもよい。システムメモリー1320には、1以上のアプリケーション1322及びプログラムデータ1324を含めることができ。アプリケーション1322には、本明細書の開示に従う、電子回路への入力を出力するよう構成したビデオ安定化アルゴリズム1323を含めることができる。プログラムデータ1324には、どのようなタイプのデータにも適したビデオ内容情報1325を含めることができる。いくつかの例示的な実施の形態において、アプリケーション1322は、オペレーティングシステム上でプログラムデータ1324と共に動作するよう構成することができる。コンピュータ装置1300は、付加的な特徴又は機能、及び、基本構成1302と任意の装置及びインターフェースとの間の通信を容易にする付加的なインターフェースを持つことができる。例えば、データ記憶装置1340は、取り外し可能な記憶装置1342、取り外しのできない記憶装置1344、又はこれらの組み合わせを含んで提供することができる。取り外し可能な記憶装置及び取り外しのできない記憶装置の実施例には、いくつかの例をあげると、フレキシブルディスクドライブ及びハードディスクドライブHDDのような磁気ディスク装置、コンパクトディスクCDドライブ又はディジタル多目的ディスクDVDドライブ、ソリッドステートドライブSSD、及びテープドライブが含まれる。コンピュータ記憶媒体には、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、又は他のデータのような情報を記憶させる方法又は技術に組み込まれた、揮発性及び不揮発性媒体、持続性媒体、取り外し可能媒体、及び、取り外し不可能媒体を含めることができる。システムメモリー1320及び記憶装置1340は、コンピュータ記憶媒体の実施例である。コンピュータ記憶媒体には、これに限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリー又は他のメモリー技術、CD-ROM、ディジタル多目的ディスクDVD又は他の光学的記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶又は他の磁気記憶装置、又は、必要な情報を記憶するために用いることができ、コンピュータ装置1300がアクセスすることができる他の媒体を含めることができる。このようなコンピュータ記憶媒体は、装置1300の一部をなすことができる。コンピュータ装置1300には、表示装置1360又はスピーカーのような種々の外部装置と1つ以上のAVポート1354又は通信インターフェース1370を介して通信するように構成することができる、グラフィック処理ユニット1352を含む出力インターフェース1350を含めることもできる。通信インターフェース1370には、1以上の通信ポート1374を介してネットワーク通信により1以上の他のコンピュータ装置1380と通信を容易にするよう構成することができるようにする、ネットワークコントローラー1372を含めることができる。この通信接続は通信媒体の1つの実施例である。通信媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、又は、搬送波又は他の搬送機構のような、変調されたデータ信号中の他のデータを統合することができ、任意の情報送信媒体を含むことができる。変調されたデータは、1以上の特性を有する信号とすることができ、信号中に情報をエンコードするためのような方法で変化させることができる。実施例の方法により、これに限定されるものではないが、通信媒体には、有線ネットワークすなわち直接的な電線による接続、及び、音波、ラジオ周波数RF、赤外線IR、及び他の無線媒体のような配線媒体を含めることができる。コンピュータ装置1300を、携帯電話のような小型フォームファクタ携帯又はモバイル電子装置、携帯情報端末PDA、パーソナル媒体プレーヤー装置、ワイヤレスウェブ監視装置、パーソナルヘッドセット装置、特定アプリケーション装置、又はこれらの機能を含むハイブリッド装置の一部として組み込むことができる。コンピュータ装置800は、ラップトップコンピュータ構成及び、ラップトップではないコンピュータ構成の両方を含むパーソナルコンピュータとしても実施することができる。いくつかの実施の形態において、開示した方法は、機械で読み取り可能なフォーマットでコンピュータ読み取り可能媒体又は他の持続性の媒体又は商品上にエンコードしたコンピュータプログラム命令として実施することができる。図14は、本明細書に記載した少なくともいくつかの実施の形態により構成したコンピュータ装置においてコンピュータ処理するためのコンピュータプログラムを含むコンピュータプログラム製品1400の実施例の概念的な部分図を概略的に示す。1つの実施の形態において、コンピュータプログラム製品1400の実施例は、信号搬送媒体1401を用いて提供される。信号搬送媒体1401には、1以上のプロセッサーで実行したとき図1~図13について上述した機能の全部または一部を提供する、1以上のプログラム命令1402を含めることができる。従って、例えば、図3及び図4に示した実施の形態を参照して、ブロック302~310、及び/又は、ブロック402~410の1つ以上の形態を、信号搬送媒体1401に結び付けられた1以上の命令により実行することができる。加えて、図14のプログラム命令1402は、例示的な命令を記述することもできる。いくつかの実施例において、信号搬送媒体1401は、これらに限定されるものではないが、ハードディスクドライブ、コンパクトディスクCD、ディジタルビデオディスクDVD、ディジタルテープ、メモリー、等のようなコンピュータ読み取り可能媒体1403を包含することができる。いくつかの実施において、信号搬送媒体1401は、これらに限定されるものではないが、メモリー、読み/書きRWCD、RWDVD、等のようなコンピュータ読み取り可能媒体1404を包含することができる。いくつかの実施において、これらに限定されるものではないが、ディジタルの、及び/又は、アナログの通信媒体例えば、光ファイバーケーブル、導波管、有線通信リンク、無線通信リンク、等のような通信媒体1405を包含することができる。従って、例えば、信号搬送媒体1401は、無線形式の通信媒体1405例えば、IEEE802.11標準又は他の通信プロトコルに準拠した無線通信媒体で搬送することができる。1つ以上のプログラミング命令1402は、例えば、コンピュータで実行可能な命令、及び/又は、論理命令とすることができる。いくつかの実施例において、コンピュータ読み取り可能媒体1403、コンピュータ記憶媒体1404、及び/又は、通信媒体1405のうちの1つ以上で、コンピュータ装置1300に送られたプログラミング命令1402に応答して、図13のコンピュータ装置1300のようなコンピュータ装置が、種々の操作、機能、又は動作を行うよう構成することができる。当然のことながら、ここに記載の構成は、単なる実施例である。従って、当業者であれば他の構成又は他の構成要素例えば、機械、インターフェース、機能、順序、及び機能のグループ分け、等を用いることができること、及び、いくつかの構成要素は省略しても所望の結果が得られることを理解するであろう。さらに、ここに記載の構成要素の多くは、別々の又は分散した構成部品として、又は任意の組み合わせ及び場所で他の構成部品と組み合わせて、実行することのできる、機能的存在として記述している。多くの特徴及び実施の形態をここに開示したが、他の特徴及び実施の形態が可能なことは当業者には明らかである。ここに開示した種々の特徴及び実施の形態図解のためのものであり、限定を意図するものではなく、実際の権利範囲は以下の特許請求の範囲によって示されるものであり、特許請求の範囲で示したような範囲と均等なものも含まれる。当然のことながら、ここに記載の用語の言い回しも特定の実施の形態を説明するためだけのものであり、限定のためのものではない。"