Generating a media content playlist that includes interstitials combined with media content items
By integrating interstitials with the introduction and ending segments of media content items and dynamically adjusting their timing and overlap, the solution addresses user confusion in media content playlists, enhancing the user experience and optimizing resource usage.
Patent Information
- Application Number
- JP2024015484
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2017-04-26
- Filing Date
- 2024-02-05
- Publication Date
- 2025-04-21
- Estimated Expiration
- 2038-03-20
AI Technical Summary
Existing media content playlists often cause user confusion due to abrupt transitions between media content items, especially when interstitials are inserted between them, leading to negative user experiences.
The solution involves combining interstitials with the introduction and ending segments of media content items in playlists, allowing for dynamic insertion of interstitials between media content items, and adjusting the timing and overlap of these segments to minimize user confusion.
This approach reduces user confusion by providing smoother transitions between media content items, enhances the user experience, and optimizes computational resources by reducing the length of playback and memory usage.
Smart Images

Figure 0007665810000001 
Figure 0007665810000002 
Figure 0007665810000003
Abstract
Description
[Technical field]
[0001] Aspects and implementations of the present disclosure relate to data processing, and more particularly, to generating media content playlists that include interstitials. [Background technology]
[0002] Audio and video content may be stored in data servers and provided to users for listening / viewing via the Internet. Many social media platforms include content sharing aspects that allow users to upload, view, and share content such as video content, image content, audio content, text content, etc. (which may be collectively referred to as "media content items"). Such media content items may include audio clips, movie clips, TV clips, and music videos, as well as amateur content such as video blogs, short original videos, pictures, photos, and other multimedia content. Applications to support listening / viewing such media content items may be browser-based or may run independently of the browser in standalone applications. Summary of the Invention [Means for solving the problem]
[0003] The following presents a simplified summary of various aspects of the disclosure in order to provide a basic understanding of such aspects. This summary is not an exhaustive overview of all possible aspects, and is not intended to identify key or critical elements or to delineate the scope of such aspects. The purpose of this summary is to present some concepts of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
[0004] In some aspects of the present disclosure, interstitials may be combined with the introduction and ending segments of media content items in a playlist. In one embodiment, interstitials may be inserted between or overlaid with media content items during the ending segment of a first media content item currently being played and the introduction segment of the next media content item to be played. The timing of these interstitials and the length of the ending and introduction segments may be varied to reduce the amount of disruption they cause to the user's viewing / listening experience. Additionally, in some embodiments, computational resources may be reduced by combining interstitials with the ending and introduction segments, as described further below.
[0005] According to an aspect of the disclosure, a method is provided that includes identifying a plurality of media content items for a playlist, each of the plurality of media content items having an introduction segment, one or more main segments, and an ending segment; determining a length of the ending segment of a first media content item of the plurality of media content items and a length of the introduction segment of a second media content item of the plurality of media content items; selecting an interstitial to be added to the playlist between the one or more main segments of the first media content item and the one or more main segments of the second media content item, wherein a length of the interstitial exceeds a combined length of the ending segment of the first media content item and the introduction segment of the second media content item; adding a spacing between the ending segment of the first media content item and the introduction segment of the second media content item; and inserting the interstitial into the playlist between the one or more main segments of the first media content item and the one or more main segments of the second media content item based on the spacing.
[0006] The inserted interstitial may overlap at least a portion of the ending segment of the first media content item and at least a portion of the introduction segment of the second media content item.
[0007] The gap may be equal to a delta amount of time determined by subtracting the combined length of the ending segment of the first media content item and the introduction segment of the second media content item from the length of the interstitial.
[0008] The method may further include determining that a length of the second interstitial is less than a combined length of an ending segment of the second media content item and an introduction segment of a third media content item of the plurality of media content items, and adjusting an overlap of the ending segment of the second media content item and the introduction segment of the third media content item with the second interstitial.
[0009] The step of adjusting the overlap of the ending segment of the second media content item and the introduction segment of the third media content item with the second interstitial may include overlapping a beginning portion of the ending segment of the second media content item and the entire introduction segment of the third media content item with the second interstitial in response to a determination that half the length of the second interstitial exceeds the length of the introduction segment of the third media content item.
[0010] The step of adjusting the overlap of the ending segment of the second media content item and the introduction segment of the third media content item with the second interstitial may include overlapping the entire ending segment of the second media content item and an beginning portion of the introduction segment of the third media content item with the second interstitial in response to a determination that half the length of the second interstitial exceeds the length of the ending segment of the second media content item.
[0011] The step of adjusting the overlap of the ending segment of the second media content item and the introduction segment of the third media content item with the second interstitial may include overlapping a first portion of the ending segment of the second media content item and a second portion of the introduction segment of the third media content item with the second interstitial, wherein the first portion of the ending segment of the second media content item and the second portion of the introduction segment of the third media content item have the same length.
[0012] The step of adjusting the overlap may include shortening at least one of the ending segment of the second media content item or the introduction segment of the third media content item so that the combined length of the ending segment of the second media content item and the introduction segment of the third media content item is equal to the length of the second interstitial.
[0013] The step of adjusting the overlap may include overlapping a portion of the ending segment of the second media content item with a portion of the introduction segment of the third media content item so that the combined length of the ending segment of the second media content item and the introduction segment of the third media content item is equal to the length of the second interstitial.
[0014] The overlapping portion of the ending segment of the second media content item and the overlapping portion of the introduction segment of the third media content item may be faded in during playback.
[0015] The interstitials may include one or more of an announcement of the next media content item to be played in a playlist, a notification of a message received while the first media content item is being played, and a piece of trivia related to both the first media content item and the second media content item.
[0016] The media content items may include audio and video.
[0017] Multiple media content items in a playlist may be played on a first media player and interstitials in the playlist may be played on a second media player nearby the first media player.
[0018] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium is provided that includes instructions that, when accessed by a processing device, cause the processing device to perform the methods described herein.
[0019] According to another aspect of the disclosure, a system is provided that includes a memory device and a processing device operatively coupled to the memory device for: identifying a plurality of media content items for a playlist, each of the plurality of media content items having an introduction segment, one or more main segments, and an ending segment; determining a length of the ending segment of a first media content item of the plurality of media content items and a length of the introduction segment of a second media content item of the plurality of media content items; selecting an interstitial to be added to the playlist between the one or more main segments of the first media content item and the one or more main segments of the second media content item, wherein a length of the interstitial exceeds a combined length of the ending segment of the first media content item and the introduction segment of the second media content item; adding a gap between the ending segment of the first media content item and the introduction segment of the second media content item; and inserting the interstitial into the playlist between the one or more main segments of the first media content item and the one or more main segments of the second media content item based on the gap.
[0020] The processing device may be further configured to determine that a length of the second interstitial is less than a combined length of the ending segment of the second media content item and the introduction segment of the third media content item, and adjust an overlap of the ending segment of the second media content item and the introduction segment of the third media content item with the second interstitial.
[0021] The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings. [Brief description of the drawings]
[0022] [Figure 1] FIG. 1 is a block diagram illustrating an example network architecture according to one implementation of the present disclosure. [Diagram 2] FIG. 1 is a block diagram illustrating an example playlist generation system in accordance with some aspects of the present disclosure. [Diagram 3] FIG. 2 illustrates an example media viewer that plays interstitials between media content items according to an implementation. [Figure 4] 1 illustrates a first exemplary media viewer playing a media content item and a second exemplary media viewer playing an interstitial, according to an implementation. [Diagram 5] 1 illustrates a first exemplary media viewer playing a media content item and a second media viewer within the first media viewer playing an interstitial, according to an implementation. [Figure 6] 1 is a flow diagram of an example method for overlaying an ending segment of a first media content item and an introductory segment of a second media content item with an interstitial, according to an implementation. [Figure 7] 1 is a flow diagram of an example method for adjusting overlap of an ending segment of a first media content item and an introduction segment of a second media content item with an interstitial, according to an implementation. [Figure 8] 1A-1C illustrate various examples of adding gaps between media content items and / or adjusting overlap of segments of media content items with interstitials, according to an implementation. [Figure 9] 1 is a flow diagram of an example method for arranging pairs of media content items in a playlist together with one or more interstitials having matching identifiers, according to an implementation. [Figure 10A]FIG. 13 illustrates an example graph of pairs of media items linked by interstitials with one or more matching identifiers, according to an implementation. [Figure 10B] FIG. 10B illustrates an exemplary playlist resulting from traversing the graph of FIG. 10A in accordance with an implementation, where the playlist includes a pair of media content items intersected by an interstitial having one or more matching identifiers. [Figure 10C] FIG. 10B illustrates an example playlist resulting from traversing the graph of FIG. 10A according to an implementation, where the playlist includes two pairs of media content items intersected by two interstitials, each having one or more identifiers that match the respective pair. [Figure 10D] FIG. 10B illustrates an example playlist resulting from traversing the graph of FIG. 10A according to an implementation, where the playlist includes three pairs of media content items intersected by three interstitials, each having one or more identifiers that match the respective pair. [Figure 11] FIG. 1 is a block diagram of an illustrative computer system that operates in accordance with aspects and implementations of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0023] The content sharing platform may enable a user to view and / or listen to media content items. The media content items may include videos, audio (e.g., songs), images, and / or any other content that can be collected and / or disseminated via the content sharing platform. In some cases, the content sharing platform may provide a playlist (also called a streaming radio station or radio) of media content items. The playlist includes, among other things, specific media content items to play for a user based on a user's selection (e.g., channels related to a genre, band, artist, etc.) and / or the user's preferences (e.g., media content items "liked" by a user, the number of times a user has played a particular media content item, etc.). The content sharing platform may create a playlist and arrange the selected media content items in the playlist. In some scenarios, such as when a user is operating a vehicle, the playlist may be streamed in a background playback mode where the user only hears the audio and does not watch the video (e.g., music videos).
[0024] The content sharing platform may dynamically suggest new media content items for playing in a playlist during a browsing / listening session when a user either "likes" or "dislikes" a currently playing media content item, skips a media content item, etc. A playlist may not have a fixed sorting when the playlist is generated to be played. Media content items that meet certain selection criteria may be pulled and added to the playlist. Because there may not be an explicit content theme in the session, a jarring effect may be experienced by the user when a media viewer plays a new unfamiliar media content item in the playlist. In some cases, the user may be confused as to why a new media content item is being played. Because the user may just be listening to the media content item in background playback mode, there may be no user interface to display the reason for playing a new media content item.
[0025] Furthermore, an interstitial (an additional media content item including video, audio, text, etc.) may be applied between the end of playback of a first media content item and the beginning of playback of a next media content item. This may cause confusion in the user's viewing / listening experience because the interstitial may be unrelated to the previous or following media item and / or because video and / or audio may not be playing during the interstitial. Thus, the user may have a negative experience by having to wait for the interstitial to end before continuing to view / listen to the media content item.
[0026] Furthermore, a media content item such as a music video may typically include an introductory segment, one or more main segments, and an ending segment. With respect to audio, the introductory and ending segments may include some background sound without foreground elements, and the main segment may include at least a foreground element (e.g., a song). For example, an introductory segment may be several seconds long and include background instrumental audio that builds toward the point where a singer begins to sing, but does not include a song. In some cases, the introductory and ending segments may be so quiet that a user may think that playback has stopped, which may also lead to confusion. With respect to video, the introductory and ending segments may include cinematic elements, credits, and the like.
[0027] Thus, aspects of the present disclosure address the above-mentioned and other shortcomings by combining interstitials with introductory and ending segments of media content items within a playlist and / or by providing interstitials that are relevant to the surrounding media content items. That is, some aspects of the present disclosure include procedurally generating a long media content experience that may continue to be extended as a user watches / listens to a playlist, thereby providing a real-time or near real-time experience to the user. In one embodiment, interstitials may be inserted between media content items during the ending segment of a first media content item currently being played and the introduction segment of the next media content item to be played. The timing of these interstitials and the length of the ending and introduction segments may be altered to reduce the amount of disruption they cause to the user's viewing / listening experience. Interstitials having similar or different lengths may be dynamically inserted into a playlist as appropriate (e.g., a first interstitial may be inserted between a first pair of media content items in a playlist, a second, smaller interstitial may be inserted between a subsequent pair of media content items, or the same first interstitial may be inserted between a subsequent pair of media content items).
[0028] Thus, the interstitial may overlap at least a portion of the ending segment of the first media content item and at least a portion of the introductory segment of the second media content item to provide a smooth transition between the media content items. That is, the interstitial may be played to seamlessly transition from one currently playing media content item to the playing of the next media content item in the playlist. For example, the interstitial may be a voiceover announcing the reason for recommending the next media content item and / or introducing the next media content item. In addition, the interstitial may include a pre-recorded message from the artist during the ending segment of the first media content item and the introductory segment of the next media content item. The message may promote the artist's concerts and / or merchandise. The interstitial may also include advertisements, notifications of events occurring on the client device (e.g., text messages, missed calls, voicemails, emails, etc.), trivia, etc. during the ending and introductory segments.
[0029] In some embodiments, the overlap of the interstitial and the gap (e.g., time gap, otherwise referred to herein as a differential amount of time) between the playback of the media content items is adjusted by comparing the lengths of the interstitial, the ending segment, and the introduction segment. For example, in response to a determination that the length of the interstitial exceeds the combined length of the ending segment of the first media content item and the introduction segment of the second media content item, a gap may be added between the ending segment of the first media content item and the introduction segment of the second media content item. Dynamically adjusting the gap between the ending segment of the first media content item and the introduction segment of the second media content item may allow the interstitial to be played over only the ending segment and the introduction segment, and not over any main segments (e.g., including foreground elements) of either the first media content item or the second media content item. In another example, in response to determining that the length of the interstitial is less than the combined length of the ending segment of the first media content item and the introduction segment of the second media content item, the overlap of the interstitial may be adjusted (e.g., centered) relative to the ending segment of the first media content item and the introduction segment of the second media content item. Further scenarios are discussed in detail below.
[0030] Additionally, aspects of the disclosure may include identifying interstitials (e.g., trivia) to suggest to a user based on pairings of media content items to be included in a playlist. Pairs may be generated by identifying media content items having one or more identifiers that match one or more identifiers of the interstitials. The identifiers of the media content items and interstitials may, for example, relate to the entity represented (e.g., artist ID, producer ID, etc.), to the content of the media content items and interstitials (e.g., genre ID, topic ID, etc.), or to other characteristics / characteristics of the media content items and interstitials (e.g., channel ID, video ID, album ID, etc.). The resulting pairs of media content items may be arranged in a playlist as respective pairs of media content items with interstitials having one or more matching identifiers. Each interstitial may be inserted in the playlist between the first and second media content items of each of the resulting pairs. Additionally, optimization techniques may be used to order a set of media content items such that the intersection of these suggested interstitials occurs as frequently as possible. This can be beneficial in keeping users' attention by providing an extensible and cohesive playlist experience, thereby increasing the likelihood that users will use the content sharing platform for longer.
[0031] In some embodiments, the interstitial may be trivia related to or intersecting with both the first media content item and the next media content item that is played immediately after the first media content item. For example, if a first song by band A is currently playing and the next song to play is by band B, the media viewer may play trivia indicating that the drummer of band A has next joined band B where found. The trivia may be played over the ending segment of the first song and the introductory segment of the next song. Thus, the content of each interstitial may provide a transition from the first media content item to the second media content item to promote cohesion of the content of the entire playlist. Creating a common theme about the viewing / listening session may increase the viewer's immersion and retention in the media viewer by allowing a relationship to be built between the user and the personalized media viewer.
[0032] It should be appreciated that in some embodiments, relevant interstitials for each pair of media content items may be selected, and ending and introduction segments may be combined with the interstitials to generate a playlist. For example, based on the retrieved number of media content items and the retrieved number of interstitials, an optimized playlist may be generated that includes at least a threshold number of interstitials that intersect with the pair of media content items, and the length of the ending / introduction segments, the overlap of the interstitials with the ending / introduction segments, and / or the number of times the media content items are played may be adjusted in the optimized playlist to allow the interstitials to be played as desired (e.g., time may be added between the ending and introduction segments to allow the interstitials to be played in their entirety).
[0033] Advantages of the disclosed embodiments may include reducing computational resources (e.g., memory, processing). For example, the combined length of time of playback for a first media content item, an interstitial, and a second media content item may be reduced by overlapping the ending / introduction segments of the media content items with the interstitial, which may reduce the memory size of the playlist. Furthermore, in some cases, reducing the memory size of the playlist may allow for less bandwidth usage of the network over which the playlist is streamed. Another advantage is that combining the interstitial with the ending / introduction segments of the media content items and / or providing the relevant interstitial may improve the user experience by providing less jarring effects due to smoother transitions during playback of the media content items. Furthermore, the interstitial associated with the pair of media content items may provide the user with information that the user would otherwise have manually sought. Thus, the user may not open a separate user interface and send a search query over the network to the search platform, which may reduce the use of computational resources (e.g., network bandwidth, search platform processing, search platform memory, etc.). Another advantage of the described embodiments may include increased user reliance on the content sharing platform as users develop trust in and / or enjoyment of the relevance of the media content items selected and played, and of the interstitials selected and combined with the media content items. The embodiments thus address problems associated with providing media content items to users in a networked environment.
[0034] 1 illustrates an exemplary system architecture 100 including client devices 110a to 110z, a network 105, a data store 106, a content sharing platform 120, a server 130, and a third-party platform 150. In one implementation, the network 105 may include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN) or a wide area network (WAN)), a wired network (e.g., an Ethernet network), a wireless network (e.g., an 802.11 network or a Wi-Fi network), a cellular network (e.g., a Long Term Evolution (LTE) network), a router, a hub, a switch, a server computer, and / or a combination thereof. In one implementation, the data store 106 may be a memory (e.g., random access memory), a cache, a drive (e.g., a hard drive), a flash drive, a database system, or another type of component or device that may store data. The data store 106 may also include multiple storage components (eg, multiple drives or multiple databases), possibly spread across multiple computing devices (eg, multiple server computers).
[0035] The client devices 110a-z may each include a computing device such as a personal computer (PC), a laptop, a mobile phone, a smartphone, a tablet computer, a network-connected television, a netbook computer, etc. In some implementations, the client devices 110a-z may also be referred to as "user devices." Each client device includes a respective media viewer 112a-z. In one implementation, the media viewer 112a-z may be an application that allows a user to view and / or hear media content such as images, videos, songs (e.g., music content items), web pages, documents, etc. For example, the media viewer 112a-z may be a web browser that can access, retrieve, present, and / or navigate content (e.g., web pages such as HyperText Markup Language (HTML) pages, media content items, etc.) provided by a web server. The media viewer 112a-z may render, display, and / or present the content (e.g., web pages) to the user. The media viewers 112a-z may also display an embedded media player (e.g., a Flash player or an HTML5 player) that is embedded in a web page (e.g., a web page that may provide information about products sold by an online merchant). In another example, the media viewers 112a-z may be standalone applications (e.g., mobile applications) that allow a user to view and / or listen to digital media content items (e.g., digital videos, songs, digital pictures, e-books, etc.).
[0036] The media viewers 112a-z may be provided to the client devices 110a through 110z by the server 130 and / or the content sharing platform 120. For example, the media viewers 112a-z may be embedded media players embedded in web pages provided by the content sharing platform 120. In another example, the media viewers 112a-z may be applications that communicate with the server 130 and / or the content service provider 120.
[0037] It should be noted that functionality described in one implementation as being performed by content sharing platform 120 may also be performed on client devices 110a-110z and / or server 130 in other implementations, where appropriate. In addition, functionality attributed to a particular component may be performed by different or multiple components operating together. Content sharing platform 120 may also be accessed as a service offered to other systems or devices through appropriate application programming interfaces, and thus is not limited to use in a website.
[0038] In one implementation, the content sharing platform 120 may be one or more computing devices (such as a rack-mounted server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a network-connected television, a desktop computer, etc.), data stores (e.g., hard disks, memory, databases), networks, software components, and / or hardware components that may be used to provide users with access to media content items (also referred to as content items) and / or to provide media content items to users. For example, the content sharing platform 120 may enable users to consume, upload, search, approve ("like"), dislike, and / or comment on media content items. The content sharing platform 120 may also include websites (e.g., web pages) that may be used to provide users with access to media content items.
[0039] In implementations of the present disclosure, a "user," "content creator," or "channel owner" may be represented as a single individual. However, other implementations of the present disclosure encompass a "user," "content creator," or "channel owner" being an entity and / or automated source controlled by a collection of users. For example, a collection of individual users federated as a community in a social network may be considered a "user," "content creator," or "channel owner." In another example, an automated consumer may be an automated ingestion pipeline, such as a topic channel of the content sharing platform 120.
[0040] The content sharing platform 120 may include multiple channels (e.g., channel 121). A channel can be data content available from a common source or data content having a common topic, theme, or tenor. The data content can be digital content selected by a user, digital content made available by a user, digital content uploaded by a user, digital content selected by a content provider, digital content selected by a broadcaster, etc. A channel may include one or more media content items 121a-n (e.g., music content items) and one or more interstitials 125a-n (e.g., voice-over announcements, advertisements, pre-recorded messages from the artist of the next media content item, trivia related to both the currently playing media content item and the next media content item to be played, etc.).
[0041] According to an implementation in which the items of the channel 121 are streamed one after the other (similar to a playlist, also called a streaming radio station or radio), an interstitial (e.g., interstitial 125a) may overlap at least a portion of the ending segment of the first media content item (e.g., media content item 121a) and at least a portion of the introduction segment of the second media content item (e.g., media content item 121b). Since the ending / introduction segment includes only background elements without foreground elements, overlapping the ending segment of the first media content item and the introduction segment of the second media content item with the interstitial may refer to playing the interstitial during the ending / introduction segment. Additionally or alternatively, overlapping the ending segment of the first media content item and the introduction segment of the second media content item with the interstitial may refer to replacing at least a portion of the ending / introduction segment with the interstitial.
[0042] Additionally, the length of the interstitial may be compared to the combined length of the pair of media content items with which the interstitial is overlapped. If the length of the interstitial is less than the combined length of the pair of media content items, the overlap of the interstitial with the ending segment of the first media content item and the introduction segment of the second media content item may be adjusted. If the length of the interstitial exceeds the combined length of the pair of media content items, a gap may be added between the ending segment of the first media content item and the introduction segment of the second media content item.
[0043] In another implementation, each interstitial inserted between a pair of media content items may relate to both media content items of the pair. For example, an interstitial (e.g., interstitial 125a) may be a piece of trivia indicating that the singer of song A (e.g., media content item 121a) has next formed a band to perform song B (e.g., media content item 121b). Furthermore, the media content items 121a-n and interstitials 125a-n may be selected and arranged such that intersections of interstitials relating to both media content items of the pair occur as frequently as possible, as described in more detail below.
[0044] A channel may be associated with an owner, which is a user who can perform actions on the channel. Different activities may be associated with a channel based on the owner's actions, such as the owner making digital content available on the channel, the owner selecting (e.g., liking) digital content related to another channel, the owner commenting on digital content related to another channel, etc. Activities related to a channel may be compiled into a feed of activity related to the channel. Users other than the channel owner may subscribe to one or more channels that interest them. The concept of "subscribing" may also be referred to as "liking," "following," "becoming a friend," etc.
[0045] When a user subscribes to a channel, the user may be presented with information from the channel's activity feed. If the user subscribes to multiple channels, the activity feeds for each channel to which the user subscribes can be combined into a syndicated activity feed. Information from the syndicated activity feeds may be presented to the user. A channel may have its own feed. For example, when navigating to a channel's home page on the content sharing platform 120, feed items generated by that channel may be shown on the channel's home page. A user may have a syndicated feed, which is a feed consisting of at least a subset of media content items and interstitials from all of the channels to which the user subscribes. A syndicated feed may also include media content items and interstitials from channels to which the user does not subscribe. For example, the content sharing platform 120 or other social networks may insert recommended media content items and interstitials into the user's syndicated feed, or may insert media content items and interstitials related to the user's relevant connections into the syndicated feed.
[0046] The content sharing platform 120 may also include a number of playlists 122. A playlist may include a collection of media content items 122a-n and interstitials 126a-n, where the media content items and interstitials are configured to be played one after the other in a particular order without any user interaction. When the last media content item stops playing, an interstitial may be played, and then the first media item may start playing again, providing the user with a continuous viewing or listening experience. Interstitials may be included in the playlist 122 in a manner similar to that described above in connection with the channel 121. It should be noted that the playlist 122 may be continually updated with different recommended media content items and relevant interstitials based on whether the user "likes" or "dislikes" the currently playing song, skips the currently playing song, etc. Streaming radio stations, also referred to as radio, may correspond to playlists that provide a dynamic, continuous stream of audio that may or may not be paused or played (similar to traditional broadcast media radio stations). In some implementations, streaming radio stations may be buffered for offline access. As used herein, the term "music playlist" encompasses streaming radio stations that provide audio music content as well as playlists that provide music videos and / or other types of content.
[0047] A playlist may be manually or automatically curated (e.g., according to genre, artist, band, tempo, date, etc.). The media content items included in playlist 122 may be from the same channel, different channels, or independent media content items that are not part of any channel. Examples of media content items 121a-n and 122a-n may include, but are not limited to, digital videos, digital movies, digital photos, digital music, website content, social media updates, electronic books (e-books), electronic magazines, digital newspapers, digital audio books, electronic journals, web blogs, real simple syndication (RSS) feeds, electronic comics, software applications, and the like. Media content items 121a-n and 122a-n, also referred to herein as music content items, music videos, and songs, may include electronic files that may be executed or loaded using software, firmware, or hardware configured to present the digital media items to a subject. In one implementation, the content sharing platform 120 may use the data store 106 to store the media content items 121a-n and 122a-n.
[0048] Additionally, interstitials included in the playlist 122 may include voice-over announcements of recommendations and / or introductions for the next song to be played, general advertisements, concert and / or merchandise promotions related to the media content item, notifications of events on the client device (e.g., received text messages, received emails, missed calls, etc.), and / or trivia related to both a first media content item of a pair of media content items and a second media content item of the pair. In embodiments where the interstitials are trivia, the media content items 122a-n and interstitials 126a-n may be identified based on one or more identifiers. The identifiers may relate to the subject being represented (e.g., artist ID, producer ID, etc.), may relate to the content of the media content items and interstitials (e.g., genre ID, topic ID, etc.), or may relate to other identification / characteristics of the media content items and interstitials (e.g., channel ID, video ID, album ID, etc.). The media content items may be paired based on the identified interstitials such that each resulting pair has one or more identifiers that match one or more identifiers of one of the interstitials. The resulting pairs of media content items may be arranged in a playlist 122 together with the interstitials having one or more matching identifiers such that each interstitial is inserted between the first and second media content items of each of the resulting pairs in the playlist. The arrangement may be performed to include as many pairs as possible with interstitials that meet based on identifiers from the available media content items and interstitials. The interstitials may be stored in the data store 106.In some implementations, interstitials may be provided by a first party (e.g., a user enters a comment related to the media content item along with it), by a third party (e.g., an artist or band or producer enters it), or extracted from a website.
[0049] The content sharing platform 120 may include a content consumption system 127 that determines a history of user actions related to the media item content 121a-n, 122a-n. In one example, the content consumption system 127 may store a list of music content items that have been accessed, viewed, or listened to by a user. In another example, the content consumption system 127 may also store search queries submitted by users on the content sharing platform 120.
[0050] The content sharing platform 120 may be associated with or include a playlist generation system 140 hosted by a server 130. The server 130 may be one or more computing devices (e.g., a rack-mounted server, a server computer, etc.). The playlist generation system 140 may provide playlists including media content items and interstitials to users of the content sharing platform 120. As discussed in more detail herein, these playlists may include interstitials inserted between respective pairs of media content items. The manner in which the interstitials are inserted may include overlaying an ending / introduction segment of the pair of media content items with the interstitial. Additionally, the interstitial may be associated with both media content items of a pair of media content items (based on an identifier) to provide a transition from a first media content item of the pair to a second media content item of the pair. The transition may facilitate cohesion of the content of the overall playlist. The media content items in the playlist may be ordered in an optimized manner such that the intersection of interstitials matching the identifiers of the pairs of media content items occurs as frequently as possible.
[0051] Users of the content sharing platform 120 may also interact with a third-party platform 150. The third-party platform 150 may be a social network platform (e.g., a social media platform), a search engine platform, another content sharing platform, etc. Another type of third-party platform may be an online encyclopedia from which information about artists, albums, genres, topics, music, videos, songs, movies, etc. may be obtained. This information may be obtained by the playlist generation system 140 from the third-party platform 150 (e.g., by using an application programming interface (API) or query service of the third-party platform 150) and included in the interstitial.
[0052] Although implementations of the present disclosure are discussed in terms of a content sharing platform and in terms of providing a playlist including media content items and interstitials on the content sharing platform, implementations may also be broadly applied to any type of platform that provides a playlist or similar combination of media items, including but not limited to content sharing platforms that provide channel subscriptions, playlists, and / or Internet radio stations to users.
[0053] In situations where the systems discussed herein may collect or utilize personal information about a user, the user may be given the opportunity to control whether the content sharing platform 120 collects user information (e.g., information about the user's social network, social actions or activities, occupation, user preferences, the user's purchase transaction history, or the user's current location) or whether and / or how to receive content from a content server that may be more relevant to the user. Additionally, certain data may be processed in one or more ways before being stored or used, such that personally identifiable information is removed. For example, the user's identification information may be processed such that personally identifiable information cannot be determined about the user, or if location information is obtained, the user's geographic location may be generalized (such as to the city, zip code, or state level) and thus the user's specific location cannot be determined. Thus, the user may be able to control how information is collected about the user and used by the content sharing platform 120.
[0054] 2 is a block diagram illustrating an example playlist generation system 140 according to some aspects of the disclosure. In one implementation, the playlist generation system 140 includes a media content item selector 202, an interstitial selector 204, a media content and interstitial comparator 206, a media content item and interstitial adjuster 208, a media content item pair arranger with interstitials 210, and a playlist generator 210. The playlist generation system 140 may communicate with third party platforms (e.g., social networks, online encyclopedias, etc.) 150 and / or content consumption systems 127.
[0055] The media content item selector 202 may identify and select several media content items for the playlist. Initially, the media content items may be selected from the data store 106 based on a user's selection or personalized information related to the user of the client device 110. For example, the media content items may be selected based on media content items that have been previously "liked" or "disliked" by the user, the amount of time the user has watched / listened to the media content items, whether the user has previously skipped the media content items, whether the user has previously queried the media content items, etc. The media content item selector 202 may perform the operation of selecting media content items from the data store 106 in real-time or near real-time as the user interacts with the media viewer 112 that presents the media content items. That is, if the user "likes" a media content item during a listening / viewing session, the media content selector 202 may select other media content items similar to the "liked" one to update the playlist.
[0056] Each selected media content item may include an introductory segment, one or more main segments, and an ending segment. The one or more main segments may include foreground elements (e.g., songs, video scenes) that are included by the body of the actual content of the media content item. The introductory segment may include certain background elements, credits, etc., and may refer to a period of time at the beginning of the media content that ends at a certain timestamp (also referred to as the play time of the media content item). The timestamp for the introductory segment represents how far into the media content item the introductory segment ends. The ending segment may include certain background elements, credits, etc., and may refer to a period of time at the end of the media content that begins at a certain timestamp. The timestamp for the ending segment represents how far into the video the ending segment begins. The playlist generation system 140 may obtain timestamps for the introductory and ending segments of media content items when the media content items are selected. For example, the timestamps may be included as metadata tags associated with the media content items stored in the data store 106. The timestamps may be used to determine the length of the intro / outro segments for each media content item, as discussed below.
[0057] Each selected media content item may include one or more identifiers. The identifiers may relate to the represented subject (e.g., artist ID, producer ID, etc.), the content of the media content items and interstitials (e.g., genre ID, topic ID, etc.), or other characteristics / characteristics of the media content items and interstitials (e.g., channel ID, video ID, album ID, etc.). The identifiers may be included in the data store 106 as metadata tags associated with the media content items. The identifiers may be assigned to the media content items by a first party (user), artist, producer, distributor, etc. The identifiers may be used to pair the media content items with interstitials having one or more matching identifiers, as discussed below. A randomization component may be used by the media content item selector 202 to add variety to the selection of media content items.
[0058] The interstitial selector 204 may identify and select a number of interstitials from the data store 106. In an implementation, an interstitial may be a media content item including video, audio, text, etc. An interstitial may include one or more identifiers similar to a media content item. The identifiers may also be associated with various entities, artist IDs, channel IDs, video IDs, album IDs, genre IDs, topic IDs, etc. An interstitial may be a voice-over announcement of a recommendation reason to play the next media content item. For example, if a user is listening to a playlist related to a particular type of music, a voice-over announcement may indicate that the next song is the same type of music by a different band. Additionally, an interstitial may be used to pair a media content item that includes one or more matching identifiers with the interstitial. Thus, in an implementation, an interstitial may be used to provide information (e.g., trivia) related to both a first media content item (e.g., the currently playing song) and a second media content item (e.g., the next song to be played). Thus, a smooth transition from content of a first media content item to content of a second media content item may be provided to promote cohesiveness of a listening / viewing session.
[0059] In other implementations, interstitials may include, among other things, advertisements, concert / product promotions, and notifications of events occurring on the client device 110. The interstitial selector 204 may maintain a history of interstitials previously presented to the user. In an example, the interstitial selector 204 may prevent any previously presented interstitial from being selected again. Alternatively, a randomization component may be used by the interstitial selector 204 to add variety to the selection of interstitials.
[0060] The media content item and interstitial comparator 206 may determine the length of the introductory and ending segments of each media content item. For example, the media content item and interstitial comparator 206 may use the introductory segment's timestamp (e.g., 15 seconds) to determine the length of the introductory segment. The media content item and interstitial comparator 206 may also subtract the ending segment's timestamp (e.g., 120 seconds), which represents how far into the media content item the ending segment begins, from the total length of the media content item to determine the length of the ending segment. For example, if the ending segment includes a timestamp of 120 seconds and the total length of the media content item is 140 seconds, then the length of the ending segment is 20 seconds (140 seconds - 120 seconds). The media content item and interstitial comparator 206 may also determine the length of each interstitial. The length of the interstitial may be included in the metadata tag with the interstitial in the data store 106. Additionally or alternatively, the length of the interstitial may be dynamically determined (e.g., as the audio sound is being procedurally generated). The media content item and interstitial comparator 206 may determine whether the length of the selected interstitial exceeds the combined length of the ending segment of the first selected media content item and the introduction segment of the second selected media content item.
[0061] The media content item and interstitial adjuster 208 may perform an action based on the comparison made by the media content item and interstitial comparator 206. The media content item and interstitial adjuster 208 may be used to ensure that the interstitial fits into the ending / introduction segment of the pair of media content items without playing over any main segment of the pair. For example, in response to a determination that the length of the interstitial exceeds the combined length of the ending segment of the first media content item and the introduction segment of the second media content item, the media content item and interstitial adjuster 208 may add a gap between the ending segment of the first media content item and the introduction segment of the second media content item. The media content item and interstitial adjuster 208 may also be used to ensure that the interstitial overlaps a desired portion of the ending / introduction segment of the pair of media content items. For example, in response to determining that the length of the interstitial is less than the combined length of the ending segment of the first media content item and the introduction segment of the second media content item, the media content item and interstitial adjuster 208 may adjust the overlap of the interstitial relative to the ending segment and the introduction segment.
[0062] The media content item pair arranger with interstitials 210 may be used to pair the identified and selected media content items based on the interstitials. Each resulting pair may have one or more identifiers that match one or more identifiers of one of the interstitials. Thus, the interstitial for each pair may provide information (tidbits) that are relevant to the content of each media content item of the pair by virtue of the matching identifier. For example, an interstitial for two songs (song A and song B) may indicate that the artist of song A has next formed a band that performs song B. The media content item pair arranger with interstitials 210 may arrange the resulting pairs of media content items in a playlist together with the interstitials with one or more matching identifiers. Each interstitial is inserted in the playlist between the first and second media content items of each of the resulting pairs.
[0063] In implementations, the media content item pair arranger with interstitials 210 may arrange the resulting pairs of media content items and interstitials in a playlist based on a score of the frequency of occurrence of pairs of media content items having one or more identifiers that match one or more identifiers of one of the interstitials. For example, a graph may be generated with nodes representing selected media content items and selected interstitials. The selected media content items may be linked by selected interstitials based on the matching identifiers. The media content item pair arranger with interstitials 210 may give the highest score to the longest traversal of the graph (e.g., the highest total number of media content items and interstitials). In some embodiments, the particular media content items themselves may be weighted based on the user's affinity to the media content items. In such cases, the score may be determined by the combined weights of each of the media content items instead of the total number of media content items and interstitials. Additionally, weights may be assigned to pairs and interstitials based on how closely the matching identifiers are. For example, an interstitial that specifically relates to two particular videos of a pair of media content items may have a heavier weighting than an interstitial that relates to two artists or two genres.
[0064] In another implementation, in a playlist of three or more media content items, it may be desirable to insert interstitials related to two media content items that are not adjacent to one another. For example, trivia may relate to the next song and the song two songs back. In these cases, the weights may be adjusted so that interstitials related to the further away media content items have a heavier weight than interstitials related to adjacent media content items.
[0065] The playlist generator 210 may generate a playlist that includes the media content items and interstitials. In implementations, the playlist generator 210 may send the playlist to the media viewer 112 of the client device 110 to be presented to the user. In some embodiments where the media content items and interstitials are audio only, the user may hear the interstitials between songs in the playlist. In these cases, the interstitials may enhance a hands-free listening experience. For example, the interstitials may read out a text message received by the client device 110 while a song was playing, without the user having to pick up the client device 110. Additionally, when the media viewer 112 is operating in a background playback mode and a user interface is not available to display banner elements or information, the interstitials may be used to smoothly transition between the content of the two media content items and provide a cohesive listening session. In some implementations, a user interface may be displayed while the user is listening to a song in the playlist, and the user interface may be used to display an image included by the interstitial.
[0066] However, implementations of the present disclosure may also use video as an interstitial. Thus, Figures 3-5 show examples of video interstitials in which one or more media viewers are used to play a video interstitial during an intro / ending segment between main segments of two media content items. Various techniques may be used to overlay the video of a media content item with the video of the interstitial for a portion of the duration of the ending / introduction segment. For example, the video of the ending segment of a first media content item may be faded out when the video of the interstitial is faded in, and the video of the interstitial video may be faded out when the introductory segment of a second media content item is faded in.
[0067] 3 illustrates an exemplary media viewer 112a playing an interstitial 126a between media content items 122a and 122b of a playlist 122, according to an implementation. In the illustrated example, the media viewer 112a may be a media player embedded in a website or included in a standalone application, and the media content items 122a and 122b may be videos. The interstitial 126a may be trivia related to both the first media content item 122a and the second media content item 122b, a voice-over announcement regarding the reason for playing the second media content item 122b, an advertisement, a concert or product promotion, a notice of an event on the client device 110, etc. In some implementations, the interstitial 126a may have one or more identifiers that match one or more identifiers of the first media content item 122a and the second media content item 122b. The interstitial 126a may be inserted into the playlist such that the interstitial 126a overlaps at least a portion of the ending segment of the first media content item 122a and at least a portion of the second media content item 122b.
[0068] As shown, during time period t1, media viewer 112a may play media content item 122a. During time period t2, interstitial 126a may play in media viewer 112a during at least the overlapped portion of the ending segment of the first media content item 122a, or interstitial 126a may replace the overlapped portion of at least the ending segment of the first media content item 122a. When interstitial 126a is played during at least the overlapped portion of the ending segment, a fade element may be used to fade interstitial 126a in and fade out the overlapped portion of the ending segment in media viewer 112a.
[0069] During time period t3, the media viewer 112a may begin playing the introduction segment of the second media content item 122b. The interstitial 126a may continue to play during at least the overlapped portion of the introduction segment, or the interstitial 126a may replace at least the overlapped portion of the introduction segment of the second media content item 122b. If the interstitial 126a plays during the introduction segment, a fade element may be used to fade out the interstitial 126a in the media viewer 112a and fade in the overlapped portion of the introduction segment. Thus, a single media viewer 112a may be used to play the first media content item 122a, the interstitial 126a, and the media content item 122b.
[0070] 4 illustrates a first exemplary media viewer 112a playing media content items 122a and 122b and a second exemplary media viewer 112b playing an interstitial 126a, according to an implementation. In the illustrated example, the media viewers 112a and 112b can be media players embedded in a website or included in a standalone application, and the media content items 122a and 122b can be videos. The interstitial 126a can be trivia related to both the first media content item 122a and the second media content item 122b, a voice-over announcement regarding the reason for playing the second media content item 122b, an advertisement, a concert or product promotion, a notice of an event on the client device 110, etc. In some implementations, the interstitial 126a can have one or more identifiers that match one or more identifiers of the first media content item 122a and the second media content item 122b. The interstitial 126a may be inserted into the playlist such that the interstitial 126a overlaps at least a portion of the ending segment of the first media content item 122a and at least a portion of the second media content item 122b.
[0071] As shown, during time t1, the first media viewer 112a may play the media content item 122a and the second media viewer 112b may be invisible or hidden. During time period t2, the second media viewer 112b may appear outside of but near the first media viewer 112a, and an interstitial 126a may play on the second media viewer 112b during or replace the overlapped portion of the ending segment of at least the first media content item 122a being played on the first media viewer 112a. Also, during time period t2, the first media viewer 112a may begin playing an introductory segment of the second media content item 122b after the playback of the first media content item 122a is completed. The interstitial 126a may continue to play in the second media viewer 112a during the introductory segment until the interstitial 126a is completed.
[0072] During time period t3, after the interstitial 126a is completed, the first media viewer 112a may continue playing the second media content item 122b and the second media viewer 112b may disappear or be hidden. Thus, two media viewers 112a and 112b in close proximity to each other may be presented to play the first media content item 122a, the interstitial 126a, and the second media content item 122b.
[0073] 5 illustrates a first exemplary media viewer 112a playing media content items 122a and 122b, and a second media viewer 112b within (e.g., inline) the first media viewer 112a playing an interstitial 126a, according to an implementation. In the illustrated example, the media viewers 112a and 112b may be media players embedded in a website or included in a standalone application, and the media content items 122a and 122b may be videos. The interstitial 126a may be trivia related to both the first media content item 122a and the second media content item 122b, a voice-over announcement regarding the reason for playing the second media content item 122b, an advertisement, a concert or product promotion, a notice of an event on the client device 110, etc. In some implementations, the interstitial 126a may have one or more identifiers that match one or more identifiers of the first media content item 122a and the second media content item 122b. The interstitial 126a may be inserted into the playlist such that the interstitial 126a overlaps at least a portion of the ending segment of the first media content item 122a and at least a portion of the second media content item 122b.
[0074] As shown, during time t1, the first media viewer 112a may play the media content item 122a and the second media viewer 112b may be invisible or hidden. During time period t2, the second media viewer 112b may appear within (e.g., overlapping a portion of) the first media viewer 112a and an interstitial 126a may play on the second media viewer 112b during or replace the overlapped portion of the ending segment of at least the first media content item 122a being played on the first media viewer 112a. Also, during time period t2, the first media viewer 112a may begin playing an introductory segment of the second media content item 122b after the playback of the first media content item 122a is completed. The interstitial 125a may continue to play in the second media viewer 112a during the introductory segment until the interstitial 126a is completed.
[0075] During time period t3, after the interstitial 126a is completed, the first media viewer 112a may continue playing the second media content item 122b and the second media viewer 112b may disappear or be hidden. Thus, two media viewers 112a and 112b within one another may be presented to play the first media content item 122a, the interstitial 126a, and the second media content item 122b.
[0076] 6-7 show illustrative example flow diagrams of methods 600 and 700 for overlaying segments of a media content item with an interstitial, according to implementations. Methods 600 and 700 may be performed by a processing device that may include hardware (e.g., circuitry, dedicated logic), software (such as executed on a general-purpose computer system or a dedicated machine), or a combination of both. Methods 600 and 700 and each of their individual functions, routines, subroutines, or operations may be performed by one or more processors of the computing device that executes the method. In certain implementations, methods 600 and 700 may each be performed by a single processing thread. Alternatively, methods 600 and 700 may be performed by two or more processing threads, each thread executing one or more individual functions, routines, subroutines, or operations of the method.
[0077] For ease of explanation, the methods of the present disclosure are shown and described as a series of acts. However, the acts according to the present disclosure may be performed in various orders and / or simultaneously, as well as with other acts not shown and described herein. Furthermore, not all acts shown may be required to perform a method according to the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that a method may alternatively be represented as a series of interrelated states or events according to a state diagram. Moreover, it should be understood that the methods disclosed herein may be stored in an article of manufacture to facilitate carrying and transferring such methods to a computing device. The term "article of manufacture" as used herein is intended to encompass a computer program accessible from any computer-readable device or storage medium.
[0078] 6 is a flow diagram illustrating an example method 600 for overlaying an interstitial onto an ending segment of a first media content item and an introductory segment of a second media content item, according to an implementation. Method 600 may be performed by content sharing platform 120 and / or playlist generation system 140 of FIG.
[0079] 6, at block 610, processing logic may identify a number of media content items for a playlist. Each or some of the media content items may have an introductory segment, one or more main segments, and an ending segment. Such media content items may include timestamps as to how far into the media content item the introductory segment ends and how far into the media content item the introductory segment begins.
[0080] At block 620, processing logic may determine a length of an ending segment of a first one of the media content items and a length of an introduction segment of a second one of the media content items. The processing logic may use the timestamps discussed above to determine the length of the ending segment of the first media content item and the introduction segment of the second media content item. In some cases, the lengths of the ending and introduction segments may be predetermined and provided in the metadata of the media content items.
[0081] At block 630, processing logic may select an interstitial to be added to the playlist between one or more main segments of the first media content item and one or more main segments of the second media content item. The interstitial 126a may be trivia related to both the first media content item 122a and the second media content item 122b (e.g., having one or more identifiers that match one or more identifiers of the first media content item and the second media content item), a voice-over announcement regarding reasons for playing the second media content item 122b, an advertisement, a concert or merchandise promotion, a notice of an event on the client device 110, etc.
[0082] At block 640, processing logic may determine whether the length of the interstitial exceeds the combined length of the ending segment of the first media content item and the introduction segment of the second media content item. In response to determining that the length of the interstitial exceeds the combined length of the ending segment of the first media content item and the introduction segment of the second media content item, processing logic may add a gap between the ending segment of the first media content item and the introduction segment of the second media content item (block 650). The gap may be determined by processing logic subtracting the combined length of the ending segment of the first media content item and the introduction segment of the second media content item from the length of the interstitial to obtain a difference and adding the difference as the gap between the ending segment and the introduction segment. For example, if the length of the ending segment is 5 seconds, the length of the introduction segment is 10 seconds, and the length of the interstitial is 20 seconds, then the length of the interstitial (20 seconds) exceeds the combined length of the ending segment and the introduction segment (15 seconds). Thus, processing logic may subtract 15 seconds from 20 seconds to get 5 seconds, and add a 5 second gap between the ending segment and the introduction segment.
[0083] At block 660, the processing logic may insert an interstitial into the playlist between one or more main segments of the first media content item and one or more main segments of the second media content item based on the gap. In the above example, adding a 5 second gap between the 5 second ending segment of the first media content item and the 10 second introductory segment of the second media content item allows a 20 second interstitial to fit between the main segments of the first media content and the second media content. In this example, the inserted interstitial overlaps the entire ending segment of the first media content item and the entire introductory segment of the second media content item. In other cases, the inserted interstitial overlaps at least a portion of the ending segment of the first media content item and at least a portion of the introductory segment of the second media content item. The playlist may be presented to a user via one or more media viewers 112 for playback, as discussed above.
[0084] 7 is a flow diagram of an example method 700 for coordinating overlap of an interstitial with an ending segment of a first media content item and an introductory segment of a second media content item, according to an implementation. Method 700 may be performed by content sharing platform 120 and / or playlist generation system 140 of FIG.
[0085] Referring to FIG. 7, at block 710, processing logic may identify several media content items for the playlist. Each or a portion of the media content items may have an introductory segment, one or more main segments, and an ending segment. At block 720, processing logic may determine a length of the ending segment of a first media content item of the several media content items and a length of the introductory segment of a second media content item of the several media content items. At block 730, processing logic may select an interstitial to be added to the playlist between one or more main segments of the first media content item and one or more main segments of the second media content item. The interstitial 126a may be trivia related to both the first media content item 122a and the second media content item 122b (e.g., having one or more identifiers matching one or more identifiers of the first media content item and the second media content item), a voice-over announcement regarding the reason for playing the second media content item 122b, an advertisement, a concert or merchandise promotion, a notice of an event on the client device 110, etc.
[0086] At block 740, processing logic may determine whether the length of the interstitial exceeds the combined length of the ending segment of the first media content item and the introduction segment of the second media content item. In response to determining that the length of the interstitial is less than the combined length of the ending segment of the first media content item and the introduction segment of the second media content item, the processing device may adjust an overlap of the ending segment of the first media content item and the introduction segment of the second media content item with the interstitial (block 750).
[0087] A further determination may be made whether half the length of the interstitial exceeds the length of the introduction segment of the second media content item. If so, processing logic may overlap a beginning portion of the ending segment of the first media content item and the entire introduction segment of the second media content item with the interstitial (block 752). Another determination may be made whether half the length of the interstitial exceeds the length of the ending segment of the first media content item. If so, processing logic may overlap a beginning portion of the ending segment of the first media content item and the entire introduction segment of the second media content item with the interstitial (block 754).
[0088] In one implementation, adjusting the overlap of the ending segment of the first media content item and the introduction segment of the second media content item with the interstitial may include overlapping a first portion of the ending segment of the first media content item and a second portion of the introduction segment of the second media content item with the interstitial (block 756), where the first portion of the ending segment of the first media content item and the second portion of the introduction segment of the second media content item have the same length. As a result, the interstitial may be adjusted to be centered within the first portion of the ending segment and the second portion of the introduction segment.
[0089] In one implementation, adjusting the overlap of the ending segment of the first media content item and the introduction segment of the second media content item with the interstitial may include shortening a length of the ending segment of the first media content item and / or the introduction segment of the second media content item to make the combined length of the ending segment and the introduction segment equal to the length of the interstitial (block 758). In another implementation, adjusting the overlap of the ending segment of the first media content item and the introduction segment of the second media content item with the interstitial may include overlapping a portion of the ending segment of the first media content item and a portion of the introduction segment of the second media content item to make the combined length of the ending segment of the first media content item and the introduction segment of the second media content item equal to the length of the interstitial (block 760).
[0090] FIG. 8 illustrates various examples of adding gaps between media content items and / or adjusting overlap of segments of media content items with interstitials, according to implementations. A sample media content item 800 is shown as including an introduction segment 802, a main segment 804, and an ending segment 806. Various example playlists 810, 820, 830, and 840 are also shown. Each playlist includes a main segment 804a of a previous media content item with an ending segment 806, a main segment 804b of a next media content item with an introduction segment 802, and an interstitial 808 that overlaps at least a portion of the ending segment 806 and at least a portion of the introduction segment 802. Only two media content items and one interstitial are shown in each playlist for illustrative purposes. It should be noted that each playlist may include many additional media content items 800 and interstitials 808.
[0091] In the playlist 820, the content sharing platform 120 and / or the playlist generation system 140 may determine that the length of the interstitial 808 is less than the combined length of the ending segment 806 and the introduction segment 802. Additionally, a determination may be made that half of the length of the interstitial 808 exceeds the full length of the introduction segment 802. Thus, the interstitial 808 may overlap an initial portion of the ending segment 806 of the first media content item (wherein the initial portion is smaller than the ending segment 806) and the entire introduction segment 802 of the second media content item. Thus, the playback of the interstitial may begin approximately halfway through the ending segment 806 and end at the same time that the introduction segment 802 ends.
[0092] In the playlist 820, the content sharing platform 120 and / or the playlist generation system 140 may determine that the length of the interstitial 808 exceeds the combined length of the ending segment 806 and the introduction segment 802. Thus, a gap 842 may be added between the ending segment 806 and the introduction segment 802. The gap may be determined by subtracting the combined length of the ending segment 806 and the introduction segment 802 from the length of the interstitial 808. As shown, the total length of the interstitial may fit between the main segment 804a of the previous media content item and the main segment 804b of the next media content item.
[0093] In the playlist 830, the content sharing platform 120 and / or the playlist generation system 140 may determine that the length of the interstitial 808 is less than the combined length of the ending segment 806 and the introduction segment 802. Thus, the interstitial is overlaid on a first portion of the ending segment 806 of the first media content item and a second portion of the introduction segment 802 of the second media content item. The first portion of the ending segment of the first media content item and the second portion of the introduction segment of the second media content item may have the same length, and the interstitial may be adjusted to be centered between the ending segment 806 and the introduction segment 802.
[0094] In the playlist 840, the content sharing platform 120 and / or the playlist generation system 140 may determine that the length of the interstitial 808 is less than the combined length of the ending segment 806 and the introduction segment 802. Thus, a portion of the ending segment 806 of the first media content item is overlapped with a portion of the introduction segment 802 of the second media content item to make the combined length of the ending segment 806 of the first media content item and the introduction segment 802 of the second media content item equal to the length of the interstitial 808.
[0095] 9 is a flow diagram of an example method 900 for arranging pairs of media content items together with interstitials having one or more matching identifiers in a playlist, according to an implementation. Method 900 may be performed in the same or similar manner as described above in connection with methods 600 and 700. Method 900 may be performed by content sharing platform 120 and / or playlist generation system 140. Method 900 may begin at block 910.
[0096] At block 910, processing logic may identify a number of media content items for the playlist. The media content items may each have one or more identifiers. The media content items may be stored in the data store 106. The identifiers may relate to the entities represented (e.g., artist ID, producer ID, etc.), to the content of the media content items and interstitials (e.g., genre ID, topic ID, etc.), or to other characteristics / characteristics of the media content items and interstitials (e.g., channel ID, video ID, album ID, etc.). The identifiers may be metadata tags associated with each media content item. For example, one media content item may be a music video and include multiple identifiers for artist ID, video ID, album ID, genre ID, etc.
[0097] At block 920, processing logic may identify a number of interstitials for the playlist. The number of interstitials may each have one or more identifiers. The identifiers may be identified in the data store 106. The identifiers may relate to the entity represented (e.g., artist ID, producer ID, etc.), to the content of the media content item and interstitial (e.g., genre ID, topic ID, etc.), or to other characteristics / features of the media content item and interstitial (e.g., channel ID, video ID, album ID, etc.). The identifiers may be metadata tags associated with each interstitial. For example, one interstitial may be trivia about a music video and may include multiple identifiers for artist ID, video ID, album ID, genre ID, etc. In some implementations, the interstitials may be trivia related to the identifiers, content, and / or characteristics of the media content item. The trivia elements may include audio, text, images, and / or video. The interstitials may also include advertisements, voice-over announcements, promotions, event notifications, etc.
[0098] At block 930, the processing logic may pair a number of media content items based on a number of interstitials. Each resulting pair of media content items may be associated with one of a number of interstitials (e.g., each resulting pair has one or more identifiers that match one or more identifiers of one of the interstitials). Thus, the interstitials may provide information that is relevant to both media content items of the pair of media content items by virtue of the matching identifiers. The pairs of media content items may be linked by intersecting interstitials to form a large graph, each of the nodes of the graph including a media content item and an intersecting interstitial. Figure 10A provides an example for the explanation below.
[0099] At block 940, the processing logic may arrange the resulting pairs of media content items in a playlist with interstitials, each associated with both media content items of each of the resulting pairs (e.g., having one or more matching identifiers). Each interstitial is inserted in the playlist between the first and second media content items of each of the resulting pairs. Thus, the content of each interstitial may provide a transition from the first media content item of each of the resulting pairs to the second media content item of each of the resulting pairs. The transitions provided by the content of each interstitial promote cohesion of the content of the entire playlist, which may result in an enhanced listening / viewing experience for the user.
[0100] Further, in some implementations, the processing logic may arrange the resulting pairs of media content items and interstitials in a playlist based on a score of a frequency of occurrence of pairs of media content items having one or more identifiers that match one or more identifiers of one of the interstitials. For example, the processing logic may try each permutation of a traversal path of a graph that includes media content items linked by interstitials until a playlist is found that includes the highest total number of media content items and interstitials (e.g., highest score). In some implementations, the processing logic may stop searching for playlists after a playlist is found by traversing a graph that includes a total number of media content items and interstitials that exceeds a threshold (e.g., 5 videos with 4 intersecting interstitials). Further, in implementations, once media content items and interstitials are used in a playlist, the processing logic may remove those media content items and interstitials from the graph for subsequent traversals.
[0101] In some embodiments, the particular media content items themselves may be weighted in the graph based on the user's affinity to the media content items (e.g., the number of times the user played each media content item, whether the user selected a button indicating that the user "liked" each media content item, etc.). In such cases, the score may be determined by the combined weights of each of the media content items instead of the total number of media content items and interstitials. Additionally, weights may be assigned to pairs and interstitials based on how closely the matching identifiers are. For example, an interstitial that is specifically related to two particular videos of a pair of media content items may have a heavier weighting than an interstitial that is related to two artists or two genres.
[0102] In implementations, the processing logic may maintain a history of inserted interstitials for the playlist. In response to a determination that at least one identified interstitial has been previously inserted into the playlist, the processing logic may insert a different interstitial into the playlist having one or more identifiers that match one or more identifiers of the pair of media content items. Also, in implementations, the interstitial (e.g., trivia) may overlap at least a portion of the ending segment of the first media content item and at least a portion of the introduction segment of the second media content item.
[0103] The generated playlist 122 may be sent to the media viewer 112a of the client device 110b. The media content items and interstitials may be presented to the user as described above with reference to Figures 3-5. For example, the media content items and interstitials may be played at different times in the same media viewer 112. In another example, the media content items may be presented in a first media viewer and the interstitials may be presented in a second media viewer (e.g., in or near the first media player). In a background play mode of streaming radio, trivia may be heard by the user as an audio interstitial that does not need to be seen on the client device. In other implementations, the interstitials may be presented as related videos (e.g., links or thumbnails) or autoplay videos.
[0104] Figure 10A shows an example graph 1000 of pairs of media content items linked by interstitials with one or more matching identifiers, according to an implementation. Figures 10B-10D show example playlists resulting from traversing the graph of Figure 10A.
[0105] 10A, the media content items are music videos and each interstitial is trivia related to two of the music videos. For example, there are four music videos 1002, 1004, 1008, and 1012, each of which includes two identifiers. The first music video 1002 includes a video ID ("A") and an artist ID ("1"), the second music video 1004 includes a video ID ("B") and an artist ID ("2"), the third music video 1008 includes a video ID ("C") and an artist ID ("3"), and the fourth music video 1012 includes a video ID ("D") and an artist ID ("3").
[0106] Additionally, the graph 1000 includes three trivia interstitials 1006, 1010, and 1014. Each interstitial also includes one or more identifiers. The first trivia interstitial 1006 includes a first artist ID ("1") and a second artist ID ("2"), the second trivia interstitial 1010 includes a first video ID ("C") and a second video ID ("A"), and the third trivia interstitial 1014 includes an artist ID ("3").
[0107] The content sharing platform 120 and / or the playlist generation system 140 may use processing logic to pair the multiple media content items 1002, 1004, 1008, and 1012 based on the trivia interstitials 1006, 1010, and 1014. Each resulting pair may have one or more identifiers that match one or more identifiers of one of the multiple interstitials. For example, the processing logic may pair the first music video 1002 and the second music video 1004 with the first trivia interstitial 1006 because the first music video 1002 includes an identifier for artist 1, the second music video 1004 includes an identifier for artist 2, and the first trivia interstitial 1006 includes identifiers for both artist 1 and artist 2. The processing logic may pair the first music video 1002 with the third music video 1008 with the second trivia interstitial 1010 because the first music video 1002 includes an identifier for video A, the second music video 1008 includes an identifier for video C, and the second interstitial 1010 includes identifiers for video A and video C. Additionally, the processing logic may pair the third music video 1008 with the fourth music video 1012 with the third trivia interstitial 1014 because the third music video 1008 includes an identifier for artist 3, the fourth music video 1012 includes an identifier for artist 3, and the third interstitial 1014 includes an identifier for artist 3. Pairing media content items 1002, 1004, 1008, and 1012 by linking them with trivia interstitials 1006, 1010, and 1014 may form graph 1000. As discussed above, the trivia interstitials provide information related to the content of each of the resulting paired music videos.
[0108] FIG. 10B illustrates an exemplary playlist 1020 resulting from traversing the graph 1000 of FIG. 10A according to an implementation, where the playlist includes one pair of media content items intersected by one interstitial with one or more matching identifiers. The playlist 1020 includes a total of three nodes (two music videos 1002 and 1004 and one interstitial 1006). Processing logic may initially select to sequence the pair of music videos (1002 and 1004) including the first interstitial 1006 with an identifier that matches the pair of music videos (e.g., artist 1 for music video 1002 and artist 2 for music video 1004). However, there are no further pairs that link with the second music video 1004 by another interstitial, and thus the traversal may terminate. Processing logic may assign a low score to the playlist 1020 due to the low total number of media content items and interstitials. In some implementations, processing logic may discard the playlist 1020 because a threshold number of media content items and interstitials (eg, five) has not been met.
[0109] 10C illustrates an exemplary playlist 1030 resulting from traversing the graph 1000 of FIG. 10A according to an implementation, where the playlist includes two pairs of media content items (1002 and 1008, and 1008 and 1012) intersected by two interstitials (1010, 1014), each having one or more identifiers that match the respective pair. The playlist 1030 includes a total of five nodes (three music videos 1002, 1008, and 1012 and two interstitials 1010 and 1014). Processing logic may first select to sequence the first pair of music videos (1002 and 1008) that includes a second interstitial 1010 that has an identifier that matches the pair of music videos (e.g., video A related to music video 1002 and video C related to music video 1008). Processing logic may then continue traversing graph 1000 through interstitial 1014 to sequence a second pair of music videos (1008 and 1012). Interstitial 1014 includes an artist 3 identifier that matches the same identifier in music videos 1008 and 1012. Processing logic may assign an intermediate score to playlist 1030 because it has a higher total number than playlist 1020, but does not yet have an optimized total number of media content items and interstitials.
[0110] 10D illustrates an exemplary playlist 1040 resulting from traversing the graph 1000 of FIG. 10A according to an implementation, where the playlist 1040 includes three pairs of media content items (1012 and 1008, 1008 and 1002, and 1002 and 1004) intersected by three interstitials (1014, 1010, and 1006), each having one or more matching identifiers for the respective pair. The playlist 1040 includes each node of the graph 1000 for a total of seven nodes (four music videos 1002, 1008, 1010, and 1012 and three interstitials 1006, 1010, and 1014). Processing logic may first select to order the pair of music videos (1012 and 1008) including a third interstitial 1014 having identifiers that match the pair of music videos (e.g., artist 3 for music video 1012 and artist 3 for music video 1008). Processing logic may then continue traversing graph 1000 with second interstitial 1010 to next order the second pair of music videos (1008 and 1002). Interstitial 1010 includes a video C identifier that matches the same identifier of music video 1008 and a video A identifier that matches the same identifier of music video 1002. Processing logic may then continue traversing graph 1000 with first interstitial 1006 to order the third pair of music videos (1002 and 1004). Interstitial 1006 includes an artist 1 identifier that matches the same identifier in music video 1002 and an artist 2 identifier that matches the same identifier in music video 1004 .
[0111] The processing logic may assign the highest score to playlist 1040 because it generates a playlist that includes the highest frequency of occurrence of pairs of media content items having one or more identifiers that match one or more identifiers of one of the interstitials in graph 1000. Thus, the processing logic may select playlist 1040 for transmission to a media viewer of a client device. Note that media content items 1002, 1004, 1008, and / or 1012 may be weighted according to a user's affinity to the media content items, and the scoring may be based on the total scores of the nodes in the resulting playlist.
[0112] FIG. 11 illustrates a diagram of a machine in an exemplary form of a computer system 1100 on which a set of instructions may be executed to cause the machine to perform any one or more of the methods discussed herein. In alternative implementations, the machine may be connected (e.g., networked) to other machines in a local area network (LAN), an intranet, an extranet, or the Internet. The machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a network-connected television, a set-top box (STB), a personal digital assistant (PDA), a cellular phone, a web appliance, a server, a network router, a switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by the machine. Further, although only a single machine is shown, the term "machine" is also taken to include any collection of machines that individually or in concert execute a set (or sets) of instructions to perform any one or more of the methods discussed herein. In one implementation, computer system 1100 may represent a server, such as server 130 executing playlist generation system 140 described in connection with Figures 1-10. In another implementation, computer system 1100 may represent a client device, such as client device 110, or a content sharing platform, such as content sharing platform 120, described in connection with Figures 1-10.
[0113] The exemplary computer system 1100 includes a processing device 1102, a main memory 1104 (e.g., read only memory (ROM), flash memory, dynamic random access memory (DRAM) (such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM)), a static memory 1106 (e.g., flash memory, static random access memory (SRAM)), and a data storage device 1118, which communicate with each other via a bus 1108. Any of the signals provided via the various buses described herein may be time multiplexed with other signals and provided via one or more common buses. In addition, the interconnections between circuit components or blocks may be depicted as buses or as single signal lines. Each of the buses may alternatively be one or more single signal lines, and each of the single signal lines may alternatively be a bus.
[0114] The processing device 1102 represents one or more general-purpose processing devices, such as a microprocessor, a central processing unit, etc. More specifically, the processing device may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computer (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets, or a processor implementing a combination of instruction sets. The processing device 1102 may also be one or more special-purpose processing devices, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc. The processing device 1102 is configured to execute instructions (e.g., processing logic) 1126 to perform the operations and steps discussed herein.
[0115] The computer system 1100 may further include a network interface device 1122. The computer system 1100 may also include a video display unit 1110 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 1112 (e.g., a keyboard), a cursor control device 1114 (e.g., a mouse), and a signal generating device 1120 (e.g., a speaker).
[0116] The data storage device 1118 may include a computer-readable storage medium 1124 (also referred to as a machine-readable storage medium) on which one or more sets of instructions 1126 (e.g., software) embodying any one or more of the methods of functionality described herein are stored. The instructions 1126 may reside, completely or at least partially, within the main memory 1104 and / or within the processing device 1102 during execution of those instructions 1126 by the computer system 1100, and the main memory 1104 and the processing device 1102 constitute machine-readable storage media. The instructions 1126 may further be transmitted or received over a network 1174 via the network interface device 1122.
[0117] The computer-readable storage medium 624 may also be used to store instructions for performing the method for personalized music recommendation as described herein. Although the computer-readable storage medium 1124 is shown to be a single medium in the exemplary implementation, the term "machine-readable storage medium" should be taken to include a single medium or multiple media (e.g., centralized or distributed databases and / or associated caches and servers) that store one or more sets of instructions. A machine-readable medium includes any mechanism for storing information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). A machine-readable medium may include, but is not limited to, a magnetic storage medium (e.g., floppy diskettes), an optical storage medium (e.g., CD-ROM), a magneto-optical storage medium, a read-only memory (ROM), a random access memory (RAM), an erasable programmable memory (e.g., EPROM and EEPROM), a flash memory, or another type of medium suitable for storing electronic instructions.
[0118] The above description sets forth numerous specific details, such as examples of specific systems, components, methods, and the like, to provide a thorough understanding of some implementations of the present disclosure. However, it will be apparent to those skilled in the art that at least some implementations of the present disclosure may be practiced without these specific details. In other cases, well-known components or methods are not described in detail or are presented in simple block diagrams to avoid unnecessarily obscuring the present disclosure. Thus, the specific details described are merely exemplary. A particular implementation may differ from these example details and still be considered to be within the scope of the present disclosure.
[0119] References throughout this specification to "one implementation" or "an implementation" mean that a particular feature, structure, or characteristic described in connection with an implementation is included in at least one implementation. Thus, the appearances of the phrase "in one implementation" or "in an implementation" in various places throughout this specification do not necessarily all refer to the same implementation. Additionally, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or."
[0120] Although the operations of the methods herein are shown and described in a particular order, the order of operations of each method may be changed such that certain operations may be performed in reverse order or such that certain operations may be performed at least in part concurrently with other operations. In alternative implementations, the orders or sub-operations of different operations may be intermittent and / or interleaved. [Explanation of symbols]
[0121] 100 System Architecture 105 Network 106 Datastore 110a~110z Client Devices 112a~112z Media Viewer 120 Content Sharing Platform 121 Channels 121a~121n Media Content Items 122 Playlists 122a~122n Media Content Items 125a~125n Interstitial 126a~126n Interstitial 127 Content Consumption System 130 Server 140 Playlist Generation System 150 Third Party Platforms 202 Media Content Item Selector 204 Interstitial Selector 206 Media Content Items and Interstitial Comparators 208 Media Content Items and Interstitial Adjusters 210 Media Content Item Pair Arranger with Interstitials, Playlist Generator 600 ways 700 methods 800 sample media content items 802 Introduction Segment 804 Main Segment 804a The main segment of the previous media content item 804b The main segment of the next media content item 806 Ending Segment 808 Interstitial 810 Playlist Example 820 Playlist Example 830 Playlist Example 840 Playlist Example 842 Gap 900 ways 1000 Graphs 1002 Music Video 1004 Music Video 1006 Trivia Interstitial 1008 Music Video 1010 Trivia Interstitial 1012 Music Video 1014 Trivia Interstitial 1020 Playlist 1030 Playlist 1040 Playlist 1100 Computer Systems 1102 Processing device 1104 Main memory 1106 Static Memory 1108 Bus 1110 Video Display Unit 1112 Alphanumeric Input Device 1114 Cursor Control Device 1118 Data Storage Devices 1120 Signal Generating Device 1122 Network Interface Device 1124 Computer-readable storage medium 1126 Command 1174 Network
Claims
1. A method for playing a video game comprising: pairing media content items for a playlist from a plurality of media content items based on a plurality of interstitials, each of the resulting pairs of media content items being associated with at least one of the plurality of interstitials; and arranging the resulting pairs of media content items in the playlist together with interstitials each associated with a respective media content item of the resulting pairs, wherein each interstitial is inserted in the playlist between a first and a second media content item of the respective pair, and the media content items of the resulting pairs of media content items are linked together by respective interstitials having one or more identifiers that match one or more identifiers of the resulting pair of media content items.
2. The method of claim 1, wherein the content of each interstitial provides a transition from a first media content item of each of the resulting pairs to a second media content item of each of the resulting pairs to promote cohesion of the content of the overall playlist.
3. The method of claim 1, wherein the resulting pairs of media content items and the interstitials are arranged in a playlist based on a frequency of occurrence score of pairs of media content items having one or more identifiers that match one or more identifiers of one of the plurality of interstitials.
4. The method of claim 3, wherein the step of arranging the resulting pairs of media content items together with the interstitials in the playlist comprises traversing a longest path of nodes of a graph, the nodes of the graph including each media content item and each interstitial of the resulting pairs of media content items, and the media content items of the resulting pairs of media content items are linked together by their respective interstitials having one or more identifiers that match the one or more identifiers of the resulting pairs of media content items.
5. The method of claim 3, wherein each media content item of the resulting pair of media content items is weighted based on a user's affinity to the respective media content item.
6. The method of claim 5, wherein the affinity is determined based on at least one of the number of times the user has played the respective media content item and whether the user has indicated a preference for the respective media content item.
7. The method of claim 1, wherein each interstitial is a piece of trivia related to the first media content item of the resulting pair of media content items and provides information related to the second media content item of the resulting pair of media content items.
8. The method of claim 7, wherein the trivia elements include one or more of audio, text, images, and video.
9. maintaining a history of inserted interstitials; and in response to a determination that at least one interstitial has been previously inserted into the playlist, inserting a different interstitial into the playlist having one or more identifiers that match one or more identifiers of a respective pair of media content items.
10. The method of claim 1, wherein one interstitial of the plurality of interstitials is played in the playlist by overlaying an ending segment of the first media content item of the respective pair of media content items onto a first portion of the one interstitial and overlaying an introduction segment of the second media content item of the respective pair of media content items onto a second portion of the one interstitial.
11. The method of claim 1, wherein the plurality of media content items includes audio.
12. A memory device; a processing device operably coupled to the memory device, the processing device comprising: Pairing media content items for a playlist from a plurality of media content items based on a plurality of interstitials, each resulting pair of media content items being associated with at least one of the plurality of interstitials; arranging the resulting pairs of media content items in the playlist together with interstitials each associated with a respective media content item of the resulting pairs, wherein each interstitial is inserted in the playlist between a first media content item and a second media content item of the respective pair, and wherein the media content items of the resulting pairs of media content items are linked together by respective interstitials having one or more identifiers that match one or more identifiers of the resulting pair of media content items.
13. The system described in claim 12, wherein the content of each interstitial provides a transition from a first media content item of each of the resulting pairs to a second media content item of each of the resulting pairs to promote cohesion of the content of the entire playlist.
14. The system described in claim 12, wherein the resulting pairs of media content items and the interstitials are arranged in a playlist based on a frequency of occurrence score of pairs of media content items having one or more identifiers that match one or more identifiers of one of the plurality of interstitials.
15. The system of claim 14, wherein arranging the resulting pairs of media content items together with the interstitials in the playlist further includes the processing device traversing a longest path of nodes of a graph, the nodes of the graph including each media content item and each interstitial of the resulting pairs of media content items, the media content items of the resulting pairs of media content items being linked together by respective interstitials having one or more identifiers that match the one or more identifiers of the resulting pairs of media content items.
16. The system of claim 14, wherein each media content item of the resulting pair of media content items is weighted based on a user's affinity to the respective media content item.
17. The system described in claim 16, wherein the affinity is determined based on at least one of the number of times the user has played the respective media content item and whether the user has indicated a preference for the respective media content item.
18. A non-transitory computer-readable storage medium comprising instructions that, when accessed by a processing device, cause the processing device to perform an operation, the operation comprising: pairing media content items from a plurality of media content items for a playlist based on a plurality of interstitials, each resulting pair of media content items being associated with at least one of the plurality of interstitials; and arranging the resulting pairs of media content items in the playlist together with interstitials each associated with a respective media content item of the resulting pairs, wherein each interstitial is inserted in the playlist between a first media content item and a second media content item of the respective pair, and the media content items of the resulting pairs of media content items are linked together by a respective interstitial having one or more identifiers that match one or more identifiers of the resulting pair of media content items.
19. A non-transitory computer-readable storage medium as described in claim 18, wherein the content of each interstitial provides a transition from a first media content item of the respective one of the resulting pairs to a second media content item of the respective one of the resulting pairs to promote cohesion of the content of the overall playlist.
20. The non-transitory computer-readable storage medium of claim 18, wherein the resulting pairs of media content items and the interstitials are arranged in a playlist based on a frequency of occurrence score of pairs of media content items having one or more identifiers that match one or more identifiers of one of the plurality of interstitials.
Citation Information
Patent Citations
Broadcast reception terminal and broadcasting system employing it
JP2002330417A
Information transmission and reception system
JP2002341876A
Arrangement configuration and display method for commercial message
JP2003264769A
ad rotation
JP2009536508A
Video recommendations based on video co-occurrence statistics
JP2015506154A