Normal moveout (NMO) in common midpoint (CMP) gathers is based on a subsurface model with constant velocity and flat reflectors. In the presence of dipping reflectors, the NMO process adds events which correspond to different subsurface locations. To first order, constant velocity dip moveout (DMO) corrects for the reflector dip. Levin (1971). Ottolini 1982 and Claerbout show that the constant velocity DMO operator varies with time and offset.
Bolondi 1982 and Notfors 1987 introduce a DMO operation which is based on logarithmic resampling and a Fourier transformation of the time axis. In this new domain the DMO operator varies only with offset.
Forel and Gardner 1988 separate the stacking process into a velocity independent DMO step and a standard NMO step. The DMO step does not change the data cube's dimensions. The following NMO step uses the data redundancy for an unbiased velocity analysis, which now correctly incorporates events from dipping interfaces. The resulting velocity function is used to stack the data. A velocity estimation with possible recursive DMO steps, as described by Hale 1984, is not necessary.
I find that by performing Forel's time stretch using a variation of the logarithmic transformation Schwab and Biondi (1992) a highly parallel implementation of the velocity-independent DMO is possible. Like Forel's approach, this implementation improves velocity analysis and NMO stack by removing the flat layer assumption.