I palyed with this some years ago.
It runs off the idea that if you run a signal through a filter
a) Only specific freq components of the signal will be passed.
b) A phase shift that is on the order of the filter is introduced.
When running the same signal through the same filter again,
a) The freq components that passed before are still passed but the componenets that were removed in the first passed are not present so they are not remove.
b) Another phase shift is introduced.
The zero pahse shift filter runs the signal through the filter (you pick your favorite flavor) and then the signal is reflected about the Y-axis effectively reversing time. THe revers signal is run through the filter a second time but now the phase shift is is in the oposite time direction. This effectively cancels out the original phase shift.
These are handy if you want to correlate a filtered event with an un-filtered event.
BUT
You do not get something for nothing (2nd Law of Theromdynamics).
In getting better phase information you loose signal info at the front end and back end of the waveform.
I hope this helps,
Ben