Method and device for supporting bluetooth EDR in wireless communication system
By fragmenting and reassembling payload bodies in Bluetooth EDR communication, the method enhances data transmission rates and reduces packet error rates, thereby enabling more effective support for lossless audio services.
Patent Information
- Application Number
- PCT/KR2024/017675
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-13
- Filing Date
- 2024-11-08
- Publication Date
- 2025-05-22
AI Technical Summary
Current Bluetooth EDR technology faces challenges in achieving high data transmission rates while maintaining low packet error rates (PER), which is essential for providing lossless audio services.
The proposed solution involves a method and device that fragment the payload body into smaller pieces and reassemble them at the receiver, using a divide field to indicate the number of fragmented payload bodies, thereby improving data transmission efficiency and reducing PER.
This approach allows for simultaneous improvement in data transmission rate and PER performance in Bluetooth EDR communication, effectively addressing the limitations of existing technologies in supporting lossless audio services.
Smart Images

Figure KR2024017675_22052025_PF_FP_ABST
Abstract
Description
Method and device for supporting Bluetooth EDR in a wireless communication system
[0001] The present disclosure relates to a wireless communication system, and more particularly, to a method and apparatus for supporting Bluetooth enhanced data rate (EDR) in a wireless communication system.
[0002] Bluetooth communication technology can support short-range wireless communication, allowing electronic devices to connect to each other for the exchange of data or information. Bluetooth communication technology can include Bluetooth Legacy (or Classic) communication technology or Bluetooth Low Energy (BLE or LE) communication technology, and can have various connection topologies, such as a piconet or scatternet.
[0003] Bluetooth 2.0, a variant of Bluetooth Classic communication technology, features enhanced data rate (EDR). For example, EDR can be implemented in EDR2 mode, which supports data rates of up to 2 Mbps, and EDR3 mode, which supports data rates of up to 3 Mbps.
[0004] Under the same BER (bit error rate) conditions, larger data packet sizes increase the likelihood of data loss during transmission, resulting in worse packet error rate (PER) performance. Compared to EDR3, EDR2 has a slower data transmission speed, but its smaller packet size allows for better PER performance. For this reason, EDR2 mode is currently primarily used for Bluetooth audio services.
[0005] Recently, there has been a growing consumer demand for lossless audio services that minimize audio information loss. To apply Bluetooth technology to lossless audio services, a method is needed that can transmit data packets faster while reducing packet errors (i.e., PER).
[0006] The present disclosure provides a device and method for enhancing the data rate and PER performance of a wireless communication system. Specifically, the present disclosure provides a device and method capable of simultaneously achieving high data transmission rates and improved PER performance in EDR Bluetooth communication technology.
[0007] The technical problems to be achieved in this document are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by a person having ordinary skill in the technical field to which the present invention belongs from the description below.
[0008] A source device of a wireless communication system according to one embodiment of the present disclosure comprises: a transceiver; and a control unit connected to the transceiver, wherein the control unit is configured to: connect to at least one sink device via a short-range wireless communication network, generate an original enhanced data rate (EDR) payload including an original payload body, generate a data packet including at least one payload body fragmented from the original payload body and a divide field indicating the number of the at least one fragmented payload body, and transmit the data packet to the at least one sink device.
[0009] According to one embodiment of the present disclosure, a sink device of a wireless communication system includes a transceiver; and a control unit connected to the transceiver, wherein the control unit is configured to: connect to a source device via a short-range wireless communication network, receive a data packet from the source device, and identify data included in at least one or more fragmented payload bodies included in the data packet based on a divide field indicating the number of fragmented at least one payload body, and reassemble the at least one or more fragmented payload bodies into an original payload body, wherein the original payload body is included in an original enhanced data rate (EDR) payload generated by the source device, and the data packet may include the at least one or more fragmented payload bodies and the divide field.
[0010] According to one embodiment of the present disclosure, the data rate and PER performance of Bluetooth communication technology can be simultaneously improved. Specifically, in EDR Bluetooth communication technology, high data transmission rates and improved PER performance can be achieved simultaneously.
[0011] According to one embodiment of the present disclosure, PER performance of short-range wireless communication between a source device and a sink device can be improved.
[0012] The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects that are not mentioned can be clearly understood by a person having ordinary skill in the art to which the present disclosure belongs from the description below.
[0013] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.
[0014] FIG. 2 is a diagram illustrating a connection between an electronic device and a plurality of external electronic devices according to one embodiment.
[0015] FIG. 3 is a drawing for explaining the configuration of an electronic device according to one embodiment.
[0016] FIG. 4 is a diagram illustrating a Bluetooth protocol stack according to one embodiment.
[0017] FIG. 5 is a diagram illustrating a data packet format according to one embodiment.
[0018] Figure 6 is a drawing for explaining a payload according to one embodiment.
[0019] Figure 7 is a drawing for explaining a payload according to one embodiment.
[0020] Figure 8 is a drawing for explaining a payload according to one embodiment.
[0021] FIG. 9 is a flowchart of a process in which a source device transmits a data packet to at least one sink device according to one embodiment.
[0022] FIG. 10 is a flowchart of a process for a sink device to verify data included in a data packet received from a source device according to one embodiment.
[0023] FIG. 11 is a graph for comparing the throughput of a data packet when the payload body is split into 2, 3, or 4 according to one embodiment.
[0024] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the attached drawings.
[0025] In describing the embodiments, descriptions of technical details that are well known in the technical field to which the present disclosure pertains and are not directly related to the present disclosure will be omitted. This is to convey the gist of the present disclosure more clearly without obscuring it by omitting unnecessary explanations.
[0026] For the same reason, some components in the attached drawings are exaggerated, omitted, or schematically depicted. Furthermore, the dimensions of each component do not entirely reflect its actual size. Identical or corresponding components in each drawing are assigned the same reference numbers.
[0027] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to one embodiment.
[0028] 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 at least one of 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)).
[0029] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and 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.
[0030] The auxiliary processor (123) may control at least a portion 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 unit) 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, on the electronic device (101) itself where the artificial intelligence model is executed, 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.
[0031] The memory (130) can store various data used by at least one component (e.g., the processor (120) or the sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., the program (140)) and input data or output data for commands related thereto. The memory (130) can include a volatile memory (132) or a non-volatile memory (134). The program (140) can be stored as software in the memory (130) and can include, for example, an operating system (142), middleware (144), or an application (146).
[0032] 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).
[0033] 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. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0034] 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.
[0035] 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).
[0036] 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.
[0037] 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.
[0038] 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).
[0039] 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. In one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0040] 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.
[0041] 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, for example, as at least a part of a power management integrated circuit (PMIC).
[0042] 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.
[0043] 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, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) 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 multiple 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).
[0044] 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.
[0045] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In 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). In 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 at least one selected antenna. In 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). 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.
[0046] 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)).
[0047] 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 another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing 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.
[0048] Electronic devices according to various embodiments disclosed in the present disclosure 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 of the present disclosure are not limited to the aforementioned devices.
[0049] The various embodiments of the present disclosure and the terminology used therein are not intended to limit the technical features described in the present disclosure 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 the present disclosure, 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, 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 (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.
[0050] The term "module" used in various embodiments of the present disclosure 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).
[0051] The term “transmission” as used in various embodiments of the present disclosure may include transmission in unicast, multicast, and broadcast modes. In one embodiment of the present disclosure, transmission of an advertising signal may refer to broadcasting of the advertising signal. For example, transmission of an extended advertising (EA) signal and / or a periodic advertising (PA) signal may refer to broadcasting of the EA signal and / or the PA signal. Furthermore, in one embodiment of the present disclosure, transmission of a broadcast isochronous stream (BIS) stream may refer to broadcasting of the BIS stream. Here, broadcasting of the BIS stream may refer to transmitting or broadcasting data based on the BIS stream. More specifically, it may refer to transmitting or broadcasting BIS packets, BIS protocol data units (PDUs), data, audio data, etc. via the BIS stream.
[0052] Various embodiments of the present disclosure may be implemented as software (e.g., a program (#40)) including one or more commands stored in a storage medium (e.g., an internal memory (#36) or an external memory (#38)) readable by a machine (e.g., an electronic device (#01)). For example, a processor (e.g., a processor (#20)) of the machine (e.g., an electronic device (#01)) may call at least one command among the one or more commands 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 command called. The one or more commands 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.
[0053] According to one embodiment, the method according to various embodiments disclosed in the present disclosure may be provided as included in a computer program product. The computer program product may be traded as a commodity between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an account server.
[0054] According to various embodiments, 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 various embodiments, 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 various embodiments, 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.
[0055] FIG. 2 is a drawing for explaining a connection (200) between an electronic device (201) and a plurality of external electronic devices (202, 204) according to one embodiment.
[0056] Referring to FIG. 2, the electronic device (201) may be a master device or a source device that provides data (e.g., audio data or multimedia data). The electronic device (201) may be an electronic device such as a smart phone, and may be the electronic device (101) of FIG. 1. According to one embodiment, the external electronic device #1 (202) and the external electronic device #2 (204) may be slave devices or sink devices that receive data from the electronic device (201) and process or output the received data. The external electronic device #1 (202) and the external electronic device #2 (204) may be the electronic device (102) or the electronic device (104) of FIG. 1, respectively.
[0057] The electronic device (201) and the external electronic device #1 (202) or the electronic device (201) and the external electronic device #2 (204) can be connected to each other based on a wireless communication technology (e.g., Bluetooth legacy (or classic) or Bluetooth low energy (BLE) communication technology) to transmit and receive data.
[0058] In the various embodiments described below, a case will be described where an electronic device (201) transmits data to two external electronic devices (202, 204). For example, the electronic device (201) may transmit sound data that may be provided to a user to external electronic device #1 (202) and / or external electronic device #2 (204).
[0059] In one embodiment, external electronic device #1 (202) and / or external electronic device #2 (204) may be devices included in a single set. For example, the devices included in a single set may be devices that are each connected via a separate communication link and provide related functions to provide a single integrated service (e.g., stereo sound output or 5.1 channel sound output). For example, external electronic device #1 (202) and external electronic device #2 (204) may be wireless earphone devices that operate as a single set. In addition, external electronic device #1 (202) may be one of the left external device and the right external device, and external electronic device #2 (204) may be the other one of the left external device and the right external device. In one embodiment, when the external electronic device #1 (202) and the external electronic device #2 (204) are implemented as wireless earphones, the external electronic device #1 (202) and / or the external electronic device #2 (204) may each receive various data (e.g., data for synchronizing sound that can be output from the wireless earphones, data for adjusting sound, or a response signal corresponding to a signal transmitted by the electronic device (201)) from the electronic device (201).
[0060] In FIG. 2, an example in which an electronic device (201) is connected to two external electronic devices (202, 204) is described, but the present invention is not limited thereto, and the electronic device (201) may be connected to a variety of external electronic devices, including three or more. In addition, various embodiments may be applied to devices that receive data transmitted by the electronic device (201) as well as external devices, and other types of devices capable of wireless communication with the electronic device (201), such as smart phones, smart watches, or tablet PCs.
[0061] In one embodiment, the electronic device (201) may establish a first communication link (link 1) to perform data communication with an external electronic device #1 (202). In one embodiment, the electronic device (201) may establish a second communication link (link 2) to perform data communication with an external electronic device #2 (204). Additionally, the external electronic device #1 (202) and / or the external electronic device #2 (204) may be additionally connected via a separate third communication link (not shown) if necessary.
[0062] In some embodiments, connection-oriented communication may be performed via the first communication link and the second communication link. Additionally, connectionless communication may be performed between the electronic device (201) and external electronic device #1 (202) and external electronic device #2 (204). Connection-oriented communication and connectionless communication may be performed via isochronous (ISO) channels.
[0063] In one embodiment, the electronic device (201) may transmit various signals (e.g., advertising signals) to the external electronic device #1 (202) and / or the external electronic device #2 (204) to establish a communication link or to synchronize with the external electronic device #1 (202) and / or the external electronic device #2 (204).
[0064] In one embodiment, the electronic device (201) may receive various information (e.g., connection device information and / or device property information) from external electronic device #1 (202) and / or external electronic device #2 (204), and provide various user interfaces (e.g., notifications or control interfaces) through a display (e.g., display module (160) of FIG. 1) based on the received information.
[0065] FIG. 3 is a drawing for explaining the configuration of an electronic device (300) according to one embodiment.
[0066] Referring to FIG. 3, an electronic device (300) according to an embodiment of the present disclosure may include a communication unit (330), a storage unit (310), and a processor (320). However, the configuration of the electronic device (300) is not limited thereto, and may include only some of the above-described components of FIG. 3, or may further include at least one or more other components (e.g., an input module (150), a display module (160)) in addition to the above-described components. In one embodiment, the electronic device (300) may be the electronic device (101) of FIG. 1 or the electronic device (201) of FIG. 2. The electronic device (300) of FIG. 3 may include components that are identical or similar to at least one of the components (e.g., modules) of the electronic device (101) of FIG. 1. Accordingly, the communication unit (330) may further include a communication circuit corresponding to the communication module (190) or wireless communication module (192) of FIG. 1, and may further include an antenna module corresponding to the antenna module (197) of FIG. 1. In addition, the storage unit (310) and the processor (320) may correspond to the memory (130) and the processor (120) of FIG. 1, and when the electronic device (300) further includes other components, the other components may also correspond to the components of FIG. 1.
[0067] The communication unit (330) can support wireless communication between the electronic device (1500) and an external electronic device. For example, the communication unit (330) can transmit and receive signals and / or data with the external electronic device using a frequency band supported by wireless communication according to a prescribed wireless communication protocol. In one embodiment, the communication unit (330) can communicate with the external electronic device through a short-range wireless communication network such as ultra-wideband (UWB), Bluetooth, low-power Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA). According to one embodiment, the communication unit (330) further includes a Bluetooth communication unit (333) and can communicate with at least one external electronic device through the Bluetooth communication unit (333).
[0068] In one embodiment, the communication unit (330) may operate independently from the processor (320) and may include one or more communication processors supporting wireless communication. In one embodiment, the communication circuitry included in the communication unit (330) may also be referred to as a communication interface or a communication module. The operations of the communication unit (330) described above may be performed using the communication circuitry.
[0069] The antenna module may include a plurality of antennas, and at least one antenna suitable for a communication method used in the communication network (e.g., the first network (198) of FIG. 1) may be selected from the plurality of antennas by the communication circuit.
[0070] The storage unit (310) can store various information for the operation of the electronic device (300). The information stored in the storage unit (310) can include, for example, input data or output data for software and commands related thereto. In one embodiment, the information stored in the storage unit (310) can include at least one instruction for an operation for transmitting additional data. The instruction can correspond to the program (140) of FIG. 1. The instruction can be executed through the processor (320), and by executing the instructions by the processor (320), the electronic device (300) can perform operations according to one embodiment of the present disclosure. The storage unit (310) can include a volatile memory or a non-volatile memory.
[0071] The processor (320) can control at least one other component (e.g., hardware or software component) of the electronic device (300) and perform various data processing or calculations. As at least a part of the data processing or calculation, the processor (320) can load commands or data received from other components (e.g., communication circuits) into the storage unit (310), process the commands or data stored in the storage unit (310), and store the resulting data in the storage unit (310).
[0072] FIG. 4 is a diagram for explaining a Bluetooth protocol stack (400) according to one embodiment.
[0073] Referring to FIG. 4, the function of the Bluetooth protocol stack (400) can be divided into three main layers: a controller (410), a host (430), and an application (440). The HCI (host controller interface) (420) can be divided into a host-side HCI and a controller-side HCI to handle the interface between the controller (410) and the host (430). For example, the HCI (420) can provide a command interface to the BR / EDR physical layer (411) and the link manager (412).
[0074] Application (440) is a direct user interface that defines a profile that provides interoperability between different applications.
[0075] The host (430) may include a logical link and control adaptation protocol layer (L2CAP) (431), a cable replacement protocol (RFCOMM) (432), and a service discovery protocol (SDP) (433).
[0076] L2CAP (431) can coordinate upper-layer protocols at the baseband. L2CAP (431) can shield upper-layer protocols from the details of lower-layer protocols. L2CAP (431) can provide connection-oriented services or connectionless data services to upper-layer protocols. For example, L2CAP (431) can perform protocol multiplexing functions, segmentation and reassembly, and group abstractions. Through the protocol multiplexing functions, segmentation, and reassembly of L2CAP (431), upper-layer protocols and applications can transmit and receive upper-layer data packets up to 64 kilobytes in size. L2CAP (431) also enables channel-specific flow control and retransmission.
[0077] According to one embodiment, the source device can transmit the payload to the link manager (412) described below via L2CAP (431). In contrast to the payload body after being segmented by the link manager (412) in the present disclosure, the payload body transmitted to the link manager (412) via L2CAP (431) may be referred to as an original payload body. For example, the original payload body may be the same as the pre-segmentation payload body (633) of FIG. 6, the pre-segmentation payload body (733) of FIG. 7, or the pre-segmentation payload body (833) of FIG. 8. In addition, a payload including the original payload body may be referred to as an original EDR payload. In other words, the source device transmits the original EDR payload to the link manager (412) via L2CAP (431).
[0078] RFCOMM (432) can provide serial port emulation via L2CAP. RFCOMM (432) can emulate RS-232 control and data signals over the Bluetooth baseband and provide transport functions for upper layer services that use the serial interface as a transport mechanism. RFCOMM (432) can provide multiple simultaneous connections to a single device and can connect to multiple devices. RFCOMM (432) can also provide simultaneous connections between a single electronic device and multiple electronic devices.
[0079] SDP (433) provides a means for applications to query services and service characteristics, enabling connections to be established between two or more Bluetooth devices. SDP (433) can be built on top of L2CAP.
[0080] The controller (410) may include a BR / EDR physical layer (BR / EDR physical layer) (411), a link manager layer (LM) (412), and a controller-side HCI.
[0081] The BR / EDR physical layer (411) may include a BR / EDR radio layer and a baseband and link control layer.
[0082] The BR / EDR radio layer can implement FHSS technology of 1600 hops per second to perform Bluetooth transmission in the 2.4 GHz band. BR (Basic rate) mode is mandatory, and EDR mode is optional. The BR / EDR radio layer randomly hops on 79 designated Bluetooth channels, each with a bandwidth of 1 MHz. The frequency of each Bluetooth channel is located at (2402 + k) MHz, where k = 0, 1, ..., 78. Gaussian frequency shift keying (GFSK) and differential phase shift keying (DPSK) can be used as modulation techniques in EDR mode. The EDR radio layer uses a time division duplex (TDD) topology that transmits data in one direction at a time, and transmits data in both directions alternately.
[0083] The baseband and link control layers can activate the PHY RF link between different Bluetooth devices to form a piconet. The baseband handles channel processing and timing, while the link control handles channel access control.
[0084] The link manager (412) can manage the setup and configuration of links between different Bluetooth devices. The link manager (412) can generate, exchange, verify, and authenticate link and encryption keys, and can configure security features. The link manager (412) can control the power mode and duty cycle of Bluetooth wireless devices, and the connection status of Bluetooth devices within a piconet.
[0085] A link manager (412) according to one embodiment may receive a data packet from an L2CAP (431). The link manager (412) according to one embodiment may fragment a single payload body within a data packet into multiple pieces, and add a payload header to at least one or more of the fragmented payload bodies, thereby generating a data packet including multiple fragmented payload bodies. The link manager (412) may additionally allocate a field to indicate that the payload body has been fragmented. For example, the link manager (412) may additionally allocate such a field to the payload header. According to one embodiment, a divide field to indicate that the payload body has been fragmented may be newly defined in the payload header. For example, the divide field may be a field that indicates how many pieces an existing payload body is divided into.
[0086] The link manager (412), L2CAP (431), RFCOMM (432) and PPP (point-to-point protocol) of the Bluetooth protocol stack (400) correspond to the data link layer of the OSI layer model and can perform similar functions.
[0087] FIG. 5 is a diagram illustrating a data packet format according to one embodiment. For convenience of explanation, FIG. 5 illustrates the format of a 3-DH5 packet type in EDR3 mode. For the 3-DH5 packet type, the maximum payload size is 1021 bytes. When transmitting a data packet, the smaller the packet size, the better the PER. Since the 3-DH5 packet type in EDR3 mode has a larger maximum payload size than packet types in other EDR modes, the PER performance may be lower.
[0088] However, the present disclosure is not limited to embodiments related to the EDR packet format, and may also be applied to embodiments in which the purpose of improving PER is applied.
[0089] A data packet (510) may be composed of an access code (520), a packet header (530), and a PDU. The access code (520) and the packet header (530) are modulated with GFSK (511), and the PDU is modulated with DPSK (512).
[0090] The access code (520) is used for synchronization, DC offset compensation, and identification of all packets exchanged on the physical channel. Data packets begin with the access code.
[0091] The packet header (530) may include logical transport address (LT_ADDR), type (Type), flow control (Flow), automatic repeat request number (ARQN), sequence number (SEQN), and header error check (HEC) fields. The LT_ADDR field may indicate a sink device or a source device. The Type field may indicate a packet type and determine the number of slots occupied by the packet. The Flow field is for controlling the flow of EDR packets. If the receive buffer of the sink device is full, 'STOP' (FLOW = 0) may be returned, temporarily stopping data transmission from the source device. If the receive buffer of the sink device can accept data, 'GO' (FLOW = 1) may be returned. The HEC field checks the integrity of the packet header.
[0092] The ARQN field can inform the source device that the payload data has been successfully transmitted. The sink device can return '1' to acknowledge (ACK) that the payload data has been successfully received, or '0' to indicate a negative acknowledgement (NACK). If the sink device returns '0', the source device can retransmit the previously transmitted packet.
[0093] The SEQN field provides a sequence numbering scheme for ordering a data packet stream. The SEQN field toggles whenever a new packet is transmitted. If a packet is retransmitted, the sink device can identify two identical packets with unchanged SEQN field values and ignore the second packet and subsequent packets until the SEQN field value changes.
[0094] The PDU includes an EDR payload (540), which may include a payload header, a payload body, and a cyclic redundancy check (CRC). If necessary, the EDR payload (540) may further include a message integrity check (MIC).
[0095] The payload header may include logical link identifier (LLID), Flow, Length, and RFU (reserved for future use).
[0096] The LLID can be used to identify where in the upper layer (e.g., L2CAP) message the payload body, which is bound to the payload header, was generated.
[0097] The Flow field is intended to control the flow of EDR packets. When the sink device's buffer is full, 'STOP' (FLOW = 0) may be returned, temporarily stopping data transmission from the source device. When the sink device's buffer can accept data, 'GO' (FLOW = 1) may be returned. The Flow field of the EDR payload (540) may be indicated via an L2CAP msg.
[0098] Length can indicate the length of the payload body.
[0099] RFU is the portion of the EDR payload (540) where excess bytes are allocated.
[0100] This disclosure describes a new data packet format that fragments and recombines the payload body for improved data transmission. When the BER is constant, a smaller packet size results in a lower PER. Therefore, the following describes a method and device capable of reducing the PER by fragmenting the payload body to create data packets containing smaller payloads.
[0101] FIG. 6 is a diagram illustrating a payload according to one embodiment. Specifically, FIG. 6 relates to an embodiment in which the payload body can be split into two. For convenience, an embodiment related to the EDR packet format is described. However, the present disclosure is not limited to the embodiment related to the EDR packet format, and can also be applied to embodiments that aim to improve PER.
[0102] Referring to FIG. 6, the EDR packet format may be composed of an access code, a packet header, and a PDU, as in FIG. 5. The PDU may include a payload, and the payload may include a payload header and a payload body. The payload header may include LLID, Flow, Length, divide fields (611, 631, 641), and RFU. The payload may further include an MIC or CRC, as needed.
[0103] In one embodiment, a source device may split a payload body to generate a data packet containing the split payload body. If the data packet contains the split payload body, a sink device receiving the data packet from the source device may verify the data of the split payload body. The sink device may reassemble the split payload bodies to generate the original payload body.
[0104] According to one embodiment, the payload header includes LLID, Flow, Length, Divide, RFU, and may further include at least one field among RxMap, NESN (next expected sequence number), and SN (sequence number). For example, the payload header may include LLID, Length, and RFU, such as payload (620). The payload header may further include an additional field (610) including Divide, Flow, RxMap, NESN, and SN.
[0105] The Divide field may be a field indicating whether the payload body is divided or how many parts the payload body is divided into. In one embodiment, if the payload body can be divided into two, the Divide field may be composed of 1 bit. In one embodiment, if 1 bit is '0', that is, if the value of the Divide field is 0, it may indicate that the payload body is not divided, and if 1 bit is '1', that is, if the value of the Divide field is 1, it may indicate that the payload body is divided into two.
[0106] Additionally, a Divide field may be defined within the payload header. For this purpose, some of the surplus bits allocated to the RFU may be allocated to the divide field. The RxMap or NESN and SN fields may contain information related to ACK / NACK for the divided payload.
[0107] The source device can generate multiple new payloads by splitting the payload body of the original payload into multiple payload bodies. At this time, a payload header is added to each of at least one of the split payload bodies, and at least one of an MIC or CRC may be added if necessary.
[0108] For example, the source device can split one payload body (633) into a split payload body #1 (642) and a split payload body #2 (644). The source device can generate payload #1 by adding fields of Divide, RxMap, NESN, and SN to the payload header of the split payload body #1 (642), and can generate payload #2 by adding fields of Length and RFU as the payload header of the split payload body #2 (644). In some cases, a field of LLID (643) can be further added to the payload header of the split payload body #2 (644). In some cases, at least one of MIC or CRC can be further combined with the split payload body #1 (642) or the split payload body #2 (644). The new payloads generated in this way can be sequentially arranged to become a combined payload (640). Alternatively, the source device may combine payload #1 and payload #2 to generate a combined payload (640) and generate a data packet containing the combined payload (640). That is, a data packet containing multiple payloads (642, 644) smaller in size than the original payload may be generated.
[0109] If the source device divides the payload body into two, the value of the Divide field (641) can be set to 1. The sink device, which receives the data packet from the source device, can verify the data included in all payloads included in the data packet based on the divide field value. For example, if the divide field value is 1, the sink device can identify that the payload body has been divided into two, and can recombine the two divided payload bodies to generate the original payload body.
[0110] The RxMap, NESN and SN fields can be used for ACK / NACK for each segmented payload body as described below.
[0111] As such, a source device according to one embodiment of the present disclosure can perform a process of fragmenting the payload body of packet data. Meanwhile, this fragmentation process can be performed by a link manager. For example, the link manager can fragment the payload body included in a data packet received from an L2CAP (e.g., L2CAP (431) of FIG. 4) into multiple pieces.
[0112] In one embodiment, a sink device recombines one or more of the transmitted fragmented payload bodies into an original payload body. This recombining process may be performed by a link manager.
[0113] PER performance can be improved by transmitting new payloads including each segmented payload body as shown in FIG. 6. The maximum size of each of payload body #1 (642) and payload body #2 (644) is approximately 506 bytes, which is approximately half of the maximum size of the payload body (633) before segmentation, which is 1021 bytes. Under the same transmission conditions, PER can be improved by using a smaller payload body for the combined payload (640) than for the payload (630) before segmentation.
[0114] An EDR packet format according to one embodiment may include fields for ACK / NACK for each segmented payload body. For example, the EDR packet format may include an RxMap or NESN and SN.
[0115] RxMap (612) is a field for ACK / NACK for each of the divided payload bodies (642 and 644) in the sink device. The sink device can confirm that one payload body has been divided and received into payload body #1 (642) and payload body #2 (644) based on the value of the Divide field (641). The sink device can ACK / NACK whether or not each of the divided payload body #1 (642) and the divided payload body #2 (644) has been received.
[0116] The source device can define the RxMap (612) to be able to ACK / NACK each of the two split payloads. For example, the source device can correspond the case where the split payload body #1 (642) is normally received by the sink device to '1_', the case where the split payload body #1 (642) is not normally received by the sink device to '0_', the case where the split payload body #2 (644) is normally received by the sink device to '_1', and the case where the split payload body #2 (644) is not normally received by the sink device to '_0'. For example, if the sink device normally receives both the split payload body #1 (642) and the split payload body #2 (644), the sink device can ACK the source device by indicating '11' through the RxMap (612). That is, RxMap (612) may include Ack bits for the segmented payload bodies (642, 644).
[0117] NESN (613) can indicate which number of divided payload bodies the sink device should transmit to the source device when the Divide field (641) indicates 1 or more. SN (614) can indicate which number of divided payload bodies the source device should transmit when the Divide field (641) indicates 1 or more.
[0118] The source device stores data that is mapped to each of the segmented payload bodies in the SN field. For example, the source device may set the SN to '00' for the first transmission, indicating that it is transmitting from the 0th payload body (e.g., payload body #1 (642)).
[0119] The sink device determines which of the divided payload bodies were received normally and which were not based on the number of divided payload bodies found based on the Divide field, and retransmits this information in the NESN field. For example, the sink device can determine that it will receive the 0th payload body (e.g., payload body #1 (642)) and the 1st payload body (e.g., payload body #2 (644)) based on the SN of '00'. If the sink device has successfully received both the 0th payload body and the 1st payload body, the sink device can store '10' in the NESN and send it to the source device, indicating that it wants to transmit the 2nd payload body. In this case, the source device can transmit the 2nd payload body and the 3rd payload body. If the sink device successfully receives both the second payload body and the third payload body, the sink device can store '00' in the NESN and send it to the source device, indicating that the sink device should transmit the 0th payload body again.
[0120] RxMap (612) can perform similar functions to NESN (613) and SN (614). Accordingly, the source device and sink device of the present disclosure can use only RxMap (612), only NESN (613) and SN (614), or both RxMap (612) and NESN (613) and SN (614) to perform ACK / NACK functions for segmented payload bodies.
[0121] Even when segmentation and reassembly of the payload body is performed at the source device and the sink device, the data packet may include a packet header (e.g., packet header (530)), and the packet header may include ARQN and SEQN.
[0122] In one embodiment, when a payload body is split, the ARQN may return '1' only when all of the split payload bodies are successfully received, indicating that the payload data has been successfully received. The ARQN may return '0' when any of the payload bodies are not received, indicating that the payload data has not been successfully received. For example, in FIG. 6, when the split payload body #1 (642) is successfully received by the sink device and the split payload body #2 (644) is not successfully received by the sink device, the ARQN may return '0' and the RxMap (612) may return '10'.
[0123] In one embodiment, when the payload body is split, if a second packet transmitted from the source device to the sink device includes a new payload body that was not included in the first packet, the SEQN field value may be changed. For example, if a packet containing both split payload body #1 (642) and split payload body #2 (644) is transmitted (i.e., retransmitted) twice from the source device to the sink device, the SEQN field value may not be changed, and the sink device may ignore the second packet by verifying that the SEQN field value has not been changed.
[0124] Since RxMap, NESN, and SN, unlike ARQN and SEQN, can contain information about each of the segmented payload bodies, the source device and the sink device can consider RxMap, NESN, and SN as a priority over ARQN and SEQN to judge or decide about the transmission of each of the segmented payload bodies.
[0125] A sink device according to one embodiment can identify multiple segmented payload bodies based on multiple LLID fields. In one embodiment, since each segmented payload body is generated in the same link manager layer of the source device, the LLID field located at the front of the payload (640) after segmenting the payload body of FIG. 6 and the LLID (643) field can be identical to each other. For example, in FIG. 6, the sink device can identify two segmented payload bodies from the original payload body based on the two LLID fields included in the data packet.
[0126] The source device of the present disclosure can improve PER performance by reducing the size of the payload body. While FIG. 6 illustrates a case where the payload body is split into two, the present disclosure is not limited thereto and may be further split. Below, FIG. 7 and FIG. 8 further illustrate cases where the payload body is split into three and four pieces, respectively.
[0127] As shown in FIG. 6, if the source device can split the payload body into two, the divide field may consist of 1 bit. At this time, if the value of the divide field is 0, it may indicate that the payload body is not split, and if the value of the divide field is 1, it may indicate that the payload body is split into two. Based on the packet format of the 3-DH5 type of EDR3 mode, the maximum size of the payload body may be 1021 bytes. As described in FIG. 6, if the payload body is split into two, the maximum size of the split payload body may be approximately 1 / 2 of the maximum size of the payload body before splitting, which may be 506 bytes.
[0128] Or, if the source device can divide the payload body into three as in FIG. 7, the divide field may consist of two bits. At this time, if the two bits of the divide field are '00', that is, if the value of the divide field is 0, it may indicate that the payload body is not divided. If the two bits of the divide field are '01', that is, if the value of the divide field is 1, it may indicate that the payload body is divided into two. If the two bits of the divide field are '10', that is, if the value of the divide field is 2, it may indicate that the payload body is divided into three. If the payload body is divided into three, the maximum size of the divided payload body may be approximately 1 / 3 of the maximum size of the payload body before division, which may be 334 bytes.
[0129] Or, if the source device can divide the payload body into four as in FIG. 8, the divide field may consist of 2 bits. At this time, if the value of the divide field is 0, it may indicate that the payload body is not divided, if the value of the divide field is 1, it may indicate that the payload body is divided into two, and if the value of the divide field is 2, it may indicate that the payload body is divided into three. In addition, if bit 2 of the divide field is '11', that is, if the value of the divide field is 3, it may indicate that the payload body is divided into four. If the payload body is divided into four, the maximum size of the divided payload body may be approximately 1 / 4 of the maximum size of the payload body before division, which may be 248 bytes.
[0130] FIG. 7 is a diagram illustrating a payload according to one embodiment. Specifically, FIG. 7 illustrates an embodiment in which the payload body can be divided into three parts. Any description that overlaps with the descriptions of FIGS. 1 to 6 is omitted.
[0131] The source device can divide the payload body (733) into three before division and transmit this information to the sink device by including this information in the divide field. For example, the source device can generate a combined payload (740) including divided payload body #1 (742), divided payload body #2 (743), and divided payload body #3 (744). At this time, the combined payload (740) can include payload headers such as LLID, Length, and RFU like the payload (720). In addition, the combined payload (740) can further include an additional field (710) including Divide, Flow, RxMap, NESN, and SN. The source device can indicate that the number of divided payload bodies is three by using '10' in the divide field (741).
[0132] The sink device can verify the data included in the divided payload bodies based on the divide field value. For example, the sink device can verify the data included in the divided payload body #1 (742), the divided payload body #2 (743), and the divided payload body #3 (744) based on the divide field (741) having a value of 2. The sink device can recombine the divided payload body #1 (742), the divided payload body #2 (743), and the divided payload body #3 (744) to generate a payload body identical to the original payload body.
[0133] Since the maximum size of each of payload body #1 (742), payload body #2 (743), and payload body #3 (744) is approximately 1 / 3 smaller than the maximum size of the payload body (733) before segmentation, PER can be improved.
[0134] FIG. 8 is a diagram illustrating a payload according to one embodiment. Specifically, FIG. 8 illustrates an embodiment in which the payload body can be divided into four parts. Any description that overlaps with the descriptions of FIGS. 1 to 7 is omitted.
[0135] The source device can divide the payload body (830) into four before division and transmit this information to the sink device by including it in the divide field. For example, the source device can generate a combined payload (840) including divided payload body #1 (842), divided payload body #2 (843), divided payload body #3 (844), and divided payload body #4 (845). At this time, the combined payload (840) can include payload headers such as LLID, Length, and RFU like the payload (820). In addition, the combined payload (840) can further include an additional field (810) including Divide, Flow, RxMap, NESN, and SN. The source device can indicate that the number of divided payload bodies is three by using '11' in the divide field (841).
[0136] The sink device can verify data included in the divided payload bodies based on the divide field value. For example, the sink device can verify data included in the divided payload body #1 (842), the divided payload body #2 (843), the divided payload body #3 (844), and the divided payload body #4 (845) based on the divide field (841) value being 2. The sink device can recombine the divided payload body #1 (842), the divided payload body #2 (843), the divided payload body #3 (844), and the divided payload body #4 (845) based on the divide field (841) value being 2 to generate a payload body identical to the original payload body.
[0137] As described above, the PER can be reduced during transmission and reception of data packets by segmenting the payload so that the data packet contains a smaller payload. Figures 6 to 8 provide modified data packets that improve PER performance by segmenting the payload contained in the data packet.
[0138] FIG. 9 is a flowchart (900) of a process in which a source device transmits a data packet to at least one sink device according to one embodiment.
[0139] Referring to FIG. 9, at step 910, a source device can connect to at least one sink device via a short-range wireless communication network. For example, the source device can scan for a sink device to connect to via Bluetooth and pair with the found sink device, thereby enabling wireless communication between the source device and the sink device. During the pairing process, the source device and the sink device can exchange information necessary for communication. The information necessary for communication may be an ID or MAC address for identifying the source device and the sink device, respectively. If necessary, the source device and the sink device can establish a secure connection using an encrypted key.
[0140] A source device according to one embodiment may generate a data packet comprising segmented payload bodies. For example, the source device may segment a payload body into multiple pieces so that the size of the payload body included in the data packet is reduced to improve the PER of data transmission over a short-range wireless communication network (e.g., the first network (198)).
[0141] The source device transmits the information in the divide field so that the sink device that received the data packet can identify that the payload body has been divided.
[0142] In one embodiment, a field capable of indicating such information may be additionally allocated to the data packet. For example, as shown in FIGS. 6 to 8, some of the surplus bits allocated to the RFU within the data packet may be allocated to the Divide field.
[0143] At step 920, the source device can generate an original enhanced data rate (EDR) payload including an original payload body. As described above, the source device can generate an original EDR payload including an original payload body and transmit it to the link manager (412) via L2CAP (431).
[0144] At step 930, the source device can generate a data packet including at least one payload body divided from an original payload body and a divide field indicating the number of the divided at least one payload body. The source device can generate a data packet including a plurality of divided payload bodies by dividing one original payload body included in an original EDR payload into a plurality of payload bodies through a link manager (412) and adding a payload header to at least one of the divided payload bodies. The source device can additionally allocate a field to the payload header to indicate that the payload body has been divided through the link manager (412).
[0145] Specifically, the source device can generate multiple new payloads by splitting an originally single payload body and adding a payload header to each of the split payload bodies. The source device can sequentially arrange the new payloads to generate a data packet including the multiple split payload bodies.
[0146] Referring to FIG. 6, an embodiment in which a payload body is split into two is described. A source device can transmit an original EDR payload to a link manager (412) via L2CAP (431). The original payload can include one original payload body, wherein the original payload body can be identical to the payload body (633). The source device can split the original payload body into multiple parts via the link manager (412). The source device can generate a first payload by adding a payload header (i.e., divide, RxMap, NESN, SN, RFU) to the split payload body #1 (642), and can generate a second payload by adding a payload header (e.g., Length and RFU, and in some cases, also including LLID (643)) to the split payload body #2 (644). In some cases, at least one of a CRC or a MIC can be added to the first payload or the second payload. The source device can generate a data packet by sequentially arranging the first payload and the second payload, such as a combined payload (640).
[0147] At step 940, the source device can transmit a data packet to the sink device. For example, when transmitting a data packet including at least one segmented payload body to the sink device at step 940, since each segmented payload body is smaller than the payload body before segmentation or the original payload body at step 930, the PER performance can be improved compared to transmitting a data packet including the original payload body.
[0148] FIG. 10 is a flowchart (1000) of a process for a sink device to verify data included in a data packet received from a source device according to one embodiment.
[0149] Referring to FIG. 10, at step 1010, the sink device may connect to the source device via a short-range wireless communication network. For example, the sink device may be discovered by the source device and paired with the source device, thereby enabling wireless communication with the source device.
[0150] At step 1020, a sink device (e.g., electronic device (102) of FIG. 1 or external electronic device #1 (202) of FIG. 2, etc.) may receive a data packet from a source device (e.g., electronic device (101) of FIG. 1 or electronic device (201) of FIG. 2). The data packet may include at least one segmented payload body and a divide field indicating the number of segmented at least one payload body. For example, the sink device may receive sound data from the source device via a short-range wireless communication network (e.g., the first network (198)).
[0151] In step 1030, the sink device can verify the data included in at least one segmented payload body included in the data packet based on the Divide field value. For example, since the sink device can obtain information on the number of segmented payload bodies included in the data packet based on the Divide field value, the sink device can verify all payloads included in the data packet and verify the data included in all payloads. For example, referring to FIG. 6, the sink device can verify that one payload body was received as being divided into payload body #1 (642) and payload body #2 (644) based on the Divide field (641) value.
[0152] In step 1040, the sink device may reassemble at least one of the segmented payload bodies into an original payload body. The original payload body may refer to a payload body included in an original EDR payload generated by the source device. For example, referring to FIG. 6, the sink device may reassemble segmented payload body #1 (642) and segmented payload body #2 (644) to generate an original payload body.
[0153] FIG. 11 is a graph (1100) for comparing the throughput of a data packet when the payload body is split into 2, 3, or 4 according to one embodiment.
[0154] Graph (1110) is a graph showing the throughput in the case of the 3-DH5 type packet format in EDR3 mode. Graph (1120) shows the throughput of an EDR3 data packet in a format where the data payload is divided into two. Graph (1130) and graph (1140) show the throughput of an EDR3 data packet in a format where the payload body is divided into three and four, respectively.
[0155] Referring to FIG. 11, according to one embodiment, segmenting the payload body has the effect of increasing data packet throughput. When segmenting the payload body, data transmission speed may be slowed, but PER may also be reduced, and overall, throughput may be increased.
[0156] For example, when transmitting an EDR3 packet with a segmented payload body (1120, 1130, 1140), the PER may decrease compared to transmitting an original EDR3 packet without segmentation (1110). However, when transmitting an EDR3 packet with a segmented payload body, the total payload body length may decrease and a payload header may be added. Accordingly, the transmission time (air time) required to transmit the data packet may increase. However, referring to the experimental results in Fig. 11, when the payload body is segmented, the PER performance may be improved even if the time increases, so the overall throughput performance may be improved. For example, when judging by the experimental results of a valid BER range (10^-3 or more and 10^-5 or less) in the octal DPSK modulation method, the throughput of (1120, 1130, 1140) when the payload body is segmented is greater than the throughput of (1110) when the payload body is not segmented. In other words, in the case of the 3-DH5 type packet format in the EDR3 mode, PER performance and throughput can be improved by segmenting and transmitting the payload body.
[0157] However, as shown in FIG. 11, when the payload body is divided into four parts (1140) compared to when it is divided into three parts (1130), the effect of the decrease in the total payload body length and the increase in transmission time due to the addition of the payload header may be greater than the effect of the decrease in PER, resulting in lower throughput performance.
[0158] Also, as shown in Fig. 11, the throughput performance is the best when the payload body is divided into three (1130). However, since managing a data packet containing a large number of payload bodies and payload headers is difficult from a complexity perspective, it may also be desirable to divide the data payload into two (1120).
[0159] Meanwhile, under the condition that the total payload body length is fixed and the number of data packets to be transmitted is varied, spectral efficiency can be improved when the payload body is divided and transmitted (1120, 1130, 1140) rather than when multiple data packets containing one payload body are transmitted.
Claims
1. In a source device of a wireless communication system, Transmitter and receiver; and Including a control unit connected to the above transmitter and receiver, The above control unit: Connecting to at least one sink device via a short-range wireless communication network, Generate an original EDR (enhanced data rate) payload containing the original payload body, Generating a data packet including at least one payload body fragmented from the original payload body and a divide field indicating the number of the at least one payload body fragmented, A source device controlled to transmit said data packet to at least one sink device.
2. In claim 1, The above control unit, A source device controlled to generate the data packet by segmenting the original payload body and adding a payload header to at least one of the segmented payload bodies and at least one of the segmented payload bodies.
3. In claim 2, A source device wherein the maximum size of the above-mentioned divided payload body is less than or equal to half the maximum size of the above-mentioned original payload body.
4. In claim 2, The above divide field is, The source device included in the above payload header.
5. In claim 2, A source device in which at least one of the above-described divided payload bodies each corresponds to the same logical link identifier (LLID).
6. In a sink device of a wireless communication system, Transmitter and receiver; and Including a control unit connected to the above transmitter and receiver, The above control unit: Connects to the source device via a short-range wireless communication network, Receives a data packet from the above source device, Verifying data included in at least one fragmented payload body included in the data packet based on a divide field indicating the number of at least one fragmented payload body, Controlled to reassemble at least one of the above split payload bodies into an original payload body, A sink device wherein the original payload body is included in an original EDR (enhanced data rate) payload generated by the source device, and the data packet includes at least one or more of the divided payload bodies and the divide field.
7. A sink device according to claim 6, wherein the data packet further includes a payload header for at least one of the divided payload bodies.
8. In claim 7, A sink device wherein the maximum size of the above-mentioned divided payload body is less than or equal to half the maximum size of the above-mentioned original payload body.
9. In claim 7, The above divide field is, A sink device included in the above payload header.
10. In claim 7, A sink device, wherein each of at least one of the above-described divided payload bodies corresponds to the same logical link identifier (LLID).
11. A method performed by a source device of a wireless communication system, A step of connecting at least one sink device to a short-range wireless communication network; A step for generating an original EDR (enhanced data rate) payload containing an original payload body; A step of generating a data packet including at least one payload body fragmented from the original payload body and a divide field indicating the number of the at least one payload body fragmented; A method comprising the step of transmitting the data packet to at least one sink device.
12. In claim 11, The steps for generating the above data packet are: A method comprising the steps of generating the data packet by segmenting the original payload body, adding a payload header to at least one of the segmented payload bodies, and adding the payload header to the at least one of the segmented payload bodies.
13. In claim 12, A method wherein the maximum size of the above-mentioned divided payload body is less than or equal to half the maximum size of the above-mentioned original payload body.
14. A method performed by a sink device of a wireless communication system, A step of connecting to a source device via a short-range wireless communication network; A step of receiving a data packet from the above source device, A step of verifying data included in at least one fragmented payload body included in the data packet based on a divide field indicating the number of at least one fragmented payload body, Comprising a step of recombining at least one of the above-described divided payload bodies into an original payload body, A method wherein the original payload body is included in an original EDR (enhanced data rate) payload generated by the source device, and the data packet includes at least one or more divided payload bodies and the divide field.
15. A method according to claim 14, wherein the data packet further includes a payload header for at least one of the segmented payload bodies.
Citation Information
Patent Citations
Improved fragmentation for long packets in a low-speed wireless network
KR1020160060142A
Extended bluetooth communication modes
US20150327001A1
Packing source data packets into transporting packets with fragmentation
US20200404637A1
Bluetooth receiver, electronic device and method for a bluetooth receiver
US20220200726A1