Data packet retransmission method and device for wireless peer end and readable storage medium
By introducing a peer time interval between the wireless headset and the main device, and using the RF module to receive and temporarily store data packets and transmit them when the retransmission mechanism is activated, the problem of data packet loss in wireless headsets under environmental interference is solved and the success rate of data packet reception is improved.
Patent Information
- Application Number
- CN202110926383.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-01-22
- Filing Date
- 2021-08-12
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2041-08-12
AI Technical Summary
Wireless headphones are easily affected by environmental interference when receiving data packets, resulting in loss. Existing technologies are unable to effectively solve the problem of data packet retransmission.
A peer time interval is introduced between the wireless headset and the main device, and the data packet is received and temporarily stored through the radio frequency module, and is transmitted to the medium when the retransmission mechanism is activated to realize the retransmission of the data packet.
The signal strength of the data packet is improved, the chance of the wireless slave device successfully receiving the retransmitted data packet is enhanced, and the communication stability is improved.
Smart Images

Figure CN114786214B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a wireless transmission technology machine, in particular to a data packet retransmission method of a wireless peer end, a computer-readable storage medium and a device. Background Art
[0002] Wireless earbuds use Bluetooth technology to receive audio over radio waves from a source device, such as a mobile phone. Due to environmental interference, data packets transmitted from the source device to the wireless earbuds may be lost. Therefore, the present invention provides a wireless peer-to-peer data packet retransmission method, computer-readable storage medium, and device to address the aforementioned issues. Summary of the Invention
[0003] In view of this, how to alleviate or eliminate the defects in the above-mentioned related fields is indeed a problem to be solved.
[0004] This specification relates to an embodiment of a wireless peer data packet retransmission method, which is executed by a processing unit of a first wireless slave device and includes: receiving a medium data packet that was originally intended to be transmitted by a wireless master device to a second wireless slave device during a peer time interval; and when a retransmission mechanism is initiated between the wireless master device and the second wireless slave device to retransmit the medium data packet, transmitting the medium data packet to a medium during the peer time interval.
[0005] The present specification also relates to an embodiment of a computer-readable storage medium, comprising a computer program. When a processing unit of a first wireless slave device loads and executes the computer program, the method for retransmitting a data packet at a wireless peer as described above is implemented.
[0006] This specification also relates to an embodiment of a wireless peer data packet retransmission device, disposed in a first wireless slave device, comprising: a processing unit configured to receive, via a radio frequency module, a media data packet originally intended to be transmitted from a wireless master device to a second wireless slave device during a peer time interval; and, when a retransmission mechanism is initiated between the wireless master device and the second wireless slave device to retransmit the media data packet, transmit the media data packet to a medium during the peer time interval via the radio frequency module.
[0007] The first wireless slave device and the second wireless slave device are peer devices to each other. The peer time interval refers to a time interval originally used for the wireless master device to communicate with the second wireless slave device.
[0008] One of the advantages of the above embodiment is that the signal strength of the medium data packet can be enhanced by retransmitting the data packet as described above, thereby increasing the chance that the second wireless slave device can successfully receive the retransmitted medium data packet.
[0009] Other advantages of the present invention will be explained in more detail with reference to the following description and accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The drawings described herein are used to provide further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute improper limitations on the present application.
[0011] Figure 1 FIG. 1 is a schematic diagram of wireless communication according to an embodiment of the present invention.
[0012] Figure 2 Schematic diagram of the left wireless headset being interfered with.
[0013] Figure 3 FIG. 1 is a diagram of a system architecture configured in a left wireless headset and a right wireless headset according to an embodiment of the present invention.
[0014] Figure 4 A timing diagram illustrating wireless transmission of isochronous streaming over a low power connection according to some embodiments.
[0015] Figure 5 FIG2 is a flow chart of a method for retransmitting data packets for wireless peers connected in isochronous streaming with low power consumption according to an embodiment of the present invention.
[0016] Figure 6 FIG. 4 is a timing diagram of media data packet retransmission for isochronous streaming of a low-power connection according to an embodiment of the present invention.
[0017] Figure 7 FIG2 is a flow chart of a method for retransmitting data packets to a wireless peer for low-power broadcast isochronous streaming according to an embodiment of the present invention.
[0018] Figure 8 FIG. 4 is a timing diagram of media data packet retransmission in low-power broadcast isochronous streaming according to an embodiment of the present invention.
[0019] Figure 9 FIG2 is a flow chart of a method for extending data packet retransmission of a wireless peer in a synchronous link-oriented connection according to an embodiment of the present invention.
[0020] Figure 10 FIG. 1 is a timing diagram of media data packet retransmission in an extended synchronous link-oriented connection according to an embodiment of the present invention.
[0021] Figure 11 FIG. 1 is a timing diagram of media data packet retransmission of the advanced audio data transport protocol over an asynchronous connectionless channel according to an embodiment of the present invention.
[0022] Among them, the brief description of the symbols in the accompanying drawings is as follows:
[0023] 110: Left wireless headset; 120: Right wireless headset; 130: Mobile phone; 310: Antenna; 320: Radio frequency module; 330: Modulator-demodulator; 340: Baseband module; 342: Processing unit; 344: Memory; S510-S548: Method steps; S710-S746: Method steps; S910-S958: Method steps; 610, 1010, 1110: Media data packets; 620, 1020, 1120: Reply data packets. DETAILED DESCRIPTION
[0024] The embodiments of the present invention will be described below with reference to the accompanying drawings. In these drawings, the same reference numerals represent the same or similar components or method flows.
[0025] It must be understood that the words "comprise", "include" and the like used in this specification are used to indicate the existence of specific technical features, values, method steps, job processing, components and / or components, but do not exclude the addition of more technical features, values, method steps, job processing, components, components, or any combination of the above.
[0026] The terms "first", "second", "third", etc. used in the present invention are used to modify the components in the claims and are not used to indicate a priority order, a precedence relationship, or that one component precedes another, or a temporal sequence in executing method steps. They are only used to distinguish components with the same name.
[0027] It should be understood that when a component is described as being "connected" or "coupled" to another component, it can be directly connected or coupled to the other component, and intervening components may be present. Conversely, when a component is described as being "directly connected" or "directly coupled" to another component, there are no intervening components. Other words used to describe the relationship between components should be interpreted in a similar manner, for example, "between" versus "directly between," or "adjacent" versus "directly adjacent," etc.
[0028] refer to Figure 1In this embodiment, the user obtains data from the mobile phone 130 through a wireless headset. The wireless headset is a pair of devices with wireless communication capabilities, including a left wireless earbud 110 and a right wireless earbud 120. There is no physical wire connecting the left wireless earbud 110 and the right wireless earbud 120. The mobile phone 130 and the left wireless earbud 110, as well as the mobile phone 130 and the right wireless earbud 120, can use a wireless communication connection to transmit data packets carrying the user's audio (Audio), such as Bluetooth low energy (LE Audio), extended synchronous connection-oriented (eSCO), or asynchronous connection-less (ACL). In some embodiments, the left wireless earbud 110 and the right wireless earbud 120 can receive media packets corresponding to the left and right channels of stereo data from the mobile phone 130, respectively. In other embodiments, the left wireless headset 110 and the right wireless headset 120 may each receive a media data packet corresponding to mono data from the mobile phone 130 .
[0029] The mobile phone 130, the left wireless headset 110, and the right wireless headset 120 can form a Bluetooth wireless transmission network, and the left wireless headset 110 and the right wireless headset 120 are peer devices. In wireless transmission, factors such as path loss, antenna radiation field, and noise may affect the success rate of the left wireless headset 110 or the right wireless headset 120 receiving data packets from the mobile phone 130. For example, referring to Figure 2 Because the left wireless headset 110 is closer to the noise source than the right wireless headset 120, the A path transmitted from the mobile phone 130 to the left wireless headset 110 is severely interfered with, preventing the left wireless headset 110 from successfully receiving the left channel data packets. When the noise persists, even if a retransmission mechanism is activated between the left wireless headset 110 and the mobile phone 130, it cannot overcome the problem. However, because the right wireless headset 120 is farther from the noise source, the B path transmitted from the mobile phone 130 to the right wireless headset 120 is less interfered with than the A path, and the right wireless headset 120 is able to successfully receive the right channel data packets from the mobile phone 130.
[0030] To solve the above-mentioned problems, an embodiment of the present invention proposes a wireless peer-end data packet retransmission mechanism, which allows the left wireless headset 110 or the right wireless headset 120 to continuously receive and temporarily store the media packets that the mobile phone 130 originally intended to transmit to the peer device during the peer-side time period. When the retransmission mechanism is activated between the mobile phone 130 and the peer device to retransmit the temporarily stored media packets, the left wireless headset 110 or the right wireless headset 120 converts the temporarily stored media packets into radio frequency signals (RF signals) during the peer-side time period and transmits them into the medium (such as air or a human body) so that the peer device can successfully receive the retransmitted media packets. For example, referring to Figure 2 When the right wireless headset 120 detects the activation of a retransmission mechanism between the mobile phone 130 and the left wireless headset 110, the right wireless headset 120 converts the temporarily stored media data packets originally intended for the left wireless headset 110 into radio frequency signals during the peer time interval and transmits them into the medium. The left wireless headset 110 may then successfully receive the retransmitted media data packets of the left channel data via the less-interfered P path. Alternatively, the radio signal transmitted by the right wireless headset 120 and the radio frequency signal transmitted by the mobile phone 130 may be superimposed in the medium, allowing the left wireless headset 110 to successfully receive the retransmitted media data packets of the left channel data from the enhanced radio frequency signal. This retransmission of media data packets during the peer time interval is referred to as an overlapped relay. Specifically, the peer time interval refers to the time interval originally used for communication between the mobile phone 130 and the peer device.
[0031] In some embodiments, the peer time interval may include the time slots during which mobile phone 130 would transmit and retransmit media packets to the peer device. In other embodiments, the peer time interval may include the time slots during which mobile phone 130 would transmit and retransmit media packets to the peer device, as well as the time slots during which the peer device would transmit response packets to mobile phone 130. The following paragraphs will further explain the content and purpose of media packets and response packets, as well as examples of peer time intervals.
[0032] refer to Figure 3The system architecture shown in FIG. This system architecture can be implemented within the left wireless headset 110 and the right wireless headset 120 and includes an antenna 310, a radio frequency (RF) module 320, a modulator-demodulator (modem) 330, and a baseband module 340. The baseband module 340 includes a processing unit 342 and a memory 344. The processing unit 342 can be implemented in a variety of ways, such as using general-purpose hardware (e.g., a microcontroller unit, a digital signal processor, a single processor, a multiprocessor with parallel processing capabilities, a graphics processor, or other processors with computing capabilities), and provides the functionality described below when executing software and / or firmware instructions. The memory 344 can be configured as a data buffer to temporarily store media packets received from the media and intended for transmission to a peer device, as well as media packets received from the media and intended for transmission to this device for playback. The memory 344 can also store data required during execution, such as variables and data tables. The processing unit 342 can be coupled to the memory 344 via a bus architecture for data access.
[0033] Using adaptive frequency hopping (AFH) technology, the mobile phone 130 can transmit the same or different channel maps to the left wireless headset 110 and the right wireless headset 120. The channel map indicates that the left wireless headset 110 or the right wireless headset 120 should use a specific physical channel (e.g., 37) in the 2.4 to 2.48 GHz frequency band for data reception or transmission in each time interval (or time slot). The RF module 320 then uses the specified physical channel for data reception or transmission in each time interval. The RF module 320 is configured to receive RF signals from a medium, convert the received signals into baseband signals that can be processed by the modem 330, and receive baseband signals from the modem 330 and convert them into RF signals that can be transmitted to the mobile phone 130. The RF module 320 may include a mixer for generating a new frequency based on the input signal and the output signal of a local oscillator. The modulator-demodulator 330 may implement modulation and demodulation techniques such as Gaussian Frequency Shift Keying (GFSK), Differential Quadrature Phase Shift Keying (DQPSK), or Differential Phase Shift Keying (DPSK).
[0034] In some embodiments of low-power audio, the mobile phone 130 may establish different connection-oriented isochronous channels with the left wireless headset 110 and the right wireless headset 120, respectively. Each connection-oriented isochronous channel uses a low-power connected isochronous stream (LE-CIS) logical transport and supports bidirectional communication.
[0035] The two CISs form a connected isochronous group (CIG), and each CIG can have multiple CIS instances. CIS instances within the same CIG share a common time reference, which is used to synchronize isochronous data processing between the left wireless headset 110 and the right wireless headset 120. Each CIS has only one wireless receiver with a unique access address, and this wireless receiver uses a specific channel map to receive media data packets. Within a CIG, transmit slots (TX slots) and receive slots (RX slots) are scheduled for each CIS, referred to as events and subevents.
[0036] Each event occurs at regular time intervals, also known as ISO intervals. ISO intervals can be set to multiples of 1.25 milliseconds, ranging from 5 milliseconds (ms) to 4 seconds. Each event can also be divided into one or more sub-events. Each sub-event consists of a transmit slot and a receive slot. Taking mobile phone 130 as an example, in each sub-event in the CIS, mobile phone 130 can transmit a media data packet to the left wireless headset 110 or the right wireless headset 120 during its transmit slot and receive a reply data packet from the left wireless headset 110 or the right wireless headset 120 during its receive slot. A media data packet may refer to a data packet containing a link layer data protocol data unit (LL data PDU) that carries left or right channel data. A reply data packet may be an empty packet and contain either an acknowledgment (ACK) or a negative-acknowledgement (NAK).
[0037] When mobile phone 130 receives an unacknowledged message from left wireless headset 110 or right wireless headset 120, mobile phone 130 may retransmit the media data packet. For example, in one sub-event, if mobile phone 130 detects that the next expected sequence number (NESN) in the reply packet is equal to the sequence number (SN) in the media data packet, it indicates that the reply packet contains unacknowledged information, and mobile phone 130 retransmits the media data packet in the next sub-event. Otherwise, it indicates that the reply packet contains acknowledged information, and the media data packet does not need to be retransmitted.
[0038] The mobile phone 130 can schedule the transmission of media packets between the mobile phone 130 and the left wireless headset 110, and transmit transmission schedule information of the left wireless headset 110 to the left wireless headset 110. This allows the left wireless headset 110 to receive packets from the mobile phone 130 during certain time slots (also referred to as RX slots or receive time intervals) and transmit packets to the mobile phone 130 during other time slots (also referred to as TX slots or transmit time intervals). The remaining time slots not allocated for transmitting or receiving packets are referred to as idle slots. Similarly, the mobile phone 130 can schedule the transmission of media packets between the mobile phone 130 and the right wireless headset 120, and transmit transmission schedule information of the right wireless headset 120 to the right wireless headset 120.
[0039] For example, reference Figure 4 In an example transmission schedule between a mobile phone 130 and a left wireless headset 110, the mobile phone 130 transmits CIS left channel data L#1 and L#2 to the left wireless headset 110 in sub-events SE#1 and SE#2. However, for the right wireless headset 120, the time slots in sub-events SE#1 and SE#2 are idle slots (also known as peer-side transmission / reception slots). In an example transmission schedule between the mobile phone 130 and the right wireless headset 120, the mobile phone 130 transmits CIS right channel data R#1 and R#2 to the right wireless headset 120 in sub-events SE#3 and SE#4. However, for the left wireless headset 110, the time slots in sub-events SE#3 and SE#4 are idle slots (also known as peer-side transmission / reception slots).
[0040] Conventionally, the left wireless headset 110 and the right wireless headset 120 enter a sleep state during idle time slots to conserve power. However, to address the aforementioned technical issues, the left wireless headset 110 and the right wireless headset 120 can receive transmission schedule information from the mobile phone 130 or a peer device. For example, in addition to the left wireless headset 110's transmission schedule information, the left wireless headset 110 can also receive the right wireless headset 120's transmission schedule information from the mobile phone 130 or the right wireless headset 120. This allows the left wireless headset 110 to receive media packets originally transmitted from the mobile phone 130 to the right wireless headset 120 at pre-set time slots and retransmit these media packets at pre-set time slots. An embodiment of the present invention proposes a wireless peer data packet retransmission method, so that the left wireless headset 110 and the right wireless headset 120 do not enter a sleep state during idle slots (also referred to as peer reception / transmission slots in the present invention), but continue to receive and temporarily store media data packets that the mobile phone 130 originally intended to transmit to the peer device, and receive and detect reply data packets sent by the peer device. When it is found that the reply data packet contains unacknowledged information, the previously received media data packet is transmitted to the medium. Since the left wireless headset 110 and the right wireless headset 120 are in idle slots, the mobile phone 130 can transmit media data packets to the peer device, and the peer device can transmit reply data packets to the mobile phone 130, therefore, these idle slots can be collectively referred to as peer time intervals. This method is implemented by the processing unit 342 in the left wireless headset 110 or the right wireless headset 120 when loading and executing appropriate firmware and / or software program codes. Reference Figure 5 The detailed steps shown:
[0041] Step S510: Set the variable i to 1. The variable i records the number of the idle slot and is used to determine the time point for driving the RF module 320 to receive or transmit data.
[0042] Step S512: Receive data originally intended to be transmitted by the mobile phone 130 to the peer device in the idle slot i. That is, the processing unit 342 may drive the RF module 320 and the modem 330 in the receiving slot of the peer device to receive the signal of the designated physical channel in the medium.
[0043] Step S514: Determine whether the media data packet is successfully received. If so, the process continues with step S532; otherwise, the process proceeds to step S522. Processing unit 342 determines that the media data packet has been successfully received if the media data received passes the cyclic redundancy check (CRC) and its decoded content indicates that it is the media data packet originally intended for mobile phone 130 to transmit to the peer device. The decoded content used for this determination may include data such as the preamble, access address, and link layer header data.
[0044] Step S522: Add 1 to the variable i.
[0045] Step S524: Wait until the start of idle slot i (i.e., the next idle slot after receiving data). It should be noted that since the next sub-event may include the transmit slot and receive slot of this wireless headset, the next idle slot does not necessarily exist in the next sub-event.
[0046] Step S532: Store the medium data packet to the memory 344.
[0047] Step S534: Receive data originally intended to be transmitted by the peer device to the mobile phone 130 in the idle slot i. That is, the processing unit 342 may drive the RF module 320 and the modem 330 to receive the signal of the designated physical channel in the medium during the transmission slot of the peer device.
[0048] Step S536: Determine whether unacknowledged information is detected. If so, the process continues with the processing of step S542; otherwise, the process proceeds to the processing of step S522. When the data received in the medium can pass the cyclic redundancy check and can be identified from its decoded content as a reply data packet that the peer device originally intended to transmit to the mobile phone 130, the processing unit 342 further determines whether the reply data packet carries unacknowledged information. For example, when the NESN in the reply data packet is equal to the SN in the medium data packet temporarily stored in the memory 344, it means that the reply data packet carries unacknowledged information. This unacknowledged information is used to initiate a retransmission mechanism between the mobile phone 130 and the peer device.
[0049] Step S542: Read the media data packet from the memory 344.
[0050] Step S544: Add 1 to the variable i.
[0051] Step S546: Wait until the start of the idle slot i (ie, the next idle slot after receiving the data).
[0052] Step S548: Transmit the media data packet to the medium in the idle slot i.
[0053] For example, refer to Figure 6 During the idle slot of sub-event SE #1, the right wireless headset 120 successfully receives the media data packet 610 that the mobile phone 130 was originally intended to transmit to the left wireless headset 110 (the "Yes" path in steps S512 and S514) and stores the media data packet 610 in the memory 344 (step S532). During the same idle slot, the left wireless headset 110 then detects an unacknowledged response data packet 620 that the left wireless headset 110 was intended to transmit to the mobile phone 130 (the "Yes" path in steps S534 and S536). During the idle slot of sub-event SE #2, the right wireless headset 120 transmits the media data packet 610 to the medium to strengthen the signal (step S548), thereby increasing the chances that the left wireless headset 110 will successfully receive the retransmitted media data packet 610.
[0054] In some other embodiments of low-power audio, the mobile phone 130 can establish a connectionless isochronous channel with the left wireless headset 110 and the right wireless headset 120, which uses two LE broadcast isochronous stream (LE-BIS) logical transmissions and supports uni-directional communication.
[0055] The two BISs form a broadcast isochronous group (BIG), and each BIG can have multiple BIS instances. BIS instances within a BIG share a common time reference, which synchronizes the processing of broadcast isochronous data by the left and right wireless earbuds 110 and 120. Each BIS can have multiple wireless receivers, and each BIS instance has a unique access address and uses a specific channel map to send media packets. For each BIS, transmission slots, called events and sub-events, are scheduled.
[0056] Each event occurs at a regular ISO interval. Each event can also be divided into one or more sub-events. Each sub-event includes a transmission slot. Taking mobile phone 130 as an example, in each sub-event in the BIS, mobile phone 130 can transmit a media data packet to the left wireless headset 110 or the right wireless headset 120 during its transmission slot. In addition, a retransmission number (RTN) is set for each BIS. For example, when RTN = 1, it means that each media data packet will be retransmitted once.
[0057] Mobile phone 130 can schedule the transmission of media packets between mobile phone 130 and left wireless headset 110, and transmit transmission schedule information of left wireless headset 110 to left wireless headset 110. This allows left wireless headset 110 to receive packets from mobile phone 130 during certain time slots (also referred to as RX slots or receive time intervals). The remaining time slots not allocated for transmitting or receiving packets are referred to as idle slots. Similarly, mobile phone 130 can schedule the transmission of media packets between mobile phone 130 and right wireless headset 120, and transmit transmission schedule information of right wireless headset 120 to right wireless headset 120. The transmission schedule information also includes RTN settings.
[0058] For example, in an example transmission between a mobile phone 130 and a left wireless headset 110, the mobile phone 130 transmits BIS left channel data L#1 to the left wireless headset 110 in sub-event SE#1 and retransmits BIS left channel data L#1 to the left wireless headset 110 in sub-event SE#2. However, for the right wireless headset 120, the time slots in sub-events SE#1 and SE#2 are idle slots, also known as peer-side reception slots. Subsequently, the mobile phone 130 transmits BIS right channel data R#1 to the right wireless headset 120 in sub-event SE#3 and retransmits BIS right channel data R#1 to the right wireless headset 120 in sub-event SE#4. Similarly, for the left wireless headset 110, the time slots in sub-events SE#3 and SE#4 are peer-side reception slots. Conventionally, the left and right wireless headsets 110 and 120 enter a sleep state during idle slots to conserve power. However, to address the aforementioned technical issues, each of the left wireless headset 110 and the right wireless headset 120 can receive transmission schedule information from the peer device from the mobile phone 130 or the peer device. For example, in addition to the left wireless headset 110's transmission schedule information, the left wireless headset 110 can also receive the right wireless headset 120's transmission schedule information from the mobile phone 130 or the right wireless headset 120. This allows the left wireless headset 110 to receive media packets originally transmitted from the mobile phone 130 to the right wireless headset 120 during a predetermined time slot and retransmit these media packets during the predetermined time slot. This embodiment of the present invention provides a wireless peer-to-peer packet retransmission method. When RTN = 1, the left wireless headset 110 and the right wireless headset 120 do not enter a dormant state during peer reception slots. Instead, they continue to receive and temporarily store media packets originally intended for transmission from the mobile phone 130 to the peer device and retransmit these media packets. These peer reception slots can be collectively referred to as peer time intervals. This method is implemented by the processing unit 342 in the left wireless headset 110 or the right wireless headset 120 when loading and executing appropriate firmware and / or software program codes. Figure 7 The detailed steps shown:
[0059] Step S710: Set the variable j to 1. The variable j records the number of the peer receiving slot, which is used to determine the time point for driving the RF module 320 to receive or transmit data.
[0060] The technical contents of steps S712 and S714 are similar to those of steps S512 and S514, respectively, and will not be repeated for the sake of brevity.
[0061] Step S722: Add 2 to the variable j.
[0062] Step S724: Wait until the start of peer receiving slot j (ie, the second peer receiving slot after receiving the data).
[0063] Step S732: Store the media data packet to the memory 344.
[0064] Step S734: Add 1 to the variable j.
[0065] Step S736 : Read the media data packet from the memory 344 .
[0066] Step S738: Wait until the start of peer reception slot j (ie, the next peer reception slot after receiving the data).
[0067] Step S742: Transmit the media data packet to the medium at peer receiving slot j (ie, the next peer receiving slot after receiving the data).
[0068] Step S744: Add 1 to the variable j.
[0069] Step S746: Wait until the start of peer receiving slot j (ie, the second peer receiving slot after receiving the data).
[0070] For example, refer to Figure 8 During the peer reception slot of sub-event SE #1, the right wireless headset 120 successfully receives the media data packet originally intended for transmission from the mobile phone 130 to the left wireless headset 110 (the "Yes" path in steps S712 and S714) and stores the media data packet in the memory 344 (step S732). During the peer reception slot of sub-event SE #2, the right wireless headset 120 transmits the media data packet to the medium to strengthen the signal (step S742), thereby increasing the chances of the left wireless headset 110 successfully receiving the retransmitted media data packet. Similarly, during the peer reception slot of sub-event SE #3, the left wireless headset 110 successfully receives the media data packet originally intended for transmission from the mobile phone 130 to the right wireless headset 120 (the "Yes" path in steps S712 and S714) and stores the media data packet in the memory 344 (step S732). The left wireless headset 110 transmits a media data packet to the medium during the peer receiving slot of sub-event SE# 4 to strengthen the signal (step S742 ), thereby increasing the chance that the right wireless headset 120 can successfully receive the retransmitted media data packet.
[0071] In some embodiments of the extended synchronous link guide (eSCO), reference Figure 10Mobile phone 130 can establish an eSCO connection with both the left and right wireless headsets 110 and 120. An eSCO connection is a symmetrical, point-to-point connection between mobile phone 130 and either left or right wireless headset 110 and 120. One of the left and right wireless headsets 110 and 120 establishing the connection can be referred to as the agent device, while the other can be referred to as the partner device. Mobile phone 130 maintains the eSCO connection by reserving time slots at fixed intervals. Depending on the type of data packet being transmitted, mobile phone 130 transmits data packets at fixed intervals, for example, using 2 to 8 time slots out of every 12 time slots for transmitting 2-EV3 data packets, where each time slot is typically 625 microseconds (μs). An eSCO connection provides a limited number of retransmissions. Specifically, mobile phone 130 can transmit a 2-EV3 data packet (also referred to as a media data packet) carrying mono data to the agent device in the first time slot. The proxy device transmits a 2-EV3 packet (also known as a reply packet) to mobile phone 130 in the second time slot, carrying an acknowledgement or non-acknowledgement. If mobile phone 130 receives a non-acknowledgement from the proxy device, it may retransmit the medium packet to the proxy device in the third time slot. The first through fourth time slots are referred to as the eSCO window, and the third through fourth time slots are referred to as the retransmission window.
[0072] For example, in a mobile phone 130 and a left wireless headset 110 ( Figure 10In an example transmission (where the mobile phone 130 acts as a proxy device), the mobile phone 130 can use four time slots in an eSCO window to transmit mono data to the left wireless headset 110. Since the mobile phone 130 does not have an eSCO connection established with the right wireless headset 120, the right wireless headset 120 can enter a sleep state to save power. Therefore, for the right wireless headset 120, the four time slots in the eSCO window include two pairs of peer receive slots and a peer transmit slot. In general, these four time slots can be collectively referred to as the peer time interval. However, to address the aforementioned technical issues, the right wireless headset 120 (i.e., the wireless headset without an eSCO connection) can act as a monitoring device. The monitoring device can receive parameters related to the eSCO connection from the mobile phone 130 or the proxy device. An embodiment of the present invention provides a wireless peer data packet retransmission method. This method allows the monitoring device to not enter a sleep state during the peer time interval. Instead, it temporarily stores the media data packets originally intended to be transmitted by the mobile phone 130 to the peer device and receives and detects reply data packets sent by the peer device. When it is found that the reply data packet contains unacknowledged information, the previously received media data packet is transmitted to the medium. This method is implemented by the processing unit 342 in the supervisory device when loading and executing appropriate firmware and / or software program code. Figure 9 The detailed steps shown:
[0073] Step S910: Set the variable k to 1. The variable k records the number of the time slot, which is used to determine the time point for driving the RF module 320 to receive or transmit data.
[0074] Step S912: Receive data transmitted by the mobile phone 130 in time slot k (ie, the first time slot of an eSCO window).
[0075] Step S914: Determines whether the media data packet was successfully received. If so, the process continues with step S932; otherwise, the process proceeds to step S922. Processing unit 342 determines that the media data packet was successfully received if the media data received passes the cyclic redundancy check and its decoded content indicates that it is the media data packet originally intended for mobile phone 130 to transmit to the peer device.
[0076] Step S922: Increment the variable k by 4 (ie, the first time slot of the next eSCO window).
[0077] Step S924: Wait until the start of time slot k (ie, the first time slot of the next eSCO window).
[0078] Step S932: Store the media data packet to the memory 344.
[0079] Step S934: Increment the variable k by 1 (ie, the second time slot of the eSCO window, also called the peer transmission slot).
[0080] Step S936: Wait until the start of time slot k (that is, the second time slot of the eSCO window, also called the peer transmission slot).
[0081] Step S938: Receive the data that the peer device originally intended to transmit to the mobile phone 130 in time slot k (ie, the second time slot of the eSCO window, also called the peer transmission slot).
[0082] Step S942: Determine whether a non-acknowledgement message is detected. If so, the process proceeds to step S946; otherwise, the process proceeds to step S944. When processing unit 342 receives a reply packet from the medium that was originally intended for the peer device to transmit to mobile phone 130, it further determines whether the reply packet carries a non-acknowledgement message.
[0083] Step S944: Increment the variable k by 3 (ie, the first time slot of the next eSCO window).
[0084] Step S946: Read the media data packet from the memory 344.
[0085] Step S952: Increment the variable k by 1 (ie, the third time slot of the eSCO window, also known as the peer receiving slot).
[0086] Step S954: Wait until the start of time slot k (that is, the third time slot of the eSCO window, also called the peer receiving slot).
[0087] Step S956: Transmit the media data packet to the medium in time slot k (that is, the third time slot of the eSCO window, also called the peer receiving slot).
[0088] Step S958: Add 2 to the variable k.
[0089] For example, refer to Figure 10The right wireless headset 120, acting as a supervisory device, successfully receives the media data packet 1010 originally intended to be transmitted by the mobile phone 130 to the left wireless headset 110 during the first time slot of the eSCO window (the "Yes" path in steps S912 and S914) and stores the media data packet 1010 in the memory 344 (step S932). During the second time slot of the eSCO window, the right wireless headset 120 detects an unacknowledged response data packet 1020 intended to be transmitted by the left wireless headset 110 to the mobile phone 130 (the "Yes" path in steps S938 and S942). During the third time slot of the eSCO window, the right wireless headset 120 transmits the media data packet 1010 to the medium to strengthen the signal (step S956), thereby increasing the chances that the left wireless headset 110 will successfully receive the retransmitted media data packet 1010.
[0090] The above-mentioned wireless peer data packet retransmission method can also be applied to the advanced audio distribution profile (A2DP) over an asynchronous connectionless (ACL) channel. Figure 11 , the mobile phone 130 can establish an ACL connection with the left wireless headset 110 and the right wireless headset 120. The right wireless headset 120 successfully receives a media packet 1110 intended to be transmitted by the mobile phone 130 to the left wireless headset 110 during a time slot in a Bluetooth frame (also known as a peer receive slot) and stores the media packet 1110 in the memory 344. During a time slot in the next Bluetooth frame (also known as a peer transmit slot), the right wireless headset 120 detects an unacknowledged response packet 1120 intended to be transmitted by the left wireless headset 110 to the mobile phone 130. The right wireless headset 120 transmits the media packet 1110 to the medium during a time slot in the next Bluetooth frame (also known as a peer receive slot) to strengthen the signal, thereby increasing the chances that the left wireless headset 110 will successfully receive the retransmitted media packet 1110. The formats of the media packet 1110 and the response packet 1120 comply with the Bluetooth specification. These peer receive slots and peer transmit slots may be collectively referred to as peer time intervals.
[0091] While the aforementioned embodiment describes a network formed by a mobile phone 130 (also referred to as a wireless master device), a left wireless headset 110, and a right wireless headset 120 (also referred to as wireless slave devices), this is for illustrative purposes only and is not intended to limit the present invention. Those skilled in the art can apply the wireless peer-to-peer packet retransmission method of the present invention to wireless audio connections or other similar networks. A wireless audio connection network may include a wireless master device and at least two wireless slave devices. The wireless master device may be, for example, a personal computer, laptop computer, tablet computer, mobile phone, or other electronic product. The wireless slave devices may be, for example, left and right speakers each incorporating a Bluetooth transmission module.
[0092] All or part of the steps in the method described in the present invention can be implemented by a computer program, such as a hardware driver or DSP program code. In addition, it can also be implemented in other types of programs as shown above. Those skilled in the art can write the method of the embodiment of the present invention into program code, which will not be described again for the sake of simplicity. The computer program implemented according to the method of the embodiment of the present invention can be stored in an appropriate computer-readable storage medium, such as a DVD, CD-ROM, USB flash drive, hard disk, or can be placed on a network server accessible via a network (e.g., the Internet, or other appropriate media).
[0093] Although Figure 3 The components described above are included in the invention, but it does not exclude the use of more additional components to achieve better technical effects without violating the spirit of the invention. Figure 5 、 Figure 7 、 Figure 9 The flowchart is executed in the specified order. However, those skilled in the art may modify the order of the steps without violating the spirit of the invention, provided that the same effect is achieved. Therefore, the present invention is not limited to the sequence described above. Furthermore, those skilled in the art may also combine several steps into one step, or perform more steps sequentially or in parallel in addition to the steps described above, and the present invention should not be limited thereby.
[0094] The above description is only a preferred embodiment of the present invention, but it is not intended to limit the scope of the present invention. Anyone familiar with this technology can make further improvements and changes on this basis without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the present invention shall be based on the scope defined by the claims of this application.
Claims
1. A method for retransmitting a data packet at a wireless peer, executed by a processing unit in a first wireless slave device, characterized in that: The data packet retransmission method of the wireless peer includes: receiving a medium data packet that the wireless master device originally intended to transmit to the second wireless slave device during a peer time interval; as well as transmitting the media data packet to the medium during the peer time interval when a retransmission mechanism is activated between the wireless master device and the second wireless slave device to retransmit the media data packet, wherein the retransmission mechanism is configured to cause the wireless master device to retransmit the media data packet to the medium during a transmission slot that overlaps with the peer time interval; The first wireless slave device and the second wireless slave device are peer devices to each other. The peer time interval refers to a time interval originally used for the wireless master device to communicate with the second wireless slave device.
2. The method for retransmitting data packets at a wireless peer as claimed in claim 1, wherein: Also includes: A reply data packet originally intended to be transmitted by the second wireless slave device to the wireless master device is received during the peer time interval. The reply data packet carries unacknowledged information and is used to initiate the retransmission mechanism to retransmit the media data packet.
3. The method for retransmitting data packets at a wireless peer as claimed in claim 2, wherein: A first connection isochronous stream is used for logical transmission between the wireless master device and the first wireless slave device, a second connection isochronous stream is used for logical transmission between the wireless master device and the second wireless slave device, and the first connection isochronous stream and the second connection isochronous stream form a connection isochronous group.
4. The method for retransmitting data packets at a wireless peer as claimed in claim 2, wherein: The wireless master device and the first wireless slave device establish an extended synchronous link-oriented connection with the second wireless slave device, and the media data packet and the reply data packet are 2-EV3 data packets.
5. The method for retransmitting data packets at a wireless peer as claimed in claim 2, wherein: The wireless master device and the first wireless slave device establish an asynchronous connectionless communication with the second wireless slave device, and formats of the media data packet and the response data packet comply with specifications of the Advanced Audio Data Transport protocol.
6. The method for retransmitting data packets at a wireless peer as claimed in claim 1, wherein: Broadcast isochronous streaming is used for logical transmission between the wireless master device, the first wireless slave device, and the second wireless slave device, and the number of retransmissions of the broadcast isochronous streaming is set to be greater than or equal to 1.
7. A computer-readable storage medium for storing a computer program executable by a processing unit, characterized in that: When the computer program is executed by the processing unit, the data packet retransmission method of the wireless peer terminal according to any one of claims 1 to 6 is implemented.
8. A data packet retransmission device of a wireless peer end, provided in a first wireless slave device, characterized in that: The data packet retransmission device of the wireless peer terminal comprises: a processing unit configured to receive, via a radio frequency module, a media data packet originally intended to be transmitted by a wireless master device to a second wireless slave device during a peer time interval; and transmit, via the radio frequency module, the media data packet to a medium during the peer time interval when a retransmission mechanism is initiated between the wireless master device and the second wireless slave device to retransmit the media data packet, wherein the retransmission mechanism is configured to cause the wireless master device to retransmit the media data packet to the medium during a transmission slot overlapping with the peer time interval. The first wireless slave device and the second wireless slave device are peer devices to each other. The peer time interval refers to a time interval originally used for the wireless master device to communicate with the second wireless slave device.
9. The data packet retransmission device of the wireless peer terminal as claimed in claim 8, characterized in that: The processing unit is used to receive a reply data packet originally intended to be transmitted from the second wireless slave device to the wireless master device through the radio frequency module during the peer time interval, the reply data packet carrying unacknowledged information, and is used to activate the retransmission mechanism to retransmit the media data packet.
10. The data packet retransmission device of the wireless peer terminal according to claim 9, wherein: A first connection isochronous stream is used for logical transmission between the wireless master device and the first wireless slave device, a second connection isochronous stream is used for logical transmission between the wireless master device and the second wireless slave device, and the first connection isochronous stream and the second connection isochronous stream form a connection isochronous group.
11. The data packet retransmission device of the wireless peer terminal according to claim 9, wherein: The wireless master device and the first wireless slave device establish an extended synchronous link-oriented connection with the second wireless slave device, and the media data packet and the reply data packet are 2-EV3 data packets.
12. The data packet retransmission device of the wireless peer terminal according to claim 9, wherein: The wireless master device and the first wireless slave device establish an asynchronous connectionless communication with the second wireless slave device, and formats of the media data packet and the response data packet comply with specifications of the Advanced Audio Data Transport protocol.
13. The data packet retransmission device of the wireless peer terminal according to claim 8, wherein: Broadcast isochronous streaming is used for logical transmission between the wireless master device, the first wireless slave device, and the second wireless slave device, and the number of retransmissions of the broadcast isochronous streaming is set to be greater than or equal to 1.
Citation Information
Patent Citations
Data transmission method and device
CN111447603A