Media Synchronization for Real-Time Streaming
First Claim
1. A streaming client device, comprising:
- a communication interface configured to have an audio channel to receive a current audio packet of an audio stream from a streaming application server and configured to have a video channel to receive a current video packet of a video stream from the streaming application server; and
a processing core having at least one processor configured to execute a media synchronization module to synchronize the audio stream to the video stream by measuring a video display time change for the video stream describing a video delay between generating video data at the streaming application server and displaying the video data at the streaming client device to a user and configured to execute an audio adjustment module to adjust an audio presentation time for the audio stream indicating when a subsequent audio packet is played to the user based on the video display time change.
1 Assignment
0 Petitions
Accused Products
Abstract
In one example, a client device interacting with a streaming application server may synchronize an audio stream to a corresponding video stream. The client streaming device may have an audio channel to receive a current audio packet of an audio stream from a streaming application server. The client streaming device may have a video channel to receive a current video packet of a video stream from the streaming application server. The client streaming device may execute a media synchronization module to synchronize the audio stream to the video stream by measuring a video display time change for the video stream describing a video delay between generating video data at the streaming application server and displaying the video data at the streaming client device to a user. The client streaming device may execute an audio adjustment module to adjust an audio presentation time for the audio stream indicating when a subsequent audio packet is played to the user based on the video display time change.
-
Citations
20 Claims
-
1. A streaming client device, comprising:
-
a communication interface configured to have an audio channel to receive a current audio packet of an audio stream from a streaming application server and configured to have a video channel to receive a current video packet of a video stream from the streaming application server; and a processing core having at least one processor configured to execute a media synchronization module to synchronize the audio stream to the video stream by measuring a video display time change for the video stream describing a video delay between generating video data at the streaming application server and displaying the video data at the streaming client device to a user and configured to execute an audio adjustment module to adjust an audio presentation time for the audio stream indicating when a subsequent audio packet is played to the user based on the video display time change. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
- 14. A computing device, having a memory to store a video display time change for a video stream describing a video delay between generating video data at a streaming application server and displaying the video data at the computing device to a user and an audio playback time change for an audio stream describing an audio delay between generating audio data at the streaming application server and playing the audio data at the computing device to the user, the computing device configured to receive in a client device a current video packet of the video stream from the streaming application server, the computing device further configured to receive the current audio packet of an audio stream from the streaming application server, the computing device also configured to synchronize the audio stream to the video stream by measuring the video display time change in the video stream, the computing device is further configured to calculate a synchronization metric describing a delay difference between the video stream and the audio stream based on a difference between the video display time change and an audio playback time change, and the computing device also configured to adjust an audio presentation time for the audio stream indicating when a subsequent audio packet is played to the user based on the synchronization metric.
-
19. A machine-implemented method, comprising:
-
receiving, in a streaming client device, a current video packet of a video stream and a server video record time indicating when the current video packet was generated from a streaming application server; receiving, in the streaming client device, a current audio packet of an audio stream from the streaming application server; recording a client display time for the current video packet indicating when the current video packet was displayed to a user; subtracting a server video record time from a client display time to determine a video display time change for a video stream describing a video delay between generating video data at the streaming application server and displaying the video data at the streaming client device to the user; and adjusting an audio presentation time for the audio stream indicating when a subsequent audio packet is played to the user based on the video display time change. - View Dependent Claims (20)
-
Specification