Parallel processing method and device for three-dimensional continuous wavelet transform and electronic equipment

By chunking the seismic data under the Spark processing framework and using OpenMP to perform multiple integral operations in parallel, the problem of large amount of calculation of three-dimensional continuous wavelet transformation is solved, and efficient calculation efficiency is improved.

CN120122202APending Publication Date: 2025-06-10CHINA PETROLEUM & CHEMICAL CORP +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311675020.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-07
Publication Date
2025-06-10

AI Technical Summary

Technical Problem

The calculation amount of three-dimensional continuous wavelet transformation is huge, especially when processing massive seismic data, the calculation efficiency decreases and it is difficult to meet the needs of efficient processing.

Method used

Under the Spark processing framework, seismic data is divided into three-dimensional data to obtain cube data blocks, and OpenMP is used to perform multiple integral operations inside cube data blocks in parallel to improve computing efficiency.

Benefits of technology

Through parallel processing methods, three-dimensional continuous wavelet transformation is quickly realized, which significantly improves the calculation efficiency and helps further denoising, interpolation and other processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120122202A_ABST
    Figure CN120122202A_ABST
Patent Text Reader

Abstract

The invention discloses a parallel processing method and device for three-dimensional continuous wavelet transform and electronic equipment, and the method comprises the steps: carrying out the parallel execution of three-dimensional data partitioning on seismic data under a Spark processing framework, and obtaining cubic data blocks; and carrying out three-dimensional continuous wavelet transform calculation on each cubic data block, and in the three-dimensional continuous wavelet transform calculation process, executing multiple integral operations in the cubic data blocks in parallel by using OpenMP. According to the method, the calculation efficiency of three-dimensional continuous wavelet transformation can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of geophysical exploration, and more specifically, relates to a parallel processing method, device and electronic device for three-dimensional continuous wavelet transform. Background Art

[0002] Wavelet transform is a signal processing technology based on wavelet analysis. Different from the traditional Fourier transform, it can decompose a signal into frequency information at different scales and can be analyzed at different resolutions. Specifically, wavelet transform represents the original signal as a set of basis functions, which are obtained by translating and scaling the mother wavelet. Through these basis functions, the signal can be represented both in frequency and time.

[0003] Currently, two-dimensional continuous wavelet transform is usually adopted in the exploration field. However, with the development of geophysical exploration technology, the direct processing of three-dimensional data has become a daily requirement, and wavelet analysis based on three-dimensional continuous wavelet transform is more in line with the physical characteristics of seismic data, which is beneficial for further denoising and feature extraction purposes.

[0004] The computational complexity of continuous wavelet transform for three-dimensional data is very high. Firstly, three-dimensional wavelet transform requires three operations on the mother wave: translation, dilation, and rotation, which involves six-fold integrals to achieve. Therefore, when the data volume increases, the overall computational complexity will increase exponentially, and the computational efficiency will decrease. To solve this problem, it is necessary to optimize it from the perspectives of algorithms and parallel frameworks to improve the computational efficiency and meet the requirements of processing massive seismic data. Summary of the Invention

[0005] The object of the present invention is to propose a parallel processing method, device and electronic device for three-dimensional continuous wavelet transform to improve the computational efficiency of three-dimensional continuous wavelet transform.

[0006] To achieve the above object, in the first aspect, the present invention proposes a parallel processing method for three-dimensional continuous wavelet transform, including:

[0007] Under the Spark processing framework, perform parallel three-dimensional data chunking on seismic data to obtain cube data chunks;

[0008] Perform three-dimensional continuous wavelet transform calculation on each cube data chunk. During the three-dimensional continuous wavelet transform calculation, use OpenMP to perform parallel multiple integral operations inside the cube data chunk.

[0009] Optionally, the seismic data is three-dimensional post-stack data, and the three-dimensional post-stack data is a regular rectangular data volume.

[0010] Optionally, the size of the cube data chunk is 128x128x128.

[0011] Optionally, before performing the three-dimensional continuous wavelet transform calculation on each cube data block, it further includes:

[0012] Performing edge processing on each of the cube data blocks to obtain the edge-processed cube data blocks.

[0013] Optionally, the calculation formula for the three-dimensional continuous wavelet transform is:

[0014]

[0015] where f(x) is a three-dimensional signal, ψ(x) is the mother wavelet, and x = (x, y, z) T is a three-dimensional vector, b = (b x , b y , b z ) T , a, respectively represent the translation, scale, and rotation factors of the wavelet, represents rotating the vector by θ along the dip direction and rotating by is the three-dimensional Fourier transform of f(x), is the three-dimensional Fourier transform of ψ(x).

[0016] Optionally, the reconstruction formula for the three-dimensional continuous wavelet transform is:

[0017]

[0018] where C 1 is a constant.

[0019] In a second aspect, the present invention provides an electronic device, which includes:

[0020] At least one processor; and,

[0021] A memory communicatively connected to the at least one processor; wherein,

[0022] The memory stores instructions executable by the at least one processor, and when the instructions are executed by the at least one processor, the at least one processor is enabled to execute the parallel processing method for the three-dimensional continuous wavelet transform according to any one of the first aspect.

[0023] In a third aspect, the present invention provides a non-transitory computer-readable storage medium, which stores computer instructions for causing a computer to execute the parallel processing method for the three-dimensional continuous wavelet transform according to any one of the first aspect.

[0024] In a fourth aspect, the present invention provides a parallel processing apparatus for three-dimensional continuous wavelet transform, including:

[0025] A data segmentation module, which is used to perform three-dimensional data chunking on seismic data in parallel under the Spark processing framework to obtain cube data chunks;

[0026] A wavelet transform calculation module, which is used to perform three-dimensional continuous wavelet transform calculation on each cube data chunk. During the three-dimensional continuous wavelet transform calculation, OpenMP is used to perform the multiple integral operations inside the cube data chunk in parallel.

[0027] Optionally, the seismic data is three-dimensional post-stack data, and the three-dimensional post-stack data is a regular rectangular data volume.

[0028] The beneficial effects of the present invention are as follows:

[0029] In the present invention, under the Spark processing framework, three-dimensional data chunking is performed on seismic data in parallel to obtain cube data chunks, and then three-dimensional continuous wavelet transform calculation is performed on each cube data chunk. During the three-dimensional continuous wavelet transform calculation, OpenMP is used to perform the multiple integral operations inside the cube data chunk in parallel. This method can quickly implement three-dimensional continuous wavelet transform, improve the calculation efficiency, and help to perform further denoising, interpolation, etc. on the data through wavelet analysis.

[0030] The system of the present invention has other characteristics and advantages, which will be obvious from the accompanying drawings incorporated herein and the subsequent specific embodiments, or will be described in detail in the accompanying drawings incorporated herein and the subsequent specific embodiments. These accompanying drawings and specific embodiments are jointly used to explain the specific principles of the present invention. Description of the Drawings

[0031] By describing the exemplary embodiments of the present invention in more detail in conjunction with the accompanying drawings, the above-mentioned and other objects, features, and advantages of the present invention will become more obvious. In the exemplary embodiments of the present invention, the same reference numerals generally represent the same components.

[0032] Figure 1 A step diagram showing a parallel processing method for three-dimensional continuous wavelet transform according to the present invention is shown.

[0033] Figure 2 A schematic diagram showing the edge processing of data chunking in a parallel processing method for three-dimensional continuous wavelet transform according to the present invention is shown. Detailed Description of the Invention

[0034] The present invention redesigned the parallel mode of three-dimensional continuous wavelet transform based on the Spark framework. First, the data volume can be effectively partitioned to ensure that each data block can operate independently; then, there should be an overlapping part between the data blocks to ensure the integrity of the processed data volume; finally, when performing continuous wavelet transform within the data block, OpenMP is further used for parallel acceleration, so as to quickly implement three-dimensional continuous wavelet transform and improve the calculation efficiency.

[0035] The present invention will be described in more detail below with reference to the accompanying drawings. Although the preferred embodiments of the present invention are shown in the drawings, it should be understood that the present invention can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to make the present invention more thorough and complete, and to fully convey the scope of the present invention to those skilled in the art.

[0036] Embodiment 1

[0037] As Figure 1 shown, this embodiment provides a parallel processing method for three-dimensional continuous wavelet transform, including:

[0038] S1: Under the Spark processing framework, perform three-dimensional data partitioning on seismic data in parallel to obtain cubic data blocks;

[0039] In this embodiment, the seismic data is three-dimensional post-stack data, and the three-dimensional post-stack data is a regular rectangular data volume. Preferably, the size of the cubic data block is 128x128x128.

[0040] S2: Perform edge processing on each of the cubic data blocks to obtain the edge-processed cubic data blocks.

[0041] As Figure 2 shown, in this step, the edge processing of each cubic data block includes:

[0042] Among the 128 sampling points in each direction of the cubic data block, the left 32 sampling points satisfy the broken line formula, and the weights range from 0 to 1. The right 32 sampling points satisfy the broken line formula, and the weights range from 1 to 0. The weights of the middle 64 sampling points are 1;

[0043] When the cubic data block is the first block on the left, the weights of the left 32 sampling points of this data block are 1. If the cubic data block is the first block on the right, the weights of the right 32 sampling points of this data block are 1.

[0044] S3: Perform three-dimensional continuous wavelet transform calculation on each cubic data block. During the three-dimensional continuous wavelet transform calculation, use OpenMP to perform parallel multiple integral operations inside the cubic data block.

[0045] In this step, the calculation formula of the three-dimensional continuous wavelet transform is as follows:

[0046]

[0047] where f(x) is a three-dimensional signal, ψ(x) is the mother wavelet, and x = (x, y, z) T is a three-dimensional vector, b = (b x , b y , b z ) T , a, respectively represent the translation, scale, and rotation factors of the wavelet, represents rotating the vector by θ along the dip direction and by along the azimuth direction. is the three-dimensional Fourier transform of f(x),

[0048]

[0049]

[0050] where C 1 is a constant.

[0051] Embodiment 2

[0052] This embodiment provides a parallel processing method for three-dimensional continuous wavelet transform. Specifically, in order to achieve efficient storage and processing of massive seismic data, a distributed parallel processing architecture (storage framework and processing framework) needs to be adopted, where the processing framework usually refers to the Spark framework. This method will parallelly implement the three-dimensional continuous wavelet transform based on the Spark framework using Scala and C++ languages according to the processing characteristics of the π-Frame system. The seismic data processed by this method is three-dimensional post-stack data, which needs to be a regular rectangular data body (with missing data points, which can be filled with zeros to meet the requirements). Assume that the coordinates of the three-dimensional post-stack data body are Inline, Xline, and Depth. The parallel framework implemented by this method is Spark framework + OpenMP. The Spark framework is used to process data chunking to ensure that the chunked data can be effectively parallelized. At the same time, OpenMP is used to accelerate the integral operation within each data block.

[0053] (1) Three-dimensional continuous wavelet transform:

[0054] Let f(x) be a three-dimensional signal and ψ(x) be the mother wavelet. Then the three-dimensional continuous wavelet transform of f(x) is

[0055]

[0056] where x = (x, y, z) Tis a three-dimensional vector, b = (b x , b y , b z ), T , a, respectively represent the translation, scale, and rotation factors of the wavelet; represents rotating the vector by θ along the dip direction and rotating by is the three-dimensional Fourier transform of f(x), is the three-dimensional Fourier transform of ψ(x).

[0057] The reconstruction formula for the conventional three-dimensional continuous wavelet transform is

[0058]

[0059] where C 1 is a constant.

[0060] (2) To make full use of the parallelism feature, this method uses three-dimensional data chunking, i.e., data slicing is performed simultaneously on Inline, Xline, and Depth. To make the distribution of wavelets more uniform within the data chunks, cube chunking is adopted here, i.e., the same size (taking 128 sampling points here) is used in the three directions of Inline, Xline, and Depth. To make the results obtained after stacking the data chunks smoother, the data chunks need to be "fringed" (such as Figure 2 ), but the fringing here does not expand the data. Instead, among the 128 points in each direction, the left 32 points satisfy the broken-line formula with weights ranging from 0 to 1, the right 32 points satisfy the broken-line formula with weights ranging from 1 to 0, and the weights of the middle 64 points are 1. When the data chunk is the first chunk on the left, the weights of the left 32 points are 1, and when the data chunk is the first chunk on the right, the weights of the right 32 points are 1. After fringing the data chunks, the calculated results can be directly stacked to obtain the complete data volume.

[0061] In this embodiment, the operation of data chunking is completed using the Scala language under the Spark framework. First, the seismic data is generated into an RDD, i.e., in the <Key, Value> format. Among them, Key is (Inline, Xline), and Value is the trace gather corresponding to this (Inline, Xline). Then, a new RDD is generated according to rule (5), i.e., in the <Key, Value> format, where Key is (Block_Inline, Block_Xline, Block_Depth), and Value is the corresponding trace gather. Here, Block represents the number of the data chunk in that direction.

[0062] (3) Each piece of data needs to complete the continuous wavelet transform in rule (1). Since this transform is a six-fold integral, it requires six nested loops to complete. This method uses OpenMP to parallelize the loops. When parallelizing, the translation a, scale, and rotation factor of the wavelet of the integral variable The privatized continuous wavelet transform of the coordinate vector (x, y, z) is completed by Scala calling C++ through JNI. Therefore, the parallelization of OpenMP is implemented in the C++ language.

[0063] The acceleration of the parallel framework in this method is mainly reflected in two points: one is data chunking. Each data chunk can run independently without affecting each other. Here, the size of the data chunk is 128x128x128, which is of moderate size. The running time of one data chunk is about 60 - 120s. The other is that the loop operations inside the data chunk utilize OpenMP for parallel computing. Since it is a six-fold integral, if the order of magnitude of each component is 10, the order of magnitude of the six-fold integral is 10 to the power of 6. Parallel computing can significantly reduce the computing time.

[0064] Embodiment 3

[0065] This embodiment provides a parallel processing device for three-dimensional continuous wavelet transform, including:

[0066] A data segmentation module, configured to perform parallel three-dimensional data chunking on seismic data under the Spark processing framework to obtain cubic data chunks;

[0067] A wavelet transform calculation module, configured to perform three-dimensional continuous wavelet transform calculation on each cubic data chunk. During the three-dimensional continuous wavelet transform calculation, use OpenMP to parallelize the multiple integral operations inside the cubic data chunk.

[0068] In this embodiment, the seismic data is three-dimensional post-stack data, and the three-dimensional post-stack data is a regular rectangular data volume.

[0069] This embodiment further includes a border processing module, configured to perform border processing on each of the cubic data chunks to obtain border-processed cubic data chunks.

[0070] Embodiment 4

[0071] This embodiment provides an electronic device, where the electronic device includes:

[0072] At least one processor; and,

[0073] A memory communicatively connected to the at least one processor; wherein,

[0074] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the parallel processing method of three-dimensional continuous wavelet transform according to any one of the first aspects.

[0075] An electronic device according to an embodiment of the present disclosure includes a memory and a processor, and the memory is used to store non-transitory computer-readable instructions. Specifically, the memory may include one or more computer program products, and the computer program products may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory, etc. The non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc.

[0076] The processor may be a central processing unit (CPU) or other forms of processing units with data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device to perform desired functions. In an embodiment of the present disclosure, the processor is used to run the computer-readable instructions stored in the memory.

[0077] Those skilled in the art should understand that, in order to solve the technical problem of how to obtain a good user experience effect, this embodiment may also include well-known structures such as communication buses, interfaces, etc., and these well-known structures should also be included in the protection scope of the present disclosure.

[0078] For a detailed description of this embodiment, reference may be made to the corresponding descriptions in the foregoing embodiments, and details will not be repeated here.

[0079] Embodiment 5

[0080] This embodiment provides a non-transitory computer-readable storage medium, and the non-transitory computer-readable storage medium stores computer instructions for causing a computer to execute the parallel processing method of three-dimensional continuous wavelet transform according to any one of the first aspects.

[0081] A computer-readable storage medium according to an embodiment of the present disclosure stores non-transitory computer-readable instructions thereon. When the non-transitory computer-readable instructions are run by a processor, all or part of the steps of the methods of the foregoing embodiments of the present disclosure are executed.

[0082] The above-mentioned computer-readable storage media include but are not limited to: optical storage media (such as: CD-ROM and DVD), magneto-optical storage media (such as: MO), magnetic storage media (such as: magnetic tape or mobile hard disk), media with built-in rewritable non-volatile memory (such as: memory card) and media with built-in ROM (such as: ROM cartridge).

[0083] The embodiments of the present invention have been described above. The above description is exemplary and not exhaustive, and is also not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.

Claims

1. A parallel processing method for three-dimensional continuous wavelet transform, Characterized in that, Comprising: Under the Spark processing framework, perform three-dimensional data chunking on seismic data in parallel to obtain cube data chunks; Perform three-dimensional continuous wavelet transform calculation on each cube data chunk. During the three-dimensional continuous wavelet transform calculation, use OpenMP to perform the multiple integral operation inside the cube data chunk in parallel.

2. The parallel processing method for three-dimensional continuous wavelet transform according to claim 1, Characterized in that, The seismic data is three-dimensional post-stack data, and the three-dimensional post-stack data is a regular rectangular data volume.

3. The parallel processing method for three-dimensional continuous wavelet transform according to claim 1, Characterized in that, The size of the cube data chunk is 128x128x128.

4. The parallel processing method for three-dimensional continuous wavelet transform according to claim 3, Characterized in that, Before performing the three-dimensional continuous wavelet transform calculation on each cube data chunk, further comprising: Performing edge padding on each of the cube data chunks to obtain padded cube data chunks.

5. The parallel processing method for three-dimensional continuous wavelet transform according to claim 1, Characterized in that, The calculation formula for three-dimensional continuous wavelet transform is: Among them, f(x) is a three-dimensional signal, ψ(x) is the mother wavelet, and x = (x, y, z) T is a three-dimensional vector, and b = (b x , b y , b z ) T , a, represent the translation, scale, and rotation factors of the wavelet respectively, represents rotating the vector by θ along the dip direction and rotating by is the three-dimensional Fourier transform of f(x), is the three-dimensional Fourier transform of ψ(x).

6. The parallel processing method for three-dimensional continuous wavelet transform according to claim 5, Characterized in that, The reconstruction formula for three-dimensional continuous wavelet transform is: Among them, C 1 is a constant.

7. An electronic device, Characterized in that, The electronic device includes: At least one processor; and, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the parallel processing method for three-dimensional continuous wavelet transform according to any one of claims 1-6.

8. A non-transitory computer-readable storage medium, Characterized in that, The non-transitory computer-readable storage medium stores computer instructions for causing a computer to execute the parallel processing method for three-dimensional continuous wavelet transform according to any one of claims 1-6.

9. A parallel processing apparatus for three-dimensional continuous wavelet transform, Characterized in that, Comprising: A data segmentation module for performing three-dimensional data chunking on seismic data in parallel under the Spark processing framework to obtain cube data chunks; A wavelet transform calculation module for performing three-dimensional continuous wavelet transform calculation on each cube data chunk, and using OpenMP to perform the multiple integral operation inside the cube data chunk in parallel during the three-dimensional continuous wavelet transform calculation.

10. The parallel processing apparatus for three-dimensional continuous wavelet transform according to claim 9, Characterized in that, The seismic data is three-dimensional post-stack data, and the three-dimensional post-stack data is a regular rectangular data volume.