Server-side adaptive bit rate control for DLNA HTTP streaming clients

US10044466B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10044466-B2
Application numberUS-201614991091-A
CountryUS
Kind codeB2
Filing dateJan 8, 2016
Priority dateJan 8, 2015
Publication dateAug 7, 2018
Grant dateAug 7, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and systems are described for adaptively transmitting streaming data to a client. In one embodiment, the method comprises receiving, in a server, a request for a data asset from the client, transcoding at least a segment of the data asset according to initial transcoding parameters, transmitting a first fragment of the transcoded segment of the data asset from the server to the client over a communication channel, generating an estimate of a bandwidth of the communications channel at least in part from information acknowledging reception of at least the first fragment of the transcoded segment of the data asset by the client, generating adaptive transcoding parameters at least in part from an estimate of a bandwidth of the communications channel, the estimate generated at the server, transcoding a further segment of the data asset according to the adaptive transcoding parameters, and transmitting the further segment of the data asset.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of adaptively transmitting streaming video data to a media video player client, comprising: receiving, in a server, a request for a video data asset from the media video player client; transcoding in the server a portion of the video data asset according to initial transcoding parameters; transmitting the transcoded portion of the video data asset from the server to the client over a communication channel; generating in the server an estimate of a bandwidth of the communications channel at from information acknowledging reception of the transcoded portion of the data asset by the client; wherein the bandwidth estimate is generated according to a round trip time (RTT) of the transmitted transcoded portion of the data asset and a size of the transmitted transcoded portion of the data asset, wherein the RTT is the elapsed time between commencement of the transmission of the transcoded portion of the video data asset and receipt of the acknowledgement of the reception of the transcoded portion of the video data asset; generating adaptive transcoding parameters from the estimate of the bandwidth of the communications channel, the estimate generated at the server; transcoding a temporally subsequent further portion of the video data asset according to the adaptive transcoding parameters; and transmitting the further portion of the data asset from the server to the client, wherein the bandwidth estimate is computed at a timer event temporally separated from a previous timer event by a timer interval T AF , and the elapsed time between commencement of the transmission of the transcoded portion of the data asset and receipt of the acknowledgement of the reception of the transcoded portion of the data asset is computed as: T AF −T lastACKrecv ; wherein T lastACKrecv is the time between a clock time of the most recent acknowledgement of the reception of the transcoded portion of the data asset and a clock time of the most recent timer event. 2. The method of claim 1 , wherein: the amount of transmitted transcoded a portion of the video data asset is determined according to prevDataRemaining+socketDataSent−DataRemaining, wherein: socketDataSent is an amount of the data asset delivered to a transmission control protocol (TCP) send socket buffer of the server at the timer event; DataRemaining is an amount of unsent data asset remaining in the TCP send socket at an timer interval immediately after the timer event; prevDataRemaining is an amount of the data asset remaining in the TCP send socket buffer after a previous timer interval. 3. The method of claim 2 , wherein: the elapsed time between commencement of the transmission of the transcoded a portion of the data asset and receipt of the acknowledgement of the reception of the transcoded a portion of the data asset is: currentTime−lastSendTime− T lastACKrecv if DataRemaining is zero; currentTime−lastSendTime if DataRemaining is nonzero; and wherein currentTime is a clock time at which the most recent expiration of the timer interval and lastSendTime is the clock time at which the transcoded a portion of the data asset was delivered to the TCP send socket buffer. 4. The method of claim 3 , further comprising clamping the generated estimated bandwidth of the communications channel to a clamping value. 5. The method of claim 4 , further comprising filtering the estimated bandwidth of the communication channel. 6. The method of claim 5 , further comprising scaling the estimated bandwidth of the communication channel. 7. The method of claim 6 , wherein generating adaptive coding parameters at least in part from the estimate of the bandwidth of the communications channel comprises: generating a transcoder bit rate command according to the estimate of the bandwidth; low pass filtering the transcoder bit rate command, wherein the transcoder output bit rate command is asymmetrically filtered to permit more rapid decreases in the transcoder bit rate command than increases in the transcoder bit rate command; and quantizing the low pass filtered transcoder output bit rate command. 8. The method of claim 7 , wherein increases in the output bit rate command are deferred until each of N successive output bit rate commands is greater than the previous output bit rate command. 9. The method of claim 1 , wherein: the bandwidth estimate is computed at a timer event temporally separated from a previous timer event by a timer interval T AF , and transmitting the transcoded portion of the data asset from the server to the client over a communication channel comprises: sending a first fragment of the transcoded segment from a transcoder output buffer to a TCP send socket buffer at a timer event; transmitting at least a portion of the first fragment of the transcoded segments from the TCP send socket buffer to the client over the communications channel; generating an estimate of the bandwidth of the communications channel at least in part from information acknowledging reception of the transcoded segment of the data asset by the client comprises: computing the estimate of the bandwidth at the timer interval T AF according to BW = ( prevDataRemaining + socketDataSent ) N empty ⁢ T TB ⁢ ⁢ if ⁢ ⁢ dataRemaining = 0 ⁢ and BW = ( prevDataRemaining + socketDataSent - dataRemaining ) T AF ⁢ if ⁢ ⁢ dataRemaining ≠ 0 ;

Assignees

Inventors

Classifications

  • for generating different versions · CPC title

  • involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements {(video transcoding H04N19/40; media packet handling at the source H04L65/762)} · CPC title

  • Round trip delays · CPC title

  • H04L1/0001Primary

    Systems modifying transmission characteristics according to link quality, e.g. power backoff (adaptive data allocation for multicarrier modulation H04L5/0044; controlling transmission power for radio systems H04W52/04) · CPC title

  • Monitoring of the downstream path of the transmission network, e.g. bandwidth available (traffic monitoring in data switching networks H04L43/00; monitoring data switching networks utilization H04L43/0876) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10044466B2 cover?
Methods and systems are described for adaptively transmitting streaming data to a client. In one embodiment, the method comprises receiving, in a server, a request for a data asset from the client, transcoding at least a segment of the data asset according to initial transcoding parameters, transmitting a first fragment of the transcoded segment of the data asset from the server to the client o…
Who is the assignee on this patent?
Arris Entpr Inc, Arris Entpr Llc
What technology area does this patent fall under?
Primary CPC classification H04L1/0001. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 07 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).