(57)【要約】  一実施形態において、方法は、マルチメディア・クリップの記録中におけるカメラの運動に対応する、カメラの１つまたは複数の動きを決定する工程を含む。本方法は、記録中に存在する１つまたは複数の光量を決定する工程と、決定された動きおよび決定された光量から、マルチメディア・クリップについての動きぶれ計量値を決定する工程も含む。本方法は、動きぶれ計量値に基づいて、マルチメディア・クリップに対してビデオ安定化ルーチンを適用するか否かを決定する工程をさらに含む。
2016535948.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング・デバイスが、カメラの１つまたは複数の動きを決定する工程であって、前記動きはマルチメディア・クリップの記録中におけるカメラの運動に対応する、工程と、
前記コンピューティング・デバイスが、前記記録中に存在する１つまたは複数の光量を決定する工程と、
前記コンピューティング・デバイスが、決定された前記動きおよび決定された前記光量から、前記マルチメディア・クリップについての動きぶれ計量値を決定する工程と、
前記コンピューティング・デバイスが、前記動きぶれ計量値に基づいて、前記マルチメディア・クリップに対してビデオ安定化ルーチンを適用するか否かを決定する工程と
を備える、方法。
【請求項２】
前記カメラの前記動きのうちの１つまたは複数を決定する工程は、
前記コンピューティング・デバイスが、動きセンサから情報を受け取る工程と、
前記コンピューティング・デバイスが、前記動きセンサの情報から、前記カメラの１つまたは複数の角度の向きの変化を決定する工程と、を含み、
前記動きセンサは、ジャイロスコープである、
請求項１に記載の方法。
【請求項３】
記録中における前記カメラの前記運動は、少なくとも部分的にはカメラぶれに起因する、請求項１に記載の方法。
【請求項４】
前記コンピューティング・デバイスは、ジャイロスコープおよび前記カメラを備えるスマートフォンである、請求項１に記載の方法。
【請求項５】
前記記録中に存在する前記光量のうちの１つまたは複数を決定する工程は、前記コンピューティング・デバイスが、前記マルチメディア・クリップの１つまたは複数の画像フレームについての露光時間を決定する工程を含む、請求項１に記載の方法。
【請求項６】
前記マルチメディア・クリップについての前記動きぶれ計量値を決定する工程は、前記コンピューティング・デバイスが、前記マルチメディア・クリップの複数のフレームについての露光時間とカメラの向きの変化との積を決定する工程を含む、請求項１に記載の方法。
【請求項７】
前記マルチメディア・クリップについての前記動きぶれ計量値を決定する工程は、前記コンピューティング・デバイスが、前記複数のフレームについての前記露光時間と前記カメラの向きの変化との前記積の平均値を決定する工程をさらに含む、請求項６に記載の方法。
【請求項８】
前記ビデオ安定化ルーチンを適用するか否かを決定する工程は、前記コンピューティング・デバイスが、前記動きぶれ計量値が所定の閾値未満であるか否かを決定する工程を含む、請求項１に記載の方法。
【請求項９】
前記ビデオ安定化ルーチンを適用するか否かを決定する工程は、前記コンピューティング・デバイスが、前記マルチメディア・クリップに対して前記ビデオ安定化ルーチンを適用した後、前記マルチメディア・クリップの約９５％以上が動きぶれアーチファクトを実質的に含まないか否かを決定する工程を含む、請求項１に記載の方法。
【請求項１０】
前記ビデオ安定化ルーチンを適用するか否かを決定する工程は、前記コンピューティン
グ・デバイスが、前記マルチメディア・クリップに対して前記ビデオ安定化ルーチンを適用した後、前記マルチメディア・クリップの約５％未満が動きぶれアーチファクトを含むか否かを決定する工程を備える、請求項１に記載の方法。
【請求項１１】
ソフトウェアを具現する１つまたは複数の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアは、実行されるとき、
カメラの１つまたは複数の動きを決定する工程であって、前記動きはマルチメディア・クリップの記録中におけるカメラの運動に対応する、工程と、
前記記録中に存在する１つまたは複数の光量を決定する工程と、
決定された前記動きおよび決定された前記光量から、前記マルチメディア・クリップについての動きぶれ計量値を決定する工程と、
前記動きぶれ計量値に基づいて、前記マルチメディア・クリップに対してビデオ安定化ルーチンを適用するか否かを決定する工程と、
を行うように動作可能である、媒体。
【請求項１２】
前記ソフトウェアは、実行されるとき、
動きセンサから情報を受け取る工程と、
前記動きセンサの情報から、前記カメラの１つまたは複数の角度の向きの変化を決定する工程と、を行うようにさらに動作可能であり、
前記動きセンサは、ジャイロスコープである、
請求項１１に記載の媒体。
【請求項１３】
記録中における前記カメラの前記運動は、少なくとも部分的にはカメラぶれに起因する、請求項１１に記載の媒体。
【請求項１４】
コンピューティング・デバイスは、ジャイロスコープおよび前記カメラを備えるスマートフォンである、請求項１１に記載の媒体。
【請求項１５】
前記ソフトウェアは、実行されるとき、前記マルチメディア・クリップの１つまたは複数の画像フレームについての露光時間を決定する工程を行うようにさらに動作可能である、請求項１１に記載の媒体。
【請求項１６】
前記ソフトウェアは、実行されるとき、前記マルチメディア・クリップの複数のフレームについての露光時間とカメラの向きの変化との積を決定する工程を行うようにさらに動作可能である、請求項１１に記載の媒体。
【請求項１７】
前記ソフトウェアは、実行されるとき、前記複数のフレームについての前記露光時間と前記カメラの向きの変化との前記積の平均値を決定する工程を行うようにさらに動作可能である、請求項１６に記載の媒体。
【請求項１８】
前記ソフトウェアは、実行されるとき、前記動きぶれ計量値が所定の閾値未満であるか否かを決定する工程を行うようにさらに動作可能である、請求項１１に記載の媒体。
【請求項１９】
前記ソフトウェアは、実行されるとき、前記マルチメディア・クリップに対して前記ビデオ安定化ルーチンを適用した後、前記マルチメディア・クリップの約９５％以上が動きぶれアーチファクトを実質的に含まないか否かを決定する工程を行うようにさらに動作可能である、請求項１１に記載の媒体。
【請求項２０】
１つまたは複数のプロセッサと、
前記プロセッサに結合されており前記プロセッサによって実行可能な命令を含むメモリ
と、を備えるシステムであって、前記プロセッサは、前記命令を実行するとき、
カメラの１つまたは複数の動きを決定する工程であって、前記動きはマルチメディア・クリップの記録中におけるカメラの運動に対応する、工程と、
前記記録中に存在する１つまたは複数の光量を決定する工程と、
決定された前記動きおよび決定された前記光量から、前記マルチメディア・クリップについての動きぶれ計量値を決定する工程と、
前記動きぶれ計量値に基づいて、前記マルチメディア・クリップに対してビデオ安定化ルーチンを適用するか否かを決定する工程と、
を行うように動作可能である、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、マルチメディア・クリップのビデオ安定化に関する。
【背景技術】
【０００２】
スマートフォン、タブレット・コンピュータ、またはラップトップ・コンピュータなどモバイル・コンピューティング・デバイスは、ＧＰＳ受信機、方位磁石、ジャイロスコープ、または加速度計など、その場所、方向、または向きを決定するための機能を含むことがある。そのようなデバイスは、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信、近距離通信（ＮＦＣ）、もしくは赤外線（ＩＲ）通信、またはワイヤレス・ローカル・エリア・ネットワーク（ＷＬＡＮ）もしくはセルラ電話ネットワークなど、無線通信のための機能も含む。そのようなデバイスは、１つまたは複数のカメラ、スキャナ、タッチ・スクリーン、マイクロフォン、またはスピーカも含むことがある。モバイル・コンピューティング・デバイスはまた、ゲーム、ウェブ・ブラウザ、またはソーシャルネットワーキング・アプリケーションなど、ソフトウェア・アプリケーションを実行することができる。ソーシャルネットワーキング・アプリケーションを用いて、ユーザは、自分のソーシャル・ネットワーク内の他のユーザとつながり、通信し、情報を共有することができる。
【図面の簡単な説明】
【０００３】
【図１】例示的な運動を受ける例示的なモバイル・コンピューティング・デバイスを例示する図。
【図２】例示的な回転を受ける例示的なモバイル・コンピューティング・デバイスを例示する図。
【図３】モバイル・コンピューティング・デバイスの例示的な動きに対して関連付けられた例示的な運動ベクトルを例示する図。
【図４】モバイル・コンピューティング・デバイスの例示的な動きに対して関連付けられた例示的な運動ベクトルを例示する図。
【図５】いくつかの例示的なマルチメディア・クリップについての例示的な運動と例示的な露光時間とに対して関連付けられた例示的な軌跡を例示する図。
【図６】図５の例示的な運動と例示的な露光時間との積に対して関連付けられた例示的な軌跡を例示する図。
【図７】特定のマルチメディア・クリップに対してビデオ安定化を適用するか否かを決定するための例示的な方法を例示する図。
【図８】例示的なコンピュータ・システムを例示する図。
【発明を実施するための形態】
【０００４】
デジタル・カメラを含むモバイル・コンピューティング・デバイスは、例えば、デジタル・ビデオ・クリップなどのマルチメディア・クリップを記録するために使用され得る。記録中に、カメラの意図しない運動、またはカメラぶれは、手ぶれによって引き起こされたものであろうと、他の振動源によって引き起こされたものであろうと、ビデオにおける望ましくない影響、例えば、ビデオの不安定な動きまたはぎこちない動きなどをもたらすことがある。特定の実施形態において、ビデオが視聴または再生される場合に、ビデオ安定化ルーチンは、マルチメディア・クリップまたはビデオの特定の長さ部分に対して適用されて、カメラぶれの影響を低減させ得る。カメラぶれの影響を低減するためにデジタル・ビデオに対して適用され得る多数のビデオ安定化（または、画像安定化）技法が存在する。本開示は、任意の適切なビデオ安定化技法を想定する。特定の実施形態において、ビデオ安定化技法は、ビデオにおける望ましくない動きぶれ（または、動きぶれアーチファクト）をもたらし得る。ここで、動きぶれとは、記録中にカメラの動きによって引き起こ
される、ビデオ画像の不鮮明化、ぼやけ、またはブリード・アウトを指す。動きぶれは、カメラがビデオの特定の画像フレームのために光を収集する際に発生することがあり、カメラが光を収集する際に、カメラぶれに部分的に起因して、カメラが動いてしまうことがある。こうしたカメラの動きは、画像中にモーション・トレイルを生成することがあり、画像安定化を適用することは、記録中におけるカメラぶれによって引き起こされるビデオの不安定な動きまたはぎこちない動きを低減し得る一方で、画像安定化は、一般に、画像のピクセルを修正しない。つまり、いくつかのピクセルは、依然としてモーション・トレイルを含むかもしれず、これは、動きぶれアーチファクトを生み出すことがあり、そのため、マルチメディア・クリップに対して画像安定化ルーチンが適用された後に、動きぶれアーチファクトがビデオ中に残存することがある。
【０００５】
動きぶれは、一般には望ましくないが、不安定なビデオ中ではあまり明らかになったり、または問題になったりしないことがある。なぜならば、不安定なビデオと動きぶれとは、一般に、同期された状態で共に発生するためである。特定の実施形態において、いったんビデオ安定化技法が適用されると、動きぶれアーチファクトは、視聴者にとって奇妙または不快に見えることがあり、非常に目立つことがある。なぜならば、動きぶれを生み出したカメラぶれは、ビデオから低減または除去されており、動きぶれアーチファクトだけが、関連付けられた動きなしに残るためである。特定の実施形態において、コンピューティング・デバイスは、不必要な動きぶれアーチファクトを導入することなく、カメラぶれの影響を低減するために、特定のマルチメディア・クリップに対してビデオ安定化を適用するか否かを決定し得る。特定の実施形態において、マルチメディア・クリップが、ビデオ安定化を適用した後に、過度の動きぶれアーチファクトを含み得ると決定される場合には、コンピューティング・デバイスは、そのマルチメディア・クリップに対してビデオ安定化を適用しないと決定し得る。
【０００６】
特定の実施形態において、ビデオ安定化を適用すべきか否かの決定において使用され得る１つの要素は、記録中におけるカメラ運動の量である。なぜならば、過度なカメラ運動は、動きぶれをもたらすことがあるためである。特定の実施形態において、ビデオ安定化を適用すべきか否かを決定するために使用され得る別の要素は、ビデオを記録している間に存在する光量である。低光条件が存在する場合、露光時間が充分に長くなることがあり、カメラは、動きぶれが問題になるほど充分に動くことがある。特定の実施形態において、低光条件においては、カメラの比較的長いシャッタ時間が動きぶれをもたらすことがあり、そのような低光条件下で記録された特定のマルチメディア・クリップについては、画像安定化が無効化されるべきであると決定され得る。特定の実施形態において、安定化されたビデオにおいて動きぶれアーチファクトが不快な影響を生成し得ることが理由で、特定のマルチメディア・クリップを安定化しないことが決定され得る。特定の実施形態において、安定化されたマルチメディア・クリップが、著しい量の動きぶれを含まないと決定される場合には、特定のマルチメディア・クリップは、ビデオ安定化を有効化させ得る。特定の実施形態において、コンピューティング・デバイスは、マルチメディア・クリップから動きぶれアーチファクトを除去しようとせず、コンピューティング・デバイスは、画像安定化を有効化すべきか否かの決定を行い得る。特定の実施形態において、ビデオ安定化を適用すべきか否かの決定は、クリップごとに行われてもよく、または、ビデオ安定化は、ビデオ全体に対して、もしくは、マルチメディア・クリップの任意の適切なサブセットに対して適用されてもよい。
【０００７】
上記に開示された実施形態は、例に過ぎず、本開示の範囲は、上記に開示された実施形態に限定されない。特定の実施形態は、上記に開示された実施形態の構成要素、要素、特徴、機能、動作、または工程のうちの全部を含んでも、一部を含んでも、または、これらを全く含まなくてもよい。
【０００８】
図１は、例示的な物理的な運動を受ける例示的なモバイル・コンピューティング・デバイス１００を例示する。特定の実施形態において、モバイル・コンピューティング・デバイス１００は、シングルボード・コンピュータ（ＳＢＣ：ｓｉｎｇｌｅ−ｂｏａｒｄ  ｃｏｍｐｕｔｅｒ）（例えば、コンピュータ・オン・モジュール（ＣＯＭ：ｃｏｍｐｕｔｅｒ−ｏｎ−ｍｏｄｕｌｅ）もしくはシステム・オン・モジュール（ＳＯＭ：ｓｙｓｔｅｍ−ｏｎ−ｍｏｄｕｌｅ）など）、ラップトップ・コンピュータもしくはノートブック・コンピュータ、携帯電話、スマートフォン、デジタル・カメラ、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、タブレット・コンピュータ・システム、または、これらの２つ以上の組み合わせであり得る。モバイル・コンピューティング・デバイス１００は、１つもしくは複数の一体化されたカメラ、または１つもしくは複数の外部カメラへのインターフェースを含み得る。特定の実施形態において、モバイル・コンピューティング・デバイス１００は、１つまたは複数のデジタル・カメラを含み得る。ここで、デジタル・カメラとは、画像またはビデオをデジタル・フォーマットで記録または記憶するデバイスを指し得る。本明細書において、「カメラ」という用語は、デジタル・カメラを指し、「マルチメディア・クリップ」という用語は、デジタル・ビデオ、またはデジタル・フォーマットで記録もしくは記憶されたビデオを指し得る。特定の実施形態において、マルチメディア・クリップという用語は、ビデオ記録の個別のセクションまたは特定の長さ部分を指し得る。特定の実施形態において、マルチメディア・クリップは、マルチメディア・ビデオ・クリップ、マルチメディア画像、デジタル・ビデオ・クリップ、ビデオ・クリップ、またはビデオと称され得る。特定の実施形態において、デジタル・カメラは、画像センサ、例えば、電荷結合素子（ＣＣＤ：ｃｈａｒｇｅ−ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ）画像センサ、または相補型金属酸化膜半導体（ＣＭＯＳ：ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ−ｏｘｉｄｅ−ｓｅｍｉｃｏｎｄｕｃｔｏｒ）アクティブ・ピクセル・センサなどを含み得る。本開示は、任意の適切な物理的形態を取り、かつ、任意の適切なカメラを含む、任意の適切なモバイル・コンピューティング・デバイス１００を想定する。
【０００９】
図１に例示されるような、モバイル・コンピューティング・デバイス１００の物理的運動（または、運動）は、回転的もしくは並進的な変位、速度、もしくは加速、または、これらの任意の適切な組み合わせを含み得る。本開示は、回転的もしくは並進的な変位、速度、または加速を含む、モバイル・コンピューティング・デバイス１００の特定の運動を説明または例示するが、本開示は、任意の適切な運動、または適切な運動の組み合わせも想定する。特定の実施形態において、モバイル・コンピューティング・デバイス１００は、モバイル・コンピューティング・デバイス１００の位置、向き、並進的運動、または回転運動を検出するための１つまたは複数のタイプのセンサを含み得る。このような動きセンサは、加速度計、ジャイロスコープ、もしくは磁力計、または、これらの任意の適切な組み合わせを含み得る。モバイル・コンピューティング・デバイス１００は、位置または運動を検出するための１つまたは複数の外部センサへのインターフェースも含み得る。本開示は、モバイル・コンピューティング・デバイス１００の位置、向き、または運動を検出するための特定のセンサを説明するが、本開示は、位置、向き、または運動を検出するための任意の適切なセンサも想定する。
【００１０】
特定の実施形態において、１つまたは複数のセンサからのデータ、情報、または値は、マルチメディア・クリップの記録と同時に記録または分析されてもよく、センサ値は、マルチメディア・クリップに対してビデオ安定化を適用すべきかの決定において使用され得る。特定の実施形態において、マルチメディア・クリップという用語は、ビデオ記録の個別のセクションまたは特定の長さ部分を指し得る。特定の実施形態において、マルチメディア・クリップは、例えば、単一の記録の開始（例えば、「記録」ボタンを押すこと）に続いて、しばらく後に、単一の記録の終了（例えば、「停止」ボタンを押すこと）があるなどの単一の記録イベントにおいて発生する、任意の適切な長さの記録済みビデオを指し
得る。特定の実施形態において、マルチメディア・クリップは、２つ以上のビデオ記録イベントの任意の適切な組み合わせ、または、一連の２つ以上のビデオ記録イベントを指し得る。特定の実施形態において、マルチメディア・クリップは、１秒間の持続期間、１０秒間の持続期間、１５秒間の持続期間、１分間の持続期間、２０分間の持続期間、１時間間の持続期間、または任意の適切な持続期間を有し得る。特定の実施形態において、画像フレームとは、マルチメディア・クリップの単一の静止画像を指し、マルチメディア・クリップは、ビデオ記録を形成するために共に組み合わされた１つまたは複数の画像フレームを含み得る。特定の実施形態において、マルチメディア・クリップは、１秒当たり２４フレーム（ＦＰＳ：ｆｒａｍｅｓ  ｐｅｒ  ｓｅｃｏｎｄ）のフレーム・レート、２５ＦＰＳ、３０ＦＰＳ、または任意の適切なフレーム・レートを有し得る。ここで、フレーム・レートとは、ビデオの記録または再生されている間の１秒当たりの静止画像またはビデオ・フレームの数を指し得る。本開示は、特定の持続期間およびフレーム・レートを有し、かつ、１つまたは複数の記録イベントを含む特定のマルチメディア・クリップを説明および例示するが、本開示は、任意の適切な数の記録イベントを含み、かつ、任意の適切な持続期間およびフレーム・レートを有する任意の適切なマルチメディア・クリップも想定する。
【００１１】
特定の実施形態において、モバイル・コンピューティング・デバイス１００の運動は、モバイル・コンピューティング・デバイス１００と一体化された１つまたは複数の動きセンサ（例えば、ジャイロスコープ、磁力計、加速度計）から受け取られる情報または値によって決定され得る。特定の実施形態において、モバイル・コンピューティング・デバイス１００は、カメラとジャイロスコープ・センサとを含むスマートフォンであってもよい。特定の実施形態において、モバイル・コンピューティング・デバイス１００と一体化された動きセンサは、微小電気機械システム（ＭＥＭＳ：ｍｉｃｒｏ−ｅｌｅｃｔｒｏ−ｍｅｃｈａｎｉｃａｌ  ｓｙｓｔｅｍｓ）技術を用いて製造された振動構造ジャイロスコープを含み得る。特定の実施形態において、ジャイロスコープは、モバイル・コンピューティング・デバイス１００の、時間に対する回転の向きまたは回転運動を決定するために使用され得る。特定の実施形態において、ジャイロスコープは、回転（または角）速度を決定するレート・ジャイロスコープであってもよい。限定ではなく例として、レート・ジャイロスコープは、角速度に対応するデータ、情報、または値を、ラジアン／秒または度／秒の単位で提供し得る。特定の実施形態において、モバイル・コンピューティング・デバイス１００の回転（または角度）の向きは、時間に対するジャイロスコープ・センサ・データの積分によって決定され得る。特定の実施形態において、角度の向きθ（ｔ）は、時間に対する、および、特定の二次元座標系または三次元座標系の１つまたは複数の軸に関連するカメラの角度を表し得る。特定の実施形態において、角度の向きまたは動きは、様々な回転軸、例えば、ピッチ軸、ロール軸、またはヨー軸などを参照して決定され得る。特定の実施形態において、センサ・データの積分は、特定の時間間隔にわたるセンサ・データの加算または平均化によって実行され得る。限定ではなく例として、時間ｔ１における最初の角度の向きθ（ｔ１）と、レート・ジャイロスコープによって決定されるような角速度ω（ｔ）とが与えられると、後の時間ｔ２における角度の向きは、式θ（ｔ２）＝θ（ｔ１）＋ω（ｔ）×（ｔ２−ｔ１）から決定され得る。特定の実施形態において、式ω（ｔ）は、ｔ１≦ｔ≦ｔ２となるような、ある時間ｔにおいて求められ得る。特定の実施形態において、式ω（ｔ）は、ｔ１からｔ２までの時間間隔にわたって求められたω（ｔ）の平均値を表し得る。
【００１２】
特定の実施形態において、磁力計（例えば、磁場センサ）は、モバイル・コンピューティング・デバイス１００の向きまたは回転運動を測定するために使用され得る。磁力計は、地球の磁場または任意の他の適切な実質的に静的な磁場を感知して、モバイル・コンピューティング・デバイス１００の角度の向きを決定し得る。特定の実施形態において、加速度計は、モバイル・コンピューティング・デバイス１００の並進運動または回転運動を
決定するために使用され得る。特定の実施形態において、加速度計センサ・データは、モバイル・コンピューティング・デバイス１００の直線加速度を決定するために使用され得る。さらに、特定の時間間隔にわたって加速度計データを積分することは、モバイル・コンピューティング・デバイス１００の速度を決定するために使用され得、第２の積分演算を実行することは、時間を関数とした、モバイル・コンピューティング・デバイス１００の位置の決定を可能にし得る。特定の実施形態において、モバイル・コンピューティング・デバイス１００の回転運動または並進運動は、マルチメディア・クリップを構成する画像を分析することによって決定され得る。限定ではなく例として、特徴ベースの分析は、マルチメディア・クリップの画像における１つまたは複数の特徴（例えば、個別の動かない物体またはエッジ）を追跡し、画像間での特徴の位置変化からカメラの動きを決定するために使用され得る。
【００１３】
図１の例は、カメラぶれに対して少なくとも部分的に関連付けられ得る一連の例示的な運動を受けるモバイル・コンピューティング・デバイス１００を例示する。特定の実施形態において、モバイル・コンピューティング・デバイス１００の運動は、カメラぶれと意図された運動（例えば、カメラのパニング）との組み合わせから生じ得る。特定の実施形態において、カメラぶれとは、マルチメディア・クリップの記録中における、カメラの意図しないまたは不必要な運動、ぶれ、または振動を指し得る。限定ではなく例として、カメラぶれは、カメラを保持している間の１つもしくは複数の手の運動から、カメラを保持している間（例えば、人物が歩き、走り、もしくはジャンプしている間）の人物の身体の運動から、またはカメラが設置されている物体の運動（例えば、ビデオが記録されているヘルメット、自転車、飛行機、列車、もしくは自動車の動き）から、少なくとも部分的に生じ得る。本開示は、任意の適切な１つまたは複数の源から生じる任意の適切なカメラぶれを想定する。
【００１４】
図１において、運動は、モバイル・コンピューティング・デバイス１００の１つもしくは複数の回転、モバイル・コンピューティング・デバイス１００の１つもしくは複数の並進、またはモバイル・コンピューティング・デバイス１００の１つもしくは複数の回転もしくは並進の任意の適切な組み合わせを含み得る。図１（および下側の図２）に例示される運動は、明確さのために誇張され得る。特定の実施形態において、カメラぶれに対して関連付けられた回転は、約０．５度から１０度のオーダーの大きさを有し、カメラぶれに対して関連付けられた並進は、約０．５ミリメートルから１０ミリメートルのオーダーの大きさを有し得る。図１において、モバイル・コンピューティング・デバイス１００は、時間ｔ０において最初の向きを有し（図１の左側）、時間ｔ１において別の向きへ動き（図１の中央）、その後、時間ｔ２において別の向きへ動き得る（図２の右側）。図１において、モバイル・コンピューティング・デバイス１００の運動は、回転、並進、または回転と並進との双方を含み得る。特定の実施形態において、コンピューティング・デバイスは、モバイル・コンピューティング・デバイス１００の回転の動き、並進的な動き、または回転の動きと並進的な動きとの双方に基づいて、ビデオ安定化を有効化するか否かを決定し得る。特定の実施形態において、モバイル・コンピューティング・デバイス１００は、回転の動きと並進的な動きとの双方を含み得る運動を受けることがあり、コンピューティング・デバイスは、モバイル・コンピューティング・デバイス１００の回転の動きに基づいて、ビデオ安定化を有効化するか否かを決定し得る。本開示は、特定の大きさを有する、モバイル・コンピューティング・デバイス１００の特定の運動を説明および例示するが、本開示は、任意の適切な大きさを有する、モバイル・コンピューティング・デバイス１００の任意の適切な運動も想定する。
【００１５】
図２は、例示的な回転を角度θ２２０だけ受ける例示的なモバイル・コンピューティング・デバイス１００の上面図を例示する。図２において、モバイル・コンピューティング・デバイス１００は、カメラを含むことができ、モバイル・コンピューティング・デバイ
ス１００の回転は、少なくとも部分的にはカメラぶれからもたらされ得る。図２において、モバイル・コンピューティング・デバイス１００は、時間ｔ０において最初の向きを有し、角度θ２２０だけ回転されて、時間ｔ１において最終的な向きとなり得る。直線２００および直線２１０は、カメラまたはカメラ・レンズが設置されているモバイル・コンピューティング・デバイス１００の面に対して実質的に直角であり得る。直線２００および直線２１０は、それぞれモバイル・コンピューティング・デバイス１００の最初の向きおよび最後の向きを示し得、直線２００と直線２１０との間の角度θ２２０は、モバイル・コンピューティング・デバイス１００の回転の量を表し得る。図２において、ベクトル２３０は、最初の向きから最後の向きまでのモバイル・コンピューティング・デバイス１００の回転に対して関連付けられた動きベクトルを表し得る。動きベクトル２３０は、直線２００および直線２１０に対して直角な向きとされ、モバイル・コンピューティング・デバイス１００が回転される回転軸に沿って向くとされ得る。
【００１６】
図３および図４は、モバイル・コンピューティング・デバイス１００の例示的な動きに対して関連付けられた例示的な動きベクトルを例示する。特定の実施形態において、２つの向きの間でのモバイル・コンピューティング・デバイス１００の回転の動きは、回転の軸に沿った向きとされ、かつ、回転の大きさに比例した大きさを有するベクトルによって表され得る。特定の実施形態においては、四元数、オイラー角、または回転行列が、モバイル・コンピューティング・デバイス１００の向きまたは回転を表し、または決定するために使用され得る。本開示は、向きまたは回転の特定の表現を説明および例示するが、本開示は、向きまたは回転の任意の適切な表現も想定する。特定の実施形態において、回転の動きまたは向きは、動きベクトルを使用して例示されてもよい。ここで、動きベクトルは、ある位置から別の位置へのモバイル・コンピューティング・デバイス１００の動きを表し得る。図３の例において、動きベクトル３００および動きベクトル３１０は、２つの向きの間でのモバイル・コンピューティング・デバイス１００の特定の回転を各々表し得る。図４の例において、動きベクトル４００および動きベクトル４１０は、２つの向きの間でのモバイル・コンピューティング・デバイス１００の特定の回転を各々表し得る。図３および図４において、角度３２０および角度４２０は、それらの関連付けられた動きベクトル間の差異を各々表し得る。図３における角度３２０は、図４における角度４２０と比較すると、相対的に大きい。図３は、２つの回転の動きの回転の軸の間で比較的大きい差異を有する、モバイル・コンピューティング・デバイス１００の２つの回転の動き（３００および３１０）を表し得る。限定ではなく例として、図３における動きベクトル３００は、モバイル・コンピューティング・デバイス１００の実質的なローリングの動きを表し、動きベクトル３１０は、実質的なピッチングの動きまたはヨーイングの動きを表し得る。図４は、２つの回転の動きの回転の軸の間で比較的小さい差異を有する２つの回転の動き（４００および４１０）を表し得る。限定ではなく例として、図４における動きベクトル４００は、モバイル・コンピューティング・デバイス１００の実質的なローリングの動きを表し、動きベクトル４１０は、こちらも実質的なローリングの動きである別の動きを表し得る。
【００１７】
特定の実施形態において、カメラぶれの量は、例えば、ジャイロスコープ・センサによって示されるような、マルチメディア・クリップ内のあるフレームから次のフレームへのカメラの動きまたは向きによって決定され得る。例として、マルチメディア・クリップが、あるフレームについて特定の方向における動きを有しており、後続のフレームにおける動きが、実質的に同じ方向に沿って継続する場合、カメラは滑らかに動いており、ぎこちなく振動したり、または動いたりしていなかったと決定され得る。特定の実施形態において、カメラの向きまたはカメラぶれが方向を頻繁に変化させる場合、安定化されたビデオにおいて動きぶれの問題が存在し得る。特定の実施形態において、図３の例において例示されるような、動きベクトルの角度において比較的大きい変化を有する１つまたは複数の動きは、モバイル・コンピューティング・デバイス１００が、少なくとも部分的にカメラ
ぶれによって引き起こされる１つまたは複数の運動を受けていることを示し得る。特定の実施形態において、図４の例において例示されるような、動きベクトルの角度において比較的小さい変化を有する１つまたは複数の動きは、モバイル・コンピューティング・デバイス１００が、カメラぶれに対して関連付けられない１つまたは複数の運動を受けている（例えば、モバイル・コンピューティング・デバイス１００のカメラは、パニング中であり得る）ことを示し得る。特定の実施形態において、モバイル・コンピューティング・デバイス１００が、マルチメディア・クリップの記録中にカメラぶれに対して関連付けられた１つまたは複数の運動を受けたかは、２つ以上の動きベクトルの角度間の変化から少なくとも部分的に決定され得る。特定の実施形態において、モバイル・コンピューティング・デバイス１００がマルチメディア・クリップの記録中にカメラぶれに対して関連付けられた１つまたは複数の運動を受けたかを決定するためのルーチンは、全ての動きベクトルの角度またはいくつかの特定の動きベクトルの角度に対して関連付けられた情報を使用し得る。限定ではなく例として、そのようなルーチンは、動きベクトルの角度に対して関連付けられた情報、または、特定の向き、タイム・スタンプ、大きさ、もしくは大きさの範囲を有する、動きベクトルの角度変化に対して関連付けられた情報を使用し得る。
【００１８】
特定の実施形態において、動きベクトルは、ビデオ・クリップの２つの画像フレームに対して関連付けられることができ、動きベクトルは、その２つの画像フレーム間で発生するカメラの向きにおける変化から決定され得る。特定の実施形態において、動きベクトルは、マルチメディア・クリップ内で互いに隣り合う２つの画像フレームであって、それらの間に他の画像フレームが存在しない２つの画像に対して関連付けられ得る。特定の実施形態において、動きベクトルは、１つまたは複数の他の画像フレームによって隔てられ得る、マルチメディア・クリップの２つの画像フレームに対して関連付けられ得る。特定の実施形態において、一連の動きベクトルが、ビデオ・クリップについて決定されてもよく、ビデオ・クリップの画像フレームの任意の適切な対は、関連付けられた動きベクトルを有し得る。特定の実施形態において、カメラぶれの量は、２つの動きベクトル間の角度（Δθ）を決定することによって定量化され得る。ここで、２つの動きベクトルは、それらの間にゼロ個、１個、または任意の適切な数の画像フレームまたは他の動きベクトルを有し得る。特定の実施形態において、任意の適切な画像フレームに対して関連付けられた任意の２つの適切な動きベクトル間のドット積が決定され得る。ここで、ドット積は、２つのベクトル間の角度の関数である値を返す。本開示は、２つの動きベクトル間の角度を決定するための任意の適切な技法を想定する。特定の実施形態において、動きベクトル間の角度（Δθ）は、動き変化、角度の向きの変化、カメラの向きの変化、または向きの変化と称され得る。
【００１９】
特定の実施形態において、マルチメディア・クリップに対してビデオ安定化を適用すべきかは、マルチメディア・クリップに対して関連付けられた２つ以上の動きベクトル間の角度によって少なくとも部分的に決定され得る。特定の実施形態において、マルチメディア・クリップに対してビデオ安定化を適用すべきかは、マルチメディア・クリップに対して関連付けられた１つまたは複数の動きベクトルの大きさによって少なくとも部分的に決定され得る。限定ではなく、例として、比較的小さい大きさの動きベクトルは、カメラの比較的小さい大きさの運動を示し得る。カメラの比較的小さい大きさの運動は、比較的小さい量の動きぶれを示し得る。特定の実施形態において、著しい量のカメラぶれが存在する場合、動きベクトル間にも有意な角度が存在し得る。特定の実施形態において、角度が大きくなればなるほど、安定化されたマルチメディア・クリップにおいて動きぶれが問題となり得る。特定の実施形態において、低域通過フィルタが、カメラの向き情報に対して適用されて、カメラの安定化された向きもしくは動き（または、合成的もしくは仮想的なカメラの向きもしくは動き）が取得され得る。特定の実施形態において、動きベクトルは、カメラの安定化された向きまたは動きと比較されて、カメラぶれの量が決定され得る。本開示は、カメラぶれを決定および定量化するための特定の技法を説明および例示するが
、本開示は、カメラぶれを決定または定量化するための任意の適切な技法も想定する。
【００２０】
特定の実施形態において、マルチメディア・クリップは、特定のフレーム・レートで記録されてもよく、センサは、そのフレーム・レートと同じであり得るレート、または、そのフレーム・レートとは異なり得るレートで、向き情報を提供し得る。限定ではなく例として、２５ＦＰＳで記録されたマルチメディア・クリップは、連続するフレームの開始点間に約４０ｍｓの時間を有し得る。限定ではなく例として、ジャイロスコープ・センサは、更新情報間の約１０ｍｓの期間に対応する約１００Ｈｚのレートで、向き情報または更新情報を提供し得る。特定の実施形態において、特定のフレームについてのカメラの向きの決定または記録は、その特定のフレームの画像が取り込まれ、または記録されるのと同期的に、または実質的に同時に発生し得る。特定の実施形態において、特定のフレームについてのカメラの向きの決定は、動きセンサまたは向きセンサによって提供される１つまたは複数の更新情報の平均化、加算、単一値の選択、または最小値もしくは最大値を取り込むことを含み得る。限定ではなく例として、連続するフレーム間に約４０ｍｓを有するフレーム・レートおよび約１０ｍｓの更新期間を持つ動きセンサの場合、特定のフレームについてのカメラの向きの決定は、１つから４つのセンサ測定値を含み得る。特定の実施形態において、マルチメディア・クリップは、一連の画像フレームを備え得る。ここで、各画像フレームは、画像がキャプチャされたとき、マルチメディア・クリップ内の時間を示す関連付けられたタイム・スタンプを有する。特定の実施形態において、センサは、向き情報を定期的に提供し得る。ここで、カメラの向きは各々、関連付けられたタイム・スタンプを有する。特定の実施形態において、特定のフレームについてのカメラの向きは、特定のフレームについてのタイム・スタンプの近くで発生するタイム・スタンプを有する２つ以上のカメラの向きを補間することによって見出され得る。本開示は、特定のフレーム・レートおよび特定の動きセンサ更新レートを説明するが、本開示は、任意の適切なフレーム・レートおよび任意の適切な動きセンサ更新レートも想定する。
【００２１】
特定の実施形態において、ビデオ安定化を適用すべきか否かを決定することは、ビデオを記録している間に存在する光量に関連し得る。特定の実施形態において、存在する光量は、カメラの露光時間から決定され得る。露光時間（またはシャッタ・スピード）とは、特定の画像をキャプチャする際に、カメラのシャッタがどのくらいの時間開いているか、またはサンプリング時間がどのくらいの時間使用されるかを指し得る。特定の実施形態において、カメラの画像センサに到達する光量は、露光時間に比例し得る。特定の実施形態において、存在する光量を決定するための技法は、カメラと一体化された光センサを使用すること、または光レベルもしくは輝度の標識を得るためにフレームを分析することを含み得る。低光条件において、カメラは、比較的長い露光時間を有し得る。比較的長い露光時間は、マルチメディア・クリップを動きぶれに対してより敏感にし得る。限定ではなく例として、明るい光（例えば、日の当たる屋外）における典型的な露光時間は、約０．５ｍｓであり得る一方で、低光（例えば、室内または暗い空間）における典型的な露光時間は、約３０ｍｓであり得る。明るい光において、動きぶれは、カメラの比較的短い露光時間が理由で、著しい問題を提示しないことがあり得る。特定の実施形態において、短い露光時間が与えられると、動きぶれは、カメラの動きの比較的大きい振幅または高周波から生じることがあり、著しい動きぶれは、カメラぶれに対して関連付けられた典型的なカメラの動きについては発生しないことがあり得る。低光条件下では、動きぶれが発生し得る。なぜなら、比較的長い露光時間のオーダーの時間、カメラを動かないように保持することによって画像を安定化させることは困難であり得るためである。
【００２２】
図５は、例示的なモバイル・コンピューティング・デバイス１００の運動に対して関連付けられた軌跡または時間依存値と、いくつかの例示的なマルチメディア・クリップ５００についての例示的な露光時間とを例示する。図５において、特定のマルチメディア・クリップ５００について、軌跡５１０は、マルチメディア・クリップ５００のフレームにつ
いての露光時間（ΔＴ）を表し、軌跡５２０は、フレーム間の向きの変化（Δθ）を表し得る。特定の実施形態において、向きの変化５２０の値は、マルチメディア・クリップ５００に対して関連付けられた動きベクトルから決定され得る。図５において、露光時間５１０および向きの変化５２０は、水平な時間軸５３０と、任意の単位で露光時間および向きの変化を表すおよび縦軸５４０とに沿ってプロットされる。特定の実施形態において、モバイル・コンピューティング・デバイス１００の露光時間５１０または向きの変化５２０についての値は、特定のマルチメディア・クリップのフレームごとに決定され得る。特定の実施形態において、モバイル・コンピューティング・デバイス１００の露光時間５１０または向きの変化５２０についての値は、特定のマルチメディア・クリップの特定のフレーム（例えば、１つおきのフレーム、または２つおきのフレーム）について決定され得る。図５において、マルチメディア・クリップ５００Ａは、例えば、約２０ｍｓなどの比較的長い露光時間５１０Ａを有する。これは、比較的低光の条件において記録されたビデオを示し得る。図５において、マルチメディア・クリップ５００Ａは、比較的小さい向きの変化５２０Ａを有する。これは、記録中にカメラが比較的安定していたこと（例えば、比較的小さい量のカメラぶれ）を示し得る。
【００２３】
図６は、図５の例示的な運動５２０と例示的な露光時間５１０との積に対して関連付けられた例示的な軌跡または時間依存値を例示する。図６において、軌跡６００は、特定のマルチメディア・クリップ５００についての動きぶれ計量値関数（ＭＢＭＦ：ｍｏｔｉｏｎ−ｂｌｕｒ  ｍｅｔｒｉｃ  ｆｕｎｃｔｉｏｎ）を表し得る。図６において軌跡６００によって表される動きぶれ計量値関数６００は、露光時間５１０と向きの変化５２０とを乗算することによって取得され得る。特定の実施形態において、動きぶれ計量値関数６００は、式ＭＢＭＦ（ｔ）＝ΔＴ（ｔ）×Δθ（ｔ）から決定され得る。また、特定の時間ｔｉにおいて発生する特定のフレームについての動きぶれ計量値関数６００の値は、ＭＢＭＦ（ｔｉ）＝ΔＴ（ｔｉ）×Δθ（ｔｉ）として表現され得る。特定の実施形態において、ＭＢＭＦ６００は、ビデオ安定化がマルチメディア・クリップ５００に対して適用された場合における、マルチメディア・クリップ５００またはマルチメディア・クリップの特定のセクション内の動きぶれの標識を提供し得る。特定の実施形態において、特定の時間において発生する特定のフレームについての動きぶれ計量値関数６００の値は、その特定のフレームについての動きぶれの標識を提供し得る。特定の実施形態において、ＭＢＭＦ６００は、特定のマルチメディア・クリップ５００についてビデオ安定化を適用または有効化すべきか否かを少なくとも部分的に決定するために使用され得る。
【００２４】
上記で議論されたように、マルチメディア・クリップ５００Ａは、比較的長い露光時間５１０Ａと、比較的小さい量の向きの変化５２０Ａとを有し得る。図６において、動きぶれ計量値関数６００Ａは、露光時間５１０Ａと向きの変化５２０Ａとの積を表し、クリップ５００Ａに対してビデオ安定化を適用すべきか否かの決定は、ＭＢＭＦ６００Ａに依存し得る。特定の実施形態において、図６における直線６１０によって示されるように、動きぶれ計量値関数６００のいずれかの部分が、特定の閾値６１０を超える場合、ビデオ安定化はマルチメディア・クリップ５００に対して適用されるべきではないと決定され得る。特定の実施形態において、動きぶれ計量値関数６００が、マルチメディア・クリップ５００の持続期間の特定の一部分について特定の閾値６１０を超える場合、もたらされ得る安定化されたビデオにおける動きぶれの問題に起因して、ビデオ安定化はマルチメディア・クリップ５００に対して適用されるべきではないと決定され得る。特定の実施形態において、動きぶれ計量値関数が、マルチメディア・クリップの持続期間の１％、２％、５％、１０％、または任意の適切な割合以上、所定の閾値６１０を超える場合、ビデオ安定化を適用しないことが決定され得る。限定ではなく例として、動きぶれ計量値関数６００が、マルチメディア・クリップの持続期間の５％以上、所定の閾値６１０を超える場合、ビデオ安定化を適用しないことが決定されてもよい。特定の実施形態において、動きぶれ計量値関数６００が、マルチメディア・クリップ５００の持続期間の特定の一部分について
特定の閾値６１０を超えない場合、ビデオ安定化がマルチメディア・クリップ５００に対して適用され得ることが決定されてもよく、結果として得られる安定化されたマルチメディア・クリップは、動きぶれの著しい問題を示さないであろう。特定の実施形態において、動きぶれ計量値関数が、マルチメディア・クリップの持続期間の９０％、９５％、９８％、９９％、または任意の適切な割合以上、所定の閾値６１０を超えない場合、ビデオ安定化が適用され得ると決定され得る。限定ではなく例として、動きぶれ計量値関数６００が、マルチメディア・クリップの持続期間の９５％以上、所定の閾値６１０を超えない場合、ビデオ安定化が適用され得ると決定されてもよい。
【００２５】
特定の実施形態において、マルチメディア・クリップ５００についての動きぶれ計量値（ＭＢＭ：ｍｏｔｉｏｎ−ｂｌｕｒ  ｍｅｔｒｉｃ）は、動きぶれ計量値関数６００から決定され得る。特定の実施形態において、動きぶれ計量値は、ＭＢＭＦ６００の平均値、中央値、単一値、最小値、または最大値として決定され得る。特定の実施形態において、Ｎ個のフレームを含むマルチメディア・クリップ５００について、動きぶれ計量値は、動きぶれ計量値関数６００の平均値を表し得、式
【００２６】
【数１】
2016535948.tif 000003
【００２７】
から決定され得る。特定の実施形態において、特定のマルチメディア・クリップについての動きぶれ計量値は、単一の数または単一値であり得る。特定の実施形態において、動きぶれ計量値は、安定化されたマルチメディア・クリップ内に存在し得る、カメラぶれに起因した動きぶれアーチファクトの相対的な量を示す測定値であり得る。特定の実施形態において、マルチメディア・クリップ５００についての動きぶれ計量値が、所定の閾値６１０を超える場合、ビデオ安定化はマルチメディア・クリップ５００に対して適用されるべきではないと決定され得る。特定の実施形態において、マルチメディア・クリップ５００についての動きぶれ計量値が、所定の閾値６１０を超えない場合、ビデオ安定化はマルチメディア・クリップ５００に対して適用され得ると決定され得る。特定の実施形態において、動きぶれ計量値閾値６１０についての所定の値は、安定化されたマルチメディア・クリップの約９０％、９５％、９８％、９９％、または任意の適切な割合が動きぶれアーチファクトを実質的に含まず、かつ、安定化されたマルチメディア・クリップのそれぞれ約１０％、５％、２％、１％、または任意の適切な割合が動きぶれアーチファクトを含み得る値を表し得る。特定の実施形態において、ＭＢＭが所定の動きぶれ計量値閾値６１０より大きいマルチメディア・クリップ５００の場合、安定化されたマルチメディア・クリップ５００の５％超は、動きぶれアーチファクトを含み、安定化されたマルチメディア・クリップ５００の９５％未満は、動きぶれアーチファクトを実質的に含まないであろう。特定の実施形態において、ＭＢＭが所定の動きぶれ計量値閾値６１０未満であるマルチメディア・クリップ５００の場合、安定化されたマルチメディア・クリップ５００の５％未満は動きぶれアーチファクトを含み、安定化されたマルチメディア・クリップ５００の９５％超は動きぶれアーチファクトを実質的に含まないであろう。特定の実施形態において、ビデオ安定化ルーチンを適用するか否かを決定することは、マルチメディア・クリップに対してビデオ安定化ルーチンを適用した後に、そのマルチメディア・クリップの約９５％以上が動きぶれアーチファクトを実質的に含まないか否かを決定することを含む。本開示は、動きぶれ計量値関数６００から決定される特定の動きぶれ計量値を説明するが、本開示は、任意の適切な動きぶれ計量値関数６００から任意の適切な様式で決定される任意の
適切な動きぶれ計量値も想定する。
【００２８】
図６において、動きぶれ計量値関数６００Ａは、マルチメディア・クリップ５００Ａの記録中に発生した比較的小さい量の向きの変化５２０Ａに部分的に起因して、比較的小さい。特定の実施形態においては、ＭＢＭＦ６００Ａが閾値６１０を下回るので、マルチメディア・クリップ５００Ａに対してビデオ安定化を適用すると決定されてもよい。特定の実施形態において、ＭＢＭＦ６００Ａから決定されるＭＢＭについての値は、閾値６１０Ａを下回ることがあり、ＭＢＭの値に基づいて、マルチメディア・クリップ５００Ａに対してビデオ安定化を適用すると決定されてもよい。図６において、動きぶれ計量値関数６００Ｂは、マルチメディア・クリップ５００Ｂに対して関連付けられ、関連付けられた露光時間５１０Ｂおよび向きの変化５２０Ｂから決定され得る。露光時間５１０Ｂは、比較的短いことがあり得（例えば、マルチメディア・クリップ５００Ｂは、明るい光の条件下で記録済みであり得る）、向きの変化５２０Ｂは、マルチメディア・クリップ５００Ｂが記録された間の比較的大きい量のカメラぶれを示し得る。動きぶれ計量値関数６００Ｂは、比較的短い露光時間５１０Ｂ（例えば、約０．５ｍｓ）に起因して、比較的小さいことがあり得る。特定の実施形態において、ＭＢＭＦ６００Ｂについての比較的小さい値、または関連付けられた動きぶれ計量値についての小さい値に基づいて、マルチメディア・クリップ５００Ｂに対してビデオ安定化を適用することが決定され得る。図６において、マルチメディア・クリップ５００Ｃに対して関連付けられた動きぶれ計量値関数６００Ｃは、マルチメディア・クリップ５００Ｃにおける小さい量または中程度の量の動きぶれを示し得る。限定ではなく例として、ビデオ安定化基準が、動きぶれ計量値関数６００が閾値６１０を超えないことを要求する場合、マルチメディア・クリップ５００Ｃに対してビデオ安定化を適用しないことが決定され得る。限定ではなく例として、ＭＢＭＦ６００Ｃから決定される動きぶれ計量値が、閾値６１０Ｃ未満である場合、マルチメディア・クリップ５００Ｃに対してビデオ安定化を適用することが決定され得る。図６において、マルチメディア・クリップ５００Ｄに対して関連付けられた動きぶれ計量値関数６００Ｄは、記録中に発生した比較的大きい向きの変化５２０Ｄならびに比較的中程度（例えば、５〜１０ｍｓ）の露光時間５１０Ｄに少なくとも部分的に起因して、比較的大きい。特定の実施形態においては、ＭＢＭＦ６００Ｄ（または関連する動きぶれ計量値）と閾値６１０Ｄとの比較に基づいて、マルチメディア・クリップ５００Ｄに対してビデオ安定化を適用しないことが決定され得る。本開示は、マルチメディア・クリップに対してビデオ安定化を適用するか否かを決定するための特定の基準を説明するが、本開示は、マルチメディア・クリップに対してビデオ安定化を適用するか否かを決定するための任意の適切な基準も想定する。
【００２９】
特定の実施形態において、ビデオ安定化ルーチンを有効化または適用することとは、カメラぶれの影響がマルチメディア・クリップから低減または除去されるルーチンを通じてマルチメディア・クリップを送ることを指し得る。特定の実施形態において、ビデオ安定化ルーチンを有効化すべきかまたは無効化すべきかの決定は、モバイル・コンピューティング・デバイス１００がビデオを記録している間に、モバイル・コンピューティング・デバイス１００によってリアルタイムで実行され得る。特定の実施形態において、ビデオ安定化ルーチンを適用すべきか否かの決定は、マルチメディア・クリップおよび適切なセンサ情報または値が記録された後に実行され得る。特定の実施形態において、ビデオ安定化ルーチンを有効化すべきかまたは無効化すべきかの決定は、マルチメディア・クリップを記録したモバイル・コンピューティング・デバイス１００によって実行され得る。特定の実施形態において、ビデオ安定化ルーチンを有効化すべきかまたは無効化すべきかの決定は、マルチメディア・クリップを記録したモバイル・コンピューティング・デバイス１００とは異なる別のコンピューティング・デバイスによって実行され得る。限定ではなく例として、モバイル・コンピューティング・デバイス１００は、マルチメディア・クリップをサーバへアップロードし、そのサーバ上またはそのサーバに接続されたコンピューティ
ング・デバイス上で動作するアプリケーションが、そのマルチメディア・クリップについてビデオ安定化を有効化すべきかまたは無効化するか否かを決定してもよい。本開示は、マルチメディア・クリップに対してビデオ安定化を適用すべきか否かの、任意の適切なコンピューティング・デバイスによって実行される任意の適切な決定を想定する。
【００３０】
特定の実施形態において、ビデオ安定化ルーチンは、画像内の特徴がフレームごとに追跡されて、カメラの動きが回復され、その後、カメラの動きが補償される、特徴ベースの安定化を使用して実装され得る。特定の実施形態において、ビデオ安定化は、ビデオ記録デバイスに内蔵され、または取り付けられたセンサ信号（例えば、ジャイロスコープ、加速度計、または磁力計）に基づいて実装され得る。ここで、センサ情報は、ビデオが記録される時に記録される。特定の実施形態において、ジャイロスコープからの情報は、時間について積分されて、カメラの向きが再構築され得、カメラの向き情報は、マルチメディア・クリップを安定化させるためのルーチンにおいて使用され得る。特定の実施形態においては、低域通過フィルタが、カメラの向き情報に対して適用されて、安定化されたカメラの向きまたは合成的なカメラの向きが取得され得る。安定化されたカメラの向きまたは合成的なカメラの向きは、ビデオ安定化ルーチンにおいて使用され得る。本開示は、ビデオ安定化を実装するための特定の技法を説明および例示するが、本開示は、任意の適切なビデオ安定化技法も想定する。
【００３１】
図７は、特定のマルチメディア・クリップに対してビデオ安定化を適用するか否かを決定するための例示的な方法７００を例示する。本方法は、カメラの１つまたは複数の動きが決定され得る工程７１０において開始し得る。ここで、動きは、マルチメディア・クリップの記録中における、カメラの運動に対応し得る。特定の実施形態において、記録中におけるカメラの運動は、カメラぶれに少なくとも部分的に起因し得る。工程７２０において、記録中に存在する１つまたは複数の光量が決定され得る。工程７３０において、マルチメディア・クリップについての動きぶれ計量値が決定され得る。特定の実施形態において、動きぶれ計量値は、決定されたカメラの動きおよび決定された存在する光量から決定され得る。工程７４０において、動きぶれ計量値に基づいて、マルチメディア・クリップに対してビデオ安定化ルーチンを適用すべきかが決定され得る。この時点で、本方法は終了し得る。特定の実施形態において、動きぶれ計量値が、所定の値以下である場合、ビデオ安定化が、マルチメディア・クリップに対して適用され得る。特定の実施形態において、動きぶれ計量値が、所定の値よりも大きい場合、マルチメディア・クリップに対するビデオ安定化は有効化されなくてもよい。特定の実施形態は、適切な場合には、図７の方法の１つまたは複数の工程を繰り返し得る。本開示は、図７の方法の特定の工程を特定の順序で発生するものとして説明および例示するが、本開示は、任意の適切な順序で発生する、図７の方法の任意の適切な工程も想定する。また、本開示は、図７の方法の特定の工程を含む、特定のマルチメディア・クリップに対してビデオ安定化を適用するか否かを決定するための例示的な方法を説明および例示するが、本開示は、任意の適切な工程を含む、特定のマルチメディア・クリップに対してビデオ安定化を適用するか否かを決定するための任意の適切な方法も想定する。任意の適切な工程は、適当な場合には、図７の方法の工程の全部を含んでも、一部を含んでも、または含まなくてもよい。さらに、本開示は、図７の方法の特定の工程を実行する特定の構成要素、デバイス、またはシステムを説明および例示するが、本開示は、図７の方法の任意の適切な工程を実行する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組み合わせも想定する。
【００３２】
図８は、例示的なコンピュータ・システム８００を示す。特定の実施形態では、１または複数のコンピュータ・システム８００は、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施する。特定の実施形態では、１または複数のコンピュータ・システム８００は、本明細書に記載され、または示されている機能を提供する。特定の実施形態では、１または複数のコンピュータ・システム８００上で動
作するソフトウェアは、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施し、または本明細書に記載され、または示されている機能を提供する。特定の実施形態は、１または複数のコンピュータ・システム８００の１または複数の部分を含む。本明細書では、コンピュータ・システムに言及することは、適切な場合、コンピューティング・デバイスを包含してもよく、逆も同様である。さらに、コンピュータ・システムに言及することは、適切な場合、１または複数のコンピュータ・システムを包含してもよい。
【００３３】
この開示は、任意の好適な数のコンピュータ・システム８００を企図する。この開示は、任意の好適な物理形態をとるコンピュータ・システム８００を企図する。限定するものとしてではなく一例として、コンピュータ・システム８００は、組込みコンピュータ・システム、システム・オン・チップ（ＳＯＣ）、シングルボード・コンピュータ・システム（ＳＢＣ）（たとえば、コンピュータ・オン・モジュール（ＣＯＭ）またはシステム・オン・モジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話キオスク、メインフレーム、コンピュータ・システムのメッシュ、移動体電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、またはこれらの２以上の組合せであってよい。適切な場合、コンピュータ・システム８００は、１または複数のコンピュータ・システム８００を含んでもよく、一元的なものであっても分散型であってもよく、複数のロケーションに跨ってもよく、複数のマシンに跨ってもよく、複数のデータ・センタに跨ってもよく、クラウド内にあってもよく、クラウドは、１または複数のネットワーク内で１または複数のクラウド・コンポーネントを含んでもよい。適切な場合、１または複数のコンピュータ・システム８００は、実質的な空間的または時間的制限なしに、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施してもよい。限定するものとしてではなく一例として、１つまたは複数のコンピュータ・システム８００は、リアルタイムで、またはバッチ・モードで、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施してもよい。１または複数のコンピュータ・システム８００は、適切な場合、異なる時に、または異なるロケーションで、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施してもよい。
【００３４】
特定の実施形態では、コンピュータ・システム８００は、プロセッサ８０２、メモリ８０４、ストレージ８０６、入力／出力（Ｉ／Ｏ）インターフェース８０８、通信インターフェース８１０、およびバス８１２を含む。この開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記載し示しているが、この開示は、任意の好適な数の任意の好適な構成要素を任意の好適な構成で有する任意の好適なコンピュータ・システムを企図する。
【００３５】
特定の実施形態では、プロセッサ８０２は、コンピュータ・プログラムを構成するものなど命令を実行するためのハードウェアを含む。限定するものとしてではなく一例として、命令を実行するために、プロセッサ８０２は、内部レジスタ、内部キャッシュ、メモリ８０４、またはストレージ８０６から命令を取り出し（またはフェッチし）、それらを復号および実行し、次いで、１または複数の結果を内部レジスタ、内部キャッシュ、メモリ８０４、またはストレージ８０６に書き込む。特定の実施形態では、プロセッサ８０２は、データ、命令、またはアドレス用に１または複数の内部キャッシュを含んでもよい。この開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ８０２を企図する。限定するものとしてではなく一例として、プロセッサ８０２は、１または複数の命令キャッシュ、１または複数のデータ・キャッシュ、および１または複数の変換索引バッファ（ＴＬＢ）を含んでもよい。命令キャッシュ内の命令は、メモリ８０４またはストレージ８０６内の命令のコピーであってもよく、命令キャッシュは、プロセッ
サ８０２によるこれらの命令の取り出しを高速化する。データ・キャッシュ内のデータは、プロセッサ８０２にて実行される命令が操作するための、メモリ８０４またはストレージ８０６内のデータのコピー、プロセッサ８０２で実行される後続の命令によるアクセスための、またはメモリ８０４もしくはストレージ８０６に書き込むための、プロセッサ８０２で実行された以前の命令の結果、あるいは他の好適なデータであってもよい。データ・キャッシュは、プロセッサ８０２による読出しまたは書込み動作を高速化する。ＴＬＢは、プロセッサ８０２のために仮想アドレス変換を高速化する。特定の実施形態では、プロセッサ８０２は、データ、命令、またはアドレス用に１または複数の内部レジスタを含む。この開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ８０２を企図する。適切な場合、プロセッサ８０２は、１または複数の算術論理演算ユニット（ＡＬＵ）を含むことができ、マルチコア・プロセッサであってもよく、１または複数のプロセッサ８０２を含んでもよい。この開示は、特定のプロセッサについて記載し示しているが、この開示は、任意の好適なプロセッサを企図する。
【００３６】
特定の実施形態では、メモリ８０４は、プロセッサ８０２が実行するための命令、またはプロセッサ８０２が操作するためのデータを記憶するための主記憶装置を含む。限定するものとしてではなく一例として、コンピュータ・システム８００は、ストレージ８０６または別のソース（たとえば、別のコンピュータ・システム８００など）からメモリ８０４に命令をロードする。次いで、プロセッサ８０２は、メモリ８０４から内部レジスタまたは内部キャッシュに命令をロードする。命令を実行するために、プロセッサ８０２は、内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号する。命令の実行中、または実行後、プロセッサ８０２は、１または複数の結果（中間結果であることも最終結果であることもある）を内部レジスタまたは内部キャッシュに書き込む。次いで、プロセッサ８０２は、それらの結果の１または複数をメモリ８０４に書き込む。特定の実施形態では、プロセッサ８０２は、１もしくは複数の内部レジスタもしくは内部キャッシュ内、または（ストレージ８０６もしくは他の場所ではなく）メモリ８０４内の命令だけを実行し、１もしくは複数の内部レジスタもしくは内部キャッシュ内、または（ストレージ８０６もしくは他の場所ではなく）メモリ８０４内のデータだけを操作する。１または複数のメモリ・バス（それぞれがアドレス・バスとデータ・バスを含むことがある）がプロセッサ８０２をメモリ８０４に結合してもよい。バス８１２は、下記に記載されているように、１または複数のメモリ・バスを含んでもよい。特定の実施形態では、１または複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ８０２とメモリ８０４との間に存在し、プロセッサ８０２によって要求されるメモリ８０４へのアクセスを容易にする。特定の実施形態では、メモリ８０４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合、揮発性メモリであり得る。適切な場合、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）であってよい。さらに、適切な場合、このＲＡＭは、シングルポート型またはマルチポート型ＲＡＭであってよい。この開示は、任意の好適なＲＡＭを企図する。メモリ８０４は、適切な場合、１または複数のメモリ８０４を含んでもよい。この開示は、特定のメモリについて記載し示しているが、この開示は、任意の好適なメモリを企図する。
【００３７】
特定の実施形態では、ストレージ８０６は、データまたは命令用のマス・ストレージを含む。限定するものとしてではなく一例として、ストレージ８０６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、またはこれらの２以上の組合せを含んでもよい。ストレージ８０６は、適切な場合、取外し式または非取外し式（または固定）媒体を含んでもよい。ストレージ８０６は、適切な場合、コンピュータ・システム８００に対して内部であっても外部であってもよい。特定の実施形態では、ストレージ８０６は、不揮発性のソリッドステート・メモリである。特定の実施形態では、ストレージ８０６は、読出し専用メモリ（ＲＯ
Ｍ）を含む。適切な場合、このＲＯＭは、マスクプログラムドＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書き換え可能ＲＯＭ（ＥＡＲＯＭ）、もしくはフラッシュ・メモリ、またはこれらの２以上の組合せであってよい。この開示は、任意の好適な物理形態をとるマス・ストレージ８０６を企図する。ストレージ８０６は、適切な場合、プロセッサ８０２とストレージ８０６の間の通信を容易にする１または複数のストレージ制御ユニットを含んでもよい。適切な場合、ストレージ８０６は、１または複数のストレージ８０６を含んでもよい。この開示は、特定のストレージについて記載し示しているが、この開示は、任意の好適なストレージを企図する。
【００３８】
特定の実施形態では、Ｉ／Ｏインターフェース８０８は、コンピュータ・システム８００と１または複数のＩ／Ｏデバイスとの間の通信のために１または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム８００は、適切な場合、これらのＩ／Ｏデバイスの１または複数を含んでもよい。これらのＩ／Ｏデバイスの１または複数は、人とコンピュータ・システム８００の間の通信を可能にする。限定するものとしてではなく一例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の好適なＩ／Ｏデバイス、またはこれらの２以上の組合せを含んでもよい。Ｉ／Ｏデバイスは、１または複数のセンサを含んでもよい。この開示は、任意の好適なＩ／Ｏデバイス、およびそれらのための任意の好適なＩ／Ｏインターフェース８０８を企図する。適切な場合、Ｉ／Ｏインターフェース８０８は、プロセッサ８０２がこれらのＩ／Ｏデバイスの１または複数を駆動することを可能にする１または複数のデバイスまたはソフトウェア・ドライバを含む。Ｉ／Ｏインターフェース８０８は、適切な場合、１または複数のＩ／Ｏインターフェース８０８を含んでもよい。この開示は、特定のＩ／Ｏインターフェースについて記載し示しているが、この開示は、任意の好適なＩ／Ｏインターフェースを企図する。
【００３９】
特定の実施形態では、通信インターフェース８１０は、コンピュータ・システム８００と１もしくは複数の他のコンピュータ・システム８００または１もしくは複数のネットワークとの間の通信（たとえば、パケットベースの通信など）のために１または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、通信インターフェース８１０は、ＥＴＨＥＲＮＥＴ（登録商標）もしくは他の有線ベースのネットワークとの通信のためのインターフェース・コントローラ（ＮＩＣ）もしくはネットワーク・アダプタ、またはＷＩ−ＦＩネットワークなど無線ネットワークとの通信のための無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタを含んでもよい。この開示は、任意の好適なネットワーク、およびそのための任意の好適な通信インターフェース８１０を企図する。限定するものとしてではなく一例として、コンピュータ・システム８００は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、またはインターネットの１もしくは複数の部分、あるいはこれらの２以上の組合せと通信する。これらのネットワークの１または複数のうちの１または複数の部分は、有線であっても無線であってもよい。一例として、コンピュータ・システム８００は、無線ＰＡＮ（ＷＰＡＮ）（たとえば、ＢＬＵＥＴＯＯＴＨ（登録商標）ＷＰＡＮなど）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、携帯電話ネットワーク（たとえば、グローバル移動体通信システム（ＧＳＭ（登録商標））ネットワークなど）、もしくは他の好適な無線ネットワーク、またはこれらの２以上の組合せと通信する。コンピュータ・システム８００は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース８１０を含んでもよい。通信インターフェース８１０は、適切な場合、１または複数の通信
インターフェース８１０を含んでもよい。この開示は、特定の通信インターフェースについて記載し示しているが、この開示は、任意の好適な通信インターフェースを企図する。
【００４０】
特定の実施形態では、バス８１２は、コンピュータ・システム８００の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、バス８１２は、アクセラレィティッド・グラフィックス・ポート（ＡＧＰ）もしくは他のグラフィックス・バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、フロントサイド・バス（ＦＳＢ）、ＨＴ（ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ）相互接続、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、インフィニバンド相互接続、ＬＰＣ（ｌｏｗ−ｐｉｎ−ｃｏｕｎｔ）バス、メモリ・バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、ＰＣＩエクスプレス（ＰＣＩｅ）バス、ＳＡＴＡ（ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）バス、ＶＬＢ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ  ｌｏｃａｌ）バス、もしくは別の好適なバス、またはこれらの２以上の組合せを含んでもよい。バス８１２は、適切な場合、１または複数のバス８１２を含んでもよい。この開示は、特定のバスについて記載し示しているが、この開示は、任意の好適なバスまたは相互接続を企図する。
【００４１】
本明細書では、１または複数の非一時的コンピュータ可読記憶媒体は、適切な場合、１または複数の半導体ベースの、もしくは他の集積回路（ＩＣ）（たとえば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）または特定用途向けＩＣ（ＡＳＩＣ））、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスケット、フロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ソリッドステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはセキュア・デジタル・ドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの２以上の組合せを含んでもよい。非一時的コンピュータ可読記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。
【００４２】
本明細書では、「または（もしくは）」は、別段明確に示されていない限り、または別段文脈によって示されない限り、包括的（ｉｎｃｌｕｓｉｖｅ）であり、排他的なものではない。したがって、本明細書では、「ＡまたはＢ」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「Ａ、Ｂ、またはその両方」を意味する。さらに、「および」は、別段明確に示されていない限り、または別段文脈によって示されない限り、共同であり、個別的でもある。したがって、本明細書では、「ＡおよびＢ」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「ＡおよびＢを共同で、または個別的に」意味する。
【００４３】
この開示の範囲は、当業者であれば理解するであろう、本明細書に記載され、または示されている例示的な実施形態に対する変更、置換、変形、代替、および修正すべてを包含する。この開示の範囲は、本明細書に記載され、または示されている例示的な実施形態に限定されない。さらに、この開示は、それぞれの実施形態について、本明細書では、特定の構成要素、要素、機能、動作、またはステップを含むものとして記載し示しているが、これらの実施形態のいずれも、当業者であれば理解するであろう、本明細書のどこかに記載され、または示されている構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含んでもよい。さらに、添付の特許請求の範囲において、特定の機能を実施するように適合された、するように配置された、することが可能な、す
るように構成された、することが可能である、するように動作可能である、またはするように動作する装置もしくはシステム、または装置もしくはシステムの構成要素に言及することは、その装置、システム、または構成要素がそのように適合され、配置され、動作可能であり、構成され、可能であり、動作可能であり、動作する限り、それ、またはその特定の機能が作動される、オンにされる、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。
【図１】
2016535948.tif 000004
【図２】
2016535948.tif 000005
【図３】
2016535948.tif 000006
【図４】
2016535948.tif 000007
【図５】
2016535948.tif 000008
【図６】
2016535948.tif 000009
【図７】
2016535948.tif 000010
【図８】
2016535948.tif 000011
【手続補正書】
【提出日】平成28年6月8日(2016.6.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティング・デバイスが、カメラの１つまたは複数の動きを決定する工程であって、前記動きはマルチメディア・クリップの記録中におけるカメラの運動に対応する、工程と、
前記コンピューティング・デバイスが、前記記録中に存在する１つまたは複数の光量を決定する工程と、
前記コンピューティング・デバイスが、決定された前記動きおよび決定された前記光量から、前記マルチメディア・クリップについての動きぶれ計量値を決定する工程と、
前記コンピューティング・デバイスが、前記動きぶれ計量値に基づいて、前記マルチメディア・クリップに対してビデオ安定化ルーチンを適用するか否かを決定する工程と
を備える、方法。
【請求項２】
前記カメラの前記動きのうちの１つまたは複数を決定する工程は、
前記コンピューティング・デバイスが、動きセンサから情報を受け取る工程と、
前記コンピューティング・デバイスが、前記動きセンサの情報から、前記カメラの１つまたは複数の角度の向きの変化を決定する工程と、を含み、
前記動きセンサは、ジャイロスコープである、
請求項１に記載の方法。
【請求項３】
記録中における前記カメラの前記運動は、少なくとも部分的にはカメラぶれに起因する、請求項１に記載の方法。
【請求項４】
前記コンピューティング・デバイスは、ジャイロスコープおよび前記カメラを備えるスマートフォンである、請求項１に記載の方法。
【請求項５】
前記記録中に存在する前記光量のうちの１つまたは複数を決定する工程は、前記コンピューティング・デバイスが、前記マルチメディア・クリップの１つまたは複数の画像フレームについての露光時間を決定する工程を含む、請求項１に記載の方法。
【請求項６】
前記マルチメディア・クリップについての前記動きぶれ計量値を決定する工程は、前記コンピューティング・デバイスが、前記マルチメディア・クリップの複数のフレームにつ
いての露光時間とカメラの向きの変化との積を決定する工程を含む、請求項１に記載の方法。
【請求項７】
前記マルチメディア・クリップについての前記動きぶれ計量値を決定する工程は、前記コンピューティング・デバイスが、前記複数のフレームについての前記露光時間と前記カメラの向きの変化との前記積の平均値を決定する工程をさらに含む、請求項６に記載の方法。
【請求項８】
前記ビデオ安定化ルーチンを適用するか否かを決定する工程は、前記コンピューティング・デバイスが、前記動きぶれ計量値が所定の閾値未満であるか否かを決定する工程を含む、請求項１に記載の方法。
【請求項９】
前記ビデオ安定化ルーチンを適用するか否かを決定する工程は、前記コンピューティング・デバイスが、前記マルチメディア・クリップに対して前記ビデオ安定化ルーチンを適用した後、前記マルチメディア・クリップの約９５％以上が動きぶれアーチファクトを実質的に含まないか否かを決定する工程を含む、請求項１に記載の方法。
【請求項１０】
前記ビデオ安定化ルーチンを適用するか否かを決定する工程は、前記コンピューティング・デバイスが、前記マルチメディア・クリップに対して前記ビデオ安定化ルーチンを適用した後、前記マルチメディア・クリップの約５％未満が動きぶれアーチファクトを含むか否かを決定する工程を備える、請求項１に記載の方法。
【請求項１１】
ソフトウェアを具現する１つまたは複数の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアは、実行されるとき、
カメラの１つまたは複数の動きを決定する工程であって、前記動きはマルチメディア・クリップの記録中におけるカメラの運動に対応する、工程と、
前記記録中に存在する１つまたは複数の光量を決定する工程と、
決定された前記動きおよび決定された前記光量から、前記マルチメディア・クリップについての動きぶれ計量値を決定する工程と、
前記動きぶれ計量値に基づいて、前記マルチメディア・クリップに対してビデオ安定化ルーチンを適用するか否かを決定する工程と、
を行うように動作可能である、媒体。
【請求項１２】
前記ソフトウェアは、実行されるとき、
動きセンサから情報を受け取る工程と、
前記動きセンサの情報から、前記カメラの１つまたは複数の角度の向きの変化を決定する工程と、を行うようにさらに動作可能であり、
前記動きセンサは、ジャイロスコープである、
請求項１１に記載の媒体。
【請求項１３】
記録中における前記カメラの前記運動は、少なくとも部分的にはカメラぶれに起因する、請求項１１に記載の媒体。
【請求項１４】
前記カメラは、ジャイロスコープを備えるスマートフォンである、請求項１１に記載の媒体。
【請求項１５】
前記ソフトウェアは、実行されるとき、前記マルチメディア・クリップの１つまたは複数の画像フレームについての露光時間を決定する工程を行うようにさらに動作可能である、請求項１１に記載の媒体。
【請求項１６】
前記ソフトウェアは、実行されるとき、前記マルチメディア・クリップの複数のフレームについての露光時間とカメラの向きの変化との積を決定する工程を行うようにさらに動作可能である、請求項１１に記載の媒体。
【請求項１７】
前記ソフトウェアは、実行されるとき、前記複数のフレームについての前記露光時間と前記カメラの向きの変化との前記積の平均値を決定する工程を行うようにさらに動作可能である、請求項１６に記載の媒体。
【請求項１８】
前記ソフトウェアは、実行されるとき、前記動きぶれ計量値が所定の閾値未満であるか否かを決定する工程を行うようにさらに動作可能である、請求項１１に記載の媒体。
【請求項１９】
前記ソフトウェアは、実行されるとき、前記マルチメディア・クリップに対して前記ビデオ安定化ルーチンを適用した後、前記マルチメディア・クリップの約９５％以上が動きぶれアーチファクトを実質的に含まないか否かを決定する工程を行うようにさらに動作可能である、請求項１１に記載の媒体。
【請求項２０】
前記ソフトウェアは、実行されるとき、前記マルチメディア・クリップに対して前記ビデオ安定化ルーチンを適用した後、前記マルチメディア・クリップの約５％未満が動きぶれアーチファクトを含むか否かを決定する工程を行うようにさらに動作可能である、請求項１１に記載の媒体。
【請求項２１】
１つまたは複数のプロセッサと、
前記プロセッサに結合されており前記プロセッサによって実行可能な命令を含むメモリと、を備えるシステムであって、前記プロセッサは、前記命令を実行するとき、
カメラの１つまたは複数の動きを決定する工程であって、前記動きはマルチメディア・クリップの記録中におけるカメラの運動に対応する、工程と、
前記記録中に存在する１つまたは複数の光量を決定する工程と、
決定された前記動きおよび決定された前記光量から、前記マルチメディア・クリップについての動きぶれ計量値を決定する工程と、
前記動きぶれ計量値に基づいて、前記マルチメディア・クリップに対してビデオ安定化ルーチンを適用するか否かを決定する工程と、
を行うように動作可能である、システム。
【請求項２２】
前記プロセッサは、前記命令を実行するとき、
動きセンサから情報を受け取る工程と、
前記動きセンサの情報から、前記カメラの１つまたは複数の角度の向きの変化を決定する工程と、を行うようにさらに動作可能であり、
前記動きセンサは、ジャイロスコープである、
請求項２１に記載のシステム。
【請求項２３】
記録中における前記カメラの前記運動は、少なくとも部分的にはカメラぶれに起因する、請求項２１に記載のシステム。
【請求項２４】
前記システムは、ジャイロスコープおよび前記カメラを備えるスマートフォンである、請求項２１に記載のシステム。
【請求項２５】
前記プロセッサは、前記命令を実行するとき、前記マルチメディア・クリップの１つまたは複数の画像フレームについての露光時間を決定する工程を行うようにさらに動作可能である、請求項２１に記載のシステム。
【請求項２６】
前記プロセッサは、前記命令を実行するとき、前記マルチメディア・クリップの複数のフレームについての露光時間とカメラの向きの変化との積を決定する工程を行うようにさらに動作可能である、請求項２１に記載のシステム。
【請求項２７】
前記プロセッサは、前記命令を実行するとき、前記複数のフレームについての前記露光時間と前記カメラの向きの変化との前記積の平均値を決定する工程を行うようにさらに動作可能である、請求項２６に記載のシステム。
【請求項２８】
前記プロセッサは、前記命令を実行するとき、前記動きぶれ計量値が所定の閾値未満であるか否かを決定する工程を行うようにさらに動作可能である、請求項２１に記載のシステム。
【請求項２９】
前記プロセッサは、前記命令を実行するとき、前記マルチメディア・クリップに対して前記ビデオ安定化ルーチンを適用した後、前記マルチメディア・クリップの約９５％以上が動きぶれアーチファクトを実質的に含まないか否かを決定する工程を行うようにさらに動作可能である、請求項２１に記載のシステム。
【請求項３０】
前記プロセッサは、前記命令を実行するとき、前記マルチメディア・クリップに対して前記ビデオ安定化ルーチンを適用した後、前記マルチメディア・クリップの約５％未満が動きぶれアーチファクトを含むか否かを決定する工程を行うようにさらに動作可能である、請求項２１に記載のシステム。
【国際調査報告】
2016535948.tif 000012
2016535948.tif 000013