IP Library Granted Patent US 9,635,373
Granted Patent B2
US 9,635,373 · App. 14/879,838 · Granted Apr 25, 2017

System and method for low bandwidth display information transport

Inventors: Subir Ghosh (San Jose, CA); Gabriele Sartori (Fremont, CA)
Assignee: nComputing, Inc.
H04N19/40G06F17/30905H04N19/48H04N19/70H04N21/2358H04N21/234309H04N21/4113H04N21/4122H04N21/42607H04N21/42653H04N21/443H04N21/454H04N21/4516H04N21/4621
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,635,373
App. No.
14/879,838
Granted
Apr 25, 2017
Kind
B2
Abstract

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.

Claims (64)

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2019
From: NCOMPUTING, INC.
To: NCOMPUTING DE, LLC
Reel/Frame 048031/0929 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2017
From: NCOMPUTING DE, LLC
To: NCOMPUTING GLOBAL, INC.
Reel/Frame 043237/0074 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2015
From: GHOSH, SUBIR; SARTORI, GABRIELE
To: NCOMPUTING, INC.
Reel/Frame 037200/0300 →
Continuity (4)
Continuation 12395152 · Feb 27, 2009
Provisional Application 61067516 · Feb 27, 2008
Related Publication 20160080754A1 · Mar 17, 2016
Related Publication 20160381370A9 · Dec 29, 2016