The invention relates generally to wrist wearable devices which detect and processing acoustic signal data and more specifically to reducing noise in wrist wearable acoustic systems.
Acoustic systems employ acoustic sensors such as microphones to receive audio signals. Often, these systems are used in real world environments which present desired audio and undesired audio (also referred to as noise) to a receiving microphone simultaneously. Such receiving microphones are part of a variety of systems such as a mobile phone, a handheld microphone, a hearing aid, etc. These systems often perform speech recognition processing on the received acoustic signals. Simultaneous reception of desired audio and undesired audio have a negative impact on the quality of the desired audio. Degradation of the quality of the desired audio can result in desired audio which is output to a user and is hard for the user to understand. Degraded desired audio used by an algorithm such as in speech recognition (SR) or Automatic Speech Recognition (ASR) can result in an increased error rate which can render the reconstructed speech hard to understand. Either of which presents a problem.
Handheld systems require a user's fingers to grip and/or operate the device in which the handheld system is implemented. Such as a mobile phone for example. Occupying a user's fingers can prevent the user from performing mission critical functions. This can present a problem.
Undesired audio (noise) can originate from a variety of sources, which are not the source of the desired audio. Thus, the sources of undesired audio are statistically uncorrelated with the desired audio. The sources can be of a non-stationary origin or from a stationary origin. Stationary applies to time and space where amplitude, frequency, and direction of an acoustic signal do not vary appreciably. For, example, in an automobile environment engine noise at constant speed is stationary as is road noise or wind noise, etc. In the case of a non-stationary signal, noise amplitude, frequency distribution, and direction of the acoustic signal vary as a function of time and or space. Non-stationary noise originates for example, from a car stereo, noise from a transient such as a bump, door opening or closing, conversation in the background such as chit chat in a back seat of a vehicle, etc. Stationary and non-stationary sources of undesired audio exist in office environments, concert halls, football stadiums, airplane cabins, everywhere that a user will go with an acoustic system (e.g., mobile phone, tablet computer etc. equipped with a microphone, a headset, an ear bud microphone, etc.) At times the environment the acoustic system is used in is reverberant, thereby causing the noise to reverberate within the environment, with multiple paths of undesired audio arriving at the microphone location. Either source of noise, i.e., non-stationary or stationary undesired audio, increases the error rate of speech recognition algorithms such as SR or ASR or can simply make it difficult for a system to output desired audio to a user which can be understood. All of this can present a problem.
Various noise cancellation approaches have been employed to reduce noise from stationary and non-stationary sources. Existing noise cancellation approaches work better in environments where the magnitude of the noise is less than the magnitude of the desired audio, e.g., in relatively low noise environments. Spectral subtraction is used to reduce noise in speech recognition algorithms and in various acoustic systems such as in hearing aids. Systems employing Spectral Subtraction do not produce acceptable error rates when used in Automatic Speech Recognition (ASR) applications when a magnitude of the undesired audio becomes large. This can present a problem.
In addition, existing algorithms, such as Spectral Subtraction, etc., employ non-linear treatment of an acoustic signal. Non-linear treatment of an acoustic signal results in an output that is not proportionally related to the input. Speech Recognition (SR) algorithms are developed using voice signals recorded in a quiet environment without noise. Thus, speech recognition algorithms (developed in a quiet environment without noise) produce a high error rate when non-linear distortion is introduced in the speech process through non-linear signal processing. Non-linear treatment of acoustic signals can result in non-linear distortion of the desired audio which disrupts feature extraction which is necessary for speech recognition, this results in a high error rate. All of which can present a problem.
Various methods have been used to try to suppress or remove undesired audio from acoustic systems, such as in Speech Recognition (SR) or Automatic Speech Recognition (ASR) applications for example. One approach is known as a Voice Activity Detector (VAD). A VAD attempts to detect when desired speech is present and when undesired speech is present. Thereby, only accepting desired speech and treating as noise by not transmitting the undesired speech. Traditional voice activity detection only works well for a single sound source or a stationary noise (undesired audio) whose magnitude is small relative to the magnitude of the desired audio. Therefore, traditional voice activity detection renders a VAD a poor performer in a noisy environment. Additionally, using a VAD to remove undesired audio does not work well when the desired audio and the undesired audio are arriving simultaneously at a receive microphone. This can present a problem.
Acoustic systems used in noisy environments with a single microphone present a problem in that desired audio and undesired audio are received simultaneously on a single channel. Undesired audio can make the desired audio unintelligible to either a human user or to an algorithm designed to use received speech such as a Speech Recognition (SR) or an Automatic Speech Recognition (ASR) algorithm. This can present a problem. Multiple channels have been employed to address the problem of the simultaneous reception of desired and undesired audio. Thus, on one channel, desired audio and undesired audio are received and on the other channel an acoustic signal is received which also contains undesired audio and desired audio. Over time the sensitivity of the individual channels can drift which results in the undesired audio becoming unbalanced between the channels. Drifting channel sensitivities can lead to inaccurate removal of undesired audio from desired audio. Non-linear distortion of the original desired audio signal can result from processing acoustic signals obtained from channels whose sensitivities drift over time. This can present a problem.
The invention may best be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. The invention is illustrated by way of example in the embodiments and is not limited in the figures of the accompanying drawings, in which like references indicate similar elements.
In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, and in which is shown by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those of skill in the art to practice the invention. In other instances, well-known circuits, structures, and techniques have not been shown in detail in order not to obscure the understanding of this description. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the invention is defined only by the appended claims.
Apparatuses and methods are described for detecting and processing acoustic signals containing both desired audio and undesired audio within a wrist wearable device. In one or more embodiments, noise cancellation architectures combine multi-channel noise cancellation and single channel noise cancellation to extract desired audio from undesired audio. In one or more embodiments, multi-channel acoustic signal compression is used for desired voice activity detection. In one or more embodiments, acoustic channels are auto-balanced.
Referring back to
The wrist wearable device 102 has an internal volume, defined by its structure, within which electronics 118 are mounted. In one or more embodiments, an access panel such as 112 and/or 110 is provided to access the electronics 118. In other embodiments no access door is provided explicitly but the electronics 118 are contained within the volume of the wrist wearable device 102. In such cases, the electronics 118 can be inserted prior to assembly of a wrist wearable device where one or more parts interlock together thereby forming a housing which captures the electronics 118 therein. In yet other embodiments, a wrist wearable device is molded around electronics 118 thereby encapsulating the electronics 118 within the volume of the wrist wearable device 102. In various non-limiting embodiments, electronics 118 include an adaptive noise cancellation unit, a single channel noise cancellation unit, a filter control, a power supply, a desired voice activity detector, a filter, etc. Other components of electronics 118 are described below in the figures that follow.
The wrist wearable device 102 can include a switch 116 which is used to power up or down the wrist wearable device 102. The wrist wearable device 102 can contain a data processing system within its volume for processing acoustic signals which are received by the microphones associated therewith, such as the first microphone 106 and the second microphone 108. The data processing system can contain one or more of the elements of the system illustrated in
The wrist wearable device 102 can be referred to as a wristband. Alternatively, a wrist wearable device which incorporates embodiments of the invention can be created in the form of a watch (
The wrist wearable device 202 has a first microphone 208 positioned thereon and receives both desired audio and undesired audio (as described above in conjunction with
A second microphone 210 is mounted on the wrist wearable device 202 and receives both desired audio and undesired audio (as described above in conjunction with
The wrist wearable device 302 has a first microphone 306 positioned thereon and receives both desired audio and undesired audio (as described above in conjunction with
A second microphone 308 is mounted on the wrist wearable device 302 and receives both desired audio and undesired audio (as described above in conjunction with
In one or more embodiments, when worn on the wrist as shown in
In operation, when the user 404 speaks the user's mouth 408 creates a desired audio signal 414 which is received at a first microphone and a second microphone as described above in conjunction with
With reference to
A first microphone 506 is located as illustrated along a reference axis 507 with the source of desired audio 518. A second microphone is located at a first position 508 as indicated by angle alpha-one (α1) at 510. In the position 508, the first and second microphones are exposed to a combination of desired and undesired audio and a signal-to-noise ratio measurement is made for the first microphone and the second microphone. A signal-to-noise ratio difference is then computed for these measurements. The second microphone is rotated further away from the first microphone 506 by moving it to a position indicated at 512 by angle alpha-two (α2) at 514. In the position indicated at 512 the microphones are exposed to the combination of desired audio and undesired audio and a signal-to-noise ratio measurement is made for the first microphone and the second microphone. A signal-to-noise ratio difference is computed for these measurements. Following the procedure so described, the second microphone is moved to successive positions around the surface of the wrist wearable device as alpha (α) increases from nominally zero degrees to approximately 360 degrees. The results of a set of measurements for one orientation of wrist wearable device 502 and microphone placements are plotted in
As described below in conjunction with the figures that follow, embodiments of the invention are used to reduce noise (undesired audio) from a main microphone signal with signal-to-noise ratio difference ranging from a fraction of a decibel to several decibels or more. Thus, many different microphone locations are possible for positioning the main and the reference microphone on a wrist wearable device.
The measurements plotted in
Similarly, a directional microphone can be used to decrease reception of desired audio and to increase reception of undesired audio, thereby lowering a signal-to-noise ratio of a second microphone (reference microphone), which results in an increase in the signal-to-noise ratio difference between the primary and reference microphones. An example is illustrated in
In some embodiments, more than one main microphone is used on a wrist wearable device. In various embodiments, such a configuration is useful when desired audio can come from more than one direction. In such a case, the system is said to have more than one receive orientation. For example, in
An example of a directional microphone having a cardioid directivity pattern 722 is illustrated within plot 720 where the cardioid directivity pattern 722 has a peak sensitivity axis indicated at 724 and a null indicated at 726. A cardioid directivity pattern can be formed with two omni-directional microphones or with an omni-directional microphone and a suitable mounting structure for the microphone.
An example of a directional microphone having a bidirectional directivity pattern 742/744 is illustrated within plot 740 where a first lobe 742 of the bidirectional directivity pattern has a first peak sensitivity axis indicated at 748 the second lobe 744 has a second peak sensitivity axis indicated at 746. A first null exists at a direction 750 and a second null exists at a direction 752.
An example of a directional microphone having a super-cardioid directivity pattern is illustrated with plot 760 where the super-cardioid directivity pattern 764/765 has a peak sensitivity axis indicated at a direction 762, a minor sensitivity axis indicated at a direction 766 and nulls indicated at directions 768 and 770.
Thus, within the teachings of embodiments presented herein one or more main microphones and one or more reference microphones are placed in locations on a wrist wearable device to obtain suitable signal-to-noise ratio difference between a main and a reference microphone to enable extraction of desired audio from an acoustic signal containing both desired audio and undesired audio as described below in conjunction with the figures that follow. Microphones can be placed at various locations on the wrist wearable device depending on the receive orientations for the system, including co-locating a main and a reference microphone at a common circumferential angular position on a wrist wearable device.
In some embodiments, the main channel 1102 has an omni-directional response and the reference channel 1104 has an omni-directional response. In some embodiments, the acoustic beam patterns for the acoustic elements of the main channel 1102 and the reference channel 1104 are different. In other embodiments, the beam patterns for the main channel 1102 and the reference channel 1104 are the same; however, desired audio received on the main channel 1102 is different from desired audio received on the reference channel 1104. Therefore, a signal-to-noise ratio for the main channel 1102 and a signal-to-noise ratio for the reference channel 1104 are different. In general, the signal-to-noise ratio for the reference channel is less than the signal-to-noise-ratio of the main channel. In various embodiments, by way of non-limiting examples, a difference between a main channel signal-to-noise ratio and a reference channel signal-to-noise ratio is approximately 1 or 2 decibels (dB) or more. In other non-limiting examples, a difference between a main channel signal-to-noise ratio and a reference channel signal-to-noise ratio is 1 decibel (dB) or less. Thus, embodiments of the invention are suited for high noise environments, which can result in low signal-to-noise ratios with respect to desired audio as well as low noise environments, which can have higher signal-to-noise ratios. As used in this description of embodiments, signal-to-noise ratio means the ratio of desired audio to undesired audio in a channel. Furthermore, the term “main channel signal-to-noise ratio” is used interchangeably with the term “main signal-to-noise ratio.” Similarly, the term “reference channel signal-to-noise ratio” is used interchangeably with the term “reference signal-to-noise ratio.”
The main channel 1102, the reference channel 1104, and optionally a second reference channel 1104b provide inputs to an adaptive noise cancellation unit 1106. While a second reference channel is shown in the figures, in various embodiments, more than two reference channels are used. Adaptive noise cancellation unit 1106 filters undesired audio from the main channel 1102, thereby providing a first stage of filtering with multiple acoustic channels of input. In various embodiments, the adaptive noise cancellation unit 1106 utilizes an adaptive finite impulse response (FIR) filter. The environment in which embodiments of the invention are used can present a reverberant acoustic field. Thus, the adaptive noise cancellation unit 1106 includes a delay for the main channel sufficient to approximate the impulse response of the environment in which the system is used. A magnitude of the delay used will vary depending on the particular application that a system is designed for including whether or not reverberation must be considered in the design. In some embodiments, for microphone channels positioned very closely together (and where reverberation is not significant) a magnitude of the delay can be on the order of a fraction of a millisecond. Note that at the low end of a range of values, which could be used for a delay, an acoustic travel time between channels can represent a minimum delay value. Thus, in various embodiments, a delay value can range from approximately a fraction of a millisecond to approximately 500 milliseconds or more depending on the application. Further description of the adaptive noise cancellation unit 1106 and the components associated therewith are provided below in conjunction with the figures that follow.
An output 1107 of the adaptive noise cancellation unit 1106 is input into a single channel noise cancellation unit 1118. The single channel noise cancellation unit 1118 filters the output 1107 and provides a further reduction of undesired audio from the output 1107, thereby providing a second stage of filtering. The single channel noise cancellation unit 1118 filters mostly stationary contributions to undesired audio. The single channel noise cancellation unit 1118 includes a linear filter, such as for example a WEINER filter, a Minimum Mean Square Error (MMSE) filter implementation, a linear stationary noise filter, or other Bayesian filtering approaches which use prior information about the parameters to be estimated. Filters used in the single channel noise cancellation unit 1118 are described more fully below in conjunction with the figures that follow.
Acoustic signals from the main channel 1102 are input at 1108 into a filter control 1112. Similarly, acoustic signals from the reference channel 1104 are input at 1110 into the filter control 1112. An optional second reference channel is input at 1108b into the filter control 1112. Filter control 1112 provides control signals 1114 for the adaptive noise cancellation unit 1106 and control signals 1116 for the single channel noise cancellation unit 1118. In various embodiments, the operation of filter control 1112 is described more completely below in conjunction with the figures that follow. An output 1120 of the single channel noise cancellation unit 1118 provides an acoustic signal which contains mostly desired audio and a reduced amount of undesired audio.
The system architecture shown in
In various embodiments, inhibit logic unit 1214 receives as inputs, information regarding main channel activity at 1210, reference channel activity at 1212, and information pertaining to whether desired audio is present at 1204. In various embodiments, the inhibit logic 1214 outputs filter control signal 1114/1116 which is sent to the adaptive noise cancellation unit 1106 and the single channel noise cancellation unit 1118 of
In operation, in various embodiments, the system of
In addition, algorithms used to process speech, such as Speech Recognition (SR) algorithms or Automatic Speech Recognition (ASR) algorithms benefit from accurate presentation of acoustic signals which are substantially free of non-linear distortion. Thus, the distortions which can arise from the application of signal processing processes which are non-linear are eliminated by embodiments of the invention. The linear noise cancellation algorithms, taught by embodiments of the invention, produce changes to the desired audio which are transparent to the operation of SR and ASR algorithms employed by speech recognition engines. As such, the error rates of speech recognition engines are greatly reduced through application of embodiments of the invention.
A beamformer 1305 receives as inputs, the signal from the first microphone 1302 and the signal from the second microphone 1304 and optionally a signal from a third microphone 1304b (nominally labeled in the figure as MIC 3). The beamformer 1305 uses signals 1302, 1304 and optionally 1304b to create a main channel 1308a which contains both desired audio and undesired audio. The beamformer 1305 also uses signals 1302, 1304, and optionally 1304b to create one or more reference channels 1310a and optionally 1311a. A reference channel contains both desired audio and undesired audio. A signal-to-noise ratio of the main channel, referred to as “main channel signal-to-noise ratio” is greater than a signal-to-noise ratio of the reference channel, referred to herein as “reference channel signal-to-noise ratio.” The beamformer 1305 and/or the arrangement of acoustic elements used for MIC 1 and MIC 2 provide for a main channel signal-to-noise ratio which is greater than the reference channel signal-to-noise ratio.
The beamformer 1305 is coupled to an adaptive noise cancellation unit 1306 and a filter control unit 1312. A main channel signal is output from the beamformer 1305 at 1308a and is input into an adaptive noise cancellation unit 1306. Similarly, a reference channel signal is output from the beamformer 1305 at 1310a and is input into the adaptive noise cancellation unit 1306. The main channel signal is also output from the beamformer 1305 and is input into a filter control 1312 at 1308b. Similarly, the reference channel signal is output from the beamformer 1305 and is input into the filter control 1312 at 1310b. Optionally, a second reference channel signal is output at 1311a and is input into the adaptive noise cancellation unit 1306 and the optional second reference channel signal is output at 1311b and is input into the filter control 1312.
The filter control 1312 uses inputs 1308b, 1310b, and optionally 1311b to produce channel activity flags and desired voice activity detection to provide filter control signal 1314 to the adaptive noise cancellation unit 1306 and filter control signal 1316 to a single channel noise reduction unit 1318.
The adaptive noise cancellation unit 1306 provides multi-channel filtering and filters a first amount of undesired audio from the main channel 1308a during a first stage of filtering to output a filtered main channel at 1307. The single channel noise reduction unit 1318 receives as an input the filtered main channel 1307 and provides a second stage of filtering, thereby further reducing undesired audio from 1307. The single channel noise reduction unit 1318 outputs mostly desired audio at 1320.
In various embodiments, different types of microphones can be used to provide the acoustic signals needed for the embodiments of the invention presented herein. Any transducer that converts a sound wave to an electrical signal is suitable for use with embodiments of the invention taught herein. Some non-limiting examples of microphones are, but are not limited to, a dynamic microphone, a condenser microphone, an Electret Condenser Microphone, (ECM), and a microelectromechanical systems (MEMS) microphone. In other embodiments a condenser microphone (CM) is used. In yet other embodiments micro-machined microphones are used. Microphones based on a piezoelectric film are used with other embodiments. Piezoelectric elements are made out of ceramic materials, plastic material, or film. In yet other embodiments, micromachined arrays of microphones are used. In yet other embodiments, silicon or polysilicon micromachined microphones are used. In some embodiments, bi-directional pressure gradient microphones are used to provide multiple acoustic channels. Various microphones or microphone arrays including the systems described herein can be mounted on or within structures such as eyeglasses or headsets.
A beamformer 1405 receives as inputs, the signal from the first microphone 1402 and the signal from the second microphone 1404. The beamformer 1405 uses signals 1402 and 1404 to create a main channel which contains both desired audio and undesired audio. The beamformer 1405 also uses signals 1402 and 1404 to create a reference channel. Optionally, a third channel provides acoustic signals from a third microphone at 1404b (nominally labeled in the figure as MIC 3), which are input into the beamformer 1405. In various embodiments, one or more microphones can be used to create the signal 1404b from the third microphone. The reference channel contains both desired audio and undesired audio. A signal-to-noise ratio of the main channel, referred to as “main channel signal-to-noise ratio” is greater than a signal-to-noise ratio of the reference channel, referred to herein as “reference channel signal-to-noise ratio.” The beamformer 1405 and/or the arrangement of acoustic elements used for MIC 1, MIC 2, and optionally MIC 3 provide for a main channel signal-to-noise ratio that is greater than the reference channel signal-to-noise ratio. In some embodiments bi-directional pressure-gradient microphone elements provide the signals 1402, 1404, and optionally 1404b.
The beamformer 1405 is coupled to an adaptive noise cancellation unit 1406 and a desired voice activity detector 1412 (filter control). A main channel signal is output from the beamformer 1405 at 1408a and is input into an adaptive noise cancellation unit 1406. Similarly, a reference channel signal is output from the beamformer 1405 at 1410a and is input into the adaptive noise cancellation unit 1406. The main channel signal is also output from the beamformer 1405 and is input into the desired voice activity detector 1412 at 1408b. Similarly, the reference channel signal is output from the beamformer 1405 and is input into the desired voice activity detector 1412 at 1410b. Optionally, a second reference channel signal is output at 1409a from the beam former 1405 and is input to the adaptive noise cancellation unit 1406, and the second reference channel signal is output at 1409b from the beam former 1405 and is input to the desired vice activity detector 1412.
The desired voice activity detector 1412 uses input 1408b, 1410b, and optionally 1409b to produce filter control signal 1414 for the adaptive noise cancellation unit 1408 and filter control signal 1416 for a single channel noise reduction unit 1418. The adaptive noise cancellation unit 1406 provides multi-channel filtering and filters a first amount of undesired audio from the main channel 1408a during a first stage of filtering to output a filtered main channel at 1407. The single channel noise reduction unit 1418 receives as an input the filtered main channel 1407 and provides a second stage of filtering, thereby further reducing undesired audio from 1407. The single channel noise reduction unit 1418 outputs mostly desired audio at 1420
The desired voice activity detector 1412 provides a control signal 1422 for an auto-balancing unit 1424. The auto-balancing unit 1424 is coupled at 1426 to the signal path from the first microphone 1402. The auto-balancing unit 1424 is also coupled at 1428 to the signal path from the second microphone 1404. Optionally, the auto-balancing unit 1424 is also coupled at 1429 to the signal path from the third microphone 1404b. The auto-balancing unit 1424 balances the microphone response to far field signals over the operating life of the system. Keeping the microphone channels balanced increases the performance of the system and maintains a high level of performance by preventing drift of microphone sensitivities. The auto-balancing unit is described more fully below in conjunction with the figures that follow.
In various embodiments, the adaptive noise cancellation unit, such as 1106 (
In various embodiments, the single channel noise cancellation unit, such as 1018 (
In various embodiments, the filter control, such as 1112 (
In various embodiments, the beamformer, such as 1305 (
In various embodiments, beamforming block 1506 includes a filter 1508. Depending on the type of microphone used and the specific application, the filter 1508 can provide a direct current (DC) blocking filter which filters the DC and very low frequency components of Microphone input 1502. Following the filter 1508, in some embodiments additional filtering is provided by a filter 1510. Some microphones have non-flat responses as a function of frequency. In such a case, it can be desirable to flatten the frequency response of the microphone with a de-emphasis filter. The filter 1510 can provide de-emphasis, thereby flattening a microphone's frequency response. Following de-emphasis filtering by the filter 1510, a main microphone channel is supplied to the adaptive noise cancellation unit at 1512a and the desired voice activity detector at 1512b.
A microphone input 1504 is input into the beamforming block 1506 and in some embodiments is filtered by a filter 1512. Depending on the type of microphone used and the specific application, the filter 1512 can provide a direct current (DC) blocking filter which filters the DC and very low frequency components of Microphone input 1504. A filter 1514 filters the acoustic signal which is output from the filter 1512. The filter 1514 adjusts the gain, phase, and can also shape the frequency response of the acoustic signal. Following the filter 1514, in some embodiments additional filtering is provided by a filter 1516. Some microphones have non-flat responses as a function of frequency. In such a case, it can be desirable to flatten the frequency response of the microphone with a de-emphasis filter. The filter 1516 can provide de-emphasis, thereby flattening a microphone's frequency response. Following de-emphasis filtering by the filter 1516, a reference microphone channel is supplied to the adaptive noise cancellation unit at 1518a and to the desired voice activity detector at 1518b.
Optionally, a third microphone channel is input at 1504b into the beamforming block 1506. Similar to the signal path described above for the channel 1504, the third microphone channel is filtered by a filter 1512b. Depending on the type of microphone used and the specific application, the filter 1512b can provide a direct current (DC) blocking filter which filters the DC and very low frequency components of Microphone input 1504b. A filter 1514b filters the acoustic signal which is output from the filter 1512b. The filter 1514b adjusts the gain, phase, and can also shape the frequency response of the acoustic signal. Following the filter 1514b, in some embodiments additional filtering is provided by a filter 1516b. Some microphones have non-flat responses as a function of frequency. In such a case, it can be desirable to flatten the frequency response of the microphone with a de-emphasis filter. The filter 1516b can provide de-emphasis, thereby flattening a microphone's frequency response. Following de-emphasis filtering by the filter 1516b, a second reference microphone channel is supplied to the adaptive noise cancellation unit at 1520a and to the desired voice activity detector at 1520b
A beam pattern is created for a reference channel using a third microphone 1552 and a fourth microphone 1558. A signal 1554 output from the third microphone 1552 is input to an adder 1556. A signal 1560 output from the fourth microphone 1558 has its amplitude adjusted at a block 1562 and its phase adjusted by applying a delay at a block 1564 resulting in a signal 1566 which is input to the adder 1556. The adder 1556 subtracts one signal from the other resulting in output signal 1568. Output signal 1568 has a beam pattern which can take on a variety of forms depending on the initial beam patterns of microphone 1552 and 1558 and the gain applied at 1562 and the delay applied at 1564. By way of non-limiting example, beam patterns can include cardioid, dipole, etc.
Many environments that acoustic systems employing embodiments of the invention are used in present reverberant conditions. Reverberation results in a form of noise and contributes to the undesired audio which is the object of the filtering and signal extraction described herein. In various embodiments, the two channel adaptive FIR filtering represented at 1600 models the reverberation between the two channels and the environment they are used in. Thus, undesired audio propagates along the direct path and the reverberant path requiring the adaptive FIR filter to model the impulse response of the environment. Various approximations of the impulse response of the environment can be made depending on the degree of precision needed. In one non-limiting example, the amount of delay is approximately equal to the impulse response time of the environment. In another non-limiting example, the amount of delay is greater than an impulse response of the environment. In one embodiment, an amount of delay is approximately equal to a multiple n of the impulse response time of the environment, where n can equal 2 or 3 or more for example. Alternatively, an amount of delay is not an integer number of impulse response times, such as for example, 0.5, 1.4, 2.75, etc. For example, in one embodiment, the filter length is approximately equal to twice the delay chosen for 1606. Therefore, if an adaptive filter having 200 taps is used, the length of the delay 1606 would be approximately equal to a time delay of 100 taps. A time delay equivalent to the propagation time through 100 taps is provided merely for illustration and does not imply any form of limitation to embodiments of the invention.
Embodiments of the invention can be used in a variety of environments which have a range of impulse response times. Some examples of impulse response times are given as non-limiting examples for the purpose of illustration only and do not limit embodiments of the invention. For example, an office environment typically has an impulse response time of approximately 100 milliseconds to 200 milliseconds. The interior of a vehicle cabin can provide impulse response times ranging from 30 milliseconds to 60 milliseconds. In general, embodiments of the invention are used in environments whose impulse response times can range from several milliseconds to 500 milliseconds or more.
The adaptive filter unit 1600 is in communication at 1614 with inhibit logic such as inhibit logic 1214 and filter control signal 1114 (
Inhibit logic, described in
If the main channel and the reference channels are active and desired audio is detected or a pause threshold has not been reached then adaptation is disabled, with filter coefficients frozen, and the signal on the reference channel 1602 is filtered by the filter 1608 subtracted from the main channel 1607 with adder 1610 and is output at 1616.
If the main channel and the reference channel are active and desired audio is not detected and the pause threshold (also called pause time) is exceeded then filter coefficients are adapted. A pause threshold is application dependent. For example, in one non-limiting example, in the case of Automatic Speech Recognition (ASR) the pause threshold can be approximately a fraction of a second.
The first signal path 1807a includes a short-term power calculator 1810. Short-term power calculator 1810 is implemented in various embodiments as a root mean square (RMS) measurement, a power detector, an energy detector, etc. Short-term power calculator 1810 can be referred to synonymously as a short-time power calculator 1810. The short-term power detector 1810 calculates approximately the instantaneous power in the filtered signal. The output of the short-term power detector 1810 (Y1) is input into a signal compressor 1812. In various embodiments compressor 1812 converts the signal to the Log2 domain, Log10 domain, etc. In other embodiments, the compressor 1812 performs a user defined compression algorithm on the signal Y1.
Similar to the first signal path described above, acoustic signals from a reference acoustic channel are input at 1804, from for example, a beamformer or from a reference acoustic channel as described above in conjunction with the previous figures, to a second signal path 1807b of the dual input desired voice detector 1806. The second signal path 1807b includes a voice band filter 1816. The voice band filter 1816 captures the majority of the desired voice energy in the reference acoustic channel 1804. In various embodiments, the voice band filter 1816 is a band-pass filter characterized by a lower corner frequency an upper corner frequency and a roll-off from the upper corner frequency as described above for the first signal path and the voice-band filter 1808.
The second signal path 1807b includes a short-term power calculator 1818. Short-term power calculator 1818 is implemented in various embodiments as a root mean square (RMS) measurement, a power detector, an energy detector, etc. Short-term power calculator 1818 can be referred to synonymously as a short-time power calculator 1818. The short-term power detector 1818 calculates approximately the instantaneous power in the filtered signal. The output of the short-term power detector 1818 (Y2) is input into a signal compressor 1820. In various embodiments compressor 1820 converts the signal to the Log2 domain, Log10 domain, etc. In other embodiments, the compressor 1820 performs a user defined compression algorithm on the signal Y2.
The compressed signal from the second signal path 1822 is subtracted from the compressed signal from the first signal path 1814 at a subtractor 1824, which results in a normalized main signal at 1826 (Z). In other embodiments, different compression functions are applied at 1812 and 1820 which result in different normalizations of the signal at 1826. In other embodiments, a division operation can be applied at 1824 to accomplish normalization when logarithmic compression is not implemented. Such as for example when compression based on the square root function is implemented.
The normalized main signal 1826 is input to a single channel normalized voice threshold comparator (SC-NVTC) 1828, which results in a normalized desired voice activity detection signal 1830. Note that the architecture of the dual channel voice activity detector provides a detection of desired voice using the normalized desired voice activity detection signal 1830 that is based on an overall difference in signal-to-noise ratios for the two input channels. Thus, the normalized desired voice activity detection signal 1830 is based on the integral of the energy in the voice band and not on the energy in particular frequency bins, thereby maintaining linearity within the noise cancellation units described above. The compressed signals 1814 and 1822, utilizing logarithmic compression, provide an input at 1826 (Z) which has a noise floor that can take on values that vary from below zero to above zero (see column 1895c, column 1895d, or column 1895e
The third signal path 1807c includes a short-term power calculator 1854. Short-term power calculator 1854 is implemented in various embodiments as a root mean square (RMS) measurement, a power detector, an energy detector, etc. Short-term power calculator 1854 can be referred to synonymously as a short-time power calculator 1854. The short-term power detector 1854 calculates approximately the instantaneous power in the filtered signal. The output of the short-term power detector 1854 is input into a signal compressor 1856. In various embodiments compressor 1856 converts the signal to the Log2 domain, Log10 domain, etc. In other embodiments, the compressor 1854 performs a user defined compression algorithm on the signal Y3.
The compressed signal from the third signal path 1858 is subtracted from the compressed signal from the first signal path 1814 at a subtractor 1860, which results in a normalized main signal at 1862 (Z2). In other embodiments, different compression functions are applied at 1856 and 1812 which result in different normalizations of the signal at 1862. In other embodiments, a division operation can be applied at 1860 when logarithmic compression is not implemented. Such as for example when compression based on the square root function is implemented.
The normalized main signal 1862 is input to a single channel normalized voice threshold comparator (SC-NVTC) 1864, which results in a normalized desired voice activity detection signal 1868. Note that the architecture of the multi-channel voice activity detector provides a detection of desired voice using the normalized desired voice activity detection signal 1868 that is based on an overall difference in signal-to-noise ratios for the two input channels. Thus, the normalized desired voice activity detection signal 1868 is based on the integral of the energy in the voice band and not on the energy in particular frequency bins, thereby maintaining linearity within the noise cancellation units described above. The compressed signals 1814 and 1858, utilizing logarithmic compression, provide an input at 1862 (Z2) which has a noise floor that can take on values that vary from below zero to above zero (see column 1895c, column 1895d, or column 1895e
The desired voice detector 1848, having a multi-channel input with at least two reference channel inputs, provides two normalized desired voice activity detection signals 1868 and 1870 which are used to output a desired voice activity signal 1874. In one embodiment, normalized desired voice activity detection signals 1868 and 1870 are input into a logical OR-gate 1872. The logical OR-gate outputs the desired voice activity signal 1874 based on its inputs 1868 and 1870. In yet other embodiments, additional reference channels can be added to the desired voice detector 1848. Each additional reference channel is used to create another normalized main channel which is input into another single channel normalized voice threshold comparator (SC-NVTC) (not shown). An output from the additional single channel normalized voice threshold comparator (SC-NVTC) (not shown) is combined with 1874 via an additional exclusive OR-gate (also not shown) (in one embodiment) to provide the desired voice activity signal which is output as described above in conjunction with the preceding figures. Utilizing additional reference channels in a multi-channel desired voice detector, as described above, results in a more robust detection of desired audio because more information is obtained on the noise field via the plurality of reference channels.
In various embodiments, the components of the multi-input desired voice detector, such as shown in
The first signal path 1905a includes a long-term power calculator 1908. Long-term power calculator 1908 is implemented in various embodiments as a root mean square (RMS) measurement, a power detector, an energy detector, etc. Long-term power calculator 1908 can be referred to synonymously as a long-time power calculator 1908. The long-term power calculator 1908 calculates approximately the running average long-term power in the filtered signal. The output 1909 of the long-term power calculator 1908 is input into a divider 1917. A control signal 1914 is input at 1916 to the long-term power calculator 1908. The control signal 1914 provides signals as described above in conjunction with the desired audio detector, e.g.,
Acoustic signals are input at 1904b into a voice-band filter 1910 of the second signal path 1905b. The voice band filter 1910 captures the majority of the desired voice energy in the second acoustic channel 1904a. In various embodiments, the voice band filter 1910 is a band-pass filter characterized by a lower corner frequency an upper corner frequency and a roll-off from the upper corner frequency. In various embodiments, the lower corner frequency can range from 50 to 300 Hz depending on the application. For example, in wide band telephony, a lower corner frequency is approximately 50 Hz. In standard telephony the lower corner frequency is approximately 300 Hz. The upper corner frequency is chosen to allow the filter to pass a majority of the speech energy picked up by a relatively flat portion of the microphone's frequency response. Thus, the upper corner frequency can be placed in a variety of locations depending on the application. A non-limiting example of one location is 2,500 Hz. Another non-limiting location for the upper corner frequency is 4,000 Hz.
The second signal path 1905b includes a long-term power calculator 1912. Long-term power calculator 1912 is implemented in various embodiments as a root mean square (RMS) measurement, a power detector, an energy detector, etc. Long-term power calculator 1912 can be referred to synonymously as a long-time power calculator 1912. The long-term power calculator 1912 calculates approximately the running average long-term power in the filtered signal. The output 1913 of the long-term power calculator 1912 is input into a divider 1917. A control signal 1914 is input at 1916 to the long-term power calculator 1912. The control signal 1916 provides signals as described above in conjunction with the desired audio detector, e.g.,
In one embodiment, the output 1909 is normalized at 1917 by the output 1913 to produce an amplitude correction signal 1918. In one embodiment, a divider is used at 1917. The amplitude correction signal 1918 is multiplied at multiplier 1920 times an instantaneous value of the second microphone signal on 1904a to produce a corrected second microphone signal at 1922.
In another embodiment, alternatively the output 1913 is normalized at 1917 by the output 1909 to produce an amplitude correction signal 1918. In one embodiment, a divider is used at 1917. The amplitude correction signal 1918 is multiplied by an instantaneous value of the first microphone signal on 1902a using a multiplier coupled to 1902a (not shown) to produce a corrected first microphone signal for the first microphone channel 1902a. Thus, in various embodiments, either the second microphone signal is automatically balanced relative to the first microphone signal or in the alternative the first microphone signal is automatically balanced relative to the second microphone signal.
It should be noted that the long-term averaged power calculated at 1908 and 1912 is performed when desired audio is absent. Therefore, the averaged power represents an average of the undesired audio which typically originates in the far field. In various embodiments, by way of non-limiting example, the duration of the long-term power calculator ranges from approximately a fraction of a second such as, for example, one-half second to five seconds to minutes in some embodiments and is application dependent.
With reference to
The first signal path 1905a includes a long-term power calculator 1908. Long-term power calculator 1908 is implemented in various embodiments as a root mean square (RMS) measurement, a power detector, an energy detector, etc. Long-term power calculator 1908 can be referred to synonymously as a long-time power calculator 1908. The long-term power calculator 1908 calculates approximately the running average long-term power in the filtered signal. The output 1909b of the long-term power calculator 1908 is input into a divider 1917. A control signal 1914 is input at 1916 to the long-term power calculator 1908. The control signal 1914 provides signals as described above in conjunction with the desired audio detector, e.g.,
Acoustic signals are input at 1956b into a voice-band filter 1910 of the second signal path 1905b. The voice band filter 1910 captures the majority of the desired voice energy in the second acoustic channel 1956a. In various embodiments, the voice band filter 1910 is a band-pass filter characterized by a lower corner frequency an upper corner frequency and a roll-off from the upper corner frequency. In various embodiments, the lower corner frequency can range from 50 to 300 Hz depending on the application. For example, in wide band telephony, a lower corner frequency is approximately 50 Hz. In standard telephony the lower corner frequency is approximately 300 Hz. The upper corner frequency is chosen to allow the filter to pass a majority of the speech energy picked up by a relatively flat portion of the microphone's frequency response. Thus, the upper corner frequency can be placed in a variety of locations depending on the application. A non-limiting example of one location is 2,500 Hz. Another non-limiting location for the upper corner frequency is 4,000 Hz.
The second signal path 1905b includes a long-term power calculator 1912. Long-term power calculator 1912 is implemented in various embodiments as a root mean square (RMS) measurement, a power detector, an energy detector, etc. Long-term power calculator 1912 can be referred to synonymously as a long-time power calculator 1912. The long-term power calculator 1912 calculates approximately the running average long-term power in the filtered signal. The output 1913b of the long-term power calculator 1912 is input into the divider 1917. A control signal 1914 is input at 1916 to the long-term power calculator 1912. The control signal 1916 provides signals as described above in conjunction with the desired audio detector, e.g.,
In one embodiment, the output 1909b is normalized at 1917 by the output 1913b to produce an amplitude correction signal 1918b. In one embodiment, a divider is used at 1917. The amplitude correction signal 1918b is multiplied at multiplier 1920 times an instantaneous value of the second microphone signal on 1956a to produce a corrected second microphone signal at 1922b.
In another embodiment, alternatively the output 1913b is normalized at 1917 by the output 1909b to produce an amplitude correction signal 1918b. In one embodiment, a divider is used at 1917. The amplitude correction signal 1918b is multiplied by an instantaneous value of the first microphone signal on 1954a using a multiplier coupled to 1954a (not shown) to produce a corrected first microphone signal for the first microphone channel 1954a. Thus, in various embodiments, either the second microphone signal is automatically balanced relative to the first microphone signal or in the alternative the first microphone signal is automatically balanced relative to the second microphone signal.
It should be noted that the long-term averaged power calculated at 1908 and 1912 is performed when desired audio is absent. Therefore, the averaged power represents an average of the undesired audio which typically originates in the far field. In various embodiments, by way of non-limiting example, the duration of the long-term power calculator ranges from approximately a fraction of a second such as, for example, one-half second to five seconds to minutes in some embodiments and is application dependent.
Embodiments of the auto-balancing component 1902 or 1952 are configured for auto-balancing a plurality of microphone channels such as is indicated in
In 1960b a filter function 1978a is shown plotted with an amplitude 1976 plotted as a function of frequency 1964. In various embodiments, the filter function is chosen to eliminate the non-flat portion 1974 of a microphone's response. Filter function 1978a is characterized by a lower corner frequency 1978b and an upper corner frequency 1978c. The filter function of 1960b is applied to the two microphone signals 1966a and 1968a and the result is shown in 1960c.
In 1960c filtered representations 1966c and 1968c of microphone signals 1966a and 1968a are plotted as a function of amplitude 1980 and frequency 1966. A difference 1972 characterizes the difference in sensitivity between the two filtered microphone signals 1966c and 1968c. It is this difference between the two microphone responses that is balanced by the systems described above in conjunction with
In various embodiments, the components of auto-balancing component 1903 or 1952 are implemented in an integrated circuit device, which may include an integrated circuit package containing the integrated circuit. In some embodiments, auto-balancing components 1903 or 1952 are implemented in a single integrated circuit die. In other embodiments, auto-balancing components 1903 or 1952 are implemented in more than one integrated circuit die of an integrated circuit device which may include a multi-chip package containing the integrated circuit.
Thus, in various embodiments, acoustic signal data is received at 2129 for processing by the acoustic signal processing system 2100. Such data can be transmitted at 2132 via communications interface 2130 for further processing in a remote location. Connection with a network, such as an intranet or the Internet is obtained via 2132, as is recognized by those of skill in the art, which enables the acoustic signal processing system 2100 to communicate with other data processing devices or systems in remote locations.
For example, embodiments of the invention can be implemented on a computer system 2100 configured as a desktop computer or work station, on for example a WINDOWS® compatible computer running operating systems such as WINDOWS® XP Home or WINDOWS® XP Professional, Linux, Unix, etc. as well as computers from APPLE COMPUTER, Inc. running operating systems such as OS X, etc. Alternatively, or in conjunction with such an implementation, embodiments of the invention can be configured with devices such as speakers, earphones, video monitors, etc. configured for use with a BLUETOOTH communication channel. In yet other implementations, embodiments of the invention are configured to be implemented by mobile devices such as a smart phone, a tablet computer, a wearable device, such as eye glasses, a near-to-eye (NTE) headset, a wrist wearable device including but not limited to a wristband, a watch, a bracelet, etc. or the like.
For purposes of discussing and understanding the embodiments of the invention, it is to be understood that various terms are used by those knowledgeable in the art to describe techniques and approaches. Furthermore, in the description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one of ordinary skill in the art that the present invention may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention. These embodiments are described in sufficient detail to enable those of ordinary skill in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, and other changes may be made without departing from the scope of the present invention.
Some portions of the description may be presented in terms of algorithms and symbolic representations of operations on, for example, data bits within a computer memory. These algorithmic descriptions and representations are the means used by those of ordinary skill in the data processing arts to most effectively convey the substance of their work to others of ordinary skill in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of acts leading to a desired result. The acts are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, waveforms, data, time series or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, can refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission, or display devices.
An apparatus for performing the operations herein can implement the present invention. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer, selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, hard disks, optical disks, compact disk read-only memories (CD-ROMs), and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), electrically programmable read-only memories (EPROM)s, electrically erasable programmable read-only memories (EEPROMs), FLASH memories, magnetic or optical cards, etc., or any type of media suitable for storing electronic instructions either local to the computer or remote to the computer.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method. For example, any of the methods according to the present invention can be implemented in hard-wired circuitry, by programming a general-purpose processor, or by any combination of hardware and software. One of ordinary skill in the art will immediately appreciate that the invention can be practiced with computer system configurations other than those described, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, digital signal processing (DSP) devices, network PCs, minicomputers, mainframe computers, and the like. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In other examples, embodiments of the invention as described above in Figure through
The methods of the invention may be implemented using computer software. If written in a programming language conforming to a recognized standard, sequences of instructions designed to implement the methods can be compiled for execution on a variety of hardware platforms and for interface to a variety of operating systems. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, application, driver, . . . ), as taking an action or causing a result. Such expressions are merely a shorthand way of saying that execution of the software by a computer causes the processor of the computer to perform an action or produce a result.
It is to be understood that various terms and techniques are used by those knowledgeable in the art to describe communications, protocols, applications, implementations, mechanisms, etc. One such technique is the description of an implementation of a technique in terms of an algorithm or mathematical expression. That is, while the technique may be, for example, implemented as executing code on a computer, the expression of that technique may be more aptly and succinctly conveyed and communicated as a formula, algorithm, mathematical expression, flow diagram or flow chart. Thus, one of ordinary skill in the art would recognize a block denoting A+B=C as an additive function whose implementation in hardware and/or software would take two inputs (A and B) and produce a summation output (C). Thus, the use of formula, algorithm, or mathematical expression as descriptions is to be understood as having a physical embodiment in at least hardware and/or software (such as a computer system in which the techniques of the present invention may be practiced as well as implemented as an embodiment).
Non-transitory machine-readable media is understood to include any mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium, synonymously referred to as a computer-readable medium, includes read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; except electrical, optical, acoustical or other forms of transmitting information via propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
As used in this description, “one embodiment” or “an embodiment” or similar phrases means that the feature(s) being described are included in at least one embodiment of the invention. References to “one embodiment” in this description do not necessarily refer to the same embodiment; however, neither are such embodiments mutually exclusive. Nor does “one embodiment” imply that there is but a single embodiment of the invention. For example, a feature, structure, act, etc. described in “one embodiment” may also be included in other embodiments. Thus, the invention may include a variety of combinations and/or integrations of the embodiments described herein.
Thus, embodiments of the invention can be used to reduce or eliminate undesired audio from acoustic systems that process and deliver desired audio. Some non-limiting examples of systems are, but are not limited to, use in short boom headsets, such as an audio headset for telephony suitable for enterprise call centers, industrial and general mobile usage, an in-line “ear buds” headset with an input line (wire, cable, or other connector), mounted on or within the frame of eyeglasses, a near-to-eye (NTE) headset display or headset computing device, a long boom headset for very noisy environments such as industrial, military, and aviation applications as well as a gooseneck desktop-style microphone which can be used to provide theater or symphony-hall type quality acoustics without the structural costs. Other embodiments of the invention are readily implemented in wrist wearable devices such as a wristband, a watch, a bracelet or the like.
While the invention has been described in terms of several embodiments, those of skill in the art will recognize that the invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of limiting.
This patent application is a continuation-in-part of United States Non-Provisional Patent Application titled “Dual Stage Noise Reduction Architecture For Desired Signal Extraction,” filed on Mar. 12, 2014, Ser. No. 14/207,163 which claims priority from United States Provisional Patent Application titled “Noise Canceling Microphone Apparatus,” filed on Mar. 13, 2013, Ser. No. 61/780,108 and from United States Provisional Patent Application titled “Systems and Methods for Processing Acoustic Signals,” filed on Feb. 18, 2014, Ser. No. 61/941,088. U.S. Provisional Patent Application Ser. No. 61/780,108 is hereby incorporated by reference. U.S. Provisional Patent Application Ser. No. 61/941,088 is hereby incorporated by reference. U.S. Non-Provisional patent application Ser. No. 14/207,163 is hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
9432768 | O'Neill | Aug 2016 | B1 |
20120051548 | Visser | Mar 2012 | A1 |
20140301558 | Fan | Oct 2014 | A1 |
Number | Date | Country | |
---|---|---|---|
20160140949 A1 | May 2016 | US |
Number | Date | Country | |
---|---|---|---|
61941088 | Feb 2014 | US | |
61780108 | Mar 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14207163 | Mar 2014 | US |
Child | 14886054 | US |