1. A computer implemented method having instructions executable by a processor for receiving streaming data, comprising:
receiving a source data stream from a source computer;
receiving one or more peer data streams from one or more peer computers, wherein the one or more peer computers are assigned a color by using a colored overlay, wherein a peer computer produces and sends packets of a peer data stream in the color corresponding to the peer computer;
forming a cooperative peer to peer relationship among the peer computers to receive a data stream, wherein the peer computers schedule a departure instance of sending the data stream, wherein the cooperative peer to peer relationship is a peer-paired pyramid streaming architecture comprising the peer computers coupled at a same level as one or more peer pairs;
combining at least a portion of the one or more peer data stream with at least a portion of the source data stream to derive a complete data stream;
detecting a packet loss and recovering a lost packet, wherein a first peer computer affected by the loss requests a duplicate packet of the packet loss from a second peer computer before issuing a retransmission request to the source computer, wherein if the lost packet is not recovered after exchanging a request to the second peer computer, a receiver issues the retransmission request to the source computer;
using a controlled delay between two sessions to the first peer computer and to the second peer computer to handle a burst loss, wherein the two sessions comprise a same content, which are destined for different peer computers, wherein the controlled delay is adjusted based on a current network status; and
receiving different portions of the data stream, wherein the peer computers exchange streaming data with another peer computer to form the complete data stream, provided the receiver received an incomplete data stream;
wherein the different portions of the data stream is not larger than the portion of the source data stream for aggregated bandwidth efficiency.
2. The computer implement method as recited in claim 1, wherein the source computer is a parent computer in a hierarchical computer system, and the peer computer is a sibling computer in the hierarchical computer system.
3. The computer implemented method as recited in claim 1, wherein complete data stream further comprises a bandwidth equal to a source bandwidth provided by the source computer.
4. The computer implemented method as recited in claim 1, wherein:
the source data stream further comprises a first bandwidth;
the peer data stream further comprises a second bandwidth;
the first bandwidth is greater than the second bandwidth.
5. The computer implemented method as recited in claim 1, further comprising providing a client data stream to the peer computer, wherein the client data stream is a subset of the source data stream.
6. The computer implemented method as recited in claim 5, wherein the client data stream does not contain streaming data that is included in the peer data stream.
7. The computer implemented method as recited in claim 5, wherein the peer data stream includes packet data that was originally included in the source data stream but an error prevented the packet data from being received or rendered.
8. The computer implemented method as recited in claim 7, wherein the packet data is received in the peer data stream in response to a request for said packet data.
9. The computer implemented method as recited in claim 1, farther comprising selecting the peer computer from a plurality of system computers by using the colored overlay to determine the most appropriate system computer to utilize as a peer computer.
10. A computer implemented method having instructions executable by a processor for receiving peer to pyramid streaming of data, comprising:
receiving a first streaming data having a first bandwidth from a server;
receiving a second streaming data having a second bandwidth from a peer computer, wherein the peer computer schedules a departure instance of sending the second streaming data, wherein the peer computer is assigned a color by using a colored overlay, wherein the peer computer produces and sends packets of a data stream in the color corresponding to the peer computer;
merging the first and the second streaming data to play the streaming data at a final bandwidth that is greater than the first bandwidth and the second bandwidth;
transmitting at least a portion of the first streaming data to the peer computer;
wherein the first streaming data and the second streaming data do not contain common data and a size of the first streaming data is larger than a size of the second streaming data;
detecting a packet loss and recovering a lost packet, wherein the peer computer requests a duplicate packet of the packet loss from a second peer computer before issuing a retransmission request to the source computer, wherein if the lost packet is not recovered after exchanging a request to the second peer computer, a receiver issues the retransmission request to the source computer; and
increasing a streaming speed by each node receiving data from one or more upstream nodes and by receiving mutually parity packets from each sender;
wherein the different portions of the data stream is not larger than the portion of the source data stream for aggregated bandwidth efficiency.
11. The computer implemented method as recited in claim 10, wherein the first bandwidth is greater than the second bandwidth.
12. The computer implemented method as recited in claim 10, wherein the second streaming data farther comprises one or more data packets that are duplicates of lost data packets provided in the first streaming data but rendered unplayable by a streaming error.
13. The computer implemented method as recited in claim 10, farther comprising requesting a retransmission of the lost data packets from the server in the event that the lost data packets cannot be successfully recovered from the peer computer.
14. The computer implemented method as recited in claim 10, further comprising:
identifying a request from the peer computer to transmit a certain portion of the first streaming data to the peer computer; and
transmitting the requested portion of the first streaming data to the peer computer.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. An equalization filter structure for filtering an audio signal within an audio system, the equalization filter comprising:
a first and a second shelving filter having a fixed first and a fixed second phase response, each of which is determined by a respective cut-off frequency and Q factor which represent the transfer characteristic of the corresponding shelving filter;
wherein the first and the second shelving filters are coupled in series and each shelving filter comprises (i) at least one fourth order low-pass filter having a cut-off frequency, the Q factor and a first broadband gain and (ii) at least one fourth order high-pass filter having the same cut- off frequency and the same Q factor as the low-pass and further having a second broadband gain;
wherein the fourth order low-pass filter and the fourth order high-pass filter are connected in parallel, such that both filters receive the same input signal and the corresponding filtered signals are summed to form a respective shelving filter output signal; and
wherein each fourth order low-pass and high-pass filter is composed of a cascade of two second order low-pass or high-pass filters, respectively, each second order filter having the same cut-off frequency and the Q factor as the corresponding shelving filter.
2. The equalization filter structure of claim 1, wherein the cut-off frequencies and the Q factors of the filters comprising one shelving filter are, separately for each shelving filter, pre-defined and fixed and the broadband gains are variable to adjust the magnitude response for equalizing the audio signal in a desired manner.
3. The equalization filter structure of claim 1 wherein the first and the second shelving filter are a bass and a treble shelving filter, respectively.
4. The equalization filter structure of claim 3 wherein the cut-off frequencies and the Q factors are fixed and predefined for the shelving filters and the broadband gains are individually adjustable for each of the shelving filters.
5. The equalization filter structure of claim 1, wherein each shelving filter comprises:
a second fourth order low-pass coupled in series to the first fourth order low-pass; and
a second fourth order high-pass coupled in series to the first fourth order high-pass.
6. The equalization filter structure of claim 5, wherein the fourth order low-pass filter of the first shelving filter has a broadband gain G, the fourth order high-pass filter of the first shelving filter has a broadband gain G\u22121, the fourth order low-pass filter of the second shelving filter has a broadband gain G\u22121, and the fourth order high-pass filter of the second shelving filter has a broadband gain G, thus implementing a peaking filter with a constant phase characteristic, the magnitude response of the peaking filter being adjustable by adjusting the broadband gain G.
7. A method for equalizing an input audio signal associated with one respective audio channel of an audio system, the method comprising:
filtering the input audio signal using a first and a second shelving filter having a fixed first and a fixed second phase response, each of which is determined by a respective cut-off frequency and Q factor which represent the transfer characteristic of the corresponding shelving filter;
wherein the first and the second shelving filters are coupled in series and each shelving filter comprises (i) at least one fourth order low-pass filter having a cut-off frequency, the Q factor and a first broadband gain and (ii) at least one fourth order high-pass filter having the same cut-off frequency and the same Q factor as the low-pass and further having a second broadband gain;
wherein the fourth order low-pass filter and the fourth order high-pass filter are connected in parallel, such that both filters receive the same input signal and the corresponding filtered signals are summed to form a respective shelving filter output signal; and
wherein each fourth order low-pass and high-pass filter is composed of a cascade of two second order low-pass or high-pass filters, respectively, each second order filter having the same cut-off frequency and the Q factor as the corresponding shelving filter.
8. The method of claim 7, wherein the cut-off frequencies and the Q factors of the filters comprising one shelving filter are, separately for each shelving filter, pre-defined and fixed, and the method further comprises:
adjusting the broadband gains to adjust the overall magnitude response of the shelving filters for equalizing the audio signal in a desired manner.