Patent ID: 8856624

Claim:
A method for dynamically selecting forward error correction codes for use with a plurality of source packets to be transmitted over a network, the plurality of source packets having frames and first partition packets, comprising: A) determining at least one source content parameter of a first plurality of source packets; B) determining at least one network state parameter of the network over which the first plurality of source packets and a plurality of error correction packets protecting the first plurality of source packets are transmitted to a decoder; C) selecting one of an equal protection forward error correction code or an unequal protection forward error correction code to apply to the first plurality of source packets based on the at least one source content parameter and the at least one network state parameter using a processor; D) generating the plurality of error correction packets protecting the first plurality of source packets by applying the equal protection forward error correction code or the unequal protection forward error correction code to the first plurality of sources packets, wherein each source packet of the first plurality of source packets is protected by a same number of error correction packets of the plurality of error correction packets when the equal protection forward error correction code is applied, and at least a first source packet of the first plurality of source packets is protected by a different number of error correction packets of the plurality of error correction packets than a second source packet of the first plurality of source packets when the unequal protection forward error correction code is applied; and E) generating a data stream comprising the first plurality of source packets and the plurality of error correction packets formed by applying the equal protection forward error correction code or the unequal protection forward error correction code in step D) to the first plurality of source packets.