Data interpolation method and device, electronic equipment and medium

By defining location variables to track invalid locations in seismic data volumes and performing interpolation, the problem of low interpolation efficiency caused by data gaps and irregularities in seismic data volumes is solved, thereby improving imaging accuracy and processing efficiency.

CN120831702AActive Publication Date: 2025-10-24BGP INC CHINA NAT PETROLEUM CORP +2
View PDF 5 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing technologies for processing seismic data, especially in two-dimensional or three-dimensional seismic data volumes, suffer from problems such as irregular data gaps and low interpolation efficiency, which affect imaging accuracy and migration processing efficiency.

Method used

By defining a first location variable, a second location variable, and a third location variable, the validity of each location in the seismic data volume is tracked sequentially, and interpolation is performed on invalid locations to generate an interpolated seismic data volume.

Benefits of technology

It improves the efficiency of interpolation processing, ensures the smoothness of interpolation results, and enhances the imaging effect of pre-stack depth migration using the integral method.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120831702A_ABST
    Figure CN120831702A_ABST
Patent Text Reader

Abstract

The invention relates to a data interpolation method and device, electronic equipment and a medium, and relates to the field of seismic data processing, and the method comprises the steps: obtaining a to-be-processed seismic data volume; extracting data of the seismic data volume of each dimension to a corresponding target array; defining a first position variable, a second position variable and a third position variable, and performing initialization assignment; the first position variable represents the first position in the continuous invalid positions, the second position variable represents the last position in the continuous invalid positions, and the third position variable represents the first valid position before the continuous invalid positions; on the basis of the first position variable, the second position variable and the third position variable, tracking whether the data of each position in the target array is valid or not in sequence, and performing interpolation processing on invalid positions to obtain an interpolation result after interpolation corresponding to the single-dimensional data; and generating an interpolated seismic data volume according to the interpolation result of each dimension. And the interpolation processing efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of seismic data processing, and particularly relates to a data interpolation method and device, electronic equipment and medium. BACKGROUND

[0002] In the data obtained by seismic exploration, there are generally large-scale data with irregularly distributed missing data. For example, integral prestack depth migration is a commonly used imaging method, and the imaging accuracy mainly depends on the calculation accuracy of the travel time table. The travel time table is a three-dimensional data body, and when there are invalid values in the travel time table, the imaging result will be affected. However, in the travel time table calculated by ray tracing, there are some data missing areas without travel time valid values due to caustics and other reasons, and the location and size of such areas change with the velocity field, and the missing data is irregularly distributed. Similarly, there are similar data missing conditions for the undulating ground elevation in two-dimensional observation data.

[0003] In the process of implementing the present disclosure, the inventors found that at least the following technical problems exist in the related art: In the related art, Laplace interpolation is generally used, which mainly assumes that the signal is smooth in the local area of the graph, and the missing data is completed by solving the Laplace equation; however, for various two-dimensional or three-dimensional seismic data bodies such as undulating ground elevation and travel time table, as the data size increases, the calculation efficiency of Laplace interpolation decreases very obviously. For example, in the traditional scheme, the grid depth interval of the travel time table is set to a fixed value, which causes a large deviation between the interpolated travel time and the true travel time, affecting the imaging accuracy, and the interpolation operation process produces a large travel time table file, increasing the calculation amount and I / O (input / output) data amount, and reducing the migration processing efficiency. Therefore, an interpolation scheme with faster calculation efficiency needs to be provided. SUMMARY

[0004] To solve the above technical problems or at least partially solve the above technical problems, embodiments of the present disclosure provide a data interpolation method, device, electronic equipment and medium.

[0005] In a first aspect, embodiments of the present disclosure provide a method for data interpolation. The method comprises: obtaining a seismic data volume to be processed, the seismic data volume being two-dimensional or three-dimensional data; extracting data in 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, the first position variable representing a first position in a continuous invalid position, the second position variable representing a last position in the continuous invalid position, and the third position variable representing a first valid position before the continuous invalid position; sequentially tracking whether 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 performing interpolation processing on invalid positions to obtain interpolation results corresponding to the data in each dimension after interpolation; and generating a seismic data volume after interpolation based on the interpolation results in each dimension.

[0006] In some embodiments, sequentially tracking whether 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 performing interpolation processing on invalid positions to obtain interpolation results corresponding to the data in each dimension after interpolation comprises: sequentially tracking a position corresponding to each position sequence number i in the target array to determine whether data corresponding to each position sequence number i is valid; i takes a value from 0 to M, and M+1 represents a total number of the target array in each dimension; when i=0, updating and assigning a target position variable based on whether data corresponding to the position sequence number i is valid; the target position variable comprises one or more of the first position variable, the second position variable, and the third position variable; when 0

[0007] In some embodiments, the first position variable, the second position variable, and the third position variable are initialized and assigned a value of -1; and when i=0, updating and assigning a target position variable based on whether data corresponding to the position sequence number i is valid comprises: when i=0, in response to determining that 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; and in response to determining that data corresponding to the current position sequence number is invalid, updating and assigning the first position variable and the second position variable to the value 0 of the current i.

[0008] In some embodiments, when 0 When 0 When 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 to the current value of i. When 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, and after interpolation, the values of the first position variable and the second position variable are updated to the initial values, and the value of the third position variable is updated to the current value of i.

[0009] In some embodiments, when 0 When 0 When 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 to the current value of i.

[0010] In some embodiments, when 0 When 0 When 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 to the current value of i. In response to the current value of the third position variable being greater than -1, interpolating the valid value corresponding to the position indicated by the third position variable to the invalid position corresponding to the current position sequence number i after the indicated position. In response to the current value of the third position variable being not greater than -1, returning -1 to indicate that all values in the target array are invalid.

[0011] In some embodiments, when 0 < i ≤ M, at least one of the following is performed according to whether the data corresponding to the position sequence number i is valid and whether the data corresponding to the position indicated by the value of the target position variable is valid: interpolating the invalid position, updating the value of the target position variable, and further comprising: When 0 < i ≤ M, 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 the current value of i.

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

[0013] In a second aspect, embodiments of the present disclosure provide a device for data interpolation. The device 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 is configured to acquire a seismic data volume to be processed, and the seismic data volume is two-dimensional or three-dimensional data. The array construction module is configured to extract data in a single dimension of the seismic data volume in each dimension to a corresponding target array. 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 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. The interpolation processing module is configured to track whether the data in each position of the target array is valid based on the first position variable, the second position variable, and the third position variable, and interpolate the invalid position to obtain an interpolation result corresponding to the interpolated data in a single dimension. The result generation module is configured to generate an interpolated seismic data volume according to the interpolation result in each dimension.

[0014] In a third aspect, embodiments of the present disclosure provide an electronic device. The electronic device includes 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; and the processor is configured to execute the program stored in the memory to implement the method for data interpolation as described above.

[0015] In a fourth aspect, embodiments of the present disclosure provide a computer-readable storage medium. The computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement the method for data interpolation as described above.

[0016] The above technical solutions provided by the embodiments of the present disclosure have at least some or all of the following advantages: By extracting the single-dimensional data into the target array, for the data at each position in the target array, whether the data at each position is valid is tracked in sequence based on the defined first position variable, the second position variable, and the third position variable, and interpolation processing is performed for invalid positions to obtain an interpolation result corresponding to the interpolation of the single-dimensional data. Since the first position variable and the second position variable respectively represent the first and last positions of the continuous invalid positions, and the third position variable represents the first valid position before the continuous invalid positions, the continuous invalid positions are used to indicate one or more continuously arranged invalid value corresponding positions in the target array. The assignment of the first position variable, the second position variable, and the third position variable is dynamically updated during the interpolation operation processing process as the tracked position changes and the interpolation processing operation changes. Based on these position variables, the invalid positions can be accurately identified and located and interpolation processing can be performed. Compared with a traditional interpolation scheme (for example, an interpolation scheme based on Laplace), the interpolation processing efficiency is improved while ensuring that the interpolation result after interpolation meets the basic smoothness requirement. The above scheme can be applied to interpolation processing of two-dimensional ground elevation, three-dimensional travel time table, and other seismic data bodies, thereby improving the imaging effect of integral pre-stack depth migration. BRIEF DESCRIPTION OF DRAWINGS

[0017] The accompanying drawings, which are incorporated herein and constitute part of the specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, the accompanying drawings needed to be used in the embodiments or related description will be briefly introduced. Obviously, for those skilled in the art, other drawings can also be obtained without creative labor based on these drawings.

[0019] Figure 1A flow chart of a method of data interpolation according to an embodiment of the present disclosure is schematically shown.

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

[0021] Figure 3 An algorithm execution flow chart of step S140 according to an embodiment of the present disclosure is schematically shown.

[0022] Figure 4 Schematically shown are (a) an unprocessed original seismic data volume; (b) a result of the original seismic data volume after being thinned, in which a random number is generated at all grid points, and when the random number can be divided by 3, the grid point position is marked as an invalid value; (c) a first result of the thinned seismic data volume after being interpolated using a Laplace interpolation method; and (d) a second result of the thinned seismic data volume after being interpolated using the method of data interpolation provided in the embodiment of the present disclosure.

[0023] Figure 5 A comparison table of the efficiency of the method of data interpolation provided in the embodiment of the present disclosure and the Laplace interpolation method under different data scales is schematically shown.

[0024] Figure 6 A structural block diagram of an electronic device provided in the embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0025] To make the objectives, technical solutions, and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be described clearly and completely below with reference to the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all the embodiments of the present disclosure. Based on the embodiments in the present disclosure, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present disclosure.

[0026] A first exemplary embodiment of the present disclosure provides a method of data interpolation. The method of the present embodiment can be applied to an electronic device with computing capability.

[0027] Figure 1 A flow chart of a method of data interpolation according to an embodiment of the present disclosure is schematically shown.

[0028] Referring to Figure 1 As shown in the figure, the method of data interpolation provided in the embodiment of the present disclosure includes the following steps: S110, S120, S130, S140, and S150.

[0029] In step S110, a seismic data volume to be processed is acquired, and the seismic data volume is two-dimensional or three-dimensional data.

[0030] In some embodiments, the seismic data volume includes at least one of the following: a two-dimensional surface elevation table and a three-dimensional travel time table. It can be understood that the method provided by the present disclosure can be used for data interpolation processing of other seismic data volumes with missing data, and is not limited to the above examples. Moreover, the scheme provided by the embodiments of the present disclosure can effectively process irregular missing data.

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

[0032] For example, for two-dimensional data, the data in two dimensions is extracted into target array A1 and target array A2, respectively.

[0033] For three-dimensional data, the data in three dimensions is extracted into target array B1, target array B2, and target array B3, respectively.

[0034] 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 the continuous invalid positions, the second position variable represents the last position in the continuous invalid positions, and the third position variable represents the first valid position before the continuous invalid positions.

[0035] The continuous invalid positions are used to indicate one or more continuously arranged invalid value corresponding positions in the target array.

[0036] After the initialization, the first position variable, the second position variable, and the third position variable are dynamically updated during the interpolation operation process as the sequentially tracked positions change and the interpolation processing operation, that is, the values of the first position variable, the second position variable, and the third position variable are dynamically updated as the step S140 is executed.

[0037] For example, the first position variable is represented as ialeft, the second position variable is represented as iaright, and the third position variable is represented as ibleft.

[0038] In step S140, based on the first position variable, the second position variable, and the third position variable, the data in each position of the target array is sequentially tracked to determine whether the data is valid, and interpolation processing is performed on the invalid positions to obtain the interpolation result of the single-dimensional data after interpolation.

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

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

[0041] In step S210, the position corresponding to each position sequence number i in the target array is tracked in sequence to determine whether the data corresponding to each position sequence number i is valid; the value of i is 0~M, and M+1 represents the total number of the single-dimensional target array.

[0042] For simplicity, the processing process of the target array a[i] is taken as an example.

[0043] In step S220, when i=0, the target position variable is updated according to whether the data corresponding to the position sequence 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.

[0044] In some embodiments, the initial values of the first position variable ialeft, the second position variable iaright and the third position variable ibleft are -1.

[0045] Referring to Figure 3 When i=0, the target position variable is updated according to whether the data corresponding to the position sequence number i is valid, including: When i=0, in response to determining that the data corresponding to the current position sequence number is valid, referring to the branch corresponding to Y (Yes), the third position variable ibleft is updated and assigned to the value 0 of the current i; In response to the data corresponding to the current position sequence number being invalid, referring to the branch corresponding to N (No), the first position variable ialeft and the second position variable iaright are both updated and assigned to the value 0 of the current i.

[0046] 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 to 0; otherwise, ialeft and iaright are assigned to 0.

[0047] At step S230, when 0

[0048] In some embodiments, referring to FIG. 2A, Figure 3 At step S230, when 0 When the data corresponding to the current position sequence number i is valid, determine whether the current value of the third position variable is greater than -1; by determining whether ibleft is greater than -1, check whether there is a valid value before the current element; When the current value of the third position variable ibleft is greater than -1 and the current value of the third position variable ibleft is equal to i-1, update the value of the third position variable to the value of the current i; in this embodiment, when ibleft is greater than -1, it indicates that there is a valid value before the current element, by judging whether ibleft is equal to i-1, that is, checking whether the element value of the position before the current element is a valid value; when ibleft is i-1, it indicates that the position a[i-1] before a[i] is a valid value, and the current position a[i] is also a valid value, so the value of the third position variable ibleft corresponding to the first valid position before the continuous invalid position should be updated to the value of the current 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 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, and after the interpolation, the values of the first position variable and the second position variable 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 judging whether ibleft is i-1, that is, checking whether the element value at the position before the current element is a valid value, when ibleft is not equal to i-1, it indicates that there is a valid value at the position a[k, k≠i-1] before a[i] and there is also an invalid value at part of the position interval before the valid value. 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 processing on this position interval, the values of ialeft and iaright are updated to the initial values (for example, -1), and the value of the third position variable ibleft is updated to the current value of i. In this way, the actual situation indicated by the three variables can be dynamically updated with the processing of the interpolation.

[0049] In some embodiments, referring to FIG. 2, the step S230 includes, when 0 Figure 3 When 0 When 0 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, the left invalid position corresponding to the current position number i is interpolated based on the data corresponding to the current position number i (described as left assignment), and after the interpolation, the values of the first position variable ialeft and the second position variable iaright are updated to the initial values (for example, -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 indicates that there is no valid value before the current element. For example, the case where ibleft is not greater than -1 is that ibleft=-1. At this time, it is further judged whether ialeft is 0, that is, it is judged whether the invalid position region before the current element starts from the starting position. In response to the current value of the third position variable being not greater than -1 and the current value of the first position variable ialeft not being equal to 0, the value of the third position variable is updated to the current value of i; in this embodiment, when ialeft is 0, it indicates that the start position of the invalid position region before the current element is the start position of the array a, in which case the invalid region at the left end is assigned with the current valid value, and then ialeft and iaright are both assigned with -1, indicating that all positions before the current position have no invalid region.

[0050] In some embodiments, referring to FIG. 2, the step S230 includes, when 0 Figure 3 When 0 In response to the current position number 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 the i position is the last element of the array a, it is determined whether ibleft is greater than -1, i.e., it is checked whether there is a valid value before the current position. 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 assigned to the invalid positions after the position indicated by the third position variable ibleft and containing the current position number i; in this embodiment, when ibleft is greater than -1, i.e., there is a valid value before the current position, the valid value is assigned to the invalid interval after the valid value.

[0051] In response to the current value of the third position variable being not greater than -1, i.e., being less than or equal to -1, it is indicated that there is no valid value before the current position, and -1 is returned, indicating that all elements in the array are invalid values; when ibleft is less than or equal to -1, i.e., there is no valid value before the current position, -1 is returned, indicating that all elements in the array a are invalid values (this is a special case).

[0052] In some embodiments, referring to FIG. 2, the step S230 includes, when 0 Figure 3 ​As shown, in step S230, when 0 < i≤ M, according to whether the data corresponding to each position sequence number i is valid and whether the indication information of 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 the invalid position, the target position variable is updated by assignment, and the method further comprises: When 0 < i≤ M, in response to the current position sequence number i not being equal to M, it is determined whether the current value of the second position variable is equal to i-1; in the embodiment, when the i position is not the last element of the array a, it is judged whether iaright is i-1, that is, it is checked whether the previous position of the current element is the last position of the current invalid region; In response to the current value of the second position variable being equal to i-1, the value of the second position variable is updated to the value of the current i by assignment; in the 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 to i at this time; In response to the current value of the second position variable not being equal to i-1, the value of the first position variable and the value of the second position variable are both updated to the value of the current i by assignment; in the 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 to i at this time.

[0053] Based on the iterative loop processing of the specific process, it is judged whether the array loop is ended according to the value of i, and if not, the iteration is continued, and if so, the unprocessed dimensional data is processed; if all target arrays corresponding to the dimensions are processed, the interpolation results of the target arrays corresponding to the dimensions after interpolation processing are obtained.

[0054] In step S150, an interpolated seismic data volume is generated according to the interpolation results of each dimension.

[0055] Figure 4 (a) shows the unprocessed original seismic data volume; (b) shows that a random number is generated at all grid points of the original seismic data volume, and when the random number can be divided by 3, the grid point position is marked as an invalid value, which is equivalent to the seismic data volume result after the original seismic data volume is thinned; (c) shows the first result after the thinned seismic data volume result is interpolated using the Laplace interpolation method; (d) shows the second result after interpolation processing using the data interpolation method provided in the embodiment of the present disclosure.

[0056] Referring to Figure 4 As shown in (a)~(d) in the embodiment, the interpolation result obtained by the data interpolation method provided in the embodiment is consistent with the original data, and the interpolation effect is equivalent compared with the Laplace interpolation method.

[0057] Figure 5 The efficiency comparison table of the data interpolation method provided by the embodiment of the present disclosure and the Laplace interpolation method under different data scales is shown schematically.

[0058] Referring to Figure 5 From the interpolation efficiency level, the efficiency comparison of the data interpolation method provided by the embodiment of the present disclosure and the Laplace interpolation method is shown. The larger the data scale is, the lower the Laplace interpolation efficiency is. When there is an invalid value at the data boundary, the calculation efficiency of Laplace is reduced more obviously, as shown in the fifth column of the table. The interpolation efficiency of the method provided by the embodiment of the present disclosure is improved by nearly two orders of magnitude compared with the Laplace interpolation method.

[0059] As can be seen from the above, in the embodiment corresponding to the steps S110-S150, by extracting the single-dimensional data into the target array, for the data at each position in the target array, whether the data at each position is valid is tracked in sequence based on the defined first position variable, second position variable and third position variable, and interpolation processing is performed for the invalid position, to obtain the interpolation result after interpolation of the single-dimensional data. Since the first position variable and the second position variable respectively represent the first and last positions of the continuous invalid position, and the third position variable represents the first valid position before the continuous invalid position, the continuous invalid position is used to indicate one or more continuously arranged invalid value corresponding positions in the target array, and the assignment of the first position variable, the second position variable and the third position variable is dynamically updated in the process of interpolation operation processing along with the change of the sequentially tracked position and the interpolation processing operation. Based on these position variables, the invalid position can be accurately identified and located and interpolation processing is performed. Compared with the traditional interpolation scheme (for example, the interpolation scheme based on Laplace), the interpolation processing efficiency is improved while ensuring that the interpolation result after interpolation meets the basic smoothness requirement. The above scheme can be applied to the interpolation processing of two-dimensional ground elevation, three-dimensional travel time table and other seismic data bodies, thereby improving the imaging effect of integral pre-stack depth migration.

[0060] A second exemplary embodiment of the present disclosure provides a data interpolation device.

[0061] The above data interpolation device comprises a data acquisition module, an array construction module, a variable definition module, an interpolation processing module and a result generation module.

[0062] The above data acquisition module is configured to acquire a seismic data body to be processed, and the seismic data body is two-dimensional or three-dimensional data.

[0063] The array construction module is configured to extract single-dimensional data of the data in the seismic data volume of each dimension into a corresponding target array.

[0064] The variable definition module is configured to define and initialize a first position variable, a second position variable and a third position variable, wherein the first position variable represents a first position in the 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. The continuous invalid positions are used to indicate one or more continuously arranged invalid value corresponding positions in the target array.

[0065] The interpolation processing module is configured to sequentially track 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 perform interpolation processing on the invalid positions to obtain an interpolation result corresponding to the interpolation of the single-dimensional data.

[0066] The result generation module is configured to generate an interpolated seismic data volume according to the interpolation results of each dimension.

[0067] More details of the embodiment can be referred to the related description of the first embodiment, which will not be described here.

[0068] The data interpolation device provided by the embodiment extracts single-dimensional data into a target array, sequentially tracks whether the data in each position in the target array is valid based on the defined first position variable, the second position variable and the third position variable, and performs interpolation processing on the invalid positions to obtain an interpolation result corresponding to the interpolation of the single-dimensional data. Since the first position variable and the second position variable represent the first position and the last position of the continuous invalid positions respectively, and the third position variable represents a first valid position before the continuous invalid positions, the continuous invalid positions are used to indicate one or more continuously arranged invalid value corresponding positions in the target array. The first position variable, the second position variable and the third position variable are dynamically updated according to the sequentially tracked positions and the interpolation processing operation during the interpolation operation processing. Based on these position variables, the invalid positions can be accurately identified and located for interpolation processing. Compared with the traditional interpolation scheme (for example, the interpolation scheme based on Laplace), the interpolation processing efficiency is improved while ensuring that the interpolation result meets the basic smoothness requirement. The scheme can be applied to the interpolation processing of two-dimensional ground elevation, three-dimensional travel time table and other seismic data volumes, thereby improving the imaging effect of the integral pre-stack depth migration.

[0069] Any plurality of the functional modules comprised in the apparatus can be combined in one module, or any one of the modules can be split into a plurality of modules. Alternatively, at least part of the functions of one or more of the modules can be combined with at least part of the functions of the other modules, and implemented in one module. At least one of the functional modules comprised in the apparatus can be at least partially implemented as a hardware circuit, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system on chip, a system on board, a system in package, an application-specific integrated circuit (ASIC), or any other reasonable manner of integrating or packaging a circuit, etc. in hardware or firmware, or implemented in any one of software, hardware and firmware, or in a proper combination of any of the foregoing. Alternatively, at least one of the functional modules comprised in the apparatus can be at least partially implemented as a computer program module, which, when executed, can perform the corresponding functions.

[0070] A third exemplary embodiment of the present disclosure provides an electronic device.

[0071] Figure 6 An exemplary structure block diagram of an electronic device provided by the embodiment of the present disclosure is shown.

[0072] Referring to Figure 6 The electronic device 600 provided by the embodiment of the present disclosure includes a processor 601, a communication interface 602, a memory 603 and a communication bus 604, wherein the processor 601, the communication interface 602 and the memory 603 complete mutual communication through the communication bus 604; the memory 603 is used for storing a computer program; and the processor 601 is used for executing the program stored on the memory to implement the data interpolation method as described above.

[0073] A fourth exemplary embodiment of the present disclosure further provides a computer readable storage medium. The computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the data interpolation method as described above.

[0074] The computer readable storage medium can be included in the device or apparatus described in the above embodiments; or can exist separately and not be assembled into the device or apparatus. The computer readable storage medium carries one or more programs, which, when executed, implement the method according to the embodiment of the present disclosure.

[0075] According to embodiments of the present disclosure, the computer readable storage medium can be a non-transitory computer readable storage medium, for example, can include, but is not limited to, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium can be any tangible medium that contains or stores a program, which can be used by or in connection with an instruction execution system, apparatus, or device.

[0076] It is to be noted that the relational terms herein, such as "first" and "second", and the like, are used solely to distinguish one from another entity or action, without necessarily requiring or implying any actual relationship or order between such entities or actions. Moreover, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without limitation, an element preceded by "comprises... a" does not, without more constraints, foreclose the existence of additional identical elements in the process, method, article, or apparatus.

[0077] The above descriptions are only specific embodiments of the present disclosure to enable a person skilled in the art to understand or implement the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure will not be limited to these embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed 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, comprising: 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

  • Data optimization method and integral method-based prestack depth migration method

    CN110031898A

  • Filling method and system for database data missing under MES background

    CN112199362A

  • Integral method prestack depth migration method and device

    CN113466938A

  • Interpolation of periodic data

    US20110191032A1

  • Interpolation method of 3D seismic data based on machine learning

    US20250102694A1