Server-side adaptive bit rate control for dlna http streaming clients
US-2016205164-A1 · Jul 14, 2016 · US
US10349098B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10349098-B2 |
| Application number | US-201715655016-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 20, 2017 |
| Priority date | Jul 20, 2016 |
| Publication date | Jul 9, 2019 |
| Grant date | Jul 9, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method is provided for multiplexing video services with data services in a constrained delivery pipeline. A soft upper bound for the video data bandwidth for a current schedule window BWvideosoft(i) is generated, wherein the soft upper bound for the video data bandwidth such that an average video data bandwidth over a time period T is no greater than a hard upper bound for the video data bandwidth BVvideo. The video data is then multiplexed with the other data according to the soft upper bound for the video data bandwidth BWvideosoft(i).
Opening claim text (preview).
What is claimed is: 1. A method of multiplexing video data having a video data bandwidth and other data, comprising: generating a soft upper bound for the video data bandwidth for a current schedule window BW video soft (i), the soft upper bound for the video data bandwidth such that an average video data bandwidth over a time period T is no greater than a hard upper bound for the video data bandwidth BW video , wherein generating the soft upper bound comprises: generating a required video data bandwidth BW need (i) for the current schedule window; generating an incremental change in video data bandwidth for the current schedule window ΔBW(i) wherein generating the incremental change comprises: generating a difference between a target video data bandwidth BW video and a soft upper bound for the video data bandwidth for a previous schedule window BW video soft (i−1); and scaling the difference between the target video data bandwidth BW video and the soft upper bound for the video data bandwidth for the previous schedule window BW video soft (i−1); and generating the incremental change in the video data bandwidth ΔBW(i) from an incremental change in the video data bandwidth for a previous schedule window ΔBW(i−1) and the scaled difference between the target video data bandwidth BW video and the soft upper bound for the video data bandwidth for the video data bandwidth for the previous schedule window BW video soft (i−1); and generating the soft upper bound for the video data bandwidth BW video soft (i) from the required video data bandwidth for the current schedule window BW need (i) and the incremental change in the video data bandwidth for the current schedule window ΔBW(i); and multiplexing the video data and the other data according to the soft upper bound for the video data bandwidth BW video soft (i). 2. The method of claim 1 , wherein generating the required video data bandwidth BW need (i) comprises: generating a need parameter value for the current schedule window NPV(i); generating the required video data bandwidth BW need (i) from the need parameter value for the current schedule window NPV(i) and a quality factor α. 3. The method of claim 2 , wherein generating the required video data bandwidth BW need (i) from the need parameter value for the current schedule window NPV(i) and a quality factor ∝ comprises: computing a normalizing function of the need parameter value for the current schedule window ƒ(NPV(i)); and generating the required video data bandwidth BW need (i) from the computed normalizing function of the need parameter value for the current schedule window ƒ(NPV(i)) and the quality factor α. 4. The method of claim 3 , wherein the need parameter value for the current schedule window NPV(i) is computed at least in part according to at least one of: video complexity; a target device profile; and service priority level. 5. The method of claim 4 , wherein scaling the difference between the target video data bandwidth BW video and the soft upper bound for the video data bandwidth for the previous schedule window BW video soft (i−1) comprises: loop filtering the difference between the target video data bandwidth BW video and the soft upper bound for the video data bandwidth for the previous schedule window BW video soft (i−1); and modulating the loop filtered difference between the target video data bandwidth BW video and the soft upper bound for the video data bandwidth for the previous schedule window BW video soft (i−1). 6. The method of claim 2 , further comprising computing a schedule window quality factor ∝ i from the generated soft upper bound for the video data bandwidth for the current schedule window BW video soft (i) and the need parameter value for the current schedule window NPV(i). 7. The method of claim 6 , wherein the schedule window quality factor ∝ i is computed as BW video soft ( i ) NPV ( i ) . 8. An apparatus for multiplexing video data having a video data bandwidth and other data, comprising: a processor; a memory, communicatively coupled to the processor, the memory storing processor instructions comprising instructions for: generating a soft upper bound for the video data bandwidth for a current schedule window BW video soft (i), the soft upper bound for the video data bandwidth such that an average video data bandwidth over a time period T is no greater than a hard upper bound for the video data bandwidth BW video , wherein the instructions for generating the soft upper bound comprise instructions for: generating a required video data bandwidth BW need (i) for the current schedule window; generating an incremental change in video data bandwidth for the current schedule window ΔBW(i), wherein the instructions for generating the incremental change in the video data bandwidth comprise instructions for: generating a difference between a target video data bandwidth BW video and a soft upper bound for the video data bandwidth for a previous schedule window BW video soft (i−1); and scaling the difference between the target video data bandwidth BW video and the soft upper bound for the video data bandwidth for the previous schedule window BW video soft (i−1); and generating the incremental change in the video data bandwidth ΔBW(i) from an incremental change in the video data bandwidth for a previous schedule window ΔBW(i−1) and the scaled difference between the target video data bandwidth BW video and the soft upper bound for the video data bandwidth for the video data bandwidth for the previous schedule window BW video soft (i−1); generating the soft upper bound for the video data bandwidth BW video soft (i) from the required video data bandwidth for the current schedule window BW need (i) and the incremental change in the video data bandwidth for the current schedule window; and multiplexing the video data and the other data according to the soft upper bound for the video data bandwidth BW video soft (i). 9. The apparatus of claim 8 , wherein the instructions for generating the required video data bandwidth BW need (i) comprise instructions for: generating a need parameter value for the current schedule window NPV(i); generating the required video data bandwidth BW need (i) from the need parameter value for the current schedule window NPV(i) and a quality factor α. 10. The apparatus of claim 9 , wherein the instructions for generating the required video data bandwidth BW need (i) from the need parameter value for the current schedule window NPV(i) and a quality factor α comprise instructions for: computing a normalizing function of the need parameter value for the current schedule window ƒ(NPV(i); and generating the required video data bandwidth BW need (i) from the computed normalizing function of the need parameter value for the current schedule window ƒ(NPV(i)) and the quality factor α. 11. The apparatus of claim 10 , wherein the need parameter value for the current schedule window NPV(i) is computed at least in part according to at least one of: video complexity; a target device profile; and serv
involving operations for analysing video streams, e.g. detecting features or characteristics (television picture signal circuitry for scene change detection H04N5/147; filtering for image enhancement G06T5/00; methods or arrangements for recognising scenes G06V20/00; arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59) · CPC title
characterised by the element, parameter or criterion affecting or controlling the adaptive coding · CPC title
involving cable transmission, e.g. using a cable modem · CPC title
Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams {(hybrid fiber coaxial [HFC] networks for downstream channel allocation for video distribution H04L12/2801; flow control in packet networks H04L47/10; real-time communication protocols in data switching networks H04L65/00; scheduling or organising the servicing of application requests H04L67/60)} · CPC title
Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.