Quality evaluation of multimedia delivery in cloud environments
First Claim
1. A method comprising:
- receiving, at a client device, a separate video stream and an audio stream of multimedia content provided for presentation on a desktop view of the client device by a virtual desktop executing on a remote host computer;
presenting the received video stream and audio stream in the desktop view of the client device;
extracting one or more video markers encoded in the video stream;
extracting one or more audio markers encoded in the audio stream;
determining audio-video synchronization data for a plurality of video frames, wherein determining audio-video synchronization comprises;
for each of a plurality of video frames;
determining a video timestamp of a marker for the video frame;
determining an audio timestamp of an audio marker for the video frame based on PN codes from the audio stream, comprising;
correlating the received audio stream with the reference PN code to locate the PN codes in the audio stream, using positive and negative correlations of the PN codes in the audio stream relative to the reference PN code to determine respective timestamp bits, and combining timestamp bits to form the audio timestamp; and
determining a difference between the video timestamp and the audio timestamp for the video frame to calculate a difference in audio-video synchronization; and
providing the determined audio-video synchronization data determined for the plurality of video frames to a remote performance system, the audio-video synchronization data indicative of audio-video synchronization for at least a portion of the stream delivery to the client device.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and computer programs for measuring quality of multimedia delivery to a client are presented. A method includes operations for embedding video markers in a video stream of a multimedia stream, and embedding audio markers in an audio stream of the multimedia stream. The video stream and the audio stream are then transmitted separately to the client. Further, video markers received at the client are extracted from the transmitted video stream, and audio markers received at the client are extracted from the transmitted audio stream. A measure of the audio-video synchronization quality is obtained by determining a quantifiable time difference between the video stream and the audio stream received at the client, where the quantifiable time difference is calculated based on the extracted video markers and the extracted audio markers.
101 Citations
24 Claims
-
1. A method comprising:
-
receiving, at a client device, a separate video stream and an audio stream of multimedia content provided for presentation on a desktop view of the client device by a virtual desktop executing on a remote host computer; presenting the received video stream and audio stream in the desktop view of the client device; extracting one or more video markers encoded in the video stream; extracting one or more audio markers encoded in the audio stream; determining audio-video synchronization data for a plurality of video frames, wherein determining audio-video synchronization comprises; for each of a plurality of video frames; determining a video timestamp of a marker for the video frame; determining an audio timestamp of an audio marker for the video frame based on PN codes from the audio stream, comprising;
correlating the received audio stream with the reference PN code to locate the PN codes in the audio stream, using positive and negative correlations of the PN codes in the audio stream relative to the reference PN code to determine respective timestamp bits, and combining timestamp bits to form the audio timestamp; anddetermining a difference between the video timestamp and the audio timestamp for the video frame to calculate a difference in audio-video synchronization; and providing the determined audio-video synchronization data determined for the plurality of video frames to a remote performance system, the audio-video synchronization data indicative of audio-video synchronization for at least a portion of the stream delivery to the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
a computer including at least one memory and at least one processor, the computer configured to interact with one or more servers and to perform operation comprising; receiving, at a client device, a separate video stream and an audio stream of multimedia content provided for presentation on a desktop view of the client device by a virtual desktop executing on a remote host computer; presenting the received video stream and audio stream in the desktop view of the client device; extracting one or more video markers encoded in the video stream; extracting one or more audio markers encoded in the audio stream; determining audio-video synchronization data for a plurality of video frames, wherein determining audio-video synchronization comprises; for each of a plurality of video frames; determining a video timestamp of a marker for the video frame; determining an audio timestamp of an audio marker for the video frame based on PN codes from the audio stream, comprising;
correlating the received audio stream with the reference PN code to locate the PN codes in the audio stream, using positive and negative correlations of the PN codes in the audio stream relative to the reference PN code to determine respective timestamp bits, and combining timestamp bits to form the audio timestamp; anddetermining a difference between the video timestamp and the audio timestamp for the video frame to calculate a difference in audio-video synchronization; and providing the determined audio-video synchronization data determined for the plurality of video frames to a remote performance system, the audio-video synchronization data indicative of audio-video synchronization for at least a portion of the stream delivery to the client device. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
19. A method comprising:
-
obtaining a multimedia stream at a virtual desktop, wherein the multimedia stream is separated into a video stream and an audio stream; embedding video markers in video frames of the video stream; embedding audio markers in the audio stream, the audio markers including a timestamp indicating a time elapsed from a start of the multimedia stream, wherein embedding audio markers inserting one or more timestamps in the audio stream, wherein each timestamp is represented by a sequence of bits and each bit is represented by a respective PN code instance, and wherein inserting a particular timestamp includes sequentially inserting a plurality of PN codes into the audio stream to represent each bit of the timestamp including inserting a positive version of the PN code to embed a timestamp bit of the sequence of bits with a first logical value and inserting a negative version of the PN code to embed a timestamp bit of the sequence of bits with a second logical value; and transmitting the video stream and the audio stream separately to a desktop view window presented on a client device. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification