Patent ID: 7921445

Claim:
A processor-implemented method of modifying an input media signal stored on a server for playback on a client in a streaming environment according to a client-specified parameter, comprising: using a stream processing algorithm to perform a first stage of computation on the input media signal, once, at the server, to generate an intermediate representation of the input media signal, independent of the client-specified parameter; the first stage of computation including a time scale modification of the input media signal using a time-to -frequency mapping of the input media signal to generate a plurality of samples comprising the intermediate representation; wherein the time scale modification of the input media signal comprises: calculating a filter bank representation of the input media signal, the filter bank representation producing sub-band output streams of the input media signal; computing a psychoacoustic model to determine a mastery level of the input media signal as a function of time and frequency, to determine a number of bits to allocate to the sub-band output streams, and to predict an amount of quantization noise in frequency bands of the input media signal that is masked by the signal content, thereby maintaining a perceived quality of the input media signal for the number of bits allocated to the sub-band output streams to encode the input media signal, the psychoacoustic model being based on a subjective and psychological perception of the input media signal; tabulating the number of bits allocated to the sub-band output streams; computing pitch of the input media signal; quantizing the filter bank representation of the input media signal from the psychoacoustic model, wherein the psychoacoustic model is stored as part of the intermediate representation; dropping a portion of the plurality of samples comprising the intermediate representation, wherein dropping the portion of the plurality of samples is determined by a speed factor request from a client; wherein the intermediate representation requires a second stage of computation in order to provide partial processing for playback on the client, the second stage of computation being implemented by the stream processing algorithm receiving a client-specified parameter subsequent to generation of the intermediate representation; storing the intermediate representation of the input media signal; using the stream processing algorithm to perform the second stage of computation on the intermediate representation to generate a modified media signal for providing partial processing for playback on a client based on the client-specified parameter; and performing a third stage of computation for implementing a final processing of the modified media signal.