Centralized streaming game server
AssigneePlaycast Media System, Ltd.
InventorNatan Peterfreund
Life of this patent
Estimating the term…
Abstract
Exemplary embodiments include an interception mechanism for rendering commands generated by interactive applications, and a feed-forward control mechanism based on the processing of the commands on a rendering engine, on a pre-filtering module, and on a visual encoder. Also a feed-back control mechanism from the encoder is described. The mechanism is compression-quality optimized subject to some constraints on streaming bandwidth and system delay. The mechanisms allow controllable levels of detail for different rendered objects, controllable post filtering of rendered images, and controllable compression quality of each object in compressed images. A mechanism for processing and streaming of multiple interactive applications in a centralized streaming application server is also described.
Claims39
A server that synthesizes a compressed bit stream from a plurality of interactive three-dimensional (3-D) graphical applications, referred to also as interactive services, the server comprising:
- a plurality of application engines, each configured to process an interactive service frame by frame;
- a plurality of rendering engines, each configured to render the frames computed by an application engine;
- a plurality of encoding engines, each configured to encode the frames generated by a rendering engine;
- and
- programmed instructions configured to:
- perform frame level scheduling of the plurality of engines;
- execute commands in a plurality of application engines corresponding to a first plurality of interactive services, at a first given order, for each frame scheduling period;
- execute commands in a plurality of rendering engines corresponding to a second plurality of interactive services, at a second given order, for each frame scheduling period;
- execute commands in a plurality of encoding engines corresponding to a third plurality of interactive services, at a third given order, for each frame scheduling period;
- and
- multiplex and stream a plurality of compressed bit streams generated by the plurality of encoding engines.
A centralized interactive applications device for synthesizing a compressed bit-stream of a plurality of interactive three-dimensional (3-D) graphical applications, referred to also interactive services, comprising:
- a system controller;
- a plurality of application devices, each configured to process an interactive service frame by frame;
- a plurality of rendering devices, each configured to render the frames computed by an application device;
- a plurality of encoding devices, each configured to encode the frames generated by a rendering device;
- and
- a streamer media pump device configured to output the generated encoded streams through a shared streaming channel.
A centralized interactive applications method for synthesizing a compressed bit-stream of a plurality of interactive three-dimensional (3-D) graphical applications, referred to also as interactive services, comprising:
- controlling a plurality of application engines, each configured to process an interactive service frame by frame;
- controlling a plurality of rendering engines, each configured to render the frames computed by an application engine;
- controlling a plurality of encoding engines, each configured to encode the frames generated by a rendering engine;
- and
- outputting the generated encoded streams through a shared streaming channel.
A system for synthesizing a compressed video bitstream from a plurality of interactive three-dimensional (3-D) graphical applications, referred to also interactive services, the system comprising:
- means for frame level scheduling;
- a plurality of application engines, each configured to process an interactive service frame by frame;
- a plurality of rendering engines, each configured to render the frames computed by an application engine;
- a plurality of encoding engines, each configured to encode the frames generated by a rendering engine;
- and
- means for multiplexing and streaming the encoded bit streams generated by the plurality of encoding engines.
Dependencies are inferred from the claim text.