IP Library Granted Patent US 9,380,097
Granted Patent B2
US 9,380,097 · App. 14/231,825 · Granted Jun 28, 2016

Overcoming data loss in streaming video in IP networks

Inventors: Asaf Barak (Yokneam Illit, IL); Tomer Hotlzman (Haifa, IL); Shai Doron (Megiddo, IL)
Assignee: Gamefly Israel Ltd.
H04L65/604H04L65/80H04N21/2402H04N21/266H04N21/44209H04N21/6375H04N21/6547H04N21/6582
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,380,097
App. No.
14/231,825
Granted
Jun 28, 2016
Kind
B2
Abstract

A computer-implemented method, apparatus and computer program product for overcoming data loss in streaming video in IP networks. The method comprising: receiving by a computing device associated with a server transmitting video, one or more notifications from a client, each notification related to a missing packet or a corrupted frame, wherein the packet or the frame are to be received by the client; determining a situation based upon the notifications; and subject to the situation being a first situation, transmitting to the client an indication that the client is to transmit to the server notifications of a first type, and subject to the situation being a second situation, transmitting to the client an indication that the client is to transmit to the server notifications of a first type and of a second type.

Claims (37)

1. A computer-implemented method performed by a computerized device, comprising:

receiving by a computing device associated with a server transmitting video, at least one notification from a client, the notification related to a missing packet or a corrupted frame, wherein the packet or the frame are to be received by the client;

dynamically determining a situation based upon the at least one notification; and

subject to the situation being a first situation, transmitting to the client an indication that the client is to transmit to the server error notifications related to corrupted frames, and subject to the situation being a second situation, transmitting to the client an indication that the client is to transmit to the server error notifications related to corrupted frames and error notifications related to lost packets.

2. The computer-implemented method of claim 1 , wherein in a third situation the client is not to transmit error notifications to the server.

3. The computer-implemented method of claim 2 , wherein the third situation is a packet mis-order situation and the client maintains a buffer for handling disordered packets.

4. The computer-implemented method of claim 1 , wherein in a fourth situation the server adjusts transmission bitrate and resolution.

5. The computer-implemented method of claim 1 , wherein the first situation is a sporadic packet loss situation and the second situation is continuous packet loss situation.

6. The computer-implemented method of claim 5 wherein a third situation is a packet reordering situation and a fourth situation is a bitrate adaptation situation.

7. A computer-implemented method performed by a computerized device associated with cloud-gaming, comprising:

receiving by a computing device associated with a server transmitting video, at least one notification from a client, the notification related to a missing packet or a corrupted frame;

dynamically determining a situation based upon the at least one notification; and

assuming the situation, and based on the situation, determining a transmission bitrate and resolution of transmission to the client, wherein the situation is selected from the group consisting of:

a packet mis-order situation in which the client maintains a buffer for handling disordered frames;

a sporadic packet loss situation in which the client is to transmit error notifications about corrupted frames and the server is to transmit intra-refresh of macroblocks;

a continuous packet loss situation in which the client is to transmit error notifications about corrupted frames and about lost packets and the server is to transmit intra-refresh of macroblocks and the lost packets; and

an average bitrate reduction situation in which the server adjusts transmission bitrate and resolution.

8. An apparatus having a processing unit and a storage device, the apparatus comprising:

a frame encoding component for encoding frames to be transmitted to a client;

a situation determination component for dynamically determining a situation, based upon an error notification received from a client, the error notification related to a missing packet or a corrupted frame; and

a client communication component for:

transmitting the encoded frames to the client;

receiving the error notification from the client;

subject to the situation being a first situation transmitting to the client an indication that the client is to transmit to the server error notifications related to corrupted frames, and

subject to the situation being a second situation, transmitting to the client an indication that the client is to transmit to the server error notifications related to corrupted frames and error notifications related to lost packets; and

transmitting data to the client upon receiving the notification.

9. The apparatus of claim 8 , wherein in a third situation the client is not to transmit error notifications to the server.

10. The apparatus of claim 9 , wherein the third situation is a packet mis-order situation and the client maintains a buffer for handling disordered packets.

11. The apparatus of claim 8 , wherein in a fourth situation the server adjusts transmission bitrate and resolution.

12. The apparatus of claim 8 , wherein the first situation is a sporadic packet loss situation, and the second situation is a continuous packet loss situation.

13. The apparatus of claim 12 wherein a third situation is a packet reordering and a fourth situation is a bitrate adaptation situation.

14. A computer program product comprising:

a non-transitory computer readable medium;

a first program instruction for receiving by a computing device associated with a server transmitting video, at least one notification from a client, the notification related to a missing packet or a corrupted frame, wherein the packet or the frame are to be received by the client;

a second program instruction for dynamically determining a situation based upon the at least one notification; and

a third program instruction for, subject to the situation being a first situation, transmitting to the client an indication that the client is to transmit to the server error notifications related to corrupted frames, and, subject to the situation being a second situation, transmitting to the client an indication that the client is to transmit to the server error notifications related to corrupted frames and error notifications related to lost packets,

wherein said first, second and third, and eighth program instructions are stored on said non-transitory computer readable medium.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2018
From: GAMEFLY, INC.; GAMEFLY ISRAEL LTD.
To: ELECTRONIC ARTS INC.
Reel/Frame 045873/0598 →
CHANGE OF NAME Recorded Aug 21, 2015
From: PLAYCAST MEDIA SYSTEMS, LTD.
To: GAMEFLY ISRAEL LTD.
Reel/Frame 036420/0158 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF INVENTOR'S NAME WAS INCORRECTELY ENTERED WHEN ORIGINAL ASSIGNMENT RECORDED PREVIOUSLY RECORDED ON REEL 032588 FRAME 0423. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT SPELLING OF INVENTOR'S NAME SHOULD BE SHAI DORON AS IS IN THE ORIGNAL ASSIGNMENT DOCUMENT. Recorded May 5, 2014
From: DORON, SHAI; BARAK, ASAF; HOTLZMAN, TOMER
To: PLAYCAST MEDIA SYSTEMS, LTD.
Reel/Frame 032825/0736 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2014
From: BARAK, ASAF; HOTLZMAN, TOMER; DORAN, SHAI
To: PLAYCAST MEDIA SYSTEMS, LTD.
Reel/Frame 032588/0423 →
Continuity (1)
Related Publication 20150281306A1 · Oct 1, 2015