Device, system and method for relaying data between hearing devices
By relaying data between listening devices and using the sequential number identification and synchronization mechanism, the synchronization and reliability problems between the listening device and the audio source are solved, and more stable audio packet transmission and playback are achieved, suitable for binaural hearing systems.
Patent Information
- Application Number
- CN202080097481.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-02-24
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2040-02-24
AI Technical Summary
When establishing a wireless link between the hearing device and the audio source, the second hearing device cannot directly connect to the audio source, resulting in unstable and lost audio packet reception. The prior art transmits audio packets through eavesdropping instructions but lacks synchronization and reliability.
By relaying data between listening devices, using sequential number identification and synchronization mechanisms, the listening device selectively transmits received audio packets, ensuring synchronization and integrity of the data packets, including storing and playing back audio packets in the buffer.
Improves the reliability and synchronization of audio presentation for hearing device users, reduces errors and delays, and is suitable for unreliable connection environments.
Smart Images

Figure CN115152248B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to devices, systems and methods for relaying data between hearing devices. Background Art
[0002] In some cases, it is desirable for a hearing system comprising first and second hearing devices to present (e.g., acoustically render) streaming audio from an audio source (e.g., a Bluetooth-enabled smartphone) to a user. To this end, the first hearing device may establish a wireless link (e.g., a Bluetooth link) with the audio source and receive audio packets transmitted from the audio source over the wireless link according to an acknowledgement-based transmission protocol. The acknowledgement-based transmission protocol requires the first hearing device to acknowledge successful receipt of an audio packet transmitted by the audio source before the audio source transmits a subsequent audio packet.
[0003] For various reasons (e.g., technical limitations, power consumption constraints, etc.), it may be impossible or undesirable for a second hearing device to establish and maintain its own wireless link with the audio source while maintaining a wireless link between the first hearing device and the audio source. In these cases, as described in U.S. Patent Publication 2015 / 0319557, to facilitate the presentation of streaming audio by the second hearing device, the first hearing device may transmit a tap instruction to the second hearing device via a wireless support link that interconnects the hearing devices. The tap instruction allows the second hearing device to tap the wireless link established between the first hearing device and the audio source to receive audio packets while the audio packets are being transmitted by the audio source via the wireless link. Upon receiving the audio packets, the first and second hearing devices may store the audio packets in corresponding buffers and present the audio by playing back the audio packets from the buffers. However, the audio packets transmitted by the audio source may not always be correctly received by the first and second hearing devices. Summary of the Invention
[0004] The present invention relates to devices, systems, and methods for relaying data between hearing devices. An exemplary hearing device is configured to receive sequential data packets from a source, each identified by a sequence number. The hearing device receives a first specific sequence number from an additional hearing device configured to also receive the sequential data packets, the first specific sequence number indicating the last of the sequential data packets received uninterrupted by the additional hearing device. The hearing device selectively transmits, based on the first specific sequence number, data packets included in the sequential data packets received from the source to the additional hearing device, the data packets identified by the sequence number based on the first specific sequence number. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] The accompanying drawings illustrate various embodiments and are part of the specification. The illustrated embodiments are merely examples and do not limit the scope of the present disclosure. Throughout the drawings, the same or similar reference numerals refer to the same or similar elements.
[0006] Figure 1 An exemplary configuration is illustrated, wherein a hearing system is configured to communicate with an audio source via a selectively established wireless link according to the principles described herein.
[0007] Figure 2 An exemplary configuration is illustrated, wherein a hearing device comprised in a hearing system receives audio packets from an audio source into a buffer according to the principles described herein.
[0008] Figure 3-5 Illustrated is an exemplary diagram of relaying audio data according to the principles described herein.
[0009] Figure 6 An exemplary method for relaying audio data according to the principles described herein is illustrated. DETAILED DESCRIPTION
[0010] Described herein are exemplary systems and methods for relaying data through hearing devices and systems. For example, a hearing device may include a memory storing instructions and a processor communicatively coupled to the memory and configured to execute the instructions to receive sequential data packets from a source, each sequential data packet identified by a sequence number. The processor may also be configured to receive a first specific sequence number from an additional hearing device also configured to receive sequential data packets, the sequence number indicating the last of the sequential data packets received uninterrupted by the additional hearing device. The processor may also selectively transmit, based on the first specific sequence number, a data packet included in the sequential data packets received from the source to the additional hearing device, the data packet having a sequence number based on the first specific sequence number.
[0011] The systems and methods described herein can advantageously provide numerous benefits to hearing device users. For example, the hearing devices described herein can provide audio to users with fewer errors and / or delays than conventional hearing devices. The hearing devices can also be used in environments with less reliable connections to audio sources than conventional hearing devices. For at least these reasons, the systems and methods described herein can advantageously increase performance, reliability, and ease of use for hearing device users compared to conventional hearing devices. These and other benefits of the systems and methods described herein will become apparent herein.
[0012] As used herein, the term "audio packet" refers to any sample, portion, or other type of audio data representing streaming audio provided by an audio source or otherwise associated therewith. The audio packet can be in any suitable format and can be transmitted in any suitable manner. Although examples are described herein with reference to audio sources and audio packets, the systems and methods can be used with any suitable type of device and any data packet from any suitable type of data source.
[0013] Figure 1 An exemplary configuration 100 is illustrated in which a hearing system 102 (e.g., a binaural hearing system) is configured to communicate with an audio source 104 via a selectively established wireless link 106. As shown, the hearing system 102 includes a first hearing device 108-1 and a second hearing device 108-2 (collectively referred to as "hearing devices 108"). The hearing devices 108 can communicate with each other via a wireless link 110.
[0014] The audio source 104 can include any computing device that outputs streaming audio (e.g., speech, music, or other audio content output) and can be wirelessly connected to one of the hearing devices 108. For example, the audio source 104 can be a mobile device (e.g., a mobile phone such as a smartphone, a tablet computer, a laptop computer, a mobile gaming device), a desktop computer, a television, a speaker, etc. As described herein, the audio source 104 can wirelessly transmit the streaming audio to the hearing system 102 in the form of continuous audio packets (e.g., discrete units or data segments representing the streaming audio).
[0015] Hearing devices 108 can each be implemented as any type of hearing device configured to provide or enhance hearing to a user of hearing system 102. For example, hearing devices 108 can each be implemented as a hearing aid configured to deliver amplified audio content to the user, a sound processor included in a cochlear implant system configured to deliver electrical stimulation representing audio content to the user, a sound processor included in an electroacoustic stimulation system configured to deliver electroacoustic stimulation to the user, headphones, over-the-ear earbuds, or any other suitable hearing prosthesis. In some examples, hearing device 108-1 is of a different type than hearing device 108-2. For example, hearing device 108-1 can be a hearing aid, and hearing device 108-2 can be a sound processor included in a cochlear implant system.
[0016] As shown, each hearing device 108 includes a processor and a memory. For example, hearing device 108-1 includes a processor 112-1 and a memory 114-1. Similarly, hearing device 108-2 includes a processor 112-2 and a memory 114-2.
[0017] Processors 112 (eg, processor 112-1 and processor 112-2) are configured to perform various processing operations, such as receiving and processing streaming audio transmitted by audio source 104. Processors 112 may each be implemented in any suitable combination of hardware and software.
[0018] The memory 114 (e.g., memory 114-1 and memory 114-2) can be implemented by any suitable type of storage medium and can maintain (e.g., store) data utilized by the processor 112. For example, the memory 114 can store data representing an operating program that specifies how each processor 112 processes audio content and delivers the audio content to the user. To illustrate, if the hearing device 108-1 is a hearing aid, the memory 114-1 can maintain data representing an operating program that specifies an audio amplification scheme (e.g., amplification level, etc.) used by the processor 112-1 to deliver the acoustic content output by the audio source 104 to the user. As another example, if the hearing device 108-1 is a sound processor included in a cochlear implant system, the memory 114-1 can maintain data representing an operating program that specifies a stimulation scheme used by the hearing device 108-1 to direct the cochlear implant to apply electrical stimulation representative of the acoustic content output by the audio source 104 to the user. As will be described below, the memory 114 may maintain a buffer in which audio packets received from the audio source 104 may be stored.
[0019] The hearing devices 108 may communicate with each other (eg, by transferring data) via a wireless support link 110 that interconnects the hearing devices 108. The wireless support link 110 may include any suitable wireless communication link as may serve a particular implementation.
[0020] To facilitate communication between the hearing system 102 and the audio source 104, one of the hearing devices 108 may establish a wireless link with the audio source 104. Figure 1 As shown, the hearing device 108-1 can establish a wireless link 106 with the audio source 104. The wireless link 106 can include a Bluetooth link (e.g., a Bluetooth Classic link or a Bluetooth Low Energy link), a near-field communication link, or any other suitable point-to-point link. To this end, the hearing device 108 and the audio source 104 can each include a wireless interface configured to operate according to any suitable wireless communication protocol.
[0021] The hearing device 108-1 may receive audio packets transmitted from the audio source 104 over the wireless link 106 according to an acknowledgement-based transmission protocol, also known as an automatic repeat query (“ARQ”) protocol. This may allow the hearing device 108-1 to render (e.g., process and play back) streaming audio from the audio source 104.
[0022] Acknowledgement-based transmission protocols require the hearing device 108-1 to acknowledge successful receipt of an audio packet transmitted by the audio source 104 before the audio source 104 transmits a subsequent audio packet. Exemplary acknowledgment-based transmission protocols include stop-and-wait ARQ, return-N ARQ, and selective repeat ARQ. For example, the Bluetooth communication protocol may utilize any of these acknowledgment-based transmission protocols.
[0023] It may be desirable for the hearing device 108-2 to also present streaming audio from the audio source 104 when the hearing device 108-1 is presenting streaming audio. However, in some examples, the hearing device 108-2 cannot or does not establish its own wireless link with the audio source 104, while the hearing device 108-1 is connected to the audio source 104 via the wireless link 106. For example, the communication protocol used by the hearing device 108 and the audio source 104 to establish the wireless link between them may not allow both hearing devices 108 to be connected to the audio source 104 at the same time.
[0024] In these examples, the hearing device 108-2 may receive audio packets transmitted from the audio source 104 by eavesdropping on the wireless link 106. The eavesdropping is performed by Figure 1 1. The hearing device 108-2 can eavesdrop on the wireless link 106 by passively listening to (e.g., accessing) data traffic (e.g., audio packets) transmitted between the audio source 104 and the hearing device 108-1. The eavesdropping can be performed without the audio source 104 being aware that the hearing device 108-2 is accessing the data traffic and without the hearing device 108-2 transmitting any data to the audio source 104.
[0025] To enable the hearing device 108-2 to eavesdrop on the wireless link 106, the hearing device 108-1 may transmit a eavesdrop instruction to the hearing device 108-2 via the wireless support link 110. The eavesdrop instruction may include information (e.g., frequency hopping sequence information, clock frequency and phase offset information, encryption key information, address information, etc.) that allows the hearing device 108-2 to detect audio packets wirelessly transmitted from the audio source 104 to the hearing device 108-1. The hearing device 108-2 may thus use the eavesdrop instruction to eavesdrop on the wireless link 106.
[0026] Figure 2 An exemplary configuration 200 is illustrated in which both hearing devices 108 present streaming audio from an audio source 104. As shown, the audio source 104 transmits sequential audio packets that are received by both hearing devices 108-1 and 108-2. Figure 1 As depicted, the hearing device 108 - 1 may receive the audio packets via the wireless link 106 , and the hearing device 108 - 2 may receive the audio packets by eavesdropping on the wireless link 106 .
[0027] As shown, hearing device 108-1 stores audio packets in buffer 202-1. Similarly, hearing device 108-2 stores audio packets in buffer 202-2. Buffers 202-1 and 202-2 (collectively referred to as "buffers 202") can be maintained within memory 114-1 and memory 114-2, respectively, and can each have any suitable size (e.g., buffers 202 can each store any suitable number of audio packets).
[0028] The hearing device 108 can present streaming audio from the audio source 104 by playing back the audio packets stored in the buffer 202. For example, the hearing device 108-1 can present streaming audio from the audio source 104 by playing back the audio packets stored in the buffer 202-1. Similarly, the hearing device 108-2 can present streaming audio from the audio source 104 by playing back the audio packets stored in the buffer 202-2. When doing so, the played back audio packets can be removed from the buffer 202. The hearing device 108 can use any suitable processing technique to play back the audio packets stored in the buffer 202.
[0029] Playback of audio packets in the buffer 202 may occur as additional audio packets are received and stored within the buffer 202. In this manner, the buffer 202 may allow for continuous presentation of streaming audio from the audio source 104 as the audio is generated and transmitted by the audio source 104.
[0030] The audio packets may be stored in any suitable manner in a buffer, such as one of buffers 202. For example, encoded and / or compressed versions of the audio packets (rather than the audio packets themselves) may be stored in the buffer.
[0031] In some instances, either hearing device 108-1 or hearing device 108-2 may lose (i.e., not receive) an audio packet, resulting in a discontinuity in the received audio packet. Audio packets may be lost for various reasons, such as transmission errors, connection quality between hearing device 108 and audio source 104, etc. Additionally, a hearing device 108 may discard an audio packet for various reasons (e.g., a received audio packet has errors, etc.), which may be considered a lost audio packet. When one of the hearing devices 108 (e.g., hearing device 108-1) loses (or discards) an audio packet, the other hearing device 108 (e.g., hearing device 108-2) may relay the audio packet to hearing device 108-1. Receiving the lost audio packet from hearing device 108-2 may be more efficient than requesting a retransmission from audio source 104 because wireless link 110 may be more stable than wireless link 106. However, because audio packets may be sent asynchronously by the audio source 104, it may not be obvious when any one of the hearing devices 108 has lost an audio packet. The hearing device 108 may not determine that an audio packet has been lost until a subsequent audio packet in the sequence of audio packets is received. Therefore, it may not be obvious when any one of the hearing devices 108 should relay audio data to another.
[0032] The audio packets may each be identified by a sequence number. For example, the audio packets may include a sequence number that may be used to identify each audio packet. Additionally or alternatively, sequence numbers may be assigned to the audio packets by the hearing devices 108. The hearing devices 108 may periodically transmit the sequence number of the last of the received sequential audio packets to each other without interruption. When the hearing devices 108 receive the transmitted sequence number, one of the hearing devices 108 may autonomously transmit the next audio packet in the sequence to the other of the hearing devices 108 if either of the hearing devices 108 has already received the next audio packet in the sequence after the received sequence number. In this way, both hearing devices 108 may effectively remain synchronized and up to date in the received audio packets. Figure 3 and Figure 4 The paradigm is described.
[0033] Figure 3An exemplary diagram 300 is illustrated, which shows an algorithm for relaying data received from an audio source (e.g., audio source 104) between hearing devices (e.g., hearing device 108). Diagram 300 includes line 302-1, which shows data transmitted and received by audio source 104. Line 302-2 shows data transmitted and received by hearing device 108-1, while line 302-3 shows data transmitted and received by hearing device 108-2. In this example, line 302-1 shows block 304-1 indicating the transmission of a first audio packet having a sequence number of 3 by audio source 104. Lines 302-2 and 302-3 respectively show hearing device 108-1 and hearing device 108-2 receiving the first audio packet using blocks 304-2 and 304-3, respectively. Line 302-2 shows hearing device 108-1 transmitting an acknowledgment of receipt of the first audio packet using block 306-2. Line 302 - 1 shows that the audio source 104 receives the acknowledgement using block 306 - 1 .
[0034] Furthermore, diagram 300 illustrates the status of a corresponding buffer (e.g., buffer 202) of hearing device 108. For example, buffer 322-1 illustrates buffer 202-1 after hearing device 108-1 has received a first audio packet. In this example, hearing device 108-1 has previously received audio packets with sequence numbers 1 and 2, and therefore buffer 322-1 illustrates audio packets 1, 2, and 3. Similarly, buffer 324-1 illustrates buffer 202-2 after hearing device 108-2 has received a first audio packet. Hearing device 108-2 has also previously received audio packets with sequence numbers 1 and 2, and therefore buffer 324-1 also illustrates audio packets 1, 2, and 3. Therefore, for both hearing device 108-1 and hearing device 108-2, the last sequential audio packet received uninterrupted is audio packet 3. Thus, hearing device 108-1 transmits sequence number 3 to hearing device 108-2, and vice versa, 108-2 transmits sequence number 3 to hearing device 108-1. This transmission and reception is shown in blocks 308 (e.g., blocks 308-2 and 308-1) and 310 (e.g., blocks 310-1 and 310-2). Since neither hearing device 108-1 nor hearing device 108-2 has received any subsequent audio packets to audio packet 3, both hearing devices 108 are up to date and neither is transmitting audio data to the other.
[0035] Next, audio source 104 transmits a second audio packet (e.g., an audio packet with sequence number 4), as shown by block 312-1. In this example, hearing device 108-1 receives the second audio packet (as shown by block 312-2), while hearing device 108-2 does not (as shown by the crossed-out block 312-3). Correspondingly, buffer 322-2 shows that buffer 202-1 has received audio packet 4 and therefore holds audio packets 1-4. Buffer 324-2 shows that buffer 202-2 has lost audio packet 4 and therefore holds audio packets 1-3. For hearing device 108-1, the sequence number of the last uninterrupted audio packet received is 4, while for hearing device 108-2, the sequence number is 3. Thus, block 316 - 2 shows the hearing device 108 - 2 transmitting the sequence number 3 to the hearing device 108 - 1 , and block 316 - 1 shows the hearing device 108 - 1 receiving the sequence number 3 from the hearing device 108 - 2 .
[0036] In response, when hearing device 108-1 has received audio packet 4 and, upon receiving sequence number 3 from hearing device 108-2, indicates to hearing device 108-1 that hearing device 108-2 does not, hearing device 108-1 transmits audio packet 4 to hearing device 108-2. This transmission is indicated in block 318-1, and the reception of audio packet 4 by hearing device 108-2 is indicated in block 318-2. Therefore, hearing device 108-2 also has audio packets 1-4, as buffer 324-3 shows the state of buffer 202-2 after receiving audio packet 4 from hearing device 108-1. Therefore, hearing device 108-2 transmits sequence number 4 to hearing device 108-1, as audio packet 4 is now the last audio packet received uninterrupted. This transmission is indicated by block 320-2, and the reception of the transmission by hearing device 108-1 is indicated by block 320-1.
[0037] In this manner, the hearing devices 108 can transmit a sequence number to each other indicating the last consecutive audio packet received without interruption. The hearing devices 108 can receive the transmitted sequence number and, in response, selectively transmit an audio packet based on the received sequence number. As described, audio packets can be transmitted based on the received sequence number without requiring an explicit request for relaying of the audio packet.
[0038] Figure 4Another example diagram 400 for relaying data between hearing devices (e.g., hearing device 108) is illustrated. Diagram 400 shows the status of a buffer (e.g., buffer 202) for hearing device 108, indicating received and lost audio packets from an audio source (e.g., audio source 104). For example, buffer 402-1 shows the status of buffer 202-1, indicating that hearing device 108-1 has received audio packets 1-3, audio packets 5, 6, and 8, but has lost audio packets 4 and 7. Buffer 404-1 shows the status of buffer 202-2, indicating that hearing device 108-2 has received audio packets 1-8. In this example, the last audio packet received without interruption by hearing device 108-1 begins with sequence number 3, since the first interruption was with audio packet 4. Therefore, as shown by block 408-1 on line 406-1, hearing device 108-1 transmits sequence number 3 to hearing device 108-2. Line 406-2 shows block 408-2, which indicates that the hearing device 108-2 receives the transmitted sequence number 3. In response, the hearing device 108-2 transmits audio package 4 to the hearing device 108-1, as indicated by block 410-2. Block 410-1 shows that the hearing device 108-1 receives audio package 4.
[0039] Subsequently, once hearing device 108-1 receives audio packet 4, since audio packet 7 is lost and thus causes a discontinuity, the last audio packet received without interruption becomes audio packet 6. Therefore, hearing device 108-1 transmits sequence number 6 to hearing device 108-2, as shown by block 412-1. Hearing device 108-2 receives the transmitted sequence number 6, as shown by block 412-2. In response, hearing device 108-2 transmits audio packet 7 to hearing device 108-1, as shown by block 414-2. Hearing device 108-1 receives audio packet 7, as shown by block 414-1. By transmitting the sequence number of the last audio packet received without interruption in this manner, hearing device 108-1 can receive the lost audio packet from hearing device 108-2 without receiving the audio packet that was correctly received from audio source 104.
[0040] Once hearing device 108-1 receives audio packet 7, the last audio packet received continuously becomes audio packet 8, which is also the last audio packet received continuously by hearing device 108-2. In this way, both hearing devices 108 are synchronized with the audio packets transmitted by audio source 104 and updated accordingly. Hearing device 108-1 transmits sequence number 8 to hearing device 108-2 (indicated by block 416-1), and hearing device 108-2 receives the transmitted sequence number 8 (indicated by block 416-2). Since hearing device 108-2 does not have any subsequent audio packets, hearing device 108-2 does not transmit audio data to hearing device 108-1. Conversely, hearing device 108-2 may also transmit sequence number 8 to hearing device 108-1 (not shown). Hearing device 108-1 may receive the transmitted sequence number 8 and also not transmit audio data to hearing device 108-2. Furthermore, the updated sequence number transmitted by the hearing device 108 - 1 may provide confirmation to the hearing device 108 - 2 that the hearing device 108 - 1 correctly received the audio packets transmitted by the hearing device 108 - 2 .
[0041] Although the sequence numbers shown in Figures 300 and 400 are 1-8, any suitable sequence number may be used. The sequence number may be increased or decreased by any suitable increment or decrement. In some examples, the sequence number may be a 16-bit number that resets to 0 or 1 after reaching a maximum value. Thus, for example, the next sequence number after 65535 may be 0. In some examples, a portion of the sequence number may be transmitted rather than the complete sequence number. For example, for a 16-bit sequence number, the least significant byte (or other suitable portion) of the sequence number may be transmitted rather than the entire 16 bits.
[0042] Furthermore, there may be instances where the audio source 104 may reset or skip sequence numbers in transmitted audio packets (e.g., Logical Link Control and Adaptation Protocol (L2CAP) refreshes, audio / video synchronization, etc.). In such instances, in the case where the hearing device 108-1 misses the next audio packet, the hearing device 108-1 may transmit sequence number N. The hearing device 108-2 may not have an audio packet with sequence number N+1 because the audio source 104 has skipped the block of sequence numbers, but the hearing device 108-2 may have an audio packet with sequence number M that is later in the sequence than N+1. As a result, the hearing device 108-2 transmits audio packet M to the hearing device 108-1. Upon receiving audio packet M, the hearing device 108-1 determines that M is later in the sequence than N+1 and may ignore the remaining discontinuity before M.
[0043] In some examples, the sequence number may not be included in the transmitted audio packets. Such a sequence number may be calculated by the hearing device. The sequence number may be calculated in any suitable manner, for example as a basic incremental counter, based on other properties derived from the protocol (e.g., reception timestamp, etc.).
[0044] Furthermore, in some examples, a finer (or alternatively, coarser) granularity than audio packets can be used for relaying audio data. For example, the hearing device 108 can divide the audio packets into subframes based on a codec or any other suitable algorithm. The hearing device 108 can then transmit an identifier (e.g., a sequence number and frame index) identifying the missing subframes rather than the entire audio packet. In response, the hearing device 108 can selectively transmit subframes of audio data rather than audio packets.
[0045] Furthermore, although the hearing device 108 has been described in a wiretap topology with the audio source 104 , the methods described herein may be performed to relay audio data by any device that receives sequential audio data from an audio source.
[0046] Figure 5 An exemplary diagram 500 illustrating example timing for relaying data through a hearing device (e.g., hearing device 108) is illustrated. Diagram 500 shows line 502-1 illustrating data transmitted and received by an audio source (e.g., audio source 104). Line 502-2 illustrates data transmitted and received by a hearing device (e.g., hearing device 108-1), while line 502-3 illustrates data transmitted and received by an additional hearing device (e.g., hearing device 108-2). Data transmitted and received by the audio source 104 and hearing device 108 can be transmitted and received using a dynamic time division multiple access (TDMA) protocol (e.g., Bluetooth). The TDMA protocol can allocate time slots, such as a master time slot (e.g., time slot 504) for the audio source 104 to begin transmitting data and a slave time slot (e.g., time slot 506) for the hearing device 108 to begin transmitting data.
[0047] For example, audio source 104 may begin transmitting an audio packet at time slot 504, which is the primary time slot designated for audio source 104 to begin transmitting data. The transmission of an audio packet is illustrated by block 508-1, which spans several time slots. Blocks 508-2 and 508-3 illustrate the reception of the audio packet by hearing device 108-1 and hearing device 108-2, respectively. The length of the audio packet can be configured so that the transmission of the audio packet spans an odd number (e.g., 3, 5, etc.) of time slots (or slightly less). By spanning an odd number of time slots, the next time slot after the transmission of the audio packet is a slave time slot, which provides hearing device 108-1 with an opportunity to confirm receipt of the audio packet. Block 510-2 illustrates the transmission by hearing device 108-1 to audio source 104, confirming receipt of the audio packet. Block 510-1 illustrates the receipt of the confirmation by audio source 104. Transmission of the confirmation message by hearing device 108-1 may take less time than a full time slot. As an example, a time slot may be 625 microseconds (μs), and an acknowledgment message may take up to 406 μs. Such timing may allow time at the end of the time slot for the hearing device 108-1 to transmit a sequence number to the hearing device 108-2, or vice versa, without introducing additional delay to the transmission and reception of audio data from the audio source 104.
[0048] As shown, block 512-2 shows hearing device 108-2 transmitting the sequence number to hearing device 108-1, and block 512-1 shows hearing device 108-1 receiving the sequence number. Since the transmission and reception are completed before the end of the slave time slot, the next time slot may be available for audio source 104 to transmit the next audio packet.
[0049] As shown, block 514-1 indicates the transmission of the next audio packet by audio source 104, and blocks 514-2 and 514-3 indicate the reception of the next audio packet by hearing device 108-1 and hearing device 108-2, respectively. Block 516-2 indicates an acknowledgment transmitted by hearing device 108-1 in the subsequent slave time slot, which is received by audio source 104 at block 516-1. During the remainder of the slave time slot, hearing device 108-1 transmits a sequence number to hearing device 108-2, as indicated by blocks 518-1 and 518-2. Although this example shows hearing device 108 alternating the transmission of sequence numbers, any suitable algorithm may be used.
[0050] Figure 6 An exemplary method 600 is illustrated. Figure 6 One or more of the operations shown may be performed by any of the hearing devices described herein. Figure 6 Exemplary operations according to one embodiment are illustrated, but other embodiments may omit, add to, reorder, and / or modify Figure 6 Any of the actions shown.
[0051] In step 602, a processor of the hearing device receives sequential data packets from a source, each identified by a sequence number. Step 602 may be performed in any of the ways described herein.
[0052] In step 604, the processor receives a first specific sequence number from an additional hearing device that is also configured to receive sequential data packets, the first specific sequence number indicating the last of the sequential data packets received uninterrupted by the additional hearing device. Step 604 may be performed in any of the ways described herein.
[0053] In step 606, the processor selectively transmits a data packet included in the sequential data packets received from the source based on the first specific sequence number and to the additional hearing device, the data packet having a sequence number based on the first specific sequence number. Step 606 may be performed in any of the ways described herein.
[0054] In the foregoing description, various exemplary embodiments have been described with reference to the accompanying drawings. However, it will be apparent that various modifications and variations may be made thereto, and additional embodiments may be implemented, without departing from the scope of the present invention as set forth in the following claims. For example, certain features of one embodiment described herein may be combined with or substituted for features of another embodiment described herein. Accordingly, the description and drawings are to be regarded in an illustrative rather than a restrictive sense.
Claims
1. A hearing device comprising: a memory that stores instructions; as well as a processor communicatively coupled to the memory and configured to execute the instructions to: receiving sequential data packets from a source, each sequential data packet being identified by a sequence number; receiving a first specific sequence number from an additional hearing device configured to also receive the sequential data packets, the first specific sequence number indicating a last data packet of the sequential data packets received uninterruptedly by the additional hearing device; and Data packets included in the sequence of data packets received from the source are selectively transmitted based on the first specific sequence number and to the additional hearing device, the data packets being identified by sequence numbers based on the first specific sequence number.
2. The hearing device according to claim 1, wherein: The processor is further configured to execute the instructions to determine that the hearing device has received the data packet; and The transmitting is performed in response to the determination that the hearing device has received the data packet.
3. The hearing device according to claim 1 or 2, wherein: The processor is further configured to execute the instructions to perform the following operations: transmitting a second specific sequence number to the additional hearing device, the second specific sequence number indicating a last data packet of the sequence of data packets received uninterruptedly by the hearing device; and An additional data packet of the sequence of data packets is selectively received from the additional hearing device, the additional data packet being identified by a sequence number based on the second specific sequence number.
4. The hearing device according to claim 1 or 2, wherein: Receiving the first specific sequence number occurs during part of a response time slot configured for the hearing device to acknowledge receipt of a data packet to the source.
5. The hearing device according to claim 1 or 2, wherein: The first specific sequence number is the sequence number of the last data packet in the sequence of data packets received uninterruptedly; and The sequence number of the data packet is a next sequence number after the first specific sequence number.
6. The hearing device according to claim 1 or 2, wherein: The sequence of data packets is received from the source via a Bluetooth connection.
7. The hearing device according to claim 6, wherein The additional hearing device is configured to receive the sequenced data packets also via a Bluetooth eavesdropping topology.
8. The hearing device according to claim 1 or 2, wherein: The sequence of data packets is received from the source via a Bluetooth eavesdropping topology.
9. The hearing device according to claim 1 or 2, wherein: The data packet is an audio packet; and The processor is further configured to execute the instructions to render the audio represented by the audio packages.
10. A hearing system comprising: a first hearing device and a second hearing device, The first hearing device is configured to: receiving sequential data packets from a source, each sequential data packet including a sequence number; receiving a first specific sequence number from the second hearing device, the first specific sequence number indicating a last data packet in the sequence of data packets received uninterruptedly by the second hearing device; and Data packets included in the sequence of data packets received from the source are selectively transmitted based on the first specific sequence number and to the second hearing device, the data packets being identified by sequence numbers based on the first specific sequence number.
11. The system according to claim 10, wherein: The second hearing device is configured to: receiving said sequenced data packets from said source; transmitting the first specific sequence number to the first hearing device; selectively receiving the data packet from the first hearing device; receiving a second specific sequence number from the first hearing device, the second specific sequence number indicating a last data packet in the sequence of data packets received uninterruptedly by the first hearing device; and An additional data packet included in the sequence of data packets received from the source is selectively transmitted based on the second specific sequence number and to the first hearing device, the additional data packet being identified by a sequence number based on the second specific sequence number.
12. The system according to claim 10 or 11, wherein: The first hearing device is further configured to: transmitting a second specific sequence number to the second hearing device; and Additional data packets are selectively received from the second hearing device.
13. The system according to claim 10 or 11, wherein: The first hearing device is further configured to determine that the first hearing device has received the data packet; and The transmitting is performed in response to the determination that the first hearing device has received the data packet.
14. The system according to claim 10 or 11, wherein: Receiving the first specific sequence number occurs during part of a response time slot configured for the hearing device to acknowledge receipt of a data packet to the source.
15. The system according to claim 10 or 11, wherein: The first specific sequence number is the sequence number of the last data packet in the sequence of data packets received uninterruptedly; and The sequence number of the data packet is a next sequence number after the first specific sequence number.
16. The system according to claim 10 or 11, wherein: The sequential data packets are received from the source via a Bluetooth connection.
17. The system according to claim 16, wherein: The second hearing device is configured to receive the sequence of data packets further via a Bluetooth eavesdropping topology.
18. A listening method comprising: and receiving, by a processor, from a source, sequential data packets, each sequential data packet including a sequence number; receiving, by the processor and from a processor configured to also receive the sequential data packets, a first particular sequence number indicating a last of the sequential data packets received uninterrupted by an additional processor; and Data packets included in the sequence of data packets received from the source are selectively transmitted by the processor based on the first particular sequence number and to the additional processor, the data packets being identified by sequence numbers based on the first particular sequence number.
19. The method of claim 18, further comprising determining, by the processor, that the processor has received the data packet; and in, The transmitting is performed in response to the determination that the processor has received the data packet.
20. The method according to claim 18 or 19, further comprising: transmitting, by the processor and to the additional processor, a second specific sequence number indicating a last packet in the sequence of packets received uninterrupted by the processor; and Additional data packets of the sequence of data packets are selectively received by the processor and from the additional processor, the additional data packets being identified by sequence numbers based on the second particular sequence number.
21. The method according to claim 18 or 19, wherein Receiving the first particular sequence number occurs during a portion of a response time slot configured for the processor to acknowledge receipt of a data packet to the source.
22. The method according to claim 18 or 19, wherein: The first specific sequence number is the sequence number of the last data packet in the sequence of data packets received uninterruptedly; and The sequence number of the data packet is a next sequence number after the first specific sequence number.
23. The method according to claim 18 or 19, wherein The sequence of data packets is received from the source via a Bluetooth connection.
24. The method according to claim 23, wherein The additional processor is configured to also receive the sequenced data packets via a Bluetooth tap topology.
25. The method according to claim 18 or 19, wherein The sequence of data packets is received from the source via a Bluetooth eavesdropping topology.
Citation Information
Patent Citations
Wireless streaming of an audio signal to multiple audio receiver devices
US20150319557A1
Bluetooth communication method, communication device, communication system and electronic equipment
CN107135256A
Un-tethered wireless stereo speaker system
US20120058727A1
Real-time Relay of Wireless Communications
US20180084456A1