Streaming Timestamp Correction for Variable-Frame Packet Loss

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing streaming network protocols face inaccuracies in timestamp handling due to variable frame sizes, leading to issues in playback synchronization and latency, especially when network packets are lost, which affects the quality of real-time communication services.

Innovation Solution

Calculating corrected timestamp ranges based on buffering characteristics and frame durations to accurately determine the amount of data lost, using equations to adjust the timestamp values and manage jitter buffers effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If fixed timestamp increments are used for network packets, then timestamp calculation is simplified, but timestamp accuracy deteriorates due to variable frame sizes

Engineering Contradiction:
Improvetimestamp calculation complexityVSAvoidtimestamp accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing the cumulative sum of frame durations in a lookup table during system initialization. This pre-computed reference data is then used during runtime to accurately determine the timestamp corresponding to any packet sequence number, eliminating the need for complex real-time calculations while maintaining high timestamp accuracy despite variable frame sizes.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If timestamp correction is performed without considering buffering characteristics, then processing is faster, but timestamp accuracy deteriorates

Engineering Contradiction:
Improvetimestamp correction speedVSAvoidtimestamp accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by pre-determining and storing buffering characteristics (such as buffer fill rates and processing delays) during system initialization or calibration phases. These pre-characterized buffer parameters are then incorporated into the timestamp correction equations, allowing the system to perform fast corrections while maintaining accuracy by accounting for buffer effects through pre-computed correction factors.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If lost packets are not detected, then network traffic is maintained, but playback synchronization deteriorates

Engineering Contradiction:
Improvenetwork throughputVSAvoidplayback synchronization
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies feedback by implementing a packet loss detection mechanism that monitors packet sequence numbers and identifies missing packets in the stream. When packet loss is detected, the system triggers timestamp correction procedures that compensate for the lost data by calculating adjusted timestamps based on the detected gap and the pre-stored buffering characteristics. This feedback loop maintains playback synchronization without requiring retransmission or reduced network throughput.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3895380B1Handling timestamp inaccuracies for streaming network protocols
Publication Date: 2025.07.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3895380B1 patent drawingFigure 1
  • EP3895380B1 patent drawingFigure 2
  • EP3895380B1 patent drawingFigure 3

AI summary

Techniques are described for determining corrected timestamps for streaming data that is encoded using frames with a variable frame size. The streaming data is encoded into frames and transmitted in network packets in which the network packets or frames are associated with timestamps incremented in fixed steps. When a network packet is received after a lost packet, a corrected timestamp range can be calculated for the received packet based at least in part on the received timestamp value and attributes of the received network packet along with buffering characteristics.