Adaptive video slew rate for video delivery
Systems and methods for adaptively adjusting a slew rate of a dejitter buffer in a remote device in a distributed access architecture. The slew rate may be adjusted based on measurements of a fullness state of a buffer made over time. The measurements may be used to calculate a frequency offset value between the rate at which data leaves the buffer relative to the rate at which data enters the buffer and/or used to calculate a current working depth of the buffer. The adaptive slew rate adjustments may be based on the frequency offset value and/or the current working depth.
1. A remote device that receives packetized video data from a video core through a packet-switched network, the device comprising:
a clock configured to operate in asynchronous mode;
a dejitter buffer that receives the video data from the packet-switched network and outputs the video data to at least one module that adjusts the video data before sending the video data in a downstream direction;
a processing device that applies a slew rate adjustment to the clock and the dejitter buffer, the slew rate adjustment varying over time based on a measured state of the dejitter buffer;
where the at least one module applies an offset value to a PCR value in the video data received from the packet switched network;
where the offset values are accumulated to produce an accumulated offset value, the accumulated offset value used to selectively add and/or selectively drop packets.
2. The remote device of claim 1 comprising an RPD.
3. The remote device of claim 1 comprising an RMD.
4. The remote device of claim 1 where the slew rate adjustment is based on a frequency offset determined by measuring a fullness state of the dejitter buffer over time.
5. The remote device of claim 4 where the slew rate adjustment is based on a measured current fullness state of the dejitter buffer.
6. The remote device of claim 1 where the magnitude of the accumulated offset value is reduced whenever a packet is selectively dropped and/or added.
7. The remote device of claim 1 where the slew rate adjustment eliminates a frequency offset by measuring a fullness state of the dejitter buffer repeatedly over time.
8. The remote device of claim 7 where the dejitter buffer is recentered after the frequency offset is eliminated.
9. A method for determining timing values to apply to packetized video data received asynchronously from a video core through a packet-switched network, the method comprising:
receiving the video data from the packet-switched network in a dejitter buffer according to a first time base and outputting the video data from the dejitter buffer according to a second time base and to at least one module that adds timing information to the video data before sending the video data in a downstream direction;
applying a slew rate adjustment to decrease a difference between the first time base and the second time base over an interval, the slew rate adjustment varying over time based on a measured state of the dejitter buffer;
where the at least one module applies an offset value to a PCR value in the video data received from the packet switched network;
where the offset values are accumulated to produce an accumulated offset value, the accumulated offset value used to selectively add and/or selectively drop packets.
10. The method of claim 9 implemented in an RPD.
11. The method of claim 9 implemented in an RMD.
12. The method of claim 9 where the slew rate adjustment is based on a frequency offset determined by measuring a fullness state of the dejitter buffer over time.
13. The method of claim 12 where the slew rate adjustment is based on a measured current fullness state of the dejitter buffer.
14. The method of claim 9 where the magnitude of the accumulated offset value is reduced whenever a packet is selectively dropped and/or added.
15. The method of claim 9 where the slew rate adjustment eliminates a frequency offset by measuring a fullness state of the dejitter buffer repeatedly over time.
16. The method of claim 15 including the step of reentering the dejitter buffer after the frequency offset is eliminated.