The present invention will now be described, by way of example, with reference to the accompanying drawings, in which:
Referring now to
As shown in
Buffer section 30 is also shown being electrically coupled to processing circuitry 40, such that the content of buffers 35-39 is provided to processing circuitry 40. More specifically, in the present embodiment, each of buffers 35-39 is electrically coupled to processing circuitry 40, such that the audio programming stored in each of buffers 35-39 is provided to processing circuitry 40.
As is also shown in
As shown, user interface circuitry 50 includes volume control circuitry 52, tuner control circuitry 53, display driver circuitry 51, and preset circuitry 54, including preset user inputs 55-59. User interface circuitry 50 is configured to receive user inputs via volume control circuitry 52, tuner control circuitry 53, and preset circuitry 54, and utilize those inputs to provide signals to processing circuitry 40 and post-processing and amplification circuitry 60 to control the signals provided by processing circuitry 40 to post-processing and amplification circuitry 60, and to control the volume of audio programming provided by post-processing and amplification circuitry 60 to speakers 4. User interface circuitry 50 is also shown electrically coupled to buffer section 30 and tuner section 24.
In operation, a user of receiver 6 utilizes preset circuitry 54 and/or tuner control 53 to determine individual preset frequencies for each of tuners 25-29 of tuner section 24. At the end of the selection process, which may be accomplished by a variety of methods that are generally known, each of tuners 25-29 will be tuned to an individual preset frequency, such that each of tuners 25-29 receives SDAR signals at those preset frequencies, and decodes the received SDAR signals to provide, as an output, audio programming received via the SDAR signals at the predetermined frequencies.
Receiver 6 is configured such that the decoded audio programming provided as an output of each of tuners 25-29 is continuously provided as an input to each of the buffers 35-39 corresponding to each of the tuners 25-29. In addition, the decoded audio programming provided by each of tuners 25-29 is provided as an input to processing circuitry 40. Receiver 6 is configured such that when a specific preset user input 55-59 is selected by a user of receiver 6, that selection is provided to processing circuitry 40. Receiver 6 is also configured such that when a user selects a frequency using tuner control circuitry 53, the selected frequency is provided to processing circuitry 40.
Algorithm 44 stored as code in memory 43 of microcontroller 42 is executed by a processor such that it operates to analyze the audio programming provided by the frequency/tuner selected by the user of receiver 6. In the present embodiment, this selection is made using either specific preset user inputs 55-59, or tuner control circuitry 53. Processing circuitry 40 first determines if the selected frequency/tuner is having its audio programming captured by a buffer. If not, processing circuitry 40 operates to provide the audio programming provided as an output of the selected frequency/tuner to post-processing and amplification circuitry 60, where the audio programming is processed and amplified and provided to speakers 4. If so, processing circuitry 40 analyzes the audio programming to determine if a song is already in progress on the selected tuner. If a song is not already in progress, processing circuitry 40 operates to provide the audio programming provided as an output of the selected tuner to post-processing and amplification circuitry 60, where the audio programming is processed and amplified and provided to speakers 4. If, however, processing circuitry 40 determines that a song is already in progress when a specific frequency/tuner is selected by a user of receiver 6, processing circuitry 40 selects the buffered audio stored in the buffer associated with the selected frequency/tuner, evaluates the buffered audio to identify the location in the buffered audio programming of the beginning of the song that was in process when the specific frequency/tuner was selected, and provides the buffered audio programming to post-processing and amplification circuitry 60, starting at the beginning of the song.
Post-processing and amplification circuitry 60 processes and amplifies the buffered audio programming, and provides it as an output to speakers 4. Processing circuitry 40 continues to provide the buffered audio programming, rather than the audio programming provided by the tuner tuned to the selected frequency, to post-processing and amplification circuitry 60, until post-processing and amplification circuitry 40 determines that a different frequency has been selected by a user of receiver 6, or until the system is powered off. In this manner, when a user selects a frequency or channel that is already playing a song, the user will be able to hear the song from the beginning, because the audio is provided from the buffer associated with a tuner tuned to the selected frequency, rather than from the tuner itself.
Because the buffers 35-39 are configured to continuously provide a delayed version of the audio programming provided by the tuner with which a given buffer is associated, it should be appreciated that when processing circuitry 40 selects a buffer 35-39 as a source for the playback of audio programming, playback can occur from the selected buffer indefinitely, with the audio programming provided by the selected buffer being delayed with respect to the real-time audio programming being provided by the associated tuner.
In an alternate embodiment, receiver 6 is configured such that when a user selects a specific tuner using the preset user inputs 55-59, processing circuitry 40 provides the audio programming output by the selected tuner to post-processing and amplification circuitry 60. Post-processing and amplification circuitry 60 then post-processes and amplifies the audio programming, and provides it to speakers 4, such that a user of receiver 6 can perceive the audio programming. Receiver 6 is further configured such that if a user hearing the post-processed and amplified audio programming determines that a program, such as, for example, a song, is in progress when the tuner is selected, the user may provide user input, such as, for example, by pushing the same preset user input a second time, to cause processing circuitry 40 to switch to using the buffer associated with a selected tuner as a source for audio programming to be provided to post-processing and amplification circuitry 60.
In this alternate embodiment, when a user provides an indication that the user wishes playback to occur from the buffer, rather than from the selected tuner, processing circuitry 40 is configured to identify the beginning of the song that is in progress when the user first selected the selected tuner, and provide the buffered audio programming as an output to post-processing and amplification circuitry 60, starting at the beginning of the song. In this alternate embodiment, the user of receiver 6 is able to manually control whether playback occurs from the tuner or its associated buffer.
In the embodiments described above, processing circuitry 40 is configured to determine if a song is in progress, and/or to begin playback from a buffer at the beginning of a song that was in progress when a given frequency/tuner was selected. It should be appreciated that in alternate embodiments, receiver 6 can be configured to provide playback from a buffer at the beginning of a program other than a song, such as, for example, a news broadcast or other program. Although in the present embodiment, buffer section 30 includes several individual buffers 35-39, it should be appreciated that in an alternate embodiment, buffer section 30 could be a single buffer having different areas allocated to provide buffer space for various tuners of the receiver 6. Although tuner section 24 is shown having five individual tuners 25-29, it should be appreciated that in alternate embodiments, more or fewer tuners could be employed without departing from the invention.
Although processing circuitry 40 is shown including a microcontroller 42 having memory 43 and an algorithm 44, it should be appreciated that in alternate embodiments, processing circuitry 40 may include circuitry other than microcontroller 42, memory 43, and algorithm 44 configured to perform the functions of processing circuitry 40 as described above.
In the present embodiment, the SDAR signals received and processed by tuner section 24 include program information about programs provided in the SDAR signals. More specifically, the SDAR signals include program information about songs provided by the SDAR signals, including the length of the songs, the current position within the songs of the songs transmitted using an SDAR signal, the name of the songs, and the genre of the songs. While processing circuitry 40 of the present embodiment utilizes this program information to identify a song being played by a given tuner, identify the location of the song in the buffer associated with the given tuner, and to identify the beginning location in the buffer of the song, in an alternate embodiment, processing circuitry 40 is configured to provide the functions described above without utilizing program information provided by SDARS signals received by tuners 25-29. Processing circuitry 40 accomplishes this by analyzing the signals provided to and/or from tuners 25-29 to identify the beginning location of songs.
In one alternate embodiment, receiver 6 is configured to receive RF AM/FM broadcast radio signals, and processing circuitry 40 is configured to analyze the AM/FM signals received by the tuner section 24, and/or audio signals output by tuner section 24, to determine the beginning location of songs or other broadcast programs. One skilled in the art will recognize that processing circuitry 40 can be configured to identify the beginning of programs and or songs by analyzing the received signals even if the received signals do not contain data about the programs being broadcast, such as, for example, program or song duration. Processing circuitry 40 can then use this information to determine if a song or program is in progress, and to begin playback from a buffer location at the beginning of a song or program that has been captured in a buffer if a song is in progress, or based on a user request.
As described above, the invention advantageously provides for a method and system for allowing users to monitor audio programming from the beginning of the audio programming if the audio programming is already in process when a user switches to a new channel or frequency broadcasting the audio program.
The above description is considered that of the preferred embodiments only. Modifications of the invention will occur to those skilled in the art, and to those who make or use the invention. Therefore, it is understood that the embodiments shown in the drawings and described above are merely for illustrative purposes, and not intended to limit the scope of the invention, which is defined by the following claims, as interpreted according to the principles of patent law, including the doctrine of equivalents.