Electrocardiogram data augmentation method

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

Patent Information

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

Smart Images

  • Figure KR2026000629_30072026_PF_FP_ABST
    Figure KR2026000629_30072026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed is an electrocardiogram data augmentation method performed by a computing device according to an embodiment disclosed herein. The method may comprise the steps of: obtaining an electrocardiogram signal; dividing the electrocardiogram signal into a plurality of segments using a neural network model; and obtaining an augmented electrocardiogram signal having a heart rate different from the heart rate of the obtained electrocardiogram signal by changing the lengths of the plurality of segments.
Need to check novelty before this filing date? Find Prior Art

Description

ECG data augmentation method

[0001] The present invention relates to a method for augmenting data, and more specifically, to a method for augmenting electrocardiogram data.

[0002] An electrocardiogram (ECG) delineation model is a deep learning model that takes an ECG signal as input, divides it into multiple segments, and extracts significant features from these segments. Generally, an ECG signal consists of major waveforms such as the P-wave, QRS complex, and T-wave. An ECG delineation model can accurately segment the onset and offset of these waveforms. The output of the ECG delineation model can be utilized to automatically analyze the ECG signal.

[0003] ECG technology models can be trained using publicly available training datasets such as LUDB (Lobachevsky University Database) and QTDB (QT Database). However, deep learning models have a problem in that their performance may degrade on data they have not learned from during the training process.

[0004] Korean Registered Patent No. 10-2893285 (Registration Date: Nov. 26, 2025) discloses a method for augmenting biosignal data.

[0005] The present disclosure aims to provide a method for augmenting electrocardiogram data to reflect various heart rates.

[0006] A method for augmenting electrocardiogram data 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, dividing the electrocardiogram signal into a plurality of segments using a neural network model, and acquiring an augmented electrocardiogram signal having a heart rate different from the heart rate of the acquired electrocardiogram signal by changing the lengths of the plurality of segments.

[0007] In one embodiment, the plurality of segments includes at least one first segment and at least one second segment, and the step of acquiring the augmented electrocardiogram signal may include the step of applying a first magnification to the length of the at least one first segment and the step of applying a second magnification different from the first magnification to the length of the at least one second segment.

[0008] In one embodiment, the first segment corresponds to a segment excluding the baseline segment of the electrocardiogram signal, and the second segment may correspond to the baseline segment of the electrocardiogram signal.

[0009] In one embodiment, the first segment includes a first-1 sub-segment corresponding to a QRS complex interval and a first-2 sub-segment corresponding to an interval excluding the QRS complex, and the step of applying the first magnification to the length of the first segment may include the step of applying the first-1 magnification to the length of the first-1 sub-segment and the step of applying a first-2 magnification different from the first-1 magnification to the length of the first-2 sub-segment.

[0010] In one embodiment, the plurality of segments includes at least one first segment and at least one second segment that are repeated alternately with one another, and the step of acquiring the augmented electrocardiogram signal may include the step of applying a different magnification to each segment of the length of the plurality of segments.

[0011] In one embodiment, the method may further include the step of extracting feature information corresponding to the plurality of segments using the neural network model, and the step of changing the label included in the feature information and assigned to each of the plurality of segments in correspondence with the length of the changed plurality of segments.

[0012] In one embodiment, in the step of changing the label assigned to each of the plurality of segments, which is included in the feature information, in correspondence with the length of the changed plurality of segments, the label value assigned to the current segment may be maintained until a change in the next label is detected.

[0013] In one embodiment, a first label may be assigned to the waveform portion of the electrocardiogram signal that is generated by the electrical activity of the heart, and a second label may be assigned to the baseline portion of the electrocardiogram signal where there is no electrical activity of the heart.

[0014] In one embodiment, a 1-1 label may be assigned to the PR interval of the electrocardiogram signal, a 1-2 label may be assigned to the QRS complex interval of the electrocardiogram signal, and a 1-3 label may be assigned to the ST interval and T-wave interval of the electrocardiogram signal.

[0015] In one embodiment, the method may further include the step of retraining the neural network model using the length of each of the plurality of segments and the electrocardiogram signal with the changed label.

[0016] 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, the operations may include the operation of acquiring an electrocardiogram signal, the operation of dividing the electrocardiogram signal into a plurality of segments using a neural network model, and the operation of acquiring an augmented electrocardiogram signal having a heart rate different from the heart rate of the acquired electrocardiogram signal by changing the lengths of the plurality of segments.

[0017] A computing device according to one embodiment of the present disclosure for realizing the aforementioned task is disclosed. The device comprises at least one processor and a memory, and the at least one processor may be configured to acquire an electrocardiogram signal, divide the electrocardiogram signal into a plurality of segments using a neural network model, and acquire an augmented electrocardiogram signal having a heart rate different from the heart rate of the acquired electrocardiogram signal by changing the lengths of the plurality of segments.

[0018] The present disclosure provides a method for augmenting electrocardiogram data to reflect various heart rates, thereby providing an electrocardiogram technology model capable of accurately analyzing electrocardiogram signals even under various heart rate conditions, such as normal heart rate, bradycardia, and tachycardia.

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

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

[0021] FIG. 3 is a flowchart for explaining an electrocardiogram data augmentation method according to one embodiment of the present disclosure.

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

[0023] Figure 5 is a diagram showing an example of the output of an electrocardiogram technology model.

[0024] FIG. 6 is a diagram showing an electrocardiogram signal and a label of the electrocardiogram signal according to one embodiment of the present disclosure.

[0025] FIG. 7 is a drawing for explaining a data augmentation method applying an equivalent method according to one embodiment of the present disclosure.

[0026] FIG. 8 is a drawing for explaining a data augmentation method applying an unequal method according to one embodiment of the present disclosure.

[0027] FIGS. 9a and 9b are drawings for illustrating a data augmentation method in another embodiment of the present disclosure.

[0028] FIG. 10 is a diagram illustrating the results of various resampling methods applicable to an electrocardiogram label according to one embodiment of the present disclosure.

[0029] FIG. 11 is a graph showing the electrocardiogram labels before and after applying a zero interpolation technique according to one embodiment of the present disclosure.

[0030] FIG. 12 is a graph showing the electrocardiogram label before and after applying a basic resampling technique according to one embodiment of the present disclosure.

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

[0032] 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.

[0033] 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).

[0034] 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.

[0035] 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.”

[0036] 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.”

[0037] 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.

[0038] 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.

[0039] 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.).

[0040] 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.

[0041] 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).

[0042] 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.

[0043]

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

[0045] 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).

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

[0047] 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.

[0048]

[0049] The processor (110) of the present disclosure can augment training data for training an electrocardiogram technology model. Various training data are required for training a deep learning model. However, the dataset used to train the electrocardiogram technology model may not have sufficient electrocardiogram data recorded under conditions of low or high heart rate. A model trained with a training dataset lacking electrocardiogram data under such conditions may show large errors under conditions of low or high heart rate during the validation stage.

[0050] The processor (110) of the present disclosure can augment electrocardiogram data to reflect various heart rates. Conventional data augmentation techniques have achieved data diversity by maintaining the major morphology of the signal and modifying details, such as by adding noise to the signal or cropping a portion of the signal.

[0051] Heart rate can represent the number of times the heart beats in 60 seconds. Heart rate can be calculated based on the length between two consecutive R waves included in the electrocardiogram signal. In one embodiment, if the interval between two consecutive R waves is inconsistent, arrhythmia may be predicted, and if the interval between two consecutive R waves is 0.1 seconds or longer, bradycardia may be predicted. Additionally, if the interval between two consecutive R waves is less than 0.6 seconds, tachycardia may be predicted.

[0052] The processor (110) of the present disclosure can extract significant intervals of an electrocardiogram signal and adjust the length of the intervals by applying different scaling factors to each interval. Accordingly, the processor (110) can generate electrocardiogram data that reflects various heart rates, such as normal heart rate, bradycardia, and tachycardia.

[0053] The processor (110) of the present disclosure can adjust the label assigned to the electrocardiogram signal according to the degree of enhancement of the electrocardiogram signal. The processor (110) can assign different labels to each of the extracted significant segments and must also adjust the label to reflect the degree to which the length of the electrocardiogram signal included in each segment is adjusted.

[0054] The processor (110) of the present disclosure can adjust the label assigned to the electrocardiogram signal by applying a step interpolation (or zero interpolation) technique in which the interpolated value is maintained as the value immediately preceding the input data. Thus, the label can be accurately modified while maintaining the original step pattern.

[0055] According to embodiments of the present disclosure, an electrocardiogram (ECG) technology model can be retrained using augmented ECG signals and augmented labels that reflect various heart rates. The augmented ECG signals are used as input data for the ECG technology model, and the augmented labels can be used as ground truth data when retraining the ECG technology model. This has the effect of providing a robust ECG technology model capable of accurately analyzing ECG signals even under various heart rate conditions, such as normal heart rate, bradycardia, and tachycardia.

[0056] In one embodiment, the electrocardiogram technology model according to an embodiment of the present invention can be implemented as a neural network model.

[0057]

[0058] 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).

[0059] 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.

[0060] 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).

[0061] 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.

[0062] 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.

[0063]

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

[0065] 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.

[0066] 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.

[0067] 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.

[0068] 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.

[0069] 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.

[0070] 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.

[0071] 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.

[0072] 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 latent structures in 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 the text are, what the content and emotions of the 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.

[0073] 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).

[0074] 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.

[0075] 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.

[0076] 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.

[0077]

[0078] FIG. 3 is a flowchart for explaining an electrocardiogram data augmentation method according to one embodiment of the present disclosure.

[0079] Referring to FIG. 3, the processor can acquire an electrocardiogram signal (S110). The processor can divide the electrocardiogram signal into multiple segments using a neural network model (S120). More specifically, the processor can extract feature information of the electrocardiogram signal based on the electrocardiogram signal using a neural network model. Then, the processor can divide the electrocardiogram signal into multiple segments based on the extracted feature information. Here, the neural network model may refer to an electrocardiogram technology model.

[0080]

[0081] FIG. 4 is a diagram showing the waveform of an electrocardiogram signal according to one embodiment of the present disclosure, and FIG. 5 is a diagram showing an example of the output of an electrocardiogram technology model.

[0082] An electrocardiogram is a graph that records the electrical activity of the heart and consists of major parts such as the P wave (P-wave), QRS complex (QRS complex), and T wave (T-wave), as shown in Figure 4.

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

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

[0085] The processor can utilize a neural network model to extract feature information of the electrocardiogram signal based on the electrocardiogram signal, as illustrated in FIG. 5. The feature information of the electrocardiogram signal may include the P wave onset (P_onset), QRS complex onset (QRS_onset), QRS complex endpoint (QRS_offset), T wave endpoint (T_offset), etc.

[0086] Referring to FIG. 3 and FIG. 5 together, a plurality of segments may include a first segment (SEGMENT 1) and a second segment (SEGMENT 2). The first segment (SEGMENT 1) and the second segment (SEGMENT 2) may be repeated alternately in sequence.

[0087] Segment 1 may correspond to a waveform section in the electrocardiogram signal that is generated by the electrical activity of the heart. Specifically, Segment 1 may refer to the section from the P-wave start point (P_onset) to the T-wave end point (T_offset) of the electrocardiogram signal.

[0088] Segment 2 may correspond to the baseline portion of the electrocardiogram signal where there is no electrical activity of the heart. Specifically, Segment 2 may refer to the interval from the T-wave end point (T_offset) of the electrocardiogram signal to the next P-wave start point (P_onset).

[0089]

[0090] The processor can obtain an augmented electrocardiogram signal having a heart rate different from the heart rate of the electrocardiogram signal by adjusting the length of each of the plurality of segments (S130).

[0091] Here, two types of data augmentation methods can be implemented. The first type of data augmentation method is an even method, and the second type of data augmentation method can be an uneven method.

[0092] Additionally, the processor can utilize a neural network model to extract feature information corresponding to the plurality of segments. The processor can change the labels included in the feature information and assigned to each of the plurality of segments in correspondence with the lengths of the changed plurality of segments.

[0093] Specifically, the processor can adjust the label assigned to the electrocardiogram signal according to the degree of amplification of the electrocardiogram signal. For example, by amplifying the electrocardiogram signal, the length of the label can also be adjusted in proportion to the magnification applied to the first segment (SEGMENT 1) or the second segment (SEGMENT 2).

[0094] The processor can acquire an electrocardiogram signal reflecting various heart rates, such as normal heart rate, bradycardia, and tachycardia, by changing the lengths of multiple segments of the electrocardiogram signal.

[0095]

[0096] FIG. 6 is a diagram showing an electrocardiogram signal and a label of the electrocardiogram signal according to one embodiment of the present disclosure.

[0097] In Fig. 6, the X-axis represents time (s), and the Y-axis represents the amplitude (mV) of the signal. Labels of the electrocardiogram signals can be assigned based on feature information extracted using an electrocardiogram technology model.

[0098] Referring to FIG. 6, the labels of the electrocardiogram signal may include at least one first label and a second label. The at least one first label may be a label assigned to a first segment (SEGMENT 1), which is a waveform section in the electrocardiogram signal that occurs due to the electrical activity of the heart. In FIG. 6, the at least one first label may be '1', '2', or '3'.

[0099] The second label may be a label assigned to the second segment (SEGMENT 2), which is a baseline period in the electrocardiogram signal where there is no electrical activity of the heart. In FIG. 6, the second label may be '0'.

[0100] The above at least one first label may include at least one of a first-1 label, a first-2 label, and a first-3 label. The first-1 label may be a label assigned to the PR interval in the electrocardiogram signal (e.g., '1'). The first-2 label may be a label assigned to the QRS complex interval (e.g., '2'). The first-3 label may be a label assigned to the ST interval and T-wave interval (e.g., '3').

[0101] In one embodiment, the PR interval may refer to the interval from the P-wave onset (P_onset) to the QRS complex onset (QRS_onset), and the QRS complex interval may include the interval from the QRS complex onset (QRS_onset) to the QRS complex offset (QRS_offset). Additionally, the ST interval and the T-wave interval may refer to the interval from the QRS complex offset (QRS_offset) to the T-wave offset (T_offset).

[0102] The processor can adjust the labels assigned to the electrocardiogram signal by applying a zero interpolation technique.

[0103]

[0104] FIG. 7 is a drawing for explaining a data augmentation method applying an equivalent method according to one embodiment of the present disclosure, and FIG. 8 is a drawing for explaining a data augmentation method applying a non-equivalent method according to one embodiment of the present disclosure.

[0105] First, referring to FIG. 7, the processor may apply a first multiplier (R1) to the length of the first segment (SEGMENT 1) and apply a second multiplier (R2) different from the first multiplier (R1) to the length of the second segment (SEGMENT 2).

[0106] For example, the processor can multiply the length of the first segment (SEGMENT 1) by a first factor (R1) and then perform resampling to the adjusted length. In other words, the processor can reconstruct the data into a new segment by performing interpolation or downsampling of the values ​​between samples of the existing segment to increase or decrease the data to the new length. The processor can multiply the length of the second segment (SEGMENT 2) by a second factor (R2) and then perform resampling to the adjusted length.

[0107] The processor can randomly set a first multiplier (R1) and a second multiplier (R2) within a threshold range having a predetermined maximum value and minimum value. For example, the maximum value of the threshold range may be 2.0 and the minimum value may be 0.1, and in one embodiment, the first multiplier (R1) may be 1.06 and the second multiplier (R2) may be 1.38.

[0108] The present disclosure utilizes an electrocardiogram technology model to extract significant segments of an electrocardiogram signal and can increase or decrease the length of each segment by applying different scaling factors to each segment. In other words, the processor can extract a first segment (SEGMENT 1), which is a significant segment of the electrocardiogram signal, and can augment the original data in various ways by adjusting the length of each segment using different scaling factors for the first segment (SEGMENT 1) and the second segment (SEGMENT 2).

[0109] The processor can apply a preset first multiplier (R1) and a second multiplier (R2) equally each time the first segment (SEGMENT 1) and the second segment (SEGMENT 2) are repeated alternately in sequence, according to the equal method.

[0110]

[0111] Referring to FIG. 8, the processor may apply different scaling factors to the lengths of each of the plurality of segments according to an uneven method. In other words, the processor may use different scaling factors for each segment whenever the first segment (SEGMENT 1) and the second segment (SEGMENT 2) are repeated alternately in sequence. The scaling factors may be randomly set differently for each segment. For example, the first scaling factor (R1) to the fourth scaling factor (R4) may be randomly set within a threshold range having a predetermined maximum value and minimum value. The maximum value of the threshold range may be 2.0, and the minimum value may be 0.1. In one embodiment, the first magnification (R1) applied to the first segment may be 0.56, the second magnification (R2) applied to the second segment may be 0.83, the third magnification (R3) applied to the next first segment may be 1.70, and the fourth magnification applied to the next second segment may be 1.51.

[0112]

[0113] When the processor adjusts the length of the first segment (SEGMENT 1), it may divide the first segment (SEGMENT 1) into sub-sections and apply different scaling ratios according to the sub-sections.

[0114] FIGS. 9a and 9b are drawings for illustrating a data augmentation method in another embodiment of the present disclosure.

[0115] Referring to FIG. 9a, the first segment may include a first-1 sub-segment (SEGMENT 1-1) corresponding to a QRS complex interval and at least one first-2 sub-segment (SEGMENT 1-2) other than the QRS complex. In FIG. 9a, the first-1 sub-segment (SEGMENT 1-1) may represent a QRS complex interval in an electrocardiogram signal. At least one first-2 sub-segment (SEGMENT 1-2) may represent a PR interval, ST interval, and T-wave interval in an electrocardiogram signal.

[0116] The processor may apply a 1-1 multiplier (R1-1) to the length of the 1-1 sub-segment (SEGMENT 1-1) and apply a 1-2 multiplier (R1-2) different from the 1-1 multiplier (R1-1) to the length of the 1-2 sub-segment (SEGMENT 1-2). In other words, the 1-2 multiplier (R1-2) may be applied to the length of the PR interval, the 1-1 multiplier (R1-1) may be applied to the length of the QRS complex interval, and the 1-2 multiplier (R1-2) may be applied to the lengths of the ST interval and the T wave interval. As another embodiment, different multipliers may be applied to each sub-segment.

[0117] In another embodiment, the first segment may include a first-1 sub-segment (SEGMENT 1-1) corresponding to the QRS complex interval, a first-2 sub-segment (SEGMENT 1-2) other than the QRS complex, and a first-3 sub-segment (SEGMENT 1-3). In FIG. 9b, the first-1 sub-segment (SEGMENT 1-1) may represent the QRS complex interval in the electrocardiogram signal. The first-2 sub-segment (SEGMENT 1-2) may represent the PR interval in the electrocardiogram signal, and the third sub-segment (SEGMENT 1-3) may represent the ST interval and the T-wave interval.

[0118] The processor may apply a 1-1 multiplier (R1-1) to the length of a 1-1 sub-segment (SEGMENT 1-1) and apply a 1-2 multiplier (R1-2) different from the 1-1 multiplier (R1-1) to the length of a 1-2 sub-segment (SEGMENT 1-2). Additionally, it may apply a 1-3 multiplier (R1-3) different from the 1-1 multiplier (R1-1) and the 1-2 multiplier (R1-2) to the length of a 3-sub-segment (SEGMENT 1-3).

[0119] FIG. 10 is a diagram illustrating the results of various resampling methods applicable to an electrocardiogram label according to one embodiment of the present disclosure.

[0120] In Fig. 10, Origin can represent the original data point. The linear technique can refer to a method of interpolating values ​​by connecting two data points with a straight line. The quadratic technique can refer to a method of interpolating data using a quadratic function curve. The nearest technique can refer to a technique of taking the nearest data value as is.

[0121] In the present disclosure, a zero interpolation technique may be applied to electrocardiogram labels as illustrated in FIG. 10. For example, the zero interpolation technique may use the interpolate.interp1d(<, kind='zero') function in Python. The zero interpolation technique may mean a method of maintaining the label value assigned to the current data interval until a change in the next label is detected when the label is resampled.

[0122]

[0123] FIG. 11 is a graph showing the electrocardiogram label before and after applying a zero interpolation technique according to one embodiment of the present disclosure, and FIG. 12 is a graph showing the electrocardiogram label before and after applying a basic resampling technique according to one embodiment of the present disclosure.

[0124] For basic resampling techniques applied to ECG signal labels, you can use the scipy.signal.reample() function in Python.

[0125] When a zero interpolation technique is applied to the labels of an electrocardiogram signal, the labels can be accurately deformed while maintaining the original stepped pattern, as shown in FIG. 11. In contrast, when a basic resampling method is applied to the labels of an electrocardiogram signal, the label values ​​may be distorted, as shown in FIG. 12.

[0126] According to embodiments of the present disclosure, an electrocardiogram technology model can be retrained using an augmented electrocardiogram signal and an augmented label to which the resampling technique disclosed in FIG. 11 has been applied. The augmented electrocardiogram signal is used as input data for the electrocardiogram technology model, and the augmented label can be used as ground truth data during retraining. Thus, there is an effect of providing a robust electrocardiogram technology model capable of accurately analyzing electrocardiogram signals even under various heart rate conditions, such as normal heart rate, bradycardia, and tachycardia.

[0127]

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

[0129] 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.

[0130] 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.

[0131] 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.

[0132] 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.

[0133] 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.

[0134] 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.

[0135] 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.

[0136] 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.

[0137] 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.

[0138]

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

[0140] 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.

[0141] 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).

[0142] 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.

[0143] 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.

[0144] 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.

[0145] 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).

[0146] 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.

[0147] 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.

[0148] 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.

[0149] 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.

[0150] 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.

[0151] 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.

[0152] 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.

[0153] 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.

[0154] 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.

[0155] 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).

[0156] 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.

[0157] 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.

[0158] 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.

[0159] 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.

[0160] 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.

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