System and method for compressing video frames or portions thereof based on feedback information from a client device

US9314691B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9314691-B2
Application numberUS-53805409-A
CountryUS
Kind codeB2
Filing dateAug 7, 2009
Priority dateDec 10, 2002
Publication dateApr 19, 2016
Grant dateApr 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed: 1. A computer-implemented method for performing video compression comprising: receiving control signals by a first server, the control signals received from a client device over a network to the first server, the control signals corresponding to user input from an input device of the client device being actuated by a user as the user is playing an online video game; executing the video game on the first server at a first hosting service center in response to the received control signals to generate video output comprising sequences of video frames of the video game; receiving feedback information by the first server, the feedback information received from the client device, the feedback information configured to be usable to determine whether data contained in the video frames or portions thereof has not been successfully received or decoded at the client device; encoding each of the video frames or portions thereof including: dividing each of the video frames into a plurality of tiles; selecting one of the plurality of tiles according to the feedback information received by the first server; encoding the selected one of the plurality of tiles using a first encoding format, the first encoding format being independent of previously encoded video frames; encoding remaining ones of the plurality of tiles using a second encoding format, the second encoding format being dependent on a previously encoded video frame; generating a sequence of low-latency video frames, each video frame having the encoded plurality of tiles; transmitting the sequence of low-latency video frames or portions thereof by the first server over the network to the client device. 2. The method as in claim 1 wherein, the feedback information includes an indication whether to encode a current video frame or portion thereof in the first encoding format or the second encoding format. 3. The method as in claim 2 wherein the feedback information is further usable to identify a previous frame or portion thereof successfully received by the client, wherein a new frame is encoded according to the second encoding format to be dependent on the previous successfully received frame. 4. The method as in claim 1 wherein the feedback information comprises an indication that the previously encoded frames or portions thereof have been successfully received or decoded at the client device. 5. The method as in claim 1 wherein the feedback information comprises an indication that the previously encoded frames or portions thereof have not been successfully received or decoded at the client device. 6. The method as in claim 1 wherein the sequence of low-latency video frames comprise images of a video game displayed by the display device coupled the client device. 7. The method as in claim 1 wherein the feedback information includes an indication that the sequence of low-latency video frames or portion thereof have been decoded at the client device and an indication that images associated with each of the sequence of low-latency video frames or portions thereof have been displayed by a display device coupled to the client device. 8. The method as in claim 1 further comprising: determining a channel characteristic of a communication channel in the network between the first server and the client device. 9. The method as in claim 8 wherein the channel characteristic is determined from the feedback information received by the first server from the client device. 10. The method as in claim 8 wherein the channel characteristic comprises a maximum supported data rate of the communication channel. 11. The method as in claim 8 wherein the channel characteristic comprise at least one of a level of packet loss or a latency. 12. The method as in claim 8 further comprising: dynamically adjusting at least one of the data rate or the compression ratio for the low-latency video frames based on a detected change in the channel characteristic. 13. The method as in claim 12 wherein the data rate or the compression ratio is adjusted by modifying a frame rate of the low-latency video frames. 14. The method as in claim 12 wherein the data rate or the compression ratio is adjusted by modifying an image resolution of the low-latency video frames. 15. The method as in claim 8 wherein when the image resolution is modified, the decoder on the client device scales up the image to maintain the same image size on the display device coupled to the client device. 16. The method as in claim 8 wherein when the communication channel in the network between the first server and the client device becomes inoperative, the first server pauses the video game. 17. The method as in claim 16 wherein when the communication channel becomes inoperative and the first user of the client device is playing a multiplayer video game, other users playing the multiplayer video game are notified that the first user has dropped out. 18. The method as in claim 17 wherein the multiplayer video game is paused for the other users when the first user drops out. 19. The method as in claim 8 wherein determining the channel characteristic comprises: determining a maximum data rate capacity of the communication channel by sending an increasingly higher data rate stream to the client device until at least one of a packet loss or a higher latency indicates the maximum data rate capacity of the communication channel has been exceeded. 20. The method as in claim 19 further comprising: determining that the maximum data rate capacity of the communication channel has decreased based on at least one of a detected increase in packet loss or an increase in latency while the low-latency video frames are being streamed to the client device; and responsively and dynamically reducing the data rate or increasing the compression ratio of the low-latency video frames until at least one of the packet loss or latency have reached corresponding predetermined acceptable values. 21. The method as in claim 19 further comprising: determining that the maximum data rate capacity of the communication channel has increased based on continued measurements of packet loss or latency; and responsively and dynamically increasing the data rate or decreasing the compression ratio of the low-latency video frames until at least one of the packet loss or latency have reached a corresponding predetermined unacceptable level. 22. The method as in claim 8 wherein data packets containing the low-latency video frames are received by the client device in a different order than in which the received video frames are displayed on the display device coupled to the client device. 23. The method as in claim 1 further comprising: employing forward error correction (FEC) techniques to protect at least one of a specified low-latency video frames or portions thereof or the control signals received by the first server from the client device. 24. The method as in claim 23 where the forward error correction (FEC) techniques are only employed to the extent required based on a detected maximum data rate capacity of the communication channel between the client device and the first server. 25. A system for playing an online video game comprising: a hosting service center including a plurality of servers, the plurality of servers including a first server, the first server including: a memory system, a processor, a video frame

Assignees

Inventors

Classifications

  • for network load management, e.g. bandwidth optimization, latency reduction · CPC title

  • for generating different versions · CPC title

  • Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking · CPC title

  • Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client · CPC title

  • Acknowledgement · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9314691B2 cover?
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 i…
Who is the assignee on this patent?
Perlman Stephen G, Van Der Laan Roger, Cotter Timothy, and 4 more
What technology area does this patent fall under?
Primary CPC classification A63F13/25. Mapped technology areas include Human Necessities.
When was this patent published?
Publication date Tue Apr 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).