Patent ID: 12242257

DETAILED DESCRIPTION

I. Overview

Currently, while a media playback device of a vehicle is playing back content received on a first channel, it is difficult to know what content is being provided on other channels that are different from the first channel without tuning away from the first channel. For instance, when listening to content being played back on a first channel by a radio, it is difficult to know what content is being provided on other channels that are different from the first channel without tuning away from the first channel. Similarly, when a user is not interested in content that a media playback device is playing back on a first channel, it is difficult for the user to find content on another channel that the user is interested in without successively tuning in to multiple channels. When searching for different content, the user might not know what content is being provided on another channel before the user tunes in to the channel.

Disclosed herein are methods and systems to address this and potentially other issues. In an example method, while a media playback device is playing back first content received on a first channel, the media playback device can generate a query fingerprint using second content received on a second channel. The media playback device can then send the query fingerprint to a server that maintains a reference database containing a plurality of reference fingerprints. Further, the media playback device can receive, from the server, identifying information corresponding to a reference fingerprint of the plurality of reference fingerprints that matches the query fingerprint. The media playback device can then provide at least a portion of the identifying information for display. In this manner, while the media playback device is playing back the first content received on the first channel, a display can provide an indication of the second content that is being provided on the second channel, so that a user of the media playback device can decide whether to tune away from the first channel and to the second channel.

While portions of this disclosure refer to media playback devices that are located in vehicles, the examples are not meant to be limiting. The systems and methods disclosed herein are also applicable to media playback devices that are not located in vehicles, such as portable media playback devices and media playback devices that are located in homes, offices, or other buildings.

In addition, while portions of this disclosure refer to media playback devices that provide audio content, the examples are not meant to be limiting. The systems and methods are also applicable to media playback devices that provide video content.

II. Example Architecture

A. Computing Device

FIG.1is a simplified block diagram of an example computing device100. Computing device100can perform various acts and/or functions, such as those described in this disclosure. Computing device100can include various components, such as processor102, data storage unit104, communication interface106, and/or user interface108. These components can be connected to each other (or to another device, system, or other entity) via connection mechanism110.

Processor102can include a general-purpose processor (e.g., a microprocessor) and/or a special-purpose processor (e.g., a digital signal processor (DSP)).

Data storage unit104can include one or more volatile, non-volatile, removable, and/or non-removable storage components, such as magnetic, optical, or flash storage, and/or can be integrated in whole or in part with processor102. Further, data storage unit104can take the form of a non-transitory computer-readable storage medium, having stored thereon program instructions (e.g., compiled or non-compiled program logic and/or machine code) that, when executed by processor102, cause computing device100to perform one or more acts and/or functions, such as those described in this disclosure. As such, computing device100can be configured to perform one or more acts and/or functions, such as those described in this disclosure. Such program instructions can define and/or be part of a discrete software application. In some instances, computing device100can execute program instructions in response to receiving an input, such as from communication interface106and/or user interface108. Data storage unit104can also store other types of data, such as those types described in this disclosure.

Communication interface106can allow computing device100to connect to and/or communicate with another entity according to one or more protocols. In one example, communication interface106can be a wired interface, such as an Ethernet interface or a high-definition serial-digital-interface (HD-SDI). In another example, communication interface106can be a wireless interface, such as a cellular or WI-FI interface. In this disclosure, a connection can be a direct connection or an indirect connection, the latter being a connection that passes through and/or traverses one or more entities, such as a router, switcher, or other network device. Likewise, in this disclosure, a transmission can be a direct transmission or an indirect transmission.

User interface108can facilitate interaction between computing device100and a user of computing device100, if applicable. As such, user interface108can include input components such as a keyboard, a keypad, a mouse, a touch-sensitive panel, a microphone, and/or a camera, and/or output components such as a display device (which, for example, can be combined with a touch-sensitive panel), a sound speaker, and/or a haptic feedback system. More generally, user interface108can include hardware and/or software components that facilitate interaction between computing device100and the user of the computing device100.

B. Media Preview System

FIG.2is a simplified block diagram of an example media preview system200. Media preview system200can perform various acts and/or functions related to the delivery and/or presentation of identifying information for media content (e.g., audio content and/or video content), and can be implemented as a computing system.

Media preview system200can include various components, such as a vehicle210, content source220, and preview server230. Vehicle210can, in turn, include a media playback device212. Each of media playback device212and preview server230can be implemented as a computing system.

Vehicle210can be a machine that transports people, such as an automobile, motorcycle, watercraft, or aircraft, for instance. Media playback device212of vehicle210can include at least one computing device and can take various forms. By way of example, media playback device212can include a head unit of vehicle210. The head unit can include a display and a user interface that provide a user of vehicle210with control over media content presented by vehicle210. AlthoughFIG.2depicts media playback device212as being located in vehicle210, in other media preview systems, a media playback device might not be located in a vehicle. For instance, other examples of media playback devices include radios, televisions, smart speakers, and smart displays.

Media playback device212can receive audio content, video content, and/or text content from content source220, and can receive this content either directly from content source220or indirectly by way of a network240. Content source220can include a radio station, television station, or web server. For example, content source220may be a radio station or radio network that streams or transmits audio over a channel to media playback device212, a television (TV) station or TV network that streams or transmits media over a channel to media playback device212, and/or a web service that streams or transmits media over network270to media playback device212.

Accordingly, media playback device212can include at least one tuner configured to receive an input stream of media content and generate an output stream of media content by processing the input stream. Media playback device212can be equipped with tuners, decoders, and other hardware and/or software such that media playback device212can access media content that is broadcast by content source220. Additionally or alternatively, media playback device212can be equipped with network adapters, decoders, and other hardware and/or software such that media playback device212can access media content that is distributed through a wide area network (e.g., the internet).

Media playback device212can also include a display or other user interface configured to display identifying information corresponding to media content being provided on one or more respective channels. The display may be a flat-panel screen, a plasma screen, a light emitting diode (LED) screen, or a liquid crystal display (LCD), for instance.

In line with the discussion above, while media playback device212is playing back content received on a first channel, media playback device212can send a preview request to preview server230. The preview request can include a query fingerprint that is generated by media playback device212using second content received on a second channel. By way of example, media playback device212can be playing back audio content received on a given radio station, and generate a query fingerprint using audio content that is received on a second radio station. Media playback device212can then send the query fingerprint to preview server230within a preview request. As another example, media playback device212can be playing back video content received on a first channel, generate a query fingerprint using video content received on a second channel, and send the query fingerprint to preview server230in a preview request.

Media playback device212can periodically transmit preview requests to preview server230. For instance, media playback device212can send a preview request every five or ten seconds, or every minute. In some instances, a preview request can include query fingerprints corresponding to a batch of second channels. For instance, for each of multiple channels other than the first channel, the preview request can include a respective query fingerprint generated from content recently received on the channel.

Preview server230can maintain a reference database that includes a plurality of reference fingerprints. The reference database can associate each reference fingerprint of the plurality of reference fingerprints with identifying information for respective media content from which the reference fingerprint was generated.

The identifying information that is associated with a reference fingerprint can take various forms. For example, the identifying information can include a media unique identifier (e.g., a track unique identifier (TUI)). For audio content, the identifying information can include a track title, album title, and artist name. Additionally or alternatively, the identifying information can include an album image (e.g., cover art) or artist image. The identifying information can also include a program identifier that identifies an audio program. Similarly, for video content, the identifying information can include a title and a program identifier that identifies a video program. In some examples, the reference database can include the identifying information for respective reference fingerprints that the reference database maintains. Additionally or alternatively, the reference database can include identifiers for respective fingerprints that the reference database maintains. With this approach, an identifier from the reference database can be used to retrieve identifying information corresponding to a reference fingerprint.

After receiving the preview request, preview server230can query the reference database to correlate each of one or more query fingerprints to a reference fingerprint, determine identifying information corresponding to the reference fingerprint(s), and provide at least a portion of the identifying information to media playback device212in a response.

After receiving the response, media playback device212can provide at least a portion of the identifying information for display. Media playback device212can provide for display identifying information corresponding to content being provided on one or more second channels while the media playback device is playing back content that is received on a first channel.

Additionally or alternatively, media playback device212can provide at least a portion of the identifying information to another device for display. For instance, media playback device212can provide a portion of the identifying information to another component of vehicle210for display.

Network240may be any network that enables communication between devices, such as a wired network and/or a wireless network (e.g., a mobile network).

FIG.3is a simplified block diagram illustrating components of media playback device212and preview server230. As shown inFIG.3, media playback device212includes a first tuner213, second tuner214, request generator215, query fingerprint generator216, local database217, and user interface218, all configured to communicate with each other (e.g., via a bus, shared memory, or switch). Further, preview server230includes a preview generator232, identification module234, and reference database236, all configured to communicate with each other.

One or more of the components depicted inFIG.3can be implemented using hardware (e.g., a processor of a machine, a field-programmable gate array (FPGA), or an application-specific integrated circuit (ASIC), or a combination of hardware and software. Moreover, any two or more of the components depicted inFIG.3can be combined into a single component, and the function described herein for a single component can be subdivided among multiple components.

In line with the discussion above, media playback212device can receive first content on a first channel using first tuner213. First tuner213can include a radio frequency (RF) receiver that is adjustable in order to receive a desired carrier frequency that the first channel uses to broadcast the first content. First tuner213can receive a transmission on the first channel, and convert the transmission into a fixed frequency that is suitable for further processing by a demodulator and an amplifier. Alternatively, first tuner213can receive a transmission on the first channel, and convert the transmission into audio and/or video signals that can be output by media playback device212.

Similarly, second tuner can include an RF receiver that is adjustable in order to receive a desired carrier frequency that the second channel uses to broadcast the second content. After tuning to the second channel, media playback device212can obtain a sample of the second content.

While media playback device212is playing back content received on a first channel, request generator215of media playback device212can generate a preview request and provide the preview request to preview server230. The preview request can include query fingerprints for one or more second channels that are different from the first channel.

Obtaining the query fingerprint(s) can involve tuning to one or more second channels using second tuner214, and, for each of the one or more second channels, obtaining a sample of second content that is provided on the second channel. For instance, while media playback device212is playing back first content received on the first channel, request generator215can cause second tuner214to tune to a second channel that is different from the first channel, and receive and record a portion of the second content.

Request generator215can select the second channel(s) in various ways. As one example, request generator215can select the second channels based on a characteristic of the first channel. For instance, based on the first channel being associated with a first genre (e.g., blues, jazz, country, etc.), request generator215can select channels that are also associated with the first genre. As another example, request generator215can select the second channels based on channels that are programmed as presets of media playback device212.

As still another example, request generator215can select as the second channels one or more other channels that are located within a frequency range or channel range of the first channel. For instance, request generator215can scan for available channels using second tuner214, and then select the next two available channels that are above the first channel and the next two available channels that are below the first channel. If the first channel is assigned to a frequency of 98.1 megahertz (MHz), request generator215could select second channels assigned to frequencies of 96.9 MHz, 97.3 MHz, 98.9 MHz, and 99.5 MHz based on those channels being the available channels that are adjacent to the first channel in a particular geographic area. Or if the first channel is channel124, request generator215could select channels122,123,125, and126.

For each second channel to be represented within the preview request, request generator215can obtain a sample of the second content, and provide the sample to query fingerprint generator216for generation of a query fingerprint. In some instances, the query fingerprint for a sample of media content can include multiple fingerprints derived from the sample, such as multiple fingerprints derived from a three-second sample of audio content.

In examples in which the received content is audio content, query fingerprint generator216can be configured to distinguish between music and speech using a classifier. The classifier can include software configured to receive an input audio signal, and classify the input audio signal as either speech or music based on characteristics of the sample of media content. The classifier may utilize any characteristics of an input audio signal to classify the input audio signal. For example, the classifier may use spectral characteristics of the input audio signal, constant Q transform (CQT) characteristics for the input audio signal, or any other parameters. In some examples, time samples, spectrogram(s), summaries, transformations, and/or descriptions of the audio signal are used as inputs to the classifier. Such characteristics may be input into a neural network model to determine a classification group for the input audio signal.

Upon determining that a sample of media content is speech rather than music, query fingerprint generator216can cause request generator215to obtain another sample of media content. Whereas, upon determining that a sample of media content is music rather than speech, query fingerprint generator216can generate a query fingerprint from the sample based on the determination that the sample is music rather than speech.

Upon receiving the preview request, preview generator232of preview server230can retrieve identifying information corresponding to the query fingerprint(s) included within the preview request, and provide the identifying information to media playback device212in an output response. To retrieve identifying information corresponding to a query fingerprint, identification module234can correlate the query fingerprint to a reference fingerprint of reference database236.

For instance, identification module234can compare the query fingerprint to reference fingerprints of reference database236, and determine that the query fingerprint matches at least one reference fingerprint. Determining that the query fingerprint matches at least one reference fingerprint can involve determining that a similarity between the query fingerprint and at least one of the reference fingerprints satisfies a predetermined threshold. The predetermined threshold can be associated with a Tanimoto distance measurement, a Manhattan distance measurement, or other distance measurements. Broadcast monitoring server240acan also use other matching techniques, such as Euclidian, Cosine, KL-Divergence, and/or Itakura matching techniques, to match the query fingerprint to at least one known reference fingerprint.

After determining that a query fingerprint of the preview request corresponds to a reference fingerprint of reference database236, identification module234can then determine identifying information corresponding to the reference fingerprint, and provide the identifying information to preview generator232for inclusion in the output response. In some instances, reference database236can store reference fingerprints and respective identifying information for the reference fingerprints in reference database236. Additionally or alternatively, reference database236can store reference fingerprints and respective identifiers that can be used to access identifying information corresponding to the reference fingerprints. For instance, for one or more reference fingerprints, reference database236may associate the reference fingerprint with a unique identifier. The unique identifier can be used to retrieve identifying information that is associated with the reference fingerprint from a separate database.

The reference fingerprints and associated identifying information of reference database236can be updated periodically (e.g., once per day, every week, etc.). For instance, preview server230may periodically receive new reference fingerprints and associated identifying information, and add the reference fingerprints and associated identifying information to reference database236. Similarly, preview server230may periodically receive new reference fingerprints and associated unique identifiers, and add the reference fingerprints and associated identifying information to reference database236.

After obtaining the identifying information, preview generator232can generate an output response that includes identifying information for the channels from which the query fingerprint(s) were derived, and provide the output response to media playback device212. The output response can be in the form of text data, such as a listing of channels and corresponding identifying information. The identifying information can include one or more links to image data, such as a link to album art or a link to an image of a song artist or an image of a program host.

In some examples, preview generator232might not be able to retrieve identifying information for a query fingerprint included in the preview request. Upon determining that identifying information for a query fingerprint is unavailable, the preview generator232can add the query fingerprint to a list or increment a count associated with the query fingerprint. This data regarding how often identifying information for a query fingerprint is requested but unavailable can be stored by preview server230and, upon request, can be provided to another system.

Upon receiving the output response, media playback device212can store the identifying information for the channels in local database217of media playback device212. Media playback device212can display a portion of the identifying information using user interface218. For example, media playback device212can display respective identifying information for multiple channels in respective user interface elements (e.g., respective tiles) corresponding to each channel of the multiple channels. The identifying information can be displayed in a now-playing guide that is accessible via user interface218. In some instances, the identifying information can be displayed adjacent to identifying information for the first channel. Alternatively, when the identifying information is displayed, identifying information for the first channel might not be visible within user interface218.

In some instances, upon receiving a preview request, preview generator232can also select an advertisement, and send the advertisement to media playback device212within the output response. Media playback device212can then provide the advertisement for display when displaying identifying information that is included within the output response. An owner of an item of media content or a third party may pay a fee to associate an advertisement with the item. With this arrangement, preview generator232can determine that an item of media content that is playing on a channel has an associated advertisement and that identifying information for the item of media content will be provided to media playback device212in an output response. Based on making this determination, preview generator232can include the advertisement in the output response, for display in conjunction with the identifying information.

FIG.4illustrates an example display400that a media playback device, such as media playback device212, can provide. As shown inFIG.4, display400includes four identification elements402,406,410, and414corresponding to four respective identifying-information tiles404,408,412,416. Each of the identification elements402,406,410, and414displays data indicative of a respective channel. The data indicative of a respective channel can, for example, include a frequency, channel name, channel identifier (e.g., call sign), genre, and/or channel logo.

Further, each of the identifying-information tiles404,408,412, and416displays identifying information for content being provided on a corresponding channel. In particular, identifying-information tile404displays identifying information for content being provided on a first channel identified by identification element402, identifying-information tile408displays identifying information for content being provided on a second channel identified by identification element406, identifying-information tile412displays identifying information for content being provided on a third channel identified by identification element410, and identifying-information tile416displays identifying information for content being provided on a fourth channel identified by identification element414. Hence, display400may allow a user of the media playback device to visually browse what's playing across multiple channels, thereby simplifying media content search and discovery.

For the display400, the fourth channel is the currently selected channel. In other words, the media playback device displays identification elements402,406,410, and414and identifying-information tiles404,408,412, and416while the media playback device is playing back content that is received on the fourth channel. To notify a user that media playback device is playing back content that is received on the fourth channel, data indicative of the fourth channel and identifying information for the content being provided on the fourth channel is displayed in a current-channel element418.

Further, each identification element402,406,410, and414and/or each identifying-information tile404,408,412, and416may be selectable by a user of the media playback device. For instance, a user can select identification element402or identifying-information tile404to cause the media playback device to switch from tuning to the fourth channel tune to tuning to the first channel.

In other examples, the media playback device might be playing back content that is received on a fifth channel that is different from each of the first channel, second channel, third channel, and fourth channel. With this approach, data indicative of the fifth channel and identifying information for the content being provided on the fifth channel can be displayed in the current-channel element418(not shown).

As further shown inFIG.4, display400can optionally include an advertisement420. The advertisement may include text and/or an image, for instance. The advertisement may have been provided to the media playback device along with the identifying information that is being displayed in the identifying-information tiles404,408,412, and416.

III. Example Operations

FIG.5is a flow chart of an example method500. Method500can be carried out by a media playback device, such as media playback device212or more generally, by a computing system. At block502, method500includes while a media playback device is playing back first content received on a first channel, generating, by the media playback device, a query fingerprint using second content received on a second channel. At block504, method500includes sending, by the media playback device, the query fingerprint to a server that maintains a reference database containing a plurality of reference fingerprints. At block506, method500includes receiving, by the media playback device from the server, identifying information corresponding to a reference fingerprint of the plurality of reference fingerprints that matches the query fingerprint. And at block508, method500includes while the media playback device is playing back the first content received on the first channel, providing, by the media playback device for display, at least a portion of the identifying information.

IV. Example Variations

Although some of the acts and/or functions described in this disclosure have been described as being performed by a particular entity, the acts and/or functions can be performed by any entity, such as those entities described in this disclosure. Further, although the acts and/or functions have been recited in a particular order, the acts and/or functions need not be performed in the order recited. However, in some instances, it can be desired to perform the acts and/or functions in the order recited. Further, each of the acts and/or functions can be performed responsive to one or more of the other acts and/or functions. Also, not all of the acts and/or functions need to be performed to achieve one or more of the benefits provided by this disclosure, and therefore not all of the acts and/or functions are required.

Although certain variations have been discussed in connection with one or more examples of this disclosure, these variations can also be applied to all of the other examples of this disclosure as well.

Although select examples of this disclosure have been described, alterations and permutations of these examples will be apparent to those of ordinary skill in the art. Other changes, substitutions, and/or alterations are also possible without departing from the invention in its broader aspects as set forth in the following claims.