A digital video transmission system that operates with three different video rendering paths. A first rendering path operates by receiving display requests and rendering bit-mapped graphics in a local screen buffer. The display information in that local screen buffer is then encoded and transmitted to a remote display system that recreates the content of that local screen buffer in a video buffer of remote display system. A second rendering path operates by receiving encoded video stream requests that can be decoded by the remote display system. Such encoded video streams are sent to the remote display system with minimal addition transport encoding. The third rendering path handles encoded video streams that cannot be handled natively by the remote display system. Such video streams may be either transcoded before transmission or decoded and stored within the local screen buffer.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method of processing video information for a remote display system, the method comprising: initiating a thin-client terminal session with a server system and the remote display system; requesting graphics capabilities of the remote display system, wherein the graphics capabilities of the remote display system include a resolution, a color bit depth, and a video decoder type; receiving the graphics capabilities of the remote display system; initializing the server system based on the graphics capabilities of the remote display system; receiving a display request that includes a digital video stream and a bit-mapped graphics request for the remote display system, the digital video stream being encoded in a first encoding format; requesting the remote display system to transcode the digital video stream in response to receiving the display request; determining the remote display system is unable to transcode the digital video stream based on the graphics capabilities of the remote display system and the first encoding format of the digital video stream; transmitting the digital video stream to a video decoder at the server system in response to the determining that the remote display system is unable to transcode the digital video stream; decoding the digital video stream into successive frames of video information based on the graphics capabilities of the remote display system; writing the successive frames of the video information a thin-client screen buffer associated with the remote display system; and transporting the successive frames of the video information to the remote display system.
A method for displaying video on a remote device starts with a thin-client session between a server and the remote device. The server requests and receives the remote device's graphics capabilities (resolution, color depth, video decoder type). The server then receives a display request containing both a digital video stream (encoded in a specific format) and a bit-mapped graphics request. If the remote device can't directly transcode the video stream (based on its reported capabilities and the stream's encoding), the server's video decoder decodes the video into successive frames based on the device capabilities. These frames are written to a server-side screen buffer linked to the remote device, and this buffer is then sent to the remote device for display.
2. The method of processing video information for the remote display system of claim 1 , further comprising: transmitting the decoded digital video stream to the remote display system.
The method of processing video information for a remote display system, described above where video is decoded on the server and the resulting frames are sent to the remote display, further includes directly transmitting the decoded digital video stream itself to the remote display system. This transmission happens after the video has been decoded at the server based on remote device's capabilities and before frames are written into and transported from a screen buffer. This allows the remote display system to potentially handle the decoded video stream directly, perhaps through another software or hardware component.
3. The method of processing video information for the remote display system of claim 1 , wherein the method further comprises: writing the bit mapped graphics request to thin-client screen buffer associated with the remote display system; encoding the bit mapped graphics request based on the graphics capabilities of the remote display system; and transmitting the encoded bit mapped graphics request to the remote display system.
The method of processing video information for a remote display system, described above where video is decoded on the server and the resulting frames are sent to the remote display, also handles bit-mapped graphics requests. The method writes the bit-mapped graphics request to a thin-client screen buffer associated with the remote display system. This bit-mapped graphics request is then encoded based on the known graphics capabilities of the remote display system. Finally, the encoded bit-mapped graphics request is transmitted to the remote display system, allowing it to render the graphics in conjunction with the video stream.
4. The method of processing video information for the remote display system of claim 1 , wherein the digital video stream comprises a first digital video format, and the method further comprises: transcoding the set of individual decoded video frames into a second digital video format supported by the remote display system.
The method of processing video information for a remote display system, described above where video is decoded on the server and the resulting frames are sent to the remote display, handles digital video streams in a specific format. If the video stream is in a format not natively supported by the remote display, the individual decoded video frames are transcoded into a second, compatible digital video format before being sent to the display. The transcoding process adapts the video data to ensure compatibility with the remote display's capabilities.
5. The method of processing video information for the remote display system of claim 4 , wherein the method further comprises: determining that the server system is unable to transcode the set of individual decoded video frames due to a processing load; decoding, by a video decoder, the encoded digital video stream into a set of individual decoded video frames; and writing the set of individual decoded video frames to the thin client screen buffer associated with the remote display system.
The method of processing video information for a remote display system, described above where the decoded video stream is transcoded into a compatible format, also manages server processing load. If the server can't transcode the decoded video frames due to high load, the server decodes the video stream into individual frames and writes these frames to a thin-client screen buffer linked to the remote display. This allows the remote display to receive the video information, even if server-side transcoding is not possible due to resource constraints.
6. A system comprising: one or more processors; and a memory storing instructions that, when executed by at least one processor among the processors, causes the system to perform operations comprising: initiating a thin-client terminal session with a server system and the remote display system; requesting graphics capabilities of the remote display system, wherein the graphics capabilities of the remote display system include a resolution, a color bit depth, and a video decoder format; receiving the graphics capabilities of the remote display system; initializing the server system based on the graphics capabilities of the remote display system; receiving a display request that includes a digital video stream and a bit-mapped graphics request for the remote display system, the digital video stream being encoded in a first encoding format; requesting the remote display system to transcode the digital video stream in response to receiving the display request; determining the remote display system is unable to transcode the digital video stream based on the graphics capabilities of the remote display system and the first encoding format of the digital video stream; transmitting the digital video stream to a video decoder at the server system in response to the determining that the remote display system is unable to transcode the digital video stream; decoding the digital video stream into successive frames of video information based on the graphics capabilities of the remote display system; writing the successive frames of the video information a thin-client screen buffer associated with the remote display system; and transporting the successive frames of the video information to the remote display system.
A system comprises processors and memory that execute instructions to display video on a remote device. The system initiates a thin-client session between a server and the remote device. The system requests and receives the remote device's graphics capabilities (resolution, color depth, video decoder format). The server initializes based on the received graphics capabilities. The system receives a display request containing both a digital video stream (encoded in a specific format) and a bit-mapped graphics request. If the remote device can't directly transcode the video stream, the server's video decoder decodes the video into successive frames. These frames are written to a server-side screen buffer linked to the remote device, and this buffer is then sent to the remote device for display.
7. The system of claim 6 , wherein the instructions cause the system to perform operations further comprising: transmitting the decoded digital video stream to the remote display system.
The system of processing video information for a remote display system, described above where video is decoded on the server and the resulting frames are sent to the remote display, further includes instructions to transmit the decoded digital video stream itself to the remote display system. The transmission happens after the video has been decoded at the server based on remote device's capabilities and before frames are written into and transported from a screen buffer.
8. The system of claim 6 , wherein the instructions cause the system to perform operations further comprising: writing the bit mapped graphics request to thin-client screen buffer associated with the remote display system; encoding the bit mapped graphics request based on the graphics capabilities of the remote display system; and transmitting the encoded bit mapped graphics request to the remote display system.
The system of processing video information for a remote display system, described above where video is decoded on the server and the resulting frames are sent to the remote display, also includes instructions to handle bit-mapped graphics requests. The instructions write the bit-mapped graphics request to a thin-client screen buffer associated with the remote display system. This bit-mapped graphics request is then encoded based on the known graphics capabilities of the remote display system and is transmitted to the remote display system.
9. The system of claim 6 , wherein the digital video stream comprises a first digital video format, and the instructions cause the system to perform operations further comprising: transcoding the set of individual decoded video frames into a second digital video format supported by the remote display system.
The system of processing video information for a remote display system, described above where video is decoded on the server and the resulting frames are sent to the remote display, also handles digital video streams in a specific format. The instructions transcode the individual decoded video frames into a second, compatible digital video format before being sent to the display, if the initial format is not supported by the remote display.
10. The system of claim 9 , wherein the instructions cause the system to perform operations further comprising: determining that the server system is unable to transcode the set of individual decoded video frames due to a processing load; decoding, by a video decoder, the encoded digital video stream into a set of individual decoded video frames; and writing the set of individual decoded video frames to the thin client screen buffer associated with the remote display system.
The system of processing video information for a remote display system, described above where the decoded video stream is transcoded into a compatible format, also manages server processing load. The instructions determine if the server can't transcode the decoded video frames due to high load. If transcoding is not possible, the instructions decode the video stream into individual frames and write these frames to a thin-client screen buffer linked to the remote display.
11. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising: initiating a thin-client terminal session with a server system and the remote display system; requesting graphics capabilities of the remote display system; receiving the graphics capabilities of the remote display system, wherein the graphics capabilities of the remote display system include a resolution, a color bit depth, and a video decoder type; initializing the server system based on the graphics capabilities of the remote display system; receiving a display request that includes a digital video stream and a bit-mapped graphics request for the remote display system, the digital video stream being encoded in a first encoding format; requesting the remote display system to transcode the digital video stream in response to receiving the display request; determining the remote display system is unable to transcode the digital video stream based on the graphics capabilities of the remote display system and the first encoding format of the digital video stream; transmitting the digital video stream to a video decoder at the server system in response to the determining that the remote display system is unable to transcode the digital video stream; decoding the digital video stream into successive frames of video information based on the graphics capabilities of the remote display system; writing the successive frames of the video information a thin-client screen buffer associated with the remote display system; and transporting the successive frames of the video information to the remote display system.
A non-transitory computer-readable medium stores instructions for displaying video on a remote device. When executed, these instructions initiate a thin-client session between a server and the remote device. The instructions request and receive the remote device's graphics capabilities (resolution, color depth, video decoder type). The server initializes based on the received graphics capabilities. The instructions receive a display request containing both a digital video stream (encoded in a specific format) and a bit-mapped graphics request. If the remote device can't directly transcode the video stream, the instructions decode the video using a server-side video decoder and output successive frames. These frames are written to a server-side screen buffer linked to the remote device, and this buffer is then sent to the remote device for display.
12. The non-transitory machine-readable storage medium of claim 11 , the instructions further comprising: transmitting the decoded digital video stream to the remote display system.
The non-transitory machine-readable storage medium for processing video information for a remote display system, described above where video is decoded on the server and the resulting frames are sent to the remote display, further includes instructions to transmit the decoded digital video stream itself to the remote display system.
13. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions further comprise: writing the bit mapped graphics request to thin-client screen buffer associated with the remote display system; encoding the bit mapped graphics request based on the graphics capabilities of the remote display system; and transmitting the encoded bit mapped graphics request to the remote display system.
The non-transitory machine-readable storage medium for processing video information for a remote display system, described above where video is decoded on the server and the resulting frames are sent to the remote display, also includes instructions for handling bit-mapped graphics requests. The instructions write the bit-mapped graphics request to a thin-client screen buffer associated with the remote display system. This bit-mapped graphics request is then encoded based on the known graphics capabilities of the remote display system and is transmitted to the remote display system.
14. The non-transitory machine-readable storage medium of claim 11 , wherein the digital video stream comprises a first digital video format, and the instructions further comprise: transcoding the set of individual decoded video frames into a second digital video format supported by the remote display system.
The non-transitory machine-readable storage medium for processing video information for a remote display system, described above where video is decoded on the server and the resulting frames are sent to the remote display, also handles digital video streams in a specific format. The instructions transcode the individual decoded video frames into a second, compatible digital video format before being sent to the display, if the initial format is not supported by the remote display.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 9, 2015
April 25, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.