Real time network adaptive low latency transport stream muxing of audio/video streams for miracast
First Claim
1. A method of transmitting an audio/video mixed signal over a communication network, said method comprising:
- accessing a packetized stream comprising audio payloads and video payloads;
assigning said audio payloads in a audio queue and said video payloads in a video queue;
converting said packetized stream into a transport stream comprising a plurality of packets that comprise interleaved audio packets and video packets, wherein each of said plurality of packets comprises a transport header and a payload;
prior to transmission of said plurality of packets through said communication network, calculating a virtual clock reference based on a transmission bandwidth through said communication network with respect to said plurality of packets, wherein said virtual clock reference represents a scheduled time for transmitting a packet of said plurality of packets;
prior to transmission of said plurality of packets through said communication network, deriving a time difference between said virtual clock reference and a system clock reference with respect to transmission of said plurality of packets through said communication network; and
prior to transmission of said plurality of packets through said communication network and upon a determination that said time difference indicates that said virtual clock reference falls behind said system clock reference by at least a threshold, selectively dropping a number of payloads until said virtual clock reference and said system clock reference are determined to be synchronous.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for multiplexing audio/video data and generating transport streams for WiFi network with reduced latency for real time playback at a remote device. A virtual presentation clock reference (PCR) representing a scheduled transmission time of a transport stream packet at a transport stream multiplexer is calculated based on the network transmission rate and generation of the data packets. The virtual PCR is compared with the corresponding system PCR to derive a time difference. Based on the time difference, the transport stream multiplexer is configured to adaptively drop packets or throttle packet generation so as to synchronize the playback of audio/video data on a sink device with the generation of interleaved audio/video packets.
-
Citations
22 Claims
-
1. A method of transmitting an audio/video mixed signal over a communication network, said method comprising:
-
accessing a packetized stream comprising audio payloads and video payloads; assigning said audio payloads in a audio queue and said video payloads in a video queue; converting said packetized stream into a transport stream comprising a plurality of packets that comprise interleaved audio packets and video packets, wherein each of said plurality of packets comprises a transport header and a payload; prior to transmission of said plurality of packets through said communication network, calculating a virtual clock reference based on a transmission bandwidth through said communication network with respect to said plurality of packets, wherein said virtual clock reference represents a scheduled time for transmitting a packet of said plurality of packets; prior to transmission of said plurality of packets through said communication network, deriving a time difference between said virtual clock reference and a system clock reference with respect to transmission of said plurality of packets through said communication network; and prior to transmission of said plurality of packets through said communication network and upon a determination that said time difference indicates that said virtual clock reference falls behind said system clock reference by at least a threshold, selectively dropping a number of payloads until said virtual clock reference and said system clock reference are determined to be synchronous. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable storage medium comprising instructions for transmitting signals over a wireless network, wherein said instructions, when executed by a processor, cause said processor to perform a method of:
-
receiving a packetized elementary stream (PES) comprising audio payloads and video payloads; enqueuing said audio payloads in a audio queue and said video payloads in a video queue; inserting a header to said PES; packetizing said PES into a plurality of transport packets that comprise multiplexed audio packets and video packets;
wherein each of said plurality of transport packets comprises a transport header and a payload;prior to transmission of said plurality of transport packets through said communication network, calculating a virtual clock reference based on a transmission bandwidth of said wireless network, wherein said virtual clock reference represents a scheduled time for transmitting a packet of said plurality of transport packets; prior to transmission of said plurality of transport packets through said communication network, deriving a time difference between said virtual clock reference and a system clock reference; prior to transmission of said plurality of transport packets through said communication network and upon a determination that said time difference indicates that said virtual clock reference falls behind said system clock reference by at least a threshold, selectively dropping a number of payloads until said virtual clock reference and said system clock reference is determined to be synchronous. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A device operable to transmit audio/video payloads to a remote computing device through a communication network, said device comprising:
-
a processor; a network circuit enabling said device to access with said communication network; a memory coupled with said network circuit, said memory operable to store instructions that, when executed by said processor, perform a method of; accessing a packetized stream comprising audio payloads and video payloads; enqueuing said audio payloads in a audio queue and said video payloads in a video queue; inserting a header to said packetized stream; packetizing said packetized stream into a plurality of transport packets that comprise multiplexed audio packets and video packets, wherein each of said plurality of transport packets comprises a transport header and a payload; prior to transmission of said plurality of transport packets through said communication network, calculating a virtual clock based on a transmission bandwidth of said communication network, wherein said virtual clock represents a scheduled time for transmitting said packet of said plurality of transport packets; prior to transmission of said plurality of transport packets through said communication network, deriving a time difference between said virtual clock and a system clock with respect to transmission of said plurality of transport packets; and prior to transmission of said plurality of transport packets through said communication network and upon a determination that said time difference indicates that said virtual clock falls behind said system clock by at least a threshold latency, selectively dropping a number of payloads until said virtual clock and said system clock is determined to be synchronous. - View Dependent Claims (19, 20, 21, 22)
-
Specification