SYSTEM AND METHOD FOR SALIENCY DETECTION IN LONG-TERM ECG MONITORING
20230277111 · 2023-09-07
Inventors
Cpc classification
G16H50/20
PHYSICS
A61B5/7264
HUMAN NECESSITIES
A61B5/352
HUMAN NECESSITIES
A61B5/364
HUMAN NECESSITIES
A61B5/725
HUMAN NECESSITIES
A61B5/0022
HUMAN NECESSITIES
International classification
A61B5/364
HUMAN NECESSITIES
A61B5/352
HUMAN NECESSITIES
Abstract
There is provided a computer-implemented method for identifying abnormal QRS-complexes in an ECG signal comprising: receiving an ECG signal with detected QRS-complexes; calculating and normalizing a plurality of geometric measures of the QRS-complexes; constructing an RGB image with three two-dimensional matrices, each matrix corresponding to one of the calculated plurality of geometric measures, the geometric measures belonging to one QRS-complex have the same matrix index across the three two-dimensional matrices; transforming the RGB image to a plurality of gray-scale images; computing histograms of each of the plurality of gray-scale image; iteratively comparing every histogram peak to its previous one; and marking pixel intensities corresponding to histogram peaks with a difference value of equal or greater than a predefined threshold referred to as a saliency threshold, as salient pixels; using saliency detection for mapping salient pixels indices onto the ECG signal and classifying the salient pixel indices as abnormal QRS complexes.
Claims
1. A computer-implemented method for identifying abnormal QRS-complexes in an ECG signal comprising: receiving an ECG signal with detected QRS-complexes; calculating a plurality of geometric measures of the QRS-complexes comprising: QRS-angle, QRS-area, and QRS-height; normalizing the geometric measures; constructing an RGB image with three two-dimensional matrices, representing the R, G, and B planes of the RGB image, each matrix corresponds to one of the calculated plurality of geometric measures, the geometric measures belonging to one QRS-complex have the same matrix index across the three two-dimensional matrices; transforming the RGB image to a plurality of gray-scale images; computing histograms of each of the plurality of gray-scale image; iteratively comparing every histogram peak to its previous one; and applying saliency detection for marking pixel intensities corresponding to histogram peaks with a difference value of equal or greater than a predefined threshold, a saliency threshold (Th.sub.int1), as salient pixels; mapping salient pixels indices onto the ECG signal; and classifying respective indices on the ECG signal as abnormal QRS complexes.
2. The method of claim 1, wherein the QRS-complexes on the ECG signal are detected by: receiving the ECG signal containing QRS-complexes from a sensor; preprocessing the ECG signal to de-noise the ECG signal generating a preprocessed signal and a reference signal; computing a first difference of the preprocessed signal; calculating a Hilbert transform of the first difference generating a Hilbert transform signal with potential R-peaks of the QRS-complexes; calculating a Shannon energy transform of the Hilbert transform signal generating a Shannon energy transform signal to emphasize on the potential R-peaks of the QRS-complexes; applying histogram analysis on the Shannon transform signal to ablate samples not belonging to QRS-complexes and confirm the potential R-peaks of the QRS-complexes as R-peaks; and mapping the R-peaks onto a time-domain plot of the reference signal to detect their respective Q and R-peaks, resulting in segments each containing a Q-peak, R-peak, and S-peak representing a detected QRS-complex of the ECG signal.
3. The method of claim 1, wherein the geometric measure of QRS-angle, QRS.sup.o, is calculated using the equation
4. The method of claim 1, wherein the geometric measure of QRS-area is calculated using a trapezoidal rule.
5. The method of claim 1, wherein the geometric measures comprising QRS-height corresponds to an amplitude of an R-peak of the QRS-complex.
6. The method of claim 1, wherein transforming the RGB image to a plurality of gray-scale images through use of a range of different weight values assigned to each plane of the RGB image following the equation G.sub.image.sup.i=(wt.sub.R*R)+(Wt.sub.G*G)+(wt.sub.B*B), where G.sub.image.sup.i is the i.sup.th gray-scale image, i is 1, 2, 3, . . . , and wt.sub.R, wt.sub.G, and wt.sub.B are the weights of the R, G, and B planes of the RGB image, the sum of the weights (wt.sub.R+wt.sub.G+wt.sub.B) must equal one.
7. The method of claim 1, wherein the saliency threshold (Th.sub.int1) is iteratively adjusted based on prior experiments to identify different types of QRS-abnormalities.
8. The method of claim 2, wherein preprocessing the ECG signal comprises applying two filters generating two signals, one is a preprocessed ECG signal used to detect one or more R-peaks of the QRS-complexes, and the other is a reference ECG signal used to map the detected R-peaks onto and to detect the Q and the S-peaks of the QRS-complexes.
9. The method of claim 2, wherein the histogram analysis applied to the Shannon energy transform signal to ablate time-samples not belonging to QRS-complexes comprising: computing the histogram of the Shannon energy transform signal to determine an amplitude-band threshold; and eliminating time-samples of the Shannon energy transform signal with an amplitude lower than the amplitude-band threshold.
10. The method of claim 9, wherein non-overlapping windows are applied to the histogram analysis signal keeping only data with the maximum amplitude within the non-overlapping window.
11. The method according to claim 2, wherein detecting the Q and S-peaks after mapping the R-peaks onto the reference signal comprising: if a polarity of an R-peak in the Shannon energy transform signal was positive, the index of the minimum amplitude within a predetermined time preceding the R-peak corresponded to a Q-peak; and the index of the minimum amplitude within a second predetermined time succeeding the R-peak corresponded to an S-peak; and if the polarity of an R-peak in the Shannon energy transform signal was negative, the index of the maximum amplitude within the predetermined time preceding the R-peak corresponded to a Q-peak; and the index of the maximum amplitude within the second predetermined time succeeding the R-peak corresponded to an S-peak.
12. The method according to claim 1, wherein motion artifact and sudden-change-in-baseline are identified using saliency analysis comprising: computing the absolute maximum amplitude of the first difference of every region between the S-peak of a QRS-complex and the Q-peak of consecutive QRS-complex, SQ regions; normalizing the absolute maximum amplitudes of the SQ regions, and arranging them in a matrix form constructing a gray-scale image; computing histogram of the gray-scale image; iteratively comparing every histogram peak to its previous one; and calculating salient intensities corresponding to histogram peaks with a difference value of equal or greater than another predefined threshold, another saliency threshold (Th.sub.int2); mapping salient intensities indices onto the reference signal; and classifying respective indices on the reference signal as noise.
13. The method according to claim 1, wherein each QRS-complex is normalized through use of fast Fourier transform prior to calculating the geometric measures comprising QRS-angle, QRS-area, and QRS-height.
14. The method according to claim 1, wherein the identified abnormal QRS-complexes are marked on the ECG signal differently depending on the type of abnormality.
15. A computer-implemented method for detecting motion artifact and sudden-change-in-baseline using saliency detection in ECG signals comprising: receiving an ECG signal with pre-located QRS-complexes; computing the absolute maximum amplitude of the first difference of every region between an S-peak of a QRS-complex and a Q-peak of the consecutive QRS-complex, SQ regions; normalizing the absolute maximum amplitudes of the SQ regions; arranging in a matrix form constructing a gray-scale image; computing histogram of the gray-scale image; iteratively comparing every histogram peak to its previous one; and calculating salient intensities corresponding to histogram peaks with a difference value of more than a predefined threshold; mapping salient intensities indices onto the ECG signal; and classifying respective indices on the ECG signal as noise.
16. A computer-implemented method for identifying abnormal QRS-complexes in an ECG signal comprising: receiving an ECG signal with pre-located QRS-complexes; arranging each type of geometric measures from the QRS-complexes in a three dimensional matrix, the geometric measures belonging to a QRS-complex have the same index across the three dimensional matrix, constructing an RGB image; transforming the RGB image to a plurality of gray-scale images; computing histograms of each of the plurality of gray-scale image; iteratively comparing every histogram peak to its previous one; and applying saliency detection for calculating salient intensities corresponding to histogram peaks with a difference value of more than a predefined threshold; mapping salient intensities indices onto the ECG signal; and classifying respective indices on the ECG signal as abnormal QRS complexes.
17. A computer program product comprising a non-transient storage device comprising instructions that when executed by at least one processor a computing device, configure the computing device for identifying abnormal QRS-complexes in an ECG signal and configure the computing device to: receive an ECG signal with detected QRS-complexes; calculate a plurality of geometric measures of the QRS-complexes comprising: QRS-angle, QRS-area, and QRS-height; normalize the geometric measures; construct an RGB image with three two-dimensional matrices, representing the R, G, and B planes of the RGB image, each matrix corresponds to one of the calculated plurality of geometric measures, the geometric measures belonging to one QRS-complex have the same matrix index across the three two-dimensional matrices; transform the RGB image to a plurality of gray-scale images; compute histograms of each of the plurality of gray-scale image; iteratively comparing every histogram peak to its previous one; mark pixel intensities corresponding to histogram peaks with a difference value of equal or greater than a predefined threshold, a saliency threshold (Th.sub.int1), as salient pixels; map salient pixels indices onto the ECG signal; and classify respective indices on the ECG signal as abnormal QRS complexes.
18. A computing device comprising a processor, a non-transient storage device and a communication device where each of the storage device and the communication device is coupled to the processor, the storage device storing instructions that when executed by the processor, configure the computing device to: receive an ECG signal with detected QRS-complexes; calculate a plurality of geometric measures of the QRS-complexes comprising: QRS-angle, QRS-area, and QRS-height; normalize the geometric measures; construct an RGB image with three two-dimensional matrices, representing the R, G, and B planes of the RGB image, each matrix corresponds to one of the calculated plurality of geometric measures, the geometric measures belonging to one QRS-complex have the same matrix index across the three two-dimensional matrices; transform the RGB image to a plurality of gray-scale images; compute histograms of each of the plurality of gray-scale image; iteratively comparing every histogram peak to its previous one; mark pixel intensities corresponding to histogram peaks with a difference value of equal or greater than a predefined threshold, a saliency threshold (Th.sub.int1), as salient pixels; map salient pixels indices onto the ECG signal; and classify respective indices on the ECG signal as abnormal QRS complexes.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] These and other features of the invention will become more apparent from the following description in which reference is made to the appended drawings wherein:
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041] FIGS. 21A1, B1, C1, A2, B2, and C2 illustrate example graphs of the identification of the maximum amplitude in first difference data in the removal of residual noise from the ECG signal stage shown in
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057] While references to “an embodiment” are used herein, nothing should be implied or understood that features of one embodiment cannot be used or combined with features of another embodiment unless otherwise stated. The various systems, methods and devices shown and described herein may be used together unless otherwise stated.
DETAILED DESCRIPTION
[0058] Reference will now be made in details to embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
[0059] In at least some embodiments, the present disclosure discloses an automated system and method for detecting QRS complexes. In at least some embodiments, there is disclosed a system and method for identification of abnormal QRS-complexes. The process includes using saliency analysis to identify abnormal QRS-complexes in data acquired by an ECG recording device. Saliency analysis can also be used to identify motion artifact (MA) and sudden-change-in-baseline (SCB) noises. Each individual electronic recording device (such as a wearable ECG monitoring device) sends its raw ECG signal to the QRS processing device through a communications network. The automated systems and methods in the QRS processing device then automatically identifies abnormal QRS-complexes. Further preferably, in at least some embodiments, the processed ECG signal and detected QRS-complexes are then sent to a central server, such as the client monitoring device for subsequent diagnoses and analysis.
[0060] Saliency analysis according to one or more embodiments of the present disclosure includes extracting data from QRS-complexes of ECG signal and representing them as an image, an RGB image for identifying abnormal QRS-complexes, and a gray scale image for identifying MA and SCB noises. This process transforms an ECG signal with QRS-complexes to a single image. Each pixel of the image corresponds to a specific QRS-complex in the ECG signal. Histogram analysis is performed on the image to compare histogram peaks. When the difference between two consecutive peak values exceeds a predefined threshold, also referred to as the saliency threshold (Th.sub.int), the histogram peak with higher intensity value corresponds to salient pixel. These salient pixels belong to abnormal QRS-complexes or MA and SCB noises, depending on the type of data used to represent the image.
[0061] Referring to
[0062] The QRS processing device 108 detects QRS-complexes and identifies abnormal QRS-complexes. It receives as input, an input ECG signal 104, from the recording device via the communications network 106. The QRS processing device 108 preprocesses the input ECG signal 104 generating a preprocessed signal and keeping a reference signal. The QRS processing device 108 enhances the QRS-complexes regions and suppresses low frequency components by calculating the first difference of the preprocessed signal. R-peaks have a value of zero and become inflexion-points after calculating the first difference. Hilbert transform switches its polarity if there is an inflexion-point; therefore, applying it to the first difference reveals plausible peaks, R-peaks of the QRS-complexes in particular. Shannon energy transform is also applied to further enhance the plausible R-peaks due to its characteristic of having positive monotonicity. Further, histogram analysis is applied to ablate samples not belonging to QRS-complexes, reducing the number of falsely detected R-peaks and preserving potential R-peaks. The potential R-peaks are mapped onto the reference signal and the S and Q-peaks are detected. The three peaks represent the QRS-complexes of the input ECG signal.
[0063] The process of saliency analysis according to one or more embodiments includes representing selected data of QRS-complexes of heartbeats as an image, allowing for accurate and faster processing of abnormal QRS-complexes and MA and SCB noise identification using a visual representation. Saliency analysis is performed by transforming data into a gray-scale image and then calculating the histogram of the gray-scale image. If the difference between a histogram peak and its previous peak exceeds a predefined threshold, e.g. Th.sub.int, then that histogram peak corresponds to an undesired data, whether it is MA and SCB noise or abnormal QRS-complexes.
[0064] Saliency threshold, Th.sub.int value for abnormal QRS-complex identification could be different than Th.sub.int value for MA and SCB noise identification. Therefore, in at least some embodiments, this disclosure refers to Th.sub.int for abnormal QRS-complex identification as Th.sub.int1 and for MA and SCB noise identification as Th.sub.int2.
[0065] The data of MA and SCB noise correspond to the regions between two consecutive QRS-complexes, and the data of abnormal QRS-complexes correspond to geometric measures of the QRS-complexes.
[0066] Communication between the recording device 102, the QRS processing device 108, and the client monitoring device 112 occurs via a computer implemented communications network 106, including, for example, Dedicated Short Range Communication (DSRC), Long-Term Evolution (LTE), 5G, across a network such as the Internet or other well-known communication standards.
[0067] Referring to
[0068] Referring again to
[0069] Referring to recording devices 102, examples can include but are not limited to: a Holter ECG recording or a wearable ECG device. The recording device 102 communicates the captured ECG signal as input ECG signal 104 to the QRS processing device 108 through a communications network 106, including, for example, Dedicated Short Range Communication (DSRC), Long-Term Evolution (LTE), 5G, and across a network such as the Internet or other well-known communication standards.
[0070] Referring to the client monitoring device 112 shown in
[0071] Referring to the QRS processing device 108, an example of a QRS processing device 108 is a computing device (e.g. a portable computer, a personal computer) as shown in
[0072] Referring to
[0073] Referring to
[0074] Referring to
[0075] Referring to
[0076] The reference signal 406 is generated by preprocessing filter B 704 which involves separately filtering the input ECG signal 104 through a) a 4th order zero-phase Butterworth bandpass filter having a lower cut-off frequency of 0.5 Hz, and an upper cut-off frequency of 100 Hz, and b) a 4th order zero-phase Butterworth notch filter to remove noise.
[0077] In at least one embodiment, the reference signal 406 is the ECG signal with no filtration applied, e.g. the original ECG signal.
[0078] Both the preprocessed signal 404 and the reference signal 406 are further processed or used in subsequent steps in QRS-complex detection 304.
[0079] Referring back to
FD(i−1)=ECG.sub.D20(i)−ECG.sub.D20(i−1) (1)
[0080] Where ECG.sub.D20 is the preprocessed signal 404, i equals 2, 3, 4, . . . , N, and N is the length of the preprocessed signal 404 (total number of data points). FD is the first difference signal 410, and ECG.sub.D20 refers to data points within the preprocessed signal 404. The difference signal 410 enables the QRS0-complexes of the ECG signal to be more easily located.
[0081] The first difference 408 is calculated in order to enhance the QRS-complex regions and to suppress the amplitudes of the low-frequency components. Benefits to this are that the QRS-complex regions become enhanced by taking the first difference and that the R-peak, or the tip of the QRS-complex is identified by ‘zero’ value after taking the first difference. An example of the results from this stage can be seen in
[0082] Referring again to
[0083] Where H.sub.FD(t) is the Hilbert transform signal 414.
[0084] The transformation to the Hilbert transform signal 414 will result in crossing the zero-line on the x-axis every time there is an inflexion point in the input ECG signal 104. This allows for better identification of the potential QRS-complex. Consequently, a zero-crossing event in a sequence of Hilbert transform signals 414 between two consecutive positive and negative points denotes a peak in the input ECG signal 104.
[0085] Referring back to
SH(i)=−(H.sub.FD(i)).sup.2×log(H.sub.FD(i)).sup.2
[0086] Where i equals 1, 2, 3, . . . , N, and SH(i) is the Shannon energy transform signal 418 of the Hilbert transform signal 414.
[0087] The Shannon energy transformation helps with the identification of QRS-complexes even under noisy conditions by non-linearly amplifying higher amplitudes while suppressing signals with lower amplitudes.
[0088] Referring back to
[0089]
[0090] Referring back to
[0091] Since QRS-complexes are periodic, the histogram analysis 420 continues by segmenting the zero-transformed Shannon energy transform signal 418 into non-overlapping and fixed-sized windows of time 808. Ideally, the blocks of time should correspond to the maximum duration of a QRS-complex, which may, for example, be 150 milliseconds. Within each block, the maximum amplitude is determined at step 810 and only that particular datum is kept for subsequent processing; all other data are eliminated from further processing 812. The net result, the potential R data 422, is a single datum within each defined block of time representing the maximum amplitude within that particular window. The potential R-peaks data 422 are also representative of plausible R-peaks.
[0092]
[0093] Referring back to
[0094]
[0095] If the polarity of the R-peak that has been mapped against the reference signal 406 is negative, then the index of the maximum amplitude identified within the t.sub.R−t.sub.n and the t.sub.R+t.sub.n time intervals for the corresponding Q and S-peaks, respectively.
[0096] According to one embodiment, the maximum duration of a QRS-complex is assumed to be 150 milliseconds. In this case, n would be equal to 75 milliseconds such that the Q-peak would be identified in the t.sub.R−75 milliseconds time interval and the S-peak would be identified in the t.sub.R+75 milliseconds time interval.
[0097] Once each QRS-complex 906 is identified, non-QRS-complexes are pruned. This process involves establishing a minimum time interval, t.sub.SQ, between the S-peak of one QRS-complex and the Q-peak of the subsequent QRS-complex at step 904. The t.sub.SQ may be established based on factors such as the maximum heart rate. For example, if the maximum hear heart is assumed to be 240 beats/minute, then this would suggest that no two consecutive QRS-complexes could be closer than 250 milliseconds. Accordingly, in one embodiment, the t.sub.SQ may be set at 250 milliseconds.
[0098] QRS-complexes 906 shown in
[0099] From the QRS detection module 204 shown in
[0100]
d.sub.SQ.sup.k=SQ.sub.reg.sub.
[0101] Where, i varies from 2 to M, M is the length of every SQ.sub.reg, k varies from 1 to L, L is the total number of QRS-complexes, and A.sub.SQ.sup.k is the absolute-maximum amplitude of the first difference of the k.sup.th SQ.sub.reg.
[0102] More specifically, the first difference 506 of each set of residual noise data 504, corresponds to the subtraction of two regions between S.sub.i and Q.sub.i+1, e.g. consecutive regions, creating the first SQ difference 508. Then, the maximum amplitude A.sub.sq 512 of each set of first SQ difference 508 is identified in the calculation of maximum amplitude at step 510. An example of this operation can be seen in
[0103] The A.sub.SQ data 512 is further processed in the gray-scale analysis at 514, which is shown in
[0104]
[0105] Once the gray-scale image containing salient pixels is generated, the salient pixels are mapped onto the reference signal 406, and the corresponding data segments are marked as noise-contaminated at 1108. This process is executed iteratively excluding the histogram peak of the most recently detected salient intensity until there are no more peaks in the histogram with intensity difference greater than the Th.sub.int2 1110.
[0106] A visual representation showing corrupted regions in the gray-scale intensity data is shown in
[0107] Th.sub.int1 and Th.sub.int2 may be established and varied, in one embodiment, based on experimentation to determine when a pixel in a gray-scale image becomes visually salient. In another embodiment, Th.sub.int1 and Th.sub.int2 may be initially defined and subsequently dynamically adjusted via the system shown in
[0108] Referring back to
[0109]
[0110] R.sup.h corresponds to the amplitude of the R-peak, which is identified as the highest amplitude within the normalized QRS-complex. QRS.sup.a can be calculated using the trapezoidal rule. QRS.sup.o of the normalized QRS-complex is the angle created between the Q, R, and S-peaks. It can be calculated through the following equation:
[0111] Where {right arrow over (QR)} is the distance between the Q-peak and the R-peak in the triangle created by connecting the Q, R, and S-peaks. {right arrow over (RS)} is the distance between the R-peak and S-peak. A visual representation of the angle, height, and area of a QRS-complex is shown in
[0112] The QRS.sup.o is considered fairly consistent between QRS-complexes and, therefore, may function as an important indicator of abnormal QRS-complexes. Generally, the angle of an R-peak is much less than the angle of other peaks in QRS-complexes.
[0113] The three-dimensional geometric data 608 (QRS.sup.a, R.sup.h, and QRS.sup.o) is then converted into an RGB image 612 through RGB analysis 610. Each dimension of the geometric data corresponds to a plane in the RGB image.
[0114] Each of the normalized geometric data are then arranged in the form of a matrix or tensor which are subsequently arranged to create an RGB image 1204. The arrangement of these three matrices represents an RGB image 612. Each pixel is represented by geometric date from the same QRS-complex.
[0115] Since abnormality may be detected in any of the three R, G, and B images, the RGB to gray-scale analysis 614 uses a range of different weight values rather than fixed weight values assigned to all the R, G, and B components. In one embodiment, the variation of different weight values is summarized and represented by the following equation and in
G.sub.image.sup.i=(wt.sub.R×R)+(wt.sub.G×G)+(wt.sub.B×B) (3)
[0116] Where G.sub.image.sup.i is the i.sup.th gray-scale image, where i is 1, 2, 3, . . . 51, and wt.sub.R, wt.sub.G, and wt.sub.B are the weights of the R, G, and B images. Each weight varies from 0.05 to 0.9, and have a step-size of 0.05. Further, the sum of the weights (wt.sub.R+wt.sub.G+wt.sub.B) must equal one.
[0117] In this particular example, this approach wherein a range of different weight values are assigned generates a set of 51 gray-scale images 616 for every unique combination of wt.sub.R, wt.sub.G, and wt.sub.B values.
[0118] In order to identify the salient pixels of each of the gray-scale images 616, the gray-scale images 616 are processed through saliency analysis 618.
[0119] The salient pixels are mapped onto the reference signal 406, and the corresponding QRS-complexes are considered abnormal 1308. This technique of identifying abnormal QRS-complexes is applied to all gray-scale images.
[0120]
[0121] After saliency analysis, the processed data become the processed ECG/QRS data 110 and represents both the noise-filtered ECG signal, as well as the indices of both the normal and abnormal QRS-complexes. This processed ECG/QRS data 110 (e.g. as shown in
[0122]
[0123] The QRS-height corresponds to the amplitude of the R-peak, which is identified as the highest amplitude within the QRS-complex. The QRS-area can be calculated using the trapezoidal rule. The QRS-angle is the angle created between the Q, R, and S-peaks, can be calculated as in equation (2), above.
[0124] Each of the three geometric data is normalized to a range between 0 and 1 3606. Each of the three normalized geometric data is then arranged into a two-dimensional matrix, which represents an image 3608. The constructed three two-dimensional images represent an RGB image 3610. This RGB image is transformed to a plurality of gray-scale images by applying equation 3, above, by assigning different weight values to wt.sub.R, wt.sub.G, and wt.sub.B using RGB to gray-scale analysis 614. The plurality of gray-scale images depends on the number of combinations of wt.sub.R, wt.sub.G, and wt.sub.B. The weight values of wt.sub.R, wt.sub.G, and wt.sub.B are of any number between 0 and 1 with the condition that the sum of the three weight values must equal to one 3612.
[0125] Salient pixels in the plurality of gray-scale images correspond to abnormal QRS-complexes 3614. In order to identify the salient pixels of each of the plurality of gray-scale images, the gray-scale images are processed through saliency analysis 618. The histogram of each gray-scale image is calculated and every peak is compared to previous peaks. If any peak of the histogram has an intensity difference greater than or equal to Th.sub.int1, then that intensity is recorded as a salient intensity. Correspondingly, the pixels of the gray-scale images with such intensity are salient pixels, which represent abnormal QRS-complexes 3616.
[0126] The salient pixels are mapped onto the reference signal 406 to locate the abnormal QRS-complexes. Different values of the saliency threshold, Th.sub.int1, identifies different types of QRS-complexes.
[0127] In another embodiment, the processed ECG/QRS data 110 may include added features or annotations which enable the patient to better understand his/her ECG signal and heart condition without the assistance of a medical professional. For example, different QRS characteristics may be indicated by different colors such that an abnormal ECG signal can be easily identified by a patient by using a reference guide of what each color represents.
[0128] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over, as one or more instructions or code, a computer-readable medium and executed by a hardware-based processing unit.
[0129] Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, e.g., according to a communication protocol. In this manner, computer-readable media generally may correspond to (1) tangible computer-readable storage media, which is non-transitory or (2) a communication medium such as a signal or carrier wave. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementation of the techniques described in this disclosure. A computer program product may include a computer-readable medium. By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using wired or wireless technologies, such are included in the definition of medium. It should be understood, however, that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to non-transient, tangible storage media.
[0130] Instructions may be executed by one or more processors, such as one or more general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), digital signal processors (DSPs), or other similar integrated or discrete logic circuitry. The term “processor,” as used herein may refer to any of the foregoing examples or any other suitable structure to implement the described techniques. In addition, in some aspects, the functionality described may be provided within dedicated software modules and/or hardware. Also, the techniques could be fully implemented in one or more circuits or logic elements. The techniques of this disclosure may be implemented in a wide variety of devices or apparatuses, an integrated circuit (IC) or a set of ICs (e.g., a chip set).
[0131] One or more currently preferred embodiments have been described by way of example. It will be apparent to persons skilled in the art that a number of variations and modifications can be made without departing from the scope of the invention as defined in the claims.