Method and apparatus for streaming media content to client devices

US9854021B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9854021-B2
Application numberUS-201615358957-A
CountryUS
Kind codeB2
Filing dateNov 22, 2016
Priority dateNov 20, 2012
Publication dateDec 26, 2017
Grant dateDec 26, 2017

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.

A method and apparatus for streaming media content to a client device includes a server providing, for the client device, a variant playlist file that identifies a plurality of variant streams having different encoded bitrates; tracking sequence numbers of a first set of media segments downloaded by the client device from a first playlist file that corresponds to the first variant stream encoded at a first bitrate; receiving, from the client device, a request for a second playlist file that identifies a second set of media segments from a second variant stream encoded at a second bitrate; determining whether to identify, in the second playlist file, at least one media segment in the second set of media segments that has a same sequence number as any of the media segments, from the first variant stream, downloaded by the client device; and providing, to the client device, the second playlist file.

First claim

Opening claim text (preview).

I claim: 1. A method, performed by a server, for providing, to a client device, media segments from multiple variant streams, the method comprising: providing, to the client device, a variant playlist file that identifies a plurality of variant streams each corresponding to a different encoding of a same media presentation; tracking a first set of media segments downloaded by the client device, wherein media segments of the first set of media segments are encoded at a first encoded bitrate and are identified in a first playlist file for a first variant stream identified in the variant playlist file; receiving, from the client device, a request for a second playlist file that identifies a plurality of media segments from a second variant stream, from the plurality of variant streams encoded at a second encoded bitrate; and responsive to the second encoded bitrate being higher than the first encoded bitrate: determine a number of media segments to include in a set of media segments from the second variant stream that correspond to the tracked set of media segments already downloaded by the client device, the number determined based on an amount of network bandwidth available for the client device; identifying, for the second playlist file, the set of media segments from the second variant stream that correspond to the tracked set of media segments already downloaded by the client device, the set of media segments from the second variant stream amounting to the determined number; and providing, to the client device, the second playlist file that identifies the plurality of media segments from the second variant stream including the set of media segments from the second variant stream that correspond to the tracked set of media segments already downloaded by the client device. 2. The method of claim 1 , further comprising: responsive to the second encoded bitrate being lower than the first encoded bitrate, providing, to the client device, the second playlist file that identifies the plurality of media segments from the second variant stream, wherein the second playlist file identifies only media segments having sequence numbers that exceed a highest sequence number of the media segments, from the first variant stream, downloaded by the client device. 3. The method of claim 1 , further comprising: dynamically creating the second playlist file for the client device in response to the request for the second playlist file. 4. The method of claim 3 , wherein the media presentation is a video on demand presentation, and the first playlist file identifies all media segments for the media presentation. 5. The method of claim 1 , wherein the plurality of media segments from the second variant stream is identified using at least one of a set of uniform resource locators or a set of information tags corresponding to the plurality of media segments from the second variant stream. 6. The method of claim 1 , wherein a number of the plurality of second media segments identified in the second playlist file is less than a number of media segments already downloaded by the client device, the plurality of second media segments corresponding to the tracked set of media segments already downloaded by the client device. 7. The method of claim 1 , wherein determining the number of media segments to include in the second set of media segments from the second variant stream that correspond to the tracked set of media segments already downloaded by the client device is based on an amount of media content stored in a buffer of the client device. 8. The method of claim 1 , wherein each media segment comprises a group of pictures that begins with an instantaneous decoder refresh frame. 9. The method of claim 1 , wherein each media segment is delivered to the client device using hypertext transfer protocol. 10. The method of claim 1 , wherein each media segment has an associated sequence number and wherein a first media segment from the first variant stream and a second media segment from the second variant stream have a same sequence number if the first media segment corresponds to the same portion of the media presentation as the second media segment. 11. The method of claim 10 , wherein tracking the set of media segments downloaded by the client device comprises: tracking sequence numbers of the downloaded media segments. 12. An apparatus for switching a client device between encoded bitrates for a streamed media presentation, the apparatus comprising: an interface configured to receive requests from the client device and provide media segments to the client device, wherein each media segment comprises a group of pictures that begins with an instantaneous decoder refresh frame; and a processing unit configured to: provide, to the client device, a variant playlist file that identifies a plurality of variant streams each corresponding to a different encoding of a same media presentation; track a set of media segments, downloaded by the client device, identified in a first playlist file that corresponds to a first variant stream, from the plurality of variant streams, encoded at a first encoded bitrate; receive, from the client device, a request for a second playlist file that identifies a plurality of media segments from a second variant stream, from the plurality of variant streams, encoded at a second encoded bitrate; and responsive to the second encoded bitrate being higher than the first encoded bitrate: determine a number of media segments to include in a set of media segments from the second variant stream that correspond to the tracked set of media segments already downloaded by the client device, the number determined based on an amount of network bandwidth available for the client device; identify, for the second playlist file, the set of media segments from the second variant stream that correspond to the tracked set of media segments already downloaded by the client device, the set of media segments from the second variant stream amounting to the determined number; and provide, to the client device, the second playlist file that identifies the plurality of media segments from the second variant stream including the set of media segments from the second variant stream that correspond to the tracked set of media segments already downloaded by the client device. 13. The apparatus of claim 12 , wherein the processing unit is further configured to provide the variant playlist file to the client device having a format in conformance with hypertext transfer protocol live streaming standard and to provide media segments to the client device using hypertext transfer protocol. 14. The apparatus of claim 12 , wherein each media segment has an associated sequence number and wherein a first media segment from the first variant stream and a second media segment from the second variant stream have a same sequence number if the first media segment corresponds to the same portion of the media presentation as the second media segment. 15. The apparatus of claim 14 , wherein the processing unit is further configured to track the set of media segments downloaded by the client device comprises by tracking sequence numbers of the downloaded media segments. 16. The apparatus of claim 12 wherein the processing unit is further configured to determine the number of media segments to include in the set of media segments from the second variant stream that correspond to the tracked set of media segments already downloaded by the client device based on an amount of media content stored in a buffer of the client device.

Assignees

Inventors

Classifications

  • 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

  • involving handling client requests (scheduling or organising the servicing of application requests H04L67/60) · CPC title

  • Responding to QoS · CPC title

  • Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application · CPC title

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · 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 US9854021B2 cover?
A method and apparatus for streaming media content to a client device includes a server providing, for the client device, a variant playlist file that identifies a plurality of variant streams having different encoded bitrates; tracking sequence numbers of a first set of media segments downloaded by the client device from a first playlist file that corresponds to the first variant stream encode…
Who is the assignee on this patent?
Google Technology Holdings LLC
What technology area does this patent fall under?
Primary CPC classification H04N21/23439. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 26 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).