Electrocardiogram signal processing method

WO2026160732A1PCT designated stage Publication Date: 2026-07-30VUNO INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
VUNO INC
Filing Date
2026-01-12
Publication Date
2026-07-30

Smart Images

  • Figure KR2026000630_30072026_PF_FP_ABST
    Figure KR2026000630_30072026_PF_FP_ABST
Patent Text Reader

Abstract

An electrocardiogram signal processing method performed by a computing device, according to one embodiment of the present disclosure, is disclosed. The method may comprise the steps of: acquiring an electrocardiogram signal; dividing the electrocardiogram signal into a plurality of segments by using a neural network model; and applying different filters to the plurality of segments so as to generate a first filtered signal.
Need to check novelty before this filing date? Find Prior Art

Description

ECG signal processing method

[0001] The present invention relates to a signal processing method, and more specifically, to a method for processing an electrocardiogram signal.

[0002] Portable electrocardiogram (ECG) devices are highly susceptible to noise additions due to various environmental factors. For example, electromyography (EMG) noise occurs when electrical signals generated by muscle movements—such as hand or body movements—can mix with the ECG signal. Power supply noise is noise caused by electrical interference within the measurement equipment. Postural noise arises when the user assumes an incorrect posture during the measurement or when electrodes are not attached in the correct positions. Consequently, raw ECG signals are often visually unappealing or difficult to interpret.

[0003] 12-lead electrocardiogram (ECG) measurement devices used in hospitals display the ECG with noise filtering applied to the measured signal to reduce such noise. However, existing filtering technologies often apply filtering to the entire ECG signal.

[0004] Korean Patent Publication No. 10-2024-0052473 (Date of publication: April 23, 2024) discloses a method for removing noise from an electrocardiogram signal.

[0005] The present disclosure aims to provide an electrocardiogram filtering method in which different filters are applied to different sections of an electrocardiogram signal.

[0006] According to one embodiment of the present disclosure for realizing the aforementioned objectives, a method for processing an electrocardiogram signal performed by a computing device is disclosed. The method may include the steps of acquiring an electrocardiogram signal, dividing the electrocardiogram signal into a plurality of segments using a neural network model, and generating a first filtered signal by applying different filters to the plurality of segments.

[0007] In one embodiment, the step of dividing the electrocardiogram signal into the plurality of segments may include, in each cycle of the electrocardiogram signal, dividing the electrocardiogram signal into a first segment corresponding to a QRS complex interval and a second segment corresponding to an interval excluding the QRS complex interval.

[0008] In one embodiment, the step of generating the first filtering signal includes the step of applying a first filter to the first segment and the step of applying a second filter to the second segment, and the first filter may have a wider filtering frequency band than the second filter.

[0009] In one embodiment, the method may further include the step of generating a second filtered signal by performing a moving average operation on the first filtered signal.

[0010] In one embodiment, the step of generating the second filtered signal may include the step of performing the moving average operation based on each of the Q-wave start point and S-wave end point in the electrocardiogram signal.

[0011] In one embodiment, the step of generating the second filtered signal may further include the step of performing smoothing on each of the Q-wave start point and the S-wave end point to which the moving average operation is applied.

[0012] In one embodiment, the method may further include the step of generating a third filtered signal by interpolating the signal between the P-wave end point and the Q-wave start point included in the second filtered signal.

[0013] A computer program stored on a computer-readable storage medium according to one embodiment of the present disclosure for realizing the aforementioned tasks is disclosed. When the computer program is executed on one or more processors, the one or more processors are made to perform the following operations, the operations may include the operation of acquiring an electrocardiogram signal, the operation of dividing the electrocardiogram signal into a plurality of segments using a neural network model, and the operation of generating a first filtered signal by applying different filters to the plurality of segments.

[0014] A computing device according to one embodiment of the present disclosure for realizing the aforementioned task is disclosed. The device comprises at least one processor and a memory, and the at least one processor may be configured to acquire an electrocardiogram signal, divide the electrocardiogram signal into a plurality of segments using a neural network model, and generate a first filtered signal by applying different filters to the plurality of segments.

[0015] The present disclosure provides an electrocardiogram filtering method in which different filters are applied to each section of an electrocardiogram signal, thereby providing an electrocardiogram filtering method capable of preserving information about the waveform for each section of the electrocardiogram signal.

[0016] FIG. 1 is a block diagram of a computing device performing operations according to one embodiment of the present disclosure.

[0017] FIG. 2 is a schematic diagram showing a neural network according to one embodiment of the present disclosure.

[0018] FIG. 3 is a flowchart for explaining an electrocardiogram signal processing method according to one embodiment of the present disclosure.

[0019] FIG. 4 is a diagram showing the waveform of an electrocardiogram signal according to one embodiment of the present disclosure.

[0020] FIG. 5 is a conceptual diagram illustrating an electrocardiogram signal processing method according to one embodiment of the present disclosure.

[0021] FIGS. 6 and FIGS. 7 are drawings for explaining moving average and smoothing according to one embodiment of the present disclosure.

[0022] FIG. 8 is a conceptual diagram illustrating an electrocardiogram signal processing method according to another embodiment of the present disclosure.

[0023] FIG. 9 is a drawing for illustrating moving average and smoothing according to another embodiment of the present disclosure.

[0024] FIG. 10 is a brief and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

[0025] Various embodiments are now described with reference to the drawings. In this disclosure, various descriptions are provided to facilitate understanding of the disclosure. However, it is evident that these embodiments can be practiced without such specific descriptions.

[0026] As used in this disclosure, terms such as “component,” “module,” “system,” etc. refer to computer-related entities, hardware, firmware, software, combinations of software and hardware, or executions of software. For example, a component may be, but is not limited to, a procedure executed on a processor, a processor, an object, an execution thread, a program, and / or a computer. For example, both an application executed on a computing device and the computing device itself may be a component. One or more components may reside within a processor and / or an execution thread. A component may be localized within a single computer. A component may be distributed among two or more computers. Additionally, these components may be executed from various computer-readable media having various data structures stored therein. Components may communicate through local and / or remote processes, for example, according to signals having one or more data packets (e.g., data from a component interacting with another component in a local system or distributed system, and / or data transmitted through signals to other systems and networks such as the Internet).

[0027] Furthermore, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or evident from the context, "X uses A or B" is intended to mean one of the natural inclusive substitutions. In other words, if X uses A; if X uses B; or if X uses both A and B, "X uses A or B" may apply to any of these cases.

[0028] Additionally, the terms “comprising” and / or “comprising” should be understood to mean that such features and / or components are present. However, the terms “comprising” and / or “comprising” should be understood not to exclude the presence or addition of one or more other features, components and / or groups thereof. Furthermore, unless otherwise specified or clearly evident from the context to indicate a singular form, the singular in this disclosure and claims should generally be interpreted to mean “one or more.”

[0029] And, the term “at least one of A or B” should be interpreted to mean “a case including only A,” “a case including only B,” or “a case combined with the composition of A and B.”

[0030] Those skilled in the art should recognize that the various exemplary logical blocks, configurations, modules, circuits, means, logics, and algorithmic steps described in connection with the embodiments disclosed herein may be implemented in electronic hardware, computer software, or a combination of both. To clearly exemplify the interchangeability of hardware and software, various exemplary components, blocks, configurations, means, logics, modules, circuits, and steps have been generally described above in terms of their functionality. Whether such functionality is implemented in hardware or software depends on the specific application and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in various ways for each specific application. However, such decisions regarding implementation should not be construed as going beyond the scope of this disclosure.

[0031] Description of the presented embodiments is provided to enable those skilled in the art to use or practice the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art. The general principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments presented herein. The present disclosure should be interpreted in the broadest possible scope consistent with the principles and novel features presented herein.

[0032] Meanwhile, the terms “image” or “image data” used throughout the detailed description and claims of the present invention refer to multidimensional data composed of discrete image elements (e.g., pixels in a two-dimensional image), and in other words, refer to a visible object (e.g., displayed on a video screen) or a digital representation of such object (e.g., a file corresponding to the pixel output of a CT, MRI detector, etc.).

[0033] For example, "image" or "video" may be a medical image of a subject collected by computed tomography (CT), magnetic resonance imaging (MRI), ultrasound, or any other medical imaging system known in the art of the present invention. The image does not necessarily have to be provided in a medical context and may be provided in a non-medical context, such as, for example, X-ray imaging for security screening.

[0034] Throughout the detailed description and claims of the present invention, the 'DICOM (Digital Imaging and Communications in Medicine)' standard is a collective term for various standards used for digital image representation and communication in medical devices, and the DICOM standard is published by a joint committee formed by the American College of Radiological Engineers (ACR) and the National Electrical Manufacturers Association (NEMA).

[0035] In addition, throughout the detailed description and claims of the present invention, the term 'Picture Archiving and Communication System (PACS)' refers to a system that stores, processes, and transmits images in accordance with the DICOM standard, and medical images acquired using digital medical imaging equipment such as X-ray, CT, and MRI can be stored in DICOM format and transmitted to terminals inside and outside the hospital via a network, and interpretation results and medical records may be added thereto.

[0036]

[0037] FIG. 1 is a block diagram of a computing device performing operations according to one embodiment of the present disclosure.

[0038] The configuration of the computing device (100) illustrated in FIG. 1 is merely a simplified example. In one embodiment of the present disclosure, the computing device (100) may include other components for configuring a computing environment, and only some of the disclosed elements may constitute the computing device (100).

[0039] The computing device (100) may include a processor (110), memory (130), and a network unit (150).

[0040] The processor (110) may be composed of one or more cores and may include processors for data analysis and deep learning, such as a central processing unit (CPU) of a computing device, a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU). The processor (110) may read a computer program stored in memory (130) and perform data processing for machine learning according to one embodiment of the present disclosure. According to one embodiment of the present disclosure, the processor (110) may perform operations for training a neural network model. The processor (110) may perform calculations for training a neural network model, such as processing input data for training in deep learning (DL), extracting features from input data, calculating errors, and updating weights of the neural network model using backpropagation. At least one of the CPU, GPGPU, and TPU of the processor (110) may process the training of the neural network model. For example, a CPU and a GPGPU can work together to process the training of a neural network model and the classification of data using the neural network model. Additionally, in one embodiment of the present disclosure, processors of a plurality of computing devices can be used together to process the training of a neural network model and the classification of data using the neural network model. Furthermore, a computer program executed on a computing device according to one embodiment of the present disclosure may be a CPU, GPGPU, or TPU executable program.

[0041]

[0042] The processor (110) of the present disclosure may provide an electrocardiogram filtering method in which different filters are applied to different sections of an electrocardiogram signal. Generally, filters applied to an electrocardiogram signal include high-pass filters, notch filters, and low-pass filters. High-pass filters can be used to remove baseline drift from an electrocardiogram signal. Notch filters can be used to remove power noise. Low-pass filters can be used to remove unspecified high-frequency noise. In addition, there are wavelet filtering and FFT (fast Fourier transform) based filtering that separate and filter the electrocardiogram in the frequency and time axes.

[0043] The processor (110) of the present disclosure can extract significant features from an electrocardiogram signal using an electrocardiogram delineation model and divide the electrocardiogram signal into multiple intervals (or segments) based on the extracted feature information.

[0044] An electrocardiogram (ECG) technology model is a deep learning model that receives an ECG signal as input and extracts significant features from the signal. Generally, an ECG signal consists of major waveforms such as the P-wave, QRS complex, and T-wave. The ECG technology model can accurately segment the start and end points of these waveforms and extract features of each segment constituting the ECG signal. The output of the ECG technology model can be utilized to automatically analyze the ECG signal.

[0045] The present disclosure can provide an electrocardiogram filtering method in which different filters are applied to different sections of an electrocardiogram signal. Accordingly, it has the effect of providing an electrocardiogram filtering method capable of preserving information about the waveform for each section of the electrocardiogram signal.

[0046]

[0047] According to one embodiment of the present disclosure, the memory (130) can store any form of information generated or determined by the processor (110) and any form of information received by the network unit (150).

[0048] According to one embodiment of the present disclosure, the memory (130) may include at least one type of storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, a magnetic disk, and an optical disk. The computing device (100) may operate in conjunction with web storage that performs the storage function of the memory (130) on the internet. The description of the memory described above is merely an example and the present disclosure is not limited thereto.

[0049] A network unit (150) according to one embodiment of the present disclosure can use various wired communication systems such as a public switched telephone network (PSTN), xDSL (x Digital Subscriber Line), RADSL (Rate Adaptive DSL), MDSL (Multi Rate DSL), VDSL (Very High Speed ​​DSL), UADSL (Universal Asymmetric DSL), HDSL (High Bit Rate DSL), and a local area network (LAN).

[0050] In addition, the network unit (150) presented according to one embodiment of the present disclosure may use various wireless communication systems such as CDMA (Code Division Multi Access), TDMA (Time Division Multi Access), FDMA (Frequency Division Multi Access), OFDMA (Orthogonal Frequency Division Multi Access), SC-FDMA (Single Carrier-FDMA), and other systems.

[0051] In one embodiment, the network unit (150) may be configured regardless of the communication mode, such as wired or wireless, and may be configured as various communication networks, such as a Personal Area Network (PAN) or a Wide Area Network (WAN). Additionally, the network may be a known World Wide Web (WWW) and may utilize wireless transmission technologies used for short-range communication, such as Infrared Data Association (IrDA) or Bluetooth. The technologies described in this disclosure may be used in networks other than those mentioned above.

[0052]

[0053] FIG. 2 is a schematic diagram showing a neural network according to one embodiment of the present disclosure.

[0054] Throughout this disclosure, neural network, neural network model, and neural network may be used interchangeably. A neural network may consist of a set of interconnected computational units, which may generally be referred to as nodes. These nodes may also be referred to as neurons. A neural network is composed of at least one node. The nodes (or neurons) constituting the neural networks may be interconnected by one or more links.

[0055] In this case, within the neural network model, one or more nodes connected via links can form a relative relationship between an input node and an output node. The concepts of input and output nodes are relative; any node in an output node relationship with respect to one node may be in an input node relationship with respect to another node, and vice versa. As described above, the relationship between an input node and an output node can be generated based on links. One or more output nodes may be connected to a single input node via links, and vice versa.

[0056] In a relationship between an input node and an output node connected through a single link, the value of the output node's data can be determined based on the data input to the input node. Here, the link interconnecting the input node and the output node may have a weight (in this case, parameters and weights may be used interchangeably throughout this disclosure). The weight may be variable and may be varied by a user or an algorithm to perform desired functions of the neural network model (e.g., posture estimation, emotion estimation, and pain prediction). For example, if one or more input nodes are interconnected to a single output node by respective links, the output node's value may be determined based on the values ​​input to the input nodes connected to the output node and the weights set on the links corresponding to each input node.

[0057] As described above, a neural network consists of one or more nodes interconnected through one or more links, forming input-output node relationships within the network. The characteristics of a neural network can be determined by the number of nodes and links within the network, the relationships between the nodes and links, and the weight values ​​assigned to each link. For example, if two neural networks exist with the same number of nodes and links but different weight values ​​for the links, the two neural networks may be recognized as different from each other.

[0058] A neural network can be composed of a set of one or more nodes. A subset of nodes constituting a neural network can form a layer. Some of the nodes constituting a neural network can form a layer based on their distances from an initial input node. For example, a set of nodes with a distance of n from an initial input node can form n layers. The distance from the initial input node can be defined by the minimum number of links that must be traversed to reach that node from the initial input node. However, this definition of a layer is arbitrary for illustrative purposes, and the degree of a layer within a neural network can be defined in a way different from that described above. For example, a layer of nodes may be defined by its distance from a final output node.

[0059] Initial input nodes may refer to one or more nodes within a neural network to which data is directly input without passing through links in their relationships with other nodes. Alternatively, in terms of link-based relationships between nodes within the neural network, they may refer to nodes that do not have other input nodes connected by links. Similarly, final output nodes may refer to one or more nodes within a neural network that do not have output nodes in their relationships with other nodes. Furthermore, hidden nodes may refer to nodes constituting the neural network that are neither initial input nodes nor final output nodes.

[0060] A neural network according to one embodiment of the present disclosure may have the number of nodes in the input layer equal to the number of nodes in the output layer, and may be a neural network in which the number of nodes decreases and then increases again as it progresses from the input layer to the hidden layer. Additionally, a neural network according to another embodiment of the present disclosure may have the number of nodes in the input layer less than the number of nodes in the output layer, and may be a neural network in which the number of nodes decreases as it progresses from the input layer to the hidden layer. Additionally, a neural network according to yet another embodiment of the present disclosure may have the number of nodes in the input layer greater than the number of nodes in the output layer, and may be a neural network in which the number of nodes increases as it progresses from the input layer to the hidden layer. A neural network according to yet another embodiment of the present disclosure may be a neural network in which the above-described neural networks are combined.

[0061] A deep neural network (DNN) may refer to a neural network that includes multiple hidden layers in addition to input and output layers. Using a deep neural network allows for the identification of the latent structures of data. That is, it is possible to identify the latent structures of photos, text, videos, voice, and music (e.g., what objects are present in a photo, what the content and emotions of a text are, what the content and emotions of a voice are, etc.). Deep neural networks may include convolutional neural networks (CNN), recurrent neural networks (RNN), autoencoders, Generative Adversarial Networks (GAN), restricted Boltzmann machines (RBM), deep belief networks (DBN), Q networks, U networks, Siamese networks, Generative Adversarial Networks (GAN), etc. The description of deep neural networks described above is merely illustrative and the present disclosure is not limited thereto.

[0062] In one embodiment of the present disclosure, the network function may include an autoencoder. The autoencoder may be a type of artificial neural network for outputting output data similar to the input data. The autoencoder may include at least one hidden layer, and an odd number of hidden layers may be placed between the input and output layers. The number of nodes in each layer may be reduced from the number of nodes in the input layer to an intermediate layer called a bottleneck layer (encoding), and then expanded symmetrically from the bottleneck layer to the output layer (symmetrically with respect to the input layer). The autoencoder may perform non-linear dimensionality reduction. The number of input and output layers may correspond to the dimension after preprocessing of the input data. In the autoencoder structure, the number of nodes in the hidden layer included in the encoder may have a structure in which the number of nodes decreases as it moves away from the input layer. If the number of nodes in the bottleneck layer (the layer with the fewest nodes located between the encoder and decoder) is too small, a sufficient amount of information may not be transmitted, so it may be maintained at a certain number or more (e.g., more than half of the input layer).

[0063] A neural network model including a neural network can be trained in at least one of supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. Training of a neural network model may be a process of applying knowledge to the neural network model to perform a specific action.

[0064] Neural network models can be trained to minimize the error in their output. The training process involves repeatedly inputting training data into the model, calculating the error between the model's output and the target for the training data, and updating the weights of each node in the model by backpropagating the error from the output layer to the input layer in a direction that reduces the error. In the case of supervised learning, training data is used where the correct answer is labeled for each data point (i.e., labeled training data), whereas in the case of unsupervised learning, the correct answer may not be labeled for each training data point. For instance, in the case of supervised learning for data classification, the training data may consist of data where each training point is labeled with a category. Labeled training data is input into the neural network model, and the error can be calculated by comparing the model's output (category) with the labels of the training data. As another example, in the case of unsupervised learning for data classification, the error can be calculated by comparing the input training data with the neural network model's output. The calculated error is backpropagated in the neural network model (i.e., from the output layer to the input layer), and through backpropagation, the connection weights of each node in each layer of the neural network model can be updated. The amount of change in the connection weights of each updated node can be determined by the learning rate. The computation of the neural network model on input data and the backpropagation of the error can constitute an epoch. The learning rate can be applied differently depending on the number of iterations of the neural network model's epoch. For example, a high learning rate can be used in the early stages of training to quickly achieve a certain level of performance and increase efficiency, while a low learning rate can be used in the later stages to improve accuracy.

[0065] In the training of neural network models, training data is generally a subset of real-world data (i.e., the data intended to be processed using the trained neural network model). Consequently, there may exist epochs where errors decrease on the training data but increase on the real data. Overfitting is a phenomenon where the model learns excessively on the training data, leading to an increase in errors on real-world data. For example, a neural network model trained on yellow cats might fail to recognize cats other than yellow ones as cats, which can be considered a type of overfitting. Overfitting can act as a cause for increased errors in machine learning algorithms. Various optimization methods can be used to prevent this overfitting. To prevent overfitting, methods such as increasing the training data, regularization, dropout (which disables some nodes in the network during training), and batch normalization can be applied.

[0066]

[0067] FIG. 3 is a flowchart for explaining an electrocardiogram signal processing method according to one embodiment of the present disclosure, and FIG. 4 is a diagram showing the waveform of an electrocardiogram signal according to one embodiment of the present disclosure.

[0068] Referring to FIG. 3, the processor can acquire an electrocardiogram signal (S110).

[0069] The processor can extract feature information of the electrocardiogram signal based on the electrocardiogram signal by utilizing a neural network model (S120). An electrocardiogram refers to a recording of the electrical activity of the heart measured in the form of a graph or waveform, and can be divided into segments such as the P-wave, QRS complex, T-wave, PR interval, and ST interval.

[0070] The P wave is a waveform that appears when the atria contract (atrial depolarization) and represents the electrical signal of the atria. The QRS complex is a complex waveform that appears when the ventricles contract (ventricular depolarization) and is divided into the Q, R, and S waves. These three waveforms describe the process of ventricular contraction; in particular, the R wave, which has the largest amplitude, signifies the major ventricular contraction. The T wave is a waveform that appears when the ventricles relax (ventricular repolarization) and represents the process of the heart's recovery.

[0071] Analyzing the waveforms of electrocardiogram signals allows for an understanding of the heart's electrical activity and changes at each stage. This can be utilized to diagnose heart diseases or abnormalities.

[0072] The characteristic information of the electrocardiogram signal may include the P-wave start point, P-wave end point, Q-wave start point, S-wave end point, T-wave start point, and T-wave end point.

[0073] The processor can divide the electrocardiogram signal into multiple segments based on the extracted feature information (S130). For example, the processor can identify the segment corresponding to the QRS complex and other segments based on the Q-wave start point and the S-wave end point.

[0074] The processor can generate a first filtered signal by applying different filters to the plurality of segments (S140).

[0075]

[0076] FIG. 5 is a conceptual diagram illustrating an electrocardiogram signal processing method according to one embodiment of the present disclosure.

[0077] Referring to FIG. 5, the processor can utilize a neural network model (210) to extract feature information (FI) of the electrocardiogram signal (ES) based on the electrocardiogram signal (ES).

[0078] The processor can divide the electrocardiogram signal (ES) into multiple segments based on the extracted feature information (FI). For example, in each cycle of the electrocardiogram signal, the processor can divide the electrocardiogram signal into a first segment (SEGMENT 1) corresponding to the QRS complex and a second segment (SEGMENT 2) corresponding to the remaining interval other than the QRS complex.

[0079] The processor can generate a first filtered signal (FES1) by applying different filters to multiple segments (SEGMENT 1, SEGMENT 2). In other words, the first filtered signal (FES1) can be generated by applying a first filter (220-1) to the first segment (SEGMENT 1) and applying a second filter (220-2) different from the first filter (220-1) to the second segment (SEGMENT 2).

[0080] For example, the first filter (220-1) applied to the first segment (SEGMENT 1) corresponding to the QRS complex may be a weak band-pass filter, and the second filter (220-2) applied to the second segment (SEGMENT 2) corresponding to the remaining section other than the QRS complex may be a strong band-pass filter. The weak band-pass filter may refer to a filter that limits the frequency band while having a relatively low filtering strength to preserve the original characteristics of the signal as much as possible. The strong band-pass filter may refer to a filter that more strongly suppresses signals outside a specific frequency band, but carries the risk that important signal features may be distorted or lost due to excessive filtering.

[0081] When a strong bandpass filter is applied to the first segment (SEGMENT 1) corresponding to the QRS complex, high-frequency components are excessively removed, which may cause the amplitude of the R-peak to decrease or become distorted. Since the shape, amplitude, and duration of the R-peak provide important information for determining heart disease, if the R-peak is distorted, it may become difficult to accurately determine heart disease. Therefore, according to an embodiment of the present disclosure, a first filter (220-1), which is a weak bandpass filter, is applied to the first segment (SEGMET_1) to minimize the reduction in the amplitude of the R-peak and preserve the original characteristics of the signal without distortion.

[0082] The processor can input the first filtered signal (FES1) into the post-processing module (230) to generate the second filtered signal (FES2). The post-processing module (230) can generate the second filtered signal (FES2) by applying a moving average to the first filtered signal (FES1) and performing smoothing.

[0083]

[0084] FIGS. 6 and FIGS. 7 are drawings for illustrating moving average and smoothing according to one embodiment of the present disclosure.

[0085] First, referring to FIG. 6, the processor can apply a moving average to the first filtered signal using a sliding window method. In an embodiment where different filters are applied to the interval corresponding to the QRS complex and the remaining interval other than the QRS complex, the processor can apply the moving average to the Q-wave start point and the S-wave end point, respectively, in the electrocardiogram signal.

[0086] The sliding window method can refer to a method in which a window (WINDOW 1, WINDOW 2) with a specific length of data (or window length) moves the data in sample units to calculate statistical values. Here, the window length (window size) can refer to the number of data samples used in a single calculation of statistical values.

[0087] The processor can calculate statistical values ​​for the current sample, and for the n samples prior to and m samples following the current sample, and output the results (where n and m are natural numbers greater than or equal to 1). The processor can calculate statistical values ​​such as the average, maximum value, and minimum value for the data within the window by moving the window one step to the left or right for each sample.

[0088] Referring further to FIG. 7, the processor can determine a window having a first length that includes the Q-wave start point and the S-wave end point, respectively, to apply a moving average to the first filtered signal using a sliding window method.

[0089] For example, when the first length of the window is '8', the first window (WINDOW 1) may contain 8 samples. And, the Q-wave start point (Q start point) may correspond to the first center point (center point 1) in the first window (WINDOW 1). The processor may calculate a single average value for the first center point (center point 1) contained in the first window (WINDOW 1), and for the 5 samples prior to the first center point (center point 1) and the 2 samples following it. This average value may be derived as the value of the first center point (center point 1). The processor may calculate an average value for the 5 samples prior to and the 2 samples following each center point while moving the first window one step in the first direction (e.g., to the right). In this way, the processor can calculate average values ​​corresponding to each of the 20 points, from the first center point (center point 1) to the 20th center point (center point 20).

[0090] Additionally, the processor can use a second window (WINDOW 2) to calculate an average value for the S-wave end point, the two samples prior to the S-wave end point, and the five samples following the S-wave end point. This average value can be derived as the value of the S-wave end point. The processor can calculate the average value at each point by moving the second window (WINDOW 2) one step at a time in the second direction (e.g., to the left). In this way, the processor can calculate the average values ​​of a total of 20 points, including the S-wave end point.

[0091] Additionally, the processor may determine a window having a second length that includes the Q-wave start point and the S-wave end point, respectively, to perform smoothing on the Q-wave start point and the S-wave end point, respectively, to which the moving average is applied. For example, when the second length of the window is '3', the processor may calculate a Q-wave start point and an average value for one sample prior to and one sample following the Q-wave start point. This average value may be substituted for the value of the Q-wave start point.

[0092] Likewise, the processor can calculate an average value for the S-wave endpoint (S end point), and for the one sample before and one sample after the S-wave endpoint (S end point). This average value can be substituted for the value of the S-wave endpoint (S end point).

[0093]

[0094] Referring again to FIG. 5, in the second filtered signal (FES2), meaningless waveforms may be formed in some sections. For example, a convex or abnormal shape may be formed before the Q-wave. Since the meaningless waveforms included in the second filtered signal (FES2) interfere with electrocardiogram analysis, in order to remove unnecessary parts, the processor may input the second filtered signal (FES2) into an interpolation module (240) to generate a third filtered signal (FES3) by interpolating between the P-wave end point and the Q-wave start point. Representative interpolation methods include linear interpolation, spline interpolation, sigmoid interpolation, or frequency domain interpolation.

[0095]

[0096] FIG. 8 is a conceptual diagram illustrating an electrocardiogram signal processing method according to another embodiment of the present disclosure.

[0097] To explain the difference from FIG. 5, the processor can divide the electrocardiogram signal (ES) into multiple segments based on extracted feature information (FI) using a neural network model (310). For example, in each cycle of the electrocardiogram signal, the processor can divide the electrocardiogram signal into a first segment (SEGMENT 1-1) corresponding to the QRS complex, a second segment (SEGMENT 2-1) corresponding to the P-wave and T-wave, and a second segment (SEGMENT 2-2) corresponding to the remaining interval other than the QRS complex, the P-wave, and the T-wave.

[0098] The processor can generate a first filtered signal (FES1) by applying different filters to multiple segments (SEGMENT 1-1, SEGMENT 2-1, SEGMENT 2-2). In other words, the first filtered signal (FES1) can be generated by applying a first-1 filter (320-1) to the first segment (SEGMENT 1-1), applying a second-1 filter (320-2) different from the first filter (320-1) to the second-1 segment (SEGMENT 2-1), and applying a second-2 filter (320-3) different from the first filter (320-1) and the second-1 filter (320-2) to the second-2 segment (SEGMENT 2-2). At this time, the filtering band of the first filter (320-1) can be set to be the widest, and the filtering band of the second filter (320-3) can be set to be the narrowest.

[0099] Additionally, the first-1 filter (320-1) may have the same bandwidth as the first filter (220-1) of FIG. 5, but as needed, the first-1 filter (320-1) may have a different bandwidth from the first filter (220-1) of FIG. 5.

[0100] The processor can use a post-processing module (330) to apply a moving average to the first filtered signal (FES1) and perform smoothing to generate a second filtered signal (FES2).

[0101]

[0102] FIG. 9 is a diagram illustrating moving average and smoothing according to another embodiment of the present disclosure. Referring to FIG. 9, the processor may perform a moving average operation based on the Q-wave start point and the S-wave end point, respectively, in the manner described above in FIG. 6 and 7, and perform smoothing on the Q-wave start point and the S-wave end point, respectively, to which the moving average operation is applied. Similarly, the processor may perform a moving average operation based on the P-wave start point and the P-wave end point, respectively, in the manner described above in FIG. 6 and 7, and perform smoothing on the P-wave start point and the P-wave end point, respectively, to which the moving average operation is applied. Likewise, the processor can perform a moving average operation based on the T-wave start point and the T-wave end point, respectively, in the manner described above in FIGS. 6 and 7, and perform smoothing on the T-wave start point and the T-wave end point, respectively, to which the moving average operation is applied.

[0103]

[0104] Referring again to FIG. 8, the processor can input the second filtered signal (FES2) into the interpolation module (340) to generate a third filtered signal (FES3) that interpolates between the P-wave end point (P start point) and the Q-wave start point (Q start point). According to one embodiment of the present disclosure, the processor can divide the electrocardiogram signal into 1) a section corresponding to a QRS complex including an R-peak, 2) a section corresponding to a P-wave and a T-wave in which significant features are observed in addition to the QRS complex, and 3) a remaining section other than the QRS complex, the P-wave, and the T-wave, i.e., a section in which no significant features are observed, and apply different filters to the sections. In other words, the processor can subdivide and distinguish the electrocardiogram waveform based on whether significant features are observed even among the sections other than the QRS complex, and apply different filters to these sections as well. Therefore, there is an effect of removing noise while maintaining as much information as possible from the waveform of the electrocardiogram signal.

[0105]

[0106] According to one embodiment of the present disclosure, a computer-readable medium storing a data structure is disclosed.

[0107] A data structure can refer to the organization, management, and storage of data that enables efficient access and modification of data. A data structure can refer to the organization of data for solving specific problems (e.g., data retrieval, data storage, data modification in the shortest possible time). A data structure may also be defined by physical or logical relationships between data elements designed to support specific data processing functions. Logical relationships between data elements may include connections between user-defined data elements. Physical relationships between data elements may include actual relationships between data elements physically stored on a computer-readable storage medium (e.g., a permanent storage device). Specifically, a data structure may include sets of data, relationships between data, and functions or instructions applicable to the data. Through an effectively designed data structure, a computing device can perform operations while minimizing the use of its resources. Specifically, through an effectively designed data structure, a computing device can increase the efficiency of operations, reading, insertion, deletion, comparison, exchange, and retrieval.

[0108] Data structures can be classified into linear and non-linear data structures based on their form. A linear data structure is one where only one piece of data is connected to the next. Linear data structures can include lists, stacks, queues, and deques. A list can refer to a set of data that maintains an internal order. Lists can include linked lists. A linked list is a data structure where data is connected in a line, with each piece of data possessing a pointer. In a linked list, the pointer can contain information regarding the connection to the next or previous data. Depending on its form, a linked list can be represented as a singly linked list, a doubly linked list, or a circular linked list. A stack is a data arrangement structure that allows for restricted access to data. A stack can be a linear data structure where data can be processed (e.g., insertion or deletion) only at one end of the structure. Data stored in a stack can be a Last-In, First-Out (LIFO) data structure, meaning that the later an item is entered, the sooner it is retrieved. A queue is a data sequence structure that allows for limited access to data; unlike a stack, it can be a FIFO (First in First Out) data structure where data stored later is retrieved later. A deque is a data structure that can process data at both ends.

[0109] Non-linear data structures can be structures where multiple data items are connected after a single data item. Non-linear data structures can include graph data structures. A graph data structure can be defined by vertices and edges, and an edge can include a line connecting two different vertices. Graph data structures can include tree data structures. A tree data structure can be a data structure where there is only one path connecting two different vertices among the multiple vertices included in the tree. In other words, it can be a data structure that does not form loops in a graph data structure.

[0110] The data structure may include a neural network model. The data structure including the neural network model may be stored on a computer-readable medium. The data structure including the neural network model may include data preprocessed for processing by the neural network model, data input to the neural network model, weights of the neural network model, hyperparameters of the neural network model, data obtained from the neural network model, activation functions associated with each node or layer of the neural network model, loss functions for training the neural network model, etc. The data structure including the neural network model may include any of the components disclosed above. That is, the data structure including the neural network model may be composed of all or any combination thereof, such as data preprocessed for processing by the neural network model, data input to the neural network model, weights of the neural network model, hyperparameters of the neural network model, data obtained from the neural network model, activation functions associated with each node or layer of the neural network model, and loss functions for training the neural network model. In addition to the aforementioned components, the data structure including the neural network model may include any other information that determines the characteristics of the neural network model. Additionally, the data structure may include all forms of data used or generated during the computation process of the neural network model, and is not limited to the foregoing. The computer-readable medium may include a computer-readable recording medium and / or a computer-readable transmission medium. The neural network model may be composed of a set of interconnected computational units that may generally be referred to as nodes. These nodes may also be referred to as neurons. The neural network model is composed of at least one node.

[0111] A data structure may include data input to a neural network model. A data structure including data input to a neural network model may be stored on a computer-readable medium. Data input to a neural network model may include training data input during the training process of the neural network model and / or input data input to a neural network model after training is complete. Data input to a neural network model may include pre-processed data and / or data subject to pre-processing. Pre-processing may include a data processing process for inputting data into the neural network model. Accordingly, a data structure may include data subject to pre-processing and data generated by pre-processing. The aforementioned data structure is merely an example, and the present disclosure is not limited thereto.

[0112] The data structure may include weights of a neural network model. (In this disclosure, weights and parameters may be used interchangeably.) The data structure including the weights of the neural network model may be stored on a computer-readable medium. The neural network model may include a plurality of weights. The weights may be variable and may be varied by a user or an algorithm to enable the neural network model to perform a desired function. For example, if one or more input nodes are interconnected to a single output node by respective links, the output node may determine the data value output from the output node based on values ​​input to the input nodes connected to the output node and weights set on the links corresponding to each input node. The aforementioned data structure is merely an example and the present disclosure is not limited thereto.

[0113] As an example rather than a limitation, weights may include weights that vary during the training process of the neural network model and / or weights for which the training of the neural network model is complete. Weights that vary during the training process of the neural network model may include weights at the start of an epoch and / or weights that vary during an epoch. Weights for which the training of the neural network model is complete may include weights for which an epoch has been completed. Accordingly, a data structure containing the weights of the neural network model may include a data structure containing weights that vary during the training process of the neural network model and / or weights for which the training of the neural network model is complete. Therefore, the weights and / or combinations of each weight described above are included in the data structure containing the weights of the neural network model. The aforementioned data structure is merely an example and the present disclosure is not limited thereto.

[0114] Data structures containing the weights of a neural network model may be stored on a computer-readable storage medium (e.g., memory, hard disk) after undergoing a serialization process. Serialization may be a process of converting a data structure into a form that can be stored on the same or different computing devices and later reconstructed for use. A computing device may serialize the data structure to transmit and receive data over a network. A serialized data structure containing the weights of a neural network model may be reconstructed on the same or different computing devices through deserialization. Data structures containing the weights of a neural network model are not limited to serialization. Furthermore, data structures containing the weights of a neural network model may include data structures designed to increase computational efficiency while minimizing the use of computing device resources (e.g., B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree in non-linear data structures). The foregoing is merely an example and the present disclosure is not limited thereto.

[0115] The data structure may include hyperparameters of a neural network model. The data structure including the hyperparameters of the neural network model may be stored on a computer-readable medium. Hyperparameters may be variables that are varied by the user. Hyperparameters may include, for example, a learning rate, a cost function, a loss function, the number of epochs, weight initialization (e.g., setting the range of weight values ​​to be initialized), and the number of hidden units (e.g., the number of hidden layers, the number of nodes in the hidden layers). The aforementioned data structure is merely an example and the present disclosure is not limited thereto.

[0116]

[0117] FIG. 10 is a brief and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

[0118] Although the present disclosure has been described as generally being implementable by a computing device, a person skilled in the art will be well aware that the present disclosure may be implemented in combination with computer-executable instructions and / or other program modules that can be executed on one or more computers and / or as a combination of hardware and software.

[0119] Generally, a program module includes routines, programs, components, data structures, etc., that perform a specific task or implement a specific abstract data type. Furthermore, a person skilled in the art will be well aware that the method of the present disclosure can be implemented in other computer system configurations, including single-processor or multi-processor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, etc. (each of which may be connected to and operated with one or more associated devices).

[0120] The embodiments described in the present disclosure may be implemented in a distributed computing environment in which tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

[0121] Computers typically include various computer-readable media. Any medium accessible by a computer may be a computer-readable medium, and such computer-readable media include volatile and non-volatile media, transitory and non-transitory media, and removable and non-removable media. By example, but not limiting, computer-readable media may include computer-readable storage media and computer-readable transmission media. Computer-readable storage media include volatile and non-volatile media, transitory and non-transitory media, and removable and non-removable media implemented by any method or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, DVD (digital video disk) or other optical disk storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, or any other media that can be accessed by a computer and used to store desired information.

[0122] Computer-readable transmission media typically include all information transmission media that implement computer-readable instructions, data structures, program modules, or other data, etc., on a modulated data signal, such as a carrier wave or other transport mechanism. The term modulated data signal means a signal in which one or more of the characteristics of the signal are set or modified to encode information within the signal. By example, not limiting, computer-readable transmission media include wired media, such as wired networks or direct-wired connections, and wireless media, such as acoustic, RF, infrared, and other wireless media. Any combination of the media described above is also considered to be within the scope of computer-readable transmission media.

[0123] An exemplary environment (1100) for implementing various aspects of the present disclosure, including a computer (1102), is shown, wherein the computer (1102) includes a processing unit (1104), system memory (1106), and a system bus (1108). The system bus (1108) connects system components, including system memory (1106) (but not limited thereto), to the processing unit (1104). The processing unit (1104) may be any processor among various commercial processors. Dual processors and other multiprocessor architectures may also be used as the processing unit (1104).

[0124] The system bus (1108) may be any of several types of bus structures that can be additionally interconnected to a local bus using any of the memory bus, peripheral bus, and various commercial bus architectures. System memory (1106) includes read-only memory (ROM) (1110) and random access memory (RAM) (1112). The basic input / output system (BIOS) is stored in non-volatile memory (1110), such as ROM, EPROM, EEPROM, etc., and this BIOS includes basic routines that help transfer information between components within the computer (1102) at times such as during startup. The RAM (1112) may include high-speed RAM, such as static RAM, for caching data.

[0125] The computer (1102) includes an internal hard disk drive (HDD) (1114) (e.g., EIDE, SATA)—this internal hard disk drive (1114) may be configured for external use within a suitable chassis (not shown)—a magnetic floppy disk drive (FDD) (1116) (e.g., for reading from or writing to a removable diskette (1118)), and an optical disk drive (1120) (e.g., for reading from a CD-ROM disk (1122) or reading from or writing to other high-capacity optical media such as a DVD). The hard disk drive (1114), the magnetic disk drive (1116), and the optical disk drive (1120) may each be connected to the system bus (1108) by a hard disk drive interface (1124), a magnetic disk drive interface (1126), and an optical drive interface (1128). The interface (1124) for implementing an external drive includes at least one or both of USB (Universal Serial Bus) and IEEE 1394 interface technologies.

[0126] These drives and associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, etc. In the case of a computer (1102), the drives and media correspond to storing any data in a suitable digital format. Although the description of computer-readable media above refers to HDDs, removable magnetic disks, and removable optical media such as CDs or DVDs, a person skilled in the art will know that other types of computer-readable media, such as zip drives, magnetic cassettes, flash memory cards, cartridges, etc., may also be used in exemplary operating environments and that any of these media may contain computer-executable instructions for performing the methods of the present disclosure.

[0127] A number of program modules, including an operating system (1130), one or more application programs (1132), other program modules (1134), and program data (1136), may be stored in the drive and RAM (1112). All or part of the operating system, application, module, and / or data may be cached in RAM (1112). It will be well known that the present disclosure may be implemented in various commercially available operating systems or combinations of operating systems.

[0128] The user can input commands and information into the computer (1102) through one or more wired / wireless input devices, such as a pointing device like a keyboard (1138) and a mouse (1140). Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, a touch screen, etc. These and other input devices are often connected to the processing unit (1104) via an input device interface (1142) connected to the system bus (1108), but may also be connected via other interfaces such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, etc.

[0129] A monitor (1144) or other type of display device is also connected to the system bus (1108) via an interface such as a video adapter (1146). In addition to the monitor (1144), the computer generally includes other peripheral output devices (not shown), such as speakers, a printer, and so on.

[0130] The computer (1102) may operate in a networked environment using a logical connection to one or more remote computers, such as remote computer(s) (1148), via wired and / or wireless communication. The remote computer(s) (1148) may be a workstation, a computing device computer, a router, a personal computer, a portable computer, a microprocessor-based entertainment device, a peer device, or other conventional network node, and generally include many or all of the components described for the computer (1102), but for brevity, only the memory storage device (1150) is illustrated. The illustrated logical connection includes a wired / wireless connection to a local area network (LAN) (1152) and / or a larger network, e.g., a wide area network (WAN) (1154). Such LAN and WAN networking environments are common in offices and companies and facilitate enterprise-wide computer networks, such as intranets, all of which can be connected to a global computer network, e.g., the Internet.

[0131] When used in a LAN networking environment, the computer (1102) is connected to a local network (1152) via a wired and / or wireless communication network interface or adapter (1156). The adapter (1156) may facilitate wired or wireless communication to the LAN (1152), and the LAN (1152) includes a wireless access point installed therein to communicate with the wireless adapter (1156). When used in a WAN networking environment, the computer (1102) may include a modem (1158), be connected to a communication computing device on the WAN (1154), or have other means of establishing communication through the WAN (1154), such as through the Internet. The modem (1158), which may be an internal or external and a wired or wireless device, is connected to the system bus (1108) via a serial port interface (1142). In a networked environment, the program modules described for the computer (1102) or parts thereof may be stored in a remote memory / storage device (1150). It will be well known that the illustrated network connection is exemplary and that other means of establishing a communication link between computers may be used.

[0132] The computer (1102) operates to communicate with any wireless device or object that is deployed and operated via wireless communication, for example, a printer, scanner, desktop and / or portable computer, PDA (portable data assistant), communication satellite, any equipment or place associated with a wireless detectable tag, and a telephone. This includes at least Wi-Fi and Bluetooth wireless technologies. Accordingly, the communication may be a predefined structure as in a conventional network, or simply ad hoc communication between at least two devices.

[0133] Wi-Fi (Wireless Fidelity) enables connectivity to the Internet and other sources without wires. Wi-Fi is a wireless technology, similar to a cell phone, that allows devices, such as computers, to transmit and receive data indoors and outdoors—that is, anywhere within the coverage area of ​​a base station. Wi-Fi networks use a wireless technology called IEEE 802.11 (a, b, g, etc.) to provide secure, reliable, and high-speed wireless connections. Wi-Fi can be used to connect computers to each other, to the Internet, and to wired networks (using IEEE 802.3 or Ethernet). Wi-Fi networks can operate in unlicensed 2.4 and 5 GHz wireless bands, for example, at data rates of 11 Mbps (802.11a) or 54 Mbps (802.11b), or in products that include both bands (dual band).

[0134] Those skilled in the art of the present disclosure will understand that information and signals may be represented using any various different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced in the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

[0135] Those skilled in the art will understand that the various exemplary logic blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented by electronic hardware, various forms of programs or design code (referred to herein as software for convenience), or a combination of all such. To clearly illustrate this interoperability between hardware and software, various exemplary components, blocks, modules, circuits, and steps have been generally described above in relation to their functions. Whether such functions are implemented as hardware or software depends on the design constraints imposed on the specific application and the overall system. Those skilled in the art may implement the functions described in various ways for each specific application, but such implementation decisions should not be interpreted as being outside the scope of this disclosure.

[0136] The various embodiments presented herein may be implemented as methods, devices, or articles manufactured using standard programming and / or engineering techniques. The term "article manufactured" includes a computer program, a carrier, or a medium accessible from any computer-readable storage device. For example, computer-readable storage media include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical discs (e.g., CDs, DVDs, etc.), smart cards, and flash memory devices (e.g., EEPROMs, cards, sticks, key drives, etc.). Additionally, the various storage media presented herein include one or more devices and / or other machine-readable media for storing information.

[0137] It should be understood that the specific order or hierarchy of steps in the presented processes is merely an example of exemplary approaches. It should be understood that, based on design priorities, the specific order or hierarchy of steps in the processes may be rearranged within the scope of this disclosure. The appended method claims provide elements of various steps in a sample order, but do not imply being limited to the specific order or hierarchy presented.

[0138] Description of the presented embodiments is provided so that a person skilled in the art may use or practice the present disclosure. Various modifications to these embodiments will be apparent to a person skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments presented herein, but should be interpreted in the broadest possible scope consistent with the principles and novel features presented herein.

[0139] As described above, the relevant details have been described in the best mode for carrying out the invention.

Claims

1. A method for processing electrocardiogram signals performed by a computing device, Step of acquiring an electrocardiogram signal; A step of dividing the electrocardiogram signal into multiple segments using a neural network model; and A step of generating a first filtered signal by applying different filters to the plurality of segments. including, method.

2. In Paragraph 1, In the step of dividing the electrocardiogram signal into the plurality of segments, In each cycle of the above electrocardiogram signal, the electrocardiogram signal is divided into a first segment corresponding to the QRS complex interval and a second segment corresponding to the interval excluding the QRS complex interval. method.

3. In Paragraph 2, The step of generating the first filtering signal above is, A step of applying a first filter to the first segment; and A step of applying a second filter to the second segment; Includes, The first filter has a wider filtering frequency band than the second filter. method.

4. In Paragraph 1, A step of generating a second filtered signal by performing a moving average operation on the first filtered signal; including, method.

5. In Paragraph 4, The step of generating the second filtered signal above is, A step of performing the moving average operation based on the Q-wave start point and S-wave end point, respectively, in the electrocardiogram signal; including, method.

6. In Paragraph 5, The step of generating the second filtered signal above is, A step of performing smoothing on each of the Q-wave start point and the S-wave end point to which the above moving average calculation is applied; including, method.

7. In Paragraph 6, A step of generating a third filtered signal by interpolating the signal between the P-wave end point and the Q-wave start point included in the second filtered signal; including, method.

8. A computer program stored on a computer-readable storage medium, wherein when said computer program is executed by at least one processor, said at least one processor is made to perform the following operations, said operations being: Action of acquiring an electrocardiogram signal; The operation of dividing the electrocardiogram signal into multiple segments using a neural network model; and An operation to generate a first filtered signal by applying different filters to the plurality of segments; including, A computer program stored on a computer-readable storage medium.

9. As a computing device, At least one processor; and memory Includes, The above-mentioned at least one processor is, Acquire electrocardiogram signals, Using a neural network model, the above electrocardiogram signal is divided into multiple segments, and Configured to generate a first filtered signal by applying different filters to the plurality of segments, device.