(57)【要約】  方法は、各々が顔を含む第１および第２の映像フレームを含む、映像に対応する映像フレームのセットを受信するステップを含む。第２の映像フレームは、第１の映像フレームよりも後のフレームである。方法はさらに、第１の映像フレームに対して顔追跡を行なって第１の顔リサンプリングキーフレームを特定し、第２の映像フレームに対して顔追跡を行なって第２の顔リサンプリングキーフレームを特定するステップを含む。方法はさらに、補間量を導出するステップを含む。方法はさらに、第１の顔リサンプリングキーフレームおよび補間量に基づいて第１の補間顔フレームを決定するステップ含む。方法はさらに、第２の顔リサンプリングキーフレームおよび補間量に基づいて第２の補間顔フレームを決定するステップ含む。方法はさらに、補間された第１および第２の顔をレンダリングするステップ含む。方法はさらに、最終フレームを表示するステップを含む。
2021536146.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
映像に対応する映像フレームのセットを受信するステップを含み、前記映像フレームのセットは、各々が顔を含む第１の映像フレームおよび第２の映像フレームを含み、前記第２の映像フレームは、前記第１の映像フレームよりも後の映像フレームであり、前記方法はさらに、
前記第１の映像フレームに対して顔追跡を行なって第１の顔リサンプリングキーフレームを特定するステップを含み、前記第１の顔リサンプリングキーフレームは、第１の頭部変換行列および第１の顔ランドマーク頂点を含み、前記方法はさらに、
前記第２の映像フレームに対して顔追跡を行なって第２の顔リサンプリングキーフレームを特定するステップを含み、前記第２の顔リサンプリングキーフレームは、第２の頭部変換行列および第２の顔ランドマーク頂点を含み、前記方法はさらに、
補間量を導出するステップと、
前記第１の顔リサンプリングキーフレームおよび前記補間量に基づいて、第１の補間顔フレームを決定するステップと、
前記第２の顔リサンプリングキーフレームおよび前記補間量に基づいて、第２の補間顔フレームを決定するステップと、
前記補間量に基づいて、前記第１の顔リサンプリングキーフレームの第１の背景および前記第２の顔リサンプリングキーフレームの第２の背景を補間するステップと、
補間された第１の顔および補間された第２の顔をレンダリングするステップと、
前記補間された第１の背景、前記補間された第２の背景、前記補間された第１の顔、および前記補間された第２の顔に基づく最終フレームを表示するステップとを含む、方法。
【請求項２】
前記第１の背景と前記第２の背景とをブレンドすることによって、ブレンドされた背景を取得するステップと、
前記補間された第１の顔と前記補間された第２の顔とをブレンドすることによって、補間かつブレンドされた顔を取得するステップと、
前記補間かつブレンドされた顔および前記ブレンドされた背景に滑らかな顔を重ねることによって、前記最終フレームを生成するステップとをさらに含む、請求項１に記載の方法。
【請求項３】
前記第１の補間顔フレームを決定するステップは、
前記第１の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、
前記平行移動ベクトルを線形補間するステップと、
線形補間を用いて前記回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、
前記拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、
前記補間平行移動ベクトル、前記補間回転クォータニオン、および前記補間拡大縮小ベクトルに基づいて、補間平行移動−回転−拡大縮小行列を作成するステップと、
前記補間平行移動−回転−拡大縮小行列を用いて、前記補間された第１の顔のための補間位置を算出するステップとを含む、請求項１に記載の方法。
【請求項４】
前記補間量は、
（ａ）前記第１の顔リサンプリングキーフレームと前記第２の顔リサンプリングキーフレームとの間の継続時間、および
（ｂ）今回のレンダリング時間から導出される、請求項１に記載の方法。
【請求項５】
前記第２の補間顔フレームを決定するステップは、
前記第２の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む、請求項１に記載の方法。
【請求項６】
前記第１の背景および前記第２の背景を補間するステップは、アルファブレンドによってなされる、請求項１に記載の方法。
【請求項７】
前記レンダリングするステップは、前記補間量に基づいて、前記顔のエッジのフェザリング、または、前記第１の補間顔フレームと前記第２の補間顔フレームとの間のフェーディングのうちの少なくとも１つを行なうことを含む、請求項１に記載の方法。
【請求項８】
前記第１の映像フレームに対して顔追跡を行なうステップは、前記第１の顔リサンプリングキーフレームの第１のテクスチャ座標と、タイムスタンプとを決定するステップをさらに含み、
前記第１のテクスチャ座標は、前記第１の顔ランドマーク頂点に適用される、請求項１に記載の方法。
【請求項９】
前記第１の背景および前記顔は、前記第１の映像フレームに対してＲＧＢ（赤・緑・青）顔追跡を行なうことによって特定される、請求項１に記載の方法。
【請求項１０】
命令を格納した非一時的なコンピュータ読取り可能媒体であって、前記命令は、１つ以上のコンピュータによって実行されると、前記１つ以上のコンピュータに動作を行なわせ、前記動作は、
映像に対応する映像フレームのセットを受信するステップを含み、前記映像フレームのセットは、各々が顔を含む第１の映像フレームおよび第２の映像フレームを含み、前記第２の映像フレームは、前記第１の映像フレームよりも後の映像フレームであり、前記動作はさらに、
前記第１の映像フレームに対して顔追跡を行なって第１の顔リサンプリングキーフレームを特定するステップを含み、前記第１の顔リサンプリングキーフレームは、第１の頭部変換行列および第１の顔ランドマーク頂点を含み、前記動作はさらに、
前記第２の映像フレームに対して顔追跡を行なって第２の顔リサンプリングキーフレームを特定するステップを含み、前記第２の顔リサンプリングキーフレームは、第２の頭部変換行列および第２の顔ランドマーク頂点を含み、前記動作はさらに、
補間量を導出するステップと、
前記第１の顔リサンプリングキーフレームおよび前記補間量に基づいて、第１の補間顔フレームを決定するステップと、
前記第２の顔リサンプリングキーフレームおよび前記補間量に基づいて、第２の補間顔フレームを決定するステップと、
前記補間量に基づいて、前記第１の顔リサンプリングキーフレームの第１の背景および前記第２の顔リサンプリングキーフレームの第２の背景を補間するステップと、
補間された第１の顔および補間された第２の顔をレンダリングするステップと、
前記補間された第１の背景、前記補間された第２の背景、前記補間された第１の顔、および前記補間された第２の顔に基づく最終フレームを表示するステップとを含む、非一時的なコンピュータ読取り可能媒体。
【請求項１１】
前記動作はさらに、
前記第１の背景と前記第２の背景とをブレンドすることによって、ブレンドされた背景を取得するステップと、
前記補間された第１の顔と前記補間された第２の顔とをブレンドすることによって、補間された顔を取得するステップと、
前記補間かつブレンドされた顔および前記ブレンドされた背景に滑らかな顔を重ねることによって、前記最終フレームを生成するステップとを含む、請求項１０に記載のコンピュータ読取り可能媒体。
【請求項１２】
前記第１の補間顔フレームを決定するステップは、
前記第１の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、
前記平行移動ベクトルを線形補間するステップと、
線形補間を用いて前記回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、
前記拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、
前記補間平行移動ベクトル、前記補間回転クォータニオン、および前記補間拡大縮小ベクトルに基づいて、補間平行移動−回転−拡大縮小行列を作成するステップと、
前記補間平行移動−回転−拡大縮小行列を用いて、前記補間された第１の顔のための補間位置を算出するステップとを含む、請求項１０に記載のコンピュータ読取り可能媒体。
【請求項１３】
前記補間量は、
（ａ）前記第１の顔リサンプリングキーフレームと前記第２の顔リサンプリングキーフレームとの間の継続時間、および
（ｂ）今回のレンダリング時間から導出される、請求項１０に記載のコンピュータ読取り可能媒体。
【請求項１４】
前記第２の補間顔フレームを決定するステップは、
前記第２の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む、請求項１０に記載のコンピュータ読取り可能媒体。
【請求項１５】
前記第１の背景および前記第２の背景を補間するステップは、アルファブレンドによってなされる、請求項１０に記載のコンピュータ読取り可能媒体。
【請求項１６】
システムであって、
１つ以上のプロセッサと、
命令を格納するメモリとを備え、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに動作を行なわせ、前記動作は、
映像に対応する映像フレームのセットを受信するステップを含み、前記映像フレームのセットは、各々が顔を含む第１の映像フレームおよび第２の映像フレームを含み、前記第２の映像フレームは、前記第１の映像フレームよりも後の映像フレームであり、前記動作はさらに、
前記第１の映像フレームに対して顔追跡を行なって第１の顔リサンプリングキーフレームを特定するステップを含み、前記第１の顔リサンプリングキーフレームは、第１の頭部変換行列および第１の顔ランドマーク頂点を含み、前記動作はさらに、
前記第２の映像フレームに対して顔追跡を行なって第２の顔リサンプリングキーフレームを特定するステップを含み、前記第２の顔リサンプリングキーフレームは、第２の頭部変換行列および第２の顔ランドマーク頂点を含み、前記動作はさらに、
補間量を導出するステップと、
前記第１の顔リサンプリングキーフレームおよび前記補間量に基づいて、第１の補間顔フレームを決定するステップと、
前記第２の顔リサンプリングキーフレームおよび前記補間量に基づいて、第２の補間顔フレームを決定するステップと、
前記補間量に基づいて、前記第１の顔リサンプリングキーフレームの第１の背景および前記第２の顔リサンプリングキーフレームの第２の背景を補間するステップと、
補間された第１の顔および補間された第２の顔をレンダリングするステップと、
前記補間された第１の背景、前記補間された第２の背景、前記補間された第１の顔、および前記補間された第２の顔に基づく最終フレームを表示するステップとを含む、システム。
【請求項１７】
前記動作はさらに、
前記第１の背景と前記第２の背景とをブレンドすることによって、ブレンドされた背景を取得するステップと、
前記補間された第１の顔と前記補間された第２の顔とをブレンドすることによって、補間かつブレンドされた顔を取得するステップと、
前記補間かつブレンドされた顔および前記ブレンドされた背景に滑らかな顔を重ねることによって、前記最終フレームを生成するステップとを含む、請求項１６に記載のシステム。
【請求項１８】
前記第１の補間顔フレームを決定するステップは、
前記第１の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、
前記平行移動ベクトルを線形補間するステップと、
線形補間を用いて前記回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、
前記拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、
前記補間平行移動ベクトル、前記補間回転クォータニオン、および前記補間拡大縮小ベクトルに基づいて、補間平行移動−回転−拡大縮小行列を作成するステップと、
前記補間平行移動−回転−拡大縮小行列を用いて、前記補間された第１の顔のための補間位置を算出するステップとを含む、請求項１６に記載のシステム。
【請求項１９】
前記補間量は、
（ａ）前記第１の顔リサンプリングキーフレームと前記第２の顔リサンプリングキーフレームとの間の継続時間、および
（ｂ）今回のレンダリング時間から導出される、請求項１６に記載のシステム。
【請求項２０】
前記第２の補間顔フレームを決定するステップは、
前記第２の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む、請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１９年８月７日に出願された、「ビデオ通話のための顔に基づくフレームレートのアップサンプリング」と題する米国仮出願第６２／８８４，１３５号に基づく優先権を主張し、その内容全体を本明細書に引用により援用する。
【背景技術】
【０００２】
背景
モバイル機器上での映像ストリーミング（例えば、ビデオ通話アプリケーションで使用される映像ストリーミング）において、帯域幅または他のリソースを節約するために、低フレームレート（例えば、１５フレーム毎秒（ｆｐｓ））が用いられる場合がある。しかしながら、低フレームレートは、見る側にとって不満足な体験をもたらすことになる。例えば、ビデオ通話において対象の人物が素早い動作をした場合、低フレームレートでは、見る側がつっかえた動作を知覚することになる可能性がある。多くのモバイル機器は、より高いフレームレート（例えば、２５ｆｐｓ、３０ｆｐｓ、６０ｆｐｓ、９０ｆｐｓなど）の映像をレンダリングすることが可能であるが、帯域幅、バッテリ、またはローカルの処理能力の制約により、高フレームレートとすることが現実的ではない場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従来の動作補間技術では、オプティカルフローまたはボクセルフローを用いてフレーム間の画素の動きを検出する。フレーム間フローを補間することによって、補間フレームが合成される。しかしながら、フローの決定および補間は、デスクトップコンピュータのグラフィックスプロセッシングユニット上で行なったとしても、計算処理に費用がかかる。なぜなら、フレーム間の動きを特定するためには、画素毎に解析する必要があるからである。したがって、この手法は、計算性能の制約があるモバイル機器または他のデバイス上で映像の表示に使用するには、計算処理の点で非常に厳しいものである。また、従来の動作補間は、映像の前処理が行なわれるテレビではうまく機能するが、映像がリアルタイムで表示される映像ストリーミングでは実現不可能である。
【０００４】
上記で説明した背景は、本開示の文脈を一般的に提示することを目的とする。この背景の項に記載された範囲の現発明者の研究、および、出願時において先行技術として適格ではなかった本明細書の局面については、本開示に対する先行技術として明示的にも黙示的にも認めるものではない。
【課題を解決するための手段】
【０００５】
概要
実施形態は、概括すると、映像に対応する映像フレームのセットを受信するステップを含む方法に関する。映像フレームのセットは、各々が顔を含む第１の映像フレームおよび第２の映像フレームを含む。第２の映像フレームは、第１の映像フレームよりも後の映像フレームである。上記方法はさらに、第１の映像フレームに対して顔追跡を行なって第１の顔リサンプリングキーフレームを特定するステップを含む。第１の顔リサンプリングキーフレームは、第１の頭部変換行列および第１の顔ランドマーク頂点を含む。上記方法はさらに、第２の映像フレームに対して顔追跡を行なって第２の顔リサンプリングキーフレームを特定するステップを含む。第２の顔リサンプリングキーフレームは、第２の頭部変換行列および第２の顔ランドマーク頂点を含む。上記方法はさらに、補間量を導出するステップを含む。上記方法はさらに、第１の顔リサンプリングキーフレームおよび補間量に基づいて、第１の補間顔フレームを決定するステップを含む。上記方法はさらに、第２の顔リサンプリングキーフレームおよび補間量に基づいて、第２の補間顔フレームを決定するステップを含む。上記方法はさらに、補間量に基づいて、第１の顔リサンプリングキーフレームの第１の背景および第２の顔リサンプリングキーフレームの第２の背景を補間するステップを含む。上記方法はさらに、補間された第１の顔および補間された第２の顔をレンダリングするステップを含む。上記方法はさらに、補間された第１の背景、補間された第２の背景、補間された第１の顔、および補間された第２の顔に基づく最終フレームを表示するステップを含む。
【０００６】
ある実施形態では、上記方法はさらに、第１の背景と第２の背景とをブレンドすることによって、ブレンドされた背景を取得するステップと、補間された第１の顔と補間された第２の顔とをブレンドすることによって、補間かつブレンドされた顔を取得するステップと、補間かつブレンドされた顔およびブレンドされた背景に滑らかな顔を重ねることによって、最終フレームを生成するステップとを含む。ある実施形態では、第１の補間顔フレームを決定するステップは、第１の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、平行移動ベクトルを線形補間するステップと、線形補間を用いて回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、補間平行移動ベクトル、補間回転クォータニオン、および補間拡大縮小ベクトルに基づいて、補間平行移動−回転−拡大縮小行列を作成するステップと、補間平行移動−回転−拡大縮小行列を用いて、補間された第１の顔のための補間位置を算出するステップとを含む。ある実施形態では、補間量は、（ａ）第１の顔リサンプリングキーフレームと第２の顔リサンプリングキーフレームとの間の継続時間、および（ｂ）今回のレンダリング時間から導出される。ある実施形態では、第２の補間顔フレームを決定するステップは、第２の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む。ある実施形態では、第１の背景および第２の背景を補間するステップは、アルファブレンドによってなされる。ある実施形態では、レンダリングするステップは、補間量に基づいて、顔のエッジのフェザリング、または、第１の補間顔フレームと第２の補間顔フレームとの間のフェーディングのうちの少なくとも１つを行なうことを含む。ある実施形態では、第１の映像フレームに対して顔追跡を行なうステップは、第１の顔リサンプリングキーフレームの第１のテクスチャ座標と、タイムスタンプとを決定するステップをさらに含み、第１のテクスチャ座標は、第１の顔ランドマーク頂点に適用される。ある実施形態では、第１の背景および顔は、第１の映像フレームに対してＲＧＢ（赤・緑・青）顔追跡を行なうことによって特定される。
【０００７】
命令を格納した非一時的なコンピュータ読取り可能媒体であって、上記命令は、１つ以上のコンピュータによって実行されると、上記１つ以上のコンピュータに動作を行なわせ得る。上記動作は、映像に対応する映像フレームのセットを受信するステップを含む。映像フレームのセットは、各々が顔を含む第１の映像フレームおよび第２の映像フレームを含む。第２の映像フレームは、第１の映像フレームよりも後の映像フレームである。上記動作はさらに、第１の映像フレームに対して顔追跡を行なって第１の顔リサンプリングキーフレームを特定するステップを含む。第１の顔リサンプリングキーフレームは、第１の頭部変換行列および第１の顔ランドマーク頂点を含む。上記動作はさらに、第２の映像フレームに対して顔追跡を行なって第２の顔リサンプリングキーフレームを特定するステップを含む。第２の顔リサンプリングキーフレームは、第２の頭部変換行列および第２の顔ランドマーク頂点を含む。上記動作はさらに、補間量を導出するステップと、第１の顔リサンプリングキーフレームおよび補間量に基づいて、第１の補間顔フレームを決定するステップと、第２の顔リサンプリングキーフレームおよび補間量に基づいて、第２の補間顔フレームを決定するステップと、補間量に基づいて、第１の顔リサンプリングキーフレームの第１の背景および第２の顔リサンプリングキーフレームの第２の背景を補間するステップと、補間された第１の顔および補間された第２の顔をレンダリングするステップと、補間された第１の背景、補間された第２の背景、補間された第１の顔、および補間された第２の顔に基づく最終フレームを表示するステップとを含む。
【０００８】
ある実施形態では、上記動作はさらに、第１の背景と第２の背景とをブレンドすることによって、ブレンドされた背景を取得するステップと、補間された第１の顔と補間された第２の顔とをブレンドすることによって、補間かつブレンドされた顔を取得するステップと、補間かつブレンドされた顔およびブレンドされた背景に滑らかな顔を重ねることによって、最終フレームを生成するステップとを含む。ある実施形態では、第１の補間顔フレームを決定するステップは、第１の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、平行移動ベクトルを線形補間するステップと、線形補間を用いて回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、補間平行移動ベクトル、補間回転クォータニオン、および補間拡大縮小ベクトルに基づいて、補間平行移動−回転−拡大縮小行列を作成するステップと、補間平行移動−回転−拡大縮小行列を用いて、補間された第１の顔のための補間位置を算出するステップとを含む。ある実施形態では、補間量は、（ａ）第１の顔リサンプリングキーフレームと第２の顔リサンプリングキーフレームとの間の継続時間、および（ｂ）今回のレンダリング時間から導出される。ある実施形態では、第２の補間顔フレームを決定するステップは、第２の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む。ある実施形態では、第１の背景および第２の背景を補間するステップは、アルファブレンドによってなされる。
【０００９】
システムは、１つ以上のプロセッサと、命令を格納するメモリとを備えてもよい。上記命令は、１つ以上のプロセッサによって実行されると、上記１つ以上のプロセッサに動作を行なわせる。上記動作は、映像に対応する映像フレームのセットを受信するステップを含む。映像フレームのセットは、各々が顔を含む第１の映像フレームおよび第２の映像フレームを含む。第２の映像フレームは、第１の映像フレームよりも後の映像フレームである。上記動作はさらに、第１の映像フレームに対して顔追跡を行なって第１の顔リサンプリングキーフレームを特定するステップを含む。第１の顔リサンプリングキーフレームは、第１の頭部変換行列および第１の顔ランドマーク頂点を含む。上記動作はさらに、第２の映像フレームに対して顔追跡を行なって第２の顔リサンプリングキーフレームを特定するステップを含む。第２の顔リサンプリングキーフレームは、第２の頭部変換行列および第２の顔ランドマーク頂点を含む。上記動作はさらに、補間量を導出するステップと、第１の顔リサンプリングキーフレームおよび補間量に基づいて、第１の補間顔フレームを決定するステップと、第２の顔リサンプリングキーフレームおよび補間量に基づいて、第２の補間顔フレームを決定するステップと、補間量に基づいて、第１の顔リサンプリングキーフレームの第１の背景および第２の顔リサンプリングキーフレームの第２の背景を補間するステップと、補間された第１の顔および補間された第２の顔をレンダリングするステップと、補間された第１の背景、補間された第２の背景、補間された第１の顔、および補間された第２の顔に基づく最終フレームを表示するステップとを含む。
【００１０】
ある実施形態では、上記動作はさらに、第１の背景と第２の背景とをブレンドするステップと、補間された第１の顔と補間された第２の顔とをブレンドするステップと、補間かつブレンドされた顔およびブレンドされた背景に滑らかな顔を重ねることによって、最終フレームを生成するステップとを含む。ある実施形態では、第１の補間顔フレームを決定するステップは、第１の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、平行移動ベクトルを線形補間するステップと、線形補間を用いて回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、補間平行移動ベクトル、補間回転クォータニオン、および補間拡大縮小ベクトルに基づいて、補間平行移動−回転−拡大縮小行列を作成するステップと、補間平行移動−回転−拡大縮小行列を用いて、補間された第１の顔のための補間位置を算出するステップとを含む。ある実施形態では、補間量は、（ａ）第１の顔リサンプリングキーフレームと第２の顔リサンプリングキーフレームとの間の継続時間、および（ｂ）今回のレンダリング時間から導出される。ある実施形態では、第２の補間顔フレームを決定するステップは、第２の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む。
【００１１】
添付の図面における開示内容は、限定ではなく例として示されるものである。図面では、同様の要素を指すために同じ参照符号を用いる。
【図面の簡単な説明】
【００１２】
【図１】ある実施形態に係る、補間映像フレームが生成される環境の一例を示すブロック図である。
【図２】ある実施形態に係る、補間映像フレームを生成するコンピューティングデバイスの一例を示すブロック図である。
【図３Ａ】ある実施形態に係る、第１の顔リサンプリングキーフレームの一例を示す図である。
【図３Ｂ】ある実施形態に係る、第１の顔リサンプリングキーフレームの一例を示す図である。
【図３Ｃ】ある実施形態に係る、補間メッシュに基づいてワーピングされた第１のフレームのテクスチャを有する出力画像を示す図である。
【図３Ｄ】ある実施形態に係る、補間メッシュに基づいてワーピングされた第２のフレームのテクスチャを有する出力画像を示す図である。
【図４Ａ】ある実施形態に係る、７．５フレーム毎秒（ｆｐｓ）で送信された映像の入力映像フレームの一例を示す図である。
【図４Ｂ】ある実施形態に係る、２４０ｆｐｓの補間された第１の顔および補間された第２の顔を示す図である。
【図５Ａ】ある実施形態に係る、７．５ｆｐｓで送信された映像の入力映像フレームの一例を示す図である。
【図５Ｂ】ある実施形態に係る、重ねて描かれる滑らかな顔を準備するためにフェーディングさせた２４０ｆｐｓの映像フレームを示す図である。
【図６Ａ】ある実施形態に係る、７．５ｆｐｓで送信された映像の入力映像フレームの一例を示す図である。
【図６Ｂ】ある実施形態に係る、２４０ｆｐｓでレンダリングされ、かつ２４０ｆｐｓでレンダリングされた第１の補間顔フレームおよび第２の補間顔フレームに基づくブレンドされたフレームの一例を、背景なしで示す図である。
【図７Ａ】ある実施形態に係る、７．５ｆｐｓで送信された映像の入力映像フレームの一例を示す図である。
【図７Ｂ】ある実施形態に係る、ユーザデバイスに表示される最終フレームを示す図である。
【図８】２つのフレームシーケンスを示す図である。１つは補間なしの低フレームレートであり、もう１つは、ある実施形態に従って追加のフレームがフレームシーケンスに補間され追加されて、フレームレートが高められたものである。
【図９Ａ】ある実施形態に係る、補間映像フレームを生成するための方法の一例を示すフローチャートである。
【図９Ｂ】ある実施形態に係る、補間映像フレームを生成するための方法の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
詳細な説明
ある実施形態では、モバイル機器は、映像に対応する映像フレームのセットを受信する。例えば、映像フレームのセットは、各々が顔を含む第１の映像フレームおよび第２の映像フレームを含み得る。第２の映像フレームは、第１の映像フレームよりも後の映像フレームであり得る。モバイル機器は、第１の映像フレームに対して顔追跡を行なって、第１の頭部変換行列と第１の顔ランドマーク頂点とを含む第１の顔リサンプリングキーフレームを特定し得る。また、第２の映像フレームに対して顔追跡を行なって、第２の頭部変換行列と第２の顔ランドマーク頂点とを含む第２の顔リサンプリングキーフレームを特定し得る。補間量を導出する。第１の顔リサンプリングキーフレームおよび補間量に基づいて、第１の補間顔フレームを決定する。第２の顔リサンプリングキーフレームおよび補間量に基づいて、第２の補間顔フレームを決定する。補間量に基づいて、第１の顔リサンプリングキーフレームの第１の背景および第２の顔リサンプリングキーフレームの第２の背景を補間する。補間された第１の顔および補間された第２の顔をレンダリングする。補間された第１の背景、補間された第２の背景、補間された第１の顔、および補間された第２の顔に基づく最終フレームを表示する。
【００１４】
以下に記載するさまざまな実施形態は、いくつかの有利な点を有する。１つ目は、映像を表示するユーザデバイスによって処理が行なわれる点である。したがって、知覚フレームレートが高められた映像を表示するために映像アプリケーションが要する計算能力が少なくて済む。２つ目は、これらの実施形態では、映像を表示する受信デバイスが送信デバイスからエンドツーエンド暗号化によって映像を受信した場合であっても、受信映像フレームレートよりも高いフレームレートを提供することができる点である。３つ目は、映像フレームの構造は補間されるがテクスチャは補間されないので、計算処理の点で効率的に補間を行なうことができる点である。
【００１５】
システムの例
図１は、補間映像フレームを生成する環境１００の一例を示すブロック図である。図示されたシステム１００は、映像サーバ１０１、ユーザデバイス１１５ａ，１１５ｎ、およびネットワーク１０５を含む。ユーザ１２５ａ，１２５ｎは、ユーザデバイス１１５ａ，１１５ｎのそれぞれに関連付けられていてもよい。ある実施形態では、システム１００は、図１に示していない他のサーバまたはデバイスを含んでもよい。図１およびその他の図において、後に文字が付く参照符号（例えば、「１１５ａ」）は、その特定の参照符号を有する要素への参照を示す。本文中、後に文字が付かない参照符号（例えば、「１１５」）は、その参照符号を有する要素の実施形態への一般的な参照を示す。
【００１６】
映像サーバ１０１は、プロセッサ、メモリ、およびネットワーク通信機能を備えてもよい。ある実施形態では、映像サーバ１０１はハードウェアサーバである。映像サーバ１０１は、信号線１０２を介してネットワーク１０５に通信可能に接続されている。信号線１０２は、イーサネット（登録商標）、同軸ケーブル、光ファイバーケーブルなどの有線接続であってもよいし、Ｗｉ−Ｆｉ（登録商標）、ブルートゥース（登録商標）、または他の無線技術などの無線接続であってもよい。ある実施形態では、映像サーバ１０１は、ネットワーク１０５を介してユーザデバイス１１５ａ，１１５ｎのうちの１つ以上との間でデータを送受信する。映像サーバ１０１は、映像アプリケーション１０３ａおよびデータベース１９９を含み得る。
【００１７】
映像アプリケーション１０３ａは、あるユーザデバイス１１５ａから映像ストリームを受信し、その映像ストリームを別のユーザデバイス１１５ｎに送信するように動作可能なコードおよびルーチンを含み得る。例えば、映像ストリームは、エンドツーエンド方式で暗号化され得る。この場合、映像サーバ１０１は、映像処理を行なうことなく映像ストリームをデータとして中継することになる。ある実施形態では、映像アプリケーション１０３は、ハードウェアによって実現されてもよい。ハードウェアは、中央処理装置（ＣＰＵ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、他の任意の種類のプロセッサ、またはこれらの組み合わせなどを含み得る。ある実施形態では、映像アプリケーション１０３は、ハードウェアおよびソフトウェアの組み合わせによって実現されてもよい。
【００１８】
データベース１９９には、ユーザ１２５やユーザ１２５のユーザ基本設定などに関連付けられたソーシャルネットワークデータが格納されてもよい。
【００１９】
本明細書に記載のシステムおよび方法がユーザに関する個人情報（例えば、ユーザデータ、ユーザのソーシャルネットワークに関する情報、ユーザの位置、ユーザの生体情報、ユーザのアクティビティおよび／または対象層情報、映像アプリケーション１０３による映像の格納および解析など）を収集または使用し得る状況において、個人情報を収集させるか否か、個人情報を格納させるか否か、個人情報を使用させるか否か、画像または映像を解析させるか否か、ユーザに関する情報をどのように収集、格納、および使用させるかを制御する機会がユーザに与えられる。すなわち、本明細書に記載のシステムおよび方法は、関係するユーザから明示的な承諾を受信した場合にのみ、ユーザ個人情報を収集、格納、および／または使用できるようにしてもよい。例えば、ユーザは、プログラムまたは機能に、当該特定のユーザまたは当該プログラムもしくは機能に関係する他のユーザに関するユーザ情報を収集させるか否かを制御することができる。個人情報が収集される各ユーザに対して、当該ユーザに関係する情報収集の制御を可能にするための１つ以上のオプションが提示される。このオプションとは、情報を収集させるか否か、および情報の何れの部分を収集させるかについて、許可または承諾を付与させるものである。例えば、このような制御オプションのうちの１つ以上を、通信ネットワークを介してユーザに提供してもよい。さらに、あるデータの格納または使用前に、個人識別情報を取り除くようにそのデータを１つ以上の方法で処理してもよい。一例として、ユーザの具体的な位置が特定されないように、ユーザの地理的な位置をより広範な地域に一般化してもよい。
【００２０】
ユーザデバイス１１５は、メモリおよびハードウェアプロセッサを含むコンピューティングデバイスであってもよい。例えば、ユーザデバイス１１５は、デスクトップコンピュータ、モバイル機器、タブレットコンピュータ、携帯電話、ウェアラブルデバイス、ヘッドマウントディスプレイ、モバイル電子メールデバイス、携帯ゲーム機、携帯音楽プレーヤー、電子書籍端末、または、ネットワーク１０５にアクセス可能な別の電子機器を含み得る。
【００２１】
図示された実現例では、ユーザデバイス１１５ａは信号線１０８を介してネットワーク１０５に接続されており、ユーザデバイス１１５ｎは信号線１１０を介してネットワーク１０５に接続されている。信号線１０８および１１０は、イーサネット（登録商標）同軸ケーブル、光ファイバーケーブルなどの有線接続であってもよいし、Ｗｉ−Ｆｉ（登録商標）、ブルートゥース（登録商標）、または他の無線技術などの無線接続であってもよい。ユーザデバイス１１５ａ，１１５ｎは、それぞれユーザ１２５ａ，１２５ｎによってアクセスされる。図１のユーザデバイス１１５ａ，１１５ｎは、一例として用いられるものである。図１は１１５ａおよび１１５ｎの２つのユーザデバイスを示しているが、本開示は、１つ以上のユーザデバイス１１５を有するシステムアーキテクチャに適用される。
【００２２】
ある実施形態では、ユーザデバイス１１５は、ユーザ１２５によって装着されるウェアラブルデバイスであってもよい。例えば、ユーザデバイス１１５ｎは、クリップ（例えば、リストバンド）の一部、宝飾品の一部、または眼鏡の一部として含まれる。別の例では、ユーザデバイス１１５ｎはスマートウォッチであってもよい。ユーザ１２５ｎは、自身が装着するユーザデバイス１１５ｎのディスプレイ上で、映像アプリケーション１０３ｃによって生成された映像を閲覧し得る。例えば、映像アプリケーション１０３ｃは、補間映像フレームをユーザデバイス１１５ｎ上に表示し得る。
【００２３】
ある実施形態では、ユーザデバイス１１５ａは、ビデオ通話のための映像を生成する映像アプリケーション１０３ｂを含んでもよい。ユーザデバイス１１５ａは、ビデオ通話の際、ネットワーク１０５を介して直接、または映像サーバ１０１を介して、映像ストリームをユーザデバイス１１５ｎに送信し得る。ユーザデバイス１１５ｎは、映像アプリケーション１０３ｃを含み得る。映像アプリケーション１０３ｃは、映像ストリーム（一方向映像）を表示するものであってもよいし、別のデバイス上で実行される映像アプリケーションに含まれるものであってもよい（双方向映像、またはビデオ通話アプリケーションの一部として）。
【００２４】
ユーザデバイス１１５ｎは、映像アプリケーション１０３ｃを含む受信デバイスである。ユーザデバイス１１５ｎは、映像に対応する映像フレームのセットを受信する。映像アプリケーション１０３ｃは、フレーム中の顔および背景を特定し、補間顔フレームを構築し、フレームの背景を補間し、補間された顔をレンダリングし、フレーム中の補間された顔および補間された背景に基づく最終フレームを表示する。
【００２５】
図示された実現例では、システム１００のエンティティ同士は、ネットワーク１０５を介して通信可能に接続されている。ネットワーク１０５は、有線または無線の従来のタイプであってもよく、スター型構成、トークンリング型構成、または他の構成を含む多数のさまざまな構成を有し得る。さらに、ネットワーク１０５は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（例えば、インターネット）、および／または、複数のデバイス同士の通信経路となり得る他の相互接続データパスを含み得る。ある実施形態では、ネットワーク１０５は、ピアツーピア方式のネットワークであってもよい。ネットワーク１０５は、さまざまな異なる通信プロトコルでデータを送信するための電気通信ネットワークに接続されてもよく、またはその電気通信ネットワークの一部を含んでもよい。ある実施形態では、ネットワーク１０５は、ブルートゥース（登録商標）通信ネットワーク、Ｗｉ−Ｆｉ（登録商標）、ＩＥＥＥ９０２．１１によって規定された無線ローカルエリアネットワーク（ＷＬＡＮ）コンピュータ通信、または、ショート・メッセージ・サービス（ＳＭＳ）、マルチメディア・メッセージング・サービス（ＭＭＳ）、ハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）、直接データ接続、電子メールなどを介してデータを送受信するためのセルラー通信ネットワークを含む。図１はユーザデバイス１１５および映像サーバ１０１に接続された１つのネットワーク１０５を示しているが、実際には１つ以上のネットワーク１０５がこれらのエンティティに接続されていてもよい。
【００２６】
コンピューティングデバイスの例
図２は、補間映像フレームを生成するコンピューティングデバイス２００の一例を示すブロック図である。コンピューティングデバイス２００は、ユーザデバイス１１５または映像サーバ１０１であり得る。コンピューティングデバイス２００は、プロセッサ２３５、メモリ２３７、通信ユニット２３９、ディスプレイ２４１、およびストレージデバイス２４７を含み得る。コンピューティングデバイス２００の種類に応じて、追加のコンポーネントを含んでもよいし、上記のコンポーネントのうちの一部を省いてもよい。映像アプリケーション１０３は、メモリ２３７に格納され得る。ある実施形態では、コンピューティングデバイス２００は、上記で挙げていない他のコンポーネント（例えば、バッテリなど）を含んでもよい。コンピューティングデバイス２００のコンポーネント同士は、バス２２０によって通信可能に接続されてもよい。
【００２７】
プロセッサ２３５は、算術論理演算ユニット、マイクロプロセッサ、汎用制御装置、または、計算を実行し表示装置に命令を与える他の何らかのプロセッサアレイを含む。プロセッサ２３５はデータを処理するものであり、ＣＩＳＣ（Complex Instruction Set Computer）アーキテクチャ、ＲＩＳＣ（Reduced Instruction Set Computer）アーキテクチャ、または命令セットの組み合わせを実現するアーキテクチャなどのさまざまなコンピューティングアーキテクチャを含み得る。図２には１つのプロセッサ２３５が含まれているが、複数のプロセッサ２３５が含まれてもよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理的コンフィギュレーションがコンピューティングデバイス２００の一部を成してもよい。プロセッサ２３５はバス２２０に接続されており、信号線２２２を介して他のコンポーネントと通信可能である。
【００２８】
メモリ２３７は、プロセッサ２３５によって実行され得る命令、および／またはデータを格納する。この命令は、本明細書に記載の技術を行なうためのコードを含み得る。メモリ２３７は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックＲＡＭ、または他の何らかのメモリデバイスであってもよい。ある実施形態では、メモリ２３７は、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイスもしくはフラッシュメモリなどの不揮発性メモリ、または同様の永久ストレージデバイスおよび媒体も含む。永久ストレージデバイスおよび媒体の例としては、ハードディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、または永久的に情報を格納するための他の何らかの大容量ストレージデバイスなどがある。メモリ２３７は、映像アプリケーション１０３を実行するように動作可能なコードおよびルーチンを含む。これについては、以下で詳述する。メモリ２３７はバス２２０に接続されており、信号線２２４を介して他のコンポーネントと通信可能である。
【００２９】
通信ユニット２３９は、ユーザデバイス１１５および映像サーバ１０１のうちの少なくとも１つとの間でデータを送受信する。ある実施形態では、通信ユニット２３９は、１つまたは複数の無線通信方法を用いてユーザデバイス１１５、映像サーバ１０１、または他の通信チャネルとの間でデータをやり取りするための無線トランシーバを含む。無線通信方法には、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、ブルートゥース（登録商標）または別の適切な無線通信方法が含まれる。通信ユニット２３９はバス２２０に接続されており、信号線２２６を介して他のコンポーネントと通信可能である。
【００３０】
ある実施形態では、通信ユニット２３９は、セルラー通信ネットワークを介して、例えばショート・メッセージ・サービス（ＳＭＳ）、マルチメディア・メッセージング・サービス（ＭＭＳ）、ハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）、直接データ接続、電子メールまたは別の適切な種類の電子通信などによってデータを送受信するためのセルラー通信トランシーバを含む。ある実施形態では、通信ユニット２３９は、有線ポートおよび無線トランシーバを含む。通信ユニット２３９は、標準ネットワークプロトコルを用いてファイルおよび／またはメディアオブジェクトを分散させるために、ネットワーク１０５への他の従来の接続も提供する。標準ネットワークプロトコルには、ユーザデータグラムプロトコル（ＵＤＰ）、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、シンプル・メール・トランスファー・プロトコル（ＳＭＴＰ）、ＳＰＤＹ、ＱＵＩＣ（Quick UDP Internet Connections）などがあるが、これらに限定されない。通信ユニット２３９はバス２２０に接続されており、信号線２２６を介して他のコンポーネントと通信可能である。
【００３１】
ディスプレイ２４１は、映像アプリケーション１０３から受信したグラフィックデータを表示するように動作可能なハードウェアを含んでもよい。例えば、ディスプレイ２４１は、グラフィックをレンダリングして、映像の映像フレームを表示し得る。ディスプレイ２４１は、例えば液晶ディスプレイ（ＬＣＤ）やＯＬＥＤなど、如何なる種類のディスプレイであってもよい。ある実施形態では、ディスプレイ２４１は投影スクリーンであってもよい。ある実施形態では、例えばデバイス２４１が拡張現実デバイスである場合、ディスプレイ２４１は立体ディスプレイであってもよい。ディスプレイ２４１はバス２２０に接続されており、信号線２２８を介して他のコンポーネントと通信可能である。
【００３２】
ストレージデバイス２４７は、本明細書に記載の機能を提供するデータを格納する非一時的なコンピュータ読取り可能記憶媒体であってもよい。コンピューティングデバイス２００が映像サーバ１０１である実施形態では、ストレージデバイス２４７は、図１のデータベース１９９を含んでもよい。ストレージデバイス２４７は、ＤＲＡＭデバイス、ＳＲＡＭデバイス、フラッシュメモリ、または他の何らかのメモリデバイスであってもよい。ある実施形態では、ストレージデバイス２４７は、不揮発性メモリまたは同様の永久ストレージデバイスおよび媒体も含む。永久ストレージデバイスおよび媒体の例としては、ハードディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、または永久的に情報を格納するための他の何らかの大容量ストレージデバイスなどがある。ストレージデバイス２４７はバス２２０に接続されており、信号線２３０を介して他のコンポーネントと通信可能である。
【００３３】
映像アプリケーション１０３は、デコーダ２０２、映像アナライザ２０４、顔リサンプラー２０６、およびユーザインターフェイスモジュール２０８を含み得る。
【００３４】
デコーダ２０２は、符号化された映像フレームを復号する。ある実施形態では、デコーダ２０２は、プロセッサ２３５によって実行されると符号化された映像フレーム（例えば、コンピューティングデバイス２００とのビデオ通話に参加している送信デバイスから受信した映像フレーム）を復号させる命令のセットを含む。ある実施形態では、デコーダ２０２はコンピューティングデバイス２００のメモリ２３７に格納されており、プロセッサ２３５によってアクセスおよび実行され得る。
【００３５】
ある実施形態では、デコーダ２０２は、符号化された映像フレームのセットを通信ユニット２３９を介して受信する。デコーダ２０２は、（例えば、映像が暗号化されている場合に）符号化された映像フレームを例えば解読および展開することによって復号する。デコーダ２０２が映像フレームを復号すると、従来の映像処理では、一般的には映像フレームがレンダリングされて表示される。これに対して、本明細書に記載の技術によれば、例えば受信映像のフレームレートが映像アプリケーション１０３のフレームレートよりも低い場合には、デコーダ２０２は映像フレームの表示のためのスケジューリングを飛ばす。結果として、デコーダ２０２は、映像フレームの表示のためのスケジューリングを行なわずに、復号された映像フレームの各々を映像アナライザ２０４に提供する。例えば、映像フレームのセットは、第１の映像フレームおよび第２の映像フレームを含む。第２の映像フレームは、第１の映像フレームよりも後の映像フレームである。例えば、第２の映像フレームは、第１の映像フレームに関連付けられたタイムスタンプよりも後のタイムスタンプに関連付けられたものであり、時系列のフレームシーケンスにおいて第１の映像フレームよりも後の位置を占めるものである。ある実施形態では、第２の映像フレームは、第１の映像フレームの直後に続くフレームである。例えば、これら２つのフレームは、間に他のフレームを挟むことなく連続して表示されていると認識される。
【００３６】
映像アナライザ２０４は、顔追跡を行なう。ある実施形態では、映像アナライザ２０４は、プロセッサ２３５によって実行されると顔追跡を行なわせる命令のセットを含む。ある実施形態では、映像アナライザ２０４はコンピューティングデバイス２００のメモリ２３７に格納されており、プロセッサ２３５によってアクセスおよび実行され得る。
【００３７】
映像アナライザ２０４は、ユーザデバイス１１５の映像フレームレートとは独立したティック信号（tick signal、クロック信号）の周波数で動作する。例えば、映像アナライザ２０４は６０Ｈｚの周波数で動作し、６０Ｈｚで動作する映像フレーム表示用のリフレッシュ／レンダリングループに連動するクロックが別途設けられる。
【００３８】
映像アナライザ２０４は、復号された映像フレームのセットを受信し、フレーム毎に、復号された映像フレーム中の背景および顔を特定する。例えば、映像アナライザ２０４は、第１の映像フレーム中の第１の背景および顔を特定し、第２の映像フレーム中の第２の背景および顔を特定する。映像アナライザ２０４は、顔追跡技術を適用することによって、フレーム中の顔と背景とを区別し得る。例えば、映像アナライザ２０４は、顔リサンプリングキーフレームと、当該顔リサンプリングキーフレームのテクスチャ座標（例えば、ＲＧＢテクスチャ）と、映像フレームのタイムスタンプとを特定するＲＧＢ（赤・緑・青）顔追跡技術を適用してもよい。
【００３９】
ある実施形態では、顔リサンプリングキーフレームは、２つの値、すなわち頭部変換行列およびランドマーク頂点のセットを含む。頭部変換行列は、頭部変換を表わす４×４の行列（Ｍ）である。頭部変換行列によって、任意の初期モデル空間（初期の位置、向き、および縮尺）から顔空間に変換する（平行移動、回転、および拡大縮小を含む）。ランドマーク頂点のセット（Ｖ）は、顔空間におけるランドマーク頂点のセットを表わす。
【００４０】
ある実施形態では、映像アナライザ２０４は、機械学習を用いて、復号された映像フレームのセットの顔追跡をリアルタイムで行なう。ある実施形態では、例えば、ユーザデータを訓練に利用することについてユーザが明示的に許可した訓練データに基づいて、訓練モデルが訓練されてもよい。訓練データは、例えば映像および対応するメタデータなど、訓練への利用が許可された如何なるデータを含んでもよい。例えば、合成されたデータ、コンピュータによって生成されたデータ、訓練に利用するためにライセンスが与えられたデータなどが含まれる。訓練データは、その中で顔リサンプリングキーフレームが特定された画像および映像を含み得る。画像および映像は、映像サーバ１０１のデータベース１９９に格納された映像から取得したものであってもよい。
【００４１】
ある実施形態では、教師あり学習に基づいて（例えば、画像および映像ならびに対応するメタデータを含む訓練データに基づいて）、訓練モデルを取得してもよい。例えば、訓練モデルは、モデルフォームまたは構造を含み得る（例えば、対応する重みがかけられたニューラルネットワークの層内の複数ノードの数および組織を記述するモデルフォームまたは構造）。ある実施形態では、映像中の顔を検出し追跡するようにモデルを訓練してもよい。例えば、未訓練のモデルへの入力として、映像を与え、さらに顔位置（例えば、顔のランドマーク）を示すデータを与えてもよい。顔のランドマークを予測するように（教師あり学習を用いて）モデルを訓練してもよい。モデルを利用して映像中の顔のランドマークを検出し、予測されるランドマーク位置をグラウンドトゥルース（groundtruth）データと比較してもよい。これら２つの差を計算し、その差を訓練フィードバックとして提供してもよい。このフィードバックに基づいて、モデルの１つ以上のニューラルネットワークノードの重みまたは他のパラメータを調整してもよい。モデル予測が閾値精度を満たしたとき、訓練を終了させてもよい。
【００４２】
ある実施形態では、ユーザはユーザ入力を与えることによって、訓練データの生成を助ける。映像フレーム中の顔の位置を特定するようユーザに求めてもよい。ユーザ入力の結果として、訓練データは顔の位置に関して正確に特定し、それを用いて映像フレームの顔リサンプリングキーフレームを決定することができる。この例、および顔の位置を特定する他の例において、顔検出は、個人の同定を含まない（例えば、顔認識は行なわない）。さらに、訓練データは、例えばモジュールデバイスを用いて行なわれるビデオ通話において顔を検出するという使用文脈の代表例であり得る。
【００４３】
訓練データに基づいて、映像アナライザ２０４は、画像および映像に基づいて顔リサンプリングキーフレームを生成し得る訓練モデルを含み得る。訓練モデルは、時間的行動の局所化（temporal action localization）モデルであってもよい。さまざまな実施形態では、映像アナライザ２０４は、ベイズ分類器、サポートベクトルマシン、ニューラルネットワーク、または、訓練モデルを実現する他の学習技術を用いてもよい。
【００４４】
ある実施形態では、訓練モデルは、１つ以上のモデルフォームまたは構造を含み得る。例えば、モデルフォームまたは構造は、任意の種類のニューラルネットワークを含み得る。ニューラルネットワークの例としては、線形ネットワーク、複数層を実現するディープニューラルネットワーク（例えば、入力層と出力層との間に「隠れ層」があり、各層は線形ネットワークである）、畳み込みニューラルネットワーク（例えば、入力データを複数の部分またはタイルに分割または区画し、１つ以上のニューラルネットワーク層を用いて各タイルを別々に処理し、各タイルの処理によって得られた結果を集計するネットワーク）、シーケンスツーシーケンスニューラルネットワーク（例えば、文中の単語や映像中のフレームなどの連続的なデータを入力とし、結果として得られるシーケンスを出力として生成するネットワーク）などがある。モデルフォームまたは構造は、さまざまなノード間の接続性および層内のノードの組織を指定し得る。例えば、第１の層（例えば、入力層）のノードは、入力データまたはアプリケーションデータとしてデータを受信し得る。このようなデータは、例えば、ノード１つにつき１つ以上の画素を含み得る（例えば、訓練モデルを画像解析に使用する場合）。後に続く中間層は、モデルフォームまたは構造において指定された接続性に従って、前の層のノードの出力を入力として受信し得る。この層は、隠れ層と呼ばれることもある。最終層（例えば、出力層）は、顔リサンプリングキーフレームおよび他のメタデータの出力を生成する。この出力は、例えば、顔リサンプリングキーフレーム、顔リサンプリングキーフレームのテクスチャ座標、および映像フレームのタイムスタンプであり得る。ある実施形態では、モデルフォームまたは構造は、各層内のノードの数および／または種類も指定する。
【００４５】
異なる実施形態では、訓練モデルは、モデル構造またはフォームに従って層内に配置された複数のノードを含み得る。ある実施形態では、ノードは、メモリを有しない計算ノード（例えば、１単位の入力を処理して１単位の出力を生成するように構成される）であってもよい。ノードによって実行される計算は、例えば、複数のノード入力の各々に重みを掛け、重み付け総和を取得し、この重み付け総和をバイアス値または切片値で調整してノード出力を生成することを含んでもよい。ある実施形態では、ノードによって実行される計算は、調整された重み付け総和にステップ／活性化関数を適用することを含んでもよい。ある実施形態では、ステップ／活性化関数は非線形関数であり得る。さまざまな実施形態では、このような計算は、行列の乗算などの演算を含み得る。ある実施形態では、複数のノードによる計算は、例えばマルチコアプロセッサの複数のプロセッサコアを用いて、または一般的な処理ユニットもしくは特殊用途のニューラル回路の個別の処理ユニットを用いて、並列で実行してもよい。ある実施形態では、ノードはメモリを含んでもよい。例えば、前の１つ以上の入力を格納しておき、後の入力を処理する際にその入力を用いることが可能であってもよい。例えば、メモリを有するノードは、長・短期記憶（ＬＳＴＭ）ノードを含み得る。ＬＳＴＭノードは、ノードが有限状態機械（ＦＳＭ）のように動作できるように、「状態」を維持するメモリを用いてもよい。このようなノードを有するモデルは、連続データ（例えば、映像のフレーム）の処理に有用であり得る。
【００４６】
ある実施形態では、訓練モデルは、個々のノードについて埋め込みまたは重みを有し得る。例えば、訓練モデルは、モデルフォームまたは構造によって指定されるように層にまとめられた複数のノードとして開始されてもよい。初期設定では、モデルフォームに従って接続された各対のノード（例えば、ニューラルネットワークの連続する層におけるノード）間の接続にそれぞれ重みがかけられてもよい。例えば、それぞれの重みがランダムに割り当てられてもよいし、またはデフォルト値に初期化されてもよい。訓練モデルは、例えばデータを用いて訓練され、結果が生成され得る。
【００４７】
顔リサンプラー２０６は、補間顔フレームを生成する。ある実施形態では、リサンプラー２０６は、プロセッサ２３５によって実行されると補間顔フレームを生成させる命令のセットを含む。ある実施形態では、認識モジュール２０６がコンピューティングデバイス２００のメモリ２３７に格納されており、プロセッサ２３５によってアクセスおよび実行され得る。
【００４８】
ある実施形態では、顔リサンプラー２０６は、顔リサンプリングキーフレームと、テクスチャ座標と、映像フレームのタイムスタンプとを格納する限られたサイズのキューまたはバッファに関連付けられている。ある実施形態では、バッファの記憶容量は限られており、顔リサンプラー２０６は、新たな顔リサンプリングキーフレームが格納される度に、古い顔リサンプリングキーフレームを削除する。例えば、２つの顔リサンプリングキーフレームを用いて補間フレームを生成してもよい。例えば、映像フレーム間の対象物の動きの速度を構成するリサンプリングキーフレームを３つまたは４つとする等、他の例も可能である。
【００４９】
映像フレームのレンダリングが行なわれる度に、顔リサンプラー２０６は、顔リサンプリングキーフレーム間の継続時間（すなわち、通常各フレームの表示が継続される時間）、およびその継続時間に対する今回のレンダリング時間から、補間量（ｔ）を生成する。例えば、顔リサンプラー２０６は、今回のレンダリング時間およびフレーム継続時間（第１の顔リサンプリングキーフレームと第２の顔リサンプリングキーフレームとの間の時間として定義される）に基づいて、０〜１である補間量（ｔ）を生成する。ある実施形態では、補間量は、以下のように定義される。
【００５０】
【数１】
2021536146.tif 000003
【００５１】
言い換えると、補間量は、第１の映像フレームと第２の映像フレームとの間で補間される顔フレームの時間的な相対距離を０〜１の数で表わすものである。
【００５２】
顔リサンプラー２０６は、補間アルゴリズムの適用を含む補間を実行することによって、以下の（１）〜（７）を行なう。
【００５３】
（１）頭部変換行列を用いて顔リサンプリングキーフレームを分解して、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出する。
【００５４】
（２）平行移動ベクトルを線形補間する。
（３）球面線形補間を用いて回転クォータニオンを補間することによって、補間回転クォータニオンを生成する。
【００５５】
（４）拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成する。
【００５６】
（５）補間平行移動−回転−拡大縮小行列を作成する。
（６）補間フレームのための新たな補間位置を算出する。
【００５７】
（７）補間頂点を用いて、補間顔フレーム（すなわち、アップサンプリングされたフレーム）をレンダリングする。
【００５８】
顔リサンプラー２０６は、第１の顔リサンプリングキーフレームおよび第２の顔リサンプリングキーフレームを分解し得る。例えば、顔リサンプラー２０６は、頭部変換行列Ｍ＿ｆｉｒｓｔを用いて第１の顔リサンプリングキーフレームを分解するとともに、頭部変換行列Ｍ＿ｓｅｃｏｎｄを用いて第２の顔リサンプリングキーフレームを分解することによって、以下の（１）〜（３）を決定する。
【００５９】
（１）第１の顔リサンプリングキーフレームについてのｘｙｚ座標による平行移動ベクトル（Ｔ＿ｆｉｒｓｔ）、および第２の顔リサンプリングキーフレームについてのｘｙｚ座標による平行移動ベクトル（Ｔ＿ｓｅｃｏｎｄ）。
【００６０】
（２）第１の顔リサンプリングキーフレームについてのｘｙｚｗ座標による回転クォータニオン（Ｒ＿ｆｉｒｓｔ）、および第２の顔リサンプリングキーフレームについてのｘｙｚｗ座標による回転クォータニオン（Ｒ＿ｓｅｃｏｎｄ）。
【００６１】
（３）第１の顔リサンプリングキーフレームについてのｘｙｚ座標による拡大縮小ベクトル（Ｓ＿ｆｉｒｓｔ）、および第２の顔リサンプリングキーフレームについてのｘｙｚ座標による拡大縮小ベクトル（Ｓ＿ｓｅｃｏｎｄ）。
【００６２】
ある実施形態では、顔リサンプラー２０６は、以下の数式を用いて、第１の顔リサンプリングキーフレームの平行移動ベクトル（Ｔ＿ｆｉｒｓｔ）を線形補間するとともに、第２の顔リサンプリングキーフレームの平行移動ベクトル（Ｔ＿ｓｅｃｏｎｄ）を線形補間することによって、補間平行移動ベクトルを生成する。
【００６３】
【数２】
2021536146.tif 000004
【００６４】
ある実施形態では、顔リサンプラー２０６は、以下の数式を用いて、球面線形補間（ＳＬＥＲＰ）によってＲ＿ｆｉｒｓｔおよびＲ＿ｓｅｃｏｎｄを補間することによって、補間回転クォータニオンを生成する。
【００６５】
【数３】
2021536146.tif 000005
【００６６】
ある実施形態では、顔リサンプラー２０６は、以下の数式を用いて、拡大縮小ベクトルＳ＿ｆｉｒｓｔおよびＳ＿ｓｅｃｏｎｄを線形補間することによって、補間拡大縮小ベクトルを生成する。
【００６７】
【数４】
2021536146.tif 000006
【００６８】
ある実施形態では、顔リサンプラー２０６は、以下の数式を用いて、上記の補間値に基づき、補間平行移動−回転−拡大縮小行列（モデル空間から顔空間への変換を行なう）を作成する。
【００６９】
【数５】
2021536146.tif 000007
【００７０】
ある実施形態では、顔リサンプラー２０６は、以下の数式を用いて、全体の変換には含まれない顔の内側の動き（例えば、笑う、眉を上げる、等）を含む線形補間されたモデル空間の頂点を算出することによって、Ｖ＿ｆｉｒｓｔ（第１の顔ランドマーク頂点）における各頂点ｖ＿ｆｉｒｓｔおよびＶ＿ｓｅｃｏｎｄ（第２の顔ランドマーク頂点）における各頂点ｖ＿ｓｅｃｏｎｄについて、第１の補間フレームおよび第２の補間フレームのための新たな補間位置を算出する。
【００７１】
【数６】
2021536146.tif 000008
【００７２】
【数７】
2021536146.tif 000009
【００７３】
【数８】
2021536146.tif 000010
【００７４】
ある実施形態では、顔リサンプラー２０６は、以下の数式を用いて、第１のフレームと第２のフレームとの間で共有される新たな補間顔空間の頂点を算出する。
【００７５】
【数９】
2021536146.tif 000011
【００７６】
ある実施形態では、顔リサンプラー２０６は、補間顔空間の頂点を用いて、アップサンプリングされたフレームをレンダリングする。
【００７７】
顔リサンプラー２０６は、顔リサンプリングキーフレームの各々に対して補間顔フレームを生成する。各補間顔フレームにおけるテクスチャ座標は、それぞれの顔リサンプリングキーフレーム中のテクスチャ座標と等しい。補間量に従ってランドマーク頂点が補間され、補間メッシュ頂点が生成される。補間メッシュ頂点は、補間頭部変換行列と、顔リサンプリングキーフレーム中のメッシュ頂点とが合成されたものである。ランドマーク頂点は、補間顔フレーム間で同一であるが、これらのランドマーク頂点には異なるテクスチャ座標が適用される。なぜなら、テクスチャ座標はそれぞれの顔リサンプリングキーフレームに対応するからである。例えば、顔リサンプラー２０６は、第１の顔リサンプリングキーフレームに対応して第１の補間顔フレームを生成し、第２の顔リサンプリングキーフレームに対応して第２の補間顔フレームを生成する。これにより、第１の映像フレーム中の顔と第２の映像フレーム中の顔とを効果的に拡張し、それらを同一の中間位置で合わせることができる。
【００７８】
図３Ａには、第１の顔リサンプリングキーフレーム３００の一例を示す。これは、時間＝０の場合の補間アルゴリズムへの入力である。図３Ｂは、第２の顔リサンプリングキーフレーム３２５の一例を示す。これは、時間＝１の場合の補間アルゴリズムへの入力である。これらの図に示すように、図３Ａと図３Ｂでは、ランドマーク頂点（メッシュの交点）が異なる。例えば、図３Ａでは口が大きく開いているのに対して、図３Ｂでは、図３Ａと比較して顔が若干回転しており、口の開き具合が小さい。これにより、対応する頂点の位置が異なっている。
【００７９】
図３Ｃは、ブレンドを行なわずに補間メッシュに基づいてワーピングした第１の顔リサンプリングキーフレームのテクスチャを有する出力画像３５０を示す。図３Ｄは、ブレンドを行なわずに補間メッシュに基づいてワーピングした第２の顔リサンプリングキーフレームのテクスチャを有する出力画像３７５を示す。図３Ｃおよび図３Ｄではランドマーク頂点が同一であるが、異なるテクスチャ座標が適用される。なぜなら、これら２つのフレーム間でテクスチャが異なるからである。
【００８０】
図４Ａには、７．５ｆｐｓで送信された映像の入力映像フレーム４００の一例を示す。図４Ｂは、ある実施形態に係る、２４０ｆｐｓの補間された第１の顔４２５および補間された第２の顔４３０を示す。
【００８１】
ある実施形態では、顔リサンプラー２０６は、補間量に基づいて、第１の顔リサンプリングキーフレームの第１の背景および第２の顔リサンプリングキーフレームの第２の背景を補間する。顔リサンプラー２０６は、顔追跡アルゴリズムによって決定された第１および第２のフレーム中の顔の位置に基づいて、第１および第２の背景を決定してもよい。顔リサンプラー２０６は、アルファブレンドを用いて、キーフレームの背景を補間してもよい。ある実施形態では、ブレンドは、第１の背景と第２の背景との間のフェーディングを含み得る。フェーディングの結果、フレームが高フレームレートで順次表示されたときに、見る側にとって、重ねて描かれる滑らかな顔の視覚的ながたつき感が軽減される。ある実施形態では、補間を行なうことは、補間用の少なくとも２つのフレームをバッファリングすることを含み得る。このようなバッファリングにより、ある実施形態では、映像の再生は、映像ストリームに１フレーム分の遅延が起こることを含む。
【００８２】
図５Ａには、ある実施形態に係る、７．５ｆｐｓの入力映像フレーム５００の一例を示す。図５Ｂは、重ねて描かれる滑らかな顔を準備するために背景をフェーディングさせた２４０ｆｐｓの映像フレーム５２５を示す。
【００８３】
顔リサンプラー２０６は、第１の補間された顔および第２の補間された顔をレンダリングする。ある実施形態では、顔リサンプラー２０６は、補間量に応じて、顔のエッジのフェザリング（見る側に対して、補間顔フレームのエッジを目立たなくすることができる）、および第１の補間顔フレームと第２の補間顔フレームとの間のフェーディングのうちの少なくとも１つを行なう。
【００８４】
図６Ａには、ある実施形態に係る、７．５ｆｐｓの入力映像フレーム６００の一例を示す。図６Ｂは、第１の補間顔フレームおよび第２の補間顔フレームに基づいてブレンドされた、ブレンドされた顔フレーム６２５の一例を示す。このブレンドされた顔フレームは（他のブレンドされたフレームと一緒に）２４０ｆｐｓでレンダリングされ、図６Ｂでは説明のために背景なしで示している。図６Ｂに示す例では、顔リサンプラー２０６がフェザリングおよびフェーディングのうちの少なくとも１つを行なうことによって、滑らかな顔を生成している。
【００８５】
顔リサンプラー２０６は、補間された第１の背景、補間された第２の背景、補間された第１の顔、および補間された第２の顔に基づく最終フレームを表示するようディスプレイ２４１に命じる。例えば、顔リサンプラー２０６は、第１の背景と第２の背景との間のフェーディングによって生成されたブレンドされた背景付きのブレンドされた顔フレームに、滑らかな顔を重ねる。顔リサンプラー２０６は、ブレンドされた顔フレームのフェザリングを維持しつつ、顔追跡情報を用いて滑らかな顔とブレンドされた顔フレームとを位置合わせする。
【００８６】
図７Ａには、７．５ｆｐｓの入力映像フレーム７００の一例を示す。図７Ｂは、ユーザデバイス１１５によって表示される最終フレーム７２５を示す。最終フレーム７２５は、ブレンドされた背景と合成されたブレンドされた顔フレームの一例である。第１のフレームと第２のフレームとの間に１つ以上のブレンドされた顔フレームを中間フレームとして挿入した結果、映像が表示される際に知覚されるフレームレートが高まり、好ましいユーザ体験につながる。なぜなら、送信デバイスが高フレームレートでの映像ストリームの送信（これには、より広いネットワーク帯域幅が必要である）を必要とせずに、映像の質を高めることができるからである（例えば、低いフレームでは知覚され得る突発的な動きの移り変わりが知覚されなくなる）。例えば、本明細書に記載の補間フレームの生成によって、受信映像の連続フレーム間に補間フレームを挿入することにより、低フレームレート（例えば、７．５ｆｐｓ）の受信映像ストリームを、より高いフレームレート（例えば、３０ｆｐｓ、６０ｆｐｓ、２４０ｆｐｓなど）で再生することが可能になる。
【００８７】
図８には、２つのフレームシーケンスを示す。フレームシーケンス８１０はオリジナルの映像から得られたものであり、フレーム８１１、８１２、８１３、８１４、８１５、８１６、８１７、８１８、および８１９を含む。映像が低フレームレートで送信された場合、補間なしの低フレームレートで表示されるようにフレーム８１１、８１５、および８１９のみが含まれる。フレーム８１２、８１３、８１４、８１６、８１７、および８１８は含まれない。この場合、映像が表示されたときに、例えば映像がフレーム間で飛んでしまうような突発的な動きをユーザが知覚する可能性があるため、問題である。例えば、フレーム８１１とフレーム８１５との間で人物の口が突然閉じられた場合や、フレーム８１５とフレーム８１９との間で目が著しく変化した場合などである。
【００８８】
フレームシーケンス８２０は、アップサンプリングされた映像を含み、フレーム８１１、８２２、８２３、８２４、８１５、８２６、８２７、８２８、および８１９を含む。これらのフレームは、より高いフレームレートで表示される。フレーム８１１、８１５、および８１９を含む受信映像ストリームから、本明細書に記載の補間を行なうことによって追加のフレームを取得する。フレームシーケンス８２０における追加のフレームは８２２、８２３、８２４、８２６、８２７、および８２８である。これらのフレームは、本明細書に記載の技術に係る補間によって取得され、シーケンスに追加されるものである。補間フレームを用いた結果、映像受信に利用する帯域幅はフレームシーケンス８１０と同じままで、映像が飛ぶことなく、より高いフレームレートでフレームシーケンス８２０を表示することができる（中間フレーム８２２〜８２４および８２６〜８２８が利用できるため）。
【００８９】
ユーザインターフェイスモジュール２０８は、ユーザインターフェイスを表示するためのグラフィックデータを生成する。ある実施形態では、ユーザインターフェイスモジュール２０８は、プロセッサ２３５によって実行されるとグラフィックデータを生成させる命令のセットを含む。ある実施形態では、ユーザインターフェイスモジュール２０８はコンピューティングデバイス２００のメモリ２３７に格納されており、プロセッサ２３５によってアクセスおよび実行され得る。
【００９０】
ある実施形態では、ユーザインターフェイスモジュール２０８は、例えば顔リサンプラー２０６から取得した補間フレームを受信映像の連続フレーム間に挿入することによって、より高いフレームレートで映像が知覚されるように映像を表示するためのグラフィックデータを生成する。ある実施形態では、ユーザインターフェイスモジュール２０８は、映像アプリケーションに関連付けられたユーザインターフェイスオプションも生成する。例えば、ユーザインターフェイスは、ビデオ通話を実施するためのオプション、他のユーザをビデオ通話に加えるためのオプション、ビデオ通話に関連付けられた設定を変更するためのオプションなどを含む。
【００９１】
ある実施形態では、第１のフレームと第２のフレームとの間に生成される中間フレームの数は、映像を受信するフレームレートと、映像を再生するフレームレートとの間の差に基づく。例えば、映像を１０ｆｐｓで受信し、３０ｆｐｓで再生する場合、映像の連続フレームの各対に対して２つの中間フレームを生成する。この例では、オリジナルの映像が１００フレーム（１０秒間の映像に対応）を有する場合、２００個の中間フレームが生成されて３００フレームの映像が得られ、これは１０秒間の映像で３０ｆｐｓにて再生され得る。映像再生のフレームレートは、例えばディスプレイ２４１のリフレッシュレート、デバイス２００の計算性能、受信映像における動きの速度など、さまざまな要素に基づいて選択され得る。
【００９２】
方法の例
図９Ａおよび図９Ｂは、補間映像フレームを生成するための方法の一例を示すフローチャートである。方法９００は、コンピューティングデバイス２００に格納された映像アプリケーション１０３によって実行される。例えば、映像アプリケーション１０３は、ユーザデバイス１１５、映像サーバ１０１、またはユーザデバイス１１５の一部および映像サーバ１０１の一部に格納されている。
【００９３】
ブロック９０２において、映像に対応する映像フレームのセットを受信する。映像フレームのセットは、各々が顔を含む第１の映像フレームおよび第２の映像フレームを含む。第２の映像フレームは、第１の映像フレームよりも後の映像フレームである。例えば、映像の再生中、第１のフレームが第２のフレームよりも前に表示されるように、第２の映像フレームに関連付けられたタイムスタンプは第１の映像フレームに関連付けられたタイムスタンプよりも大きな値を有する。
【００９４】
ブロック９０４において、第１の映像フレームに対して顔追跡を行なって第１の顔リサンプリングキーフレームを特定する。第１の顔リサンプリングキーフレームは、第１の頭部変換行列および第１の顔ランドマーク頂点を含む。ブロック９０６において、第２の映像フレームに対して顔追跡を行なって第２の顔リサンプリングキーフレームを特定する。第２の顔リサンプリングキーフレームは、第２の頭部変換行列および第２の顔ランドマーク頂点を含む。
【００９５】
ブロック９０８において、補間量を導出する。ブロック９１０において、第１の顔リサンプリングキーフレームおよび補間量に基づいて、第１の補間顔フレームを決定する。ブロック９１２において、第２の顔リサンプリングキーフレームおよび補間量に基づいて、第２の補間顔フレームを決定する。ブロック９１４において、補間量に基づいて、第１の顔リサンプリングキーフレームの第１の背景および第２の顔リサンプリングキーフレームの第２の背景を補間する。ある実現例では、ブロック９１４を省いてもよい。ブロック９１６において、補間された第１の顔および補間された第２の顔をレンダリングする。例えば、補間された第１の顔および補間された第２の顔を、補間かつブレンドされた顔としてレンダリングする。ブロック９１８において、補間された第１の背景、補間された第２の背景、補間された第１の顔、および補間された第２の顔に基づく最終フレームを表示する。例えば、補間かつブレンドされた顔をブレンドされた背景に加えることによって、最終フレームを作成する。最終フレームは、フレームシーケンスにおける対応位置に挿入される。例えば、再生中、第１のフレーム、最終フレーム、および第２のフレームが順に表示されるように、第１の映像フレームと第２の映像フレームとの間に最終フレームを挿入する。より高いフレームレートでの再生を可能にする（例えば、１０フレーム毎秒の映像から３０フレーム毎秒を得る）ために、第１の映像フレームと第２の映像フレームとの間に２つ以上の補間フレームを生成する場合（例えば、補間量はｔ未満）、各補間フレームをシーケンスにおける対応位置に挿入する。
【００９６】
上記説明では、本明細書の完全な理解を提供するために、説明の目的で多くの具体的詳細を示している。しかしながら、それらの具体的詳細がなくても本開示が実践され得ることが、当業者には明らかであろう。ある場合には、説明を曖昧にするのを避けるために、構造およびデバイスをブロック図の形態で示している。例えば、上記実施形態は、主にユーザインターフェイスおよび特定のハードウェアを参照して説明され得る。しかしながら、上記実施形態は、データおよびコマンドを受信し得る如何なる種類のコンピューティングデバイス、およびサービスを提供する如何なる周辺機器にも適用され得る。
【００９７】
本明細書において「ある実施形態」または「ある例」と述べる場合、当該実施形態または例に関して説明した特定の特徴、構造、または特性が本明細書の少なくとも１つの実現例に含まれることを意味する。本明細書の様々な箇所に出現する表現「ある実施形態では」は、必ずしもすべてが同じ実施形態を指すとは限らない。
【００９８】
上記の詳細な説明うちのいくつかの部分は、コンピュータメモリ内のデータビットに対する操作のアルゴリズムおよびシンボル表現の観点から提示されている。これらのアルゴリズムによる記載および表現は、データ処理技術の当業者が彼らの仕事内容を他の当業者に最も効果的に伝えるために用いられる手段である。アルゴリズムは、本明細書では、および一般的には、所望の結果に導く自己矛盾のないステップのシーケンスであると考えられる。当該ステップは、物理量の物理的な操作を必要とするステップである。通常、必須ではないが、これらの量は、格納、転送、合成、比較、その他操作が行える電気データまたは磁気データの形を取る。時には、主に一般的な使用上の理由から、これらのデータを、ビット、値、要素、シンボル、文字、用語、数字などと呼ぶことが好都合である。
【００９９】
しかしながら、これらの用語および同様の用語のすべては、適切な物理量に関連付けられたものであり、その量に付される便利なラベルにすぎないことに留意されたい。下記の説明から明らかなように、特に記載のない限り、本明細書全体を通して、「処理する」、「計算する」、「算出する」、「決定する」、または「表示する」などの用語を使用した説明は、コンピュータシステムのレジスタおよびメモリ内の物理（電子）量として表されるデータを、コンピュータシステムのメモリもしくはレジスタ内または他の同様の情報ストレージ、送信装置もしくは表示装置内の物理量として同様に表される他のデータに操作および変換するコンピュータシステムまたは同様の電子コンピューティングデバイスの動作およびプロセスを指すことが理解されるであろう。
【０１００】
本明細書の実施形態は、上述の方法の１つ以上のステップを実行するためのプロセッサに関するものであってもよい。プロセッサは、コンピュータに格納されたコンピュータプログラムによって選択的に起動または再構成される特殊用途のプロセッサであってもよい。このようなコンピュータプログラムは、非一時的なコンピュータ読取り可能記憶媒体に格納されてもよい。非一時的なコンピュータ読取り可能記憶媒体としては、光ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、磁気ディスク、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カードもしくは光カード、フラッシュメモリ（不揮発性メモリを含むＵＳＢキー等）を含む任意の種類のディスク、または、電子命令を格納するのに適した、かつ、コンピュータシステムバスに各々が接続された任意の種類の媒体などがあるが、これらに限定されない。
【０１０１】
本明細書は、完全にハードウェアであるいくつかの実施形態、完全にソフトウェアであるいくつかの実施形態、またはハードウェア要素およびソフトウェア要素の両方を含むいくつかの実施形態の形を取り得る。ある実施形態では、本明細書はソフトウェアで実現され、ソフトウェアとしては、ファームウェア、常駐ソフトウェア、マイクロコードなどが含まれるが、これらに限定されない。
【０１０２】
さらに、本明細書は、コンピュータまたは任意の命令実行システムによって使用される、またはそれらに関連するプログラムコードを提供する、コンピュータが使用可能または読取り可能な媒体からアクセスできるコンピュータプログラムプロダクトの形を取り得る。本明細書では、コンピュータが使用可能または読取り可能な媒体は、命令実行システム、装置、またはデバイスによって使用される、またはそれらに関連するプログラムを含み、格納し、通信し、伝搬し、または移植することのできる任意の装置であり得る。
【０１０３】
プログラムコードを格納または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に接続された少なくとも１つのプロセッサを含むであろう。メモリ要素は、プログラムコードの実際の実行中に使用されるローカルメモリ、大容量ストレージ、および、実行中に大容量ストレージからコードを取得すべき回数を減らすために少なくとも一部のプログラムコードの一時記憶装置を提供するキャッシュメモリを含み得る。
【０１０４】
上述のシステムが個人情報を収集または使用する状況において、プログラムまたは機能にユーザ情報（例えば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの基本設定、またはユーザの現在位置に関する情報）を収集させるか否かを制御する機会、または、ユーザに密接に関わる内容をサーバから受信させるか否か、および／またはどのように受信させるかを制御する機会が、システムによってユーザに与えられる。さらに、あるデータを格納または使用する前に、そのデータを１つ以上の方法で処理して個人識別情報を取り除いてもよい。例えば、ユーザの個人識別情報が特定されないようにユーザの識別情報を処理してもよいし、位置情報が取得される場合には、ユーザの特定の位置が特定されないようにユーザの地理的位置を（例えば、市レベル、郵便番号レベル、または州レベルに）一般化してもよい。このように、当該ユーザに関する情報をどのように収集させるか、および、どのようにサーバに使用させるかをユーザが制御できるようにしてもよい。
【図１】
2021536146.tif 000012
【図２】
2021536146.tif 000013
【図３Ａ】
2021536146.tif 000014
【図３Ｂ】
2021536146.tif 000015
【図３Ｃ】
2021536146.tif 000016
【図３Ｄ】
2021536146.tif 000017
【図４Ａ】
2021536146.tif 000018
【図４Ｂ】
2021536146.tif 000019
【図５Ａ】
2021536146.tif 000020
【図５Ｂ】
2021536146.tif 000021
【図６Ａ】
2021536146.tif 000022
【図６Ｂ】
2021536146.tif 000023
【図７Ａ】
2021536146.tif 000024
【図７Ｂ】
2021536146.tif 000025
【図８】
2021536146.tif 000026
【図９Ａ】
2021536146.tif 000027
【図９Ｂ】
2021536146.tif 000028
【手続補正書】
【提出日】令和2年9月8日(2020.9.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
映像に対応する映像フレームのセットを受信するステップを含み、前記映像フレームのセットは、各々が顔を含む第１の映像フレームおよび第２の映像フレームを含み、前記第２の映像フレームは、前記第１の映像フレームよりも後の映像フレームであり、前記方法はさらに、
前記第１の映像フレームに対して顔追跡を行なって第１の顔リサンプリングキーフレームを特定するステップを含み、前記第１の顔リサンプリングキーフレームは、第１の頭部変換行列および第１の顔ランドマーク頂点を含み、前記方法はさらに、
前記第２の映像フレームに対して顔追跡を行なって第２の顔リサンプリングキーフレームを特定するステップを含み、前記第２の顔リサンプリングキーフレームは、第２の頭部変換行列および第２の顔ランドマーク頂点を含み、前記方法はさらに、
補間量を導出するステップと、
前記第１の顔リサンプリングキーフレームおよび前記補間量に基づいて、第１の補間顔フレームを決定するステップと、
前記第２の顔リサンプリングキーフレームおよび前記補間量に基づいて、第２の補間顔フレームを決定するステップと、
前記補間量に基づいて、前記第１の顔リサンプリングキーフレームの第１の背景および前記第２の顔リサンプリングキーフレームの第２の背景を補間するステップと、
補間された第１の顔および補間された第２の顔をレンダリングするステップと、
前記補間された第１の背景、前記補間された第２の背景、前記補間された第１の顔、および前記補間された第２の顔に基づく最終フレームを表示するステップとを含む、方法。
【請求項２】
前記第１の背景と前記第２の背景とをブレンドすることによって、ブレンドされた背景を取得するステップと、
前記補間された第１の顔と前記補間された第２の顔とをブレンドすることによって、補間かつブレンドされた顔を取得するステップと、
前記補間かつブレンドされた顔および前記ブレンドされた背景に滑らかな顔を重ねることによって、前記最終フレームを生成するステップとをさらに含む、請求項１に記載の方法。
【請求項３】
前記第１の補間顔フレームを決定するステップは、
前記第１の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、
前記平行移動ベクトルを線形補間するステップと、
線形補間を用いて前記回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、
前記拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、
補間された前記平行移動ベクトル、前記補間回転クォータニオン、および前記補間拡大縮小ベクトルに基づいて、補間平行移動−回転−拡大縮小行列を作成するステップと、
前記補間平行移動−回転−拡大縮小行列を用いて、前記補間された第１の顔のための補間位置を算出するステップとを含む、請求項１または請求項２に記載の方法。
【請求項４】
前記補間量は、
（ａ）前記第１の顔リサンプリングキーフレームと前記第２の顔リサンプリングキーフレームとの間の継続時間、および
（ｂ）今回のレンダリング時間から導出される、請求項１〜請求項３のいずれか１項に記載の方法。
【請求項５】
前記第２の補間顔フレームを決定するステップは、
前記第２の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む、請求項１〜請求項４のいずれか１項に記載の方法。
【請求項６】
前記第１の背景および前記第２の背景を補間するステップは、アルファブレンドによってなされる、請求項１〜請求項５のいずれか１項に記載の方法。
【請求項７】
前記レンダリングするステップは、前記補間量に基づいて、前記補間された第１の顔および前記補間された第２の顔のエッジのフェザリング、または、前記第１の補間顔フレームと前記第２の補間顔フレームとの間のフェーディングのうちの少なくとも１つを行なうことを含む、請求項１〜請求項６のいずれか１項に記載の方法。
【請求項８】
前記第１の映像フレームに対して顔追跡を行なうステップは、前記第１の顔リサンプリングキーフレームの第１のテクスチャ座標と、タイムスタンプとを決定するステップをさらに含み、
前記第１のテクスチャ座標は、前記第１の顔ランドマーク頂点に適用される、請求項１〜請求項７のいずれか１項に記載の方法。
【請求項９】
前記第１の顔リサンプリングキーフレームは、前記第１の映像フレームに対してＲＧＢ（赤・緑・青）顔追跡を行なうことによって特定される、請求項１〜請求項８のいずれか１項に記載の方法。
【請求項１０】
命令を含むプログラムであって、前記命令は、１つ以上のコンピュータによって実行されると、前記１つ以上のコンピュータに動作を行なわせ、前記動作は、
映像に対応する映像フレームのセットを受信するステップを含み、前記映像フレームのセットは、各々が顔を含む第１の映像フレームおよび第２の映像フレームを含み、前記第２の映像フレームは、前記第１の映像フレームよりも後の映像フレームであり、前記動作はさらに、
前記第１の映像フレームに対して顔追跡を行なって第１の顔リサンプリングキーフレームを特定するステップを含み、前記第１の顔リサンプリングキーフレームは、第１の頭部変換行列および第１の顔ランドマーク頂点を含み、前記動作はさらに、
前記第２の映像フレームに対して顔追跡を行なって第２の顔リサンプリングキーフレームを特定するステップを含み、前記第２の顔リサンプリングキーフレームは、第２の頭部変換行列および第２の顔ランドマーク頂点を含み、前記動作はさらに、
補間量を導出するステップと、
前記第１の顔リサンプリングキーフレームおよび前記補間量に基づいて、第１の補間顔フレームを決定するステップと、
前記第２の顔リサンプリングキーフレームおよび前記補間量に基づいて、第２の補間顔フレームを決定するステップと、
前記補間量に基づいて、前記第１の顔リサンプリングキーフレームの第１の背景および前記第２の顔リサンプリングキーフレームの第２の背景を補間するステップと、
補間された第１の顔および補間された第２の顔をレンダリングするステップと、
前記補間された第１の背景、前記補間された第２の背景、前記補間された第１の顔、および前記補間された第２の顔に基づく最終フレームを表示するステップとを含む、プログラム。
【請求項１１】
前記動作はさらに、
前記第１の背景と前記第２の背景とをブレンドすることによって、ブレンドされた背景を取得するステップと、
前記補間された第１の顔と前記補間された第２の顔とをブレンドすることによって、補間かつブレンドされた顔を取得するステップと、
前記補間かつブレンドされた顔および前記ブレンドされた背景に滑らかな顔を重ねることによって、前記最終フレームを生成するステップとを含む、請求項１０に記載のプログラム。
【請求項１２】
前記第１の補間顔フレームを決定するステップは、
前記第１の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、
前記平行移動ベクトルを線形補間するステップと、
線形補間を用いて前記回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、
前記拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、
補間された前記平行移動ベクトル、前記補間回転クォータニオン、および前記補間拡大縮小ベクトルに基づいて、補間平行移動−回転−拡大縮小行列を作成するステップと、
前記補間平行移動−回転−拡大縮小行列を用いて、前記補間された第１の顔のための補間位置を算出するステップとを含む、請求項１０または請求項１１に記載のプログラム。
【請求項１３】
前記補間量は、
（ａ）前記第１の顔リサンプリングキーフレームと前記第２の顔リサンプリングキーフレームとの間の継続時間、および
（ｂ）今回のレンダリング時間から導出される、請求項１０〜請求項１２のいずれか１項に記載のプログラム。
【請求項１４】
前記第２の補間顔フレームを決定するステップは、
前記第２の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む、請求項１０〜請求項１３のいずれか１項に記載のプログラム。
【請求項１５】
前記第１の背景および前記第２の背景を補間するステップは、アルファブレンドによってなされる、請求項１０〜請求項１４のいずれか１項に記載のプログラム。
【請求項１６】
システムであって、
１つ以上のプロセッサと、
命令を格納するメモリとを備え、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに動作を行なわせ、前記動作は、
映像に対応する映像フレームのセットを受信するステップを含み、前記映像フレームのセットは、各々が顔を含む第１の映像フレームおよび第２の映像フレームを含み、前記第２の映像フレームは、前記第１の映像フレームよりも後の映像フレームであり、前記動作はさらに、
前記第１の映像フレームに対して顔追跡を行なって第１の顔リサンプリングキーフレームを特定するステップを含み、前記第１の顔リサンプリングキーフレームは、第１の頭部変換行列および第１の顔ランドマーク頂点を含み、前記動作はさらに、
前記第２の映像フレームに対して顔追跡を行なって第２の顔リサンプリングキーフレームを特定するステップを含み、前記第２の顔リサンプリングキーフレームは、第２の頭部変換行列および第２の顔ランドマーク頂点を含み、前記動作はさらに、
補間量を導出するステップと、
前記第１の顔リサンプリングキーフレームおよび前記補間量に基づいて、第１の補間顔フレームを決定するステップと、
前記第２の顔リサンプリングキーフレームおよび前記補間量に基づいて、第２の補間顔フレームを決定するステップと、
前記補間量に基づいて、前記第１の顔リサンプリングキーフレームの第１の背景および
前記第２の顔リサンプリングキーフレームの第２の背景を補間するステップと、
補間された第１の顔および補間された第２の顔をレンダリングするステップと、
前記補間された第１の背景、前記補間された第２の背景、前記補間された第１の顔、および前記補間された第２の顔に基づく最終フレームを表示するステップとを含む、システム。
【請求項１７】
前記動作はさらに、
前記第１の背景と前記第２の背景とをブレンドすることによって、ブレンドされた背景を取得するステップと、
前記補間された第１の顔と前記補間された第２の顔とをブレンドすることによって、補間かつブレンドされた顔を取得するステップと、
前記補間かつブレンドされた顔および前記ブレンドされた背景に滑らかな顔を重ねることによって、前記最終フレームを生成するステップとを含む、請求項１６に記載のシステム。
【請求項１８】
前記第１の補間顔フレームを決定するステップは、
前記第１の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、
前記平行移動ベクトルを線形補間するステップと、
線形補間を用いて前記回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、
前記拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、
補間された前記平行移動ベクトル、前記補間回転クォータニオン、および前記補間拡大縮小ベクトルに基づいて、補間平行移動−回転−拡大縮小行列を作成するステップと、
前記補間平行移動−回転−拡大縮小行列を用いて、前記補間された第１の顔のための補間位置を算出するステップとを含む、請求項１６または請求項１７に記載のシステム。
【請求項１９】
前記補間量は、
（ａ）前記第１の顔リサンプリングキーフレームと前記第２の顔リサンプリングキーフレームとの間の継続時間、および
（ｂ）今回のレンダリング時間から導出される、請求項１６〜請求項１８のいずれか１項に記載のシステム。
【請求項２０】
前記第２の補間顔フレームを決定するステップは、
前記第２の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む、請求項１６〜請求項１９のいずれか１項に記載のシステム。
【国際調査報告】
2021536146.tif 000029
2021536146.tif 000030
2021536146.tif 000031
2021536146.tif 000032