Customized playback at sink device in wireless display system
First Claim
1. A method comprising:
- establishing a communication session at a sink device with a source device in a Wireless Display (WD) system;
receiving, with the sink device, media data from the source device, wherein the media data includes at least video data;
decoding the received media data with a processing pipeline of the sink device;
detecting whether the decoded media data includes audio data; and
when the decoded media data does not include audio data, performing accelerated rendering of the video data with the processing pipeline of the sink device without waiting to synchronize the video data with audio data.
1 Assignment
0 Petitions
Accused Products
Abstract
This disclosure describes techniques to improve a user experience in a Wireless Display (WD) system. The WD system includes a source device that provides media data to one or more sink devices. The techniques are directed toward reducing end-to-end latency in the WD system while improving video playback quality at the sink devices. More specifically, the techniques include customized playback at the sink devices based on the type of media data received from the source device. If the media data only includes video data and does not include audio data, a processing pipeline of the sink device is configured to render the video data without waiting to synchronize with non-existent audio data. If the media data includes both video data and audio data, an audio rendering start-up timer is reduced and the processing pipeline renders synchronized audio and video data according to the reduced start-up timer.
-
Citations
46 Claims
-
1. A method comprising:
-
establishing a communication session at a sink device with a source device in a Wireless Display (WD) system; receiving, with the sink device, media data from the source device, wherein the media data includes at least video data; decoding the received media data with a processing pipeline of the sink device; detecting whether the decoded media data includes audio data; and when the decoded media data does not include audio data, performing accelerated rendering of the video data with the processing pipeline of the sink device without waiting to synchronize the video data with audio data. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
2. The method of 1, wherein performing accelerated rendering of the video data comprises disabling synchronization between the video data and audio data at a renderer included in the processing pipeline.
-
3. The method of 1, wherein performing accelerated rendering of the video data comprises configuring a renderer included in the processing pipeline to render the video data.
-
14. A sink device comprising:
-
a processing pipeline including one or more processing units configured to establish a communication session at the sink device with a source device in a Wireless Display (WD) system, receive media data from the source device, wherein the media data includes at least video data, decode the received media data, detect whether the received media data includes audio data, and, when the received media data does not include audio data, perform accelerated rendering of the video data without waiting to synchronize the video data with audio data; and a pipeline manager configured to manage the processing pipeline of the sink device. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
- 15. The sink device of 14, wherein, when the received media data does not include audio data, the pipeline manager disables synchronization between the video data and audio data at a renderer included in the processing pipeline, and wherein the one or more processing units of the processing pipeline are configured to render the video data without waiting to synchronize with audio data.
-
27. A sink device comprising:
-
means for establishing a communication session at the sink device with a source device in a Wireless Display (WD) system; means for receiving media data from the source device, wherein the media data includes at least video data; means for decoding the received media data with a processing pipeline of the sink device; means for detecting whether the received media data includes audio data; and when the received media data does not include audio data, means for performing accelerated rendering of the video data with the processing pipeline of the sink device without waiting to synchronize the video data with audio data. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
-
28. The sink device of 27, further comprising, when the received media data does not include audio data, means for disabling synchronization between the video data and audio data at a renderer included in the processing pipeline, and means for rendering the video data without waiting to synchronize with audio data.
-
29. The sink device of 27, further comprising, when the received media data does not include audio data, means for configuring a renderer included in the processing pipeline to render the video data.
-
37. A non-transitory computer-readable medium comprising instructions that when executed in a sink device cause a programmable processor to:
-
establish a communication session at the sink device with a source device in a Wireless Display (WD) system; receive media data from the source device, wherein the media data includes at least video data; decode the received media data with a processing pipeline of the sink device; detect whether the received media data includes audio data; and when the received media data does not include audio data, perform accelerated rendering of the video data with the processing pipeline of the sink device without waiting to synchronize the video data with audio data.
-
-
38. The non-transitory computer-readable medium of 37, wherein, when the received media data does not include audio data, the instructions cause the programmable processor to disable synchronization between the video data and audio data at a renderer included in the processing pipeline, and render the video data without waiting to synchronize with audio data.
-
39. The non-transitory computer-readable medium of 37, wherein, when the received media data does not include audio data, the instructions cause the programmable processor to configure a renderer included in the processing pipeline to render the video data.
-
40. The non-transitory computer-readable medium of 37, wherein the instructions cause the programmable processor to increase a sample time of the video data received from the source device based on a media time applicable for a renderer included in the processing pipeline, and render the video data according to the increased sample time.
-
41. The non-transitory computer-readable medium of 37, wherein the instructions cause the programmable processor to detect one of a presence or an absence of an audio time stamp in the received media data, wherein the presence of the audio time stamp indicates that the media data includes audio data.
-
42. The non-transitory computer-readable medium of 37, further comprising instructions that cause the programmable processor to:
-
receive stream header information from the source device during a capability negotiation period for the communication session prior to receiving the media data; configure the processing pipeline of the sink device based on the stream header information; and after the processing pipeline is configured, notify the source device to begin transmitting the media data.
-
-
43. The non-transitory computer-readable medium of 37, further comprising, when the received media data includes audio data, instructions that cause the programmable processor to:
-
reduce an audio rendering start-up timer for a renderer included in the processing pipeline of the sink device; synchronize the video data with the audio data; and render the synchronized audio data and video data according to the reduced start-up timer.
-
-
44. The non-transitory computer-readable medium of 37, wherein the processing pipeline of the sink device includes a decoder that is not programmable, further comprising instructions that cause the programmable processor to insert dummy frames into the video data at the sink device to push the decoded samples of the video data out of the decoder for rendering.
-
45. The non-transitory computer-readable medium of 37, wherein the processing pipeline of the sink device includes a programmable decoder, further comprising instructions that cause the programmable processor to configure the programmable decoder to output the decoded samples of the video data in decoding order for rendering as soon as decoding is complete.
-
46. The non-transitory computer-readable medium of 37, further comprising, upon receiving the media data from the source device, instructions that cause the programmable processor to flush one or more samples of the received media data out of a decoder included in the processing pipeline of the sink device prior to rendering the received media data, wherein the one or more samples comprise stalled samples of old media data from the source device.
Specification