Patent ID: 8284842

Claim:
A method, comprising: at a video game system comprising one or more video game servers: storing pre-encoded macro-blocks in a bank of individually addressable pre-encoded macro-blocks; and for each of two or more video games: receiving a request to initiate the video game; receiving a command corresponding to a user action in the video game; in response to the command, generating a frame of video using a plurality of the pre-encoded macro-blocks, the generating comprising: dynamically generating a macro-block in accordance with the user action, or a prior user action, in the video game; storing respective pointers to respective entries in a grid distinct from the bank, the respective pointers referencing the dynamically-generated macro-block and respective pre-encoded macro-blocks in the bank, the respective entries corresponding to respective locations in the frame of video, wherein the grid comprises a 2-dimensional array of entries having multiple rows of entries, each row of entries in the grid corresponds to a slice of the frame of video, and each entry in the grid stores a pointer to a-corresponding macro-block of the frame of video; comparing a previous state of the grid with a current state of the grid and selectively including in the data stream corresponding to the frame of video intra macro-blocks and predictive macro-blocks in accordance with the comparing; and transmitting a data stream corresponding to the frame of video to a user device for display; wherein the frame of video is compatible with an MPEG compression standard, the pre-encoded macro-blocks are pre-encoded and stored in the bank prior to receiving the requests to initiate the two or more video games, and respective pre-encoded macro-blocks in the bank are shared between the two or more video games.