JP7077396B2 - ビデオエンコードの延期されたポストプロセスのためのシステムおよび方法 - Google Patents

ビデオエンコードの延期されたポストプロセスのためのシステムおよび方法 Download PDF

Info

Publication number
JP7077396B2
JP7077396B2 JP2020507500A JP2020507500A JP7077396B2 JP 7077396 B2 JP7077396 B2 JP 7077396B2 JP 2020507500 A JP2020507500 A JP 2020507500A JP 2020507500 A JP2020507500 A JP 2020507500A JP 7077396 B2 JP7077396 B2 JP 7077396B2
Authority
JP
Japan
Prior art keywords
post
client
computer
list
server
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
JP2020507500A
Other languages
English (en)
Other versions
JP2020520203A5 (ja
JP2020520203A (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 JP2020520203A publication Critical patent/JP2020520203A/ja
Publication of JP2020520203A5 publication Critical patent/JP2020520203A5/ja
Application granted granted Critical
Publication of JP7077396B2 publication Critical patent/JP7077396B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

本出願は、2017年4月21日に出願された米国仮出願第62/488,526号および2018年1月17日に出願された米国仮出願第62/618,498号の利益を主張する。
サーバ側のゲームがクライアント側のプレイヤによって制御されるリモートゲーミングアプリケーションは、既存のまたはカスタマイズされたエンコーダを使用し、リアルタイムで3Dグラフィックスエンジン(graphics engine)からのビデオ出力をエンコードすることを試みていた。しかし、ビデオゲームの会話形式特性、特に、ビデオ出力とプレイヤ入力との間のプレイヤフィードバックループ(player feedback loop)は、ゲームビデオストリーミングの待機時間(latency)が一般的なビデオストリーミングよりも極めて長い。既存のビデオコーディング方法は、エンコード時間を減らすために計算能力(computational power)を交換することができるが、その他の方法はない。エンコードプロセスをビデオレンダリングプロセスに統合するための新たな方法は、エンコード時間を著しく減らすことはできるが、計算能力を低め、エンコードされたビデオの品質を改善し、既存のハードウェアデバイスの相互運用性を維持するためにオリジナルビットストリームデータ形式(original bitstream data format)を維持するようになる。
一般的なビデオレンダリングパイプライン(pipeline)は、ビデオエンコードパイプラインから分離した独立的なものであり、2つのドメイン(domain)間でプロセスと専門知識(expertise)の交差は殆どない。結果的に、ビデオレンダリングパイプラインに適用された視覚効果(visual effect)およびポストプロセス(post-process)のうちの一部は、ビデオエンコードプロセスに逆効果をもたらし、ビデオアーティファクト(artifact)、エンコードされたビデオサイズの増加、エンコード時間の延長に繋がるようになる。しかし、このような視覚効果は、結果的なデコードされたビデオとしては依然として好ましい。
ビデオレンダリングおよびビデオエンコードパイプラインを統合することにより、ポストプロセス効果がエンコードプロセスを改善するために延期されることがある。例えば、シミュレーションされたフィルム型グレーン(simulated filmic grain)は、一般的なエンコーダがビデオ品質または圧縮率に対して相当な費用をかけることなく、処理が困難であり無作為に発生するアニメーショングレーン(animated grain)を創出する。いくつかのビデオエンコード方法は、エンコードの前にこのような追加の視覚ノイズの除去を試みたが、このような方法はオフライン専用であり、相当の計算費用がかかる。レンダリングパイプラインでこのような特定のポストプロセスを非活性化することにより、ビデオの自動エンコードが容易となる。この後、ビデオがデコードされた後にポストプロセスが適用される。フィルム型グレーンの場合、デコードされたビデオにグレーンを合成することは計算上求められず、デコーダによってリアルタイムで実行することができ、他のエンコードアーティファクトを偽装することによって主観的なビデオ品質を改善することができる。
国際特許出願WO2016172314 A1(「314出願」)は、芸術的意図を基盤としたコンテンツコーディングに関するシステムおよび方法を開示している。コーディングユーザインタフェースは、ユーザが芸術的セットを指定し、忠実度(fidelity)向上、QP調節値、および/またはポストプロセッシングのような芸術的セットと関連するピクセルおよび/またはブロックの処理を構成するように許容する。ビデオ出力に追加されることのできる芸術的意図の例は、エンコーダがエンコードの前にオリジナル信号からフィルムグレーンを除去し、フィルムグレーンSEIを使用してフィルムグレーンを再生成し、ディスプレイされる前にビデオ信号にこれを追加する方法をデコーダに伝達するときを含む。少なくとも「314出願」には、エンコードの前にレンダリングパイプラインで特定のポストプロセスを非活性化した後、ビデオがデコードされた後にこのようなポストプロセスを適用することは開示されていないため、本発明は「314出願」とは区分される。結果的に、本発明は、ビデオ品質または圧縮率に対して相当な費用をかけずにビデオデータの改善されたエンコードとデコードを提供するため、このようなコンピュータ技術に対する改善であると言える。さらに、本発明は、結果的に、帯域幅、ビットレート、エンコード時間を改善し、改善されたビデオ品質を有するリアルタイムビデオストリーミングアプリケーションに使用することができるため、改善であると言える。
米国特許第9,609,330号(「‘330特許」)は、モードおよびレファレンス類型データのコンテンツ適応エントロピコーディングを開示しているが、これは、エンコーダの事前-分析器(pre-analyzer)サブシステムがコンテンツを分析してビデオコーディング効率および速度性能を改善するのに有用な多様な類型のパラメータを計算することを意味する。このようなパラメータは、水平および垂直グラディエント(gradient)情報(R、C)、分散(variance)、ピクチャ(picture)あたりの空間複雑度(spatial complexity)、ピクチャあたりの時間複雑度(temporal complexity)、シーン(scene)変化検出、動作範囲推定、ゲイン(gain)検出、予想距離推定、オブジェクト数推定、領域境界検出、空間複雑度マップ計算、フォーカス(focus)推定、およびフィルムグレーン推定を含む。言い換えれば、事前-分析器サブシステムによって生成されたパラメータは、エンコーダによって消費されるか量子化されてデコーダに伝達されるようになる。少なくとも‘330に開示された技術は、エンコードの前にレンダリングパイプラインで特定のポストプロセスを非活性化した後、ビデオがデコードされた後にこのようなポストプロセスを適用しないため、本発明はこの技術とは区別される。したがって、本発明は、ビデオ品質または圧縮率に対して相当な費用をかけなくても、ビデオデータの改善されたエンコードおよびデコードを提供するため、さらに改善されたビデオ品質を有するリアルタイムビデオストリーミングアプリケーションに使用することができるため、‘330特許のコンピュータ技術に対する改善であると言える。
米国特許第9,762,911号(「’911特許」)は、モーションベクトル(motion vector)のコンテンツ適応予測およびエントロピコーディングと関連する技術のためのシステムおよび方法を開示している。開示された技術は、第1ビデオデータと第2ビデオデータがエントロピエンコーダモジュールでのエントロピコーディングのために受信されるように許容する。第1ビデオデータと第2ビデオデータは、相異するデータ類型(例えば、本文書でさらに説明するように、ヘッダ(header)データ、モーフィング(morphing)パラメータ、合成(synthesizing)パラメータ、またはグローバルマップデータまたはモーションベクトルまたはイントラ予測パーティションデータなど)であってよい。第1エントロピエンコード技術は、例えば、第1ビデオデータの圧縮されたビートの数、第1ビデオデータと関連する予め決定されたインジケータ(indicator)やフラッグ、予め決定された閾値、または経験的に(heuristically)決定された閾値などのような第1ビデオデータと関連するパラメータを基盤として第1ビデオデータのために決定されてよい。いくつかの例において、第1エントロピエンコード技術は、適応型(adaptive)シンボルラン(symbol-run)可変長コーディング技術または適応型プロキシ(proxy)可変長コーディング技術のうちの1つが選択されてよい。第1ビデオデータは、第1エントロピエンコード技術によってエントロピエンコードされてよく、第2ビデオデータは、第1エントロピエンコード技術によってエントロピエンコードされてよい。言い換えれば、少なくとも‘911特許に記載された技術は、エンコードの前にレンダリングパイプラインでポストプロセスを選択的に非活性化した後、ビデオがデコードされた後にこのようなポストプロセスを適用することを含んでいないため、本発明とは区分される。言い換えれば、本発明は、ビデオ品質や圧縮率に対して相当な費用をかけなくても、ビデオデータの改善されたエンコードおよびデコードを提供するため、‘911特許のコンピュータ技術に対する改善であると言える。さらに、本発明は、結果的に、ビットレートおよびエンコード時間を改善し、改善されたビデオ品質を有するリアルタイムビデオストリーミングアプリケーションに使用することができるため、改善であると言える。
上述の説明によって明らかであるが、ゲーム環境でのビデオエンコードと関連する現在のコンピュータ技術に対する改善が、該当の技術分野において必要である。
したがって、本文書に開示された例示的な実施形態の目的は、該当の技術分野の課題を解決し、技術を用いることによって待機時間とエンコード時間を減少させるためのシステムおよび方法を提供することにあり、その技術において、サーバは、クライアントハードウェア(disadvantages)性能(capability)を測定するように、クライアントアプリケーション(client application)に命令語(instruction)を送信し、クライアントハードウェアに対してどれほど多くのポストプロセス延期候補が延期されるようになるかを評価するために、1つ以上の予め決定されたポストプロセス延期候補の既知荷重(known load)を合算するように、クライアントアプリケーションに命令語を送信する。クライアントアプリケーションにおいてポストプロセス延期リストがコンパイルされ、逆順に構築される。この後、サーバは、ポストプロセス延期リストを受信し、第1ビデオフレームのポストプロセッシングフェーズ(phase)の間、延期されたポストプロセスのリストをスキップし、イメージをレンダリングするように、クライアントアプリケーションに命令語を送信する。
本発明の他の目的は、クライアントハードウェアの性能を再測定するか否かを判断するように、コールバック(callback)を実行するか、1つ以上のオペレーティングシステムイベント(operating system event)をポーリングするクライアントアプリケーションを有することにより、待機時間およびエンコード時間を減少させるためのシステムおよび方法を提供することにある。
本発明のまた他の目的は、利用可能な命令語セット、メモリ、CPUおよび/またはGPU特性を検出することにより、クライアントハードウェアの性能を測定することにより、待機時間およびエンコード時間を減少させるためのシステムおよび方法を提供することにある。
本発明のさらに他の目的は、フレームレート(frame rate)および/またはリソース使用量(resource usage)を測定することにより、クライアントハードウェアに対してどれほど多くのポストプロセス延期候補が延期されるようになるかを評価することにより、待機時間およびエンコード時間を減少させるためのシステムおよび方法を提供することにある。
添付の図面は、後述する詳細な説明を参照することでより適切に理解することができるため、本発明の完全な理解およびこれによる多くの利点を容易に得ることができるであろう。
本発明の一実施形態における、遠隔クライアントに示すためのビデオをレンダリングする3Dグラフィックスエンジンの例を示したブロック図である。 本発明の一実施形態における、ピクセルあたりの(per-pixel)ポストプロセッシングを延期させることにより、エンコード時間または主観的なビデオ品質を改善するために求められる段階の例を説明するためのフローチャートである。 本発明の一実施形態における、ビデオレンダリング、エンコード、およびデコードフェーズ間の延期されたピクセルあたりの品質の最小実現の例を示した図である。 本発明の実施形態における、延期されたポストプロセスのリストを同期化するためのサーバ-クライアント間の通信例を説明するためのフローチャートである。
図面に示す発明の好ましい実施形態を記述するにあたり、明確化のために、特定の用語に依存することがある。しかし、本発明は、このように選択された特定の用語に限定されることを意図としておらず、それぞれの特定の用語は、類似の目的を達成するために類似の方式で作動するすべての技術的等価物を含むものと理解されなければならない。本発明の好ましい実施形態は、例示の目的として記述されているが、本発明は、図面に具体的に示されていない他の形態によっても実現可能であることが理解されなければならない。
ポストプロセッシングパイプラインは、アンチエイリアス(anti-aliasing)、モーションブロー(motionblur)、深度(depth of field)、カラーグレーディング(color grading)、ブルーム(bloom)、フィルムグレーン、色収差(chromatic aberration)、ビネッティング(vignetting)、およびトーンマッピング(tone mapping)を含む多くの複雑なプロセスを実行してよい。このような効果のうちの一部は、エンコードプロセスに極めて有害であり、未処理のフレームと比べると、エンコード時間を増加させて圧縮率を減らす。フレームがデコードされるまで特定のポストプロセスの適用を待つことは、主観的なビデオ品質を向上させ、追加の有益なトレードオフ(trade off)などの提供に繋がる。
クライアントアプリケーションを開発(development)するとき、エンコード時間、帯域幅、および主観的な品質の均衡は、ポストプロセスが延期に適した候補であるかを判断するように、レンダリングパイプラインで各ポストプロセスのために評価されなければならない。延期候補のリストは、クライアントで延期されるようになるポストプロセスを決定するように、ランタイム(runtime)内にクライアントによって使用されるであろう。
各ポストプロセスは、その効果がエンコードプロセスに及ぼす程度を測定するようにテストされなければならない。先ず、一連のレファレンスフレーム(reference frame)は、変更されない(unaltered)レンダリングおよびエンコードパイプラインを経て供給されなければならず、エンコード時間とエンコードされたフレームサイズが測定されなければならない。ポストプロセスは、レンダリングパイプラインで1度に1つずつ解除されなければならず、エンコード時間とエンコードされたフレームサイズは、制御結果と比較されなければならない。このような測定は、ポストプロセスの延期に適した候補であるかを知らせるために役立つであろう。増加したエンコードされたフレームサイズによって測定されるイメージエントロピを増加させる殆どすべてのポストプロセス効果は、延期に適した候補になるであろう。例えば、シミュレーションされたフィルム型グレーン(simulated filmic grain)ポストプロセスは、イメージにランダムノイズ(random noise)を追加して圧縮率を低める。特定の状況において、色収差およびブルームは、イメージエントロピを増加させ、その結果として圧縮率を低めるようになる。エントロピまたはイメージデータを減少させる殆どすべてのポストプロセス効果は延期されなければならないが、これは、エントロピの減少がエンコードオーバヘッドを減少させることになるためである。
イメージエントロピを変更しないポストプロセスは、主観的なビデオ品質の改善またはサーバ負荷の減少のような二次的な目標を達成するために、延期候補として選択されてよい。例えば、カラーグレーディングは、エンコード時間または帯域幅の使用に影響を及ぼさないこともあるが、クライアントに延期されるときには、サーバ側の計算負荷で注目するだけの減少をもたらすようになる。これと同様に、アンチエイリアスは、延期されるときに主観的なビデオ品質を改善し、サーバ側の負荷を大きく減少させることができる。追加のテストは、これがエントロピ-中立的な(entropy-neutral)ポストプロセスを延期させるのに有利であるかを判断するように実行されなければならない。例えば、レファレンスフレームを使用する類似のテスト手順は、エントロピ-中立的なポストプロセスを延期させる前後のサーバ負荷を比較するために使用されてよい。
クライアントアプリケーションは、各延期候補のためにポストプロセッシング計算を実行しなければならない。いくつかのコード(code)のリファクタリング(refactoring)が、このような機能をクライアントアプリケーションに移動させるために必要となる場合がある。フィルム型グレーン、色収差、またはビネティングのようなレンダリングパイプラインの末端でのポストプロセスは、一般的に、アンチエイリアスまたは深度のようなレンダリングパイプラインで初期に発生するものよりも、クライアントアプリケーションに移動する方が容易である。ポストプロセスを延期させることが、これが色収差、ブルーム、またはビネティングのようなトーンマッピング前に適用されるこのようなポストプロセスのような線形空間に一般的に適用されるとき、これが非線形空間に適用されることで引き起こるいくつかのケースが考えられる。プロセスはガンマ空間に直接に適用されてよく、数学的に正確でない場合もあるが、その差はビューア(viewer)では認識することができず、全体の主観的な品質が改善されるようになる。そうでなければ、いくつかのクライアント側の計算周期(compute cycle)の費用とイメージ品質の損失により、クライアントアプリケーションがイメージを線形空間に再変換し、ポストプロセスを適用した後、ガンマ空間に再変換することも可能ではある。しかし、イメージは、エンコード中に量子化されて圧縮されるはずであるため、線形空間への再変換は、一部の品質を低下させることになるであろう。このような主観的な品質決定は、クライアントアプリケーションの開発(development)中に行われなければならない。
クライアントアプリケーションが実行することのできるすべてのポストプロセスは、延期候補リストの基礎を形成する。延期候補のリストは、いずれかの従属性を維持するために、レンダリングパイプラインに現れる手順と等しくなければならない。さらに、リストにおいて、各延期候補は、メモリ最小値またはGPU要求事項のようなハードウェアの特徴要求事項と対をなさなければならない。
図1は、ビデオレンダリング中にピクセル品質(pixel-quality)ポストプロセスが延期されたシステムの例を示した図である。このようなシステムの例は、他の類型のビデオシステムと比較するとき、ピクセルあたりの(per-pixel)品質プロセスを延期させることにより、提供される主観的な品質改善と減少されたエンコード時間から最大の利点を得ることのできるリアルタイム遠隔ゲームストリーミングアプリケーションを示す。このようなシステムにおいて、サーバ100は、ビデオ出力をレンダリングするビデオゲームソフトウェア102と、グラフィックスエンジン104をホスティングする。ビデオは、コーデック(codec)106でエンコードされ、エンコードされたビデオデータ108は遠隔クライアントに送信される。サーバアキテクチャ100は、グラフィックスエンジン104とコーデック106の両者の機能をすべて支援することのできるハードウェアまたはソフトウェアのいずれかの組み合わせである。図に示す例において、グラフィックスエンジン104は、例えば、いくつかのコンピュータ読み取り可能なメモリ112にロードされたビデオゲームソフトウェア102を実行するGPU110として実現可能であり、コーデック106(エンコーダともいう)は、ビデオエンコードソフトウェアを実行するCPU114として実現可能である。
遠隔クライアントコンピュータシステム116は、送信されたエンコードされたビデオデータ108をデコードするようにクライアント側のコーデック118を実行させ、延期されたピクセル品質ポストプロセスを適用するようにクライアントアプリケーション120を実行させてよい。また、クライアントコンピュータシステム116は、ディスプレイハードウェア(display hardware)124を実行させるためのディスプレイコントローラ(display controller)122を含む。クライアント側の入力周辺装置126からの入力は、クライアントアプリケーション120により、サーバ100上で実行されるゲームソフトウェア102に再送信されるコントロールデータ(control data)128に変換されるであろう。延期されたピクセル品質ポストプロセッシングの特定の実現に基づき、正確なポストプロセスが与えられたビデオフレームのために適用されるように保障するために、いくつかの追加のコントロールデータ128がサーバ側のソフトウェア102からクライアントアプリケーション120に動く必要がある。
図2は、ビデオをレンダリング、エンコード、およびデコードするシステにおいて、ポストプロセッシングを延期させるために求められる段階を示している。段階200で、レンダリングパイプラインがサーバ100で通常どおりに(as usual)始まる。ポストプロセッシングフェーズの前に、レンダリングプロセスに対する変化は必要ない。
段階202で、サーバ100のグラフィックスエンジン104でのビデオレンダリングポストプロセッシングフェーズにおいて、いずれかの延期されるポストプロセスがスキップ(skip)されなければならない。クライアントコンピュータシステム116がすべての延期されたポストプロセスを適用するために求められる計算能力を有すれば、いずれかの数のポストプロセスがスキップされるようになる。図4は、サーバ100によってポストプロセスが延期されるかを判断する方法をさらに詳細に説明する。いずれかの延期されたポストプロセスをスキップした後、レンダリングパイプラインは、フレームが完全にレンダリングされるまで継続しなければならない。
段階204で、結果フレームは、コーデック106でエンコードされる。延期されたポストプロセスの選択に基づき、エンコード時間はより速く、エンコードされたデータはさらに少ない帯域幅を必要とするようになる。例えば、フィルム型グレーンポストプロセスが延期されると、コーデック106は、導入されるノイズなく、フレームをエンコードするのにさらに容易な時間を有するであろう。
段階206で、エンコードされたビデオデータ108は、必要によっては、格納されるか、遠隔クライアントコンピュータシステム116に送信される。リアルタイムビデオゲームストリーミングアプリケーションにおいて、図1に示す例のように、ビデオデータ108は即時に送信されるであろう。他の実施形態に係るシステムにおいて、エンコードされたビデオデータ108は、注文型ストリーミング(demand streaming)のためにサーバ100に格納されるか、物理的メディアに格納されてよい。
段階208で、エンコードされたビデオは、遠隔クライアントコンピュータシステム116のコーデック118でデコードされる。デコードプロセスに変更される必要はない。
段階210で、ソフトウェアアプリケーションは、レンダリングパイプラインに現れるときと同じ順序で、延期されたいずれかのポストプロセスを適用するであろう。また、クライアントアプリケーション120として、図1に示すようなソフトウェアは、延期されたポストプロセスがフレームごとに変更されると、サーバ100からコントロールデータ128を受信する必要がある場合がある。また、クライアントアプリケーション120は、ビデオゲームストリーミングシステムのようにビデオが会話形式であれば、コントロールデータ128を送信する必要がある場合がある。クライアントアプリケーション120は、延期されたポストプロセスの計算複雑度の要求事項にしたがってスパース(sparse)してよく、これは、クライアントで広範囲の計算能力を許容してよい。
図3は、図1のシステムで延期されたポストプロセッシングを実現する例を示した図である。サーバ100に位置する「レンダリングパイプライン」段階300に示される一般的な3Dレンダリングパイプラインは、「アプリケーション」段階302、「ジオメトリ(geometry)」段階304、および「ラスタライゼーション(rasterization)」段階306に示されるラスタライゼーションフェーズによって実行される。「ラスタライゼーション」段階306において、ラスタライゼーションフェーズの出力は、完全なビデオフレームであって、これは「ポストプロセッシング」段階308でポストプロセッシングによって大体が向上する。いくつかのポストプロセスは、「エンコード」段階310でエンコードプロセス中にエンコード時間または帯域幅に悪影響を及ぼし、このようなポストプロセスは、クライアントが後にこれらを適用するようになれば、「ポストプロセッシング」段階308のポストプロセッシングフェーズでスキップされる。クライアント116に対して延期されなかった残りのポストプロセスは、「ポストプロセッシング」段階308でポストプロセッシング中に通常どおりに(as usual)適用される。出力されるビデオフレームは「エンコード」段階310でエンコードされ、「送信」段階312で送信される。
クライアント116は、エンコードされたビデオフレームを受信し、これは「デコード」段階314でデコードされる。この時点で、すべての延期されたポストプロセスが「延期されたポストプロセッシング」段階316でデコードされたフレームに適用される。例えば、フィルム型グレーンの場合、アニメーション効果(animated effect)は予めキャッシングされ、比較的低い計算費用でデコードされたフレームに合成されようになる。カラーグレーディング、ディザリング(dithering)およびビデオ鮮明化のためのリアルタイムソリューション(solution)が既に存在しており、クライアントの計算能力に基づいて適用されるようになる。結果、ビデオフレームは、「ディスプレイ」段階318でディスプレイされる。
図4は、クライアントアプリケーション120が延期されるポストプロセスのリストを構築してサーバ100にリストを伝達するプロセスを示している。
段階400において、クライアントアプリケーション120は、クライアント116に対して延期されるようになるポストプロセスを決定するように、クライアントハードウェアの性能を測定するであろう。クライアント性能は、利用可能な命令語セット、メモリ、CPUまたはGPUのようなハードウェア情報に対する特徴検出によって測定されてよい。
段階402で、クライアントアプリケーション120は、延期候補のリストを読み取り、クライアントによってハードウェア要求事項が満たされていない延期候補を廃棄する。延期候補ポストプロセスは、リアルタイムクライアント性能を測定するようにクライアントでベンチマーキング(benchmarking)されなければならない。延期候補は、クライアントがこれ以上、フレームレート(frame rate)、リソース使用量(resource usage)、または他のリアルタイム測定によって測定された好ましい性能を維持することができなくなるまで、ベンチマーキングプロセスに1度に1つずつ追加される。ベンチマーキングは、クライアントアプリケーションのインストール中、クライアントアプリケーション120の初期負荷中、またはアプリケーションの負荷ごとに、実行されてよい。
クライアント116は、できるだけ多くの延期候補に対してポストプロセッシングを実行しなければならない。延期リストは、全体作業の順序をオリジナルレンダリングパイプラインの順序に近づけて維持するために逆順に構築される。例えば、モバイルデバイス(mobile device)は、最後のポストプロセスだけを実行してよく、ラップトップ(laptop)は、レンダリングパイプラインの末端から3つのポストプロセスを実行してよい反面、新たなデスクトップ(desktop)コンピュータは、延期候補リストのすべてのポストプロセスを実行してよい。
段階404で、クライアント116は、延期させるポストプロセスのリストをサーバ100に送信する。
段階202で、サーバ100は、第1ビデオフレームのポストプロセッシングフェーズ中に延期されたポストプロセスのリストを使用する。延期リストのすべてのポストプロセスはスキップされる。
段階206で、エンコードされたビデオデータストリーム108は、クライアント116への送信を始める。クライアント116は、いずれかのフレームが生成される前に延期リストを送信したため、追加のメタデータがサーバ100からクライアント116に送信される必要はない。クライアント116は、ポストプロセスが延期されたことを自動で知ることになるであろう。
段階210で、クライアント116は、すべてのポストプロセスを延期リストに適用する。クライアント116は、追後のフレームに延期されたポストプロセスを継続して適用するであろう。
ランタイム中にクライアント性能が変わることにより、延期されたポストプロセスのリスト変更を求めるというシナリオが考えられる。例えば、クライアントアプリケーションがバッテリ節約モードに突入したモバイルデバイスで実行されていれば、クライアントは、延期されたポストプロセスのリストの縮小を試みるようになる。このような例において、クライアントアプリケーションは、バッテリ状態の変化に応じて受信するため、コールバック(callback)を登録するか、オペレーティングシステム(operating system:OS)イベントなどをポーリングする必要が生じるようになる。段階412で、クライアントアプリケーション120は、クライアント性能を再測定することにより、最近の環境変化に応答する。環境変化は、遠隔クライアントコンピュータシステム116のハードウェア性能に影響を及ぼす、何らかの変化であってよい。上述した例として、バッテリ節約モードは、直接にフェッチ(fetch)される倍率(multiplier)でクロックレート(clock rate)を減らす。クロックレートの倍率の変化は、クライアント性能の変化に対する大略的な推定を提供することができる。そうでなければ、バッテリ節約モードでの追加のベンチマーキングは、段階402で説明したベンチマーキングフェーズに追加されてよい。
クライアント性能が変わると、クライアントアプリケーション120は、段階414で延期されるようになるポストプロセスを再評価するであろう。バッテリ節約モードを例に挙げると、延期リストは、クロックレートの倍率の変化に比例して減少するようになる。例えば、バッテリ節約モードは、50%程度のクロックレートを減らせば、延期リストを少なくとも半分程度に減らすことができるであろう。クライアント116が4つのポストプロセスを延期させたとすれば、リストを2つのポストプロセスに減らすことができるであろう。そうでなければ、バッテリ節約モードのベンチマーキングが既に実行されていれば、延期リストは既に認知されているはずである。
延期リストが変わると、クライアント116は、段階416において、変更された延期リストをサーバ100に送信するであろう。クライアント116は、サーバ100からメッセージを受信するまで、オリジナル延期リストからのポストプロセスを継続して適用するはずであり、メッセージは、他の延期されたポストプロセスのリストで構成されることが好ましい。
段階418で、サーバ100は、次の利用可能なフレームに変更された延期リストを適用する。クライアント116と同期化するために、一部のメタデータがこのフレームに適用される。
段階420で、エンコードされたビデオデータ108のフレームは、これに対応するメタデータとともに送信される。
クライアントは、メタデータフラッグ(flag)を受信するまで待機する。段階422で、クライアント116は、変更された延期リストにしたがってフレームの処理を始める。クライアント116は、変更された延期リストにしたがい、延期されたポストプロセスを継続して適用するであろう。ランタイム環境が再び変わると、段階412から始まり、延期リストは再び増加したり減少したりするようになる。延期リストがモバイルデバイスのバッテリ節約モードのような一時的なランタイム環境変化によって縮小されると、クライアントアプリケーション120は、可能な限り最大のポストプロセスが与えられた時間に延期されるように、最も早い機会に延期リストを増加させなければならない。
例1:ベンチマーキングテストの結果
フィルム型グレーンは、エンコーダの圧縮率に大きな影響をもたらす、無作為に発生する視覚的ノイズを出す。クライアント側にフィルム型グレーンのようなポストプロセスを適用することは、エンコードされたフレームサイズがより小さくなるという結果をもたらすであろう。
実験的なビットレート値は、グラフィックスエンジンが1秒あたり60フレームで1280×720の解像度で出力を生成する間に採択され、平均ビットレートを見つけ出すために60フレームに渡って平均した。測定された値は、サーバ側でフィルム型グレーンが適用されるビデオストリームのビットレートと、フィルム型グレーンがクライアントに対して延期されたビデオストリームのビットレートとを比較する。このような測定は、3種類の大きさのフィルム型グレーンと2つのエンコーダ品質設定値に対して繰り返される。フィルム型グレーン1は最も小さなグレーンサイズを示す反面、フィルム型グレーン3は最大のグレーンサイズを示す。実験結果は、以下の表1および表2に示した。表1は16のエンコーダ品質を使用した結果を示しており、表2は20のエンコーダ品質を使用した結果を示している。
Figure 0007077396000001
Figure 0007077396000002
実験結果に基づき、フィルム型グレーンのようなポストプロセスは、より大きなエンコードされたフレームサイズをもたらすことが分かるが、これは好ましくないことが明らかである。このような否定的な影響は、エンコーダ品質値が高いほどより明らかになり、導入したノイズの量が増加することによってより明らかになる。しかし、クライアントに対してフィルム型グレーンを延期させることにより、ビットレートにおける劇的な減少は、表1および表2に示すように達成されるようになるが、ここで、ビットレートはそれぞれ、270Kbyte/sおよび140Kbyte/sに減少する。導入したノイズの量とは関係なく、このような実験でフィルム型グレーンのサイズによって測定されることにより、ビットレートは与えられたエンコーダ品質に対して安定的に維持される。
これと同様に、以下の表3に示すように、グラフィックスエンジンが多数のエンコーダ品質設定のために60フレームで1280×720の解像度で出力を生成する間、実験的なエンコード時間が測定された。測定された値は、サブ側でフィルム型グレーンが適用されるビデオストリームに対するエンコード時間と、フィルム型グレーンがクライアントに対して延期されたビデオストリームのエンコード時間とを比較する。フィルム型グレーンのサイズは、すべての測定で固定的に維持される。表3に示すように、本文書で説明される技術を適用するエンコード時間の減少は、より高いエンコーダ品質の設定でより明らかになることを確認することができる。
Figure 0007077396000003
上述した説明および図面は、本発明の原理を例示するためのものに過ぎない。本発明は、好ましい実施形態によって制限されるように意図されてはならず、該当の技術分野において通常の知識を有する者にとって明白である、多様な方式で実現されるであろう。本発明の多数の応用は、該当の技術分野において通常の知識を有する者によって容易に実現されるであろう。したがって、開示された特定の例示または図に示されて説明された正確な構成と動作によって本発明を制限することは好ましくない。むしろ、すべての適切な修正および均等物が、本発明の範囲内に属するものと理解されなければならない。
〔付記1〕
段階を含むポストプロセス(post-process)を延期させる(deferring)のためにコンピュータで実現される方法であって、
段階は、
クライアントハードウェア(client hardware)性能(capability)を測定するように、クライアントアプリケーション(client application)に命令語(instruction)を送信する段階、および
クライアントハードウェアに対してどれほど多くのポストプロセス延期候補が延期されるようになるかを評価するために、1つ以上の予め決定されたポストプロセス延期候補の既知荷重(known load)を合算するように、クライアントアプリケーションに命令語を送信する段階を含み、
ポストプロセス延期リストがコンパイルされ、
前記ポストプロセス延期リストは逆順に構築され、
サーバが前記ポストプロセス延期リストを受信し、第1ビデオフレームのポストプロセッシングフェーズ(phase)の間、延期されたポストプロセスのリストをスキップし、イメージをレンダリングするように、クライアントアプリケーションに命令語を送信する、方法。
〔付記2〕
前記ポストプロセス延期リストは、ベンチマーキング(benchmarking)プロセスに追加される、付記1に記載の方法。
〔付記3〕
前記クライアントアプリケーションは、
1つ以上の環境変化に応答して前記クライアントハードウェアの前記性能を再測定する、付記1に記載の方法。
〔付記4〕
前記クライアントアプリケーションは、
前記クライアントハードウェアの前記性能を再測定するか否かを判断するように、コールバック(callback)を実行するか、1つ以上のオペレーティングシステムイベント(operating system event)をポーリングする、付記3に記載の方法。
〔付記5〕
前記クライアントアプリケーションは、
フレームレート(framerate)および/またはリソース使用量(resource usage)を測定することにより、前記クライアントハードウェアに対してどれほど多くのポストプロセス延期候補が延期されるようになるかを評価する、付記1に記載の方法。
〔付記6〕
前記サーバは、
次の利用可能なビデオフレームにアップデートされた延期リストを適用する、付記1に記載の方法。
〔付記7〕
前記サーバがポストプロセスと関連するメタデータなしで、前記クライアントアプリケーションにエンコードされたビデオデータを送信する段階をさらに含む、付記1に記載の方法。
〔付記8〕
前記クライアントハードウェアの前記性能は、
利用可能な命令語セット、メモリ、CPUおよび/またはGPU特性を検出することによって測定される、付記1に記載の方法。
〔付記9〕
前記ポストプロセス延期候補のリストは、
前記クライアントハードウェアのバッテリ状態に対する変化を基盤として再計算される、付記1に記載の方法。
〔付記10〕
前記サーバは、
メタデータフラッグ(metadata flag)とともに、前記クライアントアプリケーションに前記第1または次の利用可能なビデオフレームをリターンする、付記1に記載の方法。
〔付記11〕
ポストプロセスを延期させるためのシステムであって、ネットワークを介し、サーバは、
クライアントハードウェア性能を測定するように、クライアントアプリケーションに命令語を送信し、
クライアントハードウェアに対してどれほど多くのポストプロセス延期候補が延期されるようになるかを評価するために、1つ以上の予め決定されたポストプロセス延期候補の既知荷重を合算するように、クライアントアプリケーションに命令語を送信し、
ポストプロセス延期リストがコンパイルされ、
前記ポストプロセス延期リストは逆順に構築され、
サーバが前記ポストプロセス延期リストを受信し、第1ビデオフレームのポストプロセッシングフェーズの間、延期されたポストプロセスのリストをスキップし、イメージをレンダリングするように、クライアントアプリケーションに命令語を送信する、システム。
〔付記12〕
前記ポストプロセス延期リストは、ベンチマーキングプロセスに追加される、付記11に記載のシステム。
〔付記13〕
前記クライアントアプリケーションは、
1つ以上の環境変化に応答して前記クライアントハードウェアの前記性能を再測定する、付記11に記載のシステム。
〔付記14〕
前記クライアントアプリケーションは、
前記クライアントハードウェアの前記性能を再測定するか否かを判断するように、コールバックを実行するか、1つ以上のオペレーティングシステムイベントなどをポーリングする、付記13に記載のシステム。
〔付記15〕
前記クライアントアプリケーションは、
フレームレートおよび/またはリソース使用量を測定することにより、前記クライアントハードウェアに対してどれほど多くのポストプロセス延期候補が延期されるようになるかを評価する、付記11に記載のシステム。
〔付記16〕
前記サーバは、
次の利用可能なビデオフレームにアップデートされた延期リストを適用する、付記11に記載のシステム。
〔付記17〕
前記サーバは、
ポストプロセスと関連するメタデータなしで、前記クライアントアプリケーションにエンコードされたビデオデータを送信する、付記11に記載のシステム。
〔付記18〕
前記クライアントハードウェアの前記性能は、
利用可能な命令語セット、メモリ、CPUおよび/またはGPU特性を検出することによって測定される、付記11に記載のシステム。
〔付記19〕
前記ポストプロセス延期候補のリストは、
前記クライアントハードウェアのバッテリ状態に対する変化を基盤として再計算される、付記11に記載のシステム。
〔付記20〕
前記サーバは、
メタデータフラッグとともに、前記クライアントアプリケーションに前記第1または次の利用可能なビデオフレームをリターンする、付記11に記載のシステム。

Claims (15)

  1. ストプロセス(post-process)を延期させる(deferring)のためにコンピュータで実現される方法であって
    クライアントハードウェア(client hardware)性能(capability)を測定するように、クライアントアプリケーション(client application)に命令語(instruction)を送信する段階、および
    クライアントハードウェアに対してどれほど多くのポストプロセス延期候補が延期されるようになるかを評価するために、1つ以上の予め決定されたポストプロセス延期候補の既知荷重(known load)を合算するように、クライアントアプリケーションに命令語を送信する段階
    を含み、
    ストプロセス延期リストは逆順にコンパイルされ、
    サーバは、前記ポストプロセス延期リストを受信し、第1ビデオフレームのポストプロセッシングフェーズ(phase)の間、前記リストに含まれるポストプロセスをスキップし、イメージをレンダリングするようにクライアントアプリケーションに命令語を送信する、
    コンピュータで実現される方法。
  2. 前記サーバは、メタデータフラッグ(metadata flag)とともに、前記クライアントアプリケーションに前記第1ビデオフレームまたは次の利用可能なビデオフレームをリターンする、請求項1に記載のコンピュータで実現される方法。
  3. 前記サーバがポストプロセスと関連するメタデータなしで、前記クライアントアプリケーションにエンコードされたビデオデータを送信する段階をさらに含む、請求項1に記載のコンピュータで実現される方法。
  4. ポストプロセスを延期させるためのシステムであって、ネットワークを介し、サーバは、
    クライアントハードウェア性能を測定するように、クライアントアプリケーションに命令語を送信し、
    クライアントハードウェアに対してどれほど多くのポストプロセス延期候補が延期されるようになるかを評価するために、1つ以上の予め決定されたポストプロセス延期候補の既知荷重を合算するように、クライアントアプリケーションに命令語を送信し、
    ストプロセス延期リストは逆順にコンパイルされ、
    サーバは、前記ポストプロセス延期リストを受信し、第1ビデオフレームのポストプロセッシングフェーズの間、前記リストに含まれるポストプロセスをスキップし、イメージをレンダリングするようにクライアントアプリケーションに命令語を送信する、システム。
  5. 前記サーバは、メタデータフラッグ(metadata flag)とともに、前記クライアントアプリケーションに前記第1ビデオフレームまたは次の利用可能なビデオフレームをリターンする、請求項4に記載のシステム。
  6. 前記サーバは、ポストプロセスと関連するメタデータなしで、前記クライアントアプリケーションにエンコードされたビデオデータを送信する、請求項4に記載のシステム。
  7. ストプロセスを延期させるためのコンピュータで実現される方法であって、
    クライアントコンピュータから受信したポストプロセス延期リストであって、前記クライアントコンピュータにおけるポストプロセスのベンチマーキングに少なくとも基づき構築された前記ポストプロセス延期リストを使用して、延期のための1つ以上のポストプロセスを識別する段階、
    つ以上の識別された前記ポストプロセスをスキップする段階、
    コーデックで1つ以上のフレームを1つ以上のエンコードされたビデオにエンコードする段階であって、スキップされた前記ポストプロセスは、エンコードには使用されない、段階、および、
    前記1つ以上のエンコードされたビデオを前記クライアントコンピュータに送信する段階であって、前記クライアントコンピュータスキップされた前記ポストプロセスを出力前の前記エンコードされたビデオに適用する、段階
    を含む、コンピュータで実現される方法。
  8. ポストプロセスのスキップは、グラフィックスエンジン(graphics engine)で起こる、請求項7に記載のコンピュータで実現される方法。
  9. 前記エンコードされたビデオのうちの少なくとも1つは、前記クライアントコンピュータへの送信前にサーバに格納される、請求項7に記載のコンピュータで実現される方法。
  10. 前記ポストプロセス延期リストは、前記クライアントコンピュータの計算能力(computation power)にも基づき構築された、請求項7に記載のコンピュータで実現される方法。
  11. 前記サーバは、前記クライアントコンピュータからコントロールデータを受信する、請求項に記載のコンピュータで実現される方法。
  12. ポストプロセスを延期させるためのシステムであって、ネットワークを介し、サーバは、
    クライアントコンピュータから受信したポストプロセス延期リストであって、前記クライアントコンピュータにおけるポストプロセスのベンチマーキングに少なくとも基づき構築された前記ポストプロセス延期リストを使用して、延期のための1つ以上のポストプロセスを識別することと
    つ以上の識別された前記ポストプロセスをスキップすることと
    コーデックで1つ以上のフレームを1つ以上のエンコードされたビデオにエンコードすることであって、スキップされた前記ポストプロセスは、エンコードには使用されない、エンコードすることと
    前記1つ以上のエンコードされたビデオをクライアントコンピュータに送信することであって、前記エンコードされたビデオのうちの少なくとも1つは、前記クライアントコンピュータへの送信前に格納される、送信することと
    を行う、システム。
  13. ポストプロセスのスキップは、グラフィックスエンジン(graphics engine)で起こる、請求項12に記載のシステム。
  14. 前記エンコードされたビデオのうちの少なくとも1つは、前記クライアントコンピュータへの送信前にサーバに格納される、請求項12に記載のシステム。
  15. 前記ポストプロセス延期リストは、前記クライアントコンピュータの計算能力にも基づき構築された、請求項12に記載のシステム。
JP2020507500A 2017-04-21 2018-04-20 ビデオエンコードの延期されたポストプロセスのためのシステムおよび方法 Active JP7077396B2 (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
US201862618498P 2018-01-17 2018-01-17
US62/618,498 2018-01-17
PCT/US2018/028582 WO2018195431A1 (en) 2017-04-21 2018-04-20 Systems and methods for deferred post-processes in video encoding

Publications (3)

Publication Number Publication Date
JP2020520203A JP2020520203A (ja) 2020-07-02
JP2020520203A5 JP2020520203A5 (ja) 2020-12-10
JP7077396B2 true JP7077396B2 (ja) 2022-05-30

Family

ID=63854347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020507500A Active JP7077396B2 (ja) 2017-04-21 2018-04-20 ビデオエンコードの延期されたポストプロセスのためのシステムおよび方法

Country Status (15)

Country Link
US (4) US10271055B2 (ja)
EP (1) EP3613210A4 (ja)
JP (1) JP7077396B2 (ja)
KR (1) KR102282233B1 (ja)
CN (1) CN111052738B (ja)
AU (1) AU2018254570B2 (ja)
BR (1) BR112019021627A2 (ja)
CA (1) CA3059743A1 (ja)
DE (1) DE112018002117T5 (ja)
GB (1) GB2576286B (ja)
MX (1) MX2021004096A (ja)
RU (2) RU2728812C1 (ja)
TW (2) TWI735193B (ja)
WO (1) WO2018195431A1 (ja)
ZA (2) ZA201907681B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3059743A1 (en) 2017-04-21 2018-10-25 Zenimax Media Inc. Systems and methods for deferred post-processes in video encoding
US11731043B2 (en) * 2019-11-19 2023-08-22 Sony Interactive Entertainment Inc. Adaptive graphics for cloud gaming
US20220212100A1 (en) * 2021-01-04 2022-07-07 Microsoft Technology Licensing, Llc Systems and methods for streaming interactive applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006014981A (ja) 2004-07-02 2006-01-19 Fujitsu Ltd ネットワークゲーム制御方法及びネットワークゲームプログラム
JP2016111705A (ja) 2014-12-04 2016-06-20 アクシス アーベー ビデオストリームの後処理のための方法及び装置

Family Cites Families (86)

* 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
JP2972410B2 (ja) 1991-10-03 1999-11-08 富士通株式会社 光学的読取装置
JPH06129865A (ja) 1992-10-20 1994-05-13 Sumitomo Electric Ind Ltd シングルモ−ドファイバ型デポラライザとその製造方法及び光ファイバジャイロ
US6728713B1 (en) * 1999-03-30 2004-04-27 Tivo, Inc. Distributed database management system
US6345279B1 (en) * 1999-04-23 2002-02-05 International Business Machines Corporation Methods and apparatus for adapting multimedia content for client devices
US6788680B1 (en) * 1999-08-25 2004-09-07 Sun Microsystems, Inc. Defferrable processing option for fast path forwarding
WO2001077979A1 (en) * 2000-04-12 2001-10-18 Janssen Pharmaceutica N.V. Method and apparatus for detecting outliers in biological/pharmaceutical screening experiments
AU2003280512A1 (en) 2002-07-01 2004-01-19 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
US7408984B2 (en) 2003-09-17 2008-08-05 International Business Machines Corporation Method and system for multiple pass video coding
ATE527613T1 (de) * 2003-10-14 2011-10-15 Verseon Verfahren und vorrichtung zur analyse von molekularer kombination auf der grundlage von berechnungen der formkomplementarität unter verwendung von basisexpansionen
US20050108707A1 (en) * 2003-11-14 2005-05-19 Taylor Thomas M. Systems and methods for creating and managing a virtual retail store on end-user client computers within a network
US20050182582A1 (en) * 2004-02-12 2005-08-18 International Business Machines Corporation Adaptive resource monitoring and controls for a computing system
JP4789494B2 (ja) * 2004-05-19 2011-10-12 株式会社ソニー・コンピュータエンタテインメント 画像フレーム処理方法、装置、レンダリングプロセッサおよび動画像表示方法
US8347088B2 (en) * 2005-02-01 2013-01-01 Newsilike Media Group, Inc Security systems and methods for use with structured and unstructured data
US20060230428A1 (en) * 2005-04-11 2006-10-12 Rob Craig Multi-player video game system
US8139642B2 (en) * 2005-08-29 2012-03-20 Stmicroelectronics S.R.L. Method for encoding signals, related systems and program product therefor
JP4888996B2 (ja) * 2005-10-21 2012-02-29 株式会社ユニバーサルエンターテインメント 会話制御装置
US7925136B2 (en) * 2006-05-25 2011-04-12 Qualcomm Incorporated Method and apparatus for recording information in battery operated devices
US9349201B1 (en) * 2006-08-03 2016-05-24 Sony Interactive Entertainment America Llc Command sentinel
DE102006043894B3 (de) * 2006-09-19 2007-10-04 Siemens Ag Detailtiefenstufen-Einstellung mehrdimensionaler Bilddaten mit einem Client/Server-basierten Bildrenderingsystem
CA2672735A1 (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
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
KR20090117429A (ko) * 2008-05-09 2009-11-12 삼성전자주식회사 영상 부호화 및 복호화 방법 및 장치
WO2009138879A2 (en) 2008-05-12 2009-11-19 Wei Shi System and method for fit prediction and recommendation of footwear and clothing
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
JP4613990B2 (ja) * 2008-07-31 2011-01-19 ソニー株式会社 画像処理装置、画像処理方法、プログラム
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
US20100278231A1 (en) * 2009-05-04 2010-11-04 Imagine Communications Ltd. Post-decoder filtering
US8506402B2 (en) 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
CA2684678A1 (en) 2009-11-03 2011-05-03 Research In Motion Limited System and method for dynamic post-processing on a mobile device
US9338523B2 (en) 2009-12-21 2016-05-10 Echostar Technologies L.L.C. Audio splitting with codec-enforced frame sizes
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
WO2012097178A1 (en) * 2011-01-14 2012-07-19 Ciinow, Inc. A method and mechanism for performing both server-side and client-side rendering of visual data
KR20120096317A (ko) * 2011-02-22 2012-08-30 한국전자통신연구원 스테레오스코픽 비디오를 부호화하는 방법 및 그 장치
JP5155462B2 (ja) 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
KR101926570B1 (ko) * 2011-09-14 2018-12-10 삼성전자주식회사 포스트 프레그먼트 쉐이더를 사용하는 그래픽 처리 방법 및 장치
US20130111514A1 (en) * 2011-09-16 2013-05-02 Umami Co. Second screen interactive platform
JP5977023B2 (ja) 2011-11-07 2016-08-24 株式会社スクウェア・エニックス・ホールディングス 描画システム、プログラム、及び記録媒体
US20130212440A1 (en) * 2012-02-13 2013-08-15 Li-Raz Rom System and method for virtual system management
JP6247286B2 (ja) * 2012-06-12 2017-12-13 コーヒレント・ロジックス・インコーポレーテッド ビデオコンテンツの符号化及び配信のための分散アーキテクチャ
RS57336B1 (sr) * 2012-07-02 2018-08-31 Samsung Electronics Co Ltd Postupak za entropijsko dekodiranje video zapisa
CN104813669B (zh) 2012-09-21 2018-05-22 诺基亚技术有限公司 用于视频编码的方法和装置
WO2014078068A1 (en) 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
US20140192207A1 (en) * 2013-01-07 2014-07-10 Jinsong Ji Method and apparatus to measure video characteristics locally or remotely
EP2952003B1 (en) 2013-01-30 2019-07-17 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
CN105246567B (zh) 2013-05-31 2016-09-14 英派尔科技开发有限公司 受缓存影响的视频游戏
US9210434B2 (en) * 2013-06-12 2015-12-08 Microsoft Technology Licensing, Llc Screen map and standards-based progressive codec for screen content coding
US20140368505A1 (en) * 2013-06-13 2014-12-18 Nvidia Corporation Graphics processing subsystem for recovering projection parameters for rendering effects and method of use thereof
US9596280B2 (en) * 2013-11-11 2017-03-14 Amazon Technologies, Inc. Multiple stream content presentation
CN103686195B (zh) * 2013-11-22 2017-04-05 华为技术有限公司 视频信息处理方法及设备
US9854270B2 (en) 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
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
US10136152B2 (en) 2014-03-24 2018-11-20 Qualcomm Incorporated Use of specific HEVC SEI messages for multi-layer video codecs
US9885223B2 (en) 2014-05-30 2018-02-06 Halliburton Energy Services, Inc. Methods for formulating a cement slurry for use in a subterranean salt formation
US10078631B2 (en) * 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9762919B2 (en) 2014-08-28 2017-09-12 Apple Inc. Chroma cache architecture in block processing pipelines
US20160092037A1 (en) 2014-09-25 2016-03-31 Osix Corporation Computer-Implemented Methods, Computer Readable Media, And Systems For Distributed Processing
US10142386B2 (en) * 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
US10021411B2 (en) 2014-11-05 2018-07-10 Apple Inc. Techniques in backwards compatible multi-layer compression of HDR video
US9832521B2 (en) * 2014-12-23 2017-11-28 Intel Corporation Latency and efficiency for remote display of non-media content
US10063866B2 (en) 2015-01-07 2018-08-28 Texas Instruments Incorporated Multi-pass video encoding
KR102271721B1 (ko) * 2015-01-13 2021-07-01 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 단말 성능을 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US10000963B2 (en) 2015-01-26 2018-06-19 Rolltech A/S Two part spacer with overlapping surfaces
WO2016138493A1 (en) * 2015-02-27 2016-09-01 Sonic Ip, Inc. Systems and methods for frame duplication and frame extension in live video encoding and streaming
CN106034241B (zh) * 2015-03-19 2019-04-26 华为技术有限公司 一种多媒体重定向的方法、客户端、服务器和系统
WO2016172314A1 (en) 2015-04-21 2016-10-27 Vid Scale, Inc. Artistic intent based video coding
KR102370842B1 (ko) * 2015-06-03 2022-03-08 삼성전자주식회사 컨텐츠를 암호화하기 위한 전자 장치 및 방법
US9491490B1 (en) 2015-06-12 2016-11-08 Intel Corporation Facilitating environment-based lossy compression of data for efficient rendering of contents at computing devices
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
US10000961B2 (en) 2016-02-29 2018-06-19 Ford Global Technologies, Llc Temperature control for powered vehicle doors
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
US20170347126A1 (en) 2016-05-27 2017-11-30 Qualcomm Incorporated Video debanding using adaptive filter sizes and gradient based banding detection
US20180115795A1 (en) * 2016-10-22 2018-04-26 Gopro, Inc. Adaptive bit rate algorithm for point-to-point wifi devices
US10462334B2 (en) 2016-11-04 2019-10-29 Disney Enterprises, Inc. Pipeline for high dynamic range video coding based on luminance independent chromaticity preprocessing
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US10591971B2 (en) * 2017-04-01 2020-03-17 Intel Corporation Adaptive multi-resolution for graphics
US10719902B2 (en) * 2017-04-17 2020-07-21 Intel Corporation Thread serialization, distributed parallel programming, and runtime extensions of parallel computing platform
CA3059743A1 (en) 2017-04-21 2018-10-25 Zenimax Media Inc. Systems and methods for deferred post-processes in video encoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006014981A (ja) 2004-07-02 2006-01-19 Fujitsu Ltd ネットワークゲーム制御方法及びネットワークゲームプログラム
JP2016111705A (ja) 2014-12-04 2016-06-20 アクシス アーベー ビデオストリームの後処理のための方法及び装置

Also Published As

Publication number Publication date
RU2020124345A3 (ja) 2021-01-14
MX2021004096A (es) 2021-06-08
GB2576286B (en) 2022-09-07
DE112018002117T5 (de) 2020-01-02
EP3613210A1 (en) 2020-02-26
US20190215520A1 (en) 2019-07-11
CN111052738B (zh) 2021-12-21
KR102282233B1 (ko) 2021-07-28
ZA201907681B (en) 2021-04-28
US20230362388A1 (en) 2023-11-09
RU2728812C1 (ru) 2020-07-31
AU2018254570A1 (en) 2019-12-05
WO2018195431A1 (en) 2018-10-25
AU2018254570B2 (en) 2021-08-05
TW201842775A (zh) 2018-12-01
EP3613210A4 (en) 2021-02-24
CN111052738A (zh) 2020-04-21
GB2576286A (en) 2020-02-12
KR20200019853A (ko) 2020-02-25
GB201916964D0 (en) 2020-01-08
US10271055B2 (en) 2019-04-23
US10841591B2 (en) 2020-11-17
JP2020520203A (ja) 2020-07-02
CA3059743A1 (en) 2018-10-25
RU2020124345A (ru) 2020-08-20
TWI735193B (zh) 2021-08-01
TW202027504A (zh) 2020-07-16
TWI691200B (zh) 2020-04-11
US20210044807A1 (en) 2021-02-11
US20180309999A1 (en) 2018-10-25
BR112019021627A2 (pt) 2020-05-12
ZA202007052B (en) 2022-03-30
RU2744982C2 (ru) 2021-03-17
US11778199B2 (en) 2023-10-03

Similar Documents

Publication Publication Date Title
CN112104879B (zh) 一种视频编码方法、装置、电子设备及存储介质
US20230362388A1 (en) Systems and methods for deferred post-processes in video encoding
KR101577507B1 (ko) 다수의 클라이언트에 걸친 gpu 자원의 할당
US8396122B1 (en) Video codec facilitating writing an output stream in parallel
KR102326456B1 (ko) 인코더-가이드 적응형-품질 렌더링을 위한 시스템들 및 방법들
CN112073737B (zh) 在直播视频流应用中重新编码预测的图像帧
JP2013541295A (ja) 画像圧縮のためのエントロピーコーダー
JP7405989B2 (ja) マシン向け映像符号化における方法及び装置
JP6186429B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
WO2023142715A1 (zh) 视频编码方法、实时通信方法、装置、设备及存储介质
JP2006517363A (ja) モーションベクトルの予測方法及びシステム
RU2825728C2 (ru) Системы и способы для отложенных процессов постобработки при кодировании видеоинформации
CN113794887A (zh) 一种游戏引擎中视频编码的方法及相关设备
US20090141797A1 (en) Vector processor acceleration for media quantization
US20220279190A1 (en) Transmission apparatus, reception apparatus, transmission method,reception method, and program
JP6377222B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
CN118158478A (zh) 图像编码方法、装置、电子设备和计算机可读存储介质
CN115941968A (zh) 解码处理方法、装置、计算机设备及存储介质
CN117062656A (zh) 使用共享参考帧的低延迟多遍帧级速率控制

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211223

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220518

R150 Certificate of patent or registration of utility model

Ref document number: 7077396

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150