IP Library Granted Patent US 10,361,817
Granted Patent B2
US 10,361,817 · App. 15/411,097 · Granted Jul 23, 2019

Systems and methods to optimize partitioning of a data segment into data packets for channel encoding

Inventors: Mingchao Yu (Belconnen, AU); Mark Craig Reed (Lyneham, AU)
Assignee: Dolby Laboratories Licensing Corporation
H04L1/0083H04L1/0057H04L45/24H04L1/0041H04L1/0045H04L2001/0096
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,361,817
App. No.
15/411,097
Granted
Jul 23, 2019
Kind
B2
Abstract

Systems and methods to transmit data over multiple communication channels in parallel with forward error correction. An optimized number is determined to partition a data segment of a given size into the optimized number of original packets of the same size, by reducing the cost of transmitting dummy data added to the original packets due to the partition, the data fields added to communication packets to support decoding, and redundant packets that are expected to be transmitted via a plurality of parallel channels before the termination of the transmission, as well as the computation cost that increases as a function of the number of original packets. Copies of packets are generated by distributing the original packets to the copies as initial packets and generating each subsequent channel-encoded packet by rejecting useless channel-encoded packets in view of packets assumed to have been received prior to the transmission of the subsequent channel-encoded packet.

Claims (45)

1. A method implemented in a computing apparatus, the method comprising:

receiving, in the computing apparatus, a size of a data segment to be transmitted by the computing apparatus;

determining, by the computing apparatus, a number of original packets, the number being determined by optimizing a cost of transmission for the data segment, wherein the data segment is divided into the number of original packets based on which channel-encoded packets are generated for transmission using a forward error correction technique;

dividing, by the computing apparatus, the data segment into the number of original packets;

generating, by the computing apparatus, a plurality of copies of packets from the original packets by applying the forward error correction technique for each of the plurality of copies of packets; and

transmitting, by the computing apparatus to a recipient device, the plurality of copies of packets using a plurality of parallel communication channels, such that a respective copy of the plurality of copies is transmitted over a corresponding communication channel of the plurality of parallel communication channels,

wherein the recipient device determines whether a received set of packets received via the parallel communication channels is sufficient to reconstruct the data segment, and causes termination of the transmitting in response to a determination that the received set of packets is sufficient to reconstruct the data segment.

2. The method of claim 1 , wherein the cost of transmission includes a first data transmission cost for dummy data added to the original packets so that the original packets have a same size.

3. The method of claim 2 , wherein the cost of transmission includes a second data transmission cost for data in communication fields added in communication packets to enable decoding using the forward error correction technique.

4. The method of claim 3 , wherein the cost of transmission includes a third data transmission cost for redundant communication packets that are expect to be transmitted to the recipient device before the termination of the transmitting.

5. The method of claim 4 , wherein the cost of transmission includes a computation cost associated with the applying the forward error correction technique.

6. The method of claim 5 , wherein the number of original packets is limited to be no more than 256.

7. The method of claim 5 , wherein a count of the redundant communication packets used in computing the cost is three.

8. The method of claim 5 , wherein the computation cost associated with application of the forward error correction technique is proportional to a logarithm function of the number of original packets.

9. The method of claim 5 , wherein the generating of the plurality of copies of packets from the original packets includes distributing the original packets to the copies according to a round-robin scheme or a sequential scheme.

10. The method of claim 9 , wherein the generating of the plurality of copies of packets from the original packets includes:

selecting a subset of the original packets, wherein the subset is linearly independent of a base set of packets in the copies; and

generating a channel-encoded packet from the subset for transmitting in a first copy of the plurality of copies.

11. The method of claim 10 , wherein the base set includes one or more packets of the first copy that are scheduled to be transmitted before the channel-encoded packet.

12. The method of claim 11 , wherein the base set includes at least an initial packet in each of the plurality of copies.

13. The method of claim 11 , wherein the subset does not include any of original packets allocated to the first copy.

14. The method of claim 11 , wherein the channel-encoded packet is generated from exclusive or of the subset.

15. The method of claim 11 , wherein the subset is selected randomly according to a predetermined distribution.

16. A non-transitory computer storage medium storing instructions which, when executed by a computing apparatus, cause the computing apparatus to perform a method, the method comprising:

receiving, in the computing apparatus, a size of a data segment to be transmitted by the computing apparatus;

determining, by the computing apparatus, a number of original packets, the number being determined by optimizing a cost of transmission for the data segment, wherein the data segment is divided into the number of original packets based on which channel-encoded packets are generated for transmission using a forward error correction technique;

dividing, by the computing apparatus, the data segment into the number of original packets;

generating, by the computing apparatus, a plurality of copies of packets from the original packets by applying the forward error correction technique for each of the plurality of copies of packets; and

transmitting, by the computing apparatus to a recipient device, the plurality of copies of packets using a plurality of parallel communication channels, such that a respective copy of the plurality of copies is transmitted over a corresponding communication channel of the plurality of parallel communication channels,

wherein the recipient device determines whether a received set of packets received via the parallel communication channels is sufficient to reconstruct the data segment, and causes termination of the transmitting in response to a determination that the received set of packets is sufficient to reconstruct the data segment.

17. A computing apparatus, comprising:

at least one microprocessor; and

memory storing instructions configured to instruct the at least one microprocessor to:

receive, in the computing apparatus, a size of a data segment to be transmitted by the computing apparatus;

determine, by the computing apparatus, a number of original packets, the number being determined by optimizing a cost of transmission for the data segment, wherein the data segment is divided into the number of original packets based on which channel-encoded packets are generated for transmission using a forward error correction technique;

partition, by the computing apparatus, the data segment into the number of original packets;

generate, by the computing apparatus, a plurality of copies of packets from the original packets by applying the forward error correction technique for each of the plurality of copies of packets; and

transmit, by the computing apparatus to a recipient device, the plurality of copies of packets using a plurality of parallel communication channels, such that a respective copy of the plurality of copies is transmitted over a corresponding communication channel of the plurality of parallel communication channels,

wherein the recipient device determines whether a received set of packets received via the parallel communication channels is sufficient to reconstruct the data segment, and in response to a determination that the received set of packets is sufficient to reconstruct the data segment, causes termination of transmission of the copies.

18. The computing apparatus of claim 17 , wherein the cost of transmission includes:

a first data transmission cost for dummy data added to the original packets so that the original packets have a same size;

a second data transmission cost for data in communication fields added in communication packets to enable decoding using the forward error correction technique; and

a third data transmission cost for redundant communication packets that are expected to be transmitted to the recipient device before the termination of the transmitting.

19. The computing apparatus of claim 18 , wherein the cost of transmission further includes a cost of computational complexity associated with the applying of the forward error correction technique.

20. The computing apparatus of claim 19 , wherein the third data transmission cost is based on a maximum count of the redundant communication packets.

Assignments (5)
CORRECTION BY DECLARATION OF AN ERRONEOUS FILED DOCUMENT AT REEL/FRAME 041026/0786 Recorded Dec 6, 2018
From: INTERFEREX COMMUNICATIONS PTY LTD.
To: INTERFEREX COMMUNICATIONS PTY LTD.
Reel/Frame 047735/0001 →
CORRECTION BY DECLARATION OF AN ERRONEOUS FILED DOCUMENT AT REEL/FRAME 041026/0786 Recorded Aug 10, 2018
From: INTERFEREX COMMUNICATIONS PTY LTD.
To: INTERFEREX COMMUNICATIONS PTY LTD.
Reel/Frame 048019/0420 →
NUNC PRO TUNC ASSIGNMENT Recorded Aug 10, 2018
From: INTERFEREX COMMUNICATIONS PTY LTD.
To: DOLBY LABORATORIES LICENSING CORP.
Reel/Frame 046617/0149 →
CONFIRMATORY STATEMENT OF PRIOR ASSIGNMENT Recorded Jul 19, 2018
From: REED, MARK C.; YU, MINGCHAO
To: INTERFEREX COMMUNICATIONS PTY LTD.
Reel/Frame 046593/0737 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2017
From: YU, MINGCHAO; REED, MARK CRAIG
To: INTERFEREX COMMUNICATIONS INC.
Reel/Frame 041026/0786 →
Continuity (1)
Related Publication 20180212713A1 · Jul 26, 2018