Method and apparatus for real time communication over packet networks
First Claim
1. An apparatus for communicating a real time media input comprising:
- an encoding device for encoding the media input into a plurality of data packets, each data packet comprising a plurality of frames created according to a first variable;
a receiving device for unpacking the data packets, and buffering the unpacked data frames packets for a playout of the media input according to a second variable, the receiving device generating a plurality of utility parameters for evaluating a dynamic characteristic of a transporting network that transports the data packets from the encoding device to the receiving device, wherein a preferred utility parameter is selected from the plurality of utility parameters, the preferred utility parameter is used to adjust the first and the second variable so that the encoding device and the receiving device adapt to the dynamic characteristic.
6 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for communicating a real time media input over a network. The apparatus encodes the input into data packets having a number of frames ordered according to a first variable. A receiving device unpacks and buffers the unpacked data packets for playout according to a second variable. The receiving device generates utility parameters for evaluating a dynamic characteristic of the network that transports the data packets. The receiving device selects a preferred utility parameter and adjusts the first and second variable according to the selected utility parameter. The method includes encoding an analog input into data packets that are transported to a receiving device. The method also includes unpacking the data packets, buffering the unpacked data packets according to a second variable, and generating at least two utility parameters that represent a dynamic characteristic of a network. The method also includes selecting a preferred utility parameter and adjusting the first and the second variables according to the selected preferred utility parameter.
117 Citations
64 Claims
-
1. An apparatus for communicating a real time media input comprising:
-
an encoding device for encoding the media input into a plurality of data packets, each data packet comprising a plurality of frames created according to a first variable;
a receiving device for unpacking the data packets, and buffering the unpacked data frames packets for a playout of the media input according to a second variable, the receiving device generating a plurality of utility parameters for evaluating a dynamic characteristic of a transporting network that transports the data packets from the encoding device to the receiving device, wherein a preferred utility parameter is selected from the plurality of utility parameters, the preferred utility parameter is used to adjust the first and the second variable so that the encoding device and the receiving device adapt to the dynamic characteristic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus for communicating a real time media input, the apparatus comprising:
-
a sender comprising an encoder and a packetizer in which the encoder partitions the real time media input into a plurality of frames and compresses the frames, the packetizer packets the compressed frames into a plurality of data packets according to a redundancy value;
a transporting network that transports the data packets from the sender to a receiver;
the receiver comprising a real decoder and a plurality of computation decoders, the real decoder comprising a real decoder depacketizer and a real decoder buffer wherein the real decoder depacketizer unpacks the plurality of frames, the frames are placed into the real decoder buffer, a buffer depth is controlled by a buffer length variable, each computation decoder having a utility parameter for evaluating a dynamic characteristic of the transporting network, the computation decoder comprising a computation decoder depacketizer and a computation decoder buffer wherein the computation decoder depacketizer unpacks the plurality of frames, and communicates the frames to the computation decoder buffer, the receiver selects a preferred utility parameter from the generated utility parameters and communicates a feedback variable to the real decoder buffer, such that the buffer length is adjusted in accordance with a change in the dynamic characteristic. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A system for transmitting real time media, the system comprising:
-
a first calling device for placing a call to a first processing hub, the first processing hub comprising;
an encoder for partitioning the call into a plurality of compressed frames, and a packetizer for packetizing the frames into a data packet according to a redundancy variable;
a transporting network for transporting the data packet between the first hub and a second hub wherein the second hub comprises;
a decoder for decoding the data packet into the plurality of frames and ordering these frames within a buffer having a buffer depth according to a buffer length variable, the decoder generating a plurality of utility parameters based on the redundancy variable and the buffer length variable, wherein the decoder selects a preferred utility parameter from the generated utility parameters such that the redundancy variable and the buffer length variable are adjusted in accordance with a change in the dynamic characteristic; and
a second calling device connected to the second processing hub. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A method for communicating a real time media input comprising the steps of:
-
communicating the real time media input to a sending device;
encoding the media input into a plurality of frames, packetizing the frames into data packets, each data packet comprising an ordered plurality of the frames according to a first variable;
transporting the data packets to a receiving device;
unpacking the data packets at the receiving device;
buffering the unpacked data packets according to a second variable, generating at least two utility parameters, the utility parameters representing a dynamic characteristic of a transporting network that transports the data packets from the sending device to the receiving device, selecting a preferred utility parameter from the generated utility parameters; and
adjusting the first and the second variable according to the selected preferred utility parameter. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45)
-
-
46. A method for communicating a real time media input comprising the steps of:
-
partitioning and compressing the real time media input into a plurality of frames at a digital waveform encoder;
packetizing the frames into a plurality of data packets according to an actual redundancy variable;
transporting the data packets by a transporting network from the digital encoder to a receiver;
unpacking the transported data packets into the plurality of frames;
arranging the frames within a buffer according to a buffer length variable;
evaluating a plurality of utility parameters for evaluating a dynamic transporting characteristic of the transporting network;
selecting a preferred utility parameter from the utility parameters; and
adapting the buffer length variable according to a change in the transporting characteristic. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54, 55)
-
-
56. A method for transmitting real time media between a first and a second processing hub comprising the steps of:
-
placing a call to the first processing hub, partitioning and compressing the call at the first processing hub into a plurality of frames, packetizing the frames at the first processing hub into a data packet according to a redundancy value;
transporting the data packet between the first processing hub and the second processing hub by a transporting network;
decoding the data packet at the second processing hub into the plurality of frames;
ordering these frames within a buffer according to a buffer length variable;
generating a plurality of utility parameters based on the redundancy variable and the buffer length variable;
selecting a preferred utility parameter from the generated utility parameters;
adjusting the redundancy variable and the buffer length variable in accordance with a dynamic transporting characteristic of the transporting network; and
receiving the call from the second processing hub. - View Dependent Claims (57, 58, 59, 60, 61, 62, 63, 64)
-
Specification