AUGMENTING CONTENT FOR OVER-THE -AIR BROADCAST RADIO (AM OR FM) IN CONNECTED RADIO AND/OR ON MOBILE APPLICATIONS SYNCHRONIZED WITH OVER-THE-AIR BROADCAST RADIO
20200228215 ยท 2020-07-16
Inventors
Cpc classification
H04N21/242
ELECTRICITY
H04H60/74
ELECTRICITY
H04H2201/40
ELECTRICITY
H04H2201/13
ELECTRICITY
H04N21/4622
ELECTRICITY
H04N21/8106
ELECTRICITY
H04N21/43074
ELECTRICITY
H04N21/235
ELECTRICITY
H04H20/18
ELECTRICITY
International classification
H04H60/74
ELECTRICITY
Abstract
A synchronization server creates an augmented radio listener experience by providing additional information, especially visual information, over a concurrent, parallel data connection to a user device during the radio broadcast. The additional information is synchronized to the radio broadcast item then playing, based on an event message received by the synchronization server from the radio station equipment. The synchronization server can implement real-time interactions between connected radio listeners and a disk jockey dashboard of the radio station. The synchronization server optionally can personalize advertisement content for transmission to user devices based on user profile information and audience criteria provided by the advertiser.
Claims
1. A system comprising: a middleware component coupled to a broadcast radio station automation server, the middleware component arranged to receive an event message from the station automation server that identifies an audio item now playing; a datastore to store augmented content data associated with items that may be played on the radio station; a synchronization server including a processor and a memory, the memory storing software code executable on the processor; the synchronization server having a first interface arranged for communication with the middleware component; the synchronization server having a second interface arranged for communication with the datastore; the synchronization server having a third interface arranged for communication over a data connection with a user device; wherein the software code is configured to cause the processor to, in near real time: using the first interface, receive the event message from the middleware component; identify from the event message an audio item now playing on the broadcast radio station; using the second interface, query the datastore based on the identified audio item now playing to acquire augmented content data associated with the identified audio item now playing; and using the third interface, transmit the augmented content data over the data connection to a user device for display on a user interface of the user device so that the augmented content is synchronized to the audio item now playing on the radio station.
2. The system of claim 1 wherein augmented content data comprises visual data.
3. The system of claim 1 wherein the event message includes a category of the audio event now playing, and the category is one of a predetermined set of categories that includes an ad category, a music category, and a DJ talking category.
4. The system of claim 1 further comprising a synchronization application software program executable in the user device, the application software program arranged to cause a processor on the user device to: establish a data connection with the synchronization server; send a user device identifier over the data connection to the synchronization server; identify the radio station; send an identifier the radio station over the data connection to the synchronization server; receive augmented content over the data connection from the synchronization server, wherein the augmented content is associated with the audio item now playing on the radio station; and output the augmented content on a user interface of the user device.
5. The system of claim 4 wherein the synchronization application software program is further arranged to cause the processor on the user device to: receive user input at a user interface of the user device; and send a message over the data connection to the synchronization server based on the user input thereby enabling the augmented content to be interactive.
6. The system of claim 5 wherein the user device comprises a hybrid radio or a smartphone.
7. The system of claim 1 wherein the audio item now playing on the broadcast radio station is an ad and the software code is arranged to further cause the processor to: receive user profile information associated with a user of the user device; retrieve audience criteria information associated with the ad now playing; compare the user profile information to the audience criteria information to determine a result; in a case that the result indicates that the ad is aligned with the user profile, transmit the ad to the user device over the data connection; and in a case that the result indicates that the ad is not aligned with the user profile, select an alternative ad content and transmit the alternative ad content to the user device over the data connection in lieu of the ad now playing.
8. The system of claim 7 wherein the audience criteria information is stored in the datastore where it is linked or associated to an identifier of the ad now playing.
9. The system of claim 8 wherein the user profile information includes at least one of data from 3.sup.rd party services, location, and time of day.
10. The system of claim 7 wherein the selected alternative ad content is a streaming audio ad that replaces the ad now playing.
11. The system of claim 1 wherein the user device is arranged to receive the augmented content from the synchronization server and display the augmented content on the user interface while the audio item is playing in a motor vehicle.
12. The system of claim 1 further comprising a disk jockey dashboard coupled to the radio station automation server and coupled to the sync server; and wherein the software code is arranged to further cause the processor to: receive a message from the disk jockey dashboard; transmit the message from the disk jockey dashboard to the user device over the data connection; receive a response to the message from the user device over the data connection; and send feedback information to the disk jockey dashboard based on the response.
13. The system of claim 12 wherein the software code is arranged to further cause the processor to: receive responses to the message from plural user devices; process the responses to form an aggregate result; and send the aggregate result to the disk jockey dashboard thereby enabling interaction between the disk jockey dashboard and the plural user devices.
14. A method comprising: providing a middle-ware component configured to identify an item now playing on a broadcast radio station; in a synchronization server, receiving from the middle-ware component an identifier that identifies the item now playing on the broadcast radio station; in the synchronization server, based on the identifier and an identity of the broadcast radio station, selecting second content to be displayed and or played in a user device that is currently receiving the broadcast radio station, wherein the second content comprises metadata associated with the item now playing; in the synchronization server, transmit the second content to the user device to be played or displayed to augment the item now playing.
15. The method of claim 14 including: providing a datastore containing metadata; and querying the datastore to acquire metadata associated with the item now playing based on the identifier and the identity of the broadcast radio station; and utilizing as the second content data returned responsive to the datastore query.
16. The method of claim 14 wherein selecting the second content comprises: identifying the user device; and selecting the second content based on the item now playing on the broadcast radio station and the identified user device.
17. The method of claim 14 wherein the second content comprises text and/or image data.
18. The method of claim 14 wherein the item now playing is a song and the associated metadata comprises one or more of the corresponding artist and title, album art, artist images, song information or other detail about the artist or the song.
19. The method of claim 14 wherein the item now playing is an advertisement and further comprising the steps of: identifying a user profile associated with the user device; and selecting the second content based at least in part on the user profile so that the second content is personalized to the user profile.
20. The method of claim 14 including, in the user device: receiving radio content transmitted over-the-air by the broadcast radio station; extracting a radio station signature from the received radio content; and transmitting an identifier of the radio station based on the extracted signature to the synchronization server for use in selecting the second content.
21. The method of claim 14 including: in the user device, receiving an input from a user interface that identifies the broadcast radio station; and based on the received input, transmitting an identifier of the broadcast radio station to the synchronization server for use in selecting the second content.
22. The system of claim 4 wherein the application software program is further arranged to cause the processor on the user device to: identify the radio station by attempting to extract a radio station signature from the received radio content; and if attempting to extract the radio station signature is not successful, communicating via a user interface of the user device to receive an indication that identifies the radio station.
23. The system of claim 22 wherein the user interface comprises a voice interface.
24. The system of claim 4 wherein the application software program is further arranged to launch in response to a voice wake up command.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0028] In order to describe the manner in which the above recited and other advantages and features of the disclosure can be obtained, a more particular description follows by reference to the specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the present disclosure and are not therefore to be considered to be limiting of its scope, the present disclosure will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Glossary
[0035] Radio Display System (RDS) is a communications protocol standard for embedding small amounts of digital information in conventional FM radio broadcasts. RDS standardizes several types of information transmitted, including time, station identification and program information. In a simple example, the embedded text my include a song title and artist, or a short advertising message (Stop a McDonalds for a healthy fast breakfast today). For example, an advertisement may replace the song title and artist after 60 seconds.
[0036] Digital Audio Broadcasting (DAB) is a digital radio standard for broadcasting digital audio radio services, used in many countries around the world, though not North America where HD Radio is used instead. Some countries have implemented Eureka-147 digital audio broadcasting (DAB). DAB broadcasts a single multiplex that is approximately 1,500 kilohertz wide (1,000 kilobits per second). That multiplex is then subdivided into multiple digital streams of between 9 and 12 programs. HD Radio is a proprietary system from the company IBiquity. DAB is an open standard deposited at ETSI.
[0037] Connected Radio means a broadcast radio receiver that also implements or can be coupled to a wireless data connection for bi-directional data communications. Typically, the radio receiver and the data connection are distinct and can be operated independently of each other.
[0038] Connected Car refers to a vehicle with an on-board Connected Radio.
Example System
[0039]
[0040] Typically, a live host or disk jockey (DJ) 106 controls and narrates the radio programming. The DJ accordingly provides input to the station automation system. The DJ may also interface with a dashboard 102. The DJ dashboard may be implemented in various ways, including implementation as an application program operable on a computer. The DJ dashboard preferably is coupled to a synchronization server.
[0041] A synchronization server (synchronization server 130) (the name is not critical) is central to creating an augmented radio listener experience by providing additional information, especially visual information, to the user over a data connection during the radio broadcast. (We use listener and user interchangeably except where explicitly noted otherwise.) The additional information is synchronized to the radio broadcast content then playing, as explained below. This additional content is synchronized to the radio broadcast content, not only temporally but also in terms of relevant or related content to enrich the listener experience. Further, the synchronization server may implement interactivity with users who have a data connection, as described in more detail below.
[0042] Middleware 120 refers to software elements disposed in or coupled to the station now playing system 104. The middleware receives event messages from the NP system. When a song is played over the radio station, the event message identifies the song now playing (for example, by title and artist). When an ad is playing, the event message may identify the advertiser and or the specific ad by an identifier. An event message may indicate other activities on-air such as DJ talking or live interview in progress or an AMBER alert in progress. (AMBER is an emergency response system that disseminates information about a missing person (usually a child), by media broadcasting or electronic roadway signs. In the case of an AMBER alert, the disclosed system could be used to attach a photo of the missing person to the alert, sending the photo over a data connection (136)). The middleware provides now playing data to the synchronization server 130 via bidirectional connection 131.
In an alternative embodiment, the middleware may be completely removed and be replaced with a direct connection between the station and the synchronization server.
[0043] The middleware 120 also has a bidirectional data connection 122 to the station RDS Encoder/HD importer equipment 108. More detail is provided in the operations described below with regard to
[0044] In one embodiment, a station signature component 136 includes hardware and software arranged to generate and maintain a unique identifier or signature. Each signature may comprise, for example, a short burst of inaudible sounds in a predetermined sequence as described below that can be heard by the synchronized application.
[0045] For a given station, the station signature component 136 generates and sends the corresponding signature to the broadcast equipment 110 to be included in the radio broadcast signals. In a preferred embodiment, the signature may be encoded as audio tones, but the tones have a frequency above the human audible range so they do not interfere with the listener experience. The tones may be combined with the audio programming content (for example, music or talking) in the broadcast equipment 110. Various schemes are known for encoding small amounts of digital data in audio tones. As one simple example, the signature may be a binary sequence, and 0 may be represented as a first frequency tone, say 23 kHz, and a binary 1 represented as a second frequency tone, say 25 kHz. Gray coding, PSK and other encoding techniques may be used. These particular frequencies are not critical, but in general the frequencies should be selected to be modestly higher or lower than audible frequency. The station signature component 136 may be coupled to the broadcast equipment 110 in order to embed the signature in the audio portion of the radio broadcast signals. This signature may be used by a mobile device as described next. The embedded station signature may be detected and decoded by an application program executable in a mobile device such as a smartphone. In the case of the connected radio or connected vehicle, the vehicle receiver system knows what station it is currently receiving without the use of an embedded signature.
[0046] There are three primary scenarios addressed here. First, radio broadcast over-the-air (OTA), illustrated by dashed lines 114 in
[0047]
[0048] In an embodiment, each such event may comprise data and an identifier (ID). In this way, the station now playing component 104 identifies what is playing or about to play on the broadcast radio systemdescribed in more detail below. The middleware 120 provides content from the synchronization server via link 122 to the station RDS encoder/HD importer 108. This content may include embedded text for display on an FM receiver. We refer to that as text or textual content, as distinguished from the richer visuals or visual content transmitted via data connections.
[0049] The synchronization server processes the NP event, block 212. The synchronization server assembles basic content associated with the item now playing, block 220. In one embodiment, for a song now playing event, the server may acquire basic content by querying a datastore, based on the song title and artist. During an advertisement, the synchronization server may acquire basic content associated with that advertisement, again from a datastore. At other times, for example, while a DJ is talking (as indicated by the event message), the synchronization server may acquire default basic content that has been designated for use at such times. In each case, preferably in near real time, the acquired basic content is uploaded to the OTA broadcast system for transmission during the identified event.
[0050] The synchronization server also acquires rich or visual content associated with the item now playing, block 224. The visual content is uploaded via a data connection, block 228. Specifically, the visual content will be transmitted over a corresponding data connection to one or more connected devices that are identified as then receiving the radio broadcast OTA. In the case of the synchronization app, the host device itself may not be receiving the OTA broadcast. After sending the rich content, the synchronization server may loop via path 240 to wait for a new event, block 210. In an embodiment, a content datastore may store programming data for each station. The programming data may include basic and or rich content associated with each scheduled item. It may also include default content for use, for example, when a DJ is talking. The stored content may include multiple versions of content for use in personalization as described later.
[0051] Text Services (Basic Content) on RDS and HD Radio
[0052] Below are examples of text services that can be provided over a broadcast radio channel. This basic content may be selected based on the item now playing on the broadcast radio station. Details are given below on how the items now playing are identified, how augmented or synchronized content is selected and accessed. The augmented content is synchronized or coordinated with the current broadcast content now playing. The basic content typically depends on the type of item now playing. In a presently preferred embodiment, the types of items now playing may be categorized as Music, Advertisements (Ads), and Other (for example, disk jockey talking).
[0053] Non-limiting examples of such basic content may include the following. [0054] a. ARTIST AND TITLE [0055] Display artist and song title when music plays. See
[0075] Three-day, for example, web-Playlist and Mini-playlist. API services for playlist may include music and ads on Mobile and Web.
[0076]
User Profile Data
[0077] Referring again to
[0078] Referring once again to
[0079] As one example of interactivity, the DJ 106 talking at the broadcast station may pose a question to listeners, for example, seeking a yes/no or multiple-choice answer. In an embodiment, the DJ may initiate the question or poll at the DJ dashboard 102. The synchronization server 130, based on interfacing with the DJ dashboard via connection 107, then generates the poll and transmits it via data connections 136, which may include the data connection to smartphone 144. In this example, the additional content is synchronized to the DJ now talking. The smartphone app is configured to present the poll at a user interface, and receive the user input in response, and then return the response to the synchronization server 130 over the data connection. The synchronization server may pass the response on to the DJ dashboard 102. In an embodiment, the synchronization server may be programmed to aggregate such responses from multiple listener devices (see 140, 142, 144 as examples), and transmit an aggregate result to the DJ dashboard.
[0080]
[0081] The output may be interactive, in which case the app processes the user input, block 520. In some cases, the connected device may have buttons or a touch screen for user input. For example, the visual output may include a voting button. The app receives the user selection or other input records it. In another embodiment, the user input may be clicking a link, and the app executes the link in a web browser. The user may then further interact with the linked destination, for example, to purchase the song now playing on the radio station. When the content item is finished, for example, by expiration of a time period, decision 522, the app may wait for a next item, block 524, and then receive additional data, block 510. For example, the synchronization server visual content provided for a given song may comprise multiple content items. A preferred use of the mobile app is where a user is listening to a broadcast radio that is not connected to a data link.
[0082]
[0083] The event message may be received by middleware such as middleware 120 in
[0084] In one embodiment, each station may provide a data file storing data or content for the items it plans to broadcast (for example, songs and advertisements) in the near future. The data file may be stored in a datastore such as content database 132 accessible to the synchronization server. In one embodiment, the station(s) may provide such a file on a daily basis, the file containing content for the ads planned to air the following day. Such files may be provided or updated on a more or less frequent basis. They may be uploaded at random times as deemed appropriate by the station or the synchronization system. At block 614, the process accesses the default stored content (augmented data) for the identified advertisement. The stored content may include, for example, various information such as Ad messages, coupons, pictures, locations, directions, click to call, etc. Some examples of augmented content displays are shown in
[0085] In some embodiments, the process may check for connected devices that have logged in or connected to the synchronization system, decision 620. For example, as discussed with regard to
[0086] On the other hand, if a user profile is found for a given user/device (branch user profile found), the process accesses the user profile, block 632, via path 630. The process compares the user profile to the advertiser criteria, block 634. In some embodiments, there may be multiple different versions of an ad provided by the advertiser (and stored in the datastore), each version having a corresponding preferred audience criteria. In this case, the next step is to assess the alignment or fit of each version of the ad to the user profile, based on the corresponding audience criteria, decision 636. Put another way, is the ad content aligned with the user profile so that the user may be receptive to or interested in the ad content? For example, if the user profile indicates a member of demographic group of people in their 20's, and the advertiser audience criteria specifies people over 50, the fit is not good. If none of the ad augment data versions is a good fit for the user profile, the process proceeds via branch No good fit to use the default augmented ad data, block 622.
[0087] Alternatively, if at least one version of the augmented ad data fits the user profile, the process may select a version of the augmented ad that best fits the user profile and transmit that version to the user device via the corresponding data connection.
[0088] In some embodiments the system may select a different version of the ad, or an entirely different ad (an alternative ad), to better fit the user profile. The system may then play the alternative content, over the corresponding user device connection, block 632. A connected radio may be triggered to mute the OTA broadcast audio and substitute streaming audio provided over the data connection to present the alternative ad. Preferably, the alternative ad content plays for the same duration of the original ad. In some embodiments, the fit assessment may be a non-binary value, say on a scale of 1-10. The fit may be classified as good or adequate where the value exceeds a predetermined threshold value.
[0089] Visual content may be transmitted over the parallel bi-directional data communication links, for example, links 136 in
Equipment and Software
[0098] Most of the equipment discussed above comprises hardware and associated software. For example, the typical electronic device is likely to include one or more processors and software executable on those processors to carry out the operations described. We use the term software herein in its commonly understood sense to refer to programs or routines (subroutines, objects, plug-ins, etc.), as well as data, usable by a machine or processor. As is well known, computer programs generally comprise instructions that are stored in machine-readable or computer-readable storage media. Some embodiments of the present invention may include executable programs or instructions that are stored in machine-readable or computer-readable storage media, such as a digital memory. We do not imply that a computer in the conventional sense is required in any particular embodiment. For example, various processors, embedded or otherwise, may be used in equipment such as the components described herein.
[0099] Memory for storing software again is well known. In some embodiments, memory associated with a given processor may be stored in the same physical device as the processor (on-board memory); for example, RAM or FLASH memory disposed within an integrated circuit microprocessor or the like. In other examples, the memory comprises an independent device, such as an external disk drive, storage array, or portable FLASH key fob. In such cases, the memory becomes associated with the digital processor when the two are operatively coupled together, or in communication with each other, for example by an I/O port, network connection, etc. such that the processor can read a file stored on the memory. Associated memory may be read only by design (ROM) or by virtue of permission settings, or not. Other examples include but are not limited to WORM, EPROM, EEPROM, FLASH, etc. Those technologies often are implemented in solid state semiconductor devices. Other memories may comprise moving parts, such as a conventional rotating disk drive. All such memories are machine readable or computer-readable and may be used to store executable instructions for implementing the functions described herein
[0100] Portions of the hardware (processors) and data storage assets (for example, databases) described above may be provisioned as cloud computing services, commercially available from, for example, IBM, Amazon (AWS), and Microsoft (Azure).
[0101] A software product refers to a memory device in which a series of executable instructions are stored in a machine-readable form so that a suitable machine or processor, with appropriate access to the software product, can execute the instructions to carry out a process implemented by the instructions. Software products are sometimes used to distribute software. Any type of machine-readable memory, including without limitation those summarized above, may be used to make a software product. That said, it is also known that software can be distributed via electronic transmission (download), in which case there typically will be a corresponding software product at the transmitting end of the transmission, or the receiving end, or both.
[0102] It will be obvious to those having skill in the art that many changes may be made to the details of the above-described embodiments without departing from the underlying principles of the invention. The scope of the present invention should, therefore, be determined only by the following claims.