Electrocardiogram signal processing method
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- VUNO INC
- Filing Date
- 2026-01-13
- Publication Date
- 2026-07-30
Smart Images

Figure KR2026000681_30072026_PF_FP_ABST
Abstract
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 designed to allow users to measure their ECGs directly without the assistance of medical professionals visiting a hospital. However, when measurements are taken by non-experts, lead reversals occur more frequently than in a hospital setting. Lead reversal refers to instances where electrodes are attached to the wrong position or their positions are swapped during measurement. For example, this includes cases where the right-hand electrode is switched with the left-hand electrode.
[0003] An electrocardiogram (ECG) signal in which lead inversion occurs exhibits a waveform pattern different from the original ECG signal. Consequently, medical professionals interpreting the signal or algorithms analyzing the ECG may make incorrect diagnoses.
[0004] Existing algorithms for detecting lead reversals are based on 12-lead electrocardiograms. Consequently, research on lead reversal detection methods based on limb leads or single leads is rare. However, since limb leads are commonly used in portable electrocardiogram devices, research on lead reversal detection methods based on limb leads or single leads is urgently needed.
[0005] U.S. Patent No. 10,045,708 (Date of Registration: August 14, 2018) discloses a method of detecting the wearing limb of a wearable electronic device.
[0006] The present disclosure aims to provide a method for detecting whether the lead of a measurement electrode of a portable electrocardiogram measuring device is inverted and for using a new electrocardiogram signal for electrocardiogram reading.
[0007] A method for processing an electrocardiogram signal performed by a computing device is disclosed according to an embodiment of the present disclosure for realizing the aforementioned objectives. The method may include the steps of acquiring an electrocardiogram signal, detecting a lead inversion based on the electrocardiogram signal using a neural network model, and inputting the electrocardiogram signal or a new electrocardiogram signal into an electrocardiogram reading model according to the result of detecting the lead inversion.
[0008] In one embodiment, the step of inputting the electrocardiogram signal or the new electrocardiogram signal into the electrocardiogram reading model may include, when the lead inversion is detected, a step of correcting the electrocardiogram signal based on lead-specific conversion information, and a step of inputting the corrected electrocardiogram signal into the electrocardiogram reading model as the new electrocardiogram signal.
[0009] In one embodiment, the lead-by-lead conversion information may include a lead-by-lead conversion relationship between a normal electrocardiogram signal and a lead-inverted electrocardiogram signal.
[0010] In one embodiment, the normal electrocardiogram signal is a signal measured with a plurality of electrodes in contact with a predetermined location on the user's body, and the lead-inverted electrocardiogram signal may be a signal measured with the contact positions of two of the plurality of electrodes swapped.
[0011] In one embodiment, the neural network model may be a model trained using training data including a normal electrocardiogram signal and a lead-inverted electrocardiogram signal generated based on the lead-by-lead conversion information.
[0012] In one embodiment, the step of inputting the electrocardiogram signal or the new electrocardiogram signal into the electrocardiogram reading model may include the step of correcting the electrocardiogram signal based on lead-specific conversion information when the lead inversion is detected, and the step of verifying the corrected electrocardiogram signal using a signal verification model to determine whether to input the corrected electrocardiogram signal into the electrocardiogram reading model.
[0013] In one embodiment, the step of inputting the electrocardiogram signal or the new electrocardiogram signal into the electrocardiogram reading model may include: correcting the electrocardiogram signal based on lead-specific conversion information when lead inversion is detected; verifying the corrected electrocardiogram signal using a signal verification model to determine whether to input the corrected electrocardiogram signal into the electrocardiogram reading model; sending a message to the user guiding re-measurement when lead inversion is detected as a result of the verification; and obtaining the re-measured electrocardiogram signal from the user.
[0014] In one embodiment, in the step of transmitting a message guiding the user to re-measure, a message guiding the normal contact position of the electrode may be transmitted along with the message guiding the re-measurement.
[0015] In one embodiment, the method may further include the step of re-verifying lead inversion based on the re-measured electrocardiogram signal using the neural network model, and, if lead inversion is not detected as a result of the re-verification, the step of inputting the re-measured electrocardiogram signal as the new electrocardiogram signal into the electrocardiogram reading model.
[0016] In one embodiment, the method may further include the step of additionally training the neural network model based on the re-measured electrocardiogram signal input to the electrocardiogram reading model.
[0017] A computer program stored on a computer-readable storage medium according to one embodiment of the present disclosure for realizing the aforementioned objectives is disclosed. When the computer program is executed on one or more processors, the one or more processors are configured to perform the following operations, wherein the operations may include the operation of acquiring an electrocardiogram signal, the operation of detecting a lead inversion based on the electrocardiogram signal using a neural network model, and the operation of inputting the electrocardiogram signal or a new electrocardiogram signal into an electrocardiogram reading model according to the result of detecting the lead inversion.
[0018] 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, detect a lead inversion based on the electrocardiogram signal using a neural network model, and input the electrocardiogram signal or a new electrocardiogram signal to an electrocardiogram reading model according to the result of detecting the lead inversion.
[0019] The present disclosure provides a method for detecting whether the lead of a measurement electrode of a portable electrocardiogram measuring device is reversed and using a new electrocardiogram signal for electrocardiogram reading, thereby having the effect of reducing the possibility of misreading by an algorithm for reading an electrocardiogram.
[0020] FIG. 1 is a block diagram of a computing device performing operations according to one embodiment of the present disclosure.
[0021] FIG. 2 is a schematic diagram showing a neural network according to one embodiment of the present disclosure.
[0022] FIG. 3 is a flowchart for explaining an electrocardiogram signal processing method according to one embodiment of the present disclosure.
[0023] FIG. 4 is a drawing for explaining a method for measuring an electrocardiogram signal according to one embodiment of the present disclosure.
[0024] FIG. 5 is a drawing showing a normally measured electrocardiogram according to one embodiment of the present disclosure.
[0025] FIG. 6 is a diagram showing a lead-inverted electrocardiogram according to one embodiment of the present disclosure.
[0026] FIG. 7 is a diagram showing read-by-read conversion information according to one embodiment of the present disclosure.
[0027] FIG. 8 is a flowchart for further explaining an electrocardiogram signal processing method according to one embodiment of the present disclosure.
[0028] FIG. 9 is a flowchart for explaining an electrocardiogram signal processing method according to another embodiment of the present disclosure.
[0029] FIG. 10 is a brief and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.
[0030] 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.
[0031] 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).
[0032] 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.
[0033] 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.”
[0034] 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.”
[0035] 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.
[0036] 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.
[0037] 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.).
[0038] 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.
[0039] 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).
[0040] 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.
[0041] FIG. 1 is a block diagram of a computing device performing operations according to one embodiment of the present disclosure.
[0042] 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 components may constitute the computing device (100).
[0043] The computing device (100) may include a processor (110), memory (130), and a network unit (150).
[0044] 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.
[0045]
[0046] The processor (110) of the present disclosure can detect whether there is a lead reversal based on an electrocardiogram signal measured by a portable electrocardiogram measuring device. In particular, when using a portable electrocardiogram measuring device, a lead reversal in which the left arm (LA) and right arm (RA) leads are reversed may occur frequently. The processor (110) can detect whether there is a lead reversal and input a new electrocardiogram signal into an electrocardiogram reading model. Here, the new electrocardiogram signal may be a corrected electrocardiogram signal obtained by correcting the electrocardiogram signal in which a lead reversal was detected, or a re-measured electrocardiogram signal obtained by inducing the user to measure the electrocardiogram again.
[0047] The processor (110) of the present disclosure can detect whether the lead of a measurement electrode is reversed by utilizing a neural network model. Therefore, it can detect whether the lead is reversed with higher accuracy than a rule-based algorithm. In addition, while conventional methods required chest lead electrocardiogram signals to detect lead reversal, the neural network model of the present disclosure can detect whether the lead is reversed using only limb lead or single lead electrocardiogram signals.
[0048] According to embodiments of the present disclosure, when a lead inversion is detected, the processor can provide the effect of reducing the likelihood of the lead inversion recurring in the future by guiding the user to the correct measurement method. In addition, when a lead inversion is detected, the processor can input a new electrocardiogram signal into an electrocardiogram reading model, thereby reducing the possibility of misinterpretation by the electrocardiogram reading algorithm.
[0049]
[0050] 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).
[0051] 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.
[0052] 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).
[0053] 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.
[0054] 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.
[0055] FIG. 2 is a schematic diagram showing a neural network according to one embodiment of the present disclosure.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] 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).
[0065] 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.
[0066] 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.
[0067] 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.
[0068]
[0069] 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 drawing for explaining an electrocardiogram signal measurement method according to one embodiment of the present disclosure.
[0070] Referring to FIG. 3, a processor can acquire an electrocardiogram signal output from a portable electrocardiogram measuring device (S110). The portable electrocardiogram measuring device of the present disclosure may include a first measuring electrode, a second measuring electrode, and a third measuring electrode. The first measuring electrode, the second measuring electrode, and the third measuring electrode may receive electrical signals generated according to the electrical activity of the user's heart. The portable electrocardiogram measuring device may measure an electrocardiogram based on the potential difference of electrical signals received from at least two electrodes and output the measured electrocardiogram signal. This may be referred to as a bipolar lead. Alternatively, the portable electrocardiogram measuring device may measure an electrocardiogram signal based on the potential difference between an electrical signal received from one electrode and an electrical reference point and output the measured electrocardiogram signal. This may be referred to as a unipolar lead.
[0071] Referring to FIG. 4, the first measurement electrode (ME1) may be a left arm (LA) electrode, the second measurement electrode (ME2) may be a right arm (RA) electrode, and the third measurement electrode (ME3) may be a left leg (LL) measurement electrode. The third measurement electrode (ME3) may be located on the surface that contacts the left leg in a portable electrocardiogram measuring device. Although FIG. 4 shows the third measurement electrode (ME3) being placed on the same surface as the first measurement electrode (ME1) and the second measurement electrode (ME2), in reality, since the third measurement electrode (ME3) must be in contact with the user's left leg, it can be understood that it is placed on the opposite surface of the first measurement electrode (ME1) and the second measurement electrode (ME2). A portable electrocardiogram measuring device can output an electrocardiogram signal based on electrical signals measured from a first measuring electrode (ME1), a second measuring electrode (ME2), and a third measuring electrode (ME3) in contact with each body part. The electrocardiogram signal may include Lead I, Lead II, Lead III, Lead aVR, Lead aVL, and Lead aVF signals. Leads I, Lead II, and Lead III are standard limb leads that are bipolar leads, and Leads aVR, Lead aVL, and Lead aVF may be amplified limb leads that are unipolar leads. In this disclosure, "lead" and "lead" are used interchangeably.
[0072] Referring again to FIG. 3, the processor can detect whether the lead of the measurement electrode is reversed based on the electrocardiogram signal by utilizing a neural network model (S120). The neural network model may refer to a lead reversal detection model. Lead reversal may refer to cases where the electrode is contacted in the wrong position or the electrode is incorrectly connected during electrocardiogram measurement. For example, this may apply to cases where the user contacts the second measurement electrode to the left arm and the first measurement electrode to the right arm to measure the electrocardiogram.
[0073] The processor detects whether a lead is inverted and, depending on the result of the lead inversion detection, can input the electrocardiogram signal or a new electrocardiogram signal into an electrocardiogram reading model (S130). Here, the new electrocardiogram signal may be a corrected electrocardiogram signal obtained by correcting the electrocardiogram signal in which a lead inversion was detected, or a re-measured electrocardiogram signal obtained by inducing the user to measure the electrocardiogram again. The corrected electrocardiogram signal may be a signal obtained by correcting the lead-inverted electrocardiogram signal based on lead-specific conversion information.
[0074] In embodiments of the present disclosure, when lead inversion occurs by a user contacting a second measuring electrode to the left arm and a first measuring electrode to the right arm to measure an electrocardiogram, the electrocardiogram signal that would have been obtained if the user had contacted the left arm to the first measuring electrode and the right arm to the second measuring electrode can be generated as the corrected electrocardiogram signal.
[0075]
[0076] FIG. 5 is a drawing showing a normally measured electrocardiogram according to one embodiment of the present disclosure, and FIG. 6 is a drawing showing a lead-inverted electrocardiogram according to one embodiment of the present disclosure.
[0077] Comparing Figures 5 and 6, the electrocardiogram signal with lead inversion differs in the waveform pattern from the electrocardiogram signal measured normally. The electrocardiogram signal measured normally may refer to the electrocardiogram signal measured while the measurement electrodes are in contact with the normal contact positions on the user's body parts. The normal contact positions of the measurement electrodes may refer to standardized positions for recording accurate cardiac electrical signals. In other words, the normal contact positions can be understood as predetermined measurement body parts for the measurement electrodes.
[0078] Because the waveform of an electrocardiogram signal with lead inversion differs from that of a normally measured signal, medical professionals interpreting the signal or algorithms reading the signal may make an incorrect diagnosis.
[0079] According to embodiments of the present disclosure, when a lead inversion is detected in an electrocardiogram signal, the processor guides the user to the correct measurement method, thereby having the effect of reducing the frequency of lead inversion in the future. In addition, when a lead inversion is detected, inputting a corrected electrocardiogram signal or a re-measured electrocardiogram signal into an electrocardiogram reading model has the effect of reducing the possibility of misinterpretation by the electrocardiogram reading algorithm.
[0080]
[0081] FIG. 7 is a diagram showing read-by-read conversion information according to one embodiment of the present disclosure.
[0082] Lead-specific conversion information may refer to the lead-specific conversion relationship between a normal electrocardiogram signal and a lead-inverted electrocardiogram signal. The normal electrocardiogram signal may be a signal measured with three measurement electrodes for measuring limb leads in contact with the normal contact positions of the user's body parts. The lead-inverted electrocardiogram signal of the lead-specific conversion information may be a signal in which the contact positions of two of the three measurement electrodes for measuring limb leads are swapped.
[0083] Meanwhile, when using a portable electrocardiogram (ECG) measuring device, lead inversion, in which the left arm (LA) and right arm (RA) leads are reversed, may occur frequently. The lead-by-lead conversion information of the present disclosure may refer to the lead-by-lead conversion relationship between a normal ECG signal and a lead-inverted ECG signal when the left arm (LA) electrode and the right arm (RA) electrode are in contact with each other in reverse. That is, in the present disclosure, the occurrence of lead inversion may refer to the case where left arm (LA)-right arm (RA) lead inversion occurs when measuring an ECG by contacting the first measuring electrode to the right arm and the second measuring electrode to the left arm.
[0084] Referring to Fig. 7, when lead inversion occurs, the polarity of the lead I signal can be reversed as (-1) * lead I.
[0085]
[0086] When lead inversion occurs, the signal that should be measured at Lead II may be measured at Lead III, and the signal that should be measured at Lead III may be measured at Lead II. In other words, the signals at Lead II and Lead III may be swapped.
[0087] If lead inversion occurs, the signal that should be measured at lead aVR may be measured at lead aVL, and the signal that should be measured at lead aVL may be measured at lead aVR. In other words, the lead aVR signal and the lead aVL signal can be swapped. If lead inversion occurs, the lead aVF signal may not change.
[0088]
[0089] According to embodiments of the present disclosure, when lead inversion is detected as a result of a lead inversion detection model, the processor can obtain a corrected electrocardiogram signal by correcting the lead-inverted electrocardiogram signal using lead-specific conversion information. A method for correcting the lead-inverted electrocardiogram signal using lead-specific conversion information is as follows.
[0090] By multiplying the Lead I signal of the lead inverted electrocardiogram signal by (-1), the Lead I signal of the normal electrocardiogram signal can be obtained.
[0091] By swapping the Lead III and Lead II signals of the lead-inverted electrocardiogram signal, the Lead II and Lead III signals of the normal electrocardiogram signal can be obtained.
[0092] By swapping the lead aVL and lead aVR signals of the lead inverted electrocardiogram signal, the lead aVR and lead aVL signals of the normal electrocardiogram signal can be obtained.
[0093] The lead aVF signal of a lead inverted electrocardiogram signal can correspond directly to the lead aVF signal of a normal electrocardiogram signal.
[0094] The lead inversion detection model of the present disclosure can be trained using training data including lead-inverted electrocardiogram signals. The lead inversion detection model may be a Convolutional Neural Network (CNN) model that learns the pattern of the electrocardiogram waveform, or a Transformer model that learns the overall pattern of the electrocardiogram signal and the correlation between leads.
[0095] First, the processor can acquire a normally measured limb lead electrocardiogram signal or a single lead electrocardiogram signal as a normal electrocardiogram signal. The processor can generate a lead-inverted electrocardiogram signal based on the normal electrocardiogram signal and lead-specific conversion information. The processor can train a lead inversion detection model using training data containing the lead-inverted electrocardiogram signal. The method of generating a lead-inverted electrocardiogram signal based on the normal electrocardiogram signal and lead-specific conversion information can be performed by inversely applying a method of correcting the lead-inverted electrocardiogram signal using lead-specific conversion information.
[0096] The lead reversal detection model of the present disclosure can detect whether a lead is reversed using only limb lead or single-lead electrocardiogram signals. Therefore, chest lead electrocardiogram signals may not be required to detect lead reversal. In addition, since the lead reversal detection model of the present disclosure utilizes a deep learning model, it can detect whether a lead is reversed with higher accuracy compared to rule-based algorithms.
[0097]
[0098] FIG. 8 is a flowchart for further explaining an electrocardiogram signal processing method according to one embodiment of the present disclosure.
[0099] Referring to FIG. 8, an electrocardiogram signal can be input to a lead inversion detection model (S210). The output of the lead inversion detection model can be output as a probability (p) of a lead inversion state through a sigmoid function (f(x)) (S220).
[0100] The processor can compare the probability (p) of a lead inversion state with a threshold value (τ) (S230). If the probability (p) of a lead inversion state is smaller than the threshold value (τ), the processor can determine that no lead inversion has occurred (YES of S230). That is, as a result of lead inversion detection, the processor can determine that no lead inversion has been detected in the electrocardiogram signal (ES1).
[0101] The processor can input the input electrocardiogram signal (ES1) into the electrocardiogram reading model (S240).
[0102] The processor can determine that a lead inversion has occurred if the probability (p) of the lead inversion state is greater than or equal to the threshold (τ) (NO of S230). That is, as a result of detecting a lead inversion, the processor can determine that a lead inversion has been detected in the electrocardiogram signal (ES1).
[0103] If the processor determines that a lead inversion has been detected, it can correct the electrocardiogram signal (ES1) based on lead-specific conversion information (S260). The processor can input the corrected electrocardiogram signal (ES2) as a new electrocardiogram signal into the electrocardiogram reading model (S240).
[0104] The processor can obtain an electrocardiogram reading result (ER) by utilizing an electrocardiogram reading model. The processor can output the electrocardiogram reading result (ER) to the user through a user interface (S250).
[0105] According to the embodiments of the present disclosure, when lead inversion is detected, inputting the corrected electrocardiogram signal into an electrocardiogram reading model has the effect of reducing the possibility of misreading by an algorithm for reading an electrocardiogram.
[0106] Additionally, if the processor determines that lead inversion has been detected, it may send a message to the user guiding them to the normal contact position of the electrode. As described above, the normal contact position of the measurement electrode may refer to a standardized position for recording accurate cardiac electrical signals. In other words, the normal contact position can be understood as a predetermined correct contact position for the measurement electrode. Accordingly, the processor may guide the user to the exact location of the user's body part for each measurement electrode using text, images, voice, etc.
[0107] Accordingly, according to the embodiments of the present disclosure, when lead inversion is detected in an electrocardiogram signal, the processor guides the user to the correct measurement method, thereby having the effect of reducing the frequency of lead inversion in the future.
[0108]
[0109] FIG. 9 is a flowchart for explaining an electrocardiogram signal processing method according to another embodiment of the present disclosure.
[0110] Referring to FIG. 9, an electrocardiogram signal (ES1) can be input to a lead inversion detection model (S310). The output of the lead inversion detection model can be output as a probability (p) of a lead inversion state through a sigmoid function (f(x)) (S320).
[0111] The processor can compare the probability (p) of a lead inversion state with a threshold value (τ) (S330). If the probability (p) of a lead inversion state is less than the threshold value (τ), the processor can determine that no lead inversion has occurred (YES of S330). That is, as a result of lead inversion detection, the processor can determine that no lead inversion was detected in the electrocardiogram signal (ES1). The processor can input the electrocardiogram signal (ES1) into an electrocardiogram reading model (S340).
[0112] The processor can determine that a lead inversion has occurred if the probability (p) of the lead inversion state is greater than or equal to the threshold value (τ) (NO of S330). That is, as a result of detecting a lead inversion, the processor can determine that a lead inversion has been detected in the electrocardiogram signal (ES1).
[0113] If the processor determines that a lead inversion has been detected, it can correct the electrocardiogram signal (ES1) based on lead-specific conversion information (S360). The processor can input the corrected electrocardiogram signal (ES2) into a signal verification model, and the signal verification model can determine the reliability of the corrected electrocardiogram signal (ES2) based on the corrected electrocardiogram signal (ES2) (S370). Here, the signal verification model may be the same neural network model as the lead inversion detection model described above, or it may be a separate machine learning model that detects lead inversion in the electrocardiogram signal.
[0114] The output of the signal verification model can be calculated as an evaluation value (p') through an evaluation function (g(x')) (S380).
[0115] As an embodiment of the present invention, when the signal verification model is implemented as a neural network model identical to the lead inversion detection model described above, the evaluation function (g(x')) can be defined as a sigmoid function, and the evaluation value (p') can be calculated as the probability of a lead inversion state through the sigmoid function.
[0116] In another embodiment of the present invention, where the signal verification model is an uncertainty prediction model that predicts uncertainty for a corrected electrocardiogram signal (ES2), the evaluation function (g(x')) may be defined as a confidence function, and the evaluation value (p') may be calculated as an uncertainty score value for the corrected electrocardiogram signal (ES2) through the confidence function.
[0117] The processor can compare (p') with a threshold value (θ) (S390). If the evaluation value (p') is smaller than the threshold value (θ), the processor can determine that no lead inversion has occurred (YES in S390). That is, as a result of lead inversion detection, the processor can determine that no lead inversion was detected in the corrected electrocardiogram signal (ES2). The processor can input the corrected electrocardiogram signal (ES2) into the electrocardiogram reading model as a new electrocardiogram signal (S340).
[0118] The processor can determine that a lead inversion has occurred if the evaluation value (p') is greater than or equal to the threshold value (θ) (NO of S390). That is, as a result of detecting a lead inversion, the processor can determine that a lead inversion has been detected in the corrected electrocardiogram signal (ES2).
[0119]
[0120] If the processor determines that a lead inversion has been detected, it may send a message to the user instructing them to re-measure (S395). Along with the message instructing the user to re-measure, the processor may also send a message instructing the user to the normal contact position of the measurement electrode.
[0121] The processor can acquire a re-measured electrocardiogram signal from the user. If a message guiding the user to the normal contact position of the electrode is transmitted, the user can re-measure the electrocardiogram signal by referring to the transmitted normal contact position of the electrode, thereby allowing the electrocardiogram signal to be measured more accurately.
[0122] The processor can re-verify lead inversion based on the re-measured electrocardiogram signal by utilizing a lead inversion detection model. If it is determined that lead inversion is not detected as a result of the re-verification, the processor can input the re-measured electrocardiogram signal as a new electrocardiogram signal into an electrocardiogram reading model.
[0123] The processor can obtain an electrocardiogram reading result (ER) by utilizing an electrocardiogram reading model. The processor can output the electrocardiogram reading result (ER) to the user through a user interface (S350).
[0124] The processor may further train a lead inversion detection model based on an input electrocardiogram signal or a re-measured electrocardiogram signal input to the electrocardiogram reading model. Here, the input electrocardiogram signal or the re-measured electrocardiogram signal may refer to an electrocardiogram signal normally measured by an electrocardiogram measuring device, rather than an electrocardiogram signal corrected based on lead-specific conversion information. The processor may generate a lead-inverted electrocardiogram signal based on the input electrocardiogram signal or the re-measured electrocardiogram signal and lead-specific conversion information. The processor may further train a lead inversion detection model by utilizing training data containing the lead-inverted electrocardiogram signal.
[0125]
[0126] According to one embodiment of the present disclosure, a computer-readable medium storing a data structure is disclosed.
[0127] 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 the device's resources. Specifically, through an effectively designed data structure, a computing device can increase the efficiency of operations, reading, insertion, deletion, comparison, exchange, and retrieval.
[0128] 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.
[0129] 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.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] 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.
[0134] 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.
[0135] 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.
[0136]
[0137] FIG. 10 is a brief and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.
[0138] 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.
[0139] 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).
[0140] 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.
[0141] 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.
[0142] 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.
[0143] 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 processor and other multiprocessor architectures may also be used as the processing unit (1104).
[0144] 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.
[0145] 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.
[0146] 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.
[0147] 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.
[0148] 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.
[0149] 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.
[0150] 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.
[0151] 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.
[0152] 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.
[0153] 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).
[0154] 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.
[0155] 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.
[0156] 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.
[0157] It should be understood that the specific order or hierarchy of steps in the presented processes is an example of exemplary approaches. It should be understood that the specific order or hierarchy of steps in the processes may be rearranged within the scope of this disclosure based on design priorities. 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.
[0158] 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.
[0159] As described above, the relevant details have been described in the best mode for carrying out the invention.