is completely on or completely off. All gray scale effects must be created by grouping light and dark areas together and averaging over an area large enough to provide the needed dynamic range. In this case the dynamic range is the averaging area. Thus, dynamic range is exchanged for increased area to represent each point. This is similar to Pulse Code Modulation (PCM) in an electronic communication systems.26 In PCM, each sample value is quantized to M levels. Then each level is represented by a binary code requiring N=log2 M bits. Rather than represent each point with a continuous variable with sufficient dynamic range, N binary variables are used. Each variable is either on or off, but N variables are required to provide sufficient dynamic range. This exchanges dynamic range of the variables for the number of variables required. In binary holograms, the variables are not, in general, exponentially weighted as in PCM; thus, M variables are required to represent M levels. It becomes very important to code the hologram such that the number of variables M needed to represent that dynamic range is reasonable. One of the first practical binary coding schemes was introduced when, in 1966, Brown and Lohmann8 devised a method for complex spatial filtering using binary masks. They coded the Fourier transform of an image f(x,y). When using this method, the complex Fourier transform is sampled and represented at each point by an amplitude and phase. To record a complex filter, both amplitude and phase information are needed on the hologram. However, the hologram transmittance is real-valued, non-negative, and in this case binary. The amplitude can be recorded by opening or closing an appropriate number of binary windows in the hologram, but the phase is not