A zero-crossing is a point where the sign of a mathematical function changes (e.g. from positive to negative), represented by an intercept of the axis (zero value) in the graph of the function. It is a commonly used term in electronics, mathematics, acoustics, and image processing.
In alternating current, the zero-crossing is the instantaneous point at which there is no voltage present. In a sine wave or other simple waveform, this normally occurs twice during each cycle. It is a device for detecting the point where the voltage crosses zero in either direction.
The zero-crossing is important for systems that send digital data over AC circuits, such as modems, X10 home automation control systems, and Digital Command Control type systems for Lionel and other AC model trains.
In a system where an amplifier with digitally controlled gain is applied to an input signal, artifacts in the non-zero output signal occur when the gain of the amplifier is abruptly switched between its discrete gain settings. At audio frequencies, such as in modern consumer electronics like digital audio players, these effects are clearly audible, resulting in a 'zipping' sound when rapidly ramping the gain or a soft 'click' when a single gain change is made. Artifacts are disconcerting and clearly not desirable. If changes are made only at zero-crossings of the input signal, then no matter how the amplifier gain setting changes, the output also remains at zero, thereby minimizing the change. (The instantaneous change in gain will still produce distortion, but it will not produce a click.)
If electrical power is to be switched, no electrical interference is generated if switched at an instant when there is no current—a zero crossing. Early light dimmers and similar devices generated interference; later versions were designed to switch at the zero crossing.
In the field of Digital Image Processing, great emphasis is placed on operators that seek out edges within an image. They are called 'Edge Detection' or 'Gradient filters'. A gradient filter is a filter that seeks out areas of rapid change in pixel value. These points usually mark an edge or a boundary. A Laplace filter is a filter that fits in this family, though it sets about the task in a different way. It seeks out points in the signal stream where the digital signal of an image passes through a pre-set '0' value, and marks this out as a potential edge point. Because the signal has crossed through the point of zero, it is called a zero-crossing. An example can be found here, including the source in Java.