JP7135067B2 - ゲーム-生成された動きベクトルのためのシステムおよび方法 - Google Patents

ゲーム-生成された動きベクトルのためのシステムおよび方法 Download PDF

Info

Publication number
JP7135067B2
JP7135067B2 JP2020507497A JP2020507497A JP7135067B2 JP 7135067 B2 JP7135067 B2 JP 7135067B2 JP 2020507497 A JP2020507497 A JP 2020507497A JP 2020507497 A JP2020507497 A JP 2020507497A JP 7135067 B2 JP7135067 B2 JP 7135067B2
Authority
JP
Japan
Prior art keywords
per
motion vectors
pixel
engine
video
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
JP2020507497A
Other languages
English (en)
Other versions
JP2020518209A5 (ja
JP2020518209A (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.)
Zenimax Media Inc
Original Assignee
Zenimax Media Inc
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 Zenimax Media Inc filed Critical Zenimax Media Inc
Publication of JP2020518209A publication Critical patent/JP2020518209A/ja
Publication of JP2020518209A5 publication Critical patent/JP2020518209A5/ja
Application granted granted Critical
Publication of JP7135067B2 publication Critical patent/JP7135067B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B77/00Vehicle locks characterised by special functions or purposes
    • E05B77/54Automatic securing or unlocking of bolts triggered by certain vehicle parameters, e.g. exceeding a speed threshold
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B79/00Mounting or connecting vehicle locks or parts thereof
    • E05B79/10Connections between movable lock parts
    • E05B79/20Connections between movable lock parts using flexible connections, e.g. Bowden cables
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B83/00Vehicle locks specially adapted for particular types of wing or vehicle
    • E05B83/16Locks for luggage compartments, car boot lids or car bonnets
    • E05B83/24Locks for luggage compartments, car boot lids or car bonnets for car bonnets
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B85/00Details of vehicle locks not provided for in groups E05B77/00 - E05B83/00
    • E05B85/20Bolts or detents
    • E05B85/24Bolts rotating about an axis
    • E05B85/243Bolts rotating about an axis with a bifurcated bolt
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B85/00Details of vehicle locks not provided for in groups E05B77/00 - E05B83/00
    • E05B85/20Bolts or detents
    • E05B85/24Bolts rotating about an axis
    • E05B85/26Cooperation between bolts and detents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B81/00Power-actuated vehicle locks
    • E05B81/12Power-actuated vehicle locks characterised by the function or purpose of the powered actuators
    • E05B81/16Power-actuated vehicle locks characterised by the function or purpose of the powered actuators operating on locking elements for locking or unlocking action
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16HGEARING
    • F16H59/00Control inputs to control units of change-speed-, or reversing-gearings for conveying rotary motion
    • F16H59/02Selector apparatus
    • F16H59/08Range selector apparatus
    • F16H59/10Range selector apparatus comprising levers
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16HGEARING
    • F16H63/00Control outputs from the control unit to change-speed- or reversing-gearings for conveying rotary motion or to other devices than the final output mechanism
    • F16H63/02Final output mechanisms therefor; Actuating means for the final output mechanisms
    • F16H63/30Constructional features of the final output mechanisms
    • F16H63/34Locking or disabling mechanisms
    • F16H63/36Interlocking devices
    • 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/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/186Methods 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 a colour or a chrominance component
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Description

本出願は、2017年4月21日に出願された米国仮出願第62/488,526号および2017年12月8日に出願された米国仮出願第62/596,325号の利益を主張する。
サーバ側のゲームがクライアント側のプレイヤによって制御されるリモートゲーミングアプリケーションは、既存のまたはカスタマイズされたエンコーダを使用し、リアルタイムで3Dグラフィックスエンジン(graphics engine)からのビデオ出力をエンコードすることを試みていた。しかし、ビデオゲームの会話形式特性、特に、ビデオ出力とプレイヤ入力との間のプレイヤフィードバックルーフ(player feedback loop)は、ゲームビデオストリーミングの待機時間(latency)が一般的なビデオストリーミングよりも極めて長い。既存のビデオコーディング方法は、エンコード時間を減らすために計算能力(computational power)を交換することができるが、その他の方法はない。エンコードプロセスをビデオレンダリングプロセスに統合するための新たな方法は、エンコード時間を著しく減らすことはできるが、計算能力を低め、エンコードされたビデオの品質を改善し、既存のハードウェアデバイスの相互運用性を維持するためにオリジナルビットストリームデータ形式(original bitstream data format)を維持するようになる。
既存のビデオコーディング標準は、ビデオエンコード時間、サイズ、または品質を向上させるために、イメージシーケンスに含まれる色相および時間情報だけを有していた。MPEG標準シリーズのようないくつかのコーディング標準は、ビデオに含まれるカラーデータを基盤としてオブジェクト移動(object movement)を近似化するために、計算集約的ブロック基盤の動き推定方法を利用している。このようなブロック基盤の動き推定方法は、エンコードされたビデオのサイズを大幅に減らすことはできるが、リアルタイムビデオストリーミング環境では相当な待機時間を発生させる原因になっている。
エンコードプロセスをビデオレンダリングプロセスに統合させることは、エンコード向上のために活用される追加のデータソースへのアクセス(access)を提供する。例えば、ゲームエンジンに含まれるようないくつかの3Dグラフィックスエンジンは、各ビデオフレームで各ピクセルの移動を完全に説明する動きベクトル(motion vector)を生成することができる。最終的にレンダリングされたフレームを提供し、適切にフォーマット化された(formatted)動きベクトルデータをエンコーダに注入することにより、ビデオエンコーダでは、最も計算が複雑でありながら時間消耗のある段階である動き推定が各インタ(inter)フレームごとにスキップ(skip)されるようになる。これに加え、グラフィックスエンジンによって供給される動きベクトルは、ブロック基盤の動き推定アルゴリズムによって近似化されたものよりも正確であるはずであり、これはエンコードされたビデオ品質の向上に繋がるであろう。
このような2つのドメイン(domain)、すなわち、ビデオエンコードおよびリアルタイムグラフィックスレンダリングは、分離されて独立的に運営されることが一般的であった。それぞれの長所を活用するために、グラフィックスエンジンとエンコーダを統合することにより、エンコードの待機時間に極めて左右されるストリーミングアプリケーションの支援を十分に短縮することが可能となった。
本発明のこれらの利点および他の利点は、技術の欠点を考慮しながら以下で明確に説明する。
例えば、米国特許公開出願第2015/0228106 A1号(「‘106公開」)では、ビデオイメージのデコードされたブロックのシーケンスを生成するためのビデオデータデコードに関する技術を開示している。この技術は、デコードされたブロックがコーデックエンジン(codec engine)によって生成されるとき、ビデオイメージのそれぞれのデコードされたブロックを幾何学的(geometric)表面の対応する多角形(polygon)に対する別途のテクスチャ(texture)として使用することができるようにする。‘106公開技術は、マッピングされるビデオイメージを生成するために、エンコードされたビデオデータをデコードするコーデックエンジンと、ビデオイメージの幾何学的表面へのテクスチャマッピングを実行することによって部分的にディスプレイピクチャ(display picture)をレンダリングする3Dグラフィックスエンジンとの統合を説明している。しかし、このような技術は、少なくともビデオコーデックエンジンへの注入のために、最終的にレンダリングされたフレームと適切にフォーマット化された動きベクトルデータの両方を提供するグラフィックスエンジンを開示するか使用しないため、本発明に比べて不足であり、したがって、ビデオコーデックエンジンは、リモートクライアントコーディングエンジンにエンコードされたビデオデータを送信する前に動き推定を実行する必要がない。これとは対照的に、本発明のコンピュータ技術に対する改善は、エンコード時間と計算能力の減少と、エンコードされたビデオ品質の向上を提供し、相互運用性を保つためにオリジナルビットストリームデータ形式を維持する。
米国特許公開出願第2011/0261885 A1号(「‘885公報」)では、動き推定およびマクロブロック(macro block)エンコードの統合による帯域幅減少に関するシステムおよび方法を開示している。このようなシステムにおいて、動き推定は、動きベクトルを含む動き推定関連情報を生成するために、フェッチ(fetched)ビデオデータを使用して実行されるようになる。このような動きベクトルは、バッファにキャッシュされた(cashed)対応するビデオデータを使用するが、これは現在のマクロブロックに対応する。言い換えれば、‘885公開技術は、少なくともビデオコーデックエンジンへの注入のために、最終的にレンダリングされたフレームと適切にフォーマット化された動きベクトルデータの両方を提供するグラフィックスエンジンを開示するか使用しないため、本発明に比べて不足であり、したがって、ビデオコーデックエンジンは、リモートクライアントコーディングエンジンにエンコードされたビデオデータを送信する前に、いかなる動き推定も実行する必要がない。したがって、‘885公報の技術は、エンコード時間と計算能力の減少、および本発明が提供するエンコードされたビデオ品質の向上を提供することができない。
上述したように、このような技術における最新技術に関する説明によって明らであるが、ゲーム環境でのビデオエンコードと関連する現在のコンピュータ技術に対する改善が、本技術分野において必要である。
したがって、本文書で開示する例示的な実施形態は、該当の技術分野の課題を解決するものであって、エンコードされたビデオデータを送信するために、グラフィックスエンジン、ビデオコーデックエンジン、およびリモートクライアントコーディングエンジンを実行するネットワークサーバアーキテクチャを使用することにより、グラフィックスエンジンがビデオコーデックエンジンへの注入のために最終的にレンダリングされたフレームと適切にフォーマット化された動きベクトルデータの両方を提供する、グラフィックス生成のためのシステムおよび方法を提供することを目的とする。
本発明は、ビデオコーデックエンジンがリモートクライアントコーディングエンジンにエンコードされたビデオデータを送信する前に、動き推定を実行する必要がない、グラフィックス生成のためのシステムおよび方法を提供することを他の目的とする。
本発明は、グラフィックスエンジンがピクセルあたり(per-pixel)の動きベクトルをブロックあたり(per-block)の動きベクトルに変換する、グラフィックス生成のためのシステムおよび方法を提供することを他の目的とする。
本発明は、ピクセルあたりの結果を取得するために、ピクセルあたりの動きベクトルをカメラ速度(camera velocity)に追加するように、ピクセルあたりの動きベクトルがコンピュータシェーダ(compute shader)によって生成され、ピクセルあたりの結果は動きベクトルバッファに格納される、グラフィックス生成のためのシステムおよび方法を提供することを他の目的とする。
本発明は、ブロックあたりの動きベクトルデータがクロマサブサンプリングされた(chroma subsampled)ビデオフレームと同時に、グラフィックスエンジンによってビデオエンコードエンジンにリアルタイムで注入される、グラフィックス生成のためのシステムおよび方法を提供することをさらに他の目的とする。
添付の図面は、後述する詳細な説明を参照することでより適切に理解することができるため、本発明の完全な理解およびこれによる多くの利点を容易に得ることができるであろう。
エンコードおよびクライアントへの送信のためにビデオをレンダリングする3Dグラフィックスエンジンを示したブロック図である。 3Dグラフィックスエンジンによって生成された動きベクトルの、図4の修正されたエンコードプロセスへの注入による待機時間の減少のために必要な段階を示したフローチャートである。 エンコードエンジンへの注入のために、グラフィックスエンジンで生成されたピクセルあたりの動きベクトルをマクロブロックあたりの動きベクトルに変換する様子を示した図である。 図1で使用されたビデオエンコードプロセスに求められる変更を示したフローチャートである。
図面に示す発明の好ましい実施形態を説明するにあたり、明確化のために、特定の用語に依存することがある。しかし、本発明は、このように選択された特定の用語に限定されることを意図しておらず、それぞれの特定の用語は、類似の目的を達成するために類似の方式で作動するすべての技術的等価物を含むものと理解されなければならない。本発明の好ましい実施形態は、例示の目的として記載されているが、本発明は、図面に具体的に示されていない他の形態によっても実現可能であることが理解されなければならない。
3Dグラフィックスエンジンがエンコードされてリアルタイムで送信されるビデオをレンダリングするアプリケーションにおいて、グラフィックスエンジンとエンコーダは、計算時間と計算オーバヘッドを減らすために緊密に結合されることがある。エンコードプロセスのうちでも最も複雑かつ計算集約的な段階である動き推定段階を避けるために、各ビデオフレームに対してグラフィックスエンジンによって既に生成されたピクセルあたりの動きベクトルデータは、ブロックあたりの動きベクトルデータに変換されてコーデックエンジンに注入されてよい。妥当な(plausible)動きブロー方法のための再構成フィルタを使用するグラフィックスエンジンにおいて、ピクセルあたりの動きベクトルは、各ビデオフレームに対して既に計算されている。ピクセルあたりの動きベクトルからブロックあたりの動きベクトルへの変換は、16×16ピクセルの各マクロブロックに対する平均ベクトル(mean vector)を見つけ出すことによって実行されてよい。変換は3Dグラフィックスエンジンで実行されるため、本来の動きベクトルデータの一部が3Dグラフィックスエンジンからコーディングエンジンに伝達されなければならない。また、これは、グラフィックスエンジンとコーディングエンジンがメモリを共有しない場合には、メモリ帯域幅の消費を減らすために役立つであろう。ブロックあたりの動きベクトルは、エンコードプロセスの残りを大きく修正することなく、動き推定段階を完全にスキップしてコーデックエンジンに注入される。
図1~4は、3Dグラフィックスエンジンがビデオフレームをレンダリングするプロセスでなされる動きベクトルデータを生成するビデオストリーミングアプリケーションにおけるビデオエンコードの改善のための例示的な技術を示している。
図1は、ビデオがリモートクライアント116への送信のためにレンダリングされてエンコードされるシステムの例を示している。いくつかのサーバアーキテクチャ120のメモリ106で実行される3Dグラフィックスエンジン100は、ビデオおよびレンダリングされたビデオフレームに対する追加の(supplemental)動きベクトル情報をクライアントコンピュータシステム116に送信するためにエンコードされたビットストリーム108を生成するコーデックエンジン(本文書ではコーデックまたはエンコーダとする)102に伝達する。サーババアーキテクチャ120は、グラフィックスエンジンとコーデックエンジンの両方の機能を支援することのできるハードウェアまたはソフトウェアのいずれかの組み合わせである。与えられた例において、グラフィックスエンジン100は、例えば、コンピュータ読み取り可能なメモリ106にロードされるビデオゲームソフトウェア104を実行するGPUとして実現されてよく、コーデックエンジン102は、ビデオエンコードソフトウェアを実行するCPUとして実現されてよい。コーディングエンジン102は、リモートコーディングエンジン(コーデック)110を含むいくつかのリモートクライアントコンピュータシステム116への送信のためのエンコードされたビデオデータ108を生成し、リモートコーディングエンジン(コーデック)110は、ディスプレイコントローラ112によって駆動されるディスプレイ114での再生のためのビットストリームをデコードする。リモートクライアントコンピュータシステム116は、エンコードされたビットストリーム108のデコードおよびディスプレイを可能にするハードウェア、デバイス、またはソフトウェアのいずれかの組み合わせである。
図2は、ビデオエンコードプロセスでレンダリングプロセスからの既存の追加データを再使用することによって迅速なエンコード時間を達成するために求められる段階を示している。段階202において、追加データは、先ず、サーバ120に位置するグラフィックスエンジン100の正常動作の特徴として生成されなければならない。GPUがさらに強力かつ普遍的になることにより、リアルタイムのピクセルあたりの動きベクトルの生成は、現在のビデオゲームエンジンの共通の特徴となった。3Dシーン(scene)から2Dビデオフレームのレンダリングの間、3Dグラフィックスエンジンは、以後のポストプロセスパス(pass)のための入力として使用されるように、カラー生成プロセス中に補助(ancillary)出力を生成してよい。補助出力は、蓄積、色相、または速度バッファに対して記録された情報、それぞれのピクセルの深さ、ピクセルカラー、およびピクセル移動に関する情報を一時格納するために割り当てられた3つのメモリ位置を含んでよい。
一般的に使用される、妥当な(plausible)動きブローのための再構成フィルタと呼ばれる動きブローの実現において、速度バッファからのピクセルあたりの速度は、先ず、より少ない数のタイル(tile)にダウンサンプリングされるようになるが、ここで、各タイルは、ピクセルグループでの最大速度と仮定する。この後、タイルは、蓄積バッファでピクセルあたりの深さを利用してマスキングされ(masked)、その結果が動きブローを生成するためにカラーバッファにおいてピクセルあたりのカラーに適用される。正確度(fidelity)、性能、またはこの両方を向上させる再構成フィルタ方法に対する多くの変形が存在するが、その概念は類似しており、速度バッファは、2つの隣接するフレーム間のピクセルあたりの動きを含む。「速度」、グラフィックスエンジン技術で使用される用語であって、「動きベクトル」はビデオエンコード技術で使用される用語であるが、この用語は機能的に等しく、ピクセルあたりの速度はピクセルあたりの動きベクトルと同じ意味をもつ。速度バッファは、ビデオエンコードプロセスで再使用されるピクセルあたりの動きベクトルの形態で追加データを含む。
段階204で、サーバ120に位置するグラフィックスエンジン100は、エンコードに使用されるマクロブロックサイズを基盤に、ピクセルあたりの動きベクトルをブロックあたり動きのベクトルに変換する。H.264コーデックは、デフォルト(default)で16×16ピクセルマクロブロックを使用し、さらに細分化するためのオプション(option)を有する。256個のピクセルあたりの動きベクトルは、ブロックあたりの動きベクトルとして機能する単一平均ベクトルを提供するためにともに平均化されてよい。このようなプロセスは、図3を参照しながらさらに詳しく説明する。
段階206で、マクロブロックあたりの動きベクトル情報は、動き推定段階を避け、サーバ120に位置するコーディングエンジン/エンコーダ102に注入される。エンコーダのソフトウェア実現において、動き推定段階は完全に非活性されてよく、これによりCPU計算時間が大幅に節約される。CPUにおける時間節約は、GPUで平均ベクトルを計算し(段階204で)、CPUにこれを送信するために要求される追加時間を相殺する以上とならなければならない。
段階208で、グラフィックスエンジン100によって供給されるブロックあたりの動きベクトルは、一般的な動き推定段階で計算されるものと交換可能であるため、エンコードは動き補償段階から始める(段階208)。残りのビデオエンコードプロセスは、図4を参照しながらさらに詳しく説明するが、動き推定技術を使用するエンコード標準によって実行される、一般的な動き補償、残余計算、およびエンコード段階と大きな違いがないことは明らかである。
図3は、グラフィックスエンジン100で実行される、ピクセルあたりの動きベクトルからマクロブロックあたりの動きベクトルへの変換をさらに詳しく示した図である。カラー生成フェーズ(phase)の間、サーバ120に位置する3Dグラフィックスエンジン100は、ピクセルあたりの動きベクトルを生成し、サーバ120に位置する速度バッファ300にデータを格納するであろう。速度バッファ300は、プレイヤ(player)のカメラ移動によって付与された動き情報を除外し、動的オブジェクトに対するデータのみを含んでよい。イメージ空間から各ピクセルに対する動きベクトル情報を取得するために、コンピュータシェーダ(compute shader)は、速度バッファ300の速度を速度バッファにまだ含まれていないすべての静的オブジェクトに対するカメラ速度と結合させ、動き速度バッファ304にピクセルあたりの結果を格納するであろう。カメラ速度は、フレーム間の回転および並進(translational)のカメラ移動の2D映写(projection)である。特定のグラフィックスエンジンは、全体スクリーン空間に対してこのようなピクセルあたりの動きベクトルを計算するために異なる方法を使用することもあるが、その概念は類似する。
H.264エンコーダは、16×16のデフォルトマクロブロックサイズを使用するが、4×4までのさらに小さなサイズに細分化されてよい。図3の例において、4×4のマクロブロック306は単純化された場合に使用されるが、その方法は、エンコーダで使用されるマクロブロックサイズと一致するように推論されなければならない。4×4のマクロブロックブロック306の場合、動きベクトルバッファ304に16個のピクセルあたりの動きベクトル308が格納されている。このようなピクセルあたりの動きベクトル308は、図4に示した動き補償での使用のためにエンコーダに注入されることのできる単一マクロブロックあたりの動きベクトル310に変換312されなければならない。ピクセルあたりのベクトル308セットの算術平均(arithmetic mean)は、低い計算複雑度と短い計算時間を有する変換312方法である。
追加される計算複雑度または能力の対価によって品質を向上させるために、算術平均変換312に対する選択的な修正が実行されてよい。例えば、マクロブロックあたりの動きベクトル310がマクロブロック306で大部分のピクセルを現わすことを保障するために、算術平均計算の前に、マクロブロックのベクトルフィールド(vector field)から不連続性を除去するように、ベクトル中間フィルタリング技術が適用されてよい。結果的なマクロブロックあたりの動きベクトルは、周知のオブジェクト移動データを基盤として本来の計算されたピクセルの完全(perfect)な動きベクトルから導き出されるため、このようなマクロブロックあたりの動きベクトルは、ピクセルカラーデータを基盤として移動(movement)のみを導き出すことのできる既存のブロック基盤の動き推定アルゴリズムによって計算されたものよりも正確な表現となるであろう。
図4は、図1のサーバ120のグラフィックスエンジン100で生成された動きベクトルを図1のサーバ120のコーディングエンジン102に注入することにより、計算的に複雑である動き推定プロセスをスキップするための方法を示している。後述するように、エンコードされたビデオデータ108の結果ビットストリームは、リモートクライアントコンピュータシステム116に送信される。図4に示す方法は、単一インタ(inter)フレーム、特に、ビデオコーデック標準のMPEGファミリ(family)によって定義されるようなPフレームのためのエンコードプロセスを示している。動き補償406は、イントラ(intra)フレーム(Iフレーム)生成では実行されないため、Iフレームは変更されない。クロマサブサンプリングされた(chroma subsampled)ビデオフレーム402およびブロックあたりの動きベクトルデータ404は、利用可能なグラフィックスエンジン100から即時に送信されるであろう。ゲーム-生成された(game-generated)動きベクトル404は、H.264/MPEG-4AVC標準に示されるように、一般的な動き推定426段階で実行される動きベクトル生成を避けるために使用される。動き推定426段階はスキップされるようになり、コーディングエンジンのソフトウェアの実現で非活性化されてよい。ブロック基盤の動き推定426段階のスキップは、エンコード時間の相当な減少をもたらすようになるが、これは、図3を参照しながら説明したように、速度バッファデータを適切な形式に変換するのにかかる時間を相殺する以上となるであろう。
適切なマクロブロックサイズに変換された動きベクトル404は、動き補償406に対して変更されることなく、即時に使用されてよい。動き補償406の結果は、入力されたクロマサブサンプリングされたビデオフレーム402と結合し、既存のハードウェアまたはソフトウェアビデオエンコーダ内で一般的に実行される残余変換およびスケーリング408、量子化410、およびスキャン412によって処理される残像430を形成する。
非ブロック化(deblocking)段階は、実現で選択されたデコード標準が求められると、実行されなければならない。非ブロック化設定420と非ブロック化されたイメージ428は、逆量子化414、逆変換およびスケーリング416に続き、非ブロック化418に対するコーディング標準のアルゴリズムを適用することによって計算される。スキャンされた係数(coefficient)412は、ビットストリーム108として、リモートクライアントコンピュータシステムのコーデック110でのデコードのために、リモートクライアントコンピューターシステム116に送信される前に、非ブロック化設定420と結合し、エントロピコーダ(entropy coder)422でエンコードされる。非ブロック化されたイメージ428は、次のフレームの動き補償406のための入力となる。ビットストリーム(エンコードされたビデオデータを含む)108は、H.264/MPEG-4AVCのような実現で使用されるエンコード標準によって定義されるものと同一の形式を維持する。このような例示は、H.264/MPEG-4AVC標準に固有し、一般的に動き推定426と動き補償406技術を使用する類似のコーディング標準のために使用されてよい。
例1:エンコード時間の減少を示すベンチマーキングテスト
一般的なH.264互換コーディングにおいて、動き推定段階は、最も計算的に複雑でありながら時間が消耗的な段階である。本文書で開示するように、ゲーム-生成された動きベクトルを再使用することは、エンコード時間の相当な減少をもたらすことができる。
テスト環境において、グラフィックスエンジンは、1秒あたり60フレームで1280×720の解像度で出力を生成した。エンコード時間は、単一スレッド(threaded)を実行する×264エンコーダからキャプチャされた(captured)。エンコーダが単一スレッドを実行することは、実際の使用よりも長いエンコード時間を生成するはずであるため、1つのコア(core)で測定値を正規化し、これらが互いに直接に比較可能となるであろう。エンコード時間は、先ず、エンコーダ内で修正されていない動き推定によって測定された後、活性化されたゲーム-生成された動き推定の特徴を使用して同一環境で再測定された。
低い動き領域(low motion area)がプレイヤの手、武器、および固定壁のような1人称プレイヤビュー(first-person player view)を含んで選択された。相対的に狭いスペース空間で少ない量のピクセル動きを生成するために、プレイヤの手と武器は、多少の「ボビング(bobbing)」アニメーションによって循環するようになる(cycle)。このようなテストの結果を下記の表1に示した。これは、本文書で説明した、ゲーム-生成された動き推定技術の有無による待機時間の結果を示している。ゲーム-生成された動き推定が非活性化された低い強度で、修正されていないエンコード時間は12msであった。ゲーム-生成された動き推定が活性化されたとき、エンコード時間は、9msのエンコード時間で約3msが減少した。類似の待機時間の減少が平均および高い動き強度のシナリオで現れたし、平均の動き強度シナリオでは17.6%の待機時間の減少を、高い待機時間シナリオでは15~30%の待機時間の減少を示した。このような結果は、ゲーム-生成された動き推定が活性化されるとき、待機時間の著しく優れた減少を示すものである。
Figure 0007135067000001
さらに、テスト環境は、ゲーム-生成されたピクセルあたりの動きベクトルをエンコーダのためのマクロブロックあたりの動きベクトルに変換するとき、追加の費用が発生することが明らかになっている。しかし、このような費用は、以前のセクションで説明したエンコード時間の減少よりは少ない。1280×720の解像度でビデオを生成するグラフィックスエンジンにより、ピクセルあたりからマクロブロックあたりの動きベクトルの変換には0.02msがかかった。測定されたエンコード時間の節約は、エンコードのためにゲーム-生成された動きベクトルを使用して追加された費用より3倍も大きい。
上述した説明および図面は、本発明の原理を例示するためのものに過ぎない。本発明は、好ましい実施形態によって制限されるように意図されてはならず、該当の技術分野において通常の知識を有する者にとって明白である、多様な方式で実現されるであろう。本発明の多数の応用は、該当の技術分野において通常の知識を有する者によって容易に実現されるであろう。したがって、開示された特定の例示または図に示されて説明された正確な構成と動作によって本発明を制限することは好ましくない。むしろ、すべての適切な修正および均等物が、本発明の範囲内に属するものと理解されなければならない。
〔付記1〕
段階を含むグラフィックスを生成するためのコンピュータで実現される方法であって、
段階は、
1つ以上のピクセルあたり(per-pixel)の動きベクトル(motion vector)を生成する段階、
グラフィックスエンジン(graphics engine)において、前記1つ以上のピクセルあたりの動きベクトルを1つ以上のブロックあたり(per-block)の動きベクトルに変換する段階、および
前記ブロックあたりの動きベクトルをビデオエンコードエンジンに注入する段階
を含み、
前記ビデオエンコードエンジンは、
リモートクライアントコーディングエンジンへの送信のために、前記1つ以上のブロックあたりの動きベクトルをエンコードされたビデオデータに変換する、方法。
〔付記2〕
前記1つ以上のピクセルあたりの動きベクトルは、
変換の前に、速度バッファ(velocity buffer)に格納される、
付記1に記載の方法。
〔付記3〕
前記1つ以上のピクセルあたりの動きベクトルの生成は、
ピクセルあたりの結果を取得するために、コンピュータシェーダ(compute shader)において、前記1つ以上のピクセルあたりの動きベクトルをカメラ速度(camera velocity)に結合する段階、および
前記ピクセルあたりの結果を動きベクトルバッファに格納する段階
を含む、付記1に記載の方法。
〔付記4〕
グラフィックスエンジンは、
ブロックあたりの動きベクトルデータを1つ以上のクロマサブサンプリングされた(chromasub sampled)ビデオフレームと同時に、前記ビデオエンコードエンジンにリアルタイムで注入する、
付記1に記載の方法。
〔付記5〕
前記エンコードされたビデオデータは、
リモートクライアントコンピュータシステムでの再生のためにデコードされる、
付記1に記載の方法。
〔付記6〕
前記ビデオエンコードエンジンは、
前記1つ以上のブロックあたりの動きベクトルをエンコードされたビデオデータに変換するために、動き補償(motion compensation)および残余変換(residual transformation)を実行する、
付記1に記載の方法。
〔付記7〕
前記エンコードされたビデオデータは、
1つ以上の逆量子化アルゴリズム(inverse quantization algorithm)、逆変換(inverse transform)およびスケーリング(scale)、および/または非ブロック化(deblocking)を適用することにより、前記リモートクライアントコーディングエンジンへの送信のために備える、
付記1に記載の方法。
〔付記8〕
前記1つ以上のピクセルあたりのベクトルは、
算術平均(arithmetic mean)を適用する変換方法を使用して1つ以上のブロックあたりの動きベクトルに変換される、
付記1に記載の方法。
〔付記9〕
1つ以上のグラィックスエンジンとビデオコーデックエンジンからなる、コンピュータで実現されるグラフィックス生成システムであって、
前記グラフィックスエンジンは、
1つ以上のピクセルあたりの動きベクトルを生成し、前記ピクセルあたりの動きベクトルを1つ以上のブロックあたりの動きベクトルに変換し、前記ブロックあたりの動きベクトルを前記ビデオコーデックエンジンに直接に注入し、
前記ビデオコーデックエンジンは、
前記ブロックあたりの動きベクトルをエンコードされたビデオデータに変換し、前記エンコードされたビデオデータをリモートクライアントコンピューターシステムで実行されるリモートクライアントコーディングエンジンに送信する、
システム。
〔付記10〕
前記1つ以上のピクセルあたりの動きベクトルは、
変換の前に、速度バッファに格納される、
付記9に記載のシステム。
〔付記11〕
前記1つ以上のピクセルあたりの動きベクトルは、
ピクセルあたりの結果を取得するために、コンピュータシェーダにおいて、前記1つ以上のピクセルあたりの動きベクトルをカメラ速度に追加し、前記ピクセルあたりの結果を動きベクトルバッファに格納することによって生成される、
付記9に記載のシステム。
〔付記12〕
前記グラフィックスエンジンは、
ブロックあたりの動きベクトルデータを1つ以上のクロマサブサンプリングされたビデオフレームと同時に、前記ビデオコーデックエンジンにリアルタイムで注入する、
付記8に記載のシステム。
〔付記13〕
前記ビデオコーデックエンジンは、
前記1つ以上のブロックあたりの動きベクトルをエンコードされたビデオデータに変換するために、動き補償および残余変換を実行する、
付記9に記載のシステム。
〔付記14〕
前記エンコードされたビデオデータは、
1つ以上の逆量子化アルゴリズム、逆変換およびスケーリング、および/または非ブロック化を適用することにより、前記リモートクライアントコーディングエンジンへの送信のために備える、
付記9に記載のシステム。
〔付記15〕
前記エンコードされたビデオデータは、
デコードされ、ディスプレイコントローラ(display controller)によって駆動されるディスプレイで再生されるように構成される、
付記9に記載のシステム。
〔付記16〕
前記グラフィックスエンジンは、
算術平均を適用する変換方法を使用し、前記1つ以上のピクセルあたりのベクトルを1つ以上のブロックあたりの動きベクトルに変換する、
付記9に記載のシステム。
〔付記17〕
段階を含むグラフィックスを生成するためのコンピュータで実現される方法であって、
段階は、
グラフィックスエンジンにおいて、1つ以上のピクセルあたりの動きベクトルを1つ以上のブロックあたりの動きベクトルに変換する段階(ブロックあたりの動きベクトルデータは、受信時にコーデックエンジンに送信される)、および
グラフィックスエンジンにおいて、1つ以上のクロマサブサンプリングされたビデオフレームを受信する段階(前記クロマサブサンプリングされたビデオフレームは、受信時に前記コーデックエンジンに送信される)を含み、
前記コーデックエンジンは、リモートクライアントコンピュータシステムへの送信のためにビデオデータをエンコードするために、前記ブロックあたりの動きベクトルデータと前記クロマサブサンプリングされたビデオフレームとを結合し、
動き推定計算は、前記ビデオデータのエンコードの間に非活性化される、
方法。
〔付記18〕
前記結合されたブロックあたりの動きベクトルデータとクロマサブサンプリングされたビデオフレームは、
残像(residual image)を形成する、
付記17に記載の方法。
〔付記19〕
前記残像は、
エンコードの前に、残余変換およびスケーリング、量子化、および/またはスキャン(scanning)によってさらに処理される、
付記18に記載の方法。
〔付記20〕
逆量子化、逆変換、およびスケーリングを計算する段階、および
前記残像を非ブロック化する段階
をさらに含む、付記18に記載の方法。

Claims (10)

  1. 段階を含むグラフィックスを生成するためのコンピュータで実現される方法であって、
    段階は、
    1つ以上のピクセルあたり(per-pixel)の動きベクトル(motion vector)を生成する段階、
    前記1つ以上のピクセルあたりの動きベクトルを1つ以上のブロックあたり(per-block)の動きベクトルに変換する段階、および
    前記ブロックあたりの動きベクトルをビデオエンコードエンジンに注入する段階
    を含み、
    前記ビデオエンコードエンジンは、
    前記1つ以上のブロックあたりの動きベクトルをエンコードされたビデオデータに変換し、
    前記1つ以上のピクセルあたりの動きベクトルの生成は、
    ピクセルあたりの結果を取得するために、コンピュータシェーダ(compute shader)において、動的オブジェクトに対する1つ以上のピクセルあたりの動きベクトルを、静的オブジェクトに対するカメラ速度(camera velocity)に結合する段階、および
    前記ピクセルあたりの結果を動きベクトルバッファに格納する段階
    を含む、方法。
  2. 前記1つ以上のピクセルあたりの動きベクトルは、
    変換の前に、速度バッファ(velocity buffer)に格納される、
    請求項1に記載の方法。
  3. グラフィックスエンジンは、
    ブロックあたりの動きベクトルデータを1つ以上のクロマサブサンプリングされた(chromasub sampled)ビデオフレームと同時に、前記ビデオエンコードエンジンにリアルタイムで注入する、
    請求項1に記載の方法。
  4. 前記エンコードされたビデオデータは、
    1つ以上の逆量子化アルゴリズム(inverse quantization algorithm)、逆変換(inverse transform)およびスケーリング(scale)、および/または非ブロック化(deblocking)を適用することにより、リモートクライアントコーディングエンジンへの送信のために備える、
    請求項1に記載の方法。
  5. 前記1つ以上のピクセルあたりのベクトルは、
    算術平均(arithmetic mean)を適用する変換方法を使用して1つ以上のブロックあたりの動きベクトルに変換される、
    請求項1に記載の方法。
  6. グラフィックスエンジンとビデオコーデックエンジンとを含むコンピュータで実現されるグラフィックス生成システムであって、
    前記グラフィックスエンジンは、
    1つ以上のピクセルあたりの動きベクトルを生成し、前記ピクセルあたりの動きベクトルを1つ以上のブロックあたりの動きベクトルに変換し、前記ブロックあたりの動きベクトルを前記ビデオコーデックエンジンに直接に注入し、
    前記ビデオコーデックエンジンは、
    前記ブロックあたりの動きベクトルをエンコードされたビデオデータに変換し、前記エンコードされたビデオデータをリモートクライアントコンピューターシステムに送信し、
    前記1つ以上のピクセルあたりの動きベクトルは、
    ピクセルあたりの結果を取得するために、コンピュータシェーダにおいて、動的オブジェクトに対する1つ以上のピクセルあたりの動きベクトルを、静的オブジェクトに対するカメラ速度に追加し、前記ピクセルあたりの結果を動きベクトルバッファに格納することによって生成される、
    システム。
  7. 前記1つ以上のピクセルあたりの動きベクトルは、
    変換の前に、速度バッファに格納される、
    請求項に記載のシステム。
  8. 前記グラフィックスエンジンは、
    ブロックあたりの動きベクトルデータを1つ以上のクロマサブサンプリングされたビデオフレームと同時に、前記ビデオコーデックエンジンにリアルタイムで注入する、
    請求項に記載のシステム。
  9. 前記ビデオコーデックエンジンは、
    前記1つ以上のブロックあたりの動きベクトルをエンコードされたビデオデータに変換するために、動き補償および残余変換を実行する、
    請求項に記載のシステム。
  10. 前記エンコードされたビデオデータは、
    デコードされ、ディスプレイコントローラ(display controller)によって駆動されるディスプレイで再生されるように構成される、
    請求項に記載のシステム。
JP2020507497A 2017-04-21 2018-04-20 ゲーム-生成された動きベクトルのためのシステムおよび方法 Active JP7135067B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762488526P 2017-04-21 2017-04-21
US62/488,526 2017-04-21
US201762596325P 2017-12-08 2017-12-08
US62/596,325 2017-12-08
PCT/US2018/028544 WO2018195405A1 (en) 2017-04-21 2018-04-20 Systems and methods for game-generated motion vectors

Publications (3)

Publication Number Publication Date
JP2020518209A JP2020518209A (ja) 2020-06-18
JP2020518209A5 JP2020518209A5 (ja) 2020-12-10
JP7135067B2 true JP7135067B2 (ja) 2022-09-12

Family

ID=63854345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020507497A Active JP7135067B2 (ja) 2017-04-21 2018-04-20 ゲーム-生成された動きベクトルのためのシステムおよび方法

Country Status (15)

Country Link
US (5) US10567788B2 (ja)
EP (1) EP3613015A4 (ja)
JP (1) JP7135067B2 (ja)
KR (4) KR102617595B1 (ja)
CN (1) CN110959169A (ja)
AU (2) AU2018254550B2 (ja)
BR (1) BR112019022007A2 (ja)
CA (2) CA3173525A1 (ja)
DE (1) DE112018002110T5 (ja)
GB (1) GB2576846A (ja)
MX (1) MX2021004095A (ja)
RU (2) RU2760974C2 (ja)
TW (3) TWI797550B (ja)
WO (1) WO2018195405A1 (ja)
ZA (2) ZA201907680B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830714B2 (en) 2014-06-27 2017-11-28 Samsung Electronics Co., Ltd. Graphics processing with advection to reconstruct missing sample data points
US11049269B2 (en) 2014-06-27 2021-06-29 Samsung Electronics Co., Ltd. Motion based adaptive rendering
AU2018254550B2 (en) 2017-04-21 2020-09-24 Zenimax Media Inc. Systems and methods for game-generated motion vectors
US11736822B1 (en) 2020-02-28 2023-08-22 Apple Inc. Controlling an image sensor based on GPU temporal processing values
US11833419B2 (en) * 2020-03-16 2023-12-05 Tencent America LLC Method and apparatus for cloud gaming
CN111901666B (zh) * 2020-07-01 2021-05-11 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备以及存储介质
JP2022041553A (ja) * 2020-09-01 2022-03-11 ヤマハ株式会社 通信制御方法
CN113794887A (zh) * 2021-08-17 2021-12-14 镕铭微电子(济南)有限公司 一种游戏引擎中视频编码的方法及相关设备
CN118339838A (zh) 2021-11-30 2024-07-12 三星电子株式会社 允许在服务器和电子装置之间流传输视频内容的方法以及用于流传输视频内容的服务器和电子装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008252651A (ja) 2007-03-30 2008-10-16 Namco Bandai Games Inc 動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4501980A (en) 1982-06-04 1985-02-26 Motornetics Corporation High torque robot motor
JPH06129865A (ja) 1992-10-20 1994-05-13 Sumitomo Electric Ind Ltd シングルモ−ドファイバ型デポラライザとその製造方法及び光ファイバジャイロ
US5778190A (en) * 1995-07-21 1998-07-07 Intel Corporation Encoding video signals using multi-phase motion estimation
US5926221A (en) 1995-08-18 1999-07-20 Texas Instruments Incorporated Method and apparatus for improved video coding using a center-biased orthogonal search technique and a zero block predictor module
GB9623573D0 (en) * 1996-11-13 1997-01-08 Philips Electronics Nv Image segmentation
US6687405B1 (en) * 1996-11-13 2004-02-03 Koninklijke Philips Electronics N.V. Image segmentation
US6529613B1 (en) 1996-11-27 2003-03-04 Princeton Video Image, Inc. Motion tracking using image-texture templates
EP1075147A1 (en) 1999-08-02 2001-02-07 Koninklijke Philips Electronics N.V. Motion estimation
US6850571B2 (en) 2001-04-23 2005-02-01 Webtv Networks, Inc. Systems and methods for MPEG subsample decoding
EP1483741A2 (en) * 2002-03-01 2004-12-08 t5 Labs Ltd Centralised interactive graphical application server
WO2004004359A1 (en) 2002-07-01 2004-01-08 E G Technology Inc. Efficient compression and transport of video over a network
US6903662B2 (en) 2002-09-19 2005-06-07 Ergodex Computer input device with individually positionable and programmable input members
US8054880B2 (en) 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
CN1578477B (zh) * 2003-07-16 2011-05-04 三星电子株式会社 用于色彩图像的视频编码/解码装置和方法
US20050094729A1 (en) * 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
US20050047504A1 (en) 2003-09-03 2005-03-03 Sung Chih-Ta Star Data stream encoding method and apparatus for digital video compression
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7408984B2 (en) 2003-09-17 2008-08-05 International Business Machines Corporation Method and system for multiple pass video coding
US20060230428A1 (en) 2005-04-11 2006-10-12 Rob Craig Multi-player video game system
JP4996603B2 (ja) * 2005-07-08 2012-08-08 タグ ネットワークス,インコーポレイテッド 事前符号化マクロブロックを使用するビデオゲームシステム
JP4178480B2 (ja) 2006-06-14 2008-11-12 ソニー株式会社 画像処理装置、画像処理方法、撮像装置および撮像方法
KR100919886B1 (ko) * 2006-12-06 2009-09-30 한국전자통신연구원 영상 복호기에서 움직임 벡터 특성을 이용한 움직임 보상스킵 제어 장치 및 그 방법
WO2008072093A2 (en) 2006-12-13 2008-06-19 Quickplay Media Inc. Mobile media platform
US8069258B1 (en) 2007-09-11 2011-11-29 Electronic Arts Inc. Local frame processing to apparently reduce network lag of multiplayer deterministic simulations
US8127233B2 (en) 2007-09-24 2012-02-28 Microsoft Corporation Remote user interface updates using difference and motion encoding
US20110032991A1 (en) 2008-01-09 2011-02-10 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
WO2009138878A2 (en) 2008-05-12 2009-11-19 Playcast Media Systems, Ltd. Centralized streaming game server
US8154553B2 (en) 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
US8208065B2 (en) 2008-07-30 2012-06-26 Cinnafilm, Inc. Method, apparatus, and computer software for digital video scan rate conversions with minimization of artifacts
US8678929B1 (en) 2008-08-01 2014-03-25 Electronics Arts Inc. Client-side prediction of a local game object to reduce apparent network lag of multiplayer simulations
US8854376B1 (en) 2009-07-30 2014-10-07 Lucasfilm Entertainment Company Ltd. Generating animation from actor performance
US8171154B2 (en) * 2009-09-29 2012-05-01 Net Power And Light, Inc. Method and system for low-latency transfer protocol
EA201691822A1 (ru) * 2009-10-20 2017-05-31 Шарп Кабусики Кайся Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, система кодирования/декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений
US9338523B2 (en) 2009-12-21 2016-05-10 Echostar Technologies L.L.C. Audio splitting with codec-enforced frame sizes
GB2480422B (en) * 2010-02-25 2014-07-09 Imagination Tech Ltd Object tracking using graphics engine derived vectors in a motion estimation system
US20110261885A1 (en) 2010-04-27 2011-10-27 De Rivaz Peter Francis Chevalley Method and system for bandwidth reduction through integration of motion estimation and macroblock encoding
US8427583B2 (en) * 2010-09-30 2013-04-23 Sharp Laboratories Of America, Inc. Automatic parameter control for spatial-temporal filter
KR20120088488A (ko) * 2011-01-31 2012-08-08 한국전자통신연구원 시간적 움직임 벡터 저장 방법 및 그 장치
JP5155462B2 (ja) 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
US8872895B2 (en) * 2011-09-30 2014-10-28 Deutsche Telekom Ag Real-time video coding using graphics rendering contexts
RU2487489C2 (ru) * 2011-10-18 2013-07-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ поиска векторов перемещений в динамических изображениях
US10027982B2 (en) * 2011-10-19 2018-07-17 Microsoft Technology Licensing, Llc Segmented-block coding
JP5977023B2 (ja) 2011-11-07 2016-08-24 株式会社スクウェア・エニックス・ホールディングス 描画システム、プログラム、及び記録媒体
CN104641644A (zh) 2012-05-14 2015-05-20 卢卡·罗萨托 基于沿时间的样本序列的混合的编码和解码
KR101664758B1 (ko) 2012-09-21 2016-10-10 노키아 테크놀로지스 오와이 비디오 코딩 방법 및 장치
KR102137266B1 (ko) 2012-09-28 2020-07-23 삼성전자주식회사 움직임 벡터와 변이 벡터를 예측하는 영상 처리 방법 및 장치
US9984504B2 (en) * 2012-10-01 2018-05-29 Nvidia Corporation System and method for improving video encoding using content information
EP2920962A4 (en) * 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
WO2014120369A1 (en) 2013-01-30 2014-08-07 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US9661351B2 (en) 2013-03-15 2017-05-23 Sony Interactive Entertainment America Llc Client side frame prediction for video streams with skipped frames
US9521425B2 (en) 2013-03-19 2016-12-13 Qualcomm Incorporated Disparity vector derivation in 3D video coding for skip and direct modes
WO2014193403A1 (en) 2013-05-31 2014-12-04 Empire Technology Development Llc Cache-influenced video games
US9313493B1 (en) * 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US20150071357A1 (en) 2013-09-12 2015-03-12 Qualcomm Incorporated Partial intra block copying for video coding
US9648332B2 (en) 2013-10-28 2017-05-09 Qualcomm Incorporated Adaptive inter-color component residual prediction
KR101586125B1 (ko) * 2013-12-17 2016-02-02 세종대학교산학협력단 영상의 복호화/부호화 방법 및 장치
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US20150228106A1 (en) 2014-02-13 2015-08-13 Vixs Systems Inc. Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
US9830714B2 (en) * 2014-06-27 2017-11-28 Samsung Electronics Co., Ltd. Graphics processing with advection to reconstruct missing sample data points
US9762919B2 (en) 2014-08-28 2017-09-12 Apple Inc. Chroma cache architecture in block processing pipelines
US9830888B2 (en) * 2014-11-10 2017-11-28 Dell Products, Lp Gaze driven display front of screen performance
US10237559B2 (en) * 2014-11-20 2019-03-19 Getgo, Inc. Layer-based video decoding
US10063866B2 (en) 2015-01-07 2018-08-28 Texas Instruments Incorporated Multi-pass video encoding
WO2016119046A1 (en) 2015-01-29 2016-08-04 Ecole De Technologie Superieure Methods and systems for determining motion vectors in a motion estimation process of a video encoder
JP2018521522A (ja) 2015-04-21 2018-08-02 ヴィド スケール インコーポレイテッド 芸術的意図をベースとするビデオ符号化
JP6910130B2 (ja) 2015-11-06 2021-07-28 三星電子株式会社Samsung Electronics Co.,Ltd. 3dレンダリング方法及び3dレンダリング装置
US10163183B2 (en) 2016-01-13 2018-12-25 Rockwell Collins, Inc. Rendering performance using dynamically controlled samples
US9705526B1 (en) 2016-03-17 2017-07-11 Intel Corporation Entropy encoding and decoding of media applications
US10109100B2 (en) 2016-03-25 2018-10-23 Outward, Inc. Adaptive sampling of pixels
US20180054613A1 (en) * 2016-08-22 2018-02-22 Mediatek Inc. Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus
US10402932B2 (en) * 2017-04-17 2019-09-03 Intel Corporation Power-based and target-based graphics quality adjustment
AU2018254550B2 (en) 2017-04-21 2020-09-24 Zenimax Media Inc. Systems and methods for game-generated motion vectors

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008252651A (ja) 2007-03-30 2008-10-16 Namco Bandai Games Inc 動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Liang Cheng et al.,REAL-TIME 3D GRAPHICS STREAMING USING MPEG-4,2004年07月18日,URL: https://www.researchgate.net/publication/228779148_Real-time_3D_graphics_streaming_using_MPEG-4

Also Published As

Publication number Publication date
DE112018002110T5 (de) 2020-01-09
AU2018254550B2 (en) 2020-09-24
US10567788B2 (en) 2020-02-18
KR20240001278A (ko) 2024-01-03
AU2020267252A1 (en) 2020-12-10
RU2760974C2 (ru) 2021-12-02
US20190230375A1 (en) 2019-07-25
US20200141162A1 (en) 2020-05-07
US12003756B2 (en) 2024-06-04
TW201844002A (zh) 2018-12-16
BR112019022007A2 (pt) 2020-05-12
TW202131688A (zh) 2021-08-16
EP3613015A1 (en) 2020-02-26
KR20220123141A (ko) 2022-09-05
US20180310016A1 (en) 2018-10-25
KR102617595B1 (ko) 2023-12-22
WO2018195405A1 (en) 2018-10-25
EP3613015A4 (en) 2021-02-24
TWI691199B (zh) 2020-04-11
TW202025757A (zh) 2020-07-01
ZA202007051B (en) 2022-04-28
GB201916979D0 (en) 2020-01-08
US11503326B2 (en) 2022-11-15
RU2020134091A3 (ja) 2021-05-18
CA3173525A1 (en) 2018-10-25
TWI721816B (zh) 2021-03-11
US10701388B2 (en) 2020-06-30
AU2018254550A1 (en) 2019-12-12
JP2020518209A (ja) 2020-06-18
RU2020134091A (ru) 2020-11-17
CN110959169A (zh) 2020-04-03
US20230089232A1 (en) 2023-03-23
AU2020267252B2 (en) 2022-01-27
ZA201907680B (en) 2021-04-28
GB2576846A (en) 2020-03-04
KR20200019854A (ko) 2020-02-25
RU2735241C1 (ru) 2020-10-29
US20200404317A1 (en) 2020-12-24
TWI797550B (zh) 2023-04-01
CA3059740A1 (en) 2018-10-25
KR20210148381A (ko) 2021-12-07
US11381835B2 (en) 2022-07-05
MX2021004095A (es) 2021-06-08

Similar Documents

Publication Publication Date Title
JP7135067B2 (ja) ゲーム-生成された動きベクトルのためのシステムおよび方法
KR102432755B1 (ko) 비디오 인코더에 직접 렌더링하는 게임 엔진 애플리케이션
US10013746B2 (en) High dynamic range video tone mapping
JP4554600B2 (ja) グラフィックス処理ユニットを使用してビデオ復号化を加速すること
US10419760B2 (en) Picture quality oriented rate control for low-latency streaming applications
JP2020518209A5 (ja)
EP3977742A1 (en) Parallel bi-directional intra-coding of sub-partitions
TWI559748B (zh) 用於視訊編解碼器的延伸預測模式及效能之方法及系統
US10523958B1 (en) Parallel compression of image data in a compression device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201026

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201026

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210513

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220310

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220831

R150 Certificate of patent or registration of utility model

Ref document number: 7135067

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150