IP Library Granted Patent US 9,061,206
Granted Patent B2
US 9,061,206 · App. 11/178,177 · Granted Jun 23, 2015

Video game system using pre-generated motion vectors

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,061,206
App. No.
11/178,177
Granted
Jun 23, 2015
Kind
B2
Abstract

A method and related system of generating a frame of video is disclosed. In the method, a request is received. For instance, the request may initiate a video game. A motion search between an object in a subsequent frame of video and the object in a current frame of video is performed. A pre-determined motion vector for the object is selected. The object in the subsequent frame of video may correspond to a set of pre-encoded macro-blocks and the performing the motion search may include searching a corresponding set of macro-blocks associated with the current frame of video. The pre-encoded macro-blocks may be pre-encoded prior to the request. The motion vector may be pre-determined prior to the request.

Claims (41)

1. A method, comprising:

at a video game system comprising one or more video game servers:

receiving a request to initiate execution of a video game;

during execution of the video game, generating encoded frames of video using a plurality of pre-encoded macro-blocks, the generating comprising selecting a pre-encoded motion vector for a respective macro-block in a current frame, the pre-encoded motion vector corresponding to displacement of an object in the current frame as compared to a previous frame; and

transmitting the encoded frames of video to a user device for decoding and display,

wherein the object corresponds to a set of the pre-encoded macro-blocks, and wherein the pre-encoded macro-blocks are pre-encoded prior to the request to initiate execution of the video game, and the pre-encoded motion vector is pre-encoded prior to the request to initiate execution of the video game.

2. The method of claim 1 , wherein the generating further comprises determining correction data, wherein the correction data are added to the set of the pre-encoded macro-blocks corresponding to the object in the current frame of video.

3. The method of claim 1 , wherein the transmitting comprises transmitting a predictive macro-block containing the pre-encoded motion vector in a data stream, wherein the data stream corresponds to the current frame of video.

4. The method of claim 1 , wherein the object is represented in an animation sequence.

5. The method of claim 1 , wherein the set of the pre-encoded macro-blocks includes two macro-blocks.

6. The method of claim 1 , wherein the set of the pre-encoded macro-blocks includes two macro-blocks in a horizontal direction and two macro-blocks in a vertical direction.

7. A method, comprising:

at a video game system comprising one or more video game servers:

receiving a request to initiate execution of a video game; and

during execution of the video game:

transmitting an encoded previous frame of video corresponding to a first array of macro-blocks to a user device for decoding and display;

generating an encoded current frame of video, the generating comprising, for a macro-block of the current frame of video, selecting a pre-encoded motion vector pre-determined prior to the request to initiate execution of the video game, the pre-encoded motion vector corresponding to displacement of an object in the current frame as compared to the previous frame; and

when the pre-encoded motion vector meets predefined criteria with respect to the previous frame and the current frame of video, transmitting the current frame of video to the user device for decoding and display, the current frame of video comprising the pre-encoded motion vector.

8. The method of claim 7 , wherein the criteria is an encoding efficiency.

9. The method of claim 7 , wherein the criteria is an amount of correction data that is less than a predefined threshold.

10. An apparatus, comprising:

one or more processors; and

memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including:

instructions for receiving a request to initiate execution of a video game;

instructions for generating, during execution of the video game, encoded frames of video using a plurality of pre-encoded macro-blocks, comprising instructions for selecting a pre-encoded motion vector for a respective macro-block in a current frame, the pre-encoded motion vector corresponding to displacement of an object in the current frame as compared to a previous frame; and

instructions for transmitting the encoded frames of video to a user device for decoding and display,

wherein the object corresponds to a set of the pre-encoded macro-blocks, and wherein the pre-encoded macro-blocks are pre-encoded prior to the request to initiate execution of the video game, and the motion vector is pre-encoded prior to the request to initiate execution of the video game.

11. The apparatus of claim 10 , wherein the instructions for generating further comprise instructions for determining correction data and adding the correction data to the set of the pre-encoded macro-blocks corresponding to the object in the current frame of video.

12. The apparatus of claim 10 , wherein the instructions for transmitting comprise instructions for transmitting a predictive macro-block containing the pre-encoded motion vector in a data stream, wherein the data stream corresponds to the current frame of video.

13. The apparatus of claim 10 , wherein the object is to be represented in an animation sequence.

14. The apparatus of claim 10 , wherein the set of the pre-encoded macro-blocks includes two macro-blocks.

15. The apparatus of claim 10 , wherein the set of the pre-encoded macro-blocks includes two macro-blocks in a horizontal direction and two macro-blocks in a vertical direction.

16. An apparatus, comprising:

one or more processors; and

memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including:

instructions for receiving a request to initiate execution of a video game;

instructions for transmitting, during execution of the video game, an encoded previous frame of video corresponding to a first array of macro-blocks to a user device for decoding and display;

instructions for generating, during execution of the video game, an encoded current frame of video, the instructions for generating comprising instructions for selecting a pre-encoded motion vector pre-encoded prior to the request to initiate execution of the video game, the pre-encoded motion vector corresponding to displacement of an object in the current frame as compared to the previous frame; and

instructions for transmitting the current frame of video to the user device for decoding and display when the pre-encoded motion vector meets predefined criteria with respect to the previous frame and the current frame of video, the current frame of video comprising the pre-determined motion vector.

17. The apparatus of claim 16 , wherein the criteria is an encoding efficiency.

18. The apparatus of claim 16 , wherein the criteria is an amount of correction data that is less than a predefined threshold.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2015
From: VENTURE LENDING & LEASING IV, LLC
To: ACTIVEVIDEO NETWORKS, INC.
Reel/Frame 035139/0986 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2011
From: TAG NETWORKS, INC.
To: ACTIVEVIDEO NETWORKS, INC.
Reel/Frame 027457/0683 →
SECURITY AGREEMENT Recorded Apr 24, 2007
From: TV HEAD, INC.
To: VENTURE LENDING & LEASING IV, INC.
Reel/Frame 019227/0368 →
CHANGE OF NAME Recorded Mar 26, 2007
From: TVHEAD, INC.
To: TAG NETWORKS, INC.
Reel/Frame 019066/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2005
From: CRAIG, ROBERT; MERCER, CLIFFORD WAYNE; SIGMUND, ULRICH
To: TVHEAD, INC.
Reel/Frame 016596/0018 →