Transmitting and receiving real-time data
DC CAFCFirst 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:
- operating said sender to transmit a plurality of first-encoding-rate data packets encoded at a first encoding rate and representing a first part of a real-time presentation to said display device at a transmission rate higher than said first encoding rate of said first-encoding-rate data packets;
operating said display device to;
receive said first-encoding-rate data packets into said store;
read-out said received first-encoding-rate data packets from said store at a data rate equal to said first encoding rate of said first-encoding-rate data packets for decoding so as to present said first part of said real-time presentation to a 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 data sender;
operating said data sender, on receipt of said indication from said display device, to send second-encoding-rate data packets encoded at a second encoding rate and representing subsequent parts of said real-time presentation to said display device, said second encoding rate of said second-encoding-rate data packets being higher than said first encoding rate of said first-encoding-rate data packets;
operating said display device to;
receive the second-encoding-rate data packets representing the subsequent part of real-time presentation into said store;
read out said second-encoding-rate data packets from said store at a data rate equal to said second encoding rate of said second-encoding-rate data packets for decoding so as to present said subsequent part of said real-time presentation to said user at a second level of quality which is higher than said first level of quality.
1 Assignment
Litigations
1 Petition
Accused Products
Abstract
Real-time data (e.g. video) is streamed over packet networks (e.g. the Internet). Streamed video is provided 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.
157 Citations
12 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:
-
operating said sender to transmit a plurality of first-encoding-rate data packets encoded at a first encoding rate and representing a first part of a real-time presentation to said display device at a transmission rate higher than said first encoding rate of said first-encoding-rate data packets; operating said display device to; receive said first-encoding-rate data packets into said store; read-out said received first-encoding-rate data packets from said store at a data rate equal to said first encoding rate of said first-encoding-rate data packets for decoding so as to present said first part of said real-time presentation to a 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 data sender; operating said data sender, on receipt of said indication from said display device, to send second-encoding-rate data packets encoded at a second encoding rate and representing subsequent parts of said real-time presentation to said display device, said second encoding rate of said second-encoding-rate data packets being higher than said first encoding rate of said first-encoding-rate data packets; operating said display device to; receive the second-encoding-rate data packets representing the subsequent part of real-time presentation into said store; read out said second-encoding-rate data packets from said store at a data rate equal to said second encoding rate of said second-encoding-rate data packets for decoding so as to present said subsequent part of said real-time presentation to said user at a second level of quality which is higher than said first level of quality. - View Dependent Claims (2, 3)
-
-
4. A method of operating a communication apparatus comprising a data sender, a data presentation device having a store, and a network connecting said data sender and said data presentation device, said method comprising:
-
operating said data sender to transmit a first plurality of first-encoding-rate data packets encoded at a first encoding rate to said data presentation device, wherein said first plurality of first-encoding-rate data packets are transmitted at a first transmission rate which is higher than said first encoding rate of said first-encoding-rate data packets; operating said data presentation device to; receive said first plurality of first encoding rate data packets into said store; read out said received first-encoding-rate data packets from said store at a data rate equal to said first encoding rate of said first-encoding-rate data packets for decoding so as to present to a user at a first level of quality, wherein the removing of said first-encoding-rate data packets from said store is initiated when said first-encoding-rate data packets first arrive at said store; on said store being filled with data packets to a predetermined level, sending an indication to said data sender that said predetermined level has been reached; operating said data sender, on receipt of said indication from said data presentation device, to transmit a second plurality of second-encoding-rate data packets encoded at a second encoding rate to said data presentation device, wherein said second plurality of second-encoding-rate data packets are transmitted at a second transmission rate which is higher than said first transmission rate; and
wherein said second encoding rate is higher than said first encoding rate;operating said data presentation device to; receive said second plurality of second-encoding-rate data packets into said store; read out said second-encoding-rate data packets from said store at a data rate equal to said second encoding rate of said second-encoding-rate data packets for decoding, so as to present to said user at a second level of quality, wherein said second level of quality is higher than said first level of quality.
-
-
5. 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:
-
operating said sender to transmit a plurality of first-encoding-rate data packets encoded at a first encoding rate and representing a first part of a real-time presentation to said display device at a transmission rate higher than said first encoding rate of said first-encoding-rate data packets; operating said display device to; receive said first-encoding-rate data packets into said store; read-out said received first-encoding-rate data packets from said store at a data rate equal to said first encoding rate of said first-encoding-rate data packets for decoding so as to present said first part of said real-time presentation to a 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 data sender; operating said data sender, on receipt of said indication from said display device, to send second-encoding-rate data packets encoded at a second encoding rate and representing subsequent parts of said real-time presentation to said display device, said second encoding rate of said second-encoding-rate data packets being higher than said first encoding rate of said first-encoding-rate data packets; operating said display device to; receive the second-encoding-rate data packets representing the subsequent part of real-time presentation into said store; read out said second-encoding-rate data packets from said store at a data rate equal to said second encoding rate of said second-encoding-rate data packets for decoding so as to present said subsequent part of said real-time presentation to said user at a second level of quality which is higher than said first level of quality; wherein said display device sends packet loss information to the sender and in response to receiving said packet loss information, said sender reduces the transmission rate of said second-encoding rate data packets to the display device. - View Dependent Claims (6)
-
-
7. A real-time communication system 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, wherein; said sender is operable to transmit first-encodingrate data packets encoded at a first encoding rate and representing a first part of a real-time presentation to said display device with a transmission rate higher than said first encoding rate of said first-encoding-rate data packets; said display device being operable to; receive said first-encoding rate data packets into said store; read out said received first-encoding-rate data packets from said store at a data rate equal to said first encoding rate of said first-encoding-rate data packets for decoding, so as to present said first part of said real-time presentation to a user at a first level of quality; and 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; characterised in that; said sender is operable, on receipt of said indication, to send second-encoding-rate data packets encoded at a second encoding rate and representing subsequent parts of said real-time presentation to said display device, said second encoding rate of said second-encoding-rate data packets being higher than said first encoding rate of said first-encoding-rate data packets; wherein said display device is further operable to; receive second encoding rate data packets representing a subsequent part of the real-time presentation into said store; read out the second encoding rate data packets from said store at a data rate equal to said second encoding rate of said second-encoding-rate data packets for decoding, so as to present said subsequent part of said real-time presentation to said user at a second level of quality which is higher than said first level of quality.
-
-
8. A real-time communication system 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, wherein; said sender is operable to transmit first-encoding-rate data packets encoded at a first encoding rate and representing a first part of a real-time presentation to said display device with a transmission rate higher than said first encoding rate of said first-encoding-rate data packets; said display device being operable to; receive said first-encoding rate data packets into said store; read out said received first-encoding-rate data packets from said store at a data rate equal to said first encoding rate of said first-encoding-rate data packets for decoding, so as to present said first part of said real-time presentation to a user at a first level of quality; and 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; characterised in that; said sender is operable, on receipt of said indication, to send second-encoding-rate data packets encoded at a second encoding rate and representing subsequent parts of said real-time presentation to said display device, said second encoding rate of said second-encoding-rate data packets being higher than said first encoding rate of said first-encoding-rate data packets; wherein said display device is further operable to; receive second encoding rate data packets representing a subsequent part of the real-time presentation into said store; read out the second encoding rate data packets from said store at a data rate equal to said second encoding rate of said second-encoding-rate data packets for decoding, so as to present said subsequent part of said real-time presentation to said user at a second level of quality which is higher than said first level of quality wherein said display device further comprises packet loss detecting means for detecting packet loss and sending packet loss information to the sender; and in response to receiving said packet loss information, said sender is further operable to reduce the transmission rate of said second encoding rate data packets to the display device. - View Dependent Claims (9)
-
-
10. A real-time data display device configured to communicate with a real-time data sender over a network, the real-time data display device comprising:
-
a store; and a processing system having a configuration operable to; receive, at the display device and from the real-time data sender, first-encoding-rate data packets encoded at a first encoding rate and representing a first part of a real-time presentation for said display device with a transmission rate higher than said first encoding rate of said first-encoding-rate data packets; receive said first-encoding rate data packets into said store; read out said received first-encoding-rate data packets from said store at a data rate equal to said first encoding rate of said first-encoding-rate data packets for decoding, so as to present said first part of said real-time presentation to a user at a first level of quality; on said store being filled with said first encoding rate data to a predetermined level, send an indication that said level has been reached to said sender; after the indication has been sent, receive, at the display device and from the real-time data sender, second-encoding-rate data packets encoded at a second encoding rate and representing subsequent parts of said real-time presentation for said display device, said second encoding rate of said second-encoding-rate data packets being higher than said first encoding rate of said first-encoding-rate data packets; receive second encoding rate data packets representing a subsequent part of the real-time presentation into said store; and read out the second encoding rate data packets from said store at a data rate equal to said second encoding rate of said second-encoding-rate data packets for decoding, so as to present said subsequent part of said real-time presentation to said user at a second level of quality which is higher than said first level of quality. - View Dependent Claims (11, 12)
-
Specification