Transmitting MPEG data packets received from a non-constant delay network
AssigneeArtel Video Systems, Inc.
InventorsJohn M. Amaral, David R. Davis, Edmund P. Chin, John M. Vincent, Michael P. Healey, Jeffrey C. Landrum
Life of this patent
Estimating the term…
Abstract
Transmitting data packets received from a non-constant delay medium includes storing the data packets in a buffer, determining a play-out schedule for the data packets based on timing information in the data packets, and transmitting the data packets from the buffer in accordance with the play-out schedule. Two of the data packets may contain time-stamps and the play-out schedule may be determined based on a difference between the time-stamps.
Claims26
A method of transmitting data packets received from a source via a non-constant delay medium, the non-constant delay medium introducing jitter into the data packets, the method comprising:
- storing the data packets in a buffer, the data packets being part of a single transport stream that by definition includes first and second data packets that contain time stamps and plural data packets between the first and second data packets that do not contain time stamps;
- determining a play-out schedule for the data packets based on the time stamps and an amount of data in the data packets, wherein the play-out schedule is determined without altering the time stamps;
- transmitting the data packets from the buffer in accordance with the play-out schedule, wherein the plural data packets are transmitted at a different rate than the first and second data packets in order to reduce the jitter;
- and
- implementing a clock synchronization process that uses the time stamps to synchronize play-out of the data packets to a clock of the source.
An apparatus for transmitting data packets received from a source via a non-constant delay medium, the non-constant delay medium introducing jitter into the data packets, the apparatus comprising:
- a buffer to store the data packets, the data packets being part of a single transport stream that by definition includes first and second data packets that contain time stamps and plural data packets between the first and second data packets that do not contain time stamps;
- a scheduler to determine a play-out schedule for the data packets based on the time stamps and an amount of data in the data packets, wherein the play-out schedule is determined without altering the time stamps;
- an interface to transmit the data packets from the buffer in accordance with the play-out schedule, wherein the plural data packets are transmitted at a different rate than the first and second data packets in order to reduce the jitter;
- and
- circuitry to implement a clock synchronization process that uses the time stamps to synchronize play-out of the data packets to a clock of the source.
An apparatus for transmitting data packets received from a source via a non-constant delay medium, the non-constant delay medium introducing jitter into the data packets, the apparatus comprising:
- means for storing the data packets in a buffer, the data packets being part of a single transport stream that by definition includes first and second data packets that contain time stamps and plural data packets between the first and second data packets that do not contain time stamps;
- means for determining a play-out schedule for the data packets based on the time stamps and an amount of data in the data packets, wherein the play-out schedule is determined without altering the time stamps;
- means for transmitting the data packets from the buffer in accordance with the play-out schedule, wherein the plural data packets are transmitted at a different rate than the first and second data packets in order to reduce the jitter;
- and
- means for implementing a clock synchronization process that uses the time stamps to synchronize play-out of the data packets to a clock of the source.
A computer program stored on a computer-readable medium for transmitting data packets received from a source via a non-constant delay medium, the non-constant delay medium introducing jitter into the data packets, the computer program comprising instructions that cause a machine to:
- store the data packets in a buffer, the data packets being part of a single transport stream that by definition includes first and second data packets that contain time stamps and plural data packets between the first and second data packets that do not contain time stamps;
- determine a play-out schedule for the data packets based on the time stamps and an amount of data in the data packets, wherein the play-out schedule is determined without altering the time stamps;
- transmit the data packets from the buffer in accordance with the play-out schedule, wherein the plural data packets are transmitted at a different rate than the first and second data packets in order to reduce the jitter;
- and
- implement a clock synchronization process that uses the time stamps to synchronize play-out of the data packets to a clock of the source.
Dependencies are inferred from the claim text.