IP Library Granted Patent US 10,771,821
Granted Patent B2
US 10,771,821 · App. 15/214,298 · Granted Sep 8, 2020

Overcoming lost IP packets in streaming video in IP networks

Inventor: Asaf Barak (Yokneam, IL)
Assignee: Electronic Arts Inc.
H04N19/895H04N19/107H04N19/166H04N19/176
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 10,771,821
App. No.
15/214,298
Granted
Sep 8, 2020
Kind
B2
Abstract

A computer-implemented method, apparatus and computer program product for recovering from lost packets in video transmissions, the method performed by a computerized device, comprising: receiving by a computing device associated with a subscriber a frame constituting a part of video transmission, from an encoder; decoding the frame; determining that a packet within the frame is missing or corrupted; notifying an encoder about a missing packet; receiving from the encoder a first frame in which a first part is encoded independently of a preceding frame; decoding the first frame; receiving from the encoder a second frame in which a second part different from the first part is encoded independently of a preceding frame; and decoding the second frame.

Claims (48)

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

receiving by a computing device associated with a subscriber an initial frame constituting a part of video transmission, from an encoder;

decoding the initial frame;

determining that a first packet within the initial frame is missing or corrupted, the missing first packet corrupting the initial frame and subsequent frames which are encoded based on differences relative to the initial frame or to consequent frames sent by the encoder;

notifying an encoder about the missing first packet;

receiving, during a recovery period, from the encoder at least one first frame in which at least one first part is encoded independently of a preceding frame;

decoding the at least one first frame;

sending to the encoder additional information indicating that a second packet is missing in the first frame;

receiving from the encoder at least one second frame in which at least one second part different from the at least one first part is encoded independently of a preceding frame; and

decoding the at least one second frame,

wherein the at least one first part and the at least one second part are determined independently of which packet within the initial frame is missing or corrupted, and sized to be small enough such that the video frame rate does not decrease and the maximal bitrate is not violated, and

wherein if newly missing packets are detected during the recovery period, the computing device stops receiving frames and the recovery period is restarted.

2. The computer-implemented method of claim 1 wherein the initial frame, the at least one first frame or the at least one second frame are encoded in accordance with MPEG, ITU-T H264 recommendation, Joint Video Team of ISO/IEC MPEG, MPEG 2, H265, MP4, or ITU-T VCEG compression method.

3. The computer-implemented method of claim 1 further comprising receiving at least one additional frame wherein in each respective additional frame at least one additional part is different from the at least one first part, the at least one second part and previous additional parts is encoded independently of a preceding frame, wherein the at least one first frame, the at least one second frame, and the at least one additional frame together refresh a full frame and are received within a predetermined time period.

4. The computer-implemented method of claim 1 wherein each of the at least one first part and the at least one second part is at least one macroblock.

5. The computer implemented method of claim 3 wherein

receiving the at least one additional frame is performed without receiving a frame in which all parts are encoded independently of another frame.

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

encoding an initial frame constituting a part of video transmission by an encoder;

transmitting the initial frame to a computing device;

receiving from the computing device information indicating that a first packet is missing from the initial frame, the missing first packet corrupting the initial frame and subsequent frames which are encoded based on differences relative to the initial frame or to consequent frames sent by the encoder;

encoding at least one first frame independently of a preceding frame;

transmitting, during a recover period, the at least one first frame to the computing device;

receiving from the computing device additional information indicating that a second packet is missing in the first frame;

encoding at least one second frame in which at least one second part different from the at least one first part is encoded independently of a preceding frame; and

transmitting the at least one second frame to the computing device,

wherein the at least one first part and the at least one second part are determined independently of which packet within the initial frame is missing or corrupted, and sized to be small enough such that the video frame rate does not decrease and the maximal bitrate is not violated, and

wherein if newly missing packets are detected during the recovery period, the encoder stops transmitting frames and the recovery period is restarted.

7. The computer-implemented method of claim 6 wherein the initial frame, the at least one first frame, or the at least one second frame are encoded in accordance with MPEG, ITU-T H264 recommendation, Joint Video Team of ISO/IEC MPEG, MPEG 2, H265, MP4, or ITU-T VCEG compression method.

8. The computer-implemented method of claim 6 further comprising transmitting at least one additional frame wherein in each additional frame at least one additional part is different from the at least one first part, the at least one second part and previous additional parts is encoded independently of a preceding frame, wherein the at least one first frame, the at least one second frame and the at least one additional frame are transmitted within a predetermined time period.

9. The computer-implemented method of claim 6 wherein each of the at least one first part and the at least one second part is at least one macroblock.

10. The computer-implemented method of claim 8 wherein transmitting the at least one additional frame is performed without transmitting a frame in which all parts are encoded independently of another frame.

11. A computer program product comprising:

a non-transitory computer readable medium storing instructions for:

receiving by a computing device an initial frame constituting a part of video transmission, from an encoder;

decoding the initial frame;

determining that a first packet within the initial frame is missing or corrupted, the missing first packet corrupting the initial frame and subsequent frames which are encoded based on differences relative to the initial frame or to consequent frames sent by the encoder;

sending to an encoder information indicating that the first packet is missing;

receiving, during a recovery period, from the encoder at least one first frame in which at least one first part is encoded independently of a preceding frame;

decoding the at least one first frame;

sending to the encoder additional information indicating that a second packet is missing in the first frame;

receiving from the encoder the at least one second frame in which at least one second part different from the at least one first part is encoded independently of a preceding frame; and

decoding the at least one second frame,

wherein the at least one first part and the at least one second part are determined independently of which packet within the initial frame is missing or corrupted, and sized to be small enough such that the video frame rate does not decrease and the maximal bitrate is not violated, and

wherein if newly missing packets are detected during the recovery period, the computing device stops receiving frames and the recovery period is restarted.

12. The computer program product of claim 11 further comprising receiving at least one additional frame wherein in each additional frame at least one additional part different from the at least one first part, the at least one second part and previous additional parts is encoded independently of a preceding frame, wherein the at least one first frame, the at least one second frame, and the at least one additional frame together refresh a full frame and are received within a predetermined time period.

13. The computer program product of claim 11 wherein each of the at least one first part and the at least one second part is at least one macroblock.

14. The computer program product of claim 12 wherein receiving the at least one additional frame is performed without receiving a frame in which all parts are encoded independently of another frame.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2020
From: BARAK, ASAF
To: PLAYCAST MEDIA SYSTEMS, LTD.
Reel/Frame 052616/0117 →
CHANGE OF NAME Recorded May 8, 2020
From: PLAYCAST MEDIA SYSTEMS, LTD.
To: GAMEFLY ISRAEL LTD.
Reel/Frame 052618/0344 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2018
From: GAMEFLY, INC.; GAMEFLY ISRAEL LTD.
To: ELECTRONIC ARTS INC.
Reel/Frame 045873/0598 →
Continuity (2)
Continuation 13898150 · May 20, 2013
Related Publication 20160330487A1 · Nov 10, 2016