Method to support forward error correction for real-time audio and video data over internet protocol networks
First Claim
1. A method for protecting real time media, said method comprising:
- receiving media packets;
re-ordering said media packets to form a two dimensional matrix of a number of columns and a number of rows;
generating media bit strings from said media packets;
padding each of said generated media bit strings to a nearest multiple of symbols at a trailing end of each of said generated media bit strings;
further padding at a trailing end of said previously padded bit strings such that each padded bit string has a length of the longest bit string;
applying a forward error correcting code across said generated media bit strings to generate a plurality of forward error correcting bit strings;
generating forward error correcting packets from said forward error correcting bit strings; and
transmitting said generated forward error correcting packets, said forward error correcting packets separated by a dimension of said two dimensional matrix of said media packets which served as a basis for generation of said forward error correcting packets, wherein said forward error correcting packets are generated without changing a format of said media packets and are transmitted separately from said media packets using different port than a port used to transmit said media packets enabling non-forward error correcting systems to receive and recover said media packets.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus are described for protecting real time media including receiving media packets, generating media bit strings from the media packets, applying a forward error correcting code across the generated media bit strings to generate at least one forward error correcting bit string and generating at least one forward error correcting packet from the at least one forward error correcting bit string. Also described are a method and apparatus for recovering from losses of real time media packets including forming media bit strings from received media packets, forming forward error correcting bit strings from received forward error correcting packets, decoding the formed media bit strings and forward error correcting bit strings to obtain recovered media bit strings and recover lost media packets from the recovered media bit strings. Further described is a data structure for a forward error correcting header on computer readable media.
-
Citations
23 Claims
-
1. A method for protecting real time media, said method comprising:
-
receiving media packets; re-ordering said media packets to form a two dimensional matrix of a number of columns and a number of rows; generating media bit strings from said media packets; padding each of said generated media bit strings to a nearest multiple of symbols at a trailing end of each of said generated media bit strings; further padding at a trailing end of said previously padded bit strings such that each padded bit string has a length of the longest bit string; applying a forward error correcting code across said generated media bit strings to generate a plurality of forward error correcting bit strings; generating forward error correcting packets from said forward error correcting bit strings; and transmitting said generated forward error correcting packets, said forward error correcting packets separated by a dimension of said two dimensional matrix of said media packets which served as a basis for generation of said forward error correcting packets, wherein said forward error correcting packets are generated without changing a format of said media packets and are transmitted separately from said media packets using different port than a port used to transmit said media packets enabling non-forward error correcting systems to receive and recover said media packets. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus for protecting real time media, comprising:
-
means for receiving media packets; means for re-ordering said media packets to form a two dimensional matrix of a number of columns and a number of rows; means for generating media bit strings from said media packets; means for padding each of said generated media bit strings to a nearest multiple of symbols at a trailing end of each of said generated media bit strings; means for further padding at a trailing end of said previously padded bit strings such that each padded bit string has a length of the longest bit string; means for applying a forward error correcting code across said generated media bit strings to generate a plurality of forward error correcting bit string; means for generating forward error correcting packets from said forward error correcting bit strings; and means for transmitting said generated forward error correcting packets, said forward error correcting packets separated by a dimension of said two dimensional matrix of said media packets which served as a basis for generation of said forward error correcting packets, wherein said forward error correcting packets are generated without changing a format of said media packets and are transmitted separately from said media packets using a different port than a port used to transmit said media packets enabling non-forward error correcting systems to receive and recover said media packets. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method for recovering from losses of real time media packets, said method comprising:
-
re-ordering received media packets to form a two-dimensional matrix of a number of columns and a number of rows of received media packets; forming media bit strings from received and re-ordered media packets; forming forward error correcting bit strings from received forward error correcting packets, wherein said forward error correcting packets are generated without changing a format of said media packets and are transmitted separately from said media packets using a different port than a port used to transmit said media packets enabling non-forward error correcting systems to receive and recover said media packets; padding said media bit strings to the length of the forward error correcting bit strings; decoding said media bit strings and said forward error correcting bit strings to obtain recovered media bit strings; and generating recovered media packets from said recovered media bit strings. - View Dependent Claims (12)
-
-
13. An apparatus for recovering from losses of real time media packets, comprising:
-
means for re-ordering received media packets to form a two-dimensional matrix of a number of columns and a number of rows of received media packets; means for forming media bit strings from received media packets; means for forming forward error correcting bit strings from received forward error correcting packets, wherein said forward error correcting packets are generated without changing a format of said media packets and are transmitted separately from said media packets using a different port than a port used to transmit said media packets enabling non-forward error correcting systems to receive and recover said media packets; means for removing padding said media bit strings to the length of the forward error correcting bit strings; means for decoding said media bit strings and said forward error correcting bit strings to obtain recovered media bit strings; means for generating recovered media packets from said recovered media bit strings; and means for re-ordering said recovered media packets to form a two dimensional matrix of a number of columns and a number of rows of recovered media packets. - View Dependent Claims (14)
-
-
15. An apparatus for protecting real time media, comprising:
-
a real time transport protocol packetization module, said real time transport protocol packetization module receiving media packets; said real time transport protocol packetization module re-ordering said media packets to form a two dimensional matrix of a number of columns and a number of rows; said real time transport protocol packetization module generating media bit strings from said media packets; said real time transport protocol packetization module padding each of said generated media bit strings to a nearest multiple of symbols at a trailing end of each of said generated media bit strings; said real time transport protocol packetization module further padding at a trailing end of said previously padded bit strings such that each padded bit string has a length of the longest bit string; a forward error correction encoding and packetization module, said forward error correction encoding and packetization module applying a forward error correcting code across said generated media bit strings to generate a plurality of forward error correcting bit string, said forward error correction encoding and packetization module in communication with said real time transport protocol packetization module; said forward error correction encoding and packetization module generating forward error correcting packets from said forward error correcting bit strings; and a user datagram protocol and internet packet stack and network interface module, said a user datagram protocol and internet packet stack and said network interface module transmitting said generated forward error correcting packets, said forward error correcting packets separated by a dimension of said two dimensional matrix of said media packets which served as a basis for generation of said forward error correcting packets, wherein said forward error correcting packets are generated without changing a format of said media packets and are transmitted separately from said media packets using a different port than a port used to transmit said media packets enabling non-forward error correcting systems to receive and recover said media packets, said a user datagram protocol and internet packet stack in communication with said network interface module, said a user datagram protocol and internet packet stack also in communication with said forward error correction encoding and packetization module. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. An apparatus for recovering from losses of real time media packets, comprising:
-
a forward error correction encoding and packetization module, said forward error correction encoding and packetization module re-ordering received media packets to form a two-dimensional matrix of a number of columns and a number of rows of received media packets; said forward error correction encoding and packetization module forming media bit strings from received media packets; said forward error correction encoding and packetization module forming forward error correcting bit strings from received forward error correcting packets, wherein said forward error correcting packets are generated without changing a format of said media packets and are transmitted separately from said media packets using a different port than a port used to transmit said media packets enabling non-forward error correcting systems to receive and recover said media packets; a real time transport protocol packetization module, said real time transport protocol packetization module removing padding said media bit strings to the length of the forward error correcting bit strings, said real time transport protocol packetization module in communication with said forward error correction encoding and packetization module; said real time transport protocol packetization module decoding said media bit strings and said forward error correcting bit strings to obtain recovered media bit strings; said real time transport protocol packetization module generating recovered media packets from said recovered media bit strings; and said real time transport protocol packetization module re-ordering said recovered media packets to form a two dimensional matrix of a number of columns and a number of rows of recovered media packets. - View Dependent Claims (22, 23)
-
Specification