Systems and methods for deferred post-processes in video encoding
AssigneeZeniMax Media Inc.
InventorMichael Kopietz
Life of this patent
Estimating the term…
Abstract
Systems and methods for deferring post-process effects in video encoding are disclosed. The systems and methods are capable of calculating the capability of client hardware to defer load, and summing a known load of one or more deferral candidates to evaluate how many post-process deferral candidates are capable of being deferred to client hardware. The systems and methods are also capable of sending an updated deferral list of post-processes to a remote server that can apply the list of deferred post-process candidates during the post-processing phase of a first video frame.
Claims22
A computer-implemented method for deferring post-processes from before video encoding to after video decoding, the method comprising:
- transmitting, from a server implemented at a first computer system, an instruction to a remote client to provide information that indicates a post-process deferral list of one or more post-processes among one or more predetermined post-process deferral candidates, the remote client being implemented at a second computer system that is different than, and remote from, the first computer system;
- receiving, from the remote client, the information that indicates the post-process deferral list, each of the one or more post-processes in the post-process deferral list being capable of running at the remote client after decoding of video instead of running at the server before encoding of the video;
- and
- at the server, skipping the one or more post-processes in the post-process deferral list during a post-processing phase for a first video frame of the video before encoding of the first video frame.
A server computer system for deferring post-processes from before video encoding to after video decoding, wherein a server of the server computer system is configured to perform operations comprising:
- transmitting an instruction to a remote client to provide information that indicates a post-process deferral list of one or more post-processes among one or more predetermined post-process deferral candidates, the remote client being implemented at a remote client computer system different than the server computer system;
- receiving, from the remote client, the information that indicates the post-process deferral list, each of the one or more post-processes in the post-process deferral list being capable of running at the remote client after decoding of video instead of running at the server before encoding of the video;
- and
- skipping the one or more post-processes in the post-process deferral list during a post-processing phase for a first video frame of the video before encoding of the first video frame.
A computer-implemented method for deferring post-processes from before video encoding to after video decoding, the method comprising:
- at a server implemented at a first computer system, identifying one or more post-processes for deferral, each of the one or more post-processes being capable of running at a remote client after decoding of video instead of running at the server before encoding of the video;
- at the server, skipping the one or more identified post-processes during a post-processing phase of a rendering pipeline for one or more frames of the video;
- at the server, encoding the one or more frames of the video from the rendering pipeline with an encoder into one or more encoded video frames;
- and
- from the server, transmitting the one or more encoded video frames to the remote client, the remote client being implemented at a second computer system that is different than, and remote from, the first computer system.
A server computer system for deferring post-processes from before video encoding to after video decoding, wherein a server of the server computer system is configured to perform operations comprising:
- at the server, identifying one or more post-processes for deferral, each of the one or more post-processes being capable of running at a remote client after decoding of video instead of running at the server before encoding of the video;
- at the server, skipping the one or more identified post-processes during a post-processing phase of a rendering pipeline for one or more frames of the video;
- at the server, encoding the one or more frames of the video from the rendering pipeline with an encoder into one or more encoded video frames;
- and
- from the server, transmitting the one or more encoded video frames to the remote client, the remote client being implemented at a remote client computer system different than the server computer system.
Dependencies are inferred from the claim text.