IP Library Patent Application 12395130
Patent Application
App. No. 12/395,130

SYSTEM AND METHOD FOR VIRTUAL 3D GRAPHICS ACCELERATION AND STREAMING MULTIPLE DIFFERENT VIDEO STREAMS

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 None
App. No.
12/395,130
Abstract

A digital video transmission system that improves performance using 3D graphics acceleration hardware. A first system creates a virtual 3D graphics card for each terminal session executing on a server system that supports multiple users. The virtual 3D graphics card is assigned a share of processing ability on a physical 3D graphics accelerator. The virtual 3D graphics card uses the share of processing ability on the physical 3D graphics accelerator to render 3D graphics in a local screen buffer associated with the terminal session. The local screen buffer is encoded and transmitted to a remote display that recreates the screen display in a video buffer of remote display. A second system operates by using a physical 3D graphics accelerator in a server system to perform transcoding for multiple video streams. To best perform task switching, the task switching is performed on I-frame borders.

Claims (45)

1 . A method of transcoding multiple streams of video information, said method comprising:

accessing a first video stream;

transcoding from a first intra-frame to a next infra-frame;

saving process state;

accessing a next video stream; and

repeating said steps of transcoding, saving, and accessing.

2 . The method of transcoding multiple streams of video information as set forth in claim 1 , said method further comprising:

transmitting the transcoded video to a remote terminal system.

3 . The method of transcoding multiple streams of video information as set forth in claim 2 wherein said transcoded video is decoded by a video decoder in said remote terminal system.

4 . The method of transcoding multiple streams of video information as set forth in claim 1 wherein said transcoding is performed by a graphics processing unit (GPU).

5 . The method of transcoding multiple streams of video information as set forth in claim 1 wherein said video streams are associated with multiple different users supported by a single server system.

6 . A server system for serving multiple users, said server system comprising:

a processor and a memory system;

a terminal server module for handling multiple terminal sessions;

a first virtual graphics adapter for handling display requests from a first terminal session;

a first transcoder, said first transcoder receiving a display request comprising a first video stream, said first transcoder transcoding from a first intra-frame to a next infra-frame of said video stream and then saving a process state, said first transcoder accessing a second video stream from a second terminal session and repeating said actions of transcoding, saving, and accessing.

7 . The server system for serving multiple users as set forth in claim 6 , said server system further comprising:

an interface module for transmitting said transcoded video to a remote terminal system.

8 . The server system for serving multiple users as set forth in claim 7 wherein said transcoded video is decoded by a video decoder in said remote terminal system.

9 . The server system for serving multiple users as set forth in claim 6 wherein said transcoding is performed by a graphics processing unit (GPU) in said server system.

10 . The server system for serving multiple users as set forth in claim 5 wherein said video streams are associated with different users supported by said server system.

11 . A method of rendering graphics in a multi-user environment, said method comprising:

creating a first terminal session in a server;

creating a first virtual 3D graphics card for the first terminal session;

assigning a share of physical graphics accelerator device to the first virtual graphics card; and

rendering a virtual desktop using the first virtual graphics card in a frame buffer.

12 . The method as set forth in claim 11 wherein said share of the physical graphics accelerator device comprises a time slice.

13 . The method as set forth in claim 11 wherein said share of the physical graphics accelerator device comprises a thread running on said physical graphics accelerator device.

14 . The method of rendering graphics in a multi-user environment as set forth in claim 9 , said method further comprising:

transmitting the virtual desktop to a remote terminal system.

15 . A server system for serving multiple users, said server system comprising:

a processor and a memory system;

a physical graphics accelerator device;

a terminal server module for handling multiple terminal sessions; and

a first virtual 3D graphics card for the first terminal session, said first virtual 3D graphics card being assigned a share of physical graphics accelerator device, said first virtual 3D graphics card rendering a virtual desktop using the first virtual 3D graphics card in a first frame buffer.

16 . The method as set forth in claim 15 wherein said share of the physical graphics accelerator device comprises a time slice.

17 . The method as set forth in claim 15 wherein said share of the physical graphics accelerator device comprises a thread running on said physical graphics accelerator device.

18 . The method of rendering graphics in a multi-user environment as set forth in claim 15 , said method further comprising:

transmitting the virtual desktop to a remote terminal system.

19 . A server system for serving multiple users, said server system comprising:

a processor and a memory system;

a physical graphics accelerator device;

a terminal server module for handling multiple terminal sessions;

a first virtual 3D graphics card for the first terminal session, said first virtual 3D graphics card being assigned a share of physical graphics accelerator device, said first virtual 3D graphics card rendering a virtual desktop using the first virtual 3D graphics card in a first frame buffer; and

a first transcoder, said first transcoder receiving a display request comprising a first video stream, said first transcoder transcoding from a first intra-frame to a next infra-frame of said video stream and then saving a process state, said first transcoder accessing a second video stream from a second terminal session and repeating said actions of transcoding, saving, and accessing.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDRESS OF ASSIGNEE PREVIOUSLY RECORDED AT REEL: 030390 FRAME: 0535. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 6, 2015
From: NCOMPUTING, INC.
To: ARES CAPITAL CORPORATION
Reel/Frame 037058/0390 →
SECURITY AGREEMENT Recorded Feb 6, 2014
From: NCOMPUTING, INC., A DELAWARE CORPORATION; NCOMPUTING, INC., A CALIFORNIA CORPORATION
To: PINNACLE VENTURES, L.L.C.
Reel/Frame 032166/0456 →
SECURITY AGREEMENT Recorded May 9, 2013
From: NCOMPUTING, INC.
To: ARES CAPITAL CORPORATION
Reel/Frame 030390/0535 →
RELEASE OF SECURITY INTEREST Recorded Mar 20, 2013
From: SAND HILL CAPITAL IV, LP
To: NCOMPUTING, INC.
Reel/Frame 030052/0816 →
SECURITY AGREEMENT Recorded Dec 11, 2010
From: NCOMPUTING, INC.
To: SAND HILL CAPITAL IV, L.P.
Reel/Frame 025473/0001 →