IP Library Patent Application 11960640
Patent Application
App. No. 11/960,640

Video Data Capture and Streaming

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.
11/960,640
Abstract

Embodiments of the video data capture and stream method comprise intercepting a flip function call comprising a call by the video application to flip frames between a display and a buffer, grabbing a copy of the current frame that would normally be processed by a central processing unit (CPU), placing the copy in a queue for processing by a graphics processing unit (GPU), wherein processing by the GPU is significantly faster than processing by the CPU.

Claims (43)

1 . A video data capture method comprising:

intercepting a call to flip from a first buffer to a second buffer;

placing a copy of a current frame stored in the first buffer in a queue for encoding; and

calling a previous address of the intercepted call such that previous processing continues.

2 . The method of claim 1 , further comprising:

determining whether updating of the buffers is occurring at greater than a desired frame rate; and

if the updating is occurring at a greater than a desired frame rate, noting a delta time between flips and skipping frames as required.

3 . The method of claim 1 , further comprising replacing an address of the call with a substitute address.

4 . The method of claim 3 , further comprising:

placing the substitute address in a dynamic link library (DLL) function table; and

saving the address of the call.

5 . The method of claim 1 , wherein the call is from an application.

6 . The method of claim 1 , wherein encoding comprises encoding by a GPU the frame data stored in at least one of the buffers and wherein the method further comprises streaming the encoded frames to at least one destination via a network.

7 . A video data capture system, comprising:

at least one video data source comprising a central processing unit (CPU) running a video application;

at least one graphics processing unit (GPU) coupled to the video data source for receiving video frames, the at least one GPU configurable to,

intercept a flip function call comprising a call by the video application to flip frames between a first and second buffer;

grab a copy of the current frame that would normally be processed by a central processing unit (CPU); and

place the copy in a queue for processing by a graphics processing unit (GPU), wherein processing by the GPU is significantly faster than processing by the CPU.

8 . The system of claim 7 , further comprising calling a previous address of the intercepted function such that previous processing continues.

9 . The method of claim 7 , wherein the at least one GPU is further configurable to:

determine whether the application is updating a screen displaying the video data at greater than a desired frame rate; and

if the application is updating the screen at greater than a desired frame rate, note a delta time between frame flips and skipping frames as required.

10 . The method of claim 7 , further comprising replacing an address of the flip function call with a substitute address.

11 . The method of claim 10 , further comprising:

placing the substitute address in a dynamic link library (DLL) function table; and

saving the address of the flip function call.

12 . The method of claim 7 , wherein the application is a video game.

13 . The method of claim 7 , wherein processing by the GPU comprises encoding the video data and wherein the method further comprises streaming the encoded video data to at least one destination via a network.

14 . A computer readable medium having instructions stored thereon that, when executed in a system comprising a video data source, cause a video data capture method to be executed, the method comprising:

intercepting a call to flip from a first buffer to a second buffer;

placing a copy of a current frame stored in the first buffer in a queue for encoding; and

calling a previous address of the intercepted call such that previous processing continues.

15 . The computer readable medium of claim 14 , wherein the method further comprises:

determining whether updating of the buffers is occurring at greater than a desired frame rate; and

if the updating is occurring at a greater than a desired frame rate, noting a delta time between flips and skipping frames as required.

16 . A method of viewing an application at a device comprising:

transmitting to application inputs to an application server remote from the device;

receiving an encoded video data stream at the device, said encoded video data stream encoding application output, said application output responsive to the transmitted application inputs; and

decoding said received encoded video data stream.

17 . The method of claim 16 further comprising displaying said decoded video data stream.

18 . The method of claim 16 wherein said device comprises a mobile device.

19 . The method of claim 16 wherein said application comprises a game application and wherein said application inputs comprise game application inputs and wherein said application output comprises frame data.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2025
From: ONESTA IP LLC
To: MAGNUSON RESEARCH LLC
Reel/Frame 071352/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2024
From: ADVANCED MICRO DEVICES, INC.
To: ONESTA IP, LLC
Reel/Frame 069381/0951 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2007
From: SCHMIT, MICHAEL L.; KILLEBREW, CARRELL DANIEL; GURUMURTHY, SHIVASHANKAR
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 020274/0306 →