The present invention relates to respiration monitoring and, more particularly, improving accuracy in respiration parameter estimation through superior classification of events as between respiration events and noise events.
Respiration is an important vital sign. Abnormal breathing, as reflected by a high or low respiration rate or inspiration to expiration ratio (I:E) or other respiration parameter, can indicate a current or imminent acute health problem, such as an asthma attack or cardiac arrest. Respiration monitoring devices monitor breathing in real-time to enable timely detection of these problems.
Different kinds of respiration monitoring devices are known. One class of devices monitors end-tidal carbon dioxide (EtCO2) expelled by a patient. Another monitors air pressure through the patient's airways. Another monitors breath sounds emanating from the patient's body. Still others monitor chest movement associated with a patient's breathing using a belt, Doppler detector or video camera. A common feature of respiration monitoring devices is that they generate a signal that is scanned to identify respiration events (i.e. inspiration and expiration) as a function of time from which respiration parameters, such as respiration rate and I:E, can be estimated.
One task performed by respiration monitoring devices that is essential for accurate respiration parameter estimation is proper event classification, that is, distinguishing between respiration events and noise events in the signal. Various techniques have been employed for this purpose. These techniques often scan the signal and classify events having certain threshold attributes, such as a mean amplitude, width and area within a certain range, as respiration events. Events that do not have these threshold attributes are removed from the signal or otherwise ignored when computing the respiration parameters.
A significant limitation of these threshold-driven event classification techniques is their failure to account for contextual differences that can affect how events are expressed in the signal. In some cases, an event having threshold attributes typical of a noise event may be a respiration event. In other cases, an event having threshold attributes typical of a respiration event may be noise emanating from the patient or surrounding environment.
The present invention provides a respiration monitoring method and device with context-aware noise detection. The present invention uses context supplied by neighboring events when deciding how to classify a target event. More particularly, the present invention considers similarities between a target event and neighboring events relative to event attributes and timing to inform the decision whether to classify the target event as a respiration event or a noise event. Target events classified as noise events are removed from the respiration signal or otherwise ignored when estimating respiration parameters.
In one aspect of the invention, a respiration monitoring device comprises a body sensor configured to sense respiration activity and generate a respiration signal representing the respiration activity; an event identification engine configured to identify candidate respiration events in the respiration signal; an event classification engine configured to select individual target events from the candidate respiration events, compute an attribute similarity metric for each of the target events by comparing a target value of an attribute of the target event with a reference value for the attribute determined from one or more events neighboring the target event, and classify the target event as one of a noise event or a respiration event using the attribute similarity metric; a respiration parameter estimator configured to compute a respiration parameter estimate using the target events classified as respiration events; and a respiration data output interface configured to output respiration data using the respiration parameter estimate.
In some embodiments, the attribute similarity metric is computed as a quotient of the target value and the reference value.
In some embodiments, the target event is classified using a result of a comparison of the attribute similarity metric with a threshold value.
In some embodiments, the target event is classified using a result of a comparison of the attribute similarity metric and a timing similarity metric with a threshold value.
In some embodiments, the reference value is selected as a value of the attribute for one of the neighboring events which is most similar to the values of the attribute for the other neighboring events.
In some embodiments, the attribute is mean event amplitude.
In some embodiments, the attribute is event width.
In some embodiments, the attribute is event area.
In some embodiments, the timing similarity metric is computed using a respiration period and respiration phase interval associated with the target event.
In some embodiments, the body sensor is a sound sensor.
In some embodiments, the respiration parameter is respiration rate.
In some embodiments, the event classification engine is further configured to be able to classify at least one of the candidate respiration events as a noise event using a result of a comparison of a value of an attribute of the candidate respiration event with a threshold value of the attribute.
In another aspect of the invention, respiration monitoring method for a respiration monitoring device having a body sensor comprises sensing, by the body sensor, respiration activity; generating, by the device, a respiration signal representing the respiration activity; identifying, by the device, candidate respiration events in the respiration signal; selecting, by the device, individual target events from the candidate respiration events; computing, by the device, an attribute similarity metric for each of the target events by comparing a target value of an attribute of the target event with a reference value for the attribute determined from one or more events neighboring the target event; classifying, by the device, the target event as one of a noise event or a respiration event using the attribute similarity metric; computing, by the device, a respiration parameter estimate using the target events classified as respiration events; and outputting, by the device, respiration data using the respiration parameter estimate.
These and other aspects of the invention will be better understood by reference to the following detailed description taken in conjunction with the drawings that are briefly described below. Of course, the invention is defined by the appended claims.
In operation, sensor 110 is positioned on or adjacent the body of a human subject, such as at the subject's chest or tracheal notch. Sensor 110 has a sound transducer, such as a microphone, that continually detects local sound waves including breath sounds as well as noise, converts the sound waves into digital samples representing the sounds and generates a continuous respiration signal from the digital samples. In addition to a sound transducer, sensor 110 may include one or more amplifiers, filters and an analog/digital converter which assist in generating the respiration signal. Sensor 110 transmits the respiration signal to identification engine 120. The respiration signal received by identification engine 120 expresses the subject's breathing sequence in the form of inspiration and expiration events as well as expressing randomly occurring noise events, such as coughing, talking and other impulse sounds.
Identification engine 120 filters and rectifies the respiration signal and generates an energy envelope of the signal. Identification engine 120 may perform other preparatory operations on the respiration signal, such as noise spike removal. Identification engine 120 proceeds to identify candidate respiration events in the respiration signal by scanning the signal for attributes and patterns that match respiration event definitions. Candidate respiration events include candidate inspiration events and candidate expiration events. In some embodiments, identification engine 120 identifies candidate respiration events in the respiration signal as described in application Ser. No. 14/231,275 entitled “METHOD AND ENGINE FOR DEFINING RESPIRATION EVENTS IN BODY SENSOR SIGNALS,” filed Mar. 31, 2014 (hereinafter “the '275 Application”), which is commonly owned with the present application and is incorporated herein by reference. Identification engine 120 conveys results of candidate respiration event identification to classification engine 130. For example, identification engine 120 may store information identifying the boundaries of candidate respiration events in a candidate event list that is accessible to classification engine 130.
Threshold detector 210 detects obvious noise events among the candidate respiration events within the buffered segment by identifying threshold violations. Detector 210 detects events having attributes that are physiologically impossible or highly improbable and can therefore be classified as noise without the need to consider context supplied by neighboring events. Detector 210 compares values of different attributes of candidate respiration events with maximum and minimum threshold values for those attributes. The threshold values are set to levels that are physiologically impossible or highly improbable for respiration events. When a value of an attribute of a candidate respiration event is above the maximum threshold or below the minimum threshold value for the attribute, the event is labeled as a noise event and is either removed from the respiration signal or otherwise ignored by subsequent processing elements, such as context detector 220 and respiration parameter estimator 140.
Delete=(MeanTarget>(300*MeanNoise Floor))
Next, detector 210 detects among the remaining candidate respiration events in the buffered segment events that are physiologically too narrow to be respiration events (330). Physiologically too narrow events are events that have too short a duration to be respiration events, based on the empirical observation that breathing takes a minimum amount of time to perform. In this check, the width of an event WidthTarget, which represents the duration of the event, is compared with a predetermined width threshold. If the event width is less than the predetermined width threshold, the event is labeled a noise event and is removed from the signal or otherwise ignored by subsequent processing elements. The predetermined multiple may be set to 100 milliseconds, in which case the check is expressed mathematically as
Delete=(WidthTarget<100 mS)
Next, detector 210 detects among the remaining candidate respiration events in the buffered segment events having physiologically too small of an area to be respiration events (330). Physiologically too small area events are events that have too small of an area to be respiration events, based on the empirical observation that breathing requires a minimum amount of air to be transported through the trachea, which is roughly equal to the area represented by the product of the mean amplitude and the duration of the event. In this check, the product of the mean amplitude of an event MeanTarget and the width of the event WidthTarget is compared with a predetermined multiple of a local noise threshold MeanNoiseFloor near the event. If the product is greater than the predetermined multiple of the local noise threshold, the event is labeled a noise event and is removed from the signal or otherwise ignored by subsequent processes. The predetermined multiple may be set to 200 milliseconds, in which case the check is expressed mathematically as
Delete=((MeanTarget*WidthTarget)>(MeanNoise Floor*200 mS))
In some embodiments, the threshold checks described above are performed in a different order.
Contextual detector 220 detects further noise events among the remaining candidate respiration events within the buffered segment using context supplied by neighboring events. In a respiration signal, respiration events which are close in time tend to have similar attributes and timing patterns. Context detector 220 considers similarities in terms of attributes and timing patterns between target events being evaluated and neighboring events to detect events that are likely to be noise given the extent of dissimilarity with their neighbors. When a candidate respiration event is labeled as noise event through contextual noise event detection, the event is removed from the respiration signal or otherwise ignored by subsequent processing elements including respiration parameter estimator 140.
Contextual detector 220 performs contextual noise event detection checks on each candidate respiration event within the buffered segment that was not labeled a noise segment by threshold detector 210. Moreover, each check is performed twice on each event, both using past context from neighboring events that precede the event and using future context from neighboring events that follow the event. Detector 220 labels an event as a noise event only if the event fails both instances of the check.
While the different contextual noise event detection checks performed by detector 220 evaluate different attributes, such as mean amplitude, width and area, a common objective of these checks is determining the similarity between a target event being evaluated and neighboring events relative to the attribute under consideration. As a result, these checks have certain generic features that can be abstracted, such as calculating a reference value for the attribute from neighboring events, calculating an attribute similarity metric between the target event and neighboring events relative to the attribute using the reference value and labeling the target event as a noise event if the target event and the neighboring events are too dissimilar with regard to the attribute.
Turning to
The similarity metric is then weighted by multiplying the similarity metric by the mean amplitude of the neighboring event (625), which favors higher amplitude events that are less likely to be noise in the LMSS selection process. Steps 615-625 are then repeated to compare the LMSS candidate with other neighboring events. Once weighted similarity metrics have been computed between the LMSS candidate and all other neighboring events, a normalized group similarity metric is computed for the LMSS candidate across all of the neighboring events as the normalized sum of all weighted similarity metrics (630). Steps 610-630 are then repeated considering other neighboring events as LMSS candidates. Once group similarity metrics have been computed for all LMSS candidates, the LMSS candidate having the highest group similarity metric is selected as the LMSS and its value in relation to the attribute is selected as the LMSS reference value (635).
Returning to
Next, detector 220 computes a timing similarity metric for the target event, if required by the particular contextual noise event check being performed (530). In a respiration signal, respiration events which are close in time tend to not only have similar attributes but also tend to exhibit regular timing patterns, such as regular respiration periods and respiration phase intervals. Accordingly, certain contextual noise event detection checks consider a timing similarity metric in conjunction with an attribute similarity metric to inform the decision whether to classify the target event as a noise event. The timing similarity metric indicates whether the target event makes timing patterns more or less regular, which informs whether the target event is a respiration event or a noise event.
Because the timing similarity metric reflects how the target event affects both the respiration period and the respiration phase interval, period and interval similarity metrics are first separately computed and are then combined to generate the timing similarity metric. Moreover, the timing similarity metric is computed twice for each target event, both using context from neighboring events that precede the target event to compute a pre-event timing similarity metric and using context from neighboring events that follow the target event to compute a post-event timing similarity metric.
Turning now to
At the outset of the method, detector 220 selects the target event being evaluated (705) and determines the pre-event LMSS reference period (710). The pre-event LMSS reference period is determined by computing a group similarity metric for each pre-event period individually and designating the period having the highest group similarity metric as the LMSS reference period. For example, in
Next, detector 220 computes the nearest earlier period to the target event, ignoring the target event as noise (715). For example, returning to
Next, detector 220 computes the similarity metric between the period computed in Step 715 and the LMSS reference period computed in Step 710 (720). In particular, detector 220 computes a similarity metric deleted_period_similarity by dividing P3 by the LMSS reference period (P1 or P2). This quotient has a value close to one, indicating that the respiration period of the buffered segment is regular if target event 800 is ignored as a noise event.
Next, detector 220 computes the nearest earlier period to the target event, this time counting the target event as a valid respiration event that must be accounted for (725). For example, in
Next, detector 220 computes the similarity metric between the period computed in Step 725 and the LMSS reference period computed in Step 710 (730). In particular, detector 220 computes a similarity metric kept_period_similarity by dividing P3′ by the LMSS reference period (P1′ or P2′). This quotient has a value close to 0.67, indicating that the respiration period of the buffered segment is irregular if target event 800 is counted as a respiration event.
Turning now to
At the outset of the method, detector 220 selects the target event being evaluated (755) and determines the pre-event LMSS reference interval, ignoring the target event as noise (760). This pre-event LMSS reference interval is determined by computing a group similarity metric for each pre-event interval individually and designating the interval having the highest group similarity metric as the LMSS reference interval. For example, in
Next, detector 220 computes the nearest earlier interval to the target event, again ignoring the target event as noise (765). For example, returning to
Next, detector 220 computes the pre-event similarity metric between the interval computed in Step 765 and the LMSS reference interval computed in Step 760 (770). In particular, detector 220 computes a similarity metric deleted_adjacent_similarity by dividing B2 by the LMSS reference interval (B1 or B2). This quotient has a value close to one, confirming that the respiration interval of the buffered segment is regular if target event 800 is ignored as a noise event.
Next, detector 220 determines the pre-event LMSS reference interval, this time counting the target event as a respiration event (775). This pre-event LMSS reference interval is determined by computing a group similarity metric for each pre-event interval individually and designating the interval having the highest group similarity metric as the LMSS reference interval. In
Next, detector 220 computes the nearest earlier interval to the target event, again counting the target event as a respiration event (780). For example, returning to
Next, detector 220 computes the pre-event similarity metric between the interval computed in Step 780 and the LMSS reference interval computed in Step 775 (785). In particular, detector 220 computes a similarity metric kept_adjacent_similarity by dividing B2′ by the LMSS reference interval B1′. This quotient has a value close to 0.5, confirming that the respiration interval of the buffered segment is irregular if target event 800 is counted as a respiration event.
Finally, detector 220 computes the pre-event timing similarity metric for the target event by combining the four pre-event similarity metrics computed as described in
It bears noting that the above equation yields a value greater than one when counting the target event as a respiration event produces a more regular timing pattern, and yields a value less than one when disregarding the target event as noise produces a more regular timing pattern. In the case of target event 800 shown in
The post-event timing similarity metric for the target event is computed using post-event periods and intervals (e.g., P5-P9, A1-A3, etc.) in a manner analogous to how the pre-event timing similarity metric is computed.
Returning to
With the discussion of the generic check complete, the specific contextual noise event detection checks identified in
The contextually too large mean amplitude event check of Step 420 recognizes that target events which have (1) a larger mean amplitude MeanTarget than the LMSS reference mean amplitude MeanLMSS, (2) a mean amplitude attribute similarity metric Similarity(MeanTarget,MeanLMSS) less than a predetermined threshold value, preferably 0.1, and (3) a mean amplitude MeanTarget larger than a predetermined threshold multiple, preferably 200, of the local noise floor MeanTarget are very large compared with neighboring respiration events and thus should be classified as noise events and ignored by subsequent processing elements. This check is expressed in the following mathematical formulation:
The contextually too narrow event check of Step 430 recognizes that target events which have (1) a narrower width WidthTarget than the LMSS reference width WidthLMSS, (2) a width attribute similarity metric Similarity(WidthTarget, WidthLMSS) less than a predetermined threshold value, preferably 0.3, and (3) a timing similarity metric Timing Similarity and width attribute similarity metric Similarity(WidthTarget, WidthLMSS) product less than a predetermined threshold value, preferably 0.3, are very narrow and poorly timed compared with neighboring respiration events and thus should be classified as noise events and ignored by subsequent processing elements. This check is expressed in the following mathematical formulation:
The contextually too small area event check of Step 440 recognizes that target events which have (1) a smaller area AreaTarget than the LMSS reference area AreaLMSS, (2) an area attribute similarity metric Similarity(AreaTarget, AreaLMSS) less than a predetermined threshold value, preferably 0.1, and (3) a timing similarity metric Timing Similarity and area attribute similarity metric Similarity(AreaTarget, AreaLMSS) product less than a predetermined threshold value, preferably 0.1, are very small and poorly timed compared with neighboring respiration events and thus should be classified as noise events and ignored by subsequent processing elements. This check is expressed in the following mathematical formulation:
Finally, the contextually too small nearby event check of Step 450 recognizes that smaller events which occur too near larger respiration events cannot themselves be respiration events and should be classified as noise events and ignored by subsequent processing elements. These too small nearby events are detected using an area threshold AreaThreshold that is large near the larger event and diminishes over time. The area threshold at the boundary of the larger event is the product of the larger event's mean amplitude MeanLargerEvent and width WidthLargerEvent (or WidthLarger) divided by a scaling factor, preferably 20. The area threshold diminishes at a rate equal to the distance between the larger event and the smaller event DistanceLargerToSmaller, divided by the product of the larger event's width and a scaling factor, preferably 3.0. The area threshold computation is expressed in the following formula:
The smaller event is classified as a noise event if the smaller event has an area AreaSmaller smaller than the area threshold and a timing similarity metric Timing Similarity less than 1.0. The check is expressed in the following formula:
Delete=(AreaSmaller<AreaThreshold)&&(TimingSimilarity<1)
The small nearby event case is illustrated in
Returning now to
Identification engine 120, classification engine 130 and estimator 140 may perform their respective tasks through the execution of software instructions on a general purpose processor, through the execution of instructions by a microcontroller, in custom circuitry, or using a combination of one or more of the above.
It will be appreciated by those of ordinary skill in the art that the invention can be embodied in other specific forms without departing from the spirit or essential character hereof. For example, the respiration signal can be acquired using a non-acoustic body sensor, such as a sensor that measures end-tidal carbon dioxide (EtCO2) expelled by the subject, air pressure through the subject's airways or chest movement associated with the subject's breathing using a belt, Doppler detector or video camera. The threshold values used in the checks may require adjustment where these alternative body sensors are used. Moreover, the invention may be applied to improve parameter extraction from other types of contextually stable signals that include randomly occurring noise, such as electrocardiogram signals and walking sensor signals. The present description is therefore considered in all respects to be illustrative and not restrictive. The scope of the invention is indicated by the appended claims, and all changes that come within the meaning and range of equivalents thereof are intended to be embraced therein.