Electronic device for providing audio service, and operating method thereof
The electronic device's ability to manage broadcast isochronous groups and streams within the Bluetooth-based multi-party audio service addresses the scalability issues of existing technologies, ensuring efficient and uninterrupted audio service as the number of participants grows.
Patent Information
- Application Number
- PCT/KR2024/017986
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-25
- Filing Date
- 2024-11-14
- Publication Date
- 2025-05-22
AI Technical Summary
Existing Bluetooth-based multi-party audio services face challenges in scalability, as the number of links required between devices increases exponentially, leading to difficulties and potential failures in providing the service.
An electronic device equipped with communication circuitry, processors, and memory, capable of receiving and storing information related to a broadcast isochronous group (BIG), performing synchronization operations for broadcast isochronous streams (BIS) based on BIG information, and detecting asynchronous events to maintain audio data reception.
The proposed solution enables efficient and scalable multi-party audio services by reducing the complexity of link establishment, allowing an arbitrary number of devices to participate without service interruption, and minimizing audio data loss due to asynchronous events.
Smart Images

Figure KR2024017986_22052025_PF_FP_ABST
Abstract
Description
Electronic device providing audio service and method of operation thereof
[0001] The present disclosure relates to an electronic device providing audio service and an operating method thereof.
[0002] With the recent advancement of information and communication technology, various wireless communication technologies and services are being developed. In particular, Bluetooth, a short-range communication method, is actively used, and electronic devices utilizing Bluetooth are also widely used. In particular, a pair of earbuds, each worn on the user's ear, are widely used as ear-wearable devices. Ear-wearable devices can provide various functions. For example, ear-wearable devices can input and confirm the user's voice using a microphone, transmit audio data related to the user's voice to an electronic device (e.g., a smartphone), and output audio data received from the electronic device using a speaker.
[0003] The Bluetooth method may include the Bluetooth legacy (or Bluetooth classic) method and / or the Bluetooth low energy (BLE) method. A first external electronic device (e.g., an ear wearable device) that provides a low energy audio (LE Audio) service based on the BLE method can independently establish a communication link with an electronic device (e.g., a smartphone) and transmit and receive data with the external electronic device through the established communication link.
[0004] Audio services based on the BLE method can be provided through a connection-based connected isochronous stream (CIS) or a non-connection-based broadcast isochronous stream (BIS). When a multi-party audio service is provided through CIS, all electronic devices participating in the multi-party audio service establish BLE links with each other and establish CISs based on the established BLE links. As the number of electronic devices participating in a CIS-based multi-party audio service increases, the number of links that need to be established between the electronic devices participating in the CIS-based multi-party audio service may increase exponentially, and this exponential increase in the number of links may not only make it difficult to provide a CIS-based multi-party audio service, but may also make it impossible to provide a CIS-based multi-party audio service.
[0005] In contrast, when a multi-party audio service is provided through BIS, there is no limit to the number of electronic devices participating in the multi-party audio service, and thus, the audio service can be provided normally even if the number of electronic devices participating in the multi-party audio service increases exponentially.
[0006] According to one embodiment of the present disclosure, an electronic device (101; 200) may include communication circuitry (190; 302), one or more processors (120; 304) including processing circuitry, and a memory (130; 306) storing instructions.
[0007] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive, through the communication circuit, information related to a broadcast isochronous group (BIG) from an external electronic device (210).
[0008] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to store information related to the BIG in the memory.
[0009] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for at least one broadcast isochronous stream (BIS) provided by the external electronic device through the communication circuitry based on information related to the BIG.
[0010] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive audio data through the at least one BIS via the communication circuit.
[0011] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to detect a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0012] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS based on the BIG asynchronous event, through the communication circuit, based on information related to the stored BIG.
[0013] According to one embodiment of the present disclosure, an electronic device (200) may include a communication circuit (302), one or more processors (304) including processing circuitry, and a memory (306) storing instructions.
[0014] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to establish a connection with a first external electronic device (101) via the communication circuit.
[0015] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive information about a second external electronic device (210) from the first external electronic device via the communication circuit.
[0016] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive, through the communication circuit, information related to BIG from the second external electronic device based on information about the second external electronic device.
[0017] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to store information related to the BIG in the memory.
[0018] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for at least one BIS provided by the second external electronic device through the communication circuit based on information related to the BIG.
[0019] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive audio data through the at least one BIS via the communication circuit.
[0020] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to detect a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0021] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS based on the BIG asynchronous event, through the communication circuit, based on information related to the stored BIG.
[0022] According to one embodiment of the present disclosure, a method of an electronic device (101; 200) may include an operation of receiving information related to BIG from an external electronic device (210).
[0023] According to one embodiment of the present disclosure, the method may include an operation of storing information related to the BIG.
[0024] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for at least one BIS provided by the external electronic device based on information related to the BIG.
[0025] According to one embodiment of the present disclosure, the method may include an operation of receiving audio data via the at least one BIS.
[0026] According to one embodiment of the present disclosure, the method may include an operation of detecting a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0027] According to one embodiment of the present disclosure, the method may include an operation of performing a synchronization operation for the at least one BIS based on the stored information related to the BIG, based on the BIG asynchronous event.
[0028] According to one embodiment of the present disclosure, the method may include an operation of establishing a connection with a first external electronic device (101).
[0029] According to one embodiment of the present disclosure, the method may include an operation of receiving information about a second external electronic device (210) from the first external electronic device.
[0030] According to one embodiment of the present disclosure, the method may include an operation of receiving information related to BIG from the second external electronic device based on information about the second external electronic device.
[0031] According to one embodiment of the present disclosure, the method may include an operation of storing information related to the BIG.
[0032] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for at least one BIS provided by the second external electronic device based on information related to the BIG.
[0033] According to one embodiment of the present disclosure, the method may include an operation of receiving audio data via the at least one BIS.
[0034] According to one embodiment of the present disclosure, the method may include an operation of detecting a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0035] According to one embodiment of the present disclosure, the method may include an operation of performing a synchronization operation for the at least one BIS based on the stored information related to the BIG, based on the BIG asynchronous event.
[0036] According to one embodiment of the present disclosure, a storage medium storing at least one computer-readable instruction may be provided.
[0037] According to one embodiment of the present disclosure, the at least one instruction, when executed by one or more processors (120; 304) including processing circuitry of the electronic device (101; 200), may cause the electronic device to perform at least one operation.
[0038] According to one embodiment of the present disclosure, the at least one operation may include an operation of receiving information related to BIG from an external electronic device (210).
[0039] According to one embodiment of the present disclosure, the at least one operation may include an operation of storing information related to the BIG.
[0040] According to one embodiment of the present disclosure, the at least one operation may include performing a synchronization operation for at least one BIS provided by the external electronic device based on information related to the BIG.
[0041] According to one embodiment of the present disclosure, the at least one operation may include an operation of receiving audio data via the at least one BIS.
[0042] According to one embodiment of the present disclosure, the at least one operation may include detecting a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0043] According to one embodiment of the present disclosure, the at least one operation may include an operation of performing a synchronization operation for the at least one BIS based on the stored information related to the BIG, based on the BIG asynchronous event.
[0044] According to one embodiment of the present disclosure, a storage medium storing at least one computer-readable instruction may be provided.
[0045] According to one embodiment of the present disclosure, the at least one instruction, when executed by one or more processors (304) including processing circuitry of the electronic device (200), may cause the electronic device to perform at least one operation.
[0046] According to one embodiment of the present disclosure, the at least one operation may include an operation of establishing a connection with a first external electronic device (101).
[0047] According to one embodiment of the present disclosure, the at least one operation may include an operation of receiving information about a second external electronic device (210) from the first external electronic device.
[0048] According to one embodiment of the present disclosure, the at least one operation may include receiving information related to BIG from the second external electronic device based on information about the second external electronic device.
[0049] According to one embodiment of the present disclosure, the at least one operation may include an operation of storing information related to the BIG.
[0050] According to one embodiment of the present disclosure, the at least one operation may include performing a synchronization operation for at least one BIS provided by the second external electronic device based on information related to the BIG.
[0051] According to one embodiment of the present disclosure, the at least one operation may include an operation of receiving audio data via the at least one BIS.
[0052] According to one embodiment of the present disclosure, the at least one operation may include detecting a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0053] According to one embodiment of the present disclosure, the at least one operation may include an operation of performing a synchronization operation for the at least one BIS based on the stored information related to the BIG, based on the BIG asynchronous event.
[0054] FIG. 1 is a block diagram schematically illustrating an electronic device within a network environment according to one embodiment.
[0055] FIG. 2 is a schematic diagram illustrating connections between electronic devices based on the Bluetooth method in a wireless communication network according to one embodiment.
[0056] FIG. 3 is a block diagram schematically illustrating an external electronic device in a wireless communication network according to one embodiment.
[0057] FIG. 4 is a diagram schematically illustrating the configuration of BIG events and BIS events in a wireless communication network according to one embodiment.
[0058] FIG. 5 is a flowchart schematically illustrating a method of operating an electronic device according to one embodiment.
[0059] FIG. 6 is a flowchart schematically illustrating a method of operating a first external electronic device according to one embodiment.
[0060] FIG. 7 is a diagram illustrating a PA operation performed by a second external electronic device according to one embodiment.
[0061] Figure 8 is a diagram illustrating the format of BIGInfo.
[0062] Figure 9 is a diagram for explaining the time reference of a BIG event from a PA event.
[0063] FIG. 10 is a signal flow diagram illustrating an operation of synchronizing a first external electronic device with a BIS of a second external electronic device according to one embodiment.
[0064] FIG. 11 is a diagram illustrating an event that causes a loss of synchronization for a BIS according to one embodiment.
[0065] FIG. 12 is a flowchart schematically illustrating a method of operating an electronic device according to one embodiment.
[0066] Hereinafter, an embodiment of the present disclosure will be described in detail with reference to the attached drawings. In addition, when describing an embodiment of the present disclosure, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the gist of an embodiment of the present disclosure, such detailed description will be omitted. In addition, the terms described below are terms defined in consideration of the functions in an embodiment of the present disclosure, and these may vary depending on the intention or custom of the user or operator. Therefore, the definitions should be made based on the contents throughout this specification.
[0067] It should be noted that the technical terms used in this specification are merely used to describe specific embodiments and are not intended to limit the embodiments of the present disclosure. Alternatively, unless specifically defined otherwise herein, the technical terms used in this specification should be interpreted as having a meaning generally understood by a person skilled in the art to which the present disclosure pertains, and should not be interpreted in an excessively broad or narrow sense. Alternatively, if a technical term used in this specification is an incorrect technical term that does not accurately express the spirit of the present disclosure, it should be replaced with a technical term that can be correctly understood by a person skilled in the art. Alternatively, general terms used in the embodiments of the present disclosure should be interpreted as defined in the dictionary or according to the context, and should not be interpreted in an excessively narrow sense.
[0068] Alternatively, the singular expressions used herein include plural expressions unless the context clearly dictates otherwise. In this application, terms such as "consist of" or "comprises" should not be construed to necessarily include all of the various components or various operations described in the specification, and should be construed to mean that some of the components or some of the operations may not be included, or that additional components or operations may be included.
[0069] Alternatively, terms including ordinal numbers, such as "first," "second," etc., used herein may be used to describe various components, but the components should not be limited by these terms. These terms are used solely to distinguish one component from another. For example, without departing from the scope of the present disclosure, a first component could be referred to as a "second component," and similarly, a second component could also be referred to as a "first component."
[0070] When a component is referred to as being "connected" or "connected" to another component, it may be directly connected or connected to that other component, but there may also be other components intervening. Conversely, when a component is referred to as being "directly connected" or "connected" to another component, it should be understood that there are no other components intervening.
[0071] Hereinafter, an embodiment of the present disclosure will be described in detail with reference to the attached drawings. Regardless of the drawing numbers, identical or similar components will be given the same reference numbers and redundant descriptions thereof will be omitted. Alternatively, when describing an embodiment of the present disclosure, if a detailed description of a related known technology is determined to obscure the gist of the present disclosure, the detailed description thereof will be omitted. Alternatively, it should be noted that the attached drawings are only intended to facilitate easy understanding of the spirit of the present disclosure and should not be construed as limiting the spirit of the present disclosure by the attached drawings. The spirit of the present disclosure should be construed to extend to all modifications, equivalents, and substitutes other than the attached drawings.
[0072] Hereinafter, an embodiment of the present disclosure will describe an electronic device, but the electronic device may be referred to as a terminal, a mobile station, mobile equipment (ME), user equipment (UE), user terminal (UT), subscriber station (SS), wireless device, handheld device, or access terminal (AT). Alternatively, in an embodiment of the present disclosure, the electronic device may be a device having a communication function, such as a mobile phone, a personal digital assistant (PDA), a smartphone, a wireless MODEM, or a laptop.
[0073] Alternatively, in specifically describing one embodiment of the present disclosure, reference will be made to the Bluetooth standard defined by the Bluetooth SIG (special interest group), but the main gist of the present disclosure can be applied to other communication systems having similar technical backgrounds with slight modifications within a range that does not significantly deviate from the scope of the present disclosure, and this will be possible at the discretion of a person skilled in the art of the present disclosure.
[0074] FIG. 1 is a block diagram schematically illustrating an electronic device (101) within a network environment (100) according to one embodiment.
[0075] Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio 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 subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0076] The processor (120) may control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) by executing, for example, software (e.g., a program (140)), and may perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculation, the processor (120) may store a command or data received from another component (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the command or data stored in the volatile memory (132), and store the resulting data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0077] The auxiliary processor (123) may control at least a part of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing device) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, in the electronic device (101) itself where artificial intelligence is performed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of 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), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0078] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).
[0079] The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0080] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0081] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. According to one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0082] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0083] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0084] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0085] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0086] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0087] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0088] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0089] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
[0090] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0091] The communication module (190) may support the establishment of 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 the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one 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 module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, Wi-Fi (wireless fidelity) direct, or IrDA (infrared data association)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as a plurality of separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0092] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0093] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one 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 method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the selected at least one antenna. According to some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0094] In one embodiment, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
[0095] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0096] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In one 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 a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0097] Electronic devices according to embodiments disclosed herein may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to embodiments disclosed herein are not limited to the aforementioned devices.
[0098] The embodiments of this document and the terminology used herein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "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" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another component (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0099] The term "module" used in one embodiment of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0100] An embodiment of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0101] According to one embodiment, the method according to one embodiment disclosed in the present document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be available through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smartphones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0102] According to one embodiment, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to one embodiment, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to one embodiment, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0103] FIG. 2 is a schematic diagram illustrating connections between electronic devices based on the Bluetooth method in a wireless communication network according to one embodiment.
[0104] Referring to FIG. 2, an electronic device (101) (e.g., the electronic device (101) of FIG. 1) may be connected wirelessly and / or wiredly to a plurality of external electronic devices. The plurality of external electronic devices (e.g., the electronic device (102) or the electronic device (104) of FIG. 1) may include a first external electronic device (200) and / or a second external electronic device (210).
[0105] For example, the electronic device (101) may be a smartphone. The first external electronic device (200) may be an ear-wearable device and / or a speaker. The first external electronic device (200) may include a first earbud (e.g., a left earbud) and / or a second earbud (e.g., a right earbud). The second external electronic device (210) may be a TV or another smartphone.
[0106] In one embodiment, the electronic device (101), the first external electronic device (200), and / or the second external electronic device (210) may provide an audio service based on a Bluetooth method. In one embodiment, the Bluetooth method may include a Bluetooth legacy (or Bluetooth classic) method and / or a Bluetooth low energy (BLE) method.
[0107] According to one embodiment, the electronic device (101) and the first external electronic device (200) may establish a connection (e.g., a communication link) with each other and transmit and / or receive data with each other through the established connection. For example, the electronic device (101) and the first external electronic device (200) may establish a communication link based on at least one of a Wi-Fi method and / or a Bluetooth method, but this does not mean that the method by which the electronic device (101) and the first external electronic device (200) establish a communication link is limited to at least one of a Wi-Fi method and / or a Bluetooth method.
[0108] According to one embodiment, the electronic device (101) may act as a broadcast assistant device and may discover data describing audio capabilities, a broadcast audio stream, and / or a configuration of a broadcast audio stream of the first external electronic device (200) transmitted by the first external electronic device (200). According to one embodiment, the electronic device (101) may perform a scan operation to obtain synchronization information (SyncInfo) included in an AUX_ADV_IND protocol data unit (PDU) transmitted based on extended advertising (EA) performed by the first external electronic device (200). The electronic device (101) may check audio capabilities through periodic advertising (PA) performed by the first external electronic device (200) based on the obtained SyncInfo.
[0109] In one embodiment, the first external electronic device (200) can operate as a broadcast sink device and a scan delegator device. The first external electronic device (200) can be connected to the electronic device (101) or can be synchronized with the electronic device (101) to provide an audio service. In one embodiment, the scan delegator device can delegate scan-related operations to a broadcast assistant device, and the broadcast assistant device can provide the scan delegator with information about a broadcast source device to scan and receive on behalf of the scan delegator device and a broadcast code.
[0110] A first external electronic device (200) can be synchronized with a second external electronic device (210) that operates as a broadcast source device. The first external electronic device (200) can discover or receive data describing the configuration of a broadcast audio stream and / or the broadcast audio stream. The first external electronic device (200) can transmit (e.g., broadcast) audio capabilities. The first external electronic device (200) can request an electronic device (101) that operates as a broadcast assistant device to perform a scan operation on behalf of the first external electronic device (200). The first external electronic device (200) can receive data from the electronic device (101) that the electronic device (101) scanned on behalf of the first external electronic device (200).
[0111] In one embodiment, the second external electronic device (210) can operate as a broadcast source device. In one embodiment, the broadcast source device can be a device that transmits (e.g., broadcasts) a broadcast isochronous stream (BIS). In one embodiment, the broadcast source device can generate a broadcast isochronous group (BIG) including a plurality of (e.g., N) BISs. The broadcast source device can transmit a plurality of audio channel signals through the plurality of BISs, and each BIS can be assigned a BIS index. The broadcast source device can advertise information related to the BISs included in the BIG. In one embodiment, the broadcast source device can advertise information related to the BIG and the BISs through periodic advertising (PA).
[0112] The electronic device (101) can operate as a broadcast assistant device. In one embodiment, the broadcast assistant device can monitor information related to BISs transmitted from a broadcast source device. In one embodiment, the broadcast assistant device can receive a PDU according to a PA performed by the broadcast source device based on a set cycle and check information related to BISs transmitted from the broadcast source device. In one embodiment, the broadcast assistant device can determine a BIS to be received from at least one of a plurality of broadcast sink devices connected to the broadcast assistant device based on the monitored information. The broadcast assistant device can receive the BIS determined by the broadcast assistant device from the broadcast sink device and transmit the determined BIS index to the broadcast sink device so that audio data of an audio channel corresponding to the received BIS can be output. In one embodiment, the electronic device (101) broadcasts control information including an index of a broadcast sink device and a BIS index determined for the broadcast sink device through periodic advertising, and the broadcast sink device can receive the control information broadcast by the electronic device (101) and receive a BIS corresponding to the BIS index determined by the electronic device (101). In one embodiment, the broadcast assistant device can transmit the determined BIS index to the broadcast sink device through a connection (e.g., a communication link) established between the broadcast assistant device and the broadcast sink device. In one embodiment, the broadcast assistant device can also change the BIS determined for at least one of the plurality of broadcast sink devices.The broadcast assistant device can receive a BIS index changed by the broadcast assistant device from the broadcast sink device, and transmit the changed BIS index to the broadcast sink device so as to output audio data of an audio channel corresponding to the received BIS index.
[0113] In one embodiment, the first external electronic device (200) can operate as a broadcast sink device. The broadcast sink device can receive BISs transmitted from a broadcast source device. According to one embodiment, the broadcast sink device can receive a BIS determined by a broadcast assistant device among the BISs transmitted from the broadcast source device, and output audio data of an audio channel corresponding to the received BIS. The broadcast sink device can receive a BIS index corresponding to the BIS to be received by the broadcast sink device from the broadcast assistant device through a connection (e.g., a communication link) established between the broadcast sink device and the broadcast assistant device. The broadcast sink device can receive the BIS corresponding to the BIS index received from the broadcast assistant device, and while outputting audio data of an audio channel corresponding to the received BIS, can determine from the broadcast assistant device that the BIS to be received by the broadcast sink device has changed. The broadcast sink device can receive a changed BIS index that the sink device needs to receive from the broadcast assistant device while outputting audio data, and can receive a BIS corresponding to the changed BIS index.
[0114] In FIG. 2, an example is described in which the second external electronic device (210) operates as a broadcast source device and the electronic device (101) operates as a broadcast assistant device. However, the electronic device (101) may operate as a broadcast source device while also operating as a broadcast assistance device.
[0115] The first external electronic device (200) can receive a corresponding BIS based on information broadcast through periodic advertising from the electronic device (101) and output audio data of the received BIS.
[0116] In FIG. 2, a case in which an electronic device (101) and a first external electronic device (200) establish a connection is described as an example, but the electronic device (101) can establish a connection not only with the first external electronic device (200) but also with at least one other external electronic device.
[0117] FIG. 3 is a block diagram schematically illustrating an external electronic device in a wireless communication network according to one embodiment.
[0118] Referring to FIG. 3, a first external electronic device (200) (e.g., the electronic device (104) of FIG. 1 or the first external electronic device (200) of FIG. 2) may be a device that implements a Bluetooth method (e.g., the Bluetooth legacy method and / or the BLE method). The external electronic device (200) may include a communication circuit (302) that transmits and receives signals using one or more antennas (301) with an electronic device (e.g., the electronic device (101) of FIG. 1 or 2), for example, a peer device and / or another external electronic device (e.g., the second external electronic device (210) of FIG. 2).
[0119] The first external electronic device (200) may include a processor (304) that may be implemented as one or more single-core processors or one or more multi-core processors, and a memory (306) that stores instructions for the operation of the first external electronic device (300).
[0120] The first external electronic device (200) may include an interface (308) that provides a wired and / or wireless interface for communicating with components outside the network.
[0121] According to one embodiment, the first external electronic device (300) may include a plurality of communication circuits, one of the plurality of communication circuits may be a communication circuit based on a Wi-Fi method, and another of the plurality of communication circuits may be a communication circuit based on a Bluetooth method, for example, a BLE method. According to one embodiment, the plurality of communication circuits may include a communication circuit (302), and the communication circuit (302) may be a communication circuit based on a Wi-Fi method or a communication circuit based on a BLE method.
[0122] According to one embodiment, the first external electronic device (200) may not separately include a communication circuit based on Wi-Fi and a communication circuit based on BLE, but may include a single communication circuit capable of supporting both Wi-Fi and BLE. According to one embodiment, the single communication circuit capable of supporting both Wi-Fi and BLE may be the communication circuit (302).
[0123] According to one embodiment, the first external electronic device (200) may include a sensor (310), and the sensor (310) may detect an operating state (e.g., power or temperature) or an external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor (310) may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, and / or an illuminance sensor. According to one embodiment, the sensor (310) may detect a state corresponding to a user input.
[0124] The Bluetooth method may include the Bluetooth legacy (or Bluetooth classic) method and / or the Bluetooth low energy (BLE) method. An electronic device (e.g., the electronic device (101) of FIG. 1 or FIG. 2) (e.g., a smartphone) that provides an audio service based on the BLE method can independently establish a connection (e.g., a communication link) with each of a plurality of external electronic devices (e.g., the electronic device (102) or the electronic device (104) of FIG. 1, the first external electronic device (211) of FIG. 2, or the second external electronic device (210) of FIG. 2), and transmit and receive data with the external electronic devices through the established connection.
[0125] FIG. 4 is a diagram schematically illustrating the configuration of BIG events and BIS events in a wireless communication network according to one embodiment.
[0126] Referring to FIG. 4, each of the BIG events (e.g., BIG event x(401), BIG event x+1(403), BIG event x+2(405)) may include two BIS events. For example, BIG event x(401) may include BIS1 event x(411) and BIS2 event x(413), BIG event x+1(403) may include BIS1 event x+1(421) and BIS2 event x+1(423), and BIG event x+2(405) may include BIS1 event x+2(431) and BIS2 event x+2(433).
[0127] A BIG event may contain one or more BIS protocol data units (PDUs). The link layer may only transmit BIS PDUs in BIG events. The link layer may only transmit BIS PDUs as part of a BIG event. Each BIG event may be divided into Num_BIS BIS events and control sub-events (if any). Each BIS event may be divided into NSE sub-events. Each BIS event begins at a moment referred to as the BIS anchor point and ends after the last sub-event of the BIS event. Each BIG event begins at a moment referred to as the BIG anchor point and ends after a control sub-event, if one exists, or else ends at the end of the last constituent BIS event.
[0128] BIG anchor points can be spaced regularly at ISO_Interval intervals. The BIS anchor points for BIS n of a BIG can be (n - 1) X BIS_Spacing after the BIG anchor points, and thus spaced regularly at ISO_Interval intervals. BIS_Spacing is the time between the start of sub-events in adjacent BISs in the BIG, and can also be the time between the start of the first sub-event and the control sub-event of the last BIS. The sub-events of each BIS can be spaced apart by Sub_Interval intervals. An isochronous broadcaster can terminate each BIG event at least T_IFS before the BIG anchor point of the next BIG event. T_IFS represents the time inter frame space and can indicate the time interval between consecutive packets on the same channel index.
[0129] In BIS1 event x(411), broadcast isochronous PDU(441), broadcast isochronous PDU(443), and broadcast isochronous PDU(445) can be transmitted.
[0130] In BIS2 event x(413), broadcast isochronous PDU(451), broadcast isochronous PDU(453), and broadcast isochronous PDU(455) can be transmitted.
[0131] In BIS1 event x+1 (421), broadcast isochronous PDU (461), broadcast isochronous PDU (463), and broadcast isochronous PDU (465) can be transmitted.
[0132] In BIS2 event x+1 (423), broadcast isochronous PDU (471), broadcast isochronous PDU (473), and broadcast isochronous PDU (475) can be transmitted.
[0133] In BIS1 event x+2 (431), broadcast isochronous PDU (481), broadcast isochronous PDU (483), and broadcast isochronous PDU (485) can be transmitted.
[0134] In BIS2 event x+2 (433), broadcast isochronous PDU (491), broadcast isochronous PDU (493), and broadcast isochronous PDU (495) can be transmitted.
[0135] According to one embodiment of the present disclosure, an electronic device (101; 200) may include communication circuitry (190; 302), one or more processors (120; 304) including processing circuitry, and a memory (130; 306) for storing instructions.
[0136] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive information related to BIG from an external electronic device (210) via the communication circuit.
[0137] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to store information related to the BIG in the memory.
[0138] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for at least one BIS provided by the external electronic device through the communication circuit based on information related to the BIG.
[0139] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive audio data through the at least one BIS via the communication circuit.
[0140] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to detect a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0141] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS based on the BIG asynchronous event, through the communication circuit, based on information related to the stored BIG.
[0142] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to determine whether synchronization for the at least one BIS is successful according to a synchronization operation for the at least one BIS based on information associated with the stored BIG.
[0143] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive audio data via the at least one BIS based on determining that synchronization to the at least one BIS is successful.
[0144] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive, through the communication circuit, information related to a new BIG from the external electronic device based on determining that synchronization to the at least one BIS has failed.
[0145] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS through the communication circuitry based on information associated with the new BIG.
[0146] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to determine whether a number of synchronization operations performed by the electronic device has reached a set number of synchronization operations for the at least one BIS, based on determining that synchronization for the at least one BIS has failed.
[0147] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS based on information related to the stored BIG, through the communication circuit, based on determining that the number of synchronization operations performed by the electronic device does not reach the set number.
[0148] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive information related to a new BIG from the external electronic device through the communication circuit while performing a synchronization operation for the at least one BIS based on information related to the stored BIG, based on determining that the number of synchronization operations performed by the electronic device does not reach the set number.
[0149] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS through the communication circuitry based on information associated with the new BIG.
[0150] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive information related to a new BIG from the second external electronic device through the communication circuit based on determining that the number of synchronization operations performed by the electronic device reaches the set number.
[0151] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS through the communication circuitry based on information associated with the new BIG.
[0152] According to one embodiment of the present disclosure, the BIG asynchronous event may include at least one of an event that loses synchronization with the at least one BIS, or an event that confirms a request to stop receiving the audio data via the at least one BIS.
[0153] According to one embodiment of the present disclosure, an event of loss of synchronization for the at least one BIS may be detected when audio data is not successfully received through the at least one BIS for a set period of time.
[0154] According to one embodiment of the present disclosure, an electronic device (200) may include a communication circuit (302), one or more processors (304) including processing circuitry, and a memory (306) storing instructions.
[0155] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to establish a connection with a first external electronic device (101) via the communication circuit.
[0156] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive information about a second external electronic device (210) from the first external electronic device via the communication circuit.
[0157] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive, through the communication circuit, information related to BIG from the second external electronic device based on information about the second external electronic device.
[0158] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to store information related to the BIG in the memory.
[0159] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for at least one BIS provided by the second external electronic device through the communication circuit based on information related to the BIG.
[0160] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive audio data through the at least one BIS via the communication circuit.
[0161] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to detect a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0162] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS based on the BIG asynchronous event, through the communication circuit, based on information related to the stored BIG.
[0163] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to determine whether synchronization for the at least one BIS is successful according to a synchronization operation for the at least one BIS based on information associated with the stored BIG.
[0164] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive audio data via the at least one BIS based on determining that synchronization to the at least one BIS is successful.
[0165] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive, through the communication circuit, information related to a new BIG from the second external electronic device based on determining that synchronization to the at least one BIS has failed.
[0166] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS through the communication circuitry based on information associated with the new BIG.
[0167] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to determine whether a number of synchronization operations performed by the electronic device has reached a set number of synchronization operations for the at least one BIS, based on determining that synchronization for the at least one BIS has failed.
[0168] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS based on information related to the stored BIG, through the communication circuit, based on determining that the number of synchronization operations performed by the electronic device does not reach the set number.
[0169] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive information related to a new BIG from the second external electronic device through the communication circuit while performing a synchronization operation for the at least one BIS based on information related to the stored BIG, based on determining that the number of synchronization operations performed by the electronic device does not reach the set number.
[0170] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS through the communication circuitry based on information associated with the new BIG.
[0171] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to receive information related to a new BIG from the second external electronic device through the communication circuit based on determining that the number of synchronization operations performed by the electronic device reaches the set number.
[0172] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to perform a synchronization operation for the at least one BIS through the communication circuitry based on information associated with the new BIG.
[0173] According to one embodiment of the present disclosure, the BIG asynchronous event may include at least one of an event that loses synchronization with the at least one BIS, or an event that confirms a request to stop receiving the audio data via the at least one BIS.
[0174] According to one embodiment of the present disclosure, an event of loss of synchronization for the at least one BIS may be detected when audio data is not successfully received through the at least one BIS for a set period of time.
[0175] According to one embodiment of the present disclosure, an event confirming a request to stop receiving the audio data via the at least one BIS may be detected when information requesting to stop synchronization for the at least one BIS is received from the second external electronic device.
[0176] According to one embodiment of the present disclosure, the instructions, when individually or collectively executed by the one or more processors, may cause the electronic device to skip a synchronization operation for the at least one BIS based on information associated with the stored BIG until an event confirming a request to resume reception of the audio data via the at least one BIS is detected, when the BIG asynchronous event is an event confirming a request to stop reception of the audio data via the at least one BIS.
[0177] According to one embodiment of the present disclosure, information related to the BIG may be received via an auxiliary synchronization indication (AUX_SYNC_IND) protocol data unit (PDU).
[0178] FIG. 5 is a flowchart schematically illustrating a method of operating an electronic device according to one embodiment.
[0179] Referring to FIG. 5, an electronic device (e.g., an electronic device (101) of FIG. 1 or FIG. 2, or an electronic device (102) or an electronic device (104) of FIG. 1, or a first external electronic device (200) of FIG. 2 or FIG. 3) (e.g., a processor (120) of FIG. 1 or a processor (304) of FIG. 3) may, in operation 511, receive information related to BIG from an external electronic device (e.g., a second external electronic device (210) of FIG. 2) via a communication circuit (e.g., a communication module (190) of FIG. 1 or a communication circuit (302) of FIG. 3). In one embodiment, the information related to BIG may be received through a periodic advertising (PA) operation performed by an external electronic device operating as a broadcast source device, and may include, for example, BIG information (BIGInfo). In one embodiment, BIGInfo may be received via an auxiliary synchronization indication (AUX_SYNC_IND) protocol data unit (PDU). The periodic PA operation will be described below with reference to FIGS. 7 and 9 , and the BIGInfo will be described below with reference to FIG. 8 , so a detailed description thereof will be omitted here.
[0180] An electronic device that has received information related to BIG from an external electronic device can store the information related to BIG in a memory (e.g., memory (130) of FIG. 1 or memory (306) of FIG. 3) in operation 513.
[0181] An electronic device storing information related to a BIG can, in operation 515, perform a synchronization operation for at least one BIS provided by an external electronic device through a communication circuit based on the information related to the BIG.
[0182] By performing a synchronization operation for at least one BIS, the electronic device can be synchronized to the at least one BIS and, in operation 517, can receive audio data through the at least one BIS via the communication circuit.
[0183] While receiving audio data via at least one BIS, the electronic device may detect, in operation 519, a BIG asynchronous event associated with an asynchronous state for the BIG. In one embodiment, the BIG asynchronous event may include at least one of an event of losing synchronization for the at least one BIS, or an event confirming a request to stop receiving audio data via the at least one BIS. In one embodiment, the event of losing synchronization for the at least one BIS may be detected when audio data is not successfully received via the at least one BIS for a set period of time.
[0184] An electronic device that detects a BIG asynchronous event can, in operation 521, perform a synchronization operation for at least one BIS based on information related to the stored BIG through a communication circuit. In this way, when a BIG asynchronous event is detected, the electronic device performs a synchronization operation for at least one BIS based on the stored information related to the BIG without waiting until information related to the BIG is received from an external electronic device, thereby reducing the time that an audio service is interrupted due to the BIG asynchronous event.
[0185] In FIG. 5, an example is described in which, when a BIG asynchronous event is detected, a synchronization operation is performed for at least one BIS based on information related to the stored BIG. However, when the BIG asynchronous event is an event that confirms a request to stop receiving audio data through at least one BIS, even if the BIG asynchronous event is detected, after waiting until an event to resume receiving audio data through at least one BIS is detected, a synchronization operation for at least one BIS may be performed based on information related to the stored BIG after the event to resume receiving audio data through at least one BIS is detected.
[0186] Meanwhile, although FIG. 5 illustrates a method of operating an electronic device according to one embodiment, it should be understood that various modifications may be made to FIG. 5 . For example, although FIG. 5 illustrates sequential operations, it should be understood that the operations described in FIG. 5 may overlap, occur in parallel, occur in a different order, or occur multiple times.
[0187] FIG. 6 is a flowchart schematically illustrating a method of operating a first external electronic device according to one embodiment.
[0188] Referring to FIG. 6, a first external electronic device (e.g., the electronic device (102) or the electronic device (104) of FIG. 1, or the first external electronic device (200) of FIG. 2 or 3) (e.g., the processor (304) of FIG. 3) may establish a connection (e.g., a communication link) with an electronic device (e.g., the electronic device (101) of FIG. 1 or 2) via a communication circuit (e.g., the communication circuit (302) of FIG. 3) in operation 611. In one embodiment, the first external electronic device may operate as a broadcast sink device. In one embodiment, the electronic device may operate as a broadcast assistant device. The broadcast source device, the broadcast assistant device, and the broadcast sink device may be implemented similarly or substantially identically to those described in FIG. 2 or 3, and thus, a detailed description thereof will be omitted herein. In one embodiment, the first external electronic device can establish a connection with the electronic device based on at least one of Wi-Fi and / or Bluetooth. For example, the electronic device can be a smartphone. The first external electronic device can be an ear wearable device and / or a speaker. The first external electronic device can include a first earbud (e.g., a left earbud and / or a second earbud). The second external electronic device can be a TV or another smartphone.
[0189] In operation 611, the operation of establishing a connection between the first external electronic device and the electronic device may be described more specifically as follows.
[0190] In one embodiment, a first external electronic device (e.g., an ear wearable device and / or a speaker) may establish a connection with an electronic device (e.g., a smartphone) based on a wireless communication method (e.g., a BLE method). The first external electronic device may transmit an advertising signal to a surrounding area in a multicast or broadcast manner. The advertising signal may include information related to a connection or account (e.g., pairing) to unspecified surrounding devices (e.g., electronic devices) using wireless communication (e.g., a BLE communication). For example, the advertising signal may include at least one of identification information of the first external electronic device, user account information associated with an account of a user of the first external electronic device, current pairing information which is information regarding whether the first external electronic device is currently paired with another device, a pairing list which is a list including information regarding devices with which the first external electronic device was previously paired, simultaneous pairing information which is information regarding devices with which the first external electronic device can be simultaneously paired, transmission power (TX power) of the first external electronic device, or battery status information which is information regarding a remaining battery level of the first external electronic device.
[0191] In one embodiment, the first external electronic device may transmit (e.g., broadcast or multicast) an advertising signal based on a set condition. For example, the set condition may include at least one of a condition in which power is supplied to the first external electronic device, a condition in which a set cycle is reached, or a condition in which a user input is confirmed.
[0192] When an electronic device receives an advertising signal transmitted from a first external electronic device, the electronic device may output a user interface (UI) for connection between the first external electronic device and the electronic device on a display (e.g., display module (160) of FIG. 1). In one embodiment, the electronic device may output the UI based on information included in the advertising signal. For example, the UI may include an image corresponding to the first external electronic device. The electronic device may establish a connection (e.g., a first communication link) with the first external electronic device based on information included in the received advertising signal.
[0193] When the first external electronic device is an ear wearable device, the ear wearable device may include a first earbud (e.g., a left earbud) and a second earbud (e.g., a right earbud). The first earbud and the second earbud may have address information about each other, and the first earbud and the second earbud may be stored in an earbud case device. When the earbud case device is opened while the first earbud and the second earbud are stored in the earbud case device, the first earbud and the second earbud may perform a page scan operation, and a connection (e.g., a second communication link) may be established between the first earbud and the second earbud based on the page scan operation. In one embodiment, each of the first earbud and the second earbud may establish a connection with the electronic device.
[0194] A first external electronic device that has established a connection with an electronic device may, in operation 613, receive an add source operation code from the electronic device through a communication circuit, which instructs an add source operation. The add source operation may be used to provide information about a broadcast source device to a broadcast audio scan service (BASS) server based on a generic attribute profile (GATT). The first external electronic device, which is a broadcast sink device, may operate as a BASS server, and the electronic device, which is a broadcast assistant device, may operate as a BASS client. The add source operation code may be included in broadcast audio scan control point characteristic operation codes, and the broadcast audio scan control point characteristic operation codes may be defined as shown in Tables 1-1 and 1-2 below.
[0195]
[0196]
[0197]
[0198]
[0199] A detailed description of the Broadcast Audio Scan Control Point characteristic operation codes is given in Section 3.1 of the Broadcast Audio Scan Service Revision v1.0, a specification provided by the Generic Audio Working Group, and therefore, a duplicate description is omitted here.
[0200] In one embodiment, the add source action may have a format defined as in Table 2-1 and Table 2-2 below.
[0201]
[0202]
[0203]
[0204]
[0205] The specific description of the Add Source operation is given in Section 3.1.1.4 Add Source operation of Broadcast Audio Scan Service Revision v1.0, so we will omit the redundant description here.
[0206] A first external electronic device that has received a source addition operation code from an electronic device can check information about a broadcast source device (e.g., a second external electronic device (210) of FIG. 2), and thus, based on the information about the broadcast source device, in operation 615, can receive BIG information (BIGInfo) from the broadcast source device through a communication circuit and store the received BIGInfo in a memory (e.g., a memory (306) of FIG. 3). In one embodiment, the first external electronic device can receive BIGInfo through a periodic advertising (PA) operation performed by the second external electronic device.
[0207] In one embodiment, the second external electronic device may perform a PA operation as illustrated in FIG. 7, which may be described as follows.
[0208] FIG. 7 is a diagram illustrating a PA operation performed by a second external electronic device according to one embodiment.
[0209] Referring to FIG. 7, a periodic advertising interval (700) may be the interval between two scheduled auxiliary synchronization indication (AUX_SYNC_IND) protocol data units (PDUs) (711, 721) from the same advertising set.
[0210] The AUX_SYNC_IND PDU may be a PDU used for synchronous advertising on a secondary advertising physical channel that does not expect a response, and BIGInfo may be included in the additional controller advertising data (ACAD) field of the AUX_SYNC_IND PDU. Since BIGInfo will be specifically described with reference to Table 9 below, its detailed description is omitted here.
[0211] The format of the AUX_SYNC_IND PDU may be as shown in Table 3 below.
[0212] Table 3
[0213]
[0214] The detailed description of the AUX_SYNC_IND PDU is specified in section 2.3.1.7 of the Bluetooth Core Specification v5.4 provided by the Core Specification Working Group, so the redundant description is omitted here.
[0215] The periodic advertising interval can be an integer multiple of 1.25 ms, for example, in the range of 7.5 ms to 81.91875 s. A periodic advertising event can be composed of an AUX_SYNC_IND PDU and a subordinate set of AUX_SYNC_IND PDUs. For example, a first periodic advertising event (710) can include an AUX_SYNC_IND PDU (711), an AUX_CHAIN_IND PDU (713), and an AUX_CHAIN_IND PDU (715), and a second periodic advertising event (720) can include an AUX_SYNC_IND PDU (721), an AUX_CHAIN_IND PDU (723), and an AUX_CHAIN_IND PDU (215). The auxiliary chain indication (AUX_CHAIN_IND) PDU can be used to maintain additional advertising data (AdvData).
[0216] Two periodic advertising events within the same periodic advertising train may not overlap. The periodic advertising interval may not change while the periodic advertising is active.
[0217] An ADV_EXT_IND PDU may be transmitted at each configured advertising interval, and the ADV_EXT_IND PDU may contain an auxiliary packet point that indicates the location and channel information of the AUX_ADV_IND PDU. The AUX_ADV_IND PDU may contain the access address and channel map of the AUX_SYNC_IND PDU, which may contain BIGInfo, the advertising interval, the clock accuracy, and / or the time offset from the AUX_ADV_IND PDU. The AUX_SYNC_IND PDU may start transmitting before the actual audio data is transmitted over the BIS, and may contain BIGInfo containing BIS parameters and information related to the transmission of the audio data transmitted over the BIS, if the audio data is transmitted over the BIS.
[0218] Referring again to FIG. 6, the first external electronic device, which has received and stored BIGInfo from the second external electronic device via an AUX_SYNC_IND PDU, may perform a synchronization operation for at least one BIS provided by the second external electronic device based on the BIGInfo received in operation 617. In one embodiment, the BIGInfo may be maintained until the second external electronic device terminates the BIG provided by the second external electronic device. For example, the BIGInfo may be changed when the second external electronic device terminates the BIG.
[0219] In one embodiment, the first external electronic device can perform a synchronization operation for at least one BIS provided by the second external electronic device based on BIGInfo as illustrated in FIG. 8.
[0220] Figure 8 is a diagram illustrating the format of BIGInfo.
[0221] Referring to FIG. 8, BIGInfo may be included in the ACAD field included in the AUX_SYNC_IND PDU transmitted during the periodic advertising operation. The length of BIGInfo may be 33 octets for an unencrypted BIG and 57 octets for an encrypted BIG.
[0222] In one embodiment, the BIG_Offset field contains the time from the beginning of the packet containing the BIGInfo to the BIG anchor point described by the BIGInfo. The value of the BIG_Offset field is in the time unit indicated by the BIG_Offset_Units bit, and the actual time offset can be determined by multiplying the value of BIG_Offset by the time unit indicated by the BIG_Offset_Units bit. The time offset can be greater than 600 μs.
[0223] In one embodiment, when the BIG_Offset_Units bit is set, the time unit indicated by the BIG_Offset_Units bit may be 300 μs, and when the BIG_Offset_Units bit is not set, the time unit indicated by the BIG_Offset_Units bit may be 30 μs. The BIG_Offset_Units bit may not be set if the time offset is less than 491,460 μs.
[0224] In one embodiment, the BIG anchor point may be no earlier than the time offset, as illustrated in FIG. 9, and no later than one unit after the start of the associated packet.
[0225] In one embodiment, the ISO_Interval field may indicate the time between two adjacent BIG anchor points, and may be in units of 1.25 ms. The value of the ISO_Interval field may be a value between 4 and 3200 (i.e., 5 ms to 4 s).
[0226] In one embodiment, the NSE (number of subevents) field may indicate the number of subevents per BIS in each BIG event. The value of the NSE field may be a value between 1 and 31, and may be an integer multiple of the BN.
[0227] In one embodiment, the BN field, the PTO field, and the IRC field may control which data is transmitted in each BIG event. The value of the BN field may be a value between 1 and 7, the value of the PTO field may be a value between 0 and 15, and the value of the IRC field may be a value between 1 and 15.
[0228] In one embodiment, the Sub_Interval field may indicate the time between the start of two consecutive sub-events of each BIS, and may be in microseconds.
[0229] In one embodiment, the BIS_Spacing field may indicate the time between the start of corresponding sub-events in adjacent BISs in a BIG, and may be in microseconds. Additionally, if a control sub-event exists, the BIS_Spacing field may indicate the time between the start of the first sub-event of the last BIS and the control sub-event, and may be in microseconds.
[0230] In one embodiment, the Num_BIS field may indicate the number of BISs in the BIG.
[0231] In one embodiment, the Max_PDU field may indicate the maximum number of data octets (including a message integrity check (MIC) if required) that can be carried in each BIS data PDU in the BIG. The value of the Max_PDU field may be between 1 and 251 octets.
[0232] In one embodiment, the SeedAccessAddress field may indicate a seed access address (SAA) for the BIG. The access address for the BIS may be derived from the SAA and may be a random number satisfying the following conditions:
[0233]
[0234] For any pair of BIGs transmitted by the same device, SAA 15 to SSA 0 may differ by at least two bits.
[0235] In one embodiment, the SDU_Interval field can be a value between 0x0000FF and 0x0FFFFF, in microseconds.
[0236] In one embodiment, the Max_SDU field may indicate the maximum size of a service data unit (SDU) in BIG. The value of the Max_SDU field may be between 1 and 4095 octets.
[0237] In one embodiment, the BaseCRCInit field may indicate a BaseCRCInit value. For every broadcast isochronous PDU, a shift register included in a cyclic redundancy check (CRC) generator may be preset with the BaseCRCInit value from the BIGInfo data of the most significant two octets and the BIS_Number for a specific BIS of the least significant octet.
[0238] In one embodiment, the ChM field may include a channel map indicating used and unused data channels. Each channel is represented by bits arranged according to a data channel index, where the least significant bit (LSB) may indicate data channel index 0 and the bit at position 36 may indicate data channel index 36. A bit value of 0 may indicate that the channel is unused, and a bit value of 1 may indicate that the channel is used. Bits at positions 37, 38, and 39 may be reserved for future use.
[0239] In one embodiment, the PHY field may indicate a physical layer (PHY) used by the BIG, and the value of the PHY field may be specified as shown in Table 4 below.
[0240] Table 4
[0241]
[0242] In one embodiment, the bisPayloadCount field may be used for the first sub-event of a BIG event indicated by the BIG_Offset field. For each BIS, payloads may be numbered in the order provided, starting from 0. This number may be used as the value of bisPayloadCounter for the PDU containing the corresponding payload, e.g., the field value of the bisPayloadCount field.
[0243] In one embodiment, the Framing field may be set if the BIG transmits framed data.
[0244] In one embodiment, when BIG is encrypted, the GIV field may be a 64-bit parameter and the GSKD field may be a 128-bit parameter.
[0245] A detailed description of BIGInfo is given in section 4.4.6.11 BIGInfo of the Bluetooth Core Specification v5.4, so any duplicate description will be omitted here.
[0246] Figure 9 is a diagram for explaining the time reference of a BIG event from a PA event.
[0247] Referring to FIG. 9, a first external electronic device (e.g., the electronic device (102) or the electronic device (104) of FIG. 1, or the first external electronic device (200) of FIG. 2 or FIG. 3) can receive information related to BIS from a second external electronic device (e.g., the second external electronic device (210) of FIG. 2). For example, the first external electronic device may be an ear wearable device and / or a speaker. The first external electronic device may include a first earbud (e.g., a left earbud and / or a second earbud). The second external electronic device may be a TV or another smartphone. The electronic device (e.g., the electronic device (101) of FIG. 1 or 2) may be a smartphone.
[0248] A broadcast source device (e.g., a second external electronic device) may perform a PA operation to enable at least one broadcast sink device (e.g., a first external electronic device) to receive audio data via at least one BIS for an audio service, such that the broadcast sink device may receive PA data transmitted (e.g., broadcast) via the PA operation of the broadcast source device. For example, the first external electronic device may receive an ADV_EXT_IND PDU transmitted by the second external electronic device at each configured advertising interval. The ADV_EXT_IND PDU may include an auxiliary packet point indicating the location and channel information of the AUX_ADV_IND PDU. The AUX_ADV_IND PDU may include an access address and a channel map of an AUX_SYNC_IND PDU, which may include BIGInfo, an advertising interval, clock accuracy, and / or a time offset from the AUX_ADV_IND PDU. The AUX_SYNC_IND PDU may begin transmitting before audio data is actually transmitted over the BIS, and when audio data is transmitted over the BIS, it may contain BIGInfo containing BIS parameters and information related to the transmission of audio data transmitted over the BIS.
[0249] An electronic device operating as a broadcast assistant device can perform monitoring operations to receive an advertising signal transmitted from a peripheral device (e.g., a second external electronic device) and confirm that the second external electronic device is broadcasting a BIS. The advertising signal can include a BASS UUID (universal unique identifier) and a broadcast ID. Based on the received advertising signal, the electronic device can output a list of receivable broadcast services on a user interface (UI).
[0250] The electronic device can receive a PA signal periodically broadcast by a second external electronic device based on synchronization information (SyncInfo) included in the advertising signal. The PA signal can include information related to the BASS UUID and BIS. After receiving the PA signal, the electronic device can display a list of receivable broadcast services on the UI.
[0251] A PA signal (e.g., AUX_ADV_IND PDU) may include BIGInfo, and the first external electronic device may receive audio data via BIS in the BIGInfo. BIGInfo may be implemented similarly or substantially identically to that described in FIG. 8, and therefore, a detailed description thereof is omitted here.
[0252] As illustrated in FIG. 9, the first external electronic device can synchronize to at least one BIS broadcast by the second external electronic device based on parameters such as BIG_Offset, Offset Unit, and BIS_Spacing included in BIGInfo.
[0253] Referring again to FIG. 6, the first external electronic device, which has performed a synchronization operation for at least one BIS provided by the second external electronic device based on the received BIGInfo, may receive audio data through the synchronized at least one BIS in operation 619. While receiving audio data through the synchronized at least one BIS, the first external electronic device may determine whether a BIG asynchronous event is detected in operation 621.
[0254] In one embodiment, a BIG asynchronous event may include an event that acknowledges a loss of synchronization with the BIS and / or a request to stop receiving audio data via the BIS.
[0255] In one embodiment, an event of loss of synchronization for BIG may occur if a BIS PDU is not successfully received for a set period of time. In one embodiment, the set period of time may correspond to a BIG_Sync_Timeout parameter. The BIG_Sync_Timeout parameter may specify a maximum permitted time between successful receptions of BIS PDUs. If the set period of time elapses, BIG synchronization may be lost. The value of the BIG_Sync_Timeout parameter may be set by the first external electronic device.
[0256] In one embodiment, an event that confirms a request to stop receiving audio data via the BIS may be detected when a source modify operation code is received from the electronic device that instructs a source modify operation. The source modify operation may be used to provide metadata information about the broadcast source device to the BASS server. The source modify operation may be used to request the BASS server to add or update metadata about the broadcast source, and / or to request the BASS server to synchronize with the PA and / or BIS, or to request the BASS server to stop synchronization with the PA and / or BIS. A specific description of the source modify operation is specified in Section 3.1.1.5 Modify Source operation of Broadcast Audio Scan Service Revision v1.0, and therefore, a redundant description is omitted here.
[0257] If no BIG asynchronous event is detected (action 621-No), the first external electronic device may return to action 619.
[0258] If a BIG asynchronous event is detected (operation 621 - Yes), the first external electronic device may perform a synchronization operation for at least one BIS provided by the second external electronic device based on the stored BIGInfo in operation 625. In one embodiment, since the BIGInfo may be maintained until the second external electronic device terminates the BIG provided by the second external electronic device, the first external electronic device may perform a synchronization operation for at least one BIS provided by the second external electronic device based on the stored BIGInfo.
[0259] The first external electronic device, which has performed a synchronization operation for at least one BIS provided by the second external electronic device based on the stored BIGInfo, can check whether the synchronization for at least one BIS is successful in operation 627. If the synchronization for at least one BIS is successful (operation 627 - Yes), the first external electronic device can proceed to operation 623 to receive audio data through the synchronized at least one BIS.
[0260] If the synchronization for at least one BIS fails (Operation 627-No), the first external electronic device may determine that the second external electronic device no longer maintains the BIGInfo stored in the first external electronic device, or that there is an error in the BIGInfo stored in the second external electronic device due to poor communication conditions such as a deterioration of channel quality (e.g., when the received signal strength is below a threshold received signal strength), and thus may return to operation 615 to receive new BIGInfo from the second external electronic device and perform a synchronization operation for at least one BIS provided by the second external electronic device. In one embodiment, the first external electronic device may receive an AUX_SYNC_IND PDU from the second external electronic device by synchronizing to the PA of the second external electronic device, and may obtain the BIGInfo included in the ACAD field included in the AUX_SYNC_IND PDU. In FIG. 6, an example is described in which the first external electronic device no longer performs a synchronization operation for at least one BIS based on the stored BIGInfo when the synchronization for at least one BIS fails. However, considering various situations such as the channel status of the first external electronic device, the second external electronic device may attempt to synchronize at least one BIS provided by performing a synchronization operation for at least one BIS based on the stored BIGInfo until a set number of synchronization operations is reached. For example, the first external electronic device may perform a synchronization operation for at least one BIS based on information related to the stored BIG, based on confirming that the number of synchronization operations performed by the first external electronic device does not reach the set number of synchronization operations.According to one embodiment, if the first external electronic device receives new BIG-related information (e.g., BIGInfo) from the second external electronic device before the number of times the first external electronic device has performed a synchronization operation for at least one BIS based on the stored BIG-related information reaches a set number of times (e.g., upon receiving an AUX_SYNC_IND PDU including BIGInfo), the first external electronic device may perform a synchronization operation for at least one BIS provided by the second external electronic device based on the BIGInfo received from the second external electronic device.
[0261] In FIG. 6, an example is described in which, when a BIG asynchronous event is detected, a synchronization operation is performed for at least one BIS based on information related to the stored BIG. However, when the BIG asynchronous event is an event that confirms a request to stop receiving audio data through at least one BIS, even if the BIG asynchronous event is detected, after waiting until an event to resume receiving audio data through at least one BIS is detected, a synchronization operation for at least one BIS may be performed based on information related to the stored BIG after the event to resume receiving audio data through at least one BIS is detected.
[0262] Meanwhile, in operation 621, if it is detected that the BIG asynchronous event is an event confirming a request to stop receiving audio data through the BIS (for example, if it is detected that a source action code instructing a source modification action has been received from the electronic device), the first external electronic device proceeds to operation 625 to perform a synchronization operation for the BIS based on the stored BIGInfo. However, if the first external electronic device detects in operation 621 that the BIG asynchronous event is an event confirming a request to stop receiving audio data through the BIS, it may determine whether to perform the synchronization operation for the BIS based on the stored BIGInfo, if necessary. For example, if the first external electronic device receives a signal requesting to perform a synchronization operation for the BIS based on the stored BIGInfo from the electronic device, it may perform the synchronization operation for the BIS based on the stored BIGInfo. Alternatively, the first external electronic device may terminate without performing any further action if it detects at operation 621 that the BIG asynchronous event is an event confirming a request to stop receiving audio data via the BIS.
[0263] Meanwhile, although FIG. 6 illustrates a method of operating a first external electronic device according to one embodiment, it should be understood that various modifications may be made to FIG. 6 . For example, although FIG. 6 illustrates sequential operations, it should be understood that the operations described in FIG. 6 may overlap, occur in parallel, occur in a different order, or occur multiple times.
[0264] FIG. 10 is a signal flow diagram illustrating an operation of synchronizing a first external electronic device with a BIS of a second external electronic device according to one embodiment.
[0265] Referring to FIG. 10, a first external electronic device (200) (e.g., the electronic device (102) or the electronic device (104) of FIG. 1, or the first external electronic device (200) of FIG. 2 or FIG. 3) may operate as a broadcast sink device. A second external electronic device (210) (e.g., the second external electronic device (210) of FIG. 2) may operate as a broadcast source device. In this case, the second external electronic device (210) may operate as an isochronous broadcaster, and the first external electronic device (200) may operate as a synchronized receiver.
[0266] According to one embodiment, the second external electronic device (210) may include a host (1010) (e.g., host A) and a link layer (LL) (1020) (e.g., LL A). In one embodiment, the first external electronic device (200) may include a host (1040) (e.g., host B) and a link layer (1030) (e.g., LL B).
[0267] The second external electronic device (210) may transmit periodic advertisements in operation 1011. The first external electronic device (200) may perform a scanning operation in operation 1013.
[0268] The second external electronic device (210) may transmit an ADV_EXT_IND PDU in operations 1015, 1017, and 1019, and may transmit an AUX_ADV_IND PDU in operation 1021. In one embodiment, the ADV_EXT_IND PDU may include an auxiliary packet point indicating the location and channel information of the AUX_ADV_IND PDU. The AUX_ADV_IND PDU may include an access address of an AUX_SYNC_IND PDU that may include BIGInfo, a channel map, an advertising interval, a clock accuracy, and / or a time offset from the AUX_ADV_IND PDU.
[0269] At operation 1023, LL B (1030) may forward an LE Extended Advertising Report event to Host B (1040) upon receiving an AUX_ADV_IND PDU. The LE Extended Advertising Report event may indicate that one or more Bluetooth devices have responded to an active scan or have broadcast advertisements that were received during a passive scan.
[0270] In operation 1025, LL A (1020) may transmit an AUX_SYNC_IND PDU including an ACAD field, and may transmit audio data (e.g., a BIS data packet) via BIS in operation 1027. The AUX_SYNC_IND PDU may be implemented similarly or substantially identically to that described in FIG. 7 and Table 1, and thus, a detailed description thereof is omitted here.
[0271] Host B (1040), which receives an LE Extended Advertising Report event from LL B (1030), may transmit an LE Periodic Advertising Create Sync command to LL B (1030) in response to the LE Extended Advertising Report event at operation 1029. In one embodiment, the LE Periodic Advertising Create Sync command may be used to start receiving PA packets in synchronization with a PA train from an advertiser (e.g., the second external electronic device (210)).
[0272] LL B (1030), which receives an LE Periodic Advertising Create Sync command from Host B (1040), may forward a Command Status event to Host B (1040) in operation 1031. In one embodiment, the Command Status event may be used to indicate that a command described by the Command_Opcode parameter has been received and that a controller (e.g., LL B (1030)) is performing a task corresponding to the received command.
[0273] LL B (1030), which has forwarded a Command Status event to Host B (1040), may forward an LE Periodic Advertising Sync Established event to Host B (1040) in operation 1033. In one embodiment, the LE Periodic Advertising Sync Established event may be used to indicate that LL B (1030) has received a first PA packet from the second external electronic device (210) after the Periodic Advertising Create Sync command is transmitted.
[0274] Thereafter, LL A (1020) may transmit an AUX_SYNC_IND PDU including an ACAD field including BIGInfo (AUX_SYNC_IND+ACAD with BIGInfo) in operation 1035. LL B (1030), which receives the AUX_SYNC_IND PDU, may forward an LE Periodic Advertising Report event to Host B (1040) in operations 1037 and 1039. In one embodiment, the LE Periodic Advertising Report event may be used to indicate that LL B (1030) has received a periodic advertisement or failed to receive an AUX_SYNC_SUBEVENT_IND PDU.
[0275] After the first external electronic device (200) is synchronized to the PA of the second external electronic device (210), in operation 1041, the first external electronic device (200) can perform a synchronization operation for the BIG provided by the second external electronic device (210). In operation 1043, the host B (1040) can transmit a LE BIG Create Sync command to the LL B (1030) for synchronization for the BIS provided by the second external electronic device (210). In one embodiment, the LE BIG Create Sync command can be represented as shown in Table 5 below. In one embodiment, the LE BIG Create Sync command can be used for synchronization for the BIG described in the PA train.
[0276] Table 5
[0277]
[0278] In Table 5, the BIG_Handle parameter can be assigned by LL B (1030) to identify a synchronized BIG.
[0279] In Table 5, the Sync_Handle parameter can indicate the identifier of the PA train.
[0280] In Table 5, the Encryption parameter can be used to indicate whether the Broadcast_Code parameter is valid.
[0281] In Table 5, the Broadcast_Code parameter may be a 16-octet field used to generate a session key for encrypting or decrypting payloads of encrypted BIS.
[0282] In Table 5, the MSE (Maximum Subevents) parameter may indicate the maximum number of subevents that the LL B (1030) needs to use to receive data payloads in each interval for the BIS.
[0283] In Table 5, the BIG_Sync_Timeout parameter may indicate the maximum allowable time between successful receptions of BIS PDUs, and synchronization may be lost if the time corresponding to the BIG_Sync_Timeout parameter is exceeded. In one embodiment, after LL B (1030) is synchronized to BIG, if the value of the BIG_Sync_Timeout parameter set by Host B (1040) is less than 6 x ISO_Interval, LL B (1030) may set the value of the BIG_Sync_Timeout parameter to 6 x ISO_Interval.
[0284] In one embodiment, the BIG_Sync_Timeout parameter may be represented as shown in Table 6 below.
[0285] Table 6
[0286]
[0287] In Table 5, the Num_BIS parameter can indicate the number of BIS indices specified in BIS[i].
[0288] In Table 5, BIS[i] can point to a list of indices corresponding to BIS(s) in the synchronized BIG.
[0289] LL B (1030), which receives the LE BIG Create Sync command from host B (1040), can transmit a Command Status event to host B (1040) at operation 1045.
[0290] Thereafter, LL A (1020) can transmit an AUX_SYNC_IND PDU including an ACAD field in operation 1047 (AUX_SYNC_IND PDU + ACAD). The AUX_SYNC_IND PDU may include an ACAD field including BIGInfo or may include an ACAD field that does not include BIGInfo. For example, in operation 1035, LL A (1020) transmitted an AUX_SYNC_IND PDU including an ACAD field including BIGInfo, but in operation 1047, LL A (1020) can transmit an AUX_SYNC_IND PDU including an ACAD field that does not include BIGInfo.
[0291] LL A (1020) may transmit a BIS data packet at operation 1049. LL B (1030) may receive the BIS data packet transmitted from the second external electronic device (210) at operation 1051 and may transmit a LE BIG Sync Established event to Host B (1040). In one embodiment, the LE BIG Sync Established event may be used to indicate that a LE BIG Create Sync command has been completed.
[0292] Host B (1040), which receives the LE BIG Sync Established event, may transmit an LE Setup ISO Data Path command to LL B (1030) in operation 1053. In one embodiment, the LE Setup ISO Data Path command may be used to identify and create an isochronous data path between Host B (1040) and LL B (1030) for BIS.
[0293] LL B (1030), which receives an LE Setup ISO Data Path command from Host B (1040), may transmit a Command Complete event to Host B (1040) in operation 1055. In one embodiment, the Command Complete event may be used by LL B (1030) to transmit a return status for the command.
[0294] LL A (1020) can transmit a BIS data packet at operation 1057. LL B (1030) can receive a BIS data packet transmitted from a second external electronic device (210) at operation 1059 and transmit ISO data to host B (1040) through an ISO data path set up.
[0295] FIG. 11 is a diagram illustrating an event that causes a loss of synchronization for a BIS according to one embodiment.
[0296] Referring to FIG. 11, a first external electronic device (200) (e.g., the electronic device (102) or the electronic device (104) of FIG. 1, or the first external electronic device (200) of FIG. 2, FIG. 3, or FIG. 10) may operate as a broadcast sink device. A second external electronic device (210) (e.g., the second external electronic device (210) of FIG. 2 or FIG. 10) may operate as a broadcast source device. In this case, the second external electronic device (210) may operate as an isochronous broadcaster, and the first external electronic device (200) may operate as a synchronized receiver.
[0297] In one embodiment, the second external electronic device (210) may include a host (1010) (e.g., host A) and a link layer (1020) (e.g., LL A). In one embodiment, the first external electronic device (200) may include a host (1040) (e.g., host B) and a link layer (1030) (e.g., LL B).
[0298] In operation 1111, the first external electronic device (200) can perform a synchronization operation for a BIG (or at least one BIS) provided by the second external electronic device (210), and thus can be synchronized with the BIG (or at least one BIS) provided by the second external electronic device (210).
[0299] LL A (1020) can transmit a BIS data packet at operation 1113. LL B (1030) can receive a BIS data packet transmitted from a second external electronic device (210), and can transmit ISO data to host B (1040) through an ISO data path set up at operation 1115.
[0300] Thereafter, even though LL A (1020) continuously transmits BIS data packets in operations 1117 and 1119, there may be cases where LL B (1030) cannot normally receive the BIS data packets transmitted from the second external electronic device (210). For example, when the channel condition between the first external electronic device (200) and the second external electronic device (210) is poor (for example, when the channel condition between the first external electronic device (200) and the second external electronic device (210) is below a critical quality), even if the second external electronic device (210) transmits the BIS data packets, the first external electronic device (200) may not be able to receive the BIS data packets transmitted from the second external electronic device (210).
[0301] In this way, if LL B (1030) cannot normally receive the BIS data packet transmitted from the second external electronic device (210), a time corresponding to the BIG_Sync_Timeout parameter may elapse in operation 1121. As the time corresponding to the BIG_Sync_Timeout parameter elapses, LL B (1030) may detect an event of losing synchronization with respect to the BIS. As the time corresponding to the BIG_Sync_Timeout parameter elapses, LL B (1030) may transmit a LE_BIG_Sync_Lost event to host B (1040) in operation 1123. In one embodiment, the LE_BIG_Sync_Lost event may be used to indicate that synchronization with respect to a synchronized BIG is lost.
[0302] When an LE_BIG_Sync_Lost event like this occurs, the first external electronic device (200) can change the BIS_Sync_Index of the broadcast receive state characteristic to 0x0 (Not synchronized to BIS_Index[x]) and transmit the changed broadcast receive state characteristic to an electronic device (e.g., the electronic device (101) of FIG. 1 or FIG. 2).
[0303] A detailed description of the broadcast reception status characteristics is given in the Broadcast Audio Scan Service Revision v1.0, a specification provided by the Generic Audio Working Group, which may be described as follows:
[0304] The Broadcast Receive Status characteristic can be used by the BASS server to expose information about a broadcast source device (e.g., the second external electronic device (210) of FIG. 2 or FIG. 10). The information about the broadcast source device can indicate the current synchronization state of the BASS server to the PA and / or the BIG, which includes one or more subgroups containing one or more BISs transmitted by the broadcast source device. The Broadcast Receive Status characteristic can be used to inform BASS clients whether the BASS server has detected that the BIS is encrypted, whether the BASS server requires a broadcast code (Broadcast_Code), and whether the BASS server is decrypting the BIS. When the Broadcast Receive Status characteristic value is not empty (length 0), the Broadcast Receive Status characteristic can have a format defined as shown in Tables 7-1 and 7-2 below.
[0305]
[0306]
[0307]
[0308]
[0309] In Table 7-1, the Source_ID field can indicate a Source_ID, which can be assigned by the BASS server and can be unique for each instance of the broadcast reception status characteristic exposed by BASS. For example, the size of the Source_ID field can be implemented as 1 octet, and its range can be 0x00-0xFF.
[0310] In Table 7-1, the Source_Address_Type field can indicate Source_Address_Type, and if the field value of the Source_Address_Type field is 0x00, it can indicate a public device address or a public identity address (0x00 = Public Device Address or Public Identity Address). If the field value of the Source_Address_Type field is 0x01, it can indicate a random device address or a random (static) identity address (0x01 = Random Device Address or Random (static) Identity Address). For example, the size of the Source_Address_Type field can be implemented as 1 octet. The remaining field values of the Source_Address_Type field can be reserved for future use (All other values: RFU).
[0311] In Table 7-1, the Source_Address field can indicate the public device address, random device address, public identifier address, or random (fixed) identifier address of the broadcast source device. For example, the size of the Source_Address field can be 6 octets.
[0312] In Table 7-1, the Source_Adv_SID field may be the Advertising_SID subfield of the ADI (AdvDataInfo) field of an AUX_ADV_IND protocol data unit (PDU) or an LL_PERIODIC_SYNC_IND PDU containing synchronization information (SyncInfo) that points to periodic advertising (PA) transmitted by a broadcast source device. For example, the size of the Source_Adv_SID field may be 1 octet.
[0313] In Table 7-1, the Broadcast_ID field can indicate the broadcast ID (Broadcast_ID) of the broadcast source device. For example, the size of the Broadcast_ID field can be 3 octets.
[0314] In Table 7-1, if the field value of the PA_Sync_State field is "0x00", it indicates that it is not synchronized to the PA (0x00: Not synchronized to PA), if the field value of the PA_Sync_State field is "0x01", it indicates a synchronization information request (0x01: SyncInfo Request), if the field value of the PA_Sync_State field is "0x02", it indicates that it is synchronized to the PA (0x02: Synchronized to PA), if the field value of the PA_Sync_State field is "0x03", it indicates that synchronization to the PA has failed (0x03: Failed to synchronize to PA), and if the field value of the PA_Sync_State field is "0x04", it may indicate that a periodic advertising synchronization transfer (PAST) procedure does not exist (0x04: No PAST). For example, the size of the PA_Sync_State field may be 1 octet. The remaining field values in the PA_Sync_State field may be reserved for future use (All other values: RFU).
[0315] In Table 7-1, if the field value of the BIG_Encryption field is "0x00", it indicates that it is not encrypted (0x00: Not encrypted), if the field value of the BIG_Encryption field is "0x01", it indicates that a broadcast code is required (0x01: Broadcast_Code required), if the field value of the BIG_Encryption field is "0x02", it indicates that it is decrypting (0x02: Decrypting), and if the field value of the BIG_Encryption field is "0x03", it may indicate a bad code (0x03: Bad_Code (incorrect encryption key)). A bad code may indicate an incorrect encryption key. For example, the size of the BIG_Encryption field may be 1 octet. The remaining field values of the BIG_Encryption field may be reserved for future use (All other values: RFU).
[0316] In Table 7-1, if the field value of the BIG_Encryption field is 0x00, 0x01, or 0x02, the Bad_Code field can be empty. An empty Bad_Code field can indicate that the length of the Bad_Code field is zero (If BIG_Encryption field value = 0x00, 0x01, or 0x02: empty (zero length)). If the field value of the BIG_Encryption field is 0x03 (Bad_Code), the field value of the Bad_Code field can be set to the value of the incorrect 16-octet Broadcast_Code that fails to decrypt the BIG. For example, the size of the BIG_Encryption field can be variable.
[0317] In Table 7-1, the Num_Subgroups field can indicate the number of subgroups. For example, the size of the Num_Subgroups field can be 1 octet.
[0318] In Table 7-1, the BIS_Sync State[i] field can indicate the BIS synchronization state (BIS_Sync_State) for the i-th subgroup. Bits 0-30 of the BIS_Sync State[i] field can indicate BIS index (BIS_index) 1 to BIS index 31 (Bit 0-30 = BIS_index[1-31]), and when the field value of the BIS_Sync State[i] field is 0x00000000: 0b0, it can indicate that it is not synchronized to the BIS index x (BIS_index[x]) (0x00000000: 0b0 = Not synchronized to BIS_index[x]), and when the field value of the BIS_Sync State[i] field is 0xxxxxxxxx: 0b1, it can indicate that it is synchronized to the BIS index x (0xxxxxxxxx: 0b1 = Synchronized to BIS_index[x]), and when the field value of the BIS_Sync State[i] field is 0xFFFFFFFF, it can indicate that synchronization to BIG has failed. If the value of the Num_Subgroups field is set to 0 (0xFFFFFFFF: Failed to sync to BIG), the BIS_Sync State[i] field will not exist (Shall not exist if Num_Subgroups = 0). For example, the size of the BIS_Sync State[i] field can be 4 octets.
[0319] The BIS_Sync State[i] field can be used to expose the synchronization state of the server with respect to one or more BISes for one or more subgroups in a BIG.
[0320] As in operation 1121, when a BIG asynchronous event is detected, the first external electronic device (200) may perform a synchronization operation for the BIG (or at least one BIS) provided by the second external electronic device (210) based on the BIGInfo received and stored from the second external electronic device (210). When the synchronization for the BIG (or at least one BIS) provided by the second external electronic device (210) is successful, the first external electronic device (200) may change the BIS_Sync_Index of the Broadcast Receive State Characteristic to 0xxxxxxxxx (Synchronized to BIS_Index[x]) and transmit the changed Broadcast Receive State Characteristic to the electronic device.
[0321] Previously, the first external electronic device (200) could perform a synchronization operation for the BIG (or at least one BIS) provided by the second external electronic device (210) based on the BIGInfo included in the AUX_SYNC_IND PDU only when the first external electronic device (200) received an AUX_SYNC_IND PDU including BIGInfo from the second external electronic device (210), and therefore, if the AUX_SYNC_IND PDU was not received, or if the AUX_SYNC_IND PDU was received but the received AUX_SYNC_IND PDU did not include BIGInfo, the synchronization operation for the BIG (or at least one BIS) provided by the second external electronic device (210) could not be performed. Therefore, when a BIG asynchronous event was detected, the audio service could be interrupted until the AUX_SYNC_IND PDU including BIGInfo was received.
[0322] In the present disclosure, when a BIG asynchronous event is detected, instead of waiting until an AUX_SYNC_IND PDU including BIGInfo is received, a synchronization operation for the BIG (or at least one BIS) provided by the second external electronic device (210) is performed based on the BIGInfo stored during the initial synchronization operation for the BIG (or at least one BIS) provided by the second external electronic device (210), thereby reducing (e.g., minimizing) the time for which the audio service is interrupted.
[0323] FIG. 12 is a flowchart schematically illustrating a method of operating an electronic device according to one embodiment.
[0324] Referring to FIG. 12, an electronic device (e.g., the electronic device (101) of FIG. 1 or FIG. 2) (e.g., the processor (120) of FIG. 1) may, in operation 1211, receive BIGInfo transmitted (e.g., broadcasted) from a broadcast source device (e.g., a second external electronic device (200) of FIG. 2, FIG. 10, or FIG. 11) via a communication circuit, and store the received BIGInfo in a memory (e.g., the memory (130) of FIG. 1). In one embodiment, the electronic device may receive the BIGInfo through a PA operation performed by the second external electronic device. In one embodiment, the electronic device may receive the BIGInfo from the second external electronic device via an AUX_SYNC_IND PDU.
[0325] The first external electronic device, which has received and stored BIGInfo from the second external electronic device via the AUX_SYNC_IND PDU, may perform a synchronization operation for at least one BIS provided by the second external electronic device based on the BIGInfo received in operation 1213. Subsequent operations 1213 to 1223 may be implemented similarly or substantially identically to operations 615 to 627 described in FIG. 6 , and thus, a detailed description thereof will be omitted herein. However, since FIG. 6 is an operation performed by the first external electronic device, an event confirming a request to stop receiving audio data through the BIS can be detected when a source modification operation code instructing a source modification operation is received from the electronic device, whereas in the case of FIG. 12 , since the operation is performed by the electronic device, an event confirming a request to stop receiving audio data through the BIS can be detected when a user input for stopping receiving audio data through the BIS is confirmed.
[0326] According to one embodiment of the present disclosure, a method of an electronic device (101; 200) may include an operation of receiving information related to BIG from an external electronic device (210).
[0327] According to one embodiment of the present disclosure, the method may include an operation of storing information related to the BIG.
[0328] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for at least one BIS provided by the external electronic device based on information related to the BIG.
[0329] According to one embodiment of the present disclosure, the method may include an operation of receiving audio data via the at least one BIS.
[0330] According to one embodiment of the present disclosure, the method may include an operation of detecting a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0331] According to one embodiment of the present disclosure, the method may include an operation of performing a synchronization operation for the at least one BIS based on the stored information related to the BIG, based on the BIG asynchronous event.
[0332] According to one embodiment of the present disclosure, the method may include an operation of determining whether synchronization for the at least one BIS is successful according to a synchronization operation for the at least one BIS based on information related to the stored BIG.
[0333] According to one embodiment of the present disclosure, the method may include receiving audio data via the at least one BIS based on determining that synchronization for the at least one BIS is successful.
[0334] According to one embodiment of the present disclosure, the method may include receiving, from the external electronic device, information related to a new BIG based on determining that synchronization for the at least one BIS has failed.
[0335] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for the at least one BIS based on information associated with the new BIG.
[0336] According to one embodiment of the present disclosure, the method may include an operation of determining whether the number of synchronization operations performed by the electronic device has reached a set number of synchronization operations for the at least one BIS, based on determining that synchronization for the at least one BIS has failed.
[0337] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for the at least one BIS based on information related to the stored BIG, based on determining that the number of synchronization operations performed by the electronic device does not reach the set number.
[0338] According to one embodiment of the present disclosure, the method may include an operation of receiving, from the external electronic device, information related to a new BIG while performing a synchronization operation for the at least one BIS, based on information related to the stored BIG, based on determining that the number of synchronization operations performed by the electronic device does not reach the set number.
[0339] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for the at least one BIS based on information associated with the new BIG.
[0340] According to one embodiment of the present disclosure, the method may include an operation of causing the second external electronic device to receive information related to a new BIG based on determining that the number of synchronization operations performed by the electronic device reaches the set number.
[0341] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for the at least one BIS based on information associated with the new BIG.
[0342] According to one embodiment of the present disclosure, the BIG asynchronous event may include at least one of an event that loses synchronization with the at least one BIS, or an event that confirms a request to stop receiving the audio data via the at least one BIS.
[0343] According to one embodiment of the present disclosure, an event of loss of synchronization for the at least one BIS may be detected when audio data is not successfully received through the at least one BIS for a set period of time.
[0344] According to one embodiment of the present disclosure, a method of an electronic device (200) may include an operation of establishing a connection with a first external electronic device (101).
[0345] According to one embodiment of the present disclosure, the method may include an operation of receiving information about a second external electronic device (210) from the first external electronic device.
[0346] According to one embodiment of the present disclosure, the method may include an operation of receiving information related to BIG from the second external electronic device based on information about the second external electronic device.
[0347] According to one embodiment of the present disclosure, the method may include an operation of storing information related to the BIG.
[0348] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for at least one BIS provided by the second external electronic device based on information related to the BIG.
[0349] According to one embodiment of the present disclosure, the method may include an operation of receiving audio data via the at least one BIS.
[0350] According to one embodiment of the present disclosure, the method may include an operation of detecting a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0351] According to one embodiment of the present disclosure, the method may include an operation of performing a synchronization operation for the at least one BIS based on the stored information related to the BIG, based on the BIG asynchronous event.
[0352] According to one embodiment of the present disclosure, the method may include an operation of determining whether synchronization for the at least one BIS is successful according to a synchronization operation for the at least one BIS based on information related to the stored BIG.
[0353] According to one embodiment of the present disclosure, the method may include receiving audio data via the at least one BIS based on determining that synchronization for the at least one BIS is successful.
[0354] According to one embodiment of the present disclosure, the method may include receiving, from the second external electronic device, information related to a new BIG based on determining that synchronization for the at least one BIS has failed.
[0355] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for the at least one BIS based on information associated with the new BIG.
[0356] According to one embodiment of the present disclosure, the method may include an operation of determining whether the number of synchronization operations performed by the electronic device has reached a set number of synchronization operations for the at least one BIS, based on determining that synchronization for the at least one BIS has failed.
[0357] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for the at least one BIS based on information related to the stored BIG, based on determining that the number of synchronization operations performed by the electronic device does not reach the set number.
[0358] According to one embodiment of the present disclosure, the method may include receiving, from the second external electronic device, information related to a new BIG while performing a synchronization operation for the at least one BIS, based on information related to the stored BIG, based on determining that the number of synchronization operations performed by the electronic device does not reach the set number.
[0359] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for the at least one BIS based on information associated with the new BIG.
[0360] According to one embodiment of the present disclosure, the method may include an operation of receiving information related to a new BIG from the second external electronic device based on determining that the number of synchronization operations performed by the electronic device reaches the set number.
[0361] According to one embodiment of the present disclosure, the method may include performing a synchronization operation for the at least one BIS based on information associated with the new BIG.
[0362] According to one embodiment of the present disclosure, the BIG asynchronous event may include at least one of an event that loses synchronization with the at least one BIS, or an event that confirms a request to stop receiving the audio data via the at least one BIS.
[0363] According to one embodiment of the present disclosure, an event of loss of synchronization for the at least one BIS may be detected when audio data is not successfully received through the at least one BIS for a set period of time.
[0364] According to one embodiment of the present disclosure, an event confirming a request to stop receiving the audio data via the at least one BIS may be detected when information requesting to stop synchronization for the at least one BIS is received from the second external electronic device.
[0365] According to one embodiment of the present disclosure, the method may include an operation of skipping a synchronization operation for the at least one BIS based on information related to the stored BIG until an event confirming a request to resume reception of the audio data through the at least one BIS is detected, when the BIG asynchronous event is an event confirming a request to stop reception of the audio data through the at least one BIS.
[0366] According to one embodiment of the present disclosure, information related to the BIG can be received via an AUX_SYNC_IND PDU.
[0367] According to one embodiment of the present disclosure, a storage medium storing at least one computer-readable instruction may be provided.
[0368] According to one embodiment of the present disclosure, the at least one instruction, when executed by one or more processors (120; 304) including processing circuitry of the electronic device (101; 200), may cause the electronic device to perform at least one operation.
[0369] According to one embodiment of the present disclosure, the at least one operation may include an operation of receiving information related to BIG from an external electronic device (210).
[0370] According to one embodiment of the present disclosure, the at least one operation may include an operation of storing information related to the BIG.
[0371] According to one embodiment of the present disclosure, the at least one operation may include performing a synchronization operation for at least one BIS provided by the external electronic device based on information related to the BIG.
[0372] According to one embodiment of the present disclosure, the at least one operation may include an operation of receiving audio data via the at least one BIS.
[0373] According to one embodiment of the present disclosure, the at least one operation may include detecting a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0374] According to one embodiment of the present disclosure, the at least one operation may include an operation of performing a synchronization operation for the at least one BIS based on the stored information related to the BIG, based on the BIG asynchronous event.
[0375] According to one embodiment of the present disclosure, a storage medium storing at least one computer-readable instruction may be provided.
[0376] According to one embodiment of the present disclosure, the at least one instruction, when executed by one or more processors (304) including processing circuitry of the electronic device (200), may cause the electronic device to perform at least one operation.
[0377] According to one embodiment of the present disclosure, the at least one operation may include an operation of establishing a connection with a first external electronic device (101).
[0378] According to one embodiment of the present disclosure, the at least one operation may include an operation of receiving information about a second external electronic device (210) from the first external electronic device.
[0379] According to one embodiment of the present disclosure, the at least one operation may include receiving information related to BIG from the second external electronic device based on information about the second external electronic device.
[0380] According to one embodiment of the present disclosure, the at least one operation may include an operation of storing information related to the BIG.
[0381] According to one embodiment of the present disclosure, the at least one operation may include performing a synchronization operation for at least one BIS provided by the second external electronic device based on information related to the BIG.
[0382] According to one embodiment of the present disclosure, the at least one operation may include an operation of receiving audio data via the at least one BIS.
[0383] According to one embodiment of the present disclosure, the at least one operation may include detecting a BIG asynchronous event associated with an asynchronous state for BIG while receiving the audio data.
[0384] According to one embodiment of the present disclosure, the at least one operation may include an operation of performing a synchronization operation for the at least one BIS based on the stored information related to the BIG, based on the BIG asynchronous event.
Claims
1. In an electronic device (101; 200), Communication circuit (190; 302); One or more processors (120; 304) comprising processing circuitry; and A memory (130; 306) for storing instructions, said instructions, when individually or collectively executed by said one or more processors, causing said electronic device to: Through the above communication circuit, information related to a broadcast isochronous group (BIG) is received from an external electronic device (210), Store information related to the above BIG in the above memory, Based on the information related to the BIG, a synchronization operation is performed for at least one broadcast isochronous stream (BIS) broadcast by the external electronic device through the communication circuit, Through the above communication circuit, audio data is received through the at least one BIS, While receiving the above audio data, detect a BIG asynchronous event related to an asynchronous state for BIG, and An electronic device that causes a synchronization operation for at least one BIS to be performed based on information related to the stored BIG, through the communication circuit, based on the BIG asynchronous event.
2. In paragraph 1, The above instructions, when individually or collectively executed by one or more processors, cause the electronic device to: Determining whether the synchronization for said at least one BIS is successful according to the synchronization operation for said at least one BIS based on the information related to said stored BIG, and An electronic device that causes audio data to be received via said at least one BIS based on verification that synchronization to said at least one BIS is successful.
3. In paragraph 2, The above instructions, when individually or collectively executed by one or more processors, cause the electronic device to: Based on determining that synchronization for at least one BIS has failed, receiving information related to a new BIG from the external electronic device through the communication circuit, and An electronic device causing said at least one BIS to perform a synchronization operation through said communication circuit based on information relating to said new BIG.
4. In paragraph 2, The above instructions, when individually or collectively executed by one or more processors, cause the electronic device to: Based on the determination that the synchronization for the at least one BIS has failed, determining whether the number of synchronization operations performed by the electronic device has reached a set number of synchronization operations for the at least one BIS, and An electronic device that causes a synchronization operation for said at least one BIS to be performed based on information related to said stored BIG, through said communication circuit, based on confirmation that the number of synchronization operations performed by said electronic device does not reach the set number.
5. In paragraph 4, The above instructions, when individually or collectively executed by one or more processors, cause the electronic device to: Based on the confirmation that the number of synchronization operations performed by the electronic device does not reach the set number, while performing a synchronization operation for the at least one BIS, based on the information related to the stored BIG, receiving information related to a new BIG from the external electronic device through the communication circuit, and An electronic device causing said at least one BIS to perform a synchronization operation through said communication circuit based on information relating to said new BIG.
6. In paragraph 4, The above instructions, when individually or collectively executed by one or more processors, cause the electronic device to: Based on the confirmation that the number of synchronization operations performed by the electronic device reaches the set number, information related to a new BIG is received from the second external electronic device through the communication circuit, and An electronic device causing said at least one BIS to perform a synchronization operation through said communication circuit based on information relating to said new BIG.
7. In any one of paragraphs 1 to 6, The electronic device wherein the BIG asynchronous event comprises at least one of an event of losing synchronization with the at least one BIS, or an event of confirming a request to stop receiving the audio data via the at least one BIS.
8. In paragraph 7, An event of loss of synchronization for said at least one BIS is detected by said electronic device when audio data is not successfully received via said at least one BIS for a set period of time.
9. In an electronic device (200), Communication circuit (302); One or more processors (304) including processing circuitry; and A memory (306) for storing instructions, wherein the instructions, when individually or collectively executed by one or more processors, cause the electronic device to: Through the above communication circuit, a connection is established with a first external electronic device (101), Through the above communication circuit, information about the second external electronic device (210) is received from the first external electronic device, Based on the information about the second external electronic device, information related to a broadcast isochronous group (BIG) is received from the second external electronic device through the communication circuit, Store information related to the above BIG in the above memory, Based on the information related to the BIG, a synchronization operation is performed for at least one broadcast isochronous stream (BIS) broadcast by the second external electronic device through the communication circuit, Through the above communication circuit, audio data is received through the at least one BIS, While receiving the above audio data, detect a BIG asynchronous event related to an asynchronous state for BIG, and An electronic device that causes a synchronization operation for at least one BIS to be performed based on information related to the stored BIG, through the communication circuit, based on the BIG asynchronous event.
10. In paragraph 9, The above instructions, when individually or collectively executed by one or more processors, cause the electronic device to: Determining whether the synchronization for said at least one BIS is successful according to the synchronization operation for said at least one BIS based on the information related to said stored BIG, and An electronic device that causes audio data to be received via said at least one BIS based on verification that synchronization to said at least one BIS is successful.
11. In paragraph 10, The above instructions, when individually or collectively executed by one or more processors, cause the electronic device to: Based on determining that synchronization for at least one BIS has failed, receiving information related to a new BIG from the second external electronic device through the communication circuit, and An electronic device causing said at least one BIS to perform a synchronization operation through said communication circuit based on information relating to said new BIG.
12. In paragraph 10, The above instructions, when individually or collectively executed by one or more processors, cause the electronic device to: Based on the determination that the synchronization for the at least one BIS has failed, determining whether the number of synchronization operations performed by the electronic device has reached a set number of synchronization operations for the at least one BIS, and An electronic device that causes a synchronization operation for said at least one BIS to be performed based on information related to said stored BIG, through said communication circuit, based on confirmation that the number of synchronization operations performed by said electronic device does not reach the set number.
13. In paragraph 12, The above instructions, when individually or collectively executed by one or more processors, cause the electronic device to: Based on the confirmation that the number of synchronization operations performed by the electronic device does not reach the set number, while performing the synchronization operation for the at least one BIS, based on the information related to the stored BIG, receiving information related to a new BIG from the second external electronic device through the communication circuit, and An electronic device causing said at least one BIS to perform a synchronization operation through said communication circuit based on information relating to said new BIG.
14. In paragraph 12, The above instructions, when individually or collectively executed by one or more processors, cause the electronic device to: Based on the confirmation that the number of synchronization operations performed by the electronic device reaches the set number, information related to a new BIG is received from the second external electronic device through the communication circuit, and An electronic device causing said at least one BIS to perform a synchronization operation through said communication circuit based on information relating to said new BIG.
15. In a storage medium storing at least one computer-readable instruction, The at least one instruction, when executed by one or more processors (120; 304) comprising processing circuitry of the electronic device (101; 200), causes the electronic device to perform at least one operation; At least one of the above actions: An operation of receiving information related to a broadcast isochronous group (BIG) from an external electronic device (210); An action to store information related to the above BIG, An operation of performing a synchronization operation for at least one broadcast isochronous stream (BIS) broadcast by the external electronic device based on information related to the BIG; An operation of receiving audio data via at least one BIS, An operation for detecting a BIG asynchronous event related to an asynchronous state for BIG while receiving the above audio data, and A storage medium comprising an operation for performing a synchronization operation for at least one BIS based on information related to the stored BIG, based on the BIG asynchronous event.
Citation Information
Patent Citations
Coexistence of isochronous communication device with co-located asynchronous communication device
US20220078623A1
Method and electronic device for bluetooth audio multi-streaming
US20230064205A1
Method for receiving audio data by using bluetooth technology, and apparatus therefor
WO2020213959A1
Multi-source audio broadcast to an audio sink device
WO2023018410A1
Electronic device for providing audio service, and operation method therefor
WO2023204578A1