IP Library Granted Patent US 10,638,167
Granted Patent B2
US 10,638,167 · App. 16/013,603 · Granted Apr 28, 2020

Compressed video buffering

Inventors: Xuemin Chen (Rancho Santa Fe, CA); Yong Li (San Diego, CA)
Assignee: Avago Technologies International Sales Pte. Limited
H04N21/23406H04N19/152H04N19/172H04N21/2401H04N21/2408H04N21/2662H04N21/6125H04N21/64322
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 10,638,167
App. No.
16/013,603
Granted
Apr 28, 2020
Kind
B2
Abstract

A system controls a transmission of a sequence of compressed video data from an encoder buffer to a network for delivery to a decoder buffer. Control of the transmission includes to: determine characteristics of a video transmission path between the encoder buffer and the decoder buffer, the characteristics comprising at least one of a buffer size of the decoder buffer, an input rate of the decoder buffer, and a buffer size of an equivalent intermediary buffer of the video transmission path; determine a transmission rate from the characteristics of the video transmission path and from the sequence of compressed video data, the transmission rate being determined such that a target quality of service value can be guaranteed for the entire sequence of compressed video data transmitted at the determined transmission rate to the decoder buffer; and control transmission of the sequence of compressed video data at the determined transmission rate.

Claims (38)

1. A system, comprising:

circuitry configured to:

identify characteristics of a video transmission path between an encoder buffer and a decoder buffer, the characteristics comprising one or more sizes of one or more buffers in one or more nodes on the video transmission path;

determine a first transmission rate for a first sequence of compressed video data of sequences of compressed video data using the characteristics of the video transmission path;

determine a second transmission rate for a second sequence of compressed video data of the sequences of compressed video data; and

control transmission of the sequences of compressed video data from the encoder buffer to the decoder buffer via a network using at least the first transmission rate and the second transmission rate.

2. The system of claim 1 , wherein the characteristics comprises at least one of a buffer size of the decoder buffer or an input rate of the decoder buffer.

3. The system of claim 1 , wherein the first transmission rate is determined such that a target quality of service value can be achieved for the first sequence of compressed video data transmitted at the determined first transmission rate to the decoder buffer.

4. The system of claim 3 , wherein the target quality of service value ensures that the compressed video data in the decoder buffer will not overflow.

5. The system of claim 3 , wherein the target quality of service value ensures that the compressed video data in the decoder buffer will not underflow.

6. The system of claim 1 , wherein the transmission of the sequences of compressed video data is a transmission of streaming video, and the first transmission rate and the second transmission rate are independent of network delay and jitter in the video transmission path.

7. The system of claim 1 , wherein the characteristics further comprise a latency of the video transmission path or a jitter of the video transmission path.

8. The system of claim 1 , wherein the sequences of compressed video data are a complete sequence of compressed video data, and wherein the first transmission rate is determined at a first time for a first set of network conditions and the second transmission rate is determined at a second time for a second set of network conditions.

9. The system of claim 1 , wherein the first transmission rate is a first rate for adaptive bit rate streaming and the second transmission rate is a second rate for the adaptive bit rate streaming.

10. A method, comprising:

identifying, at a source device, a combined amount of compressed video data of an encoder buffer of the source device, the combined amount including a first amount of compressed video data presently in the encoder buffer and a second amount of compressed video data to be provided to the encoder buffer;

identifying a third amount of compressed video data presently in at least one intermediary buffer in at least one network node on a distribution path between the encoder buffer of the source device and a decoder buffer of a receiving device, the at least one intermediary buffer is not at the source device and is not at the receiving device;

calculating an expected amount of compressed video data to be received at the decoder buffer over a time interval;

determining a transmission rate for compressed video data using the combined amount of compressed video data, the third amount of compressed video data, and the expected amount of compressed video data; and

transmitting the compressed video data at the determined transmission rate from a transmitter of the source device.

11. The method of claim 10 , wherein the transmission rate is determined to ensure no overflow or underflow of the decoder buffer.

12. The method of claim 11 , wherein the determining the transmission rate further comprises:

ensuring that the combined amount of compressed video data plus the third amount of compressed video data is greater than or equal to the expected amount of compressed video data to be received at the decoder buffer.

13. The method of claim 11 , wherein the determining the transmission rate further comprises:

ensuring that the expected amount of compressed video data to be received at the decoder buffer minus the first amount of compressed video data presently in the encoder buffer and minus the third amount of compressed video data presently in the at least one intermediary buffer is less than or equal to a maximum size of the decoder buffer.

14. The method of claim 10 , further comprising adjusting the determined transmission rate to compensate for a network jitter in the distribution path, wherein compensating for a network jitter in the distribution path is compensating in a dejitter buffer of the source device.

15. The method of claim 10 , wherein the distribution path is modeled as a (ρ, b) regulator having a token depth b, wherein the token depth b is greater than or equal to a largest size of a compressed frame within a sequence to be transferred in the time interval minus a product, wherein the product is a ratio of a constant rate of filling the regulator with tokens of a fixed size multiplied by a transmission time to transmit a maximum sized frame of the sequence.

16. The method of claim 10 , wherein the determining the transmission rate further comprises calculating a maximum value of a plurality of average frame transmission rates, wherein each average frame transmission rate represents a window of a defined number of consecutive compressed frames in the sequence, and the window is a sliding window over the sequence.

17. An apparatus, comprising:

at least one memory comprising an encoder buffer;

a transmitter configured to provide data from the encoder buffer to a distribution path for delivery to a receiver in the distribution path; and

a processor configured to:

determine a first transmission rate for a first sequence of compressed video data of sequences of compressed video data to be transmitted by the transmitter, the first transmission rate determined to ensure that a decoder buffer of the receiver does not underflow or overflow during transmission of the first sequence of compressed video data to the receiver;

determine a second transmission rate for a second sequence of compressed video data of the sequences of compressed video data; and

control the transmitter to transmit the sequences of compressed video data from the encoder buffer to the decoder buffer using at least the first transmission rate and the second transmission rate.

18. The apparatus of claim 17 , wherein a decoder buffer size of the decoder buffer of the receiver is equal to a maximum output data rate of the encoder buffer multiplied by a sum of: a maximum jitter of the distribution path, and a time interval between placing a frame of the video sequence in the encoder buffer and removing the frame from the decoder buffer.

19. The apparatus of claim 18 , wherein the first transmission rate is equal to a maximum of a plurality of average frame sizes divided by the time interval, wherein each average frame size is an average of frame sizes in a predefined size of window, and the window is a sliding window over the first video sequence.

20. The apparatus of claim 17 , wherein the distribution path includes a number of routers, and the determining the first transmission rate includes modeling each router as a weighted fair queuing system and determining a network buffer delay parameter based on the modeling.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2019
From: CHEN, XUEMIN; LI, YONG
To: BROADCOM CORPORATION
Reel/Frame 050857/0961 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2019
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 050858/0077 →
MERGER Recorded Oct 29, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 050858/0195 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →