Patent ID: 7536469

Claim:
A computer-implemented process for controlling a coding bit rate of streaming media data being transmitted to a client from a server over a computer network, comprising using the server to perform the following process actions: generating a streaming media data stream which exhibits a coding bit rate supported by the server, and which after an initial startup period exhibits a coding bit rate related to a rate requested by the client; computing parameters indicative of the state of an encoder buffer of the server, wherein said encoder buffer is used to stage portions of the streaming media data prior to transmission to the client, and wherein for each coding bit rate supported by the server, computing said parameters comprises computing a set of parameters defining an initial state of the encoder buffer as it would exist if a data stream corresponding to the coding bit rate were streamed therefrom, and wherein said encoder buffer parameters comprise the coding bit rate associated with the data stream, the size of the encoder buffer employed with the coding bit rate of the data stream, and a value indicative of the initial encoder buffer fullness exhibited at the coding bit rate of the data stream; and providing the encoder buffer state parameters and the streaming media data stream to the client, whereby said parameters are usable by the client to establish, on an ongoing basis, a current coding bit rate for the streaming media data, which is estimated will provide a high quality playback of the streaming media data while still keeping a decoder buffer of the client, used to receive streaming media data from the server, filled to a desired duration level so as to reduce the chance of an underflow condition which would result in an interruption of the playback of the streaming media data by the client.