USPatent applicationPatented

Dynamically allocating different numbers of bits to windows of a series representing a seismic trace

Granted 10 Jan 2017 · 5 office actions

Current assignee: WesternGeco · originally SLB

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Francis G. Sherrill · Examiner: Janet Suglo · AU 2864 · TC 2800

Life of the application

21 dated events
⤢ drag to zoom20082010201220142016201820202022202420262028ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

To process seismic data, a set of data values representing a seismic trace is received, and amplitudes of data values associated with plural groups in the set are analyzed. Different numbers of bits are dynamically allocated to at least some of the groups of the set according to the analyzing.

Description

8 parts
›CROSS-REFERENCE TO RELATED APPLICATION

This claims the benefit under 35 U.S. C. §119(e) of U.S. Provisional Application Ser. No. 60/963,135, filed Aug. 2, 2007, which is hereby incorporated by reference.

›TECHNICAL FIELD

The invention relates generally to dynamically allocating different numbers of bits to time (or depth) windows of a series representing a seismic trace.

›BACKGROUND

Seismic surveying is used for identifying subterranean elements, such as hydrocarbon reservoirs, fresh water aquifers, gas injection reservoirs, and so forth. In performing seismic surveying, seismic sources and seismic sensors can be placed at various locations on an earth surface (e.g., a land surface or a sea floor), or even in a wellbore, with the seismic sources activated to generate seismic waves. Examples of seismic sources include explosives, air guns, acoustic vibrators, or other sources that generate seismic waves.

Some of the seismic waves generated by a seismic source travel into a subterranean structure, with a portion of the seismic waves reflected back to the surface (earth surface, sea floor, or wellbore surface) for receipt by seismic sensors (e.g., geophones, hydrophones, etc.). These seismic sensors produce signals that represent detected seismic waves. Signals from the seismic sensors are processed to yield information about the content and characteristics of the subterranean structure.

Seismic data received from seismic sensors, in the form of seismic traces, are typically represented digitally using a number of bits. Conventionally, static bit allocation is used such that a static number of bits (e.g., 16 or 32 bits) represent seismic data values. An issue associated with static bit allocation is that precision can be adversely affected. Use of static bit allocation can be associated with loss of fidelity in a seismic trace, particularly in areas of the seismic trace with large amplitude contrast.

›SUMMARY

In general, according to an embodiment, a method of processing seismic data includes receiving a set of data values representing a seismic trace, and analyzing amplitudes of data values in plural groups in the set. Different numbers of bits are dynamically allocated to at least some of the groups of the set according to the analyzing.

Other or alternative features will become apparent from the following description, from the drawings, and from the claims.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example arrangement in which an embodiment of the invention can be incorporated.

FIG. 2 illustrates the division of an example time series representing a seismic trace into multiple time windows.

FIG. 3 is a flow diagram of a process of compressing seismic data that includes dynamically allocating numbers of bits to store data values in time windows of a seismic trace, according to an embodiment.

FIG. 4 is a graph that depicts example scalars in corresponding time windows, along with associated median estimates.

FIG. 5 is a block diagram of an example control system that incorporates software according to an embodiment.

›DETAILED DESCRIPTION · 1 of 3

In the following description, numerous details are set forth to provide an understanding of the present invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these details and that numerous variations or modifications from the described embodiments are possible.

FIG. 1 illustrates an example arrangement to perform marine seismic surveying. In different implementations, however, other embodiments can involve land-based seismic surveying or wellbore seismic surveying.

FIG. 1 illustrates a sea vessel 100 that has a reel or spool 104 for deploying a streamer 102 (or multiple streamers 102 ), where the streamer 102 is a cable-like carrier structure that carries a number of electronic devices 103 for performing a subterranean survey of a subterranean structure 114 below a sea floor 112 . In the following, the term “streamer” is intended to cover either a streamer that is towed by a sea vessel or a sea bed cable laid on the sea floor 112 .

The electronic devices 103 can include sensors, steering or navigation devices, air gun controllers (or other signal source controllers), positioning devices, and so forth. Also depicted in FIG. 1 are a number of signal sources 105 that produce signals propagated into the body of water 108 and into the subterranean structure 114 . Although the sources 105 are depicted as being separate from the streamer 102 , the sources 105 can also be part of the streamer 102 in a different implementation.

The signals from the sources 105 are reflected from layers in the subterranean structure 114 , including a resistive body 116 that can be any one of a hydrocarbon-containing reservoir, a fresh water aquifer, a gas injection zone, and so forth. Signals reflected from the resistive body 116 are propagated upwardly toward the sensors of the streamer 102 for detection by the sensors. Measurement data is collected by the sensors, which can store the measurement data and/or transmit the measurement data back to a control system (or controller) 106 on the sea vessel 100 .

The sensors of the streamer 102 can be seismic sensors, such as hydrophones and/or geophones. The signal sources 105 can be seismic sources, such as air guns or explosives. Seismic data recorded by the seismic sensors on the streamer are provided back to a control system (controller) 106 on the sea vessel. The control system 106 samples the recorded data to produce a time series of seismic data samples at discrete time points. The time series represents a seismic trace.

In accordance with some embodiments, a dynamic allocation of a number of bits for representing data values for time windows of seismic data samples is performed. A time series of seismic data values can be divided into a number of time windows, with dynamic bit allocation performed for each time window. The dynamic bit allocation allows for some time windows to be allocated different numbers of bits from other time windows. For each time window, the allocated bits are used to store data values (samples) in the corresponding time window.

Although this description refers to “time series” of seismic data values that are divided into multiple time windows to allow for dynamic allocation of numbers of bits to respective time windows, it is contemplated that the dynamic bit allocation technique can be applied generally to a “set” (where a time series is an example type of “set”) of seismic data values, where the set can be divided into plural groups or windows that are dynamically allocated corresponding numbers of bits. For example, a set of data can include data collected for different depths (referred to as a “depth series”).

Note that each time window includes a predetermined number of samples. The window size can be varied such that the predetermined number can be set to different values according to an analysis of data fidelity versus data compression. In one specific example, the window size can be set to 32 (in other words, each window of the time series includes 32 seismic data samples).

FIG. 2 is a schematic representation of a time series that represents a seismic trace, where the seismic trace includes seismic data samples (raw data) at different time points (t). “Raw data” refers to sampled seismic data received from a seismic sensor. As depicted in FIG. 2 , the time series is divided into multiple windows: window 1 , window 2 , window 3 , . . . , window N (N being an integer number). Each window has a predetermined number of seismic data samples.

A procedure according to an embodiment of performing data compression that involves dynamic bit allocation is illustrated in FIG. 3 . The procedure can be performed by software executable on a computer, such as a computer according to FIG. 5 , in one example. The procedure determines (at 302 ) the maximum absolute amplitude of seismic data values in each window. In other words, for a given window i having data samples d 1 , d 2 , . . . d m (m being the predetermined size of each window), the maximum absolute amplitude from among d 1 , d 2 , . . . , d m is determined. The determination is performed by comparing the amplitudes of the seismic data samples within a particular window, and identifying the maximum value from these amplitudes. Assuming there are N windows, there will be N maximum amplitude values corresponding to the N windows.

The maximum amplitudes for the N windows are represented as raw scalars A 1 , A 2 , . . . , A N . FIG. 4 is a graph that plots maximum amplitudes, {A 1 , A 2 , . . . , A N }, according to window number. A curve 402 represents maximum amplitudes in the different windows. The series of maximum amplitudes is referred to as a max amplitude series, which is a series having N raw scalars {A 1 , A 2 , . . . , A N }.

Next, continuous median estimation is performed (at 304 ) on the max amplitude series. The continuous median estimator computes a median for every sample in the input max amplitude series, where the estimate is centered at the middle of a sliding operator of fixed length. Given an input max amplitude series represented as {A 1 , A 2 , A 3 , . . . A N }, where A i (i=1 to N) represents the maximum amplitude for a window i, a median series is computed is as follows: {M 1 , M 2 , M 3 , . . . M N }, where M i is the median over a fixed length operator centered at the i th sample. Thus, for a median operator length of 5, the median at sample 3 (M 3 ), would be the median of {A 1 , A 2 , A 3 , A 4 , A 5 }. The M i values are also referred to as centered running median values.

›DETAILED DESCRIPTION · 2 of 3

Note that the computing cost associated with the median analysis is greatly reduced by performing the analysis on the maximum amplitude scalars instead of on the raw data associated with the seismic trace.

FIG. 4 also shows a curve 404 that represents the median series containing running median scalars {M 1 , M 2 , . . . , M N } calculated from the maximum amplitude values represented by curve 402 . In a different embodiment, instead of calculating centered running median values based on the maximum amplitude values, centered running mean values can be calculated instead. In yet other embodiments, other centered running aggregates can be calculated, such as cumulative sums, and so forth.

Next, a number of bits are dynamically allocated (at 306 ) for each window of the time series for representing seismic data samples in the corresponding window. In performing the dynamic allocation of numbers of bits for the windows of the time series, at least some of the windows are allocated different numbers of bits.

In one embodiment, the dynamic allocation of numbers of bits for windows involves both static and dynamic allocation. The static allocation involves the allocation of a minimum (static) number of bits to each window, such as 16 bits in one example. The dynamic allocation aspect refers to the allocation of an additional number of bits (n i ) to corresponding windows (i), based on the values of the max amplitude series (containing raw scalars A 1 , A 2 , . . . , A N ) and median series (containing median scalars M 1 , M 2 , . . . , M N ) discussed above. Generally, the dynamic allocation of a number of bits n i for each window is based on analyzing values associated with the windows of the time series, which in one embodiment includes the maximum amplitude values and median values. The total allocated number of bits in each window is equal to the sum of the statically allocated number (e.g., 16) and the dynamically allocated number n i .

The input to the process of dynamically allocating the additional number of bits, n i , for each window i includes: (1) the max amplitude series {A 1 , A 2 , . . . , A N }, and (2) the median series {M 1 , M 2 , . . . , M N }. From the maximum amplitude values and the median values of these series, values r i can be computed as follows:

r i = A i M i , ( Eq . ⁢ 1 )

where i=1 to N. To calculate the n i values, where n i is the number of dynamic bits for the i th window, the following relation is defined:

2 fn i =r i ,  (Eq. 2)

where fn i represents a floating variable having a value based on r i according to the relationship of Eq. 2. Note that n i is an integer value.

The additional number of bits for window i, n i , is approximated as follows:

n i ≈int ( a*fn i ),  (Eq. 3)

where “int” represents an integer function, and a represents a scale factor that is unknown at this point. An iterative process is used to find the value a, subject to the following constraint:

∑ i = 1 N ⁢ n i = num_dynamic ⁢ _bits * N , ( Eq . ⁢ 4 )

where num_dynamic_bits represents a predefined average number of bits per window. The average number of bits per window, num_dynamic_bits multiplied by the number of windows N, refers to the total number of additional bits that are to be allocated to the N windows. Thus, the numbers of bits to be allocated to the windows should satisfy the constraint on the total number of additional bits to be allocated as defined by Eq. 4. An iterative process is performed using Eqs. 3 and 4 until the scale factor a is identified for which the constraint of Eq. 4 is satisfied. The objective is to provide a fidelity in each window to a consistent level based on the median analysis.

Next, the data values in each window are normalized or scaled (at 308 ). To normalize or scale, a scaling factor s i is calculated as follows:

s i = 2 l i A i , ( Eq . ⁢ 5 )

where l i is equal to the sum of n i and 16 bits (note that each window is allocated 16 (or other static number of) bits plus n i , the dynamic number of bits). The scaling factor s i is multiplied by each seismic data sample in the window i. In this way, the maximum amplitude in the window, A i , is equal to the maximum amplitude for the actual number of bits assigned to the window.

Next, each seismic data sample is set (at 310 ) to an integer value, which in one example is a 32-bit integer value. Note that in most instances, the high-order bits of the 32-bit integer would be 0s. The active bits for each seismic data sample (active bits do not include the high-order bits that are 0s) are then packed or compressed (at 312 ) along with recovery scalars into a string, such as a byte string. The recovery scalars and the number of bits in each window (s i and l i from Eq. 5), can be used for decompressing the data at a later time when analysis of the data is to be performed.

The compression algorithm above is performed each time data received from a seismic sensor is to be saved in the control system 106 . The compression reduces the number of bits that have to be stored. When reading previously compressed data from storage, a decompression algorithm is applied, which is the reverse of the normalization/scaling performed at 308 .

The procedure of FIG. 3 can be performed by software 500 implemented in the control system 106 (e.g., a computer), as depicted in FIG. 5 . The software 500 of the control system 106 is executable on one or more central processing units (CPUs) 502 . The CPU(S) 502 is (are) connected to a storage 504 and a communications interface 506 . The storage 504 contains seismic trace data 506 that is fed into the software 500 to perform the dynamic bit allocation procedure of FIG. 3 . The output of the software 500 includes the dynamic additional numbers of bits, n i , for corresponding windows i, which can also be stored in the storage 504 (as 508 ).

Instructions of the software 500 are loaded for execution on a processor (such as one or more CPUs 502 in FIG. 5 ). The processor includes microprocessors, microcontrollers, processor modules or subsystems (including one or more microprocessors or microcontrollers), or other control or computing devices. A “processor” can refer to a single component or to plural components.

›DETAILED DESCRIPTION · 3 of 3

Data and instructions (of the software) are stored in respective storage devices, which are implemented as one or more computer-readable or computer-usable storage media. The storage media include different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; and optical media such as compact disks (CDs) or digital video disks (DVDs).

While the invention has been disclosed with respect to a limited number of embodiments, those skilled in the art, having the benefit of this disclosure, will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover such modifications and variations as fall within the true spirit and scope of the invention.

Claims as granted

22 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

1 codes
IPC · International Patent Classification
Section G — Physics
  • G01V1/24

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoom200920102011201220132014201520162017USPTOApplicantNon-final rejectionResponse after non-finalNon-final rejectionFinal rejectionNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
8.5 y
3,105 days filing → grant
Office actions
5
non-final + final
Responses
4
no RCE
Interviews
2
examiner interview summaries
Appeals
1
notices of appeal
Examiner
Janet Suglo
art unit 2864 · TC 2800
Citations: 25 back · 1 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20082010201220142016201820202022202420262028Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock