The present invention relates to seismic data. More specifically the present invention relates to retrieving seismic data from a seismic section provided in the form of a scanned seismic profile in a binary image format (bitmap).
Seismic data has been collected for several decades and a vast part of the older seismic data is only available in paper format of seismic sections. According to conservative estimates there are several millions of paper seismic sections owned by oil companies and similar institutions, the value of which is huge and sometimes immeasurable, especially when surveys are no longer possible in certain areas.
With the introduction of modern seismic workstations and user friendly interpretation software, most of these paper seismic sections have become useless, unless they can be converted into digital format (e.g., into standard SEG-Y format). In current conversion technology, the conversion process is slow, due to large amount of manual intervention, and involves relatively high costs and long throughput times. The slow process and the high costs discourage many oil companies from converting the legacy paper seismic sections into SEG-Y. The conversion is currently done on a project by project basis, driven by opportunity or to fulfill legal obligations.
A seismic section typically includes seismic traces, which represent the responses of the elastic wavefield to the density of earth layers and acoustic velocity across these layers as acoustic energy travels from a source through these layers to one or more receivers. A seismic section paper is typically a large sheet of about 2-3 meters by 1 meter. It is composed of two main parts: metadata and traces. The metadata is a graphical and a textual data describing mainly acquisition parameters. The traces area, which is the largest part, is composed of a large series of a traces plotted one next to the other. A trace is a series of amplitudes at time steps (from top to bottom), around an imaginary base line. The traces appear as vertical wiggling lines (referred to as “wiggles”). Seismic sections sometimes include horizontal time lines (or depth lines if conversion from time to depth had been performed). In some seismic traces the positive or negative sides of the wiggles are blackened—areas to the right (for positive) or to the left (for negative) of the imaginary base line about which the line wiggles confined between the line and that base line appear as black blobs.
A snippet of a larger paper scanned image of a seismic section is shown in
This makes it extremely difficult to obtain information on the positive side (or negative, depending on the “blobbed” side) of the line functions, and it is, therefore, practically impossible to follow a function line that crosses a blob.
Another problem is image quality and in particular discontinued lines (mainly associated with scan quality).
According to embodiments of the present invention there is provided a computer implemented method for retrieving seismic data from a seismic section provided in a bitmap format. The method includes reconstructing a two dimensional matrix of seismic interpolated data in which a value at a given pixel in the matrix is proportional to local density of wiggles in the seismic section with an added value of a previously calculated pixel.
Furthermore, in accordance with embodiments of the present invention, there is provided a computer program product stored on a non-transitory tangible computer readable storage medium for retrieving seismic data from a seismic section provided in a bitmap format. The computer program includes code for reconstructing a two dimensional matrix of seismic interpolated data in which a value at a given pixel in the matrix is proportional to local density of wiggles in the seismic section with an added value of a previously calculated pixel.
Furthermore, in accordance with embodiments of the present invention, there is provided a data processing system for retrieving seismic data from a seismic section provided in a bitmap format. The system includes a processor; a computer usable medium connected to processor. The computer usable medium contains a set of instructions for retrieving seismic data from a seismic section provided in a bitmap format wherein the processor is designed to carry out a set of instructions to reconstruct a two dimensional matrix of seismic interpolated data in which a value at a given pixel in the matrix is proportional to local density of wiggles in the seismic section with an added value of a previously calculated pixel.
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, 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), an optical fiber, 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 context of this document, a computer readable storage medium may be any non-transitory, tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Flowchart/s and block diagram/s in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
According to embodiments of the present invention it is proposed to employ image processing techniques, in which a bitmap image of the paper or image seismic data is converted into a grey-level image. This approach does not involve pattern recognition or any decision making, and does not necessitate locating base lines.
The description that follows below refers to performing reconstruction of seismic data according embodiments of the present invention on a seismic section which has wiggles showing both positive and negative values, but without blackened areas (blobs). Treatment of a blobbed seismic section is described further below.
Seismic sections are plot or display of seismic data along a line. The vertical direction usually refers to the arrival time (of echo) but sometimes relates to depth. Thus, two dimensional functions of x, the distance from a certain starting line S and of t, the time are considered, as depicted in
A mathematical approach is hereinafter presented, according to embodiments of the present invention to reconstruct a two dimensional matrix of seismic data from the seismic section in bitmap format (22 and 24 in
A two dimensional function z(x,t) defines the distance from a curve to the starting line S (see
z=x+y (1)
It is convenient to consider y(x,t) and z(x,t) as continuous functions of x and t, rather than as defined only for discrete values of x.
From (1) it follows that dy=dz−dx, where dx may be expressed in terms of dz.
According to embodiments of the present invention the seismic traces of the obtained seismic section (10 in
According to embodiments of the present invention a complementary grey scale parameter {tilde over (g)} is defined as {tilde over (g)}=1−g, so that black corresponds to {tilde over (g)}=1, and white corresponds to {tilde over (g)}=0, where g is the standard grey scale (where black is assigned 0 and white is assigned 1). It can easily be verified that grey level scale is inversely proportional to the distance between adjacent traces.
To describe seismic traces mathematically one may use a comb function. First, a regular comb is defined that corresponds to the case where the signal is mute for every time t. Hence, y≡0, and the distance between adjacent traces is always equal to Δx.
It is convenient to add to the definition of delta function an additional equality:
For any a, b>0
Using this convention and applying a smoothing operator:
to comb
produces for 2d=n·Δx, where n>0 is an integer, a uniform grey level {tilde over (g)}0:
where A≡{tilde over (g)}0Δx, and since the smoothing operation aperture, 2d, spans always over n delta functions.
Next another train of delta functions is defined, this time not equidistant, to describe the actual trace picture, where the distance between traces may vary (along each line where t=constant). This means y should not be equal to zero (y≠0), the integration variable is z, as in Error! Reference source not found., z(x)=x+y(x).
where zk=z(k·Δx)
Applying the smoothing operator
to Train(z) at z, where 2d=n·Δz,
Note that Δz and hence the filter aperture 2d varies, changing for each z. This time one cannot expect that these are exactly n delta functions within the aperture, 2d, of the smoothing operator, since the distances between successive delta functions are not equal. Therefore, within the smoothing operator aperture there can be m≠n delta functions. Although in average it can be expected that m and n are close to each other, one cannot reduce m and n as a common factor in
Since Δx and Δz in
suggest a derivative it is convenient to choose n as small as possible. Setting n=1 and 2d=Δz provides that there is always one delta function, that is m=1. Therefore, the final result is
Thus for infinitely small Δx, Δz
From equation Error! Reference source not found. and the last result it follows that
where Δ{tilde over (g)}={tilde over (g)}0−{tilde over (g)}
Thus
Without derogating generality, the proportionality factor in
may be set so that the derivative of y is equal to Δ{tilde over (g)} as in
dy=Δ{tilde over (g)}·dz (11)
dy=Δ{tilde over (g)}·dz (11)
Note, in
dy=Δ{tilde over (g)}·dz (11)
Δ{tilde over (g)}={tilde over (g)}0−{tilde over (g)}(z) is a function of z, rather than of x. Therefore, a numeric integration according to
dy=Δ{tilde over (g)}·dz (11)
may be computed by a formula:
y(zn)=Δ{tilde over (g)}·Δz+y(zn−1) (12)
where zn, zn−1 are arbitrary geometrical points on an horizontal axis, that are close one to another, and Δĝ(z) is computed between these points.
Moreover, a value y(zn) as computed by
y(zn)=Δ{tilde over (g)}·Δz+y(zn−1) (12)
refers to a signal not at point zn, but at a point, x=zn−y(zn). For simplicity it may be assumed, that the signal does not change much with the point of observation x, since geological structures are also supposed to change slowly in the horizontal direction, and it may be also assumed that y does not exceed a couple of Δx. Therefore, change between x and z introduces errors of second order on dx and one may use Error! Not a valid bookmark self-reference. instead of
y(zn)=Δ{tilde over (g)}·Δz+y(zn−1) (12)
y(xn)=Δ{tilde over (g)}·Δx+y(xn−1) (13)
where xn is the location of the n-th base-line and Δ{tilde over (g)}=Δ{tilde over (g)}−(x) is the deviation of the image grey level from {tilde over (g)}0 at a point x between xn−1 and xn.
There is a problem with numeric integration in
y(zn)=Δ{tilde over (g)}·Δz+y(zn−1) (12),
since it represents an IIR filter with a pole at |z|=1, where z is a complex variable of the z transform. Therefore, one way to cure the problem is to introduce an α<1 that multiplies the old value y(xn−1):
y(xn)=Δ{tilde over (g)}·Δx+α·y(xn−1) (14)
Otherwise the integration will amplify low frequency noises.
However, this coefficient, α, should be very close to 1, so that previous values of y at xn−1 will be (almost) summed up. If α is much smaller than 1, the IIR filter of
y(xn)=Δ{tilde over (g)}·Δx+α·y(xn−1) (14)
quickly “forgets” previous values y(xn), so that the integration will be inaccurate.
There are other, more efficient ways to cure the problem of low frequency noise.
First, some averaging along vertical axis, t, may help to decrease the noise amplitude, at least to leave only the noise components with low frequencies both in x and in t direction. Second, a trace signal used to be a band-limited, such that it does not contain too low and too high frequencies (in t direction). Therefore, using an appropriate band-pass filter eliminates low frequencies noise and allow α=1.
A simple way to compute the grey level image corresponding to the binary wiggles image would involve using a uniform weight function
where bw is a black (1) or a white (0) pixel, and 2d is the averaging support.
Convolution
should preferably not be with a uniform kernel and may even be two dimensional. The kernel support should preferably be carefully chosen. In particular, while using convolution
it may be desired that
be an integer number, otherwise the grey level image may contain high frequency noise even in the case of y≡0, where wiggles are exactly at a distance Δx from each other. Thus, uniform kernel in
may be disadvantageous, since in general it introduces high frequency noise for each choice of the kernel support. More advantageous would be a convolution kernel that has larger weights at its center and whose weights gradually decrease to zero at the support ends. Since convolution with the uniform kernel may be easily implemented, it is used as a standard convolution. Applying a convolution
with 2d=Δx twice in series one gets a triangular kernel with width 2Δx. The next step is to revise an approximate equation
where zn, zn−1 are arbitrary geometrical points on an horizontal axis, that are close one to another, and Δ{tilde over (g)}(z) is computed between these points.
Moreover, a value y(zn) as computed by
y(zn)=Δ{tilde over (g)}·Δz+y(zn−1) (12)
refers to a signal not at point zn, but at a point, x=zn−y(zn). For simplicity it may be assumed, that the signal does not change much with the point of observation x, since geological structures are also supposed to change slowly in the horizontal direction, and it may be also assumed that y does not exceed a couple of Δx. Therefore, change between x and z introduces errors of second order on dx and one may use Error! Not a valid bookmark self-reference. instead of
y(zn)=Δ{tilde over (g)}·Δz+y(zn−1) (12)
where Δ{tilde over (g)} is computed in some intermediate point between xn and xn−1; much better approach is to replace equation
where zn zn−1 are arbitrary geometrical points on an horizontal axis, that are close one to another, and Δ{tilde over (g)}(z) is computed between these points.
Moreover, a value y(zn) as computed by
y(zn)=Δ{tilde over (g)}·Δz+y(zn−1) (12)
refers to a signal not at point zn, but at a point, x=zn−y(zn). For simplicity it may be assumed, that the signal does not change much with the point of observation x, since geological structures are also supposed to change slowly in the horizontal direction, and it may be also assumed that y does not exceed a couple of Δx. Therefore, change between x and z introduces errors of second order on dx and one may use Error! Not a valid bookmark self-reference. instead of
y(zn)=Δ{tilde over (g)}·Δz+y(zn−1) (12)
by the exact equation:
y(xn)=y(xn−1)+Av(xn−1,xn,Δ{tilde over (g)})·Δx (16)
where Av is an averaging functional:
Note that the value that the averaging functional
produces coincides with the value of yet another convolution with the uniform kernel at the point
Therefore, if the grey level image is obtained with a double convolution (i.e. triangular kernel), then in order to perform integration
y(xn)=y(xn−1)+Av(xn−1,xn,Δ{tilde over (g)})·Δx (16)
one has to convolve the grey level once more with uniform kernel and pick a value of convolution at a point
In other words, one can compute the grey level image with 3 sequential convolutions with uniform kernel. The resulting kernel looks like an inverted parabola at its peak and as a straight parabola at its tails.
Note, that a computation according to equation
y(xn)=y(xn−1)+Av(xn−1,xn,Δ{tilde over (g)})·Δx (16)
is still approximation to the real signal, since a smoothing of the binary trace image is not uniquely defined operation, as it depends on the form of the smoothing kernel and the size of its support.
Thus, using the mathematical approach described hereinabove one may obtain a two-dimensional matrix of retrieved and interpolated seismic data from a seismic section provided in bitmap form (e.g. scanned from paper). This matrix is in fact a grey-scale image of the retrieved seismic data.
The mathematical approach described above assumed that the seismic section only included wiggles.
However typically seismic sections may also include time lines and blobs. Therefore, in order to retrieve seismic data from such seismic sections the time lines and blobs should be addressed too.
According to embodiments of the present invention it is therefore suggested to disregard the time lines. This may be achieved, for example, by removing the time lines (14, 12 in
When considering a seismic section with blobbed parts (16 in FIG. 13)—typically the positive sides of the wiggles, but may also be the negative sides of the wiggles—one may treat the blobbed sides separately from the non-blobbed sides of the wiggles.
According to embodiments of the present invention, it is suggested to regard the blobs separately by isolating the blobs from the seismic section. For example, this can be done in morphological processing.
After isolating the blobs pixel values of the entire image of isolated blobs are saved in a two-dimensional matrix where a first constant value (e.g. 0.5) is assigned to pixels located in blobs (18 in
A band pass filter may also be performed on the data (30 in
Once the entire seismic data field has been retrieved it is possible to retrieve seismic profiles at any given direction in the two-dimensional field.
The fact that the two-dimensional matrix of reconstructed seismic data covers the entire field makes it possible to retrieve traces in any desired manner.
For example, it may happen that the scanned seismic section was not properly aligned and is therefore tilted. If this is determined the recovered seismic section may present traces along tilted lines in the recovered field.
The scanned image of the seismic section may be distorted, for example, due to non-parallel feeding of the paper on which the seismic section is provided into the scanner. In such a case and upon determining the distortion, the recovered seismic section may include traces which represent profiles along distorted lines whose distortion corresponds to the determined distortion of the scan.