Electrocardiogram data compression method and device
By performing high-priced conversion and segmentation of the first digital value of the ECG data, a high-byte and low-byte data set is formed, which solves the problem of poor electrical data transmission efficiency and real-time performance of the center of the multi-lead wearable ECG device, and achieves more efficient data compression and transmission.
Patent Information
- Application Number
- CN202510459805.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-14
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2045-04-14
AI Technical Summary
The existing ECG data compression methods cannot effectively ensure the efficient transmission of ECG data in multi-lead wearable ECG devices, resulting in poor data transmission efficiency and poor real-time performance.
By performing high-primary conversion on the first digital value data, the second digital value data is obtained and divided into high-byte values and low-byte values to form a high-byte data set and a low-byte data set to improve the data compression rate.
It improves the compression rate of ECG data, reduces the number of batches required for data transmission, and improves the efficiency and real-timeness of data transmission.
Smart Images

Figure CN119995612A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of electrocardiogram data compression, and more specifically, to an electrocardiogram data compression method and device. Background Art
[0002] In order to improve data transmission efficiency and ensure data transmission security, existing technologies usually compress ECG data before transmission. However, with the significant development of wearable ECG devices, wearable ECG devices have gradually developed from the initial single-lead ECG monitoring to multi-lead. Multi-lead wearable ECG devices can provide more comprehensive cardiac electrical signals, and thus obtain more detailed and accurate heart health conditions, which helps to detect potential heart problems. However, the amount of ECG data collected by multi-lead wearable ECG devices has also increased significantly. Without increasing the transmission cost, the existing ECG data compression method can no longer effectively guarantee the efficient transmission of ECG data. Summary of the invention
[0003] In a first aspect of an embodiment of the present disclosure, a method for compressing electrocardiogram data is provided. The method includes performing high-base conversion based on first digital value data to obtain second digital value data, the second digital value data including one or more second digital values; dividing each second digital value in the second digital value data to obtain a high byte value and a low byte value of the second digital value; and obtaining the high byte value of each second digital value in the second digital value data and storing it in sequence to obtain a high byte data set, and obtaining the low byte value of each second digital value in the second digital value data and storing it in sequence to obtain a low byte data set.
[0004] In the second aspect of the embodiments of the present disclosure, an electrocardiogram data compression device is provided. The device includes a second digital value data acquisition module, configured to perform high-base conversion based on first digital value data to obtain second digital value data, the second digital value data including one or more second digital values; a high-low byte value determination module, configured to divide each second digital value in the second digital value data to obtain a high byte value and a low byte value of the second digital value; and a high-low byte data set formation module, configured to obtain the high byte value of each second digital value in the second digital value data and store it in sequence to obtain a high byte data set, and obtain the low byte value of each second digital value in the second digital value data and store it in sequence to obtain a low byte data set.
[0005] In a third aspect of the disclosed embodiment, a computer program product is provided, comprising a computer program, which implements the method provided according to the first aspect when executed by a processor.
[0006] In a fourth aspect of an embodiment of the present disclosure, an electronic device is provided, comprising one or more processors and a memory associated with the one or more processors, wherein the memory is used to store program instructions, and when the program instructions are read and executed by the one or more processors, the method provided in the first aspect is executed.
[0007] It should be understood that the contents described in the summary of the invention are not intended to limit the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein: Figure 1 A flowchart of an electrocardiogram data compression method according to some embodiments of the present disclosure is shown; Figure 2 A block diagram of an electrocardiogram data compression device according to some embodiments of the present disclosure is shown; Figure 3 A block diagram of an electronic device according to some embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0009] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0010] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0011] As mentioned above, with the continuous advancement of medical technology and the growing demand for health monitoring, wearable ECG devices have gradually become an important tool for monitoring heart health. The development from single lead to multi-lead enables wearable ECG devices to collect richer and more detailed ECG data, providing strong support for clinical diagnosis and treatment. However, this progress also brings new problems: the amount of collected ECG data has increased significantly, resulting in the inability to send Bluetooth data packets all at once, and the data can only be sent in batches multiple times. If a better data compression method (i.e., a higher data compression rate) is used while the total amount of data to be transmitted remains unchanged, the number of batches required for data transmission will be smaller; if an ordinary data compression method (i.e., a lower data compression rate) is used, the number of batches required for data transmission will be larger. If there are more data batches, the data transmission efficiency will be poor, and the real-time performance of data transmission cannot be guaranteed.
[0012] The ECG data compression method in the prior art is generally as follows: the wearable ECG device automatically obtains first digital value data (the first digital value data is obtained by the wearable ECG device automatically collecting ECG signals and automatically converting the ECG signals through an analog-to-digital converter), and then the wearable ECG device directly encodes the first digital value data to obtain encoded data and a corresponding encoding mapping table, and then the wearable ECG device sends the encoded data and the corresponding encoding mapping table to a display device, and then the display device decodes the encoded data according to the encoding mapping table to obtain the first digital value data, and finally the display device converts the first digital value data into an ECG signal through a digital-to-analog converter for display.
[0013] The applicant has found that, under the premise of the same encoding method, the more repetitions of the first digital value in the first digital value data, the smaller the amount of encoded value data obtained by encoding, and thus the better the compression effect. For example, when the first digital value data is 2048, 2048, 2048, the obtained encoded value data is 1 / 1 / 1, and the amount of encoded value data is 3; when the first digital value data is 2048, 2049, 2050, the obtained encoded value data is 1 / 01 / 00, and the amount of encoded value data is 5. The first digital value obtained by converting the electrocardiogram signal is within a certain range, for example, within the range of 0-4095. If the repetition of the first digital value in the first digital value data can be increased, then the data compression effect can be improved.
[0014] To this end, an embodiment of the present disclosure proposes an ECG data compression method. In the embodiment of the present disclosure, a high-base conversion is performed based on the first digital value data to obtain second digital value data, and the second digital value data includes one or more second digital values; each second digital value in the second digital value data is divided to obtain a high byte value and a low byte value of the second digital value; the high byte value of each second digital value in the second digital value data is obtained and stored in sequence to obtain a high byte data set, and the low byte value of each second digital value in the second digital value data is obtained and stored in sequence to obtain a low byte data set.
[0015] The present disclosure first converts the first digital value into a high-radix system to obtain a second digital value, then divides the second digital value to obtain a high-byte value and a low-byte value, and finally forms a high-byte data set and a low-byte data set through the high-byte value and the low-byte value. Taking the first half of the first digital value as an example, if the first digital value in the first digital value data is not converted into a high-radix system, then the value of the first half can be any one of 00, 01, 02...09, 10, 11, 12...37, 38, 39, 40, and there are 41 possibilities. If the first digital value in the first digital value data is converted into a high-radix system (such as hexadecimal), then the value of the first half can be any one of 00, 01, 02...09, 0A, 0B...0F, and there are only 16 possibilities. Obviously, when the total number of data is the same, the repetition amount of the first half of the first digital value can be greatly increased by converting the high-radix system. The same is true for the second half of the first digital value. Although the present disclosure obtains two byte data sets, high and low, and the data in the two data sets need to be encoded later, since there are a lot of repetitions in the digital values in each data set, compared with the prior art that directly encodes the first digital value data, it can still effectively reduce the amount of encoded value data, thereby improving the data compression rate of the ECG data compression method. When the data compression rate is improved, the number of batches of ECG data transmission can be reduced, thereby making the data transmission efficiency higher and the real-time performance of data transmission better.
[0016] Figure 1 FIG. 1 is a flow chart of an electrocardiogram data compression method 100 according to some embodiments of the present disclosure. Figure 1 As shown, at block 102 , the method 100 may include performing a high-base conversion based on the first digital value data to obtain a second digital value data, where the second digital value data includes one or more second digital values.
[0017] The wearable ECG device can collect ECG signals of patients (i.e., the ECG personnel being collected). Since the ECG signals are analog signals, the wearable ECG device will automatically convert the ECG signals into digital signals (i.e., first digital value data) through an analog-to-digital converter first, and then the wearable ECG device will encode the digital signals and send them to the display device. After receiving the encoded data, the display device will reversely decode the encoded data to obtain the digital signal (i.e., the first digital value data). The display device will also automatically convert the digital signal into an ECG signal through the digital-to-analog converter for display, so that the staff (i.e., the ECG personnel) can see the patient's ECG signals. In other words, the wearable ECG device itself directly has the first digital value data. In order to improve the data compression effect of the first digital value data, this embodiment will also process the first digital value data through the wearable ECG device before encoding the first digital value data, for example, converting the first digital value data into a high-base system to obtain the second digital value data, etc.
[0018] The ECG signal reflects the electrical activity generated by the heart in each cardiac cycle. When the myocardial cells of the heart depolarize and repolarize, a tiny current is generated. These currents are conducted to the skin surface through body tissues and detected as voltage changes by the electrodes on the ECG device. The ECG signal can be converted into a digital signal through the analog-to-digital converter of the wearable ECG device. The analog-to-digital converter of this embodiment is a 12-bit analog-to-digital converter, which can quantize the input analog signal into a digital value between 0 and 4095 (i.e., 2 to the 12th power). Of course, before the ECG signal is converted by the 12-bit analog-to-digital converter, it needs to be amplified first, because the ECG signal is very weak, and the typical ECG signal amplitude range is approximately between 0.5 millivolts and 5 millivolts. In short, the first digital value data of this embodiment is the digital value obtained by amplifying the ECG signal and then converting it through a 12-bit analog-to-digital converter, which can be directly obtained through the wearable ECG device. The first digital value data can be, for example, digital values such as 2052, 2110, 3692, 3784, etc.
[0019] In this embodiment, performing high-base conversion based on the first digital value data to obtain the second digital value data specifically includes: Each first digital value in the first digital value data is converted into hexadecimal to obtain initial second digital value data, and the initial second digital value data includes one or more initial second digital values.
[0020] Assuming that the first digital value data is 2052, 2110, 3692, 3784, the initial second digital value data is 804, 831, E6C, EC8.
[0021] Determine whether each initial second digital value in the initial second digital value data has a four-digit value. When the initial second digital value does not have a four-digit value, fill the insufficient digits of the initial second digital value with zeros to obtain an initial second digital value with a four-digit value, and use the initial second digital value with a four-digit value as the second digital value of the second digital value data.
[0022] When the first digital value is 0, the corresponding initial second digital value is 0; when the first digital value is 4095, the corresponding initial second digital value is FFF. In other words, the initial second digital value obtained by converting the first digital value into hexadecimal must not have a four-digit value, so the initial second digital value needs to be padded with zeros at the high digits. For example, if the initial second digital value data is 804, then the initial second digital value with a four-digit value after padded with zeros at the high digits is 0804, and the corresponding second digital value is 0804.
[0023] Assuming that the initial second digital value data is 804, 831, E6C, EC8, then the second digital value data is 0804, 0831, 0E6C, 0EC8. The reason why the first digital value is converted into a hexadecimal second digital value in this embodiment is to allow the high-byte value in the formed high-byte data set to have more repeated bits in the future. Specifically, if the first digital value in the first digital value data is not converted into hexadecimal, the high-byte value can be any one of 00, 01, 02...09, 10, 11, 12...37, 38, 39, 40, and the high-byte value has 41 possibilities. The high-byte value obtained by the second digital value can be any one of 00, 01, 02...09, 0A, 0B...0F, and the high-byte value has only 16 possibilities. When the total number of high-byte values in the high-byte data set is the same, the setting of the second digital value data makes the high-byte value in the high-byte data set have more repeated bits. For example, the 20 in 2052 and the 21 in 2110 are not repeated, but after converting to hexadecimal, the 08 in 0804 and the 08 in 0831 are repeated.
[0024] At block 104 , the method 100 may include segmenting each second digital value in the second digital value data to obtain a high byte value and a low byte value of the second digital value.
[0025] The step of dividing each second digital value in the second digital value data to obtain a high byte value and a low byte value of the second digital value includes: The number of digits for dividing the second digital value is determined, and the number of digits for dividing the second digital value is half of the total number of digits of the second digital value. In this embodiment, the second digital value must have only four digits, so the number of digits for dividing the second digital value is 2.
[0026] The second digital value is segmented based on the number of segmentation digits. In this embodiment, the first two digits and the last two digits of each second digital value are segmented. Assuming that the second digital value is 0806, the segmentation is performed between "08" and "06", and it is assumed that a virtual segmentation line is set between "08" and "06".
[0027] The digital value on the first side of the dividing line after the second digital value is divided is used as the high byte value, and the digital value on the second side of the dividing line after the second digital value is divided is used as the low byte value. In this embodiment, the digital value on the left side of the dividing line is used as the high byte value, and the digital value on the right side of the dividing line is used as the low byte value.
[0028] Specifically, when the second digital value data is 0804, 0831, 0E6C, and 0EC8, the high byte value of the first second digital value (i.e., 0804) is 08, and the low byte value of the first second digital value (i.e., 0804) is 04; the high byte value of the second second digital value (i.e., 0831) is 08, and the low byte value of the second second digital value (i.e., 0831) is 31; the high byte value of the third second digital value (i.e., 0E6C) is 0E, and the low byte value of the second digital value (i.e., 0E6C) is 6C; the high byte value of the fourth second digital value (i.e., 0EC8) is 0E, and the low byte value of the fourth second digital value (i.e., 0EC8) is C8.
[0029] In box 106, method 100 may include obtaining the high byte value of each second digital value in the second digital value data and storing it in sequence to obtain a high byte data set, and obtaining the low byte value of each second digital value in the second digital value data and storing it in sequence to obtain a low byte data set.
[0030] When the second digital value data is 0804, 0831, 0E6C, 0EC8, the high byte data set is 08, 08, 0E, 0E, and the low byte data set is 04, 31, 6C, C8. The high byte data set and the low byte data set are formed in this embodiment to reduce the amount of subsequent coded value data.
[0031] Assume that the second digital value data is: 0804, 0831, 086C, 08C8, 0E04, 0E31, 0E6C, 0EC8. If the second digital value data is directly encoded using a common encoding method, the resulting encoded data is: 1 / 01 / 001 / 0001 / 00001 / 000001 / 0000001 / 0000000, with a total of 35 encoded value data.
[0032] The common encoding method is: first, sequentially obtain the first second digital value (i.e., 0804) in the second digital value data, and assign a coding value (i.e., 1) to the first second digital value (i.e., 0804); then, sequentially obtain the second second digital value (i.e., 0831) in the second digital value data, and determine whether the second second digital value (i.e., 0831) has appeared before. If it has appeared, the coding value used previously is directly used here. If it has not appeared, a new coding value (i.e., 01) is assigned to the second second digital value (i.e., 0831)... Finally, sequentially obtain the eighth second digital value (i.e., 0EC8) in the second digital value data, and determine whether the eighth second digital value (i.e., 0EC8) has appeared before. If it has appeared, the coding value used previously is directly used here. If it has not appeared, a new coding value (i.e., 0000000) is assigned to the eighth second digital value (i.e., 0EC8). When assigning a code value, the following conditions must be met: under the premise that it is different from the existing code value, the number of code digits of the new code value should be as few as possible (for example, the first new code value should preferably have one code digit, and the second new code value should preferably have two code digits); and except for the last code value, which can have a unit digit of 0, the units digit of other code values must be 1 (to distinguish between the previous and next two code values).
[0033] If the high-byte data set (08, 08, 08, 08, 0E, 0E, 0E, 0E) and low-byte data set (04, 31, 6C, C8, 04, 31, 6C, C8) of the second digital value data are first obtained, and then the high-byte value in the high-byte data set is encoded using a common encoding method (the encoded data is: 1 / 1 / 1 / 1 / 0 / 0 / 0 / 0), and the low-byte value in the low-byte data set is encoded using a common encoding method (the encoded data is: 1 / 01 / 001 / 000 / 1 / 01 / 001 / 000), then there are 26 encoded value data in total, and it is obvious that the amount of encoded value data is effectively reduced. In particular, when there are a large number of repetitions of high-byte values in the high-byte data set and low-byte values in the low-byte data set, the amount of encoded value data can be very effectively reduced by setting the high-byte data set and the low-byte data set, and then the data can be effectively compressed, and finally the efficient transmission of data is guaranteed.
[0034] Furthermore, in this embodiment, converting the first digital value data to obtain the second digital value data may also include: Get the DC bias voltage of the ECG signal.
[0035] After amplifying the collected electrical signal and before inputting the analog-to-digital converter, the wearable ECG device will also add a DC bias voltage to the amplified ECG signal. The ECG signal itself is an AC signal, and its amplitude is usually between 0.5 mV and 5 mV. Because these signals are very weak and modern ECG devices are often powered by a single power supply (such as a battery), they cannot directly process negative voltage signals. Therefore, a DC bias voltage needs to be applied to the ECG signal. The DC bias voltage can raise the ECG signal to an appropriate DC level, so that even if there is a negative part, it can be kept within a positive voltage range after being raised, which is convenient for subsequent digital processing. The DC bias voltage is a parameter set manually for the wearable ECG device. When the staff sets the DC bias voltage of the ECG signal for the wearable ECG device, the wearable ECG device can automatically obtain the DC bias voltage of the ECG signal.
[0036] Before using the 12-bit analog-to-digital converter of the wearable ECG device, an input reference voltage needs to be manually set. For example, the input reference voltage can be 2.8 volts. When the input reference voltage is 2.8 volts, if the input of the analog-to-digital converter is 0 volts, the first digital value output by the analog-to-digital converter is 0; if the input of the analog-to-digital converter is 2.8 volts, the first digital value output by the analog-to-digital converter is 4095. The DC bias voltage is usually half of the input reference voltage. For example, when the input reference voltage is 2.8 volts, the DC bias voltage is 1.4 volts. Of course, the DC bias voltage can also be set according to actual usage requirements, and it does not have to be set to half of the input reference voltage. In short, the staff needs to set the two parameters of input reference voltage and DC bias voltage for the wearable ECG device in advance, so that when the wearable ECG device collects ECG signals, the wearable ECG device can automatically obtain the DC bias voltage, and then automatically process the ECG signals.
[0037] Converts a DC bias voltage to a base digital value.
[0038] After obtaining the DC bias voltage of the ECG signal, the DC bias voltage can be converted into a basic digital value using the following formula: in, is the underlying numeric value, is the DC bias voltage, is the reference voltage, is the number of bits of resolution of the analog-to-digital converter. is 1.4 volts, is 2.8 volts, It is 12 o'clock. The basic digital value converted by the DC bias voltage is 2048.
[0039] Determine whether each first digital value in the first digital value data is less than the basic digital value. When the first digital value is less than the basic digital value, record the arrangement sequence number of the first digital value in the first digital value data, and directly use the first digital value as the third digital value in the third digital value data; when the first digital value is not less than the basic digital value, subtract the basic digital value from the first digital value to obtain the third digital value of the third digital value data.
[0040] For example, when the first digital value data is 1999, 2013, 2052, 2110, 3692, 3784, first determine whether the first digital value (i.e., 1999) is less than the base digital value (i.e., 2048). Since the first digital value (i.e., 1999) is less than the base digital value (i.e., 2048), the arrangement number of the first digital value (i.e., 1999) is recorded (for example, the arrangement number is 1), and the first digital value (i.e., 1999) is directly used as the third digital value (i.e., 1999) in the third digital value data; at the same time, determine whether the first digital value (i.e., 1999) is less than the base digital value (i.e., 2048). Whether the digital value (i.e., 2013) is less than the basic digital value (i.e., 2048), since the first digital value (i.e., 2013) is less than the basic digital value (i.e., 2048), the arrangement number of the first digital value (i.e., 2013) is recorded (for example, the arrangement number is 2); at the same time, whether the first digital value (i.e., 2052) is less than the basic digital value (i.e., 2048), since the first digital value (i.e., 2052) is not less than the basic digital value (i.e., 2048), the first digital value (i.e., 2052) is subtracted from the basic digital value (i.e., 2048) to obtain is the third digital value of the third digital value data (i.e. 4); at the same time, it is determined whether the first digital value (i.e. 2110) is less than the basic digital value (i.e. 2048). Since the first digital value (i.e. 2110) is not less than the basic digital value (i.e. 2048), the first digital value (i.e. 2110) is subtracted from the basic digital value (i.e. 2048) to obtain the third digital value (i.e. 62) of the third digital value data; at the same time, it is determined whether the first digital value (i.e. 3692) is less than the basic digital value (i.e. 2048). Since the first digital value (i.e. 3692) is not less than The first digital value (i.e., 3692) is less than the basic digital value (i.e., 2048), so the first digital value (i.e., 3692) is subtracted from the basic digital value (i.e., 2048) to obtain the third digital value (i.e., 1644) of the third digital value data; at the same time, it is determined whether the first digital value (i.e., 3784) is less than the basic digital value (i.e., 2048). Since the first digital value (i.e., 3784) is not less than the basic digital value (i.e., 2048), the first digital value (i.e., 3784) is subtracted from the basic digital value (i.e., 2048) to obtain the third digital value (i.e., 1738) of the third digital value data. So far, the third digital value data can be obtained as 1999, 2013, 4, 62, 1644, and 1738.
[0041] Each third digital value in the third digital value data is converted into hexadecimal to obtain initial second digital value data, the initial second digital value data including one or more initial second digital values. When the third digital value data is 1999, 2013, 4, 62, 1644, 1738, the initial second digital value data converted into hexadecimal is 7CF, 7DD, 4, 3E, 66C, 69A.
[0042] Determine whether each initial second digital value in the initial second digital value data has a four-digit value. When the initial second digital value does not have a four-digit value, fill the insufficient digits of the initial second digital value with zeros to obtain an initial second digital value with a four-digit value, and use the initial second digital value with a four-digit value as the second digital value of the second digital value data.
[0043] If the initial second digital value data is 7CF, then the initial second digital value with a four-digit value after the high-order zero padding is 07CF, and the corresponding second digital value is 07CF. If the initial second digital value data is 7DD, then the initial second digital value with a four-digit value after the high-order zero padding is 07DD, and the corresponding second digital value is 07DD. If the initial second digital value data is 4, then the initial second digital value with a four-digit value after the high-order zero padding is 0004, and the corresponding second digital value is 0004. If the initial second digital value data is 3E, then the initial second digital value with a four-digit value after the high-order zero padding is 003E, and the corresponding second digital value is 003E. If the initial second digital value data is 66C, then the initial second digital value with a four-digit value after the high-order zero padding is 066C, and the corresponding second digital value is 066C. If the initial second digital value data is 69A, then the initial second digital value with a four-digit value after the high-order zero padding is 069A, and the corresponding second digital value is 069A. That is, when the initial second digital value data is 7CF, 7DD, 4, 3E, 66C, 69A, the second digital value data is 07CF, 07DD, 0004, 003E, 066C, 069A.
[0044] First, assume that the high-byte data set is 06, 06, 06, then the data obtained by the common encoding method is encoded as 1 / 1 / 1, with 3 encoding value data. Then assume that the high-byte data set is 06, 07, 08, then the data obtained by the common encoding method is encoded as 1 / 01 / 00, with 5 encoding value data. In other words, the more repetitions of the high-byte values in the high-byte data set, the better, so that the amount of encoded value data will be less, which is equivalent to better compression effect.
[0045] If the first digital value is directly converted into the second digital value through hexadecimal conversion, the smallest high byte value is 00 (when the first digital value is 0, the corresponding second digital value is 0000), the largest high byte value is 0F (when the first digital value is 4095, the corresponding second digital value is 0FFF), and the high byte value is between 00, 01...0F, with 16 possibilities. Now, the first digital value greater than or equal to the basic digital value is subtracted from the basic digital value, which is equivalent to all "first digital values" becoming between 0 and 2047. If the "first digital value" is converted into the second digital value through hexadecimal conversion, the smallest high byte value is 00 (when the "first digital value" is 0, the corresponding second digital value is 0000), the largest high byte value is 07 (when the "first digital value" is 2047, the corresponding second digital value is 07FF), and the high byte value is between 00, 01...07, with only 8 possibilities.
[0046] This embodiment subtracts the basic digital value from the first digital value, so that the high byte value range in the subsequently formed high byte data set is changed from 00 to 0F to 00 to 07, thereby effectively improving the repetition rate of the high byte values in the high byte data set, and ultimately effectively reducing the subsequent encoding value data volume.
[0047] In other application scenarios, high-byte data sets and low-byte data sets are usually not obtained, because obtaining high-byte data sets and low-byte data sets may increase the amount of coded value data. The reason why the present embodiment can obtain high-byte data sets and low-byte data sets is because of the particularity of the ECG signal. Because the first digital value data obtained by the wearable ECG device is in the range of 0-4095, when the first digital value data is converted into the second digital value data, if the second digital value data is divided into a high-byte data set and a low-byte data set, since there are a large number of repeated high-byte values in the high-byte data set, the total amount of coded value data can be reduced in the end.
[0048] Furthermore, the ECG data compression method in this embodiment further includes performing data encoding processing on the high-byte values in the high-byte data set, specifically including: Determine the high-byte values in the high-byte data set. Assume that the high-byte data set is: 01, 00, 00, 00, 01, 00, 00, 01, 02, 02. Then the high-byte values are: 01, 00, 02.
[0049] The number of occurrences of each high-byte value is counted. Among them, the number of occurrences of the high-byte value 01 is 3, the number of occurrences of the high-byte value 00 is 5, and the number of occurrences of the high-byte value 02 is 2.
[0050] The high byte values are sorted from large to small according to the number of occurrences to obtain a high byte value sequence, wherein the high byte value sequence is: 00, 01, 02.
[0051] Assign a code value of one to each high-byte value in a high-byte value sequence. Assigning a code value of one to each high-byte value in a high-byte value sequence includes: obtaining the first high-byte value in the high-byte value sequence, and determining whether there is a second high-byte value in the high-byte value sequence, if yes, determining the number of digits of the code value of one corresponding to the high-byte value, setting the unit bit of the code value of one to 1 and setting the other bits of the code value of one to 0; if no, determining the number of digits of the code value of one corresponding to the high-byte value, and setting all bits of the code value of one to 0. Determining the number of digits of the code value of one corresponding to the high-byte value includes: determining the first deletion number of high-byte values in the high-byte value sequence; when there is a second high-byte value in the high-byte value sequence, the number of digits of the code value of one corresponding to the high-byte value is equal to the first deletion number plus one; when there is no second high-byte value in the high-byte value sequence, the number of digits of the code value of one corresponding to the high-byte value is equal to the first deletion number. Delete the first high-byte value in the high-byte value sequence to obtain a new high-byte value sequence.
[0052] First, the high-byte numerical sequence is: 00, 01, 02. The first high-byte numerical value is 00, and there is a second high-byte numerical value 01, so the number of digits of the code value one of the high-byte numerical value 00 is first determined. In the initial state, the first deletion number is 0, so the first deletion number at this time is 0. Since there is a second high-byte numerical value 01 in the high-byte numerical sequence, the number of digits of the code value one of the high-byte numerical value 00 is equal to the first deletion number (i.e., 0) plus one, and the number of digits of the code value one of the high-byte numerical value 00 is finally obtained to be 1. Since the ones bit of the code value one needs to be set to "1" (in order to distinguish the two code values one before and after, this embodiment sets the ones bit of the other code values one except the last code value one to 1), the other bits need to be set to "0", so the code value one of the high-byte numerical value 00 is "1". After the code value one of the high-byte numerical value 00 is determined, the first high-byte numerical value in the high-byte numerical sequence (i.e., 00, 01, 02) is deleted to obtain a new high-byte numerical sequence: 01, 02. And at this time, the first deletion number is 1.
[0053] Next, the high-byte numerical sequence is: 01, 02. The first high-byte numerical value is 01, and there is a second high-byte numerical value 02, so first determine the number of digits of the encoding value one of the high-byte numerical value 01. At this time, the first deletion number is 1. Since there is a second high-byte numerical value 02 in the high-byte numerical sequence, the number of digits of the encoding value one of the high-byte numerical value 01 is equal to the first deletion number (i.e. 1) plus one, and the final number of digits of the encoding value one of the high-byte numerical value 00 is 2. Since the units digit of the encoding value one needs to be set to "1" and the other digits need to be set to "0", the encoding value one of the high-byte numerical value 01 is "01". After the encoding value one of the high-byte numerical value 01 is determined, delete the first high-byte numerical value in the high-byte numerical sequence (i.e. 01, 02) to obtain a new high-byte numerical sequence: 02. And at this time, the first deletion number is 2.
[0054] Next, the high-byte numerical sequence is: 02. The first high-byte numerical value is 02, and there is no second high-byte numerical value, so the number of bits of the code value one of the high-byte numerical value 02 is determined first. The first deletion number at this time is 2. Since there is no second high-byte numerical value in the high-byte numerical sequence, the number of bits of the code value one of the high-byte numerical value 02 is equal to the first deletion number (i.e. 2), and the final number of bits of the code value one of the high-byte numerical value 02 is 2. Since all bits of the code value one need to be set to "0", the code value one of the high-byte numerical value 02 is "00". After the code value one of the high-byte numerical value 02 is determined, the first high-byte numerical value in the high-byte numerical sequence (i.e. 02) is deleted. Since there is no high-byte numerical value in the high-byte numerical sequence at this time, each high-byte numerical value is assigned a code value of one and ends.
[0055] All high-byte values in the high-byte data set are encoded according to the encoding value of each high-byte value to obtain high-byte encoded data.
[0056] When the encoding value of the high byte value 00 is "1", the encoding value of the high byte value 01 is "01", and the encoding value of the high byte value 02 is "00", the high byte data set (i.e., 01, 00, 00, 00, 01, 00, 00, 01, 02, 02) is encoded to obtain the high byte encoding data: 01 / 1 / 1 / 1 / 01 / 1 / 1 / 01 / 00 / 00 (with 15 encoding value data). Compared with the encoding data obtained by the ordinary encoding method: 1 / 01 / 01 / 01 / 1 / 01 / 01 / 1 / 00 / 00 (with 18 encoding value data), the encoding method of this embodiment can not only reduce the amount of encoding value data but also make the encoding step very simple and efficient.
[0057] The ECG data compression method in this embodiment further includes performing data encoding processing on the low-byte values in the low-byte data set, specifically including: Determine the low-byte values that exist in the low-byte data set. Assume that the low-byte data set is: 6C, 5B, 5B, 5B, 5B, 5B, 3A, 3A, 5B, 6C. Then the low-byte values that exist are: 6C, 5B, 3A.
[0058] The number of occurrences of each low byte value is counted. Among them, the number of occurrences of the low byte value 6C is 2, the number of occurrences of the low byte value 5B is 6, and the number of occurrences of the low byte value 3A is 2.
[0059] The low byte values are sorted from large to small according to the number of occurrences to obtain a low byte value sequence, wherein the low byte value sequence is: 5B, 6C, 3A.
[0060] Assigning a code value of two to each low-byte value in a low-byte value sequence. Wherein, assigning a code value of two to each low-byte value in a low-byte value sequence includes: obtaining the first low-byte value in the low-byte value sequence; determining whether there is a second low-byte value in the low-byte value sequence, if yes, determining the number of digits of the code value of two corresponding to the low-byte value, setting the unit digit of the code value of two to 1 and setting the other digits of the code value of two to 0; if no, determining the number of digits of the code value of two corresponding to the low-byte value, setting all digits of the code value of two to 0. Wherein, determining the number of digits of the code value of two corresponding to the low-byte value includes: determining the second number of deletions of low-byte values in the low-byte value sequence; when there is a second low-byte value in the low-byte value sequence, the number of digits of the code value of two corresponding to the low-byte value is equal to the second number of deletions plus one; when there is no second low-byte value in the low-byte value sequence, the number of digits of the code value of two corresponding to the low-byte value is equal to the second number of deletions. Delete the first low-byte value in the low-byte value sequence to obtain a new low-byte value sequence.
[0061] First, the low-byte numerical sequence is: 5B, 6C, 3A. The first low-byte numerical value is 5B, and there is a second low-byte numerical value 6C, so the number of digits of the code value 2 of the low-byte numerical value 5B is first determined. In the initial state, the second number of deletions is 0, so the second number of deletions at this time is 0. Since there is a second low-byte numerical value 6C in the low-byte numerical sequence, the number of digits of the code value 2 of the low-byte numerical value 5B is equal to the second number of deletions (i.e., 0) plus one, and the number of digits of the code value 2 of the low-byte numerical value 5B is finally 1. Since the units digit of the code value 2 needs to be set to "1" (in order to distinguish the two code values 2 before and after, this embodiment sets the units digits of the other code values 2 except the last code value 2 to 1), the other digits need to be set to "0", so the code value 2 of the low-byte numerical value 5B is "1". After the code value 2 of the low-byte numerical value 5B is determined, the first low-byte numerical value in the low-byte numerical sequence (i.e., 5B, 6C, 3A) is deleted to obtain a new low-byte numerical sequence: 6C, 3A. And at this time, the second deletion number is 1.
[0062] Next, the low-byte numerical sequence is: 6C, 3A. The first low-byte numerical value is 6C, and there is a second low-byte numerical value 3A, so first determine the number of digits of the encoding value 2 of the low-byte numerical value 6C. At this time, the second number of deletions is 1. Since there is a second low-byte numerical value 3A in the low-byte numerical sequence, the number of digits of the encoding value 2 of the low-byte numerical value 6C is equal to the second number of deletions (i.e. 1) plus one, and the final number of digits of the encoding value 2 of the low-byte numerical value 6C is 2. Since the units digit of the encoding value 2 needs to be set to "1" and the other digits need to be set to "0", the encoding value 2 of the low-byte numerical value 6C is "01". After the encoding value 2 of the low-byte numerical value 6C is determined, delete the first low-byte numerical value in the low-byte numerical sequence (i.e. 6C, 3A) to obtain a new low-byte numerical sequence: 3A. And at this time, the second number of deletions is 2.
[0063] Next, the low-byte numerical sequence is: 3A. The first low-byte numerical value is 3A, and there is no second low-byte numerical value, so the number of digits of the code value 2 of the low-byte numerical value 3A is determined first. The second number of deletions at this time is 2. Since there is no second high-byte numerical value in the low-byte numerical sequence, the number of digits of the code value 2 of the low-byte numerical value 3A is equal to the second number of deletions (i.e. 2), and the final number of digits of the code value 2 of the low-byte numerical value 3A is 2. Since all bits of the code value 2 need to be set to "0", the code value 2 of the low-byte numerical value 3A is "00". After the code value 2 of the low-byte numerical value 3A is determined, the first low-byte numerical value in the low-byte numerical sequence (i.e. 3A) is deleted. Since there is no low-byte numerical value in the low-byte numerical sequence at this time, each low-byte numerical value is assigned the code value 2 and ends.
[0064] All low-byte values in the low-byte data set are encoded according to the encoding value 2 of each low-byte value to obtain low-byte encoded data.
[0065] When the encoding value 2 of the low byte value 5B is "1", the encoding value 2 of the low byte value 6C is "01", and the encoding value 2 of the low byte value 3A is "00", the low byte data set (i.e., 6C, 5B, 5B, 5B, 5B, 5B, 3A, 3A, 5B, 6C) is encoded to obtain the low byte encoding data: 01 / 1 / 1 / 1 / 1 / 1 / 00 / 00 / 1 / 01 (with 14 encoding value data). Compared with the encoding data obtained by the existing encoding method: 1 / 01 / 01 / 01 / 01 / 01 / 00 / 00 / 01 / 1 (with 18 encoding value data), the encoding method of this embodiment can not only further reduce the amount of encoding value data but also make the encoding step very simple and efficient.
[0066] The entire workflow of this embodiment is as follows: After the wearable ECG device directly obtains the first digital value data (for example, 1999, 2013, 2052, 2110, 2269, 2255), the third digital value data (1999, 2013, 4, 62, 221, 207) is obtained from the first digital value data (by recording the arrangement sequence number if it is less than the basic digital value, and subtracting the basic digital value if it is greater than or equal to the basic digital value), and then the third digital value data is converted into hexadecimal to obtain the second digital value data (07CF, 07 DD, 0004, 003E, 00DD, 00CF), and then obtain the high-byte data set (07, 07, 00, 00, 00, 00) and the low-byte data set (CF, DD, 04, 3E, DD, CF), then encode the high-byte data set to obtain the high-byte encoded data (0 / 0 / 1 / 1 / 1 / 1) and encode the low-byte data set to obtain the low-byte encoded data (1 / 01 / 001 / 000 / 01 / 1), and form a coding mapping table. Finally, the high-byte encoded data (0 / 0 / 1 / 1 / 1 / 1) and the low-byte encoded data (1 / 01 / 001 / 000 / 01 / 1) and the coding mapping table are sent to the display device.
[0067] After receiving the high-byte coded data (0 / 0 / 1 / 1 / 1 / 1) and the low-byte coded data (1 / 01 / 001 / 000 / 01 / 1) and the coding mapping table, the display device first decodes the data according to the coding mapping table (the coding value "0" in the high-byte coding mapping table corresponds to the high-byte value "07", and the coding value "1" corresponds to the high-byte value "00"; the coding value "1" in the low-byte coding mapping table represents the low-byte value "CF", the coding value "01" represents the low-byte value "DD", the coding value "001" represents the low-byte value "04", and the coding value "000" represents the low-byte value "3E") to obtain the high-byte data set (07, 07, 00, 00, 00, 00) and the low-byte data set (CF, DD, 04, 3E, DD, CF). The second digital value data (07CF, 07DD, 0004, 003E, 00DD, 00CF) is obtained through the high-byte data set and the low-byte data set, and then the second digital value data is reversely converted into the third digital value data (1999, 2013, 4, 62, 221, 207), and then the third digital value data (by keeping the recorded arrangement sequence number unchanged and adding the basic digital value to the unrecorded arrangement sequence number) is reversely converted into the first digital value data (1999, 2013, 2052, 2110, 2269, 2255). Finally, the display device can also convert the first digital value data into an electrocardiogram signal through a digital-to-analog converter for display.
[0068] The data compression method of this embodiment can not only improve the data compression rate, thereby improving the data transmission efficiency and improving the real-time performance of data transmission, but also has the advantages of simple data compression steps and being able to maintain the integrity of the original data (ie, lossless compression).
[0069] Figure 2 A block diagram of an ECG data compression device 200 according to some embodiments of the present disclosure is shown. The device 200 includes a second digital value data acquisition module 202, which is configured to perform high-base conversion based on the first digital value data to obtain second digital value data, and the second digital value data includes one or more second digital values. A high-low byte value determination module 204 is configured to divide each second digital value in the second digital value data to obtain a high byte value and a low byte value of the second digital value. A high-low byte data set formation module 206 is configured to obtain the high byte value of each second digital value in the second digital value data and store it in chronological order to obtain a high byte data set, and obtain the low byte value of each second digital value in the second digital value data and store it in chronological order to obtain a low byte data set.
[0070] Figure 3A block diagram of an electronic device 300 of some embodiments of the present disclosure is shown. The device 300 includes a processor 301, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 302 and loaded into a random access memory (RAM) 303. In the RAM 303, various programs and data required for the operation of the device 300 can also be stored. The processor 301, the ROM 302, and the RAM 303 are connected to each other via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.
[0071] The various processes and processing described above, such as method 100, can be performed by processor 301. For example, in some embodiments, method 100 can be implemented as a software program, which is tangibly contained in a machine-readable medium. In some embodiments, part or all of the software program can be loaded and / or installed on device 300 via ROM 302. When the software program is loaded into RAM 303 and executed by processor 301, one or more actions of method 100 described above can be performed.
[0072] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip systems (SOCs), load programmable logic devices (CPLDs), and the like.
[0073] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer or other programmable data processing device, so that when the program code is executed by the processor or controller, the functions / operations specified in the flowchart and / or block diagram are performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
[0074] The present disclosure may be a method, an apparatus, a system and / or a program product. The program product may include a machine-readable storage medium on which are loaded machine-readable program instructions for executing various aspects of the present disclosure. The machine-readable program instructions described herein may be downloaded from the machine-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network and / or a wireless network. The network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or a network interface in each computing / processing device receives a machine-readable program instruction from the network, and forwards the machine-readable program instruction for storage in a machine-readable storage medium in each computing / processing device.
[0075] The machine program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. The machine-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect through the Internet). In some embodiments, by using the state information of the machine-readable program instructions to personalize an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), the electronic circuit may execute the machine-readable program instructions, thereby implementing various aspects of the present disclosure.
[0076] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In addition, although each operation is depicted in a specific order, this should be understood as requiring such operations to be performed in the specific order shown or in a sequential order, or requiring that all illustrated operations should be performed to obtain the desired result. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Certain features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination.
[0077] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.
Claims
1. A method for compressing electrocardiogram data, characterized in that: include: Performing high-base conversion based on the first digital value data to obtain second digital value data, wherein the second digital value data includes one or more second digital values; Splitting each of the second digital values in the second digital value data to obtain a high byte value and a low byte value of the second digital value; as well as Obtain the high byte value of each second digital value in the second digital value data and store them in chronological order to obtain a high byte data set, obtain the low byte value of each second digital value in the second digital value data and store them in chronological order to obtain a low byte data set.
2. The method according to claim 1, characterized in that The second digital value data is obtained by performing high-base conversion based on the first digital value data, including: Convert each first digital value in the first digital value data into hexadecimal to obtain initial second digital value data, wherein the initial second digital value data includes one or more initial second digital values; Determine whether each of the initial second digital values in the initial second digital value data has a four-digit value. When the initial second digital value does not have a four-digit value, fill the insufficient digits of the initial second digital value with zeros to obtain an initial second digital value with a four-digit value, and use the initial second digital value with a four-digit value as the second digital value of the second digital value data.
3. The method according to claim 1, characterized in that The second digital value data is obtained by performing high-base conversion based on the first digital value data, including: Obtaining the DC bias voltage of the ECG signal; Converting the DC bias voltage into a base digital value; Determine whether each first digital value in the first digital value data is less than the basic digital value, and when the first digital value is less than the basic digital value, record the arrangement sequence number of the first digital value in the first digital value data, and directly use the first digital value as the third digital value in the third digital value data; when the first digital value is not less than the basic digital value, subtract the basic digital value from the first digital value to obtain the third digital value of the third digital value data; Convert each of the third digital values in the third digital value data into hexadecimal to obtain initial second digital value data, wherein the initial second digital value data includes one or more initial second digital values; Determine whether each of the initial second digital values in the initial second digital value data has a four-digit value. When the initial second digital value does not have a four-digit value, fill the insufficient digits of the initial second digital value with zeros to obtain an initial second digital value with a four-digit value, and use the initial second digital value with a four-digit value as the second digital value of the second digital value data.
4. The method according to claim 2 or 3, characterized in that: Splitting each of the second digital values in the second digital value data to obtain a high byte value and a low byte value of the second digital value comprises: Determine the number of digits by which the second digital value is divided, the number of digits by which the second digital value is divided being half of the total number of digits by which the second digital value is divided; Segmenting the second digital value based on the number of segmentation bits; The digital value located on the first side of the dividing line after the second digital value is divided is used as the high byte value, and the digital value located on the second side of the dividing line after the second digital value is divided is used as the low byte value.
5. The method according to claim 1, characterized in that The method further includes performing data encoding processing on the high byte value in the high byte data set, including: Determine the high byte value present in the high byte data set; Count the number of occurrences of each high byte value; Sort the high byte values according to the number of occurrences from large to small to obtain a high byte value sequence; Assigning a coded value of one to each of said high byte values in said sequence of high byte values; Encoding all high-byte values in the high-byte data set according to the encoding value of each high-byte value to obtain high-byte encoded data; The method further includes performing data encoding processing on the low-byte values in the low-byte data set, including: Determine the low byte value present in the low byte data set; Count the number of occurrences of each low byte value; Sort the low byte values according to the number of occurrences from large to small to obtain a low byte value sequence; Assigning a code value of two to each of the low byte values in the sequence of low byte values; All low-byte values in the low-byte data set are encoded according to the encoding value 2 of each low-byte value to obtain low-byte encoded data.
6. The method according to claim 5, characterized in that Assigning a coded value to each of the high byte values in the high byte value sequence comprises: Get the first high byte value in the high byte value sequence; Determine whether there is a second high-byte value in the high-byte value sequence, if yes, determine the number of digits of the code value one corresponding to the high-byte value, set the unit bit of the code value one to 1 and set the other bits of the code value one to 0; if no, determine the number of digits of the code value one corresponding to the high-byte value, set all bits of the code value one to 0; The first high byte value in the high byte value sequence is deleted to obtain a new high byte value sequence; Assigning encoding value 2 to each of the low byte values in the low byte value sequence comprises: Get the first low byte value in the low byte value sequence; Determine whether there is a second low-byte value in the low-byte value sequence, if yes, determine the number of digits of the code value 2 corresponding to the low-byte value, set the unit bit of the code value 2 to 1 and set the other bits of the code value 2 to 0; if no, determine the number of digits of the code value 2 corresponding to the low-byte value, set all bits of the code value 2 to 0; Delete the first low byte value in the low byte value sequence to obtain a new low byte value sequence.
7. The method according to claim 6, characterized in that The number of bits that determine the encoding value of one corresponding to the high byte value includes: Determine the first deletion number of the high byte value in the high byte value sequence; When there is a second high-byte value in the high-byte value sequence, the number of digits of the encoding value one corresponding to the high-byte value is equal to the first deletion number plus one; when there is no second high-byte value in the high-byte value sequence, the number of digits of the encoding value one corresponding to the high-byte value is equal to the first deletion number; Determining the number of bits of the encoding value two corresponding to the low byte value specifically includes: Determine a second deletion number of low byte values in the low byte value sequence; When there is a second low byte value in the low byte value sequence, the number of bits of the encoding value two corresponding to the low byte value is equal to the second deletion number plus one; when there is no second low byte value in the low byte value sequence, the number of bits of the encoding value two corresponding to the low byte value is equal to the second deletion number.
8. An electrocardiogram data compression device, characterized in that: include: A second digital value data acquisition module is configured to perform high-base conversion based on the first digital value data to obtain second digital value data, wherein the second digital value data includes one or more second digital values; a high-low byte value determination module, configured to divide each of the second digital values in the second digital value data to obtain a high-byte value and a low-byte value of the second digital value; as well as The high- and low-byte data set forming module is configured to obtain the high-byte value of each of the second digital values in the second digital value data and store them in chronological order to obtain a high-byte data set, and obtain the low-byte value of each of the second digital values in the second digital value data and store them in chronological order to obtain a low-byte data set.
9. A computer program product, characterized in that The invention comprises a computer program, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 7.
10. An electronic device, characterized in that: include: one or more processors, and A memory associated with the one or more processors, the memory being used to store program instructions, wherein when the program instructions are read and executed by the one or more processors, the steps of the method according to any one of claims 1 to 7 are executed.
Citation Information
Patent Citations
Dpcm coding method of video signals
CN101167367A
Data compression apparatus, data compression program and image-taking apparatus
CN101933327A
Waveform data compression method and system
CN105530013A
Information embedding and extracting method based on Unicode coding
CN110472202A
Wearable electrocardiogram data compression and storage method and system and storage system
CN111159121A