IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0613541
(2012-09-13)
|
등록번호 |
US-8937963
(2015-01-20)
|
발명자
/ 주소 |
- Narasimha, Madihally J.
- Chang, Lu
|
출원인 / 주소 |
- Pico Mobile Networks, Inc.
|
인용정보 |
피인용 횟수 :
4 인용 특허 :
43 |
초록
▼
A system is provided and includes a buffer, an interface, a processor, and an output device. The interface is configured to receive a packet from a network. The processor is configured to: determine a delay of the network in transmitting the packet; prior to storing the packet in the buffer, determi
A system is provided and includes a buffer, an interface, a processor, and an output device. The interface is configured to receive a packet from a network. The processor is configured to: determine a delay of the network in transmitting the packet; prior to storing the packet in the buffer, determine statistics of the buffer, and an amount the buffer is filled; determine a predetermined delay of the buffer based on the delay of the network, and the statistics; estimate an actual delay of the buffer for the packet based on the amount the buffer is filled; generate an error signal based on the predetermined delay and the actual delay; and based on the error signal, one of compress and expand the packet to change a first length of the packet to a second length. The output device is configured to output the packet based on the second length.
대표청구항
▼
1. A system comprising: a first buffer;an interface configured to receive a first packet from a network;a processor configured to determine a first delay of the network in transmitting the first packet,prior to storing the first packet in the first buffer, determine (i) first statistics of the first
1. A system comprising: a first buffer;an interface configured to receive a first packet from a network;a processor configured to determine a first delay of the network in transmitting the first packet,prior to storing the first packet in the first buffer, determine (i) first statistics of the first buffer, and (ii) an amount the first buffer is filled,determine a predetermined delay of the first buffer for the first packet based on (i) the first delay of the network, and (ii) the first statistics of the first buffer,estimate an actual delay of the first buffer for the first packet based on the amount the first buffer is filled,generate an error signal based on the predetermined delay and the actual delay, andbased on the error signal, one of compress and expand the first packet to change a first length of the first packet to a second length; anda output device configured to output the first packet based on the second length. 2. The system of claim 1, wherein the processor is configured to (i) store the first packet in the first buffer, (ii) subsequent to storing the first packet in the first buffer, determine second statistics of the first buffer, and (iii) based on the error signal and the second statistics, one of compress and expand the first packet to change the length of the first packet from the first length to the second length. 3. The system of claim 1, wherein: the interface is configured to receive a sequence of packets;the sequence of packets includes the first packet;the processor is configured to for each packet in the sequence of packets, update the first delay of the network and the first statistics,update the predetermined delay of the first buffer based on the updated first delay of the network and the updated first statistics,for each packet in the sequence of packets, update the actual delay of the first buffer,generate the error signal based on the updated predetermined delay and the updated actual delay, andcompress or expand selected ones of the packets in the sequence of packets based on the error signal; andthe output device is configured to output the packets in the sequence of packets based on results of the compression or expansion of the selected ones of the packets in the sequence of packets. 4. The system of claim 1, wherein: the processor is configured to mark the first packet for one of compression or expansion based on a difference between the predetermined delay and the actual delay; andthe output device is configured to output the first packet based on the marking of the first packet. 5. The system of claim 1, wherein: the interface is configured to receive a first sequence of packets;the sequence of packets includes (i) the first packet, and (ii) packets of having different lengths;the processor is configured to generate a second sequence of packets by (i) modifying lengths of selected ones of the packets in the first sequence of packets, (ii) modifying an order of the packets in the first sequence of packets, and (iii) compressing or expanding selected ones of the packets in the second sequence of packets;the packets in the second sequence of packets each have a same length; andthe output device is configured to output the second sequence of packets based on results of the compression or expansion of the selected ones of the packets in the second sequence of packets. 6. The system of claim 5, wherein: the processor is configured to store (i) the first sequence of packets in the first buffer, and (ii) the results of the compression or expansion of the selected ones of the packets in the second sequence of packets in a second buffer; andthe output device is configured to output the results of the compression or expansion of the selected ones of the packets in the second sequence of packets from the second buffer. 7. The system of claim 5, further comprising a decoder configured to decode the second sequence of packets prior to the compression or expansion of the selected ones of the packets in the second sequence of packets. 8. The system of claim 7, wherein: the decoder is configured to decode the second sequence of packets to generate a signal output;the signal output includes a period void of audio data;the period void of audio data is between a first waveform and a second waveform;the processor is configured to sample at least one of the first waveform and the second waveform to generate a block of audio data, andfill the period void of audio data with the block of audio data to generate an expanded output; andthe output device is configured to output the expanded output. 9. The system of claim 7, wherein: the decoder is configured to decode the second sequence of packets to generate a signal output;the signal output includes a period void of audio data;the period void of audio data is between a first waveform and a second waveform;the processor is configured to sample at least one of the first waveform and the second waveform to (i) remove matching blocks of data in the signal output, and (ii) generate a compressed output; andthe output device is configured to output the compressed output. 10. The system of claim 1, wherein: the interface is configured to receive a sequence of packets;the sequence of packets includes the first packet;the processor is configured to detect absence of a packet in the sequence of packets prior to output of the packets in the sequence of packets as stored in the output device,generate a message based on the absence of the packet, andgenerate a block of audio data based on the message; andthe output device is configured to output the packets in the sequence of packets to include the block of audio data. 11. The system of claim 1, wherein: the interface is configured to receive a sequence of packets;the sequence of packets includes the first packet;the processor is configured to detect clock skew associated with the sequence of packets based on (i) the first statistics, and (ii) prior to output of the packets in the sequence of packets as stored in a second buffer,generate one of a first message and a second message based on the clock skew,generate a signal output to include (i) the packets in the sequence of packets, and (ii) one of the first message and the second message,generate a block of audio data based on the first message, andremove matching blocks of data in the second buffer based on the second message; andthe output device is configured to output the packets in the sequence of packets based on one of (i) the block of audio data, and (ii) the removal of the matching blocks of data. 12. The system of claim 1, further comprising a decoder configured to generate decoded waveforms based on an output of the first buffer, wherein: the processor is configured to calculate a first difference between the predetermined delay of the first buffer and an average delay of the first buffer; andthe output device is configured to expand output of the decoded waveforms when the difference exceeds a first predetermined value and the current fill level of the first buffer is less than a second predetermined value, andcompress output of the decoded waveforms when the difference is less than the first predetermined value and the current fill level exceeds the second predetermined value. 13. The system of claim 1, wherein the processor is configured to: store a first message or a second message with the first packet in the first buffer;generate a signal output to include (i) the first packet, and (ii) based on the first statistics, one of the first message and the second message; andexpand and compress the signal output based on one of the first message and the second message. 14. The system of claim 1, wherein the first statistics comprise at least one of: a latency between the first packet and a second packet;a packet loss per a predetermined period of time;a delay of the first buffer; orthe current fill level of the first buffer. 15. The system of claim 1, wherein the first statistics comprise: a latency between the first packet and a second packet;a packet loss per a predetermined period of time;a delay of the first buffer; andthe current fill level of the first buffer. 16. The system of claim 1, wherein: prior to decoding the first packet, the processor is configured to during a first period, determine a first difference between a first delay of the first buffer and the predetermined delay,generate a first message when at least one of the difference is less than a first threshold, andthe current fill level of the first buffer is less than a second threshold, andgenerate a second message when at least one of the difference is greater than a third threshold, andthe current fill level is greater than a fourth threshold; andthe output device is configured to expand or compress the first packet based on one of the first message and the second message. 17. The system of claim 16, wherein subsequent to decoding the first packet, the processor is configured to: during a second period, determine a second difference between a second delay of the first buffer and the predetermined delay; andone of expand and compress the first packet based on the second delay and the second difference. 18. The system of claim 1, wherein: the interface is configured to receive a sequence of packets;the sequence of packets include the first packet; andthe processor is configured to based on the first statistics, generate a first signal output including (i) the packets in the sequence of packets, and (ii) one of a first message and a second message,decode the first signal output to generate a second signal output,determine second statistics of the first buffer subsequent to the decoding of the first signal output, andbased on the one of the first message and the second message and the second statistics of the first buffer, at least one of (i) conceal discontinuities in the second signal output, or (ii) expand or compress the second signal output. 19. The system of claim 1, wherein: the processor is configured to operate in a first mode and in a second mode,during the first mode, estimate a second delay of the network based on (i) the first delay of the network, (ii) a first instantaneous delay of the network, and (iii) a second instantaneous delay of the network,during the second mode, estimate the second delay of the network based on (i) the first delay of the network, (ii) the first instantaneous delay of the network, and (iii) an average time,determine a delay variance of the network based on whether the processor is operating in the first mode or the second mode, anddetermine a delay of the first buffer based on the first delay of the network and the delay variance of the network; andthe first statistics include the delay of the first buffer. 20. The system of claim 19, wherein: the processor is configured to store the first packet in a second buffer based on the second length,determine the predetermined delay of the first buffer based on (i) a predetermined delay of the second buffer, and (ii) the first instantaneous delay, anddetermine the predetermined delay of the second buffer based on (i) the second delay of the network, and (ii) the delay variance of the network; andthe output device is configured to output the first packet from the second buffer based on the delay of the second buffer.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.