We propose a framework for understanding visual perception based on a topographically organized, functionally distributed network. In this proposal the extraction of shape boundaries starts at retinal ganglion cells with concentric receptive fields. This information, relayed through the lateral geniculate nucleus, creates a neural representation of negative and positive boundaries in a set of topographically connected and organized visual areas. After boundary extraction, several processes involving contrast, brightness, texture and motion extraction take place in subsequent visual areas in different cortical modules. Following these steps of processing, filling-in processes at different levels, within each area, and in separate channels, propagate locally to transform boundary representations onto surfaces representations. These partial representations of the image propagate back and forth in the network, yielding a neural representation of the original image. We propose that completion takes places in a wide cortical circuit that heavily relies on V1, where long-range information helps determine contour responses at specific topographically organized locations. Neural representations of illusory contours would emerge in circuits involving primarily area V2. The neural representation of filling-in of a peripheral stimulus in a dynamic surround (such as in texture filling-in) would depend on circuits involving primarily cells in areas V2 and V3, and would include competitive mechanisms required for figure to ground segregation. Finally, we suggest that multiple representations of the stimulus engage competitive mechanisms that select the "most likely hypothesis". Such choice behavior would rely on winner-take-all mechanisms capable of constructing a single neural representation of perceived objects.