1. Technical Field
This invention relates to broadcast information databases, and more specifically to broadcast information databases for various broadcast formats.
2. Related Art
Audio/video systems currently have a number of broadcast formats in which to receive audio and video material, such as music, television programming, talk-radio programming and the like. Broadcast formats have continued to increase in numbers. As the broadcast formats have increased, so has the amount of data associated with broadcast transmission. For example, radio-based broadcasts may be transmitted according to formats such as FM radio data system (FM-RDS), satellite radio, or high-definition radio. Each of these formats may transmit data identifying a particular broadcast, such as identifying subject content of the particular broadcast.
Available data associated with a broadcast may be used to cross-reference broadcasts transmitted via other broadcast formats. Thus, data associated with a broadcast may be used to identify subsequent broadcasts according to various broadcast formats. Therefore, a need exists to provide a database system to store data associated with broadcasts transmitted via various broadcast formats.
A database system may be configured to include a processor and a memory. The processor may be configured to receive a plurality of broadcasts. Each broadcast may be transmitted according to one of a plurality of broadcasts formats. The processor may determine broadcast information associated with each one of the plurality of broadcasts. The processor may enter a database entry in a database stored in the memory. Each database entry may be indicative of the broadcast information associated with each of the broadcasts received by the processor. The processor may be configured to continuously populate the database with database entries as each broadcast is received by the processor. The processor may also continuously populate the database while audio/video media is being provided to a user. The processor may also be configured to purge the database of particular database entries either automatically or based on user control.
A user may access the database allowing the database entries to be sorted and manipulated by a user. The user may add data to each database entry, such as ratings associated with the broadcast content of each database entries. The ratings may be related to the broadcast information for each database entry. The ratings may be used to notify users of preferred broadcast content available to be received according to at least one of the broadcast formats. The database entries may include various fields allowing a user to search the various fields using keywords or other search criteria.
Other systems, methods, features and advantages of the invention will be, or will become, apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the following claims.
The system may be better understood with reference to the following drawings and description. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Moreover, in the figures, like referenced numerals designate corresponding parts throughout the different views.
A broadcast information database system is configured to store broadcast information. This is accomplished generally by configuring a processor to receive broadcasts transmitted via a plurality of broadcast formats. The processor may monitor each broadcast format and determine broadcast information transmitted with an associated broadcast. The processor may store broadcast information in a database allowing each broadcast to have associated information entered as a database entry.
In
The system 100 may be configured to operate with an audio/video system. In one example, the system 100 may be used to provide audio/video output, such as music or television programming, through an audio/visual system. Thus, the system 100 may be integrated into various audio/video systems such as a vehicle audio/video system, or other suitable audio/video system configured to receive various broadcast formats. In
Each of the broadcast formats 104 may provide broadcasts having varying content such as music, radio programs, commercials, and television programming. The broadcasts may be transmitted from various broadcast sources. For example, satellite radio may include a plurality of channels with each channel being a particular broadcast source. Radio stations may be considered broadcasts sources of FM-RDS format and HD-radio, with each station transmitting broadcasts at an operating frequency within the spectrum associated with FM radio. Each of the broadcast formats 104 in
The processor 102 may include, or be connected to, a memory 120. The memory 120 may include a database 122 configured to store the information received by the processor 102 regarding broadcast information of each particular broadcast. The memory 120 may be computer-readable storage media or memories, such as a cache, buffer, RAM, removable media, hard drive or other computer readable storage media. Computer readable storage media may include various types of volatile and nonvolatile storage media.
In one example, the broadcast database 122 may store a database entry for each unique broadcast received by the processor 102. The processor 102 may continuously monitor broadcasts transmitted via each broadcast format 104. The processor 102 may simultaneously receive as many broadcasts for the tuner-based broadcast formats 105 as the number of tuners allow. For example, if a tuner is available in the system 100 for each tuner-based format 105, the processor 102 may simultaneously receive a broadcast from each of the tuner-based broadcast formats 105. Similarly, the processor 102 may simultaneously receive a broadcast from an Internet broadcast format when the Internet connection 116 is available.
In one example, the processor 102 may continuously monitor broadcasts being received through the tuner-based broadcast formats 105. For example, the satellite radio tuner 108 may be used to continuously scan across each channel provided for satellite radio format. Scanning across each channel allows the processor 102 to receive each broadcast being transmitted from each radio station broadcast source. As the tuner 108 scans across each available station, the processor 102 may receive each broadcast being transmitted at the time the associated station is scanned. The processor 102 may determine the broadcast information received with a broadcast and store a database entry in the database 122 indicative of the broadcast information. Similarly, the processor 102 may scan across each operating domain of a particular tuner-based broadcast format 105, such as the operating frequency domain of the FM-RDS broadcast format.
The system 100 may operate such that a user may listen and/or view content according to a particular broadcast format as the processor 102 continuously monitors each of the broadcast formats 104 to determine broadcast information. Thus, the processor 102 may continuously operate in the background allowing broadcast information to be continuously added to the database 122 during operation of the A/V system 119.
Each tuner-based broadcast format 105 may transmit broadcasts received and monitored by the processor 102. As each tuner scans across a respective operating domain, the processor 102 may continuously receive broadcast information for each broadcast. As the processor 102 determines the particular broadcast information, the processor 102 may populate the database 122 with database entries indicative of the broadcast information associated with a particular broadcast. For example, the processor 102 may be configured to monitor each broadcast format 104 sequentially in groups or in parallel. The processor 102 may first monitor the FM-RDS broadcast format as the tuner 104 scans across the entire operating domain. The processor 102 may receive the broadcast information of each broadcast received across the operating domain and populate the database 122 with an appropriate database entry. After the entire FM-RDS operating domain is scanned, the processor 102 may then receive broadcasts from the satellite radio format through the tuner 108, or may do so in parallel. The tuner 108 may scan across the entire operating domain of the satellite radio format, such as each satellite radio channel. The processor 102 may populate the database 122 with database entries indicative of the broadcast information associated with each satellite radio broadcast received by the processor 102.
An HD radio format tuner 110 may be similarly monitored by the processor 102 in order to populate the database 122, as may the other broadcast formats, including the Internet broadcast format. In one example, the processor 102 may recognize if a particular broadcast has been previously added as a database entry based on the associated broadcast information. In this event, the processor 102 may indicate in the database 122 that a broadcast previously entered as a database entry is being transmitted again according to the same broadcast format or another broadcast format.
The processor 102 may also be in communication with various user components. In one example, the system 100 includes user interfaces 121, 123 that each include interactive components for two users, user 1 and user 2, respectively. In alternative examples, the system 100 may be configured to interact with a single user or more than two users. In one example, the user interface 121 may include a display 124, one or more input devices 125, and a feedback device 126. The user interface 123 similarly includes a display 128, user input device(s) 130, and a feedback device 132. The user interfaces 121, 123 may operate in substantially the same manner. Thus, description of the user interface 121 and associated components may be applied to the user interface 123.
The display 124 and user input device 125 of the user interface 121 may be configured to allow a user to interact with the database 122. The display 124 may allow a user to view the contents of the database 122. The user interface 121 may also include the user feedback device 126, which may interact with the display 124 and the user input device 125. The user may select various database entries or particular broadcasts to be preferred such as those having a particular broadcast content. Broadcast content may relate to the actual program being transmitted. In one example, a broadcast may be particular song. The broadcast content may relate to the song title, musical artist, genre, or associated album. The processor 102 may recognize a database entry in the database 122 as including broadcast information associated with a preferred broadcast, which allows the processor 102 to notify a user if a preferred broadcast being transmitted over one of the broadcast formats 104 based on the associated broadcast formats. Thus, the user may be receiving a current broadcast via one of the plurality of broadcast formats 104. If the processor 102 recognizes a preferred broadcast via another or currently-provided broadcast format based on the associated broadcast information, the processor 102 may provide notification that the preferred broadcast is currently available. The user may switch from the current broadcast to the preferred broadcast, if desired, using an interface such as the input device 125 of the user interface 121.
In one example, the system 100 may be configured to operate with or as part of a vehicle audio system. The processor 102 may be connected to a controller area network (CAN) 121. The CAN 121 may be implemented to recognize a particular user that is operating the vehicle. In one example, the CAN 121 may recognize through a key fob that a particular user is operating the car. The user recognition may be communicated to the processor 102 allowing the processor 102 to configure and to provide access the database 122 according to the preferences of the particular user.
In
A broadcast monitor module 202 may be executable by the processor 102, which allows the processor 102 to receive and monitor the particular content of each broadcast format. The broadcast monitor module 202 may be configured to monitor any number of broadcast streams 200 in parallel, in groups, sequentially, or in a predetermined or random order. The broadcast monitor module 202 may receive broadcast information and transmit the broadcast information to a database management module 204. The database management module 204 is configured to interact with the database 122. The database management module 204 may include a database monitor module 206. The database monitor module 206 may be configured to receive the broadcast information from the broadcast monitor module 202. The database monitor module 206 may compare the broadcast information received to database entry information stored in the database 122. The database monitor module 206 may determine if the broadcast information received has already been entered into the database 122. If the broadcast information associated with the broadcast has not been added to the database 122, the database management module 204 may implement a database populator module 208 that may receive the broadcast information from the database monitor module 206 and interact with the database 122 to create a database entry indicative of the broadcast content based on the broadcast information.
When a database entry for a broadcast previously exists but is being transmitted again, the database monitor module 206 may determine that the broadcast has been previously added as a database entry, but may adjust a field in the database entry indicative of the frequency with which a particular broadcast has been received via any of the broadcast formats. The entry may serve as a counter allowing the frequency (i.e., number of times) with which a broadcast is transmitted to be logged.
The database management module 204 may include a user interaction module 210. The user interaction module 210 may be configured to receive user input and to provide feedback to a user. In
A user may access the database 122 through the user input device 125. The user interaction module 210 may receive user input data and provide access to the database 122. In one example, a user may desire to determine if any database entries for a particular musical artist are stored in the database. The user input devices 125 may allow the user to provide search terms used to seek out the particular artist. In one example, the processor 102 may implement a spelling module 222 and a search engine module 224. The spelling module 222 may be used to alter characters available to a user. As a user inputs characters to determine if particular broadcast information is stored in the database 122, the user interaction module 210 may locate database entries having the currently-input characters. Thus, if a user enters a string of characters, the search engine 224 may return available entries from the database 122 having the particular string of characters. The spelling module 222 may determine that certain characters can be eliminated as choices available to as user based on the string of characters entered by a user because the entries in the database 122 containing the currently-input string of characters have less than all possible characters available for input. The feedback device 126 may be implemented to alter the characters available to a user at the user input devices 125.
In alternative examples, the processor 102 may be further configured to purge the database 122 of particular database entries. In one example, the processor 102 may be configured to purge database entries that have not been received via broadcast information for a predetermined amount of time. Thus, if a particular song is stored in the database 122 and has not been received by the processor 102 according to any of the broadcast formats 104, the processor 102 may remove the database entry for the song from the database 122. The processor 102 may be configured to purge the database 122 of database entries individually, or may be configured to perform routine database purges of the database 122 periodically over predetermined time intervals. In other examples, a user may access the database 122 to purge the database 122 of selected database entries.
In one example, the rows in group 304 may represent fields that may be populated based on received broadcast information. The rows in group 306 may represent fields that may be generated by the system 100, such as the time a broadcast was entered (“TOD”) in the database 122. The fields of group 306 may also represent user-based preferences, such as user-entered ratings, frequency counts, and alerts set by a user. For example, a user may select an alert for specific a song indicating that the user desires to be notified when the song is being transmitted over any of the broadcast formats 104. The field “Flag_Song_Alert” may be set for a particular song when the song information is entered into the database 122. Each time that the particular song is broadcast, based on the flag being set, the system 100 may alert a user that the broadcast is currently available for listening according to one of the broadcast formats. The user may select to change from a current broadcast being provided as audio/video output to the broadcast source transmitting the song, which may be on a different format. A user may also be alerted even if no broadcast is currently being provided, such as when an associated audio/video system is powered off. Similarly, the “Flag_Album_Alert” and “Flag_Artist_Alert” may be set to notify a user when a broadcast features a track from a particular album or a particular artist, respectively. The “Alert” fields may be used to designate preferred broadcasts as previously discussed. The “Alert” fields may be expanded to include television content or non-musical radio content, for example.
The table 300 also indicates particular types of broadcast information a particular broadcast format may transmit. For example column group 308 contains information types associated with an FM-RDS broadcast format. Column “PS,” or “program service,” may be an eight-character static display that represents call letters or a FM station identity name. Column “PTY,” or “program type” may indicate a particular genre of a broadcast. Column “RT,” or “radio text,” may be free-form textual information of 64 characters that can be either static (e.g., station slogans) or in sync with the programming such as the title and artist of a currently-playing song.
Similarly, column group 310 includes broadcast information types that may be included in a HD-radio broadcast, such as title, artist, album, genre, comment, commercial information, and a particular frequency, for example. Column group 312 includes broadcast information types that may be included in a satellite radio format. The information may include artist, song, general information, channel name, channel number, and channel category, such a genre, for example. Column group 314 includes broadcast information types that may be included in satellite television broadcast format. The information may include, artist, song, general information, channel name, channel number, and show rating, for example. The fields of column 302 may be used for other broadcast formats as well, such as Internet broadcasts, for example.
The operation may include a step 504 of determining broadcast information of a broadcast. In one example, the broadcast information may include the type of broadcast, such as a song, commercial, talk-radio program, or television program. The broadcast information may also include further details of a broadcast, such as song title, album, or artist. Column 302 of
The operation may include a step 506 of determining if the broadcast information associated with the broadcast has been previously added to the database as a database entry. In one example, a processor may interact with a memory storing a database configured to store broadcast information, such as that described in
If the broadcast information has been previously added, a step 508 may be performed, which updates any frequency fields related to the broadcast. For example, column 302 of table 300 includes artist, album, and song frequency fields. In one example, if the broadcast is a song that has previously been entered into the database, the frequency fields for artist, title, and album may be updated to reflect the song has been transmitted again. The frequency fields may allow a user to determine how often a particular broadcast content appears. For example, a user may generate a list of the top 40 songs played over a preselected time frame. The list may provide the 40 most played songs over the preselected time frames based on the frequency fields.
Upon updating any associated frequency fields for the database entry, a step 510 may be performed allowing a next broadcast to be analyzed in a similar manner. In one example, each broadcast being transmitted via a particular broadcast format may be scanned prior to another broadcast format being monitored and analyzed. In alternative examples, broadcasts may be monitored in any particular order regardless of format.
If the broadcast information has not previously been entered into the database, a step 512 may be performed of determining if a broadcast is preferred by a user. In one example, a user may select particular information associated with a broadcast as being preferred, such as a particular musical artist. Broadcast information associated with the preferred broadcast may be stored in a database. If the broadcast is not preferred, step 510 may be performed. If the broadcast information is preferred, a step 514 may be performed, which adds broadcast information to the database. In alternative examples, the operation of
If the broadcast information is located in the database at a step 604, a user may determine if the broadcast information is to be stored for later use at a step 606. In one example, a user may desire to tag a particular database entry for later use, such as to purchase via download. If a user desires the broadcast information to be stored for later use, a step 608 may be performed. Performance of step 608 stores the broadcast information in memory, such as the memory 120 in
If the broadcast information sought is not included in the database, a user may enter broadcast information to be included in the database entry when associated broadcasts are recognized at step 610. In one example, a user may desire broadcasts of a particular talk-radio program to be designated a preferred broadcast. Thus, each unique broadcast of the particular talk-radio program may be stored in the database 122 in the system 100 when recognized by the processor 102. In this example, any broadcast of the talk-radio program by the database system may be considered a preferred broadcast and have the associated broadcast information entered into the database.
The operation may also include a step 612 of selecting particular broadcast information to designate preferred broadcasts. Preferred broadcasts may be indicated by selecting broadcast information that subsequent broadcasts must include in order to be added as a database entry. For example, a user may select a particular musical artist as preferred. Any time a broadcast by the particular musical artist is recognized by the database system, the broadcast information associated with the broadcast may be entered as a database entry. Allowing only broadcasts that include preferred broadcast information to be entered into the database may allow less undesired broadcasts and associated broadcast information to be included. If the broadcast information is selected as preferred, the database may be updated to reflect the preferred status in a step 614. The broadcast information input at step 610 may be automatically considered as preferred broadcast information.
The operation may include a step 615 of entering ratings. Various rating fields may exist in the database to be set by a user. As shown in
The operation may include a step 616 of selecting notification of broadcasts being transmitted containing particular broadcast information. Step 616 allows a user to select notification of a broadcast being transmitted containing broadcast information located in the database by the user or later added, such as that based on user input. For example, a user may desire to be notified when a particular song listed in the database is transmitted according to a selected one or more of the broadcast formats. Each database entry may include at least one field indicating that notification is desired. For example, a song may be entered in the database may have the “Flag_Song_Alert” field, such as that shown in
Database entries may be configured to include notification priority with respect to one another. For example, column 302 in
The ratings may also carry over into current and newly-entered database entries. For example, in column 302 a rating may be selected for “Artist_Rating” for a previously-transmitted broadcast. Any database entry for the artist may be automatically populated with that rating. If another broadcast by the artist is received resulting in a new database entry, the processor may recognize the same artist, thus populating the field with the previously-selected “Artist_Rating.” Other rating fields may be similarly populated for current and newly-created database entries.
If the broadcast information is selected for notification, the database may be updated to reflect desired notification at step 618. If the notification is selected, a step 620 may be performed allowing notification of related broadcast information to be selected. For example, a user may select a particular song by a musical artist for notification. At step 620, the user may select related broadcast information such as any song by the musical artist or any musical artist performing the song. The system may be configured to provide the user layered degrees of relation from which to select. Thus, the user may be able to select various related information for notification.
If the user desires notification of related broadcast information, the database may be updated to reflect the desired notification at step 622. If the user does not desire notification at either step 616 or step 620, the operation may return to step 602 allowing the user to search the database for broadcast information. In alternative examples, the steps of the operation of
If a database entry associated with the broadcast has not been entered into the database, the operation may perform a step 707 of determining if the broadcast is user-preferred. As discussed with regard to
In the example operation of
If the broadcast format is changed at the step 712 or if the next broadcast source is determined for a current broadcast format at 714, the broadcast information may be determined at step 702. If the broadcast format is changed, the system may be configured to begin monitoring broadcast formats at a particular broadcast source or may begin at a randomly selected broadcast source.
If broadcast information associated with a broadcast is added to the database at 708, a step 716 may be performed to determine if notification is desired. As discussed with regard to
Upon notification of the preferred broadcast at step 718, a determination to tag the broadcast for later use may occur at a step 720. This allows a user to store the broadcast information for later use, such as that described with regard to
The operation may perform a step 724 of determining if the preferred broadcast is to be played. The user may be prompted to determine if the user wants to switch from a currently-provided broadcast to the preferred broadcast currently being transmitted on a different broadcast format. If a user selects the preferred broadcast, a step 726 may be performed, which may play the current broadcast by way of switching from a currently-playing broadcast or activating to play the preferred current broadcast. If the user does not select the preferred broadcast, the currently-playing broadcast may continue or the system may continue to be deactivated. Step 610 may be performed subsequent to a decision to play to play a currently received broadcast is made.
While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.
This application is a continuation application of, and claims priority under 35 U.S.C. §120 to, U.S. patent application Ser. No. 12/368,802, “SYSTEM FOR BROADCAST INFORMATION DATABASE” filed Feb. 10, 2009, which is incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 12368802 | Feb 2009 | US |
Child | 13667691 | US |