Outer Rim Archives
Archives · 2024 · 11997329

Granted patent

Generating media programs configured for seamless playback

Number
11997329
Published
2024-05-28
Filed
2019-11-13
Assignee
DISNEY ENTERPRISES, INC.
Inventors
Navarre; Katharine S. et al.
CPC
H04N21/25891; H04N21/2387; H04N21/2343; H04N21/8456; H04N21/23424
Verdict
Set aside media program generation, production business
Source
Google Patents · FreePatentsOnline

Abstract

A media processing engine selectively transcodes only a portion of the media clips to be included in a personalized media program and generates playback data that allows seamless playback of the personalized media program. The media processing engine analyzes initial playback data associated with the media program that indicates the media clips needed to generate the personalized media program. The media processing engine identifies one or more transitions between media clips in the personalized media program and determines specific segments of those media clips that are associated with the identified transition(s). The media processing engine performs transcoding operations with the determined segments of the media clips to generate one or more transition clips. The media processing engine then updates the initial playback data to indicate that the transition clip(s) should be played during the corresponding transition(s) between the associated media clips.

Background

BACKGROUND Field of the Various Embodiments (1) The various embodiments relate generally to computer science and media production and, more specifically, to generating media programs that are configured for seamless playback. DESCRIPTION OF THE RELATED ART (2) A media streaming service is structured to provide a variety of different types of media programs to users. As part of their overall media program offerings, some media streaming services provide personalized media programs to users that are dynamically generated to reflect user preferences. For example, a given media streaming service could provide a particular user with access to a personalized sports program that features a sequence of media clips associated with a sports team in which the user has previously expressed interest. (3) To prepare a personalized media program for playback on a given client device, a media streaming service usually downloads all of the source media clips that are going to be included in the personalized media program to a transcoding server. The transcoding server transcodes all of the source media clips together to generate a seamless, full-length, transcoded version of the personalized media program. The transcoded version of the personalized media program is then transmitted to a content delivery network that can stream the personalized media program to a given client device. (4) One drawback of the above approach is that downloading and transcoding all of the source media clips needed

Claims

1. A non-transitory computer-readable medium storing program instructions that, when executed by a processor, cause the processor to generate a first media program for playback by performing the steps of: determining, based on user data associated with a first user, a media program recipe that specifies (i) a first interval to be populated with media content corresponding to a first media clip, (ii) a second interval to be populated with media content corresponding to a second media clip, (iii) the first media clip, and (iv) the second media clip, wherein the first interval specifies a first time associated with when playback of the first media clip ends and the second interval specifies a second time associated with when playback of the second media clip begins; determining a first transition between the first media clip and the second media clip based on the media program recipe; determining transition content associated with the first transition based on the user data; generating the first media program by: performing one or more transcoding operations and one or more compositing operations specified in at least one of the first interval or the second interval to combine the transition content with a first portion of the first media clip and a first portion of the second media clip into a first transition clip; modifying, based on a duration of the first transition clip, the first time associated with when playback of the first media clip ends to create a first playback interval for a first shortened version of the first media clip; modifying, based on the duration of the first transition clip, the second time associated with when playback of the second media clip begins to create a second playback interval for a second shortened version of the second media clip; and generating updated playback data that specifies playback of the first transition clip during an interval that occurs between the first playback interval for the first shortened version of the first media clip and the second playback interval for the second shortened version of the second media clip; and after the first media grogram is generated, causing a media player to playback the first media program based on the updated playback data, wherein the first media program includes a second portion of the first media clip that corresponds to the first shortened version of the first media clip, the first transition clip, and a second portion of the second media clip that corresponds to the second shortened version of the second media clip, and wherein, during playback of the first media program, the first transition clip is played back immediately subsequent to when playback of the second portion of the first media clip completes, and the second portion of the second media clip is played back immediately subsequent to when playback of the first transition clip completes. || 10. A computer-implemented method for generating a first media program for playback, the method comprising: determining, based on user data associated with a first user, a media program recipe that specifies (i) a first interval to be populated with media content corresponding to a first media clip, (ii) a second interval to be populated with media content corresponding to a second media clip, (iii) the first media clip, and (iv) the second media clip, wherein the first interval specifies a first time associated with when playback of the first media clip ends and the second interval specifies a second time associated with when playback of the second media clip begins; determining a first transition between the first media clip and the second media clip based on the media program recipe; determining transition content associated with the first transition based on the user data; generating the first media program by: performing one or more transcoding operations and one or more compositing operations specified in at least one of the first interval or the second interval to combine the transition content with a first portion of the first media clip and a first portion of the second media clip into a first transition clip; modifying, based on a duration of the first transition clip, the first time associated with when playback of the first media clip ends to create a first playback interval for a first shortened version of the first media clip; modifying, based on the duration of the first transition clip, the second time associated with when playback of the second media clip begins to create a second playback interval for a second shortened version of the second media clip; and generating updated playback data that specifies playback of the first transition clip during an interval that occurs between the first playback interval for the first shortened version of the first media clip and the second playback interval for the second shortened version of the second media clip; and after the first media program is generated, causing a media player to playback the first media program based on the updated playback data, wherein the first media program includes a second portion of the first media clip that corresponds to the first shortened version of the first media clip, the first transition clip, and a second portion of the second media clip that corresponds to the second shortened version of the second media clip, and wherein, during playback of the first media program, the first transition clip is played back immediately subsequent to when playback of the second portion of the first media clip completes, and the second portion of the second media clip is played back immediately subsequent to when playback of the first transition clip completes. || 19. A system, comprising: a memory storing a software application; and a processor that, when executing the software application, is configured to perform the steps of: determining, based on user data associated with a first user, a media program recipe that specifies (i) a first interval to be populated with media content corresponding to a first media clip, (ii) a second interval to be populated with media content corresponding to a second media clip, (iii) the first media clip, and (iv) the second media clip, wherein the first interval specifies a first time associated with when playback of the first media clip ends and the second interval specifies a second time associated with when playback of the second media clip begins; determining a first transition between the first media clip and the second media clip based on the media program recipe; determining transition content associated with the first transition based on the user data; generating a first media program by: performing one or more transcoding operations and one or more compositing operations specified in at least one of the first interval or the second interval to combine the transition content with a first portion of the first media clip and a first portion of the second media clip into a first transition clip; modifying, based on a duration of the first transition clip, the first time associated with when playback of the first media clip ends to create a first playback interval for a first shortened version of the first media clip; modifying, based on the duration of the first transition clip, the second time associated with when playback of the second media clip begins to create a second playback interval for a second shortened version of the second media clip; and generating updated playback data that specifies playback of the first transition clip during an interval that occurs between the first playback interval for the first shortened version of the first media clip and the second playback interval for the second shortened version of the second media clip; and after the first media program is generated, causing a media player to playback the first media program based on the updated playback data, wherein the first media program includes a second portion of the first media clip that corresponds to the first shortened version of the first media clip, the first transition clip, and a second portion of the second media clip that corresponds to the second shortened version of the second media clip, and wherein, during playback of the first media program, the first transition clip is played back immediately subsequent to when playback of the second portion of the first media clip completes, and the second portion of the second media clip is played back immediately subsequent to when playback of the first transition clip completes.