Outer Rim Archives
Archives · 2024 · 11877022

Granted patent

Packager for segmenter fluidity

Number
11877022
Published
2024-01-16
Filed
2022-11-18
Assignee
Disney Enterprises, Inc.
Inventors
May, Jr.; William B. et al.
CPC
H04N21/44004; H04N21/4825; H04N21/2408; H04N21/8455; H04N21/2223; H04N21/4621; H04N21/25858; H04N21/26258; H04N21/64322; H04N21/23439; H04N21/2393; H04N21/8456; H04N21/25833
Verdict
Set aside streaming packager, 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 system; identifying, by the electronic system, respective maximum segment durations for a plurality of different types of client devices; generating, by the electronic system and based on the identified respective maximum segment durations and the first variant stream, a plurality of respective playlists for the plurality of different types of client devices, wherein the plurality of respective playlists comprise a plurality of different maximum segment durations for different types of client devices; determining a type of client device based on data included in a media content request from a first client device of the plurality of different types of client devices; delivering, by the electronic system and via a distribution network, a first playlist of the respective playlists to the first client device based on the determined type of client device, the determined type of client device 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 corresponding to the determined type of client device; 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 comprise a plurality of segments and each comprise the first maximum segment duration as their respective maximum segment duration, 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, 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 system 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. || 8. 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 system; identifying, by the electronic system, respective maximum segment durations for a plurality of different types of client devices; generating, by the electronic system and based on the identified respective maximum segment durations and the first variant stream, a plurality of respective playlists for the plurality of different types of client devices, wherein the plurality of respective playlists comprise a plurality of different maximum segment durations for different types of client devices; determining a type of client device based on data included in a media content request from a first client device of the plurality of different types of client devices; delivering, by the electronic system and via a distribution network, a first playlist of the respective playlists to the first client device based on the determined type of client device, the determined type of client device 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 corresponding to the determined type of client device; 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 comprise a plurality of segments and each comprise the first maximum segment duration as their respective maximum segment duration, 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, 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 system 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. || 15. 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 system; identifying, by the electronic system, respective maximum segment durations for a plurality of different types of client devices; generating, by the electronic system and based on the identified respective maximum segment durations and the first variant stream, a plurality of respective playlists for the plurality of different types of client devices, wherein the plurality of respective playlists comprise a plurality of different maximum segment durations for different types of client devices; determining a type of client device based on data included in a media content request from a first client device of the plurality of different types of client devices; delivering, by the electronic system and via a distribution network, a first playlist of the respective playlists to the first client device based on the determined type of client device, the determined type of client device 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 corresponding to the determined type of client device; 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 comprise a plurality of segments and each comprise the first maximum segment duration as their respective maximum segment duration, 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, 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 system 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.