Method and apparatus for streaming data
First Claim
1. A method of controlling play out of a generated audio data stream from a client data stream player, the method comprising:
- at a server, receiving a request, from a client data stream player, to generate an audio stream by converting textual data received from the client data stream player;
at the server, receiving, from a client, textual data to be generated by the server to an audio stream;
at the server, estimating a generation time for generating the audio stream;
at the server, estimating a time to play the generated audio stream at a data stream player;
at the server, generating the audio stream using data received from the client and a data stream generation resource, the audio stream for output by the client data stream player;
buffering at the client, the audio stream generated at the server,waiting at the client for an alert from the server indicating that a remaining generation time is not more than a remaining play time;
sending an alert from the server to the client if remaining generation time for generating the audio stream using the data stream generation resource is not more than remaining play time; and
maintaining a rate of generation at an initial rate or faster after the alert has been sent,wherein generating the audio stream has a priority and the priority is raised in order to maintain the rate of generation of the audio stream after the alert has been sent.
3 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for negotiation of streaming data, suitable for application in an environment wherein a server generates and serves large, continuous amounts of speech data to a client in real time. A method of controlling the play out of a generated data stream from a data stream player includes estimating a time for generating the data stream; estimating a time for playing the data stream; generating a data stream using a data stream generation resource, for output by the data stream player; and alerting the stream player if the remaining generation time is less than the play time. The server may calculate what it can do, given knowledge of the network, and send a message to guarantee a level of service. A “can start play” message may be sent to client when the client can reliably start playing the signal.
26 Citations
18 Claims
-
1. A method of controlling play out of a generated audio data stream from a client data stream player, the method comprising:
-
at a server, receiving a request, from a client data stream player, to generate an audio stream by converting textual data received from the client data stream player; at the server, receiving, from a client, textual data to be generated by the server to an audio stream; at the server, estimating a generation time for generating the audio stream; at the server, estimating a time to play the generated audio stream at a data stream player; at the server, generating the audio stream using data received from the client and a data stream generation resource, the audio stream for output by the client data stream player; buffering at the client, the audio stream generated at the server, waiting at the client for an alert from the server indicating that a remaining generation time is not more than a remaining play time; sending an alert from the server to the client if remaining generation time for generating the audio stream using the data stream generation resource is not more than remaining play time; and maintaining a rate of generation at an initial rate or faster after the alert has been sent, wherein generating the audio stream has a priority and the priority is raised in order to maintain the rate of generation of the audio stream after the alert has been sent. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for controlling play out of a generated media data stream from a client data stream player, said system comprising:
-
a processor configured to estimate a generation time for generating a media data stream, the processor executing instructions that cause the processor to calculate a critical buffer point for a buffer of a client data stream player, the critical buffer point representing a text-to-speech generation time minus a playtime of the speech at a client data stream player, the processor also executing instructions that cause the processor to estimate a play time for the media data stream at a client data stream player; means for generating the media data stream using a data stream generation resource, for output by the client data stream player, wherein the means for generating the media data stream is configured to convert text data received from the client to generate a media data stream consisting of audible speech, wherein the means for generating is further configured to keep a controller updated with text-to-speech generation time throughout a transmission of a text-to-speech data stream; means for sending an alert to the client data stream player if remaining generation time for generating the media data stream using the data stream generation resource is not more than the play time by a client data stream player; and means for maintaining the rate of generation of the media data stream at an initial rate or faster after an alert has been sent, wherein the means for maintaining the rate of generation of the media data stream generation is configured to set a priority for generating the media data stream and to further raise the priority for generating the media data stream after the alert has been sent. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product for controlling the play out of a generated media data stream from a data stream player, said computer program product comprising a non-transitory computer readable medium having computer readable program code tangibly embedded therein, the computer readable program code comprising:
-
computer readable program code configured to repeatedly estimate a remaining generation time for generating an audio voice stream from textual data received from a client; computer readable program code configured to repeatedly estimate a play time at a client for playing a stream consisting of audio voice converted from the textual data received from the client; computer readable program code configured to generate an audio voice stream using textual data received from a client and a data stream generation resource at a server, for output by a data stream player at the client; computer readable program code configured to send an alert to the data stream player at the client if the remaining generation time is not more than the estimated play time at the client data stream player; and computer readable program code configured to maintain the rate of generation of the audio voice stream at an initial rate or faster after the alert has been sent, wherein the audio voice stream generation has a priority and the priority is raised to maintain the rate of generation of the audio voice stream after the alert has been sent. - View Dependent Claims (12, 13, 14)
-
-
15. A system for controlling play out of a generated media data stream from a client data stream player, said system comprising:
a processor and memory, the memory storing instructions for execution on the processor, the instructions, which when executed by the processor, cause the processor to; estimate a generation time for generating a media data stream; estimate a play time at a client data stream player for a generated media data stream; calculate a critical buffer point for a buffer of a client data stream player, the critical buffer point representing a text-to-speech generation time minus a playtime at the client data stream player; generate the media data stream by converting text data received from a client to a media data stream consisting of audible speech; send an alert to the client data stream player if remaining generation time for generating the media data stream is not more than the play time at the client data stream player; maintain the rate of generation of the media data stream at an initial rate or faster after an alert has been sent; and set a priority for generating the media data stream and later raise the priority for generating the media data stream after the alert has been sent. - View Dependent Claims (16, 17, 18)
Specification