Mobile hybrid radio receiver service according to source selection
A switching algorithm in hybrid radio receivers uses direct audio quality metrics to optimize source selection, addressing poor audio quality and high charges by adapting to reception conditions and user preferences.
Patent Information
- Application Number
- JP2025543285
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-01-27
- Publication Date
- 2026-02-10
AI Technical Summary
Hybrid radio receivers face challenges in switching between broadcast radio signals and wireless IP connections due to indirect and inaccurate RSSI-based decisions, leading to poor audio quality and increased network service charges, as conventional switching techniques fail to account for actual reception conditions and user experience.
A switching algorithm that uses direct audio quality metrics, such as fluctuation indices derived from broadcast radio signals, to determine the optimal source for audio content, minimizing IP data usage and ensuring high-quality audio playback.
The algorithm effectively adapts to varying reception conditions, reducing aggressive switching and minimizing network charges while maintaining high audio quality, aligning with human listening preferences.
Smart Images

Figure 2026505028000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to the restoration of audio content by a wireless receiver. [Background technology]
[0002] A mobile hybrid radio receiver can recover streaming audio content from broadcast radio signals and from wireless network signals via an Internet Protocol (IP) connection (e.g., a wireless IP connection). As the hybrid radio receiver moves, radio frequency (RF) reception conditions change. Under such conditions, the hybrid radio receiver may switch the source of audio from the broadcast radio signal to the wireless IP connection, which can incur significant network service charges and, if the decision on when to switch is not made appropriately, can degrade the audio quality from the listener's perspective. The hybrid radio receiver may apply conventional switching techniques to determine when to switch to the IP connection. One technique includes monitoring the received signal strength indicator (RSSI) of the broadcast radio signal or deriving a substantially equivalent RSSI based on the known geographic location of the hybrid radio receiver, and switching to the IP connection when the RSSI indicator falls below a single threshold. The fact that RSSI is an indirect indicator of audio quality and depends on a single threshold can lead to crude, often inappropriate, switching decisions that can be either too aggressive (i.e., too fast) or not aggressive enough (i.e., too slow), resulting in users / listeners experiencing poor audio quality and increased network service charges.
[0003] Another technique involves comparing the location of a hybrid radio receiver with predetermined geographic coordinates representing geofence boundaries and triggering a switch to an IP connection based on the comparison. This technique may also produce suboptimal switching decisions because it does not take into account the actual reception conditions experienced by the hybrid radio receiver or the different reception performance associated with different types of hybrid radio receivers. Therefore, using a geofence as a basis for switching decisions may result in reduced audio quality and increased network service charges. [Brief explanation of the drawings]
[0004] [Figure 1] 1 is a high-level block diagram of an example hybrid wireless system; [Figure 2] FIG. 1 is a block diagram of an example hybrid radio receiver of a radio system that implements a switching algorithm for deriving a switching decision to use a broadcast radio signal or a wireless network connection as a source for audio content, in accordance with embodiments presented herein. [Figure 3A] FIG. 1 is a flow diagram of an example switching algorithm that derives switching decisions based on a reception metric indicative of audio quality associated with a broadcast radio signal. [Figure 3B] FIG. 10 is a flow diagram of hold timer logic according to a second embodiment. [Figure 4] 10 is a flow chart of an embodiment of a switching algorithm. [Figure 5] 10 is a flow chart of another embodiment of a switching algorithm. [Figure 6] 10 is a flowchart of an example method performed by hold timer logic to validate a change in switch decision for a hold time before actually making a switch selection according to the change in switch decision. DETAILED DESCRIPTION OF THE INVENTION
[0005] The embodiments presented herein may be implemented in a hybrid radio receiver capable of rendering audio (e.g., audio playback) and metadata obtained from multiple over-the-air (OTA) or wireless sources, including both broadcast radio sources (e.g., broadcast radio signals) and wireless network sources (e.g., wireless IP connections). As the location of the hybrid radio receiver changes, RF reception conditions can vary significantly due to signal strength, adjacent channel interference levels, and multipath interference. Therefore, it is important for the hybrid radio receiver to know which OTA source to select for audio and metadata at any given time for the best user listening experience at minimal cost. While streaming audio and metadata recovered from broadcast radio signals, such as analog frequency modulation (FM) broadcast radio signals, is free to users, streaming audio and metadata from an IP connection, for example, via a cellular data modem, may incur data charges for the user. Additionally, radio broadcasters may incur significant royalty fees for providing streaming services over IP connections, so users are encouraged to ensure that they utilize broadcast radio signals rather than IP connections whenever possible.
[0006] Accordingly, embodiments presented herein include a switching algorithm configured to generate a switching or source decision to use either the broadcast radio signal or the wireless IP connection as the “best” source for obtaining audio and metadata based on reception or audio quality metrics (also referred to simply as “metrics” in the following description) derived from the broadcast radio signal and indicative of audio quality. Field tests have demonstrated that the switching decision is highly correlated with results obtained by subjective evaluation of audio captured during mobile tests in the field, such as, for example, car driving tests. The switching algorithm causes the broadcast radio signal to be selected as the source for audio instead of the IP connection if the audio quality is good according to criteria established by the switching algorithm, satisfying the desire to minimize IP data usage from a cost perspective for both users and broadcasters.
[0007] The metrics processed by the switching algorithm and used to make the switching decision are available or easily derived from modern automotive FM radio tuner integrated circuits (ICs). Such ICs calculate and render one or more metrics to control soft muting and high cut of the internal audio. The metrics reflect or indicate the level of undesirable, fast-changing audio fluctuations, as perceived by a listener, that may be caused by, for example, multipath interference. Roughly speaking, the switching algorithm counts the number of times the metric crosses each of two spaced thresholds within a predetermined period. Based on the number of crossings, the switching algorithm calculates / determines a fluctuation index and makes a switching or source decision to use either a broadcast radio signal or a wireless network connection as the audio source and metadata based on the metric fluctuation index. Field tests using subjective listening of various vehicle driving routes have demonstrated that the switching algorithm generates switching decisions that closely match human listening preferences. This is because human hearing is sensitive to changes in audio quality, and the switching algorithm essentially counts fluctuations between good and poor audio quality.
[0008] Advantageously, the switching algorithm: a. Implemented in hybrid radio receivers as a low-cost solution. b. It is based on a direct measurement of the actual user-perceived audio quality relative to the received signal strength indicator (RSSI) value, which is indirect and therefore often inaccurate. c. Automatically adapts to various types of hybrid radio receivers and vehicle installation capabilities so that the switching algorithm does not switch over too aggressively from high quality audio recovered from the broadcast radio signal to a high quality radio receiver with a high performance antenna system. d. The aggressiveness of the IP connection for broadcast radio source selection can be easily adjusted by adjusting a few simple threshold and time interval parameters. Thus, it is an easy extension for a radio broadcaster to distribute the aggressiveness settings of broadcast radio stations over IP connections. e. The implementation of the switching algorithm in a hybrid radio receiver makes the testing / evaluation itself easy by generating test RF signals and evaluating the switching decision directly; no location information is required.
[0009] Referring to FIG. 1 , there is shown a high-level block diagram of an example radio system 100. The radio system 100 includes a radio broadcast station 102 that transmits a broadcast radio signal (equivalently referred to as a radio broadcast signal), a network system 106 that transmits the wireless network signal via a wireless network connection, and a mobile / portable hybrid radio receiver (Rx) 110 configured to implement a switching algorithm, according to an embodiment presented herein. In one example, the broadcast radio signal may include a conventional analog FM radio signal. In another example, the broadcast radio signal may include an analog amplitude modulated (AM) radio signal. The broadcast radio signal transmits / carries audio content to the hybrid radio receiver 110. The audio content includes audio and may or may not include metadata, such as text, timing information, and / or images. The audio content may include, for example, streaming audio with metadata embedded in the audio.
[0010] The network system 106 includes a communication network 112 communicatively coupled to a network transmitter (Tx) 114 for transmitting wireless network signals. The communication network 112 may include one or more wide area networks (WANs), such as the Internet, and one or more local area networks (LANs), content programming producers, cellular networks, WiFi networks, etc. Examples of the network transmitter 114 may include cellular towers associated with a cellular network, transmitters operating according to the IEEE 802.11 protocol suite (e.g., WiFi®), etc. The network transmitter 114 receives network data in the form of data packets from the communication network 112. The network transmitter 114 transmits wireless network signals (e.g., cellular or WiFi signals) including the data packets to the hybrid radio receiver 110, typically via a wireless network connection (e.g., a wireless IP connection) with the hybrid radio receiver. The wireless network signals may carry / transmit audio content the same as or different from that transmitted by the broadcast radio signals. Additionally, the network transmitter 114 and the radio broadcast station 102 may simultaneously transmit their respective OTA signals and audio content.
[0011] The hybrid radio receiver 110 implements a switching algorithm that applies the switching algorithm to the broadcast radio signals and the wireless network signals (collectively referred to as "OTA received signals") based on the above metrics and selects one of the OTA received signals as the source of the audio content. The switching algorithm is described in detail below with reference to Figures 3-5.
[0012] 2 is a functional block diagram of a portion of a hybrid radio receiver 110 according to an embodiment. The hybrid radio receiver 110 includes a radio broadcast receiver 202, a wireless network radio 204 (e.g., an IP radio), a source selector or switch 206, and a receiver controller (also simply referred to as "controller") 210, all of which are communicatively coupled to one another. Portions of the radio broadcast receiver 202, portions of the wireless network radio 204, and the source selector 206 may be incorporated into the controller 210.
[0013] The wireless broadcast receiver 202 includes an antenna 211, an RF tuner 212, a combined analog-to-digital converter (ADC) / frequency downconverter 214, a demodulator 216, and a metric derivator 218. The antenna 211 delivers broadcast radio signals received by the antenna to the RF tuner 212. The broadcast radio signals carry / transmit audio content, including audio and metadata, or simply audio. The RF tuner 212 tunes to an RF channel of a desired broadcast radio signal, frequency downconverts the RF channel to an intermediate frequency (IF) signal, and provides the IF signal to the ADC / frequency downconverter 214. The ADC / frequency downconverter 214 digitizes and frequency downconverts the IF signal to a digitized baseband signal and provides the baseband signal to the demodulator 216.
[0014] The demodulator 216 demodulates the baseband signal into audio content 222 and delivers the audio content to the source selector 206. The demodulator 216 may provide metadata included in the audio content 222 directly to the controller 210. Examples of the demodulator 216 include an FM demodulator that demodulates FM broadcast radio signals and an AM demodulator that demodulates analog AM broadcast radio signals. In summary, the wireless broadcast receiver 202 is configured to recover the audio content carried / transmitted by the broadcast radio signals to generate the audio content 222.
[0015] The metric derivator 218 includes circuitry / logic configured to derive a received metric P from / based on the broadcast radio signal. The metric derivator 218 may be integrated with the tuner 212, the ADC / frequency downconverter 214, and / or the demodulator 216 to derive the audio quality metric P from the RF, IF, baseband signal, and / or demodulated audio, respectively. For example, the metric derivator 218 may derive or measure the metric P directly from the audio content 222 when integrated with or located after the demodulator 216.
[0016] The metric P indicates or correlates with the audio quality of the audio in the audio content 222 to a listener at any given time. The metric P may represent a raw and unweighted measurement of audio quality. Time-varying or time-dependent (i.e., dynamic) fluctuations of the metric P accordingly indicate audio quality fluctuations. The number and magnitude of dynamic fluctuations of the metric P over time, if large enough, indicate audio quality fluctuations that may be noticeable and annoying to the listener. Thus, the metric P may represent undesired level or amplitude fluctuations in a broadcast radio signal (e.g., an FM broadcast radio signal) that are not present in the originally transmitted broadcast radio signal and result in audio quality fluctuations. The undesired fluctuations may arise, for example, from multipath conditions in the environment. Thus, the metric P may be referred to as a multipath metric or indicator. In summary, dynamic fluctuations of the metric P may be considered to indicate degradation of audio quality to the listener.
[0017] In an embodiment, the metric derivator 218 may include a wideband AM detector that captures rapidly changing level fluctuations in the FM modulation envelope of the broadcast radio signal with a granularity of approximately 1 or 2 milliseconds (ms). The wireless broadcast receiver 202 provides the controller 210 with access to the metric P via an interface between the controller and the wireless broadcast receiver.
[0018] The network radio 204 includes an antenna 230, a wireless network interface (I / F) 232, and a packet processor 234. The wireless network I / F 232 establishes a bidirectional wireless network connection (e.g., an IP connection or other type of data connection) with a communication network via the antenna 230. The wireless network I / F 232 may include, for example, a Wi-Fi interface component and / or a cellular interface component for transmitting and receiving wireless RF signals. In the receive direction, the wireless network I / F 232 receives data packets encoded with audio content (e.g., audio and metadata) from the communication network and passes the data packets to the packet processor 234. The packet processor 234 decodes the data packets to recover the audio content (represented by 239). The packet processor may provide the audio content 239 to the source selector 206 and provide the metadata in the audio content directly to the controller 210. In the transmit direction, the network radio 204 wirelessly transmits the data packets to the communication network.
[0019] In an embodiment, the network radio 204 monitors / determines the integrity or quality of the wireless network connection and provides an indicator or metric (referred to as a wireless network connection quality indicator) to the controller 210 that indicates whether the quality of the wireless network connection is good / acceptable (e.g., within connection quality constraints) or poor / unacceptable (e.g., outside quality constraints). The network radio 204 may use any known or later developed technique to monitor the quality of the wireless network connection, including determining whether the percentage of lost data packets is within quality constraints, determining whether data packet decoding errors are within quality constraints, determining whether the RSSI of the wireless network signal is within quality constraints,
[0020] Source selector 206 receives a switching signal SW(k) from controller 210 that controls or commands the source selector. Controller 210 derives switching signal SW(k) based on a switching algorithm described below. Based on the state of switching signal SW(k), source selector 206 selects either audio content 222 recovered from the broadcast radio signal by wireless broadcast receiver 202 or audio content 239 recovered from the wireless network connection by network radio 204 as output audio content 250. This may also be referred to as selecting either the broadcast radio signal or the wireless network connection as the source of the output audio (or as the output audio source). Source selector 206 may provide the audio of output audio content 250 to an audio output interface or device (not shown in FIG. 2 ), such as an audio port or speaker, for playback to a listener.
[0021] The controller 210 controls the wireless broadcast receiver 202 and the network radio 204 and, in embodiments, is primarily responsible for implementing the switching algorithm. The controller 210 is coupled to the wireless broadcast receiver 202 and the network radio 204 and communicates with them via their respective interfaces. The controller 210 includes a processor 260 and a memory 262. The memory 262 stores control software 264 (referred to as "control logic") that, when executed by the processor 260, causes the processor, and more generally the controller 210, to perform the various operations described herein for the hybrid radio receiver 110. The processor 260 may be a microprocessor or microcontroller (or multiple instances of such components). The memory 262 may include read-only memory (ROM), random-access memory (RAM), a magnetic disk storage media device, an optical storage media device, a flash memory device, an electrical, optical, or other physically tangible (i.e., non-transitory) memory storage device. The controller 210 may be discrete logic embedded within an IC device.
[0022] Thus, in general, memory 262 may comprise one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software or firmware comprising computer-executable instructions. For example, control software 264 includes logic for implementing operations of the switching algorithm executed by controller 210, and more generally, hybrid radio receiver 110. Thus, control software 264 implements the various methods / operations described herein.
[0023] In addition, memory 262 stores data 266 used and generated by control software 264 .
[0024] 3A is a flow diagram of an example switching algorithm 300 (also referred to simply as the “algorithm”) that may be implemented by the controller 210. Broadly speaking, the algorithm periodically reads or collects input values or samples of metric P from the wireless broadcast receiver 202, for example, every 100 milliseconds. The algorithm may use intervals less than or greater than 100 milliseconds. The algorithm iterates, operating on each “current” value of the collected metric P, to derive a per-value switching decision to use either the broadcast radio signal or the wireless network signal / wireless network connection as the source of the audio corresponding to the current value. Thus, these operations represent per-value or per-interval operations, and derive a per-value / per-interval switching decision.
[0025] For example, an algorithm may (i) collect a first value of metric P and process the first value in a first pass through the operations to derive a first switching decision corresponding to the first value, (ii) collect a second value of metric P and process the second value in a second pass through the operations to derive a second switching decision corresponding to the second value, etc. In the above example, the second pass through the operations is referred to as the "current" pass or iteration, and the first pass is referred to as the "previous" pass or iteration.
[0026] In each "current" iteration, the algorithm derives a current switching decision based on (i) the current value of metric P, (ii) the number of previous values of the metric, and (iii) previous switching decisions. Deriving the current switching decision based on the current value, previous values, and previous switching decisions introduces hysteresis into the switching decision and helps avoid overly aggressive switching between broadcast radio signals and wireless network connections as the source of audio content when RF reception conditions change.
[0027] The algorithm is described in detail below. At 302, the algorithm initializes the variables that are applied by the algorithm and are shown in Figure 3B. The various variables and their example initial / default values are introduced in Table 1 below.
[0028] [Table 1] Table 1
[0029] At 304, the algorithm receives or collects a new / current value x(k) of metric P from the wireless broadcast receiver 202, where k indicates the current iteration of the algorithm, which uses the value x(k) to derive a current switching decision D(k) based on previous values x(k-1), x(k-2), etc., and based on the previous switching decision D(k-1). In the following description, because the value x(k) represents the metric P, the value x(k) itself may be referred to as the "metric" or "metric x(k)." In an embodiment, the value x(k) may be an 8-bit value converted to a percentage between 0 and 100%. A lower value indicates better audio quality, and a higher value indicates worse audio quality. In other words, audio quality degradation increases with the value x(k) of metric P. In another embodiment, a lower value indicates worse audio quality, and a higher value indicates better audio quality.
[0030] In 306a, the algorithm determines whether the metric x(k) meets a minimum input threshold Th min (also referred to as the "first threshold") to generate a first value decision Ymin(k). The algorithm records the result of the threshold test 306a as follows: a. Metric x(k)>Th min ? Yes → Ymin(k)=1. No → Ymin(k)=0.
[0031] As used herein, the term "thresholding" means comparing a value to a threshold and recording the result, i.e., determining whether the value is above or below the threshold and recording the result. For example, the result may be recorded as a binary decision or state. Additionally, testing whether a value is "above or below" a threshold is more commonly referred to as testing whether a value "exceeds" the threshold.
[0032] In parallel with 306a, at 306b, the algorithm determines the maximum input threshold Th where the metric x(k) is greater than the first threshold. max (also referred to as the "second threshold") to generate a second value decision Ymax(k). The algorithm records the result of the threshold test 306b as follows: a. Metric x(k)>Th max ? Yes → Ymax(k)=1. No → Ymax(k) = 0.
[0033] At 308a, the algorithm calculates / obtains the first N sample moving average Avg_ymin(k) of the current first value determination from the current pass through 306a and the previous N-1 first value determinations from the previous N-1 passes through 306a as follows:
[0034]
number
[0035] More generally, Avg_ymin(k) (i.e., the above Avg ymin(k) ) represents the average number of times that N values of metric P cross the first threshold within a given period (e.g., N interval periods). The average represents a measure, or amount, of variation of metric P relative to the first threshold within the given period that may be noticeable to a listener.
[0036] In parallel with 308a, at 308b, the algorithm calculates / obtains a second N sample moving average Avg_ymax(k) of the current second value determination from the current pass through 306b and the previous N-1 second value determinations from the previous N-1 passes through 306b as follows:
[0037]
number
[0038] More generally, Avg_ymax(k) (i.e., the above Avg ymax(k) ) represents the average number of times that N values of metric P cross the second threshold within a given period (e.g., a period of N intervals). The average quantifies the fluctuation of metric P about the second threshold in the given period, which is likely to be more noticeable to a listener than the fluctuation of metric P about the lower first threshold.
[0039] In 310a, the algorithm determines / evaluates whether the moving average Avg_ymin(k) of the first N samples is above or below a minimum average threshold ThAvg2 (also referred to as the "first average threshold" or "first fluctuation threshold") to generate a first moving average determination Minout(k) (also referred to simply as the "first average determination" and "first fluctuation indicator"). The algorithm records the result of the threshold test 310a as follows: a. Moving average Avg_ymin(k)>ThAvg2? Yes → Minout(k)=1. No → Minout(k)=0.
[0040] Minout(k)=1 is an indication that the number and magnitude of fluctuations in metric P in a given period are large enough to cause a degradation in audio quality (e.g., a first level of degradation) that is noticeable and annoying to the listener, although this may not be the worst audio degradation.
[0041] In 310b, the algorithm determines / evaluates whether the second N sample moving average Avg_ymax(k) is above or below a maximum average threshold ThAvg2 (also referred to as the "second average threshold" or "second variation threshold") to generate a second moving average determination Maxout(k) (also referred to simply as the "second average determination" and "second variation indicator"). In one embodiment, the maximum and minimum average thresholds are equal. In another embodiment, they are different. The algorithm records the result of threshold test 310b as follows: a.Avg_ymax(k)>ThAvg2? Yes → Maxout(k)=1. No → Maxout(k)=0.
[0042] Maxout(k)=1 is an indication that the number and magnitude of fluctuations in metric P in a given period are large enough to cause noticeable, listener-perceivable degradation of audio quality (e.g., a second degradation level higher than the first degradation level associated with Minout(k)=1), which indicates the worst audio degradation (relative Minout(k)=1).
[0043] At 314, the algorithm derives a switching decision D(k) based on the first average decision / variation indicator Minout(k), the second average decision / variation indicator Maxout(k), and the previous switching decision D(k-1), collectively referred to as "state descriptors." Note that the running averages Avg_ymin(k), Avg_ymax(k) represent intermediate variation indicators, while the average decisions Minout(k), Maxout(k) represent the final variation indicators for the algorithm. The switching decision D(k) is a decision to use either a broadcast wireless signal or a wireless network connection as a source for audio content. In the embodiments described herein, the switching decision D(k) includes a binary state or value (0, 1), where 0 indicates using a wireless network signal / wireless network connection and 1 indicates using a broadcast wireless signal as a source of audio content.
[0044] Operation 314 implements a decision matrix for deriving the switching decision D(k). The decision matrix has the following binary inputs and outputs for the switching decision D(k): a. Input: i. The previous switching decision D(k-1)-(0,1). ii. The first mean determination / variation index Minout(k)-(0,1). iii. The second mean determination / variation index Maxout(k)-(0,1). b. Output: Switching decision D(k) based on state descriptors / inputs (D(k-1):Minout(k):Maxout(k)): i. Input 0:0:1 or 1:0:1 Illegal state (restart process). If Minout(k) is low (indicating low audio degradation level), Maxout(k) must not be high (indicating high audio degradation level / poor audio quality). ii. Input 0:0:0 (low metric - low audio degradation, indicating good audio quality) Output D(k) = 1. Switch from wireless network connection to broadcast radio signal. iii. Input 0:1:0 or 0:1:1 Output D(k)=0 (no state change): Remain connected to the wireless network according to the previous switching decision. iv. Input 1:0:0 or 1:1:0 Output D(k)=1 (no state change). According to the previous switching decision, the audio degradation is not too bad, so we stay with the broadcast radio signal. This introduces hysteresis that maintains the switching decision for the broadcast radio signal even though Minout(k)=1 indicates that the audio degradation due to fluctuations has exceeded a first level, at least while Maxout(k)=0. Only when the audio degradation due to fluctuations also exceeds a second level, i.e., when Minout(k)=1 and Maxout(k)=1, does the switching decision switch to the wireless network connection (see (v) below). v. Input 1:1:1 (high metric - indicates high audio degradation) Output D(k)=0.
[0045] The algorithm may include hold timer logic that “stretches” or delays the switching decision D(k) to generate a switching signal SW(k) (or “output SW(k)”) that conforms to the switching decision. In other words, the hold timer logic outputs SW(k) as a delayed version of the switching decision D(k), subject to the conditions presented below. The purpose of stretching the switching decision D(k) to SW(k) is to avoid overly aggressive switching between audio sources, which may be distracting to the listener. In the hold timer logic example described below, the output SW(k) includes the same binary state or value (0, 1) as the switching decision D(k), where 0 or 1 causes the source selector 206 to select audio content 239 from the wireless network connection or audio content 222 from the broadcast radio signal, respectively, as the output audio content 250. FIG. 3A illustrates the hold timer logic 316 according to a first embodiment.
[0046] Broadly speaking, hold timer logic 316 derives output SW(k) based on (i) a continuously running hold timer (or simply "timer") implemented by controller 210 that presents a time value to an algorithm at any given time, and (ii) hold timer logic that resets the timer based on the current switch decision D(k), the previous switch decision D(k-1), the timer value, and decision logic that is evaluated based on timer thresholds Th(Hold0) and Th(Hold1). Hold timer logic 316 (also simply referred to as "operations 316") includes operations / logic 318-322, which are described below.
[0047] At 318, the hold timer logic reads the timer value, receives the switch decision D(k):D(k-1), and implements the following hold time decision matrix / logic with inputs and outputs (output SW(k)) shown below: a. Input: i. The previous switching decision D(k-1). ii. The current switching decision D(k). iii. Timer value. b. Output SW(k) based on input D(k-1):D(k) and the timer value. i. 0:0 or 1:1-D(k) follows D(k-1), so there is no change between D(k-1) and D(k). SW(k)=D(k), no change, no timer reset (322). ii.1:0 - Decision transition from wireless network connection to broadcast radio signal Timer value > Th(Hold1)?(324) Yes → SW(k)=0, timer reset (326). No → SW(k) = D(k), no change, no timer reset (328). iii.0:1-Timer value > Th(Hold0)?(330) Yes → SW(k)=1, timer reset (332). No → SW(k) = D(k), no change, no timer reset (334).
[0048] FIG. 3B is a flow diagram of hold timer logic 350 according to a second embodiment. In the second embodiment, hold timer logic 350 replaces hold timer logic 316 of FIG. 3A. The hold timer logic 350 includes a one-sample delay (which may be implemented using a storage element, for example) in the current switch decision D(k) and generates the previous switch decision D(k-1) in addition to the current switch decision D(k) for the next time sample. Thus, hold timer logic 350 repeatedly receives sample-by-sample input values over time for the previous switch decision D(k-1), the current switch decision D(k), the previous switch selection SW(k-1) (received from a one-sample delay of SW(k) described below), and timer values from one or more hold timers. The inputs D(k-1), D(k), and SW(k-1) collectively form a current state or 3-tuple (D(k-1):D(k):SW(k-1)) (also referred to as a “descriptor”). In the following description, a "switching decision" may be simply referred to as a "decision," and a "switching selection" may be simply referred to as a "selection."
[0049] Broadly speaking, the hold timer logic 350 controls the current selection SW(k) to follow the current decision D(k) on a sample-by-sample basis based on the aforementioned inputs, with the caveat that if the current decision is not the same as the previous selection and a change / transition in the value of successive decisions (e.g., from D(k-1) to D(k)) requires a corresponding change / transition in the value of the selection (e.g., from SW(k-1) to SW(k)), the hold timer logic 350 first enables the change (in the decision) for a predetermined hold period (simply referred to as the "hold time") before actually implementing the corresponding selection change. If the change (in the decision) is successfully enabled, the hold timer logic 350 changes the current selection according to the current decision. Otherwise, if the change fails to be enabled, the hold timer logic 350 maintains (i.e., does not change) the selection. In an embodiment, the hold timer logic 350 successfully enables a change only if all decisions occurring throughout the post-change hold time are the same / consistent with each other. In other words, if the subsequent decisions represent an uninterrupted sequence of the same decisions, otherwise the validation fails, i.e. is considered unsuccessful.
[0050] For example, if the hold timer logic 350 detects that two consecutive decisions indicate a change from a broadcast radio signal (e.g., D(k)=1) to a wireless network connection (e.g., D(k)=0) while the previous selection is still on the broadcast radio signal (e.g., SW(k−1)=1), the hold timer logic resets / starts a timer that begins counting up (or down) to a hold time Th(Hold1). The hold timer logic 350 then examines subsequent decisions that occur while the timer is counting the hold time (i.e., during the hold time) and verifies / determines that the subsequent decisions all consistently indicate a wireless network connection (e.g., all D(k), D(k−1)=0), and maintains the selection on the broadcast radio signal while enabling this hold time. If all subsequent determinations during the hold time consistently indicate a wireless network connection, the hold timer logic 350 (i) declares the activation successful (i.e., successfully activated the change), (ii) changes the selection to a wireless network connection (e.g., sets SW(k)=0), and (iii) repeats the process. On the other hand, if any subsequent determinations during the hold time indicate a broadcast radio signal rather than a wireless network connection, the hold timer logic 350 (i) declares the activation unsuccessful (i.e., the hold timer logic 350 did not successfully activate the change), (ii) does not change the selection (i.e., keeps the previous selection), and (iii) repeats the process.
[0051] Similarly, if the hold timer logic 350 detects two consecutive determinations indicating a change from a wireless network connection (e.g., D(k-1)=0) to a broadcast radio signal (e.g., D(k)=1) while the previous selection is still a wireless network connection (e.g., SW(k-1)=0), the hold timer logic resets / starts the timer to count a hold time Th(Hold0). Th(Hold1) and Th(Hold0) may be equal or different. If different, in one embodiment, Th(Hold1) (e.g., 15 seconds) may be shorter than Th(Hold0) (e.g., 40 seconds), thereby causing a switch in selection from the broadcast radio signal to the wireless network connection to occur more quickly than in the other direction, favoring the wireless network connection. Alternatively, Th(Hold1) may be greater than Th(Hold0). The hold timer logic 350 then determines whether all subsequent decisions occurring during the hold time consistently indicate a broadcast wireless signal (e.g., all D(k), D(k-1)=1) and maintains the selection for the network wireless signal while enabling the hold time. If all subsequent decisions throughout the hold time consistently indicate a broadcast wireless signal, the hold timer logic 350 (i) successfully enables the change, (ii) changes the selection to a broadcast wireless signal (e.g., sets SW(k)=1), and (iii) repeats the process. On the other hand, if any of the subsequent decisions during the hold time indicate a wireless network signal rather than a wireless broadcast signal, the hold timer logic 350 (i) does not successfully enable the change, (ii) does not change the selection, and (iii) repeats the process.
[0052] The hold timer logic 350 (also simply referred to as "hold timer logic") will now be described in further detail. The hold timer logic 350 includes operations 352-376 that are repeated for successive sample times. 352 receives a multi-bit descriptor D(k-1):D(k):SW(k-1) (e.g., descriptor = 010, 110, etc., where the first two bits represent successive decisions) for the current sample time. 352 selects one of four possible paths (a)-(d) based on the descriptor. The hold timer logic 350 may be implemented as a state machine for selecting a path. The selected path (a), (b), (c), or (d) derives / generates the selection SW(k) ("output") for the current sample time based on the descriptor and the state of the timer. 354 provides SW(k) to source selector 206 to control the source selector, i.e., instruct the source selector to select one of audio content sources (also referred to simply as "audio source"), including radio broadcast signals and wireless network connections, for output audio content 250 (also referred to simply as "output audio 250"). 354 also provides SW(k) to 352 via a one-sample delay as feedback for the next sample time. The selection of path (a), (b), (c), or (d) in 352 and the processing performed by the selected path are described below with reference to various descriptors.
[0053] If descriptor = 000, 111, 100, or 011, path (a) is selected to maintain the selection SW(k-1) → SW(k). In this case, the value of SW(k-1) matches the value of D(k), and the value of SW(k) must follow the value of SW(k-1) to remain consistent with the value of D(k), so there is no need to change the value of SW(k-1). Therefore, 352 selects path (a), and flow proceeds to 362, where SW(k) is set equal to SW(k-1). Thus, there is no change in the selection. Next, flow returns to 352 via 354 and a one-sample delay.
[0054] If the descriptor is 010 or 101, path (b) is selected to reset / start the timer for hold time activation. In this case, the successive decisions D(k-1), D(k) (i.e., 01 or 10) differ from each other, indicating a change in decision. Furthermore, SW(k-1) differs from D(k), suggesting that the selection also needs to change according to D(k), but this occurs only after hold time activation. Therefore, for path (b), the flow proceeds to 364 to reset / start the timer for counting the hold time. If the descriptor = 010, the successive decision (01) indicates a change from wireless network connection (0) to broadcast radio signal (1), but the previous selection is still for wireless network connection (0), i.e., the wireless network connection is selected as the source for the output audio content. Therefore, 364 resets / starts the timer to count the hold time TH(hold0). Conversely, if descriptor = 101, then successive decisions (10) indicate a change from broadcast radio signal (1) to wireless network connection (0), but the previous selection was for broadcast radio signal (1), i.e., the broadcast radio signal is selected. Therefore, 364 resets / starts a timer for hold time TH (Hold1). Flow then proceeds to 362, where the selection is maintained, before returning from 352 to 354.
[0055] If descriptor=001, path (c) is selected to enable the previously detected change from broadcast radio signal (1) to wireless network connection (0) for a hold time Th(Hold1). In this case, successive decisions (00) both indicate a wireless network connection, but the previous selection is still for broadcast radio signal (1). Therefore, the selection should change to follow successive decisions coming into path (c), thereby switching to wireless network connection (0) only after enabling all subsequent decisions for the hold time Th(Hold1) that was initiated for the previous path via path (b) (which started the timer) when the successive decisions first changed from broadcast radio signal (1) to wireless network connection (0). Therefore, flow proceeds to 366 to determine whether the hold time Th(Hold1) has been met. That is, 366 determines whether the timer has exceeded Th(Hold1). If the hold time Th(Hold1) is met, the hold timer logic successfully enabled the change, and flow proceeds to 368. 368 changes the selection according to the decision, i.e., sets SW(k)=0 (not 1), and selects the wireless network connection. Then, flow proceeds to 352 via 354. Alternatively, if the timer has not met the hold time Th(Hold1), the change has not yet been successfully enabled, and flow proceeds to 370, where the previous selection is maintained (i.e., unchanged), i.e., sets SW(k)=1. Then, flow proceeds to 352 via 354.
[0056] If descriptor = 110, then path (d) is selected to validate the previously detected change from wireless network connection (0) to broadcast radio signal (1) for hold time Th(Hold0). In this case, successive decisions (11) both indicate broadcast radio signal (1), but the previous selection is still based on network radio connection (0). Therefore, the current selection should change to follow the successive decisions, thereby switching to broadcast radio signal (1) only after validating all subsequent decisions for hold time Th(Hold0) that was initiated for the previous path via path (b) (which started the timer) when the first changed from wireless network connection (0) to broadcast radio signal (1). Therefore, flow proceeds to 372, where the hold timer logic determines whether hold time Th(Hold0) has been met. If Th(Hold0) is met, then the hold timer logic successfully validates the change, and flow proceeds to 374. 374 changes the selection according to the decision, i.e., sets SW(k)=1 (instead of 0) to select the broadcast radio signal. Then, flow continues to 352 via 354. Alternatively, if Th(Hold0) is not satisfied, the change has not yet been successfully activated and flow continues to 376 to maintain the previous selection (i.e., no change), i.e., sets SW(k)=0. Then, flow continues to 352 via 354.
[0057] Table 2 below illustrates example operations performed by the hold timer logic 350 for a sequence of descriptors occurring in a corresponding sequence of times 1 through 9. The sequence of descriptors is formed from the following sequence of decisions 1110000000, forming the following sequence of overlapping consecutive decision pairs: time 1 → (11), time 2 → (11), time 3 → (10), and times 4 through 9 all → (00). Each row in Table 2 indicates an operation performed by the hold timer logic at a given time. The descriptors indicate a change in decision from a broadcast radio signal to a wireless network connection at time 3, and the corresponding change is successfully enabled in the selection at time 7.
[0058] Initial times (i.e., rows) 1 and 2 have consecutive descriptors 111. Descriptor 111 includes consecutive decisions (11) that together indicate a broadcast wireless signal and a previous selection (1) that indicates the broadcast wireless signal is selected. There is no need to change the selection. At times 1 and 2, descriptor 111 each selects path (a) and maintains the selection. At time 3, descriptor 101 includes consecutive decisions (10) that indicate a change from broadcast wireless signal (1) to wireless network connection (0). Descriptor 101 selects path (b), initiating a hold time Th (Hold1), and begins enabling the hold time. At times 4 through 6, corresponding descriptors 001 each select path (c), determine that hold time Th (Hold1) is not satisfied, and the change is not enabled. At time 7, descriptor 001 again selects path (c), enabling the change because hold time Th (Hold1) is satisfied. Path (c) changes the selection to wireless network connection. At times 8 and 9, descriptor 000 selects path (a) and remains selected.
[0059] [Table 2] Table 2
[0060] Table 3 below illustrates example operations performed by hold timer logic 350 for successive sequences of descriptors at corresponding times 1-9, which differ slightly from the operations illustrated in Table 2 above. In Table 3, the successful activation in Table 2 fails because the decision was made to switch back to the broadcast radio signal midway through the activation, as explained below. In Table 3, the conditions for times 1-5 are the same as in Table 2. At time 6, descriptor 011 includes the (current) decision to switch to the broadcast radio signal before the hold time Th(Hold1) is met, which interrupts the uninterrupted sequence of wireless network radio decisions required for the entire hold time and resets the timer. Descriptor 011 selects path (a) and maintains the selection. At time 7, descriptor 101 indicates the current decision is back to the wireless network connection. Descriptor 101 selects path (b) and resets the timer for hold time Th(Hold1). Therefore, the initial hold time activation failed and must be started over. At subsequent times 8-9, descriptor 001 indicates that the decision remains on the wireless network connection. Descriptor 001 selects path (c) for performing subsequent validation.
[0061] [Table 3] Table 3
[0062] Returning to the algorithm for guiding the switching decision, in an embodiment, the algorithm may qualify a switching decision that results in a transition from using a broadcast radio signal to using a wireless network connection as a source for audio content (see, e.g., the switching decision described in paragraph 45(b)(v) of the English specification). The algorithm may qualify such a switching decision based on a wireless network connection quality indicator provided by the network radio 204, discussed above in connection with FIG. 2. For example, whenever a switching decision results in a switch from a broadcast radio signal to a wireless network connection, the algorithm first determines whether the wireless network connection quality indicator indicates a good or bad wireless network connection. If the wireless network connection is good, the algorithm allows the switch / transition. If the wireless network connection is bad, the algorithm does not allow the switch, i.e., invalidates the switching decision. In the latter case, the algorithm maintains the connection to the broadcast radio signal as the source for audio content. In summary, the algorithm determines whether to override the switching decision to transition from using a broadcast radio signal as the source of audio content to using a wireless network connection as the source of audio content based on the wireless network connection quality indicator, and overrides if the quality is poor and does not override if the quality is good.
[0063] As explained above, the values of various parameters / variables of the switching algorithm affect the outcome of the operation performed by the switching algorithm. The parameters include, for example, the time interval for collecting values of the metric P, the number of decisions N that are averaged, and the first, second, and third thresholds Th, respectively. min , Th max, and ThAvg2, and timer thresholds Th(Hold0) and Th(Hold1). The values of the parameters derive the aggressiveness, i.e., how often the switching algorithm's switching decision switches between broadcast radio signals and wireless network connections. For example, the thresholds Th min and Th max Lower / higher values of tend to increase / decrease the aggressiveness of switching between sources, i.e., how often the switching algorithm switches between deciding to use the broadcast radio signal and deciding to use the wireless network radio.
[0064] In addition to deriving the aggressiveness of the switching decision, the value of the parameter may be configured (i.e., have a set value) to bias the switching decision to favor broadcast radio signals over wireless network connections based on previous source decisions and variability indicators. Alternatively, the value of the parameter may be configured to bias the switching decision to favor wireless network connections over broadcast radio signals based on previous source decisions and variability indicators.
[0065] In an embodiment, the parameter / variable values are configurable / programmable. Initial values may be programmed during pre-configuration / provisioning operations performed on the hybrid radio receiver. Subsequently, the parameter values may be dynamically updated / programmed over time by the radio broadcaster to achieve desired audio performance and switching aggressiveness, and to achieve desired switching decision bias in favor of the broadcast radio signal or wireless network connection. To dynamically update the parameters, the radio broadcaster may be configured to send a parameter update command / message as a data packet to the hybrid radio receiver over the wireless network connection. The parameter update command may include (i) an IP address for the network radio (matching that assigned to the network radio), (ii) a message type identifier (MTI) to identify the message as a parameter update message for a switching algorithm, (iii) an identifier of the switching algorithm parameter to be updated, and (iv) an update value for the identified parameter. An example parameter update command is shown in Table 4 below.
[0066] [Table 4] Table 4
[0067] Upon receiving a data packet containing a parameter update command (recognized by the network radio based on analysis of the data packet to obtain and recognize the IP address and message / command type), the network radio obtains update values for the identified parameters from the parameter update command and updates the identified parameters in the switching algorithm with the corresponding update values. In summary, the switching algorithm includes operations for performing a deriving of a variation index based on parameters having programmable values that affect how often a switching decision of the switching algorithm switches between the broadcast radio signal and a wireless network connection and the source selection bias associated with the switching decision. Dynamically updating the parameters may include receiving update values for the parameters in a parameter update command via the wireless network connection and updating the parameters with the update values from the parameter update command to adjust how often (i.e., how aggressively) the switching decision switches between the broadcast radio signal and a wireless network connection and / or adjust the bias of the switching decision. The parameter update technique described above has the advantage that the same parameter values affect all hybrid radio receivers that are equally installed in terms of perceived audio quality, regardless of antenna system / radio quality. Thus, the parameter update technique allowed broadcasters to provide a consistent level of quality, which allowed them to prioritize either wireless network connections or broadcast radio signals over time in response to changing business circumstances (e.g., declining streaming royalties).
[0068] 4 is a flowchart of an example method 400, i.e., a method performed by a switching algorithm, for deriving a switching decision based on metric P. Method 400 may be performed primarily by a controller (e.g., controller 210) within a hybrid radio receiver (e.g., hybrid radio receiver 110) configured to recover audio content separately from a broadcast radio signal and from a wireless network connection.
[0069] At 402, the controller collects, at regular intervals, values (e.g., x(k)) of a metric (e.g., metric P) indicative of the audio quality of audio content in a broadcast wireless signal. At each interval (e.g., for each k), the controller performs operations 404-410, which are described below.
[0070] At 404, the controller determines whether the N values of the metric (including the current value and N-1 previous values) exceed a first threshold (e.g., Th min ) and calculate a first average (e.g., a first moving average Avg_min(k)) of the number of values that exceed / cross a second threshold (e.g., Th max ), and calculate a second average (e.g., Avg_max(k)) of a number of values greater than or equal to 1. In an embodiment, the first average averages first value decisions (e.g., Ymin(k)) resulting from thresholding the values against a first threshold, and the second average averages second value decisions (e.g., Ymax(k)) resulting from thresholding the values against a second threshold.
[0071] At 406, the controller obtains a first average decision / variation indicator (e.g., Minout(k)) and a second average decision / variation indicator (Maxout(k)), which indicate whether the first average and the second average, respectively, exceed a third threshold (e.g., ThAvg2).
[0072] At 408, the controller derives a source decision (e.g., D(k)) to use either the broadcast radio signal or the wireless network connection as a source of the audio content based on the previous source decision (e.g., D(k-1)), the first average decision / variation indicator (e.g., Minout(k)), and the second average decision / variation indicator (Maxout(k)). The previous source decision, the first average decision, and the second average decision may each include a binary decision and may collectively represent a state descriptor evaluated for each interval. The controller derives a switching decision based on the state descriptor, biasing the switching decision, for example, to prioritize the broadcast radio signal over the wireless network connection or to prioritize the wireless network connection over the broadcast radio signal, and introducing hysteresis into the switching decision.
[0073] At 410, the controller selects either a broadcast radio signal or a wireless network connection as the source of the audio content based on the switching decision (eg, SW(k) follows D(k)).
[0074] 5 is a flowchart of another example method 500 for deriving a switching decision based on metric P. Method 500 may be performed primarily by a controller in a hybrid radio receiver configured to recover audio content separately from a broadcast radio signal and from a wireless network connection.
[0075] At 502, the controller receives a value (eg, x(k)) of a metric (eg, metric P) indicative of the audio quality of audio content in a broadcast wireless signal at any given time.
[0076] At 504, the controller calculates / derives an indicator of the variation of audio quality variation that is likely to be noticeable to a listener (i.e., a variation indicator) from the variation of the values of the metrics over time. The controller may calculate the variation indicators (e.g., represented by Avg_ymin(k), Minout(k), Avg_ymax(k), and Maxout(k)) using the operations described above in connection with Figures 3 and 4.
[0077] For example, the controller determines if the value of the metric exceeds a first threshold (e.g., Th min ) during a period, calculate a first variability metric (e.g., Avg_ymin(k), Minout(k)) based on / as a function of the first number of times the metric crosses a second threshold (e.g., Th max ymax(k), Maxout(k), and calculate a second variability index (e.g., Avg_ymax(k), Maxout(k)) based on / as a function of a second number of times the value crosses a first threshold. Further, the first variability index may be based on a first average of the first number of times the value crosses a first threshold, and the second variability index may be based on a second average of the second number of times the value crosses a second threshold.
[0078] At 506, the controller derives a switching decision (e.g., D(k-1)) to use the broadcast radio signal or the wireless network connection as the source of the audio content based on the previous switching decision (e.g., D(k-1)) and the fluctuation indicators (e.g., the first fluctuation indicator Minout(k), the second fluctuation indicator Maxout(k)), and introduces hysteresis into the switching decision to prioritize the broadcast radio signal (or the wireless network connection). The controller derives the switching decision according to the following decision matrix: a. (0:0:0, operation 314(ii) above) If the previous switching decision was to use a wireless network connection and the first fluctuation indicator and the second fluctuation indicator each do not exceed a fluctuation threshold (e.g., ThAvg2), set the switching decision to use a broadcast wireless signal (e.g., D(k)=1). b. (0:1:0 or 0:1:1, act 314(iii) above). If the previous switching decision was to use the wireless network connection and at least the first fluctuation indicator exceeds the fluctuation threshold, the switching decision follows the previous switching decision. c. (1:0:0 or 1:1:0, operation 314(iv) above). If the previous switching decision was to use the broadcast radio signal, the first fluctuation indicator exceeds or does not exceed the fluctuation threshold, and the second fluctuation indicator does not exceed the fluctuation threshold, then the switching decision follows the previous switching decision. This introduces hysteresis because the switching decision maintains the current setting even if the first switching decision exceeds the fluctuation threshold, and is maintained until the second fluctuation decision also exceeds the fluctuation threshold, in which case the switching decision reverts to the wireless network connection (see (d) below). d. (1:1:1, operation 314(v) above). If the previous switching decision was to use the broadcast wireless signal and the first fluctuation indicator and the second fluctuation indicator each exceed a fluctuation threshold, set the switching decision to use the wireless network connection.
[0079] At 508, the controller selects the broadcast radio signal or the wireless network connection as the source of the audio content based on the switching decision.
[0080] In other embodiments, hybrid radio receiver 110 may further include a radio receiver configured to process digitally modulated radio signals, such as HD Radio signals, recover audio content from the digitally modulated radio signals, separately from network radio 204, and provide the audio content to source selector 206. The radio receiver may be in place of or in addition to radio broadcast receiver 202. The radio receiver may monitor the quality of the digitally modulated radio signals and provide an indication or metric (similar to metric P) indicative of such quality to controller 210. Controller 210 may implement a switching algorithm similar to that described above to make a switching decision to use the digitally modulated radio signals or the wireless network signals as a source of audio content.
[0081] 6 is a flowchart of an example method 600 of hold timer logic used to enable a change in switching decision for a hold time before actually making a switching selection according to the change in switching decision. Operations performed by method 600 are described above, for example, in connection with FIG. 3B . Method 600 may be performed by / in a hybrid radio receiver configured to separately recover audio from audio sources including broadcast radio signals and wireless network connections. For example, the hybrid radio may include a broadcast radio receiver and a network radio for separately recovering audio from audio sources including the broadcast radio signals and wireless network connections, respectively. Additionally, the broadcast radio receiver may be configured to derive a reception metric indicative of the quality of the audio in the broadcast radio signal.
[0082] 602 includes selecting a first audio source among the audio sources as a source for output audio and not selecting a second audio source among the audio sources as a source for output audio. For example, controller 210 generates SW(k) that instructs source selector 206 to select either a broadcast radio signal or a wireless network connection as a source for output audio. Selecting a first audio source as a source for audio output is equivalent to selecting the first audio source “as an output audio source” or “for output audio.”
[0083] 604 includes receiving a reception metric indicative of the quality of the audio in the broadcast wireless signal. For example, the controller 210 receives the reception metric P from the wireless broadcast receiver 202.
[0084] 606 includes periodically deriving switching decisions, each indicating selecting one of the audio sources as a source for output audio, based on the reception metrics. For example, the controller 210 performs method 400 or method 500 to derive the switching decisions. For example, the derivation includes deriving a fluctuation indicator indicative of audio quality fluctuations likely to be noticed by a listener from fluctuations in the reception metrics over time, and deriving each switching decision to select one of the audio sources based on previous switching decisions and the fluctuation indicator.
[0085] 608 includes initiating a hold time upon detecting a change in switching decision to select a second audio source instead of the first audio source while the first audio source is selected (i.e., a prior selection of 602 that selected the first audio source), and enabling the change for the hold time based on subsequent switching decisions that occur during the hold time.
[0086] 610 includes switching to selecting the second audio source as the source for output audio instead of the first audio source upon successfully enabling the change over the hold time. Successfully enabling may include successfully enabling the change if all subsequent switch decisions over the hold time indicate selecting the second audio source. Selecting the second audio source as the source for audio output is equivalently referred to as selecting the second audio source “as the output audio source” or “for the output audio.”
[0087] 612 includes, if the change for the hold time is not successfully enabled, not switching to selecting the second audio source as the source for the output audio, and repeating detecting the change, starting the hold time, and enabling the change for the hold time.
[0088] In one embodiment, selecting includes selecting a broadcast radio signal instead of a wireless network connection, changing the selection to selecting the wireless network connection over the broadcast radio signal, and switching includes switching to selecting the wireless network connection instead of the broadcast radio signal. In an alternative embodiment, selecting includes selecting a wireless network connection instead of a broadcast radio signal, changing the selection to selecting the broadcast radio signal instead of the wireless network connection, and switching includes switching to selecting the broadcast radio signal instead of the wireless network connection.
[0089] In another embodiment, a method includes selecting a broadcast wireless signal as a source of output audio, receiving reception metrics indicative of audio quality in the broadcast wireless signal, and periodically deriving switching decisions each indicating selecting one of the audio sources as a source of output audio based on the reception metrics. The method further includes, upon detecting a first change in the switching decision to select a wireless network connection instead of the broadcast wireless signal, first enabling the first change for a first hold time based on a first subsequent switching decision occurring during a first hold time. The method also includes, upon successfully first enabling the first change, switching to selecting the wireless network connection as a source of output audio. The method also includes, after selecting the wireless network connection, upon detecting a second change in the switching decision to select the broadcast wireless signal instead of the wireless network connection, second enabling a second change for a second hold time based on a second subsequent switching decision occurring during a second hold time. The method also includes, upon successfully enabling the second change for the second hold time, second switching to selecting the broadcast wireless signal as a source of output audio.
[0090] In an embodiment, the hold timer logic may be implemented as a state machine that receives / maintains a state descriptor that includes (i) a previous switch selection indication (e.g., SW(k-1)) indicating which audio source was selected by the previous selection, (ii) a previous one of the switch decisions (e.g., D(k-1)), and (iii) a current one of the switch decisions (e.g., D(k)). The hold timer logic performs activation and switching to selection based on the state descriptor, such that both activation and switching to selection are functions of or based on the previous switch selection indication, the previous switch decision, and the current switch decision.
[0091] In summary, in one embodiment, a method is provided, in a hybrid radio receiver configured to recover audio content separately from a broadcast radio signal and from a wireless network connection, comprising: receiving, at any given time, reception metrics indicative of audio quality of the audio content in the broadcast radio signal; deriving a fluctuation indicator from variations in the reception metrics over time indicative of audio quality variations that are likely to be noticeable to a listener; deriving a switching decision to use the broadcast radio signal or the wireless network connection as a source of the audio content based on previous switching decisions and the fluctuation indicator; and selecting, based on the switching decision, the broadcast radio signal or the wireless network connection as the source of the audio content.
[0092] In another embodiment, an apparatus in the form of a hybrid radio receiver is provided, the apparatus comprising: a wireless broadcast receiver that recovers audio content from a broadcast radio signal and derives a metric indicative of the audio quality of the audio content at any given time; a network radio that recovers the audio content from a wireless network connection; and a controller that performs the following operations: deriving a fluctuation metric indicative of the audio quality that a listener is likely to notice by (i) deriving a first fluctuation metric based on the number of times the metric crosses a first threshold during a period of time and (ii) deriving a second fluctuation metric based on the number of times the metric crosses a second threshold within the period of time, the second threshold being greater than the first threshold; and deriving a switching decision to use the broadcast radio signal or the wireless network connection as a source of the audio content based on a previous switching decision, the first fluctuation metric, and the second fluctuation metric, and introducing hysteresis into the switching decision.
[0093] In yet another embodiment, a non-transitory computer-readable medium is provided that, when executed by a processor of a hybrid radio receiver configured to separately recover audio content from a broadcast radio signal and from a wireless network connection, causes the processor to: collect, at periodic intervals, values of a metric indicative of audio quality of audio content in the broadcast radio signal; at each interval, calculate a first average of how many of N values of the metric exceed a first threshold and how many of the N values exceed a second threshold that is greater than the first threshold; obtain first and second average determinations indicative of whether the first and second averages, respectively, exceed a third threshold; derive a switching decision to use either the broadcast radio signal or the wireless network connection as a source of the audio content based on the previous source decision, the first average determination, and the second average determination; and select a source of the audio content based on the switching decision.
[0094] In some aspects, techniques described herein relate to a method in a hybrid wireless receiver configured to separately recover audio from audio sources including broadcast wireless signals and wireless network connections, including: selecting a first audio source among the audio sources and not selecting a second audio source among the audio sources as a source for output audio; periodically deriving switch decisions each indicating to select one of the audio sources for the source of the output audio based on reception metrics indicative of quality of the audio in the broadcast wireless signal; initiating a hold time upon detecting a change in the switch decision to select the second audio source instead of the first audio source while the first audio source is selected, and enabling the change for the hold time based on subsequent switch decisions occurring during the hold time; and switching to selecting the second audio source instead of the first audio source as the source for the output audio upon successfully enabling the change for the hold time.
[0095] In some aspects, the techniques described herein further relate to a method that includes maintaining a state descriptor that includes (i) a switch selection indication indicating which audio source was selected by the selection, (ii) a previous switch decision among the switch decisions, and (iii) a current switch decision among the switch decisions, and performing a switch to enable and select based on the state descriptor, such that the switch to enable and select is a function of both the switch selection indication, the previous switch decision, and the current switch decision.
[0096] In some aspects, the techniques described herein relate to a method in which initiating the hold time includes resetting a timer that counts the hold time.
[0097] In some aspects, the techniques described herein relate to a method in which detecting includes detecting a successive switching decision of the switching decision indicative of a change.
[0098] In some aspects, the techniques described herein relate to methods that include successfully enabling a change if all subsequent switching decisions over a hold time indicate selecting the second audio source.
[0099] In some aspects, the techniques described herein relate to a method that, if the change over the hold time is not successfully enabled, does not switch to selecting the second audio source as the source for the output audio, and further includes repeating detecting the change, starting the hold time, and enabling the change over the hold time.
[0100] In some aspects, the techniques described herein relate to a method in which failing to successfully enable includes failing to successfully enable if any subsequent switching decisions during the hold time indicate selecting the first audio source.
[0101] In some aspects, the techniques described herein relate to a method where the selecting includes selecting a broadcast radio signal instead of a wireless network connection, the changing of the selection is selecting the wireless network connection over the broadcast radio signal, and the switching to selecting includes switching to selecting the wireless network connection instead of the broadcast radio signal.
[0102] In some aspects, techniques described herein relate to a method in which the selecting includes selecting a wireless network connection instead of a broadcast wireless signal, the changing of the selection is selecting the broadcast wireless signal instead of the wireless network connection, and the switching to selecting includes switching to selecting the broadcast wireless signal instead of the wireless network connection.
[0103] In some aspects, the techniques described herein relate to a method in which, if the first audio source is a broadcast radio signal and the second audio source is a wireless network connection, the hold time includes a first hold time, and, if the first audio source is the wireless network connection and the second audio source is the broadcast radio signal, the hold time includes a second hold time that is different from the first hold time.
[0104] In some aspects, the techniques described herein relate to methods in which deriving each switching decision includes deriving a fluctuation indicator indicative of audio quality fluctuations likely to be noticeable by a listener from fluctuations in reception metrics over time, and deriving each switching decision to select one of the audio sources based on previous switching decisions and the fluctuation indicator.
[0105] In some aspects, techniques described herein relate to a method in a hybrid wireless receiver configured to separately recover audio from audio sources including a broadcast wireless signal and a wireless network connection, including: selecting the broadcast wireless signal as a source for output audio; periodically deriving switching decisions each indicating selecting one of the audio sources as a source for the output audio based on reception metrics indicative of quality of the audio in the broadcast wireless signal; upon detecting a first change in the switching decision to select the wireless network connection instead of the broadcast wireless signal while the broadcast wireless signal is selected, first enabling the first change for a first hold time based on a first subsequent switching decision that occurs during the first hold time; and upon successfully first enabling the first change, switching to selecting the wireless network connection as the source for the output audio.
[0106] In some aspects, techniques described herein relate to a method that includes successfully first enabling a first change only if all of the first subsequent switching decisions over a first hold time indicate selecting the wireless network connection.
[0107] In some aspects, the techniques described herein further relate to a method that, if not successfully first enabling the first change for the first hold time, does not switch to selecting the wireless network connection as the source for the output audio, and further includes repeating the detection, the initiation of the first hold time, and the first enabling of the first change for the first hold time.
[0108] In some aspects, the techniques described herein further relate to a method that, after selecting a wireless network connection, upon detecting a second change in the switching decision to select a broadcast wireless signal instead of the wireless network connection, second enabling the second change for a second hold time based on a second subsequent switching decision occurring during the second hold time, and second switching to selecting the broadcast wireless signal as a source for the audio output upon successfully enabling the second change for the second hold time.
[0109] In some aspects, the techniques described herein relate to a method in which the first hold time and the second hold time are equal.
[0110] In some aspects, the techniques described herein relate to methods in which the first hold time and the second hold time are different.
[0111] In some aspects, the techniques described herein relate to a hybrid radio comprising: a receiver that separately recovers audio from audio sources including a broadcast radio signal and a wireless network connection and derives reception metrics indicative of audio quality from the broadcast radio signal; a selector that selects from a plurality of audio sources as a source of output audio; and a controller that performs the following processes: instructing the selector to select a first audio source among the audio sources and not select a second audio source among the audio sources as a source for the output audio; periodically deriving switch decisions each indicative of selecting one of the audio sources for the source of the output audio based on the reception metrics; and, while the first audio source is selected, initiating a hold time upon detecting a change in the switch decision to select the second audio source instead of the first audio source, enabling the change for the hold time based on subsequent switch decisions occurring during the hold time, and instructing the selector to select the second audio source instead of the first audio source as a source for the output audio upon successfully enabling the change for the hold time.
[0112] In some aspects, the techniques described herein relate to a hybrid radio, wherein the controller is configured to perform the detection by detecting successive switching decisions indicating a change while selecting a first audio source as a source for the output audio.
[0113] In some aspects, the techniques described herein relate to a hybrid radio, and the controller is configured to perform a successful enablement by successfully enabling the change if all subsequent switching decisions over a hold time indicate selecting the second audio source.
[0114] Although the techniques embodied in one or more specific embodiments have been illustrated and described herein, it is not intended to be limited to the details shown, as various modifications and structural changes may be made within the scope and range of equivalents of the claims.
[0115] Each claim presented below represents a separate embodiment, and embodiments combining different claims and / or different embodiments are within the scope of this disclosure and will be apparent to one of ordinary skill in the art upon review of this disclosure.
Claims
1. 1. A hybrid radio receiver configured to independently recover audio from audio sources including a broadcast radio signal and a wireless network connection, comprising: selecting a first audio source of the audio sources and not selecting a second audio source of the audio sources as a source for output audio; periodically deriving switching decisions each indicating to select one of the audio sources for the source of the output audio based on reception metrics indicative of the quality of the audio in the broadcast radio signal; upon detecting a change in the switching decision to select the second audio source instead of the first audio source while the first audio source is selected, initiating a hold time, and enabling the change for the hold time based on subsequent switching decisions occurring during the hold time; upon successfully enabling the change over the hold time, switching to selecting the second audio source instead of the first audio source as the source for the output audio.
2. maintaining a state descriptor including (i) a switch selection indication indicating which audio source was selected by the selection, (ii) a previous one of the switch decisions, and (iii) a current one of the switch decisions; 2. The method of claim 1, further comprising: performing a switch to enable and select based on the state descriptor such that the switch to enable and select is a function of both the switch selection indication, the previous switch decision, and the current switch decision.
3. The method of claim 1 , wherein initiating the hold time includes resetting a timer that counts the hold time.
4. The method of claim 1 , wherein detecting comprises detecting a succession of the switching decisions that indicates the change.
5. 2. The method of claim 1, wherein successfully enabling comprises successfully enabling the change if all of the subsequent switch decisions over the hold time indicate selecting the second audio source.
6. 2. The method of claim 1, further comprising: if the change does not successfully take effect for the hold time, not switching to selecting the second audio source as the source for the output audio, and repeating detecting the change, starting the hold time, and taking effect for the hold time.
7. 7. The method of claim 6, wherein failing to successfully enable comprises failing to successfully enable if any of the subsequent switching decisions during the hold time indicate selecting the first audio source.
8. selecting includes selecting the broadcast radio signal instead of the wireless network connection; the change in selection being to select the wireless network connection over the broadcast radio signal; The method of claim 1 , wherein switching to select comprises switching to select the wireless network connection instead of the broadcast radio signal.
9. selecting includes selecting the wireless network connection instead of the broadcast radio signal; the change in selection is to select the broadcast radio signal instead of the wireless network connection; The method of claim 1 , wherein switching to a selection comprises switching to a selection of the broadcast radio signal instead of the wireless network connection.
10. if the first audio source is the broadcast radio signal and the second audio source is the wireless network connection, the hold time comprises a first hold time; 2. The method of claim 1, wherein when the first audio source is the wireless network connection and the second audio source is the broadcast radio signal, the hold time comprises a second hold time that is different from the first hold time.
11. Deriving each switching decision is deriving a variation index from the variation of said reception metrics over time that indicates audio quality variations that are likely to be noticeable to a listener; and deriving each switching decision to select one of the audio sources based on previous switching decisions and the variability indicator.
12. 1. A hybrid radio receiver configured to independently recover audio from audio sources including a broadcast radio signal and a wireless network connection, comprising: selecting the broadcast radio signal as a source for output audio; periodically deriving switching decisions each indicating a selection of one of the audio sources as the source for the output audio based on reception metrics indicative of a quality of the audio in the broadcast radio signal; upon detecting a first change in the switching decision to select the wireless network connection instead of the broadcast wireless signal while the broadcast wireless signal is selected as the source for audio output, first enabling the first change for a first hold time based on a first subsequent switching decision occurring during the first hold time; upon successful first enabling of the first change, switching to select the wireless network connection as the source for the output audio.
13. 13. The method of claim 12, wherein successfully first enabling comprises successfully first enabling the first change only if all of the first subsequent switching decisions over the first hold time indicate selecting the wireless network connection.
14. 14. The method of claim 13, further comprising: if not successfully first enabling the first change for the first hold time, not switching to selecting the wireless network connection as the source for the output audio, and repeating detection, starting the first hold time, and first enabling the first change for the first hold time.
15. after selecting the wireless network connection, upon detecting a second change in the switching decision to select the broadcast radio signal instead of the wireless network connection, second enabling the second change for a second hold time based on a second subsequent switching decision occurring during the second hold time; 13. The method of claim 12, further comprising: upon successfully enabling the second change for the second hold time, second switching to selecting the broadcast radio signal as the source for audio output.
16. 16. The method of claim 15, wherein the first hold time and the second hold time are equal.
17. The method of claim 15 , wherein the first hold time and the second hold time are different.
18. a receiver that independently recovers audio from audio sources including a broadcast radio signal and a wireless network connection, and derives a reception metric indicative of a quality of the audio from the broadcast radio signal; a selector for selecting from said audio sources for the source of output audio; instructing the selector to select a first one of the audio sources and not select a second one of the audio sources as the source for the output audio; periodically deriving switching decisions for the source of the output audio based on the reception metrics, each switching decision indicating to select one of the audio sources; upon detecting a change in the switching decision to select the second audio source instead of the first audio source while the first audio source is selected, initiating a hold time, and enabling the change for the hold time based on subsequent switching decisions occurring during the hold time; and upon successfully enabling the change over the hold time, instructing the selector to select the second audio source instead of the first audio source as the source for the output audio.
19. 20. The hybrid radio of claim 18, wherein the controller is configured to perform the detection by detecting successive switching decisions of the switching decisions indicating the change while selecting the first audio source as the source for the output audio.
20. 20. The hybrid radio of claim 18, wherein the controller is configured to successfully perform the enable by successfully enabling the change if all of the subsequent switch decisions over the hold time indicate selecting the second audio source.