Patent application number | Description | Published |
20090118017 | Hosting and broadcasting virtual events using streaming interactive video - A method comprising broadcasting a live game tournament in the form of a multicasted streaming interactive video stream from a hosting service to a plurality of viewers over the Internet. Audio from an announcer is overlaid by the hosting service onto the multicasted video stream. | 05-07-2009 |
20090118018 | System for reporting recorded video preceding system failures - A method comprising running a game or application on a server of a hosting service system and constantly recording video/audio output of the game or application in a delay buffer. On periodic intervals reports are made to the hosting service system by a watchdog process whether the game or application is running smoothly. If the watchdog process fails to report in during a periodic interval, then collecting, by the hosting service system any available machine state of the game or application along with the video/audio recorded by the delay buffer. | 05-07-2009 |
20090118019 | System for streaming databases serving real-time applications used through streaming interactive video - An apparatus comprising one or more servers of a hosting service server center and a RAID that stores geometry for objects of a complex scene. The RAID being coupled to the one or more application or game servers and being operable to interactively stream the geometry on-the-fly during real-time animation associated with running of a game or application on the one or more servers. The geometry is being streamed with substantially no detectable latency. | 05-07-2009 |
20090119729 | Method for multicasting views of real-time streaming interactive video - A method includes multicasting by a server center of streaming interactive video/audio streams to multiple destinations via an outbound Internet traffic interface. A given video/audio stream is routed to multiple destinations simultaneously. At least one of the video/audio streams is received at a delay buffer of the server center, the delay buffer storing a replayable portion of at least one of the video/audio streams. | 05-07-2009 |
20090119730 | System for combining a plurality of views of real-time streaming interactive video - An apparatus comprises a plurality of servers arranged in a parallel processing configuration to create a plurality of streams of low-latency streaming interactive video. Each server produces a stream of low-latency streaming interactive video. A unit combines the plurality of streams into a new stream of low-latency streaming interactive video. The unit is also operable to provide a user interface that allows real-time interactive manipulation of the resulting combined streams by a user. | 05-07-2009 |
20090119731 | System for acceleration of web page delivery - A method comprising running a web browser on one or more servers of a service center, and hosting files for a web page on a storage unit associated with the one or more servers. Upon receiving user input from a client device to the web browser at the service center, streaming interactive video web page is transmitted to the client device with substantially no detectable latency. | 05-07-2009 |
20090119736 | System and method for compressing streaming interactive video - A server center for hosting low-latency streaming interactive audio/video (A/V) includes a plurality of servers that run one or more applications and an inbound routing network that receives packet streams from users via a first network interface and routes the packets to one or more of the servers. The packet streams include user control input. One or more of the servers are operable to compute A/V data responsive to the user control input. A compression unit is coupled to receive the A/V data from the one or more of the servers and output compressed A/V data therefrom. An output routing network that routes the compressed A/V data to each of the users over a corresponding communication channel via a second interface, the compression unit is operable to modify a compression rate responsive to current characteristics of the corresponding communication channel for each user so as to optimize performance of the one or more applications. | 05-07-2009 |
20090119737 | System for collaborative conferencing using streaming interactive video - An apparatus comprising a server that generates a stream of streaming interactive video and/or audio. Means for multicasting the stream to a plurality of client devices accommodating different device video, audio and/or network characteristics, and means for allowing input from one or more of the client devices to control the streaming interactive video. | 05-07-2009 |
20090119738 | System for recursive recombination of streaming interactive video - A plurality of servers whose video output is coupled to video compression apparatus that transmits streaming interactive video to a plurality of users, with a feedback loop whereby the streaming interactive video is recursively combined within the video output of the plurality of servers. | 05-07-2009 |
20090124387 | Method for user session transitioning among streaming interactive video servers - A method by which a streaming interactive video user session is handed off from one streaming interactive video server to another without noticeable disruption to the video stream or the user interactivity. | 05-14-2009 |
20090125961 | Method of combining linear content and interactive content compressed together as streaming interactive video - A method comprising combining Internet linear video together with interactive video content into a single video stream that is compressed and transmitted in the form of streaming interactive video through the Internet to a user client device. | 05-14-2009 |
20090125967 | Streaming interactive video integrated with recorded video segments - A method comprising executing a program on a server of a server center that generates and streams a user page in the form of streaming interactive video on a display of a user computer connected to the server via the Internet, the user page including a plurality of video windows, one or more of the video windows including streaming interactive video as well as simultaneously recorded video segments which are replayable by the user. | 05-14-2009 |
20090125968 | System for combining recorded application state with application streaming interactive video output - An apparatus for recording application state information over time while simultaneous recording application streaming interactive video output. A playback means in which the recorded application video may be played back or the application may be re-executed with the application state information. | 05-14-2009 |
20090196516 | System and Method for Protecting Certain Types of Multimedia Data Transmitted Over a Communication Channel - A system and method are described for protecting certain types of multimedia data transmitted over a communication channel. For example, one embodiment of a computer-implemented method comprises: logically subdividing each of a sequence of images into a plurality of tiles, each of the tiles having a defined position within each of the sequence of images, the defined position remaining the same between successive images; encoding one or more of the tiles in each image of the sequence of images using a first compression format and encoding the reminder of the tiles in each image using the second compression format, the second compression format dependent on tiles previously-encoded by the first and/or the second compression formats; generating a forward error correction (FEC) code for tiles encoded using the first compression format; transmitting the FEC code with each of the tiles encoded using the first compression format to a client. | 08-06-2009 |
20090213927 | System and Method for Compressing Video Based on Detected Data Rate of a Communication Channel - A system and method are described below for encoding interactive low-latency video using interframe coding. For example, one embodiment of a computer-implemented method for performing video compression comprises: detecting a maximum data rate of a communication channel between a server and a client; dynamically selecting a tile size for encoding a sequence of images based on the detected maximum data rate; logically subdividing each of the sequence of images into a plurality of tiles sized according to the selected tile size, each of the tiles having a defined position within each of the sequence of images; encoding each tile within each image of the sequence of images using a first compression format or a second compression format, wherein a tile at a particular position of a first image in the sequence of images is encoded using the first compression format and the same tile within one or more subsequent images is encoded using the second compression format. | 08-27-2009 |
20090213935 | System and Method For Compressing Video By Allocating Bits To Image Tiles Based On Detected Intraframe Motion Or Scene Complexity - A system and method are described below for encoding interactive low-latency video using interframe coding. For example, one embodiment of a computer-implemented method for performing video compression comprises: logically subdividing each of a sequence of images into a plurality of tiles, each of the tiles having a defined position within each of the sequence of images, the defined position remaining the same between successive images; detecting motion or high scene complexity within the sequence of images occurring at each of the positions of each of the tiles; and encoding each tile within each image of the sequence of images using a specified number of bits, the number of bits selected based on the detected amount of motion at the position of each tile across the sequence of images. | 08-27-2009 |
20090215531 | System and Method for Storing Program Code and Data Within an Application Hosting Center - A system and method are described for storing program code and data within an application hosting center. For example, one embodiment of a computer-implemented method comprises: subdividing program code and/or data used to execute an online application into a first type and a second type; storing program code and data of the first type in a first type of memory, the first type of memory providing relatively low latency memory access; storing program code and data of the second type in a second type of memory, the second type of memory providing relatively higher latency memory access compared to the first type of memory; retrieving program code and data from the first memory and the second memory in response to a client request to execute an online application; and transmitting a streaming interactive video stream representing images generated by the application to the client. | 08-27-2009 |
20090215540 | System and Method for Intelligently Allocating Client Requests to Server Centers - A system and method are described for intelligently allocating client requests to server centers provide real-time streaming interactive video. For example, one embodiment of a computer-implemented method comprises: strategically positioning a plurality of application server centers at different geographical locations; receiving a request from a client to execute an online application; determining the latency requirements based on the type of application requested by the client; and forwarding the client request to a particular application server center within the plurality based at least on the latency requirements of the requested application. | 08-27-2009 |
20090220001 | Tile-Based System and method For Compressing Video - A system and method are described below for encoding interactive low-latency video using interframe coding. For example, one embodiment of a computer-implemented method for performing video compression comprises: logically subdividing each of a sequence of images into a plurality of tiles, each of the tiles having a defined position within each of the sequence of images, the defined position remaining the same between successive images; encoding one of the tiles at a first defined position in a first image of the sequence of images using a first compression format and encoding the reminder of the tiles in the first image using the second compression format; and encoding one of the tiles at a second defined position in a second image of the sequence of images using the first compression format and encoding the reminder of the tiles in the first image using the second compression format; wherein the second compression format is dependent on previously-encoded tiles encoded according to the first compression format and/or the second compression format. | 09-03-2009 |
20090220002 | SYSTEM AND METHOD FOR COMPRESSING VIDEO BASED ON DETECTED INTRAFRAME MOTION - A system and method are described below for encoding interactive low-latency video using interframe coding. For example, one embodiment of a computer-implemented method for performing video compression comprises: logically subdividing each of a sequence of images into a plurality of tiles, each of the tiles having a defined position within each of the sequence of images, the defined position remaining the same between successive images; detecting motion within the sequence of images occurring at each of the positions of each of the tiles; and encoding each tile within each image of the sequence of images using a first compression format or a second compression format, wherein the frequency at which a particular tile is encoded according to the first compression format across the sequence of images is based on the detected amount of motion at the position of that tile across the sequence of images. | 09-03-2009 |
20090225828 | Video Compression System and Method for Compensating for Bandwidth Limitations of a Communication Channel - A system and method are described below for encoding interactive low-latency video using interframe coding. For example, one embodiment of a computer-implemented method for performing video compression comprises: detecting a maximum data rate of a communication channel between a server and a client; transmitting a video stream comprising a series of sequential frames from the server to the client; detecting that the maximum data rate will be exceeded if a particular frame of the sequence of frames is transmitted from the server to the client over the communication channel; and in lieu of transmitting the frame which could cause the maximum data rate to be exceeded, causing the client to re-render the previous frame of the sequence of frames, thereby effectively reducing the frame rate of the video stream rendered on the client. | 09-10-2009 |
20100166056 | SYSTEM AND METHOD FOR ENCODING VIDEO USING A SELECTED TILE AND TILE ROTATION PATTERN - A computer-implemented system and method are described for encoding video. For example, a method according to one embodiment comprises: selecting a tile size for subdividing each image in a sequence of images based on a specified type of encoding algorithm to be used for encoding the tiles, wherein M tiles are encoded for each image, each tile being encoded according to a first encoding format or a second encoding format, each tile having a designated tile location within each image; specifying a rotating pattern to be used for encoding the tiles over a sequence of N images, the rotating pattern comprising encoding only certain tiles of each image using the first encoding format, and rotating the tile locations selected for the first encoding format over the N images to ensure that all M tiles have been encoded according to the first encoding format across the N images; and encoding the sequence of N images using the rotating pattern. | 07-01-2010 |
20100166058 | Temporary Decoder Apparatus and Method - A computer-implemented system and method for streaming video from a server to a client are described. For example, a method according to one embodiment comprises: receiving at the server a request for video content from the client; in response to the request, determining the hardware/software configuration of the client; generating and/or selecting a temporary decoder based on the hardware/software configuration of the client; transmitting the temporary decoder to the client, the client installing the temporary decoder; encoding and streaming the requested video content from the server to the client, the video content being encoded based on the capabilities of the temporary decoder, the video content being decoded by the temporary decoder and rendered on the client; detecting that the client has ended the session with the server; and in response to detecting that the client has ended the session, temporarily disabling and/or removing the temporary decoder from the client. | 07-01-2010 |
20100166062 | System and Method for Selecting a Video Encoding Format Based on Feedback Data - A computer-implemented system and method for performing video compression are described. For example, a method according to one embodiment comprises: encoding a plurality of video frames or portions thereof according to a first encoding format; transmitting the plurality of encoded video frames or portions to a client device; receiving feedback information from the client device, the feedback information usable to determine whether data contained in the video frames or portions has been successfully received and/or decoded; in response to detecting that one or more video frames or portions thereof have not been successfully received and/or decoded, determining a number of video frames or portions thereof which have not been successfully received and/or decoded and: (1) if the number of video frames or portions thereof which have not been successfully received and/or decoded is above a specified threshold, then encoding a new video frame or portion thereof according to a second encoding format, the second encoding format comprising a format which is not dependent on previously-transmitted video frames or portions thereof; or (2) if the number of video frames or portions thereof which have not been successfully received and/or decoded is below a specified threshold, then encoding a new video frame or portion thereof according to the first encoding format, the new video frame encoded to be dependent on a last known successfully received video frame or portion thereof; and transmitting the new video frame or portion thereof to the client device. | 07-01-2010 |
20100166063 | SYSTEM AND METHOD FOR COMPRESSING VIDEO FRAMES OR PORTIONS THEREOF BASED ON FEEDBACK INFORMATION FROM A CLIENT DEVICE - A computer-implemented system and method are described for performing video compression. For example, a method according to one embodiment comprises: encoding a plurality of video frames or portions thereof according to a first encoding format; transmitting the plurality of encoded video frames or portions to a client device; receiving feedback information from the client device, the feedback information usable to determine whether data contained in the video frames or portions has not been successfully received and/or decoded; in response to detecting that a video frame or portion thereof has not been successfully received and/or decoded, encoding a video frame or portion thereof according to a second encoding format; and transmitting the video frames or portions thereof to the client device. | 07-01-2010 |
20100166064 | System and Method for Utilizing Forward Error Correction with Video Compression - A computer-implemented system and method are described for performing video compression. For example, a method according to one embodiment comprises: encoding a plurality of video frames or portions thereof according to a first encoding format; transmitting the plurality of encoded video frames or portions to a client device; receiving feedback information from the client device, the feedback information usable to determine whether data contained in the video frames or portions has not been successfully received and/or decoded; in response to detecting that one or more video frames or portions thereof have not been successfully received and/or decoded, then either encoding a new video frame or portion thereof according to a second encoding format or encoding the new video frame to be dependent on the last video frame or portion thereof known to have been successfully received and/or decoded, and: (1) if no forward error correction (FEC) coding is used to transmit the plurality of encoded video frames or portions, then encoding a new video frame or portion thereof using FEC coding; or (2) if a first FEC coding is used to transmit the plurality of encoded video frames or portions, then encoding a new video frame or portion thereof using a second FEC coding, the second FEC coding being a relatively stronger FEC coding than the first FEC coding; and transmitting the new video frame or portion thereof to the client device. | 07-01-2010 |
20100166065 | System and Method for Compressing Video Based on Latency Measurements and Other Feedback - A computer-implemented system and method for performing video compression are described. For example, a method according to one embodiment of the invention comprises: encoding a plurality of video frames or portions thereof according to a first encoding format; transmitting the plurality of encoded video frames or portions to a client device; receiving feedback information from the client device, the feedback information usable to determine whether data contained in the video frames or portions has been successfully received and/or decoded; determining latency associated with communicating with the client device; in response to detecting that one or more video frames or portions thereof have not been successfully received and/or decoded: (1) if the latency is above a specified threshold, then encoding a new video frame or portion thereof according to a second encoding format, the second encoding format comprising a format which is not dependent on previously-transmitted video frames or portions thereof; or (2) if the latency is below a specified threshold, then encoding a new video frame or portion thereof according to the first encoding format, the new video frame encoded to be dependent on a last known successfully received video frame or portion thereof; and transmitting the new video frame or portion thereof to the client device. | 07-01-2010 |
20100166066 | System and Method for Video Compression Using Feedback Including Data Related to the Successful Receipt of Video Content - A computer-implemented system and method for performing video compression are described. For example, a method according to one embodiment comprises: encoding a first plurality of video frames or portions thereof, wherein each encoded video frame or portion thereof is dependent on a previously-encoded video frame or portion thereof, respectively; transmitting the first plurality of encoded video frames or portions to a client device; receiving feedback information from the client device, the feedback information usable to determine whether data contained in the video frames or portions has not been successfully received and/or decoded; in response to detecting that a video frame or portion thereof has not been successfully received and/or decoded, encoding a current video frame or portion thereof to be dependent on a previously-encoded video frame or portion thereof known to have been successfully received and/or decoded on the client device; and transmitting the current video frame or portion thereof to the client device. | 07-01-2010 |
20100166068 | System and Method for Multi-Stream Video Compression Using Multiple Encoding Formats - A computer-implemented system and method are described for performing video compression. For example, a method according to one embodiment comprises: encoding a plurality of video frames or portions thereof according to a first encoding format, the first encoding format being optimized for transmission to a client device over a current communication channel; transmitting the plurality of encoded video frames or portions to the client device over the communication channel; concurrently encoding the first plurality of video frames according to a second encoding format, the second encoding format having a relatively higher-quality compressed video and/or a lower compression ratio than the first encoding format; storing the first plurality of video frames encoded in the second encoding format on a storage device; and making the first plurality of video frames encoded in the second encoding format available to the client device and other client devices for playback of the video stream. | 07-01-2010 |
20100167809 | System and Method for Accelerated Machine Switching - A computer-implemented system and method are described for managing the state of an online video game. For example, a method according to one embodiment comprises: initiating a new online video game in response to user input from a client device, the online video game being in a first state on a first server when initiated; executing the online video game on the server, thereby causing the online video game to enter into a second state; pausing or terminating the online video game; determining differences between the first state and the second state and generating difference data containing the differences; transmitting the difference data over a network to a second server, the second server; and recreating the second state from the difference data and the first state in response to user input indicating that the user wishes to resume the online video game and in response to the second server being selected as the server on which to execute the video game. | 07-01-2010 |
20100167816 | System and Method for Multi-Stream Video Compression - A computer-implemented system and method are described for online gaming. For example, a system according to one embodiment comprises: a video game server receiving user inputs related to an online video game and responsively executing program code of the video game to render a sequence of video images; a first stream encoder to compress the sequence of video images and generate a live video stream during a live gaming session with a user of a client device, the first stream encoder receiving channel feedback signals from the client device and responsively adapting compression of the sequence of video images based on the channel feedback signals, the first stream encoder continually transmitting the live video stream to the client device during the live gaming session with the user; a second stream encoder to compress the sequence of video images at a specified video quality and/or compression ratio unrelated to the channel feedback signal during the live gaming session with the user, thereby generating a High Quality (HQ) video stream, the HQ video stream having a relatively higher video quality and/or lower compression ratio than the live video stream; and a storage device for storing the HQ video stream for subsequent playback to the user of the client device and to other users upon request. | 07-01-2010 |
20100172309 | SYSTEM AND METHOD FOR DISTRIBUTED INPUT DISTRIBUTED OUTPUT WIRELESS COMMUNICATIONS - A system for compensating for in-phase and quadrature (I/Q) imbalances for multiple antenna systems (MAS) with multi-user (MU) transmissions (defined with the acronym MU-MAS), such as distributed-input distributed-output (DIDO) communication systems, comprising multicarrier modulation, such as orthogonal frequency division multiplexing (OFDM). For example, one embodiment of the system comprises one or more coding modulation units to encode and modulate information bits for each of a plurality of wireless client devices to produce encoded and modulated information bits; one or more mapping units to map the encoded and modulated information bits to complex symbols; and a MU-MAS or DIDO IQ-aware precoding unit to exploit channel state information obtained through feedback from the wireless client devices to compute MU-MAS or DIDO IQ-aware precoding weights, the MU-MAS or DIDO IQ-aware precoding unit precoding the complex symbols obtained from the mapping units using the weights to pre-cancel interference due to I/Q gain and phase imbalances and/or inter-user interference. | 07-08-2010 |
20120142433 | System for streaming databases serving real-time applications used through streaming interactive - An apparatus comprising one or more servers of a hosting service server center and a RAID that stores geometry for objects of a complex scene. The RAID being coupled to the one or more application or game servers and being operable to interactively stream the geometry on-the-fly during real-time animation associated with running of a game or application on the one or more servers. The geometry is being streamed with substantially no detectable latency. | 06-07-2012 |
20120149476 | Method for user session transitioning among streaming interactive video servers - A method by which a streaming interactive video user session is handed off from one streaming interactive video server to another without noticeable disruption to the video stream or the user interactivity. | 06-14-2012 |
20130145412 | System for Acceleration of Web Page Delivery - A method comprising running a web browser on one or more servers of a service center, and hosting files for a web page on a storage unit associated with the one or more servers. Upon receiving user input from a client device to the web browser at the service center, streaming interactive video web page is transmitted to the client device with substantially no detectable latency. | 06-06-2013 |