CN112821989B - Wireless audio streaming - Google Patents
Wireless audio streaming Download PDFInfo
- Publication number
- CN112821989B CN112821989B CN202011277000.8A CN202011277000A CN112821989B CN 112821989 B CN112821989 B CN 112821989B CN 202011277000 A CN202011277000 A CN 202011277000A CN 112821989 B CN112821989 B CN 112821989B
- Authority
- CN
- China
- Prior art keywords
- packet
- slave
- master
- slot
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 63
- 230000005540 biological transmission Effects 0.000 claims description 37
- 238000004590 computer program Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 230000002085 persistent effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 241000258963 Diplopoda Species 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008458 response to injury Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1854—Scheduling and prioritising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0093—Point-to-multipoint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The application relates to wireless audio streaming. An apparatus (103B) and a method for communicating within a communication system are described. The apparatus includes a memory (204), and at least one processor (212). The processor (212) is configured to: attempting to receive a packet addressed to another device (103A), determining whether the packet is received, and transmitting another packet at a time when the other device (103A) is expected to transmit a reply packet to the packet when the packet is not received. The invention further describes a communication system having such a device (103B) and a computer program for controlling the operation of such a device.
Description
Technical Field
The present description relates generally to wireless audio streaming, including wireless audio streaming over bluetooth connection
Background
A first electronic device, such as a phone, may wirelessly stream audio to a second electronic device, such as a headset or earplug.
In this communication scenario, a first electronic device may be considered a source or transmitter of audio data packets and a second electronic device may be considered a receiver of audio data packets. Typically, the second electronic device, when embodied as a headset or earbud, includes a pair of two output devices, a first output device for the right audio portion of the stereo audio channel and a second output device for the left audio portion of the stereo audio channel. In this case, the source transmits audio data packets to each of the pair of output devices. To this end, the source is connected to the first output device via a first unicast connection and the source is connected to the second output device via a second unicast connection. The audio data packets may be transmitted wirelessly according to the well known bluetooth protocol.
In some applications, at least one of the two output devices also includes input device functionality, e.g., a microphone. However, the techniques described in this document relate to communication scenarios in which only the output functionality of the pair of output devices is of interest.
The source and the two output devices represent a wireless communication network. In this document, the following terms will be used:
(A) The source is also named master device or simply "master" or electronic device.
(B) The first output device is also named as a first slave device, a master slave device or simply a master slave or a master wireless audio input/output device. In particular, when claim language is used hereinafter, the first output device is simply referred to as "the other device".
(C) The second output device is also named a second slave device, a secondary slave device or simply a secondary slave or a secondary wireless audio input/output device. In particular, when claim language is used hereinafter, the second output device is simply referred to as the "device".
(D) Audio data packets are simply referred to as data packets and even more simply as "packets".
In unwanted scenarios it may happen that the communication link between the master and the secondary slave is interrupted or disturbed. This means that the secondary slave does not properly receive at least one audio data packet. To avoid the secondary slave from exhausting the audio data packets, an "inter-slave wireless communication link" is provided between the primary and secondary slaves. This inter-slave wireless communication link may be used to forward (audio data) packets from the primary slave to the secondary slave upon request by the secondary slave.
The use of an "inter-slave wireless communication link" in this manner requires that the primary slave must be provided with more or less large data buffers for temporarily storing audio data packets in order to allow forwarding of one or more specific audio data packets upon request by the secondary slave. This buffering has the following disadvantages: (a) Which results in additional delay and/or (b) additional battery power consumed by buffer operation.
It may be desirable to minimize forwarding activity between the primary and secondary slaves in case of a data transmission failure between the master and secondary slaves.
Disclosure of Invention
This need may be met by the subject matter according to the independent claims. Advantageous embodiments of the invention are described by the dependent claims.
The specific features of the present technology are set forth in the appended claims. However, for purposes of explanation, several embodiments of the present technology are set forth in the various figures.
According to a first aspect of the present invention, there is provided a device comprising a memory and at least one processor. The at least one processor is configured to: (a) Attempting to receive (via the source) a packet addressed to another device; (b) Determining whether the packet is received (by the device); and (c) when the packet is not received (by the device), transmitting (by the device) another packet at a time when the other device is expected to transmit a reply packet (to the source) to the packet.
The described configuration of the processor of the device is based on the following idea: the time overlap between the packet and the reply packet may allow modification of the reply process between the other device and the source. This modification may be used by the source as a trigger to resend the packet. Thus, there is no longer a need to forward the packet from the other device to the device. The modification may be implemented in different ways:
(A) The other packet may be received by the other device and cause the other device not to send its reply packet to the source or interrupt the transmission of the reply packet even if the other device has correctly received the packet.
(B) The other packet may be received by the source and the source may use this piece of information to ignore reply packets received from the other device.
(C) The further packet originating from the device may be received by the source together with an acknowledgement packet originating from the further device. However, due to the time overlap, the electromagnetic power of the further packet destroys the reply packet at the source. Thus, the source will not receive the appropriate acknowledgement and consider its packet transmission as unsuccessful.
According to an embodiment, the at least one processor (of the device) is further configured to receive a retransmission of the packet (from the source). The described retransmission of data packets may effectively address device problems caused by missed or corrupted packet reception from the source. The device will thus be able to output a given audio data stream without interruption which would be annoying to the respective user.
According to a further embodiment, the further packet comprises random data transmitted at the highest allowable power level.
The high transmit power level may ensure that the source and/or the other device will be notified in a reliable manner: the device has not yet (properly) received the packet and is again awaiting receipt of the packet, preferably by means of retransmission of the packet by the source and if necessary by means of a forwarding operation of the other device.
According to a further embodiment, the further packet comprises a negative acknowledgement packet in respect of the packet.
The described negative acknowledgement packets may be generated by the device in a known manner and/or may be processed by the source in a known manner. Thus, the described procedure of informing the source about unsuccessful and/or improper packet reception by the device can be achieved in a simple and efficient manner by means of a suitable programming of the processor.
According to a further embodiment, the device forms a pair of wireless audio input/output devices with the other device. This means that the described procedure of informing the source about unsuccessful and/or improper packet reception by the device can be employed in a beneficial way in widely used communication scenarios.
According to a further embodiment, the packets comprise audio data encoded in a joint stereo format.
In this context, a joint stereo format is a format in which one of the audio data packets includes both "right ear information" and "left ear information". This enables the source to send one and the same (audio data) packet to both the other device and the device. By extracting/using "right ear information" by the other device and extracting/using at least partially different "left ear information" by the device, for example, the other device and the device can process different information without forwarding different packets via two unicast communication channels between (i) the source and the other device and (ii) the source and the device.
According to a further embodiment, when transmitting the packet addressed to the further device in a first time slot, the at least one processor is configured to transmit the further packet within an allowed time window comprising a point in time of a time slot boundary between the first time slot and a subsequent second time slot. This may allow to prevent collisions between (i) the further packet, which is preferably a negative acknowledgement packet, and (ii) the acknowledgement packet.
The term "allowed time window" may be the following time window: in a respective timing protocol or timing standard, the time window is reserved for transmission of the other packet. This does not require the actual time window (which is used to transmit another data packet) to fully utilize or fill the allowed time window.
According to a further embodiment, the at least one processor is configured to transmit the further packet within an actual time window, the actual time window comprising a point in time of the slot boundary. In this context, the term "actual time window" may be the following time window: which is actually used by the device to transmit all electromagnetic waves encoding the further packet.
Specifying the actual time window in the described manner means that the timing of the further packet is specified more accurately. This increases the reliability of the described procedure informing the source about unsuccessful and/or improper packet reception by the device.
According to a further embodiment, when transmitting the packet addressed to the further device in a first time slot, the at least one processor is configured to transmit the further packet within an allowed time window, the allowed time window being after a point in time of a time slot boundary between the first time slot and a subsequent second time slot.
This may allow for a temporal overlap between (i) an acknowledgement packet transmitted from the other device to the source and (ii) the other packet transmitted from the device to the source. This overlap may create a collision, destroying the reply packet prior to successful receipt by the source. This acknowledgement packet corruption will be most effective when the other packet is transmitted at a high and preferably maximum possible or allowable power.
According to another aspect of the present invention, there is provided a communication system including: (a) a source configured for transmitting data packets; (b) Another device configured for receiving a transmitted data packet; and (c) a device configured for receiving the transmitted data packet, wherein the device is a device as described above.
According to an embodiment, the further device is also a device as described above. This may allow the techniques described in this document to be applied not only in the event that a selected or predefined one of the two devices misses an audio data packet. By also providing all the functionality of a device as described above to the other device, the described techniques may be employed in an advantageous manner in the event that either of the two devices misses an audio data packet.
According to another aspect of the present invention, there is provided a method for communicating within a communication system comprising a source, another device and a device. The communication system may be a communication system as described above. The provided method comprises the following steps: (a) Attempting to receive, by the device, a packet addressed to the other device by the source; (b) determining whether the packet was received by the device; and (c) transmitting, by the device, another packet at a time when the other device is expected to transmit a reply packet to the source for the packet when the packet is not received by the device.
According to an embodiment, the source, the further device and the device operate in a common timing mode comprising time slots separated from each other by a slot boundary. Whereby the device transmits the further packet at least partially before a predefined slot boundary and the further device transmits the acknowledgement packet after the predefined slot boundary. This may mean that, according to this embodiment, the device transmits the other packet at a different time than the scheduled transmission of the other device.
In other words: according to this embodiment, the start of the transmission of at least two packets, i.e. the further packet and the acknowledgement packet, is separated in time in such a way that the transmission of the further packet starts before the predefined slot boundary and the transmission of the acknowledgement packet starts after the predefined slot boundary. With this timing, (complete) collision between the other packet and the acknowledgement packet can be avoided. This may increase the reliability of: notifying the source that the device has at least partially missed receiving packets originating from the source.
A suitable time shift for starting to transmit the further packet may be less than 9 mus (9 microseconds) and preferably 5 mus to 7 mus relative to the slot boundaries. A suitable waiting time for starting to transmit the acknowledgement packet may also be less than 9 mus (9 microseconds) and preferably 5 mus to 7 mus with respect to the slot boundaries.
According to a further embodiment, the source, the further device and the device operate in a common timing mode comprising time slots, which are separated from each other by a slot boundary. Whereby the device transmits the further packet at least partially after a predefined slot boundary and the further device transmits the acknowledgement packet before the predefined slot boundary. This may mean that according to this embodiment, the device transmits the further packet at a time that at least partially coincides with the scheduled transmission of the acknowledgement packet by the further device.
In other words: according to this embodiment, the start of the transmission of at least two packets (i.e. the start of the transmission of the further packet and the start of the transmission of the acknowledgement packet) are so close to each other that there may be a significant collision between the further packet and the acknowledgement packet. This may increase the timing accuracy of the described communication method.
A suitable latency for starting to transmit the further packet may be less than 9 mus (9 microseconds) and preferably 5 mus to 7 mus relative to the slot boundaries. A suitable time shift for starting to transmit the acknowledgement packet may also be less than 9 mus (9 microseconds) and preferably 5 mus to 7 mus with respect to the slot boundaries.
According to another embodiment of the invention, the further packet has a power level of an electromagnetic damage response packet.
When the source attempts to process, or at least recognizes, a corrupted reply packet, the reply packet may cause an error at the source. The error may be detected by means of a known Header Error Check (HEC). As already mentioned above, the described acknowledgement packet corruption will be most effective when transmitting the other packet at a high and preferably maximum possible or allowable power.
According to another aspect of the invention, a computer program for controlling the operation of an apparatus of a communication network is provided. Which, when being executed by a processor of the device, is adapted to control and/or carry out the method described above.
As used herein, it is intended that reference to a computer program is equivalent to a reference to a program element and/or a computer readable medium containing instructions for controlling a computer system to coordinate the execution of the methods described above.
The computer program may be implemented as computer readable instruction code in any suitable programming language, such as JAVA, C++, and may be stored on a computer-readable medium (removable disk, volatile or non-volatile memory, embedded memory/processor, etc.). The instruction code is operable to program a computer or any other programmable device to perform the intended functions. The computer program may be available from a network, such as the world wide web, from which it may be downloaded.
The present invention can be realized by means of a computer program or software. However, the invention may also be implemented by means of one or more specific electronic circuits or hardware. Furthermore, the invention may also be implemented in hybrid form (i.e. in a combination of software modules and hardware modules).
The invention described in this document may also be implemented in conjunction with a "cloud" network that provides the necessary virtual memory space and the necessary virtual computing power.
It must be noted that embodiments of the invention have been described with reference to different topics. In particular, some embodiments have been described with reference to method type claims, while other embodiments have been described with reference to apparatus type claims. However, a person skilled in the art will gather from the above and the following description that, unless other notified, in addition to any combination of features belonging to one type of subject matter also any combination between features relating to different subject matters, in particular between features of the method type claims and features of the apparatus type claims is considered to be disclosed with this document.
The aspects defined above and further aspects of the invention are apparent from the examples of embodiment to be described hereinafter and are explained with reference to the examples of embodiment. The invention will be described in more detail hereinafter with reference to examples of embodiments, but the invention is not limited thereto.
Drawings
FIG. 1 illustrates an example network environment in which wireless audio streaming may be implemented in accordance with one or more implementations.
Fig. 2 conceptually illustrates an electronic system with which any implementation of the present technology is implemented.
Fig. 3 illustrates a communication system in accordance with one or more implementations.
Fig. 4a and 4b illustrate timing schemes for communications within a communication network comprising a master, a primary slave and a secondary slave according to a first method A1.
Fig. 4c to 4h illustrate various communication scenarios for the first method A1.
Fig. 5a and 5b illustrate timing schemes for communications within a communication network comprising a master, a primary slave and a secondary slave according to a second method A2.
Fig. 5c to 5h illustrate various communication scenarios for the second method A2.
Detailed Description
The detailed description set forth below is intended as a description of various configurations of the present technology and is not intended to represent the only configurations in which the present technology may be practiced. The accompanying drawings are incorporated in and constitute a part of this detailed description. The detailed description includes specific details for the purpose of providing a thorough understanding of the present technology. However, the technology is not limited to the specific details set forth herein and may be practiced using one or more other implementations. In one or more implementations, the structures and components are shown in block diagram form in order to avoid obscuring the concepts of the present technology.
Fig. 1 illustrates an example network environment 100 in which wireless audio streaming may be implemented, in accordance with one or more implementations. However, not all depicted components may be used in all implementations, and one or more implementations may include additional or different components than those shown in the figures. Variations in the arrangement and type of components may be made without departing from the spirit or scope of the claims as set forth herein. Additional components, different components, or fewer components may be provided.
Network environment 100 includes one or more electronic devices 102 and 104, wireless audio input and/or output ("input/output") devices 103A-103B, a network 106, and a server 108. The network 106 may communicatively couple (directly or indirectly), for example, one or more of the electronic devices 102, 104 and/or the server 108. In fig. 1, wireless audio input/output devices 103A-103B are illustrated as not being directly coupled to network 106, however, in one or more implementations, one or more of wireless audio input/output devices 103A-103B may be directly coupled to network 106.
The network 106 may be an interconnected network of devices, which may include or may be communicatively coupled to the Internet. In one or more implementations, the connection via the network 106 may be referred to as a wide area network connection, while the connection between the electronic device 102 and one or more of the wireless audio input/output devices 103A-103B may be referred to as a point-to-point connection. For purposes of explanation, the network environment 100 is illustrated in fig. 1 as including two electronic devices 102 and 104, a pair of wireless audio input/output devices 103A-103B, and a single server 108, however, the network environment 100 may include any number of electronic devices, wireless audio input/output devices, and/or servers.
The server 108 may be and/or may include all or a portion of the electronic system discussed below with respect to fig. 2. Server 108 may comprise one or more servers, such as a large group of servers. For purposes of explanation, a single server 108 is shown and discussed with respect to various operations. However, these and other operations discussed herein may be performed by one or more servers, and each different operation may be performed by the same or a different server.
One or more of the electronic devices 102, 104 may be, for example, a portable computing device (e.g., a laptop), a smart phone, a peripheral device (e.g., a headset, an ear bud, wireless, etc.), a tablet device, a set top box, a content streaming device, a wearable device (e.g., a smart watch, etc.), or any other suitable device that includes audio input circuitry (e.g., one or more microphones), audio output circuitry (e.g., one or more speakers), and/or one or more wireless interfaces (e.g., one or more Near Field Communication (NFC) radios, WLAN radios, bluetooth radios, zigbee radios, cellular radios, and/or other wireless radios). In fig. 1, by way of example, electronic device 102 is depicted as a smart phone and electronic device 104 is depicted as a laptop computer. Each of the electronic devices 102 and 104 may be and/or may include all or a portion of the electronic system discussed below with respect to fig. 2.
One or more of the wireless audio input/output devices 103A-103B may be, for example, a wireless headset device, one or more wireless earpieces (or any in-ear, touch-or earmuff-type device), or generally any device including audio input circuitry (e.g., one or more microphones), audio output circuitry (e.g., one or more speakers), and/or one or more wireless interfaces (e.g., near Field Communication (NFC) radio, WLAN radio, bluetooth radio, zigbee radio, and/or other wireless radio). In fig. 1, wireless audio input/output devices 103A-103B are depicted by way of example as a pair of wireless earplugs.
In one or more implementations, one or more of the wireless audio input/output devices 103A-103B can be paired with the electronic device 102 (e.g., or with the electronic device 104), such as via bluetooth. After the two devices 102 and 103A-103B are paired together, the devices 102 and 103A-103B may automatically form a secure point-to-point connection when positioned in proximity to each other, such as within bluetooth communication range of each other. The electronic device 102 may stream audio, such as music, telephone calls, etc., to one or more of the wireless audio input/output devices 103A-103B.
For example, for the pair of wireless audio input/output devices 103A-103B, the wireless audio input/output device 103A may be a primary device and the wireless audio input/output device 103B may be a secondary device. The electronic device 104 may transmit an audio stream (e.g., an A2DP stream) to the primary wireless audio input/output device 103A, which may include both left (L) and right (R) channels, e.g., in a joint stereo format. The secondary wireless audio input/output device 103B may listen to and/or intercept the audio stream transmitted by the electronic device 104 to the primary wireless audio input/output device 103A. In other words, the secondary wireless audio input/output device 103B may not have a connection with the electronic device 104. Thus, the secondary wireless audio input/output device 103B may not be able to utilize conventional packet loss management protocols, such as retransmission requests.
For purposes of explanation, the wireless audio input/output devices 103A-103B are depicted in fig. 1 as being in communication with each other. However, in one or more implementations, there may be no explicit or established communication channel between the wireless audio input/output devices 103A-103B.
In the present system, when the secondary wireless audio input/output device 103B does not properly receive a particular packet, the secondary wireless audio input/output device 103B may transmit a Negative Acknowledgement (NAK) at a time when the secondary wireless audio input/output device 103B expects the primary wireless audio input/output device 103A to transmit an acknowledgement packet to the electronic device 104 for that particular packet. Primary wireless audio input/output device 103A attempts to sense the NAK transmitted by secondary wireless audio input/output device 103B.
When the primary wireless audio input/output device 103A transmits or is about to transmit a reply packet for a particular packet, the primary wireless audio input/output device 103A attempts to sense whether a NAK packet is transmitted by the secondary wireless audio input/output device 103B. If primary wireless audio input/output device 103A senses a NAK transmitted by secondary wireless audio input/output device 103B, primary wireless audio input/output device 103A stops transmitting or does not transmit a reply packet for a particular packet. In this way, the electronic device 104 will receive NAK packets or will not receive any acknowledgement packets and will retransmit the particular data packet.
In one or more implementations, instead of transmitting NAK packets for a particular packet that is not received, the secondary wireless audio input/output device 103B may transmit random data at the highest transmit power allowed at the time (and frequency) that the secondary wireless audio input/output device 103B expects the primary wireless audio input/output device 103A to transmit acknowledgement packets, if any. The random data will effectively destroy any reply packets transmitted by the primary wireless audio input/output device 103A, which will cause the electronic device 104 to retransmit the particular packet. These and other effective retransmission mechanisms are further discussed below in section methods A1 and A2.
Fig. 2 illustrates an electronic system 200 with which one or more implementations of the present technology may be implemented. Electronic system 200 may be and/or may be part of one or more of devices 102, 104 and/or server 108 shown in fig. 1. Electronic system 200 may include various types of computer-readable media and interfaces for various other types of computer-readable media. Electronic system 200 includes bus 208, one or more processing units 212, system memory 204 (and/or buffers), ROM210, persistent storage 202, input device interface 214, output device interface 206, and one or more network interfaces 216, or a subset or variation thereof.
Bus 208 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of electronic system 200. In one or more implementations, a bus 208 communicatively connects one or more processing units 212 with ROM210, system memory 204, and persistent storage 202. From these various memory units, one or more processing units 212 retrieve instructions for execution and data for processing in order to perform the processes of the present invention. In different implementations, the one or more processing units 212 may be a single processor or a multi-core processor.
ROM 210 stores static data and instructions required by one or more processing units 212 and other modules of electronic system 200. On the other hand, persistent storage 202 may be a read and write memory device. Persistent storage 202 may be a non-volatile memory unit that stores instructions and data even if electronic system 200 is turned off. In one or more embodiments, a mass storage device (e.g., a magnetic or optical disk and its corresponding disk drive) may be used as persistent storage 202.
In one or more implementations, removable storage devices (e.g., floppy disks, flash drives, and their corresponding disk drives) may be used as persistent storage 202. Like persistent storage 202, system memory 204 may be a read and write memory device. However, unlike persistent storage 202, system memory 204 may be volatile read and write memory, such as random access memory. The system memory 204 may store any of the instructions and data that may be needed by the one or more processing units 212 at runtime. In one or more implementations, the processes of the present invention are stored in system memory 204, persistent storage 202, and/or ROM 210. From these various memory units, one or more processing units 212 retrieve instructions to execute and data to process in order to perform processes for one or more implementations.
Bus 208 is also connected to an input device interface 214 and an output device interface 206. The input device interface 214 enables a user to communicate information and select commands to the electronic system 200. Input devices that may be used with the input device interface 214 may include, for example, an alphanumeric keyboard and a pointing device (also referred to as a "cursor control device"). The output device interface 206 may enable, for example, the display of images generated by the electronic system 200. Output devices that may be used with output device interface 206 may include, for example, printers and display devices, such as Liquid Crystal Displays (LCDs), light Emitting Diode (LED) displays, organic Light Emitting Diode (OLED) displays, flexible displays, flat panel displays, solid state displays, projectors, or any other device for outputting information. One or more implementations may include devices that function as both input and output devices, such as a touch screen. In these embodiments, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user may be received in any form, including acoustic, speech, or tactile input.
Finally, as shown in fig. 2, bus 208 also couples electronic system 200 to one or more networks and/or to one or more network nodes, such as server 108 shown in fig. 1, through one or more network interfaces 216. In this manner, electronic system 200 may be part of a computer network (e.g., a LAN, a wide area network ("WAN") or an intranet, or a network of several networks (e.g., the Internet). Any or all of the components of electronic system 200 may be used in connection with the present invention.
Implementations within the scope of the present invention may be partially or fully implemented using a tangible computer-readable storage medium (or multiple tangible computer-readable storage media of one or more types) encoding one or more instructions. The tangible computer-readable storage medium may also be non-transitory in nature.
A computer-readable storage medium may be any storage medium that can be read, written, or otherwise accessed by a general purpose or special purpose computing device, including any processing electronics and/or processing circuitry capable of executing the instructions. For example, without limitation, a computer-readable medium may include any volatile semiconductor memory, such as RAM, DRAM, SRAM, T-RAM, Z-RAM, and TTRAM. The computer-readable medium may also include any non-volatile semiconductor memory, such as ROM, PROM, EPROM, EEPROM, NVRAM, flash, nvSRAM, feRAM, feTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, racetrack memory, FJG, and Millipede (Millipede) memory.
Furthermore, a computer-readable storage medium may include any non-semiconductor memory, such as optical disk storage, magnetic tape, other magnetic storage devices, or any other medium capable of storing one or more instructions. In one or more implementations, the tangible computer-readable storage medium may be directly coupled to the computing device, while in other implementations, the tangible computer-readable storage medium may be indirectly coupled to the computing device via one or more wired connections, one or more wireless connections, or any combination thereof.
The instructions may be directly executable or may be used to form executable instructions. For example, instructions may be implemented as executable or non-executable machine code or as instructions in a high-level language that may be compiled to produce executable or non-executable machine code. Further, the instructions may also be implemented as or may contain data. Computer-executable instructions may also be organized in any format, including routines, subroutines, programs, data structures, objects, modules, applications, applets, functions, and the like. As recognized by one of ordinary skill in the art, details including, but not limited to, the number, structure, sequence, and organization of instructions may vary significantly without changing basic logic, functions, processing, and output.
Although the discussion above refers primarily to microprocessors or multi-core processors executing software, one or more implementations are performed by one or more integrated circuits (e.g., ASICS or FPGAs). In one or more implementations, such integrated circuits execute instructions stored on the circuits themselves.
Those of skill in the art will appreciate that the various illustrative blocks, modules, elements, components, methods, and algorithms described herein may be implemented as electronic hardware, computer software, or combinations of both. To illustrate this interchangeability of hardware and software, various illustrative blocks, modules, elements, components, methods, and algorithms have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application. The various components and blocks may be arranged differently (e.g., arranged in a different order or partitioned differently), all without departing from the scope of the present technology.
It should be understood that any particular order or hierarchy of blocks in the processes disclosed is an illustration of exemplary approaches. Based on design preferences, it is understood that the specific order or hierarchy of blocks in the processes may be rearranged, or that all illustrated blocks be executed. Any of the blocks may be performed concurrently. In one or more implementations, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, but rather as the described program components and systems can be generally integrated together in a single software product or packaged into multiple software products.
As used in this specification and any claims of this application, the terms "base station," "receiver," "computer," "server," "processor," and "memory" all refer to electronic or other technical devices. These terms exclude a person or group of people. For purposes of this specification, the term "display" or "display" means displaying on an electronic device.
As used herein, the phrase "… (at least one of)" immediately preceding a series of items, together with the term "and" or "to separate any of the items, modifies the list as a whole rather than modifying each member of the list (i.e., each item). The phrase "at least one of …" does not require selection of at least one of each item listed, but rather the phrase allows the following meanings: including at least one of any of the items, and/or at least one of any combination of the items, and/or at least one of each of the items. By way of example, the phrase "at least one of A, B and C" or "at least one of A, B or C" each refer to a only, B only, or C only; A. any combination of B and C; and/or A, B and C.
The predicate words "configured to", "operable to", and "programmed to" do not imply any particular tangible or intangible modification to the subject, but are intended to be used interchangeably. In one or more implementations, a processor configured to monitor and control operations or components may also mean a processor programmed to monitor and control the operations or a processor operable to monitor and control the operations. Likewise, a processor configured to execute code may be constructed as a processor programmed to execute code or operable to execute code.
Such as one aspect, an aspect, another aspect, some aspects, one or more aspects, an implementation, another implementation, some implementations, one or more implementations, an example, an embodiment, another example, some examples, one or more examples, a configuration, another configuration, some configurations, one or more configurations, the present technology, the disclosure, the present invention, other variations thereof, and similar forms, are for convenience and do not imply that the disclosure with respect to such(s) phrases is essential to the technology or that such disclosure is applicable to all configurations of the technology. The disclosure regarding such phrase(s) may apply to all configurations, or one or more configurations. The disclosure of such phrase(s) may provide one or more examples. Phrases such as one or more aspects may refer to one or more aspects and vice versa, and this applies similarly to other preceding phrases.
The word "exemplary" is used herein to mean "serving as an example, instance, or illustration. Any embodiment described herein as "exemplary" or as "example" is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, to the extent that the term "includes," "having," or the like is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term "comprising" as "comprising" is interpreted when employed as a transitional word in a claim.
All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Furthermore, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims.
The previous and subsequent description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean "one and only one" (unless specifically so stated), but rather "one or more". The term "some" refers to one or more unless specifically stated otherwise. Male pronouns (e.g., his) include female and neutral sexes (e.g., her and its), and vice versa. Headings and sub-headings, if any, are used for convenience only and do not limit the invention.
Fig. 3 illustrates a communication system 320. Communication system 320 includes a source 102, also referred to in this document as a "master". The source 102 may be a smart phone. The communication system 320 further includes (i) a first wireless audio input-output device 103A, also referred to in this document as a "primary slave", and (ii) a second wireless audio input-output device 103B, also referred to in this document as a "secondary slave". The master 102 is configured to stream stereo audio data packets to both the primary slave 103A and the secondary slave 103B. To this end, a first unicast connection has been established between the master 102 and the master slave 103A via a first unicast communication channel 321. Furthermore, a second unicast connection has been established between the master 102 and the secondary slave 103B via the second unicast communication channel 323. In addition, a communication channel 325 is provided between the primary slave 103A and the secondary slave 103B. This communication channel (which is also referred to in this document as an "inter-slave wireless communication link") may be used to directly transfer (if necessary) data packets between the two slaves 103A and 103B.
For a better understanding of the techniques disclosed in this document, known communications within communication system 320 will be briefly described:
1. The master 102 sends an advanced audio distribution profile (A2 DP) stream to a master slave 103A (e.g., earbud) having left (L) and right (R) channels in a joint stereo format. The codec used may be of any type as long as the capabilities of the bluetooth link can cover it.
2. The secondary slave 103B (e.g., also an earplug) listens for an audio stream between the master 102 and the primary slave 103A. Thereby, the secondary slave 103B is following the primary slave 103A. Thus, the secondary slave 103B may also be referred to as a trailing (trailing) device or trailing slave.
3. If a packet is missed by the secondary slave 103B, the secondary slave 103B will ask the primary slave 103A to forward the packet of interest to that secondary slave via the inter-slave wireless communication link 325. This forwarding activity will, for example, occupy the over-the-air bandwidth of the master slave 103A such that the time-sharing that the master slave uses to listen to the master 102's audio packet transmissions is reduced.
As will be appreciated in detail from the description below, forwarding activity of the primary slave 103A to the secondary slave 103B may be minimized by forcing or at least requiring the master 102 to retransmit packets missed by the secondary slave 103B in accordance with the techniques described in this document. Thus, in the described technique, the secondary slave 103B is provided with the ability to require the master 102 to resend or retransmit the missed (audio data) packet.
To enable this triggered retransmission of the data packet, there are two different methods A1 and A2 that will be described in the following:
method A1:
the first method A1 is based on avoiding packet collisions of, in particular, a first data packet transmitted by a primary slave with a second data packet transmitted by a secondary slave. In the communication scenario described herein, the master slave acknowledges the secure receipt of the audio data packet originating from the master using the first data packet. Thus, the first packet is a so-called ACK packet. With the second data packet, the secondary slave reports that it has missed this audio data packet originating from the master. The second data packet is thus a so-called NAK data packet.
According to this method A1, the primary slave attempts to detect or sense NAK packets from the secondary slave before it (i.e., the primary slave) decides whether to send ACK packets in response to successfully receiving audio packets from the primary slave. In order for this scheme to work, the master slave's transmissions should always be X microseconds after the slot boundary between two slots within the timing scheme used for communications within the communication network including the master and the two slaves. In addition, the transmit timing of the secondary slave should be Y microseconds before the slot boundary.
Fig. 4a illustrates a timing scheme for communication between a master and a master slave according to a first method A1. The first slot is named with reference number TS1 and the subsequent second slot is named with reference number TS 2. The slot boundary between two slots is named with reference number SB. According to well-established terminology, the data packet transmission by the master and the data packet transmission by the master slave are indicated with "Tx". Packet reception is indicated by "Rx".
The "waiting time" X (relative to the slot boundary SB) is indicated with "X" in fig. 4 a. In a particular embodiment, X should be less than 9 μs. In a preferred embodiment, X may be 5 μs to 7 μs. In fig. 4a, the dashed box 431a of the master indicates the listening time window of the master with respect to possible data packet transmissions from the master slave. The dashed box 433 indicates a time window that is not used by the master slave to transmit (e.g., an ACK packet) due to the latency X. According to the embodiment described herein, the unused time window 433 begins 10 μs before the slot boundary SB.
Fig. 4b illustrates a timing scheme for communication between a master and a secondary slave according to a first method A1. Again, slots are named with reference numbers TS1 and TS2 and slot boundaries are named with reference number SB. In addition, packet transmission is also indicated by "Tx" and packet reception is indicated by "Rx".
The above mentioned time shift Y is indicated with "Y" in fig. 4 b. In a particular embodiment, Y should be less than 9us. In a preferred embodiment, Y may be 5 μs to 7 μs. In fig. 4b, the dashed box 431b of the master indicates the listening time window of the master with respect to the transmission of data packets from the secondary slave. The listening time window starts 10 mus before the slot boundary SB.
Fig. 4c illustrates a first communication scenario according to method A1, wherein both the primary and secondary slaves correctly receive audio data packets (within the first time slot). Nothing needs to be done by the secondary slave. The primary slave attempts to sense if there is any transmission from the secondary slave. Until the end of the waiting time, the primary slave does not detect the data packet transmission and continues to send ACK packets to the master.
Fig. 4d illustrates a second communication scenario according to method A1. In this scenario, the primary slave correctly receives an audio data packet from the master and the secondary slave makes an error in receiving this audio data packet. Thus, the secondary slave will preferably send NAK packets at the highest Tx power allowed. The primary slave attempts to sense if there is any transmission from the secondary slave. The primary slave detects the transmission of the secondary slave and will no longer send ACK packets to the master. Because a NAK is received from the secondary slave, the master will continue to retransmit the audio data packet missed by the secondary slave. This retransmission is indicated schematically in fig. 4d with a block ReTx and two arrows, one pointing to the primary slave and the other pointing to the secondary slave. This retransmission ReTx will be performed at the beginning of the third slot after the second slot. It has been mentioned that throughout the figures, the timing of retransmission ReTx is not indicated on the correct time scale. This is for the purpose of better illustrating details within the first time slot TS1 and within the second time slot TS 2.
Fig. 4e illustrates a third communication scenario according to method A1. Also in this scenario, the primary slave correctly receives the audio data packets from the master and the secondary slave makes errors in receiving the audio data packets. The secondary slave will preferably send NAK packets at the highest Tx power allowed. The primary slave attempts to sense if there is any transmission from the secondary slave. For whatever reason, the primary slave does not detect the transmission of the secondary slave and continues to send ACK packets to the master.
However, the master either receives the NAK entirely or cannot determine what packet it is. The master also treats this (undetermined) data packet as a NAK for security. The master will continue to retransmit the audio data packets missed by the secondary slave.
It has been mentioned that also in this scenario, the concept of having the master resend the same audio data packet is still implemented as intended. Thus, this scenario where the secondary slave gives a NAK is still the intended result for the purpose of reducing forwarding activity between the primary and secondary slaves as well.
Fig. 4f illustrates a fourth communication scenario according to method A1. Also in this scenario, the primary slave correctly receives the audio data packets from the master and the secondary slave makes errors in receiving the audio data packets. The secondary slave will react by sending NAK packets, preferably with the highest Tx power allowed. Further, according to a third scenario, the primary slave attempts to sense if there is any transmission from the secondary slave and the primary slave does not detect a NAK transmission by the secondary slave and continues to send ACK packets to the master.
In contrast to the third scenario, the master did not receive a NAK but successfully received the ACK packet entirely. Thus, the master will not retransmit the audio data packet.
It has been mentioned that this should be a rare scenario, but can still occur theoretically. When this occurs, the primary slave will forward packets to the secondary slave to help maintain the desired audio quality. This (very rare) forwarding activity is indicated in fig. 4f by block FoTx and an arrow originating at the primary slave and pointing to the secondary slave. Moreover, the timing of forwarding the active FoTx is not drawn to scale relative to the time axis.
Fig. 4g illustrates a fifth communication scenario according to method A1. In this scenario, the primary slave erroneously receives an audio data packet from the master, but the secondary slave correctly receives the audio data packet. The primary and secondary slaves will do nothing. The master interprets this as an implicit NAK and will continue to retransmit the audio data packet. This retransmitted audio data packet will (now hopefully) be correctly received by the primary slave and the secondary slave will discard the newly received audio data packet, since the sequence number of this retransmitted audio data packet will be the same as the previously received audio data packet.
Fig. 4h illustrates a sixth communication scenario according to method A1. In this scenario, both the primary and secondary slaves did not successfully receive the audio data packet. The master slave will do nothing. The secondary slave will send a NAK. The master will retransmit the packet again.
Method A2:
the second method is based on destroying the primary slave's ACK packet using the secondary slave's transmission after the secondary slave senses the correct audio data packet transmission from the master.
Fig. 5a illustrates a timing scheme for communication between a master and a master slave according to a second method A2. The first slot is again named with reference number TS1 and the subsequent second slot is again named with reference number TS 2. The slot boundary between two slots is again named with reference number SB. According to well-established terminology, the data packet transmission by the master and the data packet transmission by the master slave are indicated with "Tx". Packet reception is indicated by "Rx".
As can be seen from fig. 5a, there is a listening time window 531 (indicated by the dashed box) of the master during which the master is ready to receive data packets. This listening time window 531 starts before the slot boundary SB. According to the exemplary embodiment described herein, the beginning of the time window 531 is 10 μs before the slot boundary SB occurs.
As can be further seen from fig. 5a, the timing of the master slave is such that it starts its transmission X mus before the slot boundary SB. This time shift X, indicated with "X" in fig. 5a, should be less than 9 mus. In a preferred embodiment, X may be 5 μs to 7 μs.
Fig. 5b illustrates a timing scheme for communication between a master and a secondary slave according to a second method A2. Again, slots are named with reference numbers TS1 and TS2 and slot boundaries are named with reference number SB. In addition, packet transmission is also indicated by "Tx" and packet reception is indicated by "Rx".
According to the second method A2, the secondary slave first tries to sense the ACK packet of the primary slave until a μs (microseconds) after the slot boundary SB. If the secondary slave senses something, it will transmit some random bits with high and preferably highest available Tx power after a delay of bμs and with a duration of cμs, attempting to destroy the primary slave's ACK packet. This would likely cause the master to obtain a Header Error Check (HEC) error so that the master sees this as an implicit NAK. Thus, the master will retransmit the same audio data packet for the secondary slave to receive.
Fig. 5c illustrates a first communication scenario according to method A2. In this scenario, both the primary and secondary slaves correctly receive the audio data packets. The primary slave transmits an ACK packet and the secondary slave does nothing. Of course, neither retransmission nor forwarding of audio data packets is required.
Fig. 5d illustrates a second communication scenario according to method A2. In this scenario, the secondary slave correctly receives the packet. Therefore, the secondary slave does nothing.
The master slave makes errors in receiving the packets. Thus, the master slave will also do nothing. Since the master will not receive the ACK packet, the master will retransmit the same audio packet at the next time instant.
Fig. 5e illustrates a third communication scenario according to method A2. In this scenario, the primary slave correctly receives the audio data packet and the secondary slave makes an error in receiving the audio data packet. The master slave will continue to send ACK packets to the master.
The secondary slave will first sense the packet transmissions of the primary slave. If the secondary slave detects this activity, the secondary slave will send random data bursts at a high and preferably highest available Tx power level. This random data burst will destroy the ACK packet that has been sent by the master slave. Thus, the master detects the HEC error and encapsulates the same audio data for retransmission, reTx (to both slaves).
Fig. 5f illustrates a fourth communication scenario according to method A2. In this scenario, the primary slave correctly receives the audio data packet and the secondary slave makes an error in receiving the audio data packet. The master slave will continue to send ACK packets to the master.
The secondary slave will first sense the ACK packet transmission of the primary slave. If the secondary slave detects this activity, it will send random data bursts at a high and preferably highest available Tx power. This will destroy the ACK packet of the master slave. The master detects the ACK from the master slave and refreshes the audio data packet. Thus, to achieve successful operation of the secondary slave and good audio quality, the primary slave will forward the audio data packets to the secondary slave.
Fig. 5g illustrates a fifth communication scenario according to method A2. In this scenario, both the primary and secondary slaves do not properly receive the audio data packets. The secondary slave attempts to sense if there is an ACK packet from the primary slave (to the master) and of course nothing will be detected. In this case the secondary slave will also do nothing. This has the following effect: the master will not receive any response and treat this packet lack as an implicit NAK. Thus, the master will resend the same audio data packet again (to both slaves).
Fig. 5h illustrates a sixth communication scenario according to method A2. In this scenario, the secondary slave correctly receives the audio data packet and will not do anything. The master slave will do nothing. In the absence of any response, the master will retransmit the audio data packet. This is again a desirable behavior for the purpose of reducing forwarding activity between the primary and secondary slaves.
The techniques described in this document may be summarized as follows: if there are any errors in the reception of the audio data packets by the primary slave and/or by the secondary slave, the master will be forced to resend the same audio data packets in most scenarios. Only in rare scenarios, the secondary slave will require the primary slave to forward the missed audio data packets. The overall reduction in forwarding activity from the primary to the secondary will result in better audio latency at the slave.
List of reference symbols
100. Network environment
102. Electronic device/source/master/smart phone
103A other devices/master slaves/wireless audio input-output devices/earplugs
103B device/secondary slave/wireless audio input-output device/earpiece
104. Electronic device/laptop computer
106. Network system
108. Server device
200. Electronic system
202. Permanent storage device
204. System memory
206. Output device interface
208. Bus line
210. Read-only memory (ROM)
212. Processing unit
214. Input device interface
216. Network interface
320. Communication system
321. First unicast communication channel
323. Second unicast communication channel
325. Wireless communication link between communication channels/slaves
431a listening time window
431b listening time window
433. Unused time window
435. Implicit NAK
TS1 first time slot
TS2 second time slot
SB slot boundary
Tx data packet transmission
Rx packet reception
ReTx resends audio packets by master
FoTx forwards audio packets by a master slave
531. Listening to a time window.
Claims (16)
1. An apparatus (103B) comprising
Memory (204)
At least one processor (212) configured to:
attempting to receive a packet addressed to another device (103A),
determining whether the packet is received, an
When the packet is not received, another packet is transmitted at a time when the other device (103A) is expected to transmit a reply packet for the packet, wherein the other packet is received at the other device such that: the other device interrupts transmission of the reply packet even if the other device has correctly received the packet.
2. The device (103B) of claim 1, wherein the at least one processor (212) is further configured to:
and receiving retransmission ReTx of the packet.
3. The device according to claim 1 or 2, wherein
The further packet includes random data transmitted at the highest allowable power level.
4. The device according to claim 1 or 2, wherein
The further packet comprises a negative acknowledgement packet NAK for the packet.
5. The device according to claim 1 or 2, wherein
The device (103B) forms a pair of wireless audio input/output devices with the other device (103A).
6. The apparatus of claim 5 wherein
The packets include audio data encoded in a joint stereo format.
7. The device according to claim 1 or 2, wherein
When transmitting the packet addressed to the other device (103A) in a first time slot,
the at least one processor (212) is configured to:
the further packet is transmitted within an allowed time window comprising a point in time of a slot boundary between the first slot and a subsequent second slot.
8. The apparatus of claim 7, wherein
The at least one processor (212) is configured to:
The further packet is transmitted within an actual time window, the actual time window comprising the point in time of the slot boundary.
9. The device according to claim 1 or 2, wherein
When transmitting the packet addressed to the other device (103A) in a first time slot,
the at least one processor (212) is configured to:
the further packet is transmitted within an allowed time window, which is after a point in time of a slot boundary between the first slot and a subsequent second slot.
10. A communication system, comprising
A source (102) configured for transmitting data packets;
another device configured for receiving the transmitted data packet; and
A device configured for receiving the transmitted data packet, wherein the device is a device according to any one of the preceding claims 1 to 9.
11. The communication system of claim 10, wherein the other device is also a device according to any of the preceding claims 1 to 9.
12. A method for communicating within a communication system according to claim 10, the method comprising
Attempting to receive by said device (103B) a packet addressed by said source (102) to said other device (103A),
Determining whether the device (103B) receives the packet, and
when the device (103B) does not receive the packet, another packet is transmitted by the device (103B) at a time when the other device (103A) is expected to transmit a reply packet to the source (102).
13. The method of claim 12, wherein
The source (102), the further device (103A) and the device (103B) operate in a common timing mode comprising time slots separated from each other by a slot boundary, wherein
The device transmits the other packet at least partially before a predefined slot boundary, and
the other device transmits the acknowledgement packet after the predefined slot boundary.
14. The method of claim 12, wherein
The source (102), the further device (103A) and the device (103B) operate in a common timing mode comprising time slots separated from each other by a slot boundary, wherein
The device transmits the other packet at least partially after a predefined slot boundary, and
the other device transmits the acknowledgement packet before the predefined slot boundary.
15. The method of claim 14, wherein
The further packet has a power level that electromagnetically destroys the reply packet.
16. A non-transitory computer readable storage medium having stored thereon instructions for controlling the operation of a device (103B) of a communication network, which instructions, when executed by a processor (212) of the device (103B), are adapted to control and/or perform the method of any of claims 12-15.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962937126P | 2019-11-18 | 2019-11-18 | |
US62/937,126 | 2019-11-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112821989A CN112821989A (en) | 2021-05-18 |
CN112821989B true CN112821989B (en) | 2024-02-06 |
Family
ID=75683458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011277000.8A Active CN112821989B (en) | 2019-11-18 | 2020-11-16 | Wireless audio streaming |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112821989B (en) |
DE (1) | DE102020130037A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105284134A (en) * | 2012-12-03 | 2016-01-27 | 索诺瓦公司 | Wireless streaming of an audio signal to multiple audio receiver devices |
US10244307B1 (en) * | 2018-02-09 | 2019-03-26 | Bestechnic (Shanghai) Co., Ltd. | Communication of wireless headphones |
WO2019074311A1 (en) * | 2017-10-12 | 2019-04-18 | Lg Electronics Inc. | Method and apparatus for shifting boundary of uplink subframe or uplink slot in wireless communication system |
CN109995479A (en) * | 2019-06-03 | 2019-07-09 | 南京中感微电子有限公司 | A kind of voice data communication method, system and audio communication device |
CN112042212A (en) * | 2018-12-21 | 2020-12-04 | 华为技术有限公司 | Audio data transmission method and electronic equipment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10863494B2 (en) * | 2018-01-22 | 2020-12-08 | Apple Inc. | Control signaling for uplink multiple input multiple output, channel state information reference signal configuration and sounding reference signal configuration |
-
2020
- 2020-11-13 DE DE102020130037.9A patent/DE102020130037A1/en active Pending
- 2020-11-16 CN CN202011277000.8A patent/CN112821989B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105284134A (en) * | 2012-12-03 | 2016-01-27 | 索诺瓦公司 | Wireless streaming of an audio signal to multiple audio receiver devices |
WO2019074311A1 (en) * | 2017-10-12 | 2019-04-18 | Lg Electronics Inc. | Method and apparatus for shifting boundary of uplink subframe or uplink slot in wireless communication system |
US10244307B1 (en) * | 2018-02-09 | 2019-03-26 | Bestechnic (Shanghai) Co., Ltd. | Communication of wireless headphones |
CN112042212A (en) * | 2018-12-21 | 2020-12-04 | 华为技术有限公司 | Audio data transmission method and electronic equipment |
CN109995479A (en) * | 2019-06-03 | 2019-07-09 | 南京中感微电子有限公司 | A kind of voice data communication method, system and audio communication device |
Also Published As
Publication number | Publication date |
---|---|
CN112821989A (en) | 2021-05-18 |
DE102020130037A1 (en) | 2021-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12113622B2 (en) | Method for feedback control, UE, and network device | |
US20200186300A1 (en) | Data Transmission Method, Terminal, and RAN Device | |
CN111435844B (en) | Method, device, equipment and system for correcting audio data in dual-wireless Bluetooth communication | |
CN106559739B (en) | Lightweight data transmission method suitable for Bluetooth low-power wireless communication system | |
WO2021121289A1 (en) | Data receiving method and apparatus for bluetooth headset, device, and storage medium | |
WO2021013092A1 (en) | Sidelink information transmission method, terminal, and control node | |
JP7297140B2 (en) | DATA TRANSMISSION METHOD, APPARATUS AND DEVICE | |
US20160366008A1 (en) | Data retransmission method and apparatus | |
US11881947B2 (en) | Hybrid automatic repeat request acknowledgement sending method and terminal | |
WO2021232681A1 (en) | Communication method for earphone and charging box, charging box, earphone and readable storage medium | |
JP2016518749A (en) | Method and apparatus for using more transmission opportunities in a distributed network topology with limited HARQ processes | |
WO2023185353A1 (en) | Data transmission method, electronic device, and storage medium | |
WO2015054890A1 (en) | Method and apparatus for processing scheduling request | |
US20230284274A1 (en) | Apparatuses, methods, and systems for increasing the transmission reliability for transmissions of a duplication bearer in a shared spectrum | |
CN113330757B (en) | Data transmission method and related device | |
CN112821989B (en) | Wireless audio streaming | |
WO2015062477A1 (en) | Data transmission method and device | |
CN110234101B (en) | Wireless transmission method, equipment and system for reliably transmitting data | |
CN110545151B (en) | Method for synchronizing states between audio ends and sending audio data packets and audio equipment | |
CN114830679A (en) | Audio device and audio device operation method | |
US11917543B2 (en) | Bluetooth-based data transmission method and data receiving method, communicating apparatus and computer storage medium | |
CN113242318B (en) | Data transmission method and electronic equipment | |
US20180376326A1 (en) | Reliable write command protocol for bluetooth le | |
US10623872B1 (en) | Systems and methods for audio rendering control in a hearing system | |
CN111435860B (en) | Transmission method and terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |