【手続補正書】
【提出日】令和2年7月20日(2020.7.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオ安定化のための方法であって、
コンピューティングシステムが、光学式画像安定化（ＯＩＳ）システムを使用して記録デバイスによってキャプチャされたビデオの一連のフレームを受信すること、
前記コンピューティングシステムが、（ｉ）一連のフレームのキャプチャ中のＯＩＳシステムの位置を示すＯＩＳ位置データ、および（ｉｉ）一連のフレームのキャプチャ中の前記記録デバイスの位置を示すデバイス位置データを受信すること、
前記コンピューティングシステムが、一連のフレームにおける特定のフレームに関する第１の変換を決定すること
を含み、前記第１の変換は、特定のフレームに関する前記ＯＩＳ位置データおよび特定のフレームに関する前記デバイス位置データに基づいて決定され、
前記方法は、さらに、
前記コンピューティングシステムが、特定のフレームの後にキャプチャされた一連のフレームにおける１つまたは複数のフレームについて、前記第１の変換と、前記デバイス位置データに基づいて決定された前記記録デバイスの位置とに基づいて、特定のフレームに関する第２の変換を決定すること、
前記コンピューティングシステムが、前記第２の変換を使用して特定のフレームの安定化バージョンを生成すること
を含む、ビデオ安定化のための方法。
【請求項２】
前記ＯＩＳ位置データを受信することは、前記ＯＩＳシステムの可動レンズの位置を示すレンズのシフトデータを受信することを含み、前記デバイス位置データを受信することは、前記記録デバイスのジャイロスコープまたは加速度計から方位または移動データを受信することを含む、請求項１に記載のビデオ安定化のための方法。
【請求項３】
前記ＯＩＳ位置データは、一連のフレーム内の各フレームに関する複数のＯＩＳ位置読み取り値を示し、前記デバイス位置データは、一連のフレーム内の各フレームに関する複数のデバイス位置測定値を示す、請求項１または２に記載のビデオ安定化のための方法。
【請求項４】
特定のフレームに対応するレンズ焦点位置を決定することをさらに含み、特定のフレームに関する前記第１の変換は、前記レンズ焦点位置を使用して決定される、請求項１乃至３のいずれか１項に記載のビデオ安定化のための方法。
【請求項５】
前記ＯＩＳ位置データによって示される前記ＯＩＳシステムの可動要素の位置に基づいて特定のフレームの画像オフセットを決定することをさらに含み、特定のフレームに関する前記第１の変換が前記画像オフセットを使用して決定される、請求項１乃至４のいずれか１項に記載のビデオ安定化のための方法。
【請求項６】
前記方法は、前記ＯＩＳ位置データおよびデバイス位置データに基づいて、一組の複数のフレームに亘って発生する一組のカメラ位置を決定することをさらに含み、前記一組の複数のフレームは、特定のフレームの前の１つまたは複数のフレームと、特定のフレームの後の１つまたは複数のフレームを含み、
前記方法は、前記一組のカメラ位置にフィルタリングを適用することをさらに含み、前記第２の変換は、前記一組のカメラ位置にフィルタリングを適用することに基づいて決定されたカメラ位置に基づいて決定される、請求項１乃至５のいずれか１項に記載のビデオ安定化のための方法。
【請求項７】
前記一組のカメラ位置にフィルタリングを適用した出力から特定のフレームに関する中間カメラ位置を決定すること、
前記中間カメラ位置と特定のフレームの直前のフレームに関する仮想カメラ位置とを比較すること
をさらに含み、前記第２の変換は、前記中間カメラ位置と特定のフレームの直前のフレームに関する前記仮想カメラ位置との比較に基づいて決定されたカメラ位置に基づいて決定される、請求項６に記載のビデオ安定化のための方法。
【請求項８】
特定のフレームにおけるモーションブラーの量を特徴付けるデータを生成することをさらに含み、前記第２の変換は、特定のフレームにおけるモーションブラーの量を特徴付ける前記データを使用して決定されたカメラ位置に基づいて決定される、請求項１乃至７のいずれか１項に記載のビデオ安定化のための方法。
【請求項９】
特定のフレームにおけるモーションブラーを特徴付ける前記データを生成することは、特定のフレームの露光の開始に対して決定された射影行列と、特定のフレームの露光の終了に対する射影行列とに基づいてモーションブラーカーネルを推定することを含む、請求項８に記載のビデオ安定化のための方法。
【請求項１０】
一組の複数のフレームに亘る記録デバイスの一貫した移動中に発生する位置を表すカメラ位置を決定することをさらに含み、前記第２の変換は、カメラの一貫した移動中に発生する位置を表すカメラ位置に基づいて決定される、請求項１乃至９のいずれか１項に記載のビデオ安定化のための方法。
【請求項１１】
前記カメラ位置は、特定のフレームの前の１つまたは複数のフレームと、特定のフレームの後の１つまたは複数のフレームとを含む一組のフレームに対応するデータに対して安定したフィルタリングを適用することによって生成される、請求項１０に記載のビデオ安定化のための方法。
【請求項１２】
特定のフレームの前の１つまたは複数のフレームと、特定のフレームの後の１つまたは複数のフレームとを含む一組のフレームに亘るカメラ位置の分析に基づいて、前記記録デバイスの一貫した移動の確率を決定すること、
（ｉ）カメラの一貫した移動中に発生する位置を表すカメラ位置と、（ｉｉ）特定のフレームに関する第２のカメラ位置とをブレンドすること
をさらに含み、前記カメラ位置は、決定された前記確率に従ってブレンドされ、前記第２の変換は、前記カメラ位置および前記第２のカメラ位置をブレンドした結果に基づいて決定される、請求項１０または１１に記載のビデオ安定化のための方法。
【請求項１３】
前記一貫した移動の確率は、一連のフレームに対応するカメラ位置からサブサンプリングされた一組のカメラ位置に対する線形回帰を使用して決定され、
前記第２のカメラ位置は、特定のフレームにおけるブラーの量を示すデータを使用して決定される、請求項１２に記載のビデオ安定化のための方法。
【請求項１４】
特定のフレームに関する前記第２の変換を決定することは、
特定のフレームおよび特定のフレームの後に発生する１つまたは複数のフレームを含む参照セット内の各参照フレームについて、フレームに対応する前記デバイス位置データおよび前記ＯＩＳ位置データに基づいてフレームの画像データの射影を決定すること、
特定のフレームの射影画像データを出力フレームにマッピングする特定のフレームに関する変換を決定すること、
前記参照セット内の各参照フレームについて、特定のフレームに関して決定された前記変換が、前記参照フレームに適用されたときに、出力フレームのピクセルの各々を定義しているかどうかを判定すること、
決定された前記変換を前記射影画像データに適用しても出力フレームのピクセルの各々が定義されない少なくとも１つの参照フレームを特定すること、
特定のフレームに対して決定されたカメラ位置と、前記少なくとも１つの参照フレームに対して決定されたカメラ位置との間の最小遷移量を特定すること、
特定された前記最小遷移量を使用して決定されたカメラ位置に関する第２の変換を決定すること
を含み、前記第２の変換は、前記参照セット内の参照フレームの各々の射影に適用されたときに、前記第２の変換が画像データを出力フレームのピクセルの各々にマッピングするように決定される、請求項１乃至１３のいずれか１項に記載のビデオ安定化のための方法。
【請求項１５】
前記方法は、特定のフレームに関する現在の遷移量を決定することをさらに含み、前記現在の遷移量は、特定のフレームの直前のフレームに対して決定されたカメラ位置と、特定のフレームに対して決定されたカメラ位置との間の差を示しており、
前記方法は、特定のフレームの後に発生する１つまたは複数の将来のフレームの各々に関する将来の遷移量を決定することをさらに含み、各将来の遷移量は、特定のフレームに対して決定されたカメラ位置と、将来のフレームの１つに対して決定されたカメラ位置との間の差を示しており、
前記方法は、前記現在の遷移量と前記将来の遷移量の中から、カメラ位置における最大の差を示す最大の遷移量を特定すること、
特定された前記最大の遷移量に基づいてカメラ位置を決定すること
をさらに含み、
前記第２の変換は、決定された前記カメラ位置を使用して決定される、請求項１乃至１４のいずれか１項に記載のビデオ安定化のための方法。
【請求項１６】
特定された前記最大の遷移量に基づいて前記カメラ位置を決定することは、
前記最大の遷移量が、１つまたは複数の将来のフレームの特定の将来のフレームに対応していると判断すること、
特定のフレームに関するカメラ位置を、前記特定の将来のフレームに関するカメラ位置に向けて調整すること
を含み、特定のフレームに関するカメラ位置は、特定のフレームのキャプチャと、特定の将来のフレームのキャプチャとの間の時間量に応じてスケーリングされる量で調整される、請求項１５に記載のビデオ安定化のための方法。
【請求項１７】
特定のフレームのスキャンラインの適切なサブセットの各々について、出力フレームに関するスキャンラインのマッピングまたはスキャンラインに関する仮想カメラ位置を決定すること、
スキャンラインの適切なサブセットに関して決定されたマッピング間で補間することにより、またはスキャンラインの適切なサブセットに関して決定された仮想カメラ位置間で補間することにより、特定のフレームの各スキャンラインに関するマッピングを決定すること
をさらに含む、請求項１乃至１６のいずれか１項に記載のビデオ安定化のための方法。
【請求項１８】
前記第１の変換は、特定のフレームを画像にマッピングする第１の射影行列であり、
前記第２の変換は、中間空間内の画像を特定のフレームの安定化バージョンに射影するための第２の射影行列である、請求項１乃至１７のいずれか１項に記載のビデオ安定化のための方法。
【請求項１９】
記録デバイスであって、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによる実行時に、処理を行わせる命令を含む１つまたは複数の非一時的なコンピュータ可読デバイスと
を備え、前記処理は、
前記記録デバイスの１つまたは複数のプロセッサが、光学式画像安定化（ＯＩＳ）システムを使用して記録デバイスによってキャプチャされたビデオの一連のフレームを受信すること、
前記記録デバイスの前記１つまたは複数のプロセッサが、（ｉ）一連のフレームのキャプチャ中のＯＩＳシステムの位置を示すＯＩＳ位置データ、および（ｉｉ）一連のフレームのキャプチャ中の前記記録デバイスの位置を示すデバイス位置データを受信すること、
前記記録デバイスの前記１つまたは複数のプロセッサが、一連のフレームにおける特定のフレームに関する第１の変換を決定すること
を含み、前記第１の変換は、特定のフレームに関するＯＩＳ位置データおよび特定のフレームに関するデバイス位置データに基づいて決定され、
前記処理は、さらに、
前記記録デバイスの前記１つまたは複数のプロセッサが、特定のフレームの後にキャプチャされた一連のフレームにおける１つまたは複数のフレームについて、前記第１の変換と、前記デバイス位置データに基づいて決定された前記記録デバイスの位置とに基づいて特定のフレームに関する第２の変換を決定すること、
前記記録デバイスの前記１つまたは複数のプロセッサが、前記第２の変換を使用して特定のフレームの安定化バージョンを生成すること
を含む、記録デバイス。
【請求項２０】
１つまたは複数のプロセッサによる実行時に、処理を行わせる命令を含むコンピュータプログラムであって、前記処理は、
前記１つまたは複数のプロセッサが、光学式画像安定化（ＯＩＳ）システムを使用して記録デバイスによってキャプチャされたビデオの一連のフレームを受信すること、
前記１つまたは複数のプロセッサが、（ｉ）一連のフレームのキャプチャ中のＯＩＳシステムの位置を示すＯＩＳ位置データ、および（ｉｉ）一連のフレームのキャプチャ中の前記記録デバイスの位置を示すデバイス位置データを受信すること、
前記１つまたは複数のプロセッサが、一連のフレームにおける特定のフレームに関する第１の変換を決定すること
を含み、前記第１の変換は、特定のフレームに関するＯＩＳ位置データおよび特定のフレームに関するデバイス位置データに基づいて決定され、
前記処理は、さらに、
前記１つまたは複数のプロセッサが、特定のフレームの後にキャプチャされる一連のフレームにおける１つまたは複数のフレームについて、前記第１の変換と、前記デバイス位置データに基づいて決定された前記記録デバイスの位置とに基づいて特定のフレームに関する第２の変換を決定すること、
前記１つまたは複数のプロセッサが、前記第２の変換を使用して特定のフレームの安定化バージョンを生成すること
を含む、コンピュータプログラム。
【請求項２１】
ビデオ安定化のための装置であって、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによる実行時に、前記装置に請求項１乃至１８のいずれか１項に記載の方法を実行させるコンピュータ可読命令を含むメモリと
を備える装置。
【請求項２２】
コンピュータによる実行時に、前記コンピュータに請求項１乃至１８のいずれか１項に記載の方法を実行させるコンピュータ可読命令を含むコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
ＥＩＳモジュール１５５は、デバイス位置センサ１２０およびＯＩＳモジュール１１５の両方からの位置データを使用して、記録デバイスによってキャプチャされたビデオを安定化させる。例えば、ＯＩＳモジュール１１５からの位置データを使用して、デバイス位置データから推測される予想されるカメラビューに関して、ＯＩＳ移動の効果を表すオフセットを決定することができる。これにより、ＯＩＳモジュール１１５がデバイス位置に対してシーンのカメラのビューを変化させても、ＥＩＳモジュール１５５は画像センサの実際のビューを反映する有効なカメラ位置を推定することが可能となる。本明細書で説明する他の特徴とともに、これらの技術により、記録デバイス１０２がＯＩＳおよびＥＩＳ処理を同時に効果的に使用し、両方の技術の利点を実現することが可能となる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
場合によっては、記録デバイス１０２の別個の位置センサ１２０を使用することに加えて、またはその代わりに、ＯＩＳモジュール１１５のジャイロスコープセンサからの位置データをキャプチャして格納してもよい。それでもなお、記録デバイス１０２がＯＩＳセンサとは異なる特性を有するジャイロスコープセンサを使用することは有益である。例えば、記録デバイス１０２用のジャイロスコープセンサは、毎秒１００度を超える感知可能な回転範囲で約４００Ｈｚの速度で測定値を提供し得る。デバイスのレベルセンサと比較して、ＯＩＳモジュールの典型的なジャイロスコープセンサは、異なる速度および異なる範囲、例えば、毎秒５０００個の測定速度以上で、毎秒約１０度の感知可能な回転範囲で測定値を提供し得る。いくつかの実施形態では、（例えば、小さな変化または高周波パターンを検出するための）ＯＩＳモジュールセンサのより頻繁な測定と同様に、（例えば、大きな動きを記述するための）デバイスのレベルセンサのより大きな回転範囲を有することは、有益である。従って、両方のタイプのデータを共に使用して、記録デバイス１０２の位置を決定してもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
デバイス位置センサ１２０は、ビデオキャプチャ中の記録デバイス１０２の回転および／または他の移動を示すデバイス位置データ１５０を提供する。デバイスの位置は、例えば、２００Ｈｚ以上の高周波数で測定することができる。従って、多くの場合、各ビデオフレームのキャプチャ中に複数の異なる時間に関して測定値を取得することができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
ＥＩＳモジュール１５５は、更新されたデバイス位置データ１５０をデバイス位置センサ（単数または複数）１２０から定期的または連続的に取得する動きデータハンドラ１５６を含む。動きデータハンドラは、デバイス位置データ１５０から現在のカメラの姿勢を推定する。例えば、ジャイロスコープ信号を取得し、使用して、例えば、２００Ｈｚなどの高周波数で記録デバイス１０２のデバイス位置を推定することができる。任意の時間ｔにおけるこのデバイスの位置は、以下にＲ（ｔ）として参照される。このデバイス位置は、例えば、１軸、２軸、または３軸に対する記録デバイス１０２の回転位置を示し得る。デバイスの位置は、回転行列として、または座標系に関して、または他の形式で表され得る。各計算されたデバイスの位置は、記録デバイス１０２の位置が発生した時期を示す時間によってラベル付けすることができる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
コンピューティングシステムは、第５の仮想カメラ位置Ｖ４（Ｔ）を決定する（３２８）。この位置は、第３の仮想カメラ位置Ｖ２（Ｔ）と第４の仮想カメラ位置Ｖ３（Ｔ）とをブレンドすることによって生成することができる（３２９）。例えば、ブレンディングは、一貫した動きの決定された確率に基づいて位置Ｖ２（Ｔ）と位置Ｖ３（Ｔ）との間を補間することによって達成することができる（３３０）。パンニングの可能性が高いと判断された場合、Ｖ４（Ｔ）は、推定されたパンニング位置Ｖ３（Ｔ）に近いものとなる。パンニングの可能性が低いと判断された場合、Ｖ４（Ｔ）は位置Ｖ２（Ｔ）に近いものとなる。