Patent Description:
Wireless audio playback devices such as wireless headphones, wireless earphones or wireless speakers frequently employ short range wireless communication protocols, such as Bluetooth, to communicate with a user device. The user device (e.g. a smartphone or tablet) is used to control the operation of the wireless audio playback device, e.g. the user device streams audio content for playback to the wireless audio playback device wherein the audio content is stored on the user device or accessed from a remote device by the user device. Similarly, the wireless audio playback device may be used to control the operation of the user device or transmit audio picked up by a microphone of the wireless audio playback device to the user device. In one such example the wireless audio playback device is a set of wireless headphones wherein the user may issue a voice command or press a button on the wireless headphones to e.g. pause audio content playback or answer an incoming voice call.

Furthermore, the user device may comprise proprietary software (e.g. an app installed by the user) for performing more advanced configuration or firmware updates of a connected wireless audio playback device. In some examples, the user downloads and installs an app on his/her smartphone which is connected using an active Bluetooth connection to the wireless audio playback device so that the user, using the app, e.g. can configure the equalization or active noise cancellation of the wireless audio playback device or update a firmware of the wireless audio playback device. Accordingly, the proprietary software of the user device may request update data from a remote device which is conveyed to the user device using e.g. a Wi-Fi or mobile network. The user device stores the update data and performs an update of the wireless audio playback device over the active Bluetooth connection.

A problem with the above solutions for updating the firmware of wireless audio playback devices is that the user often must install proprietary software on his/her user device in addition to performing a pairing procedure between the user device and the wireless audio playback device. Accordingly, many users will simply not install the proprietary software on their user device meaning that the connected wireless audio playback device cannot be updated or subjected to other advanced configurations requiring the proprietary software. Additionally, even if a user installs the proprietary software the user must establish the right conditions for the update to occur, including turning on the wireless audio playback device, connecting the wireless audio playback device to the user device, launching the proprietary application when the user device has network access to the remote device, initializing the update procedure and waiting for the update to complete. If the user has many different types of wireless audio playback devices the user may have to perform the same procedure for each wireless audio playback device, potentially using different proprietary software for each type of wireless audio playback device.

To circumvent the above problems with a labor-intensive procedure for updating connected wireless audio playback devices some solutions have been presented wherein the proprietary software runs in the background of the user device. When the wireless audio playback device is connected to the user device the proprietary software runs in the background and obtains update data which is used to update the wireless audio playback device. However, in many situations the wireless audio playback device cannot be used for playback during the updating procedure and/or the wireless audio playback device must reboot to perform the update. Accordingly, firmware update processes running in the background of the user device may interfere with the usability of the wireless audio playback device or the right conditions for performing the update in the background without interfering with the usability (e.g. the wireless audio playback device being connected to the user device but not playing back or recording audio content) may only occur infrequently. For instance, updating may only occur when the wireless audio playback device is turned on, wirelessly connected to the user device and not in use for audio playback.

Document <CIT> discloses systems and methods for updating functionality of vehicular computing devices. In particular, these systems and methods utilize an intermediary courier device to propagate update packages from an update server to a vehicular computing device. The courier device obtains the update package while connected to a first network, e.g., the Internet, and transfers the update package to the vehicular computing device when in communication with the vehicular computing device. The vehicular computing device then installs the update package when doing so is compatible with an operation state of the vehicle (or an operation state of the vehicular computing device). The vehicular computing device may schedule installation of the update package for a time when the operation state is compatible with installation of the update package.

Document <NPL>] is an online article that discloses common general knowledge about Bluetooth Low Energy, BLE.

In view of the drawbacks of existing solutions there is a need for an improved method for updating wireless audio playback devices. It is a purpose of this disclosure to provide such an improved method and a system for performing firmware updates of a wireless audio playback device.

According to a first aspect of the invention there is provided a method for updating a firmware of a wireless audio playback device according to claim <NUM>.

With the sleep state it is meant a state of the wireless audio playback device with reduced power consumption in comparison to an active operation state. The sleep state may be a turned-off state, or a standby state, wherein at least means for time keeping are active to trigger the wireless audio playback device to automatically enter the temporary broadcasting mode and/or temporary listening mode.

With conveying data (e.g. firmware version information) from one entity to another (e.g. from the wireless audio playback device to the external device) it is meant transmitting the data from one of the entities to the other one of the entities.

With a wireless audio playback device it is meant a device capable of receiving audio content indicative of an audio signal over a wireless communication protocol and playback of the audio signal with one or more loudspeaker elements or equivalent. The wireless audio playback device may e.g. be a set of wireless earphones, wireless headphones, wireless earbuds (for personal listening) or a wireless speaker (for listening in proximity to the speaker).

The invention is at least partially based on the understanding that by configuring the wireless audio playback device to automatically enter the temporary broadcasting mode and temporary listening mode, the firmware of the wireless audio playback device will be automatically updated with the aid of the external device without any user interaction. Consequently, the user will use the wireless audio playback device with the latest firmware without having to manually start an updating procedure with a user device. Accordingly, the user device may be used with the wireless audio playback device for merely streaming of audio content (from e.g. a user device) whereas firmware updates are carried out over a separate communication path (via an external device). As most users will not install any required proprietary software on the user device or initiate the update procedure using the proprietary software the present invention will enable wireless audio playback devices to be updated more frequently which enhances the listening experience.

In some implementations, the first communication protocol is a Bluetooth communication protocol and/or the second communication protocol is a Wi-Fi or wired communication protocol. Accordingly, the method may be implemented in a Bluetooth enabled wireless audio playback device and a Bluetooth enabled external device which additionally is capable of communicating with the remote device using Wi-Fi or a wired connection.

The external device may be a wireless speaker. A wireless speaker is commonly provided with communication means for communicating using both a first and second communication protocol whereas the wireless audio playback device is commonly only enabled to communicate using the first communication protocol.

In some implementations, controlling the wireless audio playback device to automatically enter the temporary broadcasting mode comprises at least one of controlling the wireless audio playback device to periodically enter the temporary broadcasting mode and automatically enter the temporary broadcasting mode at a predetermined time of day (e.g. during nighttime such as between <NUM>:<NUM> am and <NUM>:<NUM> am). That is, the wireless audio playback device may periodically attempt to update its firmware which ensures that a latest firmware is installed soon after it is made available, and the wireless audio playback device may initiate the update procedure when the wireless audio playback device is expected to not be used (for audio playback). If the wireless audio playback device is e.g. used for playback when an attempt to update the firmware is made the update procedure may be postponed until a later point in time.

Further, the wireless audio playback device may be controlled to automatically exit the temporary broadcasting mode and temporary listening mode to return to the sleep state, allowing the wireless audio playback device to conserve power. The wireless audio playback device may exit the temporary broadcasting mode and temporary listening mode at a same or two different points in time, wherein the wireless audio playback device enters the sleep state at the point in time occurring the latest.

In some implementations, the wireless audio playback device is operable in an operation state in which the wireless transceiver is active by default and the method further comprises receiving, by the wireless audio playback device in the operation state, audio content transmitted by a user device and rendering the audio content to at least one loudspeaker element of the wireless audio playback device in the operation state. That is, the method may comprise controlling the wireless audio playback device to exit the operation state and enter the sleep state meaning that the audio playback device may be used to playback audio content whereafter the wireless audio playback device is put in the sleep state and updated so as to have the latest firmware installed when the user again uses the wireless audio playback device in the operation state.

In some implementations, the external device is a first external device, and the method further comprises conveying, with the wireless audio playback device in the temporary broadcasting mode, firmware version information to at least one additional external device using the first communication protocol and determining that the first external device is associated with a lower update cost value than the at least one additional external device, wherein the update cost value of each external device is based on the device properties of the external device or the communication properties of the external device.

In general, two or more external devices may receive the firmware version information and negotiate with each other to determine the most suitable external device (i.e. the external device associated with the lowest update cost) for carrying out the updating procedure. As a result, the most suitable external device will perform the update procedure while the at least one additional external device does not take part in the updating procedure.

According to a second aspect of the invention there is provided an updating system according to claim <NUM>.

According to a third aspect of the invention there is provided a computer readable computer program product according to claim <NUM>.

The invention according to the second and third aspect features the same or equivalent benefits as the invention according to the first aspect. Any functions described in relation to the method, may have corresponding features in a system or device or computer program product.

These and other aspects of the invention will now be described in more detail, with reference to the appended drawings showing exemplary embodiments of the present invention, wherein:.

With reference to <FIG> there is illustrated a wireless audio playback device <NUM> according to embodiments of the present invention. The wireless audio playback device <NUM> may be a set of wireless earphones, headphones or earbuds or any type of audio device suitable for personal listening. The wireless audio playback device <NUM> may alternatively be a wireless loudspeaker adapted to emit a sound which is perceived by one or more persons in the environment. The wireless audio playback device <NUM> may be a portable device meaning that it is small and light enabling a user to carry the wireless audio playback device <NUM> and use it in different locations.

In some implementations, the wireless audio playback device <NUM> also comprises one or more microphones (not shown) wherein the wireless audio playback device <NUM> may act as headset for both audio playback using the one or more loudspeaker elements and audio pick-up using the one or more microphones.

The wireless audio playback device <NUM> is powered by a power source <NUM>. The power source <NUM> may comprise a rechargeable battery and/or a replaceable battery and the power source <NUM> is configured to supply power to components of the wireless audio playback device <NUM>. For instance, a power source <NUM> comprising a battery enables the user to use the wireless audio playback device <NUM> at home, outdoors, at the gym or while commuting without access to the utility power grid.

The wireless audio playback device <NUM> comprises a transceiver unit <NUM> comprising an RF receiver <NUM> and an RF transmitter <NUM> configured to enable wireless communication using a first communication protocol. That is, using the transceiver <NUM> the wireless audio playback device <NUM> transmits and receives data to/from an external device over the first communication protocol.

Accordingly, the wireless audio playback device <NUM> may e.g. receive and transmit audio content using the transceiver <NUM> over the first communication protocol. For instance, a user device (such as a smartphone, tablet or laptop) may be connected to the wireless audio playback device <NUM> and transmit audio content to the wireless audio playback device <NUM> whereby the wireless audio playback device <NUM> renders the audio content to one or more loudspeaker signals which in turn are fed to one or more loudspeaker elements <NUM> of the wireless audio playback device <NUM>. Similarly, the wireless audio playback device <NUM> may transmit data to the user device (e.g. data associated with audio picked up by a microphone of the wireless audio playback device <NUM>) using the first communication protocol. The audio content is indicative of one or more audio signals. For instance, the audio content is associated with a mono audio format, stereo audio format or spatial audio format.

In some implementations, the first communication protocol is a Bluetooth communication protocol wherein the transceiver <NUM> is a Bluetooth transceiver. The Bluetooth communication protocol may be a Bluetooth-low-energy (BLE) communication protocol with a communication range of approximately <NUM> to <NUM> meters (depending on the presence of walls or other obstacles).

The wireless audio playback device <NUM> further comprises a processor <NUM> for controlling the operation of the wireless audio playback device <NUM>. That is, the processor <NUM> is or comprises a controller. For example, the processor <NUM> also performs audio processing on received audio content wherein the audio processing comprises at least one of: rendering the audio content to one or more loudspeaker feed signals, applying equalization, performing active or passive noise cancellation, and applying one or more filters.

The processor <NUM> may further control the activation/inactivation and/or operation of the transceiver <NUM>, process data in the data storage unit <NUM> and/or control the power state of the wireless audio playback device <NUM> including turning the wireless audio playback device <NUM> off, putting the wireless audio playback device <NUM> into a sleep state, putting the wireless audio playback device <NUM> into a temporary broadcasting mode and/or putting the wireless audio playback device <NUM> into a temporary listening mode. The processor <NUM> may be configured to control the wireless audio playback device <NUM> to automatically enter the sleep state when the wireless audio playback device is not in use. In one implementation, the wireless audio playback device <NUM> further comprises a proximity sensor or motion sensor (not shown) which communicates with the processor <NUM> and enables the processor <NUM> to establish whether the wireless audio playback device <NUM> is in use or not.

The operation of the processor <NUM> may be described at least partially by the firmware <NUM> stored in the data storage unit <NUM>. For instance, the firmware <NUM> includes data specifying the rendering of the audio content to the loudspeaker element(s) <NUM>, processing of the audio content or rendered loudspeaker signals and/or details of an active or passive noise cancellation to be performed. It is understood that the firmware <NUM> of the wireless audio playback device <NUM> may at least partially define any operation of the wireless audio playback device <NUM> or the components of the wireless audio playback device <NUM>. In many applications it is desirable to make as many operations of the components as possible configurable based on the firmware <NUM> to enable updating the wireless audio playback device <NUM> without performing physical servicing of the components, performing replacement of components and/or replacing the wireless audio playback device <NUM> entirely. A non-exhaustive list of operations which may at least partially be defined by the firmware <NUM> comprises audio processing algorithms (such as filtering, delay, equalization or reverberation), processing relating to active noise cancelling (ANC) or transparency, processing of the microphone signal(s), user interface (such as detection of touch buttons or other controls of the wireless audio playback device <NUM>), communication over the first communication protocol and settings for any components of the wireless audio playback device <NUM> such as the amplifiers of the of the loudspeaker element(s), the transceiver <NUM> and data storage unit <NUM>.

In some implementations, the wireless audio playback device <NUM> further comprises an auxiliary data storage location <NUM>. The auxiliary data storage location <NUM> may be provided in a separate data storage unit of the wireless audio playback device <NUM> or a partition of the data storage unit <NUM> which also stores the firmware <NUM>. The auxiliary data storage location <NUM> is e.g. used to temporarily store audio content (i.e. acting as a buffer) and/or storing update data for updating the firmware <NUM> to a new firmware version.

With further reference to <FIG> there is illustrated a block diagram of an external device <NUM> according to some implementations. The external device <NUM> may be a smart speaker or wireless speaker comprising at least one loudspeaker element <NUM> outputting sound to the environment of the external device <NUM>. In contrast to the wireless audio playback device <NUM> described in the above, the external device <NUM> may be intended for stationary use. For instance, the external device <NUM> is a wireless speaker which is powered by connecting a power connector <NUM> of the external device <NUM> to the utility power grid. Alternatively or additionally, the external device <NUM> is powered by a rechargeable or replaceable battery. In some implementations, the external device <NUM> has a weight exceeding <NUM> kilogram, <NUM> kilograms, <NUM> kilograms, <NUM> kilograms, <NUM> kilograms or <NUM> kilograms. For instance, the external device <NUM> is a stationary device powered by the utility power grid only and has a weight exceeding <NUM> kilograms.

The external device <NUM> may comprise one or more microphones (not shown) used to pick-up sound such as the user's speech.

The external device <NUM> comprises a processor <NUM> configured to control the operation (e.g. activating/inactivating) at least one transceiver 24a, 24b of the external device <NUM> and/or perform audio processing of audio content which is to be rendered to the at least one loudspeaker element <NUM> or which has been picked up by the one or more microphones.

The external device <NUM> is configured to communicate using the first communication protocol and using a second communication protocol. In some implementations, the external device <NUM> comprises a first and second transceiver 24a, 24b for enabling communication using the first and second communication protocol respectively. Alternatively, the first and second communication protocol is supported by a same transceiver 24a which can communicate using both the first and second communication protocol either simultaneously or interchangeably. The first communication protocol is a wireless communication protocol (such as Bluetooth) and the second communication protocol is either a wired or wireless communication protocol such as a communication protocol chosen from a group comprising: wired communication using a wired communication protocol (such as an ethernet protocol), wireless communication using Wi-Fi IEEE <NUM>, wireless communication using ZigBee, wireless communication using Z-Wave, wireless communication over a cellular network (such as LTE or <NUM>).

In some implementations, the second communication protocol is a wireless or wired communication protocol different from the first communication protocol. In one such implementation, the first communication protocol is a Bluetooth communication protocol (such as BLE) and the second communication protocol is a Wi-Fi communication protocol (such as b, g, n, ac or ax type Wi-Fi). The external device <NUM> may be a stationary wireless speaker, e.g. a Wi-Fi speaker, offering connectivity using both Bluetooth (to e.g. receive audio content from a user device) and Wi-Fi (to e.g. receive audio content streamed from a remote device implementing an online music streaming service).

The processor <NUM> may further be configured to control the at least one transceiver 24a, 24b to receive firmware version information from the wireless audio playback device <NUM> and pass this information to a remote device using the second communication protocol. Optionally, the external device <NUM> comprises a data storage unit <NUM> for temporarily storing firmware version information from the wireless audio playback device <NUM> and/or update data intended for the wireless audio playback device <NUM>.

<FIG> illustrates the communication between the wireless audio playback device <NUM> and the external device <NUM> during the updating procedure. With further reference to <FIG> and the flowchart of <FIG> which describes a method of the present invention details of the updating procedure will now be presented.

At step S1 the wireless audio playback device <NUM> is controlled to enter the sleep state. For instance, the wireless audio playback device <NUM> enters the sleep state after the wireless audio playback device <NUM> has been in the operation state comprising receiving audio content transmitted to the wireless audio playback device <NUM> from a user device and performing playback of the audio content via a loudspeaker element <NUM> of the wireless audio playback device <NUM>. In the sleep state at least the transceiver unit <NUM> of the wireless audio playback device <NUM> is inactive by default and the processor <NUM> (and other components) of the wireless audio playback device <NUM> may enter an idle or turned-off state.

At step S2 the wireless audio playback device <NUM> is configured to automatically enter the temporary broadcasting mode. For instance, the wireless audio playback device <NUM> is configured to automatically enter the temporary broadcasting mode after a predetermined period of time has elapsed since the wireless audio playback device <NUM> entered the sleep state. Alternatively, the wireless audio playback device <NUM> is configured to automatically enter the temporary broadcasting mode at a predetermined time of day or time of week. For example, the wireless audio playback device <NUM> is configured to automatically enter the temporary broadcasting mode at nighttime (e.g. between midnight <NUM>:<NUM> am and early morning <NUM>:<NUM> am). In some implementations, the wireless audio playback device <NUM> is configured to automatically enter the temporary broadcasting mode at a time when the wireless audio playback device <NUM> is expected to not be in use (which e.g. may be enabled by keeping a record of times when the wireless audio playback device <NUM> is used).

At step S3 the wireless audio playback device <NUM> conveys firmware version information to the external device <NUM> using the first communication protocol P1 (e.g. Bluetooth). To accomplish this, the wireless audio playback device <NUM> is in the temporary broadcasting mode in which at least the transmitter <NUM> of the transceiver unit <NUM> is active. For instance, the firmware version information is broadcasted as a Bluetooth beacon which is received by the external device <NUM>. The firmware version information is indicative of at least one of: a model (or type) of the wireless audio playback device <NUM> and the version of the current firmware of the wireless audio playback device <NUM>. Optionally, the wireless audio playback device <NUM> also conveys usage analytics data to the external device <NUM> and/or further data indicative of e.g. the battery charge level of the wireless audio playback device <NUM>.

At step S4 the wireless audio playback device <NUM> is controlled to automatically enter a temporary listening mode in which at least a receiver <NUM> of the wireless audio playback device <NUM> is active. The temporary listening mode may at least partially overlap in time with the temporary broadcasting mode and/or the temporary listening mode may start after the temporary broadcasting mode has ended.

At step S5 the external device <NUM> conveys the firmware version information to the remote device <NUM> over the second communication protocol P2. Alternatively, the external device <NUM> determines that it is not capable of continuing the update procedure (e.g. the remote device <NUM> may be unreachable) whereby the external device <NUM> conveys a notice of no available external device <NUM> to the wireless audio playback device <NUM>.

Moreover, the external device <NUM> may be configured to transmit a notice of acknowledgement to the wireless audio playback device <NUM> as soon as the firmware version information is received.

The remote device <NUM> may be a remote server or cloud implementation providing firmware update services. The remote device <NUM> analyzes the firmware version information and determines if a new firmware version is available. If a new firmware version is available, the remote device <NUM> conveys the update data to the external device <NUM> over the second communication protocol P2. If no new firmware version is available (e.g. the firmware version information may indicate an installed firmware being the latest firmware) the remote device <NUM> may convey a notice of no available update to the external device <NUM> over the second communication protocol P2.

At step S6 the external device <NUM> receives the update data (or the notice of no available update) from the remote device <NUM> and at step S7a the external device <NUM> transmits the update data (or notice of no available update) to the wireless audio playback device <NUM>. At step S7b the wireless audio playback device <NUM> receives the update data over the first communication protocol P1. In some implementations, the update data is at least temporarily stored in a data storage unit <NUM> of the external device <NUM>. For instance, the update data is stored until the update data can be conveyed to the wireless audio playback device <NUM>.

To preserve power the wireless audio playback device <NUM> will only remain in the temporary broadcasting mode and temporary listening mode for a predetermined duration of time. For instance, after the firmware version information has been broadcasted the wireless audio playback device <NUM> enters the temporary listening mode and remains in the temporary listening mode for less than <NUM> seconds, such as less than <NUM> seconds or less than <NUM> second. If no data is conveyed from an external device <NUM> to the wireless audio playback device <NUM> in this time the wireless audio playback device <NUM> may revert to the sleep state and if data is conveyed from an external device <NUM> the wireless audio playback device <NUM> may remain in the temporary listening mode until the data transfer has completed. It is understood that the transfer of the update data from the external device <NUM> to the wireless audio playback device <NUM> may take up to <NUM> minute, or even several minutes or more than <NUM> minutes depending on the size of the update data. A new update procedure may then be attempted by the wireless audio playback device <NUM> at a later point in time, e.g. after a predetermined elapsed time (such as <NUM> minutes or <NUM> hour) since the first update procedure was attempted.

In some implementations, the method goes to step S41 after the firmware version information is conveyed to the external device <NUM> at step S3 wherein step S41 involves controlling the wireless audio playback device <NUM> to automatically exit the temporary broadcasting mode. As the wireless audio playback device <NUM> may not need to transmit any further information the wireless audio playback device <NUM> may exit the temporary broadcasting mode immediately after the firmware version information has been broadcasted.

Similarly, the wireless audio playback device <NUM> is controlled at step S81 to exit the temporary listening mode (and potentially also the temporary broadcasting mode) and return to the sleep state if at least one of the following events occur: (a) a predetermined time has elapsed since the wireless audio playback device <NUM> entered/exited the temporary broadcasting mode or temporary listening mode, (b) a notice of no available update is received by the wireless audio playback device <NUM>, (c) a notice of no available external device <NUM> is received by the wireless audio playback device <NUM>, (d) no notice of acknowledgment is received during a predetermined elapsed time since the wireless audio playback device <NUM> entered/exited the temporary broadcasting mode or temporary listening mode and (e) the update data has been received.

At step S8 the firmware of the wireless audio playback device <NUM> is updated. The firmware may be updated while the wireless audio playback device <NUM> is in the temporary broadcasting and/or temporary listening mode or the firmware may be updated when the wireless audio playback device <NUM> has exited the temporary broadcasting or temporary listening mode but prior to reverting to the sleep state. After step S8 the method repeats with step S1 comprising controlling the wireless audio playback device <NUM> to enter the sleep state.

Optionally, the wireless audio playback device <NUM> reboots after the update is completed and/or returns to the sleep state after reboot or completion of the firmware update. Moreover, the firmware update may be aborted if the user starts using the wireless audio playback device <NUM> whereby the firmware update is resumed when the wireless audio playback device <NUM> is no longer in use and e.g. returns to the sleep state.

It is understood that the flowchart of <FIG> is merely exemplary and that the order of many of the steps may different. For instance, step S4 may occur before step S3, before or at the same time as step S2 or later, such as after step S5 or S6. Additionally, step S41 may occur at any time after S3 and S81 may occur any time after S7b, e.g. step S41 and S81 may occur after step S8. In another example, controlling the wireless audio playback device <NUM> to enter the sleep state at step S1 may involve one or more of step S41 and S81 meaning that controlling the wireless audio playback device <NUM> to enter the sleep state may involve controlling the wireless audio playback device <NUM> to exit at least one of the temporary broadcasting mode and the temporary listening mode.

<FIG> and <FIG> depict different time-schedules of different events occurring in the wireless audio playback device <NUM> and the external device <NUM> during an updating procedure. In <FIG> and <FIG> events occurring in the external device <NUM> are depicted above the time axis and events occurring in the wireless audio playback device <NUM> are depicted below the time axis.

With reference to <FIG> and <FIG>, the wireless audio playback device <NUM> is at time t < t<NUM> in its sleep state S and at time t = t<NUM> the wireless audio playback device <NUM> enters the temporary broadcasting mode B. During the temporary broadcasting mode B the wireless audio playback device <NUM> transmits (broadcasts) firmware version information over the first communication protocol P1 and the external device <NUM> receives the firmware version information of the wireless audio playback device <NUM> during RP1.

Following RP1 the external device <NUM> enters a negotiation phase N with at least one additional external device <NUM>. The negotiation phase N will be described in more detail in connection to <FIG> in the below.

At t = t<NUM> the wireless audio playback device <NUM> enters the temporary listening mode L and between t = t<NUM> and t = t<NUM> the wireless audio playback device <NUM> is in a temporary broadcasting and listening mode B/L. At t = t<NUM> the wireless audio playback device <NUM> exits only the temporary broadcasting mode B and remains in the temporary listening mode L to await update data (or a notice of no available update) from the external device <NUM>. Meanwhile, the external device <NUM> has transmitted the firmware update information to the remote device <NUM> using the second communication protocol P2 during TP2 and received update data (or a notice of no available update) from the remote device <NUM> using the second communication protocol P2 during RP2.

When the wireless audio playback device <NUM> is in the temporary listening mode between t = t<NUM> and t = t<NUM> the external device <NUM> starts transmitting the firmware update data (or a notice of no available update) to the wireless audio playback device <NUM> using the first communication protocol P1 during TP1 whereby at t = t<NUM> the wireless audio playback device <NUM> starts the process U of updating the firmware.

It is noted that the transmission of the update data during TP1 from the external device <NUM> to the wireless audio playback device <NUM> may continue beyond t = t<NUM>. While some firmware updates require that the complete firmware update data is available locally on the wireless audio playback device <NUM> some updates are performed with the aid of an active communication with the external device <NUM>. For instance, the external device <NUM> transmits the firmware update data to the wireless audio playback device <NUM> in portions wherein the wireless audio playback device <NUM> performs a partial firmware update with each portion of firmware data. In another example, the external device <NUM> may assist the wireless audio playback device <NUM> in performing the firmware update by extracting firmware update instructions or otherwise processing at least a portion of the firmware update data and transmitting the extracted instructions or processed firmware update data to the wireless audio playback device <NUM>.

To this end, some implementations involve the wireless audio playback device <NUM> remaining in the temporary listening and/or temporary broadcasting mode during at least a part of the process U of updating the firmware to transmit and/or receive data from the external device <NUM>. For instance, the wireless audio playback device <NUM> may transmit a notice to the external device <NUM> when a first part of the firmware update has been completed to indicate that update data associated with a next part of the firmware update process U is required. Alternatively, the complete firmware update data is available locally on the wireless audio playback device <NUM> whereby the updating process U may involve inactivating the transceiver <NUM> of the wireless audio playback device <NUM> to conserve power.

Between t = t<NUM> and t = t<NUM> the wireless audio playback device <NUM> performs a reboot procedure R and at t = t<NUM> the wireless audio playback device <NUM> reenters the sleep state S with the new firmware version installed.

With reference to <FIG> and <FIG> an alternative time-schedule is depicted to illustrate the predetermined intermediate time period. The start of the temporary listening mode L may deliberately be delayed (with respect to the timing-schedule of <FIG>) to a point in time after the wireless audio playback device <NUM> has exited the temporary broadcasting mode B. As seen in <FIG> the wireless audio playback device <NUM> enters the temporary broadcasting mode B at t = t<NUM> and exits the temporary broadcasting mode B at t = texit wherein texit occurs sometime before the wireless audio playback device <NUM> enters the temporary listening mode L at t<NUM>. That is, a predetermined intermediate time period is defined between texit and t<NUM> which may correspond to an expected time required for the external device <NUM> to revert with either update data or a notice. During this predetermined intermediate time period the wireless audio playback device <NUM> may revert to the sleep state S to conserve power. Similar to the timing-schedule of <FIG>, in the timing-schedule of <FIG> the wireless audio playback device <NUM> continues by starting the update process U at t = t<NUM>, rebooting at t = t<NUM> and reverting to the sleep state at t = t<NUM>.

Optionally, the external device <NUM> transmits a notice of acknowledgement during RP1 which is received by the wireless audio playback device <NUM> during RP1 and, in response to receiving the notice of acknowledgement, the wireless audio playback device may reenter the sleep state S immediately until time t<NUM>, or the (expected) start of TP1. As the optional negotiation N and the interaction with the remote device <NUM> during TP2 and RP2 will take some time for the external device <NUM>, the wireless audio playback device <NUM> may enter the sleep state S until a time when the external device <NUM> is expected to be ready to transmit firmware update data to conserve power. To receive a notice of acknowledgement, the wireless audio playback device <NUM> may be controlled to automatically enter a temporary broadcasting and listening mode B/L already at t = t<NUM>.

It is further noted that any operation of the wireless audio playback device <NUM> and the external device <NUM> (and the remote device <NUM>), such as the operations described in relation to <FIG> and <FIG> in the above may be aborted or at least postponed by the user starting to use the wireless audio playback device <NUM>. That is, even if the update procedure has been initiated the user may still use the wireless audio playback device <NUM> when desired.

With further reference to <FIG> the communication during the negotiation phase N is depicted wherein the wireless audio playback device <NUM> conveys firmware version information to at least two external devices 20a, 20b such as a first external device 20a and at least one additional external device 20b. In some implementations, the wireless audio playback device <NUM> is within communication range of more than one external device 20a, 20b capable of receiving the firmware version information. For instance, there may be at least two wireless speakers within communication range of the wireless audio playback device <NUM> wherein the wireless speakers act as external devices 20a, 20b.

When the external devices 20a, 20b have received the firmware update information from the wireless audio playback device <NUM> during RP1, the first external device 20a and at least one additional external device initiate a negotiation process N using the first communication protocol P1 and/or the second communication protocol P2. During the negotiation phase N it is determined which one out of the at least two external devices 20a, 20b shall continue the update procedure and e.g. convey the firmware version information to the remote device <NUM>.

During the negotiation process N an update cost is determined for each of the at least two external devices 20a, 20b. The update cost is given by a function with at least one variable based on a device property of the external device 20a, 20b and/or a communication property of the external device 20a, 20b.

The device property may be at least one property chosen from a group consisting of: the type of power source for the external device 20a, 20b (e.g. battery powered or powered by an external power source), the charge level of the battery, the processing power of the external device 20a, 20b, the available amount of data storage in the external device 20a, 20b, the second communication protocol P2 used by the external device and whether the external device 20a, 20b is capable of performing the updating procedure while being used for other tasks (such as playback of audio).

The communication property may be at least one property chosen from a group consisting of: a signal strength indicator for communication with the wireless audio playback device <NUM> and a signal strength indicator for communication with the remote device <NUM>.

The update cost indicates the cost in terms of energy consumption and/or estimated time required to perform the update procedure. For instance, an external device 20a, 20b powered by a battery, with a low signal strength for communication with the wireless audio playback device <NUM> and which must abort its current audio playback to perform the update will be associated with a higher update cost in comparison with an external device 20a, 20b which is powered by external power, has a high signal strength for communication with the wireless audio playback device <NUM> and which is capable of performing the update procedure in the background while performing other functions (such as playback of audio).

During the negotiation procedure each external device 20a, 20b determines its update cost and transmits the update cost (using the first or second communication protocol P1, P2) to an external device 20a, 20b which performs the comparison of the update costs to determine which external device 20a, 20b is associated with the lowest update cost and shall continue the updating procedure. Alternatively, each external device transmits its device properties and/or communication properties to an external device which calculates the update cost and performs the comparison of the update costs to determine which external device 20a, 20b is associated with the lowest update cost and shall continue the updating procedure.

When the external device 20a, 20b which is associated with the lowest update cost has been determined, the determined external device 20a, 20b is notified and continues the updating procedure by initiating TP2 and communication with the remote device <NUM>.

It is noted that the negotiation phase N and the communication between the first and additional external device 20a, 20b is entirely optional. For instance, without the negotiation phase N each external device 20a, 20b proceeds with the update procedure irrespective of the any other external device which also received the firmware version information from the wireless audio playback device <NUM>, whereby the external device 20a, 20b which firsts communicates firmware update data or a notice of no available update to the wireless audio playback device <NUM> continues with the update procedure.

Claim 1:
A method for updating a firmware (<NUM>) of a wireless audio playback device (<NUM>), wherein the wireless audio playback device (<NUM>) comprises a wireless transceiver (<NUM>) configured to communicate using a first communication protocol (P1), wherein said wireless audio playback device (<NUM>) is at least one of wireless headphones, wireless earphones and a wireless speaker, and wherein the wireless audio playback device (<NUM>) is operable in a sleep state in which said wireless transceiver (<NUM>) is inactive by default, said method comprising:
controlling (S1) said wireless audio playback device (<NUM>) to enter said sleep state;
controlling (S2) said wireless audio playback device (<NUM>) to, in said sleep state, automatically enter a temporary broadcasting mode in which at least a transmitter (<NUM>) of said wireless transceiver (<NUM>) is activated;
conveying (S3), with said wireless audio playback device (<NUM>) in the temporary broadcasting mode, firmware version information to a wireless speaker (<NUM>) using the first communication protocol (P1), the firmware version information being indicative of a firmware version of the wireless audio playback device (<NUM>);
controlling (S4) said wireless audio playback device (<NUM>) to automatically enter a temporary listening mode in which at least a receiver (<NUM>) of said wireless transceiver (<NUM>) is activated;
transmitting (S5), by the wireless speaker (<NUM>), the firmware version information to a remote device (<NUM>) over a second communication protocol (P2) different from said first communication protocol (P1);
receiving (S6), by the wireless speaker (<NUM>), update data from the remote device (<NUM>) over said second communication protocol (P2), wherein the remote device (<NUM>) has determined the update data based on the firmware version information and wherein the update data comprises instructions for updating the firmware of the wireless audio playback device (<NUM>);
transmitting (S7a), by the wireless speaker (<NUM>), the update data over the first communication protocol (P1);
receiving (S7b), by the wireless audio playback device (<NUM>) in the temporary listening mode, the update data over the first communication protocol (P1); and
updating (S8) the firmware of the wireless audio playback device (<NUM>) using the update data.