Method for determining analyzable electrocardiogram intervals
The method uses multiple signal evaluation modules to assess electrocardiogram quality and distinguish legible intervals, addressing noise issues in wearable devices for accurate diagnosis.
Patent Information
- Application Number
- JP2025545062
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-02-09
- Filing Date
- 2023-10-31
- Publication Date
- 2026-02-13
AI Technical Summary
Wearable electrocardiogram devices often measure single lead signals with noise due to user expertise limitations, making it difficult to determine if the signal is legible for accurate diagnosis.
A method using multiple signal evaluation modules to evaluate the quality of electrocardiogram signals, distinguishing between legible and unlegible sub-intervals, and determining if remeasurement is necessary based on these evaluations.
Enables identification of diagnosable intervals within noisy electrocardiogram signals, preventing unnecessary measurements and ensuring accurate disease diagnosis.
Smart Images

Figure 2026505320000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a method for determining whether an electrocardiogram signal is legible, and more particularly to a method for separating diagnosable sub-intervals from the entire interval of an electrocardiogram signal using a plurality of signal evaluation modules. [Background technology]
[0002] An electrocardiogram is one of the basic diagnostic methods for heart disease and is an important examination method for diagnosing cardiovascular diseases such as angina pectoris, myocardial infarction, arrhythmia, etc. The heart is a three-dimensional organ, and in order to understand the pathological condition of such an organ using an electrocardiogram, it has been developed to obtain a large amount of information, usually by attaching multiple lead electrodes to the chest or by attaching lead electrodes for a long period of time.
[0003] Recently, wearable electrocardiogram devices (watch-type, patch-type, pad-type) have been developed to improve the convenience of measurement, but in most cases, they only measure a single lead signal and perform measurements for a relatively short time. In particular, with wearable electrocardiogram devices, the electrocardiogram is mainly measured by the user rather than medical staff, which increases the possibility of noise due to low levels of expertise in measuring electrocardiograms.
[0004] Therefore, there is a need for the development of an algorithm that can determine whether diagnosis or interpretation is possible even when some noise occurs during electrocardiogram measurement. Summary of the Invention [Problem to be solved by the invention]
[0005] The present disclosure has been devised in response to the above-mentioned background art, and aims to provide a method for determining whether an electrocardiogram signal is legible, which is capable of separating a section that is sufficiently diagnostic using a disease diagnosis algorithm even when the measured electrocardiogram contains some noise.
[0006] The technical problems in this disclosure are not limited to the above-mentioned technical problems, and a person with ordinary knowledge in the field can clearly understand problems other than the above-mentioned technical problems based on the following description. [Means for solving the problem]
[0007] To achieve the above object, a method for determining the legibility of an electrocardiogram signal, executed by a computing device, is disclosed, which may include evaluating the quality of the electrocardiogram signal using a plurality of signal evaluation modules; and distinguishing between legible and unlegible sub-intervals within an interval of the electrocardiogram signal based on the evaluation results of the plurality of signal evaluation modules.
[0008] In one embodiment, the step of evaluating the quality of the electrocardiogram signal may include generating a preprocessed signal based on the electrocardiogram signal using at least one preprocessing method; and generating a plurality of evaluation results for the electrocardiogram signal using the preprocessed signal and the plurality of signal evaluation modules.
[0009] In one embodiment, the plurality of signal evaluation modules may each include a different noise interpretation function.
[0010] In one embodiment, each of the plurality of signal evaluation modules is capable of identifying candidate legible and candidate inlegible sub-sections within the electrocardiogram signal using a predetermined threshold.
[0011] In one embodiment, the threshold value can be determined depending on the type of the noise interpretation function.
[0012] In one embodiment, the step of distinguishing between legible and unlegible subintervals within the electrocardiogram signal interval based on the evaluation results of the plurality of signal evaluation modules may include identifying overlapping intervals of the plurality of candidate legible subintervals identified by the plurality of signal evaluation modules, and identifying the legible subinterval based thereon.
[0013] In one embodiment, the plurality of signal evaluation modules may include at least one of: a first type signal evaluation module that identifies the candidate legible sub-intervals or the candidate unlegible sub-intervals based on continuous evaluation values of the electrocardiogram signal; and a second type signal evaluation module that identifies the candidate legible sub-intervals or the candidate unlegible sub-intervals based on evaluation values of predetermined segments of the electrocardiogram signal.
[0014] In one embodiment, when the basic evaluation unit of the second type signal evaluation module is larger than the predetermined segment unit, the second type signal evaluation module is capable of calculating the evaluation value of the predetermined segment unit using the evaluation value of the basic evaluation unit.
[0015] In one embodiment, when the basic evaluation unit of the second type signal evaluation module is larger than the predetermined segment unit, the second type signal evaluation module is capable of performing the following operations: obtaining evaluation values of a plurality of basic evaluation units based on a plurality of evaluation starting points arranged at intervals of the predetermined segment unit; and calculating an evaluation value of the predetermined segment unit by calculating a representative value of the evaluation values of the plurality of basic evaluation units from each of the intervals of the predetermined segment unit.
[0016] In one embodiment, the method may further include at least one of the following steps: inputting the entire section of the electrocardiogram signal or the legible subsection into a disease analysis model if the longest section among the legible subsections is equal to or longer than a predetermined length; or determining to remeasure the electrocardiogram signal if the longest section among the legible subsections is shorter than a predetermined length.
[0017] To solve the above-mentioned problems, a method for determining whether remeasurement of an electrocardiogram signal is necessary, executed by a computing device, is also disclosed, which may include distinguishing between legible and unlegible subintervals within an interval of the electrocardiogram signal; and determining whether remeasurement of the electrocardiogram signal is necessary based on the distinguished legible subintervals.
[0018] Also disclosed is a computer program stored on a computer-readable storage medium for solving the above-mentioned problems. When executed by one or more processors, the computer program causes the one or more processors to perform the following operations for determining whether an electrocardiogram signal is legible, which may include: evaluating the quality of the electrocardiogram signal using a plurality of signal evaluation modules; and distinguishing between legible and unlegible subintervals within a section of the electrocardiogram signal based on the evaluation results of the plurality of signal evaluation modules.
[0019] Also disclosed is a computing device for solving the above-mentioned problems, which includes at least one processor and a memory, and can be configured to evaluate the quality of an electrocardiogram signal using a plurality of signal evaluation modules, and to distinguish between legible and unlegible sub-intervals within a section of the electrocardiogram signal based on evaluation results of the plurality of signal evaluation modules.
[0020] The technical solutions obtained from the present disclosure are not limited to the solutions described above, and a person having ordinary skill in the technical field to which the present disclosure pertains can clearly understand solutions other than the solutions described above from the following description. [Effects of the Invention]
[0021] The present disclosure provides a method for determining in detail whether an electrocardiogram signal is legible. For example, the present disclosure provides a method for identifying in detail legible subintervals within an electrocardiogram signal interval. Therefore, even if a measured electrocardiogram signal contains some noise, the present disclosure can identify the presence or absence of a minimum subinterval that can be input into a disease analysis model, and can prevent unnecessary repeated measurements based on such identification.
[0022] On the other hand, the effects obtained from the present disclosure are not limited to the effects described above, and a person having ordinary knowledge in the technical field to which the present disclosure pertains can clearly understand effects other than those described above based on the following description. [Brief explanation of the drawings]
[0023] Various aspects are described with reference to the drawings. In the following description of the drawings, like reference numerals are used to generally refer to like components. In the following examples, for purposes of explanation, numerous specific details are provided to facilitate an overall understanding of one or more aspects. However, it will be apparent that such aspect(s) can be practiced without such specific details. In other instances, well-known structures and devices are shown in block diagram form to facilitate describing one or more aspects. [Figure 1] FIG. 1 is a block diagram illustrating a computing device and training data according to one embodiment of the present disclosure. [Figure 2] FIG. 1 is a conceptual diagram illustrating a neural network, according to one embodiment of the present disclosure. [Figure 3]1 is a flowchart illustrating a method for determining whether an electrocardiogram signal is legible, according to one embodiment of the present disclosure. [Figure 4] 1 is a conceptual diagram of a method for determining whether an electrocardiogram signal is legible, according to one embodiment of the present disclosure. [Figure 5] 1 is a flowchart illustrating a method for pre-processing an electrocardiogram signal and determining whether it is legible, according to one embodiment of the present disclosure. [Figure 6] 1 is a conceptual diagram of a method for pre-processing an electrocardiogram signal and determining whether it is legible, according to one embodiment of the present disclosure. [Figure 7] FIG. 1 is a conceptual diagram illustrating a method for determining whether an electrocardiogram signal is legible based on segment-based evaluation values, according to an embodiment of the present disclosure. [Figure 8] FIG. 1 is a general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure can be implemented. DETAILED DESCRIPTION OF THE INVENTION
[0024] Various embodiments are described below with reference to the drawings. Various descriptions are provided herein to facilitate understanding of the present disclosure. However, it will be apparent that such embodiments can be practiced without such specific descriptions.
[0025] As used herein, terms such as "component," "module," and "system" refer to computer-related entities, hardware, firmware, software, a combination of software and hardware, or the execution of software. For example, a component can be, but is not limited to, a procedure running on a processor, a processor, an object, a thread of execution, a program, and / or a computer. For example, both an application running on a computing device and the computing device can be a component. One or more components can reside within a processor and / or thread of execution. A component can be localized within one computer. A component can be distributed across two or more computers. Such components can also execute on various computer-readable media having various data structures stored therein. Components can communicate via local and / or remote processes, for example, using signals comprising one or more data packets (e.g., data and / or signals from one component interacting with other components in a local or distributed system, or data transmitted over a network such as the Internet with other systems).
[0026] The suffixes "module" and "section" used in the following description to refer to components are used interchangeably solely for the purpose of facilitating the preparation of the specification, and these suffixes themselves do not have any specific meanings or roles.
[0027] Additionally, as used herein, the terms "information" and "data" may be used interchangeably.
[0028] When a component is described as being "connected," "coupled," or "connected" to another component, it should be understood that the component may be directly connected, coupled, or connected to the other component, but that there may be other components intervening between them. On the other hand, when a component is described as being "directly connected," "directly coupled," or "directly connected" to another component, it should be understood that there are no other components intervening between them.
[0029] It should be noted that the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or clear from the context, "X utilizes A or B" is intended to mean one of the natural inclusive permutations. That is, if X utilizes A; X utilizes B; or X utilizes both A and B, then "X utilizes A or B" can apply to any of these. Additionally, the term "and / or" as used herein should be understood to refer to and include all possible combinations of one or more items among a list of associated items.
[0030] Additionally, the predicate "comprises" and / or the modifier "comprises" should be understood to mean the presence of the feature and / or component in question. However, the predicate "comprises" and / or the modifier "comprises" should be understood not to exclude the presence or addition of one or more other further features, components and / or groups thereof. Additionally, unless a specific number is specified or the context is clear that a singular form is indicated, the singular form in this specification and claims should generally be construed to mean "one or more."
[0031] Hereinafter, the same or similar components will be denoted by the same reference numerals regardless of the reference numerals in the drawings, and redundant descriptions thereof will be omitted. Furthermore, when describing the embodiments disclosed in this specification, if it is determined that a detailed description of related known technology may obscure the gist of the embodiments disclosed in this specification, the detailed description will be omitted. Furthermore, the accompanying drawings are merely intended to facilitate understanding of the embodiments disclosed in this specification, and the technical ideas disclosed in this specification are not limited by the accompanying drawings.
[0032] Furthermore, the term "at least one of A or B" should be interpreted as meaning "when only A is included," "when only B is included," or "when a combination of A and B is included."
[0033] Those skilled in the art should further recognize that the various illustrative logical blocks, components, modules, circuits, means, logic, and algorithm steps described in accordance with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the various illustrative components, blocks, components, means, logic, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and design constraints of the overall system. Skilled artisans may implement the described functionality in various ways for each particular application. However, such implementation decisions should not be interpreted as departing from the scope of the present disclosure.
[0034] The description of the embodiments set forth herein is provided to enable one of ordinary skill in the art to utilize or practice the present disclosure. Various modifications to these embodiments will be apparent to those of ordinary skill in the art. The generic principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Therefore, the present invention is not limited to the embodiments set forth herein. The present invention is to be accorded the broadest scope consistent with the principles and novel features disclosed herein.
[0035] A method for determining whether an electrocardiogram signal is legible according to the present disclosure will be described below based on the contents shown in FIGS.
[0036] FIG. 1 is a block diagram illustrating a computing device and training data according to one embodiment of the present disclosure.
[0037] The configuration of the computing device (100) illustrated in Figure 1 is merely a simplified example. In one embodiment of the present disclosure, the computing device (100) may include other components for implementing the computing environment of the computing device (100), and the computing device (100) may be configured with only some of the disclosed components.
[0038] The computer device 100 may include a processor 110, a memory 130, and a network unit 150. In one embodiment of the present disclosure, the processor 100 may be configured with one or more cores and may include processors for data analysis and deep learning, such as a computing central processing unit (CPU), a general-purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU). The processor 110 may read a computer program stored in the memory 130 and perform data processing for machine learning in one embodiment of the present disclosure. According to one embodiment of the present disclosure, the processor 110 may perform calculations for neural network training. In deep learning (DL), the processor 110 may perform calculations for neural network training, such as processing input data for training, extracting features from the input data, calculating errors, and updating neural network weights using backpropagation. At least one of the CPU, GPGPU, and TPU of the processor 110 can process network function training. For example, the CPU and GPGPU can both train the network function or classify data using the network function. In one embodiment of the present disclosure, processors of multiple computing devices can be used together to train the network function or classify data using the network function. In one embodiment of the present disclosure, the computer program executed in the computing device can be a program executable by the CPU, GPGPU, or TPU.
[0039] In one embodiment of the present disclosure, the memory 130 can store any type of information generated or determined by the processor 110 and any type of information received by the network unit 150.
[0040] In one embodiment of the present disclosure, the memory 130 may include at least one type of storage medium selected from the group consisting of flash memory, hard disk, micro multimedia card, card-type memory (e.g., SD or XD memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, and optical disk. The computing device 100 may also operate in conjunction with web storage that performs storage functions of the memory 130 over the Internet. The above descriptions of memory are merely examples, and the present disclosure is not limited thereto.
[0041] The network unit 150 in one embodiment of the present disclosure can use various wired communication systems such as a Public Switched Telephone Network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), Very High Speed DSL (VDSL), Universal Asymmetric DSL (UADSL), High Bit Rate DSL (HDSL), and a Local Area Network (LAN).
[0042] In addition, the network unit (150) in this specification can 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.
[0043] The network unit 150 in the present disclosure can be configured regardless of the type of communication, such as wired or wireless, and can be various communication networks such as a short-range communication network (LAN: Local Area Network), a personal area network (PAN: Personal Area Network), a wide area network (WAN: Wide Area Network), etc. In addition, the network can be the well-known World Wide Web (WWW), or can use wireless transmission technologies used for short-range communication, such as infrared data association (IrDA) or Bluetooth (registered trademark).
[0044] The techniques described herein can be used in the above networks as well as other networks.
[0045] The processor 110 or the memory 130 can acquire an electrocardiogram signal from an electrocardiogram device. This acquisition can be performed via the network unit 150 or by connecting directly to the electrocardiogram device. The electrocardiogram device can include any device capable of measuring an electrocardiogram. For example, the electrocardiogram device can be a smartphone, a smartwatch, a portable patch, a portable pad, or other portable dedicated electrocardiogram measurement device, or a combination thereof, which can perform short-term electrocardiogram measurements of less than one minute. As another example, the electrocardiogram device can be a standard 12-lead electrocardiogram device capable of short-term electrocardiogram recording. In this case, even if the short-term electrocardiogram contains a small amount of noise, the present disclosure allows the disease diagnosis algorithm to isolate a sufficiently diagnosable interval, allowing the user of the electrocardiogram device to confirm the disease diagnosis result without unnecessary repeated measurements.
[0046] According to one embodiment of the present disclosure, the memory 130 can store data related to the electrocardiogram signal, the network unit can transmit the data, and the processor 110 can perform an operation to determine whether the electrocardiogram signal is readable based on the electrocardiogram signal.
[0047] FIG. 2 is a schematic diagram illustrating a network function in one embodiment of the present disclosure.
[0048] Throughout this specification, the terms computational model, neural network, network function, and neural network may be used interchangeably. A neural network is often composed of a collection of interconnected computational units, commonly called nodes. Such nodes may also be referred to as neurons. A neural network is composed of at least one or more nodes. The nodes (or neurons) that make up a neural network may be interconnected by one or more links.
[0049] In a neural network, one or more nodes connected via links can form a relative relationship between an input node and an output node. The concepts of input node and output node are relative, and any node that is an output node for one node can also be an input node for another node, and vice versa. As mentioned above, the relationship between input node and output node can be established around links. One or more output nodes can be connected to one input node via links, and vice versa.
[0050] In a relationship between an input node and an output node connected via a link, the value of the data in the output node can be determined based on the data input to the input node. Here, the node interconnecting the input node and the output node can have a weight. The weight can be variable and can be changed by a user or an algorithm so that the neural network performs a desired function. For example, if one or more input nodes are interconnected to one output node by each link, the output node can determine its value based on the value input to the input node connected to the output node and the weight set for the link corresponding to each input node.
[0051] As described above, a neural network has one or more nodes interconnected via one or more links, forming a relationship between an input node and an output node within the neural network. The characteristics of a neural network can be determined by the number of nodes and links, the correlation between the nodes and links, and the weights assigned to each link. For example, if two neural networks have the same number of nodes and links but different link weights, the two neural networks can be recognized as different.
[0052] A neural network can be composed of a set of one or more nodes. A subset of the nodes in a neural network can form a layer. Some of the nodes in a neural network can form a layer based on their distance from a first input node. For example, a set of nodes whose distance from a first input node is n can form n layers. The distance from the first input node can be defined based on the minimum number of links that must be traversed to reach that node from the first input node. However, this definition of a layer is arbitrary for the purpose of explanation, and the configuration of layers in a neural network can be defined in a manner different from the above description. For example, a layer of nodes can also be defined based on their distance from the final output node.
[0053] A first input node may refer to one or more nodes in a neural network to which data is directly input without passing through a link in relation to other nodes. Alternatively, a first input node may refer to a node in a neural network that does not have other input nodes connected via a link in relation to other nodes based on links. Similarly, a final output node may refer to one or more nodes in a neural network that do not have output nodes in relation to other nodes. Furthermore, a hidden node may refer to a node that is neither a first input node nor a final output node and that constitutes a neural network.
[0054] A neural network according to an embodiment of the present disclosure may be a neural network in which the number of nodes in the input layer is the same as the number of nodes in the output layer, and the number of nodes decreases once and then increases again as the network progresses from the input layer to the hidden layer. A neural network according to an embodiment of the present disclosure may be a neural network in which the number of nodes in the input layer is fewer than the number of nodes in the output layer, and the number of nodes decreases as the network progresses from the input layer to the hidden layer. Furthermore, a neural network according to another embodiment of the present disclosure may be a neural network in which the number of nodes in the input layer is greater than the number of nodes in the output layer, and the number of nodes increases as the network progresses from the input layer to the hidden layer. A neural network according to another embodiment of the present disclosure may be a neural network that combines the above-mentioned neural networks.
[0055] A deep neural network (DNN) can refer to a neural network that includes multiple hidden layers in addition to an input layer and an output layer. Deep neural networks can be used to understand the latent structures of data. That is, they can understand the latent structures of photos, text, video, audio, and music (e.g., whether a certain object appears in the photo, what the content and emotion of the text are, what the content and emotion of the audio are, etc.). Deep neural networks include convolutional neural networks (CNNs), recurrent neural networks (RNNs), autoencoders, generative adversarial networks (GANs), restricted Boltzmann machines (RBMs), deep belief networks (DBNs), Q-networks, U-networks, Siamese networks, and generative adversarial networks (GANs). The above-mentioned deep neural networks are merely examples and the present disclosure is not limited thereto.
[0056] In one embodiment of the present disclosure, the network function may include an autoencoder. An autoencoder may be a type of artificial neural network that outputs output data similar to input data. An autoencoder may include at least one hidden layer, and an odd number of hidden layers may be arranged between the input and output layers. The number of nodes in each layer may decrease from the number of nodes in the input layer toward an intermediate layer called a bottleneck layer (encoder), and may expand in a symmetrical manner from the bottleneck layer toward the output layer (symmetrical to the input layer). An autoencoder may perform nonlinear dimensionality reduction. The number of input and output layers may correspond to the dimensionality of the input data after preprocessing. In an autoencoder structure, the number of nodes in the hidden layer included in the encoder may decrease as the distance from the input data increases. If the number of nodes in the bottleneck layer (the layer with the fewest nodes located between the encoder and decoder) is too small, sufficient information may not be transmitted. Therefore, the number of nodes may be maintained above a certain number (e.g., more than half of the input layer).
[0057] Neural networks can be trained using at least one of supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. Training a neural network can be a process of providing the neural network with knowledge that enables it to perform a specific operation. Neural networks can be trained to minimize output errors. Training involves repeatedly inputting training data into the neural network, calculating the error between the neural network's output and the target for the training data, and backpropagating the neural network's error from the output layer to the input layer to update the weights of each node in the neural network in a way that reduces the error. In supervised learning, training data in which the correct answer is labeled is used (i.e., labeled training data). In unsupervised learning, the correct answer may not be labeled. For example, in supervised learning for data classification, the training data may be data in which each training data is labeled with a category. Labeled training data is input into the neural network, and the error can be calculated by comparing the neural network's output (category) with the label of the training data. As another example, in unsupervised learning for data classification, the error can be calculated by comparing the input training data with the neural network's output. The calculated error is backpropagated in the reverse direction in the neural network (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 can be updated.
[0058] 3 and 4 are a flowchart and a conceptual diagram of a method for determining the readability of an electrocardiogram signal according to one embodiment of the present disclosure.
[0059] 3 and 4, a method for determining whether an electrocardiogram signal (200) is legible, performed by a computing device according to one embodiment of the present disclosure, may include receiving (S100) an electrocardiogram signal (200) input from an electrocardiogram device, evaluating (S200) the quality of the electrocardiogram signal (200) using a plurality of signal evaluation modules (500), and distinguishing (S300) a legible subinterval (710) from an unlegible subinterval (720) within a total interval (k0) of the electrocardiogram signal using the plurality of signal evaluation modules (500).
[0060] In step S100, an electrocardiogram signal (200) is first measured by an electrocardiogram device. Here, the minimum length of the entire section (k0) of the electrocardiogram signal can be specified by a user or determined depending on the type of electrocardiogram device. In one embodiment, the computing device (100) can directly connect to the electrocardiogram device via the network unit (150) and receive the electrocardiogram signal (200) as input, or the electrocardiogram device can directly acquire the electrocardiogram signal (200). Alternatively, the computing device (100) can acquire the electrocardiogram signal (200) already stored in the memory (130).
[0061] In the above step S200, the computing device (100) can obtain multiple evaluation results (600) for the electrocardiogram signal (200) using the above multiple signal evaluation modules (500), and can evaluate the quality of the electrocardiogram signal (200) based on the above multiple evaluation results (600).
[0062] The electrocardiogram device may include a portable electrocardiogram device that can be used by non-professionals, but when a non-professional measures an electrocardiogram signal, there are many factors, such as noise, that make it difficult to interpret the electrocardiogram signal 200 compared to when a skilled medical staff measures it, making it relatively difficult to obtain a high-quality electrocardiogram signal 200. Therefore, the computing device 100 of the present disclosure can accurately evaluate the quality of the input electrocardiogram signal by incorporating the above-mentioned multiple signal evaluation modules 500.
[0063] Furthermore, since there is no unified standard for the method of evaluating the quality of an electrocardiogram signal, it is possible to complement the limitations of each individual evaluation method and maximize its advantages by introducing the above-mentioned multiple signal evaluation modules 500. Furthermore, as new methods for evaluating the quality of an electrocardiogram signal are continuously developed, it is possible to add or update some modules to the above-mentioned multiple signal evaluation modules 500 in order to improve performance.
[0064] In one embodiment, the plurality of signal evaluation modules (500) can generate a plurality of evaluation results (z1, z2, z3, ... zn) that distinguish between "candidate legible sub-sections" and "candidate indecipherable sub-sections" within the entire section (k0) of the electrocardiogram signal. The computing device (100) can also preprocess the electrocardiogram signal (200) using at least one method before inputting it to the plurality of signal evaluation modules (500). Here, the preprocessing method can be a plurality of preprocessing methods that differ depending on the plurality of signal evaluation modules (500).
[0065] The details of the above-mentioned multiple signal evaluation modules (500) (e.g., the details of the above-mentioned candidate legible subsections, the above-mentioned candidate inlegible subsections, the pre-processing of the above-mentioned different methods, etc.) will be described later using Figures 5 and 6.
[0066] In step S300, the computing device 100 may distinguish between a "readable sub-interval 710" and an "unreadable sub-interval 720" within the entire interval k0 of the electrocardiogram signal based on the "plurality of legible candidate sub-intervals" included in the plurality of evaluation results 600. As an example, the computing device 100 may identify an overlapping interval of the "plurality of legible candidate sub-intervals" included in the plurality of evaluation results 600 and identify the "readable sub-interval 710" based on the overlapping interval. Meanwhile, a more detailed example of the computing device 100 distinguishing between the "readable sub-interval 710" and the "unreadable sub-interval 720" will be described later with reference to FIGS. 5 and 6.
[0067] Furthermore, the method for determining whether the electrocardiogram signal (200) is legible may further include a step (S400) of determining whether the electrocardiogram signal (200) is legible based on the legible subsection (710).
[0068] In step S400, the computing device 100 can determine that the electrocardiogram signal 200 is readable if the longest of the readable sub-intervals 710 is equal to or longer than a predetermined length. On the other hand, the computing device 100 can determine that the electrocardiogram signal 200 is unreadable if the longest of the readable sub-intervals 710 is shorter than a predetermined length. By using the readability determination method, even if the measured electrocardiogram signal 200 contains some noise, it is possible to isolate an interval that is sufficiently diagnosable by a disease diagnosis algorithm, and the user can confirm the disease diagnosis result without performing unnecessary repeated measurements of the electrocardiogram.
[0069] The predetermined length may be set to a length sufficient to provide diagnostic information with a high level of accuracy through the electrocardiogram signal 200, and the level of accuracy may be set differently depending on the purpose of the diagnosis. For example, if the level of accuracy is related to warning of a high-risk disease such as stroke, the level of accuracy may be set higher than if the level of accuracy is related to prognosis prediction of a chronic disease that requires frequent measurements, thereby reducing the possibility of a false negative determination in determining whether or not a stroke has occurred.
[0070] The method for determining whether an electrocardiogram signal (200) is legible in the present disclosure may include a step (S500) of interpreting the electrocardiogram signal (200) if the electrocardiogram signal (200) is determined to be legible. For example, in step (S500), the computing device (100) may interpret the entire section (k0) or the legible subsection (710) of the electrocardiogram signal. For example, the computing device (100) may transmit information about the entire section (k0) or the legible subsection (710) of the electrocardiogram signal to a server at a medical institution or the like via a network unit (150) to interpret the electrocardiogram signal (200). The interpretation may be performed using a disease analysis model utilizing one or more of a rule-based system or artificial intelligence, depending on the purpose.
[0071] On the other hand, if the ECG signal 200 is determined to be unreadable, a step of determining whether or not to perform an ECG retake may be included. If a retake is determined, the computing device 100 may send a signal to the user, such as an alarm, informing the user that a retake of the ECG is necessary, or the ECG device may automatically repeat the retake. The signal may be in any form, such as a visual representation of letters or symbols, a sound, or a vibration, for example.
[0072] 5 and 6 are a flowchart and a conceptual diagram of a method for pre-processing an electrocardiogram signal and determining whether it is legible, according to one embodiment of the present disclosure.
[0073] 5 and 6, the step of evaluating the quality of the electrocardiogram signal (200) using a plurality of signal evaluation modules (500) may include a step (S210) of generating a pre-processed signal based on the electrocardiogram signal (200), and a step (S220) of generating a plurality of evaluation results (600) for the electrocardiogram signal (200).
[0074] In step S210, the processor 110 may perform preprocessing on the electrocardiogram signal 200 by changing the sampling frequency or applying a bandpass filter, where the preprocessing method may be appropriately adjusted depending on the input noise interpretation function (e.g., F1, F2, F3, ... Fn).
[0075] In step S220, each of the signal evaluation modules 500 for the electrocardiogram signal 200 receives the preprocessed signal and inputs it to a plurality of noise interpretation functions 510 to obtain a plurality of evaluation values 520. Here, each of the signal evaluation modules 500 may include a single noise interpretation function 510. The presence of noise in the electrocardiogram signal 200 hinders accurate detection of important clinical characteristics and is a major factor in degrading the quality of the electrocardiogram signal 200. Therefore, by introducing different noise interpretation functions 510 into each of the signal evaluation modules 500, it is possible to search for various noises in the electrocardiogram signal 200 and exclude sections, such as the unintelligible subsection 720, that contain noise from the evaluation process of the electrocardiogram signal 200.
[0076] Furthermore, the plurality of signal evaluation modules (500) can compare the obtained plurality of evaluation values (520) with a plurality of thresholds (530) to obtain a plurality of evaluation results (600) for the entire section (k0) of the electrocardiogram signal.
[0077] As an example, the computing device (100) may preprocess the electrocardiogram signal (200) to obtain n signals constituting the preprocessed signal. Then, the n signals may be input to n functions (F1, F2, F3, ... Fn) constituting a plurality of noise interpretation functions (510) to obtain n evaluation values (y1, y2, y3, ... yn) constituting a plurality of evaluation values (520). Here, the n functions (F1, F2, F3, ... Fn) may output the n evaluation values (y1, y2, y3, ... yn) in parallel. Furthermore, each of the above (n) functions (F1, F2, F3, ... Fn) can be combined with various applicable signal quality assessment functions to define an analyzable ECG segment, and signal quality assessment functions can be freely added or removed using the combinations.
[0078] Next, the computing device 100 can distinguish between a legible candidate subsection and an unreadable candidate subsection within the electrocardiogram signal section based on a predetermined threshold. For example, the computing device 100 can compare each of the (n) evaluation values (y1, y2, y3, ... yn) with each of the (n) thresholds (T1, T2, T3, ... Tn) constituting the plurality of thresholds 530 to obtain an evaluation result (z1, z2, z3, ... zn). Here, if the evaluation value is equal to or less than the threshold, the electrocardiogram signal 200 can be classified as a legible candidate subsection (e.g., j1a, j1c) having a legible quality. If the evaluation value exceeds the threshold, the electrocardiogram signal 200 can be classified as an unreadable candidate subsection (e.g., j1b) corresponding to an unreadable quality. In addition, if the evaluation value is less than a threshold value, the electrocardiogram signal (200) can be classified as a readable candidate sub-section having readable quality, and if the evaluation value is greater than or equal to the threshold value, the electrocardiogram signal (200) can be classified as an unreadable candidate sub-section corresponding to unreadable quality.
[0079] As an example, in the entire section (k0) of the electrocardiogram signal, sections j1a and j1c in which the evaluation value y1 derived by the noise interpretation function F1 is equal to or less than the threshold value T1 can be classified as candidate readable subsections. On the other hand, section j1b in which the evaluation value y1 derived by the noise interpretation function F1 exceeds the threshold value T1 (is equal to or greater than the threshold value T1) can be classified as candidate inreadable subsections.
[0080] The method may further include identifying the legible sub-interval (710) by determining overlapping intervals of the plurality of legible candidate sub-intervals identified by the plurality of signal evaluation modules (500). The overlapping intervals may be intervals defined as legible intervals by combining evaluation results for the electrocardiogram signal (200). For example, noise interpretation functions F1 through Fn are first used to obtain z1, z2, z3, ... zn corresponding to the evaluation results. Next, intervals j1a, j1c, j2a, j2c, j3a, j3c, ... jna corresponding to the legible candidate sub-intervals are identified from the evaluation results. Finally, intervals ka, kc, and ke corresponding to overlapping intervals among the identified legible candidate sub-intervals may be identified as legible sub-intervals (710).
[0081] The signal evaluation modules 500 may include a first type signal evaluation module that identifies the legible candidate subsection or the indecipherable candidate subsection based on continuous evaluation values for the electrocardiogram signal 200. As an example, among the noise interpretation functions 510 included in the signal evaluation modules 500, F1, F2, and Fn generate y1, y2, and yn among the evaluation values 520 that can be expressed as continuous functions over time, and the legible candidate subsection can be obtained in a similar procedure to obtaining j1a and j1c based on y1 and threshold T1, j2a and j2c based on y2 and threshold T2, and jna based on yn and threshold Tn.
[0082] The plurality of signal evaluation modules (500) may include a second-type signal evaluation module that identifies the legible candidate subsection or the unlegible candidate subsection based on an evaluation value for a predetermined segment of the electrocardiogram signal (200). For example, if the predetermined segment of the second-type signal evaluation module is set to 1 second, the second-type signal evaluation module generates k evaluation values for k seconds, which is the entire duration of the electrocardiogram signal, and identifies the legible candidate subsection or the unlegible candidate subsection based on the k evaluation values. For example, for F3, among the plurality of noise interpretation functions (510) included in the plurality of signal evaluation modules (500), y3, which can be expressed as a continuous function over time, can be obtained from the plurality of evaluation values (520). The legible candidate subsection can be obtained based on y3 and a threshold T3 in a similar procedure to obtaining j3a and j3c.
[0083] An example of obtaining an evaluation value for a predetermined segment from the second type signal evaluation module will be described later with reference to FIG.
[0084] FIG. 7 is a conceptual diagram illustrating a method for determining whether an electrocardiogram signal is legible based on segment-based evaluation values according to an embodiment of the present disclosure.
[0085] According to FIG. 7, when the basic evaluation unit (q2) of the second type signal evaluation module is larger than the predetermined segment unit (q1), the second type signal evaluation module can calculate evaluation values (Fs(1), Fs(2), Fs(3), ... Fs(29), Fs(30)) at intervals of the predetermined segment unit (q1) using evaluation values (v1, v2, v3, ... v20, v21) corresponding to the basic evaluation unit (q2).
[0086] As an example, the method of calculating the evaluation values (Fs(1), Fs(2), Fs(3), ... Fs(29), Fs(30)) may include an operation of acquiring evaluation values (v1, v2, v3, ... v20, v21) of a plurality of basic evaluation units (q2) based on a plurality of evaluation starting points arranged at intervals of the predetermined segment unit (q1). Furthermore, the operation of calculating the evaluation value of the predetermined segment unit (q1) may be performed by calculating a representative value (Fs(1), Fs(2), Fs(3), ... Fs(29), Fs(30)) of the evaluation values (v1, v2, v3, ... v20, v21) of the plurality of basic evaluation units at each interval of the predetermined segment unit (q1).
[0087] For example, if the entire section (k0) of the electrocardiogram signal is 30 seconds, the predetermined segment unit (q1) is 1 second, and the basic evaluation unit (q2) is 10 seconds, the evaluation value from 0 to 1 second from the start of electrocardiogram measurement is v1, which corresponds to the representative value Fs(1). Next, the evaluation values from 1 to 2 seconds from the start of electrocardiogram measurement are v1 and v2. If the representative value Fs(2) is set to the average of the evaluation values, it can be expressed as Fs(2) = (v1 + v2) / 2. In this manner, the noise evaluation values (v1, v2, v3, ... v20, v21) are calculated by moving every second, which is the predetermined segment unit (q1). Here, the movement of the segment unit (q1) occurs within the entire section (k0) of the electrocardiogram signal. Next, the representative values (Fs(1), Fs(2), Fs(3), ... Fs(29), Fs(30)) can be defined by averaging valid evaluation values at intervals of 1 second, which is the predetermined segment unit (q1). As a result, even if the basic evaluation unit (q2) required to calculate the noise evaluation values (v1, v2, v3, ... v20, v21) is large, it is possible to obtain representative values (Fs(1), Fs(2), Fs(3), ... Fs(29), Fs(30)) for each predetermined segment unit (q1), and it is possible to obtain readable subintervals with sufficient resolution to check the quality of the ECG signal. For example, when a Gaussian noise function is used to evaluate the electrocardiogram signal (200), it is possible to obtain representative values at predetermined segment unit (q1) intervals and perform evaluation on the electrocardiogram signal (200), regardless of the basic evaluation unit (q2) of the function.
[0088] FIG. 8 is a general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure can be implemented.
[0089] Referring to the description of Figure 8, there is provided a computer program stored on a computer-readable storage medium, which, when executed by one or more processors, causes the one or more processors to perform operations of generating learning data for electrocardiogram diagnosis, and which may include an operation of dividing electrocardiogram data to obtain a plurality of electrocardiogram segments (ECG segments), an operation of classifying the type of each of the plurality of electrocardiogram segments based on at least one of a signal quality evaluation or an electrocardiogram abnormality evaluation, and an operation of generating learning data for electrocardiogram diagnosis based on the classified type of each of the plurality of electrocardiogram segments.
[0090] In accordance with one embodiment of the present disclosure, a computer-readable storage medium having a data structure stored thereon is disclosed.
[0091] A data structure can refer to the organization, management, and storage of data that allows efficient access and modification. A data structure can refer to the organization of data to solve a specific problem (e.g., data retrieval, data storage, data modification) in the shortest possible time. A data structure can also be defined as the physical or logical relationships between data elements designed to support a specific data processing function. Logical relationships between data elements can include the interconnections between data elements as perceived by a user. Physical relationships between data elements can include the actual relationships between data elements physically stored on a computer-readable storage medium (e.g., a hard disk). A data structure can specifically include a collection of data, the relationships between the data, and functions or commands that can be applied to the data. An effectively designed data structure allows a computing device to perform calculations while minimizing the use of computing device resources. Specifically, an effectively designed data structure can increase the efficiency of operations, reading, inserting, deleting, comparing, exchanging, and searching.
[0092] Data structures can be divided into linear and non-linear data structures depending on their type. A linear data structure can be a structure in which only one piece of data is linked to another. Linear data structures can include lists, stacks, queues, and deques. A list can refer to a series of data sets that have an internal order. Lists can also include linked lists. A linked list can be a data structure in which data is linked in a row with a pointer to each piece of data. In a linked list, the pointer can contain information about the connection to the next or previous piece of data. Depending on the type, linked lists can be expressed as singly linked lists, doubly linked lists, or circularly linked lists. A stack can be a data list structure that allows limited data access. A stack can be a linear data structure in which data can only be accessed (e.g., inserted or deleted) at one end of the data structure. Data stored in a stack can be a LIFO (Last in First Out) data structure. A queue is a data structure that allows limited access to data, and unlike a stack, it can be a data structure (FIFO - First in First out) where the slowest data stored is the slowest data available. A deck can be a data structure that allows data to be processed at both ends of the data structure.
[0093] A non-linear data structure may be a structure in which multiple pieces of data are concatenated after one piece of data. A non-linear data structure may include a graph data structure. A graph data structure may be defined by vertices and edges, and a backbone may include a line connecting two different vertices. A graph data structure may include a tree data structure. A tree data structure may be a data structure in which a path connecting two different vertices among multiple vertices included in a tree is a single data structure. In other words, a graph data structure may be a data structure that does not form loops.
[0094] Throughout this specification, the terms computational model, neural network, network function, and neural network are used interchangeably (hereinafter, they will be referred to as neural network). A data structure may include a neural network. The data structure including a neural network may be stored on a computer-readable storage medium. The data structure including a neural network may also include data input to the neural network, neural network weights, neural network hyperparameters, data acquired from the neural network, activation functions associated with each node or layer of the neural network, and a loss function for training the neural network. The data structure including a neural network may include any of the components disclosed above. That is, the data structure including a neural network may include all or any combination of data input to the neural network, neural network weights, neural network hyperparameters, data acquired from the neural network, activation functions associated with each node or layer of the neural network, and a loss function for training the neural network. In addition to the above-mentioned components, the data structure including a neural network may include any other information that determines the characteristics of the neural network. Furthermore, the data structure may include any form of data used or generated in the computational process of a neural network, and is not limited to the foregoing. The computer-readable storage medium may include a computer-readable recording medium and / or a computer-readable transmission medium. A neural network may be composed of a collection of interconnected computational units generally called nodes. Such nodes may be called neurons. A neural network is composed of at least one or more nodes.
[0095] The data structure may include data to be input to the neural network. The data structure including the data to be input to the neural network may be stored in a computer-readable storage medium. The data to be input to the neural network may include training data input during the training process of the neural network and / or input data to be input to the neural network after training has been completed. The data to be input to the neural network may include data that has undergone pre-processing and / or data to be pre-processed. Pre-processing may include a data processing process for inputting data to the neural network. Therefore, the data structure may include data to be pre-processed and data generated by pre-processing. The above-described data structures are merely examples, and the present disclosure is not limited thereto.
[0096] The data structure may include weights of the neural network. (In this specification, the terms "weights" and "parameters" may be used interchangeably.) The data structure including the weights of the neural network may be stored in a computer-readable storage medium. The neural network may include multiple weights. The weights are variable and may be changed by a user or an algorithm to enable the neural network to perform a desired function. For example, if one or more input nodes are interconnected to an output node by respective links, the output node may determine its output node value based on the values input to the input nodes connected to the output node and the parameters set for the links corresponding to each input node. The above data structure is merely exemplary, and the present disclosure is not limited thereto.
[0097] By way of example and not limitation, the weights may include weights that change during neural network training and / or weights at which neural network training has been completed. The weights that change during neural network training may include weights at the start of a training cycle and / or weights that change during a training cycle. The weights at which neural network training has been completed may include weights at which a training cycle has been completed. Therefore, a data structure including neural network weights may include a data structure including weights that change during neural network training and / or weights at which neural network training has been completed. Therefore, the above-mentioned weights and / or combinations of each weight are included in a data structure including neural network weights. The above-mentioned data structures are merely examples, and the present disclosure is not limited thereto.
[0098] The data structure including the neural network weights may be stored in 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 another computing device and later reconstructed for use. A computing device may serialize the data structure and transmit or receive the data over a network. The serialized data structure including the neural network weights may be reconstructed on the same or another computing device through deserialization. The data structure including the neural network weights is not limited to serialization. Furthermore, the data structure including the neural network weights may include a data structure (e.g., a nonlinear data structure such as a B-tree, a Trie, an m-way search tree, an AVL tree, or a Red-Black tree) that increases computational efficiency while minimizing the use of computing device resources. The foregoing is merely exemplary, and the present disclosure is not limited thereto.
[0099] The data structure may include hyperparameters of the neural network. The data structure including the hyperparameters of the neural network may be stored in a computer-readable storage medium. The hyperparameters may be variables that can be changed by a user. The hyperparameters may include, for example, a learning rate, a cost function, the number of learning cycle iterations, weight initialization (e.g., setting a range of weights 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 above-described data structure is merely exemplary, and the present disclosure is not limited thereto.
[0100] While the present disclosure has been described above as generally being embodied in a computing device, those skilled in the art will appreciate that the present disclosure can also be embodied 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.
[0101] Generally, modules herein include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Those skilled in the art will also appreciate that the methods of the present disclosure can be practiced with 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 can operate in conjunction with one or more associated devices.
[0102] The embodiments described in this disclosure may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
[0103] A computer includes a variety of computer-readable media. Any medium accessible by a computer can be computer-readable, including volatile and nonvolatile media, transitory and non-transitory media, and portable and non-portable media. By way of example and not limitation, computer-readable media can 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, portable and non-portable media implemented in any method or technology 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 technology, CD-ROM, digital video disk (DVD) or other optical disk storage devices, magnetic cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be accessed by a computer and used to store information.
[0104] Computer-readable transmission media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes all information delivery media. The term modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, computer-readable transmission media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Any combination of any of the foregoing media should also be included within the scope of computer-readable transmission media.
[0105] An exemplary environment (1100) for implementing various aspects of the present disclosure is shown, including a computer (1102) including a processing unit (1104), a system memory (1106), and a system bus (1108). The system bus (1108) couples system components, including but not limited to the system memory (1106), to the processing unit (1104). The processing unit (1104) can be any of a variety of commercially available processors. Dual processors and other multi-processor architectures can also be utilized as the processing unit (1104).
[0106] The system bus (1108) can be any of several types of bus structures that can be further interconnected to a memory bus, a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The 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, or EEPROM. The BIOS contains the basic routines that support the exchange of information between the various components within the computer (1102), such as during startup. The RAM (1112) can also include high-speed RAM, such as static RAM, for caching data.
[0107] The computer 1102 also includes an internal hard disk drive (HDD) 1114 (e.g., EIDE, SATA)—the internal hard disk drive 1114 can also be configured for external use in a suitable chassis (not shown)—a magnetic floppy disk drive (FDD) 1116 (e.g., for reading from and writing to a removable diskette 1118), and an optical disk drive 1120 (e.g., for reading from a CD-ROM disk 1122 or for reading from and writing to other high-capacity optical media such as DVDs). The hard disk drive 1114, magnetic disk drive 1116, and optical disk drive 1120 can 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, respectively. The interface (1124) for implementing an external drive includes, for example, at least one or both of USB (Universal Serial Bus) and IEEE 1394 interface technologies.
[0108] These drives and their associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, etc. In the case of computer 1102, the drives and media accommodate storing any data in a suitable digital format. While the foregoing description of computer-readable storage media refers to hard disk drives, removable magnetic disks, and removable optical media such as CDs or DVDs, those skilled in the art will appreciate that other types of computer-readable storage media, such as zip drives, magnetic cassettes, flash memory cards, cartridges, etc., can also be used in the exemplary operating environment, and that any such media can contain computer-executable instructions for performing the methods of the present disclosure.
[0109] 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 on the drives and in RAM 1112. All or portions of the operating system, applications, modules, and / or data may also be cached in RAM 1112. It will be appreciated that the present disclosure may be implemented with various commercially available operating systems or combinations of operating systems.
[0110] A user can enter commands and information into the computer 1102 through one or more wired or wireless input devices, such as a keyboard 1138 and a pointing device such as 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, and the like. These and other input devices are often connected to the processing unit 1104 through an input device interface 1142 connected to the system bus 1108, but may also be connected through other interfaces such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, and the like.
[0111] A monitor 1144 or other type of display device is also connected to the system bus 1108 through an interface, such as a video adapter 1146. In addition to the monitor 1144, computers typically include other peripheral output devices (not shown), such as speakers, printers, etc.
[0112] The computer 1102 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1148, via wired and / or wireless communications. The remote computer(s) 1148 can be a workstation, a server computer, a router, a personal computer, a handheld computer, a microprocessor-based entertainment device, a peer device, or other conventional network node, and typically includes many or all of the components described for the computer 1102, although for simplicity, only a memory storage device 1150 is shown. The logical connections shown include wired and wireless connections in a local area network (LAN) 1152 and / or larger networks, e.g., a long-range network (WAN) 1154. Such LAN and WAN networking environments are commonplace in offices and companies and facilitate enterprise-wide computer networks, such as intranets, all of which may connect to a global computer network, e.g., the Internet.
[0113] When used in a LAN networking environment, the computer 1102 connects to the local network 1152 through a wired and / or wireless communication network interface or adapter 1156. The adapter 1156 can facilitate wired or wireless communication to the LAN 1152, which may also include a wireless access point attached thereto for communicating with the wireless adapter 1156. When used in a WAN networking environment, the computer 1102 can include a modem 1158 or other means for establishing communications over the WAN 1154, such as connecting to a communications server on the WAN 1154 or through the Internet. The modem 1158, which can be internal or external and can be a wired or wireless device, connects to the system bus 1108 through the serial port interface 1142. In a networked environment, program modules described for computer 1102, or portions thereof, may be stored in remote memory / storage device 1150. It will be readily appreciated that the network connections shown are exemplary and other means of establishing a communications link between two or more computers may be used.
[0114] The computer 1102 is operable to communicate with any wireless device or unit configured and operating in a wireless manner, such as printers, scanners, desktop and / or handheld computers, portable data assistants (PDAs), communications satellites, any equipment or location associated with a radio-detectable tag, and telephones. This includes at least Wi-Fi and Bluetooth® wireless technologies. Thus, communication can be in a predefined structure, such as a traditional network, or simply ad hoc communication between at least two devices.
[0115] Wi-Fi (Wireless Fidelity) allows devices to connect to the Internet without being wired. Wi-Fi is a wireless technology similar to cell phones, allowing such devices, such as computers, to send and receive data indoors and outdoors—anywhere within the coverage area of a base station. Wi-Fi networks use IEEE 802.11 (a, b, g, etc.) radio technology to provide secure, reliable, and fast wireless connections. Wi-Fi can be used to connect computers to each other, the Internet, and wired networks (using IEEE 802.3 or Ethernet). Wi-Fi networks can operate in the unlicensed 2.4 or 5 GHz radio bands, at data rates of, for example, 11 Mbps (802.11a) or 54 Mbps (802.11b), or in products that include both bands (dual bands).
[0116] Those skilled in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, the data, instructions, commands, information, signals, bits, symbols, and chips referred to in the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields, etc. or particles, optical fields, etc. or particles, or any combination thereof.
[0117] Those skilled in the art will appreciate that the various illustrative logic blocks, modules, processors, means, circuits, and algorithm steps described in the description of the embodiments disclosed herein can be implemented with electronic hardware, various forms of program or design code (for convenience, referred to herein as "software"), or a combination of all of these. To clearly illustrate this interoperability of hardware and software, the various illustrative components, blocks, modules, circuits, and steps have been described above generally by focusing on their functionality. Whether such functionality is implemented in hardware or software depends on the particular application and design constraints imposed on the overall system. Those skilled in the art will appreciate that the described functionality can be implemented in various ways for each particular application, and such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0118] Various embodiments described herein may be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques. The term "article of manufacture" includes any computer program, carrier, or media accessible by a computer-readable 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 disks (e.g., CDs, DVDs, etc.), smart cards, and flash memory devices (e.g., EEPROMs, cards, sticks, key drives, etc.). Additionally, various storage media described herein include one or more devices and / or other machine-readable media for storing information.
[0119] It should be understood that the specific order or hierarchy of steps in the processes depicted is an example of an exemplary approach. Based on design priorities, it should be understood that the specific order or hierarchy of steps in the processes may be rearranged within the scope of this disclosure. The accompanying method claims present elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy depicted.
[0120] The description of the illustrated embodiments is provided to enable any person skilled in the art to which the disclosure pertains to use or practice the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited by the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0121] As described above, the related content has been described based on the best mode for carrying out the invention.
Claims
1. 1. A method for determining the readability of an electrocardiogram signal, performed by a computing device, comprising: assessing the quality of the electrocardiogram signal using a plurality of signal assessment modules; and distinguishing between legible and indecipherable sub-intervals within the electrocardiogram signal based on the evaluation results of the plurality of signal evaluation modules; Including, method.
2. In claim 1, The step of assessing the quality of the electrocardiogram signal comprises: generating a preprocessed signal based on the electrocardiogram signal using at least one preprocessing method; and generating a plurality of evaluation results for the electrocardiogram signal using the preprocessed signal and the plurality of signal evaluation modules; Including, method.
3. In claim 1, the plurality of signal evaluation modules each including a different noise interpretation function; method.
4. In claim 3, Each of the plurality of signal evaluation modules comprises: identifying candidate legible sub-intervals and candidate inlegible sub-intervals within the electrocardiogram signal interval based on a predetermined threshold value; method.
5. In claim 4, The threshold value is determined depending on the type of the noise interpretation function. method.
6. In claim 4, The step of distinguishing between legible and indecipherable sub-intervals within the electrocardiogram signal interval based on the evaluation results of the plurality of signal evaluation modules comprises: identifying overlapping intervals of the plurality of candidate legible subintervals identified by the plurality of signal evaluation modules and identifying the legible subinterval based thereon; Including, method.
7. In claim 4, The plurality of signal evaluation modules: a first type signal evaluation module for identifying the candidate legible sub-intervals or the candidate inlegible sub-intervals based on successive evaluations of the electrocardiogram signal; Or, a second type signal evaluation module for identifying the candidate legible sub-section or the candidate inlegible sub-section based on an evaluation value of a predetermined segment unit of the electrocardiogram signal; and including at least one of the following: method.
8. In claim 7, The second type signal evaluation module comprises: If the basic evaluation unit of the second type signal evaluation module is larger than the predetermined segment unit: calculating an evaluation value for each of the predetermined segments using the evaluation value for each of the basic evaluation units; method.
9. In claim 8, The second type signal evaluation module comprises: If the basic evaluation unit of the second type signal evaluation module is larger than the predetermined segment unit: An operation of obtaining evaluation values of a plurality of basic evaluation units based on a plurality of evaluation starting points arranged at intervals of the predetermined segment unit; and An operation of calculating an evaluation value for the predetermined segment unit by calculating a representative value of the evaluation values for the plurality of basic evaluation units from each of the intervals of the predetermined segment unit. To execute method.
10. In claim 1, inputting the entire interval of the electrocardiogram signal or the readable subinterval into a disease analysis model if the longest interval among the readable subintervals is equal to or greater than a predetermined length; or determining whether to remeasure the electrocardiogram signal if the longest legible subinterval is less than a predetermined length; Further includes at least one of the following data: method.
11. 1. A method for determining whether remeasurement of an electrocardiogram signal is necessary, performed by a computing device, the method comprising: distinguishing between legible and indecipherable subintervals within the electrocardiogram signal; and determining whether or not the electrocardiogram signal needs to be remeasured based on the distinguished legible sub-intervals; Including, method.
12. A computer program stored on a computer-readable storage medium, the computer program, when executed on one or more processors, causing the one or more processors to perform the following operations for determining whether an electrocardiogram signal is readable, the operations comprising: evaluating the quality of the electrocardiogram signal using a plurality of signal evaluation modules; and distinguishing between legible and indecipherable subintervals within the electrocardiogram signal based on the evaluation results of the plurality of signal evaluation modules; Including, A computer program stored on a computer-readable storage medium.
13. 1. A computing device comprising: at least one processor; memory; Including, The at least one processor assessing the quality of the electrocardiogram signal using a plurality of signal assessment modules; and and configured to distinguish between legible and indecipherable sub-intervals within the electrocardiogram signal based on evaluation results of the plurality of signal evaluation modules. Device.
Citation Information
Patent Citations
Biological state analysis system
JP2011152194A
User authentication method and device using biological signal
JP2016126775A
Automatic electrocardiogram analysis apparatus
JP2017192607A
Cascaded binary classifier for identifying rhythms in single-lead electrocardiogram (ECG) signal
JP2019055173A
Portable electrocardiographic device and electrocardiographic measurement system
JP2021145906A