JP7320591B2 - ビデオ通話のための顔に基づくフレームレートのアップサンプリング - Google Patents

ビデオ通話のための顔に基づくフレームレートのアップサンプリング Download PDF

Info

Publication number
JP7320591B2
JP7320591B2 JP2021209573A JP2021209573A JP7320591B2 JP 7320591 B2 JP7320591 B2 JP 7320591B2 JP 2021209573 A JP2021209573 A JP 2021209573A JP 2021209573 A JP2021209573 A JP 2021209573A JP 7320591 B2 JP7320591 B2 JP 7320591B2
Authority
JP
Japan
Prior art keywords
face
interpolated
video
frame
keyframe
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021209573A
Other languages
English (en)
Other versions
JP2022050463A (ja
Inventor
カワー,ディロン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2022050463A publication Critical patent/JP2022050463A/ja
Application granted granted Critical
Publication of JP7320591B2 publication Critical patent/JP7320591B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/0137Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes dependent on presence/absence of motion, e.g. of motion zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/21Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with binary alpha-plane coding for video objects, e.g. context-based arithmetic encoding [CAE]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0102Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving the resampling of the incoming video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)

Description

関連出願の相互参照
本願は、2019年8月7日に出願された、「ビデオ通話のための顔に基づくフレームレートのアップサンプリング」と題する米国仮出願第62/884,135号に基づく優先権を主張し、その内容全体を本明細書に引用により援用する。
背景
モバイル機器上での映像ストリーミング(例えば、ビデオ通話アプリケーションで使用される映像ストリーミング)において、帯域幅または他のリソースを節約するために、低フレームレート(例えば、15フレーム毎秒(fps))が用いられる場合がある。しかしながら、低フレームレートは、見る側にとって不満足な体験をもたらすことになる。例えば、ビデオ通話において対象の人物が素早い動作をした場合、低フレームレートでは、見る側がつっかえた動作を知覚することになる可能性がある。多くのモバイル機器は、より高いフレームレート(例えば、25fps、30fps、60fps、90fpsなど)の映像をレンダリングすることが可能であるが、帯域幅、バッテリ、またはローカルの処理能力の制約により、高フレームレートとすることが現実的ではない場合がある。
従来の動作補間技術では、オプティカルフローまたはボクセルフローを用いてフレーム間の画素の動きを検出する。フレーム間フローを補間することによって、補間フレームが合成される。しかしながら、フローの決定および補間は、デスクトップコンピュータのグラフィックスプロセッシングユニット上で行なったとしても、計算処理に費用がかかる。なぜなら、フレーム間の動きを特定するためには、画素毎に解析する必要があるからである。したがって、この手法は、計算性能の制約があるモバイル機器または他のデバイス上で映像の表示に使用するには、計算処理の点で非常に厳しいものである。また、従来の動作補間は、映像の前処理が行なわれるテレビではうまく機能するが、映像がリアルタイムで表示される映像ストリーミングでは実現不可能である。
上記で説明した背景は、本開示の文脈を一般的に提示することを目的とする。この背景の項に記載された範囲の現発明者の研究、および、出願時において先行技術として適格ではなかった本明細書の局面については、本開示に対する先行技術として明示的にも黙示的にも認めるものではない。
概要
実施形態は、概括すると、映像に対応する映像フレームのセットを受信するステップを含む方法に関する。映像フレームのセットは、各々が顔を含む第1の映像フレームおよび第2の映像フレームを含む。第2の映像フレームは、第1の映像フレームよりも後の映像フレームである。上記方法はさらに、第1の映像フレームに対して顔追跡を行なって第1の顔リサンプリングキーフレームを特定するステップを含む。第1の顔リサンプリングキーフレームは、第1の頭部変換行列および第1の顔ランドマーク頂点を含む。上記方法はさらに、第2の映像フレームに対して顔追跡を行なって第2の顔リサンプリングキーフレームを特定するステップを含む。第2の顔リサンプリングキーフレームは、第2の頭部変換行列および第2の顔ランドマーク頂点を含む。上記方法はさらに、補間量を導出するステップを含む。上記方法はさらに、第1の顔リサンプリングキーフレームおよび補間量に
基づいて、第1の補間顔フレームを決定するステップを含む。上記方法はさらに、第2の顔リサンプリングキーフレームおよび補間量に基づいて、第2の補間顔フレームを決定するステップを含む。上記方法はさらに、補間量に基づいて、第1の顔リサンプリングキーフレームの第1の背景および第2の顔リサンプリングキーフレームの第2の背景を補間するステップを含む。上記方法はさらに、補間された第1の顔および補間された第2の顔をレンダリングするステップを含む。上記方法はさらに、補間された第1の背景、補間された第2の背景、補間された第1の顔、および補間された第2の顔に基づく最終フレームを表示するステップを含む。
ある実施形態では、上記方法はさらに、第1の背景と第2の背景とをブレンドすることによって、ブレンドされた背景を取得するステップと、補間された第1の顔と補間された第2の顔とをブレンドすることによって、補間かつブレンドされた顔を取得するステップと、補間かつブレンドされた顔およびブレンドされた背景に滑らかな顔を重ねることによって、最終フレームを生成するステップとを含む。ある実施形態では、第1の補間顔フレームを決定するステップは、第1の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、平行移動ベクトルを線形補間するステップと、線形補間を用いて回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、補間平行移動ベクトル、補間回転クォータニオン、および補間拡大縮小ベクトルに基づいて、補間平行移動-回転-拡大縮小行列を作成するステップと、補間平行移動-回転-拡大縮小行列を用いて、補間された第1の顔のための補間位置を算出するステップとを含む。ある実施形態では、補間量は、(a)第1の顔リサンプリングキーフレームと第2の顔リサンプリングキーフレームとの間の継続時間、および(b)今回のレンダリング時間から導出される。ある実施形態では、第2の補間顔フレームを決定するステップは、第2の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む。ある実施形態では、第1の背景および第2の背景を補間するステップは、アルファブレンドによってなされる。ある実施形態では、レンダリングするステップは、補間量に基づいて、顔のエッジのフェザリング、または、第1の補間顔フレームと第2の補間顔フレームとの間のフェーディングのうちの少なくとも1つを行なうことを含む。ある実施形態では、第1の映像フレームに対して顔追跡を行なうステップは、第1の顔リサンプリングキーフレームの第1のテクスチャ座標と、タイムスタンプとを決定するステップをさらに含み、第1のテクスチャ座標は、第1の顔ランドマーク頂点に適用される。ある実施形態では、第1の背景および顔は、第1の映像フレームに対してRGB(赤・緑・青)顔追跡を行なうことによって特定される。
命令を格納した非一時的なコンピュータ読取り可能媒体であって、上記命令は、1つ以上のコンピュータによって実行されると、上記1つ以上のコンピュータに動作を行なわせ得る。上記動作は、映像に対応する映像フレームのセットを受信するステップを含む。映像フレームのセットは、各々が顔を含む第1の映像フレームおよび第2の映像フレームを含む。第2の映像フレームは、第1の映像フレームよりも後の映像フレームである。上記動作はさらに、第1の映像フレームに対して顔追跡を行なって第1の顔リサンプリングキーフレームを特定するステップを含む。第1の顔リサンプリングキーフレームは、第1の頭部変換行列および第1の顔ランドマーク頂点を含む。上記動作はさらに、第2の映像フレームに対して顔追跡を行なって第2の顔リサンプリングキーフレームを特定するステップを含む。第2の顔リサンプリングキーフレームは、第2の頭部変換行列および第2の顔ランドマーク頂点を含む。上記動作はさらに、補間量を導出するステップと、第1の顔リサンプリングキーフレームおよび補間量に基づいて、第1の補間顔フレームを決定するステップと、第2の顔リサンプリングキーフレームおよび補間量に基づいて、第2の補間顔フレームを決定するステップと、補間量に基づいて、第1の顔リサンプリングキーフレームの第1の背景および第2の顔リサンプリングキーフレームの第2の背景を補間するステ
ップと、補間された第1の顔および補間された第2の顔をレンダリングするステップと、補間された第1の背景、補間された第2の背景、補間された第1の顔、および補間された第2の顔に基づく最終フレームを表示するステップとを含む。
ある実施形態では、上記動作はさらに、第1の背景と第2の背景とをブレンドすることによって、ブレンドされた背景を取得するステップと、補間された第1の顔と補間された第2の顔とをブレンドすることによって、補間かつブレンドされた顔を取得するステップと、補間かつブレンドされた顔およびブレンドされた背景に滑らかな顔を重ねることによって、最終フレームを生成するステップとを含む。ある実施形態では、第1の補間顔フレームを決定するステップは、第1の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、平行移動ベクトルを線形補間するステップと、線形補間を用いて回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、補間平行移動ベクトル、補間回転クォータニオン、および補間拡大縮小ベクトルに基づいて、補間平行移動-回転-拡大縮小行列を作成するステップと、補間平行移動-回転-拡大縮小行列を用いて、補間された第1の顔のための補間位置を算出するステップとを含む。ある実施形態では、補間量は、(a)第1の顔リサンプリングキーフレームと第2の顔リサンプリングキーフレームとの間の継続時間、および(b)今回のレンダリング時間から導出される。ある実施形態では、第2の補間顔フレームを決定するステップは、第2の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む。ある実施形態では、第1の背景および第2の背景を補間するステップは、アルファブレンドによってなされる。
システムは、1つ以上のプロセッサと、命令を格納するメモリとを備えてもよい。上記命令は、1つ以上のプロセッサによって実行されると、上記1つ以上のプロセッサに動作を行なわせる。上記動作は、映像に対応する映像フレームのセットを受信するステップを含む。映像フレームのセットは、各々が顔を含む第1の映像フレームおよび第2の映像フレームを含む。第2の映像フレームは、第1の映像フレームよりも後の映像フレームである。上記動作はさらに、第1の映像フレームに対して顔追跡を行なって第1の顔リサンプリングキーフレームを特定するステップを含む。第1の顔リサンプリングキーフレームは、第1の頭部変換行列および第1の顔ランドマーク頂点を含む。上記動作はさらに、第2の映像フレームに対して顔追跡を行なって第2の顔リサンプリングキーフレームを特定するステップを含む。第2の顔リサンプリングキーフレームは、第2の頭部変換行列および第2の顔ランドマーク頂点を含む。上記動作はさらに、補間量を導出するステップと、第1の顔リサンプリングキーフレームおよび補間量に基づいて、第1の補間顔フレームを決定するステップと、第2の顔リサンプリングキーフレームおよび補間量に基づいて、第2の補間顔フレームを決定するステップと、補間量に基づいて、第1の顔リサンプリングキーフレームの第1の背景および第2の顔リサンプリングキーフレームの第2の背景を補間するステップと、補間された第1の顔および補間された第2の顔をレンダリングするステップと、補間された第1の背景、補間された第2の背景、補間された第1の顔、および補間された第2の顔に基づく最終フレームを表示するステップとを含む。
ある実施形態では、上記動作はさらに、第1の背景と第2の背景とをブレンドするステップと、補間された第1の顔と補間された第2の顔とをブレンドするステップと、補間かつブレンドされた顔およびブレンドされた背景に滑らかな顔を重ねることによって、最終フレームを生成するステップとを含む。ある実施形態では、第1の補間顔フレームを決定するステップは、第1の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、平行移動ベクトルを線形補間するステップと、線形補間を用いて回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、拡大縮小ベクトルを線形補間することによって、補間拡
大縮小ベクトルを生成するステップと、補間平行移動ベクトル、補間回転クォータニオン、および補間拡大縮小ベクトルに基づいて、補間平行移動-回転-拡大縮小行列を作成するステップと、補間平行移動-回転-拡大縮小行列を用いて、補間された第1の顔のための補間位置を算出するステップとを含む。ある実施形態では、補間量は、(a)第1の顔リサンプリングキーフレームと第2の顔リサンプリングキーフレームとの間の継続時間、および(b)今回のレンダリング時間から導出される。ある実施形態では、第2の補間顔フレームを決定するステップは、第2の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む。
添付の図面における開示内容は、限定ではなく例として示されるものである。図面では、同様の要素を指すために同じ参照符号を用いる。
ある実施形態に係る、補間映像フレームが生成される環境の一例を示すブロック図である。 ある実施形態に係る、補間映像フレームを生成するコンピューティングデバイスの一例を示すブロック図である。 ある実施形態に係る、第1の顔リサンプリングキーフレームの一例を示す図である。 ある実施形態に係る、第1の顔リサンプリングキーフレームの一例を示す図である。 ある実施形態に係る、補間メッシュに基づいてワーピングされた第1のフレームのテクスチャを有する出力画像を示す図である。 ある実施形態に係る、補間メッシュに基づいてワーピングされた第2のフレームのテクスチャを有する出力画像を示す図である。 ある実施形態に係る、7.5フレーム毎秒(fps)で送信された映像の入力映像フレームの一例を示す図である。 ある実施形態に係る、240fpsの補間された第1の顔および補間された第2の顔を示す図である。 ある実施形態に係る、7.5fpsで送信された映像の入力映像フレームの一例を示す図である。 ある実施形態に係る、重ねて描かれる滑らかな顔を準備するためにフェーディングさせた240fpsの映像フレームを示す図である。 ある実施形態に係る、7.5fpsで送信された映像の入力映像フレームの一例を示す図である。 ある実施形態に係る、240fpsでレンダリングされ、かつ240fpsでレンダリングされた第1の補間顔フレームおよび第2の補間顔フレームに基づくブレンドされたフレームの一例を、背景なしで示す図である。 ある実施形態に係る、7.5fpsで送信された映像の入力映像フレームの一例を示す図である。 ある実施形態に係る、ユーザデバイスに表示される最終フレームを示す図である。 2つのフレームシーケンスを示す図である。1つは補間なしの低フレームレートであり、もう1つは、ある実施形態に従って追加のフレームがフレームシーケンスに補間され追加されて、フレームレートが高められたものである。 ある実施形態に係る、補間映像フレームを生成するための方法の一例を示すフローチャートである。 ある実施形態に係る、補間映像フレームを生成するための方法の一例を示すフローチャートである。
詳細な説明
ある実施形態では、モバイル機器は、映像に対応する映像フレームのセットを受信する。例えば、映像フレームのセットは、各々が顔を含む第1の映像フレームおよび第2の映像フレームを含み得る。第2の映像フレームは、第1の映像フレームよりも後の映像フレームであり得る。モバイル機器は、第1の映像フレームに対して顔追跡を行なって、第1の頭部変換行列と第1の顔ランドマーク頂点とを含む第1の顔リサンプリングキーフレームを特定し得る。また、第2の映像フレームに対して顔追跡を行なって、第2の頭部変換行列と第2の顔ランドマーク頂点とを含む第2の顔リサンプリングキーフレームを特定し得る。補間量を導出する。第1の顔リサンプリングキーフレームおよび補間量に基づいて、第1の補間顔フレームを決定する。第2の顔リサンプリングキーフレームおよび補間量に基づいて、第2の補間顔フレームを決定する。補間量に基づいて、第1の顔リサンプリングキーフレームの第1の背景および第2の顔リサンプリングキーフレームの第2の背景を補間する。補間された第1の顔および補間された第2の顔をレンダリングする。補間された第1の背景、補間された第2の背景、補間された第1の顔、および補間された第2の顔に基づく最終フレームを表示する。
以下に記載するさまざまな実施形態は、いくつかの有利な点を有する。1つ目は、映像を表示するユーザデバイスによって処理が行なわれる点である。したがって、知覚フレームレートが高められた映像を表示するために映像アプリケーションが要する計算能力が少なくて済む。2つ目は、これらの実施形態では、映像を表示する受信デバイスが送信デバイスからエンドツーエンド暗号化によって映像を受信した場合であっても、受信映像フレームレートよりも高いフレームレートを提供することができる点である。3つ目は、映像フレームの構造は補間されるがテクスチャは補間されないので、計算処理の点で効率的に補間を行なうことができる点である。
システムの例
図1は、補間映像フレームを生成する環境100の一例を示すブロック図である。図示されたシステム100は、映像サーバ101、ユーザデバイス115a,115n、およびネットワーク105を含む。ユーザ125a,125nは、ユーザデバイス115a,115nのそれぞれに関連付けられていてもよい。ある実施形態では、システム100は、図1に示していない他のサーバまたはデバイスを含んでもよい。図1およびその他の図において、後に文字が付く参照符号(例えば、「115a」)は、その特定の参照符号を有する要素への参照を示す。本文中、後に文字が付かない参照符号(例えば、「115」)は、その参照符号を有する要素の実施形態への一般的な参照を示す。
映像サーバ101は、プロセッサ、メモリ、およびネットワーク通信機能を備えてもよい。ある実施形態では、映像サーバ101はハードウェアサーバである。映像サーバ101は、信号線102を介してネットワーク105に通信可能に接続されている。信号線102は、イーサネット(登録商標)、同軸ケーブル、光ファイバーケーブルなどの有線接続であってもよいし、Wi-Fi(登録商標)、ブルートゥース(登録商標)、または他の無線技術などの無線接続であってもよい。ある実施形態では、映像サーバ101は、ネットワーク105を介してユーザデバイス115a,115nのうちの1つ以上との間でデータを送受信する。映像サーバ101は、映像アプリケーション103aおよびデータベース199を含み得る。
映像アプリケーション103aは、あるユーザデバイス115aから映像ストリームを受信し、その映像ストリームを別のユーザデバイス115nに送信するように動作可能なコードおよびルーチンを含み得る。例えば、映像ストリームは、エンドツーエンド方式で暗号化され得る。この場合、映像サーバ101は、映像処理を行なうことなく映像ストリ
ームをデータとして中継することになる。ある実施形態では、映像アプリケーション103は、ハードウェアによって実現されてもよい。ハードウェアは、中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、他の任意の種類のプロセッサ、またはこれらの組み合わせなどを含み得る。ある実施形態では、映像アプリケーション103は、ハードウェアおよびソフトウェアの組み合わせによって実現されてもよい。
データベース199には、ユーザ125やユーザ125のユーザ基本設定などに関連付けられたソーシャルネットワークデータが格納されてもよい。
本明細書に記載のシステムおよび方法がユーザに関する個人情報(例えば、ユーザデータ、ユーザのソーシャルネットワークに関する情報、ユーザの位置、ユーザの生体情報、ユーザのアクティビティおよび/または対象層情報、映像アプリケーション103による映像の格納および解析など)を収集または使用し得る状況において、個人情報を収集させるか否か、個人情報を格納させるか否か、個人情報を使用させるか否か、画像または映像を解析させるか否か、ユーザに関する情報をどのように収集、格納、および使用させるかを制御する機会がユーザに与えられる。すなわち、本明細書に記載のシステムおよび方法は、関係するユーザから明示的な承諾を受信した場合にのみ、ユーザ個人情報を収集、格納、および/または使用できるようにしてもよい。例えば、ユーザは、プログラムまたは機能に、当該特定のユーザまたは当該プログラムもしくは機能に関係する他のユーザに関するユーザ情報を収集させるか否かを制御することができる。個人情報が収集される各ユーザに対して、当該ユーザに関係する情報収集の制御を可能にするための1つ以上のオプションが提示される。このオプションとは、情報を収集させるか否か、および情報の何れの部分を収集させるかについて、許可または承諾を付与させるものである。例えば、このような制御オプションのうちの1つ以上を、通信ネットワークを介してユーザに提供してもよい。さらに、あるデータの格納または使用前に、個人識別情報を取り除くようにそのデータを1つ以上の方法で処理してもよい。一例として、ユーザの具体的な位置が特定されないように、ユーザの地理的な位置をより広範な地域に一般化してもよい。
ユーザデバイス115は、メモリおよびハードウェアプロセッサを含むコンピューティングデバイスであってもよい。例えば、ユーザデバイス115は、デスクトップコンピュータ、モバイル機器、タブレットコンピュータ、携帯電話、ウェアラブルデバイス、ヘッドマウントディスプレイ、モバイル電子メールデバイス、携帯ゲーム機、携帯音楽プレーヤー、電子書籍端末、または、ネットワーク105にアクセス可能な別の電子機器を含み得る。
図示された実現例では、ユーザデバイス115aは信号線108を介してネットワーク105に接続されており、ユーザデバイス115nは信号線110を介してネットワーク105に接続されている。信号線108および110は、イーサネット(登録商標)同軸ケーブル、光ファイバーケーブルなどの有線接続であってもよいし、Wi-Fi(登録商標)、ブルートゥース(登録商標)、または他の無線技術などの無線接続であってもよい。ユーザデバイス115a,115nは、それぞれユーザ125a,125nによってアクセスされる。図1のユーザデバイス115a,115nは、一例として用いられるものである。図1は115aおよび115nの2つのユーザデバイスを示しているが、本開示は、1つ以上のユーザデバイス115を有するシステムアーキテクチャに適用される。
ある実施形態では、ユーザデバイス115は、ユーザ125によって装着されるウェアラブルデバイスであってもよい。例えば、ユーザデバイス115nは、クリップ(例えば、リストバンド)の一部、宝飾品の一部、または眼鏡の一部として含まれる。別の例では、ユーザデバイス115nはスマートウォッチであってもよい。ユーザ125nは、自身
が装着するユーザデバイス115nのディスプレイ上で、映像アプリケーション103cによって生成された映像を閲覧し得る。例えば、映像アプリケーション103cは、補間映像フレームをユーザデバイス115n上に表示し得る。
ある実施形態では、ユーザデバイス115aは、ビデオ通話のための映像を生成する映像アプリケーション103bを含んでもよい。ユーザデバイス115aは、ビデオ通話の際、ネットワーク105を介して直接、または映像サーバ101を介して、映像ストリームをユーザデバイス115nに送信し得る。ユーザデバイス115nは、映像アプリケーション103cを含み得る。映像アプリケーション103cは、映像ストリーム(一方向映像)を表示するものであってもよいし、別のデバイス上で実行される映像アプリケーションに含まれるものであってもよい(双方向映像、またはビデオ通話アプリケーションの一部として)。
ユーザデバイス115nは、映像アプリケーション103cを含む受信デバイスである。ユーザデバイス115nは、映像に対応する映像フレームのセットを受信する。映像アプリケーション103cは、フレーム中の顔および背景を特定し、補間顔フレームを構築し、フレームの背景を補間し、補間された顔をレンダリングし、フレーム中の補間された顔および補間された背景に基づく最終フレームを表示する。
図示された実現例では、システム100のエンティティ同士は、ネットワーク105を介して通信可能に接続されている。ネットワーク105は、有線または無線の従来のタイプであってもよく、スター型構成、トークンリング型構成、または他の構成を含む多数のさまざまな構成を有し得る。さらに、ネットワーク105は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(例えば、インターネット)、および/または、複数のデバイス同士の通信経路となり得る他の相互接続データパスを含み得る。ある実施形態では、ネットワーク105は、ピアツーピア方式のネットワークであってもよい。ネットワーク105は、さまざまな異なる通信プロトコルでデータを送信するための電気通信ネットワークに接続されてもよく、またはその電気通信ネットワークの一部を含んでもよい。ある実施形態では、ネットワーク105は、ブルートゥース(登録商標)通信ネットワーク、Wi-Fi(登録商標)、IEEE902.11によって規定された無線ローカルエリアネットワーク(WLAN)コンピュータ通信、または、ショート・メッセージ・サービス(SMS)、マルチメディア・メッセージング・サービス(MMS)、ハイパーテキスト・トランスファー・プロトコル(HTTP)、直接データ接続、電子メールなどを介してデータを送受信するためのセルラー通信ネットワークを含む。図1はユーザデバイス115および映像サーバ101に接続された1つのネットワーク105を示しているが、実際には1つ以上のネットワーク105がこれらのエンティティに接続されていてもよい。
コンピューティングデバイスの例
図2は、補間映像フレームを生成するコンピューティングデバイス200の一例を示すブロック図である。コンピューティングデバイス200は、ユーザデバイス115または映像サーバ101であり得る。コンピューティングデバイス200は、プロセッサ235、メモリ237、通信ユニット239、ディスプレイ241、およびストレージデバイス247を含み得る。コンピューティングデバイス200の種類に応じて、追加のコンポーネントを含んでもよいし、上記のコンポーネントのうちの一部を省いてもよい。映像アプリケーション103は、メモリ237に格納され得る。ある実施形態では、コンピューティングデバイス200は、上記で挙げていない他のコンポーネント(例えば、バッテリなど)を含んでもよい。コンピューティングデバイス200のコンポーネント同士は、バス220によって通信可能に接続されてもよい。
プロセッサ235は、算術論理演算ユニット、マイクロプロセッサ、汎用制御装置、または、計算を実行し表示装置に命令を与える他の何らかのプロセッサアレイを含む。プロセッサ235はデータを処理するものであり、CISC(Complex Instruction Set Computer)アーキテクチャ、RISC(Reduced Instruction Set Computer)アーキテクチャ、または命令セットの組み合わせを実現するアーキテクチャなどのさまざまなコンピューティングアーキテクチャを含み得る。図2には1つのプロセッサ235が含まれているが、複数のプロセッサ235が含まれてもよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理的コンフィギュレーションがコンピューティングデバイス200の一部を成してもよい。プロセッサ235はバス220に接続されており、信号線222を介して他のコンポーネントと通信可能である。
メモリ237は、プロセッサ235によって実行され得る命令、および/またはデータを格納する。この命令は、本明細書に記載の技術を行なうためのコードを含み得る。メモリ237は、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックRAM、または他の何らかのメモリデバイスであってもよい。ある実施形態では、メモリ237は、スタティックランダムアクセスメモリ(SRAM)デバイスもしくはフラッシュメモリなどの不揮発性メモリ、または同様の永久ストレージデバイスおよび媒体も含む。永久ストレージデバイスおよび媒体の例としては、ハードディスクドライブ、CD-ROMデバイス、DVD-ROMデバイス、DVD-RAMデバイス、DVD-RWデバイス、フラッシュメモリデバイス、または永久的に情報を格納するための他の何らかの大容量ストレージデバイスなどがある。メモリ237は、映像アプリケーション103を実行するように動作可能なコードおよびルーチンを含む。これについては、以下で詳述する。メモリ237はバス220に接続されており、信号線224を介して他のコンポーネントと通信可能である。
通信ユニット239は、ユーザデバイス115および映像サーバ101のうちの少なくとも1つとの間でデータを送受信する。ある実施形態では、通信ユニット239は、1つまたは複数の無線通信方法を用いてユーザデバイス115、映像サーバ101、または他の通信チャネルとの間でデータをやり取りするための無線トランシーバを含む。無線通信方法には、IEEE802.11、IEEE802.16、ブルートゥース(登録商標)または別の適切な無線通信方法が含まれる。通信ユニット239はバス220に接続されており、信号線226を介して他のコンポーネントと通信可能である。
ある実施形態では、通信ユニット239は、セルラー通信ネットワークを介して、例えばショート・メッセージ・サービス(SMS)、マルチメディア・メッセージング・サービス(MMS)、ハイパーテキスト・トランスファー・プロトコル(HTTP)、直接データ接続、電子メールまたは別の適切な種類の電子通信などによってデータを送受信するためのセルラー通信トランシーバを含む。ある実施形態では、通信ユニット239は、有線ポートおよび無線トランシーバを含む。通信ユニット239は、標準ネットワークプロトコルを用いてファイルおよび/またはメディアオブジェクトを分散させるために、ネットワーク105への他の従来の接続も提供する。標準ネットワークプロトコルには、ユーザデータグラムプロトコル(UDP)、TCP/IP、HTTP、HTTPS、シンプル・メール・トランスファー・プロトコル(SMTP)、SPDY、QUIC(Quick UDP Internet Connections)などがあるが、これらに限定されない。通信ユニット239はバス220に接続されており、信号線226を介して他のコンポーネントと通信可能である。
ディスプレイ241は、映像アプリケーション103から受信したグラフィックデータを表示するように動作可能なハードウェアを含んでもよい。例えば、ディスプレイ241は、グラフィックをレンダリングして、映像の映像フレームを表示し得る。ディスプレイ
241は、例えば液晶ディスプレイ(LCD)やOLEDなど、如何なる種類のディスプレイであってもよい。ある実施形態では、ディスプレイ241は投影スクリーンであってもよい。ある実施形態では、例えばデバイス241が拡張現実デバイスである場合、ディスプレイ241は立体ディスプレイであってもよい。ディスプレイ241はバス220に接続されており、信号線228を介して他のコンポーネントと通信可能である。
ストレージデバイス247は、本明細書に記載の機能を提供するデータを格納する非一時的なコンピュータ読取り可能記憶媒体であってもよい。コンピューティングデバイス200が映像サーバ101である実施形態では、ストレージデバイス247は、図1のデータベース199を含んでもよい。ストレージデバイス247は、DRAMデバイス、SRAMデバイス、フラッシュメモリ、または他の何らかのメモリデバイスであってもよい。ある実施形態では、ストレージデバイス247は、不揮発性メモリまたは同様の永久ストレージデバイスおよび媒体も含む。永久ストレージデバイスおよび媒体の例としては、ハードディスクドライブ、CD-ROMデバイス、DVD-ROMデバイス、DVD-RAMデバイス、DVD-RWデバイス、フラッシュメモリデバイス、または永久的に情報を格納するための他の何らかの大容量ストレージデバイスなどがある。ストレージデバイス247はバス220に接続されており、信号線230を介して他のコンポーネントと通信可能である。
映像アプリケーション103は、デコーダ202、映像アナライザ204、顔リサンプラー206、およびユーザインターフェイスモジュール208を含み得る。
デコーダ202は、符号化された映像フレームを復号する。ある実施形態では、デコーダ202は、プロセッサ235によって実行されると符号化された映像フレーム(例えば、コンピューティングデバイス200とのビデオ通話に参加している送信デバイスから受信した映像フレーム)を復号させる命令のセットを含む。ある実施形態では、デコーダ202はコンピューティングデバイス200のメモリ237に格納されており、プロセッサ235によってアクセスおよび実行され得る。
ある実施形態では、デコーダ202は、符号化された映像フレームのセットを通信ユニット239を介して受信する。デコーダ202は、(例えば、映像が暗号化されている場合に)符号化された映像フレームを例えば解読および展開することによって復号する。デコーダ202が映像フレームを復号すると、従来の映像処理では、一般的には映像フレームがレンダリングされて表示される。これに対して、本明細書に記載の技術によれば、例えば受信映像のフレームレートが映像アプリケーション103のフレームレートよりも低い場合には、デコーダ202は映像フレームの表示のためのスケジューリングを飛ばす。結果として、デコーダ202は、映像フレームの表示のためのスケジューリングを行なわずに、復号された映像フレームの各々を映像アナライザ204に提供する。例えば、映像フレームのセットは、第1の映像フレームおよび第2の映像フレームを含む。第2の映像フレームは、第1の映像フレームよりも後の映像フレームである。例えば、第2の映像フレームは、第1の映像フレームに関連付けられたタイムスタンプよりも後のタイムスタンプに関連付けられたものであり、時系列のフレームシーケンスにおいて第1の映像フレームよりも後の位置を占めるものである。ある実施形態では、第2の映像フレームは、第1の映像フレームの直後に続くフレームである。例えば、これら2つのフレームは、間に他のフレームを挟むことなく連続して表示されていると認識される。
映像アナライザ204は、顔追跡を行なう。ある実施形態では、映像アナライザ204は、プロセッサ235によって実行されると顔追跡を行なわせる命令のセットを含む。ある実施形態では、映像アナライザ204はコンピューティングデバイス200のメモリ237に格納されており、プロセッサ235によってアクセスおよび実行され得る。
映像アナライザ204は、ユーザデバイス115の映像フレームレートとは独立したティック信号(tick signal、クロック信号)の周波数で動作する。例えば、映像アナライ
ザ204は60Hzの周波数で動作し、60Hzで動作する映像フレーム表示用のリフレッシュ/レンダリングループに連動するクロックが別途設けられる。
映像アナライザ204は、復号された映像フレームのセットを受信し、フレーム毎に、復号された映像フレーム中の背景および顔を特定する。例えば、映像アナライザ204は、第1の映像フレーム中の第1の背景および顔を特定し、第2の映像フレーム中の第2の背景および顔を特定する。映像アナライザ204は、顔追跡技術を適用することによって、フレーム中の顔と背景とを区別し得る。例えば、映像アナライザ204は、顔リサンプリングキーフレームと、当該顔リサンプリングキーフレームのテクスチャ座標(例えば、RGBテクスチャ)と、映像フレームのタイムスタンプとを特定するRGB(赤・緑・青)顔追跡技術を適用してもよい。
ある実施形態では、顔リサンプリングキーフレームは、2つの値、すなわち頭部変換行列およびランドマーク頂点のセットを含む。頭部変換行列は、頭部変換を表わす4×4の行列(M)である。頭部変換行列によって、任意の初期モデル空間(初期の位置、向き、および縮尺)から顔空間に変換する(平行移動、回転、および拡大縮小を含む)。ランドマーク頂点のセット(V)は、顔空間におけるランドマーク頂点のセットを表わす。
ある実施形態では、映像アナライザ204は、機械学習を用いて、復号された映像フレームのセットの顔追跡をリアルタイムで行なう。ある実施形態では、例えば、ユーザデータを訓練に利用することについてユーザが明示的に許可した訓練データに基づいて、訓練モデルが訓練されてもよい。訓練データは、例えば映像および対応するメタデータなど、訓練への利用が許可された如何なるデータを含んでもよい。例えば、合成されたデータ、コンピュータによって生成されたデータ、訓練に利用するためにライセンスが与えられたデータなどが含まれる。訓練データは、その中で顔リサンプリングキーフレームが特定された画像および映像を含み得る。画像および映像は、映像サーバ101のデータベース199に格納された映像から取得したものであってもよい。
ある実施形態では、教師あり学習に基づいて(例えば、画像および映像ならびに対応するメタデータを含む訓練データに基づいて)、訓練モデルを取得してもよい。例えば、訓練モデルは、モデルフォームまたは構造を含み得る(例えば、対応する重みがかけられたニューラルネットワークの層内の複数ノードの数および組織を記述するモデルフォームまたは構造)。ある実施形態では、映像中の顔を検出し追跡するようにモデルを訓練してもよい。例えば、未訓練のモデルへの入力として、映像を与え、さらに顔位置(例えば、顔のランドマーク)を示すデータを与えてもよい。顔のランドマークを予測するように(教師あり学習を用いて)モデルを訓練してもよい。モデルを利用して映像中の顔のランドマークを検出し、予測されるランドマーク位置をグラウンドトゥルース(groundtruth)デ
ータと比較してもよい。これら2つの差を計算し、その差を訓練フィードバックとして提供してもよい。このフィードバックに基づいて、モデルの1つ以上のニューラルネットワークノードの重みまたは他のパラメータを調整してもよい。モデル予測が閾値精度を満たしたとき、訓練を終了させてもよい。
ある実施形態では、ユーザはユーザ入力を与えることによって、訓練データの生成を助ける。映像フレーム中の顔の位置を特定するようユーザに求めてもよい。ユーザ入力の結果として、訓練データは顔の位置に関して正確に特定し、それを用いて映像フレームの顔リサンプリングキーフレームを決定することができる。この例、および顔の位置を特定する他の例において、顔検出は、個人の同定を含まない(例えば、顔認識は行なわない)。
さらに、訓練データは、例えばモジュールデバイスを用いて行なわれるビデオ通話において顔を検出するという使用文脈の代表例であり得る。
訓練データに基づいて、映像アナライザ204は、画像および映像に基づいて顔リサンプリングキーフレームを生成し得る訓練モデルを含み得る。訓練モデルは、時間的行動の局所化(temporal action localization)モデルであってもよい。さまざまな実施形態では、映像アナライザ204は、ベイズ分類器、サポートベクトルマシン、ニューラルネットワーク、または、訓練モデルを実現する他の学習技術を用いてもよい。
ある実施形態では、訓練モデルは、1つ以上のモデルフォームまたは構造を含み得る。例えば、モデルフォームまたは構造は、任意の種類のニューラルネットワークを含み得る。ニューラルネットワークの例としては、線形ネットワーク、複数層を実現するディープニューラルネットワーク(例えば、入力層と出力層との間に「隠れ層」があり、各層は線形ネットワークである)、畳み込みニューラルネットワーク(例えば、入力データを複数の部分またはタイルに分割または区画し、1つ以上のニューラルネットワーク層を用いて各タイルを別々に処理し、各タイルの処理によって得られた結果を集計するネットワーク)、シーケンスツーシーケンスニューラルネットワーク(例えば、文中の単語や映像中のフレームなどの連続的なデータを入力とし、結果として得られるシーケンスを出力として生成するネットワーク)などがある。モデルフォームまたは構造は、さまざまなノード間の接続性および層内のノードの組織を指定し得る。例えば、第1の層(例えば、入力層)のノードは、入力データまたはアプリケーションデータとしてデータを受信し得る。このようなデータは、例えば、ノード1つにつき1つ以上の画素を含み得る(例えば、訓練モデルを画像解析に使用する場合)。後に続く中間層は、モデルフォームまたは構造において指定された接続性に従って、前の層のノードの出力を入力として受信し得る。この層は、隠れ層と呼ばれることもある。最終層(例えば、出力層)は、顔リサンプリングキーフレームおよび他のメタデータの出力を生成する。この出力は、例えば、顔リサンプリングキーフレーム、顔リサンプリングキーフレームのテクスチャ座標、および映像フレームのタイムスタンプであり得る。ある実施形態では、モデルフォームまたは構造は、各層内のノードの数および/または種類も指定する。
異なる実施形態では、訓練モデルは、モデル構造またはフォームに従って層内に配置された複数のノードを含み得る。ある実施形態では、ノードは、メモリを有しない計算ノード(例えば、1単位の入力を処理して1単位の出力を生成するように構成される)であってもよい。ノードによって実行される計算は、例えば、複数のノード入力の各々に重みを掛け、重み付け総和を取得し、この重み付け総和をバイアス値または切片値で調整してノード出力を生成することを含んでもよい。ある実施形態では、ノードによって実行される計算は、調整された重み付け総和にステップ/活性化関数を適用することを含んでもよい。ある実施形態では、ステップ/活性化関数は非線形関数であり得る。さまざまな実施形態では、このような計算は、行列の乗算などの演算を含み得る。ある実施形態では、複数のノードによる計算は、例えばマルチコアプロセッサの複数のプロセッサコアを用いて、または一般的な処理ユニットもしくは特殊用途のニューラル回路の個別の処理ユニットを用いて、並列で実行してもよい。ある実施形態では、ノードはメモリを含んでもよい。例えば、前の1つ以上の入力を格納しておき、後の入力を処理する際にその入力を用いることが可能であってもよい。例えば、メモリを有するノードは、長・短期記憶(LSTM)ノードを含み得る。LSTMノードは、ノードが有限状態機械(FSM)のように動作できるように、「状態」を維持するメモリを用いてもよい。このようなノードを有するモデルは、連続データ(例えば、映像のフレーム)の処理に有用であり得る。
ある実施形態では、訓練モデルは、個々のノードについて埋め込みまたは重みを有し得る。例えば、訓練モデルは、モデルフォームまたは構造によって指定されるように層にま
とめられた複数のノードとして開始されてもよい。初期設定では、モデルフォームに従って接続された各対のノード(例えば、ニューラルネットワークの連続する層におけるノード)間の接続にそれぞれ重みがかけられてもよい。例えば、それぞれの重みがランダムに割り当てられてもよいし、またはデフォルト値に初期化されてもよい。訓練モデルは、例えばデータを用いて訓練され、結果が生成され得る。
顔リサンプラー206は、補間顔フレームを生成する。ある実施形態では、リサンプラー206は、プロセッサ235によって実行されると補間顔フレームを生成させる命令のセットを含む。ある実施形態では、認識モジュール206がコンピューティングデバイス200のメモリ237に格納されており、プロセッサ235によってアクセスおよび実行され得る。
ある実施形態では、顔リサンプラー206は、顔リサンプリングキーフレームと、テクスチャ座標と、映像フレームのタイムスタンプとを格納する限られたサイズのキューまたはバッファに関連付けられている。ある実施形態では、バッファの記憶容量は限られており、顔リサンプラー206は、新たな顔リサンプリングキーフレームが格納される度に、古い顔リサンプリングキーフレームを削除する。例えば、2つの顔リサンプリングキーフレームを用いて補間フレームを生成してもよい。例えば、映像フレーム間の対象物の動きの速度を構成するリサンプリングキーフレームを3つまたは4つとする等、他の例も可能である。
映像フレームのレンダリングが行なわれる度に、顔リサンプラー206は、顔リサンプリングキーフレーム間の継続時間(すなわち、通常各フレームの表示が継続される時間)、およびその継続時間に対する今回のレンダリング時間から、補間量(t)を生成する。例えば、顔リサンプラー206は、今回のレンダリング時間およびフレーム継続時間(第1の顔リサンプリングキーフレームと第2の顔リサンプリングキーフレームとの間の時間として定義される)に基づいて、0~1である補間量(t)を生成する。ある実施形態では、補間量は、以下のように定義される。
Figure 0007320591000001
言い換えると、補間量は、第1の映像フレームと第2の映像フレームとの間で補間される顔フレームの時間的な相対距離を0~1の数で表わすものである。
顔リサンプラー206は、補間アルゴリズムの適用を含む補間を実行することによって、以下の(1)~(7)を行なう。
(1)頭部変換行列を用いて顔リサンプリングキーフレームを分解して、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出する。
(2)平行移動ベクトルを線形補間する。
(3)球面線形補間を用いて回転クォータニオンを補間することによって、補間回転クォータニオンを生成する。
(4)拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成する。
(5)補間平行移動-回転-拡大縮小行列を作成する。
(6)補間フレームのための新たな補間位置を算出する。
(7)補間頂点を用いて、補間顔フレーム(すなわち、アップサンプリングされたフレーム)をレンダリングする。
顔リサンプラー206は、第1の顔リサンプリングキーフレームおよび第2の顔リサンプリングキーフレームを分解し得る。例えば、顔リサンプラー206は、頭部変換行列M_firstを用いて第1の顔リサンプリングキーフレームを分解するとともに、頭部変換行列M_secondを用いて第2の顔リサンプリングキーフレームを分解することによって、以下の(1)~(3)を決定する。
(1)第1の顔リサンプリングキーフレームについてのxyz座標による平行移動ベクトル(T_first)、および第2の顔リサンプリングキーフレームについてのxyz座標による平行移動ベクトル(T_second)。
(2)第1の顔リサンプリングキーフレームについてのxyzw座標による回転クォータニオン(R_first)、および第2の顔リサンプリングキーフレームについてのxyzw座標による回転クォータニオン(R_second)。
(3)第1の顔リサンプリングキーフレームについてのxyz座標による拡大縮小ベクトル(S_first)、および第2の顔リサンプリングキーフレームについてのxyz座標による拡大縮小ベクトル(S_second)。
ある実施形態では、顔リサンプラー206は、以下の数式を用いて、第1の顔リサンプリングキーフレームの平行移動ベクトル(T_first)を線形補間するとともに、第2の顔リサンプリングキーフレームの平行移動ベクトル(T_second)を線形補間することによって、補間平行移動ベクトルを生成する。
Figure 0007320591000002
ある実施形態では、顔リサンプラー206は、以下の数式を用いて、球面線形補間(SLERP)によってR_firstおよびR_secondを補間することによって、補間回転クォータニオンを生成する。
Figure 0007320591000003
ある実施形態では、顔リサンプラー206は、以下の数式を用いて、拡大縮小ベクトルS_firstおよびS_secondを線形補間することによって、補間拡大縮小ベクトルを生成する。
Figure 0007320591000004
ある実施形態では、顔リサンプラー206は、以下の数式を用いて、上記の補間値に基づき、補間平行移動-回転-拡大縮小行列(モデル空間から顔空間への変換を行なう)を作成する。
Figure 0007320591000005
ある実施形態では、顔リサンプラー206は、以下の数式を用いて、全体の変換には含まれない顔の内側の動き(例えば、笑う、眉を上げる、等)を含む線形補間されたモデル空間の頂点を算出することによって、V_first(第1の顔ランドマーク頂点)における各頂点v_firstおよびV_second(第2の顔ランドマーク頂点)における各頂点v_secondについて、第1の補間フレームおよび第2の補間フレームのための新たな補間位置を算出する。
Figure 0007320591000006
Figure 0007320591000007
Figure 0007320591000008
ある実施形態では、顔リサンプラー206は、以下の数式を用いて、第1のフレームと第2のフレームとの間で共有される新たな補間顔空間の頂点を算出する。
Figure 0007320591000009
ある実施形態では、顔リサンプラー206は、補間顔空間の頂点を用いて、アップサンプリングされたフレームをレンダリングする。
顔リサンプラー206は、顔リサンプリングキーフレームの各々に対して補間顔フレームを生成する。各補間顔フレームにおけるテクスチャ座標は、それぞれの顔リサンプリングキーフレーム中のテクスチャ座標と等しい。補間量に従ってランドマーク頂点が補間さ
れ、補間メッシュ頂点が生成される。補間メッシュ頂点は、補間頭部変換行列と、顔リサンプリングキーフレーム中のメッシュ頂点とが合成されたものである。ランドマーク頂点は、補間顔フレーム間で同一であるが、これらのランドマーク頂点には異なるテクスチャ座標が適用される。なぜなら、テクスチャ座標はそれぞれの顔リサンプリングキーフレームに対応するからである。例えば、顔リサンプラー206は、第1の顔リサンプリングキーフレームに対応して第1の補間顔フレームを生成し、第2の顔リサンプリングキーフレームに対応して第2の補間顔フレームを生成する。これにより、第1の映像フレーム中の顔と第2の映像フレーム中の顔とを効果的に拡張し、それらを同一の中間位置で合わせることができる。
図3Aには、第1の顔リサンプリングキーフレーム300の一例を示す。これは、時間=0の場合の補間アルゴリズムへの入力である。図3Bは、第2の顔リサンプリングキーフレーム325の一例を示す。これは、時間=1の場合の補間アルゴリズムへの入力である。これらの図に示すように、図3Aと図3Bでは、ランドマーク頂点(メッシュの交点)が異なる。例えば、図3Aでは口が大きく開いているのに対して、図3Bでは、図3Aと比較して顔が若干回転しており、口の開き具合が小さい。これにより、対応する頂点の位置が異なっている。
図3Cは、ブレンドを行なわずに補間メッシュに基づいてワーピングした第1の顔リサンプリングキーフレームのテクスチャを有する出力画像350を示す。図3Dは、ブレンドを行なわずに補間メッシュに基づいてワーピングした第2の顔リサンプリングキーフレームのテクスチャを有する出力画像375を示す。図3Cおよび図3Dではランドマーク頂点が同一であるが、異なるテクスチャ座標が適用される。なぜなら、これら2つのフレーム間でテクスチャが異なるからである。
図4Aには、7.5fpsで送信された映像の入力映像フレーム400の一例を示す。図4Bは、ある実施形態に係る、240fpsの補間された第1の顔425および補間された第2の顔430を示す。
ある実施形態では、顔リサンプラー206は、補間量に基づいて、第1の顔リサンプリングキーフレームの第1の背景および第2の顔リサンプリングキーフレームの第2の背景を補間する。顔リサンプラー206は、顔追跡アルゴリズムによって決定された第1および第2のフレーム中の顔の位置に基づいて、第1および第2の背景を決定してもよい。顔リサンプラー206は、アルファブレンドを用いて、キーフレームの背景を補間してもよい。ある実施形態では、ブレンドは、第1の背景と第2の背景との間のフェーディングを含み得る。フェーディングの結果、フレームが高フレームレートで順次表示されたときに、見る側にとって、重ねて描かれる滑らかな顔の視覚的ながたつき感が軽減される。ある実施形態では、補間を行なうことは、補間用の少なくとも2つのフレームをバッファリングすることを含み得る。このようなバッファリングにより、ある実施形態では、映像の再生は、映像ストリームに1フレーム分の遅延が起こることを含む。
図5Aには、ある実施形態に係る、7.5fpsの入力映像フレーム500の一例を示す。図5Bは、重ねて描かれる滑らかな顔を準備するために背景をフェーディングさせた240fpsの映像フレーム525を示す。
顔リサンプラー206は、第1の補間された顔および第2の補間された顔をレンダリングする。ある実施形態では、顔リサンプラー206は、補間量に応じて、顔のエッジのフェザリング(見る側に対して、補間顔フレームのエッジを目立たなくすることができる)、および第1の補間顔フレームと第2の補間顔フレームとの間のフェーディングのうちの少なくとも1つを行なう。
図6Aには、ある実施形態に係る、7.5fpsの入力映像フレーム600の一例を示す。図6Bは、第1の補間顔フレームおよび第2の補間顔フレームに基づいてブレンドされた、ブレンドされた顔フレーム625の一例を示す。このブレンドされた顔フレームは(他のブレンドされたフレームと一緒に)240fpsでレンダリングされ、図6Bでは説明のために背景なしで示している。図6Bに示す例では、顔リサンプラー206がフェザリングおよびフェーディングのうちの少なくとも1つを行なうことによって、滑らかな顔を生成している。
顔リサンプラー206は、補間された第1の背景、補間された第2の背景、補間された第1の顔、および補間された第2の顔に基づく最終フレームを表示するようディスプレイ241に命じる。例えば、顔リサンプラー206は、第1の背景と第2の背景との間のフェーディングによって生成されたブレンドされた背景付きのブレンドされた顔フレームに、滑らかな顔を重ねる。顔リサンプラー206は、ブレンドされた顔フレームのフェザリングを維持しつつ、顔追跡情報を用いて滑らかな顔とブレンドされた顔フレームとを位置合わせする。
図7Aには、7.5fpsの入力映像フレーム700の一例を示す。図7Bは、ユーザデバイス115によって表示される最終フレーム725を示す。最終フレーム725は、ブレンドされた背景と合成されたブレンドされた顔フレームの一例である。第1のフレームと第2のフレームとの間に1つ以上のブレンドされた顔フレームを中間フレームとして挿入した結果、映像が表示される際に知覚されるフレームレートが高まり、好ましいユーザ体験につながる。なぜなら、送信デバイスが高フレームレートでの映像ストリームの送信(これには、より広いネットワーク帯域幅が必要である)を必要とせずに、映像の質を高めることができるからである(例えば、低いフレームでは知覚され得る突発的な動きの移り変わりが知覚されなくなる)。例えば、本明細書に記載の補間フレームの生成によって、受信映像の連続フレーム間に補間フレームを挿入することにより、低フレームレート(例えば、7.5fps)の受信映像ストリームを、より高いフレームレート(例えば、30fps、60fps、240fpsなど)で再生することが可能になる。
図8には、2つのフレームシーケンスを示す。フレームシーケンス810はオリジナルの映像から得られたものであり、フレーム811、812、813、814、815、816、817、818、および819を含む。映像が低フレームレートで送信された場合、補間なしの低フレームレートで表示されるようにフレーム811、815、および819のみが含まれる。フレーム812、813、814、816、817、および818は含まれない。この場合、映像が表示されたときに、例えば映像がフレーム間で飛んでしまうような突発的な動きをユーザが知覚する可能性があるため、問題である。例えば、フレーム811とフレーム815との間で人物の口が突然閉じられた場合や、フレーム815とフレーム819との間で目が著しく変化した場合などである。
フレームシーケンス820は、アップサンプリングされた映像を含み、フレーム811、822、823、824、815、826、827、828、および819を含む。これらのフレームは、より高いフレームレートで表示される。フレーム811、815、および819を含む受信映像ストリームから、本明細書に記載の補間を行なうことによって追加のフレームを取得する。フレームシーケンス820における追加のフレームは822、823、824、826、827、および828である。これらのフレームは、本明細書に記載の技術に係る補間によって取得され、シーケンスに追加されるものである。補間フレームを用いた結果、映像受信に利用する帯域幅はフレームシーケンス810と同じままで、映像が飛ぶことなく、より高いフレームレートでフレームシーケンス820を表示することができる(中間フレーム822~824および826~828が利用できるため
)。
ユーザインターフェイスモジュール208は、ユーザインターフェイスを表示するためのグラフィックデータを生成する。ある実施形態では、ユーザインターフェイスモジュール208は、プロセッサ235によって実行されるとグラフィックデータを生成させる命令のセットを含む。ある実施形態では、ユーザインターフェイスモジュール208はコンピューティングデバイス200のメモリ237に格納されており、プロセッサ235によってアクセスおよび実行され得る。
ある実施形態では、ユーザインターフェイスモジュール208は、例えば顔リサンプラー206から取得した補間フレームを受信映像の連続フレーム間に挿入することによって、より高いフレームレートで映像が知覚されるように映像を表示するためのグラフィックデータを生成する。ある実施形態では、ユーザインターフェイスモジュール208は、映像アプリケーションに関連付けられたユーザインターフェイスオプションも生成する。例えば、ユーザインターフェイスは、ビデオ通話を実施するためのオプション、他のユーザをビデオ通話に加えるためのオプション、ビデオ通話に関連付けられた設定を変更するためのオプションなどを含む。
ある実施形態では、第1のフレームと第2のフレームとの間に生成される中間フレームの数は、映像を受信するフレームレートと、映像を再生するフレームレートとの間の差に基づく。例えば、映像を10fpsで受信し、30fpsで再生する場合、映像の連続フレームの各対に対して2つの中間フレームを生成する。この例では、オリジナルの映像が100フレーム(10秒間の映像に対応)を有する場合、200個の中間フレームが生成されて300フレームの映像が得られ、これは10秒間の映像で30fpsにて再生され得る。映像再生のフレームレートは、例えばディスプレイ241のリフレッシュレート、デバイス200の計算性能、受信映像における動きの速度など、さまざまな要素に基づいて選択され得る。
方法の例
図9Aおよび図9Bは、補間映像フレームを生成するための方法の一例を示すフローチャートである。方法900は、コンピューティングデバイス200に格納された映像アプリケーション103によって実行される。例えば、映像アプリケーション103は、ユーザデバイス115、映像サーバ101、またはユーザデバイス115の一部および映像サーバ101の一部に格納されている。
ブロック902において、映像に対応する映像フレームのセットを受信する。映像フレームのセットは、各々が顔を含む第1の映像フレームおよび第2の映像フレームを含む。第2の映像フレームは、第1の映像フレームよりも後の映像フレームである。例えば、映像の再生中、第1のフレームが第2のフレームよりも前に表示されるように、第2の映像フレームに関連付けられたタイムスタンプは第1の映像フレームに関連付けられたタイムスタンプよりも大きな値を有する。
ブロック904において、第1の映像フレームに対して顔追跡を行なって第1の顔リサンプリングキーフレームを特定する。第1の顔リサンプリングキーフレームは、第1の頭部変換行列および第1の顔ランドマーク頂点を含む。ブロック906において、第2の映像フレームに対して顔追跡を行なって第2の顔リサンプリングキーフレームを特定する。第2の顔リサンプリングキーフレームは、第2の頭部変換行列および第2の顔ランドマーク頂点を含む。
ブロック908において、補間量を導出する。ブロック910において、第1の顔リサ
ンプリングキーフレームおよび補間量に基づいて、第1の補間顔フレームを決定する。ブロック912において、第2の顔リサンプリングキーフレームおよび補間量に基づいて、第2の補間顔フレームを決定する。ブロック914において、補間量に基づいて、第1の顔リサンプリングキーフレームの第1の背景および第2の顔リサンプリングキーフレームの第2の背景を補間する。ある実現例では、ブロック914を省いてもよい。ブロック916において、補間された第1の顔および補間された第2の顔をレンダリングする。例えば、補間された第1の顔および補間された第2の顔を、補間かつブレンドされた顔としてレンダリングする。ブロック918において、補間された第1の背景、補間された第2の背景、補間された第1の顔、および補間された第2の顔に基づく最終フレームを表示する。例えば、補間かつブレンドされた顔をブレンドされた背景に加えることによって、最終フレームを作成する。最終フレームは、フレームシーケンスにおける対応位置に挿入される。例えば、再生中、第1のフレーム、最終フレーム、および第2のフレームが順に表示されるように、第1の映像フレームと第2の映像フレームとの間に最終フレームを挿入する。より高いフレームレートでの再生を可能にする(例えば、10フレーム毎秒の映像から30フレーム毎秒を得る)ために、第1の映像フレームと第2の映像フレームとの間に2つ以上の補間フレームを生成する場合(例えば、補間量はt未満)、各補間フレームをシーケンスにおける対応位置に挿入する。
上記説明では、本明細書の完全な理解を提供するために、説明の目的で多くの具体的詳細を示している。しかしながら、それらの具体的詳細がなくても本開示が実践され得ることが、当業者には明らかであろう。ある場合には、説明を曖昧にするのを避けるために、構造およびデバイスをブロック図の形態で示している。例えば、上記実施形態は、主にユーザインターフェイスおよび特定のハードウェアを参照して説明され得る。しかしながら、上記実施形態は、データおよびコマンドを受信し得る如何なる種類のコンピューティングデバイス、およびサービスを提供する如何なる周辺機器にも適用され得る。
本明細書において「ある実施形態」または「ある例」と述べる場合、当該実施形態または例に関して説明した特定の特徴、構造、または特性が本明細書の少なくとも1つの実現例に含まれることを意味する。本明細書の様々な箇所に出現する表現「ある実施形態では」は、必ずしもすべてが同じ実施形態を指すとは限らない。
上記の詳細な説明うちのいくつかの部分は、コンピュータメモリ内のデータビットに対する操作のアルゴリズムおよびシンボル表現の観点から提示されている。これらのアルゴリズムによる記載および表現は、データ処理技術の当業者が彼らの仕事内容を他の当業者に最も効果的に伝えるために用いられる手段である。アルゴリズムは、本明細書では、および一般的には、所望の結果に導く自己矛盾のないステップのシーケンスであると考えられる。当該ステップは、物理量の物理的な操作を必要とするステップである。通常、必須ではないが、これらの量は、格納、転送、合成、比較、その他操作が行える電気データまたは磁気データの形を取る。時には、主に一般的な使用上の理由から、これらのデータを、ビット、値、要素、シンボル、文字、用語、数字などと呼ぶことが好都合である。
しかしながら、これらの用語および同様の用語のすべては、適切な物理量に関連付けられたものであり、その量に付される便利なラベルにすぎないことに留意されたい。下記の説明から明らかなように、特に記載のない限り、本明細書全体を通して、「処理する」、「計算する」、「算出する」、「決定する」、または「表示する」などの用語を使用した説明は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されるデータを、コンピュータシステムのメモリもしくはレジスタ内または他の同様の情報ストレージ、送信装置もしくは表示装置内の物理量として同様に表される他のデータに操作および変換するコンピュータシステムまたは同様の電子コンピューティングデバイスの動作およびプロセスを指すことが理解されるであろう。
本明細書の実施形態は、上述の方法の1つ以上のステップを実行するためのプロセッサに関するものであってもよい。プロセッサは、コンピュータに格納されたコンピュータプログラムによって選択的に起動または再構成される特殊用途のプロセッサであってもよい。このようなコンピュータプログラムは、非一時的なコンピュータ読取り可能記憶媒体に格納されてもよい。非一時的なコンピュータ読取り可能記憶媒体としては、光ディスク、ROM、CD-ROM、磁気ディスク、RAM、EPROM、EEPROM、磁気カードもしくは光カード、フラッシュメモリ(不揮発性メモリを含むUSBキー等)を含む任意の種類のディスク、または、電子命令を格納するのに適した、かつ、コンピュータシステムバスに各々が接続された任意の種類の媒体などがあるが、これらに限定されない。
本明細書は、完全にハードウェアであるいくつかの実施形態、完全にソフトウェアであるいくつかの実施形態、またはハードウェア要素およびソフトウェア要素の両方を含むいくつかの実施形態の形を取り得る。ある実施形態では、本明細書はソフトウェアで実現され、ソフトウェアとしては、ファームウェア、常駐ソフトウェア、マイクロコードなどが含まれるが、これらに限定されない。
さらに、本明細書は、コンピュータまたは任意の命令実行システムによって使用される、またはそれらに関連するプログラムコードを提供する、コンピュータが使用可能または読取り可能な媒体からアクセスできるコンピュータプログラムプロダクトの形を取り得る。本明細書では、コンピュータが使用可能または読取り可能な媒体は、命令実行システム、装置、またはデバイスによって使用される、またはそれらに関連するプログラムを含み、格納し、通信し、伝搬し、または移植することのできる任意の装置であり得る。
プログラムコードを格納または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に接続された少なくとも1つのプロセッサを含むであろう。メモリ要素は、プログラムコードの実際の実行中に使用されるローカルメモリ、大容量ストレージ、および、実行中に大容量ストレージからコードを取得すべき回数を減らすために少なくとも一部のプログラムコードの一時記憶装置を提供するキャッシュメモリを含み得る。
上述のシステムが個人情報を収集または使用する状況において、プログラムまたは機能にユーザ情報(例えば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの基本設定、またはユーザの現在位置に関する情報)を収集させるか否かを制御する機会、または、ユーザに密接に関わる内容をサーバから受信させるか否か、および/またはどのように受信させるかを制御する機会が、システムによってユーザに与えられる。さらに、あるデータを格納または使用する前に、そのデータを1つ以上の方法で処理して個人識別情報を取り除いてもよい。例えば、ユーザの個人識別情報が特定されないようにユーザの識別情報を処理してもよいし、位置情報が取得される場合には、ユーザの特定の位置が特定されないようにユーザの地理的位置を(例えば、市レベル、郵便番号レベル、または州レベルに)一般化してもよい。このように、当該ユーザに関する情報をどのように収集させるか、および、どのようにサーバに使用させるかをユーザが制御できるようにしてもよい。

Claims (11)

  1. 方法であって、
    映像に対応する映像フレームのセットを受信するステップを含み、前記映像フレームのセットは、各々が顔を含む第1の映像フレームおよび第2の映像フレームを含み、前記第2の映像フレームは、前記第1の映像フレームよりも後の映像フレームであり、前記方法はさらに、
    補間量を導出するステップと、
    第1の顔リサンプリングキーフレームおよび前記補間量に基づいて、第1の補間顔フレームを決定するステップと、
    第2の顔リサンプリングキーフレームおよび前記補間量に基づいて、第2の補間顔フレームを決定するステップと、
    前記補間量に基づいて、前記第1の顔リサンプリングキーフレームの第1の背景および前記第2の顔リサンプリングキーフレームの第2の背景を補間するステップと、
    補間された第1の顔および補間された第2の顔をレンダリングするステップと、
    前記補間された第1の背景、前記補間された第2の背景、前記補間された第1の顔、および前記補間された第2の顔に基づく最終フレームを表示するステップとを含む、方法。
  2. 前記第1の背景と前記第2の背景とをブレンドすることによって、ブレンドされた背景を取得するステップと、
    前記補間された第1の顔と前記補間された第2の顔とをブレンドすることによって、補間かつブレンドされた顔を取得するステップと、
    前記補間かつブレンドされた顔および前記ブレンドされた背景に滑らかな顔を重ねることによって、前記最終フレームを生成するステップとをさらに含む、請求項1に記載の方法。
  3. 前記第1の映像フレームに対して顔追跡を行なって第1の顔リサンプリングキーフレームを特定するステップをさらに含み、前記第1の顔リサンプリングキーフレームは、第1の頭部変換行列および第1の顔ランドマーク頂点を含み、
    前記第1の補間顔フレームを決定するステップは、
    前記第1の頭部変換行列を用いて、平行移動ベクトル、回転クォータニオン、および拡大縮小ベクトルを抽出するステップと、
    前記平行移動ベクトルを線形補間するステップと、
    線形補間を用いて前記回転クォータニオンを補間することによって、補間回転クォータニオンを生成するステップと、
    前記拡大縮小ベクトルを線形補間することによって、補間拡大縮小ベクトルを生成するステップと、
    補間された前記平行移動ベクトル、前記補間回転クォータニオン、および前記補間拡大縮小ベクトルに基づいて、補間平行移動-回転-拡大縮小行列を作成するステップと、
    前記補間平行移動-回転-拡大縮小行列を用いて、前記補間された第1の顔のための補間位置を算出するステップとを含む、請求項1または請求項2に記載の方法。
  4. 前記補間量は、
    (a)前記第1の顔リサンプリングキーフレームと前記第2の顔リサンプリングキーフレームとの間の継続時間、および
    (b)今回のレンダリング時間から導出される、請求項1~請求項3のいずれか1項に記載の方法。
  5. 前記第2の映像フレームに対して顔追跡を行なって第2の顔リサンプリングキーフレームを特定するステップをさらに含み、前記第2の顔リサンプリングキーフレームは、第2の頭部変換行列および第2の顔ランドマーク頂点を含み、
    前記第2の補間顔フレームを決定するステップは、
    前記第2の顔ランドマーク頂点における各頂点のそれぞれの変位を算出するステップを含む、請求項1~請求項4のいずれか1項に記載の方法。
  6. 前記第1の背景および前記第2の背景を補間するステップは、アルファブレンドによってなされる、請求項1~請求項5のいずれか1項に記載の方法。
  7. 前記レンダリングするステップは、前記補間量に基づいて、前記補間された第1の顔および前記補間された第2の顔のエッジのフェザリング、または、前記第1の補間顔フレームと前記第2の補間顔フレームとの間のフェーディングのうちの少なくとも1つを行なうことを含む、請求項1~請求項6のいずれか1項に記載の方法。
  8. 前記第1の映像フレームに対して顔追跡を行なうステップは、前記第1の顔リサンプリングキーフレームの第1のテクスチャ座標と、タイムスタンプとを決定するステップをさらに含み、
    前記第1のテクスチャ座標は、前記第1の顔ランドマーク頂点に適用される、請求項に記載の方法。
  9. 前記第1の顔リサンプリングキーフレームは、前記第1の映像フレームに対してRGB(赤・緑・青)顔追跡を行なうことによって特定される、請求項1~請求項8のいずれか1項に記載の方法。
  10. 1以上のコンピュータによって実行されることにより、前記1以上のコンピュータに、請求項1~請求項9のいずれか1項に記載の方法を実施させるプログラム。
  11. 請求項10に記載のプログラムを格納するメモリと、
    前記メモリに格納された前記プログラムを実行するコンピュータと、を備えるシステム。
JP2021209573A 2019-08-07 2021-12-23 ビデオ通話のための顔に基づくフレームレートのアップサンプリング Active JP7320591B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962884135P 2019-08-07 2019-08-07
US62/884,135 2019-08-07
JP2020542990A JP7000588B2 (ja) 2019-08-07 2019-11-11 ビデオ通話のための顔に基づくフレームレートのアップサンプリング
PCT/US2019/060700 WO2021025717A1 (en) 2019-08-07 2019-11-11 Face-based frame rate upsampling for video calls

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020542990A Division JP7000588B2 (ja) 2019-08-07 2019-11-11 ビデオ通話のための顔に基づくフレームレートのアップサンプリング

Publications (2)

Publication Number Publication Date
JP2022050463A JP2022050463A (ja) 2022-03-30
JP7320591B2 true JP7320591B2 (ja) 2023-08-03

Family

ID=69165537

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020542990A Active JP7000588B2 (ja) 2019-08-07 2019-11-11 ビデオ通話のための顔に基づくフレームレートのアップサンプリング
JP2021209573A Active JP7320591B2 (ja) 2019-08-07 2021-12-23 ビデオ通話のための顔に基づくフレームレートのアップサンプリング

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020542990A Active JP7000588B2 (ja) 2019-08-07 2019-11-11 ビデオ通話のための顔に基づくフレームレートのアップサンプリング

Country Status (6)

Country Link
US (2) US11321555B2 (ja)
EP (1) EP3799688A1 (ja)
JP (2) JP7000588B2 (ja)
KR (1) KR102289900B1 (ja)
CN (1) CN114245987A (ja)
WO (1) WO2021025717A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7448271B1 (ja) 2023-12-19 2024-03-12 株式会社フィードフォース 情報処理システム、プログラム及び情報処理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011039869A (ja) 2009-08-13 2011-02-24 Nippon Hoso Kyokai <Nhk> 顔画像処理装置およびコンピュータプログラム
JP2011092547A (ja) 2009-10-30 2011-05-12 Ziosoft Inc 医療用画像処理装置及び医療用画像処理プログラム
JP2011227704A (ja) 2010-04-20 2011-11-10 Fujifilm Corp 情報処理装置および方法ならびにプログラム
JP2016001447A (ja) 2014-06-12 2016-01-07 キヤノン株式会社 画像認識システム、画像認識装置、画像認識方法、およびコンピュータプログラム
US20170132828A1 (en) 2015-11-06 2017-05-11 Mursion, Inc. Control System for Virtual Characters

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203340B2 (en) * 2003-09-03 2007-04-10 National Research Council Of Canada Second order change detection in video
US8693537B2 (en) * 2005-03-01 2014-04-08 Qualcomm Incorporated Region-of-interest coding with background skipping for video telephony
US7659920B2 (en) 2005-03-22 2010-02-09 Microsoft Corp. System and method for very low frame rate teleconferencing employing image morphing and cropping
US8150155B2 (en) * 2006-02-07 2012-04-03 Qualcomm Incorporated Multi-mode region-of-interest video object segmentation
JP2010063088A (ja) * 2008-08-08 2010-03-18 Sanyo Electric Co Ltd 撮像装置
US8363085B2 (en) * 2010-07-06 2013-01-29 DigitalOptics Corporation Europe Limited Scene background blurring including determining a depth map
US20120027091A1 (en) * 2010-07-28 2012-02-02 Wei-Lien Hsu Method and System for Encoding Video Frames Using a Plurality of Processors
US10484697B2 (en) * 2014-09-09 2019-11-19 Qualcomm Incorporated Simultaneous localization and mapping for video coding
US11507646B1 (en) * 2017-09-29 2022-11-22 Amazon Technologies, Inc. User authentication using video analysis
CN109996055B (zh) * 2017-12-06 2022-08-12 杜比实验室特许公司 位置零时延
CN109993716B (zh) * 2017-12-29 2023-04-14 微软技术许可有限责任公司 图像融合变换
KR102466998B1 (ko) * 2018-02-09 2022-11-14 삼성전자주식회사 영상 융합 방법 및 장치
US10671855B2 (en) * 2018-04-10 2020-06-02 Adobe Inc. Video object segmentation by reference-guided mask propagation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011039869A (ja) 2009-08-13 2011-02-24 Nippon Hoso Kyokai <Nhk> 顔画像処理装置およびコンピュータプログラム
JP2011092547A (ja) 2009-10-30 2011-05-12 Ziosoft Inc 医療用画像処理装置及び医療用画像処理プログラム
JP2011227704A (ja) 2010-04-20 2011-11-10 Fujifilm Corp 情報処理装置および方法ならびにプログラム
JP2016001447A (ja) 2014-06-12 2016-01-07 キヤノン株式会社 画像認識システム、画像認識装置、画像認識方法、およびコンピュータプログラム
US20170132828A1 (en) 2015-11-06 2017-05-11 Mursion, Inc. Control System for Virtual Characters

Also Published As

Publication number Publication date
JP7000588B2 (ja) 2022-01-19
US20220222968A1 (en) 2022-07-14
EP3799688A1 (en) 2021-04-07
KR20210018182A (ko) 2021-02-17
KR102289900B1 (ko) 2021-08-17
US11869274B2 (en) 2024-01-09
US11321555B2 (en) 2022-05-03
JP2021536146A (ja) 2021-12-23
CN114245987A (zh) 2022-03-25
JP2022050463A (ja) 2022-03-30
WO2021025717A1 (en) 2021-02-11
US20210182540A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
US11887231B2 (en) Avatar animation system
KR102658960B1 (ko) 얼굴 재연을 위한 시스템 및 방법
US11521362B2 (en) Messaging system with neural hair rendering
US11455765B2 (en) Method and apparatus for generating virtual avatar
WO2014194439A1 (en) Avatar-based video encoding
JP7320591B2 (ja) ビデオ通話のための顔に基づくフレームレートのアップサンプリング
JPWO2018221211A1 (ja) 画像処理装置および方法、ファイル生成装置および方法、並びにプログラム
CN113095206A (zh) 虚拟主播生成方法、装置和终端设备
US11948245B2 (en) Relighting images and video using learned lighting and geometry
EP3811626B1 (en) Face-based frame packing for video calls
KR20220078005A (ko) 분할 렌더링 영상 기반의 증강현실 영상을 재생하는 장치 및 방법
Chen et al. Subjective and Objective Quality Assessment of Rendered Human Avatar Videos in Virtual Reality
US12112427B2 (en) High-definition real-time view synthesis
US11954810B2 (en) Augmented reality object rendering based on camera quality
US20240246590A1 (en) Augmented reality object rendering based on camera quality
Lu et al. JAVRE: a joint asymmetric video rendering and encoding approach to enable optimized cloud mobile 3D virtual immersive user experience
Athrij et al. Dynamic Load Distribution in web-based AR

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220204

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230512

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230724

R150 Certificate of patent or registration of utility model

Ref document number: 7320591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150