Transmitting and receiving real-time data
First Claim
1. A method of operating a real-time communication apparatus comprising a real-time data sender, a real-time data display device having a store and a network connecting said sender and said display device, said method comprising the steps of:
- operating said sender to transmit a plurality first-encoding-rate data packets representing a first part of a real-time presentation to said display device, said transmission rate being higher than said encoding rate;
operating said display device to;
receive said first-encoding-rate data packets into said store;
remove first-encoding-rate data packets from said store at said first encoding rate for decoding to present said real-time presentation to said user at a first level of quality;
on said store being filled with said first-encoding-rate data to a predetermined level, sending an indication that said level has been reached to said sender;
operating said sender, on receipt of said indication, to send second-encoding-rate data packets representing subsequent parts of said real-time presentation to said display device, said second encoding rate being higher than said first encoding rate;
operating said display device to;
receive second-encoding-rate data packets representing a subsequent part of real-time presentation into said store;
remove second-encoding-rate data packets from said store at said second encoding rate for decoding to present said real-time presentation to said user at a second level of quality higher than said first level of quality.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention concerns streaming real-time data (e.g. video) over packet networks (e.g. the Internet). Conventionally, in packet networks, in order to view streamed video data a reservoir of data is built up to reduce the effect of jitter, caused by variations in the inter-arrival times of packets of data. Consequently, a delay is experienced before the video material can be viewed as the reservoir is filled. The invention is concerned with providing streamed video without the start-up delay by transmitting data from a video streamer to the video viewer more rapidly than the video viewer consumes the data and using the excess data to build a buffer at the video viewer. When a suitable sized buffer is built the transmission rate of data to the buffer may be reduced. In order to deliver the best quality material for the available bandwidth, the supply of video data may be switched to a higher bit-rate source when the reservoir is filled. Fluctuations in network throughput may be accommodated during the transmission of data on a fine scale by adjusting the transmission rate of the data and on a coarse scale by switching between data streams encoded at different bit-rates. Fluctuations in network throughput are determined by counting the number of missing packets at the video viewer which information may then be fed back to the video streamer to adjust the flow of data accordingly.
-
Citations
17 Claims
-
1. A method of operating a real-time communication apparatus comprising a real-time data sender, a real-time data display device having a store and a network connecting said sender and said display device, said method comprising the steps of:
-
operating said sender to transmit a plurality first-encoding-rate data packets representing a first part of a real-time presentation to said display device, said transmission rate being higher than said encoding rate;
operating said display device to;
receive said first-encoding-rate data packets into said store;
remove first-encoding-rate data packets from said store at said first encoding rate for decoding to present said real-time presentation to said user at a first level of quality;
on said store being filled with said first-encoding-rate data to a predetermined level, sending an indication that said level has been reached to said sender;
operating said sender, on receipt of said indication, to send second-encoding-rate data packets representing subsequent parts of said real-time presentation to said display device, said second encoding rate being higher than said first encoding rate;
operating said display device to;
receive second-encoding-rate data packets representing a subsequent part of real-time presentation into said store;
remove second-encoding-rate data packets from said store at said second encoding rate for decoding to present said real-time presentation to said user at a second level of quality higher than said first level of quality. - View Dependent Claims (6, 14)
-
-
2. A method of presenting time-sensitive data and constructing a buffer of time-sensitive data, said method comprising
receiving time-sensitive data; -
reading said time-sensitive data into a data buffer; and
,reading said time-sensitive data out of the data buffer for presentation; and
,presenting the time-sensitive data;
wherein the method is characterised in that the rate at which the time-sensitive data is read out of the data buffer is lower than the rate at which the time-sensitive data is read into the data buffer; and
,reading the time-sensitive data out of the data buffer is initiated when the time-sensitive data first arrives at the data buffer, such that there is substantially no delay between the client first receiving the time-sensitive data and making the time-sensitive data available for presentation. - View Dependent Claims (3, 4, 5)
-
-
7. A method of providing time-sensitive data to a client, wherein
time-sensitive data is encoded at a plurality of bit-rates; -
wherein data encoded at one of the plurality of bit-rates is selected for transmission to the client;
transmitting the data to the client. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
15. Apparatus for receiving time-sensitive data, said apparatus comprising,
buffer means for storing received time-sensitive data for a period of time, means for reading said time-sensitive data into the buffer means, means for reading said time dependent data out of said buffer means, monitoring means for monitoring the quantity of data held in the buffer means; - and
means for transmitting data relating to the quantity of time dependent data held in said buffer means, said apparatus being characterised in that means for initiating reading the time-sensitive data out of the data buffer when the monitoring means detects the arrival of time-sensitive data at the data buffer, such that there is substantially no delay between the client first receiving the time-sensitive data and the time-sensitive data being read out of the buffer.
- and
-
16. Apparatus for supplying encoded video data to at least one client, said apparatus comprising,
receiving means to receive a plurality of data streams, wherein each of the plurality of data streams comprises video data encoded from the same source with differing quantisation parameters, a plurality of buffer means for storing each stream of encoded video data for a period of time, at least one reading means for reading encoded video data from one of the plurality of buffer means, buffer management means arranged to control the at least one reading means, characterised in that, said reading means is arranged to read, under control of the buffer management means, encoded video data from any of the buffer means at a frame rate which may be less than, equal to or greater than the frame rate at which the video data is encoded.
Specification