Outer Rim Archives
Archives · 2022 · 11509949

Granted patent

Packager for segmenter fluidity

Number
11509949
Published
2022-11-22
Filed
2019-09-13
Assignee
Disney Enterprises, Inc.
Inventors
May, Jr.; William B., Klein; Eric R., Zurat; William J.
CPC
H04N21/2393; H04N21/4825; H04N21/64322; H04N21/25858; H04N21/2408; H04N21/26258; H04N21/44004; H04N21/2223; H04N21/8456; H04N21/4621; H04N21/8455; H04N21/23439; H04N21/25833
Verdict
Set aside streaming segmentation/packaging, plumbing
Source
Google Patents · FreePatentsOnline

Abstract

Embodiments provide for methods, computer program products, and systems to improve media playback comprising receiving a variant stream, identifying respective maximum segment durations for a plurality of different types of client devices that will play media content contained in the variant stream, generating, using the variant stream, a respective playlist for each of the plurality of different types of client devices, wherein the respective playlists each contain different maximum segment durations, and delivering the respective playlists to at least one of the plurality of different types of client devices via a distribution network.

Background

BACKGROUND (1) Adaptive bitrate streaming (ABR) is a computer network streaming technique that can provide continuous, uninterrupted media playback to a client device. ABR involves measuring the network bandwidth and data throughput of the client device in real time, and adjusting the streaming quality delivered to the client device accordingly. (2) The streaming quality is indicative of the size of the file containing the media content. A high quality stream indicates a high streaming bitrate, and thus a relatively large file size. Hence, the high quality stream requires more network bandwidth and greater data throughput of the client device to ensure continuous, uninterrupted media playback on the client device. Similarly, a low quality stream indicates a small streaming bitrate, and thus a relatively small file size. Hence, the low quality stream requires less network bandwidth and less data throughput of the client device to ensure continuous, uninterrupted media playback on the client device.

Claims

1. A computer-implemented method, comprising: receiving a first variant stream of a video at an electronic device; identifying, by the electronic device, respective maximum segment durations of a plurality of different types of client devices that will play media content contained in the first variant stream; generating, by the electronic device and based on the identified respective maximum segment durations and the first variant stream, a plurality of respective playlists, each respective playlist of the plurality of respective playlists for each of the plurality of different types of client devices, wherein each respective playlist of the plurality of respective playlists comprises a respective different maximum segment duration, of the identified respective maximum segment durations, that indicates a maximum time duration for playlist segments of its respective playlist; and delivering, by the electronic device and via a distribution network, a first playlist of the respective playlists to a first client device having a device type corresponding to one of the plurality of different types of client devices, the first playlist comprising a first maximum segment duration of the respective maximum segment durations; generating, based on a second variant stream corresponding to the same media content as the first variant stream but having a different streaming bitrate, a second playlist for the first client device, wherein the first playlist and the second playlist each comprises a plurality of segments and each comprises the first maximum segment duration as the maximum segment duration that indicates a maximum time duration for all playlist segments, wherein each segment in the first playlist has: (i) a same media content, (ii) a same media duration, and (iii) a different streaming bitrate, compared with a corresponding segment in the second playlist, wherein the second playlist corresponds to the same media content as the first playlist and has the different streaming bitrate, and wherein segment boundaries of the plurality of segments of the second playlist are aligned with the segment boundaries of the plurality of segments of the first playlist; and delivering, by the electronic device and via the distribution network, to the first client device, segments of the second playlist, in place of segments of the first playlist to continue playout of the same media content, wherein the delivered segments of the second playlist comprise the same first maximum segment duration as the delivered segments of the first playlist. || 7. A non-transitory computer-readable medium containing computer program code that, when executed by operation of one or more computer processors, performs an operation comprising: receiving a first variant stream of a video at an electronic device; identifying, by the electronic device, respective maximum segment durations of a plurality of different types of client devices that will play media content contained in the first variant stream; generating, by the electronic device and based on the identified respective maximum segment durations and the first variant stream, a plurality of respective playlist, each respective playlist of the plurality of respective playlists for each of the plurality of different types of client devices, wherein each respective playlist of the plurality of respective playlists comprises a respective different maximum segment duration, of the identified respective maximum segment durations, that indicates a maximum time duration for playlist segments of its respective playlist; and delivering, by the electronic device and via a distribution network, a first playlist of the respective playlists to a first client device having a device type corresponding to one of the plurality of different types of client devices, the first playlist comprising a first maximum segment duration of the respective maximum segment durations; generating, based on a second variant stream corresponding to the same media content as the first variant stream but having a different streaming bitrate, a second playlist for the first client device, wherein the first playlist and the second playlist each comprises a plurality of segments and each comprises the first maximum segment duration as the maximum segment duration that indicates a maximum time duration for all playlist segments, wherein each segment in the first playlist has: (i) a same media content, (ii) a same media duration, and (iii) a different streaming bitrate, compared with a corresponding segment in the second playlist, wherein the second playlist corresponds to the same media content as the first playlist and has the different streaming bitrate, and wherein segment boundaries of the plurality of segments of the second playlist are aligned with the segment boundaries of the plurality of segments of the first playlist; and delivering, by the electronic device and via the distribution network, to the first client device, segments of the second playlist, in place of segments of the first playlist to continue playout of the same media content, wherein the delivered segments of the second playlist comprise the same first maximum segment duration as the delivered segments of the first playlist. || 13. A system, comprising: a computer processor; and a memory having instructions stored thereon which, when executed on the computer processor, performs operations comprising: receiving a first variant stream of a video at an electronic device; identifying, by the electronic device, respective maximum segment durations of a plurality of different types of client devices that will play media content contained in the first variant stream; generating, by the electronic device and based on the identified respective maximum segment durations and the first variant stream, a plurality of respective playlists, each respective playlist of the plurality of respective playlists for each of the plurality of different types of client devices, wherein each respective playlist of the plurality of respective playlists comprises a respective different maximum segment duration, of the identified respective maximum segment durations, that indicates a maximum time duration for playlist segments of its respective playlist; and delivering, by the electronic device and via a distribution network, a first playlist of the respective playlists to a first client device having a device type corresponding to one of the plurality of different types of client devices, the first playlist comprising a first maximum segment duration of the respective maximum segment durations; generating, based on a second variant stream corresponding to the same media content as the first variant stream but having a different streaming bitrate, a second playlist for the first client device, wherein the first playlist and the second playlist each comprises a plurality of segments and each comprises the first maximum segment duration as the maximum segment duration that indicates a maximum time duration for all playlist segments, wherein each segment in the first playlist has: (i) a same media content, (ii) a same media duration, and (iii) a different streaming bitrate, compared with a corresponding segment in the second playlist, wherein the second playlist corresponds to the same media content as the first playlist and has the different streaming bitrate, and wherein segment boundaries of the plurality of segments of the second playlist are aligned with the segment boundaries of the plurality of segments of the first playlist; and delivering, by the electronic device and via the distribution network, to the first client device, segments of the second playlist, in place of segments of the first playlist to continue playout of the same media content, wherein the delivered segments of the second playlist comprise the same first maximum segment duration as the delivered segments of the first playlist. || 19. A computing system, comprising: a processor; and a memory, wherein the memory stores a program that performs an operation when executed by the processor, the operation comprising: receiving a request for a first playlist, of a plurality of respective playlists, from a first type of client device at an electronic device, wherein the first playlist includes segments having a first maximum segment duration customized for the first type of client device, wherein the first maximum segment duration indicates a single maximum time duration for playlist segments of the first playlist; receiving a request for a second playlist, of the plurality of respective playlists, from a second type of client device at the electronic device, wherein the second playlist includes segments having a second maximum segment duration customized for the second type of client device, wherein the first type of client device and second type of client device are different, wherein the second maximum segment duration indicates a single maximum time duration for playlist segments of the second playlist, wherein the first and second maximum segment durations are different; and transmitting, by the electronic device, the first and second playlists to the first and second types of client devices, respectively; generating, based on a variant stream corresponding to the same media content as the first and second playlists but having a different streaming bitrate, a third playlist for the first client device, wherein the first playlist and the third playlist each comprises a plurality of segments and each comprises the first maximum segment duration as the maximum segment duration that indicates a maximum time duration for all playlist segments, wherein each segment in the first playlist has: (i) a same media content, (ii) a same media duration, and (iii) a different streaming bitrate, compared with a corresponding segment in the third playlist, wherein the third playlist corresponds to the same media content as the first playlist and has the different streaming bitrate, and wherein segment boundaries of the plurality of segments of the third playlist are aligned with the segment boundaries of the plurality of segments of the first playlist; and transmitting, by the electronic device and via a distribution network, to the first type of client device, segments of the third playlist, in place of segments of the first playlist to continue playout of the same media content, wherein the transmitted segments of the third playlist comprise the same first maximum segment duration as the transmitted segments of the first playlist.