This invention relates to radio systems and methods. In particular this invention relates to receiving radio signals from a plurality of radio inputs.
U.S. Pat. No. 7,171,174, issued Jan. 30, 2007, and U.S. Pat. No. 7,343,141, issued Mar. 11, 2008, which are hereby explicitly incorporated by reference herein in their entirety illustratively disclose multi-tuner radio products and features. Multi-tuner radio receivers such as disclosed in the '141 patent simultaneously and continuously monitor and record all of the listener's favorite stations. This allows the listener to easily access content on any of these stations, even if the content from that station is not currently being output. It also allows the listener to easily replay radio content that was previously broadcast, as well as skip over content that is not of interest.
The nature and various advantages of the present invention will become more apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
Current multi-tuner radio devices that use hardware tuners to receive each independent radio station are limited in the number of stations that can be monitored simultaneously. By using software-defined radio tuners, adaptive receiving and compressions algorithms, and extendable hardware, the number of radio stations that can be simultaneously received may be increased significantly. This may even be to the point where the radio device is able to simultaneously monitor and record all available radio stations in which the listener may be interested, thus becoming a “virtually infinite radio” (VIR). In addition, the cost of such a device may be significantly reduced and its flexibility may be greatly increased.
As used herein, the terms “enable a user” or “enabling a user” to perform a function refers to providing a hardware and/or hardware component or configuration to perform that function.
Generally, the present invention is directed to radio recording. Radio stations are simultaneously recorded based on a radio parameter including a processing parameter, a memory usage or allocation, a recording status, or the like. The radio parameter is adapted for an individual station, some radio stations, or all radio stations. The processing parameter is adapted based on a processor usage. The memory usage is adapted based on a memory requirement of a station being recorded. A station may be suspended from recording based on a loss of a signal and resumed based on a resumption of the signal. An access to a radio content recorded while a signal was available may be provided, if the signal is unavailable. The plurality of stations may be prioritized.
Digital signal processors 150 may include one or more high-performance digital signal processors. If multiple processors are included, they may be configured to allow or otherwise enable easily partitioning processing tasks between them. For example, each processor may take on a specific number of stations (e.g., one quarter of the monitored stations if there are four processors) or a specific set of tasks (e.g., one processor may handle tuning functions, another may handle compression, a third may handle audio output and user interface). Examples of processors that may be used include the Freescale MSC8144 high-performance four-core fixed-point processor operating at 1 GHz; the Analog Devices ADSP-TS201 TigerSHARC high-performance, floating-point processor operating at 600 MHz; or the Texas Instruments TMS320C6727 high-performance, floating-point processor operating at 350 MHz.
In addition to processing of the monitored radio signals, the processors 150 may handle the audio output 170 and the user input/output 160. User interface 160 may include any suitable circuit or circuits, such as buttons, voice input, gesture recognition, fingerprint recognition, and display devices. Processors 150 may also control other devices and functions, including GPS, CD, mobile phone, removable memory, and any other suitable functions.
In step 210, processor 150 may scan the stored digitized signal from radio signal source 110. The purpose of this scanning step may be to determine the presence or absence (and other characteristics, such as signal strength) of stations at specific frequencies within the incoming signal. This may be based on prior knowledge of the modulation format expected to be used, based on the input source (e.g., the input antenna) and the frequency. For example, the incoming signal from an FM antenna may be scanned at 0.2 MHz intervals between 87.5 MHz and 108.0 MHz using FM demodulation. The scanning may be performed for each input source 110 and associated modulation type at any suitable interval, for example once per minute. An example of a commercial system that performs multi-channel radio monitoring is the WiNRADIO MS-8108 Multichannel Radio Monitoring System.
If radio content is found at any frequency, processor 150 may check to see if that frequency is currently being monitored. If it is, monitoring may continue for that station. If the station has not previously been found, the station may be added to those to be monitored. If the station had previously been found but is not currently being monitored because its signal had temporarily not been found, monitoring may resume for that station. If a station is not found at a frequency that is currently being monitored, then monitoring and storing on that station may be temporarily suspended.
An advantage of being able to suspend and resume monitoring and recording of radio stations as their signals come and go is that it allows or otherwise enables a user (particularly in a mobile environment such as a car radio) to listen to content from a radio station even after going out of range.
In step 220 the stations that are currently available are tuned. Processor 150 uses a software-defined radio (SDR) algorithm to extract the radio signal at the specified frequency. An example of a commercial product that performs SDR is the WiNRADIO WR-G305i PC-based wideband scanning receiver. This step may also be combined with step 230, demodulation of the radio signal. With at least one source, the audio data may be transmitted in a digital format, in which cases the demodulation may include extraction of the encoded audio data from the signal. The output of these steps may be a digitized stereo audio stream (e.g., data stream). These two steps may be performed in parallel for each of the monitored stations from each of the input sources, using parallel software processes that may be performed on a signal processor or spread out across multiple processors. These steps may be performed continuously, based on the digital sampling frequency of the input radio signal. Step 240, compression of the audio data, may optionally be performed to reduce the volume of data using any suitable compression technique, such as MP3 encoding. In some cases, the data may have been transmitted digitally already compressed, in which case compression may not be necessary. After compression, the data may be stored into memory 140 in step 250.
In step 260, the performance of processor 150 may be monitored. For example, processor 150 may include an idle task or an idle loop, and it may measure how much time is spent in that task or loop. The addition and removal of stations to be monitored may be controlled, so that the effect on processor utilization may be measured. In one embodiment, only one station may be added or removed at a time. In some embodiments, processor utilization monitoring may include counting the number of stations being monitored and/or estimating the number of parallel monitoring streams that can be handled by each processor. In some embodiments step 260 may also include monitoring of memory usage. Step 260 may occur at any suitable interval, such as once per minute, as well as whenever a station is added to or removed from the set of stations to be monitored.
When a new station is added and processor utilization increases above a predetermined threshold, or when a station is removed and/or processor utilization drops below a second threshold, processing parameters may be adjusted in step 270. When processor 150 is close to full utilization, algorithmic changes may be made to reduce the requirements on the processor, so that additional stations may be added. If a station is dropped, changes may be made to take advantage of more processor availability. Changes may include:
Any of these factors may be adjusted on a station-by-station basis. For example, stations that the user has designated as favorites may be allocated more processing power and more memory than stations that the user may not listen to, which may be removed completely from monitoring.
In step 310, the listener may be allowed or otherwise enabled to select favorite stations. In some embodiments, this may be done by allowing the user to select up to at least a fixed, pre-determined, selectable, or adaptable number of preset stations that can be selected easily by at least a single input command. In other embodiments, the user may be allowed or otherwise enabled to rate stations with a level or preference. Favorite stations may be allocated more memory, and may be used to generate higher quality audio (e.g., with a higher sample rate, larger sample size, or increased bits per second compression algorithm). Conversely, a station rated with a lower preference level may be allocated less memory and may be used to generate lower quality audio.
In step 320, the user may be allowed or otherwise enabled to delete stations. Deleting a station may remove its input from monitoring and storing. The user may be allowed or otherwise enabled to listen to a deleted station, but may be disabled from performing one, some, or any functions on that station that may require access to stored audio (such as skipping back in time).
In step 330, processor 150 may monitor the listening habits of the user. In this manner, favorite stations may be determined and stations that may not be accessed (e.g., not accessed for year, month, week, etc.) may also be determined. Processing parameters associated with these stations may be automatically adjusted.
In step 340, the type of content may be determined. For example, a station may be classified as popular music, sports, classical music, talk, or any other suitable category. This determination may be made based on manual classification or automatically based on analysis of the audio content. The processing parameters may be adjusted based on the category. For example, a station that broadcasts primarily talk programming may require lower quality audio than a station that broadcasts classical music. A user may also specify preferences for specific categories, and these preferences may be used to adjust the parameters or remove stations form the monitoring list. Other attributes of the station may also be used to determine appropriate processing parameters. For example, a station that broadcasts in mono or that often has poor reception may be given a lower audio quality, while one that broadcasts in HD may be assigned more memory.
In step 350, the listener may be allowed or otherwise enabled to adjust at least one of the processing parameters for individual stations. For example, the user may be allowed or otherwise enabled to assign a High, Medium, or Low audio quality to a station, which may impact the setting of sampling rate, sample size, and compression algorithm parameters. The user may also be allowed or otherwise enabled to select the number of minutes or hours of audio data to store for any individual station. Stations for which the user has not made any settings may revert to a default setting, or a setting based on the type of content on that station.
Device 430 is a processor extension module. This extension may augment or replace processor internal to base device 410, such as digital signal processor 150. Processor extension device 430 may provide additional processing power that is capable of simultaneously processing more inputs, or of processing the existing number of inputs at a higher audio quality. Module 430 may include multiple processors configured to allow suitable partitioning of processing functions. If desired, processor extension module 430 may include additional memory and other circuits.
Device 440 is an input source extension. This extension may provide the capability to monitor and listen to one or more additional types of sources. Input source extension module 440 may include any suitable antennas, analog-to-digital converters, DMA circuits, cache memory, tuning circuits, decryption circuits, and any other suitable circuits. Device 440 may be configured to provide access to a type of radio signal that was not well known or for which business agreements were not available at the time of manufacture of radio 410. For example, a standard for radio broadcast at 700 MHz may be published after device 410 is built and sold, and extension module 440 may provide access to input signals following that standard.
Device 450 is a memory extension. This extension provides additional storage capability to radio 410. It may include any suitable type of memory, such as flash memory, dynamic memory, static memory, or disk memory. This module may provide radio 410 with the capability to store audio data for more stations or to store more audio data for each monitored station.
Device 460 is a user interface extension. This extension may provide the user the ability to interact with radio device 410 in different ways, for example adding voice or gesture control to a base radio that may include button inputs.
Any other suitable extension devices not shown here may be supported as well. Preferably, interface 420 is designed to an open standard such that extension devices can be designed and built after radio 410 is in use by an end consumer. If desired, extension modules may be designed and manufactured by one or more companies that are different from the company that designed and manufactured radio 410.
By implementing the virtually infinite radio aspects of this invention, several feature advantages are made available over finite hardware tuner implementations. For example, because virtually all available stations can be monitored, the user does not have to set favorite stations in order to use the enhanced features. The user can select a station that may not have previously been selected for output, and may immediately skip back in time to hear content that was missed on that station. Selecting such a station may provide a much quicker response time, since, in one embodiment, it involves merely selecting a different playback buffer, rather than actually retuning. When the VIR is put into scan mode, stored content may be available for at least one or all of the available stations, making each switch quicker, and providing a greater amount of previously stored content for any station if the listener pauses or stops the scan at any station.
A VIR may be cheaper to manufacture than a multi-tuner radio with hardware tuners. Although the DSP to provide the simultaneous tuning and compression of virtually all stations may be more expensive than the processor needed for a radio with a fixed number of tuners, that cost may be more than made up for by the cost of multiple hardware tuners.
By providing an extension interface, the cost of the VIR may be kept down, and listeners with more requirements may pay for the features and capabilities they need. As faster processors and larger memory devices are made available and affordable, they may be used to extend the capabilities of the base VIR without having to replace it. New radio broadcast protocols that were not available at the time of manufacture may also be supported using this extension interface.
As shown here, by using a powerful digital signal processor and software-defined radio tuning with adaptive access and compression parameters, a radio has been defined that can simultaneously monitor and record a virtually unlimited number of radio stations and allow a listener to access the content of these stations, although it may be at a reduced quality and/or reduced storage capacity for at least one, some, or (virtually) all of the stations. By including an open extension interface, any lacking capabilities to monitor specific types of sources or limits on the number of stations or amount of data stored for each can be rectified after the radio has been sold and put into use or otherwise deployed.
An initially manufactured unit may for example provide adequate audio quality and quantity for the number of stations that are currently available in a typical metro area (e.g., New York, Washington DC, Denver, Baltimore, Hartford, Cleveland, Harrisburg, etc.) today, and that extensions added over time may adequately support station expected to be added in the future as new types of sources are conceived and made popular.
In some embodiments for implementing a VIR, the apparatus may be configured to tune or receive and record each and every radio input (e.g., simultaneously) bounded by the hardware and/or software capability (e.g., up to a threshold capability such as 99%, up to a sufficient margin for safety or sufficient device operation, or subject to other demands on the apparatus) of the platform on which the VIR is implemented. Thus the apparatus may implement a sequential, simultaneous, and/or random process by which it commences tuning and recording until all currently available inputs are monitored, device performance capacity is reached, or a preset threshold is reached. If desired, configuration options can be implemented such as to limit the number of stations (e.g., 100 channels total, 20 FM channels, 5 AM channels, and/or 30 Satellite channels). If desired, the configuration options may represent device capabilities. A user may also have the option to select one type of input (e.g., FM radio), combinations of inputs (e.g., FM and satellite), or all inputs. A database or file may be implemented to track identification information for the many stations monitored. After a first set of inputs are being monitored (e.g., tuned based on having adequate signal strength), the apparatus may continue the process of identifying additional inputs to add to the monitored channels such as by continuously, periodically, randomly, or by combinations thereof to seek to add additional inputs (e.g., channels) so that for example the apparatus can be current in monitoring all available channels (e.g. subject to device capabilities and/or threshold settings).
If desired, a VRI can be a plug-in module that can be implemented on different platforms such as a mobile handheld device or a car radio to implement one or more features illustratively described herein. As such, it can be third party add-on feature.
It is to be understood that other embodiments can be utilized and structural changes can be made without departing from the scope of the present invention.
This application claims the benefit of Provisional Patent Application No. 61/043,597 filed Apr. 9, 2008 entitled “RADIO DEVICE WITH VIRTUALLY INFINITE SIMULTANEOUS INPUTS RELATED APPLICATIONS” which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
2097901 | Thomas | Nov 1937 | A |
4031334 | Kimura et al. | Jun 1977 | A |
4109115 | Yamamoto | Aug 1978 | A |
4268724 | Hubbard | May 1981 | A |
4591661 | Benedetto et al. | May 1986 | A |
4677466 | Lert et al. | Jun 1987 | A |
4682370 | Matthews | Jul 1987 | A |
4787063 | Muguet | Nov 1988 | A |
4953212 | Otsubo | Aug 1990 | A |
5119507 | Mankovitz | Jun 1992 | A |
5187589 | Kono et al. | Feb 1993 | A |
5214792 | Alwadish | May 1993 | A |
5239540 | Rovira et al. | Aug 1993 | A |
5243640 | Hadley et al. | Sep 1993 | A |
5253066 | Vogel | Oct 1993 | A |
5345430 | Moe | Sep 1994 | A |
5371551 | Logan et al. | Dec 1994 | A |
5404588 | Henze | Apr 1995 | A |
5406558 | Rovira et al. | Apr 1995 | A |
5448534 | Okada | Sep 1995 | A |
5457815 | Morewitz, II | Oct 1995 | A |
5463599 | Yifrach et al. | Oct 1995 | A |
5513385 | Tanaka | Apr 1996 | A |
5612729 | Ellis et al. | Mar 1997 | A |
5671195 | Lee | Sep 1997 | A |
5742893 | Frank | Apr 1998 | A |
5774798 | Gaskill | Jun 1998 | A |
5778137 | Nielsen et al. | Jul 1998 | A |
5818441 | Throckmorton et al. | Oct 1998 | A |
5867794 | Hayes et al. | Feb 1999 | A |
5914941 | Janky | Jun 1999 | A |
5978689 | Tuoriniemi et al. | Nov 1999 | A |
5986650 | Ellis et al. | Nov 1999 | A |
6074553 | Haski | Jun 2000 | A |
6088455 | Logan et al. | Jul 2000 | A |
6134426 | Volkel | Oct 2000 | A |
6169843 | Lenihan et al. | Jan 2001 | B1 |
6209787 | Iida | Apr 2001 | B1 |
6212359 | Knox | Apr 2001 | B1 |
6233389 | Barton et al. | May 2001 | B1 |
6236674 | Morelli et al. | May 2001 | B1 |
6259441 | Ahmad et al. | Jul 2001 | B1 |
6275268 | Ellis et al. | Aug 2001 | B1 |
6327418 | Barton | Dec 2001 | B1 |
6337719 | Cuccia | Jan 2002 | B1 |
6356704 | Callway et al. | Mar 2002 | B1 |
6400996 | Hoffberg et al. | Jun 2002 | B1 |
6407750 | Gioscia et al. | Jun 2002 | B1 |
6421453 | Kanevsky et al. | Jul 2002 | B1 |
6452960 | Sato | Sep 2002 | B1 |
6507727 | Henrick | Jan 2003 | B1 |
6564003 | Marko et al. | May 2003 | B2 |
6588015 | Eyer et al. | Jul 2003 | B1 |
6607136 | Atsmon et al. | Aug 2003 | B1 |
6630963 | Billmaier | Oct 2003 | B1 |
6658247 | Saito | Dec 2003 | B1 |
6710815 | Billmaier et al. | Mar 2004 | B1 |
6721236 | Eschke et al. | Apr 2004 | B1 |
6725002 | Sakurai et al. | Apr 2004 | B2 |
6725022 | Clayton et al. | Apr 2004 | B1 |
6769028 | Sass et al. | Jul 2004 | B1 |
6785656 | Patsiokas et al. | Aug 2004 | B2 |
6792296 | Van Bosch | Sep 2004 | B1 |
6829475 | Lee et al. | Dec 2004 | B1 |
6850252 | Hoffberg | Feb 2005 | B1 |
6895165 | Boys | May 2005 | B2 |
6931451 | Logan et al. | Aug 2005 | B1 |
6944430 | Berstis | Sep 2005 | B2 |
6952576 | Fish et al. | Oct 2005 | B2 |
6961585 | Minematsu | Nov 2005 | B2 |
7028323 | Franken et al. | Apr 2006 | B2 |
7058376 | Logan et al. | Jun 2006 | B2 |
7065342 | Rolf | Jun 2006 | B1 |
7095688 | Kondo et al. | Aug 2006 | B2 |
7107063 | Bates et al. | Sep 2006 | B1 |
7171174 | Ellis et al. | Jan 2007 | B2 |
7177608 | Herz et al. | Feb 2007 | B2 |
7213075 | Feig | May 2007 | B2 |
7231198 | Loughran | Jun 2007 | B2 |
7277562 | Zyzdryn | Oct 2007 | B2 |
7295904 | Kanevsky et al. | Nov 2007 | B2 |
7313375 | Lee et al. | Dec 2007 | B2 |
7327859 | Chau | Feb 2008 | B1 |
7343141 | Ellis et al. | Mar 2008 | B2 |
7418277 | Tsai | Aug 2008 | B2 |
7474773 | Chau | Jan 2009 | B2 |
7627560 | Watanabe et al. | Dec 2009 | B2 |
7668576 | Ellengogen et al. | Feb 2010 | B2 |
7742458 | Sharma et al. | Jun 2010 | B2 |
7937119 | Arai | May 2011 | B2 |
8165644 | Syed | Apr 2012 | B2 |
8411606 | Chen et al. | Apr 2013 | B2 |
20010047379 | Jun et al. | Nov 2001 | A1 |
20020045438 | Tagawa et al. | Apr 2002 | A1 |
20020057380 | Matey | May 2002 | A1 |
20020111703 | Cole | Aug 2002 | A1 |
20020174430 | Ellis et al. | Nov 2002 | A1 |
20020186957 | Yuen | Dec 2002 | A1 |
20030013425 | Nee | Jan 2003 | A1 |
20030095791 | Barton et al. | May 2003 | A1 |
20030163823 | Logan et al. | Aug 2003 | A1 |
20030208771 | Hensgen et al. | Nov 2003 | A1 |
20040029541 | Baranowski et al. | Feb 2004 | A1 |
20040128692 | Wolfe et al. | Jul 2004 | A1 |
20040158748 | Ishibashi et al. | Aug 2004 | A1 |
20050005298 | Tranchina | Jan 2005 | A1 |
20050014495 | Shanahan | Jan 2005 | A1 |
20050020223 | Ellis et al. | Jan 2005 | A1 |
20050049750 | Parker et al. | Mar 2005 | A1 |
20050064835 | Gusler et al. | Mar 2005 | A1 |
20050085217 | Lim | Apr 2005 | A1 |
20050229213 | Ellis et al. | Oct 2005 | A1 |
20060008243 | Przybylek | Jan 2006 | A1 |
20060026637 | Gatto et al. | Feb 2006 | A1 |
20060082690 | Englert | Apr 2006 | A1 |
20060083253 | Park et al. | Apr 2006 | A1 |
20060085115 | Ilan et al. | Apr 2006 | A1 |
20060149971 | Kozlay | Jul 2006 | A1 |
20070064157 | Kasamatsu | Mar 2007 | A1 |
20070130280 | Park et al. | Jun 2007 | A1 |
20080027586 | Hern et al. | Jan 2008 | A1 |
20080045170 | Howley et al. | Feb 2008 | A1 |
20080165758 | Kato et al. | Jul 2008 | A1 |
20080192994 | Chau | Aug 2008 | A1 |
20080204604 | Campbell | Aug 2008 | A1 |
20080320523 | Morris et al. | Dec 2008 | A1 |
20090174822 | Pugel | Jul 2009 | A1 |
20090313660 | Ni et al. | Dec 2009 | A1 |
20100120366 | DeBiasio et al. | May 2010 | A1 |
20120237092 | Bechtel | Sep 2012 | A1 |
20130053007 | Cosman et al. | Feb 2013 | A1 |
Number | Date | Country |
---|---|---|
2313 216 | Nov 1997 | GB |
WO 99 45700 | Sep 1999 | WO |
WO 99 45701 | Sep 1999 | WO |
WO 99 66725 | Dec 1999 | WO |
WO 00 13416 | Mar 2000 | WO |
WO 00 16548 | Mar 2000 | WO |
WO 00 13415 | Jun 2000 | WO |
WO 00 45511 | Aug 2000 | WO |
WO 01 76248 | Oct 2001 | WO |
Entry |
---|
Louderback, “Improve Your Commute with Audio on Demand,” ZDTV, 'Online! (Nov. 1999) (available at: http://www.zdnet.com/anchordesk/story/story—4066.html). |
International Search Report, application No. PCT/US02/05039, mailed Feb. 4, 2003. |
“Federal Standard 1037C Telecommunications: Glossary of Telecommunication Terms,” http://www.its.bldrdoc.gov/fs-1037, 8 pgs., Aug. 7, 1996. |
Number | Date | Country | |
---|---|---|---|
20090258619 A1 | Oct 2009 | US |
Number | Date | Country | |
---|---|---|---|
61043597 | Apr 2008 | US |