Method, device, electronic equipment and medium for data interpolation

By defining and dynamically updating location variables to track and interpolate invalid locations in seismic data volumes, the problem of low efficiency in traditional interpolation methods is solved, achieving efficient data interpolation and improved imaging accuracy.

CN120831702BActive Publication Date: 2025-12-30BGP INC CHINA NAT PETROLEUM CORP +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511319393.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-16
Publication Date
2025-12-30
Estimated Expiration
2045-09-16

AI Technical Summary

Technical Problem

Existing technologies for processing seismic data, especially two-dimensional or three-dimensional seismic data volumes, suffer from problems such as data gaps and irregularities, as well as low interpolation efficiency, which affects imaging accuracy. In particular, traditional Laplacian interpolation shows a significant decrease in efficiency in large-scale data processing, and the interpolation results deviate considerably from the actual data.

Method used

A data interpolation method is adopted, which sequentially tracks the validity of each position in the target array by defining a first position variable, a second position variable, and a third position variable, and performs interpolation processing on invalid positions. The variable assignment is dynamically updated to accurately identify and interpolate invalid positions, thereby improving interpolation efficiency.

Benefits of technology

While ensuring the smoothness of the interpolation results, the efficiency of interpolation processing is significantly improved, the interpolation processing effect of seismic data volumes such as two-dimensional surface elevation and three-dimensional travel time tables is enhanced, and the imaging effect of pre-stack depth migration using the integral method is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120831702B_ABST
    Figure CN120831702B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method and device for data interpolation, electronic equipment and medium, and relates to the field of seismic data processing, and includes: obtaining a seismic data body to be processed; extracting the data of the seismic data body in each dimension to a corresponding target array; defining and initializing a first position variable, a second position variable and a third position variable; the first position variable represents the first position in the continuous invalid position, the second position variable represents the last position in the continuous invalid position, and the third position variable represents the first valid position before the continuous invalid position; based on the first position variable, the second position variable and the third position variable, sequentially track whether the data of each position in the target array is valid, and perform interpolation processing on the invalid positions to obtain the interpolation result of the single-dimensional data after interpolation; and generating the seismic data body after interpolation according to the interpolation result of each dimension. The interpolation processing efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of earthquake data processing, and in particular to a method, apparatus, electronic device, and medium for data interpolation. Background Technology

[0002] Seismic exploration data often contains large-scale data sets with missing values ​​that are irregularly distributed. For example, pre-stack depth migration using the integral method is a commonly used imaging technique. Its imaging accuracy largely depends on the accuracy of the travel time table (LTD). The LTD is a three-dimensional data volume, and the presence of invalid values ​​in the LTD will affect the imaging results. However, LTDs obtained through ray tracing calculations contain data gaps due to caustics and other factors, resulting in regions lacking valid travel time values. Furthermore, the location and size of these regions vary with the velocity field, exhibiting an irregular distribution of missing values. Similar data gaps exist in undulating surface elevation data from two-dimensional observations.

[0003] In realizing the present invention, the inventors discovered at least the following technical problems in the related technologies: In the related technologies, Laplace interpolation is generally used, mainly by assuming that the signal is smooth in the local area of ​​the image and by solving the Laplace equation to fill in the missing data; however, for various two-dimensional or three-dimensional seismic data volumes such as undulating surface elevation and travel time tables, the computational efficiency of Laplace interpolation decreases significantly as the data scale increases. For example, in traditional schemes, the grid depth interval of the travel time table is set to a fixed value, which leads to a large deviation between the interpolated travel time and the actual travel time, affecting the imaging accuracy. Moreover, the interpolation process generates a huge travel time table file, increasing the amount of computation and I / O (input / output) data, and reducing the migration processing efficiency. Therefore, it is necessary to provide an interpolation scheme with faster computational efficiency. Summary of the Invention

[0004] To solve the above-mentioned technical problems, or at least partially solve them, embodiments of this disclosure provide a data interpolation method, apparatus, electronic device, and medium.

[0005] In a first aspect, embodiments of this disclosure provide a data interpolation method. The method includes: acquiring a seismic data volume to be processed, wherein the seismic data volume is two-dimensional or three-dimensional data; extracting the data of each dimension of the seismic data volume into a corresponding target array; defining and initializing a first position variable, a second position variable, and a third position variable; wherein the first position variable represents the first position in a series of invalid positions, the second position variable represents the last position in a series of invalid positions, and the third position variable represents the first valid position before a series of invalid positions; based on the first position variable, the second position variable, and the third position variable, sequentially tracking the validity of the data at each position in the target array, and performing interpolation processing on invalid positions to obtain the interpolated result corresponding to the data of each dimension; and generating an interpolated seismic data volume based on the interpolation results of each dimension.

[0006] In some embodiments, based on the first position variable, the second position variable, and the third position variable, the validity of data at each position in the target array is tracked sequentially, and interpolation is performed on invalid positions to obtain the interpolation result corresponding to the data in a single dimension, including:

[0007] The positions corresponding to index i in the target array are traced sequentially to determine whether the data corresponding to index i is valid; the value of i ranges from 0 to M, where M+1 represents the total number of target arrays in a single dimension.

[0008] When i=0, the target position variable is updated by assigning a value based on whether the data corresponding to position number i is valid; the target position variable includes one or more of the following: the first position variable, the second position variable, and the third position variable.

[0009] When 0 < i ≤ M, based on the indication information of whether the data corresponding to each position number i is valid and whether the data corresponding to the previous position indicated by the value of the target position variable is valid, at least one of the following is performed: interpolation processing is performed on invalid positions, and the target position variable is updated by assignment.

[0010] In some embodiments, the first position variable, the second position variable, and the third position variable are initialized to -1; when i=0, the target position variable is updated according to whether the data corresponding to the position number i is valid, including: when i=0, in response to determining that the data corresponding to the current position number is valid, the third position variable is updated and assigned the value 0 of the current i; in response to the data corresponding to the current position number being invalid, both the first position variable and the second position variable are updated and assigned the value 0 of the current i.

[0011] In some embodiments, when 0 < i ≤ M, based on the indication information of whether the data corresponding to each position number i is valid and whether the data corresponding to the previous position indicated by the value of the target position variable is valid, at least one of the following is performed: interpolation processing is performed on invalid positions, and the target position variable is updated by assignment, including:

[0012] When 0 < i ≤ M, in response to the validity of the data corresponding to the current position number i, determine whether the current value of the above third position variable is greater than -1;

[0013] In response to the fact that the current value of the third position variable is greater than -1 and the current value of the third position variable is equal to i-1, the value of the third position variable is updated and assigned to the current value of i.

[0014] In response to the fact that the current value of the third position variable is greater than -1 and the current value of the third position variable is not equal to i-1, interpolation is performed according to the position interval indicated by the current values ​​of the first position variable and the second position variable. After interpolation, the values ​​of the first position variable and the second position variable are updated and assigned to the initial values, and the value of the third position variable is updated and assigned to the current value of i.

[0015] In some embodiments, when 0 < i ≤ M, based on the indication information of whether the data corresponding to each position number i is valid and whether the data corresponding to the previous position indicated by the value of the target position variable is valid, at least one of the following is performed: interpolation processing is performed on invalid positions, and the target position variable is updated by assignment, including:

[0016] When 0 < i ≤ M, in response to the current value of the third position variable being no greater than -1 and the current value of the first position variable being equal to 0, interpolation is performed on the invalid position on the left based on the data corresponding to the current position number i. After interpolation, the values ​​of the first position variable and the second position variable are updated and assigned to the initial values, and the value of the third position variable is updated and assigned to the current value of i.

[0017] In response to the fact that the current value of the third position variable is not greater than -1 and the current value of the first position variable is not equal to 0, the value of the third position variable is updated and assigned to the current value of i.

[0018] In some embodiments, when 0 < i ≤ M, based on the indication information of whether the data corresponding to each position number i is valid and whether the data corresponding to the prior position indicated by the value of the target position variable is valid, at least one of the following is performed: interpolation processing for invalid positions, and updating the target position variable by assigning a value, further comprising:

[0019] When 0 < i ≤ M, the data corresponding to the current position number i is invalid, and it is determined whether the current position number i is equal to M.

[0020] In response to the current position index i being equal to M, determine whether the current value of the third position variable is greater than -1;

[0021] In response to the current value of the third position variable being greater than -1, the valid value corresponding to the position indicated by the third position variable is interpolated to the invalid position corresponding to the current position number i after the indicated position.

[0022] If the current value of the third positional variable is not greater than -1, then -1 is returned, indicating that all values ​​in the target array are invalid.

[0023] In some embodiments, when 0 < i ≤ M, based on the indication information of whether the data corresponding to each position number i is valid and whether the data corresponding to the prior position indicated by the value of the target position variable is valid, at least one of the following is performed: interpolation processing for invalid positions, and updating the target position variable by assigning a value, further comprising:

[0024] When 0 < i ≤ M, in response to the current position number i not being equal to M, determine whether the current value of the second position variable is equal to i-1;

[0025] In response to the fact that the current value of the second position variable is equal to i-1, the value of the second position variable is updated and assigned to the current value of i.

[0026] In response to the fact that the current value of the second position variable is not equal to i-1, the values ​​of the first position variable and the second position variable are updated and assigned to the current value of i.

[0027] In the above embodiments, the seismic data volume includes at least one of the following: two-dimensional surface elevation and three-dimensional travel time table.

[0028] Secondly, embodiments of this disclosure provide a data interpolation apparatus. The apparatus includes: a data acquisition module, an array construction module, a variable definition module, an interpolation processing module, and a result generation module. The data acquisition module acquires a seismic data volume to be processed, wherein the seismic data volume is two-dimensional or three-dimensional data. The array construction module extracts data from each dimension of the seismic data volume into corresponding target arrays. The variable definition module defines and initializes a first position variable, a second position variable, and a third position variable; the first position variable represents the first position in a series of invalid positions, the second position variable represents the last position in a series of invalid positions, and the third position variable represents the first valid position before a series of invalid positions. The interpolation processing module tracks the validity of data at each position in the target array sequentially based on the first, second, and third position variables, and performs interpolation processing on invalid positions to obtain the interpolated result corresponding to the data in each dimension. The result generation module generates the interpolated seismic data volume based on the interpolation results of each dimension.

[0029] Thirdly, embodiments of this disclosure provide an electronic device. The electronic device includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, communication interface, and memory communicate with each other via the communication bus; the memory stores computer programs; and the processor, when executing the program stored in the memory, implements the data interpolation method described above.

[0030] Fourthly, embodiments of this disclosure provide a computer-readable storage medium. The computer-readable storage medium stores a computer program that, when executed by a processor, implements the data interpolation method described above.

[0031] The technical solutions provided in the embodiments of this disclosure have at least some or all of the following advantages:

[0032] By extracting single-dimensional data into a target array, and for each position in the target array, based on defined first, second, and third position variables, the validity of the data at each position is tracked sequentially. Interpolation is then performed on invalid positions to obtain the interpolated result corresponding to the single-dimensional data. Since the first and second position variables represent the first and last positions of consecutive invalid positions, respectively, and the third position variable represents the first valid position before consecutive invalid positions, the aforementioned consecutive invalid positions are used to indicate the positions corresponding to one or more consecutively arranged invalid values ​​in the target array. During the interpolation process, the values ​​of the first, second, and third position variables are dynamically updated as the positions are tracked sequentially and the interpolation operation is performed. Based on these position variables, invalid positions can be accurately identified and located for interpolation. Compared with traditional interpolation schemes (such as Laplace-based interpolation schemes), this method improves interpolation efficiency while ensuring that the interpolated result meets the basic smoothness requirements. The above scheme can be applied to the interpolation processing of seismic data volumes such as two-dimensional surface elevation and three-dimensional travel time tables, thereby improving the imaging effect of pre-stack depth migration using the integral method. Attached Figure Description

[0033] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0034] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, those skilled in the art can obtain other drawings based on these drawings without creative effort.

[0035] Figure 1 A flowchart illustrating a data interpolation method according to an embodiment of the present disclosure is shown schematically.

[0036] Figure 2 A detailed implementation flowchart of step S140 according to an embodiment of the present disclosure is shown schematically.

[0037] Figure 3 A flowchart illustrating the algorithm execution of step S140 according to an embodiment of the present disclosure is shown schematically.

[0038] Figure 4The diagram schematically illustrates (a) the unprocessed original seismic data volume; (b) the original seismic data volume with random numbers generated at all grid points, where the grid point is marked as invalid if the random number is divisible by 3, which is equivalent to the seismic data volume result after the original seismic data volume has been thinned; (c) the first result after interpolating the thinned seismic data volume result using the Laplace interpolation method; and (d) the second result after interpolating using the data interpolation method provided in the embodiments of this disclosure.

[0039] Figure 5 A table illustrating the efficiency comparison between the data interpolation method provided in this disclosure and the Laplace interpolation method under different data scales is provided.

[0040] Figure 6 A schematic block diagram of an electronic device provided in an embodiment of the present disclosure is shown. Detailed Implementation

[0041] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this disclosure. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.

[0042] The first exemplary embodiment of this disclosure provides a method for data interpolation. This method can be applied to electronic devices with computing capabilities.

[0043] Figure 1 A flowchart illustrating a data interpolation method according to an embodiment of the present disclosure is shown schematically.

[0044] Reference Figure 1 As shown, the data interpolation method provided in this embodiment includes the following steps: S110, S120, S130, S140 and S150.

[0045] In step S110, the seismic data volume to be processed is obtained, which is two-dimensional or three-dimensional data.

[0046] In some embodiments, the aforementioned seismic data volume includes, but is not limited to, at least one of the following: two-dimensional surface elevation and three-dimensional travel time tables. It is understood that the methods provided in this disclosure can also be used for data interpolation processing of other seismic data volumes with missing data, and are not limited to the examples described above. Moreover, the solutions provided in the embodiments of this disclosure can effectively handle situations with irregular data loss.

[0047] In step S120, for the data in each dimension of the seismic data volume, the data of each single dimension is extracted into the corresponding target array.

[0048] For example, for two-dimensional data, the data of the two dimensions are extracted into target array A1 and target array A2 respectively.

[0049] For three-dimensional data, the data in the three dimensions are extracted into target arrays B1, B2, and B3 respectively.

[0050] In step S130, a first position variable, a second position variable, and a third position variable are defined and initialized; the first position variable represents the first position in a series of invalid positions, the second position variable represents the last position in a series of invalid positions, and the third position variable represents the first valid position before the series of invalid positions.

[0051] The aforementioned consecutive invalid positions are used to indicate the positions corresponding to one or more consecutively arranged invalid values ​​in the target array.

[0052] After initialization, the values ​​of the first, second, and third position variables are dynamically updated during the interpolation process as the position changes are tracked sequentially and the interpolation operation is performed. In other words, the values ​​of the first, second, and third position variables are dynamically updated as the subsequent step S140 is executed.

[0053] For example, the first position variable can be represented as ialeft, the second position variable as iaright, and the third position variable as ibleft.

[0054] In step S140, based on the first position variable, the second position variable and the third position variable, the validity of the data at each position in the target array is tracked in sequence, and interpolation is performed on invalid positions to obtain the interpolation result corresponding to the data in a single dimension.

[0055] Figure 2 A detailed implementation flowchart of step S140 according to an embodiment of the present disclosure is shown schematically. Figure 3 A flowchart illustrating the algorithm execution of step S140 according to an embodiment of the present disclosure is shown schematically.

[0056] In some embodiments, refer to Figure 2 and Figure 3As shown, in step S140 above, based on the first position variable, the second position variable and the third position variable, the validity of the data at each position in the target array is tracked in sequence, and interpolation processing is performed on invalid positions to obtain the interpolation result corresponding to the data in a single dimension, including the following steps: S210, S220 and S230.

[0057] In step S210, the positions corresponding to each position number i in the target array are tracked sequentially to determine whether the data corresponding to each position number i is valid; the value of i is 0~M, and M+1 represents the total number of target arrays in a single dimension.

[0058] To simplify the illustration, the processing of the target array a[i] is used as an example.

[0059] In step S220, when i=0, the target position variable is updated by assigning a value according to whether the data corresponding to the position number i is valid; the target position variable includes one or more of the following: the first position variable, the second position variable, and the third position variable.

[0060] In some embodiments, the first position variable ialeft, the second position variable iaright, and the third position variable ibleft are initialized to -1.

[0061] Reference Figure 3 As shown, when i=0, the target position variable is updated based on whether the data corresponding to position number i is valid, including:

[0062] When i=0, in response to determining that the data corresponding to the current position number is valid, see the branch corresponding to Y (yes), update the above third position variable ibleft to the current value of i, 0;

[0063] In response to the invalidity of the data corresponding to the current position number, see the branch corresponding to N (No), update the first position variable ialeft and the second position variable iaright to the current value 0 of i.

[0064] In this step, by determining whether the first element of the target array a is a valid value, if a[0] is a valid value, ibleft is assigned the value 0; otherwise, ialeft and iaright are assigned the value 0.

[0065] In step S230, when 0 < i ≤ M, based on the indication information of whether the data corresponding to each position number i is valid and whether the data corresponding to the previous position indicated by the value of the target position variable is valid, at least one of the following is performed: interpolation processing is performed on invalid positions, and the target position variable is updated by assignment.

[0066] In some embodiments, refer to Figure 3 As shown, in step S230 above, when 0 < i ≤ M, based on the indication information of whether the data corresponding to each position number i is valid and whether the data corresponding to the previous position indicated by the value of the target position variable is valid, at least one of the following is performed: interpolation processing is performed on invalid positions, and the target position variable is updated by assignment, including:

[0067] When 0 < i ≤ M, in response to the validity of the data corresponding to the current position index i, it is determined whether the current value of the third position variable is greater than -1; by determining whether ibleft is greater than -1, it is checked whether there is a valid value before the current element;

[0068] In response to the fact that the current value of the third position variable ibleft is greater than -1 and equal to i-1, the value of the third position variable is updated to the current value of i. In this embodiment, when ibleft is greater than -1, it means that there is a valid value before the current element. By judging whether ibleft is equal to i-1, it is to check whether the value of the element at the position before the current element is a valid value. When ibleft is i-1, it means that the position a[i-1] before a[i] is a valid value, and the current position a[i] is also a valid value. Therefore, the value of the third position variable ibleft corresponding to the first valid position before the consecutive invalid positions should be updated to the current value of i.

[0069] In response to the fact that the current value of the third position variable is greater than -1 and not equal to i-1, interpolation is performed according to the position interval indicated by the current values ​​of the first and second position variables. After interpolation, the values ​​of the first and second position variables are updated to the initial values, and the value of the third position variable is updated to the current value of i. In this embodiment, when ibleft is greater than -1, it indicates that there is a valid value before the current element. By determining whether ibleft is i-1, it is equivalent to checking whether the value of the element at the position before the current element is a valid value. When ibleft is not equal to i-1, it means that there is a valid value in the position a[k, k≠i-1] before a[i], while there are still invalid values ​​in some position intervals before it. The position interval corresponding to the invalid value is indicated by the first position variable ialeft and the second position variable iaright. By performing interpolation on this position interval and updating the values ​​of ialeft and iaright to the initial assignment (e.g., -1), and updating the value of the third position variable ibleft to the current value of i, it can be ensured that the actual situation indicated by these three variables is dynamically updated with the interpolation process.

[0070] In some embodiments, refer to Figure 3 As shown, in step S230 above, when 0 < i ≤ M, based on the indication information of whether the data corresponding to each position number i is valid and whether the data corresponding to the previous position indicated by the value of the target position variable is valid, at least one of the following is performed: interpolation processing for invalid positions, and updating the target position variable by assigning a value, and further includes:

[0071] When 0 < i ≤ M, in response to the current value of the third position variable ibleft not being greater than -1 and the current value of the first position variable ialeft being equal to 0, interpolation is performed on the invalid left position based on the data corresponding to the current position index i (described as left-end assignment). After interpolation, the values ​​of the first position variable ialeft and the second position variable iaright are updated to the initial assignment (e.g., -1), and the value of the third position variable ibleft is updated to the current value of i. In this embodiment, by judging whether ibleft is greater than -1, that is, checking whether there is a valid value before the current element, when the current value of ibleft is not greater than -1, it means that there is no valid value before the current element. For example, the case of not being greater than -1 is ibleft = -1. Then, it is judged whether ialeft is 0, that is, whether the invalid position region before the current element starts from the starting position.

[0072] In response to the fact that the current value of the third position variable is not greater than -1 and the current value of the first position variable ialeft is not equal to 0, the value of the third position variable is updated to the current value of i. In this embodiment, when ialeft is zero, it means that the starting position of the invalid position region before the current element is the starting position of array a. In this case, the current valid value is used to assign a value to the invalid region on the left, and then ialeft and iaright are both assigned a value of -1, indicating that there is no invalid region at the current position and all positions to its left.

[0073] In some embodiments, refer to Figure 3 As shown, in step S230 above, when 0 < i ≤ M, based on the indication information of whether the data corresponding to each position number i is valid and whether the data corresponding to the previous position indicated by the value of the target position variable is valid, at least one of the following is performed: interpolation processing for invalid positions, and updating the target position variable by assigning a value, and further includes:

[0074] When 0 < i ≤ M, the data corresponding to the current position number i is invalid. Corresponding to the branch indicating N (no) in whether a[i] is valid, it is determined whether the current position number i is equal to M; it is checked whether the position i is the last element of array a, that is, whether i has reached the end of the array.

[0075] In response to the current position index i being equal to M, it is determined whether the current value of the third position variable is greater than -1; in this embodiment, when position i is the last element of array a, it is determined whether ibleft is greater than -1, that is, it is checked whether there is a valid value before the current position.

[0076] In response to the current value of the third position variable being greater than -1, the valid value corresponding to the position indicated by the third position variable ibleft is interpolated to the invalid position corresponding to the current position number i after the indicated position. In this embodiment, when ibleft is greater than -1, that is, there is a valid value before the current position, the valid value is assigned to the invalid interval after it.

[0077] If the current value of the third position variable is not greater than -1 (i.e., less than or equal to -1), it means that there is no valid value before the current position, so the function returns -1, indicating that all values ​​in the array are invalid. When ibleft is less than or equal to -1, i.e., there is no valid value before the current position, the function returns -1, indicating that all values ​​in array a are invalid (this is a special case).

[0078] In some embodiments, refer to Figure 3As shown, in step S230 above, when 0 < i ≤ M, based on the indication information of whether the data corresponding to each position number i is valid and whether the data corresponding to the previous position indicated by the value of the target position variable is valid, at least one of the following is performed: interpolation processing is performed on invalid positions, and the target position variable is updated by assignment, and the process further includes:

[0079] When 0 < i ≤ M, in response to the current position index i not being equal to M, determine whether the current value of the second position variable is equal to i-1; in this embodiment, when position i is not the last element of array a, determine whether iaright is i-1, that is, check whether the previous position of its current element is the last position of the current invalid region.

[0080] In response to the fact that the current value of the second position variable is i-1, the value of the second position variable is updated to the current value of i. In this embodiment, when iaright is i-1, that is, the previous position of the current element is the last position of the current invalid region / invalid interval, iaright is assigned the value i.

[0081] In response to the fact that the current value of the second position variable is not equal to i-1, the values ​​of the first position variable and the second position variable are updated to the current value of i. In this embodiment, when iaright is not i-1, that is, the previous position of the current element is a valid value, ialeft and iaright are assigned the value i.

[0082] Based on the iterative loop processing described above, the value of i determines whether the array loop has ended. If it has not ended, the iteration continues. If it has ended, the unprocessed dimension data is processed. If the target arrays corresponding to all dimensions have been processed, the interpolation result after interpolation processing of the target arrays for each dimension is obtained.

[0083] In step S150, the interpolated seismic data volume is generated based on the interpolation results of each dimension.

[0084] Figure 4 The diagram schematically illustrates (a) the unprocessed original seismic data volume; (b) the original seismic data volume with random numbers generated at all grid points, where the grid point is marked as invalid if the random number is divisible by 3, which is equivalent to the seismic data volume result after the original seismic data volume has been thinned; (c) the first result after interpolating the thinned seismic data volume result using the Laplace interpolation method; and (d) the second result after interpolating using the data interpolation method provided in the embodiments of this disclosure.

[0085] Reference Figure 4As shown in (a) to (d), the data interpolation method provided in this embodiment of the present disclosure yields interpolation results that are consistent with the original data, and the interpolation effect is comparable to that of the Laplace interpolation method.

[0086] Figure 5 A table illustrating the efficiency comparison between the data interpolation method provided in this disclosure and the Laplace interpolation method under different data scales is provided.

[0087] Reference Figure 5 As shown, comparing the data interpolation method provided in this embodiment with the Laplace interpolation method in terms of interpolation efficiency, the larger the data scale, the lower the efficiency of Laplace interpolation. When there are invalid values ​​at the data boundary, the computational efficiency of Laplace decreases more significantly, as shown in the fifth column of the table. The interpolation efficiency of the method provided in this embodiment is nearly two orders of magnitude higher than that of Laplace interpolation.

[0088] In summary, in the embodiments corresponding to steps S110 to S150 above, by extracting single-dimensional data into a target array, for the data at each position in the target array, based on the defined first position variable, second position variable, and third position variable, the validity of the data at each position is tracked sequentially, and interpolation processing is performed on invalid positions to obtain the interpolation result corresponding to the single-dimensional data. Since the first position variable and the second position variable represent the first and last positions of consecutive invalid positions, respectively, and the third position variable represents the first valid position before the consecutive invalid positions, the aforementioned consecutive invalid positions are used to indicate the positions corresponding to one or more consecutively arranged invalid values ​​in the target array. During the interpolation operation, the values ​​corresponding to the first position variable, the second position variable, and the third position variable are dynamically updated as the position changes are tracked sequentially and the interpolation operation is performed. Based on these position variables, invalid positions can be accurately identified and located and interpolation processing can be performed. Compared with traditional interpolation schemes (such as Laplace-based interpolation schemes), the interpolation efficiency is improved while ensuring that the interpolation result meets the basic smoothness requirements. The above scheme can be applied to the interpolation processing of seismic data volumes such as two-dimensional surface elevation and three-dimensional travel time tables, thereby improving the imaging effect of pre-stack depth migration using the integral method.

[0089] A second exemplary embodiment of this disclosure provides a data interpolation apparatus.

[0090] The aforementioned data interpolation device includes: a data acquisition module, an array construction module, a variable definition module, an interpolation processing module, and a result generation module.

[0091] The aforementioned data acquisition module is used to acquire the seismic data volume to be processed, which is two-dimensional or three-dimensional data.

[0092] The array construction module described above is used to extract the data of each dimension from the seismic data volume and put them into the corresponding target array.

[0093] The variable definition module described above is used to define and initialize a first position variable, a second position variable, and a third position variable. The first position variable represents the first position in a series of consecutive invalid positions, the second position variable represents the last position in a series of consecutive invalid positions, and the third position variable represents the first valid position preceding a series of consecutive invalid positions. These consecutive invalid positions are used to indicate the positions corresponding to one or more consecutively arranged invalid values ​​in the target array.

[0094] The interpolation processing module described above is used to track whether the data at each position in the target array is valid based on the first position variable, the second position variable, and the third position variable, and to perform interpolation processing on invalid positions to obtain the interpolation result corresponding to the data in a single dimension.

[0095] The above-mentioned result generation module is used to generate interpolated seismic data volumes based on the interpolation results of each dimension.

[0096] For more details of this embodiment, please refer to the relevant description of the first embodiment, which will not be repeated here.

[0097] The data interpolation apparatus provided in this embodiment extracts single-dimensional data into a target array. For each position in the target array, based on defined first, second, and third position variables, it sequentially tracks whether the data at each position is valid and performs interpolation processing on invalid positions to obtain the interpolated result corresponding to the single-dimensional data. Since the first and second position variables represent the first and last positions of consecutive invalid positions, respectively, and the third position variable represents the first valid position before the consecutive invalid positions, the aforementioned consecutive invalid positions are used to indicate the positions corresponding to one or more consecutively arranged invalid values ​​in the target array. During the interpolation operation, the values ​​corresponding to the first, second, and third position variables are dynamically updated as the sequentially tracked positions change and the interpolation operation is performed. Based on these position variables, invalid positions can be accurately identified and located for interpolation processing. Compared with traditional interpolation schemes (such as Laplace-based interpolation schemes), this improves the interpolation processing efficiency while ensuring that the interpolated result meets the basic smoothness requirements. The above scheme can be applied to the interpolation processing of seismic data volumes such as two-dimensional surface elevation and three-dimensional travel time tables, thereby improving the imaging effect of pre-stack depth migration using the integral method.

[0098] Any number of the functional modules included in the above-described device can be combined into one module, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules can be combined with at least part of the functionality of other modules and implemented in one module. At least one of the functional modules included in the above-described device can be at least partially implemented as hardware circuitry, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a System-on-Chip, a System-on-Substrate, a System-on-Package, an Application-Specific Integrated Circuit (ASIC), or any other reasonable means of integrating or packaging circuitry, or implemented in software, hardware, or firmware, or in any suitable combination of any of these three methods. Alternatively, at least one of the functional modules included in the above-described device can be at least partially implemented as a computer program module, which, when run, can perform corresponding functions.

[0099] A third exemplary embodiment of this disclosure provides an electronic device.

[0100] Figure 6 The schematic diagram illustrates a structural block diagram of an electronic device provided in an embodiment of the present disclosure.

[0101] Reference Figure 6 As shown, the electronic device 600 provided in this embodiment includes a processor 601, a communication interface 602, a memory 603, and a communication bus 604. The processor 601, the communication interface 602, and the memory 603 communicate with each other through the communication bus 604. The memory 603 is used to store computer programs. When the processor 601 executes the program stored in the memory, it implements the data interpolation method described above.

[0102] A fourth exemplary embodiment of this disclosure also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program that, when executed by a processor, implements the data interpolation method described above.

[0103] The computer-readable storage medium may be included in the device or apparatus described in the above embodiments; or it may exist independently and not assembled into the device or apparatus. The computer-readable storage medium carries one or more programs that, when executed, implement the method according to the embodiments of this disclosure.

[0104] According to embodiments of this disclosure, the computer-readable storage medium can be a non-volatile computer-readable storage medium, such as including, but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0105] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0106] The above description is merely a specific embodiment of this disclosure, enabling those skilled in the art to understand or implement it. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.

Claims

1. A method of data interpolation, characterized by, The method comprises the following steps: acquiring a seismic data volume to be processed, the seismic data volume being two-dimensional or three-dimensional data; extracting single-dimensional data in each dimension of the seismic data volume into a corresponding target array respectively; defining and initializing a first position variable, a second position variable and a third position variable; the first position variable represents a first position in continuous invalid positions, the second position variable represents a last position in the continuous invalid positions, and the third position variable represents a first valid position before the continuous invalid positions; sequentially tracking whether the data in each position in the target array is valid based on the first position variable, the second position variable and the third position variable, and performing interpolation processing on invalid positions to obtain interpolation results of the single-dimensional data after interpolation; generating a seismic data volume after interpolation according to the interpolation results of each dimension.

2. The method of claim 1, wherein, sequentially tracking whether the data in each position in the target array is valid based on the first position variable, the second position variable and the third position variable, and performing interpolation processing on invalid positions to obtain interpolation results of the single-dimensional data after interpolation, comprising: sequentially tracking a position corresponding to each position sequence number i in the target array to determine whether the data corresponding to each position sequence number i is valid; the value of i is 0 to M, and M+1 represents the total number of the target array in the single dimension; when i=0, updating and assigning the target position variable according to whether the data corresponding to the position sequence number i is valid; the target position variable comprises one or more of the following: the first position variable, the second position variable and the third position variable; when 0 3. The method of claim 2, wherein, the initialization assignment of the first position variable, the second position variable and the third position variable is -1; when i=0, updating and assigning the target position variable according to whether the data corresponding to the position sequence number i is valid, comprising: when i=0, in response to determining that the data corresponding to the current position sequence number is valid, updating and assigning the third position variable to the value 0 of the current i; in response to the data corresponding to the current position sequence number being invalid, updating and assigning the first position variable and the second position variable to the value 0 of the current i.

4. The method of claim 2, wherein, when 0 when 0 in response to the current value of the third position variable being greater than -1 and the current value of the third position variable being equal to i-1, updating the value of the third position variable to the current value of i; in response to the current value of the third position variable being greater than -1 and the current value of the third position variable not being equal to i-1, interpolating according to the position interval indicated by the current values of the first position variable and the second position variable, and after the interpolation, updating the values of the first position variable and the second position variable to the initial values, and updating the value of the third position variable to the current value of i.

5. The method of claim 4, wherein, when 0 in response to the current value of the third position variable not being greater than -1 and the current value of the first position variable being equal to 0, interpolating the left invalid position based on the data corresponding to the current position sequence number i, and after the interpolation, updating the values of the first position variable and the second position variable to the initial values, and updating the value of the third position variable to the current value of i; in response to the current value of the third position variable not being greater than -1 and the current value of the first position variable not being equal to 0, updating the value of the third position variable to the current value of i.

6. The method of claim 2, wherein, when 0 in response to the current position sequence number i being equal to M, determining whether the current value of the third position variable is greater than -1; in response to the current value of the third position variable being greater than -1, interpolating the position indicated by the third position variable after the position indicated by the valid value of the position indicated by the third position variable. the seismic data volume includes at least one of the following: a two-dimensional surface elevation, a three-dimensional travel time table; 7. The method of claim 6, wherein, when 0 in response to the current position sequence number i not being equal to M, determining whether the current value of the second position variable is equal to i-1; in response to the current value of the second position variable being equal to i-1, updating the value of the second position variable to the current value of i; in response to the current value of the third position variable not being greater than -1 and the current value of the first position variable being equal to 0, interpolating the left invalid position based on the data corresponding to the current position sequence number i, and after the interpolation, updating the values of the first position variable and the second position variable to the initial values, and updating the value of the third position variable to the current value of i; in response to the current value of the third position variable not being greater than -1 and the current value of the first position variable not being equal to 0, updating the value of the third position variable to the current value of i. when 0 in response to the current position sequence number i being equal to M, determining whether the current value of the third position variable is greater than -1; in response to the current value of the third position variable being greater than -1, interpolating the position indicated by the third position variable after the position indicated by the valid value of the position indicated by the third position variable. the seismic data volume includes at least one of the following: a two-dimensional surface elevation, a three-dimensional travel time table; when 0 in response to the current position sequence number i not being equal to M, determining whether the current value of the second position variable is equal to i-1; in response to the current value of the second position variable being equal to i-1, updating the value of the second position variable to the current value of i; In response to the current value of the second position variable not being equal to i-1, updating the value of the first position variable and the value of the second position variable to be the current value of i.

8. An apparatus for data interpolation, characterized by The method comprises the following steps: The data acquisition module is configured to acquire seismic data to be processed, the seismic data being two-dimensional or three-dimensional data. The array construction module is configured to extract single-dimensional data in the seismic data to corresponding target arrays for each dimension of the seismic data. The variable definition module is configured to define and initialize a first position variable, a second position variable and a third position variable, the first position variable representing a first position in continuous invalid positions, the second position variable representing a last position in the continuous invalid positions, and the third position variable representing a first valid position before the continuous invalid positions. The interpolation processing module is configured to track whether the data in each position in the target arrays is valid in sequence based on the first position variable, the second position variable and the third position variable, and perform interpolation processing on invalid positions to obtain interpolation results of single-dimensional data after interpolation. The result generation module is configured to generate a seismic data after interpolation based on the interpolation results of each dimension.

9. An electronic device, comprising: The device comprises a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory complete communication with each other through the communication bus. The memory is configured to store a computer program. The processor is configured to execute the program stored on the memory to implement the method in any one of claims 1-7.

10. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the method in any one of claims 1-7.

Citation Information

Patent Citations

  • Integral method prestack depth migration method and device

    CN113466938A

  • Interpolation of periodic data

    US20110191032A1