IP Library › Granted Patent US 10,432,982
Granted Patent B2
US 10,432,982 · App. 14/886,454 · Granted Oct 1, 2019

Adaptive bitrate streaming latency reduction

Inventor: Wendell Sun (San Diego, CA)
Assignee: ARRIS Enterprises LLC
H04N21/23406H04N21/2187H04N21/2353H04N21/2383H04N21/23418H04N21/23439H04N21/26258H04N21/6118H04N21/643H04N21/8456
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,432,982
App. No.
14/886,454
Granted
Oct 1, 2019
Kind
B2
Abstract

A method of transmitting media content is provided that provides for a significantly reduced chunk size. The method includes receiving one or more adaptive transport streams into a memory buffer at a HTTP streamer from a media preparation unit. The received transport streams include a plurality of switchable segments each comprising one or more delivery chunks, the switchable segments being marked with segment boundary points and the delivery chunks being marked with chunk boundary points. One or more of the delivery chunks are then transmitted from a requested switchable segment to a requesting client device until a terminating segment boundary point is reached, wherein each delivery chunk is independently decodable, and a client device can begin decoding and rendering received delivery chunks even when the HTTP streamer has not yet completely received the entire requested switchable segment from the media preparation unit.

Claims (19)

1. A method of transmitting media content, comprising:

receiving an adaptive transport stream description at an HTTP streamer from a media preparation unit, the adaptive transport stream description describing media content available from the media preparation unit as one or more adaptive transport streams, wherein each of said one or more adaptive transport streams are continuous streams comprising a plurality of switchable segments each comprising one or more delivery chunks, the switchable segments being marked with segment boundary points and the delivery chunks being marked with chunk boundary points, wherein positions between each of said plurality of switchable segments are positions at which a client device can switch to a different one of said one or more adaptive transport streams;

publishing a playlist with said HTTP streamer listing identifiers for one or more of said plurality of switchable segments, the switchable segments including delivery chunks;

receiving said one or more adaptive transport streams into a memory buffer at said HTTP streamer from said media preparation unit;

receiving a request at said HTTP streamer from said client device for a particular switchable segment identified on said playlist to be received at a requested bit rate;

responding to said request in the HTTP streamer by processing the received one of more adaptive transport streams on the fly in real time by;

continuing receipt of delivery chunks of a switchable segment prior to the particular switchable segment until the delivery chunks reach a segment boundary point;

identifying boundary marks of the one or more chunks in only the particular switchable segment; and

transmitting the one or more delivery chunks from said particular switchable segment at the requested bit rate to said client device using HTTP chunked transfer encoding until a terminating segment boundary point is reached,

wherein each of said one or more delivery chunks are portions of the particular switchable segment that are independently decodable by said client device, such that said HTTP streamer is configured to begin sending delivery chunks from a requested switchable segment so that said client device begins decoding and rendering received delivery chunks when said HTTP streamer has not yet received additional ones of the switchable segments from said media preparation unit.

2. The method of claim 1 , wherein said media content is a live broadcast.

3. The method of claim 1 , wherein said segment boundary points are encoder boundary points inserted in private data when said media content is encoded according to an OpenCable standard.

4. The method of claim 1 , wherein said segment boundary points are inserted in public data.

5. The method of claim 1 , wherein said HTTP streamer publishes virtual identifiers on said playlist, said virtual identifiers each pointing to the switchable segment most recently received in part or in full from said media preparation unit.

6. The method of claim 1 , wherein said HTTP streamer publishes segment identifiers on said playlist, said segment identifiers each pointing to a full or partial switchable segment identified by said HTTP streamer from opening and/or closing segment boundary points within said one or more adaptive transport streams.

7. The method of claim 6 , wherein said HTTP streamer adds a new segment identifier to said playlist when it encounters a beginning segment boundary point marking the start of a new switchable segment in said one or more adaptive transport streams.

8. The method of claim 1 , further comprising sending a terminating delivery chunk of length zero to said client device when said terminating segment boundary point is reached.

9. The method of claim 1 , further comprising sending each of said delivery chunks to said client device using zero-copy segmentation within said memory buffer, wherein bits in said memory buffer that correspond to a single delivery chunk as identified by opening and/or closing chunk boundary points are transmitted directly from said memory buffer to said client device.

10. The method of claim 1 , wherein the HTTP streamer receives the adaptive transport streams well prepared including all the boundary marks identified and labeled for the switchable segments, and wherein the HTTP streamer sends the chunks incrementally in response to the client's media request.

Assignments (10)
SECURITY INTEREST Recorded Apr 8, 2026
From: ARRIS ENTERPRISES LLC; RUCKUS IP HOLDINGS LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075476/0814 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
CHANGE OF NAME Recorded Jun 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049586/0470 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2015
From: SUN, WENDELL
To: ARRIS ENTERPRISES, INC.
Reel/Frame 036821/0775 →
Continuity (2)
Provisional Application 62066971 · Oct 22, 2014
Related Publication 20160119657A1 · Apr 28, 2016