CN113261266B - Discontinuous transmission over short range packet-based radio links - Google Patents
Discontinuous transmission over short range packet-based radio links Download PDFInfo
- Publication number
- CN113261266B CN113261266B CN201980087743.8A CN201980087743A CN113261266B CN 113261266 B CN113261266 B CN 113261266B CN 201980087743 A CN201980087743 A CN 201980087743A CN 113261266 B CN113261266 B CN 113261266B
- Authority
- CN
- China
- Prior art keywords
- packet
- voice
- event
- packets
- zero payload
- 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
- 230000005540 biological transmission Effects 0.000 title abstract description 174
- 238000000034 method Methods 0.000 claims abstract description 167
- 230000006854 communication Effects 0.000 claims abstract description 83
- 238000004891 communication Methods 0.000 claims abstract description 83
- 230000000694 effects Effects 0.000 claims abstract description 66
- 230000004044 response Effects 0.000 claims abstract description 52
- 238000012544 monitoring process Methods 0.000 claims abstract description 16
- 238000010586 diagram Methods 0.000 description 56
- 230000007704 transition Effects 0.000 description 14
- 230000001360 synchronised effect Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 208000012514 Cumulative Trauma disease Diseases 0.000 description 1
- 206010038584 Repetitive strain injury Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/60—Substation equipment, e.g. for use by subscribers including speech amplifiers
- H04M1/6033—Substation equipment, e.g. for use by subscribers including speech amplifiers for providing handsfree use or a loudspeaker mode in telephone sets
- H04M1/6041—Portable telephones adapted for handsfree use
- H04M1/6058—Portable telephones adapted for handsfree use involving the use of a headset accessory device connected to the portable telephone
- H04M1/6066—Portable telephones adapted for handsfree use involving the use of a headset accessory device connected to the portable telephone including a wireless connection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/20—Manipulation of established connections
- H04W76/28—Discontinuous transmission [DTX]; Discontinuous reception [DRX]
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
- G10L25/84—Detection of presence or absence of voice signals for discriminating voice from noise
-
- 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
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0212—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
- H04W52/0216—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0251—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0251—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
- H04W52/0254—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity detecting a user operation or a tactile contact or a motion of the device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0261—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
- H04W52/0274—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
- G10L2025/783—Detection of presence or absence of voice signals based on threshold decision
- G10L2025/786—Adaptive threshold
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/02—Details of telephonic subscriber devices including a Bluetooth interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Systems and methods for discontinuous transmission over short range packet-based radio links are described herein. As an option, an audio stream received on an audio line input is monitored for voice-based signals during a communication session with a far-end system over a short-range packet-based radio link. A voice activity estimation signal is generated based on monitoring the audio stream for the voice-based signal. When the voice activity estimation signal exceeds a predetermined threshold, one or more voice packets are generated based on the audio stream and transmitted to the far-end system at one or more time instants. Also, in response to determining that the voice activity estimation signal is below the predetermined threshold, one or more null payload packets are transmitted to the remote system at one or more subsequent times.
Description
Technical Field
The present disclosure relates generally to the field of digital voice communications. More particularly, the present disclosure relates to voice packet transmission over short-range, packet-based synchronous and isochronous wireless communication links.
Background
This background section is provided for the purpose of generally describing the context of the present disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
For a long time, it has been considered by enterprises to be essential to equip their personnel with communication headsets. The headset improves productivity by releasing the user's hands to do controls such as taking notes and operating the peripheral devices of the computer (e.g., keyboard, mouse, etc.) as well as operating the dial pad of the phone and other devices (e.g., smart phone, tablet, etc.). In addition, as businesses migrate toward open office environments, some users find that wearing headphones helps reduce environmental disturbances, allowing increased attention and productivity. Further, the headset reduces discomfort to the head, neck, back and arms, and the potential for repetitive strain injury resulting therefrom, relative to a handheld device that must be held against the user's ear.
While headsets have traditionally been wired, which physically tie a user to his or her phone or computer, wireless headsets provide a number of significant benefits (e.g., strolling away from a desk without the risk of missing a phone, reaching a pencil without a cable flipping a coffee cup, etc.). Furthermore, recent improvements in wireless audio hardware and software, as well as battery technology, allow users to implement low latency broadband audio over wireless links without having to worry about charging the headset battery until the end of the day. Thus, many users have formed a strong preference for wireless headsets. Wireless communication headsets can be largely classified into two different Radio Frequency (RF) technologies. DECT and bluetooth. As used herein, a "DECT" device is a device operating within the european digital radio telecommunications or Unlicensed Personal Communication Services (UPCS) frequency band, including digital enhanced radio telecommunications telephone devices. Further, as used herein, a "bluetooth" device is a device that operates in accordance with the bluetooth core specification published by the bluetooth Special Interest Group (SIG).
Some countries prohibit operation of DECT equipment within their environment. In these countries, bluetooth headsets have become the preferred type of wireless headset for enterprise users. Further, even in areas where DECT devices are allowed to operate, the trend of more relaxed business on-board device (BYOD) policies has led to user preferences for bluetooth headsets, which are easier to connect to devices such as smartphones and tablet computers than their DECT counterparts. The bluetooth standard is designed to provide a low cost device with a user friendly connection set-up procedure. Bluetooth operates in the 2.4GHz ISM RF band, which is relatively crowded in indoor environments, and when contemplated, bluetooth headsets are not envisioned as a preferred headset solution for enterprise users for one day. Therefore, maximizing user density was once not an issue. As the number of bluetooth devices in a given environment increases, the traffic load in the 2.4GHz spectrum also increases. High traffic loads can result in increased mutual interference between devices, which manifests as unsatisfactory link audio quality. In other words, in some environments, bluetooth cannot achieve a desired user density.
Disclosure of Invention
In general, in one aspect, an embodiment features a method for discontinuous transmission over a short range packet-based radio link. The method comprises the following steps: during a communication session with a far-end system over a short-range packet-based radio link, a voice-based signal in an audio stream received on an audio line input is monitored. The method further comprises the following steps: a voice activity estimation signal is generated based on monitoring an audio stream for a voice-based signal. Further, the method comprises: when the voice activity estimation signal exceeds a predetermined threshold, one or more voice packets are generated based on the audio stream and transmitted to the far-end system at one or more time instances. Further, the method comprises: in response to determining that the voice activity estimation signal is below the predetermined threshold, one or more null payload packets are transmitted to the remote system at one or more subsequent times.
In general, in one aspect, an embodiment features a method for discontinuous transmission over a short range packet-based radio link. The method comprises the following steps: voice packets are received from a remote system during a communication session over a short-range packet-based radio link with the remote system. Moreover, the method comprises: after receiving the voice packet, a first zero payload packet is received from the remote system at a first time. In response to receiving the first zero payload packet and at a second time, a first voice packet including encoded voice data is transmitted to the far-end system. Further, the method comprises: a second zero payload packet is received from the remote system at a third time to acknowledge receipt of the first voice packet.
In general, in one aspect, an embodiment features a method for discontinuous transmission over a short range packet-based radio link. The method comprises the following steps: an audio stream is received on an audio line input during a communication session with a far-end system over a short-range packet-based radio link. The method further comprises the following steps: first voice packets are generated based on the audio stream and transmitted to the far-end system at a first time. Further, the method comprises: a first zero payload packet is received from the remote system at a second time after the first time to acknowledge receipt of the first voice packet. Further, the method comprises: second voice packets are generated based on the audio stream and transmitted to the far-end system at a third time. In addition, the method comprises: a second zero payload packet is received to acknowledge receipt of the second voice packet. The second zero payload packet is received from the remote system at a fourth time after the third time.
In general, in one aspect, an embodiment features a method for discontinuous transmission over a short range packet-based radio link. The method includes monitoring a voice-based signal in an audio stream received on an audio line input during a communication session with a far-end system over a short-range packet-based radio link. The method further comprises the following steps: a voice activity estimation signal is generated based on monitoring the audio stream for the voice-based signal and compared to a predetermined threshold. Further, the method comprises: a first voice packet is received from a remote system at a first time. In addition, the method comprises: in response to receiving the first voice packet and the voice activity estimation signal falling below a predetermined threshold, a first null payload packet is transmitted to the remote system. The first zero payload packet is transmitted at a second time instant. The method further comprises the following steps: a second voice packet is received from the remote system. A second voice packet is received at a third time. Further, the method comprises: in response to receiving the second voice packet and the voice activity estimation signal remaining below the predetermined threshold, a second zero payload packet is transmitted to the far-end system. The second zero payload packet is transmitted at a fourth time.
In general, in one aspect, an embodiment features a method for discontinuous transmission over a short range packet-based radio link. The method includes monitoring a voice-based signal in an audio stream received on an audio line input during a communication session with a far-end system over a short-range packet-based radio link. The method further comprises the following steps: a voice activity estimation signal is generated based on monitoring the audio stream for the voice-based signal and compared to a predetermined threshold. Further, the method comprises: one or more first zero payload packets are received from the remote system at one or more first times. In addition, the method comprises: in response to receiving the first null payload packets and the voice activity estimation signal falling below the predetermined threshold, one or more second null payload packets are transmitted to the remote system at one or more second times. Each of these second time instants follows a corresponding one of the first time instants such that each of the second zero payload packets is transmitted after receipt of a corresponding one of the first zero payload packets.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
Drawings
Fig. 1A illustrates an environment in which discontinuous transmission may be implemented over short range packet-based radio links in accordance with one or more embodiments of the invention.
Fig. 1B shows a timing diagram illustrating mutual interference between radio links.
Fig. 2A is a simplified block diagram depicting a system for initiating discontinuous transmission over a short-range packet-based radio link in accordance with one or more embodiments of the invention.
Fig. 2B is a simplified block diagram depicting a system for identifying a transition to a discontinuous transmission mode by a remote system over a short range packet-based radio link according to one or more embodiments of the invention.
Fig. 3A is a simplified block diagram depicting a system for initiating discontinuous transmission over a short-range packet-based radio link according to one or more embodiments of the invention.
Fig. 3B is a simplified block diagram depicting a system for identifying a transition to a discontinuous transmission mode by a remote system over a short-range packet-based radio link in accordance with one or more embodiments of the invention.
Fig. 4A-4D are timing diagrams illustrating operation of a master device and a slave device in a discontinuous transmission mode over a short range packet-based radio link according to one or more embodiments of the invention.
Fig. 5A-5D are timing diagrams illustrating operation of a master device and a slave device in a discontinuous transmission mode over a short range packet-based radio link according to one or more embodiments of the invention.
Fig. 6 is a flow diagram depicting a method for discontinuous transmission over a short-range packet-based radio link in accordance with one or more embodiments of the invention.
Fig. 7 is a flow diagram depicting a method for discontinuous transmission over a short-range packet-based radio link in accordance with one or more embodiments of the invention.
Fig. 8 is a flow diagram depicting a method for discontinuous transmission over a short range packet-based radio link in accordance with one or more embodiments of the invention.
Fig. 9 is a flow diagram depicting a method for discontinuous transmission over a short-range packet-based radio link in accordance with one or more embodiments of the invention.
Fig. 10 is a flow diagram depicting a method for discontinuous transmission over a short-range packet-based radio link in accordance with one or more embodiments of the invention.
Fig. 11 is a flow diagram depicting a method for discontinuous transmission over a short-range packet-based radio link in accordance with one or more embodiments of the invention.
Detailed Description
Specific examples of the present invention are described in detail below. In the following description of embodiments of the invention, specific details are set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known features have not been described in detail so as not to unnecessarily complicate the example descriptions.
In the following description, ordinal numbers (e.g., first, second, third, etc.) may be used as adjectives for elements (i.e., any noun in an application). The use of ordinal numbers does not imply or create any particular ordering of elements nor limit any elements to only a single element unless explicitly disclosed, such as by the use of the terms "before", "after", "single", and other such terms. Rather, ordinals are used to distinguish between similarly named elements. For example, a first element is different from a second element, and the first element may contain more than one element and inherit the second element (or before the second element) in the ordering of the elements.
As the demand for wireless headsets increases among users in an enterprise environment, bluetooth headsets have met a significant portion of the demand. This is due to a number of factors. First, bluetooth headsets can be easily connected to devices owned by the user, such as smartphones. Second, a bluetooth headset may be connected to two devices (such as a smart phone and a computer) simultaneously, allowing a user to listen to their personal music while also being available to answer incoming calls to either device. Unfortunately, however, bluetooth was originally developed to provide short range ad hoc connectivity for wireless peripherals of mobile devices, and the development of the bluetooth core specification largely failed to account for the issue of managing user density. In other words, although bluetooth has been accepted by people in enterprise environments, it has not been optimized for widespread adoption in such environments, since its focus has been primarily on low power and low cost hardware. The recently developed version of the bluetooth core specification continues this focus. For example, bluetooth low energy is designed with the intent to further reduce power consumption and cost, as first set forth in core specification version 4.0.
In the enterprise, user density (i.e., the number of simultaneous voice links of acceptable audio quality per unit square area) remains a critical issue. Although the bluetooth classic may be comparable to DECT in some user density metrics, bluetooth low power consumption is expected, and the number of users that can operate a wireless link at an acceptable error rate may be reduced by as much as 50% relative to the bluetooth classic due to relaxed radio parameters.
For the reasons stated above, limitations on the user density of bluetooth devices in an enterprise environment are a problem that is expected to continue to grow.
In cellular systems, discontinuous Transmission (DTX) is one method that may be used to reduce RF emissions from portable user equipment, thereby reducing the RF noise floor and allowing for increased user density in a given area. However, discontinuous transmission implemented in cellular systems is not suitable for short range packet-based technologies such as bluetooth. For example, especially on bluetooth voice links, it is problematic for a device to stop sending packets in one direction because the packet header from the device may include acknowledgement information expected at the far end of the link.
In general, embodiments of the invention provide systems, methods, and computer-readable media for implementing discontinuous transmission over short-range packet-based voice links, such as Bluetooth. The systems and methods described herein provide a transmitter having the following functionality: pauses in voice communications over an active voice link are identified and during such pauses, a transition is made to a discontinuous transmission mode characterized by low duty cycle packet transmissions that reduces RF spectrum utilization and noise for nearby devices. As an option, the transmitter may transmit one or more packets including comfort noise information infrequently while in the discontinuous transmission mode. Comfort noise is required in the receiving device to make the user perceive that the communication link is not broken and that another user is still present, although the other user is not speaking.
With the systems and methods described herein, the duty cycle of a short range packet-based voice link, such as a bluetooth link, may be reduced. Such a reduction in duty cycle can have a significant impact on user density. For example, if the systems and methods described herein are employed in both directions of a short-range packet-based voice link, and assuming a 30% reduction in traffic load in each direction, an overall increase in user density of nearly 60% can be achieved. Thus, the various implementations of discontinuous transmission over short-range packet-based voice links described below allow a significantly greater number of users to concurrently operate bluetooth headsets in a given area of fixed size (such as an office environment). In addition, due to the reduced duty cycle (i.e., radio on time) at a given transceiver, reduced power consumption may allow for devices with smaller batteries and/or increased device operating time before recharging is required.
Fig. 1A illustrates an environment 100 for implementing discontinuous transmission over a short-range packet-based radio link in accordance with one or more embodiments. Although the elements of environment 100 are presented in one arrangement, other embodiments may feature other arrangements, and other configurations may be used without departing from the scope of the invention. For example, various elements may be combined to create a single element. As another example, a function performed by a single element may be performed by two or more elements. In one or more embodiments of the invention, one or more of the elements shown in FIG. 1A may be omitted, repeated, and/or substituted. Accordingly, various embodiments may lack one or more of the features shown. For this reason, embodiments of the present invention should not be considered limited to the particular arrangement of elements shown in FIG. 1A.
As depicted in fig. 1A, environment 100 includes several wireless headsets 102 (i.e., wireless headsets 102a-102 n). Each of the wireless headsets 102 maintains an active short-range packet-based radio link 103 (i.e., wireless links 103a-103n, respectively) with a corresponding host device 104 (i.e., host devices 104a-104n, respectively). In other words, each of the wireless links 103 connects the wireless headset 102 and the corresponding host device 104. For example, the first wireless link 103a is active between the first wireless headset 102a and the first host device 104 a; the second wireless link 103b is active between the second wireless headset 102b and the second host device 104 b; a third wireless link 103c is active between the third wireless headset 102c and the third host device 104c, and so on.
As used herein, a wireless headset 102 is a head-worn device or body-worn device configured to form a short-range packet-based radio link 103 with another device (e.g., an adapter (dongle), a mobile phone, a tablet computer, a laptop computer, a desktop computer, a base station, etc.). Each wireless headset 102 includes a speaker and a microphone configured such that when the wireless headset 102 is worn by a user, the speaker is positioned proximate to the ear on which the user is wearing and the microphone is positioned to monitor the user's voice. Thus, the wireless headset 102 may comprise a monaural headset or a stereo headset, whether the user is wearing over the ear (e.g., a circumaural headset, etc.), in the ear (e.g., an earbud, an in-ear headset, a neck-worn device, etc.), or on the ear (e.g., a supra-aural headset, etc.). Each of the wireless headsets 102 is usable by a user to participate in a telephone call placed from the corresponding host device 104 or received at the corresponding host device 104. For purposes of simplicity and clarity, the present disclosure describes the invention in the context of a wireless headset, however, it should be understood that the systems and methods for discontinuous transmission disclosed herein are also applicable to other devices having a microphone for picking up near-end call audio and a speaker for presenting call audio received over a network from a far-end, such as wireless headsets and speakerphones.
As described herein, each of the short-range packet-based radio links 103 (i.e., wireless links 103) includes an air interface that deploys one or more carrier frequencies over which the host device 104 and the wireless headset 102 exchange packet communications, including voice data and non-voice data. In one or more embodiments, the wireless link 103 may have a range of less than about 100 meters. In one or more embodiments, each of the wireless links 103 may be formed and operated (i.e., exchange data) according to one or more of the bluetooth core specifications issued by the bluetooth SIG, the details of which are beyond the scope of this document. Thus, in one or more embodiments, each of the wireless headsets 102 can comprise a bluetooth headset of any form factor, and each of the wireless links 103 can comprise a Frequency Hopping Spread Spectrum (FHSS) connection. FHSS is used to reduce the incidence of mutual interference (e.g., packet collisions) with other wireless links 103 and to mitigate the effects of fixed frequency broadcasts from another device (not shown) on the wireless link 103. In conjunction with error correction schemes (e.g., automatic retransmission or ARQ), FHSS provides robustness in environments prone to (rayleigh) fading caused by multipath.
As described herein, each of the host devices 104 includes any device operable as or coupleable to a call endpoint that delivers call audio that has been received over a network to the headset 102. Further, each of the host devices 104 receives the transmitted call audio from the headset 102 over the wireless link 103 for delivery over the network. Host device 104 may include a mobile phone (e.g., smartphone, etc.), a desktop phone, an adapter, a tablet device, a laptop computer, a desktop computer, and/or a base station. The network may include any private or public communication network, wired or wireless, such as, for example, a Local Area Network (LAN), a Wide Area Network (WAN), the internet, a cellular voice network, a cellular data network, and/or the Public Switched Telephone Network (PSTN).
The environment 100 may include any physical space occupied by one or more people at a given time. The environment 100 may include one or more of an office, an open workspace, a factory floor, and the like. For example, environment 100 may include a call center or assembly line. For each active short-range packet-based radio link 103 between the headset 102 and the host device 104, the user may be currently engaged in a telephone call with a third party (e.g., a customer, client, colleague, manager, etc.), exchanging non-call audio (e.g., streaming audio, playing music, etc.), and/or exchanging other data (e.g., status updates, configuration settings, etc.).
Depending on the physical characteristics of the environment 100, other electronic devices operating in the environment 100, and the operating parameters (e.g., power, link type, etc.) of the wireless headset 102, the environment 100 may support a density of tens or hundreds of wireless links 103 active simultaneously. Despite the benefits of increased density achieved through FHSS and other techniques, mutual interference between wireless links 103 will increase as the number of wireless links 103 within the environment 100 increases.
For example, fig. 1B is a timing diagram illustrating mutual interference between a first short range packet-based radio link 103a of user a and a second short range packet-based radio link 103B of user B. As shown in fig. 1B, the first wireless link 103a is a slotted connection between the first device (TX) (i.e., master device, first wireless headset 102 a) and the second device (RX) (i.e., slave device, first host device 104 a). Similarly, the second wireless link 103b is a time slot connection between the third device (TX) (i.e., the master device, the second wireless headset 102 b) and the fourth device (RX) (i.e., the slave device, the second host device 104 b).
On both the first wireless link 103a and the second wireless link 103b, at a predetermined connection interval (T) rep ) The packet is transmitted. The connection interval may be further broken down into frames and/or slots. In the example shown in fig. 1B, each connection interval is divided into three frames, and each frame includes two time slots. Further, as shown in fig. 1B, the first frame in the connection interval provides an opportunity for both the master and slave to transmit packets. Specifically, within the first frame of each connection interval of the wireless link 103 of fig. 1B, a first time slot is reserved for the master device for transmitting a first packet (i.e., packets TA1, TB1, TA2, TB 2) to the corresponding slave device, and a second time slot is reserved for the slave device for transmitting a second packet to the master deviceA second packet (i.e., packets RA1, RB1, RA2, RB 2) is sent. Subsequent frames in the same connection interval may be reserved as needed for retransmission attempts, which are shown as shaded boxes in the corresponding slots. Although the concatenation interval of fig. 1B is shown to include two frames for retransmission attempts, it is to be understood that the concatenation interval may provide more or less than two retransmission frames. For example, the connection interval may include 0 retransmission frames, 1 retransmission frame, 4 retransmission frames, and so on.
Mutual interference occurs when two or more packets overlap in both frequency (i.e., carrier) and time and are received at comparable power levels, resulting in a low signal-to-interference ratio (SIR). Referring specifically to fig. 1B, user B's packet TB1 partially overlaps in the time domain with both packet TA1 from user a's headset and packet RA1 from user a's host device. Accordingly, as shown in fig. 1B, when the packet TB1 of the user B overlaps with the packet TA1 and/or the packet RA1 in the frequency domain, mutual interference occurs between the first wireless link 103a and the second wireless link 103B. Similarly, if the packet RB1 of user B overlaps with the packet RA1 in the frequency domain, the packet RB1 may interfere with the packet RA1; and/or if the packet RB1 overlaps with the retransmission packet TA1 in the frequency domain, the packet RB1 may interfere with the retransmission packet TA1. Still further, the retransmission packet TB1 may interfere with the retransmission packet TA1 and/or the retransmission packet RA1, and so on.
Referring back to fig. 1A, as the number of short-range packet-based radio links 103 operating on the same carrier in the environment 100 increases, the likelihood of packet collisions also increases, and thus frame erasures also increase. Thus, call quality can quickly degrade, frustrating users in environment 100. Systems and methods for implementing discontinuous transmission at the wireless headset 102 and the host device 104 are described below. The systems and methods for discontinuous transmission disclosed below increase the number of wireless links 103 that can operate concurrently in environment 100 while maintaining below a threshold number of frame erasures and conserving battery power.
Fig. 2A depicts a simplified block diagram of a system 250 in accordance with one or more embodiments, the system 250 for initiating discontinuous transmission over a short-range packet-based radio link and providing comfort noise information. Although the elements of system 250 are presented in one arrangement, other embodiments may feature other arrangements, and other configurations may be used without departing from the scope of the invention. For example, various elements may be combined to create a single element. As another example, a function performed by a single element may be performed by two or more elements. In one or more embodiments of the invention, one or more of the elements shown in fig. 2A may be omitted, repeated, and/or substituted. Accordingly, various embodiments may lack one or more of the features shown. For this reason, embodiments of the present invention should not be considered limited to the particular arrangement of elements shown in FIG. 2A.
As shown in fig. 2A, the system 250 includes: a hardware processor 202 operatively coupled to a memory 254, a background noise modeler 256, a Voice Activity Detector (VAD) 206, an audio line output 208, an audio line input 210, and a wireless transceiver 212. In one or more embodiments, the hardware processor 202, the memory 254, the VAD 206, the background noise modeler 256, the wireless transceiver 212, the audio line input 210, and the audio line output 208 may be in communication via one or more communication buses. Although not depicted in fig. 2A for purposes of simplicity and clarity, it should be understood that in one or more embodiments, the system 250 may include one or more of a display, a haptic device, user-operable controls (e.g., buttons, slide switches, capacitive sensors, touch screens, etc.), and an audio codec for encoding and decoding call audio transmitted and received via the wireless transceiver 212.
As described herein, audio line input 210 comprises any channel configured to receive a first stream of call audio (whether digital and/or analog). Further, the audio line output 208 includes any channel configured to output a second stream of call audio (whether digital and/or analog). Wireless transceiver 212 modulates one or more carrier channel frequencies to transmit information to remote system 350 over the air interface and demodulates one or more carrier channel frequencies to receive information from remote system 350 over the air interface. In one or more embodiments, the wireless transceiver 212 may be, for example, a bluetooth transceiver. The system 250 forms a short range packet-based radio link with the remote system 350 via the wireless transceiver 212. In one or more embodiments, remote system 350 includes a remote device operable to detect when system 250 has transitioned into and out of discontinuous transmission mode. As described below, when system 250 is in discontinuous transmission mode, remote system 350 will receive zero payload packets periodically interspersed with comfort noise packets, both of which are transmitted by wireless transceiver 212. The far-end system 350 is described below in the context of fig. 2B.
As described herein, the hardware processor 202 processes data, including execution of applications stored in the memory 254. In one or more embodiments, hardware processor 202 is a high-performance, highly integrated, and highly flexible system on a chip (SOC) that includes signal processing functions such as statistical signal processing, echo cancellation/reduction, and/or gain control. In one or more embodiments, hardware processor 202 may include various processors (e.g., digital signal processors, etc.), analog-to-digital converters, digital-to-analog converters, and so forth, where a conventional CPU is applicable.
The VAD 206 is operable to perform speech processing on an audio stream received on the audio line input 210 and detect any speech-based signals (i.e., human speech) within the audio stream. Thus, the VAD 206 continuously estimates the likelihood of human speech being present in the audio stream received on the audio line input 210 and outputs a voice activity estimation signal, which may be received by the hardware processor 202. The voice activity estimation signal may be a continuous signal or a discrete signal. In response to the voice activity estimate signal from VAD 206 falling below (or exceeding, depending on the configuration) a predetermined threshold, wireless transceiver 212 outputs zero payload packets instead of voice packets.
Memory 254 comprises any storage device capable of storing information, either temporarily or permanently. The memory 254 may comprise volatile and/or non-volatile memory, and may comprise more than one type of memory. For example, the memory 254 may include one or more of SDRAM, ROM, and flash memory. In one or more embodiments, the memory 254 may include a link key, a random number generator, and a device address (e.g., BD ADDR, etc.). The memory 254 of the system 250 is shown as including a buffer 258, and the buffer 258 is shown as including comfort noise parameters 260. Each of these elements is described in turn below.
The background noise modeler 256 comprises a routine that, when executed by a hardware processor, characterizes the incoming audio stream on the audio line input 210. In particular, background noise modeler 256 stores a recorded sequence characterizing the time-varying background noise on audio line input 210 as comfort noise parameters 260 to buffer 258. Each record of comfort noise parameters 260 may include a background noise energy level and/or a background noise frequency distribution.
In one or more embodiments, the background noise modeler 256 characterizes the incoming audio stream in response to the voice activity estimate signal from the VAD 206 crossing a threshold. As an option, the background noise modeler 256 may use the audio held on the audio line input 210 to generate comfort noise parameters 260 when speech is no longer present on the audio line input 210. As another option, the background noise modeler 256 may be active when speech is present on the audio line input 210. For example, comfort noise parameters 260 may be extracted from the audio on the audio line input 210 while speech is in progress and the comfort noise parameters 260 may be stored to the buffer 258. In other words, when the speech activity estimation signal exceeds a predetermined threshold, comfort noise parameters 260 are extracted from the audio stream on the audio line input 210. In such an example, comfort noise parameters 260 may be transmitted when system 250 is or is not in a discontinuous transmission mode. If comfort noise parameters 260 were transmitted when system 250 was not in discontinuous transmission mode, system 250 would not need to transmit comfort noise parameters 260 to remote system 350 when system 250 subsequently entered discontinuous transmission mode.
Buffer 258 may include a circular buffer that stores a moving window of records for a predetermined duration of time, up to seconds or minutes. For example, the buffer 258 may include a record of comfort noise parameters 260 for a moving window of 1 second, 5 seconds, 10 seconds, 30 seconds, 5 minutes, 10 minutes, and so forth.
While in a discontinuous transmission mode in which the system 250 sends zero payload packets as a substitute for voice packets to the far-end system 350, the hardware processor 202 may periodically generate comfort noise packets using the comfort noise parameters 260. For example, the hardware processor 202 may generate comfort noise packets every 1 second, 5 seconds, 10 seconds, 15 seconds, and so on. Such comfort noise packets may be transmitted by wireless transceiver 212 to remote system 350. As described herein, a comfort noise packet includes any data packet having a payload that describes comfort noise. In one or more embodiments, the comfort noise packets may include Silence Insertion Descriptor (SID) frames. Comfort noise packets may be generated using all or a subset of the records of comfort noise parameters 260. For example, two or more recordings of comfort noise parameters 260 may be averaged to generate a comfort noise packet.
As described herein, a voice packet includes any packet having a payload of bit-encoded call audio data. Voice packets in the context of a bluetooth link may include, for example, high quality voice packets such as HV1 packets, HV2 packets, HV3 packets, EV4 packets, EV5 packets, and so on. Further, a zero payload packet includes any packet without payload. In one or more embodiments, the zero payload packet may include an access code, such as a channel access code, and/or a header. For example, in the context of a bluetooth link, the zero-payload packets transmitted by the wireless transceiver 212 may include medium-rate (i.e., DM-type) data packets (e.g., DM1, DM3, DM5, etc.) and/or high-rate (i.e., DH-type) data packets (e.g., DH1, DH3, DH5, etc.), as defined by the bluetooth core specification, with the PDU header indicating a payload of length 0 and no payload. Of course, however, a zero payload packet may be any type of packet without a payload, regardless of whether the header of the packet includes a length indication that flags (signaling) that the payload is empty. As another example in the context of a bluetooth link, the zero payload packets sent by wireless transceiver 212 may include NULL packets and/or POLL packets as defined by the bluetooth core specification. NULL and POLL packets lack a PDU header and a Cyclic Redundancy Check (CRC) code, which is included in DM-type and DH-type packets. Thus, the use of NULL packets and/or POLL packets minimizes radio on-time relative to zero payload packets of DM type and DH type. Regardless of the format of the packets and the definition of the payload, it will be appreciated that during discontinuous transmission the packets transmitted are much shorter than ordinary voice packets used during a voice call, thereby reducing the duty cycle and allowing for higher density.
Regardless of the type of zero payload packet used, the output of the VAD 206 activates or deactivates the discontinuous transmission state of the system 250. When discontinuous transmission is activated, resources of system 250 may be conserved by avoiding encoding audio received on audio line input 210 into packets for transmission by wireless transceiver 212 and/or by avoiding activating wireless transceiver 212 for a period of time longer than required to transmit zero payload packets. Thus, in the system 250, the transmission of voice packets by the wireless transceiver 212 may be replaced by the transmission of zero payload packets when the VAD 206 does not detect voice on the audio line input 210. Thus, the traffic load on the wireless link is reduced by forgoing sending voice packets when it is determined that the associated user is not speaking. Furthermore, power consumption in the system 250 is reduced by not encoding the speech signal and not transmitting the speech payload, thereby extending battery life.
The use of zero payload packets may allow the system 250 and/or the remote system 350 to enter a discontinuous transmission mode without first requiring the exchange of control messages at any other layer of the communication protocol stack. For example, in the case of a bluetooth link, the system 250 may move into and out of discontinuous transmission mode on a mobile basis without any negotiation between the system 250 and the remote system 350 at the link management protocol layer. Negotiations at such protocol layers may increase the delay of transitions into and transitions out of the discontinuous transmission mode, which may result in voice clipping at voice activity transitions.
In the context of a bluetooth link, the comfort noise packet may be a DM-type packet or a DH-type packet. For example, while in discontinuous transmission mode, the system 250 may transmit a stream of zero payload packets interspersed periodically (e.g., every 3 seconds, every 5 seconds, every 10 seconds, etc.) with DM-type or DH-type packets that include comfort noise information sufficient for the far-end system 350 to render comfort noise for output by a speaker or transmission over a network. Thus, the transmission rate of packets containing comfort noise information may be very low compared to the transmission rate of voice packets when discontinuous transmission mode is not enabled at system 250.
While some systems have implemented a method of discontinuous transmission in which the transmitter simply stops sending packets, such a solution is impractical for some short range packet-based wireless links, including bluetooth links. For example, on some synchronous packet-based radio links (including bluetooth links), it is not possible for one device to simply stop sending packets because another device may assume that the link has been lost and close the connection. Moreover, on some synchronous packet-based radio links (including bluetooth links), the received packets must be acknowledged by the receiving device, otherwise the transmitting device will automatically retransmit previously transmitted packets, thereby creating unnecessary RF interference in the environment. Still further, on some synchronous packet-based radio links, including bluetooth links, a slave device is only allowed to transmit a packet in its time slot if it has been addressed (address) by the master device in a previous time slot. Thus, a slave on such a link cannot send its own voice packet if no packet is received from the master to trigger the slave transmission. For these reasons, the systems and methods disclosed herein enable discontinuous transmission over certain short range packet-based wireless links using zero-payload packets that facilitate continued normal operation of the far-end transceiver, including triggering transmission of voice packets and acknowledgement messages by the far-end transceiver.
Fig. 2B depicts a simplified block diagram of a system 350 in accordance with one or more embodiments, the system 350 for identifying a transition to a discontinuous transmission mode by a remote system 250 over a short-range packet-based radio link. Although the elements of system 350 are presented in one arrangement, other embodiments may feature other arrangements, and other configurations may be used without departing from the scope of the invention. For example, various elements may be combined to create a single element. As another example, a function performed by a single element may be performed by two or more elements. In one or more embodiments of the invention, one or more of the elements shown in fig. 2B may be omitted, repeated, and/or substituted. Accordingly, various embodiments may lack one or more of the features shown. For this reason, embodiments of the present invention should not be considered limited to the particular arrangement of elements shown in FIG. 2B.
As shown in fig. 2B, the system 350 includes: a hardware processor 302 operatively coupled to the memory 354, an audio line output 310, an audio line input 310, and a wireless transceiver 312. In one or more embodiments, the hardware processor 302, memory 354, wireless transceiver 312, audio line input 310, and audio line output 308 may be in communication via one or more communication buses. Although not depicted in fig. 2B for purposes of simplicity and clarity, it should be understood that in one or more embodiments, system 350 may include one or more of a display, a haptic device, user-operable controls (e.g., buttons, slide switches, capacitive sensors, touch screens, etc.), and an audio codec for encoding and decoding call audio transmitted and received via wireless transceiver 312.
In one or more embodiments, the system 350 includes a wireless headset, such as the wireless headset 102 described above in the context of fig. 1A. In such embodiments, wireless transceiver 312 forms a wireless link with a host device (i.e., remote system 250), such as host device 104 described above in the context of fig. 1A. Also, in such embodiments, audio line input 310 receives audio from a microphone configured to pick up speech from a worn user, and audio line output 308 outputs audio to one or more speakers configured to present call audio to the user. As described in further detail below, the content of the call audio stream output on the audio line output 308 may depend on whether the remote system 250 (i.e., the host device) is in a discontinuous transmission mode.
In one or more embodiments, system 350 can include a host device, such as host device 104 described above in the context of fig. 1A. In such embodiments, the wireless transceiver 312 forms a wireless link with a wireless headset (i.e., the far-end system 350), such as the wireless headset 102 described above in the context of fig. 1A. In such embodiments, near-end call audio is received from the wireless headset via wireless transceiver 312 and output over audio line output 308 for subsequent delivery over the network to the remote party, and audio line input 310 includes any channel for receiving a call audio stream originating from the remote party. As described above, a call audio stream from a remote party may be received over a network. As described in further detail below, the content of the call audio stream output on the audio line output 308 may depend on whether the far-end system 250 (i.e., the wireless headset) is in a discontinuous transmission mode.
When the remote system 250 is not in discontinuous transmission mode and is transmitting voice packets, the voice packets may be decoded for output as audio on the audio line output 308. However, as described below, the comfort noise generator 356 may be used to generate an audio stream on the audio line output 308 when the remote system 250 is in discontinuous transmission mode and is transmitting zero payload packets.
As described herein, audio line input 310 includes any channel configured to receive a first stream of call audio (whether digital and/or analog). Further, audio line output 308 includes any channel configured to output a second stream of call audio (whether digital and/or analog). Wireless transceiver 312 modulates one or more carrier channel frequencies to transmit information to remote system 250 over the air interface and demodulates one or more carrier channel frequencies to receive information from remote system 250 over the air interface. In one or more embodiments, wireless transceiver 312 may be, for example, a bluetooth transceiver. Thus, system 350 forms a short range packet-based radio link (i.e., wireless link) with remote system 250 via wireless transceiver 312.
The hardware processor 302 processes data, including execution of applications stored in the memory 354, as described herein. In one or more embodiments, hardware processor 302 is a high-performance, highly integrated, and highly flexible system on a chip (SOC) that includes signal processing functions such as statistical signal processing, echo cancellation/reduction, and/or gain control. In one or more embodiments, the hardware processor 302 may include various processors (e.g., digital signal processors, etc.), analog-to-digital converters, digital-to-analog converters, and so forth, where a conventional CPU is applicable.
Memory 354 includes any storage device capable of storing information, either temporarily or permanently. The memory 354 may include volatile and/or nonvolatile memory, and may include more than one type of memory. For example, memory 354 may include one or more of SDRAM, ROM, and flash memory. In one or more embodiments, memory 354 may include one or more of a link key, a random number generator, and a device address (e.g., BD ADDR, etc.).
The memory 354 of the system 350 is shown as including a comfort noise generator 356. The comfort noise generator 356 includes a routine that, when executed by the hardware processor 302, generates a comfort noise output on the audio line output 308. In one or more embodiments, comfort noise generator 356 generates comfort noise based on one or more comfort noise packets received from remote system 250. The comfort noise packets may be received interspersed between streams of voice packets when the remote system 250 is not in a discontinuous transmission mode, or may be received interspersed between streams of zero payload packets when the remote system 250 is in a discontinuous transmission mode. Comfort noise generator 356 may be invoked in response to receiving a zero payload packet. Comfort noise generator 356 may generate comfort noise until a voice packet is again received at wireless transceiver 312 from remote system 250. In other words, using comfort noise generator 356, system 350 is operable to generate comfort noise audio upon receiving a zero payload packet from far-end system 250. In one or more embodiments, the comfort noise generator 356 may average or otherwise combine the comfort noise parameters of two or more comfort noise packets received without any voice packets in between.
Thus, a small payload of comfort noise information may be sent from remote system 250 to system 350 at a low rate (e.g., every 1 second, 3 seconds, 10 seconds, etc.) to ensure that the user experiences some background sound, thereby ensuring that the connection is still present to the user. Alternatively, comfort noise information is not transmitted at all during discontinuous transmission, but system 350 does its comfort noise generation based on comfort noise information received in the past when the connection was not in discontinuous transmission. With respect to the wireless link over which the remote system 250 continuously communicates voice packets as described below with reference to fig. 4A, the traffic on the wireless link between the remote system 250 and the system 350 will be considerably reduced due to the reduced rate of payload-containing transmissions from the remote system 250. As described above, the reduced traffic load reduces mutual interference between devices in the environment, thereby directly allowing for an increased user density.
Fig. 3A depicts a simplified block diagram of a system 200 for initiating discontinuous transmission over a short-range packet-based radio link in accordance with one or more embodiments. Although the elements of system 200 are presented in one arrangement, other embodiments may feature other arrangements, and other configurations may be used without departing from the scope of the invention. For example, various elements may be combined to create a single element. As another example, a function performed by a single element may be performed by two or more elements. In one or more embodiments of the invention, one or more of the elements shown in fig. 3A may be omitted, repeated, and/or substituted. Accordingly, various embodiments may lack one or more of the features shown. For this reason, embodiments of the present invention should not be considered limited to the particular arrangement of elements shown in FIG. 3A.
As shown in fig. 3A, the system 200 includes: a hardware processor 202 operatively coupled to a memory 204, a Voice Activity Detector (VAD) 206, an audio line output 208, an audio line input 210, and a wireless transceiver 212. In one or more embodiments, the hardware processor 202, memory 204, VAD 206, wireless transceiver 212, audio line input 210, and audio line output 208 may be in communication via one or more communication buses. Although not depicted in fig. 3A for purposes of simplicity and clarity, it should be understood that in one or more embodiments, system 200 may include one or more of a display, a haptic device, user-operable controls (e.g., buttons, slide switches, capacitive sensors, touch screens, etc.), and an audio codec for encoding and decoding call audio transmitted and received via wireless transceiver 212. The hardware processor 202, the audio line output 208, the audio line input 210, the wireless transceiver 212, and the VAD 206 have been described above in the context of fig. 2A, and for the sake of brevity, these components are not described again in the context of fig. 3A.
In one or more embodiments, the remote system 300 is operable to detect when the system 200 has transitioned into and out of the discontinuous transmission mode. As described below, when the system 200 is in discontinuous transmission mode, the remote system 300 will receive a zero payload packet transmitted by the wireless transceiver 212. The remote system 300 is described below in the context of fig. 3B.
In one or more embodiments, the system 200 includes a wireless headset, such as the wireless headset 102 described above in the context of fig. 1A. In such embodiments, the audio line input 210 comprises audio from a microphone configured to pick up speech from a user. Further, in such embodiments, the audio line output 208 outputs audio to one or more speakers configured to present call audio to the user. In such embodiments, wireless transceiver 212 forms a wireless link with a host device, such as host device 104 described above in the context of fig. 1A. Thus, as described in further detail below, a call audio stream received using the microphone may be selectively transmitted to the host device via the wireless transceiver 212 based on the voice activity estimation signal from the VAD 206.
In one or more embodiments, system 200 can include a host device, such as host device 104 described above in the context of fig. 1A. In such embodiments, the wireless transceiver 212 forms a wireless link with a wireless headset (i.e., the far-end system 300), such as the wireless headset 102 described above in the context of fig. 1A. In such embodiments, the near-end call audio is received from the wireless headset via the wireless transceiver 212 and output through the audio line output 208 for subsequent delivery to the remote party over the network. Additionally, in such embodiments, audio line input 210 comprises any channel for receiving a call audio stream originating from a remote party. A call audio stream from a remote party may be received over a network. In other words, in such embodiments, call audio originating from a remote party is received at the system 200 via the audio line input 210. As described in further detail below, the call audio stream received over the network can be selectively output to the wireless headset via the wireless transceiver 212 based on the voice activity estimation signal from the VAD 206.
Memory 204 includes any storage device capable of temporarily or permanently storing information. Memory 204 may include volatile and/or non-volatile memory, and may include more than one type of memory. For example, memory 204 may include one or more of SDRAM, ROM, and flash memory. In one or more embodiments, memory 204 may include one or more of a link key, a random number generator, and a device address (e.g., BD ADDR, etc.). Although the VAD 206 is shown as a separate block, it should be understood that in one or more embodiments, the VAD 206 may be implemented as a routine stored to the memory 204 and executed by the hardware processor 202.
Still referring to fig. 3A, the remote system 300 may be configured to automatically determine when the system 200 has switched to discontinuous transmission mode. For example, the remote system 300 may be configured to identify that the system 200 has switched to a discontinuous transmission mode in response to receiving one or more zero payload packets from the system 200, as described in further detail below in the context of fig. 3B.
Fig. 3B depicts a simplified block diagram of a system 300 for identifying a transition to a discontinuous transmission mode by the remote system 200 over a short-range packet-based radio link in accordance with one or more embodiments. Although the elements of system 300 are presented in one arrangement, other embodiments may feature other arrangements, and other configurations may be used without departing from the scope of the invention. For example, various elements may be combined to create a single element. As another example, a function performed by a single element may be performed by two or more elements. In one or more embodiments of the invention, one or more of the elements shown in fig. 3B may be omitted, repeated, and/or substituted. Accordingly, various embodiments may lack one or more of the features shown. For this reason, embodiments of the present invention should not be considered limited to the particular arrangement of elements shown in FIG. 3B.
As shown in fig. 3B, the system 300 includes: a hardware processor 302 operably coupled to a memory 324, a noise isolator and modeler 328, an audio line output 308, an audio line input 310, and a wireless transceiver 312. In one or more embodiments, hardware processor 302, audio line output 308, audio line input 310, wireless transceiver 312, noise isolator and modeler 328, and memory 324 may be in communication via one or more communication buses. Although not depicted in fig. 3B for purposes of simplicity and clarity, it should be understood that in one or more embodiments, system 300 may include one or more of a display, a haptic device, user-operable controls (e.g., buttons, slide switches, capacitive sensors, touch screens, etc.), and an audio codec for encoding and decoding call audio transmitted and received via wireless transceiver 312.
The hardware processor 302, audio line output 308, audio line input 310, and wireless transceiver 312 have been described above in the context of fig. 2B, and for the sake of brevity, these components are not described again in the context of fig. 3B.
In one or more embodiments, remote system 200 includes a remote device operable to transition into and out of a discontinuous transmission mode. When the remote system 200 is in discontinuous transmission mode, the remote system 200 transmits zero payload packets for reception by the wireless transceiver 312. The remote system 200 is described above in the context of fig. 3A.
In one or more embodiments, the system 300 includes a wireless headset, such as the wireless headset 102 described above in the context of fig. 1A. In such embodiments, wireless transceiver 312 forms a wireless link with a host device (i.e., remote system 200), such as host device 104 described above in the context of fig. 1A. Also, in such embodiments, audio line input 310 receives audio from a microphone configured to pick up speech from a worn user, and audio line output 308 outputs audio to one or more speakers configured to present call audio to the user. As described in further detail below, the content of the call audio stream output on the audio line output 308 may depend on whether the remote system 200 (i.e., the host device) is in a discontinuous transmission mode.
In one or more embodiments, system 300 can include a host device, such as host device 104 described above in the context of fig. 1A. In such embodiments, wireless transceiver 312 forms a wireless link with a wireless headset (i.e., far-end system 200), such as wireless headset 102 described above in the context of fig. 1A. In such embodiments, near-end call audio is received from the wireless headset via wireless transceiver 312 and output over audio line output 308 for subsequent delivery over the network to the remote party, and audio line input 310 includes any channel for receiving a call audio stream originating from the remote party. As described above, a call audio stream from a remote party may be received over a network. As described in further detail below, the content of the call audio stream output on the audio line output 308 may depend on whether the far-end system 200 (i.e., the wireless headset) is in a discontinuous transmission mode.
In one or more embodiments, when the far-end system 200 is not in discontinuous transmission mode and is transmitting voice packets, the voice packets may be decoded for output as audio on the audio line output 308. However, as described below, the comfort noise generator 326 may be used to generate an audio stream on the audio line output 308 when the remote system 200 is in a discontinuous transmission mode and is transmitting zero payload packets.
Memory 324 includes any storage device capable of temporarily or permanently storing information. The memory 324 may include volatile and/or nonvolatile memory, and may include more than one type of memory. For example, memory 324 may include one or more of SDRAM, ROM, and flash memory. In one or more embodiments, memory 324 may include one or more of a link key, a random number generator, and a device address (e.g., BD _ ADDR, etc.). The memory 324 of the system 300 is shown as including a comfort noise generator 326 and a buffer 330. Buffer 330 stores comfort noise parameters 332.
Noise isolator and modeler 328 comprises a routine that, when executed by a hardware processor, isolates non-voice signals in voice packets received from remote system 200 when remote system 200 is not in discontinuous transmission mode. In other words, the noise isolator and modeler 328 may deactivate upon receiving one or more zero payload packets from the remote system 200. However, as wireless transceiver 312 receives speech packets from remote system 200, noise isolator and modeler 328 identifies the non-voice audio content of the speech packets. In one or more embodiments, noise isolator and modeler 328 may subtract the speech signal from the incoming stream of speech packets using spectral subtraction of the dominant speech frequency. In one or more embodiments, the noise isolator and modeler 328 may isolate stationary noise within the incoming voice packet stream. In one or more embodiments, noise isolator and modeler 328 may isolate high frequency components and/or low frequency components from voice packets. Other separation techniques that extract background noise from a composite signal containing both background noise and speech may be used. Further, noise isolator and modeler 328 is operable to characterize the isolated non-speech signal and store a recorded sequence describing the characterized non-speech signal over time as comfort noise parameters 332 to buffer 330. Each record of comfort noise parameters 332 may include a noise energy level and/or a noise frequency profile. Buffer 330 may store a moving window of records of a predetermined duration of time, up to seconds or minutes. For example, the buffer 330 may include a moving window of recordings of comfort noise parameters 332 for a moving window of 5 seconds, 10 seconds, 30 seconds, 5 minutes, 10 minutes, and so forth. In this manner, system 300 may be equipped to generate comfort noise when remote system 200 transitions to discontinuous transmission mode.
The comfort noise generator 326 includes a routine that, when executed by the hardware processor 302, is operable to generate comfort noise for output on the audio line output 308. In one or more embodiments, the comfort noise generator 326 generates comfort noise in response to receiving one or more zero payload packets from the far-end system 200. Comfort noise generator 326 may generate comfort noise until a non-zero payload packet is again received at wireless transceiver 312 from far-end system 200. In other words, once activated, comfort noise generator 326 may generate comfort noise until a voice packet is received from far-end system 200. The comfort noise generated by the comfort noise generator 326 is based on one or more records of comfort noise parameters 332 stored to the buffer 330. For example, comfort noise generator 326 may average or otherwise combine two or more recordings of comfort noise parameters 332 of buffer 330. Thus, in response to receiving one or more zero payload packets from the far-end system 200, the system 300 is operable to generate comfort noise for the system 300 itself using a previously isolated and stored description of the noise present with the speech in the speech packets from the far-end system 200 prior to the far-end system 200 entering the discontinuous transmission mode. Noise isolator and modeler 328 may extract the background noise and update comfort noise parameters 332 each time a discontinuous transmission mode is exited and a voice packet transmitted by remote system 200 is received.
In this manner, system 300 eliminates the need for remote system 200 to periodically transmit comfort noise packets while remote system 200 is in a discontinuous transmission mode. Thus, the far-end system 200 need only send zero payload packets to the system 300, and the system 300 is able to generate comfort noise based on the non-speech signals previously received in the speech packets from the far-end system 200. Because the remote system 200 does not need to periodically transmit data packets containing comfort noise information, regardless of how short those packets may be, the cumulative radio on time of the transceivers of the remote system 200 is minimized. Minimizing the radio on-time of the transceivers of the remote system 200 and the duty cycle of their packet transmissions not only saves power in the transmitters, but also reduces the probability of mutual interference. When implemented in numerous devices collocated in an environment, this directly results in an increase in the number of users that can simultaneously maintain a short range packet-based radio link in the environment without perceptible interference.
Fig. 4A-4D are timing diagrams illustrating when a master or slave device on a short-range packet-based radio link (i.e., a wireless link) has transitioned to a discontinuous transmission mode. More specifically, fig. 4A-4D depict timing diagrams showing the timing of packet transmissions over a short-range packet-based radio link in which two devices (i.e., a wireless headset and a host device) are each assigned a time slot in which they are allowed to transmit their respective voice packets. In fig. 4A-4D, the transmission and reception of packets over a wireless link is shown from the perspective of the master device (i.e., TX). For a slave device (i.e., RX) on a wireless link, the transmission and reception actions are reversed. It is contemplated that both the headset and the host device may be either a master or a slave, depending on how the link is established. For this reason, the following discussion of FIGS. 4A-4D refers to slave devices and master devices only. Timing diagrams 400, 440, and 470 may represent, for example, an extended synchronous connection oriented (eSCO) bluetooth link, wherein acknowledgements of packet reception from a receiving device may be expected and, if the acknowledgements are not received within a given window, the master and slave devices are allowed to retransmit previously transmitted packets.
Referring now to the first timing diagram 400 of FIG. 4A, at a constant connection interval T eSCO Reserved slots (timeslots) (i.e., slots). The primary device (i.e., TX) on the wireless link may be expected to be T eSCO The new voice packet is transmitted at intervals. As shown in fig. 4A, the master device transmits a new voice packet (e.g., TA1, TA2, TA3, etc.) in the first slot of the first frame of each connection interval. Similarly, the master device may expect to receive new voice packets from the slave device (i.e., RX) over the wireless link at the same interval. As shown in fig. 4A, the slave device transmits a new voice packet (e.g., RA1, RA2, RA3, etc.) in the second slot of the first frame of each connection interval. In other words, for each first frame of the connection interval, the master device transmits a packet to the slave device in the first time slot of the frame and receives a transmission from the slave device in the next time slot of the frame. Furthermore, there is a retransmission opportunity for both the master and slave devices, as indicated by the time slots occupied by the shaded boxes. The transmission from the slave device in the second time slot may include an acknowledgement (i.e., ACK) of receipt of the packet transmitted by the master device in the first time slot. For example, an acknowledgement of packet TA1 may be included in packet RA1 transmitted by the slave, an acknowledgement of packet TA2 may be included in packet RA2 transmitted by the slave, and so on.
The timing diagram 400 of fig. 4A shows the time period for three connection intervals over a wireless link, where both the master and slave transmit voice packets in their respective time slots. In other words, for the connection interval of timing diagram 400, neither the master nor the slave is in discontinuous transmission mode.
However, referring now to fig. 4B, a second timing diagram 440 shows a period of three connection intervals over a wireless link, where the master has transitioned to a discontinuous transmission mode. For the time periods depicted in the second timing diagram 440, an audio stream received at the master device for transmission over the wireless link to the slave device (e.g., from a microphone, from a network, etc.) is determined to be devoid of speech-based signals. In other words, the audio stream that the master device should send as speech packets to the slave device lacks human speech. Thus, as depicted in the second timing diagram 440, the master does not send voice packets, and instead the master transmits zero payload packets 441-446 to the slaves during the master's transmit slots.
As shown in the second timing diagram 440, the first frame starts the first connection interval, the fourth frame starts the second connection interval, and the seventh frame starts the third connection interval. In the case of a bluetooth link, for example, the zero payload packets 441-446 may include NULL packets and/or POLL packets. One or more of the zero payload packets 442, 444, and 446 may be used to acknowledge receipt of a previous packet sent by the slave device. In the case of a bluetooth link, the slave may retransmit if the master fails to acknowledge receipt of any of packets RA1, RA2, and RA3. For example, if the master device does not acknowledge receipt of the packet RA1 transmitted in the first frame, the slave device may retransmit the packet RA1 during the second frame; and similarly, if the master device does not acknowledge receipt of the packet RA2 transmitted in the fourth frame, the slave device may retransmit the packet RA2 during the fifth frame. Thus, as shown in timing diagram 440, zero payload packets 442, 444, and 446 are used to acknowledge receipt of packets RA1, RA2, and RA3, respectively, transmitted by the slave in each of the corresponding previous time slots. In one or more embodiments, each of zero payload packets 442, 444, and 446 may be NULL packets. If any of the packets RA1, RA2, and RA3 are retransmitted, the master device may acknowledge the retransmission using a zero payload packet. In other words, if the slave retransmits packet RA1 in the second frame, the master may acknowledge the retransmission in the third frame using a zero payload packet such as, for example, a NULL packet (i.e., the shaded boxes in the second and third frames). If the packet is successfully received and no more retransmissions of the slave occur, the master device may forego the connection interval T eSCO During the remaining part of the transmission of zeros is validAnd (4) grouping the load. That is, when a packet arrives from a slave, the master only needs to send a zero payload packet that includes ACK information.
In one or more embodiments, such as in the case of a bluetooth link, the first packet transmitted by the master device at the beginning of each connection interval may be a POLL packet. For example, each of the zero payload packets 441, 443, and 445 may be a POLL packet that requires the slave to respond. However, it is contemplated that the zero payload packets transmitted by the master at the beginning of each connection interval (e.g., zero payload packets 441, 443, and 445) may be NULL packets because the slave is required to transmit in the second slot of each interval.
By receiving any of the zero payload packets 441-446, the slave may be made aware that the master transitioned to discontinuous transmission mode. For example, when the slave receives the first zero payload packet 441, the slave may determine that the master is in discontinuous transmission mode. In response to receiving any of the zero payload packets 441-446, the slave device may begin generating comfort noise. For example, if the slave device has isolated and modeled noise found in voice packets previously received from the master device, the slave device may begin generating comfort noise in response to receiving the first zero payload packet 441 or any zero payload packets received thereafter. However, in one or more embodiments, the slave device may rely on a short data packet from the master device containing comfort noise parameters in order to generate comfort noise. Data packets including comfort noise parameters may be received periodically. For example, data packets including comfort noise parameters may be received from the master device every 500 milliseconds, 1 second, 3 seconds, and so on.
Referring now to fig. 4C, a third timing diagram 470 illustrates the time period for three connection intervals over a wireless link, where a slave device has transitioned to a discontinuous transmission mode and the master device transmits voice packets. For the time period depicted in timing diagram 470, an audio stream received at the slave device for transmission over the wireless link to the master device (e.g., from a microphone, from a network, etc.) is determined to be devoid of speech-based signals. In other words, the audio stream that the slave device should send to the master device as speech packets lacks human speech. Thus, as depicted by the third timing diagram 470, the slave device does not send voice packets, and instead the master device receives zero payload packets 471-473 from the slave device during its transmit slots. As shown in the third sequence diagram 470, the first frame starts the first connection interval, the fourth frame starts the second connection interval, and the seventh frame starts the third connection interval.
In a first frame of the first connection interval, the master device transmits a voice packet TA1 to the slave device. The slave responds to packet TA1 by transmitting a zero payload packet 471 to the master. The slave may be required to acknowledge the packet TA1. Thus, the zero payload packet 471 is used to acknowledge receipt of packet TA1 by the slave device. As an option, the zero payload packet 471 may be of a type that does not require further response from the master device, such as a NULL packet. The interaction repeats at the fourth frame and again at the seventh frame. However, the master device may retransmit one or more of the voice packets TA1, TA2, and TA3 based on or without the acknowledgement information from the slave device. For example, if the master fails to receive a zero payload packet 471 in the first frame, the master may retransmit voice packet TA1 in the second frame, which is shown as a shaded box. Similarly, if the master fails to receive a zero payload packet 472 in the fourth frame for acknowledging voice packet TA2, the master may retransmit voice packet TA2 in the fifth frame, which is shown as a shaded box. In response to any retransmitted voice packets from the master device, the slave device may respond with zero payload packets in the same frame. For example, as described above, the slave device may respond with a NULL packet. If the packet is successfully received and no further retransmissions by the master occur, the slave may abort the connection interval T eSCO During the remaining portion of the time zero payload packets are sent. That is, when a packet arrives from the master, the slave only needs to send a zero payload packet that includes ACK information.
By receiving any of the zero payload packets 471-473, the master device can be made aware of when the slave device transitions to discontinuous transmission mode. For example, the master may determine that the slave is in discontinuous transmission mode when the master receives the first zero payload packet 471 or after the master receives a predetermined number of zero payload packets (e.g., 3, 10, 15, etc.) from the slave during which there are no voice packets. In response to receiving one or more zero payload packets from the slave device, the master device may begin generating comfort noise. In one or more embodiments, if the master device has isolated and modeled noise found in voice packets previously received from the slave device, the master device may begin generating comfort noise in response to receiving the first zero payload packet 471 or any zero payload packet received thereafter. In one or more embodiments, the master device may rely on short data packets from the slave device containing comfort noise parameters in order to generate comfort noise. The short data packets may comprise any type of data packet that contains comfort noise parameters. Data packets including comfort noise parameters may be received periodically. For example, data packets including comfort noise parameters may be received from a slave device every 500 milliseconds, 1 second, 3 seconds, and so forth.
Since each transmitter has its own VAD for determining whether discontinuous transmission mode is activated, it may happen that both units (i.e. the master and the slave) are in discontinuous transmission mode. In this case, zero payload packets (e.g., NULL packets and/or POLL packets) are sent in both directions. Comfort noise may be generated at both ends in response to receiving a zero payload packet. Since zero payload packets can be very robust (e.g., the POLL and NULL packets contain extensive forward error correction coding protection), a very low duty cycle link may result, where only two packets are exchanged in the first frame of the interval, an example of which is shown in fig. 4D. Specifically, as shown in the timing diagram 490 of fig. 4D, during a first frame, the master transmits a first zero payload packet 480 to the slave and receives a second zero payload packet 483 from the slave. This occurs again in the fourth frame, where the master sends 481 a third zero payload packet to the slave and receives 484 a fourth zero payload packet from the slave; and again in the seventh frame, where the master sends 482 a fifth zero payload packet to the slave and receives 485 a sixth zero payload packet from the slave.
Switching the slave and/or master to the discontinuous transmission state can significantly reduce the traffic load on the wireless link between the two devices. For example, on a bluetooth link, both the POLL and NULL packets have a bit length of 126 bits and require a radio on-time of 126 microseconds to transmit at a rate of 1 Mb/s. A typical voice packet requires 400 microseconds of radio on-time to transmit. Thus, a link over which at least one device has switched to a discontinuous transmission mode has a significantly reduced traffic load when compared to a wireless link over which both devices communicate voice packets. In addition to the reduced amount of environmental interference, switching to discontinuous transmission mode also reduces the radio on-time of the device, resulting in lower power consumption.
The systems and methods of discontinuous transmission disclosed herein are not limited to use on wireless links where transmission opportunities are limited to predetermined connection intervals, frames, and/or time slots. For example, while the discussion of fig. 4A-4D is described above using an example in relation to the bluetooth classic version, which is defined by 1.25 millisecond duplex frames, each frame comprising two 625 microsecond time slots, it is contemplated that the systems and methods of discontinuous transmission described herein may be deployed in the context of other types of short range packet-based radio links.
As one example, fig. 5A-5D depict exemplary timing diagrams 500, 540, 570, and 590 in which devices (i.e., wireless headsets and/or host devices) transition to a discontinuous transmission mode over a short range packet-based isochronous radio link defined by a connection event window and sub-events, rather than strict slotted connection intervals. In fig. 5A-5D, the transmission and reception of packets over a wireless link is shown from the perspective of the master device (i.e., TX). For a slave device (i.e., RX) on a wireless link, the transmission and reception actions are reversed. It is contemplated that both the headset and the host device may be either a master or a slave, depending on how the link is established. To this end, the following discussion of FIGS. 5A-5C refers to slave devices and master devices only.
In the timing diagrams 500, 540, 570, and 590 of fig. 5A, 5B, 5C, and 5D, respectively, the connection event window T may be determined by a transmission from a master device on a link Event(s) To begin. As an option, the event window may include a plurality of sub-events. To achieve frequency diversity, each sub-event may use its own carrier frequency. Also, within a sub-event, both forward and return packets may be exchanged. In other words, the sub-event is split into a forward slot, in which the master sends packets, and a return slot, in which the slave sends packets. Furthermore, instead of having fixed time slots for the master and slave devices as described above with reference to timing diagrams 400, 440, 470, and 490 of fig. 4A-4D, a predefined inter-frame space T may be measured from the end of a previous packet IFS Is sent from the slave device. Further, in contrast to the slot reservation techniques for eSCO that a slave device may unconditionally transmit described above with reference to timing diagrams 400, 440, 470, and 490 of fig. 4A-4D, a slave device may only transmit when it successfully receives a correctly addressed packet from a master device.
Referring now to fig. 5A, a first timing diagram 500 depicts transmissions over an isochronous radio link defined by connection events and sub-events, wherein neither a master nor a slave is in discontinuous transmission mode. As illustrated by timing diagram 500, a master may be at event window interval T Event(s) A new voice packet is transmitted. The event window interval may be of any suitable duration, such as, for example, between 5-10 ms. As shown in timing diagram 500, during a first sub-event of a first event window, a master device sends a voice packet TA1 to a slave device and waits T IFS Thereafter, the slave device transmits a voice packet RA1 to the master device. The slave device may include an acknowledgement for packet TA1 in packet RA1. The subsequent sub-event of the first event window may allow retransmission of the packet TA1 if no acknowledgement is received from the receiving deviceAnd RA1. For example, the shaded boxes of the second and third sub-events indicate where retransmission of packets TA1 and RA1 may occur. After the third sub-event, a new event window begins, which begins with the master device sending a second voice packet TA2 to the slave device. Although two retransmission opportunities are shown in each event window of timing diagrams 500, 540, and 570, it should be understood that more or less than two retransmission opportunities may be included in an event window. For example, each event window may include 1, 3, 5, etc. retransmission opportunities. Still referring to the first timing diagram 500, since both the master and slave are shown transmitting voice packets in each event window, neither the master nor the slave is in discontinuous transmission mode.
However, referring now to fig. 5B, a second timing diagram 540 illustrates the time periods of two event windows on a wireless link in which the master has transitioned to a discontinuous transmission mode. For the time periods depicted in the second timing diagram 540, an audio stream received at the master device for transmission over the wireless link to the slave device (e.g., from a microphone, from a network, etc.) is determined to be devoid of speech-based signals. In other words, the audio stream that the master device should send as speech packets to the slave device lacks human speech. Thus, as depicted in the second timing diagram 540, the master does not send voice packets, and instead the master transmits zero payload packets 541-544 to the slaves. Specifically, at the beginning of a first event window starting with a first sub-event, the master transmits a first zero payload packet 541. After receiving the first zero payload packet 541, the slave is waiting for T IFS And then transmits a voice packet RA1 to the master. Upon receiving the voice packet RA1, the master device transmits a second zero payload packet 542, the second zero payload packet 542 being used to acknowledge receipt of the voice packet RA1. If RA1 is received correctly and there is no subsequent retransmission from the slave, the master may abort the interval T of the event window Events During the remaining portion of the transmission of the zero payload packet.
The process repeats itself in a second event window including sub-events 4-6, wherein the master devicePreparing to transmit a third zero payload packet 543 at the beginning of the fourth sub-event; and after receiving the third zero payload packet 543, the slave device is waiting T IFS And then sends a voice packet RA2 to the master. Upon receiving the voice packet RA2, the master device acknowledges receipt of the voice packet RA2 by transmitting a fourth zero payload packet 544. Failure of the master device to send the fourth zero payload packet 544 to the slave device may result in a slave device retransmission.
By receiving any of the zero payload packets 541-544, the slave may be made aware that the master transitioned to a discontinuous transmission mode. For example, when a slave device receives one of zero payload packets 541 or 543 at an anchor point (i.e., the beginning of an event window) of a link, the slave device may determine that the master device is in a discontinuous transmission mode. In response to receiving any of the zero payload packets 541-544, the slave device may begin generating comfort noise. For example, if the slave device has isolated and modeled noise found in voice packets previously received from the master device, the slave device may begin generating comfort noise in response to receiving the first zero payload packet 541 or any zero payload packets received thereafter. However, in one or more embodiments, the slave device may rely on a short data packet from the master device containing comfort noise parameters in order to generate comfort noise. Data packets including comfort noise parameters may be received periodically. For example, data packets including comfort noise parameters may be received from the master device every 500 milliseconds, 1 second, 3 seconds, and so forth.
Referring now to fig. 5C, a third timing diagram 570 illustrates time periods for two event windows over a wireless link where a slave device has transitioned to a discontinuous transmission mode and the master device transmits voice packets. For the time periods depicted in the third timing diagram 570, an audio stream received at the slave device for transmission over the wireless link to the master device (e.g., from a microphone, from a network, etc.) is determined to lack a voice-based signal. In other words, the audio stream that the slave device should send to the master device as speech packets lacks human speech. Thus, as depicted by the third timing diagram 570, the slave device does not send voice packetsAnd instead the master receives zero payload packets 571 and 572 from the slaves. The transmission of zero payload packets 571 and 572 may satisfy such a requirement if the slave is required to respond to a transmission from the master. As depicted in fig. 5C, at the beginning of the first event window starting with the first sub-event, the master transmits a voice packet TA1 to the slave; and at the beginning of a second event window starting with a fourth sub-event, the master transmits a voice packet TA2 to the slave. In response to receiving the first voice packet TA1, the slave waits for T IFS And then sends a first zero payload packet 571. The first zero payload packet 571 serves as a reception acknowledgement for the first voice packet TA1. Similarly, in response to receiving the second voice packet TA1, the slave waits for T IFS And then sends a second zero payload packet 572. The second zero payload packet 572 is used to acknowledge receipt of the second voice packet TA2 by the slave device. If the voice packet TA1 is received correctly and there is no subsequent retransmission from the master, the slave may abort the interval T in the event window Event(s) During the remaining portion of the transmission of the zero payload packet.
By receiving any of the zero payload packets 571-572, the master can be made aware of when the slave transitions to discontinuous transmission mode. For example, the master device may determine that the slave device is in the discontinuous transmission mode when the master device receives the first zero payload packet 571 or after the master device receives a predetermined number of zero payload packets (e.g., 3, 10, 15, etc.) from the slave device during which there are no voice packets. In response to receiving one or more zero payload packets from the slave device, the master device may begin generating comfort noise. In one or more embodiments, if the master device has isolated and modeled noise found in voice packets previously received from the slave device, the master device may begin generating comfort noise in response to receiving the first zero payload packet 571 or any zero payload packet received thereafter. In one or more embodiments, the master device may rely on short data packets from the slave device containing comfort noise parameters in order to generate comfort noise. Data packets including comfort noise parameters may be received periodically. For example, data packets including comfort noise parameters may be received from a slave device every 500 milliseconds, 1 second, 3 seconds, and so on.
It is contemplated that both the master and slave devices may enter the discontinuous transmission mode simultaneously. This may occur, for example, when neither party to the call is speaking. In such an event, both the master and slave exchange zero payload packets at the event window rate. Further, as described above, the master device and/or the slave device may generate comfort noise. Also, in such events, the master device and/or the slave device may periodically transmit comfort noise packets so that the other end may generate comfort noise from the comfort noise packets, as described above. An example of a situation where both the master and slave are in discontinuous transmission mode is shown in fig. 5D, where zero payload packets are exchanged only at the beginning of each new connection event. In particular, as shown in the timing diagram 590 of fig. 5D, at the beginning of the first event window beginning with the first sub-event, the master transmits a first zero payload packet 580 to the slave. After receiving the first zero payload packet 580, the slave is waiting for T IFS A second zero payload packet 582 is then sent to the master. Similarly, the master transmits a third zero payload packet 581 at the beginning of the second event window starting with the fourth sub-event; and the slave waits for T after receiving the third zero payload packet 581 IFS A fourth zero payload packet 583 is then sent to the master.
Using zero payload packets as an indication that the transmitter is in discontinuous transmission mode allows the receiver to move smoothly from delivering a voice signal to generating comfort noise and vice versa. In one or more embodiments, the transmitter may send a dedicated control message to the receiver (i.e., using a Link Management Protocol (LMP) with DM packets) each time before discontinuous transmission is enabled or disabled. In any event, the system may indicate whether discontinuous transmission is supported. This can be negotiated by higher control signaling commands in the communication protocol stack. The negotiation of whether to apply discontinuous transmission may be done at connection setup (i.e. when making a wireless connection) or at channel setup (i.e. when opening a voice channel over a wireless connection). Whether the comfort noise parameters are extracted in the transmitter or in the receiver can be negotiated separately for each direction.
Fig. 6 shows a flow diagram of a method 600 for discontinuous transmission over a short range packet-based radio link in accordance with one or more embodiments of the invention. Although the steps of method 600 are presented and described sequentially, one of ordinary skill in the art will appreciate that some or all of the steps may be performed in a different order, may be combined or omitted, and may be performed in parallel. Further, these steps may be performed actively or passively. For example, some steps may be performed using polling, or some steps may be interrupt driven, in accordance with one or more embodiments of the invention. In one or more embodiments, the method 600 may be performed by the system 200 or the system 250 described above with reference to fig. 3A and 2A, respectively. In other words, method 600 may be performed by a wireless headset, such as one of wireless headsets 102, or by a host device, such as one of host devices 104, both of which are described above in the context of fig. 1A.
At step 604, the audio stream on the audio line input is monitored for a speech-based signal. Audio line input is monitored for voice-based signals during a synchronous or isochronous communication session over a short-range packet-based radio link. In one or more embodiments, the audio stream on the audio line input may be sampled and encoded into a series of voice packets that are transmitted to a far-end system, such as a headset (if method 600 is being performed by a host device) or a host device (if method 600 is being performed by a wireless headset). Thus, the audio stream on the audio line input may originate from the microphone of the headset or from a remote party over a network. The communication session may include any two-way communication session where the system performing method 600 and a remote system exchange voice packets in real-time or in near real-time. The communication session may comprise, for example, an SCO or eSCO bluetooth link, or a session that exchanges voice packets and/or audio packets using bluetooth low energy. Further, it should be understood that steps 606-610 may be performed during a communication session over a short-range packet-based radio link.
Further, at step 606, a voice activity estimation signal is generated by the voice activity detector based on the monitoring of the voice-based signal in the audio stream. The speech activity estimation signal may estimate the likelihood of human speech being present in an audio stream received on the audio line input. At step 608, one or more voice packets are generated based on the audio stream and transmitted at one or more times when the voice activity estimation signal exceeds a predetermined threshold. At step 610, one or more zero payload packets are transmitted at one or more subsequent times in response to determining that the voice activity estimation signal is below the predetermined threshold.
In one or more embodiments, the system performing method 600 may be allowed to transmit packets only during certain predetermined times. For example, one or more of the instances of step 608 may occur during one or more reserved or allocated time slots of the bluetooth eSCO link. Thus, when the voice activity estimation signal exceeds the predetermined threshold, a first voice packet may be generated and transmitted during a first reserved time slot, a second voice packet may be generated and transmitted during a second reserved time slot, a third voice packet may be generated and transmitted during a third reserved time slot, and so on. There may be retransmission opportunities between the reserved slots in order to retransmit a voice packet that was not correctly received. Continuing with the above example, the subsequent time instance may comprise reserved or allocated time slots following those used at step 608 on the bluetooth eSCO link. Thus, transmitting the zero payload packet may include transmitting the zero payload packet at one or more slots of one or more connection intervals. For example, a first zero payload packet may be transmitted during a first slot of a first frame of a connection interval; a voice packet may then be received during a second time slot of the first frame; and a second zero payload packet may be transmitted during the first slot of the next frame, wherein the second zero payload packet is used to acknowledge receipt of the voice packet. The next frame may immediately follow the first frame. As an option, the first NULL payload packet may be a POLL packet that elicits a response from the remote system that sent the voice packet, and the second NULL payload packet may be a NULL packet. Of course, however, these zero payload packets may comprise any type of packet without a payload.
In one or more embodiments, the time of day may occur during one or more sub-events of a connection event window on an isochronous link. For example, when the voice activity estimation signal exceeds a predetermined threshold, a first voice packet may be generated and transmitted at a first anchor point, a second voice packet may be generated and transmitted at a second anchor point, a third voice packet may be generated and transmitted at a third anchor point, and so on. Each of these anchor points may start a respective event window. Further, the subsequent time may occur during one or more sub-events of a subsequent connection event window following those used at step 608 on the isochronous link. Transmitting the zero payload packet may include transmitting the zero payload packet during a plurality of sub-events of a connection event window. For example, a first zero payload packet may be transmitted during a first sub-event of an event window; may then be at T IFS Thereafter and during the same sub-event, receiving a voice packet; and a second null payload packet may be transmitted during a next sub-event of the event window, wherein the second null payload packet is used to acknowledge receipt of the voice packet. The next sub-event may immediately follow the first sub-event.
In one or more embodiments, the transmission of zero payload packets may be periodically interrupted by the transmission of comfort noise packets, as described above in the context of fig. 2A. For example, comfort noise packets may be transmitted every 3 seconds, 5 seconds, 10 seconds, etc. of consecutive zero payload packet transmissions. Thus, a system performing method 600 may be operable to model background noise on an audio line input and store a record of comfort noise parameters. As described above, such recordings may be created in response to the voice activity estimation signal falling below a predetermined threshold.
Fig. 7 shows a flow diagram of a method 700 for discontinuous transmission over a short range packet-based radio link in accordance with one or more embodiments of the invention. Although the steps of method 700 are presented and described sequentially, one of ordinary skill in the art will appreciate that some or all of the steps may be performed in a different order, may be combined or omitted, and may be performed in parallel. Further, these steps may be performed actively or passively. For example, some steps may be performed using polling or some steps may be interrupt driven in accordance with one or more embodiments of the present invention. In one or more embodiments, method 700 may be performed by system 300 or system 350 described above with reference to fig. 3B and 2B, respectively. In other words, the method 700 may be performed by a wireless headset, such as one of the wireless headsets 102, or by a host device, such as one of the host devices 104, both the wireless headset 102 and the host device 104 described above in the context of fig. 1A.
At step 702, voice packets are received during a synchronous or isochronous communication session over a short-range packet-based radio link. The voice packets may be transmitted from a remote system, such as a headset (if method 700 is being performed by a host device) or a host device (if method 700 is being performed by a wireless headset). The communication session may include any two-way communication session in which the system performing method 700 and a remote system transmitting voice packets exchange voice packets in real-time or in near real-time. The communication session may comprise, for example, an SCO or eSCO bluetooth link, or a session that exchanges voice and/or audio packets using bluetooth low energy. The voice packets received at step 702 may be received within any duration, such as a period of seconds or minutes. Further, it should be understood that steps 704-708 may be performed during a communication session over a short-range packet-based radio link.
At step 704, a first zero payload packet is received at a first time. When a first zero payload packet is received from a remote system, the remote system may be in a discontinuous transmission mode.
In response to receiving the first null payload packet at the first time, a first voice packet is transmitted at step 706 from the system performing method 700 to the remote system that sent the first null payload packet. The first voice packet is transmitted at a second time. Further, the first voice packet includes encoded voice data. In this manner, the remote system transmitting the first null payload packet may be made aware of the receipt of the first null payload packet by the system performing method 700. A system performing method 700 may include an audio line input for receiving an audio stream. The audio stream on the audio line input may be sampled and encoded into a series of voice packets, including a first voice packet, for transmission to a remote system.
At step 708, a second zero payload packet is received from the remote system that transmitted the first zero payload packet. A second zero payload packet is received at a third time instant. The second zero payload packet is used to acknowledge receipt by the far end system of the voice packet transmitted at the second time. In other words, by receiving the second zero payload packet, the system performing method 700 is made aware that the first voice packet has been received at the far-end system.
In one or more embodiments, the system performing method 700 and/or the remote system may be allowed to transmit packets only during certain predetermined times. For example, the one or more time instants may comprise one or more reserved or allocated time slots in a bluetooth eSCO link. In such an example, a first zero payload packet from the far-end system may be received during a first time slot reserved for the far-end system, a first voice packet may be transmitted during a second time slot reserved for the system performing method 700, and a second zero payload packet may be received during a third time slot reserved for the far-end system. Each of these time slots may be within the same connection interval. The first and second time slots may occur during the same frame, and the third time slot may occur during a subsequent frame.
In one or more embodiments, the first NULL payload packet may comprise a NULL packet and the second NULL payload packet may comprise a NULL packet. Thus, the first voice packet may acknowledge receipt of the POLL packet. Of course, however, these zero payload packets received from the remote system may comprise any type of packet without a payload.
In one or more embodiments, the transmission of packets by the system performing method 700 may occur only after the far-end system has transmitted a transmission that begins an event window on the isochronous link, where each event window includes one or more sub-events. Thus, these times may occur during one or more sub-events of a connection event window on an isochronous link. For example, the receipt of the first zero payload packet from the remote system may serve as an anchor point for the first sub-event that starts the event window on the link. Can wait for T during the same first sub-event of the same event window IFS The first voice packet is then transmitted. Thus, the first zero payload packet and the first voice packet may be exchanged during the same sub-event. The third time instant at which the second zero payload packet is received may occur during a next sub-event of the event window. The next sub-event may immediately follow the first sub-event.
Following steps 704-708, additional zero payload packets may be received from the remote system. For example, a zero payload packet may be received from the remote system during a subsequent interval or connection event. As an option, the zero payload packets received from the far-end system may be periodically interrupted by one or more comfort noise packets. In other words, the system performing method 700 may receive comfort noise packets every 3 seconds, 5 seconds, 10 seconds, etc. of receiving a zero payload packet from the remote system. In response to receiving such a comfort noise packet, a system performing method 700 may generate comfort noise, as described in the context of system 350 of fig. 2B. In one or more embodiments, the system performing method 700 may be operable to isolate and characterize non-voice signals in voice packets received from the far-end system at step 702 when the far-end system is not in discontinuous transmission mode, as described above in the context of system 300 of fig. 3B. Accordingly, based on such isolation and characterization, a system performing method 700 may store comfort noise parameters to a local buffer. Further, a system performing method 700 may be operable to generate comfort noise and output the comfort noise on a local audio line output in response to receiving one or more of the zero payload packets from the remote system. The generation of comfort noise may continue until a voice packet is again received from the far-end system.
Fig. 8 shows a flow diagram of a method 800 for discontinuous transmission over a short range packet-based radio link in accordance with one or more embodiments of the invention. Although the steps of method 800 are presented and described sequentially, one of ordinary skill in the art will appreciate that some or all of the steps may be performed in a different order, may be combined or omitted, and may be performed in parallel. Further, these steps may be performed actively or passively. For example, some steps may be performed using polling or some steps may be interrupt driven in accordance with one or more embodiments of the present invention. In one or more embodiments, method 800 may be performed by system 300 or system 350 described above with reference to fig. 3B and 2B, respectively. In other words, the method 800 may be performed by a wireless headset, such as one of the wireless headsets 102, or by a host device, such as one of the host devices 104, both the wireless headset 102 and the host device 104 described above in the context of fig. 1A.
At step 802, an audio stream is received on an audio line input during a synchronous or isochronous communication session over a short-range packet-based radio link. The audio stream on the audio line is sampled and encoded into a series of voice packets that are transmitted to a far-end system, such as a headset (if method 800 is being performed by a host device) or a host device (if method 800 is being performed by a wireless headset). Thus, the audio stream on the audio line input may originate from the microphone of the headset or from a remote party over a network. The communication session may include any two-way communication session in which the system performing method 800 and the remote system exchange voice packets in real-time or in near real-time. The communication session may comprise, for example, an SCO or eSCO bluetooth link, or a session that uses bluetooth low energy to transfer voice and/or audio packets. Further, it should be understood that steps 804-810 may be performed during a communication session over a short-range packet-based radio link.
At step 804, first voice packets are generated based on the audio stream and transmitted to the remote system at a first time. At step 806, a first zero payload packet is received from the remote system at a second time. The second time is after the first time. The first zero payload packet is used to acknowledge receipt of the first voice packet by the far end system. In other words, the system performing method 800 recognizes that the far-end system has received the first voice packet and is in a discontinuous transmission mode by receiving the first zero payload packet. This may be because the remote system is unable to transmit packets at the second time unless the remote system first receives a transmission from the system performing method 800, such as the first voice packet transmitted at the first time.
At step 808, a second voice packet is generated based on the audio stream on the audio line input and transmitted to the far-end system at a third time. At step 810, a second zero payload packet is received from the far end system at a fourth time. The fourth time is after the third time. The second zero payload packet is used to acknowledge receipt of the second voice packet by the far end system. Also, the second zero payload packet indicates that the remote system is still in discontinuous transmission mode.
In one or more embodiments, the system performing method 800 and/or the remote system may be allowed to transmit packets only during certain predetermined times. Thus, the first, second, third and fourth time instants may comprise one or more reserved or allocated time slots of a bluetooth eSCO link. For example, a first voice packet may be transmitted during a first time slot reserved for a system performing method 800, and a first zero payload packet may be received during a second time slot reserved for a far-end system. Similarly, a second voice packet may be transmitted during a third time slot reserved for the system performing method 800, and a second zero payload packet may be received during a fourth time slot reserved for the far-end system. The first and second time slots may occur during the same frame of the first connection interval. The third and fourth slots may occur during a frame of the second connection interval. The second connection interval may immediately follow the first connection interval, or one or more additional connection intervals may occur between the first connection interval and the second connection interval. As an option, both the first zero payload packet and the second zero payload packet may be NULL packets. Of course, however, these zero payload packets may comprise any type of packet without a payload.
In one or more embodiments, a packet transmission by a system performing method 800 may determine a start of an event window on an isochronous link, where each event window includes one or more sub-events. Thus, the first voice packet may be transmitted at the beginning of the first event window (i.e., anchor point), and may be at T IFS A first zero payload packet is then received from the remote system. The first voice packet and the first zero payload packet may be exchanged during the same sub-event of the first event window. Similarly, a second voice packet can be transmitted at the beginning of a second event window, and can be at T IFS A second zero payload packet is then received from the remote system. The second voice packet and the second zero payload packet may be exchanged during the same sub-event of the second event window. The second event window may immediately follow the first event window, or one or more additional event windows may occur between the first event window and the second event window.
In one or more embodiments, a system performing method 800 may receive one or more comfort noise packets from a remote system. For example, one or more comfort noise packets may be received after step 810 or between steps 806 and 808. Comfort noise packets may be transmitted periodically by the remote system. For example, a system performing method 800 may receive comfort noise packets every 3 seconds, 5 seconds, 10 seconds, etc. of receiving a zero payload packet from a remote system. In response to receiving such a comfort noise packet, a system performing method 800 may generate comfort noise, as described in the context of system 350 of fig. 2B. In one or more embodiments, the system performing method 800 may be operable to isolate and characterize non-voice signals in voice packets received from the far-end device prior to step 806 when the far-end system is not in discontinuous transmission mode. Accordingly, based on such isolation and characterization, a system performing method 800 may store comfort noise parameters to a local buffer. Further, in response to receiving one or more of the zero payload packets from the far-end system, the system performing method 800 may be operable to generate comfort noise and output the comfort noise on the audio line output. Comfort noise generation may continue until a voice packet is again received from the far-end system.
Fig. 9 shows a flow diagram of a method 900 for discontinuous transmission over a short range packet-based radio link in accordance with one or more embodiments of the invention. Although the steps of method 900 are presented and described sequentially, one of ordinary skill in the art will appreciate that some or all of the steps may be performed in a different order, may be combined or omitted, and may be performed in parallel. Further, these steps may be performed actively or passively. For example, some steps may be performed using polling or some steps may be interrupt driven in accordance with one or more embodiments of the present invention. In one or more embodiments, the method 900 may be performed by the system 200 or the system 250 described above with reference to fig. 3A and 2A, respectively. In other words, the method 900 may be performed by a wireless headset, such as one of the wireless headsets 102, or by a host device, such as one of the host devices 104, both the wireless headset 102 and the host device 104 described above in the context of fig. 1A.
At step 902, an audio stream on an audio line input is monitored for a speech-based signal. Audio line input is monitored for voice-based signals during a synchronous or isochronous communication session over a short-range packet-based radio link. The communication session may comprise any two-way communication session in which the system performing method 900 and the remote system exchange voice packets in real-time or in near real-time. The communication session may comprise, for example, an SCO or eSCO bluetooth link, or a session that exchanges voice and/or audio packets using bluetooth low energy. Further, it should be understood that steps 904-912 may be performed during a communication session over a short-range packet-based radio link.
At step 904, a voice activity estimation signal is generated by the voice activity detector based on the monitoring of the voice-based signal in the audio stream. Also, the voice activity estimation signal is compared to a predetermined threshold. The speech activity estimation signal may estimate the likelihood of human speech being present in an audio stream received on the audio line input. The audio stream on the audio line input may comprise speech when the speech activity estimation signal is above a predetermined threshold. Thus, when the voice activity estimation signal exceeds a predetermined threshold, the audio stream on the audio line input may be sampled and encoded into a series of voice packets that are transmitted to a far-end system, such as a headset (if method 900 is being performed by a host device) or a host device (if method 900 is being performed by a wireless headset). Thus, the audio stream on the audio line input may originate from the microphone of the headset or from a remote party over a network.
At step 906, a first voice packet is received from the far-end system at a first time. At step 908, a first zero payload packet is transmitted to the far-end system in response to the first voice packet and the voice activity estimate signal falling below a predetermined threshold. The first zero payload packet is transmitted at a second time instant. The first zero payload packet is used to acknowledge receipt of the first voice packet by the system performing method 900. In other words, the far-end system may recognize that the system performing method 900 has received the first voice packet by receiving the first zero payload packet. This may be because the system performing method 900 is unable to transmit a packet at the second time unless the system first receives a transmission from a remote system, such as a first voice packet received at the first time. Also, the first zero payload packet indicates that the system performing method 900 is in a discontinuous transmission mode.
At step 910, a second voice packet is received from the far-end system at a third time. At step 912, a second zero payload packet is transmitted to the far-end system in response to the second voice packet and the voice activity estimation signal remaining below the predetermined threshold. The second zero payload packet is transmitted at a fourth time. The second zero payload packet is used to acknowledge receipt of the second voice packet by the system performing method 900. In other words, the far-end system may recognize that the system performing method 900 has received the second voice packet by receiving the second zero payload packet. This may be because the system performing method 900 is unable to transmit a packet at the fourth time unless the system first receives a transmission from a far-end system, such as a second voice packet received at the third time. Also, the second zero payload packet indicates that the system performing method 900 is still in discontinuous transmission mode.
In one or more embodiments, the system performing method 900 and/or the remote system may be allowed to transmit packets only during certain predetermined times. Thus, the first, second, third and fourth time instants may comprise one or more reserved or allocated time slots of a bluetooth eSCO link. For example, a first voice packet may be received during a first time slot reserved for a far-end system, and a first zero payload packet may be transmitted during a second time slot reserved for a system performing method 900. Similarly, a second voice packet may be received during a third time slot reserved for far-end systems, and a second zero payload packet may be transmitted during a fourth time slot reserved for systems performing method 900. The first and second slots may occur during the same frame of the first connection interval. The third and fourth time slots may occur during a frame of the second connection interval. The second connection interval may immediately follow the first connection interval, or one or more additional connection intervals may occur between the first connection interval and the second connection interval. As an option, both the first zero payload packet and the second zero payload packet may be NULL packets. Of course, however, these zero payload packets may comprise any type of packet without a payload.
In one or more embodiments, packet transmission by a remote system may determine a window of events over an isochronous linkBeginning with each event window including one or more sub-events. Thus, the first voice packet may be received at the beginning of the first event window (i.e., anchor point), and may be at T IFS The first zero payload packet is then transmitted from the system performing method 900. The first voice packet and the first zero payload packet may be exchanged during the same sub-event of the first event window. Similarly, a second voice packet may be received at the beginning of a second event window, and may be at T IFS A second zero payload packet is then transmitted from the system performing method 900. The second voice packet and the second zero payload packet may be exchanged during the same sub-event of the second event window. The second event window may immediately follow the first event window, or one or more additional event windows may occur between the first event window and the second event window.
In one or more embodiments, the transmission of zero payload packets may be periodically interrupted by the transmission of comfort noise packets, as described above in the context of fig. 2A. For example, a system performing method 900 may transmit comfort noise packets every 3 seconds, 5 seconds, 10 seconds, etc., of consecutive zero payload packet transmissions. Thus, a system performing method 900 may be operable to model background noise on an audio line input and store a record of comfort noise parameters. As described above, such recordings may be created in response to the voice activity estimation signal falling below a predetermined threshold.
In one or more embodiments, comfort noise packets may be sent over asynchronous channels like the ACL, in parallel with voice packets being sent over synchronous or isochronous channels like (e) SCO. When the connection enters discontinuous transmission mode, the receiving party may then use the comfort noise information received in the past to locally generate comfort noise, thereby providing the user with the impression that the connection is not broken.
Fig. 10 shows a flow diagram of a method 1000 for discontinuous transmission over a short range packet-based radio link in accordance with one or more embodiments of the invention. Although the steps of method 1000 are presented and described sequentially, one of ordinary skill in the art will appreciate that some or all of the steps may be performed in a different order, may be combined or omitted, and may be performed in parallel. Further, these steps may be performed actively or passively. For example, some steps may be performed using polling or some steps may be interrupt driven in accordance with one or more embodiments of the invention. In one or more embodiments, the method 1000 may be performed by the system 200 or the system 250 described above with reference to fig. 3A and 2A, respectively. In other words, the method 1000 may be performed by a wireless headset, such as one of the wireless headsets 102, or by a host device, such as one of the host devices 104, both the wireless headset 102 and the host device 104 described above in the context of fig. 1A.
At step 1002, an audio stream on an audio line input is monitored for a speech-based signal. Audio line input is monitored for voice-based signals during a synchronous or isochronous communication session over a short-range packet-based radio link. The communication session may include any two-way communication session in which the system performing method 1000 and the remote system exchange voice packets in real-time or in near real-time. The communication session may comprise, for example, an SCO or eSCO bluetooth link, or a session that exchanges voice and/or audio packets using bluetooth low energy. Further, it should be understood that steps 1004-1010 may be performed during a communication session over a short-range packet-based radio link.
At step 1004, a voice activity estimation signal is generated by a voice activity detector based on monitoring of the voice-based signal in the audio stream. Also, the voice activity estimation signal is compared to a predetermined threshold. The speech activity estimation signal may estimate the likelihood of human speech being present in an audio stream received on the audio line input. The audio stream on the audio line input may comprise speech when the speech activity estimation signal is above a predetermined threshold. Thus, when the voice activity estimation signal exceeds a predetermined threshold, the audio stream on the audio line input may be sampled and encoded into a series of voice packets that are transmitted to a far-end system, such as a headset (if method 1000 is being performed by a host device) or a host device (if method 1000 is being performed by a wireless headset). Thus, the audio stream on the audio line input may originate from the microphone of the headset or from a remote party over a network.
At step 1006, when the voice activity estimation signal exceeds a predetermined threshold, one or more voice packets are generated based on the audio stream and transmitted at one or more first times.
In one or more embodiments, the system performing method 1000 may be allowed to transmit packets only during certain predetermined times including one or more first time instants. For example, the one or more first times of step 1006 can occur during one or more reserved or allocated time slots of the bluetooth eSCO link. Thus, when the voice activity estimation signal exceeds a predetermined threshold, a first voice packet may be generated and transmitted during a first reserved time slot, a second voice packet may be generated and transmitted during a second reserved time slot, a third voice packet may be generated and transmitted during a third reserved time slot, and so on. There may be retransmission opportunities between the reserved slots in order to retransmit voice packets that are not correctly received.
In one or more embodiments, the first time may occur during one or more sub-events of a connection event window on the isochronous link. Further, in such embodiments, the transmission of packets by the system performing the method 1000 may determine the start of an event window over the isochronous link, where each event window includes one or more sub-events. Thus, a system performing method 1000 may transmit a voice packet at an anchor point on the link when the voice activity estimate signal exceeds a predetermined threshold. Each of these anchor points may start a respective event window.
At step 1008, in response to determining that the voice activity estimation signal is below the predetermined threshold, one or more null payload packets are transmitted to the remote system at one or more subsequent first time instances. Continuing with one of the examples above, the subsequent first time instance may comprise reserved or allocated time slots on the bluetooth eSCO link following those time slots used for transmission at step 1006. Thus, transmitting the zero payload packet at the subsequent first time may include transmitting the zero payload packet at one or more allocated time slots of one or more connection intervals. Continuing with another of the above examples, the subsequent first time may occur during one or more sub-events of a subsequent connection event window following those sub-events used at step 1006 on the isochronous link. Thus, the first zero payload packet may be transmitted at an anchor point on the isochronous link.
Further, at step 1010, one or more second zero payload packets are received from the remote system at one or more second times. Each of these second time instants follows a corresponding one of the subsequent first time instants such that each of the second null payload packets is received from the remote system after transmission of one of the first null payload packets to the remote system. For example, a first zero payload packet may be transmitted during a first time slot of a first frame, and a corresponding second zero payload packet may be subsequently received during a second time slot of the first frame. Subsequently, another first zero payload packet may be transmitted during a first time slot of a next frame, and a corresponding second zero payload packet may be received during a second time slot of the next frame. As another example, a first zero payload packet may be transmitted at an anchor point on an isochronous link and at T IFS A corresponding second zero payload packet may then be received from the remote system.
The exchange of zero payload packets between the system performing method 1000 and the remote system may continue until at least one of the systems exits discontinuous transmission mode. The NULL payload packets may include POLL packets and/or NULL packets. Of course, however, these zero payload packets may comprise any type of packet without a payload.
In one or more embodiments, the transmission or reception of zero payload packets may be periodically interrupted by the transmission or reception of comfort noise packets, respectively, as described above.
Fig. 11 shows a flow diagram of a method 1100 for discontinuous transmission over a short range packet-based radio link in accordance with one or more embodiments of the invention. Although the steps of method 1100 are presented and described sequentially, one of ordinary skill in the art will appreciate that some or all of the steps may be performed in a different order, may be combined or omitted, and may be performed in parallel. Further, these steps may be performed actively or passively. For example, some steps may be performed using polling or some steps may be interrupt driven in accordance with one or more embodiments of the present invention. In one or more embodiments, method 1100 may be performed by system 300 or system 350 described above with reference to fig. 3B and 2B, respectively. In other words, the method 1100 may be performed by a wireless headset, such as one of the wireless headsets 102, or by a host device, such as one of the host devices 104, both the wireless headset 102 and the host device 104 described above in the context of fig. 1A.
At step 1102, an audio stream on an audio line input is monitored for a speech-based signal. Audio line input is monitored for voice-based signals during a synchronous or isochronous communication session over a short-range packet-based radio link. The communication session may comprise any bi-directional communication session in which the system performing method 1100 and a remote system exchange voice packets in real-time or in near real-time. The communication session may comprise, for example, an SCO or eSCO bluetooth link, or a session that exchanges voice and/or audio packets using bluetooth low energy. Further, it should be understood that steps 1104-1108 may be performed during a communication session over a short-range packet-based radio link.
At step 1104, a voice activity estimation signal is generated by the voice activity detector based on the monitoring of the voice-based signal in the audio stream. Also, the voice activity estimation signal is compared to a predetermined threshold. The speech activity estimation signal may estimate the likelihood of human speech being present in an audio stream received on the audio line input. The audio stream on the audio line input may comprise speech when the speech activity estimation signal is above a predetermined threshold. Thus, when the voice activity estimation signal exceeds a predetermined threshold, the audio stream on the audio line input may be sampled and encoded into a series of voice packets that are transmitted to a far-end system, such as a headset (if method 1100 is being performed by a host device) or a host device (if method 1100 is being performed by a wireless headset). Thus, the audio stream on the audio line input may originate from the microphone of the headset or from a remote party over a network.
At step 1106, one or more first zero payload packets are received from the remote system at one or more first times. Also, at step 1108, one or more second null payload packets are transmitted to the remote system in response to receiving the first null payload packet and the voice activity estimate signal falling below the predetermined threshold. And transmitting the second zero payload packet to the remote system at one or more second time instants. In one or more embodiments, the system performing method 1100 may receive packets from the remote system during certain predetermined times, and the system performing method 1100 may be allowed to transmit packets to the remote system only during certain predetermined times. Thus, the predetermined time period during which the system performing method 1100 receives packets includes the one or more first time instants, and the predetermined time period during which the system performing method 1100 transmits packets includes the one or more second time instants. Each of the second time instants is subsequent to a corresponding one of the first time instants such that each of the second zero payload packets is transmitted after receiving a corresponding first zero payload packet from the far-end system.
In one or more embodiments, the one or more first time instances of step 1106 can comprise one or more reserved or allocated time slots of the bluetooth eSCO link. Thus, the first zero payload packet may be received during a time slot reserved for the far-end system. Further, the second zero payload packet may be transmitted during a time slot reserved for a system performing method 1100. In other words, the remote system and the system performing method 1100 may each transmit and receive zero payload packets during a given connection interval, e.g., a first zero payload packet may be received during a first time slot of a first frame and a corresponding second zero payload packet may be subsequently transmitted during a second time slot of the first frame. Subsequently, another first zero payload packet may be received during a first time slot of a next frame, and a corresponding second zero payload packet may be transmitted during a second time slot of the next frame.
In one or more embodiments, receipt of the first zero payload packet at step 1106 may specify an anchor point on the isochronous link. In other words, the one or more first time instants of step 1106 may indicate the start of event windows on the isochronous link, wherein each event window comprises one or more sub-events. Thus, one or more first zero payload packets may be received during one or more different events on the isochronous link. Further, after receiving each of the first zero-payload packets, the system performing method 1100 may wait for T before sending the corresponding second zero-payload packet to the remote system IFS 。
The exchange of zero payload packets between the system performing method 1100 and the remote system may continue until at least one of the systems leaves the discontinuous transmission mode. These zero payload packets may include any type of packet without a payload.
In one or more embodiments, the transmission or reception of zero payload packets may be periodically interrupted by the transmission or reception of comfort noise packets, respectively, as described above.
The various embodiments of the disclosure may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Embodiments of the disclosure may be implemented in a computer program product tangibly embodied in a computer-readable storage device for execution by a programmable processor. The processes described are executable by a programmable processor executing a program of instructions to perform functions by operating on input data and generating output. Embodiments of the disclosure may be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program may be implemented in a high level procedural or object oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer includes one or more mass storage devices for storing data files. Such an apparatus comprises: magnetic disks such as internal hard disks and removable disks, magneto-optical disks; optical discs, and solid state discs. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example: semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and a CD-ROM disk. Any of the foregoing may be supplemented by, or incorporated in, ASICs (application-specific integrated circuits). As used herein, the term "module" may refer to any of the above implementations.
Many implementations have been described. Nevertheless, various modifications may be made without departing from the scope of the disclosure. Accordingly, other implementations are within the scope of the following claims.
Claims (17)
1. A method, comprising:
during an isochronous communication session between a communication master device and a far-end system operating as a communication slave device over a short-range packet-based radio link, monitoring a voice-based signal in an audio stream received on an audio line input,
wherein the isochronous communication session includes a plurality of event windows including a first event window;
generating a voice activity estimation signal based on monitoring the audio stream for the voice-based signal;
generating one or more voice packets based on the audio stream and transmitting the one or more voice packets to the far-end system at one or more time instants when the voice activity estimation signal exceeds a predetermined threshold; and
in response to determining that the voice activity estimation signal is below the predetermined threshold:
transmitting a first zero payload packet to the communication slave in a first sub-event of the first event window,
receiving a voice packet from the communication slave device in the first sub-event of the first event window in response to the first zero payload packet, an
Acknowledging the voice packet by transmitting a second zero payload packet to the communication slave in a second sub-event of the first event window.
2. The method of claim 1, wherein the short range packet-based radio link comprises a bluetooth link.
3. The method of claim 1, comprising: transmitting at least one packet including comfort noise parameters to the remote system.
4. The method of claim 1, comprising: extracting comfort noise parameters from the audio stream when the speech activity estimation signal exceeds the predetermined threshold.
5. The method of claim 1, wherein the audio stream on the audio line input originates from a microphone.
6. The method of claim 1,
wherein the plurality of event windows further includes a second event window, an
Wherein the method further comprises, in response to determining that the voice activity estimation signal is below the predetermined threshold:
transmitting a third zero payload packet to the communication slave in a first sub-event of the second event window, an
Receiving a voice packet from the communication slave device in a first sub-event of the second event window in response to the third zero payload packet.
7. The method of claim 1,
wherein the plurality of event windows further includes a second event window, an
Wherein the method further comprises, in response to determining that the voice activity estimation signal is above the predetermined threshold:
generating a second voice packet based on the audio stream,
transmitting the second voice packet to the communication slave in a first sub-event of the second event window, an
Receiving a voice packet from the communication slave in a first sub-event of the second event window in response to the second voice packet.
8. A method, comprising:
during an isochronous communication session in which a slave device is communicated over a short-range packet-based radio link with a remote system operating as a communication master device:
receiving a first zero payload packet from the communication master in a first sub-event of a first event window of the isochronous communication session;
receiving an audio stream on an audio line input;
generating voice packets based on the audio stream;
transmitting the voice packet to the communication master in the first sub-event of the first event window in response to the first zero payload packet;
receiving a second zero payload packet from the communication master in a second sub-event of the first event window, the second zero payload packet acknowledging the voice packet;
monitoring the audio stream for speech-based signals;
generating a voice activity estimation signal based on monitoring the audio stream for the voice-based signal;
receiving a third zero payload packet from the communication master in a first sub-event of a second event window of the isochronous communication session; and
in response to determining that the voice activity estimation signal is below a predetermined threshold:
transmitting a fourth zero payload packet to the communication master in the first sub-event of the second event window in response to the third zero payload packet.
9. The method of claim 8, further comprising: generating comfort noise in response to receiving the first zero payload packet.
10. The method of claim 8, further comprising: at least one packet including comfort noise parameters is received from the remote system.
11. The method of claim 8, wherein the audio stream on the audio line input originates from a microphone.
12. The method of claim 8, wherein the short range packet-based radio link comprises a bluetooth link.
13. A method, comprising:
during an isochronous communication session in which a slave device is communicated over a short-range packet-based radio link with a remote system operating as a communication master device:
receiving a first zero payload packet from the communication master in a first sub-event of a first event window of the isochronous communication session;
receiving an audio stream on an audio line input;
generating voice packets based on the audio stream;
transmitting the voice packet to the communication master in the first sub-event of the first event window in response to the first zero payload packet;
receiving a second zero payload packet from the communication master in a second sub-event of the first event window, the second zero payload packet acknowledging the voice packet;
monitoring the audio stream for a speech-based signal;
generating a voice activity estimation signal based on monitoring the audio stream for the voice-based signal;
receiving a second voice packet from the communication master in a first sub-event of a second event window of the isochronous communication session;
in response to determining that the voice activity estimation signal is below a predetermined threshold:
transmitting a third zero payload packet to the communication master in the first sub-event of the second event window in response to the second voice packet.
14. The method of claim 13, further comprising: generating comfort noise in response to receiving the first zero payload packet.
15. The method of claim 13, further comprising: at least one packet including comfort noise parameters is received from the remote system.
16. The method of claim 13, wherein the audio stream on the audio line input originates from a microphone.
17. The method of claim 13, wherein the short range packet-based radio link comprises a bluetooth link.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/179,747 US11109440B2 (en) | 2018-11-02 | 2018-11-02 | Discontinuous transmission on short-range packet-based radio links |
US16/179,747 | 2018-11-02 | ||
PCT/US2019/059454 WO2020092944A1 (en) | 2018-11-02 | 2019-11-01 | Discontinuous transmission on short-range packet-based radio links |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113261266A CN113261266A (en) | 2021-08-13 |
CN113261266B true CN113261266B (en) | 2023-04-18 |
Family
ID=69326617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980087743.8A Active CN113261266B (en) | 2018-11-02 | 2019-11-01 | Discontinuous transmission over short range packet-based radio links |
Country Status (4)
Country | Link |
---|---|
US (2) | US11109440B2 (en) |
EP (1) | EP3874730B1 (en) |
CN (1) | CN113261266B (en) |
WO (1) | WO2020092944A1 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11527265B2 (en) | 2018-11-02 | 2022-12-13 | BriefCam Ltd. | Method and system for automatic object-aware video or audio redaction |
US11750705B2 (en) * | 2018-12-04 | 2023-09-05 | Aeris Communications, Inc. | Method and system for enhanced IoT device communications |
US11510197B2 (en) | 2019-02-07 | 2022-11-22 | Plantronics, Inc. | Systems and methods for managing wireless packet communications by assigning separate resources for sequential transmission attempts |
US11997496B2 (en) * | 2019-05-31 | 2024-05-28 | Apple Inc. | Temporary pairing for wireless devices |
JP7140719B2 (en) * | 2019-07-04 | 2022-09-21 | アンリツ株式会社 | Measuring device and measuring method |
KR20190101325A (en) * | 2019-08-12 | 2019-08-30 | 엘지전자 주식회사 | Intelligent voice recognizing method, apparatus, and intelligent computing device |
KR102281602B1 (en) * | 2019-08-21 | 2021-07-29 | 엘지전자 주식회사 | Artificial intelligence apparatus and method for recognizing utterance voice of user |
WO2021137569A1 (en) * | 2019-12-31 | 2021-07-08 | Samsung Electronics Co., Ltd. | Method for transceiving data in bluetooth network environment and electronic device thereof |
US20210168578A1 (en) * | 2020-12-23 | 2021-06-03 | Intel Corporation | Apparatus, system and method of communicating audio traffic over a bluetooth link |
EP4027557B1 (en) * | 2021-01-12 | 2024-02-28 | Hewlett-Packard Development Company, L.P. | Method for managing wireless packet communications by assigning separate resources for sequential transmission attempts |
CN114915948A (en) * | 2021-02-09 | 2022-08-16 | 瑞昱半导体股份有限公司 | Bluetooth communication system and Bluetooth device group |
US20240072920A1 (en) * | 2022-08-30 | 2024-02-29 | Texas Instruments Incorporated | Optimizing node location in a battery management system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213591A (en) * | 2005-06-18 | 2008-07-02 | 诺基亚公司 | System and method for adaptive transmission of comfort noise parameters during discontinuous speech transmission |
WO2009009689A1 (en) * | 2007-07-10 | 2009-01-15 | Texas Instruments Incorporated | System and method for reducing power consumption in a wireless device |
EP2552172A1 (en) * | 2011-07-29 | 2013-01-30 | ST-Ericsson SA | Control of the transmission of a voice signal over a bluetooth® radio link |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6621812B1 (en) * | 1998-11-10 | 2003-09-16 | Cisco Technology, Inc. | Method and apparatus for mapping voice activity detection to a scheduled access media |
US7423983B1 (en) * | 1999-09-20 | 2008-09-09 | Broadcom Corporation | Voice and data exchange over a packet based network |
US6671292B1 (en) * | 1999-06-25 | 2003-12-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for adaptive voice buffering |
GB2371438B (en) * | 2001-01-19 | 2004-06-30 | Ericsson Telefon Ab L M | Telecommunications systems |
GB0102261D0 (en) * | 2001-01-29 | 2001-03-14 | Vtech Communications Ltd | Enhanced cordless telephone platform using bluetooth technology |
US7411985B2 (en) * | 2003-03-21 | 2008-08-12 | Lucent Technologies Inc. | Low-complexity packet loss concealment method for voice-over-IP speech transmission |
EP1463246A1 (en) * | 2003-03-27 | 2004-09-29 | Motorola Inc. | Communication of conversational data between terminals over a radio link |
KR100542101B1 (en) * | 2003-06-02 | 2006-01-11 | 삼성전자주식회사 | Power control method and bluetooth device using the same |
EP1639844B1 (en) | 2003-06-23 | 2015-10-21 | Spreadtrum Communications Inc. | Time interleaved multiple standard single radio system apparatus and method |
US7532904B2 (en) * | 2004-06-04 | 2009-05-12 | Broadcom Corporation | Adaptive piconet protocol |
WO2006096557A2 (en) * | 2005-03-04 | 2006-09-14 | Sonim Technologies, Inc. | Restructuring data packets to improve voice quality at low bandwidth conditions in wireless networks |
US20080123610A1 (en) * | 2006-11-29 | 2008-05-29 | Prasanna Desai | Method and system for a shared antenna control using the output of a voice activity detector |
US8498678B2 (en) | 2007-07-10 | 2013-07-30 | Texas Instruments Incorporated | System and method for reducing power consumption in a wireless device |
US8401520B2 (en) * | 2007-08-30 | 2013-03-19 | MindTree Limited | Method and apparatus for multiterminal support using bluetooth based audio gateway |
US8090588B2 (en) * | 2007-08-31 | 2012-01-03 | Nokia Corporation | System and method for providing AMR-WB DTX synchronization |
US8139553B2 (en) * | 2008-01-11 | 2012-03-20 | Mediatek Inc. | Methods and apparatuses for link management in a scatternet |
US8483130B2 (en) * | 2008-12-02 | 2013-07-09 | Qualcomm Incorporated | Discontinuous transmission in a wireless network |
CN103534754B (en) * | 2011-02-14 | 2015-09-30 | 弗兰霍菲尔运输应用研究公司 | The audio codec utilizing noise to synthesize during the inertia stage |
US8787230B2 (en) * | 2011-12-19 | 2014-07-22 | Qualcomm Incorporated | Voice activity detection in communication devices for power saving |
US9712266B2 (en) * | 2013-05-21 | 2017-07-18 | Apple Inc. | Synchronization of multi-channel audio communicated over bluetooth low energy |
EP3111626B1 (en) * | 2014-02-28 | 2021-09-22 | Dolby Laboratories Licensing Corporation | Perceptually continuous mixing in a teleconference |
US9775110B2 (en) | 2014-05-30 | 2017-09-26 | Apple Inc. | Power save for volte during silence periods |
US9854527B2 (en) * | 2014-08-28 | 2017-12-26 | Apple Inc. | User equipment transmit duty cycle control |
JP2017531369A (en) * | 2014-09-26 | 2017-10-19 | インテル コーポレイション | Method and apparatus for voice data transmission |
US10477470B2 (en) * | 2016-02-08 | 2019-11-12 | Qualcomm Incorporated | Systems and methods for silent period operation during wireless communication |
US10034160B2 (en) * | 2016-04-14 | 2018-07-24 | Lg Electronics Inc. | Method and apparatus for transmitting or receiving data using bluetooth in wireless communication system |
US10517111B2 (en) * | 2016-09-21 | 2019-12-24 | Apple Inc. | Mitigating scheduling conflicts in wireless communication devices |
US10178711B2 (en) * | 2016-09-21 | 2019-01-08 | Apple Inc. | Real-time relay of wireless communications |
US9907023B1 (en) * | 2016-10-31 | 2018-02-27 | Qualcomm Incorporated | Power management during voice calls |
US10412565B2 (en) * | 2016-12-19 | 2019-09-10 | Qualcomm Incorporated | Systems and methods for muting a wireless communication device |
US10784993B1 (en) * | 2019-11-01 | 2020-09-22 | Qualcomm Incorporated | Soft combining packets received from different piconets |
-
2018
- 2018-11-02 US US16/179,747 patent/US11109440B2/en active Active
-
2019
- 2019-11-01 CN CN201980087743.8A patent/CN113261266B/en active Active
- 2019-11-01 WO PCT/US2019/059454 patent/WO2020092944A1/en unknown
- 2019-11-01 EP EP19842907.8A patent/EP3874730B1/en active Active
-
2021
- 2021-07-27 US US17/386,530 patent/US20210360735A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213591A (en) * | 2005-06-18 | 2008-07-02 | 诺基亚公司 | System and method for adaptive transmission of comfort noise parameters during discontinuous speech transmission |
WO2009009689A1 (en) * | 2007-07-10 | 2009-01-15 | Texas Instruments Incorporated | System and method for reducing power consumption in a wireless device |
EP2552172A1 (en) * | 2011-07-29 | 2013-01-30 | ST-Ericsson SA | Control of the transmission of a voice signal over a bluetooth® radio link |
Also Published As
Publication number | Publication date |
---|---|
US20210360735A1 (en) | 2021-11-18 |
WO2020092944A1 (en) | 2020-05-07 |
US11109440B2 (en) | 2021-08-31 |
CN113261266A (en) | 2021-08-13 |
US20200146097A1 (en) | 2020-05-07 |
EP3874730A1 (en) | 2021-09-08 |
EP3874730B1 (en) | 2023-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113261266B (en) | Discontinuous transmission over short range packet-based radio links | |
US7454171B2 (en) | Method and system for VoIP over WLAN to Bluetooth headset using ACL link and sniff for aligned eSCO transmission | |
KR100940924B1 (en) | Method and system for a shared antenna control using the output of a voice activity detector | |
TWI343760B (en) | Method and apparatus for collaborative coexistence between bluetooth and ieee 802.11 g with both technologies integrated onto a system-on-a-chip (soc) device | |
US8203977B2 (en) | Method and system for half duplex audio in a bluetooth stereo headset | |
US9031604B2 (en) | Method and apparatus for enabling simultaneous VoWLAN and Bluetooth audio in small form factor handheld devices | |
US8073388B2 (en) | Method and system for dynamically changing poll timing based on Bluetooth activity | |
US8254837B2 (en) | Establishing full-duplex audio over an asynchronous bluetooth link | |
CN112492449B (en) | Wireless earphone receiver and wireless earphone | |
JP4575915B2 (en) | Communication of conversation data signals between terminal devices via wireless links | |
JP4838852B2 (en) | Communication in a dual protocol environment | |
US20100130129A1 (en) | WLAN and bluetooth harmonization | |
US20060084383A1 (en) | Method and system for collocated IEEE 802.11 B/G WLAN, and BT with FM in coexistent operation | |
TW200818822A (en) | Scheduled coexistence | |
CN101779419A (en) | Simultaneously maintaining bluetooth and 802.11 connections to increase data throughput | |
CN109587714B (en) | Method, device, storage medium and Bluetooth headset for sending audio data | |
US20210153223A1 (en) | Transmitting and receiving individual subbands | |
JP2004274292A (en) | Method and device for information communication | |
Meliones et al. | Z-Phone: Design and implementation of embedded voice over Zigbee applications | |
JP2004072535A (en) | Method for controlling voice communication in bluetooth | |
WO2024211715A1 (en) | Managing utterance data latency |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231130 Address after: Texas, USA Patentee after: Huihe Development Co.,Ltd. Address before: California, USA Patentee before: Plantronics, Inc. |