Method and system for controlling a Bluetooth device
Patent Information
- Application Number
- JP2023101831
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-11-26
- Filing Date
- 2023-06-21
- Publication Date
- 2025-03-03
- Estimated Expiration
- 2040-05-29
Smart Images

Figure 0007638329000002 
Figure 0007638329000003 
Figure 0007638329000004
Abstract
Description
[Technical field]
[0001] 2. Background of the Invention The present invention relates to wireless communications, and more particularly to a method for dynamically changing the configuration of a communication link between a Bluetooth source device and a Bluetooth multimedia (audio or video) sink device. [Background technology]
[0002] "Configuration" means a set of parameters that determine how data is transmitted between a source device and a sink device. These parameters are referred to as "configuration parameters." "Changing a configuration" means changing one or more configuration parameters in a set of configuration parameters.
[0003] In one or more embodiments, the Bluetooth sink device may be a Bluetooth speaker. By "speaker" is meant any electro-acoustic transducer that converts an electrical audio signal into a corresponding sound. The term "speaker" includes, for example, audio speakers such as stereo systems, headphones, earphones, hearing aids, etc. An audio source device (or simply "source device" or "source") may be, for example, a mobile phone, a portable game player, a portable media player, a computer, a tablet, a television, a control device for a stereo system, etc. In the following, the source device may also be referred to as a "master device".
[0004] Bluetooth is a communication standard well known to those skilled in the art, managed by an organization (Bluetooth SIG) that issues successive versions. Bluetooth allows two-way data exchange over short distances (it is a piconet network that designates a network that covers the personal zone). The range of Bluetooth devices is therefore limited to a few tens of meters. Bluetooth uses radio waves located in the UHF band (between 300 MHz and 3 GHz). Bluetooth aims to simplify the connection between electronic devices by eliminating cable connections. Bluetooth thus allows replacing the cables between source multimedia devices (hi-fi systems, car radios, computers, tablets, mobile phones, etc.) with wireless communication and multimedia sink devices, such as multiple speakers arranged to play the received multimedia streams. Bluetooth speakers have achieved a certain success due to their portability.
[0005] Typically, the configuration of a Bluetooth link between a source device and a sink device is determined when the connection is established and is not changed thereafter. For example, a master device may send a request to obtain the audio capabilities of a sink device and select suitable acoustic parameters for the link based on the response.
[0006] Several methods have been proposed in the prior art for dynamically adapting the audio bit rate based on the available Bluetooth bandwidth. For example, US Application No. 8,031,658 proposes dynamically changing the bit rate used for a codec based on the state of the Bluetooth connection. US Application No. 2013 / 0304458 relates to a source device where a controller is adapted to change acoustic parameters based on the bandwidth between communicating Bluetooth devices. Summary of the Invention [Problem to be solved by the invention]
[0007] That is, the prior art only proposes dynamically adapting acoustic parameters based on connection parameters to avoid choppy voice and improve user experience.
[0008] However, there are other situations in which the configuration adopted when establishing a connection between Bluetooth devices may not be the optimal configuration, and in such situations one may wish to dynamically change the configuration of the link.
[0009] Therefore, the objective of the present disclosure is directed to a method for dynamically changing the configuration (not just acoustic parameters) of a communication link between a Bluetooth source device and a Bluetooth multimedia sink device based on parameters (not necessarily connection parameters). [Means for solving the problem]
[0010] SUMMARY OF THE PRESENT APPLICATION The present invention relates to a method for operating a Bluetooth device, the method comprising: transferring audio information over the established Bluetooth communications link with the second device; determining a new operational mode of the Bluetooth communications link when the value of the operational parameter changes in the Bluetooth device or in the second device; modifying configuration parameters of the Bluetooth communications link based on the new mode of operation; and transferring the audio information over the Bluetooth communications link in accordance with the modified configuration parameters.
[0011] "Bluetooth communications link" means a communications link established in accordance with any Bluetooth protocol (e.g., as described in the Bluetooth Core Specification, version 5.1 or any earlier version), including Bluetooth Basic Rate / Enhanced Data Rate (Bluetooth BR / EDR) as well as Bluetooth low energy (LE).
[0012] In one or more embodiments, the operating parameters may be associated with an operating system running on the Bluetooth device or the second device.
[0013] Alternatively, the operating parameters may be associated with an application running on the Bluetooth device or the second device.
[0014] In one or more embodiments, the step of modifying the configuration parameters may be performed by the Bluetooth host.
[0015] Alternatively, the step of modifying the configuration parameters may be performed by the Bluetooth controller.
[0016] In one or more embodiments, the operating parameters include: Battery level, The type of gaming application launched on the Bluetooth device or the second device; Multimedia content read mode, or quality of multimedia content, It may be one of the following.
[0017] In one or more embodiments, the configuration parameters are: Audio configuration parameters, or Bluetooth connection parameters, It may be either one of the above.
[0018] For example, the configuration parameters are Codec type, Parameters for the codec, Type of data, Audio Channel Selection parameters, or Sampling rate parameters, The audio configuration parameter may be one of:
[0019] Another aspect of the present invention relates to a Bluetooth device, comprising: Bluetooth chip, A processor; A memory. transmitting audio information over the established Bluetooth communications link with the second device; determining a new operating mode of the Bluetooth communications link when the value of the operating parameter changes in the Bluetooth device or the second device; Modifying configuration parameters of the Bluetooth communications link based on the determined new mode of operation; It may be configured to transfer audio information over the Bluetooth communications link in accordance with the modified configuration parameters.
[0020] In one or more embodiments, the operating parameters may be associated with an operating system of the Bluetooth device or the second device.
[0021] Alternatively, the operating parameters may be associated with an application running on the Bluetooth device or the second device.
[0022] In one or more embodiments, the Bluetooth device may further comprise a Bluetooth controller, and the step of modifying the configuration parameter may be performed by the Bluetooth controller.
[0023] The Bluetooth device may further comprise a Bluetooth host, and alternatively, the step of modifying the configuration parameter may be performed by the Bluetooth host.
[0024] In one or more embodiments, the operating parameters include: Battery level, The type of application launched on the Bluetooth device or the second device; Multimedia content read mode, or quality of multimedia content, It may be one of In one or more embodiments, the configuration parameters are: Audio configuration parameters, or Bluetooth connection parameters, It may be either one of the above.
[0025] For example, the operating parameters are Codec type, Parameters for the codec, Type of data, Audio Channel Selection parameters, or Sampling rate parameters, The audio configuration parameter may be one of:
[0026] Alternatively, the operating parameters are: The flush timeout parameter, The channel type parameter, QoS (Quality of Service) parameters, Retry count parameter, One of the BLE link parameters, Packet type parameters, and MTU (maximum transmission unit) parameters, The Bluetooth connection parameters may be one of:
[0027] Another aspect is a non-transitory computer readable storage medium having stored thereon a computer program including program instructions, the computer program being readable into a data processing unit such that, when executed by the data processing device, the computer program causes the data processing unit to perform the steps of the method described above. Types of non-transitory computer readable storage media used in certain embodiments of the invention include magnetic hard disk drives (HDDs), fixed optical storage media, Field Programmable Gate Arrays (FPGAs), programmable Read-Only Memory (ROMs) or Flash RAM devices. These non-transitory computer readable storage media may be standalone or may be part of a larger Bluetooth enabled system.
[0028] In another aspect of the invention, a Bluetooth source device directs a Bluetooth communication link with a Bluetooth sink device. The Bluetooth source device also performs the steps of detecting a change in an operating parameter, modifying a configuration parameter of the communication link based on the change in the operating parameter, and transmitting audio information over the communication link in accordance with the configuration parameter. The modification of the configuration parameter may be performed, for example, by sending a configuration message to the Bluetooth sink device.
[0029] Additionally, detection of changes in operating parameters may occur, for example, by interacting with an operating system and / or applications running on the Bluetooth source device. Alternatively, the Bluetooth source device may be notified by a message received from the Bluetooth sink device that includes the operating parameters described herein, or by a notification such as low battery power, switching off the left or right speaker, a change in acoustic conditions, or a change in stereo mode. The change in operating parameters may be detected by a message indicating switching between stereo and mono modes.
[0030] In another aspect of the invention, the Bluetooth sink device performs the steps of communicating over a Bluetooth link, detecting local changes in operating parameters, and changing configuration parameters of the Bluetooth link, and then transmitting audio information over the Bluetooth link. The Bluetooth sink device may inform the Bluetooth source device of the changes in operating parameters by messaging, and may then change the configuration parameters in response to a control message from the Bluetooth source device, or may send a message to change the desired configuration after determining preferred configuration parameters.
[0031] Another aspect of the invention provides hardware and circuitry for performing the various steps described herein. For example, a Bluetooth device may include a Bluetooth chip configured to establish a communication link with a second Bluetooth device, a detection circuit for detecting a change in a value of an operating parameter, a determination circuit for determining a configuration parameter of the established communication link based on the operating parameter, and a modification circuit for modifying the configuration parameter of the established communication link based on the determined operating mode.
[0032] In yet another aspect of the invention, a Bluetooth device comprises a Bluetooth interface module for transmitting audio information to a second device, the Bluetooth interface module comprising a radio frequency processing circuit for converting signals received from the second device into received digital data and for converting output digital data into signals to be transmitted to the second device, a battery for storing power and having a battery charge, a battery monitoring circuit for detecting the battery charge of the battery, and a processor for executing an operating system layer including an application monitoring process and a Bluetooth control process, in addition to which the Bluetooth control process performs the steps of establishing a wireless link with the second device using the radio frequency processing unit, the link having a first configuration, the Bluetooth control process further performing the steps of monitoring operating parameters of the audio-related information being transmitted over the wireless link, and modifying configuration parameters of the link in response to changes in the operating parameters.
[0033] Other features and advantages of the methods and devices disclosed herein will become apparent from the following description of non-limiting embodiments, with reference to the accompanying drawings, in which:
[0034] The present invention is illustrated by way of example, and not by way of limitation, in the accompanying figures, in which similar elements are marked with the same reference numerals, and in which: [Brief description of the drawings]
[0035] [Figure 1] 1 is a flow chart illustrating a possible embodiment of the present invention. [Diagram 2] FIG. 1 shows a first possible embodiment of the present invention. [Diagram 3] FIG. 2 shows a second possible embodiment of the present invention. [Figure 4] FIG. 3 shows a third possible embodiment of the present invention. [Diagram 5] FIG. 4 shows a fourth possible embodiment of the present invention. [Figure 6] 1 is a possible embodiment of a device enabling the invention; [Figure 7] FIG. 2 illustrates example steps of a method according to a first aspect of the present disclosure. [Figure 8] FIG. 1 shows a flow chart of method steps according to a first embodiment of the present disclosure. [Figure 9] 1 illustrates an example of a Bluetooth data packet structure in accordance with the present disclosure. [Figure 10] FIG. 2 illustrates steps of a method according to a second aspect of the present disclosure. [Figure 11] 4 is a flowchart of method steps according to a third aspect of the present disclosure. [Figure 12] FIG. 4 illustrates steps of a method according to a third aspect of the present disclosure. [Figure 13] 11 is a diagram illustrating a Bluetooth communication link according to a third embodiment of the present disclosure. [Figure 14] FIG. 11 is a flow chart of method steps according to a fourth embodiment of the present disclosure. [Figure 15] FIG. 10 illustrates steps of a method according to a fourth aspect of the present disclosure. [Figure 16] FIG. 13 is a diagram illustrating a Bluetooth communication link according to a fourth aspect of the present disclosure. [Figure 17] FIG. 11 is a flowchart showing the steps of a method according to a fifth embodiment of the present disclosure. [Figure 18] FIG. 13 is a diagram illustrating a Bluetooth communication link according to a fifth aspect of the present disclosure. [Figure 19] FIG. 13 is a flowchart showing the steps of a method according to a sixth embodiment of the present disclosure. [Figure 20] FIG. 13 illustrates steps of a method according to a sixth aspect of the present disclosure. [Figure 21] 13 is a diagram illustrating a Bluetooth communication link according to a sixth embodiment of the present disclosure. [Figure 22] FIG. 2 illustrates a circuit structure according to an aspect of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0036] Description of the Preferred Embodiment FIG. 1 is a flow chart illustrating a possible embodiment of the present invention.
[0037] The steps of the flowchart of FIG. 1 may be performed by the master device and / or the sink device.
[0038] In a first step (101), a wireless communication link is established between a master device and a sink device, which may be a Bluetooth link using the Advanced Audio Distribution Profile (A2DP) that is composed of several layers defined by the Bluetooth standard.
[0039] To that end, audio information is transferred over the established communication link (102). For example, the audio information may be voice or a stereo stream including packets incorporating audio data. The device implementing the method may be further configured to detect (103) a change in an operating parameter of at least one of the Bluetooth devices, the master device and the sink device.
[0040] The change may occur at the master device, if that device implements the method, or at the sink device, for example, the master device may detect a change in one of its operating parameters as well as a change in an operating parameter of the sink device.
[0041] As long as no change in the operating parameters is detected (step 103, “N”), the configuration of the wireless communication link between the master device and the sink device is not changed and audio data continues to be transferred over this communication link in accordance with this configuration (102).
[0042] If a change in the operating parameters is detected (step 103, "Y"), a new operating mode for the communication link between the master device and the sink device is determined (104).
[0043] A configuration of the communication link is then reconfigured based on the determined operating mode to transmit data between the master device and the source device in accordance with the determined operating mode, by modifying at least one configuration parameter of the communication link for this purpose (105), and then transmitting and receiving audio data over the reconfigured link (102).
[0044] "Operational parameters" of a Bluetooth device mean parameters relating to the operation of the Bluetooth device, for example parameters relating to the operating system running on the Bluetooth device.
[0045] In one or more embodiments, the operational parameters of the Bluetooth device may be associated with an application running on the Bluetooth device. In that case, the Bluetooth device is typically a master device, i.e., the operational parameters are associated with an application running on the master device. For example, such parameters may be the type of application (e.g., gaming, video or audio streaming, etc.) that is launched or terminated on the Bluetooth device, or the specific application that is launched on the Bluetooth device (e.g., a user is using Spotify® on a smartphone and launches Youtube®).
[0046] Certainly, it may be advantageous to change the configuration of the link when using a particular application or type of application. For example, two streaming apps The sampling rates of the applications may not be the same, and it may be advantageous to reconfigure the Bluetooth audio link so that its sampling rate matches that of one of the applications currently running on the Bluetooth device (so that resampling before sending audio packets is not required). According to another embodiment, a gaming application may need to run in a low latency mode.
[0047] In one or more embodiments, the operational parameter may relate to the multimedia content that the Bluetooth device (typically the master device) plays. For example, the operational parameter may be the read mode of the multimedia content (e.g., mono / stereo). Alternatively or additionally, the operational parameter may be the quality of the multimedia content (e.g., compression level, high definition / standard definition / low definition, etc.).
[0048] In one or more embodiments, the operational parameter may be a parameter related to a physical component of the master or sink device, for example, battery charge.
[0049] An "operation mode" refers to a mode related to a hardware component of one of the master device and the sink device, or a mode for transmitting data from one device to another. For example, the operation mode may be a mode related to power consumption of the master device or the sink device (e.g., a power saving mode), a mode related to content quality (e.g., a high quality mode), a mode related to delay, etc.
[0050] A "configuration" of a communication link between a source device and a sink device may correspond to a set of configuration parameters that determine how data is transmitted between the source device and the sink device. These configuration parameters may include Bluetooth connection parameters and application parameters associated with the wireless communication link.
[0051] Bluetooth connection parameters refer to parameters related to lower-level building blocks defined by the Bluetooth standard, such as the "Baseband" building block, the "LMP" ("Link Manager Protocol") building block, the "L2CAP" ("Logical Link Control and Adaptation Protocol") building block, or the "SDP" ("Service Discovery Protocol") building block. For example, Bluetooth parameters may include the number of retransmissions, packet type, MTU (Maximum Transmission Unit), FTO (or "Flush Timeout") value that specifies the expiration time of a data packet in the buffer memory of the source device, QoS ("Quality of Service") parameters that specify the maximum delay between the inclusion of a packet sent on an L2CAP channel and its effective transmission, etc.
[0052] Application parameters refer to parameters related to a selected application, i.e., parameters related to the application layer. In the Bluetooth standard, audio transmission is specified by A2DP (Advanced Audio Distribution Profile). The A2DP profile is based on AVDTP (Audio / Video Distribution Transport Protocol) building blocks. The AVDTP building blocks specify procedures between Bluetooth devices for establishing audio streams, negotiating audio stream parameters, and transmitting audio stream data. Thus, in the case of transmitting audio, the application parameters may be audio configuration parameters and may include the following:
[0053] -The type of codec (coder / decoder) used to encode the audio data to be transmitted or decode the received audio data: According to the Bluetooth protocol, the only codec supported by Bluetooth devices is SBC (standing for "Low Complexity Subband Codec"), but other codecs may be used, such as AAC (standing for "Advanced Audio Coding"), LDAC, or Apt-X. The choice of codec type may improve or degrade the quality of the audio content.
[0054] - parameters for the codec: e.g. bitrate, channel configuration (mono, stereo or joint stereo), etc.
[0055] -What type of audio data to send per audio channel: for example, "left", "right", or a combination of both (for example, (left+right) / 2) -Sampling rate -others In addition, the determination of a new operating mode when an operating parameter is changed may be triggered automatically (e.g., a power saving mode is automatically activated when the remaining battery charge is below a predetermined threshold or when a derivative of the remaining battery charge is below a predetermined threshold) or manually by user action (e.g., a "game mode" may be activated when a user starts a game, and the operating mode may be switched from "game mode" to "standard mode" when the user ends the game).
[0056] Changing the configuration of the communication link based on the determined operating mode may be accomplished in a number of ways. In one or more embodiments, the AVDTP "reconfigure command" (defined in the AVDTP specification) may be used, which allows devices participating in a stream to change their application service capabilities.
[0057] For example, the following procedure may be used: First, a "stop streaming procedure" may be performed to stop the stream. Then, a reconfigure command may be used to change the current feature settings. After reconfiguration, streaming may be restarted by using the "start streaming procedure."
[0058] Other techniques for reconfiguring the communication link (e.g., by changing the bitpool of the SBC codec to lower the bitrate) may be used that do not require a stream stop procedure, and thus the communication link is dynamically reconfigured without interrupting streaming.
[0059] For illustrative purposes only, several implementations of the method of Fig. 1 are provided below, some of which are based on the table below showing different possible operation modes.
[0060] [Table 1]
[0061] It is assumed that a wireless communications link has already been established (101) and is being utilized to transfer (102) audio data.
[0062] In a first embodiment, the operational parameter is a battery charge (of the master device or the sink device). In step 103, the Bluetooth device performing the method may determine that the battery charge has dropped below a predefined threshold. In step 104, it may determine that the current operational mode of the communication link may be changed to a "power saving mode". As a result, at least one of the following configuration parameters may be changed (step 105):
[0063] Codec complexity: For example, low-complexity codecs, i.e. codecs based on codec compression techniques that do not require much processing power, may be used.
[0064] Codec bit rate: For example, a codec with a lower bit rate may be used.
[0065] -Packet Scheduler: For example, a packet scheduler may be used that is adapted to bursty traffic, where "bursty traffic" means that the master device's scheduler buffers more audio data before sending it in one large packet or in multiple consecutive packets, thus putting the earphones / smartphone chipset to sleep in between (e.g. by using sniff or hold modes in the Bluetooth protocol).
[0066] Other configuration parameters may be changed (step 105), for example one of the following parameters:
[0067] - the data rate of the audio information transmitted over the wireless communications link - the sampling rate of the audio information transmitted over the wireless communications link - Arbitrary audio configuration parameters of audio data transmitted over a wireless communications link Data: For example, codec type, codec-related parameters, data type, audio channel selection parameters, sampling rate parameters, etc.
[0068] In another embodiment, the operational parameter is a type of application. If it is detected in step 103 that the type of application launched on the master device is a game or a real-time video application, it may be determined in step 104 that the current operational mode of the communication link may be changed to a "low latency mode". As a result, at least one of the following configuration parameters may be changed (step 105):
[0069] Codec Delay: A codec with low delay may be used. This may be achieved, for example, by utilizing a high quality (and high bandwidth) codec, i.e. a codec associated with a high MOS (Mean Opinion Score) such as G.711, since such codecs are usually designed to provide the lowest encoding-decoding delay.
[0070] - Number of retransmissions: This number is chosen to be small. - Packet Scheduler: For example, a packet scheduler adapted to avoid bursty traffic may be used in the master device. Such a scheduler prefers that small packets are sent in time to avoid overfilling the buffer (which increases delays).
[0071] Continuing with the example where the operational parameter is application type, if step 103 detects that a certain type of application (e.g., a game, voice or real-time video application) has terminated on the master device, then step 104 may determine to switch the current operational mode of the communications link to “standard mode” using default configuration parameters.
[0072] Such a "standard mode" may also be used when the operating parameter is remaining battery power and when step 103 detects that the remaining battery power has again exceeded the predefined threshold.
[0073] In yet another embodiment, the operational parameter is a particular audio application (Spotify®, Apple Music®). Upon detecting in step 103 that a particular audio application has been started on the master device, it may be determined in step 104 that the current operational mode of the communication link may be switched to a "high quality mode". As a result, at least one of the following configuration parameters may be modified (step 105):
[0074] Codec quality: high quality (and high bandwidth) codecs may be used, i.e. codecs associated with high MOS.
[0075] Codec bitrate: For example, a codec with a maximum bitrate may be used.
[0076] - Number of retransmissions: This number is chosen to be maximum. According to yet another embodiment, if the change in the operating parameters (103) corresponds to changing the audio source from a highly compressed source to a less compressed source, the change in the configuration parameters (105) may include:
[0077] - Change the codec configuration parameters from high compression to low compression to improve the speed of the wireless communication link. Increasing the throughput parameters, and / or -Increasing the MTU of the wireless communication link.
[0078] According to yet another embodiment, where the master device is a smartphone and the slave system 201 includes two earphones, the change in the operating parameters 103 may correspond to a change in the local source of audio data from a higher quality source to a lower quality source, and the wireless communication link may then be reconfigured in response to the change from a higher quality link with a higher data rate to a lower quality link with a reduced data rate.
[0079] 2, 3, 4 and 5 are diagrams illustrating different possible embodiments of the present invention.
[0080] In FIG. 2, FIG. 3, and FIG. 4, the master device 203 may be an audio source device or a video source device, such as a computer, a tablet device, or a smartphone. The master device 203 may be connected to a slave system 201 including at least one sink device. The slave system may be, for example, one Bluetooth earphone / large earphone, a pair of Bluetooth earphones / large earphones, one Bluetooth speaker, or multiple Bluetooth speakers. When there are multiple sink devices (e.g., a pair of earphones), the master device 203 may include a Bluetooth chip (not shown in FIG. 2) configured to generate multiple SEPs for controlling the sink device 201 by making point-to-multipoint links between the master device 203 and the multiple sink devices 201. For example, the Bluetooth chip may generate a separate source SEP for each sink SEP (corresponding to each Bluetooth sink device that must be controlled). This configuration appears to consist of a point-to-point link from the source 203 to each of the sink devices 201. For example, see European Application No. 17182123.4, which proposes a Bluetooth chip configured to implement a modified A2DP profile to create such point-to-multipoint links. In such an embodiment, each link from the master device 203 to each of the sink devices may be reconfigured.
[0081] Of course, other solutions for controlling multiple sink devices 201 from a master device 203 may be used.
[0082] For example, a chain connection may be established between the master device 203, the first earphone, and the second earphone (in the case of a pair of earphones 201). The first earphone may be connected to the master device 203 according to a first wireless link, for example a Bluetooth link using Advanced Audio Distribution Profile (A2DP). A stereo stream including packets incorporating stereo data for both the left and right channels may be transmitted from the master device 203 to the first earphone. The first earphone may be configured as follows:
[0083] - Play only audio data based on one of the two channels (for example, the left channel), Sending mono audio data referenced to the other channel to the second earphone via a second wireless link, which may be, for example, a Bluetooth link (e.g., true wireless stereo) or a Near Field Magnetic Induction (NFMI) link.
[0084] Another solution may consist of a wireless link from the master device 203 to one of the two earphones, with the other earphone configured to "sniff" (or "snoop") the wireless link. According to this solution, the first earphone connects to the first wireless link, e.g., A2DP (Advanced The first earphone may be connected to the master device 203 according to a Bluetooth link using a Bluetooth Audio Distribution Profile (BLE). A stereo stream including one or more packets incorporating stereo data for both the left and right channels may be transmitted from the master device 203 to the first earphone. Meanwhile, the first earphone may be connected to the second earphone according to a second wireless link (e.g., Bluetooth link). The first and second earphones may exchange some parameters, including sniffing / decoding parameters to enable the second earphone to sniff the first link and to search and retrieve audio data relative to the right channel. However, no audio data is exchanged over the second link. According to this solution, the second earphone is not connected to the master device 203 and is configured to sniff the first wireless link.
[0085] In one or more embodiments, the master device 203 may be configured to transmit audio information to the slave device 201 and may include the following components:
[0086] - Radio frequency processing circuitry for converting signals received from the slave device 201 into received digital data, and for converting outgoing digital data into signals to be transmitted to the slave device 201. The outgoing digital data includes audio-related information.
[0087] - a battery with a remaining charge for storing power - Battery monitoring circuit for detecting the remaining battery charge of the battery a processor for executing an operating system layer including an application monitoring process and a Bluetooth control process, the control process being adapted to carry out the operating method of the present invention;
[0088] For example, the master device 203 may be a smartphone for transmitting audio information to the earphone pair 201, including a left earphone and a right earphone, and the master device comprises the following components:
[0089] - A radio frequency section for receiving signals from the earphones and transmitting signals to the earphones - a battery with a remaining charge for storing power - Battery monitoring section for detecting remaining battery power a processor unit for executing an operating system layer including an application monitoring process and a Bluetooth control process, the control process being adapted to carry out the operating method of the present invention;
[0090] FIG. 2 shows a first possible embodiment of the invention. The slave system 201 may be configured to support different types of codecs (e.g., SBC, LDAC, Apt-X, etc.), each of which may be associated with one or more possible bitrates (e.g., LDAC at 990 kbits / s, kbps, or 660 kbps). Alternatively, the slave system 201 may be configured to support one type of codec at different possible bitrates.
[0091] The slave system 201 has remaining battery power levels 202a and 202b. The low battery signal may be sent by utilizing BLE (Bluetooth Low Energy) transmission, and may be sent by utilizing AVRCP (Audio / Video Remote Control Protocol) transmission, when the amount 202a, 202b falls below a predetermined threshold (e.g., 20% of the maximum battery remaining capacity). It may be sent by using the IEEE 802.11b Protocol Control Profile.
[0092] In this embodiment, the operating parameter is the remaining battery power 202a, 202b of the slave system 201. A drop in the remaining battery power 202a, 202b below a predefined threshold corresponds to a change in the operating parameter defined above with reference to Fig. 1. The new operating mode may be a power saving mode, and the reconfiguration of the link (or the link in case of point-to-multipoint transmission) may involve changing the codec type and / or bit rate (e.g. reducing the bit rate).
[0093] According to one embodiment, while the battery level 202a of the slave system 201 is above a predetermined threshold, the master device 203 may send audio packets processed by a first codec type (e.g., stereo LDAC at 990 kbps) to the slave system 201 (204). If the battery level 202b of the slave system 201 falls below the predetermined threshold, the slave system 201 sends a low battery signal (205) to the master device 203. Upon receiving the low battery signal (205), the master device 203 determines that the Bluetooth audio link must be switched to a power-save mode. In the power-save mode, audio packets sent (206) to the slave system 201 are processed by a second codec type (e.g., stereo SBC at 328 kbps).
[0094] Optionally, upon receiving a low battery signal (205), a message may be displayed on the screen of the master device 203 requesting the user to confirm that it is OK to switch the master device 203 to a power saving mode, in which case the change in link / link configuration is triggered by an explicit user action.
[0095] Alternatively, the master device 203 may automatically switch to the power saving mode without user confirmation, in which case the change in the link / links configuration is triggered without user action.
[0096] According to another embodiment, while the battery level 202a of the slave system 201 is above a predefined threshold, the master device 203 may send (204) audio packets processed by a first codec type (e.g., stereo LDAC at 990 kbps) to the slave system 201. If the battery level 202b of the slave system 201 falls below a predefined threshold, the slave system 201 may determine that the communication link must be switched to a power saving mode. The slave system 201 may then send information to the master device 203 based on the changed configuration parameter(s) based on this new operating mode. After receiving the information, the master device 203 may process the audio packets using a second codec type before sending them to the slave system 201.
[0097] Of course, a similar reconfiguration method may be applied when the operational parameter is the remaining battery power of the master device 203. In such a case, it may be detected that the battery of the master device 203 is low on battery power. Upon such detection, some configuration parameters may be changed. For example, the data rate of the wireless link may be reduced.
[0098] FIG. 3 shows a second possible embodiment of the invention. The slave system 201 may be configured to support different types of codecs (e.g., SBC, LDAC, Apt-X, etc.), each of which may be associated with one or more possible bitrates (e.g., LDAC at 990 kbit / s, kbps, or 660 kbps). Alternatively, the slave system 201 may be configured to support one type of codec at different possible bitrates.
[0099] In this embodiment, the operating parameter is a particular application launched on the master device 203. A change in the operating parameter is detected when the user changes the application launched on the master device 203 (e.g., the user uses Spotify (copyright) instead of Youtube (copyright)). Indeed, two applications may not have the same sampling rate even if they belong to the same type of application (e.g., streaming applications), and it would be advantageous to reconfigure the Bluetooth audio link so that its sampling rate matches one of the currently launched applications. Such a reconfiguration avoids the audio server of the master device 203 from resampling the audio data, which would result in a loss of audio quality.
[0100] In this embodiment, changes to the configuration of one link / multiple links are implicitly caused by a user action (change of application).
[0101] 3, a user may use a first application in which audio packets are processed (301) with a first codec at a first sampling rate (e.g., stereo SBC with a sampling frequency of 48000 Hz and a bit rate of 328 kbps) and sent to the audio slave system 201. When the user launches (302) a new application on the master device 203, the sampling frequency and / or bit rate of the codec may be changed. After this change, the audio packets are processed by a second codec at a second sampling rate (e.g., stereo SBC with a sampling frequency of 44100 Hz and a bit rate of 328 kbps).
[0102] FIG. 4 shows a third possible embodiment of the invention. In this embodiment, the operating parameter is a type of application running on the master device 203, for example, a gaming application (e.g., PlayerUnknown's Battlegrounds (copyright) - PUBG, Fortnite (copyright), etc.). A change in the operating parameter is detected when a user starts an application of a given type on the master device 203. Certainly, some types of applications require a specific operating mode. For example, a low-latency mode may be required for a better gaming experience. Therefore, if the Bluetooth slave system 201 supports such a low-latency mode, it would be advantageous to reconfigure the link between the master device 203 and the slave system 201 to a low-latency configuration.
[0103] In this embodiment, changes to the configuration of a link / links are implicitly triggered by a user action (starting a particular type of application).
[0104] Before starting the application, the Bluetooth communication link between the master device 203 and the slave system 201 is in a first operating mode (e.g., source and decode audio In a first operating mode, audio packets are processed by a first codec having a first delay and sent to the voice slave system 201 (401). When a user launches a particular type of application (e.g., a game) on the master device 203 (402), the codec may be changed to have a second delay that is significantly slower than the first delay. The audio packets are then processed by the new codec and sent from the master device 203 to the slave system 201 (403). In other circumstances, such a low-latency mode may be invoked, for example, when the operating parameter is a local source of audio data, and when this change in operating parameter corresponds to a change in application (e.g., switching from playing music to playing a video game).
[0105] Alternatively, or complementary, in such circumstances, one or more of the following configuration parameters may be modified:
[0106] The maximum number of packet retransmissions may be reduced. -You may want to reduce the MTU.
[0107] -You may want to lower the maximum flush timeout parameter. Of course, more than one configuration parameter may be changed, for example it is possible to change both the MTU and the sampling rate.
[0108] FIG. 5 shows a fourth possible embodiment of the present invention. In this embodiment, the slave system 201 may be configured from a pair of earphones 201a and 201b.
[0109] By default, each earphone may be configured to output its own audio data. For example, in the case of stereo audio content, the first earphone 201a may be configured to play audio data based on one of the two channels (e.g., the right channel), and the second earphone 201b may be configured to play audio data based on the other of the two channels (e.g., the left channel).
[0110] When two users 501, 502 want to share audio content with another user 502, each user 501, 502 may use each earphone 201a, 201b of the pair of earphones connected to the master device 203. However, in the default configuration described above, each user 501, 502 receives audio content corresponding to only one of the two channels, so the users 501, 502 do not feel auditory comfortable.
[0111] Therefore, they may wish to activate a "shared mode" in which the audio data sent (503, 504) to each earphone 201a, 201b incorporates stereo data.
[0112] For example, in a default configuration, the transmission of audio packets is based on a first codec (e.g., SBC codec), with the right earphone 201a configured to play audio data corresponding to the right channel and the left earphone 201b configured to play audio data corresponding to the left channel. For example, the first codec may be a stereo codec in the case of a forwarding architecture, or a mono codec in the case of a point-to-multipoint architecture.
[0113] In shared mode, the transmission of audio packets is controlled by the second codec (for example, SBC codec). The second codec is based on a second codec, with each packet including data corresponding to both the left and right channels, and is sent to both earphones 201a and 201b (503, 504). Thus, both earphones 201a and 201b are configured to play the same audio content based on the received packets. The second codec may be a mono codec or a stereo codec with the same audio content on the two channels. The audio content may correspond, for example, to a downmixed channel of the left channel and the corresponding right channel. In a possible embodiment, the user may select a "share mode" on the master device 203 or on the slave system 201. In this case, the change of the one-link / multiple-link configuration is explicitly triggered by the user's action. Alternatively, the share mode is automatically activated, for example, when detecting that the distance between the two earphones 201a, 201b is greater than a predefined threshold.
[0114] Figure 6 shows a possible embodiment of a device enabling the invention. Such a device may be incorporated in a master device or in a slave device.
[0115] In this embodiment, the device 600 comprises a computer comprising a memory 605 for storing circuit-readable program instructions that, when executed by the circuit 604, cause the circuit 604 to perform the steps of the present invention.
[0116] The memory 605 may also store data and information useful for performing the steps of the present invention as described above.
[0117] The circuit 604 may be, for example, the following components: A processor or processing unit adapted to interpret instructions in a computer language, the processor or processing unit may comprise, be associated with or be attached to a memory containing the instructions.
[0118] - an association between a processor / processing unit adapted to interpret instructions in a computer language and a memory containing such instructions; or - an electronic card with the steps of the invention written in silicon; or -FPGA chip (<<Field Programmable Gate Array> > Refers to a programmable electronic chip.
[0119] The computer may comprise an input interface 603 for receiving information based on changes in values of operational parameters in either the Bluetooth device of the present invention or the second device, and an output interface 606 for providing configuration parameters of the Bluetooth communications link based on the new operational mode.
[0120] To facilitate interaction with the computer, a screen 601 and keyboard 602 may be provided and connected to computer circuitry 604 .
[0121] Moreover, the block diagram depicted in Fig. 1 is representative of a program whose instructions may be executed by the described device 600. Fig. 1 may thus correspond to a general algorithmic flowchart of a computer program in the sense of the present invention.
[0122] In one embodiment of the present invention, Bluetooth operation is directed by a Bluetooth driver stored in a first section of memory 605, and operating parameters are determined using an operating system stored in a second section of memory 605. In addition, the operating system may determine one or more operating parameters in conjunction with one or more applications, where the applications are located in a third section of memory 605. This advantageous separation of these functions allows each function to be developed independently without having to simultaneously modify other functions.
[0123] Of course, the invention is not limited to the embodiments described above by way of example, but rather the invention also applies to other variants and other situations than those indicated above.
[0124] For example, if the change in the operating parameters corresponds to a change in the audio source application from a conferencing application to a streaming application, the change in the configuration parameters may include changing the quality configuration parameters of an audio codec to a higher quality parameter, where the audio codec processes information related to the streaming application.
[0125] The sound quality configuration parameter may be, for example, the sampling rate of an audio codec, an audio codec selection parameter, or a configuration parameter that changes the channel configuration from mono to stereo.
[0126] According to another embodiment, if the change in the operating parameters corresponds to a change in the audio source application from a streaming application to a conferencing application, the change in the configuration parameters may include changing the channel configuration parameters from a one-way audio link to a two-way audio link.
[0127] If the slave system 201 consists of two earphones 201a, 201b, it may happen that one of the two earphones is disabled (e.g., if the communication link to this earphone is interrupted). In such a situation, it may detect that one earphone has been deactivated and the channel configuration may be switched from stereo to mono. Deactivation of the other earphone may be done, for example, by receiving a message on the master device.
[0128] A similar change may be made upon detecting a change in the local source of the audio data from a stereo source to a mono source, and in response to this change, the wireless communications link may be reconfigured from a stereo link to a mono link, after which the audio data is transmitted to the earphone in mono format.
[0129] Depending on the embodiment selected, each particular act, operation, event, or feature of the methods described herein may be performed, occur, or in some cases may be added to, combined, or not performed or occur in an order different from that described. Additionally, in some embodiments, certain acts, operations, or events may be performed or occur simultaneously, rather than sequentially.
[0130] Although described through several detailed exemplary embodiments, the proposed method and the equipment for implementing the method include various alternatives, modifications, and improvements that will be apparent to those skilled in the art. It is to be understood that these various variations, modifications, and improvements are included within the scope of the present invention as set forth in the appended claims. In addition, the various aspects and features described above may be implemented together, separately, or substituted for each other, and all of the various combinations and subcombinations of the aspects and features are included within the scope of the present invention. In addition, some of the systems and equipment described above may not incorporate all of the modules and features described for the preferred embodiments.
[0131] The present disclosure also relates to the field of audio streaming, and in particular to methods and devices for transmitting audio data streams using a Bluetooth communication link.
[0132] In the background art, Bluetooth defines a communication standard for wirelessly transmitting and receiving audio data over a limited distance, typically up to 10 meters, using radio waves at extremely high frequency bands. This standard makes Bluetooth devices very popular among customers due to their portability, especially for short-range applications.
[0133] The audio quality of transmitted and received data is mainly determined by the digital audio encoder and decoder (called codec) used to transfer the data to a Bluetooth audio output device such as a headphone or speaker. The standard Bluetooth codec, a low-complexity subband codec called SBC, is designed to provide a fairly good audio quality at moderate bit rates while keeping the computational complexity low. Therefore, the use of SBC is essential. Moreover, SBC supports mono and stereo streams with a sampling frequency of up to 48 kHz, with bit rates typically set to a maximum of 193 kbit / s for mono and 328 kbit / s for joint stereo streams.
[0134] With a view to improving the quality of transmitted and received audio data, the current trend is to propose codecs that require increasingly large amounts of bandwidth utilization, such as the APTX audio codec compression algorithm or the LDAC audio hybrid coding technology, which allow streaming audio over a Bluetooth connection with bit rates of up to 352 kbit / s and 990 kbit / s, respectively.
[0135] Since limited bandwidth dictates lossy compression, such codecs have been developed to limit the loss in audio quality when utilizing standard Bluetooth protocols and codecs such as SBC.
[0136] However, using a codec with higher bandwidth usage does not necessarily improve the quality of the audio stream, since achieving such quality depends on the different encoding, decoding, mixing, and sampling processes that the audio device uses to transmit the audio stream. This is especially true when using the Bluetooth standard for source devices, such as smartphones, and sink devices, such as wireless headphones or speakers.
[0137] In addition, current audio listening devices utilize streaming applications that rely on their own encoding formats, such as SBC, which have higher compression rates and better algorithms than standard Bluetooth codecs, which implies that the audio data streamed between the source and sink devices may be corrupted by multiple decoding, encoding, and resampling processes, resulting in a significant loss of quality.
[0138] Further objects of the present disclosure will now be described. The first objective below is to provide a method and device for improving the quality and delay of audio streams, in particular audio streams transmitted by Bluetooth.
[0139] In order to address at least some of the above-mentioned problems, the first object of the present invention relates to a method for transmitting an audio stream over a Bluetooth communication link, the method being performed by a source device, the method comprising: receiving an audio codec configuration and a sampling rate for an audio stream, the audio stream coming from a streaming application running on a source device, the method further comprising: - configuring a Bluetooth audio stream between the source device and the sink device using the received audio codec configuration and sampling rate; - receiving a first audio stream from a streaming application; - packetizing the received first audio stream into a Bluetooth audio stream; - transmitting a Bluetooth audio stream to a sink device over a Bluetooth communications link, the transmitted Bluetooth audio stream including the packetized received audio stream.
[0140] As used herein, Bluetooth refers to any version of the Bluetooth protocol, including existing and future versions. Currently, version 5.1 of Bluetooth is the BASIC Rate / Enhanced Data Rate protocol (also known as the BR / EDR protocol) or Bluetooth This includes the Classic protocol, and the Bluetooth Low Energy protocol (also known as the BLE protocol).
[0141] In this specification, a communication link designates wireless communication between two devices. Moreover, a Bluetooth communication link may be configured to include multiple Bluetooth physical links between a given source device and a given sink device, such as a smartphone, for example. A Bluetooth communication link may include different types of links, such as point-to-point connections or unidirectional links.
[0142] As used herein, packetization refers to converting audio data into a number of audio data packets, each of which corresponds to a given number of bytes.
[0143] As used herein, a codec is a hardware or software component configured to encode and / or decode a digital data stream or signal.
[0144] In this specification, an audio codec configuration is a configuration that includes information such as the codec type, the bit rate, i.e., the speed at which bits can be transferred from one place to another, and the corresponding integer size, such as 16 bits or 24 bits. The codec types include SBC, AAC, MP3, APT-X, LDAC, LHDC, Vorbis, Opus, or LC3 codec.
[0145] In this specification, a streaming application is preferably an audio application or a gaming application configured to stream audio and / or video data.
[0146] The method according to the first objective enables audio streaming with low latency and minimal loss of quality. This allows for the transmission of audio streams over a Bluetooth communication link. Indeed, background art methods generally require the source and / or sink devices to encode, decode, and resample or mix the audio streams, systematically resulting in loss of quality and increased latency.
[0147] In this specification, an audio application may be any application that provides access to digital music, audio content, or podcast streaming services, such as cloud-based streaming services, or a general application.
[0148] This allows for the provision of Bluetooth audio streaming pass-through, i.e. if the streaming application includes a gaming application, then the corresponding audio data can be sent and streamed over the Bluetooth communications link with low latency, as streaming directly from the gaming application and bypassing the audio server improves latency.
[0149] In this specification, the audio codec configuration may be null. Typically, the null audio codec configuration refers to uncoded audio data, such as pulse code modulation, referred to as PCM, or an analog audio signal corresponding to a PCM audio codec configuration. In one embodiment, the Bluetooth communication link is a pre-established Bluetooth communication link, i.e., established between the source device and the sink device in a preparatory step prior to the transmission of the Bluetooth audio stream to the sink device.
[0150] In a preferred embodiment, upon receiving an unaltered bitstream from the streaming application, an audio stream is received from the streaming application.
[0151] As used herein, a bitstream is a sequence of bits. The packets resulting from packetization of audio data may be grouped, encoded or decoded into successive pages of structured bitstream data, which are referred to as logical bitstreams.
[0152] As used herein, several logical bitstreams can be combined into one physical bitstream. When a physical bitstream contains multiple logical bitstreams, such logical bitstreams can be said to be "wrapped" into the physical bitstream. Although full decoding is not necessarily required to extract the multiple logical bitstreams, unwrapping the logical bitstreams from the physical bitstream can be accomplished by the decoding process.
[0153] In this specification, an unmodified bitstream is a bitstream that is transmitted in this manner, and is not resampled by, for example, an audio server that sits between the audio application and the Bluetooth stack of the source device.
[0154] In a preferred embodiment, the method comprises: - receiving at least one other audio stream, called the second audio stream, from an audio server; - transmitting the received second audio stream to a sink device over a Bluetooth communication link.
[0155] As used herein, an audio server is any platform configured to manage and / or share audio resources or flows with other systems, which may comprise, among other things, source and sink devices. For example, audio resources or flows may include music from an audio application, sound notifications from social media, clock alarm sounds from a scheduling application, etc.
[0156] As used herein, an audio server may comprise an audio hardware interface, an operating system, a computer, electronic circuitry or any type of computer readable medium capable of storing audio data or receiving or transmitting streams of audio data, and may be connected to a network such as the Internet.
[0157] This provides a hybrid streaming method with two audio streams, which are encapsulated in one Bluetooth audio stream.
[0158] This allows the method of the first objective to generate an alternative path for transmitting and streaming audio data that does not pass through the potential audio server required in the background art method, and thus avoids performing encoding, decoding, mixing or resampling operations that imply a loss of quality at the receiving end of the Bluetooth communication link.
[0159] This also allows the audio stream to be sent with less loss of quality and lower latency compared to known methods involving receiving and sending an audio stream from an audio server, which requires mixing such audio stream with the audio stream coming from the streaming application, resulting in loss of quality, and which requires the audio server to mix or resample the audio stream with the sampling rate of the audio server or the sink device, resulting in loss of quality and potentially increased latency.
[0160] In a preferred embodiment, the Bluetooth audio stream is a multi-contribution type Bluetooth audio stream, and the method further includes packetizing the second audio stream into a Bluetooth audio stream using an audio codec configuration and sampling rate of the received second audio stream.
[0161] This provides a hybrid streaming method with two audio streams, which are encapsulated into two Bluetooth audio streams over a single Bluetooth communication link.
[0162] In this specification, a Bluetooth audio stream being multi-contribution implies that the audio codec configuration (or sampling rate) is used in a common manner, i.e., the audio codec configuration (or sampling rate) of both the first audio stream and the second audio stream is used to construct the Bluetooth audio stream, and the Bluetooth audio stream then corresponds to a multi-contribution type Bluetooth audio stream.
[0163] In a preferred embodiment, the method comprises: - receiving, by a sink device, a plurality of Bluetooth audio streams transmitted by a source device; mixing the multiple Bluetooth audio streams into a mixed audio stream; - rendering the mixed audio stream at a sink device.
[0164] This improves the quality and / or latency of multiple audio streams at the receiving end of the Bluetooth communications link.
[0165] In a preferred embodiment, the method further comprises wrapping the audio stream received from the streaming application and / or the second audio stream received in a container, which container is placed in the Bluetooth audio stream.
[0166] This allows multiple audio streams to be encapsulated in one container so that they can be sent in the same packet even if they correspond to different audio codec configurations and / or sampling rates, i.e. this provides a hybrid streaming method with two audio streams, both encapsulated in one container that is sent from the source device in one container.
[0167] In an embodiment, the streaming application and the audio server each use different codecs and therefore different audio codec configurations and different sampling rates, for example the application may use a high quality codec for audio streaming and the audio server may use a lower quality codec for announcements.
[0168] For example, one or more logical bitstreams created by one or more encoders of an audio server can be encapsulated using an Ogg stream. Once encoded, the audio server's logical bitstream can be wrapped in a container along with the application logical bitstream, and both logical bitstreams are sent to the sink device using the same packet. The sink device then unwraps the two logical bitstreams, decodes them separately using their respective codecs, and mixes them into one RAW stream that is output.
[0169] In this specification, a container is an entity that specifies the format of a media payload. An audio container, which specifies the format of an audio payload, can be mapped to one or more codecs. For example, a LATM container can be mapped to the AAC codec, and an Ogg container can be mapped to a Vorbis or Opus container.
[0170] In a preferred embodiment, the container is an Ogg-Vorbis container. In a preferred embodiment, an audio stream received from a streaming application, referred to as a first audio stream, and a second audio stream, are wrapped in a container, and packetization of the first audio stream and the second audio stream into a Bluetooth audio stream is performed using the wrapped first audio stream and second audio stream.
[0171] In a preferred embodiment, the first audio stream or the second audio stream is a stream encoded in the Vorbis format, or the first audio stream and the second audio stream are streams encoded in the Vorbis format.
[0172] In one embodiment, at least two Bluetooth logical links are used to transmit the audio streams.
[0173] This provides a hybrid streaming method for transmitting at least two audio streams, in particular, the two audio streams are encapsulated into two Bluetooth audio streams and transmitted over a Bluetooth communication link.
[0174] This allows for more flexibility in transmitting audio streams since there are at least two Bluetooth logical links available: even if there is already an established Bluetooth audio stream on the first Bluetooth logical link that does not go through an audio server, a second Bluetooth audio stream can be available on the second Bluetooth logical link, for example to collect notifications that originate from another application running on the source device. This thus allows for two Bluetooth audio streams to be transmitted on the same logical channel or on two different logical channels.
[0175] For example, if the streaming application is a gaming application, the gaming application can stream audio data directly to the Bluetooth stack of the source device. However, it is more flexible to use at least two Bluetooth audio streams on two different Bluetooth logical links, because at least one Bluetooth audio stream can be used to render high quality audio from the gaming application, and at least another Bluetooth audio stream can be used to render sound from another source, such as notifications from a social media application running on the source device or sound notifications coming from an audio server. These two logical links can either use the same Bluetooth physical link or two different Bluetooth physical links.
[0176] In a preferred embodiment, the method comprises: - packetizing the received second audio stream into a separate Bluetooth audio stream, referred to as the second Bluetooth audio stream, which is separate from the configured Bluetooth audio stream between the source device and the sink device, referred to as the first Bluetooth audio stream, the method further comprising: - transmitting a second Bluetooth audio stream over a Bluetooth communication link to a sink device, the second Bluetooth audio stream being multiplexed with the first Bluetooth audio stream.
[0177] As used herein, multiplexing is accomplished using one or more protocols, such as the AVDTP protocol or other protocols adapted for transmitting audio streams over a Bluetooth communications link.
[0178] In a preferred embodiment, the first Bluetooth audio stream or the second Bluetooth audio stream is transmitted over a BR / EDR link of the Bluetooth communication link, or the first Bluetooth audio stream and the second Bluetooth audio stream are transmitted over a BR / EDR link of the Bluetooth communication link.
[0179] In a preferred embodiment, the second Bluetooth audio stream is transmitted over a BLE link of the Bluetooth communication link.
[0180] In a preferred embodiment, the transmission of the Bluetooth audio stream occurs upon successful negotiation with the sink device on the audio codec configuration and sampling rate.
[0181] This ensures that both the audio codec configuration and sampling rate are supported by the sink device, and also allows the streaming application itself to check whether the sink device can support the native codec and native sampling rate of the streaming application.
[0182] According to a second object, the present invention relates to a method for receiving a Bluetooth audio stream over a Bluetooth communication link, the method being performed by a sink device, the method comprising: receiving, via a Bluetooth communications link, a plurality of Bluetooth audio streams transmitted by a source device; - mixing the received multiple Bluetooth audio streams into a mixed audio stream; - rendering the mixed audio stream.
[0183] In an embodiment of the second object method, at least one first Bluetooth audio stream of the received plurality of Bluetooth audio streams includes a packetized audio stream, and packetizing the audio stream into the first Bluetooth audio stream is performed by a source device, and the first Bluetooth audio stream is configured between the source device and the sink device using an audio codec configuration and sampling rate of the first audio stream by the source device, the audio codec configuration and sampling rate being received by the source device, and the first audio stream arrives from a streaming application running on the source device.
[0184] In an embodiment of the second objective method, the transmission of the first Bluetooth audio stream is performed by the source device upon successful negotiation with the sink device on the audio codec configuration and sampling rate.
[0185] In one embodiment, the method of the second object comprises: - further comprising a step of receiving at least a second audio stream from the source device over the Bluetooth communication link, the second audio stream being received by the source device from the audio server, the second audio stream being different from the first audio stream.
[0186] In one embodiment, the method of the second object comprises: - receiving a second Bluetooth audio stream from the source device over a Bluetooth communication link; h audio stream is multiplexed with the first Bluetooth audio stream, and the received second audio stream is packetized by the source device into a second Bluetooth audio stream, which is separate from the first Bluetooth audio stream.
[0187] According to a third object, the present invention relates to a computer program product comprising a computer readable medium having stored thereon computer program instructions readable into a computing device, the computer program instructions, when read and executed by the computing device, - adapted to cause a computing device to carry out the steps of the method according to any of the preceding claims.
[0188] According to a fourth object, the present invention relates to a source device for transmitting an audio stream over a Bluetooth communication link, the source device comprising: Receive an audio codec configuration and a sampling rate for an audio stream of a streaming application running on a source device; configuring a Bluetooth audio stream between the source device and the sink device using the received audio codec configuration and sampling rate; - Receive audio streams from streaming applications, -Packetize the received audio stream into a Bluetooth audio stream, - configured to transmit a Bluetooth audio stream to a sink device, the Bluetooth audio stream including a packetized received audio stream;
[0189] According to a fifth object, the present invention relates to a sink device for receiving a Bluetooth audio stream over a Bluetooth communication link, the sink device comprising: -Receive multiple Bluetooth audio streams transmitted by a source device over a Bluetooth communications link; -Mixing multiple Bluetooth audio streams into a mixed audio stream, - configured to render the mixed audio stream at a sink device.
[0190] In an embodiment of a sink device of a fifth object, at least one Bluetooth audio stream of the received multiple Bluetooth audio streams includes a packetized audio stream, and packetizing the audio stream into the at least one Bluetooth audio stream is performed by the source device, and the at least one Bluetooth audio stream is configured between the source device and the sink device using an audio codec configuration and sampling rate of a first audio stream by the source device, the audio codec configuration and sampling rate being received by the source device, and the first audio stream arrives from a streaming application running on the source device.
[0191] According to a sixth objective, the following relates to a system for transmitting and receiving a Bluetooth audio stream over a Bluetooth communication link, the system comprising a source device as described in the fourth objective and a sink device as described in the fifth objective.
[0192] A brief description of further figures will now be given. Other features, details and advantages of the object of the present disclosure, as set forth below, will become apparent from the following detailed description, given as a non-limiting example with reference to the attached drawings, in which:
[0193] FIG. 7 is a diagram illustrating example steps of a method according to the first embodiment of the present disclosure. FIG. 8 shows a flowchart of the steps of a method according to the first embodiment of the present disclosure.
[0194] FIG. 9 is a diagram illustrating an example of a Bluetooth data packet structure in accordance with the present disclosure.
[0195] FIG. 10 is a diagram illustrating steps of a method according to the second aspect of the present disclosure. FIG. 11 is a flow chart of method steps according to the third aspect of the present disclosure.
[0196] FIG. 12 is a diagram illustrating steps of a method according to the third aspect of the present disclosure. FIG. 13 is a diagram illustrating a Bluetooth communication link according to a third embodiment of the present disclosure.
[0197] FIG. 14 is a diagram showing a flow chart of method steps according to the fourth aspect of the present disclosure.
[0198] FIG. 15 is a diagram showing steps of a method according to the fourth aspect of the present disclosure. FIG. 16 is a diagram illustrating a Bluetooth communication link according to a fourth aspect of the present disclosure.
[0199] FIG. 17 is a diagram showing a flowchart of method steps according to the fifth aspect of the present disclosure.
[0200] FIG. 18 is a diagram illustrating a Bluetooth communication link according to a fifth aspect of the present disclosure.
[0201] FIG. 19 is a diagram showing a flowchart of method steps according to the sixth aspect of the present disclosure.
[0202] FIG. 20 is a diagram showing steps of a method according to the sixth aspect of the present disclosure. FIG. 21 is a diagram illustrating a Bluetooth communication link according to a sixth embodiment of the present disclosure.
[0203] FIG. 22 is a diagram illustrating a circuit structure according to an embodiment of the present disclosure. These aspects will now be described.
[0204] 7 illustrates steps of a simplified method for transmitting an audio stream over a Bluetooth communication link in accordance with a first embodiment of the present disclosure. The method according to the first aspect includes encoding audio data AD as an encoded audio bitstream, which is provided to sink device 20 by audio streaming application 40.
[0205] For example, the audio streaming application is an audio application (e.g., on a remote server) or a gaming application. For example, sink device 20 is a speaker or includes wearable headphones.
[0206] The audio data AD is provided to the sink device 20 over a Bluetooth stack BS. The Bluetooth stack BS is included in a source device 10, for example a smartphone.
[0207] As used herein, Bluetooth stack BS refers to an implementation of a Bluetooth protocol stack, such as the embedded system implementation of source device 10.
[0208] In an aspect, the Bluetooth stack BS comprises a microcontroller and / or chipset having an operating system and is configured to support various protocols, such as the L2CAP and AVDTP protocols, as described below.
[0209] In step S1, the audio streaming application 40 sends audio data AD to the source device 10, which passes the audio data directly to its Bluetooth stack BS without modification (i.e., without going through the source device's audio server).
[0210] This allows the streaming application of the audio streaming application 40 to provide the audio data AD to the Bluetooth stack BS without requiring decoding, encoding and / or (re)sampling operations by an intermediate device / server.
[0211] In step S2, the Bluetooth stack BS packetizes the received audio data AD into packetized audio data PAD.
[0212] In one embodiment, at least one of the audio data AD and the packetized audio data PAD is a Bluetooth data packet that can be transmitted using a Bluetooth wireless audio link.
[0213] In step S3, source device 10 transmits packetized audio data PAD to sink device 20. This transmission occurs over one or more Bluetooth audio streams.
[0214] In step S4, sink device 20 decodes the received packetized audio data PAD and sends the decoded data to audio output OUT, for example in the form of a PCM signal or broadcast music.
[0215] FIG. 8 shows a flowchart of the steps of a method according to the first embodiment of the present disclosure.
[0216] Upon receiving audio data AD1, in particular an encoded audio bitstream, through input IN of source device 10, streaming application 40 provides the audio data AD1 directly to the Bluetooth stack BS of source device 10.
[0217] This avoids any mixing, resampling, and / or encoding steps that would otherwise be performed on AD1 by source device 10 or an audio server 30 that source device 10 may comprise.
[0218] Audio data AD1 is configured by source device 10 using an audio codec configuration and sampling rate of an audio stream of a streaming application 40 running on source device 10. The audio data AD1 is provided to a Bluetooth stack BS, which packetizes and transmits the audio data AD1 to a third party device, here specifically, sink device 20.
[0219] In particular, the audio data AD1 is packetized into a configured Bluetooth audio stream using the audio codec configuration and sampling rate of the streaming application 40 audio stream.
[0220] Preferably, the packetized audio data or the configured Bluetooth audio stream is transmitted using a pre-established link, here Bluetooth communication link L1, which may include one or more Bluetooth physical links and one or more Bluetooth logical links established or pre-established between source device 10 and sink device 20.
[0221] Upon receipt, the packetized audio data is decoded by sink device 20. The decoded packets may then be broadcast or streamed through output OUT of sink device 20.
[0222] This avoids lossy transmission and / or lossy compression in all the steps mentioned above, in particular it allows to omit the use of an audio server.
[0223] FIG. 9 illustrates an example of a Bluetooth data packet structure, and more specifically, such a structure for transmitting data over a Bluetooth communications link, in accordance with the present disclosure.
[0224] As shown, the Bluetooth data packet BTDP includes several layers, packets, packet data units, frames and / or bit streams. In particular, the Bluetooth data packet BTDP includes a logical link control and adaptation protocol called L2CAP, which corresponds to a protocol data unit called PDU. L2CAP defines the protocol layer of the Bluetooth data packet BTDP for exchanging data between two channel identifiers called CIDs.
[0225] L2CAP also advantageously defines a link manager layer that implements one or more Bluetooth transport protocols, and further enables data packet fragmentation, data packet assembly, data packet reassembly, and / or multiplexing.
[0226] The L2CAP protocol further allows the establishment of a logical link between the Bluetooth chips of devices. The parameters of the L2CAP protocol may vary depending on the characteristics of the source device, such as its ability to support other protocols.
[0227] Preferably, the L2CAP protocol includes an audio / video distribution transport protocol called AVDTP, which is the Bluetooth Audio Data Transport Protocol. The AVDTP protocol is used by some Bluetooth It defines binary transactions between .th devices and allows audio and / or video streams to be established between two stream endpoints, called SEPs.
[0228] Advantageously, the AVDTP protocol is configured to set up the streams and stream the audio streams using the L2CAP protocol, and further allows for the negotiation of stream parameters and can itself manage the audio streams.
[0229] The AVDTP and L2CAP protocols allow data to be exchanged between a source device and a sink device over a Bluetooth communications link, for example.
[0230] As shown, the AVDTP protocol comprises a media payload called a container CT, which itself contains encoded frames ENC.
[0231] Preferably, the container CT includes a media payload header and one or more encoded frames.
[0232] In this specification, a container CT defines a physical bitstream and at least one encoded frame ENC defines a logical bitstream. The physical bitstream may include both encoded data and associated metadata.
[0233] In this specification, at least one encoded frame corresponds to audio data encoded using the Advanced Audio Coding codec or AAC codec, which is an audio coding standard for lossy digital audio compression, advantageously resulting in better sound quality than can be achieved using the MP3 codec at the same bit rate.
[0234] FIG. 10 is a diagram illustrating steps of a method according to the second aspect of the present disclosure. In the method steps of the second aspect, an audio stream can be transmitted over a Bluetooth communication link similar to the first mode, but this transmission occurs upon successful negotiation of the audio codec configuration and sampling rate. In step S10, a Bluetooth communication link is opened, i.e., established, between source device 10 and sink device 20. When a streaming application running on source device 10 is ready to send audio data, the streaming application can request to open a new stream. Alternatively, or simultaneously, opening the Bluetooth communication link can request to reconfigure an existing stream.
[0235] During the establishment of the Bluetooth communication link, an optional negotiation phase may be carried out in step S15.
[0236] This negotiation phase includes verifying whether one or more parameters of the stream are supported by sink device 20. For example, the one or more parameters are passed as arguments of the stream being opened or reconfigured.
[0237] The one or more parameters include at least one audio codec configuration and one sampling rate of an audio stream of a streaming application running on the source device 10. The requested codec and sampling rate can be passed as arguments of the stream.
[0238] In step S15, if sink device 20 does not support the audio codec configuration and / or sampling rate, the underlying request to open a new stream or the underlying request to reconfigure an existing stream is rejected in step S20.
[0239] In step S15, as described below, if sink device 20 supports the codec and sampling rate, the request is accepted and source device 10 performs subsequent steps, including step S40.
[0240] In step S40, configuration of new streams is performed and, where appropriate, existing streams are reconfigured with one or more parameters, in particular with the audio codec configuration and sampling rate of the audio stream of the streaming application.
[0241] Preferably, step S40 is performed using a host controller interface, called HCI, of the source device 10.
[0242] In this specification, HCI is an optional standard interface between the controller subsystem and the host subsystem. In a Bluetooth device with simple functions (e.g., a headset), the host and controller can be implemented on the same microprocessor or can be implemented as built-in software interfaces. The HCI of the source device 10 can configure or reconfigure the stream, e.g., the Bluetooth A2DP stream, in step S40.
[0243] In step S50, source device 10 receives an audio stream from a streaming application.
[0244] In step S60, the source device packetizes the received audio stream into a Bluetooth audio stream configured in step S40 with the audio codec configuration and sampling rate.
[0245] In step S70, the source device 10 transmits a Bluetooth audio stream to the sink device 20, the Bluetooth audio stream including the packetized received audio stream.
[0246] 11 is a diagram showing a flowchart of method steps according to a third aspect of the present disclosure, in which audio data AD1 from an input IN of the source device 10 as well as audio data AD2 sent by an audio server 30 included in the source device 10 (this audio data AD2 may be, for example, audio data of a system voice notification) are received by the Bluetooth stack BS.
[0247] AD1 and AD2 are then packetized into a configured Bluetooth audio stream using the audio codec configuration and sampling rate of the streaming application 40 audio stream.
[0248] The configured Bluetooth audio stream is then transmitted from the source device 10 to the sink device 20 using the established Bluetooth link L1, and the packetized audio data AD1 and AD2 are depacketized by the sink device 20 and further streamed through rendering, broadcasting, and output OUT. The stream is optionally decoded in one or more separate steps before being distributed.
[0249] If the audio data is decoded in a separate step by sink device 20 after being depacketized, the decoded data may then be mixed or multiplexed before being rendered, broadcast, or further streamed through the output OUT (the Bluetooth audio stream may then additionally include information on how to mix the data, e.g., respective percentages / values for each audio data on the sink device side).
[0250] This allows for the combination of multiple audio sources, and advantageously, for example, allows for listening to a music file provided by a streaming application 40 running on source device 10 while simultaneously receiving audio notifications, e.g., notifications from a social media application installed on source device 10.
[0251] Preferably, when one or more or two or more audio sources are present, the corresponding audio data may be mixed in at least one audio server and resampled using a sampling rate of sink device 20 that corresponds to the sampling rate of streaming application 40 at the time the existing stream was reconstructed.
[0252] That is, the illustrated embodiment allows several audio sources, including a streaming application 40 and at least one audio server 30, to provide a simplified audio link path to the streaming application.
[0253] FIG. 12 illustrates method steps for transmitting an audio stream over a Bluetooth communication link according to a third aspect of the disclosure.
[0254] In particular, the method steps of the third aspect allow for transmitting an audio stream over a Bluetooth communication link, similar to the first and second aspects, but differ in that the receiving step S50 is replaced by two steps S51 and S52, which are performed simultaneously or successively. Step S51 includes the source device 10 receiving first audio data AD1 from the streaming application 40, and step S52 includes the source device 10 receiving second audio data AD2 from the audio server 30.
[0255] FIG. 13 is a diagram illustrating a Bluetooth communication link for carrying out the third aspect of the disclosure.
[0256] In particular, a Bluetooth audio stream BTSTRM corresponding to a packetization of two audio streams is transmitted from source device 10 to sink device 20. The Bluetooth audio stream BTSTRM includes a first contribution ASTRM1 and a second contribution ASTRM2. Preferably, the first contribution ASTRM1 is an audio stream provided by a streaming application running on source device 10, and the second contribution ASTRM2 is an audio stream provided by an audio server.
[0257] Preferably, the Bluetooth audio stream BTSTRM is an A2DP Bluetooth audio stream.
[0258] The Bluetooth audio stream BTSTRM is enabled by the logical link LL1, preferably the ACL-U logical link.
[0259] In this specification, a logical link is a link that defines what kind of information is carried by the Bluetooth audio stream BTSTRM, for example, the logical link may carry control data or user data, the user data being further divided into framed data and unframed data.
[0260] Preferably, the logical link LL1 is carried by a logical transport LT1, preferably an ACL logical transport.
[0261] In this specification, a logical transport is a wireless transfer that defines what kind of characteristics are carried by a stream. A logical transport can also support one or more logical links, including among others the casting type, scheduling behavior, acknowledgement / repeat mechanisms, flow control, and sequence numbering. In particular, a Bluetooth logical transport can carry different kinds of logical links depending on the type of logical transport, and if several Bluetooth logical links are used, these Bluetooth logical links can be multiplexed onto the same logical transport.
[0262] Examples of logical transports include Asynchronous Connection Oriented or ACL, Synchronous Connection Oriented or SCO, Extended Synchronous Connection Oriented or eSCO, Active Slave Broadcast or ASB, Connectionless Slave Broadcast or CSB, LE Asynchronous Connection or LE ACL, LE Advertisement Broadcast or ADVB, LE Periodic Advertisement Broadcast or PADVB, transport, etc. Other examples include LE Connection Isochronous Streams and Broadcast Isochronous Streams.
[0263] The Bluetooth audio stream BTSTRM, the logical link LL1 and the logical transport LT1 define a communication link, which is thus defined by at least one physical link between two devices. Moreover, the communication link includes one or more physical links and defines wireless communication between two devices, in this case source device 10 and sink device 20.
[0264] The Bluetooth audio stream BTSTRM, the logical link LL1 and the logical transport LT1 define a physical link PL1, such as a BR / EDR physical link.
[0265] In this specification, a physical link is a BR / EDR physical link or an LE physical link that enables baseband connectivity between wireless devices. BR / EDR physical links include a BR / EDR enabled physical link and a BR / EDR connectionless slave broadcast physical link. LE physical links include a LE enabled physical link, a LE advertised physical link, a LE periodic physical link, and a LE isochronous physical link.
[0266] Preferably, the physical link PL1 is a valid BR / EDR physical link or a LE isochronous physical link.
[0267] FIG. 14 is a diagram showing a flow chart of method steps according to the fourth aspect of the present disclosure.
[0268] In this fourth embodiment, the audio codec configuration and sampling rate of the streaming application 40 are used to receive the audio from the streaming application 40. The audio server 30 then packetizes audio data AD1 corresponding to the first audio stream into a configured Bluetooth audio stream. Simultaneously or consecutively, the audio server 30 packetizes audio data AD2 corresponding to the second audio stream received from the audio server 30 into a Bluetooth audio stream using the audio codec configuration and sampling rate of the second audio stream.
[0269] Alternatively, the two audio streams may use the same audio codec configuration and sampling rate, which allows these two audio streams to be transmitted over the same Bluetooth communication link L1, as shown.
[0270] Once AD1 and AD2 are packetized into the same Bluetooth audio stream, they may be later depacketized and decoded by sink device 20. In particular, depacketization and decode of each of AD1 and AD2 may occur simultaneously or consecutively.
[0271] 15 illustrates method steps according to a fourth aspect of the present disclosure, which, among other things, allow for the transmission of two audio streams over a single Bluetooth communications link.
[0272] In step S10, a Bluetooth link between the source device and the sink device is opened or pre-established as described above. Preferably, this is performed when a streaming application running on the source device requests to open at least one audio stream.
[0273] In step S41, the at least one Bluetooth audio stream is configured or reconfigured with an audio codec configuration and sampling rate of the streaming application 40.
[0274] Step S41 is followed or performed simultaneously in step S42, where at least one further Bluetooth audio stream is configured or reconfigured with the audio codec configuration and sampling rate of the audio server 30 or with the audio codec configuration and sampling rate of the streaming application.
[0275] In step S51, the source device 10 receives an audio stream, referred to as the first audio stream, from the streaming application 40. In step S52, which follows or is performed simultaneously with step S51, the source device receives an audio stream, referred to as the second audio stream, from the audio server 30.
[0276] In step S61, the source device packetizes the first audio stream configured in step S41 using the audio codec configuration and sampling rate of the streaming application into a Bluetooth audio stream.
[0277] In an optional step S62, which may follow or be performed simultaneously with step S61, the source device packetizes the second audio stream into a Bluetooth audio stream.
[0278] In step S70, the source device 10 transmits to the sink device 20 a Bluetooth audio stream including the packetized first audio stream and the second audio stream.
[0279] Instead of step S70, steps S61 and S62 may be followed by two separate transmission steps S71 and S72, not shown here, in which case the first packetized audio stream and the second packetized audio stream may be transmitted by separate logical links.
[0280] FIG. 16 is a diagram illustrating a Bluetooth communication link for carrying out the fourth aspect of the disclosure.
[0281] As shown, two Bluetooth audio streams, BTSTRM1 and BTSTRM2, are transmitted from source device 10 to sink device 20 over a single Bluetooth communications link.
[0282] In particular, the first Bluetooth audio stream BTSTRM1 includes a first contribution ASTRM1 and the second Bluetooth audio stream BTSTRM2 includes a second contribution ASTRM2, where the first contribution ASTRM1 is an audio stream provided by a streaming application 40 running on the source device 10 and the second contribution ASTRM2 is an audio stream provided by the audio server 30.
[0283] Preferably, the Bluetooth audio streams BTSTRM1 and BTSTRM2 are each A2DP Bluetooth audio streams, and the Bluetooth audio streams are enabled by one logical link LL1, such as an ACL-U logical link, carried by one logical transport LT1, such as an ACL logical transport. The Bluetooth audio streams BTSTRM1 and BTSTR2, the logical link LL1 and the logical transport LT1 define a physical link PL1, preferably a BR / EDR enabled physical link.
[0284] FIG. 17 is a diagram showing a flowchart of method steps according to the fifth aspect of the present disclosure.
[0285] In particular, the method steps of the fifth aspect are similar to the method steps of the fourth aspect, except that in addition to the Bluetooth communication link L1, at least one other Bluetooth logical link LL2 is opened between the source device 10 and the sink device 20. This allows one or more audio streams to be transmitted over two separate Bluetooth logical links.
[0286] For example, when a streaming application 40 requests to open a stream, at least another link LL2 is opened in step S10.
[0287] FIG. 18 is a diagram illustrating two Bluetooth communication links for carrying out the fifth aspect of the disclosure.
[0288] As shown, two Bluetooth audio streams BTSTRM1 and BTSTRM2 are sent from source device 10 to sink device 20. The first Bluetooth audio stream BTSTRM1 includes a first contribution ASTRM1 and the second Bluetooth audio stream BTSTRM2 includes a second contribution ASTRM2. Again, the first contribution ASTRM1 is an audio stream provided by streaming application 40 and the second contribution ASTRM2 is an audio stream provided by audio server 30. The audio stream.
[0289] The Bluetooth audio stream BTSTRM1 is enabled by a logical link LL1, such as an ACL-U logical link, and the Bluetooth audio stream BTSTRM2 is enabled by another logical link LL2, such as an LE-S logical link.
[0290] Logical link LL1 is carried by a logical transport LT1, such as an ACL logical transport, and logical link LL2 is carried by another logical transport LT2, such as a LE connection isochronous logical transport.
[0291] The Bluetooth audio stream BTSTRM1, the logical link LL1 and the logical transport LT1 define a physical link PL1, preferably a BR / EDR enabled physical link. The Bluetooth audio stream BTSTRM2, the logical link LL2 and the logical transport LT2 define a physical link PL2, preferably a LE isochronous physical link.
[0292] FIG. 19 is a diagram showing a flowchart of method steps according to the sixth aspect of the present disclosure.
[0293] In particular, the method steps are similar to those of the first, second and third aspects, except that packetization of the audio data AD1 and AD2 is performed by wrapping the audio data in a container, such as an Ogg container, resulting in a physical bitstream that is then packetized and transmitted over the established Bluetooth communications link between source device 10 and sink device 20.
[0294] After being received by sink device 20, the container or physical bitstream is subsequently depacketized and unwrapped. Subsequent decoding steps are then performed, one for the logical bitstream of the physical bitstream corresponding to the streaming application and another for the logical bitstream of the physical bitstream corresponding to the audio server. These two decoding steps can be performed separately or together as one decoding step.
[0295] FIG. 20 illustrates method steps corresponding to the sixth aspect of the present disclosure. Specifically, after receiving the first audio stream in step S51, and after receiving the second audio stream in step S52, the two audio streams are packetized into a container CT in step S55, then packetized in step S65, and finally transmitted to the sink device 20 in step S75.
[0296] FIG. 21 is a diagram illustrating a Bluetooth communication link for carrying out the sixth aspect of the disclosure.
[0297] Specifically, a Bluetooth audio stream BTSTRM1 is transmitted from source device 10 to sink device 20. The Bluetooth audio stream BTSTRM1 includes a first contribution ASTRM1 and a second contribution ASTRM2. The first contribution ASTRM1 is an audio stream provided by a streaming application running on source device 10. and the second contribution ASTRM2 is the audio stream provided by the audio server.
[0298] In this case, these two contributions ASTRM1 and ASTRM2 are encapsulated in a container CT before being transmitted from source device 10 to sink device 20.
[0299] Again, the Bluetooth communication link defined by audio stream BTSTRM1, logical link LL1 and logical transport LT1 may include one or more physical links and defines wireless communication between source device 10 and sink device 20.
[0300] Again, preferably, the Bluetooth audio stream BTSTRM1, the logical link LL1 and the logical transport LT1 define a physical link PL1, such as a BR / EDR physical link.
[0301] Advantageously, the container CT here is an Ogg-Vorbis container. Whereas the Bluetooth standard only allows the packetization of audio data into one audio stream, the use of an Ogg-Vorbis container makes it possible to include several audio streams in the same packet, i.e. the use of an Ogg-Vorbis container or an Ogg stream container makes it possible to encapsulate one or more logical bitstreams.
[0302] This also allows sink device 20 to be provided with the information necessary to properly split and unsplit the audio data without relying on decoding to find corresponding packet boundaries, in which case the codec used to encode the audio data provided by audio server 30 must be compatible with container CT.
[0303] Once encoded, the logical bitstream coming from the audio server can be wrapped in a container along with the logical bitstream of the streaming application, and both logical bitstreams are then sent in the same packet to sink device 20. Sink device 20 can then unwrap the two logical bitstreams and decode them separately using their respective codecs, mixing the decoded results to output a single stream.
[0304] FIG. 22 illustrates a device 1000 adapted to implement methods according to aspects of the present disclosure, specifically, methods for transmitting and receiving audio streams over a Bluetooth communication link when managing multiple multimedia devices.
[0305] In one aspect, device 1000 includes a Bluetooth chip that is integrated into an electronic circuit or into any type of electronic device, such as a source device or a sink device.
[0306] As shown, the device 1000 comprises a memory MEM including a storage space 1002, for example, a random access memory 1002. The storage space 1002 may also be a non-volatile memory, such as a ROM or flash memory, and may provide a recording medium configured to store a computer program product.
[0307] The device 1000 further comprises a processing unit 1004, which includes, for example, a processor PROC or is a processor PROC. The processing unit 1004 includes a computer program that implements the management method described in this specification with reference to the previous figures. The processing unit 1004 may be controlled by a program, such as the above. The processing unit 1004 may store instructions for executing the steps described in any of the above-mentioned aspects.
[0308] The device 1000 may also comprise a database 1010 for storing data such as audio data, audio streams, containers or any bitstreams. The database 1010 may further store any information such as audio codec configurations or sampling rates.
[0309] The device 1000 further comprises an input interface 1006 and an output interface 1008. The input interface 1006 and the output interface 1008 are configured to establish communication from an external device to the multimedia device and from the multimedia device to the external device. For example, the output interface 1008 may be a communication module for exchanging data with other devices via Bluetooth, enabling the device 1000 to connect with other devices via Bluetooth. Preferably, the communication module includes a Bluetooth communication module.
[0310] According to an aspect, a Bluetooth chip is configured to implement one or more of the steps described in this disclosure.
[0311] In interpreting the description and its associated claims herein, words such as "comprise," "include," "incorporate," "contain," "is," and "have" should be interpreted in a general sense, i.e., to allow for the presence of other elements or components not expressly defined. References to the singular should be interpreted to refer to the plural and vice versa.
[0312] Although embodiments of the present invention have been illustrated and described, it will be understood by those skilled in the art that various other modifications may be made and equivalents may be substituted without departing from the true scope of the present invention. In addition, many modifications may be made to adapt a particular situation to the teachings of the embodiments of the present invention without departing from the scope of the present invention. Moreover, embodiments of the present invention may not include all of the features described above. Therefore, the present invention is not limited to the particular embodiments disclosed, but the present invention is intended to include all embodiments falling within the scope of the appended claims. Those skilled in the art will readily recognize that the various elements disclosed in the description may be modified and that the various embodiments disclosed and / or claimed may be combined without departing from the scope of the present invention.
[0313] Furthermore, the present disclosure includes embodiments according to the following sections A to R. A. 1. A method for transmitting an audio stream over a Bluetooth communications link, the method being performed by a source device, the method comprising: receiving an audio codec configuration and a sampling rate of a first audio stream, the first audio stream coming from a streaming application running on a source device, the method further comprising: - configuring a first Bluetooth audio stream between the source device and the sink device using the received audio codec configuration and sampling rate; - receiving a first audio stream from a streaming application; - The first audio stream received is sent to the first Bluetooth audio stream. packetizing the received signal into a packet format; - transmitting a first Bluetooth audio stream to a sink device over a Bluetooth communications link, wherein the transmitted Bluetooth audio stream includes a packetized received audio stream.
[0314] B. The method of clause A, wherein upon receiving an unaltered bitstream from the streaming application, the step of receiving a first audio stream from the streaming application is performed.
[0315] C. receiving at least a second audio stream (AD2) from an audio server (30), said second audio stream being different from the first audio stream, and further comprising: The method of any one of clauses A or B, comprising transmitting the received second audio stream to a sink device over a Bluetooth communications link.
[0316] D. The method of claim C, wherein the first Bluetooth audio stream is a multi-contribution type Bluetooth audio stream, the method further including packetizing the second audio stream into the first Bluetooth audio stream using an audio codec configuration and sampling rate of the received second audio stream.
[0317] E. The method of claim C, further comprising: wrapping the first audio stream received from the streaming application and / or the second audio stream received in a container (CT), the container being placed in the first Bluetooth audio stream.
[0318] F. The method of claim E, in which the container is an Ogg-Vorbis container.
[0319] G. The method of claim E, wherein the first audio stream or the second audio stream is a stream encoded in the Vorbis format, or the first audio stream and the second audio stream are streams encoded in the Vorbis format.
[0320] H. packetizing the received second audio stream into a second Bluetooth audio stream, the second Bluetooth audio stream being separate from the first Bluetooth audio stream, the method further comprising: The method of claim C, comprising transmitting a second Bluetooth audio stream over a Bluetooth communication link to a sink device, the second Bluetooth audio stream being multiplexed with the first Bluetooth audio stream.
[0321] I. The first Bluetooth audio stream or the second Bluetooth audio the first Bluetooth audio stream and the second Bluetooth audio stream are transmitted over a BR / EDR link of the Bluetooth communications link; or the first Bluetooth audio stream and the second Bluetooth audio stream are transmitted over a BR / EDR link of the Bluetooth communications link.
[0322] J. The method of claim H, wherein the second Bluetooth audio stream is transmitted over a BLE link of the Bluetooth communications link.
[0323] K. The method of any one of the preceding clauses, wherein the transmission of the first Bluetooth audio stream occurs upon successful negotiation with the sink device on an audio codec configuration and sampling rate.
[0324] L. A computer program product comprising a computer readable medium having stored thereon computer program instructions readable into a computing device, the computer program instructions, when read and executed by the computing device, - a computer program product adapted to cause a computing device to perform the steps of the method described in clauses A to K.
[0325] M. 1. A method for receiving a Bluetooth audio stream over a Bluetooth communication link, the method being performed by a sink device, the method comprising: receiving, via a Bluetooth communications link, a plurality of Bluetooth audio streams transmitted by a source device; - mixing the received multiple Bluetooth audio streams into a mixed audio stream; - rendering a mixed audio stream, wherein at least one first Bluetooth audio stream of the received plurality of Bluetooth audio streams includes a packetized audio stream, the packetizing of the audio stream into the first Bluetooth audio stream is performed by a source device, the first Bluetooth audio stream is configured between the source device and the sink device using an audio codec configuration and sampling rate of the first audio stream by the source device, the audio codec configuration and sampling rate are received by the source device, the first audio stream arrives from a streaming application running on the source device, and the transmission of the first Bluetooth audio stream is performed by the source device upon successful negotiation with the sink device for the audio codec configuration and sampling rate.
[0326] N. The method of claim M, further comprising receiving at least a second audio stream from the source device over the Bluetooth communication link, the second audio stream being received by the source device from an audio server, the second audio stream being different from the first audio stream.
[0327] O. -A second Bluetooth audio stream over the Bluetooth communication link The method of claim N, further comprising receiving from the source device, the second Bluetooth audio stream being multiplexed with the first Bluetooth audio stream, the received second audio stream being packetized by the source device into a second Bluetooth audio stream, the second Bluetooth audio stream being separate from the first Bluetooth audio stream.
[0328] P. 1. A source device for transmitting an audio stream over a Bluetooth communications link, the source device comprising: receiving an audio codec configuration and a sampling rate for a first audio stream of a streaming application running on a source device; configuring a first Bluetooth audio stream between the source device and the sink device using the received audio codec configuration and sampling rate; receiving a first audio stream from a streaming application; packetizing the received audio stream into a first Bluetooth audio stream; - A source device configured to transmit a first Bluetooth audio stream to a sink device, the first Bluetooth audio stream including a packetized received audio stream.
[0329] Q. 1. A sink device for receiving a Bluetooth audio stream over a Bluetooth communication link, the sink device comprising: -Receive multiple Bluetooth audio streams transmitted by a source device over a Bluetooth communications link; -Mixing multiple received Bluetooth audio streams into a mixed audio stream, -A method for rendering a mixed audio stream, wherein at least one Bluetooth audio stream of a plurality of received Bluetooth audio streams includes a packetized audio stream, and the packetization of the audio stream into the at least one Bluetooth audio stream is performed by a source device, and the at least one Bluetooth audio stream is configured between the source device and a sink device using an audio codec configuration and sampling rate of a first audio stream by the source device, the audio codec configuration and sampling rate being received by the source device, and the first audio stream arrives from a streaming application running on the source device, and the sink device.
[0330] R. A system for transmitting and receiving Bluetooth audio streams over a Bluetooth communication link, the system comprising a source device as described in clause P and a sink device as described in clause Q.
Claims
1. 1. A processor-implemented method for operating a Bluetooth device (203), comprising: transferring (102) audio information over the established (101) Bluetooth communications link with a second device; determining (104) a new operating mode of the Bluetooth communication link when a value of an operating parameter changes (103) in the Bluetooth device (203) or in the second device; modifying (105) configuration parameters of said Bluetooth communications link based on said new operating mode; and transferring (102) audio information over the Bluetooth communication link in accordance with the modified configuration parameters; The method, wherein the operating parameter is a read mode of the multimedia content.
2. The method of claim 1 , wherein the operating parameters are associated with an operating system running on the Bluetooth device (700) or an operating system running on the second device.
3. The method of claim 1 , wherein the operating parameters are associated with an application running on the Bluetooth device (700) or an application running on the second device.
4. The method according to any one of claims 1 to 3, wherein the step of modifying (105) the configuration parameters is performed by a Bluetooth host.
5. The method according to any one of claims 1 to 3, wherein the step of modifying (105) the configuration parameters is performed by a Bluetooth controller.
6. The configuration parameters are: Audio configuration parameters, or Bluetooth connection parameters, The method according to any one of claims 1 to 5, wherein
7. The configuration parameters are: Codec type, Parameters for the codec, Type of data, Audio Channel Selection parameters, or Sampling rate parameters, The method of claim 6, wherein the audio configuration parameter is one of:
8. The configuration parameters are: The flush timeout parameter, The channel type parameter, QoS (Quality of Service) parameters, Retry count parameter, One of the BLE link parameters, Packet type parameters, and MTU (maximum transmission unit) parameter, 7. The method of claim 6, wherein the Bluetooth connection parameters are one of:
9. The method of any one of claims 1 to 8, wherein the multiple operational modes of the Bluetooth communication link include at least one of a mode for hardware components of one of the Bluetooth device (203) and the second device and a mode for transmitting data from one of the Bluetooth device (203) and the second device to the other of the Bluetooth device (203).
10. A Bluetooth device (203), A Bluetooth chip; A processor; a memory for storing a computer program; A Bluetooth device (203), wherein the computer program is adapted to cause the processor to perform the steps of any one of claims 1 to 9 when the computer program is executed by the processor.
11. A computer program including program instructions, the computer program being readable into a data processing unit, and configured to cause the data processing unit to execute the steps according to any one of claims 1 to 9 when the computer program is executed by the data processing unit.
Citation Information
Patent Citations
Data transfer system, data transfer device and method, and computer program
JP2003309541A
Image pickup device
JP2004040548A
Portable terminal device, and portable terminal program
JP2018072213A
Gateway device, communication system, power saving control method, and power saving control program
JP2018117393A