Method, device, ultrasound equipment and storage medium for improving blood flow video frame rate

By obtaining the blood flow data packet and the interpolation processing, the composition of the value sequence is used to select the imaging value with a sliding window, which solves the problem of lowering the frame rate of the blood flow video, and achieves a significant improvement of the frame rate.

CN115250339BActive Publication Date: 2025-01-24SONOSCAPE MEDICAL CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110467841.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-28
Publication Date
2025-01-24
Estimated Expiration
2041-04-28

AI Technical Summary

Technical Problem

In the prior art, the blood flow video frame rate is low, mainly due to the low acquisition frequency of imaging data packets, which leads to the video frame rate being limited by the frequency of blood flow packet generation.

Method used

By obtaining at least two blood flow data packets, use the numerical interval between the data packets and the adjacent data packet interval to determine the interpolation position to obtain the interpolation value. Set the length of the sliding window from the numerical sequence to select the imaging value of the imaging data packet to increase the number of imaging data packets.

Benefits of technology

Through interpolation processing and sliding window selection of numerical sequences, the frame rate of blood flow video is significantly improved, making it no longer limited by the frequency of blood flow data packet generation, and solving the problem of low frame rate of blood flow video.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115250339B_ABST
    Figure CN115250339B_ABST
Patent Text Reader

Abstract

The present application discloses a method, device, ultrasonic equipment and readable storage medium for improving the frame rate of a blood flow video. The method comprises: obtaining at least two blood flow data packets, and determining an interpolation position using a numerical time interval corresponding to the blood flow data packets and an interval between adjacent data packets; using any two adjacent blood flow data packets to perform interpolation processing at a corresponding interpolation position to obtain an interpolation value; using an initial value and an interpolation value in the blood flow data packet to form a numerical sequence, and selecting imaging values ​​from the numerical sequence by sliding a window according to a preset step length to form an imaging data packet, wherein the number of imaging data packets is greater than the number of blood flow data packets; completing data by interpolation, and using the numerical sequence to collect imaging data packets, so that more imaging data packets than the number of blood flow data packets can be obtained, so that the frame rate of a blood flow video composed of imaging data packets is not limited by the frequency of blood flow data packet generation, thereby greatly improving the frame rate of the blood flow video.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of blood flow imaging, and in particular to a method for improving the frame rate of a blood flow video, a device for improving the frame rate of a blood flow video, an ultrasound device, and a computer-readable storage medium. Background Art

[0002] Blood is an important means of transport in the human body, carrying various important substances needed by the human body, such as metabolites, nutrients, oxygen and carbon dioxide. The flow of blood is a manifestation of human vitality, and imaging is the main way to check blood. Therefore, related technologies usually scan repeatedly at different spatial positions of the human body. Each scan can obtain the blood flow information of the corresponding spatial position, and use the combination to obtain imaging data packets, and then use the imaging data packets to generate blood flow images to form blood flow videos.

[0003] However, each scan takes a certain amount of time, and there is also a certain interval between two scans, which makes the acquisition frequency of imaging data packets low, resulting in a low frame rate of blood flow video. Summary of the invention

[0004] In view of this, the purpose of the present application is to obtain a larger number of imaging data packets using a smaller number of blood flow data packets, so that the frame rate of the blood flow video obtained using the imaging data packets is not limited by the frequency of blood flow data packet generation, which can greatly improve the video frame rate.

[0005] In order to solve the above technical problems, the present application provides a method for improving the frame rate of blood flow video, comprising:

[0006] Acquire at least two blood flow data packets, and determine the interpolation position using the numerical time interval corresponding to the blood flow data packets and the interval between adjacent data packets;

[0007] Using any two adjacent blood flow data packets, interpolation processing is performed at corresponding interpolation positions to obtain an interpolation value;

[0008] The initial value in the blood flow data packet and the interpolated value are used to form a value sequence, and imaging values ​​are selected from the value sequence by sliding window according to a preset step size to form an imaging data packet, and the number of the imaging data packets is greater than the number of the blood flow data packets.

[0009] Optionally, the using any two adjacent blood flow data packets to perform interpolation processing at corresponding interpolation positions to obtain an interpolation value includes:

[0010] determining whether the number of interpolation values ​​between adjacent data packets is less than the number of initial values ​​in the blood flow data packet;

[0011] If the interpolation quantity is less than the quantity of the initial values, performing interpolation processing at the corresponding interpolation positions using the initial values ​​in the adjacent data packets to obtain the interpolation values;

[0012] If the number of interpolation values ​​is not less than the number of initial values, determining a target position in each interpolation position, and generating a target value corresponding to the target position using the adjacent data packets;

[0013] Using the initial value and the target value, interpolation processing is performed at other interpolation positions to obtain the interpolation value.

[0014] Optionally, determining the target position in each interpolation position includes:

[0015] The autocorrelation period center position of the interpolation data packet is determined from each of the interpolation positions, and the autocorrelation period center position is determined as the target position.

[0016] Optionally, the generating a target value corresponding to the target position by using the adjacent data packets includes:

[0017] Extracting the target initial value corresponding to the center position of the autocorrelation period of the adjacent data packets;

[0018] The target initial values ​​are averaged to obtain the target value.

[0019] Optionally, the using the initial value and the interpolated value in the blood flow data packet to form a value sequence, and selecting imaging values ​​from the value sequence by sliding a window according to a preset step length to form an imaging data packet, comprises:

[0020] Arranging the initial values ​​and the interpolated values ​​in chronological order to obtain the value sequence;

[0021] Determine the length of the imaging data packet, and determine the length as the window length of the data packet acquisition window;

[0022] Starting from the front end of the numerical sequence, the data packet collection window is moved according to the preset step length, and the imaging data packet is composed of the imaging values ​​covered by the data packet collection window.

[0023] Optionally, the determining the interpolation position by using the numerical time interval corresponding to the blood flow data packet and the interval between adjacent data packets includes:

[0024] Acquire a pulse repetition frequency, and use the pulse repetition frequency to obtain the numerical time interval between each of the initial numerical values ​​in the blood flow data packet;

[0025] The adjacent data packet interval is evenly divided based on the numerical time interval to obtain the interpolation position; the adjacent data packet interval is an integer multiple of the numerical time interval.

[0026] Optionally, it also includes:

[0027] generating a corresponding blood flow image using the imaging data packet;

[0028] Sorting the blood flow images according to the generation order of the imaging data packets to obtain an image sequence;

[0029] The image sequence is visually displayed.

[0030] The present application also provides a device for improving the frame rate of a blood flow video, comprising:

[0031] An acquisition module, used for acquiring at least two blood flow data packets, and determining an interpolation position using a numerical time interval corresponding to the blood flow data packets and an interval between adjacent data packets;

[0032] An interpolation module, used to use any two adjacent blood flow data packets to perform interpolation processing at corresponding interpolation positions to obtain an interpolation value;

[0033] The data packet generation module is used to use the initial value in the blood flow data packet and the interpolation value to form a value sequence, and select imaging values ​​from the value sequence according to a preset step size to form an imaging data packet, and the number of the imaging data packets is greater than the number of the blood flow data packets.

[0034] The present application also provides an ultrasound device, including a memory and a processor, wherein:

[0035] The memory is used to store the computer program;

[0036] The processor is used to execute the computer program to implement the above-mentioned method for improving the frame rate of blood flow video.

[0037] The present application also provides a computer-readable storage medium for storing a computer program, wherein the computer program, when executed by a processor, implements the above-mentioned method for improving the frame rate of a blood flow video.

[0038] The method for improving the frame rate of a blood flow video provided in the present application obtains at least two blood flow data packets, and determines an interpolation position using the numerical time interval corresponding to the blood flow data packets and the interval between adjacent data packets; performs interpolation processing at the corresponding interpolation position using any two adjacent blood flow data packets to obtain an interpolation value; uses the initial value and the interpolation value in the blood flow data packet to form a numerical sequence, and selects imaging values ​​from the numerical sequence through a sliding window according to a preset step size to form an imaging data packet, wherein the number of imaging data packets is greater than the number of blood flow data packets.

[0039] It can be seen that after acquiring the initial blood flow data packet, the method determines the theoretical data item sampling position corresponding to the time interval between the two, that is, the interpolation position. The theoretical data item sampling position refers to the moment position at which the sample is sampled according to the numerical time interval, but there is no sampling due to the time interval between adjacent data packets. By using adjacent data packets to interpolate the interpolation position between the two, the interpolation value at the interpolation position can be completed based on the data in the blood flow data packet, and it can be used together with the data packet to form a numerical sequence, which is a sequence obtained by theoretically continuous and uninterrupted sampling. The preset step size represents the number of imaging values ​​between two adjacent imaging data packets. After obtaining the numerical sequence, a certain number of interpolation values ​​and / or initial values ​​are selected in sequence along the direction of the numerical sequence according to the preset step size as imaging values, and the imaging data packet is formed using the imaging values.

[0040] By interpolating the missing data and collecting imaging data packets according to the preset step length using the numerical sequence, more imaging data packets can be obtained than the number of blood flow data packets. Therefore, the frame rate of the blood flow video obtained using the imaging data packets is not limited by the frequency of blood flow data packet generation, which can greatly improve the video frame rate. This solves the problem of low blood flow video frame rate in related technologies.

[0041] In addition, the present application also provides a device for improving the frame rate of blood flow video, an ultrasound device, and a computer-readable storage medium, which also have the above-mentioned beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0043] Figure 1 A schematic diagram of the structure of an imaging data packet of a related technology provided in an embodiment of the present application;

[0044] Figure 2A flow chart of a method for improving the frame rate of blood flow video provided in an embodiment of the present application;

[0045] Figure 3 A schematic diagram of the structure of an imaging data packet provided in an embodiment of the present application;

[0046] Figure 4 A schematic diagram of an interpolation process provided in an embodiment of the present application;

[0047] Figure 5 A schematic diagram of the structure of a device for improving the frame rate of a blood flow video provided in an embodiment of the present application;

[0048] Figure 6 A schematic diagram of the structure of an ultrasonic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0049] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0050] Please refer to Figure 1 , Figure 1 A schematic diagram of the composition structure of an imaging data packet of a related technology provided in an embodiment of the present application. When acquiring an imaging data packet for a point p in a ROI (region of interest), n initial values ​​are collected according to a sampling interval (i.e., prt), and are packaged into a first imaging data packet, i.e., package1, and uploaded to a processor. The generation of the first imaging data packet takes a total of (n-1)*prt. The imaging algorithm in the processor uses the n data items in Package1 for processing and imaging. For example, a blood flow velocity V1 can be calculated so that imaging can be performed using the blood flow velocity V1. There should be a time interval of t between the end of the acquisition of the first imaging data packet and the start of the acquisition of the second imaging data packet (i.e., package2), and then the n initial values ​​are repeatedly collected and packaged into package2 and uploaded, and processing is continued, for example, the blood flow velocity V2 is calculated. Repeat the above operation, calculate N velocity results within a time period of T, and then the blood flow frame rate FrameRate of the video obtained by imaging using the imaging data packet can be calculated as:

[0051] FrameRate = N / T.

[0052] It can be seen that the data in each imaging data packet is used to generate a frame of picture. During blood flow imaging, since the time interval between two imaging data packets cannot be eliminated, the frame rate of the blood flow video obtained by using this method is low.

[0053] In order to solve the above problems, this application provides a method for improving the frame rate of blood flow video. Figure 2 , Figure 2 A flow chart of a method for improving the frame rate of blood flow video provided in an embodiment of the present application. The method comprises:

[0054] S101: Acquire at least two blood flow data packets, and determine an interpolation position using a numerical time interval corresponding to the blood flow data packets and an interval between adjacent data packets.

[0055] A blood flow data packet refers to a data packet directly obtained by a probe for collecting blood flow values, which includes multiple initial values, that is, directly collected blood flow data. The specific method for obtaining a blood flow data packet is the same as the related art, and will not be repeated here; in one embodiment, a blood flow data packet can be read from a specified path; or data sent by a specified electronic device can be received and a blood flow data packet can be obtained therefrom. It should be noted that at least two blood flow data packets are obtained in this embodiment, that is, imaging can only be performed after at least two blood flow data packets are obtained. The reason why at least two blood flow data packets are required is that the initial values ​​in the two blood flow data packets need to be used to interpolate in the time interval between the two blood flow data packets, so as to obtain data in the time interval based on the two blood flow data packets, and provide interpolated values ​​for the subsequent generation of imaging data packets. It should be noted that this embodiment does not limit the collection method of each initial value in the blood flow data packet. In a feasible embodiment, each initial value is collected at a fixed frequency. In this case, there is only one and fixed time interval of the values ​​in the blood flow data packet.

[0056] Specifically, the numerical time interval refers to the time interval between two adjacent initial numerical values ​​in a data packet, and the adjacent data packet interval refers to the time interval between two adjacent blood flow data packets, specifically the time interval between the last data item of the first blood flow data packet and the first data item of the second blood flow data packet. According to the numerical time interval and the adjacent data packet interval corresponding to the blood flow data packet, the corresponding interpolation position can be determined. The interpolation position specifically refers to the moment when data collection should be carried out in theory, and the specific determination method is not limited. For example, when data collection is carried out at a fixed frequency, the numerical time interval is fixed, and the data packet interval can be divided based on the numerical time interval, and an interpolation position is determined every time the length of the numerical time interval starting from the header of the data packet interval. It should be noted that the data packet interval should be an integer multiple of the numerical time interval.

[0057] The number of interpolation positions is related to the data packet interval and the value time interval, and the specific number is not limited. In one embodiment, the number of interpolation positions may be less than the number of initial values ​​in a single blood flow data packet; in another embodiment, the number of interpolation positions may be not less than the number of initial values ​​in a single blood flow data packet.

[0058] S102: Using any two adjacent blood flow data packets, interpolation processing is performed at corresponding interpolation positions to obtain an interpolation value.

[0059] After obtaining the blood flow data packet and determining the interpolation position between any two adjacent blood flow data packets, any two adjacent blood flow data packets can be used to perform interpolation processing at the interpolation position between the two, so as to obtain the interpolation value corresponding to each interpolation position. The interpolation value refers to the value at the interpolation position obtained based on the data in the blood flow data packet, which is not the data directly obtained by the probe, but the data inferred based on the blood flow data packet.

[0060] For the interpolation processing method, any interpolation method can be selected for interpolation processing, for example, it can be a linear interpolation method, or it can be a cubic spline interpolation method. Further, based on the Nyquist theorem, according to the relationship between the number of interpolation positions (i.e., the number of interpolation values) and the number of initial values ​​in the blood flow data packet, when the number of interpolation values ​​is large, a target interpolation position can be selected in the interpolation position, and a target interpolation value corresponding to the target interpolation position can be assigned, and then the target interpolation data can be used to participate in the interpolation processing, so that the accuracy of the obtained interpolation value is higher.

[0061] S103: Using the initial values ​​and interpolation values ​​in the blood flow data packet to form a value sequence, and selecting imaging values ​​from the value sequence by sliding a window according to a preset step length to form an imaging data packet.

[0062] It should be noted that in this embodiment, the number of imaging data packets is greater than the number of blood flow data packets. After the interpolation value is obtained, it is used together with the initial value in the blood flow data packet to form a numerical sequence, in which the initial value and the interpolation value are arranged in chronological order. The preset step size refers to the number of imaging values ​​between two adjacent imaging data packets. After obtaining the numerical sequence, starting from the head of the numerical sequence, imaging values ​​can be selected from it using a sliding window method, and used to form an imaging data packet. The imaging value may include the initial value and / or the interpolation value in the data packet. It can be understood that the smaller the preset step size, the more imaging data packets can be generated by the same numerical sequence, so that the frame rate of the imaging video generated is higher.

[0063] It should be noted that this embodiment does not limit the execution order between step S101, step S102 and step S103. In a feasible implementation, in order to improve the speed of blood flow imaging, the interpolation position can be determined by using the acquired data while acquiring the blood flow data packet, and the blood flow data packet with the determined interpolation position can be used for interpolation processing to obtain the interpolation value. At the same time, the interpolation value and the blood flow data packet that have been obtained are used to form a value sequence, and then the imaging value is selected from them to form an imaging data packet. That is, the above three steps are all executed in parallel.

[0064] Please refer to Figure 3 , Figure 3 A schematic diagram of the composition structure of an imaging data packet provided in an embodiment of the present application. Among them, the interpolation values ​​corresponding to the two interpolation positions P9 and P0 can be obtained by using the initial values ​​in package1 and package2, and the preset step size is set to 3. After the interpolation values ​​and the initial values ​​are used to form a numerical sequence, the imaging data packet is obtained from the head of the numerical sequence, and the blood flow velocities V1, V2, V3 and V4 are calculated using each imaging data packet, and each blood flow velocity corresponds to a video frame in a blood flow video. It can be seen that the entire blood flow video includes not only the initial values, but also the interpolation values, and the frame rate of the blood flow video is greater than the number of packages (i.e., blood flow data packets) directly obtained.

[0065] By using the method for improving the frame rate of blood flow video provided in the embodiment of the present application, missing data is supplemented by interpolation, and imaging data packets are collected according to a preset step length using a numerical sequence, so that more imaging data packets than blood flow data packets can be obtained. Therefore, the frame rate of the blood flow video obtained using the imaging data packets is not limited by the frequency of blood flow data packet generation, and the video frame rate can be greatly improved. The problem of low blood flow video frame rate existing in the related art is solved.

[0066] Based on the above embodiment, in a feasible implementation manner, the initial value in the data packet is obtained at a fixed frequency. In this case, in order to accurately determine the interpolation position, the process of determining the interpolation position using the value time interval corresponding to the data packet and the interval between adjacent data packets may specifically include the following steps:

[0067] Step 11: Obtain the pulse repetition frequency, and use the pulse repetition frequency to obtain the numerical time interval between each initial numerical value in the blood flow data packet.

[0068] Among them, the pulse repetition frequency is PRF, Pulse Repetition Frequency. The pulse repetition frequency is the frequency at which the probe transmits signals and obtains data items. The numerical time interval can be accurately obtained using the pulse repetition frequency. The pulse repetition frequency can be preset, or can be obtained in real time, such as obtaining the pulse repetition frequency input by the user. After obtaining the pulse repetition frequency, the reciprocal operation can be performed on it to obtain the corresponding numerical time interval. The numerical time interval obtained by the pulse repetition frequency is more accurate than the numerical time interval obtained by analyzing the data packet.

[0069] Step 12: Based on the numerical time interval, the intervals between adjacent data packets are evenly divided to obtain the interpolation position.

[0070] It should be noted that in this embodiment, the interval between adjacent data packets is an integer multiple of the numerical time interval. After obtaining the numerical time interval, the interval between adjacent data packets can be divided based on the granularity, that is, an interpolation position is set for the length of each numerical time interval. Since the interval between adjacent data packets is an integer multiple of the numerical time interval, it can be evenly and completely divided into multiple small segments, and the connection position between each small segment is the interpolation position. In this way, the numerical time interval can be accurately determined, and then an accurate interpolation position can be obtained.

[0071] Based on the above embodiment, when performing interpolation processing, if the number of interpolation values ​​between two data packets (i.e., the number of interpolation positions) is not less than the number of initial values ​​in the data packet, then according to the Nyquist theorem, the accuracy of the interpolation value obtained by directly interpolating the initial values ​​in the blood flow data packet is low. In order to solve the above problem, using any two adjacent blood flow data packets, interpolation processing is performed at corresponding interpolation positions to obtain the interpolation value. Specifically, the process may include the following steps:

[0072] Step 21: determining whether the number of interpolation values ​​between adjacent data packets is less than the number of initial values ​​in the blood flow data packet;

[0073] The interpolation number refers to the number of interpolation positions between two adjacent blood flow data packets (ie, adjacent data packets). It should be noted that the number of initial values ​​in each data packet is the same.

[0074] This embodiment does not limit the specific judgment method. In one embodiment, the size of the two quantities can be directly judged to obtain the judgment result. In another embodiment, the following method can be used:

[0075] K = int(p / Ensemble)

[0076] The number of target positions K is calculated, and the number of target positions can be determined at the same time as the judgment result is obtained, so as to determine the target positions later. Among them, p is the number of interpolation, Ensemble is the number of initial values ​​of blood flow data packets, and int is the rounding function. When K is less than 1, it means that the number of interpolation is less than the number of initial values, otherwise it means that the number of interpolation is not less than the number of initial values.

[0077] Step 22: If the number of interpolation values ​​is less than the number of initial values, the initial values ​​in the adjacent data packets are used to perform interpolation processing at the corresponding interpolation positions to obtain interpolation values;

[0078] If the number of interpolation values ​​is less than the number of initial values, it means that there are fewer interpolation positions and accurate interpolation values ​​can be obtained using only the initial values ​​in adjacent data packets. In this case, the initial values ​​can be directly used to perform interpolation processing at the interpolation positions to obtain the corresponding interpolation values.

[0079] Step 23: If the number of interpolation values ​​is not less than the number of initial values, a target position is determined in each interpolation position, and a target value corresponding to the target position is generated using adjacent data packets;

[0080] If the number of interpolation values ​​is not less than the number of initial values, it means that the number of interpolation positions is large, and accurate interpolation processing cannot be performed using only the initial values. In order to make the interpolation value more accurate, a target position can be determined among multiple interpolation positions. The target position can also be called an assignment position. By determining the target value corresponding to the target position, interpolation processing can be performed on the basis that the interpolation values ​​corresponding to some interpolation positions are determined, thereby making the interpolation value obtained by the interpolation processing more accurate.

[0081] This embodiment does not limit the specific method of determining the target position. In a feasible implementation, certain interpolation positions can be pre-designated as target positions. Since the reliability and accuracy of the target value will also affect the accuracy of other interpolation values, an interpolation position that can calculate a relatively accurate target value can be selected as the target position. In a specific implementation, since blood flow is periodic, the process of determining the target position in the interpolation position can specifically include the following steps:

[0082] Step 31: Determine the autocorrelation period center position of the interpolation data packet from each interpolation position, and determine the autocorrelation period center position as the target position.

[0083] There are multiple initial values ​​in the blood flow data packet, and each initial value corresponds to a different sampling position. Compared with other sampling positions, the data reliability of the center position of the autocorrelation period of the blood flow data packet is higher. Therefore, when determining the target position, the concept of interpolation data packet can be introduced, and the center position of the autocorrelation period of the interpolation data packet is determined as the target position. It should be noted that the concept of interpolation data packet is only used to determine the target position and has nothing to do with subsequent imaging data packets. Among them, the interpolation data packet refers to a data packet consisting of a sufficient number of interpolation data starting from the head of the interpolation value sequence in a single adjacent data packet interval. The number of interpolation values ​​in a single interpolation data packet is the same as the number of initial values ​​in a single blood flow data packet, and the interpolation values ​​between different interpolation data packets correspond to different interpolation positions. In this embodiment, the number of initial values ​​in each blood flow data packet is an odd number, and the center position of the autocorrelation period is specifically the middle position of each blood flow data packet, so the target position is the middle position of the interpolation data packet. In this embodiment, the center position of the autocorrelation period of the interpolation data packet can be determined based on the following formula:

[0084] A=k*Ensemble-int(Ensemble / 2),k=1,2,…K

[0085] Where A is the sequence number of the center position of the autocorrelation period of the interpolation data packet (i.e., the target position) in each interpolation position. Please refer to Figure 4 , Figure 4 A schematic diagram of an interpolation process provided in an embodiment of the present application. Wherein, K = int(7 / 5) = 1, so k can only be 1, so A = 1*5-int(5 / 2) = 5-2 = 3, that is, the target position is the third interpolation position, that is Figure 4 The k position in .

[0086] After determining the target position, it is also necessary to generate the corresponding target value. In this embodiment, it can be considered that the content recorded by the interpolation data packet is similar to that recorded by the blood flow data packet, so the target data corresponding to the target position can be generated using the data at the corresponding position in the adjacent data packet. Specifically, the process of generating the target value corresponding to the target position using the adjacent data packet may include the following steps:

[0087] Step 41: extracting the target initial value corresponding to the center position of the autocorrelation period of adjacent data packets.

[0088] Step 42: Averaging the target initial values ​​to obtain the target value.

[0089] Adjacent data packets refer to two adjacent blood flow data packets, from which the target initial value corresponding to the target position can be extracted, that is, the initial data at the center of the autocorrelation period in the blood flow data packet. Please refer to Figure 4 Since the interpolation positions corresponding to the interpolation values ​​in each interpolation data packet are different, the interpolation data packets do not overlap with each other. Figure 4 In the case of , since there are only 7 interpolation positions and each interpolation data packet requires 5 interpolation values, there is only one interpolation data packet. Specifically, 5 interpolation data are obtained from the head of the interpolation value sequence to obtain an interpolation data packet. Therefore, the interpolation data packet specifically refers to a data packet consisting of interpolation values ​​corresponding to 5 interpolation positions with sequence numbers 1-5, and the number of initial values ​​is 5. After the above calculation, the k position is the third position, so its corresponding target initial values ​​are the values ​​of the k1 position and the k2 position, which are both the third position in the blood flow data packet.

[0090] If there are 10 interpolation positions, then:

[0091] K = int(10 / 5) = 2;

[0092] K=2, indicating that two positions need to be assigned values ​​in the interpolation packet first, and the interpolation values ​​can form two interpolation data packets. In this case, k can be 1 or 2, then:

[0093] When k=1, A=1*5-int(5 / 2)=5-2=3;

[0094] When k=2, A=2*5-int(5 / 2)=10-2=8;

[0095] Therefore, it can be determined that when the number of interpolations is 10, there must be interpolation positions with serial numbers 3 and 8 as the target positions. In this case, after the first interpolation data packet is formed using the five interpolation values ​​with serial numbers 1 to 5, another interpolation data packet is formed using the interpolation values ​​corresponding to the five interpolation positions with serial numbers 6-10 in the interpolation value sequence, and the interpolation position with serial number 8 is determined as the target position.

[0096] After determining the target initial value, use it to calculate the average value. Figure 4 For example,

[0097] k=(k1+k2) / 2

[0098] The target value k is obtained. If there are multiple target positions, the target value corresponding to each target position is the same.

[0099] Step 24: Using the initial value and the target value, interpolation processing is performed at other interpolation positions to obtain interpolation values.

[0100] After the target value is obtained, it can be used as input data for interpolation processing, and interpolation processing can be performed together with the initial value to obtain the interpolation value.

[0101] Based on the above embodiment, in a feasible implementation manner, the process of using the initial value and the interpolated value in the blood flow data packet to form a value sequence, and selecting the target value from the data item queue by sliding the window to form an imaging data packet according to a preset step length may specifically include the following steps:

[0102] Step 51: Arrange the initial values ​​and interpolated values ​​in the data packet in chronological order to obtain a value sequence.

[0103] Specifically, since the initial values ​​and the interpolated values ​​correspond to different moments and each moment has a time sequence, in order to obtain a correct imaging data packet, the initial values ​​and the interpolated values ​​need to be arranged in time sequence to form a correct value sequence.

[0104] Step 52: Determine the length of the imaging data packet, and determine the length as the window length of the data packet acquisition window.

[0105] It should be noted that the number of data items in the imaging data packet and the number of initial values ​​may be the same or different, and there is no specific limitation.

[0106] Step 53: Starting from the front end of the numerical sequence, the data packet acquisition window is moved according to a preset step length, and the imaging values ​​covered by the data packet acquisition window are used to form an imaging data packet.

[0107] The imaging value refers to the value covered by the data packet acquisition window in the value sequence. By moving the data packet acquisition window according to the preset step length, an imaging data packet is formed by using the imaging values ​​covered by it after each movement. After an imaging data packet is generated, the data packet acquisition window is moved again to continue generating imaging data packets.

[0108] Furthermore, after obtaining the imaging data package, the following steps may be performed:

[0109] Step 61: Generate a corresponding blood flow image using the imaging data package.

[0110] The blood flow image is a video frame in the blood flow video. This embodiment does not limit the specific method of generating the blood flow image. For example, the blood flow velocity may be calculated and the corresponding blood flow image may be generated based on the blood flow velocity.

[0111] Step 62: Sort the blood flow images according to the generation order of the imaging data packets to obtain an image sequence.

[0112] Since the imaging data packets are generated in the order of the numerical sequence, the image sequence obtained by arranging them in the generation order can form a blood flow video.

[0113] Step 63: Visually display the image sequence.

[0114] This embodiment does not limit the method of visual display. For example, it can be sent to a display screen for display; or it can be sent to other electronic devices for display.

[0115] The following is an introduction to a device for improving the frame rate of a blood flow video provided in an embodiment of the present application. The device for improving the frame rate of a blood flow video described below and the method for improving the frame rate of a blood flow video described above can refer to each other.

[0116] Please refer to Figure 5 , Figure 5 A schematic diagram of a structure of a device for improving the frame rate of a blood flow video provided in an embodiment of the present application includes:

[0117] An acquisition module 110, configured to acquire at least two blood flow data packets, and determine an interpolation position using a numerical time interval corresponding to the blood flow data packets and an interval between adjacent data packets;

[0118] An interpolation module 120 is used to perform interpolation processing at corresponding interpolation positions using any two adjacent blood flow data packets to obtain an interpolation value;

[0119] The data packet generation module 130 is used to use the initial values ​​and interpolation values ​​in the blood flow data packet to form a value sequence, and select imaging values ​​from the value sequence according to a preset step size to form an imaging data packet, and the number of imaging data packets is greater than the number of blood flow data packets.

[0120] Optionally, the interpolation module 120 includes:

[0121] A quantity determination unit, used to determine whether the number of interpolation values ​​between adjacent data packets is less than the number of initial values ​​in the blood flow data packet;

[0122] A first interpolation unit, configured to perform interpolation processing at corresponding interpolation positions using initial values ​​in adjacent data packets to obtain interpolation values ​​if the interpolation number is less than the number of initial values;

[0123] a target value determination unit, configured to determine a target position in each interpolation position if the number of interpolation values ​​is not less than the number of initial values, and to generate a target value corresponding to the target position using adjacent data packets;

[0124] The second interpolation unit is used to perform interpolation processing at other interpolation positions using the initial value and the target value to obtain an interpolation value.

[0125] Optionally, the target value determination unit includes:

[0126] The target position determination subunit is used to determine the autocorrelation period center position of the interpolation data packet from each interpolation position, and determine the autocorrelation period center position as the target position; wherein the number of initial values ​​in each blood flow data packet is an odd number.

[0127] Optionally, the target value determination unit includes:

[0128] A target initial value extraction subunit is used to extract the target initial value corresponding to the center position of the autocorrelation period of adjacent data packets;

[0129] The average processing subunit is used to perform average processing on the target initial value to obtain the target value.

[0130] Optionally, the data packet generating module 130 includes:

[0131] A sorting unit, used to arrange the initial values ​​and the interpolated values ​​in chronological order to obtain a value sequence;

[0132] A window length setting unit, used to determine the length of the imaging data packet, and determine the length as the window length of the data packet acquisition window;

[0133] The composition unit is used to move the data packet acquisition window according to a preset step length starting from the front end of the numerical sequence, and to compose an imaging data packet using the imaging values ​​covered by the data packet acquisition window.

[0134] Optionally, the acquisition module 110 includes:

[0135] A data item detection and determination unit, used for obtaining a pulse repetition frequency, and obtaining a numerical time interval between each initial numerical value in a blood flow data packet using the pulse repetition frequency;

[0136] The average division unit is used to evenly divide the intervals between adjacent data packets based on the numerical time interval to obtain the interpolation position; the intervals between adjacent data packets are integer multiples of the numerical time interval.

[0137] Optionally, it also includes:

[0138] An image generation module, used to generate a corresponding blood flow image using an imaging data packet;

[0139] An image sequence generation module is used to sort the blood flow images according to the generation order of the imaging data packets to obtain an image sequence;

[0140] The display module is used to visualize the image sequence.

[0141] The ultrasound device provided in the embodiment of the present application is introduced below. The ultrasound device described below and the method for improving the frame rate of the blood flow video described above can be referenced to each other.

[0142] Please refer to Figure 6 , Figure 6 The schematic diagram of the structure of an ultrasound device provided in an embodiment of the present application is shown in FIG. The ultrasound device 100 may include a processor 101 and a memory 102 , and may further include one or more of a multimedia component 103 , an information input / information output (I / O) interface 104 , and a communication component 105 .

[0143] The processor 101 is used to control the overall operation of the ultrasound device 100 to complete all or part of the steps in the above-mentioned method for improving the frame rate of the blood flow video; the memory 102 is used to store various types of data to support the operation of the ultrasound device 100, and these data may include, for example, instructions for any application or method used to operate on the ultrasound device 100, and data related to the application. The memory 102 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0144] The multimedia component 103 may include a screen and an audio component. The screen may be, for example, a touch screen, and the audio component is used to output and / or input audio signals. For example, the audio component may include a microphone, which is used to receive external audio signals. The received audio signal may be further stored in the memory 102 or sent through the communication component 105. The audio component also includes at least one speaker for outputting audio signals. The I / O interface 104 provides an interface between the processor 101 and other interface modules, and the above-mentioned other interface modules may be keyboards, mice, buttons, etc. These buttons may be virtual buttons or physical buttons. The communication component 105 is used for wired or wireless communication between the ultrasound device 100 and other devices. Wireless communication, such as Wi-Fi, Bluetooth, Near Field Communication (NFC), 2G, 3G or 4G, or a combination of one or more of them, so the corresponding communication component 706 may include: Wi-Fi component, Bluetooth component, NFC component.

[0145] The ultrasound device 100 can be implemented by one or more application specific integrated circuits (ASIC), digital signal processors (DSP), digital signal processing devices (DSPD), programmable logic devices (PLD), field programmable gate arrays (FPGA), controllers, microcontrollers, microprocessors or other electronic components to execute the method for improving the blood flow video frame rate given in the above embodiment.

[0146] The computer-readable storage medium provided in the embodiment of the present application is introduced below. The computer-readable storage medium described below and the method for improving the frame rate of the blood flow video described above can be referenced to each other.

[0147] The present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above-mentioned method for improving the frame rate of a blood flow video are implemented.

[0148] The computer-readable storage medium may include: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and other media that can store program codes.

[0149] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0150] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0151] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0152] Finally, it should be noted that, in this article, relationships such as first and second, etc. are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms include, include or any other variations are intended to cover non-exclusive inclusion, so that a process, method, article or device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device.

[0153] The method for improving the frame rate of blood flow video, the device for improving the frame rate of blood flow video, the ultrasound equipment and the computer-readable storage medium provided by the present application are introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A method for improving the frame rate of blood flow video, characterized in that: include: Acquire at least two blood flow data packets, and determine the interpolation position using the numerical time interval corresponding to the blood flow data packets and the interval between adjacent data packets; Using any two adjacent blood flow data packets, interpolation processing is performed at corresponding interpolation positions to obtain an interpolation value; Using the initial value in the blood flow data packet and the interpolation value to form a value sequence, and selecting imaging values ​​from the value sequence according to a preset step length to form an imaging data packet, the number of the imaging data packets being greater than the number of the blood flow data packets; Wherein, the determining of the interpolation position by using the numerical time interval corresponding to the blood flow data packet and the interval between adjacent data packets comprises: Using the numerical time interval corresponding to the blood flow data packet to evenly divide the intervals between adjacent data packets, an interpolation position is obtained; The method of using any two adjacent blood flow data packets to perform interpolation processing at corresponding interpolation positions to obtain interpolation values ​​includes: determining whether the number of interpolation values ​​between adjacent data packets is less than the number of initial values ​​in the blood flow data packet; If the interpolation quantity is less than the quantity of the initial values, performing interpolation processing at the corresponding interpolation positions using the initial values ​​in the adjacent data packets to obtain the interpolation values; If the number of interpolation values ​​is not less than the number of initial values, determining a target position in each interpolation position, and generating a target value corresponding to the target position using the adjacent data packets; Using the initial value and the target value, interpolation processing is performed at other interpolation positions to obtain the interpolation value.

2. The method for improving the frame rate of blood flow video according to claim 1, characterized in that: Determining the target position in each interpolation position includes: Determine the autocorrelation period center position of the interpolation data packet from each of the interpolation positions, and determine the autocorrelation period center position as the target position; wherein the number of the initial values ​​in each of the blood flow data packets is an odd number; Wherein, the autocorrelation period center position of the interpolation data packet is determined from each of the interpolation positions based on the following formula; A=k*Ensemble-int(Ensemble / 2), k=1,2,...K; Where A is the sequential number of the center position of the autocorrelation period of the interpolation data packet in each interpolation position, K is the number of target positions, Ensemble is the number of initial values ​​of the blood flow data packet, and int is the floor rounding function.

3. The method for improving the frame rate of blood flow video according to claim 2, characterized in that: The step of generating a target value corresponding to the target position by using the adjacent data packets includes: Extracting the target initial value corresponding to the center position of the autocorrelation period of the adjacent data packets; The target initial values ​​are averaged to obtain the target value.

4. The method for improving the frame rate of blood flow video according to any one of claims 1 to 3, characterized in that: The method of using the initial value and the interpolated value in the blood flow data packet to form a value sequence, and selecting imaging values ​​from the value sequence by sliding a window according to a preset step length to form an imaging data packet includes: Arranging the initial values ​​and the interpolated values ​​in chronological order to obtain the value sequence; Determine the length of the imaging data packet, and determine the length as the window length of the data packet acquisition window; Starting from the front end of the numerical sequence, the data packet collection window is moved according to the preset step length, and the imaging data packet is composed of the imaging values ​​covered by the data packet collection window.

5. The method for improving the frame rate of blood flow video according to claim 1, characterized in that: The method of determining the interpolation position by using the numerical time interval corresponding to the blood flow data packet and the interval between adjacent data packets includes: Acquire a pulse repetition frequency, and use the pulse repetition frequency to obtain the numerical time interval between each of the initial numerical values ​​in the blood flow data packet; The adjacent data packet interval is evenly divided based on the numerical time interval to obtain the interpolation position; the adjacent data packet interval is an integer multiple of the numerical time interval.

6. The method for improving the frame rate of blood flow video according to claim 1, characterized in that: Also includes: generating a corresponding blood flow image using the imaging data packet; Sorting the blood flow images according to the generation order of the imaging data packets to obtain an image sequence; The image sequence is visually displayed.

7. A device for improving the frame rate of blood flow video, characterized in that: include: An acquisition module, used for acquiring at least two blood flow data packets, and determining an interpolation position using a numerical time interval corresponding to the blood flow data packets and an interval between adjacent data packets; An interpolation module, used to use any two adjacent blood flow data packets to perform interpolation processing at corresponding interpolation positions to obtain an interpolation value; a data packet generating module, configured to form a value sequence by using the initial value in the blood flow data packet and the interpolated value, and to select imaging values ​​from the value sequence by sliding a window according to a preset step length to form an imaging data packet, wherein the number of the imaging data packets is greater than the number of the blood flow data packets; The acquisition module is specifically used to evenly divide the intervals between adjacent data packets using the numerical time intervals corresponding to the blood flow data packets to obtain the interpolation position; The interpolation module specifically includes: A quantity determination unit, used to determine whether the number of interpolation values ​​between adjacent data packets is less than the number of initial values ​​in the blood flow data packet; A first interpolation unit, configured to perform interpolation processing at corresponding interpolation positions using initial values ​​in adjacent data packets to obtain interpolation values ​​if the interpolation number is less than the number of initial values; a target value determination unit, configured to determine a target position in each interpolation position if the number of interpolation values ​​is not less than the number of initial values, and to generate a target value corresponding to the target position using adjacent data packets; The second interpolation unit is used to perform interpolation processing at other interpolation positions using the initial value and the target value to obtain an interpolation value.

8. An ultrasonic device, characterized in that: comprising a memory and a processor, wherein: The memory is used to store the computer program; The processor is used to execute the computer program to implement the method for improving the frame rate of blood flow video as described in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that: Used to store a computer program, wherein when the computer program is executed by a processor, the method for improving the frame rate of a blood flow video according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Method for processing ultrasonic image frame interpolation and ultrasonic system thereof

    CN101753950A

  • Video processing method and device, storage medium and electronic equipment

    CN111641828A