Electronic device for providing audio service and method of operating same
By configuring the processor in the electronic device, determining the priority of the audio communication link resources and allocating resources, the problem of low efficiency in audio service resource management in the prior art is solved, and the audio service stability in a multi-task environment is realized. Quality improvement.
Patent Information
- Application Number
- CN202380034434.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-04-14
- Filing Date
- 2023-04-18
- Publication Date
- 2025-02-07
AI Technical Summary
The prior art is difficult to effectively manage and allocate communication link resources for audio services, especially when performed simultaneously with other operations, resulting in the impact of the quality and stability of audio services.
By configuring at least one processor in the electronic device, the available resources in the audio communication link are determined and the resources are allocated according to the priorities of the resources to provide audio services while detecting and scheduling other communication tasks.
It realizes efficient allocation and management of audio service resources, ensures the stability and quality of audio services in a multi-task environment, and improves the system's resource utilization rate.
Smart Images

Figure CN119404522A_ABST
Abstract
Description
Technical Field
[0001] Various embodiments relate to an electronic device for providing an audio service and an operating method thereof. Background Art
[0002] Bluetooth communication technology may suggest a short-range wireless communication technology that enables electronic devices to connect to each other to exchange data or information. The Bluetooth communication technology may have Bluetooth traditional (or classic) communication technology or Bluetooth low energy (BLE) communication technology, and has various topologies such as a piconet or a scatternet.
[0003] Recently, electronic devices using Bluetooth communication technology are widely used. In particular, a pair of headphones that can be worn on the two ears of a user are widely used as ear-worn devices. Ear-worn devices can provide various functions. For example, an ear-worn device may include a microphone to recognize the user's voice, thereby sending data of the user's voice to an electronic device (e.g., a smart phone). In addition, the ear-worn device may include a speaker to output audio data received from an electronic device (e.g., a smart phone) through the speaker.
[0004] The ear-worn device may include a main earphone (e.g., a right earphone) and an auxiliary earphone (e.g., a left earphone) that can be connected to an electronic device (e.g., a smart phone). The main earphone can send voice data to the electronic device through a connection with the electronic device, and the electronic device can send audio data (or audio content) to the main earphone. The main earphone can transfer the audio data (or audio content) received from the electronic device to the auxiliary earphone through wireless communication, and the audio data can be output through a speaker. The auxiliary earphone can be synchronized with the main earphone and output the audio data transmitted from the main earphone or the electronic device through the speaker.
[0005] The main earphone and the auxiliary earphone (hereinafter referred to as "earphone") can be connected to the electronic device based on Bluetooth communication to perform the above operations. To this end, the earphone can perform pairing, including inquiry and / or inquiry scanning, or BLE notification and / or BLE scanning.
[0006] Inquiry may refer to an initial operation of a connection, in which an inquiry packet is repeatedly sent until a response is received from a peer electronic device or a timeout occurs. Inquiry scanning may refer to an operation for monitoring the reception of an inquiry packet through a designated physical channel. Upon receiving an inquiry packet through inquiry scanning, the headset may send an inquiry response packet including its own information.
[0007] BLE advertising may mean an operation for periodically broadcasting an advertising packet through an advertising physical channel, and BLE scanning may mean an operation for listening for reception of an advertising packet. Summary of the invention
[0008] Solution to the problem
[0009] The present invention is defined by the appended claims. The limitations described below apply to the following description. All disclosures departing from the scope of the claims are for description and comparison purposes only.
[0010] Various embodiments provide an electronic device for providing an audio service and a method for operating the electronic device.
[0011] Embodiments of the present disclosure may provide an electronic device for effectively allocating resources of a communication link for an audio service and resources for other operations and a method for operating the electronic device.
[0012] Embodiments of the present disclosure may provide a technique that can flexibly use resources of a source electronic device in consideration of priorities of other operations that may be performed simultaneously with an audio service and maximize allocation of resources of a communication link for an audio service.
[0013] According to an embodiment, an electronic device includes a communication circuit and at least one processor. The at least one processor is configured to determine a first resource that can be used for an audio service in at least one audio communication link. The at least one processor is configured to determine a second resource of a first priority and a third resource of a second priority lower than the first priority in the first resource. The at least one processor is configured to use at least one of the second resource or the third resource to provide the audio service to at least one external electronic device through the at least one audio communication link. The at least one processor may be configured to detect a first communication task that is scheduled to use a frequency band corresponding to the frequency band of the at least one audio communication link while providing the audio service, and the at least one processor may be configured to perform the first communication task using the third resource through the communication circuit based on identifying that the third priority specified for the first communication task is higher than the second priority.
[0014] According to an embodiment, a method for operating an electronic device includes: determining a first resource in at least one audio communication link that can be used for an audio service. The method includes: determining a second resource of a first priority and a third resource of a second priority lower than the first priority in the first resource. The method includes: using at least one of the second resource or the third resource to provide the audio service to at least one external electronic device through the at least one audio communication link. The method may include: while providing the audio service, detecting a first communication task that is scheduled to use a frequency band corresponding to a frequency band of the at least one audio communication link. The method may include: based on identifying that the third priority specified for the first communication task is higher than the second priority, using the third resource to perform the first communication task.
[0015] A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions, which are configured to, when executed by at least one processor of an electronic device, cause the electronic device to: determine a first resource in at least one audio communication link that can be used for an audio service, determine a second resource of a first priority and a third resource of a second priority lower than the first priority in the first resource, and use the second resource or at least one of the third resources to provide the audio service to at least one external electronic device through the at least one audio communication link. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 is a diagram showing an electronic device in a network environment according to various embodiments;
[0017] Figure 2 is a view showing an example of connection between electronic devices based on a Bluetooth scheme according to an embodiment;
[0018] Figure 3 is a view showing a configuration of an electronic device supporting Bluetooth communication according to an embodiment;
[0019] Figure 4 is a view showing a Bluetooth LE (BLE) scanning operation according to an embodiment;
[0020] Figure 5 is a view showing an example of connection between Bluetooth devices according to the embodiment;
[0021] Figure 6 is a view showing an example of a BLE communication connection according to an embodiment;
[0022] Figure 7 is a signal flow diagram illustrating an example of an operation process for establishing a CIS link according to an embodiment;
[0023] Figure 8 is a view showing an example of a CIS parameter set for CIS communication according to an embodiment;
[0024] Fig. 9 is a timing diagram showing an example of CIS communication according to an embodiment;
[0025] Fig.10 is a view showing an example of a CIS event according to an embodiment;
[0026] Fig.11 is a view showing an example of CIS transmission according to an embodiment;
[0027] Fig.12 is a view showing another example of CIS transmission according to the embodiment;
[0028] Fig.13 is a view showing a CIS arranged in sequence according to an embodiment;
[0029] Fig.14 is a view showing a staggered arrangement of CIS according to an embodiment;
[0030] Fig.15 is a view showing a CIG event layout including three CISs according to an embodiment;
[0031] Fig.16A and 16B is a flow chart illustrating an example of a process for providing audio services over an audio communication link according to an embodiment;
[0032] Fig.17 and Fig.18 is a timing diagram showing an example of allocating time periods by an electronic device according to an embodiment;
[0033] Fig.19 is a flow chart illustrating a process for a 2-channel audio service according to an embodiment;
[0034] Fig. 20A , Fig. 20B and Fig. 20C Various examples of user interfaces displayed on electronic devices according to embodiments are shown;
[0035] Fig.21 is a diagram showing a process for generating an LE communication link by an electronic device according to an embodiment;
[0036] Fig. 22 is a diagram showing a process of communicating by an electronic device through a plurality of LE communication links according to an embodiment;
[0037] Fig.23 is a diagram illustrating an operation of determining resources for a media service according to an embodiment;
[0038] Fig.24 is a diagram illustrating an operation of determining resources for a session service according to an embodiment;
[0039] Fig.25 is a diagram showing an example of resource allocation according to an embodiment;
[0040] Fig.26 is a view showing an example of resource partitioning for CIS communication according to an embodiment;
[0041] Fig. 27 is a view showing another example of resource partitioning for CIS communication according to an embodiment;
[0042] Fig.28 is a view showing an example of resource division according to a time ratio according to an embodiment;
[0043] Fig.29 is a view showing an example of resource partitioning applied to a hybrid arrangement according to an embodiment;
[0044] Fig.30 is a view showing another example of resource partitioning applied to a hybrid arrangement according to an embodiment;
[0045] Fig.31 is a view showing an operation of providing an audio service through a CIS link according to an embodiment;
[0046] Fig.32 is a view showing an operation of opening a CIS link according to an embodiment;
[0047] Fig.33 is a diagram illustrating an operation of operating CIS communication in consideration of a wireless environment or a scheduling context according to an embodiment;
[0048] Fig.34 is a view showing an operation of executing a CIS task with a priority according to an embodiment;
[0049] Fig.35 is a view showing an operation of executing a BLE task with priority according to an embodiment;
[0050] Fig.36 is a view showing an operation of changing the priority of CIS communication according to an embodiment;
[0051] Fig.37is a signal flow diagram illustrating a process for synchronizing with a broadcast isochronous group (BIG) according to an embodiment;
[0052] Fig.38 is a view showing the format of BIG information according to an embodiment;
[0053] Fig.39 is a diagram showing a BIG event for periodically notifying an event according to an embodiment;
[0054] Fig.40 is a view showing a BIG event and a BIS event according to an embodiment;
[0055] Fig.41 is a diagram showing resource allocation for BIS communication according to an embodiment;
[0056] Fig.42 is a diagram showing resource partitioning for BIS communication according to an embodiment; and
[0057] Fig.43 is a view illustrating an operation of executing a communication task having a higher priority according to an embodiment. DETAILED DESCRIPTION
[0058] Figure 1 1 is a block diagram illustrating an electronic device 101 in a network environment 100 according to various embodiments. Figure 1 , the electronic device 101 in the network environment 100 may communicate with the electronic device 102 via the first network 198 (e.g., a short-range wireless communication network), or communicate with at least one of the electronic device 104 or the server 108 via the second network 199 (e.g., a long-range wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 via the server 108. According to an embodiment, the electronic device 101 may include a processor 120, a memory 130, an input module 150, a sound output module 155, a display module 160, an audio module 170, a sensor module 176, an interface 177, a connection terminal 178, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a user identification module (SIM) 196, or an antenna module 197. In some embodiments, at least one of the above components (e.g., the connection terminal 178) may be omitted from the electronic device 101, or one or more other components may be added to the electronic device 101. In some embodiments, some of the above-described components (eg, sensor module 176, camera module 180, or antenna module 197) may be implemented as a single integrated component (eg, display module 160).
[0059] The processor 120 may run, for example, software (e.g., program 140) to control at least one other component (e.g., hardware component or software component) of the electronic device 101 connected to the processor 120, and may perform various data processing or calculations. According to one embodiment, as at least part of the data processing or calculation, the processor 120 may store a command or data received from another component (e.g., sensor module 176 or communication module 190) in the volatile memory 132, process the command or data stored in the volatile memory 132, and store the result data in the non-volatile memory 134. According to an embodiment, the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) or an auxiliary processor 123 (e.g., a graphics processing unit (GPU), a neural processing unit (NPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is independent of or combined with the main processor 121 in operation. For example, when the electronic device 101 includes a main processor 121 and an auxiliary processor 123, the auxiliary processor 123 may be adapted to consume less power than the main processor 121, or adapted to be dedicated to a specific function. The auxiliary processor 123 may be implemented as a separate part from the main processor 121, or as part of the main processor 121.
[0060] When the main processor 121 is in an inactive (e.g., sleep) state, the auxiliary processor 123 (rather than the main processor 121) may control at least some of the functions or states related to at least one component among the components of the electronic device 101 (e.g., display module 160, sensor module 176, or communication module 190), or when the main processor 121 is in an active state (e.g., running an application), the auxiliary processor 123 may control at least some of the functions or states related to at least one component among the components of the electronic device 101 (e.g., display module 160, sensor module 176, or communication module 190) together with the main processor 121. According to an embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., camera module 180 or communication module 190) that is functionally related to the auxiliary processor 123. According to an embodiment, the auxiliary processor 123 (e.g., a neural processing unit) may include a hardware structure dedicated to artificial intelligence model processing. The artificial intelligence model may be generated by machine learning. For example, such learning may be performed by the electronic device 101 where the artificial intelligence is executed or via a separate server (e.g., server 108). The learning algorithm may include, but is not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, for example. The artificial intelligence model may include multiple artificial neural network layers. The artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), or a deep Q network or a combination of two or more thereof, but is not limited thereto. Additionally or alternatively, the artificial intelligence model may include a software structure in addition to a hardware structure.
[0061] The memory 130 may store various data used by at least one component of the electronic device 101 (e.g., the processor 120 or the sensor module 176). The various data may include, for example, software (e.g., the program 140) and input data or output data for commands related thereto. The memory 130 may include a volatile memory 132 or a non-volatile memory 134.
[0062] The program 140 may be stored as software in the memory 130 , and may include, for example, an operating system (OS) 142 , middleware 144 , or applications 146 .
[0063] The input module 150 may receive commands or data to be used by other components (e.g., the processor 120) of the electronic device 101 from outside the electronic device 101 (e.g., a user). The input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus).
[0064] The sound output module 155 can output sound signals to the outside of the electronic device 101. The sound output module 155 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as playing multimedia or playing records. The receiver can be used to receive incoming calls. Depending on the embodiment, the receiver can be implemented as a separate part from the speaker, or as part of the speaker.
[0065] The display module 160 may visually provide information to the outside (e.g., user) of the electronic device 101. The display device 160 may include, for example, a display, a holographic device, or a projector, and a control circuit for controlling a corresponding one of the display, the holographic device, and the projector. According to an embodiment, the display module 160 may include a touch sensor adapted to detect a touch or a pressure sensor adapted to measure the strength of a force caused by a touch.
[0066] The audio module 170 may convert sound into an electrical signal, or vice versa. According to an embodiment, the audio module 170 may obtain sound via the input module 150, or output sound via the sound output module 155 or an earphone of an external electronic device (e.g., electronic device 102) directly (e.g., wired) or wirelessly connected to the electronic device 101.
[0067] The sensor module 176 may detect an operating state (e.g., power or temperature) of the electronic device 101 or an environmental state (e.g., a user's state) outside the electronic device 101, and then generate an electrical signal or data value corresponding to the detected state. According to an embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illumination sensor.
[0068] The interface 177 may support one or more specific protocols that will be used to connect the electronic device 101 directly (e.g., wired) or wirelessly to an external electronic device (e.g., the electronic device 102). According to an embodiment, the interface 177 may include, for example, a high-definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
[0069] The connection end 178 may include a connector, wherein the electronic device 101 can be physically connected to an external electronic device (e.g., the electronic device 102) via the connector. According to an embodiment, the connection end 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0070] The haptic module 179 may convert the electrical signal into mechanical stimulation (eg, vibration or motion) or electrical stimulation that can be recognized by the user via his sense of touch or kinesthetic sense. According to an embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulator.
[0071] The camera module 180 may capture still images or moving images. According to an embodiment, the camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.
[0072] The power management module 188 may manage power supply to the electronic device 101. According to an embodiment, the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
[0073] The battery 189 may power at least one component of the electronic device 101. According to an embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0074] The communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108), and perform communication via the established communication channel. The communication module 190 may include one or more communication processors capable of operating independently from the processor 120 (e.g., an application processor (AP)) and supporting direct (e.g., wired) communication or wireless communication. According to an embodiment, the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules can communicate with an external electronic device via a first network 198 (e.g., a short-range communication network such as Bluetooth, Wireless Fidelity (Wi-Fi) Direct, or Infrared Data Association (IrDA)) or a second network 199 (e.g., a long-range communication network such as a traditional cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules can be implemented as a single component (e.g., a single chip), or these various types of communication modules can be implemented as multiple components separated from each other (e.g., multiple chips). The wireless communication module 192 can identify and authenticate the electronic device 101 in a communication network (such as the first network 198 or the second network 199) using user information (e.g., an International Mobile Subscriber Identity (IMSI)) stored in the user identification module 196.
[0075] The wireless communication module 192 can support 5G networks after 4G networks and next-generation communication technologies (e.g., new radio (NR) access technology). NR access technology can support enhanced mobile broadband (eMBB), massive machine type communication (mMTC), or ultra-reliable low-latency communication (URLLC). The wireless communication module 192 can support high-frequency bands (e.g., millimeter wave bands) to achieve, for example, high data transmission rates. The wireless communication module 192 can support various technologies for ensuring performance on high-frequency bands, such as, for example, beamforming, massive multiple-input multiple-output (massive MIMO), full-dimensional MIMO (FD-MIMO), array antennas, analog beamforming, or massive antennas. The wireless communication module 192 can support various requirements specified in the electronic device 101, an external electronic device (e.g., an electronic device 104), or a network system (e.g., a second network 199). According to an embodiment, the wireless communication module 192 may support a peak data rate for implementing eMBB (e.g., 20 Gbps or greater), loss coverage for implementing mMTC (e.g., 164 dB or less), or U-plane delay for implementing URLLC (e.g., 0.5 ms or less for each of the downlink (DL) and uplink (UL), or 1 ms or less round trip).
[0076] The antenna module 197 may transmit or receive a signal or power to or from the outside of the electronic device 101 (e.g., an external electronic device). According to an embodiment, the antenna module 197 may include an antenna including a radiating element formed of a conductive material or a conductive pattern formed in or on a substrate (e.g., a printed circuit board (PCB)). According to an embodiment, the antenna module 197 may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication scheme used in a communication network (such as the first network 198 or the second network 199) may be selected from the plurality of antennas by, for example, the communication module 190 (e.g., the wireless communication module 192). A signal or power may then be transmitted or received between the communication module 190 and the external electronic device via the selected at least one antenna. According to an embodiment, another component (e.g., a radio frequency integrated circuit (RFIC)) other than the radiating element may be additionally formed as part of the antenna module 197.
[0077] According to various embodiments, the antenna module 197 may form a millimeter wave antenna module. According to an embodiment, the millimeter wave antenna module may include a printed circuit board, a radio frequency integrated circuit (RFIC), and a plurality of antennas (e.g., array antennas), wherein the RFIC is disposed on a first surface (e.g., bottom surface) of the printed circuit board, or adjacent to the first surface and capable of supporting a specified high frequency band (e.g., millimeter wave band), and the plurality of antennas are disposed on a second surface (e.g., top surface or side surface) of the printed circuit board, or adjacent to the second surface and capable of transmitting or receiving signals of the specified high frequency band.
[0078] At least some of the above components may be connected to each other via an inter-peripheral communication scheme (e.g., a bus, general purpose input output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and communicatively transmit signals (e.g., commands or data) therebetween.
[0079] According to an embodiment, a command or data may be sent or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199. Each of the electronic device 102 or the electronic device 104 may be a device of the same type as the electronic device 101, or a device of a different type from the electronic device 101. According to an embodiment, all or some operations to be run on the electronic device 101 may be run on one or more of the external electronic device 102, the external electronic device 104, or the server 108. For example, if the electronic device 101 should automatically perform a function or service or should perform a function or service in response to a request from a user or another device, the electronic device 101 may request the one or more external electronic devices to perform at least part of the function or service instead of running the function or service, or the electronic device 101 may request the one or more external electronic devices to perform at least part of the function or service in addition to running the function or service. The one or more external electronic devices that receive the request may perform the requested at least part of the function or service, or perform another function or another service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may provide the result as at least a partial reply to the request when the result is further processed or when the result is not further processed. To this end, cloud computing technology, distributed computing technology, mobile edge computing (MEC) technology or client-server computing technology, for example, may be used. The electronic device 101 may use, for example, distributed computing or mobile edge computing to provide ultra-low latency services. In another embodiment, the external electronic device 104 may include an Internet of Things (IoT) device. The server 108 may be an intelligent server using machine learning and / or neural networks. According to an embodiment, the external electronic device 104 or the server 108 may be included in the second network 199. The electronic device 101 may be applied to intelligent services (e.g., smart homes, smart cities, smart cars or health care) based on 5G communication technology or IoT-related technologies.
[0080] Examples of electronic devices according to various embodiments are described below.
[0081] Figure 2 is a view showing an example of connection between electronic devices based on a Bluetooth scheme according to an embodiment.
[0082] refer to Figure 2, the electronic device 101 can be wirelessly connected to an external electronic device 102 (e.g., an ear-worn device (ear-worn device)). In an embodiment, the electronic device 101 can be a smart phone. The external electronic device 102 is a binaural ear-worn device and can include at least one of a first external electronic device 202 (e.g., a left earphone) and a second external electronic device 204 (e.g., a right earphone).
[0083] In the embodiment, the first external electronic device 202 and the second external electronic device 204 are shown as a pair of headphones, but the first external electronic device 202 and the second external electronic device 204 may include not only headphones but also devices capable of operating in pairs. According to the embodiment, the first external electronic device 202 and the second external electronic device 204 may be implemented to include components that are identical or similar to each other.
[0084] According to an embodiment, the electronic device 101 may establish a connection (e.g., a communication link) with at least one of the first external electronic device 202 and the second external electronic device 204, and send data to each other and / or receive data from each other. For example, the electronic device 101 may establish a communication link with at least one of the first external electronic device 202 and the second external electronic device 204 based on a Wi-Fi scheme or a Bluetooth scheme. However, the scheme for the electronic device 101 to establish a communication link with the first external electronic device 202 and the second external electronic device 204 is not limited to at least one of the Wi-Fi scheme and / or the Bluetooth scheme.
[0085] In an embodiment, the electronic device 101 may establish a communication link with only one of the first external electronic device 202 and the second external electronic device 204 , or establish a separate communication link with each of the first external electronic device 202 and the second external electronic device 204 .
[0086] In an embodiment, when the external electronic device 102 includes a first external electronic device 202 and a second external electronic device 204, the first external electronic device 202 and the second external electronic device 204 can establish a communication link with each other based on at least one of a Wi-Fi scheme and / or a Bluetooth scheme, but the scheme for the first external electronic device 202 and the second external electronic device 204 to establish a communication link is not limited to at least one of a Wi-Fi scheme and / or a Bluetooth scheme.
[0087] In an embodiment, any one of the first external electronic device 202 and the second external electronic device 204 can operate as a central (or master, primary or main) device, and the other can operate as a peripheral (peripheral) (or slave or secondary) device. An electronic device operating as a central device can send data to an electronic device operating as a peripheral device. For example, when the first external electronic device 202 and the second external electronic device 204 establish a communication link with each other, any one of the first external electronic device 202 and the second external electronic device 204 can be randomly selected as a central device, and the other can be selected as a peripheral device. In the case of an audio service, the electronic device operating as a central device can be a source electronic device, and the electronic device operating as a peripheral device can be a sink electronic device. As used herein, the term "sink" refers to an electronic device operating as a peripheral device, and is interchangeable with the terms "destination", "receiver", "sub" and / or "slave".
[0088] The first external electronic device 202 and the second external electronic device 204 may directly or indirectly communicate with the third external electronic device 250. In an embodiment, the third external electronic device 250 may be an earphone housing device or a cradle device for storing and charging the first external electronic device 202 and the second external electronic device 204.
[0089] Figure 3 is a view showing a configuration of an electronic device supporting Bluetooth communication according to an embodiment.
[0090] Reference Figure 3 , the electronic device 101 can be wirelessly connected to the external electronic devices 202 and 204. The electronic device 101 can be implemented as, for example, a smart phone, but is not limited to those described and / or shown, and can be implemented as various types of devices (e.g., a notebook computer including a standard laptop computer, an ultrabook or a tab book, a laptop computer, a tablet computer, or a desktop computer). The electronic device 101 can be as Figure 1 shown to be implemented, and thus may include Figure 1 At least some of the components shown (eg, various modules) are not described herein, and thus a repeated description thereof is not given below.
[0091] The external electronic devices 202 and 204 may be implemented as wireless headphones, but are not limited to those described and / or shown, and may be implemented as various types of devices that support the audio services described below (e.g., smart watches, head-mounted display devices, or devices for measuring biometric signals (e.g., heart rate patches)). According to an embodiment, when the external electronic devices 202 and 204 are wireless headphones, the external electronic devices 202 and 204 may be a pair of devices (e.g., a left earphone and a right earphone). According to an embodiment, the first external electronic device 202 and the second external electronic device 204 may be implemented to include components that are the same or similar to each other.
[0092] According to an embodiment, the electronic device 101 may establish a communication connection with at least one of the external electronic devices 202 and 204, and send data to each other and / or receive data from each other. For example, the electronic device 101 and the external electronic devices 202 and 204 may each use device-to-device (D2D) communication (such as Wi-Fi Direct or Bluetooth) (for example, using a communication circuit supporting a corresponding communication scheme) to establish a communication connection therebetween, but is not limited thereto, and may use other various types of communication (for example, a communication scheme such as Wi-Fi using an access point (AP), a cellular communication scheme using a base station, or a wired communication scheme) to communicate with each other.
[0093] In an embodiment, the electronic device 101 may establish a communication link with only one (eg, a master earphone) of the first external electronic device 202 and the second external electronic device 204 , or with each of the first external electronic device 202 and the second external electronic device 204 .
[0094] In an embodiment, the first external electronic device 202 and the second external electronic device 204 may establish a communication connection with each other, and send data (e.g., audio data and / or control data) to each other and / or receive data (e.g., audio data and / or control data) from each other. The communication connection may be established using D2D communication (e.g., using a communication circuit that supports corresponding communication), such as Wi-Fi Direct or Bluetooth, as described above, but not limited thereto.
[0095] In an embodiment, one of the first external electronic device 202 and the second external electronic device 204 may be a primary device (or a master device or a main device), and the other device may be an auxiliary device (or a slave device or a sub-device). The primary device (or the main device) may send data to the auxiliary device. For example, when the first external electronic device 202 and the second external electronic device 204 establish a communication connection with each other, any one of the first external electronic device 202 and the second external electronic device 204 may be randomly selected as the primary device, and the other may be selected as the auxiliary device. In an embodiment, when the first external electronic device 202 and the second external electronic device 204 establish a communication connection between them, the device detected as being worn for the first time (for example, when a wear detection sensor (e.g., a proximity sensor, a touch sensor, a tilt 6-axis sensor, or a 9-axis sensor) detects a value indicating wear) may be selected as the primary device, and the other may be selected as the auxiliary device.
[0096] In an embodiment, the primary device may transmit data received from the electronic device 101 to the secondary device. For example, the first external electronic device 202 as the primary device may not only output audio to the speaker 354 based on the audio data received from the electronic device 101, but may also output audio data to the second external electronic device as the secondary device. In an embodiment, the secondary device may receive audio data transmitted from the electronic device 101 to the primary device (e.g., the first external electronic device 202) by sniffing based on connection information provided from the primary device (e.g., the first external electronic device 202).
[0097] In an embodiment, the first external electronic device 202 as a main device may transmit data (e.g., audio data or control data) received from the second external electronic device 204 as an auxiliary device to the electronic device 101. For example, when a touch event occurs in the second external electronic device 204 as an auxiliary device, control data including information about the event may be transmitted by the first external electronic device 202 as a main device to the electronic device 101. However, not limited to those described, the auxiliary device and the electronic device 101 may establish a communication connection therebetween as described above, so that the auxiliary device and the electronic device 101 may directly perform transmission and / or reception of data therebetween.
[0098] In an embodiment, the first external electronic device 202 may include Figure 1 The first external electronic device 202 may include a processor 310 (eg, Figure 1 The communication circuit 320 (e.g., Figure 1communication module 190), input device 330 (e.g., Figure 1 Input module 150), sensor 340 (e.g., Figure 1 sensor module 176), audio processing module 350 (e.g., Figure 1 audio module 170), power management module 360 (e.g., Figure 1 power management module 188), battery 370 (e.g., Figure 1 battery 189), interface 380 (e.g., Figure 1 interface 177) and memory 390 (e.g., Figure 1 Memory 130).
[0099] According to an embodiment, the communication circuit 320 may include at least one of a wireless communication module (e.g., a Bluetooth communication module, a cellular communication module, a wireless fidelity (Wi-Fi) communication module, a near field communication (NFC) communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (e.g., a local area network (LAN) communication module or a power line communication (PLC) communication module). As an example, the Bluetooth communication module may support at least one communication connection (e.g., a communication link) through Bluetooth traditional communication and / or Bluetooth low energy (BLE) communication.
[0100] The communication circuit 320 may use at least one communication module to communicate with the first network (eg, Figure 1 The communication module 320 may be configured to communicate directly or indirectly with at least one of the electronic device 101 (e.g., a smart phone), the third external electronic device 250 (e.g., a charging device such as a cradle), or the second external electronic device 204 (e.g., an auxiliary headset) using the first network 198 of the processor 310. The second external electronic device 204 may be configured to be paired with the first electronic device 202. The communication module 320 may include one or more communication processors that may operate independently of the processor 310 and support wired or wireless communication.
[0101] According to an embodiment, the communication circuit 320 may be connected to one or more antennas for sending a signal or information to another electronic device (e.g., at least one of the electronic device 101, the second external electronic device 204, or the bracket device (e.g., the third external electronic device 250)) or receiving a signal or information from another electronic device. According to an embodiment, the communication circuit 320 may select, for example, a suitable antenna for transmitting signals in a communication network (such as a first network (e.g., Figure 1 198) or a second network (e.g., Figure 2 Then, a signal or information can be sent or received between the communication circuit 320 and another electronic device via the selected at least one antenna.
[0102] According to an embodiment, the input device 330 may be configured to generate various input signals that may be used for operation of the first external electronic device 202. The input device 330 may include at least one of a touch pad, a touch panel, or a button.
[0103] According to an embodiment, the input device 330 may generate a user input regarding the opening / closing of the first external electronic device 202. According to an embodiment, the input device 330 may receive a user input for a communication connection between the first external electronic device 202 and the second external electronic device 204. According to an embodiment, the input device 330 may receive a user input associated with audio data (or audio content). For example, the user input may be associated with a function of starting playback of audio data, pausing playback, stopping playback, adjusting playback speed, adjusting playback volume, or muting.
[0104] According to an embodiment, the sensor 340 may measure or identify the position or operating state of the first external electronic device 202. The sensor 340 may convert the measured or identified information into an electrical signal. The sensor 340 may include, for example, at least one of a magnetic sensor, an acceleration sensor, a gyro sensor, a geomagnetic sensor, a proximity sensor, a gesture sensor, a grip sensor, a biometric sensor, or an optical sensor.
[0105] According to an embodiment, the processor 310 may detect data (e.g., audio data) from a data packet received from the electronic device 101, and may process the detected data through the audio processing module 350 and output it to the speaker 354. The audio processing module 350 may support an audio data collection function and play the collected audio data.
[0106] According to an embodiment, the audio processing module 350 may include an audio decoder (not shown) and a D / A converter (not shown). The audio decoder may convert the audio data stored in the memory 390 or received from the electronic device 101 through the communication circuit 320 into a digital audio signal. The D / A converter may convert the digital audio signal converted by the audio decoder into an analog audio signal. According to an embodiment, the audio decoder may convert the audio data received from the electronic device 101 through the communication circuit 320 and stored in the memory 390 into a digital audio signal. The speaker 354 may output the analog audio signal converted by the D / A converter.
[0107] According to an embodiment, the audio processing module 350 may include an A / D converter (not shown). The A / D converter may convert an analog audio signal transmitted through a microphone 352 (hereinafter referred to as mic) into a digital voice signal. The mic 352 may include at least one air conduction microphone and / or at least one bone conduction microphone for detecting voice and / or sound.
[0108] According to an embodiment, the audio processing module 350 may play various audio data set in the operation of the first external electronic device 202. For example, the processor 310 may be designed to detect that the first external electronic device 202 is inserted into or removed from the user's ear through the sensor 340, and play audio data about effect sound or guide sound through the audio processing module 350. According to user settings or designer's intention, the output of the sound effect or guide sound may be omitted.
[0109] According to an embodiment, the memory 390 may store various data used by at least one component (e.g., the processor 310 or the sensor 340) of the first external electronic device 202. The various data may include, for example, software and input data or output data for commands related thereto. The memory 390 may include a volatile memory or a nonvolatile memory.
[0110] According to an embodiment, the power management module 360 may manage the power supplied to the first external electronic device 202. According to one embodiment, the power management module 360 may be implemented as, for example, at least a portion of a power management integrated circuit (PMIC). According to an embodiment, the power management module 360 may include a battery charging module. According to an embodiment, if another electronic device (e.g., one of the electronic device 101, the second external electronic device 204, or another electronic device) is electrically connected to the first external electronic device 202 (wirelessly or wired), the power management module 360 may receive power from the other electronic device to charge the battery 370.
[0111] According to an embodiment, the battery 370 may supply power to at least one component of the first external electronic device 202. The battery 370 may include, for example, a rechargeable battery. According to an embodiment, if the first external electronic device 202 is mounted in a cradle device (e.g., the third external electronic device 250), the first external electronic device 202 may charge the battery 370 to a specified charge level and then power on the first external electronic device 202 or turn on at least a portion of the communication circuit 320.
[0112] According to an embodiment, the interface 380 may support one or more specified protocols, which may be used for the first external electronic device 202 to be directly (e.g., wired) connected to the electronic device 101, the second external electronic device 204, a bracket device (e.g., a third external electronic device 250), or another electronic device. The interface 380 may include, for example, at least one of a high-definition multimedia interface (HDMI), a USB interface, an SD card interface, a power line communication (PLC) interface, or an audio interface. According to an embodiment, the interface 380 may include at least one connection port for establishing a physical connection with a bracket device (e.g., a third external electronic device 250).
[0113] According to an embodiment, the processor 310 may execute software to control at least one other component (e.g., hardware or software component) of the first external electronic device 202 connected to the processor 310, and may perform various data processing or calculations. According to an embodiment, as at least part of the data processing or calculation, the processor 310 may load a command or data received from another component (e.g., the sensor 340 or the communication circuit 320) onto the volatile memory 390, process the command or data stored in the volatile memory 390, and store the obtained data in the non-volatile memory.
[0114] According to an embodiment, the processor 310 may establish a communication connection with the electronic device 101 through the communication circuit 320, and receive data (e.g., audio data) from the electronic device 101 through the established communication connection. According to an embodiment, the processor 310 may send data received from the electronic device 101 to the second external electronic device 204 through the communication circuit 320. According to an embodiment, the processor 310 may perform the operation of the first external electronic device 202 to be described below. According to an embodiment, the processor 310 may include a physical layer, a link layer, a host, and an application layer for performing Bluetooth communication.
[0115] According to various embodiments, the first external electronic device 202 may further include various modules, depending on the form in which it is provided. There are many changes according to the convergence trend of digital devices, so it is impossible to list them all, but components equivalent to the above components may be further included in the first external electronic device 202. In addition, it is obvious that in the first external electronic device 202 according to various embodiments, specific components may be excluded from the above components, or replaced with other components according to the form in which it is provided. It will be easy for a person of ordinary skill in the art to understand this.
[0116] According to various embodiments, the second external electronic device 204 configured to be paired with the first external electronic device 202 may include the same components as those included in the first external electronic device 202, and may perform all or some operations of the first external electronic device 202 described below in conjunction with the accompanying drawings.
[0117] In an embodiment, the electronic device 101 may discover at least one of the external electronic devices 202 and 204 through BLE scanning and establish a BLE connection with the discovered external electronic device. At least one of the external electronic devices 202 and 204 may perform a BLE advertisement to be discovered by the electronic device 101.
[0118] Figure 4 is a view illustrating a Bluetooth LE (BLE) scanning operation according to an embodiment.
[0119] refer to Figure 4 , in operation 414, the electronic device 101 may begin to perform a scanning operation to search for nearby Bluetooth devices based on BLE. In operation 412, an external electronic device (e.g., a second external electronic device 202) may periodically send (e.g., multicast or broadcast) an advertisement packet ("Adv") to be discovered by nearby Bluetooth devices based on BLE. In an embodiment, the advertisement packet may include advertisement data. The advertisement data may provide information related to a connection or account (e.g., pairing) of the external electronic device 202 to an unspecified nearby electronic device (e.g., the electronic device 101). In an embodiment, the advertisement packet may include identification information about the external electronic device 202, account information of the user, information about whether the external electronic device 202 is paired with another electronic device, a list of devices previously paired with the external electronic device 202, information about devices that can be paired simultaneously, transmission power, detection area, or at least one of remaining battery information.
[0120] In an embodiment, the external electronic device 202 may start the operation of sending the notification packet in response to a user input for, for example, a pairing request. In an embodiment, the external electronic device 202 may be stored in a cradle device (e.g., a third external electronic device 250), and if the cradle device is opened or removed from the cradle device while it is stored in the cradle device, the notification packet may be started. In an embodiment, the external electronic device 202 may send the notification packet according to a specified condition. In an embodiment, the second electronic device 202 may start the transmission of the notification packet based on at least one of when power is supplied or a specified time period.
[0121] In an embodiment, the electronic device 101 may receive at least one of the notification packets broadcast from the external electronic device 202, and output a user interface for connecting to the external electronic device 202 on a display. The electronic device 101 may provide a user interface according to various conditions based on the information included in the received notification packet. As an example, the user interface may include at least one of an image corresponding to the first external electronic device 202, a user account, a transmission power, or a remaining battery.
[0122] In operation 416, the electronic device 101 may transmit a scan request packet (e.g., Scan_req) corresponding to the advertisement packet received from the external electronic device 202 to the external electronic device 202. In operation 418, the external electronic device 202 may transmit a scan response packet (e.g., Scan_rsp) corresponding to the scan request packet to the electronic device 101. In an embodiment, the external electronic device 202 may continuously and periodically transmit the advertisement packet in operation 420 even while or after the scan request packet of operation 416 and the scan response packet of operation 418 are exchanged.
[0123] In operation 422, the electronic device 101 may generate a scan result (including, for example, a received signal strength indicator (RSSI)) based on the reception of the scan response packet. In an embodiment, the electronic device 101 may terminate the scan operation based on the reception of the scan response packet in operation 424. Alternatively, the electronic device 101 may continue the scan operation. In operation 426, the electronic device 101 may establish a BLE communication link (e.g., an asynchronous connectionless (ACL) link) with the external electronic device 202. In an embodiment, operation 426 may include Figure 6 The CONNECT_IND 604 and the transmission of the first packet 610 are performed.
[0124] The BLE communication link may include multiple physical channels, for example, a LE piconet physical channel, a LE announcement physical channel, an announcement periodic physical channel, and a LE synchronization physical channel, which may be optimized and used for their different purposes. The LE piconet physical channel may be used for communication between connected devices and may be connected to a specific piconet. The LE announcement physical channel may be used to broadcast announcements (announcements) to Bluetooth devices. An announcement may be used to discover user data, connect user data, or send user data to a corresponding electronic device. An announcement periodic physical channel may be used to send user data to a corresponding electronic device 101 at specific intervals via periodic announcements. The LE isochronous physical channel may be used to transfer isochronous data between Bluetooth devices in a LE piconet, or to transfer isochronous data between unconnected Bluetooth devices.
[0125] According to various embodiments, the electronic device (e.g., the electronic device 101, the first external electronic device 202, and the second external electronic device 204) can support an audio service through BLE, and the audio provided by the audio service through BLE can be referred to as BLE audio. The method for supporting an audio service through BLE audio can be divided into, for example, a broadcast isochronous stream (BIS) and a connected isochronous stream (CIS).
[0126] Figure 5 is a view showing an example of connection between Bluetooth devices according to the embodiment.
[0127] Reference Figure 5 , the electronic device 101 can detect the presence of the first external electronic device 202, and establish a first asynchronous connection-less (ACL) link 502 (hereinafter referred to as ACL1 or LE ACL1) therebetween based on BLE. In addition, the electronic device 101 can detect the presence of the second external electronic device 204, and establish a second ACL link 504 (hereinafter referred to as ACL2 or LE ACL2) therebetween based on BLE. In an embodiment, the electronic device 101 can establish the second ACL link 504 with the help of the first external electronic device 202.
[0128] In an embodiment, the electronic device 101 may use the first ACL link 502 to establish an audio communication link (e.g., a first connected isochronous stream (CIS) link 506) (hereinafter, referred to as CIS1) for audio communication using an isochronous physical channel, and exchange isochronous data (e.g., audio data) with the first external electronic device 202 through the first CIS link 506. Similarly, the electronic device 101 may use the second ACL link 504 to establish an audio communication link (e.g., a second CIS link 508) (hereinafter referred to as CIS2) for audio communication, and exchange isochronous data (e.g., audio data) with the second external electronic device 204 through the second CIS link 508. The first CIS link 506 and the second CIS link 508 may be included in a CIS group (CIG) 510.
[0129] In an embodiment, the first ACL link 502 may be a logical transport for exchanging information required to establish or control a first CIS link 506 between the electronic device 101 and the first external electronic device 202. The first CIS link 506 may be used to transmit audio data between the electronic device 101 and the first external electronic device 202. In an embodiment, the electronic device 101 and the first external electronic device 202 may establish the first CIS link 506 based on information (e.g., communication parameters) obtained through the first ACL link 502. In an embodiment, the electronic device 101 and the first external electronic device 202 may exchange information (e.g., supported feature information and / or PHY change strategy) to be applied to the control of the first CIS link 506 through the first ACL link 502.
[0130] In an embodiment, the second external electronic device 204 can establish a second ACL link 504 and a second CIS link 508 with the electronic device 101, and can perform the same or similar operations as the first external electronic device 202. In an embodiment, the second external electronic device 204 can communicate with the electronic device 101 through the control of the first external electronic device 202.
[0131] Figure 6 is a view showing an example of a BLE communication connection according to the embodiment.
[0132] refer to Figure 6 , the primary announcement channel 600 may be used to send an announcement packet 602 and a connection indication (CONNECT_IND) message 604. A time for an interframe space (T_IFS) may exist between the announcement packet 602 and the connection indication (CONNECT_IND) message 604. An announcement event may be terminated by the connection indication (CONNECT_IND) message 604. After the connection indication (CONNECT_IND) message 604, a link layer (LL) connection may be established.
[0133] When a communication link is generated with the counterpart electronic device 101, the Bluetooth device (e.g., the electronic device 101, the first external electronic device 202, or the second external electronic device 204) may set a connection interval (connInterval) 612 indicating a communication period, and perform communication at each connection interval 612. In an embodiment, upon receiving an advertisement packet 602 broadcasted from the first external electronic device 202 on the primary advertisement channel 600, the electronic device 101 may deliver a CONNECT_IND message 604 to the first external electronic device 202 to request a BLE connection.
[0134] The first external electronic device 202 receiving the CONNECT_IND message 604 may operate as a peripheral device (e.g., a slave role), calculate the starting point of the connection interval 612 based on the parameters (e.g., transmitWindowOffset 606 and transmitWindowSize 608) transmitted through the CONNECT_IND message 604 by the electronic device 101 operating as a central device (e.g., a master role), and prepare to receive the first packet 610 to be transmitted from the first electronic device 302 in a central to peripheral device (CP) (or master to slave (MS)) time period (including, for example, at least one time slot) in the connection interval 612. If the first packet 610 is received, an anchor point (AP) indicating the starting point of the next connection interval from the reception time of the first packet 610 may be calculated.
[0135] Figure 7 is a signal flow diagram illustrating an example of an operation procedure for establishing a CIS link according to an embodiment.
[0136] Reference Figure 7 In operation 700, an electronic device (e.g., a CIS source electronic device or an electronic device 101) may have a BLE connection (e.g., a first ACL link 502) with a corresponding electronic device (e.g., a CIS sink electronic device or a first external electronic device 202). In operation 710, the electronic device 101 may send a CIS parameter (e.g., a CIS link 506) to the first external electronic device 202. Figure 8 In operation 712, upon receiving a link layer CIS response message (e.g., LL_CIS_RSP packet) from the first external electronic device 202, the electronic device 101 may send a link layer CIS indication message (e.g., LL_CIS_IND packet) to the first external electronic device 202 in operation 714.
[0137] In operations 716, 718, and 720, the electronic device 101 and the first external electronic device 202 may establish a CIS link by exchanging one or more CIS null packets (e.g., protocol data units (PDUs)). In operation 722, the electronic device 101 and the first external electronic device 202 may transmit CIS data PDUs through the CIS link.
[0138] In BLE, CIS may mean a logical transmission capable of sending isochronous data in any direction between electronic devices that have created a communication link. CIS can send data in variable sizes as well as fixed data sizes, and can be used for both framed data and unframed data. For each CIS, a schedule of time slots called events and sub-events can be set. CIS can adjust the data rate by sending packets of variable sizes and one or more packets in each isochronous event. Data traffic on the CIS link can be sent unidirectionally or bidirectionally between devices, and may include an acknowledgment (ACK) protocol for enhancing the reliability of packet transmission.
[0139] Figure 8 is a view showing an example of a CIS parameter set for CIS communication according to an embodiment.
[0140] Reference Figure 8 , parameters for CIS communication (referred to as, for example, CIS parameters) may be provided to a corresponding electronic device (e.g., the first external electronic device 202) through control data 800 included in the LLC_CIS_REQ of operation 710. In an embodiment, the electronic device 101 playing a master role (or as a central device) may allocate a CIS_ID for CIS communication, and may share the CIS_ID with the first external electronic device 202 playing a slave role (or as a peripheral device) through a link layer message (e.g., LLC_CIS_REQ).
[0141] In an embodiment, the control data 800 may include at least one parameter among the following: a CIG_ID 802 for identifying a CIS group (CIG) (e.g., CIG (510)), a CIS_ID 804 for identifying a CIS link (e.g., the first CIS link 506), a parameter indicating a master-slave physical layer transmission scheme (hereinafter referred to as PHY) (including PHY_M_To_S and PHY_S_To_M), a Max_SDU parameter indicating a maximum size of a service data unit (SDU) (including Max_SDU_M_To_S and Max_SDU_S_To_M), at least one reserved for future use (RFU) field, a frame (Framed) field, an SDU_Interval parameter (SDU_Interval_M_to_S and SDU_Interval_S_to_M), an M indicating a maximum PDU size, and a Framed field. ax_PDU parameters (including Max_PDU_M_To_S and Max_PDU_S_To_M), number of sub-events (NSE) 806, Sub_Interval parameters 808 (including Sub_Interval_M_To_S and Sub_Interval_S_To_M), burst number (BN) parameters (including BN_M_To_S and BN_S_To_M), refresh time (FT) parameters (including FT_M_To_S and FT_S_To_M), ISO_Interval 810, CIS offset parameters (CIS_Offset_Min and CIS_Offset_Max), or ConnectCount.
[0142] The parameters set by the control data 800 can be applied to the audio data transmission on the CIS link (e.g., the first CIS link 506), and can be changed after the CIS link is generated until the CIS link is terminated. The CIS_ID 804 can be shared with the host of the first external electronic device 202 via the link layer of the electronic device 101 and the first external electronic device 202, and may not be used in the link layer.
[0143] PHY_M_To_S and PHY_S_To_M may indicate a PHY for data transmission in the master-slave direction and a PHY for data transmission in the slave-master direction, respectively. On a CIS link, a PHY indicated by PHY_M_To_S and PHY_S_To_M (e.g., at least one of LE 1M (1 megasymbol per second), LE 2M (2 megasymbol per second), a coded PHY with S=2, or a coded PHY with S=8) may be used.
[0144] ISO_Interval 810 may indicate a regular time interval between two consecutive CIS anchor points. A CIS event may start to occur at each anchor point within an isochronous (ISO) interval. A CIS event may include one or more sub-events indicating a master-slave-to-slave transmission opportunity. Sub_Interval 808 may indicate a time interval between two consecutive sub-events within a CIS event. The maximum length of each sub-event may be specified by SE_Length. Max_PDU may indicate the maximum size of a CIS data PDU. Max_SDU may indicate the maximum size of an SDU on a CIS. NSE may indicate the maximum number of sub-events in each CIS event. The BN specified by the BN parameter may indicate the number of packets that may be sent without ACK / NACK. The NSE parameter may be the larger of BN_M_To_S and BN_S_To_M and may be set to 31. The FT parameter may indicate the maximum number of CIS events that may send (or retransmit) a CIS data PDU and may have a value from 1 to 255.
[0145] For encryption of a CIS link (e.g., the first CIS link 506), encryption of an ACL link (e.g., the first ACL link 502) may be applied as is. Both the central device (e.g., the electronic device 101) and the peripheral device (e.g., the first external electronic device 202) may have a 39-bit CIS event counter (cisEventCounter). After the CIS event counter is set to 0 for the first CIS event of the CIS link (e.g., the first CIS link 506), the CIS event counter may be incremented by 1 each time an isochronous PDU is sent in each CIS event. The CIS link (e.g., the first CIS link 506) may have a 39-bit CIS payload number (cisPayloadNumber). When the CIS payload number is 2 39 When -1, the CIS link (eg, the first CIS link 506) may be terminated. A CIS Null PDU may not have a cisPayloadNumber.
[0146] Fig. 9 is a timing diagram showing an example of CIS communication according to the embodiment.
[0147] refer to Fig. 9, CIS communications may include CIS events that occur at set intervals (e.g., ISO intervals that may be indicated by ISO_Interval 810), and each CIS event may include one or more sub-events (e.g., the first sub-event 902 corresponding to Sub_Interval). SE_Length 904 indicating the length of each sub-event may be specified by, for example, Sub_Interval parameter 808 in CIS parameters (e.g., control data 800).
[0148] In an embodiment, during one sub-event (e.g., the first sub-event 902), the electronic device 101 may perform one transmission (e.g., a C->P packet 906 transmitted from the electronic device 101 (central device) to the first external electronic device 202 (peripheral device)) and one reception (e.g., a P->C packet 910 transmitted from the first external electronic device 202 (peripheral device) to the electronic device 101 (central device)). The first external electronic device 202 may receive the C->P packet 906, and after an interval 908 of T_IFS, transmit a response corresponding thereto (e.g., a P->C packet 910). In an embodiment, upon failure to receive the packet 906 from the electronic device 101, the first external electronic device 202 may not perform transmission during the first sub-event 902. The electronic device 101 and the first external electronic device 202 may use the next sub-event for the retransmission (RT) of the packet 906 or the transmission of the next packet.
[0149] After the transmission (e.g., P->C packet 910) of the first external electronic device 202 and until the first sub-event 902 is terminated, there may be an interval of at least the time of a minimum sub-event space (T_MSS) 912. T_MSS 912 represents the minimum time interval between the last bit of the last packet (e.g., P->C packet 910) in one sub-event (e.g., the first sub-event 902) and the first bit of the first packet of the next sub-event, and is specified by the standard as, for example, 150 (microseconds).
[0150] When the electronic device 101 and the first external electronic device 202 complete the transmission of the isochronous data scheduled in the CIS event, all remaining sub-events of the CIS event may have no more transmissions, and the CIS event may be terminated.
[0151] Fig.10 is a view showing an example of a CIS event according to an embodiment.
[0152] refer to Fig.10, at least one CIS event (e.g., CIS event x 1004) may be included in the ISO_interval 1002 for the CIS link. CIS event x 1004 indicates that a central device (e.g., electronic device 101) and a peripheral device (e.g., first external electronic device 202) may exchange CIS packets (e.g., CIS PDUs) and may occur at a predetermined interval and include at most as many sub-events as NSE (including sub-event 1 1008). For example, if NSE=4, there may be up to 4 sub-events in CIS event x 1004, where a case where 3 sub-events (e.g., sub-event 1 (1008), sub-event 2, and sub-event 3) occur is shown. Each CIS event (e.g., CIS event x 1004) may start at each CIS anchor point 1000 until the CIS communication is terminated, and there may be a uniform interval of ISO_Interval 1002 between two consecutive CIS anchor points.
[0153] Each CIS event (e.g., CIS event x 1004) can be divided into one or more sub-events (including, for example, sub-event 1 1008). In one sub-event 11008, there can be data transmission ("C->P") from a central device (e.g., electronic device 101) to a peripheral device (e.g., first external electronic device 202) and data transmission ("P->C") from a peripheral device to a central device. An interval of Sub_Interval 1006 can exist between the starting points of two consecutive sub-events in CIS event x 1004.
[0154] A CIG is a bundle of CISs that provide the same service. A CIG may include one or more CISs. Several CISs in a CIG may have a common timing reference relative to the timing of a central device (e.g., electronic device 101) and be synchronized in time units. CIGs may have a time relationship at the application level. In one CIG, CISs may have the same ISO_Interval (e.g., ISO_Interval 1002), and up to 31 CISs may be included in one CIG. The central device may allocate a CIG_ID and share the CIG_ID with a peripheral device (e.g., a first external electronic device 202) through a LL message.
[0155] Fig.11 is a view showing an example of CIS transmission according to the embodiment.
[0156] Reference Fig.11, BN=2, FT=1, and NSE=4 are set for CIS transmission. During the first CIS event 1102 in the ISO interval, the electronic device 101 may repeatedly send the packet P0 using up to four sub-events 1104 according to NSE=4. For example, the external electronic device 202 may not normally receive the packet P0 in the four sub-events 1104, and may send a NACK using the last fourth sub-event.
[0157] When packet P0 is not successfully sent in the second CIS event until the refresh point of packet P0 is reached, in other words, when ACK for packet P0 is not received, the electronic device 101 can send the next packet P1 in the third CIS event. When ACK is received from the external electronic device 202 using the second sub-event of the third CIS event, the electronic device 101 can send the next packet P2 using the third sub-event of the third CIS event.
[0158] Fig.12 is a view showing another example of CIS transmission according to the embodiment.
[0159] Reference Fig.12 , BN=1, FT=2, and NSE=4 are set for CIS transmission. During the first CIS event 1202 with ISO interval, the electronic device 101 can use up to four sub-events 1204 according to NSE=4. For example, in the first sub-event, the electronic device 101 can send packet P0 and receive ACK from the external electronic device 202. In the second, third, and fourth sub-events, the electronic device 101 can repeatedly send packet P1. In the fourth sub-event, the external electronic device 202 can send ACK for packet P1 to the electronic device 101.
[0160] For the second CIS event, the electronic device 101 can use the first sub-event and the second sub-event to repeatedly send the packet P2, and use the third sub-event and the fourth sub-event to repeatedly send the packet P3. For the third CIS event, the electronic device 101 can use the first sub-event to send the packet P4, and use the second, third and fourth sub-events to repeatedly send the packet P5.
[0161] In various embodiments, the electronic device 101 may send CIS parameters (e.g., control data 800) to the first external electronic device 202 and the second external electronic device 204 to send audio data using CIS communication, thereby setting the CIS parameters in the first external electronic device 202 and the second external electronic device 204. For example, for the media type, two CISs (e.g., the first CIS link 506 and the second CIS link 508) having CIS parameters of ISO interval = 20ms, BN = 2, FT = 5, NSE = 6, and SE length = 884μs may be opened between the electronic device 101 and the first external electronic device 202 and the second external electronic device 204, and an audio service may be performed through the CIS.
[0162] In an embodiment, resources for each CIS of a CIS available for the electronic device 101 may be calculated as "SE length × NSE / ISO interval", so that resources for multiple CISs may be "resources available per CIS × CIS count". Here, the CIS count may represent the number of CISs included in one CIG (e.g., two). In an embodiment, the electronic device 101 may determine resources using a specified SE length and the ISO interval 810 and NSE 806 in the CIS parameters (e.g., control data 800) sent to the first external electronic device 202 and the second external electronic device 204.
[0163] It is expected that the CIG has a time relationship at the application layer and may include Num_CIS CISs with the same ISO interval, where Num_CIS may be equal to or less than 31. The host of the central device (e.g., electronic device 101) may assign a CIG_ID to the CIG. The CISs in each CIG may be arranged in a sequential or staggered manner depending on the interval between the CIS anchor point and the Sub_Interval.
[0164] Fig.13 is a view showing a CIS arranged in sequence according to an embodiment.
[0165] refer to Fig.13 , ISO_Interval 1302 may start at CIS1 anchor point 1300 overlapping with the CIG anchor point, and may include CIG events (eg, CIG event x 1304 ). CIS2 event x 1308 in CIG event x 1304 may occur immediately after CIS1 event x 1306 .
[0166] Fig.14 is a view showing a staggered-arranged CIS according to an embodiment.
[0167] refer to Fig.14, ISO_Interval 1402 may start at CIS1 anchor point 1400 overlapping with CIG anchor point, and may include CIG events (eg, CIG event x 1404 ). CIS2 event x 1408 in CIG event x 1404 may overlap with CIS1 event x 1406 .
[0168] Fig.15 is a view showing a CIG event layout including three CISs according to an embodiment.
[0169] Reference Fig.15 , a CIG event 1502 (e.g., CIG event x 1304 or CIG event x 1404) may include a plurality of CIS events corresponding to a plurality of CISs (e.g., CIS event 1504, CIS event 1506, and CIS event 1508). The CIG event 1502 may start at an anchor point (e.g., CIS1 anchor point 1300 or CIS1 anchor point 1400) of the CIS event 1504 of the earliest CIS, and terminate at an end point of the CIS event 1508 of the last CIS. The CIG event 1502 may include a CIG reference point and a CIG synchronization point, and the two points may have an interval of CIG_Sync_Delay. The respective starting points of the CIS events 1504, 1506, and 1508 may have an interval of CIS_Sync_Delay from the CIG synchronization point.
[0170] The link layer of the central device (eg, the electronic device 101 ) may provide the link layer of the peripheral device (eg, the first external electronic device 202 ) with timing parameters (eg, CIG_Sync_Delay and CIS_Sync_Delay) for implementing synchronization of isochronous data at the application layer.
[0171] One CIS event may include at most as many sub-devices as NSE, and a central device (e.g., electronic device 101) may use multiple sub-events in a CIS event to send audio data to a peripheral device (e.g., first external electronic device 202). In an embodiment, in an audio service, the central device may be a source electronic device, and the peripheral device may be a sink electronic device.
[0172] An audio service (e.g., BLE audio) using BLE communication can be used, for example, for binaural hearables (e.g., the first external electronic device 202 and the second external electronic device 204). The binaural hearables (e.g., the first external electronic device 202 and the second external electronic device 204) can be used in a scenario where multiple sink electronic devices (e.g., the first external electronic device 202 and the second external electronic device 204) are connected to one source electronic device (e.g., the electronic device 101) to output audio simultaneously, such as a scenario where music needs to be output simultaneously through two or more speakers or a scenario where music is output via multiple speakers constituting a 5.1 channel.
[0173] When a sink electronic device (e.g., the first external electronic device 202 or the second external electronic device 204) is connected to a source electronic device (e.g., the electronic device 101), the source electronic device can use maximum radio frequency (RF) resources and maximum internal processing resources for the sink electronic device and thus can be less affected by communication degradation due to changes in the surrounding wireless environment or changes in physical distance.
[0174] The source electronic device (e.g., the electronic device 101) can maintain a communication link for transmitting audio data with a sink electronic device (e.g., the first external electronic device 202 or the second external electronic device 204), and as needed, the resources of the source electronic device can be maintained in consideration of Bluetooth concurrent operation and Wi-Fi coexistence (COEX) operation. For example, Bluetooth concurrent operation may include BLE connection maintenance, BLE scanning, BLE notification, Bluetooth inquiry, Bluetooth inquiry scanning, Bluetooth paging, Bluetooth paging scanning, Bluetooth connection maintenance, or at least one of channel scanning with other electronic devices (e.g., other Bluetooth devices other than the first external electronic device 202 and the second external electronic device 204). The Wi-Fi coexistence operation may include data transmission via Wi-Fi. Taking into account different operations using the same frequency band (such as Bluetooth coexistence operation and / or Wi-Fi coexistence operation), the source electronic device may allocate approximately 50% to 60% of the resources to the communication link for the sink electronic device in a fixed manner.
[0175] When a source electronic device (e.g., electronic device 101) allocates fixed resources to multiple communication links and provides audio services through the allocated fixed resources, it may be difficult for the source electronic device to recover communication degradation of a specific communication link that occurs due to various factors (such as changes in the surrounding environment or physical obstacles). Failure to recover the communication link that has experienced communication degradation in real time may deteriorate the quality of an audio service (such as a call or music playback), thereby causing inconvenience to the user.
[0176] Embodiments of the present disclosure can provide resource allocation for performing another task as effectively as possible while operating an audio communication link (e.g., CIS link and / or BIS link), while performing audio services between electronic devices. In an embodiment, another task can be a communication operation performed in a frequency band (e.g., the same frequency band) corresponding to the frequency band (e.g., 2.4GHz) of an audio service by an audio communication link (e.g., CIS link and / or BIS link). In an embodiment, other tasks may include non-audio communication (e.g., non-CIS communication and / or non-BIS communication), Bluetooth concurrent operation (e.g., maintaining BLE connection, BLE scanning, BLE notification, Bluetooth inquiry, Bluetooth inquiry scanning, Bluetooth paging, Bluetooth paging scanning or channel scanning) or at least one of Wi-Fi coexistence operations. In an embodiment, an electronic device (e.g., electronic device 101) may determine resources available for audio communication (e.g., the number of sub-events available in a CIS event or the number of BIS sub-event groups) when generating an audio communication link (e.g., a CIS link and / or a BIS link), and allow at least one other task to be performed together with audio CIS communication (e.g., at least one CIS task or at least one BIS task) through the audio communication link, taking into account each task priority in the determined resources. As an embodiment, the per-task priority may include at least one of the priorities of the communication task through the audio communication link or the priorities of other tasks that may occur in the same frequency band as the audio communication (e.g., Bluetooth concurrent operation or Wi-Fi coexistence operation).
[0177] In an embodiment, when allocating resources to an audio communication link, the electronic device 101 may determine and allocate resources available for each audio communication link (e.g., the maximum length of a time period available for audio communication or the maximum number of sub-events) to approach a maximum value (e.g., 100%). The electronic device 101 may change the per-task priority or the priority of the audio communication task over time depending on the internal scheduling context of the electronic device 101. The electronic device 101 may perform audio communication tasks and other tasks taking into account the per-task priority, thereby enhancing the execution of other tasks (such as Bluetooth concurrent operation or Wi-Fi coexistence) while stably providing audio services through the audio communication link.
[0178] Fig.16A 1 is a flowchart illustrating a process for allocating resources for audio communication according to an embodiment. At least one of the operations shown may be performed by a processor (e.g., processor 120) of a source electronic device (e.g., electronic device 101). According to various embodiments, at least one of the operations described below may be omitted, modified, or reordered.
[0179] Reference Fig.16AIn operation 1605, the electronic device 101 (e.g., the processor 120) may determine a first resource (e.g., the length of a time period or the number of sub-events included in a CIS event) that can be used for audio communication in a time interval (e.g., ISO_Interval) set for an audio communication link (e.g., the first CIS link 506 or the second CIS link 508) . In an embodiment, the first resource may include the maximum resource (e.g., 60-100% of the ISO interval) determined by the electronic device 101 for audio communication among all resources (e.g., ISO intervals) that can be used for audio communication. In an embodiment, the first resource may be determined as the remaining time period other than a specified time interval (e.g., 20-40%) of the ISO interval for another non-audio communication task (e.g., Bluetooth concurrent operation or Wi-Fi coexistence operation). In an embodiment, the first resource may be calculated based on the NSE and SE lengths set for the CIS link. In an embodiment, taking into account the NSE and SE lengths set for the CIS link, it may be determined that the first resource is close to 100% of the ISO interval. In an embodiment, the first resource may be calculated based on the number of sub-event groups set for the BIS link.
[0180] In operation 1610, the electronic device 101 (e.g., the processor 120) may divide the determined first resource into at least two resources corresponding to different priorities. In an embodiment, the at least two resources may include at least a second resource and a third resource, and the electronic device 101 (e.g., the processor 120) may determine a second resource having a first priority and a third resource having a second priority in the first resource.
[0181] In an embodiment, the first priority may mean a high priority set for a first communication task (e.g., a CIS task) that can be executed in at least one first sub-event of an audio communication link (e.g., a CIS link). The second priority may mean a low priority set for a second communication task (e.g., a CIS task) that can be executed in at least one second sub-event of an audio communication link (e.g., a CIS link).
[0182] In an embodiment, at least one first sub-event may include at least one sub-event (e.g., at least one preceding sub-event in a CIS event). In an embodiment, at least one second sub-event may include at least one remaining sub-event (e.g., at least one following sub-event) in a CIS event other than the first sub-event. In an embodiment, at least one first sub-event and at least one second sub-event may be determined according to a specified ratio among all sub-events. In an embodiment, a CIS event may be divided into a first sub-event corresponding to a first priority and a second sub-event corresponding to a second priority according to a predetermined ratio. In an embodiment, a CIS event may be divided into a first sub-event corresponding to a first priority and a remaining second sub-event corresponding to a second priority according to a predetermined minimum number of sub-events.
[0183] In an embodiment, the first priority may be represented as a high priority set for a first communication task (e.g., a BIS task), which may be executed in at least one first sub-event group (e.g., at least one front sub-event group) of the sub-event groups included in a BIS event of a BIS link. In an embodiment, the second priority may be represented as a low priority set for a second communication task (e.g., a BIS task), which may be executed in at least one remaining second sub-event group (e.g., at least one rear sub-event group) of the sub-event groups included in a BIS event except the first sub-event group. In an embodiment, the first priority may be higher than the priority assigned to Bluetooth concurrent operation or the priority assigned to Wi-Fi coexistence operation.
[0184] In an embodiment, the first priority may be determined to be higher than the priority (e.g., third priority) of at least one other task (hereinafter referred to as a third task) that may be performed on the same frequency channel as the frequency channel of the audio communication (e.g., Bluetooth concurrent operation or Wi-Fi coexistence operation).
[0185] In an embodiment, the electronic device 101 (e.g., the processor 120) may allocate a second resource (e.g., at least one first sub-event) to a first communication task having a first priority (e.g., the transmission of an audio data packet scheduled for the second resource), and allocate a third resource (e.g., at least one second sub-event) to a second communication task having a second priority (e.g., the transmission of an audio data packet scheduled for the third resource). In an embodiment, the first communication task may include the transmission of a CIS data packet (e.g., CIS data PDU 722) using at least one first sub-event. In an embodiment, the second communication task may include the transmission of a CIS data packet (e.g., CIS data PDU 722) using at least one second sub-event. In an embodiment, the first communication task may include the transmission of a BIS data packet using at least one first sub-event group. In an embodiment, the second communication task may include the transmission of a BIS data packet using at least one second sub-event group.
[0186] In operation 1615, the electronic device 101 (e.g., the processor 120) can establish an audio communication link including a second resource and a third resource, and use the second resource and / or the third resource of the audio communication link to provide an audio service (e.g., the transmission of an audio data packet). In an embodiment, the electronic device 101 (e.g., the processor 120) can use the second resource and (if possible) the third resource to send an audio data packet (e.g., a CIS data packet). In an embodiment, an audio communication link has been established, and in operation 1615, the electronic device 101 (e.g., the processor 120) can set the second resource and / or the third resource, or change the resource allocation of the audio communication link to include the second resource and / or the third resource. Information about the changed resource allocation can be provided to the host electronic device (e.g., the first external electronic device 202 and / or the second external electronic device 204) through parameters related to the audio communication link (e.g., control data 800 or BIG information 3800).
[0187] In an embodiment, while providing audio services, when it is identified that the priority of a third task stored in the task queue (for example, a communication task other than audio communication through an audio communication link) is not higher than the second priority, the electronic device 101 (for example, the processor 120) can use a third resource to send audio data packets.
[0188] In an embodiment, when a third task (e.g., a communication task other than audio communication through an audio communication link) stored in a task queue is identified as having a higher priority than the second priority while providing an audio service, the electronic device 101 (e.g., the processor 120) may omit or delay the second communication task and perform the third task using a third resource.
[0189] Fig. 16B 16 is a flowchart illustrating a process for providing an audio service through short-range wireless communication according to an embodiment. At least one of the operations shown may be performed by a processor (e.g., processor 120) of a source electronic device (e.g., electronic device 101). According to various embodiments, at least one of the operations described below may be omitted, modified, or reordered. In an embodiment, operations 1620, 1625, and 1630 may be the same or similar to operations 1605, 1610, and 1615.
[0190] Reference Fig. 16B In operation 1620, the electronic device 101 (e.g., the processor 120) may determine a first resource (e.g., the length of the time period or the number of sub-events included in a CIS event) that is available for audio communication in a time interval (e.g., ISO_Interval) set for an audio communication link (e.g., the first CIS link 506 or the second CIS link 508).
[0191] In operation 1625, the electronic device 101 (e.g., the processor 120) may divide the first resource into at least two resources corresponding to different priorities. In an embodiment, the at least two resources may include at least a second resource and a third resource, and the electronic device 101 (e.g., the processor 120) may determine a second resource having a first priority and a third resource having a second priority in the first resource. In an embodiment, the first priority may mean a high priority set for a first communication task that can be executed in at least one first sub-event of a CIS link, and the second priority may mean a low priority set for a second communication task that can be executed in at least one second sub-event of a CIS link. In an embodiment, the first priority may mean a high priority set for a first communication task that can be executed in at least one first sub-event group of a BIS link, and the second priority may mean a low priority set for a second communication task that can be executed in at least one second sub-event group of a BIS link.
[0192] In an embodiment, the electronic device 101 (e.g., the processor 120) may allocate a second resource (e.g., at least one first sub-event) to a first communication task having a first priority (e.g., the transmission of an audio data packet scheduled for the second resource), and allocate a third resource (e.g., at least one second sub-event) to a second communication task having a second priority (e.g., the transmission of an audio data packet scheduled for the third resource).
[0193] In operation 1630, the electronic device 101 (e.g., the processor 120) can establish an audio communication link including a second resource and / or a third resource, and use the second resource and / or the third resource of the audio communication link to provide an audio service (e.g., the transmission of an audio data packet). In an embodiment, the electronic device 101 (e.g., the processor 120) can use the second resource and (if possible) the third resource to send the audio data packet. In an embodiment, the audio communication link has been established, and in operation 1630, the electronic device 101 (e.g., the processor 120) can set the second resource and / or the third resource for the audio communication link, or change the resource allocation of the audio communication link to include the second resource and / or the third resource. Information about the changed resource allocation can be provided to the host electronic device (e.g., the first external electronic device 202 and / or the second external electronic device 204) through parameters related to the audio communication link (e.g., control data 800 or BIG information 3800).
[0194] In operation 1635, the electronic device 101 (e.g., the processor 120) may determine whether it is necessary to perform a communication task (e.g., a third task) other than the audio communication through the audio communication link in the same frequency band as the audio communication through the audio communication link. In an embodiment, if the third task is scheduled, the electronic device 101 (e.g., the processor 120) may store the data to be sent through the third task in a task queue. The electronic device 101 (e.g., the processor 120) may determine whether the third task is stored in the task queue at each transmission opportunity (e.g., each sub-event in the third time period) using the third resource, and if the third task is stored, it is determined that the third task needs to be executed.
[0195] In an embodiment, the third task is a Bluetooth concurrent operation, and the electronic device 101 (e.g., the processor 120) may determine whether to schedule the third task. In an embodiment, the third task is a Wi-Fi coexistence operation, and the electronic device 101 (e.g., the processor 120) may determine whether to schedule the third task. When the third task is scheduled, operation 1640 may be performed. If the third task is not scheduled, the electronic device 101 (e.g., the processor 120) may return to operation 1630 and continuously provide audio services through the audio communication link until there is no more audio data to be sent or a request is made to terminate the audio service.
[0196] In operation 1640, the electronic device 101 (e.g., the processor 120) may identify the priority of the third task and determine whether the priority of the third task (e.g., the third priority) is higher than the second priority. For example, the third priority may be lower than the first priority. If the third priority is higher than the second priority, the electronic device 101 (e.g., the processor 120) may proceed to operation 1645, otherwise proceed to operation 1650.
[0197] In operation 1645, the electronic device 101 (e.g., the processor 120) may omit or delay the second communication task and perform the third task using the third resource. In an embodiment, the electronic device 101 (e.g., the processor 120) may not send an audio data packet in at least one second sub-event, but may perform a Bluetooth concurrent operation or a Wi-Fi coexistence operation according to the third task during a time period corresponding to at least one second sub-event. In an embodiment, the transmission of the CIS data packet corresponding to at least one second sub-event may be omitted or performed in the next CIS event.
[0198] In operation 1650, the electronic device 101 (e.g., the processor 120) may perform the second communication task using the third resource and, if possible, the third task using the fourth resource. In an embodiment, when the current ISO interval has a remaining time period other than the time periods corresponding to the second resource and the third resource (e.g., Fig.18 Time period 18:20 or Fig.24 When the remaining time period 2418 is exceeded, the electronic device 101 (e.g., the processor 120) can use the fourth resource including the remaining time period to perform Bluetooth concurrent operation or Wi-Fi coexistence operation according to the third task. If the remaining time period does not exist, the third task can be omitted or performed in a time period corresponding to a subsequent CIS event.
[0199] Although not shown, the electronic device 101 (e.g., the processor 120) can determine whether the third task needs to be executed even at each transmission opportunity corresponding to the second resource (e.g., each sub-event in the second time period). If the third task has a third priority higher than the first priority, the electronic device 101 (e.g., the processor 120) can omit or delay the first communication task and execute the third task in the second time period.
[0200] Fig.17 is a timing diagram showing an example of allocating time periods by an electronic device according to an embodiment.
[0201] refer to Fig.17, ISO_Interval x 1702 and ISO_Interval x+1 1706 may have a length of, for example, 20 ms (milliseconds), and may include at least one CIS event. For example, ISO_Interval x 1702 may include CIS1 event x for CIS1 (e.g., first CIS link 506), and ISO_Interval x+1 1706 may include CIS1 event x+1 for CIS1 (e.g., first CIS link 506).
[0202] In an embodiment, a time period 1704 corresponding to a CIS1 event x in ISO_Interval x 1702 may include sub-events (e.g., NSE sub-events) having the same priority (e.g., a first priority specified for a CIS task). The electronic device 101 may use the entire time period 1704 to perform CIS communication (e.g., at least one CIS task). In an embodiment, when another task having a higher priority than the first priority occurs (or is scheduled) in the time period 1704, the electronic device 101 may omit or delay the CIS task and perform the other task.
[0203] In an embodiment, the electronic device 101 may determine to divide the first time period 1708 available for the CIS1 event x+1 in the ISO_Interval x+1 1706 into at least two time periods (e.g., a second time period 1710 and a third time period 1712). The first time period 1708 may include an NSE sub-event specified for the CIS1 event x+1. The second time period 1710 may include a first sub-event that is at least some of the NSE sub-events and is assigned a first priority. The third time period 1712 may include a second sub-event that is some of the remaining portions of the NSE sub-events and is assigned a second priority lower than the first priority. When it is detected that another task having a priority higher than the second priority is scheduled in the third time period 1712, the electronic device 101 may not execute the CIS task in the third time period 1712, but execute another task. Through this operation, the electronic device 101 may execute another task with a priority lower than the first priority but higher than the second priority while performing CIS communication.
[0204] In the example shown, two time periods 1710 and 1712 are shown. However, even when the first time period 1708 is divided into more than two time periods, embodiments of the present disclosure are applicable.
[0205] Fig.18 is a timing diagram illustrating another example of allocating time periods by an electronic device according to an embodiment.
[0206] refer to Fig.18, ISO_Interval 1802 may have a length of, for example, 20 ms (milliseconds), and may include at least one CIG event (eg, CIG event x). For example, the electronic device 101 may use a CIG event (eg, CIG event x) including one or more CIS links for a multi-channel audio service.
[0207] For example, for a two-channel audio service, CIG event x may include a CIS event (e.g., CIS1 event x) for CIS1 (e.g., the first CIS link 506) and a CIS event (e.g., CIS2 event x) for CIS2 (e.g., the second CIS link 508). In an embodiment, CIS1 event x and CIS2 event x may not overlap but may be adjacent to each other. Although not shown, in another embodiment, CIS1 event x and CIS2 event x may partially overlap each other.
[0208] In an embodiment, the electronic device 101 may determine the amount of resources that can be allocated to the first external electronic device 202 and the second external electronic device 204 in addition to the minimum necessary operation of the frequency band for CIS communication (e.g., BLE scanning or BLE notification). As an embodiment, the first time period 1806 may represent the amount of resources that can be used for CIS1 event x. When NSE=10, the CIS1 event x in ISO_Interval 1802 may include 10 sub-events, and each sub-event may have a uniform time interval 1810 determined by the Sub_Interval parameter.
[0209] In an embodiment, the electronic device 101 may divide the first time period 1804 corresponding to the CIS1 event x into a second time period 1806 and a third time period 1808, the second time period 1806 including one or more (e.g., six) first sub-events corresponding to the first priority (e.g., having a priority value of "15"), and the third time period 1808 including one or more (e.g., four) second sub-events corresponding to the second priority (e.g., having a priority value of "7"). In an embodiment, the second time period 1806 may be 5.304ms, and the third time period 1808 may be 3.536ms.
[0210] In an embodiment, CIS2 event x may also be configured similarly to CIS1 event x. The electronic device 101 may divide the time period 1812 corresponding to CIS2 event x into a time period 1814 including one or more (e.g., six) first sub-events corresponding to a first priority (e.g., having a priority value of "15") and a time period 1816 including one or more (e.g., four) second sub-events corresponding to a second priority (e.g., having a priority value of "7"). In one embodiment, the length of time period 1814 may be 5.304 ms, and the length of time period 1816 may be 3.536 ms.
[0211] In an embodiment, the electronic device 101 may calculate the time period corresponding to the CIG1 event x (including, for example, the time period 1806 and the time period 1808), which is the maximum resource available for CIS communication in the ISO_Interval 1802. (For example, the data transmission rate is 96 kbps)
[0212] 884μs×10×2=17.680ms
[0213] The calculated maximum resource 17.680ms may be 88.4% of ISO_Interval 1802.
[0214] The first priority second resource corresponding to CIS1 event x and CIS2 event x (including time period 1806 and time period 1814) may occupy 53.04% of the time period of ISO_Interval 1802. The second priority third resource (including time period 1808 and time period 1816) may occupy 35.36% of the time period of ISO_Interval 1802.
[0215] In an embodiment, a second time period 1806 corresponding to a second resource having a first priority may be used preferentially for CIS communication. In an embodiment, the electronic device 101 may perform a first CIS task (e.g., initial transmission of a CIS data packet) in the second time period 1806. In an embodiment, a third time period 1808 corresponding to a third resource having a second priority may be used for another task (e.g., a third task). In an embodiment, when a third task is generated (or scheduled) in the third time period 1808, the electronic device 101 may perform the third task in the third time period 1808. In an embodiment, when the third task has a higher priority than the second priority (e.g., a priority value of "9"), the electronic device 101 may perform the third task in the third time period 1808, otherwise the third task may not be performed. When it is determined that the third task is not to be performed and there is a second CIS task (e.g., transmission or retransmission of a CIS data packet) that needs to be performed in the third time period 1808, the electronic device 101 may perform the second CIS task in the third time period 1808.
[0216] In an embodiment, ISO interval 1802 may include a remaining time period 1820 except time period 1804 corresponding to CIS1 event x and time period 1812 corresponding to CIS2 event x, and remaining time period 1820 may be used for Bluetooth concurrent operation or Wi-Fi operation, for example.
[0217] Fig.19 is a flowchart illustrating a process for a 2-channel audio service according to an embodiment. At least one of the operations shown may be performed by a processor (e.g., processor 120) of a source electronic device (e.g., electronic device 101). According to various embodiments, at least one of the operations described below may be omitted, modified, or reordered.
[0218] Reference Fig.19 , the electronic device 101 (eg, the processor 120) may perform a BLE scan (eg, Figure 4 In operation 1905, the electronic device 101 (e.g., the processor 120) may receive a notification packet (e.g., the notification packet 412) from a first external electronic device (e.g., the first external electronic device 202) through BLE scanning, and create (or establish) a first LE communication link (e.g., the first ACL link 502) with the first external electronic device 202. In operation 1910, the electronic device 101 (e.g., the processor 120) may receive a notification packet (e.g., the notification packet 412) from a second external electronic device (e.g., the second external electronic device 204) through BLE scanning, and create (or establish) a second LE communication link (e.g., the second ACL link 504) with the second external electronic device 204.
[0219] In an embodiment, the electronic device 101 (eg, the processor 120 ) may output a user interface related to the first external electronic device 202 and / or the second external electronic device 204 through a display (eg, the display module 160 ) based on information included in the received announcement packet.
[0220] Fig. 20A , Fig. 20B and Fig. 20C Various examples of a user interface displayed on the electronic device 101 according to an embodiment are shown.
[0221] Reference Fig. 20A and Fig. 20B , the electronic device 101 may display the user interface 2000 or 2005 through the display module 160 based on the setting conditions and the information included in the notification group received from the external electronic device (e.g., the first external electronic device 202 and / or the second external electronic device 204). In an embodiment, the user interface 2000 or 2005 may include device identification information, and the device identification information may be information created corresponding to the recognition result of the electronic device 101 on the external electronic device. For example, the electronic device 101 may create a model name of the external electronic device (e.g., Galaxy Buds) as device identification information. In an embodiment, the device identification information may indicate whether the external electronic device has been previously paired with the electronic device 101 or the user account of the electronic device. In an embodiment, the user interface 2005 may also include an input menu (e.g., "Dismiss" and "Connect") for receiving input on whether to accept the connection with the external electronic device.
[0222] Reference Fig. 20C , the electronic device 101 may output a user interface 2010 for notifying a user of an external electronic device through the display module 160 based on a notification group received from the external electronic device (e.g., the first external electronic device 202 and / or the second external electronic device 204). The user interface 2010 may include at least one of an image representing the shape of the external electronic device or a text indicating the name of the external electronic device. In an embodiment, the user interface 2010 may also include an image representing the remaining battery (e.g., 51%) of the external electronic device.
[0223] Return to reference Fig.19, in operation 1915, the electronic device 101 (e.g., the processor 120) may determine to start the audio service through CIS communication with the first external electronic device 202 and the second external electronic device 204 according to the user's intention (e.g., playing a music player) or a specified policy, and calculate a first resource that can be used for a first CIS link (e.g., the first CIS link 506) with the first external electronic device 202 and a second CIS link (e.g., the second CIS link 508) with the second external electronic device 204. In an embodiment, the electronic device 101 (e.g., the processor 120) may perform operation 1915 to assign different priorities (e.g., the first priority and the second priority) to at least one of the first CIS link 506 or the second CIS link 508, while providing the audio service to the first external electronic device 202 and the second external electronic device 204 through CIS communication.
[0224] In an embodiment, the electronic device 101 (e.g., the processor 120) may determine a first time period (e.g., the first time period 1804 and / or the first time period 1812) (meaning a time period corresponding to a CIS event in a CIG event) as a first resource as the maximum amount of resources that can be allocated to each of the first external electronic device 202 and the second external electronic device 204 in addition to the minimum necessary operation of the frequency band for CIS communication (e.g., Bluetooth concurrent operations such as BLE scanning or BLE advertising).
[0225] In an embodiment, the first resource may include the maximum resource determined by the electronic device 101 for CIS communication among all resources (e.g., ISO intervals) that can be used for CIS communication (e.g., 60-100% of the ISO interval). In an embodiment, the first resource may be determined as the remaining time period other than a specified time interval (e.g., 20-40%) of the ISO interval for another task (e.g., Bluetooth concurrent operation or Wi-Fi coexistence operation). In an embodiment, the first resource may be calculated based on the NSE and SE lengths set for the CIS link. In an embodiment, taking into account the NSE and SE lengths set for the CIS link, it may be determined that the first resource is close to 100% of the ISO interval.
[0226] In operation 1920, the electronic device 101 (e.g., the processor 120) may divide the first resource (e.g., the first time period 1804 or 1812) into at least two or more resources (e.g., the second time period 1806 and / or 1814 and the third time period 1808 and / or 1816), set a first priority for the second resource (e.g., the second time period 1806 and / or 1814), and set a second priority with a lower priority value for the third resource (e.g., the third time period 1808 and / or 1816). For example, the second priority may have a lower priority value than the first priority. In an embodiment, the electronic device 101 (e.g., the processor 120) may divide the first resource into the second resource and the third resource according to a specified time ratio. In an embodiment, the electronic device 101 (e.g., the processor 120) may determine a second resource corresponding to a specified minimum time period of the first resource, and determine the remaining time period as a third range.
[0227] In operation 1925, the electronic device 101 (e.g., the processor 120) may have the parameters included in the CIS parameters (e.g., the control data 800), create a first CIS link 506 with the first external electronic device 202, and create a second CIS link 508 with the second external electronic device 204. In an embodiment, before performing operations 1915 and 1920, the first CIS link 506 and the second CIS link 508 may have been established, and in operation 1925, the electronic device 101 (e.g., the processor 120) may apply the second resource and the third resource to the first CIS link 506 and the second CIS link 508 that have been established.
[0228] In operation 1930, the electronic device 101 (e.g., the processor 120) may provide an audio service to the first external electronic device 202 and the second external electronic device 204 through the first CIS link 506 and the second CIS link 508. In an embodiment, the electronic device 101 (e.g., the processor 120) may use the second time period 1706 of the first CIS link 506 to send audio data to the first external electronic device 202, and if possible, also use the third time period 1712 to send audio data to the first external electronic device 202. In an embodiment, if possible, using the second time period 1724 of the second CIS link 508, the electronic device 101 (e.g., the processor 120) may also use the third time period 1726 to send audio data to the second external electronic device 204. Here, when the third time period 1726 is available, it may mean that there is data to be sent of the CIS task scheduled in the third time period 1726, and there are no other tasks having a higher priority than the second priority corresponding to the third time period 1726.
[0229] In operation 1935, the electronic device 101 (e.g., the processor 120) may recognize that another task (e.g., a third task) that should be performed in the same frequency band as the CIS communication has occurred while providing the audio service (e.g., data of the third task is stored in the task queue). In an embodiment, the electronic device 101 (e.g., the processor 120) may recognize that a third task has been scheduled, and the third task includes at least one of a Bluetooth concurrent operation (e.g., maintaining a BLE connection, a BLE scan, or a BLE announcement) or a Wi-Fi coexistence operation. When there are no other tasks, the electronic device 101 (e.g., the processor 120) may return to operation 1930 and continuously provide the audio service until there is no more audio data to be sent or a request is made to terminate the audio service.
[0230] In operation 1940, the electronic device 101 (e.g., the processor 120) may compare the priority of the third task with the priority of the CIS task to be executed through the CIS link (e.g., the first priority and the second priority). In operation 1945, the electronic device 101 (e.g., the processor 120) may preferentially execute the task with the higher priority. In an embodiment, when the third task has a higher priority than the second priority, the electronic device 101 (e.g., the processor 120) may execute the third task through the third resource.
[0231] In an embodiment, the electronic device 101 (e.g., the processor 120) may determine whether there is a CIS data packet (e.g., a first CIS data packet) to be sent in a sub-event (e.g., a first sub-event) of the second time period 1710 (e.g., whether it is stored in a task queue), and if there is a first CIS data packet to be sent, determine whether there is another task (e.g., a third task) having a higher priority than the first priority specified for the second time period 1710 (e.g., whether the data to be sent of the third task is stored in the task queue). Unless the third task has a higher priority than the first priority, the electronic device 101 (e.g., the processor 120) may send the first CIS data packet in the first sub-event of the second time period 1710.
[0232] On the contrary, when the third task has a higher priority than the first priority, the electronic device 101 (e.g., the processor 120) may omit the transmission of the first CIS data packet in the first sub-event of the second time period 1710, and may send the data of the third task in the time period corresponding to the first sub-event. In an embodiment, the first priority corresponding to the second time period 1710 may have a relatively high priority value (e.g., "15" of Table 2) among the communication tasks that can be performed by the electronic device 101, so that the electronic device 101 (e.g., the processor 120) may ensure CIS communication as much as possible in the second time period 1710. For example, when the third task is an ACL fallback task and has a priority value higher than the first priority (e.g., "16" of Table 2), the electronic device 101 (e.g., the processor 120) may perform the ACL fallback task in the second time period 1710 without performing CIS transmission.
[0233] In an embodiment, the electronic device 101 (e.g., the processor 120) may determine whether there is a CIS data packet (e.g., a first CIS data packet) to be sent in a sub-event (e.g., a second sub-event) of the third time period 1712 (e.g., whether it is stored in a task queue), and if there is a second CIS data packet to be sent, determine whether there is another task (e.g., a third task) having a higher priority than the second priority specified for the third time period 1712 (e.g., whether the data to be sent of the third task is stored in the task queue). Unless the third task has a higher priority than the second priority, the electronic device 101 (e.g., the processor 120) may send the second CIS data packet in the second sub-event of the third time period 1712.
[0234] On the contrary, when the third task has a higher priority than the second priority, the electronic device 101 (e.g., the processor 120) may omit the transmission of the second CIS data packet in the second sub-event of the third time period 1712, and may send the data of the third task in the time period corresponding to the second sub-event. In an embodiment, the second priority corresponding to the third time period 1712 may have a priority value lower than that of the Bluetooth concurrent operation or the Wi-Fi operation (e.g., "7" of Table 2), so that the electronic device 101 (e.g., the processor 120) may use the third time period 1712 to perform another task, such as the Bluetooth concurrent operation or the Wi-Fi operation. In an embodiment, when the third task has the same priority as the second priority, the electronic device 101 (e.g., the processor 120) may determine to perform an earlier scheduled task (e.g., a task stored earlier in the task queue) and the transmission of the second CIS data packet of the third task in the third time period 1712.
[0235] In operation 1950, the electronic device 101 (e.g., the processor 120) can determine whether it is necessary to change the priority (e.g., the first priority and / or the second priority) of the CIS task executed by the first CIS link 506 and the second CIS link 508 according to the specified rules or the specified strategy while providing the audio service. In an embodiment, the electronic device 101 (e.g., the processor 120) can consider at least one of the CIS strategy, the passage of time, the communication state, or the scheduling context to determine whether to change the priority (e.g., the first priority and / or the second priority) of the CIS task. For example, the communication state can be related to at least one of the wireless environment of the first CIS link 506 and the second CIS link 508, the storage amount of the transmission queue, or the number of retransmissions. For example, the scheduling context may include at least one of the following: the creation rate of CIS data packets, the generation frequency of packets for Bluetooth concurrent operations, or the rate of data services for Wi-Fi coexistence operations. In an embodiment, the electronic device 101 (e.g., the processor 120) can perform operation 1950 whenever each sub-event starts or whenever a specified number of sub-events start. In an embodiment, operation 1950 may include an operation of changing the second priority and / or a time period when the second priority is to be applied (eg, the first time period and / or the second time period).
[0236] In an embodiment, when it is determined that the priority needs to be changed as a result of operation 1950, the electronic device 101 (e.g., the processor 120) may change the value of the first priority and / or the second priority to a higher or lower value in operation 1955. Thereafter, the electronic device 101 (e.g., the processor 120) may return to operation 1930 to continuously provide the audio service according to the changed first priority and / or second priority. In an embodiment, the electronic device 101 (e.g., the processor 120) may provide information about the changed value of the first priority and / or the second priority to the first external electronic device 202 and / or the second external electronic device 204.
[0237] In an embodiment, when there is no need to change the priority as a result of operation 1950, the electronic device 101 (eg, the processor 120) may return to operation 1930, continuously providing the audio service until there is no more audio data to be transmitted or termination of the audio service is requested.
[0238] In an embodiment, the first external electronic device 202 may send an advertising packet to allow the electronic device 101 to discover the first external electronic device 202. When the electronic device 101 receives the advertising packet of the first external electronic device 202, the first external electronic device 202 may create a first LE communication link (e.g., a first ACL link 502) with the electronic device 101 according to the request of the electronic device 101 (e.g., a scan request message 416). The first external electronic device 202 may connect a first CIS link (e.g., a first CIS link 506) defined by a CIS parameter (e.g., control data 800) assigned by the electronic device 101 to the electronic device 101, and receive audio services from the electronic device 101 through the first CIS link 506. In an embodiment, the second external electronic device 204 may connect the electronic device 101 to the second CIS link 508 in a manner similar to that for the first external electronic device 202, and receive audio services from the electronic device 101.
[0239] Fig.21 is a view showing a process for generating an LE communication link by an electronic device according to an embodiment.
[0240] refer to Fig.21 , the external electronic device (e.g., the first external electronic device 202) may send an advertisement packet 2102 (e.g., ADV_EXT_IND) including advertisement data through the primary advertisement channel, and send an auxiliary advertisement packet 2104 (e.g., AUX_ADV_IND) including extended advertisement data through the auxiliary advertisement channel. The first external electronic device 202 may receive a connection request packet 2106 (e.g., AUX_CONNECT_REQ) from the electronic device 101 through the auxiliary advertisement channel, and send a connection response packet 2108 (e.g., AUX_CONNECT_RSP) to the electronic device 101.
[0241] After sending the connection response packet 2108, the first external electronic device 202 can receive a version indication packet 2110 (e.g., LL_VERSION_IND) including version information from the electronic device 101 through the first LE communication link (e.g., the first ACL link 502), and send a version indication packet 2112 including its own version information to the electronic device 101. The electronic device 101 and the first external electronic device 202 can communicate by exchanging Fig.21 The first LE communication link is created by receiving packets, and data is sent / received through the first LE communication link.
[0242] Fig. 22 is a view illustrating a process for an electronic device to communicate through multiple LE communication links according to an embodiment.
[0243] Reference Fig. 22 , for example, as shown in FIG. 20 , the electronic device 101 may create a first LE communication link (e.g., a first ACL link 502) with the first external electronic device 202, and maintain the first LE communication link while creating a second LE communication link (e.g., a second ACL link 504) with the second external electronic device 204. In an embodiment, the electronic device 101 may send a data packet to the first external electronic device 202 through the first ACL link during each connection interval (e.g., the connection interval 2202 or the connection interval 2204). In an embodiment, the electronic device 101 may send a data packet to the second external electronic device 204 through the second ACL link during each connection interval (e.g., the connection interval 2206 or the connection interval 2208). For example, the connection interval 2202 or the connection interval 2204 may include at least one transmission opportunity for the first external electronic device 202, and the connection interval 2206 or the connection interval 2208 may include at least one transmission opportunity for the second external electronic device 204.
[0244] Fig.23 2 is a diagram showing an operation of determining resources for a media service according to an embodiment. Here, as an example, an audio service of a mono media type is illustrated.
[0245] Reference Fig.23 , the electronic device 101 may maintain a CIS link (e.g., the first CIS link 506) for performing the audio service, and calculate a first time period 2304 corresponding to a first resource available for the first CIS link 506 in the ISO interval 2302. In an embodiment, the first time period 2304 may include a maximum resource available for the first CIS link 506.
[0246] In an embodiment, the electronic device 101 may determine the first time period 2304 according to at least one of the service type (e.g., music playback), communication state, or schedule of the electronic device 101 and the external electronic device (e.g., the first external electronic device 202). As an example, the electronic device 101 may consider at least one CIS parameter (e.g., at least one of CIS count, ISO interval, FT, BN, SE length, or NSE) to calculate the first time period 2304. As an example, the electronic device 101 may determine the number of sub-events to be included in the first time period 2304 (e.g., six).
[0247] As an example, when a user requests to play music in a state where an external electronic device (e.g., the first external electronic device 202) is connected to the electronic device 101, the electronic device 101 can set CIS parameters for the media type of the audio service that provides a transmission rate of 96kbps and a maximum delay of 100ms. For example, the CIS parameters may include ISO interval = 20ms, BN = 2, FT = 5, SE length = 884μs, and NSE = 6. Based on the CIS parameters, the maximum resources available for CIS communication can be calculated as NSE×SE length / ISO interval. As an example, the first time period 2304 corresponding to the maximum resources required for CIS communication with the first external electronic device 202 is 884μs×6 / 20ms=5.304ms, which is 26.52% of the ISO interval 2302. The first time period 2304 may include six sub-events, each of which has a length of 884μs.
[0248] In an embodiment, the electronic device 101 may determine the second time period 2306 including the first two sub-events within the first time period 2304 as a second resource corresponding to the first priority. The third time period 2308 corresponding to the remaining four sub-events may be determined as a third resource corresponding to a second priority lower than the first priority. As an example, the electronic device 101 may determine the second time period 2306 and / or the third time period 2308 by considering at least one of a specified rule (e.g., a time ratio of a CIS event), a communication state of a CIS link, or a scheduling context. For example, the communication state may be related to the number of retransmissions of the first CIS link 506 and the second CIS link 508. For example, the scheduling context may include at least one of the following: a creation rate of CIS data packets, a generation frequency of packets for Bluetooth concurrent operations, or a rate of data services for Wi-Fi coexistence operations.
[0249] In an embodiment, the electronic device 101 may send a CIS data packet using the first sub-event and the second sub-event in the second time period 2306. In the third time period 2308 (e.g., the third sub-time period), the electronic device 101 may determine whether it is necessary to perform another task in the same frequency band as the CIS communication (e.g., at least one of Bluetooth concurrent operation or Wi-Fi coexistence operation). When another task is required, the electronic device 101 may perform the other task in the third time period 2308. In this case, the third or subsequent sub-events included in the third time period 2308 may not be used for CIS communication.
[0250] Fig.24 2 is a diagram showing an operation of determining resources for a conversation service according to an embodiment. Here, a two-channel conversation service is exemplified.
[0251] Reference Fig.24 , the electronic device 101 can connect two external electronic devices (e.g., the first external electronic device 202 and the second external electronic device 204) using CIS links for two channels respectively, and perform a voice call. For example, the CIS link may include a first CIS link 506 for the first channel CH1 (e.g., the left channel) and a second CIS link 508 for the second channel CH2 (e.g., the right channel).
[0252] In an embodiment, the electronic device 101 may determine CIS parameters for providing a session-type audio service with a two-way 32 kbps and a maximum delay of 10 ms. For example, the CIS parameters may include ISO interval = 10 ms, BN = 1, FT = 1, SE length = 74 μs, and NSE = 3. Based on the CIS parameters, the time period 2404 corresponding to the first resource available for the two CIS links 506 and 508 is 740 μs × 3 × 2 / 10 ms = 4.44 ms, which is 44.4% of the ISO interval 2402. As an example, the time period 2404 may include six sub-events, each of which has a length of 740 μs.
[0253] The time period 2404 may include a time period 2406 including (e.g., three) sub-events for the first channel and a time period 2408 including (e.g., three) sub-events for the second channel. The time period 2406 may be a first time period corresponding to the first CIS link 506 of the first channel, and the time period 2408 may be a first time period corresponding to the second CIS link 508 of the second channel.
[0254] In an embodiment, the electronic device 101 may determine that the second time period 2410 corresponding to the first sub-event in the time period 2406 is the second resource corresponding to the first priority, and the third time period 2412 corresponding to the remaining two sub-events is the third resource corresponding to the second priority. The third time period 2412 may include the second and third sub-events for the first CIS link 506.
[0255] In an embodiment, the electronic device 101 may use the first sub-event of the first CIS link 506 corresponding to the second time period 2410 to send the CIS data packet of the first channel to the first external electronic device 202. In the third time period 2412 (e.g., the second sub-event and the third sub-event of the first CIS link 506), the electronic device 101 may determine whether it is necessary to perform another task in the same frequency band as the CIS communication (e.g., at least one of Bluetooth concurrent operation or Wi-Fi coexistence operation). When another task is needed, the electronic device 101 may perform another task within the third time period 2412. In this case, the sub-event included in the third time period 2412 may not be used for CIS communication.
[0256] In an embodiment, the electronic device 101 may determine that the second time period 2414 corresponding to the first sub-event in the correct time period 2408 is the second resource corresponding to the first priority, and the third time period 2416 corresponding to the remaining two sub-events is the third resource corresponding to the second priority. The third time period 2416 may include the second and third sub-events for the second CIS link 508. The description of the operation of the electronic device 101 in the time period 2408 may be similar to the description of the operation in the time period 2406.
[0257] In an embodiment, the electronic device may use a third resource for a second priority (e.g., a third time period 2412) in addition to the second resource (e.g., the second time period 2410) to perform Bluetooth concurrent operation or Wi-Fi coexistence operation, and the second resource may be determined as a predetermined ratio or predetermined length of the first resource (e.g., the first time period 2406) that can be used for CIS communication. As an embodiment, the Bluetooth concurrent operation may include at least one of Bluetooth inquiry, Bluetooth inquiry scanning, Bluetooth paging, Bluetooth paging scanning, BLE scanning, BLE notification, Bluetooth connection maintenance, BLE connection maintenance, or channel scanning. The Wi-Fi coexistence operation may include Wi-Fi data transmission performed in the same frequency band as the CIS communication.
[0258] In an embodiment, the ISO interval 2402 may include a remaining time period 2418 in addition to the time period 2404. When the remaining time period 2418 is not zero, it may be used for at least one of a Bluetooth concurrent operation or a Wi-Fi coexistence operation. In an embodiment, since the Bluetooth concurrent operation or the Wi-Fi coexistence operation may be performed in the third time period (e.g., the time period 2412 and the time period 2416) instead of the remaining time period 2418, the electronic device 101 (e.g., the processor 120) may maximally allocate the time period 2404 in the ISO interval 2402, thereby minimizing the remaining time period 2418.
[0259] In an embodiment, the electronic device 101 may determine that the time period corresponding to the first resource (e.g., time period 2410 and 2414) is as large as possible to process another task scheduled during CIS communication. Table 1 shows an example of the maximum resources required for CIS communication (e.g., including one or more CIS links) in bidirectional mode.
[0260] [Table 1]
[0261]
[0262]
[0263] In Table 1, the mode may represent CIS communication using any one of a transmission rate of 116 kbps, 96 kbps, 64 kbps, or 32 kbps and any one of a reception rate of 96 kbps, 64 kbps, or 32 kbps. In each mode, the SE length may be calculated based on a packet transmission duration (Tx packet duration) corresponding to the transmission rate, a packet reception duration (Rx packet duration) corresponding to the reception rate, and a reserved duration (e.g., 300 μs).
[0264] As an example, for a transmission rate of 116 kbps, the packet transmission duration may be 640 μs. For a transmission rate of 96 kbps, the packet transmission duration may be 540 μs. For a transmission rate of 64 kbps, the packet transmission duration may be 380 μs. For a transmission rate of 32 kbps, the packet transmission duration may be 220 μs. As an example, for a reception rate of 96 kbps, the packet reception duration may be 540 μs. For a reception rate of 64 kbps, the packet reception duration may be 380 μs. For a reception rate of 32 kbps, the packet reception duration may be 220 μs.
[0265] For example, the SE length corresponding to the packet transmission duration of 220 μs and the packet reception duration of 220 μs may be 740 μs. The maximum resource required for CIS communication with NSE=3 may correspond to 4290 μs (42.9%).
[0266] Fig.25 is a view showing an example of maximum resource allocation according to an embodiment.
[0267] Reference Fig.25, the length of the ISO interval 2502 for CIS communication may be 10 ms, and the time period 2504 corresponding to the maximum resource available for CIS communication within the ISO interval 2502 may be determined to be 8.88 ms (i.e., 88.8%) based on, for example, NSE, SE length, and CIS count. The time period 2504 may include a time period 2506 (=4.44 ms) and a time period 2508 (=4.44 ms), the time period 2506 (=4.44 ms) including (e.g., six) sub-events of the first CIS link 506 for the first channel CH1 (e.g., left channel), and the time period 2508 (=4.44 ms) including (e.g., six) sub-events of the second CIS link 508 for the second channel CH2 (e.g., right channel). Each sub-event may include one transmission and one reception, and may have a length of, for example, 740 μs.
[0268] The electronic device 101 may determine that the second time period 2510 corresponding to the first sub-event in the time period 2506 is the second resource corresponding to the first priority, and the third time period 2512 corresponding to the remaining sub-events is the third resource corresponding to the second priority. In an embodiment, when data transmission fails in the second time period 2510, the electronic device 101 may determine that the sub-events of the third time period 2512 can be used for retransmission (RT) of data.
[0269] In an embodiment, the electronic device 101 may determine a time period (e.g., a second time period 2510) that is substantially usable for CIS communication according to the per-task priority of the time period 2504 that is determined as the maximum resource for CIS communication when providing the audio service or before starting the audio service. In an embodiment, the second time period 2510 may be determined according to a specified length or time ratio of the time period 2506.
[0270] The description of the operation of the electronic device 101 in time period 2508 may be similar to the description of the operation in time period 2506 .
[0271] In an embodiment, the per-task priority may include a first priority and a second priority for CIS communication, and the first priority may have a higher priority value than the second priority. In an embodiment, the priority (e.g., the first priority and the second priority) may vary depending on the scheduling context or wireless environment of the electronic device 101.
[0272] Fig.26 is a view showing an example of resource partitioning for CIS communication according to an embodiment.
[0273] Reference Fig.26, the electronic device 101 may allocate a time period 2604 corresponding to the maximum resource for CIS communication to 88.8% of the ISO interval 2602. The time period 2604 may be divided into a time period 2606 (=44.4%) for the first channel CH1 (e.g., the left channel) and a time period 2608 (=44.4%) for the second channel CH2 (e.g., the right channel). As an example, the time period 2606 and the time period 2608 may each include 6 sub-events.
[0274] In an embodiment, the electronic device 101 may determine a time period (e.g., time period 2612 and / or time period 2616) corresponding to the first priority of the time period 2604 according to a specified time ratio (e.g., 50%). For example, for the first CIS link 506, the electronic device 101 may assign the second time period 2612, which is half (=22.2%) of the time period 2606, to the first priority, and assign the third time period 2614, which is the other half (=22.2%), to the second priority lower than the first priority. For example, for the second CIS link 506, the electronic device 101 may assign the second time period 2616, which is half (=22.2%) of the time period 2608, to the first priority, and assign the third time period 2618, which is the other half (=22.2%), to the second priority lower than the first priority.
[0275] In the illustrated example, the second time period 2612 and the third time period 2616 ensured for CIS communication may each include three sub-events. For example, the second time period 2612 may include the first three sub-events of the time period 2606, and the third time period 2616 may include the first three sub-events of the time period 2608. For example, the electronic device 101 may not be able to send data using the first sub-event of the second time period 2612, and perform retransmission (RT) of the data in the second sub-event and the third sub-event of the second time period 2612. If the transmission of the data fails during the second time period 2612 and there is no other task with a higher priority, at least one sub-event of the third time period 2614 may be used for the retransmission of the data. On the contrary, if there is another task with a higher priority than the second priority corresponding to the third time period 2614, the electronic device 101 does not perform data retransmission in the third time period 2614, but may perform another task.
[0276] Fig. 27 is a view showing another example of resource partitioning for CIS communication according to an embodiment.
[0277] Reference Fig. 27, the electronic device 101 may allocate a time period 2704 corresponding to the maximum resource for CIS communication to 88.8% of the ISO interval 2702. The time period 2704 may be divided into a time period 2706 (=44.4%) for the first channel CH1 (e.g., the left channel) and a time period 2708 (=44.4%) for the second channel CH2 (e.g., the right channel). As an example, each of the time period 2706 and the time period 2708 may include six sub-events having a length of 740 μs.
[0278] In an embodiment, the time period 2712 for ensuring CIS communication of the first channel may include the last three sub-events (e.g., sub-events 13, 4, and 5) in the time period 2706, and the time period 2714 for ensuring CIS communication of the second channel may include the first three sub-events (e.g., sub-events 10, 1, and 2) in the time period 2708. The electronic device 101 may use the time periods 2712 and 2714 that are consecutive to each other to send the first channel audio data (e.g., left audio data) and the second channel audio data (e.g., right audio data).
[0279] In an embodiment, based on the per-task priority, time period 2710 corresponding to the remaining preceding sub-events of time period 2706 (e.g., sub-events 10, 1, and 2) and time period 2718 corresponding to the remaining subsequent sub-events of time period 2708 (e.g., sub-events 13, 4, and 5) can be used for CIS communication or other tasks (e.g., Bluetooth concurrent operation or Wi-Fi coexistence operation).
[0280] For example, the electronic device 101 may fail in data transmission using the first sub-event (e.g., sub-event 13) of the time period 2712, and perform retransmission (RT) of the data in the second and third sub-events (e.g., sub-events 14 and 5) of the time period 2712. When data transmission fails during the time period 2712, if there is no other task with a higher priority, the first three sub-events (e.g., sub-events 10, 1, and 2) of the next ISO interval (not shown) may be used for data retransmission. On the contrary, if there is another task with a higher priority in the first three sub-events of the next ISO interval, the electronic device 101 does not perform data retransmission, but may perform another task.
[0281] For example, when data cannot be sent during time period 2714, if there is no other task with a higher priority, the electronic device 101 can retransmit the data using at least one sub-event of time period 2718. On the contrary, if there is another task with a higher priority than the second priority corresponding to time period 2718, the electronic device 101 does not perform data retransmission in time period 2718, but can perform another task.
[0282] Fig.28 is a view showing an example of resource division according to a time ratio according to an embodiment.
[0283] Reference Fig.28 , the electronic device 101 may allocate a time period 2804 corresponding to the maximum resource for CIS communication to 88.8% of the ISO interval 2802. The time period 2804 may be divided into a time period 2806 (=44.4%) for the first channel CH1 (e.g., the left channel) and a time period 2808 (=44.4%) for the second channel CH2 (e.g., the right channel). In an example, each of the time period 2806 and the time period 2808 may include six sub-events having a length of 740 μs.
[0284] In an embodiment, time period 2810 for ensuring CIS communication of the first channel may include the first two sub-events (e.g., sub-events 10 and 1) and the last sub-event (e.g., sub-event 15) in time period 2806, and time period 2818 for ensuring CIS communication of the second channel may include the first sub-event (e.g., sub-event 10) and the fourth and fifth sub-events (e.g., sub-events 13 and 4) in time period 2808. Electronic device 101 may use sub-events (e.g., sub-events 10, 1, and 5) of time period 2806 to send first channel audio data (e.g., left audio data), and use sub-events (e.g., sub-events 10, 3, and 4) of time period 2808 to send second channel audio data (e.g., right audio data).
[0285] In an embodiment, time period 2812 corresponding to the remaining sub-events (e.g., sub-events #2, 3, and 4) in time period 2806 and time period 2816 corresponding to the remaining sub-events (e.g., sub-events #1, 2, and 5) in right time period 2808 can be used for CIS communication or other tasks (e.g., Bluetooth concurrent operations or Wi-Fi coexistence operations) according to per-task priority.
[0286] In an embodiment, the electronic device 101 may create a priority table defining the priority of each communication task including CIS communication, and store the priority table in a memory (e.g., memory 130). The priority table may include per-task priorities for multiple tasks. Each priority may be expressed as a decimal value or a hexadecimal value to compare with the priorities of other tasks.
[0287] In an embodiment, the electronic device 101 can give higher priority to tasks that are more important to the user, and change at least one of the per-task priorities according to at least one of the time lapse, communication state, or scheduling context. For example, considering the maximum delay, the CIS task for CIS communication is periodically executed and is intended for audio services targeted at real-time data transmission, and therefore can have a higher priority than other Bluetooth tasks (e.g., Bluetooth concurrent operations).
[0288] In an embodiment, the electronic device 101 may assign different priorities to the CIS tasks, such as a first priority and a second priority. The CIS tasks of the first priority (higher priority) may include using the tasks included in the time period (e.g., Fig.17 The CIS task of the second priority (lower priority) may include using the remaining time period (e.g., Fig.17 CIS transmission of at least one sub-event among the sub-events included in the third time period 1712).
[0289] Table 2 shows an example priority table defining the priorities of BT concurrent tasks.
[0290] [Table 2]
[0291]
[0292]
[0293] Referring to Table 2, CIS communication may be divided into a first CIS task having a higher priority (e.g., 15) and a second CIS task having a lower priority (e.g., 7). As an embodiment, the first CIS task may include a CIS transmission using at least one of the first N1 sub-events (e.g., sub-events 10 and 1) in one CIS event including N sub-events. As an example, the second CIS task may include a CIS transmission using at least one of the last N2 sub-events in one CIS event. (N=N1+N2) In an embodiment, when it is detected that another task (e.g., paging scan or inquiry scan) having a higher priority than the priority value (e.g., 7) of the second CIS task needs to be performed in a third time period, the electronic device 101 may not send a CIS data packet in a sub-event of the third time period, but perform another task during the third time period. In an embodiment, when the scheduling of another task (e.g., inquiry) having a lower priority than the priority value (e.g., 7) of the second CIS task is detected in the third time period, the electronic device 101 may send a CIS data packet in a sub-event of the third time period while delaying or omitting the inquiry.
[0294] Similarly, in an embodiment, when it is detected that another task (e.g., ACL rollback) having a higher priority than the priority value (e.g., 15) of the first CIS task needs to be executed in the second time period, the electronic device 101 may not send a CIS data packet in a sub-event of the second time period, but instead execute another task during the second time period. In an embodiment, when the scheduling of another task (e.g., paging or paging scan) having a lower priority than the priority value (e.g., 15) of the first CIS task is detected in the second time period, the electronic device 101 may send a CIS data packet in a sub-event of the second time period while delaying or omitting paging or paging scan.
[0295] In an embodiment, CIS events for CIS communication may at least partially overlap with each other. As an example, in a sequential arrangement (e.g., Fig.13 sequential arrangement) and staggered arrangement (e.g. Fig.14 In the sense of the characteristics of both the first and second CIS events (interleaved arrangement), the overlap between at least a portion of the first CIS event and at least a portion of the second CIS event can be referred to as a hybrid arrangement or hybrid packaging. In an embodiment, the electronic device 101 can set (e.g., schedule) a CIS event according to the hybrid arrangement based on satisfying a specified condition.
[0296] Fig.29 is a view showing an example of resource partitioning applied to a hybrid arrangement according to an embodiment.
[0297] refer to Fig.29 , CIS1 event x may include CIS1 event x and CIS2 event x, and CIS1 event x and CIS2 event x may each include, for example, 10 sub-events. CIS2 event x may partially overlap with a portion of CIS1 event x. In an embodiment, the length of the overlapping portion 2902 of CIS1 event x and CIS2 event x (e.g., the number of sub-events) may be determined according to various conditions.
[0298] The overlapping portion 2902 of CIS1 event x and CIS2 event x may include, for example, eight sub-events and is set to a second time period corresponding to a first priority capable of ensuring CIS communication. In an embodiment, a time period 2904 not included in CIS1 event x or CIS2 event x may not be reserved for CIS communication but may be used for another task (e.g., Bluetooth concurrent operation or Wi-Fi coexistence operation).
[0299] Fig.30 is a view showing another example of resource partitioning applied to a hybrid arrangement according to an embodiment.
[0300] refer to Fig.30, CIS1 event x may include CIS1 event x and CIS2 event x, and CIS1 event x and CIS2 event x may each include, for example, 18 sub-events. CIS2 event x may at least partially overlap with CIS1 event x. In an embodiment, a time period 3002 including at least some first sub-events (e.g., the first ten) of the (e.g., 16) overlapping sub-events of CIS1 event x and CIS2 event x may be set to a second time period corresponding to a first priority capable of ensuring CIS communication.
[0301] In an embodiment, a time period 3004 including some sub-events (e.g., the last eight) of the (e.g., 16) overlapping sub-events of CIS1 event x and CIS2 event x and the last two sub-events (e.g., the last two) of CIS2 event x may be set to a third time period corresponding to a second priority lower than the first priority. Time period 3004 may be used for a second CIS task having a second priority or for another task having a higher priority than the second priority (e.g., Bluetooth concurrent operation or Wi-Fi coexistence operation). In an embodiment, time period 3002 and time period 3004 may partially overlap each other (e.g., in two sub-events). According to the scheduling of electronic device 101 (e.g., processor 120), two overlapping sub-events may be used for a first CIS task, a second CIS task, or another task.
[0302] In an embodiment, sub-events of CIS1 event x that do not overlap with CIS2 event x (e.g., the first two sub-events) and / or sub-events of CIS2 event x that do not overlap with CIS1 event x (e.g., the last two sub-events) may be set to a second priority. In an embodiment, sub-events of CIS1 event x that do not overlap with CIS2 event x (e.g., the first two sub-events) and / or sub-events of CIS2 event x that do not overlap with CIS1 event x (e.g., the last two sub-events) may be set to a first priority.
[0303] In an embodiment, all overlapping sub-events of CIS1 event x and CIS2 event x may be set to a second time period corresponding to the first priority, and non-overlapping sub-events (e.g., the first two sub-events of CIS1 event x and the last two sub-events of CIS2 event x) may be set to a third time period corresponding to the second priority. In an embodiment, the second time period may include at least some of the overlapping sub-events of CIS1 event x and CIS2 event x and at least some of the non-overlapping sub-events, and the third time period may correspond to the remaining sub-events that are not set to the second range. Various other embodiments are possible.
[0304] Fig.31 is a view illustrating an operation of providing an audio service through a CIS link according to an embodiment.
[0305] Reference Fig.31 , the electronic device 101 can connect an external electronic device (e.g., the first external electronic device 202) to an ACL link (e.g., the first ACL link 502), and establish a CIS link (e.g., the first CIS link 506) by exchanging CIS_REQ packets 3102 (e.g., CIS_REQ of operation 710), CIS_RSP packets 3104 (e.g., CIS_RSP of operation 712), and CIS_IND packets 3106 (e.g., CIS_IND of operation 714) via the ACL link.
[0306] In an embodiment, the processor 120 of the electronic device 101 may include a CIS module 3112 and a host 3114. The electronic device 101 (e.g., the CIS module 3112) may recognize that the first CIS link 506 is available by exchanging CIS empty packets 3110 (e.g., CIS empty PDUs of operations 716, 718, and 720) via the first CIS link 506, and send a human-machine interface (HCI) event message 3108 (e.g., HCI_LE_CIS_Established) to the host 3114 to indicate the establishment of the first CIS link 506.
[0307] In an embodiment, the event message may include CIS parameters applied to the first CIS link 506, such as ISO interval = 20ms, BN = 2, FT = 5, and NSE = 6. As an example, the electronic device 101 may allocate 47.2% of the resources to the first CIS link 506 and open the first CIS link 506 using the CIS parameters.
[0308] Table 3 below shows an example of CIS parameters set by the electronic device 101 and delivered to the second external electronic device 202 through the CIS_REQ packet 3102 .
[0309] [Table 3]
[0310]
[0311]
[0312] Fig.32 is a view showing an operation of opening a CIS link according to an embodiment.
[0313] Reference Fig.32 , the processor 120 of the electronic device 101 may include a CIS module 3204 (for example, the CIS module 3112) and a host 3202 (for example, the host 3114). According to an embodiment, the electronic device 101 (for example, the host 3202) may receive the CIS module 3204. Fig.31 The event message 3108 is used to identify that the first CIS link 506 is established, and, for example, a service data unit (SDU) 3212 (e.g., SDU25 and SDU26 3216) including audio data to be sent via the second CIS link 508 is sent to the CIS module 3204 at each ISO interval.
[0314] The electronic device 101 (e.g., CIS module 3204) may send a CIS data packet 3214 corresponding to a previous SDU (e.g., SDU24 (not shown)) at the current ISO interval, and receive an ACK response corresponding to the CIS data packet 3214. The electronic device 101 (e.g., CIS module 3204) may send a CIS data packet 3218 corresponding to SDU25 3212 at a subsequent ISO interval, and receive an ACK response corresponding to the CIS data packet 3218. The electronic device 101 (e.g., CIS module 3204) may send a CIS data packet corresponding to SDU26 3216 at the next ISO interval. Subsequent SDUs may be sent in the same manner.
[0315] Fig.33 is a view illustrating an operation of operating CIS communication in consideration of a wireless environment or a scheduling context according to an embodiment.
[0316] Reference Fig.33 , the electronic device 101 can retransmit the CI data packet including the same audio data until the audio data reaches the refresh point indicated by the FT parameter. When there are no other scheduled tasks and no ACK response for the audio data is received from the external electronic device (e.g., the first external electronic device 202 or the second external electronic device 204) due to the wireless environment, the electronic device 101 can stably retransmit the CIS data packet including the same audio data using multiple sub-events.
[0317] In an embodiment, the electronic device 101 may allocate a time period 3304 including six sub-events for the first CIS link 506 with the first external electronic device 202 in the ISO interval 3302. The time period 3304 may correspond to a first priority having a high priority value.
[0318] In an embodiment, due to the poor wireless environment of the first CIS link 506, the first external electronic device 202 may not be able to normally receive the CIS data packet from the electronic device 101. When no other tasks with a priority higher than the first priority (e.g., the ACL fallback task of Table 2) occur during the time period 3304 of the first CIS link 506, all six transmission opportunities (i.e., six sub-events) of the first CIS link 506 can be used for transmission of CIS data packets (e.g., initial transmission and retransmission (RT)).
[0319] In an embodiment, the electronic device 101 may receive an ACK response from the second external electronic device 204 immediately after sending the CIS data packet in the first sub-event 3306 of the second CIS link 508. In an embodiment, the electronic device 101 may use a time period 3308 corresponding to the remaining sub-events (and the remaining range) of the second CIS link 508 for another task (e.g., Bluetooth concurrent operation or Wi-Fi coexistence operation) using the same frequency band (e.g., 2.4 GHz).
[0320] Fig.34 is a view illustrating an operation of executing a CIS task having a priority according to an embodiment.
[0321] refer to Fig.34 , a first touch input 3406 corresponding to a CIS event (e.g., a first CIS link 506) for CIS communication in the ISO interval 3402 may include, for example, six sub-events, a second time period 3404 set to correspond to a priority value of 15 in the first time period 3406 may include three sub-events, and a third time period 3408 set to correspond to a priority value of 7 may include three sub-events.
[0322] In an embodiment, the electronic device 101 may send and retransmit a CIS data packet using a first sub-event and a second sub-event in the sub-events of the second time period 3404. The electronic device 101 may recognize that a BLE connection interval (CI) task having a priority value of 13 is scheduled in the second sub-event of the second time period 3404, but since the priority value 13 is less than the priority value 15 of the second time period 3404, the BLE CI task is ignored during the second time period 3404. When an ACK response is received from the first external electronic device 202 after using the retransmission (RT) of the second sub-event, the third sub-event of the second time period 3404 may not be used for CIS transmission.
[0323] In an embodiment, the electronic device 101 may reschedule the BLE CI task to the next time period, such as the third time period 3408. Since the priority value 13 is greater than the priority value 7 of the third time period 3408, the electronic device 101 may determine not to execute the CIS task during the second time period 3404. The second time period 3404 may be used for the electronic device 101 to execute the BLE CI task.
[0324] In an embodiment, the electronic device 101 may perform a CIS task using a sub-event for another CIS event after a first time period 3406 corresponding to a CIS event. The description of the operation of the electronic device 101 for another CIS event may be similar to the description of the operation in the first time period 3406.
[0325] Fig.35 is a view illustrating an operation of performing a BLE task with a priority according to an embodiment.
[0326] refer to Fig.35 , a first touch input 3506 corresponding to a CIS event (e.g., a first CIS link 506) for CIS communication in the ISO interval 3502 may include, for example, six sub-events, a second time period 3504 set to correspond to a priority value of 15 in the first time period 3506 may include three sub-events, and a third time period 3508 set to correspond to a priority value of 7 may include three sub-events.
[0327] In an embodiment, the electronic device 101 may use three sub-events to send and retransmit the CIS data packet in the second time period 3504. When no ACK response corresponding to the CIS data packet is received from the first external electronic device 202 during the second time period 3504, and there are no other tasks scheduled in the first sub-event of the third time period 3508, the electronic device 101 may retransmit the CIS data packet in the first sub-event of the third time period 3508.
[0328] In an embodiment, the electronic device 101 may recognize that a BLE CI task having a priority value of 13 is scheduled in the second sub-event of the third time period 3508. Since the BLE CI task has a priority value of 13 higher than the priority value 7 of the third time period 3508, the electronic device 101 may determine to stop retransmitting the CIS data packet in the second sub-event of the third time period 3508 despite failing to receive an ACK response to the CIS data packet. The remaining time period of the third time period 3508 may be used to execute the BLE CI task.
[0329] In an embodiment, the electronic device 101 may perform a CIS task using a sub-event for another CIS event after a first time period 3506 corresponding to a CIS event. The description of the operation of the electronic device 101 for another CIS event may be similar to the description of the operation in the first time period 3506.
[0330] Fig.36 is a view illustrating an operation of changing the priority of CIS communication according to an embodiment.
[0331] refer to Fig.36, the first time period 3606 corresponding to a CIS event for CIS communication (e.g., the first CIS link 506) in the ISO interval 3602 may include, for example, six sub-events. The electronic device 101 may determine to change the priority in any sub-event while providing audio services to the first external electronic device 202 through the first CIS link 506. In an embodiment, when a short and repetitive task (e.g., a BLE CI fallback operation) is newly required, the electronic device 101 may set a priority in each sub-event or each specified number of sub-events to ensure the CIS task as much as possible while allowing the task to be completed quickly.
[0332] In an embodiment, the electronic device 101 may change the priority value to 16 in the time period 3604a corresponding to the first sub-event and the second sub-event in the first time period 3606 and the time period 3604b corresponding to the fifth sub-event. In an embodiment, the electronic device 101 may change the priority value to "7" in the time period 3608a corresponding to the third sub-event and the fourth sub-event and the time period 3608b corresponding to the sixth sub-event. For example, the BLE CI fallback operation may have a priority value of "16", and the electronic device 101 may quickly perform the BLE CI fallback operation in the time period 3608a or the time period 3608b.
[0333] In an embodiment, the electronic device 101 may perform a CIS task using a sub-event for another CIS event after a first time period 3606 corresponding to a CIS event. The description of the operation of the electronic device 101 for another CIS event may be similar to the description of the operation in the first time period 3606.
[0334] In an embodiment, when the electronic device 101 and an external electronic device (e.g., the first external electronic device 202 or the second external electronic device 204) are capable of supporting functions with the same purpose, the electronic device 101 may provide the external electronic device (e.g., the first external electronic device 202 or the second external electronic device 204) with CIS operation information indicating a second time period corresponding to the first priority (e.g., the second time period 1706) and a third time period corresponding to the second priority (e.g., the third time period 1708).
[0335] In an embodiment, the external electronic device (eg, the first external electronic device 202 or the second external electronic device 204 ) may perform CIS communication according to the CIS operation information received from the electronic device 101 .
[0336] For example, when the battery power of the external electronic device (e.g., the first external electronic device 202 or the second external electronic device 204) is less than a specified threshold, the external electronic device (e.g., the first external electronic device 202 or the second external electronic device 204) may intentionally ignore the third time period (e.g., Fig.17 third time period 1712).
[0337] BIS may refer to a logical transmission for sending one or more isochronous data streams to all devices of the BIS within a specified range. The BIS may include one or more sub-events for sending isochronous data packets (e.g., BIS data packets). The BIS may support sending several new isochronous data packets in all BIS events. The BIS does not include an acknowledgment protocol and may be sent unidirectionally from a broadcast device (e.g., a source electronic device) of a broadcast service. In order to enhance the reliability of the BIS logical transmission, isochronous data packets may be unconditionally retransmitted by increasing the number of sub-events in all events. Transmission reliability may be enhanced by sending isochronous data packets in intervals prior to the intervals associated with the isochronous data packets. This is referred to as pre-transmission. The BIS may be identified by a unique access address and timing information. The access address and timing information may be sent by using packets sent by the corresponding periodic announcement broadcast logical transmission.
[0338] A scanning device (eg, a sink electronic device) supporting a synchronous receiver role (eg, a sink role) may receive isochronous data (eg, isochronous data packets) from the BIS after synchronizing with the BIS using timing information obtained from the periodic advertisement packets.
[0339] Each BIS can be part of a broadcast isochronous group (BIG). A BIG can include two or more BISs with the same isochronous interval (e.g., ISO_Interval). The BISs in a BIG have a common timing reference based on the source electronic device and can be synchronized with each other in time. The maximum number of BISs in a BIG can have a specified value (e.g., 31). A BIG can also include control sub-events.
[0340] Fig.37 is a signal flow diagram illustrating a process for synchronizing with a Broadcast Isochronous Group (BIG) according to an embodiment.
[0341] Reference Fig.37In operation 3712, the source electronic device 400 (e.g., the electronic device 101) may create a BIG including one or more BISs and may start periodic notifications related to the BIG. In operation 3714, the sink electronic device 3705 (e.g., the first external electronic device 202 or the second external electronic device 204) may start a BLE scan for receiving synchronization. In an embodiment, the sink electronic device 3705 may not perform a BLE scan, and may obtain a scan result (e.g., synchronization information) required to receive the BIS parameters of the source electronic device 3700 from an external electronic device (not shown) that acts as a BIS assistant for performing a BLE scan.
[0342] In operation 3716, the source electronic device 3700 may periodically send a notification packet (e.g., AUX_SYNC_IND) related to the BIG at a specified interval. For example, the AUX_SYNC_IND may include BIS parameters (e.g., BIG information 3800) in an additional controller announcement data (ACAD) field. The BIG information may include parameters for synchronizing with a BIG (e.g., at least one BIS link) provided by the source electronic device 3700. In an embodiment, the sink electronic device 3705 may receive the BIG information directly from the source electronic device 3700, may receive the BIG information from the source electronic device 3700 based on assistance from an external electronic device (not shown), or may receive the BIG information from an external electronic device (not shown).
[0343] In an embodiment, instead of performing a BLE scan, the sink electronic device 3705 may receive a scan result (e.g., synchronization information) from an external electronic device (not shown), and may obtain BIS parameters (e.g., BIG information 3800) of the BIS link from an advertising packet received through the synchronization information. In an embodiment, the sink electronic device 3705 may receive an advertising packet from the source electronic device 3700, and may obtain BIG information (e.g., BIG information 3800) from the advertising packet based on a scan result (e.g., synchronization information) received from an external electronic device (not shown) that performs a BLE scan.
[0344] In operation 3718, the sink electronic device 3705 may determine to start receiving the BIS based on the BIG information. In operation 3720, the sink electronic device 3705 may synchronize with the BIG of the source electronic device 3700 using the parameters included in the BIG information. In an embodiment, the BIG synchronization operation performed by the sink electronic device 3705 may include an operation of calculating an access address and timing information for sending audio data based on the BIG information. In an embodiment, the timing information may include channel information (e.g., channel mapping) and a transmission time point of the audio data.
[0345] In operation 3722, the sink electronic device 3705 may receive audio data (eg, at least one BIS data packet) broadcasted by the source electronic device 3700 through at least one BIS in the BIG.
[0346] Fig.38 is a view showing the format of BIG information according to an embodiment.
[0347] refer to Fig.38 , the BIG information 3800 may include at least one of the following: BIG_Offset, BIG_Offset_units, ISO_Interval, Num_BIS, number of sub-events (NSE), burst number (BN), Sub_Interval, pre-transmission offset (PTO), BIS_Spacing, immediate repeat count (IRC), Max_PDU, reserved for future use (RFU), SeedAccessAddress, SDU_Interval, Max_SDU, BaseCRCInit, channel map (ChM), physical (PHY), bisPayloadCount, framing (Framing), group initialization vector (GIV) or group session key derivation (GSKD). In an embodiment, the length of the BIG information 500 may be 33 octets when unencrypted and may be 57 octets when encrypted.
[0348] The parameters that may be included in the BIG information 3800 are described below.
[0349] Num_BIS indicates the number of BIS in BIG. Each BIS in BIG can be assigned a different BIS_Number from 1 to Num_BIS.
[0350] ISO_Interval can indicate the 1.25ms time between two adjacent BIG anchor points. (e.g. 5ms to 4s)
[0351] BIS_Spacing may indicate the time between the start time of sub-events in adjacent BISs in a BIG and the start time of the first sub-event of the last BIS.
[0352] Sub_Interval may indicate the time between the start times of two consecutive sub-events of each BIS.
[0353] Max_PDU is the maximum number of data octets that can be sent per BIS data packet within the BIG and may indicate the maximum duration of the packet (eg, 1 to 251 octets).
[0354] Max_SDU may indicate the maximum size (e.g., maximum duration) of the service data unit (SDU) in the BIG. (e.g., 1 to 4095 octets).
[0355] BN, PTO, and IRC may include values for controlling which data is sent in each BIG event. The sub-events of each BIS event may be divided into groups (e.g., sub-event groups) including BN sub-events. Thus, the number of groups (e.g., group count (GC)) is NSE / BN. IRC may specify the number of groups that carry data related to the current BIS event. The remaining groups may carry data related to future BIS events specified by PTO.
[0356] IRC may be greater than 0 and may not be greater than GC. If IRC = GC, PTO may be ignored, otherwise PTO may be greater than zero. The sub-event groups may be numbered sequentially from 0 to GC - 1 (e.g., group index g). When g < IRC, group g may include data related to the current BIS event. When g >= IRC, group g may include data related to future BIS events after the current BIS event (e.g., the PT0 × (G - IRC + 1)th BIS event).
[0357] NSE indicates the maximum number of sub-events within each BIG event.
[0358] The framing field may indicate whether the BIG is sending frame data or non-frame data.
[0359] BIG_Offset may indicate the time from the start time of the packet (e.g., AUX_SYNC_IND 3716) including the BIG information 3800 to the next BIG anchor. The value of BIG_Offset may be indicated in units indicated by the bits of BIG_Offset_Units. The time offset is determined by multiplying the value of BIG_Offset by the unit indicated by BIG_Offset_Units. The time offset may be greater than 600 μs (microseconds). When the bits of BIG_Offset_Units are set, the unit is 300 μs, otherwise it is 30 μs. If the time offset is less than 491,460 μs, the bits of BIG_Offset_Units may not be set. The BIG anchor may be between the time offset and the time offset plus 1 unit after the start time of the packet (e.g., AUX_SYNC_IND), as described below.
[0360] Fig.39 is a view showing a BIG event for a periodic announcement event according to an embodiment.
[0361] Refer to Fig.39, each BIS in the BIG provided by the source electronic device 3700 (e.g., electronic device 101) can be configured as a schedule of time slots called events and sub-events. The source electronic device 3700 can send BIS data packets in sub-events (e.g., BIS1 sub-event and BIS2 sub-event) within a BIG event (e.g., BIG event x 3905).
[0362] The source electronic device 3700 may transmit a notification packet 3910 (e.g., AUX_SYNC_IND with BIGInfo) including BIG information (e.g., BIG information 3800) at a specified time point. The source electronic device 3705 may determine the start time of a BIG anchor point 3915 after the start time of AUX_SYNC_IND based on the BIG_Offset and BIG_Offset_Units included in the BIG information 3800. The next BIG event (e.g., BIG event x+1 3920) may start from the BIG anchor point 3915, and each BIS sub-event (e.g., BIS1 sub-event or BIS2 sub-event) may have a duration defined by BIS_Spacing.
[0363] SeedAccessAddress can indicate the seed access address of BIG.
[0364] SDU_Interval may indicate the time interval of SDU.
[0365] BaseCRCInit may include a cyclic redundancy check (CRC) initial value for the BIS data packet.
[0366] The ChM may include a channel map indicating used data channels and unused data channels.
[0367] PHY may indicate the physical channel transmission scheme (eg, symbols per second and / or coding scheme) used by the BIG.
[0368] bisPayloadCount may include a count value for detecting lost payload.bisPayloadCount may include a value of the first sub-event of the BIG event based on BIG_Offset.
[0369] When the BIG is encrypted, GIV and GSKD may include values describing the encryption.
[0370] The parameters included in the BIG information 500 may not change during the life cycle of the BIG information.
[0371] Fig.40is a view showing a BIG event and a BIS event according to an embodiment.
[0372] Reference Fig.40 , a BIG event (e.g., BIG event x 4005) may include one or more BIS data packets (e.g., PDUs). The source electronic device 3700 (e.g., electronic device 101) may send a BIS data packet in a BIG event (e.g., BIG event x 4005). Each BIG event (e.g., BIG event x 4005) may be divided into Num_BIS BIS events and (if present) a control sub-event. Each BIS event may be divided into NSE sub-events.
[0373] Each BIS event may start at a BIS anchor point and end after the last sub-event. Each BIG event (e.g., BIG event x 4005) may start at a BIG anchor point and may end thereafter if there is a control sub-event, otherwise, end at the last constituent BIS event. The BIG anchor points may be regularly spaced by an interval of ISO_Interval 4010. The BIS anchor point of BIS n for BIG may be after (N-1)×BIS_Spacing from the BIG anchor point and may be regularly spaced by ISO_Interval 4010. The sub-events of each BIS may be separated by a Sub_Interval. The source electronic device 3700 may terminate the current BIG event (e.g., BIG event x 4005) at least T_IFS (e.g., 150 μs) before the BIG anchor point of the next BIG event. The interval between consecutive sub-events in a BIS may be defined as T_MSS.
[0374] The BIS in a BIG can be arranged sequentially or interleaved according to Sub_Interval and BIS_Spacing. In the case of sequential arrangement, BIS_Spacing can be greater than or equal to NSE×Sub_Interval, and all sub-events of a BIS event can occur together. When interleaved, Sub_Interval can be Num_BIS×BIS_Spacing, the first sub-events of all BISs can be adjacent, and the second sub-events of all subsequent BISs can be adjacent.
[0375] The maximum possible length of the data portion of a BIG event (except for control sub-events) can be expressed as BIG_Sync_Delay. The value of BIG_Sync_Delay can be the same as the time from the BIS anchor point to the BIG synchronization point, which is the end point of a packet containing the Max_PDU octets of payload sent in the last sub-event. (BIG_Sync_Delay = (Num_BIS-1) × BIS_Spacing + (NSE-1) × Sub_Interval + MPT)
[0376] The BIS sub-event is an opportunity for the source electronic device 3700 to send a BIS data packet and for the electronic device 3705 operating as a sink (e.g., the first external electronic device 202 and / or the second external electronic device 204) to receive the BIS data packet. The source electronic device 3700 may send one BIS data packet at the start of each BIS sub-event of the BIS event, and may send, for example, at least one BIS packet within six consecutive BIS events.
[0377] For each BIS event, the source electronic device 3700 can provide a data burst including a BN payload. Each payload can include a single fragment or one or more SDU segments. A data burst is associated with a specified BIS event, but can be sent in an earlier event.
[0378] The sink electronic device 3705 may not perform a receiving operation for receiving BIS audio in an interval other than the time interval (e.g., time interval 4104) determined by the source electronic device 3700 for sending BIS audio. Therefore, in a time period other than the time period (e.g., time period 4104) in which the source electronic device 3700 agrees to send BIS audio, BIS audio communication may not be possible. When the source electronic device 3700 sends BIS audio using only limited resources (e.g., time interval 4104) from limited resources, the BIS audio data receiving rate of the sink electronic device 3705 may be reduced. The source electronic device 3700 may repeatedly send BIS audio data so that the sink electronic device 3705 can successfully receive BIS audio.
[0379] Fig.41 is a view showing resource allocation for BIS communication according to an embodiment.
[0380] Reference Fig.41, Num_BIS=2, ISO interval=20ms, BN=2, NSE=10, Sub_Interval=1.188ms, BIS_Spacing=0.594ms, PTO=0, IRC=5, and maximum PDU size=100 bytes are set for BIS transmission. The time interval 4104 corresponding to a BIS event in ISO interval 4102 may include, for example, five (=NSE / BN=10 / 2) sub-event groups (e.g., sub-event group 4106). Each sub-event group (e.g., sub-event group 4106) may include two sub-events, and one sub-event may be used to carry a BIS data packet for the right channel (e.g., R0 4108) and a BIS data packet for the left channel (e.g., L0 4110). As shown in the figure, a sub-node in a BIS link may include unidirectional transmission data (e.g., R0 and / or L0) and at least T_MS (e.g., 150μs). The same BIS audio data (e.g., R0 4108 and L0 4110) can be repeatedly sent a specified number of times (e.g., 10 times) within the ISO interval 4102.
[0381] In an embodiment, the electronic device 101 may determine parameters of the BIS service, such as the timing and transmission order of the BIS audio transmission, and may send the parameters to one or more nearby host electronic devices (e.g., the first external electronic device 202 and / or the second external electronic device 204) via the BIS parameters (e.g., BIG information 3800) included in the periodic notification. The electronic device 101 may determine (e.g., schedule) to perform another communication task while performing the BIS audio transmission. In an embodiment, the communication task may include at least one of Bluetooth concurrent operations (such as paging scans, channel scans, or BLE scans) or Wi-Fi CoEX. The communication task may be scheduled to operate with the BIS audio transmission in the same time interval.
[0382] In an embodiment, the electronic device 101 may limit the resources available for BIS audio transmission to ensure communication tasks other than BIS audio transmission (e.g., Wi-Fi CoEX and / or Bluetooth concurrent operation) during BIS audio transmission. In an embodiment, when the electronic device 101 is configured to support both Bluetooth communication and Wi-Fi communication, such as a mobile phone, the electronic device 101 may configure the first resource available for BIS audio transmission to a time interval (e.g., time interval 4104) corresponding to approximately 50% (e.g., 58.65%) of the ISO interval (e.g., ISO interval 4102).
[0383] In an embodiment, the electronic device 101 may configure the BIG parameters of the BIG information (e.g., BIG information 3800) to send BIS audio using a specified resource (e.g., time interval 4104) of a limited time interval (e.g., ISO interval 4102). For example, these parameters may be configured so that the BIS audio transmission occupies the maximum RF resource (e.g., time interval 4104). The electronic device 101 may send the BIS audio based on the BIG parameters. In an embodiment, the electronic device 101 may divide the time interval (e.g., time interval 4104) used for BIS audio transmission into at least two or more time intervals (e.g., time interval 4204 and time interval 4206) for different priorities so as to ensure the quality of the BIS audio while enabling tasks other than BIS audio transmission (e.g., Wi-Fi CoEX and / or Bluetooth concurrent operations). The electronic device 101 may compare the priority of each time interval with the priority of the scheduled task, and may process the task with a higher priority first.
[0384] Fig.42 is a view showing resource partitioning for BIS communication according to an embodiment.
[0385] refer to Fig.42 , BIG parameters such as Num_BIS=2, ISO_interval=20ms, BN=2, NSE=16, BIS_Spacing=0.594ms, Sub_Interval=1.188ms, =PTO 0, and IRC=8 can be set for BIS transmission. Through the BIG parameters, the first time interval 4202 for BIS audio transmission can include a total of eight sub-event groups and can be configured to occupy 92.29% of the ISO interval. The electronic device 101 can divide the first time interval 4202 including a total of eight sub-event groups into a second time interval 4204 including five sub-event groups (e.g., sub-event group 4204a) and a third time interval 4206 including three sub-event groups (e.g., sub-event group 4206a).
[0386] In an embodiment, the second time interval 4204 may correspond to a first priority having a relatively high value, and the third time interval 4206 may correspond to a second priority having a relatively low value. Although not shown, in an embodiment, the third time interval 4206 may include at least one sub-event group carrying data related to a future BIS event specified by the PTO. The first priority assigned to the second time interval 4204 may be higher than, for example, the priority of Wi-Fi CoEX and / or Bluetooth concurrent operations. The second priority assigned to the third time interval 4206 may be lower than, for example, the priority of Wi-Fi CoEX and / or Bluetooth concurrent operations.
[0387] Fig.43 is a view illustrating an operation of executing a communication task having a higher priority according to an embodiment of the present disclosure.
[0388] refer to Fig.43 , a first time interval 4302 for BIS audio transmission according to the BIG parameters specified for BIS transmission may include a total of eight sub-event groups and may occupy 92.29% of the ISO interval. The electronic device 101 may divide the first time interval 4302 including a total of eight sub-event groups into a second time interval 4304 corresponding to five sub-event groups (e.g., sub-event group 4304a) and a third time interval 4306 corresponding to three sub-event groups.
[0389] When recognizing that a task (e.g., Wi-Fi CoEX or Bluetooth concurrent operation) other than BIS audio transmission (e.g., BIS task) is scheduled at the same time as BIS audio transmission, the electronic device 101 may first execute the task with a higher priority (e.g., BIS task or other task). For example, when Wi-Fi CoEX (e.g., Wi-Fi data transmission 4308) having a higher priority than the second priority is scheduled in the third time interval 4306 designated for transmitting BIS audio having a lower priority (e.g., the second priority), the electronic device 101 may compare the priority of the Wi-Fi data transmission 4308 with the second priority, and may execute the Wi-Fi data transmission 4308 having a higher priority in the third time interval 4306. BIS tasks (e.g., retransmission of R0 and L1, or transmission of future BIS audio (e.g., R2, L2, R3, and L3) scheduled to be executed in the third time interval 4306) may be omitted or delayed until the next BIS event (e.g., BIS event k+1). In an embodiment, the electronic device 101 may determine that Wi-Fi CoEX is scheduled by recognizing that Wi-Fi data of Wi-Fi CoEX is stored in the task queue before the third time interval 4306 .
[0390] According to an embodiment of the present disclosure, an electronic device and an operating method thereof can optimize the use of resources by a source electronic device, and consider Bluetooth concurrent operations or Wi-Fi coexistence operations and other operations to ensure the reception timing of a host electronic device when providing audio services using Bluetooth Low Energy (BLE), thereby performing other communication tasks while maintaining the success rate of receiving audio data.
[0391] According to an embodiment, the electronic device 101 may include a communication circuit 192 and at least one processor 120. The at least one processor may be configured to determine a first resource 1708, 1804, 1812, 4202, or 4302 that can be used for an audio service in at least one audio communication link 506 and 508. The at least one processor may be configured to determine a second resource 1710, 1806, 1814, 4204, or 4304 of a first priority in the first resource and a third resource 1712, 1808, 1816, 4206, or 4306 of a second priority lower than the first priority. The at least one processor may be configured to provide an audio service to at least one external electronic device 202 or 204 through the communication circuit using at least one of the second resource or the third resource through at least one audio communication link.
[0392] In an embodiment, the at least one processor may be configured to allocate the second resource to a first communication task having a first priority, and allocate the third resource to a second communication task having a second priority.
[0393] In an embodiment, at least one processor may be configured to detect that a first communication task 4308 using a frequency band corresponding to a frequency band of at least one audio communication link is scheduled while providing an audio service, identify that a third priority assigned to the first communication task is higher than the second priority, and based on identifying that the third priority assigned to the first communication task is higher than the second priority, perform the first communication task using a third resource through a communication circuit.
[0394] In an embodiment, the first communication task may include at least one of a Bluetooth concurrent operation or a Wi-Fi coexistence operation.
[0395] In an embodiment, the Bluetooth concurrent operation may include at least one of Bluetooth inquiry, Bluetooth inquiry scan, Bluetooth paging, Bluetooth paging scan, BLE scan, BLE advertisement, maintaining Bluetooth connection, maintaining BLE connection or channel scan.
[0396] In an embodiment, the first resource may include a first time period corresponding to a plurality of sub-events allocated to the audio service for a time period corresponding to an event on the at least one audio communication link. The second resource may include a second time period corresponding to at least one first sub-event that is guaranteed to be used for the audio service in the first time period. The third resource may include a third time period corresponding to at least one remaining second sub-event of the first time period except for the at least one first sub-event.
[0397] In an embodiment, the at least one first sub-event may include at least one sub-event for initial transmission of an audio data packet.The at least one second sub-event may include at least one sub-event for retransmission of the audio data packet.
[0398] In an embodiment, the at least one first sub-event may include at least one sub-event 4108 and 4110 for initial transmission of an audio data packet. The at least one second sub-event may include at least one of at least one sub-event for retransmission of an audio data packet or at least one sub-event for transmission of a future audio data packet.
[0399] In an embodiment, the at least one processor may be configured to determine a number of sub-events corresponding to a first resource of an event for the at least one audio communication link, and to determine a number of first sub-events corresponding to the second resource and a number of second sub-events corresponding to the third resource.
[0400] In an embodiment, the at least one processor may be configured to determine the first sub-event corresponding to the second resource according to a specified time ratio or a specified number of sub-events.
[0401] In an embodiment, at least one processor may be configured to omit or delay the audio communication task having the second priority scheduled in the third resource based on the third priority being higher than the second priority.
[0402] In an embodiment, the at least one processor may be configured to execute, through the second resource, an audio communication task having a first priority that is scheduled in the second resource.
[0403] In an embodiment, at least one processor may be configured to perform the first communication task using a fourth resource in addition to the second resource and the third resource based on the third priority being lower than the second priority.
[0404] In an embodiment, the at least one audio communication link may include a first connected isochronous stream (CIS) link using a first CIS event and a second CIS link using a second CIS event, and at least some sub-events of the first CIS event may overlap with at least some sub-events of the second CIS event. The second resource may include a time period corresponding to at least some sub-events of the second CIS event that overlap with the at least some sub-events of the first CIS event. The third resource may include a time period corresponding to the remaining events of the second CIS event or at least one of the at least some sub-events of the second CIS event, the remaining events of the second CIS event overlap with the at least some sub-events of the first CIS event, and at least some sub-events of the second CIS event do not overlap with the first CIS event.
[0405] According to an embodiment, the electronic device 101 may include a communication circuit 190 and at least one processor 120. At least one processor may be configured to perform a scanning operation to search for nearby Bluetooth devices based on BLE. At least one processor may be configured to receive a notification packet from a first external electronic device via BLE scanning, and create (or establish) a first LE communication link with the first external electronic device. At least one processor may be configured to receive a notification packet from a second external electronic device via BLE scanning, and create (or establish) a second LE communication link with the second external electronic device. At least one processor may be configured to output a user interface related to the first external electronic device and / or the second external electronic device through a display based on the information included in the received notification packet.
[0406] At least one processor may be configured to determine, according to a user's intention or a specified policy, to start an audio service through CIS communication with a first external electronic device and a second external electronic device, and calculate a first resource that can be used for a first CIS link with the first external electronic device and a second CIS link with the second external electronic device. The at least one processor may be configured to: divide the first resource into at least a second resource and a third resource, set a first priority for the second resource, and set a second priority with a lower priority value for the third resource.
[0407] At least one processor may be configured to create (or establish) a first CIS link with a first external electronic device, and to create (or establish) a second CIS link with a second external electronic device. The at least one processor may be configured to provide the audio service to the first external electronic device and the second external electronic device via the first CIS link and the second CIS link, respectively. At least one processor may be configured to recognize that another task that should be performed in the same frequency band as the CIS communication has occurred while providing the audio service.
[0408] At least one processor may be configured to compare the priority of the third task with the priority of the CIS task to be performed through the CIS link. At least one processor may be configured to execute a task with a higher priority. At least one processor may be configured to determine whether it is necessary to change the priority of the CIS task performed through the first CIS link and the second CIS link according to a specified rule or a specified policy when providing an audio service. At least one processor may be configured to change the value of the first priority and / or the second priority to a higher or lower value when it is determined that the priority needs to be changed.
[0409] According to an embodiment, a method for operating an electronic device 101 may include: determining (1605, 1620) a first resource 1708, 1804, 1812, 4202, or 4302 that can be used for an audio service in at least one audio communication link. The method may include: determining (1610, 1625) a second resource 1710, 1806, 1814, 4204, or 4304 of a first priority in the first resource and a third resource 1712, 1808, 1816, 4206, or 4306 of a second priority lower than the first priority. The method may include: using at least one of the second resource or the third resource to provide (1615, 1630) the audio service to at least one external electronic device through the at least one audio communication link.
[0410] In an embodiment, the method may further include: allocating the second resource to the first communication task having the first priority, and allocating the third resource to the second communication task having the second priority.
[0411] In an embodiment, the method may also include: detecting (1635) a first communication task scheduled to use the same frequency band as the at least one audio communication link while providing the audio service, identifying (1640) a third priority assigned to the first communication task that is higher than the second priority, and based on identifying (1640) that the third priority assigned to the first communication task is higher than the second priority, using the third resource to execute (1645) the first communication task.
[0412] In an embodiment, the first communication task may include at least one of a Bluetooth concurrent operation or a Wi-Fi coexistence operation.
[0413] In an embodiment, the Bluetooth concurrent operation may include at least one of Bluetooth inquiry, Bluetooth inquiry scan, Bluetooth paging, Bluetooth paging scan, BLE scan, BLE advertisement, maintaining Bluetooth connection, maintaining BLE connection or channel scan.
[0414] In an embodiment, the first resource may include a first time period corresponding to a plurality of sub-events allocated to the audio service for a time period corresponding to an event on the at least one audio communication link. The second resource may include a second time period corresponding to at least one first sub-event that is guaranteed to be used for the audio service in the first time period. The third resource may include a third time period corresponding to at least one remaining second sub-event of the first time period except for the at least one first sub-event.
[0415] In an embodiment, the at least one first sub-event may include at least one sub-event for initial transmission of an audio data packet.The at least one second sub-event may include at least one sub-event for retransmission of the audio data packet.
[0416] In an embodiment, the at least one first sub-event may include at least one sub-event 4108 and 4110 for initial transmission of an audio data packet. The at least one second sub-event may include at least one of at least one sub-event for retransmission of an audio data packet or at least one sub-event for transmission of a future audio data packet.
[0417] In an embodiment, determining the first resource may include determining a number of sub-events corresponding to a first resource of an event for the at least one audio communication link. Determining the second resource and the third resource includes determining a number of first sub-events corresponding to the second resource and a number of second sub-events corresponding to the third resource based on a specified time ratio or a specified number of sub-events.
[0418] In an embodiment, determining the second resource may include determining a first sub-event corresponding to the second resource according to a specified time ratio or a specified number of sub-events.
[0419] In an embodiment, the method may further include: omitting or delaying the audio communication task with the second priority scheduled in the third resource based on the third priority being higher than the second priority.
[0420] In an embodiment, providing the audio service may include executing, by the second resource, an audio communication task having a first priority scheduled in the second resource.
[0421] In an embodiment, the method may further include: based on the third priority being lower than the second priority, using a fourth resource other than the second resource and the third resource to perform the first communication task.
[0422] In an embodiment, the at least one audio communication link may include a first connected isochronous stream (CIS) link using a first CIS event and a second CIS link using a second CIS event, and at least some sub-events of the first CIS event may overlap with at least some sub-events of the second CIS event. The second resource may include a time period corresponding to at least some sub-events of the second CIS event that overlap with the at least some sub-events of the first CIS event. The third resource may include a time period corresponding to the remaining events of the second CIS event or at least one of the at least some sub-events of the second CIS event, the remaining events of the second CIS event overlap with the at least some sub-events of the first CIS event, and at least some sub-events of the second CIS event do not overlap with the first CIS event.
[0423] According to an embodiment, a method for operating an electronic device 101 may include: performing a scanning operation to search for nearby Bluetooth devices based on BLE. The method may include receiving a notification packet from a first external electronic device through BLE scanning, and creating (or establishing) a first LE communication link with the first external electronic device. The method may include receiving a notification packet from a second external electronic device through BLE scanning, and creating (or establishing) a second LE communication link with the second external electronic device. The method may include outputting a user interface related to the first external electronic device and / or the second external electronic device through a display based on the information included in the received notification packet.
[0424] The method may include: determining to start an audio service through CIS communication with a first external electronic device and a second external electronic device according to a user's intention or a specified policy, and calculating a first resource that can be used for a first CIS link with the first external electronic device and a second CIS link with the second external electronic device. The method may include: dividing the first resource into at least a second resource and a third resource, setting a first priority for the second resource, and setting a second priority with a lower priority value for the third resource.
[0425] The method may include: creating (or establishing) a first CIS link with a first external electronic device, and creating (or establishing) a second CIS link with a second external electronic device. The method may include: providing the audio service to the first external electronic device and the second external electronic device through the first CIS link and the second CIS link, respectively. The method may include: identifying that another task that should be performed in the same frequency band as the CIS communication has occurred while providing the audio service.
[0426] The method may include: comparing the priority of the third task with the priority of the CIS task to be executed through the CIS link. The method may include: executing the task with a higher priority. The method may include: determining whether it is necessary to change the priority of the CIS task executed through the first CIS link and the second CIS link according to a specified rule or a specified policy when providing an audio service. The method may include: when it is determined that the priority needs to be changed, changing the value of the first priority and / or the second priority to a higher or lower value.
[0427] The electronic device according to various embodiments may be one of various types of electronic devices. The electronic device may include, for example, a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a household appliance. According to an embodiment of the present disclosure, the electronic device is not limited to those electronic devices described above.
[0428] It should be understood that the various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features set forth herein to specific embodiments, but include various changes, equivalent forms or alternative forms for corresponding embodiments. For the description of the accompanying drawings, similar reference numerals may be used to refer to similar or related elements. It will be understood that the nouns in the singular form corresponding to the term may include one or more things unless the relevant context clearly indicates otherwise. As used herein, each of the phrases such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "at least one of A, B or C" may include any one or all possible combinations of the items listed together with the corresponding one of the multiple phrases. As used herein, terms such as "1st" and "2nd" or "first" and "second" may be used to simply distinguish the corresponding component from another component, and do not limit the component in other aspects (e.g., importance or order). It will be understood that if an element (e.g., a first element) is referred to as being “combined with another element (e.g., the second element)”, “combined to another element (e.g., the second element)”, “connected with another element (e.g., the second element)”, or “connected to another element (e.g., the second element)” when the terms “operably” or “communicatively” are used or when the terms “operably” or “communicatively” are not used, it means that the element may be directly (e.g., wired) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.
[0429] As used in connection with various embodiments of the present disclosure, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic," "logic block," "portion," or "circuit"). A module may be a single integrated component adapted to perform one or more functions or a minimum unit or portion of the single integrated component. For example, according to an embodiment, a module may be implemented in the form of an application specific integrated circuit (ASIC).
[0430] The various embodiments described herein may be implemented as software (e.g., program 140) including one or more instructions stored in a storage medium (e.g., internal memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). For example, under the control of a processor, a processor (e.g., processor 120) of the machine (e.g., electronic device 101) may call at least one of the one or more instructions stored in the storage medium and execute the at least one instruction with or without the use of one or more other components. This enables the machine to operate to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code that can be run by an interpreter. A machine-readable storage medium may be provided in the form of a non-transitory storage medium. Among them, the term "non-transitory" only means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but the term does not distinguish between data being semi-permanently stored in a storage medium and data being temporarily stored in a storage medium.
[0431] According to an embodiment, the method according to various embodiments of the present disclosure may be included and provided in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be published in the form of a machine-readable storage medium (e.g., a compact disk read-only memory (CD-ROM)), or may be published online (e.g., downloaded or uploaded) via an application store (e.g., Play StoreTM), or may be distributed (e.g., downloaded or uploaded) directly between two user devices (e.g., smart phones). If published online, at least part of the computer program product may be temporarily generated, or at least part of the computer program product may be at least temporarily stored in a machine-readable storage medium (such as a manufacturer's server, an application store's server, or a memory of a forwarding server).
[0432] According to various embodiments, each component (e.g., module or program) in the above-mentioned components may include a single entity or multiple entities, and some entities in the multiple entities may be separately arranged in different components. According to various embodiments, one or more components in the above-mentioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform the one or more functions of each component in the multiple components in the same or similar manner as the corresponding one component in the multiple components before integration. According to various embodiments, the operations performed by a module, program or another component may be performed sequentially, in parallel, repeatedly or in a heuristic manner, or one or more operations in the operations may be run or omitted in different orders, or one or more other operations may be added.
[0433] Since many features (except for those in the independent claims) are only optional, the features of the preferred embodiments have been described in conjunction with "maybe". However, the preferred embodiments should be understood to be disclosed as specific preferred combinations shown in the drawings, and thus the features shown in the drawings should be understood as the true preferred combination of the invention, which however does not limit the scope of the invention.
Claims
1. An electronic device (101), comprising: Communications circuit (192); as well as at least one processor (120) operably coupled to the communication circuitry, Wherein, the at least one processor is configured to: determining (1605, 1620) a first resource (1708, 1804, 1812, 4202, 4302) of at least one audio communication link (506, 508) that is available for an audio service, determining (1610, 1625) a second resource (1710, 1806, 1814, 4204, 4304) of a first priority among the first resources and a third resource (1712, 1808, 1816, 4206, 4306) of a second priority lower than the first priority, and The audio service is provided (1615, 1630) to at least one external electronic device (202, 204) through the at least one audio communication link using at least one of the second resource or the third resource through the communication circuit.
2. The electronic device according to claim 1, wherein: The at least one processor is configured to: detecting (1635) a first communication task scheduled to use a frequency band corresponding to a frequency band of the at least one audio communication link while providing the audio service, identifying (1640) that a third priority assigned to the first communication task is higher than the second priority, and Based on identifying (1640) that the third priority assigned to the first communication task is higher than the second priority, performing (1645) the first communication task using the third resource via the communication circuit.
3. The electronic device according to claim 2, wherein: The first communication task includes at least one of a Bluetooth concurrent operation or a Wi-Fi coexistence operation, wherein the Bluetooth concurrent operation includes at least one of a Bluetooth inquiry, a Bluetooth inquiry scan, a Bluetooth paging, a Bluetooth paging scan, a BLE scan, a BLE notification, maintaining a Bluetooth connection, maintaining a BLE connection, or a channel scan.
4. The electronic device according to any one of claims 1 to 3, wherein: The first resource includes a first time period corresponding to a plurality of sub-events allocated for the audio service for a time period corresponding to an event on the at least one audio communication link, The second resource includes a second time period, the second time period corresponds to at least one first sub-event that is guaranteed to be used for the audio service in the first time period, and The third resource includes a third time period, and the third time period corresponds to at least one remaining second sub-event of the first time period except for the at least one first sub-event.
5. The electronic device according to claim 4, wherein: The at least one first sub-event includes at least one sub-event for initial transmission of an audio data packet, and the at least one second sub-event includes at least one sub-event for retransmission of the audio data packet.
6. The electronic device according to claim 4, wherein: The at least one first sub-event includes at least one sub-event (4108, 4110) for initial transmission of an audio data packet, and the at least one second sub-event includes at least one sub-event for retransmission of an audio data packet or at least one sub-event for transmission of a future audio data packet.
7. The electronic device according to any one of claims 1 to 6, wherein: The at least one processor is configured to, determining a number of sub-events corresponding to a first resource of an event for the at least one audio communication link, and The number of first sub-events corresponding to the second resource and the number of second sub-events corresponding to the third resource are determined according to a specified time ratio or a specified number of sub-events.
8. The electronic device according to claim 2, wherein: The at least one processor is configured to omit or delay the audio communication task having the second priority scheduled in the third resource based on the third priority being higher than the second priority.
9. The electronic device according to claim 2, wherein: The at least one processor is configured to perform the first communication task using a fourth resource other than the second resource and the third resource based on a third priority being lower than the second priority.
10. The electronic device according to any one of claims 1 to 4, in, The at least one audio communication link comprises a first CIS link using a first connected isochronous stream CIS event and a second CIS link using a second CIS event, at least some sub-events of the first CIS event overlap with at least some sub-events of the second CIS event, wherein the second resource includes a time period corresponding to the at least some sub-events of the second CIS event overlapping with the at least some sub-events of the first CIS event, and The third resource includes a time period corresponding to the remaining events of the second CIS event or at least one of at least some sub-events of the second CIS event, the remaining events of the second CIS event overlap with the at least some sub-events of the first CIS event, and at least some sub-events of the second CIS event do not overlap with the first CIS event.
11. A method for operating an electronic device (101), the method comprising: determining (1605, 1620) a first resource (1708, 1804, 1812, 4202, 4302) in at least one audio communication link that is available for an audio service, determining (1610, 1625) a second resource (1710, 1806, 1814, 4204, 4304) of a first priority among the first resources and a third resource (1712, 1808, 1816, 4206, 4306) of a second priority lower than the first priority, and The audio service is provided (1615, 1630) to at least one external electronic device (202, 204) through the at least one audio communication link using at least one of the second resource or the third resource.
12. The method according to claim 11, further comprising: detecting (1635) a first communication task scheduled to use the same frequency band as the frequency band of the at least one audio communication link while providing the audio service, identifying (1640) that a third priority assigned to the first communication task is higher than the second priority, and Based on identifying (1640) that the third priority assigned to the first communication task is higher than the second priority, the first communication task is performed (1645) by the third resource.
13. The method according to claim 12, wherein: The first communication task includes at least one of a Bluetooth concurrent operation or a Wi-Fi coexistence operation, and The Bluetooth concurrent operation includes at least one of Bluetooth inquiry, Bluetooth inquiry scanning, Bluetooth paging, Bluetooth paging scanning, BLE scanning, BLE notification, maintaining Bluetooth connection, maintaining BLE connection or channel scanning.
14. The method according to any one of claims 11 to 13, wherein: The first resource includes a first time period corresponding to a plurality of sub-events allocated for the audio service for a time period corresponding to an event on the at least one audio communication link, The second resource includes a second time period, the second time period corresponds to at least one first sub-event that is guaranteed to be used for the audio service in the first time period, and The third resource includes a third time period, and the third time period corresponds to at least one remaining second sub-event of the first time period except for the at least one first sub-event. wherein the at least one first sub-event comprises at least one sub-event for initial transmission of an audio data packet, and the at least one second sub-event comprises at least one sub-event for retransmission of the audio data packet, or Wherein, the at least one first sub-event includes at least one sub-event (4108, 4110) for initial transmission of an audio data packet, and the at least one second sub-event includes at least one sub-event for retransmission of an audio data packet or at least one sub-event for transmission of a future audio data packet.
15. The method according to any one of claims 11 to 14, wherein: Determining the first resource includes determining a number of sub-events corresponding to a first resource of an event for the at least one audio communication link, and The determining of the second resource and the third resource comprises: determining the number of first sub-events corresponding to the second resource and the number of second sub-events corresponding to the third resource according to a specified time ratio or a specified number of sub-events.