This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2019-104696, filed on Jun. 4, 2019, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein relate to a data generation method, a computer-readable storage medium having stored therein a data generation program, and an information processing apparatus.
Recently, a technology of an electro-cardiogram analysis using AI (Artificial Intelligence) has been developed. An electro-cardiogram (ECG) provides important information for a diagnosis of a cardiac condition. The ECG illustrates arrhythmias and an abnormal conduction of excitation. If there is a delay or an interruption of conduction in a right leg or a left leg, a unique ECG pattern is illustrated. It is also known that an ST portion and a T wave in the ECG are altered from a normal waveform in a patient with angina pectoris or a myocardial infarction.
The ECG analysis using AI is known to use annotated data to accurately classify the arrhythmias by a deep learning.
[Non-Patent Document 1]
According to one aspect of the embodiments, a data generation method executed by a computer, the data generation method including acquiring first waveform data and second waveform data, each of the first waveform data and the second waveform data including marking information at a first position on a waveform; specifying a transformation function that transforms the first waveform data to reduce the difference between a first value of a time axis for a first characteristic point in the first waveform data and a second value of the time axis for a second characteristic point, in the second waveform data, corresponding to the first characteristic point; and generating third waveform data, in which the marking information is applied at a second position corresponding to the first position in the first waveform data, the second position being determined by using the transformation function.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Other objects, features and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings, in which:
Prior to describing the embodiments in detail, brief explanation of technical problems in the existing technology found by the inventor will be provided. In order to improve the accuracy of an electro-cardiogram (ECG) analysis by AI, a sufficient number of non-normal ECGs such as arrhythmias are obtained; however, there is a problem that the ECG is not given with an annotation, which is a major factor in the analysis, or that the ECG with insufficient annotation is difficult to use as learning data.
There is a problem with an inability to accurately perform ECG-based learning because of insufficient available learning data on a certain type of a disease to be accurately classified.
Accordingly, in an embodiment described below, a technical scheme will be presented to optimize waveform data, to which marking information is applied.
The embodiment will be described with reference to the drawings. Data extension techniques are often used as a means for artificially increasing the amount of training data for a machine learning in order to obtain sufficient data for the ECG analysis by AI. A data augmentation is specifically a technique that artificially increases the amount of the training data by transforming the data by applying, for example, a parallel shift, a rotation, a scale transformation, a mirror projection, or the like with respect to a small number of the training data.
The data augmentation for ECG by known transformations are somewhat effective, but have limitations. For instance,
The embodiment provides a technique for generating natural waveform data as a human ECG, artificially increasing an amount of the training data (referred to as “extending of training data” or “data augmentation”), and providing markings imparted by those with expertise to generated waveform data to improve learning efficiency. A marking corresponds to a segment of an element waveform, a mark at a peak of the element waveform, or the like. The marking is applied to an ECG waveform by a physician with expertise in reading actual ECGs.
Because of the nature of an ECG, the major element waveforms are preferably maintained in a created ECG. Also, changes in a PQ interval and a QT interval on the ECG represent a collective propagation of action potentials in cells. The time span of each element waveform may be used to identify an abnormal propagation time, which is likely to appear in a part of an ECG related to the heart disease. In order to increase the amount of the training data in the vicinity of the abnormal state, the start time and the end time of each of the element waveforms in an actual ECG waveform may be flexibly changed within a certain degree to allow an expansion or a contraction in a time axis.
However, it is not possible to generate a waveform, in which element waveforms of the P wave, the QRS wave, and the T wave are similar to each other but PQ intervals or QT intervals indicate different terms, by a simple geometric transformation.
In response to the problems described above, the inventors have found a method for retaining main element waveforms of the ECG, and transforming from the actual ECG waveform to the natural ECG waveform as a human ECG.
First, the inventors used an Elastic Shape Analysis (ESA) technology. By using the ESA technology,
Moreover, the embodiment creates the waveform data, which approximates the natural human ECG. In order to achieve this goal,
(a) two types of the ECG data are selected (pre-process).
As an example, the two types to be selected may be one ECG representing a normal state of a heart and another ECG representing an abnormal state of the heart. By selecting at least one ECG in the abnormal state, it is possible to increase an amount of the training data in variations of the abnormal state, and it is also possible to generate ECG data near a boundary between the normal state and the abnormal state. The selection may be random, and depending on a desired type, both may represent the normal state or both may represent the abnormal state.
First, as preparations,
(a-1) A range is determined to be cut out from each of selected ECGs. As one example, an integral multiple of one beat, two beats, or the like, is preferred. Respective peaks of two R waves may be detected and one beat may be determined by one R-R interval or a range shifted by half the R-R interval. An R wave may be identified by reference to markings or by detection of the R wave using an existing open tool, which automatically detects the R waves. The P-P interval may also be used for a cut-out range.
(a-2) A transverse width of a partial waveform cut out from each of the selected ECGs is normalized to match a heart rate, and two partial waveforms corresponding to the selected ECGs are referred to as an ECG f1(t) and an ECG f2(t), or simply referred to as f1(t) and f2(t).
Next, a waveform (that is, electro-cardiogram data) is generated that interpolates between the selected two ECG waveforms, that is, between f1(t) and f2(t).
(b) with respect to f1(t) and f2(t), an extension or a contraction of the time axis (change in a phase direction) is performed to match positions of peaks and valleys of the partial waveforms, or an alignment process is performed to reduce the difference between values of the time axis.
(c) one or more waveforms are generated to interpolate between f1(t) and f2(t) by changing a width in the phase direction and a height in an amplitude direction.
Furthermore, in the embodiment, annotations are provided for each of the generated waveforms.
(d) by using a transformation for each change in the phase direction and the amplitude direction, annotations are imparted on each of the generated waveforms.
The above-described processes (a) to (d) are implemented by a data generating apparatus having a hardware configuration as described below.
The CPU 11 corresponds to a processor controlling the data generating apparatus 100, executes a program stored in the storage part 130, and realizes various processing according to the embodiment as described below. The input device 14 is operated by a user and inputs data in response to operation, and the display device 15 displays various screens as a user interface. The communication I/F device 17 controls communication with an external device.
A program for implementing processes according to the embodiment, stored in a recording medium 19 (for instance, a Compact Disc Read-Only Memory (CD-ROM)), is installed in the storage part 130 via the drive device 18 and is executable by the CPU 11.
The recording medium 19 of the program according to the embodiment is not limited to the CD-ROM, but may be one or more non-transitory and tangible medium having a structure readable by a computer. As the computer readable storage medium, in addition to the CD-ROM, a portable storage medium such as a Digital Versatile Disk (DVD) disk, a USB memory, or a semiconductor memory such as a flash memory may be used.
The electro-cardiogram generation part 40 generates a natural waveform as a human ECG based on the actual electro-cardiogram data 51, and performs an ECG generation process to interpolate the training data 57. The electro-cardiogram generation part 40 further includes a selection part 41, a waveform interpolation part 42, and an annotation addition part 43.
The selection part 41 performs a selection process. In the selection process, two pieces of data are selected from among the electro-cardiogram data 51 in the training data 57. A waveform is cut out based on a range determined by a predetermined interval and by a heart rate from each of the selected two pieces of data. Then, each of cut-out partial waveforms is sent to the waveform interpolation part 42. The cut-out partial waveforms of the ECGs are an ECG f1(t) and an ECG f2(t) or simply referred to as f1(t) and f2(t).
The waveform interpolation part 42 converts, based on the parameter list 53, one or more of phases and amplitudes of one of f1(t) and f2(t) waveforms into a waveform, which is changed to approximate another waveform, and performs a waveform interpolation process to generate an interpolated ECG (interpolation data 52). The waveform interpolation part 42 also causes the annotation addition part 43 to apply an annotation each time the interpolation data 52 are generated. The interpolation data 52 associated with the annotation are added to the training data 57.
The annotation addition part 43 performs the process for adding annotations, which are present in the source waveform, to a corresponding position on the interpolated waveform represented by the interpolation data 52, by a similar transformation used by the waveform interpolation part 42 each time the interpolation data 52 are generated. The annotation addition process may be performed only on a specified interpolation data 52.
The annotation prediction part 44 predicts a position (coordinates on a waveform) where an annotation is to be applied, with respect to each piece of the electro-cardiogram data 51 that has insufficient annotations, and supplements information of the annotation.
The learning part 47 learns to distinguish normal conditions from abnormal conditions of the heart based on various ECGs using the training data 57, of which the amount is increased by the interpolation data 52 obtained in accordance with the embodiment. By adding the interpolation data 52 to the training data 57, it is possible for the learning part 47 to improve the accuracy in determining the presence of the heart disease, and to further realize a detailed classification of the heart disease.
The training data 57 includes the interpolation data 52 added according to the embodiment in addition to the electro-cardiogram data 51 actually obtained from a person by using an electrocardiograph. The plurality of pieces of the electro-cardiogram data 51 may include data to which an annotation has been applied and data to which no annotation has been applied. Also, in the electro-cardiogram data 51 where annotations have been applied, various element waveforms may be annotated by the information of the annotations.
The parameter list 53 illustrates a set of values of a parameter “k” for transforming a waveform between phases of the two pieces of the electro-cardiogram data 51 and of a parameter “l” for changing the waveform between amplitudes of the two pieces of the electro-cardiogram data 51. The parameters “k” and “1” indicate values of 0 or more and 1 or less, respectively.
The learning result data 58 includes data such as weight information obtained by the learning part 47 using the training data 57.
In
The electro-cardiogram generation part 40 generates a plurality of pieces of waveform data for each of combinations of parameters (k, l) in the phase direction and the amplitude direction of the ECG data ecg10 to approach the ECG data ecg20, and outputs waveform data as interpolation data ecg102, ecg104, ecg106, or the like to be added to the training data 57.
In the embodiment, the annotation 3a is also applied to the interpolation data 52 output from the electro-cardiogram generation part 40. In this example, annotations applied by the electro-cardiogram generation part 40 are indicated by a mark “▾” to easily identify points of the applied annotations. The annotations for the interpolation data 52 may be based on the electro-cardiogram data ecg10 having more annotations 3a.
The annotation prediction part 44 sets the parameter “k” in the phase direction to 1.0, aligns positions of the annotation 3a of the ECG data ecg10 to correspond to a phase of the ECG data ecg20, and obtains the ECG data ecg10w. The annotation prediction part 44 calculates positions on the ECG data ecg10w corresponding to the positions of the annotation 3a on the ECG data ecg10 by the same transformation used for the alignment, and applies the annotations 3a at the calculated positions.
The positions of the three annotations 3a are specified by the time and the amplitude. The annotation prediction part 44 provides three annotations 3a for the ECG data ecg10w at times corresponding to the positions of the three annotations 3a of the ECG data ecg10w. Here, the annotation prediction part 44 may omit the application of one or more annotations 3a already present in the ECG data ecg20 to respective one or more positions among the three annotations 3a of the ECG data ecg10w.
In the example, with respect to the two ECG waveforms, a transform is performed to change one of or both the phase direction and the amplitude direction to generate, and a plurality of waveforms are generated in a range defined by a difference between temporal widths and a difference between amplitudes of the element waveforms to interpolate between the two ECG waveforms.
A method for generating interpolated ECG data (interpolation data 52) based on an Elastic Shape Analysis (ESA) framework is described below. The ESA considers a function space F of a curve representing data and a space Q of a function called Square-Root Slope Function (SRSF), to which the function space F is mapped.
A function of the time-series ECG data is represented by
f(t)ϵ. [Formula 1]
In a case in which a function for mapping this function to the SRSF is represented by
q(t)ϵQ, [Formula 2]
these functions f(t) and q(t) have a relationship represented by the following expression (1):
q(t)=sign({dot over (f)}(t))√{square root over (|{dot over (f)}(t)|)}, [Formula 3]
f(t)=f(0)+∫′0q(s)|q(s)|ds (1).
The functions f(t) and q(t) are able to be mutually converted.
Here, it is considered that two ECGs f1(t) and f2(t) and functions q1(t) and q2(t) mapped above to the SRSF (
Moreover, under the framework of the ESA, an alignment process is performed, in which f2(t) is used as a start point with respect to f1(t) and positions of peaks and valleys of the waveforms are matched as much as possible, and a warping function γ*(t) and an inverse function γ*−1(t) are obtained (
In this case, f1(t) and f2(γ*(t)) have a relationship, in which shapes of curves are aligned, and a point (functions) q1 and a corresponding point q2′ on Q face each other on two parallel straight lines [q1] and [q2] representing respective orbit of q1 and q2 with the warping function γ(t).
Alternatively, it is possible to perform the alignment process starting from f1(t) with reference to f2(t). In this case, f1(γ*−1(t)) and f2(t) are aligned, and a point q1′ and a corresponding point q2 on Q still face each other.
A function (q, γ) is acquired by mapping the function f(γ(t)), in which the time axis of the function f(t) is extended by the warping function γ(t), to Q, and is expressed as follows:
(q,γ)=(q∘γ)√{square root over ({dot over (γ)})}=q(γ(t))√{square root over (γ(t))}[Formula 5]
(∘ denotes function composition).
By using the above formula 5, the points (functions) q1′ and q2′ respectively on the lines [q1] and [q2] in
q′
1(q1∘γ*−1)√{square root over (γ*−1)}[Formula 6]
q′
2=(q2∘γ*)√{square root over ({dot over (γ)}*)}. (2)
Considering the generation of interpolated ECGs representing a smooth change between the two actual electro-cardiograms, we define the following function φ2k.
φ2k=kγ*+(1−k)γid,γid=l,0≤k≤1[Formula 7]
q
2
k=(q2∘φ2k)√{square root over (φ2k)}. (3)
In the above description, φ2k is a function, in which an identity function γid and the function γ* transferring q2 to q2′ are proportionally distributed by the parameter k. Also, φ20 corresponds to γid (φ20=γid) and φ21 corresponds to γ*(φ21=γ*). The function φ meets requirements of the warping function in the ESA. Moreover, q2k, which is a point (function) where q2 is mapped by φk, is on the line [q2] having ends of q2 and q2′ and corresponds to the interpolated electro-cardiogram f2 (φ2k(t)).
Next, q1 is shifted to align with respect to q2k and is denoted by q1k. q1k opposite to q2k is calculated by the following expression based on a position relationship on Q.
Thus, q1k may be expressed as follows:
q
1
k=(q1∘φ1k)√{square root over (φ1k)} [Formula 10]
φ1k=kγid+(1−k)γ*−1 (4)
Comparing an expression (3) with an expression (4), as seen from an expression q1k and an expression q2k, γ*−1 and γ*−1 are mutually replaced, and an inverse ratio of a proportional distribution is expressed. Accordingly, the interpolated ECG generated from a side of q1 is represented by f1(φ1k(t)).
In the above, ECG waveforms are interpolated in the phase direction by using warping functions such as φ1k and φ2k.
In the following, the interpolation of the waveform in the amplitude direction will be described.
The functions f1(φ1k(t)) and f2(φ2k(t)) which have been already aligned in the phase direction, may be defined by a function of a convex
f
k,l(t)=lf1(φ1k(t))+(1−l)f2(φ2k(t)),0≤k≤1,0≤l≤1
By this expression (5), an interpolation in an amplitude direction is conducted. The functions f1(φ1k(t)) and f2(φ2k(t)) have been already aligned and characteristic element waveforms such as P, QRS, and T waves (
As described above, it is possible to automatically generate large quantities of natural ECGs fk.l(t) by selecting appropriate actual ECGs f1(t) and f2(t) and parameters “k” and “l”, and interpolating in each of the phase direction and the amplitude direction.
In this example, the interpolation of waveforms is restricted in a region with q1, q2, q1′, and q2′ as vertices illustrated in
An annotation applied by a person to an ECG is given in order to indicate one of characteristic points on the waveform and also to identify a certain interval formed by the characteristic points in the waveform. Accordingly, the annotation is applied as a point on the waveform, and if a function to convert the waveform is known, it is possible to determine the position (point) of the annotation at the same time.
For instance, in a case in which an annotation is located at a point of a time ta on the ECG f2(t), an annotation position is projected by the expression (5) to the following coordinate point because a time φ2k(−1)(ta) corresponds to a time φ2k(−1) (ta) on an interpolated ECG fk.l(t).
(φ2k(−1)(ta),fk,l(φ2k(−1)(ta))),0≤k≤1,0≤l≤1 [Formula 12]
(6)
In this expression (6), φ2k(−1) is an inverse function of φ2k. The value in the longitudinal axis direction is calculated as follows.
Each annotation to be applied by a person may preferably include at least time information, and thus, it is possible to calculate the point at which the annotation to be applied on an ECG as desired.
By using the annotation method described above, which is performed on an ECG, it is also possible to predict a position to be annotated. An example will be described with reference to
[Formula 14]
t′
a=φ1k(−1)(ta) (8)
Since f1(t) and f2′(t) have already been aligned, a point on f1(t) corresponding to the point A on f2(t) is regarded as a point B (φ21.0(−1) (ta) f1(φ21.0(−1) (ta)) on f1(t) at the same time ta′ the point A′ is located. The alignment process of the ESA is a process for estimating a corresponding point from a viewpoint of shapes of curves. Hence, the point B is regarded as an annotation position estimated with respect to f1(t).
A function f2′ (t) is obtained by aligning f2(t) based on f1(t) as a reference, and hence, the obtained f2′(t) is aligned with f1(t). Annotation positions A1, A2, and A3 applied on f2(t) are projected to annotation positions A1′, A2′, and A3′ on f2′ (t), respectively, with the same amplitude value. Then, annotation positions B1, B2, and B3 are determined on f1(t) by matching times of the annotation positions A1′, A2′, and A3′ applied on f2′ (t). Among positions B1, B2, and B3 on f1(t), with respect to an already existing annotation, the applying of an annotation may be omitted.
In the ECTG f2(t), the annotation A3 is applied to the waveform at time ta, the annotation A2 to the waveform at time tb, and the annotation A1 to the waveform at time te. These annotations A1 to A3 are applied to the ECG f1(t).
The ECG f2(t)′ is obtained by transforming the ECG f2(t) with parameter k=1, in which a phase of the ECG f2(t)′ matches a phase of the ECG f1(t). Respective positions of the annotations A1 to A3 on the ECG f2(t) also move along a phase movement. Specifically, the time ta, tb, and tc of the annotations A1, A2, and A3 on the ECG f2(t) are projected to times td, te, and tf on the ECG f2(t)′, respectively, and applied annotations are denoted by A1′, A2′, and A3′, respectively.
For the ECG f1(t), annotations are applied at the same times td, te, and tf as the annotations A1′, A2′, and A3′ applied on the ECGT f2(t)′, and are denoted respectively by B1, B2, and B3. The annotation may be applied at a time other than one at which the annotation already exists on the ECG f1(t).
The above described procedure for applying the annotation is merely an example. For instance, a missing annotation on each of the ECG f1(t) and the ECG f2(t) may be compensated through the interpolated ECG f2(t)′.
The parameter list 53 lists all combinations of the parameters “k” and “l”, where the parameter “k” indicates a proportional distribution magnitude in the phase direction and the parameter “l” indicates a proportional distribution magnitude in the amplitude direction. The parameters “k” and “l” are values greater than or equal to 0 and less than or equal to 1, and multiple different values are set for each of the parameters “k” and “l”. Alternatively, an increment amount or the like in an iterative process may be provided by the user for each of the parameters “k” and “l”. Hereinafter, a combination of the parameters “k” and “l” is referred to as parameters (k, l).
The waveform interpolation part 42 performs the alignment process to the ECG f1(t) and the ECG f2(t) to determine a warping function γ*(t) for optimizing an alignment (step S213). That is, the optimization problem described above (expression (1.1)) is solved.
The waveform interpolation part 42 determines whether unprocessed parameters (k, l) remain in the parameter list 53 (step S214). When the unprocessed parameters (k, l) remain (YES in step S214), the waveform interpolation part 42 selects one set of parameters (k, l) from the parameter list 53 (step S215), and calculates two warping functions φ2k and φ1k (step S216).
That is, among the described expressions (3) and the expressions (4), the following expressions are calculated:
φ2k=kγ*+(1−k)γid
φ1k=kγid+(1−k)γ*−1 [Formula 15]
Next, the waveform interpolation part 42 calculates a function fk,l(t) of the aforementioned interpolated expression (5) using the obtained two warping functions φ2k and φ1k:
f
k,l(t)=lf1(φ1k(t))+(1−l)f2(φ2k(t)). [Formula 16]
The waveform interpolation part 42 stores obtained values in the storage part 130 (step S217). The waveform interpolation part 42 requests the annotation addition part 43 to apply the annotation, and thus, the annotation addition process is performed (step S218). Next, the waveform interpolation part 42 goes back to step S214, and repeats the above-described process.
When there are no unprocessed parameters (k, l) (NO in step S214), that is, when all combinations are processed, the waveform interpolation part 42 outputs the calculated result of the function fk,l(t) of all interpolated ECGs (step S219). The calculated result for each function fk,l(t) is added as the interpolation data 52 to the training data 57.
In the above-described flowchart, a function calculation is described. In the data generating apparatus 100, with respect to a discrete function value sequence, a spline interpolation or the like is sequentially performed. Also, a result may be discretized as appropriate.
The annotation addition part 43 calculates a destination for projecting the annotation time ta and a value on an interpolated ECG at a time corresponding to the annotation time ta (step S225). The destination is determined by φ2k(−1) (ta) in the above expression (3). The value on the interpolated ECG is obtained by fk,l(φ2k(−1) (ta)) in the above expression (7).
The annotation addition part 43 applies an annotation by corresponding to a coordinate value (step S226). The coordinate value is specified by (φ2k(−1) (ta), fk,l (φ2k(−1) (ta)). The annotation addition part 43 terminates the annotation addition process when the annotation addition process is conducted for all annotation times.
Not necessarily all interpolation data 52 need to be annotated. In this case, step S218 in
The annotation addition part 43 performs the alignment process on the ECG f1(t) and the ECG f2(t), and determines the warping function γ*(t) for optimizing the alignment (step S223). Steps S224 to S226 are previously described with reference to
The annotation prediction part 44 performs the alignment process to the ECG f1(t) and the ECG f2(t) to determine the appropriate warping function γ*(t) for optimizing the alignment (step S233).
The annotation prediction part 44 acquires the annotation time (ta) of f2(t) (step S234). The annotation time indicates the time for f2(t), at which the annotation is applied, and multiple annotation times may be acquired. In a case of multiple annotation times, step S235 and step S236 are repeated for each acquired annotation time.
The annotation prediction part 44 calculates a destination for projecting the annotation time ta, and calculates a value on the ECG f1(t) as a prediction subject at the destination where the annotation time is projected (step S235). The destination is determined by φ2k(−1) (ta) in the above expression (3). The interpolated ECG value is obtained by fk,l(φ2k(−1) (ta)) in the above expression (7).
The annotation prediction part 44 applies an annotation corresponding to a coordinate value (step S236). The coordinate value is specified by (φ2k(−1) (ta), fk,l (φ2k(−1) (ta)). The annotation prediction part 44 terminates the annotation predicting process when the annotation predicting process has been completed for all annotation times.
Furthermore, in the annotation process of the embodiment, in a case in which the annotation 3a exists at a part of one piece of the electro-cardiogram data 51, a cut-out region may be one period, and the annotation 3a may be applied at a similar position in each period.
When a partial waveform, to which the annotation 3a has been applied, is denoted by the ECG f2(t) and each of other partial waveforms is denoted by the ECG f1(t) for the annotation predicting process described in
As described above, according to the embodiment, the data generating apparatus 100 does not merely generate natural waveform data as human ECGs and expand an amount of the training data, but also applies markings provided by a person having specialized knowledge are applied to the generated waveform data. Therefore, it is possible to improve a learning efficiency.
It is possible to optimize waveform data, to which marking information is applied.
In the embodiment, the annotation 3a is an example of marking information, and a peak or a valley of the element waveform of the ECG is an example of a characteristic point of the waveform data. A set of step S231 and the selection part 41 corresponds to an example of an acquisition part. Step S233 performed by the annotation prediction part 44 corresponds to a portion of a specifying part. A set of steps S234 to S236 performed by the annotation prediction part 44 corresponds to a portion of the generation part.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2019-104696 | Jun 2019 | JP | national |