IP Library › Granted Patent US 10,567,102
Granted Patent B2
US 10,567,102 · App. 15/890,187 · Granted Feb 18, 2020

Efficient double parity forward error correction on a communication network

Inventors: Shai Stein (Hod Hasharon, IL); Eran Rippel (Herzliya, IL)
Assignee: Valens Semiconductor Ltd.
H04J3/0667H03M13/118H03M13/1165H03M13/1168H03M13/1185H03M13/2921H04J3/067H04J3/0664H04J3/0673H04J3/0697H04L1/0057H04L1/0063H04L1/0083H04L12/40H04L12/40013H04N21/4305H04L1/005H04L1/0061H04L1/1812H04L1/1835H04N21/43635
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,567,102
App. No.
15/890,187
Granted
Feb 18, 2020
Kind
B2
Abstract

Methods and systems for enabling recovery of lost packets transmitted over a communication network. In one embodiment, a device includes a processor and a transmitter. The processor is configured to calculate a row parity packet (RPP) and a diagonal parity packet (DPP) for n packets. Each of the RPP, the DPP, and the n packets comprises n segments. The processor utilizes each packet, from among the n packets, to update parity values in the RPP and the DPP in such a way that each segment in the packet is used to update one segment in the RPP and at most one segment in DPP. The transmitter transmits the n packets, the RPP, and the DPP over the communication network. Receiving a subset of n members of a set comprising: the RPP, the DPP, and the n packets, enables recovery of two lost packets.

Claims (26)

1. A device configured to enable recovery of lost packets transmitted over a communication network, comprising:

a processor configured to calculate a row parity packet (RPP) and a diagonal parity packet (DPP) for n packets (where n≥4); wherein each of the RPP, the DPP, and the n packets comprises n segments; and wherein calculating the RPP and the DPP involves utilizing each segment of each of the n packets to update one segment in the RPP and at most one segment in the DPP; and

a transmitter configured to transmit the n packets, the RPP, and the DPP over the communication network.

2. The device of claim 1 , wherein the transmitter is configured to transmit one or more of the n packets before the processor updates values of the RPP and the DPP based on one or more other packets from among the n packets.

3. The device of claim 1 , wherein n+1 is a prime number greater than 3.

4. The device of claim 1 , wherein the processor is further configured to update segments of the DPP based on segments of the RPP prior to transmission of the DPP.

5. The device of claim 1 , wherein values in each segment, from among the n segments of the RPP and the DPP, are results of a parity function applied to segments used to update the segment.

6. The device of claim 1 , wherein the communication network is an Ethernet network and the n packets comprise native video data.

7. The device of claim 6 , wherein n=30.

8. The device of claim 7 , wherein each of the n packets comprises video data is segmented to 30 segments of 33 bytes.

9. The device of claim 6 , wherein n=10.

10. The device of claim 9 , wherein each of the n packets comprises 96 bytes and includes a payload of audio data.

11. The device of claim 1 , wherein the communication network is a wired network.

12. The device of claim 1 , wherein the communication network is a wireless network.

13. The device of claim 1 , wherein receiving any subset of n member of a set comprising: the RPP, the DPP, and the n packets, enables recovery of two lost packets.

14. The device of claim 1 , wherein the processor is further configured to calculate an anti-diagonal parity packet (ADPP) for the n packets, which comprises n segments; wherein the processor utilizes each packet, from among the n packets, to update parity values in the ADPP based on the packet, such that each segment in the packet is used to update at most one segment in the ADPP; wherein the transmitter is further configured to transmit the ADPP over the communication network; and wherein receiving any subset of n members, from among a set comprising: the RPP, the DPP, the ADPP, and the n packets, enables recovery of three lost packets.

15. The device of claim 14 , wherein for each packet, from among the n packets, at most one segment of the packet is used to update parity values in a segment of the DPP and the ADPP.

16. The device of claim 1 , wherein transmission of the RPP and the DPP involves an overhead of less than 7%.

17. A method for enabling recovery of lost packets transmitted over a communication network, comprising:

receiving n packets (where n≥4);

calculating, by a processor, parity data for the n packets; wherein the parity data comprises a row parity packet (RPP) and a diagonal parity packet (DPP) for the n packets; wherein each of the RPP, the DPP, and the n packets comprises n segments; and wherein calculating the RPP and the DPP involves utilizing each segment of each of the n packets to update one segment in the RPP and at most one segment in the DPP; and

transmitting, by a transmitter, the n packets, the RPP, and the DPP over the communication network.

18. The method of claim 17 , further comprising transmitting one or more of the n packets before updating values of the RPP and the DPP based on one or more other packets from among the n packets.

19. The method of claim 17 , further comprising updating segments of the DPP based on segments of the RPP prior to transmitting the DPP.

20. The method of claim 17 , wherein the communication network is an Ethernet network and the n packets comprise native video and further comprising segmenting each of the n packets to 30 segments of 33 bytes.

21. The method of claim 17 , wherein the communication network is an Ethernet network and further comprising segmenting packets of a size of 390 bytes that include a payload of video to 10 segments of 39 bytes and segmenting packets that have a size of 96 bytes that include a payload of audio to 10 segments of 10 bytes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2018
From: STEIN, SHAI; RIPPEL, ERAN
To: VALENS SEMICONDUCTOR LTD.
Reel/Frame 045429/0990 →
Continuity (2)
Provisional Application 62455519 · Feb 6, 2017
Related Publication 20180226996A1 · Aug 9, 2018