Patent application title: Rules Based Playlist Generation
Inventors:
David C. Jellison, Jr. (Ogallala, NE, US)
Assignees:
iHeartMedia Management Services, Inc.
IPC8 Class: AG06F1730FI
USPC Class:
1 1
Class name:
Publication date: 2018-04-19
Patent application number: 20180107668
Abstract:
A playlist can be generated based on a chart or list including ranked
media items, e.g. songs, videos, etc., by automatically including the
highest ranked media items to the playlist, but only adding some of the
lower ranked media items to the playlist. A particular lower-ranked media
item can be pseudo-randomly excluded from the playlist if that media item
has a ranking in a current version of the chart that is lower than its
ranking in a previous version. Once the desired number of media items has
been added to an intermediate list, the intermediate list can be
inverted, and station identifiers can be interspersed between the media
items.Claims:
1. A method for use in a media server, the method comprising: obtaining,
from a network, a first media list of media items, the media items ranked
relative to other media items included in the first media list based on a
level of popularity; building an intermediate list of media items from
selected ranked media items from within the first media list, the
intermediate list to contain a target number of media items, the target
number less than a total number of items in the first media list, the
building including: adding to the intermediate list a predetermined
number of top-ranked media items from the first media list, the
predetermined number less than the target number; selectively adding
lower-ranked media items from the first media list to the intermediate
list until a combined number of top-ranked and lower-ranked media items
added to the intermediate list reaches the target number, each of the
lower-ranked media items having a relative ranking level inferior to the
relative ranking level of all of the predetermined number of top-ranked
media items, wherein the selectively adding includes at least considering
an exclusion of lower-ranked media items based on skewing a pseudo-random
selection criteria, wherein the skewing is configured to make it more or
less likely that any one particular media item will be excluded from or
added to the intermediate list; in response to the combined number of
top-ranked and lower-ranked media items reaching the target number:
adding identifiers associated with the top-ranked and lower-ranked media
items; generating a first playlist based on the intermediate list;
creating a first playlist broadcast chain configured to be distributed
through a communication system; and distributing, through the
communication system, the first playlist broadcast chain to one or more
media users.
2. The method of claim 1, wherein generating the first playlist further comprises: interspersing station identifiers between top-ranked media items and lower-ranked media items included in the first playlist, wherein each of the station identifiers includes an announcement media item indicating a relative ranking of a particular media item in the first playlist.
3. The method of claim 2, wherein generating the first playlist further comprises: inverting the first playlist to generate an inverted list, wherein each of the station identifiers includes an announcement media item indicating a relative ranking of a particular media item in the inverted list.
4. The method of claim 1, wherein the skewing a pseudo-random selection criteria includes skewing one or more of: a current ranking of the media item, an historical performance of the media item over a period of time, or a number of playlists the media item has been included in over time.
5. The method of claim 4, wherein the skewing a pseudo-random selection criteria is determined by: determining whether a current ranking of at least one of the lower-ranked media items is different from a previous ranking of the at least one of the lower-ranked media items; and skewing a pseudo-randomly exclusion of the at least one of the lower-ranked media items in response to determining that the current ranking of the at least one of the lower-ranked media items has declined.
6. The method of claim 1, wherein the pseudo-random selection criteria includes declining popularity and the skewing a pseudo-random selection criteria is determined by: determining whether a current ranking of at least one lower-ranked media item is different from a previous ranking of the at least one lower-ranked media item; determining whether the at least one lower-ranked media item has been included in a previous playlist within a set time period; excluding the at least one lower-ranked media item in response to determining that the current ranking of the at least one lower-ranked media item has declined and that the at least one lower-ranked media item has been included in a previous playlist within a set time period; and skewing a pseudo-randomly exclusion of the at least one lower-ranked media item in response to determining that the current ranking of the at least one lower-ranked media item has declined and that the at least one media item has not been included in a previous playlist within a set time period.
7. The method of claim 1, further comprising: calculating a first difference between a playout length of the first playlist and a target playout length; generating a second playlist, the second playlist comprising: top-ranked media items selected from a second media list, the top-ranked media items having a relative popularity level satisfying a threshold popularity requirement; and lower-ranked media items pseudo-randomly added from a second version of the media list; calculating a second difference between a playout length of the second playlist and the target playout length; adding the first difference to the second difference to generate a combined playout length difference; and determining, based on a comparison of the combined playout length difference to the target playout length, if a third list is to be generated.
8. The method of claim 1, wherein the considering an exclusion of lower-ranked media items is based, in part, to prevent exhaustion of media items available to be selected from the first media list of media items before reaching the target number.
9. The method of claim 1, wherein the first playlist broadcast chain is configured to be distributed over one or more of: a broadcast system or a streaming system.
10. A media automation system comprising: a processor; memory operably coupled to the processor; the processor and the memory configured to: obtain a first version of a first media list, the first media list indicating a relative popularity level of each one of media items in the first media list with respect to each other one of the media items therein, the relative popularity level of each one of the media items indicated by a respective popularity level indicating parameter; add a predetermined number of first media items from the first version of the media list to an intermediate list, each of the first media items having a relative popularity level satisfying a threshold popularity requirement based at least partially upon the respective popularity level indicating parameter thereof, wherein the predetermined number is less than a target number of media items comprising the intermediate list; selectively add second media items from the first version of the media list to the intermediate list until a combined number of first and second media items added to the intermediate list reaches the target number, each of the second media items having a relative popularity level inferior to the relative popularity level of the first media items based at least partially upon the respective popularity level indicating parameter thereof, wherein the selectively adding includes at least considering an exclusion of the second media items based, in part, on skewing a pseudo-random selection criteria, wherein the skewing is configured to make it more or less likely that any one particular song will be excluded from or added to the intermediate list; add identifiers associated with the first and second media items; and generate a first playlist based on the intermediate list; and create, on a server, a first playlist broadcast chain configured to be distributed through a communication system; and distribute, through the communication system, the first playlist broadcast chain to one or more media users.
11. The system of claim 10, wherein the generate the first playlist further comprises: interspersing station identifiers between first media items and second media items included in the first playlist, wherein each of the station identifiers includes an announcement media item indicating a relative ranking of a particular media item in the first playlist.
12. The system of claim 10, wherein the skewing a pseudo-random selection criteria includes one or more of: a current ranking of the media item, an historical performance of the media item over a period of time, or a number of playlists the media item has been included in over time.
13. The system of claim 10, wherein the skewing a pseudo-random selection criteria is determined by: determining whether a current ranking of at least one lower-ranked media item is different from a previous ranking of at least one lower-ranked media item; and skewing a pseudo-randomly exclusion of the at least one lower-ranked media item in response to determining that the current ranking of the at least one lower-ranked media item has declined.
14. The system of claim 10, wherein the selection criteria includes declining popularity and the skewing a pseudo-random selection criteria is determined by: determining whether a current ranking of at least one lower-ranked media item is different from a previous ranking of the at least one lower-ranked media item; determining whether the at least one lower-ranked media item has been included in a previous playlist within a set time period; excluding the at least one lower-ranked media item in response to determining that the current ranking of the at least one lower-ranked media item has declined and that the at least one lower-ranked media item has been included in a previous playlist within a set time period; and skewing a pseudo-randomly exclusion of the at least one lower-ranked media item in response to determining that the current ranking of the at least one lower-ranked media item has declined and that the at least one media item has not been included in a previous playlist within a set time period.
15. The system of claim 10, wherein the considering an exclusion of the second media items comprises: determining whether a current ranking of at least one of the media items is different from a previous ranking of the at least one of the media items; determining whether the at least one of the media items has been included in a previous playlist within a set time period; excluding the at least one of the media items in response to determining that the current ranking of the at least one of the media items has declined and that the at least one of the media items has been included in a previous playlist within a set time period; and skewing a pseudo-random exclusion the at least one of the media items in response to determining that the current ranking of the at least one of the media items has declined and that the at least one of the media items has not been included in a previous playlist within a set time period.
16. The system of claim 10, wherein the processor and the memory are further configured to: calculate a first difference between a playout length of the first playlist and a target playout length; generate a second playlist comprising: third media items selected from a second version of the media list, the third media items having a relative popularity level satisfying a threshold popularity requirement; and fourth media items pseudo-randomly added from the second version of the media list; calculate a second difference between a playout length of the second playlist and the target playout length; add the first difference to the second difference to generate a combined playout length difference; and determine, based on a comparison of the combined playout length difference to the target playout length, if a third list is to be generated. 17 The system of claim 10, wherein the considering an exclusion of the second media items is based, in part, to prevent exhaustion of media items available to be selected from the first media list before reaching the target number.
18. A method for use in a server, the method comprising: obtaining a first media list of media items, the media items ranked relative to other media items included in the first media list based on a level of popularity; building an intermediate list of media items from selected ranked media items from within the first media list, the intermediate list to contain a target number of media items, the target number less than a total number of the first media list of media items, the building including: adding to the intermediate list a predetermined number of top-ranked media items from the first media list, the predetermined number less than the target number; selectively adding lower-ranked media items from the first media list to the intermediate list until a combined number of top-ranked and lower-ranked media items added to the intermediate list reaches the target number, each of the lower-ranked media items having a relative popularity ranking level inferior to the relative popularity ranking level of all of the predetermined number of top-ranked media items, wherein the selectively adding includes at least considering an exclusion of lower-ranked media items based on skewed pseudo-random selection criteria; in response to the combined number of top-ranked and lower-ranked media items reaching the target number: adding identifiers associated with the top-ranked and lower-ranked media items; and generating a first playlist based on the intermediate list.
19. The method of claim 18, wherein the skewed pseudo-random selection criteria include any of: current ranking of the media item, historical popularity of the media item, or on a number of playlists the media item has been included in.
20. The method of claim 18, wherein the skewed pseudo-random selection criteria are selected based, in part, to prevent exhaustion of media items available to be selected from the first media list of media items before reaching the target number.
Description:
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. .sctn.120 as a continuation of U.S. Utility application Ser. No. 12/917,596, entitled "RULES BASED PLAYLIST GENERATION," filed Nov. 2, 2010, which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility Patent Application for all purposes.
TECHNICAL FIELD
[0002] The present disclosure relates generally to generating media playlists, and more particularly to rules based playlist generation.
BACKGROUND
[0003] Charts listing the top performing media titles are widely used. For example, the popularity of songs played on the radio is measured by companies using various statistical techniques, and the results are compiled into list of the Top 10 songs, Top 20 songs, etc. Similar lists are often compiled for multiple different genres, so that a list of the top 40 favorite songs in all of the United States is available, as well as a top 40 list of country and western songs, top 40 rap songs, and the like. These lists are usually generated based on "spins," so that songs receiving the most airplay are included in the list with a song having the most "spins" being listed as number 1, a song having the second most "spins" being listed as number 2, and so on.
[0004] Lists of top performing media songs are often sold, or otherwise made available, to aid radio stations in determining which songs to broadcast. But radio stations generally do not desire to simply play the top 10 songs, top 20 songs, top 40 songs, or the like in strict rotation. Consequently, the lists of top performing songs do not fully inform radio stations which songs should be played; such lists are, therefore, less than perfect.
SUMMARY
[0005] Various embodiments of the present disclosure can be realized as a method for use in a server. According to some embodiments, the method includes obtaining a first version of a media list, the first version of the media list indicating a relative performance level of media items in the first version of the media list. First media items are added from the first version of the media list to an intermediate list, with each of the first media items having a relative performance level satisfying a threshold performance requirement. Second media items are selectively added from the first version of the media list to the intermediate list until a combined number of first and second media items added to the intermediate list reaches a target number. Each of the selectively added second media items has a relative performance level inferior to the relative performance level of the first media items. In response to the combined number of first and second media items reaching the target number, identifiers associated with the first and second media items can be added, and a first playlist generated based on the intermediate list.
[0006] In some embodiments, generating the first playlist includes interspersing station identifiers between first media items and second media items included in the first playlist, and inverting the first playlist to generate an inverted list. Each of the station identifiers can include an announcement media item indicating a relative ranking of a particular media item in the inverted playlist.
[0007] In various embodiments, selectively adding includes pseudo-randomly excluding from the intermediate list at least one media item in the first version of the media list. Further embodiments also include determining whether a current ranking of a media item is different from a previous ranking of the media item, and pseudo-randomly excluding the media item in response to determining that the current ranking of the at least one media item has declined.
[0008] Furthermore, a second playlist can be generated. The second playlist includes third media items selected from a second version of the media list, the third media items having a relative performance level satisfying a threshold performance requirement, and fourth media items pseudo-randomly added from the second version of the media list. A first difference between a playout length of the first playlist and a target playout length, and a second difference between a playout length of the second playlist and the target playout length, can both be calculated. The first difference can be added to the second difference to generate a combined playout length difference, and a determination about whether to generate a third list can be based on a comparison of the target playout length and the combined, or aggregate, playout length difference.
[0009] Various embodiments can also be implemented as a method that includes generating a first playlist including first media items selected from a first version of a media ratings chart, the first media items including available media items rated highest in the first version of the media ratings chart; and second media items selected from the first version of the media ratings chart, the second media items including available media items rated below a lowest ranked first media item, wherein the second media items are selected by pseudo-randomly excluding at least one media item that would have otherwise been selected as a second media item. Some such methods also include generating a second playlist including third media items selected from a second version of the media ratings chart, the third media items including available media items rated highest in the second version of the media ratings chart; and fourth media items selected from the second version of the media ratings chart, the fourth media items including available media items rated below a lowest ranked third media item, wherein the fourth media items are selected by pseudo-randomly excluding at least one media item that would have otherwise been selected as a fourth media item.
[0010] In various embodiments, generating the first playlist and the second playlist includes generating an inverted list with station identifiers including announcement media items indicating relative rankings within the inverted list. The method can also include determining that a potential fourth media item, included in the second version of the media ratings chart, was also included in the first version of the media ratings chart, and determining whether a ranking of the potential fourth media item has declined from its ranking in the first version of the media ratings chart. If its ranking has declined, the potential fourth media item can be pseudorandomly excluded from the second playlist, whereas if its ranking has not declined, the item is included in the second playlist.
[0011] The first version of the media ratings chart and the second version of the media ratings chart can include at least a top 20 ranked media items, and in some embodiments, all available top 10 ranked media items are selected as first media items; and second media items are selected from media items rated top 11 and lower. The second version of the media ratings chart can be an updated version of the first version of the media ratings chart that reflects changes in the popularity of media items. Some embodiments also include sending the first playlist to a playout system to be played during a first programming period, and sending the second playlist to a playout system to be played during a programming period immediately subsequent to the first programming period.
[0012] Various embodiments can also be implemented as a system that includes a processor, memory operably coupled to the processor, and a program of instructions to be stored in the memory and executed by the processor. The program of instructions includes one or more instructions that configure the processor to implement any of various methods disclosed herein.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0013] Aspects of this disclosure will become apparent upon reading the following detailed description and upon reference to the accompanying drawings, in which like references may indicate similar elements:
[0014] FIG. 1 is a block diagram illustrating a system according to various embodiments of the present disclosure;
[0015] FIG. 2 depicts stages of playlist generation according to various embodiments of the present disclosure;
[0016] FIG. 3 is a flow chart illustrating a method according to various embodiments of the present disclosure; and
[0017] FIG. 4 is a high level block diagram of a processing system according to an embodiment of the present disclosure.
DETAILED DESCRIPTION OF THE INVENTION
[0018] The following is a detailed description of embodiments of the disclosure depicted in the accompanying drawings. The embodiments are in such detail as to clearly communicate the disclosure. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.
[0019] The following is a detailed description of embodiments of the disclosure depicted in the accompanying drawings. The embodiments are presented in sufficient detail to clearly communicate the disclosure to one of ordinary skill in the art. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.
[0020] Referring first to FIG. 1, a system 100 according to various embodiments of the present disclosure will be discussed. System 100 includes media automation system 110, which can be used to control and automate various media broadcast functions, including the generation of playlists; and traffic and billing system 120, which is used to provide control for various traffic and billing functions such as entering and editing orders, and scheduling spots. System 100 also includes streaming broadcast chain 160, through which a streaming broadcast of media content can be provided to a network such as Internet 161, on air broadcast chain 150, through which media content can be broadcast via a broadcast tower 151, and various media sources such as an individual source media 142, bulk media storage 141, programming from another market received via network 140, and programming broadcast via satellite 131, which can be received via satellite receiver 130. In various embodiments, system 100 also includes database 147, which can be used to store one or more versions of various media rating charts and lists used in generating playlists according to some embodiments.
[0021] Media automation system 110 includes production machine 116, which receives media content from network 140, bulk storage 141, individual source media 142, control room machine 115, and utility machine 114, each of which is connected to database server 113. Media automation system 110 also includes media playout systems, including Over-Air audio server 112 to provide media content to on air broadcast chain 150, and streaming audio server 111 to provide audio content to streaming broadcast chain 160. Playlists generated by Database server 113, Production Machine 116, Control Room Machine 115, or Utility Machine 114 can be provided by Database server 113 to one or more playout systems including either or both of over-air audio server 112 and streaming audio server 111. In at least one embodiment, one or more of the illustrated servers can be implemented as a virtual server on the same hardware as another of the illustrated servers. Furthermore, various distributed processing techniques can be used to spread functionality of one or more of the illustrated servers across multiple different hardware components.
[0022] Media automation system 110 can obtain media charts or lists from any of various internal or external sources. One or more media charts or lists can be purchased or otherwise obtained from third parties via network 140, or generated by media automation system itself based on data collected from multiple sources. For example, one Top 20 Rock list can be purchased from one provider, and another Top 20 Rock list can be generated by an operator of Media automation system 110. One or more of these different lists can be aggregated to generate the chart or list used as a starting point for various embodiments disclosed herein. In many cases, however, a single list or chart from a single source, for example Mediabase, is used as the starting list or chart.
[0023] Regardless of where the original list is obtained from, in most cases such lists are updated at least weekly, often daily, and in some case more often. Multiple versions of a list can be obtained and stored into database 147 as they become available. Storing multiple versions of the same list can facilitate comparison of media rankings between the two lists. For example, suppose that a media item A is ranked number 15 in a first version of a ratings chart or list, and ranked number 12 in a subsequent version. This change in ranking can be taken into account in generating a playlist, because if a media item becomes more popular, it is more likely to be desirable to include that media item in a playlist. Conversely, it may be less desirable to include a song that is becoming less popular in a playlist. In any case, both multiple different charts (e.g. Country, Rock, Rap, Top 10 from vendor A, Top 10 from vendor B, Top 30, Top 40, Top 100), and multiple different versions of the same chart (e.g. Top 30 Pop available at 3:00 pm from vendor A and Top 30 Pop available at 5:00 pm from vendor A), can be used to generate playlists in some embodiments. According to various embodiments, playlists can be generated from different versions of a media chart, and then delivered to overair audio server 112, streaming audio server 111, or another suitable playout system.
[0024] Referring next to FIG. 2, generation of a playlist based on a ratings chart or list will be discussed in accordance with various embodiments of the present disclosure. Any suitable rating chart or list can be used as the seed from which a playlist can be generated, but in at least one embodiment, a chart listing a greater number of media items than will be included in the final playlist is used. Top 100 Chart 210 is illustrated, but a Top 40 chart may be more commonly available and useful in some instances, particularly where the pseudorandom exclusion of songs is performed using an algorithm that makes it unlikely for songs ranked below 40.sup.th to be reached.
[0025] In the illustrated example, the pool of media items considered for inclusion is taken to be the top 30 songs from the Top 100 Chart. The top 30 songs are chosen in this example because in the illustrated example 20 songs can be selected without exhausting a pool consisting of 30 songs. In the illustrated example, the top 10 songs are automatically chosen for inclusion in an Intermediate List 220, which will eventually become the playlist, if those top 10 songs are available from any of the sources accessible by Database Server 113 (FIG. 1).
[0026] The intermediate list is built by first adding the song ranked #1, if available, to List Position 1 of Intermediate List 220, and so on until the top 10 ranked songs have been placed in reverse ranked order. Next, each of the songs ranked 11-30 will be considered, in order, for inclusion in Intermediate List 220, until 20 songs total are included in Intermediate List 220. Before a song ranked 11-30 by Top 100 Chart 210 is included in Intermediate List 220, the song is checked for availability. If available, a check is done to determine if the song in question has declined in popularity or some other performance factor. This check is generally performed by comparing a song's rank in a current version of the Top 100 Chart 210 to a previous version of Top 100 Chart 210. If a song is available, and has not declined in popularity, it is added to Intermediate List 220.
[0027] If, however, the song being evaluated has declined in ranking, e.g. it is currently ranked 11.sup.th and was formerly ranked 10.sup.th, then the song is pseudo-randomly excluded from Intermediate List 220. This pseudorandom exclusion can be performed, for example, by generating a pseudorandom number, and based on the number generated, the song can be excluded. Generating pseudorandom numbers is well within the capabilities of one of ordinary skill in the art. That being said, the pseudorandom number can be skewed so that the result is not a pure 50/50 chance of exclusion. In some such embodiments, the pseudorandom number can be skewed based on a current ranking of the song, based on a historical performance of the song over a period of days, weeks, or years, or even based on a number of playlists the song has been included in over the past day, week, or month. Skewing the pseudorandom number can make it more or less likely that any one particular song will be excluded from (or conversely added to) Intermediate List 220. As used herein, a process to determine whether a song is excluded should also be considered a process to determine inclusion, and determining that a song is not excluded also refers to determining that the same song is included.
[0028] Once Intermediate List 220 includes 20 songs, or another target number of songs is selected for inclusion, Playlist 230 can be generated. As illustrated, Playlist 230 is a version of Intermediate Playlist 220 with station identifiers 233 interspersed between the songs 231. Note that although Intermediate List 220 is shown as being constructed in a First-In-First-Out (FIFO) type of queue, in other embodiments a First-In-Last-Out (FILO) type of list can be used instead. In some such embodiments, Playlist 230 would be an inverted version of Intermediate List 220. In some embodiments, each of the station identifiers includes a media item such as an announcement of a song's ranking. So, for example, a station identifier associated with the song ranked number 23 may be a voice announcement stating that next song is currently ranked number 23 in the TOP 100 Chart.
[0029] In other embodiments, the station identifier can indicate the ranking of the song within the final playlist. For example, the song ranked #27 in the Top 100 is ranked number 20 in the Playlist 230. Furthermore, the station identifier can include information in addition to, or in place of, ranking information. For example, station identifiers 233 can include a song title, or other information listeners might find interesting or informative. Furthermore, depending on data requirements of a playout system, station identifiers 233 can include tags, links, pointers, or the like that indicate where information to be inserted within the playlist can be found.
[0030] Referring next to FIG. 3, a method 300 according to various embodiments of the present disclosure will be discussed. Method 300 begins at block 301. At block 303, method 300 obtains a current version of a media list or chart. In at least one embodiment, the media list or chart obtained at block 303 includes a list of media items ranked according to any of various performance factors. Commonly, media lists or charts are ranked according to popularity, as measured by a number of "spins" or times a particular media item has been broadcast, viewed, or otherwise accessed. As illustrated by block 305, once a current media list or chart has been obtained, a desired number of top media items are selected for consideration. For example when constructing a top 20 list, the top 30 or 40 media items may be selected for consideration for possible inclusion in the final playlist. Likewise, if a top 10 list is to be constructed, the top 15 or 20 media items might be considered. Furthermore, depending on the pseudorandom exclusion process, a greater or lesser number of media items may be chosen as desired, or consistent with having a sufficient number of media items to prevent exhausting the universe of available media items prior to having selected a target number of media items.
[0031] As illustrated by block 307, the next media item to be considered is selected. Consistent with various embodiments discussed herein, media items are considered from highest ranked the lowest ranked, so the highest ranked media item from the universe of media items selected at block 305 which has not yet been considered, is chosen for evaluation. As illustrated by block 309, the media item selected for consideration at block 307 is tested to see if it meets inclusion threshold criteria. In at least some embodiments, the inclusion threshold criterion is based on the current ranking of the media item under consideration. For example, in some embodiments, the top 5 ranked available media items may be automatically selected for inclusion in the playlist. Note that various embodiments may include different inclusion threshold. Thus, for example, embodiments choosing the top 7 ranked media items, the top 10 ranked media items, or even only the top ranked media item for automatic inclusion in an intermediate list still fall within the spirit and scope of the present disclosure. If the media item under consideration meets the inclusion threshold, no further testing is required, and the item is added to the intermediate list, as illustrated by block 315.
[0032] Note, although not specifically illustrated herein, if an item under consideration meets the inclusion threshold but is not available, various embodiments of the present disclosure may take steps to obtain the otherwise unavailable media item. This could be done, for example, by attempting to access additional databases, sending a request to a media item provider, or taking other similar steps. If the media item is not available, in some embodiments it will not be added to the intermediate list regardless of its ranking.
[0033] As illustrated by block 311, if a media item under consideration does not meet the inclusion threshold, a check is performed to see if the item's ranking has declined. In some embodiments, the check to determine whether an items ranking has declined includes comparing the ranking of the item in a current version of the media list or chart and at the same media items ranking in a previous version of the same list or chart. If the items ranking has not declined, in other words if it has remained the same or improved, that media item is added to the intermediate list as illustrated by block 315.
[0034] If, however, the item's ranking has declined, a check is made to determine whether the item has been included in a recent playlist, as illustrated by block 312. In one embodiment, this may involve checking to determine whether the item has been played in the previous hour. If the item is found to have been included in a recent playlist, then the item is excluded, as illustrated by block 314. Otherwise, a check is made to determine whether to pseudo-randomly exclude the media item, as illustrated by block 313. As used herein, pseudorandom exclusion is inversely equivalent to pseudorandom inclusion. That is to say, an item that has not been pseudo-randomly excluded can also be said to have been pseudo-randomly included. If the item under consideration is not to be pseudo-randomly excluded, the item is added to the intermediate list as illustrated by block 315. Otherwise, if the item is to be pseudo-randomly excluded, the method proceeds to block 317, or a check is made to determine whether the target number of items has been reached. According to some embodiments, the target number of items refers to the number of media items to be selected from the universe of potential media items selected in block 305 for inclusion in a final playlist. As illustrated by block 317, if the target number of media items has not been reached the method returns the block 307, or the next highest ranked item not yet considered is chosen or consideration.
[0035] If the target number of items has been reached, for example if 20 media items are to be included in a final playlist, and there are 20 items currently added to the intermediate list, the method proceeds to block 318 were playlist is generated. Generating a playlist can include inverting the intermediate playlist and interspersing station identifiers between the media items included in the intermediate playlist. The station identifiers can themselves be media items of the same type as the media items included in the intermediate playlist. In some embodiments the interspersed station identifiers can include an indication of the ranking of a media item with which a particular station identifier is associated. Note that in some embodiments the intermediate playlist need not be inverted.
[0036] As illustrated by block 319, the playlist generated at block 318 can be sent to a playout system for broadcast, streaming, or other types of playout. As illustrated by block 321, in conjunction with sending the playlist to play out system, a difference between the actual play out length of the playlist and a target play out length can be calculated. This calculation can be done prior to sending the playlist for play out, at the same time as sending the playlist for play out, or after sending the playlist, as specifically shown in method 300. In some embodiments, the target play out length can be an hour, a half-hour, 15 minutes, or some other daypart for which a playlist is desired. For purposes of illustration only, a one-hour target play out length will be used. Thus, if a playlist including 20 media items is targeted to be one hour-long, but is instead one hour and 30 minutes long, the difference between the play out length and target play out length will be 30 minutes.
[0037] As illustrated by block 323, a check is made to see if previous playlists have been generated from the current version of the media list or from one or more previous versions of the media list. If other playlists have been generated, as illustrated by block 325 the difference between the play out length of those previous lists and the target play out length is calculated and that difference is added to the difference between the play out length of the current playlist and the target play out length. Continuing with the previous example, and assuming for purposes of this example that the target play out length is 1 hour. Recall that the current playlist generated a difference of +30 minutes. Assume that one previous playlist has been generated, resulting in a difference calculation of -5 minutes. When the two differences in playout length are combined, as illustrated by block 325, the resulting difference is 25 minutes.
[0038] This difference of 25 minutes is compared against a threshold difference as illustrated by block 327. If 25 minutes is not greater than a difference threshold, method 300 returns to block 303 were a current version of the media list or chart is obtained to begin generation of another playlist. If, however, 25 minutes exceeds the difference threshold, method 300 proceeds to block 329. As illustrated by block 329, generation of a playlist for a subsequent time period can be skipped, followed by reducing the time period from the aggregate playout length as illustrated by block 330, before returning to block 303.
[0039] Continuing with the previous example where a previous playlist has been generated and the target playout length is 1 hour. Assume that the previous playlist (with a playout difference of -5 minutes) was sent to a playout system for broadcast between 1 p.m. and 2 p.m. Once commercial spots and other content are added to the playlist by the playout system, the first playlist will not be completed until approximately 2:15 p.m. The second playlist (with playout length difference of +30 minutes) was intended for broadcast between 2 p.m. and 3 p.m., but the playlist is one hour and 30 minutes long, so with commercial spots and other content, it is likely to require almost 2 hours run. Thus, although the second playlist is intended to play from 2 p.m. to 3 p.m., it is likely instead to be played out between 2:15 p.m. and almost 4:15 p.m. Consequently, no playlist needs to be generated for the 3 p.m. to 4 p.m. time period, because that time period is already taken up by the second playlist. Thus, as illustrated by block 329 generation of a playlist intended to be played out between 3 p.m. and 4 p.m. can be skipped.
[0040] Referring now to FIG. 4, a high-level block diagram of a processing system is illustrated and discussed. Processing system 400 includes one or more central processing units, such as CPU A 405 and CPU B 407, which may be conventional microprocessors interconnected with various other units via at least one system bus 410. CPU A 405 and CPU B 407 may be separate cores of an individual, multi-core processor, or individual processors connected via a specialized bus 411. In some embodiments, CPU A 405 or CPU B 407 may be a specialized processor, such as a graphics processor, other co-processor, or the like.
[0041] Processing system 400 includes random access memory (RAM) 420; read-only memory (ROM) 415, wherein the ROM 415 could also be erasable programmable read-only memory (EPROM) or electrically erasable programmable read-only memory (EEPROM); and input/output (I/O) adapter 425, for connecting peripheral devices such as disk units 430, optical drive 436, or tape drive 437 to system bus 410; a user interface adapter 440 for connecting keyboard 445, mouse 450, speaker 455, microphone 460, or other user interface devices to system bus 410; communications adapter 465 for connecting processing system 400 to an information network such as the Internet or any of various local area networks, wide area networks, telephone networks, or the like; and display adapter 470 for connecting system bus 410 to a display device such as monitor 475. Mouse 450 has a series of buttons 480, 485 and may be used to control a cursor shown on monitor 475.
[0042] It will be understood that processing system 400 may include other suitable data processing systems without departing from the scope of the present disclosure. For example, processing system 400 may include bulk storage and cache memories, which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
[0043] Various disclosed embodiments can be implemented in hardware, software, or a combination containing both hardware and software elements. In one or more embodiments, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc. Some embodiments may be realized as a computer program product, and may be implemented as a computer-usable or computer-readable medium embodying program code for use by, or in connection with, a computer, a processor, or other suitable instruction execution system.
[0044] For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, or transport the program for use by or in connection with an instruction execution system, apparatus, or device. By way of example, and not limitation, computer readable media may comprise any of various types of computer storage media, including volatile and non-volatile, removable and non-removable media implemented in any suitable method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer.
[0045] Various embodiments have been described for generating a playlist based on a media ranking list. Other variations and modifications of the embodiments disclosed may be made based on the description provided, without departing from the scope of the invention as set forth in the following claims.
User Contributions:
Comment about this patent or add new information about this topic:
People who visited this patent also read: | |
Patent application number | Title |
---|---|
20200099890 | IMAGE PROCESSING APPARATUS, CAMERA APPARATUS, AND IMAGE PROCESSING METHOD |
20200099889 | VIDEO CONFERENCING APPARATUS AND VIDEO CONFERENCING METHOD |
20200099888 | TERMINAL AND SERVER FOR PROVIDING VIDEO CALL SERVICE |
20200099887 | CLOSED CAPTIONING MANAGEMENT SYSTEM |
20200099886 | SYSTEM, METHOD, AND COMPUTER-ACCESSIBLE MEDIUM FOR REMOTE SENSING OF THE ELECTRICAL DISTRIBUTION GRID WITH HYPERTEMPORAL IMAGING |