Multiple remote display system
First Claim
1. A graphics and video display controller capable of supporting multiple displays, comprising:
- a display controller for supporting a first number of local display devices via local display paths, and a second number of remote display systems, not limited by the first number;
a 2D drawing engine for generating display frames which may each correspond to a display frame at a remote display system;
a video processor for processing one or more formats of video streams;
means for connecting to a CPU subsystem that explicitly tracks which of said display frames are modified so that only modified display frames will be transmitted via a network subsystem to remote display systems;
means for connecting to external program sources that provide video program data; and
means for connecting to a network controller which utilizes network paths to communicate with said remote display systems.
2 Assignments
0 Petitions
Accused Products
Abstract
A multi-display system includes a host system that supports both graphics and video based frames for multiple remote displays, multiple users or a combination of the two. For each display and for each frame, a multi-display processor responsively manages each necessary aspect of the remote display frame. The necessary portions of the remote display frame are further processed, encoded and where necessary, transmitted over a network to the remote display for each user. In some embodiments, the host system manages a remote desktop protocol and can still transmit encoded video or encoded frame information where the encoded video may be generated within the host system or provided from an external program source. Embodiments integrate the multi-display processor with either the video decoder unit, graphics processing unit, network controller, main memory controller, or any combination thereof The encoding process is optimized for network traffic and attention is paid to assure that all users have low latency interactive capabilities.
-
Citations
25 Claims
-
1. A graphics and video display controller capable of supporting multiple displays, comprising:
-
a display controller for supporting a first number of local display devices via local display paths, and a second number of remote display systems, not limited by the first number;
a 2D drawing engine for generating display frames which may each correspond to a display frame at a remote display system;
a video processor for processing one or more formats of video streams;
means for connecting to a CPU subsystem that explicitly tracks which of said display frames are modified so that only modified display frames will be transmitted via a network subsystem to remote display systems;
means for connecting to external program sources that provide video program data; and
means for connecting to a network controller which utilizes network paths to communicate with said remote display systems. - View Dependent Claims (2, 3)
-
-
4. A graphics and video multi-display system capable of supporting a first number of local display devices and an independent second number of remote display systems etc, comprising:
-
means to connect said graphics and video multi-display system to a CPU subsystem;
a graphics and video display controller capable of supporting a first number of local display devices by supplying display frames via a local display output path;
a multi-display processor that receives display frames from said local display output path, and that has a frame manager and a frame comparer which process each received display frame, and a data encoder which encodes frame data for transmission to update said remote display systems;
means to connect said graphics and video display system to external program sources which provide video program data; and
means to connect said graphics and video multi-display system to a network controller which in turn can be connected to said remote display systems. - View Dependent Claims (5, 6)
-
-
7. A graphics and video multi-display system with integrated multiple display support, comprising:
-
a multi-display controller capable of supporting a large number of independent display frames tiled in memory;
a display data encoder capable of encoding display frame data;
means for connecting to a CPU subsystem; and
means for connecting to a network controller which in turn can be connected to a number of remote display systems. - View Dependent Claims (8, 9, 10)
-
-
11. A remote display system for use in a multi-display system, comprising:
-
a network controller for interfacing said remote display system to a host system in said multi-display system;
a data decoder and frame manager for decoding data received from said host system;
a local graphics and video controller including a local processor which runs a remote display protocol which performs graphics commands initiated by said host system;
and a display controller for using the most recently reassembled frame of data to refresh a display screen;
where said local processor manages functions of said remote display system. - View Dependent Claims (12, 13, 14)
-
-
15. A host system for supporting multiple displays, comprising:
-
means to connect external program sources;
a CPU subsystem having a CPU which performs remote display procedures for controlling a graphics and video controller at a remote display system;
a local graphics and video processor for performing 2D, 3D and video processing functions;
a network subsystem providing a coupling through which said host system may be connected to multiple remote display systems; and
means to transmit an encoded bit stream for decoding at one or more of said remote display systems. - View Dependent Claims (16, 17)
-
-
18. A method for operating a multi-display system, comprising the steps of:
-
processing a set of graphics operations, using a host system and a graphics and video display controller, for drawing one or more display surfaces;
processing video program data from external program sources to translate said external program source video program data onto one or more display surfaces;
compositing the surfaces into display frames;
duplicating said drawing and compositing steps to generate display refresh stream frame data for each of multiple remote display systems;
encoding said display refresh stream frame data to produce an encoded display update network stream; and
propagating said encoded display update network stream according to network protocol techniques through a network interface. - View Dependent Claims (19, 20, 21)
-
-
22. A method for operating a multi-display system, comprising the steps of:
-
processing a set of graphics operations using a host system that includes a CPU, and translating said graphics operations to a remote display protocol for execution on a remote display system;
translating video program data received from external program sources into an encoded network stream; and
propagating said remote display protocol and said encoded network stream according to network protocol techniques through a network interface. - View Dependent Claims (23, 24)
-
-
25. A method for receiving display updates from a host system and displaying video program data, comprising the steps of:
-
receiving, through a network subsystem from two or more data sources, display updates which may include remote display protocol graphics commands, encoded video bitstreams or encoded data display frames;
decoding said received encoded video bitstream and producing a new display frame of data for display; and
outputting said display frame of data to refresh a display screen and continuing to refresh said display screen with current display data until a new display frame of data becomes available.
-
Specification