JP7231708B2 - サンプリングされた色情報に基づいて画像シーケンスを生成および伝送するシステムおよび方法 - Google Patents

サンプリングされた色情報に基づいて画像シーケンスを生成および伝送するシステムおよび方法 Download PDF

Info

Publication number
JP7231708B2
JP7231708B2 JP2021507467A JP2021507467A JP7231708B2 JP 7231708 B2 JP7231708 B2 JP 7231708B2 JP 2021507467 A JP2021507467 A JP 2021507467A JP 2021507467 A JP2021507467 A JP 2021507467A JP 7231708 B2 JP7231708 B2 JP 7231708B2
Authority
JP
Japan
Prior art keywords
machine learning
learning model
frames
sample data
pixel information
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
JP2021507467A
Other languages
English (en)
Other versions
JP2022511256A (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.)
Meta Platforms Technologies LLC
Original Assignee
Meta Platforms Technologies 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 Meta Platforms Technologies LLC filed Critical Meta Platforms Technologies LLC
Publication of JP2022511256A publication Critical patent/JP2022511256A/ja
Application granted granted Critical
Publication of JP7231708B2 publication Critical patent/JP7231708B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • 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/20081Training; Learning
    • 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/20084Artificial neural networks [ANN]
    • 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/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Studio Devices (AREA)

Description

本開示は、一般に、機械学習、コンピュータグラフィックス、および画像圧縮に関する。
「コンピュータグラフィックス」は、グラフィックスハードウェアおよびソフトウェアを使用して作成される、コンピュータ生成画像データ(静止画像およびビデオを含む)を指す。コンピュータグラフィックス、特に高解像度および/または高フレームレートのものは、生成するのに計算コストがかかる。たとえば、解像度1920×1080の単一の画像を生成することは、200万超過のピクセルの色を決定する必要があることを意味する。毎秒60フレーム(fps)のビデオを生成するには、1秒ごとに必要なピクセル数はすぐに1億2500万ピクセル近くになる。さらに、一般的な三次元(3D)コンピュータグラフィックスは、物理ベースレンダリングモデル(たとえば、レイトレーシングまたはレイキャスティング技術)を、仮想環境の3Dモデルに適用することによってレンダリングされる。3Dモデルの複雑さ、ならびに物理ベースレンダリングモデルの複雑さによって、レンダリングコストが増す。それに加えて、特定のアプリケーションでは、完全にレンダリングされた画像は、所望の視覚効果(たとえば、ぼけ)を作成するために後処理を行う必要があり得、それがさらに総計算コストに加わる。
計算コストに加えて、画像データがコンピュータ生成のものか、カメラまたは他のデバイスによって記録されたもの(たとえば、オンラインでストリーミング配信されるかまたはピアツーピア接続を介して伝送される、映画もしくはビデオクリップなど)かにかかわらず、画像データのサイズもシステムリソースに対する負担となる場合がある。たとえば、高解像度画像は簡単に10メガバイトを超える場合があり、数分の長さの高フレームレートビデオが数ギガバイトになる場合がある。したがって、リアルタイムで課される計算上の制約が少ない、予め生成された画像またはビデオ(たとえば、予め生成されたコンピュータグラフィックス、または予め記録された画像、またはカメラを使用してキャプチャされたビデオ)であっても、特に(たとえば、インターネット、セルラーデータ、短距離ワイヤレス通信などを通じての)データ伝送に関しては、ファイルサイズは依然として技術的なボトルネックとなる場合がある。
そのため、コンピュータグラフィックスが必要とされる特定のアプリケーションに応じて、画像データの生成および/または転送に関する高い計算コストにより、実際に使用することができる画像品質のレベルが制限される場合が多い。たとえば、リアルタイムアプリケーション(たとえば、360°のビデオおよびパノラマ、ゲーミング、仮想現実、もしくは拡張現実)、またはコンピューティング環境のシステムリソース(たとえば、処理能力、メモリ、記憶装置、もしくは伝送帯域幅)が限定されているアプリケーションでは、それらのアプリケーションのランタイム要件を満たすために、画像品質を犠牲にする必要があり得る。
人の視野全体にわたる視力の違いを示す簡易図である。 フォービエイテッド圧縮の概念を示す図である。 特定の実施形態による、閲覧者の中心窩視覚を利用する、シーン内の画像サンプリングの一例を示す図である。 特定の実施形態による、フレームのシーケンスにわたる空間データの利用可能性によって、ビデオフレームごとの画像サンプリングがさらに低減され得る一例を示す図である。 特定の実施形態による、フレームのシーケンスにわたる空間データの利用可能性によって、ビデオフレームごとの画像サンプリングがさらに低減され得る一例を示す図である。 画像およびそれに対応するサンプリングデータセットの一例を、それらの時空間データの描写とともに示す図である。 RGBピクセルサンプルとそれらのロケーションを示すバイナリマスクとを含む、例示的なサンプリングデータセットを示す図である。 特定の実施形態による、敵対的生成ネットワークに対する例示的な訓練構成を示す図である。 特定の実施形態による、生成器機械学習モデルの例示的な構成要素を示す図である。 特定の実施形態による、生成器機械学習モデルの例示的な構成要素を示す図である。 特定の実施形態による、生成器機械学習モデルの例示的な構成要素を示す図である。 特定の実施形態による、生成器機械学習モデルの例示的な構成要素を示す図である。 特定の実施形態による、弁別器機械学習モデルの例示的な構成要素を示す図である。 特定の実施形態による、弁別器機械学習モデルの例示的な構成要素を示す図である。 特定の実施形態による、弁別器機械学習モデルの例示的な構成要素を示す図である。 特定の実施形態による、訓練済み生成器機械学習モデルを使用してサンプルデータセットから完成画像を生成するための例示的な方法を示す図である。 ソーシャルネットワーキングシステムに関連する例示的なネットワーク環境を示す図である。 例示的なコンピュータシステムを示す図である。
本明細書で説明される実施形態は、不完全なピクセル情報(たとえば、ピクセル色の疎なサンプルデータセット)を有するビデオフレームのシーケンスに基づいて、知覚的に正確な(perceptively-accurate)画像(たとえば、ビデオフレームを含む)を生成および/または圧縮、ならびに再構築するための、機械学習アプローチに関する。機械学習を使用して、知覚的に正確な画像を疎なサンプルデータセットから生成することができるので、画像における総ピクセル数の疎なサブセットに必要なのは、計算コストがより高いレンダリングパイプライン(たとえば、レイトレーシング、レイキャスティング、または他の物理ベースコンピュータグラフィックス技術を使用する)のみであり得る。そのため、本明細書で説明される実施形態は、画像を生成するのに必要な全体の計算コスト、時間、およびシステムリソースを大幅に低減する。それに加えて、本明細書で説明される実施形態を使用して、完全な画像をそれらのサンプルデータセットから再構築することができるので、画像データを伝送する必要があるアプリケーションは、完全なピクセル情報ではなく対応するサンプルデータセットを伝送することによって、伝送コストを大幅に低減し得る。一例として、本明細書で説明される実施形態が、レンダリングコストおよび伝送帯域幅をほぼ二桁低減できるということが実験で示されている。
本発明の実施形態は、人工現実システムを含むか、またはそれと併せて実現され得る。人工現実は、ユーザに提示される前に何らかの形で調節された現実の一形態であり、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッドリアリティ、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、現実世界の写真)と組み合わせた生成コンテンツを含み得る。人工現実コンテンツは、ビデオ、音声、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのうち任意のものが、単チャネルまたは多チャネル(閲覧者に対して三次元効果をもたらすステレオビデオなど)で提示され得る。それに加えて、いくつかの実施形態では、人工現実は、たとえば、人工現実においてコンテンツを作成するのに使用される、ならびに/あるいは人工現実において(たとえば、アクティビティを実施するのに)使用される、アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組合せに関連し得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、独立型HMD、モバイル機器もしくはコンピューティングシステム、または人工現実コンテンツを1人もしくは複数の閲覧者に提供することができる任意の他のハードウェアプラットフォームなど、様々なプラットフォームに実装され得る。
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、上記で開示された実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、たとえば、方法において述べられた任意の特徴は、別の請求項カテゴリー、たとえば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、前の請求項への意図的な参照(特に複数の従属関係)から生じる主題も請求され得、その結果、請求項とその特徴との任意の組合せが、開示され、添付の特許請求の範囲で選定された従属関係にかかわらず請求され得る。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれかは、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
一実施形態では、方法は、コンピューティングシステムによって、
1つまたは複数のフレームのシーケンスにそれぞれ関連し、関連するフレームの不完全なピクセル情報をそれぞれ含む、1つまたは複数のサンプルデータセットにアクセスすることと、
第1の機械学習モデルを使用して、1つまたは複数のサンプルデータセットに基づいて、完全なピクセル情報をそれぞれ有する1つまたは複数のフレームを生成することであって、第1の機械学習モデルが、1つまたは複数の生成されたフレームに関連する時空間表現を保持するように構成される、1つまたは複数のフレームを生成することと、
1つまたは複数のフレームのシーケンスに続く次のフレームの不完全なピクセル情報を含む次のサンプルデータセットにアクセスすることと、
第1の機械学習モデルを使用して、次のサンプルデータセットに基づいて、次のサンプルデータセットの不完全なピクセル情報、および次のサンプルデータセットに基づいて生成された追加のピクセル情報を含む完全なピクセル情報と、第1の機械学習モデルによって保持された時空間表現とを有する、次のフレームを生成することと、を含み得る。
第1の機械学習モデルは、
複数の訓練サンプルデータセットを複数の訓練フレームからそれぞれ生成することと、
第1の機械学習モデルを使用して、複数の訓練サンプルデータセットそれぞれに基づいて、複数の再構築フレームを生成することと、
第2の機械学習モデルを使用して、複数の再構築フレームが第1の機械学習モデルによって生成される確率を決定することと、
第2の機械学習モデルによって決定された確率それぞれの正当性に基づいて、第1の機械学習モデルを更新することと、によって訓練され得る。
第1の機械学習モデルの更新は、複数の再構築フレームと複数の訓練フレームとの比較に基づき得る。
一実施形態では、第1の機械学習モデルは、直列接続された複数のエンコーダおよび複数のデコーダを含み得、複数のエンコーダは最初のエンコーダおよび最後のエンコーダを含み得、複数のデコーダは最初のデコーダおよび最後のデコーダを含み得、
最初のエンコーダの出力は最後のデコーダの入力であるように構成され、
最後のエンコーダの出力は最初のデコーダの入力であるように構成される。
複数のデコーダは再帰型デコーダであり得る。
一実施形態では、方法は、
物理ベースコンピュータグラフィックスレンダリングモジュールを使用して、1つまたは複数のサンプルデータセットを生成することを含み得る。
1つまたは複数のサンプルデータセットのうち少なくとも1つの生成は、
サンプルデータセットに関連するフレーム内の1つまたは複数の関心領域を決定することと、
1つまたは複数の関心領域を使用して、不完全なピクセル情報を生成することと、を含み得、
1つまたは複数の関心領域に対応する不完全なピクセル情報のうち1つまたは複数の部分は、不完全なピクセル情報の他の部分よりも密なピクセルサンプルを含む。
一実施形態では、方法は、
アイトラッキングデバイスによって得られるアイトラッキングデータに基づいて、ユーザの視線方向を決定することを含み得、
1つまたは複数の関心領域の決定は、ユーザの決定された視線方向に基づく。
1つまたは複数のサンプルデータセットはそれぞれ、
サンプルデータセットに関連する不完全なピクセル情報に対応するピクセル色を有する画像と、
ピクセル色のロケーションを示すバイナリマスクと、を含み得る。
一実施形態では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、ソフトウェアを具現し得、ソフトウェアは、実行されたとき、
1つまたは複数のフレームのシーケンスにそれぞれ関連し、関連するフレームの不完全なピクセル情報をそれぞれ含む、1つまたは複数のサンプルデータセットにアクセスすることと、
第1の機械学習モデルを使用して、1つまたは複数のサンプルデータセットに基づいて、完全なピクセル情報をそれぞれ有する1つまたは複数のフレームを生成することであって、第1の機械学習モデルは1つまたは複数の生成されたフレームに関連する時空間表現を保持するように構成される、1つまたは複数のフレームを生成することと、
1つまたは複数のフレームのシーケンスに続く次のフレームの不完全なピクセル情報を含む次のサンプルデータセットにアクセスすることと、
第1の機械学習モデルを使用して、次のサンプルデータセットに基づいて、次のサンプルデータセットの不完全なピクセル情報、および次のサンプルデータセットに基づいて生成された追加のピクセル情報を含む完全なピクセル情報と、第1の機械学習モデルによって保持された時空間表現とを有する、次のフレームを生成することと
を行うように動作可能である。
第1の機械学習モデルは、
複数の訓練サンプルデータセットを複数の訓練フレームからそれぞれ生成することと、
第1の機械学習モデルを使用して、複数の訓練サンプルデータセットそれぞれに基づいて、複数の再構築フレームを生成することと、
第2の機械学習モデルを使用して、複数の再構築フレームが第1の機械学習モデルによって生成される確率を決定することと、
第2の機械学習モデルによって決定された確率それぞれの正当性に基づいて、第1の機械学習モデルを更新することと、を含むプロセスによって訓練され得る。
第1の機械学習モデルの更新は、複数の再構築フレームと複数の訓練フレームとの比較に基づき得る。
媒体の一実施形態では、第1の機械学習モデルは、直列接続された複数のエンコーダおよび複数のデコーダを含み得、複数のエンコーダは最初のエンコーダおよび最後のエンコーダを含み得、複数のデコーダは最初のデコーダおよび最後のデコーダを含み得、
最初のエンコーダの出力は最後のデコーダの入力であるように構成され、
最後のエンコーダの出力は最初のデコーダの入力であるように構成される。
複数のデコーダは再帰型デコーダであり得る。
ソフトウェアは、実行されたとき、
物理ベースコンピュータグラフィックスレンダリングモジュールを使用して、1つまたは複数のサンプルデータセットを生成するように動作可能であり得る。
一実施形態では、システムは、1つまたは複数のプロセッサと、プロセッサのうち1つまたは複数に結合され、命令を含む、1つまたは複数のコンピュータ可読非一時的記憶媒体とを備え得、命令は、プロセッサのうち1つまたは複数によって実行されたとき、システムに、
1つまたは複数のフレームのシーケンスにそれぞれ関連し、関連するフレームの不完全なピクセル情報をそれぞれ含む、1つまたは複数のサンプルデータセットにアクセスすることと、
第1の機械学習モデルを使用して、1つまたは複数のサンプルデータセットに基づいて、完全なピクセル情報をそれぞれ有する1つまたは複数のフレームを生成することであって、第1の機械学習モデルは1つまたは複数の生成されたフレームに関連する時空間表現を保持するように構成される、1つまたは複数のフレームを生成することと、
1つまたは複数のフレームのシーケンスに続く次のフレームの不完全なピクセル情報を含む次のサンプルデータセットにアクセスすることと、
第1の機械学習モデルを使用して、次のサンプルデータセットに基づいて、次のサンプルデータセットの不完全なピクセル情報、および次のサンプルデータセットに基づいて生成された追加のピクセル情報を含む完全なピクセル情報と、第1の機械学習モデルによって保持された時空間表現とを有する、次のフレームを生成することと
を行わせるように動作可能である。
第1の機械学習モデルは、
複数の訓練サンプルデータセットを複数の訓練フレームからそれぞれ生成することと、
第1の機械学習モデルを使用して、複数の訓練サンプルデータセットそれぞれに基づいて、複数の再構築フレームを生成することと、
第2の機械学習モデルを使用して、複数の再構築フレームが第1の機械学習モデルによって生成される確率を決定することと、
第2の機械学習モデルによって決定された確率それぞれの正当性に基づいて、第1の機械学習モデルを更新することと、を含むプロセスによって訓練され得る。
第1の機械学習モデルの更新は、複数の再構築フレームと複数の訓練フレームとの比較に基づき得る。
システムの一実施形態では、第1の機械学習モデルは、直列接続された複数のエンコーダおよび複数のデコーダを含み得、複数のエンコーダは最初のエンコーダおよび最後のエンコーダを含み得、複数のデコーダは最初のデコーダおよび最後のデコーダを含み得、
最初のエンコーダの出力は最後のデコーダの入力であるように構成され、
最後のエンコーダの出力は最初のデコーダの入力であるように構成される。
1つまたは複数のコンピュータ可読非一時的記憶媒体は、命令を含み得、命令は、プロセッサのうち1つまたは複数によって実行されたとき、システムに、
物理ベースコンピュータグラフィックスレンダリングモジュールを使用して、1つまたは複数のサンプルデータセットを生成することを行わせるように動作可能である。
本発明による一実施形態では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、実行されたとき、本発明による方法または上述の実施形態のいずれかを実施するように動作可能であるソフトウェアを具現し得る。
本発明による一実施形態では、システムは、1つまたは複数のプロセッサと、プロセッサに結合され、プロセッサによって実行可能な命令を備える少なくとも1つのメモリとを備え得、プロセッサは、命令を実行したとき、本発明による方法または上述の実施形態のいずれかを実施するように動作可能である。
本発明による一実施形態では、好ましくはコンピュータ可読非一時的記憶媒体を備えるコンピュータプログラム製品は、データ処理システム上で実行されたとき、本発明による方法または上述の実施形態のいずれかを実施するように動作可能であり得る。
高解像度および高フレームレートのビデオのレンダリングおよび/または伝送は、コストがかかるプロセスである。そのコストを改善するため、本明細書で説明される実施形態は、アプリケーションが、人の視力に従ってビデオのピクセルの小さいサブセットのみをレンダリング/伝送し、ニューラルネットワークを使用して完全なビデオを生成/再構築することができるようにする。
特定の実施形態は人の視力を利用する。図1は、人101の視野150全体にわたる視力の違いを示す簡易図を提供する。この図では、中央領域110は人101の中心視野を表す。人101の視力は中心視野110から離れると低下する。たとえば、隣接領域120および121における人101の視力は中心視野110よりも弱く、領域130および131の視力はさらに低下する。
人の視覚系の視力が周辺視野に向かって急速に低下するという観察から、本明細書で説明される実施形態は、中心視野では高いピクセル密度をレンダリング/伝送し、周辺へと延在する領域の時空間ピクセル量を漸増的かつ大幅にサブサンプリング(「破損」と呼ばれる)するように設計される。それを行うため、本明細書で説明される技術は、ビデオフレームの生成および/または伝送に必要な時間を大幅に改善し得る。たとえば、特定の実施形態では、各フレームの各ピクセルをレンダリングするのに従来のグラフィックスパイプラインを使用するのではなく、本明細書で説明される実施形態は、レンダリングシステムが、より高価なレンダリングプロセスを使用してピクセルの一部分を(中心視野領域の濃度を上げて)生成し、計算的により安価な機械学習モデルを使用して残りを(中心視野領域外の濃度を上げて)生成することを可能にする。他の実施形態では、ビデオを伝送するとき、伝送機は、閲覧者の中心視野領域に基づいて元のビデオフレームの一部分をサンプリングし(たとえば、中心視野領域に近いピクセルを、中心視野領域から離れたピクセルよりも密にサンプリングする)、それらのサンプルのみを伝送して、ビデオのすべてのピクセルを伝送する必要性を回避し得る。受信側デバイスでは、伝送機から受信した疎なピクセル情報が、機械学習モデルを使用してビデオフレーム全体を再構築するのに用いられ得る。
図2Aおよび2Bは、フォービエイテッドレンダリングおよび/または圧縮の概念を示している。図2Aは、正面でキャプチャされたか特定の視点に関してレンダリングされたシーン200を示している。シーン200は、視点の中心に人210、視点の左側にイヌ220、および視点の右側にネコ230を含む。点線で示した同心円は、閲覧者の視力を視覚的に描写するのに使用される。最小円内の領域201は閲覧者の中心視野を表し、2つの円の間の領域202は、中心視野から離れた閲覧者の視野の一部分を表し、大きい円の外側の領域203は、中心視野からさらに離れた閲覧者の視野の一部分を表す。
図2Bは、閲覧者の中心窩視覚を利用する、シーン200内の画像サブサンプリングの一例を示している。図2Bでは、サブサンプルロケーションは、点線で示した四角(たとえば、299a、299b、および299c)によって視覚的に表される。本明細書で使用するとき、「サブサンプリング」という用語は、たとえば、ピクセル情報を既存の画像/フレーム(たとえば、予め記録された映像もしくはビデオクリップ)から抽出すること、またはコンピュータグラフィックスレンダリングによって3Dモデルに基づいて関心ピクセルをレンダリングすることによって行われ得る、特定のピクセル(もしくはサンプリングロケーション)に関する色情報を決定するプロセスを指す。特定の実施形態では、サブサンプルの密度は閲覧者の視力と直接相関し得る。たとえば、閲覧者の中心視野は領域201が中心なので、サブサンプリングはその領域201内で非常に密であり得る。閲覧者の中心視野の中心からより離れた領域に関しては、漸進的に少なくなるかまたは疎になるサブサンプルが得られ得る。たとえば、図2Bでは、領域202内のサブサンプルは、領域201内よりも疎であるが、領域203内よりは密である。閲覧者の視力は周辺では低いので、かかる領域のサブサンプルの密度が低いことは、閲覧者の閲覧エクスペリエンスに対する影響が最小限である。以下でより詳細に説明するように、サブサンプルが得られないエリアの場合、それらの色情報に近似するのに機械学習モデルが使用され得る。閲覧者は、いずれにしても生物学的限界またはリース限界によって周辺を明瞭に見ることができないので、対応する画像の品質が低いかまたは正確な色情報が少なくても、閲覧者の閲覧エクスペリエンスに影響したとしても大きく影響しない。これにより、グラフィックスレンダリングシステムが、たとえば、閲覧者の視点に基づいてピクセルを選択的にレンダリングし(たとえば、中心視野は、中心にあるものと仮定されるか、またはアイトラッキングデバイスによって検出され得)、完全な画像またはフレームをレンダリングする必要性を回避することによって、計算リソースおよび時間を大幅に節約することが可能になる。同様に、ビデオ伝送アプリケーション(たとえば、モバイル機器におけるビデオストリーミングサービスもしくはビデオシェアリングアプリケーションなど)は、閲覧者の視点に基づいてピクセルの一部分を選択的に伝送し、ピクセルの残りを受信側デバイスで再構築して、ビデオシーケンスのすべてのピクセルを伝送することを回避し得る。
上述したように、ビデオフレームのシーケンスのうち1フレームなど、画像の欠落部分またはサンプリングされていない部分は、機械学習モデルを使用して再構築され得る。機械学習モデルは、現在のフレームに対して利用可能なサブサンプルに基づいて欠落した情報を再構築し得る(ある画像に対するサブサンプルの集まりは、そのフレームのサンプルデータセットと呼ばれ得る)。それに加えて、機械学習モデルの特定の実施形態はまた、機械学習モデルによって処理された過去のフレームからシーンの時空間情報を保持し得る。ビデオシーケンスは空間の特に長時間にわたる高い冗長度を示すので、過去のフレームからの時空間情報は、現在のフレームを再構築するための情報の良いソースである。したがって、過去のフレームからのサブサンプルが異なるロケーションにある(たとえば、ランダムもしくは擬似ランダムにサンプリングされた)場合、および/またはフレーム間でシーンがわずかに変化している場合、長時間にわたる集約時空間情報は、機械学習モデルが現在のフレームに関して欠落したピクセル情報を再構築する助けとなる。
図3A~Bは、特定の実施形態による、フレームのシーケンスにわたる空間データの利用可能性によって、ビデオフレームごとの画像サンプリングがさらに低減され得る一例を示している。図3Aは、図2A~Bに示されるシーン200と同様の、人310と、左側のイヌ320と、右側のネコ330とを含むシーン300を示している。同様に、最小円内の領域301は閲覧者の中心視野を表し、2つの同心円の間の領域302は、中心視野から離れた閲覧者の視野の一部分を表し、大きい円の外側の領域303は、中心視野からさらに離れた閲覧者の視野の一部分を表す。サブサンプルロケーション(たとえば、399a、399b、および399c)は、点線で示した四角によって視覚的に表される。図3Aでは、サブサンプルは、領域301内で最も密であり、領域302ではそれよりも疎であり、領域303では最も疎である。
図3Bは、図3Aに示されるシーン300を含むシーンのシーケンスにおける、別のシーン350を示している。一例として、図3Aに示されるシーン300は、図3Bのシーン350よりも時間的に先行し得る。図3Aのシーン300と比較して、シーン350のイヌ320およびネコ330は、人310により近付いており、視点に向かって前進している。これらの変化にかかわらず、2つのシーン300および350は冗長情報を含む。たとえば、両方のシーン310および350における人310は、定位置に留まっており、同一に見え得る。イヌ320およびネコ330はシーンの間で動いているが、それらの外見情報は2つのシーンで依然としてキャプチャされる。そのため、特定の実施形態による機械学習モデルは、特定のフレームに関して欠落しているピクセル情報があればそれを再構築するように、両方のシーン300および350からのサンプルデータセットを使用して訓練され得る。機械学習モデルは、複数のシーンに関連するサンプルデータセットから情報を取得することができるが、各シーンに関するサンプルデータセットは、他の場合に必要とされるであろうサンプルデータセットよりも疎であり得る。たとえば、図2Bと比較して、図3Aのおよび3Bのサブサンプルはより疎である。特定の実施形態では、シーン内の異なるエリアまたはオブジェクトの画像範囲を改善するため、サブサンプルロケーションはシーンごとに異なり得る。たとえば、シーン350に関するサブサンプルロケーション(たとえば、399x、399y、399z)は、シーン300に関するサブサンプルロケーションとは異なる。図3A~Bに示される例は、シーン内のオブジェクトが位置を変化させていることを示しているが、上述した同じ原理が、閲覧者の視点の変化によるシーンの変化(たとえば、閲覧者が移動し得る)、または閲覧者の視点の変化とオブジェクト位置の変化との組合せに等しく当てはまる。
図4は、画像410、および対応するサンプリングデータセット420の視覚的表現の一例を、それらそれぞれの時空間データ430および440の可視描画像とともに示している。図示される例では、画像410は、ビデオシーケンスのあるフレームであり得、画像全体にわたって高いピクセル密度を含む。サンプリングデータセット420は、画像410のピクセルのサブサンプリングに基づいて生成される(サンプリングデータセット420は、画像410の破損と呼ばれ得る)。サンプリングデータセット420の視覚的表現は、サンプリングされているピクセルの色情報を含み、サンプリングされていない領域は黒く塗られている。視覚的表現420に示される明るい色の点は、黒いサンプリングされていない領域と高いコントラストである、画像410の明るい色のピクセルに対応する。サンプリングされていない領域は黒く塗られているので、暗い色のピクセルは、この特定の視覚的表現420では簡単には区別不能であり得るが、それでもなお、暗い色のピクセルはサンプリングされており、サンプリングデータセット420中に存在する。この例では、閲覧者の中心視野領域は画像410では中心にあり、結果として、サンプリングデータセット420の中心領域における、より密な点のパターンによって表されるように、中心領域のサブサンプリングはより密である。点の密度は、中心から離れた領域では漸進的に疎になる。
上述したように、ビデオシーケンスは、一般に、空間の、特に時間に伴う高い冗長度を示す。画像430は、時間(縦軸)に伴って画像410に示されるシーンの水平線にわたるピクセルをプロットすることによって、これを示している。歪んでいるが外見的に引き伸ばされた、時間を通した色情報は、同じピクセル情報が異なる時間にわたって利用可能であることを視覚的に示す。画像430に関する対応するサンプリングデータセット440は、サブサンプルロケーションが、時間に伴って集約されると、各空間領域のサンプリングの視野範囲を適切にする。フレームのシーケンス内でエンコードされた冗長情報をレバレッジすることによって、サブサンプルは、疎な場合であっても、再構築したものが周辺視野の下で観察したときに区別不能なのがもっともであるように見える形で、機械学習モデルが欠落したビデオコンテンツを再構築またはインペイントするのに十分な情報を提供する。
効率は、機械学習モデルによって使用される再構築アルゴリズムの望ましい特徴である。特に、アルゴリズムの実行は、ビデオコンテンツ全体のレンダリング/伝送のナイーブソリューションと比較して計算および電力を大幅に節約すべきである。ビデオコンテンツ全体のレンダリングは、(たとえば、レイトレーシング可視性試験、シェーディングなどによって)各ビデオフレームの各ピクセルをレンダリングする必要があることを意味し、ビデオコンテンツ全体の伝送は、(エンコードもしくは圧縮されているか否かにかかわらず)あらゆるピクセル情報が伝送されることを意味する。これらの動作は両方とも、処理電力および時間、メモリ、記憶、伝送帯域幅などの点で、リソース集約的であり得る。本明細書で説明される再構築アルゴリズムは、レンダリング/伝送する必要があるピクセル数を低減し、機械学習モデルを使用して残りを再構築することによって、これらの範囲における大幅な節約をもたらす。
特定の実施形態は、現在および過去の情報にアクセスするように設計され得る。たとえば、図3A~Bを参照して記載されるように、現在の関心フレームの欠落したサンプリングされていない部分を再構築するのに、過去のフレームに関連するサンプリングデータセット(たとえば、シーン300に対応)が、現在のサンプリングデータセット(たとえば、シーン350に対応)とともに使用され得る。特定の実施形態では、再構築システムは、アイトラッキングシステムに通信可能に結合され得、したがって、閲覧者の現在の目の位置を動的に決定して、どのエリアを多くサンプリングし、どのエリアを少なくサンプリングするかを決定することができる。
特定の実施形態では、機械学習モデルは、再構築タスクを実施するように訓練される再帰型ニューラルネットワークであり得る。特定の実施形態では、ネットワークは敵対的生成ネットワーク(GAN)であってもよい。ディープラーニングアルゴリズムは、画像合成および解析の領域において前例のない品質の結果を示し続けている。それらの固定機能パイプラインにより、ハードウェアで実行する際に高度に修正可能である。したがって、それらは当面の問題に対する自然な選択である。
機械学習モデルについて詳細に説明する前に、モデルへの入力について説明する。図5は、RGBピクセルサンプル510とそれらのロケーションを示すバイナリマスク520とを含む、例示的なサンプリングデータセットを示している。ピクセルサンプル510およびバイナリマスク520は両方とも、同じフレームから導き出されるか、または同じフレームに関連し得る。RGBピクセルサンプル510は、既存のフレームをサンプリングするか、または任意の好適なコンピュータグラフィックスレンダリングパイプラインを用いて、特定のピクセルサンプルをレンダリングすることによって生成され得る。サブサンプルロケーションは、閲覧者の閲覧位置、および/または画像を見るのに使用される光学部品(たとえば、仮想現実もしくは拡張現実ヘッドセットで使用される光学部品)の構成に応じて決まり得る。閲覧者の中心視野または視線方向により近い領域は、より密にサンプリングされ得、離れた領域はより少ない密度で(またはより疎らに)サンプリングされ得る。特定の実施形態では、各領域に関する所望のサブサンプル密度に基づいて、システムは、サブサンプルロケーションをランダムに決定し、対応する色を決定し得る。特定の実施形態では、サブサンプルロケーションは、バイナリマスク520を使用して記憶され得る。バイナリマスク520は、RGBピクセルサンプル510に対応するピクセルロケーションを有し得る。バイナリマスク520の各ピクセルは、そのピクセルがサンプリングされるかされないかを示し得る(たとえば、0はサンプリングされないピクセルを示し得、1はサンプリングされたピクセルを示し得、その逆も同様である)。サンプリングされたピクセルは、サンプリングされない領域と同じ色値を有することがあるので、バイナリマスクは、かかるシナリオの曖昧さをなくすのに使用され得る(たとえば、サンプリングされた黒色は関連する値0を有することがあり、サンプリングされない領域の既定値0と混ざってしまう)。特定の実施形態では、サンプリングされたRGB色およびバイナリマスクは、画像の4つのチャネルに記憶され得る(たとえば、RGB色情報は画像のRGBチャネルに記憶され得、バイナリマスク情報は画像のアルファチャネルに記憶され得る)。
図6は、特定の実施形態による、敵対的生成ネットワーク(GAN)に対する一例の訓練構成を示している。GANは、生成器640と弁別器660とを含み得る。高次では、生成器640は、欠落したピクセル情報に関してインペイントされた部分を有する「偽」画像を生成または再構築するように構成され得る。他方で、弁別器660は、所与の画像が「偽物」(生成器640によって生成されたもの)または「本物」(生成器640によって生成されていないもの)のどちらであるかを評価するよういに構成され得る。訓練中、高次の目標は、生成器640の能力を、弁別器660を騙すことができる「偽」画像を生成するように改善すると同時に、弁別器660の能力を、生成器640によって生成された「偽」画像を検出するように改善することである。訓練終了時の目標は、生成器640が本物のような「偽」画像を生成することである。したがって、訓練が完了すると、生成器640(弁別器660ではなく)は、推論時間中に動作を開始し、ビデオフレームを生成または再構築することができる。
訓練プロセスの特定の実施形態では、GANネットワークを訓練するのに使用される訓練サンプルは、完全なピクセル情報(図4の410など)をそれぞれ有する、フレームのシーケンス610であり得る。フレームのシーケンス610は、ビデオカメラによってキャプチャされるかまたはコンピュータグラフィックスを使用してレンダリングされるような、シーンの光景の時間シーケンスであり得る。特定の実施形態では、フレームのシーケンス610は、破損モジュール620によって処理され得る。破損モジュール620は、各フレーム610をサンプリングし、対応するサンプルデータセット630(図4の420、または図5に示されるRGB画像510およびバイナリマスク520)を出力し得る。フレームに関する各サンプルデータセット630は、疎で不完全なピクセル情報を含み得、領域密度は閲覧者の視線方向(つまり中心視野領域)に応じて決まる。
特定の実施形態では、サンプルデータセット630は、GANネットワークを訓練するのに使用され得る。サンプルデータセット630は生成器640に入力され得る。生成器640はニューラルネットワークを含み得、そのパラメータは訓練プロセス中に更新/訓練され得る。生成器640は、元のフレームのシーケンス610ならびにそれらのフレームの関連するサンプルデータセット630に対応する、生成されたフレームのシーケンス650(つまり、再構築されたフレーム)を出力し得る。上述したように、各サンプルデータセット630は疎で不完全なピクセル情報を含む。対応する生成されたフレーム650は、生成器640によって埋められる欠落したピクセル情報を有し得る。生成されたフレーム650はそれぞれ、「偽」画像と見なされ得る。
特定の実施形態では、生成されたフレームは弁別器670によって試験され、結果は、生成器640および弁別器670両方のニューラルネットワークを訓練または更新するのに使用される。特定の実施形態では、元のフレームのシーケンス610の各フレームは、画像特徴を抽出するように、VGG畳み込みニューラルネットワークまたは任意の他の好適なネットワーク(たとえば、ResNet)など、予め訓練されたニューラルネットワークによって処理され得る。同様に、生成されたフレーム650はそれぞれ、それらの画像特徴を抽出するように、予め訓練されたニューラルネットワーク660によって処理され得る。特定の実施形態では、生成されたフレーム650のコンテンツ損失690(Lによって表される)を決定するため、元のフレーム610それぞれの(VGGネットワーク615によって)抽出された画像特徴は、対応する生成されたフレーム650の(VGGネットワーク660によって)抽出された画像特徴と比較され得る。たとえば、生成されたフレーム650が対応する元のフレーム610と非常に類似している場合、コンテンツ損失690は少量であり得る(望ましい結果)。他方で、生成されたフレーム650が対応する元のフレーム610と類似していない場合、コンテンツ損失690は多量であり得る(望ましくない結果)。特定の実施形態では、生成されたフレーム650それぞれの抽出された特徴は、弁別器670に入力され得、そこで、入力フレームが「偽物」である(つまり生成器640によって生成されたものである)確率を決定する。生成されたフレーム650が自然に(つまりインペイントされていないように)見える場合、弁別器は、生成されたフレーム650が「本物」である(つまり、生成器640によって生成されていない)と決定するように「騙され」得る。同様に、元のフレーム610はまた、元のフレーム610が「本物」または「偽物」のどちらであるかを決定することができるように、弁別器670に入力され得る。弁別器670の出力は、GANネットワークの敵対的損失680を決定するのに使用され得る(Lによって表される)。フレームのシーケンスに関する敵対的損失680およびそれに対応するコンテンツ損失690は、それぞれのタスクをより良好に実施するように生成器640および弁別器670を更新する、損失関数(L=L+Lによって表される)として反復して使用され得る(言い換えれば、2つのネットワークのパラメータは、後の反復における損失を低減するように更新される)。訓練が完了すると(たとえば、損失関数が特定のしきい値を下回ったとき、または十分に大きい訓練サンプルセットがGANネットワークを訓練するのに使用された場合)、生成器640は、疎なフレームの欠落したピクセル情報を生成またはインペイントするのに、推論時間に使用され得る。
特定の実施形態では、敵対的損失Lは、ワッサースタイン距離に基づいて定義され、弁別器の空間的正規化を実施するのに使用され得る。特定の実施形態では、コンテンツ損失Lcは、フレームごとの抽出された特徴(たとえば、VGGネットワークを使用)を比較し、追加の時間的規則化を実施し得る。コンテンツ損失は次式によって表され得る。
Figure 0007231708000001
式中、
は、フレームfにおける元のフレームを表し、
I’は、フレームfにおけるサンプルデータセットまたは破損したフレームを表し、
θは、ニューラルネットワークの訓練可能なネットワークパラメータを表し、
Φは、VGGネットワークレイヤlを表し、
gは、生成器ネットワークを表し、
λは、個々のVGGレイヤの重みを表し、
λは、時間的規則化の重みを表す。
概念上、損失関数L(θ)は2つの部分に分割することができる。第1の部分は、l値の範囲にわたって第1の和によって画成され、元のフレームIとそれに対応する生成されたフレームg(I’,θ)とのコンテンツ比較を表す。より具体的には、等式は、元のフレームIの各VGGレイヤlと生成されたフレームg(I’,θ)の対応するVGGレイヤlの出力との差を計算し、その差にそのVGGレイヤlの重みλを掛け、各VGGレイヤに対する結果を合計する。概念上、結果は、生成されたフレームが対応する元のフレームとどのぐらい異なるかを表し、大きい差は不利になるはずである。損失関数は、l値の範囲にわたって第2の和によって画成される等式の部分を使用して、時間的規則化をさらに考慮に入れる。そこで、生成されたフレームg(I’,θ)の時間に伴う変化が測定される。より具体的には、生成されたフレームg(I’,θ)の時間に伴う変化は、各VGGレイヤlによる出力として、それらそれぞれの重みλによって重み付けされ、集約される。概念上、フレームはビデオにおけるシーケンスなので、連続して生成されたフレーム間の差が過度であれば不利になるはずである。訓練中、ネットワークパラメータθは、このように定義されたコンテンツ損失を最小限に抑えるように更新され得る。
訓練が完了した後、生成器640は、疎なピクセルデータに基づいてビデオフレーム全体を完成させるのに、動作中に(または推論時間に)使用され得る。特定の実施形態では、生成器640は、コンピュータグラフィックスアプリケーションの場合のフォービエイテッドレンダリング、および/または画像伝送アプリケーションの場合のフォービエイテッド圧縮を最適化するのに使用され得る。フォービエイテッドレンダリングに関して、生成器640は、コンピュータグラフィックスが生成される速度を改善するのに使用され得る。たとえば、コンピュータグラフィックスアプリケーション(たとえば、AR/VRアプリケーション、ゲームなど)は、任意の好適なレンダリング技術(たとえば、レイトレーシングなどの物理ベースレンダリングアルゴリズム)を使用して疎なピクセルデータをレンダリングし得る。レンダリングされたピクセルの密度は、中心視野範囲に近い領域の方が中心視野範囲から遠い領域よりも高密度であり得る(たとえば、中心視野範囲は、アイトラッキングデバイスに基づいて決定されるか、またはデバイスのレンズパラメータに基づいてもしくはアプリケーションによって予め決定され得る)。ピクセルの残りを同じ形でレンダリングする代わりに、アプリケーションは、訓練された生成器640を使用して欠落したピクセル情報を埋め得る。機械学習モデル(または生成器640)によって生成されたピクセルは、従来のレンダリングアルゴリズムによって生成され得るものよりも不正確であり得るが、閲覧者の中心視野の限界により、閲覧者は差をほとんどまたはまったく知覚しないであろう。
フォービエイテッド伝送に関して、別の方法では必要とされるであろうよりも少ない画像データを効果的に伝送し、それによって伝送時間を低減するのに、伝送側によって特定の実施形態が使用され得る。たとえば、伝送側はビデオを受信側に伝送するように命令され得る。ビデオは、予め記憶されたビデオ(たとえば、カメラによってキャプチャされたビデオ、コンピュータ生成アニメーションなど)であり得、フレームのシーケンスを含む。伝送側は、閲覧者の中心視野領域に基づいて各ビデオフレームをサンプリングし、サンプリングされたピクセルデータのみを受信側に伝送し得る。サンプリングされたピクセルデータを受信すると、受信側は、訓練された生成器640を使用してビデオフレーム全体を再構築し得る。やはり、機械学習モデル(または生成器640)によって生成されたピクセルは、元のビデオフレームの実際のピクセルよりも不正確であり得るが、閲覧者の中心視野の限界により、閲覧者は差をほとんどまたはまったく知覚しないであろう。
以下、生成器および弁別器のネットワークアーキテクチャのさらなる詳細について説明する。図7A~Dは、特定の実施形態による、生成器640の例示的な構成要素を示している。図7Aは、生成器640の高次アーキテクチャを示している。特定の実施形態では、システムの生成器640は、4つの対になるエンコーダ(たとえば、702、703、704、および705)ならびにデコーダ(たとえば、707、708、709、710)ブロックと、ボトルネックブロック706とを含む、オートエンコーダであり得る。この例では、4組の対になるエンコーダおよびデコーダが示されているが、3組、5組、7組、9組など、対になるエンコーダおよびデコーダの任意の他の組数も使用され得る。くさび形のブロックはダウンサンプリングおよびアップサンプリングを示す。たとえば、エンコーダブロック702、703、704、および705はそれぞれ、左側の方が右側よりも幅広で始まるくさびによって表され、それによって特徴マップのダウンサンプリングを表す。特徴マップはダウンサンプリングされるので、その空間寸法は低減されるが、特徴カウントはより大きくなる。一方、デコーダブロック707、708、709、710はそれぞれ、左側の方が右側よりも狭い幅で始まるくさびによって表され、それによって特徴マップのアップサンプリングを表す。アップサンプリングプロセスは、特徴マップの低減された次元数をその元の次元に返す。
特定の実施形態では、生成器640は、フレームのサンプルデータセット(たとえば、RGBおよびバイナリマスク情報)を含む画像701を入力として取り得る。4つの連続するエンコーダブロック702、703、704、705は、入力RGB情報を空間次元で縮小し、特徴カウントを増加させる。入力マスクはマスク畳み込みを使用して扱われる。ボトルネックブロック706は、最後のエンコーダレイヤ705の出力を低い空間解像度で処置する。4つの対になるデコーダブロック707、708、709、710は、空間アップサンプリングを実施する一方で特徴カウントを減少させる。特定の実施形態では、対になるエンコーダおよびデコーダは、スキップ接続(たとえば、ブロック702と710、ブロック703と709、ブロック704と708、およびブロック705と707など、対称の対になるブロック間の矢印によって表される)によって接続される。したがって、各デコーダブロック(たとえば、709)への入力は前のブロック(たとえば、708)の出力、および対応するエンコーダブロック(たとえば、703)のマスキングされた出力である。概念上、スキップ接続は、各デコーディングブロックがサンプリングされたピクセル情報の特徴を保持するのを助ける(マスクを使用して隔離されているため)。さらに、デコーダブロック707、708、709、710は、(各ブロックの円形ループによって表される)それらの最終活性化を長時間保持する再帰型ネットワークであり得るので、それらの前の出力をそれらの現在の入力と連結して、再帰型システムを確立することができる。この特徴は、ネットワークが、前のフレームから学習した時空間表現を保持し、それらを使用して現在のフレームを生成するのを助ける。最終的に、最後のデコーダブロック710の出力は生成されたフレーム711である。
図7Bは、特定の実施形態による、エンコーダブロック730(たとえば、702、703、704、705)の詳細を提供する。黒の矢印は、RGB情報の処理フローを表し、点線の矢印はバイナリマスク情報の処理フローを表す。特定の実施形態では、RGB情報(入力RGBサンプルから抽出された特徴マップなど)および関連するバイナリマスク情報は、マスク畳み込みレイヤ732によって処理され得る。RGB情報に関連する出力特徴マップは、次に活性化レイヤ734によって処理される。活性化レイヤ734の出力は、マスク畳み込みレイヤ732によって出力されたマスク特徴とともに、次にマスク畳み込みレイヤ736によってダウンサンプリングされる。そのレイヤ736から、RGB情報に関連する出力特徴マップは、別の活性化レイヤ738によって処理される。活性化レイヤ738の出力、およびマスク畳み込みレイヤ736からのダウンサンプリングされたマスク特徴は次に、次のエンコーダブロックまたはボトルネックブロック740に渡される。活性化レイヤ734からの事前ダウンサンプリング出力、およびマスク畳み込みレイヤ732からのマスク特徴は、図7Aに示されるように、スキップ接続を介して、対応する対になるデコーダブロックに渡される。
図7Cは、特定の実施形態による、ボトルネックブロック740(たとえば、706)のさらなる詳細を提供する。ボトルネックブロック740は、直前のエンコーダブロック(たとえば、図7Aの705)の出力を入力として取り得る。ボトルネックブロックは、畳み込みレイヤ742を使用して、最後のエンコーダブロック705からのRGB情報に関連するダウンサンプリングされた特徴マップを処理し得る。そのレイヤ742の出力は、次に活性化レイヤ744によって処理され、その出力は、別の畳み込みレイヤ746によって処理され、その出力は別の活性化レイヤ748によって処理される。最後の活性化レイヤ748の出力は次に、最初のデコーダブロック750(たとえば、図7Aの707)に出力され得る。
図7Dは、特定の実施形態による、デコーダブロック750(たとえば、707、708、709、710)のさらなる詳細を提供する。各デコーダブロック750は、直前のブロック(たとえば、別のデコーダブロック750またはボトルネックブロック740)の特徴マップ出力を入力として取り得る。それに加えて、各デコーダブロックは、上述のスキップ接続を介して、対になるエンコーダブロック730の出力を入力として取る。特に、スキップ接続は、RGB情報に関連する予めダウンサンプリングされた特徴マップ、および対応するエンコーダブロック730からの対応するマスク特徴を、デコーダブロック750に送信する。直前のブロックからの入力は最初にアップサンプリング751され、その結果は、対応するエンコーダ740から予めダウンサンプリングされた特徴マップと連結される。したがって、連結地点において、直前のブロックからの特徴マップおよびスキップ接続を介した特徴マップは両方とも、同じ次元のものである。連結された結果は次に、スキップ接続を介して受信されたマスク特徴を使用して、マスク畳み込みレイヤ753によって処理される。結果として得られる特徴マップは次に、活性化レイヤ754によって処理される。そのレイヤ754の出力は次に、デコーダブロック750の前の反復からの活性化出力と連結755される。このように、デコーダブロック750はその最終活性化を長時間維持して、再帰型システムを確立する(言い換えれば、デコーダブロックは、それが処理した他の以前のフレームから学習された時空間情報を保持する)。連結された結果は次に、別の畳み込み756を施され、その出力は最終活性化レイヤ757によって処理される。活性化レイヤ757の出力は次に、次のデコーダブロック750があればそれに出力され、または最終の生成されたフレームを出力する。
図8A~Cは、特定の実施形態による、弁別器670の例示的な構成要素を示している。図8Aは、弁別器670のアーキテクチャの一実施形態を示している。図示される実施形態では、予め訓練されたVGGネットワーク660(たとえば、VGG-19)の5つの中間レイヤはそれぞれ、時間的残差畳み込みブロックのシーケンスに供給され、それらの出力が組み合わされて、最終的なスカラークリティック(scalar critic)(たとえば、入力フレームが「偽物」であるか否か)となる。具体的には、図6を参照して上述したように、生成器640から生成されたフレーム650は、予め訓練されたVGGネットワーク660に供給され得、そこからの出力は、弁別器670によって処理され得る。図8Aに示される実施形態に移ると、VGGニューラルネットワーク660は、複数のネットワークレイヤを使用して、入力フレームに対する空間的推論を実施し得る。VGGニューラルネットワーク660の各レイヤの出力は、生成されたフレームの異なるレベルの抽象化に対応する。
特定の実施形態では、VGGネットワーク660の5つの中間レイヤ810、820、830、840、850(または1つ、3つ、7つ、10など、任意の他の数の中間レイヤ)から出力される情報は、弁別器670の時間的残差ブロックのシーケンス(たとえば、811~815、821~825、831~835、841~845、851~855)によって、時間に伴って集約され得る。生成器640とは対照的に、弁別器670は、フレームのシーケンスを一度に処理し、したがって、時空間関係に関して推論することができる。時間的残差ブロックは、時間ドメインのみで一次元(1D)畳み込みを実施することによって、時間に伴って情報を集約する。図8Aに示される例に移ると、VGG conv1_2レイヤ810からの出力は、時間的残差ブロック811によって処理され得、そのブロックは、入力に対して1Dの時間的畳み込みを実施し、特徴深さを増加させながら空間的次元をダウンサンプリングし得る。このタイプの時間的残差ブロックは、タイプAブロックと呼ばれ得る。同じ動作が、タイプAの時間的残差ブロック812、813、および814によって連続して実施される。最後の時間的残差ブロック814の出力は次に、ダウンサンプリングなしで時間的畳み込みを実施する、別のタイプの時間的残差ブロック815によって処理される。このタイプの時間的残差ブロックは、タイプBブロックと呼ばれ得る。タイプBブロック815の出力は次に、完全に接続されたレイヤ860を使用して他のVGGレイヤ(たとえば、820、830、840、850)に関連する出力と組み合わされる。
他のVGGレイヤそれぞれに関して、プロセスは同様であるが、タイプAおよびタイプBのブロックの数は異なる。たとえば、VGG conv2_2 820の出力はVGG conv1_2 810の出力と空間的に類似しており、したがって、(4つではなく)3つのタイプAブロック821、822、823は、特徴マップの空間寸法がタイプBブロックによって予想される所望の均一なサイズになるまで、時間的畳み込みおよびダウンサンプリングを実施するのに使用される。最後のタイプAブロック823の出力は次に、2つのタイプBブロック824のシーケンスによって処理される。結果として、VGG conv2_2レイヤ820の出力に対して、完全に接続されたレイヤ860に達する前に、他のVGGレイヤ(たとえば、810、830、840、および850)の出力と同じ数(この例では、5つ)の時間的畳み込みのシーケンスが行われる。たとえば、VGG conv3_2レイヤ830の出力は、2つのタイプAブロック831、832および3つのタイプBブロック833、834、835のシーケンスによって処理される。VGG conv4_2レイヤ840の出力は、1つのタイプAブロック841および4つのタイプBブロック842、843、844、845のシーケンスによって処理される。VGG conv5_2レイヤ850の出力は、タイプAブロックによっては処理されず(既に所望の空間寸法になっているので)、5つのタイプBブロック851、852、853、854、855のシーケンスによって処理される。5つのVGGレイヤ810、820、830、840、850に対する最後のタイプBブロック815、825、835、845、855の出力は次に、完全に接続されたレイヤ860を使用して組み合わされ、そのレイヤの出力は、活性化レイヤ861によって、次に別の接続されたレイヤ862によって処理されて、最終的なスカラークリティック(たとえば、フレームが「偽物」であるか否か)に達する。
図8Bは、タイプAの時間的残差ブロック880(たとえば、図8Aに示されるブロック811~814、821~823、831~832、および841)の一実施形態を示している。タイプAの時間的残差ブロック880は、前のブロックから入力(たとえば、VGGレイヤまたは別のタイプAブロック880の出力)を取り、時間的畳み込み881(たとえば、1D時間的畳み込み)を実施する。出力は次に、活性化レイヤ882によって処理され、その結果はこのブロック880の元の入力に追加883される。集約結果は次に、空間寸法でダウンサンプリング884され、次のブロック(たとえば、別のタイプAブロック880またはタイプBブロック890)に出力される。
図8Cは、タイプBの時間的残差ブロック890(たとえば、図8Aに示されるブロック815、824~825、833~835、842~845、および851~855)の一実施形態を示している。タイプBの時間的残差ブロック890は、前のブロックから入力(たとえば、タイプAブロック880または別のタイプBブロック890の出力)を取り、時間的畳み込み891(たとえば、1D時間的畳み込み)を実施する。出力は次に、活性化レイヤ892によって処理され、その結果はこのブロック890の元の入力に追加893され、次のブロック(たとえば、別のタイプBブロック890または完全に接続されたレイヤ860)に出力される。タイプAブロック880とは異なり、タイプBブロック890はダウンサンプリングを実施しない。
特定の実施形態では、上述の生成器640および弁別器670は、フレームの時間的にコヒーレントなシーケンスをより良好に扱い、フリッカーなしでシーケンスを再構築するため、時間ドメインのデータを考慮に入れるように拡張され得る。特定の実施形態では、これは、2D畳み込みを3D畳み込みと置き換えることによって、または再帰型畳み込みレイヤを追加することによって達成され得る。たとえば、生成器640に関して、各エンコーダブロック(たとえば、図7Aの702~705)の最後の畳み込みレイヤは、畳み込みLSTMネットワークと置き換えられ得る。たとえば、図7Bを参照すると、エンコーダブロック730の畳み込みレイヤ736は、畳み込みLSTMネットワークと置き換えられ得る。弁別器670に関して、すべての2D畳み込みレイヤは3D畳み込みレイヤと置き換えられ得る。たとえば、2つのタイプの時間的残差ブロック880および890における畳み込みレイヤ881および891は、3D畳み込みレイヤと置き換えられ得る。改良された生成器640および弁別器640は、(再帰レイヤによる)時間を通した逆伝播を用いて、自然なビデオシーケンス(たとえば、注釈、視聴覚特徴などを含み得る、カメラによってキャプチャされたビデオシーケンス)を使用して訓練され得る。特定の実施形態では、ミニバッチの画像は短いビデオシーケンスと置き換えられ得る。短いビデオシーケンスはそれぞれ、16フレームまたは任意の他の好適なフレーム数(たとえば、4、8、32など)を含むように構成され得る。
図9は、特定の実施形態による、訓練済み生成器機械学習モデルを使用してサンプルデータセットから完成画像を生成する一例の方法900を示している。プロセスは、コンピューティングシステムが、1つまたは複数のフレームのシーケンスにそれぞれ関連する1つまたは複数のサンプルデータセットにアクセスし得る、ステップ910で始まり得る。1つまたは複数のサンプルデータセットはそれぞれ、関連するフレームの不完全なピクセル情報を含む(たとえば、サブサンプルデータは一部のピクセルに利用可能であるが、すべてに利用可能ではない)。特定の実施形態では、1つまたは複数のサンプルデータセットは、物理ベースコンピュータグラフィックスレンダリングモジュール(たとえば、レイトレーシングもしくはレイキャスティングを実施する)を使用して、または完全な色情報を有する既存のフレームからの色サンプリングから生成され得る。たとえば、システム(サンプルデータセットにアクセスする同じコンピューティングシステム、もしくは別のものであり得る)は、サンプルデータセットに関連するフレーム内の1つまたは複数の関心領域(たとえば、サブサンプルロケーション)を決定してもよい。システムは次に、1つまたは複数の関心領域を使用して、不完全ピクセル情報を生成し得る。たとえば、システムは、可視性試験を実施し、シェーディングアルゴリズムを使用して、それらの関心領域の色を決定し得、またはシステムは、完全な色情報を有する既存のフレーム内のそれらの関心領域における色をサンプリングし得る。特定の実施形態では、1つまたは複数のサンプルデータセットはそれぞれ、サンプルデータセットに関連する不完全なピクセル情報に対応するピクセル色(たとえば、RGB)を有する画像と、ピクセル色のロケーションを示すバイナリマスクとを含み得る。サンプルデータセットを生成したシステムは次に、疎データを別のシステムに送信するか、またはデータ自体を後で処理して、フルフレームを再構築し得る。
特定の実施形態では、関心領域の密度はサンプルデータセット全体を通して空間的に均一でないことがあり得る。たとえば、1つまたは複数の関心領域に対応する不完全なピクセル情報のうち1つまたは複数の部分は、不完全なピクセル情報の他の部分よりも密なピクセルサンプルを含む。特定の実施形態では、ユーザの視線は、ユーザの中心視野領域および/または任意の適用可能な光学歪みを決定するので、密度分布はユーザの視線に基づき得る。たとえば、システムは、(たとえば、アイトラッキングデバイスによって得られるアイトラッキングデータに基づいて)ユーザの視線方向を決定し、決定されたユーザの視線方向に基づいて1つまたは複数の関心領域を決定し得る。
ステップ920で、システムは、第1の機械学習モデルを使用して、1つまたは複数のサンプルデータセットに基づいて、1つまたは複数のフレームを生成し得、1つまたは複数の生成されたフレームはそれぞれ完全なピクセル情報を有する。GANネットワークの生成器など、第1の機械学習モデルは、1つまたは複数の生成されたフレームに関連する時空間表現を保持するように構成される。特定の実施形態では、第1の機械学習モデルは、(たとえば、図7Aの例に示されるように)直列接続された、複数のエンコーダと複数のデコーダ(再帰型デコーダであり得る)とを含む。特定の実施形態では、各エンコーダの出力は、スキップ接続を介して、対応する対になるデコーダに渡され得る。たとえば、複数のエンコーダは、最初のエンコーダおよび最後のエンコーダを含み得、複数のデコーダは、最初のデコーダおよび最後のデコーダを含み得る。最初のエンコーダの出力は、最後のデコーダの入力であるように構成され得、最後のエンコーダの出力は、最初のデコーダの入力であるように構成され得る。
ステップ930で、システムは、1つまたは複数のフレームのシーケンスに続く次のフレームの不完全なピクセル情報を含む次のサンプルデータセットにアクセスし得る。ステップ940で、システムは、第1の機械学習モデルを使用して、次のサンプルデータセットに基づいて次のフレームを生成し得る。次のフレームは、次のサンプルデータセットの不完全なピクセル情報、ならびに次のサンプルデータセット、および第1の機械学習モデルによって保持された時空間表現に基づいて生成された、追加のピクセル情報を含む、完全なピクセル情報を有し得る。
特定の実施形態では、上述の第1の機械学習モデルはGANネットワークの生成器であり得る。特定の実施形態では、生成器は次のように訓練され得る。訓練システムは、複数の訓練サンプルデータセットを複数の訓練フレームからそれぞれ生成し得る。システムは、第1の機械学習モデルを使用して、複数の訓練サンプルデータセットそれぞれに基づいて、複数の再構築フレームを生成し得る。システムは次に、第2の機械学習モデル(たとえば、弁別器)を使用して、複数の再構築フレームが第1の機械学習モデルによって生成される確率を決定し得る。システムは次に、第2の機械学習モデルによって決定された確率それぞれの正当性(たとえば、敵対的損失によって測定される)に基づいて、第1の機械学習モデルを更新し得る。特定の実施形態では、第1の機械学習モデルの更新はさらに、複数の再構築フレームと複数の訓練フレームとの比較(たとえば、コンテンツ損失)に基づき得る。
図10は、ソーシャルネットワーキングシステムに関連する例示的なネットワーク環境1000を示している。ネットワーク環境1000は、ネットワーク1010によって互いに接続された、クライアントシステム1030と、ソーシャルネットワーキングシステム1060と、サードパーティシステム1070とを含む。図10は、クライアントシステム1030、ソーシャルネットワーキングシステム1060、サードパーティシステム1070、およびネットワーク1010の特定の構成を示しているが、本開示は、クライアントシステム1030、ソーシャルネットワーキングシステム1060、サードパーティシステム1070、およびネットワーク1010の任意の好適な構成を企図する。限定としてではなく一例として、クライアントシステム1030、ソーシャルネットワーキングシステム1060、およびサードパーティシステム1070のうち2つまたはそれ以上は、ネットワーク1010を迂回して互いに直接接続され得る。別の例として、クライアントシステム1030、ソーシャルネットワーキングシステム1060、およびサードパーティシステム1070のうち2つまたはそれ以上は、全体としてまたは部分的に、物理的または論理的に互いに同位置に配置され得る。たとえば、AR/VRヘッドセット1030は、短距離ワイヤレス通信(たとえば、Bluetooth)を介して、ローカルコンピュータまたはモバイルコンピューティングデバイス1070に接続され得る。さらに、図10は、クライアントシステム1030、ソーシャルネットワーキングシステム1060、サードパーティシステム1070、およびネットワーク1010の特定の数を示しているが、本開示は、クライアントシステム1030、ソーシャルネットワーキングシステム1060、サードパーティシステム1070、およびネットワーク1010の任意の好適な数を企図する。限定としてではなく一例として、ネットワーク環境1000は、複数のクライアントシステム1030、ソーシャルネットワーキングシステム1060、サードパーティシステム1070、およびネットワーク1010を含み得る。
本開示は、任意の好適なネットワーク1010を企図する。限定としてではなく一例として、ネットワーク1010の1つまたは複数の部分は、短距離ワイヤレスネットワーク(たとえば、Bluetooth、ジグビーなど)、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうち2つまたはそれ以上の組合せを含み得る。ネットワーク1010は、1つまたは複数のネットワーク1010を含み得る。
リンク1050は、クライアントシステム1030と、ソーシャルネットワーキングシステム1060と、サードパーティシステム1070とを、通信ネットワーク1010にまたは互いに接続し得る。本開示は、任意の好適なリンク1050を企図する。特定の実施形態では、1つまたは複数のリンク1050は、1つまたは複数の、(たとえば、デジタル加入者回線(DSL)またはデータオーバーケーブルサービスインターフェース仕様(DOCSIS)などの)ワイヤラインリンク、(たとえば、Wi-Fiまたはワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)、Bluetoothなどの)ワイヤレスリンク、または(たとえば、同期光ネットワーク(SONET)または同期デジタルハイアラーキ(SDH)などの)光リンクを含む。特定の実施形態では、1つまたは複数のリンク1050は、各々、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー技術ベースネットワーク、衛星通信技術ベースネットワーク、別のリンク1050、または2つまたはそれ以上のそのようなリンク1050の組合せを含む。リンク1050は、ネットワーク環境1000の全体にわたって必ずしも同じである必要はない。1つまたは複数の第1のリンク1050は、1つまたは複数の第2のリンク1050とは1つまたは複数の点で異なり得る。
特定の実施形態では、クライアントシステム1030は、ハードウェア、ソフトウェア、または埋込み論理構成要素、または2つまたはそれ以上のそのような構成要素の組合せを含み、クライアントシステム1030によって実装またはサポートされる適切な機能性を行うことが可能な、電子デバイスであり得る。限定としてではなく一例として、クライアントシステム1030は、VR/ARヘッドセット、デスクトップコンピュータ、ノートブックまたはラップトップコンピュータ、ネットブック、タブレットコンピュータ、電子ブックリーダー、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、拡張/仮想現実デバイス、他の好適な電子デバイス、あるいはそれらの任意の好適な組合せなど、コンピュータシステムを含み得る。本開示は、任意の好適なクライアントシステム1030を企図する。クライアントシステム1030は、クライアントシステム1030におけるネットワークユーザが、ネットワーク1010にアクセスすることを可能にし得る。クライアントシステム1030は、クライアントシステム1030のユーザが、他のクライアントシステム1030における他のユーザと通信することを可能にし得る。
特定の実施形態では、ソーシャルネットワーキングシステム1060は、オンラインソーシャルネットワークをホストすることができる、ネットワークアドレス指定可能なコンピューティングシステムであり得る。ソーシャルネットワーキングシステム1060は、たとえば、ユーザプロファイルデータ、概念プロファイルデータ、ソーシャルグラフ情報、またはオンラインソーシャルネットワークに関係する他の好適なデータなど、ソーシャルネットワーキングデータを生成し、記憶し、受信し、送信し得る。ソーシャルネットワーキングシステム1060は、直接的にまたはネットワーク1010を介してのいずれかで、ネットワーク環境1000の他の構成要素によってアクセスされ得る。限定としてではなく一例として、クライアントシステム1030は、直接的にまたはネットワーク1010を介してのいずれかで、ウェブブラウザ、またはソーシャルネットワーキングシステム1060に関連するネイティブアプリケーション(たとえば、モバイルソーシャルネットワーキングアプリケーション、メッセージングアプリケーション、別の好適なアプリケーション、またはそれらの任意の組合せ)を使用して、ソーシャルネットワーキングシステム1060にアクセスし得る。特定の実施形態では、ソーシャルネットワーキングシステム1060は、1つまたは複数のサーバ1062を含み得る。各サーバ1062は、単一サーバ、あるいは複数のコンピュータまたは複数のデータセンターにわたる分散型サーバであり得る。サーバ1062は、たとえば、限定はしないが、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、プロキシサーバ、本明細書で説明される機能またはプロセスを実施するのに好適な別のサーバ、あるいはそれらの任意の組合せなど、様々なタイプのものであり得る。特定の実施形態では、各サーバ1062は、サーバ1062によって実装またはサポートされる適切な機能性を行うための、ハードウェア、ソフトウェア、または埋込み論理構成要素、または2つまたはそれ以上のそのような構成要素の組合せを含み得る。特定の実施形態では、ソーシャルネットワーキングシステム1060は、1つまたは複数のデータストア1064を含み得る。データストア1064は、様々なタイプの情報を記憶するために使用され得る。特定の実施形態では、データストア1064に記憶された情報は、特定のデータ構造に従って編成され得る。特定の実施形態では、各データストア1064は、リレーショナルデータベース、列指向データベース、相関データベース、または他の好適なデータベースであり得る。本開示は、特定のタイプのデータベースを説明するかまたは示すが、本開示は任意の好適なタイプのデータベースを企図する。特定の実施形態は、クライアントシステム1030、ソーシャルネットワーキングシステム1060、またはサードパーティシステム1070が、データストア1064に記憶された情報を管理する、取り出す、修正する、追加する、または削除することを可能にするインターフェースを提供し得る。
特定の実施形態では、ソーシャルネットワーキングシステム1060は、1つまたは複数のデータストア1064に、1つまたは複数のソーシャルグラフを記憶し得る。特定の実施形態では、ソーシャルグラフは、(各々特定のユーザに対応する)複数のユーザノードまたは(各々特定の概念に対応する)複数の概念ノードを含み得る、複数のノードと、ノードを接続する複数のエッジとを含み得る。ソーシャルネットワーキングシステム1060は、オンラインソーシャルネットワークのユーザに、他のユーザと通信および対話する能力を提供し得る。特定の実施形態では、ユーザは、ソーシャルネットワーキングシステム1060を介してオンラインソーシャルネットワークに加わり、次いで、ユーザがつなげられることを希望するソーシャルネットワーキングシステム1060の何人かの他のユーザへのつながり(たとえば、関係)を追加し得る。本明細書では、「友達」という用語は、ソーシャルネットワーキングシステム1060を介してユーザがつながり、関連付け、または関係を形成したソーシャルネットワーキングシステム1060の任意の他のユーザを指し得る。
特定の実施形態では、ソーシャルネットワーキングシステム1060は、ソーシャルネットワーキングシステム1060によってサポートされる様々なタイプのアイテムまたはオブジェクトに関するアクションをとる能力をユーザに提供し得る。限定としてではなく一例として、アイテムおよびオブジェクトは、ソーシャルネットワーキングシステム1060のユーザが属し得るグループまたはソーシャルネットワーク、ユーザが興味があり得るイベントまたはカレンダーエントリ、ユーザが使用し得るコンピュータベースアプリケーション、ユーザがサービスを介してアイテムを購入または販売することを可能にするトランザクション、ユーザが実施し得る広告との対話、あるいは他の好適なアイテムまたはオブジェクトを含み得る。ユーザは、ソーシャルネットワーキングシステム1060において、またはソーシャルネットワーキングシステム1060とは別個であり、ネットワーク1010を介してソーシャルネットワーキングシステム1060に結合された、サードパーティシステム1070の外部システムによって、表されることが可能であるものと対話し得る。
特定の実施形態では、ソーシャルネットワーキングシステム1060は、様々なエンティティをリンクすることが可能であり得る。限定としてではなく一例として、ソーシャルネットワーキングシステム1060は、ユーザが、互いと対話し、ならびにサードパーティシステム1070または他のエンティティからコンテンツを受信することを可能にするか、あるいは、ユーザが、アプリケーションプログラミングインターフェース(API)または他の通信チャネルを通して、これらのエンティティと対話することを可能にし得る。
特定の実施形態では、サードパーティシステム1070は、クライアントシステム1030に通信可能に結合されたローカルコンピューティングデバイスを含み得る。たとえば、クライアントシステム1030がAR/VRヘッドセットである場合、サードパーティシステム1070は、必要なグラフィックスレンダリングを実施し、後の処理および/または表示のためにレンダリング結果をAR/VRヘッドセット1030に提供するように構成された、ローカルラップトップであり得る。特定の実施形態では、サードパーティシステム1070は、クライアントシステム1030(たとえば、レンダリングエンジン)に関連するソフトウェアを実行し得る。サードパーティシステム1070は、ビデオフレームの疎なピクセル情報を有するサンプルデータセットを生成し、疎データをクライアントシステム1030に送信し得る。クライアントシステム1030は次に、サンプルデータセットから再構築されたフレームを生成し得る。
特定の実施形態では、サードパーティシステム1070は、1つまたは複数のタイプのサーバ、1つまたは複数のデータストア、限定はしないがAPIを含む1つまたは複数のインターフェース、1つまたは複数のウェブサービス、1つまたは複数のコンテンツソース、1つまたは複数のネットワーク、またはたとえばサーバが通信し得る任意の他の好適な構成要素を含み得る。サードパーティシステム1070は、ソーシャルネットワーキングシステム1060を動作させるエンティティとは異なるエンティティによって動作させられ得る。しかしながら、特定の実施形態では、ソーシャルネットワーキングシステム1060とサードパーティシステム1070とは、互いと連携して動作して、ソーシャルネットワーキングシステム1060またはサードパーティシステム1070のユーザにソーシャルネットワーキングサービスを提供し得る。この意味で、ソーシャルネットワーキングシステム1060は、サードパーティシステム1070などの他のシステムが、インターネット上でユーザにソーシャルネットワーキングサービスおよび機能性を提供するために使用し得る、プラットフォームまたはバックボーンを提供し得る。
特定の実施形態では、サードパーティシステム1070は、(たとえば、本明細書で説明される疎なサンプルデータセットを含む)サードパーティコンテンツオブジェクトプロバイダを含み得る。サードパーティコンテンツオブジェクトプロバイダは、クライアントシステム1030に通信され得る、コンテンツオブジェクトの1つまたは複数のソースを含み得る。限定としてではなく一例として、コンテンツオブジェクトは、たとえば、映画の上映時間、映画のレビュー、レストランのレビュー、レストランのメニュー、製品情報およびレビュー、または他の好適な情報など、ユーザにとって興味のある物またはアクティビティに関する情報を含み得る。限定としてではなく別の例として、コンテンツオブジェクトは、クーポン、ディスカウントチケット、ギフト券、または他の好適なインセンティブオブジェクトなど、インセンティブコンテンツオブジェクトを含み得る。
特定の実施形態では、ソーシャルネットワーキングシステム1060は、ソーシャルネットワーキングシステム1060とのユーザの対話を向上させ得る、ユーザ生成されたコンテンツオブジェクトをも含む。ユーザ生成されたコンテンツは、ユーザがソーシャルネットワーキングシステム1060に追加するか、アップロードするか、送信するか、または「投稿する」ことができるものを含み得る。限定としてではなく一例として、ユーザは、クライアントシステム1030からソーシャルネットワーキングシステム1060に投稿を通信する。投稿は、ステータス更新または他のテキストデータ、ロケーション情報、写真、ビデオ、リンク、音楽あるいは他の同様のデータまたはメディアなど、データを含み得る。コンテンツはまた、ニュースフィードまたはストリームなどの「通信チャネル」を通して、サードパーティによってソーシャルネットワーキングシステム1060に追加され得る。
特定の実施形態では、ソーシャルネットワーキングシステム1060は、様々なサーバ、サブシステム、プログラム、モジュール、ログ、およびデータストアを含み得る。特定の実施形態では、ソーシャルネットワーキングシステム1060は、ウェブサーバ、アクションロガー、API要求サーバ、関連性およびランキングエンジン、コンテンツオブジェクト分類子、通知コントローラ、アクションログ、サードパーティコンテンツオブジェクト露出ログ、推測モジュール、認可/プライバシーサーバ、検索モジュール、広告ターゲッティングモジュール、ユーザインターフェースモジュール、ユーザプロファイルストア、つながりストア、サードパーティコンテンツストア、またはロケーションストアのうちの1つまたは複数を含み得る。ソーシャルネットワーキングシステム1060は、ネットワークインターフェース、セキュリティ機構、ロードバランサ、フェイルオーバサーバ、管理およびネットワーク運用コンソール、他の好適な構成要素、またはそれらの任意の好適な組合せなど、好適な構成要素をも含み得る。特定の実施形態では、ソーシャルネットワーキングシステム1060は、ユーザプロファイルを記憶するための1つまたは複数のユーザプロファイルストアを含み得る。ユーザプロファイルは、たとえば、経歴情報、人口統計学的情報、行動情報、ソーシャル情報、あるいは、職歴、学歴、趣味もしくは選好、興味、親和性、またはロケーションなど、他のタイプの記述的情報を含み得る。興味情報は、1つまたは複数のカテゴリーに関係する興味を含み得る。カテゴリーは一般的であるかまたは固有のものであり得る。限定としてではなく一例として、ユーザが、靴のブランドに関する記事に対して「いいね!」を表明した場合、カテゴリーは、ブランド、あるいは「靴」または「衣類」の一般的なカテゴリーであり得る。つながりストアは、ユーザに関するつながり情報を記憶するために使用され得る。つながり情報は、同様のまたは共通の職歴、グループメンバーシップ、趣味、学歴を有するか、あるいはいかなる形でも関係するか、または共通属性を共有する、ユーザを指示し得る。つながり情報は、(内部と外部の両方の)異なるユーザとコンテンツとの間のユーザ定義されたつながりをも含み得る。ウェブサーバは、ネットワーク1010を介して、ソーシャルネットワーキングシステム1060を、1つまたは複数のクライアントシステム1030または1つまたは複数のサードパーティシステム1070にリンクするために使用され得る。ウェブサーバは、ソーシャルネットワーキングシステム1060と1つまたは複数のクライアントシステム1030との間でメッセージを受信およびルーティングするためのメールサーバまたは他のメッセージング機能性を含み得る。API要求サーバは、サードパーティシステム1070が、1つまたは複数のAPIを呼び出すことによってソーシャルネットワーキングシステム1060からの情報にアクセスすることを可能にし得る。アクションロガーは、ソーシャルネットワーキングシステム1060上の、またはソーシャルネットワーキングシステム1060から離れた、ユーザのアクションに関するウェブサーバからの通信を受信するために使用され得る。アクションログと併せて、サードパーティコンテンツオブジェクトへのユーザ露出についてのサードパーティコンテンツオブジェクトログが維持され得る。通知コントローラは、クライアントシステム1030にコンテンツオブジェクトに関する情報を提供し得る。情報は、通知としてクライアントシステム1030にプッシュされ得るか、または、情報は、クライアントシステム1030から受信された要求に応答してクライアントシステム1030からプルされ得る。認可サーバは、ソーシャルネットワーキングシステム1060のユーザの1つまたは複数のプライバシー設定を施行するために使用され得る。ユーザのプライバシー設定は、ユーザに関連する特定の情報がどのように共有され得るかを決定する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定をセットすることなどによって、そのユーザのアクションがソーシャルネットワーキングシステム1060によってロギングされるか、または他のシステム(たとえば、サードパーティシステム1070)と共有されることをオプトインまたはオプトアウトすることを可能にし得る。サードパーティコンテンツオブジェクトストアは、サードパーティシステム1070など、サードパーティから受信されたコンテンツオブジェクトを記憶するために使用され得る。ロケーションストアは、ユーザに関連するクライアントシステム1030から受信されたロケーション情報を記憶するために使用され得る。広告価格設定モジュールは、ソーシャル情報、現在時間、ロケーション情報、または他の好適な情報を組み合わせて、関連広告を通知の形態でユーザに提供し得る。
図11は、例示的なコンピュータシステム1100を示す。特定の実施形態では、1つまたは複数のコンピュータシステム1100は、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータシステム1100は、本明細書で説明または示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム1100上で稼働しているソフトウェアは、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施するか、あるいは本明細書で説明または示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム1100の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
本開示は、任意の好適な数のコンピュータシステム1100を企図する。本開示は、任意の好適な物理的形態をとるコンピュータシステム1100を企図する。限定としてではなく例として、コンピュータシステム1100は、組込み型コンピュータシステム、システムオンチップ(SOC)、(たとえば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実デバイス、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステム1100は、1つまたは複数のコンピュータシステム1100を含むか、単一または分散型であるか、複数のロケーションにわたるか、複数のマシンにわたるか、複数のデータセンターにわたるか、あるいは1つまたは複数のネットワーク中の1つまたは複数のクラウド構成要素を含み得るクラウド中に常駐し得る。適切な場合、1つまたは複数のコンピュータシステム1100は、実質的な空間的または時間的制限なしに、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。限定としてではなく一例として、1つまたは複数のコンピュータシステム1100は、リアルタイムでまたはバッチモードで、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。1つまたは複数のコンピュータシステム1100は、適切な場合、異なる時間においてまたは異なるロケーションにおいて、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。
特定の実施形態では、コンピュータシステム1100は、プロセッサ1102と、メモリ1104と、ストレージ1106と、入出力(I/O)インターフェース1108と、通信インターフェース1110と、バス1112とを含む。本開示は、特定の構成において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な構成において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
特定の実施形態では、プロセッサ1102は、コンピュータプログラムを作り上げる命令など、命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するために、プロセッサ1102は、内部レジスタ、内部キャッシュ、メモリ1104、またはストレージ1106から命令を取り出し(またはフェッチし)、それらの命令を復号および実行し、次いで、内部レジスタ、内部キャッシュ、メモリ1104、またはストレージ1106に1つまたは複数の結果を書き込み得る。特定の実施形態では、プロセッサ1102は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ1102を企図する。限定としてではなく一例として、プロセッサ1102は、1つまたは複数の命令キャッシュと、1つまたは複数のデータキャッシュと、1つまたは複数のトランスレーションルックアサイドバッファ(TLB)とを含み得る。命令キャッシュ中の命令は、メモリ1104またはストレージ1106中の命令のコピーであり得、命令キャッシュは、プロセッサ1102によるそれらの命令の取出しを高速化し得る。データキャッシュ中のデータは、プロセッサ1102において実行する命令が動作する対象のメモリ1104またはストレージ1106中のデータのコピー、プロセッサ1102において実行する後続の命令によるアクセスのための、またはメモリ1104もしくはストレージ1106に書き込むための、プロセッサ1102において実行された前の命令の結果、あるいは他の好適なデータであり得る。データキャッシュは、プロセッサ1102による読取りまたは書込み動作を高速化し得る。TLBは、プロセッサ1102のための仮想アドレストランスレーションを高速化し得る。特定の実施形態では、プロセッサ1102は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ1102を企図する。適切な場合、プロセッサ1102は、1つまたは複数の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ1102を含み得る。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
特定の実施形態では、メモリ1104は、プロセッサ1102が実行するための命令、またはプロセッサ1102が動作する対象のデータを記憶するためのメインメモリを含む。限定としてではなく一例として、コンピュータシステム1100は、ストレージ1106または(たとえば、別のコンピュータシステム1100などの)別のソースからメモリ1104に命令をロードし得る。プロセッサ1102は、次いで、メモリ1104から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ1102は、内部レジスタまたは内部キャッシュから命令を取り出し、それらの命令を復号し得る。命令の実行中またはその後に、プロセッサ1102は、(中間結果または最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。プロセッサ1102は、次いで、メモリ1104にそれらの結果のうちの1つまたは複数を書き込み得る。特定の実施形態では、プロセッサ1102は、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1106または他の場所とは対照的な)メモリ1104中の命令のみを実行し、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1106または他の場所とは対照的な)メモリ1104中のデータのみに対して動作する。(アドレスバスおよびデータバスを各々含み得る)1つまたは複数のメモリバスが、プロセッサ1102をメモリ1104に結合し得る。バス1112は、以下で説明されるように、1つまたは複数のメモリバスを含み得る。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ1102とメモリ1104との間に常駐し、プロセッサ1102によって要求されるメモリ1104へのアクセスを可能にする。特定の実施形態では、メモリ1104は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は任意の好適なRAMを企図する。メモリ1104は、適切な場合、1つまたは複数のメモリ1104を含み得る。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
特定の実施形態では、ストレージ1106は、データまたは命令のための大容量ストレージを含む。限定としてではなく一例として、ストレージ1106は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。ストレージ1106は、適切な場合、リムーバブルまたは非リムーバブル(または固定)媒体を含み得る。ストレージ1106は、適切な場合、コンピュータシステム1100の内部または外部にあり得る。特定の実施形態では、ストレージ1106は、不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ1106は、読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量ストレージ1106を企図する。ストレージ1106は、適切な場合、プロセッサ1102とストレージ1106との間の通信を可能にする1つまたは複数のストレージ制御ユニットを含み得る。適切な場合、ストレージ1106は、1つまたは複数のストレージ1106を含み得る。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
特定の実施形態では、I/Oインターフェース1108は、コンピュータシステム1100と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム1100は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含み得る。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム1100との間の通信を可能にし得る。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサーを含み得る。本開示は、任意の好適なI/Oデバイスと、それらのI/Oデバイスのための任意の好適なI/Oインターフェース1108とを企図する。適切な場合、I/Oインターフェース1108は、プロセッサ1102がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスまたはソフトウェアドライバを含み得る。I/Oインターフェース1108は、適切な場合、1つまたは複数のI/Oインターフェース1108を含み得る。本開示は、特定のI/Oインターフェースを説明し、示すが、本開示は任意の好適なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース1110は、コンピュータシステム1100と、1つまたは複数の他のコンピュータシステム1100または1つまたは複数のネットワークとの間の(たとえば、パケットベース通信などの)通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、通信インターフェース1110は、イーサネットまたは他のワイヤベースネットワークと通信するためのネットワークインターフェースコントローラ(NIC)またはネットワークアダプタ、あるいはWI-FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)またはワイヤレスアダプタを含み得る。本開示は、任意の好適なネットワークと、そのネットワークのための任意の好適な通信インターフェース1110とを企図する。限定としてではなく一例として、コンピュータシステム1100は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム1100は、(たとえば、BLUETOOTH WPANなどの)ワイヤレスPAN(WPAN)、WI-FIネットワーク、WI-MAXネットワーク、(たとえば、モバイル通信用グローバルシステム(GSM)ネットワークなどの)セルラー電話ネットワーク、または他の好適なワイヤレスネットワーク、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。コンピュータシステム1100は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース1110を含み得る。通信インターフェース1110は、適切な場合、1つまたは複数の通信インターフェース1110を含み得る。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
特定の実施形態では、バス1112は、コンピュータシステム1100の構成要素を互いに結合する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、バス1112は、アクセラレーテッドグラフィックスポート(AGP)または他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス規格協会ローカル(VLB)バス、または別の好適なバス、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。バス1112は、適切な場合、1つまたは複数のバス1112を含み得る。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、構成されるか、実施することが可能であるか、実施するように設定されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、構成されるか、可能であるか、設定されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。

Claims (14)

  1. コンピューティングシステムによって、
    1つまたは複数のフレームのシーケンスにそれぞれ関連し、関連するフレームの不完全なピクセル情報をそれぞれ含む、1つまたは複数のサンプルデータセットにアクセスすることと、
    第1の機械学習モデルを使用して、前記1つまたは複数のサンプルデータセットに基づいて、完全なピクセル情報をそれぞれ有する前記1つまたは複数のフレームを生成することであって、前記第1の機械学習モデルが、生成された前記1つまたは複数のフレームに関連する時空間ピクセル量を保持するように構成される、前記1つまたは複数のフレームを生成することと、
    前記1つまたは複数のフレームのシーケンスに続く次のフレームの不完全なピクセル情報を含む次のサンプルデータセットにアクセスすることと、
    前記第1の機械学習モデルを使用して、前記次のサンプルデータセットに基づいて、完全なピクセル情報を有する前記次のフレームを生成することであって、前記完全なピクセル情報が、前記次のサンプルデータセットの前記不完全なピクセル情報、および追加のピクセル情報を含み、前記追加のピクセル情報が、前記次のサンプルデータセットと、前記第1の機械学習モデルによって保持された前記時空間ピクセル量とに基づいて生成される前記次のフレームを生成することと、を含む、方法。
  2. 前記第1の機械学習モデルが、
    複数の訓練サンプルデータセットを複数の訓練フレームからそれぞれ生成することと、
    前記第1の機械学習モデルを使用して、前記複数の訓練サンプルデータセットに基づいて、複数の再構築フレームをそれぞれ生成することと、
    第2の機械学習モデルを使用して、前記複数の再構築フレームが前記第1の機械学習モデルによって生成される確率を決定することと、
    前記第2の機械学習モデルによって決定された前記確率のそれぞれの正性に基づいて、前記第1の機械学習モデルを更新することと、によって訓練され、
    随意に、前記第1の機械学習モデルの前記更新が、前記複数の再構築フレームと前記複数の訓練フレームとの比較にさらに基づく、請求項に記載の方法。
  3. 前記第1の機械学習モデルが、直列接続された複数のエンコーダおよび複数のデコーダを含み、前記複数のエンコーダが最初のエンコーダおよび最後のエンコーダを含み、前記複数のデコーダが最初のデコーダおよび最後のデコーダを含み、
    前記最初のエンコーダの出力が前記最後のデコーダの入力であるように構成され、
    前記最後のエンコーダの出力が前記最初のデコーダの入力であるように構成され、
    随意に、前記複数のデコーダが再帰型デコーダである、請求項またはに記載の方法。
  4. 物理ベースコンピュータグラフィックスレンダリングモジュールを使用して、前記1つまたは複数のサンプルデータセットを生成することをさらに含む、請求項からのいずれか一項に記載の方法。
  5. 前記1つまたは複数のサンプルデータセットのうち少なくとも1つの前記生成が、
    前記サンプルデータセットに関連するフレーム内の1つまたは複数の関心領域を決定することと、
    前記1つまたは複数の関心領域を使用して、前記不完全なピクセル情報を生成することと、を含み、
    前記1つまたは複数の関心領域に対応する前記不完全なピクセル情報の1つまたは複数の部分が、前記不完全なピクセル情報の他の部分よりも密なピクセルサンプルを含み、
    随意に、前記方法が、アイトラッキングデバイスによって得られるアイトラッキングデータに基づいて、ユーザの視線方向を決定することをさらに含み、
    前記1つまたは複数の関心領域の前記決定が、決定された前記ユーザの視線方向に基づく、請求項に記載の方法。
  6. 前記1つまたは複数のサンプルデータセットがそれぞれ、
    前記サンプルデータセットに関連する前記不完全なピクセル情報に対応するピクセル色を有する画像と、
    前記ピクセル色のロケーションを示すバイナリマスクと、を含む、請求項からのいずれか一項に記載の方法。
  7. ソフトウェアを具現する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアは、実行されたとき、
    1つまたは複数のフレームのシーケンスにそれぞれ関連し、関連するフレームの不完全なピクセル情報をそれぞれ含む、1つまたは複数のサンプルデータセットにアクセスすることと、
    第1の機械学習モデルを使用して、前記1つまたは複数のサンプルデータセットに基づいて、完全なピクセル情報をそれぞれ有する前記1つまたは複数のフレームを生成することであって、前記第1の機械学習モデルが、生成された前記1つまたは複数のフレームに関連する時空間ピクセル量を保持するように構成される、前記1つまたは複数のフレームを生成することと、
    前記1つまたは複数のフレームのシーケンスに続く次のフレームの不完全なピクセル情報を含む次のサンプルデータセットにアクセスすることと、
    前記第1の機械学習モデルを使用して、前記次のサンプルデータセットに基づいて、完全なピクセル情報を有する前記次のフレームを生成することであって前記完全なピクセル情報が、前記次のサンプルデータセットの前記不完全なピクセル情報、および追加のピクセル情報を含み、前記追加のピクセル情報が、前記次のサンプルデータセットと、前記第1の機械学習モデルによって保持された前記時空間ピクセル量とに基づいて生成される、前記次のフレームを生成することと
    を行うように動作可能である、1つまたは複数のコンピュータ可読非一時的記憶媒体。
  8. 前記第1の機械学習モデルが、
    複数の訓練サンプルデータセットを複数の訓練フレームからそれぞれ生成することと、
    前記第1の機械学習モデルを使用して、前記複数の訓練サンプルデータセットに基づいて、複数の再構築フレームをそれぞれ生成することと、
    第2の機械学習モデルを使用して、前記複数の再構築フレームが前記第1の機械学習モデルによって生成される確率を決定することと、
    前記第2の機械学習モデルによって決定された前記確率のそれぞれの正性に基づいて、前記第1の機械学習モデルを更新することと、を含むプロセスによって訓練され、
    随意に、前記第1の機械学習モデルの前記更新が、前記複数の再構築フレームと前記複数の訓練フレームとの比較にさらに基づく、請求項に記載の媒体。
  9. 前記第1の機械学習モデルが、直列接続された複数のエンコーダおよび複数のデコーダを含み、前記複数のエンコーダが最初のエンコーダおよび最後のエンコーダを含み、前記複数のデコーダが最初のデコーダおよび最後のデコーダを含み、
    前記最初のエンコーダの出力が前記最後のデコーダの入力であるように構成され、
    前記最後のエンコーダの出力が前記最初のデコーダの入力であるように構成され、
    随意に、前記複数のデコーダが再帰型デコーダである、請求項またはに記載の媒体。
  10. 前記ソフトウェアは、実行されたとき、
    物理ベースコンピュータグラフィックスレンダリングモジュールを使用して、前記1つまたは複数のサンプルデータセットを生成するようにさらに動作可能である、請求項からのいずれか一項に記載の媒体。
  11. 1つまたは複数のプロセッサと、前記プロセッサのうち1つまたは複数に結合され、命令を含む、1つまたは複数のコンピュータ可読非一時的記憶媒体とを備える、システムであって、前記命令は、前記プロセッサのうち1つまたは複数によって実行されたとき、前記システムに、
    1つまたは複数のフレームのシーケンスにそれぞれ関連し、関連するフレームの不完全なピクセル情報をそれぞれ含む、1つまたは複数のサンプルデータセットにアクセスすることと、
    第1の機械学習モデルを使用して、前記1つまたは複数のサンプルデータセットに基づいて、完全なピクセル情報をそれぞれ有する前記1つまたは複数のフレームを生成することであって、前記第1の機械学習モデルが、生成された前記1つまたは複数のフレームに関連する時空間ピクセル量を保持するように構成される、前記1つまたは複数のフレームを生成することと、
    前記1つまたは複数のフレームのシーケンスに続く次のフレームの不完全なピクセル情報を含む次のサンプルデータセットにアクセスすることと、
    前記第1の機械学習モデルを使用して、前記次のサンプルデータセットに基づいて、完全なピクセル情報を有する前記次のフレームを生成することであって前記完全なピクセル情報が、前記次のサンプルデータセットの前記不完全なピクセル情報、および追加のピクセル情報を含み、前記追加のピクセル情報が、前記次のサンプルデータセットと、前記第1の機械学習モデルによって保持された前記時空間ピクセル量とに基づいて生成される、前記次のフレームを生成することと
    を行わせるように動作可能である、システム。
  12. 前記第1の機械学習モデルが、
    複数の訓練サンプルデータセットを複数の訓練フレームからそれぞれ生成することと、
    前記第1の機械学習モデルを使用して、前記複数の訓練サンプルデータセットに基づいて、複数の再構築フレームをそれぞれ生成することと、
    第2の機械学習モデルを使用して、前記複数の再構築フレームが前記第1の機械学習モデルによって生成される確率を決定することと、
    前記第2の機械学習モデルによって決定された前記確率のそれぞれの正性に基づいて、前記第1の機械学習モデルを更新することと、を含むプロセスによって訓練され、
    随意に、前記第1の機械学習モデルの前記更新が、前記複数の再構築フレームと前記複数の訓練フレームとの比較にさらに基づく、請求項11に記載のシステム。
  13. 前記第1の機械学習モデルが、直列接続された複数のエンコーダおよび複数のデコーダを含み、前記複数のエンコーダが最初のエンコーダおよび最後のエンコーダを含み、前記複数のデコーダが最初のデコーダおよび最後のデコーダを含み、
    前記最初のエンコーダの出力が前記最後のデコーダの入力であるように構成され、
    前記最後のエンコーダの出力が前記最初のデコーダの入力であるように構成される、請求項11または12に記載のシステム。
  14. 前記1つまたは複数のコンピュータ可読非一時的記憶媒体が、命令をさらに含み、前記命令は、前記プロセッサのうち1つまたは複数によって実行されたとき、前記システムに、
    物理ベースコンピュータグラフィックスレンダリングモジュールを使用して、前記1つまたは複数のサンプルデータセットを生成することを行わせるように動作可能である、請求項11から13のいずれか一項に記載のシステム。
JP2021507467A 2018-09-26 2018-11-20 サンプリングされた色情報に基づいて画像シーケンスを生成および伝送するシステムおよび方法 Active JP7231708B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862736991P 2018-09-26 2018-09-26
US62/736,991 2018-09-26
US16/191,776 2018-11-15
US16/191,776 US10846888B2 (en) 2018-09-26 2018-11-15 Systems and methods for generating and transmitting image sequences based on sampled color information
PCT/US2018/061942 WO2020068140A1 (en) 2018-09-26 2018-11-20 Systems and methods for generating and transmitting image sequences based on sampled color information

Publications (2)

Publication Number Publication Date
JP2022511256A JP2022511256A (ja) 2022-01-31
JP7231708B2 true JP7231708B2 (ja) 2023-03-01

Family

ID=69884541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021507467A Active JP7231708B2 (ja) 2018-09-26 2018-11-20 サンプリングされた色情報に基づいて画像シーケンスを生成および伝送するシステムおよび方法

Country Status (6)

Country Link
US (1) US10846888B2 (ja)
EP (1) EP3857470A4 (ja)
JP (1) JP7231708B2 (ja)
KR (1) KR20210049947A (ja)
CN (1) CN112789631A (ja)
WO (1) WO2020068140A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
AU2019357615B2 (en) 2018-10-11 2023-09-14 Tesla, Inc. Systems and methods for training machine models with augmented data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11538143B2 (en) * 2018-10-26 2022-12-27 Nec Corporation Fully convolutional transformer based generative adversarial networks
WO2020098360A1 (en) * 2018-11-15 2020-05-22 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method, system, and computer-readable medium for processing images using cross-stage skip connections
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US10885343B1 (en) * 2019-08-30 2021-01-05 Amazon Technologies, Inc. Repairing missing frames in recorded video with machine learning
CN110474815B (zh) * 2019-09-23 2021-08-13 北京达佳互联信息技术有限公司 带宽预测方法、装置、电子设备及存储介质
US11321737B2 (en) * 2019-12-13 2022-05-03 Ebay Inc. Techniques of prefetching operation cost based digital content and digital content with emphasis
CN111553202B (zh) * 2020-04-08 2023-05-16 浙江大华技术股份有限公司 进行活体检测的神经网络的训练方法、检测方法及装置
US11645761B2 (en) * 2020-08-14 2023-05-09 Meta Platforms Technologies, Llc Adaptive sampling of images
CN112565763A (zh) * 2020-11-30 2021-03-26 北京达佳互联信息技术有限公司 异常图像样本生成方法及装置、图像检测方法及装置
US11776273B1 (en) * 2020-11-30 2023-10-03 Amazon Technologies, Inc. Ensemble of machine learning models for automatic scene change detection
US20220188645A1 (en) * 2020-12-16 2022-06-16 Oracle International Corporation Using generative adversarial networks to construct realistic counterfactual explanations for machine learning models
US12067777B2 (en) * 2021-03-17 2024-08-20 Qualcomm Incorporated Efficient video processing via dynamic knowledge propagation
US20220319157A1 (en) * 2021-04-06 2022-10-06 Nec Laboratories America, Inc. Temporal augmentation for training video reasoning system
US11748988B1 (en) 2021-04-21 2023-09-05 Amazon Technologies, Inc. Shot contras five self-supervised learning of a plurality of machine learning models for video analysis applications
KR20220146900A (ko) * 2021-04-26 2022-11-02 삼성전자주식회사 휘도 데이터를 이용하여 심도 정보를 생성하는 처리 회로를 포함하는 전자 장치, 및 심도 정보 생성 방법
WO2024155967A1 (en) * 2023-01-21 2024-07-25 Meta Platforms Technologies, Llc Gaze-based super-resolution for extended reality devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003078760A (ja) 2001-08-30 2003-03-14 Fuji Xerox Co Ltd 画像処理装置及び画像処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721446B1 (en) 1999-04-26 2004-04-13 Adobe Systems Incorporated Identifying intrinsic pixel colors in a region of uncertain pixels
US9626798B2 (en) * 2011-12-05 2017-04-18 At&T Intellectual Property I, L.P. System and method to digitally replace objects in images or video
GB2519348B (en) 2013-10-18 2021-04-14 Vision Semantics Ltd Visual data mining
CA2953394C (en) * 2014-06-24 2021-11-09 Sportlogiq Inc. System and method for visual event description and event analysis
US10582211B2 (en) 2016-06-30 2020-03-03 Facebook, Inc. Neural network to optimize video stabilization parameters
US10242288B2 (en) 2016-11-08 2019-03-26 Sony Corporation Method and system for video processing
US10430685B2 (en) 2016-11-16 2019-10-01 Facebook, Inc. Deep multi-scale video prediction
US10284789B2 (en) * 2017-09-15 2019-05-07 Sony Corporation Dynamic generation of image of a scene based on removal of undesired object present in the scene

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003078760A (ja) 2001-08-30 2003-03-14 Fuji Xerox Co Ltd 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
JP2022511256A (ja) 2022-01-31
WO2020068140A1 (en) 2020-04-02
CN112789631A (zh) 2021-05-11
EP3857470A1 (en) 2021-08-04
US10846888B2 (en) 2020-11-24
KR20210049947A (ko) 2021-05-06
EP3857470A4 (en) 2021-11-24
US20200098139A1 (en) 2020-03-26

Similar Documents

Publication Publication Date Title
JP7231708B2 (ja) サンプリングされた色情報に基づいて画像シーケンスを生成および伝送するシステムおよび方法
US11037531B2 (en) Neural reconstruction of sequential frames
US20220292781A1 (en) Generative scene networks
CN116348919A (zh) 用于面部的摄像头重投影
WO2022182441A1 (en) Latency-resilient cloud rendering
US12026921B2 (en) Systems and method for low bandwidth video-chat compression
US20230245375A1 (en) Cloud Rendering of Texture Map
Debattista Application‐Specific Tone Mapping Via Genetic Programming
US20220139026A1 (en) Latency-Resilient Cloud Rendering
US11645761B2 (en) Adaptive sampling of images
US11481877B2 (en) Enhancing the resolution of a video stream
US20230343050A1 (en) Systems and Methods for Providing User Experiences on AR/VR Systems
US20240078745A1 (en) Generation of a virtual viewpoint image of a person from a single captured image
US20230196627A1 (en) Anti-aliasing by encoding primitive edge representations
US11818474B1 (en) Sparse RGB cameras for image capture
US20240062425A1 (en) Automatic Colorization of Grayscale Stereo Images
CN116210220A (zh) 经有效运动补偿的时空采样
Liu et al. A Simulation System for Scene Synthesis in Virtual Reality
KR20230069108A (ko) 팔꿈치 관절 포즈를 예측하기 위한 시스템 및 방법
EP3977349A1 (en) Methods and systems for encoding images

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221227

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: 20230117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230216

R150 Certificate of patent or registration of utility model

Ref document number: 7231708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150