×

System and method for protecting certain types of multimedia data transmitted over a communication channel

  • US 9,084,936 B2
  • Filed: 01/23/2009
  • Issued: 07/21/2015
  • Est. Priority Date: 12/10/2002
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for hosting online applications or video games, performing video compression comprising, and transmitting video comprising:

  • receiving a request from a first user for playing a low latency video game or executing an application which produces a video output;

    generating first control signals on a first client device in response to user input from an input device of the first client device being actuated by the first user as the first user is playing the video game or using the application;

    capturing video and audio of the first user as the first user is playing the video game or using the application;

    generating second control signals from a second client in response to an input device of the second client being actuated by a second user as the second user is playing the low latency video game or using the application;

    transmitting the first control signals over a first communication channel of the first client which includes at least one public network component and transmitting the video and audio of the first user from the first client to the one or more servers;

    transmitting the second control signals over a second communication channel of the second client which includes at least one public network component;

    routing the first control signals and second control signals to one or more servers, as the first and second users are playing the video game or using the application;

    responsively executing the video game or application on the one or more servers based on both the first control signals and the second control signals to generate video output comprising at least one sequence of video images of the video game or application;

    determining characteristics of the first client and/or the first communication channel;

    determining characteristics of the second client and/or the second communication channel;

    compressing the at least one sequence of video images of the video game or application in accordance with the determined characteristics of the first client and/or the first communication channel using low latency compression to generate a first sequence of compressed video images having a first set of characteristics;

    compressing the sequence of video images of the video game or application in accordance with the determined characteristics of the second client and/or the second communication channel using low latency compression to generate a second sequence of compressed video images having a second set of characteristics;

    incorporating the video and/or audio of the first user into the second sequence of video images compressed in accordance with the determined characteristics of the second client and/or the second communication channel to update the second sequence of compressed video images;

    wherein compressing the at least one sequence of video images to generate the first and the second sequences of video images further comprises;

    logically subdividing each of a sequence of images into a plurality of image portions;

    encoding one or more of the image portions in each image of the sequence of images using a first compression format and encoding the remainder of the image portions in each image using a second compression format, the second compression format dependent on image portions previously-encoded using the first and/or the second compression formats;

    generating a forward error correction (FEC) code for image portions encoded using at least the first compression format;

    transmitting the first sequence of compressed video images and the FEC code with each of the image portions encoded using the first compression format to the first client,transmitting the updated second sequence of compressed video images including the video and audio of the first user and the FEC codes with each of the image portions encoded using the first compression format to the second client,wherein compressed video images that have more data than can be transmitted at a peak data rate in one image time are transmitted over one or more additional image times;

    decompressing the first sequence of compressed video images on the first client and decompressing the updated second sequence of compressed video images including the video and audio of the first user on the second client and using at least some of the FEC codes to correct errors in at least some of the image portions;

    rendering the video images contained in the first sequence of compressed video images on a display of the first client and rendering the video images contained in the updated second sequence of compressed video images including the video and audio of the first user on a display of the second client;

    wherein the operations of generating first and second control signals, capturing video and audio of the first user, transmitting the first and second control signals over the network, transmitting the video and audio of the first user, routing the first and second control signals transmitted over the network to one or more servers, executing the video game or application, compressing the video output using low latency compression to generate the first and second sequences of compressed video images, incorporating the video and/or audio of the first user into the second sequence of video images, generating the FEC codes, transmitting the first and second sequences of compressed video images and FEC codes to the first and second clients, respectively, decompressing the first and second sequences of compressed video images on the first and second clients, respectively, and using the FEC codes to correct errors in at least some of the tiles, and rendering the video images are performed with a latency such that both the first and second users have the perception that the selected video game or application is responding instantly to the signals.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×