Resource Allocation in Multi-Stream IP Network for Optimized Quality of Service
First Claim
1. A computer system for transmitting a mixed media data stream in packets, including audio and video objects, between a sender and a receiver through a connection over a network, the computer system adapted to implement a method comprising:
- monitoring, at the receiver, transmission characteristics of the connection between the server and the receiver;
estimating available bandwidth at the sender based upon the transmission characteristics of the connection monitored at the receiver;
allocating a global buffer for the mixed media data stream to be transmitted from the sender to the receiver as a function of the estimated available bandwidth at the sender;
pre-encoding a portion of each Video Object Plane (VOP) in the global buffer with respect to a quantization parameter (QP) of the VOP;
encoding the VOP in the global buffer based on the QP;
updating a rate distortion model based upon the QP and packet loss rate;
performing a frame skipping function after the VOP encoding; and
transmitting from the sender to the receiver the encoded video object plane in the global buffer at a regulated sender transmission rate from the sender as a function of the estimated available bandwidth at the sender;
wherein pre-encoding a portion of each VOP with respect to the QP of the VOP further comprises adjusting the QP of the VOP; and
wherein the QP of the VOP is adjusted with respect to a texture parameter, r, as the number of bits which will be used to encode the VOP wherein;
p1 and p2 are control parameters; and
MAD is a mean absolute distortion in which a total target bit rate for all objects in the global buffer are allocated proportionally to motion, size, and square of MAD.
1 Assignment
0 Petitions
Accused Products
Abstract
A resource allocation of multiple compressed AV streams delivered over the Internet is disclosed that achieves end-to-end optimal quality through a multimedia streaming TCP-friendly transport (MSTFP) protocol that adaptively estimates the network bandwidth while smoothing the sending rate. Resources allocated dynamically according to a media encoding distortion and network degradation algorithm. A scheme is also disclosed for dynamically estimating the available network bandwidth for streaming of objects, such as MPEG4 multiple video objects, in conjunction with the MSTFP protocol. The scheme can account for packet-loss rates to minimize end-to-end distortion for media delivery.
43 Citations
10 Claims
-
1. A computer system for transmitting a mixed media data stream in packets, including audio and video objects, between a sender and a receiver through a connection over a network, the computer system adapted to implement a method comprising:
-
monitoring, at the receiver, transmission characteristics of the connection between the server and the receiver;
estimating available bandwidth at the sender based upon the transmission characteristics of the connection monitored at the receiver;
allocating a global buffer for the mixed media data stream to be transmitted from the sender to the receiver as a function of the estimated available bandwidth at the sender;
pre-encoding a portion of each Video Object Plane (VOP) in the global buffer with respect to a quantization parameter (QP) of the VOP;
encoding the VOP in the global buffer based on the QP;
updating a rate distortion model based upon the QP and packet loss rate;
performing a frame skipping function after the VOP encoding; and
transmitting from the sender to the receiver the encoded video object plane in the global buffer at a regulated sender transmission rate from the sender as a function of the estimated available bandwidth at the sender;
wherein pre-encoding a portion of each VOP with respect to the QP of the VOP further comprises adjusting the QP of the VOP; and
wherein the QP of the VOP is adjusted with respect to a texture parameter, r, as the number of bits which will be used to encode the VOP wherein;
p1 and p2 are control parameters; and
MAD is a mean absolute distortion in which a total target bit rate for all objects in the global buffer are allocated proportionally to motion, size, and square of MAD. - View Dependent Claims (2, 3, 4)
-
-
5. A computer system for transmitting a mixed media data stream in packets, including audio and video objects, between a sender and a receiver through a connection over a network, the computer system adapted to implement a method comprising:
-
monitoring, at the receiver, transmission characteristics of the connection between the server and the receiver;
estimating available bandwidth at the sender based upon the transmission characteristics of the connection monitored at the receiver;
allocating a global buffer for the mixed media data stream to be transmitted from the sender to the receiver as a function of the estimated available bandwidth at the sender;
pre-encoding a portion of each Video Object Plane (VOP) in the global buffer with respect to a quantization parameter (QP) of the VOP;
encoding the VOP in the global buffer based on the QP;
updating a rate distortion model based upon the QP and packet loss rate;
performing a frame skipping function after the VOP encoding; and
transmitting from the sender to the receiver the encoded video object plane in the global buffer at a regulated sender transmission rate from the sender as a function of the estimated available bandwidth at the sender; and
wherein;
the sender sends data to the receiver in through a connection over a packet switched network in a sender packet having a sender header that includes;
a packet sequence number;
a timestamp indicating the time when the sender packet was sent (ST1); and
the size of the sender packet (PacketSize);
the receiver sends data to the sender through the connection over the packet switched network in a receiver packet having a receiver header that includes;
the time interval that the sender packet spent in the receiver side (Δ
RT);
the timestamp of the sender packet sent from the sender (ST1);
an estimate, calculated by the receiver, of a packet-loss rate; and
the rate at which data is received at the receiver;
monitoring transmission characteristics of the connection between server and receiver comprises;
estimating a round trip time of the sender packet from the sender to the receiver (RTT) based on ST1 and Δ
RT;
estimating a time out interval (TO) before which the sender should retransmit to the receiver a sender packet of data that has not been received by the receiver;
estimating a probability that a packet of data will be lost (PL);
estimating the present available network bandwidth at which the receiver can receive data from the sender (rvcrate) as a function of the PacketSize, the RTT, the PL, and the TO;
deriving the present sending rate of data from the sender to the receiver ({overscore (currate)});
setting an updated sending rate of data from the sender to the receiver (currate), wherein;
if revrate is greater than {overscore (currate)}, then deriving currate as a function {overscore (currate)}, PacketSize, and RTT; and
if rcvrate is not greater than {overscore (currate)}, then setting currate to be less than rcvrate; and
wherein;
RTT=α
×
{overscore (RTT)}+(1−
α
)×
(now−
ST1−
Δ
RT); and
now is the timestamp indicating the time at which the receiver packet was received in the sender; and
a is a weighting parameter. - View Dependent Claims (6)
-
-
7. A computer system for transmitting a mixed media data stream in packets, including audio and multiple video objects (MVOs), between a sender and a receiver through a connection over a network, the computer system adapted to implement a method comprising:
-
monitoring transmission characteristics of one or more encoded video object planes through the connection between the sender and the receiver;
estimating, from the transmission characteristics, an available bandwidth (RT) at the sender;
allocating, as a function of the RT, a portion of the mixed media data stream to a global buffer, encoding a video object plane from the global buffer based upon a rate distortion function that accounts for packet loss rate between sender and receiver;
.updating the rate distortion function based upon results of the encoded video object plane and upon a memory containing results of one or more previously encoded video object planes;
after the encoding the MVOs in the video object plane, performing a frame skipping function; and
transmitting, at the estimated available bandwidth, the encoded video object plane from the sender to the receiver;
wherein allocating a portion of the mixed media data stream to a global buffer comprises;
Wcur=max(((Wprev+Bprev)×
RT/Rold−
RT/F),0), as the global buffer size Rold/2, is changed to RT/2, wherein;
Bprev is the number of bits spent in the previous time instant Bprev, Rold/2 is the previous size of the global buffer;
Wprev is the previous occupancy of the global buffer; and
F is the video frame rate. - View Dependent Claims (8, 9, 10)
-
Specification