Data rate smoothing
First Claim
1. A system comprising:
- a real-time encoder having a first layer and a second layer, where the first layer is to send packets of data to the second layer at a dynamic bit rate; and
, a rate-smoothing mechanism to adjust the dynamic bit rate at which the first layer of the real-time encoder is to send the packets of data to the second layer such that the rate is less than a predetermined maximum rate.
2 Assignments
0 Petitions
Accused Products
Abstract
Data rate smoothing is disclosed. In one embodiment, a system includes a real-time encoder and a rate-smoothing mechanism. The real-time encoder has a first layer and a second layer, where the first layer sends packets of data to the second layer at a dynamic bit rate. The mechanism adjusts the dynamic bit rate such that the rate is less than a predetermined maximum rate. In a further embodiment, the second layer also sends the packets to the mechanism, and the system also includes a buffer and a client. The buffer temporarily stores the packets received by the mechanism. The client receives the packets from the mechanism, where the mechanism deletes packets from the buffer when a predetermined backlog threshold is exceeded.
34 Citations
26 Claims
-
1. A system comprising:
-
a real-time encoder having a first layer and a second layer, where the first layer is to send packets of data to the second layer at a dynamic bit rate; and
,a rate-smoothing mechanism to adjust the dynamic bit rate at which the first layer of the real-time encoder is to send the packets of data to the second layer such that the rate is less than a predetermined maximum rate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
a buffer to temporarily store the packets of the data received by the rate-smoothing mechanism from the second layer of the real-time encoder; and
,a client to receive the packets of the data from the rate-smoothing mechanism as temporarily stored in the buffer, such that the rate-smoothing mechanism deletes packets from the buffer when the packets temporarily stored therein exceed a predetermined backlog threshold.
-
-
3. The system of claim 1, wherein the first layer of the real-time encoder comprises an upper layer of the real-time encoder coupled to a capture mechanism capturing audio and video content.
-
4. The system of claim 3, wherein the capture mechanism comprises at least one audio capture hardware card and at least one video capture hardware card.
-
5. The system of claim 1, wherein the second layer of the real-time encoder comprises a network layer of the real-time encoder, and the system further comprises a queue coupling the first layer of the real-time encoder to the second layer of the real-time encoder.
-
6. The system of claim 2, further comprising a client proxy coupling the client to the rate-smoothing mechanism.
-
7. The system of claim 2, wherein the client is coupled to the rate-smoothing mechanism via the Internet.
-
8. The system of claim 2, wherein client is coupled to the rate-smoothing mechanism via TCP/IP.
-
9. The system of claim 3, wherein the predetermined maximum rate is a predetermined percentage over an advertised arrival bit rate to the first layer of the real-time encoder from the capture mechanism.
-
10. The system of claim 2, wherein the predetermined backlog threshold is determined as an oldest packet temporarily stored in the buffer being older than the current time by a predetermined length of time.
-
11. A method comprising:
-
sending captured data as packets of data at a dynamic bit rate;
adjusting the dynamic bit rate at which the packets of data are sent such that the rate is less than a predetermined maximum rate;
buffering the packets of data;
deleting at least one packet of data when the packets as buffered exceed a predetermined backlog threshold; and
,sending the packets of data as buffered to a client. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
capturing the data; and
,receiving the captured data.
-
-
13. The method of claim 11, wherein sending captured data as packets of data comprises queuing the packets of data.
-
14. The method of claim 11, wherein adjusting the dynamic bit rate comprises measuring arrival of the packets of data as the packets are sent for each of a series of predetermined periods of time.
-
15. The method of claim 11, wherein deleting at least one packet of data comprises deleting a predetermined percentage of the packets of data.
-
16. The method of claim 11, wherein sending the packets of data as buffered to a client comprises sending the packets of data to the client via a client proxy.
-
17. The method of claim 11, wherein the predetermined maximum rate is a predetermined percentage over an advertised arrival bit rate.
-
18. The method of claim 11, wherein the predetermined backlog threshold is determined as an oldest buffered packet being older than the current time by a predetermined length of time.
-
19. A computer comprising:
-
a real-time encoder having an upper layer and a network layer, where the upper layer is to send packets of data to the network layer at a dynamic bit rate;
a processor;
a computer-readable medium; and
,a rate-smoothing program executed by the processor from the medium to adjust the dynamic bit rate such that the rate is less than a predetermined maximum rate. - View Dependent Claims (20, 21, 22)
-
-
23. A computer-readable medium having a computer program stored thereon for execution on a computer having a real-time encoder having an upper layer and a network layer,
where the upper layer is to send packets of data to the network layer at a dynamic bit rate, and where the program is to adjust the dynamic bit rate such that the rate is less than a predetermined maximum rate.
Specification