IP Library Granted Patent US 9,985,887
Granted Patent B2
US 9,985,887 · App. 14/838,056 · Granted May 29, 2018

Method and apparatus for providing a low latency transmission system using adaptive buffering estimation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,985,887
App. No.
14/838,056
Granted
May 29, 2018
Kind
B2
Abstract

One aspect of the present invention discloses a network system capable of transmitting and processing audio video (“A/V”) data with enhanced quality of service (“QoS”). The network system includes a transmitter, a transmission channel, an adjustable decoder buffer, and a decoder. The transmitter contains an encoder able to encode A/V data in accordance with encoding bit rate recommendation from SQoS and packets loss notifications. The transmission channel, in one example, transmits A/V data from the transmitter or the receiver. The adjustable decoder buffer, in one aspect, is able to change its storage capacity or buffering size in response to the adaptive latency estimate. Upon fetching at least a portion of the A/V data from the adjustable decoder buffer, SQoS updates the adaptive latency estimate based on the quality of the decoded A/V data.

Claims (57)

1. A method for processing data from a network, comprising:

setting a predefined size for an audio and video (“A/V”) buffer during a preliminary adaptive latency estimate;

buffering a first A/V packet stream from a communications network in the A/V buffer;

decoding the first A/V packet stream from the A/V buffer to generate a plurality of decoded A/V frames;

identifying A/V artifacts based on the decoded A/V frames in accordance with playback;

updating the adaptive latency estimate in response to the A/V artifacts; and

adjusting the size of A/V buffer based on updated adaptive latency estimate.

2. The method of claim 1 , further comprising:

demultiplexing the first A/V packet stream to separate audio packets from video packets;

storing the audio packets in an audio storage section of the A/V buffer; and

storing the video packets in a video storage section of the A/V buffer.

3. The method of claim 1 , further comprising:

collecting buffer status statistics associated to the A/V buffer; and

analyzing adjustment to buffer size based on the buffer status statistics of the A/V.

4. The method of claim 1 , wherein setting a predefined size for an audio and video (“A/V”) buffer includes,

setting an audio storage of the A/V buffer to a first audio buffer capacity; and

setting a video storage of the A/V buffer to a first video buffer capacity.

5. The method of claim 4 , wherein setting an audio storage of the A/V buffer to a first audio buffer capacity includes setting a buffer threshold pointer to set size of the A/V buffer.

6. The method of claim 1 , where buffering a first A/V packet stream includes storing audio packets in an audio buffer and storing video packets in a video buffer.

7. The method of claim 1 , wherein decoding the first A/V packet stream includes fetching the first A/V packet stream from the A/V buffer and sending the first A/V packet stream to a decoder for decoding.

8. The method of claim 1 , wherein identifying A/V artifacts based on the decoded A/V frames includes identifying video judder associated with decoded video images.

9. The method of claim 8 , wherein identifying A/V artifacts based on the decoded A/V frames includes identifying audio jitter associated with decoded audio sound.

10. The method of claim 1 , wherein adjusting the size of A/V buffer includes changing storage capacity of the A/V buffer from a first buffer capacity to a second buffer capacity.

11. The method of claim 10 , further comprising;

buffering a second A/V packet stream from the communications network in the A/V buffer having a second buffer capacity; and

decoding the second A/V packet stream from the A/V buffer to generate a plurality of decoded A/V frames.

12. A method for processing data from a network, comprising:

setting a predefined size for an audio and video (“A/V”) buffer during a preliminary adaptive latency estimate;

buffering a first A/V packet stream from a communications network in the A/V buffer;

decoding the first A/V packet stream from the A/V buffer to generate a plurality of decoded A/V frames;

identifying video judder associated with decoded video images based on the decoded A/V frames in accordance with playback;

updating adaptive latency estimate in response to A/V artifacts; and

adjusting the size of A/V buffer based on updated adaptive latency estimate.

13. The method of claim 12 , further comprising:

demultiplexing the first A/V packet stream to separate audio packets from video packets;

storing the audio packets in an audio storage section of the A/V buffer; and

storing the video packets in a video storage section of the A/V buffer.

14. The method of claim 12 , further comprising:

collecting buffer status statistics associated to the A/V buffer; and

analyzing adjustment to buffer size based on the buffer status statistics of the A/V.

15. The method of claim 12 , wherein setting a predefined size for an audio and video (“A/V”) buffer includes setting an audio storage of the A/V buffer to a first audio buffer capacity.

16. The method of claim 15 , wherein setting an audio storage of the A/V buffer to a first audio buffer capacity includes setting a buffer threshold pointer to set size of the A/V buffer.

17. The method of claim 12 , where buffering a first A/V packet stream includes storing audio packets in an audio buffer and storing video packets in a video buffer.

18. A method for network data processing, comprising:

setting a predefined size for a buffer including setting an audio buffer capacity during a preliminary adaptive latency estimate;

buffering an audio and video (“A/V”) packet stream from a communications network in the buffer;

decoding the A/V packet stream from the A/V buffer to generate a plurality of decoded A/V frames;

identifying audio jitter associated with decoded audio sound based on the decoded A/V frames in accordance with playback;

updating adaptive latency estimate in response to A/V artifacts; and

adjusting the size of A/V buffer based on updated adaptive latency estimate.

19. The method of claim 18 , further comprising:

demultiplexing the first A/V packet stream to separate audio packets from video packets;

storing the audio packets in an audio storage section of the buffer; and

storing the video packets in a video storage section of the buffer.

20. The method of claim 18 , further comprising:

collecting buffer status statistics associated to the buffer; and

analyzing adjustment to buffer size based on the buffer status statistics of the A/V.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Dec 12, 2019
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 051260/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2015
From: RONCERO IZQUIERDO, FRANCISCO J.; GARCIA RODRIGUEZ, GORKA
To: CAVIUM, INC.
Reel/Frame 036502/0026 →