Informative data streaming server
Abstract
A method of data streaming from an encoder to a decoder is provided. The method includes establishing a connection from said encoder to said decoder; acquiring measurements characterizing said connection; estimating transmittance variation of said connection according to said measurements; determining a permissible encoding rate of said encoder compatible with the transmittance variation; determining a set of metrics characterizing said connection; receiving, at said encoder, a signal from a source; instructing said encoder to encode said signal according to said permissible encoding rate; selecting a set of notification-display intervals each corresponding to a respective metric among said set of metrics; and superimposing on said signal, during said notification-display intervals, corresponding indications of said metrics. A corresponding system is also provided.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A streaming server comprising a master hardware processor and a memory device storing processor executable instructions organized into instruction sets forming:
an encoder devised to generate an encoded multimedia signal subject to a permissible flow rate; a network interface devised to transmit said encoded multimedia signal to a client device and receive feedback information from said client device; a flow controller devised to:
determine said permissible flow rate according to said feedback information; and
generate notification data;
and an overlay module devised to superimpose said notification data onto an input multimedia signal acquired from a signal source and presented to said encoder.
2 . The streaming server of claim 1 wherein said input multimedia signal comprises a number of constituent signals of different types and wherein said encoder comprises a set of encoding modules, each encoding module devised to encode signals of a respective signal type.
3 . The streaming server of claim 2 wherein said overlay module comprises a set of overlay units, each overlay unit devised to superimpose a notification compatible with a specific signal type.
4 . The streaming server of claim 3 wherein said each encoding module comprises:
a tracking module devised to:
receive a signal of a specific signal type;
determine a measure of signal variation over a designated period of time; and
report said measure to a respective overlay unit;
and
a stream-formation module devised to generate a data stream of said signal.
5 . The streaming server of claim 1 wherein said processor executable instructions further comprises a probing module devised to:
generate probing packets for monitoring condition of a connection from the streaming server to said client device; and
communicate said probing packets to said flow controller and to said network interface.
6 . The streaming server of claim 5 wherein said flow controller is further devised to categorize said feedback information according to different performance characteristics of said connection.
7 . The streaming server of claim 5 wherein said flow controller is further devised to:
determine quality metrics of said connection according to said feedback information; and
determine, for each constituent signal of said input multimedia signal, a permissible flow rate according to said quality metrics.
8 . The streaming server of claim 1 further comprising a source interface devised to receive a multimedia signals each constituting signals of different signal types from a multimedia signal source.
9 . The streaming server of claim 1 further comprising a selector devised to selectively direct each constituent signal of said multimedia signal to one of:
said overlay module; and
said encoder.
10 . The streaming server of claim 1 wherein said master hardware processor comprises multiple processing units operating concurrently.
11 . A streaming server comprising:
a plurality of encoder modules, each encoder module devised to encode a signal of a respective signal type, of a predefined set of signal types, to produce a respective encoded signal according to a respective permissible flow-rate; a plurality of overlay units, each overlay unit devised to superimpose a notification onto a signal of a respective signal type; a source interface devised to receive an incoming multimedia signal from a multimedia signal source, said multimedia signal constituting a set of constituent signals of said predefined signal types; a flow controller devised to determine a permissible flow rate of each constituent signal of said multimedia signal; a master hardware processor coupled to said flow controller and said plurality of encoder modules; and a network interface devised to transmit a composite multimedia signal combining encoded signals of said set of signals and corresponding notifications to a client device.
12 . The streaming server of claim 11 further comprising a probing module devised to:
generate probing packets for transmission along a connection from said streaming server to said client device; and
communicate said probing packets to said flow controller and to said network interface.
13 . The streaming server of claim 12 wherein said network interface is further devised to:
receive data-streaming requests from said client device;
receive response packets corresponding to said probing packets; and
communicate said response packets to said flow controller.
14 . The streaming server of claim 13 wherein said flow controller is devised to determine said permissible flow rate based on said response packets and corresponding probing packets.
15 . The streaming server of claim 11 further comprising a selector coupled to said source interface, said selector devised to direct each constituent signal of said incoming multimedia signal to one of:
a respective encoding module specific to a signal type of said each constituent signal; and
an overlay unit communicatively coupled to said respective encoding module.
16 . The streaming server of claim 11 further comprising a combining module coupled to said plurality of encoder modules, said combing module devised to interleave encoded signals of said plurality of encoding modules to produce an outgoing multimedia stream presented to said network interface for transmission to said client device.
17 . A method of data streaming, implemented at a streaming server comprising a hardware processor, the method comprising:
receiving at a source interface of said streaming server an incoming multimedia signal comprising a set of constituent signals of predefined signal types; directing, at a selector coupled to said source interface, each constituent signal of said incoming multimedia signal to one of:
a respective encoder module of a set of encoding modules; and
an overlay unit coupled to said respective encoder module for superimposing a respective notification onto said each constituent signal;
encoding, at said respective encoder module, said each constituent signal to produce a respective encoded signal; transmitting, from a network interface of said streaming server, combined encoded signals produced at said set of encoder modules to a client device; and receiving feedback information from said client device; and formulating said respective notification according to said feedback information.
18 . The method of claim 17 wherein said directing is based on a respective signal type of said each constituent signal, said respective encoder module being devised to encode signals of said respective signal type and said overlay unit being devised to superimpose a notification compatible with said respective signal type.
19 . The method of claim 17 further comprising:
determining at a flow controller of said streaming server a respective permissible encoding rate for each constituent signal of said set of constituent signals based on said feedback information; and
determining said respective encoded signal according to said respective permissible flow-rate.
20 . The method of claim 17 wherein said feedback information comprises measurements characterizing:
a connection from said streaming server to said client device; and
condition of said client device.
21 . The method of claim 17 further comprising storing, in a memory device coupled to said hardware processor, nominal values of operating parameters comprising:
encoding rates for each signal type of said predefined signal types;
lengths of selected observation intervals for analyzing said feedback information;
duration of a notification for said each signal type; and
a specified period for periodic insertions of notification data for said each signal type.
22 . The method of claim 17 further comprising:
generating, at said set of encoder modules, specific notification data related to temporal variations of flow rates of constituent signals of said set of constituent signals; and
communicating said specific notification data to respective overlay units coupled to said set of encoder modules.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.