Ultrasound full-focusing full-matrix data compression method
By adopting full matrix acquisition and residual processing in ultrasonic full focus technology, and using exponential Columbus encoding to compress and transmit data, the problem of data transmission in ultrasonic full focus technology is solved, and more efficient data transmission and faster imaging frame rate are achieved.
Patent Information
- Application Number
- CN202411857315.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-17
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2044-12-17
AI Technical Summary
Ultrasonic full focus technology is unable to meet the real-time requirements of detection due to the large amount of data during data transmission.
Ultrasonic full-focus full-matrix data compression method is adopted, and the data is compressed and transmitted through full-matrix acquisition and residual processing using exponential Columbus encoding.
It effectively reduces the bandwidth requirements of data transmission, improves the real-time detection, and transmits more full matrix acquisition data under the same data bandwidth, and improves the frame rate of FMC full-focus imaging.
Smart Images

Figure CN119316097B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of ultrasonic nondestructive testing, and specifically relates to an ultrasonic full-focusing full-matrix data compression method. Background Art
[0002] Ultrasonic phased array testing technology is a common method in the field of industrial non-destructive testing. Phased array technology has the advantages of being fast, accurate, and highly adaptable, and is widely used in actual ultrasonic testing. Since ultrasonic phased array can only perform real-time focusing on a single point, the imaging resolution and accuracy are limited, and it has been gradually replaced by ultrasonic full focusing technology in recent years. Ultrasonic full focusing technology is an advanced ultrasonic imaging technology that can overcome the shortcomings of phased array technology by collecting full matrix echo data at any point in the measured area and performing virtual focusing.
[0003] It takes multiple excitation cycles for ultrasound full focusing to produce an image. Each time an array element transmits, multiple array elements receive at the same time, and a focusing operation is performed on the data received by multiple array elements to obtain a grayscale image. The final output result is the superposition of grayscale images obtained by multiple excitation cycles. The prior art generally implements full focusing calculations in two ways. One is that FPGA uploads full matrix acquisition (FMC) to the host computer and calculates it through the GPU of the host computer. The other is to perform real-time calculations on FPGA. Since FMC data needs to be obtained while obtaining full-focus imaging in fields such as scientific research and monitoring for subsequent research and analysis, this patent mainly describes the method of compressing FMC data and uploading it to the host computer when the first full-focusing method is used.
[0004] FMC (Full Matrix Capture) is an ultrasonic data acquisition method that uses all possible transmit-receive combinations of all elements in a phased array probe to capture data. Through full matrix acquisition technology, the A-scan data of all transmit-receive pairs of the probe can be obtained to the greatest extent, thereby providing more complete data information for post-processing. Taking a phased array composed of N elements as an example, the full matrix acquisition process is: first excite the first element, all N elements simultaneously receive the echo signal (A-scan signal) after the first element is excited, and the received data is saved in sequence as S 1,1 , S 1,2 , ┄,┄, S 1,N ; Then the second array element is excited, and all N array elements receive simultaneously, and the received data is saved as S 2,1 , S 2,2 ,┄,┄, S 2,N ; Then the third array element is excited, and all N array elements receive simultaneously, and the received data is saved as S 3,1 , S 3,2 ,┄,┄, S 3,N; Repeat this cycle until each array element completes one excitation. Save the total N*N A-scan data received as a two-dimensional matrix:
[0005]
[0006] Among them, S i,j Indicates i When the array element is excited, the j The echo data received by each array element is called A-scan data. This data matrix can be used for subsequent processing such as focusing calculation and imaging.
[0007] Compared with traditional phased array technology, full-focus acquisition has the characteristics of continuous acquisition, which can collect defect information data to the greatest extent. However, due to the large amount of data collected, if the A-scan data accuracy is 8bit and the FMC sampling depth is 4096, the amount of data required to complete one frame of imaging is 64*64*4096*8=128Mb when using a 64-element probe for detection. It takes only 1 second to transmit six or seven frames of FMC data using a Gigabit network. When the number of elements increases to 256 and the data accuracy increases to 16bit, the amount of data required to complete one frame of imaging is 256*256*4096*16=4Gb. It takes only 1 second to transmit one or two frames of FMC data using a 10Gb 10G network. It can be seen that the amount of data collected by full-focus acquisition is large. If the network bandwidth is insufficient, data transmission will be delayed and the requirements of real-time detection cannot be met. Summary of the invention
[0008] In view of this, an object of the present invention is to provide an ultrasonic full-focus full-matrix data compression method, which can compress the amount of data collected by full focusing to meet the requirements of real-time detection.
[0009] In order to achieve the above object, the present invention provides the following technical solutions:
[0010] An ultrasound full-focus full-matrix data compression method comprises the following steps:
[0011] Step 1: Full matrix acquisition
[0012] The array elements are encoded as the first array element, the second array element, ..., the i Element, ..., Nth element; starting from the 1st element, one element is excited in turn until all N elements are excited; when the i When the array element is excited, all N array elements receive the first i The echo signal after the array element is excited is saved in sequence, and the A-scan data is obtained. i Group data: S i,1 , S i,2 ,┄,S i,j ,┄, S i,N; Among them, S i,j Indicates i When the array element is excited j The echo data received by each array element;
[0013] Step 2: Data preprocessing
[0014] In addition to the first group of data, the A-scan data in the second to Nth groups of data are subjected to residual processing;
[0015] For any i In the group data j Calculate the residual of the corresponding data point in the A-scan data received by each array element:
[0016] △S i,j =S i,j – S (i-1), j ; i =2,3,…,N; j =1,2,…,N;
[0017] Among them, △S i,j Indicates A scan data S i,j With S (i-1), j The residual between
[0018] Get the first i Group residual data: △S i,1 ,△S i,2 ,┄,△S i,j ,┄,△S i,N ;
[0019] Step 3: Data encoding and transmission
[0020] The first group of data is marked with a header and then sent to the host computer; the second group of residual data to the Nth group of residual data are coded with exponential Golomb code, marked with a header and then sent to the host computer;
[0021] Step 4: Data decoding
[0022] The host computer determines the number of the transmitting array element according to the packet header mark;
[0023] If the transmitting array element number is "1", the data is segmented according to the data accuracy, sampling length and the number of receiving array elements to obtain the first group of data;
[0024] If the transmitting array element number is any number from "2" to "N", exponential Golomb decoding is performed to obtain the corresponding second group of residual data to the Nth group of residual data;
[0025] Step 5: Data restoration
[0026] The second group of residual data to the Nth group of residual data are restored to the second group of data to the Nth group of data in sequence, and for the i In the group data j The method for restoring the data points corresponding to the A-scan data received by each array element is:
[0027] S i,j =S (i-1), j +△S i,j ; i =2,3,…,N; j =1,2,…,N.
[0028] Furthermore, the information contained in the packet header includes the transmitting array element number, sampling length, data accuracy and the number of transmitting and receiving array elements.
[0029] Furthermore, in step 3, the residual data △S i,j The steps for performing exponential Golomb coding are:
[0030] 31) Add 1 to a point in the residual data and convert it into binary form;
[0031] 32) Calculate the number of binary bits and subtract 1 from this number to get the number of 0s that need to be added to the prefix;
[0032] 33) Connect the prefix and the binary data in step 31) to complete the encoding of a point data;
[0033] 34) Loop through steps 31) to 33) to complete the residual data △S i,j All data points in the encoding;
[0034] 35) The residual data △S i,j The encoded data of all data points in are connected head to tail to obtain the residual data △S i,j Exponential Golomb-encoded data.
[0035] Furthermore, in step 4, the residual data △S i,j The steps for performing exponential Columbus decoding are:
[0036] 41) Remove the residual data △S i,j The header mark;
[0037] 42) Start searching for bit 1 from the first position of the bit stream, and record the number of bits 0 that are passed to find bit 1 as m;
[0038] 43) Take m bits from the bit 1 found, convert to decimal and subtract 1 to get the residual value of the A scan data point;
[0039] 44) Loop through step 42) to step 43) to obtain the residual values of all A-scan data points, completing the residual data △S i,j Perform Exponential Golomb decoding.
[0040] The beneficial effects of the present invention are:
[0041] The ultrasonic full-focus full-matrix data compression method of the present invention is based on the fact that in the full-matrix acquisition process, since the distance between two adjacent array elements is very close, after the two adjacent array elements are excited, the echo data sampled by all the array elements have extremely strong correlation; thus, by calculating the residual of the echo data of two adjacent continuous array elements, since the echo data collected when the two adjacent continuous array elements are excited have strong correlation, there are many small data in the difference, and by using exponential Golomb coding for the difference, the FMC data can be greatly losslessly compressed; thus, the bandwidth requirement for data transmission can be reduced to meet the real-time requirement of detection; and under the same data bandwidth, more full-matrix acquisition data can be transmitted to improve the frame rate of FMC full-focus imaging. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to make the purpose, technical solution and beneficial effects of the present invention clearer, the present invention provides the following drawings for illustration:
[0043] Figure 1 It is a flow chart of the ultrasound full-focusing full-matrix data compression method of the present invention;
[0044] Figure 2 This is the schematic diagram of the full matrix acquisition process;
[0045] Figure 3 is a schematic diagram of a data bit stream format;
[0046] Figure 4 Flowchart for data encoding transmission;
[0047] Figure 5 Flowchart for data decoding and restoration. DETAILED DESCRIPTION
[0048] The present invention is further described below in conjunction with the accompanying drawings and specific embodiments so that those skilled in the art can better understand the present invention and implement it, but the embodiments are not intended to limit the present invention.
[0049] like Figure 1 As shown, the ultrasound full-focus full-matrix data compression method of this embodiment includes the following steps.
[0050] Step 1: Full matrix acquisition.
[0051] The array elements are encoded as the first array element, the second array element, ..., the iElement, ..., Nth element; starting from the 1st element, one element is excited in turn until all N elements are excited; when the i When the array element is excited, all N array elements receive the first i The echo signal after the array element is excited is saved in sequence, and the A-scan data is obtained. i Group data: S i,1 , S i,2 ,┄, S i,j ,┄, S i,N ; Among them, S i,j Indicates i When the array element is excited j The echo data received by each array element.
[0052] like Figure 2 As shown in the figure, during the full matrix acquisition process, the first array element is excited first, and all N array elements simultaneously receive the echo signal (A-scan signal) after the first array element is excited, and the received A-scan data are sequentially saved as S 1,1 , S 1,2 , ┄, ┄, S 1,N ; Then the second array element is excited, and all N array elements receive at the same time, and the received A scan data is saved as S 2,1 , S 2,2 ,┄, ┄,S 2,N ; Then the third array element is excited, and all N array elements receive at the same time, and the received A scan data is saved as S 3,1 , S 3,2 , ┄,┄, S 3,N ; Repeat this cycle until each array element completes one excitation. Specifically, S i,j It represents a segment of A-scan data when the i-th array element is excited and the j-th array element is received. The length of the data is related to the sampling depth, and the width of the data is the sampling accuracy. For example, if the data accuracy is 8 bits and the FMC sampling depth is 4096, it means 4096 8-bit data.
[0053] Step 2: Data preprocessing.
[0054] In addition to the first group of data, residual processing is performed on the A-scan data in the second to Nth groups of data.
[0055] For any i In the group data j Calculate the residual of the corresponding data point in the A-scan data received by each array element:
[0056] △S i,j =S i,j – S (i-1), j ; i =2,3,…,N; j=1,2,…,N;
[0057] Among them, △S i,j Indicates A scan data S i,j With S (i-1), j The residual between
[0058] Get the first i Group residual data: △S i,1 ,△S i,2 ,┄,△S i,j ,┄,△S i,N .
[0059] Specifically, the data received by the N array elements after the second array element is excited is subtracted from the data received by the N array elements after the first array element is excited to obtain the residual error of the A scan data of each array element, △S 2,1 , △S 2,2 ,┄, ┄, △S 2,N .in:
[0060] △S 2,1 = S 2,1 -S 1,1 (corresponding to the difference of A scan data points)
[0061] △S 2,2 = S 2,2 -S 1,2 (corresponding to the difference of A scan data points)
[0062] …
[0063] △S 2,N = S 2,N -S 1,N (corresponding to the difference of A scan data points)
[0064] Subtract the data received by N array elements after the third array element is excited from the data received by N array elements after the second array element is excited to obtain the residual error of the A scan data of each array element, △S 3,1 , △S 3,2 ,┄, ┄, △S 3,N .in
[0065] △S 3,1 = S 3,1 -S 2,1 (corresponding to the difference of A scan data points)
[0066] △S 3,2 = S 3,2 -S 2,2 (corresponding to the difference of A scan data points)
[0067] …
[0068] △S 3,N = S 3,N -S 2,N (corresponding to the difference of A scan data points)
[0069] By analogy, we can obtain the full matrix acquisition data including the residual:
[0070]
[0071] Step 3: Data encoding and transmission.
[0072] The first group of data is marked with a header and sent to the host computer; the second group of residual data to the Nth group of residual data are coded with exponential Golomb code, marked with a header and sent to the host computer; Figure 3 Specifically, the information contained in the packet header includes the transmitting array element number, sampling length, data accuracy, and the number of transmitting and receiving array elements.
[0073] Specifically, the first array element is transmitted, and the FMC (Full Matrix Capture) data received by all N array elements is directly sent after adding a header mark; the second array element is transmitted, and the FMC residual data received by all N array elements is coded by exponential Golomb coding, and then added with a header and sent. In this embodiment, 0-order exponential Golomb coding is selected; the data received after the transmission of the third array element to the Nth array element is sent in the same way as the transmission of the second array element. The processing process is as follows Figure 2 shown.
[0074] like Figure 4 As shown, in this embodiment, the residual data △S i,j The steps for performing exponential Golomb coding are:
[0075] 31) Add 1 to a point in the residual data and convert it into binary form;
[0076] 32) Calculate the number of binary bits and subtract 1 from this number to get the number of 0s that need to be added to the prefix;
[0077] 33) Connect the prefix and the binary data in step 31) to complete the encoding of a point data;
[0078] 34) Loop through steps 31) to 33) to complete the residual data △S i,j All data points in the encoding;
[0079] 35) The residual data △S i,j The encoded data of all data points in are connected head to tail to obtain the residual data △S i,j Exponential Golomb-encoded data.
[0080] Step 4: Data decoding.
[0081] The host computer determines the transmitting array element number according to the packet header label; if the transmitting array element number is "1", the data is segmented according to the data accuracy, sampling length and number of receiving array elements to obtain the first group of data; if the transmitting array element number is any number from "2" to "N", exponential Golomb decoding is performed to obtain the corresponding second group of residual data to the Nth group of residual data.
[0082] like Figure 5 As shown, in this embodiment, the residual data △S i,j The steps for performing exponential Columbus decoding are:
[0083] 41) Remove the residual data △S i,j The header mark;
[0084] 42) Start searching for bit 1 from the first position of the bit stream, and record the number of bits 0 that are passed to find bit 1 as m;
[0085] 43) Take m bits from the bit 1 found, convert to decimal and subtract 1 to get the residual value of the A scan data point;
[0086] 44) Loop through step 42) to step 43) to obtain the residual values of all A-scan data points, completing the residual data △S i,j Perform Exponential Golomb decoding.
[0087] Step 5: Data restoration.
[0088] The second group of residual data to the Nth group of residual data are restored to the second group of data to the Nth group of data in sequence, and for the i In the group data j The method for restoring the data points corresponding to the A-scan data received by each array element is:
[0089] S i,j =S (i-1), j +△S i,j ; i =2,3,…,N; j =1,2,…,N.
[0090] Specifically, the decoding process of the host computer first determines the transmitting array element number through the packet header. If it is 1, the data is directly segmented according to the data accuracy, sampling length and number of receiving array elements to obtain the A scan data S of all receiving array elements. 1,1 ,S 1,2 ,┄, ┄, S 1,N If it is 2, 0-order exponential Columbus decoding is required to obtain the residual △S of the A-scan data of all receiving array elements 2,1 , △S 2,2,┄, ┄, △S 2,N , and through the A scan data S obtained when the first array element is excited 1,1 , S 1,2 ,┄, ┄,S 1,N Add the corresponding ones and restore to get S 2,1 , S 2,2 ,┄, ┄, S 2,N ; The A-scan data after the 3rd to Nth array elements are transmitted are obtained in the same way as the 2nd array element, and so on. Figure 5 shown.
[0091] The above-described embodiments are only preferred embodiments for fully illustrating the present invention, and the protection scope of the present invention is not limited thereto. Equivalent substitutions or changes made by those skilled in the art based on the present invention are within the protection scope of the present invention. The protection scope of the present invention shall be subject to the claims.
Claims
1. An ultrasound full-focus full-matrix data compression method, characterized in that: The steps include: Step 1: Full matrix acquisition The array elements are encoded as the first array element, the second array element, ..., the i Array element,..., Nth array element; Starting from the first array element, one array element is excited in turn until all N array elements are excited; when the i When the array element is excited, all N array elements receive the first i The echo signal after the array element is excited is obtained, and the A-scan data is saved in sequence. i Group data: S i,1 , S i,2 ,┄, S i,j ,┄, S i,N ; Among them, S i,j Indicates i When the array element is excited j The echo data received by each array element; Step 2: Data preprocessing In addition to the first group of data, the A-scan data in the second to Nth groups of data are subjected to residual processing; For any i In the group data j Calculate the residual of the corresponding data point in the A-scan data received by each array element: △S i,j =S i,j – S (i-1), j ; i =2,3,…,N; j =1,2,…,N; Among them, △S i,j Indicates A scan data S i,j With S (i-1), j The residual between Get the first i Group residual data: △S i,1 ,△S i,2 ,┄,△S i,j ,┄,△S i,N ; Step 3: Data encoding and transmission The first group of data is marked with a header and then sent to the host computer; the second group of residual data to the Nth group of residual data are coded with exponential Golomb code, marked with a header and then sent to the host computer; Step 4: Data decoding The host computer determines the transmitting array element number according to the packet header mark; If the transmitting array element number is "1", the data is segmented according to the data accuracy, sampling length and the number of receiving array elements to obtain the first group of data; If the transmitting array element number is any number from "2" to "N", exponential Golomb decoding is performed to obtain the corresponding second group of residual data to the Nth group of residual data; Step 5: Data restoration The second group of residual data to the Nth group of residual data are restored to the second group of data to the Nth group of data in sequence, and for the i In the group data j The method for restoring the data points corresponding to the A-scan data received by each array element is: S i,j =S (i-1), j +△S i,j ; i =2,3,…,N; j =1,2,…,N。 2. The ultrasound full-focus full-matrix data compression method according to claim 1, characterized in that: The information contained in the packet header includes the transmitting array element number, sampling length, data accuracy and the number of transmitting and receiving array elements.
3. The ultrasound full-focus full-matrix data compression method according to claim 1, characterized in that: In step 3, the residual data △S i,j The steps for performing exponential Golomb coding are: 31) Add 1 to a point in the residual data and convert it into binary form; 32) Calculate the number of binary bits and subtract 1 from this number to get the number of 0s that need to be added to the prefix; 33) Connect the prefix and the binary data in step 31) together to complete the encoding of a point data; 34) Loop through steps 31) to 33) to complete the residual data △S i,j All data points in the encoding; 35) The residual data △S i,j The encoded data of all data points in are connected head to tail to obtain the residual data △S i,j Exponential Golomb-encoded data.
4. The ultrasound full-focus full-matrix data compression method according to claim 1, characterized in that: In the step 4, the residual data △S i,j The steps for performing exponential Columbus decoding are: 41) Remove the residual data △S i,j The header mark; 42) Start searching for bit 1 from the first position of the bit stream, and record the number of bits 0 that are passed to find bit 1 as m; 43) Take m bits from the bit 1 found, convert to decimal and subtract 1 to get the residual value of the A scan data point; 44) Loop through step 42) to step 43) to obtain the residual values of all A-scan data points, completing the residual data △S i,j Perform Exponential Golomb decoding.
Citation Information
Patent Citations
Low-power-consumption ultrasonic full-focus imaging system and method
CN111413408A
Data coding method, data decoding method, electronic equipment and storage medium
CN113541863A